diff --git a/doc/tutorial/tutorial.tex b/doc/tutorial/tutorial.tex index 347cd411e..2ff0635f8 100644 --- a/doc/tutorial/tutorial.tex +++ b/doc/tutorial/tutorial.tex @@ -2813,6 +2813,83 @@ \subsection*{Shift current $\sigma^{abc}$} gnuplot> plot 'GaAs-sc_xyz.dat' u 1:2 w l \end{verbatim} + +\sectiontitle{26: Gallium Arsenide -- Selective localization and constrained centres} + +\begin{itemize} + +\item Outline: \textit{Application of the selectively localised Wannier function (SLWF) method to gallium arsenide (GaAs), following the example in Ref. \cite{Marianetti}, which is essential reading for this tutorial example.} + + +\item Directory: \verb|examples/example26/| + + +\item Input files: + +\begin{itemize} + +\item[--] \verb|GaAs.scf| \textit{The {\tt PWSCF} input file for ground state calculation} +\item[--] \verb|GaAs.nscf| \textit{The {\tt PWSCF} input file to obtain Bloch states on a uniform grid} +\item[--] \verb|GaAs.pw2wan| \textit{The input file for} \verb|pw2wannier90| +\item[--] \verb|GaAs.win| \textit{The} \verb|wannier90| \textit{and} \verb|postw90| \textit{input file} + + +\end{itemize} + +\begin{enumerate} + +\item Run {\tt PWSCF} to obtain the ground state of Gallium Arsenide + +\verb|pw.x < GaAs.scf > scf.out| + + +\item Run {\tt PWSCF} to obtain the ground state of Gallium Arsenide + +\verb|pw.x < GaAs.nscf > nscf.out| + +\item Run {\tt Wannier90} to generate a list of the required overlaps (written into the \verb|GaAs.nnkp| file) + +\verb|wannier90.x -pp GaAs| + + +\item Run {\tt pw2wannier90} to compute: + +\begin{itemize} +\item[--] The overlaps $\langle u_{n\bf{k}}|u_{n\bf{k+b}}\rangle$ between +Bloch states (written in the \verb|GaAs.mmn| file) +\item[--] The projections for the starting guess (written in the \verb|GaAs.amn| file) + +\end{itemize} + + +\verb|pw2wannier90.x < GaAs.pw2wan > pw2wan.out| + +\item Inspect the {\tt .win} file. + +\begin{itemize} +\item[--] Make sure you understand the new keywords corresponding to the selective localisation algorithm. +\item[--] Run {\tt wannier90} to compute the SLWFs, in this case using one objective Wannier function. + +\end{itemize} + + +\verb|wannier90.x GaAs| + +\end{enumerate} + +To constrain the centre of the SLWF you need to add \mbox{{\tt slwf\_constrain = true}} and \\ +\mbox{{\tt slwf\_lambda = 1}} to the input file and uncomment the \mbox{{\tt slwf\_centres}} block. This will add a penalty functional to the total spread, which will try to constrain the centre of the SLWF to be on the As atom (as explained in Ref.~\cite{Marianetti}, particularly from Eq.~24 to Eq.~35). + +Look at the value of the penalty functional, is this what you would expect at convergence? +Does the chosen value of the Lagrange multiplier {\tt slwf\_lambda} give a SLWF function centred on the As atom? + +Alternatively, you can modify the {\tt slwf\_centres} block to constrain the centre of the SLWF to be on the Ga atom. +Do you need a different value of {\tt slwf\_lambda} in this case to converge? +Take a look at the result in Vesta and explain what you see. Do these functions transform like the identity under the action of the $T_d$ group? + + +\end{itemize} + \sectiontitle{27: Silicon -- Selected columns of density matrix algorithm for automated MLWFs} Note: This example requires a recent version of the {\tt pw2wannier90.x} post-processing code of {\tt Quantum ESPRESSO}. @@ -2964,17 +3041,18 @@ \subsection*{Shift current $\sigma^{abc}$} {\tt wannier90.x diamond} \item Plot the first MLWF with VESTA - {\tt vesta diamond_00001.cube} + {\tt vesta diamond\_00001.cube} \end{enumerate} -Extra: Instead of using {\tt wannier_plot_mode = crystal} try to use the molecule mode as {\tt wannier_plot_mode = molecule} (see the user guide for the definition of this keyword). +Extra: Instead of using {\tt wannier\_plot\_mode = crystal} try to use the molecule mode as {\tt wannier\_plot\_mode = molecule} (see the user guide for the definition of this keyword). Add the following line to the {\tt .win} file: \begin{verbatim} restart = plot \end{verbatim} -and re-run \wannier\. Use VESTA to plot the resulting MLWFs, do you see any difference from the {\tt crystal} mode case? Can you explain why? +and re-run \wannier. Use VESTA to plot the resulting MLWFs, do you see any difference from the {\tt crystal} mode case? Can you explain why? Try to change the size of the supercell from 3 to 5, do you expect the results to be different? ({\it Hint:} When using the Gaussian cube format the code outputs the WF on a grid that is smaller than the super -unit-cell. The size of the grid is specified by {\tt wannier_plot_scale} and {\tt wannier_plot_radius}.) +unit-cell. The size of the grid is specified by {\tt wannier\_plot\_scale} and {\tt wannier\_plot\_radius}.) + \bibliographystyle{apsrev4-1} diff --git a/doc/user_guide/files.tex b/doc/user_guide/files.tex index 8adb598c8..1dd9eb0cc 100644 --- a/doc/user_guide/files.tex +++ b/doc/user_guide/files.tex @@ -1,988 +1,1115 @@ -\chapter{Files} - - -\section{{\tt seedname.win}} -INPUT. The master input file; contains the specification of the system -and any parameters for the run. For a description of input parameters, -see Chapter~\ref{chap:parameters}; for examples, see -Section~\ref{winfile} and the \wannier\ -Tutorial. - -\subsection{Units} - -The following are the dimensional quantities that are -specified in the master input file: - -\begin{itemize} -\item Direct lattice vectors -\item Positions (of atomic or projection) centres in real space -\item Energy windows -\item Positions of k-points in reciprocal space -\item Convergence thresholds for the minimisation of $\Omega$ -%%\item \verb#zona# and \verb#box-size# (see Section~\ref{sec:proj}) -\item \verb#zona# (see Section~\ref{sec:proj}) -\item \verb#wannier_plot_cube#: cut-off radius for plotting WF in - Gaussian cube format -\end{itemize} - -Notes: - -\begin{itemize} -\item The units (either \verb#ang# - (default) or \verb#bohr#) in which the lattice vectors, atomic - positions or projection centres are given can be set in the first - line of the blocks - \verb#unit_cell_cart#, \verb#atoms_cart# and \verb#projections#, - respectively, in \verb#seedname.win#. -\item Energy is always in eV. -\item Convergence thresholds are always in \AA$^{2}$ -\item Positions of k-points are always in crystallographic - coordinates relative to the reciprocal lattice vectors. -%%\item \verb#box-size# and \verb#zona# always in Angstrom and -%% reciprocal Angstrom, respectively -\item \verb#zona# is always in reciprocal Angstrom (\AA$^{-1}$) -\item The keyword \verb#length_unit# may be set to \verb#ang# - (default) or \verb#bohr#, in order to set the units in which the - quantities in the output file {\tt seedname.wout} are written. -\item \verb#wannier_plot_radius# is in Angstrom -\end{itemize} - -The reciprocal lattice vectors -$\{\mathbf{B}_{1},\mathbf{B}_{2},\mathbf{B}_{3}\}$ are defined in -terms -of the direct lattice vectors -$\{\mathbf{A}_{1},\mathbf{A}_{2},\mathbf{A}_{3}\}$ by the equation - -\begin{equation} -\mathbf{B}_{1} = \frac{2\pi}{\Omega}\mathbf{A}_{2}\times\mathbf{A}_{3} -\ \ \ \mathrm{etc.}, -\end{equation} - -where the cell volume is -$V=\mathbf{A}_{1}\cdot(\mathbf{A}_{2}\times\mathbf{A}_{3})$. - -\section{{\tt seedname.mmn}} -INPUT. Written by the underlying electronic structure code. See -Chapter~\ref{ch:wann-pp} for details. - -\section{{\tt seedname.amn}} -INPUT. Written by the underlying electronic structure code. See -Chapter~\ref{ch:wann-pp} for details. - -\section{{\tt seedname.dmn}} -INPUT. Read if \verb#site_symmetry = .true.# (symmetry-adapted mode). -Written by the underlying electronic structure code. See Chapter~\ref{ch:wann-pp} for details. - -\section{{\tt seedname.eig}} -INPUT. Written by the underlying electronic structure code. See -Chapter~\ref{ch:wann-pp} for details. - -\section{{\tt seedname.nnkp}} \label{sec:old-nnkp} -OUTPUT. Written by \wannier\ when {\tt postproc\_setup=.TRUE.} (or, -alternatively, when \wannier\ is run with the {\tt -pp} command-line -option). See Chapter~\ref{ch:wann-pp} for details. - -\section{{\tt seedname.wout}} -OUTPUT. The master output file. Here we give a description of the main -features of the output. The verbosity of the output is controlled by -the input parameter {\tt iprint}. The higher the value, the more -detail is given in the output file. The default value is 1, which prints -minimal information. - -\subsection{Header} - -The header provides some basic information about \wannier, the -authors, and the execution time of the current run. For instance, -in version 2.0, it printed the following (the string will be -slightly different for newer versions): - -\begin{verbatim} - - +---------------------------------------------------+ - | | - | WANNIER90 | - | | - +---------------------------------------------------+ - | | - | Welcome to the Maximally-Localized | - | Generalized Wannier Functions code | - | http://www.wannier.org | - | | - | Wannier90 v2.0 Authors: | - | Arash A. Mostofi (Imperial College London) | - | Giovanni Pizzi (EPFL) | - | Ivo Souza (Universidad del Pais Vasco) | - | Jonathan R. Yates (University of Oxford) | - | | - | Wannier90 Contributors: | - | Young-Su Lee (KIST, S. Korea) | - | Matthew Shelley (Imperial College London) | - | Nicolas Poilvert (Penn State University) | - | Raffaello Bianco (Paris 6 and CNRS) | - | Gabriele Sclauzero (ETH Zurich) | - | | - | Wannier77 Authors: | - | Nicola Marzari (EPFL) | - | Ivo Souza (Universidad del Pais Vasco) | - | David Vanderbilt (Rutgers University) | - | | - . - . - | Copyright (c) 1996-2015 | - | Arash A. Mostofi, Jonathan R. Yates, | - | Young-Su Lee, Giovanni Pizzi, Ivo Souza, | - | David Vanderbilt and Nicola Marzari | - | | - | Release: 2.0.1 2nd April 2015 | - . - . - | | - +---------------------------------------------------+ - | Execution started on 2Apr2015 at 18:39:42 | - +---------------------------------------------------+ - -\end{verbatim} - -\subsection{System information} - -This part of the output file presents information that \wannier\ has -read or inferred from the master input file {\tt seedname.win}. This -includes real and reciprocal lattice vectors, atomic positions, -k-points, parameters for job control, disentanglement, localisation -and plotting. - -\begin{verbatim} - ------ - SYSTEM - ------ - - Lattice Vectors (Ang) - a_1 3.938486 0.000000 0.000000 - a_2 0.000000 3.938486 0.000000 - a_3 0.000000 0.000000 3.938486 - - Unit Cell Volume: 61.09251 (Ang^3) - - Reciprocal-Space Vectors (Ang^-1) - b_1 1.595330 0.000000 0.000000 - b_2 0.000000 1.595330 0.000000 - b_3 0.000000 0.000000 1.595330 - - *----------------------------------------------------------------------------* - | Site Fractional Coordinate Cartesian Coordinate (Ang) | - +----------------------------------------------------------------------------+ - | Ba 1 0.00000 0.00000 0.00000 | 0.00000 0.00000 0.00000 | - | Ti 1 0.50000 0.50000 0.50000 | 1.96924 1.96924 1.96924 | - . - . - *----------------------------------------------------------------------------* - - ------------ - K-POINT GRID - ------------ - - Grid size = 4 x 4 x 4 Total points = 64 - - *---------------------------------- MAIN ------------------------------------* - | Number of Wannier Functions : 9 | - | Number of input Bloch states : 9 | - | Output verbosity (1=low, 5=high) : 1 | - | Length Unit : Ang | - | Post-processing setup (write *.nnkp) : F | - . - . - *----------------------------------------------------------------------------* -\end{verbatim} - -\subsection{Nearest-neighbour k-points} - -This part of the output files provides information on the -$\mathrm{b}$-vectors and weights chosen to satisfy the condition of -Eq.~\ref{eq:B1}. - -\begin{verbatim} - *---------------------------------- K-MESH ----------------------------------* - +----------------------------------------------------------------------------+ - | Distance to Nearest-Neighbour Shells | - | ------------------------------------ | - | Shell Distance (Ang^-1) Multiplicity | - | ----- ----------------- ------------ | - | 1 0.398833 6 | - | 2 0.564034 12 | - . - . - +----------------------------------------------------------------------------+ - | The b-vectors are chosen automatically | - | The following shells are used: 1 | - +----------------------------------------------------------------------------+ - | Shell # Nearest-Neighbours | - | ----- -------------------- | - | 1 6 | - +----------------------------------------------------------------------------+ - | Completeness relation is fully satisfied [Eq. (B1), PRB 56, 12847 (1997)] | - +----------------------------------------------------------------------------+ -\end{verbatim} - -\subsection{Disentanglement} - -Then (if required) comes the part where $\omi$ is minimised to -disentangle the optimally-connected subspace of states for the -localisation procedure in the next step. - -First, a summary of the energy windows that are being used is given: -\begin{verbatim} - *------------------------------- DISENTANGLE --------------------------------* - +----------------------------------------------------------------------------+ - | Energy Windows | - | --------------- | - | Outer: 2.81739 to 38.00000 (eV) | - | Inner: 2.81739 to 13.00000 (eV) | - +----------------------------------------------------------------------------+ -\end{verbatim} - -Then, each step of the iterative minimisation of $\omi$ is reported. -\begin{verbatim} - Extraction of optimally-connected subspace - ------------------------------------------ - +---------------------------------------------------------------------+<-- DIS - | Iter Omega_I(i-1) Omega_I(i) Delta (frac.) Time |<-- DIS - +---------------------------------------------------------------------+<-- DIS - 1 3.82493590 3.66268867 4.430E-02 0.36 <-- DIS - 2 3.66268867 3.66268867 6.911E-15 0.37 <-- DIS - . - . - - <<< Delta < 1.000E-10 over 3 iterations >>> - <<< Disentanglement convergence criteria satisfied >>> - - Final Omega_I 3.66268867 (Ang^2) - - +----------------------------------------------------------------------------+ -\end{verbatim} -The first column gives the iteration number. For a description of the -minimisation procedure and expressions for $\omi^{(i)}$, see the -original paper~\cite{souza-prb01}. The procedure is considered to be -converged when the fractional difference between $\omi^{(i)}$ and -$\omi^{(i-1)}$ is less than {\tt dis\_conv\_tol} over {\tt - dis\_conv\_window} iterations. The final column gives a running -account of the wall time (in seconds) so far. Note that at the end of -each line of output, there are the characters ``{\tt <-- DIS}''. This -enables fast searching of the output using, for example, the Unix -command {\tt grep}: - -{\tt my\_shell> grep DIS wannier.wout | less} - -\subsection{Wannierisation} - -The next part of the input file provides information on the -minimisation of $\omt$. At each iteration, the centre and spread of -each WF is reported. - -\begin{verbatim} -*------------------------------- WANNIERISE ---------------------------------* - +--------------------------------------------------------------------+<-- CONV - | Iter Delta Spread RMS Gradient Spread (Ang^2) Time |<-- CONV - +--------------------------------------------------------------------+<-- CONV - - ------------------------------------------------------------------------------ - Initial State - WF centre and spread 1 ( 0.000000, 1.969243, 1.969243 ) 1.52435832 - WF centre and spread 2 ( 0.000000, 1.969243, 1.969243 ) 1.16120620 - . - . - 0 0.126E+02 0.0000000000 12.6297685260 0.29 <-- CONV - O_D= 0.0000000 O_OD= 0.1491718 O_TOT= 12.6297685 <-- SPRD - ------------------------------------------------------------------------------ - Cycle: 1 - WF centre and spread 1 ( 0.000000, 1.969243, 1.969243 ) 1.52414024 - WF centre and spread 2 ( 0.000000, 1.969243, 1.969243 ) 1.16059775 - . - . - Sum of centres and spreads ( 11.815458, 11.815458, 11.815458 ) 12.62663472 - - 1 -0.313E-02 0.0697660962 12.6266347170 0.34 <-- CONV - O_D= 0.0000000 O_OD= 0.1460380 O_TOT= 12.6266347 <-- SPRD - Delta: O_D= -0.4530841E-18 O_OD= -0.3133809E-02 O_TOT= -0.3133809E-02 <-- DLTA - ------------------------------------------------------------------------------ - Cycle: 2 - WF centre and spread 1 ( 0.000000, 1.969243, 1.969243 ) 1.52414866 - WF centre and spread 2 ( 0.000000, 1.969243, 1.969243 ) 1.16052405 - . - . - Sum of centres and spreads ( 11.815458, 11.815458, 11.815458 ) 12.62646411 - - 2 -0.171E-03 0.0188848262 12.6264641055 0.38 <-- CONV - O_D= 0.0000000 O_OD= 0.1458674 O_TOT= 12.6264641 <-- SPRD - Delta: O_D= -0.2847260E-18 O_OD= -0.1706115E-03 O_TOT= -0.1706115E-03 <-- DLTA - ------------------------------------------------------------------------------ - . - . - ------------------------------------------------------------------------------ - Final State - WF centre and spread 1 ( 0.000000, 1.969243, 1.969243 ) 1.52416618 - WF centre and spread 2 ( 0.000000, 1.969243, 1.969243 ) 1.16048545 - . - . - Sum of centres and spreads ( 11.815458, 11.815458, 11.815458 ) 12.62645344 - - Spreads (Ang^2) Omega I = 12.480596753 - ================ Omega D = 0.000000000 - Omega OD = 0.145856689 - Final Spread (Ang^2) Omega Total = 12.626453441 - ------------------------------------------------------------------------------ -\end{verbatim} - -It looks quite complicated, but things look more simple if one uses -{\tt grep}: - -{\tt my\_shell> grep CONV wannier.wout} - -gives - -\begin{verbatim} - +--------------------------------------------------------------------+<-- CONV - | Iter Delta Spread RMS Gradient Spread (Ang^2) Time |<-- CONV - +--------------------------------------------------------------------+<-- CONV - 0 0.126E+02 0.0000000000 12.6297685260 0.29 <-- CONV - 1 -0.313E-02 0.0697660962 12.6266347170 0.34 <-- CONV - . - . - 50 0.000E+00 0.0000000694 12.6264534413 2.14 <-- CONV -\end{verbatim} - -The first column is the iteration number, the second is the change in -$\Omega$ from the previous iteration, the third is the root-mean-squared -gradient of $\Omega$ with respect to variations in the unitary -matrices $\mathbf{U}^{(\mathbf{k})}$, and the last is the time taken (in -seconds). Depending on the input parameters used, the procedure either -runs for {\tt num\_iter} iterations, or a convergence criterion is -applied on $\Omega$. See Section~\ref{sec:wann_params} for details. - -Similarly, the command - -{\tt my\_shell> grep SPRD wannier.wout} - -gives - -\begin{verbatim} - O_D= 0.0000000 O_OD= 0.1491718 O_TOT= 12.6297685 <-- SPRD - O_D= 0.0000000 O_OD= 0.1460380 O_TOT= 12.6266347 <-- SPRD - . - . - O_D= 0.0000000 O_OD= 0.1458567 O_TOT= 12.6264534 <-- SPRD -\end{verbatim} - -which, for each iteration, reports the value of the diagonal and -off-diagonal parts of the non-gauge-invariant spread, as well as the -total spread, respectively. Recall from Section~\ref{sec:method} that -$\Omega = \omi + \Omega_{\mathrm{D}} + \Omega_{\mathrm{OD}}$. - -\subsection{Plotting} - -After WF have been localised, \wannier\ enters its plotting routines -(if required). For example, if you have specified an interpolated -bandstucture: - -\begin{verbatim} - *---------------------------------------------------------------------------* - | PLOTTING | - *---------------------------------------------------------------------------* - - Calculating interpolated band-structure -\end{verbatim} - -\subsection{Summary timings} - -At the very end of the run, a summary of the time taken for various -parts of the calculation is given. The level of detail is controlled -by the {\tt timing\_level} input parameter (set to 1 by default). - -\begin{verbatim} - *===========================================================================* - | TIMING INFORMATION | - *===========================================================================* - | Tag Ncalls Time (s)| - |---------------------------------------------------------------------------| - |kmesh: get : 1 0.212| - |overlap: read : 1 0.060| - |wann: main : 1 1.860| - |plot: main : 1 0.168| - *---------------------------------------------------------------------------* - - All done: wannier90 exiting -\end{verbatim} - - - -\section{{\tt seedname.chk}} -INPUT/OUTPUT. Information required to restart the calculation or enter the -plotting phase. If we have used disentanglement this file also contains the -rectangular matrices $\bf{U}^{{\rm dis}({\bf k})}$. - -%\section{{\tt seedname\_um.dat}} -%INPUT/OUTPUT. Contains $\bf{U}^{({\bf k})}$ and $\bf{M}^{(\bf{k,b})}$ (in the -%basis of the rotated Bloch states). Required to restart the calculation or enter the -%plotting phase. - -\section{{\tt seedname.r2mn}} -OUTPUT. -Written if $\verb#write_r2mn#=\verb#true#$. The matrix elements -$\langle m|r^2|n\rangle$ (where $m$ and $n$ refer to MLWF) - -\section{{\tt seedname\_band.dat}} -OUTPUT. Written if {\tt bands\_plot=.TRUE.}; The raw data for the -interpolated band structure. - -\section{{\tt seedname\_band.gnu}} -OUTPUT. Written if {\tt bands\_plot=.TRUE.} and {\tt - bands\_plot\_format=gnuplot}; A {\tt gnuplot} script to plot the - interpolated band structure. - -\section{{\tt seedname\_band.agr}} -OUTPUT. Written if {\tt bands\_plot=.TRUE.} and {\tt - bands\_plot\_format=xmgrace}; A {\tt grace} file to plot the - interpolated band structure. - - -\section{{\tt seedname\_band.kpt}} -OUTPUT. Written if {\tt bands\_plot=.TRUE.}; The k-points used for the -interpolated band structure, in units of the reciprocal lattice -vectors. This file can be used to generate a comparison band structure -from a first-principles code. - -\section{{\tt seedname\_band.labelinfo.dat}} -OUTPUT. Written if {\tt bands\_plot=.TRUE.}; Information on the high-symmetry -point locations and labels used in the band plot of interpolated band structure. -It contains one line per high-symmetry point. If the last point of a path segment -is identical to the first of the next segment (both label and coordinates), the -point is not repeated twice. Each line consists of six components: the label of -the k-point as specified in input (truncated to 20 characters, and converted -to capital letters); the index in the {{\tt seedname\_band.kpt}} -(1 is the first point) corresponding to this high-symmetry point, -the $x$ value that is used in the {{\tt seedname\_band.dat}} for this point, -and the three coordinates of the k-point (same units as the -{{\tt seedname\_band.kpt}} file). - -\section{{\tt seedname.bxsf}} -OUTPUT. Written if {\tt fermi\_surface\_plot=.TRUE.}; A Fermi surface plot file -suitable for plotting with XCrySDen. - -\section{{\tt seedname\_w.xsf}} -OUTPUT. Written if {\tt wannier\_plot=.TRUE.} and {\tt - wannier\_plot\_format=xcrysden}. Contains the {\tt - w}$^{\mathrm{th}}$ WF in real space in a format suitable for - plotting with XCrySDen or VMD, for example. - -\section{{\tt seedname\_w.cube}} -OUTPUT. Written if {\tt wannier\_plot=.TRUE.} and {\tt - wannier\_plot\_format=cube}. Contains the {\tt - w}$^{\mathrm{th}}$ WF in real space in Gaussian cube format, - suitable for plotting in XCrySDen, VMD, gopenmol etc. - -\section{{\tt UNKp.s}} -INPUT. Read if \verb#wannier_plot#=\verb#.TRUE.# and used to plot the -MLWF. Read if \verb#transport_mode#=\verb#lcr# and \verb#tran_read_ht#=\verb#.FALSE.# -for use in automated lcr transport calculations. - -The periodic part of the Bloch states represented on a regular real - space grid, indexed by k-point \verb#p# (from 1 to \verb#num_kpts#) - and spin \verb#s# (`1' for `up', `2' for `down'). - - -The name of the wavefunction file is assumed to have the form: - -\begin{verbatim} - write(wfnname,200) p,spin -200 format ('UNK',i5.5,'.',i1) -\end{verbatim} - -The first line of each file should contain 5 integers: the number of - grid points in each direction (\verb#ngx#, \verb#ngy# and - \verb#ngz#), the k-point number \verb#ik# and the total number of - bands \verb#num_band# in the file. The full file will be read by \wannier\ as: - -\begin{verbatim} -read(file_unit) ngx,ngy,ngz,ik,nbnd -do loop_b=1,num_bands - read(file_unit) (r_wvfn(nx,loop_b),nx=1,ngx*ngy*ngz) -end do -\end{verbatim} - -If \verb#spinors#=\verb#true# then \verb#s#=`NC', and the name of the wavefunction file is assumed to have the form: -\begin{verbatim} - write(wfnname,200) p -200 format ('UNK',i5.5,'.NC') -\end{verbatim} -and the file will be read by \wannier\ as: -\begin{verbatim} -read(file_unit) ngx,ngy,ngz,ik,nbnd -do loop_b=1,num_bands - read(file_unit) (r_wvfn_nc(nx,loop_b,1),nx=1,ngx*ngy*ngz) ! up-spinor - read(file_unit) (r_wvfn_nc(nx,loop_b,2),nx=1,ngx*ngy*ngz) ! down-spinor -end do -\end{verbatim} - - -All UNK files can be in formatted or unformatted style, this is controlled -by the logical keyword \verb#wvfn_formatted#. - - -\section{{\tt seedname\_centres.xyz}} - -OUTPUT. Written if {\tt write\_xyz=.TRUE.}; xyz format -atomic structure file suitable for viewing with your favourite -visualiser ({\tt jmol}, {\tt gopenmol}, {\tt vmd}, etc.). - -\section{{\tt seedname\_hr.dat}} - -OUTPUT. Written if {\tt write\_hr=.TRUE.}. The first line gives the date and -time at which the file was created. -The second line states the number of Wannier functions {\tt num\_wann}. The third -line gives the number of Wigner-Seitz grid-points {\tt nrpts}. The next block of -{\tt nrpts} integers gives the degeneracy of each Wigner-Seitz grid point, with -15 entries per line. -Finally, the remaining {\tt num\_wann}$^2 \times$ {\tt nrpts} lines -each contain, respectively, the components of the vector $\mathbf{R}$ -in terms of the lattice vectors $\{\mathbf{A}_{i}\}$, the indices $m$ -and $n$, and the real and imaginary parts of the Hamiltonian matrix element -$H_{mn}^{(\mathbf{R})}$ in the WF basis, e.g., - -\begin{verbatim} - Created on 24May2007 at 23:32:09 - 20 - 17 - 4 1 2 1 4 1 1 2 1 4 6 1 1 1 2 - 1 2 - 0 0 -2 1 1 -0.001013 0.000000 - 0 0 -2 2 1 0.000270 0.000000 - 0 0 -2 3 1 -0.000055 0.000000 - 0 0 -2 4 1 0.000093 0.000000 - 0 0 -2 5 1 -0.000055 0.000000 - . - . - . -\end{verbatim} - -\section{{\tt seedname\_r.dat}} -OUTPUT. -Written if $\verb#write_rmn#=\verb#true#$. The matrix elements -$\langle m\mathbf{0}|\mathbf{r}|n\mathbf{R}\rangle$ (where $n\mathbf{R}$ refers to MLWF $n$ in unit cell $\mathbf{R}$). The first line gives the date and time at which the file was created. -The second line states the number of Wannier functions {\tt num\_wann}. -The third line states the number of $\mathbf{R}$ vectors {\tt nrpts}. -Similar to the case of the Hamiltonian matrix above, the -remaining {\tt num\_wann}$^2 \times$ {\tt nrpts} lines -each contain, respectively, the components of the vector $\mathbf{R}$ -in terms of the lattice vectors $\{\mathbf{A}_{i}\}$, the indices $m$ -and $n$, and the real and imaginary parts of the position matrix element -in the WF basis. - -\section{{\tt seedname.bvec}} -OUTPUT. -Written if $\verb#write_bvec#=\verb#true#$. This file contains -the matrix elements of bvector and their weights. -The first line gives the date and time at which the file was created. -The second line states the number of k-points and -the total number of neighbours for each k-point {\tt nntot}. -Then all the other lines contain the b-vector (x,y,z) coordinate and weigths -for each k-points and each of its neighbours. - -\section{{\tt seedname\_wsvec.dat}} -OUTPUT. -Written if $\verb#write_hr#=\verb#true#$ or $\verb#write_rmn#=\verb#true#$ or $\verb#write_tb#=\verb#true#$. The first line gives the date and -time at which the file was created and the value of {\tt use\_ws\_distance}. -For each pair of Wannier functions (identified by the components of the vector $\mathbf{R}$ separating their unit cells and their indices) it gives: (i) the number of lattice vectors of the periodic supercell $\mathbf{T}$ that bring the Wannier function in $\mathbf{R}$ back in the Wigner-Seitz cell centred on the other Wannier function and (ii) the set of superlattice vectors $\mathbf{T}$ to make this transformation. -These superlattice vectors $\mathbf{T}$ should be added to the $\mathbf{R}$ vector to obtain the correct centre of the Wannier function that underlies a given matrix element (e.g. the Hamiltonian matrix elements in {\tt seedname\_hr.dat}) in order to correctly interpolate in reciprocal space. - -\begin{verbatim} -## written on 20Sep2016 at 18:12:37 with use_ws_distance=.true. - 0 0 0 1 1 - 1 - 0 0 0 - 0 0 0 1 2 - 1 - 0 0 0 - 0 0 0 1 3 - 1 - 0 0 0 - 0 0 0 1 4 - 1 - 0 0 0 - 0 0 0 1 5 - 1 - 0 0 0 - 0 0 0 1 6 - 2 - 0 -1 -1 - 1 -1 -1 - . - . - . -\end{verbatim} - -\section{{\tt seedname\_qc.dat}} -OUTPUT. Written if $\verb#transport#=\verb#.TRUE.#$. -The first line gives the date and -time at which the file was created. -In the subsequent lines, the energy value -in units of eV is written in the left column, -and the quantum conductance in units of -$\frac{2e^2}{h}$ ($\frac{e^2}{h}$ -for a spin-polarized system) -is written in the right column. - -\begin{verbatim} - ## written on 14Dec2007 at 11:30:17 - -3.000000 8.999999 - -2.990000 8.999999 - -2.980000 8.999999 - -2.970000 8.999999 - . - . - . -\end{verbatim} - -\section{{\tt seedname\_dos.dat}} -OUTPUT. Written if $\verb#transport#=\verb#.TRUE.#$. -The first line gives the date and -time at which the file was created. -In the subsequent lines, the energy value -in units of eV is written in the left column, -and the density of states in an arbitrary unit -is written in the right column. - -\begin{verbatim} - ## written on 14Dec2007 at 11:30:17 - -3.000000 6.801199 - -2.990000 6.717692 - -2.980000 6.640828 - -2.970000 6.569910 - . - . - . -\end{verbatim} - - -\section{{\tt seedname\_htB.dat}} - -INPUT/OUTPUT. -Read if -$\verb#transport_mode#=\verb#bulk#$ -and $\verb#tran_read_ht#=\verb#.TRUE.#$. -Written if $\verb#tran_write_ht#=\verb#.TRUE.#$. -The first line gives the date and -time at which the file was created. -The second line gives \verb#tran_num_bb#. -The subsequent lines contain -\verb#tran_num_bb#$\times$\verb#tran_num_bb# -$H_{mn}$ matrix, where the indices -$m$ and $n$ span all \verb#tran_num_bb# WFs -located at $0^{\mathrm{th}}$ principal layer. -Then \verb#tran_num_bb# is recorded again in the new line -followed by $H_{mn}$, where -$m^{\mathrm{th}}$ WF is -at $0^{\mathrm{th}}$ principal layer -and $n^{\mathrm{th}}$ at $1^{\mathrm{st}}$ principal layer. -The $H_{mn}$ matrix is written in such a way that -$m$ is the fastest varying index. - -\begin{verbatim} - written on 14Dec2007 at 11:30:17 - 150 - -1.737841 -2.941054 0.052673 -0.032926 0.010738 -0.009515 - 0.011737 -0.016325 0.051863 -0.170897 -2.170467 0.202254 - . - . - . - -0.057064 -0.571967 -0.691431 0.015155 -0.007859 0.000474 - -0.000107 -0.001141 -0.002126 0.019188 -0.686423 -10.379876 - 150 - 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 - 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 - . - . - . - 0.000000 0.000000 0.000000 0.000000 0.000000 -0.001576 - 0.000255 -0.000143 -0.001264 0.002278 0.000000 0.000000 -\end{verbatim} - -\section{{\tt seedname\_htL.dat}} - -INPUT. -Read if $\verb#transport_mode#=\verb#lcr#$ -and $\verb#tran_read_ht#=\verb#.TRUE.#$. -The file must be written in the same way as -in \verb#seedname_htB.dat#. -The first line can be any comment you want. -The second line gives \verb#tran_num_ll#. -\verb#tran_num_ll# in \verb#seedname_htL.dat# -must be equal to -that in \verb#seedname.win#. -The code will stop otherwise. - -\begin{verbatim} - Created by a WANNIER user - 105 - 0.316879 0.000000 -2.762434 0.048956 0.000000 -0.016639 - 0.000000 0.000000 0.000000 0.000000 0.000000 -2.809405 - . - . - . - 0.000000 0.078188 0.000000 0.000000 -2.086453 -0.001535 - 0.007878 -0.545485 -10.525435 - 105 - 0.000000 0.000000 0.000315 -0.000294 0.000000 0.000085 - 0.000000 0.000000 0.000000 0.000000 0.000000 0.000021 - . - . - . - 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 - 0.000000 0.000000 0.000000 -\end{verbatim} - -\section{{\tt seedname\_htR.dat}} - -INPUT. -Read if $\verb#transport_mode#=\verb#lcr#$ -and $\verb#tran_read_ht#=\verb#.TRUE.#$ -and $\verb#tran_use_same_lead#=\verb#.FALSE.#$. -The file must be written in the same way as -in \verb#seedname_htL.dat#. -\verb#tran_num_rr# in \verb#seedname_htR.dat# -must be equal to -that in \verb#seedname.win#. - -\section{{\tt seedname\_htC.dat}} - -INPUT. -Read if $\verb#transport_mode#=\verb#lcr#$ -and $\verb#tran_read_ht#=\verb#.TRUE.#$. -The first line can be any comment you want. -The second line gives \verb#tran_num_cc#. -The subsequent lines contain -\verb#tran_num_cc#$\times$\verb#tran_num_cc# -$H_{mn}$ matrix, where the indices -$m$ and $n$ span all \verb#tran_num_cc# WFs -inside the central conductor region. -\verb#tran_num_cc# in \verb#seedname_htC.dat# -must be equal to -that in \verb#seedname.win#. - -\begin{verbatim} - Created by a WANNIER user - 99 - -10.499455 -0.541232 0.007684 -0.001624 -2.067078 -0.412188 - 0.003217 0.076965 0.000522 -0.000414 0.000419 -2.122184 - . - . - . - -0.003438 0.078545 0.024426 0.757343 -2.004899 -0.001632 - 0.007807 -0.542983 -10.516896 -\end{verbatim} - -\section{{\tt seedname\_htLC.dat}} - -INPUT. -Read if $\verb#transport_mode#=\verb#lcr#$ -and $\verb#tran_read_ht#=\verb#.TRUE.#$. -The first line can be any comment you want. -The second line gives -\verb#tran_num_ll# -and \verb#tran_num_lc# -in the given order. -The subsequent lines contain -\verb#tran_num_ll#$\times$\verb#tran_num_lc# -$H_{mn}$ matrix. -The index $m$ spans \verb#tran_num_ll# WFs -in the surface principal layer of semi-infinite left lead -which is in contact with the conductor region. -The index $n$ spans \verb#tran_num_lc# WFs -in the conductor region which -have a non-negligible interaction with -the WFs in the semi-infinite left lead. -Note that \verb#tran_num_lc# -can be different from \verb#tran_num_cc#. - - -\begin{verbatim} - Created by a WANNIER user - 105 99 - 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 - 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 - . - . - . - -0.000003 0.000009 0.000290 0.000001 -0.000007 -0.000008 - 0.000053 -0.000077 -0.000069 -\end{verbatim} - -\section{{\tt seedname\_htCR.dat}} - -INPUT. -Read if $\verb#transport_mode#=\verb#lcr#$ -and $\verb#tran_read_ht#=\verb#.TRUE.#$. -The first line can be any comment you want. -The second line gives -\verb#tran_num_cr# -and \verb#tran_num_rr# -in the given order. -The subsequent lines contain -\verb#tran_num_cr#$\times$\verb#tran_num_rr# -$H_{mn}$ matrix. -The index $m$ spans \verb#tran_num_cr# WFs -in the conductor region which -have a non-negligible interaction with -the WFs in the semi-infinite right lead. -The index $n$ spans \verb#tran_num_rr# WFs -in the surface principal layer of semi-infinite right lead -which is in contact with the conductor region. -Note that \verb#tran_num_cr# -can be different from \verb#tran_num_cc#. - -\begin{verbatim} - Created by a WANNIER user - 99 105 - -0.000180 0.000023 0.000133 -0.000001 0.000194 0.000008 - -0.000879 -0.000028 0.000672 -0.000257 -0.000102 -0.000029 - . - . - . - 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 - 0.000000 0.000000 0.000000 -\end{verbatim} - -\section{{\tt seedname.unkg}} -\label{sec:files_unkg} - -INPUT. -Read if $\verb#transport_mode#=\verb#lcr#$ -and $\verb#tran_read_ht#=\verb#.FALSE.#$. -The first line is the number of G-vectors at which the -$\tilde{u}_{m\mathbf{k}}(\mathbf{G})$ are subsequently -printed. This number should always be 32 since 32 -specific $\tilde{u}_{m\mathbf{k}}$ are required. -The following lines contain the following in this order: -The band index $m$, a counter on the number of G-vectors, -the integer co-efficient of the G-vector components $a,b,c$ -(where $\mathbf{G}=a\mathbf{b}_1+b\mathbf{b}_2+c\mathbf{b}_3$), -then the real and imaginary parts of the corresponding -$\tilde{u}_{m\mathbf{k}}(\mathbf{G})$ at the $\Gamma$-point. -We note that the ordering in which the G-vectors and -$\tilde{u}_{m\mathbf{k}}(\mathbf{G})$ are printed is not -important, but the specific G-vectors are critical. The following -example displays for a single band, the complete set of -$\tilde{u}_{m\mathbf{k}}(\mathbf{G})$ that are required. -Note the G-vectors ($a,b,c$) needed. - -\begin{verbatim} - 32 - 1 1 0 0 0 0.4023306 0.0000000 - 1 2 0 0 1 -0.0000325 0.0000000 - 1 3 0 1 0 -0.3043665 0.0000000 - 1 4 1 0 0 -0.3043665 0.0000000 - 1 5 2 0 0 0.1447143 0.0000000 - 1 6 1 -1 0 0.2345179 0.0000000 - 1 7 1 1 0 0.2345179 0.0000000 - 1 8 1 0 -1 0.0000246 0.0000000 - 1 9 1 0 1 0.0000246 0.0000000 - 1 10 0 2 0 0.1447143 0.0000000 - 1 11 0 1 -1 0.0000246 0.0000000 - 1 12 0 1 1 0.0000246 0.0000000 - 1 13 0 0 2 0.0000338 0.0000000 - 1 14 3 0 0 -0.0482918 0.0000000 - 1 15 2 -1 0 -0.1152414 0.0000000 - 1 16 2 1 0 -0.1152414 0.0000000 - 1 17 2 0 -1 -0.0000117 0.0000000 - 1 18 2 0 1 -0.0000117 0.0000000 - 1 19 1 -2 0 -0.1152414 0.0000000 - 1 20 1 2 0 -0.1152414 0.0000000 - 1 21 1 -1 -1 -0.0000190 0.0000000 - 1 22 1 -1 1 -0.0000190 0.0000000 - 1 23 1 1 -1 -0.0000190 0.0000000 - 1 24 1 1 1 -0.0000190 0.0000000 - 1 25 1 0 -2 -0.0000257 0.0000000 - 1 26 1 0 2 -0.0000257 0.0000000 - 1 27 0 3 0 -0.0482918 0.0000000 - 1 28 0 2 -1 -0.0000117 0.0000000 - 1 29 0 2 1 -0.0000117 0.0000000 - 1 30 0 1 -2 -0.0000257 0.0000000 - 1 31 0 1 2 -0.0000257 0.0000000 - 1 32 0 0 3 0.0000187 0.0000000 - 2 1 0 0 0 -0.0000461 0.0000000 - . - . - . -\end{verbatim} - - -\section{{\tt seedname\_u.mat}} -OUTPUT. Written if $\verb#write_u_matrices#=\verb#.TRUE.#$. The first line gives the date and -time at which the file was created. -The second line states the number of kpoints {\tt num\_kpts} and the number of wannier -functions {\tt num\_wann} twice. The third line is empty. -Then there are {\tt num\_kpts} blocks of data, each of which starts with a line containing the kpoint -(in fractional coordinates of the reciprocal lattice vectors) -followed by {\tt num\_wann * num\_wann} lines containing the matrix elements (real and imaginary parts) of -$\mathbf{U}^{(\mathbf{k})}$. -The matrix elements are in column-major order (ie, cycling over rows first and then columns). -There is an empty line between each block of data. - -\begin{verbatim} - written on 15Sep2016 at 16:33:46 - 64 8 8 - - 0.0000000000 +0.0000000000 +0.0000000000 - 0.4468355787 +0.1394579978 - -0.0966033667 +0.4003934902 - -0.0007748974 +0.0011788678 - -0.0041177339 +0.0093821027 - . - . - . - - 0.1250000000 0.0000000000 +0.0000000000 - 0.4694005589 +0.0364941808 - +0.2287801742 -0.1135511138 - -0.4776782452 -0.0511719121 - +0.0142081014 +0.0006203139 - . - . - . -\end{verbatim} - - -\section{{\tt seedname\_u\_dis.mat}} - -OUTPUT. Written if $\verb#write_u_matrices#=\verb#.TRUE.#$ and disentanglement is enabled. -The first line gives the date and time at which the file was created. -The second line states the number of kpoints {\tt num\_kpts}, the number of wannier -functions {\tt num\_bands} and the number of {\tt num\_bands}. -The third line is empty. -Then there are {\tt num\_kpts} blocks of data, each of which starts with a line containing the kpoint -(in fractional coordinates of the reciprocal lattice vectors) -followed by {\tt num\_wann * num\_bands} lines containing the matrix elements (real and imaginary parts) -of $\mathbf{U}^{\mathrm{dis}(\mathbf{k})}$. -The matrix elements are in column-major order (ie, cycling over rows first and then columns). -There is an empty line between each block of data. - -\begin{verbatim} - written on 15Sep2016 at 16:33:46 - 64 8 16 - - 0.0000000000 +0.0000000000 +0.0000000000 - 1.0000000000 +0.0000000000 - +0.0000000000 +0.0000000000 - +0.0000000000 +0.0000000000 - +0.0000000000 +0.0000000000 - . - . - . - - 0.1250000000 0.0000000000 +0.0000000000 - 1.0000000000 +0.0000000000 - +0.0000000000 +0.0000000000 - +0.0000000000 +0.0000000000 - +0.0000000000 +0.0000000000 - . - . - . -\end{verbatim} +\chapter{Files} + + +\section{{\tt seedname.win}} +INPUT. The master input file; contains the specification of the system +and any parameters for the run. For a description of input parameters, +see Chapter~\ref{chap:parameters}; for examples, see +Section~\ref{winfile} and the \wannier\ +Tutorial. + +\subsection{Units} + +The following are the dimensional quantities that are +specified in the master input file: + +\begin{itemize} +\item Direct lattice vectors +\item Positions (of atomic or projection) centres in real space +\item Energy windows +\item Positions of k-points in reciprocal space +\item Convergence thresholds for the minimisation of $\Omega$ +%%\item \verb#zona# and \verb#box-size# (see Section~\ref{sec:proj}) +\item \verb#zona# (see Section~\ref{sec:proj}) +\item \verb#wannier_plot_cube#: cut-off radius for plotting WF in + Gaussian cube format +\end{itemize} + +Notes: + +\begin{itemize} +\item The units (either \verb#ang# + (default) or \verb#bohr#) in which the lattice vectors, atomic + positions or projection centres are given can be set in the first + line of the blocks + \verb#unit_cell_cart#, \verb#atoms_cart# and \verb#projections#, + respectively, in \verb#seedname.win#. +\item Energy is always in eV. +\item Convergence thresholds are always in \AA$^{2}$ +\item Positions of k-points are always in crystallographic + coordinates relative to the reciprocal lattice vectors. +%%\item \verb#box-size# and \verb#zona# always in Angstrom and +%% reciprocal Angstrom, respectively +\item \verb#zona# is always in reciprocal Angstrom (\AA$^{-1}$) +\item The keyword \verb#length_unit# may be set to \verb#ang# + (default) or \verb#bohr#, in order to set the units in which the + quantities in the output file {\tt seedname.wout} are written. +\item \verb#wannier_plot_radius# is in Angstrom +\end{itemize} + +The reciprocal lattice vectors +$\{\mathbf{B}_{1},\mathbf{B}_{2},\mathbf{B}_{3}\}$ are defined in +terms +of the direct lattice vectors +$\{\mathbf{A}_{1},\mathbf{A}_{2},\mathbf{A}_{3}\}$ by the equation + +\begin{equation} +\mathbf{B}_{1} = \frac{2\pi}{\Omega}\mathbf{A}_{2}\times\mathbf{A}_{3} +\ \ \ \mathrm{etc.}, +\end{equation} + +where the cell volume is +$V=\mathbf{A}_{1}\cdot(\mathbf{A}_{2}\times\mathbf{A}_{3})$. + +\section{{\tt seedname.mmn}} +INPUT. Written by the underlying electronic structure code. See +Chapter~\ref{ch:wann-pp} for details. + +\section{{\tt seedname.amn}} +INPUT. Written by the underlying electronic structure code. See +Chapter~\ref{ch:wann-pp} for details. + +\section{{\tt seedname.dmn}} +INPUT. Read if \verb#site_symmetry = .true.# (symmetry-adapted mode). +Written by the underlying electronic structure code. See Chapter~\ref{ch:wann-pp} for details. + +\section{{\tt seedname.eig}} +INPUT. Written by the underlying electronic structure code. See +Chapter~\ref{ch:wann-pp} for details. + +\section{{\tt seedname.nnkp}} \label{sec:old-nnkp} +OUTPUT. Written by \wannier\ when {\tt postproc\_setup=.TRUE.} (or, +alternatively, when \wannier\ is run with the {\tt -pp} command-line +option). See Chapter~\ref{ch:wann-pp} for details. + +\section{{\tt seedname.wout}} +OUTPUT. The master output file. Here we give a description of the main +features of the output. The verbosity of the output is controlled by +the input parameter {\tt iprint}. The higher the value, the more +detail is given in the output file. The default value is 1, which prints +minimal information. + +\subsection{Header} + +The header provides some basic information about \wannier, the +authors, and the execution time of the current run. For instance, +in version 2.0, it printed the following (the string will be +slightly different for newer versions): + +\begin{verbatim} + + +---------------------------------------------------+ + | | + | WANNIER90 | + | | + +---------------------------------------------------+ + | | + | Welcome to the Maximally-Localized | + | Generalized Wannier Functions code | + | http://www.wannier.org | + | | + | Wannier90 v2.0 Authors: | + | Arash A. Mostofi (Imperial College London) | + | Giovanni Pizzi (EPFL) | + | Ivo Souza (Universidad del Pais Vasco) | + | Jonathan R. Yates (University of Oxford) | + | | + | Wannier90 Contributors: | + | Young-Su Lee (KIST, S. Korea) | + | Matthew Shelley (Imperial College London) | + | Nicolas Poilvert (Penn State University) | + | Raffaello Bianco (Paris 6 and CNRS) | + | Gabriele Sclauzero (ETH Zurich) | + | | + | Wannier77 Authors: | + | Nicola Marzari (EPFL) | + | Ivo Souza (Universidad del Pais Vasco) | + | David Vanderbilt (Rutgers University) | + | | + . + . + | Copyright (c) 1996-2015 | + | Arash A. Mostofi, Jonathan R. Yates, | + | Young-Su Lee, Giovanni Pizzi, Ivo Souza, | + | David Vanderbilt and Nicola Marzari | + | | + | Release: 2.0.1 2nd April 2015 | + . + . + | | + +---------------------------------------------------+ + | Execution started on 2Apr2015 at 18:39:42 | + +---------------------------------------------------+ + +\end{verbatim} + +\subsection{System information} + +This part of the output file presents information that \wannier\ has +read or inferred from the master input file {\tt seedname.win}. This +includes real and reciprocal lattice vectors, atomic positions, +k-points, parameters for job control, disentanglement, localisation +and plotting. + +\begin{verbatim} + ------ + SYSTEM + ------ + + Lattice Vectors (Ang) + a_1 3.938486 0.000000 0.000000 + a_2 0.000000 3.938486 0.000000 + a_3 0.000000 0.000000 3.938486 + + Unit Cell Volume: 61.09251 (Ang^3) + + Reciprocal-Space Vectors (Ang^-1) + b_1 1.595330 0.000000 0.000000 + b_2 0.000000 1.595330 0.000000 + b_3 0.000000 0.000000 1.595330 + + *----------------------------------------------------------------------------* + | Site Fractional Coordinate Cartesian Coordinate (Ang) | + +----------------------------------------------------------------------------+ + | Ba 1 0.00000 0.00000 0.00000 | 0.00000 0.00000 0.00000 | + | Ti 1 0.50000 0.50000 0.50000 | 1.96924 1.96924 1.96924 | + . + . + *----------------------------------------------------------------------------* + + ------------ + K-POINT GRID + ------------ + + Grid size = 4 x 4 x 4 Total points = 64 + + *---------------------------------- MAIN ------------------------------------* + | Number of Wannier Functions : 9 | + | Number of input Bloch states : 9 | + | Output verbosity (1=low, 5=high) : 1 | + | Length Unit : Ang | + | Post-processing setup (write *.nnkp) : F | + . + . + *----------------------------------------------------------------------------* +\end{verbatim} + +\subsection{Nearest-neighbour k-points} + +This part of the output files provides information on the +$\mathrm{b}$-vectors and weights chosen to satisfy the condition of +Eq.~\ref{eq:B1}. + +\begin{verbatim} + *---------------------------------- K-MESH ----------------------------------* + +----------------------------------------------------------------------------+ + | Distance to Nearest-Neighbour Shells | + | ------------------------------------ | + | Shell Distance (Ang^-1) Multiplicity | + | ----- ----------------- ------------ | + | 1 0.398833 6 | + | 2 0.564034 12 | + . + . + +----------------------------------------------------------------------------+ + | The b-vectors are chosen automatically | + | The following shells are used: 1 | + +----------------------------------------------------------------------------+ + | Shell # Nearest-Neighbours | + | ----- -------------------- | + | 1 6 | + +----------------------------------------------------------------------------+ + | Completeness relation is fully satisfied [Eq. (B1), PRB 56, 12847 (1997)] | + +----------------------------------------------------------------------------+ +\end{verbatim} + +\subsection{Disentanglement} + +Then (if required) comes the part where $\omi$ is minimised to +disentangle the optimally-connected subspace of states for the +localisation procedure in the next step. + +First, a summary of the energy windows that are being used is given: +\begin{verbatim} + *------------------------------- DISENTANGLE --------------------------------* + +----------------------------------------------------------------------------+ + | Energy Windows | + | --------------- | + | Outer: 2.81739 to 38.00000 (eV) | + | Inner: 2.81739 to 13.00000 (eV) | + +----------------------------------------------------------------------------+ +\end{verbatim} + +Then, each step of the iterative minimisation of $\omi$ is reported. +\begin{verbatim} + Extraction of optimally-connected subspace + ------------------------------------------ + +---------------------------------------------------------------------+<-- DIS + | Iter Omega_I(i-1) Omega_I(i) Delta (frac.) Time |<-- DIS + +---------------------------------------------------------------------+<-- DIS + 1 3.82493590 3.66268867 4.430E-02 0.36 <-- DIS + 2 3.66268867 3.66268867 6.911E-15 0.37 <-- DIS + . + . + + <<< Delta < 1.000E-10 over 3 iterations >>> + <<< Disentanglement convergence criteria satisfied >>> + + Final Omega_I 3.66268867 (Ang^2) + + +----------------------------------------------------------------------------+ +\end{verbatim} +The first column gives the iteration number. For a description of the +minimisation procedure and expressions for $\omi^{(i)}$, see the +original paper~\cite{souza-prb01}. The procedure is considered to be +converged when the fractional difference between $\omi^{(i)}$ and +$\omi^{(i-1)}$ is less than {\tt dis\_conv\_tol} over {\tt + dis\_conv\_window} iterations. The final column gives a running +account of the wall time (in seconds) so far. Note that at the end of +each line of output, there are the characters ``{\tt <-- DIS}''. This +enables fast searching of the output using, for example, the Unix +command {\tt grep}: + +{\tt my\_shell> grep DIS wannier.wout | less} + +\subsection{Wannierisation} +\label{sec:files-wannierisation} + +The next part of the output file provides information on the +minimisation of $\omt$. At each iteration, the centre and spread of +each WF is reported. + +\begin{verbatim} +*------------------------------- WANNIERISE ---------------------------------* + +--------------------------------------------------------------------+<-- CONV + | Iter Delta Spread RMS Gradient Spread (Ang^2) Time |<-- CONV + +--------------------------------------------------------------------+<-- CONV + + ------------------------------------------------------------------------------ + Initial State + WF centre and spread 1 ( 0.000000, 1.969243, 1.969243 ) 1.52435832 + WF centre and spread 2 ( 0.000000, 1.969243, 1.969243 ) 1.16120620 + . + . + 0 0.126E+02 0.0000000000 12.6297685260 0.29 <-- CONV + O_D= 0.0000000 O_OD= 0.1491718 O_TOT= 12.6297685 <-- SPRD + ------------------------------------------------------------------------------ + Cycle: 1 + WF centre and spread 1 ( 0.000000, 1.969243, 1.969243 ) 1.52414024 + WF centre and spread 2 ( 0.000000, 1.969243, 1.969243 ) 1.16059775 + . + . + Sum of centres and spreads ( 11.815458, 11.815458, 11.815458 ) 12.62663472 + + 1 -0.313E-02 0.0697660962 12.6266347170 0.34 <-- CONV + O_D= 0.0000000 O_OD= 0.1460380 O_TOT= 12.6266347 <-- SPRD + Delta: O_D= -0.4530841E-18 O_OD= -0.3133809E-02 O_TOT= -0.3133809E-02 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 2 + WF centre and spread 1 ( 0.000000, 1.969243, 1.969243 ) 1.52414866 + WF centre and spread 2 ( 0.000000, 1.969243, 1.969243 ) 1.16052405 + . + . + Sum of centres and spreads ( 11.815458, 11.815458, 11.815458 ) 12.62646411 + + 2 -0.171E-03 0.0188848262 12.6264641055 0.38 <-- CONV + O_D= 0.0000000 O_OD= 0.1458674 O_TOT= 12.6264641 <-- SPRD + Delta: O_D= -0.2847260E-18 O_OD= -0.1706115E-03 O_TOT= -0.1706115E-03 <-- DLTA + ------------------------------------------------------------------------------ + . + . + ------------------------------------------------------------------------------ + Final State + WF centre and spread 1 ( 0.000000, 1.969243, 1.969243 ) 1.52416618 + WF centre and spread 2 ( 0.000000, 1.969243, 1.969243 ) 1.16048545 + . + . + Sum of centres and spreads ( 11.815458, 11.815458, 11.815458 ) 12.62645344 + + Spreads (Ang^2) Omega I = 12.480596753 + ================ Omega D = 0.000000000 + Omega OD = 0.145856689 + Final Spread (Ang^2) Omega Total = 12.626453441 + ------------------------------------------------------------------------------ +\end{verbatim} + +It looks quite complicated, but things look more simple if one uses +{\tt grep}: + +{\tt my\_shell> grep CONV wannier.wout} + +gives + +\begin{verbatim} + +--------------------------------------------------------------------+<-- CONV + | Iter Delta Spread RMS Gradient Spread (Ang^2) Time |<-- CONV + +--------------------------------------------------------------------+<-- CONV + 0 0.126E+02 0.0000000000 12.6297685260 0.29 <-- CONV + 1 -0.313E-02 0.0697660962 12.6266347170 0.34 <-- CONV + . + . + 50 0.000E+00 0.0000000694 12.6264534413 2.14 <-- CONV +\end{verbatim} + +The first column is the iteration number, the second is the change in +$\Omega$ from the previous iteration, the third is the root-mean-squared +gradient of $\Omega$ with respect to variations in the unitary +matrices $\mathbf{U}^{(\mathbf{k})}$, and the last is the time taken (in +seconds). Depending on the input parameters used, the procedure either +runs for {\tt num\_iter} iterations, or a convergence criterion is +applied on $\Omega$. See Section~\ref{sec:wann_params} for details. + +Similarly, the command + +{\tt my\_shell> grep SPRD wannier.wout} + +gives + +\begin{verbatim} + O_D= 0.0000000 O_OD= 0.1491718 O_TOT= 12.6297685 <-- SPRD + O_D= 0.0000000 O_OD= 0.1460380 O_TOT= 12.6266347 <-- SPRD + . + . + O_D= 0.0000000 O_OD= 0.1458567 O_TOT= 12.6264534 <-- SPRD +\end{verbatim} + +which, for each iteration, reports the value of the diagonal and +off-diagonal parts of the non-gauge-invariant spread, as well as the +total spread, respectively. Recall from Section~\ref{sec:method} that +$\Omega = \omi + \Omega_{\mathrm{D}} + \Omega_{\mathrm{OD}}$. + +\subsubsection{Wannierisation with selective localization and constrained centres} +For full details of the selectively localised Wannier function (SLWF) method, the reader is +referred to Ref.~\cite{Marianetti}. +When using the SLWF method, only a few things change in the output file +and in general the same principles described above will apply. +In particular, when minimising the spread with respect to the degrees of freedom of only a subset +of functions, it is not possible to cast the total spread functional $\Omega$ as a sum of a +gauge-invariant part and a gauge-dependent part. Instead, one has +$\Omega^{'} = \Omega_{\mathrm{IOD}} + \Omega_{\mathrm{D}}$, where +$$\Omega^{'} = \sum_{n=1}^{J'0# (fast) @@ -701,13 +723,13 @@ \section{Job Control} \subsection[exclude\_bands]{\tt integer :: exclude\_bands(:)} A k-point independent list of states to excluded from the calculation - of the overlap matrices; + of the overlap matrices; for example to select only valence states, or ignore semi-core states. This keyword is passed to the first-principles code via the {\tt seedname.nnkp} file. For example, to exclude bands 2, 6, 7, 8 and 12: - \verb#exclude_bands : 2, 6-8, 12# + \verb#exclude_bands : 2, 6-8, 12# \subsection[restart]{\tt character(len=20) :: restart} @@ -718,10 +740,10 @@ \section{Job Control} The valid options for this parameter are: \begin{itemize} \item[{\bf --}] \verb#default#. Restart from the point at which the - check file {\tt seedname.chk} was written + check file {\tt seedname.chk} was written \item[{\bf --}] \verb#wannierise#. Restart from the beginning of the - wannierise routine -\item[{\bf --}] \verb#plot#. Go directly to the plotting phase + wannierise routine +\item[{\bf --}] \verb#plot#. Go directly to the plotting phase \item[{\bf --}] \verb#transport#. Go directly to the transport routines @@ -741,31 +763,6 @@ \section{Job Control} The default value of this parameter is $\verb#false#$. -\subsection[scdm\_proj]{\tt logical :: scdm\_proj} -If {\tt scdm\_proj=true} then the $A_{mn}^{(\mathbf{k})}$ matrices are generated with the SCDM-k method of Ref.~\cite{LinLin-ArXiv2017}. In this case, one also needs to specify the {\tt scdm\_entanglement} keyword. One then needs to run {\tt wannier90.x -pp seedname} to generate the {\tt seedname.nnkp} file, to be used by a first-principle code (at the moment only interface available is with the QuantumEspresso code). - -The default value is {\tt false}. - -\subsection[scdm\_entanglement]{\tt integer :: scdm\_entanglement} -Select the functional form for the occupation number matrix $f(\epsilon_{n\mathbf{k}})$ for the SCDM-k method. -Only three integer values are allowed: -\begin{itemize} -\item[{\tt isolated}] $f(\epsilon_{n\mathbf{k}})$ is the identity matrix $I_{n\mathbf{k}}$ -\item[{\tt erfc}] The occupation number matrix is given by: $$f(\epsilon_{n\mathbf{k}})=\frac{1}{2}\mathtt{ERFC}\left(\frac{\epsilon_{n\mathbf{k}} - \mu}{\sigma}\right) $$ -\item[{\tt gaussian}] The occupation number matrix is given by $$f(\epsilon_{n\mathbf{k}})=\mathtt{EXP}\left(-\frac{(\epsilon_{n\mathbf{k}}-\mu)^2}{\sigma^2}\right)$$ -\end{itemize} - -The default value is {\tt isolated}. - -\subsection[scdm\_mu]{\tt real(kind=dp) :: scdm\_mu} -The value of the $\mu$ parameter in the formulas above. It is strictly required only when {\tt scdm\_entanglement=erfc} or {\tt gaussian}. It defines the characteristic energy for the occupation numbers matrix, in units of eV. If {\tt scdm\_entanglement=erfc}, it gives the mean value of the complementary error function. If {\tt scdm\_entanglement=gaussian}, it gives the mean value of the gaussian instead. - -The default value is {\tt 0 eV} - -\subsection[scdm\_sigma]{\tt real(kind=dp) :: scdm\_sigma} -The value of the $\sigma$ parameter in the formulas for the occupation numbers matrix. It is strictly required only when {\tt scdm\_entanglement=erfc} or {\tt gaussian}. It defines the spread of the occupation numbers matrix around $\mu$, and as such it must be a positive real number. It must be given in units of eV. - -The default value is {\tt 1.0 eV}. \subsection[spin]{\tt character(len=20) :: spin} For bands from a spin polarised calculation {\tt spin} determines which set @@ -778,7 +775,7 @@ \section{Job Control} Determines the amount of timing information regarding the calculation that will be written to the output file. A value of 1 produces the -least information. +least information. The default value is 1. @@ -786,18 +783,18 @@ \section{Job Control} Determines whether to translate the final Wannier centres to the home unit cell at the end of the calculation. Mainly useful for molecular -systems in which the molecule resides entirely within the home unit +systems in which the molecule resides entirely within the home unit cell and user wants to write an xyz file ({\tt write\_xyz=.true.}) for -the WF centres to compare with the structure. +the WF centres to compare with the structure. -The default value is \verb#false#. +The default value is \verb#false#. \subsection[write\_xyz]{\tt logical :: write\_xyz} -Determines whether to write the atomic positions and +Determines whether to write the atomic positions and final Wannier centres to an xyz file, \verb#seedname_centres.xyz#, for subsequent -visualisation. +visualisation. The default value is \verb#false#. @@ -835,7 +832,7 @@ \section{Disentanglement} The lower bound of the inner energy window for the disentanglement procedure. Units are eV. -If \verb#dis_froz_max# is given, then the default for +If \verb#dis_froz_max# is given, then the default for \verb#dis_froz_min# is \verb#dis_win_min#. @@ -861,7 +858,7 @@ \section{Disentanglement} Restriction: $0.0<\:${\tt dis\_mix\_ratio}$\:\leq 1.0$ -The default value is 0.5 +The default value is 0.5 \subsection[dis\_conv\_tol]{\tt real(kind=dp) :: dis\_conv\_tol} @@ -884,7 +881,7 @@ \section{Disentanglement} \subsection[dis\_spheres\_num]{\tt integer :: dis\_spheres\_num} Number of spheres in reciprocal space where the k-dependent -disentanglement is performed. No disentanglement is performed for +disentanglement is performed. No disentanglement is performed for those k-points that are not included in any of the spheres. The default is 0, which means disentangle at every k-point in the full BZ (the standard mode in Wannier90). @@ -905,7 +902,7 @@ \section{Disentanglement} \mathbf{B}_{2} + K_3 \mathbf{B}_3$ of a k-point representing the center of one of the spheres used for k-dependent disentanglement. The same crystallographic units as for {\tt kpoints} are used here. -Each k-point coordinate $\mathbf{K}^i$ must the followed by the +Each k-point coordinate $\mathbf{K}^i$ must the followed by the respectice sphere radius $r_{i}$ in inverse angstrom (on the same line). The number of lines must be equal to {\tt dis\_spheres\_num}. @@ -975,15 +972,15 @@ \section{Wannierise}\label{sec:wann_params} If {\tt conv\_noise\_amp}$\:>0$, once convergence (as defined above) is achieved, some random noise $f$ is added to the search direction, and the -minimisation is continued until convergence is achieved once more. If +minimisation is continued until convergence is achieved once more. If the same value of $\Omega$ as before is arrived at, then the calculation is considered to be converged. If not, then random noise is added again and the procedure repeated up to a maximum of {\tt conv\_noise\_num} times. {\tt conv\_noise\_amp} is the amplitude of -the random noise $f$ that is added to the search direction: +the random noise $f$ that is added to the search direction: $0 < |f| <\:${\tt conv\_noise\_amp}. This functionality requires {\tt conv\_window}$\:>1$. If {\tt conv\_window} is not specified, it is set -to the value 5 by default. +to the value 5 by default. If {\tt conv\_noise\_amp}$\:\leq 0$, then no noise is added (default). @@ -1011,9 +1008,9 @@ \section{Wannierise}\label{sec:wann_params} \subsection[write\_r2mn]{\tt logical :: write\_r2mn} If $\verb#write_r2mn#=\verb#true#$, then the matrix elements -$\langle m|r^2|n\rangle$ (where $m$ and $n$ refer to WF) are written +$\langle m|r^2|n\rangle$ (where $m$ and $n$ refer to WF) are written to file \verb#seedname.r2mn# at the end of the Wannierisation -procedure. +procedure. The default value of this parameter is \verb#false#. @@ -1060,28 +1057,89 @@ \section{Wannierise}\label{sec:wann_params} Determines whether to use the Bloch functions as the initial guess for the projections. Can only be used if -\verb#disentanglement = false#. +\verb#disentanglement = false#. The default value is \verb#false#. \subsection[site\_symmetry]{\tt logical :: site\_symmetry} -Construct symmetry-adapted Wannier functions. -For the detail of the theoretical background, see Ref.~\cite{sakuma-prb13}. -Cannot be used in conjunction with the inner (frozen) energy window. +Construct symmetry-adapted Wannier functions. +For the detail of the theoretical background, see Ref.~\cite{sakuma-prb13}. +Cannot be used in conjunction with the inner (frozen) energy window. The default value is \verb#false#. \subsection[symmetrize\_eps]{\tt real(kind=dp) :: symmetrize\_eps} Convergence threshold to check whether the symmetry condition (Eq. (19) in Ref.~\cite{sakuma-prb13}) -on the unitary matrix $\Uk$ is satisfied or not. -See also Eq. (29) in Ref.~\cite{sakuma-prb13}. +on the unitary matrix $\Uk$ is satisfied or not. +See also Eq. (29) in Ref.~\cite{sakuma-prb13}. Used when \verb#site_symmetry = .true#. The default value is 1.0E-3. +\subsection[scdm\_proj]{\tt logical :: scdm\_proj} +If {\tt scdm\_proj=true} then the $A_{mn}^{(\mathbf{k})}$ matrices are generated with the SCDM-k method of Ref.~\cite{LinLin-ArXiv2017}. In this case, one also needs to specify the {\tt scdm\_entanglement} keyword. One then needs to run {\tt wannier90.x -pp seedname} to generate the {\tt seedname.nnkp} file, to be used by a first-principle code (at the moment only interface available is with the QuantumEspresso code). + +The default value is {\tt false}. + +\subsection[scdm\_entanglement]{\tt integer :: scdm\_entanglement} +Select the functional form for the occupation number matrix $f(\epsilon_{n\mathbf{k}})$ for the SCDM-k method. +Only three integer values are allowed: + +\noindent {\tt isolated}: $f(\epsilon_{n\mathbf{k}})$ is the identity matrix $I_{n\mathbf{k}}$ + +\noindent {\tt erfc}: The occupation number matrix is given by: $$f(\epsilon_{n\mathbf{k}})=\frac{1}{2}\mathtt{ERFC}\left(\frac{\epsilon_{n\mathbf{k}} - \mu}{\sigma}\right) $$ + +\noindent {\tt gaussian}: The occupation number matrix is given by $$f(\epsilon_{n\mathbf{k}})=\mathtt{EXP}\left(-\frac{(\epsilon_{n\mathbf{k}}-\mu)^2}{\sigma^2}\right)$$ + +The default value is {\tt isolated}. + +\subsection[scdm\_mu]{\tt real(kind=dp) :: scdm\_mu} +The value of the $\mu$ parameter in the formulas above. It is strictly required only when {\tt scdm\_entanglement=erfc} or {\tt gaussian}. It defines the characteristic energy for the occupation numbers matrix, in units of eV. If {\tt scdm\_entanglement=erfc}, it gives the mean value of the complementary error function. If {\tt scdm\_entanglement=gaussian}, it gives the mean value of the gaussian instead. + +The default value is {\tt 0 eV}. + +\subsection[scdm\_sigma]{\tt real(kind=dp) :: scdm\_sigma} +The value of the $\sigma$ parameter in the formulas for the occupation numbers matrix. It is strictly required only when {\tt scdm\_entanglement=erfc} or {\tt gaussian}. It defines the spread of the occupation numbers matrix around $\mu$, and as such it must be a positive real number. It must be given in units of eV. + +The default value is {\tt 1.0 eV}. + +\subsection[slwf\_num]{\tt integer :: slwf\_num} +The number of objective Wannier functions for selective localisation in the selectively localised Wannier function (SLWF) method of Ref.~\cite{Marianetti}. These functions are obtained by minimising the spread functional only with respect to the degrees of freedom of a subset of {\tt slwf\_num} $\le$ {\tt num\_wann} functions. At convergence, the objective WFs will have a minimum cumulative spread, whereas the remaining {\tt num\_wann} $-$ {\tt slwf\_num} functions are left unoptimised. The initial guesses for the objective WFs are given by the first {\tt slwf\_num} orbitals in the {\tt projections} block. + +The default is {\tt num\_wann}. + +\subsection[slwf\_constrain]{\tt logical :: slwf\_constrain} +If {\tt slwf\_constrain=true}, then the centres of the objective Wannier functions are constrained to either the centres of the first {\tt slwf\_num} orbitals in the {\tt projections} block or to new positions specified in the {\tt slwf\_centres} block (see Sec.~\ref{sec:centre_constraints}). In this case, a modified spread functional, $\Omega_c$, with the addition of a constraint term, as described in Ref.~\cite{Marianetti}. + +The default is {\tt false} + +\subsection[slwf\_lambda]{\tt real(kind=dp) :: slwf\_lambda} +The value of the Lagrange multiplier $\lambda$ for the constraint term in term added to modify the spread functional: $ \lambda \sum_{n=1}^{J'} \left(\overline{\mathbf{r}}_n - \mathbf{r}_{0n}\right)^2$, where $J'$ is {\tt slwf\_num}, and $\overline{\mathbf{r}}_{n}$ and $\mathbf{r}_{0n}$ are the centre and target centre, respectively, for the $n^{\text{th}}$ objective WF. + +The default is {\tt 0.0}. + +\subsection{Constraints on centres} +\label{sec:centre_constraints} + +If {\tt slwf\_constrain=true}, then by default the centres to which the {\tt slwf\_num} objective Wannier function centres are constrained are given by the first {\tt slwf\_num} rows of the {\tt projections} block. + +Optionally, the {\tt slwf\_centres} block may be used to define alternative target centres for some or all of the {\tt slwf\_num} objective Wannier functions. + +The block below shows an example of how to set the constraints: + +\noindent \verb#begin centre_constraints# \\ +\verb# 2 0.0 0.0 0.0# \\ +\verb# 4 0.25 0.0 0.0# \\ +\verb#end centre_constraints# + +\begin{itemize} +\item The first line sets the constraint for the centre of objective WF number 2 (as defined by the order of WFs in the {\tt projections} block) to (0.0,0.0,0.0) in fractional co-ordinates. +\item The second line sets the constraint for the centre of objective WF number 4 (as defined by the order of WFs in the {\tt projections} block) to (0.25,0.0,0.0) in fractional co-ordinates. +\item The target centres of all other objective Wannier functions remain as the centres given in the corresponding rows of the {\tt projections} block. +\end{itemize} \section{Post-Processing} \label{sec:post-p} @@ -1090,11 +1148,11 @@ \section{Post-Processing} \begin{itemize} \item[{\bf --}] Plot the WF -\item[{\bf --}] Plot the interpolated band structure -\item[{\bf --}] Plot the Fermi surface -\item[{\bf --}] Output the Hamiltonian in the WF basis +\item[{\bf --}] Plot the interpolated band structure +\item[{\bf --}] Plot the Fermi surface +\item[{\bf --}] Output the Hamiltonian in the WF basis \item[{\bf --}] Transport calculation (quantum conductance and - density of states) + density of states) %\item[{\bf --}] Plot the density of states. \end{itemize} @@ -1111,7 +1169,7 @@ \section{Post-Processing} A list of WF to plot. The WF numbered as per the {\tt seedname.wout} file after the minimisation of the - spread. + spread. The default behaviour is to plot all WF. For example, to plot WF 4, 5, 6 and 10: @@ -1121,8 +1179,8 @@ \section{Post-Processing} \subsection[wannier\_plot\_supercell]{\tt integer :: wannier\_plot\_supercell} -The code generates the WFs on a grid corresponding to a `super-unit-cell'. -If \verb#wannier_plot_supercell# is provided as a single integer, +The code generates the WFs on a grid corresponding to a `super-unit-cell'. +If \verb#wannier_plot_supercell# is provided as a single integer, then the size of the super-unit-cell is \verb#wannier_plot_supercell# times the size of the unit cell along all three linear dimensions (the `home' unit cell is kept approximately in the middle); otherwise, if three integers are @@ -1143,18 +1201,18 @@ \section{Post-Processing} %\item[{\bf --}] dan \end{itemize} -If {\tt wannier\_plot\_format=xsf}: the code outputs the WF on the entire super-unit-cell -specified by {\tt wannier\_plot\_supercell}. +If {\tt wannier\_plot\_format=xsf}: the code outputs the WF on the entire super-unit-cell +specified by {\tt wannier\_plot\_supercell}. -If {\tt wannier\_plot\_format=cube}: the code outputs the WF on a grid that is smaller -than the super-unit-cell specified by {\tt wannier\_plot\_supercell}. This grid is -determined by {\tt wannier\_plot\_mode}, {\tt wannier\_plot\_radius} and {\tt wannier\_plot\_scale}, -described in detail below. +If {\tt wannier\_plot\_format=cube}: the code outputs the WF on a grid that is smaller +than the super-unit-cell specified by {\tt wannier\_plot\_supercell}. This grid is +determined by {\tt wannier\_plot\_mode}, {\tt wannier\_plot\_radius} and {\tt wannier\_plot\_scale}, +described in detail below. The code is able to output Gaussian cube files for systems with non-orthogonal lattice vectors. Many visualisation programs (including XCrySDen), however, are only able to handle cube files for systems -with \emph{orthogonal} lattice vectors. One visualisation program that is capable of dealing with non-orthogonal lattice vectors is -VESTA (\url{http://jp-minerals.org/vesta/en/}).\footnote{It's worth noting that another +with \emph{orthogonal} lattice vectors. One visualisation program that is capable of dealing with non-orthogonal lattice vectors is +VESTA (\url{http://jp-minerals.org/vesta/en/}).\footnote{It's worth noting that another visualisation program, VMD (\url{http://www.ks.uiuc.edu/Research/vmd}), is able to deal with certain special cases of non-orthogonal lattice vectors; see \url{http://www.ks.uiuc.edu/Research/vmd/plugins/molfile/cubeplugin.html} for details.} @@ -1162,18 +1220,18 @@ \section{Post-Processing} \subsection[wannier\_plot\_mode]{\tt character(len=20) :: wannier\_plot\_mode} Choose the mode in which to plot the WF, either as a molecule -or as a crystal. -%Only relevant if {\tt wannier\_plot\_format=xcrysden}. +or as a crystal. +%Only relevant if {\tt wannier\_plot\_format=xcrysden}. The valid options for this parameter are: \begin{itemize} \item[{\bf --}] \verb#crystal# (default) -\item[{\bf --}] \verb#molecule# +\item[{\bf --}] \verb#molecule# \end{itemize} -If {\tt wannier\_plot\_format=cube}: +If {\tt wannier\_plot\_format=cube}: \begin{itemize} -\item if {\tt wannier\_plot\_mode = molecule}, then wherever the WF centre sits in the supercell, the origin of the cube is shifted (for the purpose of plotting only, ie, nothing is done to the U matrices etc) to coincide with the centre of mass of the atomic positions specified by the user in the {\tt *.win} input file. These atomic positions are also written to the cube file, so when it is visualised, the WF appears superimposed on the molecular structure. +\item if {\tt wannier\_plot\_mode = molecule}, then wherever the WF centre sits in the supercell, the origin of the cube is shifted (for the purpose of plotting only, ie, nothing is done to the U matrices etc) to coincide with the centre of mass of the atomic positions specified by the user in the {\tt *.win} input file. These atomic positions are also written to the cube file, so when it is visualised, the WF appears superimposed on the molecular structure. \item if {\tt wannier\_plot\_mode = crystal}, then the WF is not shifted, but instead the code searches for atoms that are within a radius of {\tt wannier\_plot\_scale} $\times$ {\tt wannier\_plot\_radius} of the WF centre and writes the coordinates of these atoms to the cube file. In this way, when the cube file is visualised, the WF appears superimposed on the nearest atoms to the WF centre. \item {\tt crystal} mode can be used for molecules, and {\tt molecule} mode can be used for crystals. \end{itemize} @@ -1185,20 +1243,20 @@ \section{Post-Processing} wannier\_plot\_radius} is the radius of the sphere that must fit inside the parallelepiped in which the WF is plotted. {\tt wannier\_plot\_radius} must be greater than 0. Units are \AA. -The default value is 3.5. +The default value is 3.5. \subsection[wannier\_plot\_scale]{\tt real(kind=dp) :: wannier\_plot\_scale} -If {\tt wannier\_plot\_format=cube} and {\tt wannier\_plot\_mode=crystal}, then the code searches for atoms that are within a radius -of {\tt wannier\_plot\_scale} $\times$ {\tt wannier\_plot\_radius} of the WF centre and writes the coordinates of these atoms to the cube file. -In this way, when the cube file is visualised, the WF appears superimposed on the nearest atoms to the WF centre. {\tt wannier\_plot\_scale} must +If {\tt wannier\_plot\_format=cube} and {\tt wannier\_plot\_mode=crystal}, then the code searches for atoms that are within a radius +of {\tt wannier\_plot\_scale} $\times$ {\tt wannier\_plot\_radius} of the WF centre and writes the coordinates of these atoms to the cube file. +In this way, when the cube file is visualised, the WF appears superimposed on the nearest atoms to the WF centre. {\tt wannier\_plot\_scale} must be greater than 0. This parameter is dimensionless. The default value is 1.0. \subsection[wannier\_plot\_spinor\_mode]{\tt character(len=20) :: wannier\_plot\_spinor\_mode} If $\verb#spinors#=\verb#true#$ then this parameter controls the -quantity to plot. For a spinor WF with components $[\phi,\psi]$ the quatity plotted is +quantity to plot. For a spinor WF with components $[\phi,\psi]$ the quatity plotted is \begin{itemize} \item[{\bf --}] \verb#total# (default). $\sqrt{[|\phi|^2+|\psi|^2}$ \item[{\bf --}] \verb#up#. $|\phi|\times sign(Re\{\phi\})$ if $\verb#wannier_plot_spinor_mode#=\verb#true#$, @@ -1211,7 +1269,7 @@ \section{Post-Processing} real valued function, a spinor WF is a complex, two component spinor. \wannier\ is able to plot several different quantities derived from a spinor WF which should give you a good idea of the nature of -the WF. +the WF. \subsection[wannier\_plot\_spinor\_phase]{\tt logical :: wannier\_plot\_spinor\_phase} If $\verb#wannier_plot_spinor_phase#=\verb#true#$ phase information will @@ -1224,7 +1282,7 @@ \section{Post-Processing} along the path in k-space defined by \verb#bands_kpath# using \verb#bands_num_points# along the first section of the path and write out an output file in a format specified -by \verb#bands_plot_format#. +by \verb#bands_plot_format#. The default value is \verb#false#. @@ -1253,7 +1311,7 @@ \section{Post-Processing} If $\verb#bands_plot#=\verb#true#$, then the number of points along the first section of the bandstructure plot given by \verb#kpoint_path#. Other sections will have the same density of -k-points. +k-points. The default value for \verb#bands_num_points# is 100. @@ -1275,7 +1333,7 @@ \section{Post-Processing} If present \wannier\ will compute the contribution of this set of WF to the states at each point of the interpolated band structure. -The WF are numbered according to the seedname.wout file. The result is written +The WF are numbered according to the seedname.wout file. The result is written in the {\tt seedname\_band.dat} file, and a corresponding gnuplot script to {\tt seedname\_band\_proj.dat} . @@ -1288,9 +1346,9 @@ \section{Post-Processing} To interpolate the band structure along the k-point path, either use the Slater-Koster interpolation scheme -or truncate the Hamiltonian matrix in the WF basis. +or truncate the Hamiltonian matrix in the WF basis. Truncation criteria are provided by \verb#hr_cutoff# -and \verb#dist_cutoff#. +and \verb#dist_cutoff#. The valid options for this parameter are: \begin{itemize} @@ -1342,7 +1400,7 @@ \section{Post-Processing} %Whilst this is not directly used by the %\wannier, it is a useful parameter to set as it will be written -%into the bxsf file. +%into the bxsf file. % There is no default value. The default value is 0.0 @@ -1373,9 +1431,9 @@ \section{Post-Processing} \subsection[fermi\_surface\_plot\_format]{\tt character(len=20) :: - fermi\_surface\_plot\_format} + fermi\_surface\_plot\_format} -Format in which to plot the Fermi surface. +Format in which to plot the Fermi surface. The valid options for this parameter are: \begin{itemize} \item[{\bf --}] \verb#xcrysden# (default) @@ -1429,7 +1487,7 @@ \section{Post-Processing} If $\verb#transport_mode#=\verb#bulk#$, quantum conductance and density of states are calculated for a perfectly-periodic one-dimensional system. -In this case, the transport part can either use +In this case, the transport part can either use the Hamiltonian matrix in the WF basis generated by \wannier\ or a Hamiltonian matrix provided by the external file {\tt seedname\_htB.dat}. @@ -1447,30 +1505,30 @@ \section{Post-Processing} {\tt seedname\_htL.dat, seedname\_htLC.dat, seedname\_htC.dat, seedname\_htCR.dat, seedname\_htR.dat}. If $\verb#tran_read_ht# = \verb#false#$ then the Hamiltonian -matrices are found automatically provided the supercell adheres to +matrices are found automatically provided the supercell adheres to conditions outlined in Section~\ref{sec:2c2}. The valid options for this parameter are: \begin{itemize} \item[{\bf --}] \verb#bulk# (default) -\item[{\bf --}] \verb#lcr# +\item[{\bf --}] \verb#lcr# \end{itemize} \subsection[tran\_win\_min]{\tt real(kind=dp) :: tran\_win\_min} -The lower bound of the energy window for the transport calculation. +The lower bound of the energy window for the transport calculation. Units are eV. The default value is -3.0. \subsection[tran\_win\_max]{\tt real(kind=dp) :: tran\_win\_max} -The upper bound of the energy window for the transport calculation. +The upper bound of the energy window for the transport calculation. Units are eV. The default value is 3.0. \subsection[tran\_energy\_step]{\tt real(kind=dp) :: tran\_energy\_step} -Sampling interval of the energy values from \verb#tran_win_min# -to \verb#tran_win_max#. +Sampling interval of the energy values from \verb#tran_win_min# +to \verb#tran_win_max#. Units are eV. The default value is 0.01. @@ -1484,7 +1542,7 @@ \section{Post-Processing} \subsection[tran\_num\_bb]{\tt integer :: tran\_num\_bb} Size of a bulk Hamiltonian matrix. This number is equal to the number of WFs in one principal -layer. +layer. A one-dimensional system can be viewed as an array of principal layers @@ -1495,15 +1553,15 @@ \section{Post-Processing} of a unit cell, and the size is determined by \verb#hr_cutoff# and/or \verb#dist_cutoff#. The criterion is rather arbitrary -when WFs are adopted as a localized basis set, +when WFs are adopted as a localized basis set, and it is up to a user's choice. The default value is 0. \subsection[tran\_num\_ll]{\tt integer :: tran\_num\_ll} -Size of a left-lead Hamiltonian matrix. -If $\verb#transport_mode# = \verb#lcr#$ and -$\verb#tran_read_ht# = \verb#false#$ then +Size of a left-lead Hamiltonian matrix. +If $\verb#transport_mode# = \verb#lcr#$ and +$\verb#tran_read_ht# = \verb#false#$ then \verb#tran_num_ll# is the number of Wannier functions in a principal layer. @@ -1522,7 +1580,7 @@ \section{Post-Processing} \subsection[tran\_num\_lc]{\tt integer :: tran\_num\_lc} Number of columns in a left-lead\_conductor Hamiltonian matrix. Number of rows must be equal to \verb#tran_num_ll#. - + The default value is 0. @@ -1533,14 +1591,14 @@ \section{Post-Processing} The default value is 0. \subsection[tran\_num\_cell\_ll]{\tt integer :: tran\_num\_cell\_ll} -Number of unit cells in one principal layer of left lead. -Used if $\verb#transport_mode# = \verb#lcr#$ and +Number of unit cells in one principal layer of left lead. +Used if $\verb#transport_mode# = \verb#lcr#$ and $\verb#tran_read_ht# = \verb#false#$. -The default value is 0. - +The default value is 0. + \subsection[tran\_num\_cell\_rr]{\tt integer :: tran\_num\_cell\_rr} -Number of unit cells in one principal layer of right lead. +Number of unit cells in one principal layer of right lead. Not used at present. The default value is 0. @@ -1554,7 +1612,7 @@ \section{Post-Processing} when \verb#tran_num_cc# is very large. \verb#tran_num_bandc# is used to construct a compact matrix which contains -the non-zero band-diagonal part of a full conductor Hamiltonian matrix. +the non-zero band-diagonal part of a full conductor Hamiltonian matrix. Setting this parameter is only meaningful when \verb#tran_num_bandc# is greater than \verb#tran_num_lc# and \verb#tran_num_cr#. @@ -1563,8 +1621,8 @@ \section{Post-Processing} \subsection[tran\_write\_ht]{\tt logical :: tran\_write\_ht} -If $\verb#tran_write_ht#=\verb#true#$, then the Hamiltonian matrix -formatted for the transport calculation will be written +If $\verb#tran_write_ht#=\verb#true#$, then the Hamiltonian matrix +formatted for the transport calculation will be written to a file \verb#seedname_htB.dat#. The default value is {\tt false}. @@ -1574,8 +1632,8 @@ \section{Post-Processing} If $\verb#tran_write_ht#=\verb#true#$, then the Hamiltonian matrix formatted for the transport calculation will be read from a set of files described in the -parameter \verb#transport_mode#. -Set $\verb#tran_write_ht#=\verb#false#$ to perform automated +parameter \verb#transport_mode#. +Set $\verb#tran_write_ht#=\verb#false#$ to perform automated lcr calculations (see Section~\ref{sec:2c2}). The default value is {\tt false}. @@ -1583,7 +1641,7 @@ \section{Post-Processing} \subsection[tran\_use\_same\_lead]{\tt logical :: tran\_use\_same\_lead} If $\verb#tran_use_same_lead#=\verb#true#$, then the -left and the right leads are the same. In this case, +left and the right leads are the same. In this case, \verb#seedname_htR.dat# is not required. The default value is {\tt true}. @@ -1601,7 +1659,7 @@ \section{Post-Processing} Centre of the unit cell to which the final Wannier centres are translated. Numbers are in fractional coordinates with respect to the lattice vectors. - + The default value is (0.0,0.0,0.0). \subsection[use\_ws\_distance]{\tt logical :: use\_ws\_distance} @@ -1649,7 +1707,7 @@ \section{Post-Processing} %Hamiltonian in the WF basis at lattice vector $\mathbf{R}$ is given by %$h_{\mathrm{max}}(\mathbf{R}) = \left|\mathrm{max}\:\: %H_{mn}(\mathbf{R})\right|$. If $h_{\mathrm{max}}(\mathbf{R})>\:${\tt -% hr\_cutoff}, then the matrix elements +% hr\_cutoff}, then the matrix elements %$H_{mn}(\mathbf{R})$ are retained in the Hamiltonian that is written %to {\tt seedname.h.dat}. Otherwise they are deemed to be insignificant %and are discarded. @@ -1661,7 +1719,7 @@ \section{Post-Processing} The largest distance between two WFs for which the Hamiltonian matrix element is retained and used in the band interpolation (when $\verb#bands_plot_mode#=\verb#cut#$) -or in the transport calculation. Units are \AA. +or in the transport calculation. Units are \AA. The default value is 1000.0. @@ -1670,7 +1728,7 @@ \section{Post-Processing} Dimension in which the distance between two WFs is calculated. The vector connecting two WFs may be projected to a line (\verb#one_dim#) or a plane (\verb#two_dim#). -The size of the projected vector +The size of the projected vector is calculated, and \verb#dist_cutoff# is applied. When \verb#one_dim# or \verb#two_dim# is used, \verb#one_dim_axis# must be given @@ -1679,8 +1737,8 @@ \section{Post-Processing} The valid options for this parameter are: \begin{itemize} \item[{\bf --}] \verb#three_dim# (default) -\item[{\bf --}] \verb#two_dim# -\item[{\bf --}] \verb#one_dim# +\item[{\bf --}] \verb#two_dim# +\item[{\bf --}] \verb#one_dim# \end{itemize} \subsection[one\_dim\_axis]{\tt character(len=20) :: one\_dim\_axis} @@ -1693,7 +1751,7 @@ \section{Post-Processing} \begin{itemize} \item[{\bf --}] \verb#x# \item[{\bf --}] \verb#y# -\item[{\bf --}] \verb#z# +\item[{\bf --}] \verb#z# \end{itemize} No default. diff --git a/doc/wannier90.bib b/doc/wannier90.bib index 635759b48..f5ab57789 100644 --- a/doc/wannier90.bib +++ b/doc/wannier90.bib @@ -594,3 +594,15 @@ @misc{pythtb howpublished={\url{http://physics.rutgers.edu/pythtb/formalism.html}} } +@article{Marianetti, +title = {Selectively localized Wannier functions}, +author = {Wang, Runzhi and Lazar, Emanuel A. and Park, Hyowon and Millis, Andrew J. and Marianetti, Chris A.}, +abstractNote = {}, +doi = {10.1103/PhysRevB.90.165125}, +journal = {Physical Review B}, +number = 16, +volume = 90, +place = {United States}, +year = {2014}, +month = {10} +} diff --git a/examples/README b/examples/README index 293add6fa..4c87d9252 100644 --- a/examples/README +++ b/examples/README @@ -59,4 +59,4 @@ example23 : Silicon - G0W0 bands structure interpolation example25 : Gallium Arsenide - Nonlinear shift current - +example26 : Gallium Arsenide - Selective localization and constrained centres diff --git a/examples/example26/GaAs.nscf b/examples/example26/GaAs.nscf new file mode 100644 index 000000000..62dbe2500 --- /dev/null +++ b/examples/example26/GaAs.nscf @@ -0,0 +1,98 @@ +GaAs + &control + calculation = 'scf' + restart_mode = 'from_scratch' + prefix = 'GaAs', + pseudo_dir = '../../pseudo/', + outdir = './' + wf_collect = .true. +/ + &system + ibrav = 2, + celldm(1) = 10.68, + nat = 2, + ntyp = 2, + ecutwfc = 35.0, + ecutrho = 150.0, + occupations = 'smearing' + smearing = 'm-p' + degauss = 0.01 + use_all_frac = .true. + nbnd = 18 +/ + &electrons + mixing_beta = 0.7 + conv_thr = 1.0d-8 +/ +ATOMIC_SPECIES +Ga 68.926 Ga.pbe-dn-kjpaw_psl.0.2.UPF +As 74.922 As.pbe-n-kjpaw_psl.0.2.UPF +ATOMIC_POSITIONS {crystal} +Ga 0.00 0.00 0.00 +As 0.25 0.25 0.25 +K_POINTS {crystal} +64 +0 0 0 0.015625 +0.25 0 0 0.015625 +0.5 0 0 0.015625 +0.75 0 0 0.015625 +0 0.25 0 0.015625 +0.25 0.25 0 0.015625 +0.5 0.25 0 0.015625 +0.75 0.25 0 0.015625 +0 0.5 0 0.015625 +0.25 0.5 0 0.015625 +0.5 0.5 0 0.015625 +0.75 0.5 0 0.015625 +0 0.75 0 0.015625 +0.25 0.75 0 0.015625 +0.5 0.75 0 0.015625 +0.75 0.75 0 0.015625 +0 0 0.25 0.015625 +0.25 0 0.25 0.015625 +0.5 0 0.25 0.015625 +0.75 0 0.25 0.015625 +0 0.25 0.25 0.015625 +0.25 0.25 0.25 0.015625 +0.5 0.25 0.25 0.015625 +0.75 0.25 0.25 0.015625 +0 0.5 0.25 0.015625 +0.25 0.5 0.25 0.015625 +0.5 0.5 0.25 0.015625 +0.75 0.5 0.25 0.015625 +0 0.75 0.25 0.015625 +0.25 0.75 0.25 0.015625 +0.5 0.75 0.25 0.015625 +0.75 0.75 0.25 0.015625 +0 0 0.5 0.015625 +0.25 0 0.5 0.015625 +0.5 0 0.5 0.015625 +0.75 0 0.5 0.015625 +0 0.25 0.5 0.015625 +0.25 0.25 0.5 0.015625 +0.5 0.25 0.5 0.015625 +0.75 0.25 0.5 0.015625 +0 0.5 0.5 0.015625 +0.25 0.5 0.5 0.015625 +0.5 0.5 0.5 0.015625 +0.75 0.5 0.5 0.015625 +0 0.75 0.5 0.015625 +0.25 0.75 0.5 0.015625 +0.5 0.75 0.5 0.015625 +0.75 0.75 0.5 0.015625 +0 0 0.75 0.015625 +0.25 0 0.75 0.015625 +0.5 0 0.75 0.015625 +0.75 0 0.75 0.015625 +0 0.25 0.75 0.015625 +0.25 0.25 0.75 0.015625 +0.5 0.25 0.75 0.015625 +0.75 0.25 0.75 0.015625 +0 0.5 0.75 0.015625 +0.25 0.5 0.75 0.015625 +0.5 0.5 0.75 0.015625 +0.75 0.5 0.75 0.015625 +0 0.75 0.75 0.015625 +0.25 0.75 0.75 0.015625 +0.5 0.75 0.75 0.015625 +0.75 0.75 0.75 0.015625 diff --git a/examples/example26/GaAs.pw2wan b/examples/example26/GaAs.pw2wan new file mode 100644 index 000000000..9605e1787 --- /dev/null +++ b/examples/example26/GaAs.pw2wan @@ -0,0 +1,8 @@ +&inputpp + outdir='./' + prefix='GaAs', + seedname = 'GaAs' + write_amn = .true. + write_mmn = .true. + write_unk = .true. +/ diff --git a/examples/example26/GaAs.scf b/examples/example26/GaAs.scf new file mode 100644 index 000000000..ade6de500 --- /dev/null +++ b/examples/example26/GaAs.scf @@ -0,0 +1,33 @@ +GaAs + &control + calculation = 'scf' + restart_mode = 'from_scratch' + prefix = 'GaAs', + pseudo_dir = '../../pseudo/', + outdir = './' + wf_collect = .true. +/ + &system + ibrav = 2, + celldm(1) = 10.68, + nat = 2, + ntyp = 2, + ecutwfc = 35.0, + ecutrho = 150.0, + occupations = 'smearing' + smearing = 'm-p' + degauss = 0.01 + use_all_frac = .true. +/ + &electrons + mixing_beta = 0.7 + conv_thr = 1.0d-8 +/ +ATOMIC_SPECIES +Ga 68.926 Ga.pbe-dn-kjpaw_psl.0.2.UPF +As 74.922 As.pbe-n-kjpaw_psl.0.2.UPF +ATOMIC_POSITIONS {crystal} +Ga 0.00 0.00 0.00 +As 0.25 0.25 0.25 +K_POINTS {automatic} +4 4 4 0 0 0 diff --git a/examples/example26/GaAs.win b/examples/example26/GaAs.win new file mode 100644 index 000000000..2333dfb80 --- /dev/null +++ b/examples/example26/GaAs.win @@ -0,0 +1,118 @@ +num_bands = 4 +num_wann = 4 +conv_tol = 1E-9 +conv_window = 3 +num_iter = 10000 + +exclude_bands = 1-5,10-18 + +! Perform selective localization, add appropriate keywords for constraining the centres +slwf_num = 1 + +begin projections +f= 0.125, 0.125, 0.125: s +f= 0.125, 0.125, -.375: s +f= -.375, 0.125, 0.125: s +f= 0.125, -.375, 0.125: s +end projections + +! Block for the constrained center +! begin slwf_centres +! 1 0.25 0.25 0.25 +! end slwf_centres + +begin unit_cell_cart +bohr +-5.34 0.00 5.34 + 0.00 5.34 5.34 +-5.34 5.34 0.00 +end unit_cell_cart + +begin atoms_frac +Ga 0.00 0.00 0.00 +As 0.25 0.25 0.25 +end atoms_frac + +bands_plot = .true. +begin kpoint_path +L 0.50000 0.50000 0.50000 G 0.00000 0.00000 0.00000 +G 0.00000 0.00000 0.00000 X 0.50000 0.00000 0.50000 +X 0.50000 0.00000 0.50000 W 0.50000 0.25000 0.75000 +W 0.50000 0.25000 0.75000 L 0.50000 0.50000 0.50000 +L 0.50000 0.50000 0.50000 K 0.75000 0.37500 0.37500 +K 0.75000 0.37500 0.37500 G 0.00000 0.00000 0.00000 +end kpoint_path + +! To plot the WFs +! restart = plot +wannier_plot = true +wannier_plot_supercell = 3 + +mp_grid = 4 4 4 + +begin kpoints +0 0 0 0.015625 +0.25 0 0 0.015625 +0.5 0 0 0.015625 +0.75 0 0 0.015625 +0 0.25 0 0.015625 +0.25 0.25 0 0.015625 +0.5 0.25 0 0.015625 +0.75 0.25 0 0.015625 +0 0.5 0 0.015625 +0.25 0.5 0 0.015625 +0.5 0.5 0 0.015625 +0.75 0.5 0 0.015625 +0 0.75 0 0.015625 +0.25 0.75 0 0.015625 +0.5 0.75 0 0.015625 +0.75 0.75 0 0.015625 +0 0 0.25 0.015625 +0.25 0 0.25 0.015625 +0.5 0 0.25 0.015625 +0.75 0 0.25 0.015625 +0 0.25 0.25 0.015625 +0.25 0.25 0.25 0.015625 +0.5 0.25 0.25 0.015625 +0.75 0.25 0.25 0.015625 +0 0.5 0.25 0.015625 +0.25 0.5 0.25 0.015625 +0.5 0.5 0.25 0.015625 +0.75 0.5 0.25 0.015625 +0 0.75 0.25 0.015625 +0.25 0.75 0.25 0.015625 +0.5 0.75 0.25 0.015625 +0.75 0.75 0.25 0.015625 +0 0 0.5 0.015625 +0.25 0 0.5 0.015625 +0.5 0 0.5 0.015625 +0.75 0 0.5 0.015625 +0 0.25 0.5 0.015625 +0.25 0.25 0.5 0.015625 +0.5 0.25 0.5 0.015625 +0.75 0.25 0.5 0.015625 +0 0.5 0.5 0.015625 +0.25 0.5 0.5 0.015625 +0.5 0.5 0.5 0.015625 +0.75 0.5 0.5 0.015625 +0 0.75 0.5 0.015625 +0.25 0.75 0.5 0.015625 +0.5 0.75 0.5 0.015625 +0.75 0.75 0.5 0.015625 +0 0 0.75 0.015625 +0.25 0 0.75 0.015625 +0.5 0 0.75 0.015625 +0.75 0 0.75 0.015625 +0 0.25 0.75 0.015625 +0.25 0.25 0.75 0.015625 +0.5 0.25 0.75 0.015625 +0.75 0.25 0.75 0.015625 +0 0.5 0.75 0.015625 +0.25 0.5 0.75 0.015625 +0.5 0.5 0.75 0.015625 +0.75 0.5 0.75 0.015625 +0 0.75 0.75 0.015625 +0.25 0.75 0.75 0.015625 +0.5 0.75 0.75 0.015625 +0.75 0.75 0.75 0.015625 +end kpoints diff --git a/src/parameters.F90 b/src/parameters.F90 index 097842897..3e5190663 100644 --- a/src/parameters.F90 +++ b/src/parameters.F90 @@ -46,6 +46,17 @@ module w90_parameters !! Number of steps before writing checkpoint integer, public, save :: num_print_cycles !! Number of steps between writing output + integer, public, save :: slwf_num + !! Number of objective Wannier functions (others excluded from spread functional) + logical, public, save :: selective_loc + !! Selective localization + logical, public, save :: slwf_constrain + !! Constrained centres + real(kind=dp), allocatable, public, save :: ccentres_frac(:,:) + real(kind=dp), allocatable, public, save :: ccentres_cart(:,:) + real(kind=dp), public, save :: slwf_lambda + !! Centre constraints for each Wannier function. Co-ordinates of centre constraint defaults + !! to centre of trial orbital. Individual Lagrange multipliers, lambdas, default to global Lagrange multiplier. character(len=50), public, save :: devel_flag ! Adaptive vs. fixed smearing stuff [GP, Jul 12, 2012] ! Only internal, always use the local variables defined by each module @@ -74,13 +85,13 @@ module w90_parameters ! that take this value as default integer :: smr_index ! [gp-end] - integer, allocatable, public,save :: exclude_bands(:) + integer, allocatable, public,save :: exclude_bands(:) integer, public, save :: num_wann !! number of wannier functions integer, public, save :: mp_grid(3) !! Dimensions of the Monkhorst-Pack grid ! logical, public, save :: automatic_mp_grid - logical, public, save :: gamma_only + logical, public, save :: gamma_only !! Use the special Gamma-point routines real(kind=dp), public, save :: dis_win_min !! lower bound of the disentanglement outer window @@ -95,7 +106,7 @@ module w90_parameters real(kind=dp), public, save :: dis_mix_ratio !! Mixing ratio for the disentanglement routine real(kind=dp), public, save :: dis_conv_tol - !! Convergence tolerance for the disentanglement + !! Convergence tolerance for the disentanglement integer, public, save :: dis_conv_window !! Size of the convergence window for disentanglement ! GS-start @@ -123,7 +134,7 @@ module w90_parameters character(len=20), public, save :: bands_plot_format character(len=20), public, save :: bands_plot_mode integer, allocatable, public, save :: bands_plot_project(:) - integer, public, save :: bands_plot_dim + integer, public, save :: bands_plot_dim logical, public, save :: write_hr logical, public, save :: write_rmn logical, public, save :: write_tb @@ -159,7 +170,7 @@ module w90_parameters logical, public, save :: dos ! No need to save 'dos_plot', only used here (introduced 'dos_task') logical, public :: dos_plot - character(len=20), public, save :: dos_task + character(len=20), public, save :: dos_task logical, public, save :: dos_adpt_smr real(kind=dp), public, save :: dos_adpt_smr_fac integer, public, save :: dos_smr_index @@ -213,11 +224,11 @@ module w90_parameters complex(kind=dp), allocatable, public, save :: gyrotropic_freq_list(:) real(kind=dp), public, save :: gyrotropic_box_corner(3),gyrotropic_box(3,3) real(kind=dp) :: gyrotropic_box_tmp(3) - real(kind=dp), public, save :: gyrotropic_degen_thresh + real(kind=dp), public, save :: gyrotropic_degen_thresh integer, allocatable, public,save :: gyrotropic_band_list(:) integer, public, save :: gyrotropic_num_bands - real(kind=dp) :: smr_max_arg - real(kind=dp) , public, save :: gyrotropic_smr_max_arg + real(kind=dp) :: smr_max_arg + real(kind=dp) , public, save :: gyrotropic_smr_max_arg real(kind=dp), public, save :: gyrotropic_eigval_max @@ -300,24 +311,24 @@ module w90_parameters integer, public, save :: tran_num_cr integer, public, save :: tran_num_bandc logical, public, save :: tran_write_ht - logical, public, save :: tran_read_ht + logical, public, save :: tran_read_ht logical, public, save :: tran_use_same_lead - integer, public, save :: tran_num_cell_ll - integer, public, save :: tran_num_cell_rr - real(kind=dp), public, save :: tran_group_threshold + integer, public, save :: tran_num_cell_ll + integer, public, save :: tran_num_cell_rr + real(kind=dp), public, save :: tran_group_threshold real(kind=dp), public, save :: translation_centre_frac(3) - integer, public, save :: num_shells + integer, public, save :: num_shells !! no longer an input keyword logical, public, save :: skip_B1_tests - !! do not check the B1 condition - logical, public, save :: explicit_nnkpts + !! do not check the B1 condition + logical, public, save :: explicit_nnkpts !! nnkpts block is in the input file (allowed only for post-proc setup) integer, allocatable, public,save :: shell_list(:) - real(kind=dp), allocatable, public, save :: kpt_latt(:,:) + real(kind=dp), allocatable, public, save :: kpt_latt(:,:) !! kpoints in lattice vecs real(kind=dp), public, save :: real_lattice(3,3) logical, public, save :: postproc_setup - logical, public, save :: cp_pp + logical, public, save :: cp_pp !! Car-Parinello post-proc flag/transport logical, public, save :: calc_only_A @@ -344,7 +355,7 @@ module w90_parameters integer, public, save :: search_shells !for kmesh real(kind=dp), public, save :: kmesh_tol integer, public, save :: optimisation - ! aam: for WF-based calculation of vdW C6 coefficients + ! aam: for WF-based calculation of vdW C6 coefficients logical, public, save :: write_vdw_data ! Restarts @@ -355,7 +366,7 @@ module w90_parameters ! Atom sites real(kind=dp), allocatable, public, save :: atoms_pos_frac(:,:,:) real(kind=dp), allocatable, public, save :: atoms_pos_cart(:,:,:) - integer, allocatable, public, save :: atoms_species_num(:) + integer, allocatable, public, save :: atoms_species_num(:) character(len=maxlen), allocatable, public, save :: atoms_label(:) character(len=2), allocatable, public, save :: atoms_symbol(:) integer, public, save :: num_atoms @@ -363,13 +374,13 @@ module w90_parameters ! Projections real(kind=dp), allocatable, public, save :: proj_site(:,:) - integer, allocatable, public, save :: proj_l(:) + integer, allocatable, public, save :: proj_l(:) integer, allocatable, public, save :: proj_m(:) - integer, allocatable, public, save :: proj_s(:) + integer, allocatable, public, save :: proj_s(:) real(kind=dp), allocatable, public, save :: proj_s_qaxis(:,:) real(kind=dp), allocatable, public, save :: proj_z(:,:) real(kind=dp), allocatable, public, save :: proj_x(:,:) - integer, allocatable, public, save :: proj_radial(:) + integer, allocatable, public, save :: proj_radial(:) real(kind=dp), allocatable, public, save :: proj_zona(:) integer, public, save :: num_proj @@ -395,7 +406,7 @@ module w90_parameters integer, public, save :: nnh ! the number of b-directions (bka) integer, public, save :: nntot ! total number of neighbours for each k-point integer, public, save, allocatable :: nnlist(:,:) ! list of neighbours for each k-point - integer, public, save, allocatable :: neigh(:,:) + integer, public, save, allocatable :: neigh(:,:) integer, public, save, allocatable :: nncell(:,:,:) ! gives BZ of each neighbour of each k-point real(kind=dp), public, save :: wbtot real(kind=dp), public, save, allocatable :: wb(:) ! weights associated with neighbours of each k-point @@ -430,7 +441,7 @@ module w90_parameters complex(kind=dp), allocatable, save, public :: u_matrix_opt(:,:,:) ! u_matrix gives the unitary rotations from the optimal subspace to the - ! optimally smooth states. + ! optimally smooth states. ! m_matrix we store here, becuase it is needed for restart of wannierise complex(kind=dp), allocatable, save, public :: u_matrix(:,:,:) @@ -440,7 +451,7 @@ module w90_parameters ! RS: symmetry-adapted Wannier functions logical, public, save :: lsitesymmetry=.false. real(kind=dp), public, save :: symmetrize_eps=1.d-3 - + ! The maximum number of shells we need to satisfy B1 condition in kmesh integer, parameter, public :: max_shells=6 integer, parameter, public :: num_nnmax=12 @@ -478,7 +489,7 @@ module w90_parameters character(len=maxlen) :: ctmp logical :: ltmp ! AAM_2016-09-15: hr_plot is a deprecated input parameter. Replaced by write_hr. - logical :: hr_plot + logical :: hr_plot public :: param_read @@ -509,7 +520,7 @@ subroutine param_read ( ) !! from the root node only! !! ! ! - !=================================================================== + !=================================================================== use w90_constants, only : bohr, eps6, cmplx_i use w90_utility, only : utility_recip_lattice,utility_metric use w90_io, only : io_error,io_file_unit,seedname,post_proc_flag @@ -538,16 +549,16 @@ subroutine param_read ( ) !%%%%%%%%%%%%%%%% - ! Transport + ! Transport !%%%%%%%%%%%%%%%% transport = .false. - call param_get_keyword('transport',found,l_value=transport) + call param_get_keyword('transport',found,l_value=transport) - tran_read_ht = .false. + tran_read_ht = .false. call param_get_keyword('tran_read_ht',found,l_value=tran_read_ht) - tran_easy_fix = .false. + tran_easy_fix = .false. call param_get_keyword('tran_easy_fix',found,l_value=tran_easy_fix) if (transport .and. tran_read_ht) restart = ' ' @@ -565,7 +576,7 @@ subroutine param_read ( ) optimisation = 3 ! Verbosity call param_get_keyword('optimisation',found,i_value=optimisation) - if (transport .and. tran_read_ht) goto 301 + if (transport .and. tran_read_ht) goto 301 !ivo call param_get_keyword('effective_model',found,l_value=effective_model) @@ -619,7 +630,7 @@ subroutine param_read ( ) end if ! AAM_2016-09-16: some changes to logic to patch a problem with uninitialised num_bands in library mode -! num_bands = -1 +! num_bands = -1 call param_get_keyword('num_bands',found,i_value=i_temp) if(found.and.library) write(stdout,'(/a)') ' Ignoring in input file' if (.not. library .and. .not.effective_model) then @@ -639,13 +650,13 @@ subroutine param_read ( ) num_dump_cycles = 100 ! frequency to write backups at call param_get_keyword('num_dump_cycles',found,i_value=num_dump_cycles) - if (num_dump_cycles<0) call io_error('Error: num_dump_cycles must be positive') + if (num_dump_cycles<0) call io_error('Error: num_dump_cycles must be positive') num_print_cycles = 1 ! frequency to write at call param_get_keyword('num_print_cycles',found,i_value=num_print_cycles) - if (num_print_cycles<0) call io_error('Error: num_print_cycles must be positive') + if (num_print_cycles<0) call io_error('Error: num_print_cycles must be positive') - devel_flag = ' ' ! + devel_flag = ' ' ! call param_get_keyword('devel_flag',found,c_value=devel_flag) ! mp_grid=-99 @@ -680,7 +691,7 @@ subroutine param_read ( ) postproc_setup = .false. ! set to true to write .nnkp file and exit call param_get_keyword('postproc_setup',found,l_value=postproc_setup) ! We allow this keyword to be overriden by a command line arg -pp - if(post_proc_flag) postproc_setup=.true. + if(post_proc_flag) postproc_setup=.true. cp_pp = .false. ! set to true if doing CP post-processing @@ -693,7 +704,7 @@ subroutine param_read ( ) call param_get_keyword('restart',found,c_value=restart) if (found) then if ( (restart.ne.'default').and.(restart.ne.'wannierise') & - .and.(restart.ne.'plot').and.(restart.ne.'transport') ) then + .and.(restart.ne.'plot').and.(restart.ne.'transport') ) then call io_error('Error in input file: value of restart not recognised') else inquire(file=trim(seedname)//'.chk',exist=chk_found) @@ -747,13 +758,13 @@ subroutine param_read ( ) ! Wannierise !%%%%%%%%%%% - num_iter = 100 + num_iter = 100 call param_get_keyword('num_iter',found,i_value=num_iter) - if (num_iter<0) call io_error('Error: num_iter must be positive') + if (num_iter<0) call io_error('Error: num_iter must be positive') num_cg_steps = 5 call param_get_keyword('num_cg_steps',found,i_value=num_cg_steps) - if (num_cg_steps<0) call io_error('Error: num_cg_steps must be positive') + if (num_cg_steps<0) call io_error('Error: num_cg_steps must be positive') conv_tol=1.0e-10_dp call param_get_keyword('conv_tol',found,r_value=conv_tol) @@ -793,6 +804,32 @@ subroutine param_read ( ) precond=.false. call param_get_keyword('precond',found,l_value=precond) + slwf_num=num_wann + selective_loc = .false. + call param_get_keyword('slwf_num',found,i_value=slwf_num) + if (found) then + if (slwf_num .gt. num_wann .or. slwf_num .lt. 1) then + call io_error('Error: slwf_num must be an between 1 and num_wann') + end if + if (slwf_num .lt. num_wann) selective_loc = .true. + end if + + slwf_constrain=.false. + call param_get_keyword('slwf_constrain',found,l_value=slwf_constrain) + if(found .and. slwf_constrain) then + allocate( ccentres_frac(num_wann,3),stat=ierr) + if (ierr/=0) call io_error('Error allocating ccentres_frac in param_get_centre_constraints') + allocate( ccentres_cart(num_wann,3),stat=ierr) + if (ierr/=0) call io_error('Error allocating ccentres_cart in param_get_centre_constraints') + end if + + + slwf_lambda = 1.0_dp + call param_get_keyword('slwf_lambda',found,r_value=slwf_lambda) + if (found) then + if (slwf_lambda < 0.0_dp) call io_error('Error: slwf_lambda must be positive.') + endif + !%%%%%%%%% ! Plotting !%%%%%%%%% @@ -829,9 +866,9 @@ subroutine param_read ( ) wannier_plot_spinor_mode= 'total' call param_get_keyword('wannier_plot_spinor_mode',found,c_value=wannier_plot_spinor_mode) wannier_plot_spinor_phase=.true. - call param_get_keyword('wannier_plot_spinor_phase',found,l_value=wannier_plot_spinor_phase) + call param_get_keyword('wannier_plot_spinor_phase',found,l_value=wannier_plot_spinor_phase) + - call param_get_range_vector('wannier_plot_list',found,num_wannier_plot,lcount=.true.) if(found) then if(num_wannier_plot<1) call io_error('Error: problem reading wannier_plot_list') @@ -854,7 +891,7 @@ subroutine param_read ( ) wannier_plot_radius = 3.5_dp call param_get_keyword('wannier_plot_radius',found,r_value=wannier_plot_radius) - + wannier_plot_scale = 1.0_dp call param_get_keyword('wannier_plot_scale',found,r_value=wannier_plot_scale) @@ -902,7 +939,7 @@ subroutine param_read ( ) call param_get_range_vector('bands_plot_project',found,num_bands_project,.false.,bands_plot_project) if (any(bands_plot_project<1) .or. any(bands_plot_project>num_wann) ) & call io_error('Error: bands_plot_project asks for a non-valid wannier function to be projected') - endif + endif bands_num_spec_points=0 call param_get_block_length('kpoint_path',found,i_temp) @@ -917,7 +954,7 @@ subroutine param_read ( ) call param_get_keyword_kpath end if if(.not.found .and. bands_plot) & - call io_error('A bandstructure plot has been requested but there is no kpoint_path block') + call io_error('A bandstructure plot has been requested but there is no kpoint_path block') ! checks if (bands_plot) then @@ -925,7 +962,7 @@ subroutine param_read ( ) call io_error('Error: bands_plot_format not recognised') if ( (index(bands_plot_mode,'s-k').eq.0) .and. (index(bands_plot_mode,'cut').eq.0) ) & call io_error('Error: bands_plot_mode not recognised') - if ( bands_num_points < 0 ) call io_error('Error: bands_num_points must be positive') + if ( bands_num_points < 0 ) call io_error('Error: bands_num_points must be positive') endif fermi_surface_plot = .false. @@ -933,7 +970,7 @@ subroutine param_read ( ) fermi_surface_num_points = 50 call param_get_keyword('fermi_surface_num_points',found,i_value=fermi_surface_num_points) - + fermi_surface_plot_format = 'xcrysden' call param_get_keyword('fermi_surface_plot_format',& found,c_value=fermi_surface_plot_format) @@ -970,7 +1007,7 @@ subroutine param_read ( ) allocate(fermi_energy_list(1),stat=ierr) fermi_energy_list(1)=fermi_energy elseif(fermi_energy_scan) then - if (nfermi.eq.1) then + if (nfermi.eq.1) then fermi_energy_step=0.0_dp else fermi_energy_step=(fermi_energy_max-fermi_energy_min)/real(nfermi-1,dp) @@ -978,16 +1015,16 @@ subroutine param_read ( ) if (allocated(fermi_energy_list)) deallocate(fermi_energy_list) allocate(fermi_energy_list(nfermi),stat=ierr) do i=1,nfermi - fermi_energy_list(i)=fermi_energy_min+(i-1)*fermi_energy_step + fermi_energy_list(i)=fermi_energy_min+(i-1)*fermi_energy_step enddo -!! elseif(nfermi==0) then +!! elseif(nfermi==0) then !! ! This happens when both found_fermi_energy=.false. and !! ! fermi_energy_scan=.false. Functionalities that require !! ! specifying a Fermi level should give an error message !! allocate(fermi_energy_list(1),stat=ierr) ! helps streamline things -!! +!! !! AAM_2017-03-27: if nfermi is zero (ie, fermi_energy* parameters are not set in input file) -!! then allocate fermi_energy_list with length 1 and set to zero as default. +!! then allocate fermi_energy_list with length 1 and set to zero as default. else if (allocated(fermi_energy_list)) deallocate(fermi_energy_list) allocate(fermi_energy_list(1),stat=ierr) @@ -999,7 +1036,7 @@ subroutine param_read ( ) ! checks if (fermi_surface_plot) then if ( (index(fermi_surface_plot_format,'xcrys').eq.0) ) & - call io_error('Error: fermi_surface_plot_format not recognised') + call io_error('Error: fermi_surface_plot_format not recognised') if ( fermi_surface_num_points < 0 )& call io_error('Error: fermi_surface_num_points must be positive') endif @@ -1049,7 +1086,7 @@ subroutine param_read ( ) kslice_b2(3)=0.0_dp call param_get_keyword_vector('kslice_b2',found,3,r_value=kslice_b2) - kslice_fermi_lines_colour='none' + kslice_fermi_lines_colour='none' call param_get_keyword('kslice_fermi_lines_colour',found,& c_value=kslice_fermi_lines_colour) if(kslice .and. index(kslice_fermi_lines_colour,'none')==0 .and.& @@ -1062,7 +1099,7 @@ subroutine param_read ( ) ! call param_get_keyword('slice_plot_format',found,c_value=slice_plot_format) ! [gp-begin, Apr 20, 2012] - + ! By default: Gaussian smr_index = 0 call param_get_keyword('smr_type',found,c_value=ctmp) @@ -1076,20 +1113,20 @@ subroutine param_read ( ) adpt_smr_fac=sqrt(2.0_dp) call param_get_keyword('adpt_smr_fac',found,r_value=adpt_smr_fac) if (found .and. (adpt_smr_fac <= 0._dp)) & - call io_error('Error: adpt_smr_fac must be greater than zero') + call io_error('Error: adpt_smr_fac must be greater than zero') ! By default: 1 eV adpt_smr_max=1.0_dp call param_get_keyword('adpt_smr_max',found,r_value=adpt_smr_max) if (adpt_smr_max <= 0._dp) & - call io_error('Error: adpt_smr_max must be greater than zero') + call io_error('Error: adpt_smr_max must be greater than zero') ! By default: if adpt_smr is manually set to false by the user, but he/she doesn't ! define smr_fixed_en_width: NO smearing, i.e. just the histogram smr_fixed_en_width=0.0_dp call param_get_keyword('smr_fixed_en_width',found,r_value=smr_fixed_en_width) if (found .and. (smr_fixed_en_width < 0._dp)) & - call io_error('Error: smr_fixed_en_width must be greater than or equal to zero') + call io_error('Error: smr_fixed_en_width must be greater than or equal to zero') ! [gp-end] @@ -1119,7 +1156,7 @@ subroutine param_read ( ) call param_get_keyword('gyrotropic_task',found,c_value=gyrotropic_task) gyrotropic_box(:,:)=0.0 gyrotropic_degen_thresh=0.0_dp - call param_get_keyword('gyrotropic_degen_thresh',found,r_value=gyrotropic_degen_thresh) + call param_get_keyword('gyrotropic_degen_thresh',found,r_value=gyrotropic_degen_thresh) do i=1,3 gyrotropic_box(i,i)=1.0_dp @@ -1130,7 +1167,7 @@ subroutine param_read ( ) gyrotropic_box_corner(:)=0.0_dp call param_get_keyword_vector('gyrotropic_box_center',found,3,r_value=gyrotropic_box_tmp) if (found) gyrotropic_box_corner(:)=gyrotropic_box_tmp(:)-0.5*(gyrotropic_box(1,:)+gyrotropic_box(2,:)+gyrotropic_box(3,:)) - + call param_get_range_vector('gyrotropic_band_list',found,gyrotropic_num_bands,lcount=.true.) if(found) then if(gyrotropic_num_bands<1) call io_error('Error: problem reading gyrotropic_band_list') @@ -1154,7 +1191,7 @@ subroutine param_read ( ) smr_max_arg=5.0 call param_get_keyword('smr_max_arg',found,r_value=smr_max_arg) if (found .and. ( smr_max_arg <= 0._dp)) & - call io_error('Error: smr_max_arg must be greater than zero') + call io_error('Error: smr_max_arg must be greater than zero') gyrotropic_smr_max_arg = smr_max_arg call param_get_keyword('gyrotropic_smr_max_arg',found,& @@ -1179,13 +1216,13 @@ subroutine param_read ( ) i_value=berry_curv_adpt_kmesh) if (berry_curv_adpt_kmesh<1)& call io_error(& - 'Error: berry_curv_adpt_kmesh must be a positive integer') + 'Error: berry_curv_adpt_kmesh must be a positive integer') berry_curv_adpt_kmesh_thresh = 100.0_dp call param_get_keyword('berry_curv_adpt_kmesh_thresh',found,& r_value=berry_curv_adpt_kmesh_thresh) - berry_curv_unit = 'ang2' + berry_curv_unit = 'ang2' call param_get_keyword('berry_curv_unit',found,c_value=berry_curv_unit) if (berry_curv_unit.ne.'ang2' .and. berry_curv_unit.ne.'bohr2') & call io_error& @@ -1232,11 +1269,11 @@ subroutine param_read ( ) scissors_shift=0.0_dp call param_get_keyword('scissors_shift',found,& - r_value=scissors_shift) + r_value=scissors_shift) spin_moment = .false. call param_get_keyword('spin_moment',found,& - l_value=spin_moment) + l_value=spin_moment) spin_axis_polar=0.0_dp call param_get_keyword('spin_axis_polar',found,& @@ -1247,7 +1284,7 @@ subroutine param_read ( ) r_value=spin_axis_azimuth) spin_decomp = .false. - call param_get_keyword('spin_decomp',found,l_value=spin_decomp) + call param_get_keyword('spin_decomp',found,l_value=spin_decomp) if (spin_decomp .and. (num_elec_per_state .ne. 1)) then call io_error('spin_decomp can be true only if num_elec_per_state is 1') @@ -1257,13 +1294,13 @@ subroutine param_read ( ) call param_get_keyword('use_degen_pert',found,& l_value=use_degen_pert) - degen_thr = 1.0d-4 + degen_thr = 1.0d-4 call param_get_keyword('degen_thr',found,r_value=degen_thr) kpath = .false. - call param_get_keyword('kpath',found,l_value=kpath) + call param_get_keyword('kpath',found,l_value=kpath) - kpath_task='bands' + kpath_task='bands' call param_get_keyword('kpath_task',found,c_value=kpath_task) if(kpath .and. index(kpath_task,'bands')==0 .and.& index(kpath_task,'curv')==0 .and.& @@ -1274,9 +1311,9 @@ subroutine param_read ( ) call param_get_keyword('kpath_num_points',found,& i_value=kpath_num_points) if (kpath_num_points<0)& - call io_error('Error: kpath_num_points must be positive') + call io_error('Error: kpath_num_points must be positive') - kpath_bands_colour='none' + kpath_bands_colour='none' call param_get_keyword('kpath_bands_colour',found,& c_value=kpath_bands_colour) if(kpath .and. index(kpath_bands_colour,'none')==0 .and.& @@ -1304,7 +1341,7 @@ subroutine param_read ( ) if(index(dos_task,'dos_plot')>0) dos_plot=.true. if(index(dos_task,'find_fermi_energy')>0 .and. found_fermi_energy)& call io_error& - ('Error: Cannot set "dos_task = find_fermi_energy" and give a value to "fermi_energy"') + ('Error: Cannot set "dos_task = find_fermi_energy" and give a value to "fermi_energy"') end if ! sigma_abc_onlyorb=.false. @@ -1323,18 +1360,18 @@ subroutine param_read ( ) dos_adpt_smr_fac = adpt_smr_fac call param_get_keyword('dos_adpt_smr_fac',found,r_value=dos_adpt_smr_fac) if (found .and. (dos_adpt_smr_fac <= 0._dp)) & - call io_error('Error: dos_adpt_smr_fac must be greater than zero') + call io_error('Error: dos_adpt_smr_fac must be greater than zero') dos_adpt_smr_max = adpt_smr_max call param_get_keyword('dos_adpt_smr_max',found,r_value=dos_adpt_smr_max) if (dos_adpt_smr_max <= 0._dp) call io_error& ('Error: dos_adpt_smr_max must be greater than zero') - + dos_smr_fixed_en_width = smr_fixed_en_width call param_get_keyword('dos_smr_fixed_en_width',found,r_value=dos_smr_fixed_en_width) if (found .and. (dos_smr_fixed_en_width < 0._dp)) & - call io_error('Error: dos_smr_fixed_en_width must be greater than or equal to zero') + call io_error('Error: dos_smr_fixed_en_width must be greater than or equal to zero') ! dos_gaussian_width = 0.1_dp ! call param_get_keyword('dos_gaussian_width',found,r_value=dos_gaussian_width) @@ -1375,7 +1412,7 @@ subroutine param_read ( ) write_tb = .false. call param_get_keyword('write_tb',found,l_value=write_tb) - + hr_cutoff = 0.0_dp call param_get_keyword('hr_cutoff',found,r_value=hr_cutoff) @@ -1406,12 +1443,12 @@ subroutine param_read ( ) use_ws_distance = .false. call param_get_keyword('use_ws_distance',found,l_value=use_ws_distance) - + ws_distance_tol = 1.e-5_dp call param_get_keyword('ws_distance_tol', found, r_value=ws_distance_tol) !%%%%%%%%%%%%%%%% - ! Transport + ! Transport !%%%%%%%%%%%%%%%% transport_mode = 'bulk' @@ -1450,7 +1487,7 @@ subroutine param_read ( ) tran_num_bandc = 0 call param_get_keyword('tran_num_bandc',found,i_value=tran_num_bandc) - tran_write_ht = .false. + tran_write_ht = .false. call param_get_keyword('tran_write_ht',found,l_value=tran_write_ht) tran_use_same_lead = .true. @@ -1487,7 +1524,7 @@ subroutine param_read ( ) if ( tran_group_threshold < 0.0_dp ) call io_error('Error: tran_group_threshold < 0') endif - if (transport .and. tran_read_ht) goto 302 + if (transport .and. tran_read_ht) goto 302 !%%%%%%%%%%%%%%%% ! Disentanglement @@ -1500,13 +1537,13 @@ subroutine param_read ( ) geninterp = .false. call param_get_keyword('geninterp', found, l_value=geninterp) boltzwann = .false. - call param_get_keyword('boltzwann',found,l_value=boltzwann) + call param_get_keyword('boltzwann',found,l_value=boltzwann) ! Read the eigenvalues from wannier.eig eig_found=.false. if(.not.library .and. .not.effective_model) then - + if(.not.postproc_setup) then inquire(file=trim(seedname)//'.eig',exist=eig_found) if(.not. eig_found) then @@ -1534,7 +1571,7 @@ subroutine param_read ( ) write(stdout,'(a)') 'A common cause of this error is using the wrong' write(stdout,'(a)') 'number of bands. Check your input files.' write(stdout,'(a)') 'If your pseudopotentials have shallow core states remember' - write(stdout,'(a)') 'to account for these electrons.' + write(stdout,'(a)') 'to account for these electrons.' write(stdout,'(a)') ' ' call io_error('param_read: mismatch in '//trim(seedname)//'.eig') end if @@ -1548,7 +1585,7 @@ subroutine param_read ( ) if(library .and. allocated(eigval) ) eig_found=.true. dis_win_min=-1.0_dp;dis_win_max=0.0_dp - if(eig_found) dis_win_min = minval(eigval) + if(eig_found) dis_win_min = minval(eigval) call param_get_keyword('dis_win_min',found,r_value=dis_win_min) if(eig_found) dis_win_max = maxval(eigval) @@ -1560,7 +1597,7 @@ subroutine param_read ( ) ! no default for dis_froz_max frozen_states=.false. call param_get_keyword('dis_froz_max',found,r_value=dis_froz_max) - if (found) then + if (found) then frozen_states=.true. dis_froz_min = dis_win_min ! default value for the bottom of frozen window end if @@ -1574,7 +1611,7 @@ subroutine param_read ( ) dis_num_iter = 200 call param_get_keyword('dis_num_iter',found,i_value=dis_num_iter) - if (dis_num_iter<0) call io_error('Error: dis_num_iter must be positive') + if (dis_num_iter<0) call io_error('Error: dis_num_iter must be positive') dis_mix_ratio = 0.5_dp call param_get_keyword('dis_mix_ratio',found,r_value=dis_mix_ratio) @@ -1582,13 +1619,13 @@ subroutine param_read ( ) call io_error('Error: dis_mix_ratio must be greater than 0.0 but not greater than 1.0') - dis_conv_tol = 1.0e-10_dp + dis_conv_tol = 1.0e-10_dp call param_get_keyword('dis_conv_tol',found,r_value=dis_conv_tol) if (dis_conv_tol<0.0_dp) call io_error('Error: dis_conv_tol must be positive') - dis_conv_window=3 + dis_conv_window=3 call param_get_keyword('dis_conv_window',found,i_value=dis_conv_window) - if (dis_conv_window<0) call io_error('Error: dis_conv_window must be positive') + if (dis_conv_window<0) call io_error('Error: dis_conv_window must be positive') ! GS-start dis_spheres_first_wann = 1 @@ -1653,7 +1690,7 @@ subroutine param_read ( ) boltz_dos_energy_step=0.001_dp call param_get_keyword('boltz_dos_energy_step',found,r_value=boltz_dos_energy_step) if (found .and. (boltz_dos_energy_step <= 0._dp)) & - call io_error('Error: boltz_dos_energy_step must be positive') + call io_error('Error: boltz_dos_energy_step must be positive') if(allocated(eigval)) then boltz_dos_energy_min = minval(eigval)-0.6667_dp @@ -1672,15 +1709,15 @@ subroutine param_read ( ) end if call param_get_keyword('boltz_dos_energy_max',found,r_value=boltz_dos_energy_max) if (boltz_dos_energy_max <= boltz_dos_energy_min) & - call io_error('Error: boltz_dos_energy_max must be greater than boltz_dos_energy_min') - + call io_error('Error: boltz_dos_energy_max must be greater than boltz_dos_energy_min') + boltz_dos_adpt_smr = adpt_smr call param_get_keyword('boltz_dos_adpt_smr',found,l_value=boltz_dos_adpt_smr) boltz_dos_adpt_smr_fac = adpt_smr_fac call param_get_keyword('boltz_dos_adpt_smr_fac',found,r_value=boltz_dos_adpt_smr_fac) if (found .and. (boltz_dos_adpt_smr_fac <= 0._dp)) & - call io_error('Error: boltz_dos_adpt_smr_fac must be greater than zero') + call io_error('Error: boltz_dos_adpt_smr_fac must be greater than zero') boltz_dos_adpt_smr_max = adpt_smr_max call param_get_keyword('boltz_dos_adpt_smr_max',found,r_value=boltz_dos_adpt_smr_max) @@ -1691,7 +1728,7 @@ subroutine param_read ( ) boltz_dos_smr_fixed_en_width = smr_fixed_en_width call param_get_keyword('boltz_dos_smr_fixed_en_width',found,r_value=boltz_dos_smr_fixed_en_width) if (found .and. (boltz_dos_smr_fixed_en_width < 0._dp)) & - call io_error('Error: boltz_dos_smr_fixed_en_width must be greater than or equal to zero') + call io_error('Error: boltz_dos_smr_fixed_en_width must be greater than or equal to zero') boltz_mu_min=-999._dp call param_get_keyword('boltz_mu_min',found,r_value=boltz_mu_min) @@ -1700,7 +1737,7 @@ subroutine param_read ( ) boltz_mu_max=-999._dp call param_get_keyword('boltz_mu_max',found2,r_value=boltz_mu_max) if ((.not.found2).and.boltzwann) & - call io_error('Error: BoltzWann required but no boltz_mu_max provided') + call io_error('Error: BoltzWann required but no boltz_mu_max provided') if (found .and. found2 .and. (boltz_mu_max < boltz_mu_min)) & call io_error('Error: boltz_mu_max must be greater than boltz_mu_min') boltz_mu_step=0._dp @@ -1713,11 +1750,11 @@ subroutine param_read ( ) boltz_temp_min=-999._dp call param_get_keyword('boltz_temp_min',found,r_value=boltz_temp_min) if ((.not.found).and.boltzwann) & - call io_error('Error: BoltzWann required but no boltz_temp_min provided') + call io_error('Error: BoltzWann required but no boltz_temp_min provided') boltz_temp_max=-999._dp call param_get_keyword('boltz_temp_max',found2,r_value=boltz_temp_max) if ((.not.found2).and.boltzwann) & - call io_error('Error: BoltzWann required but no boltz_temp_max provided') + call io_error('Error: BoltzWann required but no boltz_temp_max provided') if (found .and. found2 .and. (boltz_temp_max < boltz_temp_min)) & call io_error('Error: boltz_temp_max must be greater than boltz_temp_min') if (found .and. (boltz_temp_min <= 0._dp)) & @@ -1742,29 +1779,29 @@ subroutine param_read ( ) boltz_TDF_smr_fixed_en_width = smr_fixed_en_width call param_get_keyword('boltz_tdf_smr_fixed_en_width',found,r_value=boltz_TDF_smr_fixed_en_width) if (found .and. (boltz_TDF_smr_fixed_en_width < 0._dp)) & - call io_error('Error: boltz_TDF_smr_fixed_en_width must be greater than or equal to zero') + call io_error('Error: boltz_TDF_smr_fixed_en_width must be greater than or equal to zero') - ! By default: use the "global" smearing index + ! By default: use the "global" smearing index boltz_TDF_smr_index = smr_index call param_get_keyword('boltz_tdf_smr_type',found,c_value=ctmp) if (found) boltz_TDF_smr_index = get_smearing_index(ctmp,'boltz_tdf_smr_type') - ! By default: use the "global" smearing index + ! By default: use the "global" smearing index boltz_dos_smr_index = smr_index call param_get_keyword('boltz_dos_smr_type',found,c_value=ctmp) if (found) boltz_dos_smr_index = get_smearing_index(ctmp,'boltz_dos_smr_type') - ! By default: use the "global" smearing index + ! By default: use the "global" smearing index dos_smr_index = smr_index call param_get_keyword('dos_smr_type',found,c_value=ctmp) if (found) dos_smr_index = get_smearing_index(ctmp,'dos_smr_type') - ! By default: use the "global" smearing index + ! By default: use the "global" smearing index kubo_smr_index = smr_index call param_get_keyword('kubo_smr_type',found,c_value=ctmp) if (found) kubo_smr_index = get_smearing_index(ctmp,'kubo_smr_type') - ! By default: use the "global" smearing index + ! By default: use the "global" smearing index gyrotropic_smr_index = smr_index call param_get_keyword('gyrotropic_smr_type',found,c_value=ctmp) if (found) gyrotropic_smr_index = get_smearing_index(ctmp,'gyrotropic_smr_type') @@ -1786,7 +1823,7 @@ subroutine param_read ( ) if (boltz_bandshift .and. (.not.found)) & call io_error('Error: boltz_bandshift required but no boltz_bandshift_energyshift provided') ! [gp-end, Apr 12, 2012] - + !%%%%%%%%%%%%%%%% ! Other Stuff @@ -1832,7 +1869,7 @@ subroutine param_read ( ) else kubo_freq_max = dis_win_max-dis_win_min+0.6667_dp end if - gyrotropic_freq_max = kubo_freq_max + gyrotropic_freq_max = kubo_freq_max call param_get_keyword('kubo_freq_max',found,r_value=kubo_freq_max) @@ -1913,7 +1950,7 @@ subroutine param_read ( ) search_shells = 12 call param_get_keyword('search_shells',found,i_value=search_shells) - if (search_shells<0) call io_error('Error: search_shells must be positive') + if (search_shells<0) call io_error('Error: search_shells must be positive') kmesh_tol=0.000001_dp call param_get_keyword('kmesh_tol',found,r_value=kmesh_tol) @@ -1947,7 +1984,7 @@ subroutine param_read ( ) ! By default: .false. (perform the tests) skip_B1_tests = .false. call param_get_keyword('skip_b1_tests', found, l_value=skip_B1_tests) - + !vv: SCDM flags scdm_proj = .false. scdm_mu = 0._dp @@ -1981,7 +2018,7 @@ subroutine param_read ( ) endif call param_get_keyword('scdm_mu',found,r_value=scdm_mu) call param_get_keyword('scdm_sigma',found,r_value=scdm_sigma) - if (found .and. (scdm_sigma <= 0._dp)) & + if (found .and. (scdm_sigma <= 0._dp)) & call io_error('Error: The parameter sigma in the SCDM method must be positive.') call param_get_keyword_block('unit_cell_cart',found,3,3,r_value=real_lattice_tmp) @@ -2015,12 +2052,12 @@ subroutine param_read ( ) kpt_cart(:,nkp)=matmul(kpt_latt(:,nkp),recip_lattice(:,:)) end do endif - + ! get the nnkpts block -- this is allowed only in postproc-setup mode call param_get_block_length('nnkpts', explicit_nnkpts, rows) if(explicit_nnkpts) then nntot = rows / num_kpts - if (modulo(rows, num_kpts) /= 0) then + if (modulo(rows, num_kpts) /= 0) then call io_error('The number of rows in nnkpts must be a multiple of num_kpts') end if if (allocated(nnkpts_block)) deallocate(nnkpts_block) @@ -2075,7 +2112,7 @@ subroutine param_read ( ) if (kmesh_spacing .le. 0._dp) & call io_error('Error: kmesh_spacing must be greater than zero') global_kmesh_set = .true. - + call internal_set_kmesh(kmesh_spacing,recip_lattice,kmesh) end if call param_get_vector_length('kmesh',found,length=i) @@ -2088,7 +2125,7 @@ subroutine param_read ( ) kmesh(2) = kmesh(1) kmesh(3) = kmesh(1) elseif (i.eq.3) then - global_kmesh_set = .true. + global_kmesh_set = .true. call param_get_keyword_vector('kmesh',found,3,i_value=kmesh) else call io_error('Error: kmesh must be provided as either one integer or a vector of three integers') @@ -2147,33 +2184,48 @@ subroutine param_read ( ) ! Projections call param_get_block_length('projections',found,i_temp) + if (guiding_centres .and. .not. found .and. .not.(gamma_only.and.use_bloch_phases)) & + call io_error('param_read: Guiding centres requested, but no projection block found') + ! check to see that there are no unrecognised keywords if (found) then ! if (scdm_proj) then ! call io_error('param_read: Can not specify the projection block and scdm_proj=true at the same time.') - ! else + ! else call param_get_projections ! end if + ! Constrain centres + end if + + call param_get_block_length('slwf_centres',found,i_temp) + if (found) then + if( selective_loc .and. slwf_constrain .and. allocated(proj_site)) then + ! Centre constraints block + call param_get_centre_constraints + else + call io_error('Error: found in input file and either no slwf_num, & + & or slwf_constrain=true or a projection_block.') + end if + else + if( selective_loc .and. slwf_constrain .and. allocated(proj_site)) & + write(stdout, '(a)') ' No slwf_centres block. Desired centres are the same as projection centres' end if - if (guiding_centres .and. .not. found .and. .not.(gamma_only.and.use_bloch_phases)) & - call io_error('param_read: Guiding centres requested, but no projection block found') - ! check to see that there are no unrecognised keywords 302 continue if ( any(len_trim(in_data(:))>0 ) ) then write(stdout,'(1x,a)') 'The following section of file '//trim(seedname)//'.win contained unrecognised keywords' - write(stdout,*) + write(stdout,*) do loop=1,num_lines if (len_trim(in_data(loop))>0) then write(stdout,'(1x,a)') trim(in_data(loop)) end if end do - write(stdout,*) + write(stdout,*) call io_error('Unrecognised keyword(s) in input file, see also output file') end if - if (transport .and. tran_read_ht) goto 303 + if (transport .and. tran_read_ht) goto 303 ! For aesthetic purposes, convert some things to uppercase call param_uppercase() @@ -2183,7 +2235,7 @@ subroutine param_read ( ) deallocate(in_data,stat=ierr) if (ierr/=0) call io_error('Error deallocating in_data in param_read') - if (transport .and. tran_read_ht) return + if (transport .and. tran_read_ht) return ! =============================== ! ! Some checks and initialisations ! @@ -2199,7 +2251,7 @@ subroutine param_read ( ) allocate(lwindow(num_bands,num_kpts),stat=ierr) if (ierr/=0) call io_error('Error allocating lwindow in param_read') endif - + ! if ( wannier_plot .and. (index(wannier_plot_format,'cub').ne.0) ) then ! cosa(1)=dot_product(real_lattice(1,:),real_lattice(2,:)) ! cosa(2)=dot_product(real_lattice(1,:),real_lattice(3,:)) @@ -2228,7 +2280,7 @@ subroutine param_read ( ) 105 call io_error('Error: Problem opening eigenvalue file '//trim(seedname)//'.eig') 106 call io_error('Error: Problem reading eigenvalue file '//trim(seedname)//'.eig') - + end subroutine param_read subroutine internal_set_kmesh(spacing,reclat,mesh) @@ -2242,7 +2294,7 @@ subroutine internal_set_kmesh(spacing,reclat,mesh) !! * 'b_3' = (recip_lattice(3,I), i=1,3) !! !! spacing must be > 0 (and in particular different from zero). We don't check this here. - !! + !! implicit none real(kind=dp), intent(in) :: spacing !! Minimum spacing between neighboring points, in angstrom^(-1) @@ -2253,7 +2305,7 @@ subroutine internal_set_kmesh(spacing,reclat,mesh) real(kind=dp), dimension(3) :: blen integer :: i - + do i=1,3 blen(i) = sqrt(sum(reclat(i,:)**2)) end do @@ -2266,11 +2318,11 @@ end subroutine internal_set_kmesh subroutine get_module_kmesh(moduleprefix,should_be_defined,module_kmesh,module_kmesh_spacing) !! This function reads and sets the interpolation mesh variables needed by a given module - !> + !> !! This function MUST be called after having read the global kmesh and kmesh_spacing!! !! if the user didn't provide an interpolation_mesh_spacing, it is set to -1, so that !! one can check in the code what the user asked for - !! The function takes care also of setting the default value to the global one if no local + !! The function takes care also of setting the default value to the global one if no local !! keyword is defined use w90_io, only : io_error character(len=*), intent(in) :: moduleprefix @@ -2297,7 +2349,7 @@ subroutine get_module_kmesh(moduleprefix,should_be_defined,module_kmesh,module_k if (found) then if (module_kmesh_spacing .le. 0._dp) & call io_error('Error: ' // trim(moduleprefix)//'_kmesh_spacing must be greater than zero') - + call internal_set_kmesh(module_kmesh_spacing,recip_lattice,module_kmesh) end if call param_get_vector_length(trim(moduleprefix)//'_kmesh',found2,length=i) @@ -2325,10 +2377,10 @@ subroutine get_module_kmesh(moduleprefix,should_be_defined,module_kmesh,module_k module_kmesh = kmesh ! I set also boltz_kmesh_spacing so that I can check if it is < 0 or not, and if it is ! > 0 I can print on output the mesh spacing that was chosen - module_kmesh_spacing = kmesh_spacing + module_kmesh_spacing = kmesh_spacing else if (should_be_defined) & - call io_error('Error: ' // trim(moduleprefix) //' module required, but no interpolation mesh given.') + call io_error('Error: ' // trim(moduleprefix) //' module required, but no interpolation mesh given.') end if end if end subroutine get_module_kmesh @@ -2380,13 +2432,13 @@ end function param_get_convention_type function get_smearing_index(string,keyword) - !! This function parses a string containing the type of + !! This function parses a string containing the type of !! smearing and returns the correct index for the smearing_index variable ! !! If the string is not valid, an io_error is issued use w90_io, only: io_error character(len=*), intent(in) :: string - !! The string read from input + !! The string read from input character(len=*), intent(in) :: keyword !! The keyword that was read (e.g., smr_type), so that we can print a more useful error message integer :: get_smearing_index @@ -2401,7 +2453,7 @@ function get_smearing_index(string,keyword) pos = index(string,'m-p') if (len(trim(string(pos+3:))).eq.0) then ! If the string is only 'm-p', we assume that 'm-p1' was intended - get_smearing_index = 1 + get_smearing_index = 1 else read(string(pos+3:),*,err=337) get_smearing_index if (get_smearing_index < 0) & @@ -2413,7 +2465,7 @@ function get_smearing_index(string,keyword) elseif(index(string,'cold')>0) then get_smearing_index = -1 elseif(index(string,'gauss')>0) then - get_smearing_index = 0 + get_smearing_index = 0 ! Unrecognised keyword else call io_error('Unrecognised value for keyword ' // trim(keyword)) @@ -2429,9 +2481,9 @@ end function get_smearing_index subroutine param_uppercase !=================================================================== ! ! - !! Convert a few things to uppercase to look nice in the output + !! Convert a few things to uppercase to look nice in the output ! ! - !=================================================================== + !=================================================================== implicit none @@ -2439,7 +2491,7 @@ subroutine param_uppercase ! Atom labels (eg, si --> Si) do nsp=1,num_species - ic=ichar(atoms_label(nsp)(1:1)) + ic=ichar(atoms_label(nsp)(1:1)) if ((ic.ge.ichar('a')).and.(ic.le.ichar('z'))) & atoms_label(nsp)(1:1) = char(ic+ichar('Z')-ichar('z')) enddo @@ -2474,9 +2526,9 @@ end subroutine param_uppercase subroutine param_write !==================================================================! ! ! - !! write wannier90 parameters to stdout + !! write wannier90 parameters to stdout ! ! - !=================================================================== + !=================================================================== implicit none @@ -2486,19 +2538,19 @@ subroutine param_write ! System write(stdout,*) - write(stdout,'(36x,a6)') '------' - write(stdout,'(36x,a6)') 'SYSTEM' - write(stdout,'(36x,a6)') '------' + write(stdout,'(36x,a6)') '------' + write(stdout,'(36x,a6)') 'SYSTEM' + write(stdout,'(36x,a6)') '------' write(stdout,*) if (lenconfac.eq.1.0_dp) then - write(stdout,'(30x,a21)') 'Lattice Vectors (Ang)' + write(stdout,'(30x,a21)') 'Lattice Vectors (Ang)' else - write(stdout,'(28x,a22)') 'Lattice Vectors (Bohr)' + write(stdout,'(28x,a22)') 'Lattice Vectors (Bohr)' endif write(stdout,101) 'a_1',(real_lattice(1,I)*lenconfac, i=1,3) write(stdout,101) 'a_2',(real_lattice(2,I)*lenconfac, i=1,3) write(stdout,101) 'a_3',(real_lattice(3,I)*lenconfac, i=1,3) - write(stdout,*) + write(stdout,*) write(stdout,'(19x,a17,3x,f11.5)',advance='no') & 'Unit Cell Volume:',cell_volume*lenconfac**3 if (lenconfac.eq.1.0_dp) then @@ -2506,7 +2558,7 @@ subroutine param_write else write(stdout,'(2x,a8)') '(Bohr^3)' endif - write(stdout,*) + write(stdout,*) if (lenconfac.eq.1.0_dp) then write(stdout,'(24x,a33)') 'Reciprocal-Space Vectors (Ang^-1)' else @@ -2536,7 +2588,18 @@ subroutine param_write else write(stdout,'(25x,a)') 'No atom positions specified' end if - write(stdout,*) ' ' + ! Constrained centres + if (selective_loc .and. slwf_constrain) then + write(stdout,*) ' ' + write(stdout,'(1x,a)') '*----------------------------------------------------------------------------*' + write(stdout,'(1x,a)') '| Wannier# Original Centres Constrained centres |' + write(stdout,'(1x,a)') '+----------------------------------------------------------------------------+' + do i=1,slwf_num + write(stdout,'(1x,a1,2x,i3,2x,3F10.5,3x,a1,1x,3F10.5,4x,a1)') & +& '|',i,ccentres_frac(i,:),'|',wannier_centres(:,i),'|' + end do + write(stdout,'(1x,a)') '*----------------------------------------------------------------------------*' + end if ! Projections if(iprint>1 .and. allocated(proj_site) ) then write(stdout,'(32x,a)') '-----------' @@ -2583,19 +2646,20 @@ subroutine param_write write(stdout,*) ' ' write(stdout,'(1x,a78)') '*---------------------------------- MAIN ------------------------------------*' write(stdout,'(1x,a46,10x,I8,13x,a1)') '| Number of Wannier Functions :',num_wann,'|' + write(stdout,'(1x,a46,10x,I8,13x,a1)') '| Number of Objective Wannier Functions :',slwf_num,'|' write(stdout,'(1x,a46,10x,I8,13x,a1)') '| Number of input Bloch states :',num_bands,'|' write(stdout,'(1x,a46,10x,I8,13x,a1)') '| Output verbosity (1=low, 5=high) :',iprint,'|' write(stdout,'(1x,a46,10x,I8,13x,a1)') '| Timing Level (1=low, 5=high) :',timing_level,'|' write(stdout,'(1x,a46,10x,I8,13x,a1)') '| Optimisation (0=memory, 3=speed) :',optimisation,'|' - write(stdout,'(1x,a46,10x,a8,13x,a1)') '| Length Unit :',trim(length_unit),'|' + write(stdout,'(1x,a46,10x,a8,13x,a1)') '| Length Unit :',trim(length_unit),'|' write(stdout,'(1x,a46,10x,L8,13x,a1)') '| Post-processing setup (write *.nnkp) :',postproc_setup,'|' write(stdout,'(1x,a46,10x,L8,13x,a1)') '| Using Gamma-only branch of algorithms :',gamma_only,'|' !YN: RS: if(lsitesymmetry) then write(stdout,'(1x,a46,10x,L8,13x,a1)') '| Using symmetry-adapted WF mode :',lsitesymmetry,'|' write(stdout,'(1x,a46,8x,E10.3,13x,a1)') '| Tolerance for symmetry condition on U :',symmetrize_eps,'|' - endif - + endif + if(cp_pp .or. iprint>2) & write(stdout,'(1x,a46,10x,L8,13x,a1)') '| CP code post-processing :',cp_pp,'|' if(wannier_plot .or. iprint>2) then @@ -2605,11 +2669,11 @@ subroutine param_write write(stdout,'(1x,a46,7x,a11,13x,a1)') '| Wavefunction (UNK) file-type :','unformatted','|' endif if(spin==1) then - write(stdout,'(1x,a46,16x,a2,13x,a1)') '| Wavefunction spin channel :','up','|' + write(stdout,'(1x,a46,16x,a2,13x,a1)') '| Wavefunction spin channel :','up','|' else - write(stdout,'(1x,a46,14x,a4,13x,a1)') '| Wavefunction spin channel :','down','|' + write(stdout,'(1x,a46,14x,a4,13x,a1)') '| Wavefunction spin channel :','down','|' endif - endif + endif write(stdout,'(1x,a78)') '*----------------------------------------------------------------------------*' @@ -2620,7 +2684,7 @@ subroutine param_write if (lfixstep) then write(stdout,'(1x,a46,10x,f8.3,13x,a1)') '| Fixed step length for minimisation :',fixed_step,'|' else - write(stdout,'(1x,a46,10x,f8.3,13x,a1)') '| Trial step length for line search :',trial_step,'|' + write(stdout,'(1x,a46,10x,f8.3,13x,a1)') '| Trial step length for line search :',trial_step,'|' endif write(stdout,'(1x,a46,8x,E10.3,13x,a1)') '| Convergence tolerence :',conv_tol,'|' write(stdout,'(1x,a46,10x,I8,13x,a1)') '| Convergence window :',conv_window,'|' @@ -2628,13 +2692,21 @@ subroutine param_write write(stdout,'(1x,a46,10x,I8,13x,a1)') '| Iterations between backing up to disk :',num_dump_cycles,'|' write(stdout,'(1x,a46,10x,L8,13x,a1)') '| Write r^2_nm to file :',write_r2mn,'|' write(stdout,'(1x,a46,10x,L8,13x,a1)') '| Write xyz WF centres to file :',write_xyz,'|' - write(stdout,'(1x,a46,10x,L8,13x,a1)') '| Write on-site energies <0n|H|0n> to file :',write_hr_diag,'|' + write(stdout,'(1x,a46,10x,L8,13x,a1)') '| Write on-site energies <0n|H|0n> to file :',write_hr_diag,'|' write(stdout,'(1x,a46,10x,L8,13x,a1)') '| Use guiding centre to control phases :',guiding_centres,'|' write(stdout,'(1x,a46,10x,L8,13x,a1)') '| Use phases for initial projections :',use_bloch_phases,'|' if(guiding_centres .or. iprint>2) then write(stdout,'(1x,a46,10x,I8,13x,a1)') '| Iterations before starting guiding centres:',num_no_guide_iter,'|' write(stdout,'(1x,a46,10x,I8,13x,a1)') '| Iterations between using guiding centres :',num_guide_cycles,'|' end if + if(selective_loc .or. iprint>2) then + write(stdout,'(1x,a46,10x,L8,13x,a1)') '| Perform selective localization :',selective_loc,'|' + end if + if(slwf_constrain .or. iprint>2) then + write(stdout,'(1x,a46,10x,L8,13x,a1)') '| Use constrains in selective localization :',slwf_constrain,'|' + write(stdout,'(1x,a46,8x,E10.3,13x,a1)') '| Value of the Lagrange multiplier :',& + &slwf_lambda,'|' + end if write(stdout,'(1x,a78)') '*----------------------------------------------------------------------------*' ! ! Disentanglement @@ -2674,8 +2746,8 @@ subroutine param_write wannier_plot_supercell(3),'|' if (translate_home_cell) then - write(stdout,'(1x,a46,10x,L8,13x,a1)') & - '| Translating WFs to home cell :',translate_home_cell,'|' + write(stdout,'(1x,a46,10x,L8,13x,a1)') & + '| Translating WFs to home cell :',translate_home_cell,'|' end if write(stdout,'(1x,a46,10x,a8,13x,a1)') '| Plotting mode (molecule or crystal) :',trim(wannier_plot_mode),'|' @@ -2770,7 +2842,7 @@ subroutine param_write if (size(fermi_energy_list) == 1) then write(stdout,'(1x,a46,10x,f8.3,13x,a1)') '| Fermi energy (eV) :',fermi_energy_list(1), '|' - else + else write(stdout,'(1x,a21,I8,a12,f8.3,a4,f8.3,a3,13x,a1)') '| Fermi energy :', size(fermi_energy_list),& ' steps from ', fermi_energy_list(1), ' to ', & fermi_energy_list(size(fermi_energy_list)), ' eV', '|' @@ -2788,9 +2860,9 @@ end subroutine param_write subroutine param_postw90_write !==================================================================! ! ! - !! write postw90 parameters to stdout + !! write postw90 parameters to stdout ! ! - !=================================================================== + !=================================================================== implicit none @@ -2798,19 +2870,19 @@ subroutine param_postw90_write ! System write(stdout,*) - write(stdout,'(36x,a6)') '------' - write(stdout,'(36x,a6)') 'SYSTEM' - write(stdout,'(36x,a6)') '------' + write(stdout,'(36x,a6)') '------' + write(stdout,'(36x,a6)') 'SYSTEM' + write(stdout,'(36x,a6)') '------' write(stdout,*) if (lenconfac.eq.1.0_dp) then - write(stdout,'(30x,a21)') 'Lattice Vectors (Ang)' + write(stdout,'(30x,a21)') 'Lattice Vectors (Ang)' else - write(stdout,'(28x,a22)') 'Lattice Vectors (Bohr)' + write(stdout,'(28x,a22)') 'Lattice Vectors (Bohr)' endif write(stdout,101) 'a_1',(real_lattice(1,I)*lenconfac, i=1,3) write(stdout,101) 'a_2',(real_lattice(2,I)*lenconfac, i=1,3) write(stdout,101) 'a_3',(real_lattice(3,I)*lenconfac, i=1,3) - write(stdout,*) + write(stdout,*) write(stdout,'(19x,a17,3x,f11.5)',advance='no') & 'Unit Cell Volume:',cell_volume*lenconfac**3 if (lenconfac.eq.1.0_dp) then @@ -2818,7 +2890,7 @@ subroutine param_postw90_write else write(stdout,'(2x,a8)') '(Bohr^3)' endif - write(stdout,*) + write(stdout,*) if (lenconfac.eq.1.0_dp) then write(stdout,'(24x,a33)') 'Reciprocal-Space Vectors (Ang^-1)' else @@ -2884,7 +2956,7 @@ subroutine param_postw90_write if (size(fermi_energy_list) == 1) then write(stdout,'(1x,a46,10x,f8.3,13x,a1)') '| Fermi energy (eV) :',fermi_energy_list(1), '|' - else + else write(stdout,'(1x,a21,I8,a12,f8.3,a4,f8.3,a3,13x,a1)') '| Fermi energy :', size(fermi_energy_list),& ' steps from ', fermi_energy_list(1), ' to ', & fermi_energy_list(size(fermi_energy_list)), ' eV', '|' @@ -2893,7 +2965,7 @@ subroutine param_postw90_write write(stdout,'(1x,a46,10x,I8,13x,a1)') '| Output verbosity (1=low, 5=high) :',iprint,'|' write(stdout,'(1x,a46,10x,I8,13x,a1)') '| Timing Level (1=low, 5=high) :',timing_level,'|' write(stdout,'(1x,a46,10x,I8,13x,a1)') '| Optimisation (0=memory, 3=speed) :',optimisation,'|' - write(stdout,'(1x,a46,10x,a8,13x,a1)') '| Length Unit :',trim(length_unit),'|' + write(stdout,'(1x,a46,10x,a8,13x,a1)') '| Length Unit :',trim(length_unit),'|' write(stdout,'(1x,a78)') '*----------------------------------------------------------------------------*' write(stdout,'(1x,a78)') '*------------------------ Global Smearing Parameters ------------------------*' if(adpt_smr) then @@ -3207,10 +3279,10 @@ subroutine param_postw90_write write(stdout,'(1x,a78)') '*----------------------------------------------------------------------------*' endif - + 101 format(20x,a3,2x,3F11.6) - + end subroutine param_postw90_write subroutine param_write_header @@ -3259,9 +3331,9 @@ subroutine param_write_header write(stdout,*) ' | Dominik Gresch (ETH Zurich) |' write(stdout,*) ' | Samuel Ponce (University of Oxford) |' write(stdout,*) ' | Marco Gibertini (EPFL) |' - write(stdout,*) ' | Christian Stieger (ETHZ, CH) |' - write(stdout,*) ' | Stepan Tsirkin (Universidad del Pais Vasco) |' - write(stdout,*) ' | |' + write(stdout,*) ' | Christian Stieger (ETHZ, CH) |' + write(stdout,*) ' | Stepan Tsirkin (Universidad del Pais Vasco) |' + write(stdout,*) ' | |' write(stdout,*) ' | Wannier77 Authors: |' write(stdout,*) ' | Nicola Marzari (EPFL) |' write(stdout,*) ' | Ivo Souza (Universidad del Pais Vasco) |' @@ -3335,9 +3407,9 @@ end subroutine param_write_header subroutine param_dealloc !==================================================================! ! ! - !! release memory from allocated parameters + !! release memory from allocated parameters ! ! - !=================================================================== + !=================================================================== use w90_io, only : io_error implicit none @@ -3421,7 +3493,7 @@ subroutine param_dealloc end if if ( allocated( proj_x ) ) then deallocate( proj_x, stat=ierr ) - if (ierr/=0) call io_error('Error in deallocating proj_x in param_dealloc') + if (ierr/=0) call io_error('Error in deallocating proj_x in param_dealloc') end if if ( allocated( proj_radial ) ) then deallocate( proj_radial, stat=ierr ) @@ -3467,7 +3539,14 @@ subroutine param_dealloc deallocate( dis_spheres, stat=ierr ) if (ierr/=0) call io_error('Error in deallocating dis_spheres in param_dealloc') endif - + if( allocated( ccentres_frac ) ) then + deallocate( ccentres_frac,stat=ierr) + if (ierr/=0) call io_error('Error deallocating ccentres_frac in param_dealloc') + endif + if( allocated( ccentres_cart ) ) then + deallocate( ccentres_cart,stat=ierr) + if (ierr/=0) call io_error('Error deallocating ccentres_cart in param_dealloc') + end if return end subroutine param_dealloc @@ -3496,7 +3575,7 @@ end subroutine param_dealloc !~ open(unit=um_unit,file=trim(seedname)//'_um.dat',form='unformatted') !~ write(um_unit) header !~ write(um_unit) omega_invariant -!~ write(um_unit) num_wann,num_kpts,num_nnmax +!~ write(um_unit) num_wann,num_kpts,num_nnmax !~ write(um_unit) (((u_matrix(i,j,k),i=1,num_wann),j=1,num_wann),k=1,num_kpts) !~ write(um_unit) ((((m_matrix(i,j,k,l),i=1,num_wann),j=1,num_wann),k=1,nntot),l=1,num_kpts) !~ close(um_unit) @@ -3517,7 +3596,7 @@ end subroutine param_dealloc !~ use w90_io, only : io_file_unit,io_error,seedname !~ implicit none !~ -!~ integer :: tmp_num_wann,tmp_num_kpts,tmp_num_nnmax +!~ integer :: tmp_num_wann,tmp_num_kpts,tmp_num_nnmax !~ integer :: i,j,k,l,um_unit,ierr !~ character(len=33) :: header !~ real(kind=dp) :: tmp_omi @@ -3525,13 +3604,13 @@ end subroutine param_dealloc !~ um_unit=io_file_unit() !~ open(unit=um_unit,file=trim(seedname)//'_um.dat',status="old",form='unformatted',err=105) !~ read(um_unit) header -!~ write(stdout,'(1x,4(a))') 'Reading U and M from file ',trim(seedname),'_um.dat ', header +!~ write(stdout,'(1x,4(a))') 'Reading U and M from file ',trim(seedname),'_um.dat ', header !~ read(um_unit) tmp_omi !~ if ( have_disentangled ) then !~ if ( abs(tmp_omi-omega_invariant).gt.1.0e-10_dp ) & !~ call io_error('Error in restart: omega_invariant in .chk and um.dat files do not match') !~ endif -!~ read(um_unit) tmp_num_wann,tmp_num_kpts,tmp_num_nnmax +!~ read(um_unit) tmp_num_wann,tmp_num_kpts,tmp_num_nnmax !~ if(tmp_num_wann/=num_wann) call io_error('Error in param_read_um: num_wann mismatch') !~ if(tmp_num_kpts/=num_kpts) call io_error('Error in param_read_um: num_kpts mismatch') !~ if(tmp_num_nnmax/=num_nnmax) call io_error('Error in param_read_um: num_nnmax mismatch') @@ -3558,9 +3637,9 @@ end subroutine param_dealloc !=================================================! subroutine param_write_chkpt(chkpt) !=================================================! - !! Write checkpoint file + !! Write checkpoint file !! IMPORTANT! If you change the chkpt format, adapt - !! accordingly also the w90chk2chk.x utility! + !! accordingly also the w90chk2chk.x utility! !=================================================! use w90_io, only : io_file_unit,io_date,seedname @@ -3585,7 +3664,7 @@ subroutine param_write_chkpt(chkpt) write(chk_unit) header ! Date and time write(chk_unit) num_bands ! Number of bands write(chk_unit) num_exclude_bands ! Number of excluded bands - write(chk_unit) (exclude_bands(i),i=1,num_exclude_bands) ! Excluded bands + write(chk_unit) (exclude_bands(i),i=1,num_exclude_bands) ! Excluded bands write(chk_unit) ((real_lattice(i,j),i=1,3),j=1,3) ! Real lattice write(chk_unit) ((recip_lattice(i,j),i=1,3),j=1,3) ! Reciprocal lattice write(chk_unit) num_kpts ! Number of k-points @@ -3598,7 +3677,7 @@ subroutine param_write_chkpt(chkpt) write(chk_unit) have_disentangled ! Whether a disentanglement has been performed if (have_disentangled) then write(chk_unit) omega_invariant ! Omega invariant - ! lwindow, ndimwin and U_matrix_opt + ! lwindow, ndimwin and U_matrix_opt write(chk_unit) ((lwindow(i,nkp),i=1,num_bands),nkp=1,num_kpts) write(chk_unit) (ndimwin(nkp),nkp=1,num_kpts) write(chk_unit) (((u_matrix_opt(i,j,nkp),i=1,num_bands),j=1,num_wann),nkp=1,num_kpts) @@ -3619,7 +3698,7 @@ end subroutine param_write_chkpt !=================================================! subroutine param_read_chkpt() !=================================================! - !! Read checkpoint file + !! Read checkpoint file !! IMPORTANT! If you change the chkpt format, adapt !! accordingly also the w90chk2chk.x utility! !! @@ -3658,7 +3737,7 @@ subroutine param_read_chkpt() do i=1,num_exclude_bands if (tmp_excl_bands(i).ne.exclude_bands(i)) & call io_error('param_read_chk: Mismatch in exclude_bands') - enddo + enddo read(chk_unit) ((tmp_latt(i,j),i=1,3),j=1,3) ! Real lattice do j=1,3 do i=1,3 @@ -3744,7 +3823,7 @@ subroutine param_read_chkpt() ! wannier_centres read(chk_unit,err=127) ((wannier_centres(i,j),i=1,3),j=1,num_wann) - + ! wannier spreads read(chk_unit,err=128) (wannier_spreads(i),i=1,num_wann) @@ -3757,7 +3836,7 @@ subroutine param_read_chkpt() 121 if (ispostw90) then call io_error('Error opening '//trim(seedname)//'.chk in param_read_chkpt: did you run wannier90.x first?') else - call io_error('Error opening '//trim(seedname)//'.chk in param_read_chkpt') + call io_error('Error opening '//trim(seedname)//'.chk in param_read_chkpt') end if 122 call io_error('Error reading lwindow from '//trim(seedname)//'.chk in param_read_chkpt') 123 call io_error('Error reading ndimwin from '//trim(seedname)//'.chk in param_read_chkpt') @@ -3802,7 +3881,7 @@ subroutine param_chkpt_dist ! call io_error('Error allocating m_matrix in param_chkpt_dist') ! endif ! call comms_bcast(m_matrix(1,1,1,1),num_wann*num_wann*nntot*num_kpts) - + call comms_bcast(have_disentangled,1) if (have_disentangled) then @@ -3813,19 +3892,19 @@ subroutine param_chkpt_dist if (ierr/=0)& call io_error('Error allocating u_matrix_opt in param_chkpt_dist') endif - + if (.not.allocated(lwindow)) then allocate(lwindow(num_bands,num_kpts),stat=ierr) if (ierr/=0)& call io_error('Error allocating lwindow in param_chkpt_dist') endif - + if (.not.allocated(ndimwin)) then allocate(ndimwin(num_kpts),stat=ierr) if (ierr/=0)& call io_error('Error allocating ndimwin in param_chkpt_dist') endif - + end if call comms_bcast(u_matrix_opt(1,1,1),num_bands*num_wann*num_kpts) @@ -3841,10 +3920,10 @@ end subroutine param_chkpt_dist !=======================================! subroutine param_in_file !=======================================! - !! Load the *.win file into a character - !! array in_file, ignoring comments and - !! blank lines and converting everything - !! to lowercase characters + !! Load the *.win file into a character + !! array in_file, ignoring comments and + !! blank lines and converting everything + !! to lowercase characters !=======================================! use w90_io, only : io_file_unit,io_error,seedname @@ -3993,7 +4072,7 @@ end subroutine param_get_keyword subroutine param_get_keyword_vector(keyword,found,length,c_value,l_value,i_value,r_value) !=========================================================================================! ! ! - !! Finds the values of the required keyword vector + !! Finds the values of the required keyword vector ! ! !=========================================================================================! @@ -4067,7 +4146,7 @@ end subroutine param_get_keyword_vector subroutine param_get_vector_length(keyword,found,length) !======================================================! ! ! - !! Returns the length of a keyword vector + !! Returns the length of a keyword vector ! ! !======================================================! @@ -4111,7 +4190,7 @@ subroutine param_get_vector_length(keyword,found,length) if (len_trim(dummy)==0) call io_error('Error: keyword '//trim(keyword)//' is blank') length=1 dummy=adjustl(dummy) - do + do pos=index(dummy,' ') dummy=dummy(pos+1:) dummy=adjustl(dummy) @@ -4137,7 +4216,7 @@ end subroutine param_get_vector_length subroutine param_get_keyword_block(keyword,found,rows,columns,c_value,l_value,i_value,r_value) !==============================================================================================! ! ! - !! Finds the values of the required data block + !! Finds the values of the required data block ! ! !==============================================================================================! @@ -4219,15 +4298,15 @@ subroutine param_get_keyword_block(keyword,found,rows,columns,c_value,l_value,i_ ! if ( index(trim(keyword),'unit_cell_cart').ne.0 ) then ! if ( blen /= rows+1 ) call io_error('Error: Wrong number of lines in block '//trim(keyword)) ! else - ! call io_error('Error: Wrong number of lines in block '//trim(keyword)) + ! call io_error('Error: Wrong number of lines in block '//trim(keyword)) ! endif ! endif if ( (blen.ne.rows) .and. (blen.ne.rows+1) ) & - call io_error('Error: Wrong number of lines in block '//trim(keyword)) + call io_error('Error: Wrong number of lines in block '//trim(keyword)) if ( (blen.eq.rows+1) .and. (index(trim(keyword),'unit_cell_cart').eq.0) ) & - call io_error('Error: Wrong number of lines in block '//trim(keyword)) + call io_error('Error: Wrong number of lines in block '//trim(keyword)) found=.true. @@ -4281,7 +4360,7 @@ end subroutine param_get_keyword_block subroutine param_get_block_length(keyword,found,rows,lunits) !=====================================================! ! ! - !! Finds the length of the data block + !! Finds the length of the data block ! ! !=====================================================! @@ -4395,7 +4474,7 @@ end subroutine param_get_block_length subroutine param_get_atoms(lunits) !===================================! ! ! - !! Fills the atom data block + !! Fills the atom data block ! ! !===================================! @@ -4515,7 +4594,7 @@ subroutine param_get_atoms(lunits) do loop=2,num_atoms do loop2=1,loop-1 if( trim(atoms_label_tmp(loop))==trim(atoms_label_tmp(loop2) )) exit - if (loop2==loop-1) then + if (loop2==loop-1) then num_species=num_species+1 ctemp(num_species)=atoms_label_tmp(loop) end if @@ -4557,7 +4636,7 @@ subroutine param_get_atoms(lunits) end do ! Strip any numeric characters from atoms_label to get atoms_symbol - do loop=1,num_species + do loop=1,num_species atoms_symbol(loop)(1:2)=atoms_label(loop)(1:2) ic=ichar(atoms_symbol(loop)(2:2)) if ((ic.lt.ichar('a')).or.(ic.gt.ichar('z'))) & @@ -4574,7 +4653,7 @@ end subroutine param_get_atoms subroutine param_lib_set_atoms(atoms_label_tmp,atoms_pos_cart_tmp) !=====================================================! ! ! - !! Fills the atom data block during a library call + !! Fills the atom data block during a library call ! ! !=====================================================! @@ -4598,14 +4677,14 @@ subroutine param_lib_set_atoms(atoms_label_tmp,atoms_pos_cart_tmp) call utility_cart_to_frac(atoms_pos_cart_tmp(:,loop),& atoms_pos_frac_tmp(:,loop),recip_lattice) enddo - + ! Now we sort the data into the proper structures num_species=1 ctemp(1)=atoms_label_tmp(1) do loop=2,num_atoms do loop2=1,loop-1 if( trim(atoms_label_tmp(loop))==trim(atoms_label_tmp(loop2) )) exit - if (loop2==loop-1) then + if (loop2==loop-1) then num_species=num_species+1 ctemp(num_species)=atoms_label_tmp(loop) end if @@ -4634,7 +4713,7 @@ subroutine param_lib_set_atoms(atoms_label_tmp,atoms_pos_cart_tmp) if (ierr/=0) call io_error('Error allocating atoms_pos_frac in param_lib_set_atoms') allocate(atoms_pos_cart(3,max_sites,num_species),stat=ierr) if (ierr/=0) call io_error('Error allocating atoms_pos_cart in param_lib_set_atoms') - + do loop=1,num_species counter=0 do loop2=1,num_atoms @@ -4647,7 +4726,7 @@ subroutine param_lib_set_atoms(atoms_label_tmp,atoms_pos_cart_tmp) end do ! Strip any numeric characters from atoms_label to get atoms_symbol - do loop=1,num_species + do loop=1,num_species atoms_symbol(loop)(1:2)=atoms_label(loop)(1:2) ic=ichar(atoms_symbol(loop)(2:2)) if ((ic.lt.ichar('a')).or.(ic.gt.ichar('z'))) & @@ -4667,8 +4746,8 @@ end subroutine param_lib_set_atoms !====================================================================! subroutine param_get_range_vector(keyword,found,length,lcount,i_value) !====================================================================! - !! Read a range vector eg. 1,2,3,4-10 or 1 3 400:100 - !! if(lcount) we return the number of states in length + !! Read a range vector eg. 1,2,3,4-10 or 1 3 400:100 + !! if(lcount) we return the number of states in length !====================================================================! use w90_io, only : io_error @@ -4694,7 +4773,7 @@ subroutine param_get_range_vector(keyword,found,length,lcount,i_value) character(len=5) , parameter :: c_punc=" ,;-:" character(len=5) :: c_num1,c_num2 - + if(lcount .and. present(i_value) ) call io_error('param_get_range_vector: incorrect call') kl=len_trim(keyword) @@ -4722,9 +4801,9 @@ subroutine param_get_range_vector(keyword,found,length,lcount,i_value) counter=0 if (len_trim(dummy)==0) call io_error('Error: keyword '//trim(keyword)//' is blank') dummy=adjustl(dummy) - do + do i_punc=scan(dummy,c_punc) - if(i_punc==0) call io_error('Error parsing keyword '//trim(keyword)) + if(i_punc==0) call io_error('Error parsing keyword '//trim(keyword)) c_num1=dummy(1:i_punc-1) read(c_num1,*,err=101,end=101) num1 dummy=adjustl(dummy(i_punc:)) @@ -4742,19 +4821,19 @@ subroutine param_get_range_vector(keyword,found,length,lcount,i_value) if(.not. lcount) i_value(counter)=min(num1,num2)+loop_r-1 end do else - counter=counter+1 + counter=counter+1 if(.not. lcount) i_value(counter)=num1 end if if(scan(dummy,c_sep)==1) dummy=adjustl(dummy(2:)) - if(scan(dummy,c_range)==1) call io_error('Error parsing keyword '//trim(keyword)//' incorrect range') + if(scan(dummy,c_range)==1) call io_error('Error parsing keyword '//trim(keyword)//' incorrect range') if(index(dummy,' ')==1) exit end do if(lcount) length=counter if(.not.lcount) then do loop=1,counter-1 - do loop_r=loop+1,counter + do loop_r=loop+1,counter if(i_value(loop)==i_value(loop_r)) & call io_error('Error parsing keyword '//trim(keyword)//' duplicate values') end do @@ -4768,11 +4847,106 @@ subroutine param_get_range_vector(keyword,found,length,lcount,i_value) end subroutine param_get_range_vector + subroutine param_get_centre_constraints + !=============================================================================! + ! ! + !! assigns projection centres as default centre constraints and global + !! Lagrange multiplier as individual Lagrange multipliers then reads + !! the centre_constraints block for individual centre constraint parameters + ! ! + !=============================================================================! + use w90_io, only : io_error + use w90_utility, only : utility_frac_to_cart + integer :: loop1, index1, constraint_num, index2, loop2 + integer :: column, start, finish, wann, ierr + !logical :: found + character(len=maxlen) :: dummy + + do loop1=1, num_wann + do loop2=1,3 + ccentres_frac(loop1, loop2) = proj_site(loop2, loop1) + end do + end do + + constraint_num = 0 + do loop1=1, num_lines + dummy = in_data(loop1) + if (constraint_num > 0) then + if (trim(dummy) == '') cycle + index1 = index(dummy, 'begin') + if (index1 > 0) call io_error("slwf_centres block hasn't ended yet") + index1 = index(dummy, 'end') + if (index1 > 0) then + index1 = index(dummy, 'slwf_centres') + if (index1 == 0) call io_error('Wrong ending of block (need to end slwf_centres)') + in_data(loop1)(1:maxlen) = ' ' + exit + end if + column = 0 + start = 1 + finish = 1 + do loop2=1, len_trim(dummy) + if (start == loop2 .and. dummy(loop2:loop2) == ' ') then + start = loop2 + 1 + end if + if (start < loop2) then + if (dummy(loop2:loop2) == ' ') then + finish = loop2 - 1 + call param_get_centre_constraint_from_column(column, start, finish, wann, dummy) + start = loop2 + 1 + finish = start + end if + end if + if (loop2 == len_trim(dummy) .and. dummy(loop2:loop2) /= ' ') then + finish = loop2 + call param_get_centre_constraint_from_column(column, start, finish, wann, dummy) + start = loop2 + 1 + finish = start + end if + end do + in_data(loop1)(1:maxlen) = ' ' + constraint_num = constraint_num + 1 + end if + index1 = index(dummy, 'slwf_centres') + if (index1 > 0) then + index1 = index(dummy, 'begin') + if (index1 > 0) then + constraint_num = 1 + in_data(loop1)(1:maxlen) = ' ' + end if + end if + end do + do loop1=1, num_wann + call utility_frac_to_cart(ccentres_frac(loop1,:), ccentres_cart(loop1,:), real_lattice) + end do + end subroutine param_get_centre_constraints + + subroutine param_get_centre_constraint_from_column(column, start, finish, wann, dummy) + !===================================! + ! ! + !! assigns value read to constraint + !! parameters based on column + ! ! + !===================================! + use w90_io, only : io_error + integer, intent(inout):: column, start, finish, wann + character(len=maxlen), intent(inout):: dummy + if (column == 0) then + read(dummy(start:finish), '(i3)') wann + end if + if (column > 0) then + if (column > 4) call io_error("Didn't expect anything else after Lagrange multiplier") + if (column < 4) read(dummy(start:finish), '(f10.10)') ccentres_frac(wann, column) + end if + column = column + 1 + end subroutine param_get_centre_constraint_from_column + + !===================================! subroutine param_get_projections !===================================! ! ! - !! Fills the projection data block + !! Fills the projection data block ! ! !===================================! @@ -4829,9 +5003,9 @@ subroutine param_get_projections allocate( proj_site(3,num_proj),stat=ierr) - if (ierr/=0) call io_error('Error allocating proj_site in param_get_projections') + if (ierr/=0) call io_error('Error allocating proj_site in param_get_projections') allocate( proj_l(num_proj) ,stat=ierr) - if (ierr/=0) call io_error('Error allocating proj_l in param_get_projections') + if (ierr/=0) call io_error('Error allocating proj_l in param_get_projections') allocate( proj_m(num_proj) ,stat=ierr) if (ierr/=0) call io_error('Error allocating proj_m in param_get_projections') allocate( proj_z(3,num_proj) ,stat=ierr) @@ -4918,9 +5092,9 @@ subroutine param_get_projections do line=line_s+1,line_e-1 ang_states=0 !Assume the default values - proj_z_tmp = proj_z_def - proj_x_tmp = proj_x_def - proj_zona_tmp = proj_zona_def + proj_z_tmp = proj_z_def + proj_x_tmp = proj_x_def + proj_zona_tmp = proj_zona_def proj_radial_tmp = proj_radial_def if(spinors) then proj_s_qaxis_tmp = proj_s_qaxis_def @@ -4944,7 +5118,7 @@ subroutine param_get_projections ctemp=ctemp(3:) call utility_string_to_coord(ctemp,pos_cart) if (lconvert) pos_cart = pos_cart * bohr - call utility_cart_to_frac (pos_cart(:),pos_frac(:),recip_lattice) + call utility_cart_to_frac (pos_cart(:),pos_frac(:),recip_lattice) elseif(index(ctemp,'f=')>0) then sites=-1 ctemp=ctemp(3:) @@ -5283,7 +5457,7 @@ subroutine param_get_projections end do end do end if - + end do !end loop over projection block ! check there are enough projections and add random projections if required @@ -5292,17 +5466,17 @@ subroutine param_get_projections 'param_get_projections: Fewer projections defined than the number of Wannier functions requested') end if end if ! .not. lrandom - + if (lpartrandom .or. lrandom) then call random_seed() ! comment out this line for reproducible random positions! do loop=counter+1,num_proj call random_number(proj_site(:,loop)) proj_l(loop) = 0 proj_m(loop) = 1 - proj_z(:,loop) = proj_z_def - proj_x(:,loop) = proj_x_def - proj_zona(loop) = proj_zona_def - proj_radial(loop) = proj_radial_def + proj_z(:,loop) = proj_z_def + proj_x(:,loop) = proj_x_def + proj_zona(loop) = proj_zona_def + proj_radial(loop) = proj_radial_def if (spinors) then if (modulo(loop, 2) == 1) then proj_s(loop) = 1 @@ -5333,7 +5507,7 @@ subroutine param_get_projections xnorm=sqrt(sum(proj_x(:,loop)*proj_x(:,loop))) proj_z(:,loop)=proj_z(:,loop)/znorm ! normalise z proj_x(:,loop)=proj_x(:,loop)/xnorm ! normalise x - cosphi=sum(proj_z(:,loop)*proj_x(:,loop)) + cosphi=sum(proj_z(:,loop)*proj_x(:,loop)) ! Check whether z-axis and z-axis are orthogonal if ( abs(cosphi).gt.eps6 ) then @@ -5355,7 +5529,7 @@ subroutine param_get_projections ! If projection axes non-orthogonal enough, then ! user may have made a mistake and should check - if ( abs(cosphi).gt.eps2 ) then + if ( abs(cosphi).gt.eps2 ) then write(stdout,*) ' Projection:',loop call io_error(' Error in projections: z and x axes are not orthogonal') endif @@ -5396,7 +5570,7 @@ end subroutine param_get_projections subroutine param_get_keyword_kpath !===================================! ! ! - !! Fills the kpath data block + !! Fills the kpath data block ! ! !===================================! use w90_io, only : io_error @@ -5492,24 +5666,24 @@ subroutine param_memory_estimate integer :: NumPoints1,NumPoints2,NumPoints3,ndim real(kind=dp) :: TDF_exceeding_energy - mem_param=0 - mem_dis=0 - mem_dis1=0 - mem_dis2=0 - mem_wan=0 - mem_wan1=0 + mem_param=0 + mem_dis=0 + mem_dis1=0 + mem_dis2=0 + mem_wan=0 + mem_wan1=0 mem_bw=0 ! First the data stored in the parameters module mem_param= mem_param+num_wann*num_wann*num_kpts*size_cmplx !u_matrix if(.not.disentanglement) & mem_param= mem_param+ num_wann*num_wann*nntot*num_kpts*size_cmplx !m_matrix - + if (disentanglement) then mem_param= mem_param+ num_bands*num_wann*num_kpts*size_cmplx ! u_matrix_opt endif - if(allocated(atoms_species_num))then + if(allocated(atoms_species_num))then mem_param= mem_param+(num_species)*size_int !atoms_species_num mem_param= mem_param+(num_species)*size_real !atoms_label mem_param= mem_param+(num_species)*size_real !atoms_symbol @@ -5517,7 +5691,7 @@ subroutine param_memory_estimate mem_param= mem_param+(3*maxval(atoms_species_num)*num_species)*size_real !atoms_pos_cart endif - if(allocated(proj_site))then + if(allocated(proj_site))then mem_param= mem_param+ (3*num_proj)*size_real !proj_site mem_param= mem_param+ (num_proj) *size_int !proj_l mem_param= mem_param+ (num_proj)*size_int !proj_m @@ -5570,7 +5744,7 @@ subroutine param_memory_estimate mem_dis1=mem_dis1+(num_bands*(num_bands+1))/2*size_cmplx !cap mem_dis1=mem_dis1+2*num_bands*size_cmplx !cwork mem_dis1=mem_dis1+num_bands*num_bands*size_cmplx !cz - end if + end if mem_dis1=mem_dis1+num_kpts*size_real !wkomegai1 mem_dis1=mem_dis1+num_bands*num_bands*num_kpts*size_cmplx !ceamp mem_dis1=mem_dis1+num_bands*num_bands*num_kpts*size_cmplx !cham @@ -5590,30 +5764,30 @@ subroutine param_memory_estimate !Wannierise - mem_wan1=mem_wan1+(num_wann*num_wann*nntot*num_kpts)*size_cmplx ! 'm0' + mem_wan1=mem_wan1+(num_wann*num_wann*nntot*num_kpts)*size_cmplx ! 'm0' if(optimisation>0) then mem_wan=mem_wan+mem_wan1 endif - mem_wan=mem_wan+(num_wann* num_wann* num_kpts)*size_cmplx ! 'u0' - mem_wan=mem_wan+(num_wann* nntot* num_kpts)*size_real ! 'rnkb' - mem_wan=mem_wan+(num_wann* nntot* num_kpts)*size_real ! 'ln_tmp' - mem_wan=mem_wan+(num_wann* nntot* num_kpts)*size_cmplx ! 'csheet' - mem_wan=mem_wan+(num_wann* nntot* num_kpts)*size_real ! 'sheet' - mem_wan=mem_wan+(3* num_wann)*size_real ! 'rave' - mem_wan=mem_wan+(num_wann) *size_real ! 'r2ave' - mem_wan=mem_wan+(num_wann) *size_real ! 'rave2' - mem_wan=mem_wan+(3* num_wann) *size_real ! 'rguide' + mem_wan=mem_wan+(num_wann* num_wann* num_kpts)*size_cmplx ! 'u0' + mem_wan=mem_wan+(num_wann* nntot* num_kpts)*size_real ! 'rnkb' + mem_wan=mem_wan+(num_wann* nntot* num_kpts)*size_real ! 'ln_tmp' + mem_wan=mem_wan+(num_wann* nntot* num_kpts)*size_cmplx ! 'csheet' + mem_wan=mem_wan+(num_wann* nntot* num_kpts)*size_real ! 'sheet' + mem_wan=mem_wan+(3* num_wann)*size_real ! 'rave' + mem_wan=mem_wan+(num_wann) *size_real ! 'r2ave' + mem_wan=mem_wan+(num_wann) *size_real ! 'rave2' + mem_wan=mem_wan+(3* num_wann) *size_real ! 'rguide' mem_wan=mem_wan+ (num_wann* num_wann) *size_cmplx ! 'cz' if(gamma_only) then mem_wan=mem_wan + num_wann*num_wann*nntot*2*size_cmplx ! m_w - mem_wan=mem_wan + num_wann*num_wann*size_cmplx ! uc_rot - mem_wan=mem_wan + num_wann*num_wann*size_real ! ur_rot + mem_wan=mem_wan + num_wann*num_wann*size_cmplx ! uc_rot + mem_wan=mem_wan + num_wann*num_wann*size_real ! ur_rot !internal_svd_omega_i - mem_wan=mem_wan + 10*num_wann*size_cmplx ! cw1 + mem_wan=mem_wan + 10*num_wann*size_cmplx ! cw1 mem_wan=mem_wan + 10*num_wann*size_cmplx ! cw2 - mem_wan=mem_wan + num_wann*num_wann*size_cmplx ! cv1 - mem_wan=mem_wan + num_wann*num_wann*size_cmplx ! cv2 - mem_wan=mem_wan + num_wann*num_wann*size_real ! cpad1 + mem_wan=mem_wan + num_wann*num_wann*size_cmplx ! cv1 + mem_wan=mem_wan + num_wann*num_wann*size_cmplx ! cv2 + mem_wan=mem_wan + num_wann*num_wann*size_real ! cpad1 mem_wan=mem_wan + num_wann*size_cmplx ! singvd else mem_wan=mem_wan+ (num_wann)*size_cmplx ! 'cwschur1' @@ -5628,8 +5802,8 @@ subroutine param_memory_estimate mem_wan=mem_wan+ (4*num_wann)*size_cmplx ! 'cwork' mem_wan=mem_wan+ (3*num_wann-2)*size_real ! 'rwork' !d_omega - mem_wan=mem_wan+(num_wann* num_wann) *size_cmplx ! 'cr' - mem_wan=mem_wan+(num_wann* num_wann)*size_cmplx ! 'crt' + mem_wan=mem_wan+(num_wann* num_wann) *size_cmplx ! 'cr' + mem_wan=mem_wan+(num_wann* num_wann)*size_cmplx ! 'crt' end if if(ispostw90) then @@ -5639,7 +5813,7 @@ subroutine param_memory_estimate else ndim=1 end if - + ! I set a big value to have a rough estimate TDF_exceeding_energy = 2._dp @@ -5652,7 +5826,7 @@ subroutine param_memory_estimate mem_bw=mem_bw+NumPoints3*size_real !TDFEnergyArray mem_bw=mem_bw+6*NumPoints3*ndim*size_real !TDFArray mem_bw=mem_bw+6*NumPoints3*size_real !IntegrandArray - mem_bw=mem_bw+(9*4+6)*size_real + mem_bw=mem_bw+(9*4+6)*size_real !ElCondTimesSeebeckFP,ThisElCond,ElCondInverse,ThisSeebeck,ElCondTimesSeebeck mem_bw=mem_bw+6*NumPoints1*NumPoints2*size_real !ElCond mem_bw=mem_bw+6*NumPoints1*NumPoints2*size_real !Seebeck @@ -5681,7 +5855,7 @@ subroutine param_memory_estimate if(disentanglement) & mem_wan= mem_wan+ num_wann*num_wann*nntot*num_kpts*size_cmplx !m_matrix - if (on_root) then + if (on_root) then write(stdout,'(1x,a)') '*============================================================================*' write(stdout,'(1x,a)') '| MEMORY ESTIMATE |' write(stdout,'(1x,a)') '| Maximum RAM allocated during each phase of the calculation |' @@ -5738,8 +5912,8 @@ subroutine param_dist integer :: ierr - call comms_bcast(effective_model,1) - call comms_bcast(eig_found,1) + call comms_bcast(effective_model,1) + call comms_bcast(eig_found,1) call comms_bcast(postproc_setup,1) if(.not.effective_model) then call comms_bcast(mp_grid(1),3) @@ -5749,13 +5923,13 @@ subroutine param_dist call comms_bcast(num_wann,1) call comms_bcast(timing_level,1) call comms_bcast(iprint,1) - call comms_bcast(energy_unit,1) - call comms_bcast(length_unit,1) - call comms_bcast(wvfn_formatted,1) - call comms_bcast(spn_formatted,1) - call comms_bcast(uHu_formatted,1) - call comms_bcast(berry_uHu_formatted,1) - call comms_bcast(spin,1) + call comms_bcast(energy_unit,1) + call comms_bcast(length_unit,1) + call comms_bcast(wvfn_formatted,1) + call comms_bcast(spn_formatted,1) + call comms_bcast(uHu_formatted,1) + call comms_bcast(berry_uHu_formatted,1) + call comms_bcast(spin,1) call comms_bcast(num_dump_cycles,1) call comms_bcast(num_print_cycles,1) call comms_bcast(num_atoms,1) ! Ivo: not used in postw90, right? @@ -5768,8 +5942,8 @@ subroutine param_dist call comms_bcast(dos_energy_step,1) call comms_bcast(dos_adpt_smr,1) call comms_bcast(dos_smr_index,1) - call comms_bcast(dos_kmesh_spacing,1) - call comms_bcast(dos_kmesh(1),3) + call comms_bcast(dos_kmesh_spacing,1) + call comms_bcast(dos_kmesh(1),3) call comms_bcast(dos_adpt_smr_max,1) call comms_bcast(dos_smr_fixed_en_width,1) call comms_bcast(dos_adpt_smr_fac,1) @@ -5784,7 +5958,7 @@ subroutine param_dist call comms_bcast(exclude_bands(1),num_exclude_bands) end if - call comms_bcast(gamma_only,1) + call comms_bcast(gamma_only,1) call comms_bcast(dis_win_min,1) call comms_bcast(dis_win_max,1) call comms_bcast(dis_froz_min,1) @@ -5870,10 +6044,10 @@ subroutine param_dist call comms_bcast(gyrotropic_smr_index,1) call comms_bcast(gyrotropic_eigval_max,1) call comms_bcast(gyrotropic_nfreq,1) - call comms_bcast(gyrotropic_degen_thresh,1) - call comms_bcast(gyrotropic_num_bands,1) + call comms_bcast(gyrotropic_degen_thresh,1) + call comms_bcast(gyrotropic_num_bands,1) call comms_bcast(gyrotropic_box(1,1),9) - call comms_bcast(gyrotropic_box_corner(1),3) + call comms_bcast(gyrotropic_box_corner(1),3) call comms_bcast(gyrotropic_smr_max_arg,1) call comms_bcast(gyrotropic_smr_fixed_en_width,1) call comms_bcast(gyrotropic_smr_index,1) @@ -5893,21 +6067,21 @@ subroutine param_dist call comms_bcast(wanint_kpoint_file,1) call comms_bcast(devel_flag,len(devel_flag)) - call comms_bcast(spin_moment,1) - call comms_bcast(spin_axis_polar,1) - call comms_bcast(spin_axis_azimuth,1) + call comms_bcast(spin_moment,1) + call comms_bcast(spin_axis_polar,1) + call comms_bcast(spin_axis_azimuth,1) call comms_bcast(spin_decomp,1) - call comms_bcast(use_degen_pert,1) + call comms_bcast(use_degen_pert,1) call comms_bcast(degen_thr,1) call comms_bcast(num_valence_bands,1) call comms_bcast(dos,1) - call comms_bcast(dos_task,len(dos_task)) - call comms_bcast(kpath,1) - call comms_bcast(kpath_task,len(kpath_task)) - call comms_bcast(kpath_bands_colour,len(kpath_bands_colour)) - call comms_bcast(kslice,1) - call comms_bcast(kslice_task,len(kslice_task)) - call comms_bcast(transl_inv,1) + call comms_bcast(dos_task,len(dos_task)) + call comms_bcast(kpath,1) + call comms_bcast(kpath_task,len(kpath_task)) + call comms_bcast(kpath_bands_colour,len(kpath_bands_colour)) + call comms_bcast(kslice,1) + call comms_bcast(kslice_task,len(kslice_task)) + call comms_bcast(transl_inv,1) call comms_bcast(num_elec_per_state,1) call comms_bcast(scissors_shift,1) ! @@ -5918,37 +6092,37 @@ subroutine param_dist call comms_bcast(geninterp_single_file,1) ! [gp-begin, Apr 12, 2012] ! BoltzWann variables - call comms_bcast(boltzwann,1) - call comms_bcast(boltz_calc_also_dos,1) - call comms_bcast(boltz_2d_dir_num,1) - call comms_bcast(boltz_dos_energy_step,1) - call comms_bcast(boltz_dos_energy_min,1) - call comms_bcast(boltz_dos_energy_max,1) + call comms_bcast(boltzwann,1) + call comms_bcast(boltz_calc_also_dos,1) + call comms_bcast(boltz_2d_dir_num,1) + call comms_bcast(boltz_dos_energy_step,1) + call comms_bcast(boltz_dos_energy_min,1) + call comms_bcast(boltz_dos_energy_max,1) call comms_bcast(boltz_dos_adpt_smr,1) call comms_bcast(boltz_dos_smr_fixed_en_width,1) call comms_bcast(boltz_dos_adpt_smr_fac,1) call comms_bcast(boltz_dos_adpt_smr_max,1) - call comms_bcast(boltz_mu_min,1) - call comms_bcast(boltz_mu_max,1) - call comms_bcast(boltz_mu_step,1) - call comms_bcast(boltz_temp_min,1) - call comms_bcast(boltz_temp_max,1) - call comms_bcast(boltz_temp_step,1) - call comms_bcast(boltz_kmesh_spacing,1) - call comms_bcast(boltz_kmesh(1),3) - call comms_bcast(boltz_tdf_energy_step,1) - call comms_bcast(boltz_relax_time,1) + call comms_bcast(boltz_mu_min,1) + call comms_bcast(boltz_mu_max,1) + call comms_bcast(boltz_mu_step,1) + call comms_bcast(boltz_temp_min,1) + call comms_bcast(boltz_temp_max,1) + call comms_bcast(boltz_temp_step,1) + call comms_bcast(boltz_kmesh_spacing,1) + call comms_bcast(boltz_kmesh(1),3) + call comms_bcast(boltz_tdf_energy_step,1) + call comms_bcast(boltz_relax_time,1) call comms_bcast(boltz_TDF_smr_fixed_en_width,1) call comms_bcast(boltz_TDF_smr_index,1) call comms_bcast(boltz_dos_smr_index,1) - call comms_bcast(boltz_bandshift,1) - call comms_bcast(boltz_bandshift_firstband,1) - call comms_bcast(boltz_bandshift_energyshift,1) + call comms_bcast(boltz_bandshift,1) + call comms_bcast(boltz_bandshift_firstband,1) + call comms_bcast(boltz_bandshift_energyshift,1) ! [gp-end] call comms_bcast(use_ws_distance,1) call comms_bcast(disentanglement,1) - + call comms_bcast(transport,1) call comms_bcast(tran_easy_fix,1) call comms_bcast(transport_mode,len(transport_mode)) @@ -6008,17 +6182,33 @@ subroutine param_dist call comms_bcast(scdm_sigma,1) call comms_bcast(scdm_entanglement,1) + !vv: Constrained centres + call comms_bcast(slwf_num,1) + call comms_bcast(slwf_constrain,1) + call comms_bcast(slwf_lambda,1) + call comms_bcast(selective_loc,1) + if (selective_loc .and. slwf_constrain) then + if(.not.on_root) then + allocate( ccentres_frac(num_wann,3),stat=ierr) + if (ierr/=0) call io_error('Error allocating ccentres_frac in param_get_centre_constraints') + allocate( ccentres_cart(num_wann,3),stat=ierr) + if (ierr/=0) call io_error('Error allocating ccentres_cart in param_get_centre_constraints') + endif + call comms_bcast(ccentres_frac(1,1),3*num_wann) + call comms_bcast(ccentres_cart(1,1),3*num_wann) + end if + call comms_bcast(num_proj,1) if(num_proj>0) then if(.not.on_root) then allocate( proj_site(3,num_proj),stat=ierr) - if (ierr/=0) call io_error('Error allocating proj_site in param_dist') + if (ierr/=0) call io_error('Error allocating proj_site in param_dist') endif call comms_bcast(proj_site(1,1),3*num_proj) endif - ! These variables are different from the ones above in that they are + ! These variables are different from the ones above in that they are ! allocatable, and in param_read they were allocated on the root node only ! if(.not.on_root) then @@ -6061,7 +6251,7 @@ subroutine param_dist call comms_bcast(kpt_latt(1,1),3*num_kpts) endif - + if(.not.effective_model.and..not.explicit_nnkpts) then @@ -6089,7 +6279,7 @@ subroutine param_dist if (ierr/=0)& call io_error('Error in allocating bk in param_dist') end if - + call comms_bcast(nnlist(1,1),num_kpts*nntot) call comms_bcast(neigh(1,1),num_kpts*nntot/2) call comms_bcast(nncell(1,1,1),3*num_kpts*nntot) @@ -6110,8 +6300,8 @@ subroutine param_dist wannier_centres=0.0_dp allocate(wannier_spreads(num_wann),stat=ierr) if (ierr/=0) call io_error('Error in allocating wannier_spreads in param_dist') - wannier_spreads=0.0_dp - if (disentanglement) then + wannier_spreads=0.0_dp + if (disentanglement) then allocate(ndimwin(num_kpts),stat=ierr) if (ierr/=0) call io_error('Error allocating ndimwin in param_dist') allocate(lwindow(num_bands,num_kpts),stat=ierr) @@ -6127,7 +6317,7 @@ subroutine parameters_gyro_write_task(task,key,comment) character(len=*), intent(in) :: task,key,comment character(len=42) :: comment1 - + comment1=comment if((index(task,key)>0) .or.(index(task,'all')>0)) then write(stdout,'(1x,a2,a42,a2,10x,a8,13x,a1)') '| ',comment1, ' :',' T','|' diff --git a/src/wannierise.F90 b/src/wannierise.F90 index 6da67767f..a62b5d9c8 100644 --- a/src/wannierise.F90 +++ b/src/wannierise.F90 @@ -29,8 +29,8 @@ module w90_wannierise public :: wann_main_gamma ![ysl] ! Data to avoid large allocation within iteration loop - real(kind=dp), allocatable :: rnkb (:,:,:) - real(kind=dp), allocatable :: rnkb_loc (:,:,:) + real(kind=dp), allocatable :: rnkb (:,:,:) + real(kind=dp), allocatable :: rnkb_loc (:,:,:) real(kind=dp), allocatable :: ln_tmp(:,:,:) real(kind=dp), allocatable :: ln_tmp_loc(:,:,:) @@ -46,10 +46,11 @@ module w90_wannierise complex(kind=dp), allocatable :: cdodq_loc(:,:,:) integer, allocatable :: counts(:) integer, allocatable :: displs(:) - + logical :: first_pass !! Used to trigger the calculation of the invarient spread !! we only need to do this on entering wann_main (_gamma) + real(kind=dp) :: lambda_loc #ifdef MPI include 'mpif.h' @@ -57,17 +58,23 @@ module w90_wannierise type localisation_vars !! Contributions to the spread - real(kind=dp) :: om_i + real(kind=dp) :: om_i !! Gauge Invarient real(kind=dp) :: om_d !! Diagonal - real(kind=dp) :: om_od + real(kind=dp) :: om_od !! Off-diagonal - real(kind=dp) :: om_tot + real(kind=dp) :: om_tot !! Total -!~ real(kind=dp) :: om_1 -!~ real(kind=dp) :: om_2 -!~ real(kind=dp) :: om_3 + real(kind=dp) :: om_iod + !! Combined I-OD term for selective localization + real(kind=dp) :: om_nu + !! Lagrange multiplier term due to constrained centres + !! real(kind=dp) :: om_c + !! Total spread functional with constraints +!~ real(kind=dp) :: om_1 +!~ real(kind=dp) :: om_2 +!~ real(kind=dp) :: om_3 end type localisation_vars @@ -77,10 +84,10 @@ module w90_wannierise subroutine wann_main !==================================================================! ! ! - !! Calculate the Unitary Rotations to give Maximally Localised Wannier Functions + !! Calculate the Unitary Rotations to give Maximally Localised Wannier Functions ! ! - !=================================================================== - use w90_constants, only : dp,cmplx_1,cmplx_0 + !=================================================================== + use w90_constants, only : dp,cmplx_1,cmplx_0,eps2,eps5,eps8 use w90_io, only : stdout,io_error,io_wallclocktime,io_stopwatch & ,io_file_unit use w90_parameters, only : num_wann,num_cg_steps,num_iter,nnlist, & @@ -91,7 +98,8 @@ subroutine wann_main fixed_step,lfixstep,write_proj,have_disentangled,conv_tol,num_proj, & conv_window,conv_noise_amp,conv_noise_num,wannier_centres,write_xyz, & wannier_spreads,omega_total,omega_tilde,optimisation,write_vdw_data,& - write_hr_diag,kpt_latt + write_hr_diag,kpt_latt, bk, ccentres_cart, slwf_num, selective_loc, & + slwf_constrain, slwf_lambda use w90_utility, only : utility_frac_to_cart,utility_zgemm use w90_parameters, only : lsitesymmetry !RS: use w90_sitesym, only : sitesym_symmetrize_gradient !RS: @@ -109,12 +117,12 @@ subroutine wann_main ! guiding centres - real(kind=dp), allocatable :: rguide (:,:) + real(kind=dp), allocatable :: rguide (:,:) integer :: irguide ! local arrays used and passed in subroutines complex(kind=dp), allocatable :: csheet(:,:,:) - complex(kind=dp), allocatable :: cdodq(:,:,:) + complex(kind=dp), allocatable :: cdodq(:,:,:) complex(kind=dp), allocatable :: cdodq_r(:,:,:) complex(kind=dp), allocatable :: k_to_r(:,:) complex(kind=dp), allocatable :: cdodq_precond(:,:,:) @@ -124,13 +132,13 @@ subroutine wann_main real(kind=dp), dimension(3) :: rvec_cart !local arrays not passed into subroutines - complex(kind=dp), allocatable :: cwschur1 (:), cwschur2 (:) - complex(kind=dp), allocatable :: cwschur3 (:), cwschur4 (:) + complex(kind=dp), allocatable :: cwschur1 (:), cwschur2 (:) + complex(kind=dp), allocatable :: cwschur3 (:), cwschur4 (:) complex(kind=dp), allocatable :: cdq(:,:,:)!,cdqkeep(:,:,:) ! cdqkeep is replaced by cdqkeep_loc complex(kind=dp), allocatable :: cdqkeep_loc(:,:,:) - complex(kind=dp), allocatable :: cz (:,:) - complex(kind=dp), allocatable :: cmtmp(:,:),tmp_cdq(:,:) + complex(kind=dp), allocatable :: cz (:,:) + complex(kind=dp), allocatable :: cmtmp(:,:),tmp_cdq(:,:) ! complex(kind=dp), allocatable :: m0(:,:,:,:),u0(:,:,:) ! m0 and u0 are replaced by m0_loc and u0_loc complex(kind=dp), allocatable :: m0_loc(:,:,:,:),u0_loc(:,:,:) @@ -150,6 +158,9 @@ subroutine wann_main complex(kind=dp) :: fac,rdotk real(kind=dp) :: alpha_precond integer :: irpt,loop_kpt + logical :: cconverged + real(kind=dp) :: glpar, cvalue_new + real(kind=dp), allocatable :: rnr0n2(:) if (timing_level>0.and.on_root) call io_stopwatch('wann: main',1) @@ -167,25 +178,29 @@ subroutine wann_main ! if (ierr/=0) call io_error('Error in allocating m0 in wann_main') ! allocate( u0 (num_wann, num_wann, num_kpts),stat=ierr) ! if (ierr/=0) call io_error('Error in allocating u0 in wann_main') - allocate( rnkb (num_wann, nntot, num_kpts),stat=ierr ) + allocate( rnkb (num_wann, nntot, num_kpts),stat=ierr ) if (ierr/=0) call io_error('Error in allocating rnkb in wann_main') allocate( ln_tmp (num_wann, nntot, num_kpts), stat=ierr ) if (ierr/=0) call io_error('Error in allocating ln_tmp in wann_main') + if (selective_loc) then + allocate( rnr0n2 (slwf_num), stat=ierr) + if (ierr/=0) call io_error('Error in allocating rnr0n2 in wann_main') + end if rnkb=0.0_dp - ! sub vars passed into other subs + ! sub vars passed into other subs allocate( csheet (num_wann, nntot, num_kpts), stat=ierr ) if (ierr/=0) call io_error('Error in allocating csheet in wann_main') - allocate( cdodq (num_wann, num_wann, num_kpts),stat=ierr ) + allocate( cdodq (num_wann, num_wann, num_kpts),stat=ierr ) if (ierr/=0) call io_error('Error in allocating cdodq in wann_main') allocate( sheet (num_wann, nntot, num_kpts), stat=ierr ) if (ierr/=0) call io_error('Error in allocating sheet in wann_main') - allocate( rave (3, num_wann), stat=ierr ) + allocate( rave (3, num_wann), stat=ierr ) if (ierr/=0) call io_error('Error in allocating rave in wann_main') - allocate( r2ave (num_wann),stat=ierr ) + allocate( r2ave (num_wann),stat=ierr ) if (ierr/=0) call io_error('Error in allocating r2ave in wann_main') - allocate( rave2 (num_wann),stat=ierr ) + allocate( rave2 (num_wann),stat=ierr ) if (ierr/=0) call io_error('Error in allocating rave2 in wann_main') allocate( rguide (3, num_wann) ) if (ierr/=0) call io_error('Error in allocating rguide in wann_main') @@ -201,7 +216,7 @@ subroutine wann_main if(optimisation >= 3) then allocate(k_to_r(num_kpts,nrpts),stat=ierr) if (ierr/=0) call io_error('Error in allocating k_to_r in wann_main') - + do irpt=1,nrpts do loop_kpt=1,num_kpts rdotk=twopi*dot_product(kpt_latt(:,loop_kpt),real(irvec(:,irpt),dp)) @@ -219,24 +234,24 @@ subroutine wann_main if (ierr/=0) call io_error('Error in allocating cwshur1 in wann_main') allocate( cwschur3 (num_wann), cwschur4 (num_wann),stat=ierr ) if (ierr/=0) call io_error('Error in allocating cwshur3 in wann_main') - allocate( cdq (num_wann, num_wann, num_kpts),stat=ierr ) + allocate( cdq (num_wann, num_wann, num_kpts),stat=ierr ) if (ierr/=0) call io_error('Error in allocating cdq in wann_main') ! for MPI allocate( counts(0:num_nodes-1), displs(0:num_nodes-1), stat=ierr ) if (ierr/=0) call io_error('Error in allocating counts and displs in wann_main') call comms_array_split(num_kpts,counts,displs) - allocate( rnkb_loc (num_wann, nntot, max(1,counts(my_node_id))),stat=ierr ) + allocate( rnkb_loc (num_wann, nntot, max(1,counts(my_node_id))),stat=ierr ) if (ierr/=0) call io_error('Error in allocating rnkb_loc in wann_main') allocate( ln_tmp_loc (num_wann, nntot, max(1,counts(my_node_id))), stat=ierr ) if (ierr/=0) call io_error('Error in allocating ln_tmp_loc in wann_main') - allocate( u_matrix_loc (num_wann, num_wann, max(1,counts(my_node_id))),stat=ierr ) - if (ierr/=0) call io_error('Error in allocating u_matrix_loc in wann_main') - allocate( m_matrix_loc (num_wann, num_wann, nntot, max(1,counts(my_node_id))),stat=ierr ) + allocate( u_matrix_loc (num_wann, num_wann, max(1,counts(my_node_id))),stat=ierr ) + if (ierr/=0) call io_error('Error in allocating u_matrix_loc in wann_main') + allocate( m_matrix_loc (num_wann, num_wann, nntot, max(1,counts(my_node_id))),stat=ierr ) if (ierr/=0) call io_error('Error in allocating m_matrix_loc in wann_main') -! allocate( m_matrix_1b (num_wann, num_wann, num_kpts),stat=ierr ) +! allocate( m_matrix_1b (num_wann, num_wann, num_kpts),stat=ierr ) ! if (ierr/=0) call io_error('Error in allocating m_matrix_1b in wann_main') -! allocate( m_matrix_1b_loc (num_wann, num_wann, max(1,counts(my_node_id))),stat=ierr ) +! allocate( m_matrix_1b_loc (num_wann, num_wann, max(1,counts(my_node_id))),stat=ierr ) ! if (ierr/=0) call io_error('Error in allocating m_matrix_1b_loc in wann_main') if(precond) then allocate(cdodq_precond_loc(num_wann,num_wann,max(1,counts(my_node_id))),stat=ierr) @@ -253,9 +268,9 @@ subroutine wann_main call comms_scatterv(m_matrix_loc,num_wann*num_wann*nntot*counts(my_node_id),& m_matrix,num_wann*num_wann*nntot*counts,num_wann*num_wann*nntot*displs) - allocate( cdq_loc (num_wann, num_wann, max(1,counts(my_node_id))),stat=ierr ) + allocate( cdq_loc (num_wann, num_wann, max(1,counts(my_node_id))),stat=ierr ) if (ierr/=0) call io_error('Error in allocating cdq_loc in wann_main') - allocate( cdodq_loc (num_wann, num_wann, max(1,counts(my_node_id))),stat=ierr ) + allocate( cdodq_loc (num_wann, num_wann, max(1,counts(my_node_id))),stat=ierr ) if (ierr/=0) call io_error('Error in allocating cdodq_loc in wann_main') allocate( cdqkeep_loc (num_wann, num_wann, max(1,counts(my_node_id))),stat=ierr ) if (ierr/=0) call io_error('Error in allocating cdqkeep_loc in wann_main') @@ -279,10 +294,9 @@ subroutine wann_main allocate( rwork (3*num_wann-2),stat=ierr) if (ierr/=0) call io_error('Error in allocating rwork in wann_main') - cwschur1=cmplx_0; cwschur2=cmplx_0; cwschur3=cmplx_0; cwschur4=cmplx_0 cdq=cmplx_0; cz=cmplx_0; cmtmp=cmplx_0; cdqkeep_loc=cmplx_0; cdq_loc=cmplx_0;! buff=cmplx_0; - + gcnorm1=0.0_dp; gcnorm0=0.0_dp ! initialise rguide to projection centres (Cartesians in units of Ang) @@ -316,14 +330,26 @@ subroutine wann_main irguide=1 endif + ! constrained centres part + lambda_loc = 0.0_dp + if (selective_loc .and. slwf_constrain) then + lambda_loc = slwf_lambda + end if + ! calculate initial centers and spread call wann_omega(csheet,sheet,rave,r2ave,rave2,wann_spread) ! public variables - omega_total = wann_spread%om_tot - omega_invariant = wann_spread%om_i - omega_tilde = wann_spread%om_d + wann_spread%om_od - + if (.not. selective_loc) then + omega_total = wann_spread%om_tot + omega_invariant = wann_spread%om_i + omega_tilde = wann_spread%om_d + wann_spread%om_od + else + omega_total = wann_spread%om_tot + ! omega_invariant = wann_spread%om_iod + ! omega_tilde = wann_spread%om_d + wann_spread%om_nu + end if + ! public arrays of Wannier centres and spreads wannier_centres = rave wannier_spreads = r2ave - rave2 @@ -335,7 +361,7 @@ subroutine wann_main ! print initial state if (on_root) then - write(stdout,'(1x,a78)') repeat('-',78) + write(stdout,'(1x,a78)') repeat('-',78) write(stdout,'(1x,a)') 'Initial State' do iw=1,num_wann write(stdout,1000) iw,(rave(ind,iw)*lenconfac,ind=1,3),& @@ -343,13 +369,33 @@ subroutine wann_main end do write(stdout,1001) (sum(rave(ind,:))*lenconfac,ind=1,3), (sum(r2ave)-sum(rave2))*lenconfac**2 write(stdout,*) - write(stdout,'(1x,i6,2x,E12.3,2x,F15.10,2x,F18.10,3x,F8.2,2x,a)') & - iter,(wann_spread%om_tot-old_spread%om_tot)*lenconfac**2,sqrt(abs(gcnorm1))*lenconfac,& - wann_spread%om_tot*lenconfac**2,io_wallclocktime(),'<-- CONV' - write(stdout,'(8x,a,F15.7,a,F15.7,a,F15.7,a)') & - 'O_D=',wann_spread%om_d*lenconfac**2,' O_OD=',wann_spread%om_od*lenconfac**2,& - ' O_TOT=',wann_spread%om_tot*lenconfac**2,' <-- SPRD' - write(stdout,'(1x,a78)') repeat('-',78) + if (selective_loc .and. slwf_constrain) then + write(stdout,'(1x,i6,2x,E12.3,2x,F15.10,2x,F18.10,3x,F8.2,2x,a)') & + iter,(wann_spread%om_tot-old_spread%om_tot)*lenconfac**2,sqrt(abs(gcnorm1))*lenconfac,& + wann_spread%om_tot*lenconfac**2,io_wallclocktime(),'<-- CONV' + write(stdout,'(7x,a,F15.7,a,F15.7,a,F15.7,a,F15.7,a)') & + 'O_D=',wann_spread%om_d*lenconfac**2,& + ' O_IOD=',(wann_spread%om_iod+wann_spread%om_nu)*lenconfac**2, & + ' O_TOT=',wann_spread%om_tot*lenconfac**2,' <-- SPRD' + write(stdout,'(1x,a78)') repeat('-',78) + elseif (selective_loc .and. .not. slwf_constrain) then + write(stdout,'(1x,i6,2x,E12.3,2x,F15.10,2x,F18.10,3x,F8.2,2x,a)') & + iter,(wann_spread%om_tot-old_spread%om_tot)*lenconfac**2,sqrt(abs(gcnorm1))*lenconfac,& + wann_spread%om_tot*lenconfac**2,io_wallclocktime(),'<-- CONV' + write(stdout,'(7x,a,F15.7,a,F15.7,a,F15.7,a)') & + 'O_D=',wann_spread%om_d*lenconfac**2,& + ' O_IOD=',wann_spread%om_iod*lenconfac**2,& + ' O_TOT=',wann_spread%om_tot*lenconfac**2,' <-- SPRD' + write(stdout,'(1x,a78)') repeat('-',78) + else + write(stdout,'(1x,i6,2x,E12.3,2x,F15.10,2x,F18.10,3x,F8.2,2x,a)') & + iter,(wann_spread%om_tot-old_spread%om_tot)*lenconfac**2,sqrt(abs(gcnorm1))*lenconfac,& + wann_spread%om_tot*lenconfac**2,io_wallclocktime(),'<-- CONV' + write(stdout,'(8x,a,F15.7,a,F15.7,a,F15.7,a)') & + 'O_D=',wann_spread%om_d*lenconfac**2,' O_OD=',wann_spread%om_od*lenconfac**2,& + ' O_TOT=',wann_spread%om_tot*lenconfac**2,' <-- SPRD' + write(stdout,'(1x,a78)') repeat('-',78) + end if endif lconverged=.false. ; lfirst=.true. ; lrandom=.false. @@ -373,16 +419,16 @@ subroutine wann_main if(lprint.and.on_root) write(stdout,'(1x,a,i6)') 'Cycle: ',iter - if ( guiding_centres.and.(iter.gt.num_no_guide_iter) & + if ( guiding_centres.and.(iter.gt.num_no_guide_iter) & .and.(mod(iter,num_guide_cycles).eq.0) ) then call wann_phases(csheet,sheet,rguide,irguide) irguide=1 endif ! calculate gradient of omega - + if (lsitesymmetry.or.precond) then - call wann_domega(csheet,sheet,rave,cdodq) + call wann_domega(csheet,sheet,rave,cdodq) else call wann_domega(csheet,sheet,rave)!,cdodq) fills only cdodq_loc endif @@ -395,7 +441,7 @@ subroutine wann_main call internal_search_direction() if (lsitesymmetry) call sitesym_symmetrize_gradient(2,cdq) !RS: - ! save search direction + ! save search direction cdqkeep_loc(:,:,:) = cdq_loc(:,:,:) ! check whether we're doing fixed step lengths @@ -407,8 +453,8 @@ subroutine wann_main else ! take trial step - cdq_loc(:,:,:)=cdqkeep_loc(:,:,:)*( trial_step / (4.0_dp*wbtot) ) - + cdq_loc(:,:,:)=cdqkeep_loc(:,:,:)*( trial_step / (4.0_dp*wbtot) ) + ! store original U and M before rotating u0_loc=u_matrix_loc @@ -455,10 +501,10 @@ subroutine wann_main if (lfixstep.or.lquad) then ! take optimal step - cdq_loc(:,:,:) = cdqkeep_loc(:,:,:) * ( alphamin / (4.0_dp*wbtot) ) - - ! if doing a line search then restore original U and M before rotating - if (.not.lfixstep) then + cdq_loc(:,:,:) = cdqkeep_loc(:,:,:) * ( alphamin / (4.0_dp*wbtot) ) + + ! if doing a line search then restore original U and M before rotating + if (.not.lfixstep) then u_matrix_loc=u0_loc if(optimisation<=0) then ! read(page_unit) m_matrix @@ -473,18 +519,18 @@ subroutine wann_main call internal_new_u_and_m() call wann_spread_copy(wann_spread,old_spread) - + ! calculate the new centers and spread call wann_omega(csheet,sheet,rave,r2ave,rave2,wann_spread) - + ! parabolic line search was unsuccessful, use trial step already taken - else + else call wann_spread_copy(wann_spread,old_spread) call wann_spread_copy(trial_spread,wann_spread) endif - + ! print the new centers and spreads if(lprint .and. on_root) then @@ -495,19 +541,50 @@ subroutine wann_main write(stdout,1001) (sum(rave(ind,:))*lenconfac,ind=1,3), & (sum(r2ave)-sum(rave2))*lenconfac**2 write(stdout,*) - write(stdout,'(1x,i6,2x,E12.3,2x,F15.10,2x,F18.10,3x,F8.2,2x,a)') & - iter,(wann_spread%om_tot-old_spread%om_tot)*lenconfac**2,& - sqrt(abs(gcnorm1))*lenconfac,& - wann_spread%om_tot*lenconfac**2,io_wallclocktime(),'<-- CONV' - write(stdout,'(8x,a,F15.7,a,F15.7,a,F15.7,a)') & - 'O_D=',wann_spread%om_d*lenconfac**2,& - ' O_OD=',wann_spread%om_od*lenconfac**2,& - ' O_TOT=',wann_spread%om_tot*lenconfac**2,' <-- SPRD' - write(stdout,'(1x,a,E15.7,a,E15.7,a,E15.7,a)') & - 'Delta: O_D=',(wann_spread%om_d-old_spread%om_d)*lenconfac**2,& - ' O_OD=',(wann_spread%om_od-old_spread%om_od)*lenconfac**2,& - ' O_TOT=',(wann_spread%om_tot-old_spread%om_tot)*lenconfac**2,' <-- DLTA' - write(stdout,'(1x,a78)') repeat('-',78) + if (selective_loc .and. slwf_constrain) then + write(stdout,'(1x,i6,2x,E12.3,2x,F15.10,2x,F18.10,3x,F8.2,2x,a)') & + iter,(wann_spread%om_tot-old_spread%om_tot)*lenconfac**2,& + sqrt(abs(gcnorm1))*lenconfac,& + wann_spread%om_tot*lenconfac**2,io_wallclocktime(),'<-- CONV' + write(stdout,'(7x,a,F15.7,a,F15.7,a,F15.7,a)') & + 'O_IOD=',(wann_spread%om_iod+wann_spread%om_nu)*lenconfac**2,& + ' O_D=',wann_spread%om_d*lenconfac**2,& + ' O_TOT=',wann_spread%om_tot*lenconfac**2,' <-- SPRD' + write(stdout,'(a,E15.7,a,E15.7,a,E15.7,a)') & + 'Delta: O_IOD=',((wann_spread%om_iod+wann_spread%om_nu)- & + (old_spread%om_iod+wann_spread%om_nu))*lenconfac**2,& + ' O_D=',(wann_spread%om_d-old_spread%om_d)*lenconfac**2,& + ' O_TOT=',(wann_spread%om_tot-old_spread%om_tot)*lenconfac**2,' <-- DLTA' + write(stdout,'(1x,a78)') repeat('-',78) + elseif (selective_loc .and. .not. slwf_constrain) then + write(stdout,'(1x,i6,2x,E12.3,2x,F15.10,2x,F18.10,3x,F8.2,2x,a)') & + iter,(wann_spread%om_tot-old_spread%om_tot)*lenconfac**2,& + sqrt(abs(gcnorm1))*lenconfac,& + wann_spread%om_tot*lenconfac**2,io_wallclocktime(),'<-- CONV' + write(stdout,'(7x,a,F15.7,a,F15.7,a,F15.7,a)') & + 'O_IOD=',wann_spread%om_iod*lenconfac**2,& + ' O_D=',wann_spread%om_d*lenconfac**2,& + ' O_TOT=',wann_spread%om_tot*lenconfac**2,' <-- SPRD' + write(stdout,'(a,E15.7,a,E15.7,a,E15.7,a)') & + 'Delta: O_IOD=',(wann_spread%om_iod-old_spread%om_iod)*lenconfac**2,& + ' O_D=',(wann_spread%om_d-old_spread%om_d)*lenconfac**2,& + ' O_TOT=',(wann_spread%om_tot-old_spread%om_tot)*lenconfac**2,' <-- DLTA' + write(stdout,'(1x,a78)') repeat('-',78) + else + write(stdout,'(1x,i6,2x,E12.3,2x,F15.10,2x,F18.10,3x,F8.2,2x,a)') & + iter,(wann_spread%om_tot-old_spread%om_tot)*lenconfac**2,& + sqrt(abs(gcnorm1))*lenconfac,& + wann_spread%om_tot*lenconfac**2,io_wallclocktime(),'<-- CONV' + write(stdout,'(8x,a,F15.7,a,F15.7,a,F15.7,a)') & + 'O_D=',wann_spread%om_d*lenconfac**2,& + ' O_OD=',wann_spread%om_od*lenconfac**2,& + ' O_TOT=',wann_spread%om_tot*lenconfac**2,' <-- SPRD' + write(stdout,'(1x,a,E15.7,a,E15.7,a,E15.7,a)') & + 'Delta: O_D=',(wann_spread%om_d-old_spread%om_d)*lenconfac**2,& + ' O_OD=',(wann_spread%om_od-old_spread%om_od)*lenconfac**2,& + ' O_TOT=',(wann_spread%om_tot-old_spread%om_tot)*lenconfac**2,' <-- DLTA' + write(stdout,'(1x,a78)') repeat('-',78) + end if end if ! Public array of Wannier centres and spreads @@ -515,14 +592,19 @@ subroutine wann_main wannier_spreads = r2ave - rave2 ! Public variables - omega_total = wann_spread%om_tot - omega_tilde = wann_spread%om_d + wann_spread%om_od + if (.not. selective_loc) then + omega_total = wann_spread%om_tot + omega_tilde = wann_spread%om_d + wann_spread%om_od + else + omega_total = wann_spread%om_tot + !omega_tilde = wann_spread%om_d + wann_spread%om_nu + end if if (ldump.and.on_root) call param_write_chkpt('postdis') if (conv_window.gt.1) call internal_test_convergence() - if (lconverged) then + if (lconverged) then write(stdout,'(/13x,a,es10.3,a,i2,a)') & '<<< Delta <',conv_tol,& ' over ',conv_window,' iterations >>>' @@ -548,7 +630,17 @@ subroutine wann_main ! send u matrix call comms_gatherv(u_matrix_loc,num_wann*num_wann*counts(my_node_id),& u_matrix,num_wann*num_wann*counts,num_wann*num_wann*displs) - call comms_bcast(u_matrix(1,1,1),num_wann*num_wann*num_kpts) + call comms_bcast(u_matrix(1,1,1),num_wann*num_wann*num_kpts) + + ! Evaluate the penalty functional + if (selective_loc .and. slwf_constrain) then + rnr0n2=0.0_dp + do iw=1,slwf_num + rnr0n2(iw) = (wannier_centres(1,iw) - ccentres_cart(iw,1))**2 & + + (wannier_centres(2,iw) - ccentres_cart(iw,3))**2 & + + (wannier_centres(2,iw) - ccentres_cart(iw,3))**2 + end do + end if if (on_root) then write(stdout,'(1x,a)') 'Final State' @@ -559,15 +651,39 @@ subroutine wann_main write(stdout,1001) (sum(rave(ind,:))*lenconfac,ind=1,3),& (sum(r2ave)-sum(rave2))*lenconfac**2 write(stdout,*) - write(stdout,'(3x,a21,a,f15.9)') ' Spreads ('//trim(length_unit)//'^2)',& - ' Omega I = ',wann_spread%om_i*lenconfac**2 - write(stdout,'(3x,a,f15.9)') ' ================ Omega D = ',& - wann_spread%om_d*lenconfac**2 - write(stdout,'(3x,a,f15.9)') ' Omega OD = ',& - wann_spread%om_od*lenconfac**2 - write(stdout,'(3x,a21,a,f15.9)') 'Final Spread ('//trim(length_unit)//'^2)',& - ' Omega Total = ',wann_spread%om_tot*lenconfac**2 - write(stdout,'(1x,a78)') repeat('-',78) + if (selective_loc .and. slwf_constrain) then + write(stdout,'(3x,a21,a,f15.9)') ' Spreads ('//trim(length_unit)//'^2)',& + ' Omega IOD_C = ',(wann_spread%om_iod+wann_spread%om_nu)*lenconfac**2 + write(stdout,'(3x,a,f15.9)') ' ================ Omega D = ',& + wann_spread%om_d*lenconfac**2 + write(stdout,'(3x,a,f15.9)') ' Omega Rest = ',& + (sum(r2ave) - sum(rave2) + wann_spread%om_tot)*lenconfac**2 + write(stdout,'(3x,a,f15.9)') ' Penalty func = ',& + sum(rnr0n2(:)) + write(stdout,'(3x,a21,a,f15.9)') 'Final Spread ('//trim(length_unit)//'^2)',& + ' Omega Total_C = ',wann_spread%om_tot*lenconfac**2 + write(stdout,'(1x,a78)') repeat('-',78) + else if (selective_loc .and. .not. slwf_constrain) then + write(stdout,'(3x,a21,a,f15.9)') ' Spreads ('//trim(length_unit)//'^2)',& + ' Omega IOD = ',wann_spread%om_iod*lenconfac**2 + write(stdout,'(3x,a,f15.9)') ' ================ Omega D = ',& + wann_spread%om_d*lenconfac**2 + write(stdout,'(3x,a,f15.9)') ' Omega Rest = ',& + (sum(r2ave) - sum(rave2) + wann_spread%om_tot)*lenconfac**2 + write(stdout,'(3x,a21,a,f15.9)') 'Final Spread ('//trim(length_unit)//'^2)',& + ' Omega Total = ',wann_spread%om_tot*lenconfac**2 + write(stdout,'(1x,a78)') repeat('-',78) + else + write(stdout,'(3x,a21,a,f15.9)') ' Spreads ('//trim(length_unit)//'^2)',& + ' Omega I = ',wann_spread%om_i*lenconfac**2 + write(stdout,'(3x,a,f15.9)') ' ================ Omega D = ',& + wann_spread%om_d*lenconfac**2 + write(stdout,'(3x,a,f15.9)') ' Omega OD = ',& + wann_spread%om_od*lenconfac**2 + write(stdout,'(3x,a21,a,f15.9)') 'Final Spread ('//trim(length_unit)//'^2)',& + ' Omega Total = ',wann_spread%om_tot*lenconfac**2 + write(stdout,'(1x,a78)') repeat('-',78) + end if endif if (write_xyz) call wann_write_xyz() @@ -675,7 +791,10 @@ subroutine wann_main if (ierr/=0) call io_error('Error in deallocating cdodq in wann_main') deallocate(csheet,stat=ierr) if (ierr/=0) call io_error('Error in deallocating csheet in wann_main') - + if (selective_loc) then + deallocate( rnr0n2,stat=ierr ) + if (ierr/=0) call io_error('Error in deallocating rnr0n2 in wann_main') + end if ! deallocate module data deallocate( ln_tmp , stat=ierr ) if (ierr/=0) call io_error('Error in deallocating ln_tmp in wann_main') @@ -705,7 +824,7 @@ subroutine wann_main contains - + !===============================================! subroutine internal_test_convergence() !===============================================! @@ -720,12 +839,12 @@ subroutine internal_test_convergence() real(kind=dp) :: delta_omega integer :: j,ierr real(kind=dp), allocatable :: temp_hist(:) - + allocate(temp_hist(conv_window),stat=ierr) if (ierr/=0) call io_error('Error allocating temp_hist in wann_main') delta_omega=wann_spread%om_tot-old_spread%om_tot - + if (iter.le.conv_window) then history(iter) = delta_omega else @@ -797,12 +916,12 @@ subroutine internal_random_noise() if (ierr/=0) call io_error('Error allocating noise_imag in wann_main') allocate(cnoise(num_wann,num_wann),stat=ierr) if (ierr/=0) call io_error('Error allocating cnoise in wann_main') - + ! Initialise cnoise=cmplx_0; noise_real=0.0_dp; noise_imag=0.0_dp ! cdq is a num_wann x num_wann x num_kpts anti-hermitian array - ! to which we add a random anti-hermitian matrix + ! to which we add a random anti-hermitian matrix do ikp=1,counts(my_node_id) do iw=1,num_wann @@ -813,7 +932,7 @@ subroutine internal_random_noise() enddo do jw=1,num_wann do iw=1,jw - if (iw.eq.jw) then + if (iw.eq.jw) then cnoise(iw,jw) = cmplx(0.0_dp,noise_imag(iw,jw),dp) else cnoise(iw,jw) = cmplx(noise_real(iw,jw),noise_imag(iw,jw),dp) @@ -844,7 +963,7 @@ subroutine internal_search_direction() !===============================================! ! ! !! Calculate the conjugate gradients search - !! direction using the Fletcher-Reeves formula: + !! direction using the Fletcher-Reeves formula: !! !! cg_coeff = [g(i).g(i)]/[g(i-1).g(i-1)] ! ! @@ -856,12 +975,12 @@ subroutine internal_search_direction() if (timing_level>1.and.on_root) call io_stopwatch('wann: main: search_direction',1) - ! gcnorm1 = Tr[gradient . gradient] -- NB gradient is anti-Hermitian + ! gcnorm1 = Tr[gradient . gradient] -- NB gradient is anti-Hermitian ! gcnorm1 = real(zdotc(num_kpts*num_wann*num_wann,cdodq,1,cdodq,1),dp) if (precond) then ! compute cdodq_precond - + cdodq_r(:,:,:) = 0 ! intermediary gradient in R space cdodq_precond(:,:,:) = 0 cdodq_precond_loc(:,:,:) = 0 @@ -881,11 +1000,11 @@ subroutine internal_search_direction() fac=exp(-cmplx_i*rdotk)/real(num_kpts,dp) cdodq_r(:,:,irpt)=cdodq_r(:,:,irpt)+fac*cdodq(:,:,loop_kpt) enddo - enddo + enddo end if - + ! filter cdodq_r in real space by 1/(1+R^2/alpha) - + ! this alpha coefficient is more or less arbitrary, and could ! be tweaked further: the point is to have something that has ! the right units, and is not too small (or the filtering is @@ -959,7 +1078,7 @@ subroutine internal_search_direction() if(precond) then cdq_loc(:,:,:) = cdodq_precond_loc(:,:,:) + cdqkeep_loc(:,:,:) * gcfac !! JRY not MPI else - cdq_loc(:,:,:) = cdodq_loc(:,:,:) + cdqkeep_loc(:,:,:) * gcfac + cdq_loc(:,:,:) = cdodq_loc(:,:,:) + cdqkeep_loc(:,:,:) * gcfac end if @@ -1026,7 +1145,7 @@ subroutine internal_optimal_step() !===============================================! ! ! !! Calculate the optimal step length based on a - !! parabolic line search + !! parabolic line search ! ! !===============================================! @@ -1044,7 +1163,7 @@ subroutine internal_optimal_step() fac = 1.0e6_dp shift = fac*trial_spread%om_tot - fac*wann_spread%om_tot endif - eqb = fac*doda0 + eqb = fac*doda0 eqa = shift - eqb*trial_step if ( abs(eqa/(fac*wann_spread%om_tot)).gt.epsilon(1.0_dp) ) then lquad=.true. @@ -1075,10 +1194,10 @@ end subroutine internal_optimal_step !===============================================! - subroutine internal_new_u_and_m() + subroutine internal_new_u_and_m() !===============================================! ! ! - !! Update U and M matrices after a trial step + !! Update U and M matrices after a trial step ! ! !===============================================! use w90_sitesym, only: sitesym_symmetrize_rotation,& !RS: @@ -1100,18 +1219,18 @@ subroutine internal_new_u_and_m() tmp_cdq(:,:) = cmplx_i * cdq_loc(:,:,nkp_loc) ! Hermitian matrix eigen-solver call zheev('V','U',num_wann,tmp_cdq,num_wann,evals,cwork,4*num_wann,rwork,info) - if (info.ne.0) then + if (info.ne.0) then if (on_root) write(stdout,*) & 'wann_main: ZHEEV in internal_new_u_and_m failed, info= ',info if (on_root) write(stdout,*) ' trying Schur decomposition instead' -!!$ call io_error('wann_main: problem in ZHEEV in internal_new_u_and_m') +!!$ call io_error('wann_main: problem in ZHEEV in internal_new_u_and_m') tmp_cdq(:,:) = cdq_loc(:,:,nkp_loc) call zgees ('V', 'N', ltmp, num_wann, tmp_cdq, num_wann, nsdim, & cwschur1, cz, num_wann, cwschur2, 10 * num_wann, cwschur3, & cwschur4, info) - if (info.ne.0) then - if (on_root) write(stdout,*) 'wann_main: SCHUR failed, info= ', info - call io_error('wann_main: problem computing schur form 1') + if (info.ne.0) then + if (on_root) write(stdout,*) 'wann_main: SCHUR failed, info= ', info + call io_error('wann_main: problem computing schur form 1') endif do i=1,num_wann tmp_cdq(:,i) = cz(:,i) * exp(cwschur1(i)) @@ -1132,17 +1251,17 @@ subroutine internal_new_u_and_m() ! it would be enough to copy only next neighbors call comms_gatherv(cdq_loc,num_wann*num_wann*counts(my_node_id),& cdq,num_wann*num_wann*counts,num_wann*num_wann*displs) - call comms_bcast(cdq(1,1,1),num_wann*num_wann*num_kpts) + call comms_bcast(cdq(1,1,1),num_wann*num_wann*num_kpts) -!!$ do nkp = 1, num_kpts +!!$ do nkp = 1, num_kpts !!$ tmp_cdq(:,:) = cdq(:,:,nkp) !!$ call zgees ('V', 'N', ltmp, num_wann, tmp_cdq, num_wann, nsdim, & !!$ cwschur1, cz, num_wann, cwschur2, 10 * num_wann, cwschur3, & !!$ cwschur4, info) -!!$ if (info.ne.0) then -!!$ write(stdout,*) 'SCHUR: ', info -!!$ call io_error('wann_main: problem computing schur form 1') +!!$ if (info.ne.0) then +!!$ write(stdout,*) 'SCHUR: ', info +!!$ call io_error('wann_main: problem computing schur form 1') !!$ endif !!$ do i=1,num_wann !!$ tmp_cdq(:,i) = cz(:,i) * exp(cwschur1(i)) @@ -1159,7 +1278,7 @@ subroutine internal_new_u_and_m() ! the orbitals are rotated do nkp_loc = 1, counts(my_node_id) - nkp = nkp_loc + displs(my_node_id) + nkp = nkp_loc + displs(my_node_id) ! cmtmp = U(k) . cdq(k) call utility_zgemm(cmtmp,u_matrix_loc(:,:,nkp_loc),'N',cdq_loc(:,:,nkp_loc),'N',num_wann) u_matrix_loc(:,:,nkp_loc)=cmtmp(:,:) @@ -1167,9 +1286,9 @@ subroutine internal_new_u_and_m() ! and the M_ij are updated do nkp_loc = 1, counts(my_node_id) - nkp = nkp_loc + displs(my_node_id) - do nn = 1, nntot - nkp2 = nnlist (nkp, nn) + nkp = nkp_loc + displs(my_node_id) + do nn = 1, nntot + nkp2 = nnlist (nkp, nn) ! tmp_cdq = cdq^{dagger} . M call utility_zgemm(tmp_cdq,cdq(:,:,nkp),'C',m_matrix_loc(:,:,nn,nkp_loc),'N',num_wann) ! cmtmp = tmp_cdq . cdq @@ -1196,36 +1315,36 @@ end subroutine internal_new_u_and_m !~ !~ if (timing_level>1) call io_stopwatch('wann: main: check_unitarity',1) !~ -!~ do nkp = 1, num_kpts -!~ do i = 1, num_wann -!~ do j = 1, num_wann -!~ ctmp1 = cmplx_0 -!~ ctmp2 = cmplx_0 -!~ do m = 1, num_wann -!~ ctmp1 = ctmp1 + u_matrix (i, m, nkp) * conjg (u_matrix (j, m, nkp) ) -!~ ctmp2 = ctmp2 + u_matrix (m, j, nkp) * conjg (u_matrix (m, i, nkp) ) +!~ do nkp = 1, num_kpts +!~ do i = 1, num_wann +!~ do j = 1, num_wann +!~ ctmp1 = cmplx_0 +!~ ctmp2 = cmplx_0 +!~ do m = 1, num_wann +!~ ctmp1 = ctmp1 + u_matrix (i, m, nkp) * conjg (u_matrix (j, m, nkp) ) +!~ ctmp2 = ctmp2 + u_matrix (m, j, nkp) * conjg (u_matrix (m, i, nkp) ) !~ enddo !~ if ( (i.eq.j) .and. (abs (ctmp1 - cmplx_1 ) .gt. eps5) ) & !~ then !~ write ( stdout , * ) ' ERROR: unitariety of final U', nkp, i, j, & !~ ctmp1 -!~ call io_error('wann_main: unitariety error 1') +!~ call io_error('wann_main: unitariety error 1') !~ endif !~ if ( (i.eq.j) .and. (abs (ctmp2 - cmplx_1 ) .gt. eps5) ) & !~ then !~ write ( stdout , * ) ' ERROR: unitariety of final U', nkp, i, j, & !~ ctmp2 -!~ call io_error('wann_main: unitariety error 2') +!~ call io_error('wann_main: unitariety error 2') !~ endif -!~ if ( (i.ne.j) .and. (abs (ctmp1) .gt. eps5) ) then +!~ if ( (i.ne.j) .and. (abs (ctmp1) .gt. eps5) ) then !~ write ( stdout , * ) ' ERROR: unitariety of final U', nkp, i, j, & !~ ctmp1 -!~ call io_error('wann_main: unitariety error 3') +!~ call io_error('wann_main: unitariety error 3') !~ endif -!~ if ( (i.ne.j) .and. (abs (ctmp2) .gt. eps5) ) then +!~ if ( (i.ne.j) .and. (abs (ctmp2) .gt. eps5) ) then !~ write ( stdout , * ) ' ERROR: unitariety of final U', nkp, i, j, & !~ ctmp2 -!~ call io_error('wann_main: unitariety error 4') +!~ call io_error('wann_main: unitariety error 4') !~ endif !~ enddo !~ enddo @@ -1246,7 +1365,7 @@ end subroutine internal_new_u_and_m !~ ! ! !~ !========================================! !~ use w90_io, only: seedname,io_file_unit,io_error -!~ +!~ !~ implicit none !~ !~ integer :: r2mnunit,nw1,nw2,nkp,nn @@ -1256,12 +1375,12 @@ end subroutine internal_new_u_and_m !~ ! shift-invariant Eq. 32 . !~ r2mnunit=io_file_unit() !~ open(r2mnunit,file=trim(seedname)//'.r2mn',form='formatted',err=158) -!~ do nw1 = 1, num_wann -!~ do nw2 = 1, num_wann -!~ r2ave_mn = 0.0_dp -!~ delta = 0.0_dp -!~ if (nw1.eq.nw2) delta = 1.0_dp -!~ do nkp = 1, num_kpts +!~ do nw1 = 1, num_wann +!~ do nw2 = 1, num_wann +!~ r2ave_mn = 0.0_dp +!~ delta = 0.0_dp +!~ if (nw1.eq.nw2) delta = 1.0_dp +!~ do nkp = 1, num_kpts !~ do nn = 1, nntot !~ r2ave_mn = r2ave_mn + wb(nn) * & !~ ! [GP-begin, Apr13, 2012: corrected sign inside "real"] @@ -1270,16 +1389,16 @@ end subroutine internal_new_u_and_m !~ ! [GP-end] !~ enddo !~ enddo -!~ r2ave_mn = r2ave_mn / real(num_kpts,dp) -!~ write (r2mnunit, '(2i6,f20.12)') nw1, nw2, r2ave_mn +!~ r2ave_mn = r2ave_mn / real(num_kpts,dp) +!~ write (r2mnunit, '(2i6,f20.12)') nw1, nw2, r2ave_mn !~ enddo !~ enddo -!~ close(r2mnunit) -!~ +!~ close(r2mnunit) +!~ !~ return -!~ +!~ !~158 call io_error('Error opening file '//trim(seedname)//'.r2mn in wann_main') -!~ +!~ !~ end subroutine internal_write_r2mn @@ -1291,9 +1410,9 @@ end subroutine internal_new_u_and_m !~ implicit none !~ !~ complex(kind=dp), allocatable :: cv1(:,:),cv2(:,:) -!~ complex(kind=dp), allocatable :: cw1(:),cw2(:) -!~ complex(kind=dp), allocatable :: cpad1 (:) -!~ real(kind=dp), allocatable :: singvd (:) +!~ complex(kind=dp), allocatable :: cw1(:),cw2(:) +!~ complex(kind=dp), allocatable :: cpad1 (:) +!~ real(kind=dp), allocatable :: singvd (:) !~ !~ integer :: nkp,nn,nb,na,ind !~ real(kind=dp) :: omt1,omt2,omt3 @@ -1313,37 +1432,37 @@ end subroutine internal_new_u_and_m !~ allocate( cpad1 (num_wann * num_wann),stat=ierr ) !~ if (ierr/=0) call io_error('Error in allocating cpad1 in wann_main') !~ -!~ cw1=cmplx_0; cw2=cmplx_0; cv1=cmplx_0; cv2=cmplx_0; cpad1=cmplx_0 +!~ cw1=cmplx_0; cw2=cmplx_0; cv1=cmplx_0; cv2=cmplx_0; cpad1=cmplx_0 !~ singvd=0.0_dp !~ !~ ! singular value decomposition !~ omt1 = 0.0_dp ; omt2 = 0.0_dp ; omt3 = 0.0_dp -!~ do nkp = 1, num_kpts -!~ do nn = 1, nntot -!~ ind = 1 -!~ do nb = 1, num_wann -!~ do na = 1, num_wann -!~ cpad1 (ind) = m_matrix (na, nb, nn, nkp) -!~ ind = ind+1 +!~ do nkp = 1, num_kpts +!~ do nn = 1, nntot +!~ ind = 1 +!~ do nb = 1, num_wann +!~ do na = 1, num_wann +!~ cpad1 (ind) = m_matrix (na, nb, nn, nkp) +!~ ind = ind+1 !~ enddo !~ enddo !~ call zgesvd ('A', 'A', num_wann, num_wann, cpad1, num_wann, singvd, cv1, & !~ num_wann, cv2, num_wann, cw1, 10 * num_wann, cw2, info) -!~ if (info.ne.0) then -!~ call io_error('ERROR: Singular value decomp. zgesvd failed') +!~ if (info.ne.0) then +!~ call io_error('ERROR: Singular value decomp. zgesvd failed') !~ endif !~ -!~ do nb = 1, num_wann -!~ omt1 = omt1 + wb(nn) * (1.0_dp - singvd (nb) **2) -!~ omt2 = omt2 - wb(nn) * (2.0_dp * log (singvd (nb) ) ) -!~ omt3 = omt3 + wb(nn) * (acos (singvd (nb) ) **2) +!~ do nb = 1, num_wann +!~ omt1 = omt1 + wb(nn) * (1.0_dp - singvd (nb) **2) +!~ omt2 = omt2 - wb(nn) * (2.0_dp * log (singvd (nb) ) ) +!~ omt3 = omt3 + wb(nn) * (acos (singvd (nb) ) **2) !~ enddo !~ enddo !~ enddo -!~ omt1 = omt1 / real(num_kpts,dp) -!~ omt2 = omt2 / real(num_kpts,dp) -!~ omt3 = omt3 / real(num_kpts,dp) -!~ write ( stdout , * ) ' ' +!~ omt1 = omt1 / real(num_kpts,dp) +!~ omt2 = omt2 / real(num_kpts,dp) +!~ omt3 = omt3 / real(num_kpts,dp) +!~ write ( stdout , * ) ' ' !~ write(stdout,'(2x,a,f15.9,1x,a)') 'Omega Invariant: 1-s^2 = ',& !~ omt1*lenconfac**2,'('//trim(length_unit)//'^2)' !~ write(stdout,'(2x,a,f15.9,1x,a)') ' -2log s = ',& @@ -1367,7 +1486,7 @@ end subroutine internal_new_u_and_m !~ if (timing_level>1) call io_stopwatch('wann: main: svd_omega_i',2) !~ !~ return -!~ +!~ !~ end subroutine internal_svd_omega_i @@ -1377,10 +1496,10 @@ end subroutine wann_main !==================================================================! subroutine wann_phases (csheet, sheet, rguide, irguide, m_w) !==================================================================! - !! Uses guiding centres to pick phases which give a - !! consistent choice of branch cut for the spread definction + !! Uses guiding centres to pick phases which give a + !! consistent choice of branch cut for the spread definction ! ! - !=================================================================== + !=================================================================== use w90_constants, only : eps6 use w90_parameters, only : num_wann,nntot,neigh, & nnh,bk,bka,num_kpts,timing_level @@ -1401,9 +1520,9 @@ subroutine wann_phases (csheet, sheet, rguide, irguide, m_w) !! Used in the Gamma point routines as an optimisation !local - complex(kind=dp) :: csum (nnh) + complex(kind=dp) :: csum (nnh) real(kind=dp) :: xx(nnh) - real(kind=dp) :: smat(3,3),svec(3),sinv(3,3) + real(kind=dp) :: smat(3,3),svec(3),sinv(3,3) real(kind=dp) :: xx0,det,brn complex(kind=dp) :: csumt integer :: loop_wann,na,nkp,i,j,nn,ind,m,nkp_loc @@ -1418,35 +1537,35 @@ subroutine wann_phases (csheet, sheet, rguide, irguide, m_w) ! for each band, csum is determined and then its appropriate ! guiding center rguide(3,nwann) - do loop_wann = 1,num_wann + do loop_wann = 1,num_wann if (.not. present(m_w) ) then ! get average phase for each unique bk direction - do na = 1, nnh + do na = 1, nnh csum (na) = cmplx_0 do nkp_loc = 1, counts(my_node_id) nkp = nkp_loc + displs(my_node_id) - nn = neigh (nkp, na) - csum (na) = csum (na) + m_matrix_loc (loop_wann, loop_wann, nn, nkp_loc) + nn = neigh (nkp, na) + csum (na) = csum (na) + m_matrix_loc (loop_wann, loop_wann, nn, nkp_loc) enddo enddo else - - do na = 1, nnh + + do na = 1, nnh csum (na) = cmplx_0 do nkp_loc = 1, counts(my_node_id) nkp = nkp_loc + displs(my_node_id) - nn = neigh (nkp, na) + nn = neigh (nkp, na) csum (na) = csum (na) & - + cmplx(m_w(loop_wann,loop_wann,2*nn-1),m_w(loop_wann,loop_wann,2*nn),dp) + + cmplx(m_w(loop_wann,loop_wann,2*nn-1),m_w(loop_wann,loop_wann,2*nn),dp) enddo enddo end if call comms_allreduce(csum(1),nnh,'SUM') - + ! now analyze that information to get good guess at ! wannier center ! write(*,*) @@ -1478,44 +1597,44 @@ subroutine wann_phases (csheet, sheet, rguide, irguide, m_w) smat=0.0_dp svec=0.0_dp - do nn = 1, nnh - if (nn.le.3) then + do nn = 1, nnh + if (nn.le.3) then ! obtain xx with arbitrary branch cut choice - xx (nn) = - aimag (log (csum (nn) ) ) - else + xx (nn) = - aimag (log (csum (nn) ) ) + else ! obtain xx with branch cut choice guided by rguide - xx0 = 0.0_dp - do j = 1, 3 - xx0 = xx0 + bka (j, nn) * rguide (j, loop_wann) + xx0 = 0.0_dp + do j = 1, 3 + xx0 = xx0 + bka (j, nn) * rguide (j, loop_wann) enddo ! xx0 is expected value for xx -! csumt = exp (ci * xx0) - csumt = exp (cmplx_i * xx0) +! csumt = exp (ci * xx0) + csumt = exp (cmplx_i * xx0) ! csumt has opposite of expected phase of csum(nn) - xx (nn) = xx0 - aimag (log (csum (nn) * csumt) ) + xx (nn) = xx0 - aimag (log (csum (nn) * csumt) ) endif ! write(*,'(a,i5,3f7.3,2f10.5)') 'nn, bka, xx, mag =', ! 1 nn,(bka(j,nn),j=1,3),xx(nn),abs(csum(nn))/float(num_kpts) ! update smat and svec - do j = 1, 3 - do i = 1, 3 - smat (j, i) = smat (j, i) + bka (j, nn) * bka (i, nn) + do j = 1, 3 + do i = 1, 3 + smat (j, i) = smat (j, i) + bka (j, nn) * bka (i, nn) enddo - svec (j) = svec (j) + bka (j, nn) * xx (nn) + svec (j) = svec (j) + bka (j, nn) * xx (nn) enddo - if (nn.ge.3) then + if (nn.ge.3) then ! determine rguide - call utility_inv3 (smat, sinv, det) + call utility_inv3 (smat, sinv, det) ! the inverse of smat is sinv/det - if (abs (det) .gt.eps6) then + if (abs (det) .gt.eps6) then ! to check that the first nn bka vectors are not ! linearly dependent - this is a change from original code - if (irguide.ne.0) then - do j = 1, 3 - rguide (j, loop_wann) = 0.0_dp - do i = 1, 3 + if (irguide.ne.0) then + do j = 1, 3 + rguide (j, loop_wann) = 0.0_dp + do i = 1, 3 rguide (j, loop_wann) = rguide (j, loop_wann) + sinv (j, i) & * svec (i) / det enddo @@ -1530,15 +1649,15 @@ subroutine wann_phases (csheet, sheet, rguide, irguide, m_w) ! obtain branch cut choice guided by rguid sheet = 0.0_dp - do nkp = 1, num_kpts - do nn = 1, nntot - do loop_wann = 1, num_wann + do nkp = 1, num_kpts + do nn = 1, nntot + do loop_wann = 1, num_wann ! sheet (loop_wann, nn, nkp) = 0.d0 - do j = 1, 3 + do j = 1, 3 sheet(loop_wann,nn,nkp) = sheet(loop_wann,nn,nkp) & + bk(j,nn,nkp) * rguide(j,loop_wann) enddo - ! csheet (loop_wann, nn, nkp) = exp (ci * sheet (loop_wann, nn, nkp) ) + ! csheet (loop_wann, nn, nkp) = exp (ci * sheet (loop_wann, nn, nkp) ) enddo enddo enddo @@ -1551,24 +1670,24 @@ subroutine wann_phases (csheet, sheet, rguide, irguide, m_w) ! right sheet rnkb = 0.0_dp - do nkp = 1, num_kpts - do nn = 1, nntot - do m = 1, num_wann - ! rnkb (m, nn, nkp) = 0.0_dp + do nkp = 1, num_kpts + do nn = 1, nntot + do m = 1, num_wann + ! rnkb (m, nn, nkp) = 0.0_dp brn = 0.0_dp - do ind = 1, 3 - brn = brn + bk(ind,nn,nkp) * rguide(ind,m) + do ind = 1, 3 + brn = brn + bk(ind,nn,nkp) * rguide(ind,m) enddo - rnkb (m, nn, nkp) = rnkb (m, nn, nkp) + brn + rnkb (m, nn, nkp) = rnkb (m, nn, nkp) + brn enddo enddo enddo -! write ( stdout , * ) ' ' -! write ( stdout , * ) ' PHASES ARE SET USING THE GUIDING CENTERS' -! write ( stdout , * ) ' ' -! do nkp = 1, num_kpts -! do n = 1, num_wann -! do nn = 1, nntot +! write ( stdout , * ) ' ' +! write ( stdout , * ) ' PHASES ARE SET USING THE GUIDING CENTERS' +! write ( stdout , * ) ' ' +! do nkp = 1, num_kpts +! do n = 1, num_wann +! do nn = 1, nntot ! pherr = aimag(log(csheet(n,nn,nkp)*m_matrix(n,n,nn,nkp))) & ! - sheet(n,nn,nkp)+rnkb(n,nn,nkp)-aimag(log(m_matrix(n,n,nn,nkp))) ! enddo @@ -1577,21 +1696,23 @@ subroutine wann_phases (csheet, sheet, rguide, irguide, m_w) if (timing_level>1.and.on_root) call io_stopwatch('wann: phases',2) - return + return end subroutine wann_phases !==================================================================! - subroutine wann_omega(csheet,sheet,rave,r2ave,rave2,wann_spread) + subroutine wann_omega(csheet,sheet,rave,r2ave,rave2,wann_spread) !==================================================================! ! ! !! Calculate the Wannier Function spread ! ! !=================================================================== - use w90_parameters, only : num_wann,nntot,wb,bk,num_kpts,& - omega_invariant,timing_level + use w90_parameters, only : num_wann,m_matrix,nntot,wb,bk,num_kpts,& + omega_invariant,timing_level, & + selective_loc, slwf_constrain, slwf_num,& + ccentres_cart use w90_io, only : io_stopwatch implicit none @@ -1624,11 +1745,11 @@ subroutine wann_omega(csheet,sheet,rave,r2ave,rave2,wann_spread) rave = 0.0_dp - do iw = 1, num_wann - do ind = 1, 3 + do iw = 1, num_wann + do ind = 1, 3 do nkp_loc = 1, counts(my_node_id) nkp = nkp_loc + displs(my_node_id) - do nn = 1, nntot + do nn = 1, nntot rave(ind,iw) = rave(ind,iw) + wb(nn) * bk(ind,nn,nkp) & *ln_tmp_loc(iw,nn,nkp_loc) enddo @@ -1637,27 +1758,27 @@ subroutine wann_omega(csheet,sheet,rave,r2ave,rave2,wann_spread) enddo call comms_allreduce(rave(1,1),num_wann*3,'SUM') - + rave = -rave/real(num_kpts,dp) rave2 = 0.0_dp - do iw = 1, num_wann + do iw = 1, num_wann rave2(iw) = sum(rave(:,iw)*rave(:,iw)) enddo ! aam: is this useful? !~ rtot=0.0_dp -!~ do ind = 1, 3 -!~ do loop_wann = 1, num_wann -!~ rtot (ind) = rtot (ind) + rave (ind, loop_wann) +!~ do ind = 1, 3 +!~ do loop_wann = 1, num_wann +!~ rtot (ind) = rtot (ind) + rave (ind, loop_wann) !~ enddo !~ enddo r2ave = 0.0_dp - do iw = 1, num_wann + do iw = 1, num_wann do nkp_loc = 1, counts(my_node_id) nkp = nkp_loc + displs(my_node_id) - do nn = 1, nntot + do nn = 1, nntot mnn2 = real(m_matrix_loc(iw,iw,nn,nkp_loc)*conjg(m_matrix_loc(iw,iw,nn,nkp_loc)),kind=dp) r2ave(iw) = r2ave(iw) + wb(nn) * ( 1.0_dp - mnn2 + ln_tmp_loc(iw,nn,nkp_loc)**2 ) enddo @@ -1668,39 +1789,39 @@ subroutine wann_omega(csheet,sheet,rave,r2ave,rave2,wann_spread) r2ave = r2ave/real(num_kpts,dp) -!~ wann_spread%om_1 = 0.0_dp -!~ do nkp = 1, num_kpts -!~ do nn = 1, nntot -!~ do loop_wann = 1, num_wann +!~ wann_spread%om_1 = 0.0_dp +!~ do nkp = 1, num_kpts +!~ do nn = 1, nntot +!~ do loop_wann = 1, num_wann !~ wann_spread%om_1 = wann_spread%om_1 + wb(nn) * & !~ ( 1.0_dp - m_matrix(loop_wann,loop_wann,nn,nkp) * & !~ conjg(m_matrix(loop_wann,loop_wann,nn,nkp)) ) !~ enddo !~ enddo !~ enddo -!~ wann_spread%om_1 = wann_spread%om_1 / real(num_kpts,dp) +!~ wann_spread%om_1 = wann_spread%om_1 / real(num_kpts,dp) !~ -!~ wann_spread%om_2 = 0.0_dp -!~ do loop_wann = 1, num_wann -!~ sqim = 0.0_dp -!~ do nkp = 1, num_kpts -!~ do nn = 1, nntot +!~ wann_spread%om_2 = 0.0_dp +!~ do loop_wann = 1, num_wann +!~ sqim = 0.0_dp +!~ do nkp = 1, num_kpts +!~ do nn = 1, nntot !~ sqim = sqim + wb(nn) * & !~ ( (aimag(log(csheet(loop_wann,nn,nkp) * & !~ m_matrix(loop_wann,loop_wann,nn,nkp))) - & !~ sheet(loop_wann,nn,nkp))**2 ) !~ enddo !~ enddo -!~ sqim = sqim / real(num_kpts,dp) -!~ wann_spread%om_2 = wann_spread%om_2 + sqim +!~ sqim = sqim / real(num_kpts,dp) +!~ wann_spread%om_2 = wann_spread%om_2 + sqim !~ enddo !~ -!~ wann_spread%om_3 = 0.0_dp -!~ do loop_wann = 1, num_wann +!~ wann_spread%om_3 = 0.0_dp +!~ do loop_wann = 1, num_wann !~ bim = 0.0_dp -!~ do ind = 1, 3 -!~ do nkp = 1, num_kpts -!~ do nn = 1, nntot +!~ do ind = 1, 3 +!~ do nkp = 1, num_kpts +!~ do nn = 1, nntot !~ bim(ind) = bim(ind) & !~ + wb(nn) * bk(ind,nn,nkp) & !~ * ( aimag(log(csheet(loop_wann,nn,nkp) & @@ -1710,83 +1831,147 @@ subroutine wann_omega(csheet,sheet,rave,r2ave,rave2,wann_spread) !~ enddo !~ enddo !~ bim = bim/real(num_kpts,dp) -!~ bim2 = 0.0_dp -!~ do ind = 1, 3 -!~ bim2 = bim2 + bim (ind) * bim (ind) +!~ bim2 = 0.0_dp +!~ do ind = 1, 3 +!~ bim2 = bim2 + bim (ind) * bim (ind) !~ enddo -!~ wann_spread%om_3 = wann_spread%om_3 - bim2 +!~ wann_spread%om_3 = wann_spread%om_3 - bim2 !~ enddo !jry: Either the above (om1,2,3) or the following is redundant ! keep it in the code base for testing - ! wann_spread%om_i only needs to be calculated on the first pass - ! on subsequent passes it may be set to omega_invariant - if (first_pass) then - wann_spread%om_i = 0.0_dp - nkp = nkp_loc + displs(my_node_id) + if (selective_loc) then + wann_spread%om_iod = 0.0_dp do nkp_loc = 1, counts(my_node_id) - do nn = 1, nntot - summ = 0.0_dp - do m = 1, num_wann - do n = 1, num_wann - summ = summ & - + real(m_matrix_loc(n,m,nn,nkp_loc)*conjg(m_matrix_loc(n,m,nn,nkp_loc)),kind=dp) - enddo + do nn = 1, nntot + summ = 0.0_dp + do n = 1, slwf_num + summ = summ & + + real( m_matrix_loc(n,n,nn,nkp_loc) & + * conjg(m_matrix_loc(n,n,nn,nkp_loc)), kind=dp ) + if ( slwf_constrain) then + !! Centre constraint contribution. Zero if slwf_constrain=false + summ = summ - lambda_loc * ln_tmp_loc(n,nn,nkp_loc) ** 2 + end if enddo - wann_spread%om_i = wann_spread%om_i & - + wb(nn) * (real(num_wann,dp) - summ) + wann_spread%om_iod = wann_spread%om_iod & + + wb(nn) * (real(slwf_num,dp) - summ) enddo enddo - call comms_allreduce(wann_spread%om_i,1,'SUM') + call comms_allreduce(wann_spread%om_iod,1,'SUM') - wann_spread%om_i = wann_spread%om_i / real(num_kpts,dp) - first_pass=.false. - else - wann_spread%om_i=omega_invariant - endif + wann_spread%om_iod = wann_spread%om_iod / real(num_kpts,dp) - wann_spread%om_od = 0.0_dp - do nkp_loc = 1, counts(my_node_id) - nkp = nkp_loc + displs(my_node_id) - do nn = 1, nntot - do m = 1, num_wann - do n = 1, num_wann - if (m.ne.n) wann_spread%om_od = wann_spread%om_od & - + wb(nn) * real( m_matrix_loc(n,m,nn,nkp_loc) & - * conjg(m_matrix_loc(n,m,nn,nkp_loc)), kind=dp ) + wann_spread%om_d = 0.0_dp + do nkp_loc = 1, counts(my_node_id) + nkp = nkp_loc + displs(my_node_id) + do nn = 1, nntot + do n = 1, slwf_num + brn = sum(bk(:,nn,nkp)*rave(:,n)) + wann_spread%om_d = wann_spread%om_d + (1.0_dp - lambda_loc) * wb(nn) & + * ( ln_tmp_loc(n,nn,nkp_loc) + brn)**2 enddo enddo enddo - enddo - call comms_allreduce(wann_spread%om_od,1,'SUM') + call comms_allreduce(wann_spread%om_d,1,'SUM') + + wann_spread%om_d = wann_spread%om_d / real(num_kpts,dp) + + wann_spread%om_nu = 0.0_dp + !! Contribution from constrains on centres + if (slwf_constrain) then + do nkp_loc = 1, counts(my_node_id) + nkp = nkp_loc + displs(my_node_id) + do nn = 1, nntot + do n=1, slwf_num + wann_spread%om_nu = wann_spread%om_nu + 2.0_dp * wb(nn) * & + ln_tmp_loc(n,nn,nkp_loc) * lambda_loc * & + sum(bk(:,nn,nkp)*ccentres_cart(n,:)) + enddo + enddo + enddo + + call comms_allreduce(wann_spread%om_nu,1,'SUM') - wann_spread%om_od = wann_spread%om_od / real(num_kpts,dp) + do n=1, slwf_num + wann_spread%om_nu = wann_spread%om_nu + lambda_loc * sum(ccentres_cart(n,:)**2) + end do + wann_spread%om_nu = wann_spread%om_nu / real(num_kpts,dp) - wann_spread%om_d = 0.0_dp - do nkp_loc = 1, counts(my_node_id) - nkp = nkp_loc + displs(my_node_id) - do nn = 1, nntot - do n = 1, num_wann - brn = sum(bk(:,nn,nkp)*rave(:,n)) - wann_spread%om_d = wann_spread%om_d + wb(nn) & - * ( ln_tmp_loc(n,nn,nkp_loc) + brn)**2 + end if + + wann_spread%om_tot = wann_spread%om_iod + wann_spread%om_d + wann_spread%om_nu + !! wann_spread%om_c = wann_spread%om_iod + wann_spread%om_d + wann_spread%om_nu + else + if (first_pass) then + wann_spread%om_i = 0.0_dp + nkp = nkp_loc + displs(my_node_id) + do nkp_loc = 1, counts(my_node_id) + do nn = 1, nntot + summ = 0.0_dp + do m = 1, num_wann + do n = 1, num_wann + summ = summ & + + real(m_matrix_loc(n,m,nn,nkp_loc)*conjg(m_matrix_loc(n,m,nn,nkp_loc)),kind=dp) + enddo + enddo + wann_spread%om_i = wann_spread%om_i & + + wb(nn) * (real(num_wann,dp) - summ) + enddo + enddo + + call comms_allreduce(wann_spread%om_i,1,'SUM') + + wann_spread%om_i = wann_spread%om_i / real(num_kpts,dp) + first_pass=.false. + else + wann_spread%om_i=omega_invariant + endif + + wann_spread%om_od = 0.0_dp + do nkp_loc = 1, counts(my_node_id) + nkp = nkp_loc + displs(my_node_id) + do nn = 1, nntot + do m = 1, num_wann + do n = 1, num_wann + if (m.ne.n) wann_spread%om_od = wann_spread%om_od & + + wb(nn) * real( m_matrix_loc(n,m,nn,nkp_loc) & + * conjg(m_matrix_loc(n,m,nn,nkp_loc)), kind=dp ) + enddo + enddo enddo enddo - enddo - call comms_allreduce(wann_spread%om_d,1,'SUM') + call comms_allreduce(wann_spread%om_od,1,'SUM') - wann_spread%om_d = wann_spread%om_d / real(num_kpts,dp) + wann_spread%om_od = wann_spread%om_od / real(num_kpts,dp) - wann_spread%om_tot = wann_spread%om_i + wann_spread%om_d + wann_spread%om_od + wann_spread%om_d = 0.0_dp + do nkp_loc = 1, counts(my_node_id) + nkp = nkp_loc + displs(my_node_id) + do nn = 1, nntot + do n = 1, num_wann + brn = sum(bk(:,nn,nkp)*rave(:,n)) + wann_spread%om_d = wann_spread%om_d + wb(nn) & + * ( ln_tmp_loc(n,nn,nkp_loc) + brn)**2 + enddo + enddo + enddo + + call comms_allreduce(wann_spread%om_d,1,'SUM') + + wann_spread%om_d = wann_spread%om_d / real(num_kpts,dp) + + wann_spread%om_tot = wann_spread%om_i + wann_spread%om_d + wann_spread%om_od + end if if (timing_level>1.and.on_root) call io_stopwatch('wann: omega',2) - return + return end subroutine wann_omega @@ -1799,23 +1984,27 @@ subroutine wann_domega(csheet,sheet,rave,cdodq) ! Calculate the Gradient of the Wannier Function spread ! ! ! !=================================================================== - use w90_parameters, only : num_wann,wb,bk,nntot,num_kpts,timing_level + use w90_parameters, only : num_wann,wb,bk,nntot,m_matrix,num_kpts, & + timing_level, selective_loc, & + slwf_constrain, slwf_num, & + ccentres_cart use w90_io, only : io_stopwatch,io_error use w90_parameters, only : lsitesymmetry !RS: use w90_sitesym, only : sitesym_symmetrize_gradient !RS: implicit none - complex(kind=dp), intent(in) :: csheet (:,:,:) - real(kind=dp), intent(in) :: sheet (:,:,:) - real(kind=dp), intent(out) :: rave (:,:) + complex(kind=dp), intent(in) :: csheet (:,:,:) + real(kind=dp), intent(in) :: sheet (:,:,:) + real(kind=dp), intent(out) :: rave (:,:) ! as we work on the local cdodq, returning the full cdodq array is now ! made optional - complex(kind=dp), intent(out), optional :: cdodq (:,:,:) + complex(kind=dp), intent(out), optional :: cdodq (:,:,:) !local - complex(kind=dp), allocatable :: cr (:,:) - complex(kind=dp), allocatable :: crt (:,:) + complex(kind=dp), allocatable :: cr (:,:) + complex(kind=dp), allocatable :: crt (:,:) + real(kind=dp), allocatable :: r0kb(:,:,:) ! local integer :: iw,ind,nkp,nn,m,n,ierr,nkp_loc @@ -1823,10 +2012,14 @@ subroutine wann_domega(csheet,sheet,rave,cdodq) if (timing_level>1.and.on_root) call io_stopwatch('wann: domega',1) - allocate( cr (num_wann, num_wann),stat=ierr ) + allocate( cr (num_wann, num_wann),stat=ierr ) if (ierr/=0) call io_error('Error in allocating cr in wann_domega') - allocate( crt (num_wann, num_wann),stat=ierr ) + allocate( crt (num_wann, num_wann),stat=ierr ) if (ierr/=0) call io_error('Error in allocating crt in wann_domega') + if ( selective_loc .and. slwf_constrain) then + allocate( r0kb (num_wann, nntot, num_kpts),stat=ierr ) + if (ierr/=0) call io_error('Error in allocating r0kb in wann_domega') + end if do nkp_loc = 1, counts(my_node_id) @@ -1840,15 +2033,13 @@ subroutine wann_domega(csheet,sheet,rave,cdodq) end do end do - - ! recalculate rave rave = 0.0_dp - do iw = 1, num_wann - do ind = 1, 3 + do iw = 1, num_wann + do ind = 1, 3 do nkp_loc = 1, counts(my_node_id) nkp = nkp_loc + displs(my_node_id) - do nn = 1, nntot + do nn = 1, nntot rave(ind,iw) = rave(ind,iw) + bk(ind,nn,nkp) & * ln_tmp_loc(iw,nn,nkp_loc) enddo @@ -1859,8 +2050,19 @@ subroutine wann_domega(csheet,sheet,rave,cdodq) call comms_allreduce(rave(1,1),num_wann*3,'SUM') - ! R_mn=M_mn/M_nn and q_m^{k,b} = Im phi_m^{k,b} + b.r_n are calculated - rnkb = 0.0_dp + ! b.r_0n are calculated + if ( selective_loc .and. slwf_constrain) then + r0kb = 0.0_dp + do nkp_loc = 1, counts(my_node_id) + nkp = nkp_loc + displs(my_node_id) + do nn=1,nntot + do n=1,num_wann + r0kb(n,nn,nkp_loc) = sum(bk(:,nn,nkp)*ccentres_cart(n,:)) + enddo + enddo + enddo + end if + rnkb_loc = 0.0_dp do nkp_loc = 1, counts(my_node_id) nkp = nkp_loc + displs(my_node_id) @@ -1873,31 +2075,105 @@ subroutine wann_domega(csheet,sheet,rave,cdodq) ! cd0dq(m,n,nkp) is calculated cdodq_loc=cmplx_0 + cr = cmplx_0 + crt = cmplx_0 do nkp_loc = 1, counts(my_node_id) nkp = nkp_loc + displs(my_node_id) - do nn = 1, nntot - do n=1,num_wann + do nn = 1, nntot + do n=1,num_wann ! R^{k,b} and R~^{k,b} have columns of zeroes for the non-objective Wannier functions mnn = m_matrix_loc(n,n,nn,nkp_loc) crt(:,n) = m_matrix_loc(:,n,nn,nkp_loc) / mnn cr(:,n) = m_matrix_loc(:,n,nn,nkp_loc) * conjg(mnn) enddo - - do n = 1, num_wann - do m = 1, num_wann - ! A[R^{k,b}]=(R-Rdag)/2 - cdodq_loc(m,n,nkp_loc) = cdodq_loc(m,n,nkp_loc) & - + wb(nn) * 0.5_dp & - *( cr(m,n) - conjg(cr(n,m)) ) - ! -S[T^{k,b}]=-(T+Tdag)/2i ; T_mn = Rt_mn q_n - cdodq_loc(m,n,nkp_loc) = cdodq_loc(m,n,nkp_loc) - & - ( crt(m,n) * ln_tmp_loc(n,nn,nkp_loc) & - + conjg( crt(n,m) * ln_tmp_loc(m,nn,nkp_loc) ) ) & - * cmplx(0.0_dp,-0.5_dp,kind=dp) - cdodq_loc(m,n,nkp_loc) = cdodq_loc(m,n,nkp_loc) - wb(nn) & - * ( crt(m,n) * rnkb_loc(n,nn,nkp_loc) + conjg(crt(n,m) & - * rnkb_loc(m,nn,nkp_loc)) ) * cmplx(0.0_dp,-0.5_dp,kind=dp) + if (selective_loc) then + do n = 1, num_wann + do m = 1, num_wann + if (m<=slwf_num) then + if (n<=slwf_num) then + ! A[R^{k,b}]=(R-Rdag)/2 + cdodq_loc(m,n,nkp_loc) = cdodq_loc(m,n,nkp_loc) & + + wb(nn) * 0.5_dp * ( cr(m,n) - conjg(cr(n,m) ) ) + cdodq_loc(m,n,nkp_loc) = cdodq_loc(m,n,nkp_loc) & + - ( crt(m,n) * ln_tmp_loc(n,nn,nkp_loc) & + + conjg( crt(n,m) * ln_tmp_loc(m,nn,nkp_loc) ) ) & + * cmplx(0.0_dp,-0.5_dp,kind=dp) + cdodq_loc(m,n,nkp_loc) = cdodq_loc(m,n,nkp_loc) & + - ( crt(m,n) * rnkb_loc(n,nn,nkp_loc) + conjg(crt(n,m) & + * rnkb_loc(m,nn,nkp_loc) ) ) & + * cmplx(0.0_dp,-0.5_dp,kind=dp) + if (slwf_constrain) then + cdodq_loc(m,n,nkp_loc) = cdodq_loc(m,n,nkp_loc) + lambda_loc & + * ( crt(m,n) * ln_tmp_loc(n,nn,nkp_loc) & + + conjg( crt(n,m) * ln_tmp_loc(m,nn,nkp_loc) ) ) & + * cmplx(0.0_dp,-0.5_dp,kind=dp) + cdodq_loc(m,n,nkp_loc) = cdodq_loc(m,n,nkp_loc) + wb(nn) * lambda_loc & + * ( crt(m,n) * rnkb_loc(n,nn,nkp_loc) & + + conjg( crt(n,m) * rnkb_loc(m,nn,nkp_loc) ) ) & + * cmplx(0.0_dp,-0.5_dp,kind=dp) + cdodq_loc(m,n,nkp_loc) = cdodq_loc(m,n,nkp_loc) - lambda_loc & + * ( crt(m,n) * ln_tmp_loc(n,nn,nkp_loc) & + + conjg( crt(n,m) ) * ln_tmp_loc(m,nn,nkp_loc) ) & + * cmplx(0.0_dp,-0.5_dp,kind=dp) + cdodq_loc(m,n,nkp_loc) = cdodq_loc(m,n,nkp_loc) - wb(nn) * lambda_loc & + * ( r0kb(n,nn,nkp_loc) * crt(m,n) & + + r0kb(m,nn,nkp_loc) * conjg( crt(n,m) ) ) & + * cmplx(0.0_dp,-0.5_dp,kind=dp) + end if + else + cdodq_loc(m,n,nkp_loc) = cdodq_loc(m,n,nkp_loc) - wb(nn) & + * 0.5_dp * conjg( cr(n,m) ) & + - conjg( crt(n,m) * (ln_tmp_loc(m,nn,nkp_loc) & + + wb(nn) * rnkb_loc(m,nn,nkp_loc) ) ) & + * cmplx(0.0_dp,-0.5_dp,kind=dp) + if (slwf_constrain) then + cdodq_loc(m,n,nkp_loc) = cdodq_loc(m,n,nkp_loc) + lambda_loc & + * conjg( crt(n,m) * (ln_tmp_loc(m,nn,nkp_loc) & + + wb(nn) * rnkb_loc(m,nn,nkp_loc) ) ) & + * cmplx(0.0_dp,-0.5_dp,kind=dp) & + - lambda_loc * ( conjg(crt(n,m)) * ln_tmp_loc(m,nn,nkp_loc) ) & + * cmplx(0.0_dp,-0.5_dp,kind=dp) + cdodq_loc(m,n,nkp_loc) = cdodq_loc(m,n,nkp_loc) - wb(nn) * lambda_loc & + * r0kb(m,nn,nkp_loc)*conjg( crt(n,m) ) & + * cmplx(0.0_dp,-0.5_dp,kind=dp) + end if + end if + else if (n<=slwf_num) then + cdodq_loc(m,n,nkp_loc) = cdodq_loc(m,n,nkp_loc) + wb(nn) * cr(m,n)*0.5_dp & + - crt(m,n) * (ln_tmp_loc(n,nn,nkp_loc) + wb(nn) * rnkb_loc(n,nn,nkp_loc) ) & + * cmplx(0.0_dp,-0.5_dp,kind=dp) + if (slwf_constrain) then + cdodq_loc(m,n,nkp_loc) = cdodq_loc(m,n,nkp_loc) + lambda_loc & + * crt(m,n) * ( ln_tmp_loc(n,nn,nkp_loc) + wb(nn)*rnkb_loc(n,nn,nkp_loc) ) & + * cmplx(0.0_dp,-0.5_dp,kind=dp) & + - lambda_loc * crt(m,n) * ln_tmp_loc(n,nn,nkp_loc) & + * cmplx(0.0_dp,-0.5_dp,kind=dp) + cdodq_loc(m,n,nkp_loc) = cdodq_loc(m,n,nkp_loc) - wb(nn) * lambda_loc & + * r0kb(n,nn,nkp_loc) * crt(m,n) & + * cmplx(0.0_dp,-0.5_dp,kind=dp) + end if + else + cdodq_loc(m,n,nkp_loc)=cdodq_loc(m,n,nkp_loc) + end if + enddo enddo - enddo + else + do n = 1, num_wann + do m = 1, num_wann + ! A[R^{k,b}]=(R-Rdag)/2 + cdodq_loc(m,n,nkp_loc) = cdodq_loc(m,n,nkp_loc) & + + wb(nn) * 0.5_dp & + *( cr(m,n) - conjg(cr(n,m)) ) + ! -S[T^{k,b}]=-(T+Tdag)/2i ; T_mn = Rt_mn q_n + cdodq_loc(m,n,nkp_loc) = cdodq_loc(m,n,nkp_loc) - & + ( crt(m,n) * ln_tmp_loc(n,nn,nkp_loc) & + + conjg( crt(n,m) * ln_tmp_loc(m,nn,nkp_loc) ) ) & + * cmplx(0.0_dp,-0.5_dp,kind=dp) + cdodq_loc(m,n,nkp_loc) = cdodq_loc(m,n,nkp_loc) - wb(nn) & + * ( crt(m,n) * rnkb_loc(n,nn,nkp_loc) + conjg(crt(n,m) & + * rnkb_loc(m,nn,nkp_loc)) ) * cmplx(0.0_dp,-0.5_dp,kind=dp) + enddo + enddo + end if enddo enddo cdodq_loc = cdodq_loc / real(num_kpts,dp) * 4.0_dp @@ -1906,7 +2182,7 @@ subroutine wann_domega(csheet,sheet,rave,cdodq) ! each process communicates its result to other processes call comms_gatherv(cdodq_loc,num_wann*num_wann*counts(my_node_id),& cdodq,num_wann*num_wann*counts,num_wann*num_wann*displs) - call comms_bcast(cdodq(1,1,1),num_wann*num_wann*num_kpts) + call comms_bcast(cdodq(1,1,1),num_wann*num_wann*num_kpts) if (lsitesymmetry) then call sitesym_symmetrize_gradient(1,cdodq) !RS: cdodq_loc(:,:,1:counts(my_node_id))=cdodq(:,:,displs(my_node_id)+1:displs(my_node_id)+counts(my_node_id)) @@ -1914,16 +2190,16 @@ subroutine wann_domega(csheet,sheet,rave,cdodq) end if - deallocate( cr, stat=ierr ) + deallocate( cr, stat=ierr ) if (ierr/=0) call io_error('Error in deallocating cr in wann_domega') - deallocate( crt, stat=ierr ) + deallocate( crt, stat=ierr ) if (ierr/=0) call io_error('Error in deallocating crt in wann_domega') if (timing_level>1.and.on_root) call io_stopwatch('wann: domega',2) - return + return end subroutine wann_domega @@ -1940,13 +2216,16 @@ subroutine wann_spread_copy(orig,copy) type(localisation_vars), intent(in) :: orig type(localisation_vars), intent(out) :: copy - copy%om_i = orig%om_i - copy%om_d = orig%om_d - copy%om_od = orig%om_od + copy%om_i = orig%om_i + copy%om_d = orig%om_d + copy%om_od = orig%om_od copy%om_tot = orig%om_tot -!~ copy%om_1 = orig%om_1 -!~ copy%om_2 = orig%om_2 -!~ copy%om_3 = orig%om_3 + copy%om_iod = orig%om_iod + copy%om_nu = orig%om_nu + !! copy%om_c = orig%om_c +!~ copy%om_1 = orig%om_1 +!~ copy%om_2 = orig%om_2 +!~ copy%om_3 = orig%om_3 return @@ -1979,7 +2258,7 @@ subroutine wann_calc_projection() 'Projection of Bands in Outer Window on all Wannier Functions' write(stdout,'(1x,8x,62a)') repeat('-',62) write(stdout,'(1x,16x,a)') ' Kpt Band Eigval |Projection|^2' - write(stdout,'(1x,16x,a47)') repeat('-',47) + write(stdout,'(1x,16x,a47)') repeat('-',47) endif do nkp=1,num_kpts @@ -2023,7 +2302,7 @@ subroutine wann_write_xyz() integer :: iw,ind,xyz_unit,nsp,nat character(len=9) :: cdate, ctime - real(kind=dp) :: wc(3,num_wann) + real(kind=dp) :: wc(3,num_wann) wc = wannier_centres @@ -2058,11 +2337,11 @@ subroutine wann_write_xyz() close(xyz_unit) write(stdout,'(/a)') ' Wannier centres written to file '//trim(seedname)//'_centres.xyz' - + return 888 format(2x,'WF centre',i5,2x,'(',f10.6,',',f10.6,',',f10.6,' )') - + end subroutine wann_write_xyz @@ -2088,14 +2367,14 @@ subroutine wann_write_vdw_data() !~ use w90_disentangle, only : ndimfroz implicit none - + integer :: iw,vdw_unit,r,s,k,m,ierr,ndim real(kind=dp) :: wc(3,num_wann) real(kind=dp) :: ws(num_wann) complex(kind=dp), allocatable :: f_w(:,:),v_matrix(:,:) !f_w2(:,:) - + wc = wannier_centres - ws = wannier_spreads + ws = wannier_spreads ! translate Wannier centres to the home unit cell do iw=1,num_wann @@ -2104,7 +2383,7 @@ subroutine wann_write_vdw_data() allocate(f_w(num_wann, num_wann),stat=ierr) if (ierr/=0) call io_error('Error in allocating f_w in wann_write_vdw_data') - + !~ ! aam: remove f_w2 at end !~ allocate(f_w2(num_wann, num_wann),stat=ierr) !~ if (ierr/=0) call io_error('Error in allocating f_w2 in wann_write_vdw_data') @@ -2117,14 +2396,14 @@ subroutine wann_write_vdw_data() allocate(v_matrix(ndim, num_wann),stat=ierr) if (ierr/=0) call io_error('Error in allocating V_matrix in wann_write_vdw_data') - + ! aam: initialise f_w(:,:) = cmplx_0 v_matrix(:,:) = cmplx_0 !~ f_w2(:,:) = cmplx_0 ! aam: IN THE END ONLY NEED DIAGONAL PART, SO COULD SIMPLIFY... - ! aam: calculate V = U_opt . U + ! aam: calculate V = U_opt . U do s=1,num_wann do k=1,ndim do m=1,num_wann @@ -2132,7 +2411,7 @@ subroutine wann_write_vdw_data() enddo enddo enddo - + ! aam: calculate f = V^dagger . V do r=1,num_wann do s=1,num_wann @@ -2141,7 +2420,7 @@ subroutine wann_write_vdw_data() enddo enddo enddo - + !~ ! original formulation !~ do r=1,num_wann !~ do s=1,num_wann @@ -2170,7 +2449,7 @@ subroutine wann_write_vdw_data() !~ endif !~ enddo !~ enddo -!~ write(*,*) ' done vdw ' +!~ write(*,*) ' done vdw ' else ! for valence only, all occupancies are unity @@ -2213,9 +2492,9 @@ subroutine wann_write_vdw_data() !~ if (ierr/=0) call io_error('Error in deallocating f_w2 in wann_write_vdw_data') deallocate(f_w,stat=ierr) if (ierr/=0) call io_error('Error in deallocating f_w in wann_write_vdw_data') - + return - + end subroutine wann_write_vdw_data @@ -2226,7 +2505,7 @@ subroutine wann_check_unitarity() use w90_constants, only : dp,cmplx_1,cmplx_0,eps5 use w90_io, only : io_stopwatch,io_error,stdout use w90_parameters, only : num_kpts, num_wann, & - u_matrix, timing_level + u_matrix, timing_level implicit none @@ -2235,36 +2514,36 @@ subroutine wann_check_unitarity() if (timing_level>1.and.on_root) call io_stopwatch('wann: check_unitarity',1) - do nkp = 1, num_kpts - do i = 1, num_wann - do j = 1, num_wann - ctmp1 = cmplx_0 - ctmp2 = cmplx_0 - do m = 1, num_wann - ctmp1 = ctmp1 + u_matrix (i, m, nkp) * conjg (u_matrix (j, m, nkp) ) - ctmp2 = ctmp2 + u_matrix (m, j, nkp) * conjg (u_matrix (m, i, nkp) ) + do nkp = 1, num_kpts + do i = 1, num_wann + do j = 1, num_wann + ctmp1 = cmplx_0 + ctmp2 = cmplx_0 + do m = 1, num_wann + ctmp1 = ctmp1 + u_matrix (i, m, nkp) * conjg (u_matrix (j, m, nkp) ) + ctmp2 = ctmp2 + u_matrix (m, j, nkp) * conjg (u_matrix (m, i, nkp) ) enddo if ( (i.eq.j) .and. (abs (ctmp1 - cmplx_1 ) .gt. eps5) ) & then if (on_root) write ( stdout , * ) ' ERROR: unitariety of final U', nkp, i, j, & ctmp1 - call io_error('wann_check_unitarity: error 1') + call io_error('wann_check_unitarity: error 1') endif if ( (i.eq.j) .and. (abs (ctmp2 - cmplx_1 ) .gt. eps5) ) & then if (on_root) write ( stdout , * ) ' ERROR: unitariety of final U', nkp, i, j, & ctmp2 - call io_error('wann_check_unitarity: error 2') + call io_error('wann_check_unitarity: error 2') endif - if ( (i.ne.j) .and. (abs (ctmp1) .gt. eps5) ) then + if ( (i.ne.j) .and. (abs (ctmp1) .gt. eps5) ) then if (on_root) write ( stdout , * ) ' ERROR: unitariety of final U', nkp, i, j, & ctmp1 - call io_error('wann_check_unitarity: error 3') + call io_error('wann_check_unitarity: error 3') endif - if ( (i.ne.j) .and. (abs (ctmp2) .gt. eps5) ) then + if ( (i.ne.j) .and. (abs (ctmp2) .gt. eps5) ) then if (on_root) write ( stdout , * ) ' ERROR: unitariety of final U', nkp, i, j, & ctmp2 - call io_error('wann_check_unitarity: error 4') + call io_error('wann_check_unitarity: error 4') endif enddo enddo @@ -2289,7 +2568,7 @@ subroutine wann_write_r2mn() use w90_io, only : seedname,io_file_unit,io_error use w90_parameters, only : num_kpts, num_wann, nntot, wb, & m_matrix - + implicit none integer :: r2mnunit,nw1,nw2,nkp,nn @@ -2299,12 +2578,12 @@ subroutine wann_write_r2mn() ! shift-invariant Eq. 32 . r2mnunit=io_file_unit() open(r2mnunit,file=trim(seedname)//'.r2mn',form='formatted',err=158) - do nw1 = 1, num_wann - do nw2 = 1, num_wann - r2ave_mn = 0.0_dp - delta = 0.0_dp - if (nw1.eq.nw2) delta = 1.0_dp - do nkp = 1, num_kpts + do nw1 = 1, num_wann + do nw2 = 1, num_wann + r2ave_mn = 0.0_dp + delta = 0.0_dp + if (nw1.eq.nw2) delta = 1.0_dp + do nkp = 1, num_kpts do nn = 1, nntot r2ave_mn = r2ave_mn + wb(nn) * & ! [GP-begin, Apr13, 2012: corrected sign inside "real"] @@ -2313,23 +2592,23 @@ subroutine wann_write_r2mn() ! [GP-end] enddo enddo - r2ave_mn = r2ave_mn / real(num_kpts,dp) - write (r2mnunit, '(2i6,f20.12)') nw1, nw2, r2ave_mn + r2ave_mn = r2ave_mn / real(num_kpts,dp) + write (r2mnunit, '(2i6,f20.12)') nw1, nw2, r2ave_mn enddo enddo - close(r2mnunit) - + close(r2mnunit) + return - + 158 call io_error('Error opening file '//trim(seedname)//'.r2mn in wann_write_r2mn') - + end subroutine wann_write_r2mn !========================================! subroutine wann_svd_omega_i() !========================================! - + use w90_constants, only : dp,cmplx_0 use w90_io, only : io_stopwatch,io_error,stdout use w90_parameters, only: num_wann, num_kpts, nntot, wb, & @@ -2339,9 +2618,9 @@ subroutine wann_svd_omega_i() implicit none complex(kind=dp), allocatable :: cv1(:,:),cv2(:,:) - complex(kind=dp), allocatable :: cw1(:),cw2(:) - complex(kind=dp), allocatable :: cpad1 (:) - real(kind=dp), allocatable :: singvd (:) + complex(kind=dp), allocatable :: cw1(:),cw2(:) + complex(kind=dp), allocatable :: cpad1 (:) + real(kind=dp), allocatable :: singvd (:) integer :: ierr, info integer :: nkp,nn,nb,na,ind @@ -2362,38 +2641,38 @@ subroutine wann_svd_omega_i() allocate( cpad1 (num_wann * num_wann),stat=ierr ) if (ierr/=0) call io_error('Error in allocating cpad1 in wann_svd_omega_i') - cw1=cmplx_0; cw2=cmplx_0; cv1=cmplx_0; cv2=cmplx_0; cpad1=cmplx_0 + cw1=cmplx_0; cw2=cmplx_0; cv1=cmplx_0; cv2=cmplx_0; cpad1=cmplx_0 singvd=0.0_dp ! singular value decomposition omt1 = 0.0_dp ; omt2 = 0.0_dp ; omt3 = 0.0_dp - do nkp = 1, num_kpts - do nn = 1, nntot - ind = 1 - do nb = 1, num_wann - do na = 1, num_wann - cpad1 (ind) = m_matrix (na, nb, nn, nkp) - ind = ind+1 + do nkp = 1, num_kpts + do nn = 1, nntot + ind = 1 + do nb = 1, num_wann + do na = 1, num_wann + cpad1 (ind) = m_matrix (na, nb, nn, nkp) + ind = ind+1 enddo enddo call zgesvd ('A', 'A', num_wann, num_wann, cpad1, num_wann, singvd, cv1, & num_wann, cv2, num_wann, cw1, 10 * num_wann, cw2, info) - if (info.ne.0) then - call io_error('ERROR: Singular value decomp. zgesvd failed') + if (info.ne.0) then + call io_error('ERROR: Singular value decomp. zgesvd failed') endif - do nb = 1, num_wann - omt1 = omt1 + wb(nn) * (1.0_dp - singvd (nb) **2) - omt2 = omt2 - wb(nn) * (2.0_dp * log (singvd (nb) ) ) - omt3 = omt3 + wb(nn) * (acos (singvd (nb) ) **2) + do nb = 1, num_wann + omt1 = omt1 + wb(nn) * (1.0_dp - singvd (nb) **2) + omt2 = omt2 - wb(nn) * (2.0_dp * log (singvd (nb) ) ) + omt3 = omt3 + wb(nn) * (acos (singvd (nb) ) **2) enddo enddo enddo - omt1 = omt1 / real(num_kpts,dp) - omt2 = omt2 / real(num_kpts,dp) - omt3 = omt3 / real(num_kpts,dp) + omt1 = omt1 / real(num_kpts,dp) + omt2 = omt2 / real(num_kpts,dp) + omt3 = omt3 / real(num_kpts,dp) if (on_root) then - write ( stdout , * ) ' ' + write ( stdout , * ) ' ' write(stdout,'(2x,a,f15.9,1x,a)') 'Omega Invariant: 1-s^2 = ',& omt1*lenconfac**2,'('//trim(length_unit)//'^2)' write(stdout,'(2x,a,f15.9,1x,a)') ' -2log s = ',& @@ -2418,7 +2697,7 @@ subroutine wann_svd_omega_i() if (timing_level>1.and.on_root) call io_stopwatch('wann: svd_omega_i',2) return - + end subroutine wann_svd_omega_i !==================================================================! @@ -2428,7 +2707,7 @@ subroutine wann_main_gamma ! Calculate the Unitary Rotations to give ! ! Maximally Localised Wannier Functions ! ! Gamma version ! - !=================================================================== + !=================================================================== use w90_constants, only : dp,cmplx_1,cmplx_0 use w90_io, only : stdout,io_error,io_time,io_stopwatch use w90_parameters, only : num_wann,num_iter,wb, & @@ -2448,20 +2727,20 @@ subroutine wann_main_gamma type(localisation_vars) :: wann_spread ! guiding centres - real(kind=dp), allocatable :: rguide (:,:) + real(kind=dp), allocatable :: rguide (:,:) integer :: irguide ! local arrays used and passed in subroutines - real(kind=dp), allocatable :: m_w(:,:,:) + real(kind=dp), allocatable :: m_w(:,:,:) complex(kind=dp), allocatable :: csheet(:,:,:) real(kind=dp), allocatable :: sheet (:,:,:) - real(kind=dp), allocatable :: rave(:,:),r2ave(:),rave2(:) + real(kind=dp), allocatable :: rave(:,:),r2ave(:),rave2(:) !local arrays not passed into subroutines complex(kind=dp), allocatable :: u0(:,:,:) complex(kind=dp), allocatable :: uc_rot(:,:) real(kind=dp), allocatable :: ur_rot(:,:) - complex(kind=dp), allocatable :: cz (:,:) + complex(kind=dp), allocatable :: cz (:,:) real(kind=dp) :: sqwb integer :: i,n,nn,iter,ind,ierr,iw @@ -2490,22 +2769,22 @@ subroutine wann_main_gamma if (ierr/=0) call io_error('Error in allocating rnkb in wann_main_gamma') allocate( ln_tmp (num_wann, nntot, num_kpts), stat=ierr ) if (ierr/=0) call io_error('Error in allocating ln_tmp in wann_main_gamma') - + rnkb=0.0_dp tnntot=2*nntot - ! sub vars passed into other subs + ! sub vars passed into other subs allocate( m_w(num_wann,num_wann,tnntot),stat=ierr) if (ierr/=0) call io_error('Error in allocating m_w in wann_main_gamma') allocate( csheet (num_wann, nntot, num_kpts), stat=ierr ) if (ierr/=0) call io_error('Error in allocating csheet in wann_main_gamma') allocate( sheet (num_wann, nntot, num_kpts), stat=ierr ) if (ierr/=0) call io_error('Error in allocating sheet in wann_main_gamma') - allocate( rave (3, num_wann), stat=ierr ) + allocate( rave (3, num_wann), stat=ierr ) if (ierr/=0) call io_error('Error in allocating rave in wann_main_gamma') - allocate( r2ave (num_wann), stat=ierr ) + allocate( r2ave (num_wann), stat=ierr ) if (ierr/=0) call io_error('Error in allocating r2ave in wann_main_gamma') - allocate( rave2 (num_wann), stat=ierr ) + allocate( rave2 (num_wann), stat=ierr ) if (ierr/=0) call io_error('Error in allocating rave2 in wann_main_gamma') allocate( rguide (3, num_wann) ) if (ierr/=0) call io_error('Error in allocating rguide in wann_main_gamma') @@ -2529,12 +2808,12 @@ subroutine wann_main_gamma allocate( counts(0:0), displs(0:0), stat=ierr ) if (ierr/=0) call io_error('Error in allocating counts and displs in wann_main_gamma') counts(0)=0;displs(0)=0 - + ! store original U before rotating !~ ! phase factor ph_g is applied to u_matrix !~ ! NB: ph_g is applied to u_matrix_opt if (have_disentangled) !~ if (have_disentangled) then -!~ u0=u_matrix +!~ u0=u_matrix !~ else !~ do iw=1,num_wann !~ u0(iw,:,:)= conjg(ph_g(iw))*u_matrix(iw,:,:) @@ -2580,7 +2859,7 @@ subroutine wann_main_gamma ! weight m_matrix first to reduce number of operations ! m_w : weighted real matrix - do nn = 1, nntot + do nn = 1, nntot sqwb=sqrt(wb(nn)) m_w(:,:,2*nn-1)=sqwb*real(m_matrix(:,:,nn,1),dp) m_w(:,:,2*nn)=sqwb*aimag(m_matrix(:,:,nn,1)) @@ -2602,7 +2881,7 @@ subroutine wann_main_gamma old_spread%om_tot = 0.0_dp ! print initial state - write(stdout,'(1x,a78)') repeat('-',78) + write(stdout,'(1x,a78)') repeat('-',78) write(stdout,'(1x,a)') 'Initial State' do iw=1,num_wann write(stdout,1000) iw,(rave(ind,iw)*lenconfac,ind=1,3),& @@ -2616,9 +2895,9 @@ subroutine wann_main_gamma write(stdout,'(8x,a,F15.7,a,F15.7,a,F15.7,a)') & 'O_D=',wann_spread%om_d*lenconfac**2,' O_OD=',wann_spread%om_od*lenconfac**2,& ' O_TOT=',wann_spread%om_tot*lenconfac**2,' <-- SPRD' - write(stdout,'(1x,a78)') repeat('-',78) + write(stdout,'(1x,a78)') repeat('-',78) - lconverged=.false. + lconverged=.false. ! initialize ur_rot ur_rot=0.0_dp @@ -2640,26 +2919,26 @@ subroutine wann_main_gamma if(lprint.and.on_root) write(stdout,'(1x,a,i6)') 'Cycle: ',iter !~ ! initialize rguide as rave for use_bloch_phases -!~ if ( (iter.gt.num_no_guide_iter) .and. lguide ) then +!~ if ( (iter.gt.num_no_guide_iter) .and. lguide ) then !~ rguide(:,:) = rave(:,:) !~ lguide = .false. !~ endif !~ if ( guiding_centres.and.(iter.gt.num_no_guide_iter) & !~ .and.(mod(iter,num_guide_cycles).eq.0) ) then -!~ if(nntot.gt.3) call wann_phases(csheet,sheet,rguide,irguide) +!~ if(nntot.gt.3) call wann_phases(csheet,sheet,rguide,irguide) !~ irguide=1 !~ endif if ( guiding_centres.and.(iter.gt.num_no_guide_iter) & .and.(mod(iter,num_guide_cycles).eq.0)) then - call wann_phases(csheet,sheet,rguide,irguide,m_w) + call wann_phases(csheet,sheet,rguide,irguide,m_w) irguide=1 endif call internal_new_u_and_m_gamma() call wann_spread_copy(wann_spread,old_spread) - + ! calculate the new centers and spread call wann_omega_gamma(m_w,csheet,sheet,rave,r2ave,rave2,wann_spread) @@ -2683,7 +2962,7 @@ subroutine wann_main_gamma 'Delta: O_D=',(wann_spread%om_d-old_spread%om_d)*lenconfac**2,& ' O_OD=',(wann_spread%om_od-old_spread%om_od)*lenconfac**2,& ' O_TOT=',(wann_spread%om_tot-old_spread%om_tot)*lenconfac**2,' <-- DLTA' - write(stdout,'(1x,a78)') repeat('-',78) + write(stdout,'(1x,a78)') repeat('-',78) end if ! Public array of Wannier centres and spreads @@ -2716,7 +2995,7 @@ subroutine wann_main_gamma ! update M do nn = 1, nntot - sqwb=1.0_dp/sqrt(wb(nn)) + sqwb=1.0_dp/sqrt(wb(nn)) m_matrix(:,:,nn,1)=sqwb*cmplx(m_w(:,:,2*nn-1),m_w(:,:,2*nn),dp) end do ! update U @@ -2738,8 +3017,8 @@ subroutine wann_main_gamma write(stdout,'(3x,a,f15.9)') ' Omega OD = ',& wann_spread%om_od*lenconfac**2 write(stdout,'(3x,a21,a,f15.9)') 'Final Spread ('//trim(length_unit)//'^2)',& - ' Omega Total = ',wann_spread%om_tot*lenconfac**2 - write(stdout,'(1x,a78)') repeat('-',78) + ' Omega Total = ',wann_spread%om_tot*lenconfac**2 + write(stdout,'(1x,a78)') repeat('-',78) if (write_xyz) call wann_write_xyz() @@ -2786,7 +3065,7 @@ subroutine wann_main_gamma if (ierr/=0) call io_error('Error in deallocating csheet in wann_main_gamma') deallocate(m_w,stat=ierr) if (ierr/=0) call io_error('Error in deallocating m_w in wann_main_gamma') - + ! deallocate module data deallocate( ln_tmp , stat=ierr ) if (ierr/=0) call io_error('Error in deallocating ln_tmp in wann_main_gamma') @@ -2807,7 +3086,7 @@ subroutine wann_main_gamma & 1x,'(',f10.6,',',f10.6,',',f10.6,' )',f15.8) contains - + !===============================================! subroutine internal_new_u_and_m_gamma() !===============================================! @@ -2826,8 +3105,8 @@ subroutine internal_new_u_and_m_gamma() loop_nw1: do nw1=1,num_wann loop_nw2: do nw2=nw1+1,num_wann - - a11=0.0_dp ; a12=0.0_dp ; a22=0.0_dp + + a11=0.0_dp ; a12=0.0_dp ; a22=0.0_dp do nn=1,tnntot a11=a11+(m_w(nw1,nw1,nn)-m_w(nw2,nw2,nn))**2 a12=a12+m_w(nw1,nw2,nn)*(m_w(nw1,nw1,nn)-m_w(nw2,nw2,nn)) @@ -2847,7 +3126,7 @@ subroutine internal_new_u_and_m_gamma() cc=cos(theta) ss=sin(theta) - ! update M + ! update M do nn=1,tnntot ! MR do nw3=1,num_wann @@ -2894,12 +3173,12 @@ subroutine internal_test_convergence_gamma() real(kind=dp) :: delta_omega integer :: j,ierr real(kind=dp), allocatable :: temp_hist(:) - + allocate(temp_hist(conv_window),stat=ierr) if (ierr/=0) call io_error('Error allocating temp_hist in wann_main') delta_omega=wann_spread%om_tot-old_spread%om_tot - + if (iter.le.conv_window) then history(iter) = delta_omega else @@ -2937,36 +3216,36 @@ end subroutine internal_test_convergence_gamma !~ !~ if (timing_level>1) call io_stopwatch('wann: main: check_unitarity',1) !~ -!~ do nkp = 1, num_kpts -!~ do i = 1, num_wann -!~ do j = 1, num_wann -!~ ctmp1 = cmplx_0 -!~ ctmp2 = cmplx_0 -!~ do m = 1, num_wann -!~ ctmp1 = ctmp1 + u_matrix (i, m, nkp) * conjg (u_matrix (j, m, nkp) ) -!~ ctmp2 = ctmp2 + u_matrix (m, j, nkp) * conjg (u_matrix (m, i, nkp) ) +!~ do nkp = 1, num_kpts +!~ do i = 1, num_wann +!~ do j = 1, num_wann +!~ ctmp1 = cmplx_0 +!~ ctmp2 = cmplx_0 +!~ do m = 1, num_wann +!~ ctmp1 = ctmp1 + u_matrix (i, m, nkp) * conjg (u_matrix (j, m, nkp) ) +!~ ctmp2 = ctmp2 + u_matrix (m, j, nkp) * conjg (u_matrix (m, i, nkp) ) !~ enddo !~ if ( (i.eq.j) .and. (abs (ctmp1 - cmplx_1 ) .gt. eps5) ) & !~ then !~ write ( stdout , * ) ' ERROR: unitariety of final U', nkp, i, j, & !~ ctmp1 -!~ call io_error('wann_main: unitariety error 1') +!~ call io_error('wann_main: unitariety error 1') !~ endif !~ if ( (i.eq.j) .and. (abs (ctmp2 - cmplx_1 ) .gt. eps5) ) & !~ then !~ write ( stdout , * ) ' ERROR: unitariety of final U', nkp, i, j, & !~ ctmp2 -!~ call io_error('wann_main: unitariety error 2') +!~ call io_error('wann_main: unitariety error 2') !~ endif -!~ if ( (i.ne.j) .and. (abs (ctmp1) .gt. eps5) ) then +!~ if ( (i.ne.j) .and. (abs (ctmp1) .gt. eps5) ) then !~ write ( stdout , * ) ' ERROR: unitariety of final U', nkp, i, j, & !~ ctmp1 -!~ call io_error('wann_main: unitariety error 3') +!~ call io_error('wann_main: unitariety error 3') !~ endif -!~ if ( (i.ne.j) .and. (abs (ctmp2) .gt. eps5) ) then +!~ if ( (i.ne.j) .and. (abs (ctmp2) .gt. eps5) ) then !~ write ( stdout , * ) ' ERROR: unitariety of final U', nkp, i, j, & !~ ctmp2 -!~ call io_error('wann_main: unitariety error 4') +!~ call io_error('wann_main: unitariety error 4') !~ endif !~ enddo !~ enddo @@ -2987,7 +3266,7 @@ end subroutine internal_test_convergence_gamma !~ ! ! !~ !========================================! !~ use w90_io, only: seedname,io_file_unit,io_error -!~ +!~ !~ implicit none !~ !~ integer :: r2mnunit,nw1,nw2,nkp,nn @@ -2997,12 +3276,12 @@ end subroutine internal_test_convergence_gamma !~ ! shift-invariant Eq. 32 . !~ r2mnunit=io_file_unit() !~ open(r2mnunit,file=trim(seedname)//'.r2mn',form='formatted',err=158) -!~ do nw1 = 1, num_wann -!~ do nw2 = 1, num_wann -!~ r2ave_mn = 0.0_dp -!~ delta = 0.0_dp -!~ if (nw1.eq.nw2) delta = 1.0_dp -!~ do nkp = 1, num_kpts +!~ do nw1 = 1, num_wann +!~ do nw2 = 1, num_wann +!~ r2ave_mn = 0.0_dp +!~ delta = 0.0_dp +!~ if (nw1.eq.nw2) delta = 1.0_dp +!~ do nkp = 1, num_kpts !~ do nn = 1, nntot !~ r2ave_mn = r2ave_mn + wb(nn) * & !~ ! [GP-begin, Apr13, 2012: corrected sign inside "real"] @@ -3010,16 +3289,16 @@ end subroutine internal_test_convergence_gamma !~ conjg(m_matrix(nw2,nw1,nn,nkp)),kind=dp) ) !~ enddo !~ enddo -!~ r2ave_mn = r2ave_mn / real(num_kpts,dp) -!~ write (r2mnunit, '(2i6,f20.12)') nw1, nw2, r2ave_mn +!~ r2ave_mn = r2ave_mn / real(num_kpts,dp) +!~ write (r2mnunit, '(2i6,f20.12)') nw1, nw2, r2ave_mn !~ enddo !~ enddo -!~ close(r2mnunit) -!~ +!~ close(r2mnunit) +!~ !~ return -!~ +!~ !~158 call io_error('Error opening file '//trim(seedname)//'.r2mn in wann_main') -!~ +!~ !~ end subroutine internal_write_r2mn @@ -3031,9 +3310,9 @@ end subroutine internal_test_convergence_gamma !~ implicit none !~ !~ complex(kind=dp), allocatable :: cv1(:,:),cv2(:,:) -!~ complex(kind=dp), allocatable :: cw1(:),cw2(:) -!~ complex(kind=dp), allocatable :: cpad1 (:) -!~ real(kind=dp), allocatable :: singvd (:) +!~ complex(kind=dp), allocatable :: cw1(:),cw2(:) +!~ complex(kind=dp), allocatable :: cpad1 (:) +!~ real(kind=dp), allocatable :: singvd (:) !~ !~ integer :: nkp,nn,nb,na,ind !~ real(kind=dp) :: omt1,omt2,omt3 @@ -3053,37 +3332,37 @@ end subroutine internal_test_convergence_gamma !~ allocate( cpad1 (num_wann * num_wann),stat=ierr ) !~ if (ierr/=0) call io_error('Error in allocating cpad1 in wann_main') !~ -!~ cw1=cmplx_0; cw2=cmplx_0; cv1=cmplx_0; cv2=cmplx_0; cpad1=cmplx_0 +!~ cw1=cmplx_0; cw2=cmplx_0; cv1=cmplx_0; cv2=cmplx_0; cpad1=cmplx_0 !~ singvd=0.0_dp !~ !~ ! singular value decomposition !~ omt1 = 0.0_dp ; omt2 = 0.0_dp ; omt3 = 0.0_dp -!~ do nkp = 1, num_kpts -!~ do nn = 1, nntot -!~ ind = 1 -!~ do nb = 1, num_wann -!~ do na = 1, num_wann -!~ cpad1 (ind) = m_matrix (na, nb, nn, nkp) -!~ ind = ind+1 +!~ do nkp = 1, num_kpts +!~ do nn = 1, nntot +!~ ind = 1 +!~ do nb = 1, num_wann +!~ do na = 1, num_wann +!~ cpad1 (ind) = m_matrix (na, nb, nn, nkp) +!~ ind = ind+1 !~ enddo !~ enddo !~ call zgesvd ('A', 'A', num_wann, num_wann, cpad1, num_wann, singvd, cv1, & !~ num_wann, cv2, num_wann, cw1, 10 * num_wann, cw2, info) -!~ if (info.ne.0) then -!~ call io_error('ERROR: Singular value decomp. zgesvd failed') +!~ if (info.ne.0) then +!~ call io_error('ERROR: Singular value decomp. zgesvd failed') !~ endif !~ -!~ do nb = 1, num_wann -!~ omt1 = omt1 + wb(nn) * (1.0_dp - singvd (nb) **2) -!~ omt2 = omt2 - wb(nn) * (2.0_dp * log (singvd (nb) ) ) -!~ omt3 = omt3 + wb(nn) * (acos (singvd (nb) ) **2) +!~ do nb = 1, num_wann +!~ omt1 = omt1 + wb(nn) * (1.0_dp - singvd (nb) **2) +!~ omt2 = omt2 - wb(nn) * (2.0_dp * log (singvd (nb) ) ) +!~ omt3 = omt3 + wb(nn) * (acos (singvd (nb) ) **2) !~ enddo !~ enddo !~ enddo -!~ omt1 = omt1 / real(num_kpts,dp) -!~ omt2 = omt2 / real(num_kpts,dp) -!~ omt3 = omt3 / real(num_kpts,dp) -!~ write ( stdout , * ) ' ' +!~ omt1 = omt1 / real(num_kpts,dp) +!~ omt2 = omt2 / real(num_kpts,dp) +!~ omt3 = omt3 / real(num_kpts,dp) +!~ write ( stdout , * ) ' ' !~ write(stdout,'(2x,a,f15.9,1x,a)') 'Omega Invariant: 1-s^2 = ',& !~ omt1*lenconfac**2,'('//trim(length_unit)//'^2)' !~ write(stdout,'(2x,a,f15.9,1x,a)') ' -2log s = ',& @@ -3107,7 +3386,7 @@ end subroutine internal_test_convergence_gamma !~ if (timing_level>1) call io_stopwatch('wann: main: svd_omega_i',2) !~ !~ return -!~ +!~ !~ end subroutine internal_svd_omega_i @@ -3119,7 +3398,7 @@ subroutine wann_omega_gamma(m_w,csheet,sheet,rave,r2ave,rave2,wann_spread) ! ! ! Calculate the Wannier Function spread ! ! ! - !=================================================================== + !=================================================================== use w90_parameters, only : num_wann,nntot,wbtot,wb,bk,& omega_invariant,timing_level use w90_io, only : io_error,io_stopwatch @@ -3149,7 +3428,7 @@ subroutine wann_omega_gamma(m_w,csheet,sheet,rave,r2ave,rave2,wann_spread) rn = 2*nn-1 cn = 2*nn do n = 1, num_wann - ln_tmp(n,nn,1)= atan2(m_w(n,n,cn),m_w(n,n,rn)) + ln_tmp(n,nn,1)= atan2(m_w(n,n,cn),m_w(n,n,rn)) end do end do else @@ -3158,15 +3437,15 @@ subroutine wann_omega_gamma(m_w,csheet,sheet,rave,r2ave,rave2,wann_spread) cn = 2*nn do n = 1, num_wann ln_tmp(n,nn,1)= aimag(log(csheet(n,nn,1)*cmplx(m_w(n,n,rn),m_w(n,n,cn),dp))) & - -sheet(n,nn,1) + -sheet(n,nn,1) end do end do endif rave = 0.0_dp - do iw = 1, num_wann - do ind = 1, 3 - do nn = 1, nntot + do iw = 1, num_wann + do ind = 1, 3 + do nn = 1, nntot rave(ind,iw) = rave(ind,iw) - wb(nn) * bk(ind,nn,1) & *ln_tmp(iw,nn,1) enddo @@ -3174,47 +3453,47 @@ subroutine wann_omega_gamma(m_w,csheet,sheet,rave,r2ave,rave2,wann_spread) enddo rave2 = 0.0_dp - do iw = 1, num_wann + do iw = 1, num_wann rave2(iw) = sum(rave(:,iw)*rave(:,iw)) enddo m_w_nn2 = 0.0_dp r2ave = wbtot - do iw = 1, num_wann - do nn = 1, nntot - rn = 2*nn -1 + do iw = 1, num_wann + do nn = 1, nntot + rn = 2*nn -1 cn = 2*nn m_w_nn2(iw) = m_w_nn2(iw) + m_w(iw,iw,rn)**2 + m_w(iw,iw,cn)**2 - r2ave(iw) = r2ave(iw) + wb(nn)*ln_tmp(iw,nn,1)**2 + r2ave(iw) = r2ave(iw) + wb(nn)*ln_tmp(iw,nn,1)**2 enddo - r2ave(iw) = r2ave(iw) - m_w_nn2(iw) + r2ave(iw) = r2ave(iw) - m_w_nn2(iw) enddo if (first_pass) then - summ = 0.0_dp - do nn = 1, nntot + summ = 0.0_dp + do nn = 1, nntot rn = 2*nn -1 - cn = 2*nn - do m = 1, num_wann - do n = 1, num_wann + cn = 2*nn + do m = 1, num_wann + do n = 1, num_wann summ = summ + m_w(n,m,rn)**2+m_w(n,m,cn)**2 enddo enddo enddo wann_spread%om_i = wbtot*real(num_wann,dp) - summ first_pass=.false. - else + else wann_spread%om_i=omega_invariant endif - wann_spread%om_od = wbtot*real(num_wann,dp) - sum(m_w_nn2(:)) - wann_spread%om_i + wann_spread%om_od = wbtot*real(num_wann,dp) - sum(m_w_nn2(:)) - wann_spread%om_i - if (nntot.eq.3) then - wann_spread%om_d = 0.0_dp + if (nntot.eq.3) then + wann_spread%om_d = 0.0_dp else - wann_spread%om_d = 0.0_dp - do nn = 1, nntot - do n = 1, num_wann + wann_spread%om_d = 0.0_dp + do nn = 1, nntot + do n = 1, num_wann brn = sum(bk(:,nn,1)*rave(:,n)) wann_spread%om_d = wann_spread%om_d + wb(nn) & * ( ln_tmp(n,nn,1) + brn)**2 @@ -3229,7 +3508,7 @@ subroutine wann_omega_gamma(m_w,csheet,sheet,rave,r2ave,rave2,wann_spread) if (timing_level>1) call io_stopwatch('wann: omega_gamma',2) - return + return end subroutine wann_omega_gamma diff --git a/test-suite/tests/jobconfig b/test-suite/tests/jobconfig index 9a99087cc..c606c10f8 100644 --- a/test-suite/tests/jobconfig +++ b/test-suite/tests/jobconfig @@ -308,6 +308,12 @@ program = POSTW90_SC_OK inputs_args = ('gaas.win', '') output = gaas-sc_xyz.dat +# Test of selective localization and constrained centres +[testw90_example26] +program = WANNIER90_WOUT_OK +inputs_args = ('gaas.win', '') +output = gaas.wout + [categories] wannier_only = testw90_* postw90_only = testpostw90_* diff --git a/test-suite/tests/testw90_example26/benchmark.out.default.inp=gaas.win b/test-suite/tests/testw90_example26/benchmark.out.default.inp=gaas.win new file mode 100644 index 000000000..cf6b72e30 --- /dev/null +++ b/test-suite/tests/testw90_example26/benchmark.out.default.inp=gaas.win @@ -0,0 +1,1393 @@ + + +---------------------------------------------------+ + | | + | WANNIER90 | + | | + +---------------------------------------------------+ + | | + | Welcome to the Maximally-Localized | + | Generalized Wannier Functions code | + | http://www.wannier.org | + | | + | Wannier90 v2.x Authors: | + | Arash A. Mostofi (Imperial College London) | + | Giovanni Pizzi (EPFL) | + | Ivo Souza (Universidad del Pais Vasco) | + | Jonathan R. Yates (University of Oxford) | + | | + | Wannier90 Contributors: | + | Young-Su Lee (KIST, S. Korea) | + | Matthew Shelley (Imperial College London) | + | Nicolas Poilvert (Penn State University) | + | Raffaello Bianco (Paris 6 and CNRS) | + | Gabriele Sclauzero (ETH Zurich) | + | David Strubbe (MIT, USA) | + | Rei Sakuma (Lund University, Sweden) | + | Yusuke Nomura (U. Tokyo, Japan) | + | Takashi Koretsune (Riken, Japan) | + | Yoshiro Nohara (ASMS Co. Ltd., Japan) | + | Ryotaro Arita (Riken, Japan) | + | Lorenzo Paulatto (UPMC Paris) | + | Florian Thole (ETH Zurich) | + | Pablo Garcia Fernandez (Unican, Spain) | + | Dominik Gresch (ETH Zurich) | + | Samuel Ponce (University of Oxford) | + | Marco Gibertini (EPFL) | + | Christian Stieger (ETHZ, CH) | + | Stepan Tsirkin (Universidad del Pais Vasco) | + | | + | Wannier77 Authors: | + | Nicola Marzari (EPFL) | + | Ivo Souza (Universidad del Pais Vasco) | + | David Vanderbilt (Rutgers University) | + | | + | Please cite | + | | + | [ref] "An updated version of Wannier90: | + | A Tool for Obtaining Maximally Localised | + | Wannier Functions", A. A. Mostofi, | + | J. R. Yates, G. Pizzi, Y. S. Lee, | + | I. Souza, D. Vanderbilt and N. Marzari, | + | Comput. Phys. Commun. 185, 2309 (2014) | + | http://dx.doi.org/10.1016/j.cpc.2014.05.003| + | | + | in any publications arising from the use of | + | this code. For the method please cite | + | | + | [ref] "Maximally Localized Generalised Wannier | + | Functions for Composite Energy Bands" | + | N. Marzari and D. Vanderbilt | + | Phys. Rev. B 56 12847 (1997) | + | | + | [ref] "Maximally Localized Wannier Functions | + | for Entangled Energy Bands" | + | I. Souza, N. Marzari and D. Vanderbilt | + | Phys. Rev. B 65 035109 (2001) | + | | + | | + | Copyright (c) 1996-2017 | + | Arash A. Mostofi, Jonathan R. Yates, | + | Young-Su Lee, Giovanni Pizzi, Ivo Souza, | + | David Vanderbilt and Nicola Marzari | + | | + | Release: 2.1.0+git 13th January 2017 | + | | + | 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., | + | 675 Mass Ave, Cambridge, MA 02139, USA. | + | | + +---------------------------------------------------+ + | Execution started on 30Sep2018 at 11:00:36 | + +---------------------------------------------------+ + + ****************************************************************************** + * -> Using CODATA 2006 constant values * + * (http://physics.nist.gov/cuu/Constants/index.html) * + * -> Using Bohr value from CODATA * + ****************************************************************************** + + + Running in serial (with parallel executable) + + ------ + SYSTEM + ------ + + Lattice Vectors (Ang) + a_1 -2.825806 0.000000 2.825806 + a_2 0.000000 2.825806 2.825806 + a_3 -2.825806 2.825806 0.000000 + + Unit Cell Volume: 45.12915 (Ang^3) + + Reciprocal-Space Vectors (Ang^-1) + b_1 -1.111751 -1.111751 1.111751 + b_2 1.111751 1.111751 1.111751 + b_3 -1.111751 1.111751 -1.111751 + + *----------------------------------------------------------------------------* + | Site Fractional Coordinate Cartesian Coordinate (Ang) | + +----------------------------------------------------------------------------+ + | Ga 1 0.00000 0.00000 0.00000 | 0.00000 0.00000 0.00000 | + | As 1 0.25000 0.25000 0.25000 | -1.41290 1.41290 1.41290 | + *----------------------------------------------------------------------------* + + *----------------------------------------------------------------------------* + | Wannier# Original Centres Constrained centres | + +----------------------------------------------------------------------------+ + | 1 0.25000 0.25000 0.25000 | 0.00000 0.00000 0.00000 | + *----------------------------------------------------------------------------* + ------------ + K-POINT GRID + ------------ + + Grid size = 4 x 4 x 4 Total points = 64 + + + *---------------------------------- MAIN ------------------------------------* + | Number of Wannier Functions : 4 | + | Number of Objective Wannier Functions : 1 | + | Number of input Bloch states : 4 | + | Output verbosity (1=low, 5=high) : 1 | + | Timing Level (1=low, 5=high) : 1 | + | Optimisation (0=memory, 3=speed) : 3 | + | Length Unit : Ang | + | Post-processing setup (write *.nnkp) : F | + | Using Gamma-only branch of algorithms : F | + *----------------------------------------------------------------------------* + *------------------------------- WANNIERISE ---------------------------------* + | Total number of iterations : 100 | + | Number of CG steps before reset : 5 | + | Trial step length for line search : 2.000 | + | Convergence tolerence : 0.100E-09 | + | Convergence window : -1 | + | Iterations between writing output : 1 | + | Iterations between backing up to disk : 100 | + | Write r^2_nm to file : F | + | Write xyz WF centres to file : F | + | Write on-site energies <0n|H|0n> to file : F | + | Use guiding centre to control phases : F | + | Use phases for initial projections : F | + | Perform selective localization : T | + | Use constrains in selective localization : T | + | Value of the Lagrange multiplier : 0.100E+01 | + *----------------------------------------------------------------------------* + Time to read parameters 0.012 (sec) + + *---------------------------------- K-MESH ----------------------------------* + +----------------------------------------------------------------------------+ + | Distance to Nearest-Neighbour Shells | + | ------------------------------------ | + | Shell Distance (Ang^-1) Multiplicity | + | ----- ----------------- ------------ | + | 1 0.481402 8 | + | 2 0.555875 6 | + | 3 0.786127 12 | + | 4 0.921815 24 | + | 5 0.962805 8 | + | 6 1.111751 6 | + | 7 1.211502 24 | + | 8 1.242975 24 | + | 9 1.361611 24 | + | 10 1.444207 32 | + | 11 1.572253 12 | + | 12 1.644302 48 | + +----------------------------------------------------------------------------+ + | The b-vectors are chosen automatically | + | The following shells are used: 1 | + +----------------------------------------------------------------------------+ + | Shell # Nearest-Neighbours | + | ----- -------------------- | + | 1 8 | + +----------------------------------------------------------------------------+ + | Completeness relation is fully satisfied [Eq. (B1), PRB 56, 12847 (1997)] | + +----------------------------------------------------------------------------+ + | b_k Vectors (Ang^-1) and Weights (Ang^2) | + | ---------------------------------------- | + | No. b_k(x) b_k(y) b_k(z) w_b | + | --- -------------------------------- -------- | + | 1 -0.277938 -0.277938 0.277938 1.618136 | + | 2 0.277938 0.277938 0.277938 1.618136 | + | 3 -0.277938 0.277938 -0.277938 1.618136 | + | 4 -0.277938 0.277938 0.277938 1.618136 | + | 5 0.277938 -0.277938 0.277938 1.618136 | + | 6 -0.277938 -0.277938 -0.277938 1.618136 | + | 7 0.277938 0.277938 -0.277938 1.618136 | + | 8 0.277938 -0.277938 -0.277938 1.618136 | + +----------------------------------------------------------------------------+ + | b_k Directions (Ang^-1) | + | ----------------------- | + | No. x y z | + | --- -------------------------------- | + | 1 -0.277938 -0.277938 0.277938 | + | 2 0.277938 0.277938 0.277938 | + | 3 -0.277938 0.277938 -0.277938 | + | 4 -0.277938 0.277938 0.277938 | + +----------------------------------------------------------------------------+ + + Time to get kmesh 0.040 (sec) + *============================================================================* + | MEMORY ESTIMATE | + | Maximum RAM allocated during each phase of the calculation | + *============================================================================* + | Wannierise: 0.42 Mb | + | plot_wannier: 0.42 Mb | + *----------------------------------------------------------------------------* + + Starting a new Wannier90 calculation ... + + + Reading overlaps from gaas.mmn : Created on 21Jun2018 at 13:28:44 + + Reading projections from gaas.amn : Created on 21Jun2018 at 13:28:41 + + Time to read overlaps 0.008 (sec) + + Writing checkpoint file gaas.chk... done + + + *------------------------------- WANNIERISE ---------------------------------* + +--------------------------------------------------------------------+<-- CONV + | Iter Delta Spread RMS Gradient Spread (Ang^2) Time |<-- CONV + +--------------------------------------------------------------------+<-- CONV + + ------------------------------------------------------------------------------ + Initial State + WF centre and spread 1 ( -0.857524, 0.857524, 0.857524 ) 1.80463310 + WF centre and spread 2 ( 0.857524, -0.857524, 0.857524 ) 1.80463311 + WF centre and spread 3 ( 0.857524, 0.857524, -0.857524 ) 1.80463311 + WF centre and spread 4 ( -0.857524, -0.857524, -0.857524 ) 1.80463311 + Sum of centres and spreads ( -0.000000, -0.000000, 0.000000 ) 7.21853243 + + 0 -0.317E+01 0.0000000000 -3.1653368719 0.00 <-- CONV + O_D= 0.0000000 O_IOD= -3.1653369 O_TOT= -3.1653369 <-- SPRD + ------------------------------------------------------------------------------ + Cycle: 1 + WF centre and spread 1 ( -0.853260, 0.853260, 0.853260 ) 1.70201498 + WF centre and spread 2 ( 0.857352, -0.857352, 0.862454 ) 1.84658331 + WF centre and spread 3 ( 0.857352, 0.862454, -0.857352 ) 1.84658331 + WF centre and spread 4 ( -0.862454, -0.857352, -0.857352 ) 1.84658331 + Sum of centres and spreads ( -0.001010, 0.001010, 0.001010 ) 7.24176492 + + 1 -0.884E-01 0.2093698260 -3.2536918930 0.00 <-- CONV + O_IOD= -3.2536919 O_D= 0.0000000 O_TOT= -3.2536919 <-- SPRD +Delta: O_IOD= -0.1245020E+00 O_D= 0.0000000E+00 O_TOT= -0.8835502E-01 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 2 + WF centre and spread 1 ( -0.846141, 0.846141, 0.846141 ) 1.61013956 + WF centre and spread 2 ( 0.857940, -0.857940, 0.873612 ) 1.93405439 + WF centre and spread 3 ( 0.857940, 0.873612, -0.857940 ) 1.93405439 + WF centre and spread 4 ( -0.873612, -0.857940, -0.857940 ) 1.93405438 + Sum of centres and spreads ( -0.003873, 0.003873, 0.003873 ) 7.41230271 + + 2 -0.678E-01 0.1671857056 -3.3215113266 0.01 <-- CONV + O_IOD= -3.3215113 O_D= 0.0000000 O_TOT= -3.3215113 <-- SPRD +Delta: O_IOD= -0.1281685E+00 O_D= 0.0000000E+00 O_TOT= -0.6781943E-01 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 3 + WF centre and spread 1 ( -0.857607, 0.857607, 0.857607 ) 1.52587221 + WF centre and spread 2 ( 0.875971, -0.875971, 0.904991 ) 2.19145860 + WF centre and spread 3 ( 0.875971, 0.904991, -0.875971 ) 2.19145859 + WF centre and spread 4 ( -0.904991, -0.875971, -0.875971 ) 2.19145859 + Sum of centres and spreads ( -0.010656, 0.010656, 0.010656 ) 8.10024800 + + 3 -0.123E+00 0.2328062477 -3.4443762364 0.01 <-- CONV + O_IOD= -3.4443762 O_D= 0.0000000 O_TOT= -3.4443762 <-- SPRD +Delta: O_IOD= -0.2566031E-01 O_D= 0.0000000E+00 O_TOT= -0.1228649E+00 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 4 + WF centre and spread 1 ( -1.017300, 1.017300, 1.017300 ) 1.82851795 + WF centre and spread 2 ( 0.981515, -0.981515, 0.960377 ) 2.57718759 + WF centre and spread 3 ( 0.981515, 0.960377, -0.981515 ) 2.57718759 + WF centre and spread 4 ( -0.960377, -0.981515, -0.981515 ) 2.57718759 + Sum of centres and spreads ( -0.014646, 0.014646, 0.014646 ) 9.56008072 + + 4 -0.153E+00 0.2801589721 -3.5972851690 0.01 <-- CONV + O_IOD= -3.5972852 O_D= 0.0000000 O_TOT= -3.5972852 <-- SPRD +Delta: O_IOD= 0.1200872E+01 O_D= 0.0000000E+00 O_TOT= -0.1529089E+00 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 5 + WF centre and spread 1 ( -1.037917, 1.037917, 1.037917 ) 1.68125783 + WF centre and spread 2 ( 0.992342, -0.992342, 0.963799 ) 2.54839613 + WF centre and spread 3 ( 0.992342, 0.963799, -0.992342 ) 2.54839612 + WF centre and spread 4 ( -0.963799, -0.992342, -0.992342 ) 2.54839612 + Sum of centres and spreads ( -0.017032, 0.017032, 0.017032 ) 9.32644621 + + 5 -0.195E+00 0.5498266615 -3.7922087466 0.01 <-- CONV + O_IOD= -3.7922087 O_D= 0.0000000 O_TOT= -3.7922087 <-- SPRD +Delta: O_IOD= -0.2013825E-01 O_D= 0.0000000E+00 O_TOT= -0.1949236E+00 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 6 + WF centre and spread 1 ( -1.092054, 1.092054, 1.092054 ) 1.60414954 + WF centre and spread 2 ( 1.020977, -1.020977, 0.975165 ) 2.49639070 + WF centre and spread 3 ( 1.020977, 0.975165, -1.020977 ) 2.49639070 + WF centre and spread 4 ( -0.975165, -1.020977, -1.020977 ) 2.49639070 + Sum of centres and spreads ( -0.025265, 0.025265, 0.025265 ) 9.09332163 + + 6 -0.190E+00 0.3356017036 -3.9823282866 0.02 <-- CONV + O_IOD= -3.9823283 O_D= 0.0000000 O_TOT= -3.9823283 <-- SPRD +Delta: O_IOD= 0.2688227E+00 O_D= 0.0000000E+00 O_TOT= -0.1901195E+00 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 7 + WF centre and spread 1 ( -1.123741, 1.123741, 1.123741 ) 1.56801410 + WF centre and spread 2 ( 1.038775, -1.038775, 0.984768 ) 2.50000838 + WF centre and spread 3 ( 1.038775, 0.984768, -1.038775 ) 2.50000837 + WF centre and spread 4 ( -0.984768, -1.038775, -1.038775 ) 2.50000837 + Sum of centres and spreads ( -0.030959, 0.030959, 0.030959 ) 9.06803923 + + 7 -0.941E-01 0.2980315124 -4.0764517907 0.02 <-- CONV + O_IOD= -4.0764518 O_D= 0.0000000 O_TOT= -4.0764518 <-- SPRD +Delta: O_IOD= 0.1744998E+00 O_D= 0.0000000E+00 O_TOT= -0.9412350E-01 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 8 + WF centre and spread 1 ( -1.155556, 1.155556, 1.155556 ) 1.57912127 + WF centre and spread 2 ( 1.059085, -1.059085, 0.994405 ) 2.53164875 + WF centre and spread 3 ( 1.059085, 0.994405, -1.059085 ) 2.53164875 + WF centre and spread 4 ( -0.994405, -1.059085, -1.059085 ) 2.53164875 + Sum of centres and spreads ( -0.031791, 0.031791, 0.031791 ) 9.17406752 + + 8 -0.411E-01 0.1520753890 -4.1175052727 0.02 <-- CONV + O_IOD= -4.1175053 O_D= 0.0000000 O_TOT= -4.1175053 <-- SPRD +Delta: O_IOD= 0.2286508E+00 O_D= 0.0000000E+00 O_TOT= -0.4105348E-01 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 9 + WF centre and spread 1 ( -1.324440, 1.324440, 1.324440 ) 1.66721396 + WF centre and spread 2 ( 1.175111, -1.175111, 1.043767 ) 2.69232537 + WF centre and spread 3 ( 1.175111, 1.043767, -1.175111 ) 2.69232537 + WF centre and spread 4 ( -1.043767, -1.175111, -1.175111 ) 2.69232536 + Sum of centres and spreads ( -0.017984, 0.017984, 0.017984 ) 9.74419007 + + 9 -0.871E-01 0.1060210897 -4.2046181682 0.02 <-- CONV + O_IOD= -4.2046182 O_D= 0.0000000 O_TOT= -4.2046182 <-- SPRD +Delta: O_IOD= 0.1344586E+01 O_D= 0.0000000E+00 O_TOT= -0.8711290E-01 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 10 + WF centre and spread 1 ( -1.326737, 1.326737, 1.326737 ) 1.63795226 + WF centre and spread 2 ( 1.176695, -1.176695, 1.044371 ) 2.69011514 + WF centre and spread 3 ( 1.176695, 1.044371, -1.176695 ) 2.69011513 + WF centre and spread 4 ( -1.044371, -1.176695, -1.176695 ) 2.69011513 + Sum of centres and spreads ( -0.017719, 0.017719, 0.017719 ) 9.70829766 + + 10 -0.305E-01 0.2234038701 -4.2350835476 0.03 <-- CONV + O_IOD= -4.2350835 O_D= 0.0000000 O_TOT= -4.2350835 <-- SPRD +Delta: O_IOD= -0.1098783E-01 O_D= 0.0000000E+00 O_TOT= -0.3046538E-01 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 11 + WF centre and spread 1 ( -1.331174, 1.331174, 1.331174 ) 1.63119389 + WF centre and spread 2 ( 1.179760, -1.179760, 1.045559 ) 2.69229989 + WF centre and spread 3 ( 1.179760, 1.045559, -1.179760 ) 2.69229989 + WF centre and spread 4 ( -1.045559, -1.179760, -1.179760 ) 2.69229989 + Sum of centres and spreads ( -0.017213, 0.017213, 0.017213 ) 9.70809356 + + 11 -0.899E-02 0.0978846889 -4.2440766832 0.03 <-- CONV + O_IOD= -4.2440767 O_D= 0.0000000 O_TOT= -4.2440767 <-- SPRD +Delta: O_IOD= 0.2861978E-01 O_D= 0.0000000E+00 O_TOT= -0.8993136E-02 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 12 + WF centre and spread 1 ( -1.337829, 1.337829, 1.337829 ) 1.62982546 + WF centre and spread 2 ( 1.184466, -1.184466, 1.047461 ) 2.69769629 + WF centre and spread 3 ( 1.184466, 1.047461, -1.184466 ) 2.69769629 + WF centre and spread 4 ( -1.047461, -1.184466, -1.184466 ) 2.69769629 + Sum of centres and spreads ( -0.016358, 0.016358, 0.016358 ) 9.72291432 + + 12 -0.450E-02 0.0612392753 -4.2485755759 0.03 <-- CONV + O_IOD= -4.2485756 O_D= 0.0000000 O_TOT= -4.2485756 <-- SPRD +Delta: O_IOD= 0.5191597E-01 O_D= 0.0000000E+00 O_TOT= -0.4498893E-02 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 13 + WF centre and spread 1 ( -1.348249, 1.348249, 1.348249 ) 1.63143399 + WF centre and spread 2 ( 1.191958, -1.191958, 1.050676 ) 2.70585700 + WF centre and spread 3 ( 1.191958, 1.050676, -1.191958 ) 2.70585700 + WF centre and spread 4 ( -1.050676, -1.191958, -1.191958 ) 2.70585700 + Sum of centres and spreads ( -0.015009, 0.015009, 0.015009 ) 9.74900500 + + 13 -0.276E-02 0.0382407472 -4.2513351190 0.03 <-- CONV + O_IOD= -4.2513351 O_D= 0.0000000 O_TOT= -4.2513351 <-- SPRD +Delta: O_IOD= 0.8557839E-01 O_D= 0.0000000E+00 O_TOT= -0.2759543E-02 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 14 + WF centre and spread 1 ( -1.357152, 1.357152, 1.357152 ) 1.63283786 + WF centre and spread 2 ( 1.198371, -1.198371, 1.053527 ) 2.71257938 + WF centre and spread 3 ( 1.198371, 1.053527, -1.198371 ) 2.71257938 + WF centre and spread 4 ( -1.053527, -1.198371, -1.198371 ) 2.71257938 + Sum of centres and spreads ( -0.013937, 0.013937, 0.013937 ) 9.77057601 + + 14 -0.181E-02 0.0498463302 -4.2531471085 0.04 <-- CONV + O_IOD= -4.2531471 O_D= 0.0000000 O_TOT= -4.2531471 <-- SPRD +Delta: O_IOD= 0.7366148E-01 O_D= 0.0000000E+00 O_TOT= -0.1811989E-02 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 15 + WF centre and spread 1 ( -1.377907, 1.377907, 1.377907 ) 1.63520001 + WF centre and spread 2 ( 1.213422, -1.213422, 1.060562 ) 2.72681810 + WF centre and spread 3 ( 1.213422, 1.060562, -1.213422 ) 2.72681810 + WF centre and spread 4 ( -1.060562, -1.213422, -1.213422 ) 2.72681810 + Sum of centres and spreads ( -0.011624, 0.011624, 0.011624 ) 9.81565431 + + 15 -0.329E-02 0.0410669648 -4.2564352690 0.04 <-- CONV + O_IOD= -4.2564353 O_D= 0.0000000 O_TOT= -4.2564353 <-- SPRD +Delta: O_IOD= 0.1726574E+00 O_D= 0.0000000E+00 O_TOT= -0.3288161E-02 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 16 + WF centre and spread 1 ( -1.379576, 1.379576, 1.379576 ) 1.63387103 + WF centre and spread 2 ( 1.214664, -1.214664, 1.061287 ) 2.72726326 + WF centre and spread 3 ( 1.214664, 1.061287, -1.214664 ) 2.72726326 + WF centre and spread 4 ( -1.061287, -1.214664, -1.214664 ) 2.72726326 + Sum of centres and spreads ( -0.011536, 0.011536, 0.011536 ) 9.81566081 + + 16 -0.167E-02 0.0378217072 -4.2581064770 0.04 <-- CONV + O_IOD= -4.2581065 O_D= 0.0000000 O_TOT= -4.2581065 <-- SPRD +Delta: O_IOD= 0.1248324E-01 O_D= 0.0000000E+00 O_TOT= -0.1671208E-02 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 17 + WF centre and spread 1 ( -1.381653, 1.381653, 1.381653 ) 1.63359089 + WF centre and spread 2 ( 1.216234, -1.216234, 1.062178 ) 2.72830899 + WF centre and spread 3 ( 1.216234, 1.062178, -1.216234 ) 2.72830898 + WF centre and spread 4 ( -1.062178, -1.216234, -1.216234 ) 2.72830898 + Sum of centres and spreads ( -0.011363, 0.011363, 0.011363 ) 9.81851785 + + 17 -0.682E-03 0.0257563530 -4.2587889029 0.04 <-- CONV + O_IOD= -4.2587889 O_D= 0.0000000 O_TOT= -4.2587889 <-- SPRD +Delta: O_IOD= 0.1692091E-01 O_D= 0.0000000E+00 O_TOT= -0.6824259E-03 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 18 + WF centre and spread 1 ( -1.384135, 1.384135, 1.384135 ) 1.63353907 + WF centre and spread 2 ( 1.218126, -1.218126, 1.063227 ) 2.72976295 + WF centre and spread 3 ( 1.218126, 1.063227, -1.218126 ) 2.72976295 + WF centre and spread 4 ( -1.063227, -1.218126, -1.218126 ) 2.72976295 + Sum of centres and spreads ( -0.011109, 0.011109, 0.011109 ) 9.82282791 + + 18 -0.499E-03 0.0256925310 -4.2592876331 0.05 <-- CONV + O_IOD= -4.2592876 O_D= 0.0000000 O_TOT= -4.2592876 <-- SPRD +Delta: O_IOD= 0.2054256E-01 O_D= 0.0000000E+00 O_TOT= -0.4987302E-03 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 19 + WF centre and spread 1 ( -1.388215, 1.388215, 1.388215 ) 1.63377320 + WF centre and spread 2 ( 1.221245, -1.221245, 1.064879 ) 2.73236550 + WF centre and spread 3 ( 1.221245, 1.064879, -1.221245 ) 2.73236550 + WF centre and spread 4 ( -1.064879, -1.221245, -1.221245 ) 2.73236549 + Sum of centres and spreads ( -0.010604, 0.010604, 0.010604 ) 9.83086968 + + 19 -0.420E-03 0.0159619925 -4.2597077945 0.05 <-- CONV + O_IOD= -4.2597078 O_D= 0.0000000 O_TOT= -4.2597078 <-- SPRD +Delta: O_IOD= 0.3416644E-01 O_D= 0.0000000E+00 O_TOT= -0.4201614E-03 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 20 + WF centre and spread 1 ( -1.393620, 1.393620, 1.393620 ) 1.63405770 + WF centre and spread 2 ( 1.225363, -1.225363, 1.067014 ) 2.73590592 + WF centre and spread 3 ( 1.225363, 1.067014, -1.225363 ) 2.73590591 + WF centre and spread 4 ( -1.067014, -1.225363, -1.225363 ) 2.73590591 + Sum of centres and spreads ( -0.009909, 0.009909, 0.009909 ) 9.84177544 + + 20 -0.429E-03 0.0191516438 -4.2601363940 0.05 <-- CONV + O_IOD= -4.2601364 O_D= 0.0000000 O_TOT= -4.2601364 <-- SPRD +Delta: O_IOD= 0.4539868E-01 O_D= 0.0000000E+00 O_TOT= -0.4285996E-03 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 21 + WF centre and spread 1 ( -1.401459, 1.401459, 1.401459 ) 1.63429573 + WF centre and spread 2 ( 1.231245, -1.231245, 1.069967 ) 2.74094292 + WF centre and spread 3 ( 1.231245, 1.069967, -1.231245 ) 2.74094291 + WF centre and spread 4 ( -1.069967, -1.231245, -1.231245 ) 2.74094291 + Sum of centres and spreads ( -0.008936, 0.008936, 0.008936 ) 9.85712447 + + 21 -0.485E-03 0.0158734032 -4.2606209284 0.05 <-- CONV + O_IOD= -4.2606209 O_D= 0.0000000 O_TOT= -4.2606209 <-- SPRD +Delta: O_IOD= 0.6596622E-01 O_D= 0.0000000E+00 O_TOT= -0.4845343E-03 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 22 + WF centre and spread 1 ( -1.401960, 1.401960, 1.401960 ) 1.63408915 + WF centre and spread 2 ( 1.231570, -1.231570, 1.070084 ) 2.74117796 + WF centre and spread 3 ( 1.231570, 1.070084, -1.231570 ) 2.74117796 + WF centre and spread 4 ( -1.070084, -1.231570, -1.231570 ) 2.74117796 + Sum of centres and spreads ( -0.008905, 0.008905, 0.008905 ) 9.85762303 + + 22 -0.240E-03 0.0168737302 -4.2608611798 0.06 <-- CONV + O_IOD= -4.2608612 O_D= 0.0000000 O_TOT= -4.2608612 <-- SPRD +Delta: O_IOD= 0.4010710E-02 O_D= 0.0000000E+00 O_TOT= -0.2402514E-03 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 23 + WF centre and spread 1 ( -1.402903, 1.402903, 1.402903 ) 1.63404264 + WF centre and spread 2 ( 1.232200, -1.232200, 1.070329 ) 2.74169775 + WF centre and spread 3 ( 1.232200, 1.070329, -1.232200 ) 2.74169775 + WF centre and spread 4 ( -1.070329, -1.232200, -1.232200 ) 2.74169775 + Sum of centres and spreads ( -0.008831, 0.008831, 0.008831 ) 9.85913589 + + 23 -0.106E-03 0.0089114494 -4.2609669082 0.06 <-- CONV + O_IOD= -4.2609669 O_D= 0.0000000 O_TOT= -4.2609669 <-- SPRD +Delta: O_IOD= 0.7884370E-02 O_D= 0.0000000E+00 O_TOT= -0.1057284E-03 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 24 + WF centre and spread 1 ( -1.403802, 1.403802, 1.403802 ) 1.63403791 + WF centre and spread 2 ( 1.232821, -1.232821, 1.070588 ) 2.74221633 + WF centre and spread 3 ( 1.232821, 1.070588, -1.232821 ) 2.74221633 + WF centre and spread 4 ( -1.070588, -1.232821, -1.232821 ) 2.74221633 + Sum of centres and spreads ( -0.008747, 0.008747, 0.008747 ) 9.86068690 + + 24 -0.563E-04 0.0080644935 -4.2610231587 0.06 <-- CONV + O_IOD= -4.2610232 O_D= 0.0000000 O_TOT= -4.2610232 <-- SPRD +Delta: O_IOD= 0.7564354E-02 O_D= 0.0000000E+00 O_TOT= -0.5625050E-04 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 25 + WF centre and spread 1 ( -1.404947, 1.404947, 1.404947 ) 1.63405513 + WF centre and spread 2 ( 1.233643, -1.233643, 1.070958 ) 2.74289265 + WF centre and spread 3 ( 1.233643, 1.070958, -1.233643 ) 2.74289265 + WF centre and spread 4 ( -1.070958, -1.233643, -1.233643 ) 2.74289264 + Sum of centres and spreads ( -0.008620, 0.008620, 0.008620 ) 9.86273307 + + 25 -0.414E-04 0.0058076222 -4.2610645515 0.06 <-- CONV + O_IOD= -4.2610646 O_D= 0.0000000 O_TOT= -4.2610646 <-- SPRD +Delta: O_IOD= 0.9670158E-02 O_D= 0.0000000E+00 O_TOT= -0.4139280E-04 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 26 + WF centre and spread 1 ( -1.406136, 1.406136, 1.406136 ) 1.63407421 + WF centre and spread 2 ( 1.234513, -1.234513, 1.071370 ) 2.74360627 + WF centre and spread 3 ( 1.234513, 1.071370, -1.234513 ) 2.74360627 + WF centre and spread 4 ( -1.071370, -1.234513, -1.234513 ) 2.74360627 + Sum of centres and spreads ( -0.008479, 0.008479, 0.008479 ) 9.86489302 + + 26 -0.334E-04 0.0064161021 -4.2610979715 0.07 <-- CONV + O_IOD= -4.2610980 O_D= 0.0000000 O_TOT= -4.2610980 <-- SPRD +Delta: O_IOD= 0.1004336E-01 O_D= 0.0000000E+00 O_TOT= -0.3341997E-04 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 27 + WF centre and spread 1 ( -1.408052, 1.408052, 1.408052 ) 1.63410163 + WF centre and spread 2 ( 1.235956, -1.235956, 1.072098 ) 2.74477468 + WF centre and spread 3 ( 1.235956, 1.072098, -1.235956 ) 2.74477468 + WF centre and spread 4 ( -1.072098, -1.235956, -1.235956 ) 2.74477468 + Sum of centres and spreads ( -0.008237, 0.008237, 0.008237 ) 9.86842568 + + 27 -0.394E-04 0.0044672910 -4.2611373314 0.07 <-- CONV + O_IOD= -4.2611373 O_D= 0.0000000 O_TOT= -4.2611373 <-- SPRD +Delta: O_IOD= 0.1620242E-01 O_D= 0.0000000E+00 O_TOT= -0.3935995E-04 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 28 + WF centre and spread 1 ( -1.408263, 1.408263, 1.408263 ) 1.63408238 + WF centre and spread 2 ( 1.236129, -1.236129, 1.072204 ) 2.74491092 + WF centre and spread 3 ( 1.236129, 1.072204, -1.236129 ) 2.74491092 + WF centre and spread 4 ( -1.072204, -1.236129, -1.236129 ) 2.74491092 + Sum of centres and spreads ( -0.008210, 0.008210, 0.008210 ) 9.86881514 + + 28 -0.253E-04 0.0046380201 -4.2611626037 0.07 <-- CONV + O_IOD= -4.2611626 O_D= 0.0000000 O_TOT= -4.2611626 <-- SPRD +Delta: O_IOD= 0.1767421E-02 O_D= 0.0000000E+00 O_TOT= -0.2527228E-04 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 29 + WF centre and spread 1 ( -1.408617, 1.408617, 1.408617 ) 1.63407841 + WF centre and spread 2 ( 1.236416, -1.236416, 1.072376 ) 2.74514167 + WF centre and spread 3 ( 1.236416, 1.072376, -1.236416 ) 2.74514167 + WF centre and spread 4 ( -1.072376, -1.236416, -1.236416 ) 2.74514166 + Sum of centres and spreads ( -0.008160, 0.008160, 0.008160 ) 9.86950341 + + 29 -0.134E-04 0.0031408320 -4.2611760489 0.07 <-- CONV + O_IOD= -4.2611760 O_D= 0.0000000 O_TOT= -4.2611760 <-- SPRD +Delta: O_IOD= 0.2987082E-02 O_D= 0.0000000E+00 O_TOT= -0.1344516E-04 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 30 + WF centre and spread 1 ( -1.408984, 1.408984, 1.408984 ) 1.63407854 + WF centre and spread 2 ( 1.236711, -1.236711, 1.072546 ) 2.74537829 + WF centre and spread 3 ( 1.236711, 1.072546, -1.236711 ) 2.74537828 + WF centre and spread 4 ( -1.072546, -1.236711, -1.236711 ) 2.74537828 + Sum of centres and spreads ( -0.008108, 0.008108, 0.008108 ) 9.87021340 + + 30 -0.889E-05 0.0034073736 -4.2611849341 0.08 <-- CONV + O_IOD= -4.2611849 O_D= 0.0000000 O_TOT= -4.2611849 <-- SPRD +Delta: O_IOD= 0.3095543E-02 O_D= 0.0000000E+00 O_TOT= -0.8885235E-05 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 31 + WF centre and spread 1 ( -1.409569, 1.409569, 1.409569 ) 1.63408260 + WF centre and spread 2 ( 1.237171, -1.237171, 1.072800 ) 2.74574618 + WF centre and spread 3 ( 1.237171, 1.072800, -1.237171 ) 2.74574618 + WF centre and spread 4 ( -1.072800, -1.237171, -1.237171 ) 2.74574618 + Sum of centres and spreads ( -0.008027, 0.008027, 0.008027 ) 9.87132114 + + 31 -0.869E-05 0.0025283435 -4.2611936221 0.08 <-- CONV + O_IOD= -4.2611936 O_D= 0.0000000 O_TOT= -4.2611936 <-- SPRD +Delta: O_IOD= 0.4955544E-02 O_D= 0.0000000E+00 O_TOT= -0.8687961E-05 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 32 + WF centre and spread 1 ( -1.410248, 1.410248, 1.410248 ) 1.63408713 + WF centre and spread 2 ( 1.237694, -1.237694, 1.073077 ) 2.74616275 + WF centre and spread 3 ( 1.237694, 1.073077, -1.237694 ) 2.74616274 + WF centre and spread 4 ( -1.073077, -1.237694, -1.237694 ) 2.74616274 + Sum of centres and spreads ( -0.007937, 0.007937, 0.007937 ) 9.87257536 + + 32 -0.767E-05 0.0026880866 -4.2612012938 0.08 <-- CONV + O_IOD= -4.2612013 O_D= 0.0000000 O_TOT= -4.2612013 <-- SPRD +Delta: O_IOD= 0.5749021E-02 O_D= 0.0000000E+00 O_TOT= -0.7671734E-05 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 33 + WF centre and spread 1 ( -1.411218, 1.411218, 1.411218 ) 1.63409152 + WF centre and spread 2 ( 1.238420, -1.238420, 1.073442 ) 2.74673768 + WF centre and spread 3 ( 1.238420, 1.073442, -1.238420 ) 2.74673767 + WF centre and spread 4 ( -1.073442, -1.238420, -1.238420 ) 2.74673767 + Sum of centres and spreads ( -0.007819, 0.007819, 0.007819 ) 9.87430455 + + 33 -0.823E-05 0.0021091311 -4.2612095257 0.08 <-- CONV + O_IOD= -4.2612095 O_D= 0.0000000 O_TOT= -4.2612095 <-- SPRD +Delta: O_IOD= 0.8215327E-02 O_D= 0.0000000E+00 O_TOT= -0.8231913E-05 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 34 + WF centre and spread 1 ( -1.411295, 1.411295, 1.411295 ) 1.63408755 + WF centre and spread 2 ( 1.238470, -1.238470, 1.073460 ) 2.74677754 + WF centre and spread 3 ( 1.238470, 1.073460, -1.238470 ) 2.74677753 + WF centre and spread 4 ( -1.073460, -1.238470, -1.238470 ) 2.74677753 + Sum of centres and spreads ( -0.007814, 0.007814, 0.007814 ) 9.87442016 + + 34 -0.473E-05 0.0023247768 -4.2612142517 0.08 <-- CONV + O_IOD= -4.2612143 O_D= 0.0000000 O_TOT= -4.2612143 <-- SPRD +Delta: O_IOD= 0.6424021E-03 O_D= 0.0000000E+00 O_TOT= -0.4726022E-05 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 35 + WF centre and spread 1 ( -1.411435, 1.411435, 1.411435 ) 1.63408661 + WF centre and spread 2 ( 1.238565, -1.238565, 1.073498 ) 2.74685295 + WF centre and spread 3 ( 1.238565, 1.073498, -1.238565 ) 2.74685295 + WF centre and spread 4 ( -1.073498, -1.238565, -1.238565 ) 2.74685295 + Sum of centres and spreads ( -0.007803, 0.007803, 0.007803 ) 9.87464546 + + 35 -0.223E-05 0.0013085926 -4.2612164836 0.09 <-- CONV + O_IOD= -4.2612165 O_D= 0.0000000 O_TOT= -4.2612165 <-- SPRD +Delta: O_IOD= 0.1184051E-02 O_D= 0.0000000E+00 O_TOT= -0.2231852E-05 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 36 + WF centre and spread 1 ( -1.411570, 1.411570, 1.411570 ) 1.63408653 + WF centre and spread 2 ( 1.238659, -1.238659, 1.073538 ) 2.74692821 + WF centre and spread 3 ( 1.238659, 1.073538, -1.238659 ) 2.74692820 + WF centre and spread 4 ( -1.073538, -1.238659, -1.238659 ) 2.74692820 + Sum of centres and spreads ( -0.007790, 0.007790, 0.007790 ) 9.87487115 + + 36 -0.122E-05 0.0011779533 -4.2612177016 0.09 <-- CONV + O_IOD= -4.2612177 O_D= 0.0000000 O_TOT= -4.2612177 <-- SPRD +Delta: O_IOD= 0.1149025E-02 O_D= 0.0000000E+00 O_TOT= -0.1218068E-05 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 37 + WF centre and spread 1 ( -1.411737, 1.411737, 1.411737 ) 1.63408690 + WF centre and spread 2 ( 1.238779, -1.238779, 1.073593 ) 2.74702402 + WF centre and spread 3 ( 1.238779, 1.073593, -1.238779 ) 2.74702401 + WF centre and spread 4 ( -1.073593, -1.238779, -1.238779 ) 2.74702401 + Sum of centres and spreads ( -0.007772, 0.007772, 0.007772 ) 9.87515894 + + 37 -0.890E-06 0.0008687017 -4.2612185912 0.09 <-- CONV + O_IOD= -4.2612186 O_D= 0.0000000 O_TOT= -4.2612186 <-- SPRD +Delta: O_IOD= 0.1413211E-02 O_D= 0.0000000E+00 O_TOT= -0.8895056E-06 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 38 + WF centre and spread 1 ( -1.411914, 1.411914, 1.411914 ) 1.63408731 + WF centre and spread 2 ( 1.238910, -1.238910, 1.073655 ) 2.74712814 + WF centre and spread 3 ( 1.238910, 1.073655, -1.238910 ) 2.74712814 + WF centre and spread 4 ( -1.073655, -1.238910, -1.238910 ) 2.74712814 + Sum of centres and spreads ( -0.007750, 0.007750, 0.007750 ) 9.87547173 + + 38 -0.736E-06 0.0009387090 -4.2612193270 0.09 <-- CONV + O_IOD= -4.2612193 O_D= 0.0000000 O_TOT= -4.2612193 <-- SPRD +Delta: O_IOD= 0.1502805E-02 O_D= 0.0000000E+00 O_TOT= -0.7358379E-06 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 39 + WF centre and spread 1 ( -1.412187, 1.412187, 1.412187 ) 1.63408787 + WF centre and spread 2 ( 1.239116, -1.239116, 1.073760 ) 2.74729283 + WF centre and spread 3 ( 1.239116, 1.073760, -1.239116 ) 2.74729283 + WF centre and spread 4 ( -1.073760, -1.239116, -1.239116 ) 2.74729283 + Sum of centres and spreads ( -0.007715, 0.007715, 0.007715 ) 9.87596637 + + 39 -0.827E-06 0.0006523276 -4.2612201536 0.10 <-- CONV + O_IOD= -4.2612202 O_D= 0.0000000 O_TOT= -4.2612202 <-- SPRD +Delta: O_IOD= 0.2306685E-02 O_D= 0.0000000E+00 O_TOT= -0.8265814E-06 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 40 + WF centre and spread 1 ( -1.412217, 1.412217, 1.412217 ) 1.63408746 + WF centre and spread 2 ( 1.239141, -1.239141, 1.073776 ) 2.74731320 + WF centre and spread 3 ( 1.239141, 1.073776, -1.239141 ) 2.74731319 + WF centre and spread 4 ( -1.073776, -1.239141, -1.239141 ) 2.74731319 + Sum of centres and spreads ( -0.007711, 0.007711, 0.007711 ) 9.87602704 + + 40 -0.545E-06 0.0006831915 -4.2612206981 0.10 <-- CONV + O_IOD= -4.2612207 O_D= 0.0000000 O_TOT= -4.2612207 <-- SPRD +Delta: O_IOD= 0.2589150E-03 O_D= 0.0000000E+00 O_TOT= -0.5445182E-06 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 41 + WF centre and spread 1 ( -1.412270, 1.412270, 1.412270 ) 1.63408737 + WF centre and spread 2 ( 1.239184, -1.239184, 1.073802 ) 2.74734775 + WF centre and spread 3 ( 1.239184, 1.073802, -1.239184 ) 2.74734774 + WF centre and spread 4 ( -1.073802, -1.239184, -1.239184 ) 2.74734774 + Sum of centres and spreads ( -0.007704, 0.007704, 0.007704 ) 9.87613060 + + 41 -0.299E-06 0.0004618901 -4.2612209966 0.10 <-- CONV + O_IOD= -4.2612210 O_D= 0.0000000 O_TOT= -4.2612210 <-- SPRD +Delta: O_IOD= 0.4503352E-03 O_D= 0.0000000E+00 O_TOT= -0.2985360E-06 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 42 + WF centre and spread 1 ( -1.412324, 1.412324, 1.412324 ) 1.63408737 + WF centre and spread 2 ( 1.239228, -1.239228, 1.073827 ) 2.74738223 + WF centre and spread 3 ( 1.239228, 1.073827, -1.239228 ) 2.74738222 + WF centre and spread 4 ( -1.073827, -1.239228, -1.239228 ) 2.74738222 + Sum of centres and spreads ( -0.007696, 0.007696, 0.007696 ) 9.87623404 + + 42 -0.194E-06 0.0005039629 -4.2612211907 0.10 <-- CONV + O_IOD= -4.2612212 O_D= 0.0000000 O_TOT= -4.2612212 <-- SPRD +Delta: O_IOD= 0.4583020E-03 O_D= 0.0000000E+00 O_TOT= -0.1940366E-06 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 43 + WF centre and spread 1 ( -1.412411, 1.412411, 1.412411 ) 1.63408746 + WF centre and spread 2 ( 1.239296, -1.239296, 1.073865 ) 2.74743565 + WF centre and spread 3 ( 1.239296, 1.073865, -1.239296 ) 2.74743565 + WF centre and spread 4 ( -1.073865, -1.239296, -1.239296 ) 2.74743565 + Sum of centres and spreads ( -0.007684, 0.007684, 0.007684 ) 9.87639441 + + 43 -0.190E-06 0.0003751976 -4.2612213804 0.10 <-- CONV + O_IOD= -4.2612214 O_D= 0.0000000 O_TOT= -4.2612214 <-- SPRD +Delta: O_IOD= 0.7317855E-03 O_D= 0.0000000E+00 O_TOT= -0.1897428E-06 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 44 + WF centre and spread 1 ( -1.412511, 1.412511, 1.412511 ) 1.63408756 + WF centre and spread 2 ( 1.239373, -1.239373, 1.073906 ) 2.74749630 + WF centre and spread 3 ( 1.239373, 1.073906, -1.239373 ) 2.74749630 + WF centre and spread 4 ( -1.073906, -1.239373, -1.239373 ) 2.74749630 + Sum of centres and spreads ( -0.007671, 0.007671, 0.007671 ) 9.87657646 + + 44 -0.168E-06 0.0003997502 -4.2612215486 0.11 <-- CONV + O_IOD= -4.2612215 O_D= 0.0000000 O_TOT= -4.2612215 <-- SPRD +Delta: O_IOD= 0.8502952E-03 O_D= 0.0000000E+00 O_TOT= -0.1682107E-06 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 45 + WF centre and spread 1 ( -1.412653, 1.412653, 1.412653 ) 1.63408765 + WF centre and spread 2 ( 1.239479, -1.239479, 1.073959 ) 2.74757955 + WF centre and spread 3 ( 1.239479, 1.073959, -1.239479 ) 2.74757955 + WF centre and spread 4 ( -1.073959, -1.239479, -1.239479 ) 2.74757955 + Sum of centres and spreads ( -0.007654, 0.007654, 0.007654 ) 9.87682630 + + 45 -0.178E-06 0.0003098052 -4.2612217263 0.11 <-- CONV + O_IOD= -4.2612217 O_D= 0.0000000 O_TOT= -4.2612217 <-- SPRD +Delta: O_IOD= 0.1200789E-02 O_D= 0.0000000E+00 O_TOT= -0.1776661E-06 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 46 + WF centre and spread 1 ( -1.412664, 1.412664, 1.412664 ) 1.63408756 + WF centre and spread 2 ( 1.239487, -1.239487, 1.073962 ) 2.74758573 + WF centre and spread 3 ( 1.239487, 1.073962, -1.239487 ) 2.74758572 + WF centre and spread 4 ( -1.073962, -1.239487, -1.239487 ) 2.74758572 + Sum of centres and spreads ( -0.007653, 0.007653, 0.007653 ) 9.87684474 + + 46 -0.103E-06 0.0003445510 -4.2612218296 0.11 <-- CONV + O_IOD= -4.2612218 O_D= 0.0000000 O_TOT= -4.2612218 <-- SPRD +Delta: O_IOD= 0.9528601E-04 O_D= 0.0000000E+00 O_TOT= -0.1032837E-06 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 47 + WF centre and spread 1 ( -1.412685, 1.412685, 1.412685 ) 1.63408754 + WF centre and spread 2 ( 1.239501, -1.239501, 1.073968 ) 2.74759735 + WF centre and spread 3 ( 1.239501, 1.073968, -1.239501 ) 2.74759734 + WF centre and spread 4 ( -1.073968, -1.239501, -1.239501 ) 2.74759734 + Sum of centres and spreads ( -0.007651, 0.007651, 0.007651 ) 9.87687958 + + 47 -0.493E-07 0.0001932426 -4.2612218789 0.11 <-- CONV + O_IOD= -4.2612219 O_D= 0.0000000 O_TOT= -4.2612219 <-- SPRD +Delta: O_IOD= 0.1777563E-03 O_D= 0.0000000E+00 O_TOT= -0.4930518E-07 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 48 + WF centre and spread 1 ( -1.412705, 1.412705, 1.412705 ) 1.63408754 + WF centre and spread 2 ( 1.239515, -1.239515, 1.073974 ) 2.74760874 + WF centre and spread 3 ( 1.239515, 1.073974, -1.239515 ) 2.74760874 + WF centre and spread 4 ( -1.073974, -1.239515, -1.239515 ) 2.74760873 + Sum of centres and spreads ( -0.007649, 0.007649, 0.007649 ) 9.87691375 + + 48 -0.270E-07 0.0001760238 -4.2612219058 0.12 <-- CONV + O_IOD= -4.2612219 O_D= 0.0000000 O_TOT= -4.2612219 <-- SPRD +Delta: O_IOD= 0.1708809E-03 O_D= 0.0000000E+00 O_TOT= -0.2696390E-07 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 49 + WF centre and spread 1 ( -1.412730, 1.412730, 1.412730 ) 1.63408755 + WF centre and spread 2 ( 1.239533, -1.239533, 1.073982 ) 2.74762308 + WF centre and spread 3 ( 1.239533, 1.073982, -1.239533 ) 2.74762308 + WF centre and spread 4 ( -1.073982, -1.239533, -1.239533 ) 2.74762307 + Sum of centres and spreads ( -0.007646, 0.007646, 0.007646 ) 9.87695678 + + 49 -0.195E-07 0.0001290570 -4.2612219254 0.12 <-- CONV + O_IOD= -4.2612219 O_D= 0.0000000 O_TOT= -4.2612219 <-- SPRD +Delta: O_IOD= 0.2091638E-03 O_D= 0.0000000E+00 O_TOT= -0.1954492E-07 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 50 + WF centre and spread 1 ( -1.412757, 1.412757, 1.412757 ) 1.63408756 + WF centre and spread 2 ( 1.239553, -1.239553, 1.073991 ) 2.74763892 + WF centre and spread 3 ( 1.239553, 1.073991, -1.239553 ) 2.74763892 + WF centre and spread 4 ( -1.073991, -1.239553, -1.239553 ) 2.74763892 + Sum of centres and spreads ( -0.007643, 0.007643, 0.007643 ) 9.87700431 + + 50 -0.165E-07 0.0001400524 -4.2612219419 0.12 <-- CONV + O_IOD= -4.2612219 O_D= 0.0000000 O_TOT= -4.2612219 <-- SPRD +Delta: O_IOD= 0.2272741E-03 O_D= 0.0000000E+00 O_TOT= -0.1652332E-07 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 51 + WF centre and spread 1 ( -1.412797, 1.412797, 1.412797 ) 1.63408757 + WF centre and spread 2 ( 1.239583, -1.239583, 1.074007 ) 2.74766306 + WF centre and spread 3 ( 1.239583, 1.074007, -1.239583 ) 2.74766306 + WF centre and spread 4 ( -1.074007, -1.239583, -1.239583 ) 2.74766305 + Sum of centres and spreads ( -0.007638, 0.007638, 0.007638 ) 9.87707674 + + 51 -0.180E-07 0.0000965462 -4.2612219599 0.12 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.3383346E-03 O_D= 0.0000000E+00 O_TOT= -0.1802621E-07 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 52 + WF centre and spread 1 ( -1.412801, 1.412801, 1.412801 ) 1.63408756 + WF centre and spread 2 ( 1.239586, -1.239586, 1.074009 ) 2.74766599 + WF centre and spread 3 ( 1.239586, 1.074009, -1.239586 ) 2.74766599 + WF centre and spread 4 ( -1.074009, -1.239586, -1.239586 ) 2.74766599 + Sum of centres and spreads ( -0.007637, 0.007637, 0.007637 ) 9.87708554 + + 52 -0.120E-07 0.0001016481 -4.2612219720 0.12 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.3841849E-04 O_D= 0.0000000E+00 O_TOT= -0.1204532E-07 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 53 + WF centre and spread 1 ( -1.412810, 1.412810, 1.412810 ) 1.63408756 + WF centre and spread 2 ( 1.239594, -1.239594, 1.074013 ) 2.74767153 + WF centre and spread 3 ( 1.239594, 1.074013, -1.239594 ) 2.74767153 + WF centre and spread 4 ( -1.074013, -1.239594, -1.239594 ) 2.74767153 + Sum of centres and spreads ( -0.007636, 0.007636, 0.007636 ) 9.87710215 + + 53 -0.713E-08 0.0000673563 -4.2612219791 0.13 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.7413891E-04 O_D= 0.0000000E+00 O_TOT= -0.7133281E-08 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 54 + WF centre and spread 1 ( -1.412818, 1.412818, 1.412818 ) 1.63408756 + WF centre and spread 2 ( 1.239600, -1.239600, 1.074017 ) 2.74767636 + WF centre and spread 3 ( 1.239600, 1.074017, -1.239600 ) 2.74767635 + WF centre and spread 4 ( -1.074017, -1.239600, -1.239600 ) 2.74767635 + Sum of centres and spreads ( -0.007635, 0.007635, 0.007635 ) 9.87711662 + + 54 -0.399E-08 0.0000722270 -4.2612219831 0.13 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.6571111E-04 O_D= 0.0000000E+00 O_TOT= -0.3986289E-08 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 55 + WF centre and spread 1 ( -1.412831, 1.412831, 1.412831 ) 1.63408756 + WF centre and spread 2 ( 1.239610, -1.239610, 1.074023 ) 2.74768428 + WF centre and spread 3 ( 1.239610, 1.074023, -1.239610 ) 2.74768428 + WF centre and spread 4 ( -1.074023, -1.239610, -1.239610 ) 2.74768428 + Sum of centres and spreads ( -0.007633, 0.007633, 0.007633 ) 9.87714040 + + 55 -0.420E-08 0.0000561357 -4.2612219873 0.13 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.1102055E-03 O_D= 0.0000000E+00 O_TOT= -0.4203685E-08 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 56 + WF centre and spread 1 ( -1.412845, 1.412845, 1.412845 ) 1.63408756 + WF centre and spread 2 ( 1.239621, -1.239621, 1.074029 ) 2.74769297 + WF centre and spread 3 ( 1.239621, 1.074029, -1.239621 ) 2.74769297 + WF centre and spread 4 ( -1.074029, -1.239621, -1.239621 ) 2.74769297 + Sum of centres and spreads ( -0.007631, 0.007631, 0.007631 ) 9.87716647 + + 56 -0.356E-08 0.0000593107 -4.2612219909 0.13 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.1229362E-03 O_D= 0.0000000E+00 O_TOT= -0.3561147E-08 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 57 + WF centre and spread 1 ( -1.412866, 1.412866, 1.412866 ) 1.63408757 + WF centre and spread 2 ( 1.239637, -1.239637, 1.074037 ) 2.74770536 + WF centre and spread 3 ( 1.239637, 1.074037, -1.239637 ) 2.74770536 + WF centre and spread 4 ( -1.074037, -1.239637, -1.239637 ) 2.74770536 + Sum of centres and spreads ( -0.007629, 0.007629, 0.007629 ) 9.87720365 + + 57 -0.386E-08 0.0000465055 -4.2612219947 0.13 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.1786505E-03 O_D= 0.0000000E+00 O_TOT= -0.3856843E-08 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 58 + WF centre and spread 1 ( -1.412868, 1.412868, 1.412868 ) 1.63408756 + WF centre and spread 2 ( 1.239638, -1.239638, 1.074037 ) 2.74770633 + WF centre and spread 3 ( 1.239638, 1.074037, -1.239638 ) 2.74770633 + WF centre and spread 4 ( -1.074037, -1.239638, -1.239638 ) 2.74770633 + Sum of centres and spreads ( -0.007629, 0.007629, 0.007629 ) 9.87720655 + + 58 -0.231E-08 0.0000520492 -4.2612219970 0.14 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.1430566E-04 O_D= 0.0000000E+00 O_TOT= -0.2312696E-08 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 59 + WF centre and spread 1 ( -1.412871, 1.412871, 1.412871 ) 1.63408756 + WF centre and spread 2 ( 1.239640, -1.239640, 1.074038 ) 2.74770816 + WF centre and spread 3 ( 1.239640, 1.074038, -1.239640 ) 2.74770816 + WF centre and spread 4 ( -1.074038, -1.239640, -1.239640 ) 2.74770816 + Sum of centres and spreads ( -0.007628, 0.007628, 0.007628 ) 9.87721205 + + 59 -0.109E-08 0.0000300639 -4.2612219981 0.14 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.2713517E-04 O_D= 0.0000000E+00 O_TOT= -0.1085227E-08 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 60 + WF centre and spread 1 ( -1.412874, 1.412874, 1.412874 ) 1.63408756 + WF centre and spread 2 ( 1.239642, -1.239642, 1.074039 ) 2.74770988 + WF centre and spread 3 ( 1.239642, 1.074039, -1.239642 ) 2.74770988 + WF centre and spread 4 ( -1.074039, -1.239642, -1.239642 ) 2.74770987 + Sum of centres and spreads ( -0.007628, 0.007628, 0.007628 ) 9.87721719 + + 60 -0.612E-09 0.0000282529 -4.2612219987 0.14 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.2503864E-04 O_D= 0.0000000E+00 O_TOT= -0.6115775E-09 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 61 + WF centre and spread 1 ( -1.412878, 1.412878, 1.412878 ) 1.63408756 + WF centre and spread 2 ( 1.239645, -1.239645, 1.074040 ) 2.74771198 + WF centre and spread 3 ( 1.239645, 1.074040, -1.239645 ) 2.74771198 + WF centre and spread 4 ( -1.074040, -1.239645, -1.239645 ) 2.74771198 + Sum of centres and spreads ( -0.007628, 0.007628, 0.007628 ) 9.87722350 + + 61 -0.427E-09 0.0000191253 -4.2612219992 0.14 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.3005636E-04 O_D= 0.0000000E+00 O_TOT= -0.4274572E-09 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 62 + WF centre and spread 1 ( -1.412882, 1.412882, 1.412882 ) 1.63408756 + WF centre and spread 2 ( 1.239648, -1.239648, 1.074041 ) 2.74771437 + WF centre and spread 3 ( 1.239648, 1.074041, -1.239648 ) 2.74771437 + WF centre and spread 4 ( -1.074041, -1.239648, -1.239648 ) 2.74771436 + Sum of centres and spreads ( -0.007627, 0.007627, 0.007627 ) 9.87723066 + + 62 -0.366E-09 0.0000219439 -4.2612219995 0.15 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.3384293E-04 O_D= 0.0000000E+00 O_TOT= -0.3663185E-09 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 63 + WF centre and spread 1 ( -1.412886, 1.412886, 1.412886 ) 1.63408756 + WF centre and spread 2 ( 1.239651, -1.239651, 1.074043 ) 2.74771724 + WF centre and spread 3 ( 1.239651, 1.074043, -1.239651 ) 2.74771724 + WF centre and spread 4 ( -1.074043, -1.239651, -1.239651 ) 2.74771724 + Sum of centres and spreads ( -0.007627, 0.007627, 0.007627 ) 9.87723929 + + 63 -0.368E-09 0.0000147242 -4.2612219999 0.15 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.4024997E-04 O_D= 0.0000000E+00 O_TOT= -0.3681757E-09 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 64 + WF centre and spread 1 ( -1.412887, 1.412887, 1.412887 ) 1.63408756 + WF centre and spread 2 ( 1.239652, -1.239652, 1.074044 ) 2.74771767 + WF centre and spread 3 ( 1.239652, 1.074044, -1.239652 ) 2.74771767 + WF centre and spread 4 ( -1.074044, -1.239652, -1.239652 ) 2.74771767 + Sum of centres and spreads ( -0.007627, 0.007627, 0.007627 ) 9.87724057 + + 64 -0.213E-09 0.0000141537 -4.2612220001 0.15 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.5851895E-05 O_D= 0.0000000E+00 O_TOT= -0.2132614E-09 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 65 + WF centre and spread 1 ( -1.412888, 1.412888, 1.412888 ) 1.63408756 + WF centre and spread 2 ( 1.239653, -1.239653, 1.074044 ) 2.74771811 + WF centre and spread 3 ( 1.239653, 1.074044, -1.239653 ) 2.74771811 + WF centre and spread 4 ( -1.074044, -1.239653, -1.239653 ) 2.74771811 + Sum of centres and spreads ( -0.007626, 0.007626, 0.007626 ) 9.87724189 + + 65 -0.125E-09 0.0000120735 -4.2612220002 0.15 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.6047795E-05 O_D= 0.0000000E+00 O_TOT= -0.1253193E-09 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 66 + WF centre and spread 1 ( -1.412889, 1.412889, 1.412889 ) 1.63408756 + WF centre and spread 2 ( 1.239654, -1.239654, 1.074044 ) 2.74771888 + WF centre and spread 3 ( 1.239654, 1.074044, -1.239654 ) 2.74771888 + WF centre and spread 4 ( -1.074044, -1.239654, -1.239654 ) 2.74771887 + Sum of centres and spreads ( -0.007626, 0.007626, 0.007626 ) 9.87724419 + + 66 -0.114E-09 0.0000084289 -4.2612220003 0.15 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.1069747E-04 O_D= 0.0000000E+00 O_TOT= -0.1138272E-09 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 67 + WF centre and spread 1 ( -1.412891, 1.412891, 1.412891 ) 1.63408756 + WF centre and spread 2 ( 1.239655, -1.239655, 1.074045 ) 2.74771996 + WF centre and spread 3 ( 1.239655, 1.074045, -1.239655 ) 2.74771996 + WF centre and spread 4 ( -1.074045, -1.239655, -1.239655 ) 2.74771996 + Sum of centres and spreads ( -0.007626, 0.007626, 0.007626 ) 9.87724745 + + 67 -0.977E-10 0.0000087316 -4.2612220004 0.16 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.1520760E-04 O_D= 0.0000000E+00 O_TOT= -0.9772716E-10 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 68 + WF centre and spread 1 ( -1.412895, 1.412895, 1.412895 ) 1.63408756 + WF centre and spread 2 ( 1.239658, -1.239658, 1.074047 ) 2.74772249 + WF centre and spread 3 ( 1.239658, 1.074047, -1.239658 ) 2.74772248 + WF centre and spread 4 ( -1.074047, -1.239658, -1.239658 ) 2.74772248 + Sum of centres and spreads ( -0.007626, 0.007626, 0.007626 ) 9.87725502 + + 68 -0.817E-10 0.0000084706 -4.2612220005 0.16 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.3566854E-04 O_D= 0.0000000E+00 O_TOT= -0.8174084E-10 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 69 + WF centre and spread 1 ( -1.412897, 1.412897, 1.412897 ) 1.63408756 + WF centre and spread 2 ( 1.239660, -1.239660, 1.074048 ) 2.74772364 + WF centre and spread 3 ( 1.239660, 1.074048, -1.239660 ) 2.74772363 + WF centre and spread 4 ( -1.074048, -1.239660, -1.239660 ) 2.74772363 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87725847 + + 69 -0.218E-10 0.0000132779 -4.2612220005 0.16 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.1632202E-04 O_D= 0.0000000E+00 O_TOT= -0.2175504E-10 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 70 + WF centre and spread 1 ( -1.412897, 1.412897, 1.412897 ) 1.63408756 + WF centre and spread 2 ( 1.239660, -1.239660, 1.074048 ) 2.74772378 + WF centre and spread 3 ( 1.239660, 1.074048, -1.239660 ) 2.74772378 + WF centre and spread 4 ( -1.074048, -1.239660, -1.239660 ) 2.74772378 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87725891 + + 70 -0.100E-09 0.0000118350 -4.2612220006 0.16 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.2246586E-05 O_D= 0.0000000E+00 O_TOT= -0.1004867E-09 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 71 + WF centre and spread 1 ( -1.412898, 1.412898, 1.412898 ) 1.63408756 + WF centre and spread 2 ( 1.239661, -1.239661, 1.074048 ) 2.74772434 + WF centre and spread 3 ( 1.239661, 1.074048, -1.239661 ) 2.74772434 + WF centre and spread 4 ( -1.074048, -1.239661, -1.239661 ) 2.74772434 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87726059 + + 71 0.322E-10 0.0000078288 -4.2612220006 0.16 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.8484169E-05 O_D= 0.0000000E+00 O_TOT= 0.3218048E-10 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 72 + WF centre and spread 1 ( -1.412898, 1.412898, 1.412898 ) 1.63408756 + WF centre and spread 2 ( 1.239661, -1.239661, 1.074048 ) 2.74772439 + WF centre and spread 3 ( 1.239661, 1.074048, -1.239661 ) 2.74772439 + WF centre and spread 4 ( -1.074048, -1.239661, -1.239661 ) 2.74772439 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87726074 + + 72 -0.135E-09 0.0000196478 -4.2612220007 0.17 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.6513689E-06 O_D= 0.0000000E+00 O_TOT= -0.1347775E-09 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 73 + WF centre and spread 1 ( -1.412898, 1.412898, 1.412898 ) 1.63408756 + WF centre and spread 2 ( 1.239661, -1.239661, 1.074048 ) 2.74772440 + WF centre and spread 3 ( 1.239661, 1.074048, -1.239661 ) 2.74772439 + WF centre and spread 4 ( -1.074048, -1.239661, -1.239661 ) 2.74772439 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87726075 + + 73 -0.940E-12 0.0000049041 -4.2612220007 0.17 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.3775866E-07 O_D= 0.0000000E+00 O_TOT= -0.9396928E-12 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 74 + WF centre and spread 1 ( -1.412898, 1.412898, 1.412898 ) 1.63408756 + WF centre and spread 2 ( 1.239661, -1.239661, 1.074048 ) 2.74772449 + WF centre and spread 3 ( 1.239661, 1.074048, -1.239661 ) 2.74772448 + WF centre and spread 4 ( -1.074048, -1.239661, -1.239661 ) 2.74772448 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87726102 + + 74 -0.152E-10 0.0000047658 -4.2612220008 0.17 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.1225962E-05 O_D= 0.0000000E+00 O_TOT= -0.1517630E-10 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 75 + WF centre and spread 1 ( -1.412898, 1.412898, 1.412898 ) 1.63408756 + WF centre and spread 2 ( 1.239661, -1.239661, 1.074048 ) 2.74772449 + WF centre and spread 3 ( 1.239661, 1.074048, -1.239661 ) 2.74772449 + WF centre and spread 4 ( -1.074048, -1.239661, -1.239661 ) 2.74772449 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87726103 + + 75 -0.236E-12 0.0000022754 -4.2612220008 0.17 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.5043563E-07 O_D= 0.0000000E+00 O_TOT= -0.2362555E-12 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 76 + WF centre and spread 1 ( -1.412898, 1.412898, 1.412898 ) 1.63408756 + WF centre and spread 2 ( 1.239661, -1.239661, 1.074048 ) 2.74772454 + WF centre and spread 3 ( 1.239661, 1.074048, -1.239661 ) 2.74772453 + WF centre and spread 4 ( -1.074048, -1.239661, -1.239661 ) 2.74772453 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87726116 + + 76 -0.255E-11 0.0000022498 -4.2612220008 0.17 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.6320912E-06 O_D= 0.0000000E+00 O_TOT= -0.2548184E-11 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 77 + WF centre and spread 1 ( -1.412899, 1.412899, 1.412899 ) 1.63408756 + WF centre and spread 2 ( 1.239661, -1.239661, 1.074048 ) 2.74772473 + WF centre and spread 3 ( 1.239661, 1.074048, -1.239661 ) 2.74772473 + WF centre and spread 4 ( -1.074048, -1.239661, -1.239661 ) 2.74772472 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87726174 + + 77 -0.476E-11 0.0000017887 -4.2612220008 0.18 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.2673856E-05 O_D= 0.0000000E+00 O_TOT= -0.4761525E-11 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 78 + WF centre and spread 1 ( -1.412899, 1.412899, 1.412899 ) 1.63408756 + WF centre and spread 2 ( 1.239661, -1.239661, 1.074048 ) 2.74772478 + WF centre and spread 3 ( 1.239661, 1.074048, -1.239661 ) 2.74772477 + WF centre and spread 4 ( -1.074048, -1.239661, -1.239661 ) 2.74772477 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87726188 + + 78 -0.373E-11 0.0000030110 -4.2612220008 0.18 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.6623385E-06 O_D= 0.0000000E+00 O_TOT= -0.3732126E-11 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 79 + WF centre and spread 1 ( -1.412899, 1.412899, 1.412899 ) 1.63408756 + WF centre and spread 2 ( 1.239661, -1.239661, 1.074048 ) 2.74772478 + WF centre and spread 3 ( 1.239661, 1.074048, -1.239661 ) 2.74772478 + WF centre and spread 4 ( -1.074048, -1.239661, -1.239661 ) 2.74772478 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87726191 + + 79 -0.282E-12 0.0000015914 -4.2612220008 0.18 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.1140620E-06 O_D= 0.0000000E+00 O_TOT= -0.2824407E-12 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 80 + WF centre and spread 1 ( -1.412899, 1.412899, 1.412899 ) 1.63408756 + WF centre and spread 2 ( 1.239661, -1.239661, 1.074048 ) 2.74772481 + WF centre and spread 3 ( 1.239661, 1.074048, -1.239661 ) 2.74772480 + WF centre and spread 4 ( -1.074048, -1.239661, -1.239661 ) 2.74772480 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87726197 + + 80 -0.794E-12 0.0000015679 -4.2612220008 0.18 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.3026783E-06 O_D= 0.0000000E+00 O_TOT= -0.7940315E-12 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 81 + WF centre and spread 1 ( -1.412899, 1.412899, 1.412899 ) 1.63408756 + WF centre and spread 2 ( 1.239661, -1.239661, 1.074048 ) 2.74772485 + WF centre and spread 3 ( 1.239661, 1.074048, -1.239661 ) 2.74772485 + WF centre and spread 4 ( -1.074048, -1.239661, -1.239661 ) 2.74772485 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87726212 + + 81 -0.161E-11 0.0000014284 -4.2612220008 0.18 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.6883841E-06 O_D= 0.0000000E+00 O_TOT= -0.1614708E-11 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 82 + WF centre and spread 1 ( -1.412899, 1.412899, 1.412899 ) 1.63408756 + WF centre and spread 2 ( 1.239661, -1.239661, 1.074048 ) 2.74772489 + WF centre and spread 3 ( 1.239661, 1.074048, -1.239661 ) 2.74772489 + WF centre and spread 4 ( -1.074048, -1.239661, -1.239661 ) 2.74772488 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87726222 + + 82 -0.958E-12 0.0000012826 -4.2612220008 0.19 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.4774233E-06 O_D= 0.0000000E+00 O_TOT= -0.9583445E-12 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 83 + WF centre and spread 1 ( -1.412899, 1.412899, 1.412899 ) 1.63408756 + WF centre and spread 2 ( 1.239661, -1.239661, 1.074048 ) 2.74772490 + WF centre and spread 3 ( 1.239661, 1.074048, -1.239661 ) 2.74772490 + WF centre and spread 4 ( -1.074048, -1.239661, -1.239661 ) 2.74772489 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87726225 + + 83 -0.279E-12 0.0000013175 -4.2612220008 0.19 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.1339451E-06 O_D= 0.0000000E+00 O_TOT= -0.2788880E-12 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 84 + WF centre and spread 1 ( -1.412899, 1.412899, 1.412899 ) 1.63408756 + WF centre and spread 2 ( 1.239661, -1.239661, 1.074048 ) 2.74772490 + WF centre and spread 3 ( 1.239661, 1.074048, -1.239661 ) 2.74772490 + WF centre and spread 4 ( -1.074048, -1.239661, -1.239661 ) 2.74772490 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87726226 + + 84 -0.817E-13 0.0000013245 -4.2612220008 0.19 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.2888911E-07 O_D= 0.0000000E+00 O_TOT= -0.8171241E-13 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 85 + WF centre and spread 1 ( -1.412899, 1.412899, 1.412899 ) 1.63408756 + WF centre and spread 2 ( 1.239661, -1.239661, 1.074048 ) 2.74772492 + WF centre and spread 3 ( 1.239661, 1.074048, -1.239661 ) 2.74772491 + WF centre and spread 4 ( -1.074048, -1.239661, -1.239661 ) 2.74772491 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87726231 + + 85 -0.552E-12 0.0000013145 -4.2612220008 0.19 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.2423213E-06 O_D= 0.0000000E+00 O_TOT= -0.5524470E-12 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 86 + WF centre and spread 1 ( -1.412899, 1.412899, 1.412899 ) 1.63408756 + WF centre and spread 2 ( 1.239661, -1.239661, 1.074048 ) 2.74772493 + WF centre and spread 3 ( 1.239661, 1.074048, -1.239661 ) 2.74772493 + WF centre and spread 4 ( -1.074048, -1.239661, -1.239661 ) 2.74772493 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87726236 + + 86 -0.439E-12 0.0000012525 -4.2612220008 0.19 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.2210345E-06 O_D= 0.0000000E+00 O_TOT= -0.4387601E-12 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 87 + WF centre and spread 1 ( -1.412899, 1.412899, 1.412899 ) 1.63408756 + WF centre and spread 2 ( 1.239661, -1.239661, 1.074048 ) 2.74772494 + WF centre and spread 3 ( 1.239661, 1.074048, -1.239661 ) 2.74772494 + WF centre and spread 4 ( -1.074048, -1.239661, -1.239661 ) 2.74772494 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87726238 + + 87 -0.241E-12 0.0000012288 -4.2612220008 0.19 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.1061185E-06 O_D= 0.0000000E+00 O_TOT= -0.2406964E-12 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 88 + WF centre and spread 1 ( -1.412899, 1.412899, 1.412899 ) 1.63408756 + WF centre and spread 2 ( 1.239661, -1.239661, 1.074048 ) 2.74772497 + WF centre and spread 3 ( 1.239661, 1.074048, -1.239661 ) 2.74772497 + WF centre and spread 4 ( -1.074048, -1.239661, -1.239661 ) 2.74772497 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87726247 + + 88 -0.760E-12 0.0000012245 -4.2612220008 0.20 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.3989984E-06 O_D= 0.0000000E+00 O_TOT= -0.7602807E-12 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 89 + WF centre and spread 1 ( -1.412899, 1.412899, 1.412899 ) 1.63408756 + WF centre and spread 2 ( 1.239661, -1.239661, 1.074048 ) 2.74772498 + WF centre and spread 3 ( 1.239661, 1.074048, -1.239661 ) 2.74772498 + WF centre and spread 4 ( -1.074048, -1.239661, -1.239661 ) 2.74772498 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87726250 + + 89 -0.354E-12 0.0000012241 -4.2612220008 0.20 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.1616358E-06 O_D= 0.0000000E+00 O_TOT= -0.3543832E-12 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 90 + WF centre and spread 1 ( -1.412899, 1.412899, 1.412899 ) 1.63408756 + WF centre and spread 2 ( 1.239661, -1.239661, 1.074048 ) 2.74772498 + WF centre and spread 3 ( 1.239661, 1.074048, -1.239661 ) 2.74772498 + WF centre and spread 4 ( -1.074048, -1.239661, -1.239661 ) 2.74772498 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87726251 + + 90 -0.488E-13 0.0000012257 -4.2612220008 0.20 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.2729826E-07 O_D= 0.0000000E+00 O_TOT= -0.4884981E-13 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 91 + WF centre and spread 1 ( -1.412899, 1.412899, 1.412899 ) 1.63408756 + WF centre and spread 2 ( 1.239661, -1.239661, 1.074048 ) 2.74772499 + WF centre and spread 3 ( 1.239661, 1.074048, -1.239661 ) 2.74772499 + WF centre and spread 4 ( -1.074048, -1.239661, -1.239661 ) 2.74772499 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87726254 + + 91 -0.324E-12 0.0000012218 -4.2612220008 0.20 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.1589679E-06 O_D= 0.0000000E+00 O_TOT= -0.3241851E-12 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 92 + WF centre and spread 1 ( -1.412899, 1.412899, 1.412899 ) 1.63408756 + WF centre and spread 2 ( 1.239661, -1.239661, 1.074048 ) 2.74772500 + WF centre and spread 3 ( 1.239661, 1.074048, -1.239661 ) 2.74772500 + WF centre and spread 4 ( -1.074048, -1.239661, -1.239661 ) 2.74772500 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87726256 + + 92 -0.179E-12 0.0000012030 -4.2612220008 0.20 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.8150540E-07 O_D= 0.0000000E+00 O_TOT= -0.1794120E-12 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 93 + WF centre and spread 1 ( -1.412899, 1.412899, 1.412899 ) 1.63408756 + WF centre and spread 2 ( 1.239661, -1.239661, 1.074049 ) 2.74772504 + WF centre and spread 3 ( 1.239661, 1.074049, -1.239661 ) 2.74772503 + WF centre and spread 4 ( -1.074049, -1.239661, -1.239661 ) 2.74772503 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87726267 + + 93 -0.997E-12 0.0000011960 -4.2612220008 0.20 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.5104941E-06 O_D= 0.0000000E+00 O_TOT= -0.9965362E-12 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 94 + WF centre and spread 1 ( -1.412900, 1.412900, 1.412900 ) 1.63408756 + WF centre and spread 2 ( 1.239662, -1.239662, 1.074049 ) 2.74772518 + WF centre and spread 3 ( 1.239662, 1.074049, -1.239662 ) 2.74772518 + WF centre and spread 4 ( -1.074049, -1.239662, -1.239662 ) 2.74772518 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87726311 + + 94 -0.376E-11 0.0000011760 -4.2612220008 0.21 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.2070441E-05 O_D= 0.0000000E+00 O_TOT= -0.3757883E-11 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 95 + WF centre and spread 1 ( -1.412902, 1.412902, 1.412902 ) 1.63408756 + WF centre and spread 2 ( 1.239663, -1.239663, 1.074049 ) 2.74772655 + WF centre and spread 3 ( 1.239663, 1.074049, -1.239663 ) 2.74772655 + WF centre and spread 4 ( -1.074049, -1.239663, -1.239663 ) 2.74772655 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87726721 + + 95 -0.234E-10 0.0000012803 -4.2612220008 0.21 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.1922426E-04 O_D= 0.0000000E+00 O_TOT= -0.2339373E-10 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 96 + WF centre and spread 1 ( -1.412902, 1.412902, 1.412902 ) 1.63408756 + WF centre and spread 2 ( 1.239663, -1.239663, 1.074049 ) 2.74772655 + WF centre and spread 3 ( 1.239663, 1.074049, -1.239663 ) 2.74772655 + WF centre and spread 4 ( -1.074049, -1.239663, -1.239663 ) 2.74772655 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87726722 + + 96 -0.126E-12 0.0000010046 -4.2612220008 0.21 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.3189778E-07 O_D= 0.0000000E+00 O_TOT= -0.1261213E-12 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 97 + WF centre and spread 1 ( -1.412902, 1.412902, 1.412902 ) 1.63408756 + WF centre and spread 2 ( 1.239663, -1.239663, 1.074049 ) 2.74772655 + WF centre and spread 3 ( 1.239663, 1.074049, -1.239663 ) 2.74772655 + WF centre and spread 4 ( -1.074049, -1.239663, -1.239663 ) 2.74772655 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87726722 + + 97 -0.604E-13 0.0000008568 -4.2612220008 0.21 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.1477521E-07 O_D= 0.0000000E+00 O_TOT= -0.6039613E-13 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 98 + WF centre and spread 1 ( -1.412902, 1.412902, 1.412902 ) 1.63408756 + WF centre and spread 2 ( 1.239663, -1.239663, 1.074049 ) 2.74772656 + WF centre and spread 3 ( 1.239663, 1.074049, -1.239663 ) 2.74772655 + WF centre and spread 4 ( -1.074049, -1.239663, -1.239663 ) 2.74772655 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87726723 + + 98 -0.968E-13 0.0000008014 -4.2612220008 0.21 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.3028113E-07 O_D= 0.0000000E+00 O_TOT= -0.9681145E-13 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 99 + WF centre and spread 1 ( -1.412902, 1.412902, 1.412902 ) 1.63408756 + WF centre and spread 2 ( 1.239663, -1.239663, 1.074049 ) 2.74772657 + WF centre and spread 3 ( 1.239663, 1.074049, -1.239663 ) 2.74772657 + WF centre and spread 4 ( -1.074049, -1.239663, -1.239663 ) 2.74772656 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87726726 + + 99 -0.266E-12 0.0000007066 -4.2612220008 0.22 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.1928814E-06 O_D= 0.0000000E+00 O_TOT= -0.2664535E-12 <-- DLTA + ------------------------------------------------------------------------------ + Cycle: 100 + WF centre and spread 1 ( -1.412902, 1.412902, 1.412902 ) 1.63408756 + WF centre and spread 2 ( 1.239663, -1.239663, 1.074049 ) 2.74772657 + WF centre and spread 3 ( 1.239663, 1.074049, -1.239663 ) 2.74772657 + WF centre and spread 4 ( -1.074049, -1.239663, -1.239663 ) 2.74772657 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87726727 + + 100 -0.338E-13 0.0000006422 -4.2612220008 0.22 <-- CONV + O_IOD= -4.2612220 O_D= 0.0000000 O_TOT= -4.2612220 <-- SPRD +Delta: O_IOD= 0.2932747E-07 O_D= 0.0000000E+00 O_TOT= -0.3375078E-13 <-- DLTA + ------------------------------------------------------------------------------ + + Writing checkpoint file gaas.chk... done + + Final State + WF centre and spread 1 ( -1.412902, 1.412902, 1.412902 ) 1.63408756 + WF centre and spread 2 ( 1.239663, -1.239663, 1.074049 ) 2.74772657 + WF centre and spread 3 ( 1.239663, 1.074049, -1.239663 ) 2.74772657 + WF centre and spread 4 ( -1.074049, -1.239663, -1.239663 ) 2.74772657 + Sum of centres and spreads ( -0.007625, 0.007625, 0.007625 ) 9.87726727 + + Spreads (Ang^2) Omega IOD_C = -4.261222001 + ================ Omega D = 0.000000000 + Omega Rest = 5.616045269 + Penalty func = 0.000000000 + Final Spread (Ang^2) Omega Total_C = -4.261222001 + ------------------------------------------------------------------------------ + Time for wannierise 0.220 (sec) + + Writing checkpoint file gaas.chk... done + + Time for plotting 0.000 (sec) + Total Execution Time 0.280 (sec) + + *===========================================================================* + | TIMING INFORMATION | + *===========================================================================* + | Tag Ncalls Time (s)| + |---------------------------------------------------------------------------| + |kmesh: get : 1 0.040| + |overlap: allocate : 1 0.000| + |overlap: read : 1 0.008| + |wann: main : 1 0.220| + |plot: main : 1 0.000| + *---------------------------------------------------------------------------* + + All done: wannier90 exiting diff --git a/test-suite/tests/testw90_example26/gaas.amn b/test-suite/tests/testw90_example26/gaas.amn new file mode 100644 index 000000000..c95cd308b --- /dev/null +++ b/test-suite/tests/testw90_example26/gaas.amn @@ -0,0 +1,1026 @@ + Created on 21Jun2018 at 13:28:41 + 4 64 4 + 1 1 1 -0.561254746094 0.488959364631 + 2 1 1 0.237633658358 0.001552062159 + 3 1 1 0.233249599835 -0.147440677523 + 4 1 1 0.279705719968 -0.190354748430 + 1 2 1 -0.561254746877 0.488959369138 + 2 2 1 0.288297542923 0.024513833357 + 3 2 1 -0.350888843697 0.112193436998 + 4 2 1 -0.094766954340 0.136671129405 + 1 3 1 -0.561254746224 0.488959366802 + 2 3 1 -0.384501104116 -0.115689776449 + 3 3 1 -0.115871423303 -0.138932472421 + 4 3 1 0.165459323761 0.160487037068 + 1 4 1 -0.561254746596 0.488959363701 + 2 4 1 -0.141430097028 0.089623880769 + 3 4 1 0.233510673933 0.174179717942 + 4 4 1 -0.350398084228 -0.106803422949 + 1 1 2 0.701243622976 -0.075894397641 + 2 1 2 0.056382864755 0.206782897825 + 3 1 2 -0.087912720271 0.231663283164 + 4 1 2 0.426375943749 0.027891254126 + 1 2 2 0.701243625569 -0.075894403829 + 2 2 2 0.056382865919 0.206782893968 + 3 2 2 -0.112897060746 0.219321722947 + 4 2 2 -0.425664516108 -0.043964138695 + 1 3 2 0.424517772559 0.481089705089 + 2 3 2 0.607755259618 -0.058004006120 + 3 3 2 -0.000000000249 0.000000000522 + 4 3 2 0.000000002163 -0.000000002026 + 1 4 2 0.701243621022 -0.075894399454 + 2 4 2 0.056382865950 0.206782898682 + 3 4 2 0.200809779391 -0.450985007774 + 4 4 2 -0.000711425941 0.016072882605 + 1 1 3 0.660498181128 0.000283774136 + 2 1 3 0.254714027898 0.000109484267 + 3 1 3 -0.023810447689 0.288266239523 + 4 1 3 0.122871653724 0.424145308059 + 1 2 3 0.660498176578 0.000283777803 + 2 2 3 0.254714030777 0.000109476162 + 3 2 3 0.065608286736 -0.522766830669 + 4 2 3 -0.005917033646 0.032193449744 + 1 3 3 -0.293822353093 -0.000126236759 + 2 3 3 0.839213943389 0.000360707559 + 3 3 3 -0.000000000559 -0.000000000837 + 4 3 3 0.000000002862 -0.000000003697 + 1 4 3 0.660498177298 0.000283777655 + 2 4 3 0.254714024736 0.000109481407 + 3 4 3 -0.041797831510 0.234500587872 + 4 4 3 -0.116954617651 -0.456338761009 + 1 1 4 0.701219175407 0.076119967007 + 2 1 4 0.056449379551 -0.206764751098 + 3 1 4 -0.072799111852 -0.400374917344 + 4 1 4 -0.130420743270 -0.247712598962 + 1 2 4 0.701219173013 0.076119967488 + 2 2 4 0.056449379005 -0.206764746234 + 3 2 4 0.100483176668 -0.033632161869 + 4 2 4 0.078337057173 0.476031726882 + 1 3 4 0.424672504133 -0.480953126361 + 2 3 4 0.607736569970 0.058199501533 + 3 3 4 0.000000000907 -0.000000000532 + 4 3 4 0.000000000101 -0.000000002571 + 1 4 4 0.701219175658 0.076119965809 + 2 4 4 0.056449381816 -0.206764751760 + 3 4 4 -0.027684061888 0.434007078964 + 4 4 4 0.052083682957 -0.228319125700 + 1 1 5 -0.701205649177 0.076244505526 + 2 1 5 -0.056486097449 -0.206754724033 + 3 1 5 -0.295227896180 -0.058549944842 + 4 1 5 0.345798594540 -0.183865738614 + 1 2 5 -0.701205644839 0.076244503469 + 2 2 5 -0.056486090686 -0.206754722116 + 3 2 5 -0.185775637384 -0.033085653618 + 4 2 5 -0.401699678634 0.216797155738 + 1 3 5 -0.701205645221 0.076244501115 + 2 3 5 -0.056486097120 -0.206754722733 + 3 3 5 0.481003531771 0.091635594502 + 4 3 5 0.055901082710 -0.032931416233 + 1 4 5 -0.424757917356 -0.480877693258 + 2 4 5 -0.607726225967 0.058307419409 + 3 4 5 0.000000000144 -0.000000001343 + 4 4 5 0.000000000062 0.000000000544 + 1 1 6 0.595490279164 -0.312416158551 + 2 1 6 0.284089147773 0.244635748661 + 3 1 6 0.095924249876 -0.043891036848 + 4 1 6 -0.292102836382 0.302539363778 + 1 2 6 0.595490274150 -0.312416161520 + 2 2 6 0.284089145241 0.244635751020 + 3 2 6 -0.095924248320 0.043891037474 + 4 2 6 0.292102838965 -0.302539365026 + 1 3 6 0.595954802343 0.311529129789 + 2 3 6 0.283724554767 -0.245058503760 + 3 3 6 0.033228945140 0.419225442804 + 4 3 6 0.046161361037 0.094852590342 + 1 4 6 0.595954805385 0.311529127957 + 2 4 6 0.283724555350 -0.245058503057 + 3 4 6 -0.033228945739 -0.419225442041 + 4 4 6 -0.046161357899 -0.094852588768 + 1 1 7 0.538983118601 -0.281221425529 + 2 1 7 0.271484574401 0.274865039594 + 3 1 7 -0.167997081714 -0.110445007591 + 4 1 7 -0.022206039762 -0.462770875215 + 1 2 7 0.538983118430 -0.281221422743 + 2 2 7 0.271484571646 0.274865034752 + 3 2 7 -0.167997078957 -0.110445003194 + 4 2 7 0.022206050873 0.462770878785 + 1 3 7 -0.186724750265 0.373550231252 + 2 3 7 0.713740890804 0.201937533439 + 3 3 7 0.199881579437 -0.105667382921 + 4 3 7 -0.000000003399 -0.000000001003 + 1 4 7 0.485112200497 0.374035487608 + 2 4 7 0.292318249232 0.086811596896 + 3 4 7 -0.134645720020 0.517999781506 + 4 4 7 -0.000000002187 -0.000000003785 + 1 1 8 0.664943975525 0.000110899321 + 2 1 8 0.200022816134 0.000033366407 + 3 1 8 0.291143491131 0.000048517740 + 4 1 8 0.290070589517 0.347620173471 + 1 2 8 0.664943982890 0.000110901211 + 2 2 8 0.200022816585 0.000033363693 + 3 2 8 0.291143492934 0.000048521197 + 4 2 8 -0.290070589856 -0.347620175024 + 1 3 8 0.253907126499 -0.485404637684 + 2 3 8 0.552043373383 0.228735849808 + 3 3 8 -0.165432215110 0.296303593108 + 4 3 8 -0.000000000031 -0.000000003739 + 1 4 8 0.253745198978 0.485489305596 + 2 4 8 0.552119650960 -0.228551668234 + 3 4 8 -0.165333447542 -0.296358714836 + 4 4 8 0.000000001396 0.000000000641 + 1 1 9 0.660498239038 -0.000027905716 + 2 1 9 0.254714050267 -0.000010798646 + 3 1 9 0.414533288225 -0.101577163466 + 4 1 9 -0.157263080461 -0.267905944814 + 1 2 9 0.660498237784 -0.000027905505 + 2 2 9 0.254714052041 -0.000010797324 + 3 2 9 -0.289354612568 -0.205415463318 + 4 2 9 0.383569925788 -0.074923583771 + 1 3 9 0.660498237147 -0.000027906881 + 2 3 9 0.254714046600 -0.000010796239 + 3 3 9 -0.125178671799 0.306992632809 + 4 3 9 -0.226306846583 0.342829526628 + 1 4 9 -0.293822378454 0.000012415051 + 2 4 9 0.839214020077 -0.000035574697 + 3 4 9 0.000000003529 -0.000000000753 + 4 4 9 -0.000000002128 0.000000003130 + 1 1 10 -0.539177895956 0.280847813477 + 2 1 10 -0.271294013905 -0.275053128474 + 3 1 10 0.167920482955 0.110561431157 + 4 1 10 -0.460908229372 0.047048816324 + 1 2 10 -0.539177893918 0.280847804900 + 2 2 10 -0.271293997089 -0.275053134715 + 3 2 10 0.167920479659 0.110561434940 + 4 2 10 0.460908231614 -0.047048807069 + 1 3 10 -0.484852857724 -0.374371603338 + 2 3 10 -0.292258017461 -0.087014170755 + 3 3 10 0.135004760096 -0.517906321981 + 4 3 10 -0.000000003444 -0.000000000578 + 1 4 10 0.186983597634 -0.373420733630 + 2 4 10 -0.713600767072 -0.202432150884 + 3 4 10 -0.199954780657 0.105528801056 + 4 4 10 0.000000003039 -0.000000006309 + 1 1 11 0.294914175603 -0.419271347798 + 2 1 11 -0.509164491098 0.166374470211 + 3 1 11 0.032972514336 -0.280315378889 + 4 1 11 -0.250220876156 0.294305057118 + 1 2 11 0.294914177055 -0.419271351168 + 2 2 11 -0.509164494466 0.166374477217 + 3 2 11 -0.032972496429 0.280315390419 + 4 2 11 0.250220864703 -0.294305033042 + 1 3 11 -0.294914175096 0.419271352210 + 2 3 11 -0.509164495787 0.166374477064 + 3 3 11 -0.123032522784 0.366181573758 + 4 3 11 -0.223123855243 0.172857287529 + 1 4 11 -0.294914175452 0.419271359474 + 2 4 11 -0.509164492931 0.166374467273 + 3 4 11 0.123032532729 -0.366181571301 + 4 4 11 0.223123852211 -0.172857283417 + 1 1 12 -0.539175112465 -0.280853146546 + 2 1 12 -0.271296721890 0.275050449602 + 3 1 12 0.167921584575 -0.110559756564 + 4 1 12 -0.295621172616 -0.356732532119 + 1 2 12 -0.539175117885 -0.280853146565 + 2 2 12 -0.271296720588 0.275050447977 + 3 2 12 0.167921584186 -0.110559756725 + 4 2 12 0.295621170906 0.356732531208 + 1 3 12 -0.484856562498 0.374366807628 + 2 3 12 -0.292258870258 0.087011285050 + 3 3 12 0.134999588060 0.517907669787 + 4 3 12 -0.000000002026 0.000000002465 + 1 4 12 0.186979901234 0.373422587201 + 2 4 12 -0.713602761595 0.202425110607 + 3 4 12 -0.199953724922 -0.105530795374 + 4 4 12 -0.000000000037 0.000000002325 + 1 1 13 0.701125188923 0.076980839294 + 2 1 13 0.056703199371 -0.206695284360 + 3 1 13 -0.173206401034 0.065004005948 + 4 1 13 0.404191527532 0.215346523553 + 1 2 13 0.701125185743 0.076980829700 + 2 2 13 0.056703199421 -0.206695288463 + 3 2 13 0.483224567885 -0.032915426772 + 4 2 13 -0.096056890107 0.012431861289 + 1 3 13 0.701125188366 0.076980829467 + 2 3 13 0.056703199779 -0.206695289283 + 3 3 13 -0.310018174277 -0.032088571970 + 4 3 13 -0.308134639017 -0.227778382875 + 1 4 13 0.425262677876 -0.480431369545 + 2 4 13 0.607664657651 0.058945622111 + 3 4 13 -0.000000003676 -0.000000000924 + 4 4 13 0.000000001522 -0.000000001638 + 1 1 14 -0.664943985337 0.000082733982 + 2 1 14 -0.200022817580 0.000024887134 + 3 1 14 -0.291143498108 0.000036242026 + 4 1 14 0.450340173473 -0.046631107136 + 1 2 14 -0.664943979462 0.000082734976 + 2 2 14 -0.200022815268 0.000024888469 + 3 2 14 -0.291143492242 0.000036240092 + 4 2 14 -0.450340174708 0.046631107287 + 1 3 14 -0.253886565805 -0.485415390855 + 2 3 14 -0.552053066095 0.228712453057 + 3 3 14 0.165419721110 0.296310569405 + 4 3 14 0.000000002322 -0.000000002928 + 1 4 14 -0.253765764340 0.485478555084 + 2 4 14 -0.552109963468 -0.228575068906 + 3 4 14 0.165345947090 -0.296351742598 + 4 4 14 0.000000000191 0.000000001375 + 1 1 15 0.539463688299 0.280298449724 + 2 1 15 0.271013675943 -0.275329353861 + 3 1 15 -0.167807801352 0.110732380624 + 4 1 15 -0.121268456994 -0.447150939763 + 1 2 15 0.539463683081 0.280298453445 + 2 2 15 0.271013674729 -0.275329341194 + 3 2 15 -0.167807803939 0.110732376903 + 4 2 15 0.121268444527 0.447150936385 + 1 3 15 -0.187363871765 -0.373230072635 + 2 3 15 0.713394181191 -0.203158983442 + 3 3 15 0.200062141211 0.105325123519 + 4 3 15 -0.000000003050 -0.000000004575 + 1 4 15 0.484471262449 -0.374865289860 + 2 4 15 0.292169227925 -0.087311845047 + 3 4 15 -0.135532103300 -0.517768567456 + 4 4 15 0.000000007609 -0.000000000655 + 1 1 16 0.596566093511 0.310356921113 + 2 1 16 0.283242246834 -0.245615796882 + 3 1 16 0.055256016106 0.407530556355 + 4 1 16 -0.137240111663 0.003577232154 + 1 2 16 0.596566093216 0.310356921381 + 2 2 16 0.283242247916 -0.245615794300 + 3 2 16 -0.055256012844 -0.407530552835 + 4 2 16 0.137240109874 -0.003577238619 + 1 3 16 0.594874934729 -0.313586253749 + 2 3 16 0.284569509916 0.244076796498 + 3 3 16 -0.136057167636 -0.018332809304 + 4 3 16 -0.098812810036 0.399212226970 + 1 4 16 0.594874935267 -0.313586247105 + 2 4 16 0.284569514240 0.244076796946 + 3 4 16 0.136057166402 0.018332811723 + 4 4 16 0.098812810237 -0.399212232529 + 1 1 17 -0.701220084853 0.076111576846 + 2 1 17 -0.056446911660 -0.206765427743 + 3 1 17 0.170567820171 0.140168972711 + 4 1 17 -0.060499908704 -0.437687022713 + 1 2 17 -0.424666755343 -0.480958201713 + 2 2 17 -0.607737267828 0.058192246812 + 3 2 17 0.000000000545 -0.000000000624 + 4 2 17 -0.000000001337 0.000000000703 + 1 3 17 -0.701220084404 0.076111581870 + 2 3 17 -0.056446912572 -0.206765422486 + 3 3 17 -0.463056764557 -0.130996665774 + 4 3 17 -0.087784639664 0.068432817051 + 1 4 17 -0.701220085811 0.076111585187 + 2 4 17 -0.056446912842 -0.206765423466 + 3 4 17 0.292488943709 -0.009172306345 + 4 4 17 0.148284546320 0.369254206163 + 1 1 18 0.595677817084 -0.312058431298 + 2 1 18 0.283942146069 0.244806352799 + 3 1 18 0.373290277470 0.170709421469 + 4 1 18 -0.111994087812 0.083378718333 + 1 2 18 0.595767582168 0.311887027796 + 2 2 18 0.283871706868 -0.244888028302 + 3 2 18 0.137130529115 -0.026266028084 + 4 2 18 0.126259369619 -0.390571256697 + 1 3 18 0.595767575297 0.311887024514 + 2 3 18 0.283871706977 -0.244888031259 + 3 3 18 -0.137130527751 0.026266027239 + 4 3 18 -0.126259369466 0.390571256824 + 1 4 18 0.595677816432 -0.312058428698 + 2 4 18 0.283942145893 0.244806355695 + 3 4 18 -0.373290274749 -0.170709423394 + 4 4 18 0.111994088830 -0.083378720060 + 1 1 19 -0.539299404248 0.280614400335 + 2 1 19 -0.271174915053 -0.275170530172 + 3 1 19 0.167872652432 0.110634036226 + 4 1 19 0.361811814935 -0.289382458231 + 1 2 19 -0.484690773526 -0.374581440033 + 2 2 19 -0.292220326668 -0.087140665347 + 3 2 19 0.135228699137 -0.517847891371 + 4 2 19 -0.000000005957 0.000000015507 + 1 3 19 0.187145212302 -0.373339764604 + 2 3 19 -0.713513079126 -0.202741005740 + 3 3 19 -0.200000393583 0.105442331085 + 4 3 19 -0.000000003910 -0.000000001165 + 1 4 19 -0.539299400196 0.280614402471 + 2 4 19 -0.271174936566 -0.275170531619 + 3 4 19 0.167872657691 0.110634033972 + 4 4 19 -0.361811816977 0.289382452897 + 1 1 20 -0.664943964743 0.000188877312 + 2 1 20 -0.200022810812 0.000056814619 + 3 1 20 -0.291143488633 0.000082680533 + 4 1 20 0.303713991741 0.335765612353 + 1 2 20 -0.253964045668 -0.485374858540 + 2 2 20 -0.552016552873 0.228800567401 + 3 2 20 0.165466978610 0.296284179027 + 4 2 20 0.000000001242 -0.000000001879 + 1 3 20 -0.253688261743 0.485519059275 + 2 3 20 -0.552146441146 -0.228486937205 + 3 3 20 0.165298671998 -0.296378111283 + 4 3 20 0.000000001128 -0.000000000780 + 1 4 20 -0.664943960268 0.000188879430 + 2 4 20 -0.200022810874 0.000056815655 + 3 4 20 -0.291143482704 0.000082679342 + 4 4 20 -0.303713992263 -0.335765612373 + 1 1 21 -0.595600942908 0.312205119809 + 2 1 21 -0.284002422943 -0.244736411967 + 3 1 21 -0.316558663278 -0.179690290230 + 4 1 21 -0.106470053909 0.210114643088 + 1 2 21 -0.595844366500 -0.311740297656 + 2 2 21 -0.283811372809 0.244957938995 + 3 2 21 -0.187437263943 0.142658012165 + 4 2 21 -0.233894123590 -0.278911317782 + 1 3 21 -0.595600946914 0.312205124147 + 2 3 21 -0.284002422434 -0.244736412657 + 3 3 21 0.316558658134 0.179690289951 + 4 3 21 0.106470059786 -0.210114639011 + 1 4 21 -0.595844370641 -0.311740297632 + 2 4 21 -0.283811373563 0.244957939732 + 3 4 21 0.187437261923 -0.142658009967 + 4 4 21 0.233894130358 0.278911313386 + 1 1 22 -0.424502230260 0.481103422422 + 2 1 22 -0.607757134421 -0.057984357159 + 3 1 22 0.000000002303 -0.000000001900 + 4 1 22 0.000000000245 0.000000000194 + 1 2 22 -0.701246077363 -0.075871741904 + 2 2 22 -0.056376181093 0.206784720684 + 3 2 22 -0.176802633223 0.336336391921 + 4 2 22 0.314534325063 0.025645821116 + 1 3 22 -0.701246076796 -0.075871743503 + 2 3 22 -0.056376179268 0.206784718037 + 3 3 22 0.343092739835 -0.267286513996 + 4 3 22 0.072694043890 0.222557313362 + 1 4 22 -0.701246077749 -0.075871743750 + 2 4 22 -0.056376175803 0.206784720996 + 3 4 22 -0.166290103709 -0.069049885566 + 4 4 22 -0.387228368116 -0.248203133485 + 1 1 23 0.254099945564 -0.485303728511 + 2 1 23 0.551952461310 0.228955136649 + 3 1 23 -0.165549956072 0.296237824634 + 4 1 23 0.000000001026 -0.000000000980 + 1 2 23 0.664943882543 0.000375068923 + 2 2 23 0.200022787118 0.000112827549 + 3 2 23 0.291143449065 0.000164225858 + 4 2 23 0.452733746903 0.003590428039 + 1 3 23 0.253552303693 0.485590071815 + 2 3 23 0.552210400587 -0.228332314625 + 3 3 23 -0.165215657943 -0.296424397223 + 4 3 23 -0.000000000554 -0.000000000184 + 1 4 23 0.664943882865 0.000375066405 + 2 4 23 0.200022786722 0.000112824627 + 3 4 23 0.291143451846 0.000164220323 + 4 4 23 -0.452733746181 -0.003590428397 + 1 1 24 -0.484913407226 0.374293169903 + 2 1 24 -0.292272090072 0.086966890277 + 3 1 24 0.134921007776 0.517928145311 + 4 1 24 -0.000000008196 -0.000000003454 + 1 2 24 -0.539132452001 -0.280935028084 + 2 2 24 -0.271338496975 0.275009232683 + 3 2 24 0.167938357665 -0.110534275538 + 4 2 24 0.325059446928 -0.330130815774 + 1 3 24 0.186923183907 0.373450973990 + 2 3 24 -0.713633504154 0.202316710125 + 3 3 24 -0.199937712723 -0.105561134398 + 4 3 24 -0.000000007141 0.000000002600 + 1 4 24 -0.539132452344 -0.280935030323 + 2 4 24 -0.271338503970 0.275009236519 + 3 4 24 0.167938358114 -0.110534278048 + 4 4 24 -0.325059451286 0.330130820908 + 1 1 25 0.539332830558 -0.280550160813 + 2 1 25 0.271142129908 0.275202852588 + 3 1 25 -0.167859435326 -0.110654095479 + 4 1 25 0.396516129451 0.239635046746 + 1 2 25 0.484646143680 0.374639172435 + 2 2 25 0.292209938480 0.087175495985 + 3 2 25 -0.135290579319 0.517831729236 + 4 2 25 0.000000003055 -0.000000000008 + 1 3 25 0.539332822943 -0.280550160302 + 2 3 25 0.271142121650 0.275202845049 + 3 3 25 -0.167859432740 -0.110654092230 + 4 3 25 -0.396516132813 -0.239635039129 + 1 4 25 -0.187189680138 0.373317471075 + 2 4 25 0.713488905933 0.202826047058 + 3 4 25 0.200012993632 -0.105418428980 + 4 4 25 0.000000003211 0.000000002175 + 1 1 26 -0.254202764331 0.485249881099 + 2 1 26 -0.551903940752 -0.229072070737 + 3 1 26 0.165612690379 -0.296202759555 + 4 1 26 0.000000001225 0.000000002998 + 1 2 26 -0.664943786763 -0.000515950105 + 2 2 26 -0.200022759456 -0.000155203141 + 3 2 26 -0.291143411718 -0.000225880508 + 4 2 26 0.452668366054 0.008489881997 + 1 3 26 -0.664943788364 -0.000515949265 + 2 3 26 -0.200022756184 -0.000155205249 + 3 3 26 -0.291143406940 -0.000225882132 + 4 3 26 -0.452668366905 -0.008489880445 + 1 4 26 -0.253449416191 -0.485643781304 + 2 4 26 -0.552258766158 0.228215316156 + 3 4 26 0.165152879667 0.296459378636 + 4 4 26 -0.000000000731 -0.000000000431 + 1 1 27 0.187387148603 0.373218388938 + 2 1 27 -0.713381528466 0.203203404281 + 3 1 27 -0.200068711227 -0.105312641323 + 4 1 27 -0.000000005540 0.000000001854 + 1 2 27 -0.484447888629 0.374895503627 + 2 2 27 -0.292163780502 0.087330039116 + 3 2 27 0.135564404288 0.517760114255 + 4 2 27 0.000000002479 0.000000003283 + 1 3 27 -0.539481169143 -0.280264803764 + 2 3 27 -0.270996530607 0.275346220177 + 3 3 27 0.167800893629 -0.110742849019 + 4 3 27 -0.174518816598 0.429177309532 + 1 4 27 -0.539481168749 -0.280264804909 + 2 4 27 -0.270996526503 0.275346226418 + 3 4 27 0.167800894814 -0.110742846673 + 4 4 27 0.174518816506 -0.429177307125 + 1 1 28 -0.012397124138 0.507611779620 + 2 1 28 -0.069621305526 0.531869146794 + 3 1 28 0.317675645220 0.063358771346 + 4 1 28 -0.243309048353 -0.225791033935 + 1 2 28 -0.507611771250 -0.012397131901 + 2 2 28 -0.069621313580 0.531869150114 + 3 2 28 -0.317675649725 -0.063358767374 + 4 2 28 -0.225791034134 0.243309057024 + 1 3 28 0.507611785642 0.012397115229 + 2 3 28 -0.069621309508 0.531869142201 + 3 3 28 -0.317675648566 -0.063358764054 + 4 3 28 0.225791038387 -0.243309054656 + 1 4 28 0.012397122859 -0.507611786084 + 2 4 28 -0.069621308240 0.531869137365 + 3 4 28 0.317675648358 0.063358764930 + 4 4 28 0.243309060652 0.225791036571 + 1 1 29 0.664943977947 0.000111973330 + 2 1 29 0.200022817818 0.000033683527 + 3 1 29 0.291143493867 0.000048994443 + 4 1 29 -0.285080208830 -0.351724323681 + 1 2 29 0.253744416074 0.485489712604 + 2 2 29 0.552120014841 -0.228550789379 + 3 2 29 -0.165332965403 -0.296358984060 + 4 2 29 0.000000000207 0.000000001528 + 1 3 29 0.664943973885 0.000111973047 + 2 3 29 0.200022813336 0.000033683547 + 3 3 29 0.291143489915 0.000048992034 + 4 3 29 0.285080208858 0.351724323088 + 1 4 29 0.253907910876 -0.485404226794 + 2 4 29 0.552043008254 0.228736729813 + 3 4 29 -0.165432698166 0.296303323565 + 4 4 29 0.000000001307 -0.000000004037 + 1 1 30 -0.485442048116 0.373607294888 + 2 1 30 -0.292394731114 0.086553646914 + 3 1 30 0.134188601335 0.518118385707 + 4 1 30 0.000000001563 0.000000001589 + 1 2 30 -0.538734772047 -0.281696895119 + 2 2 30 -0.271726980469 0.274625394484 + 3 2 30 0.168094468833 -0.110296727725 + 4 2 30 -0.417543377377 0.200767303274 + 1 3 30 -0.538734771411 -0.281696892227 + 2 3 30 -0.271726982416 0.274625398150 + 3 3 30 0.168094467764 -0.110296728054 + 4 3 30 0.417543373869 -0.200767301937 + 1 4 30 0.186395068733 0.373714846275 + 2 4 30 -0.713918788381 0.201307715969 + 3 4 30 -0.199788265529 -0.105843710844 + 4 4 30 0.000000001294 0.000000000879 + 1 1 31 0.174707780590 -0.476760516230 + 2 1 31 0.226142787999 0.486406570393 + 3 1 31 -0.058198631387 -0.318661376169 + 4 1 31 -0.328526213230 -0.047449124441 + 1 2 31 0.476760518822 0.174707768532 + 2 2 31 0.226142784241 0.486406566615 + 3 2 31 0.058198635249 0.318661375021 + 4 2 31 -0.047449111535 0.328526211677 + 1 3 31 -0.174707778981 0.476760525072 + 2 3 31 0.226142786094 0.486406573022 + 3 3 31 -0.058198631727 -0.318661372978 + 4 3 31 0.328526209203 0.047449110113 + 1 4 31 -0.476760524899 -0.174707783084 + 2 4 31 0.226142782335 0.486406569306 + 3 4 31 0.058198631955 0.318661374636 + 4 4 31 0.047449110522 -0.328526213209 + 1 1 32 -0.485015017587 -0.374161498178 + 2 1 32 -0.292295683877 -0.086887566256 + 3 1 32 0.134780300427 -0.517964777072 + 4 1 32 -0.000000000626 -0.000000001113 + 1 2 32 0.186821787946 -0.373501713234 + 2 2 32 -0.713688389731 -0.202123016320 + 3 2 32 -0.199909027294 0.105615448326 + 4 2 32 -0.000000000956 0.000000004027 + 1 3 32 -0.539056160489 0.281081394520 + 2 3 32 -0.271413128674 -0.274935586458 + 3 3 32 0.167968376200 0.110488650529 + 4 3 32 0.338654592532 -0.316169362511 + 1 4 32 -0.539056155518 0.281081394664 + 2 4 32 -0.271413128868 -0.274935579773 + 3 4 32 0.167968379337 0.110488650421 + 4 4 32 -0.338654590445 0.316169361666 + 1 1 33 -0.660498132380 0.000370950599 + 2 1 33 -0.254714008357 0.000143076456 + 3 1 33 -0.076775791702 0.254019502533 + 4 1 33 0.252546909411 -0.380079821888 + 1 2 33 0.293822332644 -0.000165018718 + 2 2 33 -0.839213887896 0.000471404502 + 3 2 33 -0.000000001008 0.000000000122 + 4 2 33 0.000000000838 0.000000001682 + 1 3 33 -0.660498136994 0.000370957084 + 2 3 33 -0.254714008288 0.000143078830 + 3 3 33 0.131285955928 0.257113147279 + 4 3 33 -0.139060535417 0.419499743841 + 1 4 33 -0.660498134537 0.000370954397 + 2 4 33 -0.254714010591 0.000143080055 + 3 4 33 -0.054510168041 -0.511132650647 + 4 4 33 -0.113486368645 -0.039419921911 + 1 1 34 0.539578835644 -0.280076734063 + 2 1 34 0.270900532164 0.275440675416 + 3 1 34 -0.167762255762 -0.110801377844 + 4 1 34 0.341949226155 -0.312603134852 + 1 2 34 -0.187517234983 0.373153047479 + 2 2 34 0.713310645868 0.203452081151 + 3 2 34 0.200105438411 -0.105242839919 + 4 2 34 0.000000006444 0.000000000441 + 1 3 34 0.484317168184 0.375064354517 + 2 3 34 0.292133327185 0.087431880867 + 3 3 34 -0.135745013351 0.517712791245 + 4 3 34 0.000000001676 -0.000000007191 + 1 4 34 0.539578831748 -0.280076724742 + 2 4 34 0.270900516743 0.275440680582 + 3 4 34 -0.167762248460 -0.110801376088 + 4 4 34 -0.341949232859 0.312603134964 + 1 1 35 0.371083335373 -0.353638229208 + 2 1 35 0.039477313249 0.534200796544 + 3 1 35 -0.268019497491 -0.062044279100 + 4 1 35 -0.356490328339 -0.161618510022 + 1 2 35 -0.371083333441 0.353638231653 + 2 2 35 0.039477307723 0.534200794238 + 3 2 35 -0.127901635288 -0.369928488719 + 4 2 35 0.036950651100 0.272614365962 + 1 3 35 -0.371083333025 0.353638233754 + 2 3 35 0.039477313107 0.534200792903 + 3 3 35 0.127901627311 0.369928467469 + 4 3 35 -0.036950640078 -0.272614352099 + 1 4 35 0.371083330911 -0.353638238095 + 2 4 35 0.039477309868 0.534200789741 + 3 4 35 0.268019498169 0.062044271113 + 4 4 35 0.356490320918 0.161618506576 + 1 1 36 -0.539156732164 -0.280888439817 + 2 1 36 -0.271314747924 0.275032668849 + 3 1 36 0.167928796525 -0.110548798603 + 4 1 36 0.431810999772 0.167896542569 + 1 2 36 0.186955454343 0.373434821768 + 2 2 36 -0.713616028428 0.202378332765 + 3 2 36 -0.199946839956 -0.105543843276 + 4 2 36 -0.000000006943 0.000000003856 + 1 3 36 -0.484881066451 0.374335066716 + 2 3 36 -0.292264571991 0.086992130680 + 3 3 36 0.134965798169 0.517916478270 + 4 3 36 -0.000000005558 -0.000000001246 + 1 4 36 -0.539156729640 -0.280888441233 + 2 4 36 -0.271314750512 0.275032663243 + 3 4 36 0.167928801339 -0.110548802011 + 4 4 36 -0.431810999806 -0.167896534228 + 1 1 37 -0.539512391209 0.280204690823 + 2 1 37 -0.270965837709 -0.275376424366 + 3 1 37 0.167788549582 0.110761546411 + 4 1 37 0.447850418690 -0.118659170034 + 1 2 37 0.187428729157 -0.373197510220 + 2 2 37 -0.713358877237 -0.203282904957 + 3 2 37 -0.200080449930 0.105290344967 + 4 2 37 -0.000000004747 0.000000000403 + 1 3 37 -0.539512394331 0.280204694254 + 2 3 37 -0.270965841067 -0.275376428146 + 3 3 37 0.167788552173 0.110761549247 + 4 3 37 -0.447850429076 0.118659157656 + 1 4 37 -0.484406112770 -0.374949478653 + 2 4 37 -0.292154050095 -0.087362603533 + 3 4 37 0.135622108294 -0.517745001810 + 4 4 37 -0.000000003629 0.000000008088 + 1 1 38 -0.253723249020 0.485500777804 + 2 1 38 -0.552129977753 -0.228526718224 + 3 1 38 0.165319991818 -0.296366219876 + 4 1 38 0.000000001226 0.000000000177 + 1 2 38 -0.253929067984 -0.485393161128 + 2 2 38 -0.552033035738 0.228760794845 + 3 2 38 0.165445666781 0.296296081453 + 4 2 38 -0.000000000209 0.000000000759 + 1 3 38 -0.664943973031 0.000140961397 + 2 3 38 -0.200022812932 0.000042403274 + 3 3 38 -0.291143491153 0.000061738806 + 4 3 38 0.284317653901 -0.352341039811 + 1 4 38 -0.664943973424 0.000140959892 + 2 4 38 -0.200022814774 0.000042404415 + 3 4 38 -0.291143493412 0.000061735078 + 4 4 38 -0.284317652375 0.352341039504 + 1 1 39 0.186842635886 0.373491284579 + 2 1 39 -0.713677122833 0.202162779796 + 3 1 39 -0.199914920289 -0.105604294371 + 4 1 39 -0.000000003509 -0.000000005854 + 1 2 39 -0.539071849904 -0.281051296459 + 2 2 39 -0.271397808443 0.274950712845 + 3 2 39 0.167962213398 -0.110498024403 + 4 2 39 0.462738846057 0.022863677526 + 1 3 39 -0.539071851463 -0.281051297461 + 2 3 39 -0.271397811630 0.274950700495 + 3 3 39 0.167962213560 -0.110498020891 + 4 3 39 -0.462738838942 -0.022863687388 + 1 4 39 -0.484994133181 0.374188575645 + 2 4 39 -0.292290833191 0.086903853400 + 3 4 39 0.134809201110 0.517957260318 + 4 4 39 0.000000010125 0.000000005384 + 1 1 40 0.273692002310 0.427686896094 + 2 1 40 0.518882647240 -0.135987859467 + 3 1 40 0.038374978462 0.321651228200 + 4 1 40 -0.306217371582 -0.128108582980 + 1 2 40 -0.273691991085 -0.427686879402 + 2 2 40 0.518882647677 -0.135987865276 + 3 2 40 0.038374973167 0.321651221872 + 4 2 40 0.306217369782 0.128108593420 + 1 3 40 0.427686883160 -0.273691996135 + 2 3 40 0.518882654069 -0.135987861733 + 3 3 40 -0.038374973105 -0.321651226150 + 4 3 40 0.128108595023 -0.306217370392 + 1 4 40 -0.427686901084 0.273691991406 + 2 4 40 0.518882648583 -0.135987863921 + 3 4 40 -0.038374979917 -0.321651226368 + 4 4 40 -0.128108588794 0.306217373937 + 1 1 41 -0.109809491702 -0.500704223027 + 2 1 41 0.233674417202 -0.482001264090 + 3 1 41 0.171710680860 0.250956276248 + 4 1 41 0.360763969168 0.079218567647 + 1 2 41 0.109809494117 0.500704217583 + 2 2 41 0.233674414387 -0.482001257590 + 3 2 41 -0.289952074583 0.228810030833 + 4 2 41 0.044880823839 -0.300747946404 + 1 3 41 -0.109809491668 -0.500704222633 + 2 3 41 0.233674409408 -0.482001262371 + 3 3 41 -0.171710679316 -0.250956283962 + 4 3 41 -0.360763984721 -0.079218581827 + 1 4 41 0.109809491168 0.500704218713 + 2 4 41 0.233674409243 -0.482001268392 + 3 4 41 0.289952077489 -0.228810033568 + 4 4 41 -0.044880820577 0.300747939175 + 1 1 42 -0.186841876523 -0.373491660731 + 2 1 42 0.713677550113 -0.202161278169 + 3 1 42 0.199914739081 0.105604636293 + 4 1 42 0.000000005415 -0.000000005277 + 1 2 42 0.539071278385 0.281052395985 + 2 2 42 0.271398390261 -0.274950130986 + 3 2 42 -0.167962402198 0.110497732917 + 4 2 42 0.295639457026 0.356717404598 + 1 3 42 0.484994887184 -0.374187590895 + 2 3 42 0.292291019049 -0.086903232360 + 3 3 42 -0.134808313914 -0.517957491146 + 4 3 42 -0.000000004018 0.000000000245 + 1 4 42 0.539071280293 0.281052392882 + 2 4 42 0.271398392208 -0.274950132106 + 3 4 42 -0.167962402161 0.110497735172 + 4 4 42 -0.295639450966 -0.356717405910 + 1 1 43 -0.293822373770 0.000047045958 + 2 1 43 0.839214010496 -0.000134853151 + 3 1 43 -0.000000004869 0.000000001146 + 4 1 43 0.000000003814 0.000000001403 + 1 2 43 0.660498229554 -0.000105759287 + 2 2 43 0.254714049217 -0.000040928558 + 3 2 43 -0.056636103230 0.461164672723 + 4 2 43 0.249329628015 0.024804535490 + 1 3 43 0.660498231304 -0.000105761622 + 2 3 43 0.254714051520 -0.000040928694 + 3 3 43 0.233196935355 -0.302066833448 + 4 3 43 0.016610848178 0.364362348345 + 1 4 43 0.660498230100 -0.000105761973 + 2 4 43 0.254714047493 -0.000040929798 + 3 4 43 -0.176560828988 -0.159097834458 + 4 4 43 -0.265940470029 -0.389166887727 + 1 1 44 -0.186958397975 0.373433350204 + 2 1 44 0.713614415957 0.202384025663 + 3 1 44 0.199947660809 -0.105542287596 + 4 1 44 -0.000000000062 0.000000003073 + 1 2 44 0.539158942452 -0.280884193078 + 2 2 44 0.271312552122 0.275034831455 + 3 2 44 -0.167927937102 -0.110550106224 + 4 2 44 -0.445523582058 0.127116997740 + 1 3 44 0.484878118122 0.374338891589 + 2 3 44 0.292263877988 0.086994461129 + 3 3 44 -0.134969826484 0.517915426766 + 4 3 44 0.000000004305 0.000000001594 + 1 4 44 0.539158943019 -0.280884193798 + 2 4 44 0.271312557218 0.275034828206 + 3 4 44 -0.167927938446 -0.110550106580 + 4 4 44 0.445523574885 -0.127116994657 + 1 1 45 -0.539368396669 -0.280481774126 + 2 1 45 -0.271107242294 0.275237210160 + 3 1 45 0.167845379315 -0.110675413534 + 4 1 45 -0.462867502793 0.020091466748 + 1 2 45 0.187237014266 0.373293731226 + 2 2 45 -0.713463192084 0.202916485186 + 3 2 45 -0.200026380165 -0.105393023324 + 4 2 45 -0.000000003798 -0.000000000509 + 1 3 45 -0.539368393247 -0.280481771797 + 2 3 45 -0.271107241091 0.275237216432 + 3 3 45 0.167845379025 -0.110675412292 + 4 3 45 0.462867504845 -0.020091463090 + 1 4 45 -0.484598637792 0.374700620476 + 2 4 45 -0.292198882762 0.087212531537 + 3 4 45 0.135356347717 0.517814543353 + 4 4 45 0.000000000431 -0.000000001083 + 1 1 46 0.208190871308 -0.463119798739 + 2 1 46 0.147577992468 0.515705970858 + 3 1 46 -0.068487582402 0.316609542291 + 4 1 46 -0.328330157855 0.048787245205 + 1 2 46 -0.208190860057 0.463119809543 + 2 2 46 0.147577994357 0.515705962706 + 3 2 46 -0.068487581564 0.316609547801 + 4 2 46 0.328330161699 -0.048787240852 + 1 3 46 0.463119793847 0.208190853654 + 2 3 46 0.147577993705 0.515705967167 + 3 3 46 0.068487581427 -0.316609540470 + 4 3 46 0.048787246510 0.328330168371 + 1 4 46 -0.463119807455 -0.208190866761 + 2 4 46 0.147577998673 0.515705968938 + 3 4 46 0.068487576422 -0.316609545158 + 4 4 46 -0.048787242875 -0.328330152849 + 1 1 47 -0.186910934262 0.373457109969 + 2 1 47 0.713640135911 0.202293312583 + 3 1 47 0.199934254410 -0.105567684256 + 4 1 47 -0.000000000070 0.000000000883 + 1 2 47 0.539123242426 -0.280952717017 + 2 2 47 0.271347521531 0.275000339987 + 3 2 47 -0.167941981944 -0.110528773206 + 4 2 47 0.267197420451 0.378491121934 + 1 3 47 0.539123238246 -0.280952711851 + 2 3 47 0.271347513397 0.275000339379 + 3 3 47 -0.167941977383 -0.110528774244 + 4 3 47 -0.267197418984 -0.378491126912 + 1 4 47 0.484925687641 0.374277260049 + 2 4 47 0.292274938845 0.086957306711 + 3 4 47 -0.134904036696 0.517932567418 + 4 4 47 0.000000003462 0.000000002312 + 1 1 48 -0.253736809804 -0.485493691570 + 2 1 48 -0.552123595295 0.228542136030 + 3 1 48 0.165328301705 0.296361586245 + 4 1 48 0.000000000945 -0.000000001427 + 1 2 48 -0.253915515964 0.485400249241 + 2 2 48 -0.552039425363 -0.228745378976 + 3 2 48 0.165437360105 -0.296300721230 + 4 2 48 -0.000000000833 -0.000000000833 + 1 3 48 -0.664943979952 -0.000122392588 + 2 3 48 -0.200022817278 -0.000036819100 + 3 3 48 -0.291143495798 -0.000053578273 + 4 3 48 0.450293626706 -0.047078475711 + 1 4 48 -0.664943976895 -0.000122390747 + 2 4 48 -0.200022813165 -0.000036817779 + 3 4 48 -0.291143489162 -0.000053573888 + 4 4 48 -0.450293627883 0.047078473666 + 1 1 49 -0.701289035423 -0.075473628094 + 2 1 49 -0.056258792722 0.206816690734 + 3 1 49 0.362735340369 0.072553272115 + 4 1 49 -0.315587093080 0.086803079080 + 1 2 49 -0.424229035579 0.481344336402 + 2 2 49 -0.607789953696 -0.057639350850 + 3 2 49 0.000000001458 0.000000001132 + 4 2 49 -0.000000000422 -0.000000000004 + 1 3 49 -0.701289035435 -0.075473628180 + 2 3 49 -0.056258788462 0.206816689802 + 3 3 49 -0.357109640698 0.186124459462 + 4 3 49 0.093234009677 0.270386197271 + 1 4 49 -0.701289032406 -0.075473628289 + 2 4 49 -0.056258786680 0.206816689250 + 3 4 49 -0.005625696075 -0.258677730530 + 4 4 49 0.222353084949 -0.357189278008 + 1 1 50 -0.664943961943 0.000185326977 + 2 1 50 -0.200022809917 0.000055749423 + 3 1 50 -0.291143487097 0.000081155958 + 4 1 50 0.192168261602 -0.409941571504 + 1 2 50 -0.253690856691 0.485517702318 + 2 2 50 -0.552145225100 -0.228489878995 + 3 2 50 0.165300227520 -0.296377245839 + 4 2 50 0.000000000556 0.000000002615 + 1 3 50 -0.253961452735 -0.485376216777 + 2 3 50 -0.552017770737 0.228797625712 + 3 3 50 0.165465427850 0.296285048518 + 4 3 50 -0.000000000075 -0.000000000117 + 1 4 50 -0.664943961898 0.000185323470 + 2 4 50 -0.200022811877 0.000055748599 + 3 4 50 -0.291143484974 0.000081151334 + 4 4 50 -0.192168262102 0.409941571332 + 1 1 51 -0.539472698447 -0.280281107810 + 2 1 51 -0.271004833744 0.275338051718 + 3 1 51 0.167804242604 -0.110737768279 + 4 1 51 -0.140727119015 0.441413502290 + 1 2 51 -0.484459213569 0.374880863894 + 2 2 51 -0.292166421422 0.087321227062 + 3 2 51 0.135548734940 0.517764214900 + 4 2 51 0.000000007754 -0.000000000525 + 1 3 51 0.187375870174 0.373224050886 + 2 3 51 -0.713387656782 0.203181884200 + 3 3 51 -0.200065526139 -0.105318697569 + 4 3 51 -0.000000004467 -0.000000001209 + 1 4 51 -0.539472696153 -0.280281106641 + 2 4 51 -0.271004839896 0.275338048811 + 3 4 51 0.167804244652 -0.110737769335 + 4 4 51 0.140727112166 -0.441413503365 + 1 1 52 0.595756606867 0.311907992503 + 2 1 52 0.283880303874 -0.244878054385 + 3 1 52 0.118587620413 -0.046455504853 + 4 1 52 0.395966722147 0.122357017750 + 1 2 52 0.595688798934 -0.312037466647 + 2 2 52 0.283933537605 0.244816330382 + 3 2 52 0.363057463394 -0.199875374309 + 4 2 52 -0.125530292449 -0.021523994495 + 1 3 52 0.595688797457 -0.312037470422 + 2 3 52 0.283933538702 0.244816330142 + 3 3 52 -0.363057462991 0.199875373828 + 4 3 52 0.125530296825 0.021523995738 + 1 4 52 0.595756599548 0.311907992710 + 2 4 52 0.283880304775 -0.244878056710 + 3 4 52 -0.118587621006 0.046455505788 + 4 4 52 -0.395966717642 -0.122357020483 + 1 1 53 -0.664943951490 -0.000221860234 + 2 1 53 -0.200022806495 -0.000066736595 + 3 1 53 -0.291143483222 -0.000097142565 + 4 1 53 0.128363207192 -0.434170033318 + 1 2 53 -0.253988121760 0.485362260643 + 2 2 53 -0.552005201547 -0.228827950717 + 3 2 53 0.165481702997 -0.296275958757 + 4 2 53 0.000000001439 0.000000001061 + 1 3 53 -0.664943949646 -0.000221859912 + 2 3 53 -0.200022809638 -0.000066737748 + 3 3 53 -0.291143478213 -0.000097150671 + 4 3 53 -0.128363208178 0.434170033943 + 1 4 53 -0.253664180347 -0.485531640252 + 2 4 53 -0.552157775812 0.228459548019 + 3 4 53 0.165283946857 0.296386326209 + 4 4 53 -0.000000001188 -0.000000002336 + 1 1 54 0.484210244485 -0.375202390782 + 2 1 54 0.292108387026 -0.087515157084 + 3 1 54 -0.135892531513 -0.517674088830 + 4 1 54 0.000000003418 0.000000001064 + 1 2 54 -0.187623593484 -0.373099585242 + 2 2 54 0.713252617726 -0.203655420369 + 3 2 54 0.200135419052 0.105185814300 + 4 2 54 0.000000005469 -0.000000000548 + 1 3 54 0.539658650324 0.279922916652 + 2 3 54 0.270821993361 -0.275517902071 + 3 3 54 -0.167730672886 0.110849178265 + 4 3 54 0.364850520107 0.285541743864 + 1 4 54 0.539658641824 0.279922918339 + 2 4 54 0.270821991753 -0.275517888670 + 3 4 54 -0.167730671412 0.110849174859 + 4 4 54 -0.364850516355 -0.285541753591 + 1 1 55 0.283985625108 0.420922303079 + 2 1 55 -0.384110097746 -0.374421402324 + 3 1 55 -0.218755882961 -0.238910055335 + 4 1 55 0.202525977780 -0.262990719094 + 1 2 55 0.420922299617 -0.283985627295 + 2 2 55 -0.384110096814 -0.374421401608 + 3 2 55 0.218755885910 0.238910057104 + 4 2 55 0.262990715548 0.202525974409 + 1 3 55 -0.283985617968 -0.420922292412 + 2 3 55 -0.384110097976 -0.374421402995 + 3 3 55 -0.218755881546 -0.238910061094 + 4 3 55 -0.202525971470 0.262990718354 + 1 4 55 -0.420922297245 0.283985620050 + 2 4 55 -0.384110097329 -0.374421401757 + 3 4 55 0.218755880203 0.238910060634 + 4 4 55 -0.262990720085 -0.202525972075 + 1 1 56 0.484500717062 0.374827225097 + 2 1 56 0.292176085014 0.087288873795 + 3 1 56 -0.135491441149 0.517779211365 + 4 1 56 -0.000000002654 -0.000000002072 + 1 2 56 0.539441664522 -0.280340829513 + 2 2 56 0.271035321977 0.275308034110 + 3 2 56 -0.167816498001 -0.110719201498 + 4 2 56 -0.192624067557 0.421362013893 + 1 3 56 0.539441662884 -0.280340835649 + 2 3 56 0.271035325592 0.275308037709 + 3 3 56 -0.167816496549 -0.110719199190 + 4 3 56 0.192624065523 -0.421362014389 + 1 4 56 -0.187334545298 0.373244796350 + 2 4 56 0.713410150975 0.203102884814 + 3 4 56 0.200053870347 -0.105340832093 + 4 4 56 -0.000000000295 0.000000001640 + 1 1 57 -0.539199972611 -0.280805421284 + 2 1 57 -0.271272385221 0.275074459476 + 3 1 57 0.167911800618 -0.110574619192 + 4 1 57 -0.236277501024 -0.398525951634 + 1 2 57 -0.484823424035 0.374409726812 + 2 2 57 -0.292251169584 0.087037145688 + 3 2 57 0.135045422551 0.517895720768 + 4 2 57 -0.000000006560 -0.000000008453 + 1 3 57 -0.539199972098 -0.280805416459 + 2 3 57 -0.271272377836 0.275074454196 + 3 3 57 0.167911798735 -0.110574615485 + 4 3 57 0.236277498737 0.398525960656 + 1 4 57 0.187012950005 0.373406033579 + 2 4 57 -0.713584847327 0.202488254947 + 3 4 57 -0.199963063102 -0.105513100373 + 4 4 57 -0.000000007272 0.000000004701 + 1 1 58 -0.271430326777 0.429125815399 + 2 1 58 0.495129593878 0.206345795710 + 3 1 58 0.271721476932 -0.176350759067 + 4 1 58 0.327776406377 -0.052378589764 + 1 2 58 0.429125799401 0.271430345468 + 2 2 58 0.495129592912 0.206345795650 + 3 2 58 -0.271721472645 0.176350760624 + 4 2 58 0.052378589694 0.327776406852 + 1 3 58 -0.429125816995 -0.271430351718 + 2 3 58 0.495129593518 0.206345794098 + 3 3 58 -0.271721477096 0.176350761166 + 4 3 58 -0.052378595118 -0.327776405393 + 1 4 58 0.271430335007 -0.429125809704 + 2 4 58 0.495129592096 0.206345794948 + 3 4 58 0.271721470612 -0.176350761538 + 4 4 58 -0.327776406981 0.052378589079 + 1 1 59 -0.186975668682 0.373424699090 + 2 1 59 0.713605059732 0.202417012169 + 3 1 59 0.199952567248 -0.105532990076 + 4 1 59 -0.000000002505 0.000000007697 + 1 2 59 0.484860798402 0.374361316187 + 2 2 59 0.292259864530 0.087007965607 + 3 2 59 -0.134993906551 0.517909150595 + 4 2 59 0.000000000796 0.000000001752 + 1 3 59 0.539171934686 -0.280859254357 + 2 3 59 0.271299848045 0.275047370751 + 3 3 59 -0.167922798975 -0.110557914146 + 4 3 59 -0.332534266537 0.322600310631 + 1 4 59 0.539171936225 -0.280859252477 + 2 4 59 0.271299840465 0.275047369191 + 3 4 59 -0.167922796176 -0.110557915093 + 4 4 59 0.332534268659 -0.322600308407 + 1 1 60 0.253886773215 0.485415282317 + 2 1 60 0.552052968833 -0.228712685573 + 3 1 60 -0.165419817195 -0.296310516435 + 4 1 60 0.000000000858 -0.000000000673 + 1 2 60 0.664943982097 -0.000083018928 + 2 2 60 0.200022816074 -0.000024972185 + 3 2 60 0.291143494204 -0.000036340863 + 4 2 60 -0.050761329811 0.449893336791 + 1 3 60 0.664943984295 -0.000083021339 + 2 3 60 0.200022817429 -0.000024971607 + 3 3 60 0.291143493544 -0.000036330946 + 4 3 60 0.050761331333 -0.449893336462 + 1 4 60 0.253765555444 -0.485478664526 + 2 4 60 0.552110060224 0.228574836731 + 3 4 60 -0.165345848772 0.296351797924 + 4 4 60 0.000000000137 -0.000000003121 + 1 1 61 -0.595787688258 -0.311848602388 + 2 1 61 -0.283855891380 0.244906355029 + 3 1 61 0.034625329036 0.051058110119 + 4 1 61 -0.399297592324 0.157281941295 + 1 2 61 -0.595657683868 0.312096852684 + 2 2 61 -0.283957942406 -0.244788023706 + 3 2 61 0.371701492888 0.214509162937 + 4 2 61 0.041783915318 -0.045386655452 + 1 3 61 -0.595787693561 -0.311848598704 + 2 3 61 -0.283855889898 0.244906356129 + 3 3 61 -0.034625326394 -0.051058108757 + 4 3 61 0.399297587923 -0.157281946588 + 1 4 61 -0.595657682694 0.312096855277 + 2 4 61 -0.283957940605 -0.244788023464 + 3 4 61 -0.371701491297 -0.214509162089 + 4 4 61 -0.041783916490 0.045386651715 + 1 1 62 -0.484702395929 -0.374566394196 + 2 1 62 -0.292223022952 -0.087131601885 + 3 1 62 0.135212767697 -0.517852054177 + 4 1 62 0.000000001069 -0.000000000116 + 1 2 62 -0.539290698196 0.280631140976 + 2 2 62 -0.271183465339 -0.275162112986 + 3 2 62 0.167876058105 0.110628867881 + 4 2 62 0.047860947187 0.460824594877 + 1 3 62 0.187133623983 -0.373345573350 + 2 3 62 -0.713519366113 -0.202718865306 + 3 3 62 -0.199997150287 0.105448482716 + 4 3 62 0.000000001754 -0.000000005237 + 1 4 62 -0.539290698057 0.280631137183 + 2 4 62 -0.271183466223 -0.275162116961 + 3 4 62 0.167876058607 0.110628871272 + 4 4 62 -0.047860937188 -0.460824598209 + 1 1 63 -0.253965384287 -0.485374159496 + 2 1 63 -0.552015916919 0.228802101979 + 3 1 63 0.165467847591 0.296283697443 + 4 1 63 0.000000000918 -0.000000000088 + 1 2 63 -0.664943958756 0.000190706632 + 2 2 63 -0.200022810703 0.000057370212 + 3 2 63 -0.291143482453 0.000083529802 + 4 2 63 -0.452742697062 -0.002187363774 + 1 3 63 -0.253686925642 0.485519755015 + 2 3 63 -0.552147076018 -0.228485404248 + 3 3 63 0.165297807117 -0.296378595929 + 4 3 63 -0.000000001845 0.000000003350 + 1 4 63 -0.664943962894 0.000190709731 + 2 4 63 -0.200022810632 0.000057370828 + 3 4 63 -0.291143489404 0.000083533479 + 4 4 63 0.452742695152 0.002187363430 + 1 1 64 0.424370835023 0.481219329806 + 2 1 64 0.607772950285 -0.057818405452 + 3 1 64 0.000000001158 -0.000000002205 + 4 1 64 0.000000003870 0.000000001254 + 1 2 64 0.701266770917 -0.075680237862 + 2 2 64 0.056319717615 0.206800108966 + 3 2 64 0.316313728429 0.352372562421 + 4 2 64 0.136285750792 0.034296960618 + 1 3 64 0.701266758471 -0.075680243248 + 2 3 64 0.056319713935 0.206800109037 + 3 3 64 -0.075729305450 -0.086641531239 + 4 3 64 -0.467044474870 -0.112243789203 + 1 4 64 0.701266776000 -0.075680241180 + 2 4 64 0.056319721349 0.206800105711 + 3 4 64 -0.240584421859 -0.265731034193 + 4 4 64 0.330758722229 0.077946829653 diff --git a/test-suite/tests/testw90_example26/gaas.mmn b/test-suite/tests/testw90_example26/gaas.mmn new file mode 100644 index 000000000..20e4b0233 --- /dev/null +++ b/test-suite/tests/testw90_example26/gaas.mmn @@ -0,0 +1,8706 @@ + Created on 21Jun2018 at 13:28:44 + 4 64 8 + 1 2 0 0 0 + -0.644379999266 0.736945554465 + 0.010312494273 0.102912676077 + -0.021664114512 0.041257865441 + 0.021913358511 -0.055183291838 + -0.107821312578 0.079726107839 + -0.042187841168 -0.579689715070 + 0.128009455857 -0.228452193476 + -0.131539781577 0.306640174837 + 0.000000000216 -0.000000000024 + -0.448816489069 -0.280403550785 + 0.113851706996 0.413448066421 + -0.346561865280 -0.480006588337 + 0.000000000023 -0.000000000095 + -0.051491139189 0.017671754687 + 0.440450689912 -0.573318256245 + 0.202568133431 -0.497782349409 + 1 5 0 0 0 + 0.644747855453 -0.736623741683 + -0.035243534870 -0.024860056298 + -0.018509964783 0.072720463098 + -0.009023727793 -0.093924763930 + 0.107861102133 -0.079672268538 + 0.194177789350 0.145042644867 + 0.115103860511 -0.405675903942 + 0.036323095337 0.529002967445 + -0.000000000033 -0.000000000143 + -0.767475304943 0.321694536765 + -0.192803418559 -0.006721793746 + 0.194090680360 0.216979510617 + 0.000000000448 0.000000000414 + -0.158845247360 -0.065771486933 + 0.659797156017 -0.249359554801 + 0.451257183319 -0.289434173521 + 1 17 0 0 0 + 0.644608211353 -0.736745944867 + 0.022523073857 0.071044578956 + -0.061225044085 -0.072497837485 + -0.041858391394 -0.009116674382 + 0.107846001937 -0.079692708544 + -0.115655672306 -0.402538463824 + 0.332841800704 0.416622426348 + 0.233745040393 0.057616068538 + -0.000000000163 -0.000000000276 + 0.453452751027 -0.207279270748 + 0.422241494298 -0.054600072106 + -0.587726229501 -0.197990119279 + -0.000000000202 0.000000000098 + 0.264671281320 0.468918586134 + 0.430813863760 0.016170692331 + 0.158165579051 0.560054826320 + 1 22 0 0 0 + 0.818309576039 -0.537293003282 + 0.023764066257 -0.056411191070 + -0.012132309299 -0.070035736873 + -0.017773629464 -0.085318520680 + 0.093751710983 -0.095876506050 + -0.124865463346 0.320525213283 + 0.078866683874 0.391570033334 + 0.112894624285 0.476558168047 + -0.000000000176 -0.000000000241 + -0.028517256060 -0.770641749700 + 0.103851626276 0.063223566913 + 0.237541515001 0.385441402129 + -0.000000000118 -0.000000000112 + 0.159849122068 0.089841918512 + -0.722072452553 -0.165255055836 + 0.464892330106 0.126606950035 + 1 49 0 0 -1 + 0.818614467693 -0.536828359035 + 0.034255019098 -0.066190742578 + -0.007892668040 0.094562935379 + 0.023181764350 0.036025609350 + 0.093806120248 -0.095823272603 + -0.182302405301 0.377066689781 + 0.029871717501 -0.532414860867 + -0.135734498475 -0.198827818685 + -0.000000000484 -0.000000000263 + 0.369366905069 0.324533483502 + 0.041576410825 0.187829329100 + 0.483176928026 -0.549775458439 + -0.000000000244 -0.000000000201 + -0.533477282801 -0.110307364302 + -0.516894291572 0.250884360518 + -0.059310223366 -0.429032943767 + 1 13 0 -1 0 + -0.817458695668 0.538586682060 + -0.007476832580 -0.042476184852 + -0.064387890245 0.038536787632 + 0.059803173502 -0.072985407065 + -0.093599938022 0.096024681069 + 0.048498750029 0.237466315992 + 0.355804128424 -0.226329984224 + -0.324779849779 0.419143838215 + 0.000000000122 0.000000000251 + 0.497134116143 0.294348153906 + -0.531375464103 0.034475584680 + -0.434522476257 -0.091290516433 + 0.000000000181 0.000000000147 + 0.621757036266 -0.041212292489 + 0.496203110535 -0.070461606640 + 0.152850630075 -0.389421911687 + 1 4 -1 0 0 + -0.818119331403 0.537582638272 + 0.065362772362 -0.080156560619 + 0.044472549539 -0.013918975272 + -0.054481606779 0.023603930079 + -0.093717763866 0.095909689285 + -0.354913940743 0.460278260192 + -0.247695443693 0.084992888068 + 0.302439853967 -0.140929225501 + -0.000000000044 -0.000000000053 + -0.042529051197 0.451165428712 + 0.175124103499 0.067404161326 + -0.284967538104 0.701924574223 + 0.000000000544 -0.000000000517 + 0.046657798933 -0.274754627049 + -0.310812512935 0.758139801130 + 0.112364452007 0.229787232215 + 1 64 -1 -1 -1 + -0.644154912081 0.737142308831 + -0.023040677654 -0.056710495692 + -0.058069557166 -0.040989306823 + -0.072859804985 -0.047818422133 + -0.107796960573 0.079759030749 + 0.120756033770 0.322095917655 + 0.319935726088 0.239140498587 + 0.401975298734 0.279765506048 + -0.000000000269 -0.000000000081 + 0.175675024128 -0.576543165897 + -0.182791160681 0.585875341601 + 0.261286706150 -0.079236066506 + 0.000000000206 0.000000000088 + 0.507074346085 -0.089090486045 + 0.399586043076 0.164768624760 + -0.587842589525 0.130526788820 + 2 1 0 0 0 + -0.644379999266 -0.736945554465 + -0.107821312578 -0.079726107839 + 0.000000000216 0.000000000024 + 0.000000000023 0.000000000095 + 0.010312494273 -0.102912676077 + -0.042187841168 0.579689715070 + -0.448816489069 0.280403550785 + -0.051491139189 -0.017671754687 + -0.021664114512 -0.041257865441 + 0.128009455857 0.228452193476 + 0.113851706996 -0.413448066421 + 0.440450689912 0.573318256245 + 0.021913358511 0.055183291838 + -0.131539781577 -0.306640174837 + -0.346561865280 0.480006588337 + 0.202568133431 0.497782349409 + 2 3 0 0 0 + 0.734616178204 -0.460730898093 + -0.298668321658 0.368930507821 + 0.000000000526 0.000000000655 + -0.000000000156 0.000000002118 + 0.261548505563 0.405298591130 + 0.692335536196 0.512921275835 + -0.000000001069 0.000000001264 + 0.000000000527 -0.000000001474 + -0.000000000148 0.000000001450 + -0.000000002778 0.000000000425 + -0.436464701837 -0.028079765787 + -0.217156348153 -0.843277480334 + -0.000000000218 -0.000000000006 + -0.000000001263 -0.000000000924 + 0.798365844986 0.347686295609 + 0.041245163355 -0.435417893088 + 2 6 0 0 0 + 0.968895122105 0.139279534599 + 0.054384929454 -0.023041959253 + -0.062363678295 -0.092437964452 + 0.002993921331 0.002059720338 + 0.068585046089 -0.011483765260 + 0.549050131372 0.273020296672 + 0.448706506748 0.417891310093 + -0.018592908479 -0.007322417030 + 0.015009870827 0.108385645256 + -0.271140429922 -0.602115452764 + -0.015284070524 0.300833572288 + 0.219721210833 0.032580150070 + -0.006423259478 0.026684861629 + -0.008161109613 -0.165441380086 + -0.049718249939 0.043695093245 + -0.765073480052 -0.481792116295 + 2 18 0 0 0 + 0.968978603625 0.138697554172 + 0.054371078863 -0.023074620473 + 0.028533531418 0.047856503260 + -0.059315372882 0.076318355667 + 0.068578135650 -0.011524961852 + 0.549214030523 0.272690440316 + -0.212195904882 -0.221001741085 + 0.223143778870 -0.482398146708 + 0.036314796923 -0.000997443176 + -0.208592386595 0.067500088973 + 0.218473522677 0.704336034651 + 0.317151345266 -0.378176906336 + 0.053933363038 0.092181981456 + -0.468992967208 -0.442126853584 + 0.132185684898 -0.336831700298 + 0.061501390409 -0.199453778236 + 2 23 0 0 0 + 0.956523323866 0.130499263814 + -0.108030413079 -0.016714930903 + -0.033142569869 -0.085386872770 + -0.124035474165 0.097788239259 + 0.166281904960 -0.027059187770 + 0.683966275711 0.418355221041 + 0.226741799798 0.114340461707 + 0.073950763188 -0.431615057407 + -0.127795461265 -0.074125222368 + -0.345097963827 0.437244927758 + 0.160853599693 -0.255590528922 + -0.502681672045 -0.136062685964 + -0.000000000143 -0.000000000236 + -0.000000000283 0.000000000303 + -0.528529177397 0.534501366435 + -0.386158308994 -0.202220071488 + 2 50 0 0 -1 + -0.956413003765 -0.131305343773 + 0.108016288062 0.016805969531 + 0.023152053839 0.088194934675 + -0.127893648564 0.093088866443 + -0.166304652055 0.026919038719 + -0.683613452563 -0.418931508141 + -0.211378154011 -0.138666826260 + 0.090619107912 -0.429097682909 + 0.127732944473 0.074232900854 + 0.345466353871 -0.436953921400 + -0.187927029230 0.234667180792 + -0.497827872913 -0.155513578228 + 0.000000000247 0.000000000183 + 0.000000000902 0.000000000557 + -0.716527239259 -0.230915208021 + 0.026325863771 0.433151040818 + 2 14 0 -1 0 + -0.956433251093 -0.131157780951 + 0.108018879523 0.016789304060 + -0.056249436479 -0.173601031281 + 0.003776515370 0.004594222213 + -0.166300495596 0.026944697478 + -0.683678080434 -0.418826027925 + 0.438062570224 0.253130754883 + -0.016304993358 -0.002452381169 + 0.127744393165 0.074213196749 + 0.345398943544 -0.437007208754 + 0.348920373172 -0.490175883191 + -0.004736012084 0.019028007724 + 0.000000000586 0.000000000232 + 0.000000001174 -0.000000001042 + 0.017326784799 0.022379833040 + 0.746100404903 0.444498710498 + 2 61 0 -1 -1 + -0.968969655033 -0.138760056740 + -0.054372565187 0.023071115004 + -0.033882787002 -0.044546172977 + -0.056325269446 0.078372645699 + -0.068578879323 0.011520533431 + -0.549196424257 -0.272725895377 + 0.236748848196 0.196635245573 + 0.204578086790 -0.489696189548 + 0.005941984006 -0.014911150719 + -0.009063730661 0.096445436192 + 0.309087355450 0.749350742479 + -0.313843011596 0.310491341718 + -0.110262022135 -0.017627291194 + 0.668454303153 -0.085338003943 + 0.052717900386 0.114753827098 + -0.049413162381 -0.302592858684 + 3 2 0 0 0 + 0.734616178204 0.460730898093 + 0.261548505563 -0.405298591130 + -0.000000000148 -0.000000001450 + -0.000000000218 0.000000000006 + -0.298668321658 -0.368930507821 + 0.692335536196 -0.512921275835 + -0.000000002778 -0.000000000425 + -0.000000001263 0.000000000924 + 0.000000000526 -0.000000000655 + -0.000000001069 -0.000000001264 + -0.436464701837 0.028079765787 + 0.798365844986 -0.347686295609 + -0.000000000156 -0.000000002118 + 0.000000000527 0.000000001474 + -0.217156348153 0.843277480334 + 0.041245163355 0.435417893088 + 3 4 0 0 0 + 0.734863763649 -0.460335896695 + 0.261330432467 0.405439235713 + 0.000000000535 0.000000000127 + 0.000000000803 0.000000000137 + -0.298866615640 0.368769891199 + 0.692059504949 0.513293649266 + 0.000000000882 -0.000000002777 + 0.000000000432 0.000000000604 + 0.000000000430 -0.000000000576 + 0.000000000388 -0.000000000857 + -0.008965190496 -0.175380783237 + -0.856803556921 0.429665651205 + -0.000000000661 0.000000000689 + 0.000000001094 -0.000000000643 + -0.957029332693 -0.053101160710 + -0.061587336974 -0.164456051178 + 3 7 0 0 0 + 0.907632729177 0.267928901777 + 0.026370703694 -0.223263439785 + 0.071632756339 0.033197000181 + -0.156140365234 -0.001044631798 + 0.009382313731 -0.187431524692 + 0.747950995654 -0.443972996217 + -0.169441518836 -0.007778210460 + 0.311356303866 -0.124867431001 + -0.075912814552 -0.205673256701 + 0.405411506099 0.080904775847 + 0.212803425135 0.209956828672 + -0.555102029912 -0.203500691164 + 0.000000000188 0.000000001782 + 0.000000000139 -0.000000000278 + -0.792310122984 0.125361312276 + -0.338332921948 0.223701674183 + 3 19 0 0 0 + -0.907933815702 -0.266906828219 + -0.026119314598 0.223292990432 + 0.162090467881 0.064985921147 + -0.009824209070 -0.004603709420 + -0.009171279893 0.187441968990 + -0.747450650523 0.444814837442 + -0.375174290745 0.002548757164 + 0.023279705719 0.001167868670 + 0.076144272709 0.205587676025 + -0.405502315879 -0.080448389449 + 0.494494931119 0.438981909757 + -0.029120255012 -0.028976129357 + -0.000000000226 0.000000001413 + -0.000000002197 -0.000000000886 + -0.002067474354 0.055698785460 + -0.084225725364 0.893186314745 + 3 24 0 0 0 + -0.908004425424 0.266666518115 + -0.026060135588 -0.223299902506 + 0.094414149939 -0.016657819503 + 0.125612014707 -0.075128585102 + -0.009121670297 -0.187444391392 + -0.747332740823 -0.445012907165 + -0.201298876800 -0.043633932777 + -0.310877938191 0.047278971054 + 0.076198781579 -0.205567479707 + -0.405523660113 0.080340723804 + 0.315151178742 -0.180164209739 + 0.351519316364 -0.428453869110 + 0.000000001258 -0.000000000663 + -0.000000002558 -0.000000000540 + 0.713262308346 -0.238019047705 + -0.380966423996 0.312171101526 + 3 51 0 0 -1 + -0.908327098326 0.265565342412 + -0.025789358669 -0.223331338880 + -0.173136458223 0.022809078941 + 0.010819639775 -0.000802857011 + -0.008894373615 -0.187455312770 + -0.746792582232 -0.445918774832 + 0.362850298283 0.095403908044 + -0.022169108582 -0.007199955536 + 0.076447915907 -0.205474961213 + -0.405620752857 0.079849091067 + -0.587823997412 0.302808992000 + 0.037530796156 -0.016704627847 + -0.000000000178 0.000000000988 + -0.000000000130 0.000000000100 + 0.052963659354 -0.017363182592 + 0.867024807239 -0.230529279006 + 3 15 0 -1 0 + 0.908318560337 -0.265594543510 + 0.025796539255 0.223330508455 + -0.078701978957 0.006268283386 + 0.136520220636 -0.075783466254 + 0.008900392760 0.187455028364 + 0.746806901409 0.445894793443 + 0.161606132413 0.051520729619 + -0.333102871722 0.039712714543 + -0.076441312364 0.205477417302 + 0.405618186603 -0.079862123217 + -0.272450703358 0.123035689916 + 0.389554935813 -0.444744586264 + 0.000000000007 -0.000000000731 + -0.000000000726 0.000000002416 + -0.619014252162 -0.510188351098 + -0.391754295921 -0.105072267591 + 3 62 0 -1 -1 + -0.907925531968 -0.266935003599 + -0.026126245124 0.223292180190 + -0.090419389409 -0.031872402270 + -0.146317350178 0.003730336517 + -0.009177092878 0.187441684165 + -0.747464448821 0.444791647295 + 0.205724437228 -0.010129809083 + 0.287939732879 -0.126376841444 + 0.076137951641 0.205590020750 + -0.405499843164 -0.080460864496 + -0.281448258101 -0.229273401677 + -0.526205134161 -0.173915792344 + 0.000000000026 -0.000000000362 + 0.000000000162 0.000000000654 + -0.750071185849 0.052814670910 + 0.446727046959 -0.207415453135 + 4 3 0 0 0 + 0.734863763649 0.460335896695 + -0.298866615640 -0.368769891199 + 0.000000000430 0.000000000576 + -0.000000000661 -0.000000000689 + 0.261330432467 -0.405439235713 + 0.692059504949 -0.513293649266 + 0.000000000388 0.000000000857 + 0.000000001094 0.000000000643 + 0.000000000535 -0.000000000127 + 0.000000000882 0.000000002777 + -0.008965190496 0.175380783237 + -0.957029332693 0.053101160710 + 0.000000000803 -0.000000000137 + 0.000000000432 -0.000000000604 + -0.856803556921 -0.429665651205 + -0.061587336974 0.164456051178 + 4 8 0 0 0 + 0.956469847729 -0.130890628921 + -0.108023565505 0.016759131770 + 0.114861494192 -0.112471123335 + -0.070739998064 0.049896120289 + 0.166292964444 0.026991141864 + 0.683795028567 -0.418635065060 + -0.445313402038 0.018444643110 + 0.238300823741 0.028536782898 + -0.127765131992 0.074177489625 + -0.345276784740 -0.437103731464 + -0.071887974996 -0.525137927998 + -0.007001061839 0.285334150504 + 0.000000000637 0.000000000754 + -0.000000000018 0.000000001854 + -0.410083073968 0.039484525968 + -0.763465968911 -0.049381736570 + 4 20 0 0 0 + -0.956528759994 0.130459410969 + 0.108031110133 -0.016710429398 + 0.035927784545 0.015601611224 + -0.096168116806 0.150180438437 + -0.166280778773 -0.027066113455 + -0.683983702536 0.418326732544 + -0.045036061078 -0.098816300908 + 0.476805334717 -0.130803754059 + 0.127798544285 -0.074119906355 + 0.345079777692 0.437259281737 + 0.111927754245 -0.064425167567 + 0.208450736541 0.549792857373 + 0.000000000377 0.000000000013 + -0.000000000308 0.000000000002 + -0.802546635044 -0.276072975752 + -0.087926482499 0.164370148328 + 4 1 1 0 0 + -0.818119331403 -0.537582638272 + -0.093717763866 -0.095909689285 + -0.000000000044 0.000000000053 + 0.000000000544 0.000000000517 + 0.065362772362 0.080156560619 + -0.354913940743 -0.460278260192 + -0.042529051197 -0.451165428712 + 0.046657798933 0.274754627049 + 0.044472549539 0.013918975272 + -0.247695443693 -0.084992888068 + 0.175124103499 -0.067404161326 + -0.310812512935 -0.758139801130 + -0.054481606779 -0.023603930079 + 0.302439853967 0.140929225501 + -0.284967538104 -0.701924574223 + 0.112364452007 -0.229787232215 + 4 21 1 0 0 + -0.969096927847 0.137868380812 + -0.054351314186 -0.023121137013 + -0.068057501634 0.061781498141 + -0.031908489732 0.054591971057 + -0.068568249624 -0.011583635361 + -0.549447156081 0.272220399671 + 0.441200352905 -0.246597635329 + 0.238627331069 -0.252900854057 + -0.090500384393 0.027921028976 + 0.571517028062 -0.007858667287 + -0.067102042620 0.034888956588 + 0.459472177684 -0.325134107131 + -0.015280512907 -0.059352230219 + -0.012396169322 0.369662639011 + 0.152064870493 0.560239074418 + -0.306921351889 -0.456263626134 + 4 52 0 0 -1 + 0.969058085099 -0.138141138307 + 0.054357818577 0.023105838148 + 0.018454635679 0.015240409928 + -0.081879468167 0.071903556242 + 0.068571505629 0.011564337182 + 0.549370521684 -0.272375021233 + -0.079970203236 -0.104527552431 + 0.527797823702 -0.283686808458 + 0.081049324953 0.071126269790 + -0.348438323792 -0.549629616701 + 0.196916153467 -0.265028912620 + 0.166052892477 0.156320865585 + -0.033101342793 -0.001564086069 + 0.189021148257 0.065319437210 + -0.021530319930 -0.850029825391 + -0.277030845791 -0.033602587132 + 4 16 0 -1 0 + 0.969414214674 -0.135619418545 + 0.054297519640 0.023247186246 + -0.086615590961 0.046335046351 + 0.050031194031 -0.017172495277 + 0.068541188242 0.011742700747 + 0.550077299289 -0.270944809684 + 0.521469321275 -0.140838015978 + -0.289320618752 0.029966186186 + 0.035597277200 0.002964702147 + -0.201093708559 -0.077672318059 + -0.338549299334 0.021061349836 + -0.805249111646 -0.163092467581 + 0.002740444707 0.106970178301 + 0.165947977634 -0.624089101245 + -0.050345209047 0.387991562559 + 0.035834413027 0.132192524382 + 4 63 0 -1 -1 + -0.956529119412 0.130456776991 + 0.108031155477 -0.016710132094 + 0.078984757208 -0.128020722820 + 0.025405907700 -0.100316145079 + -0.166280703318 -0.027066574921 + -0.683984862046 0.418324833335 + -0.400285936253 0.117059060527 + -0.238517844842 0.159447309600 + 0.127798761669 -0.074119531003 + 0.345078495263 0.437260291920 + -0.183577727260 -0.460745638210 + -0.215579605397 -0.264462520602 + -0.000000000609 0.000000001092 + -0.000000001210 0.000000000891 + 0.042945629162 0.490611995069 + -0.273545404898 -0.661569688711 + 5 1 0 0 0 + 0.644747855453 0.736623741683 + 0.107861102133 0.079672268538 + -0.000000000033 0.000000000143 + 0.000000000448 -0.000000000414 + -0.035243534870 0.024860056298 + 0.194177789350 -0.145042644867 + -0.767475304943 -0.321694536765 + -0.158845247360 0.065771486933 + -0.018509964783 -0.072720463098 + 0.115103860511 0.405675903942 + -0.192803418559 0.006721793746 + 0.659797156017 0.249359554801 + -0.009023727793 0.093924763930 + 0.036323095337 -0.529002967445 + 0.194090680360 -0.216979510617 + 0.451257183319 0.289434173521 + 5 6 0 0 0 + -0.968964539666 -0.138795774698 + -0.054373419117 0.023069107918 + 0.075115940925 -0.081179100481 + 0.000381034704 -0.014649769334 + -0.068579305129 0.011518006336 + -0.549186367265 -0.272746151354 + -0.301764732780 0.528028644486 + 0.016122194919 0.078954819640 + 0.015063983936 0.108378137936 + -0.271440999499 -0.601980012429 + 0.263417659275 -0.056184575288 + 0.232723247985 -0.115618506549 + -0.006409936063 0.026688067344 + -0.008243707829 -0.165437286620 + 0.162805807754 0.092663857431 + -0.886932023795 0.010074753093 + 5 9 0 0 0 + -0.734603561645 0.460751014151 + 0.298658227734 -0.368938679028 + -0.000000001039 0.000000000459 + 0.000000000687 -0.000000000400 + -0.261559475045 -0.405291511561 + -0.692349403789 -0.512902555799 + -0.000000000779 -0.000000000741 + 0.000000000067 0.000000000732 + 0.000000000066 0.000000000263 + -0.000000002582 -0.000000001566 + -0.357640412823 -0.532557016503 + 0.404487438548 -0.611906820347 + 0.000000000491 -0.000000000035 + 0.000000000691 0.000000001167 + -0.372350889411 -0.631976951937 + -0.384662856602 0.513379127061 + 5 21 0 0 0 + 0.969013663032 0.138452399392 + 0.054365239343 -0.023088375119 + 0.028558633394 -0.031639524905 + 0.006503247159 -0.102899295668 + 0.068575218038 -0.011542309630 + 0.549282986434 0.272551506954 + -0.113767386246 0.204909035427 + 0.092740008000 0.559319722172 + 0.055622291962 0.025736003342 + -0.365834908878 -0.054488114934 + 0.549282262441 -0.380200669463 + -0.031936364324 0.438275343979 + 0.043787772729 -0.083979368218 + -0.110821848807 0.560724519996 + 0.354875642262 0.427263718172 + 0.047353514372 -0.108689615765 + 5 26 0 0 0 + 0.956615885815 0.129819003657 + -0.108042272236 -0.016638104217 + -0.095575827743 0.056950318657 + 0.049498324395 -0.136046037633 + 0.166262621077 -0.027177430454 + 0.684263602008 0.417868740522 + 0.091135859533 -0.294685631430 + 0.150568779926 0.372061200830 + -0.127848135754 -0.074034333933 + -0.344786987679 0.437490188659 + -0.338637999716 -0.141018054663 + 0.457410279543 -0.136441810465 + -0.000000000202 -0.000000000726 + -0.000000000775 0.000000000620 + -0.599225292852 -0.340033389233 + -0.521999288591 0.088707861256 + 5 53 0 0 -1 + 0.956558375843 0.130242080711 + -0.108034902996 -0.016685886955 + -0.059228975010 0.036842586925 + -0.056776800470 0.158895040451 + 0.166274624675 -0.027103892721 + 0.684078716707 0.418171335763 + 0.053600410472 -0.185811084160 + -0.177988057438 -0.432628417483 + -0.127815388227 -0.074090856617 + -0.344980394473 0.437337692616 + -0.213959168807 -0.084342400481 + -0.532198207525 0.162096331286 + -0.000000000030 0.000000000060 + 0.000000000549 -0.000000001054 + 0.201502934863 -0.777331681425 + 0.134604299717 0.303446375246 + 5 8 -1 0 0 + -0.956536628687 -0.130401704026 + 0.108032117240 0.016703914854 + -0.154845624878 0.093724791319 + -0.007222126034 0.022869703293 + -0.166279144001 0.027076150851 + -0.684008938284 -0.418285466223 + 0.144946752927 -0.480432202459 + -0.027573755040 -0.060505259772 + 0.127803011923 0.074112204113 + 0.345053436392 -0.437280066290 + -0.552497109423 -0.225602460133 + -0.074731963281 0.025844305115 + 0.000000000237 0.000000000731 + -0.000000000537 0.000000000102 + -0.109146059500 0.033384153744 + 0.452699356969 -0.732858735374 + 5 52 -1 0 -1 + -0.969052593825 -0.138179653383 + -0.054358738303 0.023103677194 + -0.046514582833 0.049579285155 + 0.006102564648 -0.088251113580 + -0.068571967873 0.011561608189 + -0.549359669292 -0.272396911633 + 0.187719226040 -0.323279360740 + 0.076725020709 0.480349048270 + -0.032735050410 -0.005153808447 + 0.198318458539 -0.025795593574 + -0.652681030528 -0.303561589285 + -0.477523780129 0.233919546359 + -0.093744708956 0.053290420799 + 0.452268946957 -0.467926038980 + 0.116109487211 -0.221036873092 + 0.308608205333 -0.058722520986 + 6 2 0 0 0 + 0.968895122105 -0.139279534599 + 0.068585046089 0.011483765260 + 0.015009870827 -0.108385645256 + -0.006423259478 -0.026684861629 + 0.054384929454 0.023041959253 + 0.549050131372 -0.273020296672 + -0.271140429922 0.602115452764 + -0.008161109613 0.165441380086 + -0.062363678295 0.092437964452 + 0.448706506748 -0.417891310093 + -0.015284070524 -0.300833572288 + -0.049718249939 -0.043695093245 + 0.002993921331 -0.002059720338 + -0.018592908479 0.007322417030 + 0.219721210833 -0.032580150070 + -0.765073480052 0.481792116295 + 6 5 0 0 0 + -0.968964539666 0.138795774698 + -0.068579305129 -0.011518006336 + 0.015063983936 -0.108378137936 + -0.006409936063 -0.026688067344 + -0.054373419117 -0.023069107918 + -0.549186367265 0.272746151354 + -0.271440999499 0.601980012429 + -0.008243707829 0.165437286620 + 0.075115940925 0.081179100481 + -0.301764732780 -0.528028644486 + 0.263417659275 0.056184575288 + 0.162805807754 -0.092663857431 + 0.000381034704 0.014649769334 + 0.016122194919 -0.078954819640 + 0.232723247985 0.115618506549 + -0.886932023795 -0.010074753093 + 6 7 0 0 0 + 0.847133296911 -0.386868628114 + -0.166398491791 0.145793620999 + -0.047433554309 -0.233014226207 + -0.032421089357 -0.050067867896 + 0.303416759069 0.041220614162 + 0.731669982836 -0.355983396593 + -0.288204866329 0.324844611581 + -0.037544474641 0.102256958134 + 0.023378439537 0.151374835042 + -0.481595944432 0.056015418873 + -0.559997580424 0.315749650732 + -0.101845910155 0.125029839690 + -0.000000000516 -0.000000000948 + 0.000000001830 0.000000000884 + 0.139832658820 0.194837518882 + -0.802603618542 -0.519522568031 + 6 10 0 0 0 + -0.846864970006 0.387455648531 + 0.166297408172 -0.145908909964 + -0.047595034251 -0.232981299286 + -0.032455783505 -0.050045384409 + -0.303445254195 -0.041010313574 + -0.731423085660 0.356490413926 + -0.287979655744 0.325044278570 + -0.037473593986 0.102282954587 + -0.023483366180 -0.151358593315 + 0.481556999204 -0.056349244599 + -0.559778571423 0.316137761191 + -0.101759216467 0.125100408222 + -0.000000002306 -0.000000000411 + -0.000000000776 -0.000000001675 + -0.202072135244 0.129157595600 + 0.561913079747 -0.773517921942 + 6 22 0 0 0 + -0.969096980736 -0.137868011327 + -0.068568244498 0.011583664905 + 0.021919749641 -0.016518616439 + -0.057301879735 0.093216087535 + -0.054351306284 0.023121154881 + -0.549447263943 -0.272220191996 + -0.098853820603 0.132911158856 + 0.173378224438 -0.637181405329 + -0.085598719425 -0.006251958023 + 0.466324756523 -0.072636148936 + 0.007223747273 0.632806152191 + 0.025251620064 -0.093995009826 + 0.032632910423 -0.063372526825 + -0.096250167729 0.379961979898 + 0.610256855411 0.221208040473 + 0.358194617704 0.047929405467 + 6 27 0 0 0 + -0.847022990007 -0.387110079140 + 0.166356936075 0.145841035065 + 0.056884138837 -0.017947509600 + -0.184983739583 0.149420844485 + -0.303428495804 0.041134129780 + -0.731568509858 -0.356191885569 + -0.036188348630 0.102744713017 + -0.015273025513 -0.433996315117 + -0.023421571215 0.151368167923 + 0.481579967299 0.056152612789 + -0.001122649973 0.161256905733 + -0.230594117213 -0.600101229923 + 0.000000000525 -0.000000001213 + -0.000000000234 -0.000000002355 + 0.932190433515 -0.212361145327 + 0.198229980589 -0.134980380732 + 6 49 0 0 -1 + -0.969018556296 -0.138418149281 + -0.068574809482 0.011544736078 + -0.021929125014 0.016506169243 + 0.057354791200 -0.093183541058 + -0.054364422941 0.023090298196 + -0.549292649489 -0.272532043198 + 0.098929251694 -0.132855024858 + -0.173739896551 0.637082881944 + 0.029393013069 -0.078214902775 + -0.060490945512 0.455459243446 + 0.333253176521 -0.498948155529 + -0.202503059878 -0.181260427994 + -0.054320265822 0.050149779002 + 0.228828829362 -0.336013515482 + 0.527413195082 -0.428568098897 + 0.255775579076 -0.028095175302 + 6 54 0 0 -1 + 0.846777533490 0.387646701921 + -0.166264494573 -0.145946415649 + 0.056895501853 -0.017911462717 + -0.185078376571 0.149303604334 + 0.303454501077 -0.040941846897 + 0.731342652181 0.356655391854 + -0.036253444784 0.102721762676 + -0.014998010372 -0.434005906010 + 0.023517502661 -0.151353292040 + -0.481544281569 -0.056457825332 + -0.001224853701 0.161256162784 + -0.230213726632 -0.600247258925 + -0.000000000175 0.000000000131 + -0.000000001063 0.000000000840 + 0.459900527492 0.838193173462 + 0.184174801122 0.153604927158 + 7 3 0 0 0 + 0.907632729177 -0.267928901777 + 0.009382313731 0.187431524692 + -0.075912814552 0.205673256701 + 0.000000000188 -0.000000001782 + 0.026370703694 0.223263439785 + 0.747950995654 0.443972996217 + 0.405411506099 -0.080904775847 + 0.000000000139 0.000000000278 + 0.071632756339 -0.033197000181 + -0.169441518836 0.007778210460 + 0.212803425135 -0.209956828672 + -0.792310122984 -0.125361312276 + -0.156140365234 0.001044631798 + 0.311356303866 0.124867431001 + -0.555102029912 0.203500691164 + -0.338332921948 -0.223701674183 + 7 6 0 0 0 + 0.847133296911 0.386868628114 + 0.303416759069 -0.041220614162 + 0.023378439537 -0.151374835042 + -0.000000000516 0.000000000948 + -0.166398491791 -0.145793620999 + 0.731669982836 0.355983396593 + -0.481595944432 -0.056015418873 + 0.000000001830 -0.000000000884 + -0.047433554309 0.233014226207 + -0.288204866329 -0.324844611581 + -0.559997580424 -0.315749650732 + 0.139832658820 -0.194837518882 + -0.032421089357 0.050067867896 + -0.037544474641 -0.102256958134 + -0.101845910155 -0.125029839690 + -0.802603618542 0.519522568031 + 7 8 0 0 0 + 0.422911083852 -0.685492830352 + 0.099083778662 0.515993238005 + 0.193573220180 0.157837693567 + -0.000000000061 0.000000001882 + 0.055386160524 0.460312252121 + 0.693008318700 0.331125475666 + -0.067376018560 0.419372160849 + 0.000000000446 0.000000000435 + 0.332316774209 -0.104889150993 + 0.336926915008 -0.069701361602 + -0.651584783596 -0.531041711095 + 0.000000001322 -0.000000002223 + 0.000000000022 -0.000000001071 + 0.000000000829 -0.000000001152 + -0.000000000411 0.000000000786 + -0.897487717839 -0.382874486616 + 7 11 0 0 0 + 0.875783788504 -0.134402271980 + -0.245732232737 -0.094583579685 + 0.236851934903 -0.254837995233 + 0.000000000866 0.000000000470 + -0.302995075091 -0.207259631750 + -0.608191275847 -0.502475957076 + 0.418803742000 0.195620065725 + 0.000000001795 -0.000000004371 + -0.048230167350 0.189891202192 + -0.222897582620 -0.293065627929 + -0.442589179889 -0.295010415095 + 0.533177491623 -0.228556882695 + 0.047576111534 0.135011676234 + -0.254242622518 -0.087947817402 + -0.388631128629 -0.000155005929 + -0.433971874792 0.664852707636 + 7 23 0 0 0 + 0.867500613711 0.402307091248 + 0.187200834361 -0.021327036871 + -0.040821944018 -0.047998438561 + 0.029342633310 0.157931891558 + -0.009567301399 -0.152672606028 + 0.761645840666 0.327612295132 + 0.037000298886 -0.036723016208 + -0.373981760180 -0.251238648388 + 0.068606673476 -0.103195881457 + -0.166826017639 0.321939295703 + 0.081479908847 0.619606193952 + -0.367906254279 0.427919861827 + 0.056777249942 -0.139890919770 + -0.196484981979 0.269553187440 + -0.035281998376 -0.623435050210 + -0.244814377591 0.214140393284 + 7 28 0 0 0 + -0.827453514627 0.298159068354 + 0.309173128231 -0.093436618132 + -0.162545751244 0.060228778566 + -0.234152930800 -0.123290378551 + -0.038178624513 -0.337768053438 + 0.334934465998 -0.736873556080 + 0.220375629687 0.192778874718 + 0.133398441078 0.300355711365 + 0.158549510147 -0.163609671661 + -0.199106515794 -0.239720245157 + -0.325596566064 0.599070932096 + -0.216983543699 -0.431967133696 + -0.079410979538 0.188740550975 + 0.151727480844 0.309602760683 + 0.352866226416 0.500237220883 + 0.517192275154 -0.140237431781 + 7 50 0 0 -1 + -0.867161253441 -0.403038049548 + -0.187218743126 0.021169261166 + 0.040781476167 0.048032825254 + 0.029209521773 0.157956564591 + 0.009438628862 0.152680614609 + -0.761369465136 -0.328254080651 + -0.037031236192 0.036691819812 + -0.373769888094 -0.251553743294 + -0.068693622389 0.103138022878 + 0.167097287522 -0.321798580036 + -0.080957673638 -0.619674644029 + -0.368266774220 0.427609640706 + 0.150821987304 -0.006771581330 + -0.326951415723 -0.066091144229 + 0.551849677070 -0.292195166823 + 0.296758519996 0.133133643939 + 7 55 0 0 -1 + 0.236372830503 -0.847175327642 + -0.102965135700 0.306131682152 + 0.045081817021 -0.167380571047 + -0.236149407316 0.119421810332 + -0.247548384197 0.232947768269 + -0.790639283942 0.173358753448 + 0.022299754858 -0.291944915239 + -0.160542260275 0.286766236440 + 0.031148326347 -0.225689727143 + -0.302306914581 -0.075628893255 + 0.091568302118 0.675658456689 + 0.430381402493 0.220112048382 + 0.096385479080 -0.180662499721 + -0.122694820937 -0.322212783140 + -0.305503109987 -0.530490057160 + 0.527873750146 -0.092215433451 + 8 4 0 0 0 + 0.956469847729 0.130890628921 + 0.166292964444 -0.026991141864 + -0.127765131992 -0.074177489625 + 0.000000000637 -0.000000000754 + -0.108023565505 -0.016759131770 + 0.683795028567 0.418635065060 + -0.345276784740 0.437103731464 + -0.000000000018 -0.000000001854 + 0.114861494192 0.112471123335 + -0.445313402038 -0.018444643110 + -0.071887974996 0.525137927998 + -0.410083073968 -0.039484525968 + -0.070739998064 -0.049896120289 + 0.238300823741 -0.028536782898 + -0.007001061839 -0.285334150504 + -0.763465968911 0.049381736570 + 8 7 0 0 0 + 0.422911083852 0.685492830352 + 0.055386160524 -0.460312252121 + 0.332316774209 0.104889150993 + 0.000000000022 0.000000001071 + 0.099083778662 -0.515993238005 + 0.693008318700 -0.331125475666 + 0.336926915008 0.069701361602 + 0.000000000829 0.000000001152 + 0.193573220180 -0.157837693567 + -0.067376018560 -0.419372160849 + -0.651584783596 0.531041711095 + -0.000000000411 -0.000000000786 + -0.000000000061 -0.000000001882 + 0.000000000446 -0.000000000435 + 0.000000001322 0.000000002223 + -0.897487717839 0.382874486616 + 8 12 0 0 0 + -0.423607821837 0.685062492292 + -0.054918098482 -0.460368329461 + -0.332423219634 0.104551308610 + -0.000000000458 0.000000000507 + -0.098559087560 -0.516093715351 + -0.692671268798 -0.331829961540 + -0.336997591942 0.069358839331 + 0.000000000345 -0.000000000022 + -0.193412634584 -0.158034432036 + 0.067802410321 -0.419303434728 + 0.651044636839 0.531703779400 + 0.000000000140 -0.000000000123 + 0.000000001156 0.000000000199 + -0.000000000101 -0.000000000677 + -0.000000000091 0.000000000749 + -0.945983018217 0.239150980958 + 8 24 0 0 0 + -0.866992158757 -0.403401667496 + 0.009374597035 0.152684559978 + -0.068736852400 0.103109217455 + 0.144169251832 -0.044814652324 + -0.187227604268 0.021090747941 + -0.761231735973 -0.328573352343 + 0.167232169830 -0.321728505978 + -0.333021713838 0.019021229484 + 0.040761320811 0.048049930336 + -0.037046627559 0.036676278737 + -0.080697780184 -0.619708542025 + 0.459661791102 -0.422643016189 + 0.127085115873 0.098248899178 + -0.446288316453 0.061724822589 + 0.010636432609 0.564231588179 + 0.274698670247 -0.174157476162 + 8 5 1 0 0 + -0.956536628687 0.130401704026 + -0.166279144001 -0.027076150851 + 0.127803011923 -0.074112204113 + 0.000000000237 -0.000000000731 + 0.108032117240 -0.016703914854 + -0.684008938284 0.418285466223 + 0.345053436392 0.437280066290 + -0.000000000537 -0.000000000102 + -0.154845624878 -0.093724791319 + 0.144946752927 0.480432202459 + -0.552497109423 0.225602460133 + -0.109146059500 -0.033384153744 + -0.007222126034 -0.022869703293 + -0.027573755040 0.060505259772 + -0.074731963281 -0.025844305115 + 0.452699356969 0.732858735374 + 8 25 1 0 0 + 0.866838735102 -0.403731243845 + -0.009316557797 0.152688112498 + 0.068776072953 0.103083061408 + -0.069806459202 0.133866292810 + 0.187235609667 0.021019552996 + 0.761106758627 -0.328862747647 + -0.167354577105 -0.321664848041 + 0.078105161892 -0.324291308993 + -0.040743056166 0.048065418990 + 0.037060562255 0.036662198513 + 0.080462084094 -0.619739189120 + -0.497841155716 0.376922093742 + 0.147432525792 -0.063774001805 + -0.417167308242 -0.170160664961 + 0.149822068025 -0.544080666237 + 0.272734049917 -0.177218298132 + 8 51 0 0 -1 + -0.866502386429 -0.404452623395 + 0.009189455013 0.152695814894 + -0.068861824079 0.103025797028 + -0.144223483513 0.044639811191 + -0.187253039537 0.020863706627 + -0.760832759167 -0.329496157090 + 0.167622166365 -0.321525488251 + 0.333044533548 -0.018617406349 + 0.040703046469 0.048099305570 + -0.037091058840 0.036631344704 + -0.079946516366 -0.619805909272 + -0.460173775745 0.422085510338 + -0.068949557076 -0.145084221876 + 0.425992614194 0.146674836526 + 0.245559303827 -0.508105353341 + 0.323756212050 -0.031178543905 + 8 56 0 0 -1 + 0.866681987433 -0.404067620211 + -0.009257300775 0.152691716357 + 0.068816072899 0.103056362293 + 0.069754500970 -0.133893373346 + 0.187243752810 0.020946899792 + 0.760979094236 -0.329158050569 + -0.167479381215 -0.321599885470 + -0.077979321316 0.324321591468 + -0.040724407250 0.048081220522 + 0.037074781310 0.036647819410 + 0.080221671976 -0.619770355738 + 0.497694904252 -0.377115185827 + -0.046461195109 -0.153768755832 + -0.216838945560 0.394922887647 + -0.523330790493 -0.211176007389 + 0.144801337696 0.291243475511 + 9 5 0 0 0 + -0.734603561645 -0.460751014151 + -0.261559475045 0.405291511561 + 0.000000000066 -0.000000000263 + 0.000000000491 0.000000000035 + 0.298658227734 0.368938679028 + -0.692349403789 0.512902555799 + -0.000000002582 0.000000001566 + 0.000000000691 -0.000000001167 + -0.000000001039 -0.000000000459 + -0.000000000779 0.000000000741 + -0.357640412823 0.532557016503 + -0.372350889411 0.631976951937 + 0.000000000687 0.000000000400 + 0.000000000067 -0.000000000732 + 0.404487438548 0.611906820347 + -0.384662856602 -0.513379127061 + 9 10 0 0 0 + -0.907944236007 -0.266871376535 + -0.026110525399 0.223294017909 + -0.087873359225 -0.065982118557 + -0.090845599537 -0.101419465534 + -0.009163957094 0.187442327534 + -0.747433134232 0.444844269259 + 0.228393097048 0.059772121266 + 0.263114999398 0.127827763316 + 0.076152389252 0.205584672229 + -0.405505517910 -0.080432256592 + -0.228732437906 -0.347572844975 + -0.193983400204 -0.477664092967 + 0.000000000579 0.000000000385 + -0.000000001611 0.000000000639 + -0.697943105829 0.046473606971 + 0.559785334293 0.073064322359 + 9 13 0 0 0 + 0.734080296584 -0.461584237066 + 0.262019285582 0.404994398295 + 0.000000002316 -0.000000000710 + 0.000000000132 0.000000000648 + -0.298239399039 0.369277330625 + 0.692931096161 0.512116417559 + 0.000000000339 0.000000000171 + 0.000000001428 -0.000000000440 + 0.000000000440 -0.000000000147 + 0.000000000921 0.000000001263 + -0.571532806790 -0.416317241209 + 0.572860090006 -0.348461212380 + 0.000000000205 0.000000001740 + 0.000000000786 0.000000001220 + 0.199740664708 -0.640076217697 + -0.542062797295 -0.454023910413 + 9 25 0 0 0 + 0.908091401550 0.266370185040 + 0.025987270714 -0.223308395785 + -0.090177230402 0.075511846808 + 0.008211224127 -0.129278001334 + 0.009060483763 -0.187447357668 + 0.747187455508 -0.445256802193 + 0.117937606852 -0.223481550759 + 0.088776110231 0.263763285791 + -0.076265842703 -0.205542609418 + 0.405549847885 0.080208437323 + -0.417980914115 0.153722531971 + 0.194670523041 -0.450202942213 + 0.000000000039 -0.000000000503 + 0.000000001802 -0.000000001906 + 0.042913293033 -0.664100146501 + -0.409980571889 -0.443878104391 + 9 30 0 0 0 + -0.907500000478 0.268378122881 + -0.026481201901 -0.223250360666 + -0.067668074306 -0.124229581368 + -0.072526068244 0.073090423318 + -0.009475075139 -0.187426858279 + -0.748170616333 -0.443602797506 + 0.033566627651 0.302063255086 + 0.203652042622 -0.086385582140 + 0.075811002793 -0.205710806095 + -0.405371414682 0.081105418876 + -0.400098064747 -0.356138199777 + -0.164944224190 0.353268291029 + -0.000000000213 -0.000000000126 + -0.000000000063 -0.000000000627 + -0.231423651794 0.475669788270 + -0.717198046093 -0.117433824576 + 9 57 0 0 -1 + -0.907942667199 0.266876715390 + -0.026111902230 -0.223293856404 + -0.041492966801 0.110055923358 + -0.056311058806 -0.116658863515 + -0.009165060451 -0.187442273370 + -0.747435876638 -0.444839660797 + 0.171991953241 -0.185127118406 + 0.017136743604 0.277774372441 + 0.076151159683 -0.205585126268 + -0.405505013377 0.080434794651 + -0.007054850246 0.445296406675 + -0.349938404841 -0.343689417681 + -0.000000000137 -0.000000000520 + -0.000000001714 -0.000000000790 + -0.133431283394 0.651971355859 + 0.345348550280 0.495828820196 + 9 12 -1 0 0 + -0.907919041304 0.266957079255 + -0.026131666369 -0.223291543279 + 0.108956732877 0.014275771543 + 0.128961787849 0.043677084867 + -0.009181647688 -0.187441462182 + -0.747475239044 -0.444773515839 + -0.205069277308 -0.116973096820 + -0.220948354089 -0.191706195850 + 0.076132964336 -0.205591865980 + -0.405497893334 0.080470681819 + 0.406555458337 -0.088532882862 + 0.515465905541 -0.009351176185 + 0.000000000882 -0.000000000166 + 0.000000000385 -0.000000000795 + -0.639361033940 0.283728464701 + 0.550755808478 -0.123959893457 + 9 56 -1 0 -1 + 0.908194707252 0.266017748482 + 0.025900606807 -0.223318463823 + 0.002212574256 -0.141446322527 + -0.099101950757 0.027947156523 + 0.008987749448 -0.187450859712 + 0.747014628149 -0.445546695051 + 0.110598304342 0.283084693417 + 0.174356595625 -0.136148452318 + -0.076345569390 -0.205513010375 + 0.405580930255 0.080051112574 + 0.188862256394 -0.501242384082 + -0.388928107662 -0.027203146517 + 0.000000000596 0.000000000677 + -0.000000001076 0.000000000547 + -0.261584838422 0.459773887285 + -0.708143524839 -0.163390637917 + 10 6 0 0 0 + -0.846864970006 -0.387455648531 + -0.303445254195 0.041010313574 + -0.023483366180 0.151358593315 + -0.000000002306 0.000000000411 + 0.166297408172 0.145908909964 + -0.731423085660 -0.356490413926 + 0.481556999204 0.056349244599 + -0.000000000776 0.000000001675 + -0.047595034251 0.232981299286 + -0.287979655744 -0.325044278570 + -0.559778571423 -0.316137761191 + -0.202072135244 -0.129157595600 + -0.032455783505 0.050045384409 + -0.037473593986 -0.102282954587 + -0.101759216467 -0.125100408222 + 0.561913079747 0.773517921942 + 10 9 0 0 0 + -0.907944236007 0.266871376535 + -0.009163957094 -0.187442327534 + 0.076152389252 -0.205584672229 + 0.000000000579 -0.000000000385 + -0.026110525399 -0.223294017909 + -0.747433134232 -0.444844269259 + -0.405505517910 0.080432256592 + -0.000000001611 -0.000000000639 + -0.087873359225 0.065982118557 + 0.228393097048 -0.059772121266 + -0.228732437906 0.347572844975 + -0.697943105829 -0.046473606971 + -0.090845599537 0.101419465534 + 0.263114999398 -0.127827763316 + -0.193983400204 0.477664092967 + 0.559785334293 -0.073064322359 + 10 11 0 0 0 + -0.875876727158 0.133795270022 + 0.245666619954 0.094753867917 + -0.237028526751 0.254673751119 + -0.000000000739 0.000000000079 + 0.302851360638 0.207469572341 + 0.607842879374 0.502897355898 + -0.418668044543 -0.195910329255 + 0.000000002384 0.000000000797 + -0.048361763617 0.189857732156 + -0.222694416864 -0.293220042777 + -0.442384576171 -0.295317139034 + -0.256885848350 -0.520121292147 + 0.047482530706 0.135044617547 + -0.254181608480 -0.088123999200 + -0.388630928508 -0.000424398279 + 0.687218408723 0.397607313021 + 10 14 0 0 0 + 0.423585583103 -0.685076243094 + 0.098575850987 0.516090514103 + 0.193417751291 0.158028168955 + 0.000000003264 0.000000000192 + 0.054933053261 0.460366545185 + 0.692682055027 0.331807445675 + -0.067788824107 0.419305631005 + 0.000000001733 -0.000000000162 + 0.332419845291 -0.104562037044 + 0.336995352503 -0.069369723344 + -0.651061753492 -0.531682820977 + -0.000000006515 0.000000000892 + -0.000000000013 -0.000000000728 + 0.000000000393 0.000000000890 + 0.000000000459 -0.000000000290 + -0.947132996098 0.234555221707 + 10 26 0 0 0 + 0.867306929009 0.402724473885 + 0.187211075835 -0.021236950581 + -0.040798836663 -0.048018081153 + -0.156118335879 0.037822449482 + -0.009493834829 -0.152677191637 + 0.761488104918 0.327978767688 + 0.037017970273 -0.036705202788 + 0.230691171007 -0.386994571542 + 0.068656332274 -0.103162850233 + -0.166980943657 0.321858964176 + 0.081181609407 0.619645346879 + -0.447149855369 -0.344278129807 + -0.055357331018 0.140458861317 + 0.193744502754 -0.271529624301 + 0.041595114201 0.623045685320 + 0.229497862512 0.230479754837 + 10 31 0 0 0 + -0.688307769230 0.547549601971 + 0.262939150535 -0.187567129849 + -0.134680594974 0.109131863246 + 0.027482204660 -0.263197339363 + -0.148921649335 0.305560480407 + -0.677879820397 0.442315140518 + -0.082615317174 -0.280898242829 + 0.327207818854 0.030720339851 + -0.093503672852 -0.207757395018 + -0.296298999876 0.096519953798 + 0.436509782440 0.523792244142 + -0.068302695530 -0.478552196271 + 0.172700079915 -0.110017190553 + 0.051405406794 -0.340928999494 + -0.005517394526 -0.612144924252 + 0.151213728655 -0.514090258296 + 10 53 0 0 -1 + 0.867128727085 0.403108024074 + 0.187220450830 -0.021154152038 + -0.040777594317 -0.048036121015 + 0.156135050739 -0.037753396292 + -0.009426307607 -0.152681375995 + 0.761342970028 0.328315528554 + 0.037034201448 -0.036688826470 + -0.230862312554 0.386892503867 + 0.068701940071 -0.103132482912 + -0.167123243234 0.321785097465 + 0.080907617519 0.619681182033 + 0.446997578886 0.344475814583 + -0.150115082342 -0.016080656050 + 0.313222388538 0.114703978863 + -0.589644181617 0.205513552175 + 0.161279886860 -0.282451736647 + 10 58 0 0 -1 + 0.680532247121 0.557183999716 + -0.238854542548 -0.217409597268 + 0.135107525365 0.108602863782 + 0.263066498885 -0.028707609249 + -0.316101891506 0.124997833448 + -0.798744335232 -0.131038989221 + 0.128591350947 -0.263046341243 + -0.220738970534 -0.243481012485 + 0.227740575998 -0.006348342539 + 0.024942260177 -0.310623704573 + -0.651438477884 0.201313228521 + -0.467980958675 -0.121125071658 + 0.053692053825 0.197601271801 + 0.310225526725 0.150450058018 + 0.586100423659 0.176743165714 + -0.445879023628 -0.297231022076 + 11 7 0 0 0 + 0.875783788504 0.134402271980 + -0.302995075091 0.207259631750 + -0.048230167350 -0.189891202192 + 0.047576111534 -0.135011676234 + -0.245732232737 0.094583579685 + -0.608191275847 0.502475957076 + -0.222897582620 0.293065627929 + -0.254242622518 0.087947817402 + 0.236851934903 0.254837995233 + 0.418803742000 -0.195620065725 + -0.442589179889 0.295010415095 + -0.388631128629 0.000155005929 + 0.000000000866 -0.000000000470 + 0.000000001795 0.000000004371 + 0.533177491623 0.228556882695 + -0.433971874792 -0.664852707636 + 11 10 0 0 0 + -0.875876727158 -0.133795270022 + 0.302851360638 -0.207469572341 + -0.048361763617 -0.189857732156 + 0.047482530706 -0.135044617547 + 0.245666619954 -0.094753867917 + 0.607842879374 -0.502897355898 + -0.222694416864 0.293220042777 + -0.254181608480 0.088123999200 + -0.237028526751 -0.254673751119 + -0.418668044543 0.195910329255 + -0.442384576171 0.295317139034 + -0.388630928508 0.000424398279 + -0.000000000739 -0.000000000079 + 0.000000002384 -0.000000000797 + -0.256885848350 0.520121292147 + 0.687218408723 -0.397607313021 + 11 12 0 0 0 + 0.421975751081 0.779100558199 + 0.366923490435 -0.011389570237 + 0.153187689946 -0.122140699933 + 0.142625100101 -0.012236022496 + 0.006139044041 -0.263235058807 + 0.787511894940 0.046943926974 + 0.000469331554 0.368199094845 + -0.148835888160 0.224102673813 + 0.319802360668 0.136995223916 + -0.453567948073 0.089106121723 + 0.174325283002 0.502520673974 + -0.097509499475 0.376199513579 + 0.000000001541 0.000000000087 + -0.000000002452 0.000000000018 + 0.488655208617 0.312622111236 + -0.319478756651 -0.726838377406 + 11 15 0 0 0 + -0.421174216849 -0.779534151950 + -0.366935011284 0.011012179806 + 0.153313230546 -0.121983079046 + 0.142637608810 -0.012089323645 + -0.006409789882 0.263228605367 + -0.787463193788 -0.047753895585 + 0.000090621525 0.368199381571 + -0.149066313763 0.223949473155 + -0.319661316927 -0.137324017613 + 0.453659341994 -0.088639650196 + 0.173808430898 0.502699670568 + -0.097896308815 0.376099043742 + -0.000000000399 -0.000000000191 + 0.000000002819 -0.000000002804 + 0.574263065069 0.082087840059 + -0.591892589517 -0.529172824973 + 11 27 0 0 0 + -0.421125598623 -0.779560418086 + 0.366935697249 -0.010989295591 + 0.091310425146 -0.110245387715 + -0.187653051267 0.056312978818 + -0.006426183875 0.263228204808 + 0.787460217494 0.047802941902 + 0.055352541620 0.263268352190 + 0.136673239591 -0.341893582784 + -0.319652747982 -0.137343960905 + -0.453664870102 0.088611349427 + 0.199766069117 0.333358203607 + 0.025338914366 -0.531294902963 + -0.000000000025 -0.000000000251 + -0.000000001705 0.000000005203 + 0.758017785574 -0.236156190119 + 0.556616376128 0.163385126274 + 11 32 0 0 0 + 0.875818675221 0.134174752148 + 0.302941223094 -0.207338337318 + 0.063042012360 0.128519818329 + 0.025687248853 -0.194229201986 + -0.245707643257 0.094647438416 + 0.608060670648 -0.502634000591 + 0.115299333607 -0.243064169881 + -0.315742448796 0.189413571733 + 0.236918137708 0.254776447382 + -0.418752901144 0.195728873611 + 0.272087314309 -0.277493554840 + -0.520466254301 0.109686847593 + 0.000000000428 0.000000000975 + -0.000000002340 0.000000000337 + -0.768149042468 0.200767904698 + -0.548445173137 -0.189008958109 + 11 54 0 0 -1 + 0.420631560701 0.779827099899 + -0.366942585941 0.010756791323 + 0.091380261610 -0.110187509046 + -0.187688693181 0.056194064805 + 0.006592984052 -0.263224079531 + -0.787429768458 -0.048301924731 + 0.055185708777 0.263303376387 + 0.136889860769 -0.341806906024 + 0.319565634737 0.137546528158 + 0.453720942388 -0.088323797327 + 0.199554753025 0.333484748802 + 0.025675639131 -0.531278728078 + -0.000000001014 -0.000000000598 + 0.000000001010 -0.000000001948 + 0.435010461668 0.664173623449 + -0.004448983227 0.580083353216 + 11 59 0 0 -1 + -0.875873887260 -0.133813858005 + -0.302855761957 0.207463146078 + 0.063094964202 0.128493831492 + 0.025607213036 -0.194239770254 + 0.245668631708 -0.094748651696 + -0.607853554840 0.502884451734 + 0.115199193647 -0.243111650615 + -0.315664389064 0.189543635249 + -0.237023192642 -0.254678716734 + 0.418672146335 -0.195901556128 + 0.271972847313 -0.277605742866 + -0.520420978286 0.109901490010 + 0.000000000562 -0.000000000082 + -0.000000000917 -0.000000003395 + 0.771854969917 -0.186012447722 + 0.544722864846 0.199483073736 + 12 8 0 0 0 + -0.423607821837 -0.685062492292 + -0.098559087560 0.516093715351 + -0.193412634584 0.158034432036 + 0.000000001156 -0.000000000199 + -0.054918098482 0.460368329461 + -0.692671268798 0.331829961540 + 0.067802410321 0.419303434728 + -0.000000000101 0.000000000677 + -0.332423219634 -0.104551308610 + -0.336997591942 -0.069358839331 + 0.651044636839 -0.531703779400 + -0.000000000091 -0.000000000749 + -0.000000000458 -0.000000000507 + 0.000000000345 0.000000000022 + 0.000000000140 0.000000000123 + -0.945983018217 -0.239150980958 + 12 11 0 0 0 + 0.421975751081 -0.779100558199 + 0.006139044041 0.263235058807 + 0.319802360668 -0.136995223916 + 0.000000001541 -0.000000000087 + 0.366923490435 0.011389570237 + 0.787511894940 -0.046943926974 + -0.453567948073 -0.089106121723 + -0.000000002452 -0.000000000018 + 0.153187689946 0.122140699933 + 0.000469331554 -0.368199094845 + 0.174325283002 -0.502520673974 + 0.488655208617 -0.312622111236 + 0.142625100101 0.012236022496 + -0.148835888160 -0.224102673813 + -0.097509499475 -0.376199513579 + -0.319478756651 0.726838377406 + 12 16 0 0 0 + -0.848202350123 0.384519088955 + -0.303301342500 -0.042061444881 + -0.022958781498 -0.151439053753 + -0.000000001150 0.000000000978 + 0.166801958364 -0.145331844501 + -0.732653863326 0.353954039624 + 0.481749354647 -0.054680358214 + 0.000000000041 0.000000000733 + 0.075091704119 -0.019682307446 + -0.111104330531 -0.088055457592 + -0.113063685367 -0.176811098018 + -0.652373390454 0.669765199097 + 0.083017680214 0.217222000624 + 0.226115045005 -0.359480443840 + 0.489787439176 -0.394160988477 + 0.245888302350 0.192233187353 + 12 28 0 0 0 + -0.256836204870 0.841197545880 + 0.078018590622 -0.313419089899 + -0.052109231188 0.165327714687 + -0.253013924173 -0.077537509468 + 0.050274940243 0.336180449532 + 0.513740009759 0.625487759397 + 0.163165636914 -0.243117432668 + 0.180736278068 0.274486962848 + 0.209245545352 0.090124210883 + -0.091705071708 0.297824411356 + -0.530798044468 -0.427963246240 + -0.299490506529 -0.379450783545 + 0.065245433790 0.194093103775 + -0.174192977785 0.297543112779 + -0.388870051116 0.472791640555 + 0.493462005057 -0.208924944525 + 12 9 1 0 0 + -0.907919041304 -0.266957079255 + -0.009181647688 0.187441462182 + 0.076132964336 0.205591865980 + 0.000000000882 0.000000000166 + -0.026131666369 0.223291543279 + -0.747475239044 0.444773515839 + -0.405497893334 -0.080470681819 + 0.000000000385 0.000000000795 + 0.108956732877 -0.014275771543 + -0.205069277308 0.116973096820 + 0.406555458337 0.088532882862 + -0.639361033940 -0.283728464701 + 0.128961787849 -0.043677084867 + -0.220948354089 0.191706195850 + 0.515465905541 0.009351176185 + 0.550755808478 0.123959893457 + 12 29 1 0 0 + -0.866930231264 0.403534735906 + -0.187230839413 -0.021062003537 + 0.040753953663 -0.048056180781 + -0.084914756877 -0.136355992672 + 0.009351164209 -0.152685997005 + -0.761181290168 0.328690200818 + -0.037052249335 -0.036670598929 + -0.106471941648 0.437774988421 + -0.068752678408 -0.103098665216 + 0.167281565947 0.321702824312 + -0.080602741955 0.619720911014 + -0.560273987972 -0.067553582144 + 0.144800604291 0.042730678677 + -0.333261413713 -0.014216162113 + 0.465709576601 0.415969552282 + 0.197334990429 -0.258551900993 + 12 55 0 0 -1 + -0.536835420429 -0.696696406819 + 0.210258084980 0.245173335276 + -0.104563886694 -0.138257073689 + -0.209784850392 0.161302276547 + 0.239029540666 -0.241681079988 + 0.192959507362 -0.786085468319 + -0.292409040430 0.015035473363 + -0.111467672943 0.309166057350 + 0.222043245090 -0.051018319341 + 0.102111070871 0.294418968384 + -0.681113728522 -0.031355921158 + 0.465877753364 0.128978210603 + -0.047170460712 -0.199258743824 + 0.200746191855 -0.280314223677 + 0.430590401905 -0.435136481705 + 0.510542727828 -0.162789763247 + 12 60 0 0 -1 + -0.867048530573 0.403280492211 + -0.187224654749 -0.021116907462 + 0.040768043456 -0.048044226875 + 0.084874766873 0.136380887449 + 0.009395938053 -0.152683248281 + -0.761277643139 0.328466975101 + -0.037041495250 -0.036681462196 + 0.106600311939 -0.437743748354 + -0.068722459247 -0.103118811156 + 0.167187275532 0.321751837506 + -0.080784367683 0.619697262739 + 0.560254163571 0.067717786249 + -0.132017139479 0.073243434446 + 0.243872874085 -0.227576999235 + -0.623136753446 0.040207808635 + -0.045890174695 -0.322000428893 + 13 9 0 0 0 + 0.734080296584 0.461584237066 + -0.298239399039 -0.369277330625 + 0.000000000440 0.000000000147 + 0.000000000205 -0.000000001740 + 0.262019285582 -0.404994398295 + 0.692931096161 -0.512116417559 + 0.000000000921 -0.000000001263 + 0.000000000786 -0.000000001220 + 0.000000002316 0.000000000710 + 0.000000000339 -0.000000000171 + -0.571532806790 0.416317241209 + 0.199740664708 0.640076217697 + 0.000000000132 -0.000000000648 + 0.000000001428 0.000000000440 + 0.572860090006 0.348461212380 + -0.542062797295 0.454023910413 + 13 14 0 0 0 + -0.956667561728 0.129437643713 + 0.108048897187 -0.016595026930 + -0.077272171021 -0.085454962044 + -0.028380392265 -0.138772117797 + -0.166251772581 -0.027243707894 + -0.684430148287 0.417595892638 + 0.000532537976 0.319418438209 + -0.199121256108 0.338479189770 + 0.127877650045 -0.073983343318 + 0.344612467940 0.437627670056 + -0.378102845797 0.036531675913 + -0.423109263565 -0.197698113580 + -0.000000000188 -0.000000000042 + -0.000000000299 -0.000000000495 + -0.622223095058 0.259327355806 + 0.543047160174 0.075720018827 + 13 29 0 0 0 + 0.956629619094 -0.129717767535 + -0.108044033241 0.016626664756 + -0.140976837626 -0.110364456136 + 0.029479046648 0.020319698421 + 0.166259742507 0.027195023633 + 0.684307838659 -0.417796291277 + 0.085499382696 0.488960355070 + -0.022997682878 -0.096563945008 + -0.127855985112 0.074020778181 + -0.344740570574 -0.437526764905 + -0.569275345286 0.156180494854 + 0.111738197109 -0.038080538483 + 0.000000001125 0.000000000448 + 0.000000000599 0.000000000708 + -0.138435273292 0.099346146565 + -0.660845058677 0.537862273664 + 13 1 0 1 0 + -0.817458695668 -0.538586682060 + -0.093599938022 -0.096024681069 + 0.000000000122 -0.000000000251 + 0.000000000181 -0.000000000147 + -0.007476832580 0.042476184852 + 0.048498750029 -0.237466315992 + 0.497134116143 -0.294348153906 + 0.621757036266 0.041212292489 + -0.064387890245 -0.038536787632 + 0.355804128424 0.226329984224 + -0.531375464103 -0.034475584680 + 0.496203110535 0.070461606640 + 0.059803173502 0.072985407065 + -0.324779849779 -0.419143838215 + -0.434522476257 0.091290516433 + 0.152850630075 0.389421911687 + 13 18 0 1 0 + 0.969231776070 -0.136917163875 + 0.054328595522 0.023174471953 + -0.033157658590 -0.025431346279 + 0.007024122195 0.103207026239 + 0.068556846590 0.011650928381 + 0.549714073854 -0.271680998379 + 0.146102686826 0.177352399148 + 0.090331083693 -0.561614118960 + 0.104439396087 -0.022332437135 + -0.642734607599 -0.048195262056 + 0.280556710388 0.238966047480 + 0.149001180947 -0.128353771894 + -0.023750927172 -0.027489141573 + 0.090811000158 0.199550514297 + 0.012798460084 0.789399890029 + -0.342487180285 0.216354383047 + 13 61 0 0 -1 + -0.969240606123 0.136854645458 + -0.054327098317 -0.023177976261 + -0.064048319282 -0.088692664490 + 0.013860508267 0.016926967514 + -0.068556094408 -0.011655352533 + -0.549731608609 0.271645510802 + 0.233157056259 0.554558495990 + -0.053267262544 -0.107866828706 + 0.106503424659 -0.033547805999 + -0.673749508556 0.013241229108 + -0.023219045991 -0.294746655219 + 0.142811444193 0.046280601537 + 0.008056795464 0.013882997637 + -0.023057481539 -0.094086269288 + -0.005204321895 -0.191285699854 + -0.284902553739 -0.856841330809 + 13 16 -1 0 0 + 0.969579990760 -0.134429114961 + 0.054268935906 0.023313834606 + -0.030733925466 -0.063336277854 + 0.007058902775 -0.086263121334 + 0.068526719220 0.011826843002 + 0.550409545066 -0.270269233523 + 0.086121800572 0.377413322939 + -0.144769411440 0.453380664903 + -0.035593610338 -0.003008405863 + 0.200998191118 0.077919156432 + -0.188204614245 0.595246443236 + 0.478343269493 -0.414165308430 + -0.002609109445 -0.106973462102 + -0.166714096792 0.623884882149 + 0.400322033341 0.098546684206 + 0.016659534141 0.039803808182 + 13 60 -1 0 -1 + 0.956667617411 -0.129437231476 + -0.108048904413 0.016594979821 + 0.063672333206 0.024950794463 + -0.057853419514 -0.159100471263 + 0.166251763389 0.027243777730 + 0.684430326470 -0.417595604699 + -0.084823591424 -0.169566967352 + -0.176152032842 0.435049791169 + -0.127877675267 0.073983300161 + -0.344612325919 -0.437627782659 + 0.191218234336 -0.119482087769 + -0.534858550788 -0.159650462529 + -0.000000001217 0.000000000474 + -0.000000001244 -0.000000000150 + -0.360120270550 -0.720719186417 + 0.122282901042 -0.301612552717 + 14 10 0 0 0 + 0.423585583103 0.685076243094 + 0.054933053261 -0.460366545185 + 0.332419845291 0.104562037044 + -0.000000000013 0.000000000728 + 0.098575850987 -0.516090514103 + 0.692682055027 -0.331807445675 + 0.336995352503 0.069369723344 + 0.000000000393 -0.000000000890 + 0.193417751291 -0.158028168955 + -0.067788824107 -0.419305631005 + -0.651061753492 0.531682820977 + 0.000000000459 0.000000000290 + 0.000000003264 -0.000000000192 + 0.000000001733 0.000000000162 + -0.000000006515 -0.000000000892 + -0.947132996098 -0.234555221707 + 14 13 0 0 0 + -0.956667561728 -0.129437643713 + -0.166251772581 0.027243707894 + 0.127877650045 0.073983343318 + -0.000000000188 0.000000000042 + 0.108048897187 0.016595026930 + -0.684430148287 -0.417595892638 + 0.344612467940 -0.437627670056 + -0.000000000299 0.000000000495 + -0.077272171021 0.085454962044 + 0.000532537976 -0.319418438209 + -0.378102845797 -0.036531675913 + -0.622223095058 -0.259327355806 + -0.028380392265 0.138772117797 + -0.199121256108 -0.338479189770 + -0.423109263565 0.197698113580 + 0.543047160174 -0.075720018827 + 14 15 0 0 0 + -0.424112806061 0.684749978494 + -0.054578664879 -0.460408694343 + -0.332500222559 0.104306158336 + 0.000000000823 -0.000000000181 + -0.098178521638 -0.516166246495 + -0.692426416643 -0.332340590187 + -0.337048645376 0.069110310580 + 0.000000000163 0.000000001631 + -0.193296089293 -0.158176959540 + 0.068111464290 -0.419253342608 + 0.650652482962 0.532183591367 + -0.000000000290 -0.000000000104 + 0.000000001879 -0.000000002248 + 0.000000000071 -0.000000001337 + 0.000000004037 0.000000000982 + 0.080468329091 0.972420645244 + 14 30 0 0 0 + 0.867678640327 0.401922985526 + -0.009634891806 -0.152668355226 + 0.068560974442 -0.103226248815 + 0.043088005180 -0.144694677717 + 0.187191376092 -0.021409901615 + 0.761790788092 0.327275112820 + -0.166683472077 0.322013122084 + -0.169705390918 0.287167806869 + -0.040843190311 -0.047980360144 + 0.036984037736 -0.036739392995 + 0.081754250230 0.619570055750 + -0.094958073471 -0.617170192014 + 0.152835773401 0.049443893690 + -0.399066634933 0.209114886394 + 0.200955017967 0.527340028351 + 0.101624969578 0.308970146764 + 14 2 0 1 0 + -0.956433251093 0.131157780951 + -0.166300495596 -0.026944697478 + 0.127744393165 -0.074213196749 + 0.000000000586 -0.000000000232 + 0.108018879523 -0.016789304060 + -0.683678080434 0.418826027925 + 0.345398943544 0.437007208754 + 0.000000001174 0.000000001042 + -0.056249436479 0.173601031281 + 0.438062570224 -0.253130754883 + 0.348920373172 0.490175883191 + 0.017326784799 -0.022379833040 + 0.003776515370 -0.004594222213 + -0.016304993358 0.002452381169 + -0.004736012084 -0.019028007724 + 0.746100404903 -0.444498710498 + 14 19 0 1 0 + 0.866769248004 -0.403880405073 + -0.009290278602 0.152689712854 + 0.068793803382 0.103071229316 + -0.072087736145 -0.132651740894 + 0.187239223204 0.020987345179 + 0.761050171503 -0.328993679596 + -0.167409881417 -0.321636069553 + 0.225438574093 0.245851009395 + -0.040734803227 0.048072414683 + 0.037066857383 0.036655833740 + 0.080355716134 -0.619752989228 + -0.034764218070 -0.623464137227 + -0.110793393698 -0.116311206873 + -0.015516810804 0.450269300379 + -0.562335463028 0.047426238760 + 0.307005794022 -0.107413358771 + 14 57 0 0 -1 + 0.867012656941 0.403357609659 + -0.009382359171 -0.152684083023 + 0.068731619541 -0.103112705540 + -0.043327278712 0.144623210114 + 0.187226532560 -0.021100258894 + 0.761248436864 0.328534660716 + -0.167215849350 0.321736983683 + 0.170180130748 -0.286886722570 + -0.040763770863 -0.048047852843 + 0.037044756316 -0.036678169262 + 0.080729322974 0.619704434828 + 0.093937100264 0.617326414701 + 0.062532772095 -0.147963259847 + 0.173660396033 0.415722602013 + 0.542802366280 -0.154389170234 + -0.316629769861 0.074402804377 + 14 62 0 0 -1 + 0.866781780412 -0.403853507401 + -0.009295015822 0.152689424613 + 0.068790604665 0.103073364206 + 0.072083619965 0.132653977810 + 0.187238570497 0.020993155151 + 0.761060376222 -0.328970070988 + -0.167399905652 -0.321641262297 + -0.225430948049 -0.245858001200 + -0.040736282140 0.048071160323 + 0.037065730425 0.036656973611 + 0.080374781133 -0.619750518687 + 0.034745041370 0.623465205589 + -0.037956988745 0.156085679674 + 0.387193249461 -0.230357552472 + 0.343892606024 0.447446419506 + 0.256329930762 0.200212782046 + 15 11 0 0 0 + -0.421174216849 0.779534151950 + -0.006409789882 -0.263228605367 + -0.319661316927 0.137324017613 + -0.000000000399 0.000000000191 + -0.366935011284 -0.011012179806 + -0.787463193788 0.047753895585 + 0.453659341994 0.088639650196 + 0.000000002819 0.000000002804 + 0.153313230546 0.121983079046 + 0.000090621525 -0.368199381571 + 0.173808430898 -0.502699670568 + 0.574263065069 -0.082087840059 + 0.142637608810 0.012089323645 + -0.149066313763 -0.223949473155 + -0.097896308815 -0.376099043742 + -0.591892589517 0.529172824973 + 15 14 0 0 0 + -0.424112806061 -0.684749978494 + -0.098178521638 0.516166246495 + -0.193296089293 0.158176959540 + 0.000000001879 0.000000002248 + -0.054578664879 0.460408694343 + -0.692426416643 0.332340590187 + 0.068111464290 0.419253342608 + 0.000000000071 0.000000001337 + -0.332500222559 -0.104306158336 + -0.337048645376 -0.069110310580 + 0.650652482962 -0.532183591367 + 0.000000004037 -0.000000000982 + 0.000000000823 0.000000000181 + 0.000000000163 -0.000000001631 + -0.000000000290 0.000000000104 + 0.080468329091 -0.972420645244 + 15 16 0 0 0 + 0.847806421324 -0.385391267459 + 0.303344444690 0.041749463867 + 0.023114498637 0.151415363977 + 0.000000002242 -0.000000000531 + -0.166652395331 0.145503323127 + 0.732289416855 -0.354707420609 + -0.481692870531 0.055175729506 + 0.000000000669 -0.000000000762 + 0.075071420984 -0.019759530277 + -0.111194839570 -0.087941137508 + -0.113245448136 -0.176694736564 + -0.871230556659 0.339313683998 + 0.083241052227 0.217136500306 + 0.225745184894 -0.359712822769 + 0.489381850284 -0.394664449003 + 0.144154362404 0.276828785597 + 15 31 0 0 0 + 0.027727398556 0.879095752839 + -0.027064550510 -0.321847689287 + 0.003905328019 0.173301397780 + 0.243975672238 0.102488948921 + 0.137325496326 -0.310944645570 + -0.099543469921 -0.803277555514 + -0.267897338186 0.118152994852 + -0.131068702153 0.301379646713 + 0.160740806689 -0.161457316941 + 0.243251427493 0.194776646894 + -0.593137196462 0.336284660115 + 0.478905557058 0.065779413990 + 0.056453726506 -0.196830068105 + 0.312301794698 -0.146091355607 + 0.588517865840 -0.168518751993 + 0.432588165188 0.316262337578 + 15 3 0 1 0 + 0.908318560337 0.265594543510 + 0.008900392760 -0.187455028364 + -0.076441312364 -0.205477417302 + 0.000000000007 0.000000000731 + 0.025796539255 -0.223330508455 + 0.746806901409 -0.445894793443 + 0.405618186603 0.079862123217 + -0.000000000726 -0.000000002416 + -0.078701978957 -0.006268283386 + 0.161606132413 -0.051520729619 + -0.272450703358 -0.123035689916 + -0.619014252162 0.510188351098 + 0.136520220636 0.075783466254 + -0.333102871722 -0.039712714543 + 0.389554935813 0.444744586264 + -0.391754295921 0.105072267591 + 15 20 0 1 0 + -0.866697627154 0.404034073915 + -0.187242943633 -0.020954136707 + 0.040726270493 -0.048079642368 + 0.020722116666 0.159292395741 + 0.009263206261 -0.152691358708 + -0.760991803925 0.329128667154 + -0.037073362794 -0.036649254640 + 0.278430143661 -0.354203147538 + -0.068812077449 -0.103059030211 + 0.167466930300 0.321606369427 + -0.080245722803 0.619767241565 + 0.481811614656 0.293816254538 + 0.142325236443 0.050365197611 + -0.332035049838 -0.031906017017 + 0.442946284157 0.440130289482 + -0.294616038907 0.137809933899 + 15 58 0 0 -1 + 0.853423899368 -0.212710595160 + -0.308877933092 0.094407878765 + 0.168570081007 -0.040407356430 + -0.048666607924 0.260114729945 + 0.311177668933 -0.136796648180 + 0.468617091272 -0.659971026156 + -0.277434000701 -0.093592137357 + 0.300105567368 -0.133960233907 + 0.087162331862 0.210496554472 + -0.273388886614 0.149558402433 + -0.082120330145 -0.676871742619 + 0.245016468810 -0.416706603377 + 0.171142617648 0.112424657448 + 0.046626494440 0.341615378935 + -0.014088636250 0.612007648600 + 0.430581818260 -0.318988529639 + 15 63 0 0 -1 + -0.866698739316 0.404031687489 + -0.187242884755 -0.020954651697 + 0.040726402650 -0.048079530839 + -0.020721679327 -0.159292450898 + 0.009263630298 -0.152691332812 + -0.760992717589 0.329126553442 + -0.037073261070 -0.036649357634 + -0.278431127240 0.354202374663 + -0.068811775146 -0.103059230765 + 0.167465990477 0.321606860876 + -0.080247538811 0.619767006528 + -0.481810753792 -0.293817664992 + -0.058795928108 -0.139054540483 + 0.200365631349 0.266681236828 + 0.026255483302 -0.623880382407 + -0.300443026335 -0.124596047672 + 16 12 0 0 0 + -0.848202350123 -0.384519088955 + 0.166801958364 0.145331844501 + 0.075091704119 0.019682307446 + 0.083017680214 -0.217222000624 + -0.303301342500 0.042061444881 + -0.732653863326 -0.353954039624 + -0.111104330531 0.088055457592 + 0.226115045005 0.359480443840 + -0.022958781498 0.151439053753 + 0.481749354647 0.054680358214 + -0.113063685367 0.176811098018 + 0.489787439176 0.394160988477 + -0.000000001150 -0.000000000978 + 0.000000000041 -0.000000000733 + -0.652373390454 -0.669765199097 + 0.245888302350 -0.192233187353 + 16 15 0 0 0 + 0.847806421324 0.385391267459 + -0.166652395331 -0.145503323127 + 0.075071420984 0.019759530277 + 0.083241052227 -0.217136500306 + 0.303344444690 -0.041749463867 + 0.732289416855 0.354707420609 + -0.111194839570 0.087941137508 + 0.225745184894 0.359712822769 + 0.023114498637 -0.151415363977 + -0.481692870531 -0.055175729506 + -0.113245448136 0.176694736564 + 0.489381850284 0.394664449003 + 0.000000002242 0.000000000531 + 0.000000000669 0.000000000762 + -0.871230556659 -0.339313683998 + 0.144154362404 -0.276828785597 + 16 32 0 0 0 + -0.846270138623 0.388753147044 + 0.166073594204 -0.146163604868 + -0.059052007163 -0.224922639021 + 0.076779199551 -0.011450412775 + -0.303507758652 -0.040545162610 + -0.730875840619 0.357611032770 + -0.263646125758 0.332933812998 + -0.100935581893 -0.099548704287 + -0.023715303006 -0.151322425936 + 0.481470080306 -0.057087164054 + -0.529522332161 0.338911084326 + -0.093289946856 -0.187996135824 + -0.000000000850 0.000000001778 + -0.000000000432 0.000000000445 + -0.249655980688 -0.187314029481 + -0.638948924955 0.682583854226 + 16 13 1 0 0 + 0.969579990760 0.134429114961 + 0.068526719220 -0.011826843002 + -0.035593610338 0.003008405863 + -0.002609109445 0.106973462102 + 0.054268935906 -0.023313834606 + 0.550409545066 0.270269233523 + 0.200998191118 -0.077919156432 + -0.166714096792 -0.623884882149 + -0.030733925466 0.063336277854 + 0.086121800572 -0.377413322939 + -0.188204614245 -0.595246443236 + 0.400322033341 -0.098546684206 + 0.007058902775 0.086263121334 + -0.144769411440 -0.453380664903 + 0.478343269493 0.414165308430 + 0.016659534141 -0.039803808182 + 16 4 0 1 0 + 0.969414214674 0.135619418545 + 0.068541188242 -0.011742700747 + 0.035597277200 -0.002964702147 + 0.002740444707 -0.106970178301 + 0.054297519640 -0.023247186246 + 0.550077299289 0.270944809684 + -0.201093708559 0.077672318059 + 0.165947977634 0.624089101245 + -0.086615590961 -0.046335046351 + 0.521469321275 0.140838015978 + -0.338549299334 -0.021061349836 + -0.050345209047 -0.387991562559 + 0.050031194031 0.017172495277 + -0.289320618752 -0.029966186186 + -0.805249111646 0.163092467581 + 0.035834413027 -0.132192524382 + 16 59 0 0 -1 + 0.846109879995 -0.389101821511 + -0.166013353915 0.146232024140 + -0.059144680186 -0.224898287335 + 0.076774472995 -0.011482047230 + 0.303524436276 0.040420126125 + 0.730728457489 -0.357912093325 + -0.263508946177 0.333042397223 + -0.100976583830 -0.099507112377 + 0.023777709850 0.151312632752 + -0.481446495560 0.057285726005 + -0.529382514029 0.339129439274 + -0.093367473215 -0.187957645224 + -0.000000001416 0.000000001513 + -0.000000000241 -0.000000000076 + 0.246021001958 0.192063325872 + 0.651910686253 -0.670215573837 + 16 64 0 0 -1 + 0.968576274299 -0.141479848462 + 0.068610951322 0.011327960582 + 0.008725879268 -0.106648899755 + 0.035075389841 0.006758163719 + 0.054437121457 0.022918375251 + 0.548428614739 -0.274266619221 + -0.231799844176 0.602739388856 + -0.191623863517 -0.098752021749 + 0.105392587507 0.018220312810 + -0.542023439897 -0.228281487785 + -0.316661873312 0.175562744035 + 0.024131968952 0.158803303120 + 0.022922676528 0.021958726084 + -0.095576891684 -0.146058896465 + 0.192680815566 0.060067851490 + 0.283553764768 -0.826970926794 + 16 17 1 1 0 + -0.968663116247 0.140884043425 + -0.068603971701 -0.011370161113 + 0.008791478400 -0.106643513210 + 0.035071223756 0.006779737965 + -0.054423013636 -0.022951855576 + -0.548597219209 0.273929221055 + -0.232170553879 0.602596690513 + -0.191563084980 -0.098869877770 + 0.047294884990 0.015808508390 + -0.233770113412 -0.143328530592 + 0.371998171906 0.028012931648 + 0.327579874261 -0.683117017388 + -0.091006645818 0.040966906753 + 0.538337598640 -0.106635307667 + 0.010854650704 0.180404761898 + -0.204695349507 -0.417404923246 + 17 1 0 0 0 + 0.644608211353 0.736745944867 + 0.107846001937 0.079692708544 + -0.000000000163 0.000000000276 + -0.000000000202 -0.000000000098 + 0.022523073857 -0.071044578956 + -0.115655672306 0.402538463824 + 0.453452751027 0.207279270748 + 0.264671281320 -0.468918586134 + -0.061225044085 0.072497837485 + 0.332841800704 -0.416622426348 + 0.422241494298 0.054600072106 + 0.430813863760 -0.016170692331 + -0.041858391394 0.009116674382 + 0.233745040393 -0.057616068538 + -0.587726229501 0.197990119279 + 0.158165579051 -0.560054826320 + 17 18 0 0 0 + -0.969021514190 -0.138397440500 + -0.054363928674 0.023091459440 + -0.080464717423 0.073079090273 + 0.002619442642 0.025004516985 + -0.068574563673 0.011546200225 + -0.549298467701 -0.272520315554 + 0.340462197842 -0.491266602623 + -0.045034796751 -0.130707600660 + 0.036314484977 -0.001008690747 + -0.208571473423 0.067564690636 + 0.010451495174 0.294479819833 + -0.709928240606 -0.443392563465 + 0.053961909920 0.092165273318 + -0.469129888441 -0.441981568887 + -0.196696845381 0.089713213184 + -0.028434031026 0.356295210676 + 17 21 0 0 0 + 0.968987401042 0.138636079461 + 0.054369614145 -0.023078072163 + -0.033224637000 0.057141068742 + -0.088488172489 -0.015750473589 + 0.068577404898 -0.011529310403 + 0.549231323865 0.272655595067 + 0.107146259268 -0.347312181253 + 0.493580967260 -0.025332749064 + -0.055617412032 -0.025746546677 + 0.365824575357 0.054557443412 + -0.589170094921 0.364970497874 + 0.196325552253 0.347131345481 + -0.043803690913 0.083971067250 + 0.110928108008 -0.560703509788 + -0.007457289321 -0.340297435422 + -0.198145905971 0.409178494561 + 17 33 0 0 0 + 0.734930019162 -0.460230112519 + -0.298919687914 0.368726872240 + -0.000000001449 0.000000001987 + 0.000000001676 0.000000000648 + 0.261272102519 0.405476826328 + 0.691985664570 0.513393191394 + -0.000000000377 -0.000000000524 + 0.000000000486 -0.000000000031 + 0.000000000077 -0.000000001543 + 0.000000001830 -0.000000002925 + -0.082835021151 0.528140257487 + -0.637430071629 0.507398090373 + 0.000000000840 0.000000000334 + 0.000000001031 0.000000002566 + 0.113536444456 0.806770970022 + 0.303226304234 -0.440281243133 + 17 38 0 0 0 + 0.956462364427 0.130945305626 + -0.108022606303 -0.016765305376 + 0.081529008614 -0.003612989370 + -0.124787473963 -0.105379029851 + 0.166294505425 -0.026981640096 + 0.683771111020 0.418674125329 + -0.161204173640 0.158764737854 + 0.452592652213 -0.014584973020 + -0.127760875219 -0.074184817732 + -0.345301845502 0.437083933242 + 0.169844518355 0.208695707088 + 0.033602155874 -0.537468284535 + -0.000000000368 -0.000000000145 + -0.000000000936 0.000000000944 + -0.130823015576 -0.766216401772 + 0.211690837072 -0.325623639639 + 17 29 0 -1 0 + -0.956512104449 -0.130581474138 + 0.108028977103 0.016724213676 + -0.078116057976 0.074826977744 + -0.132035767125 -0.064823202193 + -0.166284231706 0.027044895193 + -0.683930327175 -0.418413993675 + 0.021996845514 -0.299096265676 + 0.392246069360 -0.111563627120 + 0.127789081684 0.074136219427 + 0.345135587118 -0.437215231021 + -0.351630718836 -0.059659426564 + -0.087994512485 -0.476923343285 + 0.000000000541 -0.000000000217 + -0.000000000852 -0.000000000878 + -0.693618722472 0.094432576602 + 0.240383152747 0.455233453228 + 17 20 -1 0 0 + 0.956452925151 0.131014229684 + -0.108021399034 -0.016773088856 + -0.159679174946 0.078398740845 + -0.007226543970 0.040505086781 + 0.166296450113 -0.026969658683 + 0.683740947200 0.418723389546 + 0.183347778281 -0.457839405905 + -0.060297196385 -0.096833781222 + -0.127755538725 -0.074194006823 + -0.345333286616 0.437059094700 + -0.521433208657 -0.268526373502 + -0.121419626896 0.060502776482 + 0.000000000215 0.000000000307 + 0.000000001605 0.000000000996 + -0.038741421014 0.191941200888 + -0.570012846307 -0.625930534475 + 17 16 -1 -1 0 + -0.968663116247 -0.140884043425 + -0.054423013636 0.022951855576 + 0.047294884990 -0.015808508390 + -0.091006645818 -0.040966906753 + -0.068603971701 0.011370161113 + -0.548597219209 -0.273929221055 + -0.233770113412 0.143328530592 + 0.538337598640 0.106635307667 + 0.008791478400 0.106643513210 + -0.232170553879 -0.602596690513 + 0.371998171906 -0.028012931648 + 0.010854650704 -0.180404761898 + 0.035071223756 -0.006779737965 + -0.191563084980 0.098869877770 + 0.327579874261 0.683117017388 + -0.204695349507 0.417404923246 + 18 2 0 0 0 + 0.968978603625 -0.138697554172 + 0.068578135650 0.011524961852 + 0.036314796923 0.000997443176 + 0.053933363038 -0.092181981456 + 0.054371078863 0.023074620473 + 0.549214030523 -0.272690440316 + -0.208592386595 -0.067500088973 + -0.468992967208 0.442126853584 + 0.028533531418 -0.047856503260 + -0.212195904882 0.221001741085 + 0.218473522677 -0.704336034651 + 0.132185684898 0.336831700298 + -0.059315372882 -0.076318355667 + 0.223143778870 0.482398146708 + 0.317151345266 0.378176906336 + 0.061501390409 0.199453778236 + 18 17 0 0 0 + -0.969021514190 0.138397440500 + -0.068574563673 -0.011546200225 + 0.036314484977 0.001008690747 + 0.053961909920 -0.092165273318 + -0.054363928674 -0.023091459440 + -0.549298467701 0.272520315554 + -0.208571473423 -0.067564690636 + -0.469129888441 0.441981568887 + -0.080464717423 -0.073079090273 + 0.340462197842 0.491266602623 + 0.010451495174 -0.294479819833 + -0.196696845381 -0.089713213184 + 0.002619442642 -0.025004516985 + -0.045034796751 0.130707600660 + -0.709928240606 0.443392563465 + -0.028434031026 -0.356295210676 + 18 19 0 0 0 + -0.846929972365 0.387313542811 + 0.166321895505 -0.145880994687 + -0.075135642124 0.024241930558 + -0.043792068056 0.227931371285 + -0.303438367901 -0.041061235249 + -0.731482912994 0.356367633670 + 0.117810201638 0.083118332897 + 0.380845345411 -0.186067357198 + -0.023457903900 -0.151362540576 + 0.481566473543 -0.056268211719 + 0.124829868433 0.173133343563 + 0.622766029833 -0.076844023486 + 0.000000002164 -0.000000000966 + 0.000000001430 -0.000000000096 + 0.607272940903 0.708556114405 + -0.310670943318 0.065134305599 + 18 22 0 0 0 + -0.969013996844 -0.138450062660 + -0.068575191709 0.011542474479 + 0.104403942251 0.022497604987 + -0.023794375403 0.027451539989 + -0.054365184065 0.023088506121 + -0.549283645405 -0.272550189692 + -0.642810040274 0.047178532703 + 0.091126530538 -0.199406620318 + -0.006636432807 0.040125009680 + -0.014195913695 -0.223187664016 + -0.222727101422 0.004049914465 + -0.650020599003 0.541022981142 + 0.001300742327 0.103881958381 + -0.135766236217 -0.554908338737 + 0.253161256689 0.246532952760 + 0.107368394258 -0.246296688183 + 18 34 0 0 0 + 0.846543504108 -0.388157509468 + -0.166176410356 0.146046700654 + -0.075111443728 0.024316807399 + -0.043564863281 0.227974903105 + 0.303479145542 0.040758771612 + 0.731127352383 -0.357096539394 + 0.117892987911 0.083000868615 + 0.380659698057 -0.186446862028 + 0.023608825209 0.151339074960 + -0.481510126598 0.056748387636 + 0.125002449518 0.173008780351 + 0.622689094235 -0.077464988158 + -0.000000000223 0.000000000367 + -0.000000000432 -0.000000000432 + 0.559245174565 0.747045542187 + -0.314288794429 0.044513676637 + 18 39 0 0 0 + -0.847354735689 -0.386383371844 + 0.166481968414 0.145698290267 + 0.197754985110 0.121504822145 + -0.068595116729 0.039086387992 + -0.303393100572 0.041394388492 + -0.731873758381 -0.355564265938 + -0.394324306103 0.155475335869 + 0.018168010775 -0.143030850771 + -0.023291735828 0.151388201032 + 0.481627948578 0.055739572639 + -0.476985137718 0.407710329668 + -0.043521088544 -0.208958285965 + 0.000000000039 -0.000000000790 + -0.000000002192 -0.000000000610 + 0.317424275980 0.000859351455 + 0.451171300370 -0.816870027527 + 18 13 0 -1 0 + 0.969231776070 0.136917163875 + 0.068556846590 -0.011650928381 + 0.104439396087 0.022332437135 + -0.023750927172 0.027489141573 + 0.054328595522 -0.023174471953 + 0.549714073854 0.271680998379 + -0.642734607599 0.048195262056 + 0.090811000158 -0.199550514297 + -0.033157658590 0.025431346279 + 0.146102686826 -0.177352399148 + 0.280556710388 -0.238966047480 + 0.012798460084 -0.789399890029 + 0.007024122195 -0.103207026239 + 0.090331083693 0.561614118960 + 0.149001180947 0.128353771894 + -0.342487180285 -0.216354383047 + 18 30 0 -1 0 + -0.847817005302 -0.385367983989 + 0.166656393351 0.145498744612 + -0.197900400630 -0.121267826300 + 0.068548244003 -0.039168536069 + -0.303343296025 0.041757798699 + -0.732299167775 -0.354687287466 + 0.394137777381 -0.155947592090 + -0.017996660376 0.143052511073 + -0.023110360028 0.151415994677 + 0.481694377799 0.055162551783 + 0.476496366023 -0.408281454896 + 0.043771384077 0.208906000547 + -0.000000001315 -0.000000001009 + -0.000000001026 -0.000000000626 + -0.278525820093 -0.152257285308 + -0.786346461282 0.502485272246 + 19 3 0 0 0 + -0.907933815702 0.266906828219 + -0.009171279893 -0.187441968990 + 0.076144272709 -0.205587676025 + -0.000000000226 -0.000000001413 + -0.026119314598 -0.223292990432 + -0.747450650523 -0.444814837442 + -0.405502315879 0.080448389449 + -0.000000002197 0.000000000886 + 0.162090467881 -0.064985921147 + -0.375174290745 -0.002548757164 + 0.494494931119 -0.438981909757 + -0.002067474354 -0.055698785460 + -0.009824209070 0.004603709420 + 0.023279705719 -0.001167868670 + -0.029120255012 0.028976129357 + -0.084225725364 -0.893186314745 + 19 18 0 0 0 + -0.846929972365 -0.387313542811 + -0.303438367901 0.041061235249 + -0.023457903900 0.151362540576 + 0.000000002164 0.000000000966 + 0.166321895505 0.145880994687 + -0.731482912994 -0.356367633670 + 0.481566473543 0.056268211719 + 0.000000001430 0.000000000096 + -0.075135642124 -0.024241930558 + 0.117810201638 -0.083118332897 + 0.124829868433 -0.173133343563 + 0.607272940903 -0.708556114405 + -0.043792068056 -0.227931371285 + 0.380845345411 0.186067357198 + 0.622766029833 0.076844023486 + -0.310670943318 -0.065134305599 + 19 20 0 0 0 + 0.423991394667 -0.684825161761 + 0.098270070831 0.516148826130 + 0.193324158195 0.158142653430 + 0.000000000643 -0.000000000427 + 0.054660296025 0.460399009827 + 0.692485355595 0.332217765899 + -0.068037056774 0.419265423672 + 0.000000000438 -0.000000000772 + 0.332481722226 -0.104365111231 + 0.337036382797 -0.069170095307 + -0.650746923994 -0.532068107412 + 0.000000001525 0.000000004034 + -0.000000001449 -0.000000000156 + -0.000000001245 -0.000000001022 + 0.000000000266 0.000000000728 + -0.178070273250 -0.959358143055 + 19 23 0 0 0 + -0.867047106453 -0.403283555591 + -0.187224729656 0.021116252881 + 0.040767889916 0.048044358068 + -0.110713290823 0.116387458542 + 0.009395401905 0.152683280077 + -0.761276499734 -0.328469626051 + -0.037041612352 0.036681345347 + -0.015826815789 -0.450258511748 + -0.068722817755 0.103118571724 + 0.167188381048 -0.321751260223 + -0.080782424241 -0.619697513776 + -0.562367985911 -0.047039037061 + 0.056934717649 -0.139826905518 + -0.196788344711 0.269331792539 + -0.034580234536 -0.623474368836 + 0.317022775066 0.072710028144 + 19 35 0 0 0 + -0.833041333723 0.301833319425 + 0.259417373230 0.045088915299 + -0.182884165947 0.295963888864 + -0.000000000202 -0.000000000401 + -0.128976444271 0.343697028380 + -0.342843860970 0.710518685141 + 0.090040185159 -0.453383448903 + 0.000000001928 0.000000001532 + 0.156347338450 -0.122327739057 + -0.002951499123 0.373065471674 + 0.171950157468 0.510778854608 + -0.235063975219 0.514246334662 + -0.090812432221 0.105929189879 + -0.049586297642 -0.257487026025 + -0.189165710340 -0.328184309024 + -0.183859899204 0.783178384386 + 19 40 0 0 0 + 0.852416154010 0.216713742308 + -0.308431441866 -0.095856516023 + 0.168378578368 0.041198054947 + 0.115498833280 -0.238092700986 + -0.327142411012 -0.092318513984 + -0.555617708142 -0.588602321910 + 0.261772970023 -0.131164117787 + -0.201024091664 -0.259996175252 + 0.106089089013 0.201621369541 + 0.289810493036 -0.114538556474 + -0.467860849669 -0.495989243120 + -0.338786290572 -0.344820696310 + 0.139759692193 -0.149654024824 + -0.035349517663 -0.342965753285 + -0.158189587267 -0.591377969259 + 0.275336414049 0.459721921678 + 19 14 0 -1 0 + 0.866769248004 0.403880405073 + 0.187239223204 -0.020987345179 + -0.040734803227 -0.048072414683 + -0.110793393698 0.116311206873 + -0.009290278602 -0.152689712854 + 0.761050171503 0.328993679596 + 0.037066857383 -0.036655833740 + -0.015516810804 -0.450269300379 + 0.068793803382 -0.103071229316 + -0.167409881417 0.321636069553 + 0.080355716134 0.619752989228 + -0.562335463028 -0.047426238760 + -0.072087736145 0.132651740894 + 0.225438574093 -0.245851009395 + -0.034764218070 0.623464137227 + 0.307005794022 0.107413358771 + 19 31 0 -1 0 + -0.547251621823 -0.688544706169 + 0.187453306420 0.263020314295 + -0.109073610104 -0.134727774162 + 0.236070370679 -0.119577977236 + -0.149053894180 0.305495992483 + -0.678071205142 0.442021692135 + -0.082493843910 -0.280933941011 + 0.291615693340 -0.151555214659 + 0.093413738117 0.207797845432 + 0.296340748169 -0.096391698139 + -0.436283246628 -0.523980948478 + 0.316807075207 0.365117434851 + -0.109942428063 -0.172747681383 + -0.340906718180 -0.051552967570 + -0.612147251922 0.005252690610 + -0.513975086178 0.151604728702 + 20 4 0 0 0 + -0.956528759994 -0.130459410969 + -0.166280778773 0.027066113455 + 0.127798544285 0.074119906355 + 0.000000000377 -0.000000000013 + 0.108031110133 0.016710429398 + -0.683983702536 -0.418326732544 + 0.345079777692 -0.437259281737 + -0.000000000308 -0.000000000002 + 0.035927784545 -0.015601611224 + -0.045036061078 0.098816300908 + 0.111927754245 0.064425167567 + -0.802546635044 0.276072975752 + -0.096168116806 -0.150180438437 + 0.476805334717 0.130803754059 + 0.208450736541 -0.549792857373 + -0.087926482499 -0.164370148328 + 20 19 0 0 0 + 0.423991394667 0.684825161761 + 0.054660296025 -0.460399009827 + 0.332481722226 0.104365111231 + -0.000000001449 0.000000000156 + 0.098270070831 -0.516148826130 + 0.692485355595 -0.332217765899 + 0.337036382797 0.069170095307 + -0.000000001245 0.000000001022 + 0.193324158195 -0.158142653430 + -0.068037056774 -0.419265423672 + -0.650746923994 0.532068107412 + 0.000000000266 -0.000000000728 + 0.000000000643 0.000000000427 + 0.000000000438 0.000000000772 + 0.000000001525 -0.000000004034 + -0.178070273250 0.959358143055 + 20 24 0 0 0 + 0.867173936260 0.403010761301 + -0.009443433517 -0.152680317974 + 0.068690380594 -0.103140182477 + 0.142265688011 -0.050533161223 + 0.187218075995 -0.021175154601 + 0.761379794732 0.328230118825 + -0.167087171743 0.321803833823 + -0.331997155162 0.032297947435 + -0.040782979495 -0.048031549321 + 0.037030088466 -0.036692977909 + 0.080977034201 0.619672114861 + 0.442426592769 -0.440652689304 + 0.127129396073 0.098191594585 + -0.446260442460 0.061926026363 + 0.010890692879 0.564226739627 + -0.267528642482 0.184982732202 + 20 36 0 0 0 + 0.423254072859 -0.685281106487 + 0.055155783077 0.460339913111 + 0.332369216583 -0.104722856837 + 0.000000000234 -0.000000000231 + 0.098825570928 0.516042753281 + 0.692842530914 0.331472227122 + 0.336961746649 -0.069532781990 + -0.000000000281 0.000000001246 + 0.193494167308 0.157934594838 + -0.067586000318 0.419338370976 + -0.651318847222 -0.531367847382 + -0.000000000053 -0.000000000075 + -0.000000000538 0.000000000688 + 0.000000000695 0.000000000446 + -0.000000000987 -0.000000001164 + 0.952134647209 0.213346398850 + 20 17 1 0 0 + 0.956452925151 -0.131014229684 + 0.166296450113 0.026969658683 + -0.127755538725 0.074194006823 + 0.000000000215 -0.000000000307 + -0.108021399034 0.016773088856 + 0.683740947200 -0.418723389546 + -0.345333286616 -0.437059094700 + 0.000000001605 -0.000000000996 + -0.159679174946 -0.078398740845 + 0.183347778281 0.457839405905 + -0.521433208657 0.268526373502 + -0.038741421014 -0.191941200888 + -0.007226543970 -0.040505086781 + -0.060297196385 0.096833781222 + -0.121419626896 -0.060502776482 + -0.570012846307 0.625930534475 + 20 37 1 0 0 + 0.866397640246 -0.404676955994 + -0.009149925425 0.152698188035 + 0.068888503573 0.103007959935 + 0.064320376532 -0.136587023866 + 0.187258435269 0.020815228044 + 0.760747441265 -0.329693092417 + -0.167705420559 -0.321482068928 + -0.064889991543 0.327191927250 + -0.040690587145 0.048109845177 + 0.037100543519 0.036621738444 + 0.079785954671 -0.619826597526 + 0.482146426795 -0.396800837892 + -0.148332861994 -0.061650911927 + 0.167673146514 0.418173326702 + -0.495268102880 0.270517890359 + 0.319615852084 0.060298376099 + 20 15 0 -1 0 + -0.866697627154 -0.404034073915 + 0.009263206261 0.152691358708 + -0.068812077449 0.103059030211 + 0.142325236443 -0.050365197611 + -0.187242943633 0.020954136707 + -0.760991803925 -0.329128667154 + 0.167466930300 -0.321606369427 + -0.332035049838 0.031906017017 + 0.040726270493 0.048079642368 + -0.037073362794 0.036649254640 + -0.080245722803 -0.619767241565 + 0.442946284157 -0.440130289482 + 0.020722116666 -0.159292395741 + 0.278430143661 0.354203147538 + 0.481811614656 -0.293816254538 + -0.294616038907 -0.137809933899 + 20 32 0 -1 0 + 0.867054367488 -0.403267942185 + -0.009398150448 0.152683111714 + 0.068720954457 0.103119813964 + -0.064542337626 0.136482280227 + 0.187224350562 0.021119606058 + 0.761282381330 -0.328455994659 + -0.167182601185 -0.321754266730 + 0.065421787976 -0.327086009914 + -0.040768739386 0.048043637051 + 0.037040963619 0.036681999950 + 0.080793418281 -0.619696082155 + -0.482790816058 0.396016551967 + 0.101606830776 0.124416738187 + 0.049787705727 -0.447777176165 + 0.564314436823 -0.004431407486 + 0.253207074994 0.204147895520 + 21 5 0 0 0 + 0.969013663032 -0.138452399392 + 0.068575218038 0.011542309630 + 0.055622291962 -0.025736003342 + 0.043787772729 0.083979368218 + 0.054365239343 0.023088375119 + 0.549282986434 -0.272551506954 + -0.365834908878 0.054488114934 + -0.110821848807 -0.560724519996 + 0.028558633394 0.031639524905 + -0.113767386246 -0.204909035427 + 0.549282262441 0.380200669463 + 0.354875642262 -0.427263718172 + 0.006503247159 0.102899295668 + 0.092740008000 -0.559319722172 + -0.031936364324 -0.438275343979 + 0.047353514372 0.108689615765 + 21 17 0 0 0 + 0.968987401042 -0.138636079461 + 0.068577404898 0.011529310403 + -0.055617412032 0.025746546677 + -0.043803690913 -0.083971067250 + 0.054369614145 0.023078072163 + 0.549231323865 -0.272655595067 + 0.365824575357 -0.054557443412 + 0.110928108008 0.560703509788 + -0.033224637000 -0.057141068742 + 0.107146259268 0.347312181253 + -0.589170094921 -0.364970497874 + -0.007457289321 0.340297435422 + -0.088488172489 0.015750473589 + 0.493580967260 0.025332749064 + 0.196325552253 -0.347131345481 + -0.198145905971 -0.409178494561 + 21 22 0 0 0 + 0.969048063625 0.138211416506 + 0.068572346224 -0.011559362465 + -0.090490495828 -0.027953063065 + -0.015301521758 0.059346815466 + 0.054359495912 -0.023101894938 + 0.549350751464 0.272414893046 + 0.571514210022 0.008060988111 + -0.012265303588 -0.369667007887 + -0.092223051936 0.033844353166 + 0.452099583394 -0.295655045978 + 0.047203470220 0.294508281634 + -0.072189978519 0.416981677586 + 0.033981692679 0.040520676422 + -0.232287719937 -0.174947036611 + 0.014699552991 0.483081176548 + -0.650451917594 -0.192862519440 + 21 25 0 0 0 + -0.846788392665 0.387622980042 + 0.166268578328 -0.145941761462 + -0.095291111182 0.093056511090 + -0.150600503469 -0.140296359341 + -0.303453356284 -0.040950336115 + -0.731352618176 0.356634958424 + 0.240396847436 0.037067813066 + -0.039663736066 0.373783708489 + -0.023513266982 -0.151353952195 + 0.481545861113 -0.056444363415 + 0.318613799197 0.167771763684 + -0.235707020243 0.504063751206 + 0.000000002584 -0.000000000588 + -0.000000000461 0.000000000890 + -0.797853811990 0.219657437493 + 0.166381041622 0.509007235898 + 21 37 0 0 0 + 0.846539970924 -0.388165215191 + -0.166175076985 0.146048216112 + -0.095231495797 0.093117520862 + -0.150690323970 -0.140199881394 + 0.303479517675 0.040756001914 + 0.731124087255 -0.357103229252 + 0.240420535834 0.036913860326 + -0.039424364328 0.373809032927 + 0.023610170674 0.151338865751 + -0.481509622447 0.056752675427 + 0.318721154108 0.167567727413 + -0.235384230388 0.504214568099 + -0.000000003155 -0.000000001685 + -0.000000000582 -0.000000001760 + -0.712344049646 -0.421172236566 + -0.250458959954 0.473330039304 + 21 42 0 0 0 + -0.847450649321 -0.386172958465 + 0.166518145245 0.145656944758 + 0.165296911624 0.122639761630 + 0.074218525776 -0.110596207268 + -0.303382809595 0.041469747002 + -0.731962061430 -0.355382451611 + -0.360379360636 0.106837208160 + 0.080078129961 0.229678385402 + -0.023254194747 0.151393973034 + 0.481641758849 0.055620126893 + -0.452919547528 0.323267612210 + 0.222806074856 0.282877307762 + -0.000000000656 -0.000000001831 + -0.000000001224 -0.000000001698 + -0.149433132479 0.514238033538 + -0.804690511543 -0.193114658169 + 21 4 -1 0 0 + -0.969096927847 -0.137868380812 + -0.068568249624 0.011583635361 + -0.090500384393 -0.027921028976 + -0.015280512907 0.059352230219 + -0.054351314186 0.023121137013 + -0.549447156081 -0.272220399671 + 0.571517028062 0.007858667287 + -0.012396169322 -0.369662639011 + -0.068057501634 -0.061781498141 + 0.441200352905 0.246597635329 + -0.067102042620 -0.034888956588 + 0.152064870493 -0.560239074418 + -0.031908489732 -0.054591971057 + 0.238627331069 0.252900854057 + 0.459472177684 0.325134107131 + -0.306921351889 0.456263626134 + 21 24 -1 0 0 + 0.847366556073 0.386357447352 + -0.166486431009 -0.145693192517 + 0.165270206145 0.122675743488 + 0.074242600277 -0.110580044855 + 0.303391834605 -0.041403673679 + 0.731884644778 0.355541855236 + -0.360402619326 0.106758719915 + 0.080028106376 0.229695817792 + 0.023287132914 -0.151388909802 + -0.481629646588 -0.055724917637 + -0.452989872237 0.323169060435 + 0.222744522658 0.282925775899 + 0.000000001142 0.000000002203 + 0.000000000789 -0.000000000197 + -0.496531316482 -0.200568363924 + 0.273340050758 -0.781092378352 + 22 1 0 0 0 + 0.818309576039 0.537293003282 + 0.093751710983 0.095876506050 + -0.000000000176 0.000000000241 + -0.000000000118 0.000000000112 + 0.023764066257 0.056411191070 + -0.124865463346 -0.320525213283 + -0.028517256060 0.770641749700 + 0.159849122068 -0.089841918512 + -0.012132309299 0.070035736873 + 0.078866683874 -0.391570033334 + 0.103851626276 -0.063223566913 + -0.722072452553 0.165255055836 + -0.017773629464 0.085318520680 + 0.112894624285 -0.476558168047 + 0.237541515001 -0.385441402129 + 0.464892330106 -0.126606950035 + 22 6 0 0 0 + -0.969096980736 0.137868011327 + -0.054351306284 -0.023121154881 + -0.085598719425 0.006251958023 + 0.032632910423 0.063372526825 + -0.068568244498 -0.011583664905 + -0.549447263943 0.272220191996 + 0.466324756523 0.072636148936 + -0.096250167729 -0.379961979898 + 0.021919749641 0.016518616439 + -0.098853820603 -0.132911158856 + 0.007223747273 -0.632806152191 + 0.610256855411 -0.221208040473 + -0.057301879735 -0.093216087535 + 0.173378224438 0.637181405329 + 0.025251620064 0.093995009826 + 0.358194617704 -0.047929405467 + 22 18 0 0 0 + -0.969013996844 0.138450062660 + -0.054365184065 -0.023088506121 + -0.006636432807 -0.040125009680 + 0.001300742327 -0.103881958381 + -0.068575191709 -0.011542474479 + -0.549283645405 0.272550189692 + -0.014195913695 0.223187664016 + -0.135766236217 0.554908338737 + 0.104403942251 -0.022497604987 + -0.642810040274 -0.047178532703 + -0.222727101422 -0.004049914465 + 0.253161256689 -0.246532952760 + -0.023794375403 -0.027451539989 + 0.091126530538 0.199406620318 + -0.650020599003 -0.541022981142 + 0.107368394258 0.246296688183 + 22 21 0 0 0 + 0.969048063625 -0.138211416506 + 0.054359495912 0.023101894938 + -0.092223051936 -0.033844353166 + 0.033981692679 -0.040520676422 + 0.068572346224 0.011559362465 + 0.549350751464 -0.272414893046 + 0.452099583394 0.295655045978 + -0.232287719937 0.174947036611 + -0.090490495828 0.027953063065 + 0.571514210022 -0.008060988111 + 0.047203470220 -0.294508281634 + 0.014699552991 -0.483081176548 + -0.015301521758 -0.059346815466 + -0.012265303588 0.369667007887 + -0.072189978519 -0.416981677586 + -0.650451917594 0.192862519440 + 22 23 0 0 0 + -0.956371244900 0.131609152287 + 0.108010943642 -0.016840283447 + -0.160374949674 -0.011241226948 + 0.034982212878 -0.079160858180 + -0.166313193742 -0.026866208655 + -0.683480329459 0.419148660654 + 0.309429941778 0.320818962359 + -0.218974632592 0.098103386939 + 0.127709358827 -0.074273471034 + 0.345605137149 0.436844160294 + -0.345042238073 0.402395854053 + -0.140757368752 -0.248219881644 + 0.000000000239 0.000000000947 + 0.000000000424 -0.000000000523 + 0.134242072162 0.389390922771 + 0.765037730388 0.010818680542 + 22 26 0 0 0 + 0.956343338831 -0.131811779189 + -0.108007373458 0.016863168021 + -0.028687737748 -0.060058210350 + -0.045216886247 -0.163896750291 + 0.166318882708 0.026830972215 + 0.683391509129 -0.419293456808 + -0.052389580318 0.176937244499 + -0.211079396100 0.421473476253 + -0.127693625768 0.074300513223 + -0.345697640977 -0.436770960183 + -0.215366136324 -0.042137604892 + -0.522711067983 -0.202527306595 + 0.000000000577 0.000000000510 + 0.000000000482 -0.000000000886 + -0.271573207046 0.762206688710 + 0.157034339308 -0.275091195696 + 22 38 0 0 0 + 0.956473091660 -0.130866924684 + -0.108023979572 0.016756458141 + -0.131737788346 0.048720839975 + 0.080098585283 0.084807654289 + 0.166292295031 0.026995269955 + 0.683805407038 -0.418618113574 + 0.361745227884 0.144173600697 + -0.007555023377 -0.323331319185 + -0.127766963515 0.074174329729 + -0.345265991991 -0.437112256259 + -0.130030035405 0.444478282286 + 0.381946058444 -0.045285460418 + -0.000000000920 -0.000000000264 + -0.000000000061 -0.000000000203 + 0.547097732838 0.094317539028 + 0.153629258773 0.650563082107 + 22 43 0 0 0 + -0.734755206531 -0.460509148648 + 0.298779669541 0.368840338017 + 0.000000002504 -0.000000001408 + 0.000000001057 0.000000000433 + -0.261426321448 0.405377412987 + -0.692180877968 0.513129964840 + 0.000000001858 -0.000000001718 + 0.000000000204 -0.000000000240 + -0.000000000317 0.000000000243 + 0.000000000364 -0.000000001868 + 0.832068454534 0.435816334019 + 0.178934937629 -0.187808875125 + 0.000000001074 -0.000000000013 + 0.000000001329 0.000000001159 + -0.083813042579 -0.245489839967 + 0.938107123392 -0.047210421759 + 23 2 0 0 0 + 0.956523323866 -0.130499263814 + 0.166281904960 0.027059187770 + -0.127795461265 0.074125222368 + -0.000000000143 0.000000000236 + -0.108030413079 0.016714930903 + 0.683966275711 -0.418355221041 + -0.345097963827 -0.437244927758 + -0.000000000283 -0.000000000303 + -0.033142569869 0.085386872770 + 0.226741799798 -0.114340461707 + 0.160853599693 0.255590528922 + -0.528529177397 -0.534501366435 + -0.124035474165 -0.097788239259 + 0.073950763188 0.431615057407 + -0.502681672045 0.136062685964 + -0.386158308994 0.202220071488 + 23 7 0 0 0 + 0.867500613711 -0.402307091248 + -0.009567301399 0.152672606028 + 0.068606673476 0.103195881457 + 0.056777249942 0.139890919770 + 0.187200834361 0.021327036871 + 0.761645840666 -0.327612295132 + -0.166826017639 -0.321939295703 + -0.196484981979 -0.269553187440 + -0.040821944018 0.047998438561 + 0.037000298886 0.036723016208 + 0.081479908847 -0.619606193952 + -0.035281998376 0.623435050210 + 0.029342633310 -0.157931891558 + -0.373981760180 0.251238648388 + -0.367906254279 -0.427919861827 + -0.244814377591 -0.214140393284 + 23 19 0 0 0 + -0.867047106453 0.403283555591 + 0.009395401905 -0.152683280077 + -0.068722817755 -0.103118571724 + 0.056934717649 0.139826905518 + -0.187224729656 -0.021116252881 + -0.761276499734 0.328469626051 + 0.167188381048 0.321751260223 + -0.196788344711 -0.269331792539 + 0.040767889916 -0.048044358068 + -0.037041612352 -0.036681345347 + -0.080782424241 0.619697513776 + -0.034580234536 0.623474368836 + -0.110713290823 -0.116387458542 + -0.015826815789 0.450258511748 + -0.562367985911 0.047039037061 + 0.317022775066 -0.072710028144 + 23 22 0 0 0 + -0.956371244900 -0.131609152287 + -0.166313193742 0.026866208655 + 0.127709358827 0.074273471034 + 0.000000000239 -0.000000000947 + 0.108010943642 0.016840283447 + -0.683480329459 -0.419148660654 + 0.345605137149 -0.436844160294 + 0.000000000424 0.000000000523 + -0.160374949674 0.011241226948 + 0.309429941778 -0.320818962359 + -0.345042238073 -0.402395854053 + 0.134242072162 -0.389390922771 + 0.034982212878 0.079160858180 + -0.218974632592 -0.098103386939 + -0.140757368752 0.248219881644 + 0.765037730388 -0.010818680542 + 23 24 0 0 0 + -0.423775927196 0.684958516417 + -0.054805128296 -0.460381791559 + -0.332448881163 0.104469682724 + 0.000000000098 -0.000000000284 + -0.098432452121 -0.516117882505 + -0.692589833831 -0.331999897816 + -0.337014609121 0.069276103755 + -0.000000000717 0.000000000448 + -0.193373823514 -0.158081919301 + 0.067905361134 -0.419286773929 + 0.650913985429 0.531863716040 + -0.000000000495 0.000000000744 + -0.000000001394 -0.000000001324 + -0.000000001812 0.000000000288 + 0.000000001359 -0.000000004362 + 0.828331554087 0.515697497321 + 23 27 0 0 0 + -0.866329404441 -0.404823014440 + 0.009124179473 0.152699727869 + -0.068905875219 0.102996339558 + 0.059235244072 -0.138867965914 + -0.187261940306 0.020783663918 + -0.760691851881 -0.329821330651 + 0.167759631041 -0.321453784361 + -0.201207698510 0.266046479717 + 0.040682477740 0.048116702935 + -0.037106716041 0.036615484029 + -0.079681432316 -0.619840044610 + -0.024282990878 -0.623960269600 + 0.079932621738 0.139335022894 + -0.436035098701 -0.113386976663 + -0.205644803108 0.525528911784 + 0.164350596502 -0.280676102968 + 23 39 0 0 0 + -0.866918887531 -0.403559107502 + 0.009346870241 0.152686258765 + -0.068755590551 0.103096724180 + -0.059032653663 0.138954205129 + -0.187231430678 0.021056746199 + -0.761172059877 -0.328711575063 + 0.167290637363 -0.321698106244 + 0.200819477362 -0.266339641242 + 0.040752603365 0.048057324305 + -0.037053280003 0.036669559022 + -0.080585273156 -0.619723182495 + 0.025192898806 0.623924194604 + 0.157923287179 -0.029388914054 + -0.251129047656 0.374055364730 + 0.428027657651 0.367780841861 + 0.210583172340 0.247880858229 + 23 44 0 0 0 + 0.423067571637 0.685396260779 + 0.055281060522 -0.460324885969 + 0.332340698143 0.104813324784 + -0.000000000357 -0.000000000584 + 0.098965947861 -0.516015850710 + 0.692932681271 -0.331283729589 + 0.336942813474 0.069624468383 + -0.000000000153 0.000000000064 + 0.193537154419 -0.157881914201 + -0.067471835368 -0.419356755499 + -0.651463514096 0.531190473067 + -0.000000000480 0.000000000138 + -0.000000001298 -0.000000000274 + -0.000000000454 -0.000000000732 + -0.000000001460 0.000000000103 + -0.841838731484 -0.493340267920 + 24 3 0 0 0 + -0.908004425424 -0.266666518115 + -0.009121670297 0.187444391392 + 0.076198781579 0.205567479707 + 0.000000001258 0.000000000663 + -0.026060135588 0.223299902506 + -0.747332740823 0.445012907165 + -0.405523660113 -0.080340723804 + -0.000000002558 0.000000000540 + 0.094414149939 0.016657819503 + -0.201298876800 0.043633932777 + 0.315151178742 0.180164209739 + 0.713262308346 0.238019047705 + 0.125612014707 0.075128585102 + -0.310877938191 -0.047278971054 + 0.351519316364 0.428453869110 + -0.380966423996 -0.312171101526 + 24 8 0 0 0 + -0.866992158757 0.403401667496 + -0.187227604268 -0.021090747941 + 0.040761320811 -0.048049930336 + 0.127085115873 -0.098248899178 + 0.009374597035 -0.152684559978 + -0.761231735973 0.328573352343 + -0.037046627559 -0.036676278737 + -0.446288316453 -0.061724822589 + -0.068736852400 -0.103109217455 + 0.167232169830 0.321728505978 + -0.080697780184 0.619708542025 + 0.010636432609 -0.564231588179 + 0.144169251832 0.044814652324 + -0.333021713838 -0.019021229484 + 0.459661791102 0.422643016189 + 0.274698670247 0.174157476162 + 24 20 0 0 0 + 0.867173936260 -0.403010761301 + 0.187218075995 0.021175154601 + -0.040782979495 0.048031549321 + 0.127129396073 -0.098191594585 + -0.009443433517 0.152680317974 + 0.761379794732 -0.328230118825 + 0.037030088466 0.036692977909 + -0.446260442460 -0.061926026363 + 0.068690380594 0.103140182477 + -0.167087171743 -0.321803833823 + 0.080977034201 -0.619672114861 + 0.010890692879 -0.564226739627 + 0.142265688011 0.050533161223 + -0.331997155162 -0.032297947435 + 0.442426592769 0.440652689304 + -0.267528642482 -0.184982732202 + 24 23 0 0 0 + -0.423775927196 -0.684958516417 + -0.098432452121 0.516117882505 + -0.193373823514 0.158081919301 + -0.000000001394 0.000000001324 + -0.054805128296 0.460381791559 + -0.692589833831 0.331999897816 + 0.067905361134 0.419286773929 + -0.000000001812 -0.000000000288 + -0.332448881163 -0.104469682724 + -0.337014609121 -0.069276103755 + 0.650913985429 -0.531863716040 + 0.000000001359 0.000000004362 + 0.000000000098 0.000000000284 + -0.000000000717 -0.000000000448 + -0.000000000495 -0.000000000744 + 0.828331554087 -0.515697497321 + 24 28 0 0 0 + 0.841158529202 0.256963954934 + -0.313407235988 -0.078066204770 + 0.165319808218 0.052134312244 + -0.259550037456 -0.051593527359 + 0.050223881466 0.336188082630 + 0.513644985157 0.625565797674 + 0.163202525479 -0.243092671870 + -0.254834520994 0.207528460878 + -0.209231854655 -0.090155989292 + 0.091750312040 -0.297810475620 + 0.530733104689 0.428043779902 + -0.347270861128 0.336274315804 + -0.194103010771 0.065215955274 + -0.297516646471 -0.174238174411 + -0.472732630386 -0.388941780544 + -0.469844106365 0.257683720639 + 24 40 0 0 0 + 0.553473001360 0.683553794462 + -0.216106775265 -0.240033925569 + 0.107866149071 0.135696426299 + 0.186274681350 0.187962371426 + -0.330322851568 -0.080197747897 + -0.773031782645 0.239969992196 + 0.163648251528 0.242792839905 + 0.096168812811 0.314261445324 + -0.150647162944 0.170913731881 + -0.254622436894 -0.179656938418 + 0.571637876015 -0.371657426556 + -0.211874653871 -0.434495792725 + -0.204687389599 -0.005672032128 + -0.219243899527 -0.266096238203 + -0.309733829238 -0.528031064829 + 0.529865968634 -0.079977750846 + 24 21 1 0 0 + 0.847366556073 -0.386357447352 + 0.303391834605 0.041403673679 + 0.023287132914 0.151388909802 + 0.000000001142 -0.000000002203 + -0.166486431009 0.145693192517 + 0.731884644778 -0.355541855236 + -0.481629646588 0.055724917637 + 0.000000000789 0.000000000197 + 0.165270206145 -0.122675743488 + -0.360402619326 -0.106758719915 + -0.452989872237 -0.323169060435 + -0.496531316482 0.200568363924 + 0.074242600277 0.110580044855 + 0.080028106376 -0.229695817792 + 0.222744522658 -0.282925775899 + 0.273340050758 0.781092378352 + 24 41 1 0 0 + -0.859499048671 0.215226853808 + 0.189932467739 -0.182362392888 + -0.317056724564 -0.143235038510 + 0.000000001322 0.000000000026 + -0.246459658775 -0.272066550135 + -0.580361074911 -0.534377901010 + 0.250643392374 0.388383415000 + -0.000000001391 -0.000000000659 + -0.004111437767 0.154166005790 + 0.231574755512 -0.174286316675 + 0.398407243496 -0.128735115780 + -0.754135445359 -0.087016353160 + -0.131910581449 0.133011256888 + 0.349949441652 0.038441187492 + 0.459690648732 0.217563679043 + 0.403254629654 0.477462882798 + 25 9 0 0 0 + 0.908091401550 -0.266370185040 + 0.009060483763 0.187447357668 + -0.076265842703 0.205542609418 + 0.000000000039 0.000000000503 + 0.025987270714 0.223308395785 + 0.747187455508 0.445256802193 + 0.405549847885 -0.080208437323 + 0.000000001802 0.000000001906 + -0.090177230402 -0.075511846808 + 0.117937606852 0.223481550759 + -0.417980914115 -0.153722531971 + 0.042913293033 0.664100146501 + 0.008211224127 0.129278001334 + 0.088776110231 -0.263763285791 + 0.194670523041 0.450202942213 + -0.409980571889 0.443878104391 + 25 21 0 0 0 + -0.846788392665 -0.387622980042 + -0.303453356284 0.040950336115 + -0.023513266982 0.151353952195 + 0.000000002584 0.000000000588 + 0.166268578328 0.145941761462 + -0.731352618176 -0.356634958424 + 0.481545861113 0.056444363415 + -0.000000000461 -0.000000000890 + -0.095291111182 -0.093056511090 + 0.240396847436 -0.037067813066 + 0.318613799197 -0.167771763684 + -0.797853811990 -0.219657437493 + -0.150600503469 0.140296359341 + -0.039663736066 -0.373783708489 + -0.235707020243 -0.504063751206 + 0.166381041622 -0.509007235898 + 25 26 0 0 0 + -0.867084507209 -0.403203133159 + -0.187222771163 0.021133603929 + 0.040772328604 0.048040591784 + 0.147471347730 0.063684179522 + 0.009409562333 0.152682408901 + -0.761306936556 -0.328399076654 + -0.037038223138 0.036684766015 + -0.417063580510 0.170414740054 + -0.068713263074 0.103124938663 + 0.167158594518 -0.321766739082 + -0.080839605896 -0.619690058857 + 0.150153487768 0.543989293157 + -0.055434851070 0.140428286064 + 0.193894363671 -0.271422632445 + 0.041251236224 0.623068548173 + 0.044718420431 0.322165251908 + 25 29 0 0 0 + 0.423763103062 -0.684966450088 + 0.098442073738 0.516116047124 + 0.193376799800 0.158078278497 + -0.000000000291 0.000000000740 + 0.054813753774 0.460380765456 + 0.692596027020 0.331986977282 + -0.067897461569 0.419288052870 + 0.000000000402 0.000000000716 + 0.332446936330 -0.104475869577 + 0.337013324755 -0.069282349501 + -0.650923939803 -0.531851533246 + -0.000000002442 0.000000002071 + -0.000000000757 0.000000001043 + -0.000000001515 -0.000000000063 + 0.000000000889 -0.000000000563 + -0.810635984730 0.543089646207 + 25 41 0 0 0 + 0.690147497236 0.555659649990 + -0.096008362604 -0.245179073110 + 0.347898187501 0.002844984503 + 0.000000000836 -0.000000001481 + 0.060680996321 0.362050254333 + 0.059497913031 0.786663024724 + -0.149354144175 -0.437443850198 + -0.000000001896 -0.000000000277 + -0.060455903021 -0.177306174634 + 0.331520312883 0.118476238416 + 0.508547385597 0.005385841162 + 0.491002019981 -0.386655031884 + -0.063725280394 0.140439132085 + -0.132032425153 -0.258011679278 + -0.301985730771 -0.290009790954 + 0.756233524099 0.066354986998 + 25 46 0 0 0 + 0.647927982866 -0.594783557548 + -0.249038995760 0.205664784784 + 0.126638769954 -0.118369121078 + -0.166017320700 0.206073680669 + 0.099662861041 -0.324980274608 + 0.600966450889 -0.542220487419 + 0.125235208083 0.264660644216 + -0.274454569787 -0.180785465111 + -0.165957961158 -0.156089803056 + -0.236721683444 0.202662390388 + 0.603864034622 0.316618593785 + 0.053014951667 -0.480486086200 + -0.197032456287 0.055743258862 + -0.147217093839 0.311772712905 + -0.170640961337 0.587906039178 + -0.503666476122 0.182960284125 + 25 8 -1 0 0 + 0.866838735102 0.403731243845 + 0.187235609667 -0.021019552996 + -0.040743056166 -0.048065418990 + 0.147432525792 0.063774001805 + -0.009316557797 -0.152688112498 + 0.761106758627 0.328862747647 + 0.037060562255 -0.036662198513 + -0.417167308242 0.170160664961 + 0.068776072953 -0.103083061408 + -0.167354577105 0.321664848041 + 0.080462084094 0.619739189120 + 0.149822068025 0.544080666237 + -0.069806459202 -0.133866292810 + 0.078105161892 0.324291308993 + -0.497841155716 -0.376922093742 + 0.272734049917 0.177218298132 + 25 28 -1 0 0 + -0.297128638305 -0.827824087812 + 0.093051596951 0.309289228735 + -0.060026339040 -0.162620613912 + -0.125609799645 -0.232916916996 + -0.037758066928 -0.337815324049 + 0.335851681689 -0.736455960578 + 0.220135426062 0.193053114770 + 0.323707251393 0.056765400787 + -0.158753083201 0.163412148008 + 0.198807886596 0.239967965604 + 0.326342220863 -0.598665064889 + 0.479565957193 0.060777914638 + 0.188641537698 0.079645903544 + 0.309791436647 -0.151341875360 + 0.500676189865 -0.352243100560 + -0.507510851172 -0.172009083227 + 26 5 0 0 0 + 0.956615885815 -0.129819003657 + 0.166262621077 0.027177430454 + -0.127848135754 0.074034333933 + -0.000000000202 0.000000000726 + -0.108042272236 0.016638104217 + 0.684263602008 -0.417868740522 + -0.344786987679 -0.437490188659 + -0.000000000775 -0.000000000620 + -0.095575827743 -0.056950318657 + 0.091135859533 0.294685631430 + -0.338637999716 0.141018054663 + -0.599225292852 0.340033389233 + 0.049498324395 0.136046037633 + 0.150568779926 -0.372061200830 + 0.457410279543 0.136441810465 + -0.521999288591 -0.088707861256 + 26 10 0 0 0 + 0.867306929009 -0.402724473885 + -0.009493834829 0.152677191637 + 0.068656332274 0.103162850233 + -0.055357331018 -0.140458861317 + 0.187211075835 0.021236950581 + 0.761488104918 -0.327978767688 + -0.166980943657 -0.321858964176 + 0.193744502754 0.271529624301 + -0.040798836663 0.048018081153 + 0.037017970273 0.036705202788 + 0.081181609407 -0.619645346879 + 0.041595114201 -0.623045685320 + -0.156118335879 -0.037822449482 + 0.230691171007 0.386994571542 + -0.447149855369 0.344278129807 + 0.229497862512 -0.230479754837 + 26 22 0 0 0 + 0.956343338831 0.131811779189 + 0.166318882708 -0.026830972215 + -0.127693625768 -0.074300513223 + 0.000000000577 -0.000000000510 + -0.108007373458 -0.016863168021 + 0.683391509129 0.419293456808 + -0.345697640977 0.436770960183 + 0.000000000482 0.000000000886 + -0.028687737748 0.060058210350 + -0.052389580318 -0.176937244499 + -0.215366136324 0.042137604892 + -0.271573207046 -0.762206688710 + -0.045216886247 0.163896750291 + -0.211079396100 -0.421473476253 + -0.522711067983 0.202527306595 + 0.157034339308 0.275091195696 + 26 25 0 0 0 + -0.867084507209 0.403203133159 + 0.009409562333 -0.152682408901 + -0.068713263074 -0.103124938663 + -0.055434851070 -0.140428286064 + -0.187222771163 -0.021133603929 + -0.761306936556 0.328399076654 + 0.167158594518 0.321766739082 + 0.193894363671 0.271422632445 + 0.040772328604 -0.048040591784 + -0.037038223138 -0.036684766015 + -0.080839605896 0.619690058857 + 0.041251236224 -0.623068548173 + 0.147471347730 -0.063684179522 + -0.417063580510 -0.170414740054 + 0.150153487768 -0.543989293157 + 0.044718420431 -0.322165251908 + 26 27 0 0 0 + 0.866243614370 0.405006556613 + -0.009091827080 -0.152701657692 + 0.068927686045 -0.102981744925 + 0.060734658772 -0.138218762789 + 0.187266340604 -0.020743986007 + 0.760621956850 0.329982488272 + -0.167827702743 0.321418250700 + -0.204075178879 0.263853349753 + -0.040672281540 -0.048125321618 + 0.037114473042 -0.036607621979 + 0.079550164479 0.619856904387 + -0.017528823181 -0.624186527798 + 0.079903098320 0.139351956157 + -0.436011068833 -0.113479355969 + -0.205756095776 0.525485348068 + -0.167378559783 0.278880991021 + 26 30 0 0 0 + 0.422952451814 -0.685467306872 + 0.055358368975 0.460315595161 + 0.332323081186 -0.104869169536 + 0.000000000043 -0.000000000401 + 0.099052609595 0.515999221541 + 0.692988306028 0.331167355258 + 0.336931107978 -0.069681083905 + 0.000000000276 0.000000000559 + 0.193563693591 0.157849375356 + -0.067401337782 0.419368091981 + -0.651552853966 -0.531080885733 + 0.000000000720 0.000000000250 + -0.000000000609 0.000000000300 + -0.000000000050 0.000000000820 + 0.000000000152 0.000000001193 + -0.951641322888 -0.215536198230 + 26 42 0 0 0 + -0.866834183107 -0.403741016036 + 0.009314831297 0.152688217652 + -0.068777211956 0.103082300888 + 0.060532733315 -0.138307318265 + -0.187235843155 0.021017472620 + -0.761103094785 -0.328871225853 + 0.167358081021 -0.321663024415 + -0.203689593974 0.264151128006 + 0.040742503609 0.048065888026 + -0.037060984686 0.036661770961 + -0.080455086766 -0.619740098113 + -0.018440134925 -0.624160268572 + -0.085004563607 0.136300024884 + -0.106183524832 -0.437845032761 + -0.560318365516 0.067184465815 + 0.324879220439 0.015610187720 + 26 47 0 0 0 + -0.422835221652 -0.685539626843 + -0.055437089696 0.460306121889 + -0.332305162375 -0.104925938017 + 0.000000000265 0.000000000813 + -0.099140870443 0.515982270708 + -0.693044942572 0.331048813363 + -0.336919198259 -0.069738652145 + 0.000000001093 0.000000001417 + -0.193590649090 0.157816315614 + 0.067329715312 0.419379596767 + 0.651643444065 -0.530969727108 + -0.000000000918 0.000000000379 + 0.000000000801 -0.000000000191 + 0.000000000335 0.000000000090 + 0.000000003089 0.000000000289 + 0.750599717555 -0.623439751249 + 27 6 0 0 0 + -0.847022990007 0.387110079140 + -0.303428495804 -0.041134129780 + -0.023421571215 -0.151368167923 + 0.000000000525 0.000000001213 + 0.166356936075 -0.145841035065 + -0.731568509858 0.356191885569 + 0.481579967299 -0.056152612789 + -0.000000000234 0.000000002355 + 0.056884138837 0.017947509600 + -0.036188348630 -0.102744713017 + -0.001122649973 -0.161256905733 + 0.932190433515 0.212361145327 + -0.184983739583 -0.149420844485 + -0.015273025513 0.433996315117 + -0.230594117213 0.600101229923 + 0.198229980589 0.134980380732 + 27 11 0 0 0 + -0.421125598623 0.779560418086 + -0.006426183875 -0.263228204808 + -0.319652747982 0.137343960905 + -0.000000000025 0.000000000251 + 0.366935697249 0.010989295591 + 0.787460217494 -0.047802941902 + -0.453664870102 -0.088611349427 + -0.000000001705 -0.000000005203 + 0.091310425146 0.110245387715 + 0.055352541620 -0.263268352190 + 0.199766069117 -0.333358203607 + 0.758017785574 0.236156190119 + -0.187653051267 -0.056312978818 + 0.136673239591 0.341893582784 + 0.025338914366 0.531294902963 + 0.556616376128 -0.163385126274 + 27 23 0 0 0 + -0.866329404441 0.404823014440 + -0.187261940306 -0.020783663918 + 0.040682477740 -0.048116702935 + 0.079932621738 -0.139335022894 + 0.009124179473 -0.152699727869 + -0.760691851881 0.329821330651 + -0.037106716041 -0.036615484029 + -0.436035098701 0.113386976663 + -0.068905875219 -0.102996339558 + 0.167759631041 0.321453784361 + -0.079681432316 0.619840044610 + -0.205644803108 -0.525528911784 + 0.059235244072 0.138867965914 + -0.201207698510 -0.266046479717 + -0.024282990878 0.623960269600 + 0.164350596502 0.280676102968 + 27 26 0 0 0 + 0.866243614370 -0.405006556613 + 0.187266340604 0.020743986007 + -0.040672281540 0.048125321618 + 0.079903098320 -0.139351956157 + -0.009091827080 0.152701657692 + 0.760621956850 -0.329982488272 + 0.037114473042 0.036607621979 + -0.436011068833 0.113479355969 + 0.068927686045 0.102981744925 + -0.167827702743 -0.321418250700 + 0.079550164479 -0.619856904387 + -0.205756095776 -0.525485348068 + 0.060734658772 0.138218762789 + -0.204075178879 -0.263853349753 + -0.017528823181 0.624186527798 + -0.167378559783 -0.278880991021 + 27 28 0 0 0 + 0.255918411379 -0.841477222348 + -0.077676658703 0.313504006669 + 0.051928874218 -0.165384458949 + 0.051333589232 0.259601571838 + 0.050641639563 0.336125407302 + 0.514422004229 0.624926984481 + 0.162900370118 -0.243295259942 + -0.156381519647 0.289056250309 + 0.209343734343 0.089895895653 + -0.091380142101 0.297924269516 + -0.531264516969 -0.427384040313 + 0.192706259424 -0.443330301103 + -0.065457128000 -0.194021812661 + 0.173868304284 -0.297732949715 + 0.388354132229 -0.473215507907 + -0.417449006641 -0.335992129122 + 27 31 0 0 0 + 0.027782226440 0.879094019775 + -0.027084599363 -0.321846003461 + 0.003916138987 0.173301152295 + 0.131960306740 0.229378703579 + -0.137306103541 0.310953209574 + 0.099593500541 0.803271352965 + 0.267889966024 -0.118169707143 + 0.286900366609 -0.160302454213 + -0.160730734325 0.161467341843 + -0.243263558302 -0.194761497961 + 0.593116214907 -0.336321660583 + -0.341082035094 -0.342550007591 + 0.056441447682 -0.196833590170 + 0.312292698410 -0.146110809229 + 0.588507353408 -0.168555467867 + 0.152441506729 0.513727534354 + 27 43 0 0 0 + -0.908178360482 -0.266073547634 + -0.008999269833 0.187450305912 + 0.076332940438 0.205517703178 + 0.000000000055 -0.000000000697 + -0.025914485278 0.223316854616 + -0.747042328074 0.445500248791 + -0.405575952248 -0.080076326290 + 0.000000000283 0.000000002199 + 0.152630819771 0.020514615973 + -0.320206529005 0.083295322394 + 0.517683625212 0.268395671805 + -0.168987018022 0.391760874775 + -0.012956241036 0.082032409008 + -0.040928466466 -0.173666590823 + -0.151130817901 0.275762299712 + 0.719053811810 0.330016401165 + 27 48 0 0 0 + 0.424366716347 0.684592648786 + 0.097987138548 -0.516202612700 + 0.193237412719 -0.158248636225 + -0.000000000357 -0.000000001487 + 0.054407912915 -0.460428903415 + 0.692303145320 -0.332597301682 + -0.068266951482 -0.419228052853 + 0.000000000197 -0.000000000058 + 0.332538882087 0.104182838806 + 0.337074249796 0.068985338324 + -0.650455061639 0.532424870736 + -0.000000000843 -0.000000000554 + -0.000000000837 0.000000000133 + -0.000000000139 0.000000000005 + 0.000000000652 -0.000000000042 + -0.654033395842 0.724097639717 + 28 7 0 0 0 + -0.827453514627 -0.298159068354 + -0.038178624513 0.337768053438 + 0.158549510147 0.163609671661 + -0.079410979538 -0.188740550975 + 0.309173128231 0.093436618132 + 0.334934465998 0.736873556080 + -0.199106515794 0.239720245157 + 0.151727480844 -0.309602760683 + -0.162545751244 -0.060228778566 + 0.220375629687 -0.192778874718 + -0.325596566064 -0.599070932096 + 0.352866226416 -0.500237220883 + -0.234152930800 0.123290378551 + 0.133398441078 -0.300355711365 + -0.216983543699 0.431967133696 + 0.517192275154 0.140237431781 + 28 12 0 0 0 + -0.256836204870 -0.841197545880 + 0.050274940243 -0.336180449532 + 0.209245545352 -0.090124210883 + 0.065245433790 -0.194093103775 + 0.078018590622 0.313419089899 + 0.513740009759 -0.625487759397 + -0.091705071708 -0.297824411356 + -0.174192977785 -0.297543112779 + -0.052109231188 -0.165327714687 + 0.163165636914 0.243117432668 + -0.530798044468 0.427963246240 + -0.388870051116 -0.472791640555 + -0.253013924173 0.077537509468 + 0.180736278068 -0.274486962848 + -0.299490506529 0.379450783545 + 0.493462005057 0.208924944525 + 28 24 0 0 0 + 0.841158529202 -0.256963954934 + 0.050223881466 -0.336188082630 + -0.209231854655 0.090155989292 + -0.194103010771 -0.065215955274 + -0.313407235988 0.078066204770 + 0.513644985157 -0.625565797674 + 0.091750312040 0.297810475620 + -0.297516646471 0.174238174411 + 0.165319808218 -0.052134312244 + 0.163202525479 0.243092671870 + 0.530733104689 -0.428043779902 + -0.472732630386 0.388941780544 + -0.259550037456 0.051593527359 + -0.254834520994 -0.207528460878 + -0.347270861128 -0.336274315804 + -0.469844106365 -0.257683720639 + 28 27 0 0 0 + 0.255918411379 0.841477222348 + 0.050641639563 -0.336125407302 + 0.209343734343 -0.089895895653 + -0.065457128000 0.194021812661 + -0.077676658703 -0.313504006669 + 0.514422004229 -0.624926984481 + -0.091380142101 -0.297924269516 + 0.173868304284 0.297732949715 + 0.051928874218 0.165384458949 + 0.162900370118 0.243295259942 + -0.531264516969 0.427384040313 + 0.388354132229 0.473215507907 + 0.051333589232 -0.259601571838 + -0.156381519647 -0.289056250309 + 0.192706259424 0.443330301103 + -0.417449006641 0.335992129122 + 28 32 0 0 0 + -0.827530943920 -0.297944095138 + 0.038090877017 -0.337777959567 + -0.158592007312 -0.163568477233 + -0.079460008885 -0.188719915002 + 0.309197402657 0.093356271107 + -0.335125954457 -0.736786488096 + 0.199044207728 -0.239771981815 + 0.151647010326 -0.309642180987 + -0.162561395906 -0.060186535454 + -0.220325535922 0.192836123646 + 0.325752207240 0.598986313137 + 0.352736238889 -0.500328888276 + -0.057355528492 0.258337873256 + 0.142862678730 0.295971199055 + -0.189212593612 -0.444832619740 + 0.441395790420 -0.303848874255 + 28 44 0 0 0 + 0.297641369612 -0.827639875628 + -0.037967316863 0.337791871347 + -0.158651830449 -0.163510453125 + -0.188690836263 0.079529037534 + -0.093243175278 0.309231524665 + 0.335395410023 0.736663866991 + 0.198956501051 -0.239844764733 + -0.309697623500 -0.151533752989 + 0.060127049736 -0.162583408561 + 0.220254960555 -0.192916734377 + 0.325971368346 0.598867074838 + -0.500457923702 -0.352553132800 + 0.256093434947 -0.066665328598 + 0.262036923728 0.198356617565 + 0.371128428695 0.309743689125 + 0.471604971663 0.254446727226 + 28 25 1 0 0 + -0.297128638305 0.827824087812 + -0.037758066928 0.337815324049 + -0.158753083201 -0.163412148008 + 0.188641537698 -0.079645903544 + 0.093051596951 -0.309289228735 + 0.335851681689 0.736455960578 + 0.198807886596 -0.239967965604 + 0.309791436647 0.151341875360 + -0.060026339040 0.162620613912 + 0.220135426062 -0.193053114770 + 0.326342220863 0.598665064889 + 0.500676189865 0.352243100560 + -0.125609799645 0.232916916996 + 0.323707251393 -0.056765400787 + 0.479565957193 -0.060777914638 + -0.507510851172 0.172009083227 + 28 45 1 0 0 + -0.841374218821 0.256256851683 + 0.050506438832 -0.336145749971 + -0.209307559339 0.089980092785 + 0.194048125673 0.065379080020 + 0.313472739616 -0.077802736798 + 0.514170628159 -0.625133826473 + 0.091499953617 0.297887493539 + 0.297662998810 -0.173988034097 + -0.165363578186 0.051995328587 + 0.162998113227 0.243229784328 + 0.531092744151 -0.427597475010 + 0.473059419361 -0.388544248556 + 0.154793446373 -0.214632481128 + -0.327924284750 0.021779797587 + -0.483309565032 -0.009451360964 + 0.519458640453 -0.131594469783 + 29 13 0 0 0 + 0.956629619094 0.129717767535 + 0.166259742507 -0.027195023633 + -0.127855985112 -0.074020778181 + 0.000000001125 -0.000000000448 + -0.108044033241 -0.016626664756 + 0.684307838659 0.417796291277 + -0.344740570574 0.437526764905 + 0.000000000599 -0.000000000708 + -0.140976837626 0.110364456136 + 0.085499382696 -0.488960355070 + -0.569275345286 -0.156180494854 + -0.138435273292 -0.099346146565 + 0.029479046648 -0.020319698421 + -0.022997682878 0.096563945008 + 0.111738197109 0.038080538483 + -0.660845058677 -0.537862273664 + 29 25 0 0 0 + 0.423763103062 0.684966450088 + 0.054813753774 -0.460380765456 + 0.332446936330 0.104475869577 + -0.000000000757 -0.000000001043 + 0.098442073738 -0.516116047124 + 0.692596027020 -0.331986977282 + 0.337013324755 0.069282349501 + -0.000000001515 0.000000000063 + 0.193376799800 -0.158078278497 + -0.067897461569 -0.419288052870 + -0.650923939803 0.531851533246 + 0.000000000889 0.000000000563 + -0.000000000291 -0.000000000740 + 0.000000000402 -0.000000000716 + -0.000000002442 -0.000000002071 + -0.810635984730 -0.543089646207 + 29 30 0 0 0 + -0.867560912952 -0.402177039896 + 0.009590186732 0.152671169894 + -0.068591191472 0.103206172665 + -0.144733531204 0.042957315516 + -0.187197637852 0.021355087146 + -0.761694922119 -0.327498168620 + 0.166777735531 -0.321964309553 + 0.333238749162 -0.014737864989 + 0.040829138235 0.047992318250 + -0.036994794563 0.036728561747 + -0.081572862840 -0.619593962445 + -0.465057777648 0.416698145096 + 0.152821290233 0.049488645276 + -0.399127851894 0.208998024343 + 0.200800629542 0.527398837205 + -0.203271267742 0.253911353959 + 29 45 0 0 0 + -0.424080597612 0.684769926314 + -0.054600318323 -0.460406126889 + -0.332495309837 0.104321818649 + 0.000000000670 0.000000000059 + -0.098202824164 -0.516161623762 + -0.692442061558 -0.332307992660 + -0.337045387463 0.069126202628 + 0.000000000213 -0.000000000457 + -0.193303462201 -0.158167949695 + 0.068091923426 -0.419256517022 + 0.650677321537 0.532153222603 + -0.000000000712 -0.000000000402 + -0.000000001066 -0.000000000119 + -0.000000000878 0.000000000234 + 0.000000002896 -0.000000001258 + 0.753261502818 0.620221076416 + 29 17 0 1 0 + -0.956512104449 0.130581474138 + -0.166284231706 -0.027044895193 + 0.127789081684 -0.074136219427 + 0.000000000541 0.000000000217 + 0.108028977103 -0.016724213676 + -0.683930327175 0.418413993675 + 0.345135587118 0.437215231021 + -0.000000000852 0.000000000878 + -0.078116057976 -0.074826977744 + 0.021996845514 0.299096265676 + -0.351630718836 0.059659426564 + -0.693618722472 -0.094432576602 + -0.132035767125 0.064823202193 + 0.392246069360 0.111563627120 + -0.087994512485 0.476923343285 + 0.240383152747 -0.455233453228 + 29 34 0 1 0 + 0.866484736632 -0.404490431803 + -0.009182797072 0.152696215769 + 0.068866344816 0.103022775712 + 0.071593113018 -0.132919345857 + 0.187253949865 0.020855543995 + 0.760818405076 -0.329529299903 + -0.167636259852 -0.321518137365 + -0.082441524789 0.323216128192 + -0.040700933613 0.048101093624 + 0.037092666445 0.036629716594 + 0.079919134382 -0.619809440311 + 0.502844721081 -0.370220564304 + 0.102849234049 0.123391687299 + 0.045295403895 -0.448253880701 + 0.564241636930 -0.010089590110 + -0.244043608722 -0.215018381460 + 29 12 -1 0 0 + -0.866930231264 -0.403534735906 + 0.009351164209 0.152685997005 + -0.068752678408 0.103098665216 + 0.144800604291 -0.042730678677 + -0.187230839413 0.021062003537 + -0.761181290168 -0.328690200818 + 0.167281565947 -0.321702824312 + -0.333261413713 0.014216162113 + 0.040753953663 0.048056180781 + -0.037052249335 0.036670598929 + -0.080602741955 -0.619720911014 + 0.465709576601 -0.415969552282 + -0.084914756877 0.136355992672 + -0.106471941648 -0.437774988421 + -0.560273987972 0.067553582144 + 0.197334990429 0.258551900993 + 29 32 -1 0 0 + -0.867236735861 0.402875605834 + 0.009467229708 -0.152678844203 + -0.068674310642 -0.103150883596 + 0.071840597220 -0.132785746354 + -0.187214776361 -0.021204311212 + -0.761430910627 0.328111525587 + 0.167037065407 0.321829844237 + -0.083043446689 0.323061998396 + 0.040790472729 -0.048025186332 + -0.037024363043 -0.036698754844 + -0.081073674386 0.619659478403 + 0.503533550628 -0.369283146474 + 0.101550527966 0.124462697133 + 0.049990293072 -0.447754603327 + 0.564316382637 -0.004176189503 + 0.241776967541 0.217563976922 + 30 9 0 0 0 + -0.907500000478 -0.268378122881 + -0.009475075139 0.187426858279 + 0.075811002793 0.205710806095 + -0.000000000213 0.000000000126 + -0.026481201901 0.223250360666 + -0.748170616333 0.443602797506 + -0.405371414682 -0.081105418876 + -0.000000000063 0.000000000627 + -0.067668074306 0.124229581368 + 0.033566627651 -0.302063255086 + -0.400098064747 0.356138199777 + -0.231423651794 -0.475669788270 + -0.072526068244 -0.073090423318 + 0.203652042622 0.086385582140 + -0.164944224190 -0.353268291029 + -0.717198046093 0.117433824576 + 30 14 0 0 0 + 0.867678640327 -0.401922985526 + 0.187191376092 0.021409901615 + -0.040843190311 0.047980360144 + 0.152835773401 -0.049443893690 + -0.009634891806 0.152668355226 + 0.761790788092 -0.327275112820 + 0.036984037736 0.036739392995 + -0.399066634933 -0.209114886394 + 0.068560974442 0.103226248815 + -0.166683472077 -0.322013122084 + 0.081754250230 -0.619570055750 + 0.200955017967 -0.527340028351 + 0.043088005180 0.144694677717 + -0.169705390918 -0.287167806869 + -0.094958073471 0.617170192014 + 0.101624969578 -0.308970146764 + 30 26 0 0 0 + 0.422952451814 0.685467306872 + 0.099052609595 -0.515999221541 + 0.193563693591 -0.157849375356 + -0.000000000609 -0.000000000300 + 0.055358368975 -0.460315595161 + 0.692988306028 -0.331167355258 + -0.067401337782 -0.419368091981 + -0.000000000050 -0.000000000820 + 0.332323081186 0.104869169536 + 0.336931107978 0.069681083905 + -0.651552853966 0.531080885733 + 0.000000000152 -0.000000001193 + 0.000000000043 0.000000000401 + 0.000000000276 -0.000000000559 + 0.000000000720 -0.000000000250 + -0.951641322888 0.215536198230 + 30 29 0 0 0 + -0.867560912952 0.402177039896 + -0.187197637852 -0.021355087146 + 0.040829138235 -0.047992318250 + 0.152821290233 -0.049488645276 + 0.009590186732 -0.152671169894 + -0.761694922119 0.327498168620 + -0.036994794563 -0.036728561747 + -0.399127851894 -0.208998024343 + -0.068591191472 -0.103206172665 + 0.166777735531 0.321964309553 + -0.081572862840 0.619593962445 + 0.200800629542 -0.527398837205 + -0.144733531204 -0.042957315516 + 0.333238749162 0.014737864989 + -0.465057777648 -0.416698145096 + -0.203271267742 -0.253911353959 + 30 31 0 0 0 + -0.879164718532 0.025446906169 + 0.321916815540 -0.026229571820 + -0.173310944767 0.003455789291 + -0.258573161521 -0.056285273045 + -0.138131633114 0.310587373076 + 0.097459396149 0.803533072551 + 0.268202914287 -0.117457695112 + 0.320225957087 0.073919105040 + 0.161159089314 -0.161039807363 + 0.242745348267 0.195406997776 + -0.594007493341 0.334744982234 + 0.022645075110 0.482871267814 + -0.196682966133 -0.056964118362 + -0.145280740508 -0.312679713932 + -0.166991621996 -0.588953009021 + 0.483002416808 0.232084143865 + 30 46 0 0 0 + -0.875125213613 0.087943217791 + 0.319234262818 -0.049070480200 + -0.172625683094 0.015779729696 + 0.261922893497 0.037742678485 + -0.088041889581 0.328319189927 + 0.221491636609 0.778527575966 + 0.246621412062 -0.157819495321 + -0.327833098823 -0.023111814764 + -0.087058447194 0.210539541304 + -0.299132048557 -0.087345387634 + 0.420165018316 -0.536992051276 + 0.206135890544 0.437247590987 + -0.172075756126 -0.110991142772 + -0.049478448288 -0.341213978577 + 0.008975842063 -0.612103981129 + -0.396126106920 -0.360885706534 + 30 18 0 1 0 + -0.847817005302 0.385367983989 + -0.303343296025 -0.041757798699 + -0.023110360028 -0.151415994677 + -0.000000001315 0.000000001009 + 0.166656393351 -0.145498744612 + -0.732299167775 0.354687287466 + 0.481694377799 -0.055162551783 + -0.000000001026 0.000000000626 + -0.197900400630 0.121267826300 + 0.394137777381 0.155947592090 + 0.476496366023 0.408281454896 + -0.278525820093 0.152257285308 + 0.068548244003 0.039168536069 + -0.017996660376 -0.143052511073 + 0.043771384077 -0.208906000547 + -0.786346461282 -0.502485272246 + 30 35 0 1 0 + -0.263101600214 0.846072551694 + -0.057002445982 -0.257062453469 + -0.287216443638 0.196336332869 + -0.000000002166 0.000000000658 + 0.076332061100 0.359076575229 + 0.233162558712 0.753666993861 + -0.021489073478 -0.461738028670 + 0.000000003234 0.000000000212 + 0.097262817870 -0.100039168821 + -0.260921404102 -0.026045888806 + -0.343978015232 -0.158643428907 + 0.099997545212 -0.798231374197 + 0.107654381821 -0.166790586635 + -0.371262636402 0.036750682085 + -0.524260818429 -0.124949924055 + 0.041541239699 0.563895980241 + 31 10 0 0 0 + -0.688307769230 -0.547549601971 + -0.148921649335 -0.305560480407 + -0.093503672852 0.207757395018 + 0.172700079915 0.110017190553 + 0.262939150535 0.187567129849 + -0.677879820397 -0.442315140518 + -0.296298999876 -0.096519953798 + 0.051405406794 0.340928999494 + -0.134680594974 -0.109131863246 + -0.082615317174 0.280898242829 + 0.436509782440 -0.523792244142 + -0.005517394526 0.612144924252 + 0.027482204660 0.263197339363 + 0.327207818854 -0.030720339851 + -0.068302695530 0.478552196271 + 0.151213728655 0.514090258296 + 31 15 0 0 0 + 0.027727398556 -0.879095752839 + 0.137325496326 0.310944645570 + 0.160740806689 0.161457316941 + 0.056453726506 0.196830068105 + -0.027064550510 0.321847689287 + -0.099543469921 0.803277555514 + 0.243251427493 -0.194776646894 + 0.312301794698 0.146091355607 + 0.003905328019 -0.173301397780 + -0.267897338186 -0.118152994852 + -0.593137196462 -0.336284660115 + 0.588517865840 0.168518751993 + 0.243975672238 -0.102488948921 + -0.131068702153 -0.301379646713 + 0.478905557058 -0.065779413990 + 0.432588165188 -0.316262337578 + 31 27 0 0 0 + 0.027782226440 -0.879094019775 + -0.137306103541 -0.310953209574 + -0.160730734325 -0.161467341843 + 0.056441447682 0.196833590170 + -0.027084599363 0.321846003461 + 0.099593500541 -0.803271352965 + -0.243263558302 0.194761497961 + 0.312292698410 0.146110809229 + 0.003916138987 -0.173301152295 + 0.267889966024 0.118169707143 + 0.593116214907 0.336321660583 + 0.588507353408 0.168555467867 + 0.131960306740 -0.229378703579 + 0.286900366609 0.160302454213 + -0.341082035094 0.342550007591 + 0.152441506729 -0.513727534354 + 31 30 0 0 0 + -0.879164718532 -0.025446906169 + -0.138131633114 -0.310587373076 + 0.161159089314 0.161039807363 + -0.196682966133 0.056964118362 + 0.321916815540 0.026229571820 + 0.097459396149 -0.803533072551 + 0.242745348267 -0.195406997776 + -0.145280740508 0.312679713932 + -0.173310944767 -0.003455789291 + 0.268202914287 0.117457695112 + -0.594007493341 -0.334744982234 + -0.166991621996 0.588953009021 + -0.258573161521 0.056285273045 + 0.320225957087 -0.073919105040 + 0.022645075110 -0.482871267814 + 0.483002416808 -0.232084143865 + 31 32 0 0 0 + 0.688070462540 0.547847775506 + -0.148789243966 -0.305624974692 + -0.093593680321 0.207716861779 + -0.172652394321 -0.110092007647 + -0.262857876637 -0.187681013549 + -0.677688151284 -0.442608746317 + -0.296257161984 -0.096648299025 + -0.051257718873 -0.340951231804 + 0.134633287636 0.109190215927 + -0.082737042320 0.280862413739 + 0.436736737489 -0.523603023111 + 0.005782677525 -0.612142474610 + -0.137257763429 0.226248580294 + -0.279189532210 -0.173383679074 + 0.343766342409 -0.339856096407 + -0.190414944978 0.500895730058 + 31 47 0 0 0 + -0.547683517400 0.688201215596 + 0.148862192920 0.305589450659 + -0.093544095760 0.207739197574 + -0.110050793015 0.172678669799 + 0.187618283067 -0.262902651937 + 0.677793748747 0.442447023581 + -0.296280214841 -0.096577602252 + -0.340938991842 0.051339073744 + -0.109158051975 0.134659370284 + 0.082669942519 -0.280882170842 + 0.436611636694 -0.523707344991 + -0.612143837885 -0.005636441299 + 0.105227214870 -0.242807219270 + -0.133820946644 0.300167702455 + 0.383433032367 0.294374886814 + -0.120555221084 0.522131041380 + 31 19 0 1 0 + -0.547251621823 0.688544706169 + -0.149053894180 -0.305495992483 + 0.093413738117 -0.207797845432 + -0.109942428063 0.172747681383 + 0.187453306420 -0.263020314295 + -0.678071205142 -0.442021692135 + 0.296340748169 0.096391698139 + -0.340906718180 0.051552967570 + -0.109073610104 0.134727774162 + -0.082493843910 0.280933941011 + -0.436283246628 0.523980948478 + -0.612147251922 -0.005252690610 + 0.236070370679 0.119577977236 + 0.291615693340 0.151555214659 + 0.316807075207 -0.365117434851 + -0.513975086178 -0.151604728702 + 31 36 0 1 0 + 0.879125558905 0.026765678247 + -0.137665577439 -0.310794229580 + 0.160917335954 0.161281376028 + 0.196768193543 -0.056669014955 + -0.321877107952 -0.026712405680 + 0.098664551936 -0.803385983363 + 0.243038178061 -0.195042672820 + 0.145749583767 -0.312461447432 + 0.173305565035 0.003715804638 + 0.268026388367 0.117859954799 + -0.593504597106 -0.335635811039 + 0.167875056770 -0.588701804905 + 0.135473021000 -0.227321737256 + 0.164696617581 -0.284400635119 + -0.337262932311 -0.346310813788 + -0.160325670122 0.511321874601 + 32 11 0 0 0 + 0.875818675221 -0.134174752148 + -0.245707643257 -0.094647438416 + 0.236918137708 -0.254776447382 + 0.000000000428 -0.000000000975 + 0.302941223094 0.207338337318 + 0.608060670648 0.502634000591 + -0.418752901144 -0.195728873611 + -0.000000002340 -0.000000000337 + 0.063042012360 -0.128519818329 + 0.115299333607 0.243064169881 + 0.272087314309 0.277493554840 + -0.768149042468 -0.200767904698 + 0.025687248853 0.194229201986 + -0.315742448796 -0.189413571733 + -0.520466254301 -0.109686847593 + -0.548445173137 0.189008958109 + 32 16 0 0 0 + -0.846270138623 -0.388753147044 + -0.303507758652 0.040545162610 + -0.023715303006 0.151322425936 + -0.000000000850 -0.000000001778 + 0.166073594204 0.146163604868 + -0.730875840619 -0.357611032770 + 0.481470080306 0.057087164054 + -0.000000000432 -0.000000000445 + -0.059052007163 0.224922639021 + -0.263646125758 -0.332933812998 + -0.529522332161 -0.338911084326 + -0.249655980688 0.187314029481 + 0.076779199551 0.011450412775 + -0.100935581893 0.099548704287 + -0.093289946856 0.187996135824 + -0.638948924955 -0.682583854226 + 32 28 0 0 0 + -0.827530943920 0.297944095138 + 0.309197402657 -0.093356271107 + -0.162561395906 0.060186535454 + -0.057355528492 -0.258337873256 + 0.038090877017 0.337777959567 + -0.335125954457 0.736786488096 + -0.220325535922 -0.192836123646 + 0.142862678730 -0.295971199055 + -0.158592007312 0.163568477233 + 0.199044207728 0.239771981815 + 0.325752207240 -0.598986313137 + -0.189212593612 0.444832619740 + -0.079460008885 0.188719915002 + 0.151647010326 0.309642180987 + 0.352736238889 0.500328888276 + 0.441395790420 0.303848874255 + 32 31 0 0 0 + 0.688070462540 -0.547847775506 + -0.262857876637 0.187681013549 + 0.134633287636 -0.109190215927 + -0.137257763429 -0.226248580294 + -0.148789243966 0.305624974692 + -0.677688151284 0.442608746317 + -0.082737042320 -0.280862413739 + -0.279189532210 0.173383679074 + -0.093593680321 -0.207716861779 + -0.296257161984 0.096648299025 + 0.436736737489 0.523603023111 + 0.343766342409 0.339856096407 + -0.172652394321 0.110092007647 + -0.051257718873 0.340951231804 + 0.005782677525 0.612142474610 + -0.190414944978 -0.500895730058 + 32 48 0 0 0 + 0.423077306560 -0.685390252574 + 0.098958592639 0.516017260588 + 0.193534931737 0.157884637997 + 0.000000000683 0.000000000747 + 0.055274523561 0.460325671340 + 0.692927959604 0.331293605957 + -0.067477738485 0.419355805560 + 0.000000000213 -0.000000000728 + 0.332342192258 -0.104808587056 + 0.336943807271 -0.069619647912 + -0.651456011119 -0.531199675050 + -0.000000002253 0.000000001002 + 0.000000000538 -0.000000000609 + -0.000000001105 0.000000000785 + 0.000000000347 0.000000000011 + 0.613297413766 -0.758909320297 + 32 29 1 0 0 + -0.867236735861 -0.402875605834 + -0.187214776361 0.021204311212 + 0.040790472729 0.048025186332 + 0.101550527966 -0.124462697133 + 0.009467229708 0.152678844203 + -0.761430910627 -0.328111525587 + -0.037024363043 0.036698754844 + 0.049990293072 0.447754603327 + -0.068674310642 0.103150883596 + 0.167037065407 -0.321829844237 + -0.081073674386 -0.619659478403 + 0.564316382637 0.004176189503 + 0.071840597220 0.132785746354 + -0.083043446689 -0.323061998396 + 0.503533550628 0.369283146474 + 0.241776967541 -0.217563976922 + 32 20 0 1 0 + 0.867054367488 0.403267942185 + 0.187224350562 -0.021119606058 + -0.040768739386 -0.048043637051 + 0.101606830776 -0.124416738187 + -0.009398150448 -0.152683111714 + 0.761282381330 0.328455994659 + 0.037040963619 -0.036681999950 + 0.049787705727 0.447777176165 + 0.068720954457 -0.103119813964 + -0.167182601185 0.321754266730 + 0.080793418281 0.619696082155 + 0.564314436823 0.004431407486 + -0.064542337626 -0.136482280227 + 0.065421787976 0.327086009914 + -0.482790816058 -0.396016551967 + 0.253207074994 -0.204147895520 + 32 33 1 1 0 + 0.907967212538 -0.266793198314 + 0.009147802424 0.187443117161 + -0.076170069813 0.205578120478 + 0.000000000004 0.000000000175 + 0.026091308179 0.223296263642 + 0.747394810679 0.444908654573 + 0.405512430300 -0.080397396434 + 0.000000000099 -0.000000000654 + -0.074947550994 0.046036708168 + 0.186472356661 -0.030616773605 + -0.208188288602 0.259954998400 + -0.153694062992 -0.761692390531 + 0.100528515190 -0.113011951810 + -0.291795739593 0.143008647240 + 0.213658117542 -0.531365415980 + -0.213483514854 -0.398258743749 + 33 17 0 0 0 + 0.734930019162 0.460230112519 + 0.261272102519 -0.405476826328 + 0.000000000077 0.000000001543 + 0.000000000840 -0.000000000334 + -0.298919687914 -0.368726872240 + 0.691985664570 -0.513393191394 + 0.000000001830 0.000000002925 + 0.000000001031 -0.000000002566 + -0.000000001449 -0.000000001987 + -0.000000000377 0.000000000524 + -0.082835021151 -0.528140257487 + 0.113536444456 -0.806770970022 + 0.000000001676 -0.000000000648 + 0.000000000486 0.000000000031 + -0.637430071629 -0.507398090373 + 0.303226304234 0.440281243133 + 33 34 0 0 0 + -0.908462630096 -0.265101335294 + -0.025675298085 0.223344479249 + 0.093451343544 -0.020568800380 + 0.122885700180 0.079731254614 + -0.008798627746 0.187459832063 + -0.746564767455 0.446300081162 + -0.169118301572 0.116881512408 + -0.309198340104 -0.058648565569 + 0.076552922024 0.205435863472 + -0.405661503009 -0.079641805629 + 0.359350566669 0.046267548988 + 0.335914510449 0.441368184349 + -0.000000000957 -0.000000000240 + -0.000000001545 -0.000000000904 + -0.330720610834 0.675981749361 + 0.466070275170 -0.156311996666 + 33 37 0 0 0 + 0.908399730735 0.265316787585 + 0.025728267851 -0.223338385120 + 0.168478512976 0.025368171436 + 0.022154685528 -0.033087978878 + 0.008843084198 -0.187457739066 + 0.746670583438 -0.446123024042 + -0.355667894619 0.086527795233 + -0.017156596653 0.083812225823 + -0.076504150074 -0.205454029257 + 0.405642585941 0.079738104547 + 0.567950160178 0.305969084580 + 0.121288120322 -0.089569482382 + -0.000000000351 0.000000000470 + 0.000000001336 -0.000000000871 + -0.204399896137 0.008346173445 + 0.340652486187 -0.806281158901 + 33 49 0 0 0 + 0.734831732711 -0.460387026935 + 0.261358751495 0.405420980486 + 0.000000000440 0.000000000418 + -0.000000000522 0.000000000454 + -0.298840946466 0.368790692124 + 0.692095370909 0.513245288869 + 0.000000000106 0.000000002687 + -0.000000000833 0.000000000181 + 0.000000001633 -0.000000000649 + -0.000000000555 -0.000000000659 + 0.282255226846 -0.146288351708 + 0.304815313965 -0.869242786007 + -0.000000001510 0.000000000889 + -0.000000000890 0.000000000142 + 0.591261737478 -0.706332041739 + 0.018558559492 0.317370244992 + 33 54 0 0 0 + -0.908240099285 0.265862727717 + -0.025862541795 -0.223322874715 + -0.087892810030 -0.003371674988 + 0.143028565319 0.049198707033 + -0.008955748780 -0.187452390293 + -0.746938665630 -0.445674033015 + 0.172045932398 0.078163437030 + -0.244432939930 -0.214123248466 + 0.076380678074 -0.205499964840 + -0.405594582278 0.079981919890 + -0.317538263439 0.100441104388 + 0.572660577844 -0.007671830838 + -0.000000000152 -0.000000000348 + 0.000000000154 -0.000000000054 + 0.430162178827 0.647114865287 + 0.130817862248 0.432518124871 + 33 45 0 -1 0 + 0.907964217398 -0.266803388896 + 0.026093857038 0.223295965498 + -0.159308303714 0.060410410422 + -0.003107117663 0.039698746098 + 0.009149918877 0.187443013396 + 0.747399920062 0.444900070767 + 0.365921600711 0.009385855665 + 0.038454708403 -0.076420375717 + -0.076167818039 0.205578954980 + 0.405511533569 -0.080401916738 + -0.490434643593 0.419116124650 + 0.039720715706 0.145450218292 + -0.000000000454 -0.000000000739 + 0.000000000981 -0.000000000845 + 0.190509129439 0.074533541762 + -0.636061640662 0.601297776265 + 33 36 -1 0 0 + 0.907762758748 -0.267488020581 + 0.026262241284 0.223276224642 + 0.071363997637 -0.063744875799 + 0.146193580348 0.009241533860 + 0.009291284669 0.187436059665 + 0.747735246437 0.444336261072 + -0.193742999566 0.068745460306 + -0.283212901359 -0.137236002009 + -0.076012756371 0.205636340236 + 0.405450783491 -0.080707713259 + 0.172760436998 -0.318476604026 + 0.532815534597 -0.154116969969 + 0.000000000970 0.000000000191 + 0.000000002692 0.000000001637 + 0.020361769696 0.752271794756 + 0.340488162555 -0.354574037573 + 33 32 -1 -1 0 + 0.907967212538 0.266793198314 + 0.026091308179 -0.223296263642 + -0.074947550994 -0.046036708168 + 0.100528515190 0.113011951810 + 0.009147802424 -0.187443117161 + 0.747394810679 -0.444908654573 + 0.186472356661 0.030616773605 + -0.291795739593 -0.143008647240 + -0.076170069813 -0.205578120478 + 0.405512430300 0.080397396434 + -0.208188288602 -0.259954998400 + 0.213658117542 0.531365415980 + 0.000000000004 -0.000000000175 + 0.000000000099 0.000000000654 + -0.153694062992 0.761692390531 + -0.213483514854 0.398258743749 + 34 18 0 0 0 + 0.846543504108 0.388157509468 + 0.303479145542 -0.040758771612 + 0.023608825209 -0.151339074960 + -0.000000000223 -0.000000000367 + -0.166176410356 -0.146046700654 + 0.731127352383 0.357096539394 + -0.481510126598 -0.056748387636 + -0.000000000432 0.000000000432 + -0.075111443728 -0.024316807399 + 0.117892987911 -0.083000868615 + 0.125002449518 -0.173008780351 + 0.559245174565 -0.747045542187 + -0.043564863281 -0.227974903105 + 0.380659698057 0.186446862028 + 0.622689094235 0.077464988158 + -0.314288794429 -0.044513676637 + 34 33 0 0 0 + -0.908462630096 0.265101335294 + -0.008798627746 -0.187459832063 + 0.076552922024 -0.205435863472 + -0.000000000957 0.000000000240 + -0.025675298085 -0.223344479249 + -0.746564767455 -0.446300081162 + -0.405661503009 0.079641805629 + -0.000000001545 0.000000000904 + 0.093451343544 0.020568800380 + -0.169118301572 -0.116881512408 + 0.359350566669 -0.046267548988 + -0.330720610834 -0.675981749361 + 0.122885700180 -0.079731254614 + -0.309198340104 0.058648565569 + 0.335914510449 -0.441368184349 + 0.466070275170 0.156311996666 + 34 35 0 0 0 + 0.833341764518 -0.301002854837 + -0.259372303603 -0.045347459253 + 0.183179200800 -0.295781373925 + 0.000000000968 0.000000001274 + 0.129318955130 -0.343568302349 + 0.343551878992 -0.710176613128 + -0.090492241623 0.453293438568 + 0.000000000013 -0.000000003232 + 0.156469190077 -0.122171842784 + -0.003323339966 0.373062343784 + 0.171440733792 0.510950071918 + -0.200654351134 0.528622913725 + -0.090917968171 0.105838623442 + -0.049329626142 -0.257536317895 + -0.188838363587 -0.328372781518 + -0.131834073773 0.793594746309 + 34 38 0 0 0 + -0.866330812893 -0.404819999847 + -0.187261868683 0.020784314068 + 0.040682632247 0.048116572697 + 0.102896161361 -0.123352555193 + 0.009124711521 0.152699697579 + -0.760692999547 -0.329818687097 + -0.037106598163 0.036615604568 + 0.045124888744 0.448271077960 + -0.068905523456 0.102996575519 + 0.167758530928 -0.321454359500 + -0.079683396780 -0.619839790292 + 0.564237757923 0.010304184544 + -0.144953735065 0.042208305410 + 0.333310503936 -0.013014467601 + -0.467206424283 0.414287628382 + 0.159218594877 0.283618805851 + 34 50 0 0 0 + -0.424670113229 0.684404485314 + -0.097758324688 -0.516245994576 + -0.193167212396 -0.158334319896 + -0.000000000474 -0.000000000615 + -0.054203829739 -0.460452974387 + -0.692155656428 -0.332904127068 + 0.068452868192 -0.419197735602 + -0.000000000700 0.000000000307 + -0.332585037319 0.104035409817 + -0.337104796866 0.068835899342 + 0.650218831134 0.532713337749 + 0.000000001045 -0.000000003118 + 0.000000000801 0.000000000065 + 0.000000000791 0.000000000602 + -0.000000000370 0.000000000040 + 0.965130225132 0.143529468274 + 34 55 0 0 0 + -0.846671687222 -0.238170534334 + 0.305912436370 0.103614706789 + -0.167284495224 -0.045437025564 + 0.105471006198 -0.242701418048 + -0.248042288965 0.232421791122 + -0.791005478808 0.171680134957 + 0.022919438936 -0.291896919155 + 0.323201918105 -0.059575253074 + -0.031627310292 0.225623103780 + 0.302145700306 0.076270405488 + -0.090133824379 -0.675851312565 + 0.105441955021 0.471762075921 + 0.180457503418 0.096768738910 + 0.322472492358 -0.122010610151 + 0.531137372774 -0.304376310562 + 0.347343414536 -0.408052617528 + 34 29 0 -1 0 + 0.866484736632 0.404490431803 + 0.187253949865 -0.020855543995 + -0.040700933613 -0.048101093624 + 0.102849234049 -0.123391687299 + -0.009182797072 -0.152696215769 + 0.760818405076 0.329529299903 + 0.037092666445 -0.036629716594 + 0.045295403895 0.448253880701 + 0.068866344816 -0.103022775712 + -0.167636259852 0.321518137365 + 0.079919134382 0.619809440311 + 0.564241636930 0.010089590110 + 0.071593113018 0.132919345857 + -0.082441524789 -0.323216128192 + 0.502844721081 0.370220564304 + -0.244043608722 0.215018381460 + 34 46 0 -1 0 + 0.594214699727 0.648449718565 + -0.205446165531 -0.249219377535 + 0.118257927411 0.126742607663 + 0.217499422952 -0.150738562397 + 0.099948027404 -0.324892683611 + 0.601442031308 -0.541692913593 + 0.125002875639 0.264770456125 + 0.250995284704 -0.212155749756 + 0.165820912723 0.156235386929 + 0.236899435001 -0.202454584287 + -0.603585915693 -0.317148462956 + -0.445902425898 -0.186677493444 + 0.055570320438 0.197081300775 + 0.311643406140 0.147490624169 + 0.587756045959 0.171156882662 + -0.534843357371 0.033120489040 + 35 19 0 0 0 + -0.833041333723 -0.301833319425 + -0.128976444271 -0.343697028380 + 0.156347338450 0.122327739057 + -0.090812432221 -0.105929189879 + 0.259417373230 -0.045088915299 + -0.342843860970 -0.710518685141 + -0.002951499123 -0.373065471674 + -0.049586297642 0.257487026025 + -0.182884165947 -0.295963888864 + 0.090040185159 0.453383448903 + 0.171950157468 -0.510778854608 + -0.189165710340 0.328184309024 + -0.000000000202 0.000000000401 + 0.000000001928 -0.000000001532 + -0.235063975219 -0.514246334662 + -0.183859899204 -0.783178384386 + 35 34 0 0 0 + 0.833341764518 0.301002854837 + 0.129318955130 0.343568302349 + 0.156469190077 0.122171842784 + -0.090917968171 -0.105838623442 + -0.259372303603 0.045347459253 + 0.343551878992 0.710176613128 + -0.003323339966 -0.373062343784 + -0.049329626142 0.257536317895 + 0.183179200800 0.295781373925 + -0.090492241623 -0.453293438568 + 0.171440733792 -0.510950071918 + -0.188838363587 0.328372781518 + 0.000000000968 -0.000000001274 + 0.000000000013 0.000000003232 + -0.200654351134 -0.528622913725 + -0.131834073773 -0.793594746309 + 35 36 0 0 0 + 0.261832141123 0.846466269525 + 0.076870613643 -0.358961666427 + 0.047304091550 -0.192797533839 + -0.059274074426 0.126311026813 + 0.057387965135 -0.256976661980 + 0.234292766611 -0.753316410931 + 0.228255838977 0.295103085002 + -0.116457926052 -0.234938119763 + 0.286921555170 0.196767028796 + -0.022181805640 0.461705264345 + 0.450866397688 0.295264952719 + -0.269835992450 -0.265851745661 + -0.000000000567 0.000000000524 + -0.000000000040 -0.000000002002 + -0.524397683742 0.211450778538 + -0.790724861676 0.148077801559 + 35 39 0 0 0 + -0.262087835913 -0.846387135402 + 0.076762171628 -0.358984872535 + -0.097142901841 -0.100155617423 + -0.107454495322 -0.166919436901 + -0.057310343803 0.256993983936 + 0.234065221326 -0.753387143360 + 0.260952416870 -0.025733309960 + 0.371218344495 0.037195396620 + -0.286981034402 -0.196680270024 + -0.022042211853 0.461711952828 + 0.344167819800 -0.158231232145 + 0.524410134562 -0.124321777802 + 0.000000000586 0.000000000533 + -0.000000000274 -0.000000003881 + -0.468857232545 -0.653716872407 + 0.232635321179 0.515349552961 + 35 51 0 0 0 + 0.260878754945 0.846760586915 + 0.077274796191 -0.358874875166 + -0.047521172089 0.192744141921 + 0.059416279486 -0.126244194769 + 0.057677335953 -0.256911868863 + 0.235141002899 -0.753052073574 + -0.227923348039 -0.295359954615 + 0.116193265174 0.235069121904 + 0.286699869885 0.197089895343 + -0.022701537791 0.461680004095 + -0.450533723391 -0.295772310707 + 0.269536537561 0.266155328311 + -0.000000000225 0.000000000163 + 0.000000003566 0.000000000622 + 0.178441210475 0.536528737342 + 0.098633887700 0.798401042157 + 35 56 0 0 0 + -0.833194317884 -0.301410757870 + 0.129150752486 0.343631565682 + -0.131210447317 0.047452186386 + -0.196320632987 0.029441067862 + 0.259394469401 -0.045220490918 + 0.343204205181 0.710344698003 + 0.223280144944 0.137493069509 + 0.272949162372 0.254333072221 + -0.183034316758 -0.295871054648 + -0.090270224255 -0.453337701508 + 0.240011179074 0.293058434610 + 0.252714650121 0.476022264848 + 0.000000000458 0.000000000071 + -0.000000001703 0.000000000336 + -0.697444880858 0.400928254226 + 0.536083269715 -0.179775065449 + 35 30 0 -1 0 + -0.263101600214 -0.846072551694 + 0.076332061100 -0.359076575229 + 0.097262817870 0.100039168821 + 0.107654381821 0.166790586635 + -0.057002445982 0.257062453469 + 0.233162558712 -0.753666993861 + -0.260921404102 0.026045888806 + -0.371262636402 -0.036750682085 + -0.287216443638 -0.196336332869 + -0.021489073478 0.461738028670 + -0.343978015232 0.158643428907 + -0.524260818429 0.124949924055 + -0.000000002166 -0.000000000658 + 0.000000003234 -0.000000000212 + 0.099997545212 0.798231374197 + 0.041541239699 -0.563895980241 + 35 47 0 -1 0 + -0.832851794175 -0.302355922086 + 0.128760780924 0.343777881293 + 0.131264200505 -0.047303283005 + 0.196353910353 -0.029218297933 + 0.259445611731 -0.044926149893 + 0.342398019328 0.710733644272 + -0.223124001910 -0.137746321946 + -0.272660418788 -0.254642597196 + -0.182698592899 -0.296078477684 + -0.089755946099 -0.453439802113 + -0.239678602305 -0.293330492176 + -0.252174532441 -0.476308618217 + -0.000000000462 -0.000000000294 + 0.000000003113 0.000000000287 + -0.697427155542 -0.400959117410 + 0.425115855136 0.372801387938 + 36 20 0 0 0 + 0.423254072859 0.685281106487 + 0.098825570928 -0.516042753281 + 0.193494167308 -0.157934594838 + -0.000000000538 -0.000000000688 + 0.055155783077 -0.460339913111 + 0.692842530914 -0.331472227122 + -0.067586000318 -0.419338370976 + 0.000000000695 -0.000000000446 + 0.332369216583 0.104722856837 + 0.336961746649 0.069532781990 + -0.651318847222 0.531367847382 + -0.000000000987 0.000000001164 + 0.000000000234 0.000000000231 + -0.000000000281 -0.000000001246 + -0.000000000053 0.000000000075 + 0.952134647209 -0.213346398850 + 36 35 0 0 0 + 0.261832141123 -0.846466269525 + 0.057387965135 0.256976661980 + 0.286921555170 -0.196767028796 + -0.000000000567 -0.000000000524 + 0.076870613643 0.358961666427 + 0.234292766611 0.753316410931 + -0.022181805640 -0.461705264345 + -0.000000000040 0.000000002002 + 0.047304091550 0.192797533839 + 0.228255838977 -0.295103085002 + 0.450866397688 -0.295264952719 + -0.524397683742 -0.211450778538 + -0.059274074426 -0.126311026813 + -0.116457926052 0.234938119763 + -0.269835992450 0.265851745661 + -0.790724861676 -0.148077801559 + 36 40 0 0 0 + -0.683505965070 0.553532063446 + 0.240015259583 -0.216127508653 + -0.135687092951 0.107877884312 + 0.245447332496 0.098912677804 + -0.330329779661 -0.080169204440 + -0.773011053938 0.240036755771 + 0.163669247906 0.242778684755 + 0.250557999088 -0.212672014712 + 0.150632392078 -0.170926750664 + 0.254637951948 0.179634946152 + -0.571605733582 0.371706858584 + 0.315194452952 -0.366510461698 + -0.005654341649 0.204687880564 + -0.266077304776 0.219266881684 + -0.528004279129 0.309779488999 + -0.454971852302 0.283116587552 + 36 52 0 0 0 + -0.847224369140 0.386669143068 + -0.303407043956 -0.041292072321 + -0.023342833895 -0.151380330592 + 0.000000000297 0.000000002035 + 0.166432826210 -0.145754424791 + -0.731753829139 0.355811018335 + 0.481609112049 -0.055902110132 + -0.000000001616 0.000000001932 + 0.217547666016 0.087121292922 + -0.111411156654 -0.413209994495 + 0.043253775027 -0.632077279547 + 0.253704755391 0.139547003455 + -0.068964890150 0.020741941341 + 0.105931249308 0.077947194685 + 0.110695867399 0.160168761575 + 0.928592590384 -0.159585191851 + 36 33 1 0 0 + 0.907762758748 0.267488020581 + 0.009291284669 -0.187436059665 + -0.076012756371 -0.205636340236 + 0.000000000970 -0.000000000191 + 0.026262241284 -0.223276224642 + 0.747735246437 -0.444336261072 + 0.405450783491 0.080707713259 + 0.000000002692 -0.000000001637 + 0.071363997637 0.063744875799 + -0.193742999566 -0.068745460306 + 0.172760436998 0.318476604026 + 0.020361769696 -0.752271794756 + 0.146193580348 -0.009241533860 + -0.283212901359 0.137236002009 + 0.532815534597 0.154116969969 + 0.340488162555 0.354574037573 + 36 53 1 0 0 + 0.866889956023 -0.403621250841 + 0.187232938914 0.021043333885 + -0.040749146344 0.048060256142 + -0.140530144725 -0.077812280585 + -0.009335927007 0.152686929068 + 0.761148512891 -0.328766093937 + 0.037055916948 0.036666893428 + 0.119980633877 0.434267040505 + 0.068762980900 0.103091794649 + -0.167313689328 -0.321686117955 + 0.080540678842 -0.619728981423 + -0.522352711996 0.213583868970 + 0.117244414396 -0.095115050058 + -0.200513648727 0.266569965710 + 0.606612393673 -0.148113078950 + 0.238836015136 0.220788454876 + 36 31 0 -1 0 + 0.879125558905 -0.026765678247 + -0.321877107952 0.026712405680 + 0.173305565035 -0.003715804638 + 0.135473021000 0.227321737256 + -0.137665577439 0.310794229580 + 0.098664551936 0.803385983363 + 0.268026388367 -0.117859954799 + 0.164696617581 0.284400635119 + 0.160917335954 -0.161281376028 + 0.243038178061 0.195042672820 + -0.593504597106 0.335635811039 + -0.337262932311 0.346310813788 + 0.196768193543 0.056669014955 + 0.145749583767 0.312461447432 + 0.167875056770 0.588701804905 + -0.160325670122 -0.511321874601 + 36 48 0 -1 0 + 0.866950324380 -0.403491564885 + 0.187229788751 0.021071342377 + -0.040756335883 0.048054159905 + 0.140518503294 0.077833301779 + -0.009358765972 0.152685530623 + 0.761197681527 -0.328652237476 + 0.037050432034 0.036672435985 + -0.119915673200 -0.434284981901 + 0.068747551741 0.103102083461 + -0.167265545299 -0.321711154075 + 0.080633424140 -0.619716921539 + 0.522384666722 -0.213505692281 + 0.043161304917 0.144672828956 + -0.169850822353 -0.287081810234 + -0.094645234416 0.617218243157 + 0.295235482610 -0.136477816710 + 37 21 0 0 0 + 0.846539970924 0.388165215191 + 0.303479517675 -0.040756001914 + 0.023610170674 -0.151338865751 + -0.000000003155 0.000000001685 + -0.166175076985 -0.146048216112 + 0.731124087255 0.357103229252 + -0.481509622447 -0.056752675427 + -0.000000000582 0.000000001760 + -0.095231495797 -0.093117520862 + 0.240420535834 -0.036913860326 + 0.318721154108 -0.167567727413 + -0.712344049646 0.421172236566 + -0.150690323970 0.140199881394 + -0.039424364328 -0.373809032927 + -0.235384230388 -0.504214568099 + -0.250458959954 -0.473330039304 + 37 33 0 0 0 + 0.908399730735 -0.265316787585 + 0.008843084198 0.187457739066 + -0.076504150074 0.205454029257 + -0.000000000351 -0.000000000470 + 0.025728267851 0.223338385120 + 0.746670583438 0.446123024042 + 0.405642585941 -0.079738104547 + 0.000000001336 0.000000000871 + 0.168478512976 -0.025368171436 + -0.355667894619 -0.086527795233 + 0.567950160178 -0.305969084580 + -0.204399896137 -0.008346173445 + 0.022154685528 0.033087978878 + -0.017156596653 -0.083812225823 + 0.121288120322 0.089569482382 + 0.340652486187 0.806281158901 + 37 38 0 0 0 + 0.866426799624 0.404614520677 + 0.187256935333 -0.020828722328 + -0.040694053428 -0.048106912985 + 0.148328419406 -0.061661601700 + -0.009160926913 -0.152697528225 + 0.760771193235 0.329638280821 + 0.037097904958 -0.036624411560 + -0.167643017091 0.418185405778 + 0.068881093368 -0.103012915573 + -0.167682293934 0.321494133131 + 0.079830540487 0.619820857451 + 0.495287561202 0.270482262226 + -0.144943719276 0.042242683234 + 0.333307407494 -0.013093510410 + -0.467108061951 0.414398528850 + -0.009738998489 -0.325108196530 + 37 41 0 0 0 + -0.689791489809 -0.556101532683 + 0.095851335370 0.245240504628 + -0.347896295145 -0.003067735869 + -0.000000000771 -0.000000000816 + -0.060449115408 -0.362089041752 + -0.058994138403 -0.786700965090 + 0.149074032822 0.437539391880 + 0.000000001882 0.000000001292 + -0.060342338143 -0.177344858660 + 0.331444372642 0.118688508651 + 0.508543829981 0.005711450133 + 0.063089726653 -0.621775507316 + -0.063815209211 0.140398291546 + -0.131867180867 -0.258096176523 + -0.301799984568 -0.290203081698 + 0.573173753612 -0.497758932501 + 37 53 0 0 0 + 0.424088536095 -0.684765009178 + 0.098196844438 0.516162761523 + 0.193301688234 0.158170118366 + -0.000000000361 0.000000000987 + 0.054594979824 0.460406759963 + 0.692438211907 0.332316012242 + -0.068096627213 0.419255752334 + 0.000000001628 0.000000000653 + 0.332496530032 -0.104317931736 + 0.337046196479 -0.069122265751 + -0.650671299842 -0.532160586730 + 0.000000002639 0.000000001445 + 0.000000000595 -0.000000000187 + -0.000000000954 0.000000001726 + -0.000000000730 -0.000000000736 + 0.693590382731 0.686301278300 + 37 58 0 0 0 + 0.557995068491 -0.679867379833 + -0.217694254239 0.238595131972 + 0.108763861943 -0.134977953101 + -0.069556820067 -0.255323244905 + -0.316250714390 0.124620825227 + -0.798587518427 -0.131991318783 + 0.128904862237 -0.262892847980 + -0.256150439425 -0.205902034621 + -0.227747983315 0.006076780645 + -0.025312631451 0.310593738959 + 0.651678019473 -0.200536442642 + 0.481176554689 0.046331281272 + -0.197665154270 0.053456397200 + -0.150819862498 0.310045909381 + -0.177441784023 0.585889290067 + 0.223725449620 -0.486930498030 + 37 20 -1 0 0 + 0.866397640246 0.404676955994 + 0.187258435269 -0.020815228044 + -0.040690587145 -0.048109845177 + -0.148332861994 0.061650911927 + -0.009149925425 -0.152698188035 + 0.760747441265 0.329693092417 + 0.037100543519 -0.036621738444 + 0.167673146514 -0.418173326702 + 0.068888503573 -0.103007959935 + -0.167705420559 0.321482068928 + 0.079785954671 0.619826597526 + -0.495268102880 -0.270517890359 + 0.064320376532 0.136587023866 + -0.064889991543 -0.327191927250 + 0.482146426795 0.396800837892 + 0.319615852084 -0.060298376099 + 37 40 -1 0 0 + -0.217361137402 0.852251304403 + 0.096090766456 -0.308358540409 + -0.041325971193 0.168347227644 + -0.171188149836 -0.201798733735 + -0.327072194639 -0.092566971633 + -0.555170461420 -0.589024185469 + 0.261872549710 -0.130965188902 + 0.078932731302 0.319027144185 + -0.105935914384 -0.201701892311 + -0.289897405893 0.114318391390 + 0.467483873032 0.496344572222 + -0.170717329530 -0.452253310520 + -0.149547827905 -0.139873323908 + -0.342992506554 0.035089001288 + -0.591497988174 0.157740229780 + -0.531753533348 0.066276468158 + 38 17 0 0 0 + 0.956462364427 -0.130945305626 + 0.166294505425 0.026981640096 + -0.127760875219 0.074184817732 + -0.000000000368 0.000000000145 + -0.108022606303 0.016765305376 + 0.683771111020 -0.418674125329 + -0.345301845502 -0.437083933242 + -0.000000000936 -0.000000000944 + 0.081529008614 0.003612989370 + -0.161204173640 -0.158764737854 + 0.169844518355 -0.208695707088 + -0.130823015576 0.766216401772 + -0.124787473963 0.105379029851 + 0.452592652213 0.014584973020 + 0.033602155874 0.537468284535 + 0.211690837072 0.325623639639 + 38 22 0 0 0 + 0.956473091660 0.130866924684 + 0.166292295031 -0.026995269955 + -0.127766963515 -0.074174329729 + -0.000000000920 0.000000000264 + -0.108023979572 -0.016756458141 + 0.683805407038 0.418618113574 + -0.345265991991 0.437112256259 + -0.000000000061 0.000000000203 + -0.131737788346 -0.048720839975 + 0.361745227884 -0.144173600697 + -0.130030035405 -0.444478282286 + 0.547097732838 -0.094317539028 + 0.080098585283 -0.084807654289 + -0.007555023377 0.323331319185 + 0.381946058444 0.045285460418 + 0.153629258773 -0.650563082107 + 38 34 0 0 0 + -0.866330812893 0.404819999847 + 0.009124711521 -0.152699697579 + -0.068905523456 -0.102996575519 + -0.144953735065 -0.042208305410 + -0.187261868683 -0.020784314068 + -0.760692999547 0.329818687097 + 0.167758530928 0.321454359500 + 0.333310503936 0.013014467601 + 0.040682632247 -0.048116572697 + -0.037106598163 -0.036615604568 + -0.079683396780 0.619839790292 + -0.467206424283 -0.414287628382 + 0.102896161361 0.123352555193 + 0.045124888744 -0.448271077960 + 0.564237757923 -0.010304184544 + 0.159218594877 -0.283618805851 + 38 37 0 0 0 + 0.866426799624 -0.404614520677 + -0.009160926913 0.152697528225 + 0.068881093368 0.103012915573 + -0.144943719276 -0.042242683234 + 0.187256935333 0.020828722328 + 0.760771193235 -0.329638280821 + -0.167682293934 -0.321494133131 + 0.333307407494 0.013093510410 + -0.040694053428 0.048106912985 + 0.037097904958 0.036624411560 + 0.079830540487 -0.619820857451 + -0.467108061951 -0.414398528850 + 0.148328419406 0.061661601700 + -0.167643017091 -0.418185405778 + 0.495287561202 -0.270482262226 + -0.009738998489 0.325108196530 + 38 39 0 0 0 + 0.867231806278 0.402886217755 + -0.009465361210 -0.152678958650 + 0.068675554264 -0.103150055338 + 0.072120660071 0.132633842344 + 0.187215032900 -0.021202041477 + 0.761426930567 0.328120759863 + -0.167040914080 0.321827845463 + -0.083725062072 -0.322886021208 + -0.040789885500 -0.048025684121 + 0.037024811083 -0.036698303055 + 0.081066224580 0.619660453974 + 0.504311755152 0.368219681216 + 0.157900431587 -0.029511460611 + -0.250838684145 0.374250143689 + 0.428312967150 0.367448531615 + -0.325074842936 0.010795185629 + 38 42 0 0 0 + -0.867232624336 -0.402884456089 + 0.009465671612 0.152678941037 + -0.068675345054 0.103150195075 + 0.072120928717 0.132633696018 + -0.187214988349 0.021202437072 + -0.761427624299 -0.328119151417 + 0.167040232055 -0.321828198915 + -0.083725745599 -0.322885841728 + 0.040789967967 0.048025615080 + -0.037024748433 0.036698366949 + -0.081067282190 -0.619660314583 + 0.504312386280 0.368218819960 + 0.084869868914 -0.136383936772 + 0.106616034772 0.437739918229 + 0.560251722789 -0.067737964520 + 0.211571408324 -0.247037902718 + 38 54 0 0 0 + -0.424529352099 0.684491806826 + -0.054298528741 -0.460441816726 + -0.332563624463 0.104103836842 + -0.000000000196 0.000000000156 + -0.097864470307 -0.516225882916 + -0.692224095687 -0.332761793502 + -0.337090630503 0.068905243183 + 0.000000001170 0.000000000473 + -0.193199783433 -0.158294573379 + 0.068366614822 -0.419211811119 + 0.650328469456 0.532579488228 + -0.000000000758 0.000000000510 + 0.000000000486 0.000000000460 + -0.000000000036 0.000000000213 + 0.000000000048 -0.000000003276 + -0.221797618782 -0.950201491330 + 38 59 0 0 0 + -0.423631032224 -0.685048139604 + -0.054902509594 0.460370188641 + -0.332426782856 -0.104539980524 + 0.000000000190 0.000000000452 + -0.098541615329 0.516097051539 + -0.692660041157 0.331853397747 + -0.336999953456 -0.069347364289 + 0.000000000640 0.000000001120 + -0.193407223896 0.158041052054 + 0.067816757509 0.419301113958 + 0.651026330839 -0.531726194643 + -0.000000000217 0.000000000084 + -0.000000000018 0.000000001502 + -0.000000001466 0.000000001232 + 0.000000001795 -0.000000001388 + -0.968418858603 -0.119339768427 + 39 18 0 0 0 + -0.847354735689 0.386383371844 + -0.303393100572 -0.041394388492 + -0.023291735828 -0.151388201032 + 0.000000000039 0.000000000790 + 0.166481968414 -0.145698290267 + -0.731873758381 0.355564265938 + 0.481627948578 -0.055739572639 + -0.000000002192 0.000000000610 + 0.197754985110 -0.121504822145 + -0.394324306103 -0.155475335869 + -0.476985137718 -0.407710329668 + 0.317424275980 -0.000859351455 + -0.068595116729 -0.039086387992 + 0.018168010775 0.143030850771 + -0.043521088544 0.208958285965 + 0.451171300370 0.816870027527 + 39 23 0 0 0 + -0.866918887531 0.403559107502 + -0.187231430678 -0.021056746199 + 0.040752603365 -0.048057324305 + 0.157923287179 0.029388914054 + 0.009346870241 -0.152686258765 + -0.761172059877 0.328711575063 + -0.037053280003 -0.036669559022 + -0.251129047656 -0.374055364730 + -0.068755590551 -0.103096724180 + 0.167290637363 0.321698106244 + -0.080585273156 0.619723182495 + 0.428027657651 -0.367780841861 + -0.059032653663 -0.138954205129 + 0.200819477362 0.266339641242 + 0.025192898806 -0.623924194604 + 0.210583172340 -0.247880858229 + 39 35 0 0 0 + -0.262087835913 0.846387135402 + -0.057310343803 -0.256993983936 + -0.286981034402 0.196680270024 + 0.000000000586 -0.000000000533 + 0.076762171628 0.358984872535 + 0.234065221326 0.753387143360 + -0.022042211853 -0.461711952828 + -0.000000000274 0.000000003881 + -0.097142901841 0.100155617423 + 0.260952416870 0.025733309960 + 0.344167819800 0.158231232145 + -0.468857232545 0.653716872407 + -0.107454495322 0.166919436901 + 0.371218344495 -0.037195396620 + 0.524410134562 0.124321777802 + 0.232635321179 -0.515349552961 + 39 38 0 0 0 + 0.867231806278 -0.402886217755 + 0.187215032900 0.021202041477 + -0.040789885500 0.048025684121 + 0.157900431587 0.029511460611 + -0.009465361210 0.152678958650 + 0.761426930567 -0.328120759863 + 0.037024811083 0.036698303055 + -0.250838684145 -0.374250143689 + 0.068675554264 0.103150055338 + -0.167040914080 -0.321827845463 + 0.081066224580 -0.619660453974 + 0.428312967150 -0.367448531615 + 0.072120660071 -0.132633842344 + -0.083725062072 0.322886021208 + 0.504311755152 -0.368219681216 + -0.325074842936 -0.010795185629 + 39 40 0 0 0 + 0.683673148858 -0.553325561272 + -0.240080532030 0.216055000434 + 0.135719704843 -0.107836858492 + -0.264126021105 -0.016295855328 + -0.330305546241 -0.080268989141 + -0.773083520110 0.239803262820 + 0.163595837899 0.242828160463 + 0.170528560472 -0.280942534572 + 0.150684020665 -0.170881237826 + 0.254583682519 0.179711852365 + -0.571718093902 0.371534020943 + 0.183248155198 -0.447322672675 + 0.005716175996 -0.204686160872 + 0.266143521267 -0.219186500731 + 0.528097913640 -0.309619832177 + 0.342214011646 -0.412363864801 + 39 43 0 0 0 + -0.907789346904 -0.267397773638 + -0.009272641958 0.187436981651 + 0.076033147768 0.205628800971 + 0.000000000006 -0.000000000442 + -0.026240148524 0.223278823336 + -0.747691259015 0.444410276914 + -0.405458745769 -0.080667699912 + 0.000000000401 0.000000000219 + -0.036108141697 -0.070013128032 + 0.128727998007 0.109874371334 + -0.039098716520 -0.295705825975 + -0.471713748795 -0.649374213760 + -0.102318119802 -0.118065932981 + 0.299463568017 0.151604248544 + -0.213569277225 -0.551666093225 + 0.308314298639 0.262152573328 + 39 55 0 0 0 + 0.696893673103 -0.536579312770 + -0.245250605975 0.210167949197 + 0.138295501501 -0.104513055812 + 0.263653028659 0.022697797959 + 0.239118354040 -0.241593207765 + 0.193248449028 -0.786014484824 + -0.292414547000 0.014927984953 + -0.152751976495 -0.290990591676 + -0.222061980804 0.050936705424 + -0.102002837121 -0.294456484320 + 0.681102157450 0.031606292342 + 0.409731790851 -0.256509891429 + -0.199276068776 0.047097220789 + -0.280240412729 -0.200849219504 + -0.434978167585 -0.430750323269 + 0.486481375361 0.224700375895 + 39 60 0 0 0 + -0.423156147104 -0.685341578874 + -0.098899285737 0.516028631121 + -0.193516773694 0.157906893767 + -0.000000000421 -0.000000001092 + -0.055221560281 0.460332027402 + -0.692889872994 0.331373254457 + 0.067525971931 0.419348041884 + 0.000000001024 -0.000000000347 + -0.332354246166 -0.104770353658 + -0.336951809200 -0.069580922087 + 0.651394915395 -0.531274594048 + 0.000000002168 -0.000000004538 + 0.000000000671 0.000000000496 + -0.000000000607 -0.000000000510 + 0.000000000466 0.000000000214 + 0.175868516451 -0.959764209290 + 40 19 0 0 0 + 0.852416154010 -0.216713742308 + -0.327142411012 0.092318513984 + 0.106089089013 -0.201621369541 + 0.139759692193 0.149654024824 + -0.308431441866 0.095856516023 + -0.555617708142 0.588602321910 + 0.289810493036 0.114538556474 + -0.035349517663 0.342965753285 + 0.168378578368 -0.041198054947 + 0.261772970023 0.131164117787 + -0.467860849669 0.495989243120 + -0.158189587267 0.591377969259 + 0.115498833280 0.238092700986 + -0.201024091664 0.259996175252 + -0.338786290572 0.344820696310 + 0.275336414049 -0.459721921678 + 40 24 0 0 0 + 0.553473001360 -0.683553794462 + -0.330322851568 0.080197747897 + -0.150647162944 -0.170913731881 + -0.204687389599 0.005672032128 + -0.216106775265 0.240033925569 + -0.773031782645 -0.239969992196 + -0.254622436894 0.179656938418 + -0.219243899527 0.266096238203 + 0.107866149071 -0.135696426299 + 0.163648251528 -0.242792839905 + 0.571637876015 0.371657426556 + -0.309733829238 0.528031064829 + 0.186274681350 -0.187962371426 + 0.096168812811 -0.314261445324 + -0.211874653871 0.434495792725 + 0.529865968634 0.079977750846 + 40 36 0 0 0 + -0.683505965070 -0.553532063446 + -0.330329779661 0.080169204440 + 0.150632392078 0.170926750664 + -0.005654341649 -0.204687880564 + 0.240015259583 0.216127508653 + -0.773011053938 -0.240036755771 + 0.254637951948 -0.179634946152 + -0.266077304776 -0.219266881684 + -0.135687092951 -0.107877884312 + 0.163669247906 -0.242778684755 + -0.571605733582 -0.371706858584 + -0.528004279129 -0.309779488999 + 0.245447332496 -0.098912677804 + 0.250557999088 0.212672014712 + 0.315194452952 0.366510461698 + -0.454971852302 -0.283116587552 + 40 39 0 0 0 + 0.683673148858 0.553325561272 + -0.330305546241 0.080268989141 + 0.150684020665 0.170881237826 + 0.005716175996 0.204686160872 + -0.240080532030 -0.216055000434 + -0.773083520110 -0.239803262820 + 0.254583682519 -0.179711852365 + 0.266143521267 0.219186500731 + 0.135719704843 0.107836858492 + 0.163595837899 -0.242828160463 + -0.571718093902 -0.371534020943 + 0.528097913640 0.309619832177 + -0.264126021105 0.016295855328 + 0.170528560472 0.280942534572 + 0.183248155198 0.447322672675 + 0.342214011646 0.412363864801 + 40 44 0 0 0 + -0.216287235405 -0.852524476397 + 0.327188558134 -0.092154826713 + 0.106189949174 -0.201568266614 + -0.149723930646 0.139684802804 + 0.095702201088 0.308479357694 + 0.555912100689 -0.588324289865 + 0.289753152275 0.114683525127 + -0.342948025659 -0.035521090652 + -0.041113886184 -0.168399152862 + -0.261707371273 -0.131294953252 + -0.468108720477 0.495755311835 + -0.591298821410 -0.158485178735 + -0.174978101256 0.198521470560 + -0.084958692501 0.317475539380 + 0.179249192286 -0.448940073158 + -0.530403413198 -0.076332214797 + 40 56 0 0 0 + 0.852306129911 -0.217146063393 + 0.327095543204 -0.092484430643 + -0.105986811230 0.201675153004 + 0.139835580966 0.149583121102 + -0.308382778533 0.096012944933 + 0.555319087657 -0.588884066694 + -0.289868548277 -0.114391543623 + -0.035175554944 0.342983640044 + 0.168357653829 -0.041283483988 + -0.261839487534 -0.131031274085 + 0.467609119399 -0.496226579127 + -0.157889495177 0.591458160201 + -0.004162576017 0.264595508837 + 0.296606649076 -0.141538658357 + 0.457811784549 -0.155196094170 + 0.452936389849 -0.286361677411 + 40 37 1 0 0 + -0.217361137402 -0.852251304403 + -0.327072194639 0.092566971633 + -0.105935914384 0.201701892311 + -0.149547827905 0.139873323908 + 0.096090766456 0.308358540409 + -0.555170461420 0.589024185469 + -0.289897405893 -0.114318391390 + -0.342992506554 -0.035089001288 + -0.041325971193 -0.168347227644 + 0.261872549710 0.130965188902 + 0.467483873032 -0.496344572222 + -0.591497988174 -0.157740229780 + -0.171188149836 0.201798733735 + 0.078932731302 -0.319027144185 + -0.170717329530 0.452253310520 + -0.531753533348 -0.066276468158 + 40 57 1 0 0 + -0.553637299756 0.683420723571 + -0.330342121256 0.080118340612 + -0.150606072823 -0.170949942075 + 0.204688746771 -0.005622827116 + 0.216164477420 -0.239981969868 + -0.772974070031 -0.240155823758 + -0.254665617199 0.179595721033 + 0.219307863953 -0.266043526586 + -0.107898744392 0.135670505670 + 0.163706573078 -0.242753518270 + 0.571548580389 0.371794737814 + 0.309860664643 -0.527956643046 + -0.229264964192 -0.132157822790 + 0.328396929980 0.012812203839 + -0.474171510947 -0.094015108270 + -0.057848070693 -0.532736321667 + 41 25 0 0 0 + 0.690147497236 -0.555659649990 + 0.060680996321 -0.362050254333 + -0.060455903021 0.177306174634 + -0.063725280394 -0.140439132085 + -0.096008362604 0.245179073110 + 0.059497913031 -0.786663024724 + 0.331520312883 -0.118476238416 + -0.132032425153 0.258011679278 + 0.347898187501 -0.002844984503 + -0.149354144175 0.437443850198 + 0.508547385597 -0.005385841162 + -0.301985730771 0.290009790954 + 0.000000000836 0.000000001481 + -0.000000001896 0.000000000277 + 0.491002019981 0.386655031884 + 0.756233524099 -0.066354986998 + 41 37 0 0 0 + -0.689791489809 0.556101532683 + -0.060449115408 0.362089041752 + -0.060342338143 0.177344858660 + -0.063815209211 -0.140398291546 + 0.095851335370 -0.245240504628 + -0.058994138403 0.786700965090 + 0.331444372642 -0.118688508651 + -0.131867180867 0.258096176523 + -0.347896295145 0.003067735869 + 0.149074032822 -0.437539391880 + 0.508543829981 -0.005711450133 + -0.301799984568 0.290203081698 + -0.000000000771 0.000000000816 + 0.000000001882 -0.000000001292 + 0.063089726653 0.621775507316 + 0.573173753612 0.497758932501 + 41 42 0 0 0 + 0.859545886203 0.215039728269 + 0.246400420862 -0.272120198597 + -0.004145001408 -0.154165108121 + -0.131939535441 -0.132982537315 + -0.189972178396 -0.182321022322 + 0.580244679006 -0.534504283691 + 0.231612715692 0.174235871311 + 0.349941065188 -0.038517401874 + 0.317025551299 -0.143304017890 + -0.250558882154 0.388437936129 + 0.398435239202 0.128648423570 + 0.459643301373 -0.217663697381 + 0.000000000348 0.000000000182 + -0.000000000545 0.000000002097 + 0.162681326325 0.741503133923 + -0.515722550686 -0.353008976256 + 41 45 0 0 0 + 0.859317842248 0.215949208416 + -0.246688249595 0.271859296874 + -0.186505451393 0.017553146366 + 0.101966023358 -0.115702166030 + -0.189779113835 -0.182521976864 + -0.580810044095 0.533889883314 + 0.192343375364 -0.294866691870 + 0.050914741566 0.285324863818 + 0.317177020524 -0.142968457678 + 0.250969790730 -0.388172576067 + 0.123534760066 -0.493344311457 + 0.204110880670 0.365567791199 + -0.000000001497 0.000000000811 + 0.000000001003 0.000000000181 + -0.446849970323 -0.436932719144 + -0.758993307144 -0.014875419455 + 41 57 0 0 0 + 0.859447286896 0.215433459396 + -0.246525054247 0.272007295602 + 0.186494885651 -0.017665073255 + -0.101896566121 0.115763339820 + -0.189888621126 -0.182408046752 + -0.580489523382 0.534238363529 + -0.192166368641 0.294982072455 + -0.051085970585 -0.285294253109 + 0.317091122762 -0.143158868332 + 0.250736688526 -0.388323189790 + -0.123238531309 0.493418390600 + -0.204330333274 -0.365445171107 + 0.000000001237 0.000000000997 + -0.000000001348 -0.000000002048 + -0.596155473129 0.187573297217 + -0.371510840580 0.662020998047 + 41 62 0 0 0 + 0.690230922665 -0.555556015551 + -0.060735359810 0.362041137541 + -0.142239754764 -0.059597929492 + -0.175465556786 0.065606668608 + -0.096045190776 0.245164649544 + -0.059616080737 0.786654077742 + 0.078719681968 0.278936910842 + 0.301750793190 0.181352690208 + 0.347898610729 -0.002792709182 + 0.149419878592 -0.437421404128 + -0.024093812218 0.417995868982 + 0.326466483933 0.389960365389 + 0.000000000999 -0.000000000702 + -0.000000001027 -0.000000000516 + 0.242149172243 0.719483063330 + -0.550969245545 -0.294988099586 + 41 24 -1 0 0 + -0.859499048671 -0.215226853808 + -0.246459658775 0.272066550135 + -0.004111437767 -0.154166005790 + -0.131910581449 -0.133011256888 + 0.189932467739 0.182362392888 + -0.580361074911 0.534377901010 + 0.231574755512 0.174286316675 + 0.349949441652 -0.038441187492 + -0.317056724564 0.143235038510 + 0.250643392374 -0.388383415000 + 0.398407243496 0.128735115780 + 0.459690648732 -0.217563679043 + 0.000000001322 -0.000000000026 + -0.000000001391 0.000000000659 + -0.754135445359 0.087016353160 + 0.403254629654 -0.477462882798 + 41 44 -1 0 0 + -0.690491562978 0.555232038492 + 0.060905255144 -0.362012597889 + -0.142211773208 -0.059664674745 + -0.175496324136 0.065524314726 + 0.096160224499 -0.245119552600 + 0.059985210852 -0.786626018134 + 0.078588776452 0.278973821646 + 0.301665653773 0.181494265025 + -0.347899883369 0.002629505998 + -0.149625056880 0.437351265842 + -0.024289894613 0.417984517429 + 0.326283510968 0.390113465841 + 0.000000000386 0.000000000560 + -0.000000002655 0.000000000700 + 0.750591541531 -0.113597798601 + -0.386139240262 0.491407752098 + 42 21 0 0 0 + -0.847450649321 0.386172958465 + -0.303382809595 -0.041469747002 + -0.023254194747 -0.151393973034 + -0.000000000656 0.000000001831 + 0.166518145245 -0.145656944758 + -0.731962061430 0.355382451611 + 0.481641758849 -0.055620126893 + -0.000000001224 0.000000001698 + 0.165296911624 -0.122639761630 + -0.360379360636 -0.106837208160 + -0.452919547528 -0.323267612210 + -0.149433132479 -0.514238033538 + 0.074218525776 0.110596207268 + 0.080078129961 -0.229678385402 + 0.222806074856 -0.282877307762 + -0.804690511543 0.193114658169 + 42 26 0 0 0 + -0.866834183107 0.403741016036 + -0.187235843155 -0.021017472620 + 0.040742503609 -0.048065888026 + -0.085004563607 -0.136300024884 + 0.009314831297 -0.152688217652 + -0.761103094785 0.328871225853 + -0.037060984686 -0.036661770961 + -0.106183524832 0.437845032761 + -0.068777211956 -0.103082300888 + 0.167358081021 0.321663024415 + -0.080455086766 0.619740098113 + -0.560318365516 -0.067184465815 + 0.060532733315 0.138307318265 + -0.203689593974 -0.264151128006 + -0.018440134925 0.624160268572 + 0.324879220439 -0.015610187720 + 42 38 0 0 0 + -0.867232624336 0.402884456089 + -0.187214988349 -0.021202437072 + 0.040789967967 -0.048025615080 + 0.084869868914 0.136383936772 + 0.009465671612 -0.152678941037 + -0.761427624299 0.328119151417 + -0.037024748433 -0.036698366949 + 0.106616034772 -0.437739918229 + -0.068675345054 -0.103150195075 + 0.167040232055 0.321828198915 + -0.081067282190 0.619660314583 + 0.560251722789 0.067737964520 + 0.072120928717 -0.132633696018 + -0.083725745599 0.322885841728 + 0.504312386280 -0.368218819960 + 0.211571408324 0.247037902718 + 42 41 0 0 0 + 0.859545886203 -0.215039728269 + -0.189972178396 0.182321022322 + 0.317025551299 0.143304017890 + 0.000000000348 -0.000000000182 + 0.246400420862 0.272120198597 + 0.580244679006 0.534504283691 + -0.250558882154 -0.388437936129 + -0.000000000545 -0.000000002097 + -0.004145001408 0.154165108121 + 0.231612715692 -0.174235871311 + 0.398435239202 -0.128648423570 + 0.162681326325 -0.741503133923 + -0.131939535441 0.132982537315 + 0.349941065188 0.038517401874 + 0.459643301373 0.217663697381 + -0.515722550686 0.353008976256 + 42 43 0 0 0 + 0.907788804068 0.267399616514 + 0.009273038341 -0.187436963103 + -0.076032795192 -0.205628931806 + 0.000000000359 0.000000000808 + 0.026240601426 -0.223278768827 + 0.747692198476 -0.444408697046 + 0.405458607696 0.080668391998 + 0.000000001273 -0.000000001589 + 0.116492696935 -0.049275696279 + -0.191600077406 0.192702204261 + 0.478192994771 -0.026554673194 + 0.425646751680 -0.452288106789 + -0.115393909926 -0.036052740507 + 0.258788470602 -0.022121302413 + -0.365101614283 -0.276125110041 + 0.645676744885 -0.073104406197 + 42 46 0 0 0 + -0.088989755306 -0.875019411294 + 0.049452187760 0.319175355411 + -0.015986221860 -0.172606681952 + 0.263286696852 -0.026612593546 + 0.087649173968 -0.328424248469 + -0.222422443903 -0.778262160878 + -0.246432440007 0.158114407947 + -0.056723981952 -0.323714513603 + -0.086806590747 0.210643507797 + -0.299236283422 -0.086987623261 + 0.419522329732 -0.537494296272 + 0.374542480436 -0.305606603136 + -0.110785272130 0.172208371624 + -0.341154570981 0.049886434730 + -0.612114280864 -0.008243593741 + 0.471539270035 0.254568454971 + 42 58 0 0 0 + 0.211517226262 0.853720451686 + -0.093975899613 -0.309009636301 + 0.040171718190 0.168626388788 + 0.256901087292 -0.063481821730 + 0.311368618931 -0.136361459945 + 0.469539435885 -0.659315137899 + -0.277302922875 -0.093979799592 + -0.217629145296 0.246264597670 + -0.086867955746 -0.210618210097 + 0.273597741890 -0.149175990547 + 0.081174225748 0.676985856830 + 0.050339632041 -0.480773734805 + 0.112663819098 -0.170985272795 + 0.341680240250 -0.046148785579 + 0.611987355404 0.014943990800 + 0.468724229383 0.259715202972 + 42 63 0 0 0 + -0.423043758462 -0.685410959202 + -0.098983946164 0.516012398633 + -0.193542613991 0.157875220774 + 0.000000000932 0.000000001832 + -0.055297057970 0.460322964537 + -0.692944239049 0.331259553942 + 0.067457330324 0.419359088781 + -0.000000001455 0.000000000907 + -0.332337046055 -0.104824903899 + -0.336940378033 -0.069636254735 + 0.651481937994 -0.531167878048 + 0.000000001291 -0.000000002717 + 0.000000000676 -0.000000000465 + -0.000000001524 0.000000000877 + -0.000000000246 -0.000000000200 + -0.426749910947 -0.877474548364 + 43 22 0 0 0 + -0.734755206531 0.460509148648 + -0.261426321448 -0.405377412987 + -0.000000000317 -0.000000000243 + 0.000000001074 0.000000000013 + 0.298779669541 -0.368840338017 + -0.692180877968 -0.513129964840 + 0.000000000364 0.000000001868 + 0.000000001329 -0.000000001159 + 0.000000002504 0.000000001408 + 0.000000001858 0.000000001718 + 0.832068454534 -0.435816334019 + -0.083813042579 0.245489839967 + 0.000000001057 -0.000000000433 + 0.000000000204 0.000000000240 + 0.178934937629 0.187808875125 + 0.938107123392 0.047210421759 + 43 27 0 0 0 + -0.908178360482 0.266073547634 + -0.025914485278 -0.223316854616 + 0.152630819771 -0.020514615973 + -0.012956241036 -0.082032409008 + -0.008999269833 -0.187450305912 + -0.747042328074 -0.445500248791 + -0.320206529005 -0.083295322394 + -0.040928466466 0.173666590823 + 0.076332940438 -0.205517703178 + -0.405575952248 0.080076326290 + 0.517683625212 -0.268395671805 + -0.151130817901 -0.275762299712 + 0.000000000055 0.000000000697 + 0.000000000283 -0.000000002199 + -0.168987018022 -0.391760874775 + 0.719053811810 -0.330016401165 + 43 39 0 0 0 + -0.907789346904 0.267397773638 + -0.026240148524 -0.223278823336 + -0.036108141697 0.070013128032 + -0.102318119802 0.118065932981 + -0.009272641958 -0.187436981651 + -0.747691259015 -0.444410276914 + 0.128727998007 -0.109874371334 + 0.299463568017 -0.151604248544 + 0.076033147768 -0.205628800971 + -0.405458745769 0.080667699912 + -0.039098716520 0.295705825975 + -0.213569277225 0.551666093225 + 0.000000000006 0.000000000442 + 0.000000000401 -0.000000000219 + -0.471713748795 0.649374213760 + 0.308314298639 -0.262152573328 + 43 42 0 0 0 + 0.907788804068 -0.267399616514 + 0.026240601426 0.223278768827 + 0.116492696935 0.049275696279 + -0.115393909926 0.036052740507 + 0.009273038341 0.187436963103 + 0.747692198476 0.444408697046 + -0.191600077406 -0.192702204261 + 0.258788470602 0.022121302413 + -0.076032795192 0.205628931806 + 0.405458607696 -0.080668391998 + 0.478192994771 0.026554673194 + -0.365101614283 0.276125110041 + 0.000000000359 -0.000000000808 + 0.000000001273 0.000000001589 + 0.425646751680 0.452288106789 + 0.645676744885 0.073104406197 + 43 44 0 0 0 + 0.907957684036 0.266825620144 + 0.026099177383 -0.223295344694 + -0.077191007088 -0.100200757369 + 0.118203554084 0.025366796504 + 0.009154503836 -0.187442789783 + 0.747410510359 -0.444882279078 + 0.234970105415 0.136505601788 + -0.255687978854 0.045656123026 + -0.076162756726 -0.205580831958 + 0.405509606438 0.080411634563 + -0.146881743119 -0.455850248120 + 0.388786727004 0.241638454214 + 0.000000000892 0.000000000236 + 0.000000000512 -0.000000000051 + -0.140220396521 -0.605043738863 + -0.521175895497 -0.388095860812 + 43 47 0 0 0 + 0.907923765601 0.266941013181 + 0.026127556455 -0.223292023871 + -0.065880254267 0.043190602088 + -0.147163934251 0.052453196616 + 0.009178332978 -0.187441624225 + 0.747467058823 -0.444787262526 + 0.095897400624 -0.139452368826 + 0.250010746759 -0.223957372256 + -0.076136641769 -0.205590503679 + 0.405499388343 0.080463143846 + -0.290039296134 0.069626517142 + -0.591561876347 -0.001364800505 + -0.000000000629 0.000000000143 + -0.000000000515 -0.000000000980 + 0.632607279924 0.493972415296 + -0.251291447339 -0.317229071206 + 43 59 0 0 0 + 0.907970025731 0.266783620881 + 0.026088848801 -0.223296549629 + 0.143068407509 0.056995163047 + 0.028950113148 -0.077840036632 + 0.009145842475 -0.187443213303 + 0.747389951052 -0.444916819096 + -0.330849640669 0.002974248169 + 0.005713947297 0.178332765789 + -0.076172311653 -0.205577290045 + 0.405513345697 0.080392780434 + 0.436930150406 0.386166574693 + 0.202764141696 -0.240358225351 + 0.000000000446 0.000000000922 + 0.000000000569 -0.000000001076 + -0.423592789628 -0.051013165783 + 0.076475131712 -0.787464762328 + 43 64 0 0 0 + 0.735028309318 0.460073118715 + 0.261185295276 -0.405532748237 + 0.000000002213 0.000000001417 + -0.000000003270 -0.000000000249 + -0.298998446092 -0.368663011100 + 0.691875740537 -0.513541321752 + 0.000000000679 0.000000000315 + -0.000000002521 0.000000000281 + 0.000000000814 -0.000000000218 + 0.000000000853 -0.000000000534 + 0.455321598940 0.626776819072 + 0.587151516750 -0.068189894377 + 0.000000001575 0.000000000044 + 0.000000000737 0.000000000884 + -0.448733699030 0.384752934309 + -0.150983360858 -0.759849294599 + 44 23 0 0 0 + 0.423067571637 -0.685396260779 + 0.098965947861 0.516015850710 + 0.193537154419 0.157881914201 + -0.000000001298 0.000000000274 + 0.055281060522 0.460324885969 + 0.692932681271 0.331283729589 + -0.067471835368 0.419356755499 + -0.000000000454 0.000000000732 + 0.332340698143 -0.104813324784 + 0.336942813474 -0.069624468383 + -0.651463514096 -0.531190473067 + -0.000000001460 -0.000000000103 + -0.000000000357 0.000000000584 + -0.000000000153 -0.000000000064 + -0.000000000480 -0.000000000138 + -0.841838731484 0.493340267920 + 44 28 0 0 0 + 0.297641369612 0.827639875628 + -0.093243175278 -0.309231524665 + 0.060127049736 0.162583408561 + 0.256093434947 0.066665328598 + -0.037967316863 -0.337791871347 + 0.335395410023 -0.736663866991 + 0.220254960555 0.192916734377 + 0.262036923728 -0.198356617565 + -0.158651830449 0.163510453125 + 0.198956501051 0.239844764733 + 0.325971368346 -0.598867074838 + 0.371128428695 -0.309743689125 + -0.188690836263 -0.079529037534 + -0.309697623500 0.151533752989 + -0.500457923702 0.352553132800 + 0.471604971663 -0.254446727226 + 44 40 0 0 0 + -0.216287235405 0.852524476397 + 0.095702201088 -0.308479357694 + -0.041113886184 0.168399152862 + -0.174978101256 -0.198521470560 + 0.327188558134 0.092154826713 + 0.555912100689 0.588324289865 + -0.261707371273 0.131294953252 + -0.084958692501 -0.317475539380 + 0.106189949174 0.201568266614 + 0.289753152275 -0.114683525127 + -0.468108720477 -0.495755311835 + 0.179249192286 0.448940073158 + -0.149723930646 -0.139684802804 + -0.342948025659 0.035521090652 + -0.591298821410 0.158485178735 + -0.530403413198 0.076332214797 + 44 43 0 0 0 + 0.907957684036 -0.266825620144 + 0.009154503836 0.187442789783 + -0.076162756726 0.205580831958 + 0.000000000892 -0.000000000236 + 0.026099177383 0.223295344694 + 0.747410510359 0.444882279078 + 0.405509606438 -0.080411634563 + 0.000000000512 0.000000000051 + -0.077191007088 0.100200757369 + 0.234970105415 -0.136505601788 + -0.146881743119 0.455850248120 + -0.140220396521 0.605043738863 + 0.118203554084 -0.025366796504 + -0.255687978854 -0.045656123026 + 0.388786727004 -0.241638454214 + -0.521175895497 0.388095860812 + 44 48 0 0 0 + -0.867095623342 -0.403179226977 + -0.187222188209 0.021138770175 + 0.040773648533 0.048039470135 + -0.147108859617 0.064517100820 + 0.009413772095 0.152682148876 + -0.761315999837 -0.328378063092 + -0.037037215056 0.036685785248 + 0.159528642120 -0.421347632658 + -0.068710414887 0.103126836792 + 0.167149698479 -0.321771359345 + -0.080856675668 -0.619687831657 + -0.500423151679 -0.260858375407 + -0.072153143819 0.132616173521 + 0.225559794929 -0.245739793959 + -0.035071946837 0.623446903182 + -0.241447279664 -0.217929799074 + 44 60 0 0 0 + 0.866971034728 0.403447065955 + 0.187228707957 -0.021080934202 + -0.040758807047 -0.048052063742 + -0.147128781607 0.064471653961 + -0.009366606107 -0.152685050079 + 0.761214523391 0.328613227690 + 0.037048545423 -0.036674342228 + 0.159658794411 -0.421298331728 + 0.068742259740 -0.103105612743 + -0.167249060377 0.321719725518 + 0.080665299171 0.619712771847 + -0.500342570344 -0.261012904496 + -0.145020814121 -0.041977246166 + 0.288460636188 0.167498449791 + -0.616423941620 0.099687528123 + -0.160968815159 0.282629131788 + 44 41 1 0 0 + -0.690491562978 -0.555232038492 + 0.096160224499 0.245119552600 + -0.347899883369 -0.002629505998 + 0.000000000386 -0.000000000560 + 0.060905255144 0.362012597889 + 0.059985210852 0.786626018134 + -0.149625056880 -0.437351265842 + -0.000000002655 -0.000000000700 + -0.142211773208 0.059664674745 + 0.078588776452 -0.278973821646 + -0.024289894613 -0.417984517429 + 0.750591541531 0.113597798601 + -0.175496324136 -0.065524314726 + 0.301665653773 -0.181494265025 + 0.326283510968 -0.390113465841 + -0.386139240262 -0.491407752098 + 44 61 1 0 0 + -0.847098689250 -0.386944398783 + -0.303420448665 0.041193459844 + -0.023392001793 0.151372740635 + 0.000000000417 -0.000000000294 + 0.166385449628 0.145808504875 + -0.731638121280 -0.356048881258 + 0.481590924207 0.056058576956 + -0.000000000289 0.000000000355 + -0.022955917729 0.026265343166 + -0.013171504583 -0.062328345105 + -0.048482722866 -0.080891304267 + -0.826624885035 0.518277705064 + 0.213239758563 0.115825100494 + -0.403015840135 0.184315113626 + -0.475247928918 0.452267190116 + -0.098706384127 -0.099637719978 + 45 29 0 0 0 + -0.424080597612 -0.684769926314 + -0.098202824164 0.516161623762 + -0.193303462201 0.158167949695 + -0.000000001066 0.000000000119 + -0.054600318323 0.460406126889 + -0.692442061558 0.332307992660 + 0.068091923426 0.419256517022 + -0.000000000878 -0.000000000234 + -0.332495309837 -0.104321818649 + -0.337045387463 -0.069126202628 + 0.650677321537 -0.532153222603 + 0.000000002896 0.000000001258 + 0.000000000670 -0.000000000059 + 0.000000000213 0.000000000457 + -0.000000000712 0.000000000402 + 0.753261502818 -0.620221076416 + 45 41 0 0 0 + 0.859317842248 -0.215949208416 + -0.189779113835 0.182521976864 + 0.317177020524 0.142968457678 + -0.000000001497 -0.000000000811 + -0.246688249595 -0.271859296874 + -0.580810044095 -0.533889883314 + 0.250969790730 0.388172576067 + 0.000000001003 -0.000000000181 + -0.186505451393 -0.017553146366 + 0.192343375364 0.294866691870 + 0.123534760066 0.493344311457 + -0.446849970323 0.436932719144 + 0.101966023358 0.115702166030 + 0.050914741566 -0.285324863818 + 0.204110880670 -0.365567791199 + -0.758993307144 0.014875419455 + 45 46 0 0 0 + -0.089915681403 -0.874924751547 + 0.049789958505 0.319122835621 + -0.016168865814 -0.172589668895 + 0.137850101613 -0.225888156829 + -0.087301576261 0.328516817691 + 0.223245992128 0.778026323359 + 0.246264983379 -0.158375095331 + 0.292233542634 0.150360408687 + 0.086583633772 -0.210735250746 + 0.299328179395 0.086670879925 + -0.418953312560 0.537937941034 + 0.017265677526 0.483093531326 + -0.110602972699 0.172325512051 + -0.341101581137 0.050247468440 + -0.612122661909 -0.007595841091 + 0.487730945629 -0.221975016938 + 45 61 0 0 0 + 0.846971142214 -0.387223503396 + 0.303434004338 0.041093484116 + 0.023441901548 0.151365021981 + 0.000000000019 -0.000000001221 + -0.166337406788 0.145863309407 + 0.731520792676 -0.356289874943 + -0.481572421718 0.056217294457 + 0.000000000458 0.000000000704 + 0.193694019673 -0.146182332954 + -0.425902572186 -0.122477865746 + -0.537092361812 -0.376746601113 + -0.042946676083 0.133514827352 + 0.026598923183 0.022568555408 + 0.003777797741 -0.063592760429 + 0.035943892269 -0.087189530940 + 0.971668767163 0.088205909051 + 45 33 0 1 0 + 0.907964217398 0.266803388896 + 0.009149918877 -0.187443013396 + -0.076167818039 -0.205578954980 + -0.000000000454 0.000000000739 + 0.026093857038 -0.223295965498 + 0.747399920062 -0.444900070767 + 0.405511533569 0.080401916738 + 0.000000000981 0.000000000845 + -0.159308303714 -0.060410410422 + 0.365921600711 -0.009385855665 + -0.490434643593 -0.419116124650 + 0.190509129439 -0.074533541762 + -0.003107117663 -0.039698746098 + 0.038454708403 0.076420375717 + 0.039720715706 -0.145450218292 + -0.636061640662 -0.601297776265 + 45 50 0 1 0 + 0.866832732653 -0.403744129687 + 0.187235921423 0.021016779158 + -0.040742331550 0.048066033525 + 0.159954004462 0.014771228305 + -0.009314285268 0.152688250464 + 0.761101877920 -0.328874041718 + 0.037061115996 0.036661638597 + -0.284398694323 -0.349428960214 + 0.068777588816 0.103082049641 + -0.167359294783 -0.321662394754 + 0.080452836797 -0.619740390509 + 0.392467580361 -0.405511552277 + 0.101530517105 -0.111734865793 + -0.157943562054 0.293801124329 + 0.577276466727 -0.238050336661 + -0.319937678147 -0.058566781349 + 45 28 -1 0 0 + -0.841374218821 -0.256256851683 + 0.313472739616 0.077802736798 + -0.165363578186 -0.051995328587 + 0.154793446373 0.214632481128 + 0.050506438832 0.336145749971 + 0.514170628159 0.625133826473 + 0.162998113227 -0.243229784328 + -0.327924284750 -0.021779797587 + -0.209307559339 -0.089980092785 + 0.091499953617 -0.297887493539 + 0.531092744151 0.427597475010 + -0.483309565032 0.009451360964 + 0.194048125673 -0.065379080020 + 0.297662998810 0.173988034097 + 0.473059419361 0.388544248556 + 0.519458640453 0.131594469783 + 45 48 -1 0 0 + 0.866645800252 -0.404145229986 + 0.187245626887 0.020930128314 + -0.040720084163 0.048084882789 + -0.159960822190 -0.014697204314 + -0.009243622127 0.152692544922 + 0.760949599171 -0.329226232417 + 0.037078078698 0.036644483637 + 0.284560373062 0.349297307374 + 0.068825284275 0.103050211194 + -0.167508127177 -0.321584914145 + 0.080166039495 -0.619777552721 + -0.392279885383 0.405693126903 + -0.043270391711 -0.144640241309 + 0.170067287772 0.286953632008 + 0.094179729393 -0.617289445274 + 0.215340890812 -0.243759076058 + 46 25 0 0 0 + 0.647927982866 0.594783557548 + 0.099662861041 0.324980274608 + -0.165957961158 0.156089803056 + -0.197032456287 -0.055743258862 + -0.249038995760 -0.205664784784 + 0.600966450889 0.542220487419 + -0.236721683444 -0.202662390388 + -0.147217093839 -0.311772712905 + 0.126638769954 0.118369121078 + 0.125235208083 -0.264660644216 + 0.603864034622 -0.316618593785 + -0.170640961337 -0.587906039178 + -0.166017320700 -0.206073680669 + -0.274454569787 0.180785465111 + 0.053014951667 0.480486086200 + -0.503666476122 -0.182960284125 + 46 30 0 0 0 + -0.875125213613 -0.087943217791 + -0.088041889581 -0.328319189927 + -0.087058447194 -0.210539541304 + -0.172075756126 0.110991142772 + 0.319234262818 0.049070480200 + 0.221491636609 -0.778527575966 + -0.299132048557 0.087345387634 + -0.049478448288 0.341213978577 + -0.172625683094 -0.015779729696 + 0.246621412062 0.157819495321 + 0.420165018316 0.536992051276 + 0.008975842063 0.612103981129 + 0.261922893497 -0.037742678485 + -0.327833098823 0.023111814764 + 0.206135890544 -0.437247590987 + -0.396126106920 0.360885706534 + 46 42 0 0 0 + -0.088989755306 0.875019411294 + 0.087649173968 0.328424248469 + -0.086806590747 -0.210643507797 + -0.110785272130 -0.172208371624 + 0.049452187760 -0.319175355411 + -0.222422443903 0.778262160878 + -0.299236283422 0.086987623261 + -0.341154570981 -0.049886434730 + -0.015986221860 0.172606681952 + -0.246432440007 -0.158114407947 + 0.419522329732 0.537494296272 + -0.612114280864 0.008243593741 + 0.263286696852 0.026612593546 + -0.056723981952 0.323714513603 + 0.374542480436 0.305606603136 + 0.471539270035 -0.254568454971 + 46 45 0 0 0 + -0.089915681403 0.874924751547 + -0.087301576261 -0.328516817691 + 0.086583633772 0.210735250746 + -0.110602972699 -0.172325512051 + 0.049789958505 -0.319122835621 + 0.223245992128 -0.778026323359 + 0.299328179395 -0.086670879925 + -0.341101581137 -0.050247468440 + -0.016168865814 0.172589668895 + 0.246264983379 0.158375095331 + -0.418953312560 -0.537937941034 + -0.612122661909 0.007595841091 + 0.137850101613 0.225888156829 + 0.292233542634 -0.150360408687 + 0.017265677526 -0.483093531326 + 0.487730945629 0.221975016938 + 46 47 0 0 0 + -0.595267093086 0.647483775112 + 0.099420223638 0.325054585899 + 0.166074441433 -0.155965866071 + -0.055890332311 0.196990788664 + 0.205850654444 -0.248885382069 + 0.600561467528 0.542669010820 + 0.236570312725 0.202839068712 + -0.311882533494 0.146984287365 + -0.118463607494 0.126550381015 + 0.125432713852 -0.264567094414 + -0.604100187008 0.316167787052 + -0.588033240596 0.170202109758 + -0.122238467362 0.234703789175 + 0.178964231958 -0.275645604152 + 0.241183924497 0.418936482131 + -0.034291817725 -0.534769535129 + 46 62 0 0 0 + 0.647838665127 0.594880837898 + -0.099614061849 -0.324995235571 + 0.165981396841 -0.156064882020 + -0.197024083289 -0.055772840830 + -0.249008101697 -0.205702188653 + -0.600884994117 -0.542310756428 + 0.236691238218 0.202697948670 + -0.147170257987 -0.311794824881 + 0.126620978004 0.118388147088 + -0.125274973510 0.264641821493 + -0.603911601158 0.316527852153 + -0.170552621437 -0.587931675018 + 0.264500633785 -0.008217480397 + -0.021225187612 0.327960650565 + 0.415309959777 0.247376432305 + 0.449620584903 -0.291540251393 + 46 34 0 1 0 + 0.594214699727 -0.648449718565 + 0.099948027404 0.324892683611 + 0.165820912723 -0.156235386929 + 0.055570320438 -0.197081300775 + -0.205446165531 0.249219377535 + 0.601442031308 0.541692913593 + 0.236899435001 0.202454584287 + 0.311643406140 -0.147490624169 + 0.118257927411 -0.126742607663 + 0.125002875639 -0.264770456125 + -0.603585915693 0.317148462956 + 0.587756045959 -0.171156882662 + 0.217499422952 0.150738562397 + 0.250995284704 0.212155749756 + -0.445902425898 0.186677493444 + -0.534843357371 -0.033120489040 + 46 51 0 1 0 + 0.874891241640 0.090241149266 + -0.087179360127 -0.328549270333 + -0.086505233086 -0.210767445092 + 0.172366643762 -0.110538861207 + -0.319104291163 -0.049908672905 + 0.223535409967 -0.777943219651 + -0.299360400498 0.086559519585 + 0.050374356990 -0.341082865683 + 0.172583649459 0.016232990762 + 0.246206119951 0.158466586038 + 0.418753410461 0.538093566164 + -0.007368408065 -0.612125441078 + -0.207279036310 -0.164509917601 + -0.241896706913 -0.222473992791 + 0.459425076737 -0.150353130254 + 0.534357475046 0.040205394553 + 47 26 0 0 0 + -0.422835221652 0.685539626843 + -0.099140870443 -0.515982270708 + -0.193590649090 -0.157816315614 + 0.000000000801 0.000000000191 + -0.055437089696 -0.460306121889 + -0.693044942572 -0.331048813363 + 0.067329715312 -0.419379596767 + 0.000000000335 -0.000000000090 + -0.332305162375 0.104925938017 + -0.336919198259 0.069738652145 + 0.651643444065 0.530969727108 + 0.000000003089 -0.000000000289 + 0.000000000265 -0.000000000813 + 0.000000001093 -0.000000001417 + -0.000000000918 -0.000000000379 + 0.750599717555 0.623439751249 + 47 31 0 0 0 + -0.547683517400 -0.688201215596 + 0.187618283067 0.262902651937 + -0.109158051975 -0.134659370284 + 0.105227214870 0.242807219270 + 0.148862192920 -0.305589450659 + 0.677793748747 -0.442447023581 + 0.082669942519 0.280882170842 + -0.133820946644 -0.300167702455 + -0.093544095760 -0.207739197574 + -0.296280214841 0.096577602252 + 0.436611636694 0.523707344991 + 0.383433032367 -0.294374886814 + -0.110050793015 -0.172678669799 + -0.340938991842 -0.051339073744 + -0.612143837885 0.005636441299 + -0.120555221084 -0.522131041380 + 47 43 0 0 0 + 0.907923765601 -0.266941013181 + 0.009178332978 0.187441624225 + -0.076136641769 0.205590503679 + -0.000000000629 -0.000000000143 + 0.026127556455 0.223292023871 + 0.747467058823 0.444787262526 + 0.405499388343 -0.080463143846 + -0.000000000515 0.000000000980 + -0.065880254267 -0.043190602088 + 0.095897400624 0.139452368826 + -0.290039296134 -0.069626517142 + 0.632607279924 -0.493972415296 + -0.147163934251 -0.052453196616 + 0.250010746759 0.223957372256 + -0.591561876347 0.001364800505 + -0.251291447339 0.317229071206 + 47 46 0 0 0 + -0.595267093086 -0.647483775112 + 0.205850654444 0.248885382069 + -0.118463607494 -0.126550381015 + -0.122238467362 -0.234703789175 + 0.099420223638 -0.325054585899 + 0.600561467528 -0.542669010820 + 0.125432713852 0.264567094414 + 0.178964231958 0.275645604152 + 0.166074441433 0.155965866071 + 0.236570312725 -0.202839068712 + -0.604100187008 -0.316167787052 + 0.241183924497 -0.418936482131 + -0.055890332311 -0.196990788664 + -0.311882533494 -0.146984287365 + -0.588033240596 -0.170202109758 + -0.034291817725 0.534769535129 + 47 48 0 0 0 + -0.867146857631 -0.403069022311 + -0.187219499340 0.021162570022 + 0.040779750949 0.048034290970 + 0.109504302911 0.117525659141 + 0.009433177182 0.152680952336 + -0.761357738725 -0.328281280169 + -0.037032553692 0.036690489175 + -0.450393980200 -0.011334766836 + -0.068697308521 0.103135568703 + 0.167108792766 -0.321792605657 + -0.080935389529 -0.619677555200 + -0.080842174120 0.558511384138 + 0.072136288910 -0.132625343951 + -0.225528555483 0.245768466699 + 0.034992752529 -0.623451352617 + 0.125902487408 -0.299897902014 + 47 63 0 0 0 + -0.866956969984 -0.403477285576 + -0.187229442830 0.021074414136 + 0.040757127910 0.048053486313 + -0.109448952027 -0.117577208880 + 0.009361280390 0.152685377311 + -0.761203069201 -0.328639759365 + -0.037049827090 0.036673046536 + 0.450388593237 0.011546851288 + -0.068745869673 0.103103205920 + 0.167260316751 -0.321713872995 + -0.080643556893 -0.619715603103 + 0.081105185942 -0.558473249588 + -0.057280149107 0.139685757824 + 0.197453444875 -0.268844575962 + 0.033038795502 0.623557951897 + 0.092530039901 -0.311814656058 + 47 35 0 1 0 + -0.832851794175 0.302355922086 + 0.259445611731 0.044926149893 + -0.182698592899 0.296078477684 + -0.000000000462 0.000000000294 + 0.128760780924 -0.343777881293 + 0.342398019328 -0.710733644272 + -0.089755946099 0.453439802113 + 0.000000003113 -0.000000000287 + 0.131264200505 0.047303283005 + -0.223124001910 0.137746321946 + -0.239678602305 0.293330492176 + -0.697427155542 0.400959117410 + 0.196353910353 0.029218297933 + -0.272660418788 0.254642597196 + -0.252174532441 0.476308618217 + 0.425115855136 -0.372801387938 + 47 52 0 1 0 + 0.847186419300 0.386752279878 + 0.303411097902 -0.041262278712 + 0.023357683816 -0.151378040292 + -0.000000000168 -0.000000000500 + -0.166418513715 -0.145770767799 + 0.731718858686 0.355882927056 + -0.481603621920 -0.055949390883 + -0.000000000521 0.000000000067 + -0.063352199240 -0.034247379304 + 0.119494702074 -0.054938246925 + 0.140772505228 -0.134501705280 + -0.122017534096 0.934271569484 + -0.230662914871 0.041373003803 + 0.192595677569 -0.382180389079 + 0.085338427855 -0.627781753185 + -0.149662112393 -0.247872389382 + 48 27 0 0 0 + 0.424366716347 -0.684592648786 + 0.054407912915 0.460428903415 + 0.332538882087 -0.104182838806 + -0.000000000837 -0.000000000133 + 0.097987138548 0.516202612700 + 0.692303145320 0.332597301682 + 0.337074249796 -0.068985338324 + -0.000000000139 -0.000000000005 + 0.193237412719 0.158248636225 + -0.068266951482 0.419228052853 + -0.650455061639 -0.532424870736 + 0.000000000652 0.000000000042 + -0.000000000357 0.000000001487 + 0.000000000197 0.000000000058 + -0.000000000843 0.000000000554 + -0.654033395842 -0.724097639717 + 48 32 0 0 0 + 0.423077306560 0.685390252574 + 0.055274523561 -0.460325671340 + 0.332342192258 0.104808587056 + 0.000000000538 0.000000000609 + 0.098958592639 -0.516017260588 + 0.692927959604 -0.331293605957 + 0.336943807271 0.069619647912 + -0.000000001105 -0.000000000785 + 0.193534931737 -0.157884637997 + -0.067477738485 -0.419355805560 + -0.651456011119 0.531199675050 + 0.000000000347 -0.000000000011 + 0.000000000683 -0.000000000747 + 0.000000000213 0.000000000728 + -0.000000002253 -0.000000001002 + 0.613297413766 0.758909320297 + 48 44 0 0 0 + -0.867095623342 0.403179226977 + 0.009413772095 -0.152682148876 + -0.068710414887 -0.103126836792 + -0.072153143819 -0.132616173521 + -0.187222188209 -0.021138770175 + -0.761315999837 0.328378063092 + 0.167149698479 0.321771359345 + 0.225559794929 0.245739793959 + 0.040773648533 -0.048039470135 + -0.037037215056 -0.036685785248 + -0.080856675668 0.619687831657 + -0.035071946837 -0.623446903182 + -0.147108859617 -0.064517100820 + 0.159528642120 0.421347632658 + -0.500423151679 0.260858375407 + -0.241447279664 0.217929799074 + 48 47 0 0 0 + -0.867146857631 0.403069022311 + 0.009433177182 -0.152680952336 + -0.068697308521 -0.103135568703 + 0.072136288910 0.132625343951 + -0.187219499340 -0.021162570022 + -0.761357738725 0.328281280169 + 0.167108792766 0.321792605657 + -0.225528555483 -0.245768466699 + 0.040779750949 -0.048034290970 + -0.037032553692 -0.036690489175 + -0.080935389529 0.619677555200 + 0.034992752529 0.623451352617 + 0.109504302911 -0.117525659141 + -0.450393980200 0.011334766836 + -0.080842174120 -0.558511384138 + 0.125902487408 0.299897902014 + 48 64 0 0 0 + -0.956433656670 0.131154824647 + -0.166300412309 -0.026945212569 + 0.127744623074 -0.074212800553 + 0.000000000932 -0.000000000283 + 0.108018931940 -0.016788968825 + -0.683679384735 0.418823898887 + 0.345397580548 0.437008285830 + 0.000000001137 0.000000000936 + 0.174041523407 -0.018642474204 + -0.393042750040 -0.284639211206 + 0.292810928470 -0.497319467209 + 0.070667447682 -0.236915758145 + 0.045933026201 0.024266226430 + -0.049559844162 -0.135231652200 + 0.154531804246 -0.073873850653 + -0.643426605923 0.529079611735 + 48 45 1 0 0 + 0.866645800252 0.404145229986 + -0.009243622127 -0.152692544922 + 0.068825284275 -0.103050211194 + -0.043270391711 0.144640241309 + 0.187245626887 -0.020930128314 + 0.760949599171 0.329226232417 + -0.167508127177 0.321584914145 + 0.170067287772 -0.286953632008 + -0.040720084163 -0.048084882789 + 0.037078078698 -0.036644483637 + 0.080166039495 0.619777552721 + 0.094179729393 0.617289445274 + -0.159960822190 0.014697204314 + 0.284560373062 -0.349297307374 + -0.392279885383 -0.405693126903 + 0.215340890812 0.243759076058 + 48 36 0 1 0 + 0.866950324380 0.403491564885 + -0.009358765972 -0.152685530623 + 0.068747551741 -0.103102083461 + 0.043161304917 -0.144672828956 + 0.187229788751 -0.021071342377 + 0.761197681527 0.328652237476 + -0.167265545299 0.321711154075 + -0.169850822353 0.287081810234 + -0.040756335883 -0.048054159905 + 0.037050432034 -0.036672435985 + 0.080633424140 0.619716921539 + -0.094645234416 -0.617218243157 + 0.140518503294 -0.077833301779 + -0.119915673200 0.434284981901 + 0.522384666722 0.213505692281 + 0.295235482610 0.136477816710 + 48 49 1 1 0 + 0.956346524371 0.131788667201 + 0.166318234572 -0.026834989418 + -0.127695417707 -0.074297434401 + 0.000000000479 -0.000000000067 + -0.108007781614 -0.016860552726 + 0.683401661749 0.419276912072 + -0.345687085151 0.436779314222 + 0.000000000788 0.000000000969 + 0.081791808043 -0.109582499306 + 0.034941653769 0.377498210693 + 0.450851212598 0.001061334039 + -0.236326448807 -0.525069361776 + -0.108209182158 0.054122412680 + 0.122403227206 -0.312309928304 + -0.355989298669 -0.180016658968 + 0.027910403656 -0.650168427956 + 49 33 0 0 0 + 0.734831732711 0.460387026935 + -0.298840946466 -0.368790692124 + 0.000000001633 0.000000000649 + -0.000000001510 -0.000000000889 + 0.261358751495 -0.405420980486 + 0.692095370909 -0.513245288869 + -0.000000000555 0.000000000659 + -0.000000000890 -0.000000000142 + 0.000000000440 -0.000000000418 + 0.000000000106 -0.000000002687 + 0.282255226846 0.146288351708 + 0.591261737478 0.706332041739 + -0.000000000522 -0.000000000454 + -0.000000000833 -0.000000000181 + 0.304815313965 0.869242786007 + 0.018558559492 -0.317370244992 + 49 50 0 0 0 + 0.956407409312 -0.131346085344 + -0.108015572108 0.016810567774 + -0.144150715062 -0.037145147569 + -0.041229788440 0.097352967242 + 0.166305797409 0.026911956258 + 0.683595621985 -0.418960598804 + 0.227936350589 0.344055104519 + 0.265607473443 -0.123974337552 + -0.127729785303 0.074238334643 + -0.345484924594 -0.436939237375 + -0.381711265096 0.308526400852 + 0.176627568322 0.300521194678 + 0.000000000227 0.000000000415 + 0.000000001112 0.000000000550 + 0.028143506260 0.502362595799 + -0.705413838373 -0.065399385686 + 49 53 0 0 0 + 0.956326798824 -0.131931728710 + -0.108005258239 0.016876708591 + 0.062365235313 -0.072513394350 + 0.149387443465 -0.043271970961 + 0.166322245944 0.026810112213 + 0.683338938752 -0.419379129332 + -0.263032182412 0.033587972860 + -0.387981447472 -0.188154653414 + -0.127684297391 0.074316544116 + -0.345752448875 -0.436727576957 + -0.069328802645 -0.307631303702 + 0.179150776306 -0.480482900465 + -0.000000000383 -0.000000000150 + -0.000000000510 0.000000000175 + 0.527829819916 0.518899239267 + -0.097279741136 -0.444659321951 + 49 1 0 0 1 + 0.818614467693 0.536828359035 + 0.093806120248 0.095823272603 + -0.000000000484 0.000000000263 + -0.000000000244 0.000000000201 + 0.034255019098 0.066190742578 + -0.182302405301 -0.377066689781 + 0.369366905069 -0.324533483502 + -0.533477282801 0.110307364302 + -0.007892668040 -0.094562935379 + 0.029871717501 0.532414860867 + 0.041576410825 -0.187829329100 + -0.516894291572 -0.250884360518 + 0.023181764350 -0.036025609350 + -0.135734498475 0.198827818685 + 0.483176928026 0.549775458439 + -0.059310223366 0.429032943767 + 49 6 0 0 1 + -0.969018556296 0.138418149281 + -0.054364422941 -0.023090298196 + 0.029393013069 0.078214902775 + -0.054320265822 -0.050149779002 + -0.068574809482 -0.011544736078 + -0.549292649489 0.272532043198 + -0.060490945512 -0.455459243446 + 0.228828829362 0.336013515482 + -0.021929125014 -0.016506169243 + 0.098929251694 0.132855024858 + 0.333253176521 0.498948155529 + 0.527413195082 0.428568098897 + 0.057354791200 0.093183541058 + -0.173739896551 -0.637082881944 + -0.202503059878 0.181260427994 + 0.255775579076 0.028095175302 + 49 61 0 -1 0 + 0.968944205744 -0.138937654412 + 0.054376792067 0.023061151062 + -0.048911761801 0.031986949938 + -0.095035169838 0.000058276992 + 0.068580989060 0.011507967651 + 0.549146452897 -0.272826497060 + 0.301691235426 -0.110718750893 + 0.509198887195 0.117516978726 + 0.106431070692 -0.033776651269 + -0.673719492098 0.014689378248 + 0.236422107712 -0.100283295571 + 0.164442783512 0.130223411943 + 0.008086615282 0.013865649017 + -0.023259663006 -0.094036489863 + -0.663454436625 -0.386387580469 + 0.199559943701 0.471881883527 + 49 52 -1 0 0 + -0.968930350438 0.139034249507 + -0.054379091326 -0.023055728461 + -0.078351311750 -0.046204373879 + -0.040683021327 0.050182982929 + -0.068582136218 -0.011501132118 + -0.549119253606 0.272881238553 + 0.362460719404 0.344671864600 + 0.280168173198 -0.218401737552 + 0.081114846043 0.071051537711 + -0.348944751646 -0.549308238963 + 0.125477406600 -0.058714447305 + -0.363652483545 -0.097933539004 + -0.033102770616 -0.001533577067 + 0.189081269097 0.065145200827 + 0.390033041432 0.426926822364 + -0.520382618114 0.442378937476 + 49 48 -1 -1 0 + 0.956346524371 -0.131788667201 + -0.108007781614 0.016860552726 + 0.081791808043 0.109582499306 + -0.108209182158 -0.054122412680 + 0.166318234572 0.026834989418 + 0.683401661749 -0.419276912072 + 0.034941653769 -0.377498210693 + 0.122403227206 0.312309928304 + -0.127695417707 0.074297434401 + -0.345687085151 -0.436779314222 + 0.450851212598 -0.001061334039 + -0.355989298669 0.180016658968 + 0.000000000479 0.000000000067 + 0.000000000788 -0.000000000969 + -0.236326448807 0.525069361776 + 0.027910403656 0.650168427956 + 50 34 0 0 0 + -0.424670113229 -0.684404485314 + -0.054203829739 0.460452974387 + -0.332585037319 -0.104035409817 + 0.000000000801 -0.000000000065 + -0.097758324688 0.516245994576 + -0.692155656428 0.332904127068 + -0.337104796866 -0.068835899342 + 0.000000000791 -0.000000000602 + -0.193167212396 0.158334319896 + 0.068452868192 0.419197735602 + 0.650218831134 -0.532713337749 + -0.000000000370 -0.000000000040 + -0.000000000474 0.000000000615 + -0.000000000700 -0.000000000307 + 0.000000001045 0.000000003118 + 0.965130225132 -0.143529468274 + 50 49 0 0 0 + 0.956407409312 0.131346085344 + 0.166305797409 -0.026911956258 + -0.127729785303 -0.074238334643 + 0.000000000227 -0.000000000415 + -0.108015572108 -0.016810567774 + 0.683595621985 0.418960598804 + -0.345484924594 0.436939237375 + 0.000000001112 -0.000000000550 + -0.144150715062 0.037145147569 + 0.227936350589 -0.344055104519 + -0.381711265096 -0.308526400852 + 0.028143506260 -0.502362595799 + -0.041229788440 -0.097352967242 + 0.265607473443 0.123974337552 + 0.176627568322 -0.300521194678 + -0.705413838373 0.065399385686 + 50 51 0 0 0 + 0.424029168693 -0.684801773480 + 0.054634899683 0.460402024503 + 0.332487483156 -0.104346760395 + -0.000000000719 -0.000000000195 + 0.098241583134 0.516154248624 + 0.692467017201 0.332255986663 + 0.337040202469 -0.069151482720 + 0.000000000436 -0.000000003114 + 0.193315411671 0.158153344400 + -0.068060243906 0.419261659989 + -0.650717479273 -0.532104118892 + -0.000000000498 0.000000000286 + 0.000000000514 0.000000000662 + 0.000000000905 0.000000000084 + 0.000000001317 -0.000000001276 + -0.969356739357 0.111465592348 + 50 54 0 0 0 + -0.866414048091 -0.404641824949 + 0.009156116880 0.152697817699 + -0.068884330110 0.103010749655 + 0.101414721309 0.111839976545 + -0.187257591018 0.020822817419 + -0.760760803241 -0.329662260168 + 0.167692402217 -0.321488861566 + -0.157639138787 -0.293964571886 + 0.040692531015 0.048108201812 + -0.037099063449 0.036623238435 + -0.079810981433 -0.619823375959 + 0.577029627988 0.238648044796 + 0.111970249713 -0.115178712730 + 0.010937949961 0.450403792575 + 0.561824199579 0.053141225450 + 0.205100500515 -0.252436070539 + 50 2 0 0 1 + -0.956413003765 0.131305343773 + -0.166304652055 -0.026919038719 + 0.127732944473 -0.074232900854 + 0.000000000247 -0.000000000183 + 0.108016288062 -0.016805969531 + -0.683613452563 0.418931508141 + 0.345466353871 0.436953921400 + 0.000000000902 -0.000000000557 + 0.023152053839 -0.088194934675 + -0.211378154011 0.138666826260 + -0.187927029230 -0.234667180792 + -0.716527239259 0.230915208021 + -0.127893648564 -0.093088866443 + 0.090619107912 0.429097682909 + -0.497827872913 0.155513578228 + 0.026325863771 -0.433151040818 + 50 7 0 0 1 + -0.867161253441 0.403038049548 + 0.009438628862 -0.152680614609 + -0.068693622389 -0.103138022878 + 0.150821987304 0.006771581330 + -0.187218743126 -0.021169261166 + -0.761369465136 0.328254080651 + 0.167097287522 0.321798580036 + -0.326951415723 0.066091144229 + 0.040781476167 -0.048032825254 + -0.037031236192 -0.036691819812 + -0.080957673638 0.619674644029 + 0.551849677070 0.292195166823 + 0.029209521773 -0.157956564591 + -0.373769888094 0.251553743294 + -0.368266774220 -0.427609640706 + 0.296758519996 -0.133133643939 + 50 45 0 -1 0 + 0.866832732653 0.403744129687 + -0.009314285268 -0.152688250464 + 0.068777588816 -0.103082049641 + 0.101530517105 0.111734865793 + 0.187235921423 -0.021016779158 + 0.761101877920 0.328874041718 + -0.167359294783 0.321662394754 + -0.157943562054 -0.293801124329 + -0.040742331550 -0.048066033525 + 0.037061115996 -0.036661638597 + 0.080452836797 0.619740390509 + 0.577276466727 0.238050336661 + 0.159954004462 -0.014771228305 + -0.284398694323 0.349428960214 + 0.392467580361 0.405511552277 + -0.319937678147 0.058566781349 + 50 62 0 -1 0 + 0.866719460903 -0.403987234651 + -0.009271457580 0.152690857279 + 0.068806504214 0.103062751661 + 0.150829309084 0.006606446880 + 0.187241807846 0.020964267094 + 0.761009610017 -0.329087491576 + -0.167449520051 -0.321615434116 + -0.326878859632 0.066449077955 + -0.040728864078 0.048077445294 + 0.037071385513 0.036651254518 + 0.080279174384 -0.619762910201 + 0.552169255219 0.291590801058 + 0.037932907154 -0.156091535466 + -0.387157703131 0.230417290318 + -0.343961625680 -0.447393365453 + -0.303691398254 0.116454826221 + 51 35 0 0 0 + 0.260878754945 -0.846760586915 + 0.057677335953 0.256911868863 + 0.286699869885 -0.197089895343 + -0.000000000225 -0.000000000163 + 0.077274796191 0.358874875166 + 0.235141002899 0.753052073574 + -0.022701537791 -0.461680004095 + 0.000000003566 -0.000000000622 + -0.047521172089 -0.192744141921 + -0.227923348039 0.295359954615 + -0.450533723391 0.295772310707 + 0.178441210475 -0.536528737342 + 0.059416279486 0.126244194769 + 0.116193265174 -0.235069121904 + 0.269536537561 -0.266155328311 + 0.098633887700 -0.798401042157 + 51 50 0 0 0 + 0.424029168693 0.684801773480 + 0.098241583134 -0.516154248624 + 0.193315411671 -0.158153344400 + 0.000000000514 -0.000000000662 + 0.054634899683 -0.460402024503 + 0.692467017201 -0.332255986663 + -0.068060243906 -0.419261659989 + 0.000000000905 -0.000000000084 + 0.332487483156 0.104346760395 + 0.337040202469 0.069151482720 + -0.650717479273 0.532104118892 + 0.000000001317 0.000000001276 + -0.000000000719 0.000000000195 + 0.000000000436 0.000000003114 + -0.000000000498 -0.000000000286 + -0.969356739357 -0.111465592348 + 51 52 0 0 0 + -0.846788396535 0.387622971622 + -0.303453354704 -0.040950349897 + -0.023513228950 -0.151353956850 + 0.000000000992 0.000000002584 + 0.166268584916 -0.145941753750 + -0.731352649349 0.356634893783 + 0.481545877110 -0.056444226295 + -0.000000000077 0.000000000881 + -0.217645636801 -0.086876251299 + 0.111876441734 0.413084259986 + -0.042542212941 0.632125571842 + -0.123504855180 0.261889325208 + 0.068941487844 -0.020819591543 + -0.106018967277 -0.077827848341 + -0.110876099856 -0.160044046378 + 0.217004904471 0.916875409250 + 51 55 0 0 0 + -0.696126617081 0.537574074254 + 0.244950185916 -0.210518012023 + -0.138146109371 0.104710444684 + -0.089529223864 0.249023346991 + 0.238773065377 -0.241934471520 + 0.192125631571 -0.786289690034 + -0.292392931345 0.015345554148 + -0.320425543159 0.073049040639 + -0.221989006380 0.051253801355 + -0.102423290737 -0.294310499316 + 0.681146596432 0.030633608501 + -0.142899090415 -0.461797914898 + 0.199208599829 -0.047381777389 + 0.280526988304 0.200448762419 + 0.435592857927 0.430128711668 + -0.341905343965 0.412619828535 + 51 3 0 0 1 + -0.908327098326 -0.265565342412 + -0.008894373615 0.187455312770 + 0.076447915907 0.205474961213 + -0.000000000178 -0.000000000988 + -0.025789358669 0.223331338880 + -0.746792582232 0.445918774832 + -0.405620752857 -0.079849091067 + -0.000000000130 -0.000000000100 + -0.173136458223 -0.022809078941 + 0.362850298283 -0.095403908044 + -0.587823997412 -0.302808992000 + 0.052963659354 0.017363182592 + 0.010819639775 0.000802857011 + -0.022169108582 0.007199955536 + 0.037530796156 0.016704627847 + 0.867024807239 0.230529279006 + 51 8 0 0 1 + -0.866502386429 0.404452623395 + -0.187253039537 -0.020863706627 + 0.040703046469 -0.048099305570 + -0.068949557076 0.145084221876 + 0.009189455013 -0.152695814894 + -0.760832759167 0.329496157090 + -0.037091058840 -0.036631344704 + 0.425992614194 -0.146674836526 + -0.068861824079 -0.103025797028 + 0.167622166365 0.321525488251 + -0.079946516366 0.619805909272 + 0.245559303827 0.508105353341 + -0.144223483513 -0.044639811191 + 0.333044533548 0.018617406349 + -0.460173775745 -0.422085510338 + 0.323756212050 0.031178543905 + 51 46 0 -1 0 + 0.874891241640 -0.090241149266 + -0.319104291163 0.049908672905 + 0.172583649459 -0.016232990762 + -0.207279036310 0.164509917601 + -0.087179360127 0.328549270333 + 0.223535409967 0.777943219651 + 0.246206119951 -0.158466586038 + -0.241896706913 0.222473992791 + -0.086505233086 0.210767445092 + -0.299360400498 -0.086559519585 + 0.418753410461 -0.538093566164 + 0.459425076737 0.150353130254 + 0.172366643762 0.110538861207 + 0.050374356990 0.341082865683 + -0.007368408065 0.612125441078 + 0.534357475046 -0.040205394553 + 51 63 0 -1 0 + 0.866685749928 -0.404059550888 + 0.187243556961 0.020948639585 + -0.040724859115 0.048080838396 + -0.069015358579 0.145052933777 + -0.009258721075 0.152691630545 + 0.760982149040 -0.329150988447 + 0.037074438052 0.036648166221 + 0.426059104838 -0.146481579287 + 0.068815087826 0.103057019505 + -0.167476316617 -0.321601479942 + 0.080227627486 -0.619769584532 + 0.245328819995 0.508216678387 + -0.058800397649 -0.139052648973 + 0.200374194411 0.266674800954 + 0.026235442480 -0.623881225518 + -0.184783430005 -0.267666343235 + 52 36 0 0 0 + -0.847224369140 -0.386669143068 + 0.166432826210 0.145754424791 + 0.217547666016 -0.087121292922 + -0.068964890150 -0.020741941341 + -0.303407043956 0.041292072321 + -0.731753829139 -0.355811018335 + -0.111411156654 0.413209994495 + 0.105931249308 -0.077947194685 + -0.023342833895 0.151380330592 + 0.481609112049 0.055902110132 + 0.043253775027 0.632077279547 + 0.110695867399 -0.160168761575 + 0.000000000297 -0.000000002035 + -0.000000001616 -0.000000001932 + 0.253704755391 -0.139547003455 + 0.928592590384 0.159585191851 + 52 51 0 0 0 + -0.846788396535 -0.387622971622 + 0.166268584916 0.145941753750 + -0.217645636801 0.086876251299 + 0.068941487844 0.020819591543 + -0.303453354704 0.040950349897 + -0.731352649349 -0.356634893783 + 0.111876441734 -0.413084259986 + -0.106018967277 0.077827848341 + -0.023513228950 0.151353956850 + 0.481545877110 0.056444226295 + -0.042542212941 -0.632125571842 + -0.110876099856 0.160044046378 + 0.000000000992 -0.000000002584 + -0.000000000077 -0.000000000881 + -0.123504855180 -0.261889325208 + 0.217004904471 -0.916875409250 + 52 56 0 0 0 + 0.846747058652 -0.387713264582 + -0.166253011340 0.145959494712 + 0.063313299547 -0.034319237197 + 0.230709710412 0.041111262509 + 0.303457718654 0.040917998402 + 0.731314598394 -0.356712914858 + -0.119556961180 -0.054802630193 + -0.193029180719 -0.381961623821 + 0.023529377413 0.151351447581 + -0.481539847808 0.056495639717 + -0.140924977855 -0.134341939858 + -0.086050468084 -0.627684549067 + -0.000000001058 -0.000000000192 + -0.000000001847 0.000000000641 + -0.868766185664 -0.364687452337 + 0.138892176978 0.254063826949 + 52 49 1 0 0 + -0.968930350438 -0.139034249507 + -0.068582136218 0.011501132118 + 0.081114846043 -0.071051537711 + -0.033102770616 0.001533577067 + -0.054379091326 0.023055728461 + -0.549119253606 -0.272881238553 + -0.348944751646 0.549308238963 + 0.189081269097 -0.065145200827 + -0.078351311750 0.046204373879 + 0.362460719404 -0.344671864600 + 0.125477406600 0.058714447305 + 0.390033041432 -0.426926822364 + -0.040683021327 -0.050182982929 + 0.280168173198 0.218401737552 + -0.363652483545 0.097933539004 + -0.520382618114 -0.442378937476 + 52 4 0 0 1 + 0.969058085099 0.138141138307 + 0.068571505629 -0.011564337182 + 0.081049324953 -0.071126269790 + -0.033101342793 0.001564086069 + 0.054357818577 -0.023105838148 + 0.549370521684 0.272375021233 + -0.348438323792 0.549629616701 + 0.189021148257 -0.065319437210 + 0.018454635679 -0.015240409928 + -0.079970203236 0.104527552431 + 0.196916153467 0.265028912620 + -0.021530319930 0.850029825391 + -0.081879468167 -0.071903556242 + 0.527797823702 0.283686808458 + 0.166052892477 -0.156320865585 + -0.277030845791 0.033602587132 + 52 47 0 -1 0 + 0.847186419300 -0.386752279878 + -0.166418513715 0.145770767799 + -0.063352199240 0.034247379304 + -0.230662914871 -0.041373003803 + 0.303411097902 0.041262278712 + 0.731718858686 -0.355882927056 + 0.119494702074 0.054938246925 + 0.192595677569 0.382180389079 + 0.023357683816 0.151378040292 + -0.481603621920 0.055949390883 + 0.140772505228 0.134501705280 + 0.085338427855 0.627781753185 + -0.000000000168 0.000000000500 + -0.000000000521 -0.000000000067 + -0.122017534096 -0.934271569484 + -0.149662112393 0.247872389382 + 52 64 0 -1 0 + 0.968941091749 -0.138959370664 + 0.068581248172 0.011506427143 + -0.032730891171 0.005180149988 + -0.093787560800 -0.053214969126 + 0.054377310202 0.023059931056 + 0.549140314135 -0.272838850624 + 0.198339152598 0.025636014855 + 0.452645308469 0.467561981412 + -0.079687192798 -0.014339148338 + 0.409125424086 0.175618318784 + 0.275650714564 -0.567620888688 + -0.200506435612 -0.148149173947 + 0.054479515666 0.054069720336 + -0.224821860694 -0.357211022790 + 0.602618621642 -0.198905731654 + -0.287676546169 0.126953788887 + 52 5 1 0 1 + -0.969052593825 0.138179653383 + -0.068571967873 -0.011561608189 + -0.032735050410 0.005153808447 + -0.093744708956 -0.053290420799 + -0.054358738303 -0.023103677194 + -0.549359669292 0.272396911633 + 0.198318458539 0.025795593574 + 0.452268946957 0.467926038980 + -0.046514582833 -0.049579285155 + 0.187719226040 0.323279360740 + -0.652681030528 0.303561589285 + 0.116109487211 0.221036873092 + 0.006102564648 0.088251113580 + 0.076725020709 -0.480349048270 + -0.477523780129 -0.233919546359 + 0.308608205333 0.058722520986 + 53 37 0 0 0 + 0.424088536095 0.684765009178 + 0.054594979824 -0.460406759963 + 0.332496530032 0.104317931736 + 0.000000000595 0.000000000187 + 0.098196844438 -0.516162761523 + 0.692438211907 -0.332316012242 + 0.337046196479 0.069122265751 + -0.000000000954 -0.000000001726 + 0.193301688234 -0.158170118366 + -0.068096627213 -0.419255752334 + -0.650671299842 0.532160586730 + -0.000000000730 0.000000000736 + -0.000000000361 -0.000000000987 + 0.000000001628 -0.000000000653 + 0.000000002639 -0.000000001445 + 0.693590382731 -0.686301278300 + 53 49 0 0 0 + 0.956326798824 0.131931728710 + 0.166322245944 -0.026810112213 + -0.127684297391 -0.074316544116 + -0.000000000383 0.000000000150 + -0.108005258239 -0.016876708591 + 0.683338938752 0.419379129332 + -0.345752448875 0.436727576957 + -0.000000000510 -0.000000000175 + 0.062365235313 0.072513394350 + -0.263032182412 -0.033587972860 + -0.069328802645 0.307631303702 + 0.527829819916 -0.518899239267 + 0.149387443465 0.043271970961 + -0.387981447472 0.188154653414 + 0.179150776306 0.480482900465 + -0.097279741136 0.444659321951 + 53 54 0 0 0 + -0.866166098676 -0.405172307803 + 0.009062608368 0.152703396110 + -0.068947402615 0.102968545436 + 0.117073974039 0.095324763751 + -0.187270308280 0.020708144104 + -0.760558787287 -0.330128061280 + 0.167889252250 -0.321386104786 + -0.200036155516 -0.266928467073 + 0.040663064264 0.048133110719 + -0.037121483368 0.036600513425 + -0.079431379127 -0.619872136890 + 0.606346334622 0.149198536784 + -0.112040760172 0.115110125383 + -0.010662137517 -0.450410407164 + -0.561791552469 -0.053485284301 + -0.164824412830 0.280398112325 + 53 57 0 0 0 + 0.423782764067 -0.684954285720 + 0.054800538475 0.460382338836 + 0.332449924328 -0.104466359549 + 0.000000000146 0.000000000036 + 0.098427291560 0.516118867240 + 0.692586518184 0.332006814165 + 0.337015303636 -0.069272731405 + -0.000000001701 0.000000000759 + 0.193372271418 0.158083818866 + -0.067909473699 0.419286107929 + -0.650908754391 -0.531870117719 + -0.000000000543 0.000000000247 + 0.000000001555 0.000000001017 + 0.000000001681 0.000000000184 + 0.000000001624 0.000000002480 + 0.817020952080 0.533435865302 + 53 5 0 0 1 + 0.956558375843 -0.130242080711 + 0.166274624675 0.027103892721 + -0.127815388227 0.074090856617 + -0.000000000030 -0.000000000060 + -0.108034902996 0.016685886955 + 0.684078716707 -0.418171335763 + -0.344980394473 -0.437337692616 + 0.000000000549 0.000000001054 + -0.059228975010 -0.036842586925 + 0.053600410472 0.185811084160 + -0.213959168807 0.084342400481 + 0.201502934863 0.777331681425 + -0.056776800470 -0.158895040451 + -0.177988057438 0.432628417483 + -0.532198207525 -0.162096331286 + 0.134604299717 -0.303446375246 + 53 10 0 0 1 + 0.867128727085 -0.403108024074 + -0.009426307607 0.152681375995 + 0.068701940071 0.103132482912 + -0.150115082342 0.016080656050 + 0.187220450830 0.021154152038 + 0.761342970028 -0.328315528554 + -0.167123243234 -0.321785097465 + 0.313222388538 -0.114703978863 + -0.040777594317 0.048036121015 + 0.037034201448 0.036688826470 + 0.080907617519 -0.619681182033 + -0.589644181617 -0.205513552175 + 0.156135050739 0.037753396292 + -0.230862312554 -0.386892503867 + 0.446997578886 -0.344475814583 + 0.161279886860 0.282451736647 + 53 36 -1 0 0 + 0.866889956023 0.403621250841 + -0.009335927007 -0.152686929068 + 0.068762980900 -0.103091794649 + 0.117244414396 0.095115050058 + 0.187232938914 -0.021043333885 + 0.761148512891 0.328766093937 + -0.167313689328 0.321686117955 + -0.200513648727 -0.266569965710 + -0.040749146344 -0.048060256142 + 0.037055916948 -0.036666893428 + 0.080540678842 0.619728981423 + 0.606612393673 0.148113078950 + -0.140530144725 0.077812280585 + 0.119980633877 -0.434267040505 + -0.522352711996 -0.213583868970 + 0.238836015136 -0.220788454876 + 53 56 -1 0 0 + -0.866749404106 0.403922988205 + 0.009282776116 -0.152690169845 + -0.068798858571 -0.103067854678 + -0.150099902170 0.016221761415 + -0.187240253234 -0.020978145670 + -0.761034001666 0.329031081919 + 0.167425664591 0.321627853980 + 0.313114423964 -0.114998374490 + 0.040732431039 -0.048074423750 + -0.037068666247 -0.036654004588 + -0.080325186435 0.619756949049 + -0.589837068940 -0.204959296102 + -0.046435534234 -0.153776505975 + -0.216904833183 0.394886701374 + -0.523295512550 -0.211263413424 + -0.162026049923 0.282024381238 + 54 33 0 0 0 + -0.908240099285 -0.265862727717 + -0.008955748780 0.187452390293 + 0.076380678074 0.205499964840 + -0.000000000152 0.000000000348 + -0.025862541795 0.223322874715 + -0.746938665630 0.445674033015 + -0.405594582278 -0.079981919890 + 0.000000000154 0.000000000054 + -0.087892810030 0.003371674988 + 0.172045932398 -0.078163437030 + -0.317538263439 -0.100441104388 + 0.430162178827 -0.647114865287 + 0.143028565319 -0.049198707033 + -0.244432939930 0.214123248466 + 0.572660577844 0.007671830838 + 0.130817862248 -0.432518124871 + 54 38 0 0 0 + -0.424529352099 -0.684491806826 + -0.097864470307 0.516225882916 + -0.193199783433 0.158294573379 + 0.000000000486 -0.000000000460 + -0.054298528741 0.460441816726 + -0.692224095687 0.332761793502 + 0.068366614822 0.419211811119 + -0.000000000036 -0.000000000213 + -0.332563624463 -0.104103836842 + -0.337090630503 -0.068905243183 + 0.650328469456 -0.532579488228 + 0.000000000048 0.000000003276 + -0.000000000196 -0.000000000156 + 0.000000001170 -0.000000000473 + -0.000000000758 -0.000000000510 + -0.221797618782 0.950201491330 + 54 50 0 0 0 + -0.866414048091 0.404641824949 + -0.187257591018 -0.020822817419 + 0.040692531015 -0.048108201812 + 0.111970249713 0.115178712730 + 0.009156116880 -0.152697817699 + -0.760760803241 0.329662260168 + -0.037099063449 -0.036623238435 + 0.010937949961 -0.450403792575 + -0.068884330110 -0.103010749655 + 0.167692402217 0.321488861566 + -0.079810981433 0.619823375959 + 0.561824199579 -0.053141225450 + 0.101414721309 -0.111839976545 + -0.157639138787 0.293964571886 + 0.577029627988 -0.238648044796 + 0.205100500515 0.252436070539 + 54 53 0 0 0 + -0.866166098676 0.405172307803 + -0.187270308280 -0.020708144104 + 0.040663064264 -0.048133110719 + -0.112040760172 -0.115110125383 + 0.009062608368 -0.152703396110 + -0.760558787287 0.330128061280 + -0.037121483368 -0.036600513425 + -0.010662137517 0.450410407164 + -0.068947402615 -0.102968545436 + 0.167889252250 0.321386104786 + -0.079431379127 0.619872136890 + -0.561791552469 0.053485284301 + 0.117073974039 -0.095324763751 + -0.200036155516 0.266928467073 + 0.606346334622 -0.149198536784 + -0.164824412830 -0.280398112325 + 54 55 0 0 0 + -0.538036077982 -0.695769593979 + 0.210680576169 0.244810379842 + -0.104802157478 -0.138076544853 + -0.170592705082 0.202302342578 + -0.238612404314 0.242092929259 + -0.191603610213 0.786417058866 + 0.292382676224 -0.015539717578 + 0.043024082008 -0.325818383999 + -0.221954933552 0.051401159504 + -0.102618643993 -0.294242440762 + 0.681166789101 0.030181276721 + -0.482661980193 -0.026737177398 + -0.047514013479 -0.199177102311 + 0.200262488254 -0.280659995395 + 0.429839357879 -0.435878396644 + 0.464125320803 -0.267847102123 + 54 58 0 0 0 + -0.853275646020 0.213304525570 + 0.308812154812 -0.094622823004 + -0.168541906555 0.040524702772 + -0.116757072620 -0.237478206507 + 0.311082383390 -0.137013193762 + 0.468157666219 -0.660297003183 + -0.277499090898 -0.093398969795 + 0.160166064839 -0.286976528761 + 0.087308816553 0.210435839881 + -0.273284734698 0.149748636402 + -0.082591536838 -0.676814406994 + -0.053244821060 -0.480460661548 + -0.171220825564 -0.112305513967 + -0.046864231530 -0.341582844968 + 0.013662560987 -0.612017308918 + -0.153890914579 0.513295205579 + 54 6 0 0 1 + 0.846777533490 -0.387646701921 + 0.303454501077 0.040941846897 + 0.023517502661 0.151353292040 + -0.000000000175 -0.000000000131 + -0.166264494573 0.145946415649 + 0.731342652181 -0.356655391854 + -0.481544281569 0.056457825332 + -0.000000001063 -0.000000000840 + 0.056895501853 0.017911462717 + -0.036253444784 -0.102721762676 + -0.001224853701 -0.161256162784 + 0.459900527492 -0.838193173462 + -0.185078376571 -0.149303604334 + -0.014998010372 0.434005906010 + -0.230213726632 0.600247258925 + 0.184174801122 -0.153604927158 + 54 11 0 0 1 + 0.420631560701 -0.779827099899 + 0.006592984052 0.263224079531 + 0.319565634737 -0.137546528158 + -0.000000001014 0.000000000598 + -0.366942585941 -0.010756791323 + -0.787429768458 0.048301924731 + 0.453720942388 0.088323797327 + 0.000000001010 0.000000001948 + 0.091380261610 0.110187509046 + 0.055185708777 -0.263303376387 + 0.199554753025 -0.333484748802 + 0.435010461668 -0.664173623449 + -0.187688693181 -0.056194064805 + 0.136889860769 0.341806906024 + 0.025675639131 0.531278728078 + -0.004448983227 -0.580083353216 + 55 34 0 0 0 + -0.846671687222 0.238170534334 + -0.248042288965 -0.232421791122 + -0.031627310292 -0.225623103780 + 0.180457503418 -0.096768738910 + 0.305912436370 -0.103614706789 + -0.791005478808 -0.171680134957 + 0.302145700306 -0.076270405488 + 0.322472492358 0.122010610151 + -0.167284495224 0.045437025564 + 0.022919438936 0.291896919155 + -0.090133824379 0.675851312565 + 0.531137372774 0.304376310562 + 0.105471006198 0.242701418048 + 0.323201918105 0.059575253074 + 0.105441955021 -0.471762075921 + 0.347343414536 0.408052617528 + 55 39 0 0 0 + 0.696893673103 0.536579312770 + 0.239118354040 0.241593207765 + -0.222061980804 -0.050936705424 + -0.199276068776 -0.047097220789 + -0.245250605975 -0.210167949197 + 0.193248449028 0.786014484824 + -0.102002837121 0.294456484320 + -0.280240412729 0.200849219504 + 0.138295501501 0.104513055812 + -0.292414547000 -0.014927984953 + 0.681102157450 -0.031606292342 + -0.434978167585 0.430750323269 + 0.263653028659 -0.022697797959 + -0.152751976495 0.290990591676 + 0.409731790851 0.256509891429 + 0.486481375361 -0.224700375895 + 55 51 0 0 0 + -0.696126617081 -0.537574074254 + 0.238773065377 0.241934471520 + -0.221989006380 -0.051253801355 + 0.199208599829 0.047381777389 + 0.244950185916 0.210518012023 + 0.192125631571 0.786289690034 + -0.102423290737 0.294310499316 + 0.280526988304 -0.200448762419 + -0.138146109371 -0.104710444684 + -0.292392931345 -0.015345554148 + 0.681146596432 -0.030633608501 + 0.435592857927 -0.430128711668 + -0.089529223864 -0.249023346991 + -0.320425543159 -0.073049040639 + -0.142899090415 0.461797914898 + -0.341905343965 -0.412619828535 + 55 54 0 0 0 + -0.538036077982 0.695769593979 + -0.238612404314 -0.242092929259 + -0.221954933552 -0.051401159504 + -0.047514013479 0.199177102311 + 0.210680576169 -0.244810379842 + -0.191603610213 -0.786417058866 + -0.102618643993 0.294242440762 + 0.200262488254 0.280659995395 + -0.104802157478 0.138076544853 + 0.292382676224 0.015539717578 + 0.681166789101 -0.030181276721 + 0.429839357879 0.435878396644 + -0.170592705082 -0.202302342578 + 0.043024082008 0.325818383999 + -0.482661980193 0.026737177398 + 0.464125320803 0.267847102123 + 55 56 0 0 0 + 0.846788175389 -0.237756041833 + -0.247928482193 -0.232543185790 + -0.031516858518 -0.225638558901 + -0.180504851566 0.096680390398 + -0.305963119392 0.103464949745 + -0.790921345733 -0.172067312444 + 0.302182999532 -0.076122494833 + -0.322412729987 -0.122168445434 + 0.167306727696 -0.045355091785 + 0.022776477867 0.291908109746 + -0.090464815987 0.675807090704 + -0.530988239740 -0.304636402181 + -0.002256783825 -0.264618628345 + 0.274231859799 0.181123105762 + 0.281390166239 -0.393061113331 + -0.160294784941 -0.511331567681 + 55 59 0 0 0 + -0.236941940074 -0.847016330908 + -0.247704831851 -0.232781404119 + 0.031299945581 0.225668751870 + -0.096506832498 -0.180597704577 + 0.103170787658 0.306062436231 + -0.790755574695 -0.172827527903 + -0.302256035735 0.075831980842 + 0.122478316877 -0.322295141843 + -0.045194324818 -0.167350225858 + 0.022496007098 0.291929857836 + 0.091114079489 -0.675719860621 + 0.305146426644 -0.530695308187 + -0.245720689644 0.098231632550 + 0.321294285492 0.069127948577 + -0.119377445888 0.468429810376 + 0.418167724980 -0.335097210593 + 55 7 0 0 1 + 0.236372830503 0.847175327642 + -0.247548384197 -0.232947768269 + 0.031148326347 0.225689727143 + 0.096385479080 0.180662499721 + -0.102965135700 -0.306131682152 + -0.790639283942 -0.173358753448 + -0.302306914581 0.075628893255 + -0.122694820937 0.322212783140 + 0.045081817021 0.167380571047 + 0.022299754858 0.291944915239 + 0.091568302118 -0.675658456689 + -0.305503109987 0.530490057160 + -0.236149407316 -0.119421810332 + -0.160542260275 -0.286766236440 + 0.430381402493 -0.220112048382 + 0.527873750146 0.092215433451 + 55 12 0 0 1 + -0.536835420429 0.696696406819 + 0.239029540666 0.241681079988 + 0.222043245090 0.051018319341 + -0.047170460712 0.199258743824 + 0.210258084980 -0.245173335276 + 0.192959507362 0.786085468319 + 0.102111070871 -0.294418968384 + 0.200746191855 0.280314223677 + -0.104563886694 0.138257073689 + -0.292409040430 -0.015035473363 + -0.681113728522 0.031355921158 + 0.430590401905 0.435136481705 + -0.209784850392 -0.161302276547 + -0.111467672943 -0.309166057350 + 0.465877753364 -0.128978210603 + 0.510542727828 0.162789763247 + 56 35 0 0 0 + -0.833194317884 0.301410757870 + 0.259394469401 0.045220490918 + -0.183034316758 0.295871054648 + 0.000000000458 -0.000000000071 + 0.129150752486 -0.343631565682 + 0.343204205181 -0.710344698003 + -0.090270224255 0.453337701508 + -0.000000001703 -0.000000000336 + -0.131210447317 -0.047452186386 + 0.223280144944 -0.137493069509 + 0.240011179074 -0.293058434610 + -0.697444880858 -0.400928254226 + -0.196320632987 -0.029441067862 + 0.272949162372 -0.254333072221 + 0.252714650121 -0.476022264848 + 0.536083269715 0.179775065449 + 56 40 0 0 0 + 0.852306129911 0.217146063393 + -0.308382778533 -0.096012944933 + 0.168357653829 0.041283483988 + -0.004162576017 -0.264595508837 + 0.327095543204 0.092484430643 + 0.555319087657 0.588884066694 + -0.261839487534 0.131031274085 + 0.296606649076 0.141538658357 + -0.105986811230 -0.201675153004 + -0.289868548277 0.114391543623 + 0.467609119399 0.496226579127 + 0.457811784549 0.155196094170 + 0.139835580966 -0.149583121102 + -0.035175554944 -0.342983640044 + -0.157889495177 -0.591458160201 + 0.452936389849 0.286361677411 + 56 52 0 0 0 + 0.846747058652 0.387713264582 + 0.303457718654 -0.040917998402 + 0.023529377413 -0.151351447581 + -0.000000001058 0.000000000192 + -0.166253011340 -0.145959494712 + 0.731314598394 0.356712914858 + -0.481539847808 -0.056495639717 + -0.000000001847 -0.000000000641 + 0.063313299547 0.034319237197 + -0.119556961180 0.054802630193 + -0.140924977855 0.134341939858 + -0.868766185664 0.364687452337 + 0.230709710412 -0.041111262509 + -0.193029180719 0.381961623821 + -0.086050468084 0.627684549067 + 0.138892176978 -0.254063826949 + 56 55 0 0 0 + 0.846788175389 0.237756041833 + -0.305963119392 -0.103464949745 + 0.167306727696 0.045355091785 + -0.002256783825 0.264618628345 + -0.247928482193 0.232543185790 + -0.790921345733 0.172067312444 + 0.022776477867 -0.291908109746 + 0.274231859799 -0.181123105762 + -0.031516858518 0.225638558901 + 0.302182999532 0.076122494833 + -0.090464815987 -0.675807090704 + 0.281390166239 0.393061113331 + -0.180504851566 -0.096680390398 + -0.322412729987 0.122168445434 + -0.530988239740 0.304636402181 + -0.160294784941 0.511331567681 + 56 60 0 0 0 + 0.424229694578 -0.684677567162 + 0.098090435424 0.516182993113 + 0.193269077883 0.158209962319 + -0.000000000273 0.000000000095 + 0.054500070098 0.460418004531 + 0.692369693941 0.332458744171 + -0.068183046680 0.419241707081 + 0.000000001536 0.000000000895 + 0.332518024141 -0.104249394007 + 0.337060435795 -0.069052792005 + -0.650561600988 -0.532294685535 + 0.000000001582 0.000000001566 + -0.000000000254 -0.000000000195 + -0.000000000003 0.000000000578 + 0.000000000573 0.000000000569 + 0.973201551253 0.070397569801 + 56 53 1 0 0 + -0.866749404106 -0.403922988205 + -0.187240253234 0.020978145670 + 0.040732431039 0.048074423750 + -0.046435534234 0.153776505975 + 0.009282776116 0.152690169845 + -0.761034001666 -0.329031081919 + -0.037068666247 0.036654004588 + -0.216904833183 -0.394886701374 + -0.068798858571 0.103067854678 + 0.167425664591 -0.321627853980 + -0.080325186435 -0.619756949049 + -0.523295512550 0.211263413424 + -0.150099902170 -0.016221761415 + 0.313114423964 0.114998374490 + -0.589837068940 0.204959296102 + -0.162026049923 -0.282024381238 + 56 8 0 0 1 + 0.866681987433 0.404067620211 + 0.187243752810 -0.020946899792 + -0.040724407250 -0.048081220522 + -0.046461195109 0.153768755832 + -0.009257300775 -0.152691716357 + 0.760979094236 0.329158050569 + 0.037074781310 -0.036647819410 + -0.216838945560 -0.394922887647 + 0.068816072899 -0.103056362293 + -0.167479381215 0.321599885470 + 0.080221671976 0.619770355738 + -0.523330790493 0.211176007389 + 0.069754500970 0.133893373346 + -0.077979321316 -0.324321591468 + 0.497694904252 0.377115185827 + 0.144801337696 -0.291243475511 + 56 9 1 0 1 + 0.908194707252 -0.266017748482 + 0.008987749448 0.187450859712 + -0.076345569390 0.205513010375 + 0.000000000596 -0.000000000677 + 0.025900606807 0.223318463823 + 0.747014628149 0.445546695051 + 0.405580930255 -0.080051112574 + -0.000000001076 -0.000000000547 + 0.002212574256 0.141446322527 + 0.110598304342 -0.283084693417 + 0.188862256394 0.501242384082 + -0.261584838422 -0.459773887285 + -0.099101950757 -0.027947156523 + 0.174356595625 0.136148452318 + -0.388928107662 0.027203146517 + -0.708143524839 0.163390637917 + 57 41 0 0 0 + 0.859447286896 -0.215433459396 + -0.189888621126 0.182408046752 + 0.317091122762 0.143158868332 + 0.000000001237 -0.000000000997 + -0.246525054247 -0.272007295602 + -0.580489523382 -0.534238363529 + 0.250736688526 0.388323189790 + -0.000000001348 0.000000002048 + 0.186494885651 0.017665073255 + -0.192166368641 -0.294982072455 + -0.123238531309 -0.493418390600 + -0.596155473129 -0.187573297217 + -0.101896566121 -0.115763339820 + -0.051085970585 0.285294253109 + -0.204330333274 0.365445171107 + -0.371510840580 -0.662020998047 + 57 53 0 0 0 + 0.423782764067 0.684954285720 + 0.098427291560 -0.516118867240 + 0.193372271418 -0.158083818866 + 0.000000001555 -0.000000001017 + 0.054800538475 -0.460382338836 + 0.692586518184 -0.332006814165 + -0.067909473699 -0.419286107929 + 0.000000001681 -0.000000000184 + 0.332449924328 0.104466359549 + 0.337015303636 0.069272731405 + -0.650908754391 0.531870117719 + 0.000000001624 -0.000000002480 + 0.000000000146 -0.000000000036 + -0.000000001701 -0.000000000759 + -0.000000000543 -0.000000000247 + 0.817020952080 -0.533435865302 + 57 58 0 0 0 + 0.211908287234 0.853623467662 + -0.094117473642 -0.308966546482 + 0.040248911488 0.168607983278 + -0.263664392415 0.022565490637 + -0.311306119127 0.136504082038 + -0.469237293670 0.659530205749 + 0.277345917951 0.093852839566 + -0.253431647196 0.209239326299 + 0.086964429218 0.210578393040 + -0.273529361657 0.149301334562 + -0.081484141699 -0.676948624460 + 0.124834825617 -0.467005061768 + 0.112585479970 -0.171036865367 + 0.341659059070 -0.046305336515 + 0.611994133903 0.014663820492 + -0.422391865733 -0.329756722201 + 57 61 0 0 0 + 0.847203377407 -0.386715133422 + 0.303409287447 0.041275584212 + 0.023351015249 0.151379068822 + 0.000000000075 -0.000000000423 + -0.166424914086 0.145763458745 + 0.731734491909 -0.355850784326 + -0.481606089776 0.055928143895 + 0.000000001766 -0.000000001577 + -0.193781716084 0.146066060852 + 0.425828988968 0.122733449693 + 0.536866063344 0.377069007741 + -0.137971538844 0.025188917644 + -0.026585375114 -0.022584514167 + -0.003815964410 0.063590484291 + -0.035996236405 0.087167933962 + 0.381071483178 0.898167588411 + 57 9 0 0 1 + -0.907942667199 -0.266876715390 + -0.009165060451 0.187442273370 + 0.076151159683 0.205585126268 + -0.000000000137 0.000000000520 + -0.026111902230 0.223293856404 + -0.747435876638 0.444839660797 + -0.405505013377 -0.080434794651 + -0.000000001714 0.000000000790 + -0.041492966801 -0.110055923358 + 0.171991953241 0.185127118406 + -0.007054850246 -0.445296406675 + -0.133431283394 -0.651971355859 + -0.056311058806 0.116658863515 + 0.017136743604 -0.277774372441 + -0.349938404841 0.343689417681 + 0.345348550280 -0.495828820196 + 57 14 0 0 1 + 0.867012656941 -0.403357609659 + 0.187226532560 0.021100258894 + -0.040763770863 0.048047852843 + 0.062532772095 0.147963259847 + -0.009382359171 0.152684083023 + 0.761248436864 -0.328534660716 + 0.037044756316 0.036678169262 + 0.173660396033 -0.415722602013 + 0.068731619541 0.103112705540 + -0.167215849350 -0.321736983683 + 0.080729322974 -0.619704434828 + 0.542802366280 0.154389170234 + -0.043327278712 -0.144623210114 + 0.170180130748 0.286886722570 + 0.093937100264 -0.617326414701 + -0.316629769861 -0.074402804377 + 57 40 -1 0 0 + -0.553637299756 -0.683420723571 + 0.216164477420 0.239981969868 + -0.107898744392 -0.135670505670 + -0.229264964192 0.132157822790 + -0.330342121256 -0.080118340612 + -0.772974070031 0.240155823758 + 0.163706573078 0.242753518270 + 0.328396929980 -0.012812203839 + -0.150606072823 0.170949942075 + -0.254665617199 -0.179595721033 + 0.571548580389 -0.371794737814 + -0.474171510947 0.094015108270 + 0.204688746771 0.005622827116 + 0.219307863953 0.266043526586 + 0.309860664643 0.527956643046 + -0.057848070693 0.532736321667 + 57 60 -1 0 0 + -0.867012831175 0.403357236671 + -0.187226522881 -0.021100339405 + 0.040763791373 -0.048047835277 + 0.062532707000 0.147963284792 + 0.009382423488 -0.152684079169 + -0.761248575004 0.328534340706 + -0.037044740877 -0.036678184933 + 0.173660569709 -0.415722529354 + -0.068731586711 -0.103112727310 + 0.167215745602 0.321737040953 + -0.080729526496 0.619704408202 + 0.542802316031 0.154389344379 + 0.132010655997 -0.073255119709 + -0.243852734233 0.227598579649 + 0.623133192064 -0.040262954453 + -0.004964219809 0.325216145699 + 58 37 0 0 0 + 0.557995068491 0.679867379833 + -0.316250714390 -0.124620825227 + -0.227747983315 -0.006076780645 + -0.197665154270 -0.053456397200 + -0.217694254239 -0.238595131972 + -0.798587518427 0.131991318783 + -0.025312631451 -0.310593738959 + -0.150819862498 -0.310045909381 + 0.108763861943 0.134977953101 + 0.128904862237 0.262892847980 + 0.651678019473 0.200536442642 + -0.177441784023 -0.585889290067 + -0.069556820067 0.255323244905 + -0.256150439425 0.205902034621 + 0.481176554689 -0.046331281272 + 0.223725449620 0.486930498030 + 58 42 0 0 0 + 0.211517226262 -0.853720451686 + 0.311368618931 0.136361459945 + -0.086867955746 0.210618210097 + 0.112663819098 0.170985272795 + -0.093975899613 0.309009636301 + 0.469539435885 0.659315137899 + 0.273597741890 0.149175990547 + 0.341680240250 0.046148785579 + 0.040171718190 -0.168626388788 + -0.277302922875 0.093979799592 + 0.081174225748 -0.676985856830 + 0.611987355404 -0.014943990800 + 0.256901087292 0.063481821730 + -0.217629145296 -0.246264597670 + 0.050339632041 0.480773734805 + 0.468724229383 -0.259715202972 + 58 54 0 0 0 + -0.853275646020 -0.213304525570 + 0.311082383390 0.137013193762 + 0.087308816553 -0.210435839881 + -0.171220825564 0.112305513967 + 0.308812154812 0.094622823004 + 0.468157666219 0.660297003183 + -0.273284734698 -0.149748636402 + -0.046864231530 0.341582844968 + -0.168541906555 -0.040524702772 + -0.277499090898 0.093398969795 + -0.082591536838 0.676814406994 + 0.013662560987 0.612017308918 + -0.116757072620 0.237478206507 + 0.160166064839 0.286976528761 + -0.053244821060 0.480460661548 + -0.153890914579 -0.513295205579 + 58 57 0 0 0 + 0.211908287234 -0.853623467662 + -0.311306119127 -0.136504082038 + 0.086964429218 -0.210578393040 + 0.112585479970 0.171036865367 + -0.094117473642 0.308966546482 + -0.469237293670 -0.659530205749 + -0.273529361657 -0.149301334562 + 0.341659059070 0.046305336515 + 0.040248911488 -0.168607983278 + 0.277345917951 -0.093852839566 + -0.081484141699 0.676948624460 + 0.611994133903 -0.014663820492 + -0.263664392415 -0.022565490637 + -0.253431647196 -0.209239326299 + 0.124834825617 0.467005061768 + -0.422391865733 0.329756722201 + 58 59 0 0 0 + 0.680544072759 -0.557169554069 + 0.316099239856 0.125004542247 + -0.227740441938 -0.006353175410 + 0.053696247761 -0.197600132839 + -0.238859156215 0.217404529194 + 0.798747119591 -0.131022033311 + -0.024935667428 -0.310624228900 + 0.310228719831 -0.150443470141 + 0.135109803567 -0.108600031760 + -0.128585840444 -0.263049035861 + 0.651434258028 0.201326875326 + 0.586104125331 -0.176730886021 + 0.188646932356 0.185581379254 + 0.324137806114 -0.054252918867 + 0.442321653607 0.195010308723 + -0.534130768717 -0.043112696215 + 58 62 0 0 0 + -0.557457396470 -0.680308310536 + -0.316152091616 -0.124870810503 + -0.227743107454 -0.006256833049 + 0.197622830718 0.053612653681 + 0.217505555104 0.238767168318 + -0.798691620207 0.131359920093 + -0.025067069505 -0.310613654440 + 0.150574696191 0.310165050012 + -0.108657124593 -0.135063893022 + 0.128696994305 0.262994670292 + 0.651519283694 0.201051557776 + 0.176978561230 0.586029380263 + 0.263015501708 0.029171146823 + -0.243091645417 -0.221167693729 + 0.120300206197 0.468193677419 + 0.446402119478 -0.296444826135 + 58 10 0 0 1 + 0.680532247121 -0.557183999716 + -0.316101891506 -0.124997833448 + 0.227740575998 0.006348342539 + 0.053692053825 -0.197601271801 + -0.238854542548 0.217409597268 + -0.798744335232 0.131038989221 + 0.024942260177 0.310623704573 + 0.310225526725 -0.150450058018 + 0.135107525365 -0.108602863782 + 0.128591350947 0.263046341243 + -0.651438477884 -0.201313228521 + 0.586100423659 -0.176743165714 + 0.263066498885 0.028707609249 + -0.220738970534 0.243481012485 + -0.467980958675 0.121125071658 + -0.445879023628 0.297231022076 + 58 15 0 0 1 + 0.853423899368 0.212710595160 + 0.311177668933 0.136796648180 + 0.087162331862 -0.210496554472 + 0.171142617648 -0.112424657448 + -0.308877933092 -0.094407878765 + 0.468617091272 0.659971026156 + -0.273388886614 -0.149558402433 + 0.046626494440 -0.341615378935 + 0.168570081007 0.040407356430 + -0.277434000701 0.093592137357 + -0.082120330145 0.676871742619 + -0.014088636250 -0.612007648600 + -0.048666607924 -0.260114729945 + 0.300105567368 0.133960233907 + 0.245016468810 0.416706603377 + 0.430581818260 0.318988529639 + 59 38 0 0 0 + -0.423631032224 0.685048139604 + -0.098541615329 -0.516097051539 + -0.193407223896 -0.158041052054 + -0.000000000018 -0.000000001502 + -0.054902509594 -0.460370188641 + -0.692660041157 -0.331853397747 + 0.067816757509 -0.419301113958 + -0.000000001466 -0.000000001232 + -0.332426782856 0.104539980524 + -0.336999953456 0.069347364289 + 0.651026330839 0.531726194643 + 0.000000001795 0.000000001388 + 0.000000000190 -0.000000000452 + 0.000000000640 -0.000000001120 + -0.000000000217 -0.000000000084 + -0.968418858603 0.119339768427 + 59 43 0 0 0 + 0.907970025731 -0.266783620881 + 0.009145842475 0.187443213303 + -0.076172311653 0.205577290045 + 0.000000000446 -0.000000000922 + 0.026088848801 0.223296549629 + 0.747389951052 0.444916819096 + 0.405513345697 -0.080392780434 + 0.000000000569 0.000000001076 + 0.143068407509 -0.056995163047 + -0.330849640669 -0.002974248169 + 0.436930150406 -0.386166574693 + -0.423592789628 0.051013165783 + 0.028950113148 0.077840036632 + 0.005713947297 -0.178332765789 + 0.202764141696 0.240358225351 + 0.076475131712 0.787464762328 + 59 55 0 0 0 + -0.236941940074 0.847016330908 + 0.103170787658 -0.306062436231 + -0.045194324818 0.167350225858 + -0.245720689644 -0.098231632550 + -0.247704831851 0.232781404119 + -0.790755574695 0.172827527903 + 0.022496007098 -0.291929857836 + 0.321294285492 -0.069127948577 + 0.031299945581 -0.225668751870 + -0.302256035735 -0.075831980842 + 0.091114079489 0.675719860621 + -0.119377445888 -0.468429810376 + -0.096506832498 0.180597704577 + 0.122478316877 0.322295141843 + 0.305146426644 0.530695308187 + 0.418167724980 0.335097210593 + 59 58 0 0 0 + 0.680544072759 0.557169554069 + -0.238859156215 -0.217404529194 + 0.135109803567 0.108600031760 + 0.188646932356 -0.185581379254 + 0.316099239856 -0.125004542247 + 0.798747119591 0.131022033311 + -0.128585840444 0.263049035861 + 0.324137806114 0.054252918867 + -0.227740441938 0.006353175410 + -0.024935667428 0.310624228900 + 0.651434258028 -0.201326875326 + 0.442321653607 -0.195010308723 + 0.053696247761 0.197600132839 + 0.310228719831 0.150443470141 + 0.586104125331 0.176730886021 + -0.534130768717 0.043112696215 + 59 60 0 0 0 + 0.866952371669 0.403487167759 + 0.187229684320 -0.021072281203 + -0.040756572403 -0.048053959021 + -0.099184101333 0.126356588609 + -0.009359543854 -0.152685483744 + 0.761199336060 0.328648406653 + 0.037050250426 -0.036672619154 + -0.058429590873 -0.446731683745 + 0.068747029114 -0.103102432531 + -0.167263928977 0.321711994193 + 0.080636483088 0.619716523338 + -0.564294722760 0.006472118712 + 0.145018873251 0.041983954897 + -0.288452895945 -0.167511781840 + 0.616428576552 -0.099658867447 + 0.008267484725 -0.325148942426 + 59 63 0 0 0 + -0.866887014596 -0.403627566120 + -0.187233093940 0.021041959167 + 0.040748789269 0.048060559245 + -0.099204564372 0.126340522372 + 0.009334812310 0.152686997673 + -0.761146093186 -0.328771698897 + -0.037056190525 0.036666617411 + -0.058357229674 -0.446741142735 + -0.068763742355 0.103091287017 + 0.167316077159 -0.321684876960 + -0.080536021884 -0.619729584850 + -0.564295765077 0.006380643815 + 0.057304363083 -0.139675827021 + -0.197500042923 0.268810344157 + -0.032930593770 -0.623563674895 + 0.322383957010 0.043113470432 + 59 11 0 0 1 + -0.875873887260 0.133813858005 + 0.245668631708 0.094748651696 + -0.237023192642 0.254678716734 + 0.000000000562 0.000000000082 + -0.302855761957 -0.207463146078 + -0.607853554840 -0.502884451734 + 0.418672146335 0.195901556128 + -0.000000000917 0.000000003395 + 0.063094964202 -0.128493831492 + 0.115199193647 0.243111650615 + 0.271972847313 0.277605742866 + 0.771854969917 0.186012447722 + 0.025607213036 0.194239770254 + -0.315664389064 -0.189543635249 + -0.520420978286 -0.109901490010 + 0.544722864846 -0.199483073736 + 59 16 0 0 1 + 0.846109879995 0.389101821511 + 0.303524436276 -0.040420126125 + 0.023777709850 -0.151312632752 + -0.000000001416 -0.000000001513 + -0.166013353915 -0.146232024140 + 0.730728457489 0.357912093325 + -0.481446495560 -0.057285726005 + -0.000000000241 0.000000000076 + -0.059144680186 0.224898287335 + -0.263508946177 -0.333042397223 + -0.529382514029 -0.339129439274 + 0.246021001958 -0.192063325872 + 0.076774472995 0.011482047230 + -0.100976583830 0.099507112377 + -0.093367473215 0.187957645224 + 0.651910686253 0.670215573837 + 60 39 0 0 0 + -0.423156147104 0.685341578874 + -0.055221560281 -0.460332027402 + -0.332354246166 0.104770353658 + 0.000000000671 -0.000000000496 + -0.098899285737 -0.516028631121 + -0.692889872994 -0.331373254457 + -0.336951809200 0.069580922087 + -0.000000000607 0.000000000510 + -0.193516773694 -0.157906893767 + 0.067525971931 -0.419348041884 + 0.651394915395 0.531274594048 + 0.000000000466 -0.000000000214 + -0.000000000421 0.000000001092 + 0.000000001024 0.000000000347 + 0.000000002168 0.000000004538 + 0.175868516451 0.959764209290 + 60 44 0 0 0 + 0.866971034728 -0.403447065955 + -0.009366606107 0.152685050079 + 0.068742259740 0.103105612743 + -0.145020814121 0.041977246166 + 0.187228707957 0.021080934202 + 0.761214523391 -0.328613227690 + -0.167249060377 -0.321719725518 + 0.288460636188 -0.167498449791 + -0.040758807047 0.048052063742 + 0.037048545423 0.036674342228 + 0.080665299171 -0.619712771847 + -0.616423941620 -0.099687528123 + -0.147128781607 -0.064471653961 + 0.159658794411 0.421298331728 + -0.500342570344 0.261012904496 + -0.160968815159 -0.282629131788 + 60 56 0 0 0 + 0.424229694578 0.684677567162 + 0.054500070098 -0.460418004531 + 0.332518024141 0.104249394007 + -0.000000000254 0.000000000195 + 0.098090435424 -0.516182993113 + 0.692369693941 -0.332458744171 + 0.337060435795 0.069052792005 + -0.000000000003 -0.000000000578 + 0.193269077883 -0.158209962319 + -0.068183046680 -0.419241707081 + -0.650561600988 0.532294685535 + 0.000000000573 -0.000000000569 + -0.000000000273 -0.000000000095 + 0.000000001536 -0.000000000895 + 0.000000001582 -0.000000001566 + 0.973201551253 -0.070397569801 + 60 59 0 0 0 + 0.866952371669 -0.403487167759 + -0.009359543854 0.152685483744 + 0.068747029114 0.103102432531 + 0.145018873251 -0.041983954897 + 0.187229684320 0.021072281203 + 0.761199336060 -0.328648406653 + -0.167263928977 -0.321711994193 + -0.288452895945 0.167511781840 + -0.040756572403 0.048053959021 + 0.037050250426 0.036672619154 + 0.080636483088 -0.619716523338 + 0.616428576552 0.099658867447 + -0.099184101333 -0.126356588609 + -0.058429590873 0.446731683745 + -0.564294722760 -0.006472118712 + 0.008267484725 0.325148942426 + 60 64 0 0 0 + 0.956393095112 -0.131450273438 + 0.166308729360 0.026893837792 + -0.127721699841 0.074252247411 + 0.000000000200 -0.000000000430 + -0.108013740821 0.016822336453 + 0.683549972997 -0.419035077283 + -0.345532523725 -0.436901598897 + 0.000000000746 -0.000000000576 + 0.131806222105 -0.013593555523 + -0.296687395299 -0.216645758589 + 0.223142752116 -0.375601204985 + 0.527101779099 0.282036122780 + -0.110187995316 -0.060312743540 + 0.114988917240 0.328731827163 + -0.376264679928 0.173084528967 + 0.288907115890 0.560533688104 + 60 57 1 0 0 + -0.867012831175 -0.403357236671 + 0.009382423488 0.152684079169 + -0.068731586711 0.103112727310 + 0.132010655997 0.073255119709 + -0.187226522881 0.021100339405 + -0.761248575004 -0.328534340706 + 0.167215745602 -0.321737040953 + -0.243852734233 -0.227598579649 + 0.040763791373 0.048047835277 + -0.037044740877 0.036678184933 + -0.080729526496 -0.619704408202 + 0.623133192064 0.040262954453 + 0.062532707000 -0.147963284792 + 0.173660569709 0.415722529354 + 0.542802316031 -0.154389344379 + -0.004964219809 -0.325216145699 + 60 12 0 0 1 + -0.867048530573 -0.403280492211 + 0.009395938053 0.152683248281 + -0.068722459247 0.103118811156 + -0.132017139479 -0.073243434446 + -0.187224654749 0.021116907462 + -0.761277643139 -0.328466975101 + 0.167187275532 -0.321751837506 + 0.243872874085 0.227576999235 + 0.040768043456 0.048044226875 + -0.037041495250 0.036681462196 + -0.080784367683 -0.619697262739 + -0.623136753446 -0.040207808635 + 0.084874766873 -0.136380887449 + 0.106600311939 0.437743748354 + 0.560254163571 -0.067717786249 + -0.045890174695 0.322000428893 + 60 13 1 0 1 + 0.956667617411 0.129437231476 + 0.166251763389 -0.027243777730 + -0.127877675267 -0.073983300161 + -0.000000001217 -0.000000000474 + -0.108048904413 -0.016594979821 + 0.684430326470 0.417595604699 + -0.344612325919 0.437627782659 + -0.000000001244 0.000000000150 + 0.063672333206 -0.024950794463 + -0.084823591424 0.169566967352 + 0.191218234336 0.119482087769 + -0.360120270550 0.720719186417 + -0.057853419514 0.159100471263 + -0.176152032842 -0.435049791169 + -0.534858550788 0.159650462529 + 0.122282901042 0.301612552717 + 61 45 0 0 0 + 0.846971142214 0.387223503396 + -0.166337406788 -0.145863309407 + 0.193694019673 0.146182332954 + 0.026598923183 -0.022568555408 + 0.303434004338 -0.041093484116 + 0.731520792676 0.356289874943 + -0.425902572186 0.122477865746 + 0.003777797741 0.063592760429 + 0.023441901548 -0.151365021981 + -0.481572421718 -0.056217294457 + -0.537092361812 0.376746601113 + 0.035943892269 0.087189530940 + 0.000000000019 0.000000001221 + 0.000000000458 -0.000000000704 + -0.042946676083 -0.133514827352 + 0.971668767163 -0.088205909051 + 61 57 0 0 0 + 0.847203377407 0.386715133422 + -0.166424914086 -0.145763458745 + -0.193781716084 -0.146066060852 + -0.026585375114 0.022584514167 + 0.303409287447 -0.041275584212 + 0.731734491909 0.355850784326 + 0.425828988968 -0.122733449693 + -0.003815964410 -0.063590484291 + 0.023351015249 -0.151379068822 + -0.481606089776 -0.055928143895 + 0.536866063344 -0.377069007741 + -0.035996236405 -0.087167933962 + 0.000000000075 0.000000000423 + 0.000000001766 0.000000001577 + -0.137971538844 -0.025188917644 + 0.381071483178 -0.898167588411 + 61 62 0 0 0 + 0.846917007146 -0.387341890496 + -0.166317005245 0.145886570335 + -0.022968242449 -0.026254568071 + 0.213185380649 -0.115925158499 + 0.303439744788 0.041051075204 + 0.731470964155 -0.356392162847 + -0.013142255406 0.062334518204 + -0.403102286512 -0.184125980888 + 0.023463010375 0.151361750771 + -0.481564572917 0.056284487011 + -0.048444770557 0.080914040250 + -0.475460036761 -0.452044198194 + -0.000000001645 0.000000000215 + -0.000000003612 -0.000000000267 + 0.366939498246 -0.904033112154 + -0.115257330454 -0.079914788159 + 61 49 0 1 0 + 0.968944205744 0.138937654412 + 0.068580989060 -0.011507967651 + 0.106431070692 0.033776651269 + 0.008086615282 -0.013865649017 + 0.054376792067 -0.023061151062 + 0.549146452897 0.272826497060 + -0.673719492098 -0.014689378248 + -0.023259663006 0.094036489863 + -0.048911761801 -0.031986949938 + 0.301691235426 0.110718750893 + 0.236422107712 0.100283295571 + -0.663454436625 0.386387580469 + -0.095035169838 -0.000058276992 + 0.509198887195 -0.117516978726 + 0.164442783512 -0.130223411943 + 0.199559943701 -0.471881883527 + 61 13 0 0 1 + -0.969240606123 -0.136854645458 + -0.068556094408 0.011655352533 + 0.106503424659 0.033547805999 + 0.008056795464 -0.013882997637 + -0.054327098317 0.023177976261 + -0.549731608609 -0.271645510802 + -0.673749508556 -0.013241229108 + -0.023057481539 0.094086269288 + -0.064048319282 0.088692664490 + 0.233157056259 -0.554558495990 + -0.023219045991 0.294746655219 + -0.005204321895 0.191285699854 + 0.013860508267 -0.016926967514 + -0.053267262544 0.107866828706 + 0.142811444193 -0.046280601537 + -0.284902553739 0.856841330809 + 61 44 -1 0 0 + -0.847098689250 0.386944398783 + 0.166385449628 -0.145808504875 + -0.022955917729 -0.026265343166 + 0.213239758563 -0.115825100494 + -0.303420448665 -0.041193459844 + -0.731638121280 0.356048881258 + -0.013171504583 0.062328345105 + -0.403015840135 -0.184315113626 + -0.023392001793 -0.151372740635 + 0.481590924207 -0.056058576956 + -0.048482722866 0.080891304267 + -0.475247928918 -0.452267190116 + 0.000000000417 0.000000000294 + -0.000000000289 -0.000000000355 + -0.826624885035 -0.518277705064 + -0.098706384127 0.099637719978 + 61 64 -1 0 0 + -0.968927233711 0.139055965711 + -0.068582394059 -0.011499588534 + -0.005946537512 -0.014909335674 + 0.110256633078 -0.017660962539 + -0.054379608383 -0.023054508933 + -0.549113114173 0.272893596370 + 0.009093182141 0.096442662381 + -0.668480333309 -0.085133868700 + 0.025658046880 0.004152752399 + -0.132307655178 -0.054059380879 + 0.901836560457 0.003355886819 + 0.080802284243 -0.076146027571 + 0.077352567988 0.076080298434 + -0.320068622836 -0.503486182004 + -0.134516899674 -0.143347819112 + 0.031300960748 0.310877375007 + 61 2 0 1 1 + -0.968969655033 0.138760056740 + -0.068578879323 -0.011520533431 + 0.005941984006 0.014911150719 + -0.110262022135 0.017627291194 + -0.054372565187 -0.023071115004 + -0.549196424257 0.272725895377 + -0.009063730661 -0.096445436192 + 0.668454303153 0.085338003943 + -0.033882787002 0.044546172977 + 0.236748848196 -0.196635245573 + 0.309087355450 -0.749350742479 + 0.052717900386 -0.114753827098 + -0.056325269446 -0.078372645699 + 0.204578086790 0.489696189548 + -0.313843011596 -0.310491341718 + -0.049413162381 0.302592858684 + 62 41 0 0 0 + 0.690230922665 0.555556015551 + -0.096045190776 -0.245164649544 + 0.347898610729 0.002792709182 + 0.000000000999 0.000000000702 + -0.060735359810 -0.362041137541 + -0.059616080737 -0.786654077742 + 0.149419878592 0.437421404128 + -0.000000001027 0.000000000516 + -0.142239754764 0.059597929492 + 0.078719681968 -0.278936910842 + -0.024093812218 -0.417995868982 + 0.242149172243 -0.719483063330 + -0.175465556786 -0.065606668608 + 0.301750793190 -0.181352690208 + 0.326466483933 -0.389960365389 + -0.550969245545 0.294988099586 + 62 46 0 0 0 + 0.647838665127 -0.594880837898 + -0.249008101697 0.205702188653 + 0.126620978004 -0.118388147088 + 0.264500633785 0.008217480397 + -0.099614061849 0.324995235571 + -0.600884994117 0.542310756428 + -0.125274973510 -0.264641821493 + -0.021225187612 -0.327960650565 + 0.165981396841 0.156064882020 + 0.236691238218 -0.202697948670 + -0.603911601158 -0.316527852153 + 0.415309959777 -0.247376432305 + -0.197024083289 0.055772840830 + -0.147170257987 0.311794824881 + -0.170552621437 0.587931675018 + 0.449620584903 0.291540251393 + 62 58 0 0 0 + -0.557457396470 0.680308310536 + 0.217505555104 -0.238767168318 + -0.108657124593 0.135063893022 + 0.263015501708 -0.029171146823 + -0.316152091616 0.124870810503 + -0.798691620207 -0.131359920093 + 0.128696994305 -0.262994670292 + -0.243091645417 0.221167693729 + -0.227743107454 0.006256833049 + -0.025067069505 0.310613654440 + 0.651519283694 -0.201051557776 + 0.120300206197 -0.468193677419 + 0.197622830718 -0.053612653681 + 0.150574696191 -0.310165050012 + 0.176978561230 -0.586029380263 + 0.446402119478 0.296444826135 + 62 61 0 0 0 + 0.846917007146 0.387341890496 + 0.303439744788 -0.041051075204 + 0.023463010375 -0.151361750771 + -0.000000001645 -0.000000000215 + -0.166317005245 -0.145886570335 + 0.731470964155 0.356392162847 + -0.481564572917 -0.056284487011 + -0.000000003612 0.000000000267 + -0.022968242449 0.026254568071 + -0.013142255406 -0.062334518204 + -0.048444770557 -0.080914040250 + 0.366939498246 0.904033112154 + 0.213185380649 0.115925158499 + -0.403102286512 0.184125980888 + -0.475460036761 0.452044198194 + -0.115257330454 0.079914788159 + 62 63 0 0 0 + 0.423972028862 -0.684837150282 + 0.098284661891 0.516146046732 + 0.193328586873 0.158137238990 + -0.000000000762 0.000000000556 + 0.054673303076 0.460397465820 + 0.692494737115 0.332198207147 + -0.068025324533 0.419267327598 + 0.000000000464 0.000000001027 + 0.332478790631 -0.104374456338 + 0.337034439773 -0.069179567450 + -0.650761733171 -0.532049995361 + -0.000000000903 -0.000000001115 + -0.000000000948 0.000000000399 + -0.000000000609 -0.000000000429 + 0.000000000034 0.000000000025 + -0.336903676299 -0.915736306955 + 62 50 0 1 0 + 0.866719460903 0.403987234651 + 0.187241807846 -0.020964267094 + -0.040728864078 -0.048077445294 + 0.037932907154 0.156091535466 + -0.009271457580 -0.152690857279 + 0.761009610017 0.329087491576 + 0.037071385513 -0.036651254518 + -0.387157703131 -0.230417290318 + 0.068806504214 -0.103062751661 + -0.167449520051 0.321615434116 + 0.080279174384 0.619762910201 + -0.343961625680 0.447393365453 + 0.150829309084 -0.006606446880 + -0.326878859632 -0.066449077955 + 0.552169255219 -0.291590801058 + -0.303691398254 -0.116454826221 + 62 14 0 0 1 + 0.866781780412 0.403853507401 + 0.187238570497 -0.020993155151 + -0.040736282140 -0.048071160323 + -0.037956988745 -0.156085679674 + -0.009295015822 -0.152689424613 + 0.761060376222 0.328970070988 + 0.037065730425 -0.036656973611 + 0.387193249461 0.230357552472 + 0.068790604665 -0.103073364206 + -0.167399905652 0.321641262297 + 0.080374781133 0.619750518687 + 0.343892606024 -0.447446419506 + 0.072083619965 -0.132653977810 + -0.225430948049 0.245858001200 + 0.034745041370 -0.623465205589 + 0.256329930762 -0.200212782046 + 62 3 0 1 1 + -0.907925531968 0.266935003599 + -0.009177092878 -0.187441684165 + 0.076137951641 -0.205590020750 + 0.000000000026 0.000000000362 + -0.026126245124 -0.223292180190 + -0.747464448821 -0.444791647295 + -0.405499843164 0.080460864496 + 0.000000000162 -0.000000000654 + -0.090419389409 0.031872402270 + 0.205724437228 0.010129809083 + -0.281448258101 0.229273401677 + -0.750071185849 -0.052814670910 + -0.146317350178 -0.003730336517 + 0.287939732879 0.126376841444 + -0.526205134161 0.173915792344 + 0.446727046959 0.207415453135 + 63 42 0 0 0 + -0.423043758462 0.685410959202 + -0.055297057970 -0.460322964537 + -0.332337046055 0.104824903899 + 0.000000000676 0.000000000465 + -0.098983946164 -0.516012398633 + -0.692944239049 -0.331259553942 + -0.336940378033 0.069636254735 + -0.000000001524 -0.000000000877 + -0.193542613991 -0.157875220774 + 0.067457330324 -0.419359088781 + 0.651481937994 0.531167878048 + -0.000000000246 0.000000000200 + 0.000000000932 -0.000000001832 + -0.000000001455 -0.000000000907 + 0.000000001291 0.000000002717 + -0.426749910947 0.877474548364 + 63 47 0 0 0 + -0.866956969984 0.403477285576 + 0.009361280390 -0.152685377311 + -0.068745869673 -0.103103205920 + -0.057280149107 -0.139685757824 + -0.187229442830 -0.021074414136 + -0.761203069201 0.328639759365 + 0.167260316751 0.321713872995 + 0.197453444875 0.268844575962 + 0.040757127910 -0.048053486313 + -0.037049827090 -0.036673046536 + -0.080643556893 0.619715603103 + 0.033038795502 -0.623557951897 + -0.109448952027 0.117577208880 + 0.450388593237 -0.011546851288 + 0.081105185942 0.558473249588 + 0.092530039901 0.311814656058 + 63 59 0 0 0 + -0.866887014596 0.403627566120 + 0.009334812310 -0.152686997673 + -0.068763742355 -0.103091287017 + 0.057304363083 0.139675827021 + -0.187233093940 -0.021041959167 + -0.761146093186 0.328771698897 + 0.167316077159 0.321684876960 + -0.197500042923 -0.268810344157 + 0.040748789269 -0.048060559245 + -0.037056190525 -0.036666617411 + -0.080536021884 0.619729584850 + -0.032930593770 0.623563674895 + -0.099204564372 -0.126340522372 + -0.058357229674 0.446741142735 + -0.564295765077 -0.006380643815 + 0.322383957010 -0.043113470432 + 63 62 0 0 0 + 0.423972028862 0.684837150282 + 0.054673303076 -0.460397465820 + 0.332478790631 0.104374456338 + -0.000000000948 -0.000000000399 + 0.098284661891 -0.516146046732 + 0.692494737115 -0.332198207147 + 0.337034439773 0.069179567450 + -0.000000000609 0.000000000429 + 0.193328586873 -0.158137238990 + -0.068025324533 -0.419267327598 + -0.650761733171 0.532049995361 + 0.000000000034 -0.000000000025 + -0.000000000762 -0.000000000556 + 0.000000000464 -0.000000001027 + -0.000000000903 0.000000001115 + -0.336903676299 0.915736306955 + 63 64 0 0 0 + -0.956371794436 0.131605160185 + -0.166313081717 -0.026866903346 + 0.127709657667 -0.074272949270 + 0.000000000042 0.000000000452 + 0.108011014327 -0.016839829097 + -0.683482088225 0.419145787723 + 0.345603341641 0.436845580222 + -0.000000000150 0.000000000028 + -0.042228707440 0.005109519628 + 0.096454257760 0.067856400816 + -0.069494833079 0.121819931265 + -0.319862387546 0.782146678969 + -0.156142210798 -0.084539492340 + 0.164665681640 0.463921497697 + -0.530733612929 0.247092141237 + 0.170873068075 -0.108549616850 + 63 51 0 1 0 + 0.866685749928 0.404059550888 + -0.009258721075 -0.152691630545 + 0.068815087826 -0.103057019505 + -0.058800397649 0.139052648973 + 0.187243556961 -0.020948639585 + 0.760982149040 0.329150988447 + -0.167476316617 0.321601479942 + 0.200374194411 -0.266674800954 + -0.040724859115 -0.048080838396 + 0.037074438052 -0.036648166221 + 0.080227627486 0.619769584532 + 0.026235442480 0.623881225518 + -0.069015358579 -0.145052933777 + 0.426059104838 0.146481579287 + 0.245328819995 -0.508216678387 + -0.184783430005 0.267666343235 + 63 15 0 0 1 + -0.866698739316 -0.404031687489 + 0.009263630298 0.152691332812 + -0.068811775146 0.103059230765 + -0.058795928108 0.139054540483 + -0.187242884755 0.020954651697 + -0.760992717589 -0.329126553442 + 0.167465990477 -0.321606860876 + 0.200365631349 -0.266681236828 + 0.040726402650 0.048079530839 + -0.037073261070 0.036649357634 + -0.080247538811 -0.619767006528 + 0.026255483302 0.623880382407 + -0.020721679327 0.159292450898 + -0.278431127240 -0.354202374663 + -0.481810753792 0.293817664992 + -0.300443026335 0.124596047672 + 63 4 0 1 1 + -0.956529119412 -0.130456776991 + -0.166280703318 0.027066574921 + 0.127798761669 0.074119531003 + -0.000000000609 -0.000000001092 + 0.108031155477 0.016710132094 + -0.683984862046 -0.418324833335 + 0.345078495263 -0.437260291920 + -0.000000001210 -0.000000000891 + 0.078984757208 0.128020722820 + -0.400285936253 -0.117059060527 + -0.183577727260 0.460745638210 + 0.042945629162 -0.490611995069 + 0.025405907700 0.100316145079 + -0.238517844842 -0.159447309600 + -0.215579605397 0.264462520602 + -0.273545404898 0.661569688711 + 64 43 0 0 0 + 0.735028309318 -0.460073118715 + -0.298998446092 0.368663011100 + 0.000000000814 0.000000000218 + 0.000000001575 -0.000000000044 + 0.261185295276 0.405532748237 + 0.691875740537 0.513541321752 + 0.000000000853 0.000000000534 + 0.000000000737 -0.000000000884 + 0.000000002213 -0.000000001417 + 0.000000000679 -0.000000000315 + 0.455321598940 -0.626776819072 + -0.448733699030 -0.384752934309 + -0.000000003270 0.000000000249 + -0.000000002521 -0.000000000281 + 0.587151516750 0.068189894377 + -0.150983360858 0.759849294599 + 64 48 0 0 0 + -0.956433656670 -0.131154824647 + 0.108018931940 0.016788968825 + 0.174041523407 0.018642474204 + 0.045933026201 -0.024266226430 + -0.166300412309 0.026945212569 + -0.683679384735 -0.418823898887 + -0.393042750040 0.284639211206 + -0.049559844162 0.135231652200 + 0.127744623074 0.074212800553 + 0.345397580548 -0.437008285830 + 0.292810928470 0.497319467209 + 0.154531804246 0.073873850653 + 0.000000000932 0.000000000283 + 0.000000001137 -0.000000000936 + 0.070667447682 0.236915758145 + -0.643426605923 -0.529079611735 + 64 60 0 0 0 + 0.956393095112 0.131450273438 + -0.108013740821 -0.016822336453 + 0.131806222105 0.013593555523 + -0.110187995316 0.060312743540 + 0.166308729360 -0.026893837792 + 0.683549972997 0.419035077283 + -0.296687395299 0.216645758589 + 0.114988917240 -0.328731827163 + -0.127721699841 -0.074252247411 + -0.345532523725 0.436901598897 + 0.223142752116 0.375601204985 + -0.376264679928 -0.173084528967 + 0.000000000200 0.000000000430 + 0.000000000746 0.000000000576 + 0.527101779099 -0.282036122780 + 0.288907115890 -0.560533688104 + 64 63 0 0 0 + -0.956371794436 -0.131605160185 + 0.108011014327 0.016839829097 + -0.042228707440 -0.005109519628 + -0.156142210798 0.084539492340 + -0.166313081717 0.026866903346 + -0.683482088225 -0.419145787723 + 0.096454257760 -0.067856400816 + 0.164665681640 -0.463921497697 + 0.127709657667 0.074272949270 + 0.345603341641 -0.436845580222 + -0.069494833079 -0.121819931265 + -0.530733612929 -0.247092141237 + 0.000000000042 -0.000000000452 + -0.000000000150 -0.000000000028 + -0.319862387546 -0.782146678969 + 0.170873068075 0.108549616850 + 64 1 1 1 1 + -0.644154912081 -0.737142308831 + -0.107796960573 -0.079759030749 + -0.000000000269 0.000000000081 + 0.000000000206 -0.000000000088 + -0.023040677654 0.056710495692 + 0.120756033770 -0.322095917655 + 0.175675024128 0.576543165897 + 0.507074346085 0.089090486045 + -0.058069557166 0.040989306823 + 0.319935726088 -0.239140498587 + -0.182791160681 -0.585875341601 + 0.399586043076 -0.164768624760 + -0.072859804985 0.047818422133 + 0.401975298734 -0.279765506048 + 0.261286706150 0.079236066506 + -0.587842589525 -0.130526788820 + 64 61 1 0 0 + -0.968927233711 -0.139055965711 + -0.054379608383 0.023054508933 + 0.025658046880 -0.004152752399 + 0.077352567988 -0.076080298434 + -0.068582394059 0.011499588534 + -0.549113114173 -0.272893596370 + -0.132307655178 0.054059380879 + -0.320068622836 0.503486182004 + -0.005946537512 0.014909335674 + 0.009093182141 -0.096442662381 + 0.901836560457 -0.003355886819 + -0.134516899674 0.143347819112 + 0.110256633078 0.017660962539 + -0.668480333309 0.085133868700 + 0.080802284243 0.076146027571 + 0.031300960748 -0.310877375007 + 64 52 0 1 0 + 0.968941091749 0.138959370664 + 0.054377310202 -0.023059931056 + -0.079687192798 0.014339148338 + 0.054479515666 -0.054069720336 + 0.068581248172 -0.011506427143 + 0.549140314135 0.272838850624 + 0.409125424086 -0.175618318784 + -0.224821860694 0.357211022790 + -0.032730891171 -0.005180149988 + 0.198339152598 -0.025636014855 + 0.275650714564 0.567620888688 + 0.602618621642 0.198905731654 + -0.093787560800 0.053214969126 + 0.452645308469 -0.467561981412 + -0.200506435612 0.148149173947 + -0.287676546169 -0.126953788887 + 64 16 0 0 1 + 0.968576274299 0.141479848462 + 0.054437121457 -0.022918375251 + 0.105392587507 -0.018220312810 + 0.022922676528 -0.021958726084 + 0.068610951322 -0.011327960582 + 0.548428614739 0.274266619221 + -0.542023439897 0.228281487785 + -0.095576891684 0.146058896465 + 0.008725879268 0.106648899755 + -0.231799844176 -0.602739388856 + -0.316661873312 -0.175562744035 + 0.192680815566 -0.060067851490 + 0.035075389841 -0.006758163719 + -0.191623863517 0.098752021749 + 0.024131968952 -0.158803303120 + 0.283553764768 0.826970926794 diff --git a/test-suite/tests/testw90_example26/gaas.win b/test-suite/tests/testw90_example26/gaas.win new file mode 100644 index 000000000..11533a8a8 --- /dev/null +++ b/test-suite/tests/testw90_example26/gaas.win @@ -0,0 +1,102 @@ +num_bands = 4 +num_wann = 4 +num_iter = 100 + +exclude_bands = 1-5,10-18 + +! Perform selective localization with constrained center +slwf_num = 1 +slwf_constrain = true +slwf_lambda = 1 + +begin projections +f= 0.125, 0.125, 0.125: s +f= 0.125, 0.125, -.375: s +f= -.375, 0.125, 0.125: s +f= 0.125, -.375, 0.125: s +end projections + +begin slwf_centres +1 0.25 0.25 0.25 +end slwf_centres + +begin unit_cell_cart +bohr +-5.34 0.00 5.34 + 0.00 5.34 5.34 +-5.34 5.34 0.00 +end unit_cell_cart + +begin atoms_frac +Ga 0.00 0.00 0.00 +As 0.25 0.25 0.25 +end atoms_frac + +mp_grid = 4 4 4 + +begin kpoints +0 0 0 0.015625 +0.25 0 0 0.015625 +0.5 0 0 0.015625 +0.75 0 0 0.015625 +0 0.25 0 0.015625 +0.25 0.25 0 0.015625 +0.5 0.25 0 0.015625 +0.75 0.25 0 0.015625 +0 0.5 0 0.015625 +0.25 0.5 0 0.015625 +0.5 0.5 0 0.015625 +0.75 0.5 0 0.015625 +0 0.75 0 0.015625 +0.25 0.75 0 0.015625 +0.5 0.75 0 0.015625 +0.75 0.75 0 0.015625 +0 0 0.25 0.015625 +0.25 0 0.25 0.015625 +0.5 0 0.25 0.015625 +0.75 0 0.25 0.015625 +0 0.25 0.25 0.015625 +0.25 0.25 0.25 0.015625 +0.5 0.25 0.25 0.015625 +0.75 0.25 0.25 0.015625 +0 0.5 0.25 0.015625 +0.25 0.5 0.25 0.015625 +0.5 0.5 0.25 0.015625 +0.75 0.5 0.25 0.015625 +0 0.75 0.25 0.015625 +0.25 0.75 0.25 0.015625 +0.5 0.75 0.25 0.015625 +0.75 0.75 0.25 0.015625 +0 0 0.5 0.015625 +0.25 0 0.5 0.015625 +0.5 0 0.5 0.015625 +0.75 0 0.5 0.015625 +0 0.25 0.5 0.015625 +0.25 0.25 0.5 0.015625 +0.5 0.25 0.5 0.015625 +0.75 0.25 0.5 0.015625 +0 0.5 0.5 0.015625 +0.25 0.5 0.5 0.015625 +0.5 0.5 0.5 0.015625 +0.75 0.5 0.5 0.015625 +0 0.75 0.5 0.015625 +0.25 0.75 0.5 0.015625 +0.5 0.75 0.5 0.015625 +0.75 0.75 0.5 0.015625 +0 0 0.75 0.015625 +0.25 0 0.75 0.015625 +0.5 0 0.75 0.015625 +0.75 0 0.75 0.015625 +0 0.25 0.75 0.015625 +0.25 0.25 0.75 0.015625 +0.5 0.25 0.75 0.015625 +0.75 0.25 0.75 0.015625 +0 0.5 0.75 0.015625 +0.25 0.5 0.75 0.015625 +0.5 0.5 0.75 0.015625 +0.75 0.5 0.75 0.015625 +0 0.75 0.75 0.015625 +0.25 0.75 0.75 0.015625 +0.5 0.75 0.75 0.015625 +0.75 0.75 0.75 0.015625 +end kpoints