Page MenuHomec4science

No OneTemporary

File Metadata

Created
Wed, May 8, 03:19
This file is larger than 256 KB, so syntax highlighting was skipped.
diff --git a/tools/moltemplate/LICENSE.md b/tools/moltemplate/LICENSE.md
new file mode 100644
index 000000000..d04220dc5
--- /dev/null
+++ b/tools/moltemplate/LICENSE.md
@@ -0,0 +1,29 @@
+Modified BSD License (BSD-3-Clause)
+====================
+
+_Copyright © `2012`, `University of California, Santa Barbara`_
+_All rights reserved._
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+3. Neither the name of the copyright holders nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS”
+AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/tools/moltemplate/README.md b/tools/moltemplate/README.md
new file mode 100644
index 000000000..dc63a6bf4
--- /dev/null
+++ b/tools/moltemplate/README.md
@@ -0,0 +1,100 @@
+Moltemplate
+===========
+
+## Description
+
+Moltemplate is a cross-platform text-based molecule builder for LAMMPS.
+
+## Typical usage
+
+ moltemplate.sh [-atomstyle style] [-pdb/-xyz coord_file] [-vmd] system.lt
+
+## Web page
+
+Documentation, examples, and supporting code can be downloaded at:
+
+http://www.moltemplate.org
+
+## Requirements
+
+Moltemplate requires the Bourne-shell, and a recent version of python
+(2.7, 3.0 or higher), and can run on OS X, linux, or windows. (...if a
+suitable shell environment has been installed. See below.)
+
+
+## INSTALLATION INSTRUCTIONS
+
+This directory should contain 3 folders:
+
+ moltemplate/ <-- source code and force fields
+ doc/ <-- the moltemplate reference manual
+ examples/ <-- examples built with moltemplate
+
+There are two ways to install moltemplate:
+
+## Installation using pip
+If you are familiar with pip, then run the following command from within the directory where this README file is located:
+
+ pip install .
+
+If you receive an error regarding permissions, then run pip with the "--user" argument:
+
+ pip install . --user
+
+Make sure that your default pip install bin directory is in your PATH. (This is usually something like ~/.local/bin/ or ~/anaconda3/bin/. If you have installed anaconda, this will be done for you automatically.) Later, you can uninstall moltemplate using:
+
+ pip uninstall moltemplate
+
+If you continue to run into difficulty, try installing moltemplate into a temporary virtual environment by installing "virtualenv", downloading moltemplate (to "~/moltemplate" in the example below), and running these commands:
+
+ cd ~/moltemplate
+ virtualenv venv
+ source venv/bin/activate
+ pip install .
+ #(now do something useful with moltemplate...)
+
+(You will have to "run source ~/moltemplate/venv/bin/activate" beforehand every time you want to run moltemplate.) If all this fails, then try installing moltemplate by manually updating your \$PATH environment variable. Instructions for doing that are included below.
+
+## Manual installation:
+
+Alternatively, you can edit your $PATH environment variable manually to
+include the subdirectory where the "moltemplate.sh" script is located,
+as well as the subdirectory where most of the python scripts are located.
+Suppose the directory with this README file is named "moltemplate"
+and is located in your home directory:
+
+If you use the bash shell, typically you would edit your
+`~/.profile`, `~/.bash_profile` or `~/.bashrc` files
+to contain the following lines:
+
+ export PATH="$PATH:$HOME/moltemplate/moltemplate"
+ export PATH="$PATH:$HOME/moltemplate/moltemplate/scripts"
+
+If you use the tcsh shell, typically you would edit your
+`~/.login`, `~/.cshrc`, or `~/.tcshrc` files to contain the following lines:
+
+ setenv PATH "$PATH:$HOME/moltemplate/moltemplate"
+ setenv PATH "$PATH:$HOME/moltemplate/moltemplate/scripts"
+
+After making these changes, you may need to start a new terminal (shell) for the changes to take effect. If you do not know what a `PATH` environment variable is and are curious, read:
+ http://www.linfo.org/path_env_var.html
+(I receive this question often.)
+
+
+### WINDOWS installation suggestions
+
+You can install both moltemplate and LAMMPS in windows, but you will first need to install the BASH shell environment on your computer. If you are using Windows 10 or later, try installing the "Windows Subsystem for Linux (WSL)"
+
+https://solarianprogrammer.com/2017/04/15/install-wsl-windows-subsystem-for-linux/
+https://msdn.microsoft.com/en-us/commandline/wsl/faq
+
+If you are using an older version of windows, try following the tutorial written by Yanqing Fu instead:
+
+https://sourceforge.net/p/lammps/mailman/message/32599824/
+
+To use LAMMPS and moltemplate, You will also need to install (and learn how to use) a text editor. (Word, Wordpad, and Notepad will not work.) Popular free text editors which you can safely install and run from within the WSL terminal include: **nano**, **ne**, **emacs**, **vim**, and **jove**. (Unfortunately, as of 2017-5-17, [graphical unix-friendly text editors such as Atom, VSCode, Notepad++, and sublime won't work with WSL, and may cause file system corruption. Avoid these editors for now.](https://www.reddit.com/r/bashonubuntuonwindows/comments/6bu1d1/since_we_shouldnt_edit_files_stored_in_wsl_with/))
+
+## License
+
+Moltemplate is available under the terms of the open-source 3-clause BSD
+license. (See `LICENSE.md`.)
diff --git a/tools/moltemplate/doc/moltemplate_manual.pdf b/tools/moltemplate/doc/moltemplate_manual.pdf
new file mode 100644
index 000000000..b0122a3fd
Binary files /dev/null and b/tools/moltemplate/doc/moltemplate_manual.pdf differ
diff --git a/tools/moltemplate/doc/moltemplate_manual_src/2bead_peptide.jpg b/tools/moltemplate/doc/moltemplate_manual_src/2bead_peptide.jpg
new file mode 100644
index 000000000..e73c51d0a
Binary files /dev/null and b/tools/moltemplate/doc/moltemplate_manual_src/2bead_peptide.jpg differ
diff --git a/tools/moltemplate/doc/moltemplate_manual_src/2bead_peptides_nopbc_t=0_LR.jpg b/tools/moltemplate/doc/moltemplate_manual_src/2bead_peptides_nopbc_t=0_LR.jpg
new file mode 100644
index 000000000..a5fb40ae7
Binary files /dev/null and b/tools/moltemplate/doc/moltemplate_manual_src/2bead_peptides_nopbc_t=0_LR.jpg differ
diff --git a/tools/moltemplate/doc/moltemplate_manual_src/2bead_peptides_t=100ps_LR.jpg b/tools/moltemplate/doc/moltemplate_manual_src/2bead_peptides_t=100ps_LR.jpg
new file mode 100644
index 000000000..b978b76d4
Binary files /dev/null and b/tools/moltemplate/doc/moltemplate_manual_src/2bead_peptides_t=100ps_LR.jpg differ
diff --git a/tools/moltemplate/doc/moltemplate_manual_src/2bead_residue.jpg b/tools/moltemplate/doc/moltemplate_manual_src/2bead_residue.jpg
new file mode 100644
index 000000000..7666e22bf
Binary files /dev/null and b/tools/moltemplate/doc/moltemplate_manual_src/2bead_residue.jpg differ
diff --git a/tools/moltemplate/doc/moltemplate_manual_src/README.txt b/tools/moltemplate/doc/moltemplate_manual_src/README.txt
new file mode 100644
index 000000000..a54c34563
--- /dev/null
+++ b/tools/moltemplate/doc/moltemplate_manual_src/README.txt
@@ -0,0 +1,10 @@
+To create the file "moltemplate_manual.pdf", install pdflatex and run
+these commands:
+
+pdflatex moltemplate_manual
+pdflatex moltemplate_manual
+bibtex moltemplate_manual
+bibtex moltemplate_manual
+pdflatex moltemplate_manual
+pdflatex moltemplate_manual
+
diff --git a/tools/moltemplate/doc/moltemplate_manual_src/author_email.png b/tools/moltemplate/doc/moltemplate_manual_src/author_email.png
new file mode 100644
index 000000000..a09b3df6d
Binary files /dev/null and b/tools/moltemplate/doc/moltemplate_manual_src/author_email.png differ
diff --git a/tools/moltemplate/doc/moltemplate_manual_src/delete_holes1.jpg b/tools/moltemplate/doc/moltemplate_manual_src/delete_holes1.jpg
new file mode 100644
index 000000000..304693e2a
Binary files /dev/null and b/tools/moltemplate/doc/moltemplate_manual_src/delete_holes1.jpg differ
diff --git a/tools/moltemplate/doc/moltemplate_manual_src/dimer+dimer0_transparent_LR.jpg b/tools/moltemplate/doc/moltemplate_manual_src/dimer+dimer0_transparent_LR.jpg
new file mode 100644
index 000000000..2369e2de1
Binary files /dev/null and b/tools/moltemplate/doc/moltemplate_manual_src/dimer+dimer0_transparent_LR.jpg differ
diff --git a/tools/moltemplate/doc/moltemplate_manual_src/dimer_LR.jpg b/tools/moltemplate/doc/moltemplate_manual_src/dimer_LR.jpg
new file mode 100644
index 000000000..c4aa70ce1
Binary files /dev/null and b/tools/moltemplate/doc/moltemplate_manual_src/dimer_LR.jpg differ
diff --git a/tools/moltemplate/doc/moltemplate_manual_src/lipid_bilayer_mixture.jpg b/tools/moltemplate/doc/moltemplate_manual_src/lipid_bilayer_mixture.jpg
new file mode 100644
index 000000000..e6f7e96e9
Binary files /dev/null and b/tools/moltemplate/doc/moltemplate_manual_src/lipid_bilayer_mixture.jpg differ
diff --git a/tools/moltemplate/doc/moltemplate_manual_src/lipid_bilayer_vacancies.jpg b/tools/moltemplate/doc/moltemplate_manual_src/lipid_bilayer_vacancies.jpg
new file mode 100644
index 000000000..f7bfbebe9
Binary files /dev/null and b/tools/moltemplate/doc/moltemplate_manual_src/lipid_bilayer_vacancies.jpg differ
diff --git a/tools/moltemplate/doc/moltemplate_manual_src/moltemplate_manual.tex b/tools/moltemplate/doc/moltemplate_manual_src/moltemplate_manual.tex
new file mode 100644
index 000000000..10a3d4fd3
--- /dev/null
+++ b/tools/moltemplate/doc/moltemplate_manual_src/moltemplate_manual.tex
@@ -0,0 +1,5523 @@
+\documentclass[11pt]{article}
+%\documentclass[11pt,twocolumn,letterpaper]{article}
+\setlength{\columnwidth}{8.6cm}
+\setlength{\textheight}{23cm}
+\setlength{\topmargin}{-0.8cm}
+%\documentclass[11pt]{article}
+\usepackage{textcomp}
+\newcommand{\textapprox}{\raisebox{0.5ex}{\texttildelow}}
+\usepackage{graphicx}
+\usepackage{verbatim}
+\usepackage{color}
+\usepackage{url}
+\usepackage{longtable}
+\usepackage{hyperref}
+%\usepackage{booktabs}
+%\usepackage{amssymb,amsmath}
+%\usepackage[dvips]{color, graphics, epsfig, graphicx}
+\bibliographystyle{unsrt}
+%\bibliographystyle{apsrev.bst}
+%\topmargin 0mm
+%\textheight 220mm
+%\textwidth 160mm
+%\oddsidemargin 5mm
+%\mathsurround 2pt
+
+%\renewcommand{\textfraction}{0.10}
+%\renewcommand{\topfraction}{0.85}
+%\renewcommand{\bottomfraction}{0.65}
+%\renewcommand{\floatpagefraction}{0.60}
+%\renewcommand{\thetable}{\Roman{table}}
+
+%\setcounter{figure}{7}
+%\setcounter{table}{8}
+
+\begin{document}
+
+\author{
+ Andrew Jewett, \\
+ Jensen Lab (Caltech), Shea Lab (UCSB) \\
+\includegraphics[height=0.3cm]{author_email.png}
+}
+\date \today
+
+
+\title{Moltemplate Manual}
+
+
+
+\maketitle
+
+ %This manual (like moltemplate) is under development.
+
+\tableofcontents
+
+ %Additionally, several working examples of molecules created
+ %with moltemplate can be found in the ``examples/'' subdirectory
+ %(which is distributed with moltemplate).
+ %These were created to supplement the moltemplate documentation.
+
+\section{Introduction}
+
+Moltemplate is a general molecule builder and force-field database system for LAMMPS. A simple file format has been created to store molecule definitions and force-fields (the LAMMPS-template format, “LT”).
+LT files are templates containing \textit{all} of the text relevant to a particular molecule (including coordinates, bond-topology, angles, force-field parameters, constraints, groups and fixes). Moltemplate can then duplicate the molecule, customize it, and use it as a building-block for constructing larger, more complex molecules. (These molecules can be used to build even larger molecules.) Once built, individual molecules and subunits can be customized (atoms and bonds, and subunits can be inserted, moved, deleted and/or replaced).
+
+Popular force-fields such as AMBER GAFF and OPLS-AA have been converted into LT format, allowing users to quickly create molecules using moltemplate. (With help, more popular force-fields can be converted.) This way moltemplate users can build a molecule by specifying only a list of atoms in the molecule and the bonds connecting them. End-users are not required to manually specify all of the force-field parameters. However they still have the freedom to easily customize individual interactions when needed.
+ %or generate all of its angle, dihedral, improper interactions manually.
+
+Moltemplate is extremely flexible. It supports all LAMMPS force-field styles and nearly all atom-styles (now and in the future).
+
+ % OLD VERSION
+ %Moltemplate is a cross-platform text-based molecule builder for LAMMPS. It is typically used for building coarse-grained toy molecular models. Moltemplate users have access to (nearly) all of the standard and non-standard (custom, user-created) force-field and features available in LAMMPS.
+ %
+ %\textit{(Although optimized for LAMMPS, moltemplate is a general text manipulation tool which, in principle, could be used to generate topology and force-field files for other simulation programs. Please email \includegraphics[height=0.3cm]{author_email.png} if you want to attempt this.)}
+ %
+ %A file format has been created to store molecule definitions (the LAMMPS-template format, ``LT''). Typical ``.LT'' files contain atom coordinates, topology data (bonds), LAMMPS force-field data, and other LAMMPS settings (such as group definitions, fixes, and user-defined input files) for a type of molecule (or a molecular subunit). Molecules can be copied, combined, and linked together to define new molecules. (These can be used to define larger molecules.)
+ %%Unlimited levels of object composition, nesting, and inheritance are supported.)
+ %Once built, individual molecules and subunits can be customized (atoms and bonds, and subunits can be moved, deleted and replaced).
+
+
+Moltemplate requires the Bourne-shell, and a recent version of python (2.7 or 3.0 or higher), and can run on OS X, linux, or windows (if a suitable shell environment has been installed).
+\textbf{A substantial amount of memory is needed} to run moltemplate.
+For example, building a system of 1000000 atoms typically requires
+between 3 and 12 GB of \textit{available} memory.
+(This depends on the number of bonds, molecules, and angular interactions.
+ See section \ref{sec:limitations} for details.)
+%Memory requirements are discussed in section \ref{sec:limitations}.
+
+ %Moltemplate is a text-manipulation tool for generating
+ %input files for molecular dynamics simulation programs.
+ %Moltemplate has been optimized for constructing input files for LAMMPS.
+ %from constituent parts.
+ %Molecules are stored in a hierarchical,
+ %object-oriented,
+ %template-based file format (``.LT'').
+ % %using an object-oriented style
+ % %which can mimic many popular molecular file formats.
+ % %such as PDB, amber TOP, Gromacs TOP,
+ % %PSF files, and some limited xplor parameter files.
+ % %existing LAMMPS file formats.
+ %Typical ``.LT'' files contains LAMMPS force-field data,
+ %topology data, and other settings (such as fixes and groups)
+ %for any molecule or repeating subunit.
+ %These subunits can be combined together
+ %to build larger, more complicated systems.
+ %With unlimited levels of nesting, object composition, and inheritance,
+ %these objects can be combined to build
+ %elaborate heterogeneous molecular assemblies.
+
+
+% %%Moltemplate can also be used to automatically detect
+% %%topological relationships between bonded atoms and determine
+% %%(the parameters of) the forces between them accordingly.
+% %Moltemplate also extends basic LAMMPS functionality.
+% %It can also be used to automatically detect
+% %bonded many-body interactions (such as dihedrals),
+% %and programmed to determine (the parameters of)
+% %the forces between them according to atom and bond type.
+% %This makes the LT-file format useful in general
+% %for storing force-field parameters.
+%
+%LT files can also be used for storing force-fields
+%for molecules whose topology has not yet been determined.
+%Moltemplate automatically detects
+% % topological relationships between bonded atoms and
+%bonded many-body interactions (such as dihedrals),
+%and can determine (the parameters of)
+%the forces between them according to atom and bond type.
+%Once a system's geometry and bonds have been specified,
+%a user can apply completely different force fields to the existing system
+%by loading a different LT file containing force-field parameters.
+%
+
+\subsection{Converting \textit{LT files} to LAMMPS input/data files}
+The moltemplate.sh program converts LT-files (which contain
+molecule definitions) into complete LAMMPS input-scripts and data-files:
+\begin{verbatim}
+moltemplate.sh -atomstyle "full" system.lt
+\end{verbatim}
+ or
+\begin{verbatim}
+moltemplate.sh -xyz coords.xyz -atomstyle "full" -vmd system.lt
+\end{verbatim}
+In the first example, the coordinates of the atoms in the
+system are built from commands inside the "system.lt" file.
+In the second example coordinates for the atoms are read from an XYZ-file,
+and then invokes VMD to visualize the system just created.
+(PDB-files and other coordinate formats are also supported.
+Note: The "full" atom style was used in this example, but other
+LAMMPS atom styles are supported, including hybrid styles.)
+
+Either of these commands will construct a LAMMPS data file and a
+LAMMPS input script (and possibly one or more auxiliary input files),
+which can be directly run in LAMMPS with minimal editing.
+
+
+\subsection{Converting LAMMPS input/data files to \textit{LT files}}
+Existing LAMMPS input/data files can be converted into
+ %lammps-template
+``.LT'' files using the ``ltemplify.py'' utility.
+(\textit{Some additional manual editing may be required.
+ See appendix \ref{sec:ltemplify}.})
+ % Some manual editing of the resulting LT files may be required,
+ % especially when exotic or many-body pair\_styles are used.)
+
+
+%\subsection*{Strengths}
+%Moltemplate is especially useful for defining new, exotic
+%coarse-grained molecular models natively from scratch.
+%Molecules defined this way have access to (nearly)
+%\textit{all} of the
+% %extraordinary
+% bewildering
+%menu of features and force-fields
+%available in LAMMPS. This includes custom LAMMPS features
+%created by end-users (now and probably in the future).
+%
+% %The ``.LT'' file format is \textit{not} specific to LAMMPS and
+% %can also be useful for generating other files which store molecular data.
+% %LT files are text templates.
+%LT files are very flexible and can mimic almost any text file format
+%which uses simple numerical counters.
+%End users can accommodate gradual changes in the LAMMPS input and data file
+%formats by altering their own molecule templates
+%as LAMMPS independently grows and evolves.
+
+%\subsection*{Limitations}
+% %Little effort has yet been made to allow moltemplate.sh to read and write
+% %simulation files from other programs.
+%Moltemplate.sh was \textit{not} designed to work seamlessly with
+%files from other simulation or visualization programs
+%(although such functionality could be added).
+%Moltemplate.sh does not provide a quick or convenient way to perform an
+%all-atom simulation of proteins or nucleic-acids in an box of water
+%(for example).
+%Moltemplate has only limited support for generating molecular geometry
+%and it does not have a graphical interface.
+%For these tasks, external utilities are very helpful.
+
+\subsection*{Additional tools}
+The VMD topotools plugin \cite{topotools} is useful for
+converting PDB files into LAMMPS format. These files can then
+be converted to ``LT'' format using the ``ltemplify.py'' utility.
+VMD \cite{VMD} and topotools are also useful for visualizing
+the data files created by moltemplate.sh
+(See section \ref{sec:vmd_topotools}.)
+ %Documentation for doing this is included
+ %in the \textit{online examples} discussed below.
+
+ %Pizza.py \cite{pizzapy}, has a utility for building 1-bead polymer melts.
+
+The PACKMOL \cite{packmol} program is useful for generating
+coordinates of dense heterogeneous mixtures of molecules,
+which can be read by moltemplate.
+(The VMD ``solvate'' plugin may also be helpful.)
+ %There are many other utilities,
+ %graphical modeling programs,
+ %and numerous scripts (which are in various stages of maintenance)
+ %which may be useful for file format conversion, and
+ %pre-and-post processing and analysis.
+ %Many other tools exist (not covered here) which can convert file formats
+ %used by other molecular dynamics software programs into LAMMPS format.
+
+\subsection*{Examples}
+
+ %When using ``moltemplate.sh'' it does not hurt to have
+ %a modest familiarity LAMMPS and it's file formats,
+ %because this mirrors the ``.LT'' file format described here.
+
+%This manual assumes users have some basic familiarity with LAMMPS.
+%This manual explains in detail how to use moltemplate.sh to build LAMMPS
+%files from scratch,
+%but it does not discuss how to run LAMMPS
+%or how to visualize the results.
+%provides only a very brief overview
+%of how to run simple simulations in LAMMPS
+%(see sections \ref{sec:spce_example} and \ref{sec:run}),
+%and it does not discuss how to visualize or analyze LAMMPS
+%simulation trajectories.
+
+
+This manual explains in detail how to use moltemplate.sh to build LAMMPS
+files from scratch.
+You will also need to learn how to \textit{run}
+LAMMPS and visualize your results.
+%(see sections \ref{sec:spce_example} and \ref{sec:run}),
+%It is not a comprehensive reference for using LAMMPS.
+%For users who are not familiar with LAMMPS,
+Section \ref{sec:tutorial} contains a brief tutorial
+which explains how to build a box of water using moltemplate and
+visualize initial conformation, run LAMMPS, and then visualize the trajectory.
+Several complete working examples (with images and readme files)
+which can be downloaded and modified are available online at:
+\url{http://moltemplate.org/visual_examples.html}
+A more comprehensive list of examples is included in
+the ``examples/'' subdirectory distributed with moltemplate.
+%The official LAMMPS examples and user manual
+%are also a valuable reference.
+These examples are a good starting point for learning LAMMPS and moltemplate.
+
+
+\subsection*{License}
+Moltemplate.sh is publicly available at \url{http://moltemplate.org}
+under the terms of the open-source 3-clause BSD license.
+\url{http://www.opensource.org/licenses/BSD-3-Clause}
+
+
+
+
+
+
+
+% \subsubsection*{Using ``lttree.py'' instead of ``moltemplate.sh''}
+% The format of an ``.LT'' file closely mimics the syntax in
+% current LAMMPS data and input script files (as of early 2013).
+% However LAMMPS file formats are constantly changing
+% as users add their own custom features to LAMMPS.
+% (In addition, there are some currently known limitations of
+% moltemplate.sh, which are discussed in section \ref{sec:limitations}.)
+% %However this file format must be flexible enough
+% %to handle potentially radical syntax changes in the future.
+% %End users who add new features to LAMMPS may also modify the syntax
+% %of these input files, and will likely introduce new file formats.
+% Consequently, we also provide several simple python scripts:
+% %(which should remain useful when/if moltemplate.sh breaks)
+% ``ttree.py'', ``lttree.py'', and ``nbody\_by\_type.py''.
+% %\begin{list}
+% %\item
+% %``ttree.py'', is a general text manipulation
+% %tool which prints out the text contained in the
+% %``write()'' and ``write\_once()'', commands in an LT file,
+% %and substitutes numerical values into the \$ and \@ variables
+% %contained inside.
+% %\item
+% %``lttree.py'' is a variant of ``ttree.py''
+% % %understand LAMMPS atom\_style syntax and
+% %which also generates atomic coordinates.
+% %(It process the ``.move()'' and ``.rot()'' commands.)
+% %\item
+% %``nbody\_by\_type.py'' is a utility which generates
+% %many-body bonded interactions between atoms automatically,
+% %according to the atom and bond type.
+% %(It processes the ``Data Angles By Type'',
+% %``Data Dihedrals By Type'', and ``Data Impropers By Type'' sections.)
+% %\end{list}
+% The ``ttree.py'' program is a general text manipulation tool which
+% should continue to work in the distant future,
+% even if the LAMMPS syntax changes radically, and ``moltemplate.sh'' breaks.
+% (``ttree.py'' is nearly identical to and supports all the
+% command line options used by ``moltemplate.sh'',
+% with the exception of ``-pdb'', ``-xyz'', and ``-raw''.)
+% %However this tool is intentionally simple and ignorant about LAMMPS.
+% %This allows programmers to add features to LAMMPS without ever
+% %breaking the ``.LT'' file format.
+% %(although you may have to sacrifice some convenience
+% %that using moltemplate.sh provides).
+% A tutorial for using these programs
+% is provided in appendix \ref{sec:ttree}.
+
+
+
+
+\section{Installation}
+
+\subsection*{Obtaining Moltemplate}
+\textit{If you don't already have moltemplate},
+the most up-to-date version can be downloaded at
+\url{http://www.moltemplate.org}
+If you obtained moltemplate as a .tar.gz file,
+(as opposed to github or pip), you can unpack it using:
+\begin{verbatim}
+tar -xzvf moltemplate_2017-8-22.tar.gz
+\end{verbatim}
+(The date will vary from version to version.)
+Alternately, if you obtained moltemplate bundled with LAMMPS,
+then the \textit{``moltemplate''} directory will probably be located
+in the \textit{``tools''} subdirectory of your lammps installation.
+
+There are two ways to install moltemplate:
+
+\subsubsection*{Installation Method 1 (pip)}
+
+\textit{If you are familiar with pip}, then run the following command from within outermost directory:
+\begin{verbatim}
+pip install .
+\end{verbatim}
+\textit{In order for this to work, this directory should contain a file named ``\textbf{setup.py}''.} (If no such file exists, then either proceed to ``Installation Method 2'' below, or download a newer version of moltemplate.) If you receive an error regarding permissions, then run pip this way instead:
+\begin{verbatim}
+pip install . --user
+\end{verbatim}
+Make sure that your default pip install bin directory is in your PATH. (This is usually something like \textapprox/.local/bin/ or \textapprox/anaconda3/bin/. If you have installed anaconda, your PATH should have been updated for you automatically.) Later, you can uninstall moltemplate using:
+\begin{verbatim}
+pip uninstall moltemplate
+\end{verbatim}
+
+\textit{If you continue to run into difficulty}, try installing moltemplate into a temporary virtual environment by installing ``virtualenv'', downloading moltemplate (to ``\textapprox/moltemplate'' in the example below), and running these commands:
+\begin{verbatim}
+cd ~/moltemplate
+virtualenv venv
+source venv/bin/activate
+pip install .
+ #(now do something useful with moltemplate...)
+\end{verbatim}
+You will have to ``run source \textapprox/moltemplate/venv/bin/activate'' beforehand whenver you want to run moltemplate. If all this fails, then try installing moltemplate by manually updating your \$PATH environment variable. Instructions for doing that are included below.
+
+
+\subsubsection*{Installation Method 2}
+
+Alternatively, you can edit your PATH variable manually to include
+the subdirectory where the moltemplate.sh script is located
+(typically ``\textapprox/moltemplate/moltemplate/scripts/''), as well as
+the directory containing the most of the python scripts (``\textapprox/moltemplate/moltemplate/'').
+Suppose the directory where with the README file is named ``moltemplate''
+and it is located in your home directory:
+
+If you use the \textbf{bash} shell, typically you would edit your
+\mbox{$\sim$/.bash\_profile},
+\mbox{$\sim$/.bashrc}, or
+\mbox{$\sim$/.profile} files
+and append the following lines:
+\begin{verbatim}
+export PATH="$PATH:$HOME/moltemplate/moltemplate"
+export PATH="$PATH:$HOME/moltemplate/moltemplate/scripts"
+\end{verbatim}
+If instead you use the \textbf{tcsh} shell, typically you would edit your
+\mbox{$\sim$/.login},
+\mbox{$\sim$/.cshrc}, or
+\mbox{$\sim$/.tcshrc} files
+and append the following lines:
+\begin{verbatim}
+setenv PATH "$PATH:$HOME/moltemplate/moltemplate"
+setenv PATH "$PATH:$HOME/moltemplate/moltemplate/scripts"
+\end{verbatim}
+
+
+
+\textit{Note: You may need to log out and then
+log back in again for the changes to take effect.}
+
+
+\subsubsection*{WINDOWS installation suggestions}
+
+You can install both moltemplate and LAMMPS in windows, but you will first need to install the BASH shell environment on your computer. If you are using Windows 10 or later, try installing the "Windows Subsystem for Linux (WSL)"
+\url{https://solarianprogrammer.com/2017/04/15/install-wsl-windows-subsystem-for-linux/}
+For more details, see the WSL FAQ:
+\url{https://msdn.microsoft.com/en-us/commandline/wsl/faq}
+If you are using an older version of windows, try following the tutorial written by Yanqing Fu instead:
+\url{https://sourceforge.net/p/lammps/mailman/message/32599824/}
+
+To use LAMMPS and moltemplate, You will also need to install (and learn how to use) a text editor. (Word, Wordpad, and Notepad will not work.) Popular free text editors which you can safely install and run from within the WSL terminal include: nano, ne, emacs, vim, and jove. (Unfortunately, as of 2017-5-17, graphical unix-friendly text editors such as Atom, VSCode, Notepad++, and sublime won't work with WSL, and may cause file system corruption. Avoid these editors for now. (\url{https://www.reddit.com/r/bashonubuntuonwindows/comments/6bu1d1/since_we_shouldnt_edit_files_stored_in_wsl_with/})
+
+
+%\pagebreak
+\section{Quick reference \textit{(skip on first reading)}}
+
+\section*{
+\textit{Note: New users should skip to section \ref{sec:tutorial}}
+}
+
+
+\subsection{Moltemplate commands}
+
+%\begin{table}
+\begin{longtable}[h]{l|p{9cm}}
+\textbf{command} & \textbf{meaning}
+\\
+\hline
+\hline
+\begin{tabular}[t]{l}
+\\
+\textit{MolType} \textbf{\{} \\
+\\
+\hspace{0.35cm} \textit{content} ... \\
+\\
+\textbf{\}} \\
+\end{tabular}
+&
+Define a new type of molecule (or namespace) named \textit{MolType}.
+The text enclosed in curly brackets (\textit{content})
+typically contains multiple write(), write\_once()
+commands to define Atoms, Bonds, Angles, Coeffs, etc...
+\textit{(If that molecule type exists already,
+then this will append additional \textbf{content} to its definition.)}
+\textbf{new} and \textbf{delete} commands can be used
+to create or delete molecular subunits \textit{within} this molecule.
+(See the \textit{SPCE}, \textit{Monomer}, and \textit{Butane}
+ molecules, and the \textit{TraPPE} namespace
+ defined in sections \ref{sec:spce_example}, \ref{sec:2bead},
+ \ref{sec:inheritance}, \& \ref{sec:trappe}.
+\\
+\hline
+\textit{mol\_name} = \textbf{new} \textit{MolType} &
+Create (instantiate) a copy of a molecule of type \textit{MolType}
+and name it \textit{mol\_name}.
+(See section \ref{sec:spce_example}.)
+\\
+\hline
+\textit{mol\_name} = \textbf{new} \textit{MolType}.\textit{xform()} &
+Create a copy of a molecule and
+apply coordinate transformation \textit{xform()} to its coordinates.
+(See sections \ref{sec:coords_intro} and \ref{sec:xforms_table}.)
+\\
+\hline
+\textit{molecules} =
+ \textbf{new} \textit{MolType} [\textit{N}].\textit{xform()}&
+Create \textit{N} copies of a molecule of type \textit{MolType}
+and name them
+\textit{molecules[0]}, \textit{molecules[1]}, \textit{molecules[2]}...
+Coordinates in each successive copy are cumulatively transformed
+according to \textit{xform()}.
+(See sections \ref{sec:coords_intro}, \ref{sec:arrays+xform}
+and \ref{sec:xforms_table}.)
+Multidimensional arrays are also allowed.
+(See section \ref{sec:multidimensional_arrays}.)
+\\
+\hline
+\begin{tabular}[t]{l}
+\textit{molecules} = \textbf{new} \textit{MolType.xform1()}
+\\
+\hspace{3.7cm} \textbf{[\textit{N}]}.\textit{xform2()}
+\\
+\end{tabular}
+&
+Apply coordinate transformations (\mbox{\textit{xform1()}}
+to \mbox{\textit{MolType}}, before making \textit{N} copies
+of it while cumulatively applying \mbox{\textit{xform2()}}.
+(See section \ref{sec:xform+arrays+xform} and \ref{sec:xform_order}.)
+\\
+\hline
+\begin{tabular}[t]{l}
+\textit{molecules} = \textbf{new}
+\\
+ \hspace{0.6cm} \textbf{random}([\textit{M1.xf1()},
+\\
+ \hspace{2.3cm} \textit{M2.xf2()},
+\\
+ \hspace{2.3cm} \textit{M3.xf2()},...],
+\\
+ \hspace{2.25cm} [$p_1$, $p_2$, $p_3$,...],
+\\
+ \hspace{2.25cm} \textit{seed})
+\\
+ \hspace{0.6cm} \textbf{[\textit{N}]}.\textit{xform()}
+\end{tabular}
+&
+Generate an array of \textit{N} molecules randomly selected from
+\mbox{\textit{M1,M2,M3,...}}
+with probabilities \mbox{$p_1, p_2, p_3$...},
+using (optional) initial coordinate transformations
+\textit{xf1(), xf2(), xf3, ...}, and applying transformation \textit{xform()}
+cumulatively thereafter.
+This also works with multidimensional arrays.
+\textbf{You can directly specify the number of each type of molecule}
+by replacing the list of probabilities \mbox{$[p_1, p_2, p_3\ldots]$},
+with a list of integers \mbox{$[n_1, n_2, n_3\ldots]$}.
+(See sections \ref{sec:random_arrays} and \ref{sec:random_advanced}.)
+\\
+\hline
+\textit{NewMol} = \textit{OldMol} &
+Create a new molecule \textbf{type} based on an existing molecule type.
+Additional atoms (or bonds, etc...) can be added later to the new molecule
+using \mbox{NewMol \{\textit{more\ content}...\}}.
+(See section \ref{sec:molecule_customization}.)
+\\
+\hline
+\textit{NewMol} = \textit{OldMol}.\textit{xform()}
+&
+Create a new molecule \textbf{type} based on an existing molecule type,
+and apply coordinate transformation \textit{xform()} to it.
+(See section \ref{sec:molecule_customization}.)
+ % \textit{This feature is experimental as of 2012-9-28}.)
+\\
+\hline
+ %\textit{NewMol} \textbf{inherits} \textit{Mol1} \textit{Mol2} \mbox{\{...\}} &
+\begin{tabular}[t]{l}
+\textit{NewMol} \textbf{inherits} \textit{Mol1} \textit{Mol2} ... \{ \\
+\\
+\hspace{0.35cm} \textit{additional content} ... \\
+\\
+\} \\
+\end{tabular}
+&
+Create a new molecule \textbf{type} based on multiple existing molecule types.
+Atom types, bond types, angle types (etc) which are defined in
+\textit{Mol1}, or \textit{Mol2}, ... are available inside the
+new molecule.
+\textit{Additional content}
+(including more \textit{write()} or \textit{write\_once()}
+or \textit{new} commands)
+follows within the curly brackets.
+(See sections \ref{sec:inheritance_intro},
+\ref{sec:inheritance}, and \ref{sec:multiple_inheritance})
+\\
+\hline
+\textit{MolType}.\textit{xform()}
+&
+Apply the coordinate transform \textit{xform()} to the coordinates
+of the atoms in all molecules of type \textit{MolType}.
+(See section \ref{sec:molecule_customization}.)
+ % \textit{This feature is experimental as of 2012-9-28}.)
+\\
+\hline
+\textit{molecule}.\textit{xform()}
+&
+Apply the coordinate transform \textit{xform()}
+to the coordinates in \textit{molecule}.
+(Here \textit{molecule} refers to a specific instance or copy of
+ a particular molecule type.
+See sections \ref{sec:custom_xform} and \ref{sec:coords_intro}.)
+\\
+\hline
+\textit{molecules}[\textit{range}].\textit{xform()}
+&
+Apply the coordinate transform \textit{xform()}
+to the coordinates of molecules specified by
+\mbox{\textit{molecule}[\textit{range}]}.
+(This also works for multidimensional arrays.
+See sections \ref{sec:array_wildcards_intro} and \ref{sec:custom_xform}.)
+\\
+\hline
+\textbf{delete} \textit{molecule}
+&
+Delete the \textit{molecule} instance.
+(This command can appear inside a molecule's definition
+ to delete a specific molecular subunit within a molecule. In that case,
+ it will be carried out in every copy of that molecule type.
+ \textbf{delete} can also be used to delete specific
+ atoms, bonds, angles, dihedrals, and improper interactions.)
+See section \ref{sec:delete}.
+\\
+\hline
+\textbf{delete} \textit{molecules}[\textit{range}]
+&
+Delete a range of molecules specified by
+\mbox{\textit{molecule}[\textit{range}]}.
+(This also works for multidimensional arrays.
+ See sections \ref{sec:delete} and \ref{sec:delete_holes}.)
+\\
+\hline
+ %\mbox{write\_once}('\textit{file}') \mbox{$\{$\textit{text}\ldots$\}$} &
+\begin{tabular}[t]{l}
+\textbf{write\_once}('\textit{file}') \{ \\
+\hspace{0.35cm} \textit{text} ... \\
+\} \\
+\end{tabular} &
+Write the text enclosed in curly brackets \mbox{$\{\ldots\}$}
+to file \mbox{$file$}.
+The \textit{text} can contain @variables which are replaced by integers.
+(See sections \ref{sec:write} and \ref{sec:variables}.)
+\\
+\hline
+ %\textit{write}('file') \mbox{$\{text\ldots{}\}$} &
+\begin{tabular}[t]{l}
+\textbf{write}('\textit{file}') $\{$ \\
+\hspace{0.35cm} \textit{text} ... \\
+$\}$ \\
+\end{tabular} &
+Write the text enclosed in curly brackets \mbox{$\{\ldots\}$}
+to file \textit{file}.
+\textit{This is done every time a new copy of this molecule is
+created using the ``new'' command.}
+The \textit{text} can contain either @variables or \$variables
+which will be replaced by integers.
+(See sections \ref{sec:write} and \ref{sec:variables}.)
+\\
+\hline
+\multicolumn{2}{p{16.5cm}} {
+Note: \textit{file} names beginning with ``Data '' or ``In ''
+(such as ``Data Atoms'' or ``In Settings'') are inserted
+into the relevant section of the LAMMPS data file or input script.
+(See section \ref{sec:DataIn}.)
+}
+\\
+\hline
+\textbf{include} \textit{file}
+&
+Insert the contents of file \textit{file} here. (Quotes optional.)
+\\
+\hline
+\textbf{import} \textit{file}
+&
+Insert the contents of file \textit{file} here,
+preventing circular inclusions.
+\textit{(recommended)}
+\\
+\hline
+\textbf{using namespace} \textit{X}
+&
+This enables you to refer to any of the molecule types,
+defined within a \textbf{namespace} object (\textit{X} in this example),
+\textit{without} needing to refer to these objects by their full path.
+ %(Unfortunately, atom types, or bond, angle, dihedral, or improper types
+ %must still be referred to explicitly, by their full path.)
+ %%(``Namespace objects'' are moltemplate objects containing
+ %% only molecule definitions.)
+(This does not work for atom types.
+See section \ref{sec:using_namespaces}.)
+\\
+\hline
+\begin{tabular}[t]{l}
+\textbf{category} \textit{\$catname}($i_0$, $\Delta$)
+\\
+or \\
+\textbf{category} \textit{@catname}($i_0$, $\Delta$)
+\\
+\end{tabular}
+&
+Create a new variable category.
+See section \ref{sec:custom_categories} for details.
+ %(Note: The round parenthesis containing the starting value, $i_0$,
+ % and the counter increment, $\Delta$, can be omitted.)
+\\
+\hline
+create\_var \{ \textit{variable} \} &
+Create a variable specific to this molecule object.
+(Typically this is used to create molecule-ID numbers,
+for a molecule built from smaller components.
+See section \ref{sec:2beadPeptide}.)
+\\
+\hline
+replace \{ \textit{oldvariable} \textit{newvariable} \} &
+Allow alternate names for the same variable. This replaces all instances of \textit{oldvariable} with \textit{newvariable}. Both variable names must have a ``@'' prefix. This is typically used to reduce the length of long variables, for example to allow the shorthand ``@atom:C2'' to refer to ``@atom:C2\_bC2\_aC\_dC\_iC''
+\\
+\hline
+ \textbf{\#}\textit{commented text} &
+All text following a ``\#'' character is treated as a comment and ignored.
+\end{longtable}
+
+%\caption{List of moltemplate commands}
+%\label{tab:commands}
+%\end{table}
+
+
+
+%\pagebreak
+\subsection{Common \$ and @ variables}
+
+(See section \ref{sec:variables} for details.) \\
+\begin{tabular}[h]{l|p{11cm}}
+\textbf{variable type} & \textbf{meaning}
+\\
+\hline
+\hline
+\$atom:\textit{name} &
+A unique ID number assigned to atom \textit{name} in this molecule.
+(Note: The \textit{:name} suffix can be omitted if the molecule
+in which this variable appears only contains a single atom.)
+%(This number is unique even if there are multiple copies of this molecule.)
+\\
+\hline
+@atom:\textit{type} &
+A number which indicates an atom's \textit{type}
+ (typically used to lookup pair interactions.)
+\\
+\hline
+\$bond:\textit{name} &
+A unique ID number assigned to bond \textit{name}
+(Note: The \textit{:name} suffix can be omitted if the molecule
+in which this variable appears only contains a single bond.)
+\\
+\hline
+@bond:\textit{type} &
+A number which indicates a bond's \textit{type}
+\\
+\hline
+\$angle:\textit{name} &
+A unique ID number assigned to angle \textit{name}
+(Note: The \textit{:name} suffix can be omitted if the molecule
+in which this variable appears only contains a single angle interaction.)
+\\
+\hline
+@angle:\textit{type} &
+A number which indicates an angle's \textit{type}
+\\
+\hline
+\$dihedral:\textit{name} &
+A unique ID number assigned to dihedral \textit{name}
+(Note: The \textit{:name} suffix can be omitted if the molecule in which
+this variable appears only contains a single dihedral-angle interaction.)
+\\
+\hline
+@dihedral:\textit{type} &
+A number which indicates a dihedral's \textit{type}
+\\
+\hline
+\$improper:\textit{name} &
+A unique ID number assigned to improper \textit{name}
+(Note: The \textit{:name} suffix can be omitted if the molecule in which
+this variable appears only contains a single improper interaction.)
+\\
+\hline
+@improper:\textit{type} &
+A number which indicates an improper's \textit{type}
+\\
+\hline
+\$\textit{mol} \hspace{0.2cm} or \hspace{0.2cm} \$\textit{mol:.} &
+This variable refers to the ID number of \textit{this} molecule object.
+(See section \ref{sec:spce_example}.
+Note: \mbox{\textit{``\$mol''}} is shorthand for \mbox{\textit{``\$mol:.''}})
+\\
+\hline
+\$\textit{mol:}... &
+The ID number assigned to the molecule to which this object belongs
+(if applicable).
+See sections \ref{sec:2beadPeptide},
+\ref{sec:ellipsis_mol},
+%\ref{sec:paths},
+and appendix \ref{sec:adv_variable_syntax}.
+\\
+\hline
+\hline
+\multicolumn{2}{p{16.5cm}} {
+%Variable operations
+\textit{The numbers assigned to each variable are saved in the \textbf{output\_ttree/ttree\_assignments.txt} file}
+%See section \ref{sec:output_ttree}.
+}
+\\
+\hline
+\hline
+\multicolumn{2}{l} {
+%Variable operations
+\quad \textit{\textbf{Advanced variable usage}}
+}
+\\
+\hline
+\textit{\$category}:\textbf{query}()
+&
+Query the current value of the counter in this \textit{\$category}
+without incrementing it.
+(The ``\textit{\$category}'' is usually either \textit{\$atom}, \textit{\$bond}, \textit{\$angle}, \textit{\$dihedral}, \textit{\$improper}, or \textit{\$mol}.)
+This is useful for counting the number of
+atoms, bonds, angles, molecules, etc... created so far.
+\\
+\hline
+\textit{@category}:\textbf{query}()
+&
+Query the current value of the counter in this \textit{@category}
+without incrementing it.
+(The ``\textit{@category}'' is usually either \textit{@atom}, \textit{@bond}, \textit{@angle}, \textit{@dihedral}, or \textit{@improper}.)
+This is useful for counting the number of
+atom types, bond types, angle types, etc... declared so far.)
+\\
+\hline
+\begin{tabular}[t]{l}
+\textit{@\textbf{\{}category:variable\textbf{\}}} \ or \\
+\textit{\$\textbf{\{}category:variable\textbf{\}}} \\
+\end{tabular}
+&
+%Counter variables in a template need not be separated by whitespace,
+%%and variable names may also contain spaces and other non-standard characters.
+%In these cases, variables can be enclosed
+%in curly-brackets \textit{\textbf{\{\}}}.
+Curly-brackets, \textit{\textbf{\{\}}}, are used to refer to variables
+with non-standard delimiters or whitespace characters.
+(See section \ref{sec:vardetails}.)
+\\
+\hline
+\begin{tabular}[t]{l}
+@\{category:\textit{type}.rjust(n)\} \ or \\
+@\{category:\textit{type}.ljust(n)\} \ or \\
+\$\{category:\textit{name}.rjust(n)\} \ or \\
+\$\{category:\textit{name}.ljust(n)\}
+\end{tabular}
+&
+Print the counter variable in a right-justified or a left-justified text-field
+of fixed width $n$ characters.
+(This is useful for generating text files which require fixed-width columns.)
+\\
+\hline
+\end{tabular}
+
+%\vspace{0.5cm}
+
+
+
+
+
+\subsection{Coordinate transformations}
+\label{sec:xforms_table}
+
+(See sections \ref{sec:coords_intro}) and \ref{sec:arrays+xform}) for details.)
+\\
+\\
+%\begin{table}
+\begin{tabular}[h]{l|p{10cm}}
+\textbf{suffix} & \textbf{meaning}
+\\
+\hline
+\hline
+\textit{.move(x,y,z)} &
+ Add numbers \mbox{\textit{(x,y,z)}} to the coordinates of every atom
+\\
+\hline
+ \textit{.rot($\theta,x,y,z$)} &
+ Rotate atom coordinates
+ by angle $\theta$ around axis \mbox{\textit{(x,y,z)}}
+ passing through the origin.
+ (Dipole directions are also rotated.)
+\\
+\hline
+\textit{.rot($\theta,x,y,z,x_0,y_0,z_0$)} &
+ Rotate atom coordinates
+ by angle $\theta$ around axis pointing in the direction
+ \mbox{\textit{(x,y,z)}},
+ passing through the point \mbox{$(x_0,y_0,z_0)$}.
+ (This point will be a \textit{fixed point}.)
+\\
+\hline
+ \textit{.rotvv($v_{1x},v_{1y},v_{1z},v_{2x},v_{2y},v_{2z}$)} &
+ Rotate atom coordinates
+ with an angle which rotates the vector $\mathbf{v}_1$ to $\mathbf{v}_2$
+ (around an axis perpendicular to both $\mathbf{v}_1$ and $\mathbf{v}_2$).
+ %$(v_{1x},v_{1y},v_{1z})$ to $(v_{2x},v_{2y},v_{2z})$
+ If you supply 3 additional numbers $x_0,y_0,z_0$, the axis of rotation
+ will pass through this location.
+\\
+\hline
+\textit{.scale(ratio)} &
+Multiply all atomic coordinates by \textit{ratio}.
+\textit{(\textbf{Important:} The scale() command does not update force-field
+parameters such as atomic radii or bond-lengths. Dipole magnitudes are affected.)}
+\\
+\hline
+\textit{.scale($x_r,y_r,z_r$)} &
+Multiply \mbox{\textit{x, y, z}} coordinates by
+\mbox{$x_r, y_r, z_r$}, respectively
+\\
+\hline
+\begin{tabular}[t]{l}
+\textit{.scale(ratio,$x_0,y_0,z_0$)} \ or \\
+\textit{.scale($x_r,y_r,z_r,x_0,y_0,z_0$)} \\
+\end{tabular}
+&
+You can supply 3 optional additional arguments
+\mbox{$x_0,y_0,z_0$} which specify the point around which
+you want the scaling to occur.
+(This point will be a \textit{fixed point}.
+ Of omitted, the origin is used.)
+\\
+\hline
+\multicolumn{2}{c} {
+\textbf{
+\textit{Note:}
+Multiple transformations can be chained together into a compound operation.}
+}
+\\
+\multicolumn{2}{c} {
+(For example: \mbox{``$.scale(2.0).rotate(45.2,1,0,0).move(25.0,0,0)$''})
+}
+\\
+\multicolumn{2}{c} {
+These are evaluated from left-to-right.
+(See section \ref{sec:arrays+xform}.)
+}
+\\
+\hline
+\begin{tabular}[t]{l}
+ \\
+\textit{push}(rot(152.3,0.79,0.43,-0.52)) \\
+% \textit{push}(move(0.0,34.1,-8.7)) \\
+monomer1 = new Monomer \\
+% pop()
+% \textit{push}(rotvv(-0.01,0.96,-0.3,0,0.2,-0.98)) \\
+\textit{push}(move(0.01,35.3,-10.1)) \\
+monomer2 = new Monomer \\
+% \textit{pop } \\
+\textit{pop}() \\
+\textit{pop}() \\
+\end{tabular}
+&
+Coordinate transformations introduced using the \textit{push()} command are applied to molecules instantiated later (using the \textit{new}) command, and remain in effect until they are removed using the \textit{pop()} command. (And transformations appearing in arrays accumulate as well, but do not need to be removed with \textit{pop()}.)
+%The \textit{push()} and \textit{pop()} commands allow the user to control exactly how coordinate transformations accumulate. The \textit{pop()} command undoes the transformations introduced in the most recent \textit{push()} command.
+In this example, the first transformation, ``rot()'', is applied to both ``monomer1'' and ``monomer2''. The last transformation, ``move()'', is applied after ``rot()'' and only acts on ``monomer2''.
+\\
+\hline
+\end{tabular}
+%\caption{Coordinate Transformation Commands}
+%\label{tab:transformation_commands}
+%\end{table}
+
+
+
+
+
+\subsection{moltemplate.sh command line arguments:}
+\label{sec:args_table}
+%\begin{table}
+\begin{tabular}[h]{l|p{10cm}}
+\textbf{argument} & \textbf{meaning}
+\\
+\hline
+\hline
+-atomstyle \textit{style}
+&
+Inform moltemplate which atom\_style you are using.
+(\textit{style} is "full" by default).
+Other styles like "molecular" or "hybrid full dipole" are supported.
+For custom atom styles, you can also specify the list of column
+names manually. For example:
+\textbf{-atomstyle "molid x y z atomid atomtype mux muy muz"}
+Atom styles should be enclosed in quotes (").
+\\
+\hline
+-raw coords.raw
+&
+Read all of the atomic coordinates from an external RAW file.
+(RAW files are simple 3-column ASCII files contain X Y Z coordinates
+ for every atom, separated by spaces.)
+\\
+\hline
+-xyz coords.xyz
+&
+Read all of the atomic coordinates from an external XYZ file
+(XYZ files are 4-column ascii files in ATOMTYPE X Y Z format.
+ The first column, ATOMTYPE, is skipped.
+ The first line should contain the number of atoms.
+ The second line is skipped. See section \ref{sec:coords_intro}.)
+\\
+\hline
+-pdb coords.pdb
+&
+Read all of the atomic coordinates from an external PDB file
+(Periodic boundary conditions are also read, if present.
+ Atoms are sorted by the chainID, resID, insertCode, and atomID
+ fields on every line beginning with ``ATOM'' or ``HETATM''.
+ This order must match the order that the atoms appear in the data file.
+ See section \ref{sec:coords_intro}.)
+\\
+\hline
+-a '\textit{variable} \textit{value}'
+&
+Assign \textit{variable} to \textit{value}.
+(The \textit{variable} should begin with either a @ character
+ or a \$ character.
+ Single-quotes and a space separator are required.
+ See appendix \ref{sec:manual_assignment}.)
+\\
+\hline
+-a bindings\_file'
+&
+The variables in column 1 of
+\textit{bindings\_file}
+(which is a text file)
+will be assigned to
+the values in column 2 of that file.
+(This is useful when there are many variable assignments to make.
+See appendix \ref{sec:manual_assignment}.)
+% \$-variables should \textit{not} be preceded by \textbackslash\ in this case.)
+\\
+\hline
+\begin{tabular}[t]{l}
+-b '\textit{variable} \textit{value}'
+\\
+\hspace{0.35cm} \textit{or} \\
+-b \textit{bindings\_file}
+\\
+\end{tabular}
+&
+Assign variables to values.
+Unlike assignments made with ``-a'',
+assignments made using ``-b''
+are non-exclusive.
+(They may overlap with other variables in the same category.
+ See appendix \ref{sec:manual_assignment}.)
+\\
+\hline
+
+\begin{tabular}[t]{l}
+-overlay-bonds
+\\
+-overlay-angles
+\\
+-overlay-dihedrals
+\\
+-overlay-impropers
+\\
+\end{tabular}
+&
+By default moltemplate overwrites
+duplicate bonded interactions which
+involve the same set of atoms.
+These flags disable that behavior.
+This can be useful when you want to superimpose
+multiple angular or dihedral forces on the same set of atoms
+(eg. to enable more complex force fields).
+\\
+\hline
+-nocheck &
+Do \textit{not} check for common LAMMPS/moltemplate syntax errors.
+(This might be useful when using moltemplate
+ with simulation software other than LAMMPS,
+ \textit{or} to build systems which need new non-standard LAMMPS features.)
+\\
+\hline
+-checkff &
+This forces moltemplate.sh to check that there
+are valid angle and dihedral interactions defined for every
+3 or 4 consecutively bonded atoms in the system
+(defined in "Data Angles By Type'' and ``Data Dihedrals By Type" sections).
+\\
+\hline
+-vmd &
+Invoke VMD after running moltemplate to view the system you have just created.
+(VMD must be installed.
+ %This feature uses Axel Kohlmeyer's topotools plugin.
+ See sections \ref{sec:vmd_topotools}, \ref{sec:vmd_advanced} for details.)
+\\
+\hline
+%-import-path LOCATION
+%&
+%When a user imports an .LT file, moltemplate first looks in the directory
+%where it was run, and then in the ``force\_fields'' subdirectory in the
+%moltemplate installation. Additional directories can be appended using
+%this command. (Multiple directories must be separated by ':' characters)
+%This allows moltemplate to look for .LT files
+%in other directories when using ``import''.
+%(Multiple directories must be separated by ':' characters.)
+%\\
+%\hline
+\end{tabular}
+
+\begin{tabular}[h]{l|p{10cm}}
+\hline
+\begin{tabular}[t]{l}
+-dihedral-sym file.py
+\\
+-improper-sym file.py
+\\
+-bond-symmetry file.py
+\\
+-angle-symmetry file.py
+\\
+\end{tabular}
+&
+Normally moltemplate.sh reorders the atoms in each bond, angle, dihedral, and improper interaction before writing them to the DATA file in order to help avoid duplicate interactions between the same atoms if listed in different but equivalent orders. Sometimes this is undesirable. \textit{\textbf{To disable this behavior, set ``file.py'' to ``None''.}} You can also manually choose alternate symmetry rules for unusual force fields. (Such as class2 force fields, dihedral\_style spherical, etc... For an example of the file format for ``file.py'', see the ``nbody\_Impropers.py'' file.)
+\\
+\hline
+\end{tabular}
+
+
+%\pagebreak
+
+
+
+
+\section{Introductory tutorial}
+\label{sec:tutorial}
+\subsection*{\textit{Summary}}
+\textit{Moltemplate is based on a very simple text generator (wrapper) which
+repetitively copies short text fragments into one (or more) files
+and keeps track of various kinds of counters.}
+
+LAMMPS is a powerful but complex program with many contributors.
+Moltemplate is a front-end for LAMMPS.
+Moltemplate users will have to tackle the same steep learning-curve
+(and occasional bugs) that other LAMMPS users must face.
+ %Moltemplate is (intentionally) ignorant about LAMMPS
+ %and molecular dynamics in general.
+ %Gradually other features have been added to moltemplate.sh which make
+ %it somewhat more convenient for generating LAMMPS simulation files.
+Moltemplate files (LT files) share the same file format and
+syntax structure as LAMMPS DATA files and INPUT scripts.
+%Moltemplate can understand some simple LAMMPS commands,
+%and it will attempt to correct user mistakes.
+Moltemplate will attempt to correct user mistakes,
+however users must still learn
+LAMMPS syntax and write LT files which obey it.
+For users who are new to LAMMPS, the easiest way
+to do this is to modify an existing example
+(such as the water box example in this section).
+(The official LAMMPS documentation
+\url{http://lammps.sandia.gov/doc/Manual.html}
+is an excellent reference to look up LAMMPS commands
+you see in these examples that you are not familiar with.)
+
+%In addition to the examples here, there are more complex examples
+%distributed with the moltemplate source code.}
+
+
+\subsection{Simulating a box of water using moltemplate and LAMMPS}
+\label{sec:spce_example}
+
+\begin{figure}[htbp]
+\centering
+\includegraphics[width=2.4cm]{single_water_LR.jpg}
+\caption{
+\label{fig:single_water}
+Coordinates of a single water molecule in our example.
+(Atomic radii not to scale.)
+}
+\end{figure}
+
+ Here we show an example of a lammps-template file for water.
+ %``.lt'' files can store topology and force-field settings in raw LAMMPS format.
+(The settings shown here are borrowed from the simple-point-charge
+ \cite{Berendsen++StraatsmaJPhysChem1987} SPC/E model.)
+ %and can be overridden or modified by
+ %combining this LT file with other LT files.)
+In addition to coordinates, topology and force-field settings,
+``LT'' files can optionally include any other kind of LAMMPS settings
+including SHAKE constraints, k-space settings, and even group definitions.
+ %\pagebreak
+\begin{verbatim}
+# (NOTE: Text following '#' characters are comments)
+#
+# file "spce_simple.lt"
+#
+# H1 H2
+# \ /
+# O
+#
+
+SPCE {
+
+ ## Atom properties and molecular topology go in the various "Data ..." sections
+
+ # We selected "atom_style full". That means we use this column format:
+ # atomID molID atomType charge coordX coordY coordZ
+
+ write("Data Atoms") {
+ $atom:o $mol:. @atom:O -0.8476 0.0000000 0.000000 0.00000
+ $atom:h1 $mol:. @atom:H 0.4238 0.8164904 0.5773590 0.00000
+ $atom:h2 $mol:. @atom:H 0.4238 -0.8164904 0.5773590 0.00000
+ }
+
+ # Variables beginning with $ or @ will be replaced by numbers LAMMPS will
+ # eventually read. Each of the three atoms" will be assigned unique
+ # atomIDs (denoted here by "$atom:o", "$atom:h1", "$atom:h2"), even if
+ # they belong to different molecules. However, the atom types
+ # (denoted "@atom:O", "@atom:H") are shared for atoms in all molecules.
+ # All 3 atoms share same molID number (represeted here by "$mol:.")
+ # however that number is different for different water molecules.
+
+ write_once("Data Masses") {
+ # atomType mass
+ @atom:O 15.9994
+ @atom:H 1.008
+ }
+
+ write("Data Bonds") {
+ # bondID bondType atomID1 atomID2
+ $bond:oh1 @bond:OH $atom:o $atom:h1
+ $bond:oh2 @bond:OH $atom:o $atom:h2
+ }
+
+ write("Data Angles") {
+ # angleID angleType atomID1 atomID2 atomID3
+ $angle:hoh @angle:HOH $atom:h1 $atom:o $atom:h2
+ }
+
+ # --- Force-field parameters go in the "In Settings" section: ---
+
+ write_once("In Settings") {
+ # -- Non-bonded (Pair) interactions --
+ # atomType1 atomType2 parameter-list (epsilon, sigma)
+ pair_coeff @atom:O @atom:O 0.1553 3.166
+ pair_coeff @atom:H @atom:H 0.0 2.058
+ # (mixing rules determine interactions between types @atom:O and @atom:H)
+
+ # -- Bonded interactions --
+ # bondType parameter list (k_bond, r0)
+ bond_coeff @bond:OH 1000.00 1.0
+ # angleType parameter-list (k_theta, theta0)
+ angle_coeff @angle:HOH 1000.0 109.47
+
+ # Group definitions and constraints can also go in the "In Settings" section
+ group spce type @atom:O @atom:H
+ fix fSHAKE spce shake 0.0001 10 100 b @bond:OH a @angle:HOH
+ # (lammps quirk: Remember to "unfix fSHAKE" during minimization.)
+ }
+
+ # LAMMPS supports a large number of force-field styles. We must select
+ # which ones we need. This information belongs in the "In Init" section.
+
+ write_once("In Init") {
+ units real # angstroms, kCal/mole, Daltons, Kelvin
+ atom_style full # select column format for Atoms section
+ pair_style lj/charmm/coul/long 9.0 10.0 10 # params needed: epsilon sigma
+ bond_style harmonic # parameters needed: k_bond, r0
+ angle_style harmonic # parameters needed: k_theta, theta0
+ kspace_style pppm 0.0001 # long-range electrostatics sum method
+ pair_modify mix arithmetic # using Lorenz-Berthelot mixing rules
+ }
+
+} # SPCE
+\end{verbatim}
+Words which are preceded by ``\$'' or ``@'' characters
+are counter variables and will be replaced by integers.
+(See section \ref{sec:variables} for details.)
+Users can include SPCE water in their simulations using commands like these:
+\begin{verbatim}
+# -- file "system.lt" --
+import "spce_simple.lt"
+wat = new SPCE [1000]
+\end{verbatim}
+You can now use ``moltemplate.sh'' to create simulation input files for LAMMPS
+\begin{verbatim}
+moltemplate.sh -pdb coords.pdb -atomstyle "full" system.lt
+\end{verbatim}
+This command will create lammps input files
+for the molecular system described in ``system.lt'',
+using the desired atom style (``full'' by default).
+In this example, moltemplate is relying on an external file (``coords.pdb'')
+to supply the atomic coordinates of the water molecules, as well as
+the periodic boundary conditions.
+Coordinates in XYZ format are also supported using ``-xyz coords.xyz''.
+
+\subsubsection*{\textit{Details}}
+\textit{Note that since XYZ files lack boundary information, you must also
+ include a ``Boundary'' section in your ``.lt'' file, as demonstrated
+ in section \ref{sec:pbc}.
+ In both cases, the order of the atom types in a PDB or XYZ file
+ (after sorting) should match the order they are created by moltemplate
+ (which is determined by the order of the ``new'' commands
+ in the LT file).
+ Unfortunately this may require careful manual editing of the PDB or XYZ file.}
+ %(See appendix \ref{sec:order_customization} for instructions
+ % how to customize the order of moltemplate counting).
+
+\subsection{Coordinate generation}
+\label{sec:coords_intro}
+It is not necessary to provide a separate file with atomic coordinates.
+It is more common to manually specify the location
+(and orientation) of the molecules in your system using the
+ ``.move()'' and ``.rot()'' commands %for rigid-body movement
+in the LT file itself
+(discussed in section \ref{sec:coordinates}).
+For example you can replace the line:
+\begin{verbatim}
+wat = new SPCE [1000]
+\end{verbatim}
+from the example above with 1000 lines:
+\begin{verbatim}
+wat1 = new SPCE
+wat2 = new SPCE.move(3.450, 0.0, 0.0)
+wat3 = new SPCE.move(6.900, 0.0, 0.0)
+wat4 = new SPCE.move(10.35, 0.0, 0.0)
+ : :
+wat1000 = new SPCE.move(34.50, 34.50, 34.50)
+\end{verbatim}
+Specifying geometry this way is tedious.
+Alternatively, moltemplate has simple commands for arranging multiple
+copies of a molecule in periodic, crystalline, toroidal, and helical
+1-D, 2-D, and 3-D lattices.
+For example, you can generate a simple cubic lattice of
+10$\times$10$\times$10 water molecules
+(with a 3.45 Angstrom spacing)
+using a single command
+(which in this example we split into multiple lines)
+\begin{verbatim}
+wat = new SPCE [10].move(0,0,3.45)
+ [10].move(0,3.45,0)
+ [10].move(3.45,0,0)
+\end{verbatim}
+(See section \ref{sec:coordinates} for more details and examples.)
+This will create 1000 molecules with names like
+``wat[0][0][0]'', ``wat[0][0][1]'',$\ldots$, ``wat[9][9][9]''.
+You can always access individual atomIDs, molIDs, bondIDs, angleIDs,
+and dihedralIDs (if present), for any molecule
+elsewhere in your LT files using this notation:
+``\$atom:wat[2][3][4]/h1'',
+``\$bond:wat[0][5][1]/oh1'',
+``\$angle:wat[2][8][3]/hoh'',
+``\$mol:wat[0][1][2]''.
+This allows you to define interactions which link
+different molecules together (see section \ref{sec:coordinates}).
+
+A list of available coordinate transformations
+is provided in section \ref{sec:xforms_table}.
+
+%\subsubsection*{Defining the simulation boundary}
+\subsubsection*{Boundary Conditions:}
+\label{sec:pbc}
+LAMMPS simulations have finite volume and are usually periodic.
+We must specify the dimensions of the simulation boundary
+using the ``write\_once(``Data Boundary'')'' command.
+\begin{verbatim}
+write_once("Data Boundary") {
+ 0.0 34.5 xlo xhi
+ 0.0 34.5 ylo yhi
+ 0.0 34.5 zlo zhi
+}
+\end{verbatim}
+This is usually specified in the outermost LT file
+(``system.lt'' in this example).
+\textit{(Note: Boundary conditions do not have to be rectangular
+or even periodic. For triclinic cells, additional
+``xy'', ``xz'', and ``yz'' tilt parameters can be added.
+ %The ``write\_once("In Init") { boundary p p f }'' command
+ %can be used to turn off periodicity in the Z-direction, for example.
+For details, lookup the ``read\_data'' and ``boundary''
+commands in the official LAMMPS documentation.)}
+
+This system is shown in figure \ref{fig:spce_x_1000}a).
+After you have specified the geometry,
+then you can run moltemplate.sh this way:
+\begin{verbatim}
+moltemplate.sh -atomstyle "full" system.lt
+\end{verbatim}
+
+\begin{figure}[htbp]
+\centering
+\textbf{a)}
+\includegraphics[width=5cm]{waterSPCEx1000_LR.jpg}
+\textbf{b)}
+\includegraphics[width=5cm]{waterSPCEx1000_t=25_LR.jpg}
+\caption{
+\label{fig:spce_x_1000}
+A box of 1000 water molecules (before and after pressure equilibration),
+generated by moltemplate and visualized by VMD with the topotools plugin.
+(The VMD console commands used for visualization were:
+``topo readlammpsdata system.data full'',
+``animate write psf system.psf'',
+``pbc wrap -compound res -all'', and
+``pbc box''.
+See sections \ref{sec:vmd_topotools}, and \ref{sec:vmd_advanced}
+for details.
+}
+\end{figure}
+
+ %\subsubsection*{\textit{Non-periodic simulations}}
+ %The use of periodic boundary conditions in LAMMPS is optional.
+ %For example the ``boundary p p f'' command turns off
+ %periodic boundary conditions in the Z-direction.
+ % %When using LAMMPS, commands like this belong
+ % %near the beginning of a LAMMPS input script.
+ %In moltemplate.sh, these kinds of commands go in the ``In Init'' section:
+ %\begin{verbatim}
+ %write_once("In Init") {
+ % boundary p p f
+ %}
+ %\end{verbatim}
+ %Note that the simulation volume is still finite.
+ %(Currently, as of 2012-5-28,
+ % atoms which escape the simulation boundary are lost/destroyed.)
+ % %(Of course, you can always manually edit the LAMMPS input script
+ % % file that was generated by moltemplate.sh before running LAMMPS.
+ % % These files are explained below.)
+
+\subsection{Visualization using VMD \& topotools}
+\label{sec:vmd_topotools}
+
+When you run moltemplate, it generates a LAMMPS \textit{data} file.
+This file is usually called ``system.data''.
+Geometric information, and bonded topology are stored in this file.
+After you have run moltemplate, you should look at your system
+to check it for mistakes.
+Problems can easily occur with overlapping atoms (missing molecules),
+periodic boundaries, incorrectly bonded atoms, incorrect rotation and movement.
+Sometimes many iterations of running moltemplate and
+visualization are necessary.
+
+\textit{Optional:}
+If you have VMD installed, you can automatically visualize the system
+you have just created automatically by invoking moltemplate with
+the \textit{\textbf{-vmd}} command line argument.
+(In other words invoke moltemplate.sh using \textit{moltemplate.sh -vmd}
+ instead of \textit{moltemplate.sh}. VMD must be installed.)
+If you don't use the -vmd command line argument, you can always view the
+system in VMD later manually. For instructions how to do that,
+keep reading...
+
+Some very basic instructions how to use VMD are provided below:
+\textit{(Note: These instructions were written for VMD 1.9 and topotools 1.2)}
+ %See appendix \ref{sec:vmd_advanced} for more details.)
+
+To view a \textit{data} file:
+\begin{list}{}
+\item a) start VMD
+\item b) from the menu, select
+ \textbf{Extensions}$\rightarrow$\mbox{\textbf{Tk Console}}
+\item c) enter:
+\end{list}
+\begin{verbatim}
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+\end{verbatim}
+\begin{list}{}
+\item The first command will display all of the atoms and bonds in your system
+in VMD's 3-D window. (We use ``\textbf{full}'' because we are using the
+``full'' atom\_style in this particular example. If you are using a different
+atom\_style, then change the command above accordingly.)
+\item The second command
+%\begin{verbatim}
+% \textit{``animate write psf system.psf''},
+%\end{verbatim}
+will create a PSF file (``system.psf'') which will
+be useful later for viewing a trajectory file created
+during a LAMMPS simulation.
+(See section \ref{sec:vmd_trajectory}.)
+\end{list}
+
+Most likely, atoms and bonds will be represented by
+ugly dots and lines by default.
+To change the way molecules are displayed, control their color,
+display periodic boundaries, and wrap atomic coordinates,
+read the short VMD tutorial in appendix \ref{sec:vmd_advanced}.
+
+\textit{(Note:
+As of 2012-12-18,
+VMD does not have built-in support for exotic atom\_styles
+such as ellipsoids and dipoles, but their are 3rd-party scripts, plugins
+and settings you can use. Search the VMD and LAMMPS mailing lists
+for help.})
+
+
+
+\subsection{Running a LAMMPS simulation (after using moltemplate)}
+\label{sec:run}
+To run a simulation of one or more molecules,
+LAMMPS requires an \textit{input script} and a \textit{data file}.
+Input scripts typically contain
+force field styles, parameters and run settings.
+(They sometimes also contain atom coordinates.)
+Data files typically contain atom coordinates and bonded topology data.
+(They sometimes also contain force-field parameters.)
+ %LAMMPS does strictly not require users to supply a data file, but they
+ %are required for systems with nontrivial bonded molecular topology.
+
+Moltemplate will create the following files:
+``system.data'',
+``system.in'',
+``system.in.init'',
+``system.in.settings'',
+(and possibly other files including ``system.in.coords'').
+These are LAMMPS input/data files, and they can be run in LAMMPS
+with minimal modification (see below).
+The main input script file is named ``system.in'', and it usually contains
+just three lines:
+\begin{verbatim}
+include "system.in.init"
+read_data "system.data"
+include "system.in.settings"
+\end{verbatim}
+
+To \textit{run} a simulation, you will have to
+edit this file in order to add a couple of run commands.
+These commands tell LAMMPS about the simulation conditions
+you want to use (temperature, pressure),
+how long to run the simulation,
+how to integrate the equations of motion,
+and how to write the results to a file (file format, frequency, etc).
+Moltemplate.sh can not do this for you.
+Some simple examples (which you can paste into your input script)
+are provided in the
+\textit{online examples}
+which can be downloaded from \url{http://moltemplate.org}.
+ %directories which are bundled with moltemplate.
+(These example input scripts
+ typically have names like ``run.in.nvt'' and ``run.in.npt''.)
+%below:
+
+ In addition to the examples, an introduction to LAMMP
+input scripts is provided at these links:
+\url{http://lammps.sandia.gov/doc/Section_commands.html#cmd_1}.
+\url{http://lammps.sandia.gov/doc/Section_howto.html} and
+\url{http://lammps.sandia.gov/doc/Section_howto.html#howto_15}
+
+
+Here is a list of basic input script commands
+used in the moltemplate examples
+(and links to their documentation):
+\begin{list}{}
+\item \textbf{run} \
+\url{http://lammps.sandia.gov/doc/run.html}
+\item \textbf{timestep} \
+\url{http://lammps.sandia.gov/doc/timestep.html}
+\item \textbf{thermo} \ \url{http://lammps.sandia.gov/doc/thermo.html}
+\item \textbf{dump} \ \url{http://lammps.sandia.gov/doc/dump.html}
+\item \textbf{read\_data} \ \url{http://lammps.sandia.gov/doc/read_data.html}
+\item \textbf{restart} \ \url{http://lammps.sandia.gov/doc/restart.html}
+\item \textbf{include} \ \url{http://lammps.sandia.gov/doc/include.html}
+\item \textbf{fix nve} \ \url{http://lammps.sandia.gov/doc/fix_nve.html}
+\item \textbf{fix nvt} \ \url{http://lammps.sandia.gov/doc/fix_nh.html}
+\item \textbf{fix npt} \ \url{http://lammps.sandia.gov/doc/fix_nh.html}
+\item \textbf{fix langevin} \ \url{http://lammps.sandia.gov/doc/fix_langevin.html}
+\item \textbf{fix} \ \url{http://lammps.sandia.gov/doc/fix.html}
+\item \textbf{group} \ \url{http://lammps.sandia.gov/doc/group.html}
+\item \textbf{compute} \ \url{http://lammps.sandia.gov/doc/compute.html}
+\item \textbf{print} \ \url{http://lammps.sandia.gov/doc/print.html}
+\item \textbf{variable} \ \url{http://lammps.sandia.gov/doc/variable.html}
+\item \textbf{rerun} \ \url{http://lammps.sandia.gov/doc/rerun.html}
+\item \textbf{fix shake} \ \url{http://lammps.sandia.gov/doc/fix_shake.html}
+\item \textbf{fix rigid} \ \url{http://lammps.sandia.gov/doc/fix_rigid.html}
+\end{list}
+In addition, all users should be familiar with the following commands:
+(These appear in the ``In Init'' section of most LT files.)
+\begin{list}{}
+\item \textbf{atom\_style} \ \url{http://lammps.sandia.gov/doc/atom_style.html}
+\item \textbf{pair\_style} \ \url{http://lammps.sandia.gov/doc/pair_style.html}
+\item \textbf{bond\_style} \ \url{http://lammps.sandia.gov/doc/bond_style.html}
+\item \textbf{angle\_style} \ \url{http://lammps.sandia.gov/doc/angle_style.html}
+\end{list}
+
+
+%\subsubsection{An overview of popular LAMMPS run settings}
+% %Alternately you can
+% %import or include this LT file
+% %inside another LT file which has these run commands already.
+% % containing the needed run settings.
+% % to the end of this input script file,
+% %OR include this file in a different input script file which has them.
+%\begin{verbatim}
+%# -- declare time step for numerical integration --
+%timestep 1.0
+%\end{verbatim}
+%The Nose-Hoover thermostat \& barostat are popular for dense systems
+%(typically liquids, solids, or liquid/solute mixtures). Choose between:
+%\begin{verbatim}
+%# -- run at constant temperature and pressure (Nose Hoover) --
+%fix fxnpt all npt temp 300.0 300.0 100.0 iso 1.0 1.0 1000.0
+%\end{verbatim}
+%and
+%\begin{verbatim}
+%# -- ALTERNATELY run at constant temperature and volume (Nose Hoover) --
+%fix fxnvt all nvt temp 300.0 300.0 500.0 tchain 1
+%\end{verbatim}
+%The user must also specify what kind of data they want to save, and how
+%frequently they want to save it. Here are some simple examples:
+%\begin{verbatim}
+%thermo_style custom step temp pe etotal press vol epair ebond eangle edihed
+%thermo 500 # time interval for printing out "thermo" data
+%dump 1 all custom 2000 traj.lammpstrj id mol type x y z ix iy iz
+%\end{verbatim}
+%Finally, you must specify the simulation duration.
+%\begin{verbatim}
+%run 200000
+%\end{verbatim}
+% %A detailed description of these steps are not covered in this manual.
+%If the starting geometry of your system is unfavorable (high energy)
+%then numerical explosions may result (causing the infamous
+%``Bond/Angle/Dihedral atoms missing on proc'' errors).
+%To avoid this, you may want to insert a ``minimize'' command
+%into your input script before the run command.
+%\begin{verbatim}
+%# -- minimize --
+%minimize 1.0e-5 1.0e-7 1000 10000
+%# (Note: Some fixes, for example "shake", interfere with the minimize command.
+%# You can use the "unfix" command to disable them before minimization.)
+%\end{verbatim}
+%After these modifications, LAMMPS can then be run using:
+%\begin{verbatim}
+%lmp_linux -i system.in
+%\end{verbatim}
+%(Here we are assuming ``lmp\_linux'' is the name of your LAMMPS executable.)
+%A detailed explanation of these commands
+%can be found in the LAMMPS Users Manual.
+% %\textit{(Simple examples of LAMMPS script commands may be found in
+% %comments that appear at the end of ``system.in''
+% %files created by moltemplate.sh.)}
+% %(More detailed explanation of these commands
+% %can be found in the LAMMPS Users Manual.)
+%
+%Several examples of complete input scripts exist in the
+%``examples'' section of the moltemplate web site at moltemplate.org.
+%
+%\subsubsection{Recommendations for dilute coarse-grained systems}
+%\label{sec:runcg}
+%The Nose-Hoover thermostats are a poor choice for
+%dilute systems with a relatively small number of atoms
+%(such as coarse-grained molecules in implicit solvent).
+% %Note: Special care is required for \textit{coarse-grained} systems.
+%(The Berendsen thermostat is also not recommended.)
+%The Langevin thermostat is available in LAMMPS,
+%however it (currently as of 2012-5) requires
+%two ``fix'' commands, as shown below:
+%\begin{verbatim}
+%# -- run at constant volume using Langevin dynamics. --
+%fix fxlan all langevin 300.0 300.0 5000 48279
+%fix fxnve all nve # (needed by langevin)
+%\end{verbatim}
+%You may need to adjust the damping parameter (the 3rd numerical argument)
+%to achieve efficient and physically reasonable dynamics
+%\cite{Klimov+ThirumalaiPRL1997}.
+
+
+
+ %More detailed instructions for running ``moltemplate.sh'' are provided
+ %in appendix \ref{sec:ttree_man_page}.
+
+ %%%%%%% This comment is interesting (?), but no longer relevant: %%%%%%
+ %SPCE {
+ %# Note: This extra bracketed text augments (not overwrites)
+ %# the contents of "SPCE {}" defined in "spce_simple.lt".
+ %# Note: Here "@atom:O" and "@atom:H" refer to variables which were
+ %# originally defined in "spce_simple.lt". These variables will be
+ %# numbered consistently as if they belong to the same file
+ %}
+ %%%%%%%%%%%%%%%%%%%%% --Please Ignore -- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%Later on when we build the final LAMMPS input and data files,
+%data from the different files (``Data Atoms'', ``Data Bonds'',
+%``In Init'', ``In Settings'', etc...)
+%must be pasted together in the correct order according to LAMMPS conventions.
+%This is a simple task that can be performed by the ``moltemplate'' script
+%(included with ttree),
+%or manually by the user, depending on their familiarity with LAMMPS.
+%LAMMPS has a complex and diverse syntax because
+%it supports a wide variety of force-field types.
+%The commands above are \textit{raw} LAMMPS commands,
+%augmented by ttree variables
+%(like ``@atom:O'' and ``\$atom:o''), which are explained below.
+
+
+ %and/or CHARMM27 parameter files.
+ %We hope ttree is flexible enough that it should remain useful in the future,
+ %even if the LAMMPS input syntax changes radically.
+
+ %\subsection{Before ttree}
+ %The ability to load and combine data from multiple different types of
+ %molecules together is missing from LAMMPS.
+ %\textit{Normally} LAMMPS users are required to manually assign unique
+ %id numbers to \textit{every} atom, bonded, 3-body, and 4-body interaction
+ %in the entire simulation.
+ %Each molecule is assigned a unique id number as well.
+ %For a system with 6000 water molecules, a user would be required to
+ %specify 18000 atom ids, 12000 bond ids, 6000 3-body angle ids
+ %and 6000 molecule ids.
+ %(This should not be done by hand.)
+
+
+\subsection{Visualizing Trajectories}
+\label{sec:vmd_trajectory}
+After you have run a simulation in LAMMPS, there are several programs which
+can visualize the system.
+If you have saved your trajectory in LAMMPS ``dump'' format,
+later you can view it in VMD \cite{VMD}.
+For the purpose of viewing trajectories in LAMMPS,
+I recommend using the following style of ``dump'' commands in the LAMMPS
+input-script that you use when you run LAMMPS:
+\begin{verbatim}
+dump 1 all custom 1000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+\end{verbatim}
+(The ``all'' and ``1000'', refer to the atom selection and save interval, which may differ depending on the kind of simulation you are running. See \url{http://lammps.sandia.gov/doc/dump.html} for details.)
+
+
+Once you have a dump file, you can view it in VMD using:
+\begin{list}{}
+\item a) Start VMD
+ From the menu in the upper-left, select
+ \textbf{File}$\rightarrow$\mbox{\textbf{New Molecule}}
+\item b) Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+\item c) Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory".
+ Click on \textbf{OK}.
+\item d) Click on the \textbf{Load} button.
+\end{list}
+
+
+Again, to customize molecule appearance,
+display periodic boundary conditions and wrap molecule coordinates,
+see the commands discussed in appendix \ref{sec:vmd_advanced}.
+
+\textit{(Note: VMD may not be able to correctly visualize simulations which do
+not preserve the number of atoms and bonds over time, such as those run using
+\textbf{fix bond/create},
+\textbf{fix bond/break}, or
+\textbf{fix gcmc}.)}
+
+%\textit{(A note on trajectory format:
+%It's a good idea to use an atom\_style which supports molecule-ID numbers
+%(to make it easy to wrap atom coordinates without breaking molecules in half).
+%I've been using this command in my LAMMPS scripts to create the trajectories:
+%``dump 1 all custom 5000 DUMP\_FILE.lammpstrj id mol type x y z ix iy iz'')}
+
+
+ %Of course, you don't have to save your trajectories in DUMP format,
+ %(other formats like DCD work fine) I just mention dump files
+ %because these are the files I'm familiar with.
+
+\section{Overview}
+ %This paragraph below is an excellent
+ %summary/explanation of what moltemplate.sh does.
+
+\subsection{Basics: The \textit{write()} and \textit{write\_once()} commands}
+\label{sec:write}
+Each LT file typically contains one or more
+``write'' or ``write\_once'' commands.
+These commands have the following syntax
+\begin{verbatim}
+write_once(filename) {text_block}
+\end{verbatim}
+This creates a new file with the desired file name
+and fills it with the text enclosed in curly brackets \{\}.
+ %(after any necessary variable substitutions have been made).
+Text blocks usually span multiple lines and contain counter variables
+(beginning with ``@'' or ``\$'').
+which are replaced with numbers.
+However the ``write()'' command will repeatedly append the
+same block of text to the file every time the molecule
+(in which the write command appears) is generated or copied
+(using the ``new'' command,
+after incrementing the appropriate counters,
+as explained in \ref{sec:instance_variables}).
+ %incrementing any counter
+ %variables beginning with \$).
+ %When this happens, any counter variables beginning
+ %with \$ will be incremented.)
+%On the other hand, ``write\_once()'' commands print their text only once.
+%This is useful in certain cases. For example, there is no need to redundantly
+%specify the mass of the ``O'' and ``H'' atoms every time you create another copy
+%of the same molecule. This kind of data should be written only once using the
+%``write\_once(``Data Masses'')'' command.
+ %However, new atoms are generated every time a new copy of a previously
+ %defined molecule is created. This kind of data should be written using the
+ %``write(``Data Atoms'')'' command.
+
+
+\subsection{Basics: counter variables}
+\label{sec:variables}
+
+Words following a ``@'' or a ``\$'' character
+are \textit{counter variables}.
+(These are not to be confused with \textit{LAMMPS variables}
+ \url{http://lammps.sandia.gov/doc/variable.html}).
+By default,
+\textit{all counter variables are substituted with a numeric counter}
+before they are written to a file.
+ %(or to a section of a LAMMPS DATA file as
+ %explained in section \ref{sec:write}).
+These counters begin at 1 (by default), and
+are incremented as the system size and complexity grows (see below).
+
+These words typically contain a colon (:) followed by more text.
+The text preceding this colon is the \textit{category name}.
+(For example: ``\$atom:'', ``\$bond:'', ``\$angle:'',
+ ``@atom:'', ``@bond:'', ``@angle:'')
+Variables belonging to different categories
+are counted independently.
+
+Users can override these assignment rules and create custom categories.
+(See appendices \ref{sec:manual_assignment} and \ref{sec:custom_categories}
+for details.)
+
+\subsubsection{Static counters begin with ``@''}
+\label{sec:static_variables}
+
+``@'' variables generally correspond to \textit{types}:
+such as atom types, bond types, angle types, dihedral types, improper types.
+These are simple variables and they assigned to unique integers in the
+order they are read from your LT files.
+Each uniquely named variable in each category is assigned to a different
+integer. For example, ``@bond:'' type variables are numbered from ``1''
+to the number of \textit{bond types}.
+(Pairs of bonded atoms are assigned a \textit{bond type}.
+Later, LAMMPS will use this integer to lookup the bond-length and Hooke's-law
+elastic constant describing the force between these two atoms.)
+
+%These numbers do not change if the number of molecule copies
+%increases.
+
+\subsubsection{Instance counters begin with ``\$''}
+\label{sec:instance_variables}
+
+On the other hand, ``\$'' variables correspond
+to unique ID numbers: atom-IDs, bond-IDs,
+angle-IDs, dihedral-IDs, improper-IDs, and molecule-IDs. These
+variables are created whenever a copy of a molecule is created (using
+the ``new'' command).
+If you create 1000 copies of a water molecule using a command like
+\begin{verbatim}
+wat = new SPCE[10][10][10]
+\end{verbatim}
+then moltemplate creates 3000 ``\$atom'' variables with names like
+\begin{verbatim}
+$atom:wat[0][0][0]/o
+$atom:wat[0][0][0]/h1
+$atom:wat[0][0][0]/h2
+$atom:wat[0][0][1]/o
+$atom:wat[0][0][1]/h1
+$atom:wat[0][0][1]/h2
+\end{verbatim}
+$\quad \vdots $
+\begin{verbatim}
+$atom:wat[9][9][9]/o
+$atom:wat[9][9][9]/h1
+$atom:wat[9][9][9]/h2
+\end{verbatim}
+
+\subsubsection{Variable names: short-names \textit{vs.} full-names}
+\label{sec:full_names}
+
+In the example above, the \$ variables have full-names like
+``\$atom:wat[8][3][7]/h1'', not ``\$atom:h1''. However inside the
+definition of the water molecule, you don't specify the full name.
+You can refer to this atom as ``\$atom:h1''.
+Likewise, the full-name for the @atom variables is actually
+``@atom:SPCE/H'', not ``@atom:H''. However inside the definition of the water
+molecule, you typically use the shorthand notation ``@atom:H''.
+
+\subsubsection{Numeric substitution}
+Before being written to a file, every variable (either \$ or @)
+with a unique \textit{full-name} will be assigned to a unique integer,
+starting at 1 by default.
+ %(You can override this choice if you want to using the "-a" flag.)
+
+The various \$atom variables in the water example will be substituted
+with integers from 1 to 3000 (assuming no other molecules are present).
+But the ``@atom:O'' and ``@atom:H'' variables
+(which are shorthand for ``@atom:SPCE/O'' and ``@atom:SPCE/H'')
+will be assigned to to ``1'' and ``2''
+(again, assuming no other molecule types are present).
+
+So, in summary, @ variables increase with the \textit{complexity}
+of your system
+(IE the number of molecule types or force-field parameters),
+but \$ variables increase with the \textit{size} of your system.
+
+\subsubsection{Variable scope}
+\label{sec:variable_scope}
+This effectively means that all variables are specific to
+local molecules they were defined in.
+In other words, an atom type named ``@atom:H'' inside
+the ``SPCE'' molecule, will be assigned to a different number
+than an atom named ``@atom:H'' in an ``Arginine'' molecule.
+This is because the two variables will have different \textit{full} names
+(``@atom:SPCE/H'', and ``@atom:Arginine/H'').
+
+
+
+
+
+
+
+\subsubsection*{Sharing atom types or other variables between molecules}
+There are several ways to share atom types between two molecules.
+The \textit{recommended way} is to define them in a separate
+file and refer to them when needed.
+This approach is demonstrated in section \ref{sec:2bead}.
+
+\textit{(Alternately, you can define them outside the current molecule definition,
+and use file-system-path-like syntax
+(``../'', or ``../../'' or ``/'')
+to access atoms (or molecules) outside of the current molecule.
+ %(or nested within the definition of another molecule).
+For example, two different molecule types can share the same type of
+hydrogen atom by referring to it using this syntax: ``@atom:../H''.
+ %(Two molecules could share the same atom-id in a similar way,
+ % using ``\$atom:../h1''. This is not recommended)
+For details, see
+section \ref{sec:paths}.
+and appendix \ref{sec:adv_variable_syntax}.)
+ %To be on the safe side, if you want to define a single
+ %hydrogen atom type named ``H'' globally, for example,
+ %then you would refer to this atom everywhere using ``@atom:/H''.
+ %(A more portable alternative would be to use the ``@atom:.../H''
+ % syntax explained in appendix \ref{sec:adv_variable_syntax}.
+ % This is similar to ``@atom:/H'',
+ % however using the ellipsis syntax ``@atom:.../H'' allows you to
+ % share your molecule definitions (ET files) with others
+ % who may have a different notion of what the ``H'' atom is.)
+}
+
+
+
+
+
+\subsection{Troubleshooting using the \textit{output\_ttree} directory}
+\label{sec:output_ttree}
+Users can see what numbers were assigned to each variable
+by inspecting the contents of the ``output\_ttree'' subdirectory
+created by moltemplate.
+Unfortunately, it not unusual for LAMMPS to crash the first time you
+attempt to run it on a DATA file created by moltemplate. This often occurs
+if you failed to spell atom types and other variables consistently.
+The LAMMPS error message (located at the end of the ``log.lammps''
+file created by LAMMPS) will help you determine what type of mistake you made.
+(For example, what type of variable was misspelled or placed in the wrong place?)
+
+
+To help you, the ``output\_ttree'' directory contains a file named
+``ttree\_assignments.txt''.
+This is a simple 2-column text file containing a list of \textit{all}
+of the variables you have created in one column, and the numbers they
+were assigned to in the second column.
+(There is also a comment on each line beginning with a ``\#'' character which
+indicates the file and line number where this variable is first used.)
+
+The ``output\_ttree'' directory also contains all of the files that you created.
+The versions with a ``.template'' extension contain text
+interspersed with \textit{full} variable names (before numeric substitution).
+(A spelling mistake, like using ``\$atom:h'' when you meant to say ``\$atom:h1''
+or ``@atom:H'' will show up in these files if you inspect them carefully.)
+This can help you identify where the mistake occurred
+in your LT files.
+
+Once a molecular system is debugged and working, users
+can ignore or discard the contents of this directory.
+
+
+\subsection{``Data'' and ``In''}
+\label{sec:DataIn}
+Again, LAMMPS requires an \textit{input script} and a \textit{data file}
+to run.
+\textit{Moltemplate's job is to generate these files.}
+\textit{Input scripts} typically contain
+force-field styles, parameters and run settings
+ %Moltemplate users control what goes in the input script
+ %by writing to files with names beginning with \mbox{``In ''}.
+\textit{Data files} typically contain atom
+coordinates and bonded topology data.
+ %Moltemplate users control what goes in the data file
+ %by writing to files with names beginning with \mbox{``Data ''}.
+
+If you are familiar with LAMMPS,
+you may have noticed the file names above
+(in the example from section \ref{sec:spce_example})
+sound suspiciously like sections from LAMMPS data files or input scripts,
+such as ``Data Boundary'', ``Data Atoms'', ``Data Bonds'', ``Data Masses'', ``Data Angles'', ``Data Dihedrals'', ``Data Impropers'', ``In Init'', ``In Settings'').
+All files whose names begin with ``In '' or ``Data '' are special.
+For the user's convenience,
+the moltemplate.sh script copies the contents
+of these files into the corresponding section
+(``Atoms'', ``Bonds'', ``Angles'', etc.)
+of the
+DATA file or INPUT scripts generated by moltemplate
+(``system.data'', ``system.in.settings'', etc).
+(Then the original files are moved to the ``output\_ttree/'' directory,
+ in an effort to clean things up and hide them from view.)
+Users can create their own custom sections to a LAMMPS data file.
+(See section \ref{sec:custom_data}.
+ %(Note: It is unwise to explicitly add blank lines to a data file section.
+ %because LAMMPS may interpret them as section breaks.
+ %Moltemplate will add the section headers
+ %and blank lines needed to keep LAMMPS happy.)
+
+More generally, the ``write()'' and ``write\_once()'' commands can be used to
+create any other files you may need to run your simulations,
+which refer to the same \textit{@atom} and \textit{@bond} types.
+ %Files whose names do not begin with ``In '' or ``Data '' can have any format
+ %(and are not moved or cleaned up).
+ %(These files are not removed or hidden later.)
+(See section \ref{sec:aux_files}
+ % and \ref{sec:output_ttree} for examples
+for an example.)
+
+
+\subsection{\textit{(Advanced)}
+ Using moltemplate to generate auxiliary files}
+\label{sec:aux_files}
+The following excerpt from an LT file
+creates a file named ``system.in.sw''.
+(It contains parameters for the ``sw'' pair style.
+ This exotic many-body pair style requires a large number
+ of parameters, which are read from a separate file.)
+This ``system.in.sw'' file file will be read later when you run the simulation.
+(The pair\_coeff command below tells LAMPS to read that file.)
+\begin{verbatim}
+write_once("system.in.sw") {
+ mW mW mW 6.189 2.3925 1.8 23.15 1.2 -0.33333 7.04956 0.602224 4 0 0
+}
+write_once("In Settings") {
+ pair_coeff * * sw system.in.sw mW NULL NULL NULL
+}
+\end{verbatim}
+As new force-field styles and/or fixes are added to LAMMPS,
+the files they depend on can be embedded in an LT file in this way.
+
+
+\subsection{\textit{(Advanced)} Making custom DATA sections}
+\label{sec:custom_data}
+Suppose that in the future, the format of the LAMMPS DATA file changes
+so that it now becomes necessary to supply a new section named ``Foo Fee Fum'',
+for example. You could do that using this command:
+\begin{verbatim}
+write_once("Data Foo Fee Fum") {
+ File contents goes here. (These files can contain
+ atom counters and/or other counter variables).
+}
+\end{verbatim}
+This way moltemplate copy this text into the ``Foo Fee Fum'' section at
+the end of the DATA file it is constructing.
+This allows users to adapt to future changes in the LAMMPS data file format.
+
+
+
+\subsubsection*{Does ``@atom:H'' conflict with ``\$atom:H''?}
+\label{sec:vardetails}
+No. It is okay for static(@) and instance(\$) variables to share the same names.
+(Moltemplate considers them distinct variables and they will be assigned independently.)
+
+
+\subsubsection*{Addional Details}
+Variable and molecule names can include unicode characters.
+They can also include some whitespace characters and other special characters
+by using backslashes and curly-brackets, for example:
+``@\{atom: CA \}'' and ``@atom:\textbackslash\ CA\textbackslash\ ''.
+Curly-brackets are useful to clarify when a variable name begins and ends,
+such as in this example: ``@\{atom:C\}*@\{atom:H\}''.
+This prevents the ``*'' character from being appended to the end of the
+``C'' variable name.
+(Note that using the ``*'' character in any of the \textit{coeff} commands
+within moltemplate is discouraged. See section \ref{sec:wildcard_bug}.)
+
+\textit{(Unicode is supported.)}
+
+
+\pagebreak
+\section{ Object composition and coordinate generation }
+\label{sec:coordinates}
+
+Objects can be connected together to form larger molecule objects.
+These objects can be used to form still larger objects.
+As an example, we define a small 2-atom molecule named ``Monomer'',
+and use it to construct a short polymer (``Peptide'').
+
+\begin{figure}[htbp]
+\centering
+\textbf{a)}
+\includegraphics[height=3cm]{2bead_residue.jpg}
+\quad \quad \quad \quad \quad
+\textbf{b)}
+\includegraphics[height=3cm]{2bead_peptide.jpg}
+\newline
+\vspace{10 mm}
+\newline
+\textbf{c)}
+\includegraphics[width=4cm]{2bead_peptides_nopbc_t=0_LR.jpg}
+\textbf{d)}
+\includegraphics[width=4cm]{2bead_peptides_t=100ps_LR.jpg}
+\caption{
+\label{fig:2bead_peptide}
+\textbf{a)-b)}
+\textit{Building a complex system from small pieces:}
+Construction of a polymer (\textbf{b})
+out of smaller (2-atom) subunits (\textbf{a})
+using composition and rigid-body transformations.
+Bonds connecting different residues together (blue)
+must be declared explicitly,
+but angle and dihedral interactions will be generated automatically.
+See section \ref{sec:2bead} for details.
+\textbf{c)}
+An irregular lattice of short polymers.
+(See section \ref{sec:multidimensional_arrays}.)
+\textbf{d)}
+The same system after 100000 time steps using Langevin dynamics.
+ %the Langevin dynamics settings from section \ref{sec:runcg}.
+(The VMD console commands used for visualization were:
+``topo readlammpsdata system.data full'',
+``animate write psf system.psf'',
+``pbc wrap -compound res -all'', and
+``pbc box''.
+See sections \ref{sec:vmd_topotools}, and \ref{sec:vmd_advanced}
+for details.}
+\end{figure}
+
+
+
+\pagebreak
+
+\subsection{Building a large molecule from smaller pieces}
+\label{sec:2bead}
+Consider the following simple 2-atom dumbell-shaped molelule (``Monomer'')
+\begin{verbatim}
+# -- file "monomer.lt" --
+
+import "forcefield.lt" # contains force-field parameters
+
+Monomer inherits ForceField {
+
+ write("Data Atoms") {
+ # atomId molId atomType charge x y z
+ $atom:ca $mol:... @atom:CA 0.0 0.000 1.0000 0.0000000
+ $atom:r $mol:... @atom:R 0.0 0.000 4.4000 0.0000000
+ }
+ write("Data Bonds") {
+ # bond-id bond-type atom-id1 atom-id2
+ $bond:cr @bond:Sidechain $atom:ca $atom:r
+ }
+}
+\end{verbatim}
+
+
+Soon will use it to construct a polymer (``Peptide'')
+\textit{Note: The ellipsis notation used here ``\$mol:...''.
+warns moltemplate that the ``Monomer'' molecule may be part of a larger
+molecule.
+(This is explained in more detail in section \ref{sec:ellipsis_mol}.)
+}
+
+In this example we will define two kinds of molecule objects:
+``Monomer'', and ``Peptide'' (\textit{defined later}).
+It is often convenient to store atom types, masses, and force-field
+parameters in a separate file so that they
+can be shared between these different molecules.
+We do that in the ``forcefield.lt'' file below:
+
+
+\begin{verbatim}
+# -- file "forcefield.lt" --
+
+ForceField {
+
+ # There are 2 atom types: "CA" and "R"
+ write_once("Data Masses") {
+ @atom:CA 13.0
+ @atom:R 50.0
+ }
+
+ # Force-field parameters ("coeffs") go in the "In Settings" section:
+
+ write_once("In Settings") {
+ # Pairwise (non-bonded) interactions:
+ # atomType1 atomType2 epsilon sigma
+ pair_coeff @atom:CA @atom:CA 0.10 2.0
+ pair_coeff @atom:R @atom:R 0.50 3.6
+ # (Interactions between different atoms are determined by mixing rules.)
+ }
+
+ # 2-body (bonded) interactions:
+ #
+ # Ubond(r) = k*(r-r0)^2
+ #
+ write_once("In Settings") {
+ # bond-type k r0
+ bond_coeff @bond:Sidechain 15.0 3.4
+ bond_coeff @bond:Backbone 15.0 3.7
+ }
+
+ # Although the simple "Monomer" object we defined above has only
+ # two atoms, later on, we will create molecules with many bonds.
+ # By convention, in this file we keep track of all of the possible
+ # interactions which could exist between these atoms:
+
+ # Rules for determining 3-body (angle) interactions by atom & bond type:
+ # angle-type atomType1 atomType2 atomType3 bondType1 bondType2
+
+ write_once("Data Angles By Type") {
+ @angle:Backbone @atom:CA @atom:CA @atom:CA @bond:* @bond:*
+ @angle:Sidechain @atom:CA @atom:CA @atom:R @bond:* @bond:*
+ }
+
+ # Force-field parameters for 3-body (angle) interactions:
+ #
+ # Uangle(theta) = k*(theta-theta0)^2
+ #
+ write_once("In Settings") {
+ # angle-type k theta0
+ angle_coeff @angle:Backbone 30.00 114
+ angle_coeff @angle:Sidechain 30.00 132
+ }
+
+ # Rules for determining 4-body (dihedral) interactions by atom & bond type:
+ write_once("Data Dihedrals By Type") {
+ # dihedralType atmType1 atmType2 atmType3 atmType4 bondType1 bnd2 bnd3
+ @dihedral:CCCC @atom:CA @atom:CA @atom:CA @atom:CA @bond:* @bond:* @bond:*
+ @dihedral:RCCR @atom:R @atom:CA @atom:CA @atom:R @bond:* @bond:* @bond:*
+ }
+
+ # 4-body interactions in this example are listed by atomType
+ # The forumula used is:
+ #
+ # Udihedral(phi) = K * (1 + cos(n*phi - d))
+ #
+ # The d parameter is in degrees, K is in kcal/mol/rad^2.
+ #
+ # The corresponding command is
+ # dihedral_coeff dihedralType K n d w(ignored)
+
+ write_once("In Settings") {
+ dihedral_coeff @dihedral:CCCC -0.5 1 -180 0.0
+ dihedral_coeff @dihedral:RCCR -1.5 1 -180 0.0
+ }
+
+ write_once("In Init") {
+ # -- Styles used in "ForceField" --
+ # -- (Changing these styles will change the formulas above) --
+ units real
+ atom_style full
+ bond_style harmonic
+ angle_style harmonic
+ dihedral_style charmm
+ pair_style lj/cut/coul/debye 0.1 11.0
+ pair_modify mix arithmetic
+ dielectric 80.0
+ special_bonds lj 0.0 0.0 0.0
+ }
+}
+\end{verbatim}
+
+
+
+\subsubsection{Building a simple polymer}
+We construct a short polymer by making 7 copies of ``Monomer'',
+rotating and moving each copy:
+\label{sec:2beadPeptide}
+\begin{verbatim}
+# -- file "peptide.lt" --
+
+import "monomer.lt"
+
+Peptide inherits ForceField {
+
+ create_var {$mol} # optional:force all monomers to share the same molecule-ID
+ # (The "Data Atoms" in Monomer must use the "$mol:..." notation.)
+
+ res1 = new Monomer
+ res2 = new Monomer.rot(180.0, 1,0,0).move(3.2,0,0)
+ res3 = new Monomer.rot(360.0, 1,0,0).move(6.4,0,0)
+ res4 = new Monomer.rot(540.0, 1,0,0).move(9.6,0,0)
+ res5 = new Monomer.rot(720.0, 1,0,0).move(12.8,0,0)
+ res6 = new Monomer.rot(900.0, 1,0,0).move(16.0,0,0)
+ res7 = new Monomer.rot(1080.0, 1,0,0).move(19.2,0,0)
+
+ # Now, link the residues together this way:
+ write("Data Bonds") {
+ $bond:backbone1 @bond:Backbone $atom:res1/ca $atom:res2/ca
+ $bond:backbone2 @bond:Backbone $atom:res2/ca $atom:res3/ca
+ $bond:backbone3 @bond:Backbone $atom:res3/ca $atom:res4/ca
+ $bond:backbone4 @bond:Backbone $atom:res4/ca $atom:res5/ca
+ $bond:backbone5 @bond:Backbone $atom:res5/ca $atom:res6/ca
+ $bond:backbone6 @bond:Backbone $atom:res6/ca $atom:res7/ca
+ }
+}
+\end{verbatim}
+The position and orientation of each copy of ``Monomer''
+is specified after the ``new'' statement.
+Each ``new'' statement is typically followed by a chain of
+move/rotate/scale functions separated by dots, evaluated left-to-right
+(optionally followed by square brackets and then more dots).
+For example, ``res2'' is a copy of ``Monomer'' which is first rotated
+180 degrees around the X axis (denoted by ``1,0,0''),
+and \textbf{then} moved in the (3.2,0,0) direction.
+(The last three arguments to the ``rot()'' command
+ denote the axis of rotation, which does not have to be normalized.)
+(A list of available coordinate transformations
+is provided in section \ref{sec:xforms_table}.)
+
+\textit{(Note: Although we did not do this here,
+it is sometimes convenient to represent polymers as 1-dimensional arrays.
+See sections \ref{sec:arrays} and \ref{sec:random_arrays} for examples.)}
+
+To bond atoms in different molecules or molecular subunits together, we used
+the write(``Data Bonds'') command to append additional bonds to the system.
+
+%\subsubsection{Sharing atom, bond and angle types}
+%Normally you must separately define the parameters for all of the atoms types,
+%and bond types, angle types etc... in every type of molecule.
+%However different kinds of monomers in a heteropolymer typically will
+%share some common backbone atom types and other properties.
+%You must be careful to indicate which atom and bond types are shared between
+%different monomers by referring them using a ``../'' prefix.
+%(See sections \ref{sec:variable_scope},
+%\ref{sec:paths}, and
+%\ref{sec:butane} for details and examples.)
+%\textit{Note: There is a heteropolymer example in the the
+%``2bead\_heteropolymer/'' directory in the online examples.
+%This example demonstrates how to share backbone atoms, bonds, and angles.
+%You can also define specific angle or dihedral interactions which are
+%specific to the atom types in different residues.}
+
+
+\subsection{Bonded interactions \textit{by type}}
+\label{sec:nbody_by_type_intro}
+
+In this example we did \textit{not} provide a list of all 3-body
+and 4-body forces between bonded atoms in the polymer.
+(for example using the ``write\_once("Data Angles")'' command
+from section \ref{sec:spce_example},
+\textit{or}
+the ``write\_once("Data Dihedrals")'',
+or ``write\_once("Data Impropers")'' commands.)
+Instead we provided moltemplate.sh with instructions to help it figure out
+which atoms participate in 3-body and 4-body bonded interactions.
+Moltemplate can detect consecutively bonded atoms and
+determine the forces between them based on atom type.
+(Bond type can also be used as a criteria.)
+We did this in ``forcefield.lt'' using the
+\mbox{``write\_once("Data Angles By Type")''} and
+\mbox{``write\_once("Data Dihedrals By Type")''}
+commands.
+You can also generate improper interactions
+between any 4-atoms bonded together in a T-shaped topology
+using the ``write\_once("Impropers By Type")'' command.
+See appendix \ref{sec:nbody_by_type} for more details.
+\textit{(More general interactions are possible.
+ See appendix \ref{sec:nbody_by_type_custom}.)}
+
+ %\subsubsection*{\textit{(Advanced)} Order matters when sets overlap}
+ %Bonded-interactions are generated in the order they appear in the LT file.
+ %Interactions which are declared later may override the settings of
+ %interactions which appear earlier, such as in this example:
+ %\begin{verbatim}
+ % write_once("Data Angles By Type") {
+ % @angle:Backbone @atom:C* @atom:C* @atom:* @bond:* @bond:*
+ % @angle:Sidechain @atom:CA @atom:CA @atom:R @bond:* @bond:*
+ % }
+ %\end{verbatim}
+ % %Here the first line of this file creates a 3-body angle interaction
+ % %of type ``@angle:Backbone'' between \textit{every} triplet of bonded atoms
+ % %in the molecule whose first two atom types begin with the letter ``C''.
+ %The second line creates 3body interactions (of type ``@angle:Sidechain'')
+ %specifically between atoms of type ``@atom:CA'', ``@atom:CA'', and
+ %``@atom:R'', overriding any triplets of this type which appeared earlier.
+
+
+
+%\subsection*{\textit{(Advanced)} Mixing regular and ``By Type'' interactions}
+
+%If an LT file contains both ``Data Angles'' and ``Data Angles By Type'',
+%then the interactions explicitly defined in the ``Angles'' section will
+%always override the assignments made in ``Data Angles By Type''.
+%The also applies to Dihedrals and Impropers.
+
+ %\begin{verbatim}
+ %write("Data Angles") {
+ % $angle:1 @angle:CCCgeneral $atom:c1 $atom:c2 $atom:c3
+ % $angle:2 @angle:CCCgeneral $atom:c1 $atom:c3 $atom:c4
+ %}
+ %\end{verbatim}
+
+
+\section{Arrays, slices, and coordinate transformations}
+\label{sec:arrays}
+Moltemplate supports 1-dimensional, and multi-dimensional arrays.
+These can be used to create straight (or helical) polymers
+sheets, tubes, tori.
+They are also to fill solid 3-dimensional volumes
+with molecules or atoms.
+(See sections \ref{sec:coords_intro} and \ref{sec:multidimensional_arrays}.)
+
+Here we show an easier way to create the short polymer
+shown in section \ref{sec:2beadPeptide}.
+You can make 7 copies of the \textit{Monomer} molecule this way:
+\begin{verbatim}
+ res = new Monomer[7]
+\end{verbatim}
+This creates 7 new \textit{Monomer} molecules (named
+\mbox{\textit{res[0]}},
+\mbox{\textit{res[1]}},
+\mbox{\textit{res[2]}},
+\mbox{\textit{res[3]}}, ...
+\mbox{\textit{res[6]}}).
+Unfortunately, by default, the coordinates of each molecule are identical.
+To prevent the atom coordinates from overlapping, you have several choices:
+
+\subsection{Transformations following brackets [] in a new statement}
+\label{sec:arrays+xform}
+ After every square-bracket [] in a new command,
+you can specify a list of transformations to apply.
+For example, we could have generated atomic coordinates for the
+the short polymer in section \ref{sec:2beadPeptide}
+using this command:
+\begin{verbatim}
+ res = new Monomer [7].rot(180, 1,0,0).move(3.2,0,0)
+\end{verbatim}
+This will create 7 molecules.
+The coordinates of the first molecule \textit{res[0]} are will be unmodified.
+However each successive molecule will have its coordinates cumulatively
+modified by the commands ``rot(180, 1,0,0)'' followed by ``move(3.2,0,0)''.
+\subsubsection*{optional: initial customizations (preceding [] brackets)}
+\label{sec:xform+arrays+xform}
+You can also make adjustments to the initial coordinates of the molecule
+before it is copied, and before any of the array transformations are applied.
+For example:
+\begin{verbatim}
+ res = new Monomer.scale(1.5) [7].rot(180, 1,0,0).move(3.2,0,0)
+\end{verbatim}
+In this example, the ``scale(1.5)'' transformation is applied once to
+enlarge every \textit{Monomer} object initially.
+This will happen before any of the rotation and move commands
+are applied to build the polymer
+(so the 3.2 Angstrom spacings between each monomer will not be effected).
+
+\subsection{Transformations following instantiation}
+\label{sec:xform_after_instance}
+Alternately you apply transformations to a molecule
+after they have been created (even if they are part of an array).
+\begin{verbatim}
+ res = new Monomer [7]
+
+ # Again, the first line creates the molecules named
+ # "res[0]", "res[1]", "res[2]", "res[3]", ... "res[6]".
+ # The following lines move them into position.
+ res[1].rot(180.0, 1,0,0).move(3.2,0,0)
+ res[2].rot(360.0, 1,0,0).move(6.4,0,0)
+ res[3].rot(540.0, 1,0,0).move(9.6,0,0)
+ res[4].rot(720.0, 1,0,0).move(12.8,0,0)
+ res[5].rot(900.0, 1,0,0).move(16.0,0,0)
+ res[6].rot(1080.0, 1,0,0).move(19.2,0,0)
+\end{verbatim}
+
+\subsection{Transformation order (general case)}
+\label{sec:xform_order}
+A typical array of molecules might be instantiated this way:
+\begin{verbatim}
+mols = new Molecule.XFORMS1() [N].XFORMS2()
+mols[*].XFORMS3()
+\end{verbatim}
+The list of transformations denoted by ``XFORMS1'' in this example
+are applied to the molecule first.
+Then the transformations in ``XFORMS2'' are then applied to each
+copy of the molecule multiple times.
+(For the molecule with index ``$i$'', named ``Molecule[$i$]'',
+XFORMS2 will be applied $i$ times.)
+Finally after all the molecules have been created, the list
+of transformations in XFORMS3 will be applied.
+For example, to create a ring of 10 peptides of radius 30.0,
+centered at position (0,25,0), use this notation:
+\begin{verbatim}
+peptide_ring = new Peptide.move(0,30,0) [10].rot(36,1,0,0)
+ # After creating it, we can move the entire ring
+ # (These commands are applied last.)
+peptide_ring[*].move(0,25,0)
+\end{verbatim}
+
+
+\subsection{Random arrays}
+\label{sec:random_arrays}
+
+\begin{figure}[htbp]
+\centering
+\textbf{a)}
+\includegraphics[height=1.2cm]{random_2bead.jpg}
+\hspace{0.2cm}
+\textbf{b)}
+\includegraphics[height=0.75cm]{random_3bead.jpg}
+\hspace{0.2cm}
+\textbf{c)}
+\includegraphics[width=8cm]{random_heteropolymer.jpg}
+%\newline
+%\vspace{10 mm}
+%\newline
+\caption{
+\label{fig:random_heteropolymer}
+A random heteropolymer (\textbf{c}),
+composed of of \textit{Monomer} and \textit{Monomer3} monomer subunits
+(\textbf{a} and \textbf{b}) with (target) probabilities 0.6 and 0.4.
+(However, due to random fluctuations, the actual ratio
+ in this case was 68\% and 32\%.
+ To avoid this problem, see section \ref{sec:random_exact}.)
+}
+\end{figure}
+Arrays of random molecules can be generated using the
+\mbox{\textit{new random() []}} syntax. For example,
+below we define a random polymer composed of 50
+\textit{Monomer} and \textit{Monomer3} monomer subunits.
+(See figure \ref{fig:random_heteropolymer}.)
+\begin{verbatim}
+RandPoly50 inherits ForceField {
+ # Make a chain of randomly chosen monomers:
+
+ monomers = new random([Monomer, Monomer3], [0.6, 0.4], 123456)
+ [50].rot(180,1,0,0).move(2.95, 0, 0)
+
+ # Now, link the monomers together this way:
+ write("Data Bonds") {
+ $bond:bb1 @bond:Backbone $atom:monomers[0]/ca $atom:monomers[1]/ca
+ $bond:bb2 @bond:Backbone $atom:monomers[1]/ca $atom:monomers[2]/ca
+ $bond:bb3 @bond:Backbone $atom:monomers[2]/ca $atom:monomers[3]/ca
+ $bond:bb4 @bond:Backbone $atom:monomers[3]/ca $atom:monomers[4]/ca
+\end{verbatim}
+$\quad \quad \quad \vdots $
+% : : : :
+\begin{verbatim}
+ $bond:bb50 @bond:Backbone $atom:monomers[48]/ca $atom:monomers[49]/ca
+ }
+ #(Note: Both the "Monomer" and "Monomer3" subunits contain atoms
+ # named "$atom:ca".
+} #RandPoly50
+\end{verbatim}
+It is also possible to fill a 2 or 3-dimensional volume with
+molecules randomly. This is discussed in section
+\ref{sec:random_advanced}.
+
+%\textit{Note: To specify the exactly number of molecules of each type,
+%you can also use this notation (discussed below).}
+%\begin{verbatim}
+% monomers = new random([Monomer, Monomer3], [30, 20], 123456)
+% [50].rot(180,1,0,0).move(2.95, 0, 0)
+%\end{verbatim}
+
+
+The \mbox{\textit{new random()}} function takes 2 or 3 arguments:
+a list of molecule types
+(\mbox{\textit{Monomer}} and \mbox{\textit{Monomer3}} in this example),
+and a list of probabilities (\textit{0.6} and \textit{0.4})
+both enclosed in square-brackets [].
+
+\subsubsection{Random arrays with exact molecule type counts}
+\label{sec:random_exact}
+Recall that we requested that 60\% of the molecules be of type
+``Monomer'' and 40\% type ``Monomer3'' (corresponding to 30 and 20, respectively).
+However, the resulting polymer (shown in figure \ref{fig:random_heteropolymer})
+contains 34 ``Monomer'' and 16 ``Monomer3'' monomers (68\% and 34\%, respectively).
+This is because each time a monomer is created, a random number is generated
+to decide which type of monomer will be created.
+There is no guarantee that the total final fraction of monomers will
+match the target probabilities exactly (60\% and 40\%, respectively).
+To specify the number of molecule types precisely, you can replace
+the list of probabilities ``[0.6,0.4]''
+with a list of integers ``[30,20]''.
+\begin{verbatim}
+ monomers = new random([Monomer, Monomer3], [30, 20], 123456)
+ [50].rot(180,1,0,0).move(2.95, 0, 0)
+\end{verbatim}
+This will create exactly 30 ``Monomer'' and 20 ``Monomer3'' monomers.
+(You can do this with multidimensional arrays as well.
+See section \ref{sec:random_multidim_exact}.)
+%(In both case, the sum of the molecule type counts (30,20) must match the
+%number of molecules in the array being created.)
+
+
+\subsubsection*{Details regarding the \textit{new random} command:}
+
+\textit{Note:} You can tell moltemplate to customize the bond-types and
+ angles, depending on the (types of) monomers are connected
+ by each bond. The ``random\_heteropolymer'' example
+ downloadable at \url{www.moltemplate.org} demonstrates
+ how to do this.
+
+\textit{Note:}
+Although this example, there are only two monomer types
+(``Monomer'' and ``Monomer3''), there is no limit to the number
+of molecule types which appear in these lists (eg ``[Monomer, Monomer3, 4bead],[0.2,0.3,0.2]'')
+
+\textit{Note:}
+An optional random-seed argument can also be included.
+(For example the \mbox{\textit{``123456''}} shown above.
+ If you omit this number, then you will get different
+ results each time you run moltemplate.)
+
+\textit{Note:}
+These lists can also contain vacancies/blanks.
+See section \ref{sec:random_vacancies}.)
+
+\textit{Note:}
+Once a molecule containing random monomers is defined,
+(\mbox{\textit{``RandPoly50''}} in this example), each copy of that molecule
+(created using the \textit{new} command) is identical.
+
+\subsubsection*{Optional: Customizing molecule positions
+ in a \textit{random()} array}
+You can customize the position of each type of molecule in the array,
+before the array is constructed.
+To do this, you can add additional movement commands after
+each molecule's type name in the list (eg ``Monomer'' and ``Monomer3''):
+\begin{verbatim}
+ monomers = new random([Monomer.move(0,0.01,0),
+ Monomer3.move(0,-0.01,0)],
+ [30,20],
+ 123456)
+ [50].rot(180,1,0,0).move(2.95, 0, 0)
+\end{verbatim}
+The \mbox{\textit{.move(0,0.01,0)}} and \mbox{\textit{.move(0,-0.01,0)}}
+suffixes moves these monomers closer or further away from the
+polymer axis (the x axis in this example).
+This is not restricted to \mbox{\textit{.move()}} commands.
+(You can also use \mbox{\textit{.rot()}}, and \mbox{\textit{.scale()}}
+commands as well.)
+These moves will be applied (in order from left to right), \textit{before}
+any of the \mbox{\textit{.move()}} and \mbox{\textit{.rot()}}
+commands appearing later (following ``[50]'') are carried out.
+
+
+
+
+\subsection{[*] and [i-j] slice notation}
+\label{sec:array_wildcards_intro}
+You can move the entire array of molecules using ``[*]'' notation:
+\begin{verbatim}
+ res[*].move(0,0,40)
+\end{verbatim}
+(Note that ``res.move(0,0,40)'' does not work.
+ You must include the ``[*]''.)
+You can also use range limits to move only some of the residues:
+\begin{verbatim}
+ res[2-4].move(0,0,40)
+\end{verbatim}
+This will move only the third, fourth, and fifth residues.
+If you are more familiar with python's slice notation, you can
+accomplish the same thing using:
+\begin{verbatim}
+ res[2:5].move(0,0,40)
+\end{verbatim}
+(In this case, the second integer (eg ``5'') is interpreted as a
+ strict upper bound.)
+
+(If these customizations
+ are not enough for your needs, you can also always load atom
+coordinates from an external PDB or XYZ file.
+Such files can be generated by PACKMOL,
+or a variety of advanced graphical molecular modeling programs.
+For complex systems, this may be the best choice.)
+
+
+
+
+\subsubsection{Building arrays one interval at a time (using slice notation)}
+
+For a more complicated example, you can build polymers using slice notation.
+The example below demonstrates how to build a polymer,
+specifying which part is random, and and which part is not:
+
+\begin{verbatim}
+ monomers[0] = new Monomer3
+ monomers[1-48] = new random([Monomer, Monomer3], [30, 18], 123456)
+ [48].rot(180,1,0,0).move(2.95, 0, 0)
+ monomers[49] = new Monomer3
+ # It's a good idea to move these monomers to keep them from overlapping
+ monomers[0].rotate(180,1,0,0)
+ monomers[1-48].move(2.95,0,0)
+ monomers[49].move(144.55,0,0) #(note: 144.55=49*2.95)
+\end{verbatim}
+In this example, we insure that monomers[0] and monomers[49] are both
+of type ``Monomer3''
+(while keeping the total number of ``Monomer'' and ``Monomer3'' monomers at
+ 30 and 20, respectively).
+
+\textit{(Note: You can replace ``monomers[1-48]'' with
+``monomers[1:49]'', or ``monomers[1*48]'', if you prefer that syntax style.
+You can build multidimensional arrays using slice notation as well, for example
+``molecules[3][10-19][4-6] = new Molecule[10][3]'')}
+
+
+
+\subsection{Multidimensional arrays}
+\label{sec:multidimensional_arrays}
+The same techniques work with multidimensional arrays.
+Coordinate transformations can be applied to each layer
+in a multi-dimensional array.
+For example, to create a cubic lattice of 3x3x3 peptides:
+you would use this syntax:
+\begin{verbatim}
+molecules = new Peptide [3].move(30.0, 0, 0)
+ [3].move(0, 30.0, 0)
+ [3].move(0, 0, 30.0)
+\end{verbatim}
+(Similar commands can be used with rotations to generate objects
+with cylindrical, helical, conical, or toroidal symmetry.)
+
+\subsection{Customizing individual rows, columns, or layers}
+Similarly, you can customize the position of individual peptides,
+or layers or columns using the methods above:
+\begin{verbatim}
+molecules[1][*][*].move(0,20,0)
+molecules[*][1][*].move(0,0,20)
+molecules[*][*][1].move(20,0,0)
+\end{verbatim}
+See figure \ref{fig:2bead_peptide}c)
+\textit{(You can also use slice notation,
+ eg ``molecules[1][0-2][0-1].move(20,0,0)'')}
+
+You can delete part of an array and replace it with something else
+(eg \textit{``Lipid''})
+using slice notation:
+\begin{verbatim}
+delete molecules[0-1][1][1-2] # (shorthand for delete molecules[0][1][1]
+ # delete molecules[0][1][2]
+ # delete molecules[1][1][1]
+ # delete molecules[1][1][2])
+
+# Now replace the array elements we deleted:
+molecules[0-1][1][1-2] = new Lipid [2].move(30, 0.0, 0.0)
+ [2].move(0.0, 0.0, 30.0)
+
+# ...and move them back to the location of the vacancies we created
+molecules[0-1][1][1-2].move(0, 30.0, 30.0)
+\end{verbatim}
+\textit{The word ``Lipid'' in this example is not important.
+ It is the name of some other molecule type.}
+
+
+\subsection{Creating random mixtures using multidimensional arrays}
+\label{sec:random_advanced}
+You can use \mbox{\textit{``new random()''}} to fill space with
+a random mixture of molecules. The following 2-dimensional example
+creates a lipid bilayer (shown in figure \ref{fig:random_bilayer})
+composed of an equal mixture of
+DPPC and DLPC lipids. (...Whose definition we omit here.
+See the online examples for details.)
+\begin{verbatim}
+import "lipids" # define DPPC & DLPC
+lipids = new random([DPPC,DLPC], [0.5,0.5], 123) # "123"=random_seed
+ [19].move(7.5, 0, 0) # lattice spacing 7.5
+ [22].move(3.75, 6.49519, 0) # hexagonal lattice
+ [2].rot(180, 1, 0, 0) # 2 monolayers
+\end{verbatim}
+\begin{figure}[htbp]
+\centering
+\textbf{a)}
+\includegraphics[width=5cm]{lipid_bilayer_mixture.jpg}
+\hspace{0.5cm}
+\textbf{b)}
+\includegraphics[width=5cm]{lipid_bilayer_vacancies.jpg}
+%\newline
+%\vspace{10 mm}
+%\newline
+\caption{
+\label{fig:random_bilayer}
+A lipid bilayer membrane composed of a random equal mixture of
+two different lipid types in a 1:1 ratio.
+(See section \ref{sec:random_advanced}.)
+In \textbf{b)} one of the molecule types was left blank
+leaving vacancies behind.
+(See section \ref{sec:random_vacancies}.)
+}
+\end{figure}
+\subsection{Inserting random vacancies}
+\label{sec:random_vacancies}
+The list of molecule types passed to the \mbox{\textit{random()}} function
+may contain blanks. In the next example, 30\% of the lipids are missing:
+\begin{verbatim}
+lipids = new random([DPPC, ,DLPC], [0.35,0.3,0.35], 123) # 2nd element is blank
+ [19].move(7.5, 0, 0)
+ [22].move(3.75, 6.49519, 0)
+ [2].rot(180, 1, 0, 0)
+\end{verbatim}
+The results are shown in figure \ref{fig:random_bilayer}b).
+\textit{(Note: When this happens, the array will contain missing elements.
+ Any attempt to access the atoms inside these missing molecules will
+ generate an error message,
+ however moving or deleting array entries
+ using [*] or [i-j] notation should be safe.)}
+
+\subsubsection{Random multidimensional arrays with exact type counts}
+\label{sec:random_multidim_exact}
+Due to random fluctuations the number of DPPC and DLPC lipids created
+may not equal exactly 0.35 $\times$ of the number of entries in the array,
+
+Alternately, you can specify the exact number of DPPC and DLPC molecules
+you desire (as opposed to a list of probabilities).
+To do this, replace the list of probabilities with integers:
+\begin{verbatim}
+lipids = new random([DPPC, ,DLPC], [293,250,293], 123)
+ [19].move(7.5, 0, 0)
+ [22].move(3.75, 6.49519, 0)
+ [2].rot(180, 1, 0, 0)
+\end{verbatim}
+This will generate exactly 293 DPPC and DLPC molecules
+(and 250 \textit{blank} entries,
+since the second molecule type was unspecified).
+The sum (ie 293+250+293) must equal the number of entries in the
+array you are creating (ie 19x22x2).
+
+\subsection{Cutting rectangular holes using \textbf{delete}}
+\label{sec:delete_holes}
+The delete command can be used to cut large holes in
+1, 2, and 3-dimensional objects.
+For example, consider a simple 3-dimensional 12x12x12 cube of molecules.
+(For simplicity, each ``molecule'' in this example contains only one atom.
+ These atoms appear as blue spheres in figure \ref{fig:delete_holes}.)
+\begin{verbatim}
+molecules = new OneAtomMolecule [12].move(3.0,0,0)
+ [12].move(0,3.0,0)
+ [12].move(0,0,3.0)
+\end{verbatim}
+Then, we cut out some rectangular vacancies:
+ %The first two commands below delete two layers of molecules
+ %near the top and bottom of the cube.
+ %The last command deletes a rectangular box of molecules near the center.
+\begin{verbatim}
+delete molecules[*][*][2]
+delete molecules[*][*][8]
+delete molecules[6-7][0-8][5-6]
+\end{verbatim}
+The result of these operations is shown in figure
+\ref{fig:delete_holes}.
+\textit{(Note: You may move or delete previously deleted array elements
+ more than once, and/or deleting overlapping rectangular regions
+ without error.)}
+
+\begin{figure}[htbp]
+\centering
+\includegraphics[width=4.0cm]{delete_holes1.jpg}
+\caption{
+\label{fig:delete_holes}
+Rectangular holes can be carved out of an array of molecules
+(represented here by blue spheres)
+using the ``delete'' command. Three delete commands were used to
+remove the two planar regions and the rectangular hole in the center.
+}
+\end{figure}
+
+
+
+
+
+
+\section{Customizing molecule position and topology}
+\label{sec:custom_xform}
+By default, each copy of a molecule created using the \textit{new}
+command is identical. This need not be the case.
+
+As discussed in section \ref{sec:xform_after_instance},
+individual molecules which were recently created
+can be moved, rotated, and scaled.
+You can also overwrite or delete individual atoms,
+bonds, and other interactions within a molecule, or their subunits.
+(See sections
+\ref{sec:delete_atoms_bonds},
+\ref{sec:custom_atom}, and \ref{sec:adding_atoms_bonds}.)
+You make any of these modifications to \textit{some} copies
+of the molecule without effecting other copies.
+Furthermore, if those molecules are compound objects
+(if they contain individual molecular subunits within them),
+then you can rearrange the positions of their subunits as well.
+And all of this can be done from anywhere else in the LT file.
+ %\textit{(The notation in section \ref{sec:paths} explains
+ % how to navigate the object hierarchy.)}
+
+For example, suppose we used the ``Peptide'' molecule we defined above
+to create a larger, more complex ``Dimer'' molecule.
+\begin{verbatim}
+Dimer {
+ peptides[0] = new Peptide
+ peptides[1] = new Peptide.rot(180,1,0,0).move(0, 12.4, 0)
+}
+dimer = new Dimer
+\end{verbatim}
+The \textit{Dimer} molecule is shown in figure \ref{fig:dimers}a).
+\textit{Optional: If you want all the atoms in a ``Dimer'' to share the same molecule-ID,
+then define ``Dimer'' this way:}
+\begin{verbatim}
+Dimer inherits ForceField {
+ create_var { $mol }
+ peptides[0] = new Peptide
+ peptides[1] = new Peptide.rot(180,1,0,0).move(0, 12.4, 0)
+}
+\end{verbatim}
+\textit{For this to work, you must also delete the
+ \mbox{\textit{``create\_var \{\$mol:.\}''}} line from
+ the definition of the Peptide molecule. See section \ref{sec:2bead}.}
+
+
+We can subsquently customize the position of the 3rd residue
+of the second peptide this way:
+\begin{verbatim}
+dimer/peptides[1]/res[2].move(0,0.2,0.6)
+\end{verbatim}
+
+This does not effect the position of \textit{res[2]} in \textit{peptides[0]}.
+(or in any other \textit{``Peptide''} or \textit{``Dimer''} molecule.)
+If you want to move both residues, you could use a wildcard character ``*''
+\begin{verbatim}
+dimer/peptides[*]/res[2].move(0,0.2,0.6)
+\end{verbatim}
+(You can also use ranged (slice) notation, such as ``peptides[0-1]'',
+ as an alternative to ``peptides[*]''.
+See section \ref{sec:array_wildcards_intro}.
+
+To make changes that apply to every subsequently created \textit{``Peptide''} or
+\textit{``Dimer''} molecule, see section \ref{sec:molecule_customization}.)
+
+
+\subsection{Customizing individual atom locations}
+\label{sec:custom_atom}
+The ``move'' or ``rot'' commands can not be used to control the positions
+of \textit{individual atoms}.
+Instead simply overwrite their coordinates this way:
+%$atom:dimer/peptides[0]/res[2]/CA $mol:dimer/peptides[1] @atom:R 0 6.4 8.0 0
+\begin{verbatim}
+write("Data Atoms") {
+ $atom:dimer/peptides[0]/res[2]/ca $mol:... @atom:R 0 6.4 8.2 0.6
+}
+\end{verbatim}
+
+\subsection{Adding bonds and angles to individual molecules}
+\label{sec:adding_atoms_bonds}
+Adding additional bonds within a molecule can be accomplished
+by writing additional lines of text to the ``Data Bonds'' section.
+(This is what we did when we added bonds between residues to create a polymer
+ in section \ref{sec:2beadPeptide}.)
+Again, bonds and atom names must be referred to by their \textit{full} names.
+Bonds and bonded interactions can be deleted using the ``delete'' command.
+(See section \ref{sec:delete}.)
+
+
+\subsection{The \textbf{delete} command}
+\label{sec:delete}
+
+\subsubsection{Deleting molecules or molecular subunits}
+Molecules can be further customized by deleting
+individual atoms, bonds, bonded-interactions, and entire subunits.
+We can \textbf{delete} the 3rd residue of the second peptide,
+use the ``delete'' command:
+\begin{verbatim}
+delete dimer/peptides[1]/res[2]
+\end{verbatim}
+
+\subsubsection{Deleting atoms, bonds, angles, dihedrals, and impropers}
+\label{sec:delete_atoms_bonds}
+Individual atoms or bonds can be deleted in a similar way:
+\begin{verbatim}
+delete dimer/peptides[1]/res[3]/ca #<-- deletes the "ca" atom
+delete dimer/peptides[1]/res[4]/cr #<-- deletes the "cr" bond
+\end{verbatim}
+Whenever an atom or a molecule is deleted, the bonds, angles, dihedrals,
+and improper interactions involving those atoms are deleted as well.
+\textit{Note: You must omit the ``\$'' character when deleting atoms,
+bonds, or angles, as we did in the two lines above).}
+
+
+ %\textit{(In fact, any lines of text in any ``write()'' statement
+ %containing references to deleted atoms are omitted.
+
+When a bond is deleted, any angular, dihedral, or improper
+interactions which were \textit{automatically}
+generated by moltemplate are removed as well.
+(However other bonded interactions explicitly listed by the user in their
+``Data Angles'', ``Data Dihedrals'', or ``Data Impropers'' sections
+are not removed. These need to be deleted manually.)
+
+Multiple molecules can moved or deleted in a single command. For example,
+the following command deletes the third, fourth, and fifth residues from
+both peptides[0] and peptides[1]:
+\begin{verbatim}
+delete dimer/peptides[*]/res[2-4]
+\end{verbatim}
+See section \ref{sec:array_wildcards_intro} for an
+explanation of ranged (``[2-4]'') array notation,
+and wildcard characters (``*'').
+
+\textit{Minor bug notice:
+Deleting atoms or molecules may cause
+inaccuracies in the \$atoms, \$bonds, \$angles, \$dihedrals, and \$impropers
+sections of the ``ttree\_assignments.txt'' file.
+(If this is a problem, please email me. -Andrew 2014-12-09.)
+Fortunately, this should not harm the resulting LAMMPS data files or input
+scripts generated by moltemplate. They should still work with LAMMPS.}
+
+\textit{WARNING: The \textbf{delete} feature is experimental.
+There have been a few bugs in the \textbf{delete} command, but by 2014-12-09
+these should be fixed. Please report any problems you find.
+As always, be sure to visualize your structures
+to make sure they look reasonable.
+(...by running moltemplate.sh using the
+ ``-vmd'' command line option, for example.
+ See sections \ref{sec:vmd_topotools}, \ref{sec:vmd_advanced} for details.)}
+%\textit{\textbf{BUG Warning:}
+%As of 2014-4-02, delete does not always work
+%when the deleted molecule is both bonded to other molecules,
+%and when it contains sub-molecules of it's own.
+%The temporary work-around is simply to avoid connecting bonds to any molecule
+%which you plan to delete later. I plan to fix this bug eventually.
+%}
+
+
+
+ %\subsubsection*{The context() modifier.}
+ %\textit{THIS FEATURE DOES NOT WORK YET AS OF 2012-5}
+ %By default, this transformations is applied relative
+ %to the coordinate system in which the command was given.
+ %In other words, this command will move the third
+ %residue of peptides[1] in the +Y direction
+ %regardless of the direction that the molecule ``res[2]'' is facing.
+ %Alternately, if we want to apply this transformation
+ %in peptides[1]'s local coordinate system,
+ %we would use the context(peptides[1]) command:
+ %\begin{verbatim}
+ %dimer2/peptides[1]/res[2].context(peptides[1]).move(0,1,0)
+ %\end{verbatim}
+
+
+%\subsubsection*{Examples using center-of-mass coordinate transformations}
+%\textit{WARNING: experimental feature 2012-3-31}
+%
+%You can also center a molecule around it's center-of-mass using ``movecm()'',
+%rotate it, and then move it this way:
+%\begin{verbatim}
+%re6s = new Monomer.movecm(0,0,0).rot(180.0, 1,0,0).move(14.2, 0, 0)
+%\end{verbatim}
+%By default all rotations are about the origin, not the center-of-mass.
+%You can also rotate a molecule around it's center-of-mass using ``rotcm()''
+%(without centering it first), and them move the molecule this way:
+%\begin{verbatim}
+%res6 = new Monomer.rotcm(180.0, 1,0,0).move(14.2, 0, 0)
+%\end{verbatim}
+
+
+\subsection{Customizing molecule \textit{types}}
+\label{sec:molecule_customization}
+You can create modified versions of existing molecule \textit{types},
+without having to redefine the entire molecule. For example:
+\begin{verbatim}
+Dimer0 = Dimer.move(-9.6,-6.2, 0).scale(0.3125)
+\end{verbatim}
+or equivalently:
+\begin{verbatim}
+Dimer0 = Dimer
+Dimer0.move(-9.6,-6.2, 0).scale(0.3125)
+\end{verbatim}
+This creates a new type of molecule named ``Dimer0'' whose
+coordinates have been centered and rescaled.
+(Note that the ``scale()'' command only effects the atomic coordinates.
+(You will have to override earlier force field settings,
+such as atomic radii and bond-lengths in order for this to work properly.)
+If we want to make additional customizations
+(such as adding atoms, bonds, or molecular subunits), we could use this syntax:
+\begin{verbatim}
+Dimer0 = Dimer
+
+# Add some new atoms connecting the two peptides in the dimer
+
+Dimer0 inherits ForceField {
+ write("Data Atoms") {
+ $atom:t1 $mol:. @atom:CA 0.0 23.0 0.0 0.0
+ $atom:t2 $mol:. @atom:CA 0.0 24.7 4.0 0.0
+ $atom:t3 $mol:. @atom:CA 0.0 24.7 8.4 0.0
+ $atom:t4 $mol:. @atom:CA 0.0 23.0 12.4 0.0
+ }
+ write("Data Bonds") {
+ $bond:b1 @bond:Backbone $atom:peptides[0]/res7/CA $atom:t1
+ $bond:b2 @bond:Backbone $atom:t1 $atom:t2
+ $bond:b3 @bond:Backbone $atom:t2 $atom:t3
+ $bond:b4 @bond:Backbone $atom:t3 $atom:t4
+ $bond:b5 @bond:Backbone $atom:t4 $atom:peptides[1]/res7/ca
+ }
+}
+
+# Center and rescale the atoms in all "Dimer0"
+Dimer0.move(-9.6,-6.2, 0).scale(0.3125)
+\end{verbatim}
+The result of these modifications is shown in figure \ref{fig:dimers}b).
+\begin{figure}[htbp]
+\centering
+\textbf{a)}
+\includegraphics[height=3cm]{dimer_LR.jpg}
+\hspace{1cm}
+\textbf{b)}
+\includegraphics[height=3cm]{dimer+dimer0_transparent_LR.jpg}
+%\newline
+%\vspace{10 mm}
+%\newline
+\caption{
+\label{fig:dimers}
+\textbf{a)}
+The ``Dimer'' molecule. This is a contrived example consisting of
+two ``Peptides''. See section \ref{sec:2beadPeptide}
+\textbf{b)}
+A customized version of the ``Dimer'' molecule.
+(The original ``Dimer'' is shown faded in the background for comparison.)
+}
+\end{figure}
+
+ %\textit{Note1: Coordinate transformations applied to entire
+ %molecule types are an experimental feature as of 2013-4-07.)
+ %SINCE THEN THIS FEATURE HAS BEEN TESTED. IT SEEMS TO WORK.
+
+
+\textit{Note: These coordinate transformations will be
+applied \textbf{after} the molecule is constructed.
+(If you add atoms to the molecule, these will be added before
+the coordinate transformations are applied,
+even if you issue the command later.)
+Consequently, to make things clear,
+I recommend placing the coordinate transforms applied to
+an entire molecule type \textbf{after} all of its internal details
+(bonds, atoms, subunits) have been declared, as we did here.}
+
+\subsubsection*{\textit{(Advanced)} Inheritance}
+\label{sec:inheritance_intro}
+The \textit{Dimer0} molecule is a type of \textit{Dimer} molecule.
+For those who are familiar with programming,
+relationships like this are analogous to the relationship
+between parent and child objects in an object-oriented programming language.
+ %What we have done is equivalent to saying that
+ %\textit{Dimer0} inherits from \textit{Dimer}.
+More general kinds of inheritance are supported by moltemplate
+and are discussed in section \ref{sec:inheritance}.
+
+\subsubsection*{\textit{(Advanced)} Multiple Inheritance}
+If we wanted, we could have created a new molecule type
+(like \textit{``Dimer0''})
+which includes atom types and features from
+\textit{multiple} different types of molecules.
+Section \ref{sec:inheritance} mentions one way to do this
+and section \ref{sec:inheritance_vs_object_composition}
+discusses alternate approaches.
+
+
+
+
+
+
+
+
+\section*{Advanced moltemplate usage}
+
+
+
+\section{Portability: Using \textit{LT files} for force-field storage}
+\label{sec:spce_example_robust}
+The ``.LT'' format is a flexible file format
+for storing force field parameters in LAMMPS.
+If you want to share your ``.LT'' file with others, it's
+not safe to assume that all interactions use the same standard formula.
+
+\subsection{Mixing molecule types}
+LAMMPS has the ability to combine molecules using multiple different
+force-field styles together using.
+ %Atoms of one type may interact with
+ %each other using inexpensive Lennard-Jones potentials.
+ %Other atoms in the same simulation
+ %may interact using tabulated potentials,
+ %orientation-dependent ellipsoidal potentials,
+ %or even more complex 3-body forces (for example).
+ %Each of these different force-fields is calculated
+ %using code from different source files.
+ %LAMMPS is popular among users who add
+ %their own custom source files.
+In section \ref{sec:spce_example},
+we provided an example of an SPCE water molecule model.
+This example was simple to understand.
+However, as written, it would be impossible to combine this definition of water
+with other molecules which don't share the same simple bond or angle styles.
+For example, we used harmonic restoring forces to preserve the water angle
+at $109.47^\circ$, but other users may want to mix this SPCE water with a small
+number of molecules which use a more complicated angular potential formula,
+or tabular angle potentials.
+Using the ``hybrid'' keyword, you can avoid this limitation.
+ %being limited to one particular
+ %formula to describe all of the bonds, angles, dihedrals
+ %(and pair and improper) interactions.
+A more robust example is included below.
+
+\begin{verbatim}
+# file "spce.lt"
+#
+# H1 H2
+# \ /
+# O
+
+SPCE {
+
+ write_once("In Init") {
+ # -- Default styles (for solo "SPCE" water) --
+ units real
+ atom_style full
+ pair_style hybrid lj/charmm/coul/long 9.0 10.0 10.0
+ bond_style hybrid harmonic
+ angle_style hybrid harmonic
+ kspace_style pppm 0.0001
+ pair_modify mix arithmetic
+ }
+
+ # AtomID MolID("."=this) AtomType charge coordX coordY coordZ
+ write("Data Atoms") {
+ $atom:O $mol:. @atom:O -0.8476 0.0000000 0.00000 0.000000
+ $atom:H1 $mol:. @atom:H 0.4238 0.8164904 0.00000 0.5773590
+ $atom:H2 $mol:. @atom:H 0.4238 -0.8164904 0.00000 0.5773590
+ }
+
+ # atom-type Mass
+ write_once("Data Masses") {
+ @atom:O 15.9994
+ @atom:H 1.008
+ }
+
+ # -- Forces between atoms (non-bonded) --
+
+ # atomTypeI atomTypeJ pair-style-name parameter-list
+ write("In Settings") {
+ pair_coeff @atom:O @atom:O lj/charmm/coul/long 0.1553 3.166
+ pair_coeff @atom:H @atom:H lj/charmm/coul/long 0.0 2.058
+ }
+
+ # -- Forces between atoms (bonded) --
+
+ # bond-id bond-type atom-id1 atom-id2
+ write("Data Bonds") {
+ $bond:oh1 @bond:OH $atom:O $atom:H1
+ $bond:oh2 @bond:OH $atom:O $atom:H2
+ }
+
+ # bond-type bond-style-name parameter-list
+ write("In Settings") {
+ bond_coeff @bond:OH harmonic 200.0 1.0
+ }
+
+ # angle-id angle-type atom-id1 atom-id2 atom-id3
+ write("Data Angles") {
+ $angle:hoh @angle:HOH $atom:H1 $atom:O $atom:H2
+ }
+
+ # angle-type angle-style-name parameter-list
+ write("In Settings) {
+ angle_coeff @angle:HOH harmonic 200.0 109.47
+ }
+
+ # miscellaneous
+ write_once("In Settings") {
+ group spce type @atom:O @atom:H
+ fix fSHAKE spce shake 0.0001 10 100 b @bond:OH a @angle:HOH
+ # (Remember to "unfix" fSHAKE during minimization.)
+ }
+
+} # SPCE
+\end{verbatim}
+There are two differences between this molecule definition
+and the ``spce\_simple.lt'' example from section
+\ref{sec:spce_example}:
+
+\subsubsection*{Hybrid force field styles}
+ %Each one of these ``\_style'' commands above contains the
+ %``hybrid'' keyword, and followed by a single force-field style
+ %(such as ``harmonic'', or ``lj/charmm/coul/long'').
+To experienced LAMMPS users, it may seem strange
+that in this example that we have chosen ``hybrid''
+styles followed by only one force-field style (``harmonic'').
+ %This is due to a quirk in the way LAMMPS reads input script files:
+ %We do this so that we later have the option to customize
+ %the force field style for every
+ %pair\_coeff,
+ %bond\_coeff,
+ %angle\_coeff,
+ %dihedral\_coeff,
+ %and improper\_coeff command.
+ %This syntax is only allowed when using ``hybrid'' styles.
+ %It's nice to have the option to be able to
+ %customize force-field style after every interaction.
+ %Again, we don't need to do that if we are only simulating water,
+ %it might be necessary if we are combining SPCE water with other
+ %molecule types which use different styles.
+However this will make your molecule easier to share with others.
+When other people use your LT file, they can override these
+styles as explained in section \ref{sec:overriding_styles}.
+
+%\subsection{Include a default style:}
+%LAMMPS requires users to include
+%``atom\_style'',``bond\_style'', ``angle\_style''
+%commands in the ``Init'' section
+%(which is part of the LAMMPS input script).
+%We did this at the beginning of the definition of the ``SPCE'' molecule.
+%The bond and angle styles may clash with the force-field styles
+%used by other molecules we might want to interact with.
+%Presumably the final list of styles will be specified later on by the users
+%who include our ``spce.lt'' molecular file into their simulations,
+%overriding our settings.
+%However it's always a good idea to provide a list of \textit{default styles}
+%just in case they don't.
+
+%\subsubsection*{Splitting molecule definitions into multiple files.}
+%Alternately, we could eliminate the ``In Init'' section from our
+%``spce.lt'' file and create another LT file containing the following
+%additional text:
+% %# -- All settings below are optional and can be overridden later.--
+%\begin{verbatim}
+%# file "spce_defaultstyles.lt"
+%SPCE { # <-- Append additional content to the "SPCE" molecule
+% write_once("In Init") {
+% # -- Default styles (for solo "SPCE" water) --
+% units real
+% atom_style full
+% pair_style hybrid lj/charmm/coul/long 9.0 10.0 10.0
+% bond_style hybrid harmonic
+% angle_style hybrid harmonic
+% kspace_style pppm 0.0001
+% pair_modify mix arithmetic
+% }
+%}
+%\end{verbatim}
+%\textit{
+%(Note that additional ``SPCE \{...\}'' wrapper
+%merely appends additional content
+%to the ``SPCE'' molecule defined in ``spce.lt''.
+%This does not overwrite SPCE.)
+%}
+%Splitting up a molecule into multiple files is usually
+%not necessary, especially for small molecules.
+
+
+ %(We note that it is necessary to include the ``hybrid'' keyword in the
+ %``pair\_style'' and ``bond\_style'' commands because this changes the syntax
+ %of the ``pair\_coeffs'', ``bond\_coeffs'', and other ``coeffs'' commands.)
+
+
+
+\subsection{Combining molecules with different force field styles}
+\label{sec:overriding_styles}
+\textit{Later on}, if a user wants to combine the SPCE water molecule
+with another molecule which uses a tabular pair\_style (for example),
+they would have to specify the complete hybrid pair\_style in the
+``Init'' section of their LT file. For example:
+\begin{verbatim}
+import "spce.lt"
+import "other_molecule.lt"
+
+write_once("In Init") {
+ pair_style hybrid lj/charmm/coul/long 9 10 10 table spline 1000
+}
+\end{verbatim}
+Note: By placing the ``write\_once("In Init")\{ \}'' statement
+\textit{after} ``import "spce.lt"'', this insures that
+the pair\_style commands issued here will override the
+pair\_style commands issued earlier ``spce.lt''.
+% bond_style hybrid harmonic nonlinear
+% angle_style hybrid harmonic cosine/periodic
+This allows moltemplate users users to combine their molecules
+``spce.lt'' file shown here
+with other template files without modification
+(assuming the atom styles match).
+
+
+\subsubsection*{Warning: Force-field parameters belong in ``In Settings'', not ``Data''}
+
+LAMMPS allows users to store force-field parameters (``Coeffs'') in two places:
+a DATA file, \textit{or} an INPUT script.
+Similarly, moltemplate technicaly allows you to store these parameters in
+in the ``Data'' sections of your .LT file:
+\begin{list}{}
+\item write\_once("Data Pair Coeffs")
+\item write\_once("Data Bond Coeffs")
+\item write\_once("Data Angle Coeffs")
+\item write\_once("Data Dihedral Coeffs")
+\item write\_once("Data Improper Coeffs")
+\item
+\end{list}
+
+\textit{However, for portability reasons, this is discouraged.}
+Instead, declare your force field parameters
+as we do in this manual,
+using the corresponding input script commands.
+(For example, ``pair\_coeff'', ``bond\_coeff'', ``angle\_coeff'',
+ ``dihedral\_coeff'', and ``improper\_coeff''.
+As in the examples, all of these commands belong in the
+``write\_once("In Settings")'' sections of your .LT files.)
+
+
+\subsection{Nesting}
+\label{sec:nesting}
+Molecule names such as ``Solvent'' (or even ``Water'')
+are short and easy to type, but are vague and are not portable.
+If you use common, generic molecule names, you will not be able
+to combine your molecule templates with templates written
+by others (without carefully checking for naming conflicts).
+LT files were meant to be used for storing
+and exchanging libraries of different molecule types.
+
+Suppose, for example, that you want to run a simulation consisting of
+different molecule types, each of which belong to different LT files.
+Suppose two of the LT files both happen to contain definitions for
+``Water''.
+Moltemplate does not detect these name clashes automatically
+and instead attempts to merge the two versions of ``Water'' together,
+(most likely creating a molecule with 6 atoms instead of 3).
+This is presumably not what you want.
+
+As the number of molecule types grows,
+the possibility of naming clashes increases.
+As the behavior of the same molecule can be approximated
+using many different force fields,
+one has to be careful to avoid clashing molecule names.
+
+To alleviate the problem, you can ``nest'' your
+molecules inside the definition of other molecules or
+namespace objects.
+This reduces the scope in which your molecule is defined.
+See section \ref{sec:butane} for an example.
+
+
+\subsection{A simple force-field example}
+Force-field parameters can be shared by groups of related molecules.
+In the example below, we create an object named ``TraPPE''.
+Later we use it to define a new molecule named ``Cyclopentane''.
+
+The following example defines a coarse-grained (united-atom)
+version of a ``cyclopentane'' molecule. (Hydrogen atoms have been omitted.)
+In this example, only the atom types (and positions) and the bonds
+connecting them need to be specified.
+The interactions between them are determined automatically
+by the settings in the force-field file ``trappe1998.lt''.
+\begin{verbatim}
+import "trappe1998.lt"
+
+cyclopentane {
+
+ # AtomID MolID('.'=this) AtomType charge coordX coordY coordZ
+ write("Data Atoms") {
+ $atom:c1 $mol:. @atom:TraPPE/CH2 0.0 0.0000 0.000000000 1.0000000
+ $atom:c2 $mol:. @atom:TraPPE/CH2 0.0 0.0000 0.951056516 0.3090170
+ $atom:c3 $mol:. @atom:TraPPE/CH2 0.0 0.0000 0.587785252 -0.809017
+ $atom:c4 $mol:. @atom:TraPPE/CH2 0.0 0.0000 -0.587785252 -0.809017
+ $atom:c5 $mol:. @atom:TraPPE/CH2 0.0 0.0000 -0.951056516 0.3090170
+ }
+
+ write("Data Bonds") {
+ $bond:bond1 @bond:TraPPE/CC $atom:c1 $atom:c2
+ $bond:bond2 @bond:TraPPE/CC $atom:c2 $atom:c3
+ $bond:bond3 @bond:TraPPE/CC $atom:c3 $atom:c4
+ $bond:bond4 @bond:TraPPE/CC $atom:c4 $atom:c5
+ $bond:bond5 @bond:TraPPE/CC $atom:c5 $atom:c1
+ }
+}
+\end{verbatim}
+(The ``TraPPE/'' is explained below.)
+We can create copies of this molecule in the same way we did with SPCE:
+\begin{verbatim}
+# A cubic lattice of 125 cyclopentane molecules (12-angstrom spacing)
+mols = new Cyclopentane [5].move(0,0,12) [5].move(0,12,0) [5].move(12,0,0)
+\end{verbatim}
+Unlike the SPCE example, we don't have to specify all of the interactions
+between these atoms because the atom and bond types (CH2, CC).
+match the type-names defined in the ``trappe1998.lt'' file.
+This file contains a collection of atom types and
+force-field parameters for coarse-grained hydrocarbon chains.
+(See \cite{TraPPE} for details.)
+This way, the ``CH2'' atoms in cyclopentane will interact with,
+and behave identically to any ``CH2'' atom from any other molecule
+which uses the TraPPE force field.
+(The same is true for other atom types, and interaction-types
+ which are specific to ``TraPPE'', such as
+``@atom:TraPPE/CH3'', ``@bond:TraPPE/CC'', etc...
+ %\textit{Note:} By default, all variables are \textit{local} variables.
+Another molecule which uses the TraPPE force field is discussed
+later in section \ref{sec:butane}.)
+The important parts of the ``trappe1998.lt'' file are shown below:
+\subsubsection{Namespace example}
+\label{sec:trappe}
+\begin{verbatim}
+# -- file "trappe1998.lt" --
+
+TraPPE {
+ write_once("Data Masses") {
+ @atom:CH2 14.1707
+ @atom:CH3 15.2507
+ }
+ write_once("In Settings") {
+ bond_coeff @bond:CC harmonic 120.0 1.54
+ angle_coeff @angle:CCC harmonic 62.0022 114
+ dihedral_coeff @dihedral:CCCC opls 1.411036 -0.271016 3.145034 0.0
+ pair_coeff @atom:CH2 @atom:CH2 lj/charmm/coul/charmm 0.091411522 3.95
+ pair_coeff @atom:CH3 @atom:CH3 lj/charmm/coul/charmm 0.194746286 3.75
+ # (Interactions between different atom types use mixing rules.)
+ # (Hybrid styles were used for portability.)
+ }
+ write_once("Data Angles By Type") {
+ @angle:CCC @atom:C* @atom:C* @atom:C* @bond:CC @bond:CC
+ }
+ write_once("Data Dihedrals By Type") {
+ @dihedral:CCCC @atom:C* @atom:C* @atom:C* @atom:C* @bond:CC @bond:CC @bond:CC
+ }
+}
+\end{verbatim}
+In addition to the atom-type names and masses,
+this file stores the force-field parameters (coeffs) for the
+interactions between them.
+
+\subsubsection*{Bonded interactions \textit{by type}}
+Again, the ``Data Angles By Type'' and ``Data Dihedrals By Type'' sections
+tell moltemplate.sh that bonded 3-body and 4-body interactions exist between
+any 3 or 4 consecutively bonded carbon atoms (of type CH2, CH3, or CH4)
+assuming they are bonded using ``CC'' (saturated) bonds.
+The ``*'' character is a wild-card.
+``C*'' matches ``CH2'', ``CH3'', and ``CH4''.
+(Bond-types can be omitted or replaced with wild-cards ``@bond:*''.)
+
+%(moltemplate.sh can automatically generate bonded angle, dihedral, and improper
+%interactions between bonded atoms according to their \textit{type}
+%as well as bond type connecting them.
+%Note: The syntax used in the ``Data Angles By Type'' and ``Data Dihedrals By Type''
+%sections is explained in more detail in appendix \ref{sec:nbody_by_type}.
+%
+%The ability to specify interactions by atom type instead of atom ID hardly
+%matters for the simple water molecule example above but it is useful for
+%large molecules. However it makes the LT file format useful for storing
+%force-field parameters. It allows local interactions to be specified between
+%atoms in complicated molecules which have not been defined yet, (based on
+%their local connectivity and atom type).
+
+
+
+\subsubsection*{Namespaces and nesting:}
+Names like ``CH2'' and ``CC'' are extremely common.
+To avoid confusing them with similarly named atoms and bonds
+in other molecules, we enclose them (``nest'' them) within a
+\textit{namespace} (``TraPPE'', in this example).
+Unlike ``SPCE'' and ``Cyclopentane'', ``TraPPE'' is not a molecule.
+It is just a container of atom types, bond-types and
+force-field parameters shared by other molecules.
+We do this to distinguish them from other atoms and bonds
+which have the same name, but mean something else.
+Elsewhere we can refer to these atom/bond types as
+``@atom:TraPPE/CH2'' and ``@bond:TraPPE/CC''.
+(You can also avoid repeating the cumbersome ``TraPPE/'' prefix
+ for molecules defined within the TraPPE namespace.
+ For example, see section \ref{sec:butane}.)
+
+
+
+
+
+\subsection{Nested molecules}
+\label{sec:butane}
+Earlier in section \ref{sec:trappe}, we created an object named ``TraPPE''
+and used it to create a molecule named ``Cyclopentane''.
+Here we use it to demonstrate nesting.
+Suppose we define a new molecule ``Butane'' consisting of 4 coarse-grained
+(united-atom) carbon-like beads, whose types are named ``CH2'' and ``CH3''.
+\begin{verbatim}
+# -- file "trappe_butane.lt" --
+
+import "trappe1998.lt"
+
+Butane {
+ write("Data Atoms"){
+ $atom:c1 $mol:. @atom:TraPPE/CH3 0.0 0.419372 0.000 -1.937329
+ $atom:c2 $mol:. @atom:TraPPE/CH2 0.0 -0.419372 0.000 -0.645776
+ $atom:c3 $mol:. @atom:TraPPE/CH2 0.0 0.419372 0.000 0.645776
+ $atom:c4 $mol:. @atom:TraPPE/CH3 0.0 -0.419372 0.0000 1.937329
+ }
+ write("Data Bonds"){
+ $bond:b1 @bond:TraPPE/CC $atom:c1 $atom:c2
+ $bond:b2 @bond:TraPPE/CC $atom:c2 $atom:c3
+ $bond:b3 @bond:TraPPE/CC $atom:c3 $atom:c4
+ }
+}
+\end{verbatim}
+ %Note that we inserted ``../TraPPE/'' prefix before ``CH2'', for example,
+ %to inform moltemplate/ttree that we want to use the ``CH2''
+ %atom that defined inside ``../TraPPE''.
+ %(This is the same thing we did in section \ref{sec:trappe}.)
+ %The ``../'' before ``TraPPE'' is optional.
+
+ %It informs moltemplate.sh that ``TraPPE'' was defined
+ %in the parent's environment (IE, one level up).
+ %(Note: If you omit the ``../'', moltemplate will automatically
+ %look for it there in any case, so this is optional.)
+
+Alternately, as mentioned above, it may be simpler to nest our ``Butane''
+within ``TraPPE'', so that so that it does not get confused with other
+(perhaps all-atom) representations of butane. In that case, we would use:
+\begin{verbatim}
+# -- file "trappe_butane.lt" --
+
+import "trappe1998.lt"
+
+TraPPE {
+ Butane {
+ write("Data Atoms"){
+ $atom:c1 $mol:. @atom:../CH3 0.0 0.419372 0.000 -1.937329
+ $atom:c2 $mol:. @atom:../CH2 0.0 -0.419372 0.000 -0.645776
+ $atom:c3 $mol:. @atom:../CH2 0.0 0.419372 0.000 0.645776
+ $atom:c4 $mol:. @atom:../CH3 0.0 -0.419372 0.0000 1.937329
+ }
+ write("Data Bonds"){
+ $bond:b1 @bond:../CC $atom:c1 $atom:c2
+ $bond:b2 @bond:../CC $atom:c2 $atom:c3
+ $bond:b3 @bond:../CC $atom:c3 $atom:c4
+ }
+ }
+}
+\end{verbatim}
+Note: Wrapping Butane within ``TraPPE\{ \}'' clause merely appends
+additional content to be added to the ``TraPPE'' object defined
+in the ``trappe1998.lt'' file (which was included earlier).
+It does not overwrite it.
+Again ``../'' tells moltemplate use the ``CH2'' atom
+defined in the context of the TraPPE environment (IE. one level up).
+This insures that moltemplate does not create a new ``CH2'' atom type
+which is local to the Butane molecule.
+(Again, by default all atom types and other variables are local.
+See section \ref{sec:variable_scope}.)
+ % However moltemplate.sh does check the parent/ancestor environments
+ % before creating a new variable, so ``../'' is not strictly necessary
+ % in this example.)
+
+To use this butane molecule in a simulation,
+you would import the file containing the butane definition,
+and use a ``new'' command to create one or more butane molecules.
+\begin{verbatim}
+import "trappe_butane.lt"
+new butane = TraPPE/Butane
+\end{verbatim}
+(You don't need to import ``trappe1998.lt'' in this example because
+it was imported within ``trappe\_butane.lt''.)
+The ``TraPPE/'' prefix before ``Butane'' lets moltemplate/ttree
+know that butane was defined \textit{locally} within TraPPE.
+
+ %Of course, additional molecules can be added to
+ %the existing TraPPE namespace by enclosing them within ``TraPPE\{ \}'',
+ %brackets, in addition to ``Butane''.
+
+
+\textit{Note: An alternative procedure using \textbf{inheritance}
+exists which may be a cleaner way to handle these kinds of relationships.
+See sections \ref{sec:inheritance} and \ref{sec:multiple_inheritance}.}
+
+\subsection{Path syntax: ``../'', ``.../'', and ``\$mol:.''}
+\label{sec:paths}
+Generally, multiple slashes (``/'') as well as (``../'') can be
+used build a path that indicates the (relative) location
+of any other molecule in the object hierarchy.
+(The ``.'', ``/'' and ``..'' symbols are used here in the same way
+they are used to specify a path in a unix-like file-system.
+For example, the ``.'' in ``\$mol:.'' refers to the
+current molecule (instance), in the same way that
+``./'' refers to the current directory.
+(Note: \mbox{\textit{``\$mol''}} is shorthand for \mbox{\textit{``\$mol:.''}})
+
+A slash by itself, ``/'', refers to the \textit{global environment}.
+This is the outermost environment in which all molecules are defined/created.
+ %\textit{
+ %(Details: These symbols can be used to navigate
+ %both the hierarchy of defined molecule \textbf{types},
+ %(when preceded by @),
+ %or the hierarchy of \textbf{instantiated} molecules,
+ %(when preceded by \$).)
+ %}
+
+
+\subsubsection{\textit{(Advanced)} Ellipsis notation ``.../''}
+\label{sec:ellipsis_type}
+If you are using multiple levels of nesting,
+and if you don't know (or if you don't want to specify) where
+a particular molecule type or atom type (such as ``CH2'') was defined,
+you can refer to it using ``.../CH2''
+instead of ``../CH2''.
+The ``...'' ellipsis syntax searches up the tree of nested
+molecules to find the target (the text following the ``/'' slash).
+
+\subsubsection{\textit{(Advanced)} \$mol:... notation}
+\label{sec:ellipsis_mol}
+Recall that LAMMPS allows users the option to assign
+\textit{molecule-IDs} to each atom.
+(In the water example (section \ref{sec:spce_example}), atoms in
+each water molecule is assigned to a molecule-ID, denoted ``\$mol:.''.
+In that example, the ``.'' was the name of that molecule's ID.)
+
+If you want to build large molecules using smaller pieces as building-blocks
+moltemplate has a way to allow all the the atoms to share the same molecule-ID.
+To refer to the ID of the molecule to which you belong,
+use ``\$mol:...''. (If none of the molecule-objects which
+instantiate the current molecule-object define a variable in the \$mol category,
+then a new local \$mol variable will be created automatically.)
+This means that the second column of each line of the ``Data Atoms'' section
+should contain ``\$mol:...''
+(assuming ``atom\_style full'' or ``molecular'' is used).
+
+The ``...'' syntax is explained more formally
+in appendix \ref{sec:adv_variable_syntax}.)
+
+
+
+
+\subsection{\textit{using namespace} syntax}
+\label{sec:using_namespaces}
+
+Because the \textit{Butane} molecule was defined within the \textit{TraPPE}
+environment, you normally have to indicate this when you refer to it later.
+For example, to create a copy of a \textit{Butane} molecule,
+you would normally use:
+\begin{verbatim}
+import "trappe_butane.lt"
+
+butane = new TraPPE/Butane
+\end{verbatim}
+
+However for convenience, you can use the
+\mbox{``\textbf{using namespace}''} declaration
+so that, in the future, you can quickly refer to any
+of the molecule types defined within \textit{TraPPE} directly,
+without having to specify their path.
+\begin{verbatim}
+import "trappe_butane.lt"
+
+using namespace TraPPE
+
+butane = new Butane
+\end{verbatim}
+\subsubsection*{This only works for molecule types, not atom types}
+Unfortunately, you still \textit{must} always
+\textbf{refer to} atom types, bond types, and any other
+\textbf{primitive types explicitly} (by their full path).
+For example, the second line in the \textit{``Data Atoms''} in the example
+below does not refer to the \textit{CH2} atom type defined in \textit{TraPPE}.
+(Instead it creates a \textit{new} atom type,
+which is probably not what you want.)
+\begin{verbatim}
+import "trappe_butane.lt"
+using namespace TraPPE
+butane = new Butane
+write("Data Atoms") {
+ $atom:c1 $mol @atom:TraPPE/CH2 0.0 0.41937 0.00 1.9373 # <-- yes
+ $atom:c2 $mol @atom:CH2 0.0 -0.41937 0.00 -0.6457 # new atom type?
+}
+\end{verbatim}
+If, for example, you want to leave out the ``TraPPE/'' prefix
+when accessing the atom, bond, and angle types defined in TraPPE,
+then instead you can define a new molecule which
+\textit{inherits} from TraPPE. (See section \ref{sec:inheritance}.)
+
+\subsection{Inheritance}
+\label{sec:inheritance}
+We could have defined \textit{Butane} this way:
+\begin{verbatim}
+import "trappe1998.lt"
+
+Butane inherits TraPPE {
+ write("Data Atoms"){
+ $atom:c1 $mol:. @atom:CH3 0.0 0.419372 0.000 -1.937329
+ $atom:c2 $mol:. @atom:CH2 0.0 -0.419372 0.000 -0.645776
+ $atom:c3 $mol:. @atom:CH2 0.0 0.419372 0.000 0.645776
+ $atom:c4 $mol:. @atom:CH3 0.0 -0.419372 0.0000 1.937329
+ }
+ write("Data Bonds"){
+ $bond:b1 @bond:CC $atom:c1 $atom:c2
+ $bond:b2 @bond:CC $atom:c2 $atom:c3
+ $bond:b3 @bond:CC $atom:c3 $atom:c4
+ }
+}
+\end{verbatim}
+A molecule which \textit{inherits} from another molecule (or namespace)
+\textit{is} a particular type of that molecule (or namespace).
+Defining \textit{Butane} this way allows it to
+access all of molecule types, atom types, and bond types, etc...
+defined within \textit{TraPPE} as if they were defined locally.
+(I did not have to refer to the CH3 atom types as ``@atom:TraPPE/CH3'',
+ for example.)
+
+\subsubsection{Multiple inheritance:}
+\label{sec:multiple_inheritance}
+A molecule can inherit from multiple parents.
+This is one way you can allow the \textit{Butane} molecule
+to borrow atom, bond, angle, dihedral, and improper types from
+\textit{multiple} different force-field parents:
+\begin{verbatim}
+import "trappe1998.lt"
+import "oplsaa.lt"
+
+Butane inherits TraPPE OPLSAA {
+ ...
+}
+\end{verbatim}
+\textit{Details:Moltemplate attempts to resolve duplicate atom types or
+molecule types if they are found in both parents, giving priority to the
+first parent in the list of parents following the ``inherits'' keyword.
+(``TraPPE'' in this example.)
+ %Note: This feature has not been rigorously tested as of 2013-4-07.)
+}
+
+\subsubsection{Inheritance \textit{vs.} Nesting}
+\label{sec:inheritance_vs_nesting}
+If two molecules are related to each other this way:
+\mbox{\textit{``A \textbf{is a} particular type of B''}},
+then consider using inheritance instead of nesting
+(or object composition).
+In this example (with \textit{Butane} and \textit{TraPPE})
+either nesting or inheritance would work.
+
+ Again, one very minor advantage to nesting
+\textit{Butane} inside \textit{TraPPE}, is that it prevents the name
+\textit{Butane} from being confused with or conflicting with any other
+versions of the \textit{Butane} molecule defined elsewhere.
+(Usually this is not a consideration.)
+
+\subsubsection{Inheritance \textit{vs.} Object Composition}
+\label{sec:inheritance_vs_object_composition}
+On the other hand, if two molecules are related to each other this way:
+\mbox{\textit{``A is \textbf{comprised of} B and C''}},
+then you might consider using object composition instead of inheritance.
+For example:
+\begin{verbatim}
+import "B.lt" # <-- defines the molecule type "B"
+
+import "C.lt" # <-- defines the molecule type "C"
+
+A {
+ b = new B
+ c = new C
+}
+\end{verbatim}
+
+
+
+
+
+ %\section{Inheritance}
+ %\label{sec:inheritance}
+ %\textit{New (experimental) feature as of 2012-3-31:}
+ %
+ %In this section we show a simple example of inheritance and nesting.
+ %
+ %\textit{INCOMPLETE DOCUMENTATION}
+ %\textit{I will finish this example later...}
+ %
+ %% \ref{fig:LPN}
+ %There's no need to define the tail twice.
+ %Instead use inheritance
+ %\begin{verbatim}
+ %CGLipid {
+ % # Both DOTAP and DOPC lipids share the same tail.
+ % # In the CGLipid model, the tail is represented by
+ % # a single linear chain.
+ % write("Data Atoms"){
+ % $atom:c1 $mol:. @atom:C 0.0 0.419372 0.00000 -1.481799
+ % $atom:c2 $mol:. @atom:C 0.0 -0.419372 0.00000 -2.773352
+ % $atom:c3 $mol:. @atom:C 0.0 0.419372 0.00000 -4.064904
+ % $atom:c4 $mol:. @atom:C 0.0 -0.419372 0.00000 -5.356457
+ % $atom:c5 $mol:. @atom:C 0.0 0.419372 0.00000 -6.648010
+ % }
+ % write("Data Bonds"){
+ % $bond:c12 @bond:Tail $atom:c1 $atom:c2
+ % $bond:c23 @bond:Tail $atom:c2 $atom:c3
+ % $bond:c34 @bond:Tail $atom:c3 $atom:c4
+ % $bond:c45 @bond:Tail $atom:c4 $atom:c5
+ % }
+ % write("Data Angles"){
+ % :
+ %}
+ %\end{verbatim}
+ %DOPC and DOTP differ only in the head group (which
+ %has only 1 atom in this coarse-grained version).
+ %\begin{verbatim}
+ %DOPC inherits CGLipid {
+ % write("Data Atoms"){
+ % $atom:head $mol:. @atom:head 0.0 0.000 0.000 0.000
+ % }
+ % write_once("Data Masses"){
+ % @atom:. 245.0
+ % }
+ % # Now connect the head to the tail
+ % write("Data Bonds"){
+ % $bond:head-tail @bond:Head-Tail $atom:head $atom:c1
+ % }
+ % :
+ %}
+
+ %DOTAP inherits CGLipid {
+ % write("Data Atoms"){
+ % $atom:head $mol:. @atom:head 0.0 0.000 0.000 0.000
+ % }
+ % write_once("Data Masses") {
+ % @atom:. 122.0
+ % }
+ % write("Data Bonds"){
+ % $bond:head-tail @bond:Head-Tail $atom:head $atom:c1
+ % }
+ % :
+ %}
+ %\end{verbatim}
+ %
+ %\textit{INCOMPLETE DOCUMENTATION}
+ %\textit{I will finish this example later...}
+ %
+ %
+ %\begin{verbatim}
+ %TubulinA {
+ % ...
+ %}
+ %TubulinB {
+ % ...
+ %}
+ %TubulinDimer {
+ % a = new A
+ % b = new B
+ %}
+ %\end{verbatim}
+ %\begin{verbatim}
+ %Tubulin {
+ % A {
+ % ...
+ % }
+ % B {
+ % ...
+ % }
+ % Dimer {
+ % a = new A
+ % b = new B
+ % }
+ %}
+ %\end{verbatim}
+ %
+ %\textit{INCOMPLETE DOCUMENTATION}
+ %\textit{I will finish this example later...}
+
+
+
+\section{Known bugs and limitations}
+\label{sec:limitations}
+
+Please report any bugs you find by email to
+\includegraphics[height=0.3cm]{author_email.png},
+or to the lammps-users mailing list.
+
+\textbf{1)} LAMMPS-style molecule-templates are \textit{not} supported.
+The DATA files created by moltemplate are not
+in the correct format to be read by the LAMMPS \textit{molecule} command.
+(This is because this command was added after moltemplate was written.)
+However the formats are similar, and the relevant information can be extracted
+using a text-editor and converted to the other format.
+(Using a text-editor and awk, or a spreadsheet program.
+For more information on these file formats,
+\url{http://lammps.sandia.gov/doc/read_data.html}
+\url{http://lammps.sandia.gov/doc/molecule.html}.)
+Again, feel free to contact \includegraphics[height=0.3cm]{author_email.png}
+to request support for LAMMPS-style molecule templates.
+
+
+\textbf{2)} \textbf{Moltemplate consumes a large amount of memory (RAM)}
+
+Memory use grows proportional to system size.
+As of 2014-12-09, setting up a system of 1000000 atoms using moltemplate
+currently requires between 2.7 and 12 GB of \textit{available} memory.
+(Systems with many bonds and angles consume more memory,
+ as well as systems with a high molecule count.)
+ %(This is due to python's excessive memory usage.)
+Unfortunately this code was not carefully written to minimize memory usage.
+(In addition, python programs can require more than 10
+times as much memory as similar programs written in C/C++.)
+ %\textit{(I wish I had known this earlier.)}
+
+This problem might be alleviated by using other
+python interpreters with a lower memory footprint.
+Alternately, it may be necessary to split a large system into pieces,
+run moltemplate on each piece, and combine the resulting data files
+into one large data file later.
+ %(Each time, you can use the ``category()'' command to force the
+ % \$atom, \$bond, \$angle, \$dihedral, \$improper, and \$mol counters
+ % to begin at a number larger than 1, so that the values do not overlap.)
+ %A strategy for combining data files together is discussed
+ %in appendix \ref{sec:combining_data_files}.
+
+Also, computers with a moderate amount of RAM can be rented very cheaply.
+(For example, see \url{https://cloud.google.com/compute/}.)
+
+\textit{When setting up large simulations with moltemplate,
+consider using the \mbox{``ulimit''} command}
+to prevent system crashes.
+(If you are on a shared computer, ask an administrator to do this.)
+If these options are not available,
+you can always run a resource monitor (like ``top'') before
+starting moltemplate and kill the process if it's memory usage exceeds 80\%.
+
+
+\textbf{3)} Limited support for non-point-like atoms:
+
+As of 2014-12-09, only the ``full'', ``angle'', ``atomic'', ``charge'',
+and ``molecular'' styles have been tested.
+The ``dipole'' atom style \textit{is} fully supported
+but it has not been tested.
+Non-point-like atoms like ``ellipsoid'', ``tri'', ``line''
+\textit{should} also work with moltemplate.
+However these objects
+are \textit{not rotated correctly}
+by the ``.rot()'' command
+(or scaled correctly by the ``.scale()'' command).
+More exotic exotic atom styles, such as
+``wavepacket'', ``electron'', ``sphere'' and ``peri''
+have not been tested.
+In addition, atom\_style \textbf{body} and
+atom\_style \textbf{template} are \textit{not}
+supported.
+Feel free to contact \includegraphics[height=0.3cm]{author_email.png}
+to request support for exotic atom styles.
+
+
+\textbf{4)}
+When placed at the end of a line, LAMMPS interprets
+\textbf{the ``\&'' character} as a
+request to merge two lines together.
+\textit{It is usually safe to use this character inside
+moltemplate write() or write\_once() commands.}
+However in some rare cases, joining two lines together using
+the ``\&'' character can confuse moltemplate.
+For example, in a lammps input script command,
+(like ``pair\_coeff'' or ``dihedral\_coeff''),
+\textbf{the ``\&'' character should not appear before
+the last ``@'' or ``\$'' variable is referenced.}
+Also avoid using the ``\&'' character anywhere in the
+``Data Atoms'', ``Data Bonds'', ``Data Angles'', ``Data Dihedrals'', ``Data Impropers'', ``Data Angles By Type'', ``Data Dihedrals By Type'', and ``Data Impropers By Type''
+sections.
+
+\textbf{5)} Triclinic boundary conditions have not been tested:
+
+As of 2014-12-09, support for PDB files with triclinic cells is experimental.
+Please let me know if it is not working.
+
+\textbf{6)} Inconsistent support for wildcard characters (``*'' and ``?'')
+\label{sec:wildcard_bug}
+ As of 2014-1-28,
+ the wildcard character ``*''
+ is interpreted differently in different parts of an LT file.
+ Wildcard characters work reliably and are used for \textit{string}
+ pattern matching when inside any of the \textit{``By Type''} sections
+ in an LT file (such as
+ \textit{``Data Angles By Type''},
+ \textit{``Data Dihedrals By Type''}, and
+ \textit{``Data Impropers By Type''}).
+ However these characters are interpreted differently when they appear
+ in \textit{pair\_coeff}, \textit{bond\_coeff}, \textit{angle\_coeff}
+ \textit{dihedral\_coeff}, and \textit{improper\_coeff} commands
+ (and their corresponding \textit{``Coeff''} sections of a data file).
+ LAMMPS interprets ``*'' characters appearing in any of the
+ \textit{coeff} commands as \textit{numeric} wildcard characters.
+ This can lead to unintended side-effects and is discouraged.
+ So please avoid ``*'' characters in any of the
+ \textit{``coeff''} commands
+ (eg \textit{pair\_coeff, bond\_coeff, angle\_coeff,
+ dihedral\_coeff, improper\_coeff}).
+ The ``*'' character can be safely used in array brackets, \textit{[*]},
+ or in the \textit{``By Type''} sections.
+ (See section \ref{sec:array_wildcards_intro}
+ and appendix \ref{sec:nbody_by_type}.)
+
+\pagebreak
+
+
+
+\appendix
+\section*{Appendices}
+
+\section{Bonded interactions ``By Type''}
+\label{sec:nbody_by_type}
+
+Interactions between atoms in LAMMPS which are not bonded together
+(ie ``non-bonded'' or ``pair'' interactions)
+are specified \textit{by atom type}.
+\textit{Bonded interactions} in LAMMPS,
+(including 3-body angle, and 4-body dihedral and improper interactions),
+are specified by unique \textit{atom ID number}.
+(There are typically a large number of angles and bonds in
+a typical molecule, and this information occupies the
+majority of in a typical LAMMPS data file.)
+
+This has changed in moltemplate.sh. moltemplate.sh contains a
+utility which can generate angles, dihedrals, and impropers
+automatically by atom and bond \textit{type}.
+(This utility is described in section \ref{sec:nbody_by_type_utility}.)
+moltemplate.sh will inspect the network of bonds present in your system,
+detect all 3-body, and 4-body interactions, and determine their type.
+(Higher n-body interactions can also be defined by the user.)
+Specifying interactions this way can eliminate significant redundancy
+since many atoms share the same type.
+
+To make use of this feature, you would create a new section named
+\mbox{``Data Angles By Type''}, \mbox{``Data Dihedrals By Type''},
+or \mbox{``Data Impropers By Type''}
+whose syntax mimics the
+\mbox{``Angles''}, \mbox{``Dihedrals''}, and \mbox{``Impropers''}
+sections of a LAMMPS data file.
+The syntax is best explained by example:
+
+\begin{verbatim}
+write("Data Angles By Type") {
+ @angle:XCXgeneral * *C* *
+ @angle:CCCgeneral @atom:C @atom:C @atom:C * *
+ @angle:CCCsaturated @atom:C @atom:C @atom:C @bond:SAT @bond:SAT
+}
+\end{verbatim}
+
+%\begin{list}{}
+%\item
+The first line will generate a 3-body angle interaction
+(of type \mbox{``@angle:XCXgeneral''})
+between any 3 consecutively bonded atoms
+as long as the second atom's type-name contains the letter ``C''.
+(Atom and bond type-names can contain wildcard characters *)
+
+%\item
+The second line will generate a 3-body interaction
+of type \mbox{``@angle:CCCgeneral''}
+between any 3 atoms of type \mbox{``@atom:C''},
+regardless of the type of bonds connecting them.
+(The last two columns, which are both wildcard characters, *,
+ tell moltemplate.sh to ignore the two bond types.
+ Since this is the default behavior
+ these two columns are optional and can be omitted.)
+
+%\item
+The third line will generate a 3-body interaction of
+type \mbox{``@angle:CCCsaturated''}
+between any 3 atoms of type \mbox{``@atom:C''},
+if they are connected by bonds of type \mbox{``@bond:SAT''}.
+%\end{list}
+
+Note: The 2nd and 3rd lines in this example will generate new interactions
+which may override any angle interactions assigned earlier.
+
+\subsection*{Regular expressions}
+Regular-expressions can also be used to match potential atom and bond types.
+(To use regular expressions, surround the atom and
+bond types on either side by slashes.
+For example: \mbox{@atom:C[1-5]/}, should match
+\mbox{@atom:C1} through \mbox{@atom:C6}.)
+\textit{Note: This feature has not been tested as of 2014-12-09.}
+
+In a similar way, one can define ``Dihedrals By Type'' and
+``Impropers By Type''.
+
+
+ % I THINK I FIXED THIS LIMITATION
+ % SO I COMMENTED OUT THIS NEXT SECTION:
+ % IGNORE ALL COMMENTED OUT TEXT IN THE PARAGRAPHS BELOW
+ %In all of these examples, the slash ``/'' following the
+ %@ character is explained below.
+ %
+ %\subsection*{Nesting: ``By Type'' interactions \textit{require full-path} variable syntax}
+ %
+ %Consider again the atom type named ``CH2'' defined within the ``trappe1998.lt''
+ %example from section \ref{sec:nesting}.
+ %Every atom and bond type defined in that file was defined
+ %inside the ``TraPPE'' namespace.
+ %(That file contains a ``TraPPE {...}'' clause.)
+ %Consequently any atom types like ``CH2'' are \textit{nested variables}.
+ %It's \textit{full name} is ``@/atom:TraPPE/CH2'', not ``@atom:CH2''.
+ %However usually you don't have to refer to it this way.
+ %When you are inside the ``TraPPE{...}'' clause, it is sufficient
+ %to refer to this atom using ``@atom:CH2''.
+ %
+ %However moltemplate.sh uses an external program to automatically generate
+ %interactions by type.
+ %This program is not smart enough to understand nested variable syntax.
+ %So whenever ``write("Data Angles by Type") {...}'' is nested within
+ %a molecule definition, you must refer to the atom types using the
+ %\textit{full-path} syntax
+ %(for example: ``@/atom:TraPPE/CH2'', not ``@atom:CH2'').
+
+
+
+
+
+
+\section{Using ltemplify.py to create an \textit{LT file}}
+\label{sec:ltemplify}
+
+The ``ltemplify.py'' script can be used to convert existing simple LAMMPS
+input script and data files into a single ``\textbf{.LT}'' file.
+Users can pass one or more LAMMPS input scripts followed by a LAMMPS data file
+to the ``ltemplify.py'' script as arguments.
+(The data file must appear last in this list. See examples below.)
+All atoms, bonds, angles, dihedrals, and impropers and their associated types
+will be converted to moltemplate ``\$'' or ``@'' counter variables,
+(and the relevant portion of each file will be moved to sections with the
+correct header names). Coefficients, atom styles, and
+most force-field styles and settings \textit{should} also
+be included in the resulting .LT file.
+ltemplify.py also understands simple group commands
+(using ``id'', ``molecule'', or ``type'' styles)
+and ``fix shake'' and ``fix rigid'' (untested 2015-1-04).
+However most other fixes, and complex group commands are not understood.
+Those commands must be added to the resulting .LT file manually.
+(See section \ref{sec:ltemplify_limitations}.)
+
+\subsubsection*{Disclaimer}
+
+\textit{ltemplify.py is experimental software.}
+The lemplify.py script has limited understanding of all of the features
+available in LAMMPS.
+Please look over the resulting ``.LT'' file and check for errors.
+(If necessary, convert any remaining
+atom, bond, angle, dihedral, or improper id or type numbers to the
+corresponding \$ or @ variables.)
+Some exotic pair styles which have their own special syntax
+are not understood.
+%(See section \ref{sec:ltemplify_limitations_pair}.)
+These coeffs must be converted manually.
+Support for ``group'' and ``fix'' commands is also limited.
+(See section \ref{sec:ltemplify_fix_group}.)
+Please report errors in the behavior of ltemplify.py.
+
+\subsubsection*{Reassigning variable names}
+
+Unfortunately, ltemplify.py does not attempt to pick \textit{good}
+names for your atoms, bonds, or angles.
+Currently, ltemplify.py generates type names and id names automatically,
+ %the numbers used in the original LAMMPS data file and input script(s),
+resulting in atoms with names like ``\$atom:id1753'',
+and types like ``@atom:type7''.
+(Furthermore, if the user
+ %used the ``-atomtype'' or ``-mol'' or ``-atomid'' flags to extract
+extracted only \textit{part} of the data file, then these
+numbers probably do not begin at ``1''.)
+ %For example the first atom may be
+ %named and have atom-type ``@atom:type7''.
+
+Moltemplate will assign all of these variables to new numbers
+when you run it on your LT file later (so the names and numbers do not matter).
+Still, you may wish to use a text-editor (or \textit{sed}) to replace all
+instances of ``@atom:type7'' with something more meaningful, like ``@atom:CG1'',
+and ``@bond:Type3'' with ``@bond:C=C''.
+
+
+\subsection{Examples}
+\subsubsection*{Example 1}
+
+\begin{verbatim}
+ltemplify.py -name Mol file.in file.data > mol.lt
+\end{verbatim}
+
+This creates a template for a new type of molecule (named ``Mol''),
+consisting of all the atoms in the lammps files you included,
+and saves this data in a single LT file (``mol.lt'').
+This file can be used with moltemplate.sh (and/or ttree.py) to
+define large systems containing this molecule.
+
+Note: The input script (``file.in'' in this example) should appear
+ before the data file (``file.data'') in the argument list.
+
+In many cases, a LAMMPS data file may contain many copies of the same
+molecule. In order to select one of these molecules you must manually
+indicate the atoms which belong to that molecule.
+To do that, use the following syntax:
+
+\subsubsection*{Example 2}
+
+\begin{verbatim}
+ltemplify.py -name Mol -molid "1" file.in file.data > mol.lt
+\end{verbatim}
+
+ In this example, only atoms belonging to molecule 1 are extracted.
+
+This only works if you are using one of the ``molecular'' atom\_styles.
+If you are using a different atom\_style, you can select the atoms you want
+either by type or by id number. To do that use the following syntax:
+\subsubsection*{Example 3}
+
+\begin{verbatim}
+ltemplify.py -name Mol -atomtype "1 2 3" lammpsfile.in lammpsfile.data > mol.lt
+\end{verbatim}
+
+ In this example, only atoms whose type is 1, 2, or 3 are included.
+
+\subsubsection*{Example 4}
+
+\begin{verbatim}
+ltemplify.py -name Mol -atomid "13 14 15 61*69" \
+ lammpsfile.in lammpsfile.data > mol.lt
+\end{verbatim}
+
+ In this example, only atoms whose ids are
+ 13, 14, 15, and 61 through 69 are included.
+
+
+
+\subsubsection{ Fixes and Groups }
+\label{sec:ltemplify_fix_group}
+
+ltemplify.py has \textit{limited} support for ``fix'' and ``group'' commands,
+including ``fix shake'', ``fix rigid'', and ``fix poems''.
+Other fixes must be added manually to the file generated by ltemplify.py.
+(Such as fix ``restrain'', ``bond/create'', ``bond/break'', ``ttm'', etc...)
+
+ltemplify.py can understand simple (static) ``group'' commands, and will include them in the output file, if it can determine that they contain any relevant atoms. (Fixes depending on irrelevant groups are also deleted.)
+
+
+\textit{Note: This feature has not been tested carefully. So please review all of the group and fix commands generated by ltemplify.py to make sure they refer to the correct atoms. And please report any bugs you find. (-Andrew 2014-10-29)}
+
+
+
+
+
+\subsection{Known bugs and limitations (ltemplify.py):}
+\label{sec:ltemplify_limitations}
+%\subsubsection*{Wildcard characters ``*''}
+%Support for wildcards is not consistent throughout an LT file.
+%
+%Wildcard characters like ``*'' currently mean different things
+%in different places.
+%In the \textit{write\_once(``Data Angles By Type'') \{...\}} section,
+%for example, the ``*'' and ``?'' wildcard characters are interpreted
+%as \textit{string wildcards}.
+%This means that ``@atom:C?'' will match ``@atom:C1'', ``@atom:C2'', and
+%``@atom:CA'', but \textit{not} ``@atom:CA2''.
+%However ``@atom:CH*'' will match all of these examples.
+%(See appendix \ref{sec:nbody_by_type}.)
+%Moltemplate ignores ``*'' characters elsewhere in an LT file,
+%and leaves it up to LAMMPS.
+%
+%
+%This means that a ``*'' character appearing in a
+%\textit{pair\_coeff},
+%\textit{bond\_coeff},
+%\textit{angle\_coeff},
+%\textit{dihedral\_coeff},
+%\textit{improper\_coeff},
+%or
+%\textit{group}
+%command, for example,
+%is interpreted (by LAMMPS) as a \textit{numeric wildcard}.
+%A command like:
+% %\mbox{``\textit{pair\_coeff @\{atom:B\}*@\{atom:D\} * lj/cut 0.15 3.6}''}
+%\begin{verbatim}
+%pair_coeff @{atom:B}*@{atom:D} * lj/cut 0.15 3.6
+%\end{verbatim}
+%appearing in an LT file will be substituted with to a numeric equivalent:
+% %\mbox{``\textit{pair\_coeff 2*4 * lj/cut 0.15 3.6}''}.
+%\begin{verbatim}
+%pair_coeff 2*4 * lj/cut 0.15 3.6
+%\end{verbatim}
+%LAMMPS will then interpret the result according to its own rules.
+%In this example, we have specified the pairwise interaction parameters
+%between atom types 2,3,4 and all other atoms. (Subject to the constraint
+%that the second atom type must be greater than the first atom type.
+%This is a quirk in the way that LAMMPS interprets pair\_coeff commands.)
+%For this reason, use of ``*'' characters in LT files is
+%currently discouraged (unless part of a ``By Type'' section).
+
+
+\subsubsection*{Exotic styles are not supported}
+\label{sec:ltemplify_limitations_pair}
+ltemplify.py does \textbf{not} understand the syntax of
+exotic many-body pair\_styles such as tersoff, sw, meam, reax, dpd, edip,
+dipole, lubricate, hbond/dreiding
+(even though these styles are supported by moltemplate).
+After running ltemplify.py, the user must manually edit the resulting ``.lt''
+files. For example: ltemplify.py will not understand wildcard characters
+(``*'' characters)
+which appear in the ``pair\_coeff'' commands or ``Pair Coeffs'' section.
+You will have to remove the extra lines generated by ltemplify.py and
+put the wildcard characters back (eg ``pair\_coeff * * ...'') manually.
+(Later the user may need to run moltemplate using the appropriate ``-a''
+ command line args to make sure the various atom types are assigned
+ to the correct numbers. This is usually needed in order to keep them
+ consistent with the order of parameters in the corresponding pair style's
+ input files. See section \ref{sec:manual_assignment}.)
+In addition, auxiliary atom types (such as the ``hydrogen'' atom type
+required by hbond/dreiding)
+If you are using the ``hbond/dreiding'' pair style, you will
+have to manually specify the atom type for the hydrogen-atom mediator
+in every ``pair\_coeff'' command.
+
+
+\subsubsection*{Wildcard characters (``*'') expansion}
+As explained in section \ref{sec:limitations},
+moltemplate is often confused whenever wildcard characters (``*'' characters)
+appear inside any of the the ``coeff'' commands
+(or ``Coeff'' sections of the data file).
+So ltemplify.py attempts to remove these characters and expand these commands,
+generating multiple lines of output, and listing each atom type explicitly.
+(This is also done for bond types, angle types, dihedral types,
+ and improper types.)
+This may not be what you want.
+(For example, this can be a problem if you are using a pair style
+which requires you to specify ``* *'' for the atom types, such as
+\textit{tersoff}, \textit{eam}, or \textit{sw}.)
+
+
+\section{Visualization in VMD}
+\label{sec:vmd_advanced}
+
+This appendix is only intended to give you a quick,
+minimal list of features you need to know to
+display your molecules using VMD.
+These instructions were written for VMD 1.9
+and topotools 1.2.
+ %(See \cite{VMD} and \cite{topotools}).
+For advanced VMD features, analysis, and rendering options,
+consult the official VMD documentation at
+\url{http://www.ks.uiuc.edu/Research/vmd/current/docs.html}
+
+\subsection{Customizing the appearance in VMD}
+\label{sec:vmd_representation}
+By default, VMD is likely to display your molecules with
+points and lines, which can be ugly and difficult to see.
+To alter the appearance of your molecules, select the
+\textbf{Graphics}$\rightarrow$\textbf{Representations...} menu,
+and then select an option from the
+\mbox{\textbf{Drawing Method}} pull-down menu.
+Atoms are colored by atom-type by default.
+You can customize the color of each atom type by
+\mbox{\textbf{Graphics}}$\rightarrow$\mbox{\textbf{Colors...}}
+As of 2012-11-18, VMD arbitrarily allows you to
+assign colors to \textit{only} the first 9 atom types.
+However you can get around this limitation
+using multiple \textit{representations}
+customize the appearance of the
+remaining atom types (as explained below).
+
+You may wish to use different representations for different molecules
+or atom types. To do this, select the
+\textbf{Graphics}$\rightarrow$\textbf{Representations...} menu
+and click on then \mbox{\textbf{Selections}} tab.
+Then click on the \mbox{\textbf{Create Rep}}
+button to create multiple ``\textit{representations}'' of your system.
+For each \textit{representation}, you can select different sets atoms,
+and use different draw-styles, for those atoms.
+For example, you can customize the color of these atoms manually
+by choosing \textbf{ColorID} from the
+ %For each \textit{representation},
+ %you can use different drawing and coloring
+ %methods, and change the atom and bond radii.
+ %To control the color manually,
+ %choose \textbf{ColorID} from the
+\mbox{\textbf{Coloring Method}} pull-down menu.
+Then, to the right of this menu, you can select the color
+(which is represented by a number).
+This will effect all of atoms in the current \textit{representation}.
+You can also select a different \mbox{\textbf{Draw Style}} and
+alter the atom and bond radii.
+
+You can select from the the list of \textit{representations} you have
+already created
+by clicking on the list under the \mbox{\textbf{Create Rep}} button.
+(Double-clicking temporarily hides a \textit{representation} from view.)
+ %(You can also temporarily hide \textit{representations} by double-clicking
+ % on them in the list of selections below the \mbox{\textbf{Create Rep}}
+ % button.)
+
+Again, each \textit{representation} is usually assigned to
+a different subset of atoms from the system.
+To specify the atoms in each \textit{representation},
+click on the \mbox{\textbf{Selections}} tab.
+By default ``all''
+atoms are selected, however you can select atoms according to atom
+\textbf{type}, \textbf{index}, \textbf{resid},
+\textbf{charge}, \textbf{mass}, \textbf{x}, \textbf{y}, \textbf{z}.
+This will limit the current display settings to a
+subset of the atoms/bonds present in your system.
+When selecting atoms, you can use complex boolean expressions
+(containing one or more \textit{and} and \textit{or} operators
+and parenthesis).
+For more information and some examples,
+see \url{http://www.ks.uiuc.edu/Research/vmd/vmd-1.9/ug/node19.html}
+and
+\url{http://www.ks.uiuc.edu/Research/vmd/vmd-1.9/ug/node87.html#ug:topic:selections}.
+
+ %You can select from the list of \textit{representations} you have created
+ %You can selecting different atoms in each \textit{representation}
+ %as explained below.
+
+\textit{\textbf{Note:}}
+In VMD/topotools,
+the \textbf{type}, \textbf{index}, and \textbf{resid}
+properties of each atom correspond
+to the \textit{@atom}, \textit{\$atom}, and \textit{\$mol}
+variables for each atom in moltemplate.
+ %associated with each atom in the ``Data Atoms'' section of your LT files.
+Unfortunately, VMD does not understand moltemplate variable naming syntax
+(discussed in section \ref{sec:variables}).
+Instead, in VMD, variables must be
+specified by their numeric equivalents.
+You can determine these numbers by reading the
+\textit{output\_ttree/ttree\_assignments.txt} file.
+(See section \ref{sec:ttree_assignments} for details.)
+That file contains a table containing a list of the
+numbers assigned to each \textit{@atom} (type), \textit{\$atom} (id),
+and \textit{\$mol} (molecule-id) variable.
+
+
+
+
+
+\subsection{Visualizing periodic boundaries}
+\label{sec:vmd_pbc}
+To view the periodic box boundaries,
+select the \textbf{Extensions}$\rightarrow$\mbox{\textbf{Tk Console}} menu,
+and in the \textit{Tk Console} window, enter:
+\begin{verbatim}
+pbc box
+\end{verbatim}
+Note that the molecules in your system might not lie inside this box.
+You can \textit{wrap} them inside the box using this command:
+\begin{verbatim}
+pbc wrap -compound res -all
+\end{verbatim}
+You may wish to center the box around a molecule. There are several ways to
+do this. You can move the box manually this way:
+\begin{verbatim}
+pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0}
+pbc box -shiftcenterrel {0.0 0.15 0.0}
+\end{verbatim}
+This will shift the position of the box by 15\% in the Y direction.
+(Distances are measured in units of box-length fractions, not Angstroms.)
+
+\textit{(Advanced usage: if you have a solute whose atoms are all
+of type ``1'', surrounded by a solvent of atoms of type ``2''
+then you can also try this to center the box around it using:
+``pbc wrap -sel type=1 -all -centersel type=2 -center com''.
+The ``1'' and ``2'' are the @atom type numbers assigned by moltemplate.
+This can be found in the output\_ttree/ttree\_assignments.txt file.
+If you are viewing a trajectory, then this will modify the appearance
+of every step in the trajectory, centering the box around the solute atoms.)}
+
+For more details visualizing periodic-boundaries, visit:
+\url{http://www.ks.uiuc.edu/Research/vmd/plugins/pbctools}
+
+To prevent atom overlap, you should also check if your periodic boundary
+conditions are too small.
+To do that:
+\begin{list}{}
+\item a) select \mbox{\textit{Graphics}$\rightarrow$\textit{Representations}}
+menu option
+\item b) click on the "Periodic" tab, and
+\item c) click on the
+ \textbf{+x}, \textbf{-x},
+ \textbf{+y}, \textbf{-y},
+ \textbf{+z}, \textbf{-z},
+ and \textbf{self} checkboxes.
+\end{list}
+
+When doing so, inspect the system to make sure the atoms which appear
+occupy non-overlapping volumes in space.
+
+
+
+\section{Advanced moltemplate.sh Usage}
+\label{sec:ttree_man_page}
+
+
+moltemplate.sh has several optional command line arguments.
+These are explained in below:
+
+\begin{verbatim}
+Usage:
+
+moltemplate.sh [-atomstyle style] \
+ [-pdb/-xyz/-raw coord_file] \
+ [-a assignments.txt] file.lt
+
+Optional arguments:
+
+-atomstyle style By default, moltemplate.sh assumes you are using the "full"
+ atom style in LAMMPS. You can change the atom style to "dipole"
+ using -atomstyle dipole. If you are using a hybrid style,
+ you must enclose the list of styles in quotes. For example:
+ -atomstyle "hybrid full dipole"
+ For custom atom styles, you can also specify the
+ list of column names manually (enclosed in quotes):
+ -atomstyle "molid x y z atomid atomtype mux muy muz"
+ Be careful to enclose the entire list in quotes(").
+
+-raw raw_file The raw_file file should contain the atomic coordinates in RAW format.
+ RAW files are simple 3-column ASCII files containin the coordinates
+ for the atoms in the system. (One line per atom, 3 numbers per line.
+ The atoms must appear in the same order in the data file.)
+-xyz xyz_file An xyz_file argument should be supplied as an argument
+ following "-xyz".
+ This file should contain the atomic coordinates in xyz format.
+ (The atoms must appear in the same order in the data file.)
+
+-pdb pdb_file The pdb_file file should contain the atomic coordinates in PDB format.
+
+ This file should contain one ATOM or HETATM record per atom. Atoms
+
+ are sorted by chainID, resID, insertCode, atomID (in that order).
+ This order must match the order the atoms appear in the data file.
+
+ If the PDB file contains periodic boundary box information
+ (IE., a "CRYST1" record), this information is also copied
+ to the LAMMPS data file.
+ (Support for triclinic cells is experimental as of 2014-12-09.
+ Other molecular structure formats may be supported later.
+-a "@atom:x 1"
+-a assignments.txt
+ The user can customize the numbers assigned to atom, bond,
+ angle, dihedral, and improper types or id numbers by using
+ -a "VARIABLE_NAME VALUE"
+ for each variable you want to modify. If there are many
+ variables you want to modify, you can save them in a file
+ (one variable per line). For an example of the file format
+ run moltemplate.sh once and search for a file named
+ "ttree_assignments.txt". (This file is often located in
+ the "output_ttree/" directory.) Once assigned, the remaining
+ variables in the same category will be automatically assigned
+ to values which do not overlap with your chosen values.
+-b assignments.txt
+ "-b" is similar to "-a". However, in this case, no attempt
+ is made to assign exclusive (unique) values to each variable.
+-nocheck
+ Normally moltemplate.sh checks for common errors and typos and
+ halts if it thinks it has found one. This forces the variables
+ and categories as well as write(file) and write_once(file)
+ commands to obey standard naming conventions. The "-nocheck"
+ argument bypasses these checks and eliminates these restrictions.
+-checkff
+ This cause moltemplate.sh to check to make sure that there
+ are valid angle and dihedral interactions defined for every
+ 3 or 4 consecutively bonded atoms in the system
+ (defined in "Angles/Dihedrals By Type").
+\end{verbatim}
+
+\subsection{Manual variables assignment (``-a'' or ``-b'')}
+\label{sec:manual_assignment}
+
+It is possible to manually customize the values assigned
+to the atom types (or to any other ttree-style variables).
+ %Create a new file ("new\_assignments.txt" in the example below)
+ %containing the list of atom types you want to modify,
+ %and the numbers you want to assign them.
+ %(This is a two-column file which mimics the contents
+ %of the ``ttree\_assignments.txt'' file explained below.)
+For example, consider the the ``spce.lt'' file shown earlier.
+This file defines a single water molecule with two atom types
+(hydrogen and oxygen).
+Typically the ``O'' atom type is normally assigned to the integer ``1'',
+and ``H'' would be assigned to ``2''.
+This is because ``O'' appears before ``H'' in that file.
+If you wanted to swap the order, you could swap the order
+in which they first appear.
+
+Alternately you can specify the atom assignments directly
+using one or more ``-a'' flags followed by a quoted assignment string:
+\begin{verbatim}
+moltemplate.sh -a '@atom:SPCE/O 2' system.lt
+\end{verbatim}
+This assigns the oxygen atom type to ``2''.
+Note that quotes are necessary around the '@atom:SPCE/O 2' string,
+which is a single argument.
+(Also note that it is necessary to include SPCE/ before
+ %the ``H'' and
+ the O,
+ because in that example,
+ %these atoms
+ this atom
+ appeared (and
+ %were
+ was
+ thus defined) inside the SPCE molecule's environment.
+ Alternately, if
+ %they
+ it
+ had been defined outside, globally,
+ then you could refer to
+ %them
+ it
+ using
+ %``@atom:H'', or
+ ``@atom:O'')
+
+Variables need not be assigned to numbers.
+If for some reason, you want to substitute ``a string'' everywhere
+this atom type appears, you would do it this way:
+\begin{verbatim}
+moltemplate.sh -a '@atom:SPCE/O "a string"' system.lt
+\end{verbatim}
+
+Multiple assignments can be made by using multiple ``-a'' flags:
+\begin{verbatim}
+moltemplate.sh -a '@atom:SPCE/O 2' -a '@atom:SPCE/H 1' system.lt
+\end{verbatim}
+However if you have a large number of assignments to make,
+it may be more convenient to store them in a file.
+You can create a two-column text file (for example ``new\_assignments.txt'')
+and run moltemplate this way:
+\begin{verbatim}
+moltemplate.sh -a new_assignments.txt system.lt
+\end{verbatim}
+The contents of the ``new\_assignments.txt'' file in this example would be:
+\begin{verbatim}
+@atom:SPCE/O 2
+@atom:SPCE/H 1
+\end{verbatim}
+The order of lines in this file does not matter.
+
+
+ %\subsubsection*{Using ``-pdb'' and ``-a'' together}
+ %If you are using the ``-pdb'', ``-xyz'', or ``-raw'' flags,
+ %these must appear first.
+ %The the ``-a'' (and ``-b'') flags must appear
+ %\textit{at the end} of the argument list
+ %(but before the ``.lt'' file).
+ %For example:
+ %\begin{verbatim}
+ %moltemplate.sh -pdb file.pdb -a '@atom:SPCE/O 2' system.lt
+ %\end{verbatim}
+
+\subsubsection*{Assigning \$angle, \$dihedral, \$improper variables}
+In general any kind of variable can be assigned this way (not only atom types),
+including \$mol, \$bond, @bond, @angle, \$angle, ...
+as well as user-defined variable type.
+\textit{Caveat: The only occasional exceptions are the
+\$angle, \$dihedral, \$improper variables.}
+(When ``Angles By Type'' interactions are selected by the user,
+and mixed with regular ``Angles'',
+all of the \$angle variables are automatically generated.
+ %The user does not have the freedom to assign any \$angle variables.
+The same is true for ``Dihedrals By Type'' and ``Impropers By Type''.
+See section \ref{sec:nbody_by_type_utility} for an explanation of
+``By Type'' interactions.)
+
+
+Angles, dihedrals, and impropers interactions are automatically generated, and
+in this case the user does not have the freedom to assign these variables.
+ %``write('Data Angles By Types')'',
+ %``write('Data Dihedrals By Types')'', or
+ %``write('Data Angles By Types')''
+
+\subsubsection*{The ``-b'' flag}
+Note that when using the ``-a'' flag above, care will be taken to
+insure that the assignment(s) are exclusive.
+None of the atom types (other than @atom:SPCE/O) will be assigned ``2''.
+(For this reason, using the ``-a'' flag to change the atom type
+ assignments can, in principle, alter the numbers assigned
+ other atom types, or variables.)
+ %in the same category.)
+This usually the desired behavior.
+However suppose, for some reason, that you wanted to
+force a variable assignment, so that other
+variables in the same category are not effected.
+In that case, you can use the ``-b'' flag:
+\begin{verbatim}
+moltemplate.sh -b '@atom:SPCE/O 2' system.lt
+\end{verbatim}
+Keep in mind, that in this example, this could cause other atom-types
+(for example ``@atom:SPCE/H'') to be assigned to overlapping numbers.
+ %For this reason, the ``-b'' flag is usually used only for
+ %custom user-defined variable categories
+ %(such as the ``\$resid'' counter example described
+ %in section \ref{sec:custom_categories}).
+
+
+\subsubsection*{The ``ttree\_assignments.txt'' file}
+\label{sec:ttree_assignments}
+Generally, after running moltemplate.sh, a ``ttree\_assignments.txt''
+file will be created (or updated if it is already present)
+to reflect any changes you made.
+(This file is usually located in the ``output\_ttree/'' directory.
+ It can also be located the current directory ``./''.)
+You can always check this to make sure that the atom types
+(or any other ttree variables) were assigned correctly.
+
+The ``ttree\_assignments.txt'' file has the same format
+as the ``new\_assignments.txt'' file example above.
+
+\textit{Note:} In both files, an optional slash, ``/'',
+ may follow the ``@'' or ``\$'' characters,
+ as in ``@/atom:SPCE/O''.
+(This slash is optional and indicates
+the environment in which the counter is defined.
+The ``@atom'' counter is defined globally.
+The ``\$resid'' counter example described
+in section \ref{sec:custom_categories} is not.)
+
+\textit{Bug-warning: Using the ``delete'' command
+may cause some of the instance variables
+(specifically the \$atom, \$mol, \$bond, \$angle, \$dihedral,
+and \$improper variables)
+to be numbered incorrectly.
+However static variables (beginning with @) should always be accurate.
+-Andrew 2013-4-07.}
+
+
+\subsubsection*{lttree.py and ttree.py also accept ``-a'' and ``-b'' flags}
+If for some reason, you are using ``lttree.py'' or ``ttree.py''
+instead of ``moltemplate.sh'', then the ``-a'' and ``-b'' flags explained
+here also work with these scripts. They are not specific to moltemplate.sh.
+
+
+
+
+\subsection{Customizing the counting method using \textit{category}}
+\label{sec:custom_categories}
+Variables in ``.lt'' files are assigned to integers by default,
+starting with 1, and incrementing by 1.
+This can be overridden using the ``category'' command.
+For example, to create a new variable category named ``distance''
+which starts at $0$ and increments by $0.5$,
+you would include this command in your LT file:
+\begin{verbatim}
+category $distance(0.0, 0.5)
+\end{verbatim}
+(This command should \textit{not} be used with traditional counter categories
+ like
+\textit{\$atom, \$bond, \$angle, \$dihedral, \$improper, \$mol,
+@atom, @bond, @angle, @dihedral,} and \textit{@improper}.)
+
+ %\subsection{Combining files together}
+ %\label{sec:combining_data_files}
+ %This is useful if you are combining data files from two systems together.
+ %For example if a previous system contains
+ %317982 atoms, 292106 bonds, 275790 angles,
+ %259474 dihedrals, and 7520 impropers,
+ %then the next time you run moltemplate, you would insert the following text
+ %at the beginning of your LT file (system.lt)
+ %\begin{verbatim}
+ %category $atom(317983, 1)
+ %category $bond(292107, 1)
+ %category $angle(275791, 1)
+ %category $dihedral(259475, 1)
+ %category $improper(7521, 1)
+ %\end{verbatim}
+ %This will avoid overwriting the settings for these
+ %atoms, bonds, angles, dihedrals, and impropers in the previous system.
+ %The corresponding ``Atoms'', ``Bonds'', ``Angles'', ``Dihedrals'',
+ %and ``Impropers'' from the new DATA file can be directly appended to
+ %same sections from the old DATA file.
+ %(Note that the temporary files in the ``output\_ttree/''
+ %with names like ``Data Atoms'', ``Data Bonds'', ``Data Angles'', ...,
+ %contain only the text from these sections and should make this task easier.
+ %See section \ref{sec:output_ttree}.
+ %If you need help to combine a large number of systems together,
+ %contact \includegraphics[height=0.3cm]{author_email.png}
+ %and we can work on an automated solution.
+ %I would like to eventually see moltemplate be used for large systems.)
+
+\subsection{Creating local independent counters}
+\label{sec:cpath_simple}
+By default variables in a given category are always assigned
+to unique integers.
+This can be overridden using the ``category'' command.
+For example, you might have a variable that keeps track of
+the position index of each residue in each protein chain.
+The first residue in a protein (N-terminus) is assigned ``1'',
+the second residue, ``2'', etc,
+\textit{regardless} of the number of protein chains in your system.
+
+To do this, we can create a new variable category named ``resid'' which
+is defined within the scope of each instance of the ``Protein'' molecule:
+\begin{verbatim}
+Residue {
+ write("Data Atoms") {
+ $atom:ca @atom:CA $resid:. 0.0 0.0 0.0 0.0
+ $atom:cb @atom:CB $resid:. 0.0 1.53 0.0 0.0
+ }
+}
+
+Protein {
+ category $resid(1,1)
+ residues = Residue[100]
+}
+
+proteins = Protein[10]
+\end{verbatim}
+In this example, there are 10 proteins containing 100 residues each.
+The ``\$resid'' counters will be replaced with integers in the range
+$1\ldots 100$,
+(not $1\ldots 1000$, as you might expect).
+Because the ``\$resid'' counter is local to the
+protein it is defined within,
+``\$resid'' variables in other proteins do not share the same counter,
+and can overlap.
+
+\subsection{Counting order}
+\label{sec:order}
+Most variables are assigned automatically.
+By default static variables (@) are assigned in the order
+they appear in the file (or files, if multiple LT files are included).
+Subsequently, instance variables (\$)
+are assigned in the order they are created during instantiation.
+However you can customize the order in which they are assigned.
+
+\subsubsection*{Ordering}
+
+LT files are parsed by moltemplate.sh/lttree.py
+in multiple stages.
+The ``write\_once()'' and ``write()'' commands are carried out
+in the static and instance phases respectively, as explained below.
+
+\subsubsection*{The \textit{static} phase}
+
+In the ``static'' phase,
+``write\_once()'' statements are carried out in the order they are read
+from the user's input file(s)
+(regardless of whether or not they appear in nested classes).
+Any ``include'' commands will effect this order.
+After processing the class definitions, and carrying out
+the ``write\_once()'' commands,
+lttree.py begins the instantiation phase.
+
+\subsubsection*{The \textit{instantiation} phase}
+
+During this phase, lttree.py makes copies of (instantiates) classes
+which were requested by the user using the ``new'' command.
+During this stage, lttree.py also appends data
+to files using the ``write'' command.
+(In this manual, the ``write()'' and ``new'' are called instance commands.)
+The sequence of alternating ``write()'' and ``new'' commands in the
+order that they appear in the user's input file(s).
+``new'' commands recursively invoke any instance commands for each
+copy of the class they create.
+ %Instantiation proceeds recursively, creating new copies of classes
+ %which appear in ``new'' statements defined within a class.
+
+ %\subsubsection{Instance variables ordering (\$)}
+ %\label{sec:order_customization}
+ %By default, variables with a \$ prefix
+ %are assigned in exactly the same order
+ %that the ``write()'' commands are carried out
+ %(as described above).
+ %
+ %\subsubsection*{The ``-order-dfs'' command}
+ %\textit{(This is an experimental feature as of 2012-2-13.)}
+ %However, if the ``-order-dfs'' command line option is selected,
+ %then instance variables (\$) are counted in the order they appear
+ %in the tree of instantiated classes (IE. the ``instance tree''), with only
+ %secondary regard to the order of the ``write'' commands that created them.
+ %Specifically, this means that the lowest numbers are assigned
+ %to ordinary variables defined outside any class definitions
+ %(a.k.a. ``global instance frame'').
+ %Attention is then turned to the variables belonging to
+ %the first class which is instantiated,
+ % %(IE. using the ``new'' command).
+ %and numbers are then assigned to these variables.
+ %Whenever a class contains any sub-instances,
+ %the variables in that sub-instance are assigned to numbers, recursively.
+ %(In other words, when deciding variable order,
+ % the tree of instantiated classes is traversed
+ % with a depth-first-search order.)
+ %Static variables (@) are effected in a similar way (see below).
+ % %This method of ordering pays no attention to the the order that
+ % %``write()'' commands would be executed, and the counting order is different.
+ %(For reference, this is also the order that variables are
+ % listed in the ``ttree\_assignments.txt'' file.)
+
+ %\subsubsection*{The ``-order-file'' command}
+ %\textit{(This is an experimental feature as of 2012-2-13.)}
+ %If ``-order-file'' command line option is selected,
+ %then instance variables (\$) are primarily sorted
+ %according to the position that the variable first
+ %appears in the user input files.
+ %Position in the instance tree (as described above)
+ %is used as a secondary sorting criteria.
+ %After sorting, variables are then assigned
+ %to numbers in the order they have been sorted.
+ %This will not match the order that the
+ %``write()'' commands are carried out by lttree.py.
+
+
+%\subsubsection*{Static variable ordering (@)}
+%
+%By default, static @ variables are assigned in the order that
+%they appear in the user's input file
+%(after any ``include'' commands have been carried out).
+%This is true regardless of whether they appear in
+%``write()'' or ``write\_once()'' commands,
+%and whether they appear in nested classes.
+%If ``-order-dfs'' is selected, then static @ variables are defined
+%in the order they appear in the tree,
+%with variables defined in the outermost nested class,
+%(the global class named ``/'') define first.
+%If this option is selected then static variables defined in
+%``write\_once()'' commands are assigned to numbers first
+%before any variables in ``write()'' command are processed.
+%(Position in the input file is used as a secondary sort criteria.)
+%On the other hand, the ``-order-file'' command line option
+%(described above) does not modify the numeric ordering of static variables
+%(because they are ordered according to file position by default).
+
+Again, the counting of instance variables (prefixed by ``\$'')
+does not interfere with static variable assignment.
+For example ``@atom:x'' and ``\$atom:x''
+correspond to different variables and
+belong to different variable categories
+(``@atom'' and ``\$atom'')
+and they are assigned to numerical values independently.
+
+
+
+\section{Using \textit{lttree.py} or \textit{ttree.py} directly}
+\subsection*{(bypassing moltemplate.sh)}
+\label{sec:ttree}
+
+``moltemplate.sh'' is only a simple script which invokes ``lttree.py'',
+and then combines the various output files generated by lttree.py into a
+single LAMMPS input script and a data file, along with coordinate data.
+``lttree.py'' then invokes ``ttree.py''.
+``ttree.py'' lacks the ability to read or generate coordinates, but
+is otherwise nearly identical to ``lttree.py'' and ``moltemplate.sh''.
+
+If in the future moltemplate.sh no longer works with some new, recently added
+LAMMPS feature, you can bypass moltemplate.sh and run lttree.py
+or ttree.py directly.
+Everything moltemplate.sh does can essentially be done by hand with
+a unix shell and a text editor. This procedure is outlined below.
+
+
+\subsection{First run ttree.py}
+
+The syntax for running ``ttree.py'' is identical to the syntax for running
+moltemplate.sh. The moltemplate.sh syntax is explained above.
+
+Unfortunately, ttree.py does not understand the -pdb, -xyz, or -raw arguments
+for processing coordinate data. If you run ``ttree.py'' directly, then you
+must extract the coordinate data from these files yourself and insert it into
+your lammps input files manually. This is explained below.
+
+Example:
+Go to the examples/waterSPCE/ directory and run:
+
+ttree.py system.lt
+
+This will prepare LAMMPS input files for a system of 32 water molecules.
+(In this example, we are using the ``SPCE'' water model.)
+
+Running the command above will probably create the following files:
+``Data Atoms'' (The ``Atoms'' section of a LAMMPS data file, w/o coordinates)
+``Data Bonds'' (The ``Bonds'' section of a LAMMPS data file)
+``Data Angles'' (The ``Angles'' section of a LAMMPS data file)
+``Data Masses'' (The ``Masses'' section of a LAMMPS data file)
+``In Init'' (The ``Initialization'' section of a LAMMPS input script.)
+``In Settings'' (The ``Settings'' section of a LAMMPS input script, which typically
+ contains force-field parameters, group defs, and constraints)
+``Data Boundary'' (The ``Periodic Boundary Conditions'' section of a LAMMPS data file.)
+``ttree\_assignments.txt'' (Variable assignments. See ``customization'' section.)
+
+
+This data can be easily combined into a single LAMMPS data file and a
+single lammps input script later on, using a text editor, or the unix
+``cat'' and ``paste'' commands.
+
+It may also create these files:
+``Data Angles By Type'',
+``Data Dihedrals By Type'',
+``Data Impropers By Type''.
+These files tell moltemplate how to automatically generate bonded-interactions
+by atom and bond type. They must be converted to lists of
+angles, dihedrals, and impropers, using the ``nbody\_by\_type.py'' utility
+ %(and stored in files named
+ % ``Data Angles'' ``Data Dihedrals'' and ``Data Impropers''),
+(as explained in appendix \ref{sec:nbody_by_type}).
+
+
+\subsection{Then create a LAMMPS data file}
+
+Create a new file (``system.data'' in this example),
+and paste the following text into it:
+
+\subsubsection*{Create the ``header'' section}
+Example:
+\begin{verbatim}
+LAMMPS Description
+
+ 96 atoms
+ 64 bonds
+ 32 angles
+ 0 dihedrals
+
+ 2 atom types
+ 1 bond types
+ 1 angle types
+ 0 dihedral types
+
+ 0.000000 9.043 xlo xhi
+ 0.000000 15.663 ylo yhi
+ 0.000000 7.361 zlo zhi
+\end{verbatim}
+If you use ttree.py, will have to count the number of
+atoms, bonds, and atom types, bond types etc. yourself.
+
+Note: the numbers in the ``xlo xhi'' ``ylo yhi'' ``zlo zhi'' lines determine the
+simulation box size, and will vary from system to system.
+If ttree created a file named ``Data Boundary'', you can copy this information from there.
+(Triclinic cells have a fourth line containing the ``xy xz yz'' parameters.)
+(If you have a .PDB file, these boundary box numbers are in the ``CRYST1''
+line near the beginning of the file.)
+
+
+Once you've created the ``header'' section of the data file,
+paste the other sections to the end of your LAMMPS data file
+(with the appropriate section headings and blank lines).
+\begin{verbatim}
+echo "" >> system.data
+echo "Atoms" >> system.data
+echo "" >> system.data
+cat "Data Atoms" >> system.data
+echo "" >> system.data
+echo "Bonds" >> system.data
+echo "" >> system.data
+cat "Data Bonds" >> system.data
+echo "" >> system.data
+echo "Angles" >> system.data
+echo "" >> system.data
+cat "Data Angles" >> system.data
+echo "" >> system.data
+echo "Masses" >> system.data
+echo "" >> system.data
+cat "Data Masses" >> system.data
+echo "" >> system.data
+\end{verbatim}
+
+Depending on your system, you may also have these files as well:
+``Data Dihedrals''
+``Data Impropers''
+``Data Bond Coeffs''
+``Data Angle Coeffs''
+``Data Dihedral Coeffs''
+``Data Improper Coeffs''.
+If so, then then append them to the end of your data file as well.
+(There are numerous other optional sections for ``class2'' force-fields.
+ Exotic atom styles also require their own sections
+ such as ``lines'' ``ellipsoids'' and ``triangles''.
+ Consult the LAMMPS documentation for details on these as well.)
+
+
+\subsection{Now create the LAMMPS input script}
+
+\begin{verbatim}
+echo "include \"In Init\"" > system.in
+echo "read_data system.data" >> system.in
+echo "include \"In Settings\"" >> system.in
+\end{verbatim}
+Lastly, you have to worry about supplying the atomic coordinates.
+(Unlike moltemplate, ttree.py does not handle atom coordinates.)
+
+The following commands are useful for extracting coordinates from PDB or XYZ
+files and converting them to LAMMPS input script commands:
+
+\subsection{Extract coordinates}
+To extract coordinates from a .PDB file (``file.pdb''), use:
+
+\begin{verbatim}
+awk '/^ATOM |^HETATM/{print substr($0,31,8) \
+ " "substr($0,39,8) \
+ " "substr($0,47,8)}' \
+ < file.pdb \
+ > tmp_atom_coords.dat
+\end{verbatim}
+\textit{(Note: There should be two spaces following the word ``ATOM'' above.)}
+%between ``ATOM'' and ``$|$\textasciicircum{}HETATOM'' above.)}
+
+
+To extract coordinates from an XYZ file (``file.xyz''), use:
+\begin{verbatim}
+awk 'function isnum(x){return(x==x+0)} \
+ BEGIN{targetframe=1;framecount=0} \
+ {if (isnum($0)) {framecount++} else \
+ {if (framecount==targetframe) { \
+ if (NF>0) { \
+ if ((NF==3) && isnum($1)) { \
+ print $1" "$2" "$3} \
+ else if ((NF==4) && isnum($2)) { \
+ print $2" "$3" "$4} }}}}' \
+ < file.xyz \
+ > tmp_atom_coords.dat
+\end{verbatim}
+
+\subsection{Convert the coordinate file to LAMMPS input script format}
+
+\begin{verbatim}
+awk '{if (NF>=3) { \
+ natom++; print "set atom "natom" x "$1" y "$2" z "$3" "}}' \
+ < tmp_atom_coords.dat \
+ >> system.in.coords
+\end{verbatim}
+Finally import ``system.in.coords'' in your lammps input script using:
+\begin{verbatim}
+echo "include \"system.in.coords\"" >> system.in
+\end{verbatim}
+
+
+\section{Using the \textit{nbody\_by\_type.py} utility}
+\subsection*{(bypassing moltemplate.sh)}
+\label{sec:nbody_by_type_utility}
+
+moltemplate.sh uses the ``nbody\_by\_type.py'' utility
+to generate many-body interactions between bonded atoms
+by atom type.
+In the event that moltemplate.sh crashes or is not up-to-date with LAMMPS,
+you can assign interactions by type by manually invoking nbody\_by\_type.py
+yourself.
+
+
+As an example, the following command will generate a file ``Angles''
+containing lines of text which should eventually be pasted into the ``Angles''
+section of a LAMMPS data file:
+\begin{verbatim}
+nbody_by_type Angles \
+ -atoms "Data Atoms" \
+ -bonds "Data Bonds" \
+ -subgraph "nbody_Angles.py" \
+ -nbodybytype "Data Angles By Type" \
+ > "Data Angles"
+\end{verbatim}
+
+For dihedral or improper interactions, repeat the command above, and
+replace ``Angles'' with ``Dihedrals'', or ``Impropers'' everywhere.
+
+\textit{Note:
+The above instructions work assuming that you do not use any
+wildcard characters (``*'' or ``?'')
+or regular expressions
+in your ``Angles By Type'' section.
+If you use wildcards or regular expressions,
+then you must run the program this way:
+}
+\begin{verbatim}
+nbody_by_type Angles \
+ -atoms "Data Atoms.template" \
+ -bonds "Data Bonds.template" \
+ -subgraph "nbody_Angles.py" \
+ -nbodybytype "Data Angles By Type.template" \
+ > "Data Angles.template"
+\end{verbatim}
+\textit{
+Afterwards, you must then replace each variable in the
+``Angles.template'' file with the appropriate integer
+before you copy the contents into the LAMMPS data file.
+(The ttree\_render.py program may be useful for this.
+ Open the moltemplate.sh file with a text editor to
+ see how this was done.)
+}
+
+Note that ``Data Atoms'', and ``Data Bonds'' refer to files which are normally
+created by ``ttree.py'' or ``lttree.py'' which
+contain atom and bond data in LAMMPS data file format, respectively.
+Similarly ``Data Angles By Type'' refers to a file
+containing instructions for how to automatically generate angles by atom type.
+(Again, this would typically be generated by running ``ttree.py'' or
+ ``lttree.py'' on an LT file containing a block of text wrapped
+ inside a ``write\_once('Data Angles By Type')'' command.)
+
+Note: if you already have existing ``Data Angles'', you can add them to
+the list of angle interactions created by nbody\_by\_type.py.
+
+\begin{verbatim}
+nbody_by_type Angles \
+ -atoms "Data Atoms" \
+ -bonds "Data Bonds" \
+ -subgraph "nbody_Angles.py" \
+ -nbodyfile "Data Angles" \
+ -nbodybytype "Data Angles By Type" \
+ > extra_Angles.tmp
+cat extra_Angles.tmp "Data Angles" > new_Angles
+mv -f new_Angles "Data Angles"
+rm -f extra_Angles.tmp
+\end{verbatim}
+
+
+\subsection{Usage}
+For reference, the complete man page for the ``nbody\_by\_type.py''
+command is included below.
+\begin{verbatim}
+ nbody_by_type.py reads a LAMMPS data file (or an excerpt of a LAMMPS)
+ data file containing bonded many-body interactions by atom type
+ (and bond type), and generates a list of additional interactions
+ in LAMMPS format consistent with those type (to the standard out).
+
+ Typical Usage:
+
+ nbody_by_type.py X < old.data > new.data
+
+ --or--
+
+ nbody_by_type.py X \
+ -atoms atoms.data \
+ -bonds bonds.data \
+ -subgraph "nbody_X.py" \
+ -nbody X.data \
+ -nbodybytype X_by_type.data
+ > new_X.data
+
+ In both cases "X" denotes the interaction type, which
+ is either "Angles", "Dihedrals", or "Impropers".
+ Support for other interaction types can be added by the user. See below.
+
+ Note: The optional "-subgraph" argument allows you to customize the
+ rules used to match and generate interactions of that type.
+ It is optional, and is only useful for forcefields which
+ use non-standard dihedral or improper atom-order convetions.)
+
+ -------- Example 1 -------
+
+ nbody_by_type.py X < old.data > new.data
+
+ In this example, nbody_by_type.py reads a LAMMPS data file
+ "orig.data", and extracts the relevant section ("Angles",
+ "Dihedrals", or "Impropers"). It also looks a section named "X By Type",
+ (eg. "Angles By type", "Impropers By type", "Impropers By type")
+ which contains a list of criteria for automatically defining additional
+ interactions of that type. For example, this file might contain:
+
+ Angle By Type
+
+ 7 1 2 1 * *
+ 8 2 2 * * *
+ 9 3 4 3 * *
+
+ The first column is an interaction type ID.
+ The next 3 columns are atom type identifiers.
+ The final 2 columns are bond type identifiers.
+ The * is a wildcard symbol indicating there is no preference for bond types
+ in this example. (Optionally, regular expressions can also be used to
+ define a type match, by enclosing the atom or bond type in / slashes.)
+
+ The first line tells us to that there should be a 3-body "Angle"
+ interaction of type "7" whenever an atom of type 1 is bonded to an atom
+ of type "2", which is bonded to another atom of type "1" again.
+ The second line tells us that an angle is defined whenever three atoms
+ are bonded together and the first two are of type "2".
+ (Redundant angle interactions are filtered.)
+
+ New interactions are created for every group of bonded
+ atoms which match these criteria if they are bonded together
+ in the relevant way for that interaction type (as determined by
+ nbody_X.py), and printed to the standard output. For example,
+ suppose you are automatically generating 3-body "Angle" interactions using:
+
+ nbody_by_type Angles < old.data > new.data
+
+ The file "new.data" will be identical to "old.data", however the
+ "Angles By Type" section will be deleted, and the following lines of
+ text will be added to the "Angles" section:
+
+ 394 7 5983 5894 5895
+ 395 7 5984 5895 5896
+ 396 7 5985 5896 5897
+ : : : : :
+ 847 9 14827 14848 14849
+
+ The numbers in the first column are counters which assign a ID to
+ every interaction of that type, and start where the original "Angles"
+ data left off (New angle ID numbers do not overlap with old ID numbers).
+ The text in the second column ("7", "9", ...) matches the text from the
+ first column of the "Angle By Type" section of the input file.
+
+ -------- Example 2 -------
+
+ nbody_by_type.py X \
+ -atoms atoms.data \
+ -bonds bonds.data \
+ -subgraph "nbody_X.py" \
+ -nbody X.data \
+ -nbodybytype X_by_type.data \
+ > new_X.data
+
+ In particular, for Angle interactions:
+
+ nbody_by_type.py Angles \
+ -atoms atoms.data \
+ -bonds bonds.data \
+ -subgraph "nbody_Angles.py" \
+ -nbody angles.data \
+ -nbodybytype angles_by_type.data \
+ > new_Angles.data
+
+ When run this way, nbody_by_type.py behaves exactly the same way
+ as in Example 1, however only the lines of text corresponding to
+ the new generated interactions are printed, (not the entire data file).
+ Also note, that when run this way, nbody_by_type.py does not read the
+ LAMMPS data from the standard input. Instead, it reads each section of
+ the data file from a different file indicated by the arguments following
+ the "-atoms", "-bonds", "-nbody", and "-nbodybytype" flags.
+
+ "Angles" is a 3-body interaction style. So when run this way,
+ nbody_by_type.py will create a 5 (=3+2) column file (new_Angles.data).
+
+Note: the atom, bond and other IDs/types in need not be integers.
+
+Note: This program must be distributed with several python modules, including:
+ nbody_Angles.py, nbody_Dihedrals.py, and nbody_Impropers.py. These
+ contain bond definitions for angular, dihedral, and improper interactions.
+\end{verbatim}
+
+\subsection{Custom bond topologies}
+\label{sec:nbody_by_type_custom}
+ Currently nbody\_by\_type.py can detect and generate ``Angle''
+and ``Dihedral'' interactions between 3 and 4 consecutively bonded atoms.
+It can also generate ``Improper'' interactions between 4 atoms bonded
+with a T-shaped topology (one central atom with 3 branches).
+The nbody\_by\_type.py script imports external modules named
+``nbody\_Angles.py'', ``nbody\_Dihedrals.py'', and ``nbody\_Impropers.py''
+to help it detect angles, dihedrals, and improper interactions automatically.
+In case any new interaction types are ever added to LAMMPS,
+it is easy to define new bonded interaction types by supplying
+a new ``nbody\_X.py'' python modules.
+These python files are usually only a few lines long.
+Copy one of the existing modules
+``nbody\_Angles.py'', ``nbody\_Dihedrals.py'', or ``nbody\_Impropers.py'')
+and modify it to the subgraph inside to match the bonded network
+that you want to search for.
+
+
+
+
+
+\section{Variable syntax details}
+\label{sec:adv_variable_syntax}
+
+Counter variables have names like:
+
+\$\textit{\textbf{cpath}}/\textit{\textbf{catname}}:\textit{\textbf{lpath}}
+
+or
+
+@\textit{\textbf{cpath}}/\textit{\textbf{catname}}:\textit{\textbf{lpath}}
+
+(Note: All of the variable examples in this appendix can refer to either
+static @ variables or instance \$ variables. Both variable types obey the
+same syntax rules. For brevity, only the instance \$ variables are shown.)
+
+All counter variables have 3 parts:
+
+\begin{list}{}
+\item
+\textit{\textbf{cpath}}, the category scope object (which is usually omitted)
+\item
+\textit{\textbf{catname}}, the category name
+\item
+\textit{\textbf{lpath}}, the ``leaf path''.
+ This includes the variable's name and (optionally)
+ the location of that variable in the object tree relative
+ to the object in which the variable is referenced
+ (the current-context object)
+\item
+\end{list}
+
+Typically the \textit{\textbf{cpath}} is omitted,
+in which case it means that the category has global scope.
+\textit{(This is true for all of the standard counter variable types:
+``@atom'', ``\$atom'', ``\$mol'',
+``@bond'', ``\$bond'',
+``@angle'', ``\$angle'',
+``@dihedral'', ``\$dihedral'',
+``@improper'', and ``\$improper''.)}
+However the \textit{\textbf{cpath}} can be specified
+explicitly, as in this example: ``\$/atom:''
+(``/'' denotes explicitly that the counter has global scope).
+Another example with an explicit \textit{\textbf{cpath}} is
+the custom local counter variable named ``\$/proteins[5]/resid:.''
+(See section \ref{sec:cpath_simple}.)
+In this example, the \textit{\textbf{cpath}} is ``\$/proteins[5]'', the
+\textit{\textbf{catname}} is ``resid'',
+and the \textit{\textbf{lpath}} is ``.''.
+(In section
+\ref{sec:cpath_simple},
+we never explicitly specified the \textit{\textbf{cpath}}.
+This is a source of confusion.
+When \textit{\textbf{cpath}} is omitted,
+then the program searches up the tree for an ancestor node
+containing a category with a matching \textit{\textbf{catname}}. Consequently
+the \textit{\textbf{cpath}} rarely ever needs to be stated explicitly.
+See section \ref{sec:variables_shorthand} for more details.)
+
+
+\subsection{General variable syntax}
+The ellipsis (``...'') commonly appears in counter variables
+(or it is implied). The most complex and general variable syntax is:
+
+\$\textit{\textbf{cpath}}/.../\textit{\textbf{catname}}:\textit{\textbf{lpath}}
+
+This means: find the closest ancestor of the \textit{\textbf{cpath}} object containing a category named ``\textit{\textbf{catname}}''. This ancestor determines the category's scope. Counter variables in this category are local to ancestors of that object. In this usage example, \textit{\textbf{lpath}} identifies the location of the variable's corresponding ``leaf'' object
+relative to the category scope object (\textit{\textbf{cpath}}).
+On the other hand, if the the category's scope (\textit{\textbf{cpath}})
+was not explicitly stated by the user (which is typical),
+then the \textit{\textbf{lpath}} identifies the location of the leaf object relative to
+the object in which the variable was referenced
+(the current-context ``.'').
+
+\subsection{Variable shorthand equivalents}
+\label{sec:variables_shorthand}
+
+\subsubsection*{\$\textit{\textbf{catname}}:\textit{\textbf{lpath}} is equivalent to ``\$.../\textit{\textbf{catname}}:\textit{\textbf{lpath}}''}
+ %\label{sec:variables_shorthand_catname:lpath}
+This means: find the closest direct ancestor of the current object containing a category whose name matches \textit{\textbf{catname}}. If not found, create a new category (at the global level). \textit{This is the syntax used most frequently in LT files.}
+
+If the colon is omitted, as in \$\textit{\textbf{lpath}}/\textit{\textbf{catname}},
+then it is equivalent to: \$\textit{\textbf{catname}}:\textit{\textbf{lpath}}.
+Again, in these cases, \textit{\textbf{lpath}} is a path which is relative to the object
+in which the variable was referenced.
+
+If \$\textit{\textbf{lpath}} is omitted, then this is equivalent to \$\textit{\textbf{catname}}:. In other words, the the leaf node is the current node, ``.''. (This syntax is often used to count keep track of molecule ID numbers. You can use the counter variable ``\$mol'' to keep track of the current molecule id number, because it counts the molecular objects in which this variable was defined. In this case the name of the category is ``mol''. As in most examples, the category object, \textit{\textbf{cpath}}, is not specified. This means the category object is automatically global. A global category object means that every molecule object is given a unique ID number which is unique for the entire system, not just unique within some local molecule. As a counter-example, consider amino acid residue counters. Each amino acid in a protein can be assigned a residue ID number which identifies it within a single protein chain. However because their category was defined locally at the protein level, these residue ID numbers are not global, and are not uniquely defined if there are multiple protein chains present.)
+
+
+
+\subsubsection*{\$\textit{\textbf{cpath}}/\textit{\textbf{catname}}:\textit{\textbf{lpath}}/...}
+\textit{(SHORTHAND equivalent)}
+ %\label{sec:variables_shorthand_catname:lpath_ellipsis}
+
+Find the category name and object corresponding to ``\$\textit{\textbf{cpath}}/\textit{\textbf{catname}}:''
+(see above)
+If \$\textit{\textbf{cpath}}/ is blank, then search for an ancestor with a category whose name matches \textit{\textbf{catname}}, as described above.
+To find the variable's corresponding ``leaf object'', start from the CURRENT object (not the category object). If \textit{\textbf{lpath}} is not empty, follow \textit{\textbf{lpath}} to a new position in the tree. Otherwise, start at the current object. (An empty \textit{\textbf{lpath}} corresponds to the current object.) From this position in the object tree search for a direct ancestor which happens to also be ``leaf object'' for some other variable which belongs to the desired category. If no such variable is found, then ttree creates a new variable whose leaf object is the object at the \textit{\textbf{lpath}} position, and put it in the desired category.
+
+\subsubsection*{\$\textit{\textbf{lpath}}/.../\textit{\textbf{catname}} is equivalent to \$\textit{\textbf{catname}}:\textit{\textbf{lpath}}/...}
+\textit{(SHORTHAND equivalent)}
+ %\label{sec:variables_shorthand_lpathSellipsisScatname}
+
+If \textit{\textbf{lpath}} is omitted, then start from the current node.
+(In the molecular examples, ``\$.../mol'' is a variable whose category name is ``mol''. The ``leaf object'' for the variable is either the current object in which this variable was defined, OR a direct ancestor of this object which has been assigned to a variable belonging to the category named ``mol''. In this way large objects (large molecules) can be comprised of smaller objects, without corrupting the ``mol'' counter which keeps track of which molecule we belong to. In other words, ``\$.../mol'' unambiguously refers to the ID\# of the large molecule to which this sub-molecule belongs (regardless of however many layers up that may be).)
+
+\subsubsection*{\$\textit{\textbf{cpath}}/\textit{\textbf{catname}}:\textit{\textbf{lpath}}}
+ %\label{sec:variables_shorthand_cpathScatname:lpath}
+\textit{Variables in the output\_ttree/ttree\_assignments.txt file
+ use the this syntax.}
+
+If the user explicitly specifies the path leading up to the cat node, and avoids using ``...'', then \textit{\textbf{lpath}} is interpreted relative to the category object, not the current object (however \textit{\textbf{cpath}} is interpreted relative to the current object). This happens to be the format used in the ``ttree\_assignments.txt'' file (although you can use it anywhere else in an ``.LT'' file). In ``ttree\_assignments.txt'' file, \textit{\textbf{cpath}} is defined relative to the global object. The variables in that file always begin with ``\$/'' or ``@/''. The slash at the beginning takes us to the global environment object (to which all the other objects belong). (Since the variables in the ``ttree\_assignments.txt'' always begin with ``\$/'' or ``@/'', this distinction is usually not important because the category object for most variables usually is the ``global'' root object.)
+
+
+
+\bibliography{refs.bib}
+
+\end{document}
+
diff --git a/tools/moltemplate/doc/moltemplate_manual_src/random_2bead.jpg b/tools/moltemplate/doc/moltemplate_manual_src/random_2bead.jpg
new file mode 100644
index 000000000..f67da797f
Binary files /dev/null and b/tools/moltemplate/doc/moltemplate_manual_src/random_2bead.jpg differ
diff --git a/tools/moltemplate/doc/moltemplate_manual_src/random_3bead.jpg b/tools/moltemplate/doc/moltemplate_manual_src/random_3bead.jpg
new file mode 100644
index 000000000..15d7b2967
Binary files /dev/null and b/tools/moltemplate/doc/moltemplate_manual_src/random_3bead.jpg differ
diff --git a/tools/moltemplate/doc/moltemplate_manual_src/random_heteropolymer.jpg b/tools/moltemplate/doc/moltemplate_manual_src/random_heteropolymer.jpg
new file mode 100644
index 000000000..cc6822e7b
Binary files /dev/null and b/tools/moltemplate/doc/moltemplate_manual_src/random_heteropolymer.jpg differ
diff --git a/tools/moltemplate/doc/moltemplate_manual_src/refs.bib b/tools/moltemplate/doc/moltemplate_manual_src/refs.bib
new file mode 100644
index 000000000..fd5276aaf
--- /dev/null
+++ b/tools/moltemplate/doc/moltemplate_manual_src/refs.bib
@@ -0,0 +1,161 @@
+@STRING{CELL="Cell"}
+@STRING{JMB="J. Mol. Biol."}
+@STRING{BIOCHEMISTRY="Biochemistry"}
+@STRING{BIOPHYSICALCHEMISTRY="Biophys. Chem."}
+@STRING{JCP="J. Chem. Phys."}
+@STRING{PNAS="Proc. Natl. Acad. Sci. USA"}
+@STRING{BIOPOLYMERS="Biopolymers"}
+@STRING{SCIENCE="Science"}
+@STRING{MMBR="Microbiol. Mol. Biol. R."}
+@STRING{NATURE="Nature"}
+@STRING{NATSTRUCTBIOL="Nat. Struct. Biol."}
+@STRING{NATBIOTECHNOL="Nat. Biotechnol."}
+@STRING{JBIOLCHEM="J. Biol. Chem."}
+@STRING{JSTRUCTBIOL="J. Struct. Biol."}
+@STRING{FOLDINGANDDESIGN="Folding and Design"}
+%@STRING{PROTSTRFUNCGEN="Prot. Str. Func. Gen."}
+@STRING{PROTSTRFUNCGEN="Proteins"}
+@STRING{PRL="Phys. Rev. Lett."}
+@STRING{TIBS="Trends in Biochem. Sci."}
+@STRING{EMBOJ="EMBO J."}
+@STRING{FEBS="FEBS Letters"}
+@STRING{FASEB="FASEB"}
+@STRING{JBIOCHEMTOXICOL="J. Biochem. Toxicol."}
+@STRING{CRBMB="Crit. Rev. Biochem. Mol. Biol."}
+@STRING{CHEMREV="Chem. Rev."}
+@STRING{ANNUREVBIOCHEM="Annu. Rev. Biochem."}
+% ------------------ books ----------------------
+
+
+@INBOOK{vanKampenBook,
+ AUTHOR="van Kampen, N. G.",
+ TITLE="Stochastic Processes in Physics and Chemistry, 2nd Edition",
+ PUBLISHER="North Holland",
+ PAGES={96--127},
+ MONTH="July",
+ DAY="1",
+ YEAR=2001
+}
+
+
+@ARTICLE{LAMMPS,
+ AUTHOR="S. Plimpton",
+ TITLE="Fast Parallel Algorithms for Short-Range Molecular Dynamics",
+ JOURNAL="J. Comp. Phys.",
+ VOLUME=117,
+ PAGES={1--19},
+ YEAR="1995",
+ NOTE={\url{http://lammps.sandia.gov/}}
+}
+
+
+@ARTICLE{packmol,
+ AUTHOR="Martínez, L. and Andrade, R. and Brigin, E. G. and Martínez, J. M.",
+ TITLE="Packmol: A package for building initial configurations for molecular dynamics simulations.",
+ JOURNAL="J. Comp. Chem.",
+ VOLUME=30,
+ NUMBER=13,
+ PAGES={2157--2164},
+ YEAR=2009,
+ NOTE={\url{http://www.ime.unicamp.br/~martinez/packmol/}}
+}
+
+
+%% The primary VMD citation, should be used by all publications using VMD
+@article{VMD,
+ author={William Humphrey and Andrew Dalke and Klaus Schulten},
+ title={{VMD} -- {V}isual {M}olecular {D}ynamics},
+ journal={Journal of Molecular Graphics},
+ year=1996,
+ volume=14,
+ pages={33-38},
+ tbstatus={Published.},
+ techrep={},
+ tbreference={222},
+ NOTE={\url{http://www.ks.uiuc.edu/Research/vmd}}
+}
+
+%% Interactive Molecular Dynamics, cited by papers doing IMD simulations
+@inproceedings{VMDIMD,
+ author={John Stone and Justin Gullingsrud and Paul Grayson and Klaus Schulten},
+ title={A System for Interactive Molecular Dynamics Simulation},
+ booktitle={2001 ACM Symposium on Interactive 3D Graphics},
+ publisher={ACM SIGGRAPH},
+ address={New York},
+ editor={John F. Hughes and Carlo H. S\'equin},
+ pages={191-194},
+ year={2001},
+ note={},
+ tbreference={304},
+ tbstatus={Published.},
+ annote={This symposium took place between March 19-21, 2001. {ISBN} 1-58113-292-1.}
+}
+
+@MISC{topotools,
+ AUTHOR="Axel Kohlmeyer",
+ TITLE="{The TopoTools VMD plugin}",
+ HOWPUBLISHED={\url{http://sites.google.com/site/akohlmey/software/topotools/}}
+}
+
+
+@MISC{pizzapy,
+ AUTHOR="Steve Plimpton",
+ TITLE="{The Pizza.py toolkit}",
+ HOWPUBLISHED={\url{http://www.cs.sandia.gov/~sjplimp/pizza.html}}
+}
+
+
+@ARTICLE{TraPPE,
+ AUTHOR="Marcus G. Martin and J. Ilja Siepmann",
+ TITLE="Transferable Potentials for Phase Equilibria. 1. United-Atom Description of n-Alkanes",
+ JOURNAL="J. Phys. Chem. B",
+ VOLUME=102,
+ NUMBER=14,
+ PAGES={2569--2577},
+ YEAR=1998
+}
+
+
+@ARTICLE{Raviv++SafinyaBiophysJ2007,
+ AUTHOR="Uri Raviv and Toan Nguyen and Rouzbeh Ghafouri and Daniel J. Needleman and Youli Li and Herbert P. Miller and Leslie Wilson and Robijn F. Bruinsma and Cyrus R. Safinya",
+ TITLE="Microtubule Protofilament Number Is Modulated in a Stepwise Fashion by the Charge Density of an Enveloping Layer",
+ JOURNAL="Biophys. J.",
+ VOLUME=92,
+ NUMBER=1,
+ PAGES={278--287},
+ YEAR="2007",
+ MONTH={January},
+ DAY={1}
+}
+
+
+@ARTICLE{Raviv++SafinyaPNAS2005,
+ AUTHOR="Uri Raviv and Daniel J. Needleman and Youli Li and Herbert P. Miller and Leslie Wilson and Cyrus R. Safinya",
+ TITLE="Cationic liposome-microtubule complexes: Pathways to the formation of two-state lipid-protein nanotubes with open or closed ends",
+ JOURNAL="Proc. Natl. Acad. Sci. USA",
+ VOLUME=102,
+ NUMBER=32,
+ PAGES={11167--11172},
+ YEAR="2005",
+ MONTH={August},
+ DAY={9}
+}
+
+@ARTICLE{Berendsen++StraatsmaJPhysChem1987,
+ AUTHOR="H. J. C. Berendsen and J. R. Grigera and T. P. Straatsma",
+ TITLE="The Missing Term in Effective Pair Potentials",
+ JOURNAL="J. Phys. Chem.",
+ VOLUME=91,
+ NUMBER=24,
+ PAGES={6269--6271},
+ YEAR="1987",
+}
+
+
+@ARTICLE{Klimov+ThirumalaiPRL1997,
+ AUTHOR="Klimov, D. K. and Thirumalai, D.",
+ JOURNAL="Phys. Rev. Lett.",
+ VOLUME=79,
+ PAGES={317--320},
+ YEAR="1997"
+}
diff --git a/tools/moltemplate/doc/moltemplate_manual_src/single_water_LR.jpg b/tools/moltemplate/doc/moltemplate_manual_src/single_water_LR.jpg
new file mode 100644
index 000000000..7961fa3b5
Binary files /dev/null and b/tools/moltemplate/doc/moltemplate_manual_src/single_water_LR.jpg differ
diff --git a/tools/moltemplate/doc/moltemplate_manual_src/tether.jpg b/tools/moltemplate/doc/moltemplate_manual_src/tether.jpg
new file mode 100644
index 000000000..c7673b2cc
Binary files /dev/null and b/tools/moltemplate/doc/moltemplate_manual_src/tether.jpg differ
diff --git a/tools/moltemplate/doc/moltemplate_manual_src/waterSPCEx1000_LR.jpg b/tools/moltemplate/doc/moltemplate_manual_src/waterSPCEx1000_LR.jpg
new file mode 100644
index 000000000..b3d6f05d5
Binary files /dev/null and b/tools/moltemplate/doc/moltemplate_manual_src/waterSPCEx1000_LR.jpg differ
diff --git a/tools/moltemplate/doc/moltemplate_manual_src/waterSPCEx1000_t=25_LR.jpg b/tools/moltemplate/doc/moltemplate_manual_src/waterSPCEx1000_t=25_LR.jpg
new file mode 100644
index 000000000..56344f957
Binary files /dev/null and b/tools/moltemplate/doc/moltemplate_manual_src/waterSPCEx1000_t=25_LR.jpg differ
diff --git a/tools/moltemplate/doc/utils/docs_dump2data.txt b/tools/moltemplate/doc/utils/docs_dump2data.txt
new file mode 100644
index 000000000..2a29ba38d
--- /dev/null
+++ b/tools/moltemplate/doc/utils/docs_dump2data.txt
@@ -0,0 +1,121 @@
+ (Rough-draft documentation for dump2data.py and raw2data.py)
+
+ ---- Description ----
+
+"dump2data.py" was originally designed to convert dump files into LAMMPS DATA format (for restarting a simulation from where it left off). However it also reads and writes .XYZ and .RAW (simple 3-column text format) files also.
+
+ Comparison with pizza.py:
+This script duplicates some of the tools in pizza.py, but you don't have to learn python to use it. If you are willing to learn a little python, pizza.py, can handle more general dump files which might cause dump2data.py to crash (eg "atom_style tri"). Unlike "dump2data.py", pizza.py is maintained by the lammps team:
+http://pizza.sandia.gov/doc/Manual.html
+
+ ----- General Usage -----
+
+General usage:
+
+dump2data.py [old_data_file -xyz -raw -last -t time -tstart ta -tstop tb -interval n -multi -center -scale x -atomstyle style] < DUMP_FILE > OUTPUT_FILE
+
+ ----- examples -----
+
+ If your LAMMPS dump file is named "traj.lammpstrj", you can
+extract the coordinates this way:
+
+dump2data.py -xyz < traj.lammpstrj > traj.xyz
+
+This generates a 3-column text file containing the xyz coordinates on each line of each atom (sorted by atomid). If there are multiple frames in the trajectory file, it will concatenate them together this way:
+
+8192
+LAMMPS data from timestep 50000
+1 -122.28 -19.2293 -7.93705
+2 -121.89 -19.2417 -8.85591
+3 -121.6 -19.2954 -7.20586
+: : : :
+8192
+LAMMPS data from timestep 100000
+1 -121.59 -20.3273 -2.0079
+2 -122.2 -19.8527 -2.64669
+3 -120.83 -19.7342 -2.2393
+
+(When using the "-raw" argument to create simple 3-column .RAW files, blank lines are used to delimit different frames in the trajectory.)
+
+---- optional command line arguments ---
+
+If you want to select a particular frame from the trajectory, use:
+
+dump2data.py -xyz -t 10000 < traj.lammpstrj > coords.xyz
+
+To select the most recent (complete) frame, use:
+
+dump2data.py -xyz -last < traj.lammpstrj > coords.xyz
+
+(If the last frame is incomplete, this script will attempt to use the previous frame.)
+
+If you want to select multiple frames, but there are too many frames in your trajectory, you can run dump2data.py this way...
+
+dump2data.py -xyz -interval 10000 < traj.lammpstrj > traj.xyz
+
+...to indicate the desired interval between frames (it must be a multiple of
+the save interval). You can also use "-tstart 500000 and "-tstop 1000000" arguments to limit the output to a particular range of time. (500000-1000000 in this example).
+
+--- creating DATA files ---
+
+"dump2data.py" can also create lammps DATA files. You must supply it with an existing DATA file containing the correct number of atoms and topology information.
+
+If your coordinates are stored in a DUMP file (eg "traj.lammpstrj"), you can create a new data file this way:
+
+dump2data.py -t 10000 data_file < traj.lammpstrj > new_file
+
+Again, in this example, "10000" is the timestep for the frame you have selected. You can use "-last" to select the last frame. If you do not specify the frame you want, multiple data files may be created...
+
+Creating multiple data files:
+The "-multi" command line argument tells "dump2data.py" to generate a new data file for each frame in the trajectory/dump-file. Those files will have names ending in ".1", ".2", ".3", ... (If you use the "-interval" argument, frames in the trajectory whose timestep is not a multiple of the interval will be discarded.) I can't remember if this behavior is switched on by default.
+
+Reading simple 3-column coordinate files:
+If you have a file containing only the coordinates of the atoms (in sorted order), you can use "raw2data.py" to create a data file with those atoms coordinates.
+
+raw2data.py -atomstyle ATOMSTYLE data_file < coords.raw > new_data_file
+
+(where ATOMSTYLE is a quoted string, such as "full" or "hybrid sphere dipole" discussed earlier. Warning: "raw2data.py" is not a stand-alone script. Make sure raw2data.py is located in the same directory with dump2data.py.)
+
+--- scaling and centering coordinates ---
+
+-center
+ This will center the coordinates around the geometric center, so that the average position of the atoms in each frame is located at the origin. (This script attempts to pay attention to the periodic image flags. As such, I think this script works with triclinic cells, but I have not tested that feature carefully.)
+
+-scale 1.6
+ This will multiply the coordinates by a constant (eg "1.6") (Please email me if this fails with periodic image flags.)
+
+---- limitations ----
+
+Speed.
+The program is somewhat slow, although it should be able to handle big trajectories. If speed is important to you, you probably should write your own custom script or use pizza.py which might be faster.
+
+triclinic cells
+ Support for triclinic cells has been added, but not tested.
+
+exotic atom_styles
+
+ This script was designed to work with point-like atoms, and it extracts the x,y,z (and if present vx,vy,vz velocity) degrees of freedom and (by default) copies it to the new data being created by this script.
+
+By default, this script assumes you are using "atom_style full".
+If you are using some other atom style (eg "hybrid bond dipole"), then you can try to run it this way:
+
+dump2data.py -t 10000 \
+ -atomstyle "hybrid bond dipole" \
+ old_data_file < traj.lammpstrj > new_data_file
+
+In general, the -atomstyle argument can be any of the atom styles listed in the
+table at:
+http://lammps.sandia.gov/doc/atom_style.html
+...such as "angle", "bond", "charge", "full", "molecular", "dipole", "ellipsoid", or any hybrid combination of these styles. (When using hybrid atom styles, you must enclose the argument in quotes, for example: "hybrid sphere dipole")
+Warning: I have not tested using dump2data.py with exotic (non-point-like) atom
+styles. (I suspect that the script will not crash, but the dipole orientations
+will not be updated.)
+
+You can also customize the order columns you want to appear in that file using -atomstyle ”molid x y z atomid atomtype mux muy muz”, but again, I don't think the mux, muy, muz information in the new data file will be accurate.
+
+I also strongly suspect that "dump2data.py" does not currently work with the "tri", "ellipsoid", and new "body" styles.
+
+Again, try using pizza.py if you are simulating systems with exotic data types.
+http://pizza.sandia.gov/doc/Manual.html
+
+I hope this is useful to someone.
diff --git a/tools/moltemplate/doc/utils/docs_extract_lammps_data.txt b/tools/moltemplate/doc/utils/docs_extract_lammps_data.txt
new file mode 100644
index 000000000..0e1bf1ae2
--- /dev/null
+++ b/tools/moltemplate/doc/utils/docs_extract_lammps_data.txt
@@ -0,0 +1,59 @@
+extract_lammps_data.py is a simple script which extracts sections of text from
+a LAMMPS data file. (Of coarse, you can accomplish the same thing with a text
+editor, but this script turns it into a one-line command.)
+
+Typical usage:
+
+extract_lammps_data.py SECTION_NAME < FILE.DATA > EXCERPT.TXT
+
+This extracts a section from a LAMMPS data file and saves it in EXCERPT.TXT.
+
+More general usage:
+
+extract_lammps_data.py [-n] SECTION_LIST < FILE.DATA > EXCERPT.TXT
+
+The SECTION_LIST is a list of sections you want in your output file
+(eg "EXCERPT.TXT"). Each section must be a quoted-string, and spaces
+(not commas) should separate each section name.
+
+The optional "-n" flag negates the selection. (Selecting instead, everything
+except the sections you listed.)
+
+Examples:
+
+extract_lammps_data.py "Atoms" < FILE.DATA > Atoms.txt
+extract_lammps_data.py "Header" < FILE.DATA > Header.txt
+extract_lammps_data.py -n "Header" < FILE.DATA > everything_except_Header.txt
+
+extract_lammps_data.py "Bonds" "Angles" "Dihedrals" "Impropers" \
+ < FILE.DATA > topology.txt
+
+extract_lammps_data.py "Pair Coeffs" "Bond Coeffs" "Angle Coeffs" \
+ "Dihedral Coeffs" "Improper Coeffs" \
+ < FILE.DATA > force_field.txt
+
+
+The following section names are allowed:
+
+"Header" # The header section at the beginning of the file.
+"Atoms"
+"Masses"
+"Bonds"
+"Bond Coeffs"
+"Angles"
+"Angle Coeffs"
+"Dihedrals"
+"Dihedral Coeffs"
+"Impropers"
+"Improper Coeffs"
+"BondBond Coeffs" # class2 angles
+"BondAngle Coeffs" # class2 angles
+"MiddleBondTorsion Coeffs" # class2 dihedrals
+"EndBondTorsion Coeffs" # class2 dihedrals
+"AngleTorsion Coeffs" # class2 dihedrals
+"AngleAngleTorsion Coeffs" # class2 dihedrals
+"BondBond13 Coeffs" # class2 dihedrals
+"AngleAngle Coeffs" # class2 impropers
+"Angles By Type" # moltemplate-specific. (not standard LAMMPS)
+"Dihedrals By Type" # moltemplate-specific. (not standard LAMMPS)
+"Angles By Type' # moltemplate-specific. (not standard LAMMPS)
diff --git a/tools/moltemplate/doc/utils/docs_genpoly_lt.txt b/tools/moltemplate/doc/utils/docs_genpoly_lt.txt
new file mode 100644
index 000000000..dbc751176
--- /dev/null
+++ b/tools/moltemplate/doc/utils/docs_genpoly_lt.txt
@@ -0,0 +1,206 @@
+Explanation:
+
+ Generate a moltemplate file containing a definition of a Polymer
+ molecule containing monomers located at the positions specified in
+ "coords.raw" (a 3-column text file). Monomers will be rotated so
+ that they point along the polymer axis direction (see "-dir-indices")
+ with an optional helical twist added (see "-helix"). Users can
+ specify one or more bonds connecting each monomer to the next monomer
+ (see "-bond"). Similarly, 3-body and 4-body angular interactions between
+ atoms in different monomers can either be generated automatically
+ (using the standard moltemplate "Angle By Type" rules)
+ OR generated manually (using "-angle", "-dihedral", "-improper" arguments).
+
+Usage:
+
+ genpoly_lt.py \\
+ [-bond btype a1 a2] \\
+ [-helix deltaphi] \\
+ [-axis x,y,z] \\
+ [-circular yes/no/connected] \\
+ [-dir-indices ia ib] \
+ [-angle atype a1 a2 a3 i1 i2 i3] \\
+ [-dihedral dtype a1 a2 a3 a4 i1 i2 i3 i4] \\
+ [-improper itype a1 a2 a3 a4 i1 i2 i3 i4] \\
+ [-monomer-name mname] \\
+ [-sequence sequence.txt] \\
+ [-polymer-name pname] \\
+ [-inherits ForceFieldObject] \\
+ [-header "import \"monomer.lt\""] \\
+ [-cuts cuts.txt] \\
+ [-box paddingX,paddingY,paddingZ] \\
+ < coords.raw > polymer.lt
+
+Arguments (optional):
+
+ -axis x,y,z direction of the polymer axis in the original monomer object.
+ These three numbers (separated by commas with no spaces)
+ define the direction that the monomer subunit is pointing in.
+ By default, the three numbers are 1 0 0 (ie, the X axis)
+
+ -helix deltaphi = Optionally, rotate each monomer around it's axis by
+ angle deltaphi (in degrees) beforehand
+
+ -circular keyword
+ keyword must be one of these:
+ "no" The polymer is a linear chain with the two ends
+ not connected.
+ "yes" The polymer is a circular loop with the two ends
+ connected pointing in similar directions.
+ "connected" Connect the two ends together with bonds (and angles,
+ and dihedrals, if applicable) to make a closed loop.
+ But do not adjust the orientation of the first and
+ last monomers so that they point towards eachother.
+ (Use this if you plan to simulate an "infinitely"
+ long polymer using periodic boundary conditions,
+ with the two ends are connected on opposite sides.)
+
+ -dir-indices ia ib
+ The program attempts to orient each monomer in a direction that
+ the polymer is pointing. By default, the program will
+ orient monomer i in the direction connecting the monomers before
+ and after it (monomers i-1 and i+1). The user can override this
+ using the -dir-indices command line argument. The ia and ib
+ arguments are integer offsets. To point monomer i in the direction
+ connecting it to the following monomer (i+1), use -dir-indices 0 1
+ (For circular polymers, the indices will be wrapped appropriately.)
+
+ -bond btype a1 a2
+ Add a bond between successive monomers of type btype.
+ between atoms named a1 and a2 (all three arguments are strings and
+ omit the @bond: and $atom: prefixes in moltemplate variables)
+ Multiple bonds between successive monomers can be added by having
+ "-bond bt a1 a2" appear several times in the argument list.
+ For example, double-stranded DNA can be implemented as a polymer
+ with 2 bonds connecting separate monomers (if each "monomer
+ corresponds to a base pair).
+
+ -angle atype a1 a2 a3 i1 i2 i3
+ Add a 3-body angle interaction between atoms a1 a2 a3 in monomers
+ i1 i2 and i3. (The aname atype a1, a2, a3 arguments are strings
+ containing moltemplate variable names. The standard moltemplate
+ prefixes "$angle:", "@angle:", and "$atom:" should be omitted.
+ The i1, i2, i3 arguments are integer indices indicating the monomer
+ that each atom belongs to.
+ 0 corresponds to the current monomer
+ 1 corresponds to the next monomer
+ 2 corresponds to the following monomer, etc...
+ (For circular polymers, the indices will be wrapped appropriately.)
+ Multiple angles per monomer can be added by having:
+ "-angle aname atype a1 a2 a3 i1 i2 i3"
+ appear several times in the argument list.
+
+
+ -dihedral dtype a1 a2 a3 a4 i1 i2 i3 i4
+ Add a 4-body dihedral interaction between atoms a1 a2 a3 a4 in
+ monomers i1 i2 and i3. (The dname dtype a1, a2, a3, a4, arguments
+ are strings containing moltemplate variable names. The moltemplate
+ prefixes "$dihedral:", "@dihedral:", and "$atom:" should be omitted
+ The i1, i2, i3, i4 arguments are integer indices indicating the
+ monomer that each atom belongs to. (See explanation above.)
+ Multiple dihedrals per monomer can be added by having:
+ "-dihedral dname dtype a1 a2 a3 a4 i1 i2 i3 i4"
+ appear several times in the argument list.
+
+ -improper itype a1 a2 a3 a4 i1 i2 i3 i4
+ Add a 4-body improper interaction between atoms a1 a2 a3 a4 in
+ monomers i1 i2 and i3. (The iname itype a1, a2, a3, a4, arguments
+ are strings containing moltemplate variable names. The moltemplate
+ prefixes "$improper:", "@improper:", and "$atom:" should be omitted
+ The i1, i2, i3, i4 arguments are integer indices indicating the
+ that each atom belongs to. (See explanation above.)
+ Multiple impropers per monomer can be added by having:
+ "-improper iname itype a1 a2 a3 a4 i1 i2 i3 i4"
+ appear several times in the argument list.
+
+ -monomer-name name
+ Name of the moltemplate object that will be created.
+ (By default "Monomer") Note: You can include 1 or more
+ coordinate transformations added to the monomer subunit
+ before it is moved into position. For example, it is
+ often useful to to use a modified version of the monomer
+ whose initial coordinates are compressed to avoid collisions
+ with other monomers. To do this, use something like
+ "Monomer.scale(0.5,0.7,0.7)" instead of "Monomer".
+ This typically would compress each monomer lengthwise by 0.5
+ and 0.7 laterally. (After minimization, each monomer should
+ expand back to its ordinary size and shape.)
+
+ -header 'some text'
+ This is a way to add text at the beginning of the file.
+ It was intended to be used to define the force fields and
+ the monomer subunits you are using. For example:
+ -header 'import "FILE_WHICH_DEFINES_Monomer.lt"'
+
+ -sequence sequence.txt
+ If you are building a heteropolymer this argument allows
+ you to specify the sequence of monomers in the polymer.
+ Here "sequence.txt" file contains the sequence of monomers
+ you want in your polymer. Each line of this file should
+ be the name of a moltemplate object for the monomer subunit
+ you want at that location. The number of lines in this file
+ should match the number of lines in the coordinate file.
+ As before, you can include coordinate transforms in each
+ monomer's name.
+
+ -polymer-name name
+ Name of the moltemplate object that will be created.
+ (By default "Polymer")
+
+ -inherits ForceFieldObject
+ "ForceFieldObject" is the name of a moltemplate object which
+ defines any rules for creating angles, dihedrals, impropers
+ which you want to be generated automatically. Hopefully
+ this is object was defined somewhere in the file that
+ you imported using the "-header" argument.
+
+ -cuts cut_locations.txt
+ Cut the polymer in several places along its length.
+ This can be useful if your goal is to create many
+ polymers of different lenthgs. Rather than being forced
+ to define a new Polymer object for each polymer, simply
+ cut the polymer N times along its length. The file
+ "cut_locations.txt" is a text file containing a list of
+ positive integers (one per line) indicating where you would
+ like the polymer to be cut. For each integer, i, which
+ appears in this file, a cut is made between monomers
+ i-1 and i (Indexing begins at 0, so a value of 1
+ corresonds to a cut between the first and second monomers.)
+ A separate polymer object will be created for each polymer,
+ and an integer suffix will be added to the name, to
+ distinguish them from eachother. (Each of these
+ polymers will be part of a larger object defined by this
+ program. Instantiating that object will create all of the
+ individual polymers.)
+
+ -box paddingX,paddingY,paddingZ
+ This will cause the program to attempt to estimate the size
+ of the smallest rectangular box which encloses all of the
+ coordinates in the coordinate file. The user must supply
+ 3 comma-separated numbers (no spaces) which indicate how much
+ extra room is needed in the x,y,z directions, at both ends.
+
+
+Examples:
+
+ 1) Make a simple polymer, adding "@bond:Backbone" type bonds between
+ "$atom:c2" from each monomer with "$atom:c1" from the next monomer.
+
+ genpoly_lt.py -bond Backbone c2 c1 < crds.raw > poly.lt
+
+ 2) Make a circular twisted double-stranded DNA model, treating each base-pair
+ as a monomer, and connecting each base-pair monomer with 2 bonds
+ with the next base-pair. This is done using 2 "-bond"
+ commands connecting the "O3p_a" atom with the "P_a" atom (in strand A),
+ and the "P_b" atom with the "O3p_b" atom (from the opposite strand, B).
+
+ genpoly_lt.py -circular yes -helix 34.2857 \
+ -header 'import "basepair.lt" #<--defines "BasePair"' \
+ -monomer-name "BasePair" \
+ -polymer-name "Plasmid" \
+ -bond Backbone O3p_a P_a \
+ -bond Backbone P_b O3p_b \
+ < dna_basepair_CM_coords.raw \
+ > chromosome.lt
+ If you want to control the sequence of the polymer, replace the
+ "-monomer-name" argument with "-sequence sequence.txt".
diff --git a/tools/moltemplate/doc/utils/docs_raw2data.txt b/tools/moltemplate/doc/utils/docs_raw2data.txt
new file mode 100644
index 000000000..0bcb951c8
--- /dev/null
+++ b/tools/moltemplate/doc/utils/docs_raw2data.txt
@@ -0,0 +1,56 @@
+raw2data.py replaces the coordinates of a LAMMPS data file with new coordinates.
+
+
+Typical usage:
+
+raw2data.py -atomstyle ATOMSTYLE FILE_OLD.data < COORDS.raw > FILE_NEW.data
+
+
+This will create a new LAMMPS DATA file named "FILE_NEW.data" whose atom
+coordinates are copied from the COORDS.raw file, but is otherwise identical
+to the original DATA file (eg, "FILE_OLD.data"). The optional
+-atomstyle ATOMSTYLE argument tells raw2data.py about the format of the DATA
+file. If not specified, the atom style is "full" by default.
+
+
+Arguments:
+
+ATOMSTYLE is a quoted string, such as "full" or "hybrid sphere dipole" indicating the format of the data file. It can be any of the atom styles listed in the table at:
+http://lammps.sandia.gov/doc/atom_style.html
+...such as "angle", "bond", "charge", "full", "molecular", "dipole", "ellipsoid"
+or any hybrid combination of these styles.
+
+FILE_OLD.data
+The second argument to raw2data.py is the name of a DATA file you want to read.
+raw2data.py will replace the coordinates in the "Atoms" section of this file,
+while preserving the rest of the data file.
+
+COORDS.raw is a simple 3-column ASCII file containing the coordinates of the
+atoms in your system. It has a very simple format:
+-122.28 -19.2293 -7.93705
+-121.89 -19.2417 -8.85591
+-121.6 -19.2954 -7.20586
+-121.59 -20.3273 -2.0079
+-122.2 -19.8527 -2.64669
+-120.83 -19.7342 -2.2393
+ : : :
+
+The order of the atoms in this file should match the ATOM-ID number in the
+first column of the "Atoms" section of the FILE_OLD.data file.
+(...I THINK...
+ To be on the safe side, use a DATA file with the atoms in sorted order.)
+
+Exotic atom styles:
+ When using hybrid atom styles, you must enclose the argument in quotes,
+for example: "hybrid sphere dipole"
+
+ Warning 1: I have not tested using raw2data.py with exotic (non-point-like)
+atom styles. (I suspect that the script will not crash, but dipole orientations
+and other internal degrees of freedom will not be updated.)
+
+ Warning 2: "raw2data.py" is not a stand-alone script. Make sure dump2data.py is located in the same directory with raw2data.py.
+
+ Note: I have not tested it, but I suspect many of the other arguments that work with "dump2data.py", such as "-scale", and "-xyz" also work with raw2data.py.
+
+Try using pizza.py if you are simulating systems with exotic data types.
+http://pizza.sandia.gov/doc/Manual.html
diff --git a/tools/moltemplate/examples/README.txt b/tools/moltemplate/examples/README.txt
new file mode 100644
index 000000000..e024bffcd
--- /dev/null
+++ b/tools/moltemplate/examples/README.txt
@@ -0,0 +1,24 @@
+These are examples for the "moltemplate" molecule builder for LAMMPS.
+http://www.moltemplate.org
+
+Each directory contains one or more examples.
+
+Each example directory contains:
+
+ images/ This folder has pictures of the molecules in the system
+ moltemplate_files/ This folder contains LT files and other auxiliary files
+ README_setup.sh Instructions for how to use moltemplate (executable)
+ README_visualize.txt Instructions for viewing in DATA/DUMP files in VMD
+
+ ...and one or more LAMMPS input scripts with names like
+
+ run.in.min
+ run.in.npt
+ run.in.nvt
+
+You can run these scripts using
+ lmp_linux -i run.in.npt
+(The name of your lammps binary, "lmp_linux" in this example, may vary.
+ Sometimes, these scripts must be run in a certain order. For example
+ it may be necessary to run run.in.min to minimize the system before you can use run.in.npt, and later run.in.nvt. The README_run.sh file in each subdirectory
+ specifies indicates the order. These files have not been optimized.)
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/WARNING.txt b/tools/moltemplate/examples/all_atom/force_field_AMBER/WARNING.txt
new file mode 100644
index 000000000..f7e65cf48
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/WARNING.txt
@@ -0,0 +1,54 @@
+# -------- WARNING: --------
+
+This directory contains some examples of all-atom simulations using the GAFF
+force field, prepared using moltemplate.
+
+This software is experimental, and the force-fields and equilbration protocols
+have not been tested carefully by me. There is no gaurantee that simulations
+prepared using moltemplate will reproduce the behavior of AmberTools/AMBER.
+
+# -------- REQUEST FOR HELP: --------
+
+If you notice a problem with these examples, please report it.
+Peer-review is the only way to improve this software (or any software).
+Other suggestions are also welcome!
+
+(Contact jewett.aij@gmail.com, 2013-12-01)
+
+
+--- Charge ---
+
+Some force-fields (such as OPLSAA) can assign charge based on atom type.
+But AMBER simulations, charge is usually assigned using AmberTools which
+typically estimates partial charges using quantum chemistry.
+
+You must assign partial charges to each atom or LAMMPS will crash
+when it discovers your system has no charged particles.
+(To disable this, change the pair_style to lj/cut or something similar.)
+
+You have to assign charge manually, just as you would for an ordinary molecule.
+
+(For example, charges are explicitly assigned to each atom in these files:
+ waterTIP3P+isobutane/moltemplate_files/isobutane.lt
+ hexadecane/moltemplate_files/ch2group.lt
+ hexadecane/moltemplate_files/ch3group.lt)
+
+(How you do this is up to you. In these examples, I obtained
+partial charges from the OPLSAA parameter file located here:
+http://dasher.wustl.edu/tinker/distribution/params/oplsaa.prm)
+
+--- Improper angles ---
+
+I am also uncertain whether the improper angle interactions generated by
+moltemplate are equivalent to those generated by AmberTools. (I think they are,
+but I am worried that I might have listed the atom types in the wrong order.)
+
+--- Bloated lammps input scripts ---
+
+LAMMPS input scripts prepared using moltemplate contain the entire contents
+of the GAFF force-field, even when simulating small systems with just a few
+atom types.
+
+This is harmless, but if you want to get rid of this extra information,
+follow the README instructions in the "optional_cleanup" directories.
+
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/benzene/README.txt b/tools/moltemplate/examples/all_atom/force_field_AMBER/benzene/README.txt
new file mode 100644
index 000000000..ba0f5e6f4
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/benzene/README.txt
@@ -0,0 +1,10 @@
+This example shows how to build a box of benzene molecules using the
+AMBER/GAFF force-field.
+
+step 1)
+To build the files which LAMMPS needs, follow the instructions in:
+README_setup.sh
+
+step 2)
+To run LAMMPS with these files, follow these instructions:
+README_run.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/benzene/README_remove_irrelevant_info.sh b/tools/moltemplate/examples/all_atom/force_field_AMBER/benzene/README_remove_irrelevant_info.sh
new file mode 100755
index 000000000..67528d426
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/benzene/README_remove_irrelevant_info.sh
@@ -0,0 +1,8 @@
+
+# Note: By default, the system.data and system.in.settings files contain
+# extra information for atoms defined in AMGER/GAFF ("gaff.lt") which you
+# are not using in this simulation.
+# This is harmless, but if you to delete this information from your
+# system.in.settings and system.in.data files, run this script:
+
+cleanup_moltemplate.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/benzene/README_run.sh b/tools/moltemplate/examples/all_atom/force_field_AMBER/benzene/README_run.sh
new file mode 100755
index 000000000..ac39fa950
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/benzene/README_run.sh
@@ -0,0 +1,39 @@
+# --- Running LAMMPS ---
+# -------- REQUIREMENTS: ---------
+# 1) This example requires building LAMMPS with the "USER-MISC" package.
+# (because it makes use of "gaff.lt" which uses dihedral_style fourier)
+# To do this, type "make yes-user-misc" before compiling LAMMPS.
+# http://lammps.sandia.gov/doc/Section_start.html#start_3
+# -------- PREREQUISITES: --------
+# The 2 files "run.in.npt", and "run.in.nvt" are LAMMPS
+# input scripts which link to the input scripts and data files
+# you hopefully have created earlier with moltemplate.sh:
+# system.in.init, system.in.settings, system.data
+# If not, carry out the instructions in "README_setup.sh".
+#
+# -- Instructions: --
+# If "lmp_mpi" is the name of the command you use to invoke lammps,
+# then you would run lammps on these files this way:
+
+
+lmp_mpi -i run.in.npt # minimization and simulation at constant pressure
+lmp_mpi -i run.in.nvt # minimization and simulation at constant volume
+
+#(Note: The constant volume simulation lacks pressure equilibration. These are
+# completely separate simulations. The results of the constant pressure
+# simulation might be ignored when beginning the simulation at constant
+# volume. (This is because restart files in LAMMPS don't always work,
+# and I was spending a lot of time trying to convince people it was a
+# LAMMPS bug, instead of a moltemplate bug, so I disabled restart files.)
+# Read the "run.in.nvt" file to find out how to use the "read_restart"
+# command to load the results of the pressure-equilibration simulation,
+# before beginning a constant-volume run.
+
+
+
+
+
+# If you have compiled the MPI version of lammps, you can run lammps in parallel
+#mpirun -np 4 lmp_mpi -i run.in.npt
+#mpirun -np 4 lmp_mpi -i run.in.nvt
+# (assuming you have 4 processors available)
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/benzene/README_setup.sh b/tools/moltemplate/examples/all_atom/force_field_AMBER/benzene/README_setup.sh
new file mode 100755
index 000000000..e8d8be3f5
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/benzene/README_setup.sh
@@ -0,0 +1,35 @@
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh system.lt
+
+ # Optional:
+ # To check for missing angle,dihedral params run moltemplate this way instead:
+ # moltemplate.sh -checkff system.lt
+
+
+ # Moltemplate generates various files with names ending in *.in* and *.data.
+ # Move them to the directory where you plan to run LAMMPS (in this case "../")
+ mv -f system.data system.in* ../
+
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ #rm -rf output_ttree/
+
+cd ../
+
+
+
+
+# Optional:
+# Note: The system.data and system.in.settings files contain extra information
+# for atoms defined in OPLSAA which you are not using in this simulation.
+# This is harmless, but if you to delete this information from your
+# system.in.settings and system.in.data files, run this script:
+#
+# cleanup_moltemplate.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/benzene/README_visualize.txt b/tools/moltemplate/examples/all_atom/force_field_AMBER/benzene/README_visualize.txt
new file mode 100644
index 000000000..a3e3ed620
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/benzene/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0}
+ pbc box -shiftcenterrel {0.0 0.15 0.0}
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/benzene/moltemplate_files/benzene.lt b/tools/moltemplate/examples/all_atom/force_field_AMBER/benzene/moltemplate_files/benzene.lt
new file mode 100644
index 000000000..05c55482d
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/benzene/moltemplate_files/benzene.lt
@@ -0,0 +1,52 @@
+
+import "gaff.lt"
+
+# The "gaff.lt" file is usually located in the "force_fields"
+# subdirectory distributed with moltemplate.
+# Excerpt:
+#
+# @atom:ca # Sp2 C in pure aromatic systems
+# @atom:ha # H bonded to aromatic carbon
+#
+# I looked up the charge of each atom using the OPLSAA parameters
+# from the "oplsaa.prm" file distributed with TINKER
+# http://dasher.wustl.edu/tinker/distribution/params/oplsaa.prm
+# ---------------------------------------------------------------
+# This is NOT how AmberTools assigns charge, and it will NOT
+# reproduce the behavior of AMBER force-fields.
+
+
+Benzene inherits GAFF {
+
+ # atomID molID atomType charge X Y Z
+ write('Data Atoms') {
+ $atom:C1 $mol @atom:ca -0.115 5.274 1.999 -8.568
+ $atom:C2 $mol @atom:ca -0.115 6.627 2.018 -8.209
+ $atom:C3 $mol @atom:ca -0.115 7.366 0.829 -8.202
+ $atom:C4 $mol @atom:ca -0.115 6.752 -0.379 -8.554
+ $atom:C5 $mol @atom:ca -0.115 5.399 -0.398 -8.912
+ $atom:C6 $mol @atom:ca -0.115 4.660 0.791 -8.919
+ $atom:H11 $mol @atom:ha 0.115 4.704 2.916 -8.573
+ $atom:H21 $mol @atom:ha 0.115 7.101 2.950 -7.938
+ $atom:H31 $mol @atom:ha 0.115 8.410 0.844 -7.926
+ $atom:H41 $mol @atom:ha 0.115 7.322 -1.296 -8.548
+ $atom:H51 $mol @atom:ha 0.115 4.925 -1.330 -9.183
+ $atom:H61 $mol @atom:ha 0.115 3.616 0.776 -9.196
+ }
+
+ write('Data Bond List') {
+ $bond:C12 $atom:C1 $atom:C2
+ $bond:C23 $atom:C2 $atom:C3
+ $bond:C34 $atom:C3 $atom:C4
+ $bond:C45 $atom:C4 $atom:C5
+ $bond:C56 $atom:C5 $atom:C6
+ $bond:C61 $atom:C6 $atom:C1
+ $bond:C1H1 $atom:C1 $atom:H11
+ $bond:C2H2 $atom:C2 $atom:H21
+ $bond:C3H3 $atom:C3 $atom:H31
+ $bond:C4H4 $atom:C4 $atom:H41
+ $bond:C5H5 $atom:C5 $atom:H51
+ $bond:C6H6 $atom:C6 $atom:H61
+ }
+
+} # Benzene
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/benzene/moltemplate_files/system.lt b/tools/moltemplate/examples/all_atom/force_field_AMBER/benzene/moltemplate_files/system.lt
new file mode 100644
index 000000000..002c538da
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/benzene/moltemplate_files/system.lt
@@ -0,0 +1,14 @@
+import "benzene.lt" # <- defines the "Benzene" molecule type.
+
+
+# Periodic boundary conditions:
+write_once("Data Boundary") {
+ 0.0 64.00 xlo xhi
+ 0.0 64.00 ylo yhi
+ 0.0 64.00 zlo zhi
+}
+
+benzenes = new Benzene [8].move(8,0,0)
+ [8].move(0,8,0)
+ [8].move(0,0,8)
+
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/benzene/run.in.npt b/tools/moltemplate/examples/all_atom/force_field_AMBER/benzene/run.in.npt
new file mode 100644
index 000000000..b2ee94440
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/benzene/run.in.npt
@@ -0,0 +1,72 @@
+# PREREQUISITES:
+#
+# You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (Follow the instructions in README_setup.sh,
+# or run the file as a script using ./README_setup.sh)
+
+# ------------------------------- Initialization Section --------------------
+
+include "system.in.init"
+
+# ------------------------------- Atom Definition Section -------------------
+
+read_data "system.data"
+
+# ------------------------------- Settings Section --------------------------
+
+include "system.in.settings"
+
+# ------------------------------- Run Section -------------------------------
+
+
+# -- minimization protocol --
+
+minimize 1.0e-4 1.0e-6 100000 400000
+
+# -- simulation protocol --
+
+timestep 1.0
+
+thermo 100
+dump 1 all custom 5000 traj_npt.lammpstrj id mol type x y z ix iy iz
+
+print "---------------------------------------------------------------------------"
+print "First, use Langevin dynamics to randomize the initial shape of the molecules"
+print "---------------------------------------------------------------------------"
+
+
+fix 1 all momentum 100 linear 0 0 0
+fix fxlan all langevin 1000.0 1000.0 5000.0 123456 # temp: 1000 K
+fix fxnve all nve
+
+run 20000
+unfix fxlan
+unfix fxnve
+
+
+
+print "---------------------------------------------------------------------------"
+print "Optional: use short high pressure run to get rid of small bubbles."
+print " (In case there are any. I'm not certain there are."
+print " Later we will restore ordinary pressure.)"
+print "---------------------------------------------------------------------------"
+fix fxlan all langevin 298.0 298.0 5000 123456 # temp: 298 K
+fix fxnph all nph iso 500.0 500.0 1000.0 # pressure: 500 barr
+
+run 80000
+unfix fxlan
+unfix fxnph
+
+
+
+print "---------------------------------------------------------------------------"
+print "--- Now continue the simulation using a Nose-Hoover Thermostat/Barostat ---"
+print "---------------------------------------------------------------------------"
+# temperature: 298 K, pressure: 1 barr
+fix fxnpt all npt temp 298.0 298.0 100.0 iso 1.0 1.0 1000.0 drag 1.0
+#thermo_modify flush yes
+
+run 5000000
+
+write_data system_after_npt.data
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/benzene/run.in.nvt b/tools/moltemplate/examples/all_atom/force_field_AMBER/benzene/run.in.nvt
new file mode 100644
index 000000000..3901723dd
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/benzene/run.in.nvt
@@ -0,0 +1,51 @@
+# PREREQUISITES:
+#
+# 1) You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (Follow the instructions in README_setup.sh,
+# or run the file as a script using ./README_setup.sh)
+# 2) You must equilibrate the system beforehand using "run.in.npt".
+# This will create the file "system_after_npt.data" which this file reads.
+# (Note: I have not verified that this equilibration protocol works well.)
+
+# ------------------------------- Initialization Section --------------------
+
+include "system.in.init"
+
+# ------------------------------- Atom Definition Section -------------------
+
+# Read the coordinates generated by an earlier NPT simulation
+
+read_data "system_after_npt.data"
+
+# OPLSAA atom charges are stored in a separate file.
+# Load that file now:
+
+include "system.in.charges"
+
+# ------------------------------- Settings Section --------------------------
+
+include "system.in.settings"
+
+
+# (The "write_restart" and "read_restart" commands were buggy in 2012,
+# but they should work also. I prefer "write_data" and "read_data".)
+
+# ------------------------------- Settings Section --------------------------
+
+include system.in.settings
+
+# ------------------------------- Run Section -------------------------------
+
+# -- simulation protocol --
+
+
+timestep 1.0
+dump 1 all custom 5000 traj_nvt.lammpstrj id mol type x y z ix iy iz
+fix fxnvt all nvt temp 300.0 300.0 500.0 tchain 1
+thermo 500
+#thermo_modify flush yes
+
+run 200000
+
+write_restart system_after_nvt.data
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/README.txt b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/README.txt
new file mode 100644
index 000000000..b02f184dd
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/README.txt
@@ -0,0 +1,13 @@
+This example shows how to simulate a mixture of ethylene and benzene
+using the AMBER/GAFF force field.
+
+As of 2016-11-21, this code has not been tested for accuracy.
+(See the WARNING.TXT file.)
+
+step 1)
+To build the files which LAMMPS needs, follow the instructions in:
+README_setup.sh
+
+step 2)
+To run LAMMPS with these files, follow these instructions:
+README_run.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/README_remove_irrelevant_info.sh b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/README_remove_irrelevant_info.sh
new file mode 100755
index 000000000..67528d426
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/README_remove_irrelevant_info.sh
@@ -0,0 +1,8 @@
+
+# Note: By default, the system.data and system.in.settings files contain
+# extra information for atoms defined in AMGER/GAFF ("gaff.lt") which you
+# are not using in this simulation.
+# This is harmless, but if you to delete this information from your
+# system.in.settings and system.in.data files, run this script:
+
+cleanup_moltemplate.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/README_run.sh b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/README_run.sh
new file mode 100755
index 000000000..ac39fa950
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/README_run.sh
@@ -0,0 +1,39 @@
+# --- Running LAMMPS ---
+# -------- REQUIREMENTS: ---------
+# 1) This example requires building LAMMPS with the "USER-MISC" package.
+# (because it makes use of "gaff.lt" which uses dihedral_style fourier)
+# To do this, type "make yes-user-misc" before compiling LAMMPS.
+# http://lammps.sandia.gov/doc/Section_start.html#start_3
+# -------- PREREQUISITES: --------
+# The 2 files "run.in.npt", and "run.in.nvt" are LAMMPS
+# input scripts which link to the input scripts and data files
+# you hopefully have created earlier with moltemplate.sh:
+# system.in.init, system.in.settings, system.data
+# If not, carry out the instructions in "README_setup.sh".
+#
+# -- Instructions: --
+# If "lmp_mpi" is the name of the command you use to invoke lammps,
+# then you would run lammps on these files this way:
+
+
+lmp_mpi -i run.in.npt # minimization and simulation at constant pressure
+lmp_mpi -i run.in.nvt # minimization and simulation at constant volume
+
+#(Note: The constant volume simulation lacks pressure equilibration. These are
+# completely separate simulations. The results of the constant pressure
+# simulation might be ignored when beginning the simulation at constant
+# volume. (This is because restart files in LAMMPS don't always work,
+# and I was spending a lot of time trying to convince people it was a
+# LAMMPS bug, instead of a moltemplate bug, so I disabled restart files.)
+# Read the "run.in.nvt" file to find out how to use the "read_restart"
+# command to load the results of the pressure-equilibration simulation,
+# before beginning a constant-volume run.
+
+
+
+
+
+# If you have compiled the MPI version of lammps, you can run lammps in parallel
+#mpirun -np 4 lmp_mpi -i run.in.npt
+#mpirun -np 4 lmp_mpi -i run.in.nvt
+# (assuming you have 4 processors available)
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/README_setup.sh b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/README_setup.sh
new file mode 100755
index 000000000..dda26cd44
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/README_setup.sh
@@ -0,0 +1,34 @@
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh system.lt
+
+ # Optional:
+ # To check for missing angle,dihedral params run moltemplate this way instead:
+ # moltemplate.sh -checkff system.lt
+
+
+ # Moltemplate generates various files with names ending in *.in* and *.data.
+ # Move them to the directory where you plan to run LAMMPS (in this case "../")
+ mv -f system.data system.in* ../
+
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ #rm -rf output_ttree/
+
+cd ../
+
+
+
+
+# Optional:
+# Note: The system.data and system.in.settings files contain extra information
+# for atoms defined in OPLSAA which you are not using in this simulation.
+# This is harmless, but if you to delete this information from your
+# system.in.settings and system.in.data files, run this script:
+#
+# cleanup_moltemplate.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/README_visualize.txt b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/README_visualize.txt
new file mode 100644
index 000000000..a3e3ed620
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0}
+ pbc box -shiftcenterrel {0.0 0.15 0.0}
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/images/benzene.jpg b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/images/benzene.jpg
new file mode 100644
index 000000000..356c78425
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/images/benzene.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/images/ethylene+benzene_box80x80x80_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/images/ethylene+benzene_box80x80x80_LR.jpg
new file mode 100644
index 000000000..00c82d3d9
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/images/ethylene+benzene_box80x80x80_LR.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/images/ethylene.jpg b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/images/ethylene.jpg
new file mode 100644
index 000000000..ab5bbbf49
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/images/ethylene.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/moltemplate_files/benzene.lt b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/moltemplate_files/benzene.lt
new file mode 100644
index 000000000..008391688
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/moltemplate_files/benzene.lt
@@ -0,0 +1,48 @@
+
+import "gaff.lt"
+
+# The "gaff.lt" file is usually located in "force_fields" subdirectory
+# of the moltemplate distribution.
+# It contains definitions of the atoms "ca", "ha", as well as the bonded
+# and non-bonded interactions between them (and many other atoms).
+#
+# Moltemplate is only a simple text manipulation tool. It cannot
+# calculate atomic charge using quantom chemistry methods.
+# Atom charges for this example were taken from the OPLSAA force field file:
+# http://dasher.wustl.edu/tinker/distribution/params/oplsaa.prm
+# However, normally simulations in AMBER are assigned charges using the
+# "HF/6-31G* RESP2" or "AM1-BCC3" methods using AmberTools.
+
+Benzene inherits GAFF {
+
+ write('Data Atoms') {
+ $atom:C1 $mol @atom:ca 0.115 5.274 1.999 -8.568
+ $atom:C2 $mol @atom:ca 0.115 6.627 2.018 -8.209
+ $atom:C3 $mol @atom:ca 0.115 7.366 0.829 -8.202
+ $atom:C4 $mol @atom:ca 0.115 6.752 -0.379 -8.554
+ $atom:C5 $mol @atom:ca 0.115 5.399 -0.398 -8.912
+ $atom:C6 $mol @atom:ca 0.115 4.660 0.791 -8.919
+ $atom:H11 $mol @atom:ha -0.115 4.704 2.916 -8.573
+ $atom:H21 $mol @atom:ha -0.115 7.101 2.950 -7.938
+ $atom:H31 $mol @atom:ha -0.115 8.410 0.844 -7.926
+ $atom:H41 $mol @atom:ha -0.115 7.322 -1.296 -8.548
+ $atom:H51 $mol @atom:ha -0.115 4.925 -1.330 -9.183
+ $atom:H61 $mol @atom:ha -0.115 3.616 0.776 -9.196
+ }
+
+ write('Data Bond List') {
+ $bond:C12 $atom:C1 $atom:C2
+ $bond:C23 $atom:C2 $atom:C3
+ $bond:C34 $atom:C3 $atom:C4
+ $bond:C45 $atom:C4 $atom:C5
+ $bond:C56 $atom:C5 $atom:C6
+ $bond:C61 $atom:C6 $atom:C1
+ $bond:C1H1 $atom:C1 $atom:H11
+ $bond:C2H2 $atom:C2 $atom:H21
+ $bond:C3H3 $atom:C3 $atom:H31
+ $bond:C4H4 $atom:C4 $atom:H41
+ $bond:C5H5 $atom:C5 $atom:H51
+ $bond:C6H6 $atom:C6 $atom:H61
+ }
+
+} # Benzene
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/moltemplate_files/charges_come_from_OPLSAA/oplsaa_subset.prm b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/moltemplate_files/charges_come_from_OPLSAA/oplsaa_subset.prm
new file mode 100644
index 000000000..8493a39f6
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/moltemplate_files/charges_come_from_OPLSAA/oplsaa_subset.prm
@@ -0,0 +1,94 @@
+# This is a modified version of the file "oplsaa.prm" distributed with TINKER
+# http://dasher.wustl.edu/tinker/distribution/params/oplsaa.prm
+# In this version, all of the lines beginning with "atom" have been deleted
+# except for the atom types we will be using in this simulation
+#
+# If you use this file, please also cite the software this file comes from:
+#
+# Ponder, J. W., and Richards, F. M. J. Comput. Chem. (1987) 8(7), 1016-1024
+# "An efficient newton‐like method for molecular mechanics energy
+# minimization of large molecules."
+#
+# Ponder, J. W, (2004)
+# "TINKER: Software tools for molecular design"
+# http://dasher.wustl.edu/tinker/
+
+ ##############################
+ ## ##
+ ## Force Field Definition ##
+ ## ##
+ ##############################
+
+
+forcefield OPLS-AA
+
+vdwindex TYPE
+vdwtype LENNARD-JONES
+radiusrule GEOMETRIC
+radiustype SIGMA
+radiussize DIAMETER
+epsilonrule GEOMETRIC
+vdw-14-scale 2.0
+chg-14-scale 2.0
+electric 332.06
+dielectric 1.0
+
+
+ #############################
+ ## ##
+ ## Literature References ##
+ ## ##
+ #############################
+
+
+The parameters supplied with TINKER are from "OPLS All-Atom Parameters
+for Organic Molecules, Ions, Peptides & Nucleic Acids, July 2008" as
+provided by W. L. Jorgensen, Yale University during June 2009. These
+parameters are taken from those distributed with BOSS Version 4.8.
+
+Note that "atom type" numbers and not "atom class" numbers are used
+to index van der Waals parameters, see the "vdwindex" keyword above
+
+The atom types with (UA) in the description are "united atom" values,
+ie, OPLS-UA, where any nonpolar hydrogen atoms are combined onto their
+attached atoms. All other parameters are "all-atom", OPLS-AA, including
+explicit hydrogen atoms.
+
+
+ #############################
+ ## ##
+ ## Atom Type Definitions ##
+ ## ##
+ #############################
+
+
+atom 88 47 CM "Alkene H2-C=" 6 12.011 3
+atom 89 46 HC "Alkene H-C=" 1 1.008 1
+atom 90 48 CA "Aromatic C" 6 12.011 3
+atom 91 49 HA "Aromatic H-C" 1 1.008 1
+
+
+ ################################
+ ## ##
+ ## Van der Waals Parameters ##
+ ## ##
+ ################################
+
+
+vdw 88 3.5500 0.0760
+vdw 89 2.4200 0.0300
+vdw 90 3.5500 0.0700
+vdw 91 2.4200 0.0300
+
+
+ ########################################
+ ## ##
+ ## Atomic Partial Charge Parameters ##
+ ## ##
+ ########################################
+
+
+charge 88 -0.2300
+charge 89 0.1150
+charge 90 -0.1150
+charge 91 0.1150
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/moltemplate_files/ethylene.lt b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/moltemplate_files/ethylene.lt
new file mode 100644
index 000000000..e4b72922f
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/moltemplate_files/ethylene.lt
@@ -0,0 +1,39 @@
+
+import "gaff.lt"
+
+# The "gaff.lt" file is usually located in "force_fields" subdirectory
+# of the moltemplate distribution.
+# It contains definitions of the atoms "c2", "hc", as well as the bonded
+# and non-bonded interactions between them (and many other atoms).
+#
+# Moltemplate is only a simple text manipulation tool. It cannot
+# calculate atomic charge using quantom chemistry methods.
+# Atom charges for this example were taken from the OPLSAA force field file:
+# http://dasher.wustl.edu/tinker/distribution/params/oplsaa.prm
+# However, normally simulations in AMBER are assigned charges using the
+# "HF/6-31G* RESP2" or "AM1-BCC3" methods using AmberTools.
+
+
+Ethylene inherits GAFF {
+
+ # atom-id mol-id atom-type charge X Y Z
+
+ write('Data Atoms') {
+ $atom:C1 $mol @atom:c2 -0.23 -0.6695 0.000000 0.000000
+ $atom:C2 $mol @atom:c2 -0.23 0.6695 0.000000 0.000000
+ $atom:H11 $mol @atom:hc 0.115 -1.234217 -0.854458 0.000000
+ $atom:H12 $mol @atom:hc 0.115 -1.234217 0.854458 0.000000
+ $atom:H21 $mol @atom:hc 0.115 1.234217 -0.854458 0.000000
+ $atom:H22 $mol @atom:hc 0.115 1.234217 0.854458 0.000000
+ }
+
+ write('Data Bond List') {
+ $bond:C12 $atom:C1 $atom:C2
+ $bond:C1H1 $atom:C1 $atom:H11
+ $bond:C1H2 $atom:C1 $atom:H12
+ $bond:C2H1 $atom:C2 $atom:H21
+ $bond:C2H2 $atom:C2 $atom:H22
+ }
+
+} # Ethylene
+
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/moltemplate_files/system.lt b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/moltemplate_files/system.lt
new file mode 100644
index 000000000..f9984a1bb
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/moltemplate_files/system.lt
@@ -0,0 +1,29 @@
+import "ethylene.lt" # <- defines the "Ethylene" molecule type.
+import "benzene.lt" # <- defines the "Benzene" molecule type.
+
+
+# Periodic boundary conditions:
+write_once("Data Boundary") {
+ 0.0 80.00 xlo xhi
+ 0.0 80.00 ylo yhi
+ 0.0 80.00 zlo zhi
+}
+
+# Create 1000 ethylenes and 500 benzenes
+
+ethylenes = new Ethylene[10].move(8.0, 0, 0)
+ [10].move(0, 8.0, 0)
+ [10].move(0, 0, 8.0)
+
+benzenes = new Benzene[10].move(8.0, 0, 0)
+ [10].move(0, 8.0, 0)
+ [5].move(0, 0, 16.0)
+
+# Now shift the positions of all of the benzene molecules,
+# to reduce the chance that they overlap with the ethylene molecules.
+
+benzenes[*][*][*].move(4.0, 4.0, 4.0)
+
+# Note: There is also an example in the OPLSAA directory which shows how to
+# generate the coordinates using PACKMOL. That allows us to omit all of
+# the coordinates and .move() commands. (This works with AMBER/GAFF too.)
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/run.in.npt b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/run.in.npt
new file mode 100644
index 000000000..9e529624d
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/run.in.npt
@@ -0,0 +1,53 @@
+# PREREQUISITES:
+#
+# You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (Follow the instructions in README_setup.sh,
+# or run the file as a script using ./README_setup.sh)
+
+# ------------------------------- Initialization Section --------------------
+
+include "system.in.init"
+
+# ------------------------------- Atom Definition Section -------------------
+
+read_data "system.data"
+
+# ------------------------------- Settings Section --------------------------
+
+include "system.in.settings"
+
+# ------------------------------- Run Section -------------------------------
+
+
+# -- minimization protocol --
+
+minimize 1.0e-4 1.0e-6 100000 400000
+
+# -- simulation protocol --
+
+timestep 1.0
+
+print "---------------------------------------------------------------------------"
+print "First, use Langevin dynamics to randomize the initial shape of the molecules"
+print "(This is not really necessary, but it seems to speed up equilibration.)"
+print "---------------------------------------------------------------------------"
+
+fix fxlan all langevin 300.0 300.0 120 123456 # temp: 300 K
+fix fxnph all nph iso 50.0 50.0 1000.0 # pressure: 50 barr
+run 2000
+unfix fxlan
+unfix fxnph
+
+print "---------------------------------------------------------------------------"
+print "--- Now continue the simulation using a Nose-Hoover Thermostat/Barostat ---"
+print "---------------------------------------------------------------------------"
+dump 1 all custom 1000 traj_npt.lammpstrj id mol type x y z ix iy iz
+# temperature: 300 K, pressure: 50 barr
+fix fxnpt all npt temp 300.0 300.0 100.0 iso 50.0 50.0 1000.0 drag 1.0
+thermo 100
+#thermo_modify flush yes
+
+run 100000
+
+write_data system_after_npt.data
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/run.in.nvt b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/run.in.nvt
new file mode 100644
index 000000000..15283ff82
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/ethylene+benzene/run.in.nvt
@@ -0,0 +1,46 @@
+# PREREQUISITES:
+#
+# 1) You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (Follow the instructions in README_setup.sh,
+# or run the file as a script using ./README_setup.sh)
+# 2) You must equilibrate the system beforehand using "run.in.npt".
+# This will create the file "system_after_npt.data" which this file reads.
+# (Note: I have not verified that this equilibration protocol works well.)
+
+# ------------------------------- Initialization Section --------------------
+
+include "system.in.init"
+
+# ------------------------------- Atom Definition Section -------------------
+
+# Read the coordinates generated by an earlier NPT simulation
+
+read_data "system_after_npt.data"
+
+# ------------------------------- Settings Section --------------------------
+
+include "system.in.settings"
+
+
+# (The "write_restart" and "read_restart" commands were buggy in 2012,
+# but they should work also. I prefer "write_data" and "read_data".)
+
+# ------------------------------- Settings Section --------------------------
+
+include system.in.settings
+
+# ------------------------------- Run Section -------------------------------
+
+# -- simulation protocol --
+
+
+timestep 1.0
+dump 1 all custom 5000 traj_nvt.lammpstrj id mol type x y z ix iy iz
+fix fxnvt all nvt temp 300.0 300.0 500.0 tchain 1
+thermo 500
+#thermo_modify flush yes
+
+run 200000
+
+write_data system_after_nvt.data
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/README.txt b/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/README.txt
new file mode 100644
index 000000000..8289270f0
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/README.txt
@@ -0,0 +1,44 @@
+This example is a simple simulation of 288 hexadecane molecules in a box at
+room temperature and atmospheric pressure. Please read the WARNING.TXT file.
+
+-------- REQUIREMENTS: ---------
+This example requires building LAMMPS with the "USER-MISC" package.
+(because it uses dihedral_style fourier)
+To do this, type "make yes-user-misc" before compiling LAMMPS.
+http://lammps.sandia.gov/doc/Section_start.html#start_3
+
+More detailed instructions on how to build LAMMPS input files and
+run a short simulation are provided in other README files:
+
+step 1) to setup the LAMMPS input files, run this file:
+README_setup.sh
+
+ (Currently there is a bug which makes this step slow.
+ I'll fix it later -Andrew 2013-10-15.)
+
+step 2) to run LAMMPS, follow the instructions in this file:
+README_run.sh
+
+------------ NOTE: There are two versions of this example. ----------------
+
+Both examples use the same force-field parameters.
+
+1)
+In this version, the force-field parameters are loaded from the "gaff.lt" file
+(located in the "force_fields" subdirectory of the moltemplate distribution).
+This frees the user from the drudgery of manually specifying all of these
+force-field details for every molecule. (However, the user must be careful
+to choose @atom-type names which match AMBER GAFF conventions,
+such as the "c3" and "h1" atoms, in this example.)
+
+2)
+Alternately, there is another "hexadecane" example in the "all_atom_examples"
+directory. In that example, force-field parameters are loaded from a file
+named "alkanes.lt" (instead of "gaff.lt"). The "alkanes.lt" file contains
+only the excerpts from "gaff.lt" which are relevant to the hydrocarbon
+molcules used in that example. ("gaff.lt" contains parameters for most
+small organic molecules, not just hydrocarbons.)
+In this way, by editing "alkanes.lt", the user can manually control all of the
+force-field details in the simulation. (Without feeling as though they are
+relying on some kind of mysterious "black box" to do it for them.)
+
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/README_remove_irrelevant_info.sh b/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/README_remove_irrelevant_info.sh
new file mode 100755
index 000000000..67528d426
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/README_remove_irrelevant_info.sh
@@ -0,0 +1,8 @@
+
+# Note: By default, the system.data and system.in.settings files contain
+# extra information for atoms defined in AMGER/GAFF ("gaff.lt") which you
+# are not using in this simulation.
+# This is harmless, but if you to delete this information from your
+# system.in.settings and system.in.data files, run this script:
+
+cleanup_moltemplate.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/README_run.sh b/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/README_run.sh
new file mode 100755
index 000000000..ac39fa950
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/README_run.sh
@@ -0,0 +1,39 @@
+# --- Running LAMMPS ---
+# -------- REQUIREMENTS: ---------
+# 1) This example requires building LAMMPS with the "USER-MISC" package.
+# (because it makes use of "gaff.lt" which uses dihedral_style fourier)
+# To do this, type "make yes-user-misc" before compiling LAMMPS.
+# http://lammps.sandia.gov/doc/Section_start.html#start_3
+# -------- PREREQUISITES: --------
+# The 2 files "run.in.npt", and "run.in.nvt" are LAMMPS
+# input scripts which link to the input scripts and data files
+# you hopefully have created earlier with moltemplate.sh:
+# system.in.init, system.in.settings, system.data
+# If not, carry out the instructions in "README_setup.sh".
+#
+# -- Instructions: --
+# If "lmp_mpi" is the name of the command you use to invoke lammps,
+# then you would run lammps on these files this way:
+
+
+lmp_mpi -i run.in.npt # minimization and simulation at constant pressure
+lmp_mpi -i run.in.nvt # minimization and simulation at constant volume
+
+#(Note: The constant volume simulation lacks pressure equilibration. These are
+# completely separate simulations. The results of the constant pressure
+# simulation might be ignored when beginning the simulation at constant
+# volume. (This is because restart files in LAMMPS don't always work,
+# and I was spending a lot of time trying to convince people it was a
+# LAMMPS bug, instead of a moltemplate bug, so I disabled restart files.)
+# Read the "run.in.nvt" file to find out how to use the "read_restart"
+# command to load the results of the pressure-equilibration simulation,
+# before beginning a constant-volume run.
+
+
+
+
+
+# If you have compiled the MPI version of lammps, you can run lammps in parallel
+#mpirun -np 4 lmp_mpi -i run.in.npt
+#mpirun -np 4 lmp_mpi -i run.in.nvt
+# (assuming you have 4 processors available)
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/README_setup.sh b/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/README_setup.sh
new file mode 100755
index 000000000..e8d8be3f5
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/README_setup.sh
@@ -0,0 +1,35 @@
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh system.lt
+
+ # Optional:
+ # To check for missing angle,dihedral params run moltemplate this way instead:
+ # moltemplate.sh -checkff system.lt
+
+
+ # Moltemplate generates various files with names ending in *.in* and *.data.
+ # Move them to the directory where you plan to run LAMMPS (in this case "../")
+ mv -f system.data system.in* ../
+
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ #rm -rf output_ttree/
+
+cd ../
+
+
+
+
+# Optional:
+# Note: The system.data and system.in.settings files contain extra information
+# for atoms defined in OPLSAA which you are not using in this simulation.
+# This is harmless, but if you to delete this information from your
+# system.in.settings and system.in.data files, run this script:
+#
+# cleanup_moltemplate.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/README_visualize.txt b/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/README_visualize.txt
new file mode 100644
index 000000000..a3e3ed620
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0}
+ pbc box -shiftcenterrel {0.0 0.15 0.0}
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/WARNING.txt b/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/WARNING.txt
new file mode 100644
index 000000000..81183f927
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/WARNING.txt
@@ -0,0 +1,16 @@
+# -------- WARNING: --------
+
+This software is experimental, and the force-fields and equilbration protocols
+have not been tested carefully by me. There is no gaurantee that the simulation
+will reproduce the behavior of real hexadecane molecules,
+(or even of hexadecane molecules simulated using AMBER, which should
+ be using the same force-field).
+
+# -------- REQUEST FOR HELP: --------
+
+However, if you notice a problem with this example, please report it.
+I confess I do not have a lot of experience running all-atom simulations.
+Peer-review is the only way to improve this software (or any software).
+Other suggestions are also welcome!
+
+(Contact jewett.aij@gmail.com, 2013-10-16)
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/images/hexadecane_12x12x2_t=0_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/images/hexadecane_12x12x2_t=0_LR.jpg
new file mode 100644
index 000000000..b0d31f884
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/images/hexadecane_12x12x2_t=0_LR.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/images/hexadecane_12x12x2_t=10ps_npt_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/images/hexadecane_12x12x2_t=10ps_npt_LR.jpg
new file mode 100644
index 000000000..f7c13d098
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/images/hexadecane_12x12x2_t=10ps_npt_LR.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/images/hexadecane_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/images/hexadecane_LR.jpg
new file mode 100644
index 000000000..3ad353dbb
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/images/hexadecane_LR.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/ch2group.lt b/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/ch2group.lt
new file mode 100644
index 000000000..69978eeca
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/ch2group.lt
@@ -0,0 +1,59 @@
+
+import "gaff.lt" # <-- defines the "GAFF" force field
+
+
+# The "gaff.lt" file is usually located in $MOLTEMPLATE_PATH (and is
+# distributed with moltemplate. See the "Installation" section in the manual.)
+# It contains definitions of the atoms "c3", "hc", as well as the force-field
+# parameters for bonded and non-bonded interactions between them
+# (and many other atoms).
+
+# Atom charges were taken from the OPLSAA force field file:
+# http://dasher.wustl.edu/tinker/distribution/params/oplsaa.prm
+
+
+CH2 inherits GAFF {
+
+ # atom-id mol-id atom-type charge x y z
+
+ write("Data Atoms") {
+ $atom:C $mol:... @atom:c3 -0.120 0.000 0.000 0.000
+ $atom:H1 $mol:... @atom:hc 0.060 0.000 0.63104384422426 0.892430762954
+ $atom:H2 $mol:... @atom:hc 0.060 0.000 0.63104384422426 -0.892430762954
+ }
+
+ # Note: The "..." in "$mol:..." tells moltemplate that this molecule may
+ # be a part of a larger molecule, and (if so) to use the larger
+ # parent object's molecule id number as it's own.
+ # The CH2 group is part of the Hexadecane molecule.
+
+ # Now specify which pairs of atoms are bonded:
+ write('Data Bond List') {
+ $bond:CH1 $atom:C $atom:H1
+ $bond:CH2 $atom:C $atom:H2
+ }
+
+} # CH2
+
+
+# Optional: Shift all the coordinates in the +Y direction by 0.4431163.
+# This way, the carbon atom is no longer located at 0,0,0, but the
+# axis of an alkane chain containing this monomer is at 0,0,0.
+# (This makes it more convenient to construct a polymer later.
+# If this is confusing, then simply add 0.4431163 to the Y
+# coordinates in the "Data Atoms" section above.)
+
+CH2.move(0,0.4431163,0)
+
+
+
+
+######### (scratchwork calculations for the atomic coordinates) #########
+# Lcc = 1.5350 # length of the C-C bond (Sp3)
+# Lch = 1.0930 # length of the C-H bond
+# theta=2*atan(sqrt(2)) # ~= 109.5 degrees = tetrahedronal angle (C-C-C angle)
+# DeltaXc = Lcc*sin(theta/2) # = 1.2533222517240594
+# DeltaYc = Lcc*cos(theta/2) # = 0.8862326632060754
+# # 0.5*DeltaYc = 0.4431163316030377
+# DeltaZh = Lch*sin(theta/2) # = 0.8924307629540046
+# DeltaYh = Lch*cos(theta/2) # = 0.6310438442242609
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/ch3group.lt b/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/ch3group.lt
new file mode 100644
index 000000000..ef431f8d7
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/ch3group.lt
@@ -0,0 +1,65 @@
+import "gaff.lt" # <-- defines the "GAFF" force field
+
+
+# The "gaff.lt" file is usually located in $MOLTEMPLATE_PATH (and is
+# distributed with moltemplate. See the "Installation" section in the manual.)
+# It contains definitions of the atoms "c3", "hc", as well as the force-field
+# parameters for bonded and non-bonded interactions between them
+# (and many other atoms).
+#
+# Moltemplate is only a simple text manipulation tool. It cannot
+# calculate atomic charge using quantom chemistry methods.
+# Atom charges for this example were taken from the OPLSAA force field file:
+# http://dasher.wustl.edu/tinker/distribution/params/oplsaa.prm
+# However, normally simulations in AMBER are assigned charges using the
+# "HF/6-31G* RESP2" or "AM1-BCC3" methods using AmberTools.
+
+
+CH3 inherits GAFF {
+
+ # atom-id mol-id atom-type charge x y z
+
+ write("Data Atoms") {
+ $atom:C $mol:... @atom:c3 -0.180 0.000000 0.000000 0.000000
+ $atom:H1 $mol:... @atom:hc 0.060 0.000000 0.6310438442242609 0.8924307629540046
+ $atom:H2 $mol:... @atom:hc 0.060 0.000000 0.6310438442242609 -0.8924307629540046
+ $atom:H3 $mol:... @atom:hc 0.060 -0.8924307629540046 -0.6310438442242609 0.000000
+ }
+
+ # Note: The "..." in "$mol:..." tells moltemplate that this molecule may
+ # be a part of a larger molecule, and (if so) to use the larger
+ # parent object's molecule id number as it's own.
+ # The CH3 group is part of the Hexadecane molecule.
+
+ # Now specify which pairs of atoms are bonded:
+ write('Data Bond List') {
+ $bond:CH1 $atom:C $atom:H1
+ $bond:CH2 $atom:C $atom:H2
+ $bond:CH3 $atom:C $atom:H3
+ }
+
+} # CH3
+
+
+# Optional: Shift all the coordinates in the +Y direction by 0.4431163.
+# This way, the carbon atom is no longer located at 0,0,0, but the
+# axis of an alkane chain containing this monomer is at 0,0,0.
+# (This makes it more convenient to construct a polymer later.
+# If this is confusing, then simply add 0.4431163 to the Y
+# coordinates in the "Data Atoms" section above.)
+
+CH3.move(0,0.4431163,0)
+
+
+
+
+######### (scratchwork calculations for the atomic coordinates) #########
+# Lcc = 1.5350 # length of the C-C bond (Sp3)
+# Lch = 1.0930 # length of the C-H bond
+# theta=2*atan(sqrt(2)) # ~= 109.5 degrees = tetrahedronal angle (C-C-C angle)
+# DeltaXc = Lcc*sin(theta/2) # = 1.2533222517240594
+# DeltaYc = Lcc*cos(theta/2) # = 0.8862326632060754
+# # 0.5*DeltaYc = 0.4431163316030377
+# DeltaZh = Lch*sin(theta/2) # = 0.8924307629540046
+# DeltaYh = Lch*cos(theta/2) # = 0.6310438442242609
+
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/hexadecane.lt b/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/hexadecane.lt
new file mode 100644
index 000000000..d28502f48
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/hexadecane.lt
@@ -0,0 +1,89 @@
+# This example looks complicated because I split the
+# hexadecane molecule into individual CH2 and CH3 monomers.
+#
+# I defined it this way so that you can easily modify
+# it to change the length of the alkane chain.
+
+
+import "gaff.lt" # load the "GAFF" force-field information
+import "ch2group.lt" # load the definition of the "CH2" object
+import "ch3group.lt" # load the definition of the "CH3" object
+
+
+
+Hexadecane inherits GAFF {
+
+
+ create_var {$mol} # optional:force all monomers to share the same molecule-ID
+
+
+ # Now create an array of 16 "CH2" objects distributed along the X axis
+
+ monomers = new CH2 [16].rot(180,1,0,0).move(1.2533223,0,0)
+
+ # Each monomer is rotated 180 degrees with respect to the previous
+ # monomer, and then moved 1.2533223 Angstroms down the X axis.
+
+ # ---- Now, modify the ends: ---
+ # Delete the CH2 groups at the beginning and end, and replace them with CH3.
+ # (Note: Alternately, instead of deleting the CH2 groups at each end, you
+ # could modify them by adding an extra hydrogen atom to those carbons.)
+
+ delete monomers[0]
+ delete monomers[15]
+ monomers[0] = new CH3
+ monomers[15] = new CH3
+
+ # Move the CH3 groups to the correct location at either end of the chain:
+
+ monomers[15].rot(180.0,0,0,1).move(18.7998345,0,0)
+
+ # Note: 18.7998345 = (16-1) * 1.2533223
+
+
+ # Now add a list of bonds connecting the carbon atoms together:
+
+ write('Data Bond List') {
+ $bond:b1 $atom:monomers[0]/C $atom:monomers[1]/C
+ $bond:b2 $atom:monomers[1]/C $atom:monomers[2]/C
+ $bond:b3 $atom:monomers[2]/C $atom:monomers[3]/C
+ $bond:b4 $atom:monomers[3]/C $atom:monomers[4]/C
+ $bond:b5 $atom:monomers[4]/C $atom:monomers[5]/C
+ $bond:b6 $atom:monomers[5]/C $atom:monomers[6]/C
+ $bond:b7 $atom:monomers[6]/C $atom:monomers[7]/C
+ $bond:b8 $atom:monomers[7]/C $atom:monomers[8]/C
+ $bond:b9 $atom:monomers[8]/C $atom:monomers[9]/C
+ $bond:b10 $atom:monomers[9]/C $atom:monomers[10]/C
+ $bond:b11 $atom:monomers[10]/C $atom:monomers[11]/C
+ $bond:b12 $atom:monomers[11]/C $atom:monomers[12]/C
+ $bond:b13 $atom:monomers[12]/C $atom:monomers[13]/C
+ $bond:b14 $atom:monomers[13]/C $atom:monomers[14]/C
+ $bond:b15 $atom:monomers[14]/C $atom:monomers[15]/C
+ }
+
+} # Hexadecane
+
+
+
+
+
+
+
+
+
+
+######### (scratchwork calculations for the atomic coordinates) #########
+#
+# 1.2533223 = DeltaXc = how far each CH2 group is shifted along
+# the X axis (in Angstoms).
+# 0.4431163 = DeltaYc/2 = lateral displacement of carbons away
+# from the central axis. (See below.)
+#
+# Lcc = 1.5350 # length of the C-C bond (Sp3)
+# Lch = 1.0930 # length of the C-H bond
+# theta=2*atan(sqrt(2)) # ~= 109.5 degrees = tetrahedronal angle (C-C-C angle)
+# DeltaXc = Lcc*sin(theta/2) # = 1.2533222517240594
+# DeltaYc = Lcc*cos(theta/2) # = 0.8862326632060754
+# # 0.5*DeltaYc = 0.4431163316030377
+# DeltaZh = Lch*sin(theta/2) # = 0.8924307629540046
+# DeltaYh = Lch*cos(theta/2) # = 0.6310438442242609
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/system.lt b/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/system.lt
new file mode 100644
index 000000000..4e0cfaec6
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/moltemplate_files/system.lt
@@ -0,0 +1,18 @@
+import "hexadecane.lt" # <- defines the "Hexadecane" molecule type.
+
+# Periodic boundary conditions:
+write_once("Data Boundary") {
+ 0.0 62.4 xlo xhi
+ 0.0 62.4 ylo yhi
+ 0.0 62.4 zlo zhi
+}
+
+molecules = new Hexadecane [12].move(0, 0, 5.2)
+ [12].move(0, 5.2, 0)
+ [2].move(31.2, 0, 0)
+
+
+# NOTE: The spacing between molecules is large. There should be extra room to
+# move during the initial stages of equilibration. However, you will have to
+# run the simulation at NPT conditions later to compress the system to a
+# more realistic density.
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/run.in.npt b/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/run.in.npt
new file mode 100644
index 000000000..a1b934522
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/run.in.npt
@@ -0,0 +1,86 @@
+# PREREQUISITES:
+#
+# You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (Follow the instructions in README_setup.sh,
+# or run the file as a script using ./README_setup.sh)
+
+# ------------------------------- Initialization Section --------------------
+
+include system.in.init
+
+# ------------------------------- Atom Definition Section -------------------
+
+read_data system.data
+
+# ------------------------------- Settings Section --------------------------
+
+include system.in.settings
+
+# ------------------------------- Run Section -------------------------------
+
+# To avvoid explosions, I have a 4-step equilibraion process (expand, minimize,
+# reorient, compress). The system (as defined in the "system.data" file)
+# is already expanded. That means there are 3 steps left:
+
+dump dumpeq1 all custom 50 traj_eq1_min.lammpstrj id mol type x y z ix iy iz
+thermo 50
+
+# -- Equilibration: part 1: initial minimization --
+
+# Note: In general, it's always a good idea to minimize the system at first.
+
+minimize 1.0e-5 1.0e-7 100000 400000
+undump dumpeq1
+
+write_data system_after_eq1_min.data
+
+# -- Equilibration part 2: reorienting the molecules (NVT) --
+
+timestep 1.0
+dump dumpeq2 all custom 200 traj_eq2_reorient.lammpstrj id mol type x y z ix iy iz
+
+# Run the system at high temperature (at constant volume) to reorient the
+# the molecules (which would otherwise be pointing in the same direction).
+
+# To speed it up, I randomize the atomic positions for a few thousand steps
+# using fix langevin (and fix nve). Then I switch to fix nvt (Nose-Hoover).
+# (If I start with fix nvt (Nose-Hoover), it seems to get "stuck" for a while.)
+
+
+fix fxlan all langevin 900.0 900.0 120 48279
+fix fxnve all nve
+
+run 4000
+
+unfix fxlan
+unfix fxnve
+# Now continue the simulation at high temperature using fix nvt (Nose-Hoover).
+fix fxnvt all nvt temp 900.0 900.0 100.0
+
+run 50000
+undump dumpeq2
+
+
+write_data system_after_eq2_reorient.data
+
+unfix fxnvt
+
+# -- equilibration part 3: Equilibrating the density (NPT) --
+
+# Originally, the simulation box (in "system.data" and "system.lt") was
+# unrealistically large. The spacing between the molecules was large also.
+# I did this to enable the molecules to move freely and reorient themselves.
+# After doing that, we should run the simulation under NPT conditions to
+# allow the simulation box to contract to it's natural size. We do that here:
+# We begin the simulation at 100 barr (a relatively low pressure), and
+# slowly decrease it to 1 barr, maintianing the temperature at 300K.
+
+dump dumpeq3 all custom 200 traj_eq3_npt.lammpstrj id mol type x y z ix iy iz
+fix fxnpt all npt temp 900.0 300.0 100.0 iso 100.0 1.0 1000.0 drag 2.0
+
+timestep 1.0
+run 100000
+
+write_data system_after_eq3_npt.data
+
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/run.in.nvt b/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/run.in.nvt
new file mode 100644
index 000000000..0bb769989
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/hexadecane/run.in.nvt
@@ -0,0 +1,43 @@
+# PREREQUISITES:
+#
+# 1) You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (Follow the instructions in README_setup.sh,
+# or run the file as a script using ./README_setup.sh)
+# 2) You must equilibrate the system beforehand using "run.in.npt".
+# This will create the file "system_after_npt.data" which this file reads.
+# (Note: I have not verified that this equilibration protocol works well.)
+
+# ------------------------------- Initialization Section --------------------
+
+include system.in.init
+
+# ------------------------------- Atom Definition Section -------------------
+
+
+# Read the coordinates generated by an earlier NPT simulation
+
+read_data system_after_eq3_npt.data
+
+# (The "write_restart" and "read_restart" commands were buggy in 2012,
+# but they should work also. I prefer "write_data" and "read_data".)
+
+
+# ------------------------------- Settings Section --------------------------
+
+include system.in.settings
+
+# ------------------------------- Run Section -------------------------------
+
+# -- simulation protocol --
+
+
+timestep 1.0
+dump 1 all custom 500 traj_nvt.lammpstrj id mol type x y z ix iy iz
+fix fxnvt all nvt temp 350.0 350.0 500.0 tchain 1
+thermo 100
+#thermo_modify flush yes
+
+run 50000
+
+write_data system_after_nvt.data
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/README.txt b/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/README.txt
new file mode 100644
index 000000000..605ea7d6a
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/README.txt
@@ -0,0 +1,37 @@
+The simulation consists of a mixture of isobutane and water.
+Over time (less than 1 ns), the two molecules phase-separate.
+
+The GAFF parameters are applied only to the isobutane molecule.
+(The water molecule paramters are defined explicitly in the
+ "force_fields/tip3p_2004.lt" file distributed with moltemplate.)
+
+WARNING: THIS EXAMPLE HAS NOT BEEN CAREFULLY TESTED.
+ PLEASE REPORT BUGS AND/OR SEND CORRECTIONS. -A 2016-12-16
+
+----------------- CHARGE ----------------------
+
+NOTE: The GAFF force-field DOES NOT ASSIGN ATOM CHARGE.
+ In this example, atom charges were taken from the OPLSAA force field file:
+ http://dasher.wustl.edu/tinker/distribution/params/oplsaa.prm
+ This is not the charge in AMBER simunlations is typically assigned.
+ (As of 2014, it is assigned using the "HF/6-31G* RESP2" or "AM1-BCC3"
+ methods using AmberTools (which are not available in moltemplate).
+ http://ambermd.org/doc6/html/AMBER-sh-19.4.html
+ http://ambermd.org/tutorials/basic/tutorial4b/)
+
+
+-------- REQUIREMENTS: ---------
+
+ This example requires building LAMMPS with the "USER-MISC" package.
+ (because it makes use of "gaff.lt" which uses dihedral_style fourier)
+ To do this, type "make yes-user-misc" before compiling LAMMPS.
+ http://lammps.sandia.gov/doc/Section_start.html#start_3
+
+More detailed instructions on how to build LAMMPS input files and
+run a short simulation are provided in other README files.
+
+step 1)
+README_setup.sh
+
+step 2)
+README_run.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/README_remove_irrelevant_info.sh b/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/README_remove_irrelevant_info.sh
new file mode 100755
index 000000000..67528d426
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/README_remove_irrelevant_info.sh
@@ -0,0 +1,8 @@
+
+# Note: By default, the system.data and system.in.settings files contain
+# extra information for atoms defined in AMGER/GAFF ("gaff.lt") which you
+# are not using in this simulation.
+# This is harmless, but if you to delete this information from your
+# system.in.settings and system.in.data files, run this script:
+
+cleanup_moltemplate.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/README_run.sh b/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/README_run.sh
new file mode 100755
index 000000000..ac39fa950
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/README_run.sh
@@ -0,0 +1,39 @@
+# --- Running LAMMPS ---
+# -------- REQUIREMENTS: ---------
+# 1) This example requires building LAMMPS with the "USER-MISC" package.
+# (because it makes use of "gaff.lt" which uses dihedral_style fourier)
+# To do this, type "make yes-user-misc" before compiling LAMMPS.
+# http://lammps.sandia.gov/doc/Section_start.html#start_3
+# -------- PREREQUISITES: --------
+# The 2 files "run.in.npt", and "run.in.nvt" are LAMMPS
+# input scripts which link to the input scripts and data files
+# you hopefully have created earlier with moltemplate.sh:
+# system.in.init, system.in.settings, system.data
+# If not, carry out the instructions in "README_setup.sh".
+#
+# -- Instructions: --
+# If "lmp_mpi" is the name of the command you use to invoke lammps,
+# then you would run lammps on these files this way:
+
+
+lmp_mpi -i run.in.npt # minimization and simulation at constant pressure
+lmp_mpi -i run.in.nvt # minimization and simulation at constant volume
+
+#(Note: The constant volume simulation lacks pressure equilibration. These are
+# completely separate simulations. The results of the constant pressure
+# simulation might be ignored when beginning the simulation at constant
+# volume. (This is because restart files in LAMMPS don't always work,
+# and I was spending a lot of time trying to convince people it was a
+# LAMMPS bug, instead of a moltemplate bug, so I disabled restart files.)
+# Read the "run.in.nvt" file to find out how to use the "read_restart"
+# command to load the results of the pressure-equilibration simulation,
+# before beginning a constant-volume run.
+
+
+
+
+
+# If you have compiled the MPI version of lammps, you can run lammps in parallel
+#mpirun -np 4 lmp_mpi -i run.in.npt
+#mpirun -np 4 lmp_mpi -i run.in.nvt
+# (assuming you have 4 processors available)
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/README_setup.sh b/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/README_setup.sh
new file mode 100755
index 000000000..eb9df9e44
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/README_setup.sh
@@ -0,0 +1,29 @@
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh system.lt
+
+ # Moltemplate generates various files with names ending in *.in* and *.data.
+ # Move them to the directory where you plan to run LAMMPS (in this case "../")
+ mv -f system.data system.in* ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ #rm -rf output_ttree/
+
+cd ../
+
+
+
+
+# Optional:
+# Note: The system.data and system.in.settings files contain extra information
+# for atoms defined in OPLSAA which you are not using in this simulation.
+# This is harmless, but if you to delete this information from your
+# system.in.settings and system.in.data files, run this script:
+#
+# cleanup_moltemplate.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/README_visualize.txt b/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/README_visualize.txt
new file mode 100644
index 000000000..a3e3ed620
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0}
+ pbc box -shiftcenterrel {0.0 0.15 0.0}
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/images/isobutane.jpg b/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/images/isobutane.jpg
new file mode 100644
index 000000000..8c548fba8
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/images/isobutane.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/images/water+isobutane_t=0_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/images/water+isobutane_t=0_LR.jpg
new file mode 100644
index 000000000..fab496aa2
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/images/water+isobutane_t=0_LR.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/images/water+isobutane_t=840ps_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/images/water+isobutane_t=840ps_LR.jpg
new file mode 100644
index 000000000..aaa4abaf5
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/images/water+isobutane_t=840ps_LR.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/images/water.jpg b/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/images/water.jpg
new file mode 100644
index 000000000..9d578b4ef
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/images/water.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/moltemplate_files/isobutane.lt b/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/moltemplate_files/isobutane.lt
new file mode 100644
index 000000000..9acd858b9
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/moltemplate_files/isobutane.lt
@@ -0,0 +1,57 @@
+
+import "gaff.lt"
+
+# The "gaff.lt" file is usually located in "force_fields" subdirectory
+# of the moltemplate distribution.
+# It contains definitions of the atoms "c3", "h1", as well as the bonded
+# and non-bonded interactions between them (and many other atoms).
+#
+# Moltemplate is only a simple text manipulation tool. It cannot
+# calculate atomic charge using quantom chemistry methods.
+# Atom charges for this example were taken from the OPLSAA force field file:
+# http://dasher.wustl.edu/tinker/distribution/params/oplsaa.prm
+# However, normally simulations in AMBER are assigned charges using the
+# "HF/6-31G* RESP2" or "AM1-BCC3" methods using AmberTools.
+
+
+Isobutane inherits GAFF {
+
+ # atomID molID atomTyle charge X Y Z
+ write('Data Atoms') {
+ $atom:C0 $mol:. @atom:c3 -0.0600 -0.001 -0.001 -0.439
+ $atom:C1 $mol:. @atom:c3 -0.1800 -1.257 -0.726 0.078
+ $atom:C2 $mol:. @atom:c3 -0.1800 1.258 -0.726 0.072
+ $atom:C3 $mol:. @atom:c3 -0.1800 -0.001 1.453 0.069
+ $atom:H0 $mol:. @atom:hc 0.0600 -0.003 -0.004 -1.439
+ $atom:H11 $mol:. @atom:hc 0.0600 -2.075 -0.255 -0.254
+ $atom:H12 $mol:. @atom:hc 0.0600 -1.256 -0.724 1.078
+ $atom:H13 $mol:. @atom:hc 0.0600 -1.259 -1.669 -0.253
+ $atom:H21 $mol:. @atom:hc 0.0600 2.074 -0.255 -0.264
+ $atom:H22 $mol:. @atom:hc 0.0600 1.258 -1.669 -0.259
+ $atom:H23 $mol:. @atom:hc 0.0600 1.261 -0.724 1.072
+ $atom:H31 $mol:. @atom:hc 0.0600 -0.817 1.923 -0.263
+ $atom:H32 $mol:. @atom:hc 0.0600 0.816 1.923 -0.268
+ $atom:H33 $mol:. @atom:hc 0.0600 0.003 1.456 1.070
+ }
+
+ # The "." in "$mol:." refers to this molecule object's molecule ID
+ # (It means we do not expect this molecule to be a group or a subunit
+ # of a larger molecule. Otherwise we would use "$mol:..." instead.)
+
+ write('Data Bond List') {
+ $bond:C01 $atom:C0 $atom:C1
+ $bond:C02 $atom:C0 $atom:C2
+ $bond:C03 $atom:C0 $atom:C3
+ $bond:C0H $atom:C0 $atom:H0
+ $bond:C1H1 $atom:C1 $atom:H11
+ $bond:C1H2 $atom:C1 $atom:H12
+ $bond:C1H3 $atom:C1 $atom:H13
+ $bond:C2H1 $atom:C2 $atom:H21
+ $bond:C2H2 $atom:C2 $atom:H22
+ $bond:C2H3 $atom:C2 $atom:H23
+ $bond:C3H1 $atom:C3 $atom:H31
+ $bond:C3H2 $atom:C3 $atom:H32
+ $bond:C3H3 $atom:C3 $atom:H33
+ }
+
+} # Isobutane
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/moltemplate_files/system.lt b/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/moltemplate_files/system.lt
new file mode 100644
index 000000000..ac9965e58
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/moltemplate_files/system.lt
@@ -0,0 +1,30 @@
+
+import "tip3p_2004.lt" # <-- This defines the TIP3P water molecule. This file
+ # is located in the "force_fields" subdirectory
+ # of the moltemplate distribution.
+
+import "isobutane.lt" # <- defines the "Isobutane" molecule type.
+
+
+# Periodic boundary conditions:
+write_once("Data Boundary") {
+ 0.0 41.50 xlo xhi
+ 0.0 41.50 ylo yhi
+ 0.0 41.50 zlo zhi
+}
+
+
+# The next command generates a (rather dense) cubic lattice with
+# spacing 3.45 Angstroms. (The pressure must be equilibrated later.)
+
+wat = new TIP3P_2004 [12].move(0.00, 0.00, 3.45)
+ [12].move(0.00, 3.45, 0.00)
+ [12].move(3.45, 0.00, 0.00)
+
+isobutane = new Isobutane [4].move(0, 0, 10.35)
+ [4].move(0, 10.35, 0)
+ [4].move(10.35, 0, 0)
+
+# move the isobutane molecules slightly to reduce overlap with the water
+isobutane[*][*][*].move(1.725, 1.725, 1.725)
+
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/run.in.npt b/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/run.in.npt
new file mode 100644
index 000000000..b4e407889
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/run.in.npt
@@ -0,0 +1,44 @@
+# PREREQUISITES:
+#
+# You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (Follow the instructions in README_setup.sh,
+# or run the file as a script using ./README_setup.sh)
+#
+# ------------------------------- Initialization Section --------------------
+
+include system.in.init
+
+# ------------------------------- Atom Definition Section -------------------
+
+read_data system.data
+
+# ------------------------------- Settings Section --------------------------
+
+include system.in.settings
+
+# ------------------------------- Run Section -------------------------------
+
+
+# -- minimization protocol --
+
+# Note: The minimization step is not necessary in this example. However
+# in general, it's always a good idea to minimize the system beforehand.
+# fShakeTIP3P was defined in system.in.settings. It is incompatible with "minimize".
+unfix fShakeTIP3P
+minimize 1.0e-4 1.0e-6 100000 400000
+# Now read "system.in.settings" in order to redefine fShakeTIP3P again:
+include system.in.settings
+
+# -- simulation protocol --
+
+
+timestep 1.0
+dump 1 all custom 500 traj_npt.lammpstrj id mol type x y z ix iy iz
+fix fxnpt all npt temp 300.0 300.0 100.0 iso 1.0 1.0 1000.0 drag 1.0
+thermo 100
+#thermo_modify flush yes
+
+run 40000
+
+write_data system_after_npt.data
diff --git a/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/run.in.nvt b/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/run.in.nvt
new file mode 100644
index 000000000..602b8c329
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_AMBER/waterTIP3P+isobutane/run.in.nvt
@@ -0,0 +1,52 @@
+# PREREQUISITES:
+#
+# 1) You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (Follow the instructions in README_setup.sh,
+# or run the file as a script using ./README_setup.sh)
+# 2) You must equilibrate the system beforehand using "run.in.npt".
+# This will create the file "system_after_npt.data" which this file reads.
+# (Note: I have not verified that this equilibration protocol works well.)
+
+# ------------------------------- Initialization Section --------------------
+
+include system.in.init
+
+# ------------------------------- Atom Definition Section -------------------
+
+
+# Read the coordinates generated by an earlier NPT simulation
+
+read_data system_after_npt.data
+
+# (The "write_restart" and "read_restart" commands were buggy in 2012,
+# but they should work also. I prefer "write_data" and "read_data".)
+
+# ------------------------------- Settings Section --------------------------
+
+include system.in.settings
+
+# ------------------------------- Run Section -------------------------------
+
+# COMMENTING OUT MINIMIZATION STEPS:
+# If you are reading the coordinates generated by the NPT run
+# then you should not need to minimize the system beforehand.
+# -- minimization protocol --
+## ("fix shake" is incompatible with "minimize".)
+#unfix fShakeTIP3P
+#minimize 1.0e-4 1.0e-6 100000 400000
+## Now read "system.in.settings" in order to redefine fShakeTIP3P again:
+#include system.in.settings
+
+# -- simulation protocol --
+
+
+timestep 1.0
+dump 1 all custom 500 traj_nvt.lammpstrj id mol type x y z ix iy iz
+fix fxnvt all nvt temp 300.0 300.0 500.0 tchain 1
+thermo 500
+#thermo_modify flush yes
+
+run 50000
+
+write_data system_after_nvt.data
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/WARNING.txt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/WARNING.txt
new file mode 100644
index 000000000..99b50a744
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/WARNING.txt
@@ -0,0 +1,28 @@
+# -------- WARNING: --------
+
+This directory contains some examples of all-atom simulations using the OPLSAA
+force field.
+
+This software is experimental, and the force-fields and equilbration protocols
+have not been tested carefully by me. There is no gaurantee that simulations
+prepared using moltemplate will reproduce the behavior of other MD codes.
+
+# -------- REQUEST FOR HELP: --------
+
+If you notice a problem with these examples, please report it.
+Peer-review is the only way to improve this software (or any software).
+Other suggestions are also welcome!
+
+(Contact jewett.aij@gmail.com, 2014-4-19)
+
+--- Improper angles ---
+
+I am also uncertain whether the improper angle interactions generated by
+moltemplate are equivalent to those generated by BOSS or other molecule
+builders. (I think they are, but I am worried that we might have listed
+the atom types in the wrong order. Let us know if you see discrepancies
+between what moltemplate and other molecule builders generates.)
+
+-----------
+For more details how to use the OPLSAA force-field, read the "README.TXT"
+file located in "ethylene/moltemplate_files/oplsaa_lt_generator/README.TXT"
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/README.txt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/README.txt
new file mode 100644
index 000000000..5ddb4ae8f
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/README.txt
@@ -0,0 +1,37 @@
+This example is a simple simulation of a long alkane chain,
+in a vacuum at room temperature using the OPLSAA force field.
+
+1) Create the "system.data", "system.in.init", and "system.in.settings"
+files which LAMMPS will read by running:
+
+moltemplate.sh system.lt
+
+
+2) Run LAMMPS in this order:
+
+lmp_mpi -i run.in.min # minimize the energy (to avoid atom overlap) before...
+lmp_mpi -i run.in.nvt # running the simulation at constant temperature
+
+(The name of the LAMMPS executable, eg "lmp_mpi", may vary.)
+
+---- Details ----
+
+The "Alkane50" molecule, as well as the "CH2", and "CH3" monomers it contains
+use the OPLSAA force-field. This means that when we define these molecules,
+we only specify the atom names, bond list, and coordinates.
+We do not have to list the atom charges, angles, dihedrals, or impropers.
+The rules for creating atomic charge and angle topology are contained in
+the "loplsaa.lt" file created by step 3) above. The "ch2group.lt",
+"ch3group.lt", and "alkane50.lt" files all refer to "loplsaa.lt",
+(as well as the "OPLSAA" force-field object which it defines). Excerpt:
+
+import "loplsaa.lt"
+CH2 inherits OPLSAA { ...
+CH3 inherits OPLSAA { ...
+Alkane50 inherits OPLSAA { ...
+
+Alternatively, you can manually define a list of angles, dihedrals, and
+improper interactions in these files, instead of asking the force-field
+to generate them for you. You can also specify some of the angles and
+dihedrals explicitly, and let the force-field handle the rest.
+(Many of the examples which come with moltemplate do this.)
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/README_remove_irrelevant_info.sh b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/README_remove_irrelevant_info.sh
new file mode 100755
index 000000000..5957289da
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/README_remove_irrelevant_info.sh
@@ -0,0 +1,8 @@
+
+# Note: By default, the system.data and system.in.settings files contain
+# extra information for atoms defined in OPLSAA which you are not using
+# in this simulation.
+# This is harmless, but if you to delete this information from your
+# system.in.settings and system.in.data files, run this script:
+
+cleanup_moltemplate.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/README_run.sh b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/README_run.sh
new file mode 100755
index 000000000..94d6de972
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/README_run.sh
@@ -0,0 +1,34 @@
+# --- Running LAMMPS ---
+#
+# The 2 files "run.in.npt", and "run.in.nvt" are LAMMPS
+# input scripts which link to the input scripts and data files
+# you hopefully have created earlier with moltemplate.sh:
+# system.in.init, system.in.settings, system.data
+# If not, carry out the instructions in "README_setup.sh".
+#
+# -- Instructions: --
+# If "lmp_mpi" is the name of the command you use to invoke lammps,
+# then you would run lammps on these files this way:
+
+
+lmp_mpi -i run.in.min # minimization
+lmp_mpi -i run.in.nvt # minimization and simulation at constant volume
+
+#(Note: The constant volume simulation lacks pressure equilibration. These are
+# completely separate simulations. The results of the constant pressure
+# simulation might be ignored when beginning the simulation at constant
+# volume. (This is because restart files in LAMMPS don't always work,
+# and I was spending a lot of time trying to convince people it was a
+# LAMMPS bug, instead of a moltemplate bug, so I disabled restart files.)
+# Read the "run.in.nvt" file to find out how to use the "read_restart"
+# command to load the results of the pressure-equilibration simulation,
+# before beginning a constant-volume run.
+
+
+
+
+
+# If you have compiled the MPI version of lammps, you can run lammps in parallel
+#mpirun -np 4 lmp_mpi -i run.in.npt
+#mpirun -np 4 lmp_mpi -i run.in.nvt
+# (assuming you have 4 processors available)
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/README_setup.sh b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/README_setup.sh
new file mode 100755
index 000000000..5cd2142a4
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/README_setup.sh
@@ -0,0 +1,34 @@
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh system.lt
+
+ # Optional:
+ # To check for missing angle,dihedral params run moltemplate this way instead:
+ # moltemplate.sh -checkff system.lt
+
+
+ # Moltemplate generates various files with names ending in *.in* and *.data.
+ # Move them to the directory where you plan to run LAMMPS (in this case "../")
+ mv -f system.data system.in* ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
+
+
+
+
+# Optional:
+# Note: The system.data and system.in.settings files contain extra information
+# for atoms defined in OPLSAA which you are not using in this simulation.
+# This is harmless, but if you to delete this information from your
+# system.in.settings and system.in.data files, run this script:
+#
+# cleanup_moltemplate.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/README_visualize.txt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/README_visualize.txt
new file mode 100644
index 000000000..a3e3ed620
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0}
+ pbc box -shiftcenterrel {0.0 0.15 0.0}
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/images/ch2_ry90.jpg b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/images/ch2_ry90.jpg
new file mode 100644
index 000000000..39a887955
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/images/ch2_ry90.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/images/ch3_ry60.jpg b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/images/ch3_ry60.jpg
new file mode 100644
index 000000000..ab140a8f9
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/images/ch3_ry60.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/images/t=0.jpg b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/images/t=0.jpg
new file mode 100644
index 000000000..39633edd5
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/images/t=0.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/images/t=1ns.jpg b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/images/t=1ns.jpg
new file mode 100644
index 000000000..da2fe1185
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/images/t=1ns.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/moltemplate_files/alkane50.lt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/moltemplate_files/alkane50.lt
new file mode 100644
index 000000000..b15ef139f
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/moltemplate_files/alkane50.lt
@@ -0,0 +1,137 @@
+# This is a simple example showing how to build a long polymer
+# (in this case, an alkane chain). I split the
+# hexadecane molecule into individual CH2 and CH3 monomers.
+# I defined it this way so that you can easily modify
+# it to change the length of the alkane chain.
+
+
+import "ch2group.lt" # load the definition of the "CH2" object
+import "ch3group.lt" # load the definition of the "CH3" object
+
+
+
+Alkane50 inherits OPLSAA {
+
+
+ create_var {$mol} # optional:force all monomers to share the same molecule-ID
+
+ # This is a long polymer consisting of 48 CH2 groups and 2 CH3 end-caps.
+ # Rather than create them one-by-one, I decided to create them all
+ # using a single "new" command. Later, I can modify this array.
+
+ # Create an array of 50 "CH2" objects distributed along the X axis
+
+ monomers = new CH2 [50].rot(180,1,0,0).move(1.2533223,0,0)
+
+ # NOTE: the ".rot(180,1,0,0).move(1.2533223,0,0)" means that each
+ # successive monomer is rotated 180 degrees (with respect to the previous
+ # monomer), and then moved 1.2533223 Angstroms down the X axis.
+ # Alternately, if you are reading the coordinates from a file, you don't have
+ # to indicate the position & orientation of each monomer. In that case, use:
+ # monomers = new CH2 [50]
+
+
+ # ---- Now, modify the ends: ---
+ # Delete the CH2 groups at the beginning and end, and replace them with CH3.
+
+ delete monomers[0]
+ delete monomers[49]
+
+ monomers[0] = new CH3
+ monomers[49] = new CH3
+
+ # Move the CH3 groups to the correct location at either end of the chain:
+
+ #monomers[0].move(0,0,0) # <--(this monomer is already in the correct place)
+ monomers[49].rot(180.0,0,0,1).move(61.4127927,0,0) #61.4127927=49*1.2533223
+
+
+ ## NOTE: Alternately, you can define the polymer without deleting the ends:
+ # monomers[0] = new CH3
+ # monomers[1-48] = new CH2[48].rot(180,1,0,0).move(1.2533223,0,0)
+ ## Note: monomers[0] and monomers[1] overlap, so we move 1-48 to make room:
+ # monomers[1-48].rot(180,1,0,0).move(1.2533223,0,0) # move many monomers
+ ## Now add the final monomer at the end:
+ # monomers[49] = new CH3.rot(180.0,0,0,1).move(61.4127927,0,0)
+ #
+ ## NOTE: Alternately, you can read the coordinates from a file.
+ ## In that case, you can use simpler commands:
+ # monomers[0] = new CH3
+ # monomers[1-48] = new CH2[48]
+ # monomers[49] = new CH3
+
+
+
+ # Now add a list of bonds connecting the carbon atoms together:
+ # (Angles, dihedrals, impropers will be automatically added later.)
+
+ write('Data Bond List') {
+ $bond:b1 $atom:monomers[0]/C $atom:monomers[1]/C
+ $bond:b2 $atom:monomers[1]/C $atom:monomers[2]/C
+ $bond:b3 $atom:monomers[2]/C $atom:monomers[3]/C
+ $bond:b4 $atom:monomers[3]/C $atom:monomers[4]/C
+ $bond:b5 $atom:monomers[4]/C $atom:monomers[5]/C
+ $bond:b6 $atom:monomers[5]/C $atom:monomers[6]/C
+ $bond:b7 $atom:monomers[6]/C $atom:monomers[7]/C
+ $bond:b8 $atom:monomers[7]/C $atom:monomers[8]/C
+ $bond:b9 $atom:monomers[8]/C $atom:monomers[9]/C
+ $bond:b10 $atom:monomers[9]/C $atom:monomers[10]/C
+ $bond:b11 $atom:monomers[10]/C $atom:monomers[11]/C
+ $bond:b12 $atom:monomers[11]/C $atom:monomers[12]/C
+ $bond:b13 $atom:monomers[12]/C $atom:monomers[13]/C
+ $bond:b14 $atom:monomers[13]/C $atom:monomers[14]/C
+ $bond:b15 $atom:monomers[14]/C $atom:monomers[15]/C
+ $bond:b16 $atom:monomers[15]/C $atom:monomers[16]/C
+ $bond:b17 $atom:monomers[16]/C $atom:monomers[17]/C
+ $bond:b18 $atom:monomers[17]/C $atom:monomers[18]/C
+ $bond:b19 $atom:monomers[18]/C $atom:monomers[19]/C
+ $bond:b20 $atom:monomers[19]/C $atom:monomers[20]/C
+ $bond:b21 $atom:monomers[20]/C $atom:monomers[21]/C
+ $bond:b22 $atom:monomers[21]/C $atom:monomers[22]/C
+ $bond:b23 $atom:monomers[22]/C $atom:monomers[23]/C
+ $bond:b24 $atom:monomers[23]/C $atom:monomers[24]/C
+ $bond:b25 $atom:monomers[24]/C $atom:monomers[25]/C
+ $bond:b26 $atom:monomers[25]/C $atom:monomers[26]/C
+ $bond:b27 $atom:monomers[26]/C $atom:monomers[27]/C
+ $bond:b28 $atom:monomers[27]/C $atom:monomers[28]/C
+ $bond:b29 $atom:monomers[28]/C $atom:monomers[29]/C
+ $bond:b30 $atom:monomers[29]/C $atom:monomers[30]/C
+ $bond:b31 $atom:monomers[30]/C $atom:monomers[31]/C
+ $bond:b32 $atom:monomers[31]/C $atom:monomers[32]/C
+ $bond:b33 $atom:monomers[32]/C $atom:monomers[33]/C
+ $bond:b34 $atom:monomers[33]/C $atom:monomers[34]/C
+ $bond:b35 $atom:monomers[34]/C $atom:monomers[35]/C
+ $bond:b36 $atom:monomers[35]/C $atom:monomers[36]/C
+ $bond:b37 $atom:monomers[36]/C $atom:monomers[37]/C
+ $bond:b38 $atom:monomers[37]/C $atom:monomers[38]/C
+ $bond:b39 $atom:monomers[38]/C $atom:monomers[39]/C
+ $bond:b40 $atom:monomers[39]/C $atom:monomers[40]/C
+ $bond:b41 $atom:monomers[40]/C $atom:monomers[41]/C
+ $bond:b42 $atom:monomers[41]/C $atom:monomers[42]/C
+ $bond:b43 $atom:monomers[42]/C $atom:monomers[43]/C
+ $bond:b44 $atom:monomers[43]/C $atom:monomers[44]/C
+ $bond:b45 $atom:monomers[44]/C $atom:monomers[45]/C
+ $bond:b46 $atom:monomers[45]/C $atom:monomers[46]/C
+ $bond:b47 $atom:monomers[46]/C $atom:monomers[47]/C
+ $bond:b48 $atom:monomers[47]/C $atom:monomers[48]/C
+ $bond:b49 $atom:monomers[48]/C $atom:monomers[49]/C
+ }
+
+} # Alkane50
+
+
+
+
+
+
+
+
+######### (scratchwork calculations for the atomic coordinates) #########
+# Lcc = 1.5350 # length of the C-C bond (Sp3)
+# Lch = 1.0930 # length of the C-H bond
+# theta=2*atan(sqrt(2)) # ~= 109.5 degrees = tetrahedronal angle (C-C-C angle)
+# DeltaXc = Lcc*sin(theta/2) # = 1.2533222517240594
+# DeltaYc = Lcc*cos(theta/2) # = 0.8862326632060754
+# # 0.5*DeltaYc = 0.4431163316030377
+# DeltaZh = Lch*sin(theta/2) # = 0.8924307629540046
+# DeltaYh = Lch*cos(theta/2) # = 0.6310438442242609
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/moltemplate_files/ch2group.lt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/moltemplate_files/ch2group.lt
new file mode 100644
index 000000000..c800d5667
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/moltemplate_files/ch2group.lt
@@ -0,0 +1,82 @@
+# This file contains a definition for the "CH2" molecular subunit.
+
+# First, load the OPLS force field parameters we will need.
+# These 2 files are located in the "force_fields" subdirectory
+# distributed with moltemplate.
+
+import "oplsaa.lt" # <-- defines the standard "OPLSAA" force field
+import "loplsaa.lt" # <-- custom parameters for long alkane chains taken from
+ # Sui et al. J.Chem.Theory.Comp (2012), 8, 1459
+ # To use the ordinary OPLSAA force field parameters,
+ # (instead of the Sui et al. parameters), change the
+ # atom types below from "@atom:81L","@atom:85LCH2" to
+ # "@atom:81" and "@atom:85" (defined in "oplsaa.lt")
+
+
+
+# Then define "CH2":
+
+
+CH2 inherits OPLSAA {
+
+ # atom-id mol-id atom-type charge x y z
+
+ write("Data Atoms") {
+ $atom:C $mol:... @atom:81L 0.0 0.000000 0.000000 0.000000
+ $atom:H1 $mol:... @atom:85LCH2 0.0 0.000000 0.631044 0.892431
+ $atom:H2 $mol:... @atom:85LCH2 0.0 0.000000 0.631044 -0.892431
+ }
+
+ write('Data Bond List') {
+ $bond:CH1 $atom:C $atom:H1
+ $bond:CH2 $atom:C $atom:H2
+ }
+
+ # Atom type numbers (@atom:80L,@atom:85LCH3) are defined in "loplsaa.lt":
+ # @atom:80L "Alkane CH3- (LOPLS CT_CH3)"
+ # @atom:81L "Alkane -CH2- (LOPLS CT_CH2)"
+ # @atom:85LCH3 "Alkane H-C CH3 (LOPLS HC_CH3)"
+ # @atom:85LCH2 "Alkane H-C CH2 (LOPLS HC_CH2)"
+ # In this example, atomic charges are generated by atom type (according to the
+ # rules in loplsaa.lt), and can be omitted. Just leave them as "0.00" for now.
+ # The "..." in "$mol:..." tells moltemplate that this molecule may be part
+ # of a larger molecule, and (if so) to use the larger parent object's
+ # molecule id number as it's own.
+
+} # CH2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Optional: Shift all the coordinates in the +Y direction by 0.4431163.
+# This way, the carbon atom is no longer located at 0,0,0, but the
+# axis of an alkane chain containing this monomer is at 0,0,0.
+# (This makes it more convenient to construct a polymer later.
+# If this is confusing, then simply add 0.4431163 to the Y
+# coordinates in the "Data Atoms" section above.)
+
+CH2.move(0,0.4431163,0)
+
+
+
+
+######### (scratchwork calculations for the atomic coordinates) #########
+# Lcc = 1.5350 # length of the C-C bond (Sp3)
+# Lch = 1.0930 # length of the C-H bond
+# theta=2*atan(sqrt(2)) # ~= 109.5 degrees = tetrahedronal angle (C-C-C angle)
+# DeltaXc = Lcc*sin(theta/2) # = 1.2533222517240594
+# DeltaYc = Lcc*cos(theta/2) # = 0.8862326632060754
+# # 0.5*DeltaYc = 0.4431163
+# DeltaZh = Lch*sin(theta/2) # = 0.892431
+# DeltaYh = Lch*cos(theta/2) # = 0.631044
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/moltemplate_files/ch3group.lt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/moltemplate_files/ch3group.lt
new file mode 100644
index 000000000..95d48d853
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/moltemplate_files/ch3group.lt
@@ -0,0 +1,84 @@
+# This file contains a definition for the "CH3" molecular subunit.
+
+# First, load the OPLS force field parameters we will need.
+# These 2 files are located in the "force_fields" subdirectory
+# of the moltemplate distribution.
+
+import "oplsaa.lt" # <-- defines the standard "OPLSAA" force field
+import "loplsaa.lt" # <-- custom parameters for long alkane chains taken from
+ # Sui et al. J.Chem.Theory.Comp (2012), 8, 1459
+ # To use the ordinary OPLSAA force field parameters,
+ # (instead of the Sui et al. parameters), change the
+ # atom types below from "@atom:80L","@atom:85LCH3" to
+ # "@atom:80" and "@atom:85" (defined in "oplsaa.lt")
+
+
+
+# Then define "CH3":
+
+
+CH3 inherits OPLSAA {
+
+ # atom-id mol-id atom-type charge x y z
+
+ write("Data Atoms") {
+ $atom:C $mol:... @atom:80L 0.0 0.000000 0.000000 0.000000
+ $atom:H1 $mol:... @atom:85LCH3 0.0 0.000000 0.631044 0.892431
+ $atom:H2 $mol:... @atom:85LCH3 0.0 0.000000 0.631044 -0.892431
+ $atom:H3 $mol:... @atom:85LCH3 0.0 -0.892431 -0.631044 0.000000
+ }
+
+ write('Data Bond List') {
+ $bond:CH1 $atom:C $atom:H1
+ $bond:CH2 $atom:C $atom:H2
+ $bond:CH3 $atom:C $atom:H3
+ }
+
+ # Atom type numbers (@atom:80L,@atom:85LCH3) are defined in "loplsaa.lt",
+ # @atom:80L "Alkane CH3- (LOPLS CT_CH3)"
+ # @atom:81L "Alkane -CH2- (LOPLS CT_CH2)"
+ # @atom:85LCH3 "Alkane H-C CH3 (LOPLS HC_CH3)"
+ # @atom:85LCH2 "Alkane H-C CH2 (LOPLS HC_CH2)"
+ # In this example, atomic charges are generated by atom type (according to the
+ # rules in loplsaa.lt), and can be omitted. Just leave them as "0.00" for now.
+ # The "..." in "$mol:..." tells moltemplate that this molecule may be part
+ # of a larger molecule, and (if so) to use the larger parent object's
+ # molecule id number as it's own.
+
+} # CH3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Optional: Shift all the coordinates in the +Y direction by 0.4431163.
+# This way, the carbon atom is no longer located at 0,0,0, but the
+# axis of an alkane chain containing this monomer is at 0,0,0.
+# (This makes it more convenient to construct a polymer later.
+# If this is confusing, then simply add 0.4431163 to the Y
+# coordinates in the "Data Atoms" section above.)
+
+CH3.move(0,0.4431163,0)
+
+
+
+
+######### (scratchwork calculations for the atomic coordinates) #########
+# Lcc = 1.5350 # length of the C-C bond (Sp3)
+# Lch = 1.0930 # length of the C-H bond
+# theta=2*atan(sqrt(2)) # ~= 109.5 degrees = tetrahedronal angle (C-C-C angle)
+# DeltaXc = Lcc*sin(theta/2) # = 1.2533222517240594
+# DeltaYc = Lcc*cos(theta/2) # = 0.8862326632060754
+# # 0.5*DeltaYc = 0.4431163
+# DeltaZh = Lch*sin(theta/2) # = 0.892431
+# DeltaYh = Lch*cos(theta/2) # = 0.631044
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/moltemplate_files/system.lt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/moltemplate_files/system.lt
new file mode 100644
index 000000000..f62ecc09b
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/moltemplate_files/system.lt
@@ -0,0 +1,31 @@
+import "alkane50.lt" # Defines the "Alkane50" molecule
+
+
+polymer = new Alkane50
+
+
+
+# Specify the size of the world the polymer lives in:
+write_once("Data Boundary") {
+ 0.0 72.0 xlo xhi
+ 0.0 72.0 ylo yhi
+ 0.0 72.0 zlo zhi
+}
+
+
+
+
+
+###############################################################################
+# Note: If you want to create multiple polymers, and/or mix them with other
+# molecules, just add more "new" commands, for example:
+# polymer1 = new Alkane50.move(0,0,10)
+# polymer2 = new Alkane50.move(0,0,20)
+# :
+# ...or use array notation, for example:
+# polymers = new Alkane50[20].move(0,0,10)
+#
+# Note: Multidimensional arrays can be used to fill a planar region or a volume
+# polymers = new Alkane50 [4].move(0, 0, 30.0)
+# [4].move(0, 30.0, 0)
+# [2].move(70.0, 0, 0)
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/run.in.min b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/run.in.min
new file mode 100644
index 000000000..5d0bcffd8
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/run.in.min
@@ -0,0 +1,37 @@
+# PREREQUISITES:
+#
+# You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+#
+# ------------------------------- Initialization Section --------------------
+
+include "system.in.init"
+
+# ------------------------------- Atom Definition Section -------------------
+
+read_data "system.data"
+
+# ------------------------------- Settings Section --------------------------
+
+include "system.in.settings"
+include "system.in.charges"
+
+# ------------------------------- Run Section -------------------------------
+
+
+# -- minimization protocol --
+
+# Note: The minimization step is not necessary in this example. However
+# in general, it's always a good idea to minimize the system beforehand.
+
+thermo 50
+dump 1 all custom 50 traj_min.lammpstrj id mol type x y z ix iy iz
+minimize 1.0e-4 1.0e-6 100000 400000
+
+
+# (The "write_restart" and "read_restart" commands were buggy in 2012,
+# but they should work also. I prefer "write_data" and "read_data".)
+
+write_data system_after_min.data
+
+
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/run.in.nvt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/run.in.nvt
new file mode 100644
index 000000000..d5b77423a
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/alkane_chain_single/run.in.nvt
@@ -0,0 +1,38 @@
+# PREREQUISITES:
+#
+# 1) You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (Follow the instructions in README_setup.sh,
+# or run the file as a script using ./README_setup.sh)
+# 2) You must minimize the system beforehand by using "run.in.min".
+# This will create the file "system_after_min.data" which this file reads.
+
+# ------------------------------- Initialization Section --------------------
+
+include "system.in.init"
+
+# ------------------------------- Atom Definition Section -------------------
+
+# Read the coordinates generated by an earlier simulation
+
+read_data "system_after_min.data"
+
+# ------------------------------- Settings Section --------------------------
+
+include "system.in.settings"
+include "system.in.charges"
+
+# ------------------------------- Run Section -------------------------------
+
+# -- simulation protocol --
+
+
+timestep 1.0
+dump 1 all custom 1000 traj_nvt.lammpstrj id mol type x y z ix iy iz
+fix fxnvt all nvt temp 300.0 300.0 500.0 tchain 1
+thermo 500
+#thermo_modify flush yes
+
+run 1000000
+
+write_data system_after_nvt.data
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/README.txt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/README.txt
new file mode 100644
index 000000000..f744e1718
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/README.txt
@@ -0,0 +1,12 @@
+This is an example of how to use the OPLSAA force-field in LAMMPS
+
+As of 2016-11-21, this code has not been tested for accuracy.
+(See the WARNING.TXT file.)
+
+step 1)
+To build the files which LAMMPS needs, follow the instructions in:
+README_setup.sh
+
+step 2)
+To run LAMMPS with these files, follow these instructions:
+README_run.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/README_remove_irrelevant_info.sh b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/README_remove_irrelevant_info.sh
new file mode 100755
index 000000000..5957289da
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/README_remove_irrelevant_info.sh
@@ -0,0 +1,8 @@
+
+# Note: By default, the system.data and system.in.settings files contain
+# extra information for atoms defined in OPLSAA which you are not using
+# in this simulation.
+# This is harmless, but if you to delete this information from your
+# system.in.settings and system.in.data files, run this script:
+
+cleanup_moltemplate.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/README_run.sh b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/README_run.sh
new file mode 100755
index 000000000..c27520076
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/README_run.sh
@@ -0,0 +1,34 @@
+# --- Running LAMMPS ---
+#
+# The 2 files "run.in.npt", and "run.in.nvt" are LAMMPS
+# input scripts which link to the input scripts and data files
+# you hopefully have created earlier with moltemplate.sh:
+# system.in.init, system.in.settings, system.data
+# If not, carry out the instructions in "README_setup.sh".
+#
+# -- Instructions: --
+# If "lmp_mpi" is the name of the command you use to invoke lammps,
+# then you would run lammps on these files this way:
+
+
+lmp_mpi -i run.in.npt # minimization and simulation at constant pressure
+lmp_mpi -i run.in.nvt # minimization and simulation at constant volume
+
+#(Note: The constant volume simulation lacks pressure equilibration. These are
+# completely separate simulations. The results of the constant pressure
+# simulation might be ignored when beginning the simulation at constant
+# volume. (This is because restart files in LAMMPS don't always work,
+# and I was spending a lot of time trying to convince people it was a
+# LAMMPS bug, instead of a moltemplate bug, so I disabled restart files.)
+# Read the "run.in.nvt" file to find out how to use the "read_restart"
+# command to load the results of the pressure-equilibration simulation,
+# before beginning a constant-volume run.
+
+
+
+
+
+# If you have compiled the MPI version of lammps, you can run lammps in parallel
+#mpirun -np 4 lmp_mpi -i run.in.npt
+#mpirun -np 4 lmp_mpi -i run.in.nvt
+# (assuming you have 4 processors available)
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/README_setup.sh b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/README_setup.sh
new file mode 100755
index 000000000..0869d7b78
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/README_setup.sh
@@ -0,0 +1,35 @@
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh system.lt
+
+ # Optional:
+ # To check for missing angle,dihedral params run moltemplate this way instead:
+ # moltemplate.sh -checkff system.lt
+
+
+ # Moltemplate generates various files with names ending in *.in* and *.data.
+ # Move them to the directory where you plan to run LAMMPS (in this case "../")
+ mv -f system.data system.in* ../
+
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
+
+
+
+
+# Optional:
+# Note: The system.data and system.in.settings files contain extra information
+# for atoms defined in OPLSAA which you are not using in this simulation.
+# This is harmless, but if you to delete this information from your
+# system.in.settings and system.in.data files, run this script:
+#
+# cleanup_moltemplate.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/README_visualize.txt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/README_visualize.txt
new file mode 100644
index 000000000..a3e3ed620
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0}
+ pbc box -shiftcenterrel {0.0 0.15 0.0}
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/images/benzene.jpg b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/images/benzene.jpg
new file mode 100644
index 000000000..356c78425
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/images/benzene.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/images/ethylene+benzene_box80x80x80_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/images/ethylene+benzene_box80x80x80_LR.jpg
new file mode 100644
index 000000000..00c82d3d9
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/images/ethylene+benzene_box80x80x80_LR.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/images/ethylene.jpg b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/images/ethylene.jpg
new file mode 100644
index 000000000..ab5bbbf49
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/images/ethylene.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/moltemplate_files/benzene.lt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/moltemplate_files/benzene.lt
new file mode 100644
index 000000000..1293cb1e4
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/moltemplate_files/benzene.lt
@@ -0,0 +1,45 @@
+import "oplsaa.lt"
+
+# The "oplsaa.lt" file contains force-field definitions and masses for the
+# atoms in your system. See oplsaa_lt_generator/README.TXT for details.
+
+# Note:
+# Atom type @atom:90 corresponds to "Aromatic C"
+# Atom type @atom:91 corresponds to "Aromatic H-C"
+
+Benzene inherits OPLSAA {
+
+ write('Data Atoms') {
+ $atom:C1 $mol @atom:90 0.00 5.274 1.999 -8.568 # "Aromatic C"
+ $atom:C2 $mol @atom:90 0.00 6.627 2.018 -8.209 # "Aromatic C"
+ $atom:C3 $mol @atom:90 0.00 7.366 0.829 -8.202 # "Aromatic C"
+ $atom:C4 $mol @atom:90 0.00 6.752 -0.379 -8.554 # "Aromatic C"
+ $atom:C5 $mol @atom:90 0.00 5.399 -0.398 -8.912 # "Aromatic C"
+ $atom:C6 $mol @atom:90 0.00 4.660 0.791 -8.919 # "Aromatic C"
+ $atom:H11 $mol @atom:91 0.00 4.704 2.916 -8.573 # "Aromatic H-C"
+ $atom:H21 $mol @atom:91 0.00 7.101 2.950 -7.938 # "Aromatic H-C"
+ $atom:H31 $mol @atom:91 0.00 8.410 0.844 -7.926 # "Aromatic H-C"
+ $atom:H41 $mol @atom:91 0.00 7.322 -1.296 -8.548 # "Aromatic H-C"
+ $atom:H51 $mol @atom:91 0.00 4.925 -1.330 -9.183 # "Aromatic H-C"
+ $atom:H61 $mol @atom:91 0.00 3.616 0.776 -9.196 # "Aromatic H-C"
+ }
+ # Note: You don't have to specify the charge in this example because
+ # we are using the OPLSAA force-field assigns this by atom-type.
+ # Just leave these numbers as 0.00 for now.
+
+ write('Data Bond List') {
+ $bond:C12 $atom:C1 $atom:C2
+ $bond:C23 $atom:C2 $atom:C3
+ $bond:C34 $atom:C3 $atom:C4
+ $bond:C45 $atom:C4 $atom:C5
+ $bond:C56 $atom:C5 $atom:C6
+ $bond:C61 $atom:C6 $atom:C1
+ $bond:C1H1 $atom:C1 $atom:H11
+ $bond:C2H2 $atom:C2 $atom:H21
+ $bond:C3H3 $atom:C3 $atom:H31
+ $bond:C4H4 $atom:C4 $atom:H41
+ $bond:C5H5 $atom:C5 $atom:H51
+ $bond:C6H6 $atom:C6 $atom:H61
+ }
+
+} # Benzene
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/moltemplate_files/ethylene.lt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/moltemplate_files/ethylene.lt
new file mode 100644
index 000000000..626c731b0
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/moltemplate_files/ethylene.lt
@@ -0,0 +1,43 @@
+import "oplsaa.lt"
+
+# The "oplsaa.lt" file contains force-field definitions and masses for the
+# atoms in your system. See oplsaa_lt_generator/README.TXT for details.
+
+# Note:
+# Atom type 88 corresponds to "Alkene H2-C="
+# Atom type 89 corresponds to "Alkene H-C="
+
+
+
+Ethylene inherits OPLSAA {
+
+ # atom-id mol-id atom-type charge X Y Z
+
+ write('Data Atoms') {
+ $atom:C1 $mol @atom:88 0.00 -0.6695 0.000000 0.000000
+ $atom:C2 $mol @atom:88 0.00 0.6695 0.000000 0.000000
+ $atom:H11 $mol @atom:89 0.00 -1.234217 -0.854458 0.000000
+ $atom:H12 $mol @atom:89 0.00 -1.234217 0.854458 0.000000
+ $atom:H21 $mol @atom:89 0.00 1.234217 -0.854458 0.000000
+ $atom:H22 $mol @atom:89 0.00 1.234217 0.854458 0.000000
+ }
+ # Note: You don't have to specify the charge in this example because
+ # we are using the OPLSAA force-field assigns this by atom-type.
+ # Just leave these numbers as 0.00 for now.
+
+ write('Data Bond List') {
+ $bond:C12 $atom:C1 $atom:C2
+ $bond:C1H1 $atom:C1 $atom:H11
+ $bond:C1H2 $atom:C1 $atom:H12
+ $bond:C2H1 $atom:C2 $atom:H21
+ $bond:C2H2 $atom:C2 $atom:H22
+ }
+
+} # Ethylene
+
+
+
+# Note: You don't need to supply the partial partial charges of the atoms.
+# If you like, just fill the fourth column with zeros ("0.000").
+# Moltemplate and LAMMPS will automatically assign the charge later
+
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/moltemplate_files/system.lt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/moltemplate_files/system.lt
new file mode 100644
index 000000000..49458a5b4
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/moltemplate_files/system.lt
@@ -0,0 +1,28 @@
+import "ethylene.lt" # <- defines the "Ethylene" molecule type.
+import "benzene.lt" # <- defines the "Benzene" molecule type.
+
+
+# Periodic boundary conditions:
+write_once("Data Boundary") {
+ 0.0 80.00 xlo xhi
+ 0.0 80.00 ylo yhi
+ 0.0 80.00 zlo zhi
+}
+
+# Create 1000 ethylenes and 500 benzenes
+
+ethylenes = new Ethylene[10].move(8.0, 0, 0)
+ [10].move(0, 8.0, 0)
+ [10].move(0, 0, 8.0)
+
+benzenes = new Benzene[10].move(8.0, 0, 0)
+ [10].move(0, 8.0, 0)
+ [5].move(0, 0, 16.0)
+
+# Now shift the positions of all of the benzene molecules,
+# to reduce the chance that they overlap with the ethylene molecules.
+
+benzenes[*][*][*].move(4.0, 4.0, 4.0)
+
+# Note: There is also an example which shows how to generate the coordinates
+# using PACKMOL. (That allows us to omit the coordinates and .move() commands.)
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/run.in.npt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/run.in.npt
new file mode 100644
index 000000000..527599ba8
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/run.in.npt
@@ -0,0 +1,58 @@
+# PREREQUISITES:
+#
+# You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (Follow the instructions in README_setup.sh,
+# or run the file as a script using ./README_setup.sh)
+
+# ------------------------------- Initialization Section --------------------
+
+include "system.in.init"
+
+# ------------------------------- Atom Definition Section -------------------
+
+read_data "system.data"
+
+# OPLSAA atom charges are stored in a separate file.
+# Load that file now:
+
+include "system.in.charges"
+
+# ------------------------------- Settings Section --------------------------
+
+include "system.in.settings"
+
+# ------------------------------- Run Section -------------------------------
+
+
+# -- minimization protocol --
+
+minimize 1.0e-4 1.0e-6 100000 400000
+
+# -- simulation protocol --
+
+timestep 1.0
+
+print "---------------------------------------------------------------------------"
+print "First, use Langevin dynamics to randomize the initial shape of the molecules"
+print "(This is not really necessary, but it seems to speed up equilibration.)"
+print "---------------------------------------------------------------------------"
+
+fix fxlan all langevin 300.0 300.0 120 123456 # temp: 300 K
+fix fxnph all nph iso 50.0 50.0 1000.0 # pressure: 50 barr
+run 2000
+unfix fxlan
+unfix fxnph
+
+print "---------------------------------------------------------------------------"
+print "--- Now continue the simulation using a Nose-Hoover Thermostat/Barostat ---"
+print "---------------------------------------------------------------------------"
+dump 1 all custom 1000 traj_npt.lammpstrj id mol type x y z ix iy iz
+# temperature: 300 K, pressure: 50 barr
+fix fxnpt all npt temp 300.0 300.0 100.0 iso 50.0 50.0 1000.0 drag 1.0
+thermo 100
+#thermo_modify flush yes
+
+run 100000
+
+write_data system_after_npt.data
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/run.in.nvt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/run.in.nvt
new file mode 100644
index 000000000..2f3b81c18
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene/run.in.nvt
@@ -0,0 +1,51 @@
+# PREREQUISITES:
+#
+# 1) You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (Follow the instructions in README_setup.sh,
+# or run the file as a script using ./README_setup.sh)
+# 2) You must equilibrate the system beforehand using "run.in.npt".
+# This will create the file "system_after_npt.data" which this file reads.
+# (Note: I have not verified that this equilibration protocol works well.)
+
+# ------------------------------- Initialization Section --------------------
+
+include "system.in.init"
+
+# ------------------------------- Atom Definition Section -------------------
+
+# Read the coordinates generated by an earlier NPT simulation
+
+read_data "system_after_npt.data"
+
+# OPLSAA atom charges are stored in a separate file.
+# Load that file now:
+
+include "system.in.charges"
+
+# ------------------------------- Settings Section --------------------------
+
+include "system.in.settings"
+
+
+# (The "write_restart" and "read_restart" commands were buggy in 2012,
+# but they should work also. I prefer "write_data" and "read_data".)
+
+# ------------------------------- Settings Section --------------------------
+
+include system.in.settings
+
+# ------------------------------- Run Section -------------------------------
+
+# -- simulation protocol --
+
+
+timestep 1.0
+dump 1 all custom 5000 traj_nvt.lammpstrj id mol type x y z ix iy iz
+fix fxnvt all nvt temp 300.0 300.0 500.0 tchain 1
+thermo 500
+#thermo_modify flush yes
+
+run 200000
+
+write_data system_after_nvt.data
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/README.txt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/README.txt
new file mode 100644
index 000000000..1ba9acc21
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/README.txt
@@ -0,0 +1,23 @@
+
+This is an example of how to use the OPLSAA force-field in LAMMPS
+
+This example also shows how to use moltemplate in combination with PACKMOL.
+(PACKMOL is a useful program for generating atomic coordinates. In this example,
+ moltemplate.sh is only used to create the topology, force-field and charges,
+ and PACKMOL generates the coordinates, which moltemplate reads (in "step 1").
+ Moltemplate can also be used for generating atomic coordinates, especially
+ for mixing many small molecules together, as we do in this example. However
+ I wanted to demonstrate how to combine PACKMOL with moltemplate.sh.
+ In some other scenarios, such as protein solvation, PACKMOL does a much
+ better job than moltemplate.)
+
+As of 2016-11-21, this code has not been tested for accuracy.
+(See the WARNING.TXT file.)
+
+step 1)
+To build the files which LAMMPS needs, follow the instructions in:
+README_setup.sh
+
+step 2)
+To run LAMMPS with these files, follow these instructions:
+README_run.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/README_remove_irrelevant_info.sh b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/README_remove_irrelevant_info.sh
new file mode 100755
index 000000000..5957289da
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/README_remove_irrelevant_info.sh
@@ -0,0 +1,8 @@
+
+# Note: By default, the system.data and system.in.settings files contain
+# extra information for atoms defined in OPLSAA which you are not using
+# in this simulation.
+# This is harmless, but if you to delete this information from your
+# system.in.settings and system.in.data files, run this script:
+
+cleanup_moltemplate.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/README_run.sh b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/README_run.sh
new file mode 100755
index 000000000..c27520076
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/README_run.sh
@@ -0,0 +1,34 @@
+# --- Running LAMMPS ---
+#
+# The 2 files "run.in.npt", and "run.in.nvt" are LAMMPS
+# input scripts which link to the input scripts and data files
+# you hopefully have created earlier with moltemplate.sh:
+# system.in.init, system.in.settings, system.data
+# If not, carry out the instructions in "README_setup.sh".
+#
+# -- Instructions: --
+# If "lmp_mpi" is the name of the command you use to invoke lammps,
+# then you would run lammps on these files this way:
+
+
+lmp_mpi -i run.in.npt # minimization and simulation at constant pressure
+lmp_mpi -i run.in.nvt # minimization and simulation at constant volume
+
+#(Note: The constant volume simulation lacks pressure equilibration. These are
+# completely separate simulations. The results of the constant pressure
+# simulation might be ignored when beginning the simulation at constant
+# volume. (This is because restart files in LAMMPS don't always work,
+# and I was spending a lot of time trying to convince people it was a
+# LAMMPS bug, instead of a moltemplate bug, so I disabled restart files.)
+# Read the "run.in.nvt" file to find out how to use the "read_restart"
+# command to load the results of the pressure-equilibration simulation,
+# before beginning a constant-volume run.
+
+
+
+
+
+# If you have compiled the MPI version of lammps, you can run lammps in parallel
+#mpirun -np 4 lmp_mpi -i run.in.npt
+#mpirun -np 4 lmp_mpi -i run.in.nvt
+# (assuming you have 4 processors available)
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/README_setup.sh b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/README_setup.sh
new file mode 100755
index 000000000..c4550c60d
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/README_setup.sh
@@ -0,0 +1,43 @@
+
+# Create the coordinates of the atoms using PACKMOL
+cd packmol_files
+
+ packmol < mix_ethylene+benzene.inp
+ mv -f system.xyz ../moltemplate_files/
+
+cd ..
+
+
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh -xyz system.xyz system.lt
+
+ # Optional:
+ # To check for missing angle,dihedral params run moltemplate this way instead:
+ # moltemplate.sh -xyz system.xyz -checkff system.lt
+
+ # This will generate various files with names ending in *.in* and *.data.
+ # Move them to the directory where you plan to run LAMMPS (in this case "../")
+ mv -f system.data system.in* ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
+
+
+
+
+# Optional:
+# Note: The system.data and system.in.settings files contain extra information
+# for atoms defined in OPLSAA which you are not using in this simulation.
+# This is harmless, but if you to delete this information from your
+# system.in.settings and system.in.data files, run this script:
+#
+# cleanup_moltemplate.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/README_visualize.txt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/README_visualize.txt
new file mode 100644
index 000000000..a3e3ed620
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0}
+ pbc box -shiftcenterrel {0.0 0.15 0.0}
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/images/benzene.jpg b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/images/benzene.jpg
new file mode 100644
index 000000000..356c78425
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/images/benzene.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/images/ethylene+benzene_box80x80x80_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/images/ethylene+benzene_box80x80x80_LR.jpg
new file mode 100644
index 000000000..00c82d3d9
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/images/ethylene+benzene_box80x80x80_LR.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/images/ethylene.jpg b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/images/ethylene.jpg
new file mode 100644
index 000000000..ab5bbbf49
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/images/ethylene.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/moltemplate_files/benzene.lt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/moltemplate_files/benzene.lt
new file mode 100644
index 000000000..f240a091f
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/moltemplate_files/benzene.lt
@@ -0,0 +1,51 @@
+import "oplsaa.lt"
+
+# The "oplsaa.lt" file contains force-field definitions and masses for the
+# atoms in your system. See oplsaa_lt_generator/README.TXT for details.
+
+# Note:
+# Atom type @atom:90 corresponds to "Aromatic C"
+# Atom type @atom:91 corresponds to "Aromatic H-C"
+
+Benzene inherits OPLSAA {
+
+ # We just need a list of atom types and bonds.
+ #
+ # You don't have to specify the charge in this example because we are
+ # using the OPLSAA force-field assigns this by atom-type.
+ #
+ # You also don't have to specify the coordinates, because
+ # you are using PACKMOL to generate them for you.
+ # Just leave these numbers as 0.00 for now..
+
+ write('Data Atoms') {
+ $atom:C1 $mol @atom:90 0.00 0.00 0.00 0.00 # "Aromatic C"
+ $atom:C2 $mol @atom:90 0.00 0.00 0.00 0.00 # "Aromatic C"
+ $atom:C3 $mol @atom:90 0.00 0.00 0.00 0.00 # "Aromatic C"
+ $atom:C4 $mol @atom:90 0.00 0.00 0.00 0.00 # "Aromatic C"
+ $atom:C5 $mol @atom:90 0.00 0.00 0.00 0.00 # "Aromatic C"
+ $atom:C6 $mol @atom:90 0.00 0.00 0.00 0.00 # "Aromatic C"
+ $atom:H11 $mol @atom:91 0.00 0.00 0.00 0.00 # "Aromatic H-C"
+ $atom:H21 $mol @atom:91 0.00 0.00 0.00 0.00 # "Aromatic H-C"
+ $atom:H31 $mol @atom:91 0.00 0.00 0.00 0.00 # "Aromatic H-C"
+ $atom:H41 $mol @atom:91 0.00 0.00 0.00 0.00 # "Aromatic H-C"
+ $atom:H51 $mol @atom:91 0.00 0.00 0.00 0.00 # "Aromatic H-C"
+ $atom:H61 $mol @atom:91 0.00 0.00 0.00 0.00 # "Aromatic H-C"
+ }
+
+ write('Data Bond List') {
+ $bond:C12 $atom:C1 $atom:C2
+ $bond:C23 $atom:C2 $atom:C3
+ $bond:C34 $atom:C3 $atom:C4
+ $bond:C45 $atom:C4 $atom:C5
+ $bond:C56 $atom:C5 $atom:C6
+ $bond:C61 $atom:C6 $atom:C1
+ $bond:C1H1 $atom:C1 $atom:H11
+ $bond:C2H2 $atom:C2 $atom:H21
+ $bond:C3H3 $atom:C3 $atom:H31
+ $bond:C4H4 $atom:C4 $atom:H41
+ $bond:C5H5 $atom:C5 $atom:H51
+ $bond:C6H6 $atom:C6 $atom:H61
+ }
+
+} # Benzene
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/moltemplate_files/ethylene.lt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/moltemplate_files/ethylene.lt
new file mode 100644
index 000000000..45adb1fae
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/moltemplate_files/ethylene.lt
@@ -0,0 +1,40 @@
+import "oplsaa.lt"
+
+# The "oplsaa.lt" file contains force-field definitions and masses for the
+# atoms in your system. See oplsaa_lt_generator/README.TXT for details.
+
+# Note:
+# Atom type 88 corresponds to "Alkene H2-C="
+# Atom type 89 corresponds to "Alkene H-C="
+
+
+
+Ethylene inherits OPLSAA {
+
+ # atom-id mol-id atom-type charge X Y Z
+
+ write('Data Atoms') {
+ $atom:C1 $mol @atom:88 0.000 -0.6695 0.000000 0.000000
+ $atom:C2 $mol @atom:88 0.000 0.6695 0.000000 0.000000
+ $atom:H11 $mol @atom:89 0.000 -1.234217 -0.854458 0.000000
+ $atom:H12 $mol @atom:89 0.000 -1.234217 0.854458 0.000000
+ $atom:H21 $mol @atom:89 0.000 1.234217 -0.854458 0.000000
+ $atom:H22 $mol @atom:89 0.000 1.234217 0.854458 0.000000
+ }
+
+ write('Data Bond List') {
+ $bond:C12 $atom:C1 $atom:C2
+ $bond:C1H1 $atom:C1 $atom:H11
+ $bond:C1H2 $atom:C1 $atom:H12
+ $bond:C2H1 $atom:C2 $atom:H21
+ $bond:C2H2 $atom:C2 $atom:H22
+ }
+
+} # Ethylene
+
+
+
+# Note: You don't need to supply the partial partial charges of the atoms.
+# If you like, just fill the fourth column with zeros ("0.000").
+# Moltemplate and LAMMPS will automatically assign the charge later
+
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/moltemplate_files/system.lt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/moltemplate_files/system.lt
new file mode 100644
index 000000000..fae58d65c
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/moltemplate_files/system.lt
@@ -0,0 +1,21 @@
+import "ethylene.lt" # <- defines the "Ethylene" molecule type.
+import "benzene.lt" # <- defines the "Benzene" molecule type.
+
+
+# Periodic boundary conditions:
+write_once("Data Boundary") {
+ 0.0 80.00 xlo xhi
+ 0.0 80.00 ylo yhi
+ 0.0 80.00 zlo zhi
+}
+
+
+# Create 1000 ethylenes and 500 benzenes
+# List them in the same order they appear in the PACKMOL .inp file(s).
+
+ethylenes = new Ethylene[1000]
+benzenes = new Benzene[500]
+
+# Note: We can omit the .move() and .rot() commands which normally appear
+# after the "new" command because we will be using a separate program
+# (PACKMOL) to generate the coordinates of these molecules.
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/packmol_files/README.txt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/packmol_files/README.txt
new file mode 100644
index 000000000..f0e39ec90
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/packmol_files/README.txt
@@ -0,0 +1,5 @@
+You can use packmol to create a file containing the atomic coordinates
+for a system of ethylene mixed with benzene using this command:
+
+packmol < mix_ethylene+benzene.inp
+
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/packmol_files/benzene.xyz b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/packmol_files/benzene.xyz
new file mode 100644
index 000000000..1a727ff40
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/packmol_files/benzene.xyz
@@ -0,0 +1,14 @@
+12
+ Benzene
+C1 5.274 1.999 -8.568
+C2 6.627 2.018 -8.209
+C3 7.366 0.829 -8.202
+C4 6.752 -0.379 -8.554
+C5 5.399 -0.398 -8.912
+C6 4.660 0.791 -8.919
+H11 4.704 2.916 -8.573
+H21 7.101 2.950 -7.938
+H31 8.410 0.844 -7.926
+H41 7.322 -1.296 -8.548
+H51 4.925 -1.330 -9.183
+H61 3.616 0.776 -9.196
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/packmol_files/ethylene.xyz b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/packmol_files/ethylene.xyz
new file mode 100644
index 000000000..35326fe81
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/packmol_files/ethylene.xyz
@@ -0,0 +1,8 @@
+6
+ Ethylene
+C1 -0.6695 0.000000 0.000000
+C2 0.6695 0.000000 0.000000
+H11 -1.234217 -0.854458 0.000000
+H12 -1.234217 0.854458 0.000000
+H21 1.234217 -0.854458 0.000000
+H22 1.234217 0.854458 0.000000
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/packmol_files/mix_ethylene+benzene.inp b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/packmol_files/mix_ethylene+benzene.inp
new file mode 100644
index 000000000..76202ebf3
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/packmol_files/mix_ethylene+benzene.inp
@@ -0,0 +1,31 @@
+#
+# A mixture of ethylene and benzene
+#
+
+# All the atoms from diferent molecules will be separated at least 2.0
+# Anstroms at the solution.
+
+tolerance 2.0
+
+# The file type of input and output files is XYZ
+
+filetype xyz
+
+# The name of the output file
+
+output system.xyz
+
+# 1000 water molecules and 500 urea molecules will be put in a box
+# defined by the minimum coordinates x, y and z = 0. 0. 0. and maximum
+# coordinates 80. 80. 80. That is, they will be put in a cube of side
+# 80. (the keyword "inside cube 0. 0. 0. 80.") could be used as well.
+
+structure ethylene.xyz
+ number 1000
+ inside box 0. 0. 0. 80. 80. 80.
+end structure
+
+structure benzene.xyz
+ number 500
+ inside box 0. 0. 0. 80. 80. 80.
+end structure
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/run.in.npt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/run.in.npt
new file mode 100644
index 000000000..1066f810d
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/run.in.npt
@@ -0,0 +1,58 @@
+# PREREQUISITES:
+#
+# You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (Follow the instructions in README_setup.sh,
+# or run the file as a script using ./README_setup.sh)
+
+# ------------------------------- Initialization Section --------------------
+
+include "system.in.init"
+
+# ------------------------------- Atom Definition Section -------------------
+
+read_data "system.data"
+
+# OPLSAA atom charges are stored in a separate file.
+# Load that file now:
+
+include "system.in.charges"
+
+# ------------------------------- Settings Section --------------------------
+
+include "system.in.settings"
+
+# ------------------------------- Run Section -------------------------------
+
+
+# -- minimization protocol --
+
+minimize 1.0e-4 1.0e-6 100000 400000
+
+# -- simulation protocol --
+
+timestep 1.0
+
+print "---------------------------------------------------------------------------"
+print "First, use Langevin dynamics to randomize the initial shape of the molecules"
+print "(This is not really necessary, but it seems to speed up equilibration.)"
+print "---------------------------------------------------------------------------"
+
+fix fxlan all langevin 300.0 300.0 120 123456 # temp: 300 K
+fix fxnph all nph iso 50.0 50.0 1000.0 # pressure: 50 barr
+run 2000
+unfix fxlan
+unfix fxnph
+
+print "---------------------------------------------------------------------------"
+print "--- Now continue the simulation using a Nose-Hoover Thermostat/Barostat ---"
+print "---------------------------------------------------------------------------"
+dump 1 all custom 1000 traj_npt.lammpstrj id mol type x y z ix iy iz
+# temperature: 300 K, pressure: 50 barr
+fix fxnpt all npt temp 300.0 300.0 100.0 iso 50.0 50.0 1000.0 drag 1.0
+thermo 100
+#thermo_modify flush yes
+
+run 200000
+
+write_data system_after_npt.data
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/run.in.nvt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/run.in.nvt
new file mode 100644
index 000000000..2f3b81c18
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/ethylene+benzene_PACKMOL/run.in.nvt
@@ -0,0 +1,51 @@
+# PREREQUISITES:
+#
+# 1) You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (Follow the instructions in README_setup.sh,
+# or run the file as a script using ./README_setup.sh)
+# 2) You must equilibrate the system beforehand using "run.in.npt".
+# This will create the file "system_after_npt.data" which this file reads.
+# (Note: I have not verified that this equilibration protocol works well.)
+
+# ------------------------------- Initialization Section --------------------
+
+include "system.in.init"
+
+# ------------------------------- Atom Definition Section -------------------
+
+# Read the coordinates generated by an earlier NPT simulation
+
+read_data "system_after_npt.data"
+
+# OPLSAA atom charges are stored in a separate file.
+# Load that file now:
+
+include "system.in.charges"
+
+# ------------------------------- Settings Section --------------------------
+
+include "system.in.settings"
+
+
+# (The "write_restart" and "read_restart" commands were buggy in 2012,
+# but they should work also. I prefer "write_data" and "read_data".)
+
+# ------------------------------- Settings Section --------------------------
+
+include system.in.settings
+
+# ------------------------------- Run Section -------------------------------
+
+# -- simulation protocol --
+
+
+timestep 1.0
+dump 1 all custom 5000 traj_nvt.lammpstrj id mol type x y z ix iy iz
+fix fxnvt all nvt temp 300.0 300.0 500.0 tchain 1
+thermo 500
+#thermo_modify flush yes
+
+run 200000
+
+write_data system_after_nvt.data
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/README.txt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/README.txt
new file mode 100644
index 000000000..1450f1dd5
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/README.txt
@@ -0,0 +1,43 @@
+This example is a simple simulation of many long alkane chains (hexadecane) in a
+box at room temperature and atmospheric pressure. Please read "WARNING.TXT".
+
+NOTE: This particular example uses the OPLSAA force-field
+ However, moltemplate is not limited to OPLSAA.
+
+1) Create the "system.data", "system.in.init", and "system.in.settings"
+files which LAMMPS will read by running:
+
+moltemplate.sh system.lt
+
+
+2) Run LAMMPS in this order:
+
+lmp_mpi -i run.in.min # minimize the energy (to avoid atom overlap) before...
+lmp_mpi -i run.in.npt # running the simulation at constant pressure
+lmp_mpi -i run.in.nvt # running the simulation at constant temperature
+
+(The name of the LAMMPS executable, eg "lmp_mpi", may vary.)
+
+---- Details ----
+
+The "Hexadecane" molecule, as well as the "CH2", and "CH3" monomers it contains
+use the OPLSAA force-field. This means that when we define these molecules,
+we only specify the atom names, bond list, and coordinates.
+We do not have to list the atom charges, angles, dihedrals, or impropers.
+The rules for creating atomic charge and angle topology are contained in
+the "loplsaa.lt" file created by step 3) above. The "ch2group.lt",
+"ch3group.lt", and "hexadecane.lt" files all refer to "loplsaa.lt",
+(as well as the "OPLSAA" force-field object which it defines). Excerpt:
+
+import "loplsaa.lt"
+CH2 inherits OPLSAA { ...
+CH3 inherits OPLSAA { ...
+Hexadecane inherits OPLSAA { ...
+
+Alternatively, you can manually define a list of angles, dihedrals, and
+improper interactions in these files, instead of asking the force-field
+to generate them for you. You can also specify some of the angles and
+dihedrals explicitly, and let the force-field handle the rest.
+(Many of the examples which come with moltemplate do this.)
+
+
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/README_remove_irrelevant_info.sh b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/README_remove_irrelevant_info.sh
new file mode 100755
index 000000000..5957289da
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/README_remove_irrelevant_info.sh
@@ -0,0 +1,8 @@
+
+# Note: By default, the system.data and system.in.settings files contain
+# extra information for atoms defined in OPLSAA which you are not using
+# in this simulation.
+# This is harmless, but if you to delete this information from your
+# system.in.settings and system.in.data files, run this script:
+
+cleanup_moltemplate.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/README_run.sh b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/README_run.sh
new file mode 100755
index 000000000..4871a0649
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/README_run.sh
@@ -0,0 +1,21 @@
+# --- Running LAMMPS ---
+#
+# The 2 files "run.in.npt", and "run.in.nvt" are LAMMPS
+# input scripts which link to the input scripts and data files
+# you hopefully have created earlier with moltemplate.sh:
+# system.in.init, system.in.settings, system.data
+# If not, carry out the instructions in "README_setup.sh".
+#
+# -- Instructions: --
+# If "lmp_mpi" is the name of the command you use to invoke lammps,
+# then you would run lammps on these files this way:
+
+
+lmp_mpi -i run.in.npt # minimization and simulation at constant pressure
+lmp_mpi -i run.in.nvt # simulation at constant volume
+
+
+# If you have compiled the MPI version of lammps, you can run lammps in parallel
+#mpirun -np 4 lmp_mpi -i run.in.npt
+#mpirun -np 4 lmp_mpi -i run.in.nvt
+# (assuming you have 4 processors available)
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/README_setup.sh b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/README_setup.sh
new file mode 100755
index 000000000..15a3a963c
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/README_setup.sh
@@ -0,0 +1,34 @@
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh system.lt
+
+ # Optional:
+ # To check for missing angle,dihedral params run moltemplate this way instead:
+ # moltemplate.sh -checkff system.lt
+
+
+ # Moltemplate generates various files with names ending in *.in* and *.data.
+ # Move them to the directory where you plan to run LAMMPS (in this case "../")
+ mv -f system.data system.in* ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
+
+
+
+
+# Optional:
+# Note: The system.data and system.in.settings files contain extra information
+# for atoms defined in OPLSAA which you are not using in this simulation.
+# This is harmless, but if you to delete this information from your
+# system.in.settings and system.in.data files, run this script:
+#
+# cleanup_moltemplate.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/README_visualize.txt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/README_visualize.txt
new file mode 100644
index 000000000..a3e3ed620
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0}
+ pbc box -shiftcenterrel {0.0 0.15 0.0}
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/WARNING.txt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/WARNING.txt
new file mode 100644
index 000000000..e06bf0caa
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/WARNING.txt
@@ -0,0 +1,15 @@
+# -------- WARNING: --------
+
+This software is experimental, and the force-fields and equilbration protocols
+have not been tested carefully by me. There is no gaurantee that the simulation
+will reproduce the behavior of real hexadecane molecules,
+(or even of hexadecane molecules simulated using AMBER, which should
+ be using the same force-field).
+
+# -------- REQUEST FOR HELP: --------
+
+However, if you notice a problem with this example, please report it.
+Peer-review is the only way to improve this software (or any software).
+Other suggestions are also welcome!
+
+(Contact jewett.aij@gmail.com, 2014-12-16)
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/images/hexadecane_12x12x2_t=0_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/images/hexadecane_12x12x2_t=0_LR.jpg
new file mode 100644
index 000000000..b0d31f884
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/images/hexadecane_12x12x2_t=0_LR.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/images/hexadecane_12x12x2_t=10ps_npt_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/images/hexadecane_12x12x2_t=10ps_npt_LR.jpg
new file mode 100644
index 000000000..f7c13d098
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/images/hexadecane_12x12x2_t=10ps_npt_LR.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/images/hexadecane_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/images/hexadecane_LR.jpg
new file mode 100644
index 000000000..3ad353dbb
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/images/hexadecane_LR.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/ch2group.lt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/ch2group.lt
new file mode 100644
index 000000000..05091ba39
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/ch2group.lt
@@ -0,0 +1,82 @@
+# This file contains a definition for the "CH2" molecular subunit.
+
+# First, load the OPLS force field parameters we will need.
+# These 2 files are located in the "force_fields" subdirectory
+# of the moltemplate distribution.
+
+import "oplsaa.lt" # <-- defines the standard "OPLSAA" force field
+import "loplsaa.lt" # <-- custom parameters for long alkane chains taken from
+ # Sui et al. J.Chem.Theory.Comp (2012), 8, 1459
+ # To use the ordinary OPLSAA force field parameters,
+ # (instead of the Sui et al. parameters), change the
+ # atom types below from "@atom:81L","@atom:85LCH2" to
+ # "@atom:81" and "@atom:85" (defined in "oplsaa.lt")
+
+
+
+# Then define "CH2":
+
+
+CH2 inherits OPLSAA {
+
+ # atom-id mol-id atom-type charge x y z
+
+ write("Data Atoms") {
+ $atom:C $mol:... @atom:81L 0.0 0.000000 0.000000 0.000000
+ $atom:H1 $mol:... @atom:85LCH2 0.0 0.000000 0.631044 0.892431
+ $atom:H2 $mol:... @atom:85LCH2 0.0 0.000000 0.631044 -0.892431
+ }
+
+ write('Data Bond List') {
+ $bond:CH1 $atom:C $atom:H1
+ $bond:CH2 $atom:C $atom:H2
+ }
+
+ # Atom type numbers (@atom:80L,@atom:85LCH3) are defined in "loplsaa.lt":
+ # @atom:80L "Alkane CH3- (LOPLS CT_CH3)"
+ # @atom:81L "Alkane -CH2- (LOPLS CT_CH2)"
+ # @atom:85LCH3 "Alkane H-C CH3 (LOPLS HC_CH3)"
+ # @atom:85LCH2 "Alkane H-C CH2 (LOPLS HC_CH2)"
+ # In this example, atomic charges are generated by atom type (according to the
+ # rules in loplsaa.lt), and can be omitted. Just leave them as "0.00" for now.
+ # The "..." in "$mol:..." tells moltemplate that this molecule may be part
+ # of a larger molecule, and (if so) to use the larger parent object's
+ # molecule id number as it's own.
+
+} # CH2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Optional: Shift all the coordinates in the +Y direction by 0.4431163.
+# This way, the carbon atom is no longer located at 0,0,0, but the
+# axis of an alkane chain containing this monomer is at 0,0,0.
+# (This makes it more convenient to construct a polymer later.
+# If this is confusing, then simply add 0.4431163 to the Y
+# coordinates in the "Data Atoms" section above.)
+
+CH2.move(0,0.4431163,0)
+
+
+
+
+######### (scratchwork calculations for the atomic coordinates) #########
+# Lcc = 1.5350 # length of the C-C bond (Sp3)
+# Lch = 1.0930 # length of the C-H bond
+# theta=2*atan(sqrt(2)) # ~= 109.5 degrees = tetrahedronal angle (C-C-C angle)
+# DeltaXc = Lcc*sin(theta/2) # = 1.2533222517240594
+# DeltaYc = Lcc*cos(theta/2) # = 0.8862326632060754
+# # 0.5*DeltaYc = 0.4431163
+# DeltaZh = Lch*sin(theta/2) # = 0.892431
+# DeltaYh = Lch*cos(theta/2) # = 0.631044
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/ch3group.lt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/ch3group.lt
new file mode 100644
index 000000000..95d48d853
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/ch3group.lt
@@ -0,0 +1,84 @@
+# This file contains a definition for the "CH3" molecular subunit.
+
+# First, load the OPLS force field parameters we will need.
+# These 2 files are located in the "force_fields" subdirectory
+# of the moltemplate distribution.
+
+import "oplsaa.lt" # <-- defines the standard "OPLSAA" force field
+import "loplsaa.lt" # <-- custom parameters for long alkane chains taken from
+ # Sui et al. J.Chem.Theory.Comp (2012), 8, 1459
+ # To use the ordinary OPLSAA force field parameters,
+ # (instead of the Sui et al. parameters), change the
+ # atom types below from "@atom:80L","@atom:85LCH3" to
+ # "@atom:80" and "@atom:85" (defined in "oplsaa.lt")
+
+
+
+# Then define "CH3":
+
+
+CH3 inherits OPLSAA {
+
+ # atom-id mol-id atom-type charge x y z
+
+ write("Data Atoms") {
+ $atom:C $mol:... @atom:80L 0.0 0.000000 0.000000 0.000000
+ $atom:H1 $mol:... @atom:85LCH3 0.0 0.000000 0.631044 0.892431
+ $atom:H2 $mol:... @atom:85LCH3 0.0 0.000000 0.631044 -0.892431
+ $atom:H3 $mol:... @atom:85LCH3 0.0 -0.892431 -0.631044 0.000000
+ }
+
+ write('Data Bond List') {
+ $bond:CH1 $atom:C $atom:H1
+ $bond:CH2 $atom:C $atom:H2
+ $bond:CH3 $atom:C $atom:H3
+ }
+
+ # Atom type numbers (@atom:80L,@atom:85LCH3) are defined in "loplsaa.lt",
+ # @atom:80L "Alkane CH3- (LOPLS CT_CH3)"
+ # @atom:81L "Alkane -CH2- (LOPLS CT_CH2)"
+ # @atom:85LCH3 "Alkane H-C CH3 (LOPLS HC_CH3)"
+ # @atom:85LCH2 "Alkane H-C CH2 (LOPLS HC_CH2)"
+ # In this example, atomic charges are generated by atom type (according to the
+ # rules in loplsaa.lt), and can be omitted. Just leave them as "0.00" for now.
+ # The "..." in "$mol:..." tells moltemplate that this molecule may be part
+ # of a larger molecule, and (if so) to use the larger parent object's
+ # molecule id number as it's own.
+
+} # CH3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Optional: Shift all the coordinates in the +Y direction by 0.4431163.
+# This way, the carbon atom is no longer located at 0,0,0, but the
+# axis of an alkane chain containing this monomer is at 0,0,0.
+# (This makes it more convenient to construct a polymer later.
+# If this is confusing, then simply add 0.4431163 to the Y
+# coordinates in the "Data Atoms" section above.)
+
+CH3.move(0,0.4431163,0)
+
+
+
+
+######### (scratchwork calculations for the atomic coordinates) #########
+# Lcc = 1.5350 # length of the C-C bond (Sp3)
+# Lch = 1.0930 # length of the C-H bond
+# theta=2*atan(sqrt(2)) # ~= 109.5 degrees = tetrahedronal angle (C-C-C angle)
+# DeltaXc = Lcc*sin(theta/2) # = 1.2533222517240594
+# DeltaYc = Lcc*cos(theta/2) # = 0.8862326632060754
+# # 0.5*DeltaYc = 0.4431163
+# DeltaZh = Lch*sin(theta/2) # = 0.892431
+# DeltaYh = Lch*cos(theta/2) # = 0.631044
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/hexadecane.lt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/hexadecane.lt
new file mode 100644
index 000000000..96e9e6b4b
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/hexadecane.lt
@@ -0,0 +1,79 @@
+# This example looks complicated because I split the
+# hexadecane molecule into individual CH2 and CH3 monomers.
+#
+# I defined it this way so that you can easily modify
+# it to change the length of the alkane chain.
+
+
+import "oplsaa.lt" # load the "OPLSAA" force-field information
+import "ch2group.lt" # load the definition of the "CH2" object
+import "ch3group.lt" # load the definition of the "CH3" object
+
+
+
+Hexadecane inherits OPLSAA {
+
+
+ create_var {$mol} # optional:force all monomers to share the same molecule-ID
+
+
+ # Now create an array of 16 "CH2" objects distributed along the X axis
+
+ monomers = new CH2 [16].rot(180,1,0,0).move(1.2533223,0,0)
+
+ # Each monomer is rotated 180 degrees with respect to the previous
+ # monomer, and then moved 1.2533223 Angstroms down the X axis.
+
+ # ---- Now, modify the ends: ---
+ # Delete the CH2 groups at the beginning and end, and replace them with CH3.
+
+ delete monomers[0]
+ delete monomers[15]
+
+ monomers[0] = new CH3
+ monomers[15] = new CH3
+
+ # Move the CH3 groups to the correct location at either end of the chain:
+
+ monomers[15].rot(180.0,0,0,1).move(18.7998345,0,0)
+ # Note: 18.7998345 = (16-1) * 1.2533223
+
+
+ # Now add a list of bonds connecting the carbon atoms together:
+
+ write('Data Bond List') {
+ $bond:b1 $atom:monomers[0]/C $atom:monomers[1]/C
+ $bond:b2 $atom:monomers[1]/C $atom:monomers[2]/C
+ $bond:b3 $atom:monomers[2]/C $atom:monomers[3]/C
+ $bond:b4 $atom:monomers[3]/C $atom:monomers[4]/C
+ $bond:b5 $atom:monomers[4]/C $atom:monomers[5]/C
+ $bond:b6 $atom:monomers[5]/C $atom:monomers[6]/C
+ $bond:b7 $atom:monomers[6]/C $atom:monomers[7]/C
+ $bond:b8 $atom:monomers[7]/C $atom:monomers[8]/C
+ $bond:b9 $atom:monomers[8]/C $atom:monomers[9]/C
+ $bond:b10 $atom:monomers[9]/C $atom:monomers[10]/C
+ $bond:b11 $atom:monomers[10]/C $atom:monomers[11]/C
+ $bond:b12 $atom:monomers[11]/C $atom:monomers[12]/C
+ $bond:b13 $atom:monomers[12]/C $atom:monomers[13]/C
+ $bond:b14 $atom:monomers[13]/C $atom:monomers[14]/C
+ $bond:b15 $atom:monomers[14]/C $atom:monomers[15]/C
+ }
+
+} # Hexadecane
+
+
+
+
+
+
+
+
+######### (scratchwork calculations for the atomic coordinates) #########
+# Lcc = 1.5350 # length of the C-C bond (Sp3)
+# Lch = 1.0930 # length of the C-H bond
+# theta=2*atan(sqrt(2)) # ~= 109.5 degrees = tetrahedronal angle (C-C-C angle)
+# DeltaXc = Lcc*sin(theta/2) # = 1.2533222517240594
+# DeltaYc = Lcc*cos(theta/2) # = 0.8862326632060754
+# # 0.5*DeltaYc = 0.4431163316030377
+# DeltaZh = Lch*sin(theta/2) # = 0.8924307629540046
+# DeltaYh = Lch*cos(theta/2) # = 0.6310438442242609
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/system.lt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/system.lt
new file mode 100644
index 000000000..4e0cfaec6
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/moltemplate_files/system.lt
@@ -0,0 +1,18 @@
+import "hexadecane.lt" # <- defines the "Hexadecane" molecule type.
+
+# Periodic boundary conditions:
+write_once("Data Boundary") {
+ 0.0 62.4 xlo xhi
+ 0.0 62.4 ylo yhi
+ 0.0 62.4 zlo zhi
+}
+
+molecules = new Hexadecane [12].move(0, 0, 5.2)
+ [12].move(0, 5.2, 0)
+ [2].move(31.2, 0, 0)
+
+
+# NOTE: The spacing between molecules is large. There should be extra room to
+# move during the initial stages of equilibration. However, you will have to
+# run the simulation at NPT conditions later to compress the system to a
+# more realistic density.
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/run.in.npt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/run.in.npt
new file mode 100644
index 000000000..1b1a28fab
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/run.in.npt
@@ -0,0 +1,87 @@
+# PREREQUISITES:
+#
+# You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (Follow the instructions in README_setup.sh,
+# or run the file as a script using ./README_setup.sh)
+
+# ------------------------------- Initialization Section --------------------
+
+include system.in.init
+
+# ------------------------------- Atom Definition Section -------------------
+
+read_data system.data
+
+# ------------------------------- Settings Section --------------------------
+
+include system.in.settings
+include system.in.charges
+
+# ------------------------------- Run Section -------------------------------
+
+# To avoid explosions, I have a 4-step equilibraion process (expand, minimize,
+# reorient, compress). The system (as defined in the "system.data" file)
+# is already expanded. That means there are 3 steps left:
+
+dump dumpeq1 all custom 50 traj_eq1_min.lammpstrj id mol type x y z ix iy iz
+thermo 50
+
+# -- Equilibration: part 1: initial minimization --
+
+# Note: In general, it's always a good idea to minimize the system at first.
+
+minimize 1.0e-5 1.0e-7 100000 400000
+undump dumpeq1
+
+write_data system_after_eq1_min.data
+
+# -- Equilibration part 2: reorienting the molecules (NVT) --
+
+timestep 1.0
+dump dumpeq2 all custom 200 traj_eq2_reorient.lammpstrj id mol type x y z ix iy iz
+
+# Run the system at high temperature (at constant volume) to reorient the
+# the molecules (which would otherwise be pointing in the same direction).
+
+# To speed it up, I randomize the atomic positions for a few thousand steps
+# using fix langevin (and fix nve). Then I switch to fix nvt (Nose-Hoover).
+# (If I start with fix nvt (Nose-Hoover), it seems to get "stuck" for a while.)
+
+
+fix fxlan all langevin 900.0 900.0 120 48279
+fix fxnve all nve
+
+run 4000
+
+unfix fxlan
+unfix fxnve
+# Now continue the simulation at high temperature using fix nvt (Nose-Hoover).
+fix fxnvt all nvt temp 900.0 900.0 100.0
+
+run 50000
+undump dumpeq2
+
+
+write_data system_after_eq2_reorient.data
+
+unfix fxnvt
+
+# -- equilibration part 3: Equilibrating the density (NPT) --
+
+# Originally, the simulation box (in "system.data" and "system.lt") was
+# unrealistically large. The spacing between the molecules was large also.
+# I did this to enable the molecules to move freely and reorient themselves.
+# After doing that, we should run the simulation under NPT conditions to
+# allow the simulation box to contract to it's natural size. We do that here:
+# We begin the simulation at 100 barr (a relatively low pressure), and
+# slowly decrease it to 1 barr, maintianing the temperature at 300K.
+
+dump dumpeq3 all custom 200 traj_eq3_npt.lammpstrj id mol type x y z ix iy iz
+fix fxnpt all npt temp 900.0 300.0 100.0 iso 100.0 1.0 1000.0 drag 2.0
+
+timestep 1.0
+run 100000
+
+write_data system_after_eq3_npt.data
+
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/run.in.nvt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/run.in.nvt
new file mode 100644
index 000000000..38815745c
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/hexadecane/run.in.nvt
@@ -0,0 +1,44 @@
+# PREREQUISITES:
+#
+# 1) You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (Follow the instructions in README_setup.sh,
+# or run the file as a script using ./README_setup.sh)
+# 2) You must equilibrate the system beforehand using "run.in.npt".
+# This will create the file "system_after_npt.data" which this file reads.
+# (Note: I have not verified that this equilibration protocol works well.)
+
+# ------------------------------- Initialization Section --------------------
+
+include system.in.init
+
+# ------------------------------- Atom Definition Section -------------------
+
+
+# Read the coordinates generated by an earlier NPT simulation
+
+read_data system_after_eq3_npt.data
+
+# (The "write_restart" and "read_restart" commands were buggy in 2012,
+# but they should work also. I prefer "write_data" and "read_data".)
+
+
+# ------------------------------- Settings Section --------------------------
+
+include system.in.settings
+include system.in.charges
+
+# ------------------------------- Run Section -------------------------------
+
+# -- simulation protocol --
+
+
+timestep 1.0
+dump 1 all custom 500 traj_nvt.lammpstrj id mol type x y z ix iy iz
+fix fxnvt all nvt temp 350.0 350.0 500.0 tchain 1
+thermo 100
+#thermo_modify flush yes
+
+run 50000
+
+write_data system_after_nvt.data
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/methane/README.txt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/methane/README.txt
new file mode 100644
index 000000000..9114c637a
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/methane/README.txt
@@ -0,0 +1,24 @@
+This example demonstrates how to build a simulation containing a box of methane.
+(Not a very interesting example.)
+
+---- Details ----
+
+The methane molecules in this example use the OPLSAA force-field.
+This means that the database of force-field parameters in "oplsaa.lt"
+will be used to generate angles, dihedrals, and impropers.
+The "moltemplate_files/methane.lt" file
+contains these lines which refer to OPLSAA:
+
+import "oplsaa.lt"
+Methane inherits OPLSAA { ...
+
+-------- Instructions: ---------
+
+More detailed instructions on how to build LAMMPS input files and
+run a short simulation are provided in other README files.
+
+step 1)
+README_setup.sh
+
+step 2)
+README_run.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/methane/README_remove_irrelevant_info.sh b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/methane/README_remove_irrelevant_info.sh
new file mode 100755
index 000000000..5957289da
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/methane/README_remove_irrelevant_info.sh
@@ -0,0 +1,8 @@
+
+# Note: By default, the system.data and system.in.settings files contain
+# extra information for atoms defined in OPLSAA which you are not using
+# in this simulation.
+# This is harmless, but if you to delete this information from your
+# system.in.settings and system.in.data files, run this script:
+
+cleanup_moltemplate.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/methane/README_run.sh b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/methane/README_run.sh
new file mode 100755
index 000000000..c27520076
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/methane/README_run.sh
@@ -0,0 +1,34 @@
+# --- Running LAMMPS ---
+#
+# The 2 files "run.in.npt", and "run.in.nvt" are LAMMPS
+# input scripts which link to the input scripts and data files
+# you hopefully have created earlier with moltemplate.sh:
+# system.in.init, system.in.settings, system.data
+# If not, carry out the instructions in "README_setup.sh".
+#
+# -- Instructions: --
+# If "lmp_mpi" is the name of the command you use to invoke lammps,
+# then you would run lammps on these files this way:
+
+
+lmp_mpi -i run.in.npt # minimization and simulation at constant pressure
+lmp_mpi -i run.in.nvt # minimization and simulation at constant volume
+
+#(Note: The constant volume simulation lacks pressure equilibration. These are
+# completely separate simulations. The results of the constant pressure
+# simulation might be ignored when beginning the simulation at constant
+# volume. (This is because restart files in LAMMPS don't always work,
+# and I was spending a lot of time trying to convince people it was a
+# LAMMPS bug, instead of a moltemplate bug, so I disabled restart files.)
+# Read the "run.in.nvt" file to find out how to use the "read_restart"
+# command to load the results of the pressure-equilibration simulation,
+# before beginning a constant-volume run.
+
+
+
+
+
+# If you have compiled the MPI version of lammps, you can run lammps in parallel
+#mpirun -np 4 lmp_mpi -i run.in.npt
+#mpirun -np 4 lmp_mpi -i run.in.nvt
+# (assuming you have 4 processors available)
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/methane/README_setup.sh b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/methane/README_setup.sh
new file mode 100755
index 000000000..5cd2142a4
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/methane/README_setup.sh
@@ -0,0 +1,34 @@
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh system.lt
+
+ # Optional:
+ # To check for missing angle,dihedral params run moltemplate this way instead:
+ # moltemplate.sh -checkff system.lt
+
+
+ # Moltemplate generates various files with names ending in *.in* and *.data.
+ # Move them to the directory where you plan to run LAMMPS (in this case "../")
+ mv -f system.data system.in* ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
+
+
+
+
+# Optional:
+# Note: The system.data and system.in.settings files contain extra information
+# for atoms defined in OPLSAA which you are not using in this simulation.
+# This is harmless, but if you to delete this information from your
+# system.in.settings and system.in.data files, run this script:
+#
+# cleanup_moltemplate.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/methane/README_visualize.txt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/methane/README_visualize.txt
new file mode 100644
index 000000000..a3e3ed620
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/methane/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0}
+ pbc box -shiftcenterrel {0.0 0.15 0.0}
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/methane/moltemplate_files/methane.lt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/methane/moltemplate_files/methane.lt
new file mode 100644
index 000000000..bb8f0469c
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/methane/moltemplate_files/methane.lt
@@ -0,0 +1,32 @@
+import "oplsaa.lt"
+
+# Atom type numbers are from the "oplsaa_subset.prm"
+# file used to generate "oplsaa.lt".
+
+# atom 83 13 CT "Methane CH4"
+# atom 85 46 HC "Alkane H-C"
+
+Methane inherits OPLSAA {
+
+ # atomID molID atomTyle charge X Y Z
+ write('Data Atoms') {
+ $atom:C $mol:. @atom:83 0.0 0.000000 0.000000 0.000000
+ $atom:H1 $mol:. @atom:85 0.0 0.000000 0.000000 1.089000
+ $atom:H2 $mol:. @atom:85 0.0 1.026719 0.000000 -0.363000
+ $atom:H3 $mol:. @atom:85 0.0 -0.513360 -0.889165 -0.363000
+ $atom:H4 $mol:. @atom:85 0.0 -0.513360 0.889165 -0.363000
+ }
+
+ # Charges will be assigned by OPLSAA, so we leave them 0.0 here.
+ #
+ # (The "." in "$mol:." refers to this molecule-object's molecule-ID number.
+ # The "." simply means this molecule is not a part of a larger molecule.)
+
+ write('Data Bond List') {
+ $bond:CH1 $atom:C $atom:H1
+ $bond:CH2 $atom:C $atom:H2
+ $bond:CH3 $atom:C $atom:H3
+ $bond:CH4 $atom:C $atom:H4
+ }
+
+} # Methane
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/methane/moltemplate_files/system.lt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/methane/moltemplate_files/system.lt
new file mode 100644
index 000000000..7c846cd93
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/methane/moltemplate_files/system.lt
@@ -0,0 +1,15 @@
+import "methane.lt" # <- defines the "Methane" molecule type (uses OPLSAA)
+
+# Periodic boundary conditions:
+write_once("Data Boundary") {
+ 0.0 103.5 xlo xhi
+ 0.0 103.5 ylo yhi
+ 0.0 103.5 zlo zhi
+}
+
+# Now add methane molecules:
+
+methanes = new Methane [10].move(0, 0, 10.35)
+ [10].move(0, 10.35, 0)
+ [10].move(10.35, 0, 0)
+
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/methane/run.in.npt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/methane/run.in.npt
new file mode 100644
index 000000000..208d4b681
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/methane/run.in.npt
@@ -0,0 +1,51 @@
+# PREREQUISITES:
+#
+# You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (Follow the instructions in README_setup.sh,
+# or run the file as a script using ./README_setup.sh)
+#
+# ------------------------------- Initialization Section --------------------
+
+include "system.in.init"
+
+# ------------------------------- Atom Definition Section -------------------
+
+read_data "system.data"
+
+# ------------------------------- Settings Section --------------------------
+
+include "system.in.settings"
+include "system.in.charges"
+
+
+# ------------------------------- Run Section -------------------------------
+
+
+# -- minimization protocol --
+
+# Note: The minimization step is not necessary in this example. However
+# in general, it's always a good idea to minimize the system beforehand.
+# (The "fShakeSPCE" fix was defined in system.in.settings.
+# It is incompatible with "minimize", so we disable it first.)
+#unfix fShakeSPCE
+thermo 500
+minimize 1.0e-4 1.0e-6 100000 400000
+
+# Now read "system.in.settings" in order to enable fShakeSPCE again:
+#include system.in.settings
+
+# Optional: write the coordinates after minimization
+write_data system_after_min.data
+
+
+# -- simulation protocol --
+
+
+timestep 1.0
+dump 1 all custom 2500 traj_npt.lammpstrj id mol type x y z ix iy iz
+fix fxnpt all npt temp 300.0 300.0 100.0 iso 1.0 1.0 1000.0 drag 1.0
+
+run 500000
+
+write_data system_after_npt.data
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/methane/run.in.nvt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/methane/run.in.nvt
new file mode 100644
index 000000000..a4f382118
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/methane/run.in.nvt
@@ -0,0 +1,42 @@
+# PREREQUISITES:
+#
+# 1) You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (Follow the instructions in README_setup.sh,
+# or run the file as a script using ./README_setup.sh)
+# 2) You must equilibrate the system beforehand using "run.in.npt".
+# This will create the file "system_after_npt.data" which this file reads.
+# (Note: I have not verified that this equilibration protocol works well.)
+
+# ------------------------------- Initialization Section --------------------
+
+include "system.in.init"
+
+# ------------------------------- Atom Definition Section -------------------
+
+# Read the coordinates generated by an earlier NPT simulation
+
+read_data "system_after_npt.data"
+
+# (The "write_restart" and "reagd_restart" commands were buggy in 2012,
+# but they should work also. I prefer "write_data" and "read_data".)
+
+# ------------------------------- Settings Section --------------------------
+
+include "system.in.settings"
+include "system.in.charges"
+
+# ------------------------------- Run Section -------------------------------
+
+# -- simulation protocol --
+
+
+timestep 1.0
+dump 1 all custom 1000 traj_nvt.lammpstrj id mol type x y z ix iy iz
+fix fxnvt all nvt temp 300.0 300.0 500.0 tchain 1
+thermo 500
+#thermo_modify flush yes
+
+run 50000
+
+write_restart system_after_nvt.data
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/README.txt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/README.txt
new file mode 100644
index 000000000..9c318e665
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/README.txt
@@ -0,0 +1,30 @@
+This example contains a mixture of water(SPCE) and methane.
+The methane molecules use OPLSAA force-field, but the water molecules do not.
+
+---- Details ----
+
+The methane molecules in this example use the OPLSAA force-field.
+This means that the database of force-field parameters in "oplsaa.lt"
+will be used to generate angles, dihedrals, and impropers.
+The "moltemplate_files/methane.lt" file
+contains these lines which refer to OPLSAA:
+
+import "oplsaa.lt"
+Methane inherits OPLSAA { ...
+
+However the "SPCE" (water) molecules does NOT use a database to look up the
+force-field parameters for this tiny molecule.
+Instead, the "moltemplate_files/spce.lt" file declares all of the angle
+interactions, atom properties and force-field parameters for water explicitly.
+(Consequently, it makes no mention of "oplsaa.lt" or "OPLSAA".)
+
+-------- Instructions: ---------
+
+More detailed instructions on how to build LAMMPS input files and
+run a short simulation are provided in other README files.
+
+step 1)
+README_setup.sh
+
+step 2)
+README_run.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/README_remove_irrelevant_info.sh b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/README_remove_irrelevant_info.sh
new file mode 100755
index 000000000..5957289da
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/README_remove_irrelevant_info.sh
@@ -0,0 +1,8 @@
+
+# Note: By default, the system.data and system.in.settings files contain
+# extra information for atoms defined in OPLSAA which you are not using
+# in this simulation.
+# This is harmless, but if you to delete this information from your
+# system.in.settings and system.in.data files, run this script:
+
+cleanup_moltemplate.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/README_run.sh b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/README_run.sh
new file mode 100755
index 000000000..c27520076
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/README_run.sh
@@ -0,0 +1,34 @@
+# --- Running LAMMPS ---
+#
+# The 2 files "run.in.npt", and "run.in.nvt" are LAMMPS
+# input scripts which link to the input scripts and data files
+# you hopefully have created earlier with moltemplate.sh:
+# system.in.init, system.in.settings, system.data
+# If not, carry out the instructions in "README_setup.sh".
+#
+# -- Instructions: --
+# If "lmp_mpi" is the name of the command you use to invoke lammps,
+# then you would run lammps on these files this way:
+
+
+lmp_mpi -i run.in.npt # minimization and simulation at constant pressure
+lmp_mpi -i run.in.nvt # minimization and simulation at constant volume
+
+#(Note: The constant volume simulation lacks pressure equilibration. These are
+# completely separate simulations. The results of the constant pressure
+# simulation might be ignored when beginning the simulation at constant
+# volume. (This is because restart files in LAMMPS don't always work,
+# and I was spending a lot of time trying to convince people it was a
+# LAMMPS bug, instead of a moltemplate bug, so I disabled restart files.)
+# Read the "run.in.nvt" file to find out how to use the "read_restart"
+# command to load the results of the pressure-equilibration simulation,
+# before beginning a constant-volume run.
+
+
+
+
+
+# If you have compiled the MPI version of lammps, you can run lammps in parallel
+#mpirun -np 4 lmp_mpi -i run.in.npt
+#mpirun -np 4 lmp_mpi -i run.in.nvt
+# (assuming you have 4 processors available)
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/README_setup.sh b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/README_setup.sh
new file mode 100755
index 000000000..4fc8dda6d
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/README_setup.sh
@@ -0,0 +1,29 @@
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh system.lt
+
+ # Moltemplate generates various files with names ending in *.in* and *.data.
+ # Move them to the directory where you plan to run LAMMPS (in this case "../")
+ mv -f system.data system.in* ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
+
+
+
+
+# Optional:
+# Note: The system.data and system.in.settings files contain extra information
+# for atoms defined in OPLSAA which you are not using in this simulation.
+# This is harmless, but if you to delete this information from your
+# system.in.settings and system.in.data files, run this script:
+#
+# cleanup_moltemplate.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/README_visualize.txt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/README_visualize.txt
new file mode 100644
index 000000000..a3e3ed620
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0}
+ pbc box -shiftcenterrel {0.0 0.15 0.0}
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/moltemplate_files/methane.lt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/moltemplate_files/methane.lt
new file mode 100644
index 000000000..bb8f0469c
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/moltemplate_files/methane.lt
@@ -0,0 +1,32 @@
+import "oplsaa.lt"
+
+# Atom type numbers are from the "oplsaa_subset.prm"
+# file used to generate "oplsaa.lt".
+
+# atom 83 13 CT "Methane CH4"
+# atom 85 46 HC "Alkane H-C"
+
+Methane inherits OPLSAA {
+
+ # atomID molID atomTyle charge X Y Z
+ write('Data Atoms') {
+ $atom:C $mol:. @atom:83 0.0 0.000000 0.000000 0.000000
+ $atom:H1 $mol:. @atom:85 0.0 0.000000 0.000000 1.089000
+ $atom:H2 $mol:. @atom:85 0.0 1.026719 0.000000 -0.363000
+ $atom:H3 $mol:. @atom:85 0.0 -0.513360 -0.889165 -0.363000
+ $atom:H4 $mol:. @atom:85 0.0 -0.513360 0.889165 -0.363000
+ }
+
+ # Charges will be assigned by OPLSAA, so we leave them 0.0 here.
+ #
+ # (The "." in "$mol:." refers to this molecule-object's molecule-ID number.
+ # The "." simply means this molecule is not a part of a larger molecule.)
+
+ write('Data Bond List') {
+ $bond:CH1 $atom:C $atom:H1
+ $bond:CH2 $atom:C $atom:H2
+ $bond:CH3 $atom:C $atom:H3
+ $bond:CH4 $atom:C $atom:H4
+ }
+
+} # Methane
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/moltemplate_files/spce.lt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/moltemplate_files/spce.lt
new file mode 100644
index 000000000..fdf6172a4
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/moltemplate_files/spce.lt
@@ -0,0 +1,52 @@
+# file "spce.lt"
+#
+# H1 H2
+# \ /
+# O
+
+SPCE {
+
+ write("Data Atoms") {
+ $atom:O $mol:. @atom:O -0.8476 0.0000000 0.00000 0.000000
+ $atom:H1 $mol:. @atom:H 0.4238 0.8164904 0.00000 0.5773590
+ $atom:H2 $mol:. @atom:H 0.4238 -0.8164904 0.00000 0.5773590
+ }
+
+ write_once("Data Masses") {
+ @atom:O 15.9994
+ @atom:H 1.008
+ }
+
+ write("Data Bonds") {
+ $bond:OH1 @bond:OH $atom:O $atom:H1
+ $bond:OH2 @bond:OH $atom:O $atom:H2
+ }
+
+ write("Data Angles") {
+ $angle:HOH @angle:HOH $atom:H1 $atom:O $atom:H2
+ }
+
+ write_once("In Settings") {
+ bond_coeff @bond:OH harmonic 600.0 1.0
+ angle_coeff @angle:HOH harmonic 75.0 109.47
+ pair_coeff @atom:O @atom:O lj/cut/coul/long 0.1553 3.166
+ pair_coeff @atom:H @atom:H lj/cut/coul/long 0.0 0.0
+ group spce type @atom:O @atom:H
+ fix fShakeSPCE spce shake 0.0001 10 100 b @bond:OH a @angle:HOH
+ # (Remember to "unfix" fShakeSPCE during minimization.)
+ }
+
+ write_once("In Init") {
+ # -- Default styles (for solo "SPCE" water) --
+ units real
+ atom_style full
+ # (Hybrid force fields were not necessary but are used for portability.)
+ pair_style hybrid lj/cut/coul/long 10.0 10.0
+ bond_style hybrid harmonic
+ angle_style hybrid harmonic
+ kspace_style pppm 0.0001
+ #pair_modify mix arithmetic # LEAVE THIS UNSPECIFIED!
+ }
+
+} # end of definition of "SPCE" water molecule type
+
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/moltemplate_files/system.lt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/moltemplate_files/system.lt
new file mode 100644
index 000000000..3957d08eb
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/moltemplate_files/system.lt
@@ -0,0 +1,26 @@
+import "spce.lt" # <- defines the "SPCE" (water) molecule type.
+import "methane.lt" # <- defines the "Methane" molecule type (uses OPLSAA)
+
+# Periodic boundary conditions:
+write_once("Data Boundary") {
+ 0.0 41.50 xlo xhi
+ 0.0 41.50 ylo yhi
+ 0.0 41.50 zlo zhi
+}
+
+# The next command generates a (rather dense) cubic lattice with
+# spacing 3.45 Angstroms. (The pressure must be equilibrated later.)
+
+waters = new SPCE [12].move(0.00, 0.00, 3.45)
+ [12].move(0.00, 3.45, 0.00)
+ [12].move(3.45, 0.00, 0.00)
+
+# Now add methane molecules:
+
+methanes = new Methane [4].move(0, 0, 10.35)
+ [4].move(0, 10.35, 0)
+ [4].move(10.35, 0, 0)
+
+# Move the methane molecules slightly to reduce overlap with the water
+methanes[*][*][*].move(1.725, 1.725, 1.725)
+
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/run.in.npt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/run.in.npt
new file mode 100644
index 000000000..df9c1f95f
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/run.in.npt
@@ -0,0 +1,52 @@
+# PREREQUISITES:
+#
+# You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (Follow the instructions in README_setup.sh,
+# or run the file as a script using ./README_setup.sh)
+#
+# ------------------------------- Initialization Section --------------------
+
+include "system.in.init"
+
+# ------------------------------- Atom Definition Section -------------------
+
+read_data "system.data"
+
+# ------------------------------- Settings Section --------------------------
+
+include "system.in.settings"
+include "system.in.charges"
+
+
+# ------------------------------- Run Section -------------------------------
+
+
+# -- minimization protocol --
+
+# Note: The minimization step is not necessary in this example. However
+# in general, it's always a good idea to minimize the system beforehand.
+# (The "fShakeSPCE" fix was defined in system.in.settings.
+# It is incompatible with "minimize", so we disable it first.)
+unfix fShakeSPCE
+thermo 50
+minimize 1.0e-4 1.0e-6 100000 400000
+
+# Now read "system.in.settings" in order to enable fShakeSPCE again:
+include system.in.settings
+
+# Optional: write the coordinates after minimization
+write_data system_after_min.data
+
+
+# -- simulation protocol --
+
+
+timestep 1.0
+dump 1 all custom 10000 traj_npt.lammpstrj id mol type x y z ix iy iz
+fix fxnpt all npt temp 300.0 300.0 100.0 iso 1.0 1.0 1000.0 drag 1.0
+thermo 100
+
+run 2000000
+
+write_data system_after_npt.data
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/run.in.nvt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/run.in.nvt
new file mode 100644
index 000000000..9652779bb
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPCE+methane/run.in.nvt
@@ -0,0 +1,42 @@
+# PREREQUISITES:
+#
+# 1) You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (Follow the instructions in README_setup.sh,
+# or run the file as a script using ./README_setup.sh)
+# 2) You must equilibrate the system beforehand using "run.in.npt".
+# This will create the file "system_after_npt.data" which this file reads.
+# (Note: I have not verified that this equilibration protocol works well.)
+
+# ------------------------------- Initialization Section --------------------
+
+include "system.in.init"
+
+# ------------------------------- Atom Definition Section -------------------
+
+# Read the coordinates generated by an earlier NPT simulation
+
+read_data "system_after_npt.data"
+
+# (The "write_restart" and "read_restart" commands were buggy in 2012,
+# but they should work also. I prefer "write_data" and "read_data".)
+
+# ------------------------------- Settings Section --------------------------
+
+include "system.in.settings"
+include "system.in.charges"
+
+# ------------------------------- Run Section -------------------------------
+
+# -- simulation protocol --
+
+
+timestep 1.0
+dump 1 all custom 1000 traj_nvt.lammpstrj id mol type x y z ix iy iz
+fix fxnvt all nvt temp 300.0 300.0 500.0 tchain 1
+thermo 500
+#thermo_modify flush yes
+
+run 50000
+
+write_data system_after_nvt.data
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/README.txt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/README.txt
new file mode 100644
index 000000000..8c00fe07f
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/README.txt
@@ -0,0 +1,18 @@
+The purpose of this example is to test the density of water
+constructed using the OPLSAA force-field. (I think this is SPC water, not SPCE)
+
+I just wanted some kind of sanity check to make sure we are converting
+the OPLSAA parameters into moltemplate/LAMMPS format correctly.
+
+The "TEST_density_estimate.txt" contains the results of that test.
+
+-------- Instructions: ---------
+
+More detailed instructions on how to build LAMMPS input files and
+run a short simulation are provided in other README files.
+
+step 1)
+README_setup.sh
+
+step 2)
+README_run.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/README_remove_irrelevant_info.sh b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/README_remove_irrelevant_info.sh
new file mode 100755
index 000000000..049a1eac4
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/README_remove_irrelevant_info.sh
@@ -0,0 +1,9 @@
+
+# Note: By default, the system.data and system.in.settings files contain
+# extra information for atoms defined in OPLSAA which you are not using
+# in this simulation.
+# This is harmless, but if you to delete this information from your
+# system.in.settings and system.in.data files, run this script:
+
+cleanup_moltemplate.sh
+
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/README_run.sh b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/README_run.sh
new file mode 100755
index 000000000..1c46d9d41
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/README_run.sh
@@ -0,0 +1,20 @@
+# --- Running LAMMPS ---
+# The 2 files "run.in.npt", and "run.in.nvt" are LAMMPS
+# input scripts which link to the input scripts and data files
+# you hopefully have created earlier with moltemplate.sh:
+# system.in.init, system.in.settings, system.data
+# If not, carry out the instructions in "README_setup.sh".
+#
+# -- Instructions: --
+# If "lmp_mpi" is the name of the command you use to invoke lammps,
+# then you would run lammps on these files this way:
+
+
+lmp_mpi -i run.in.npt # minimization and simulation at constant pressure
+lmp_mpi -i run.in.nvt # simulation at constant volume
+
+
+# If you have compiled the MPI version of lammps, you can run lammps in parallel
+#mpirun -np 4 lmp_mpi -i run.in.npt
+#mpirun -np 4 lmp_mpi -i run.in.nvt
+# (assuming you have 4 processors available)
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/README_setup.sh b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/README_setup.sh
new file mode 100755
index 000000000..ed4ac6f04
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/README_setup.sh
@@ -0,0 +1,34 @@
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh system.lt
+
+ # Optional:
+ # To check for missing angle,dihedral params run moltemplate this way instead:
+ # moltemplate.sh -checkff system.lt
+
+
+ # This will generate various files with names ending in *.in* and *.data.
+ # Move them to the directory where you plan to run LAMMPS (in this case "../")
+ mv -f system.data system.in* ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
+
+
+
+
+# Optional:
+# Note: The system.data and system.in.settings files contain extra information
+# for atoms defined in OPLSAA which you are not using in this simulation.
+# This is harmless, but if you to delete this information from your
+# system.in.settings and system.in.data files, run this script:
+#
+# cleanup_moltemplate.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/README_visualize.txt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/README_visualize.txt
new file mode 100644
index 000000000..a3e3ed620
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0}
+ pbc box -shiftcenterrel {0.0 0.15 0.0}
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/TEST_density_estimate.txt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/TEST_density_estimate.txt
new file mode 100644
index 000000000..9dc50b389
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/TEST_density_estimate.txt
@@ -0,0 +1,20 @@
+This system contains 1728 water molecules
+(This is SPC water I think.)
+
+Then I ran a short simulation for 170000 timesteps at 300Kelvin and 1 atm.
+(that's when it crashed. I'll worry about why later...)
+
+Anyway, the average volume was 52149.8 (in Angstroms^3)
+(for the last 80000 timesteps, after it had equilibrated)
+
+Given that the mass of water is 18.0154 grams per mole, I'm getting
+this value for the density:
+
+density = (1728*18.0154/6.02214129e23) / (52149.8*1e-30*1e6)
+ = 0.991 (in grams per mL)
+
+I'm only looking for gross errors in the OPLSAA force-field.
+So I'm satisfied with a 1% error.
+But I realize this is not a particularly rigorous test.
+
+Andrew 2014-5-21
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/moltemplate_files/spc.lt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/moltemplate_files/spc.lt
new file mode 100644
index 000000000..e7f3d6d84
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/moltemplate_files/spc.lt
@@ -0,0 +1,86 @@
+# file "spce.lt"
+#
+# H1 H2
+# \ /
+# O
+
+
+import "oplsaa.lt"
+
+SPC inherits OPLSAA {
+
+ # Atom types from "oplsaa_lt_generator/oplsaa_subset.prm"
+ # @atom:76 <--> OW "SPC Water O"
+ # @atom:77 <--> HW "SPC Water H"
+
+ write("Data Atoms") {
+ $atom:O $mol:. @atom:76 -0.8200 0.0000000 0.0000 0.000000
+ $atom:H1 $mol:. @atom:77 0.4100 0.8164904 0.0000 0.577359
+ $atom:H2 $mol:. @atom:77 0.4100 -0.8164904 0.0000 0.577359
+ }
+
+ write("Data Bond List") {
+ $bond:OH1 $atom:O $atom:H1
+ $bond:OH2 $atom:O $atom:H2
+ }
+
+} # end of definition of "SPC" water molecule type
+
+
+
+
+
+
+
+
+
+
+
+###################### old version (SPCE) ######################
+#
+#SPCE {
+#
+# write("Data Atoms") {
+# $atom:O $mol:. @atom:O -0.8476 0.0000000 0.0000 0.000000
+# $atom:H1 $mol:. @atom:H 0.4238 0.8164904 0.0000 0.577359
+# $atom:H2 $mol:. @atom:H 0.4238 -0.8164904 0.0000 0.577359
+# }
+#
+# write_once("Data Masses") {
+# @atom:O 15.9994
+# @atom:H 1.008
+# }
+#
+# write("Data Bonds") {
+# $bond:OH1 @bond:OH $atom:O $atom:H1
+# $bond:OH2 @bond:OH $atom:O $atom:H2
+# }
+#
+# write("Data Angles") {
+# $angle:HOH @angle:HOH $atom:H1 $atom:O $atom:H2
+# }
+#
+# write_once("In Settings") {
+# bond_coeff @bond:OH harmonic 1000.0 1.0
+# angle_coeff @angle:HOH harmonic 1000.0 109.47
+# pair_coeff @atom:O @atom:O lj/cut/coul/long 0.1553 3.166
+# pair_coeff @atom:H @atom:H lj/cut/coul/long 0.0 2.058
+# group spce type @atom:O @atom:H
+# fix fShakeSPCE spce shake 0.0001 10 100 b @bond:OH a @angle:HOH
+# # (Remember to "unfix" fShakeSPCE during minimization.)
+# }
+#
+# write_once("In Init") {
+# # -- Default styles (for solo "SPCE" water) --
+# units real
+# atom_style full
+# # (Hybrid force fields were not necessary but are used for portability.)
+# pair_style hybrid lj/cut/coul/long 10.0
+# bond_style hybrid harmonic
+# angle_style hybrid harmonic
+# kspace_style pppm 0.0001
+# pair_modify shift yes
+# }
+#
+#} SPCE
+###################################################################
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/moltemplate_files/system.lt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/moltemplate_files/system.lt
new file mode 100644
index 000000000..5dd56c116
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/moltemplate_files/system.lt
@@ -0,0 +1,16 @@
+import "spc.lt" # <- defines the "SPC" (water) molecule type (uses OPLSAA)
+
+# Periodic boundary conditions:
+write_once("Data Boundary") {
+ 0.0 41.40 xlo xhi
+ 0.0 41.40 ylo yhi
+ 0.0 41.40 zlo zhi
+}
+
+# The next command generates a (rather dense) cubic lattice with
+# spacing 3.45 Angstroms. (The pressure must be equilibrated later.)
+
+waters = new SPC [12].move(0.00, 0.00, 3.45)
+ [12].move(0.00, 3.45, 0.00)
+ [12].move(3.45, 0.00, 0.00)
+
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/run.in.npt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/run.in.npt
new file mode 100644
index 000000000..642880af2
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/run.in.npt
@@ -0,0 +1,52 @@
+# PREREQUISITES:
+#
+# You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (Follow the instructions in README_setup.sh,
+# or run the file as a script using ./README_setup.sh)
+#
+# ------------------------------- Initialization Section --------------------
+
+include "system.in.init"
+
+# ------------------------------- Atom Definition Section -------------------
+
+read_data "system.data"
+
+# ------------------------------- Settings Section --------------------------
+
+include "system.in.settings"
+include "system.in.charges"
+
+
+# ------------------------------- Run Section -------------------------------
+
+
+# -- minimization protocol --
+
+# Note: The minimization step is not necessary in this example. However
+# in general, it's always a good idea to minimize the system beforehand.
+# (The "fShakeSPCE" fix was defined in system.in.settings.
+# It is incompatible with "minimize", so we disable it first.)
+#unfix fShakeSPCE
+thermo 50
+minimize 1.0e-4 1.0e-6 100000 400000
+
+# Now read "system.in.settings" in order to enable fShakeSPCE again:
+#include system.in.settings
+
+# Optional: write the coordinates after minimization
+write_data system_after_min.data
+
+
+# -- simulation protocol --
+
+
+timestep 1.0
+dump 1 all custom 2500 traj_npt.lammpstrj id mol type x y z ix iy iz
+fix fxnpt all npt temp 300.0 300.0 100.0 iso 1.0 1.0 1000.0 drag 1.0
+thermo 100
+
+run 2000000
+
+write_data system_after_npt.data
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/run.in.nvt b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/run.in.nvt
new file mode 100644
index 000000000..9652779bb
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSAA/waterSPC_using_OPLSAA/run.in.nvt
@@ -0,0 +1,42 @@
+# PREREQUISITES:
+#
+# 1) You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (Follow the instructions in README_setup.sh,
+# or run the file as a script using ./README_setup.sh)
+# 2) You must equilibrate the system beforehand using "run.in.npt".
+# This will create the file "system_after_npt.data" which this file reads.
+# (Note: I have not verified that this equilibration protocol works well.)
+
+# ------------------------------- Initialization Section --------------------
+
+include "system.in.init"
+
+# ------------------------------- Atom Definition Section -------------------
+
+# Read the coordinates generated by an earlier NPT simulation
+
+read_data "system_after_npt.data"
+
+# (The "write_restart" and "read_restart" commands were buggy in 2012,
+# but they should work also. I prefer "write_data" and "read_data".)
+
+# ------------------------------- Settings Section --------------------------
+
+include "system.in.settings"
+include "system.in.charges"
+
+# ------------------------------- Run Section -------------------------------
+
+# -- simulation protocol --
+
+
+timestep 1.0
+dump 1 all custom 1000 traj_nvt.lammpstrj id mol type x y z ix iy iz
+fix fxnvt all nvt temp 300.0 300.0 500.0 tchain 1
+thermo 500
+#thermo_modify flush yes
+
+run 50000
+
+write_data system_after_nvt.data
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSUA_united_atom/propane/README.txt b/tools/moltemplate/examples/all_atom/force_field_OPLSUA_united_atom/propane/README.txt
new file mode 100644
index 000000000..f3ccf3b08
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSUA_united_atom/propane/README.txt
@@ -0,0 +1,21 @@
+This example was contributed by Yue Chun Chiu (Chinese University of Hong Kong)
+(Thanks!)
+
+This is a simulation of propane using the OPLSUA force-field.
+(It uses the OPLSUA force field even though the file names begin with "oplsaa")
+
+IMPORTANT: This is NOT an all-atom simulation.
+ OPLSUA is a united-atom force-field.
+ Hydrogen atoms are not represented explicitly.
+ The force-field has been adjusted accordingly.
+
+-------- Instructions: ---------
+
+More detailed instructions on how to build LAMMPS input files and
+run a short simulation are provided in other README files.
+
+step 1)
+README_setup.sh
+
+step 2)
+README_run.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSUA_united_atom/propane/README_remove_irrelevant_info.sh b/tools/moltemplate/examples/all_atom/force_field_OPLSUA_united_atom/propane/README_remove_irrelevant_info.sh
new file mode 100755
index 000000000..5957289da
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSUA_united_atom/propane/README_remove_irrelevant_info.sh
@@ -0,0 +1,8 @@
+
+# Note: By default, the system.data and system.in.settings files contain
+# extra information for atoms defined in OPLSAA which you are not using
+# in this simulation.
+# This is harmless, but if you to delete this information from your
+# system.in.settings and system.in.data files, run this script:
+
+cleanup_moltemplate.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSUA_united_atom/propane/README_run.sh b/tools/moltemplate/examples/all_atom/force_field_OPLSUA_united_atom/propane/README_run.sh
new file mode 100755
index 000000000..c27520076
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSUA_united_atom/propane/README_run.sh
@@ -0,0 +1,34 @@
+# --- Running LAMMPS ---
+#
+# The 2 files "run.in.npt", and "run.in.nvt" are LAMMPS
+# input scripts which link to the input scripts and data files
+# you hopefully have created earlier with moltemplate.sh:
+# system.in.init, system.in.settings, system.data
+# If not, carry out the instructions in "README_setup.sh".
+#
+# -- Instructions: --
+# If "lmp_mpi" is the name of the command you use to invoke lammps,
+# then you would run lammps on these files this way:
+
+
+lmp_mpi -i run.in.npt # minimization and simulation at constant pressure
+lmp_mpi -i run.in.nvt # minimization and simulation at constant volume
+
+#(Note: The constant volume simulation lacks pressure equilibration. These are
+# completely separate simulations. The results of the constant pressure
+# simulation might be ignored when beginning the simulation at constant
+# volume. (This is because restart files in LAMMPS don't always work,
+# and I was spending a lot of time trying to convince people it was a
+# LAMMPS bug, instead of a moltemplate bug, so I disabled restart files.)
+# Read the "run.in.nvt" file to find out how to use the "read_restart"
+# command to load the results of the pressure-equilibration simulation,
+# before beginning a constant-volume run.
+
+
+
+
+
+# If you have compiled the MPI version of lammps, you can run lammps in parallel
+#mpirun -np 4 lmp_mpi -i run.in.npt
+#mpirun -np 4 lmp_mpi -i run.in.nvt
+# (assuming you have 4 processors available)
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSUA_united_atom/propane/README_setup.sh b/tools/moltemplate/examples/all_atom/force_field_OPLSUA_united_atom/propane/README_setup.sh
new file mode 100755
index 000000000..38a79dbf1
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSUA_united_atom/propane/README_setup.sh
@@ -0,0 +1,47 @@
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh system.lt
+
+ ######################### WEIRD LAMMPS QUIRK:###############################
+ # The default pair_style used with the OPLSAA forcefield requires that SOME
+ # atoms have non-zero charge. Unfortunately, in this example none of them do.
+ # (This does not happen very often.)
+ # Since you don't need long-range coulombics in this example, LAMMPS will
+ # print out an error message and tell you to use a more efficient pair_style.
+ # To get around this AFTER RUNNING MOLTEMPLATE, run these commands in the
+ # shell:
+
+ echo "pair_style hybrid lj/cut 10.0" >> system.in.init
+ sed 's/lj\/cut\/coul\/long/lj\/cut/g' system.in.settings > system.in.settings_
+ sed 's/kspace_style/#kspace_style/g' system.in.init > system.in.init_
+ mv system.in.settings_ system.in.settings
+ mv system.in.init_ system.in.init
+
+ # This will override the pair_style and pair_coeff commands in the
+ # system.in.init and system.in.settings files (created by moltemplate):
+
+ # Moltemplate generates various files with names ending in *.in* and *.data.
+ # Move them to the directory where you plan to run LAMMPS (in this case "../")
+ mv -f system.data system.in* ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
+
+
+
+
+
+# Optional:
+# Note: The system.data and system.in.settings files contain extra information
+# for atoms defined in OPLSAA which you are not using in this simulation.
+# This is harmless, but if you to delete this information from your
+# system.in.settings and system.in.data files, run this script:
+#
+# cleanup_moltemplate.sh
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSUA_united_atom/propane/README_visualize.txt b/tools/moltemplate/examples/all_atom/force_field_OPLSUA_united_atom/propane/README_visualize.txt
new file mode 100644
index 000000000..a3e3ed620
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSUA_united_atom/propane/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0}
+ pbc box -shiftcenterrel {0.0 0.15 0.0}
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSUA_united_atom/propane/moltemplate_files/propane.lt b/tools/moltemplate/examples/all_atom/force_field_OPLSUA_united_atom/propane/moltemplate_files/propane.lt
new file mode 100644
index 000000000..d147a6d4c
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSUA_united_atom/propane/moltemplate_files/propane.lt
@@ -0,0 +1,31 @@
+import "oplsaa.lt"
+
+
+Propane inherits OPLSAA {
+
+ # atomID molID atomTyle charge X Y Z
+ write('Data Atoms') {
+ $atom:CH3a $mol:. @atom:10 0.0 -0.748 -0.015 0.024
+ $atom:CH2 $mol:. @atom:13 0.0 0.558 0.420 -0.278
+ $atom:CH3b $mol:. @atom:10 0.0 0.716 1.404 0.137
+ }
+
+ write('Data Bond List') {
+ $bond:CC1 $atom:CH3a $atom:CH2
+ $bond:CC2 $atom:CH2 $atom:CH3b
+ }
+
+ # These atom types are defined in the "oplsaa.lt" file (usually located
+ # in the "force_fields" subdirectory of the moltemplate distribution).
+ # @atom:10 "N-Alkane CH3- (UA)"
+ # @atom:13 "Alkanes -CH2- (UA)"
+ #
+ # NOTE: UA means united atom (no explicit hydrogens).
+ # The first 56 atoms in the "oplsaa.lt" file are united atoms
+ #
+ # NOTE: Charges will be assigned by OPLSAA, so we leave them 0.0 here.
+ #
+ # (The "." in "$mol:." refers to this molecule-object's molecule-ID number.
+ # The "." simply means this molecule is not a part of a larger molecule.)
+
+}
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSUA_united_atom/propane/moltemplate_files/system.lt b/tools/moltemplate/examples/all_atom/force_field_OPLSUA_united_atom/propane/moltemplate_files/system.lt
new file mode 100644
index 000000000..6f266aac3
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSUA_united_atom/propane/moltemplate_files/system.lt
@@ -0,0 +1,37 @@
+import "propane.lt"
+
+# Periodic boundary conditions:
+write_once("Data Boundary") {
+ 0.0 36.0 xlo xhi
+ 0.0 36.0 ylo yhi
+ 0.0 36.0 zlo zhi
+}
+
+# Now add methane molecules:
+
+propanes = new Propane [6].move(0, 0, 6)
+ [6].move(0, 6, 0)
+ [6].move(6, 0, 0)
+
+propanes[*][*][*].move(2.0, 2.0, 2.0)
+
+
+
+
+
+
+
+######################### WEIRD LAMMPS QUIRK:###############################
+# The default pair_style used with the OPLSAA forcefield requires that SOME
+# atoms have non-zero charge. Unfortunately, in this example none of them do.
+# (This does not happen very often.)
+# Since you don't need long-range coulombics in this example, LAMMPS will
+# terminate with an error message and ask you to use a more efficient pair_style
+# To get around this AFTER RUNNING MOLTEMPLATE, run these commands in the shell
+#
+# echo "pair_style hybrid lj/cut 10.0" >> system.in.init
+# sed -i 's/lj\/cut\/coul\/long/lj\/cut/g' system.in.settings
+# sed -i 's/kspace_style/#kspace_style/g' system.in.init
+#
+# This will override the pair_style and pair_coeff commands in the
+# system.in.init and system.in.settings files (created by moltemplate):
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSUA_united_atom/propane/run.in.npt b/tools/moltemplate/examples/all_atom/force_field_OPLSUA_united_atom/propane/run.in.npt
new file mode 100644
index 000000000..c1115f67b
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSUA_united_atom/propane/run.in.npt
@@ -0,0 +1,43 @@
+# PREREQUISITES:
+#
+# You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (Follow the instructions in README_setup.sh,
+# or run the file as a script using ./README_setup.sh)
+#
+# ------------------------------- Initialization Section --------------------
+
+include "system.in.init"
+
+# ------------------------------- Atom Definition Section -------------------
+
+read_data "system.data"
+
+# ------------------------------- Settings Section --------------------------
+
+include "system.in.settings"
+include "system.in.charges"
+
+# ------------------------------- Run Section -------------------------------
+
+
+# -- minimization protocol --
+
+thermo 500
+thermo_style custom step temp etotal press vol
+minimize 6.0e-5 1.0e-6 500 400000
+
+write_data system_after_min.data
+
+# -- simulation protocol --
+
+reset_timestep 0
+timestep 1.0
+dump 1 all custom 200 traj_npt.lammpstrj id mol type x y z ix iy iz element
+velocity all create 200.0 4928459 rot yes mom yes dist gaussian
+fix fxnpt all npt temp 200.0 200.0 100.0 iso 1.0 1.0 1000.0
+neigh_modify delay 5 every 1 check yes
+
+run 100000
+
+write_data system_after_npt.data
diff --git a/tools/moltemplate/examples/all_atom/force_field_OPLSUA_united_atom/propane/run.in.nvt b/tools/moltemplate/examples/all_atom/force_field_OPLSUA_united_atom/propane/run.in.nvt
new file mode 100644
index 000000000..115bfe527
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_OPLSUA_united_atom/propane/run.in.nvt
@@ -0,0 +1,39 @@
+# PREREQUISITES:
+#
+# You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (Follow the instructions in README_setup.sh,
+# or run the file as a script using ./README_setup.sh)
+#
+# ------------------------------- Initialization Section --------------------
+
+include "system.in.init"
+
+# ------------------------------- Atom Definition Section -------------------
+
+#read_data "system.data"
+read_data "system_after_npt.data"
+
+# ------------------------------- Settings Section --------------------------
+
+include "system.in.settings"
+include "system.in.charges"
+
+# ------------------------------- Run Section -------------------------------
+
+
+# -- simulation protocol --
+
+reset_timestep 0
+timestep 2.0
+thermo 500
+thermo_style custom step temp etotal press
+dump 1 all custom 2000 traj_nvt.lammpstrj id mol type x y z ix iy iz element type
+dump_modify 1 element "C" "C"
+velocity all create 200.0 4928459 rot yes mom yes dist gaussian
+fix fxnvt all nvt temp 200.0 200.0 100.0
+neigh_modify delay 5 every 1 check yes
+
+run 1000000
+
+write_data system_after_nvt.data
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/aluminum_crystal_strain/README.txt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/aluminum_crystal_strain/README.txt
new file mode 100644
index 000000000..1303acbca
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/aluminum_crystal_strain/README.txt
@@ -0,0 +1,54 @@
+NOTE: This example requires the "Al99.eam.alloy" file.
+ (It was not included in this directory because if its large size.)
+ As of 2012-11, I was able to obtain it here:
+ http://www.ctcms.nist.gov/~cbecker/Download/Al-YM/Al99.eam.alloy
+ Copy it to the directory containing this README file.
+------------------------------------------------------------------------
+This example shows an alternative way to setup the
+aluminum crystal loading simulation described here:
+http://icme.hpc.msstate.edu/mediawiki/index.php/Uniaxial_Compression
+by Mark Tschopp and Nathan R. Rhodes
+For additional backgroumd information, please consult that web page.
+
+In this example, I use moltemplate to build a "DATA" file for this system.
+(I can't think of a compelling reason to do this for simple simulations like
+this. But this approach might be useful if you want to artificially create
+unusual structures out of aluminum crystals, or mix them with other molecules.
+I created this example in response to a user request.)
+
+
+ --- To build the system ---
+
+Carry out the instructions in README_setup.sh,
+to generate the LAMMPS DATA file and input scripts you need:
+system.data, system.in.init, system.in.settings.
+(The run.in script contains references to these files.)
+
+
+ --- To run LAMMPS, try a command like: ---
+
+lmp_mpi -i run.in
+
+ or (if you have mpi installed)
+
+mpirun -np 4 lmp_mpi -i run.in
+
+This will create an ordinary LAMMPS dump file you can visualize with VMD
+traj.lammpstrj (See README_visualize.txt)
+
+It will also create a number of other files, such as:
+dump.comp_0.cfg
+dump.comp_500.cfg
+dump.comp_20000.cfg
+Al_comp_100.def1.txt
+
+The dump.comp_*.cfg files can be visualized using
+AtomEye if you have AtomEye and ImageJ installed.
+The procedure for doing this is explained in the original tutorial at:
+http://icme.hpc.msstate.edu/mediawiki/index.php/Uniaxial_Compression
+
+The "Al_comp_100.def1.txt" file is a four-column text file containing:
+column 1: v_strain = (lx - v_L0)/v_L0
+column 2: -pxx/10000 (diagonal components of the stress tensor)
+column 3: -pyy/10000
+column 4: -pzz/10000
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/aluminum_crystal_strain/README_setup.sh b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/aluminum_crystal_strain/README_setup.sh
new file mode 100755
index 000000000..74e00f251
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/aluminum_crystal_strain/README_setup.sh
@@ -0,0 +1,29 @@
+# Use these commands to generate the LAMMPS input script and data file
+# (and other auxilliary files):
+
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh -atomstyle full system.lt
+
+ # This will generate various files with names ending in *.in* and *.data.
+ # These files are the input files directly read by LAMMPS. Move them to
+ # the parent directory (or wherever you plan to run the simulation).
+
+ mv -f system.in* system.data ../
+
+ # We will also need the "Al99.eam.alloy" file:
+ #cp -f Al99.eam.alloy ../
+ # This file was (can be) downloaded from:
+ # http://www.ctcms.nist.gov/~cbecker/Download/Al-YM/Al99.eam.alloy
+
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/aluminum_crystal_strain/README_visualize.txt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/aluminum_crystal_strain/README_visualize.txt
new file mode 100644
index 000000000..a3e3ed620
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/aluminum_crystal_strain/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0}
+ pbc box -shiftcenterrel {0.0 0.15 0.0}
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/aluminum_crystal_strain/images/AlCell_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/aluminum_crystal_strain/images/AlCell_LR.jpg
new file mode 100644
index 000000000..bf07914da
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/aluminum_crystal_strain/images/AlCell_LR.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/aluminum_crystal_strain/images/AlCrystal10x10x10_t=0steps_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/aluminum_crystal_strain/images/AlCrystal10x10x10_t=0steps_LR.jpg
new file mode 100644
index 000000000..8650cf5cb
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/aluminum_crystal_strain/images/AlCrystal10x10x10_t=0steps_LR.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/aluminum_crystal_strain/images/AlCrystal10x10x10_t=20000steps_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/aluminum_crystal_strain/images/AlCrystal10x10x10_t=20000steps_LR.jpg
new file mode 100644
index 000000000..582cf5fe6
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/aluminum_crystal_strain/images/AlCrystal10x10x10_t=20000steps_LR.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/aluminum_crystal_strain/moltemplate_files/README.sh b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/aluminum_crystal_strain/moltemplate_files/README.sh
new file mode 100755
index 000000000..393ceb8d8
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/aluminum_crystal_strain/moltemplate_files/README.sh
@@ -0,0 +1,22 @@
+# This example shows an alternative way to setup the
+# aluminum crystal loading simulation described here:
+# http://icme.hpc.msstate.edu/mediawiki/index.php/Uniaxial_Compression
+# by Mark Tschopp and Nathan R. Rhodes
+# For additional backgroumd information, please consult that web page.
+#
+# In this example, I use moltemplate to build a "DATA" file for this system.
+# (I can't think of a compelling reason to do this for simple simulations like
+# this. But this approach might be useful if you want to artificially create
+# unusual structures out of aluminum crystals, or mix them with other molecules.
+# I created this example in response to a user request.)
+#
+# Use these commands to generate the LAMMPS input script and data file:
+
+moltemplate.sh system.lt
+
+# This will generate system.data, system.in.init, system.in.settings.
+# In addition to will need to download "Al99.eam.alloy" file.
+# (It was not included in this directory because if its large size.)
+# As of 2012-11, I was able to obtain it here:
+# http://www.ctcms.nist.gov/~cbecker/Download/Al-YM/Al99.eam.alloy
+
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/aluminum_crystal_strain/moltemplate_files/al_cell.lt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/aluminum_crystal_strain/moltemplate_files/al_cell.lt
new file mode 100644
index 000000000..3054a45e0
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/aluminum_crystal_strain/moltemplate_files/al_cell.lt
@@ -0,0 +1,64 @@
+# "AlCell" defines the 4-atom FCC unit cell
+# of Aluminum (with a 4.05 angstrom spacing)
+
+AlCell {
+
+ # AtomID MolID(IGNORE!) AtomType Charge X Y Z
+
+ write("Data Atoms") {
+ $atom:AlC $mol:... @atom:Al 0.0 0.000 0.000 0.000
+ $atom:AlX $mol:... @atom:Al 0.0 0.000 2.025 2.025
+ $atom:AlY $mol:... @atom:Al 0.0 2.025 0.000 2.025
+ $atom:AlZ $mol:... @atom:Al 0.0 2.025 2.025 0.000
+ }
+
+ write_once("In Init") {
+ units metal
+ atom_style full # <- Requires each atom has a MolID and Charge.
+ # This is not necessary. (Why use "full"?
+ # The "full" atom style is useful if you want to
+ # mix the aluminum with other molecules later.
+ # Otherwise, just use "atom_style atomic", and
+ # and remove the 2nd and 4th columns above.)
+ pair_style eam/alloy
+ }
+
+ write_once("In Settings") {
+ pair_coeff * * Al99.eam.alloy Al
+ }
+
+ write_once("Data Masses") {
+ @atom:Al 27.0
+ }
+
+} # AlCell
+
+
+
+
+
+# Here is an alternate way to define AlCell
+# using "scale(4.05)" to select the lattice spacing:
+#
+#FccCell {
+# write("Data Atoms") {
+# $atom:AlC $mol:... @atom:Al 0.0 0.0 0.0 0.0
+# $atom:AlX $mol:... @atom:Al 0.0 0.0 0.5 0.5
+# $atom:AlY $mol:... @atom:Al 0.0 0.5 0.0 0.5
+# $atom:AyZ $mol:... @atom:Al 0.0 0.5 0.5 0.0
+# }
+# write_once("Data Masses") {
+# @atom:Al 27.0
+# }
+# write_once("In Init") {
+# units metal
+# atom_style full
+# pair_style eam/alloy
+# }
+# write_once("In Settings") {
+# pair_coeff * * Al99.eam.alloy Al
+# }
+#}
+#
+#AlCell = FccCell.scale(4.05)
+#
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/aluminum_crystal_strain/moltemplate_files/system.lt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/aluminum_crystal_strain/moltemplate_files/system.lt
new file mode 100644
index 000000000..f813c6f66
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/aluminum_crystal_strain/moltemplate_files/system.lt
@@ -0,0 +1,35 @@
+
+import "al_cell.lt" # <- this defines the unit cell for aluminum
+
+# Periodic boundary conditions:
+write_once("Data Boundary") {
+ 0.0 40.50 xlo xhi
+ 0.0 40.50 ylo yhi
+ 0.0 40.50 zlo zhi
+}
+
+# The next command generates an array of 10x10x10 AlCell unit cells with
+# spacing 4.05 Angstroms.
+
+unitcells = new AlCell [10].move(0.00, 0.00, 4.05)
+ [10].move(0.00, 4.05, 0.00)
+ [10].move(4.05, 0.00, 0.00)
+
+
+
+
+
+
+
+
+
+
+
+
+################################################################
+# The next command is not necessary:
+#
+ create_var { $mol } # <-This forces all of the Al atoms in the crystal
+# # to share the same molecule ID number.
+# # Molecule ID numbers are not necessary. Ignore this.
+#
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/aluminum_crystal_strain/run.in b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/aluminum_crystal_strain/run.in
new file mode 100644
index 000000000..677cc60ca
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/aluminum_crystal_strain/run.in
@@ -0,0 +1,76 @@
+# ------------------------------- Initialization Section --------------------
+
+include system.in.init
+
+# ------------------------------- Atom Definition Section -------------------
+
+read_data system.data
+
+# ------------------------------- Settings Section --------------------------
+
+include system.in.settings
+
+# ------------------------------- Run Section -------------------------------
+#
+# The run-settings below were stolen from:
+#
+# http://icme.hpc.msstate.edu/mediawiki/index.php/Uniaxial_Compression
+
+
+compute csym all centro/atom fcc
+compute peratom all pe/atom
+
+# EQUILIBRATION
+reset_timestep 0
+timestep 0.001
+velocity all create 300 12345 mom yes rot no
+fix 1 all npt temp 300 300 1 iso 0 0 1 drag 1
+
+# Set thermo output
+thermo 1000
+thermo_style custom step lx ly lz press pxx pyy pzz pe temp
+
+# Run for at least 10 picosecond (assuming 1 fs timestep)
+run 20000
+unfix 1
+
+# Store final cell length for strain calculations
+variable tmp equal "lx"
+variable L0 equal ${tmp}
+print "Initial Length, L0: ${L0}"
+
+######################################
+# DEFORMATION
+reset_timestep 0
+
+fix 1 all npt temp 300 300 1 y 0 0 1 z 0 0 1 drag 1
+variable srate equal 1.0e10
+variable srate1 equal "-v_srate / 1.0e12"
+fix 2 all deform 1 x erate ${srate1} units box remap x
+
+# Output strain and stress info to file
+# for units metal, pressure is in [bars] = 100 [kPa] = 1/10000 [GPa]
+# p2, p3, p4 are in GPa
+variable strain equal "(lx - v_L0)/v_L0"
+variable p1 equal "v_strain"
+variable p2 equal "-pxx/10000"
+variable p3 equal "-pyy/10000"
+variable p4 equal "-pzz/10000"
+fix def1 all print 100 "${p1} ${p2} ${p3} ${p4}" file Al_comp_100.def1.txt screen no
+
+# Use cfg for AtomEye
+dump dAtomEye all cfg 250 dump.comp_*.cfg id type xs ys zs c_csym c_peratom fx fy fz
+dump_modify dAtomEye element Al
+
+# For users without AtomEye (like me), I decided to create a regular dump file:
+dump dCoords all custom 250 traj.lammpstrj id type x y z ix iy iz
+
+# Display thermo
+thermo 1000
+thermo_style custom step v_strain temp v_p2 v_p3 v_p4 ke pe press
+
+run 20000
+
+######################################
+# SIMULATION DONE
+print "All done"
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/README_run.sh b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/README_run.sh
new file mode 100755
index 000000000..c041ccb9f
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/README_run.sh
@@ -0,0 +1,33 @@
+# --- Running LAMMPS ---
+# -- Prerequisites: --
+# The 2 files "run.in.npt", and "run.in.nvt" are LAMMPS
+# input scripts which link to the input scripts and data files
+# you hopefully have created earlier with moltemplate.sh:
+# system.in.init, system.in.settings, system.data
+# If not, carry out the instructions in "README_setup.sh".
+#
+# -- Instructions: --
+# If "lmp_mpi" is the name of the command you use to invoke lammps,
+# then you would run lammps on these files this way:
+
+
+lmp_mpi -i run.in.npt # minimization and simulation at constant pressure
+
+# to be followed by
+
+lmp_mpi -i run.in.nvt # simulation at constant volume
+
+#(Note: The constant volume simulation lacks pressure equilibration. These are
+# completely separate simulations. The results of the constant pressure
+# simulation are ignored when beginning the simulation at constant volume.
+# This can be fixed. Read "run.in.nvt" for equilibration instructions.)
+
+
+
+
+
+# If you have compiled the MPI version of lammps, you can run lammps in parallel
+#mpirun -np 4 lmp_mpi -i run.in.npt
+# or
+#mpirun -np 4 lmp_mpi -i run.in.nvt
+# (assuming you have 4 processors available)
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/README_setup.sh b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/README_setup.sh
new file mode 100755
index 000000000..68cad16a7
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/README_setup.sh
@@ -0,0 +1,23 @@
+# Use these commands to generate the LAMMPS input script and data file
+# (and other auxilliary files):
+
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh -atomstyle full system.lt
+
+ # This will generate various files with names ending in *.in* and *.data.
+ # These files are the input files directly read by LAMMPS. Move them to
+ # the parent directory (or wherever you plan to run the simulation).
+
+ mv -f system.in* system.data ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/README_visualize.txt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/README_visualize.txt
new file mode 100644
index 000000000..88d0e22c4
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 500 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0}
+ pbc box -shiftcenterrel {0.0 0.15 0.0}
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/images/ice_rect8_crystal_3x2x2_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/images/ice_rect8_crystal_3x2x2_LR.jpg
new file mode 100644
index 000000000..2cdc08b31
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/images/ice_rect8_crystal_3x2x2_LR.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/images/ice_rect8_unitcell.png b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/images/ice_rect8_unitcell.png
new file mode 100644
index 000000000..5bd6057e1
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/images/ice_rect8_unitcell.png differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/moltemplate_files/spce.lt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/moltemplate_files/spce.lt
new file mode 100644
index 000000000..2b550b630
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/moltemplate_files/spce.lt
@@ -0,0 +1,52 @@
+# file "spce.lt"
+#
+# H1 H2
+# \ /
+# O
+
+SPCE {
+
+ write_once("In Init") {
+ # -- Default styles (for solo "SPCE" water) --
+ units real
+ atom_style full
+ # (Hybrid force fields were not necessary but are used for portability.)
+ pair_style hybrid lj/charmm/coul/long 9.0 10.0 10.0
+ bond_style hybrid harmonic
+ angle_style hybrid harmonic
+ kspace_style pppm 0.0001
+ pair_modify mix arithmetic
+ }
+
+ write("Data Atoms") {
+ $atom:O $mol:. @atom:O -0.8476 0.0000000 0.00000 0.000000
+ $atom:H1 $mol:. @atom:H 0.4238 0.8164904 0.00000 0.5773590
+ $atom:H2 $mol:. @atom:H 0.4238 -0.8164904 0.00000 0.5773590
+ }
+
+ write_once("Data Masses") {
+ @atom:O 15.9994
+ @atom:H 1.008
+ }
+
+ write("Data Bonds") {
+ $bond:OH1 @bond:OH $atom:O $atom:H1
+ $bond:OH2 @bond:OH $atom:O $atom:H2
+ }
+
+ write("Data Angles") {
+ $angle:HOH @angle:HOH $atom:H1 $atom:O $atom:H2
+ }
+
+ write_once("In Settings") {
+ bond_coeff @bond:OH harmonic 1000.0 1.0
+ angle_coeff @angle:HOH harmonic 1000.0 109.47
+ pair_coeff @atom:O @atom:O lj/charmm/coul/long 0.1553 3.166
+ pair_coeff @atom:H @atom:H lj/charmm/coul/long 0.0 2.058
+ group spce type @atom:O @atom:H
+ fix fSHAKE spce shake 0.0001 10 100 b @bond:OH a @angle:HOH
+ # (Remember to "unfix" fSHAKE during minimization.)
+ }
+
+} # end of definition of "SPCE" water molecule type
+
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/moltemplate_files/spce_ice_rect16.lt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/moltemplate_files/spce_ice_rect16.lt
new file mode 100644
index 000000000..e67b228e9
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/moltemplate_files/spce_ice_rect16.lt
@@ -0,0 +1,81 @@
+# This ice (1h) unit cell is rectangular and contains 16 water molecules.
+# (Coordinates and cell dimensions converted were from a PDB file.)
+# The dimensions of the unit cell (in Angstroms) are: 9.043 7.832 7.361
+
+
+import "spce.lt" # <-- define the "SPCE" molecule
+
+SpceIceRect16 {
+
+ # Create a 3-dimensional array of 16 water molecules
+
+ wat = new SPCE[4][2][2]
+
+ # Array indices will be correlated with position [xindex][yindex][zindex]
+
+ # You can overwrite coordinates of atoms after they were created this way:
+ # (Order is not important)
+ # atom-ID molecule-ID atomType charge newX newY newZ
+
+ write("Data Atoms") {
+ $atom:wat[0][0][0]/O $mol:wat[0][0][0] @atom:SPCE/O -0.8476 1.131 2.611 2.300
+ $atom:wat[0][0][0]/H1 $mol:wat[0][0][0] @atom:SPCE/H 0.4238 0.322 2.144 1.970
+ $atom:wat[0][0][0]/H2 $mol:wat[0][0][0] @atom:SPCE/H 0.4238 1.131 3.545 1.970
+ $atom:wat[1][0][0]/O $mol:wat[1][0][0] @atom:SPCE/O -0.8476 3.391 1.305 1.381
+ $atom:wat[1][0][0]/H1 $mol:wat[1][0][0] @atom:SPCE/H 0.4238 2.582 1.772 1.711
+ $atom:wat[1][0][0]/H2 $mol:wat[1][0][0] @atom:SPCE/H 0.4238 3.391 0.371 1.711
+ $atom:wat[2][0][0]/O $mol:wat[2][0][0] @atom:SPCE/O -0.8476 5.652 2.611 2.300
+ $atom:wat[2][0][0]/H1 $mol:wat[2][0][0] @atom:SPCE/H 0.4238 4.843 2.144 1.970
+ $atom:wat[2][0][0]/H2 $mol:wat[2][0][0] @atom:SPCE/H 0.4238 5.652 2.611 3.291
+ $atom:wat[3][0][0]/O $mol:wat[3][0][0] @atom:SPCE/O -0.8476 7.912 1.305 1.381
+ $atom:wat[3][0][0]/H1 $mol:wat[3][0][0] @atom:SPCE/H 0.4238 7.103 1.772 1.711
+ $atom:wat[3][0][0]/H2 $mol:wat[3][0][0] @atom:SPCE/H 0.4238 7.912 1.305 0.390
+ $atom:wat[0][1][0]/O $mol:wat[0][1][0] @atom:SPCE/O -0.8476 1.131 5.221 1.381
+ $atom:wat[0][1][0]/H1 $mol:wat[0][1][0] @atom:SPCE/H 0.4238 1.940 5.688 1.711
+ $atom:wat[0][1][0]/H2 $mol:wat[0][1][0] @atom:SPCE/H 0.4238 1.131 5.221 0.390
+ $atom:wat[1][1][0]/O $mol:wat[1][1][0] @atom:SPCE/O -0.8476 3.391 6.526 2.300
+ $atom:wat[1][1][0]/H1 $mol:wat[1][1][0] @atom:SPCE/H 0.4238 4.200 6.059 1.970
+ $atom:wat[1][1][0]/H2 $mol:wat[1][1][0] @atom:SPCE/H 0.4238 3.391 6.526 3.291
+ $atom:wat[2][1][0]/O $mol:wat[2][1][0] @atom:SPCE/O -0.8476 5.652 5.221 1.381
+ $atom:wat[2][1][0]/H1 $mol:wat[2][1][0] @atom:SPCE/H 0.4238 6.461 5.688 1.711
+ $atom:wat[2][1][0]/H2 $mol:wat[2][1][0] @atom:SPCE/H 0.4238 5.652 4.287 1.711
+ $atom:wat[3][1][0]/O $mol:wat[3][1][0] @atom:SPCE/O -0.8476 7.912 6.526 2.300
+ $atom:wat[3][1][0]/H1 $mol:wat[3][1][0] @atom:SPCE/H 0.4238 8.721 6.059 1.970
+ $atom:wat[3][1][0]/H2 $mol:wat[3][1][0] @atom:SPCE/H 0.4238 7.912 7.460 1.970
+ $atom:wat[0][0][1]/O $mol:wat[0][0][1] @atom:SPCE/O -0.8476 1.131 2.611 5.061
+ $atom:wat[0][0][1]/H1 $mol:wat[0][0][1] @atom:SPCE/H 0.4238 1.940 2.144 5.391
+ $atom:wat[0][0][1]/H2 $mol:wat[0][0][1] @atom:SPCE/H 0.4238 1.131 2.611 4.070
+ $atom:wat[1][0][1]/O $mol:wat[1][0][1] @atom:SPCE/O -0.8476 3.391 1.305 5.981
+ $atom:wat[1][0][1]/H1 $mol:wat[1][0][1] @atom:SPCE/H 0.4238 4.200 1.772 5.651
+ $atom:wat[1][0][1]/H2 $mol:wat[1][0][1] @atom:SPCE/H 0.4238 3.391 1.305 6.972
+ $atom:wat[2][0][1]/O $mol:wat[2][0][1] @atom:SPCE/O -0.8476 5.652 2.611 5.061
+ $atom:wat[2][0][1]/H1 $mol:wat[2][0][1] @atom:SPCE/H 0.4238 6.461 2.144 5.391
+ $atom:wat[2][0][1]/H2 $mol:wat[2][0][1] @atom:SPCE/H 0.4238 5.652 3.545 5.391
+ $atom:wat[3][0][1]/O $mol:wat[3][0][1] @atom:SPCE/O -0.8476 7.912 1.305 5.981
+ $atom:wat[3][0][1]/H1 $mol:wat[3][0][1] @atom:SPCE/H 0.4238 8.721 1.772 5.651
+ $atom:wat[3][0][1]/H2 $mol:wat[3][0][1] @atom:SPCE/H 0.4238 7.912 0.371 5.651
+ $atom:wat[0][1][1]/O $mol:wat[0][1][1] @atom:SPCE/O -0.8476 1.131 5.221 5.981
+ $atom:wat[0][1][1]/H1 $mol:wat[0][1][1] @atom:SPCE/H 0.4238 0.322 5.688 5.651
+ $atom:wat[0][1][1]/H2 $mol:wat[0][1][1] @atom:SPCE/H 0.4238 1.131 4.287 5.651
+ $atom:wat[1][1][1]/O $mol:wat[1][1][1] @atom:SPCE/O -0.8476 3.391 6.526 5.061
+ $atom:wat[1][1][1]/H1 $mol:wat[1][1][1] @atom:SPCE/H 0.4238 2.582 6.059 5.391
+ $atom:wat[1][1][1]/H2 $mol:wat[1][1][1] @atom:SPCE/H 0.4238 3.391 7.460 5.391
+ $atom:wat[2][1][1]/O $mol:wat[2][1][1] @atom:SPCE/O -0.8476 5.652 5.221 5.981
+ $atom:wat[2][1][1]/H1 $mol:wat[2][1][1] @atom:SPCE/H 0.4238 4.843 5.688 5.651
+ $atom:wat[2][1][1]/H2 $mol:wat[2][1][1] @atom:SPCE/H 0.4238 5.652 5.221 6.972
+ $atom:wat[3][1][1]/O $mol:wat[3][1][1] @atom:SPCE/O -0.8476 7.912 6.526 5.061
+ $atom:wat[3][1][1]/H1 $mol:wat[3][1][1] @atom:SPCE/H 0.4238 7.103 6.059 5.391
+ $atom:wat[3][1][1]/H2 $mol:wat[3][1][1] @atom:SPCE/H 0.4238 7.912 6.526 4.070
+ }
+} # SpceIceRect16
+
+# Credit goes to Martin Chaplin.
+# These coordinates were orignally downloaded from Martin Chaplin's
+# website: http://www.btinternet.com/~martin.chaplin/ice1h.html
+# ... and then they were stretched independently in the xy and z
+# directions in order to match the lattice parameters measured by
+# Rottger et al.,
+# "Lattice constants and thermal expansion of H2O and D2O ice Ih"
+# between 10 and 265K", Acta Crystallogr. B, 50 (1994) 644-648
+# I am using the lattice constants measured at temperature 265K
+# (and pressure=100Torr).
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/moltemplate_files/spce_ice_rect32.lt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/moltemplate_files/spce_ice_rect32.lt
new file mode 100644
index 000000000..0a52d8298
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/moltemplate_files/spce_ice_rect32.lt
@@ -0,0 +1,129 @@
+# This ice (1h) unit cell is rectangular and contains 32 water molecules.
+# (Coordinates and cell dimensions converted were from a PDB file.)
+# The dimensions of the unit cell (in Angstroms) are: 9.043 15.663 7.361
+
+
+import "spce.lt" # <-- define the "SPCE" molecule
+
+SpceIceRect32 {
+
+ # Create a 3-dimensional array of 32 water molecules
+
+ wat = new SPCE[4][4][2]
+
+ # Array indices will be correlated with position [xindex][yindex][zindex]
+
+ # You can overwrite coordinates of atoms after they were created this way:
+ # (Order is not important)
+ # atom-ID molecule-ID atomType charge newX newY newZ
+
+ write("Data Atoms") {
+ $atom:wat[0][0][0]/O $mol:wat[0][0][0] @atom:SPCE/O -0.8476 1.131 2.611 2.300
+ $atom:wat[0][0][0]/H1 $mol:wat[0][0][0] @atom:SPCE/H 0.4238 0.322 2.144 1.970
+ $atom:wat[0][0][0]/H2 $mol:wat[0][0][0] @atom:SPCE/H 0.4238 1.131 2.611 3.291
+ $atom:wat[1][0][0]/O $mol:wat[1][0][0] @atom:SPCE/O -0.8476 3.391 1.305 1.381
+ $atom:wat[1][0][0]/H1 $mol:wat[1][0][0] @atom:SPCE/H 0.4238 2.582 1.772 1.711
+ $atom:wat[1][0][0]/H2 $mol:wat[1][0][0] @atom:SPCE/H 0.4238 3.391 1.305 0.390
+ $atom:wat[2][0][0]/O $mol:wat[2][0][0] @atom:SPCE/O -0.8476 5.652 2.611 2.300
+ $atom:wat[2][0][0]/H1 $mol:wat[2][0][0] @atom:SPCE/H 0.4238 4.843 2.144 1.970
+ $atom:wat[2][0][0]/H2 $mol:wat[2][0][0] @atom:SPCE/H 0.4238 5.652 3.545 1.970
+ $atom:wat[3][0][0]/O $mol:wat[3][0][0] @atom:SPCE/O -0.8476 7.912 1.305 1.381
+ $atom:wat[3][0][0]/H1 $mol:wat[3][0][0] @atom:SPCE/H 0.4238 7.103 1.772 1.711
+ $atom:wat[3][0][0]/H2 $mol:wat[3][0][0] @atom:SPCE/H 0.4238 7.912 0.371 1.711
+ $atom:wat[0][1][0]/O $mol:wat[0][1][0] @atom:SPCE/O -0.8476 1.131 5.221 1.381
+ $atom:wat[0][1][0]/H1 $mol:wat[0][1][0] @atom:SPCE/H 0.4238 1.940 5.688 1.711
+ $atom:wat[0][1][0]/H2 $mol:wat[0][1][0] @atom:SPCE/H 0.4238 1.131 4.287 1.711
+ $atom:wat[1][1][0]/O $mol:wat[1][1][0] @atom:SPCE/O -0.8476 3.391 6.526 2.300
+ $atom:wat[1][1][0]/H1 $mol:wat[1][1][0] @atom:SPCE/H 0.4238 4.200 6.059 1.970
+ $atom:wat[1][1][0]/H2 $mol:wat[1][1][0] @atom:SPCE/H 0.4238 3.391 6.526 3.291
+ $atom:wat[2][1][0]/O $mol:wat[2][1][0] @atom:SPCE/O -0.8476 5.652 5.221 1.381
+ $atom:wat[2][1][0]/H1 $mol:wat[2][1][0] @atom:SPCE/H 0.4238 6.461 5.688 1.711
+ $atom:wat[2][1][0]/H2 $mol:wat[2][1][0] @atom:SPCE/H 0.4238 5.652 5.221 0.390
+ $atom:wat[3][1][0]/O $mol:wat[3][1][0] @atom:SPCE/O -0.8476 7.912 6.526 2.300
+ $atom:wat[3][1][0]/H1 $mol:wat[3][1][0] @atom:SPCE/H 0.4238 8.721 6.059 1.970
+ $atom:wat[3][1][0]/H2 $mol:wat[3][1][0] @atom:SPCE/H 0.4238 7.912 7.460 1.970
+ $atom:wat[0][2][0]/O $mol:wat[0][2][0] @atom:SPCE/O -0.8476 1.131 10.443 2.300
+ $atom:wat[0][2][0]/H1 $mol:wat[0][2][0] @atom:SPCE/H 0.4238 0.322 9.976 1.970
+ $atom:wat[0][2][0]/H2 $mol:wat[0][2][0] @atom:SPCE/H 0.4238 1.131 11.377 1.970
+ $atom:wat[1][2][0]/O $mol:wat[1][2][0] @atom:SPCE/O -0.8476 3.391 9.137 1.381
+ $atom:wat[1][2][0]/H1 $mol:wat[1][2][0] @atom:SPCE/H 0.4238 2.582 9.604 1.711
+ $atom:wat[1][2][0]/H2 $mol:wat[1][2][0] @atom:SPCE/H 0.4238 3.391 8.203 1.711
+ $atom:wat[2][2][0]/O $mol:wat[2][2][0] @atom:SPCE/O -0.8476 5.652 10.443 2.300
+ $atom:wat[2][2][0]/H1 $mol:wat[2][2][0] @atom:SPCE/H 0.4238 4.843 9.976 1.970
+ $atom:wat[2][2][0]/H2 $mol:wat[2][2][0] @atom:SPCE/H 0.4238 5.652 10.443 3.291
+ $atom:wat[3][2][0]/O $mol:wat[3][2][0] @atom:SPCE/O -0.8476 7.912 9.137 1.381
+ $atom:wat[3][2][0]/H1 $mol:wat[3][2][0] @atom:SPCE/H 0.4238 7.103 9.604 1.711
+ $atom:wat[3][2][0]/H2 $mol:wat[3][2][0] @atom:SPCE/H 0.4238 7.912 9.137 0.390
+ $atom:wat[0][3][0]/O $mol:wat[0][3][0] @atom:SPCE/O -0.8476 1.131 13.053 1.381
+ $atom:wat[0][3][0]/H1 $mol:wat[0][3][0] @atom:SPCE/H 0.4238 1.940 13.520 1.711
+ $atom:wat[0][3][0]/H2 $mol:wat[0][3][0] @atom:SPCE/H 0.4238 1.131 13.053 0.390
+ $atom:wat[1][3][0]/O $mol:wat[1][3][0] @atom:SPCE/O -0.8476 3.391 14.358 2.300
+ $atom:wat[1][3][0]/H1 $mol:wat[1][3][0] @atom:SPCE/H 0.4238 4.200 13.891 1.970
+ $atom:wat[1][3][0]/H2 $mol:wat[1][3][0] @atom:SPCE/H 0.4238 3.391 15.292 1.970
+ $atom:wat[2][3][0]/O $mol:wat[2][3][0] @atom:SPCE/O -0.8476 5.652 13.053 1.381
+ $atom:wat[2][3][0]/H1 $mol:wat[2][3][0] @atom:SPCE/H 0.4238 6.461 13.520 1.711
+ $atom:wat[2][3][0]/H2 $mol:wat[2][3][0] @atom:SPCE/H 0.4238 5.652 12.119 1.711
+ $atom:wat[3][3][0]/O $mol:wat[3][3][0] @atom:SPCE/O -0.8476 7.912 14.358 2.300
+ $atom:wat[3][3][0]/H1 $mol:wat[3][3][0] @atom:SPCE/H 0.4238 8.721 13.891 1.970
+ $atom:wat[3][3][0]/H2 $mol:wat[3][3][0] @atom:SPCE/H 0.4238 7.912 14.358 3.291
+ $atom:wat[0][0][1]/O $mol:wat[0][0][1] @atom:SPCE/O -0.8476 1.131 2.611 5.061
+ $atom:wat[0][0][1]/H1 $mol:wat[0][0][1] @atom:SPCE/H 0.4238 1.940 2.144 5.391
+ $atom:wat[0][0][1]/H2 $mol:wat[0][0][1] @atom:SPCE/H 0.4238 1.131 3.545 5.391
+ $atom:wat[1][0][1]/O $mol:wat[1][0][1] @atom:SPCE/O -0.8476 3.391 1.305 5.981
+ $atom:wat[1][0][1]/H1 $mol:wat[1][0][1] @atom:SPCE/H 0.4238 4.200 1.772 5.651
+ $atom:wat[1][0][1]/H2 $mol:wat[1][0][1] @atom:SPCE/H 0.4238 3.391 0.371 5.651
+ $atom:wat[2][0][1]/O $mol:wat[2][0][1] @atom:SPCE/O -0.8476 5.652 2.611 5.061
+ $atom:wat[2][0][1]/H1 $mol:wat[2][0][1] @atom:SPCE/H 0.4238 6.461 2.144 5.391
+ $atom:wat[2][0][1]/H2 $mol:wat[2][0][1] @atom:SPCE/H 0.4238 5.652 2.611 4.070
+ $atom:wat[3][0][1]/O $mol:wat[3][0][1] @atom:SPCE/O -0.8476 7.912 1.305 5.981
+ $atom:wat[3][0][1]/H1 $mol:wat[3][0][1] @atom:SPCE/H 0.4238 8.721 1.772 5.651
+ $atom:wat[3][0][1]/H2 $mol:wat[3][0][1] @atom:SPCE/H 0.4238 7.912 1.305 6.972
+ $atom:wat[0][1][1]/O $mol:wat[0][1][1] @atom:SPCE/O -0.8476 1.131 5.221 5.981
+ $atom:wat[0][1][1]/H1 $mol:wat[0][1][1] @atom:SPCE/H 0.4238 0.322 5.688 5.651
+ $atom:wat[0][1][1]/H2 $mol:wat[0][1][1] @atom:SPCE/H 0.4238 1.131 5.221 6.972
+ $atom:wat[1][1][1]/O $mol:wat[1][1][1] @atom:SPCE/O -0.8476 3.391 6.526 5.061
+ $atom:wat[1][1][1]/H1 $mol:wat[1][1][1] @atom:SPCE/H 0.4238 2.582 6.059 5.391
+ $atom:wat[1][1][1]/H2 $mol:wat[1][1][1] @atom:SPCE/H 0.4238 3.391 7.460 5.391
+ $atom:wat[2][1][1]/O $mol:wat[2][1][1] @atom:SPCE/O -0.8476 5.652 5.221 5.981
+ $atom:wat[2][1][1]/H1 $mol:wat[2][1][1] @atom:SPCE/H 0.4238 4.843 5.688 5.651
+ $atom:wat[2][1][1]/H2 $mol:wat[2][1][1] @atom:SPCE/H 0.4238 5.652 4.287 5.651
+ $atom:wat[3][1][1]/O $mol:wat[3][1][1] @atom:SPCE/O -0.8476 7.912 6.526 5.061
+ $atom:wat[3][1][1]/H1 $mol:wat[3][1][1] @atom:SPCE/H 0.4238 7.103 6.059 5.391
+ $atom:wat[3][1][1]/H2 $mol:wat[3][1][1] @atom:SPCE/H 0.4238 7.912 6.526 4.070
+ $atom:wat[0][2][1]/O $mol:wat[0][2][1] @atom:SPCE/O -0.8476 1.131 10.443 5.061
+ $atom:wat[0][2][1]/H1 $mol:wat[0][2][1] @atom:SPCE/H 0.4238 1.940 9.976 5.391
+ $atom:wat[0][2][1]/H2 $mol:wat[0][2][1] @atom:SPCE/H 0.4238 1.131 10.443 4.070
+ $atom:wat[1][2][1]/O $mol:wat[1][2][1] @atom:SPCE/O -0.8476 3.391 9.137 5.981
+ $atom:wat[1][2][1]/H1 $mol:wat[1][2][1] @atom:SPCE/H 0.4238 4.200 9.604 5.651
+ $atom:wat[1][2][1]/H2 $mol:wat[1][2][1] @atom:SPCE/H 0.4238 3.391 9.137 6.972
+ $atom:wat[2][2][1]/O $mol:wat[2][2][1] @atom:SPCE/O -0.8476 5.652 10.443 5.061
+ $atom:wat[2][2][1]/H1 $mol:wat[2][2][1] @atom:SPCE/H 0.4238 6.461 9.976 5.391
+ $atom:wat[2][2][1]/H2 $mol:wat[2][2][1] @atom:SPCE/H 0.4238 5.652 11.377 5.391
+ $atom:wat[3][2][1]/O $mol:wat[3][2][1] @atom:SPCE/O -0.8476 7.912 9.137 5.981
+ $atom:wat[3][2][1]/H1 $mol:wat[3][2][1] @atom:SPCE/H 0.4238 8.721 9.604 5.651
+ $atom:wat[3][2][1]/H2 $mol:wat[3][2][1] @atom:SPCE/H 0.4238 7.912 8.203 5.651
+ $atom:wat[0][3][1]/O $mol:wat[0][3][1] @atom:SPCE/O -0.8476 1.131 13.053 5.981
+ $atom:wat[0][3][1]/H1 $mol:wat[0][3][1] @atom:SPCE/H 0.4238 0.322 13.520 5.651
+ $atom:wat[0][3][1]/H2 $mol:wat[0][3][1] @atom:SPCE/H 0.4238 1.131 12.119 5.651
+ $atom:wat[1][3][1]/O $mol:wat[1][3][1] @atom:SPCE/O -0.8476 3.391 14.358 5.061
+ $atom:wat[1][3][1]/H1 $mol:wat[1][3][1] @atom:SPCE/H 0.4238 2.582 13.891 5.391
+ $atom:wat[1][3][1]/H2 $mol:wat[1][3][1] @atom:SPCE/H 0.4238 3.391 14.358 4.070
+ $atom:wat[2][3][1]/O $mol:wat[2][3][1] @atom:SPCE/O -0.8476 5.652 13.053 5.981
+ $atom:wat[2][3][1]/H1 $mol:wat[2][3][1] @atom:SPCE/H 0.4238 4.843 13.520 5.651
+ $atom:wat[2][3][1]/H2 $mol:wat[2][3][1] @atom:SPCE/H 0.4238 5.652 13.053 6.972
+ $atom:wat[3][3][1]/O $mol:wat[3][3][1] @atom:SPCE/O -0.8476 7.912 14.358 5.061
+ $atom:wat[3][3][1]/H1 $mol:wat[3][3][1] @atom:SPCE/H 0.4238 7.103 13.891 5.391
+ $atom:wat[3][3][1]/H2 $mol:wat[3][3][1] @atom:SPCE/H 0.4238 7.912 15.292 5.391
+ }
+} # SpceIceRect32
+
+# Credit goes to Martin Chaplin.
+# These coordinates were orignally downloaded from Martin Chaplin's
+# website: http://www.btinternet.com/~martin.chaplin/ice1h.html
+# ... and then they were stretched independently in the xy and z
+# directions in order to match the lattice parameters measured by
+# Rottger et al.,
+# "Lattice constants and thermal expansion of H2O and D2O ice Ih"
+# between 10 and 265K", Acta Crystallogr. B, 50 (1994) 644-648
+# I am using the lattice constants measured at temperature 265K
+# (and pressure=100Torr).
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/moltemplate_files/spce_ice_rect8.lt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/moltemplate_files/spce_ice_rect8.lt
new file mode 100644
index 000000000..f887c6efd
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/moltemplate_files/spce_ice_rect8.lt
@@ -0,0 +1,57 @@
+# This ice (1h) unit cell is rectangular and contains 8 water molecules.
+# (Coordinates and cell dimensions converted were from a PDB file.)
+# The dimensions of the unit cell (in Angstroms) are: 4.521 7.832 7.362
+
+
+import "spce.lt" # <-- define the "SPCE" molecule
+
+SpceIceRect8 {
+
+ # Create a 3-dimensional array of 8 water molecules
+
+ wat = new SPCE[2][2][2]
+
+ # Array indices will be correlated with position [xindex][yindex][zindex]
+
+ # You can overwrite coordinates of atoms after they were created this way:
+ # (Order is not important)
+ # atom-ID molecule-ID atomType charge newX newY newZ
+
+ write("Data Atoms") {
+ $atom:wat[0][0][0]/O $mol:wat[0][0][0] @atom:SPCE/O -0.8476 1.131 2.611 2.300
+ $atom:wat[0][0][0]/H1 $mol:wat[0][0][0] @atom:SPCE/H 0.4238 1.131 2.611 3.289
+ $atom:wat[0][0][0]/H2 $mol:wat[0][0][0] @atom:SPCE/H 0.4238 0.320 2.143 1.971
+ $atom:wat[1][0][0]/O $mol:wat[1][0][0] @atom:SPCE/O -0.8476 3.391 1.305 1.381
+ $atom:wat[1][0][0]/H1 $mol:wat[1][0][0] @atom:SPCE/H 0.4238 3.391 0.370 1.710
+ $atom:wat[1][0][0]/H2 $mol:wat[1][0][0] @atom:SPCE/H 0.4238 2.582 1.772 1.710
+ $atom:wat[0][1][0]/O $mol:wat[0][1][0] @atom:SPCE/O -0.8476 1.131 5.221 1.381
+ $atom:wat[0][1][0]/H1 $mol:wat[0][1][0] @atom:SPCE/H 0.4238 1.131 4.286 1.710
+ $atom:wat[0][1][0]/H2 $mol:wat[0][1][0] @atom:SPCE/H 0.4238 0.320 5.688 1.710
+ $atom:wat[1][1][0]/O $mol:wat[1][1][0] @atom:SPCE/O -0.8476 3.391 6.526 2.300
+ $atom:wat[1][1][0]/H1 $mol:wat[1][1][0] @atom:SPCE/H 0.4238 3.391 6.526 3.289
+ $atom:wat[1][1][0]/H2 $mol:wat[1][1][0] @atom:SPCE/H 0.4238 2.582 6.058 1.971
+ $atom:wat[0][0][1]/O $mol:wat[0][0][1] @atom:SPCE/O -0.8476 1.131 2.611 5.061
+ $atom:wat[0][0][1]/H1 $mol:wat[0][0][1] @atom:SPCE/H 0.4238 1.940 2.143 5.391
+ $atom:wat[0][0][1]/H2 $mol:wat[0][0][1] @atom:SPCE/H 0.4238 1.131 3.546 5.391
+ $atom:wat[1][0][1]/O $mol:wat[1][0][1] @atom:SPCE/O -0.8476 3.391 1.305 5.981
+ $atom:wat[1][0][1]/H1 $mol:wat[1][0][1] @atom:SPCE/H 0.4238 3.391 1.305 6.970
+ $atom:wat[1][0][1]/H2 $mol:wat[1][0][1] @atom:SPCE/H 0.4238 4.200 1.772 5.652
+ $atom:wat[0][1][1]/O $mol:wat[0][1][1] @atom:SPCE/O -0.8476 1.131 5.221 5.981
+ $atom:wat[0][1][1]/H1 $mol:wat[0][1][1] @atom:SPCE/H 0.4238 1.131 5.221 6.970
+ $atom:wat[0][1][1]/H2 $mol:wat[0][1][1] @atom:SPCE/H 0.4238 1.940 5.688 5.652
+ $atom:wat[1][1][1]/O $mol:wat[1][1][1] @atom:SPCE/O -0.8476 3.391 6.526 5.061
+ $atom:wat[1][1][1]/H1 $mol:wat[1][1][1] @atom:SPCE/H 0.4238 4.200 6.058 5.391
+ $atom:wat[1][1][1]/H2 $mol:wat[1][1][1] @atom:SPCE/H 0.4238 3.391 7.462 5.391
+ }
+} # SpceIceRect8
+
+# Credit goes to Martin Chaplin.
+# These coordinates were orignally downloaded from Martin Chaplin's
+# website: http://www.btinternet.com/~martin.chaplin/ice1h.html
+# ... and then they were stretched independently in the xy and z
+# directions in order to match the lattice parameters measured by
+# Rottger et al.,
+# "Lattice constants and thermal expansion of H2O and D2O ice Ih"
+# between 10 and 265K", Acta Crystallogr. B, 50 (1994) 644-648
+# I am using the lattice constants measured at temperature 265K
+# (and pressure=100Torr).
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/moltemplate_files/system.lt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/moltemplate_files/system.lt
new file mode 100644
index 000000000..b4f22f9dc
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/moltemplate_files/system.lt
@@ -0,0 +1,11 @@
+import "spce_ice_rect8.lt"
+
+cells = new SpceIceRect8 [3].move(4.521, 0.0, 0.0)
+ [2].move( 0.0, 7.832, 0.0)
+ [2].move( 0.0, 0.0, 7.362)
+
+write_once("Data Boundary") {
+ 0 13.563 xlo xhi
+ 0 15.664 ylo yhi
+ 0 14.724 zlo zhi
+}
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/run.in.npt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/run.in.npt
new file mode 100644
index 000000000..c10893b41
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/run.in.npt
@@ -0,0 +1,48 @@
+# You can run LAMMPS this way
+# lmp_linux -i run.in.npt
+# (Assuming your LAMMPS binary is named "lmp_linux")
+#
+# PREREQUISITES:
+# You will need these files (created by moltemplate.sh):
+# system.data, system.in.init, system.in.settings
+# (See README_setup.sh for details)
+
+# ------------------------------- Initialization Section --------------------
+
+include system.in.init
+
+# ------------------------------- Atom Definition Section -------------------
+
+read_data system.data
+
+# ------------------------------- Settings Section --------------------------
+
+include system.in.settings
+
+# ------------------------------- Run Section -------------------------------
+
+
+# -- minimization protocol --
+
+# Note: The minimization step is not necessary in this example. However
+# in general, it's always a good idea to minimize the system beforehand.
+# fSHAKE was defined in system.in.settings. It is incompatible with "minimize".
+unfix fSHAKE
+minimize 1.0e-5 1.0e-7 100000 400000
+# Now read "system.in.settings" in order to redefine fSHAKE again:
+include system.in.settings
+
+# -- simulation protocol --
+
+
+timestep 2.0
+dump 1 all custom 200 traj_npt.lammpstrj id mol type x y z ix iy iz
+fix fxnpt all npt temp 400.0 300.0 100.0 iso 1.0 1.0 1000.0 drag 1.0
+
+thermo 100
+
+#restart 10000 restart_npt
+
+run 20000
+
+write_data system_after_npt.data
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/run.in.nvt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/run.in.nvt
new file mode 100644
index 000000000..1815e1da7
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/ice_crystal/run.in.nvt
@@ -0,0 +1,45 @@
+# You can run LAMMPS this way
+# lmp_linux -i run.in.nvt
+# (Assuming your LAMMPS binary is named "lmp_linux")
+#
+# PREREQUISITES:
+# You will need these files (created by moltemplate.sh):
+# system.in.init, system.in.settings (See README_setup.sh)
+# You will also need this file: system_after_npt.data
+# This file is created by running LAMMPS on the run.in.npt file.
+#
+# ------------------------------- Initialization Section --------------------
+
+include system.in.init
+
+# ------------------------------- Atom Definition Section -------------------
+
+# Read the coordinates after pressure equilibration
+read_data system_after_npt.data
+
+# (Or, if you prefer, you can read the original coordinates using
+# read_data system.data)
+
+# ------------------------------- Settings Section --------------------------
+
+include system.in.settings
+
+# ------------------------------- Run Section -------------------------------
+
+
+timestep 2.0
+dump 1 all custom 500 traj_nvt.lammpstrj id mol type x y z ix iy iz
+fix fxnvt all nvt temp 300.0 300.0 500.0 tchain 1
+
+
+thermo 500
+
+
+#restart 10000 restart_nvt
+
+
+run 50000
+
+write_data system_after_nvt.data
+
+
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/README.txt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/README.txt
new file mode 100644
index 000000000..3c58fd009
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/README.txt
@@ -0,0 +1,51 @@
+This is a small version of a carbon-nanotube, water capillary system.
+It was inspired by this paper:
+
+ Laurent Joly, J. Chem. Phys. 135(21):214705 (2011)
+
+-------- Requirements: -------
+To run this system at constant pressure, it might help to compile LAMMPS
+with the optional RIGID package, and use "fix rigid" on the carbon.
+(The use of fix rigid is controversial.) Running at NVT does not require this.
+------------------------------
+
+Note: To investigate the behavior from that paper, it might be a good
+ idea to increase the size of the water reservoir, the spacing between
+ the walls, and the size of the system in the X and Y directions.
+
+Note: Explicit carbon-carbon bonds:
+ In the graphene and nanotube structures, I did not try to connect the
+ carbon atoms together with bonds. Instead we will hold these structures
+ rigid by not integrating their equations of motion.
+ (If you want to simulate movement of the carbon atoms at high
+ temperatures or tension, LAMMPS has 3-body/many-body LAMMPS force-fields
+ available for simulating the behaviour of carbon in graphite. I know
+ that you don't need to specify bonds to use these force fields. I do
+ not know know if these force fields work for nanotubes or graphene.)
+
+Note: Other modeling tools:
+ If you need explicit bonds between carbon atoms, then you must add them
+ yourself or use a different tool. Currently (2012-10-20), moltemplate does
+ not generate bonds automatically. The "Nanotube Builder" and "topotools"
+ plugins for for VMD can generate a nanotube with bonds in LAMMPS data
+ format. You can then convert this data file to .LT format using the
+ ltemplify.py utility and then import it into another .LT file and play
+ with it later. (In the "cnad-cnt" example, the carbon nanotube was built
+ using "Nanotube Builder" and topotools, and processed with ltemplify.py)
+
+
+# WARNING: THIS IS NOT A REALISTIC MODEL OF A GRAPHENE-NANOTUBE JUNCTION.
+# A real junction would be curved and deformed near the boundary,
+# (not 90 degrees) and it would not be built entirely from hexagons.
+# (This is not a problem in this example because the carbon atoms
+# are immobilized.) If you want to simulate the behavior of
+# real graphene or nanotube junctions, you must be more careful.
+# To solve this problem:
+# Moltemplate allows you to move, customize or delete individual
+# atoms near the boundary. You can move atoms by overwriting their
+# coordinates using additional write("Data Atoms") statements (after
+# the walls and tube are created). You can also change their charge.
+# Alternately, you could start with the structure provided here, and
+# relax/minimize the coordinates of the carbon atoms using LAMMPS
+# before using it in other simulations.
+# Or you could do both (customization & minimization).
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/README_run.sh b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/README_run.sh
new file mode 100755
index 000000000..98054c555
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/README_run.sh
@@ -0,0 +1,24 @@
+# --- Running LAMMPS ---
+# -- Prerequisites: --
+# The 2 files "run.in.npt", and "run.in.nvt" are LAMMPS
+# input scripts which link to the input scripts and data files
+# you hopefully have created earlier with moltemplate.sh:
+# system.in.init, system.in.settings, system.data
+# If not, carry out the instructions in "README_setup.sh".
+#
+# -- Instructions: --
+# If "lmp_mpi" is the name of the command you use to invoke lammps,
+# then you would run lammps on these files this way:
+
+
+lmp_mpi -i run.in.nvt # minimization and simulation at constant volume
+lmp_mpi -i run.in.npt # minimization and simulation at constant pressure
+ # (WARNING: The "run.in.npt" example has not been
+ # rigorously tested and may fail.)
+
+
+
+# If you have compiled the MPI version of lammps, you can run lammps in parallel
+#mpirun -np 4 lmp_mpi -i run.in.npt
+#mpirun -np 4 lmp_mpi -i run.in.nvt
+# (assuming you have 4 processors available)
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/README_setup.sh b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/README_setup.sh
new file mode 100755
index 000000000..cf22ee0fa
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/README_setup.sh
@@ -0,0 +1,23 @@
+# Use these commands to generate the LAMMPS input script and data file
+# (and other auxilliary files):
+
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh system.lt
+
+ # This will generate various files with names ending in *.in* and *.data.
+ # These files are the input files directly read by LAMMPS. Move them to
+ # the parent directory (or wherever you plan to run the simulation).
+
+ mv -f system.in* system.data ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/README_visualize.txt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/README_visualize.txt
new file mode 100644
index 000000000..04ff1f2e7
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/README_visualize.txt
@@ -0,0 +1,77 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ To shift the box by a fraction in the x direction (for example)
+ do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {-0.50 -0.52 0.0 }
+ pbc box -shiftcenterrel {-0.50 -0.52 0.0 }
+
+ # Alternately if you have a solute whose atoms are all of type 1,
+ # then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/images/graphene_unit_cell.jpg b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/images/graphene_unit_cell.jpg
new file mode 100644
index 000000000..12dbf8fca
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/images/graphene_unit_cell.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/images/nanotube+walls+water_side_pbc_t=0ps_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/images/nanotube+walls+water_side_pbc_t=0ps_LR.jpg
new file mode 100644
index 000000000..15d3f189d
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/images/nanotube+walls+water_side_pbc_t=0ps_LR.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/images/nanotube+walls+water_side_pbc_t=108ps_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/images/nanotube+walls+water_side_pbc_t=108ps_LR.jpg
new file mode 100644
index 000000000..298957864
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/images/nanotube+walls+water_side_pbc_t=108ps_LR.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/images/nanotube+walls+water_side_pbc_t=305ps_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/images/nanotube+walls+water_side_pbc_t=305ps_LR.jpg
new file mode 100644
index 000000000..4aa301ce8
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/images/nanotube+walls+water_side_pbc_t=305ps_LR.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/images/nanotube+walls+water_top_nopbc_t=0_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/images/nanotube+walls+water_top_nopbc_t=0_LR.jpg
new file mode 100644
index 000000000..920354c54
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/images/nanotube+walls+water_top_nopbc_t=0_LR.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/images/nanotube+walls_side_nopbc_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/images/nanotube+walls_side_nopbc_LR.jpg
new file mode 100644
index 000000000..aa26f1394
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/images/nanotube+walls_side_nopbc_LR.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/images/nanotube_capillary_bbk_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/images/nanotube_capillary_bbk_LR.jpg
new file mode 100644
index 000000000..9cba53353
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/images/nanotube_capillary_bbk_LR.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/images/water_side_nopbc_LR.jpg b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/images/water_side_nopbc_LR.jpg
new file mode 100644
index 000000000..cdc143510
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/images/water_side_nopbc_LR.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/README.sh b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/README.sh
new file mode 100755
index 000000000..15fe07133
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/README.sh
@@ -0,0 +1,32 @@
+# This is a small version of a carbon-nanotube, water capillary system.
+# It was inspired by this paper:
+#
+# Laurent Joly, J. Chem. Phys. 135(21):214705 (2011)
+#
+# Note: To investigate the behavior from that paper, you would have to increase
+# the spacing between the two graphene sheets to prevent the water from
+# making contact with the lower graphene wall.
+#
+# Requirements: 1) Set your $MOLTEMPLATE_PATH variable
+# 2) The "RIGID" LAMMPS package may be needed later
+# To run this system at constant pressure, it might help to compile LAMMPS with
+# the optional RIGID package, and use "fix rigid" on the carbon. (Optional.)
+#
+# Also, if you have not yet done this set your MOLTEMPLATE_PATH environment
+# variable to access it. (See installation instructions.)
+# Most likely some of the files in this example (like graphene.lt, tip3p2004.lt)
+# are not in this directory, but are in the "force_fields" subdirectory
+# distributed with moltemplate.
+#
+# -----------------------------------------------------------
+#
+# To run moltemplate, use:
+
+moltemplate.sh system.lt
+
+# If you have VMD installed, you can run it this way to visualize the system:
+#
+# moltemplate.sh -vmd system.lt
+#
+# Either way, this will generate the following files (which LAMMPS reads):
+# system.data, system.in, system.in.init, system.in.settings
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/graphene.lt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/graphene.lt
new file mode 100644
index 000000000..3bc476c3a
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/graphene.lt
@@ -0,0 +1,61 @@
+# The minimal unit cell for graphine contains only 2 atoms:
+# (which I arbitrarily named "C1" and "C2")
+
+Graphene {
+
+ # atomID molID atomType charge x y z
+ write("Data Atoms") {
+ $atom:C1 $mol:... @atom:C 0.0 -0.61487803668695 -0.355 0.0000
+ $atom:C2 $mol:... @atom:C 0.0 0.61487803668695 0.355 0.0000
+ }
+
+ # Now define the "C" atom type
+ write_once("Data Masses") {
+ @atom:C 12.0
+ }
+ write_once("In Settings") {
+ # i j epsilon sigma
+ pair_coeff @atom:C @atom:C lj/cut/coul/long 0.068443 3.407
+
+ # The Lennard-Jones parameters above were chosen to realistically model
+ # the interaction between graphene and water
+ # R. Saito, R. Matsuo, T. Kimura, G. Dresselhaus, M.S. Dresselhaus,
+ # Chem Phys Lett, 348:187 (2001)
+ # NOTE: If you want to simulate movement of the carbon atoms, then you must
+ # choose a more appropriate force field for the carbon atoms, such as
+ # AIREBO or Tersoff. You can do this by editing the "pair_coeff" above.
+ # (The paper by C.F. Cornwell, C.R. Welch, J. Chem. Phys. (2011), Vol 134,
+ # demonstrates how to use the AIREBO potential in LAMMPS.)
+
+ # Define a group consisting of only carbon atoms in graphene molecules
+ group Cgraphene type @atom:C
+ }
+ write_once("In Init") {
+ # -- Default styles (used in this file for graphene carbon) --
+ units real
+ atom_style full #(full enables you to to add other molecules later)
+ pair_style hybrid lj/cut/coul/long 10.0
+ }
+} # Graphene
+
+
+
+
+# This is a 2-dimensional hexagonal unit cell. The unit vectors are:
+#
+# (2.4595121467478, 0, 0)
+# (1.2297560733739, 2.13, 0)
+#
+# You can create a sheet of single-layer graphene this way:
+#
+# small_crystal = new Graphene [3].move(2.45951214, 0, 0)
+# [3].move(1.229756, 2.13, 0)
+#
+# For thicker sheets, follow the instructions in the "graphite.lt" file.
+#
+# Note: The length of each carbon-carbon bond is currently 1.42 Angstroms.
+# To increase it to 1.422 Angstroms, uncomment the following line:
+#
+# Graphene.scale(1.0014084507042254) # 1.0014084507042254 = 1.422 / 1.42
+#
+# You will have to change the unit cell lattice vectors (see above) accordingly
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/graphene_walls.lt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/graphene_walls.lt
new file mode 100644
index 000000000..888b9cce8
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/graphene_walls.lt
@@ -0,0 +1,57 @@
+
+import "graphene.lt"
+
+# -------------- graphene sheet -----------------
+
+# Notes:
+# Hexagonal lattice with:
+# d = length of each hexagonal side = 1.42 Angstroms
+# L = length of each hexagon = 2*d = 2.84 Angstroms
+# W = width of each hexagon = 2*d*sqrt(3)/2 = 2.4595121467478 Angstroms
+# w = width of hexagon rows = 1.5*d = 2.13 Angstroms
+
+Wall {
+ unitcells = new Graphene [14].move(1.2297560733739, 2.13, 0)
+ [13].move(2.4595121467478, 0, 0)
+
+ unitcells[*][*].move(-24.595121467478, -14.91, 0.000)
+
+ # Now cut a hole in the graphene sheet roughly where the nanotube is located
+ delete unitcells[5][7-8] # delete 2 unit cells (2 atoms each, 4 atoms total)
+ delete unitcells[6][6-8] # delete 3 unit cells (2 atoms each, 6 atoms total)
+ delete unitcells[7][5-8] # delete 4 unit cells (2 atoms each, 8 atoms total)
+ delete unitcells[8][5-7] # delete 3 unit cells (2 atoms each, 6 atoms total)
+ delete unitcells[9][5-6] # delete 2 unit cells (2 atoms each, 4 atoms total)
+ # Optional fine tuning: delete a few additional atoms around the edges
+ delete unitcells[5][6]/C2 # delete a single atom
+ delete unitcells[6][5]/C2 # delete a single atom
+ delete unitcells[6][9]/C1 # delete a single atom
+ delete unitcells[8][4]/C2 # delete a single atom
+ delete unitcells[8][8]/C1 # delete a single atom
+ delete unitcells[9][7]/C1 # delete a single atom
+}
+
+# Make two copies of the wall, and place them on either end of the nanotube
+
+wall1 = new Wall.move(0, 0, 32.0)
+wall2 = new Wall.move(0, 0, 58.26)
+
+# WARNING: A reader has pointed out :
+# THIS IS NOT A REALISTIC MODEL OF A GRAPHENE-NANOTUBE JUNCTION.
+# A real junction would likely be curved near the boundary,
+# not a 90 degree junction. (Although both graphene and nanotubes
+# consist of hexagons of carbon atoms, you would need 6 heptagons
+# near the junction between the nanotube and the graphene
+# to account for the negative Gaussian curvature there).
+# To solve this problem:
+# Moltemplate allows you to move, add, customize or delete individual
+# atoms near the boundary. You can move atoms by overwriting their
+# coordinates using additional write("Data Atoms") statements (after
+# the walls and tube are created). You can also adjust their partial charge.
+# Alternately, you could start with the structure provided here, add or delete
+# atoms if necessary, and relax/minimize the coordinates of the carbon
+# atoms using LAMMPS. You could also run a high temperature annealing
+# simulation to relax their positions. If it helps, the AIREBO
+# force-field has used in LAMMPS to simulate carbon nanotubes breaking:
+# http://scitation.aip.org/content/aip/journal/jcp/134/20/10.1063/1.3594197
+# http://lammps.sandia.gov/pictures.html#cnt
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/graphite.lt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/graphite.lt
new file mode 100644
index 000000000..49fb49fb0
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/graphite.lt
@@ -0,0 +1,61 @@
+import "graphene.lt" # defines "Graphene"
+
+
+# ------------ Graphite -----------
+#
+# Note: For graphite: sheets stacked in the Z direction are separated by a
+# distance of 3.35 Angstroms, and shifted in an alternating +/-Y direction
+# by a distance of d (1.42 Angstroms). To add additional graphene layers
+# you could use:
+# sheet2 = new Graphene [10].move(2.4595121467478,0,0)
+# [10].move(1.2297560733739,2.13,0)
+# sheet2[*][*].move(0, 1.42, 3.35)
+# sheet3 = new Graphene [10].move(2.4595121467478,0,0)
+# [10].move(1.2297560733739,2.13,0)
+# sheet3[*][*].move(0, -1.42, 6.70)
+# etc...
+#
+# This should work fine.
+# However, to build a thick sheet of graphite, it may be less trouble
+# to use a 4-atom unit cell which includes two graphene layers.
+# Here is one way to do that:
+
+Graphite inherits Graphene {
+
+ # This allows us to access access the "@atom:C" carbon atom type
+ # whose properties are defined in the "Graphene" object (see "graphene.lt").
+ # That atom is NOT globally defined. It belongs to the "Graphene" object.
+ # This is one way to access it. Alternately, you could redefine it here
+
+ # atomID molID atomType charge x y z
+ write("Data Atoms") {
+ $atom:C1 $mol:... @atom:C 0.0 -0.61487803668695 -0.355 0.0
+ $atom:C2 $mol:... @atom:C 0.0 0.61487803668695 0.355 0.0
+ $atom:C3 $mol:... @atom:C 0.0 -0.61487803668695 1.065 3.35
+ $atom:C4 $mol:... @atom:C 0.0 0.61487803668695 1.775 3.35
+ }
+
+ # Note: The first two lines in the "Data Atoms" section override the positions
+ # of the $atom:C1 and $atom:C2 atoms previously defined in "Graphene"
+ # (which this object inherits). This is okay.
+
+} # Graphite
+
+
+
+
+
+
+# This is a 3-dimensional hexagonal unit cell. The unit vectors are:
+#
+# (2.4595121467478, 0, 0 )
+# (1.2297560733739, 2.13, 0 )
+# ( 0, 0, 6.70)
+
+# Then you could create a thick sheet of graphite this way:
+#
+# graphite = new Graphite [10].move(2.4595121467478,0,0)
+# [10].move(1.2297560733739,2.13,0)
+# [5].move(0,0,6.70)
+#
+# (Your graphite slab will contain an even number of graphene sheets.)
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/nanotube.lt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/nanotube.lt
new file mode 100644
index 000000000..06a5e9433
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/nanotube.lt
@@ -0,0 +1,101 @@
+import "graphene.lt"
+
+# The "Graphene" unit cell defined in "graphene.lt" lies in the XY plane.
+# In the next line, we will create a new version of the graphene unit cell
+# which lies in the XZ plane, by rotating Graphene 90 degrees around the X axis:
+
+GrapheneXZ = Graphene.rot(90,1,0,0)
+
+# ------------------ nanotube ---------------
+
+# Now use this to build a simple ("zigzag") nanotube where the long-axis of each
+# hexagon is aligned with the tube axis (along the Z direction). If the
+# cicumference of a "zigzag" nanotube contains N hexagons, then the radius of
+# the tube, R=(W/4)/tan((2*pi)/(4*N)), where W=2*d*sqrt(3)/2, and d = the carbon
+# bond length. If N=14 and d=1.42 Ansgroms then R=5.457193512764 Angstroms
+# In the Joly 2011 paper, the tube radii varied between 5.14 and 18.7 Angstroms.
+
+
+
+nanotube = new GrapheneXZ.move(0, 5.457193512764, 0) # 5.45 = R
+ [14].rot(25.7142857,0,0,1) #25.7=360/14
+ [12].rot(12.8571429,0,0,1).move(0, 0, 2.13) #12.9=180/14
+ #2.13= d*1.5
+
+
+ # Note: The length is 12 hexegons, the circumference is
+ # 14 hexegons (~=25.56 and 34.43 Angstroms, respectively).
+
+
+# Move all of the unit-cells in the nanotube between the two graphene sheets.
+
+nanotube[*][*].move(0, 0, 33.42)
+
+
+
+
+
+# ---------- BUILDING CHIRAL NANOTUBES USING EXTERNAL SOFTWARE -------------
+#
+# The approach shown here works well for "zig-zag" nanotubes.
+# Nanotubes with other chiralities are more difficult to make this way
+# (because the tube axis is no longer perpendicular to graphene basis vectors).
+# For those nanotubes, I recommend using an external program to generate
+# a LAMMPS data file for the nanotube. If you want to combine the tube
+# with other molecules created by moltemplate, you can then import it into
+# moltemplate as a molecule object using the "ltemplify.py" utility. Details:
+#
+# --- VMD plugins (by Axel Kohlmeyer and Robert R. Johnson) ---
+#
+# The nanotube-builder for VMD can generate nanotubes (with smooth tips)
+# for any chirality. These tubes also have explicit bonds between carbons:
+# http://www.ks.uiuc.edu/Research/vmd/plugins/nanotube/
+#
+# The resulting nanotube can be converted to a data file using topotools:
+# https://sites.google.com/site/akohlmey/software/topotools
+# To do that, select the "Extensions"->"Tk Console" menu and enter
+#
+# topo writelammpsdata nanotube.data full
+#
+# --- ltemplify.py ---
+#
+# That data file can be converted to moltemplate format (an .LT file)
+# using the "ltemplify.py" utility.
+#
+# The first step is to create a short input script containing the atom_style
+# command (ltemplify.py will read this script. Presumably atom_style is "full").
+#
+# echo "atom_style full" > nanotube.in
+#
+# Then run ltemplify to convert nanotube.data into a moltemplate file:
+# ltemplify.py -name Nanotube nanotube.in nanotube.data > nanotube.lt
+#
+# You will need to edit the "nanotube.lt" file to replace all of the
+# "@atom:type1" atoms types file to match the carbon atom types in the other lt
+# files (ie "@atom:../C"). If you don't plan on defining bonded interactions
+# between carbon atoms, then be sure to remove the write("Data Bonds") section
+# of the "nanotube.lt" file (if it is present).
+#
+# Finally make sure the "system.lt" contains these lines:
+#
+# import "nanotube.lt"
+# nanotube = new Nanotube.move(?,?,?)
+#
+# (Replace ?,?,? with the location where you want the nanotube to go.
+# You can also rotate it using .rot(angle,axisx,axisy,axiz).)
+#
+# ... and then run moltemplate the normal way
+#
+# Let me know if you run into trouble with this approach,
+# and I will make note of that in this file.
+#
+# --- links ---
+# Note: there are numerous programs for specifying the coordinates
+# of the atoms in a nanotube, some of which are below.
+# http://www.nanotube.msu.edu/tubeASP/
+# http://turin.nss.udel.edu/research/tubegenonline.html
+# http://www.ugr.es/~gmdm/java/contub/contub.html
+# (You can load coordinates into moltemplate using the "-xyz" or "-pdb"
+# arguments. However currently (2013-12-01), the file must contain coordinates
+# for all of the atoms in your sytem, not just the nanotube.)
+# -------------------------------------------------------------------------
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/spce.lt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/spce.lt
new file mode 100644
index 000000000..e1bf2390a
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/spce.lt
@@ -0,0 +1,52 @@
+# file "spce.lt"
+#
+# H1 H2
+# \ /
+# O
+
+SPCE {
+
+ write("Data Atoms") {
+ $atom:O $mol:. @atom:O -0.8476 0.0000000 0.00000 0.000000
+ $atom:H1 $mol:. @atom:H 0.4238 0.8164904 0.00000 0.5773590
+ $atom:H2 $mol:. @atom:H 0.4238 -0.8164904 0.00000 0.5773590
+ }
+
+ write_once("Data Masses") {
+ @atom:O 15.9994
+ @atom:H 1.008
+ }
+
+ write("Data Bonds") {
+ $bond:OH1 @bond:OH $atom:O $atom:H1
+ $bond:OH2 @bond:OH $atom:O $atom:H2
+ }
+
+ write("Data Angles") {
+ $angle:HOH @angle:HOH $atom:H1 $atom:O $atom:H2
+ }
+
+ write_once("In Settings") {
+ bond_coeff @bond:OH harmonic 600.0 1.0
+ angle_coeff @angle:HOH harmonic 75.0 109.47
+ pair_coeff @atom:O @atom:O lj/cut/coul/long 0.1553 3.166
+ pair_coeff @atom:H @atom:H lj/cut/coul/long 0.0 2.058
+ group spce type @atom:O @atom:H
+ fix fShakeSPCE spce shake 0.0001 10 100 b @bond:OH a @angle:HOH
+ # (Remember to "unfix" fShakeSPCE during minimization.)
+ }
+
+ write_once("In Init") {
+ # -- Default styles (for solo "SPCE" water) --
+ units real
+ atom_style full
+ # (Hybrid force fields were not necessary but are used for portability.)
+ pair_style hybrid lj/cut/coul/long 9.0
+ bond_style hybrid harmonic
+ angle_style hybrid harmonic
+ kspace_style pppm 0.0001
+ #pair_modify mix arithmetic # LEAVE THIS UNSPECIFIED!
+ }
+
+} # end of definition of "SPCE" water molecule type
+
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/system.lt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/system.lt
new file mode 100644
index 000000000..d7c610fc0
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/system.lt
@@ -0,0 +1,29 @@
+# This is a small version of a carbon-nanotube, water capillary system. It was
+# inspired by this paper: Laurent Joly, J. Chem. Phys. 135(21):214705 (2011)
+
+import "graphene_walls.lt"
+
+import "nanotube.lt"
+
+import "water_box.lt"
+
+
+# ------------ boundary conditions ------------
+
+write_once("Data Boundary") {
+ -15.98682895386 15.98682895386 xlo xhi
+ -14.91 14.91 ylo yhi
+ -31.0 31.00 zlo zhi
+}
+
+# ---------------------------------------------
+
+write_once("In Settings") {
+ # --- We must eventually specify the interactions between the atoms ---
+ # --- in different molecule types (graphene-water interactions). ---
+ # (See Laurent Joly, J. Chem. Phys. 135(21):214705 (2011) for details
+
+ pair_coeff @atom:Graphene/C @atom:SPCE/O lj/cut/coul/long 0.114 3.28
+ pair_coeff @atom:Graphene/C @atom:SPCE/H lj/cut/coul/long 0.0 3.28
+}
+
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/water_box.lt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/water_box.lt
new file mode 100644
index 000000000..c825276f5
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/water_box.lt
@@ -0,0 +1,20 @@
+import "spce.lt"
+
+# --------------- water ------------------
+
+# Create a rhombohedral box of water. (A rectangular box works also.)
+
+wat = new SPCE [9].move(3.5526287, 0, 0 )
+ [9].move(1.77631435, 3.3133, 0 )
+ [6].move( 0, 0, 3.45)
+
+# Optional: Center the water box at the origin. (Not really necessary.)
+
+wat[*][*][*].move(-23.9802437, -14.90985, 11.47)
+
+# --------------- Note: -----------------
+# The spacing between water molecules does not matter much as long as it is
+# reasonable. (I adjusted the spacing try to insure that the waters are spread
+# uniformly throughout the box. We do not want bubles to form if there are
+# gaps near the XY periodic boundaries.) We will have to equilibrate it later.
+
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/watmw.lt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/watmw.lt
new file mode 100644
index 000000000..c7aaecebb
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/moltemplate_files/watmw.lt
@@ -0,0 +1,54 @@
+# This file stores LAMMPS data for the "mW" water model.
+# (Molinero, V. and Moore, E.B., J. Phys. Chem. B 2009, 113, 4008-4016)
+#
+# In this model, each water molecule is represented by a single "mW" particle.
+# These particles interact with their neighbors via 3-body Stillinger-Weber
+# forces whose parameters are tuned to mimic directional hydrogen-bonding
+# in liquid water (as well as hexagonal ice, type II ice, and
+# low-density super-cooled liquid/amorphous water phases).
+
+WatMW {
+ write("Data Atoms") {
+ $atom:mW $mol:. @atom:mW 0.0 0.0 0.0 0.0
+ }
+
+ write_once("Data Masses") {
+ @atom:mW 18.02
+ }
+
+ write_once("system.in.sw") {
+ mW mW mW 6.189 2.3925 1.8 23.15 1.2 -0.333333333 7.049556277 0.602224558 4 0 0
+ }
+
+ write_once("In Init") {
+ # -- Default styles for "WatMW" --
+ units real
+ pair_style sw
+ }
+
+ write_once("In Settings") {
+ # --Now indicate which atom type(s) are simulated using the "sw" pair style
+ # -- In this case only one of the atom types is used (the mW water "atom").
+
+ pair_coeff * * sw system.in.sw mW NULL NULL NULL
+
+ # -- Unfortunately LAMMPS itself does not understand molemlate syntax, so
+ # -- the atoms are identified by order in the list, not by name. (The "mW"
+ # -- refers to to an identifier in the system.in.sw file, not watmw.lt.)
+ # -- This command says that the first atom type corresponds to the "mW"
+ # -- atom in system.in.sw, and to ignore the remaining three atom types
+ # -- (correspond to the CH2, CH3, CH4 atom types defined in trappe1998.lt.
+ # -- We don't want to use the "sw" force field for interactions involving
+ # -- these atom types, so we put "NULL" there.)
+ # -- Note: For this to work, you should probably run moltemplate this way:
+ # -- moltemplate.sh -a "@atom:WatMW/mW 1" system.lt
+ # -- This assigns the atom type named @atom:WatMW/mW to 1 (the first atom)
+ }
+
+ # -- optional --
+
+ write_once("In Settings") {
+ group WatMW type @atom:mW #(Atoms of this type belong to the "WatMW" group)
+ }
+
+} # WatMW
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/run.in.npt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/run.in.npt
new file mode 100644
index 000000000..2728a1f5a
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/run.in.npt
@@ -0,0 +1,147 @@
+# PREREQUISITES:
+#
+# You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (You do not need to run LAMMPS to equilibrate the system before
+# using this file.)
+#
+# Requirements:
+# To run this system at constant pressure, it might help to compile LAMMPS with
+# the optional RIGID package, and use "fix rigid" on the carbon. (Optional.)
+# The use of fix rigid is controversial. This method is demonstrated below.
+# THIS EXAMPLE HAS NOT BEEN RIGOROUSLY TESTED. This simulation may fail.
+# (However the "run.in.nvt" example in this directory should work.)
+# ------------------------------- Initialization Section --------------------
+
+include system.in.init
+
+# ------------------------------- Atom Definition Section -------------------
+
+read_data system.data
+
+# ------------------------------- Settings Section --------------------------
+
+include system.in.settings
+
+# Use "neigh_modify" to turn off calculation of interactions between immobilized
+# atoms. (Note: group "cGraphene" was defined in the file "system.insettings")
+neigh_modify exclude group Cgraphene Cgraphene
+
+# ------------------------------- Run Section -------------------------------
+
+
+# Only the Cgraphene atoms are immobile.
+group mobile subtract all Cgraphene
+
+# (Note: The "Cgraphene" group was defined in system.in.settings.)
+
+
+# Unfortunately you can not use the LAMMPS "minimize" command on this system
+# because there is no way to immobilize the carbon graphene & nanotube atoms
+# during minimization. Instead, we can use langevin dynamics with a fast
+# damping parameter and a small timestep.
+
+print "--------- beginning minimization (using fix langevin) ---------"
+
+timestep 0.1
+fix fxlan mobile langevin 1.0 1.0 100.0 48279
+fix fxnve mobile nve # <-- needed by fix langevin (see lammps documentation)
+thermo 100
+run 2500
+
+unfix fxlan
+unfix fxnve
+
+# -- simulation protocol --
+
+print "--------- beginning simulation (using fix nvt) ---------"
+
+dump 1 all custom 1000 traj_npt.lammpstrj id mol type x y z ix iy iz
+
+thermo_style custom step temp pe etotal press vol epair ebond eangle edihed
+thermo 200 # time interval for printing out "thermo" data
+
+
+
+
+
+# ------------------------- NPT ---------------------------
+
+
+# ------ QUESTIONABLE (see below): ------
+
+fix Ffreezestuff Cgraphene rigid single force * off off off torque * off off off
+
+# Comment:
+# The use of "fix rigid" to immobilize an object is somewhat controversial.
+# Feel free to omit it.
+# (Neither Trung or Steve Plimpton use fix rigid for immobilizing
+# molecules, but I noticed that at NPT, it does a better job of maintaining
+# the correct volume. However "fix rigid" has changed since then (2011),
+# so this may no longer be true. Please use this example with caution.)
+
+
+
+# Thermostat+Barostat
+# Set temp=300K, pressure=200bar, and equilibrate volume only in the z direction
+
+fix fxMoveStuff mobile npt temp 300 300 100 z 200 200 1000.0 dilate mobile drag 2.0
+
+# ----------------------------------------
+
+# The next two lines recalculate the temperature using
+# only the mobile degrees of freedom (ie. water atom velocities):
+
+compute tempMobile mobile temp
+compute pressMobile all pressure tempMobile
+
+thermo_style custom step c_tempMobile c_pressMobile temp press vol
+
+fix_modify fxMoveStuff temp tempMobile
+
+reset_timestep 0
+
+timestep 0.25
+
+run 100000
+
+timestep 0.5
+
+run 200000
+
+# Hopefully the barostat is no longer oscillating. Increase the timestep and
+# also get get rid of "drag 2.0". (A non-zero drag parameter will result in
+# unrealistic fluctuations of volume under NPT conditions.)
+# drag 2.0 <-- commenting out
+#
+# Set temp=300K, pressure=0bar, and equilibrate volume only in the z direction
+unfix fxMoveStuff
+fix fxMoveStuff mobile npt temp 300 300 100 z 0 0 1000.0 dilate mobile
+fix_modify fxMoveStuff temp tempMobile
+
+timestep 0.5
+
+run 1000000
+
+write_data system_after_npt.data
+
+# (The "write_restart" and "read_restart" commands were buggy in 2012,
+# but they should work also.)
+
+
+
+
+
+
+
+# ----- Comment: Avoid using fix rigid/npt on large single rigid objects -----
+#
+# Use of the following is not recommended:
+#
+# fix Ffreezestuff Cgraphene rigid/npt single temp 300 300 100 z 200 200 1000.0 force * off off off torque * off off off dilate mobile
+# (temp=300K, pressure=200bar, and equilibrate volume only in the z direction)
+#
+# In my experience, the system becomes unstable when applying "fix rigid/npt"
+# to the immobile atoms, while also applying "fix npt" on the solvent atoms.
+# (It is probably a bad idea to use two barostats simultaneously.)
+# ----------------------------------------------------------------------------
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/run.in.nvt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/run.in.nvt
new file mode 100644
index 000000000..86253c45b
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/nanotube+water/run.in.nvt
@@ -0,0 +1,78 @@
+# PREREQUISITES:
+#
+# You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (You do not need to run LAMMPS to equilibrate the system before
+# using this file.)
+
+# ----------------------------- Initialization Section --------------------
+
+include system.in.init
+
+
+# ----------------------------- Atom Definition Section -------------------
+
+read_data system.data
+
+
+# ----------------------------- Settings Section --------------------------
+
+include system.in.settings
+
+# Use "neigh_modify" to turn off calculation of interactions between immobilized
+# atoms. (Note: group "cGraphene" was defined in the file "system.insettings")
+neigh_modify exclude group Cgraphene Cgraphene
+
+# ----------------------------- Run Section -------------------------------
+
+
+
+# Only the Cgraphene atoms are immobile.
+group mobile subtract all Cgraphene
+
+# (Note: The "Cgraphene" group was defined in system.in.settings.)
+
+
+
+# -- minimization protocol --
+
+# Unfortunately you can not use the LAMMPS "minimize" command on this system
+# because there is no way to immobilize the carbon graphene & nanotube atoms
+# during minimization. Instead, we can use langevin dynamics with a fast
+# damping parameter and a small timestep.
+
+print "--------- beginning minimization (using fix langevin) ---------"
+
+timestep 0.1
+fix fxlan mobile langevin 1.0 1.0 100.0 48279
+fix fxnve mobile nve # <-- needed by fix langevin (see lammps documentation)
+thermo 100
+run 2500
+
+unfix fxlan
+unfix fxnve
+
+# -- simulation protocol --
+
+print "--------- beginning simulation (using fix nvt) ---------"
+
+dump 1 all custom 1000 traj_nvt.lammpstrj id mol type x y z ix iy iz
+
+thermo_style custom step temp pe etotal press vol epair #ebond eangle edihed
+thermo 500 # time interval for printing out "thermo" data
+
+# Integrate the equations of motion:
+fix fxMoveStuff mobile nvt temp 300.0 300.0 100.0
+
+# The next two lines recalculate the temperature
+# using only the mobile degrees of freedom:
+
+compute tempMobile mobile temp
+fix_modify fxMoveStuff temp tempMobile
+
+
+timestep 2.0
+run 5000000
+
+write_data system_after_nvt.data
+
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/README_run.sh b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/README_run.sh
new file mode 100755
index 000000000..6f66c68f1
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/README_run.sh
@@ -0,0 +1,33 @@
+# --- Running LAMMPS ---
+# -- Prerequisites: --
+# The 2 files "run.in.npt", and "run.in.nvt" are LAMMPS
+# input scripts which link to the input scripts and data files
+# you hopefully have created earlier with moltemplate.sh:
+# system.in.init, system.in.settings, system.data
+# If not, carry out the instructions in "README_setup.sh".
+#
+# -- Instructions: --
+# If "lmp_mpi" is the name of the command you use to invoke lammps,
+# then you would run lammps on these files this way:
+
+
+lmp_mpi -i run.in.npt # minimization and simulation at constant pressure
+
+# or
+
+lmp_mpi -i run.in.nvt # minimization and simulation at constant volume
+
+#(Note: The constant volume simulation lacks pressure equilibration. These are
+# completely separate simulations. The results of the constant pressure
+# simulation are ignored when beginning the simulation at constant volume.
+# This can be fixed. Read "run.in.nvt" for equilibration instructions.)
+
+
+
+
+
+# If you have compiled the MPI version of lammps, you can run lammps in parallel
+#mpirun -np 4 lmp_mpi -i run.in.npt
+# or
+#mpirun -np 4 lmp_mpi -i run.in.nvt
+# (assuming you have 4 processors available)
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/README_setup.sh b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/README_setup.sh
new file mode 100755
index 000000000..68cad16a7
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/README_setup.sh
@@ -0,0 +1,23 @@
+# Use these commands to generate the LAMMPS input script and data file
+# (and other auxilliary files):
+
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh -atomstyle full system.lt
+
+ # This will generate various files with names ending in *.in* and *.data.
+ # These files are the input files directly read by LAMMPS. Move them to
+ # the parent directory (or wherever you plan to run the simulation).
+
+ mv -f system.in* system.data ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/README_visualize.txt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/README_visualize.txt
new file mode 100644
index 000000000..a3e3ed620
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0}
+ pbc box -shiftcenterrel {0.0 0.15 0.0}
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/images/Cl.jpg b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/images/Cl.jpg
new file mode 100644
index 000000000..5261bedc2
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/images/Cl.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/images/Na.jpg b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/images/Na.jpg
new file mode 100644
index 000000000..78c4056f8
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/images/Na.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/images/wat.jpg b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/images/wat.jpg
new file mode 100644
index 000000000..60aaf90b9
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/images/wat.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/images/waterSPCE+Na+Cl_t=0.jpg b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/images/waterSPCE+Na+Cl_t=0.jpg
new file mode 100644
index 000000000..2c34754c4
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/images/waterSPCE+Na+Cl_t=0.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/images/waterSPCE+Na+Cl_t=100ps.jpg b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/images/waterSPCE+Na+Cl_t=100ps.jpg
new file mode 100644
index 000000000..220a71727
Binary files /dev/null and b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/images/waterSPCE+Na+Cl_t=100ps.jpg differ
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/moltemplate_files/ions.lt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/moltemplate_files/ions.lt
new file mode 100644
index 000000000..8d3634125
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/moltemplate_files/ions.lt
@@ -0,0 +1,67 @@
+# We define two molecule classes to represent Na+ and Cl- ions, respectively.
+# This may seem like overkill since they both only consist of one atom each.
+
+
+# Note: Monovalent ion parameters for Ewald and SPC/E water
+# are from: Joung & Cheatham JPCB (2008)
+# These Lennard Jones parameters match the parameters for ions
+# in SPC/E water in the "frcmod.ionsjc_spce" file distributed
+# with Amber (the 2010 version).
+
+
+NaIon {
+
+ # The epsilong & sigma parameters from that paper were 0.3526418 & 1.212.
+ # However sigma must be divided by 2^(1/6), because they use the alternate
+ # Lennard-Jones convention: U(r)=epsilon*((s/r)^12 - 2*(s/r)^6), and
+ # pair_style lj/charmm/coul/long uses U(r)=4*epsilon*((s/r)^12 - (s/r)^6)
+ # (Note: This change does not effect the epsilon parameter.)
+
+ write_once("In Settings") {
+ pair_coeff @atom:Na @atom:Na lj/charmm/coul/long 0.3526418 1.079769246386
+ }
+
+ write_once("Data Masses") {
+ @atom:Na 22.9898
+ }
+
+ # assumes "full" atom style
+ write("Data Atoms") {
+ $atom:Na $mol @atom:Na 1.0 0.00000 0.00000 0.000000
+ }
+} # NaIon
+
+
+ClIon {
+ write_once("In Settings") {
+ pair_coeff @atom:Cl @atom:Cl lj/charmm/coul/long 0.0127850 2.711
+ }
+
+ write_once("Data Masses") {
+ @atom:Cl 35.453
+ }
+
+ # assumes "full" atom style
+ write("Data Atoms") {
+ $atom:Cl $mol @atom:Cl -1.0 0.00000 0.00000 0.000000
+ }
+} # ClIon
+
+
+write_once("In Init") {
+ # -- Default styles for ions --
+ units real
+ atom_style full
+ # (Hybrid force fields were not necessary but are used for portability.)
+ pair_style hybrid lj/charmm/coul/long 9.0 10.0 10.0
+ kspace_style pppm 0.0001
+ pair_modify mix arithmetic
+}
+
+# Optional: Define a group named "ions" consisting of either Na or Cl ions.
+write_once("In Settings") {
+ group ionNa type @atom:NaIon/Na @atom:NaIon/Na
+ group ionCl type @atom:ClIon/Cl @atom:ClIon/Cl
+ group ions type @atom:NaIon/Na @atom:ClIon/Cl
+}
+
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/moltemplate_files/spce.lt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/moltemplate_files/spce.lt
new file mode 100644
index 000000000..019911c19
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/moltemplate_files/spce.lt
@@ -0,0 +1,52 @@
+# file "spce.lt"
+#
+# H1 H2
+# \ /
+# O
+
+SPCE {
+
+ write_once("In Init") {
+ # -- Default styles (for solo "SPCE" water) --
+ units real
+ atom_style full
+ # (Hybrid force fields were not necessary but are used for portability.)
+ pair_style hybrid lj/charmm/coul/long 9.0 10.0 10.0
+ bond_style hybrid harmonic
+ angle_style hybrid harmonic
+ kspace_style pppm 0.0001
+ pair_modify mix arithmetic
+ }
+
+ write("Data Atoms") {
+ $atom:O $mol:. @atom:O -0.8476 0.0000000 0.00000 0.000000
+ $atom:H1 $mol:. @atom:H 0.4238 0.8164904 0.00000 0.5773590
+ $atom:H2 $mol:. @atom:H 0.4238 -0.8164904 0.00000 0.5773590
+ }
+
+ write_once("Data Masses") {
+ @atom:O 15.9994
+ @atom:H 1.008
+ }
+
+ write("Data Bonds") {
+ $bond:OH1 @bond:OH $atom:O $atom:H1
+ $bond:OH2 @bond:OH $atom:O $atom:H2
+ }
+
+ write("Data Angles") {
+ $angle:HOH @angle:HOH $atom:H1 $atom:O $atom:H2
+ }
+
+ write_once("In Settings") {
+ bond_coeff @bond:OH harmonic 1000.0 1.0
+ angle_coeff @angle:HOH harmonic 1000.0 109.47
+ pair_coeff @atom:O @atom:O lj/charmm/coul/long 0.1553 3.166
+ pair_coeff @atom:H @atom:H lj/charmm/coul/long 0.0 2.058
+ group spce type @atom:O @atom:H
+ fix fShakeSPCE spce shake 0.0001 10 100 b @bond:OH a @angle:HOH
+ # (Remember to "unfix" fShakeSPCE during minimization.)
+ }
+
+} # end of definition of "SPCE" water molecule type
+
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/moltemplate_files/system.lt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/moltemplate_files/system.lt
new file mode 100644
index 000000000..af3879502
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/moltemplate_files/system.lt
@@ -0,0 +1,50 @@
+import "spce.lt" # <- This defines the SPCE water molecule. This file is
+ # located in the "force_fields" subdirectory
+ # distributed with moltemplate
+
+import "ions.lt" # <- This defines the ions "NaIon" and "ClIon".
+
+# Periodic boundary conditions:
+write_once("Data Boundary") {
+ 0.0 34.50 xlo xhi
+ 0.0 34.50 ylo yhi
+ 0.0 34.50 zlo zhi
+}
+
+
+# The next command generates a (rather dense) cubic lattice with
+# spacing 3.45 Angstroms. (The pressure must be equilibrated later.)
+
+wat = new SPCE [10].move(0.00, 0.00, 3.45)
+ [10].move(0.00, 3.45, 0.00)
+ [10].move(3.45, 0.00, 0.00)
+
+# We now create a 2x2x2 lattice of Na+ and Cl- ions:
+
+na = new NaIon [2].move(0,0,17.25)
+ [2].move(0,17.25,0)
+ [2].move(17.25,0,0)
+
+
+cl = new ClIon [2].move(0,0,17.25)
+ [2].move(0,17.25,0)
+ [2].move(17.25,0,0)
+
+na[*][*][*].move(5.175,5.175,5.6)
+cl[*][*][*].move(12.075,12.075,12.5)
+
+# (The (5.175,5.175,5.175) and (12.075,12.075,12.075) translational shifts
+# prevent the Na and Cl ions from overlapping
+# with the water molecules or each other.)
+
+
+# Comment: Fortunately the ions and the water in this example share the
+# same force-field styles (so their was no need to use "hybrid" styles).
+# If this were not the case, you might need to add something like this.
+#
+# write_once("In Init") {
+# # -- Styles for the combined system (overrides earlier settings) --
+# pair_style hybrid lj/charmm/coul/long 9.0 10.0 10.0 NEWPAIRSTYLE
+# bond_style hybrid harmonic NEWBONDSTYLE
+# angle_style hybrid harmonic NEWANGLESTYLE
+# }
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/run.in.npt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/run.in.npt
new file mode 100644
index 000000000..9bd2f15f4
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/run.in.npt
@@ -0,0 +1,48 @@
+# PREREQUISITES:
+#
+# You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (See README_setup.sh for details.)
+
+# ------------------------------- Initialization Section --------------------
+
+include system.in.init
+
+# ------------------------------- Atom Definition Section -------------------
+
+read_data system.data
+
+# ------------------------------- Settings Section --------------------------
+
+include system.in.settings
+
+# ------------------------------- Run Section -------------------------------
+
+
+# -- minimization protocol --
+
+# Note: The minimization step is not necessary in this example. However
+# in general, it's always a good idea to minimize the system beforehand.
+# fShakeSPCE was defined in system.in.settings. It is incompatible with "minimize".
+unfix fShakeSPCE
+minimize 1.0e-3 1.0e-5 100000 400000
+# Now read "system.in.settings" in order to redefine fShakeSPCE again:
+include system.in.settings
+
+# -- simulation protocol --
+
+
+timestep 1.0
+dump 1 all custom 200 traj_npt.lammpstrj id mol type x y z ix iy iz
+fix fxnpt all npt temp 300.0 300.0 100.0 iso 1.0 1.0 1000.0 drag 1.0
+thermo 100
+
+run 10000
+
+# Now that the system's temperature has become more equilibrated,
+# we can increase the timestep:
+
+timestep 2.0
+run 50000
+
+write_data system_after_npt.data
diff --git a/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/run.in.nvt b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/run.in.nvt
new file mode 100644
index 000000000..fb0642332
--- /dev/null
+++ b/tools/moltemplate/examples/all_atom/force_field_explicit_parameters/waterSPCE+Na+Cl/run.in.nvt
@@ -0,0 +1,58 @@
+# PREREQUISITES:
+#
+# 1) You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (See README_setup.sh for details.)
+# 2) You must equilibrate the system beforehand using "run.in.npt".
+# This will create the file "system_after_npt.data" which this file reads.
+# (Note: I have not verified that this equilibration protocol works well.)
+
+# ------------------------------- Initialization Section --------------------
+
+include system.in.init
+
+# ------------------------------- Atom Definition Section -------------------
+
+# Read the coordinates generated by an earlier NPT simulation
+
+read_data system_after_npt.data
+
+
+# (The "write_restart" and "read_restart" commands were buggy in 2012,
+# but they should work also. I prefer "write_data" and "read_data".)
+
+# ------------------------------- Settings Section --------------------------
+
+include system.in.settings
+
+# ------------------------------- Run Section -------------------------------
+
+
+# -- minimization protocol --
+# Note: If you are reading the restart file instead of the data file,
+# then you should not need to minimize the system beforehand..
+# fShakeSPCE was defined in system.in.settings.
+# (It is incompatible with "minimize".)
+unfix fShakeSPCE
+minimize 1.0e-5 1.0e-7 100000 400000
+# Now read "system.in.settings" in order to redefine fShakeSPCE again:
+include system.in.settings
+
+# -- simulation protocol --
+
+
+
+timestep 1.0
+dump 1 all custom 500 traj_nvt.lammpstrj id mol type x y z ix iy iz
+fix fxnvt all nvt temp 300.0 300.0 500.0 tchain 1
+thermo 500
+
+run 10000
+
+# Now that the system's temperature has become more equilibrated,
+# we can increase the timestep:
+
+timestep 2.0
+run 50000
+
+write_data system_after_nvt.data
diff --git a/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/README.txt b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/README.txt
new file mode 100644
index 000000000..6b8cc5a17
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/README.txt
@@ -0,0 +1,30 @@
+This example was intended to demonstrate the flexibility of LAMMPS and
+moltemplate.
+
+This is a relatively complex example containing two different types of
+coarse-grained (united-atom) molecules. This simulation uses the 3-body
+(non-pairwise-additive) coarse-grained "mW" water model:
+Molinero, V. and Moore, E.B., J. Phys. Chem. B 2009, 113, 4008-4016
+Simulations using the "mW" water model can be several orders of magnitude
+faster than simulations using simple all-atom models such as SPCE or TIP3P.
+
+The united-atom TraPPE force field was used for the cyclododecane molecules.
+
+Any force-field available in LAMMPS can be used with moltemplate. New force-fields are added by end users regularly. For a current list, see:
+http://lammps.sandia.gov/doc/Section_commands.html#pair-style-potentials
+
+More detailed instructions on how to build LAMMPS input files and
+run a short simulation are provided in other README files.
+
+step 1)
+README_setup.sh
+
+step 2)
+README_run.sh
+
+
+-------- REQUIREMENTS: ---------
+ This example requires the "MANYBODY" package.
+ If lammps complains of a missing pair style enter "make yes-MANYBODY"
+ into the shell before compiling lammps. For details see:
+ http://lammps.sandia.gov/doc/Section_start.html#start_3
diff --git a/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/README_run.sh b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/README_run.sh
new file mode 100755
index 000000000..c2e6bae3b
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/README_run.sh
@@ -0,0 +1,31 @@
+# --- Running LAMMPS ---
+# -- Prerequisites: --
+# The 2 files "run.in.npt", and "run.in.nvt" are LAMMPS
+# input scripts which link to the input scripts and data files
+# you hopefully have created earlier with moltemplate.sh:
+# system.in.init, system.in.settings, system.data, system.in.sw
+# If not, carry out the instructions in "README_setup.sh".
+#
+# -- Instructions: --
+# If "lmp_mpi" is the name of the command you use to invoke lammps,
+# then you would run lammps on these files this way:
+
+
+lmp_mpi -i run.in.npt # minimization and simulation at constant pressure
+lmp_mpi -i run.in.nvt # minimization and simulation at constant volume
+
+#(Note: The constant volume simulation lacks pressure equilibration. These are
+# completely separate simulations. The results of the constant pressure
+# simulation are ignored when beginning the simulation at constant volume.
+# This can be fixed. Read "run.in.nvt" for equilibration instructions.)
+
+
+
+
+
+
+
+# If you have compiled the MPI version of lammps, you can run lammps in parallel
+#mpirun -np 4 lmp_mpi -i run.in.npt
+#mpirun -np 4 lmp_mpi -i run.in.nvt
+# (assuming you have 4 processors available)
diff --git a/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/README_setup.sh b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/README_setup.sh
new file mode 100755
index 000000000..55d633894
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/README_setup.sh
@@ -0,0 +1,30 @@
+
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh -a "@atom:WatMW/mW 1" system.lt
+
+ # Each atom type (eg "mW") must be assigned to an integer (because LAMMPS
+ # does not understand descriptive names). Normally LAMMPS does not care what
+ # these numbers are, however many-body force-fields (used in this example)
+ # are an exception. Here we just want to make sure that the "mW" atom
+ # type is assigned to number "1" so we use -a "@atom:WatMW/mW 1"
+ # (The full-name of the atom is "WatMW/mW", not "mW", because it is part
+ # of the "WatMW" molecule-object. See "watmw.lt" for details.)
+
+
+ # This will generate various files with names ending in *.in* and *.data.
+ # These files are the input files directly read by LAMMPS. Move them to
+ # the parent directory (or wherever you plan to run the simulation).
+
+ mv -f system.in* system.data ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
diff --git a/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/README_visualize.txt b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/README_visualize.txt
new file mode 100644
index 000000000..a3e3ed620
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0}
+ pbc box -shiftcenterrel {0.0 0.15 0.0}
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/images/cyclododecane+watMW_t=0ps_LR.jpg b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/images/cyclododecane+watMW_t=0ps_LR.jpg
new file mode 100644
index 000000000..5123dc7f6
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/images/cyclododecane+watMW_t=0ps_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/images/cyclododecane+watMW_t=400ps_LR.jpg b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/images/cyclododecane+watMW_t=400ps_LR.jpg
new file mode 100644
index 000000000..4003ac5f0
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/images/cyclododecane+watMW_t=400ps_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/images/cyclododecane+watMW_t=50ps_LR.jpg b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/images/cyclododecane+watMW_t=50ps_LR.jpg
new file mode 100644
index 000000000..f1dd1467c
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/images/cyclododecane+watMW_t=50ps_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/images/cyclopentane.jpg b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/images/cyclopentane.jpg
new file mode 100644
index 000000000..6591b236a
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/images/cyclopentane.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/images/cyclopentane_unrelaxed.jpg b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/images/cyclopentane_unrelaxed.jpg
new file mode 100644
index 000000000..9b4ca06fb
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/images/cyclopentane_unrelaxed.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/images/watMW.jpg b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/images/watMW.jpg
new file mode 100644
index 000000000..0ac8c2c01
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/images/watMW.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/moltemplate_files/README.sh b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/moltemplate_files/README.sh
new file mode 100755
index 000000000..1e16d360e
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/moltemplate_files/README.sh
@@ -0,0 +1,11 @@
+# Use this command to generate the LAMMPS input files:
+
+moltemplate.sh -a "@atom:/WatMW/mW 1" system.lt
+
+# The -a argument insures that the "mW" atom type is assigned to "1".
+# (This is necessary for the pair_coeff command to work.
+# See system.lt for details.)
+
+# Note: To get rid of the annoying "atom_style unspecified warnings,
+# use the "-atomstyle" command line argument, as in:
+# moltemplate.sh -atomstyle full -a "@atom:/WatMW/mW 1" system.lt
diff --git a/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/moltemplate_files/cyclododecane.lt b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/moltemplate_files/cyclododecane.lt
new file mode 100644
index 000000000..5c06c60c6
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/moltemplate_files/cyclododecane.lt
@@ -0,0 +1,55 @@
+import "trappe1998.lt"
+
+# The "trappe1998.lt" file is usually located in $MOLTEMPLATE_PATH (and is
+# distributed with moltemplate. See the "Installation" section in the manual.)
+# It contains definitions of the atoms "CH2", "CH3", and "CH4", as well
+# as "saturated" bonds, and the parameters for (bonded/nonbonded)
+# interactions between these atoms (all enclosed within the "TraPPE" namespace).
+
+
+Cyclododecane inherits TraPPE {
+
+ write('Data Atoms') {
+ $atom:C1 $mol:. @atom:CH2 0.0 0.00000 2.94118 0.0
+ $atom:C2 $mol:. @atom:CH2 0.0 0.00000 2.54714 1.47059
+ $atom:C3 $mol:. @atom:CH2 0.0 0.00000 1.47059 2.54714
+ $atom:C4 $mol:. @atom:CH2 0.0 0.00000 0.0 2.94118
+ $atom:C5 $mol:. @atom:CH2 0.0 0.00000 -1.47059 2.54714
+ $atom:C6 $mol:. @atom:CH2 0.0 0.00000 -2.54714 1.47059
+ $atom:C7 $mol:. @atom:CH2 0.0 0.00000 -2.94118 0.0
+ $atom:C8 $mol:. @atom:CH2 0.0 0.00000 -2.54714 -1.47059
+ $atom:C9 $mol:. @atom:CH2 0.0 0.00000 -1.47059 -2.54714
+ $atom:C10 $mol:. @atom:CH2 0.0 0.00000 -0.0 -2.94118
+ $atom:C11 $mol:. @atom:CH2 0.0 0.00000 1.47059 -2.54714
+ $atom:C12 $mol:. @atom:CH2 0.0 0.00000 2.54714 -1.47059
+ }
+
+ # The "." in "$mol:." refers to the current object's molecule ID,
+ # and "@atom:CH2" refers to the "CH2" atom-type defined in "trappe1998.lt"
+
+ write('Data Bonds') {
+ $bond:bond1 @bond:saturated $atom:C1 $atom:C2
+ $bond:bond2 @bond:saturated $atom:C2 $atom:C3
+ $bond:bond3 @bond:saturated $atom:C3 $atom:C4
+ $bond:bond4 @bond:saturated $atom:C4 $atom:C5
+ $bond:bond5 @bond:saturated $atom:C5 $atom:C6
+ $bond:bond6 @bond:saturated $atom:C6 $atom:C7
+ $bond:bond7 @bond:saturated $atom:C7 $atom:C8
+ $bond:bond8 @bond:saturated $atom:C8 $atom:C9
+ $bond:bond9 @bond:saturated $atom:C9 $atom:C10
+ $bond:bond10 @bond:saturated $atom:C10 $atom:C11
+ $bond:bond11 @bond:saturated $atom:C11 $atom:C12
+ $bond:bond12 @bond:saturated $atom:C12 $atom:C1
+ }
+
+} # Cyclododecane
+
+
+# coordinates in the "Data Atoms" section generated by this python code:
+# from math import *
+# bond_length=1.54
+# N=12
+# R=(N*bond_length)/(2*pi)
+# for i in range(0,N):
+# print('$atom:C'+str(i+1)+' $mol:... @atom:CH2 0.0 0.00000 '+
+# str(round(R*cos(i*2*pi/N),5))+' '+str(round(R*sin(i*2*pi/N),5)))
diff --git a/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/moltemplate_files/system.lt b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/moltemplate_files/system.lt
new file mode 100644
index 000000000..4a7063491
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/moltemplate_files/system.lt
@@ -0,0 +1,62 @@
+# This is a relatively complex example containing two different types of
+# molecules, and a hybrid of Lennard-Jones and 3-body SW "pair" styles.
+
+import "watmw.lt"
+import "cyclododecane.lt"
+
+write_once("Data Boundary") {
+ 0.000000 48.000 xlo xhi
+ 0.000000 48.000 ylo yhi
+ 0.000000 48.000 zlo zhi
+}
+
+wat = new WatMW [12].move(0, 0, 4.0)
+ [12].move(0, 4.0, 0)
+ [12].move(4.0, 0, 0)
+
+cyclododecane = new Cyclododecane [4].move(0, 0, 12.0)
+ [4].move(0, 12.0, 0)
+ [4].move(12.0, 0, 0)
+
+# (Move them by (6.0,6.0,6.0) to avoid overlap with the water.)
+cyclododecane[*][*][*].move(6.0,6.0,6.0)
+
+write_once("In Init") {
+ # -- Tell LAMMPS we want to use two different pair styles
+ # -- (This overrides earlier settings.)
+ pair_style hybrid sw lj/charmm/coul/charmm 9.0 11.0 9.0 11.0
+}
+
+
+write_once("In Settings") {
+ # -- Now indicate which atom type(s) are simulated using the "sw" pair style
+ # -- In this case only one of the atom types is used (the mW water "atom").
+
+ pair_coeff * * sw system.in.sw mW NULL NULL NULL
+
+ # -- Unfortunately LAMMPS itself does not understand molemlate syntax, so
+ # -- the atoms are identified by order in the list, not by name. (The "mW"
+ # -- refers to to an identifier in the system.in.sw file, not watmw.lt.)
+ # -- This command says that the first atom type corresponds to the "mW"
+ # -- atom in system.in.sw, and to ignore the remaining three atom types
+ # -- (correspond to the CH2, CH3, CH4 atom types defined in trappe1998.lt.
+ # -- We don't want to use the "sw" force field for interactions involving
+ # -- these atom types, so we put "NULL" there.)
+ # -- Note: For this to work, you should probably run moltemplate this way:
+ # -- moltemplate.sh -a "@atom:WatMW/mW 1" system.lt
+ # -- This assigns the atom type named @atom:WatMW/mW to 1 (the first atom)
+}
+
+
+
+# -- Somewhere we must eventually define interactions
+# -- between atoms from different molecule types
+
+write_once("In Settings") {
+ pair_coeff @atom:WatMW/mW @atom:TraPPE/CH2 lj/charmm/coul/charmm 0.11914784667210733 3.558
+ pair_coeff @atom:WatMW/mW @atom:TraPPE/CH3 lj/charmm/coul/charmm 0.17390830404497651 3.458
+ pair_coeff @atom:WatMW/mW @atom:TraPPE/CH4 lj/charmm/coul/charmm 0.21371654257637612 3.448
+}
+
+
+
diff --git a/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/moltemplate_files/trappe1998.lt b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/moltemplate_files/trappe1998.lt
new file mode 100644
index 000000000..9bcc80cb1
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/moltemplate_files/trappe1998.lt
@@ -0,0 +1,50 @@
+# This file stores complete LAMMPS data for the TraPPE model of saturated
+# hydrocarbon chains. In this "united-atom" model, each methyl group is
+# represented by a single atom. Forces between "atoms" are taken from the
+# TraPPE force-field. (J Phys Chem B, 1998, volume 102, pp.2569-2577)
+
+TraPPE {
+
+ write_once("In Init") {
+ # -- Default styles for "TraPPE" --
+ units real
+ atom_style full
+ # (Hybrid force field styles were used for portability.)
+ bond_style hybrid harmonic
+ angle_style hybrid harmonic
+ dihedral_style hybrid opls
+ improper_style none
+ pair_style hybrid lj/charmm/coul/charmm 9.0 11.0 9.0 11.0
+ pair_modify mix arithmetic
+ special_bonds lj 0.0 0.0 0.0
+ }
+
+ write_once("Data Masses") {
+ @atom:CH2 14.1707
+ @atom:CH3 15.2507
+ @atom:CH4 16.3307
+ }
+
+ write_once("Data Angles By Type") {
+ @angle:backbone @atom:CH? @atom:CH? @atom:CH? @bond:saturated @bond:saturated
+ }
+
+ write_once("Data Dihedrals By Type") {
+ @dihedral:backbone @atom:CH? @atom:CH? @atom:CH? @atom:CH? @bond:saturated @bond:saturated @bond:saturated
+ }
+
+ write_once("In Settings") {
+ pair_coeff @atom:CH2 @atom:CH2 lj/charmm/coul/charmm 0.091411522 3.95
+ pair_coeff @atom:CH3 @atom:CH3 lj/charmm/coul/charmm 0.194746286 3.75
+ pair_coeff @atom:CH4 @atom:CH4 lj/charmm/coul/charmm 0.294106636 3.73
+ bond_coeff @bond:saturated harmonic 120.0 1.54
+ angle_coeff @angle:backbone harmonic 62.0022 114
+ dihedral_coeff @dihedral:backbone opls 1.411036 -0.271016 3.145034 0.0
+ }
+
+ write_once("In Settings") {
+ group TraPPE type @atom:CH2 @atom:CH3 @atom:CH4
+ }
+
+} # class TraPPE
+
diff --git a/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/moltemplate_files/version_more_comments/system.lt b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/moltemplate_files/version_more_comments/system.lt
new file mode 100644
index 000000000..34bdfead7
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/moltemplate_files/version_more_comments/system.lt
@@ -0,0 +1,80 @@
+# This is a relatively complex example containing two different types of
+# molecules, and a hybrid of Lennard-Jones and 3-body SW "pair" styles.
+
+import "watmw.lt"
+import "cyclododecane.lt"
+
+write_once("Data Boundary") {
+ 0.000000 48.000 xlo xhi
+ 0.000000 48.000 ylo yhi
+ 0.000000 48.000 zlo zhi
+}
+
+wat = new WatMW [12].move(0, 0, 4.0)
+ [12].move(0, 4.0, 0)
+ [12].move(4.0, 0, 0)
+
+cyclododecane = new Cyclododecane [4].move(0, 0, 12.0)
+ [4].move(0, 12.0, 0)
+ [4].move(12.0, 0, 0)
+
+# (Move them by (6.0,6.0,6.0) to avoid overlap with the water.)
+cyclododecane[*][*][*].move(6.0,6.0,6.0)
+
+write_once("In Init") {
+ # -- Tell LAMMPS we want to use two different pair styles
+ # -- (This overrides earlier settings.)
+ pair_style hybrid sw lj/charmm/coul/charmm 9.0 11.0 9.0 11.0
+}
+
+
+
+write_once("In Settings") {
+ # -- Now indicate which atom type(s) are simulated using the "sw" pair style
+ # -- In this case only one of the atom types is used (the mW water "atom").
+
+ pair_coeff * * sw system.in.sw mW NULL NULL NULL
+
+ # -- Unfortunately LAMMPS itself does not understand molemlate syntax, so
+ # -- the atoms are identified by order in the list, not by name. (The "mW"
+ # -- refers to to an identifier in the system.in.sw file, not watmw.lt.)
+ # -- This command says that the first atom type corresponds to the "mW"
+ # -- atom in system.in.sw, and to ignore the remaining three atom types
+ # -- (correspond to the CH2, CH3, CH4 atom types defined in trappe1998.lt.
+ # -- We don't want to use the "sw" force field for interactions involving
+ # -- these atom types, so we put "NULL" there.)
+ #
+ # For this to work, the first atom type (assigned to "1")
+ # must refer to the "mW" atom type (defined in watmw.lt).
+ # (This is why we included "watmw.lt" first, to insure that the
+ # atom counters in WatMW are assinged first, starting with 1.)
+ # Alternately we can further insure that this happens, it's
+ # a good idea to run moltemplate.sh using the "-a" argument:
+ # moltemplate.sh -a "@atom:/WatMW/mW 1" system.lt
+ # This assigns the atom type named @atom:/WatMW/mW to 1
+}
+
+
+
+
+# -- Somewhere we must eventually define interactions
+# -- between atoms from different molecule types
+# -- Now define interactions between DIFFERENT molecules
+# Note: In the SPC/E model, the epsilon,sigma parameters for water is 0.1553
+# 3.166. As a crude guess, I chose the LJ parameters for the interaction
+# between water & the CH2,CH3,CH4 atoms using Lorentz-Berthelot mixing rules
+
+write_once("In Settings") {
+ pair_coeff @atom:WatMW/mW @atom:TraPPE/CH2 lj/charmm/coul/charmm 0.11914784667210733 3.558
+ pair_coeff @atom:WatMW/mW @atom:TraPPE/CH3 lj/charmm/coul/charmm 0.17390830404497651 3.458
+ pair_coeff @atom:WatMW/mW @atom:TraPPE/CH4 lj/charmm/coul/charmm 0.21371654257637612 3.448
+}
+
+
+
+
+
+
+
+
+
diff --git a/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/moltemplate_files/watmw.lt b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/moltemplate_files/watmw.lt
new file mode 100644
index 000000000..c7aaecebb
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/moltemplate_files/watmw.lt
@@ -0,0 +1,54 @@
+# This file stores LAMMPS data for the "mW" water model.
+# (Molinero, V. and Moore, E.B., J. Phys. Chem. B 2009, 113, 4008-4016)
+#
+# In this model, each water molecule is represented by a single "mW" particle.
+# These particles interact with their neighbors via 3-body Stillinger-Weber
+# forces whose parameters are tuned to mimic directional hydrogen-bonding
+# in liquid water (as well as hexagonal ice, type II ice, and
+# low-density super-cooled liquid/amorphous water phases).
+
+WatMW {
+ write("Data Atoms") {
+ $atom:mW $mol:. @atom:mW 0.0 0.0 0.0 0.0
+ }
+
+ write_once("Data Masses") {
+ @atom:mW 18.02
+ }
+
+ write_once("system.in.sw") {
+ mW mW mW 6.189 2.3925 1.8 23.15 1.2 -0.333333333 7.049556277 0.602224558 4 0 0
+ }
+
+ write_once("In Init") {
+ # -- Default styles for "WatMW" --
+ units real
+ pair_style sw
+ }
+
+ write_once("In Settings") {
+ # --Now indicate which atom type(s) are simulated using the "sw" pair style
+ # -- In this case only one of the atom types is used (the mW water "atom").
+
+ pair_coeff * * sw system.in.sw mW NULL NULL NULL
+
+ # -- Unfortunately LAMMPS itself does not understand molemlate syntax, so
+ # -- the atoms are identified by order in the list, not by name. (The "mW"
+ # -- refers to to an identifier in the system.in.sw file, not watmw.lt.)
+ # -- This command says that the first atom type corresponds to the "mW"
+ # -- atom in system.in.sw, and to ignore the remaining three atom types
+ # -- (correspond to the CH2, CH3, CH4 atom types defined in trappe1998.lt.
+ # -- We don't want to use the "sw" force field for interactions involving
+ # -- these atom types, so we put "NULL" there.)
+ # -- Note: For this to work, you should probably run moltemplate this way:
+ # -- moltemplate.sh -a "@atom:WatMW/mW 1" system.lt
+ # -- This assigns the atom type named @atom:WatMW/mW to 1 (the first atom)
+ }
+
+ # -- optional --
+
+ write_once("In Settings") {
+ group WatMW type @atom:mW #(Atoms of this type belong to the "WatMW" group)
+ }
+
+} # WatMW
diff --git a/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/run.in.npt b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/run.in.npt
new file mode 100644
index 000000000..544daee70
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/run.in.npt
@@ -0,0 +1,61 @@
+# run.in.npt
+#
+# -- Usage --
+#
+# lmp_linux -i run.in.npt
+# (assuming lmp_linux is the name of your lammps binary)
+#
+# -- Prerequisite Input Files: --
+# systen.data, system.in.init, system.in.settings, system.in.sw
+#
+# You can generate these files with this command:
+# moltemplate.sh -a "@atom:/WatMW/mW 1" system.lt
+# ---------------------------------
+
+# ----- Init Section -----
+
+
+include system.in.init
+
+
+# ----- Atom Definition Section -----
+
+
+read_data system.data
+
+
+# ----- Settings Section -----
+
+
+include system.in.settings
+
+
+# ----- Run Section -----
+
+
+
+# -- minimization protocol --
+
+# Note: The minimization step is not necessary in this example. However
+# in general, it's always a good idea to minimize the system beforehand.
+
+minimize 1.0e-5 1.0e-7 100000 400000
+
+
+# -- simulation protocol --
+
+
+timestep 2.0 # <- This can be increased to 5.0 or 10.0 for bulk water
+dump 1 all custom 500 traj_npt.lammpstrj id mol type x y z ix iy iz
+fix fxnpt all npt temp 300.0 300.0 100.0 iso 1.0 1.0 1000.0 drag 1.0
+
+
+thermo_style custom step temp pe etotal press vol epair ebond eangle edihed
+thermo 500 # time interval for printing out "thermo" data
+
+run 200000
+
+write_data system_after_npt.data
+
+# (The "write_restart" and "read_restart" commands were buggy in 2012,
+# but they should work also.)
diff --git a/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/run.in.nvt b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/run.in.nvt
new file mode 100644
index 000000000..4a74ecd31
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/3bodyWater+hydrocarbons_MW+TraPPE/run.in.nvt
@@ -0,0 +1,81 @@
+# PREREQUISITES:
+#
+# 1) You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (See README_setup.sh for details.)
+# 2) You must equilibrate the system beforehand using "run.in.npt".
+# This will create the file "system_after_npt.data" which this file reads.
+# (Note: I have not verified that this equilibration protocol works well.)
+
+# run.in.nvt
+#
+# -- Usage --
+#
+# lmp_g++ -i run.in.nvt
+# (assuming lmp_g++ is the name of your lammps binary)
+#
+# -- Prerequisite Input Files: --
+# systen.data, system.in.init, system.in.settings, system.in.sw
+# system_after_npt.data
+#
+# You can generate these files using this procedure
+#
+# moltemplate.sh -a "@atom:/WatMW/mW 1" system.lt
+#
+# lmp_linux -i run.in.npt
+
+# ---------------------------------
+
+
+# -- init section --
+
+
+include system.in.init
+
+
+
+# -- atom definition section --
+
+
+# Read the coordinates generated by an earlier NPT simulation
+
+read_data system_after_npt.data
+
+# (The "write_restart" and "read_restart" commands were buggy in 2012,
+# but they should work also. I prefer "write_data" and "read_data".)
+
+
+# -- settings section --
+
+
+include system.in.settings
+
+
+# -- run section --
+
+
+timestep 2.0
+dump 1 all custom 1000 traj_nvt.lammpstrj id mol type x y z ix iy iz
+dump 2 TraPPE custom 1000 traj_alkane_nvt.lammpstrj id mol type x y z ix iy iz
+fix fxnvt all nvt temp 300.0 300.0 500.0 tchain 1
+
+# The following commands are useful if you want to calculate the distribution
+# of alkane-chain radius-of-gyration at a given temperature & pressure.
+#compute cRg TraPPE gyration
+#variable vRg equal c_cRg
+#compute cPE all pe
+#variable vPE equal c_cPE
+#fix FprintPE all print 1000 "${vPE}" file U.dat
+#fix FprintRg all print 1000 "${vRg}" file Rg.dat
+
+thermo_style custom step temp pe etotal press vol epair ebond eangle edihed
+thermo 1000 # time interval for printing out "thermo" data
+#thermo_modify flush yes
+
+restart 100000 restart_nvt
+
+run 1000000
+
+write_data system_after_nvt.data
+
+
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/README.txt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/README.txt
new file mode 100644
index 000000000..fe92ffeaf
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/README.txt
@@ -0,0 +1,18 @@
+
+This example of the formation of a coarse-grained DOPC lipid-bilayer uses the
+Martini force-field v2.0 (2013-10), was provided by Saeed Momeni Bashusqeh.
+It's probably a good idea to run the simulation for a few ns to allow the
+lipids to reorient themselves.
+
+step 1)
+To build the files which LAMMPS needs, follow the instructions in:
+README_setup.sh
+
+step 2)
+To run LAMMPS with these files, follow these instructions:
+README_run.sh
+
+------- CITE -----------------------------
+NOTE: We extracted the parameters in the MARTINI force field from the files
+distributed with the "EMC" tool. If you use these .lt files, please also cite:
+P. J. in ‘t Veld and G. C. Rutledge, Macromolecules 2003, 36, 7358.
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/README_remove_irrelevant_info.sh b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/README_remove_irrelevant_info.sh
new file mode 100755
index 000000000..5957289da
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/README_remove_irrelevant_info.sh
@@ -0,0 +1,8 @@
+
+# Note: By default, the system.data and system.in.settings files contain
+# extra information for atoms defined in OPLSAA which you are not using
+# in this simulation.
+# This is harmless, but if you to delete this information from your
+# system.in.settings and system.in.data files, run this script:
+
+cleanup_moltemplate.sh
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/README_run.sh b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/README_run.sh
new file mode 100755
index 000000000..65213b096
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/README_run.sh
@@ -0,0 +1,21 @@
+# --- Running LAMMPS ---
+# -------- PREREQUISITES: --------
+# The 2 files "run.in.min", "run.in.npt", and "run.in.nvt" are LAMMPS
+# input scripts which link to the input scripts and data files
+# you hopefully have created earlier with moltemplate.sh:
+# system.in.init, system.in.settings, system.data
+# If not, carry out the instructions in "README_setup.sh".
+#
+# -- Instructions: --
+# If "lmp_mpi" is the name of the command you use to invoke lammps,
+# then you would run lammps on these files this way:
+
+
+lmp_mpi -i run.in.min # minimization
+lmp_mpi -i run.in.npt # simulation at constant pressure
+lmp_mpi -i run.in.nvt # simulation at constant volume
+
+# If you have compiled the MPI version of lammps, you can run lammps in parallel
+#mpirun -np 4 lmp_mpi -i run.in.npt
+#mpirun -np 4 lmp_mpi -i run.in.nvt
+# (assuming you have 4 processors available)
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/README_setup.sh b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/README_setup.sh
new file mode 100755
index 000000000..cf22ee0fa
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/README_setup.sh
@@ -0,0 +1,23 @@
+# Use these commands to generate the LAMMPS input script and data file
+# (and other auxilliary files):
+
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh system.lt
+
+ # This will generate various files with names ending in *.in* and *.data.
+ # These files are the input files directly read by LAMMPS. Move them to
+ # the parent directory (or wherever you plan to run the simulation).
+
+ mv -f system.in* system.data ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/README_visualize.txt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/README_visualize.txt
new file mode 100644
index 000000000..e8ad74401
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.0 -0.5}
+ pbc box -shiftcenterrel {0.0 0.0 -0.5} -style tubes -width 0.75
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/moltemplate_files/DOPC.lt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/moltemplate_files/DOPC.lt
new file mode 100644
index 000000000..00a4ed7e7
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/moltemplate_files/DOPC.lt
@@ -0,0 +1,39 @@
+import "martini.lt" #(This file is located in moltemplate/force_fields/)
+
+DOPC inherits MARTINI {
+
+ # atomID molID atomTyle charge X Y Z
+ write('Data Atoms') {
+ $atom:NC3 $mol:. @atom:Q0 1.0 0.596 0.518 2.453
+ $atom:PO4 $mol:. @atom:Qa -1.0 0.413 0.591 2.167
+ $atom:GL1 $mol:. @atom:Na 0.0 0.525 0.626 1.829
+ $atom:GL2 $mol:. @atom:Na 0.0 0.749 0.434 1.795
+ $atom:C1A $mol:. @atom:C1 0.0 0.428 0.686 1.448
+ $atom:D2A $mol:. @atom:C3 0.0 0.395 0.491 1.197
+ $atom:C3A $mol:. @atom:C1 0.0 0.389 0.575 0.899
+ $atom:C4A $mol:. @atom:C1 0.0 0.423 0.497 0.555
+ $atom:C1B $mol:. @atom:C1 0.0 0.944 0.505 1.503
+ $atom:D2B $mol:. @atom:C3 0.0 0.906 0.476 1.192
+ $atom:C3B $mol:. @atom:C1 0.0 0.899 0.567 0.905
+ $atom:C4B $mol:. @atom:C1 0.0 0.921 0.637 0.557
+ }
+
+ write('Data Bond List') {
+ $bond:b1 $atom:NC3 $atom:PO4
+ $bond:b2 $atom:PO4 $atom:GL1
+ $bond:b3 $atom:GL1 $atom:GL2
+ $bond:b4 $atom:GL1 $atom:C1A
+ $bond:b5 $atom:C1A $atom:D2A
+ $bond:b6 $atom:D2A $atom:C3A
+ $bond:b9 $atom:C3A $atom:C4A
+ $bond:b10 $atom:GL2 $atom:C1B
+ $bond:b11 $atom:C1B $atom:D2B
+ $bond:b12 $atom:D2B $atom:C3B
+ $bond:b13 $atom:C3B $atom:C4B
+ }
+}
+DOPC.scale(10)
+
+# Optional: Move the molecule to a convenient location for buildling a bilayer:
+# Center the molecule in the X,Y directions and set the min Z value.
+DOPC.move(-6.32333,-5.5025,-3.2)
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/moltemplate_files/system.lt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/moltemplate_files/system.lt
new file mode 100644
index 000000000..4e1640782
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/moltemplate_files/system.lt
@@ -0,0 +1,21 @@
+import "martini.lt" #(This file is located in moltemplate/force_fields/)
+import "water.lt"
+import "DOPC.lt"
+
+lipids = new DOPC [12].move(8.333, 0, 0)
+ [12].move(0, 8.333, 0)
+ [2].rot(180, 1, 0, 0)
+
+waters = new MW [24].move(4.1667, 0, 0)
+ [24].move(0, 4.1667, 0)
+ [10].move(0, 0, 4.54)
+
+# Move the waters upwards so that they don't overlap with the lipids.
+
+waters[*][*][*].move(0, 0, 28.5)
+
+write_once("Data Boundary") {
+ 0.0 100 xlo xhi
+ 0.0 100 ylo yhi
+ -50 50 zlo zhi
+}
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/moltemplate_files/water.lt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/moltemplate_files/water.lt
new file mode 100644
index 000000000..6513d8341
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/moltemplate_files/water.lt
@@ -0,0 +1,10 @@
+import "martini.lt"
+
+#water molecules in MARTINI contain only one particle
+
+MW inherits MARTINI {
+ #AtomID MolID AtomType Charge x y z
+ write("Data Atoms") {
+ $atom $mol @atom:P4 0 0 0 0
+ }
+}
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/run.in.min b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/run.in.min
new file mode 100644
index 000000000..360ded237
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/run.in.min
@@ -0,0 +1,30 @@
+# PREREQUISITES:
+#
+# You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (See README_setup.sh for details.)
+
+# ------------------------------- Initialization Section --------------------
+
+include "system.in.init"
+
+# ------------------------------- Atom Definition Section -------------------
+
+read_data "system.data"
+
+# ------------------------------- Settings Section --------------------------
+
+include system.in.settings
+
+# ------------------------------- Run Section -------------------------------
+
+# -- simulation protocol --
+
+thermo 5
+thermo_style custom step temp pe etotal epair ebond eangle
+dump 1 all custom 1000 traj_min.lammpstrj id mol type x y z ix iy iz
+min_style sd
+min_modify dmax 0.1
+minimize 1.0e-4 1.0e-6 100000 400000
+
+write_data system_after_min.data
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/run.in.npt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/run.in.npt
new file mode 100644
index 000000000..0967272ff
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/run.in.npt
@@ -0,0 +1,80 @@
+# PREREQUISITES:
+#
+# 1) You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (See README_setup.sh for details.)
+# 2) You must minimize the coordinates using by running lammps witn
+# run.in.min
+#
+
+# ------------------------------- Initialization Section --------------------
+
+include "system.in.init"
+
+# ------------------------------- Atom Definition Section -------------------
+
+#read_data "system.data"
+read_data "system_after_min.data"
+
+# ------------------------------- Settings Section --------------------------
+
+include "system.in.settings"
+
+# ------------------------------- Run Section -------------------------------
+
+# -- simulation protocol --
+
+print "---------------------------------------------------------------------------"
+print "I often use Langevin dynamics initially at high temperatures and small"
+print "timesteps to relax the system. It seems more stable than Nose-Hoover."
+print "(This is probably not necessary.)"
+print "---------------------------------------------------------------------------"
+
+#(first, a short run at NVT conditions, to randomize the waters)
+
+fix fxlan all langevin 450.0 450.0 100 12345 # temp: 450 K
+fix fxnve all nve
+thermo 100
+thermo_style custom step temp pe press vol etotal epair ebond eangle
+dump dmNPTall all custom 5000 traj_npt_step1.lammpstrj id mol type x y z ix iy iz
+
+timestep 1.0 # (safer to use a small timestep initially)
+run 1000
+timestep 3.0
+run 1000
+timestep 10.0
+run 1000
+timestep 30.0 # (40.0 should be possible for lipid systems)
+run 20000
+
+unfix fxnve
+fix fxnph all nph aniso 200.0 200.0 1000.0 couple xy drag 1.0 #pressure:200barr
+timestep 1.0 # (safer to use a small timestep initially)
+run 1000
+timestep 3.0
+run 1000
+timestep 10.0
+run 1000
+timestep 30.0 # (40.0 should be possible for lipid systems)
+run 100000
+
+unfix fxlan
+unfix fxnph
+undump dmNPTall
+
+print "---------------------------------------------------------------------------"
+print "--- Now continue the simulation using a Nose-Hoover Thermostat/Barostat ---"
+print "---------------------------------------------------------------------------"
+
+velocity all zero linear # <- eliminate drift due to non-zero total momentum
+ #fix 1 all momentum 1000 linear 1 1 1 # also works
+
+# temperature: 300 K, pressure: 1 barr
+fix fxnpt all npt temp 300.0 300.0 100.0 aniso 1.0 1.0 1000.0 drag 1.0 couple xy
+thermo 100
+#thermo_modify flush yes
+dump dmNPTall all custom 10000 traj_npt_step2.lammpstrj id mol type x y z ix iy iz
+
+run 100000
+
+write_data system_after_npt.data
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/run.in.nvt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/run.in.nvt
new file mode 100644
index 000000000..4653fefe6
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/DOPC_bilayer_example/run.in.nvt
@@ -0,0 +1,48 @@
+# PREREQUISITES:
+#
+# 1) You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (See README_setup.sh for details.)
+# 2) You must minimize the coordinates using by running lammps witn
+# run.in.min
+# 3) You must equilibrate the system beforehand using "run.in.npt".
+# This will create the file "system_after_npt.data" which this file reads.
+# (Note: I have not verified that this equilibration protocol works well.)
+
+# ------------------------------- Initialization Section --------------------
+
+include "system.in.init"
+
+# ------------------------------- Atom Definition Section -------------------
+
+# Read the coordinates generated by an earlier simulation
+
+#read_data "system.data"
+#read_data "system_after_min.data"
+read_data "system_after_npt.data"
+
+# ------------------------------- Settings Section --------------------------
+
+include "system.in.settings"
+
+# ------------------------------- Settings Section --------------------------
+
+include system.in.settings
+
+# ------------------------------- Run Section -------------------------------
+
+# -- simulation protocol --
+
+velocity all zero linear # <- eliminate drift due to non-zero total momentum
+ #fix 1 all momentum 1000 linear 1 1 1 # also works
+
+timestep 30.0 # (40.0 should be possible for lipid systems)
+dump 1 all custom 20000 traj_nvt.lammpstrj id mol type x y z ix iy iz
+fix fxnvt all nvt temp 300.0 300.0 500.0 tchain 1
+thermo 100
+thermo_style custom step temp pe etotal epair ebond eangle
+#thermo_modify flush yes
+
+run 10000000
+
+write_data system_after_nvt.data
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/BOLA.lt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/BOLA.lt
new file mode 100644
index 000000000..46e8bd572
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/BOLA.lt
@@ -0,0 +1,67 @@
+import "martini.lt"
+
+BOLA inherits MARTINI {
+
+ # atomID molID atomTyle charge X Y Z
+ # (guessing the coordinates, and scaling them manually)
+ write('Data Atoms') {
+ $atom:NC1 $mol:. @atom:Q0 1.0 0.000000 0.000000 6.000000
+ $atom:PO1 $mol:. @atom:Qa -1.0 0.000000 0.000000 5.000000
+ $atom:GL1 $mol:. @atom:Na 0.0 0.000000 0.000000 4.000000
+ $atom:GL2 $mol:. @atom:Na 0.0 0.000000 1.000000 4.000000
+ $atom:C1A $mol:. @atom:C1 0.0 0.000000 -1.000000 4.000000
+ $atom:C2A $mol:. @atom:C1 0.0 0.000000 -1.000000 3.000000
+ $atom:C3A $mol:. @atom:C1 0.0 0.000000 -1.000000 2.000000
+ $atom:C4A $mol:. @atom:C1 0.0 0.000000 -1.000000 1.000000
+ $atom:C1B $mol:. @atom:C1 0.0 0.000000 1.000000 3.000000
+ $atom:C2B $mol:. @atom:C1 0.0 0.000000 1.000000 2.000000
+ $atom:C3B $mol:. @atom:C1 0.0 0.000000 1.000000 1.000000
+ $atom:C4B $mol:. @atom:C1 0.0 0.000000 1.000000 0.000000
+ $atom:NC2 $mol:. @atom:Q0 1.0 1.000000 0.000000 6.000000
+ $atom:PO2 $mol:. @atom:Qa -1.0 1.000000 0.000000 5.000000
+ $atom:GL3 $mol:. @atom:Na 0.0 1.000000 0.000000 4.000000
+ $atom:GL4 $mol:. @atom:Na 0.0 1.000000 1.000000 4.000000
+ $atom:C1C $mol:. @atom:C1 0.0 1.000000 -1.000000 4.000000
+ $atom:C2C $mol:. @atom:C1 0.0 1.000000 -1.000000 3.000000
+ $atom:C3C $mol:. @atom:C1 0.0 1.000000 -1.000000 2.000000
+ $atom:C4C $mol:. @atom:C1 0.0 1.000000 -1.000000 1.000000
+ $atom:C1D $mol:. @atom:C1 0.0 1.000000 1.000000 3.000000
+ $atom:C2D $mol:. @atom:C1 0.0 1.000000 1.000000 2.000000
+ $atom:C3D $mol:. @atom:C1 0.0 1.000000 1.000000 1.000000
+ $atom:C4D $mol:. @atom:C1 0.0 1.000000 1.000000 0.000000
+
+ }
+
+ write('Data Bond List') {
+ $bond:b1 $atom:NC1 $atom:PO1
+ $bond:b2 $atom:PO1 $atom:GL1
+ $bond:b3 $atom:GL1 $atom:GL2
+ $bond:b4 $atom:GL1 $atom:C1A
+ $bond:b5 $atom:C1A $atom:C2A
+ $bond:b6 $atom:C2A $atom:C3A
+ $bond:b7 $atom:C3A $atom:C4A
+ $bond:b8 $atom:GL2 $atom:C1B
+ $bond:b9 $atom:C1B $atom:C2B
+ $bond:b10 $atom:C2B $atom:C3B
+ $bond:b11 $atom:C3B $atom:C4B
+ $bond:b12 $atom:NC2 $atom:PO2
+ $bond:b13 $atom:PO2 $atom:GL3
+ $bond:b14 $atom:GL3 $atom:GL4
+ $bond:b15 $atom:GL3 $atom:C1C
+ $bond:b16 $atom:C1C $atom:C2C
+ $bond:b17 $atom:C2C $atom:C3C
+ $bond:b18 $atom:C3C $atom:C4C
+ $bond:b19 $atom:GL4 $atom:C1D
+ $bond:b20 $atom:C1D $atom:C2D
+ $bond:b21 $atom:C2D $atom:C3D
+ $bond:b22 $atom:C3D $atom:C4D
+ $bond:b23 $atom:C4A $atom:C4C
+ $bond:b24 $atom:C4B $atom:C4D
+ }
+
+}
+BOLA.scale(4.7)
+
+# Optional: Move the molecule to a convenient location for buildling a bilayer:
+# Center the molecule in the X,Y directions and set the min Z value.
+BOLA.move(-5,-0.833333,2.35).rot(-45.0,0,0,1)
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/BOLB.lt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/BOLB.lt
new file mode 100644
index 000000000..8d4fbc3ac
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/BOLB.lt
@@ -0,0 +1,66 @@
+import "martini.lt"
+
+BOLB inherits MARTINI {
+
+ # atomID molID atomTyle charge X Y Z
+ # (guessing the coordinates, and scaling them manually)
+ write('Data Atoms') {
+ $atom:NC1 $mol:. @atom:Q0 1.0 0.000000 0.000000 6.000000
+ $atom:PO1 $mol:. @atom:Qa -1.0 0.000000 0.000000 5.000000
+ $atom:GL1 $mol:. @atom:Na 0.0 0.000000 0.000000 4.000000
+ $atom:GL2 $mol:. @atom:Na 0.0 0.000000 1.000000 4.000000
+ $atom:C1A $mol:. @atom:C1 0.0 0.000000 -1.000000 4.000000
+ $atom:C2A $mol:. @atom:C1 0.0 0.000000 -1.000000 3.000000
+ $atom:C3A $mol:. @atom:C1 0.0 0.000000 -1.000000 2.000000
+ $atom:C4A $mol:. @atom:C1 0.0 0.000000 -1.000000 1.000000
+ $atom:C1B $mol:. @atom:C1 0.0 0.000000 1.000000 3.000000
+ $atom:C2B $mol:. @atom:C1 0.0 0.000000 1.000000 2.000000
+ $atom:C3B $mol:. @atom:C1 0.0 0.000000 1.000000 1.000000
+ $atom:C4B $mol:. @atom:C1 0.0 0.000000 1.000000 0.000000
+ $atom:NC2 $mol:. @atom:Q0 1.0 1.000000 0.000000 6.000000
+ $atom:PO2 $mol:. @atom:Qa -1.0 1.000000 0.000000 5.000000
+ $atom:GL3 $mol:. @atom:Na 0.0 1.000000 0.000000 4.000000
+ $atom:GL4 $mol:. @atom:Na 0.0 1.000000 1.000000 4.000000
+ $atom:C1C $mol:. @atom:C1 0.0 1.000000 -1.000000 4.000000
+ $atom:C2C $mol:. @atom:C1 0.0 1.000000 -1.000000 3.000000
+ $atom:C3C $mol:. @atom:C1 0.0 1.000000 -1.000000 2.000000
+ $atom:C4C $mol:. @atom:C1 0.0 1.000000 -1.000000 1.000000
+ $atom:C1D $mol:. @atom:C1 0.0 1.000000 1.000000 3.000000
+ $atom:C2D $mol:. @atom:C1 0.0 1.000000 1.000000 2.000000
+ $atom:C3D $mol:. @atom:C1 0.0 1.000000 1.000000 1.000000
+ $atom:C4D $mol:. @atom:C1 0.0 1.000000 1.000000 0.000000
+
+ }
+
+ write('Data Bond List') {
+ $bond:b1 $atom:NC1 $atom:PO1
+ $bond:b2 $atom:PO1 $atom:GL1
+ $bond:b3 $atom:GL1 $atom:GL2
+ $bond:b4 $atom:GL1 $atom:C1A
+ $bond:b5 $atom:C1A $atom:C2A
+ $bond:b6 $atom:C2A $atom:C3A
+ $bond:b7 $atom:C3A $atom:C4A
+ $bond:b8 $atom:GL2 $atom:C1B
+ $bond:b9 $atom:C1B $atom:C2B
+ $bond:b10 $atom:C2B $atom:C3B
+ $bond:b11 $atom:C3B $atom:C4B
+ $bond:b12 $atom:NC2 $atom:PO2
+ $bond:b13 $atom:PO2 $atom:GL3
+ $bond:b14 $atom:GL3 $atom:GL4
+ $bond:b15 $atom:GL3 $atom:C1C
+ $bond:b16 $atom:C1C $atom:C2C
+ $bond:b17 $atom:C2C $atom:C3C
+ $bond:b18 $atom:C3C $atom:C4C
+ $bond:b19 $atom:GL4 $atom:C1D
+ $bond:b20 $atom:C1D $atom:C2D
+ $bond:b21 $atom:C2D $atom:C3D
+ $bond:b22 $atom:C3D $atom:C4D
+ $bond:b23 $atom:C4A $atom:C4C
+ }
+
+}
+BOLB.scale(4.7)
+
+# Optional: Move the molecule to a convenient location for buildling a bilayer:
+# Center the molecule in the X,Y directions and set the min Z value.
+BOLB.move(-2.35,-0.391667,2.35).rot(-45.0,0,0,1)
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DAPC.lt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DAPC.lt
new file mode 100644
index 000000000..d5f737075
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DAPC.lt
@@ -0,0 +1,44 @@
+import "martini.lt"
+
+DAPC inherits MARTINI {
+
+ # atomID molID atomTyle charge X Y Z
+ write('Data Atoms') {
+ $atom:NC3 $mol:. @atom:Q0 1.0 0.566 0.559 2.614
+ $atom:PO4 $mol:. @atom:Qa -1.0 0.464 0.444 2.297
+ $atom:GL1 $mol:. @atom:Na 0.0 0.486 0.539 1.967
+ $atom:GL2 $mol:. @atom:Na 0.0 0.766 0.678 1.938
+ $atom:D1A $mol:. @atom:C4 0.0 0.360 0.508 1.627
+ $atom:D2A $mol:. @atom:C4 0.0 0.446 0.509 1.339
+ $atom:D3A $mol:. @atom:C4 0.0 0.422 0.485 1.047
+ $atom:D4A $mol:. @atom:C4 0.0 0.474 0.570 0.752
+ $atom:C5A $mol:. @atom:C1 0.0 0.390 0.478 0.404
+ $atom:D1B $mol:. @atom:C4 0.0 0.917 0.470 1.666
+ $atom:D2B $mol:. @atom:C4 0.0 0.937 0.498 1.346
+ $atom:D3B $mol:. @atom:C4 0.0 0.920 0.584 1.055
+ $atom:D4B $mol:. @atom:C4 0.0 0.975 0.647 0.749
+ $atom:C5B $mol:. @atom:C1 0.0 0.898 0.557 0.399
+ }
+
+ write('Data Bond List') {
+ $bond:b1 $atom:NC3 $atom:PO4
+ $bond:b2 $atom:PO4 $atom:GL1
+ $bond:b3 $atom:GL1 $atom:GL2
+ $bond:b4 $atom:GL1 $atom:D1A
+ $bond:b5 $atom:D1A $atom:D2A
+ $bond:b6 $atom:D2A $atom:D3A
+ $bond:b7 $atom:D3A $atom:D4A
+ $bond:b8 $atom:D4A $atom:C5A
+ $bond:b9 $atom:GL2 $atom:D1B
+ $bond:b10 $atom:D1B $atom:D2B
+ $bond:b11 $atom:D2B $atom:D3B
+ $bond:b12 $atom:D3B $atom:D4B
+ $bond:b13 $atom:D4B $atom:C5B
+ }
+
+}
+DAPC.scale(10)
+
+# Optional: Move the molecule to a convenient location for buildling a bilayer:
+# Center the molecule in the X,Y directions and set the min Z value.
+DAPC.move(-6.44357,-5.37571,-1.64)
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DHPC.lt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DHPC.lt
new file mode 100644
index 000000000..75b77b17e
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DHPC.lt
@@ -0,0 +1,32 @@
+import "martini.lt"
+
+DHPC inherits MARTINI {
+
+ # atomID molID atomTyle charge X Y Z
+ write('Data Atoms') {
+ $atom:NC3 $mol:. @atom:Q0 1.0 0.000000 0.000000 6.000000
+ $atom:PO4 $mol:. @atom:Qa -1.0 0.000000 0.000000 5.000000
+ $atom:GL1 $mol:. @atom:Na 0.0 0.000000 0.000000 4.000000
+ $atom:GL2 $mol:. @atom:Na 0.0 0.000000 1.000000 4.000000
+ $atom:C1A $mol:. @atom:C1 0.0 0.000000 -1.000000 4.000000
+ $atom:C2A $mol:. @atom:C1 0.0 0.000000 -1.000000 3.000000
+ $atom:C1B $mol:. @atom:C1 0.0 0.000000 1.000000 3.000000
+ $atom:C2B $mol:. @atom:C1 0.0 0.000000 1.000000 2.000000
+ }
+
+ write('Data Bond List') {
+ $bond:b1 $atom:NC3 $atom:PO4
+ $bond:b2 $atom:PO4 $atom:GL1
+ $bond:b3 $atom:GL1 $atom:GL2
+ $bond:b4 $atom:GL1 $atom:C1A
+ $bond:b5 $atom:C1A $atom:C2A
+ $bond:b6 $atom:GL2 $atom:C1B
+ $bond:b7 $atom:C1B $atom:C2B
+ }
+
+}
+DHPC.scale(4.7)
+
+# Optional: Move the molecule to a convenient location for buildling a bilayer:
+# Center the molecule in the X,Y directions and set the min Z value.
+DHPC.move(-0,-0.5875,-7.65).rot(-30.0,0,0,1)
\ No newline at end of file
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DHPE.lt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DHPE.lt
new file mode 100644
index 000000000..a27af13a4
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DHPE.lt
@@ -0,0 +1,33 @@
+import "martini.lt"
+
+DHPE inherits MARTINI {
+
+ # atomID molID atomTyle charge X Y Z
+ # (guessing the coordinates, and scaling them manually)
+ write('Data Atoms') {
+ $atom:NH3 $mol:. @atom:Qd 1.0 0.000000 0.000000 6.000000
+ $atom:PO4 $mol:. @atom:Qa -1.0 0.000000 0.000000 5.000000
+ $atom:GL1 $mol:. @atom:Na 0.0 0.000000 0.000000 4.000000
+ $atom:GL2 $mol:. @atom:Na 0.0 0.000000 1.000000 4.000000
+ $atom:C1A $mol:. @atom:C1 0.0 0.000000 -1.000000 4.000000
+ $atom:C2A $mol:. @atom:C1 0.0 0.000000 -1.000000 3.000000
+ $atom:C1B $mol:. @atom:C1 0.0 0.000000 1.000000 3.000000
+ $atom:C2B $mol:. @atom:C1 0.0 0.000000 1.000000 2.000000
+ }
+
+ write('Data Bond List') {
+ $bond:b1 $atom:NH3 $atom:PO4
+ $bond:b2 $atom:PO4 $atom:GL1
+ $bond:b3 $atom:GL1 $atom:GL2
+ $bond:b4 $atom:GL1 $atom:C1A
+ $bond:b5 $atom:C1A $atom:C2A
+ $bond:b6 $atom:GL2 $atom:C1B
+ $bond:b7 $atom:C1B $atom:C2B
+ }
+
+}
+DHPE.scale(4.7)
+
+# Optional: Move the molecule to a convenient location for buildling a bilayer:
+# Center the molecule in the X,Y directions and set the min Z value.
+DHPE.move(-0,-0.5875,-7.15).rot(-30.0,0,0,1)
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DLPC.lt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DLPC.lt
new file mode 100644
index 000000000..be3f26141
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DLPC.lt
@@ -0,0 +1,36 @@
+import "martini.lt"
+
+DLPC inherits MARTINI {
+
+ # atomID molID atomTyle charge X Y Z
+ write('Data Atoms') {
+ $atom:NC3 $mol:. @atom:Q0 1.0 0.556 0.486 2.340
+ $atom:PO4 $mol:. @atom:Qa -1.0 0.522 0.626 2.022
+ $atom:GL1 $mol:. @atom:Na 0.0 0.484 0.520 1.678
+ $atom:GL2 $mol:. @atom:Na 0.0 0.793 0.572 1.640
+ $atom:C1A $mol:. @atom:C1 0.0 0.415 0.488 1.322
+ $atom:C2A $mol:. @atom:C1 0.0 0.388 0.510 1.025
+ $atom:C3A $mol:. @atom:C1 0.0 0.395 0.529 0.684
+ $atom:C1B $mol:. @atom:C1 0.0 0.959 0.570 1.354
+ $atom:C2B $mol:. @atom:C1 0.0 0.885 0.638 1.043
+ $atom:C3B $mol:. @atom:C1 0.0 0.911 0.531 0.691
+ }
+
+ write('Data Bond List') {
+ $bond:b1 $atom:NC3 $atom:PO4
+ $bond:b2 $atom:PO4 $atom:GL1
+ $bond:b3 $atom:GL1 $atom:GL2
+ $bond:b4 $atom:GL1 $atom:C1A
+ $bond:b5 $atom:C1A $atom:C2A
+ $bond:b6 $atom:C2A $atom:C3A
+ $bond:b9 $atom:GL2 $atom:C1B
+ $bond:b10 $atom:C1B $atom:C2B
+ $bond:b11 $atom:C2B $atom:C3B
+ }
+
+}
+DLPC.scale(10)
+
+# Optional: Move the molecule to a convenient location for buildling a bilayer:
+# Center the molecule in the X,Y directions and set the min Z value.
+DLPC.move(-6.308,-5.47,-4.49)
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DLPE.lt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DLPE.lt
new file mode 100644
index 000000000..08ce4b1d6
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DLPE.lt
@@ -0,0 +1,36 @@
+import "martini.lt"
+
+DLPE inherits MARTINI {
+
+ # atomID molID atomTyle charge X Y Z
+ write('Data Atoms') {
+ $atom:NH3 $mol:. @atom:Qd 1.0 0.523 0.508 2.312
+ $atom:PO4 $mol:. @atom:Qa -1.0 0.457 0.463 2.011
+ $atom:GL1 $mol:. @atom:Na 0.0 0.535 0.471 1.678
+ $atom:GL2 $mol:. @atom:Na 0.0 0.755 0.669 1.650
+ $atom:C1A $mol:. @atom:C1 0.0 0.393 0.605 1.310
+ $atom:C2A $mol:. @atom:C1 0.0 0.413 0.565 1.032
+ $atom:C3A $mol:. @atom:C1 0.0 0.436 0.548 0.704
+ $atom:C1B $mol:. @atom:C1 0.0 0.933 0.534 1.346
+ $atom:C2B $mol:. @atom:C1 0.0 0.917 0.629 1.043
+ $atom:C3B $mol:. @atom:C1 0.0 0.945 0.494 0.714
+ }
+
+ write('Data Bond List') {
+ $bond:b1 $atom:NH3 $atom:PO4
+ $bond:b2 $atom:PO4 $atom:GL1
+ $bond:b3 $atom:GL1 $atom:GL2
+ $bond:b4 $atom:GL1 $atom:C1A
+ $bond:b5 $atom:C1A $atom:C2A
+ $bond:b6 $atom:C2A $atom:C3A
+ $bond:b9 $atom:GL2 $atom:C1B
+ $bond:b10 $atom:C1B $atom:C2B
+ $bond:b11 $atom:C2B $atom:C3B
+ }
+
+}
+DLPE.scale(10)
+
+# Optional: Move the molecule to a convenient location for buildling a bilayer:
+# Center the molecule in the X,Y directions and set the min Z value.
+DLPE.move(-6.307,-5.486,-4.69)
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DOPC.lt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DOPC.lt
new file mode 100644
index 000000000..fdc5af63c
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DOPC.lt
@@ -0,0 +1,39 @@
+import "martini.lt"
+
+DOPC inherits MARTINI {
+
+ # atomID molID atomTyle charge X Y Z
+ write('Data Atoms') {
+ $atom:NC3 $mol:. @atom:Q0 1.0 0.596 0.518 2.453
+ $atom:PO4 $mol:. @atom:Qa -1.0 0.413 0.591 2.167
+ $atom:GL1 $mol:. @atom:Na 0.0 0.525 0.626 1.829
+ $atom:GL2 $mol:. @atom:Na 0.0 0.749 0.434 1.795
+ $atom:C1A $mol:. @atom:C1 0.0 0.428 0.686 1.448
+ $atom:D2A $mol:. @atom:C3 0.0 0.395 0.491 1.197
+ $atom:C3A $mol:. @atom:C1 0.0 0.389 0.575 0.899
+ $atom:C4A $mol:. @atom:C1 0.0 0.423 0.497 0.555
+ $atom:C1B $mol:. @atom:C1 0.0 0.944 0.505 1.503
+ $atom:D2B $mol:. @atom:C3 0.0 0.906 0.476 1.192
+ $atom:C3B $mol:. @atom:C1 0.0 0.899 0.567 0.905
+ $atom:C4B $mol:. @atom:C1 0.0 0.921 0.637 0.557
+ }
+
+ write('Data Bond List') {
+ $bond:b1 $atom:NC3 $atom:PO4
+ $bond:b2 $atom:PO4 $atom:GL1
+ $bond:b3 $atom:GL1 $atom:GL2
+ $bond:b4 $atom:GL1 $atom:C1A
+ $bond:b5 $atom:C1A $atom:D2A
+ $bond:b6 $atom:D2A $atom:C3A
+ $bond:b9 $atom:C3A $atom:C4A
+ $bond:b10 $atom:GL2 $atom:C1B
+ $bond:b11 $atom:C1B $atom:D2B
+ $bond:b12 $atom:D2B $atom:C3B
+ $bond:b13 $atom:C3B $atom:C4B
+ }
+}
+DOPC.scale(10)
+
+# Optional: Move the molecule to a convenient location for buildling a bilayer:
+# Center the molecule in the X,Y directions and set the min Z value.
+DOPC.move(-6.32333,-5.5025,-3.2)
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DOPE.lt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DOPE.lt
new file mode 100644
index 000000000..1c30e3271
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DOPE.lt
@@ -0,0 +1,36 @@
+import "martini.lt"
+
+DOPE inherits MARTINI {
+
+ # atomID molID atomTyle charge X Y Z
+ write('Data Atoms') {
+ $atom:NH3 $mol:. @atom:Qd 1.0 0.551 0.470 2.458
+ $atom:PO4 $mol:. @atom:Qa -1.0 0.546 0.626 2.182
+ $atom:GL1 $mol:. @atom:Na 0.0 0.528 0.592 1.831
+ $atom:GL2 $mol:. @atom:Na 0.0 0.808 0.524 1.774
+ $atom:C1A $mol:. @atom:C1 0.0 0.397 0.568 1.465
+ $atom:D2A $mol:. @atom:C3 0.0 0.436 0.417 1.187
+ $atom:C3A $mol:. @atom:C1 0.0 0.438 0.544 0.903
+ $atom:C4A $mol:. @atom:C1 0.0 0.452 0.543 0.554
+ $atom:C1B $mol:. @atom:C1 0.0 0.955 0.563 1.486
+ $atom:D2B $mol:. @atom:C3 0.0 0.889 0.663 1.193
+ $atom:C3B $mol:. @atom:C1 0.0 0.951 0.528 0.911
+ $atom:C4B $mol:. @atom:C1 0.0 0.963 0.530 0.556
+ }
+
+ write('Data Bond List') {
+ $bond:b1 $atom:NC3 $atom:PO4
+ $bond:b2 $atom:PO4 $atom:GL1
+ $bond:b3 $atom:GL1 $atom:GL2
+ $bond:b4 $atom:GL1 $atom:C1A
+ $bond:b5 $atom:C1A $atom:D2A
+ $bond:b6 $atom:D2A $atom:C3A
+ $bond:b9 $atom:C3A $atom:C4A
+ $bond:b10 $atom:GL2 $atom:C1B
+ $bond:b11 $atom:C1B $atom:D2B
+ $bond:b12 $atom:D2B $atom:C3B
+ $bond:b13 $atom:C3B $atom:C4B
+ }
+
+}
+DOPE.scale(10)
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DOPG.lt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DOPG.lt
new file mode 100644
index 000000000..bee0ae972
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DOPG.lt
@@ -0,0 +1,40 @@
+import "martini.lt"
+
+DOPG inherits MARTINI {
+
+ # atomID molID atomTyle charge X Y Z
+ write('Data Atoms') {
+ $atom:GL0 $mol:. @atom:P4 0.0 0.510 0.547 2.484
+ $atom:PO4 $mol:. @atom:Qa -1.0 0.557 0.450 2.156
+ $atom:GL1 $mol:. @atom:Na 0.0 0.475 0.603 1.834
+ $atom:GL2 $mol:. @atom:Na 0.0 0.774 0.662 1.768
+ $atom:C1A $mol:. @atom:C1 0.0 0.337 0.509 1.478
+ $atom:D2A $mol:. @atom:C3 0.0 0.482 0.634 1.190
+ $atom:C3A $mol:. @atom:C1 0.0 0.401 0.486 0.902
+ $atom:C4A $mol:. @atom:C1 0.0 0.468 0.569 0.543
+ $atom:C1B $mol:. @atom:C1 0.0 0.893 0.507 1.499
+ $atom:D2B $mol:. @atom:C3 0.0 0.985 0.539 1.202
+ $atom:C3B $mol:. @atom:C1 0.0 0.905 0.527 0.896
+ $atom:C4B $mol:. @atom:C1 0.0 0.980 0.627 0.549
+ }
+
+ write('Data Bond List') {
+ $bond:b1 $atom:GL0 $atom:PO4
+ $bond:b2 $atom:PO4 $atom:GL1
+ $bond:b3 $atom:GL1 $atom:GL2
+ $bond:b4 $atom:GL1 $atom:C1A
+ $bond:b5 $atom:C1A $atom:D2A
+ $bond:b6 $atom:D2A $atom:C3A
+ $bond:b9 $atom:C3A $atom:C4A
+ $bond:b10 $atom:GL2 $atom:C1B
+ $bond:b11 $atom:C1B $atom:D2B
+ $bond:b12 $atom:D2B $atom:C3B
+ $bond:b13 $atom:C3B $atom:C4B
+ }
+
+}
+DOPG.scale(10)
+
+# Optional: Move the molecule to a convenient location for buildling a bilayer:
+# Center the molecule in the X,Y directions and set the min Z value.
+DOPG.move(-6.4725,-5.55,-3.08)
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DOPS.lt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DOPS.lt
new file mode 100644
index 000000000..923003736
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DOPS.lt
@@ -0,0 +1,40 @@
+import "martini.lt"
+
+DOPS inherits MARTINI {
+
+ # atomID molID atomTyle charge X Y Z
+ write('Data Atoms') {
+ $atom:CNO $mol:. @atom:P5 0.0 0.529 0.555 2.503
+ $atom:PO4 $mol:. @atom:Qa -1.0 0.488 0.431 2.145
+ $atom:GL1 $mol:. @atom:Na 0.0 0.540 0.568 1.828
+ $atom:GL2 $mol:. @atom:Na 0.0 0.855 0.628 1.813
+ $atom:C1A $mol:. @atom:C1 0.0 0.411 0.565 1.495
+ $atom:D2A $mol:. @atom:C3 0.0 0.370 0.690 1.155
+ $atom:C3A $mol:. @atom:C1 0.0 0.451 0.410 0.923
+ $atom:C4A $mol:. @atom:C1 0.0 0.477 0.460 0.523
+ $atom:C1B $mol:. @atom:C1 0.0 0.951 0.445 1.499
+ $atom:D2B $mol:. @atom:C3 0.0 0.858 0.501 1.182
+ $atom:C3B $mol:. @atom:C1 0.0 0.905 0.701 0.911
+ $atom:C4B $mol:. @atom:C1 0.0 0.960 0.639 0.524
+ }
+
+ write('Data Bond List') {
+ $bond:b1 $atom:CNO $atom:PO4
+ $bond:b2 $atom:PO4 $atom:GL1
+ $bond:b3 $atom:GL1 $atom:GL2
+ $bond:b4 $atom:GL1 $atom:C1A
+ $bond:b5 $atom:C1A $atom:D2A
+ $bond:b6 $atom:D2A $atom:C3A
+ $bond:b9 $atom:C3A $atom:C4A
+ $bond:b10 $atom:GL2 $atom:C1B
+ $bond:b11 $atom:C1B $atom:D2B
+ $bond:b12 $atom:D2B $atom:C3B
+ $bond:b13 $atom:C3B $atom:C4B
+ }
+
+}
+DOPS.scale(10)
+
+# Optional: Move the molecule to a convenient location for buildling a bilayer:
+# Center the molecule in the X,Y directions and set the min Z value.
+DOPS.move(-6.49583,-5.49417,-2.88)
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DPPC.lt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DPPC.lt
new file mode 100644
index 000000000..0f7641dd5
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DPPC.lt
@@ -0,0 +1,40 @@
+import "martini.lt"
+
+DPPC inherits MARTINI {
+
+ # atomID molID atomTyle charge X Y Z
+ write('Data Atoms') {
+ $atom:NC3 $mol:. @atom:Q0 1.0 0.485 0.515 2.472
+ $atom:PO4 $mol:. @atom:Qa -1.0 0.589 0.568 2.201
+ $atom:GL1 $mol:. @atom:Na 0.0 0.509 0.536 1.838
+ $atom:GL2 $mol:. @atom:Na 0.0 0.772 0.531 1.760
+ $atom:C1A $mol:. @atom:C1 0.0 0.396 0.476 1.453
+ $atom:C2A $mol:. @atom:C1 0.0 0.446 0.522 1.174
+ $atom:C3A $mol:. @atom:C1 0.0 0.421 0.596 0.897
+ $atom:C4A $mol:. @atom:C1 0.0 0.434 0.607 0.553
+ $atom:C1B $mol:. @atom:C1 0.0 0.922 0.644 1.490
+ $atom:C2B $mol:. @atom:C1 0.0 0.943 0.481 1.201
+ $atom:C3B $mol:. @atom:C1 0.0 0.926 0.607 0.904
+ $atom:C4B $mol:. @atom:C1 0.0 0.936 0.514 0.557
+ }
+
+ write('Data Bond List') {
+ $bond:b1 $atom:NC3 $atom:PO4
+ $bond:b2 $atom:PO4 $atom:GL1
+ $bond:b3 $atom:GL1 $atom:GL2
+ $bond:b4 $atom:GL1 $atom:C1A
+ $bond:b5 $atom:C1A $atom:C2A
+ $bond:b6 $atom:C2A $atom:C3A
+ $bond:b9 $atom:C3A $atom:C4A
+ $bond:b10 $atom:GL2 $atom:C1B
+ $bond:b11 $atom:C1B $atom:C2B
+ $bond:b12 $atom:C2B $atom:C3B
+ $bond:b12 $atom:C3B $atom:C4B
+ }
+
+}
+DPPC.scale(10)
+
+# Optional: Move the molecule to a convenient location for buildling a bilayer:
+# Center the molecule in the X,Y directions and set the min Z value.
+DPPC.move(-6.4825,-5.4975,-3.18)
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DPPE.lt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DPPE.lt
new file mode 100644
index 000000000..ee3113356
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DPPE.lt
@@ -0,0 +1,40 @@
+import "martini.lt"
+
+DPPE inherits MARTINI {
+
+ # atomID molID atomTyle charge X Y Z
+ write('Data Atoms') {
+ $atom:NH3 $mol:. @atom:Qd 1.0 0.661 0.516 2.470
+ $atom:PO4 $mol:. @atom:Qa -1.0 0.366 0.541 2.169
+ $atom:GL1 $mol:. @atom:Na 0.0 0.474 0.578 1.822
+ $atom:GL2 $mol:. @atom:Na 0.0 0.782 0.642 1.834
+ $atom:C1A $mol:. @atom:C1 0.0 0.359 0.556 1.498
+ $atom:C2A $mol:. @atom:C1 0.0 0.419 0.532 1.179
+ $atom:C3A $mol:. @atom:C1 0.0 0.471 0.476 0.877
+ $atom:C4A $mol:. @atom:C1 0.0 0.461 0.629 0.523
+ $atom:C1B $mol:. @atom:C1 0.0 0.916 0.482 1.520
+ $atom:C2B $mol:. @atom:C1 0.0 0.911 0.555 1.202
+ $atom:C3B $mol:. @atom:C1 0.0 0.977 0.547 0.890
+ $atom:C4B $mol:. @atom:C1 0.0 0.953 0.463 0.517
+ }
+
+ write('Data Bond List') {
+ $bond:b1 $atom:NH3 $atom:PO4
+ $bond:b2 $atom:PO4 $atom:GL1
+ $bond:b3 $atom:GL1 $atom:GL2
+ $bond:b4 $atom:GL1 $atom:C1A
+ $bond:b5 $atom:C1A $atom:C2A
+ $bond:b6 $atom:C2A $atom:C3A
+ $bond:b9 $atom:C3A $atom:C4A
+ $bond:b10 $atom:GL2 $atom:C1B
+ $bond:b11 $atom:C1B $atom:C2B
+ $bond:b12 $atom:C2B $atom:C3B
+ $bond:b13 $atom:C3B $atom:C4B
+ }
+
+}
+DPPE.scale(10)
+
+# Optional: Move the molecule to a convenient location for buildling a bilayer:
+# Center the molecule in the X,Y directions and set the min Z value.
+DPPE.move(-6.45833,-5.43083,-2.82)
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DSPC.lt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DSPC.lt
new file mode 100644
index 000000000..d68a26650
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DSPC.lt
@@ -0,0 +1,45 @@
+import "martini.lt"
+
+DSPC inherits MARTINI {
+
+ # atomID molID atomTyle charge X Y Z
+ # (guessing the coordinates, and scaling them manually)
+ write('Data Atoms') {
+ $atom:NC3 $mol:. @atom:Q0 1.0 0.000000 0.000000 6.000000
+ $atom:PO4 $mol:. @atom:Qa -1.0 0.000000 0.000000 5.000000
+ $atom:GL1 $mol:. @atom:Na 0.0 0.000000 0.000000 4.000000
+ $atom:GL2 $mol:. @atom:Na 0.0 0.000000 1.000000 4.000000
+ $atom:C1A $mol:. @atom:C1 0.0 0.000000 -1.000000 4.000000
+ $atom:C2A $mol:. @atom:C1 0.0 0.000000 -1.000000 3.000000
+ $atom:C3A $mol:. @atom:C1 0.0 0.000000 -1.000000 2.000000
+ $atom:C4A $mol:. @atom:C1 0.0 0.000000 -1.000000 1.000000
+ $atom:C5A $mol:. @atom:C1 0.0 0.000000 -1.000000 0.000000
+ $atom:C1B $mol:. @atom:C1 0.0 0.000000 1.000000 3.000000
+ $atom:C2B $mol:. @atom:C1 0.0 0.000000 1.000000 2.000000
+ $atom:C3B $mol:. @atom:C1 0.0 0.000000 1.000000 1.000000
+ $atom:C4B $mol:. @atom:C1 0.0 0.000000 1.000000 0.000000
+ $atom:C5B $mol:. @atom:C1 0.0 0.000000 1.000000 -1.000000
+ }
+
+ write('Data Bond List') {
+ $bond:b1 $atom:NC3 $atom:PO4
+ $bond:b2 $atom:PO4 $atom:GL1
+ $bond:b3 $atom:GL1 $atom:GL2
+ $bond:b4 $atom:GL1 $atom:C1A
+ $bond:b5 $atom:C1A $atom:C2A
+ $bond:b6 $atom:C2A $atom:C3A
+ $bond:b9 $atom:C3A $atom:C4A
+ $bond:b10 $atom:C4A $atom:C5A
+ $bond:b11 $atom:GL2 $atom:C1B
+ $bond:b12 $atom:C1B $atom:C2B
+ $bond:b13 $atom:C2B $atom:C3B
+ $bond:b14 $atom:C3B $atom:C4B
+ $bond:b15 $atom:C4B $atom:C5B
+ }
+
+}
+DSPC.scale(4.7)
+
+# Optional: Move the molecule to a convenient location for buildling a bilayer:
+# Center the molecule in the X,Y directions and set the min Z value.
+DSPC.move(-0,-0.335714,7.05).rot(-30.0,0,0,1)
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DSPE.lt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DSPE.lt
new file mode 100644
index 000000000..2e10ed662
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DSPE.lt
@@ -0,0 +1,40 @@
+import "martini.lt"
+
+DSPE inherits MARTINI {
+
+ # atomID molID atomTyle charge X Y Z
+ write('Data Atoms') {
+ $atom:NH3 $mol:. @atom:Qd 1.0 0.000000 0.000000 6.000000
+ $atom:PO4 $mol:. @atom:Qa -1.0 0.000000 0.000000 5.000000
+ $atom:GL1 $mol:. @atom:Na 0.0 0.000000 0.000000 4.000000
+ $atom:GL2 $mol:. @atom:Na 0.0 0.000000 1.000000 4.000000
+ $atom:C1A $mol:. @atom:C1 0.0 0.000000 -1.000000 4.000000
+ $atom:C2A $mol:. @atom:C1 0.0 0.000000 -1.000000 3.000000
+ $atom:C3A $mol:. @atom:C1 0.0 0.000000 -1.000000 2.000000
+ $atom:C4A $mol:. @atom:C1 0.0 0.000000 -1.000000 1.000000
+ $atom:C5A $mol:. @atom:C1 0.0 0.000000 -1.000000 0.000000
+ $atom:C1B $mol:. @atom:C1 0.0 0.000000 1.000000 3.000000
+ $atom:C2B $mol:. @atom:C1 0.0 0.000000 1.000000 2.000000
+ $atom:C3B $mol:. @atom:C1 0.0 0.000000 1.000000 1.000000
+ $atom:C4B $mol:. @atom:C1 0.0 0.000000 1.000000 0.000000
+ $atom:C5B $mol:. @atom:C1 0.0 0.000000 1.000000 -1.000000
+ }
+
+ write('Data Bond List') {
+ $bond:b1 $atom:NH3 $atom:PO4
+ $bond:b2 $atom:PO4 $atom:GL1
+ $bond:b3 $atom:GL1 $atom:GL2
+ $bond:b4 $atom:GL1 $atom:C1A
+ $bond:b5 $atom:C1A $atom:C2A
+ $bond:b6 $atom:C2A $atom:C3A
+ $bond:b9 $atom:C3A $atom:C4A
+ $bond:b10 $atom:C4A $atom:C5A
+ $bond:b11 $atom:GL2 $atom:C1B
+ $bond:b12 $atom:C1B $atom:C2B
+ $bond:b13 $atom:C2B $atom:C3B
+ $bond:b14 $atom:C3B $atom:C4B
+ $bond:b15 $atom:C4B $atom:C5B
+ }
+
+}
+DSPE.scale(4.7)
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DUPC.lt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DUPC.lt
new file mode 100644
index 000000000..89144c3d2
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/DUPC.lt
@@ -0,0 +1,41 @@
+import "martini.lt"
+
+DUPC inherits MARTINI {
+
+ # atomID molID atomTyle charge X Y Z
+ # (guessing the coordinates, and scaling them manually)
+ write('Data Atoms') {
+ $atom:NC3 $mol:. @atom:Q0 1.0 0.000000 0.000000 6.000000
+ $atom:PO4 $mol:. @atom:Qa -1.0 0.000000 0.000000 5.000000
+ $atom:GL1 $mol:. @atom:Na 0.0 0.000000 0.000000 4.000000
+ $atom:GL2 $mol:. @atom:Na 0.0 0.000000 1.000000 4.000000
+ $atom:C1A $mol:. @atom:C1 0.0 0.000000 -1.000000 4.000000
+ $atom:E2A $mol:. @atom:C41 0.0 0.000000 -1.000000 3.000000
+ $atom:D3A $mol:. @atom:C4 0.0 0.000000 -1.000000 2.000000
+ $atom:C4A $mol:. @atom:C1 0.0 0.000000 -1.000000 1.000000
+ $atom:C1B $mol:. @atom:C1 0.0 0.000000 1.000000 3.000000
+ $atom:F2B $mol:. @atom:C42 0.0 0.000000 1.000000 2.000000
+ $atom:D3B $mol:. @atom:C4 0.0 0.000000 1.000000 1.000000
+ $atom:C4B $mol:. @atom:C1 0.0 0.000000 1.000000 0.000000
+ }
+
+ write('Data Bond List') {
+ $bond:b1 $atom:NC3 $atom:PO4
+ $bond:b2 $atom:PO4 $atom:GL1
+ $bond:b3 $atom:GL1 $atom:GL2
+ $bond:b4 $atom:GL1 $atom:C1A
+ $bond:b5 $atom:C1A $atom:E2A
+ $bond:b6 $atom:E2A $atom:D3A
+ $bond:b9 $atom:D3A $atom:C4A
+ $bond:b10 $atom:GL2 $atom:C1B
+ $bond:b11 $atom:C1B $atom:F2B
+ $bond:b12 $atom:F2B $atom:D3B
+ $bond:b13 $atom:D3B $atom:C4B
+ }
+
+}
+DUPC.scale(4.7)
+
+# Optional: Move the molecule to a convenient location for buildling a bilayer:
+# Center the molecule in the X,Y directions and set the min Z value.
+DUPC.move(-0,-0.391667,2.35)
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/POPC.lt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/POPC.lt
new file mode 100644
index 000000000..2fef27f87
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/POPC.lt
@@ -0,0 +1,40 @@
+import "martini.lt"
+
+POPC inherits MARTINI {
+
+ # atomID molID atomTyle charge X Y Z
+ write('Data Atoms') {
+ $atom:NC3 $mol:. @atom:Q0 1.0 0.561 0.534 2.457
+ $atom:PO4 $mol:. @atom:Qa -1.0 0.435 0.553 2.166
+ $atom:GL1 $mol:. @atom:Na 0.0 0.478 0.512 1.813
+ $atom:GL2 $mol:. @atom:Na 0.0 0.778 0.470 1.805
+ $atom:C1A $mol:. @atom:C1 0.0 0.415 0.469 1.422
+ $atom:D2A $mol:. @atom:C3 0.0 0.451 0.703 1.201
+ $atom:C3A $mol:. @atom:C1 0.0 0.412 0.577 0.903
+ $atom:C4A $mol:. @atom:C1 0.0 0.415 0.606 0.559
+ $atom:C1B $mol:. @atom:C1 0.0 0.938 0.611 1.512
+ $atom:C2B $mol:. @atom:C1 0.0 0.919 0.457 1.196
+ $atom:C3B $mol:. @atom:C1 0.0 0.924 0.591 0.907
+ $atom:C4B $mol:. @atom:C1 0.0 0.927 0.557 0.559
+ }
+
+ write('Data Bond List') {
+ $bond:b1 $atom:NC3 $atom:PO4
+ $bond:b2 $atom:PO4 $atom:GL1
+ $bond:b3 $atom:GL1 $atom:GL2
+ $bond:b4 $atom:GL1 $atom:C1A
+ $bond:b5 $atom:C1A $atom:D2A
+ $bond:b6 $atom:D2A $atom:C3A
+ $bond:b9 $atom:C3A $atom:C4A
+ $bond:b10 $atom:GL2 $atom:C1B
+ $bond:b11 $atom:C1B $atom:C2B
+ $bond:b12 $atom:C2B $atom:C3B
+ $bond:b13 $atom:C3B $atom:C4B
+ }
+
+}
+POPC.scale(10)
+
+# Optional: Move the molecule to a convenient location for buildling a bilayer:
+# Center the molecule in the X,Y directions and set the min Z value.
+POPC.move(-6.3775,-5.53333,-3.24)
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/POPE.lt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/POPE.lt
new file mode 100644
index 000000000..4781cbf04
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/POPE.lt
@@ -0,0 +1,36 @@
+import "martini.lt"
+
+POPE inherits MARTINI {
+
+ # atomID molID atomTyle charge X Y Z
+ write('Data Atoms') {
+ $atom:NH3 $mol:. @atom:Qd 1.0 0.641 0.577 2.464
+ $atom:PO4 $mol:. @atom:Qa -1.0 0.418 0.543 2.154
+ $atom:GL1 $mol:. @atom:Na 0.0 0.500 0.593 1.818
+ $atom:GL2 $mol:. @atom:Na 0.0 0.804 0.535 1.822
+ $atom:C1A $mol:. @atom:C1 0.0 0.377 0.595 1.479
+ $atom:D2A $mol:. @atom:C3 0.0 0.495 0.498 1.182
+ $atom:C3A $mol:. @atom:C1 0.0 0.418 0.660 0.899
+ $atom:C4A $mol:. @atom:C1 0.0 0.448 0.518 0.542
+ $atom:C1B $mol:. @atom:C1 0.0 0.925 0.442 1.498
+ $atom:C2B $mol:. @atom:C1 0.0 0.985 0.564 1.204
+ $atom:C3B $mol:. @atom:C1 0.0 0.907 0.473 0.900
+ $atom:C4B $mol:. @atom:C1 0.0 0.968 0.530 0.537
+ }
+
+ write('Data Bond List') {
+ $bond:b1 $atom:NH3 $atom:PO4
+ $bond:b2 $atom:PO4 $atom:GL1
+ $bond:b3 $atom:GL1 $atom:GL2
+ $bond:b4 $atom:GL1 $atom:C1A
+ $bond:b5 $atom:C1A $atom:D2A
+ $bond:b6 $atom:D2A $atom:C3A
+ $bond:b9 $atom:C3A $atom:C4A
+ $bond:b10 $atom:GL2 $atom:C1B
+ $bond:b11 $atom:C1B $atom:C2B
+ $bond:b12 $atom:C2B $atom:C3B
+ $bond:b13 $atom:C3B $atom:C4B
+ }
+
+}
+POPE.scale(10)
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/POPG.lt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/POPG.lt
new file mode 100644
index 000000000..a6f47af16
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/POPG.lt
@@ -0,0 +1,40 @@
+import "martini.lt"
+
+POPG inherits MARTINI {
+
+ # atomID molID atomTyle charge X Y Z
+ write('Data Atoms') {
+ $atom:GL0 $mol:. @atom:P4 0.0 0.601 0.560 2.480
+ $atom:PO4 $mol:. @atom:Qa -1.0 0.501 0.608 2.161
+ $atom:GL1 $mol:. @atom:Na 0.0 0.534 0.516 1.827
+ $atom:GL2 $mol:. @atom:Na 0.0 0.813 0.629 1.783
+ $atom:C1A $mol:. @atom:C1 0.0 0.381 0.522 1.477
+ $atom:D2A $mol:. @atom:C3 0.0 0.502 0.645 1.187
+ $atom:C3A $mol:. @atom:C1 0.0 0.442 0.489 0.901
+ $atom:C4A $mol:. @atom:C1 0.0 0.397 0.635 0.555
+ $atom:C1B $mol:. @atom:C1 0.0 0.948 0.614 1.482
+ $atom:C2B $mol:. @atom:C1 0.0 0.968 0.454 1.207
+ $atom:C3B $mol:. @atom:C1 0.0 0.958 0.520 0.898
+ $atom:C4B $mol:. @atom:C1 0.0 0.896 0.515 0.542
+ }
+
+ write('Data Bond List') {
+ $bond:b1 $atom:GL0 $atom:PO4
+ $bond:b2 $atom:PO4 $atom:GL1
+ $bond:b3 $atom:GL1 $atom:GL2
+ $bond:b4 $atom:GL1 $atom:C1A
+ $bond:b5 $atom:C1A $atom:D2A
+ $bond:b6 $atom:D2A $atom:C3A
+ $bond:b9 $atom:C3A $atom:C4A
+ $bond:b10 $atom:GL2 $atom:C1B
+ $bond:b11 $atom:C1B $atom:C2B
+ $bond:b12 $atom:C2B $atom:C3B
+ $bond:b13 $atom:C3B $atom:C4B
+ }
+
+}
+POPG.scale(10)
+
+# Optional: Move the molecule to a convenient location for buildling a bilayer:
+# Center the molecule in the X,Y directions and set the min Z value.
+POPG.move(-6.6175,-5.58917,-3.07)
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/POPS.lt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/POPS.lt
new file mode 100644
index 000000000..158f19db8
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/POPS.lt
@@ -0,0 +1,40 @@
+import "martini.lt"
+
+POPS inherits MARTINI {
+
+ # atomID molID atomTyle charge X Y Z
+ write('Data Atoms') {
+ $atom:CNO $mol:. @atom:P5 0.0 0.612 0.590 2.506
+ $atom:PO4 $mol:. @atom:Qa -1.0 0.497 0.582 2.177
+ $atom:GL1 $mol:. @atom:Na 0.0 0.517 0.589 1.823
+ $atom:GL2 $mol:. @atom:Na 0.0 0.843 0.573 1.782
+ $atom:C1A $mol:. @atom:C1 0.0 0.383 0.633 1.484
+ $atom:D2A $mol:. @atom:C3 0.0 0.419 0.429 1.206
+ $atom:C3A $mol:. @atom:C1 0.0 0.440 0.530 0.892
+ $atom:C4A $mol:. @atom:C1 0.0 0.441 0.611 0.527
+ $atom:C1B $mol:. @atom:C1 0.0 0.937 0.511 1.490
+ $atom:C2B $mol:. @atom:C1 0.0 0.917 0.474 1.186
+ $atom:C3B $mol:. @atom:C1 0.0 0.938 0.627 0.897
+ $atom:C4B $mol:. @atom:C1 0.0 0.947 0.502 0.530
+ }
+
+ write('Data Bond List') {
+ $bond:b1 $atom:CNO $atom:PO4
+ $bond:b2 $atom:PO4 $atom:GL1
+ $bond:b3 $atom:GL1 $atom:GL2
+ $bond:b4 $atom:GL1 $atom:C1A
+ $bond:b5 $atom:C1A $atom:D2A
+ $bond:b6 $atom:D2A $atom:C3A
+ $bond:b9 $atom:C3A $atom:C4A
+ $bond:b10 $atom:GL2 $atom:C1B
+ $bond:b11 $atom:C1B $atom:C2B
+ $bond:b12 $atom:C2B $atom:C3B
+ $bond:b13 $atom:C3B $atom:C4B
+ }
+
+}
+POPS.scale(10)
+
+# Optional: Move the molecule to a convenient location for buildling a bilayer:
+# Center the molecule in the X,Y directions and set the min Z value.
+POPS.move(-6.57583,-5.5425,-2.92)
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/PPCS.lt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/PPCS.lt
new file mode 100644
index 000000000..09a5ff878
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/PPCS.lt
@@ -0,0 +1,41 @@
+import "martini.lt"
+
+PPCS inherits MARTINI {
+
+ # atomID molID atomTyle charge X Y Z
+ # (guessing the coordinates, and scaling them manually)
+ write('Data Atoms') {
+ $atom:NC3 $mol:. @atom:Q0 1.0 0.000000 0.000000 6.000000
+ $atom:PO4 $mol:. @atom:Qa -1.0 0.000000 0.000000 5.000000
+ $atom:CNO $mol:. @atom:P5 0.0 0.000000 0.000000 4.000000
+ $atom:CN1 $mol:. @atom:P1 0.0 0.000000 1.000000 4.000000
+ $atom:C1A $mol:. @atom:C1 0.0 0.000000 -1.000000 4.000000
+ $atom:C2A $mol:. @atom:C1 0.0 0.000000 -1.000000 3.000000
+ $atom:C3A $mol:. @atom:C1 0.0 0.000000 -1.000000 2.000000
+ $atom:C4A $mol:. @atom:C1 0.0 0.000000 -1.000000 1.000000
+ $atom:D1B $mol:. @atom:C3 0.0 0.000000 1.000000 3.000000
+ $atom:C2B $mol:. @atom:C1 0.0 0.000000 1.000000 2.000000
+ $atom:C3B $mol:. @atom:C1 0.0 0.000000 1.000000 1.000000
+ $atom:C4B $mol:. @atom:C1 0.0 0.000000 1.000000 0.000000
+ }
+
+ write('Data Bond List') {
+ $bond:b1 $atom:NC3 $atom:PO4
+ $bond:b2 $atom:PO4 $atom:CNO
+ $bond:b3 $atom:CNO $atom:CN1
+ $bond:b4 $atom:CNO $atom:C1A
+ $bond:b5 $atom:C1A $atom:C2A
+ $bond:b6 $atom:C2A $atom:C3A
+ $bond:b9 $atom:C3A $atom:C4A
+ $bond:b10 $atom:CN1 $atom:D1B
+ $bond:b11 $atom:D1B $atom:C2B
+ $bond:b12 $atom:C2B $atom:C3B
+ $bond:b13 $atom:C3B $atom:C4B
+ }
+
+}
+PPCS.scale(4.7)
+
+# Optional: Move the molecule to a convenient location for buildling a bilayer:
+# Center the molecule in the X,Y directions and set the min Z value.
+PPCS.move(-0,-0.391667,2.35).rot(-30.0,0,0,1)
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/README.txt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/README.txt
new file mode 100644
index 000000000..c498fbe4d
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/README.txt
@@ -0,0 +1,74 @@
+This directory contains many .LT files molecules
+which have been parameterized with the MARTINI force field
+and converted into moltemplate format.
+
+------- CITE -----------------------------
+NOTE: We extracted the parameters in the MARTINI force field from the files
+distributed with the "EMC" tool. If you use these .lt files, please also cite:
+P. J. in ‘t Veld and G. C. Rutledge, Macromolecules 2003, 36, 7358.
+---------------------------------------------
+THESE FILES HAVE NOT BEEN CAREFULLY TESTED. PLEASE REPORT BROKEN EXAMPLES TO:
+jewett.aij -at- gmail.com, or report issues at github.com/jewettaij/moltemplate
+---------------------------------------------
+PLEASE SHARE ANY NEW EXAMPLES YOU CREATE WITH THE COMMUNITY, either by emailing:
+jewett.aij -at- gmail.com, or a pull request at github.com/jewettaij/moltemplate
+---------------------------------------------
+
+How to use these files:
+
+Look at the "DOPC_bilayer_preformed" example.
+In particular, look at the "moltemplate_files/system.lt" file.
+
+This example contains only one kind of lipid, but you can create a mixture
+by replacing the "lipids = new DPPC" command with a command like:
+lipids = new random([DPPC, DSPC], [195,195], 1234)
+
+----- comments -----
+
+Several of the examples in the "MARTINI_examples" directory are limited to
+only one kind of lipid. In these examples, the force field parameters were
+hard coded inside the definition of the lipid molecule
+(specifically, the DPPC.lt file).
+This makes the examples slightly easier to read and understand because
+everything is contained in the same file, but not useful for general use.
+
+This directory, on the other hand, contains more general .LT files useful
+for building multi-component membranes with multiple types of lipids and
+sterols. Because most of these molecules share many of the the same atom
+types and force field parameters, all of this information has been saved
+in a separate file, "martini.lt", which is located in the
+"moltemplate/force_fields" subdirectory (distributed with moltemplate).
+
+The conversion to MOLTEMPLATE (.LT) format was done by
+David Stelter and Saeed Momeni Bashusqeh, converting the
+EMC files distributed by Pieter J. in 't Veld.
+
+--- Generalizing to other Lipids ---
+
+More Lipids and Sterols can be downloaded at:
+http://cgmartini.nl/index.php/force-field-parameters/lipids
+(http://cgmartini.nl)
+in gromacs .itp and .GRO formats and converted into moltemplate format.
+
+For inspiration how this should be done, download the DPPC molecule files from
+http://cgmartini.nl/index.php/force-field-parameters/lipids2/351-lipid.html?dir=PC&lipid=DOPC
+and compare these files with the DOPC.lt file in this directory.
+
+We copied the coordinates from the DOPC.gro file into the DOPC.lt file,
+and (attempted to) make sure that the atom types matched the atom types
+in the "martini.lt" file (which should also match the names in the .ITP files).
+
+--- Generalizing to other kinds of molecules (eg. amino acids ---
+
+The "martini.lt" file currently only contains the definitions of atoms
+used to simulate lipids and sterols.
+To simulate other molecules such as proteins using the MARTINI force field,
+you will need to create a more comprehensive "martini.lt" file which includes
+these new particle types. One way to do that is to download the .PRM files
+(EMC format) for the molecule types you are interested in, and include them
+in the list of .PRM files when you run the "emcprm2lt.py" conversion script.
+
+For more details how this can be done, go to the "force_field" subdirectory
+and look for the "martini.lt" file. Additional .PRM files are located in
+the "martini" subdirectory in that folder.
+
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/water.lt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/water.lt
new file mode 100644
index 000000000..6513d8341
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/MARTINI_lipid_files/water.lt
@@ -0,0 +1,10 @@
+import "martini.lt"
+
+#water molecules in MARTINI contain only one particle
+
+MW inherits MARTINI {
+ #AtomID MolID AtomType Charge x y z
+ write("Data Atoms") {
+ $atom $mol @atom:P4 0 0 0 0
+ }
+}
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/README.txt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/README.txt
new file mode 100644
index 000000000..f9a4fe3f6
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/README.txt
@@ -0,0 +1,15 @@
+
+This example of the formation of a coarse-grained DPPC lipid-bilayer uses the
+Martini force-field v2.0 (2013-10), was provided by Saeed Momeni Bashusqeh.
+In this example, the initial coordinates are generated by PACKMOL.
+If you prefer, there is also an example of a Martini DPPC bilayer
+which has been preassembled using moltemplate commands.
+(That example does not require PACKMOL.)
+
+step 1)
+To build the files which LAMMPS needs, follow the instructions in:
+README_setup.sh
+
+step 2)
+To run LAMMPS with these files, follow these instructions:
+README_run.sh
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/README_run.sh b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/README_run.sh
new file mode 100755
index 000000000..905a9f7b0
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/README_run.sh
@@ -0,0 +1,21 @@
+# --- Running LAMMPS ---
+# -------- PREREQUISITES: --------
+# The 2 files "run.in.min", "run.in.npt", and "run.in.nvt" are LAMMPS
+# input scripts which link to the input scripts and data files
+# you hopefully have created earlier with moltemplate.sh:
+# system.in.init, system.in.settings, system.data
+# If not, carry out the instructions in "README_setup.sh".
+#
+# -- Instructions: --
+# If "lmp_mpi" is the name of the command you use to invoke lammps,
+# then you would run lammps on these files this way:
+
+
+lmp_mpi -i run.in.min # minimization
+lmp_mpi -i run.in.npt # simulation at constant pressure
+lmp_mpi -i run.in.nvt # simulation at constant volume
+
+# If you have compiled the MPI version of lammps, you can run lammps in parallel
+#mpirun -np 4 lmp_mpi -i run.in.npt
+#mpirun -np 4 lmp_mpi -i run.in.nvt
+# (assuming you have 4 processors available)
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/README_setup.sh b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/README_setup.sh
new file mode 100755
index 000000000..964f151f4
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/README_setup.sh
@@ -0,0 +1,28 @@
+
+# Create the coordinates of the atoms using PACKMOL
+cd packmol_files
+
+ packmol < mix_lipids+water.inp
+ mv -f system.xyz ../moltemplate_files/
+
+cd ..
+
+
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh -xyz system.xyz system.lt
+
+ # This will generate various files with names ending in *.in* and *.data.
+ # Move them to the directory where you plan to run LAMMPS (in this case "../")
+ mv -f system.data system.in* ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/README_visualize.txt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/README_visualize.txt
new file mode 100644
index 000000000..e8ad74401
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.0 -0.5}
+ pbc box -shiftcenterrel {0.0 0.0 -0.5} -style tubes -width 0.75
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/images/DPPC_martini_LR.jpg b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/images/DPPC_martini_LR.jpg
new file mode 100644
index 000000000..cc85e79ff
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/images/DPPC_martini_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/images/t=0_after_minimization_LR.jpg b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/images/t=0_after_minimization_LR.jpg
new file mode 100644
index 000000000..3fa786295
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/images/t=0_after_minimization_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/images/t=13ns_450K_NVT_LR.jpg b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/images/t=13ns_450K_NVT_LR.jpg
new file mode 100644
index 000000000..b0df1a0aa
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/images/t=13ns_450K_NVT_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/images/t=26ns_300K_NPT_LR.jpg b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/images/t=26ns_300K_NPT_LR.jpg
new file mode 100644
index 000000000..e38e81006
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/images/t=26ns_300K_NPT_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/images/t=6ns_300K_NPT_LR.jpg b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/images/t=6ns_300K_NPT_LR.jpg
new file mode 100644
index 000000000..e1ef3f6fb
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/images/t=6ns_300K_NPT_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/images/water_martini_LR.jpg b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/images/water_martini_LR.jpg
new file mode 100644
index 000000000..a43675a5a
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/images/water_martini_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/moltemplate_files/lipid.lt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/moltemplate_files/lipid.lt
new file mode 100644
index 000000000..2ffc3887a
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/moltemplate_files/lipid.lt
@@ -0,0 +1,78 @@
+DPPC {
+
+ write_once("In Init") {
+ units real
+ atom_style full
+ bond_style hybrid harmonic
+ angle_style hybrid cosine/squared
+ dihedral_style none
+ improper_style none
+ pair_style hybrid lj/gromacs/coul/gromacs 9 12 0.000001 12
+ special_bonds lj/coul 0 1 1
+ dielectric 15
+ neigh_modify every 10
+ }
+
+ write("Data Atoms") {
+ $atom:1 $mol:. @atom:Q0 1.0 9.09 9.83 0.75
+ $atom:2 $mol:. @atom:Qa -1.0 5.68 7.31 0.00
+ $atom:3 $mol:. @atom:Na 0.0 5.50 5.61 3.28
+ $atom:4 $mol:. @atom:Na 0.0 6.65 2.22 3.04
+ $atom:5 $mol:. @atom:C1 0.0 5.15 7.65 7.06
+ $atom:6 $mol:. @atom:C1 0.0 7.91 7.17 10.54
+ $atom:7 $mol:. @atom:C1 0.0 9.24 8.25 14.96
+ $atom:8 $mol:. @atom:C1 0.0 12.19 11.75 16.38
+ $atom:9 $mol:. @atom:C1 0.0 5.52 1.61 7.40
+ $atom:10 $mol:. @atom:C1 0.0 6.53 2.26 12.25
+ $atom:11 $mol:. @atom:C1 0.0 3.51 1.81 16.01
+ $atom:12 $mol:. @atom:C1 0.0 0.00 0.00 18.19
+ }
+ write("Data Bonds") {
+ $bond:b1 @bond:Bo $atom:1 $atom:2
+ $bond:b2 @bond:Bo $atom:2 $atom:3
+ $bond:b3 @bond:Short $atom:3 $atom:4
+ $bond:b4 @bond:Bo $atom:3 $atom:5
+ $bond:b5 @bond:Bo $atom:5 $atom:6
+ $bond:b6 @bond:Bo $atom:6 $atom:7
+ $bond:b7 @bond:Bo $atom:7 $atom:8
+ $bond:b8 @bond:Bo $atom:4 $atom:9
+ $bond:b9 @bond:Bo $atom:9 $atom:10
+ $bond:b10 @bond:Bo $atom:10 $atom:11
+ $bond:b11 @bond:Bo $atom:11 $atom:12
+ }
+ write("Data Angles") {
+ $angle:a1 @angle:An1 $atom:1 $atom:2 $atom:3
+ $angle:a2 @angle:An2 $atom:2 $atom:3 $atom:5
+ $angle:a3 @angle:An2 $atom:2 $atom:3 $atom:4
+ $angle:a4 @angle:An2 $atom:4 $atom:3 $atom:5
+ $angle:a5 @angle:An1 $atom:3 $atom:4 $atom:9
+ $angle:a6 @angle:An1 $atom:3 $atom:5 $atom:6
+ $angle:a7 @angle:An1 $atom:5 $atom:6 $atom:7
+ $angle:a8 @angle:An1 $atom:6 $atom:7 $atom:8
+ $angle:a9 @angle:An1 $atom:4 $atom:9 $atom:10
+ $angle:a10 @angle:An1 $atom:9 $atom:10 $atom:11
+ $angle:a11 @angle:An1 $atom:10 $atom:11 $atom:12
+ }
+ write_once("Data Masses") {
+ @atom:Q0 72.0
+ @atom:Qa 72.0
+ @atom:Na 72.0
+ @atom:C1 72.0
+ }
+ write_once("In Settings") {
+ pair_coeff @atom:Q0 @atom:Q0 lj/gromacs/coul/gromacs 0.8365200764818 4.7
+ pair_coeff @atom:Q0 @atom:Qa lj/gromacs/coul/gromacs 1.0755258126195 4.7
+ pair_coeff @atom:Q0 @atom:Na lj/gromacs/coul/gromacs 0.9560229445507 4.7
+ pair_coeff @atom:Q0 @atom:C1 lj/gromacs/coul/gromacs 0.4780114722753 6.2
+ pair_coeff @atom:Qa @atom:Qa lj/gromacs/coul/gromacs 1.1950286806883 4.7
+ pair_coeff @atom:Qa @atom:Na lj/gromacs/coul/gromacs 0.9560229445507 4.7
+ pair_coeff @atom:Qa @atom:C1 lj/gromacs/coul/gromacs 0.4780114722753 6.2
+ pair_coeff @atom:Na @atom:Na lj/gromacs/coul/gromacs 0.9560229445507 4.7
+ pair_coeff @atom:Na @atom:C1 lj/gromacs/coul/gromacs 0.6453154875717 4.7
+ pair_coeff @atom:C1 @atom:C1 lj/gromacs/coul/gromacs 0.8365200764818 4.7
+ bond_coeff @bond:Bo harmonic 1.4937858508604 4.7
+ bond_coeff @bond:Short harmonic 1.4937858508604 3.7
+ angle_coeff @angle:An1 cosine/squared 2.9875717017208 180
+ angle_coeff @angle:An2 cosine/squared 2.9875717017208 120
+ }
+} #DPPC
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/moltemplate_files/system.lt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/moltemplate_files/system.lt
new file mode 100644
index 000000000..1879e6845
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/moltemplate_files/system.lt
@@ -0,0 +1,24 @@
+import "water.lt"
+import "lipid.lt"
+
+# The lipids and water must be listed instantiated in the same order
+# they appear in the packmol_files/mix_lipids+water.inp file:
+
+lipids = new DPPC[300]
+
+waters = new MW[6000]
+
+
+write_once("Data Boundary") {
+ 0 100.0 xlo xhi
+ 0 100.0 ylo yhi
+ 0 100.0 zlo zhi
+}
+
+
+write_once("In Settings") {
+pair_coeff @atom:MW/P4 @atom:DPPC/Q0 lj/gromacs/coul/gromacs 1.3384321223709 4.7
+pair_coeff @atom:MW/P4 @atom:DPPC/Qa lj/gromacs/coul/gromacs 1.3384321223709 4.7
+pair_coeff @atom:MW/P4 @atom:DPPC/Na lj/gromacs/coul/gromacs 0.9560229445507 4.7
+pair_coeff @atom:MW/P4 @atom:DPPC/C1 lj/gromacs/coul/gromacs 0.4780114722753 4.7
+}
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/moltemplate_files/water.lt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/moltemplate_files/water.lt
new file mode 100644
index 000000000..c58c89708
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/moltemplate_files/water.lt
@@ -0,0 +1,17 @@
+MW {
+ write_once("In Init") {
+ units real
+ atom_style full
+ pair_style hybrid lj/gromacs/coul/gromacs 9 12 0.000001 12
+ }
+
+ write("Data Atoms") {
+ $atom:1 $mol:. @atom:P4 0 0 0 0
+ }
+ write_once("Data Masses") {
+ @atom:P4 72.0
+ }
+ write_once("In Settings") {
+ pair_coeff @atom:P4 @atom:P4 lj/gromacs/coul/gromacs 1.1950286806883 4.7
+ }
+} #MW
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/packmol_files/README.txt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/packmol_files/README.txt
new file mode 100644
index 000000000..c61369a22
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/packmol_files/README.txt
@@ -0,0 +1,8 @@
+You can use packmol to create a file containing the atomic coordinates
+for a system of coarse-grained lipids mixed with water using this command:
+
+If it takes too long for packmol to run, try lowering the tolerance.
+(tolerance 2.0 should work)
+
+packmol < mix_lipids+water.inp
+
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/packmol_files/lipid.xyz b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/packmol_files/lipid.xyz
new file mode 100644
index 000000000..673f5e8af
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/packmol_files/lipid.xyz
@@ -0,0 +1,14 @@
+12
+ DPPC
+Q0 9.09 9.83 0.75
+Qa 5.68 7.31 0.00
+Na 5.50 5.61 3.28
+Na 6.65 2.22 3.04
+C1 5.15 7.65 7.06
+C1 7.91 7.17 10.54
+C1 9.24 8.25 14.96
+C1 12.19 11.75 16.38
+C1 5.52 1.61 7.40
+C1 6.53 2.26 12.25
+C1 3.51 1.81 16.01
+C1 0.00 0.00 18.19
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/packmol_files/mix_lipids+water.inp b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/packmol_files/mix_lipids+water.inp
new file mode 100644
index 000000000..6273cea50
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/packmol_files/mix_lipids+water.inp
@@ -0,0 +1,35 @@
+#
+# A mixture of coarse-grained (martini) DPPC (lipid) and water.
+#
+
+# All the atoms from diferent molecules will be separated at least 3.0
+# Anstroms at the solution.
+
+tolerance 3.0 # minimal distance between atoms in different molecules
+ # (you should also consider changing the "discale"
+ # parameter. I think discale=1.0 by default.)
+
+seed 12345 # seed for random number generator
+
+# The file type of input and output files is XYZ
+
+filetype xyz
+
+# The name of the output file
+
+output system.xyz
+
+# DPPC (lipid) molecules and water molecules will be put in a box
+# defined by the minimum coordinates x, y and z = 0 0 0. and maximum
+# coordinates 100 100 100. (Box size: 100x100x100)
+
+structure lipid.xyz
+ number 300
+ inside box 0.0 0.0 0.0 100.0 100.0 100.0
+end structure
+
+structure water.xyz
+ number 6000
+ inside box 0.0 0.0 0.0 100.0 100.0 100.0
+end structure
+
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/packmol_files/water.xyz b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/packmol_files/water.xyz
new file mode 100644
index 000000000..84fe1f74c
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/packmol_files/water.xyz
@@ -0,0 +1,3 @@
+1
+ water
+W 0 0 0
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/run.in.min b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/run.in.min
new file mode 100644
index 000000000..b08497f63
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/run.in.min
@@ -0,0 +1,32 @@
+# PREREQUISITES:
+#
+# You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+
+# ------------------------------- Initialization Section --------------------
+
+include "system.in.init"
+
+# ------------------------------- Atom Definition Section -------------------
+
+read_data "system.data"
+
+# ------------------------------- Settings Section --------------------------
+
+include "system.in.settings"
+
+# ------------------------------- Settings Section --------------------------
+
+include system.in.settings
+
+# ------------------------------- Run Section -------------------------------
+
+# -- simulation protocol --
+
+thermo 5
+dump 1 all custom 100 traj_equib0_min.lammpstrj id mol type x y z ix iy iz
+min_style sd
+min_modify dmax 0.01
+minimize 1.0e-4 1.0e-6 100000 400000
+
+write_data system_after_min.data
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/run.in.npt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/run.in.npt
new file mode 100644
index 000000000..a6a6143b3
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/run.in.npt
@@ -0,0 +1,116 @@
+# PREREQUISITES:
+#
+# 1) You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# 2) You must minimize the coordinates using by running lammps using:
+# lmp_mpi -i run.in.min (the name of your binary "lmp_mpi" may vary)
+#
+
+# ------------------------------- Initialization Section --------------------
+
+include "system.in.init"
+
+# ------------------------------- Atom Definition Section -------------------
+
+#read_data "system.data"
+read_data "system_after_min.data"
+
+# ------------------------------- Settings Section --------------------------
+
+include "system.in.settings"
+
+# ------------------------------- Run Section -------------------------------
+
+# -- simulation protocol --
+
+print "---------------------------------------------------------------------------"
+print "I often use Langevin dynamics initially at high temperatures and small"
+print "timesteps to relax the system. It seems more stable than Nose-Hoover."
+print "(This is probably not necessary.)"
+print "---------------------------------------------------------------------------"
+print " Note: Turning off 1-3 interactions during equilibration. (Turn them on later)"
+print "---------------------------------------------------------------------------"
+special_bonds lj/coul 0 0 1
+
+fix fxlan all langevin 450.0 450.0 100 123456 # temp: 450 K
+fix fxnph all nph iso 170.0 170.0 10000.0 # pressure: 170 barr
+thermo 100
+dump dmAll all custom 2000 traj_equib1_npt.lammpstrj id mol type x y z ix iy iz
+
+timestep 1.0 # (safer to use a small timestep initially)
+run 1000
+timestep 2.0
+run 1000
+timestep 5.0
+run 1000
+timestep 10.0
+run 2000
+timestep 20.0
+run 5000
+timestep 30.0 # (40.0 should be possible for lipid systems)
+
+run 50000
+
+unfix fxlan
+unfix fxnph
+undump dmAll
+
+print "---------------------------------------------------------------------------"
+print "--- Now continue the simulation using a Nose-Hoover Thermostat/Barostat ---"
+print "---------------------------------------------------------------------------"
+
+velocity all zero linear # <- eliminate drift due to non-zero total momentum
+ #fix 1 all momentum 1000 linear 1 1 1 # also works
+thermo 100
+#thermo_modify flush yes
+
+# temperature: 300 K, pressure: 1 barr
+fix fxnpt all npt temp 300.0 300.0 3000.0 iso 1.0 1.0 30000.0 drag 1.0
+dump dmAll all custom 5000 traj_equib2_npt.lammpstrj id mol type x y z ix iy iz
+
+run 50000
+unfix fxnpt
+undump dmAll
+
+
+# Pressure was equilibrated at 300K, but I initially run the simulation at
+# higher temperatures temporarily to speed up the proces of bilayer formation.
+# (Note: The boiling point of Martini-water is
+# I have to keep the volume constant (NVT) to prevent the water from boiling.
+dump dmAll all custom 10000 traj_equib3_nvt.lammpstrj id mol type x y z ix iy iz
+fix fxnvt all nvt temp 450.0 450.0 1000.0 tchain 1
+
+run 1000000
+unfix fxnvt
+undump dmAll
+
+
+print "---------------------------------------------------------------------------"
+print " Note: Turning ON 1-3 interactions again."
+print "---------------------------------------------------------------------------"
+special_bonds lj/coul 0 1 1
+
+dump dmAll all custom 100 traj_equib4_min.lammpstrj id mol type x y z ix iy iz
+minimize 1.0e-4 1.0e-6 100000 400000
+undump dmAll
+
+
+# Hopefully a bilayer has formed at this point.
+# (If not, run the equilibration simulation for longer.)
+# Now I lower the temperature back to 300K.
+# I should probably re-equilibrate the solvent pressure and surface tension
+# (Simulation under NPT conditions using "anisotropic" boundaries.)
+# (so that the surface tension in the plane is allowed to relax independently
+# of the water volume, perpendicular to the plane.) I do that now:
+# temperature: 300 K, pressure: 1 barr
+fix fxnpt all npt temp 300.0 300.0 30000.0 couple xy aniso 1.0 1.0 1000.0 drag 1.0
+dump dmAll all custom 10000 traj_equib5_npt.lammpstrj id mol type x y z ix iy iz
+
+timestep 30.0
+run 100000
+unfix fxnpt
+undump dmAll
+
+
+write_data system_after_npt.data
+
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/run.in.nvt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/run.in.nvt
new file mode 100644
index 000000000..cd3328919
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_formation_PACKMOL/run.in.nvt
@@ -0,0 +1,50 @@
+# PREREQUISITES:
+#
+# 1) You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# 2) You must minimize the coordinates using by running lammps:
+# lmp_mpi -i run.in.min (the name of your binary "lmp_mpi" may vary)
+# 3) You must equilibrate the system beforehand using "run.in.npt".
+# lmp_mpi -i run.in.npt
+# This will create the file "system_after_npt.data" which this file reads.
+# (Note: I have not verified that this equilibration protocol works well.)
+
+# ------------------------------- Initialization Section --------------------
+
+include "system.in.init"
+
+# ------------------------------- Atom Definition Section -------------------
+
+# Read the coordinates generated by an earlier simulation
+
+#read_data "system.data"
+#read_data "system_after_min.data"
+read_data "system_after_npt.data"
+
+# ------------------------------- Settings Section --------------------------
+
+include "system.in.settings"
+
+# ------------------------------- Settings Section --------------------------
+
+include system.in.settings
+
+# ------------------------------- Run Section -------------------------------
+
+# -- simulation protocol --
+
+velocity all zero linear # <- eliminate drift due to non-zero total momentum
+ #fix 1 all momentum 1000 linear 1 1 1 # also works
+timestep 30.0 # (40.0 should be possible for lipid systems)
+thermo 100
+#thermo_modify flush yes
+
+
+
+# Continue the simulation at constant volume (NVT) at 300K.
+dump dmAll all custom 10000 traj_nvt_300K.lammpstrj id mol type x y z ix iy iz
+fix fxnvt all nvt temp 300.0 300.0 3000.0 tchain 1
+
+run 10000000
+
+write_data system_after_nvt.data
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/README.txt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/README.txt
new file mode 100644
index 000000000..8f875b400
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/README.txt
@@ -0,0 +1,13 @@
+
+This example of the formation of a coarse-grained DPPC lipid-bilayer uses the
+Martini force-field v2.0 (2013-10), was provided by Saeed Momeni Bashusqeh.
+It's probably a good idea to run the simulation for a few ns to allow the
+lipids to reorient themselves.
+
+step 1)
+To build the files which LAMMPS needs, follow the instructions in:
+README_setup.sh
+
+step 2)
+To run LAMMPS with these files, follow these instructions:
+README_run.sh
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/README_run.sh b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/README_run.sh
new file mode 100755
index 000000000..65213b096
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/README_run.sh
@@ -0,0 +1,21 @@
+# --- Running LAMMPS ---
+# -------- PREREQUISITES: --------
+# The 2 files "run.in.min", "run.in.npt", and "run.in.nvt" are LAMMPS
+# input scripts which link to the input scripts and data files
+# you hopefully have created earlier with moltemplate.sh:
+# system.in.init, system.in.settings, system.data
+# If not, carry out the instructions in "README_setup.sh".
+#
+# -- Instructions: --
+# If "lmp_mpi" is the name of the command you use to invoke lammps,
+# then you would run lammps on these files this way:
+
+
+lmp_mpi -i run.in.min # minimization
+lmp_mpi -i run.in.npt # simulation at constant pressure
+lmp_mpi -i run.in.nvt # simulation at constant volume
+
+# If you have compiled the MPI version of lammps, you can run lammps in parallel
+#mpirun -np 4 lmp_mpi -i run.in.npt
+#mpirun -np 4 lmp_mpi -i run.in.nvt
+# (assuming you have 4 processors available)
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/README_setup.sh b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/README_setup.sh
new file mode 100755
index 000000000..cf22ee0fa
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/README_setup.sh
@@ -0,0 +1,23 @@
+# Use these commands to generate the LAMMPS input script and data file
+# (and other auxilliary files):
+
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh system.lt
+
+ # This will generate various files with names ending in *.in* and *.data.
+ # These files are the input files directly read by LAMMPS. Move them to
+ # the parent directory (or wherever you plan to run the simulation).
+
+ mv -f system.in* system.data ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/README_visualize.txt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/README_visualize.txt
new file mode 100644
index 000000000..e8ad74401
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.0 -0.5}
+ pbc box -shiftcenterrel {0.0 0.0 -0.5} -style tubes -width 0.75
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/images/DPPC_martini_LR.jpg b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/images/DPPC_martini_LR.jpg
new file mode 100644
index 000000000..cc85e79ff
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/images/DPPC_martini_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/images/t=0_bilayer_preformed_GL_LR.jpg b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/images/t=0_bilayer_preformed_GL_LR.jpg
new file mode 100644
index 000000000..8f092c926
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/images/t=0_bilayer_preformed_GL_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/images/t=4ns_bilayer_preformed_GL_LR.jpg b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/images/t=4ns_bilayer_preformed_GL_LR.jpg
new file mode 100644
index 000000000..9d5b6b594
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/images/t=4ns_bilayer_preformed_GL_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/images/water_martini_LR.jpg b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/images/water_martini_LR.jpg
new file mode 100644
index 000000000..a43675a5a
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/images/water_martini_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/moltemplate_files/lipid.lt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/moltemplate_files/lipid.lt
new file mode 100644
index 000000000..402dbae49
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/moltemplate_files/lipid.lt
@@ -0,0 +1,78 @@
+DPPC {
+
+ write_once("In Init") {
+ units real
+ atom_style full
+ bond_style hybrid harmonic
+ angle_style hybrid cosine/squared
+ dihedral_style none
+ improper_style none
+ pair_style hybrid lj/gromacs/coul/gromacs 9 12 0.000001 12
+ special_bonds lj/coul 0 1 1
+ dielectric 15
+ neigh_modify every 10
+ }
+
+ write("Data Atoms") {
+ $atom:1 $mol:. @atom:Q0 1.0 2.67583 4.37417 19.25
+ $atom:2 $mol:. @atom:Qa -1.0 -0.73417 1.85417 20.00
+ $atom:3 $mol:. @atom:Na 0.0 -0.91417 0.15417 16.72
+ $atom:4 $mol:. @atom:Na 0.0 0.23583 -3.23583 16.96
+ $atom:5 $mol:. @atom:C1 0.0 -1.26417 2.19417 12.94
+ $atom:6 $mol:. @atom:C1 0.0 1.49583 1.71417 9.46
+ $atom:7 $mol:. @atom:C1 0.0 2.82583 2.79417 5.04
+ $atom:8 $mol:. @atom:C1 0.0 5.77583 6.29417 3.62
+ $atom:9 $mol:. @atom:C1 0.0 -0.89417 -3.84583 12.6
+ $atom:10 $mol:. @atom:C1 0.0 0.11583 -3.19583 7.75
+ $atom:11 $mol:. @atom:C1 0.0 -2.90417 -3.64583 3.99
+ $atom:12 $mol:. @atom:C1 0.0 -6.41417 -5.45583 1.81
+ }
+ write("Data Bonds") {
+ $bond:b1 @bond:Bo $atom:1 $atom:2
+ $bond:b2 @bond:Bo $atom:2 $atom:3
+ $bond:b3 @bond:Short $atom:3 $atom:4
+ $bond:b4 @bond:Bo $atom:3 $atom:5
+ $bond:b5 @bond:Bo $atom:5 $atom:6
+ $bond:b6 @bond:Bo $atom:6 $atom:7
+ $bond:b7 @bond:Bo $atom:7 $atom:8
+ $bond:b8 @bond:Bo $atom:4 $atom:9
+ $bond:b9 @bond:Bo $atom:9 $atom:10
+ $bond:b10 @bond:Bo $atom:10 $atom:11
+ $bond:b11 @bond:Bo $atom:11 $atom:12
+ }
+ write("Data Angles") {
+ $angle:a1 @angle:An1 $atom:1 $atom:2 $atom:3
+ $angle:a2 @angle:An2 $atom:2 $atom:3 $atom:5
+ $angle:a3 @angle:An2 $atom:2 $atom:3 $atom:4
+ $angle:a4 @angle:An2 $atom:4 $atom:3 $atom:5
+ $angle:a5 @angle:An1 $atom:3 $atom:4 $atom:9
+ $angle:a6 @angle:An1 $atom:3 $atom:5 $atom:6
+ $angle:a7 @angle:An1 $atom:5 $atom:6 $atom:7
+ $angle:a8 @angle:An1 $atom:6 $atom:7 $atom:8
+ $angle:a9 @angle:An1 $atom:4 $atom:9 $atom:10
+ $angle:a10 @angle:An1 $atom:9 $atom:10 $atom:11
+ $angle:a11 @angle:An1 $atom:10 $atom:11 $atom:12
+ }
+ write_once("Data Masses") {
+ @atom:Q0 72.0
+ @atom:Qa 72.0
+ @atom:Na 72.0
+ @atom:C1 72.0
+ }
+ write_once("In Settings") {
+ pair_coeff @atom:Q0 @atom:Q0 lj/gromacs/coul/gromacs 0.8365200764818 4.7
+ pair_coeff @atom:Q0 @atom:Qa lj/gromacs/coul/gromacs 1.0755258126195 4.7
+ pair_coeff @atom:Q0 @atom:Na lj/gromacs/coul/gromacs 0.9560229445507 4.7
+ pair_coeff @atom:Q0 @atom:C1 lj/gromacs/coul/gromacs 0.4780114722753 6.2
+ pair_coeff @atom:Qa @atom:Qa lj/gromacs/coul/gromacs 1.1950286806883 4.7
+ pair_coeff @atom:Qa @atom:Na lj/gromacs/coul/gromacs 0.9560229445507 4.7
+ pair_coeff @atom:Qa @atom:C1 lj/gromacs/coul/gromacs 0.4780114722753 6.2
+ pair_coeff @atom:Na @atom:Na lj/gromacs/coul/gromacs 0.9560229445507 4.7
+ pair_coeff @atom:Na @atom:C1 lj/gromacs/coul/gromacs 0.6453154875717 4.7
+ pair_coeff @atom:C1 @atom:C1 lj/gromacs/coul/gromacs 0.8365200764818 4.7
+ bond_coeff @bond:Bo harmonic 1.4937858508604 4.7
+ bond_coeff @bond:Short harmonic 1.4937858508604 3.7
+ angle_coeff @angle:An1 cosine/squared 2.9875717017208 180
+ angle_coeff @angle:An2 cosine/squared 2.9875717017208 120
+ }
+} #DPPC
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/moltemplate_files/system.lt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/moltemplate_files/system.lt
new file mode 100644
index 000000000..d42749daf
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/moltemplate_files/system.lt
@@ -0,0 +1,27 @@
+import "water.lt"
+import "lipid.lt"
+
+write_once("Data Boundary") {
+ 0.0 100.0 xlo xhi
+ 0.0 100.0 ylo yhi
+ -50.0 50.0 zlo zhi
+}
+
+lipids = new DPPC [13].move(7.6923, 0, 0)
+ [13].move(0, 7.6923, 0)
+ [2].rot(180, 1, 0, 0)
+
+waters = new MW [25].move(4.0, 0, 0)
+ [25].move(0, 4.0, 0)
+ [13].move(0, 0, 4.23)
+
+# Move the waters upwards so that they don't overlap with the lipids.
+
+waters[*][*][*].move(0, 0, 22.4)
+
+write_once("In Settings") {
+pair_coeff @atom:MW/P4 @atom:DPPC/Q0 lj/gromacs/coul/gromacs 1.3384321223709 4.7
+pair_coeff @atom:MW/P4 @atom:DPPC/Qa lj/gromacs/coul/gromacs 1.3384321223709 4.7
+pair_coeff @atom:MW/P4 @atom:DPPC/Na lj/gromacs/coul/gromacs 0.9560229445507 4.7
+pair_coeff @atom:MW/P4 @atom:DPPC/C1 lj/gromacs/coul/gromacs 0.4780114722753 4.7
+}
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/moltemplate_files/water.lt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/moltemplate_files/water.lt
new file mode 100644
index 000000000..49ce589b9
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/moltemplate_files/water.lt
@@ -0,0 +1,17 @@
+MW {
+ write_once("In Init") {
+ units real
+ atom_style full
+ pair_style hybrid lj/gromacs/coul/gromacs 9 12 0.000001 12
+ }
+
+ write("Data Atoms") {
+ $atom:1 $mol:. @atom:P4 0 0 0 0
+ }
+ write_once("Data Masses") {
+ @atom:P4 72.0
+ }
+ write_once("In Settings") {
+ pair_coeff @atom:P4 @atom:P4 lj/gromacs/coul/gromacs 1.1950286806883 4.7
+ }
+} #MW
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/run.in.min b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/run.in.min
new file mode 100644
index 000000000..6a17d2073
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/run.in.min
@@ -0,0 +1,33 @@
+# PREREQUISITES:
+#
+# You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (See README_setup.sh for details.)
+
+# ------------------------------- Initialization Section --------------------
+
+include "system.in.init"
+
+# ------------------------------- Atom Definition Section -------------------
+
+read_data "system.data"
+
+# ------------------------------- Settings Section --------------------------
+
+include "system.in.settings"
+
+# ------------------------------- Settings Section --------------------------
+
+include system.in.settings
+
+# ------------------------------- Run Section -------------------------------
+
+# -- simulation protocol --
+
+thermo 5
+dump 1 all custom 100 traj_min.lammpstrj id mol type x y z ix iy iz
+min_style fire
+min_modify dmax 0.01
+minimize 1.0e-4 1.0e-6 100000 400000
+
+write_data system_after_min.data
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/run.in.npt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/run.in.npt
new file mode 100644
index 000000000..1a995edcc
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/run.in.npt
@@ -0,0 +1,66 @@
+# PREREQUISITES:
+#
+# 1) You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (See README_setup.sh for details.)
+# 2) You must minimize the coordinates using by running lammps witn
+# run.in.min
+#
+
+# ------------------------------- Initialization Section --------------------
+
+include "system.in.init"
+
+# ------------------------------- Atom Definition Section -------------------
+
+#read_data "system.data"
+read_data "system_after_min.data"
+
+# ------------------------------- Settings Section --------------------------
+
+include "system.in.settings"
+
+# ------------------------------- Run Section -------------------------------
+
+# -- simulation protocol --
+
+print "---------------------------------------------------------------------------"
+print "I often use Langevin dynamics initially at high temperatures and small"
+print "timesteps to relax the system. It seems more stable than Nose-Hoover."
+print "(This is probably not necessary.)"
+print "---------------------------------------------------------------------------"
+
+fix fxlan all langevin 450.0 450.0 100 12345 # temp: 450 K
+fix fxnph all nph aniso 100.0 100.0 1000.0 couple xy drag 1.0 #pressure:100barr
+thermo 100
+dump dmNPTall all custom 5000 traj_npt_step1.lammpstrj id mol type x y z ix iy iz
+
+timestep 1.0 # (safer to use a small timestep initially)
+run 1000
+timestep 3.0
+run 1000
+timestep 10.0
+run 1000
+timestep 30.0 # (40.0 should be possible for lipid systems)
+run 100000
+
+unfix fxlan
+unfix fxnph
+undump dmNPTall
+
+print "---------------------------------------------------------------------------"
+print "--- Now continue the simulation using a Nose-Hoover Thermostat/Barostat ---"
+print "---------------------------------------------------------------------------"
+
+velocity all zero linear # <- eliminate drift due to non-zero total momentum
+ #fix 1 all momentum 1000 linear 1 1 1 # also works
+
+# temperature: 300 K, pressure: 1 barr
+fix fxnpt all npt temp 300.0 300.0 100.0 aniso 1.0 1.0 1000.0 drag 1.0 couple xy
+thermo 100
+#thermo_modify flush yes
+dump dmNPTall all custom 10000 traj_npt_step2.lammpstrj id mol type x y z ix iy iz
+
+run 100000
+
+write_data system_after_npt.data
diff --git a/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/run.in.nvt b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/run.in.nvt
new file mode 100644
index 000000000..14b0cb5fa
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/MARTINI_examples/force_field_explicit/DPPC_bilayer_preformed/run.in.nvt
@@ -0,0 +1,47 @@
+# PREREQUISITES:
+#
+# 1) You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (See README_setup.sh for details.)
+# 2) You must minimize the coordinates using by running lammps witn
+# run.in.min
+# 3) You must equilibrate the system beforehand using "run.in.npt".
+# This will create the file "system_after_npt.data" which this file reads.
+# (Note: I have not verified that this equilibration protocol works well.)
+
+# ------------------------------- Initialization Section --------------------
+
+include "system.in.init"
+
+# ------------------------------- Atom Definition Section -------------------
+
+# Read the coordinates generated by an earlier simulation
+
+#read_data "system.data"
+#read_data "system_after_min.data"
+read_data "system_after_npt.data"
+
+# ------------------------------- Settings Section --------------------------
+
+include "system.in.settings"
+
+# ------------------------------- Settings Section --------------------------
+
+include system.in.settings
+
+# ------------------------------- Run Section -------------------------------
+
+# -- simulation protocol --
+
+velocity all zero linear # <- eliminate drift due to non-zero total momentum
+ #fix 1 all momentum 1000 linear 1 1 1 # also works
+
+timestep 30.0 # (40.0 should be possible for lipid systems)
+dump 1 all custom 20000 traj_nvt.lammpstrj id mol type x y z ix iy iz
+fix fxnvt all nvt temp 300.0 300.0 500.0 tchain 1
+thermo 100
+#thermo_modify flush yes
+
+run 10000000
+
+write_data system_after_nvt.data
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/README.txt b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/README.txt
new file mode 100644
index 000000000..eca0a1b7f
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/README.txt
@@ -0,0 +1,17 @@
+
+This directory contains an example of a couarse-grained (vaguely protein-like)
+heteropolymer consisting of 14 residues, each of which has 2 atoms
+(one backbone atom, one residue atom.)
+
+There are two types of residues, H and P.
+The R-atom for the H residue are attracted to eachother.
+All other atoms are repulsive.
+
+Instructions on how to build LAMMPS input files and
+run a short simulation are provided in other README files.
+
+step 1)
+README_setup.sh
+
+step2)
+README_run.sh
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/README_run.sh b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/README_run.sh
new file mode 100755
index 000000000..8bf8e2764
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/README_run.sh
@@ -0,0 +1,20 @@
+# --- Running LAMMPS ---
+# -- Prerequisites: --
+# The "run.in.nvt" file is a LAMMPS input script containing
+# references to the input scripts and data files
+# you hopefully have created earlier with moltemplate.sh:
+# system.in.init, system.in.settings, system.data
+# If not, carry out the instructions in "README_setup.sh".
+#
+# -- Instructions: --
+# If "lmp_mpi" is the name of the command you use to invoke lammps,
+# then you would run lammps on these files this way:
+
+
+lmp_mpi -i run.in.nvt
+
+
+
+# If you have compiled the MPI version of lammps, you can run lammps in parallel
+#mpirun -np 4 lmp_mpi -i run.in.nvt
+# (assuming you have 4 processors available)
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/README_setup.sh b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/README_setup.sh
new file mode 100755
index 000000000..cf22ee0fa
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/README_setup.sh
@@ -0,0 +1,23 @@
+# Use these commands to generate the LAMMPS input script and data file
+# (and other auxilliary files):
+
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh system.lt
+
+ # This will generate various files with names ending in *.in* and *.data.
+ # These files are the input files directly read by LAMMPS. Move them to
+ # the parent directory (or wherever you plan to run the simulation).
+
+ mv -f system.in* system.data ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/README_visualize.txt b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/README_visualize.txt
new file mode 100644
index 000000000..90b102a08
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/README_visualize.txt
@@ -0,0 +1,86 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0}
+ pbc box -shiftcenterrel {0.0 0.15 0.0}
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/images/monomer_H.png b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/images/monomer_H.png
new file mode 100644
index 000000000..efd7022e7
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/images/monomer_H.png differ
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/images/monomer_P.png b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/images/monomer_P.png
new file mode 100644
index 000000000..70dd7ce60
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/images/monomer_P.png differ
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/images/polymer_LR.png b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/images/polymer_LR.png
new file mode 100644
index 000000000..b239cef97
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/images/polymer_LR.png differ
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/images/trajectory.png b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/images/trajectory.png
new file mode 100644
index 000000000..dc4d6ccdf
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/images/trajectory.png differ
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/moltemplate_files/README.sh b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/moltemplate_files/README.sh
new file mode 100755
index 000000000..bcc5947b1
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/moltemplate_files/README.sh
@@ -0,0 +1,6 @@
+# Use these commands to generate the LAMMPS input script and data file
+# (and other auxilliary files):
+moltemplate.sh system.lt
+
+# This will generate various files with names ending in *.in* and *.data.
+
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/moltemplate_files/README.txt b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/moltemplate_files/README.txt
new file mode 100644
index 000000000..d06b4356c
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/moltemplate_files/README.txt
@@ -0,0 +1,26 @@
+# In this example, we define two types of molecules: "H" and "P",
+# both containing two atoms, whose ids (names) are "ca" and "r",
+# and whose atom-types vary.
+#
+# "H" molecules: "P" molecules:
+# ("hydrophobic") ("polar"/"hydrophilic")
+#
+# @HR @PR
+# | |
+# @CA @CA
+#
+# Eventually, we will connect multiple "H" and "P" molecules
+# together to form a polymer, as shown below:
+#
+# @HR @HR
+# | |
+# _@CA_ _@CA_
+# ... -.@CA-' `-@CA-' ` ...
+# | |
+# @PR @PR
+#
+# The "H" and "P" molecules both share the same type of
+# backbone atom ("CA"), but have their own custom "r"
+# sidechain atoms with different properties:
+# The "HR" atoms belonging to "H" molecules are attracted to each other.
+# The "PR" atoms in "P" molecules are not.
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/moltemplate_files/forcefield.lt b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/moltemplate_files/forcefield.lt
new file mode 100644
index 000000000..aad330df2
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/moltemplate_files/forcefield.lt
@@ -0,0 +1,139 @@
+# The "HPForceField" is a force-field environment object containing
+# force-field data, atomic masses, and bond rules.
+# Later, when we define molecules (such as "H" and "P"), we can inherit
+# atom types and bond-rules from this force-field. This will automatically
+# assign bonds and angular interactions according to atom (and bond) type.
+# (You can also assign charge by atom type. However in this example I assigned
+# charge to each atom manually (not by type). The OPLSAA examples in the
+# "all_atoms" directory demonstrate how to assign charge by atom type.)
+
+
+
+HPForceField {
+
+ # There are 3 atom types:
+
+ write_once("Data Masses") {
+ @atom:CA 13.0
+ @atom:HR 50.0
+ @atom:PR 50.0
+ }
+
+ # 2-body (non-bonded) interactions:
+ #
+ # Uij(r) = 4*eps_ij * ( (sig_ij/r)^12 - (sig_ij/r)^6 )
+ #
+ # Hydrophobic side-chain (R) atoms are attractive (large epsilon parameter).
+ # Polar side-chains and backbone atoms are not attractive (small epsilon).
+ #
+ # i j pairstylename eps sig
+ #
+ write_once("In Settings") {
+ pair_coeff @atom:CA @atom:CA lj/cut 0.10 2.0
+ pair_coeff @atom:HR @atom:HR lj/cut 2.50 3.6
+ pair_coeff @atom:PR @atom:PR lj/cut 0.10 3.6
+ }
+
+ # (By default, interactions between different AtomTypes use "arithmetic"rules:
+ # eps_ij=sqrt(eps_ii*eps_ij) and sig_ij=0.5*(sig_ii+sig_jj)
+ # Look for the line containing "pair_modify mix arithmetic" below...)
+
+ # Optional: Assign bond types @bond:Backbone or @bond:Sidechain
+ # according to atom type. (This can be overridden.)
+
+ write_once("Data Bonds By Type") {
+ @bond:Backbone @atom:CA @atom:CA
+ @bond:Sidechain @atom:CA @atom:HR
+ @bond:Sidechain @atom:CA @atom:PR
+ }
+
+ # 2-body (bonded) interactions:
+ #
+ # Ubond(r) = (k/2)*(r-0)^2
+ #
+ # The corresponding command is:
+ #
+ # bond_coeff bondType bondstylename k r0
+ #
+
+ write_once("In Settings") {
+ bond_coeff @bond:Sidechain harmonic 30.0 3.4
+ bond_coeff @bond:Backbone harmonic 30.0 3.7
+ }
+
+
+ # Rules for determining 3 and 4-body bonded interactions by type
+
+ # angle-type atomType1 atomType2 atomType3
+
+ write_once("Data Angles By Type") {
+ @angle:Backbone @atom:CA @atom:CA @atom:CA
+ @angle:Sidechain @atom:CA @atom:CA @atom:*R # Note: "*R" <--> "HR" or "PR"
+ }
+
+ # dihedral-type AtomType1 AtomType2 AtomType3 AtomType4
+
+ write_once("Data Dihedrals By Type") {
+ @dihedral:CCCC @atom:CA @atom:CA @atom:CA @atom:CA
+ @dihedral:RCCR @atom:*R @atom:CA @atom:CA @atom:*R #"*R" <--> "HR" or "PR"
+ }
+
+ # 3-body interactions in this example are listed by atomType and bondType
+ # The atomIDs involved are determined automatically. The forumula used is:
+ #
+ # Uangle(theta) = (k/2)*(theta-theta0)^2
+ # (k in kcal/mol/rad^2, theta0 in degrees)
+ #
+ # The corresponding command is:
+ #
+ # angle_coeff angleType anglestylename k theta0
+
+ write_once("In Settings") {
+ angle_coeff @angle:Backbone harmonic 30.00 114
+ angle_coeff @angle:Sidechain harmonic 30.00 123
+ }
+
+
+ # 4-body interactions in this example are listed by atomType and bondType
+ # The atomIDs involved are determined automatically. The forumula used is:
+ #
+ # Udihedral(phi) = K * (1 + cos(n*phi - d))
+ #
+ # The d parameter is in degrees, K is in kcal/mol/rad^2.
+ #
+ # The corresponding command is
+ # dihedral_coeff dihedralType dihedralstylename K n d w (ignore "w")
+
+ write_once("In Settings") {
+ dihedral_coeff @dihedral:CCCC charmm -0.5 1 -180 0.0
+ dihedral_coeff @dihedral:RCCR charmm -1.5 1 -180 0.0
+ } # write_once("In Settings")
+
+
+ # LAMMPS supports a large number of force-field styles. We must select
+ # which ones we need. This information belongs in the "In Init" section.
+ # (Hybrid styles used for portability. These choices can be overridden later.)
+
+ write_once("In Init") {
+ # -- Default styles for "2bead" --
+ # (Hybrid force fields were not necessary but are used for portability.)
+ units real
+ atom_style full
+ bond_style hybrid harmonic
+ angle_style hybrid harmonic
+ dihedral_style hybrid charmm
+ pair_style hybrid lj/cut 11.0
+
+ # If charges are needed, (assuming biopolymers), try one of:
+ #dielectric 80.0
+ #pair_style hybrid lj/cut/coul/debye 0.1 11.0
+ # or (for short distances, below a couple nm)
+ #pair_style hybrid lj/charmm/coul/charmm/implicit 9.0 11.0
+
+ pair_modify mix arithmetic
+ special_bonds lj 0.0 0.0 0.0
+ }
+
+
+} # HPForceField
+
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/moltemplate_files/monomer_H.lt b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/moltemplate_files/monomer_H.lt
new file mode 100644
index 000000000..8a2bf4de8
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/moltemplate_files/monomer_H.lt
@@ -0,0 +1,22 @@
+# Define the "H" monomer type ("H" <--> "hydrophobic")
+
+import "forcefield.lt" # defines "HPForceField"
+
+H inherits HPForceField {
+
+ # atom-id(name) mol-id atom-type charge x y z
+ write("Data Atoms") {
+ $atom:ca $mol:... @atom:CA 0.0 0.000 1.0000 0.0000000
+ $atom:r $mol:... @atom:HR 0.0 0.000 4.4000 0.0000000
+ }
+
+ write("Data Bond List") {
+ $bond:cr $atom:ca $atom:r
+ }
+
+}
+
+
+# Note: The "..." in "$mol:..." tells moltemplate that this molecule may
+# be a part of a larger molecule, and (if so) to use the larger
+# molecule's id number as it's own.
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/moltemplate_files/monomer_P.lt b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/moltemplate_files/monomer_P.lt
new file mode 100644
index 000000000..2e89e31f8
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/moltemplate_files/monomer_P.lt
@@ -0,0 +1,22 @@
+# Define the "P" monomer type ("P" <--> "polar")
+
+import "forcefield.lt" # defines "HPForceField"
+
+P inherits HPForceField {
+
+ # atom-id(name) mol-id atom-type charge x y z
+ write("Data Atoms") {
+ $atom:ca $mol:... @atom:CA 0.0 0.000 1.0000 0.0000000
+ $atom:r $mol:... @atom:PR 0.0 0.000 4.4000 0.0000000
+ }
+
+ write("Data Bond List") {
+ $bond:cr $atom:ca $atom:r
+ }
+
+}
+
+
+# Note: The "..." in "$mol:..." tells moltemplate that this molecule may
+# be a part of a larger molecule, and (if so) to use the larger
+# molecule's id number as it's own.
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/moltemplate_files/polymer.lt b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/moltemplate_files/polymer.lt
new file mode 100644
index 000000000..0b07e1471
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/moltemplate_files/polymer.lt
@@ -0,0 +1,64 @@
+import "monomer_H.lt" # defines the "H" molecular subunit
+import "monomer_P.lt" # defines the "P" molecular subunit
+
+
+
+Polymer {
+
+ create_var {$mol} # optional:force all monomers to share the same molecule-ID
+ # (The "Data Atoms" in H and P must use "$mol:..." notation.)
+
+ # This causes mon1,mon2,mon3,...,mon14 to share the same molecule counter
+ # because in the forcefield.lt file, the "..." in "$mol:..." preferentially
+ # looks for a counter of that type in a parent molecule or earlier ancestor.
+
+
+ # A polymer of alternating "H" and "P" monomers:
+
+ mon1 = new P
+ mon2 = new P.rot(180.0, 1,0,0).move(3.2,0,0)
+ mon3 = new H.rot( 0.0, 1,0,0).move(6.4,0,0)
+ mon4 = new H.rot(180.0, 1,0,0).move(9.6,0,0)
+ mon5 = new H.rot( 0.0, 1,0,0).move(12.8,0,0)
+ mon6 = new H.rot(180.0, 1,0,0).move(16.0,0,0)
+ mon7 = new P.rot( 0.0, 1,0,0).move(19.2,0,0)
+ mon8 = new P.rot(180.0, 1,0,0).move(22.4,0,0)
+ mon9 = new P.rot( 0.0, 1,0,0).move(25.6,0,0)
+ mon10 = new H.rot(180.0, 1,0,0).move(28.8,0,0)
+ mon11 = new H.rot( 0.0, 1,0,0).move(32.0,0,0)
+ mon12 = new H.rot(180.0, 1,0,0).move(35.2,0,0)
+ mon13 = new P.rot( 0.0, 1,0,0).move(38.4,0,0)
+ mon14 = new P.rot(180.0, 1,0,0).move(41.6,0,0)
+
+
+ # Now, link the monomers together this way:
+ write("Data Bond List") {
+ $bond:backbone1 $atom:mon1/ca $atom:mon2/ca
+ $bond:backbone2 $atom:mon2/ca $atom:mon3/ca
+ $bond:backbone3 $atom:mon3/ca $atom:mon4/ca
+ $bond:backbone4 $atom:mon4/ca $atom:mon5/ca
+ $bond:backbone5 $atom:mon5/ca $atom:mon6/ca
+ $bond:backbone6 $atom:mon6/ca $atom:mon7/ca
+ $bond:backbone7 $atom:mon7/ca $atom:mon8/ca
+ $bond:backbone8 $atom:mon8/ca $atom:mon9/ca
+ $bond:backbone9 $atom:mon9/ca $atom:mon10/ca
+ $bond:backbone10 $atom:mon10/ca $atom:mon11/ca
+ $bond:backbone11 $atom:mon11/ca $atom:mon12/ca
+ $bond:backbone12 $atom:mon12/ca $atom:mon13/ca
+ $bond:backbone13 $atom:mon13/ca $atom:mon14/ca
+ }
+
+
+ # Use "Data Bonds" instead if you prefer to assign the bond types manually:
+ # write("Data Bonds") {
+ # $bond:backbone1 @bond:Backbone $atom:mon1/ca $atom:mon2/ca
+ # $bond:backbone2 @bond:Backbone $atom:mon2/ca $atom:mon3/ca
+ # : : : :
+ # }
+
+} # Polymer
+
+
+
+# Angle, dihedral and improper interactions between monomers will be generated
+# automatically according to the instructions in the "forcefield.lt" file.
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/moltemplate_files/system.lt b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/moltemplate_files/system.lt
new file mode 100644
index 000000000..e3d8317aa
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/moltemplate_files/system.lt
@@ -0,0 +1,36 @@
+import "polymer.lt"
+
+
+# Specify the periodic boundary conditions:
+write_once("Data Boundary") {
+ 0 180.0 xlo xhi
+ 0 180.0 ylo yhi
+ 0 180.0 zlo zhi
+}
+
+
+# Create 27 polymers (=3x3x3) in a rectangular grid
+
+polymers = new Polymer [3].move(60.0, 0, 0)
+ [3].move(0, 60.0, 0)
+ [3].move(0, 0, 60.0)
+
+
+
+
+
+
+
+
+# ----- everything below is optional: -----
+# Shift some of the polymers in the Z direction by a distance of 20.0
+
+polymers[1][*][*].move(0,0,20)
+
+# We applied this move command to all the
+# polymers in the middle slab (with constant X).
+# More examples of applying the "move" command:
+
+polymers[*][1][*].move(20,0,0)
+polymers[*][*][1].move(0,20,0)
+
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/run.in.nvt b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/run.in.nvt
new file mode 100644
index 000000000..e9fdbf41f
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_2bead_heteropolymer/run.in.nvt
@@ -0,0 +1,32 @@
+# -- Init Section --
+
+include system.in.init
+
+# -- Atom Definition Section --
+
+read_data system.data
+
+# -- Settings Section --
+
+include system.in.settings
+
+# -- Run Section --
+
+
+timestep 2.0
+dump 1 all custom 5000 traj_nvt.lammpstrj id mol type x y z ix iy iz
+
+# To use Langevin dynamics in LAMMPS you need both "fix langevin" and "fix nve".
+# (See http://lammps.sandia.gov/doc/fix_langevin.html for details.)
+
+fix fxlan all langevin 300.0 300.0 5000.0 48279
+fix fxnve all nve
+
+
+thermo_style custom step temp pe etotal press vol epair ebond eangle edihed
+thermo 1000 # time interval for printing out "thermo" data
+
+run 40000000
+
+write_data system_after_nvt.data
+
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_lennard_jones_tube/README.txt b/tools/moltemplate/examples/coarse_grained/abstract_lennard_jones_tube/README.txt
new file mode 100644
index 000000000..01f2353d2
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_lennard_jones_tube/README.txt
@@ -0,0 +1,14 @@
+
+This example demonstrates how to build a simple system
+containing mobile and immobile atoms using moltemplate.
+An immobile tube is constructed of Lennard Jones particles (see "system.lt")
+interacting with a fluid composed of (similar sized) Lennard Jones particles.
+
+Instructions on how to build LAMMPS input files and
+run a short simulation are provided in other README files.
+
+step 1)
+README_setup.sh
+
+step2)
+README_run.sh
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_lennard_jones_tube/README_run.sh b/tools/moltemplate/examples/coarse_grained/abstract_lennard_jones_tube/README_run.sh
new file mode 100755
index 000000000..cb2307f52
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_lennard_jones_tube/README_run.sh
@@ -0,0 +1,23 @@
+# --- Running LAMMPS ---
+# -- Prerequisites: --
+# The "run.in.nvt" file is a LAMMPS input script containing
+# references to the input scripts and data files
+# you hopefully have created earlier with moltemplate.sh:
+# system.in.init, system.in.settings, system.data
+# If not, carry out the instructions in "README_setup.sh".
+#
+# -- Instructions: --
+# If "lmp_mpi" is the name of the command you use to invoke lammps,
+# then you would run lammps on these files this way:
+
+
+lmp_mpi -i run.in.nvt # Run a simulation at constant volume
+
+
+
+# If you have compiled the MPI version of lammps, you can run lammps in parallel
+# (But for a system of this small size, it should not be necessary.)
+#mpirun -np 4 lmp_mpi -i run.in.nvt
+#or
+#mpirun -np 4 lmp_mpi -i run.in.npt
+# (assuming you have 4 processors available)
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_lennard_jones_tube/README_setup.sh b/tools/moltemplate/examples/coarse_grained/abstract_lennard_jones_tube/README_setup.sh
new file mode 100755
index 000000000..cf22ee0fa
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_lennard_jones_tube/README_setup.sh
@@ -0,0 +1,23 @@
+# Use these commands to generate the LAMMPS input script and data file
+# (and other auxilliary files):
+
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh system.lt
+
+ # This will generate various files with names ending in *.in* and *.data.
+ # These files are the input files directly read by LAMMPS. Move them to
+ # the parent directory (or wherever you plan to run the simulation).
+
+ mv -f system.in* system.data ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_lennard_jones_tube/README_visualize.txt b/tools/moltemplate/examples/coarse_grained/abstract_lennard_jones_tube/README_visualize.txt
new file mode 100644
index 000000000..3bb7f5ff4
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_lennard_jones_tube/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 -0.5 -0.5}
+ pbc box -shiftcenterrel {0.0 -0.5 -0.5}
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_lennard_jones_tube/images/tubewall+solvent_t=0steps.jpg b/tools/moltemplate/examples/coarse_grained/abstract_lennard_jones_tube/images/tubewall+solvent_t=0steps.jpg
new file mode 100644
index 000000000..8c5df6540
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/abstract_lennard_jones_tube/images/tubewall+solvent_t=0steps.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_lennard_jones_tube/images/tubewall+solvent_t=3000steps.png b/tools/moltemplate/examples/coarse_grained/abstract_lennard_jones_tube/images/tubewall+solvent_t=3000steps.png
new file mode 100644
index 000000000..f2f29ec4e
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/abstract_lennard_jones_tube/images/tubewall+solvent_t=3000steps.png differ
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_lennard_jones_tube/moltemplate_files/solvent_particle.lt b/tools/moltemplate/examples/coarse_grained/abstract_lennard_jones_tube/moltemplate_files/solvent_particle.lt
new file mode 100644
index 000000000..ebf5eeaf0
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_lennard_jones_tube/moltemplate_files/solvent_particle.lt
@@ -0,0 +1,21 @@
+# The two files "wall_particle.lt" and "solvent_particle.lt"
+# define two very simple molecules containing one atom each.
+# Both atoms have the same size (the have the same LJ sigma parameter).
+
+SolventParticle {
+
+ # atomID molID atomType charge x y z
+ write("Data Atoms") {
+ $atom:s $mol:. @atom:s 0.0 0.0 0.0 0.0
+ }
+ write_once("Data Masses") {
+ @atom:s 10.0
+ }
+ write_once("In Settings") {
+ # i j epsilon sigma cutoff
+ pair_coeff @atom:s @atom:s 0.60 3.0 7.5 #<--attractive
+ group groupS type @atom:s #(Atoms of this type belong to the "S" group)
+ }
+
+}
+
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_lennard_jones_tube/moltemplate_files/system.lt b/tools/moltemplate/examples/coarse_grained/abstract_lennard_jones_tube/moltemplate_files/system.lt
new file mode 100644
index 000000000..c68d8a650
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_lennard_jones_tube/moltemplate_files/system.lt
@@ -0,0 +1,53 @@
+import "wall_particle.lt"
+
+# Create an immobile "wall" out of "WallParticle"s
+# arranged in the shape of a tube with radius 9.6
+
+tube = new WallParticle.move(0,9.6,0) [20].rot(18,3.0,0,0)
+ [20].move(3.0,0,0)
+
+
+# Add some "SolventParticle"s to the center of the tube:
+
+import "solvent_particle.lt"
+solvent = new SolventParticle [20].move(3.0,0,0)
+ [3].move(0,3.0,0)
+ [3].move(0,0,3.0)
+
+# These "solvent" particles currently occupy a rectangular region from
+# 0 to 6.0 in the y and z directions. Center them all using .move():
+
+solvent[*][*][*].move(0,-3.0,-3.0)
+
+
+# Define the periodic boundary conditions for our system
+
+write_once("Data Boundary") {
+ 0.0 60.0 xlo xhi
+ -20.0 20.0 ylo yhi
+ -20.0 20.0 zlo zhi
+}
+
+
+
+
+# LAMMPS supports a large number of force-field styles. We must select
+# which ones we need. This information belongs in the "In Init" section (and
+# (you can specify it anywhere in your LT files, multiple times if you like).
+# If different molecules use different force-field styles, you can use hybrid
+# styles. (In this example the molecules share the same pair_style.)
+
+write_once("In Init") {
+ units real
+ atom_style full
+ pair_style lj/cut 9.0
+ # If you have charged molecules immersed in a salty implicit
+ # solvent, you might try something like this this instead:
+ # pair_style lj/cut/coul/debye 0.1 9.0
+ pair_modify mix arithmetic
+ dielectric 80.0
+ special_bonds lj 0.0 0.0 0.0
+}
+
+
+
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_lennard_jones_tube/moltemplate_files/wall_particle.lt b/tools/moltemplate/examples/coarse_grained/abstract_lennard_jones_tube/moltemplate_files/wall_particle.lt
new file mode 100644
index 000000000..434a31865
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_lennard_jones_tube/moltemplate_files/wall_particle.lt
@@ -0,0 +1,21 @@
+# The two files "wall_particle.lt" and "solvent_particle.lt"
+# define two very simple molecules containing one atom each.
+# Both atoms have the same size (the have the same LJ sigma parameter).
+
+WallParticle {
+
+ # atomID molID atomType charge x y z
+ write("Data Atoms") {
+ $atom:w $mol:. @atom:w 0.0 0.0 0.0 0.0
+ }
+ write_once("Data Masses") {
+ @atom:w 10.0
+ }
+ write_once("In Settings") {
+ # i j epsilon sigma cutoff
+ pair_coeff @atom:w @atom:w 0.05 3.0 7.5 #<--repulsive (approximately)
+ group groupW type @atom:w #(Atoms of this type belong to the "W" group)
+ }
+
+}
+
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_lennard_jones_tube/run.in.nvt b/tools/moltemplate/examples/coarse_grained/abstract_lennard_jones_tube/run.in.nvt
new file mode 100644
index 000000000..16fdffb05
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_lennard_jones_tube/run.in.nvt
@@ -0,0 +1,53 @@
+# PREREQUISITES:
+#
+# You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (See README_setup.sh for details)
+
+# -- Init Section --
+
+include system.in.init
+
+# -- Atom Definition Section --
+
+read_data system.data
+
+# -- Settings Section --
+
+include system.in.settings
+
+# Use "neigh_modify" to turn off calculation of interactions between immobilized
+# atoms. (Note: The "groupW" group was defined in the file "system.in.settings")
+neigh_modify exclude group groupW groupW
+
+# -- Run Section --
+
+
+timestep 1.0
+dump 1 all custom 500 traj_nvt.lammpstrj id mol type x y z ix iy iz
+
+thermo_style custom step temp pe etotal vol epair ebond eangle edihed
+thermo 500 # time interval for printing out "thermo" data
+
+
+# Optional: Improve efficiency by omitting the calcuation of interactions
+# between immobile atoms. (Note: This is not optional under NPT conditions.)
+neigh_modify exclude group groupW groupW
+
+# Only the groupW atoms are immobile.
+group mobile subtract all groupW
+
+# The next two lines recalculate the temperature
+# using only the mobile degrees of freedom:
+
+compute tempMobile mobile temp
+
+# Integrate the equations of motion:
+fix fMoveStuff mobile nvt temp 300.0 300.0 100.0
+fix_modify fMoveStuff temp tempMobile
+
+
+run 100000
+
+write_data system_after_nvt.data
+
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/README.txt b/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/README.txt
new file mode 100644
index 000000000..8c6ca7947
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/README.txt
@@ -0,0 +1,19 @@
+This is an example of how to build a polymer out of randomly-chosen monomers.
+In this case, monomers will be chosen at random from two types
+(denoted "2bead" and "3bead", although you can have as many types as you like).
+You can also constrain the end-caps to be a particular type (eg "3bead").
+
+The properties of the bonds connecting monomers (ie length, rigidity) will
+be automatically determined, depending on the type of monomers at that location
+in the polymer. The same is true for the 3-body angle, and 4-body dihedral
+interactions.
+
+
+Instructions on how to build LAMMPS input files and
+run a short simulation are provided in other README files.
+
+step 1)
+README_setup.sh
+
+step2)
+README_run.sh
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/README_run.sh b/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/README_run.sh
new file mode 100755
index 000000000..9343d763f
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/README_run.sh
@@ -0,0 +1,14 @@
+# --- Running LAMMPS ---
+# -- Prerequisites: --
+# The "run.in.nvt" file is a LAMMPS input script containing
+# references to the input scripts and data files
+# you hopefully have created earlier with moltemplate.sh:
+# system.in.init, system.in.settings, system.data
+# If not, carry out the instructions in "README_setup.sh".
+#
+# -- Instructions: --
+# If "lmp_mpi" is the name of the command you use to invoke lammps,
+# then you would run lammps on these files this way:
+
+
+lmp_mpi -i run.in.nvt
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/README_setup.sh b/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/README_setup.sh
new file mode 100755
index 000000000..cf22ee0fa
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/README_setup.sh
@@ -0,0 +1,23 @@
+# Use these commands to generate the LAMMPS input script and data file
+# (and other auxilliary files):
+
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh system.lt
+
+ # This will generate various files with names ending in *.in* and *.data.
+ # These files are the input files directly read by LAMMPS. Move them to
+ # the parent directory (or wherever you plan to run the simulation).
+
+ mv -f system.in* system.data ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/README_visualize.txt b/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/README_visualize.txt
new file mode 100644
index 000000000..a3e3ed620
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0}
+ pbc box -shiftcenterrel {0.0 0.15 0.0}
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/images/2bead.jpg b/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/images/2bead.jpg
new file mode 100644
index 000000000..f67da797f
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/images/2bead.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/images/3bead.jpg b/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/images/3bead.jpg
new file mode 100644
index 000000000..15d7b2967
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/images/3bead.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/images/random_heteropolymer_30_20_t=0.jpg b/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/images/random_heteropolymer_30_20_t=0.jpg
new file mode 100644
index 000000000..75d67b42f
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/images/random_heteropolymer_30_20_t=0.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/images/random_heteropolymer_30_20_t=700ps.jpg b/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/images/random_heteropolymer_30_20_t=700ps.jpg
new file mode 100644
index 000000000..8f1c6f99b
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/images/random_heteropolymer_30_20_t=700ps.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/moltemplate_files/forcefield.lt b/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/moltemplate_files/forcefield.lt
new file mode 100644
index 000000000..6bdb4697b
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/moltemplate_files/forcefield.lt
@@ -0,0 +1,107 @@
+# The "ForceField" object contains a list of atom types, masses, force-field
+# parameters, and rules for generating 3-body & 4-body bonded interactions.
+# Molecules which use "inherit ForceField" share these rules, and consequently
+# can usually be written in a much more concise way.
+
+
+ForceField {
+
+ # LAMMPS supports a large number of force-field styles. We must select
+ # which ones we need. This information belongs in the "In Init" section (and
+ # (you can specify it anywhere in your LT files, multiple times if you like).
+ # If different molecules use different force-field styles, you can use hybrid
+ # styles. (In this example the molecules share the same pair_style.)
+
+ write_once("In Init") {
+ units real
+ atom_style full
+ bond_style harmonic
+ angle_style harmonic
+ dihedral_style opls
+ pair_style lj/cut 9.0
+ # If you have charged molecules immersed in a salty implicit
+ # solvent, you might try something like this this instead:
+ # pair_style lj/cut/coul/debye 0.1 9.0
+ pair_modify mix arithmetic
+ dielectric 80.0
+ special_bonds lj 0.0 0.0 0.0
+ }
+
+ # atom-type mass
+
+ write_once("Data Masses") {
+ @atom:CA2 12.0
+ @atom:R2 17.0
+ @atom:CA3 12.0
+ @atom:R3 17.0
+ }
+
+
+ # Connect different monomers together with bonds whose type
+ # (length, rigidity, etc) depend on the type of atom at either end.
+
+ write_once("Data Bonds By Type") {
+ @bond:sidechain @atom:CA* @atom:R*
+ @bond:two_two @atom:CA2 @atom:CA2
+ @bond:two_three @atom:CA2 @atom:CA3
+ @bond:three_three @atom:CA3 @atom:CA3
+ }
+ # Note: The next line is redundant and unnecessary:
+ # @bond:two_three @atom:CA3 @atom:CA2
+
+
+
+ # You can also generate angles and dihedrals and impropers in a similar way:
+
+ # Rules for determining 3 and 4-body bonded interactions by type
+
+ # angle-type atomType1 atomType2 atomType3 bondType1 bondType2
+
+ write_once("Data Angles By Type") {
+ @angle:backbone @atom:CA* @atom:CA* @atom:CA* @bond:* @bond:*
+ @angle:sidechain @atom:CA* @atom:CA* @atom:R* @bond:* @bond:*
+ @angle:RCR @atom:R* @atom:CA* @atom:R* @bond:* @bond:*
+ }
+ # Note: The next line is redundant and unnecessary:
+ # @angle:sidechain @atom:R* @atom:CA* @atom:CA* @bond:* @bond:*
+
+
+ # dihedral-type AtomType1 AtomType2 AtomType3 AtomType4 bondType1 btyp2 btyp3
+
+ write_once("Data Dihedrals By Type") {
+ @dihedral:backbone @atom:CA* @atom:CA* @atom:CA* @atom:CA* * * *
+ @dihedral:two_two @atom:R2 @atom:CA* @atom:CA* @atom:R2 * * *
+ @dihedral:two_three @atom:R2 @atom:CA* @atom:CA* @atom:R3 * * *
+ @dihedral:three_three @atom:R3 @atom:CA* @atom:CA* @atom:R3 * * *
+ }
+ # Note: The next line is redundant and unnecessary:
+ # @dihedral:two_three @atom:R3 @atom:CA* @atom:CA* @atom:R2 * * *
+
+ # Force field parameters:
+ write_once("In Settings") {
+ # atom-type atom-type epsilon sigma
+ pair_coeff @atom:CA2 @atom:CA2 0.05 3.0
+ pair_coeff @atom:R2 @atom:R2 0.60 4.0
+ pair_coeff @atom:CA3 @atom:CA3 0.10 2.0
+ pair_coeff @atom:R3 @atom:R3 0.50 3.0
+
+ # bond-type k r0
+ bond_coeff @bond:sidechain 20.0 3.4
+ bond_coeff @bond:two_two 20.0 3.7
+ bond_coeff @bond:two_three 20.0 3.5
+ bond_coeff @bond:three_three 20.0 3.3
+
+ # angle-type k theta0
+ angle_coeff @angle:backbone 40.00 120
+ angle_coeff @angle:sidechain 40.00 120
+ angle_coeff @angle:RCR 40.00 120
+
+ # dihedral-type K1 K2 K3 K4
+ dihedral_coeff @dihedral:backbone 0.3 0.0 0.0 0.0
+ dihedral_coeff @dihedral:two_two 0.08 0.0 0.0 0.0
+ dihedral_coeff @dihedral:two_three 0.08 0.0 -0.05 0.0
+ dihedral_coeff @dihedral:three_three 0.08 0.0 0.0 0.05
+ }
+
+} # ForceField
+
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/moltemplate_files/monomers.lt b/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/moltemplate_files/monomers.lt
new file mode 100644
index 000000000..a6b685cc9
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/moltemplate_files/monomers.lt
@@ -0,0 +1,62 @@
+import "forcefield.lt" #<-- "forcefield.lt" contains atom type definitions,
+ # force-field parameters, and rules for generating
+ # 3-body and 4-body angle, dihedral, and improper
+ # interactions for molecules (polymers) made using
+ # "2bead" and "3bead" objects as building blocks.
+
+
+
+ # ----------------------------------------------------------------------
+ # -- General comment: --
+ # -- The write() and write_once() commands create and append text to --
+ # -- files (replacing variables beginning with @ or $ with counters.) --
+ # -- File names beginning with "In " or "Data " are special. --
+ # -- They will be pasted into the LAMMPS input script and --
+ # -- data files which are generated by moltemplate. The syntax --
+ # -- of these files is exactly the same as the syntax from the --
+ # -- corresponding sections of a LAMMPS input script or data file. --
+ # ----------------------------------------------------------------------
+
+
+
+
+
+
+3bead inherits ForceField {
+
+ # atom-id mol-id atom-type charge x y z
+
+ write("Data Atoms") {
+ $atom:CA $mol:... @atom:CA3 0.0 0.000 1.000 0.000
+ $atom:R1 $mol:... @atom:R3 0.0 0.000 2.700 2.950
+ $atom:R2 $mol:... @atom:R3 0.0 0.000 2.700 -2.950
+ }
+
+ # bond-id atom-id1 atom-id2
+ write("Data Bond List") {
+ $bond:CR1 $atom:CA $atom:R1
+ $bond:CR2 $atom:CA $atom:R2
+ }
+
+} # 3bead
+
+
+
+
+2bead inherits ForceField {
+
+ # atom-id mol-id atom-type charge x y z
+
+ write("Data Atoms") {
+ $atom:CA $mol:... @atom:CA2 0.0 0.000 1.000 0.0000
+ $atom:R $mol:... @atom:R2 0.0 0.000 4.400 0.0000
+ }
+
+ # bond-id atom-id1 atom-id2
+ write("Data Bond List") {
+ $bond:CR $atom:CA $atom:R
+ }
+
+} # 2bead
+
+
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/moltemplate_files/polymer.lt b/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/moltemplate_files/polymer.lt
new file mode 100644
index 000000000..4502934eb
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/moltemplate_files/polymer.lt
@@ -0,0 +1,163 @@
+import "forcefield.lt" # <-- Defines force-field parameters, and rules.
+import "monomers.lt" # <-- Defines the "2bead", "3bead" objects we will use
+ # as building-blocks to build the polymer.
+
+
+
+
+RandomHeteropolymer inherits ForceField {
+
+
+
+ create_var {$mol} # optional:force all monomers to share the same molecule-ID
+ # If you want to share molecule-IDs, do this first
+ # (This matches with "$mol:..." in "monomers.lt")
+
+
+
+ monomers[0] = new 3bead # Let the first monomer be of type "3bead"
+
+ # Now, fill the middle of the chain with random monomers (2bead, 3bead):
+
+ monomers[1-48] = new random([2bead,3bead],
+ [30, # <-- 30 "2bead" molecules and
+ 18], # <-- 18 "3bead" molecules
+ 12345) # <-- optional random seed
+
+ # and place them on the X-axis (separated by 2.95 Angstroms)
+ [48].rot(180,1,0,0).move(2.95, 0, 0)
+
+ # Note: The two numbers (30 and 18) must sum up to the number of
+ # monomers we created ("[48]").
+
+ monomers[49] = new 3bead # Let the last monomer be of type "3bead"
+
+
+ # Afterwards, there should be 20 "3bead" monomers and 30 "2bead" monomers
+
+
+
+
+ # Now, physically move the monomers to make sure the monomers on the end of
+ # the chain (monomers[0] & monomers[49]) don't overlap with monomers[1-48]
+
+ monomers[0].rot(180,1,0,0) #leave monomer[0] where it is, but rotate it
+ monomers[1-48].move(2.95,0,0) #move the remaining monomers to make room for it
+ monomers[49].move(144.55,0,0) #move the last monomer (note:144.55=2.95*50))
+
+
+
+
+ # Now, link the monomers together using "Data Bond List"
+ # (Using "Data Bond List" instead of "Data Bonds", allows you to omit the
+ # bond type. This tells moltemplate to look up the appropriate
+ # bond type according to the type of atom at either end of the bond, which
+ # depends on what type of monomer is on either side: "2bead" or "3bead".
+ # This all happens automatically. The user can control how this is done
+ # by editing the file "forcefield.lt".)
+
+
+ write("Data Bond List") {
+ $bond:bb1 $atom:monomers[0]/CA $atom:monomers[1]/CA
+ $bond:bb2 $atom:monomers[1]/CA $atom:monomers[2]/CA
+ $bond:bb3 $atom:monomers[2]/CA $atom:monomers[3]/CA
+ $bond:bb4 $atom:monomers[3]/CA $atom:monomers[4]/CA
+ $bond:bb5 $atom:monomers[4]/CA $atom:monomers[5]/CA
+ $bond:bb6 $atom:monomers[5]/CA $atom:monomers[6]/CA
+ $bond:bb7 $atom:monomers[6]/CA $atom:monomers[7]/CA
+ $bond:bb8 $atom:monomers[7]/CA $atom:monomers[8]/CA
+ $bond:bb9 $atom:monomers[8]/CA $atom:monomers[9]/CA
+ $bond:bb10 $atom:monomers[9]/CA $atom:monomers[10]/CA
+ $bond:bb11 $atom:monomers[10]/CA $atom:monomers[11]/CA
+ $bond:bb12 $atom:monomers[11]/CA $atom:monomers[12]/CA
+ $bond:bb13 $atom:monomers[12]/CA $atom:monomers[13]/CA
+ $bond:bb14 $atom:monomers[13]/CA $atom:monomers[14]/CA
+ $bond:bb15 $atom:monomers[14]/CA $atom:monomers[15]/CA
+ $bond:bb16 $atom:monomers[15]/CA $atom:monomers[16]/CA
+ $bond:bb17 $atom:monomers[16]/CA $atom:monomers[17]/CA
+ $bond:bb18 $atom:monomers[17]/CA $atom:monomers[18]/CA
+ $bond:bb19 $atom:monomers[18]/CA $atom:monomers[19]/CA
+ $bond:bb20 $atom:monomers[19]/CA $atom:monomers[20]/CA
+ $bond:bb21 $atom:monomers[20]/CA $atom:monomers[21]/CA
+ $bond:bb22 $atom:monomers[21]/CA $atom:monomers[22]/CA
+ $bond:bb23 $atom:monomers[22]/CA $atom:monomers[23]/CA
+ $bond:bb24 $atom:monomers[23]/CA $atom:monomers[24]/CA
+ $bond:bb25 $atom:monomers[24]/CA $atom:monomers[25]/CA
+ $bond:bb26 $atom:monomers[25]/CA $atom:monomers[26]/CA
+ $bond:bb27 $atom:monomers[26]/CA $atom:monomers[27]/CA
+ $bond:bb28 $atom:monomers[27]/CA $atom:monomers[28]/CA
+ $bond:bb29 $atom:monomers[28]/CA $atom:monomers[29]/CA
+ $bond:bb30 $atom:monomers[29]/CA $atom:monomers[30]/CA
+ $bond:bb31 $atom:monomers[30]/CA $atom:monomers[31]/CA
+ $bond:bb32 $atom:monomers[31]/CA $atom:monomers[32]/CA
+ $bond:bb33 $atom:monomers[32]/CA $atom:monomers[33]/CA
+ $bond:bb34 $atom:monomers[33]/CA $atom:monomers[34]/CA
+ $bond:bb35 $atom:monomers[34]/CA $atom:monomers[35]/CA
+ $bond:bb36 $atom:monomers[35]/CA $atom:monomers[36]/CA
+ $bond:bb37 $atom:monomers[36]/CA $atom:monomers[37]/CA
+ $bond:bb38 $atom:monomers[37]/CA $atom:monomers[38]/CA
+ $bond:bb39 $atom:monomers[38]/CA $atom:monomers[39]/CA
+ $bond:bb40 $atom:monomers[39]/CA $atom:monomers[40]/CA
+ $bond:bb41 $atom:monomers[40]/CA $atom:monomers[41]/CA
+ $bond:bb42 $atom:monomers[41]/CA $atom:monomers[42]/CA
+ $bond:bb43 $atom:monomers[42]/CA $atom:monomers[43]/CA
+ $bond:bb44 $atom:monomers[43]/CA $atom:monomers[44]/CA
+ $bond:bb45 $atom:monomers[44]/CA $atom:monomers[45]/CA
+ $bond:bb46 $atom:monomers[45]/CA $atom:monomers[46]/CA
+ $bond:bb47 $atom:monomers[46]/CA $atom:monomers[47]/CA
+ $bond:bb48 $atom:monomers[47]/CA $atom:monomers[48]/CA
+ $bond:bb49 $atom:monomers[48]/CA $atom:monomers[49]/CA
+ }
+
+} # RandomHeteropolymer
+
+
+
+
+# COMMENTS:
+#
+#
+# 1)
+# Angle, dihedral and improper interactions will be generated
+# automatically according to the instructions in "monomers.lt"
+#
+#
+#
+#
+# 2)
+# These lines in the "Data Bond List" section can be quickly generated in python
+# N = 50
+# for i in range(0,N-1):
+# print(' $bond:bb'+str(i+1)+' $atom:monomers['
+# +str(i)+']/CA $atom:monomers['+str(i+1)+']/CA')
+#
+#
+#
+# 3)
+# The "[1-50]" in "monomers[1-50] = new random([2bead,3bead], ..."
+# causes moltemplate to create a list of molecules with names beginning with
+# "monomers[1]", for example:
+# "monomers[1], "monomers[2]", "monomers[3], ..., "monomers[50]"
+# (This causes the indexing to begin at [1] instead of [0].)
+#
+#
+#
+# 4)
+# ALTERNATE METHOD: You can also generate a random array this way:
+#
+# monomers[1-48] = new random([2bead,3bead],
+# [0.625, 0.375], # <-- probabilities
+# 12345) # <-- optional random seed
+# [48].rot(180,1,0,0).move(2.95, 0, 0)
+#
+# The command above also works, but it chooses each molecule (monomer) randomly
+# (independently of the others). Consequently, this does not gaurantee that
+# exactly 62.5% and 37.5% of the monomers will be of type 2bead and 3bead.
+#
+#
+#
+# 5) RandomHeteropolymer uses "2bead" and "3bead" objects as building-blocks,
+# and these objects inherit the properties from the "ForceField" object
+# (atom types, bond types, etc, defined in "forcefield.lt" in this example).
+# So I declared that "RandomHeteropolymer inherits ForceField {" so that
+# you can easily access those atom types, bond types, etc as well.
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/moltemplate_files/system.lt b/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/moltemplate_files/system.lt
new file mode 100644
index 000000000..565edc3f0
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/moltemplate_files/system.lt
@@ -0,0 +1,11 @@
+
+write_once("Data Boundary") {
+ 0.0 150.0 xlo xhi
+ 0.0 150.0 ylo yhi
+ 0.0 150.0 zlo zhi
+}
+
+
+import "polymer.lt"
+
+polymer = new RandomHeteropolymer
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/run.in.nvt b/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/run.in.nvt
new file mode 100644
index 000000000..645dac344
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_random_heteropolymer/run.in.nvt
@@ -0,0 +1,29 @@
+# -- Init Section --
+
+include system.in.init
+
+# -- Atom Definition Section --
+
+read_data system.data
+
+# -- Settings Section --
+
+include system.in.settings
+
+# -- Run Section --
+
+timestep 2.0
+dump 1 all custom 1000 traj_nvt.lammpstrj id mol type x y z ix iy iz
+
+thermo_style custom step temp pe etotal press vol epair ebond eangle edihed
+thermo 1000 # time interval for printing out "thermo" data
+
+fix fxlan all langevin 300.0 300.0 120 48279
+fix fxnve all nve
+
+# Temperature = 500 degrees
+
+run 500000
+
+write_data system_after_nvt.data
+
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_translocation/README.txt b/tools/moltemplate/examples/coarse_grained/abstract_translocation/README.txt
new file mode 100644
index 000000000..ed9de408f
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_translocation/README.txt
@@ -0,0 +1,23 @@
+
+This example contains a (crude and somewhat simple) example of
+the translocation of a (rather short) polymer through a hole in a wall,
+surrounded by an explicit LJ solvent.
+
+(I used a short polymer because a longer polymer would require a larger box.
+ But this example looked more impressive visually when I used a smaller box.)
+----
+Note: You must compile LAMMPS with the optional "RIGID" package installed. To
+ do this, go to the "src" directory of your lammps installation and type:
+ make yes-RIGID
+ make clean-all
+ make NAME_OF_TARGET #<--("make ubuntu", "make g++", "make linux".)
+----
+
+Instructions on how to build LAMMPS input files and
+run a short simulation are provided in other README files.
+
+step 1)
+README_setup.sh
+
+step2)
+README_run.sh
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_translocation/README_run.sh b/tools/moltemplate/examples/coarse_grained/abstract_translocation/README_run.sh
new file mode 100755
index 000000000..f402d7b7c
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_translocation/README_run.sh
@@ -0,0 +1,28 @@
+# --- Running LAMMPS ---
+# -- Prerequisites: --
+# The "run.in.nvt" file is a LAMMPS input script containing
+# references to the input scripts and data files
+# you hopefully have created earlier with moltemplate.sh:
+# system.in.init, system.in.settings, system.data
+# If not, carry out the instructions in "README_setup.sh".
+#
+# -- Instructions: --
+# If "lmp_mpi" is the name of the command you use to invoke lammps,
+# then you would run lammps on these files this way:
+
+
+lmp_mpi -i run.in.nvt # Run a simulation at constant volume
+
+#or
+
+lmp_mpi -i run.in.npt # Run a simulation at constant pressure
+ # (Note: Constant pressure conditions have not been
+ # well tested. The "run.in.npt" script may fail.)
+
+
+
+# If you have compiled the MPI version of lammps, you can run lammps in parallel
+#mpirun -np 4 lmp_mpi -i run.in.nvt
+#or
+#mpirun -np 4 lmp_mpi -i run.in.npt
+# (assuming you have 4 processors available)
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_translocation/README_setup.sh b/tools/moltemplate/examples/coarse_grained/abstract_translocation/README_setup.sh
new file mode 100755
index 000000000..cf22ee0fa
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_translocation/README_setup.sh
@@ -0,0 +1,23 @@
+# Use these commands to generate the LAMMPS input script and data file
+# (and other auxilliary files):
+
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh system.lt
+
+ # This will generate various files with names ending in *.in* and *.data.
+ # These files are the input files directly read by LAMMPS. Move them to
+ # the parent directory (or wherever you plan to run the simulation).
+
+ mv -f system.in* system.data ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_translocation/README_visualize.txt b/tools/moltemplate/examples/coarse_grained/abstract_translocation/README_visualize.txt
new file mode 100644
index 000000000..a3e3ed620
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_translocation/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0}
+ pbc box -shiftcenterrel {0.0 0.15 0.0}
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_translocation/images/polymer_LR.jpg b/tools/moltemplate/examples/coarse_grained/abstract_translocation/images/polymer_LR.jpg
new file mode 100644
index 000000000..5529fc74b
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/abstract_translocation/images/polymer_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_translocation/images/solvent_LR.jpg b/tools/moltemplate/examples/coarse_grained/abstract_translocation/images/solvent_LR.jpg
new file mode 100644
index 000000000..304693e2a
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/abstract_translocation/images/solvent_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_translocation/images/walls+solvent+polymer_t=0.jpg b/tools/moltemplate/examples/coarse_grained/abstract_translocation/images/walls+solvent+polymer_t=0.jpg
new file mode 100644
index 000000000..c1dcc4c18
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/abstract_translocation/images/walls+solvent+polymer_t=0.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_translocation/images/walls_LR.jpg b/tools/moltemplate/examples/coarse_grained/abstract_translocation/images/walls_LR.jpg
new file mode 100644
index 000000000..319427ae6
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/abstract_translocation/images/walls_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/monomer.lt b/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/monomer.lt
new file mode 100644
index 000000000..a8a35339f
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/monomer.lt
@@ -0,0 +1,111 @@
+ # ----------------------------------------------------------------------
+ # -- General comment: --
+ # -- The write() and write_once() commands create and append text to --
+ # -- files (replacing variables beginning with @ or $ with counters.) --
+ # -- File names beginning with "In " or "Data " are special. --
+ # -- They will be pasted into the LAMMPS input script and --
+ # -- data files which are generated by moltemplate. The syntax --
+ # -- of these files is exactly the same as the syntax from the --
+ # -- corresponding sections of a LAMMPS input script or data file. --
+ # ----------------------------------------------------------------------
+
+
+Monomer {
+
+ # atom-id mol-id atom-type charge x y z
+
+ write("Data Atoms") {
+ $atom:CA $mol:... @atom:CA 0.0 0.000 0.4000 0.00000
+ $atom:R1 $mol:... @atom:R 0.0 0.000 1.000 1.000
+ $atom:R2 $mol:... @atom:R 0.0 0.000 1.000 -1.000
+ }
+
+ # Note: The "..." in "$mol:..." tells moltemplate that this molecule may
+ # be a part of a larger molecule, and (if so) to use the larger
+ # parent object's molecule id number as it's own
+
+
+ # atom-type mass
+
+ write_once("Data Masses") {
+ @atom:CA 13.0
+ @atom:R 50.0
+ }
+
+ # atom-type atom-type epsilon sigma
+
+ write_once("In Settings") {
+ pair_coeff @atom:CA @atom:CA 0.05 2.0
+ pair_coeff @atom:R @atom:R 0.50 2.0
+ }
+
+ # bond-id bond-type atom-id1 atom-id2
+
+ write("Data Bonds") {
+ $bond:CR1 @bond:sidechain $atom:CA $atom:R1
+ $bond:CR2 @bond:sidechain $atom:CA $atom:R2
+ }
+
+ write_once("In Settings") {
+ # bond-type k r0
+ bond_coeff @bond:sidechain 30.0 1.2
+ bond_coeff @bond:bb 30.0 2.0 # "bb" shorthand for "backbone"
+ }
+
+ # For a compound molecule consisting of smaller building blocks (such as a
+ # polymer built from monomers), it is tedious to explicitly list all of the
+ # angles, dihedrals in the entire molecule. Instead, you can define rules
+ # for automatically generating all the angular interactions between bonded
+ # atoms according to their connectivity and the atom/bond type.
+ # Later, when you connect multiple monomers together to form a polymer,
+ # appropriate bond-angle forces will be applied to these atoms automatically
+ # (as well as dihedral and improper forces, if defined).
+
+ # Rules for determining 3 and 4-body bonded interactions by type
+
+ # angle-type atomType1 atomType2 atomType3 bondType1 bondType2
+
+ write_once("Data Angles By Type") {
+ @angle:backbone @atom:CA @atom:CA @atom:CA @bond:* @bond:*
+ @angle:sidechain @atom:CA @atom:CA @atom:R @bond:* @bond:*
+ @angle:RCR @atom:R @atom:CA @atom:R @bond:* @bond:*
+ }
+
+ # ("@angle:RCR" defines the angle between the R-C-R atoms within a monomer.
+ # The other angular interactions are between atoms in neighboring monomers.)
+
+
+ # dihedral-type AtomType1 AtomType2 AtomType3 AtomType4 bondType1 btyp2 btyp3
+
+ write_once("Data Dihedrals By Type") {
+ @dihedral:backbn @atom:CA @atom:CA @atom:CA @atom:CA @bond:* @bond:* @bond:*
+ }
+
+ # Parameters for these new angular interactions must be defined. (I recommend
+ # putting all force-field parameters (coeffs) in the "In Settings" section.)
+
+ write_once("In Settings") {
+ # angle-type k theta0
+ angle_coeff @angle:backbone 50.00 160
+ angle_coeff @angle:sidechain 50.00 120
+ angle_coeff @angle:RCR 50.00 120
+ # dihedral-type K1 K2 K3 K4
+ dihedral_coeff @dihedral:backbn 1.411036 -0.271016 3.145034 0.0
+ }
+
+} # Monomer
+
+
+
+
+
+
+# -------------------------------------------------------------------------
+# Heteropolymers:
+#
+# There is a similar example for heteropolymers which is distributed online
+# bundled with the moltemplate software. It is named "2bead_heteropolymer",
+# and it demonstrates how to share backbone (CA) atoms, bonds and angles
+# (so that you don't have to define them seperately for each type of monomer).
+# -------------------------------------------------------------------------
+
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/polymer.lt b/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/polymer.lt
new file mode 100644
index 000000000..31a36d07c
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/polymer.lt
@@ -0,0 +1,32 @@
+import "monomer.lt"
+
+Polymer {
+
+ create_var {$mol} # optional:force all monomers to share the same molecule-ID
+ # (The "Data Atoms" in Monomer must use "$mol:..." notation.)
+
+ # Make a chain of monomers
+ monomers = new Monomer [12].rot(180, 1,0,0).move(2.0, 0, 0)
+
+
+ # Now, link the monomers together this way:
+ write("Data Bonds") {
+ $bond:bb1 @bond:Monomer/bb $atom:monomers[0]/CA $atom:monomers[1]/CA
+ $bond:bb2 @bond:Monomer/bb $atom:monomers[1]/CA $atom:monomers[2]/CA
+ $bond:bb3 @bond:Monomer/bb $atom:monomers[2]/CA $atom:monomers[3]/CA
+ $bond:bb4 @bond:Monomer/bb $atom:monomers[3]/CA $atom:monomers[4]/CA
+ $bond:bb5 @bond:Monomer/bb $atom:monomers[4]/CA $atom:monomers[5]/CA
+ $bond:bb6 @bond:Monomer/bb $atom:monomers[5]/CA $atom:monomers[6]/CA
+ $bond:bb7 @bond:Monomer/bb $atom:monomers[6]/CA $atom:monomers[7]/CA
+ $bond:bb8 @bond:Monomer/bb $atom:monomers[7]/CA $atom:monomers[8]/CA
+ $bond:bb9 @bond:Monomer/bb $atom:monomers[8]/CA $atom:monomers[9]/CA
+ $bond:bb10 @bond:Monomer/bb $atom:monomers[9]/CA $atom:monomers[10]/CA
+ $bond:bb11 @bond:Monomer/bb $atom:monomers[10]/CA $atom:monomers[11]/CA
+ }
+
+} # Polymer
+
+
+
+# Angle, dihedral and improper interactions will be generated
+# automatically according to the instructions in "monomer.lt"
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/solvent.lt b/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/solvent.lt
new file mode 100644
index 000000000..1073a58a1
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/solvent.lt
@@ -0,0 +1,23 @@
+###################### SOLVENT #########################
+
+import "solvent_single.lt"
+
+# Fill the simulation box with a solvent.
+# In this example, the solvent is made of many
+# copies of "MoleculeA" (which has only one atom).
+
+solvent = new MoleculeA [12].move(3.0,0,0)
+ [12].move(0,3.0,0)
+ [12].move(0,0,3.0)
+
+# To start with a reasonable conformation, it's a good idea to delete the
+# solvent where the walls or the polymer is going to be. Here we do it manually:
+
+delete solvent[*][*][2] # <-- 1st wall will go here
+delete solvent[*][*][8] # <-- 2nd wall will go here
+delete solvent[6-7][0-8][5-6] # <-- polymer will go here
+
+# Alternate notation:
+# [a:b] notation also works, however the "b" is a strict upper bound...
+# ...hence the last line is equivalent to "delete solvent[6:8][0:9][5:7]"
+# [a*b] notation also works, and is equivalent to [a-b]
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/solvent_single.lt b/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/solvent_single.lt
new file mode 100644
index 000000000..8057e3c6f
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/solvent_single.lt
@@ -0,0 +1,22 @@
+# The two files "solvent_single.lt" and "wall_single.lt"
+# define two very simple molecules containing one atom each.
+# Both atoms have a similar size (the have the same sigma parameter).
+
+
+MoleculeA {
+
+ # atomID molID atomType charge x y z
+ write("Data Atoms") {
+ $atom:a $mol:. @atom:a 0.0 0.0 0.0 0.0
+ }
+ write_once("Data Masses") {
+ @atom:a 10.0
+ }
+ write_once("In Settings") {
+ # i j epsilon sigma cutoff
+ pair_coeff @atom:a @atom:a 0.60 3.0 7.5 #<--attractive
+ group groupA type @atom:a #(Atoms of this type belong to the "A" group)
+ }
+
+}
+
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/system.lt b/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/system.lt
new file mode 100644
index 000000000..0ed272710
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/system.lt
@@ -0,0 +1,57 @@
+
+# LAMMPS supports a large number of force-field styles. We must select
+# which ones we need. This information belongs in the "In Init" section (and
+# (you can specify it anywhere in your LT files, multiple times if you like).
+# If different molecules use different force-field styles, you can use hybrid
+# styles. (In this example the molecules share the same pair_style.)
+
+write_once("In Init") {
+ units real
+ atom_style full
+ bond_style harmonic
+ angle_style harmonic
+ dihedral_style opls
+ pair_style lj/cut 9.0
+ # If you have charged molecules immersed in a salty implicit
+ # solvent, you might try something like this this instead:
+ # pair_style lj/cut/coul/debye 0.1 9.0
+ pair_modify mix arithmetic
+ dielectric 80.0
+ special_bonds lj 0.0 0.0 0.0
+}
+
+
+write_once("Data Boundary") {
+ 0.0 36.0 xlo xhi
+ 0.0 36.0 ylo yhi
+ -18.0 18.0 zlo zhi
+}
+
+
+import "solvent.lt"
+
+import "walls.lt"
+
+import "polymer.lt"
+
+polymer = new Polymer
+polymer.rot(-90.0, 0,0,1) # rotate it -90 degrees around the Y axis
+polymer.move(19.5,22.5,16.5) # move it near the openning of the hole
+
+
+
+####################### Notes: #########################
+#
+# In this example we deleted solvent and wall molecule objects.
+# You can also delete a monomer inside the polymer. To do that use:
+# delete polymer/monomers[6]
+# You can also delete individual atoms, bonds, angles, dihedrals, & impropers
+# from existing molecules. For example to delete an atom in the middle
+# of the polymer try this. (Bonds and other interactions will also be removed.)
+# delete polymer/monomers[6]/CA
+# To delete a bond, try this
+# delete polymer/bb6
+# Note: This will not delete the angular interactions if they were explicitly
+# defined (ie, using "Data Angles" instead of "Data Angles By Type").
+# Delete explicit angle, dihedral, and improper interactions manually.
+# Note: In both cases the two molecule fragments will keep the same mol counter.
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/wall_single.lt b/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/wall_single.lt
new file mode 100644
index 000000000..79275a06b
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/wall_single.lt
@@ -0,0 +1,21 @@
+# The two files "solvent_single.lt" and "wall_single.lt"
+# define two very simple molecules containing one atom each.
+# Both atoms have a similar size (the have the same sigma parameter).
+
+MoleculeB {
+
+ # atomID molID atomType charge x y z
+ write("Data Atoms") {
+ $atom:b $mol:. @atom:b 0.0 0.0 0.0 0.0
+ }
+ write_once("Data Masses") {
+ @atom:b 10.0
+ }
+ write_once("In Settings") {
+ # i j epsilon sigma cutoff
+ pair_coeff @atom:b @atom:b 0.05 3.0 7.5 #<--repulsive (approximately)
+ group groupB type @atom:b #(Atoms of this type belong to the "B" group)
+ }
+
+}
+
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/walls.lt b/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/walls.lt
new file mode 100644
index 000000000..dcccac941
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_translocation/moltemplate_files/walls.lt
@@ -0,0 +1,23 @@
+####################### WALLS ##########################
+
+import "wall_single.lt"
+
+# Create a wall at position z=6.0 (6.0 = 2*3.0)
+
+wall1 = new MoleculeB [12].move(3.0, 0, 0)
+ [12].move(0, 3.0, 0)
+
+wall1[*][*].move(0,0,6.0)
+
+# Create a second wall at position z=24.0 (24.0 = 8*3.0)
+
+wall2 = new MoleculeB [12].move(3.0, 0, 0)
+ [12].move(0, 3.0, 0)
+
+wall2[*][*].move(0,0,24.0)
+
+# Now delete some of the molecules in "wall2" to create a hole.
+
+delete wall2[6-7][6-9]
+delete wall2[5-8][7-8]
+
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_translocation/run.in.npt b/tools/moltemplate/examples/coarse_grained/abstract_translocation/run.in.npt
new file mode 100644
index 000000000..0b58a8e1b
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_translocation/run.in.npt
@@ -0,0 +1,120 @@
+# THIS EXAMPLE HAS NOT BEEN RIGOROUSLY TESTED.
+# (This simulation may fail.
+# However the "run.in.nvt" example in this directory should work.)
+#
+# Requirements:
+# To run this system at constant pressure, it might help to compile LAMMPS with
+# the optional RIGID package, and use "fix rigid" on the carbon. (Optional.)
+# The use of fix rigid is controversial. This method is demonstrated below.
+
+# ------------------------------- Initialization Section --------------------
+
+include system.in.init
+
+# ------------------------------- Atom Definition Section -------------------
+
+read_data system.data
+
+# ------------------------------- Settings Section --------------------------
+
+include system.in.settings
+
+# ------------------------------- Run Section -------------------------------
+
+
+# Only the groupB atoms are immobile.
+group mobile subtract all groupB
+
+# Unfortunately you can not use the LAMMPS "minimize" command on this system
+# because there is no way to immobilize the wall atoms during minimization.
+# Instead, we can use langevin dynamics with a fast
+# damping parameter and a small timestep.
+
+print "--------- beginning minimization (using fix langevin) ---------"
+
+timestep 0.1
+fix fxlan mobile langevin 1.0 1.0 100.0 48279
+fix fxnve mobile nve # <-- needed by fix langevin (see lammps documentation)
+thermo 100
+run 2500
+
+unfix fxlan
+unfix fxnve
+
+# -- simulation protocol --
+
+print "--------- beginning simulation (using fix nvt) ---------"
+
+dump 1 all custom 1000 traj_npt.lammpstrj id mol type x y z ix iy iz
+
+thermo_style custom step temp pe etotal press vol epair ebond eangle edihed
+thermo 200 # time interval for printing out "thermo" data
+
+
+# ------------------------- NPT ---------------------------
+
+
+# ------ QUESTIONABLE (see below): ------
+
+fix Ffreezestuff groupB rigid single force * off off off torque * off off off
+
+# Comment:
+# The use of "fix rigid" to immobilize an object is somewhat controversial.
+# Feel free to omit it.
+# (Neither Trung or Steve Plimpton use fix rigid for immobilizing
+# molecules, but I noticed that at NPT, it does a better job of maintaining
+# the correct volume. However "fix rigid" has changed since then (2011),
+# so this may no longer be true. Please use this example with caution.)
+
+
+
+# Thermostat+Barostat
+# Set temp=300K, pressure=200bar, and equilibrate volume only in the z direction
+
+fix fxMoveStuff mobile npt temp 300 300 100 z 200 200 1000.0 dilate mobile drag 2.0
+
+# ----------------------------------------
+
+# The next two lines recalculate the temperature using
+# only the mobile degrees of freedom (ie. water atom velocities):
+
+compute tempMobile mobile temp
+compute pressMobile all pressure tempMobile
+
+thermo_style custom step c_tempMobile c_pressMobile temp press vol
+
+fix_modify fxMoveStuff temp tempMobile
+
+reset_timestep 0
+
+timestep 0.5
+
+run 100000
+
+timestep 1.0
+
+run 100000
+
+
+write_data system_after_npt.data
+
+# (The "write_restart" and "read_restart" commands were buggy in 2012,
+# but they should work also.)
+
+
+
+
+
+
+
+# ----- Comment: Avoid using fix rigid/npt on large single rigid objects -----
+#
+# Use of the following is not recommended:
+#
+# fix Ffreezestuff groupB rigid/npt single temp 300 300 100 z 200 200 1000.0 force * off off off torque * off off off dilate mobile
+# (temp=300K, pressure=200bar, and equilibrate volume only in the z direction)
+#
+# In my experience, the system becomes unstable when applying "fix rigid/npt"
+# to the immobile atoms, while also applying "fix npt" on the solvent atoms.
+# (It is probably a bad idea to use two barostats simultaneously.)
+# ----------------------------------------------------------------------------
diff --git a/tools/moltemplate/examples/coarse_grained/abstract_translocation/run.in.nvt b/tools/moltemplate/examples/coarse_grained/abstract_translocation/run.in.nvt
new file mode 100644
index 000000000..c483d0b9a
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/abstract_translocation/run.in.nvt
@@ -0,0 +1,53 @@
+# PREREQUISITES:
+#
+# You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (See README_setup.sh for details)
+
+# -- Init Section --
+
+include system.in.init
+
+# -- Atom Definition Section --
+
+read_data system.data
+
+# -- Settings Section --
+
+include system.in.settings
+
+# Use "neigh_modify" to turn off calculation of interactions between immobilized
+# atoms. (Note: The "groupB" group was defined in the file "system.insettings")
+neigh_modify exclude group groupB groupB
+
+# -- Run Section --
+
+
+timestep 1.0
+dump 1 all custom 500 traj_nvt.lammpstrj id mol type x y z ix iy iz
+
+thermo_style custom step temp pe etotal vol epair ebond eangle edihed
+thermo 500 # time interval for printing out "thermo" data
+
+
+# Optional: Improve efficiency by omitting the calcuation of interactions
+# between immobile atoms. (Note: This is not optional under NPT conditions.)
+neigh_modify exclude group groupB groupB
+
+# Only the groupB atoms are immobile.
+group mobile subtract all groupB
+
+# The next two lines recalculate the temperature
+# using only the mobile degrees of freedom:
+
+compute tempMobile mobile temp
+
+# Integrate the equations of motion:
+fix fMoveStuff mobile nvt temp 300.0 300.0 100.0
+fix_modify fMoveStuff temp tempMobile
+
+
+run 100000
+
+write_data system_after_nvt.data
+
diff --git a/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/README_FIRST.txt b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/README_FIRST.txt
new file mode 100644
index 000000000..5420d95da
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/README_FIRST.txt
@@ -0,0 +1,48 @@
+This is an implementation of the "two-stage" model used by Maxim Imakaev
+in the Naumova et Al 2013 Science paper on metaphase chromatin.
+(Download the supplemental materials section and scroll down to the section:
+ "Two-stage process: linear compaction - axial compression")
+
+---- SMALL MODIFICATION ----
+
+Unlike that study, I did not use "softened" Lennard-Jones potentials
+(which allow the chains to pass through each other).
+
+--- Why use moltemplate? ---
+
+Honestly, you don't need to use moltemplate to build this polymer.
+It is almost counter-productive to use moltemplate to build this kind of
+polymer because it is so simple. (The polymer has only 1 bead per atom.
+It just makes it more complicated to introduce all these extra
+files including monomer.lt, condensin.lt and system.lt, especially considering
+that system.lt is a complex file which is generated by a separate script.)
+
+However building the sytem using moltemplate may pay off if you
+replace each point-like monomer with a multi-atom molecule later on.
+(Right now, using moltemplate to build this system is sort of overkill.
+ I'll post an example of building more complex models of chromatin eventually.)
+
+Anyway, the two-stage model at the end of Naumova et al Science 2013 uses the "30nm-fiber" model, whose details are (somewhat vaguely) described in the supplemental materials section.
+
+---- 10-nm fiber model: ----
+
+For the 10nm model,
+ n=128000,
+ L=200,
+ U(alpha)=5*(1 - cos(alpha))
+ bond_length=1.0 (=10nm)
+ sigma=1.0 (particle radius = 10nm)
+
+---- 30-nm fiber model: ----
+
+"The 30nm-like fiber was modeled by increasing the volume of each monomer and the amount of DNA represented by each monomer by a factor of 4.25, while keeping other parameters the same at the monomer level."
+
+I interpret this to mean that, for the 30nm model,
+ n=128000/4.25~=30117 (however I rounded up to 32768=2^15)
+ L=200/4.25~=47 (however I rounded up to 51)
+ U(alpha)=1.17647*(1 - cos(alpha)) (5/4.25=1.17647)
+
+To increase the volume by a factor o 4.25, I increase both the diameter of each
+bead (the "sigma" parameter), and the bond-lengths connecting them from
+1.0 (corresponding to 10nm) to 4.25^(1/3)~=1.6198 (corresponding to 16.198nm).
+
diff --git a/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/README_NUCLEAR_VOLUME_FRACTION_ESTIMATE.txt b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/README_NUCLEAR_VOLUME_FRACTION_ESTIMATE.txt
new file mode 100644
index 000000000..38ad9c1c0
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/README_NUCLEAR_VOLUME_FRACTION_ESTIMATE.txt
@@ -0,0 +1,29 @@
+---------------
+The average diameter of a mammalian cell nucleus is is 6 micrometers (μm),
+which occupies about 10% of the total cell volume.
+
+(See "Molecular Biology of the Cell, Chapter 4, pages 191–234 (4th ed.)", by
+ Bruce Alberts, Alexander Johnson, Julian Lewis, Martin Raff, Keith Roberts, Peter Walter, 2002)
+
+... of that, 25% of it is occupied by the nucleolus
+http://en.wikipedia.org/wiki/Nucleolus
+("citation needed")
+---------------
+
+From the supplemental material for the original HiC paper
+(Lieberman-Aiden et al., Science 2009)
+
+Appendix 1.
+ Estimate of the Volume Fraction of Chromatin in Human Cells
+In the simulations we sought to obtain an ensemble of structures that, in their statistical properties, resemble some of the features of chromatin arrangement in the cell. Below we demonstrate that chromatin occupies a significant fraction of cell volume, a property that we reproduced in simulations. Taking the nuclear diameter of a tissue culture cell to be 5-10um, and assuming close to a spherical shape we obtain the volume in the range 50-500 um^3, with a (geometric) mean of ~160 um^3. If we assume that the chromatin is built of DNA wrapped around nucleosomes, then we have 6x10^9bp/200bp=3x10^7 nucleosomes. Each may be approximated as a cylinder ~10nm in diameter and ~5nm in height, suggesting a volume of about 500nm3 each. The linker DNA after each nucleosome is about 50bps long, suggesting a volume of about 50*0.34nm*3.14*1nm^2=50nm^3. Thus the total volume of chromatin = 550x3x10^7 =16 um^3, or ~10% (3-23%) of the nuclear volume. This strikingly large volume fraction is itself a significant underestimate, since we ignored, among other things, all other DNA-bound proteins. Note that any further packing or localization of chromatin inside the nucleus will increase local density.
+---- This next section mostly only justifies why they ----
+---- they did not stop the simulation when the globules ----
+---- were fully crumpled (ie with uniform density) ----
+ In our simulations, the radius of the final crumpled globule was R≈12.5 and the volume V≈8000 cubic units. The total volume of the 4000 monomers, 1 unit in diameters each, is V≈2000. This implies a volume fraction of about 25%, which is consistent with the volume fraction estimated above.
+ ---- ----
+
+Appendix 2.
+ Monomer length in base pairs
+Each monomer of the chain corresponds to a fragment of chromatin that equals the Kuhn length of the chromatin fiber, i.e. approximately twice the persistence length of the fiber. Although the persistence length of the chromatin fiber is unknown it can be estimated using the following arguments. DNA is packed into nucleosomes, where 150 bps are wrapped around the histone core and do not contribute to flexibility of the fiber. The linker DNA of about 50 bps that connects consecutive nucleosomes is bendable, and is the source of flexibility in the fiber. Since the persistence length of double-stranded DNA is 150 bps, an equally flexible region of the nucleosomal DNA should contain 3 linkers, i.e. 3 consecutive nucleosomes packing about 600 bps of DNA. The excluded volume of the nucleosomes, nucleosome interactions, and other DNA-bound proteins can make the fiber less flexible or prohibit certain conformation and may tend to increase the persistence length of the fiber. Using this estimated lower bound estimate for the persistence length, we obtain the Kuhn length of the equivalent freely-jointed chain to be 6 nucleosomes, or ~ 1200bp. A simulated chain of 4000 monomers corresponds to 4.8Mb of packed DNA. The size of each monomer was chosen such that its volume is equal to (or slightly above) that of 6 nucleosomes (V=6 x 600 nm^3); thus the radius of the spherical monomer is R=10nm. The diameter of each globule shown in Figure 4 is about 200 nm.
+
+
diff --git a/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/README_run.sh b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/README_run.sh
new file mode 100755
index 000000000..19674c88b
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/README_run.sh
@@ -0,0 +1,7 @@
+# Run lammps using the following 3 commands:
+# (assuming "lmp_mpi" is the name of your LAMMPS binary)
+
+lmp_mpi -i run.in.min
+lmp_mpi -i run.in.stage1
+lmp_mpi -i run.in.stage2
+
diff --git a/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/README_setup.sh b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/README_setup.sh
new file mode 100755
index 000000000..3f261528b
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/README_setup.sh
@@ -0,0 +1,58 @@
+# Use these commands to generate the LAMMPS input script and data file
+# (and other auxilliary files):
+
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # First, rescale and interpolate the positions
+ # where the monomers will be located. (This step is
+ # not needed if the coords_orig.raw file already has correct coordinates.)
+
+ ./interpolate_coords.py 32768 1.6198059 < coords_orig.raw > coords.raw
+
+ # Then, build the "system.lt" file
+
+ ./generate_system_lt.py 32768 51 < coords.raw > system.lt
+
+ # 32768 is the number of monomers in the polymer
+ # (which may be different from the number of coordinates
+ # in the "coords_orig.raw" file) This number will vary
+ # depending on how long you want the polymer to be.
+ # The second argument "51" is the average interval between
+ # condensin anchors (IE the "loop size" in monomers.)
+
+
+ # Run moltemplate
+
+ moltemplate.sh system.lt -a "@bond:stage1 1" \
+ -a "@bond:stage2 2" \
+ -a "@atom:Monomer/A 1"
+
+ # This will generate various files with names ending in *.in* and *.data.
+ # These files are the input files directly read by LAMMPS. Move them to
+ # the parent directory (or wherever you plan to run the simulation).
+ #
+ # We used the "-a" command to set the variable @bond:condensin to "2"
+ # because we will refer to it later in the "run.in" LAMMPS input script.
+ # (Of coarse, LAMMPS knows nothing about moltemplate variables,
+ # so in that file we refer to it as dihedral type "1")
+
+ mv -f system.in* system.data ../
+
+ # We also need the table of bond forces used during "stage 2".
+ # (Like the system.data and the various input scripts, this file is needed by
+ # LAMMPS, so we need to copy it to the directory where we will run the sim.)
+ cp -f table_bonds_stage2.dat ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+ # Optional:
+ # Remove the "system.lt" file created by "generate_system_lt.py"
+ #rm -f system.lt
+
+cd ../
+
diff --git a/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/README_visualize.txt b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/README_visualize.txt
new file mode 100644
index 000000000..31abe1e1e
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/README_visualize.txt
@@ -0,0 +1,131 @@
+NOTE: VMD DOES NOT ALLOW YOU TO VISUALIZE SYSTEMS WITH MANY BONDS ATTACHED
+ TO EACH ATOM. (IF IT DID, THE RESULTS WOULD BE UGLY ANWAY.)
+
+HOWEVER THIS MODEL ATTACHES APPROXIMATELY 60 BONDS TO EACH CONDENSIN ATOM.
+IN ORDER TO PULL THE CONDENSIN MONOMERS TOGETHER. YOU MUST DELETE THOSE
+BONDS (of type "1" or "2") FROM THE "system.data" FILE BEFORE YOU CARRY
+OUT THE COMMANDS BELOW. (...And backup your "system.data" file. You'll need
+all the bonds when you run the simulations.)
+
+-------------- COLORS ---------------
+In order to show how the polymer is distributed along the length of the
+cylinder, I recommend to select the
+Graphics->Graphical Representations
+menu option, and select "Index" from the "Coloring Method" pull-down menu.
+
+After doing this, you can switch from a red-white-blue scheme, to a
+rainbow ("jet") scheme, by selecting the Extensions->Tk Console menu option
+and loading the "vmd_colorscale_jet.tcl" file located in the "images" directory.
+-------------------------------------------
+
+First, if you have not done so, download and install VMD:
+
+http://www.ks.uiuc.edu/Research/vmd/
+http://www.ks.uiuc.edu/Development/Download/download.cgi?PackageName=VMD
+
+
+ ------- To view a lammps trajectory in VMD --------
+
+The system coordinates are initialy stored in a LAMMPS' ".data" file.
+(If that file was built with moltemplate, it will be named "system.data".)
+
+The first step is to view that file.
+Then you should create a ".psf" file
+(The .psf file is necessary after you run the simulation
+ for viewing trajectories.)
+
+1) Build a PSF file for use in viewing with VMD
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+You will see a snapshot of the system on the screen.
+(presumably the initial conformation at t=0)
+
+2)
+
+Later once you have run a simulation,
+to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file
+ (It usually has names like "traj.lammpstrj". It depends on how you saved it.)
+ If necessary, for "file type" select: "LAMMPS Trajectory".
+ (However VMD should recognize the file type by the file extension.)
+ Load it.
+
+
+
+
+
+##################### PERIODIC BOUNDARY CONDITIONS #####################
+ If you are only simulating a single molecule and you are not
+ using periodic boundary conditions, then ignore everything below.
+########################################################################
+
+ ---- A note on trajectory format: -----
+If the trajectory is the standard LAMMPS format, (aka a "DUMP" file with
+a ".lammpstrj" extension), then it's a good idea when you run the simulation
+to tell LAMMPS you want to store the information needed for showing periodic
+boundary conditions. (Even if you are not using periodic boundaries.
+It never hurts to include a tiny bit of extra information.) To do that,
+I've been using this command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 traj.lammpstrj id mol type x y z ix iy iz
+
+(Also: it's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. I think this is needed
+to wrap atom coordinates visually without breaking molecules in half. Again
+you don't need to worry about this if you are not using periodic boundaries.)
+
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {-0.5 -0.5 -0.5}
+ pbc box -shiftcenterrel {-0.5 -0.5 -0.5}
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/images/stage2_interior.jpg b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/images/stage2_interior.jpg
new file mode 100644
index 000000000..8765cec85
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/images/stage2_interior.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/images/stage2_interior_rotated.jpg b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/images/stage2_interior_rotated.jpg
new file mode 100644
index 000000000..2d46cc6a4
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/images/stage2_interior_rotated.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/images/t=0_before_minimizaion.jpg b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/images/t=0_before_minimizaion.jpg
new file mode 100644
index 000000000..06600ecc9
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/images/t=0_before_minimizaion.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/images/vmd_colorscale_jet.tcl b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/images/vmd_colorscale_jet.tcl
new file mode 100644
index 000000000..7434eca99
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/images/vmd_colorscale_jet.tcl
@@ -0,0 +1,87 @@
+
+proc lerpcolor { col1 col2 alpha } {
+ set dc [vecsub $col2 $col1]
+ set nc [vecadd $col1 [vecscale $dc $alpha]]
+ return $nc
+}
+
+proc coltogs { col } {
+ foreach {r g b} $col {}
+ set gray [expr ($r + $g + $b) / 3.0]
+ return [list $gray $gray $gray]
+}
+
+proc jet_tricolor_scale {} {
+ display update off
+ set mincolorid [expr [colorinfo num] - 1]
+ set maxcolorid [expr [colorinfo max] - 1]
+ set colrange [expr $maxcolorid - $mincolorid]
+ set colhalf [expr $colrange / 2]
+ for {set i $mincolorid} {$i < $maxcolorid} {incr i} {
+ set colpcnt [expr ($i - $mincolorid) / double($colrange)]
+
+ # The following color definitions for "jet" sort-of came from:
+ #http://stackoverflow.com/questions/7706339/grayscale-to-red-green-blue-matlab-jet-color-scale
+ # but it was missing "green", so I inserted a green somewhere in the middle.
+
+ # darkblue/violet 0.0
+ set color0 { 0.08 0.0 0.77 }
+
+ # blue 0.19
+ set color1 { 0.0 0.0 1.0 }
+
+ # cyan 0.34
+ set color2 { 0.0 1.0 1.0 }
+
+ # turquoise 0.4001
+ set color3 { 0.0 1.0 0.78 }
+
+ # green 0.445
+ set color4 { 0.0 1.0 0.0 }
+
+ # chartreuse 0.535
+ set color5 { 0.875 1.0 0.0 }
+
+ # yellow 0.69
+ set color6 { 1.0 1.0 0.0 }
+
+ # orange 0.73
+ set color7 { 1.0 0.25 0.0 }
+
+ # red 0.755
+ set color8 { 1.0 0.0 0.0 }
+
+ # darkred 1.0
+ set color9 { 0.93 0.0 0.0 }
+
+ if { $colpcnt < 0.19 } {
+ set nc [lerpcolor $color0 $color1 [expr $colpcnt/(0.19-0.0)]]
+ } elseif { $colpcnt < 0.34 } {
+ set nc [lerpcolor $color1 $color2 [expr ($colpcnt-0.19)/(0.34-0.19)]]
+ } elseif { $colpcnt < 0.4001 } {
+ set nc [lerpcolor $color2 $color3 [expr ($colpcnt-0.34)/(0.4001-0.34)]]
+ } elseif { $colpcnt < 0.445 } {
+ set nc [lerpcolor $color2 $color3 [expr ($colpcnt-0.4001)/(0.445-0.4001)]]
+ } elseif { $colpcnt < 0.535 } {
+ set nc [lerpcolor $color3 $color4 [expr ($colpcnt-0.445)/(0.535-0.445)]]
+ } elseif { $colpcnt < 0.69 } {
+ set nc [lerpcolor $color4 $color5 [expr ($colpcnt-0.535)/(0.69-0.535)]]
+ } elseif { $colpcnt < 0.73} {
+ set nc [lerpcolor $color5 $color6 [expr ($colpcnt-0.69)/(0.73-0.69)]]
+ } elseif { $colpcnt < 0.755} {
+ set nc [lerpcolor $color6 $color7 [expr ($colpcnt-0.73)/(0.755-0.73)]]
+ } else {
+ set nc [lerpcolor $color7 $color8 [expr ($colpcnt-0.755)/(1.0-0.755)]]
+ }
+
+ # set nc [coltogs $nc]
+ foreach {r g b} $nc {}
+ puts "index: $i $r $g $b -- $colpcnt"
+ display update ui
+ color change rgb $i $r $g $b
+ }
+ display update on
+}
+
+jet_tricolor_scale
+
diff --git a/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/moltemplate_files/README_how_to_generate_system_lt.sh b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/moltemplate_files/README_how_to_generate_system_lt.sh
new file mode 100755
index 000000000..829b4c6be
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/moltemplate_files/README_how_to_generate_system_lt.sh
@@ -0,0 +1,19 @@
+ # First, rescale and interpolate the positions
+ # where the monomers will be located. (This step is not needed
+ # if the coords_orig.raw file already has correct coordinates.)
+ # The first argument, 32768 is the number of atoms in the desired file.
+ # The second argument, 1.6198059 = 4.25^(1/3), tells interpolate_coords.py
+ # to multiply all the coordinates (scale them up) by 1.6198059.
+
+ ./interpolate_coords.py 32768 1.6198059 < coords_orig.raw > coords.raw
+
+ # Then, build the "system.lt" file
+
+ ./generate_system_lt.py 32768 51 < coords.raw > system.lt
+
+ # 32768 is the number of monomers in the polymer
+ # (which may be different from the number of coordinates
+ # in the "coords_orig.raw" file) This number will vary
+ # depending on how long you want the polymer to be.
+ # The second argument "51" is the average interval between
+ # condensin anchors (IE the "loop size" in monomers.)
diff --git a/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/moltemplate_files/README_length_flexibility_details.txt b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/moltemplate_files/README_length_flexibility_details.txt
new file mode 100644
index 000000000..f2cd91c0b
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/moltemplate_files/README_length_flexibility_details.txt
@@ -0,0 +1,57 @@
+---- Andrew's comments ----
+
+The two-stage model at the end of Naumova et al Science 2013 uses the "30nm-fiber" model, whose details are (somewhat vaguely) described in the supplemental materials section.
+
+For the 10nm model,
+ n=128000,
+ L=200,
+ U(alpha)=5*(1 - cos(alpha))
+ bond_length=1.0 (=10nm)
+ sigma=1.0 (particle radius = 10nm)
+
+30nm-fiber model details:
+"The 30nm-like fiber was modeled by increasing the volume of each monomer and the amount of DNA represented by each monomer by a factor of 4.25, while keeping other parameters the same at the monomer level."
+
+I interpret this to mean that, for the 30nm model,
+ n=128000/4.25~=30117
+ L=200/4.25~=47
+ U(alpha)=1.17647*(1 - cos(alpha)) (5/4.25=1.17647)
+To increase the volume by a factor o 4.25, originally I thought I should increase the "sigma" parameter from 1.0 to 4.25^(1/3)~=1.6198. But I suspect that the bond-lengths between monomers should be fixed at 1.0. If that is the case, then, perhaps I should increase "sigma" from 1.0 to 4.25^(1/2)~=2.061552, and keep the bond-length fixed at 1.0 (which in the units used by thsi paper, corresponds to 10nm). (That would increase the volume of a cylinder of radius "sigma" and length="bond-length" by a factor of 4.25)
+ bond_length=1.0 (10nm again)
+ sigma=2.061552 (Yes, this is less than 3.0<-->30nm. See below.)
+
+
+
+
+--- Excerpts from the Supplemental section of Naumova et al Science 2013 ---
+
+From p. 18 of the supplemental materials section of Naumova et al Science 2013.
+
+ (This section was probably written by Maxim Imakaev.)
+
+ In vivo, the structure of the chromatin fiber can be complicated and many details remain unknown, particularly in metaphase. Given this uncertainty, we simulated chromatin as a homogeneous “beads-on-a-string” polymer fiber. We consider a 10nm fiber, as the pervasiveness of the 30nm fiber in vivo has become increasingly contested. In our simulations, 77Mb is represented by a densely-packed 10nm fiber of 128,000 monomers. Each monomer represents a 10nm-sized DNA-histone complex containing 3 nucleosomes (around 600bp). The fiber has a persistence length of 4 monomers (~2.4Kb), which is based on earlier estimates of 5-10 nucleosomes for interphase (14). Those estimates arise from the assumption that 5-10 linker DNA fragments, each of 20-40bp, can collectively provide flexibility equal to that of the 150bp persistence length of DNA. Binding of proteins to the linker DNA (e.g. histone H1) and interactions between neighboring nucleosomes can further constrain dynamics, requiring more linkers to provide the persistence length. Due to the tight packing of nucleosomes in metaphase, we use the upper limit of this range, i.e. 12 nucleosomes.
+ For the consecutive loops on a scaffold model (the final folded state model with the best agreement with Hi-C data), we also performed simulations with a more flexible 10nm fiber, or with a 30nm fiber, and found similar results. The more flexible 10nm fiber was modeled by decreasing persistence length to 1.8 monomers. The 30nm-like fiber was modeled by increasing the volume of each monomer and the amount of DNA represented by each monomer by a factor of 4.25, while keeping other parameters the same at the monomer level. We note that a classic model of a 30nm fiber is much less dense than a compact metaphase chromosome. A textbook model of a 30nm fiber assumes packing of about 6 nucleosomes per 10nm of fiber length. This model predicts that only 28% of the volume of the fiber (a 30nm-diameter cylinder) is occupied by nucleosomes, assuming a nucleosome shell volume of 328 nm^3. This is much less than the estimated 30-50% density of nucleosomes in a metaphase chromosome, assuming a diameter of 600nm, a packing density of 50-70 Mb/um, and the same nucleosome volume. (See also (15), which gives an estimate of 0.14-0.18 pg/μm for DNA only, and would give about twice the density if DNA is counted with nucleosomes). As follows, these fibers would have to interdigitate, and fill in gaps within each other. We account for this overlap by assuming the effective diameter of the fiber to be less than 30nm. The effective diameter was chosen to make the volume of the fiber equal the total volume of all the nucleosomes.
+
+ We accounted for topoisomerase II activity by allowing chromatin fibers to pass through each other, while still having excluded volume interactions. This was achieved by using a soft-core Lennard-Jones potential with 1kT energy cost for monomer overlap (see below). This allows for changes in the topological state of a chromosome that are known to occur during compaction in vivo.
+
+Our simulations of a two-step folding process show that Hi-C data for mitotic chromosomes is consistent with a linearly compressed array of consecutive chromatin loops. Whereas mechanisms for formation of consecutive chromatin loops have been proposed, the process of axial compression is less understood. Chromatid compression cannot be accomplished by increased chromatin-chromatin affinity alone, as this would lead to condensation into a globular geometry (14, 16, 17). However, mechanisms which locally compress the fiber of loop bases naturally allow for anisotropic compression into a shorter and thicker fiber, with the same width regardless of chromosome length (18). Differences in the duration or efficiency of the first and second stages of chromosomal condensation provide a natural mechanism for condensation-related proteins to separately affect mitotic chromosome length and width (19). We also note that the axis of loop-bases in our two-stage model does not necessarily form a continuous and rigid scaffold (Figure S26). As follows, we remain agnostic about the molecular details of the chromosomal scaffold, which might for example be formed by a network consisting of protein-protein and/or protein-DNA interactions (20).
+
+ 1. Polymer simulations
+
+ To perform Langevin dynamics polymer simulations we used OpenMM, a high-performance GPU-assisted molecular dynamics API (21, 22). To represent chromatin fibers as polymers, we used a sequence of spherical monomers of 1 unit of length in diameter. Here and below all distances are measured in monomer sizes, set to be 10nm unless specified otherwise. Neighboring monomers are connected by harmonic bonds, with a potential U = 100*(r - 1)^2 (here and below in units of kT). Polymer stiffness is modeled with a three point interaction term, with the potential U = 5*(1 - cos(alpha)), where alpha is the angle between neighboring bonds. All monomers interact via either a shifted Lennard-Jones (LJ) repulsive potential, or an attractive Lennard-Jones potential. At high densities in a confined volume, the details of the inter-monomer interactions become negligible due to screening (23), and we therefore used the computationally efficient shifted LJ potential. The shifted LJ potential allows for a short-range repulsion by truncating the LJ potential at its minimum and shifting the minimum to zero: U = 4 * (1/r^12 - 1/r^6) + 1, for r<2^(1/6); U=0 for r > 2^(1/6). The shifted LJ potential is one of the most computationally efficient repulsive potentials due to a very short cutoff radius.
+
+ To allow chain passing, which represents activity of topoisomerase II, we softened the shifted LJ potential by truncating the interaction energy at Ecutoff = 1 kT. At energies more than 0.5 Ecutoff, the LJ potential was softened via: Usoftened = 0.5 * Ecutoff * (1 + tanh(2*U/Ecutoff - 1)). To avoid numerical 19instabilities in the calculation of U at r ~ 0, the interaction radius r was truncated at r=0.3 via: rtruncated = (r^10 + (0.3)^10)^0.1, which introduced negligible shift in a final softened potential. For an attractive LJ potential, we used: U = 4 * e * (1/r^12 - 1/r^6), with e = 0.46 kT, slightly below the theta-temperature. The attractive potential was similarly softened at 2 kT and cut off at r=2.5. Unless noted, we used a softened shifted LJ repulsive potential.
+
+ Polymer models were visualized using Pymol and Rasmol. For images with loop bases highlighted, a base of each loop and 3 monomers surrounding it in each direction were labeled in red.
+
+ SECTIONS 2-5 SKIPPED
+
+6. Two-stage process: linear compaction - axial compression
+
+To simulate the two-stage process of metaphase chromosome folding, we used the 30nm fiber representation described above for its computational efficiency. Simulations were initialized from 30000 monomer fractal globule conformations; fractal globule is a model for interphase chromatin organization. First, random consecutive loops with L=100 monomers (see above) were introduced, and anchors of neighboring loops were brought together using harmonic springs with a potential U = k * (r – r0)2; r0=0.5. To avoid abrupt motion of the loop anchors, the force was gradually turned on over the first
+300000 timesteps, with k linearly increasing in time from 0 to 10 kT. We used softened shifted repulsive LJ potential for inter-monomer interaction.
+
+Upon completion of linear compaction, axial compression was initiated. This involves following changes: the repulsive LJ force is replaced with an attractive LJ force for all monomers, and the chromosomal core of loop anchors is homogeneously compressed. To achieve the latter, all anchor pairs separated by less than 30 anchors were attracted via a potential U = step(d-3) * abs(d-3) * 10 kT, which implements a constant attractive force between two anchors if they are separated by a distance larger than 3. The interactions between neighboring loop anchors were kept throughout this process.
+
+To obtain the contact map from this simulation, 50 independent runs of 1.5e7 timesteps were performed, and 250 conformations were collected from the second half of each run. The contact map was calculated from all conformations of all runs at a 30-monomer resolution, and was further averaged over three 10000-monomer blocks along the diagonal of the heatmap. The latter was done to show contact map at a relevant length scale (0 to 25 Mb), and to achieve a better averaging of the contact map.
+
diff --git a/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/moltemplate_files/calc_table.sh b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/moltemplate_files/calc_table.sh
new file mode 100755
index 000000000..aed66719f
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/moltemplate_files/calc_table.sh
@@ -0,0 +1,8 @@
+
+
+for ((i=0; i<60; i++)); do echo "$((i+1)) " `echo "$i*0.05" | bc` 0 0; done
+
+echo 61 3.0 0 -5
+
+for ((i=61; i<=4000; i++)); do echo "$((i+1)) " `echo "$i*0.05" | bc` `echo "($i-60)*0.5"|bc` -10; done
+
diff --git a/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/moltemplate_files/condensin.lt b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/moltemplate_files/condensin.lt
new file mode 100644
index 000000000..f8dfea089
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/moltemplate_files/condensin.lt
@@ -0,0 +1,47 @@
+# This file contains the definition of a molecule named "CondensinMonomer".
+# (This particular molecule contain only one atom, but that is up to you.)
+# Later, multiple CondensinMonomers can be connected together to build a molecule.
+
+
+
+CondensinMonomer {
+
+ # atom-id mol-id(ignore) atom-type q x y z
+
+ write("Data Atoms") {
+ $atom:a $mol @atom:A 0.000 0.00000 0.00000 0.00000
+ }
+
+ # (The x y z positions will be changed later with move commands
+ # You can spedify charge and other properties by changing the atom_style.)
+
+
+
+ # atom-type mass
+
+ write_once("Data Masses") {
+ @atom:A 1.0
+ }
+
+ # pairwise interactions (between non-bonded atoms):
+ #
+ # U(r) = 4*eps*((r/sig)^12 - (r/sig)^6)
+ #
+ # Note: when sigma=0.8908987181403393=2^(1/6), the minimia is at r=1.0
+ #
+ # atom-type atom-type pair_style epsilon sigma
+
+ write_once("In Settings") {
+ # I usually use sigma = 2^(-(1/6)), with a cutoff of 1
+ #pair_coeff @atom:A @atom:A lj/cut 1.0 0.8908987181403393 1.0
+ # In the 2013 Science (metaphase) paper, Imakaev used sigma=1.0
+ # with a cutoff of 2^(1/6). Here we are trying to reproduce his results.
+ # 10nm fiber
+ #pair_coeff @atom:A @atom:A lj/cut 1.0 1.0 1.122462048309373
+ # 30nm fiber (4.25^(1/2)=2.0615528128088303)
+ #pair_coeff @atom:A @atom:A lj/cut 1.0 2.0615528128088303 2.314014792963349
+ # 30nm fiber (4.25^(1/3)=1.6198059006387417)
+ pair_coeff @atom:A @atom:A lj/cut 1.0 1.6198059006387417 1.8181706490945708
+ }
+
+} # CondensinMonomer
diff --git a/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/moltemplate_files/coords_orig.raw b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/moltemplate_files/coords_orig.raw
new file mode 100644
index 000000000..9137c7061
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/moltemplate_files/coords_orig.raw
@@ -0,0 +1,32768 @@
+-25.8563 0.5868639 -10.5686
+-26.7104 0.5123159 -10.988
+-26.6472 -0.3489721 -10.3989
+-27.477 0.09032793 -9.96323
+-27.5656 0.5432849 -9.07679
+-26.9532 1.30193 -9.02479
+-27.7767 1.68179 -8.50491
+-28.3972 2.40457 -8.91213
+-28.6132 3.17136 -9.43966
+-29.5915 2.93084 -9.73989
+-29.9486 2.90331 -8.78678
+-29.5668 3.82558 -8.58056
+-29.4603 4.69627 -9.07626
+-29.3895 5.66981 -9.03451
+-30.1683 5.95262 -9.57885
+-29.7252 6.82771 -9.62399
+-29.3815 6.72967 -10.6049
+-29.3359 7.11535 -11.5251
+-28.6608 7.01853 -12.2411
+-29.4269 7.23933 -12.8807
+-28.8974 7.95352 -13.1355
+-28.0615 8.41522 -13.369
+-28.0899 7.83209 -14.2049
+-28.9177 7.60378 -14.7609
+-28.5783 7.72824 -15.6631
+-28.8091 8.6176 -15.7699
+-27.8292 8.72143 -15.4435
+-27.0719 9.11061 -15.8328
+-27.6533 9.78633 -16.3367
+-27.7805 10.078 -15.4008
+-27.4267 11.0102 -15.2806
+-26.759 11.2425 -15.9727
+-25.8124 10.7779 -16.0688
+-25.9429 9.74176 -16.1052
+-25.4567 8.84701 -16.0595
+-25.0517 8.38721 -16.808
+-24.4227 9.04521 -17.207
+-23.8866 9.76185 -17.5133
+-24.3909 10.0475 -16.6904
+-25.0046 9.89792 -16.0027
+-24.2884 10.043 -15.2759
+-23.7492 10.8581 -14.9341
+-23.4663 10.2023 -14.2305
+-22.567 9.78524 -14.4336
+-22.3801 10.3667 -13.6503
+-22.207 11.2232 -14.0766
+-22.1804 11.7239 -14.9411
+-21.7644 12.6471 -14.7781
+-20.9193 12.8327 -14.2212
+-20.6343 13.0464 -15.1856
+-20.0922 13.5451 -14.5286
+-19.2983 13.914 -15.0082
+-19.4023 13.0675 -15.5298
+-18.5232 13.3107 -15.1504
+-18.7586 12.7611 -14.334
+-18.131 13.2514 -13.8647
+-17.6729 12.5626 -13.1865
+-16.7235 12.2766 -12.9417
+-16.4151 12.9808 -12.2597
+-16.515 12.6115 -11.3464
+-17.2797 13.2961 -11.2699
+-18.0935 13.8348 -11.2771
+-19.1087 14.0856 -11.266
+-20.0859 13.9469 -11.2803
+-20.6702 13.1886 -11.171
+-21.1132 13.6779 -10.4824
+-20.7554 14.0923 -9.66475
+-20.0092 13.3717 -9.46904
+-20.2154 12.4286 -9.67692
+-20.3212 12.0637 -10.6268
+-20.6477 11.3656 -11.2997
+-19.6829 11.205 -11.3344
+-19.8476 11.8356 -12.123
+-20.6059 11.9227 -12.7203
+-19.6468 11.9213 -13.2611
+-19.1986 11.5456 -14.0954
+-19.4092 11.422 -15.1036
+-18.97 10.6398 -15.5632
+-19.2307 10.3891 -16.4246
+-19.7998 9.63451 -16.5879
+-19.0267 9.23752 -17.0947
+-18.9718 8.51511 -16.4976
+-18.5581 8.14381 -15.6756
+-17.8601 8.72615 -16.1132
+-16.8864 8.95457 -16.1283
+-17.2573 8.65394 -17.0059
+-16.8834 8.877 -17.9317
+-16.9804 7.93611 -17.8517
+-16.3517 7.18904 -18.1058
+-15.44 7.46366 -18.4049
+-14.6079 8.00931 -18.3901
+-13.993 7.99908 -19.2032
+-14.6716 7.33714 -19.1401
+-15.2908 6.5047 -19.3095
+-15.7928 5.64885 -19.0565
+-14.9593 5.79763 -18.5547
+-14.8818 5.10065 -19.2857
+-14.9343 4.63209 -20.1751
+-14.819 3.75787 -19.7859
+-14.9014 2.77884 -19.7258
+-15.8254 2.34137 -19.8546
+-16.7518 2.11938 -19.9102
+-17.2858 1.38873 -19.6316
+-17.6051 2.23194 -19.3101
+-17.4759 2.2122 -18.2935
+-16.555 1.90863 -17.996
+-16.3599 1.18543 -17.2873
+-16.6597 0.2817609 -17.0068
+-17.4192 -0.1762871 -16.5829
+-17.5676 0.3030899 -15.6993
+-18.4786 0.2816979 -16.1894
+-19.3873 -0.03042487 -15.8965
+-19.1305 -0.9198991 -16.3767
+-18.8053 -1.89678 -16.5631
+-17.8952 -2.29912 -16.367
+-17.881 -1.7091 -15.4693
+-18.034 -2.7152 -15.2978
+-17.6676 -3.55164 -14.8756
+-16.7023 -3.52134 -15.1619
+-15.9315 -4.17398 -15.1337
+-15.0123 -4.0393 -14.7833
+-14.3289 -4.18259 -14.1178
+-14.8199 -3.5703 -13.5025
+-14.0673 -3.45279 -12.9118
+-13.8652 -2.4677 -12.6746
+-14.7013 -2.51433 -12.1349
+-14.7591 -1.57501 -12.6047
+-14.3849 -0.7913011 -12.8965
+-15.0335 -0.6417921 -12.0814
+-15.9264 -1.16147 -11.9717
+-15.4966 -1.75734 -11.2786
+-16.3186 -1.89513 -10.7004
+-17.3447 -1.99074 -10.7706
+-16.8078 -2.28381 -11.5947
+-17.5234 -2.81286 -12.0644
+-18.1535 -2.10741 -11.7565
+-19.0461 -2.18436 -11.3109
+-18.9286 -1.33458 -11.7392
+-18.6673 -1.3773 -12.7462
+-18.9847 -2.20517 -13.2055
+-19.0146 -1.52805 -13.9914
+-19.5602 -1.22894 -14.7766
+-19.9174 -0.6614531 -13.9545
+-19.3542 0.1054139 -14.1998
+-20.0903 0.7562789 -14.2155
+-20.2834 1.58939 -14.6348
+-19.7527 2.45077 -14.9298
+-20.7223 2.72193 -15.1458
+-20.74 2.42061 -15.9961
+-19.8152 2.19964 -16.3204
+-18.971 2.3405 -15.7096
+-18.6579 3.23116 -16.186
+-17.7978 3.59352 -16.3547
+-16.97 4.12994 -16.4791
+-16.5011 3.5915 -15.7777
+-16.0202 3.89081 -14.8962
+-15.6429 3.25724 -14.3553
+-14.7397 3.4752 -14.0485
+-14.7642 3.81665 -13.1634
+-14.4103 3.11518 -12.5644
+-14.1883 3.73765 -11.7934
+-14.3687 4.55216 -11.3856
+-14.3268 4.88789 -12.3038
+-15.1957 5.38065 -12.2756
+-15.6408 5.01672 -13.0703
+-15.754 4.13848 -12.5652
+-16.3934 3.81218 -11.8968
+-17.3731 3.98553 -11.5679
+-17.384 4.61053 -12.3523
+-17.0088 4.58629 -13.3268
+-16.9114 5.16535 -14.0992
+-16.9721 4.49621 -14.7963
+-17.4023 3.56368 -14.6457
+-18.2437 3.01085 -14.8456
+-18.9477 3.16093 -14.2124
+-19.6747 3.18298 -13.6077
+-19.7802 2.66669 -12.7379
+-20.4554 2.80231 -11.9906
+-20.4431 2.28754 -11.1622
+-21.1143 2.59765 -10.4807
+-20.9793 1.72854 -10.0128
+-21.0842 1.50483 -11.0246
+-20.9463 1.76967 -12.0029
+-21.5215 1.65595 -12.8724
+-20.7484 1.53806 -13.5953
+-21.5147 1.8493 -14.0826
+-22.1459 1.33063 -14.7072
+-22.9431 1.84812 -14.4744
+-22.7432 1.55197 -13.5012
+-22.5353 0.9422309 -12.7665
+-23.4761 0.6851639 -12.5404
+-23.8994 1.26011 -11.8804
+-24.8117 1.00207 -12.25
+-24.7453 0.6228869 -11.2856
+-24.4099 1.46353 -10.7859
+-24.2156 1.08345 -9.92118
+-23.9937 2.01383 -9.72414
+-23.8821 1.55967 -8.80694
+-23.1616 1.83299 -8.1557
+-22.9368 0.9799999 -7.79402
+-22.7938 1.01153 -6.77103
+-22.282 1.33482 -6.03303
+-21.7229 1.39943 -6.76258
+-21.5632 2.28103 -7.17858
+-22.1153 2.04263 -7.95071
+-21.1521 1.81223 -7.9383
+-20.2267 1.89201 -7.51006
+-20.4022 2.54211 -8.20325
+-20.1076 3.39324 -7.89601
+-19.5829 3.63982 -7.07314
+-20.4682 4.13108 -7.05735
+-21.4609 4.07088 -7.26429
+-22.4326 4.22327 -6.95141
+-22.893 4.43111 -6.15759
+-23.7141 4.5535 -5.56708
+-23.7779 5.31258 -6.18703
+-23.8107 5.5558 -5.2089
+-24.1892 5.16575 -4.31158
+-24.2642 4.19842 -4.181
+-24.2279 3.45123 -4.79567
+-23.4687 2.77491 -4.99256
+-23.0143 2.26585 -4.25556
+-22.2432 2.16176 -4.87894
+-21.7419 1.2533 -4.75704
+-22.0968 1.21416 -3.8024
+-22.7806 0.5350559 -4.01422
+-23.6328 0.2559729 -4.35221
+-24.0303 -0.3617141 -3.7317
+-24.9241 -0.5948691 -3.83129
+-25.6046 -1.01985 -4.47234
+-26.5494 -0.6524121 -4.43946
+-26.4332 -0.2285731 -3.51306
+-26.922 0.4146309 -3.98824
+-26.4263 0.8423219 -3.24398
+-25.4875 0.9672159 -3.0102
+-24.7855 0.3162459 -3.03382
+-24.9032 -0.1652891 -2.20006
+-24.1983 0.3436869 -1.65527
+-24.2367 -0.1167971 -0.8324459
+-23.3077 -0.04702097 -0.4668039
+-23.1737 -0.7292341 0.2001991
+-22.5559 -1.46595 0.4460061
+-21.577 -1.35345 0.2161661
+-20.8363 -1.9097 -0.1096419
+-20.7858 -1.61539 -1.07873
+-21.4913 -2.36956 -0.8332489
+-22.0615 -1.61814 -1.21159
+-22.6785 -1.58587 -2.02932
+-22.7663 -2.63773 -2.08106
+-23.7854 -2.85467 -2.09393
+-24.4557 -2.43234 -2.47204
+-25.0568 -1.88463 -3.05873
+-25.9844 -1.50836 -2.92654
+-26.2935 -2.2406 -3.56529
+-25.8251 -2.26259 -4.43451
+-26.2848 -2.88835 -5.07604
+-25.5881 -2.8131 -5.77061
+-25.9173 -1.98419 -5.91531
+-25.277 -2.31206 -6.55531
+-24.5189 -1.64248 -6.34188
+-24.4214 -0.9918181 -7.13427
+-24.1118 -0.7030901 -8.02954
+-23.5344 -0.8902171 -8.84978
+-22.9726 -1.68293 -8.90733
+-22.2013 -1.96503 -9.50532
+-21.3167 -2.39383 -9.55061
+-20.3198 -2.15525 -9.52206
+-19.4324 -2.51221 -9.13619
+-19.1059 -2.8896 -10.0447
+-19.506 -3.69665 -10.5051
+-20.3179 -4.18677 -10.3733
+-21.1743 -4.01533 -10.9126
+-21.298 -4.49088 -11.774
+-20.2387 -4.52844 -11.5665
+-20.025 -5.19714 -12.1984
+-20.0741 -5.31846 -13.2354
+-20.1441 -4.34337 -13.4481
+-20.4303 -4.25003 -14.3514
+-21.0711 -3.57061 -14.0453
+-21.8848 -3.75512 -13.5328
+-22.8333 -3.96238 -13.6698
+-23.0963 -4.29805 -12.7972
+-23.897 -4.26723 -12.2585
+-23.7472 -3.32062 -12.0912
+-24.039 -2.43183 -11.8307
+-24.1953 -1.43199 -11.9438
+-23.5045 -1.71444 -12.517
+-22.8381 -1.75465 -11.8201
+-21.9794 -1.50973 -11.4719
+-21.3081 -2.27073 -11.6703
+-21.4259 -1.65348 -12.4337
+-21.4072 -0.6430501 -12.7374
+-21.2197 -1.15077 -13.5402
+-21.4653 -1.61533 -14.3711
+-21.678 -2.3134 -15.1053
+-21.761 -1.80632 -15.8858
+-22.3001 -2.39992 -16.4375
+-21.8204 -3.30329 -16.4608
+-22.7742 -3.17108 -16.1462
+-23.0109 -4.12131 -16.396
+-22.8974 -4.42068 -17.3218
+-22.1833 -3.684 -17.5638
+-22.0104 -2.63463 -17.5245
+-22.3573 -1.72001 -17.4698
+-22.6746 -1.38056 -18.3316
+-21.701 -1.1273 -18.1019
+-21.3841 -0.2681041 -17.7462
+-20.8202 0.5212819 -17.5229
+-20.7075 0.6440079 -16.5444
+-20.3167 -0.3074361 -16.4489
+-20.5917 -0.8066811 -15.6528
+-20.3695 -1.45208 -16.4174
+-20.322 -1.19686 -17.4115
+-19.4338 -0.8807341 -17.9648
+-18.7188 -1.56991 -17.9256
+-18.0042 -2.10615 -18.4145
+-17.217 -1.69111 -18.8235
+-16.2306 -1.41386 -18.5311
+-16.7092 -0.9373331 -17.9111
+-16.4979 -1.22498 -16.9822
+-15.8415 -0.7155781 -16.33
+-16.0524 -1.64982 -16.0909
+-16.0128 -1.34105 -15.1715
+-15.6615 -2.09726 -14.6692
+-15.7354 -1.26878 -14.055
+-16.0778 -2.01875 -13.5013
+-15.9748 -3.09989 -13.4163
+-16.1937 -4.0262 -13.2199
+-15.4769 -4.06166 -12.555
+-15.7424 -4.9739 -12.405
+-14.9714 -4.94772 -13.0002
+-15.3565 -4.93115 -13.9477
+-16.1099 -5.42589 -14.4363
+-15.6769 -6.23915 -14.6239
+-15.246 -5.98584 -13.7634
+-14.6791 -5.83302 -14.4935
+-14.4311 -5.99171 -15.4273
+-13.591 -6.59059 -15.5913
+-12.9453 -7.1745 -16.1371
+-12.568 -6.26884 -16.5108
+-11.6704 -6.64677 -16.5889
+-11.2363 -6.5454 -15.7211
+-10.6347 -5.81869 -15.9475
+-10.0673 -5.08615 -15.5708
+-9.45484 -4.91716 -14.7951
+-8.75531 -4.93882 -14.1485
+-8.40791 -4.1225 -14.7833
+-9.14234 -3.81697 -14.2233
+-9.77868 -4.5475 -13.8726
+-10.0638 -4.62782 -12.9383
+-10.4512 -3.63414 -12.8536
+-11.0145 -3.87285 -11.9944
+-10.0697 -3.81642 -11.6787
+-9.31059 -4.30305 -11.26
+-9.60032 -5.16846 -10.8412
+-9.34082 -6.08307 -11.3031
+-10.0144 -6.29671 -11.9917
+-10.9442 -6.62142 -11.6513
+-10.6611 -6.17844 -10.747
+-11.6936 -6.10385 -10.6628
+-11.5512 -6.26953 -9.73332
+-12.0704 -7.02388 -9.51283
+-11.4924 -7.47781 -10.1873
+-11.1993 -7.43765 -11.1675
+-12.1786 -7.27366 -10.9058
+-13.1519 -7.2406 -10.5898
+-13.6418 -7.28857 -11.4881
+-13.5321 -8.25764 -11.6171
+-14.2794 -8.84029 -11.7908
+-13.6941 -8.99123 -12.5348
+-14.1924 -9.78237 -12.7769
+-14.6249 -10.3013 -13.5206
+-14.3375 -11.2162 -13.6007
+-13.5142 -11.1185 -14.1652
+-12.5665 -11.3487 -14.1106
+-11.8236 -11.9771 -14.3079
+-11.394 -11.8163 -15.2164
+-12.2585 -11.5803 -15.5423
+-12.0044 -12.1814 -16.2783
+-12.116 -11.7947 -17.174
+-11.8405 -10.7974 -16.9867
+-11.4812 -10.1428 -17.6056
+-12.0887 -10.7471 -18.0865
+-12.3105 -10.9978 -19.0697
+-11.4504 -11.527 -18.9875
+-10.5527 -11.2132 -19.4602
+-10.5049 -10.2766 -19.2505
+-10.4926 -10.2592 -18.2383
+-9.96593 -9.93874 -17.4711
+-8.98651 -10.233 -17.2828
+-8.23076 -10.7276 -16.8663
+-7.69255 -11.5365 -16.4764
+-7.04511 -10.9534 -16.9666
+-7.57158 -10.5399 -17.6979
+-7.3741 -10.7509 -18.6718
+-7.95722 -10.6033 -19.4512
+-8.4977 -10.7575 -20.3146
+-8.9983 -11.6007 -20.4842
+-8.85562 -11.3792 -21.4364
+-8.02492 -10.9297 -21.2218
+-7.10975 -11.2055 -21.0615
+-6.36105 -10.565 -20.9116
+-7.07769 -9.84954 -20.876
+-7.5931 -9.45155 -21.6635
+-8.37761 -9.79051 -22.2354
+-8.40777 -10.5986 -22.9075
+-7.50114 -10.7609 -23.3428
+-8.27201 -10.6911 -23.9728
+-8.51983 -11.2028 -24.8071
+-9.50126 -11.468 -25.0398
+-9.8036 -10.5247 -25.2166
+-9.80368 -11.1068 -26.0207
+-9.06524 -11.337 -26.6722
+-8.25793 -10.6206 -26.4318
+-8.30776 -9.93345 -25.697
+-8.54232 -9.00526 -25.8649
+-8.68932 -8.4119 -25.0727
+-9.11495 -7.70466 -25.6204
+-8.89314 -6.76075 -25.8332
+-9.63848 -6.21479 -25.4451
+-9.90435 -5.35585 -25.9436
+-10.286 -4.89325 -26.7268
+-10.0949 -4.03774 -27.2203
+-10.5785 -3.15085 -27.5332
+-10.3264 -2.18899 -27.3749
+-11.3071 -1.83547 -27.477
+-11.0284 -2.1312 -28.4142
+-10.5218 -2.40206 -29.2192
+-11.4386 -2.85941 -29.2217
+-11.7134 -2.42087 -30.0074
+-12.5133 -2.94645 -30.3289
+-13.3245 -3.45081 -30.1944
+-12.6231 -3.87517 -29.6183
+-13.2653 -4.14952 -28.9035
+-13.5664 -3.70777 -28.0554
+-14.3033 -3.36063 -27.4786
+-14.5378 -3.87703 -26.5963
+-15.5347 -3.94854 -27.021
+-15.43 -2.90776 -26.9528
+-15.0983 -2.34711 -27.7501
+-15.8232 -2.5726 -28.3329
+-16.691 -3.08293 -28.5635
+-17.0077 -2.91261 -27.6673
+-17.9846 -3.26305 -27.8179
+-18.8816 -2.96541 -27.3956
+-19.8258 -3.00054 -27.4892
+-20.2731 -3.6932 -26.974
+-21.0432 -3.71531 -26.4228
+-22.0423 -3.58205 -26.3708
+-22.2475 -4.41891 -26.9783
+-22.7614 -3.68557 -27.1679
+-23.3486 -2.99866 -26.6913
+-23.3934 -3.3804 -25.8036
+-24.3682 -3.6321 -25.579
+-24.1188 -4.22707 -26.379
+-25.0067 -3.70569 -26.4685
+-24.3258 -3.06929 -26.4077
+-24.7793 -2.28548 -26.1638
+-23.8414 -1.85395 -26.3087
+-24.1964 -1.43747 -25.4912
+-24.2769 -1.18498 -24.5353
+-24.4843 -0.2016161 -24.593
+-23.5664 0.3086119 -24.5668
+-23.2719 -0.3460051 -23.9883
+-22.4987 -0.8680051 -23.4815
+-22.1155 -1.4125 -22.7351
+-22.784 -1.16018 -22.0382
+-23.6298 -1.76748 -22.0793
+-23.8022 -1.47638 -23.0535
+-24.5079 -2.10188 -22.6156
+-25.2085 -2.8521 -22.6358
+-25.6327 -3.43621 -21.8898
+-24.6709 -3.66382 -21.8703
+-24.1058 -4.3945 -22.2365
+-24.6879 -4.2968 -23.0118
+-23.8328 -3.80287 -23.1386
+-23.0237 -3.57034 -22.5497
+-22.3468 -3.92298 -23.2242
+-21.5371 -4.25193 -22.6711
+-20.7385 -3.72843 -22.3017
+-19.7313 -3.73469 -22.1907
+-19.7719 -3.03947 -22.8797
+-20.609 -2.94401 -23.3899
+-21.5685 -2.7852 -23.3197
+-21.9797 -2.04976 -23.7793
+-21.1369 -1.83748 -24.2499
+-20.3198 -1.39421 -23.8686
+-19.9618 -0.4840651 -23.5973
+-20.3029 -0.4283571 -22.7109
+-19.3745 0.003753084 -22.7948
+-18.5246 -0.06300757 -22.2009
+-18.403 0.7198969 -22.7784
+-19.0691 0.9318659 -23.5268
+-19.9428 1.32639 -23.8487
+-19.7276 1.94972 -24.6686
+-19.4553 0.9763519 -24.8638
+-19.6463 0.1258659 -25.2377
+-19.7933 -0.1393001 -26.2108
+-18.9664 -0.8306961 -26.3255
+-19.0494 -0.9137051 -25.4034
+-18.3153 -1.50045 -25.7667
+-18.6257 -1.68272 -24.7786
+-17.7605 -1.82306 -24.4216
+-17.5338 -1.06268 -23.7354
+-16.9073 -1.14972 -22.9642
+-16.1363 -1.66513 -22.7661
+-15.9561 -0.7064121 -22.7082
+-15.1493 -0.1638731 -22.8609
+-14.1708 0.1030579 -22.998
+-13.5673 0.4471589 -23.6569
+-13.1588 0.6514069 -24.5773
+-13.8787 1.32222 -24.9563
+-13.6371 1.7181 -25.8494
+-13.4406 1.16625 -26.6492
+-13.9156 1.4352 -27.4876
+-14.3891 0.5685549 -27.7966
+-14.412 0.1471539 -26.8736
+-13.4903 -0.1858781 -26.9779
+-13.7806 -0.3997161 -27.9497
+-12.7852 -0.6466661 -28.164
+-12.7712 0.2598879 -27.6997
+-11.971 0.9045509 -27.9052
+-11.4918 1.75427 -28.0334
+-10.9562 1.77833 -28.9214
+-11.2952 2.46877 -29.5439
+-11.7232 3.33069 -29.3916
+-12.5304 3.06653 -28.8165
+-12.0592 3.28713 -28.0584
+-12.7883 3.08135 -27.4393
+-13.6429 2.6475 -27.1292
+-14.2345 2.51575 -26.3703
+-15.1804 2.17383 -26.4581
+-15.9157 1.91143 -27.1101
+-16.1481 0.9636179 -26.8481
+-16.9105 0.7018659 -26.2791
+-16.4335 0.2572729 -25.5955
+-15.5872 0.3805739 -26.1178
+-14.8654 1.01253 -25.9001
+-14.5621 0.2318229 -25.3964
+-14.0702 -0.4297191 -24.746
+-13.0937 -0.8027531 -24.8256
+-13.4949 -0.7447681 -25.7676
+-14.4473 -0.9047931 -25.8069
+-15.0988 -1.27633 -25.1426
+-16.1185 -1.44734 -25.2172
+-16.7215 -1.13494 -26.024
+-17.0873 -0.6425631 -26.7745
+-16.1534 -0.5712581 -27.136
+-15.9354 -0.9912921 -28.0354
+-16.2302 -1.0986 -28.9917
+-15.3606 -0.7399631 -29.0913
+-15.4607 0.1021469 -29.5757
+-15.4081 1.0926 -29.7703
+-15.683 1.97354 -29.3951
+-16.7075 1.89867 -29.3432
+-17.376 1.78135 -28.6269
+-17.31 2.02941 -27.6077
+-16.8212 2.83513 -27.1585
+-16.8788 2.02027 -26.6443
+-17.0923 2.50362 -25.7796
+-17.6422 1.7203 -25.5951
+-18.4417 1.81351 -25.0321
+-17.8929 2.43164 -24.5866
+-17.8667 3.29302 -24.8957
+-17.069 3.68208 -24.5792
+-16.1049 3.79114 -24.7344
+-15.9806 4.48272 -25.4426
+-15.5136 4.97326 -26.185
+-15.2777 5.95951 -26.1206
+-15.7975 6.47755 -25.3934
+-14.9728 7.0361 -25.6069
+-15.0511 7.9821 -25.3925
+-14.7347 8.11099 -24.4858
+-15.0234 8.28564 -23.62
+-14.5984 7.62586 -23.0384
+-13.8575 7.17583 -23.5805
+-13.6437 6.5699 -24.3299
+-14.3268 5.99542 -23.9076
+-13.786 5.83896 -23.1077
+-13.85 5.42903 -22.2
+-13.5308 4.75701 -21.5152
+-13.3157 5.44949 -20.8592
+-12.7238 5.94298 -21.494
+-12.3516 6.48505 -22.2703
+-11.5198 6.70707 -22.6846
+-11.8851 7.16386 -23.4582
+-12.2304 7.38446 -24.3907
+-11.65 8.13018 -24.1328
+-11.4788 8.50117 -23.2482
+-12.1581 9.21967 -23.3188
+-13.0971 9.11135 -23.2279
+-13.8029 8.97546 -22.5626
+-14.1024 9.58313 -23.2839
+-15.0245 9.44259 -23.7292
+-15.1087 9.41592 -22.7526
+-15.3262 8.96901 -21.8587
+-15.0665 8.90728 -20.9134
+-15.542 8.90633 -20.0151
+-15.8199 8.48343 -19.0673
+-15.5289 9.36219 -18.6891
+-15.0782 10.1105 -18.2245
+-14.4669 9.80677 -17.5089
+-14.9014 9.06404 -17.0326
+-15.1635 8.15976 -17.495
+-14.9351 7.30085 -16.9297
+-15.1475 6.98199 -16.0979
+-14.7508 7.91614 -15.9661
+-15.0764 7.46294 -15.1466
+-14.3953 7.41372 -14.4446
+-13.8092 6.65822 -14.8363
+-13.292 6.4189 -13.9991
+-13.2894 5.75966 -13.1682
+-12.5019 5.29636 -12.9255
+-11.5011 5.2434 -12.7439
+-10.7536 4.70814 -13.0932
+-10.4187 3.83934 -13.5491
+-10.3923 2.95502 -13.2064
+-10.7381 2.88137 -14.0818
+-11.2661 3.43146 -14.7193
+-11.6551 2.9874 -15.4448
+-11.5854 3.91449 -15.7018
+-11.5552 4.35131 -16.6595
+-11.137 4.74654 -17.4655
+-10.4221 5.02237 -16.9458
+-9.71197 5.12683 -17.6277
+-8.83725 4.83988 -17.2381
+-8.88538 4.65888 -16.3297
+-9.57604 5.35886 -16.1615
+-9.13474 5.73116 -15.3628
+-9.13042 6.21202 -14.5436
+-9.94948 6.79624 -14.6417
+-10.8865 6.48214 -14.7772
+-11.9544 6.61477 -14.7121
+-11.6597 7.00546 -15.5667
+-12.4381 6.8123 -16.1907
+-12.4057 6.03222 -15.5426
+-11.5273 5.64895 -15.8117
+-11.532 5.38656 -16.728
+-11.591 5.66589 -17.6646
+-12.5932 5.53358 -17.379
+-12.6347 5.36413 -18.3777
+-12.2989 5.81521 -19.1927
+-11.6157 5.14812 -19.0257
+-11.5948 5.45521 -20.0043
+-11.3668 4.52142 -20.1566
+-10.4705 4.69271 -19.83
+-9.77194 5.40387 -19.7421
+-9.77878 6.36477 -19.61
+-9.40138 6.20925 -18.6334
+-8.58776 6.4536 -18.0963
+-7.74504 7.03884 -18.1918
+-7.20188 7.76355 -18.6132
+-7.7134 8.33719 -17.9293
+-7.35443 7.69153 -17.2412
+-6.48074 7.20294 -17.0333
+-5.91669 6.64721 -17.5466
+-5.20684 6.43124 -18.1012
+-5.47036 7.30161 -18.5243
+-5.54396 8.14056 -19.0888
+-4.79284 8.67187 -18.9327
+-4.38714 8.86877 -18.1019
+-3.76949 9.70272 -18.1709
+-4.48128 10.379 -18.5119
+-4.79145 10.7156 -19.4329
+-5.18038 9.99577 -20.2104
+-5.61257 9.8526 -21.0794
+-4.93884 9.52865 -21.7385
+-5.20249 8.87644 -22.4878
+-5.37311 8.60411 -21.4697
+-5.7918 7.87792 -20.8753
+-6.6202 7.36896 -20.6852
+-7.15142 8.29436 -20.9982
+-7.05435 9.33876 -21.2149
+-7.96668 9.54404 -20.7737
+-8.73077 9.70239 -20.0854
+-8.47981 10.5871 -19.681
+-8.19693 11.5536 -19.5107
+-7.80598 11.9031 -20.3831
+-7.56485 11.1827 -21.0652
+-7.80432 11.8229 -21.7507
+-8.03175 12.296 -22.5631
+-7.34928 13.2119 -22.5716
+-7.98101 13.34 -23.3127
+-8.61221 13.7687 -23.9656
+-9.54158 13.5263 -24.185
+-9.77004 14.527 -24.1728
+-9.43491 14.2821 -23.3086
+-9.13346 14.3512 -22.3618
+-9.36129 15.3342 -22.4936
+-8.3367 15.2938 -22.7589
+-7.41589 14.9901 -22.3982
+-6.66353 14.3231 -22.4849
+-6.49007 14.1959 -23.4769
+-6.41634 14.2999 -24.4873
+-5.6011 13.7938 -24.1463
+-5.91981 12.8627 -23.8923
+-6.16215 12.0831 -23.2633
+-5.81201 12.4721 -22.3599
+-5.5599 12.1475 -21.5351
+-5.96835 12.2793 -20.6994
+-5.00364 11.8383 -20.6168
+-4.64198 12.6928 -20.3398
+-4.05812 13.1228 -19.741
+-3.60403 12.9907 -18.8149
+-3.15329 12.2647 -18.2303
+-2.30949 12.6965 -18.5033
+-2.55074 12.8643 -19.4554
+-1.63642 13.1478 -19.8705
+-1.3597 13.6129 -19.06
+-1.34937 14.3394 -18.3281
+-1.35559 13.4486 -17.9689
+-1.3002 12.706 -17.2235
+-1.05004 13.1238 -16.3434
+-1.49723 13.8118 -15.7247
+-2.38258 14.3252 -15.9611
+-2.99734 13.607 -16.3238
+-2.84211 12.7632 -15.7478
+-3.36914 12.0644 -16.1572
+-3.9657 11.5672 -15.6938
+-3.2478 11.832 -14.9438
+-2.99585 10.8357 -15.1468
+-2.56491 10.1104 -14.5974
+-2.40933 9.13073 -14.3786
+-3.36063 9.05637 -13.8779
+-4.33247 9.27712 -13.7847
+-4.99479 9.30484 -14.5985
+-4.84807 8.35826 -15.0281
+-5.77462 8.03437 -15.4531
+-5.99319 8.74293 -14.8063
+-6.31852 9.16294 -15.6597
+-6.08742 10.0391 -15.8945
+-5.91921 10.9666 -15.5192
+-5.76961 11.4011 -16.4502
+-5.41827 10.9374 -17.211
+-4.81489 10.0796 -17.1079
+-4.63718 10.9134 -16.5284
+-3.82243 10.3758 -16.8657
+-2.85741 10.4849 -16.7408
+-2.30615 11.3129 -16.5077
+-1.81277 11.2645 -17.3607
+-0.840396 11.3652 -17.7354
+-0.198197 11.9893 -17.2515
+-0.01884423 11.3805 -16.4976
+-0.752929 11.207 -15.8391
+-1.0341 11.3315 -14.905
+-0.714034 11.9221 -14.1348
+-1.34841 11.8609 -13.3913
+-1.63952 12.7005 -12.9051
+-2.18417 12.5998 -13.7095
+-2.24902 11.5828 -13.3987
+-3.23614 11.4275 -13.7107
+-3.74989 10.7502 -13.1799
+-4.68411 10.8137 -12.7606
+-4.92419 9.8593 -12.4386
+-5.75549 9.2036 -12.3514
+-6.16583 9.80532 -12.9615
+-6.20426 10.475 -13.7062
+-6.43772 11.0795 -14.4379
+-7.20501 10.6198 -14.8933
+-8.0165 10.1688 -14.8465
+-8.63629 10.1431 -14.0581
+-9.25197 10.5659 -14.7338
+-8.81672 10.9947 -15.5471
+-9.49481 10.3521 -15.8232
+-10.2319 9.74245 -16.2206
+-9.89958 10.4054 -16.8952
+-10.4335 10.4479 -17.7681
+-10.67 9.4728 -17.6017
+-10.8786 8.53515 -17.8965
+-11.7891 8.45758 -18.2489
+-11.8777 7.53139 -18.3992
+-12.1713 7.42677 -19.3116
+-12.6844 7.29423 -20.1393
+-11.7842 7.05778 -20.4534
+-11.6284 7.96778 -20.7592
+-12.5245 8.31246 -21.1789
+-12.0089 9.1548 -21.3868
+-11.1327 8.89798 -21.0663
+-11.0813 9.88473 -20.9762
+-11.6194 9.68921 -20.1269
+-12.6093 9.71676 -20.2664
+-13.6163 9.79655 -20.0931
+-13.6504 10.1861 -21.0249
+-13.0311 10.9462 -21.3592
+-12.5307 10.5681 -22.1415
+-11.991 11.4287 -22.2519
+-11.2951 10.6241 -22.3841
+-10.678 11.4285 -22.3333
+-10.2719 11.149 -23.2077
+-9.67635 10.4485 -23.6213
+-10.4328 10.2984 -22.9904
+-10.6665 9.88724 -23.8537
+-11.0712 9.38184 -24.644
+-10.9614 9.97458 -25.4246
+-11.6713 10.5648 -25.7854
+-11.4407 11.5036 -25.6859
+-12.2005 12.1474 -25.6939
+-11.6101 12.8345 -26.2027
+-11.8256 13.7849 -26.1083
+-10.8849 13.648 -25.8221
+-10.3544 12.905 -25.4385
+-9.83372 12.1079 -25.3286
+-9.10863 11.9729 -24.5663
+-8.24733 12.4259 -24.2467
+-7.84933 12.8564 -25.0217
+-7.59603 12.4778 -25.882
+-6.83581 12.5847 -26.531
+-7.30478 12.8352 -27.3951
+-7.66747 12.0858 -27.8366
+-7.89393 11.1603 -27.4827
+-8.84208 10.797 -27.5523
+-8.81668 11.7878 -27.7691
+-9.54085 11.4194 -28.3533
+-9.38809 11.4541 -29.336
+-8.95109 11.7855 -30.1588
+-8.86157 12.248 -31.1243
+-8.84027 11.2373 -31.3378
+-8.09185 10.9227 -31.9329
+-7.68461 10.8415 -30.9864
+-7.34468 9.94694 -30.8145
+-7.59725 9.42885 -30.0005
+-6.71674 9.43393 -29.4685
+-5.81975 9.54084 -29.0788
+-5.15482 8.81418 -29.1457
+-5.13595 8.75231 -28.1364
+-5.53545 9.13414 -27.2412
+-5.88517 8.66464 -26.4563
+-6.56028 8.22266 -25.8375
+-6.46397 7.99074 -24.8309
+-6.8106 7.06288 -25.0631
+-5.88605 6.65292 -25.0386
+-4.94506 6.42313 -25.0747
+-4.03398 6.72634 -25.3896
+-4.58623 6.2821 -26.0836
+-5.2129 5.8494 -26.6915
+-5.48835 5.1726 -27.3021
+-6.00016 5.57662 -28.074
+-5.56169 6.51913 -28.1246
+-4.56557 6.6857 -28.1041
+-4.89687 6.25895 -29.0359
+-4.43688 5.56367 -29.568
+-4.52641 4.59313 -29.8936
+-5.39333 4.17028 -29.6387
+-5.39954 4.90034 -28.9512
+-6.33679 4.58825 -29.2605
+-6.3002 3.77915 -29.8247
+-6.71517 3.07819 -29.1702
+-7.60913 3.56664 -29.0199
+-8.44848 4.07393 -28.7565
+-8.83271 5.01744 -28.4563
+-9.11738 5.42913 -29.3571
+-10.0974 5.24037 -29.3991
+-11.0795 4.97349 -29.4387
+-10.5449 5.16459 -28.5236
+-11.2049 5.93098 -28.2954
+-11.3447 6.43796 -29.1855
+-11.067 6.50677 -30.1584
+-11.9495 6.53043 -30.6313
+-11.7867 5.83286 -29.9358
+-12.6141 5.62445 -30.3733
+-13.0057 6.50663 -30.5894
+-13.6109 6.69925 -29.8516
+-13.5891 7.64104 -29.6056
+-14.1249 7.4484 -30.3611
+-13.5283 7.96846 -30.9664
+-12.7007 8.47657 -30.9103
+-11.981 8.81888 -30.4023
+-11.0093 8.69983 -30.4913
+-11.1124 8.59187 -29.5845
+-10.3085 8.94883 -29.0734
+-10.7784 9.80614 -28.7684
+-10.0983 9.64579 -28.0666
+-9.70578 10.1412 -27.3079
+-9.7016 9.15713 -27.1018
+-8.90857 8.46981 -27.0382
+-9.29676 8.66718 -26.143
+-9.37678 8.1671 -25.2922
+-8.93205 8.70872 -24.6296
+-9.48431 9.36024 -24.0977
+-8.74272 9.45467 -23.4648
+-7.91199 9.42553 -22.857
+-8.40639 8.93988 -22.0876
+-8.53644 8.3689 -21.27
+-8.82862 9.29892 -21.0899
+-8.63285 9.92067 -21.8582
+-9.28205 10.7495 -21.9625
+-8.88327 11.1102 -21.0753
+-9.65291 11.7436 -20.8835
+-9.55643 12.5677 -21.4828
+-9.52448 13.2032 -20.7014
+-9.03444 13.9323 -20.2626
+-8.96044 14.9127 -19.917
+-8.22267 15.0851 -19.3193
+-7.33625 14.912 -19.4895
+-7.88342 14.1668 -19.8706
+-7.01692 13.7403 -19.4629
+-6.21268 13.3191 -19.9231
+-5.5082 13.3579 -19.1838
+-6.16723 13.6787 -18.4414
+-5.47532 14.4207 -18.3353
+-5.3065 13.5481 -17.8596
+-5.69651 13.1246 -17.0973
+-5.08776 13.1197 -16.3101
+-4.38563 13.7633 -16.5989
+-4.4488 14.4334 -15.8491
+-5.37335 14.6601 -16.0628
+-5.87564 13.8002 -15.8378
+-6.65798 13.5142 -15.1775
+-7.39787 13.3369 -15.8583
+-8.11089 13.1368 -15.1876
+-8.93282 13.0613 -14.6012
+-8.75013 12.0903 -14.6497
+-7.79478 12.2616 -14.9781
+-7.5959 12.4452 -14.0723
+-6.93719 12.1 -13.4016
+-7.10599 12.2072 -12.388
+-7.68004 11.6434 -11.8283
+-7.87251 11.4613 -12.7593
+-7.19433 10.7912 -12.5637
+-6.33868 11.0757 -12.1074
+-6.55863 10.8774 -11.1718
+-6.62067 11.2632 -10.22
+-6.68299 11.4522 -9.26033
+-7.68457 11.3516 -9.34793
+-7.55667 11.8853 -10.1947
+-7.23066 12.4485 -9.44352
+-6.40759 12.7699 -9.82458
+-6.21356 12.9267 -8.86006
+-5.46219 13.4195 -9.37219
+-5.23186 13.7009 -10.294
+-5.0249 14.6666 -10.6695
+-5.5473 14.6341 -9.81682
+-5.70543 15.4688 -10.3522
+-5.42229 16.2507 -9.76258
+-5.05268 16.6456 -8.89764
+-6.01752 16.5732 -8.74238
+-6.62911 16.1008 -8.07648
+-6.31691 15.9218 -7.16945
+-6.75727 16.2534 -6.38673
+-7.44906 16.3476 -7.10622
+-7.70191 16.6848 -8.02413
+-7.36285 17.6295 -7.75691
+-7.10702 18.2831 -8.46273
+-8.10953 18.3411 -8.26804
+-8.69371 19.1442 -8.04799
+-8.73203 19.7411 -7.24909
+-9.441 19.7927 -6.62153
+-8.87665 19.5024 -5.82869
+-8.12414 18.9269 -5.73722
+-7.39845 18.3899 -6.22259
+-7.32706 17.8955 -5.39713
+-7.59885 16.9699 -5.83055
+-8.32335 16.999 -6.40057
+-8.60232 16.1344 -5.9744
+-9.25312 15.7062 -6.55112
+-9.93262 16.0946 -5.8609
+-10.8348 16.2408 -5.32242
+-10.7397 15.9873 -4.41068
+-10.8483 15.0473 -4.61938
+-11.2239 14.4467 -3.81256
+-11.2737 14.276 -2.86954
+-12.2358 14.1116 -2.89413
+-12.252 14.5285 -3.79552
+-13.1726 14.591 -3.35383
+-12.4961 15.3694 -3.43879
+-12.2439 15.7341 -2.58923
+-11.3841 15.4578 -2.26473
+-11.1036 16.3508 -2.53392
+-11.1473 16.9843 -3.34181
+-11.0943 17.3355 -4.25812
+-10.5575 18.0285 -3.84859
+-9.81164 18.5607 -3.76729
+-9.02434 19.1694 -3.52172
+-9.03875 20.2052 -3.35068
+-9.03034 20.2821 -4.30302
+-9.90998 20.72 -4.49403
+-10.552 21.3906 -4.74543
+-10.0491 22.0122 -5.44036
+-9.43635 21.3099 -5.83062
+-8.70144 20.7891 -6.22122
+-8.50298 21.0931 -7.21871
+-7.87161 21.7378 -6.8709
+-7.66742 22.6654 -7.17604
+-7.48931 23.2181 -8.02182
+-7.46265 24.2408 -8.19642
+-7.14917 23.992 -9.09705
+-7.64431 23.5154 -9.85873
+-8.35374 24.188 -9.6397
+-9.26145 23.7371 -9.60265
+-9.69329 24.021 -10.5353
+-8.95878 24.6742 -10.6669
+-8.92723 24.5451 -11.6794
+-9.07898 24.8834 -12.5727
+-8.74298 25.7791 -13.0569
+-8.07377 25.8316 -13.8465
+-7.71686 25.6117 -12.909
+-7.40328 25.0727 -13.7173
+-6.62004 24.6951 -14.2192
+-7.16876 24.1326 -13.6555
+-7.98595 23.7591 -13.4645
+-7.38097 23.4834 -12.7017
+-7.86497 22.7313 -12.2631
+-8.06629 21.7182 -12.2309
+-8.35686 22.2414 -11.396
+-7.83597 22.9864 -11.0938
+-6.80798 22.9684 -11.099
+-5.84453 23.3532 -11.2588
+-5.7992 22.6729 -11.9171
+-6.37186 22.4792 -12.6627
+-5.62042 22.4701 -13.3353
+-5.16033 21.7262 -13.8134
+-4.92312 20.9147 -14.3171
+-4.34958 21.3089 -14.9457
+-3.45974 21.0543 -14.5971
+-3.08799 20.1124 -14.7643
+-3.52132 19.8524 -15.6208
+-4.10587 20.0696 -16.4248
+-4.63929 19.2318 -16.3324
+-5.56699 19.1843 -16.0752
+-5.97637 18.3971 -16.6007
+-6.4876 17.9563 -17.2823
+-7.40066 18.1673 -16.9129
+-7.92915 17.3285 -17.2336
+-7.81041 16.321 -17.0412
+-8.01089 15.4336 -16.615
+-8.40725 16.2607 -16.3026
+-8.30766 16.2342 -15.3339
+-9.06053 16.0441 -14.5637
+-9.94426 15.7435 -14.6289
+-9.81075 15.4061 -15.6041
+-10.6846 15.8754 -15.7046
+-11.4879 15.7415 -16.3153
+-11.938 15.6974 -17.211
+-12.6911 15.4863 -17.7974
+-12.9398 14.4902 -17.6318
+-13.0998 14.2006 -16.6606
+-13.7845 14.9 -16.4361
+-14.5738 14.8816 -15.748
+-15.1198 15.6918 -15.6931
+-14.6609 16.2475 -14.9097
+-14.5919 15.5283 -14.1889
+-14.7879 16.277 -13.5707
+-15.842 16.2262 -13.4623
+-15.7049 15.3865 -13.8956
+-15.9816 15.0608 -12.9823
+-15.6369 15.5146 -12.1715
+-15.7606 14.794 -11.4569
+-16.6453 15.1755 -11.3082
+-17.2218 15.6922 -12.0367
+-17.5977 16.2447 -11.2573
+-18.0732 16.8713 -12.0066
+-18.2866 16.8079 -13.0375
+-19.0086 17.0397 -12.3424
+-18.903 17.944 -12.0537
+-18.9825 18.2895 -12.9553
+-19.6997 17.7232 -13.3911
+-20.0717 18.4491 -14.0011
+-20.8306 18.6387 -14.5282
+-21.6854 18.0822 -14.7946
+-22.1024 18.8436 -15.3247
+-22.6787 18.0656 -15.3652
+-23.034 17.2768 -14.8665
+-23.6267 16.5183 -14.9407
+-23.0007 15.81 -15.3062
+-22.3673 15.8483 -14.5818
+-21.5114 15.9443 -14.165
+-21.4138 15.2544 -14.7364
+-20.5514 15.1988 -15.2355
+-20.683 14.5479 -14.4978
+-21.3071 14.1725 -15.2447
+-22.2635 14.3645 -15.1455
+-22.9047 14.0905 -14.3697
+-23.8364 14.1286 -14.5894
+-23.9613 13.1312 -14.6961
+-24.7271 12.5144 -14.9604
+-24.8189 12.5871 -13.9736
+-25.6619 12.3705 -14.4284
+-26.483 12.494 -13.764
+-27.3443 11.9703 -13.4754
+-27.6551 11.4477 -12.7068
+-27.7581 10.4714 -12.4545
+-27.7287 10.0806 -13.4089
+-28.3284 10.1659 -14.1943
+-29.2365 10.1411 -13.9867
+-30.0324 10.4924 -14.5021
+-30.573 10.729 -13.6865
+-31.0133 9.77099 -13.4948
+-30.7233 8.86599 -13.8294
+-31.1793 8.81603 -12.9566
+-31.8783 8.1708 -12.6912
+-32.5963 8.09343 -12.0373
+-33.4971 8.23352 -12.4577
+-33.9419 7.84661 -11.6561
+-34.0181 6.87722 -11.7534
+-34.6612 6.18256 -11.5629
+-35.0742 6.66139 -12.3504
+-34.2041 6.08759 -12.5931
+-33.4019 6.07228 -13.1654
+-32.7463 6.5219 -13.6608
+-32.8809 6.31311 -14.6489
+-33.618 5.62674 -14.7963
+-34.5162 5.7196 -14.7244
+-35.282 6.0968 -15.3304
+-35.0515 5.45537 -16.1148
+-34.2724 6.02933 -16.3637
+-33.9339 5.23007 -16.974
+-33.1552 5.16241 -17.5752
+-33.7516 4.9817 -18.3
+-33.6843 5.8228 -18.832
+-33.6578 6.75957 -18.5393
+-32.7787 6.31146 -18.3152
+-31.9556 6.71907 -17.9816
+-31.0576 6.42412 -18.096
+-30.7205 7.15985 -18.7699
+-29.7438 7.33477 -19.027
+-29.2126 6.6401 -19.4965
+-29.2256 6.42344 -18.4874
+-28.3242 6.50571 -18.0186
+-28.0767 5.55244 -18.3024
+-28.5948 4.86554 -18.8725
+-28.3001 5.62413 -19.4981
+-27.5485 5.02038 -19.6554
+-27.4502 5.72467 -20.4039
+-26.8666 6.27561 -19.8473
+-26.0651 6.57334 -19.3783
+-26.3357 7.47622 -19.3197
+-25.9304 8.1933 -18.6886
+-26.2324 9.20527 -18.68
+-26.2092 8.73711 -19.5578
+-25.2089 8.8877 -19.344
+-24.844 9.52151 -18.7197
+-24.8006 10.5485 -19.0004
+-23.9539 10.7528 -19.5711
+-23.001 11.2007 -19.4998
+-22.6704 12.0216 -18.9145
+-23.2087 12.8536 -18.9075
+-23.1836 13.0499 -19.8592
+-22.3841 13.5373 -19.4646
+-21.8722 14.1032 -20.1754
+-22.2211 14.8263 -19.5295
+-22.2988 15.0292 -20.4628
+-21.4158 15.3003 -20.4314
+-20.8401 15.8031 -19.8128
+-20.2297 15.9837 -19.0716
+-20.9956 15.613 -18.5868
+-21.2568 14.6864 -18.3197
+-21.5641 13.9022 -18.7076
+-21.2678 13.3029 -19.441
+-20.4719 12.7184 -19.5171
+-20.0559 13.5055 -19.123
+-20.0186 14.1618 -19.8662
+-19.114 13.8345 -20.2094
+-18.3413 13.4294 -20.7518
+-17.9386 12.5128 -20.5193
+-16.9701 12.6392 -20.36
+-16.7362 11.7357 -20.6216
+-17.3205 11.4166 -19.8312
+-16.939 12.1733 -19.2894
+-16.2936 11.6888 -18.7263
+-15.3265 11.7955 -18.778
+-14.8316 11.1882 -18.065
+-15.7392 11.3087 -17.6247
+-16.012 11.7 -16.7402
+-16.3903 10.8736 -16.1296
+-15.4026 11.0541 -15.9139
+-14.7383 11.5492 -15.2862
+-14.2846 12.2994 -15.7144
+-14.8362 12.9226 -15.3
+-15.4459 12.2681 -14.8004
+-14.8314 12.176 -13.9867
+-14.0515 11.6611 -14.2213
+-13.4492 10.976 -13.718
+-13.2327 10.221 -14.4192
+-14.0626 10.2318 -15.0111
+-13.3039 9.76234 -15.4871
+-13.4072 9.14027 -16.2241
+-12.7828 8.74219 -16.8863
+-12.9779 8.28706 -17.761
+-13.2658 7.31958 -17.6865
+-13.5936 7.09838 -16.7683
+-13.7201 6.34969 -16.1261
+-14.6298 5.89118 -16.1166
+-15.2543 5.43877 -16.715
+-16.0091 4.96097 -17.3208
+-16.6034 4.24669 -17.6394
+-15.6374 4.0503 -18.0545
+-16.0006 3.57473 -17.2105
+-15.6712 2.72174 -16.8691
+-14.7838 3.21309 -16.6815
+-14.1712 3.53582 -17.42
+-13.3023 3.16923 -17.0605
+-13.3787 2.21152 -17.2254
+-13.4559 1.36747 -17.7489
+-14.3763 1.78208 -17.9943
+-14.6492 2.13757 -17.1416
+-14.5477 1.08883 -17.2835
+-14.0675 0.6063239 -18.1056
+-13.5537 -0.1024331 -17.6276
+-12.5668 0.02020193 -17.4539
+-11.8988 -0.2837721 -16.743
+-10.888 -0.1374441 -16.9168
+-10.6578 -0.1781361 -15.971
+-10.8687 -0.7140171 -15.2035
+-11.2238 -1.22669 -14.4592
+-11.4322 -2.06389 -14.988
+-12.008 -2.26883 -14.2612
+-11.8021 -2.98359 -13.6022
+-11.7427 -2.42911 -12.7723
+-12.4759 -1.83269 -12.5987
+-12.3301 -1.2894 -11.7748
+-11.4409 -1.54055 -11.4622
+-10.6389 -1.3974 -12.1779
+-10.4376 -0.6918561 -12.8097
+-9.55442 -0.2919981 -13.1729
+-9.05818 -0.8190191 -12.448
+-9.32121 -1.74202 -12.3299
+-8.78283 -2.51179 -11.9168
+-8.66779 -2.72829 -12.9149
+-7.82722 -3.14845 -12.4986
+-7.10964 -2.49019 -12.4076
+-6.8233 -1.53771 -12.2442
+-7.37608 -0.8277261 -12.6125
+-7.39569 -0.3250271 -11.7675
+-6.96381 -0.7737071 -10.9432
+-7.75423 -1.45378 -11.1053
+-7.92566 -2.36644 -10.8302
+-7.25855 -3.06364 -11.2714
+-7.00364 -3.87577 -10.7336
+-6.15385 -3.99123 -10.2302
+-6.46917 -4.33442 -9.35048
+-6.85588 -4.28688 -8.45322
+-6.92485 -4.22438 -7.43521
+-7.84734 -3.73364 -7.31931
+-8.4827 -4.499 -7.42994
+-8.14458 -4.92797 -6.61065
+-7.32791 -4.85503 -5.95261
+-6.4179 -5.07963 -6.21829
+-6.13383 -4.3385 -5.66193
+-6.49289 -3.59732 -6.19215
+-6.53558 -3.18173 -7.10875
+-5.79542 -2.83778 -7.72254
+-4.96306 -2.57088 -7.23495
+-5.37551 -3.15559 -6.56679
+-5.89014 -2.37465 -6.14468
+-5.2015 -2.52328 -5.34671
+-4.78255 -1.58928 -5.40413
+-4.6808 -0.5926911 -5.26923
+-4.17532 0.06954653 -5.79454
+-5.13747 0.3046149 -6.00534
+-4.77446 0.9149219 -6.78899
+-4.93364 -0.05221067 -7.07768
+-5.06036 -0.7942051 -6.56268
+-5.99724 -0.6720131 -6.74385
+-6.46051 -0.8794221 -7.63638
+-6.08269 -0.5644811 -8.56686
+-5.15936 -1.04869 -8.73595
+-4.67341 -1.8987 -8.7444
+-5.33618 -2.07015 -9.52868
+-5.74312 -3.03071 -9.30882
+-6.634 -2.83491 -9.03202
+-6.84945 -3.16207 -8.07494
+-7.11651 -2.20951 -7.92142
+-8.08585 -2.22528 -7.98588
+-8.26313 -1.8554 -8.93226
+-7.41993 -1.72948 -9.16865
+-7.98307 -0.9160551 -9.15461
+-8.42946 -0.06280867 -8.87139
+-8.68347 -0.3167871 -7.91411
+-9.71594 -0.4411641 -7.89211
+-10.6843 -0.3265851 -7.79444
+-10.3599 0.08134713 -8.58346
+-10.2697 0.3620349 -9.52579
+-11.0472 -0.08321347 -9.87653
+-11.6286 0.3745759 -10.5749
+-11.0632 0.4728539 -11.405
+-10.8408 0.4587639 -12.2921
+-10.9879 0.6791979 -13.3067
+-10.7682 0.9769439 -14.1626
+-11.8021 0.5710499 -14.2618
+-12.4178 1.14122 -14.6624
+-11.7973 1.7291 -15.222
+-11.1754 1.44258 -15.9362
+-10.9324 1.76607 -16.8363
+-10.6796 1.01038 -17.4414
+-9.93239 1.57646 -17.4858
+-9.52978 2.42551 -17.775
+-9.81727 3.1704 -17.1129
+-8.87173 2.96992 -16.6664
+-8.83067 2.79788 -15.6615
+-8.05345 3.38484 -15.3465
+-7.35256 3.5749 -14.7127
+-6.5733 3.55457 -15.3277
+-6.44216 4.51285 -15.5744
+-5.84389 4.14217 -16.2522
+-6.552 4.00952 -16.883
+-6.97634 3.32496 -17.4312
+-7.39032 3.92426 -18.123
+-6.94919 3.90841 -18.9773
+-5.99748 3.74981 -18.8278
+-6.40755 2.81061 -19.0601
+-6.33415 3.43249 -19.9122
+-5.37771 3.67652 -20.0107
+-5.88406 3.01556 -20.605
+-5.17999 2.3568 -20.9473
+-5.06615 2.74155 -21.856
+-5.26278 3.72677 -21.7879
+-4.30002 3.77711 -21.3256
+-3.77028 3.35203 -22.073
+-3.8274 4.0454 -22.8465
+-4.32612 4.81192 -23.2454
+-3.9924 5.34391 -23.9519
+-3.29951 5.86792 -24.4538
+-3.55941 6.78079 -24.0667
+-3.66199 7.82679 -23.9944
+-3.09838 8.35195 -23.2393
+-2.39708 8.93836 -23.7103
+-2.81642 8.93499 -24.6212
+-3.69678 9.27277 -24.9233
+-3.15622 9.38475 -25.7644
+-2.52736 10.1475 -25.4687
+-2.02056 9.99594 -24.5703
+-1.61619 10.6391 -25.1887
+-0.575806 10.8752 -25.2638
+-0.576208 10.4627 -26.1316
+-1.29127 11.0811 -26.4169
+-1.2238 11.1625 -27.4079
+-2.21955 11.2466 -27.1557
+-1.73153 12.1049 -27.1706
+-2.23972 12.1476 -28.0146
+-1.82364 11.6517 -28.8169
+-2.03138 10.7405 -28.3526
+-2.77193 10.8821 -29.0649
+-2.96615 9.97512 -29.244
+-2.76195 8.95002 -29.2814
+-2.96837 7.97131 -29.2474
+-2.60937 7.98571 -28.2672
+-1.71548 7.65307 -27.8894
+-2.41524 7.3917 -27.2827
+-3.16824 6.96128 -27.7384
+-3.58609 6.32467 -28.3408
+-3.34451 5.35763 -28.6647
+-4.21983 4.97551 -28.3601
+-4.67631 4.09073 -28.3093
+-4.82122 3.97579 -27.3407
+-4.9865 3.04585 -27.69
+-4.26534 2.60873 -27.1357
+-4.258 3.06644 -26.2343
+-5.15702 3.16347 -26.6778
+-5.53555 3.49575 -25.8098
+-6.47363 3.68964 -26.0133
+-6.86433 2.78527 -26.2337
+-7.75779 2.39119 -26.1441
+-7.80699 2.77001 -27.0486
+-7.85402 3.67113 -26.682
+-8.72688 3.39714 -27.1076
+-9.26433 3.87325 -27.8314
+-10.177 3.51913 -27.9967
+-10.4123 3.61317 -27.0662
+-10.5974 4.05461 -26.1122
+-11.1944 4.0148 -25.3849
+-11.5127 3.21405 -25.782
+-10.9009 2.46984 -26.1587
+-11.1829 2.37769 -25.1362
+-10.7587 2.135 -24.2284
+-9.78555 1.89015 -24.3035
+-8.80475 2.04858 -23.9656
+-8.38017 2.41382 -23.1069
+-9.1574 2.45508 -22.5479
+-8.74408 2.10007 -21.6586
+-7.78668 2.11055 -21.8428
+-6.90519 1.6771 -21.6878
+-7.13302 1.59103 -22.673
+-7.5773 0.6808489 -22.7767
+-7.30064 -0.3216401 -22.8127
+-6.49088 0.1078649 -23.1054
+-6.05547 -0.6811391 -22.6558
+-6.05819 -0.1165251 -21.857
+-6.76015 -0.8738481 -21.895
+-7.33437 -1.22359 -21.1919
+-7.49293 -1.84768 -20.4371
+-8.33566 -2.03589 -20.8533
+-8.90608 -2.88281 -20.6183
+-9.87231 -2.91319 -20.565
+-10.2809 -2.44858 -21.3845
+-10.5511 -2.5355 -22.3564
+-10.9761 -1.7575 -22.8234
+-10.652 -1.01868 -22.2269
+-10.8785 -0.09519287 -22.3564
+-11.6903 0.01200223 -21.7633
+-11.8575 -0.9300531 -21.6613
+-12.7164 -0.6115241 -21.367
+-13.1645 0.2191039 -21.2934
+-13.5917 1.13022 -21.0378
+-14.1623 0.3625649 -20.6559
+-13.4339 -0.2555331 -20.4428
+-12.7703 0.4748269 -20.093
+-12.4124 1.35699 -20.032
+-11.8843 1.54311 -19.1593
+-11.4435 2.52362 -19.1964
+-10.9504 2.50442 -20.0941
+-11.4767 2.26812 -20.9243
+-11.7643 1.39854 -21.2397
+-12.486 1.86139 -21.7758
+-13.0447 2.27963 -21.1384
+-13.1638 3.17036 -20.6783
+-13.2167 3.36464 -21.6626
+-13.3539 3.54612 -22.5999
+-12.945 2.9075 -23.3811
+-12.6076 3.79019 -23.7185
+-12.0983 3.92915 -22.8481
+-11.6124 4.52723 -22.1423
+-11.1738 4.67255 -23.046
+-10.3863 4.06756 -22.9736
+-9.81443 3.43132 -22.4432
+-9.16133 4.17778 -22.3416
+-8.97829 5.10355 -21.8623
+-8.60786 4.92606 -20.9822
+-8.18039 5.20445 -20.114
+-7.42459 4.83994 -20.5671
+-6.91487 5.74478 -20.3797
+-6.20013 5.15217 -20.2238
+-5.53283 5.34937 -19.505
+-4.81529 5.64898 -20.1327
+-4.98706 5.43502 -21.1138
+-3.97241 5.297 -21.2637
+-4.3351 5.6571 -22.1392
+-4.99583 6.26634 -22.6912
+-5.90669 6.05253 -22.8991
+-6.38701 6.54929 -23.625
+-7.40862 6.86096 -23.8639
+-7.51483 5.90886 -23.8326
+-8.20067 5.3345 -23.5321
+-7.96882 5.37396 -24.5222
+-7.46409 4.51346 -24.5182
+-6.61179 4.43492 -23.8849
+-5.60487 4.44428 -24.1623
+-6.04978 3.62774 -24.5164
+-6.04976 2.72126 -24.2235
+-6.68577 2.89559 -23.5188
+-6.13064 2.47416 -22.8191
+-5.18717 2.72152 -22.8849
+-4.19448 2.76292 -23.0143
+-3.72448 2.43844 -23.8854
+-3.23201 3.24142 -23.6028
+-2.28648 3.43257 -23.3487
+-1.47867 3.66174 -22.9332
+-2.05349 3.77633 -22.1064
+-1.47398 4.54761 -22.186
+-0.696783 4.30719 -21.6137
+-0.869483 3.4877 -21.1113
+-0.377217 2.98478 -20.4102
+-0.03700603 2.06934 -20.1661
+-0.478077 1.35643 -19.6521
+0.01687707 2.07746 -19.1468
+-0.292439 1.76001 -18.2615
+-0.209767 0.7147319 -18.3969
+0.573791 0.07830143 -18.2353
+1.36078 -0.5653901 -18.3291
+1.94696 -0.004090036 -18.9971
+2.04215 0.7259949 -19.7355
+1.76368 1.02627 -20.6321
+1.10006 1.11696 -21.3711
+0.817453 2.04055 -21.6373
+-0.127485 2.34312 -22.0351
+-0.714268 2.20727 -22.8277
+-1.55228 2.15886 -23.3863
+-1.78083 2.0164 -22.3756
+-2.4023 2.35637 -21.7102
+-2.04666 2.30657 -20.8
+-1.21113 1.75894 -20.5395
+-1.03124 0.7672019 -20.473
+-1.05343 0.1444739 -21.2389
+-0.394021 -0.1776601 -20.6084
+-0.07389953 -1.16787 -20.3768
+-0.581944 -1.75538 -19.6514
+-0.612364 -2.44681 -18.8666
+-0.818362 -2.48909 -17.9078
+-1.32781 -2.61062 -17.0437
+-1.91101 -1.834 -17.3121
+-2.57667 -2.03142 -18.0795
+-2.04413 -2.23353 -18.8832
+-1.66868 -1.438 -19.3491
+-1.40644 -0.7900331 -20.1231
+-1.57166 0.08864263 -19.7735
+-2.19981 0.8604669 -19.9974
+-2.78511 1.46902 -20.5377
+-3.84372 1.38883 -20.6488
+-3.60937 2.1154 -21.4133
+-3.02445 1.34139 -21.8372
+-3.68985 0.5358409 -21.9488
+-4.62719 0.1831939 -22.1096
+-5.12174 0.08343353 -22.9469
+-4.76847 0.4569399 -23.7974
+-5.46121 1.04685 -24.0535
+-6.32379 1.2623 -24.4599
+-6.21944 0.7822289 -25.3677
+-6.44456 -0.1819901 -25.4816
+-5.93951 0.1071569 -24.6414
+-4.97678 -0.1679141 -24.7357
+-4.9974 -0.6186531 -25.664
+-5.10653 -1.39953 -26.2785
+-4.51117 -1.27568 -27.0773
+-4.04899 -1.51147 -26.1824
+-4.12228 -0.4955011 -26.2991
+-4.64729 -0.08107977 -27.0188
+-5.10231 0.7600629 -26.652
+-5.59718 1.28566 -27.4049
+-6.12703 0.4853809 -27.3447
+-6.83257 -0.2407291 -26.9615
+-7.35038 0.4825689 -26.4065
+-7.21778 1.24268 -25.7504
+-7.3245 1.11634 -24.7668
+-7.35347 0.1660959 -25.1407
+-8.10791 -0.3383031 -24.759
+-7.70239 -0.9878641 -25.3411
+-8.32342 -1.59023 -25.8182
+-7.98929 -2.53591 -25.9186
+-8.07641 -3.29097 -25.2649
+-7.69529 -3.24653 -24.4139
+-8.31085 -2.39995 -24.5227
+-7.38956 -2.08627 -24.5449
+-7.67036 -1.82566 -23.5838
+-8.1021 -1.02404 -23.2032
+-8.68283 -1.77197 -22.8547
+-8.59697 -2.48785 -22.0829
+-9.30183 -3.2078 -22.1508
+-9.92702 -3.966 -22.0304
+-9.54116 -4.88923 -22.0502
+-10.4925 -4.96119 -22.0387
+-10.3489 -4.70919 -21.0558
+-10.3913 -5.71849 -20.8323
+-10.7373 -6.10992 -21.7276
+-10.1801 -6.85244 -22.1536
+-9.67696 -6.05531 -22.1201
+-8.7006 -5.98369 -21.8982
+-8.17849 -6.12328 -21.0164
+-7.46489 -6.75182 -21.2613
+-7.24324 -6.54976 -20.2785
+-7.73322 -7.36698 -20.3708
+-7.06279 -7.78003 -19.8739
+-7.29648 -7.06145 -19.2442
+-7.0135 -6.67343 -18.4623
+-6.94854 -6.33181 -17.4562
+-7.50806 -7.13097 -17.5389
+-8.15759 -7.87191 -17.4535
+-8.72937 -7.3384 -18.0777
+-9.14056 -7.00787 -18.9276
+-9.64995 -7.91043 -18.9225
+-9.91199 -7.3631 -19.7273
+-9.47142 -7.68154 -20.5482
+-10.2662 -8.07851 -20.8394
+-11.1582 -8.52953 -20.8715
+-10.7212 -9.53891 -20.7684
+-11.0239 -9.27681 -21.6406
+-11.8956 -9.17928 -22.0293
+-12.327 -8.29755 -22.2749
+-13.0917 -7.68188 -21.9664
+-13.3443 -8.56513 -22.4357
+-12.7379 -8.89373 -23.1247
+-13.3013 -8.15384 -23.4115
+-13.2879 -7.19698 -23.0231
+-14.1224 -6.91586 -23.6426
+-13.3139 -6.79764 -24.145
+-13.4842 -7.7032 -24.5346
+-12.6531 -7.36776 -24.2552
+-11.6524 -7.14151 -24.3772
+-11.2488 -6.25811 -24.2657
+-11.387 -6.09491 -23.2574
+-11.6474 -6.20918 -22.3023
+-11.9277 -6.71253 -21.5029
+-11.7672 -6.40091 -20.573
+-11.3743 -6.59285 -19.5797
+-10.7207 -6.79961 -18.8091
+-11.2763 -6.33703 -18.123
+-10.7561 -5.68487 -18.6585
+-10.5342 -4.78076 -19.0594
+-9.95742 -4.13113 -18.5441
+-10.4737 -3.31963 -18.9365
+-10.6685 -2.68903 -18.2338
+-10.887 -1.7365 -17.9972
+-11.452 -1.01273 -18.1522
+-11.1847 -1.25594 -19.1097
+-12.0307 -1.77306 -19.1736
+-12.8225 -1.49943 -18.7032
+-13.8416 -1.65464 -18.5113
+-13.4999 -2.09367 -17.709
+-13.0667 -3.09287 -17.6842
+-13.3936 -3.62376 -16.8355
+-12.6112 -3.22349 -16.3307
+-12.5986 -2.25392 -16.0001
+-12.3355 -1.7792 -16.8464
+-11.3812 -2.13978 -16.7547
+-10.531 -2.60804 -16.5696
+-10.3785 -1.66827 -16.861
+-9.89684 -1.24609 -17.67
+-9.52174 -0.3540031 -17.3059
+-9.72908 0.5838319 -17.5796
+-9.48023 0.3136609 -18.5243
+-8.80644 0.4816039 -19.1793
+-8.24908 0.2286959 -19.9682
+-8.05902 1.10012 -19.5216
+-7.1688 0.7314319 -19.8173
+-6.54267 0.8675609 -20.6536
+-5.62662 1.26323 -20.5238
+-5.90205 1.57938 -19.7461
+-5.46748 2.03302 -18.9582
+-5.0562 1.91884 -18.0211
+-5.91616 2.29666 -17.7967
+-6.59968 1.76066 -17.2503
+-7.39147 1.13801 -17.1898
+-7.61184 0.1386269 -17.2255
+-7.26343 -0.7531761 -17.0601
+-6.50474 -0.1313381 -16.7553
+-6.06607 0.7909319 -16.7587
+-6.66957 1.22931 -16.2108
+-7.20544 0.9500489 -15.4237
+-7.20934 0.2764489 -14.7218
+-7.73708 -0.4985331 -15.1934
+-8.28774 -1.29515 -15.5841
+-8.11202 -2.10331 -14.9913
+-8.73927 -1.47665 -14.5385
+-9.56872 -2.03782 -14.4168
+-10.2425 -2.69415 -14.6572
+-10.9558 -3.36471 -14.3407
+-11.3094 -4.3678 -14.3872
+-11.452 -5.17618 -13.8347
+-10.589 -5.73436 -13.9296
+-11.0839 -6.58628 -14.0863
+-12.0543 -6.78724 -14.2446
+-11.9776 -7.71024 -14.6125
+-12.9249 -7.6348 -14.3614
+-13.6528 -8.35528 -14.0165
+-13.7415 -8.71996 -14.9387
+-14.4453 -8.39914 -15.5505
+-14.5019 -9.42314 -15.5186
+-14.3219 -9.78924 -16.4429
+-14.6684 -10.4865 -17.0748
+-14.7497 -9.90494 -17.9074
+-15.0881 -9.70623 -18.8198
+-14.702 -10.6158 -18.8908
+-15.4085 -11.1206 -18.3204
+-15.2795 -12.0479 -18.1841
+-15.1234 -13.0117 -18.174
+-14.6872 -12.9087 -19.0886
+-13.9387 -12.4371 -19.3726
+-14.0753 -11.4575 -19.6138
+-14.3704 -11.9884 -20.4366
+-13.4589 -12.4222 -20.5071
+-12.5297 -12.0092 -20.6385
+-12.6467 -12.7968 -21.2149
+-12.1287 -13.6137 -21.385
+-11.637 -13.2803 -22.2616
+-10.9352 -13.4481 -22.8486
+-10.7778 -14.4313 -22.8161
+-10.2828 -14.5939 -23.6909
+-11.1189 -14.0112 -23.9474
+-11.5471 -13.0313 -24.1451
+-12.1349 -13.415 -24.83
+-11.8194 -13.6157 -25.822
+-11.3534 -12.8346 -25.5698
+-11.6247 -11.9632 -25.2023
+-12.5283 -11.8303 -25.0344
+-13.124 -11.9309 -24.1865
+-13.5736 -11.0282 -24.506
+-13.1856 -10.4954 -25.2868
+-12.6276 -10.6937 -24.4525
+-12.4765 -9.72747 -24.4072
+-12.5294 -9.17438 -25.2038
+-11.5615 -9.32736 -25.3386
+-10.9793 -9.06238 -24.5746
+-10.7861 -8.52407 -23.712
+-10.0703 -9.13524 -24.0782
+-10.4641 -9.42067 -23.2308
+-11.2604 -9.98327 -23.3849
+-10.6337 -10.7409 -23.7521
+-10.4782 -11.134 -22.8782
+-10.1941 -11.959 -22.4728
+-9.99278 -12.6765 -23.2274
+-10.1488 -12.4593 -24.259
+-9.16389 -12.3275 -24.4171
+-8.8463 -13.3131 -24.4965
+-8.08752 -13.6097 -25.0685
+-7.40153 -12.9535 -24.705
+-6.62501 -13.6417 -24.7005
+-6.26886 -12.6923 -24.7874
+-6.49263 -12.3014 -23.9173
+-5.9661 -11.3841 -23.817
+-5.0069 -11.4474 -23.596
+-4.20432 -11.9681 -23.3049
+-4.3098 -12.1121 -22.3226
+-3.37255 -11.9931 -22.7151
+-2.55201 -11.6202 -22.3169
+-2.36016 -12.3245 -23.0359
+-1.66432 -12.4937 -22.3212
+-0.877678 -13.0437 -22.2393
+-0.143644 -12.9921 -21.5963
+-0.143266 -13.347 -20.6835
+-0.456282 -12.4764 -20.3587
+-1.25598 -12.7606 -19.8421
+-0.824622 -12.0684 -19.3582
+-0.483981 -12.0755 -18.3567
+-0.936557 -12.4102 -17.468
+-1.28092 -11.6395 -17.0039
+-1.86067 -10.8449 -17.2355
+-2.43344 -11.1541 -17.9991
+-2.25004 -11.7552 -18.8705
+-2.74585 -11.4793 -19.705
+-2.409 -10.5562 -20.0025
+-3.2061 -10.0308 -20.276
+-2.60351 -9.15348 -20.2096
+-1.82688 -8.76926 -19.7009
+-1.23887 -9.17842 -20.3841
+-0.80811 -9.76637 -19.6578
+-0.61057 -9.92543 -18.6508
+0.249303 -10.2977 -18.8486
+0.947343 -10.84 -18.3738
+1.67424 -10.8665 -19.0461
+1.82808 -11.8291 -19.2771
+2.57676 -11.5885 -18.6974
+2.30704 -10.9078 -17.9631
+2.55259 -11.6755 -17.3141
+2.94101 -11.7524 -16.4726
+3.15902 -10.8097 -16.3725
+3.31583 -9.87306 -16.1581
+2.43309 -9.54103 -16.4568
+2.32595 -10.0829 -17.2724
+1.56159 -10.6308 -17.0705
+1.61828 -10.3207 -16.1431
+1.81629 -9.6351 -15.3422
+1.79685 -10.5947 -15.0251
+2.30098 -11.3474 -14.8
+2.36427 -11.6409 -15.702
+3.29344 -11.7135 -15.2915
+3.77695 -12.6143 -15.1328
+3.48812 -12.2182 -14.1901
+2.60778 -12.739 -14.158
+2.97343 -12.5772 -13.2364
+3.7935 -12.9617 -12.9564
+4.59724 -13.3579 -12.6276
+5.52603 -13.3726 -12.3469
+5.82441 -12.3813 -12.0898
+6.76253 -12.455 -12.3918
+7.30936 -12.0032 -11.6409
+7.67569 -11.2004 -12.1933
+7.82304 -11.2496 -11.1677
+8.5846 -11.7688 -11.5204
+8.84253 -12.0202 -12.4776
+8.81581 -11.1792 -13.0266
+8.8424 -10.4253 -13.6648
+8.43789 -10.864 -14.4582
+8.15855 -11.836 -14.2218
+7.40815 -11.1984 -14.39
+7.50815 -10.3493 -13.833
+7.73919 -9.78851 -13.0602
+8.69194 -9.5251 -12.6894
+8.8771 -9.51789 -11.6972
+8.4554 -9.15536 -10.8237
+8.87759 -10.052 -10.5062
+8.65496 -10.61 -9.72589
+8.62205 -11.5521 -9.44363
+8.2884 -12.3513 -9.05721
+7.68595 -12.8646 -8.47714
+6.93661 -12.8435 -9.22012
+6.55986 -13.6916 -9.54576
+6.70145 -13.7537 -10.5393
+7.39232 -14.4503 -10.3409
+7.76018 -14.8882 -9.4393
+7.56342 -14.7948 -8.53601
+8.38479 -14.2832 -8.25175
+7.91057 -14.1773 -7.39615
+6.93806 -14.0688 -7.4368
+7.09775 -15.0221 -7.45542
+7.5277 -15.7643 -7.03764
+7.10024 -16.2367 -7.8377
+6.39862 -16.5571 -7.24068
+6.45542 -16.6141 -6.27711
+6.9382 -15.7375 -6.08447
+7.54399 -16.4932 -5.85333
+8.38355 -16.6557 -6.5119
+8.98168 -15.8332 -6.4327
+9.59853 -15.0467 -6.53628
+10.4048 -15.5745 -6.16371
+10.3533 -14.7571 -5.60759
+9.40528 -14.7894 -5.30358
+9.78853 -14.4462 -4.4502
+9.22517 -15.1867 -4.28488
+8.46034 -15.8291 -4.64717
+7.97392 -15.9049 -3.84282
+7.23768 -16.4916 -4.00835
+7.14843 -17.3246 -3.62494
+6.26529 -16.9677 -3.20357
+6.9008 -16.3477 -2.72829
+6.29827 -16.9441 -2.11066
+6.56759 -16.2965 -1.39074
+6.45277 -15.3779 -1.73354
+6.18603 -14.8944 -0.8646459
+7.20886 -14.7399 -0.7031989
+7.20508 -15.4899 -0.03741148
+7.87081 -15.8131 -0.6274159
+8.56897 -15.4552 -1.26276
+8.08718 -16.2482 -1.64878
+8.01027 -16.9547 -2.34229
+8.6823 -16.2388 -2.55132
+9.53846 -16.6617 -2.1021
+10.4549 -16.948 -1.76569
+10.6094 -17.9503 -1.65629
+10.3003 -18.6244 -2.33813
+10.9283 -18.3665 -3.0082
+10.8666 -17.4326 -2.93123
+11.2107 -17.0107 -3.82966
+12.0806 -16.6559 -3.38857
+11.2798 -16.0391 -3.23827
+11.3702 -15.2834 -3.81482
+10.9111 -15.0232 -2.93437
+10.234 -15.7092 -2.69967
+9.54151 -15.2703 -2.16359
+8.62893 -15.0166 -2.59885
+7.91824 -14.6397 -2.01552
+8.41877 -13.7612 -1.61467
+7.86414 -12.9334 -1.35217
+6.86709 -12.918 -1.23862
+6.99661 -13.1055 -0.2396639
+6.37191 -12.6925 0.4544401
+7.21537 -12.155 0.6467831
+6.96755 -11.2098 0.6621711
+6.10012 -11.4678 1.09045
+5.18656 -11.7317 1.05229
+4.64201 -12.6029 0.9085221
+3.96073 -12.6907 0.1999071
+4.24115 -12.9963 -0.7029599
+4.14116 -12.1537 -1.30164
+4.41584 -11.3046 -0.7857039
+4.54614 -10.7535 -1.60206
+4.96966 -11.0075 -2.4678
+4.56578 -10.0279 -2.31058
+3.99097 -10.0968 -3.13683
+4.38046 -10.1602 -4.05287
+3.44935 -10.3088 -4.42954
+2.75922 -10.6561 -3.796
+3.15894 -11.4051 -4.3193
+3.86987 -11.3728 -4.95634
+4.73141 -11.604 -5.38043
+4.71704 -11.9217 -4.41599
+5.00136 -11.819 -3.44411
+5.93799 -12.0209 -3.2228
+6.53213 -11.2204 -3.08825
+6.91413 -10.56 -3.59847
+7.03893 -10.2475 -2.64763
+7.54125 -9.42891 -2.79159
+7.77987 -9.33016 -1.81889
+8.37191 -8.94872 -1.08869
+9.33152 -9.42079 -1.02123
+9.55304 -8.45991 -1.26295
+10.1561 -8.78401 -2.04645
+11.1472 -8.49093 -1.9784
+11.0882 -8.27614 -0.9747249
+11.6988 -8.06292 -0.2589369
+12.0617 -7.46132 0.4891011
+13.0565 -7.34464 0.5661621
+13.3426 -8.28816 0.7858061
+14.2119 -7.91538 0.8524281
+14.266 -8.02555 -0.1710859
+13.3694 -7.84711 -0.5781579
+13.4122 -7.13814 -1.357
+12.4209 -6.788 -1.50552
+11.9655 -7.01482 -2.42397
+12.0363 -6.08248 -2.70237
+11.5488 -5.65784 -3.53724
+10.6407 -5.83002 -3.09309
+10.0679 -5.53119 -3.79976
+9.53158 -6.28542 -3.78973
+8.59791 -5.90835 -3.61802
+7.79096 -5.42077 -3.51839
+7.60621 -4.9503 -2.66599
+7.78089 -4.73546 -1.68444
+6.86221 -5.18376 -1.74862
+6.09004 -5.74975 -1.38276
+5.13523 -5.83403 -1.73495
+4.29457 -6.01257 -1.21094
+4.31118 -5.17223 -0.7511719
+3.91306 -4.18338 -0.7061149
+3.70608 -3.54983 -0.01380658
+3.35511 -4.00323 0.8552491
+3.67106 -4.87979 1.17929
+3.57215 -5.48052 1.9717
+4.39092 -4.82273 2.03693
+5.05281 -4.20025 1.69458
+5.67759 -3.96331 0.9142551
+6.47147 -3.33585 1.02416
+7.27254 -3.50517 1.57748
+7.42827 -3.41891 0.6020611
+6.69442 -3.33049 -0.02872248
+6.53198 -4.00995 -0.7389029
+6.60142 -4.62446 0.04610632
+6.70687 -5.57994 0.01449072
+7.05457 -5.85488 -0.8878029
+7.66146 -6.314 -1.49332
+8.00027 -7.28499 -1.30876
+8.57763 -7.59813 -0.5547109
+8.86358 -8.53546 -0.3417539
+9.00317 -9.06635 0.5594771
+8.30789 -9.57841 1.15268
+7.38742 -9.70226 0.6961601
+6.86897 -9.86302 -0.1731819
+6.58268 -8.95046 -0.4952539
+6.44067 -8.51472 -1.37293
+5.59091 -8.89991 -1.08258
+5.23648 -8.26992 -1.81345
+5.1861 -8.51143 -2.78537
+6.09208 -8.10927 -2.67162
+7.03601 -7.98396 -2.62204
+6.77415 -7.30499 -3.36455
+7.82985 -7.38092 -3.39608
+8.73781 -7.07884 -3.11437
+8.97148 -7.85212 -2.6308
+9.58131 -8.08004 -3.34803
+8.6426 -8.44359 -3.58101
+9.08103 -9.17499 -4.07645
+8.55998 -10.0267 -4.15071
+9.0453 -10.4298 -4.96676
+8.51897 -9.57066 -5.25595
+7.69199 -9.72929 -5.82812
+7.57013 -10.2593 -6.68073
+8.08105 -10.8022 -7.25719
+8.32954 -10.416 -8.14212
+8.23525 -9.52461 -8.37869
+9.26845 -9.50178 -8.11719
+9.14069 -8.50732 -7.90363
+9.16327 -7.72532 -7.21815
+9.83255 -7.58466 -7.94662
+10.1991 -8.00796 -7.13177
+10.4307 -8.90692 -7.39468
+11.4014 -9.13696 -7.48312
+11.7537 -9.93861 -6.95195
+10.8615 -9.96528 -6.5613
+10.2662 -9.27542 -6.1077
+10.5123 -9.9064 -5.33012
+11.1876 -9.23873 -4.9554
+10.4814 -8.52063 -5.02168
+10.0601 -7.76095 -5.51943
+9.32095 -7.31692 -5.03026
+8.66063 -6.83595 -5.58032
+7.96648 -6.17924 -5.24486
+7.2028 -5.60568 -5.03075
+6.88888 -5.57903 -5.9449
+7.36905 -5.04168 -6.54782
+6.69727 -4.25686 -6.54668
+5.75908 -4.48956 -6.36231
+5.11415 -4.49833 -7.14939
+5.74159 -5.33049 -7.00516
+5.65625 -6.36623 -6.84081
+4.93005 -5.89934 -6.39083
+5.64791 -5.5818 -5.72945
+5.46573 -6.22026 -4.97413
+5.71861 -7.08522 -5.42383
+5.36125 -7.864 -4.90879
+5.35857 -8.76861 -5.35921
+4.4655 -9.2829 -5.13587
+4.90013 -9.4516 -6.07981
+4.86943 -10.2455 -5.66286
+3.84154 -10.3872 -5.65353
+4.03772 -11.1442 -6.38544
+3.0985 -10.998 -6.50588
+3.66772 -10.4807 -7.1692
+3.38625 -9.8332 -7.90543
+2.80248 -9.06254 -7.98907
+3.04307 -8.43376 -7.26475
+3.94868 -8.67012 -6.94741
+4.60957 -8.72689 -7.6913
+5.37152 -9.33758 -7.44218
+6.23932 -8.81815 -7.23745
+6.36899 -8.44352 -8.11641
+6.49601 -8.37431 -9.10603
+6.65328 -9.20643 -9.43752
+7.63537 -9.21536 -9.13509
+8.13671 -8.4072 -8.70674
+8.6593 -7.56868 -8.88272
+9.51259 -8.00875 -9.09746
+9.39162 -8.78782 -9.75098
+10.2894 -8.41411 -9.75635
+10.1519 -7.43656 -10.0205
+9.44544 -7.12849 -10.5546
+9.84334 -6.3273 -10.0665
+10.6508 -6.73696 -10.5416
+11.1715 -7.51566 -10.9749
+12.0509 -7.50892 -10.5664
+12.5633 -8.36977 -10.6608
+13.2917 -8.98368 -10.4919
+13.3217 -9.57413 -11.3705
+12.9205 -10.1612 -10.7109
+11.9945 -10.1179 -10.4775
+11.951 -10.7835 -9.66425
+11.1633 -10.1636 -9.62402
+10.449 -10.6962 -10.2006
+10.3419 -10.9033 -11.1582
+10.6211 -9.89502 -11.0539
+10.5029 -9.91881 -12.0405
+9.91344 -10.5871 -12.533
+10.1415 -11.431 -12.0927
+10.2006 -11.3678 -13.1303
+11.0206 -11.6942 -12.6199
+10.476 -12.4276 -12.3438
+11.3275 -12.4508 -11.7907
+10.9038 -13.29 -11.7643
+10.1675 -13.0616 -11.0871
+10.8015 -13.4942 -10.4659
+10.387 -12.7948 -9.83815
+10.1815 -13.1578 -8.89406
+11.1659 -13.3811 -8.89382
+12.1579 -13.3209 -9.0368
+12.9412 -13.6016 -9.68723
+13.8545 -13.6618 -10.0882
+13.5176 -14.4636 -10.5042
+13.5372 -15.3427 -11.0052
+14.2379 -15.4298 -10.2369
+14.343 -15.7325 -9.31888
+13.5825 -16.3571 -9.32601
+13.5393 -16.7316 -10.2558
+12.8635 -17.3462 -10.6065
+13.5094 -18.0626 -10.4759
+13.0771 -18.5991 -11.1994
+13.8581 -19.2286 -11.1324
+14.3682 -18.9506 -11.9642
+13.793 -19.3385 -12.7049
+13.1012 -19.8477 -13.1889
+13.6837 -19.6585 -13.9591
+14.2178 -18.757 -13.8423
+15.0028 -18.2931 -13.4463
+14.5492 -17.7808 -14.1968
+13.6744 -17.7347 -13.7443
+14.1039 -17.272 -13.0026
+13.9141 -16.288 -12.7834
+12.9323 -16.4217 -12.4142
+12.8443 -17.2553 -11.9513
+12.1043 -16.5585 -11.5892
+11.5025 -15.8723 -11.2345
+10.9528 -15.458 -11.9245
+11.8432 -14.9268 -12.0277
+12.0531 -13.9814 -12.2129
+12.7299 -14.2439 -11.5528
+11.9269 -14.2866 -10.9462
+12.3234 -13.3737 -10.8919
+13.0738 -13.202 -11.4229
+13.1983 -12.8561 -12.3366
+13.5634 -12.1887 -11.7304
+14.2314 -11.4556 -11.8367
+14.9035 -11.8938 -12.4331
+15.0642 -11.402 -13.3015
+15.9437 -11.3659 -12.8802
+16.9942 -11.1167 -12.7179
+16.5841 -10.3728 -12.1884
+16.2366 -10.1869 -11.2895
+15.8715 -10.601 -10.4364
+15.098 -10.8969 -9.89738
+15.162 -11.8246 -10.3704
+14.999 -12.5722 -9.72839
+14.2773 -12.0192 -9.40972
+14.2035 -12.2367 -8.47922
+15.1465 -11.9505 -8.69266
+16.1651 -11.8852 -8.58495
+17.0461 -11.9676 -8.01577
+17.1838 -11.7005 -8.96081
+17.7621 -12.3705 -9.31126
+17.8324 -12.6803 -8.43652
+17.4395 -13.5977 -8.2515
+17.371 -13.5056 -7.27658
+17.697 -13.2494 -6.3019
+18.0262 -12.3565 -6.01589
+18.4708 -12.2315 -6.89595
+19.4783 -12.0107 -7.01584
+19.4295 -12.1998 -7.95609
+19.3597 -13.1947 -7.88341
+18.5657 -13.5319 -8.43073
+18.805 -14.1393 -7.72182
+19.4479 -14.6613 -8.26357
+20.1238 -15.3463 -8.13733
+21.0212 -15.2858 -7.74005
+21.5275 -16.077 -7.32583
+20.7691 -16.7182 -7.60817
+20.0434 -16.9472 -8.32499
+20.1211 -16.2948 -9.09327
+19.2413 -16.1437 -9.54523
+19.2876 -15.1832 -9.61484
+18.6011 -14.907 -9.0201
+17.7281 -15.2275 -8.56614
+16.8923 -15.5855 -9.07284
+16.081 -15.2415 -9.53921
+15.9845 -16.1793 -9.7063
+16.8438 -16.6794 -9.84755
+17.3405 -15.8706 -10.2263
+18.0538 -15.7868 -9.62154
+18.6771 -15.5842 -10.4056
+19.4133 -15.5924 -11.1085
+19.4698 -16.237 -11.8988
+18.462 -16.4008 -12.1568
+17.5854 -16.0136 -12.3078
+16.7478 -15.4853 -12.4281
+16.995 -14.6227 -11.959
+17.1927 -13.9676 -11.2897
+17.0253 -13.5483 -10.4025
+16.9613 -12.9715 -9.60839
+16.6911 -12.1332 -10.163
+17.0967 -11.8812 -11.0523
+17.138 -12.2771 -11.9959
+17.0523 -12.9294 -12.8103
+16.513 -13.6018 -12.4003
+15.5347 -13.8245 -12.433
+15.1871 -14.6953 -12.1941
+14.7378 -15.6371 -12.0042
+15.1014 -15.5918 -11.0842
+15.1467 -16.4987 -11.4604
+16.0669 -16.775 -11.1168
+15.6836 -17.4002 -10.4479
+16.447 -18.1136 -10.1934
+17.3356 -17.7362 -10.373
+17.2965 -18.6071 -9.74915
+16.7959 -19.3415 -10.1203
+15.949 -19.8304 -10.3409
+15.2045 -19.1408 -10.3459
+15.2186 -18.6679 -11.2383
+15.3279 -19.405 -11.8706
+16.0409 -18.9153 -12.4059
+16.7905 -18.8284 -11.7772
+16.893 -17.9398 -12.2336
+17.4359 -17.9876 -11.4317
+18.1628 -18.6201 -11.5541
+18.3827 -17.8354 -12.1461
+19.1593 -18.4759 -12.1199
+19.506 -19.4437 -11.9901
+19.3985 -20.2181 -11.3532
+18.6832 -20.7344 -11.1277
+18.3844 -21.6171 -10.8795
+19.1305 -22.2833 -11.2086
+19.9494 -21.6721 -11.0535
+20.3045 -20.8299 -11.5303
+20.6344 -20.8836 -10.5866
+20.2441 -20.8023 -9.62064
+20.4938 -20.843 -8.67102
+21.3998 -20.417 -8.81347
+21.9043 -19.9425 -8.0207
+21.4972 -20.4296 -7.24466
+21.1938 -21.2682 -6.94792
+20.306 -21.521 -6.69856
+20.1968 -20.5726 -6.42844
+20.0923 -19.5479 -6.38618
+19.2874 -20.0845 -6.52706
+19.5102 -20.5403 -5.60411
+18.5223 -20.5964 -5.76013
+18.021 -20.3406 -4.94868
+18.5771 -20.3351 -4.27859
+18.3386 -19.3562 -4.02526
+17.6744 -19.7346 -3.25588
+17.9455 -20.6628 -3.05037
+17.1369 -20.3427 -2.47726
+17.1675 -21.2103 -2.88548
+16.5949 -20.8714 -3.55979
+16.5705 -21.0056 -4.5522
+15.6983 -21.2738 -4.88471
+15.1821 -20.6324 -5.44226
+15.2781 -20.8128 -6.40552
+16.1035 -21.4459 -6.35505
+15.6041 -21.8431 -7.17012
+15.8767 -21.6715 -8.17596
+16.0761 -22.4329 -8.79514
+16.7757 -22.347 -9.38504
+15.8505 -22.2669 -9.77472
+15.2229 -21.4232 -9.77967
+14.2716 -21.0862 -9.79212
+14.1804 -21.8975 -9.30797
+13.6295 -21.9072 -10.181
+13.2349 -21.6702 -11.0806
+12.6004 -21.2858 -11.7254
+13.2407 -21.123 -12.4796
+12.4252 -20.5434 -12.3969
+11.6538 -20.0156 -11.8447
+11.2837 -19.0747 -11.5967
+11.61 -18.3593 -10.9807
+11.1581 -17.7233 -11.6149
+10.7744 -17.1943 -12.3802
+10.0304 -16.664 -12.6816
+10.6052 -16.7103 -13.4848
+10.4967 -17.5918 -13.9574
+10.0227 -17.9619 -14.845
+10.9374 -17.6287 -15.0543
+11.8211 -17.5962 -14.6991
+12.3735 -18.3216 -15.0652
+12.953 -18.1758 -15.8707
+12.1676 -18.3893 -16.3975
+11.8537 -17.4328 -16.4338
+11.692 -16.7108 -17.146
+12.0428 -16.1004 -17.8951
+12.6691 -15.4202 -18.1985
+11.6907 -15.2116 -18.3959
+11.3697 -14.4137 -18.8619
+10.7552 -13.8704 -18.3441
+11.0367 -13.8112 -17.3748
+11.8756 -13.6262 -17.8578
+12.8288 -13.4857 -18.179
+13.6459 -13.0231 -18.4467
+12.9723 -12.2996 -18.2031
+12.4534 -12.5593 -19.0844
+11.6648 -12.8487 -19.6514
+11.2092 -12.6971 -20.5448
+10.7487 -11.8201 -20.1334
+10.8937 -11.3722 -21.0044
+10.7009 -10.4508 -21.2679
+9.69529 -10.4289 -21.4727
+9.05949 -9.76 -21.1737
+9.29175 -8.77412 -21.4394
+9.92717 -9.00838 -22.1707
+10.7098 -9.13546 -22.7047
+11.1274 -8.98838 -23.5885
+10.6282 -8.84405 -24.5231
+10.2736 -8.5995 -25.4573
+10.7571 -9.05496 -26.1894
+11.7235 -9.19945 -26.5783
+12.038 -8.96956 -25.689
+12.434 -9.42547 -24.9038
+12.3539 -10.4895 -24.999
+12.3068 -11.4339 -25.01
+11.4115 -11.2497 -25.4261
+10.4777 -11.3579 -25.6515
+10.3325 -10.3294 -25.3209
+9.9904 -10.2232 -24.3782
+9.0149 -10.1112 -24.204
+8.1923 -10.1255 -23.6275
+7.71534 -9.31333 -23.3709
+7.10703 -9.07895 -24.196
+6.36254 -9.52666 -23.6437
+5.48575 -9.94006 -23.5653
+4.4855 -10.0848 -23.6982
+4.55219 -9.8755 -24.7236
+5.03996 -10.6665 -25.1191
+5.71951 -9.88415 -25.2155
+6.38372 -10.5937 -25.0992
+6.04027 -10.7708 -24.1219
+6.52838 -11.2158 -23.3637
+5.84321 -11.9558 -23.4396
+4.82979 -12.1253 -23.7253
+4.18847 -12.7165 -23.2207
+3.36575 -12.8884 -23.6483
+3.53699 -13.8485 -23.5635
+2.57767 -13.3872 -23.6244
+2.82372 -14.0861 -24.3806
+2.29729 -13.9253 -25.2147
+1.70206 -13.5929 -25.9415
+0.679832 -13.6076 -26.0561
+0.624631 -12.6524 -25.8032
+0.363763 -12.7929 -24.8744
+-0.553066 -13.1349 -24.9577
+-1.08198 -12.5739 -24.318
+-1.18515 -11.6178 -24.6602
+-1.53364 -10.7374 -24.704
+-1.44942 -10.1147 -25.5357
+-1.89679 -10.5634 -26.3497
+-2.77312 -10.6566 -26.0663
+-2.58796 -11.4316 -26.6232
+-3.45545 -11.7596 -26.9972
+-4.49246 -11.8389 -27.1338
+-4.73709 -11.9121 -26.1114
+-5.26404 -11.1867 -25.6341
+-4.82201 -10.3591 -25.2223
+-4.59079 -9.45452 -25.6798
+-4.30582 -8.57349 -26.0146
+-4.13153 -8.63267 -27.0338
+-4.93398 -8.20025 -27.4668
+-5.40559 -8.62589 -26.6373
+-5.97947 -8.217 -25.9441
+-6.10227 -7.52326 -25.2308
+-6.02459 -8.21388 -24.4846
+-5.17923 -8.19067 -24.9265
+-4.26758 -8.17787 -24.4326
+-3.31304 -8.50231 -24.3601
+-2.37386 -8.81591 -24.6847
+-2.14763 -8.49457 -25.6232
+-2.47493 -9.11257 -26.3064
+-2.43499 -8.24223 -26.7642
+-2.05686 -7.82373 -27.5694
+-2.87996 -7.30278 -27.8501
+-2.47467 -6.86599 -28.7091
+-2.55547 -6.17227 -29.4823
+-2.77028 -5.51532 -30.2266
+-3.56456 -5.22332 -30.6832
+-4.46566 -5.00346 -31.0947
+-4.25684 -5.90501 -31.4851
+-4.83914 -6.12385 -32.2307
+-4.23706 -6.67659 -32.8404
+-5.02763 -7.0392 -33.3756
+-5.41441 -6.25851 -33.7622
+-5.62017 -6.53651 -32.8166
+-5.9776 -5.58788 -32.7651
+-6.78577 -5.22067 -32.1989
+-7.22698 -5.84146 -31.5705
+-6.80498 -5.29561 -30.879
+-7.08258 -4.40809 -31.1662
+-6.25854 -3.98036 -31.5403
+-6.20669 -3.9328 -30.541
+-5.2917 -4.1839 -30.622
+-5.44181 -5.17917 -30.6533
+-5.36446 -5.58224 -29.8194
+-5.44892 -5.74942 -28.8561
+-5.52172 -5.69574 -27.8393
+-5.34708 -4.78328 -27.4012
+-4.98305 -4.04673 -27.8924
+-4.00026 -3.84221 -27.7686
+-3.34843 -3.10239 -27.3892
+-3.95654 -3.45567 -26.6991
+-4.58625 -3.92136 -26.1203
+-5.23571 -4.67152 -26.0901
+-4.60115 -4.62578 -25.2468
+-5.13497 -5.08735 -24.6006
+-4.9594 -5.95682 -25.0332
+-4.58028 -6.17099 -24.1252
+-3.66113 -6.13427 -23.6629
+-3.00388 -5.51385 -24.1295
+-2.9284 -4.97053 -24.9508
+-2.31679 -4.57201 -25.5148
+-1.481 -4.14728 -25.4206
+-1.49622 -3.21439 -25.715
+-1.91179 -3.4969 -24.8789
+-2.89859 -3.54596 -24.7028
+-3.4522 -2.81949 -25.1813
+-3.41464 -2.37489 -24.2725
+-2.87868 -2.44938 -23.3732
+-1.97259 -2.46578 -23.6949
+-2.32006 -2.19155 -24.5702
+-1.92087 -2.19526 -25.4738
+-1.96078 -1.38319 -26.0276
+-2.36445 -1.75369 -26.8497
+-2.82435 -1.60776 -27.6917
+-3.40889 -1.8416 -28.5284
+-2.65431 -2.33685 -28.9978
+-3.37024 -3.08132 -28.852
+-3.2166 -3.66471 -29.6552
+-2.74331 -3.57402 -30.5587
+-2.34027 -4.43414 -30.4157
+-1.87892 -4.76276 -29.5656
+-1.13367 -5.11015 -28.922
+-1.42095 -5.911 -28.2546
+-0.514804 -6.16766 -27.9123
+0.30984 -5.63255 -28.2645
+1.01312 -4.91042 -27.8106
+1.70366 -5.56329 -28.155
+1.67356 -6.40045 -28.7324
+1.07509 -7.10905 -28.3467
+0.378744 -7.16207 -27.6471
+0.59648 -7.99223 -27.1231
+1.21777 -8.80267 -27.0221
+1.33124 -9.73073 -27.1334
+1.32599 -9.79311 -28.1838
+2.06316 -10.3185 -28.4482
+1.54932 -10.875 -27.7093
+2.38797 -11.4755 -27.6945
+2.74992 -11.1643 -28.5808
+3.01294 -10.7741 -29.4268
+2.1235 -10.6966 -29.8688
+1.22844 -10.3557 -30.1457
+1.88245 -10.2032 -30.8499
+1.6241 -9.27519 -31.122
+1.25264 -9.24674 -30.1533
+0.662253 -8.93441 -29.4547
+1.07226 -8.29959 -30.185
+1.3483 -7.46237 -30.7181
+1.14107 -6.68209 -31.3539
+1.03811 -7.17039 -32.1842
+0.258963 -6.71685 -32.6243
+-0.559825 -6.54549 -32.0764
+0.05563857 -6.68193 -31.3108
+-0.491517 -6.35043 -30.5024
+-1.27695 -6.42923 -29.9649
+-1.05844 -6.97196 -29.2045
+-0.907072 -7.67172 -28.4507
+-1.7059 -8.01974 -28.9285
+-2.52022 -8.66188 -28.9562
+-3.4569 -8.62872 -28.6793
+-3.2755 -9.32385 -28.0037
+-3.23824 -10.2811 -28.0962
+-2.63774 -11.1083 -28.1209
+-1.76325 -10.6698 -28.2727
+-0.926648 -11.1135 -28.2792
+-0.154868 -11.7072 -28.5499
+0.779505 -11.7585 -28.2021
+0.577126 -12.5346 -28.722
+1.01173 -12.4228 -29.5983
+0.956487 -13.441 -29.481
+0.558534 -12.9939 -30.2834
+0.647323 -13.7062 -30.9684
+1.56628 -13.9829 -31.2527
+1.5012 -13.3128 -31.9465
+1.8158 -12.4835 -31.5019
+0.995354 -11.876 -31.4247
+0.567644 -12.081 -32.3021
+0.248048 -11.1892 -32.7198
+-0.386714 -10.9423 -31.9891
+-0.843948 -11.842 -32.0845
+-1.57965 -11.9478 -32.8116
+-2.59472 -11.9923 -32.9848
+-2.23384 -11.1056 -33.1427
+-2.36742 -10.1212 -33.3227
+-2.71828 -10.5844 -34.1401
+-3.63276 -10.7363 -34.379
+-4.01873 -9.86801 -34.7167
+-4.79302 -9.16045 -34.9905
+-5.40267 -9.91529 -35.0408
+-6.21782 -9.84282 -34.4419
+-5.51295 -9.97518 -33.6518
+-5.99287 -9.44515 -32.9445
+-6.20132 -10.3098 -32.4232
+-5.55665 -10.0832 -31.7506
+-4.68075 -10.3109 -32.2513
+-3.75314 -10.484 -32.0135
+-2.977 -10.1863 -31.3713
+-2.72698 -11.0117 -30.9056
+-2.87056 -10.8709 -29.8934
+-3.42946 -11.5711 -30.3072
+-3.6314 -11.8413 -29.3711
+-3.7448 -12.7933 -29.1269
+-2.81304 -13.2143 -29
+-2.59273 -13.7921 -28.1547
+-1.78191 -14.0598 -28.7576
+-2.59435 -14.2114 -29.3375
+-2.84954 -14.9817 -28.7974
+-2.02076 -15.1233 -29.3869
+-2.22078 -14.5614 -30.2077
+-2.50211 -15.3008 -30.8127
+-2.62613 -15.8691 -31.6306
+-2.70874 -15.407 -32.5239
+-3.55662 -14.9703 -32.5077
+-4.21798 -14.8696 -31.7745
+-4.89102 -15.3784 -31.2167
+-5.07004 -14.3746 -31.039
+-4.56543 -13.6513 -31.5643
+-5.19086 -12.9928 -31.207
+-6.04407 -13.1054 -30.7424
+-6.19457 -13.6507 -29.8998
+-6.20547 -13.9823 -28.9992
+-6.56648 -14.8268 -28.9209
+-7.16823 -15.3557 -28.3393
+-6.90997 -15.6028 -27.4893
+-7.34242 -15.8744 -26.5528
+-7.03234 -16.7688 -26.748
+-7.2547 -17.6794 -27.2276
+-6.29257 -17.5782 -27.5554
+-6.48471 -16.6313 -27.9161
+-5.53339 -16.3038 -28.063
+-5.67459 -15.4596 -27.6032
+-5.99193 -14.4656 -27.8063
+-4.99545 -14.7378 -27.9567
+-4.7748 -15.6384 -28.2976
+-4.29305 -16.3411 -27.7602
+-3.86194 -15.4139 -28.017
+-2.98677 -15.3318 -27.5615
+-2.22672 -15.8911 -28.0164
+-1.41694 -15.6822 -28.5575
+-0.646638 -16.074 -29.0383
+-0.397092 -15.8012 -28.1403
+-0.5841 -16.6033 -27.5392
+-0.879644 -16.6255 -26.568
+-0.521249 -15.7135 -26.4626
+-1.23132 -14.9612 -26.6012
+-0.518984 -14.251 -26.663
+-0.523716 -13.9367 -27.6378
+-0.20481 -13.1461 -28.1314
+-0.861486 -12.9982 -28.9072
+-0.412185 -13.473 -29.6124
+-0.182832 -14.2224 -28.9765
+0.426702 -14.8163 -28.403
+1.3129 -15.3276 -28.6253
+1.66404 -16.1157 -28.1114
+1.62657 -15.7972 -27.1697
+0.903471 -15.7164 -26.5476
+0.765417 -16.6175 -26.3567
+0.880303 -17.5441 -26.0889
+1.89707 -17.5321 -26.061
+2.32855 -18.1382 -25.3644
+1.45077 -18.5868 -25.6523
+1.0479 -19.2023 -25.0304
+1.32267 -19.4127 -24.0621
+2.09783 -19.0854 -24.5272
+2.57571 -19.7754 -23.9653
+3.0414 -20.184 -23.1783
+2.33611 -20.5202 -22.5592
+2.83801 -20.5078 -21.701
+3.00188 -20.8071 -20.8034
+3.71325 -21.1516 -21.3781
+3.91205 -21.208 -20.3714
+4.54606 -21.7196 -20.9169
+4.77602 -20.7193 -21.0606
+4.80299 -19.8728 -21.5498
+4.51762 -20.7307 -22.0979
+4.57297 -19.8866 -22.6433
+5.54137 -19.9835 -22.4729
+5.42792 -19.2747 -23.1832
+5.44166 -19.711 -24.0137
+4.91236 -20.5227 -24.2816
+5.63499 -21.0103 -24.6572
+6.56576 -21.3033 -25.0408
+7.16424 -21.4814 -25.8898
+6.84638 -20.9699 -26.6879
+6.98027 -20.0933 -26.9815
+7.50737 -19.2946 -26.975
+7.80008 -18.3851 -26.8231
+7.32317 -18.3796 -27.6853
+6.44758 -17.899 -27.4004
+6.20873 -17.9321 -28.3638
+6.34007 -18.9078 -28.4514
+6.15166 -19.0913 -29.4464
+5.69385 -18.3789 -29.9725
+5.42198 -18.052 -29.0809
+4.80773 -17.3716 -29.606
+3.85093 -17.6359 -29.4383
+3.54324 -17.0621 -30.1318
+3.28077 -16.5677 -29.3487
+3.85116 -16.9316 -28.5991
+4.22929 -16.2715 -27.9874
+3.61482 -15.7801 -28.4694
+4.49909 -15.339 -28.6497
+4.69167 -15.2001 -27.6657
+5.68084 -15.0186 -27.4773
+5.66918 -15.8308 -26.7545
+6.05802 -16.2043 -27.6143
+6.69515 -16.2358 -28.3664
+7.43249 -15.7988 -27.9296
+8.04751 -16.6166 -28.0173
+8.95022 -16.5478 -27.5222
+8.7509 -16.6875 -26.5519
+8.66684 -16.9689 -25.6088
+7.93004 -16.3289 -25.9131
+7.52233 -16.9981 -25.1919
+8.16789 -17.1179 -24.4055
+8.51726 -18.0034 -24.5759
+7.76046 -18.5311 -24.9653
+8.26286 -19.0237 -25.6967
+9.11909 -19.5521 -25.5662
+9.6674 -19.9614 -24.8341
+9.36758 -19.5603 -24.0111
+9.71097 -18.8484 -23.4191
+9.91658 -18.4162 -22.5345
+10.7579 -18.5296 -22.0161
+10.7664 -19.3471 -21.4758
+11.5279 -19.9044 -21.3187
+11.8915 -20.1794 -22.2222
+12.6973 -19.7468 -21.9194
+12.7852 -20.3757 -22.7263
+13.3292 -20.632 -23.5514
+13.4752 -21.5047 -23.9737
+13.1537 -21.6533 -24.8679
+13.3275 -21.0276 -25.6407
+12.8764 -20.2171 -26.0973
+13.0388 -19.5873 -26.9026
+13.6184 -19.0849 -26.2738
+13.5587 -18.1361 -26.0939
+13.835 -18.3849 -25.1519
+13.1161 -18.4425 -24.3643
+12.4486 -18.4747 -23.7068
+12.7966 -19.3866 -23.5037
+12.8579 -18.8749 -22.6204
+13.0134 -17.9925 -22.2419
+12.588 -17.5563 -21.4621
+11.7095 -18.0384 -21.5748
+10.9247 -17.6441 -21.1799
+11.3474 -16.9299 -20.6619
+11.2398 -17.1269 -19.6472
+11.0711 -17.6729 -18.8322
+10.5879 -18.5693 -18.9895
+11.6483 -18.645 -18.9701
+11.9896 -19.5261 -19.4061
+12.1777 -20.4823 -19.2152
+12.7425 -21.1859 -19.5812
+13.534 -21.3841 -18.9716
+13.5533 -20.3777 -18.7243
+13.6597 -19.3756 -18.4117
+14.5079 -19.6058 -17.8605
+14.3696 -18.6726 -18.1917
+13.8902 -18.6813 -17.2889
+14.2964 -19.4534 -16.844
+13.8836 -18.8588 -16.1062
+14.1219 -17.9965 -15.7398
+15.021 -17.9166 -15.3536
+15.8157 -18.4727 -15.2823
+15.3523 -19.2932 -15.6161
+15.5973 -20.1148 -16.0267
+14.7908 -20.0871 -15.4163
+14.4999 -20.6217 -16.1994
+14.4935 -20.8031 -17.171
+13.7367 -21.211 -16.6155
+13.3535 -21.9859 -17.0621
+13.9134 -22.3007 -17.8359
+13.1086 -22.4337 -18.3733
+12.7485 -23.0859 -18.995
+13.7114 -23.0087 -19.1073
+14.4331 -23.0951 -19.7443
+14.6442 -23.1021 -20.731
+13.6472 -23.4078 -20.7863
+12.9265 -24.0757 -20.7849
+12.9137 -24.6385 -20.0039
+13.4248 -24.9077 -20.8176
+13.1772 -25.4239 -21.6317
+12.5213 -25.3094 -22.3177
+12.7114 -24.4921 -22.8817
+11.7947 -24.1747 -22.8288
+11.3222 -24.1469 -23.7954
+10.3858 -24.0424 -23.414
+10.4226 -24.9802 -23.0995
+9.72927 -24.8652 -22.3063
+9.83954 -23.9071 -22.0072
+9.56914 -24.0692 -21.0482
+9.90157 -24.4061 -20.2121
+9.14565 -24.6332 -19.5284
+9.65273 -23.9595 -18.9872
+10.518 -23.766 -18.4006
+10.6395 -22.7973 -18.0399
+10.8227 -21.9991 -17.4574
+11.5774 -21.5418 -17.0673
+11.0193 -21.6557 -16.294
+11.1189 -20.7757 -16.7343
+11.2056 -20.0747 -17.4413
+10.4645 -20.3758 -18.0466
+10.4713 -21.0458 -18.7275
+10.0723 -21.9686 -18.6107
+9.25549 -22.4879 -18.8545
+9.07569 -23.2173 -19.5635
+8.47135 -23.1156 -20.3332
+7.92134 -22.4266 -19.7771
+6.97099 -22.9323 -19.8422
+7.36124 -23.2402 -20.6742
+7.05892 -24.1907 -20.9196
+6.97074 -24.9608 -21.6174
+7.50667 -25.4617 -20.9658
+8.03961 -25.5878 -21.7907
+8.83553 -25.928 -21.222
+8.18798 -26.6192 -21.545
+7.44354 -26.6049 -20.9258
+7.16997 -26.9468 -20.0951
+8.03407 -27.2859 -20.412
+8.28212 -27.549 -19.4903
+7.75917 -27.0846 -18.7993
+7.23471 -26.228 -18.5828
+8.09615 -25.8278 -18.1313
+8.0119 -26.7454 -17.6509
+7.66004 -26.4889 -16.7077
+7.0012 -25.8358 -16.1749
+6.07736 -26.1412 -16.531
+5.19126 -25.9822 -16.9332
+5.30001 -25.4225 -17.6665
+4.99487 -24.542 -17.4581
+4.84378 -24.6103 -16.4763
+4.03099 -24.9792 -16.1006
+3.68288 -24.069 -16.0953
+4.5959 -23.605 -16.2331
+3.86345 -23.0581 -15.7277
+3.66842 -22.1019 -15.6366
+4.44255 -22.2054 -14.9581
+4.21291 -21.2708 -15.1999
+4.76323 -20.4773 -14.9393
+5.66103 -20.1248 -15.0223
+5.739 -19.9744 -16.018
+5.16279 -20.0965 -16.8303
+4.89575 -20.3109 -17.7972
+4.17046 -20.9811 -17.9269
+4.51684 -21.9014 -17.8269
+5.23199 -22.7013 -17.8388
+6.06518 -22.4194 -18.3384
+6.46958 -22.5766 -17.4627
+6.55573 -22.7228 -16.4735
+7.50401 -22.9115 -16.4373
+7.44964 -23.6301 -15.7202
+6.72281 -24.3062 -16.0531
+7.11046 -24.5414 -16.8984
+8 -24.4518 -17.2486
+8.1661 -24.7277 -16.2794
+8.80678 -25.0491 -15.5228
+9.75171 -25.0546 -15.3218
+10.6403 -24.6051 -15.2272
+10.8032 -23.6272 -15.245
+11.3153 -24.1974 -14.6185
+12.0515 -24.2957 -13.9372
+12.7912 -24.9006 -13.7944
+13.701 -25.3309 -13.8457
+14.1857 -24.4994 -14.0153
+14.6343 -23.6486 -14.4012
+15.6386 -23.7889 -14.3368
+16.2817 -24.1007 -14.9781
+17.2261 -23.8973 -15.148
+17.1019 -24.8721 -15.0619
+17.1599 -24.7516 -16.0014
+17.3539 -23.7965 -16.4071
+17.8914 -23.0954 -16.7842
+17.0729 -22.747 -17.2491
+16.9625 -21.8535 -16.8683
+16.4428 -22.6219 -16.403
+15.6334 -22.5211 -17.0605
+15.4402 -22.1734 -18.0255
+16.2596 -22.0516 -18.621
+16.281 -21.4801 -19.4674
+15.272 -21.45 -19.6547
+14.4919 -21.0218 -19.3708
+14.4827 -21.0699 -20.3203
+14.3937 -20.0891 -20.6419
+15.2591 -20.2013 -20.0479
+15.2322 -19.2317 -19.696
+15.3255 -18.4293 -19.1919
+16.3204 -18.4439 -19.1157
+16.4327 -17.9813 -18.2078
+16.7581 -18.8953 -17.873
+17.7688 -19.1172 -17.6779
+17.4339 -18.7452 -16.7992
+17.7999 -17.8916 -17.156
+17.4971 -16.9014 -17.0154
+16.987 -16.7673 -17.8442
+16.0071 -16.9277 -17.8095
+16.3357 -16.042 -18.0832
+15.8522 -15.2491 -17.7307
+15.0268 -15.3902 -17.2562
+14.2734 -14.6977 -17.4562
+13.3763 -15.0437 -17.412
+12.8254 -14.9499 -16.528
+12.139 -14.4217 -17.0652
+11.8915 -14.332 -16.0891
+11.8838 -13.7272 -15.3349
+12.4026 -14.0729 -14.5583
+12.0394 -14.4195 -13.678
+12.9144 -14.8831 -13.807
+13.1419 -14.8408 -12.8802
+13.7817 -14.1203 -12.6378
+14.2988 -14.5272 -13.4366
+15.2095 -14.9256 -13.7233
+16.0709 -14.886 -13.2813
+16.8565 -14.7059 -13.8844
+17.4549 -15.5032 -14.1596
+18.1093 -16.1326 -14.6099
+19.1191 -16.2713 -14.5576
+18.4838 -16.9854 -14.3561
+18.3764 -17.8012 -14.9375
+18.8833 -17.6984 -15.8364
+19.7245 -18.0248 -16.3655
+20.1495 -17.9916 -17.2058
+20.9699 -17.7827 -17.5859
+21.3857 -17.0593 -17.0054
+20.7868 -16.3499 -16.8
+20.6298 -15.3494 -17.1891
+19.8264 -16.0005 -17.3016
+19.2928 -16.1446 -18.1329
+18.6018 -16.7547 -17.8141
+18.6002 -16.3506 -16.9155
+18.1379 -15.6157 -17.4622
+17.7339 -15.6081 -18.4144
+17.1829 -16.2762 -18.8843
+16.297 -16.59 -19.3318
+16.5266 -15.7402 -19.8113
+15.5639 -15.6182 -19.5572
+15.699 -16.3879 -20.1923
+16.5975 -16.8251 -20.46
+16.6926 -17.1292 -21.3322
+17.2365 -16.2922 -21.7437
+17.0608 -16.9711 -22.4366
+16.6029 -17.6605 -22.9884
+15.7083 -17.2031 -22.9868
+15.7606 -16.5044 -22.2943
+14.8901 -16.0169 -22.2864
+14.8155 -15.0747 -22.5815
+15.7039 -15.2188 -22.2098
+15.8292 -14.4334 -21.5628
+16.5984 -14.8143 -21.107
+16.9572 -14.1128 -20.4506
+16.669 -13.1479 -20.4214
+15.8169 -12.8073 -20.0318
+14.8406 -12.6048 -20.2706
+13.8779 -12.827 -20.1218
+13.9749 -12.6475 -21.0685
+13.4412 -12.8735 -21.8637
+13.6789 -13.5508 -22.5351
+12.8481 -13.2971 -23.0953
+12.6076 -12.8744 -23.9928
+13.3394 -13.258 -24.5136
+13.6613 -13.9972 -25.1404
+14.1916 -14.3543 -24.3928
+15.149 -14.325 -24.0012
+15.6066 -13.4368 -23.9599
+14.7152 -13.2297 -24.3327
+14.2023 -12.9686 -25.1885
+15.1557 -12.5179 -25.2881
+15.343 -12.2639 -24.3119
+16.2864 -12.667 -24.5346
+17.0044 -11.9874 -24.2286
+17.5338 -12.4472 -23.4786
+16.6446 -12.5393 -22.9703
+16.5696 -11.6857 -22.4515
+17.3692 -11.9046 -21.9321
+17.8746 -11.0886 -21.707
+18.1737 -10.6253 -20.8764
+18.4803 -10.4366 -19.9717
+18.5569 -10.3192 -18.9542
+18.1234 -9.43081 -18.7172
+19.1582 -9.12823 -18.59
+19.7534 -9.87292 -18.3789
+20.4141 -10.1856 -19.1105
+20.9787 -9.62175 -18.4886
+21.0624 -10.3766 -17.8638
+21.4583 -9.85113 -17.0377
+20.722 -10.338 -16.6207
+20.7459 -9.59063 -15.9855
+20.8548 -8.95527 -15.1671
+19.9242 -8.703 -15.2473
+18.9201 -8.90411 -15.1719
+18.1238 -9.3561 -14.8699
+17.9836 -10.0041 -15.5943
+18.157 -11.0105 -15.6977
+18.6745 -11.5815 -15.1005
+18.6827 -10.9554 -14.3532
+18.5079 -11.6897 -13.6771
+18.159 -12.6452 -13.7128
+19.0323 -12.7534 -13.3496
+18.3701 -13.1307 -12.7089
+19.0798 -13.74 -13.0787
+19.6096 -14.2332 -12.4014
+19.8024 -14.9354 -13.1348
+19.8351 -15.8218 -13.5386
+20.7654 -16.2443 -13.3746
+21.1662 -16.203 -14.338
+22.1071 -15.9597 -14.491
+21.8826 -16.2741 -15.4213
+22.3855 -15.4327 -15.7371
+22.3595 -14.4144 -15.5923
+21.9658 -14.2895 -14.6841
+22.76 -13.8064 -14.3805
+23.7425 -13.9464 -14.7379
+24.3193 -13.9623 -15.5688
+24.8131 -13.1584 -15.2952
+25.6912 -13.5739 -15.4855
+25.6251 -14.4952 -15.2866
+26.3669 -15.1185 -15.078
+26.7458 -15.381 -14.1844
+27.7658 -15.4354 -14.3337
+27.8699 -14.6975 -15.0492
+28.7781 -15.208 -15.1462
+29.6164 -14.7923 -14.6655
+29.9572 -14.4356 -13.7453
+29.8541 -14.6583 -12.8038
+30.2491 -14.4595 -11.8887
+31.1175 -14.1393 -11.4102
+30.4487 -13.5883 -11.0262
+29.7189 -13.1534 -11.6149
+29.3205 -13.0365 -10.7325
+28.4554 -12.6286 -10.6393
+28.2075 -11.8614 -10.0456
+28.6695 -11.3561 -10.8066
+28.5348 -10.7129 -11.5541
+27.5467 -10.5919 -11.8849
+26.7544 -11.2417 -11.7694
+27.0448 -12.0857 -12.0829
+26.6559 -12.3735 -11.2575
+26.3066 -12.9885 -11.8995
+26.412 -13.0773 -12.8836
+25.7073 -13.7919 -12.8896
+25.8508 -13.8904 -13.9273
+25.772 -14.827 -13.6461
+25.2992 -15.6238 -13.279
+24.5212 -15.0165 -13.2247
+24.2121 -14.7299 -12.344
+24.9053 -15.254 -11.9832
+25.4244 -16.0721 -12.063
+25.6387 -17.0187 -12.1493
+24.6835 -17.0759 -12.4246
+23.775 -16.8107 -12.6708
+23.2459 -16.5785 -11.8284
+22.2539 -17.0322 -11.6962
+21.9275 -17.2061 -10.7655
+22.3346 -18.0584 -10.8395
+22.1421 -18.7998 -11.4673
+21.9957 -19.4888 -10.756
+22.2083 -20.3753 -10.3815
+23.2334 -20.2544 -10.1242
+24.1489 -19.9433 -9.93108
+23.7081 -19.8917 -9.07961
+24.1058 -20.3655 -8.27278
+24.3172 -21.2307 -7.89243
+24.1376 -20.516 -7.34119
+23.3707 -19.9827 -7.00076
+24.2276 -19.7348 -6.54321
+24.8567 -19.2319 -6.00323
+25.4487 -18.4073 -6.18263
+25.9119 -19.0874 -5.59996
+25.9277 -19.5393 -6.49261
+25.5308 -20.1325 -5.8481
+25.525 -21.1127 -5.91317
+25.3167 -21.9881 -5.48851
+26.2641 -21.8018 -5.05621
+26.4218 -21.5999 -4.06819
+26.2218 -22.4812 -3.68343
+26.1272 -23.3827 -3.95668
+26.3054 -23.9281 -3.0688
+27.2155 -24.1161 -3.50476
+26.8765 -24.9242 -3.78457
+27.5058 -25.6642 -4.2416
+27.1023 -26.527 -4.53879
+27.0619 -25.9043 -5.33441
+26.6871 -25.9842 -6.24525
+26.4865 -25.0119 -6.56307
+27.4421 -24.8808 -6.73176
+26.9309 -23.9615 -6.61002
+27.3001 -24.0946 -7.57501
+28.2015 -24.2194 -7.83352
+27.7642 -23.8312 -8.64523
+28.446 -24.0256 -9.39189
+27.5266 -23.8397 -9.74
+27.8445 -22.9525 -10.1512
+28.2282 -22.1332 -9.72605
+28.1529 -21.1953 -10.1234
+29.1037 -20.7761 -10.1733
+28.4622 -20.0265 -10.1448
+29.1432 -19.2432 -10.0976
+29.8741 -18.9771 -10.5654
+30.1066 -19.335 -9.69267
+29.9655 -19.0886 -8.71425
+30.1273 -18.0954 -8.94987
+30.0183 -17.9663 -9.97725
+29.6359 -17.1072 -9.59605
+29.0034 -16.8667 -8.85634
+28.2419 -16.9473 -8.19144
+27.8492 -17.1085 -9.0712
+27.5697 -16.108 -9.40298
+26.9925 -15.3652 -9.78794
+26.2743 -15.6365 -9.15202
+26.5107 -15.5092 -8.19827
+26.8303 -14.7332 -7.8175
+27.4228 -14.0303 -8.14973
+28.3852 -14.0894 -8.02409
+28.9399 -13.4063 -8.40876
+29.7726 -13.8112 -8.89635
+30.3518 -13.6393 -8.07892
+31.3164 -13.7703 -7.91874
+31.4135 -12.8393 -7.64175
+31.0896 -12.0376 -8.23817
+30.6434 -11.0984 -8.18926
+29.9714 -10.4298 -8.54088
+29.2192 -11.0595 -8.82531
+28.6715 -11.8448 -8.89409
+28.1345 -12.4835 -8.40983
+27.1843 -12.5256 -8.74668
+26.3993 -11.8476 -8.85674
+26.9703 -11.0674 -8.87206
+26.6709 -10.3475 -8.30911
+26.9508 -9.37132 -8.08685
+26.7855 -9.03903 -9.01802
+25.8574 -8.97002 -9.57433
+25.5988 -9.82136 -9.25645
+24.7619 -10.1389 -9.67106
+23.8746 -10.4125 -9.51316
+24.2453 -11.3345 -9.30173
+25.2589 -11.2778 -9.45013
+25.5803 -10.9257 -8.58106
+25.4702 -10.0831 -8.14629
+25.9919 -9.55072 -7.54039
+25.6746 -8.64846 -7.40779
+25.4433 -8.33951 -6.53427
+24.4989 -8.50595 -6.65493
+24.5153 -8.46665 -5.6737
+24.5739 -9.48034 -5.60575
+24.6297 -9.99906 -4.73285
+24.8183 -10.7433 -5.35782
+23.9116 -10.8019 -5.00426
+24.1648 -11.5341 -5.60111
+23.613 -12.3761 -5.33393
+22.6821 -12.3583 -5.29033
+22.8572 -12.652 -6.18695
+23.2679 -13.5634 -6.02049
+24.2666 -13.5665 -6.01619
+24.754 -14.2365 -5.55548
+24.7638 -14.1989 -4.50225
+25.0228 -15.1215 -4.21487
+24.1141 -15.333 -4.31866
+23.8079 -15.7368 -3.45891
+23.4561 -16.6754 -3.2757
+23.4303 -16.9574 -2.33522
+23.0118 -16.0143 -2.13419
+23.2693 -15.0072 -2.06275
+24.2651 -14.9787 -1.99105
+24.2919 -15.5924 -1.17515
+24.3155 -14.841 -0.4582359
+25.1283 -15.3465 -0.5036229
+25.2348 -14.4185 -0.06488168
+24.5136 -13.818 0.3570951
+25.2275 -13.1663 0.1421131
+24.9876 -13.2893 1.18684
+25.4414 -12.5948 1.77893
+25.4408 -13.2653 2.54706
+24.9729 -14.048 2.83926
+24.8891 -14.9278 3.4192
+25.372 -14.6094 4.14297
+26.0984 -15.3206 4.3032
+27.0125 -15.1236 4.00847
+27.62 -14.3943 4.23565
+28.6482 -14.582 4.03427
+29.0918 -15.1636 4.73254
+29.8524 -14.8481 5.19703
+30.1908 -15.7599 5.5041
+30.9153 -16.2851 5.18205
+30.3733 -16.7639 4.38364
+30.5791 -16.5679 3.50156
+29.5863 -16.8946 3.44013
+29.2717 -17.7348 3.96828
+28.8955 -17.6863 3.01384
+27.979 -17.3281 2.97434
+27.9624 -16.3674 2.77893
+28.3396 -15.4744 3.11057
+28.2026 -15.4439 2.1149
+27.2821 -15.1192 1.80134
+27.0399 -15.8175 1.08392
+26.6147 -16.5257 1.63729
+25.6737 -16.2316 1.37181
+25.6096 -16.7365 0.4545581
+26.5481 -17.1039 0.4675381
+26.2607 -16.4009 -0.1796899
+27.165 -16.0062 -0.2613949
+26.9674 -14.9999 -0.2270869
+27.4847 -14.2596 0.1759851
+27.0817 -13.3405 0.1084141
+26.8075 -12.5783 -0.4656639
+26.9694 -12.4699 -1.44124
+27.6937 -13.1783 -1.31868
+28.2051 -12.5574 -0.7864819
+29.1858 -12.3897 -0.8843409
+30.028 -11.8729 -0.6570859
+29.8736 -11.1222 -1.23453
+29.7886 -10.0779 -1.44002
+29.5036 -9.27114 -1.97535
+29.2124 -8.98143 -2.90251
+29.2178 -8.91597 -3.89201
+28.6765 -8.61849 -4.70993
+29.5922 -8.21236 -4.77392
+29.0873 -7.48039 -4.33529
+28.2973 -7.04118 -4.72241
+28.8451 -7.25546 -5.55126
+29.6016 -6.68431 -5.89783
+29.146 -5.79975 -6.06689
+28.4489 -6.38146 -6.47533
+27.7792 -6.5174 -7.19291
+28.4144 -7.30587 -7.19045
+27.5922 -7.66761 -6.82407
+28.0313 -8.41514 -7.26508
+27.6739 -8.3423 -8.24136
+27.7314 -8.66511 -9.23767
+27.272 -7.95581 -9.75733
+27.4269 -7.34492 -10.6114
+28.0425 -7.82302 -11.1699
+28.9176 -7.39337 -11.0902
+29.1076 -8.37356 -11.1194
+28.8413 -9.14644 -11.7364
+28.1088 -8.74703 -12.2712
+27.91 -7.75473 -12.6816
+28.5952 -7.8109 -13.4033
+28.448 -8.34285 -14.2751
+27.4154 -8.17272 -14.4191
+27.2249 -9.13546 -14.517
+26.403 -9.14191 -15.0485
+26.2999 -8.92309 -15.9905
+26.335 -7.95828 -16.1425
+26.1207 -7.8743 -17.2313
+25.7488 -6.93528 -17.2774
+25.0781 -7.511 -17.7133
+24.3484 -8.1919 -17.3384
+23.4965 -7.92555 -16.9085
+24.0928 -7.13886 -17.3378
+23.7939 -6.32786 -16.8285
+24.083 -6.34021 -17.7856
+25.0421 -6.4905 -18.0405
+25.6939 -6.59736 -18.812
+25.1952 -6.86743 -19.6415
+24.2383 -7.07014 -19.4521
+24.0692 -6.04984 -19.5603
+23.9515 -5.07739 -19.2637
+22.9602 -5.11552 -19.1409
+22.2975 -5.47456 -19.8141
+23.1025 -5.51085 -20.3748
+22.9175 -4.91009 -21.1221
+22.9449 -4.10277 -21.6805
+22.2681 -4.0511 -20.918
+22.7767 -3.23688 -21.1903
+23.669 -2.91219 -20.9701
+24.4482 -3.2365 -20.4153
+24.4829 -2.2752 -20.5939
+23.8886 -1.45106 -20.5562
+24.1081 -0.6395911 -21.1532
+23.9008 -0.8702291 -22.0768
+23.2073 -0.3687301 -22.5884
+23.443 -0.8388981 -23.4634
+22.6238 -1.49794 -23.4334
+22.933 -2.03632 -24.2382
+22.6485 -1.68762 -25.1797
+22.008 -1.04586 -25.5934
+22.795 -1.24581 -26.1267
+23.0418 -2.00049 -26.722
+23.7473 -2.7081 -26.854
+22.9626 -2.87833 -26.2518
+22.9877 -3.47937 -27.0963
+22.297 -2.88416 -27.3404
+21.6239 -2.39729 -28.0017
+20.6922 -2.69721 -27.8727
+20.1675 -3.16173 -27.1671
+20.3995 -4.12942 -26.9853
+20.803 -4.90785 -27.4347
+21.3814 -4.09716 -27.5813
+20.6819 -4.34135 -28.2495
+21.3811 -3.76857 -28.7777
+21.5944 -4.34063 -29.5771
+22.4986 -3.91032 -29.2903
+23.1906 -4.06023 -30.0174
+23.2526 -3.44768 -30.8714
+24.1149 -3.76465 -30.5387
+24.3467 -4.31427 -29.707
+24.4271 -4.98895 -28.9177
+24.9098 -5.04433 -28.0529
+24.4678 -5.82152 -27.7627
+23.6286 -5.67018 -27.2847
+23.9147 -4.7631 -26.974
+24.3337 -5.0812 -26.1947
+23.8891 -5.95304 -26.1686
+24.1818 -5.8353 -25.1993
+23.2958 -6.32126 -25.3782
+22.5389 -6.18362 -24.7652
+21.7665 -6.44275 -25.3246
+21.3527 -7.18337 -25.7122
+21.3011 -7.12181 -24.7215
+21.6829 -8.11301 -24.5958
+21.506 -8.92243 -25.2364
+22.311 -9.47341 -24.8775
+23.1141 -9.23952 -24.2518
+23.0592 -10.0614 -23.705
+23.3695 -9.70369 -22.8657
+23.8143 -9.34573 -22.0497
+24.5104 -8.88213 -21.4898
+25.2844 -9.42388 -21.0378
+25.9549 -10.0951 -21.3951
+25.2651 -10.7405 -21.0782
+25.218 -10.3991 -20.1564
+25.1875 -10.52 -19.1277
+24.4831 -10.1837 -18.5632
+23.6585 -9.94424 -19.1079
+23.9279 -11.0407 -19.0471
+23.801 -12.0576 -18.9863
+23.2658 -11.9927 -18.1027
+23.3301 -12.66 -17.3392
+23.1631 -12.8009 -16.3543
+22.6089 -12.2585 -15.8098
+23.4545 -11.9771 -15.401
+22.9035 -11.1408 -15.4111
+22.5068 -10.2177 -15.1901
+22.1747 -10.3074 -14.2348
+22.4918 -10.9561 -13.5444
+23.3821 -10.5623 -13.8674
+23.6899 -10.0789 -13.0289
+23.0102 -9.36278 -13.0826
+23.6127 -8.56719 -13.0767
+24.2071 -8.56377 -13.9308
+24.4373 -7.63862 -13.5312
+23.7957 -6.94776 -13.1547
+23.4686 -7.13899 -12.2649
+24.0515 -7.14962 -11.5233
+24.998 -6.93596 -11.1256
+24.7305 -6.24683 -10.5274
+25.0617 -6.00335 -9.65958
+24.8798 -5.13277 -10.0131
+24.5143 -4.39761 -9.4855
+25.1906 -3.71167 -9.43391
+25.5715 -3.50581 -8.52262
+24.9664 -3.22337 -7.7535
+23.9685 -2.94577 -8.07086
+23.2112 -2.43713 -8.50812
+23.6072 -2.41526 -9.44602
+23.0318 -2.94852 -10.0903
+22.1724 -2.68754 -10.5891
+21.5999 -3.26886 -9.89423
+22.1773 -3.71842 -9.24386
+21.2796 -3.81116 -9.00937
+21.6658 -4.66434 -9.31453
+21.7366 -4.84746 -10.3012
+22.1331 -5.34065 -11.1067
+22.7984 -5.94377 -10.6071
+21.8743 -6.48522 -10.7245
+20.9282 -6.62032 -10.4901
+20.6903 -5.64561 -10.658
+19.8887 -5.06712 -10.8806
+18.9299 -4.69647 -10.7343
+18.24 -4.35726 -11.3819
+17.3704 -4.24718 -11.9378
+17.5078 -5.2544 -12.2504
+17.2315 -4.76414 -13.1319
+16.45 -5.0031 -12.5275
+16.1456 -5.6531 -11.8936
+16.8412 -6.34056 -11.6283
+16.3256 -6.65243 -12.4293
+15.9479 -7.62838 -12.5761
+15.7642 -8.6454 -12.3845
+15.6314 -9.31242 -13.1746
+15.8787 -9.68678 -14.1503
+15.3911 -9.87962 -14.9556
+15.4817 -10.8665 -14.9273
+14.6932 -10.9133 -14.288
+14.4121 -11.4217 -15.1486
+13.3612 -11.4759 -15.2627
+13.6665 -10.9029 -15.9729
+13.7351 -11.7325 -16.5088
+13.6203 -12.0177 -17.4088
+13.7225 -11.2005 -18.0494
+12.9117 -10.6113 -18.2036
+12.7872 -9.58873 -18.3381
+12.4506 -9.61841 -19.3102
+12.1935 -8.83752 -18.8742
+12.0301 -7.95536 -19.146
+12.2501 -7.07887 -18.6758
+12.262 -7.04087 -19.6751
+11.7328 -6.58379 -20.4034
+12.0481 -5.74197 -19.9493
+12.2735 -5.4315 -19.0392
+11.9987 -4.53446 -19.4693
+11.3457 -4.38061 -18.6519
+11.8107 -4.77775 -17.795
+10.9612 -5.24133 -17.4803
+10.1627 -5.48166 -17.1198
+9.50442 -6.00443 -17.7127
+9.03355 -6.93538 -17.6181
+8.47608 -7.697 -17.2508
+7.67282 -8.08832 -17.6588
+7.44367 -7.09349 -17.3526
+8.01131 -6.32168 -17.6734
+8.52899 -5.5792 -17.267
+9.20995 -4.95803 -17.0931
+9.48674 -4.01858 -17.3245
+9.55304 -4.1095 -18.3254
+9.99739 -5.01114 -18.2295
+8.96042 -4.93942 -18.4538
+8.01403 -4.7303 -18.5468
+7.56015 -5.62165 -18.4576
+7.24437 -6.62524 -18.6136
+8.04479 -6.77965 -19.0786
+8.81672 -6.51161 -19.6569
+9.4934 -7.15882 -19.9466
+9.49722 -6.4162 -20.6217
+10.482 -6.34952 -20.7354
+10.5443 -6.49223 -21.6892
+11.016 -6.27755 -22.5506
+10.8751 -5.46711 -21.9762
+9.99186 -5.52541 -21.5626
+10.3452 -5.07223 -20.7521
+10.6289 -4.11602 -20.6422
+10.3005 -3.1362 -20.8727
+9.82521 -2.21148 -20.5974
+10.0545 -1.65698 -19.8201
+10.3975 -1.0747 -20.6657
+11.2907 -1.26083 -21.0455
+11.325 -0.2244581 -21.0545
+10.6341 -0.07507357 -21.7519
+10.5731 0.7147269 -22.3464
+10.1955 1.63406 -22.4924
+9.31664 1.82363 -22.9941
+8.59644 1.67396 -22.371
+8.42596 0.7606259 -21.9983
+7.52603 1.1453 -22.1477
+6.92562 1.22957 -21.2627
+6.41477 2.10737 -21.2184
+6.86134 2.85107 -21.7961
+7.28881 3.1331 -20.8803
+7.37179 3.98136 -20.404
+6.31289 4.05668 -20.3108
+5.89776 4.80545 -20.7904
+5.21834 5.55332 -20.7582
+4.65297 6.37954 -20.6603
+5.14382 6.33289 -19.7342
+5.98502 5.91106 -19.5562
+6.66824 5.35106 -19.1563
+7.06497 6.13764 -18.5724
+7.85859 6.0814 -19.1565
+8.48983 6.74274 -18.9131
+7.65529 7.25829 -19.2669
+7.80653 7.51277 -20.2417
+8.00427 7.82985 -21.2068
+7.70096 8.5143 -20.542
+7.19068 8.47607 -21.4967
+7.04273 8.28577 -22.4537
+6.15359 8.81529 -22.4977
+5.5929 8.32764 -23.0797
+5.62245 7.75697 -22.2752
+6.14285 7.00673 -22.7847
+7.03578 7.02336 -23.234
+7.86423 7.48317 -22.8901
+7.75152 6.63716 -22.3115
+8.05986 5.69336 -22.3032
+7.36735 5.06608 -22.1438
+7.33332 4.85268 -21.1945
+7.92832 5.01153 -20.3663
+8.84178 4.76354 -20.0779
+9.66964 4.10414 -20.0355
+9.23841 3.30958 -20.3508
+8.55118 3.46217 -19.6435
+8.16859 2.95729 -18.8266
+8.28443 3.73358 -18.1617
+7.72847 4.43352 -18.6847
+6.86605 4.03555 -18.6272
+5.98179 4.4017 -19.0393
+5.79104 3.5794 -18.5487
+5.20034 3.19953 -19.2469
+5.75031 2.43427 -18.9192
+6.13293 1.51064 -18.9893
+6.89337 1.67871 -18.2604
+6.10459 1.6592 -17.6439
+6.60068 2.5141 -17.483
+7.2963 3.02293 -16.9893
+8.16406 3.58456 -16.8183
+9.03713 3.16021 -16.8086
+9.36287 2.90658 -17.786
+10.2118 3.14535 -18.3026
+9.88897 2.20258 -18.4462
+10.164 1.66142 -17.5827
+10.3647 0.8572589 -17.129
+10.8485 0.8053339 -16.2602
+10.6953 0.09793843 -15.533
+10.8198 -0.4609421 -14.7428
+10.5965 0.1160509 -13.9522
+9.97413 -0.6918581 -13.8536
+9.87839 -1.63599 -13.4201
+10.3604 -1.01524 -12.7865
+11.1228 -1.66551 -12.9097
+11.301 -1.60182 -13.8775
+10.959 -2.54205 -13.4749
+11.8379 -2.22479 -13.0609
+11.8804 -3.20742 -13.2836
+12.017 -4.13863 -13.4871
+11.9104 -4.90725 -12.8167
+11.2375 -5.03063 -12.0366
+10.2937 -4.72942 -12.0508
+10.1573 -3.8177 -12.466
+9.62895 -4.09744 -13.3503
+9.79538 -3.06516 -13.4277
+8.85948 -2.88144 -13.6784
+8.9726 -2.59459 -12.7654
+9.56825 -2.32879 -12.0685
+9.23309 -1.36981 -12.2141
+9.38739 -0.4854961 -12.683
+9.94702 0.2010429 -12.3254
+10.5931 -0.3056611 -11.7696
+9.78948 0.09355763 -11.1951
+9.46303 -0.7424631 -10.7585
+9.05064 -0.6607541 -9.82044
+8.50449 -1.14242 -9.12951
+8.5666 -0.2787611 -8.69017
+7.89329 0.003295644 -9.41022
+6.91513 -0.1145211 -9.015
+6.81546 0.8590939 -8.67759
+5.87906 1.16888 -8.75542
+6.2072 1.95886 -9.32202
+6.49973 1.19249 -9.9543
+7.49017 1.24979 -10.1659
+6.89959 1.94796 -10.4711
+7.79777 2.22223 -10.2804
+8.68615 2.45645 -10.725
+9.47579 2.20275 -10.1316
+9.83387 1.64795 -10.8591
+10.0851 2.14067 -11.6578
+9.50146 2.79333 -11.3138
+9.73341 3.30789 -10.4883
+10.2841 4.08135 -10.3173
+10.3372 4.97512 -9.78593
+9.90736 5.66984 -9.13842
+9.83882 5.09525 -8.33365
+10.0946 5.46661 -7.3992
+9.93432 5.94395 -6.65128
+9.77468 6.85792 -6.73418
+9.05572 7.44037 -6.2922
+9.32653 6.60633 -5.7393
+8.48522 6.20226 -5.31691
+8.4886 6.82018 -4.57805
+7.52001 7.18109 -4.52401
+8.10647 8.00717 -4.49655
+8.72849 7.56266 -3.78362
+8.83162 7.11922 -2.87794
+8.34464 6.85635 -2.09231
+7.7579 6.31548 -2.71094
+7.53322 6.52506 -3.66986
+7.401 5.82748 -4.40383
+6.5936 5.2724 -4.66561
+5.62903 5.24096 -5.00128
+5.47037 4.33775 -5.35722
+5.98897 4.65013 -6.12624
+6.90924 4.79328 -6.17737
+7.24518 5.21535 -7.04011
+7.3467 5.88806 -6.26036
+6.49887 5.89597 -5.58445
+6.18269 6.82291 -5.87155
+6.51653 6.79875 -4.9112
+6.21958 6.38531 -4.04361
+5.65576 5.92132 -3.35793
+5.53134 5.78538 -2.39646
+5.51024 5.61904 -1.36
+5.46614 4.80102 -0.7213519
+5.56342 3.93131 -1.15315
+4.70782 3.7055 -0.5775349
+4.33792 2.9052 -1.04865
+3.6488 2.52788 -1.68681
+3.68136 3.35723 -2.28831
+4.60868 3.68362 -2.33755
+5.06392 4.54969 -2.43437
+5.97411 4.64432 -1.96572
+6.06719 4.45123 -2.90445
+6.56735 4.18022 -3.69939
+6.84709 3.2455 -3.96244
+6.25249 2.5304 -4.32443
+5.31744 2.59809 -4.01747
+4.78245 3.09539 -4.69412
+4.55181 3.69195 -3.85406
+4.02666 4.46481 -3.70274
+3.7753 3.97193 -4.53829
+3.37788 4.48498 -5.32139
+3.1311 4.87054 -4.50788
+2.40982 5.52329 -4.7372
+1.50144 5.96389 -4.57547
+0.837381 6.6891 -4.55061
+1.51242 7.32835 -4.95681
+1.2318 7.999 -5.61939
+2.07132 8.47597 -5.45056
+2.47597 9.43573 -5.56545
+3.38593 9.4684 -5.94584
+3.87668 8.98797 -5.14664
+4.13225 8.10067 -5.54933
+3.29302 7.48544 -5.5404
+3.62712 7.52176 -4.59314
+4.2146 6.65108 -4.54692
+3.25048 6.33987 -4.82225
+3.4754 6.20846 -5.80683
+4.15081 6.14521 -6.59411
+3.51736 6.85999 -6.77384
+4.01158 6.38712 -7.57539
+4.37193 7.21808 -7.16225
+4.07008 8.19652 -6.89853
+3.94993 8.14279 -7.86726
+4.57933 8.88804 -7.59343
+5.51764 8.86156 -7.81649
+5.46095 7.87323 -7.52744
+5.91795 7.21021 -6.8563
+5.79676 6.67497 -7.60364
+6.60302 6.01738 -7.65126
+6.19507 5.90688 -8.51202
+7.10244 5.72468 -8.87306
+6.57141 4.88027 -8.78316
+6.61732 4.09953 -9.38685
+6.43111 3.081 -9.42489
+5.7962 3 -10.1734
+6.07496 2.43715 -10.9647
+6.51881 3.11565 -11.5973
+6.57032 3.32356 -12.5609
+7.40635 3.93042 -12.6804
+8.03668 4.03978 -11.9065
+8.1488 4.75297 -11.1913
+9.01927 5.26095 -10.968
+9.71649 5.64889 -11.6276
+9.38183 6.33485 -12.2327
+8.37078 6.44808 -12.0336
+7.5173 6.87425 -12.2551
+6.80898 6.14408 -12.5147
+7.68864 5.93115 -13.0475
+8.28557 5.68163 -13.8402
+7.92576 6.23859 -14.6798
+6.93604 6.33008 -14.4608
+7.09488 6.97884 -15.1803
+7.06823 7.86142 -15.5981
+6.24323 7.7537 -16.0811
+5.29963 8.0926 -16.2411
+4.70596 7.25744 -16.1074
+4.15664 7.02818 -15.3362
+3.57626 6.32076 -14.9794
+3.32979 5.5224 -15.5376
+3.77655 4.59611 -15.4729
+3.87301 4.86542 -16.4355
+3.50081 4.19756 -17.0427
+2.70577 3.98901 -16.5369
+2.8612 3.34163 -15.7529
+3.19529 2.97499 -16.599
+2.66609 2.21388 -16.9912
+3.54406 1.95874 -17.3922
+3.95682 2.72012 -17.9704
+3.78366 3.62749 -18.2961
+4.0968 4.57844 -18.4011
+3.77522 5.47136 -18.6913
+4.0629 6.00749 -19.5107
+4.25354 7.02058 -19.2838
+3.43751 6.64512 -19.867
+3.00867 6.43205 -20.7848
+2.38617 6.84752 -21.3729
+2.0709 6.4896 -22.3222
+2.53383 6.62209 -23.2045
+2.18977 6.30646 -24.0833
+1.61252 6.60327 -24.8312
+2.65301 6.73655 -24.8664
+3.34414 6.00816 -25.0081
+3.08267 6.05736 -26.0135
+3.50899 5.1363 -26.1347
+3.28069 4.74597 -27.0133
+3.24162 4.88047 -28.0608
+4.1502 4.8764 -27.9491
+4.45513 4.52331 -28.8361
+4.8052 3.8377 -29.3994
+5.70892 4.07492 -29.9118
+4.97103 3.87697 -30.511
+3.98478 3.80747 -30.699
+3.41675 4.5233 -30.3938
+3.12763 4.51863 -29.418
+3.29134 3.55173 -29.8865
+2.83218 3.33207 -30.8075
+2.47378 3.03689 -29.9614
+2.47982 2.80388 -29.0118
+2.30081 2.63418 -28.0162
+1.77025 1.79528 -27.837
+0.880822 1.6327 -27.4569
+0.468344 1.17956 -28.1264
+-0.473379 0.7629199 -28.1304
+-0.817281 0.3713149 -29.0043
+-0.251656 -0.4155941 -28.6204
+0.336359 -1.0061 -27.9357
+0.981935 -1.47798 -28.557
+1.89055 -1.33582 -29.1727
+2.16018 -2.12165 -29.7418
+2.18177 -3.10533 -29.7973
+1.34594 -3.5632 -29.6523
+0.519632 -3.40402 -29.1321
+0.210036 -3.33602 -28.1677
+-0.320677 -4.0814 -28.4856
+0.01516317 -4.62418 -29.252
+0.904583 -5.02677 -29.078
+1.33119 -5.43753 -29.8197
+1.92359 -6.00717 -30.4431
+1.89713 -6.76985 -29.7707
+2.5093 -7.36453 -29.3099
+2.283 -7.99623 -30.01
+3.25254 -7.92979 -30.2839
+3.51203 -8.9136 -30.382
+3.86999 -9.67557 -30.9128
+4.81746 -9.76867 -31.3594
+5.33818 -10.5129 -31.9569
+5.21463 -11.1104 -32.7599
+5.01113 -10.6709 -33.6872
+5.08952 -9.92232 -34.3676
+4.42354 -9.19072 -34.1802
+4.53919 -8.2287 -34.4126
+4.37979 -7.83525 -33.4759
+4.72326 -8.09277 -32.5792
+4.53667 -7.18129 -32.2742
+5.34955 -6.96061 -31.753
+5.51886 -5.92376 -31.7724
+5.39783 -6.22247 -30.9379
+6.35566 -5.92 -30.6892
+6.80085 -6.80366 -30.4697
+7.16652 -6.13492 -29.8468
+7.26347 -6.76673 -29.0221
+7.49331 -6.97518 -28.1247
+7.37385 -7.91778 -27.7451
+7.90949 -8.09481 -26.8869
+7.76338 -7.18915 -27.1929
+8.82503 -7.00363 -27.0507
+9.63547 -6.75775 -26.6117
+10.5011 -6.59575 -26.051
+10.1762 -7.40917 -25.6643
+10.7883 -7.94803 -26.324
+10.8396 -7.61944 -27.2289
+11.5814 -7.44588 -27.869
+11.4657 -8.20921 -28.5149
+11.7499 -8.86654 -29.1529
+11.979 -9.06614 -28.2791
+12.1384 -9.75317 -29.0523
+11.1896 -9.90994 -28.8298
+11.3431 -10.8054 -28.4115
+12.1131 -11.5149 -28.2817
+12.7952 -12.0665 -28.7832
+13.033 -13.0071 -28.9071
+13.0271 -13.6799 -28.2579
+13.8044 -13.8836 -28.8353
+12.9849 -14.4784 -28.8907
+12.2553 -13.8761 -29.2943
+11.3957 -14.2002 -29.7687
+11.0492 -14.4429 -28.8352
+11.0377 -15.3459 -29.2215
+10.3889 -15.0386 -29.9342
+10.017 -14.3301 -29.25
+9.16488 -13.7682 -29.3931
+9.03591 -13.0454 -30.1113
+8.64722 -12.2141 -30.4057
+8.27525 -12.3187 -31.3987
+8.21517 -12.3909 -32.3636
+7.54178 -11.6982 -32.4379
+7.86355 -11.348 -31.5243
+8.21355 -10.5573 -30.9218
+7.47991 -10.5909 -30.2689
+6.60058 -11.0237 -30.4514
+6.81952 -11.2692 -29.5327
+6.09657 -10.8189 -29.0003
+6.12094 -11.647 -28.3699
+6.70404 -12.2366 -27.8746
+7.12831 -12.3254 -26.9666
+7.20566 -11.5409 -26.3733
+6.36072 -11.5111 -26.8736
+5.54071 -12.106 -26.867
+4.78478 -11.862 -27.355
+5.20832 -10.9339 -27.1806
+5.04158 -10.8174 -28.1766
+5.17188 -9.83069 -27.8874
+4.84483 -9.59129 -26.9573
+5.02834 -9.05155 -26.15
+5.27432 -8.0303 -26.071
+5.05258 -7.32274 -26.7556
+4.52852 -7.01088 -27.5214
+4.14285 -6.46836 -28.2113
+4.59063 -5.79881 -28.8525
+4.74921 -4.97668 -28.3892
+4.90164 -4.73063 -27.4656
+5.68624 -5.00372 -26.9419
+6.38839 -4.83949 -27.678
+7.26102 -4.72727 -27.2083
+8.08763 -4.35776 -27.4991
+8.53558 -4.28826 -28.4263
+8.44947 -3.3774 -28.4398
+9.16201 -3.14369 -27.7462
+9.97739 -2.66013 -27.5914
+9.44574 -2.06197 -28.1615
+9.84319 -1.62023 -27.3382
+9.50087 -0.8550741 -27.8355
+9.80294 -0.1625891 -28.4933
+9.38476 0.5225719 -29.0625
+10.1141 0.5461579 -29.6858
+10.5956 1.31519 -29.2146
+10.0214 1.78767 -29.7784
+10.0002 1.29642 -30.6815
+10.0139 1.56712 -31.6304
+10.8484 1.12109 -31.8816
+10.9408 1.59128 -30.9907
+11.2471 0.7206639 -31.0477
+11.8473 0.03473953 -30.5507
+11.3176 0.1451689 -29.695
+11.7833 -0.2547441 -28.9011
+12.3364 0.3334029 -29.4862
+13.3807 0.3132039 -29.8085
+14.0512 -0.4090351 -29.8629
+14.5112 -1.28344 -29.5757
+14.6965 -1.41305 -28.5115
+13.8841 -0.8553391 -28.1293
+14.0767 -0.1549331 -27.5044
+13.6415 -0.9264271 -26.9782
+12.9158 -1.59268 -26.829
+12.9712 -1.57771 -25.8562
+12.971 -0.6946841 -25.3781
+13.624 0.07821713 -25.6714
+14.2629 0.3773859 -24.925
+14.5004 1.09407 -24.2732
+13.9984 1.69374 -24.9613
+13.1313 1.3904 -24.6008
+12.5443 0.9985149 -23.8762
+11.9775 1.07109 -23.1062
+12.1191 2.01265 -23.1514
+11.5126 2.22838 -22.3617
+12.3777 2.29544 -21.8151
+12.656 1.49234 -21.389
+12.0212 1.01422 -20.7757
+11.6526 1.0851 -19.8941
+11.7524 1.35294 -18.9656
+12.6694 0.9086989 -18.6513
+12.4745 0.01534483 -18.188
+13.32 -0.4357571 -18.4767
+13.3612 -1.46712 -18.5708
+13.1586 -2.3857 -19.0798
+13.463 -3.10622 -19.7748
+13.3349 -3.31244 -20.8021
+13.8867 -2.49516 -20.8328
+14.1358 -1.53501 -20.7255
+13.8217 -1.82163 -21.6675
+14.8642 -1.99195 -21.7782
+14.9807 -2.42784 -20.9365
+14.7901 -3.31141 -20.4453
+14.4959 -4.03357 -19.9594
+14.9408 -4.53342 -20.6615
+14.2089 -4.48987 -21.4295
+13.6773 -4.07448 -22.1025
+12.623 -4.09084 -22.0604
+12.3007 -5.02232 -21.8798
+13.2635 -5.10807 -21.6987
+13.8206 -5.56189 -21.064
+14.6592 -5.5568 -21.643
+15.2531 -5.18259 -22.3581
+16.3165 -4.961 -22.3923
+16.8019 -4.07673 -22.5902
+16.8093 -3.37573 -21.8703
+17.424 -2.75211 -21.3873
+17.9847 -2.18889 -20.7834
+18.4649 -1.57189 -20.176
+17.6894 -0.9479571 -20.0145
+16.853 -1.37769 -20.3474
+16.0997 -2.00263 -20.1842
+16.4455 -3.02969 -20.045
+15.5347 -2.81767 -19.6446
+15.8433 -2.2678 -18.8755
+15.6744 -1.84415 -17.9564
+16.5063 -1.43461 -17.5864
+16.269 -2.05528 -16.8256
+16.1718 -2.78498 -16.1242
+16.1267 -3.56592 -16.7523
+15.5378 -3.29951 -17.5547
+14.9829 -3.77185 -18.1466
+14.3896 -4.18561 -18.8649
+13.709 -3.92916 -18.1487
+13.5992 -4.93767 -17.9699
+13.1482 -5.35263 -17.1672
+13.6469 -5.05812 -16.3533
+14.5416 -4.58744 -16.3815
+15.1709 -4.12822 -15.7046
+14.2655 -4.53703 -15.3925
+13.6372 -4.19944 -14.7103
+13.2391 -5.07265 -14.5407
+13.6046 -5.08525 -13.6437
+14.5714 -5.26758 -13.7577
+14.2504 -6.12994 -13.6185
+15.1579 -6.04909 -13.3687
+14.8702 -6.70207 -12.6884
+15.0434 -5.8083 -12.4633
+14.7221 -4.91122 -12.5502
+13.7831 -4.95453 -11.9906
+14.51 -4.17466 -11.9651
+15.2092 -3.48703 -12.0078
+15.9064 -3.97296 -11.5874
+15.5223 -4.54755 -10.8732
+15.7846 -3.7937 -10.276
+16.1344 -2.90733 -10.4124
+16.7336 -3.31813 -9.65908
+16.8902 -4.26469 -10.0278
+17.8043 -4.66825 -10.0433
+18.5684 -4.73736 -9.38081
+18.0771 -3.9785 -8.94334
+18.4763 -3.3055 -8.32634
+18.0568 -2.49929 -7.95927
+17.6372 -3.22325 -7.3535
+18.285 -3.2772 -6.50694
+17.9076 -3.00723 -5.62582
+17.5737 -2.29616 -4.96249
+16.9633 -3.03125 -4.81968
+16.5352 -2.46328 -4.07578
+15.7388 -2.82766 -4.4039
+15.6945 -3.09081 -5.36262
+15.6537 -2.13673 -5.48058
+14.9886 -1.47996 -5.47458
+14.0808 -1.39733 -5.06001
+14.0184 -2.29772 -4.58455
+13.3486 -2.9164 -5.02938
+13.2026 -2.67986 -5.9712
+12.3556 -2.62363 -6.40864
+11.7994 -2.01497 -5.9234
+11.5779 -1.2715 -6.63538
+10.7233 -1.7547 -6.91737
+10.0097 -1.53289 -6.25041
+10.2788 -2.5241 -6.24662
+10.6859 -2.94635 -5.5698
+10.1941 -3.61472 -5.07301
+9.63327 -3.64186 -4.21502
+9.97663 -3.23628 -3.45578
+10.6255 -2.77138 -4.11198
+11.0764 -2.07859 -4.54257
+10.3794 -1.34971 -4.56577
+10.9056 -0.7742611 -5.1712
+10.7601 -0.5988941 -6.14657
+10.0201 -0.3498951 -6.736
+9.56173 0.2448189 -7.40254
+8.96884 0.8625779 -7.98209
+9.4966 1.76613 -8.04602
+9.30732 2.02573 -9.01255
+10.0298 2.79604 -9.10807
+9.39083 3.51902 -9.38468
+8.46473 3.72907 -9.22976
+7.49022 3.69925 -9.21644
+7.50989 2.73105 -8.95594
+7.64278 2.54439 -8.02612
+7.22861 2.43876 -7.08136
+8.0505 2.51764 -6.50477
+7.92638 3.2774 -5.84715
+8.91942 3.25491 -5.50088
+9.2904 2.37904 -5.21342
+9.00911 2.52287 -4.24593
+9.81047 2.05468 -3.97039
+10.0272 1.05703 -4.14349
+10.9899 1.22085 -4.10578
+11.2696 2.25939 -4.04336
+12.2606 2.4352 -4.32165
+12.0142 1.71169 -3.60098
+12.4887 0.8528349 -3.86981
+13.3957 1.20839 -3.76264
+13.8089 0.3693879 -4.07088
+14.6663 0.1264769 -4.48157
+14.6317 1.08248 -4.11927
+15.424 1.19376 -3.50812
+14.6279 1.64701 -3.23632
+14.0894 1.06398 -2.64908
+13.1095 1.17704 -2.34409
+12.6362 0.9105889 -1.54403
+11.9342 0.3793159 -1.13185
+12.1283 -0.1130141 -1.97592
+12.9193 -0.3969411 -1.65496
+13.4266 -0.02087787 -0.8681569
+13.7364 -1.00562 -0.9260419
+14.5763 -1.55985 -0.9393549
+15.5517 -1.61777 -1.37552
+15.679 -1.34246 -0.4467289
+16.2365 -1.07266 0.3592451
+16.1184 -0.6931541 1.26246
+16.4701 0.1262039 1.696
+16.4787 -0.5821111 2.41261
+17.3634 -0.6170291 1.92125
+17.5149 0.09815803 1.2855
+17.8434 1.02557 1.75355
+18.0722 0.2895029 2.46331
+18.8874 0.2942659 3.13181
+18.3704 -0.4801701 3.33966
+17.7438 -1.17191 3.1344
+18.4039 -1.79234 2.66889
+19.0699 -1.97952 1.98051
+19.6118 -2.67478 2.39672
+20.467 -2.38723 2.00689
+21.3418 -2.02659 2.48542
+22.3014 -1.94209 2.24263
+21.7882 -2.55163 1.55026
+21.2197 -3.22487 2.03667
+21.0667 -3.80485 1.25485
+20.8853 -4.71653 0.8937581
+20.8842 -5.22049 0.01490852
+20.3767 -5.40465 -0.8845299
+20.1103 -5.08309 -1.83054
+20.3476 -4.95361 -2.7484
+19.522 -4.45129 -2.55985
+18.8294 -4.33835 -1.81075
+17.9996 -4.52407 -2.26376
+17.7458 -5.4506 -2.44964
+16.7254 -5.30448 -2.17788
+16.2565 -4.60719 -2.74364
+16.2151 -3.72685 -3.29333
+15.7262 -2.99153 -2.789
+15.6614 -3.43015 -1.90665
+16.1292 -2.85876 -1.2366
+15.7095 -2.35385 -0.4792149
+14.8126 -2.49056 -0.00487544
+14.0135 -2.31098 -0.5730929
+14.0405 -3.34851 -0.6600199
+13.9938 -3.29242 0.3207961
+14.2157 -3.20544 1.2619
+14.4434 -2.32031 1.04644
+14.5337 -1.81509 1.97571
+14.6316 -2.22372 2.84149
+14.9318 -1.73737 3.66671
+15.1967 -0.8580311 3.32
+14.7638 -0.6207671 2.48605
+14.859 0.3912219 2.70661
+15.2655 1.19274 2.19759
+16.1679 1.5958 2.39472
+16.9944 1.80276 1.78754
+17.0867 2.28562 0.9947541
+16.6612 2.40308 0.09233732
+16.1987 1.89342 0.8373681
+16.2368 1.39975 -0.04241388
+16.8675 1.13099 -0.6943039
+16.1921 1.07362 -1.3948
+16.1127 1.96421 -0.9369509
+15.4527 2.17524 -0.2510649
+14.9275 2.30896 -1.13687
+14.9215 3.15452 -1.76988
+15.1967 4.02254 -1.35802
+15.7645 4.51021 -1.92093
+15.5495 4.06478 -2.77171
+16.1881 4.08262 -3.54525
+16.4537 4.07465 -4.55948
+16.4725 3.28822 -5.31195
+16.0486 2.6653 -5.96255
+16.5763 2.91005 -6.74614
+17.0608 2.73276 -7.61758
+17.7823 2.66657 -8.32062
+17.5337 3.07272 -9.24231
+16.5839 2.8334 -9.19496
+15.9743 3.33937 -9.83763
+15.3707 2.59274 -9.4717
+14.8341 3.40546 -9.60853
+14.4539 3.51085 -8.61991
+14.8824 4.28413 -9.05905
+15.5919 4.78013 -9.47673
+15.4002 4.74092 -10.4498
+15.397 3.85587 -10.9188
+14.4842 3.413 -11.0031
+13.7385 2.88276 -10.5732
+13.3438 3.40957 -11.342
+13.2453 4.2327 -10.8042
+12.3601 4.66098 -10.7721
+11.4175 4.73637 -10.3491
+11.2748 3.98291 -10.972
+11.1334 3.36611 -10.2302
+11.3071 3.38037 -9.22031
+10.6439 3.83747 -8.71752
+9.94018 3.45408 -8.12362
+10.8207 3.02489 -8.23461
+11.6785 3.13409 -7.70041
+12.0286 3.05186 -6.73526
+12.9149 3.3104 -6.33065
+12.7985 3.68912 -5.41154
+11.955 3.96476 -5.01626
+11.1483 4.37331 -5.46209
+10.8613 3.67797 -6.06642
+10.49 4.11244 -6.85732
+11.0824 4.87668 -7.25349
+11.4962 5.09625 -8.17717
+12.1741 4.71646 -8.88149
+13.1384 4.74822 -8.9724
+12.9058 4.12982 -8.25632
+13.3133 3.26413 -7.9317
+14.0789 2.62308 -7.77368
+14.3067 1.68003 -7.80587
+14.7082 1.71386 -6.94262
+14.427 1.15472 -6.08468
+13.6346 0.8188369 -6.65335
+14.2709 0.3366099 -7.22479
+15.0986 0.8485969 -6.84214
+15.4315 0.9707859 -7.81995
+15.0741 0.1821259 -8.19281
+14.5054 0.4836509 -9.03958
+14.3164 1.09207 -9.83175
+15.3352 0.8281999 -10.0375
+15.8757 1.37215 -10.6568
+14.9125 1.5054 -10.8169
+14.3003 1.04402 -11.5438
+14.4834 1.50661 -12.3781
+15.1933 0.9679929 -12.0703
+15.2584 -0.01956057 -11.7424
+14.2208 0.08999403 -11.7888
+13.4065 -0.4224071 -12.1781
+13.3072 -1.43451 -12.1269
+13.3096 -1.25892 -11.1301
+12.6519 -1.11074 -10.4171
+12.2453 -1.91768 -10.9155
+12.0635 -1.75737 -9.93255
+11.4086 -2.33386 -10.415
+10.9822 -1.65571 -10.9463
+11.536 -1.07534 -11.5186
+12.0409 -1.04854 -12.3552
+11.7672 -0.2290091 -12.8485
+11.9172 0.7501209 -12.5936
+12.8457 1.04173 -12.459
+13.2488 1.41438 -11.6478
+12.6421 2.11717 -11.2751
+12.7883 2.37552 -10.2456
+13.4358 1.55399 -10.09
+12.8206 0.9532059 -10.6801
+11.8302 0.9513919 -10.9439
+11.8546 0.2022549 -10.216
+11.8789 0.6913819 -9.3284
+12.2733 1.54588 -9.83028
+12.9037 1.54605 -9.06158
+12.7228 0.6377969 -8.60459
+12.2693 1.1903 -7.82237
+11.5584 1.90742 -8.06845
+11.6047 2.07137 -7.01683
+11.8871 1.59742 -6.1281
+11.4559 0.9709069 -5.50432
+12.462 0.7939929 -5.15642
+13.2961 1.32215 -5.07588
+13.7728 2.22116 -5.04628
+13.682 2.57907 -5.96767
+14.5425 3.11385 -5.94712
+14.297 3.41929 -6.88027
+14.0468 4.38618 -7.27132
+13.313 5.04661 -7.25834
+13.9517 5.69365 -7.75479
+13.5285 6.38308 -7.1187
+14.4408 6.57511 -6.78867
+14.89 5.65569 -6.66026
+15.8404 5.53981 -7.14943
+16.0236 6.10396 -6.38402
+16.8893 6.27406 -6.94976
+17.8401 6.37384 -6.77608
+17.967 5.35583 -6.44632
+18.8145 5.18112 -7.07649
+19.3614 5.89209 -6.7676
+19.352 6.22546 -7.68148
+18.4306 6.3424 -7.91496
+18.7468 6.60585 -8.8932
+18.0056 6.03088 -9.30931
+17.1587 6.1912 -9.81189
+17.6331 6.74784 -10.4772
+18.3913 7.29002 -9.95377
+19.1994 7.86115 -10.0286
+19.2825 7.90464 -11.0507
+18.8465 8.80903 -11.2177
+18.4513 8.61911 -12.091
+19.4699 8.85533 -12.2342
+20.0552 9.33022 -12.9695
+20.2094 10.3249 -13.2205
+19.5037 10.2139 -14.0166
+20.3405 9.83968 -14.321
+20.5369 9.60326 -15.2446
+21.2095 9.81526 -16.0299
+21.9992 10.1368 -16.4565
+22.8761 10.4307 -16.7392
+23.1207 10.8313 -17.6041
+23.1943 11.103 -18.6315
+22.2539 10.8663 -18.8297
+21.9497 11.4539 -18.0287
+21.0268 11.6202 -18.2114
+20.2085 11.9662 -18.6379
+19.9476 11.9958 -19.5739
+19.7844 11.2751 -20.2549
+20.7522 10.8393 -20.2955
+20.4533 10.2647 -21.0871
+19.5554 9.92699 -21.2499
+19.2872 9.06925 -20.8881
+19.4157 8.31743 -21.4635
+19.0646 7.46462 -21.8705
+19.7216 7.57518 -22.6319
+20.3874 6.89598 -22.1875
+20.2323 6.28496 -21.4063
+20.7337 6.47099 -20.5818
+21.6751 6.36479 -20.431
+21.7101 7.04941 -21.1726
+21.7536 8.00527 -21.6462
+20.9606 7.8585 -21.0786
+21.6316 8.44915 -20.604
+22.5156 8.06367 -20.1653
+23.4009 8.23874 -20.5528
+23.5232 8.54244 -21.3975
+24.1643 8.55011 -22.2233
+24.9396 7.89034 -21.9929
+24.8108 8.12099 -22.9272
+25.5894 7.4792 -23.2
+26.0837 6.57346 -23.2886
+25.2616 6.13181 -23.4358
+25.6963 5.39455 -23.9849
+26.0398 4.70646 -23.3035
+25.2131 4.12607 -23.4105
+25.6536 3.52208 -24.0806
+26.3351 3.14621 -23.4477
+25.8045 2.93677 -22.575
+25.2402 3.32625 -21.8372
+24.3347 3.68805 -21.6606
+24.0049 4.30727 -22.3326
+24.4184 5.08319 -22.829
+23.841 5.71679 -22.2985
+23.9992 6.4057 -23.0256
+23.0648 6.44134 -23.2946
+23.7556 6.27281 -23.9554
+23.6338 5.91802 -24.9007
+23.4787 4.92199 -24.9718
+22.52 4.60056 -24.7475
+22.3884 4.25722 -25.6656
+22.1294 5.25041 -25.7193
+21.1695 5.43938 -25.6191
+20.6089 6.10657 -26.1601
+19.8986 6.61584 -25.739
+19.0042 6.61912 -25.3213
+18.339 5.98529 -24.9693
+18.6889 5.05501 -25.1489
+19.0657 4.34923 -25.7066
+18.1529 3.97515 -26.0929
+17.3753 4.04641 -26.7362
+17.407 3.03092 -26.534
+16.4778 2.85526 -26.9508
+15.9507 3.11916 -27.7328
+14.958 2.8364 -27.7433
+14.4377 3.6663 -28.1046
+13.9859 4.55076 -28.2773
+13.1932 4.62419 -28.8549
+13.2278 5.57931 -29.0656
+13.0516 6.44268 -28.5633
+13.8585 5.80314 -28.1583
+14.0863 5.99596 -27.2717
+14.55 6.72797 -27.7527
+15.5066 7.10238 -27.634
+15.8199 7.77549 -28.2789
+16.1101 6.93692 -28.7445
+16.2878 6.11166 -29.2676
+16.6098 6.14589 -28.2516
+17.3422 6.78692 -28.661
+17.2551 6.43241 -29.5149
+17.4395 5.60016 -30.0574
+17.249 4.98773 -29.3235
+16.3513 4.65396 -29.5521
+16.8069 4.08169 -30.2669
+16.7062 3.36094 -30.9375
+16.6263 2.79152 -31.7828
+15.6642 2.47479 -31.8849
+14.9214 3.0126 -31.4689
+15.057 4.01079 -31.6645
+14.1634 4.01343 -31.2288
+14.0513 4.59775 -30.4022
+13.1186 4.81774 -30.1855
+12.2397 4.93471 -30.6912
+11.2974 4.96817 -31.0692
+11.3244 4.35369 -30.3675
+10.8036 4.30037 -29.5046
+10.4577 4.9605 -30.1591
+10.0127 5.50159 -29.4315
+10.6399 6.21043 -29.1637
+10.4951 6.93043 -28.4048
+10.6603 7.92603 -28.2242
+9.89596 8.41012 -28.5374
+8.95556 8.22957 -28.5538
+8.16985 7.59181 -28.8416
+7.3461 8.04894 -28.4607
+6.97548 7.18695 -28.7287
+7.55345 6.39697 -28.4303
+7.64747 5.40236 -28.2908
+7.68609 4.95802 -29.1409
+7.27036 4.90015 -30.0199
+8.06286 4.41247 -30.5232
+8.71962 4.37611 -31.1994
+8.64164 3.36824 -31.0376
+8.45495 3.63326 -30.0409
+7.60238 3.40644 -29.5667
+6.58974 3.40478 -29.8311
+6.12144 2.6088 -29.5908
+6.89167 2.47347 -30.1813
+7.18708 1.89536 -29.4289
+6.48826 1.30716 -29.0725
+5.51923 1.17368 -28.8169
+5.94878 0.7978029 -28.0479
+5.74863 -0.1570281 -27.9844
+4.895 0.2963629 -27.8227
+4.79267 -0.5367211 -27.2497
+3.93744 -0.9663941 -27.5728
+4.56456 -1.73799 -27.4191
+5.21463 -1.19153 -27.9984
+6.06472 -1.49444 -27.8278
+6.35698 -2.01005 -27.0794
+7.21768 -1.879 -27.4199
+7.28432 -2.64582 -26.7796
+7.13094 -2.31367 -25.844
+6.92591 -2.04622 -24.866
+7.47935 -2.93922 -24.9071
+8.46587 -3.16137 -25.018
+9.30086 -2.67239 -25.0559
+10.2174 -2.94317 -24.7798
+10.6402 -3.79973 -24.9599
+11.1253 -3.54142 -24.1165
+11.8507 -3.14342 -24.6472
+12.924 -3.12016 -24.7422
+13.4687 -3.86899 -24.1543
+13.4261 -4.87918 -24.0701
+12.7203 -5.51014 -24.4726
+13.2377 -6.3597 -24.5313
+12.2869 -6.33369 -24.2292
+11.5403 -5.81104 -23.9835
+10.9147 -5.0318 -23.6821
+10.3711 -4.41761 -23.1248
+10.9705 -3.60087 -23.0866
+11.6636 -2.85731 -23.1448
+12.6433 -3.04284 -23.4059
+13.4645 -2.61364 -23.0394
+12.6994 -2.43511 -22.3385
+12.1979 -2.48017 -21.4694
+12.035 -1.49589 -21.6645
+11.8517 -0.9023341 -22.4657
+11.1045 -1.537 -22.7169
+11.1471 -0.6786171 -23.296
+11.5166 -0.07866817 -24.0171
+11.0773 -0.6396311 -24.6777
+10.4181 0.06312093 -24.3208
+10.4014 1.02761 -24.2941
+11.1328 1.7001 -24.2083
+11.0246 2.39041 -24.9028
+10.1146 2.80036 -25.0601
+10.8975 3.33309 -25.4118
+11.6985 3.27144 -24.8998
+12.6898 3.40995 -24.986
+13.4839 3.04446 -25.5493
+14.3707 3.3789 -25.2322
+13.9612 4.26067 -25.3843
+14.9567 4.5793 -25.1674
+14.9044 5.54991 -25.4008
+14.3251 6.1431 -25.9012
+13.7458 5.86441 -25.1751
+13.0883 6.13362 -25.9153
+12.876 5.16636 -26.0836
+12.4766 4.54109 -25.4068
+12.1844 4.88739 -24.5002
+11.8613 5.8248 -24.5759
+12.5216 6.30499 -24.069
+12.9059 7.0223 -24.7404
+12.0526 7.42872 -24.6595
+11.1499 7.15045 -24.7132
+10.739 7.16282 -23.7306
+10.1329 7.94379 -24.0149
+9.90671 7.98848 -23.0486
+9.50795 7.17317 -23.2863
+9.56063 6.29643 -22.6844
+10.3805 5.65452 -22.5087
+10.8667 4.82165 -22.148
+11.6282 4.22722 -21.686
+11.4162 3.58033 -21.0112
+10.9037 3.10337 -20.3008
+11.9149 3.20287 -20.0903
+12.382 3.25827 -19.1799
+11.5551 2.76777 -19.2999
+11.1669 3.5594 -18.8522
+11.7635 4.03749 -18.2174
+11.0243 4.75617 -18.2404
+10.0477 4.83393 -18.6581
+9.99544 5.21951 -17.7213
+10.6087 5.94995 -17.3615
+9.83696 5.821 -16.7878
+10.547 5.27953 -16.2631
+10.0616 5.83595 -15.6272
+10.9277 5.51573 -15.1778
+10.9266 5.4957 -14.1797
+11.2714 4.97513 -13.4157
+11.4724 4.13163 -13.9285
+11.9468 4.50216 -14.6903
+12.2711 3.5726 -14.4004
+11.6863 2.74258 -14.1987
+12.0507 1.84155 -14.1358
+12.761 1.83504 -14.7691
+12.1269 1.24347 -15.3429
+12.7785 1.37146 -16.083
+12.4003 0.5935119 -16.5393
+12.8943 1.14538 -17.2795
+12.9455 2.17544 -17.4142
+12.5365 3.0245 -17.3245
+11.4876 3.1543 -17.2938
+11.5017 3.94966 -16.7823
+12.4398 4.09095 -16.4007
+13.0319 4.84406 -16.1864
+13.9993 4.52609 -15.9298
+13.9051 4.85535 -14.9411
+14.7012 5.11444 -15.5092
+15.0051 5.38136 -16.4317
+14.628 6.21561 -16.912
+14.5374 7.213 -16.6225
+13.5585 7.08386 -16.5015
+12.7145 7.30605 -16.086
+12.0422 7.60603 -15.398
+11.4977 8.15367 -14.7384
+11.7297 8.05142 -13.7711
+12.6602 8.33642 -13.5453
+13.3493 8.72818 -13.029
+13.7053 8.94013 -13.9854
+14.3182 8.85112 -14.7438
+15.0917 9.45458 -15.0775
+15.7583 10.1965 -15.2939
+15.4278 11.0587 -15.6253
+14.6266 11.304 -16.2189
+15.1539 12.0237 -16.717
+15.0376 13.0011 -16.9547
+14.3545 12.9533 -16.1964
+13.8159 12.1484 -15.8521
+13.3894 11.6777 -16.6061
+12.7379 11.0481 -17.0469
+12.2009 11.8861 -17.169
+11.5491 11.8505 -17.9994
+10.8503 11.6896 -17.3548
+11.2965 10.8699 -17.0516
+11.5343 10.4073 -16.1823
+10.8307 9.73195 -16.3936
+10.6225 9.1503 -17.1523
+9.83779 9.31229 -16.5146
+8.96928 9.46025 -17.0296
+7.94626 9.49113 -17.165
+7.70431 8.592 -16.8308
+6.96636 8.00885 -17.2296
+6.12195 8.60937 -17.1311
+6.54256 9.48999 -17.3044
+6.1305 10.4079 -17.6435
+5.4043 9.74586 -17.5282
+4.45777 9.53636 -17.6369
+3.79193 10.2115 -17.314
+4.36685 10.2796 -16.4622
+3.96229 10.6455 -15.6046
+3.77777 10.3829 -14.7195
+4.39461 9.67209 -14.9967
+5.01537 9.25267 -15.73
+5.85486 9.48188 -15.2829
+5.72489 9.97266 -14.45
+6.03176 10.9377 -14.4703
+6.73038 10.3159 -14.6509
+6.25536 10.7591 -15.3238
+6.19581 11.6232 -15.7833
+7.12244 11.5937 -16.154
+7.30839 12.5423 -16.2213
+7.52548 12.7749 -15.1965
+6.58837 12.7291 -14.8853
+6.46676 13.0875 -15.7398
+6.02706 13.539 -16.495
+6.22456 14.5037 -16.6394
+6.94173 15.1697 -16.4213
+6.72264 16.1265 -16.797
+7.56562 16.6728 -16.8041
+8.54068 17.023 -16.7082
+8.49525 17.5181 -17.5024
+7.84517 17.9726 -18.0851
+7.22627 18.3612 -18.7731
+6.39976 18.9094 -18.6001
+6.24195 19.7306 -19.1118
+5.64446 20.5441 -19.0595
+6.24801 21.2389 -19.455
+6.3822 21.4693 -18.4279
+6.85795 20.5184 -18.2372
+6.57375 20.8758 -17.3276
+7.29466 21.4101 -17.0322
+7.48928 21.0578 -16.0412
+7.2348 20.982 -15.1145
+7.05519 21.839 -14.6871
+7.25552 22.5139 -15.3984
+7.11191 22.2885 -16.3341
+6.68449 23.1229 -16.7438
+7.13344 22.4979 -17.3773
+7.61477 22.4854 -18.2374
+8.56215 22.3866 -18.5549
+8.96347 21.7959 -19.2354
+9.28343 22.7467 -19.4352
+9.72549 23.6017 -19.8103
+8.97944 24.2216 -19.9478
+9.06487 24.3506 -18.9358
+8.31762 24.9166 -19.0705
+8.40817 25.8933 -18.9174
+8.4622 26.35 -18.0718
+8.11075 27.1083 -17.4803
+7.16186 27.1145 -17.181
+6.88919 27.1088 -16.2061
+7.6819 26.8554 -15.611
+7.54082 25.9019 -15.6306
+7.34015 24.9735 -15.6291
+6.86428 25.5163 -16.4031
+5.93127 25.3184 -16.1173
+5.34617 25.5586 -15.4061
+5.68436 26.0251 -14.6847
+5.94451 25.9567 -13.6574
+5.71832 25.2113 -13.0138
+6.60687 24.7982 -12.9155
+7.6378 24.8837 -12.9322
+8.00459 24.0925 -13.3408
+8.91954 23.7864 -13.6263
+9.44243 24.1165 -14.4233
+10.362 24.439 -14.7685
+10.9508 24.2002 -15.5118
+11.3023 24.3313 -16.431
+11.3047 24.2369 -17.4181
+11.0907 23.2682 -17.4978
+10.108 23.51 -17.5063
+9.31547 24.1793 -17.4631
+8.66281 23.6649 -18.0304
+8.253 23.2486 -17.2098
+8.20974 23.4924 -16.2698
+8.39411 23.2101 -15.2941
+9.30967 22.9182 -15.6066
+9.19444 21.9451 -15.2749
+9.49637 22.02 -14.326
+10.5144 22.1799 -14.2873
+10.7257 21.6149 -15.0555
+10.5359 20.6879 -14.6315
+10.4469 20.4042 -15.5954
+10.0922 21.0189 -16.3376
+9.76546 20.1052 -16.6814
+10.2403 19.33 -17.1467
+10.9707 18.8089 -16.7023
+11.9361 18.4811 -16.8391
+12.2588 17.9232 -16.1445
+13.0844 17.6464 -16.7097
+13.9919 18.1613 -16.7212
+14.5481 18.2884 -15.9529
+14.9734 18.7607 -15.1396
+15.2427 18.6741 -14.1858
+15.7545 17.8658 -14.39
+16.4135 18.3923 -13.7747
+16.9551 19.2089 -13.9954
+17.0557 20.1534 -14.2131
+17.0175 20.7993 -14.9973
+16.1989 20.4435 -15.2854
+16.0672 21.0087 -16.1413
+15.3604 20.271 -16.2835
+14.8687 19.442 -16.5284
+14.4453 20.1057 -17.1095
+15.0481 20.03 -17.8336
+15.0693 19.048 -18.1743
+15.8711 18.7313 -18.7611
+16.353 19.5938 -18.9192
+16.2256 19.7475 -19.893
+17.1968 20.1057 -20.1603
+18.0075 20.63 -19.8053
+18.9767 20.2902 -19.9312
+19.1793 19.3481 -20.0344
+19.1178 18.4319 -20.4064
+19.6056 18.1884 -19.5278
+19.4623 18.3383 -18.5315
+19.5226 17.5006 -17.9852
+18.5976 17.5361 -17.6356
+18.7136 16.7202 -17.1039
+18.7875 16.4042 -16.0877
+18.9348 17.3552 -16.2578
+17.9976 17.4034 -16.4586
+17.1551 17.5538 -16.9889
+16.6602 17.1548 -16.1143
+17.0861 17.8835 -15.6056
+17.7762 17.853 -14.7784
+18.2146 17.0581 -15.073
+19.1445 17.48 -14.8133
+19.5442 17.341 -13.8486
+19.9972 16.9601 -13.1137
+20.2867 17.2195 -12.2146
+19.4063 17.5039 -12.4881
+19.4469 18.401 -11.9701
+20.1871 19.0592 -12.0207
+19.8367 19.9239 -12.1445
+19.5077 20.6394 -11.4848
+18.9679 21.4699 -11.6713
+18.6218 22.3561 -11.4208
+18.0558 23.1732 -11.6052
+17.7543 22.4455 -12.1052
+16.8275 22.7525 -11.8334
+17.1364 22.0307 -11.2404
+16.5055 21.9508 -10.4829
+16.687 21.339 -9.65018
+16.778 20.4984 -9.06227
+15.8524 20.223 -8.81206
+16.3701 19.7201 -8.1183
+17.0657 19.1736 -8.55748
+17.9313 18.6239 -8.50018
+17.2556 17.9533 -8.7759
+16.8278 17.0255 -8.76074
+15.9975 16.6278 -9.06618
+16.1153 16.6972 -10.0841
+16.0932 15.8187 -10.6363
+15.1106 15.6149 -10.6299
+15.0613 16.2218 -9.81418
+14.3411 15.4615 -9.87215
+13.3956 14.9628 -10.0543
+13.3454 14.6405 -10.9855
+13.1781 14.9593 -11.9462
+12.9386 14.0266 -12.0406
+13.9135 13.9984 -11.8495
+14.4968 14.3503 -12.5705
+14.9512 14.6329 -13.4297
+15.9197 14.8069 -13.4046
+16.6787 15.4972 -13.5848
+17.5348 15.2519 -14.0467
+18.0477 14.7764 -13.2986
+18.8898 14.1592 -13.2414
+19.0103 14.6482 -12.4025
+18.7356 13.6721 -12.3037
+18.8811 13.9903 -11.3687
+18.348 14.1555 -10.5833
+18.492 15.0511 -10.174
+19.4596 15.215 -10.0875
+20.1302 14.4569 -9.82517
+19.9681 13.677 -10.4359
+19.5839 13.2001 -9.58381
+20.5171 12.9854 -9.80712
+21.418 12.5263 -9.63585
+20.7156 12.165 -10.2001
+21.1462 12.6588 -10.8175
+21.3834 12.2714 -11.6702
+20.7851 11.4043 -11.7096
+20.428 10.6145 -11.1905
+21.0094 9.84937 -11.44
+21.2737 9.23679 -10.6918
+21.5291 8.3386 -10.416
+22.3362 8.85812 -10.5397
+22.7228 8.32684 -9.76072
+21.9529 8.11323 -9.13114
+21.4662 7.173 -9.09736
+21.11 7.27901 -8.20189
+21.6947 7.87668 -7.55869
+20.7707 7.81212 -7.34495
+19.7721 8.00826 -7.12769
+19.1589 8.81244 -6.97117
+18.2298 8.94195 -7.27861
+18.5123 8.00917 -7.1891
+18.3365 7.48515 -6.36044
+17.6322 7.21992 -5.76041
+18.3278 7.39294 -4.99322
+19.2247 7.62398 -4.78057
+19.371 8.38911 -5.38194
+18.908 8.83791 -4.63457
+18.84 8.35908 -3.77882
+19.9219 8.39034 -3.61952
+20.5669 7.70602 -3.75604
+21.0433 7.0161 -3.22836
+21.8306 6.80903 -2.7185
+21.3759 7.75989 -2.44596
+20.6395 8.40864 -2.38696
+19.8178 7.79994 -2.49438
+18.9295 8.26735 -2.44505
+18.2609 9.00395 -2.5863
+18.7861 9.68774 -2.06646
+18.619 10.6205 -2.13955
+18.86 11.4498 -2.71273
+18.6529 12.1429 -2.0032
+18.1721 12.4332 -2.84281
+18.8267 12.7634 -3.49186
+18.7572 12.1165 -4.23371
+19.2853 11.5524 -4.87436
+18.447 11.0439 -4.72641
+19.0709 10.6271 -4.07885
+19.4073 9.72158 -4.33317
+18.4878 9.70429 -4.05581
+18.0011 10.0617 -3.25282
+17.3548 9.83665 -3.90324
+17.6833 10.3659 -4.63576
+17.0303 9.86674 -5.21106
+17.3928 9.02187 -4.95031
+17.5447 8.13559 -5.24682
+16.6215 8.05804 -5.61603
+16.4862 9.04068 -5.91381
+15.6982 9.56371 -6.19569
+15.2608 9.34576 -5.31796
+15.1302 10.2404 -4.82608
+15.579 11.0467 -4.26553
+15.8638 10.8278 -3.34027
+16.4578 10.8196 -2.48584
+15.842 10.9091 -1.81317
+16.4543 10.4353 -1.20483
+15.5857 9.98316 -1.30524
+14.8305 9.85216 -1.8877
+15.5436 9.26026 -2.16252
+15.3016 8.42722 -2.69323
+15.6347 7.5055 -2.48037
+15.7073 7.29898 -3.47914
+16.1791 7.88899 -4.11281
+16.8966 7.1664 -3.96643
+17.608 7.74413 -3.53316
+18.217 6.95787 -3.22208
+18.0893 6.31717 -2.44422
+17.8222 5.70586 -3.08831
+18.2239 5.80275 -3.97062
+19.0669 5.28414 -3.86991
+19.6129 4.84389 -3.16062
+20.506 4.46417 -3.20851
+20.3597 4.73015 -2.2306
+21.0321 4.06325 -2.00361
+20.8119 3.13989 -1.877
+20.6736 2.8869 -2.78462
+21.5031 2.95569 -3.3933
+20.7946 3.26598 -4.07778
+21.1137 4.00237 -4.61598
+21.0479 3.28134 -5.32973
+21.5771 2.85008 -6.01691
+21.5861 2.05693 -6.66966
+20.5476 2.04462 -6.72882
+20.1331 1.35231 -6.12933
+19.1501 1.42905 -6.4196
+19.0595 2.14387 -7.10515
+19.2086 2.86191 -7.77313
+18.67 3.2666 -8.54398
+18.501 4.25459 -8.69882
+17.5236 4.46066 -8.3767
+16.9583 4.37167 -7.50337
+16.2637 4.18151 -8.23837
+15.5513 4.77086 -7.77912
+15.1631 5.66903 -7.82917
+14.899 6.65631 -7.89716
+15.8712 6.73741 -8.08346
+15.4345 6.32387 -8.84744
+14.9919 5.98581 -9.6978
+14.3144 6.57254 -9.22159
+13.5693 7.16909 -9.59572
+14.4262 7.66021 -9.88752
+14.922 8.29743 -10.348
+14.8396 9.25757 -10.4275
+13.8799 9.07292 -10.1913
+13.869 9.25377 -11.1025
+13.5842 8.94569 -12.0451
+12.9397 9.48909 -11.5505
+12.9811 10.3503 -12.1215
+13.5511 11.1428 -12.0005
+13.78 10.6655 -12.8676
+14.3944 11.2144 -13.3368
+14.9567 10.7151 -12.7311
+15.8223 10.9531 -12.2912
+15.8207 11.9462 -12.4875
+14.9094 12.3267 -12.585
+14.4624 11.6488 -12.0608
+15.2633 11.8611 -11.4465
+15.5995 11.8844 -10.5375
+15.7709 10.8998 -10.4575
+16.426 10.4997 -9.815
+16.4865 11.2875 -9.14881
+15.5498 11.1694 -9.42018
+15.3622 10.3149 -8.85763
+15.6758 9.69785 -9.56039
+16.4577 9.89586 -8.86549
+17.3514 9.46538 -8.93185
+17.6881 8.98053 -9.70867
+16.9269 9.04361 -10.3452
+16.8436 8.32651 -11.085
+16.6496 7.4803 -10.6151
+15.8047 7.15594 -10.9996
+15.9711 6.79107 -11.9279
+15.3046 6.0854 -11.9506
+15.9193 5.22657 -12.0238
+16.4107 4.93096 -11.2323
+17.2982 4.98933 -11.5777
+17.3511 5.6335 -12.3398
+18.025 6.33448 -12.8078
+18.5748 5.72746 -12.2267
+18.8267 4.76551 -12.3093
+18.3879 4.31567 -11.576
+18.2394 5.05749 -10.9766
+19.0938 5.36848 -10.8709
+19.0562 6.30908 -10.525
+20.0047 6.102 -10.4457
+21.0051 5.96567 -10.6807
+21.0229 4.95876 -10.7628
+21.0944 4.90285 -9.81547
+22.0106 4.88153 -10.2105
+22.1935 3.90553 -10.3376
+22.3937 3.28058 -11.1559
+22.0226 2.47201 -10.6511
+22.7678 1.94034 -11.1119
+22.2323 1.29339 -11.6474
+22.5367 1.42399 -12.58
+22.3134 0.6362119 -13.2502
+21.8926 0.1761119 -13.9871
+22.0167 -0.4642921 -14.7513
+21.2738 -0.1583101 -15.3709
+21.9674 0.5183579 -15.4157
+22.6699 -0.07679747 -15.5963
+23.3949 0.01563563 -16.2397
+24.285 -0.1686401 -16.5968
+24.1751 0.2722289 -15.6652
+23.9184 0.9941319 -14.933
+24.1288 1.98162 -14.9103
+24.4133 2.28359 -15.8488
+24.9395 2.73825 -15.1116
+25.2638 3.68774 -14.9368
+25.4442 3.75317 -13.9659
+25.576 4.77353 -14.3072
+26.3302 5.43517 -14.5257
+26.8265 6.0853 -14.0699
+27.185 6.153 -13.1493
+27.2867 6.51982 -12.2147
+27.8165 6.02257 -11.5224
+27.8918 7.02305 -11.2949
+28.5166 6.86159 -10.5528
+29.3587 7.20959 -10.9219
+29.9596 7.10841 -10.1958
+30.6436 6.81524 -9.54489
+31.0908 7.33867 -10.2995
+31.9873 7.79418 -10.0958
+31.9308 8.75048 -10.3215
+32.2784 8.95106 -9.41175
+32.0011 9.22575 -8.46734
+32.3622 8.44395 -7.99346
+31.8404 8.34649 -7.11978
+32.3047 9.08517 -6.55709
+32.3695 9.52953 -7.39997
+33.1289 9.59008 -6.7845
+33.8143 10.3324 -6.83663
+34.0309 9.85493 -7.67641
+34.7392 10.4574 -7.5162
+34.3911 11.4258 -7.63397
+34.1657 12.4503 -7.66113
+33.9216 13.3265 -7.22838
+33.0816 13.8371 -7.35495
+32.309 14.444 -7.43441
+32.4185 13.9255 -8.27417
+31.4041 14.0788 -8.5274
+31.7463 13.361 -7.91886
+30.8278 13.0633 -7.7568
+30.8755 12.3657 -8.47761
+31.8121 11.9226 -8.35069
+31.4894 10.8898 -8.32981
+31.0978 11.4272 -7.67436
+30.6131 10.6033 -7.64181
+30.7669 10.6673 -6.67349
+30.5987 10.8135 -5.71865
+29.6547 10.52 -5.65265
+29.7008 9.65779 -5.17902
+29.153 9.69654 -4.33044
+29.2722 10.6494 -3.92249
+28.4151 11.1434 -3.97818
+28.9726 11.5119 -3.15849
+29.0512 12.4234 -3.50719
+29.0791 13.2287 -4.11671
+28.1894 13.754 -3.92879
+27.8672 14.7072 -3.69921
+28.2569 14.9208 -2.7798
+28.9004 15.3613 -3.39239
+29.2349 14.6318 -2.82715
+29.0162 14.743 -1.83593
+29.4492 15.4763 -1.41026
+28.9067 16.2127 -1.21968
+28.6672 17.1601 -0.9780169
+28.9202 17.6668 -1.77129
+29.0669 18.5962 -1.30718
+28.8163 19.4833 -1.80054
+27.952 19.8327 -2.26729
+27.2268 19.1922 -2.22403
+27.039 18.9945 -1.26824
+27.0613 18.2634 -0.5897429
+26.1291 17.8703 -0.3109609
+25.1741 17.5707 -0.1708109
+24.8449 17.9492 0.6618981
+23.9025 18.0263 0.2355831
+23.4161 18.7291 0.8071281
+23.3415 19.0187 1.76701
+23.4206 19.9901 2.03438
+23.9796 20.8252 1.95701
+24.777 21.3494 1.36142
+25.2659 22.1796 1.51834
+25.8949 22.5736 2.14248
+26.1065 22.6184 3.04125
+26.2244 23.5197 2.78385
+26.7053 24.1092 3.51156
+26.7619 23.3685 4.16286
+27.6294 22.9674 3.94186
+28.5653 23.1784 4.22708
+28.8198 23.1184 3.2341
+29.5797 23.4445 2.61091
+29.8448 22.951 3.41562
+30.0031 22.2019 4.03623
+29.8564 21.2629 4.37925
+29.3042 20.672 3.84968
+28.7389 21.1739 3.19383
+29.3765 20.7308 2.56725
+30.3902 21.0464 2.49829
+30.3655 20.663 1.56274
+30.9293 20.0866 1.09603
+31.8232 19.6795 1.39463
+31.2538 19.34 2.10587
+31.4523 18.3776 1.95067
+31.4423 18.3532 2.99926
+30.4292 18.3721 2.95097
+30.2973 17.8405 3.70433
+29.6767 17.8401 4.48641
+30.375 17.3791 4.93343
+30.862 16.5546 4.83223
+31.1137 15.5859 4.52099
+31.6566 16.1439 3.95939
+32.0499 15.2228 3.935
+32.6213 14.4597 3.63445
+31.8753 14.3085 3.0383
+32.0024 13.3662 3.30616
+31.1585 13.5231 2.77884
+30.3774 13.8652 3.16874
+30.2672 13.8074 2.1892
+29.6157 13.0683 2.17849
+29.1945 12.5863 1.47824
+29.4766 12.2237 0.6125161
+29.1546 11.4082 0.2683431
+29.2152 10.4593 0.2886111
+29.1893 9.83309 -0.4891869
+29.6806 10.2353 -1.27141
+30.5101 10.3703 -0.7005489
+31.2773 9.81061 -0.2708029
+32.1928 9.56648 -0.1940299
+32.4597 8.69408 -0.5499739
+31.7103 8.16181 -0.8916689
+30.8417 7.89042 -0.7676009
+29.9651 7.97487 -1.37012
+29.9232 7.12497 -1.87689
+28.973 6.86564 -2.13239
+28.6981 7.64486 -1.525
+27.785 7.66354 -1.41513
+28.0342 8.59993 -1.70576
+28.4719 8.64823 -2.55147
+28.9688 8.27357 -3.28523
+29.8242 8.78032 -3.33656
+30.2022 7.8818 -3.53644
+31.1807 7.69357 -3.78212
+32.102 7.51498 -4.00242
+33.0946 7.64337 -3.75284
+33.2179 6.59085 -3.80354
+33.0691 6.02562 -4.69687
+33.7749 5.41323 -4.4102
+34.5556 5.12284 -3.77529
+34.1295 5.41352 -2.96397
+35.0744 5.69271 -3.06696
+34.5017 6.48806 -3.17879
+33.922 6.36079 -2.30857
+33.9435 7.32551 -2.14791
+33.4422 7.71009 -2.84729
+32.6108 7.27091 -2.41327
+33.1821 6.94479 -1.67579
+32.1829 7.00372 -1.40962
+31.5093 6.78843 -0.6895609
+31.8295 5.84555 -0.6646149
+32.7918 5.64905 -0.3423019
+33.0281 5.19615 0.5371571
+32.8708 4.78669 1.44726
+32.408 4.11517 1.95064
+32.5666 4.53536 2.90889
+31.7809 5.12781 3.23294
+31.2355 5.33056 4.09749
+30.3568 5.02456 3.78098
+29.625 4.33788 3.80712
+29.4561 4.24268 2.84905
+28.7686 4.77182 3.48661
+29.325 5.55534 3.18995
+29.4276 6.53844 3.45937
+28.9711 7.40531 3.76797
+28.2668 7.94363 3.23297
+28.5339 8.66759 2.5749
+29.5014 8.40531 2.54839
+29.5581 8.40409 1.54916
+29.6106 9.41006 1.62235
+28.6814 9.82619 1.60512
+28.5633 10.7752 1.11565
+27.7148 10.2704 1.01276
+26.8367 9.89427 0.9383181
+26.9195 8.88093 1.23676
+27.3764 8.34439 1.92667
+26.9369 7.47258 1.90503
+27.0243 6.51808 2.07011
+27.6721 6.3996 2.79445
+27.2306 6.92899 3.45759
+26.9158 7.79333 3.98703
+27.4222 8.4339 4.61799
+28.1833 8.83955 5.03976
+28.7425 8.20736 5.57312
+29.0151 9.01907 6.07863
+28.3591 9.7807 5.98535
+27.6919 9.58611 6.70515
+26.8195 9.33081 6.4005
+26.678 8.51718 5.88803
+26.1002 7.96171 6.55168
+26.5678 8.59663 7.31395
+26.8593 9.29542 7.94104
+26.3277 9.57078 8.65548
+25.7843 8.8124 8.3693
+25.1002 9.59286 8.15685
+24.5025 10.3563 7.84443
+24.0074 10.6972 6.97141
+24.1494 9.74327 6.60072
+24.896 9.89485 7.15442
+25.22 10.7372 6.70905
+25.9907 10.6276 7.36759
+26.8371 11.1323 7.45888
+26.3867 11.3588 8.35758
+25.8505 12.0999 8.80348
+26.6498 11.9373 9.26901
+25.9635 11.8432 9.99395
+25.4158 12.1727 10.7899
+24.7099 11.7499 10.2391
+23.8861 11.2546 10.2053
+24.3432 10.3517 9.89805
+24.0143 10.8083 9.08159
+23.2115 11.2959 8.95451
+22.7503 11.127 8.03171
+22.4304 10.1974 7.99225
+23.1037 9.47721 7.7914
+22.7978 9.99134 6.9628
+22.7993 10.5235 6.07134
+22.1845 10.0877 5.48556
+22.1452 9.43522 6.24599
+21.3783 9.22796 5.645
+20.8868 8.42922 6.02841
+19.9659 8.66412 6.19113
+19.9288 8.0921 6.99119
+20.0065 7.88973 7.93284
+20.9726 8.0058 7.81478
+20.5017 8.71265 8.29558
+21.0229 9.53698 8.50741
+21.1344 10.515 8.61857
+21.5751 9.98519 9.32617
+22.1138 9.2292 9.7061
+22.1536 8.2534 9.88844
+23.042 7.78535 9.52109
+23.4288 7.62708 8.60124
+23.3825 7.55012 7.57232
+24.2556 7.07891 7.51446
+24.4985 7.83913 6.88906
+24.8195 8.67225 6.43386
+25.1389 7.86747 5.93166
+25.3519 6.95109 5.62193
+25.8137 6.44847 4.84606
+26.2048 5.5481 4.86404
+26.4966 5.17263 5.71017
+27.368 5.60353 5.78162
+28.2744 5.17561 5.61817
+28.613 5.85651 6.31427
+28.4117 5.55236 7.25116
+28.1222 5.22669 8.12204
+28.6875 6.00919 8.3315
+29.4891 6.2732 7.69515
+29.972 5.89009 6.92658
+30.4499 5.28117 7.626
+30.5096 4.31289 7.24126
+30.4639 3.72184 6.43432
+31.3295 4.17973 6.3924
+31.4837 4.15397 5.39084
+30.5827 3.73261 5.38215
+29.5942 3.74734 5.36237
+29.3046 2.81799 5.42902
+30.1367 2.35737 5.76398
+30.2747 1.40944 6.02275
+29.6353 0.8354259 5.43855
+29.6757 -0.1235141 5.43383
+30.1296 -0.9296761 5.70486
+29.4377 -0.7666061 6.43258
+29.8114 -1.46652 7.11235
+30.6535 -1.70345 6.5601
+31.3294 -2.19934 5.94895
+32.1077 -2.25895 5.28422
+31.1011 -2.23235 4.96089
+31.5781 -2.9411 4.39706
+32.336 -3.47501 4.51878
+32.7627 -3.42701 5.44725
+31.9182 -3.61387 5.88125
+31.3643 -4.42674 5.6449
+32.0591 -4.94729 5.19761
+32.4716 -5.13501 4.35264
+32.802 -5.96595 4.80388
+32.9234 -6.77303 5.32575
+32.7537 -6.24201 6.15925
+31.9175 -6.55432 5.59981
+31.4339 -6.82943 4.78112
+31.7569 -7.71781 4.39221
+32.0588 -8.53742 4.83295
+31.9399 -9.48303 4.36571
+32.9416 -9.322 4.30302
+33.6387 -8.65409 3.98824
+34.4058 -8.15607 4.32853
+35.0112 -8.65186 4.77959
+34.2 -8.65864 5.38416
+33.8706 -9.31907 6.06504
+33.4901 -9.05569 6.90085
+32.8852 -8.48285 7.29926
+33.6365 -8.57228 8.05406
+33.6922 -9.14675 8.91466
+33.1272 -8.84653 9.72047
+32.7169 -9.70445 10.0324
+33.3796 -10.289 10.4157
+33.5528 -10.2831 9.42283
+33.2557 -10.6933 8.53482
+32.2923 -10.8789 8.24253
+31.5824 -11.2466 8.8571
+30.6837 -11.6326 9.12681
+30.1057 -11.0622 9.63957
+30.2899 -10.164 9.4399
+30.5508 -9.93097 10.456
+30.0458 -10.33 11.2681
+29.3897 -10.2496 10.4601
+28.6116 -9.80107 9.99103
+29.1903 -9.10312 10.1896
+29.099 -8.83879 9.16082
+29.8993 -9.06249 8.57184
+30.6974 -8.43336 8.65562
+30.022 -8.20944 8.02871
+29.8279 -8.85202 7.3371
+29.1209 -9.35446 6.81811
+28.3278 -9.56415 7.41364
+27.608 -8.83841 7.63856
+27.5835 -7.85184 7.86513
+28.4599 -7.79346 7.37987
+28.9163 -7.01878 6.95048
+29.1053 -6.06529 6.73721
+28.1841 -5.65609 6.80171
+28.0847 -5.63993 5.84825
+28.0927 -5.36456 4.91129
+27.1236 -5.65872 4.69688
+26.39 -5.42837 5.27965
+25.6625 -5.74844 5.90028
+26.1591 -6.19242 6.59149
+26.3069 -6.87009 5.78763
+27.0737 -7.37034 6.07578
+27.3549 -8.30608 5.8906
+26.7767 -7.9596 5.15187
+27.2041 -7.71288 4.27471
+27.6301 -8.50493 3.9897
+27.5843 -9.26708 4.55891
+28.4436 -9.60925 4.18519
+28.9158 -9.68085 5.09456
+29.7055 -9.82117 5.58227
+29.5243 -10.6235 4.98537
+29.5809 -10.6481 3.99447
+29.2091 -11.4145 3.53328
+30.0176 -11.2699 2.96383
+29.8613 -10.5881 2.22583
+29.1063 -10.2153 1.66337
+28.092 -10.0684 1.47455
+27.6564 -10.0971 0.6689461
+27.1726 -10.7571 1.29938
+26.48 -10.0562 1.19402
+26.6476 -9.13461 1.01703
+25.6219 -9.33889 0.9885751
+25.3633 -9.52066 1.95745
+24.9068 -8.6322 2.20303
+23.9102 -8.67964 2.09835
+24.1284 -9.29728 1.44139
+23.8026 -10.1956 1.09527
+23.3007 -9.45246 0.8289771
+22.3915 -9.30147 0.5056851
+22.9022 -8.56307 0.06749312
+22.8223 -8.54835 -0.9401809
+23.0324 -9.46253 -1.20505
+22.3088 -8.98211 -1.74958
+23.0804 -8.71315 -2.24662
+23.4905 -8.17989 -3.06044
+23.5068 -8.09587 -4.02454
+22.7455 -8.69866 -4.43668
+22.209 -8.05275 -4.97762
+21.9579 -7.79956 -4.01848
+21.9218 -6.81984 -3.67232
+21.592 -6.81543 -4.59478
+20.8657 -6.85379 -5.1639
+19.9951 -6.37688 -5.44365
+19.2739 -5.71969 -5.69597
+18.918 -4.79987 -5.68608
+19.1696 -4.08604 -5.1188
+20.1213 -4.39055 -5.13912
+21.02 -4.02057 -4.9556
+21.9626 -4.3638 -4.83917
+22.3643 -3.47037 -4.56497
+22.7827 -3.67413 -5.4582
+23.0535 -4.119 -6.30472
+24.0037 -4.38655 -6.10592
+23.9948 -4.26808 -7.06435
+23.6191 -5.16226 -7.11237
+23.7493 -5.71375 -7.94788
+24.6784 -5.84114 -8.19411
+25.1583 -4.99548 -8.40189
+25.7388 -5.77589 -8.2629
+26.2099 -5.65823 -9.1549
+25.9823 -5.13969 -9.98033
+26.5526 -4.47074 -10.4406
+27.3034 -4.15758 -10.9512
+27.5832 -4.06609 -11.9612
+28.2319 -3.49281 -11.4783
+27.646 -2.67984 -11.2802
+26.8681 -2.63756 -11.9747
+26.2699 -3.41871 -12.2544
+25.4762 -3.0404 -11.8178
+25.1754 -3.44536 -12.707
+24.9606 -3.71319 -13.6296
+24.404 -3.86321 -14.4701
+24.31 -4.64046 -15.0155
+23.846 -5.15495 -14.346
+23.2558 -4.40976 -13.9488
+22.3011 -4.32868 -13.8905
+21.4468 -4.51793 -13.4359
+21.6716 -5.3551 -13.03
+21.9601 -5.5289 -13.8909
+22.7857 -6.13328 -13.9698
+22.6706 -6.12075 -14.9819
+23.4563 -6.76854 -14.8538
+23.4158 -7.73058 -15.1291
+23.0107 -7.76903 -14.2307
+21.9765 -7.68758 -14.279
+21.2185 -8.24973 -13.9614
+20.6141 -7.48282 -14.0717
+20.3311 -7.03145 -14.8709
+19.6488 -6.58002 -14.2463
+19.3831 -6.00318 -13.5513
+18.8521 -5.22884 -13.8288
+19.547 -4.93606 -14.5084
+18.8787 -4.48621 -15.0176
+19.5449 -4.83195 -15.7883
+19.9428 -3.9513 -15.7606
+19.2682 -4.15087 -16.587
+19.9738 -3.53139 -16.7844
+19.9848 -2.57785 -17.1127
+19.2808 -2.63557 -17.738
+18.2922 -2.75479 -17.5353
+18.1299 -3.78422 -17.5609
+17.1357 -3.87686 -17.7125
+17.4467 -3.3906 -16.9265
+17.5726 -4.4474 -16.9032
+16.724 -4.94851 -16.9165
+16.3324 -5.62491 -17.5655
+16.6222 -6.03115 -16.6336
+17.2588 -6.09487 -15.8541
+16.3358 -6.24695 -15.5686
+16.0012 -5.30621 -15.5685
+15.5615 -4.76364 -14.8485
+15.9007 -4.11701 -14.2041
+15.4552 -3.25284 -14.1182
+16.2838 -3.14296 -13.5633
+15.7478 -2.69394 -12.8261
+15.3896 -2.17242 -13.6447
+16.1142 -1.56656 -13.3594
+16.5132 -0.9405981 -14.0271
+15.9616 -0.6016441 -14.7666
+16.0197 -1.49783 -15.2834
+16.7919 -2.21733 -15.3315
+17.7683 -1.93402 -15.4326
+18.5295 -2.15149 -14.8577
+18.0183 -2.08847 -13.9347
+17.3 -2.22148 -13.3161
+18.0794 -2.91678 -13.2893
+18.4935 -2.54808 -12.5093
+19.2128 -3.04227 -13.1081
+20.0395 -2.49772 -13.4145
+19.4693 -1.73392 -13.8168
+19.9279 -1.17757 -13.1122
+20.0691 -1.02652 -12.0996
+20.6845 -0.3871451 -11.6442
+21.1924 0.4520519 -11.439
+21.4819 0.06560823 -10.6696
+21.4999 -0.9223161 -10.635
+21.2609 -1.23151 -9.75078
+20.3791 -0.8534071 -9.94125
+19.8645 -0.2292901 -10.5758
+19.3744 -1.08749 -10.5688
+18.6716 -1.79347 -10.8108
+18.1438 -1.89377 -9.95117
+17.3547 -1.56361 -9.43627
+17.8309 -0.7714351 -9.85097
+18.0802 0.03169223 -9.26769
+17.2843 -0.4091111 -8.8699
+16.3864 -0.3268651 -9.15058
+16.8109 0.1321019 -9.91565
+16.1958 -0.1311841 -10.7075
+16.2972 -1.04833 -10.3204
+15.5602 -1.28568 -10.9023
+14.9049 -1.96251 -10.8378
+14.9227 -2.54102 -10.0352
+15.6793 -2.57089 -9.37311
+14.8704 -2.33241 -8.89545
+14.6321 -1.51142 -9.50062
+13.8189 -1.757 -8.96638
+13.1587 -1.78485 -8.20451
+12.5752 -1.03694 -7.85536
+12.3793 -0.09291317 -7.378
+12.4442 -0.6874451 -6.61219
+13.2081 -1.40237 -6.60815
+13.5742 -2.09735 -7.26852
+14.1819 -2.69228 -7.72365
+14.8655 -2.47256 -7.15004
+15.6581 -2.41446 -7.83384
+15.7897 -1.54197 -8.2162
+16.5001 -1.19957 -7.5181
+17.4247 -1.64966 -7.64925
+17.1328 -2.2476 -8.47395
+16.7276 -2.92881 -7.9174
+16.0624 -3.53749 -7.41945
+16.6832 -3.88068 -6.67993
+16.9977 -4.85212 -7.00006
+16.3243 -5.08364 -6.28051
+15.65 -4.56183 -6.72452
+14.9936 -3.98435 -6.27175
+14.3269 -4.68876 -6.04197
+15.0228 -5.37707 -5.95485
+14.5918 -6.17246 -5.52147
+15.3543 -6.04947 -4.94286
+14.5787 -6.16895 -4.26887
+13.7782 -5.92649 -4.70998
+13.2587 -5.59046 -5.56648
+12.3938 -5.86675 -5.25926
+12.4697 -6.89185 -5.06957
+11.692 -6.5691 -5.51415
+12.0109 -6.635 -6.46841
+12.2923 -7.45526 -7.01414
+12.3603 -7.70137 -7.953
+11.6838 -7.44462 -8.7167
+12.2538 -6.63532 -8.84558
+12.0013 -6.48273 -9.78792
+12.0492 -5.58948 -10.3212
+12.9951 -5.25651 -10.0982
+13.3225 -5.54465 -11.0528
+12.9055 -6.03874 -11.817
+13.8524 -5.97071 -12.2858
+13.1702 -6.28361 -12.9938
+12.8454 -5.82946 -13.9232
+11.8798 -6.03599 -13.8645
+11.6044 -6.02081 -12.9172
+11.2648 -6.89406 -13.1481
+10.9064 -7.22434 -12.2548
+11.5503 -7.95828 -12.1246
+11.5305 -8.86314 -12.6355
+11.7806 -9.84761 -12.8511
+11.8736 -10.0204 -13.829
+11.7996 -9.06624 -13.728
+11.7472 -8.0858 -13.7264
+11.398 -8.23584 -14.6983
+11.914 -8.20178 -15.5426
+11.4008 -7.45577 -15.7854
+10.5143 -7.28124 -15.5486
+9.8521 -7.93458 -15.3434
+9.36255 -8.67757 -14.9835
+8.50705 -8.73542 -14.4627
+8.74567 -8.11551 -13.7601
+9.46239 -8.3822 -12.9762
+9.10679 -8.2364 -12.039
+9.54129 -7.33471 -12.1277
+9.85052 -6.42569 -12.0191
+8.88231 -6.30532 -11.6957
+8.0742 -6.43054 -11.2777
+7.14247 -6.5799 -10.9702
+6.65417 -5.7635 -11.1727
+6.54965 -6.09424 -12.1064
+5.72798 -5.48805 -12.0619
+5.95235 -4.49246 -11.9638
+4.96982 -4.28614 -12.0941
+4.1987 -4.92491 -11.9172
+4.47482 -4.73513 -10.9243
+4.83821 -5.58466 -10.5189
+4.24915 -5.7855 -11.3189
+5.01446 -6.2877 -11.6369
+4.23763 -6.89545 -11.3957
+4.59936 -7.628 -11.7485
+4.4181 -8.56698 -11.4572
+4.21018 -8.29685 -12.3052
+4.03851 -9.24292 -12.405
+3.88376 -10.16 -12.1114
+3.82946 -10.4131 -13.0426
+4.06767 -10.2056 -13.92
+3.99908 -9.27266 -13.7012
+3.13309 -9.16214 -14.1684
+3.05384 -8.1949 -14.4632
+3.40458 -7.94318 -13.612
+3.93945 -7.10694 -13.6529
+4.67749 -7.2189 -12.8922
+5.06677 -6.54218 -13.414
+4.65346 -5.85507 -13.9756
+4.45203 -6.24409 -14.8497
+3.88881 -5.74231 -15.5453
+3.53485 -6.64351 -15.62
+3.81052 -7.29601 -16.3239
+3.93557 -8.25138 -16.6774
+4.3958 -8.90868 -17.1947
+3.51655 -8.74846 -17.6336
+2.68294 -9.17626 -18.0319
+3.105 -8.78552 -18.8555
+3.57589 -9.11159 -19.6713
+3.27061 -9.9014 -19.2446
+2.74246 -10.7051 -19.544
+2.55407 -10.8384 -20.5086
+2.57787 -11.6623 -21.1944
+3.5566 -11.7755 -21.068
+3.22461 -12.319 -20.2125
+3.71994 -12.9002 -19.6476
+3.75334 -13.8808 -20.0069
+4.0149 -14.3175 -20.8718
+4.95558 -14.2144 -20.8585
+5.31318 -13.8578 -20.0161
+6.01763 -13.5645 -19.3683
+5.79027 -12.887 -18.6986
+6.54618 -12.4622 -19.1972
+6.88619 -12.3958 -18.2773
+6.29552 -12.0626 -17.5815
+6.59719 -13.0086 -17.4379
+6.09462 -13.8161 -17.19
+5.05742 -13.793 -16.9093
+5.11798 -12.8885 -17.314
+5.27766 -12.0362 -16.8541
+6.04158 -11.7761 -16.3381
+5.96897 -12.2592 -15.4999
+6.07507 -13.2007 -15.2062
+6.75712 -13.8651 -15.3598
+6.11522 -13.8122 -16.1398
+5.56459 -14.7116 -16.2412
+5.35923 -14.9018 -15.2885
+4.50331 -14.9562 -15.6741
+3.71125 -14.7151 -16.1995
+2.95745 -15.222 -16.4813
+3.38018 -14.7894 -17.2242
+4.01943 -15.6143 -17.1881
+3.3093 -15.4903 -17.8479
+4.16681 -14.9474 -17.9757
+4.45492 -14.9889 -18.9239
+5.18139 -15.1956 -19.6209
+6.07536 -15.6387 -19.5032
+6.39451 -16.0296 -18.6041
+6.47343 -16.1351 -17.5581
+6.5179 -16.159 -16.5955
+6.44267 -15.9677 -15.5609
+7.35688 -16.3575 -15.3142
+7.73983 -16.0645 -16.1738
+7.59766 -16.0659 -17.233
+8.44892 -16.6487 -17.2768
+9.18054 -16.5667 -16.6818
+9.16372 -15.8 -17.2891
+9.80738 -15.0865 -17.1276
+10.7426 -15.0994 -16.6843
+10.5728 -14.1018 -16.5193
+9.66996 -14.1386 -16.0461
+8.85921 -13.9676 -16.5411
+8.34369 -14.5648 -15.9615
+7.90081 -13.8079 -15.3772
+8.16195 -12.8751 -15.4896
+9.06065 -13.1209 -15.2211
+9.47578 -12.1989 -15.0843
+9.43857 -11.1932 -15.1136
+10.3264 -11.5877 -15.4293
+10.8599 -12.1161 -14.8104
+10.5214 -12.7539 -15.4422
+10.4893 -12.1692 -16.2028
+11.2655 -12.1519 -16.6831
+10.8799 -12.2761 -17.6134
+10.8519 -11.2898 -17.377
+9.96209 -11.5192 -17.5836
+9.38957 -12.089 -18.0777
+9.06266 -12.3141 -17.1683
+9.15303 -13.2732 -17.5232
+9.75613 -13.6566 -18.1925
+9.29802 -13.7399 -19.0927
+9.92087 -14.2631 -19.604
+9.87721 -15.1772 -20.0196
+8.92611 -15.3246 -20.3178
+8.14627 -15.7473 -20.9115
+8.60383 -14.9525 -21.1878
+8.31477 -14.4274 -22.0437
+7.43117 -14.0285 -21.711
+6.48527 -13.9725 -21.4907
+5.87564 -13.2406 -21.7622
+5.34181 -12.6697 -21.1047
+5.18015 -11.7172 -20.6699
+6.00814 -11.465 -20.2066
+5.31066 -11.3245 -19.5206
+4.75262 -10.6327 -19.0356
+5.29103 -9.80792 -18.9444
+4.86012 -9.49027 -19.7793
+5.00206 -8.89886 -20.5085
+4.31486 -8.16164 -20.8406
+3.76051 -7.41923 -21.1529
+3.35498 -8.21781 -21.6072
+2.40621 -7.81064 -21.4541
+1.69206 -8.31755 -21.987
+1.67204 -8.21179 -22.9949
+0.933643 -7.6586 -23.2668
+1.37687 -7.31341 -24.0375
+1.72107 -6.62773 -24.7177
+1.85173 -6.79856 -25.6954
+1.87749 -7.71862 -25.3034
+2.69426 -7.81314 -24.9247
+3.38983 -8.57092 -24.8521
+2.60494 -9.00279 -25.2271
+2.71021 -9.81704 -24.6492
+3.25392 -9.48564 -23.9264
+3.96275 -9.34345 -23.2226
+4.17688 -8.85005 -22.3598
+4.79146 -9.53039 -22.6683
+5.29316 -8.89936 -23.3685
+5.3619 -8.41291 -24.2144
+6.24216 -7.89562 -24.2551
+6.40015 -7.06308 -24.8517
+7.26197 -6.94339 -24.3876
+8.08437 -6.38125 -24.1393
+8.81509 -5.76924 -24.1109
+7.88297 -5.30797 -24.0827
+7.47347 -4.43912 -23.8489
+7.23621 -4.15531 -22.8953
+7.7792 -3.32538 -22.7887
+8.04141 -3.86582 -21.9637
+8.88505 -4.04521 -21.3959
+8.60925 -4.98005 -21.5848
+9.11142 -5.86783 -21.693
+9.54804 -6.50219 -22.2861
+9.18395 -7.02752 -21.512
+8.40021 -7.07126 -22.0499
+7.5598 -7.59429 -22.1259
+7.48781 -7.59681 -21.0884
+8.04822 -7.95729 -20.3484
+7.47347 -7.32285 -19.9293
+7.80925 -6.39547 -20.1817
+7.20787 -5.96589 -20.8944
+6.596 -6.65475 -21.3646
+6.28512 -6.25748 -22.2499
+5.71755 -5.71273 -22.8991
+5.16775 -4.94409 -23.0402
+4.58835 -5.39681 -22.4266
+4.68232 -4.4069 -22.2742
+5.50608 -4.07434 -22.0598
+5.16879 -3.8412 -21.1346
+5.46359 -4.26161 -20.2735
+4.91734 -4.90197 -19.7913
+5.54971 -4.6526 -19.0339
+6.24377 -5.39012 -19.1107
+6.83772 -5.16891 -19.8784
+6.93569 -4.17625 -19.5471
+6.72659 -4.28783 -18.5526
+6.52914 -4.16882 -17.6279
+6.82549 -4.25095 -16.6625
+7.0231 -3.94231 -15.6988
+7.94676 -4.07267 -15.4029
+8.33437 -4.85926 -14.8666
+8.3971 -5.76893 -14.5558
+7.52297 -6.20984 -14.3586
+8.08019 -6.55877 -13.5311
+8.99507 -6.26774 -13.1712
+9.75652 -5.6106 -13.4742
+10.6417 -5.90177 -13.7532
+10.57 -6.23204 -14.7105
+11.2211 -5.55426 -14.4786
+11.9457 -5.12367 -15.0225
+12.1852 -5.97619 -15.5284
+12.3604 -6.77529 -16.0528
+13.1118 -6.2103 -15.7193
+14.0003 -5.9677 -15.4423
+13.973 -6.81053 -14.9124
+13.604 -7.68192 -14.6828
+12.6722 -7.57804 -14.497
+12.5375 -8.56068 -14.6176
+12.7723 -9.22528 -15.3507
+13.6585 -9.49958 -15.5095
+13.967 -9.73231 -16.4749
+14.7339 -9.36324 -17.0519
+14.1738 -9.45675 -17.9398
+14.0685 -9.7012 -18.9063
+14.2721 -9.10496 -19.6467
+14.1081 -8.15977 -19.8521
+13.3831 -8.84652 -20.0493
+13.7039 -9.66948 -20.4803
+14.6751 -9.55269 -20.5059
+15.5333 -10.1198 -20.4703
+15.9035 -10.4838 -19.6071
+16.1499 -11.2763 -20.1485
+16.6713 -11.3476 -20.989
+16.178 -10.7906 -21.6836
+16.3294 -10.4079 -22.6152
+15.4199 -10.9505 -22.4815
+14.8428 -11.0046 -23.3739
+13.9904 -10.3675 -23.4553
+13.2857 -10.2653 -22.8059
+13.4007 -9.32155 -23.1393
+13.327 -9.2345 -24.1186
+13.9835 -8.61258 -23.6572
+14.3397 -8.34322 -24.5571
+14.952 -7.88276 -23.9108
+15.8867 -7.81423 -24.3205
+15.6916 -7.08621 -25.0171
+15.8933 -6.40276 -25.7624
+16.1602 -5.40715 -25.7702
+16.7393 -5.02075 -26.4824
+17.2442 -4.98768 -25.5935
+17.5296 -3.96997 -25.6782
+16.5698 -3.64645 -25.5806
+15.802 -4.22521 -25.1202
+15.7383 -3.46815 -24.4757
+14.9183 -3.02614 -24.0871
+14.3818 -2.51124 -24.7319
+13.8131 -3.30906 -25.0553
+13.0973 -3.58522 -25.7476
+13.9345 -3.88855 -26.2267
+13.558 -4.69868 -25.7517
+13.622 -4.89207 -26.6888
+13.8474 -4.96039 -27.6334
+14.8446 -4.81585 -27.6445
+15.0256 -5.39882 -26.8038
+15.6757 -6.1654 -27.0618
+15.4123 -5.88883 -27.9457
+15.362 -5.51275 -28.8626
+15.5804 -5.32557 -29.797
+16.3625 -5.92373 -29.7809
+16.3542 -6.64338 -30.4749
+15.5902 -7.18233 -30.2211
+15.0081 -7.74775 -30.7345
+14.5167 -8.4033 -30.0223
+15.4749 -8.23842 -29.7202
+15.8862 -7.70025 -28.9883
+15.5219 -6.90987 -28.5191
+15.0255 -7.16154 -27.6995
+15.6024 -7.92836 -27.5473
+14.7743 -7.98083 -26.9475
+15.5623 -8.34534 -26.3214
+14.9517 -9.1176 -26.1788
+15.485 -9.25324 -25.3534
+16.3537 -9.70271 -25.1853
+16.665 -9.91503 -24.2903
+17.6323 -10.1468 -24.3917
+18.3082 -9.43831 -24.5163
+19.109 -9.26375 -23.8507
+19.3495 -8.30183 -24.0907
+19.8314 -8.27773 -23.2275
+19.9587 -7.77677 -22.3474
+20.549 -7.04512 -21.8889
+21.1534 -6.35341 -22.2972
+20.9672 -6.07794 -21.3274
+20.6352 -6.50328 -20.3644
+21.2523 -7.26333 -20.4483
+20.8615 -7.11025 -19.5093
+19.8876 -7.17865 -19.1638
+19.3312 -6.36173 -19.2353
+20.0118 -6.08181 -18.5937
+19.202 -6.00994 -18.0225
+19.6197 -5.11386 -18.0133
+20.379 -4.61503 -18.3947
+20.9127 -4.61957 -17.5194
+20.9148 -3.69885 -17.9314
+21.5436 -3.24563 -18.6015
+21.8881 -3.25916 -19.5484
+22.0221 -2.34286 -20.0806
+22.0658 -1.62993 -19.4544
+22.7216 -1.00753 -19.2219
+22.2342 -0.8696961 -20.1535
+22.4419 -1.24312 -21.0358
+22.0501 -0.7951491 -21.8812
+21.8347 0.1317419 -21.4937
+21.0571 -0.1067441 -20.9489
+21.001 0.3465859 -19.9953
+21.8355 0.7861109 -19.6148
+21.5871 0.9436489 -18.6884
+22.0972 1.78834 -18.9148
+22.1263 2.8164 -19.0554
+21.9275 2.90986 -18.0475
+22.202 3.69677 -17.6129
+21.8649 4.55134 -17.3062
+22.512 4.08227 -16.7111
+23.0097 3.19879 -16.9191
+23.6456 3.85572 -17.2834
+24.4951 4.35555 -16.9988
+24.7661 4.54688 -16.0003
+24.1356 5.25866 -15.7565
+23.9589 6.12158 -16.2592
+24.1297 6.63728 -15.4253
+24.0164 7.48711 -14.9479
+24.4206 8.06712 -14.2153
+25.2387 8.12538 -14.8389
+24.9034 7.80166 -15.7242
+24.4987 8.05162 -16.6046
+23.8772 8.11679 -17.3886
+23.7129 7.6221 -18.2424
+23.4232 6.95134 -18.8176
+23.701 5.9467 -18.7974
+23.4847 5.35271 -17.9615
+22.786 5.37258 -17.258
+22.0103 5.79892 -17.7749
+21.3605 5.55046 -16.9071
+21.6403 5.66122 -15.936
+22.5319 6.28481 -16.0721
+22.0097 6.98071 -15.626
+22.4731 7.64317 -14.9904
+21.731 8.27225 -14.9306
+21.5685 8.90573 -15.7629
+22.5318 9.09689 -15.6777
+22.4554 9.68939 -14.8811
+23.3051 10.0631 -15.0712
+24.0742 10.3829 -14.5804
+24.2638 10.1997 -13.6274
+24.5833 9.35237 -13.163
+24.5575 10.1704 -12.4908
+24.4137 10.0169 -11.516
+25.1729 9.56208 -11.1656
+24.6237 9.69204 -10.329
+24.7246 8.72482 -10.5023
+24.3687 8.22521 -11.281
+25.1616 7.5844 -11.1103
+24.7375 7.24734 -11.9275
+23.9202 7.10187 -12.402
+23.1028 6.53721 -12.2588
+22.8602 5.59963 -12.1298
+21.9647 5.27957 -11.9871
+21.36 4.80487 -12.7033
+20.6123 5.3045 -13.0915
+19.7503 5.01882 -12.4957
+19.546 5.37484 -13.4154
+19.1566 4.49161 -13.351
+18.9008 3.81449 -13.9525
+19.1784 2.87603 -13.9014
+18.5617 2.26281 -13.6592
+18.4271 1.68139 -12.7868
+18.5002 2.5467 -12.3191
+18.6226 2.16832 -11.4478
+18.0421 2.52053 -10.6589
+17.4866 2.68864 -11.5467
+16.8739 2.52193 -12.3225
+16.1929 3.16652 -12.0273
+15.8184 4.06298 -12.2037
+14.8401 4.17653 -12.5276
+14.3545 4.8152 -13.1389
+13.4432 4.53628 -12.94
+12.905 4.64293 -12.0719
+12.4288 5.24999 -12.7346
+13.2952 5.56853 -13.0622
+13.4708 5.97749 -12.0903
+14.3368 6.10209 -12.4741
+14.2096 7.09977 -12.7956
+13.7808 7.03869 -13.6956
+14.5748 7.64674 -13.6422
+15.3196 7.43041 -14.2665
+16.0511 7.12142 -14.8729
+16.2657 6.19944 -14.5027
+15.9113 5.33651 -14.0867
+15.5493 4.48042 -13.7272
+16.441 4.0453 -13.7069
+17.285 3.51449 -13.4833
+17.7652 3.89235 -14.2955
+18.3069 3.35072 -14.9362
+18.3543 3.15344 -15.9176
+19.2302 3.1087 -16.4359
+20.1343 3.50171 -16.1713
+19.8162 3.34045 -15.2836
+20.8385 3.45826 -15.1842
+21.1403 3.08993 -16.0806
+20.5095 2.6288 -16.7744
+20.727 1.88922 -16.0658
+20.5002 1.06739 -16.5525
+20.6621 0.4656989 -15.7765
+21.0303 1.0927 -14.9463
+20.7314 1.89995 -14.4458
+20.5083 1.0493 -13.9128
+19.8168 0.4131059 -13.5225
+19.1657 -0.3945351 -13.5876
+19.9988 -0.6632901 -14.0608
+20.7868 -1.18704 -14.4985
+20.5566 -1.35438 -15.4337
+19.6062 -1.65251 -15.4343
+18.7237 -1.20534 -15.2125
+18.8385 -0.8306481 -16.1451
+18.3425 -0.08256157 -16.4229
+18.1511 -0.02739007 -17.4243
+17.8836 0.7306219 -16.8715
+17.5699 0.6075169 -15.9118
+17.1727 0.9836439 -15.089
+16.6693 0.1883479 -14.7214
+17.2052 0.5112789 -13.9844
+16.3087 0.8879749 -13.9837
+15.8487 0.8900969 -13.0091
+16.2043 1.45603 -12.2856
+17.1105 1.42141 -12.8317
+16.4205 1.71307 -13.4963
+15.6601 2.28462 -13.7098
+15.3733 2.99154 -13.0369
+14.5075 2.97832 -12.7225
+14.2083 2.43874 -13.5273
+13.7416 2.6357 -14.3347
+13.4547 3.49108 -14.615
+14.3435 3.44813 -14.1866
+15.2309 3.38236 -14.7119
+15.2003 3.13648 -15.734
+15.2061 2.19474 -15.9742
+15.8017 2.53744 -16.7472
+15.8073 2.98247 -17.7539
+15.9914 3.49149 -16.9164
+15.2764 4.13416 -17.2703
+14.9823 4.05711 -18.2289
+15.2098 3.76082 -19.1801
+15.6463 3.84523 -20.0011
+15.0384 4.1983 -20.5907
+14.6462 5.08659 -20.8417
+14.682 6.11948 -20.9262
+13.8006 5.93755 -20.5679
+13.758 5.48738 -19.6461
+13.1676 5.96195 -18.961
+13.4215 6.7856 -18.4382
+13.9051 7.34726 -19.0807
+14.8539 7.0614 -19.1461
+15.8229 7.02527 -18.7751
+16.7584 6.68764 -19.0279
+17.6767 6.6458 -18.4949
+16.8326 6.75542 -17.8868
+16.5382 7.54972 -17.3584
+17.3713 7.46073 -16.8415
+18.0453 8.02251 -17.3016
+18.2807 8.91538 -17.7771
+17.3094 8.9162 -17.4733
+17.0459 9.64554 -16.8612
+18.0431 9.67845 -16.769
+18.2496 10.173 -15.9098
+18.788 9.67459 -15.2328
+18.685 8.72001 -15.0023
+18.7521 9.11242 -14.0652
+18.4122 9.11093 -13.104
+17.6082 9.61161 -13.3981
+17.599 10.6152 -13.1763
+17.0548 10.9594 -12.3913
+17.778 11.1785 -11.655
+17.3216 10.7032 -10.8748
+18.2708 10.3293 -10.9745
+18.5967 10.6894 -10.0628
+19.3247 10.0592 -9.68923
+19.1846 9.53826 -8.81105
+18.6862 9.62056 -7.951
+19.1801 10.1324 -7.19787
+19.8705 10.9132 -6.95018
+20.4746 10.8162 -7.78612
+20.1748 11.7486 -7.80785
+20.0553 12.2995 -8.63065
+20.4068 13.2668 -8.56897
+21.1986 13.6842 -8.22209
+21.2348 14.158 -9.13418
+21.3778 15.1868 -9.04509
+22.0451 15.7931 -8.71462
+22.8369 15.1784 -8.8575
+23.4532 14.7692 -9.57795
+23.469 15.1264 -10.5077
+22.651 15.6826 -10.275
+23.0506 16.577 -10.0585
+23.3986 16.7369 -11.0145
+23.0291 17.2643 -11.8046
+23.8328 16.8482 -12.2766
+24.2225 16.658 -13.1784
+23.7005 15.9435 -13.5814
+22.9801 15.3448 -13.3387
+23.5692 15.6591 -12.6395
+23.2168 15.9469 -11.7898
+22.3843 16.1811 -12.1987
+21.6661 16.3355 -11.5978
+21.4383 15.4079 -11.717
+20.4956 15.1666 -11.5941
+20.5871 15.2429 -10.6389
+21.4817 15.0216 -10.647
+22.3145 14.8174 -10.1533
+22.9164 14.062 -10.3292
+23.5404 13.3073 -10.4417
+24.2839 12.7071 -10
+23.6723 12.05 -10.4299
+24.0734 12.3927 -11.3546
+23.2417 12.9191 -11.2407
+22.728 12.3516 -11.8591
+23.1634 11.5065 -12.0083
+23.5172 11.5848 -12.9267
+24.4227 11.6291 -12.522
+25.3388 11.3641 -12.2328
+25.8516 11.8918 -12.8846
+26.7296 11.7665 -12.3845
+26.146 12.4421 -11.8651
+25.8834 13.3005 -11.3766
+26.5233 13.8263 -11.9913
+26.4278 14.8324 -11.7555
+26.2343 15.0705 -12.7696
+25.3251 14.9869 -13.1457
+25.4275 14.2032 -13.8038
+24.8933 13.4193 -14.1199
+24.8765 12.4237 -14.365
+25.5023 11.9053 -14.9133
+26.1045 11.8456 -14.0035
+27.1154 12.0632 -14.1235
+27.643 11.3763 -14.4256
+28.1721 10.7726 -15.0011
+27.5851 10.0692 -15.3589
+28.3234 10.1685 -16.0189
+27.9105 10.517 -16.8656
+27.7188 9.76253 -17.4664
+27.1069 8.9916 -17.4102
+26.4127 9.72252 -17.6131
+25.6559 9.11338 -17.8128
+24.938 8.89472 -18.5096
+25.6656 8.47135 -19.036
+25.8833 9.00822 -19.7807
+24.8948 9.15421 -19.7174
+24.2256 9.86735 -19.7759
+24.8911 10.4345 -20.1413
+24.6279 11.4225 -19.9651
+25.5118 11.9213 -20.2515
+25.543 12.7259 -19.7605
+25.4722 13.674 -20.2315
+25.3492 14.0004 -21.1318
+25.0311 13.1076 -21.5105
+24.0643 12.9286 -21.5353
+23.0808 13.0603 -21.6328
+23.0174 13.473 -20.7649
+22.2017 14.0062 -20.7
+22.6885 14.5179 -20.0426
+21.9861 14.2418 -19.3913
+21.1688 13.7834 -19.6245
+20.2094 13.7266 -19.3926
+20.6585 12.8696 -19.5323
+20.0227 13.0007 -20.2545
+20.3059 13.3365 -21.1747
+19.88 12.5039 -21.476
+20.1246 12.8322 -22.3911
+19.9956 11.8383 -22.4373
+19.4304 12.149 -23.2166
+18.3874 12.2879 -23.2836
+18.836 12.6903 -24.0356
+18.544 13.5334 -24.5211
+19.28 13.1196 -25.0348
+19.451 12.4943 -25.7337
+19.1711 11.5378 -25.8066
+19.8754 11.6665 -26.6002
+18.9273 11.4798 -26.8863
+17.9509 11.8591 -26.9561
+17.1653 11.9057 -26.3041
+16.9298 10.9468 -25.9047
+16.1798 10.3937 -25.6191
+15.7214 11.1817 -25.2768
+15.0691 11.7965 -25.7414
+15.8541 12.3157 -25.6227
+16.4264 12.7976 -24.9389
+16.8514 13.7069 -25.2529
+16.1423 14.1096 -25.8364
+15.8446 13.6833 -26.6248
+15.3212 13.1112 -27.2488
+15.4995 12.4618 -28.034
+15.8181 11.5176 -28.0446
+15.4704 10.6005 -28.5186
+16.2791 10.0418 -28.8471
+17.0722 9.50835 -28.8125
+17.3787 8.54976 -28.6415
+17.5537 8.04115 -27.8371
+18.0134 8.70534 -27.2566
+18.4642 9.29112 -26.5261
+19.273 9.31689 -25.9521
+18.9961 8.69048 -25.2223
+19.4354 9.2031 -24.4783
+18.6634 8.79545 -24.0443
+18.1054 7.9731 -24.2469
+17.6262 8.36937 -23.5681
+17.772 7.5642 -22.9342
+16.9008 7.14537 -22.5655
+16.2611 7.3539 -21.8611
+16.464 7.929 -21.0222
+16.2511 7.21054 -20.3162
+15.7565 6.34318 -19.853
+16.3611 5.60833 -20.1039
+16.5355 4.95987 -20.8844
+17.2909 4.33639 -20.7946
+18.0782 4.4023 -20.1747
+18.8616 3.82131 -20.0437
+18.048 3.2115 -19.958
+18.1157 2.21961 -20.1939
+18.7516 2.1882 -21.0178
+18.2738 1.28973 -21.0759
+17.9424 0.4680959 -21.4121
+18.1781 0.7371489 -22.4025
+17.554 1.37244 -22.8311
+18.4839 1.75796 -23.211
+18.9172 1.11307 -23.7504
+18.3084 0.3227529 -24.0159
+17.6493 0.09907643 -24.7153
+17.182 0.9854059 -24.5369
+17.0764 1.82232 -24.1414
+16.8995 2.21772 -23.266
+16.3682 2.75825 -22.6806
+15.7133 2.66829 -21.9187
+15.3879 3.42867 -21.3953
+14.4938 3.72575 -21.439
+14.6611 4.28375 -22.2447
+14.7806 5.0938 -22.7755
+13.8479 5.04936 -22.4523
+13.5529 5.67915 -21.6679
+12.9635 5.06877 -21.1101
+11.9863 5.22109 -20.9742
+12.4739 5.99732 -21.2969
+12.2789 6.61992 -22.0782
+11.3912 7.1776 -22.1798
+10.7441 7.83774 -22.2478
+11.505 8.50641 -22.0251
+11.2175 9.18915 -21.4256
+10.434 9.36228 -22.0264
+9.59138 9.3029 -21.4929
+9.32598 8.82699 -20.7512
+10.1059 8.66098 -20.264
+9.62242 9.22907 -19.6188
+9.05116 9.82937 -19.0445
+9.74009 10.4646 -19.1627
+9.76277 10.8519 -20.1288
+8.9292 10.8271 -20.6798
+7.98828 10.6386 -20.7407
+7.36782 11.4145 -20.7371
+6.64428 11.6573 -21.2691
+5.8015 11.6845 -20.7717
+6.12922 10.7356 -20.596
+6.30537 9.77558 -20.7313
+5.54139 9.72569 -21.3173
+4.78474 9.73401 -20.644
+4.24336 8.97553 -20.2519
+3.58938 9.20199 -19.5216
+2.94432 9.84404 -19.0957
+2.46095 10.4039 -19.7728
+2.14812 9.82945 -20.5213
+1.23488 9.56824 -20.1147
+0.386588 10.1415 -20.0085
+-0.114268 9.31126 -20.1356
+-0.609684 9.05596 -19.3703
+-0.116345 8.73692 -18.5828
+-0.677295 7.92326 -18.9425
+-1.10737 7.07699 -18.621
+-0.722975 6.4533 -19.2629
+0.007454425 6.5362 -18.612
+0.889192 5.98482 -18.5399
+1.01098 6.69148 -19.1971
+0.315712 6.13783 -19.7249
+-0.368301 6.04559 -20.508
+-0.02902773 5.18845 -20.1413
+0.58151 4.73576 -20.7465
+1.14943 4.55425 -21.6008
+1.93437 4.87301 -21.1306
+2.56001 4.05136 -21.1822
+2.45869 3.31713 -20.5322
+2.15638 2.94102 -19.6569
+2.45861 2.28554 -18.9606
+3.23489 2.39758 -19.608
+4.16262 2.18734 -19.8642
+4.45832 1.56619 -19.2113
+3.59192 1.11422 -19.1185
+2.89981 0.5647699 -19.4139
+3.30319 0.05458743 -18.6298
+3.03065 -0.1652671 -17.7394
+3.0335 0.7232119 -17.2583
+2.66821 0.2951069 -16.3683
+1.68013 0.2443409 -16.5999
+1.25333 0.6596589 -17.3823
+1.36613 1.21442 -16.6067
+0.794429 0.7615669 -15.9346
+0.602888 -0.2033291 -16.1436
+0.599418 -1.07427 -15.664
+0.178556 -0.3583211 -15.2042
+1.0484 0.1927069 -14.9699
+1.78118 0.6384499 -15.2984
+1.8421 1.33798 -14.6278
+1.06419 1.89727 -14.7102
+0.958993 1.98874 -13.6961
+1.45246 1.40597 -12.9637
+2.03372 2.15697 -12.6613
+2.48666 2.82657 -12.1236
+2.71193 2.59742 -11.1166
+3.56496 2.44339 -10.626
+4.42282 2.93548 -10.9124
+4.79843 2.21888 -11.4794
+4.81019 2.72033 -12.3165
+5.60783 2.20502 -12.6142
+5.76531 2.01689 -13.6608
+5.17615 1.32959 -14.1888
+4.64882 0.9458489 -13.457
+4.54837 1.92587 -13.8506
+3.66949 1.52393 -13.8686
+3.70472 0.7257869 -13.1676
+3.21996 0.03931973 -13.5301
+2.32409 -0.06936657 -13.9561
+2.25509 -0.9077691 -13.5352
+1.28403 -0.9120921 -13.2686
+1.55962 -0.8053471 -12.2622
+2.07853 -0.8321221 -11.39
+2.96269 -0.6324651 -11.9394
+3.9171 -0.5864101 -11.6555
+4.90525 -0.4619421 -11.7578
+4.58383 0.4428069 -11.7171
+4.35171 0.1804629 -10.7637
+3.53606 0.08697703 -10.1219
+3.95773 -0.8467421 -10.178
+3.99775 -1.83428 -9.86372
+3.47865 -1.42612 -9.08215
+3.06046 -0.7558851 -8.44099
+2.16138 -0.4875691 -8.37484
+2.18024 -1.38548 -8.79845
+1.64328 -1.26561 -9.56028
+1.0998 -1.45241 -10.3984
+0.536515 -2.0378 -11.01
+-0.252701 -1.77412 -11.519
+0.204412 -1.66229 -12.3586
+0.218641 -0.6711801 -12.2728
+0.517471 -0.09192697 -11.5376
+1.30077 0.009770654 -10.8925
+0.727763 0.4559529 -10.1998
+1.04943 0.1380059 -9.27933
+0.807864 0.1572499 -8.28873
+0.537264 -0.7919651 -8.48689
+-0.07878473 -0.5555671 -7.82777
+-0.193374 -1.40611 -8.35431
+-1.07986 -1.45352 -7.8771
+-0.637373 -1.75861 -7.04889
+-1.68933 -1.77252 -6.9446
+-2.48422 -1.15431 -6.85689
+-2.82331 -0.4757271 -7.56819
+-2.87203 0.1268349 -6.76894
+-2.38534 0.7311229 -6.1294
+-2.0138 -0.2102131 -5.92148
+-2.5087 -1.09497 -5.63007
+-1.57538 -1.31338 -5.39296
+-1.08232 -1.93171 -4.84215
+-1.2876 -1.11534 -4.28648
+-2.13204 -1.4137 -3.88271
+-1.33844 -1.82 -3.46019
+-0.864781 -0.9946151 -3.18706
+-1.34428 -0.09069667 -3.23954
+-1.78152 -0.8644681 -2.73939
+-2.53347 -0.8744561 -2.01978
+-3.05288 -0.8049151 -1.21029
+-3.40654 0.1859499 -1.2424
+-3.30156 -0.06793007 -0.2662259
+-4.2652 -0.07618187 -0.3892169
+-4.72969 -0.05812407 0.4708821
+-4.11701 -0.8759841 0.4016271
+-4.78122 -1.24302 -0.2799089
+-5.3325 -2.09282 -0.4551589
+-5.72361 -1.57339 -1.24173
+-6.69916 -1.40582 -1.37369
+-6.78113 -0.4867981 -0.8820919
+-5.9312 -0.1354211 -1.19415
+-6.17728 -0.6373761 -2.06159
+-6.91105 0.06091763 -2.08966
+-6.14994 0.5722719 -2.37088
+-6.12998 1.50968 -1.88311
+-6.7306 2.33884 -1.86092
+-6.46353 2.98736 -2.52695
+-7.31111 3.56097 -2.44299
+-7.68127 3.98651 -3.32391
+-8.5968 3.5428 -3.66944
+-9.41992 3.78404 -4.09519
+-9.68608 2.93385 -4.52634
+-9.96617 2.91389 -3.61911
+-10.3852 3.55328 -3.13088
+-9.9638 3.77818 -2.27026
+-9.14686 4.35515 -2.59088
+-8.40541 4.97466 -2.96442
+-7.41739 4.97538 -3.13185
+-7.3299 6.00454 -3.32601
+-6.81714 6.46497 -4.02947
+-7.07905 7.43123 -4.21016
+-7.69203 6.72433 -4.45681
+-7.74953 6.37344 -5.43257
+-7.68011 6.65598 -6.37041
+-8.20265 5.94554 -6.93059
+-8.99725 6.19042 -7.4383
+-8.55976 6.39527 -8.30373
+-8.03402 6.31344 -9.16696
+-7.67426 6.84898 -9.87227
+-7.15398 7.36694 -10.453
+-7.23584 8.37391 -10.5701
+-8.1951 8.33129 -10.7679
+-8.11674 7.73373 -11.4718
+-7.84741 8.72686 -11.6569
+-7.57609 9.02931 -12.4994
+-7.95854 8.16365 -12.7825
+-7.3952 7.4588 -13.3154
+-6.71185 7.05574 -12.6166
+-5.7682 6.78765 -12.3442
+-5.05686 6.11042 -12.5055
+-4.08918 6.28724 -12.5552
+-3.84818 7.27498 -12.4602
+-2.971 7.6659 -12.8094
+-2.70561 6.76967 -13.1766
+-2.90736 6.10524 -13.8567
+-2.58189 5.45051 -13.1776
+-2.32075 5.37246 -12.2159
+-2.3559 4.72206 -11.503
+-2.39597 3.66975 -11.1771
+-1.73313 2.88029 -10.9578
+-1.89163 3.2547 -10.0057
+-0.959939 3.57536 -9.97183
+-0.403854 3.00341 -10.5793
+0.173017 3.73846 -10.9698
+-0.709485 3.58099 -11.4054
+-1.40363 3.5623 -12.1598
+-1.09327 3.3939 -13.1147
+-0.576146 2.71041 -13.488
+0.358851 3.02293 -13.7638
+1.09813 3.59485 -13.4261
+2.01653 3.5502 -13.1749
+2.85557 3.71066 -13.6898
+3.31041 3.96829 -12.8413
+3.78721 3.32026 -13.4015
+3.76133 2.83033 -14.3185
+4.7063 2.74919 -14.6951
+5.0833 3.49301 -15.2532
+5.77606 3.70298 -14.6715
+6.70503 3.55938 -15.073
+6.40197 3.02803 -14.3157
+5.67386 2.52106 -14.6012
+5.04385 1.94818 -15.1646
+4.89611 1.15962 -15.814
+4.3312 0.5536319 -15.2571
+4.47495 -0.4515811 -15.2604
+5.38582 -0.4232491 -15.4591
+6.01099 -0.5750541 -14.7604
+5.99322 -1.04955 -13.8264
+6.41168 -1.60197 -13.2035
+7.30183 -1.37559 -13.5091
+7.80961 -1.43045 -12.6488
+7.98017 -0.7642221 -11.9277
+7.59944 -0.08110047 -12.4654
+6.75152 -0.1570411 -11.9121
+6.47895 0.2692999 -12.79
+6.19409 0.4683849 -13.722
+6.86937 1.17943 -13.7118
+7.09554 2.04824 -14.1124
+7.89975 2.3074 -14.6632
+8.45435 2.9208 -14.1
+7.7478 3.65644 -14.1445
+8.11149 4.05209 -15.0008
+7.86632 3.31738 -15.5607
+7.91586 2.42355 -16.1332
+7.58325 1.57773 -16.5912
+7.07434 0.8393939 -17.0237
+6.86367 -0.02400917 -17.463
+7.39397 -0.8501431 -17.2822
+7.02057 -1.18478 -16.4387
+6.40468 -0.5039211 -16.0014
+6.71946 -1.0128 -15.2451
+6.58252 -1.96687 -15.1954
+5.79003 -2.52636 -15.5518
+5.05796 -2.07332 -14.985
+4.68636 -1.94616 -14.0905
+4.22396 -2.59607 -13.4696
+4.77045 -3.00484 -14.1712
+5.71495 -3.16575 -14.2305
+6.62932 -3.4888 -14.235
+6.76596 -4.43269 -14.5537
+6.70533 -5.29637 -15.1463
+5.99685 -5.97891 -15.3356
+6.44775 -6.03187 -16.2043
+5.52284 -6.21395 -16.4676
+4.80351 -6.6693 -17.0347
+3.83873 -6.80935 -17.3588
+3.49684 -5.83226 -17.1479
+3.9838 -5.72784 -17.9998
+4.30139 -4.82225 -18.23
+4.58098 -3.97432 -18.608
+4.197 -3.77785 -17.7625
+3.54047 -3.08056 -17.3506
+3.51772 -3.34188 -16.415
+3.59249 -3.98642 -15.6008
+2.60172 -3.89766 -15.6753
+1.74083 -3.6099 -15.2596
+2.28536 -2.81783 -15.2544
+1.51479 -2.7454 -15.7778
+1.64239 -2.95682 -16.7478
+1.86556 -1.96615 -16.6619
+2.79507 -1.88612 -16.9573
+3.33286 -0.9583581 -16.8656
+3.83355 -1.8018 -16.6854
+4.24818 -0.9078041 -16.5357
+4.59806 -0.5400021 -17.3777
+5.23122 -0.9785461 -18.0612
+5.42352 -1.93557 -18.2492
+5.67411 -2.87496 -18.0313
+6.01116 -2.96445 -17.0113
+6.99499 -2.97878 -17.2395
+7.99266 -3.0955 -17.0294
+8.89674 -3.18417 -16.5848
+9.38641 -2.46012 -16.0401
+9.91873 -1.63274 -15.9261
+10.5554 -1.45965 -16.6276
+11.4792 -1.59501 -17.0061
+10.9965 -1.63509 -17.8897
+11.6093 -1.16565 -18.548
+10.8808 -0.4971311 -18.902
+10.1626 0.2036259 -18.7106
+9.23312 0.08656623 -18.2927
+8.49643 0.3760399 -18.9039
+8.16862 1.18128 -19.3453
+8.08025 1.97157 -19.9052
+8.8923 1.46368 -20.2602
+8.06599 1.39928 -20.8239
+7.32283 0.9059429 -20.3919
+6.29568 0.9345559 -20.2451
+5.52196 1.32724 -19.7498
+4.85224 0.5990429 -19.5069
+3.94809 0.2413829 -19.864
+4.02074 -0.7598761 -19.633
+4.22098 -1.25957 -20.4092
+4.48725 -1.10997 -21.3401
+5.4126 -1.27455 -21.153
+5.73149 -2.16087 -20.9346
+5.91549 -2.13553 -21.8565
+5.47474 -2.67334 -22.6208
+4.54644 -3.02773 -22.4434
+3.71418 -3.03889 -21.8559
+2.77794 -2.63371 -21.8094
+2.14814 -3.36566 -21.9087
+1.87587 -3.90962 -22.724
+1.76665 -3.51618 -23.6434
+2.65468 -3.20904 -23.8789
+3.16608 -2.4195 -23.4968
+3.79085 -3.0806 -23.9259
+4.4733 -2.82826 -24.7119
+4.62831 -2.2155 -25.4586
+4.94854 -1.38866 -25.1242
+4.89091 -0.6032211 -24.5314
+5.52947 -0.07740917 -25.0238
+6.36924 -0.5413291 -24.8533
+5.94139 -0.1985801 -24.0047
+5.54717 -0.3894441 -23.1294
+5.16864 -0.2479751 -22.2842
+4.21273 -0.2451801 -21.8848
+4.13751 -0.2606311 -22.886
+3.56769 0.5434939 -22.8118
+2.62091 0.5505289 -22.643
+2.29456 -0.1246861 -23.2065
+1.83482 -0.9639611 -23.4662
+0.870763 -0.8237791 -23.4226
+0.05824397 -1.09619 -22.8594
+-0.09596513 -1.91503 -23.3923
+-0.893162 -2.51962 -23.11
+-0.443888 -3.1363 -23.791
+-0.357939 -4.01827 -23.4049
+-0.26196 -3.63156 -22.4974
+-0.66908 -2.96259 -21.879
+-1.14112 -3.75232 -21.6999
+-1.7633 -3.12518 -21.2884
+-0.911154 -2.90703 -20.838
+-0.279171 -3.08851 -20.0089
+0.515672 -3.64556 -19.7536
+0.861919 -3.29979 -20.5465
+0.939159 -4.25935 -20.7412
+1.87581 -4.46622 -20.9353
+2.08842 -3.53606 -20.5193
+3.00993 -3.72533 -20.7491
+3.91547 -4.13362 -21.0197
+3.66182 -4.45965 -20.1483
+3.67298 -3.62314 -19.6142
+2.7817 -3.41588 -19.1308
+1.87457 -3.74881 -19.0285
+2.18877 -3.68153 -18.0874
+1.85159 -4.02353 -17.2573
+2.57887 -4.68092 -17.1073
+1.81968 -4.91478 -17.7766
+2.0247 -5.59035 -18.4669
+2.71776 -6.37425 -18.3483
+2.28048 -6.31639 -19.2725
+3.16819 -6.03407 -19.4463
+4.19029 -6.20895 -19.4782
+4.30605 -7.18056 -19.2901
+4.94117 -7.636 -19.8606
+5.24992 -6.72125 -20.1958
+5.40064 -5.72599 -20.4203
+4.55471 -5.87629 -21.0185
+3.82766 -6.27684 -21.5874
+3.06586 -6.11834 -22.1322
+2.36956 -5.70321 -21.6252
+2.43991 -4.92936 -22.2735
+1.79251 -5.59334 -22.5357
+1.64168 -5.02766 -23.4071
+0.883659 -5.13837 -22.6909
+0.677261 -5.17088 -21.5973
+0.212081 -6.06305 -21.5985
+0.945327 -6.43052 -22.2065
+0.418518 -7.26151 -21.9414
+-0.352401 -7.02197 -21.369
+-1.10166 -7.74563 -21.0996
+-1.5619 -7.7791 -21.9618
+-1.07152 -8.71809 -21.9745
+-0.773015 -9.61908 -21.5851
+-1.09088 -10.2083 -22.367
+-1.66559 -9.39239 -22.5186
+-2.28452 -9.11593 -21.7959
+-2.87176 -8.47458 -21.2119
+-2.76719 -7.54882 -21.6738
+-3.34812 -7.55734 -20.9279
+-4.03248 -6.98914 -21.0991
+-4.48312 -6.57104 -21.8693
+-4.90909 -7.46907 -22.0236
+-4.83768 -6.9125 -22.8309
+-5.51923 -6.23359 -22.5647
+-5.8444 -6.39594 -21.6184
+-6.65292 -5.90993 -21.3542
+-6.6408 -5.93065 -22.3218
+-7.59969 -5.67083 -22.1587
+-8.0112 -5.95159 -23.0741
+-8.64572 -6.33942 -23.6955
+-8.87983 -7.36918 -23.8914
+-9.43938 -8.23884 -23.9112
+-8.73702 -8.48705 -23.1887
+-7.87354 -8.56447 -23.628
+-7.60561 -7.65096 -23.5873
+-6.76914 -7.07101 -23.6279
+-5.84476 -7.32266 -23.7817
+-6.35786 -7.94603 -23.165
+-5.74849 -8.70199 -22.8911
+-5.0213 -8.06677 -23.1374
+-4.47122 -8.74766 -22.6142
+-4.266 -9.22298 -21.7225
+-4.42068 -10.0248 -21.05
+-5.3686 -10.0724 -21.033
+-5.0239 -9.94946 -20.1035
+-5.58651 -9.10356 -19.925
+-6.4273 -9.62797 -19.9278
+-7.13094 -9.08762 -19.4925
+-8.1134 -8.92965 -19.3485
+-7.916 -9.05963 -18.3574
+-8.32807 -9.22799 -17.3952
+-7.96327 -9.15292 -16.4711
+-7.13791 -8.85642 -15.8785
+-7.11588 -9.768 -15.415
+-7.00063 -9.69721 -14.4271
+-7.69845 -9.98535 -13.8907
+-7.68748 -9.6762 -13.0239
+-7.92961 -9.43329 -12.0699
+-7.92671 -10.4868 -12.0024
+-8.59261 -10.5495 -11.2957
+-8.6775 -11.5486 -11.094
+-8.68797 -12.5414 -11.0483
+-7.74442 -12.6329 -11.0578
+-6.84453 -12.6792 -11.441
+-6.38557 -12.1747 -12.1616
+-6.51119 -12.3173 -13.1843
+-6.54708 -13.2856 -13.4907
+-5.70466 -13.4285 -12.8443
+-5.081 -12.8168 -13.2028
+-4.99353 -12.4479 -14.1598
+-4.42168 -11.7269 -14.0085
+-4.96361 -11.2728 -13.3389
+-4.22436 -10.6491 -12.9119
+-4.2285 -11.445 -12.3429
+-4.14669 -11.7679 -11.3998
+-5.17283 -11.8312 -11.4054
+-5.44877 -10.8909 -11.7008
+-5.02747 -10.2352 -11.1263
+-5.61826 -9.72656 -11.7156
+-6.53522 -9.2399 -11.8866
+-6.20838 -8.30565 -12.3231
+-6.5974 -7.42004 -11.9507
+-6.2782 -7.3376 -12.8363
+-6.82824 -6.67825 -12.6193
+-6.40804 -6.23731 -13.4021
+-6.92363 -5.72766 -14.0733
+-7.36604 -4.9041 -13.7561
+-6.52811 -4.6796 -13.4552
+-6.96038 -4.69884 -12.5758
+-6.03845 -4.66012 -12.1088
+-5.43265 -3.80772 -12.1736
+-4.95956 -3.90071 -13.0694
+-5.42097 -3.51349 -13.8473
+-6.02588 -3.28 -14.5582
+-5.71127 -2.30454 -14.6663
+-6.1361 -2.34168 -15.5561
+-5.44605 -1.8459 -15.9983
+-5.34095 -1.08237 -15.3023
+-5.19359 -0.1261761 -15.3249
+-6.13756 -0.4014821 -15.1934
+-6.33861 -1.37939 -14.8834
+-7.02211 -2.00619 -14.583
+-7.0916 -2.7308 -13.9025
+-6.26102 -2.29211 -13.5131
+-5.53755 -1.67579 -13.209
+-5.78599 -0.9218561 -13.7908
+-6.00814 -0.03279137 -13.3574
+-5.16127 -0.2396111 -13.0186
+-4.50241 -0.5017001 -13.6537
+-4.0355 -1.10183 -12.9677
+-4.40595 -2.00407 -12.7602
+-3.99491 -2.40272 -11.9162
+-3.90468 -1.68228 -11.1855
+-2.98478 -2.09189 -11.348
+-2.52795 -2.90611 -10.8733
+-3.23748 -3.5952 -10.94
+-4.10549 -3.33083 -10.4292
+-4.46487 -3.9652 -11.0701
+-4.7935 -4.53333 -10.2818
+-4.51815 -4.32224 -9.38423
+-3.88007 -4.85704 -8.81559
+-3.05388 -5.43962 -8.76801
+-2.95326 -5.25805 -7.79273
+-3.11289 -5.62807 -6.80737
+-3.84332 -5.93795 -6.16283
+-3.41668 -5.31978 -5.54174
+-3.99729 -5.60541 -4.71294
+-3.10798 -5.80203 -4.26087
+-2.92027 -4.8907 -4.64093
+-2.9109 -3.89138 -4.90957
+-3.00046 -3.42475 -5.73778
+-2.46196 -2.79446 -6.20766
+-2.52325 -3.30564 -7.09432
+-2.47193 -4.24255 -6.96971
+-1.85409 -4.01607 -7.76991
+-1.46386 -3.05662 -7.86694
+-1.45138 -3.16027 -6.84119
+-1.27275 -3.55974 -5.93515
+-0.463365 -3.85465 -6.44962
+-0.345314 -4.73189 -6.97517
+-0.316016 -5.61252 -6.57138
+-1.16991 -6.01009 -6.8733
+-0.825195 -6.34851 -6.01649
+-0.124582 -6.39183 -5.22978
+-0.265916 -7.37975 -5.40636
+-0.547706 -7.25828 -4.46605
+-1.13949 -8.05264 -4.53642
+-0.804051 -8.2579 -5.40517
+-0.36128 -8.95647 -4.89748
+0.351421 -9.25248 -4.27555
+-0.143853 -8.63982 -3.62493
+-1.08199 -8.98477 -3.45789
+-2.03974 -8.74539 -3.42986
+-2.20091 -7.90317 -4.06796
+-1.71095 -7.06307 -4.06292
+-2.22502 -6.44268 -3.54289
+-1.604 -6.02683 -2.88179
+-1.07807 -6.92464 -3.03152
+-0.866132 -6.63614 -2.12428
+-0.603271 -7.52007 -1.80791
+-0.07262313 -7.24904 -1.03063
+0.758423 -7.42199 -1.53871
+1.30433 -6.61682 -1.65737
+1.44446 -6.21385 -0.7584299
+2.03235 -6.21094 0.00865578
+2.10326 -6.58847 0.8900701
+2.27107 -6.54141 1.90547
+1.7516 -5.90335 2.47217
+1.08524 -5.11922 2.40549
+1.98589 -4.64934 2.63138
+2.17226 -4.70741 1.64669
+1.39009 -4.40558 1.15427
+1.54194 -4.66615 0.2103631
+0.855158 -4.90969 -0.5290769
+1.19021 -4.68221 -1.40189
+0.353703 -4.93866 -1.79192
+-0.206916 -4.28297 -2.32678
+-1.08542 -4.66937 -2.00069
+-1.55536 -4.35386 -1.13069
+-2.09616 -3.85176 -1.74139
+-2.43916 -2.8757 -1.71308
+-2.87124 -2.40911 -2.50124
+-3.46875 -1.70267 -2.81661
+-4.21076 -1.15575 -2.98333
+-4.96647 -0.7673731 -3.58126
+-5.64395 -1.4383 -3.03941
+-6.15349 -2.26748 -2.80886
+-6.23738 -2.63336 -3.78964
+-7.24683 -2.84992 -3.85762
+-6.8888 -3.68234 -4.16646
+-6.98638 -4.48584 -3.66969
+-6.78895 -3.96426 -2.7724
+-6.96153 -3.55093 -1.8643
+-7.89252 -3.24965 -1.51386
+-8.13237 -4.03718 -2.1182
+-8.3258 -4.52643 -1.29865
+-7.41958 -4.17537 -1.08487
+-7.69389 -3.99519 -0.1256439
+-8.67148 -4.16255 -0.3480079
+-9.05717 -3.58548 0.3974381
+-9.94841 -3.19194 0.6376861
+-9.8016 -3.09686 -0.4328389
+-9.52498 -3.42947 -1.34264
+-9.97777 -4.0948 -0.7808479
+-9.94466 -4.55156 -1.6741
+-9.9391 -4.11148 -2.60107
+-10.2974 -3.40417 -2.03144
+-11.1278 -2.93425 -2.3189
+-10.2757 -2.35405 -2.38378
+-9.94859 -2.49202 -3.28057
+-9.81715 -2.94866 -4.12036
+-9.32171 -2.70645 -4.9605
+-8.36991 -2.74414 -5.26466
+-8.82681 -3.02598 -6.12466
+-8.79048 -2.02417 -6.42963
+-8.85879 -1.53105 -5.57262
+-8.31079 -1.18524 -4.83394
+-8.2718 -0.1908691 -4.7803
+-7.34287 0.1754229 -4.82838
+-7.02823 -0.7337681 -5.01594
+-6.2372 -1.2643 -5.34531
+-6.74877 -1.99315 -4.70819
+-7.06329 -1.35354 -3.9178
+-7.81427 -1.54819 -3.35142
+-8.23527 -0.7291561 -3.7076
+-8.84447 -0.05430937 -3.29866
+-9.09337 0.9547759 -3.30868
+-9.13432 1.70985 -2.72347
+-9.0261 2.6643 -2.47088
+-9.51312 2.20927 -1.75783
+-10.4032 1.90431 -1.99285
+-9.95978 1.10081 -1.68893
+-9.1643 1.05799 -1.12714
+-8.69944 0.4054269 -1.7158
+-7.86045 0.6114229 -1.23901
+-6.99697 1.29107 -1.26476
+-6.15512 1.12304 -0.7985419
+-6.29948 2.05812 -0.6360189
+-6.33603 2.86782 -0.1275849
+-5.56296 3.49514 -0.4207909
+-5.49781 4.1652 -1.16401
+-4.98307 3.4565 -1.68712
+-4.40938 3.07408 -2.38223
+-4.8681 2.81065 -3.29712
+-4.40621 1.90201 -3.36053
+-3.93417 1.14928 -3.745
+-3.2121 0.5509129 -3.4248
+-2.42866 1.16635 -3.71708
+-2.09988 0.5772729 -4.44424
+-1.58357 0.5419589 -5.30885
+-0.895952 0.3726149 -4.61592
+0.02756167 0.2744969 -5.02169
+1.01955 0.3622549 -5.20791
+0.802494 -0.5858911 -5.19015
+0.349573 -0.1976221 -5.96161
+-0.613025 -0.1925751 -6.21995
+-0.694255 0.4109489 -6.9541
+-0.149815 1.09887 -6.56885
+0.626835 1.01015 -7.12267
+1.4984 0.6952229 -7.50771
+2.45074 0.4011629 -7.36024
+3.08767 0.1352639 -6.67998
+4.06142 0.5546389 -6.83003
+4.84577 1.17428 -7.047
+5.0678 2.1399 -7.15738
+4.26218 2.27236 -7.73927
+4.30462 1.66895 -8.53619
+3.67205 2.48341 -8.47758
+2.68549 2.18537 -8.54579
+2.57971 1.56267 -9.22994
+1.84232 1.22941 -8.68837
+1.27527 2.01662 -8.87929
+1.47414 2.19956 -9.844
+0.762442 2.51611 -10.5738
+0.250464 1.79946 -10.0196
+-0.579417 1.67947 -10.4897
+-0.801419 0.6846579 -10.3158
+-0.912124 0.08110523 -11.1268
+-0.930345 -0.2629201 -12.0812
+-0.74571 -0.9771571 -12.7995
+-1.49629 -0.4676441 -13.1492
+-1.79854 0.4533649 -13.0447
+-2.62803 0.2749829 -13.6167
+-3.55599 0.2698029 -13.1814
+-4.2547 0.9220859 -12.772
+-3.33735 1.34203 -12.9872
+-2.65362 1.90314 -12.6489
+-3.55278 2.33066 -12.7465
+-2.97591 3.18317 -12.8309
+-3.01702 4.12948 -12.787
+-3.98402 3.98072 -12.6716
+-4.77812 3.49191 -12.403
+-4.80929 3.5695 -13.4311
+-4.89889 2.78226 -13.9788
+-5.86859 2.82125 -13.9387
+-6.73754 2.76635 -13.321
+-6.05149 3.47047 -13.1765
+-6.40112 4.36987 -13.4364
+-6.23791 4.65928 -12.5277
+-5.32008 4.32601 -12.6549
+-5.29807 5.24978 -12.1354
+-5.06979 4.5528 -11.436
+-4.40658 4.24212 -10.6849
+-4.57676 3.85683 -9.74191
+-5.41195 3.97853 -10.1086
+-4.88217 3.15059 -10.4021
+-4.68432 2.19791 -10.2646
+-4.02476 2.74423 -9.70027
+-3.15454 2.80347 -9.33334
+-3.85362 2.74039 -8.69544
+-4.80333 3.02416 -8.3438
+-4.64385 2.61455 -7.44557
+-4.23518 2.07805 -6.64823
+-5.0828 2.12886 -6.08652
+-5.23895 1.31703 -5.51485
+-4.57522 1.15207 -4.74904
+-5.01368 1.98996 -4.80621
+-4.13814 2.40298 -4.54453
+-3.69572 2.14483 -5.42338
+-3.84685 3.03409 -5.80887
+-4.54485 3.60115 -5.3329
+-3.67068 3.97461 -5.52103
+-4.11925 4.7917 -5.15779
+-4.82915 4.31 -4.62082
+-5.71781 4.66386 -4.74784
+-6.09226 5.53817 -4.37762
+-5.45495 5.10536 -3.75939
+-4.54963 5.45408 -3.39488
+-5.23275 5.06735 -2.66754
+-6.20876 4.89161 -2.60265
+-5.87884 5.41784 -1.84266
+-6.11218 6.15333 -2.45302
+-5.95471 6.22865 -3.47151
+-5.14102 6.36951 -2.91876
+-4.62875 7.04912 -2.34791
+-3.9028 7.64291 -2.68309
+-4.44253 7.89548 -3.43368
+-3.60604 7.6648 -3.91977
+-3.44799 8.35889 -4.65236
+-2.4489 8.23255 -4.75901
+-1.89284 7.41099 -4.73555
+-2.84191 7.02008 -4.79042
+-2.2544 6.78325 -4.06059
+-1.99671 5.88807 -4.21869
+-1.22627 6.50451 -4.06127
+-1.32388 6.20685 -3.10699
+-1.19027 6.68454 -2.1949
+-1.36868 5.90268 -1.54748
+-1.71709 6.34121 -0.7589899
+-2.24791 6.993 -0.1341699
+-1.55837 7.60087 -0.5103429
+-1.71364 8.61883 -0.6459289
+-1.92503 8.02603 -1.49621
+-1.36584 8.28616 -2.32013
+-0.469371 8.50639 -2.66028
+-0.389903 9.51409 -2.83246
+-0.932927 9.1598 -3.63519
+-0.01538913 9.07359 -4.06747
+-0.570229 9.50573 -4.76855
+0.501231 9.54764 -4.69888
+1.47342 9.41398 -4.3611
+1.90491 9.85217 -3.54705
+1.70574 10.578 -4.12179
+2.02861 11.5252 -4.2484
+2.88752 11.0441 -4.42756
+3.07362 10.9792 -5.40207
+3.65507 10.5635 -6.1475
+4.44175 11.1692 -5.77783
+3.80226 11.9353 -5.86663
+3.06246 12.645 -5.80953
+3.21886 12.9353 -4.86404
+2.7303 12.9759 -3.98377
+3.45267 13.586 -3.53664
+4.37612 13.1485 -3.49285
+5.28905 13.5067 -3.67933
+6.23187 13.8516 -3.79571
+7.13376 13.8381 -3.21335
+7.15953 13.6287 -4.18224
+7.89613 12.937 -4.33486
+8.87307 12.8448 -4.03485
+9.42333 12.7019 -4.83786
+9.30377 13.4994 -5.37256
+8.89822 13.3183 -6.30852
+8.26248 12.5276 -6.33688
+8.13985 12.7249 -5.35914
+7.20556 12.6925 -5.17868
+7.13576 11.593 -5.35668
+7.89255 11.6854 -4.67125
+7.97725 10.6975 -4.7808
+7.142 10.4684 -5.17582
+6.87516 10.5224 -6.10974
+6.81148 11.0464 -6.93643
+7.61276 11.7095 -7.06559
+7.6901 12.5885 -7.46278
+8.67873 12.2614 -7.66253
+9.49822 11.7825 -8.07718
+10.2592 12.2743 -8.37254
+11.2219 12.1791 -8.66147
+11.7049 11.5481 -9.23476
+12.276 10.85 -8.74365
+12.6937 10.2944 -9.43569
+11.9795 9.85845 -8.90769
+11.9077 9.55307 -9.8265
+10.9528 9.34678 -9.95759
+10.6987 9.41949 -10.9508
+9.84665 8.94284 -11.1483
+10.0574 9.55472 -11.9687
+9.35352 9.15466 -12.6435
+9.12864 8.82105 -13.5746
+9.28306 7.93822 -14.0808
+9.62439 7.00355 -13.7333
+10.292 7.27349 -14.4851
+9.85793 7.89216 -15.1232
+10.329 8.63096 -14.5616
+10.0366 9.54631 -14.317
+10.4768 9.90531 -13.4914
+11.2591 9.89226 -14.1183
+11.8132 9.6196 -13.2881
+11.5972 9.90145 -12.3769
+11.7815 10.7979 -12.711
+12.5626 11.1972 -13.2481
+12.8306 11.7822 -14.0052
+13.2561 10.843 -14.0273
+13.5055 11.0308 -14.958
+14.3194 10.6129 -15.3833
+13.8495 9.7615 -15.7448
+14.1158 10.1805 -16.6216
+14.7959 10.1257 -17.4176
+14.8012 9.17531 -17.0639
+15.1326 8.53956 -17.747
+14.9228 8.37836 -18.6951
+15.6765 8.77807 -19.1501
+15.2824 8.48899 -19.9861
+15.0038 9.40901 -20.2368
+14.5581 10.2349 -19.8392
+14.0731 11.062 -20.1652
+14.6966 11.1689 -20.9457
+13.8602 11.1454 -21.4195
+13.0127 11.3871 -21.9701
+12.3823 10.5443 -21.9469
+12.3287 9.90327 -22.7989
+12.9239 9.2563 -22.3523
+13.3691 9.36651 -23.2069
+14.1372 9.72629 -23.635
+15.0818 9.75429 -23.9467
+15.5432 9.40424 -23.0432
+16.1805 10.0659 -23.4634
+15.5481 10.8409 -23.3386
+15.3105 11.4134 -22.5788
+14.6277 11.9621 -22.1016
+14.6555 12.6288 -21.4249
+14.1885 13.518 -21.4853
+14.9268 13.8302 -20.9623
+15.5952 13.6941 -21.7113
+16.537 13.5729 -21.2263
+17.4456 13.4289 -20.7472
+17.4656 13.0834 -19.7515
+17.8618 13.9658 -19.7626
+17.743 14.8154 -20.1835
+17.954 15.7575 -20.0869
+18 16.082 -19.1772
+17.7964 16.9037 -18.6093
+17.7745 15.9803 -18.1877
+18.7561 15.7271 -18.3125
+19.7448 15.7344 -18.1692
+19.9358 14.994 -17.5599
+20.9115 14.861 -17.1964
+21.5982 14.1626 -17.0159
+21.7724 14.4989 -16.1179
+20.8412 14.5778 -15.7465
+20.4037 14.0713 -15.0434
+19.7733 14.5847 -15.7143
+20.2559 15.282 -16.1746
+20.5928 16.1851 -15.8508
+20.8559 16.6464 -16.8048
+20.8791 17.6508 -16.8689
+20.6958 18.2873 -17.5535
+20.5498 19.253 -17.6452
+19.7238 19.1999 -17.0191
+19.9331 19.1118 -16.0757
+19.8204 18.8982 -15.0849
+20.5062 18.6013 -14.4279
+21.5158 18.7857 -14.3431
+22.5219 18.6561 -14.3218
+22.9488 19.2829 -14.9953
+23.2302 20.2122 -15.4731
+23.7914 20.9023 -15.0822
+23.3591 21.5617 -14.4484
+22.8973 22.3975 -14.2705
+23.5967 22.004 -13.562
+23.4004 21.2423 -12.799
+22.769 20.9976 -12.0442
+22.6701 21.9257 -11.6787
+21.7569 22.0562 -11.3033
+22.2655 21.5979 -10.535
+22.369 22.5455 -10.1995
+21.5841 22.9618 -10.6889
+20.7981 22.4484 -10.4746
+20.3027 23.1357 -10.8419
+19.7519 23.1391 -10.0342
+20.612 23.1583 -9.58291
+20.2175 24.0101 -9.43085
+20.2787 24.7998 -8.94509
+20.6073 24.2397 -8.15532
+21.4702 24.7333 -8.06386
+22.1756 24.9759 -8.71907
+21.8178 25.9353 -8.75049
+22.3193 26.0166 -9.59677
+22.9444 25.2495 -9.46195
+23.0538 24.3077 -9.14437
+23.8502 23.803 -9.57359
+23.696 23.184 -8.79464
+22.946 22.5783 -8.93662
+22.6491 23.292 -8.39858
+22.4648 22.4932 -7.77161
+21.8304 22.1676 -7.16658
+22.276 21.2853 -6.95947
+22.6235 20.3964 -7.23688
+23.3242 19.9424 -6.64295
+23.8699 20.338 -7.33899
+24.8027 20.7814 -7.36785
+24.9781 20.9471 -6.35732
+24.416 21.3694 -5.62496
+25.3987 21.6157 -5.54971
+25.8548 22.4725 -5.25978
+25.1286 23.1553 -5.40724
+24.6996 23.4074 -6.30385
+24.1562 22.4813 -6.1663
+23.2913 22.6598 -6.58992
+23.21 22.1388 -5.78817
+22.9921 21.2991 -5.43969
+22.2032 20.7501 -5.36224
+21.4574 20.1406 -5.45169
+21.1786 21.0795 -5.73788
+20.9405 21.7418 -6.4652
+21.068 22.6182 -5.94466
+20.1234 22.3724 -5.73073
+19.381 22.123 -5.11288
+19.9965 21.3222 -5.29888
+19.7421 20.4514 -4.79087
+19.9191 19.7332 -4.11338
+18.911 19.6077 -3.88518
+18.6401 18.9671 -3.14416
+18.1281 18.1546 -2.99925
+17.2295 18.2984 -2.53715
+16.7525 19.2532 -2.49179
+16.2941 19.0627 -3.297
+15.8953 18.2967 -2.99894
+16.4589 17.9643 -3.88454
+17.1136 17.9903 -4.64744
+17.1219 18.6099 -5.36887
+17.6738 18.155 -6.08574
+16.9992 17.4609 -5.95279
+16.4554 17.0905 -5.17637
+15.5085 17.2708 -4.89742
+14.9733 16.7163 -5.60319
+14.179 17.3433 -5.52225
+13.9429 17.7403 -6.41906
+12.9797 17.5731 -6.13392
+12.3666 16.8942 -5.77685
+13.0554 16.3908 -5.26561
+12.4498 15.7294 -4.93922
+12.0411 16.3966 -4.21479
+11.0788 16.5176 -4.37169
+10.2914 16.8355 -3.79687
+10.1673 15.8038 -3.93616
+9.48957 15.3116 -4.34089
+9.23057 15.1582 -5.304
+9.70455 15.8831 -5.88603
+10.3118 15.1386 -6.15733
+9.74376 15.0314 -6.93332
+10.2339 15.8846 -6.85161
+9.42195 16.2896 -7.28168
+8.63444 16.0614 -7.85781
+8.36452 16.2222 -8.8114
+7.77551 16.8749 -8.40368
+6.79846 16.8037 -8.51123
+6.28079 17.6483 -8.42342
+5.91717 17.6472 -9.28894
+6.06678 18.2888 -10.0932
+6.6934 17.5772 -10.1842
+6.5743 17.0296 -11.0173
+6.22678 16.787 -11.9009
+5.19728 16.7875 -12.0919
+5.36403 16.2946 -12.9334
+5.95754 16.9881 -13.3701
+5.49456 17.5406 -12.6673
+5.84699 17.9914 -11.9142
+5.34813 18.3366 -11.1485
+4.40866 18.0427 -11.0844
+4.08886 18.1415 -12.0057
+3.58175 17.6674 -12.6223
+2.90584 17.0179 -12.3099
+2.70557 16.769 -11.3034
+2.23802 16.3041 -10.4741
+1.51773 16.6794 -9.97199
+0.761393 16.8625 -9.32005
+0.973168 17.8302 -9.25566
+0.02883217 17.8566 -8.73519
+-0.233384 17.1524 -9.35682
+-0.172867 16.2548 -9.62586
+0.340279 15.4837 -9.56239
+0.420925 15.189 -10.5088
+0.961298 15.8156 -11.1186
+0.70567 16.2333 -12.003
+-0.08087933 15.6049 -12.2131
+-0.04362113 15.7212 -13.2078
+0.905549 16.1802 -13.114
+1.77358 16.6768 -12.8404
+2.28061 16.6287 -13.7019
+1.81825 16.8399 -14.5908
+1.51865 17.3741 -13.8154
+0.521004 17.28 -13.6584
+0.456488 17.2116 -14.7161
+0.6284 17.988 -15.3116
+-0.211574 18.4599 -15.4866
+-0.968453 18.9841 -15.9116
+-1.38388 18.048 -15.8354
+-0.958659 18.0597 -16.7205
+-0.942313 17.746 -17.6661
+-0.818411 18.4675 -18.3569
+-1.26246 17.7833 -18.7744
+-0.394805 17.5386 -19.1721
+0.03533937 17.9239 -19.9201
+0.842764 18.526 -19.8644
+1.06417 17.6955 -20.3779
+1.25141 17.0985 -19.5543
+1.7251 16.8107 -20.4308
+2.37753 16.1867 -20.0914
+2.19223 15.4233 -19.5509
+2.55846 14.7271 -20.2489
+2.47185 13.9677 -20.8837
+2.45302 13.0526 -20.4848
+1.63452 12.4796 -20.09
+0.912101 11.8438 -20.4551
+1.50464 11.372 -21.1289
+0.934108 11.8689 -21.838
+0.196969 11.2393 -21.5279
+-0.59868 11.7255 -21.7391
+-1.22433 11.0538 -21.3272
+-1.16585 10.7423 -20.3661
+-0.967901 11.289 -19.5769
+-1.82073 10.7145 -19.6206
+-2.58568 10.0773 -19.5056
+-2.89102 10.3011 -18.5423
+-1.90169 10.4518 -18.2319
+-1.02413 10.0571 -18.0216
+-1.31302 9.14345 -17.571
+-1.49496 8.95185 -18.5275
+-2.27893 8.34608 -18.451
+-2.03947 7.96612 -19.3583
+-2.6306 8.62907 -19.936
+-3.08149 7.88937 -20.4611
+-2.06369 7.93715 -20.4711
+-1.65711 7.22861 -19.9055
+-1.99639 6.45304 -19.304
+-2.45315 6.40952 -20.189
+-2.76481 5.65712 -19.523
+-2.83221 4.69706 -19.4962
+-2.20596 3.89064 -19.5177
+-1.43266 3.57919 -18.9379
+-1.71534 3.38103 -18.0615
+-1.91568 2.41652 -17.9787
+-1.20713 2.25879 -17.3296
+-1.40112 1.29451 -17.1931
+-1.03241 1.30665 -16.2167
+-1.17593 1.74616 -15.4731
+-0.612505 2.24634 -14.8292
+-0.254104 2.11985 -15.7551
+0.05736987 2.90517 -15.3844
+0.792961 3.59404 -15.3861
+0.442382 4.48415 -15.1791
+0.974746 4.94572 -14.4711
+1.97116 5.1202 -14.4163
+2.92118 4.97633 -14.024
+2.84624 5.41885 -13.1621
+3.67848 5.99561 -13.1608
+4.25016 6.66083 -12.6643
+5.21316 6.35302 -12.6055
+5.44033 6.03741 -13.5288
+5.35038 7.00095 -13.3322
+5.69806 7.78506 -12.8659
+5.97692 7.52173 -13.7225
+5.2282 8.10084 -13.9772
+4.22828 8.11713 -13.8854
+3.33431 8.01708 -13.4487
+2.99727 8.81706 -13.0311
+2.9266 9.40964 -13.7906
+2.12549 9.87909 -13.9045
+2.8046 10.2286 -13.3074
+3.31211 11.1454 -13.3782
+2.46894 11.6072 -13.156
+2.81746 12.5875 -12.9371
+3.45826 13.3775 -12.9887
+3.9002 12.5398 -13.3686
+3.56699 13.1643 -14.0151
+2.88092 12.8758 -14.6788
+3.08413 13.828 -14.6631
+2.59761 14.7007 -14.5059
+1.73472 14.8722 -14.0383
+2.00396 14.5622 -13.1451
+1.96664 13.7157 -13.6894
+1.76622 13.4637 -14.6086
+1.62327 14.3159 -15.0566
+0.732392 14.4526 -15.4359
+0.004660115 14.5101 -14.7126
+0.444011 15.3971 -14.5879
+0.01321817 15.4053 -15.4867
+0.549694 15.3386 -16.3381
+0.544683 14.8332 -17.2451
+1.0609 14.0618 -17.5362
+1.57956 13.173 -17.3005
+2.2521 13.3756 -16.482
+3.02798 12.7386 -16.265
+3.38567 12.6326 -17.1681
+4.12342 13.1906 -17.6051
+4.77539 12.8028 -18.2956
+4.89204 11.8461 -18.0228
+5.32339 11.1588 -18.5543
+5.18761 10.21 -18.9692
+5.82757 9.69084 -18.4305
+6.53218 10.2884 -18.6922
+6.96236 10.4813 -19.5614
+7.85951 10.674 -19.1448
+8.18617 11.4142 -18.6033
+7.24692 11.672 -18.8874
+7.32284 12.098 -19.7961
+6.3957 11.8581 -19.4337
+6.51541 12.82 -19.5093
+6.62493 13.7067 -19.0691
+6.11742 14.4056 -18.4406
+7.03871 14.4523 -18.0518
+7.51012 15.0344 -18.7772
+8.10708 15.7985 -18.5641
+7.98327 16.8238 -18.5036
+8.36296 16.5885 -19.3903
+8.01879 15.7696 -19.8366
+8.34193 15.3715 -20.6903
+9.06002 15.158 -21.4621
+10.0347 15.0605 -21.0782
+10.556 15.7905 -21.6021
+10.825 16.3212 -22.431
+11.7216 16.5915 -22.1015
+12.749 16.439 -21.9355
+13.5673 16.9191 -21.8055
+13.8462 17.0355 -20.8388
+13.5742 16.9637 -19.892
+12.8004 16.3867 -19.6042
+12.3466 15.5713 -19.2022
+12.5299 14.892 -19.9512
+13.2334 14.2452 -20.1818
+12.3842 13.8603 -20.5728
+11.4019 13.8238 -20.2394
+10.4812 13.8997 -19.7647
+10.3881 13.285 -18.9965
+10.9686 13.7391 -18.2831
+11.4887 13.0831 -18.8479
+12.4333 13.2963 -19.298
+12.4426 12.2735 -19.4855
+12.661 11.9126 -18.5725
+13.6113 11.9057 -18.8292
+14.2106 12.6911 -18.7507
+15.0519 12.1344 -18.7003
+15.7633 11.4541 -19.0207
+16.6493 11.1218 -19.1609
+17.3272 10.6835 -18.652
+17.3069 11.3992 -17.9004
+18.07 11.0095 -17.4068
+18.6808 11.7077 -17.3228
+18.6509 11.6807 -18.288
+18.3268 12.301 -19.0327
+17.7372 12.9866 -18.5743
+17.6208 12.3962 -17.7564
+16.996 11.9708 -17.1767
+17.6592 12.5926 -16.7475
+17.4626 12.0487 -15.9064
+17.3416 12.1755 -14.9304
+17.1767 13.1352 -14.5617
+16.4707 13.79 -14.5421
+16.8232 14.0457 -15.4673
+15.8682 13.7124 -15.555
+14.8914 13.7902 -15.85
+14.5954 14.1187 -16.8147
+15.305 14.6992 -16.4667
+14.4245 15.1954 -16.7272
+13.7875 15.5379 -15.9676
+12.9247 15.2304 -15.583
+12.3214 14.4928 -15.3838
+11.9968 14.1873 -16.2517
+12.7734 14.5196 -16.889
+12.6424 14.7588 -17.9234
+13.3964 15.0718 -17.4273
+13.945 15.0808 -18.2537
+14.5408 15.8646 -18.0856
+14.7092 15.5435 -18.9553
+15.4235 14.788 -18.9769
+16.0269 14.9202 -18.1924
+16.603 15.7166 -18.0505
+16.0783 16.6091 -17.9933
+15.6946 16.3597 -18.8668
+16.0256 16.0725 -19.7727
+15.2481 15.8208 -20.3971
+15.4735 16.1095 -21.2819
+15.2932 16.0628 -22.2601
+14.6872 16.5405 -23.0281
+14.5608 16.9628 -22.0462
+14.7339 17.9322 -22.2321
+13.9897 17.5989 -22.8664
+14.3816 17.5976 -23.7966
+15.3266 17.2802 -24.1049
+15.5446 16.2838 -24.3605
+16.1473 15.5392 -24.2308
+16.1795 15.8444 -23.2927
+17.1041 15.8413 -23.7098
+17.6784 16.5656 -23.2833
+17.9373 16.8533 -24.1401
+17.6429 17.6204 -24.7688
+16.9837 18.379 -24.9374
+17.6188 19.124 -25.0565
+18.15 19.4885 -25.8757
+17.8443 20.4366 -26.0593
+17.2649 20.9116 -26.6013
+16.6511 21.4618 -26.0514
+15.929 21.3044 -26.7225
+15.8248 22.1094 -26.1036
+15.3981 22.8733 -25.6317
+14.8321 22.182 -25.1629
+13.938 21.6828 -25.3953
+13.988 22.7252 -25.1901
+14.3041 22.9067 -24.2529
+13.5641 23.5446 -24.4516
+12.7064 23.0437 -24.4801
+12.4529 22.3782 -23.8387
+13.1888 21.8015 -24.1976
+12.6478 20.91 -24.2235
+12.6812 20.7215 -23.2548
+13.3273 20.9805 -22.5565
+13.5475 21.5888 -21.7326
+13.6231 20.687 -21.2046
+13.8844 20.0687 -20.5241
+14.2802 19.6969 -19.6714
+13.7328 19.1519 -18.9657
+13.7561 19.9801 -18.3075
+13.4732 20.1244 -19.2821
+12.6437 20.5001 -18.8632
+12.5161 20.4218 -19.8797
+11.7032 20.9481 -19.532
+10.8704 20.7421 -20.1724
+10.3795 20.0189 -20.0862
+10.8248 19.3661 -20.7747
+10.2347 18.6236 -20.3958
+9.40331 19.1192 -20.0863
+8.86563 19.9411 -20.1877
+8.88172 20.9413 -20.0059
+8.243 20.7562 -20.7465
+7.80643 19.8947 -20.5364
+8.23923 19.6364 -21.3819
+7.63805 18.965 -21.7959
+6.74786 18.9814 -21.4169
+6.41662 18.3899 -20.6693
+6.51645 17.5792 -21.2613
+5.94471 17.9433 -22.0252
+5.16815 17.4057 -22.4118
+4.93338 18.34 -22.8558
+5.59107 18.0366 -23.5864
+5.86867 17.0949 -23.8161
+5.49602 16.0959 -23.7815
+5.26456 15.6643 -22.8535
+4.79915 14.8121 -22.5953
+5.27807 15.3534 -21.93
+4.40891 15.7993 -22.0083
+4.27318 16.6612 -21.4284
+4.66208 16.0353 -20.755
+4.42349 15.6484 -19.8641
+5.03338 16.4016 -19.5376
+6.02724 16.0894 -19.2337
+6.09101 16.1327 -18.1992
+5.30528 16.0391 -17.5515
+5.32935 17.0038 -17.3556
+4.63675 17.7571 -17.1575
+3.76892 18.0335 -16.8583
+3.15662 17.4396 -16.2846
+2.9789 18.3341 -15.9575
+2.67547 18.7117 -16.9172
+3.00993 19.4997 -17.4155
+3.36451 20.4338 -16.9807
+3.62534 19.9611 -16.1279
+3.32957 20.6776 -15.564
+2.46079 21.1814 -15.7458
+2.03209 21.8759 -15.2188
+1.19695 21.8521 -14.7405
+0.560817 22.6699 -14.6862
+0.141169 23.2965 -15.3698
+-0.188256 23.1787 -16.3455
+0.321665 23.5044 -17.1856
+0.746045 22.8207 -17.7158
+1.37788 22.1531 -17.3185
+1.84372 22.9842 -17.5454
+1.41344 23.3493 -16.6785
+1.55518 24.279 -16.3573
+1.42858 25.267 -16.5702
+1.44294 26.0978 -17.237
+0.573064 26.2886 -17.6566
+0.845541 25.9984 -18.4845
+0.654064 25.3078 -19.1028
+1.45756 25.4473 -19.6458
+1.84778 25.1991 -20.5169
+1.31549 24.293 -20.4925
+1.05049 23.4424 -20.038
+1.11965 23.4432 -19.0565
+0.206875 23.6857 -19.2664
+-0.117766 24.4688 -19.7528
+0.05391727 25.0433 -20.4533
+0.01051257 24.5009 -21.3282
+0.571741 24.052 -21.9511
+1.53598 23.7635 -21.7367
+2.07681 23.7206 -22.5303
+2.42179 24.3425 -21.7963
+3.15967 23.9499 -21.2528
+3.76844 24.6376 -21.1725
+3.7064 25.0586 -20.2422
+3.85409 24.3941 -19.5048
+3.35314 23.6726 -19.9116
+2.87535 23.0967 -19.3109
+2.88062 22.0568 -19.1195
+3.67154 21.4955 -18.9368
+3.85968 21.706 -17.9899
+4.39 21.1729 -17.3281
+4.96026 20.3988 -17.6645
+5.494 19.7067 -17.1843
+5.76797 19.5865 -16.2124
+5.74006 18.8732 -15.5281
+5.054 18.2471 -15.1964
+5.7822 17.6227 -14.8907
+5.75198 17.8421 -13.9106
+5.39144 18.7358 -14.2006
+6.36382 19.0353 -14.0573
+5.64944 19.3795 -13.314
+6.22823 20.19 -13.4245
+6.73083 19.9162 -12.6005
+7.60979 19.7189 -12.9514
+7.88391 19.6625 -13.9516
+8.67744 20.3104 -13.7641
+8.72791 20.6557 -12.7844
+8.50114 21.0281 -11.8806
+7.9337 21.6515 -12.4461
+7.62764 22.5956 -12.1695
+6.74827 22.8687 -11.8329
+5.95212 23.4219 -11.7011
+6.67881 23.5156 -10.9349
+6.31494 23.0528 -10.1513
+5.53346 22.4241 -10.3884
+5.95613 21.862 -11.1008
+6.20965 21.6789 -12.0923
+6.65079 20.8476 -12.0588
+5.91666 20.6274 -11.4625
+5.26504 19.8216 -11.6441
+6.05097 19.3485 -12.1024
+6.83877 19.4783 -11.6079
+7.27441 18.9547 -10.8408
+6.89683 19.3561 -10.0877
+6.6556 20.2104 -10.5022
+5.90707 20.6628 -10.1306
+5.05625 20.7103 -9.72859
+5.31458 21.2766 -8.989
+4.66263 21.7812 -8.37282
+4.29321 20.8903 -8.69909
+3.46265 20.8539 -9.21665
+3.82882 19.9178 -9.39539
+4.08005 19.6659 -8.41598
+3.80246 18.7081 -8.74407
+3.88045 17.9479 -8.12136
+3.02581 18.2361 -7.63753
+3.14647 18.8868 -6.93194
+2.81188 19.6523 -7.53805
+1.79044 19.648 -7.54608
+1.37778 19.3149 -6.61703
+0.645455 19.2482 -7.26146
+0.592304 18.3995 -6.70043
+0.854256 18.7019 -5.83052
+0.891404 19.582 -5.42877
+1.09445 19.275 -4.5172
+1.50475 18.3719 -4.57627
+2.43207 18.7247 -4.4122
+2.71322 18.7888 -3.43824
+3.48124 18.2611 -3.95785
+2.9846 17.3948 -4.00337
+3.76583 16.804 -3.93487
+3.11237 16.1893 -3.45807
+2.13074 15.8949 -3.56521
+1.45509 15.2889 -3.27213
+1.58443 14.6107 -2.59288
+1.64869 14.8945 -1.61646
+0.951772 14.9845 -0.9528339
+1.32684 14.5565 -0.1561989
+1.62 13.6193 -0.3938899
+0.885968 12.921 -0.5149289
+1.25424 12.8348 0.3993221
+2.0439 12.3479 0.6504781
+2.21936 11.5269 0.09785092
+1.95808 10.5743 0.1906271
+1.7186 10.315 1.08706
+1.51795 9.35307 1.05931
+2.39794 9.34214 0.6322751
+3.18354 8.86587 1.04072
+4.02408 9.4348 1.07107
+4.90962 9.64208 1.55812
+4.80599 8.62645 1.65367
+4.15586 8.18657 2.27471
+4.10224 8.88304 2.97862
+3.39709 8.67072 3.69152
+2.50577 9.14585 3.43546
+2.1876 9.92792 2.84121
+2.81439 9.18167 2.41076
+2.33258 8.4889 2.01763
+1.69747 8.34599 2.76778
+0.654539 8.46318 2.60746
+0.08442597 7.67008 2.54188
+-0.227728 7.14933 3.31389
+-0.541569 6.31935 3.93167
+0.416 6.26939 4.03986
+1.08259 5.60174 4.35318
+0.951942 5.36666 3.4305
+1.53626 6.2032 3.31161
+1.667 7.0132 3.81567
+2.02707 7.5055 4.69835
+2.75021 8.056 4.8876
+2.802 9.02442 5.21735
+3.5701 9.4379 4.74466
+4.18961 9.29888 5.52626
+4.83387 9.85994 5.05007
+5.64085 10.4217 5.18971
+5.19528 10.9718 4.43747
+4.90551 10.9152 3.50258
+5.69702 10.2579 3.54314
+6.44433 10.8849 3.685
+6.81287 11.0511 4.56707
+7.77852 10.8081 4.79225
+7.95603 11.8021 4.79527
+8.63548 12.5386 4.76803
+8.57869 13.5564 4.71707
+7.65176 13.3643 4.3845
+7.93413 14.0158 3.57062
+7.19441 14.4023 3.10346
+6.91556 13.5009 2.78306
+6.5433 12.6028 2.99007
+5.75716 13.1909 2.9096
+5.0779 13.2893 2.09452
+4.6954 13.0921 3.04926
+4.7947 12.0972 3.16911
+5.74664 11.775 3.06696
+5.95922 11.3733 2.15595
+6.83792 10.8578 2.27601
+6.70782 10.1205 1.67241
+6.31252 9.27526 1.84543
+7.18423 8.98251 1.4777
+7.55446 8.29033 2.12255
+7.77537 7.57983 1.46305
+7.17956 7.5128 0.6328791
+6.24662 7.28719 0.2719401
+6.14074 6.47248 0.8404831
+5.3651 6.18267 0.3060021
+5.01046 6.92152 -0.3671499
+5.1457 7.81006 -0.8302409
+5.24953 7.64809 -1.79081
+4.79249 8.33963 -2.34034
+3.85427 8.18553 -2.14539
+4.13528 7.47473 -2.8255
+3.71816 6.67595 -3.1251
+3.44601 5.70117 -2.98438
+2.55118 6.02472 -2.93002
+2.16022 5.1266 -2.79723
+1.65473 4.31079 -2.99984
+0.952298 4.32211 -3.73708
+1.10694 3.43323 -3.35926
+0.919148 2.79079 -2.59664
+0.895758 1.79117 -2.45024
+1.55103 1.18479 -3.00102
+1.65527 2.08711 -3.48559
+1.86686 1.35166 -4.15246
+2.24996 0.4738339 -4.44401
+3.2099 0.4263879 -4.17739
+3.09158 0.6416359 -3.19053
+3.31057 1.42957 -3.69772
+4.27825 1.57069 -3.72168
+4.76124 1.10039 -2.94261
+5.68533 0.9280469 -3.19355
+5.51754 0.6143369 -2.15868
+4.94709 -0.1457431 -2.48033
+5.34326 -0.9856951 -2.37171
+5.88698 -0.3265351 -2.92082
+6.88688 -0.2646671 -3.12843
+6.84909 0.1637029 -2.26793
+7.48089 0.8234289 -2.63858
+8.01754 0.7140899 -1.84588
+8.07627 -0.2286211 -2.14237
+8.99982 0.04032343 -2.28034
+9.5303 -0.2184261 -3.11048
+8.84763 0.1277359 -3.80683
+7.8689 -0.1145761 -3.68075
+7.46557 0.3639299 -4.45536
+7.23782 1.00016 -5.22196
+7.20684 1.27098 -6.2458
+6.9153 2.24178 -6.0273
+6.15095 2.66566 -5.5281
+5.76981 1.85894 -5.85545
+5.53723 0.9454399 -5.49545
+5.89675 0.04483163 -5.25886
+5.2333 -0.09671177 -4.57217
+4.30388 -0.4705511 -4.40377
+4.38709 -1.00874 -5.21655
+4.51831 -0.5036551 -6.09942
+5.30486 -0.4877161 -6.6872
+6.13156 -0.2428091 -7.2215
+5.49906 -0.1429751 -7.96717
+4.8696 0.4305229 -8.2777
+4.82552 0.7992859 -9.14691
+4.92249 -0.09510617 -9.50695
+4.89369 -0.8720761 -8.85379
+5.34385 -1.4783 -9.5634
+4.8405 -1.17661 -10.3149
+4.88758 -2.15072 -10.5509
+5.8648 -2.35001 -10.5337
+5.88182 -3.12438 -10.0125
+6.61139 -3.07611 -10.6508
+6.8454 -3.94101 -10.1227
+7.7558 -3.77513 -9.69397
+8.68906 -3.9265 -9.50442
+8.73871 -4.45992 -10.4687
+8.79941 -3.60591 -10.9406
+8.10118 -3.83364 -11.6566
+7.71312 -2.97105 -11.2388
+7.26159 -2.07927 -11.4036
+6.97517 -1.61405 -10.5243
+7.88715 -1.97336 -10.3375
+8.32617 -2.89637 -10.2076
+7.43229 -2.7135 -9.72086
+7.29808 -3.08778 -8.76196
+7.82312 -2.29773 -8.57598
+7.00171 -1.85823 -8.44054
+7.26798 -1.81398 -7.47943
+7.5278 -2.74765 -7.15185
+8.52128 -2.76249 -7.17276
+8.93552 -3.48196 -6.64374
+9.07628 -4.45721 -6.66617
+9.54629 -4.91922 -7.41455
+10.1863 -4.92676 -8.1541
+9.65072 -5.07367 -8.93539
+10.0946 -4.93796 -9.81764
+10.852 -5.10831 -10.3887
+11.3168 -5.143 -9.54204
+11.6904 -4.96743 -8.63611
+11.9692 -5.20455 -7.69742
+12.2347 -4.98208 -6.75712
+11.7726 -4.17082 -7.12492
+11.7852 -4.04263 -8.09618
+11.3421 -3.26238 -8.57889
+11.5526 -2.49991 -7.9305
+10.6303 -2.05097 -7.94726
+9.71913 -1.69367 -8.11673
+9.08142 -1.11233 -7.61325
+8.56168 -1.68283 -6.97608
+7.80783 -1.09361 -6.76068
+8.54019 -0.5741641 -6.24067
+7.88821 -0.5239801 -5.5626
+8.43972 -1.37309 -5.32304
+8.41697 -2.40025 -5.46315
+7.79576 -2.66886 -4.67859
+8.37409 -3.44011 -4.32953
+8.67375 -3.05074 -3.46673
+8.75561 -2.22406 -2.91737
+7.99409 -1.63134 -2.70518
+8.29951 -1.33204 -1.77029
+9.10623 -1.87153 -1.45014
+8.66137 -1.99203 -0.5798359
+7.8042 -1.98493 -0.00531491
+7.58623 -1.10391 0.2153101
+6.71213 -0.9626921 0.6542721
+5.85165 -0.7189571 0.3044311
+5.55481 0.2336329 0.4656441
+5.19511 -0.002183446 -0.4153459
+4.29749 -0.005612676 -0.6659069
+4.49923 0.8848189 -0.2600919
+4.05102 1.11193 0.6023751
+3.54759 1.91897 0.7410661
+3.24482 1.90805 -0.2178339
+3.28843 1.16174 -0.9239759
+2.673 1.06579 -1.75853
+2.27938 0.3460909 -2.4053
+1.54216 0.08139473 -2.94996
+0.759619 0.2813749 -3.41022
+0.349188 1.16093 -3.29073
+-0.197341 1.9922 -2.9163
+-0.03381033 2.24399 -3.90572
+0.337535 3.01872 -4.46583
+0.774967 2.1179 -4.67321
+1.53706 2.63071 -5.11117
+1.83829 2.75522 -6.00504
+2.10855 1.76024 -6.13832
+3.01693 1.25743 -5.92352
+3.49698 2.07965 -5.61811
+3.96316 2.8592 -5.93829
+3.18467 2.58456 -6.60121
+2.58953 2.99027 -7.35475
+1.75606 3.3361 -7.72921
+2.31022 3.88336 -8.36488
+3.23011 3.6719 -8.42759
+3.47343 4.03569 -9.30507
+4.31799 4.26483 -8.76563
+5.30446 4.5102 -8.93585
+4.67806 5.12625 -9.29008
+4.71035 5.98155 -9.77667
+4.38273 6.93262 -10.0245
+5.29211 7.10436 -9.65067
+5.83922 7.90719 -9.67116
+6.43934 7.93731 -8.90773
+6.60915 8.71005 -9.53695
+7.33684 8.24717 -9.08791
+8.0079 8.70544 -9.40513
+8.8842 8.80871 -9.01643
+8.98029 7.83926 -9.20302
+8.7551 7.49946 -10.081
+8.00299 7.08156 -10.486
+7.28733 6.54179 -10.5819
+7.90416 5.72518 -10.7006
+7.47038 5.19312 -9.89793
+6.89924 5.37595 -10.7135
+6.20234 5.8157 -10.1612
+5.80241 4.8765 -10.2193
+4.88319 4.44226 -10.2773
+4.84625 5.05851 -11.0642
+3.95532 4.86805 -11.4507
+3.81276 4.17551 -10.8602
+4.17622 3.734 -11.6713
+3.17798 3.73189 -11.4819
+2.42231 4.14459 -10.8982
+1.90006 3.32859 -11.0177
+1.94188 3.36516 -10.0579
+1.13746 3.555 -9.55343
+0.656733 4.42048 -9.59994
+0.619125 5.31447 -9.98426
+-0.287836 5.6256 -10.0207
+-0.609718 6.40964 -10.4354
+-0.584707 6.8216 -11.4066
+0.231641 6.97244 -11.9542
+0.328976 6.0063 -11.6648
+-0.187154 5.12829 -11.6506
+0.338835 4.49639 -12.1384
+0.09657407 4.00266 -12.9278
+0.06612577 4.96236 -13.1562
+-0.03349733 5.9666 -13.4004
+0.757068 6.32397 -13.8734
+0.99379 6.08001 -14.7789
+1.30503 5.28701 -15.2819
+0.86111 5.47528 -16.2655
+1.61666 6.11645 -15.8828
+0.811005 6.73492 -15.7847
+0.434271 7.69167 -15.6162
+0.658912 8.28428 -16.3708
+0.855978 9.03863 -15.7719
+1.61618 8.47162 -15.415
+2.13222 8.67324 -16.2198
+1.95677 8.01604 -17.0086
+1.41899 7.21073 -17.3346
+1.023 6.32948 -16.9838
+0.06145117 6.49555 -17.2024
+-0.700607 6.10275 -17.7159
+-1.05736 6.89338 -17.1548
+-0.78377 7.16637 -16.2177
+-1.74816 7.48778 -15.9623
+-1.35439 8.02833 -15.1803
+-1.23836 7.26591 -14.5295
+-0.649503 6.52445 -14.8793
+-0.1694 6.93929 -14.1362
+0.179076 7.81295 -14.4356
+0.188028 8.26269 -13.5308
+0.958948 8.71342 -13.0438
+1.85462 8.73557 -12.4983
+2.37915 9.06051 -11.7336
+2.5249 8.11289 -11.6623
+1.90927 7.5715 -11.0405
+0.932609 7.50928 -11.0003
+1.35102 7.10127 -10.1336
+2.35135 7.03283 -9.76803
+2.99695 6.96305 -9.07578
+2.93644 6.853 -8.10957
+2.74649 5.95463 -7.80327
+1.9903 6.59412 -7.42124
+1.7039 7.51101 -6.96787
+2.42169 8.093 -7.45374
+1.55061 8.56567 -7.7118
+0.779266 9.24653 -7.38535
+1.6028 9.88465 -7.38316
+1.89392 10.816 -7.10994
+1.02605 11.198 -7.33277
+1.45378 12.0139 -6.85985
+2.30769 12.4457 -7.11159
+2.0894 12.372 -8.13102
+2.54897 11.4674 -8.07754
+3.35926 10.9968 -8.45709
+3.58128 10.4314 -7.64082
+3.45768 9.73684 -8.38663
+4.38521 9.46595 -8.74776
+3.98568 9.40789 -9.69891
+4.28468 8.49673 -10.0534
+3.42832 8.68964 -10.5774
+3.9304 8.76364 -11.5382
+4.88788 8.78093 -11.2201
+5.2239 9.73519 -11.4177
+6.17893 9.43923 -11.5537
+6.00255 9.5609 -10.5418
+6.58128 10.3877 -10.6615
+6.05828 10.8839 -9.96707
+5.14855 10.705 -9.62396
+4.97676 10.5826 -10.5597
+4.47212 10.7957 -11.4218
+3.87246 11.4344 -11.8945
+4.17115 11.9543 -12.7019
+4.55945 11.0248 -12.9768
+5.43075 10.5605 -13.0526
+5.99136 10.8518 -12.3176
+6.58355 10.8837 -11.5214
+7.5595 10.6527 -11.3188
+7.23579 9.70395 -11.4157
+7.36942 9.73835 -10.44
+7.74141 9.68374 -9.52468
+7.78561 9.30742 -8.61714
+7.02795 9.90257 -8.42865
+7.5307 10.7497 -8.49515
+8.23009 10.332 -7.94386
+7.92502 10.741 -7.148
+8.8224 11.1928 -7.30666
+8.92981 10.5177 -6.61952
+8.54058 9.57255 -6.57997
+8.3421 9.15019 -5.70305
+7.63769 8.40928 -5.91253
+7.67456 8.87504 -6.81202
+8.48926 8.60449 -7.25146
+9.09994 9.36603 -7.37517
+9.80505 10.0311 -7.63928
+9.77764 10.4678 -8.55063
+9.83152 9.65675 -9.10794
+10.1016 10.2551 -9.80868
+10.5853 10.9422 -10.3831
+10.0013 10.6862 -11.1743
+10.047 11.5299 -11.5862
+9.09935 11.8939 -11.3745
+8.60599 12.1065 -12.246
+8.74817 11.1658 -12.6504
+9.55737 10.6668 -13.0164
+9.52769 11.2361 -13.8118
+10.3679 11.7337 -14.104
+10.9107 12.362 -13.666
+10.1379 12.7225 -14.1924
+11.0001 12.9842 -14.6521
+10.802 13.3479 -15.593
+10.3177 13.6335 -16.4352
+10.3075 13.2701 -17.3918
+9.30577 13.1588 -17.1409
+8.62053 13.8057 -17.6621
+7.89195 13.955 -17.0089
+7.5903 13.8624 -16.0474
+7.97996 14.7862 -15.8238
+7.46762 15.5407 -15.2879
+6.93009 16.3091 -15.5972
+7.24752 17.2725 -15.8193
+7.84535 18.114 -15.744
+8.81832 17.934 -16.0691
+9.75112 17.6432 -16.3895
+10.3798 16.8611 -16.1703
+10.7649 17.0096 -15.213
+11.2693 17.4792 -14.4558
+10.5392 17.9263 -14.8395
+9.77967 17.3908 -14.4724
+10.0343 16.8941 -13.6641
+10.9257 16.4499 -13.4883
+11.7741 15.881 -13.4694
+11.469 15.1648 -12.9408
+11.2022 14.3444 -13.3204
+11.9981 13.9564 -12.8762
+11.5684 13.7386 -11.9888
+10.7882 13.2865 -11.5902
+10.1997 13.575 -10.7992
+10.0661 14.3244 -11.3931
+9.22491 14.8776 -11.3663
+8.54596 14.9183 -10.6332
+8.60233 15.9071 -10.5789
+8.9268 16.8174 -10.9441
+8.07397 17.3834 -10.9989
+7.99375 17.4729 -12.0146
+7.99724 17.1942 -12.9784
+8.14918 16.3219 -13.4437
+7.84671 17.1141 -14.0508
+8.5959 16.8183 -14.6394
+8.64823 16.0972 -15.4077
+9.48286 15.575 -15.3852
+9.73747 14.7597 -14.7705
+9.25295 15.2857 -13.9637
+9.30261 14.9735 -13.0593
+8.57223 14.4008 -12.7355
+8.52941 13.3995 -12.9339
+8.07124 12.64 -13.3493
+7.54558 12.6824 -12.5528
+6.96393 13.169 -13.2407
+5.96161 12.9301 -13.3957
+5.12407 12.5838 -13.9002
+5.29018 12.517 -14.8868
+5.28793 11.6615 -15.0939
+4.24418 11.583 -14.9953
+3.51386 12.1287 -15.4354
+2.68599 11.5756 -15.2638
+2.77677 10.5592 -15.4833
+1.84928 10.4778 -14.9573
+1.2908 11.2879 -15.3071
+0.828311 10.5328 -15.727
+1.04976 10.0612 -16.5972
+1.28438 9.71185 -17.5674
+1.47065 10.7409 -17.4607
+2.15159 11.2842 -17.0167
+1.58909 12.097 -17.3
+1.07041 12.5946 -17.9757
+1.40124 12.2118 -18.7818
+1.51308 13.031 -19.3027
+0.548325 13.4575 -19.0612
+0.498589 13.4181 -20.0585
+-0.08546563 13.0443 -20.8336
+0.90592 13.1584 -21.0872
+1.5457 13.9773 -21.2396
+2.053 13.6163 -22.0314
+2.94469 13.4048 -21.7845
+3.82507 13.5391 -21.4391
+4.6675 13.5757 -20.8088
+5.28976 13.6518 -19.9632
+4.37448 13.8287 -19.7599
+3.47705 13.6734 -19.4767
+3.53866 14.0334 -18.5955
+3.58654 14.6422 -17.7203
+4.34194 15.2529 -17.9563
+4.35289 15.2352 -16.9354
+4.03234 16.1352 -17.222
+4.01188 16.4518 -18.1778
+4.29335 17.3315 -18.6057
+3.85425 17.9268 -19.2735
+3.05045 18.4873 -19.2307
+2.77106 19.4118 -19.582
+2.94538 20.3354 -19.5031
+3.95129 20.3243 -19.5906
+4.58481 21.0101 -19.4539
+4.94679 20.8551 -20.3946
+4.50496 21.0365 -21.3168
+4.2565 20.6759 -22.3048
+4.01741 20.718 -23.2785
+4.76423 20.0858 -23.1
+5.43954 19.7351 -22.3863
+5.92696 20.1675 -23.1338
+5.99117 20.7837 -23.8625
+6.20596 21.5713 -23.2681
+6.5446 21.5381 -22.3289
+6.56435 22.5253 -22.0956
+6.26677 23.4417 -22.1202
+5.31612 23.4815 -22.4739
+4.69017 23.0301 -21.8752
+4.51015 22.5944 -22.7515
+4.60147 23.4507 -23.2148
+4.13097 24.0866 -23.794
+4.16381 25.0505 -23.5322
+4.91348 25.5412 -23.0056
+5.76132 25.4173 -23.4109
+6.6229 25.0838 -23.7543
+7.41578 24.5992 -23.524
+7.82011 23.714 -23.8135
+8.7246 23.3728 -23.9528
+8.59831 23.4553 -24.9985
+8.64676 22.5837 -25.5633
+8.35887 21.8693 -26.2537
+8.87107 22.0803 -27.1551
+9.09536 22.9523 -27.5108
+9.9562 23.4596 -27.2591
+9.83956 23.2209 -26.2944
+10.1607 23.0167 -25.2719
+9.88422 22.0372 -25.0978
+10.8574 21.666 -25.2671
+10.6573 20.7534 -24.916
+10.057 20.1339 -24.6049
+9.46292 19.3335 -24.3423
+9.30309 18.4422 -23.9435
+8.35456 18.5114 -23.5836
+8.20621 17.5116 -23.5926
+7.20986 17.3147 -23.512
+7.43438 16.7089 -22.725
+7.31946 16.0691 -23.4464
+7.89939 15.6615 -22.7273
+7.0066 15.458 -22.2372
+6.37657 14.9095 -22.8809
+7.23451 14.4226 -23.263
+6.37172 13.8994 -23.4023
+6.0981 13.0289 -23.1061
+5.71534 12.0548 -22.9809
+5.92871 11.4389 -22.2783
+5.82385 10.6797 -22.9282
+6.71269 10.5322 -22.5071
+7.70384 10.6801 -22.44
+7.89709 11.5951 -22.1002
+8.48712 12.4175 -22.0246
+9.24817 11.7249 -22.0379
+10.0897 11.5717 -22.4013
+10.8423 11.6425 -23.1309
+11.2173 12.2767 -22.5043
+11.0994 13.2326 -22.0771
+11.9754 13.5017 -21.8751
+12.3051 13.6429 -22.7634
+12.5247 13.668 -23.7787
+11.6207 13.3073 -23.8187
+11.992 13.6182 -24.6634
+12.7494 12.9374 -24.7602
+12.9194 13.0428 -25.7368
+13.4257 13.3713 -26.5496
+12.9321 13.9306 -27.2467
+13.723 14.2891 -27.8044
+14.6737 14.0669 -27.8233
+15.6031 14.3946 -27.6344
+15.2624 15.2568 -27.2553
+14.4436 15.7318 -26.9165
+13.8363 16.5131 -26.9391
+13.547 15.8052 -27.5502
+12.7789 16.3432 -27.8024
+12.266 16.632 -28.5855
+12.1587 17.3011 -27.8774
+13.0983 17.4977 -27.4851
+12.2995 17.4476 -26.8099
+11.7723 18.3075 -26.5215
+12.0036 19.1842 -26.0636
+11.152 19.6419 -25.6712
+10.4282 19.0769 -25.1688
+10.5257 18.2333 -24.6129
+10.719 17.6382 -23.7745
+10.0268 17.0332 -23.4161
+9.75422 16.2915 -24.0969
+10.1127 15.4789 -24.639
+10.2261 16.4171 -25.0867
+10.507 16.5046 -26.0434
+9.49607 16.7618 -26.095
+8.60391 16.7897 -25.6216
+8.39089 17.6024 -26.2816
+8.11573 17.7143 -27.255
+8.46906 17.0114 -27.8981
+8.61437 16.0536 -27.65
+8.87218 15.3196 -27.0138
+9.56094 14.6607 -27.3862
+9.12087 14.6414 -28.3038
+9.83778 15.2996 -28.4904
+8.89309 15.5258 -28.8489
+8.6687 14.9618 -29.7077
+7.84604 14.771 -30.2475
+8.48955 15.1097 -30.8893
+9.41758 14.7286 -30.7101
+8.85631 13.9234 -30.5271
+8.73094 13.5797 -31.4498
+9.08208 14.3495 -32.0321
+8.15684 14.7099 -32.1699
+7.33218 15.2801 -32.2498
+6.86531 16.0683 -32.59
+6.25186 15.4094 -32.1771
+6.19694 14.8124 -31.3885
+5.26713 14.9274 -31.357
+5.49612 14.042 -31.6144
+5.73309 13.5221 -30.8426
+4.77544 13.6122 -30.7904
+5.00053 12.6801 -31.1506
+5.58499 12.0327 -30.6133
+5.56724 12.8178 -30.0181
+6.26415 12.5016 -29.3831
+6.56597 11.6372 -29.0648
+7.06728 10.7659 -28.8874
+7.35521 10.0485 -28.2537
+7.75104 10.8911 -27.9957
+8.11352 11.2205 -27.0836
+8.38116 11.8367 -26.2419
+8.30772 11.2839 -25.432
+7.9699 11.8281 -24.6862
+7.62832 12.5694 -25.3033
+8.28467 13.3328 -25.3644
+8.9469 12.832 -24.7957
+8.53599 13.6648 -24.4811
+7.89569 14.4741 -24.4268
+7.00245 14.287 -24.836
+7.38435 15.1218 -25.1861
+7.94476 14.9936 -26.0176
+7.46389 14.6645 -26.8922
+6.61165 14.7375 -26.438
+5.61521 14.9305 -26.3091
+5.43048 14.7961 -25.3318
+4.74577 14.5239 -24.6567
+4.28644 14.6483 -23.7066
+4.4439 15.5932 -23.8665
+3.57722 15.2685 -24.2972
+2.95063 16.0257 -24.044
+1.96792 15.5847 -24.0343
+2.27712 15.7473 -23.0651
+2.4841 14.9922 -22.4372
+1.70225 15.1233 -21.875
+1.07691 15.0535 -21.0192
+0.09644807 15.3096 -21.0794
+-0.733231 15.6413 -21.4898
+-0.720415 15.1305 -22.3868
+-1.13715 14.3067 -22.5707
+-1.82767 13.5649 -22.6914
+-1.33674 12.8586 -22.0684
+-1.41134 12.2838 -21.2633
+-2.1093 13.0274 -21.2717
+-2.81425 12.257 -21.3232
+-2.21706 11.5358 -20.9728
+-2.86553 10.7144 -20.7569
+-2.57811 9.89991 -21.2527
+-2.02811 9.16619 -21.6167
+-1.57861 8.52641 -22.2349
+-1.39725 7.62037 -22.0322
+-1.66046 7.22913 -22.8057
+-1.26139 6.43844 -22.2386
+-0.562543 6.37902 -21.5833
+0.202175 5.73179 -21.4508
+0.596481 5.84785 -22.3437
+0.253638 4.93769 -22.3335
+-0.322354 4.74537 -23.1366
+-0.668785 5.59046 -23.5397
+-0.864057 5.85892 -24.4913
+-0.847647 6.79761 -24.1304
+-0.02430513 7.2697 -24.4141
+0.321397 7.22273 -25.3252
+0.274638 8.14565 -25.1189
+0.498555 9.15905 -25.0549
+0.06200237 8.88748 -24.1675
+-0.119745 9.42912 -23.3893
+0.586874 9.95161 -22.9754
+1.44577 9.47078 -23.2085
+1.73965 8.62523 -23.6555
+1.266 8.20547 -24.4473
+1.45464 8.12637 -25.4299
+2.37393 8.01676 -24.9298
+2.93928 8.14052 -25.8021
+3.39689 9.01908 -25.5389
+4.41748 9.32078 -25.4499
+4.1681 10.0953 -25.8541
+3.98808 9.907 -26.8871
+4.96716 9.80165 -26.6031
+5.5036 10.3868 -25.9266
+5.91669 9.94512 -25.1816
+6.3735 9.25208 -24.6557
+5.69326 8.56234 -24.9
+4.72339 8.16983 -25.1234
+4.68593 8.8911 -24.4501
+3.85962 8.91633 -23.8216
+4.06727 8.28685 -23.0469
+4.16359 7.81281 -22.1381
+3.69914 7.08742 -21.5805
+2.94419 7.81493 -21.5168
+3.24435 8.74416 -21.9039
+2.6651 9.4043 -21.4385
+3.38777 10.0708 -21.5655
+2.9469 10.1818 -22.49
+3.17354 11.1537 -22.7959
+2.6618 11.6558 -22.1693
+2.40057 12.5706 -22.4076
+2.36448 12.6183 -23.4222
+3.14115 12.7003 -24.1049
+2.547 13.0741 -24.8587
+2.22456 13.217 -25.8025
+2.9689 13.8823 -25.6261
+2.77274 13.8094 -26.5774
+2.27817 13.4654 -27.3234
+1.77934 14.2602 -27.5964
+1.23405 14.8133 -26.9392
+0.496968 14.4879 -26.4377
+-0.363298 14.5724 -26.9386
+-0.512952 14.2118 -25.9421
+-0.464064 13.3102 -26.26
+-0.275882 13.205 -27.2543
+-0.474141 13.3016 -28.1787
+-0.666924 12.4098 -28.6512
+-0.251921 12.0203 -29.4561
+0.457849 12.3226 -30.017
+1.1033 12.9191 -29.4608
+1.47471 13.2516 -28.5365
+1.07146 12.3524 -28.3201
+0.862399 11.5738 -27.7316
+1.57227 11.1073 -28.1445
+1.38506 10.1181 -28.5049
+0.456869 10.3102 -28.8431
+-0.180783 10.4964 -29.5699
+-1.04975 10.8413 -29.8611
+-1.20452 9.89283 -29.628
+-0.610685 9.34939 -28.9545
+-1.2939 8.60294 -29.0802
+-1.58257 7.62711 -29.3108
+-2.11389 6.80211 -29.298
+-1.73863 6.40596 -28.5621
+-1.08752 6.49498 -27.7211
+-0.638398 6.99597 -28.4876
+0.139514 7.00357 -27.8758
+-0.182316 6.98504 -26.9746
+-0.504715 7.37143 -26.1426
+-1.54012 7.38314 -26.1947
+-1.27205 6.60897 -25.6089
+-1.96689 5.92514 -25.8999
+-2.92518 5.9955 -26.2474
+-2.51807 5.15759 -26.7189
+-1.69496 4.92089 -26.237
+-0.75054 5.20475 -26.1479
+-0.04206013 5.79252 -26.5827
+0.486676 5.34271 -27.3562
+0.457965 4.55144 -26.7366
+1.26019 4.32844 -26.1072
+1.5751 5.21144 -25.7236
+2.33333 4.59717 -25.6174
+3.08038 4.17469 -25.0865
+2.60192 3.26019 -25.1243
+1.80879 3.87596 -24.8281
+2.28052 4.14247 -23.9347
+1.44241 3.63445 -23.6134
+1.70121 2.97154 -24.2892
+1.57373 1.98864 -24.5021
+1.49176 1.32533 -23.7612
+1.87967 2.04174 -23.172
+1.10915 2.58719 -23.4601
+0.660191 2.48196 -24.2808
+0.260046 2.06013 -25.0487
+0.681871 1.19137 -24.8379
+0.690071 0.2308509 -24.6167
+-0.295743 0.06971143 -24.7824
+-1.02188 -0.5675341 -24.854
+-1.89648 -0.3650211 -24.3588
+-1.45275 -0.1866831 -23.4678
+-2.32084 0.07638903 -23.0907
+-3.04749 0.6637529 -23.4406
+-2.83756 0.8626429 -24.3293
+-2.52692 0.4994849 -25.1703
+-2.11826 1.2465 -25.84
+-2.66226 1.32804 -26.7376
+-1.62177 1.50977 -26.8275
+-2.06532 1.87099 -27.5785
+-2.65389 2.62856 -27.9507
+-3.17346 3.31774 -27.4493
+-2.70659 3.30593 -26.6187
+-1.75585 3.68524 -26.5196
+-1.48473 3.89647 -27.4023
+-1.50865 3.54234 -28.3315
+-0.83841 4.2299 -28.1574
+-0.195271 3.52685 -28.333
+-0.347874 3.3257 -27.3521
+0.03752477 2.46241 -26.9985
+-0.355533 2.89389 -26.1709
+-0.541212 1.96064 -25.8916
+-0.627705 1.06694 -26.297
+0.336015 1.00327 -26.1882
+0.483003 0.09598443 -26.6128
+0.953445 -0.3320401 -25.8554
+0.880512 -1.30013 -25.9608
+1.69026 -1.84558 -26.386
+2.1436 -1.3634 -27.1329
+2.58451 -0.4721361 -27.1932
+1.94559 0.2900209 -27.4331
+2.11676 0.2778369 -26.4582
+2.17265 1.10497 -25.8207
+2.41515 1.29299 -24.7918
+3.26399 1.63506 -25.2027
+4.04534 1.32381 -24.5676
+4.50759 1.75062 -25.3541
+5.45263 2.13623 -25.2163
+5.02143 1.77245 -24.4146
+4.54651 2.32093 -23.7683
+3.64779 2.27721 -23.2838
+3.30195 1.29669 -23.3682
+2.88554 1.62947 -22.5125
+2.39212 2.14777 -21.9007
+3.23506 1.79184 -21.5294
+3.96825 2.23368 -21.8808
+4.6935 2.77618 -21.4558
+3.85267 3.29046 -21.7327
+3.62423 4.11607 -21.181
+4.10069 4.48167 -21.8825
+4.02574 5.44243 -22.0872
+5.02479 5.4745 -21.8984
+5.06615 5.56161 -22.8633
+5.50404 5.72501 -23.7668
+5.19181 5.93726 -24.7095
+4.85967 6.73875 -25.2497
+5.44458 6.93111 -26.0508
+4.78267 7.50633 -26.5919
+5.39195 7.70489 -27.3971
+6.30512 8.07784 -27.4475
+6.41118 7.81229 -26.42
+7.42512 7.70375 -26.4825
+7.51997 7.00883 -27.1491
+6.50293 6.93954 -27.2773
+5.53186 6.67179 -27.3194
+4.61153 6.20233 -27.4077
+3.70473 6.46937 -27.4582
+3.61698 7.32764 -28.0168
+2.64637 7.34907 -28.0805
+3.15201 7.4357 -28.9259
+2.56851 8.11354 -29.2642
+2.74158 8.22069 -30.2226
+2.96909 9.12645 -30.6927
+2.12471 9.22052 -30.282
+2.6632 10.075 -30.4533
+1.75169 10.1768 -30.7839
+1.54752 10.3676 -31.7986
+1.41242 11.3029 -32.177
+1.26459 11.8236 -32.9821
+0.34625 11.3633 -33.2473
+0.79724 11.0696 -34.032
+1.16116 11.4593 -34.9463
+1.17338 10.495 -35.139
+1.15969 9.65741 -35.7826
+2.08266 9.23938 -35.9002
+1.39078 8.54525 -35.7083
+0.727717 8.12311 -36.4127
+1.03108 7.51203 -35.6294
+1.30356 7.68455 -34.6568
+0.526146 7.0338 -34.7225
+-0.106267 7.01043 -35.5228
+-1.01403 6.65131 -35.6196
+-1.87125 6.05959 -35.2991
+-2.75286 5.89026 -35.7365
+-2.57152 5.10837 -36.325
+-2.95822 5.73858 -36.9589
+-2.70093 4.70501 -37.1881
+-2.50787 3.90194 -37.6649
+-1.73026 3.29898 -37.6995
+-1.48602 2.3891 -37.4237
+-1.11411 2.03336 -38.2725
+-1.53538 1.33428 -37.678
+-0.758705 0.7834149 -37.8693
+-0.883573 -0.1796411 -37.6088
+-0.822324 -0.9170261 -36.9048
+-0.974774 -1.21884 -35.9834
+-1.60022 -0.4586911 -35.8389
+-2.15423 -0.01821237 -35.1277
+-2.12328 0.6581569 -34.3711
+-3.16219 0.4695209 -34.1581
+-2.90418 0.7912099 -33.2611
+-3.12009 0.9217569 -32.2637
+-3.09079 0.3767469 -31.3868
+-3.40773 -0.5882951 -31.3802
+-3.93796 -1.17872 -30.8289
+-4.27653 -2.09142 -31.105
+-3.46767 -2.3701 -31.6403
+-2.5374 -1.99335 -31.9047
+-2.69282 -1.17938 -32.5982
+-2.06036 -0.5040521 -32.1974
+-2.25199 -0.9130841 -31.3756
+-1.95468 -0.9117171 -30.4306
+-1.25861 -0.8059151 -29.6381
+-0.884026 -0.1383871 -30.1998
+-0.829636 0.8717129 -30.3735
+-0.683854 1.55241 -29.711
+-0.89942 2.42393 -29.3075
+-0.660548 3.18659 -30.0011
+-1.03523 3.74571 -30.8375
+-1.81472 4.47271 -30.8498
+-2.43476 3.69744 -31.0359
+-3.33622 3.99324 -31.195
+-2.99377 4.06997 -30.1796
+-3.2984 5.00024 -30.2549
+-3.12683 5.50868 -31.0984
+-3.94652 6.10862 -30.9631
+-4.57055 6.29754 -31.645
+-4.24199 6.47066 -32.6092
+-3.81558 5.91432 -33.3063
+-3.36321 5.1061 -33.608
+-2.46619 4.69947 -33.4626
+-2.41413 4.58468 -34.4666
+-1.93465 4.30442 -35.3095
+-0.98336 4.15961 -34.9843
+-0.06264113 4.40953 -34.6059
+0.604476 5.07033 -34.1369
+1.17856 4.64837 -33.4499
+1.35327 5.16973 -32.6481
+1.27782 4.57482 -31.8517
+1.68134 3.72528 -32.282
+2.50222 3.98682 -32.8362
+3.15798 3.22812 -32.8886
+3.85244 2.5266 -32.7983
+4.70164 2.68842 -33.0493
+5.61528 2.14801 -32.8711
+5.13755 1.60358 -33.6062
+4.84087 0.6499299 -33.7255
+3.86525 0.8590189 -33.5494
+3.78329 0.1748419 -32.9641
+3.47829 -0.5544681 -32.3202
+2.4846 -0.6331381 -32.3642
+2.47783 0.2608479 -32.0498
+3.21521 -0.01617147 -31.4217
+2.64331 -0.8255491 -31.0781
+3.26743 -0.6183491 -30.3185
+3.28219 -1.54696 -29.8601
+3.39081 -2.21722 -30.6384
+2.81375 -2.88647 -31.1132
+2.97762 -3.80137 -31.4792
+2.9151 -4.29679 -30.5622
+3.51634 -5.05018 -30.1898
+4.09451 -5.73684 -30.6425
+4.59109 -5.31731 -31.3582
+5.12317 -4.78977 -32.0186
+5.85032 -4.17073 -32.4552
+6.44168 -3.66102 -31.7853
+7.06181 -3.99714 -31.0713
+7.36353 -4.62473 -30.4018
+6.48066 -4.50012 -29.8791
+5.80303 -3.87234 -30.3481
+5.02893 -3.29468 -30.0103
+4.20107 -2.81206 -30.3194
+4.45602 -1.86615 -30.5768
+5.31821 -1.77449 -30.0135
+6.01144 -2.00241 -29.4308
+6.89167 -1.84161 -28.9878
+6.51989 -2.72947 -28.6871
+5.46667 -2.85478 -28.7089
+4.45556 -2.90291 -28.984
+3.85481 -2.99724 -28.2643
+3.66499 -3.86054 -27.8495
+2.82595 -4.34658 -27.6786
+2.4863 -3.93625 -26.7791
+2.21836 -3.22864 -26.1083
+1.40158 -3.06909 -25.6212
+0.903 -3.73141 -25.1079
+1.22634 -4.60132 -24.8272
+0.653023 -5.44234 -24.6618
+-0.160986 -4.8231 -24.7918
+-0.269395 -5.6949 -25.3363
+0.05704117 -6.58186 -25.4477
+-0.159136 -6.49993 -24.4095
+-0.857729 -6.10781 -23.8237
+-1.15283 -5.23618 -23.3877
+-0.780518 -5.38756 -22.4579
+-1.70578 -5.38417 -22.2105
+-1.9488 -4.50747 -22.5537
+-2.91028 -4.63027 -22.5912
+-3.01728 -4.88446 -21.6688
+-2.75684 -5.3687 -20.8015
+-2.54435 -5.81506 -21.6175
+-1.89145 -6.5447 -21.591
+-2.08829 -6.66567 -20.5803
+-1.81574 -5.79628 -20.0219
+-1.82102 -5.42378 -19.0604
+-1.2689 -5.60858 -18.1634
+-0.770561 -6.02679 -18.8785
+-0.289029 -5.60646 -19.6353
+0.514337 -4.90788 -19.4129
+0.37276 -5.39792 -18.5328
+0.66816 -6.10188 -19.1778
+0.272598 -6.73431 -19.8238
+-0.719039 -6.76961 -19.6878
+-0.897399 -7.4579 -18.9959
+-1.00272 -7.59598 -18.0128
+-1.27954 -6.95171 -17.3999
+-2.20022 -7.0167 -17.3897
+-3.05787 -7.07177 -16.8432
+-4.04502 -7.00159 -17.1699
+-4.26571 -7.04744 -18.1258
+-4.96733 -7.17055 -18.8142
+-5.20161 -6.17335 -18.8211
+-5.55296 -5.57061 -18.1452
+-6.4346 -5.43705 -17.7595
+-7.2455 -5.06905 -17.1775
+-8.25983 -5.21312 -17.1249
+-9.03118 -5.88105 -17.3461
+-9.92562 -6.2324 -17.1682
+-9.35198 -6.40303 -16.2836
+-8.74679 -7.15155 -16.075
+-7.94706 -7.15133 -15.5283
+-6.96755 -7.36058 -15.4116
+-6.58298 -6.44889 -15.5987
+-6.76711 -6.66821 -14.6172
+-7.60109 -6.641 -14.0067
+-8.17761 -7.08727 -13.3328
+-9.17093 -7.3539 -13.2646
+-8.78032 -7.68504 -12.4857
+-8.7577 -8.02221 -11.5458
+-8.4713 -8.85108 -11.0294
+-7.67461 -8.32841 -11.0302
+-6.81236 -8.10652 -10.606
+-6.25315 -7.34857 -10.2678
+-5.99834 -6.97755 -11.136
+-5.1091 -6.70698 -10.6663
+-4.74698 -5.88905 -10.2017
+-5.7435 -5.98781 -10.024
+-5.2765 -6.44102 -9.26599
+-5.7007 -6.49176 -8.38853
+-6.42151 -5.83784 -8.39353
+-5.98722 -5.82112 -7.52585
+-5.87863 -6.65511 -7.06368
+-6.86685 -6.76417 -7.33194
+-6.26816 -7.50572 -7.00415
+-7.18796 -7.74251 -6.57548
+-7.73215 -8.60509 -6.53565
+-8.01664 -9.53586 -6.81602
+-7.53957 -9.88271 -7.62568
+-6.68011 -9.82035 -7.14076
+-6.82024 -9.29116 -6.25729
+-7.03435 -9.7054 -5.36304
+-6.82091 -10.2635 -4.52672
+-6.64088 -11.1311 -4.18535
+-6.48321 -11.7165 -4.87833
+-7.41785 -11.6747 -5.31418
+-7.83566 -11.0405 -5.98547
+-8.80846 -11.4019 -5.9946
+-9.27926 -11.4143 -6.84121
+-9.62977 -11.2751 -7.76069
+-10.0557 -11.6439 -8.56332
+-10.5801 -11.2016 -9.29201
+-9.8284 -10.4166 -9.53113
+-9.68215 -10.8775 -10.4249
+-10.0812 -11.7485 -10.7798
+-10.9014 -12.124 -11.2353
+-11.587 -11.459 -11.5422
+-11.8842 -10.994 -12.3906
+-11.2234 -11.5369 -12.9297
+-10.4373 -12.0629 -13.4255
+-10.568 -12.9252 -13.8908
+-11.5093 -13.127 -13.8456
+-12.5063 -13.1643 -14.1682
+-12.7425 -12.6147 -13.4057
+-11.9775 -12.7554 -12.7791
+-12.5311 -11.9711 -12.5864
+-12.9103 -11.2719 -11.9766
+-13.5135 -11.1742 -11.1505
+-12.7162 -11.3206 -10.5567
+-12.3401 -12.1035 -10.1921
+-11.8114 -12.5997 -9.52676
+-11.413 -12.3667 -8.58639
+-10.846 -12.2792 -9.42792
+-10.8093 -13.2543 -9.12467
+-10.0139 -13.3819 -9.71126
+-9.38352 -13.0974 -8.95445
+-8.43542 -13.0917 -8.98679
+-8.46285 -12.1279 -8.95405
+-9.03255 -12.0588 -8.1056
+-8.38626 -11.9371 -7.25147
+-8.95539 -12.7368 -7.20993
+-9.12075 -13.3201 -7.98069
+-9.60325 -13.4696 -7.16509
+-9.55828 -14.4638 -7.09961
+-8.84383 -15.1757 -6.8234
+-8.96632 -16.136 -7.13759
+-8.7145 -16.9587 -6.55084
+-8.91511 -17.6258 -7.22367
+-9.81447 -17.7911 -6.95577
+-9.25484 -17.907 -6.17398
+-10.014 -17.3553 -5.85668
+-9.4338 -17.7684 -5.15659
+-8.78124 -17.1607 -5.65917
+-8.22721 -17.7454 -6.22189
+-8.57182 -18.4332 -6.80508
+-9.28467 -19.053 -6.56481
+-8.60331 -19.5335 -7.04452
+-7.9093 -20.2129 -6.76357
+-7.41839 -19.3071 -6.57949
+-7.17009 -18.7285 -5.8927
+-6.35607 -18.9743 -5.38562
+-6.54576 -19.7957 -4.79303
+-7.25113 -20.3894 -4.47644
+-7.52097 -19.5505 -4.16821
+-6.7404 -19.4954 -3.44653
+-5.92366 -20.136 -3.57317
+-5.3195 -20.91 -3.80607
+-4.77062 -20.9206 -4.55894
+-3.88546 -21.1958 -4.86825
+-4.32866 -20.6791 -5.66162
+-4.48118 -19.7284 -5.5693
+-4.60414 -19.4479 -4.56017
+-5.28613 -18.7705 -4.16727
+-5.38213 -19.0076 -3.15887
+-5.0608 -18.7655 -2.2717
+-4.75738 -18.066 -1.74256
+-3.7727 -17.9464 -1.76098
+-4.20641 -17.5291 -2.58044
+-3.68721 -16.8005 -3.0234
+-4.59659 -16.7904 -3.46188
+-4.84089 -15.9837 -2.92204
+-5.18732 -15.3723 -2.15002
+-6.05217 -15.747 -2.14288
+-6.84913 -16.2142 -1.69765
+-7.02667 -15.4538 -2.31797
+-7.63639 -15.1428 -2.98328
+-7.35454 -16.029 -3.31322
+-7.37949 -16.0976 -4.31404
+-6.58075 -16.5676 -4.12009
+-6.09184 -16.0045 -3.61716
+-5.37915 -15.9687 -4.24186
+-5.84387 -15.1287 -4.26464
+-5.18177 -14.8722 -3.59869
+-4.74039 -15.1568 -4.48305
+-5.21582 -14.2601 -4.4001
+-4.76843 -13.4053 -4.61087
+-4.34539 -13.8743 -5.40542
+-3.90371 -13.3536 -6.03698
+-4.91741 -13.2406 -5.95675
+-5.10467 -12.2751 -5.87934
+-4.88368 -11.3748 -5.44635
+-5.64655 -11.3383 -6.00722
+-5.72654 -11.0168 -6.96623
+-5.71261 -11.6248 -7.86676
+-6.32923 -12.0919 -7.3103
+-7.29097 -11.9572 -7.37802
+-7.13488 -11.086 -7.81401
+-6.56625 -10.319 -8.0394
+-5.88362 -9.54781 -8.00801
+-5.63742 -8.58983 -8.22042
+-5.74823 -7.59259 -8.41535
+-6.55913 -7.06421 -8.59
+-6.82301 -7.97743 -8.85324
+-6.60737 -8.88128 -9.2544
+-7.38345 -9.39825 -9.4135
+-7.94946 -10.1666 -9.88361
+-7.39643 -10.867 -10.3702
+-6.51568 -10.7891 -9.99249
+-6.75633 -10.8229 -8.95899
+-7.46417 -11.5089 -9.06017
+-7.65487 -12.1342 -9.73089
+-6.94194 -12.8154 -9.70476
+-6.14181 -12.2851 -9.91887
+-6.20778 -12.0358 -10.9246
+-6.16299 -12.9827 -10.6618
+-5.53175 -13.5799 -11.028
+-4.88386 -14.4258 -11.0248
+-5.45858 -14.4985 -11.8896
+-5.91925 -15.3015 -12.2293
+-5.22182 -15.9048 -12.5808
+-5.34547 -16.6911 -13.236
+-4.71358 -17.3129 -13.6918
+-4.95197 -18.1281 -13.179
+-5.61604 -18.7952 -12.9668
+-6.29673 -18.3386 -12.5142
+-6.95482 -18.9292 -12.2277
+-7.30913 -19.7129 -12.7011
+-8.05621 -20.1316 -13.2502
+-8.65554 -19.3908 -13.421
+-9.01887 -18.9328 -14.2019
+-8.74727 -18.4263 -15.0468
+-8.58135 -18.9197 -15.909
+-7.64116 -18.6417 -16.0561
+-7.39036 -17.6663 -16.1674
+-7.03864 -16.7151 -16.0973
+-7.64144 -16.6223 -15.2877
+-6.96477 -16.54 -14.5494
+-6.3318 -16.0761 -15.105
+-5.71842 -15.4184 -15.56
+-5.37442 -15.4341 -16.5456
+-4.49626 -15.0227 -16.8982
+-3.46307 -14.7782 -16.8057
+-3.19329 -15.5299 -17.4027
+-3.87594 -15.8643 -17.9897
+-3.50012 -16.4888 -18.5835
+-2.48163 -16.4498 -18.6951
+-2.11284 -16.8789 -17.8485
+-1.94189 -17.8685 -17.8858
+-1.30994 -18.4443 -18.3398
+-1.71892 -19.3166 -18.5465
+-1.39523 -20.0478 -19.2904
+-1.18377 -19.8349 -20.1737
+-0.31773 -20.3309 -20.1356
+-0.583887 -21.2562 -20.2585
+-1.25095 -21.4576 -20.9912
+-1.77466 -21.5487 -21.8716
+-1.91482 -22.5126 -21.5652
+-1.79049 -23.257 -20.8517
+-1.15124 -22.6483 -20.4854
+-1.96429 -22.4031 -19.8928
+-1.17326 -22.0502 -19.424
+-1.83103 -21.3803 -19.1909
+-1.03728 -21.3587 -18.5792
+-0.166861 -20.8752 -18.563
+-0.37446 -20.6957 -17.5446
+-1.18211 -20.2873 -17.1243
+-1.10125 -19.8708 -16.1766
+-1.6059 -19.6853 -15.3401
+-1.92277 -19.1123 -14.5568
+-1.92933 -18.8979 -13.5844
+-2.01678 -17.9042 -13.3904
+-2.83454 -18.389 -13.1796
+-3.55845 -17.8541 -12.8531
+-2.79447 -17.248 -13.0343
+-2.91023 -16.2922 -12.828
+-2.1594 -15.8966 -13.3527
+-2.22603 -16.0631 -14.3293
+-3.08597 -16.5142 -14.2251
+-3.44511 -17.031 -14.9733
+-3.27496 -17.9839 -15.4448
+-2.78556 -18.0459 -14.5659
+-1.84024 -18.0564 -14.9223
+-1.37365 -17.3116 -15.3626
+-1.52989 -16.7351 -16.2129
+-1.06767 -17.5605 -16.616
+-0.527187 -17.3444 -15.8241
+-0.001998175 -16.5652 -15.488
+0.465988 -15.9455 -14.7871
+1.25102 -16.494 -15.075
+1.91999 -15.7924 -15.2334
+1.40966 -14.9108 -15.3083
+0.951005 -14.7266 -16.157
+1.19088 -15.6636 -16.5074
+1.74868 -14.8809 -16.7763
+2.07758 -15.3538 -17.6859
+2.62625 -14.6043 -18.0217
+2.98917 -14.8692 -18.9472
+3.31091 -15.5133 -19.697
+2.84453 -16.4013 -19.4922
+2.37459 -16.9138 -18.7919
+1.99256 -17.8758 -18.8293
+1.82265 -18.6755 -18.1602
+2.11543 -19.3264 -17.4844
+1.47852 -20.0955 -17.6318
+0.479087 -20.1434 -17.5933
+0.373331 -19.872 -16.6465
+0.756075 -19.8733 -15.7395
+1.48508 -19.3769 -16.1264
+2.47173 -19.0874 -16.3563
+3.20385 -18.5488 -15.9049
+3.35352 -18.3777 -14.9527
+4.10918 -17.7602 -14.6406
+5.1423 -17.5223 -14.4372
+5.9756 -17.7318 -14.9127
+5.71317 -18.1121 -15.7833
+5.23635 -17.2022 -15.6973
+4.41117 -17.6366 -16.0588
+4.50462 -18.5182 -16.6133
+3.73008 -18.3708 -17.1224
+4.21243 -18.2857 -18.0225
+4.58059 -19.0808 -18.5485
+4.10385 -18.5716 -19.253
+4.73184 -18.5737 -20.0558
+3.71626 -18.4188 -20.1508
+3.74715 -18.2395 -21.1181
+4.2229 -17.4542 -21.3906
+4.89473 -16.9971 -21.9136
+4.37399 -17.1372 -22.7552
+4.18208 -16.1531 -22.937
+3.31202 -16.294 -22.3387
+3.10328 -15.7276 -21.5823
+2.24796 -15.8643 -21.0515
+1.36023 -16.2356 -21.2358
+1.51942 -16.953 -21.8156
+0.894081 -17.8198 -21.5428
+1.38981 -18.443 -20.8275
+0.480549 -18.4035 -20.6661
+-0.291023 -18.0314 -20.0729
+-1.03756 -17.2966 -19.9607
+-1.16107 -16.9806 -20.9383
+-1.27512 -17.7144 -21.5536
+-1.22166 -17.1441 -22.3628
+-1.62164 -17.1525 -23.3287
+-1.31036 -18.0593 -23.1896
+-1.40262 -18.857 -22.591
+-1.13995 -19.8142 -22.5239
+-1.10531 -20.0062 -21.5197
+-2.01263 -20.2981 -21.629
+-2.4962 -19.3803 -21.7495
+-3.53151 -19.4042 -21.6333
+-4.33487 -18.9995 -21.2736
+-5.25782 -18.6816 -21.0622
+-5.29539 -17.8558 -20.5454
+-6.18576 -17.305 -20.5554
+-7.02772 -16.9101 -20.2624
+-7.43195 -16.8439 -19.334
+-7.99779 -16.0781 -18.9241
+-8.90816 -16.543 -18.8383
+-9.50165 -15.7784 -18.6664
+-9.68402 -15.2267 -19.4932
+-9.62593 -14.5504 -18.7914
+-10.5185 -14.38 -18.3551
+-10.9265 -13.5132 -18.2129
+-9.98827 -13.3672 -17.8559
+-9.02185 -13.3177 -17.9496
+-8.77644 -13.7728 -17.1621
+-8.02922 -14.3628 -17.0843
+-7.25915 -13.9713 -17.6148
+-7.34666 -13.0061 -17.8845
+-7.18646 -12.3175 -18.5682
+-6.30362 -12.3905 -18.0863
+-6.26031 -12.6911 -17.1625
+-5.96763 -13.4043 -17.8587
+-5.11262 -13.3507 -18.2773
+-4.41598 -14.0544 -18.5069
+-5.10981 -14.6233 -17.9413
+-5.47283 -15.5822 -18.2513
+-5.76654 -16.542 -18.2694
+-6.58185 -16.0525 -17.9552
+-7.04224 -16.1026 -17.0989
+-7.57988 -15.6697 -17.752
+-8.41014 -16.1667 -17.6425
+-8.27888 -17.1986 -17.6042
+-9.01221 -17.7788 -17.9758
+-9.28526 -18.7399 -17.8767
+-9.36627 -18.9748 -18.8077
+-9.05228 -18.2773 -19.5348
+-9.89642 -17.7558 -19.5695
+-9.5595 -17.0756 -20.2432
+-9.20952 -16.4531 -20.9721
+-8.71295 -15.6292 -20.8232
+-9.67262 -15.4805 -20.9429
+-10.2808 -14.8435 -21.3962
+-9.59627 -14.1157 -21.2396
+-9.49729 -13.2828 -20.6764
+-8.77081 -12.6182 -20.9275
+-8.03602 -13.0274 -21.4857
+-7.96617 -13.933 -21.9882
+-7.11028 -14.3045 -21.5513
+-6.71808 -14.9945 -22.2176
+-5.82272 -15.391 -22.0201
+-5.69831 -15.2443 -22.9725
+-5.05669 -14.9385 -23.6846
+-4.79051 -15.7448 -23.093
+-5.32918 -16.3177 -23.7688
+-4.85978 -17.0974 -24.0967
+-4.31805 -16.9881 -23.2805
+-4.44804 -17.96 -23.5442
+-4.88045 -18.7846 -23.9714
+-4.55133 -19.6583 -23.8669
+-3.81615 -19.8029 -23.2569
+-3.84893 -20.6676 -22.9203
+-3.30991 -21.0049 -22.1485
+-3.41994 -21.1308 -21.1266
+-3.45475 -21.0088 -20.112
+-3.50698 -21.6974 -19.36
+-2.88585 -22.1683 -18.7736
+-2.83858 -22.7221 -17.9428
+-3.26183 -23.4135 -18.5149
+-3.81697 -24.2248 -18.2344
+-3.11303 -23.9633 -17.5189
+-2.73698 -24.8862 -17.3376
+-1.70839 -25.0716 -17.3682
+-1.26422 -24.3141 -17.9183
+-1.89316 -23.9871 -17.2551
+-1.91111 -23.3887 -16.5154
+-2.27023 -22.4243 -16.3525
+-1.98407 -22.3848 -15.3532
+-1.9483 -21.3536 -15.4104
+-2.76289 -21.7665 -14.8882
+-2.47492 -20.9622 -14.3492
+-3.37066 -20.4644 -14.3942
+-3.65747 -19.938 -15.1782
+-3.49428 -20.8626 -15.5975
+-4.40961 -20.4881 -15.814
+-4.48187 -21.4466 -15.9984
+-5.40005 -21.3629 -16.3978
+-6.14535 -21.7239 -15.8194
+-6.39709 -22.6343 -16.2714
+-6.63819 -23.2948 -15.6572
+-6.72762 -24.2581 -15.8514
+-7.62197 -24.1376 -15.4495
+-7.42866 -24.5026 -14.5656
+-7.69757 -25.442 -14.4721
+-7.35526 -25.9669 -15.1326
+-7.44411 -25.6473 -16.1025
+-8.31662 -25.9073 -16.2933
+-8.42397 -25.188 -17.0514
+-7.55874 -25.3687 -17.5523
+-6.77936 -25.8848 -17.7372
+-6.83785 -26.5119 -18.542
+-6.69998 -27.5215 -18.6313
+-5.8416 -27.9807 -18.303
+-5.19131 -28.6071 -18.7206
+-4.46692 -28.0437 -18.9771
+-5.2603 -27.6012 -19.2941
+-4.6408 -27.3682 -20.0192
+-4.21756 -26.4401 -20.0335
+-4.74521 -25.7712 -19.5611
+-4.93755 -25.099 -20.3559
+-5.67226 -24.4395 -20.5325
+-5.10075 -23.7716 -21.07
+-6.02524 -23.4204 -21.2635
+-6.38476 -22.5491 -20.9765
+-6.29635 -22.3031 -19.9583
+-6.83717 -22.1193 -19.1468
+-7.41536 -21.4663 -18.6909
+-7.14356 -20.9402 -19.4576
+-6.20877 -20.7511 -19.7504
+-5.45739 -20.7093 -19.1132
+-4.60196 -20.2546 -19.4183
+-4.91505 -19.3085 -19.2299
+-5.59638 -19.1121 -18.5424
+-6.21022 -18.4915 -18.0275
+-5.65175 -17.6657 -18.0286
+-5.45 -17.3813 -18.8819
+-4.95153 -17.1244 -19.6846
+-4.56715 -18.0854 -19.7491
+-3.81521 -17.5001 -19.5181
+-3.48371 -16.557 -19.5904
+-2.52646 -16.3164 -19.8244
+-2.78024 -15.3438 -20.0024
+-1.99268 -14.7357 -19.775
+-2.08163 -13.9206 -20.3811
+-2.44668 -13.0491 -20.7612
+-3.34904 -12.6396 -20.9325
+-4.30265 -12.4518 -20.983
+-4.44466 -11.7526 -20.2891
+-4.90454 -11.0723 -19.713
+-4.10909 -10.5215 -19.5993
+-3.45822 -10.2479 -18.9088
+-4.14851 -10.1545 -18.2028
+-3.51174 -10.0192 -17.4358
+-2.91964 -10.4058 -16.7487
+-2.96628 -11.3527 -16.6183
+-2.6278 -11.9476 -15.9037
+-2.56235 -12.8289 -15.6282
+-2.83054 -13.7289 -16.1225
+-3.72549 -13.831 -15.5473
+-4.30459 -13.8137 -14.7657
+-4.86854 -14.3123 -14.1642
+-5.76548 -14.8244 -14.0735
+-6.1973 -15.6776 -14.045
+-6.74584 -16.0216 -13.2243
+-7.4979 -16.492 -12.7999
+-7.47598 -16.0919 -11.8699
+-7.0749 -15.1447 -11.7626
+-6.86287 -15.2672 -10.8053
+-6.02598 -14.9851 -11.1065
+-5.87957 -15.9189 -10.6827
+-6.04377 -16.6821 -10.025
+-5.43878 -17.4583 -9.97095
+-4.44818 -17.6035 -10.2133
+-4.37283 -18.4595 -9.6067
+-4.693 -18.7788 -8.70555
+-3.68378 -18.6958 -8.64317
+-3.04711 -19.4757 -8.44256
+-3.31194 -20.3809 -8.15616
+-3.28882 -21.2223 -7.67718
+-4.21184 -21.0108 -7.3489
+-4.78083 -20.1944 -7.25538
+-5.17325 -19.4504 -6.72358
+-5.26011 -18.4424 -6.57369
+-4.78684 -18.3239 -5.70827
+-4.51483 -17.4442 -6.18012
+-4.15318 -16.7628 -5.5012
+-4.21917 -16.1072 -4.87299
+-3.74212 -15.6953 -5.62571
+-4.3154 -15.2991 -6.30684
+-5.0388 -15.3928 -6.98889
+-4.3172 -15.3061 -7.65888
+-4.64553 -15.8369 -8.50042
+-3.78094 -15.9708 -9.04894
+-4.03185 -15.0054 -9.2842
+-3.34791 -14.2324 -9.2148
+-2.74216 -13.4363 -9.5755
+-2.26551 -13.0171 -8.72442
+-2.28615 -12.3778 -9.48354
+-1.46521 -12.4214 -8.90344
+-1.13865 -11.5303 -8.6658
+-0.562055 -11.4261 -7.87044
+-0.465897 -10.8956 -7.08426
+-1.04682 -10.5383 -6.46683
+-1.48769 -10.168 -7.24678
+-2.22638 -9.80931 -6.7286
+-2.68035 -9.12281 -7.27984
+-3.05932 -8.36928 -7.88992
+-2.41224 -8.72277 -8.51117
+-2.5887 -8.84828 -9.46352
+-1.69787 -9.26633 -9.55887
+-2.18797 -10.0778 -9.27299
+-2.54116 -10.7042 -9.94804
+-3.19873 -11.442 -9.80253
+-4.08378 -11.1231 -10.2124
+-3.42772 -10.8231 -10.9083
+-2.55187 -10.6698 -11.3388
+-1.87961 -9.95989 -11.2641
+-2.6904 -9.77126 -11.8494
+-2.75874 -8.7473 -11.7549
+-2.18435 -8.94594 -11.0583
+-2.25885 -8.13065 -10.5967
+-2.53382 -7.4814 -9.94766
+-2.42563 -6.53259 -9.52409
+-1.95885 -5.97831 -10.1582
+-2.82191 -5.62549 -10.4337
+-3.58936 -6.11377 -10.8806
+-3.31789 -6.55877 -11.7681
+-3.48348 -5.80113 -12.382
+-3.50306 -5.10191 -11.7269
+-4.25672 -4.81569 -12.3724
+-3.4176 -4.31535 -12.2849
+-2.52515 -4.66291 -11.867
+-1.55263 -4.83549 -11.6145
+-1.52663 -5.73787 -11.2623
+-0.846664 -5.11273 -10.823
+0.167458 -5.11345 -10.7391
+0.828566 -5.68561 -11.1075
+0.690266 -5.73108 -12.0457
+1.49824 -5.9098 -12.5929
+2.12951 -6.63934 -12.4501
+2.61485 -7.52896 -12.2873
+2.46522 -8.47283 -12.6014
+2.55514 -9.52912 -12.4159
+1.78268 -9.10386 -11.8581
+1.48624 -8.25327 -11.5174
+1.38335 -7.29099 -11.2995
+0.384445 -7.25558 -11.6067
+0.259597 -7.3452 -10.5911
+-0.598338 -7.86755 -10.5066
+-0.901415 -8.10627 -9.57526
+-0.647332 -8.98062 -10.0315
+-0.210731 -9.40171 -9.24363
+0.206064 -10.2175 -8.81559
+0.382995 -9.46033 -8.19315
+-0.352407 -9.77948 -7.48105
+-0.849142 -9.19522 -6.88633
+-1.46886 -8.43508 -7.0752
+-0.790682 -8.77626 -7.73203
+-0.17667 -8.14825 -8.3453
+0.302823 -7.28767 -8.41897
+1.13414 -6.95559 -8.7791
+1.81336 -6.8577 -8.00251
+2.6783 -7.06952 -8.46684
+2.54861 -7.82863 -9.04406
+2.5473 -7.9718 -10.0163
+3.10979 -8.5685 -10.4775
+2.18273 -8.94439 -10.584
+2.03645 -9.53316 -9.74792
+2.47463 -10.0174 -8.97199
+2.7325 -10.9046 -8.76684
+2.98265 -11.2661 -7.89497
+2.2479 -11.8829 -8.01583
+3.14043 -12.3641 -7.86786
+2.72443 -13.1772 -7.43004
+3.42876 -13.3606 -6.68988
+4.0815 -12.7185 -6.52723
+4.33493 -13.5575 -6.02421
+4.72096 -14.4723 -5.84444
+5.03303 -14.926 -5.05136
+4.7974 -14.5494 -4.20406
+4.69782 -13.7394 -3.5656
+3.84025 -14.0909 -3.89419
+2.9067 -13.9376 -4.08523
+2.91625 -14.8429 -3.58604
+2.02576 -14.3418 -3.32978
+2.48267 -13.8801 -2.67692
+2.55361 -12.9271 -2.77267
+1.69982 -13.2544 -2.53238
+0.876923 -13.0072 -3.12945
+0.473609 -13.8419 -3.55156
+0.145605 -13.5135 -4.4195
+-0.102888 -13.6135 -5.32303
+-0.546808 -14.2368 -5.99965
+-0.801334 -14.8125 -5.19511
+-1.22663 -15.2386 -6.02797
+-1.17143 -15.2872 -7.06485
+-0.430845 -15.8261 -7.51477
+-0.12752 -15.5456 -8.39823
+0.406398 -14.6877 -8.43538
+-0.357962 -14.105 -8.29217
+-1.36163 -13.7783 -8.17145
+-1.63388 -12.8684 -7.82927
+-2.07396 -12.0761 -7.39095
+-2.27696 -11.5996 -6.54107
+-2.15079 -11.3344 -5.61454
+-2.58541 -11.7307 -4.803
+-3.5223 -11.8309 -4.66908
+-3.10611 -12.6511 -4.95856
+-3.04545 -13.6382 -4.63361
+-2.37001 -13.4045 -5.349
+-1.93946 -12.4206 -5.39431
+-1.13067 -11.94 -5.81236
+-0.803068 -12.6255 -6.45777
+-0.06733243 -12.0534 -6.55139
+0.631337 -12.6495 -6.83887
+1.38989 -12.0542 -7.15417
+2.20799 -11.525 -6.82157
+1.86633 -12.3237 -6.24185
+1.44788 -12.3905 -5.24862
+1.00325 -11.5266 -4.8867
+0.248417 -11.0087 -4.48163
+0.236091 -12.0138 -4.22242
+-0.52344 -11.8078 -3.60658
+-1.00831 -10.9962 -3.21496
+-1.44165 -10.6322 -2.32399
+-2.17818 -10.7441 -2.92818
+-3.20127 -10.8409 -2.81987
+-3.77399 -10.1364 -2.4904
+-3.19204 -9.45773 -1.96594
+-2.48629 -9.04385 -1.5538
+-1.69402 -8.41213 -1.72794
+-1.56365 -7.75567 -1.02557
+-0.840817 -8.1178 -0.4772869
+-0.484061 -8.31468 0.4821261
+-0.714779 -7.31984 0.3963821
+-1.7326 -7.21365 0.1272231
+-2.36877 -6.50787 0.4035571
+-2.95167 -5.95416 -0.2608069
+-2.07454 -6.41282 -0.6269299
+-2.13123 -6.98227 -1.52707
+-2.61851 -7.58266 -2.23189
+-3.1843 -8.38965 -2.43039
+-3.4813 -7.58807 -3.05492
+-3.73429 -7.29979 -3.98318
+-3.50498 -6.56084 -3.34274
+-4.27685 -6.59044 -2.66281
+-4.25009 -7.43452 -2.14466
+-4.75966 -7.09851 -1.3845
+-4.80555 -6.08712 -1.422
+-3.90915 -6.42064 -1.73763
+-3.90024 -5.41456 -1.96875
+-4.71564 -5.29546 -2.48182
+-4.83503 -4.67136 -1.78708
+-4.45282 -3.7949 -1.36873
+-4.81239 -2.94477 -1.80802
+-4.3522 -3.60372 -2.33377
+-4.94596 -3.63285 -3.10788
+-5.41409 -3.92354 -3.89604
+-4.80246 -4.63892 -3.69175
+-5.50902 -4.62768 -2.9498
+-6.17786 -5.32257 -2.6825
+-6.93382 -5.8789 -3.16858
+-6.37226 -5.71111 -3.99547
+-5.78218 -6.36825 -4.54537
+-5.14827 -6.90338 -5.16303
+-5.12429 -6.05287 -5.64607
+-4.78405 -5.44961 -6.3362
+-4.73495 -5.85295 -7.20148
+-4.2643 -5.51843 -7.88169
+-3.81437 -6.09051 -8.64934
+-4.38284 -7.00592 -8.49771
+-4.32204 -7.19172 -7.45033
+-4.0745 -7.75582 -6.57974
+-3.8081 -7.54234 -5.70427
+-3.33842 -8.44116 -5.71774
+-3.75776 -9.37796 -5.66772
+-3.9632 -10.2366 -6.05129
+-4.18261 -10.4498 -7.03028
+-4.28352 -9.53792 -7.5662
+-3.80751 -9.70603 -8.42783
+-4.35924 -8.87388 -8.35086
+-4.48108 -8.29318 -9.13253
+-4.73544 -8.53484 -10.0086
+-5.40972 -9.03748 -9.38197
+-4.84938 -9.84372 -9.15587
+-4.00868 -9.87191 -9.63705
+-3.87679 -10.5456 -8.91476
+-4.19548 -11.4296 -8.78262
+-3.40597 -11.5916 -8.10372
+-3.79738 -12.461 -8.10676
+-4.16321 -11.7851 -7.50403
+-4.612 -12.7045 -7.47935
+-4.82732 -13.5771 -7.80756
+-5.85016 -13.5647 -7.79969
+-6.30038 -13.6408 -6.82029
+-7.00699 -13.624 -6.13898
+-6.38831 -12.9074 -6.05936
+-6.79854 -12.9824 -5.07085
+-6.19427 -12.6077 -4.46366
+-6.17685 -12.8711 -3.51056
+-6.74957 -13.7287 -3.62516
+-7.17484 -12.9596 -3.1396
+-8.11047 -12.8649 -2.95837
+-8.15828 -12.8173 -3.99812
+-8.62366 -12.7883 -4.76784
+-9.06954 -12.679 -5.72139
+-9.95253 -12.6184 -6.20569
+-10.3295 -12.2217 -7.02937
+-11.0087 -12.8892 -6.67695
+-10.8754 -13.5411 -5.90165
+-11.8237 -13.4338 -5.78308
+-11.6956 -13.177 -4.79353
+-12.4887 -13.3391 -4.23324
+-12.1285 -14.007 -3.71961
+-12.5932 -14.0942 -2.8327
+-13.2627 -14.1653 -2.04208
+-13.6735 -14.5153 -2.76445
+-14.4285 -14.157 -3.28112
+-14.5999 -13.7727 -4.21993
+-15.343 -13.1277 -4.06144
+-15.3151 -12.9449 -5.02863
+-14.4429 -12.7526 -5.42388
+-13.8139 -13.4438 -4.98612
+-13.9427 -14.1343 -5.7207
+-14.7152 -14.8065 -5.70206
+-14.1603 -15.4635 -5.3592
+-13.911 -15.4824 -4.35853
+-13.1608 -14.8057 -4.18302
+-12.6769 -15.5485 -4.64661
+-12.8122 -16.5559 -4.54099
+-12.9744 -17.2739 -5.16985
+-12.2911 -17.9183 -5.47808
+-11.6026 -18.2733 -5.95348
+-11.5582 -17.3004 -6.1457
+-10.7668 -16.8498 -6.62065
+-10.4019 -16.327 -7.43013
+-10.9995 -15.5663 -6.88618
+-10.6001 -15.3291 -5.99296
+-10.249 -14.9153 -5.11373
+-9.40902 -15.446 -5.26245
+-8.59879 -14.8581 -5.23257
+-8.65781 -15.4868 -4.43245
+-8.91835 -14.6258 -4.08379
+-9.15449 -15.2262 -3.26378
+-8.66991 -15.8566 -2.81344
+-8.91184 -16.7423 -2.36227
+-9.43281 -16.7243 -1.51427
+-9.15261 -15.7837 -1.17602
+-9.54112 -14.8639 -0.9906619
+-9.17615 -14.8544 -0.05884918
+-8.86366 -13.9628 -0.2897629
+-8.21202 -14.4456 -0.8893569
+-8.58293 -14.6136 -1.74923
+-9.2116 -14.4326 -2.57776
+-10.0406 -13.9385 -2.79395
+-10.9746 -14.0581 -3.08897
+-10.4617 -14.6775 -3.69861
+-11.317 -14.7255 -4.21727
+-11.2672 -15.3952 -3.48738
+-10.7472 -15.3928 -2.64804
+-10.4281 -16.3255 -2.66449
+-10.7251 -16.0096 -1.79119
+-11.5898 -16.5417 -1.62127
+-11.9877 -16.9834 -0.8344099
+-11.5492 -16.5618 -0.1304059
+-12.4677 -16.2731 0.2235651
+-12.1119 -17.1278 0.5649921
+-11.2273 -17.5132 0.8381131
+-10.6025 -16.7772 0.6695221
+-9.92116 -16.0536 0.5327291
+-10.4273 -15.6387 -0.1524589
+-11.38 -15.508 -0.5184299
+-12.1132 -15.0027 -0.1053899
+-12.7113 -15.449 -0.7781149
+-13.2541 -15.5573 0.06684782
+-13.989 -15.0156 -0.08890958
+-14.0873 -14.0273 -0.4405479
+-14.2495 -13.097 -0.6504829
+-15.0603 -13.2307 -0.06914208
+-15.9876 -13.0614 -0.2852609
+-16.2985 -13.9135 0.2438651
+-16.2112 -14.0346 1.20577
+-15.2448 -14.1395 1.11494
+-15.2157 -14.8884 1.8775
+-15.3307 -15.8167 1.43524
+-15.9855 -16.1337 2.05662
+-15.3799 -16.1626 2.86289
+-14.4716 -15.6247 2.99175
+-13.9951 -14.8561 2.49237
+-13.3189 -15.1242 3.05099
+-12.6841 -15.7566 2.9915
+-12.1343 -16.5406 2.7664
+-12.3457 -17.5583 2.61185
+-13.3077 -17.6188 2.19687
+-13.6715 -17.7274 3.08537
+-13.3233 -18.5037 3.5885
+-12.955 -18.7361 4.46727
+-12.6278 -19.4875 3.90396
+-12.3454 -19.893 3.04269
+-12.4842 -19.2236 2.40699
+-11.7988 -18.9572 1.84535
+-11.5926 -19.8708 1.51474
+-11.3765 -19.6077 0.5757821
+-10.4883 -19.0764 0.6249351
+-10.5374 -18.6956 1.56369
+-10.734 -18.3992 2.51298
+-9.79927 -18.222 2.56876
+-9.28644 -18.8685 3.19013
+-9.27977 -19.3349 2.29763
+-8.85734 -19.0788 1.38835
+-8.27708 -19.8551 1.41669
+-9.01956 -20.4164 0.9560031
+-9.6898 -20.6504 1.70992
+-10.4328 -21.2157 1.32342
+-10.6757 -20.9373 2.24398
+-10.1583 -21.594 2.68841
+-10.3961 -22.4347 2.27425
+-10.4165 -22.6927 1.31698
+-10.8006 -22.6702 0.3516861
+-10.2883 -21.9945 -0.2298529
+-10.4571 -21.4019 -0.9919809
+-10.1012 -20.5105 -1.07526
+-9.18049 -20.2911 -1.1013
+-8.19223 -19.9301 -0.9283749
+-7.44787 -20.6111 -1.05192
+-6.4475 -20.6167 -0.9831219
+-5.75958 -20.0208 -0.7579389
+-4.83351 -20.4141 -1.03425
+-4.25914 -19.7303 -0.4547009
+-4.10593 -19.6191 -1.46373
+-4.10061 -20.3867 -2.15923
+-3.84737 -21.3741 -2.01031
+-3.99985 -21.949 -2.81211
+-3.95822 -21.202 -3.45018
+-4.89557 -21.7006 -3.35904
+-5.54065 -22.2838 -2.81
+-6.53261 -22.2279 -2.75522
+-7.04036 -21.3422 -2.68527
+-7.53093 -21.3023 -3.5118
+-8.20292 -20.7488 -4.03042
+-8.59874 -21.503 -3.51647
+-9.15945 -21.26 -2.75029
+-9.61624 -20.3797 -2.59852
+-9.16925 -19.5105 -2.621
+-9.90965 -19.0756 -2.24725
+-10.6294 -18.4214 -2.44332
+-9.77153 -18.1259 -2.95762
+-9.68216 -17.3094 -3.55915
+-10.3639 -17.5631 -4.16538
+-10.3232 -18.4979 -3.65905
+-9.88846 -19.2663 -3.24487
+-9.26034 -19.1199 -3.92483
+-9.02877 -20.119 -4.00549
+-9.31284 -20.9448 -4.55391
+-9.53336 -21.9831 -4.46851
+-10.0998 -22.3309 -5.2758
+-10.6962 -21.7488 -5.83078
+-9.87059 -21.2689 -6.09854
+-9.83923 -20.9028 -7.00114
+-9.00277 -20.7839 -7.55907
+-9.63608 -21.5609 -7.56479
+-9.29512 -22.3144 -8.14385
+-9.5976 -22.6713 -7.29345
+-9.5486 -22.5708 -6.30754
+-8.68865 -22.6329 -5.85294
+-9.22813 -22.7869 -5.11943
+-8.92921 -23.5418 -4.44149
+-8.73219 -22.8718 -3.75859
+-9.63369 -22.9751 -4.02102
+-10.2123 -23.4195 -3.28144
+-11.1857 -23.68 -3.34844
+-11.6308 -24.3155 -2.84416
+-11.1608 -24.5261 -2.05627
+-10.4501 -24.0877 -1.48022
+-10.8999 -23.4881 -0.8462979
+-11.6843 -22.8805 -1.16705
+-11.7063 -22.8349 -2.17052
+-12.5335 -23.4005 -2.21222
+-13.3068 -23.9014 -2.53959
+-13.8445 -23.8804 -3.34939
+-13.9352 -24.3809 -4.29686
+-13.4267 -25.1423 -3.90525
+-12.8946 -24.293 -3.89244
+-12.7719 -23.3343 -3.5034
+-13.4219 -22.5406 -3.47346
+-14.3499 -22.8141 -3.33856
+-14.8799 -22.1327 -2.91774
+-15.2801 -22.9994 -2.75792
+-15.9474 -23.492 -2.13638
+-15.9352 -24.5073 -2.07099
+-15.0316 -24.5554 -1.62213
+-15.1621 -24.9759 -2.48222
+-15.8727 -24.7131 -3.11848
+-15.2641 -25.1283 -3.77023
+-14.8745 -25.4872 -4.65039
+-14.7537 -26.1753 -5.39544
+-15.3968 -25.5041 -5.91847
+-15.6261 -25.7836 -6.87283
+-16.2213 -26.6349 -6.97975
+-16.5628 -26.972 -7.87227
+-17.0446 -27.8317 -8.27311
+-16.6908 -27.5158 -9.22237
+-16.0486 -26.7232 -9.38605
+-16.4272 -26.4956 -10.3105
+-17.1352 -26.7392 -10.9121
+-17.9323 -26.0622 -10.7437
+-17.8361 -25.6051 -11.6363
+-18.0748 -24.6706 -11.8486
+-17.5106 -24.5762 -11.0623
+-16.7434 -25.2513 -11.1087
+-16.3069 -25.4355 -11.9865
+-15.7988 -24.5379 -11.8407
+-15.8997 -23.8037 -11.176
+-15.596 -24.3695 -10.3998
+-15.4789 -23.7638 -9.64523
+-16.26 -23.1985 -9.75304
+-16.1795 -22.4048 -9.2224
+-17.1158 -22.5106 -8.70261
+-17.0902 -21.5073 -8.40569
+-17.0545 -21.9168 -7.47618
+-17.2197 -22.0129 -6.54211
+-16.4382 -22.5466 -6.25854
+-15.8461 -23.1897 -5.78147
+-15.5119 -23.6656 -6.50799
+-16.4478 -23.951 -6.31296
+-17.0974 -24.5028 -5.85036
+-16.7606 -25.4586 -5.86018
+-16.3179 -26.1437 -5.28684
+-16.5406 -26.7135 -4.45647
+-16.5346 -27.3105 -3.62636
+-16.5939 -26.941 -2.70476
+-16.2442 -26.035 -2.40775
+-15.44 -26.2734 -1.88271
+-14.8617 -25.9266 -1.22135
+-14.3192 -25.9407 -0.4216239
+-14.7628 -25.5161 0.4113921
+-14.9897 -26.2988 1.03184
+-15.7009 -26.475 1.8098
+-16.0207 -25.7552 1.2052
+-15.6262 -24.8989 0.8569101
+-15.5754 -24.6363 -0.07352688
+-15.4433 -23.9127 -0.7182949
+-15.4008 -22.9975 -1.02725
+-14.9319 -22.4404 -0.4009109
+-14.5899 -21.5652 -0.6650349
+-15.4709 -21.0535 -0.8124469
+-15.5277 -21.3297 0.1434341
+-16.1159 -20.5521 0.1259291
+-16.6993 -20.5958 -0.6488479
+-17.7244 -20.6078 -0.8686739
+-18.3655 -19.9409 -1.31859
+-19.2291 -20.3068 -1.06694
+-18.9123 -20.4652 -0.1259429
+-19.7315 -20.0995 0.2884271
+-19.8084 -20.2325 1.28556
+-20.2818 -20.2226 2.14711
+-21.1577 -19.9108 2.1351
+-21.7778 -20.2835 1.49821
+-22.5102 -20.9019 1.80574
+-23.0641 -20.2512 1.4101
+-23.6131 -21.0372 1.18343
+-23.8404 -21.7877 1.72333
+-24.6404 -21.3875 2.15444
+-25.4342 -21.1055 2.67174
+-26.0425 -20.3199 2.57518
+-25.2793 -19.8154 2.86549
+-25.2282 -19.1625 3.63032
+-25.8006 -18.9434 4.45133
+-25.5865 -18.4805 5.40969
+-25.433 -17.5236 5.25113
+-24.9098 -18.1264 4.59982
+-24.0421 -17.6195 4.48747
+-23.9751 -16.9458 5.21951
+-23.6191 -16.3365 4.53271
+-23.1546 -16.523 3.66617
+-22.9382 -17.3522 3.21668
+-23.0536 -18.4145 3.10608
+-23.2578 -19.0033 3.85866
+-24.1294 -19.4143 3.64735
+-24.4649 -18.8683 2.83483
+-25.2497 -18.1708 2.62654
+-24.7535 -17.622 1.88608
+-24.0215 -17.3961 1.24974
+-24.3138 -16.7102 1.90586
+-24.315 -15.7003 1.72003
+-25.1529 -15.2605 2.07131
+-25.7038 -15.7144 2.74793
+-25.9992 -14.7624 2.87699
+-25.3576 -15.0975 3.67471
+-24.5143 -14.8791 4.11524
+-25.1382 -15.0403 4.858
+-25.6389 -14.1996 4.56161
+-26.2007 -14.3373 5.42019
+-26.5707 -13.7682 6.09451
+-26.1034 -12.909 6.19154
+-25.702 -12.1043 5.71625
+-26.0071 -11.3273 6.34874
+-26.9974 -11.4344 6.27468
+-27.5728 -11.2292 7.11139
+-27.1517 -11.3361 7.97961
+-26.3504 -11.547 8.60445
+-25.9793 -10.8419 7.95929
+-25.1374 -10.2913 7.8105
+-25.8999 -9.61586 8.18436
+-26.7531 -10.1965 8.17206
+-27.2291 -10.3923 9.05196
+-26.2725 -9.97099 9.19647
+-26.5932 -8.99787 9.3671
+-25.7672 -8.52431 9.67526
+-25.8109 -8.33928 10.6489
+-25.5332 -9.09613 11.3026
+-24.9824 -9.50813 12.0718
+-24.653 -10.3495 11.6212
+-25.2394 -10.3694 10.8162
+-26.0473 -10.8099 11.1584
+-26.9029 -11.1846 10.7891
+-27.6672 -10.8698 11.4231
+-28.4823 -11.4371 11.5806
+-28.8993 -10.9061 10.8502
+-29.8385 -11.0488 10.7529
+-29.6422 -11.9243 11.2191
+-29.5238 -12.8779 11.0005
+-30.5594 -12.9965 10.894
+-31.2086 -13.2979 11.6018
+-31.3946 -13.6777 10.6804
+-32.0026 -14.3861 10.464
+-32.2146 -13.6582 9.83058
+-31.7114 -13.3655 9.0819
+-31.6265 -12.4385 8.94563
+-31.0071 -11.9883 8.29635
+-30.6262 -12.8899 8.23274
+-30.533 -12.4508 9.02015
+-29.5844 -12.5537 8.94589
+-28.9368 -12.3101 9.66539
+-27.945 -11.9393 9.85732
+-27.7795 -12.9381 9.84613
+-27.9997 -12.8194 10.8369
+-27.662 -13.7028 10.6211
+-28.0586 -14.5832 11.0432
+-29.0414 -14.3901 10.7143
+-29.3759 -14.3166 11.652
+-29.6072 -15.252 11.456
+-28.9175 -15.8611 11.7262
+-28.6188 -16.5135 10.9934
+-28.8593 -15.8101 10.247
+-29.7759 -15.6546 10.0184
+-29.8077 -16.5582 9.67115
+-28.9164 -16.3556 9.24566
+-28.6269 -16.4326 8.29161
+-29.1054 -15.8997 7.58653
+-29.4252 -15.0586 7.02817
+-29.3571 -15.8017 6.46294
+-28.5601 -15.8371 5.90571
+-28.4133 -16.4763 5.2086
+-28.7791 -15.6729 4.83089
+-29.7108 -15.9003 4.97143
+-29.8533 -15.4132 4.12124
+-29.4314 -15.3147 3.16338
+-29.6236 -14.3518 3.08554
+-28.953 -14.1115 3.8389
+-28.1381 -14.0386 3.1966
+-27.5004 -14.764 3.36394
+-27.4799 -15.4626 4.06081
+-27.5419 -15.8622 3.08447
+-28.1904 -16.4162 3.58639
+-28.7206 -16.8576 2.84338
+-29.1514 -17.5247 2.14949
+-29.7016 -16.6983 1.82078
+-30.5267 -16.4129 2.37307
+-31.1556 -15.665 2.37982
+-31.9034 -16.2583 1.93547
+-31.8687 -15.4744 1.3677
+-32.2697 -15.0746 2.16541
+-32.5149 -14.2259 2.50944
+-32.0218 -13.5442 1.96798
+-31.2199 -14.1366 2.23689
+-30.2918 -13.9089 2.11207
+-29.8776 -13.5407 1.27515
+-29.8314 -12.6881 0.7281811
+-29.8248 -13.022 -0.2428119
+-29.0795 -12.3248 -0.2628429
+-29.6427 -12.0382 -1.02777
+-29.3795 -11.1295 -1.5376
+-30.1799 -10.5148 -1.605
+-31.0089 -10.1438 -1.45053
+-30.3881 -9.73343 -2.12975
+-30.2834 -8.92624 -1.5635
+-29.5291 -9.29656 -1.01739
+-29.0713 -9.94163 -1.51341
+-28.349 -9.77612 -0.8048149
+-28.2586 -8.8528 -0.3593109
+-28.3219 -7.93846 -0.4750789
+-27.6362 -7.44616 -1.0954
+-27.6214 -6.68619 -1.81653
+-27.5256 -6.66736 -2.81041
+-28.325 -6.30654 -3.29322
+-29.1787 -6.86134 -3.55906
+-30.1271 -6.72461 -3.62124
+-30.2215 -7.34116 -2.77154
+-30.7692 -8.19409 -2.75922
+-30.8918 -8.26476 -1.72008
+-30.8545 -7.34657 -1.37889
+-30.1588 -7.06606 -0.6849379
+-30.7615 -6.96026 0.1223081
+-30.515 -6.03601 0.2646411
+-31.3668 -5.7821 -0.1432519
+-30.8099 -5.32236 -0.7297359
+-30.3989 -6.21286 -0.8100949
+-29.5071 -6.01771 -0.5242219
+-28.8509 -5.47707 -1.03726
+-29.1968 -4.65662 -0.5421639
+-29.7479 -3.97325 0.00390298
+-29.7711 -3.46552 -0.7974169
+-29.931 -2.51291 -0.7939619
+-28.9664 -2.38214 -0.7090939
+-29.1064 -1.65118 -0.07350588
+-29.5628 -0.7682371 0.00802224
+-29.5155 0.06386303 0.5531761
+-29.1933 0.5350509 -0.2920219
+-28.3896 1.06312 -0.5128269
+-28.7585 1.17703 -1.55726
+-29.1289 0.2024609 -1.58223
+-29.9816 -0.2178351 -1.68734
+-30.4698 -0.6354021 -0.9249599
+-30.8782 -1.22377 -0.2671449
+-30.894 -1.99012 0.3385521
+-31.7949 -2.19791 0.7334211
+-32.2138 -3.06815 0.9608151
+-31.2937 -3.14525 1.22714
+-31.2902 -3.56157 2.16568
+-30.8086 -4.40609 2.51134
+-30.5709 -5.19211 3.03957
+-31.4211 -5.27342 3.50111
+-31.0995 -4.43814 4.00308
+-31.2521 -3.49512 3.70803
+-30.7568 -2.68252 3.9067
+-30.3417 -2.67146 3.08855
+-30.0039 -1.72203 2.90904
+-30.0512 -1.62629 3.89533
+-30.9856 -1.77939 3.61479
+-31.2721 -1.30445 4.46562
+-30.658 -1.57862 5.24745
+-30.3761 -0.6638401 4.89522
+-30.6523 -0.3471301 5.847
+-29.857 -0.8202281 5.91053
+-29.7611 0.08377033 6.25046
+-30.3996 0.8988479 6.36069
+-29.4633 1.13948 6.62189
+-28.662 0.8436169 6.08372
+-27.8733 1.03403 6.73227
+-27.3602 1.49167 7.38368
+-28.0594 2.12466 7.40664
+-28.4613 2.9642 6.95819
+-28.4331 3.56506 7.66184
+-28.4872 4.17833 6.87901
+-28.9003 4.48958 5.96177
+-29.6338 5.05487 6.3461
+-30.4882 5.02277 5.73339
+-31.092 4.2249 5.82261
+-31.8246 4.19903 5.15207
+-32.4528 4.04012 5.97196
+-31.9261 3.14632 5.96912
+-31.1066 3.02587 5.44422
+-31.063 2.45841 4.55799
+-30.8305 3.29639 4.14407
+-29.951 3.34086 4.69168
+-29.1624 2.68028 4.49473
+-29.5515 1.85532 4.01351
+-28.6988 2.27571 3.54866
+-28.4755 1.50422 2.94599
+-29.0426 1.82734 2.13299
+-28.1272 1.93495 1.88761
+-27.4481 1.68041 1.1838
+-27.7405 0.9291299 0.6005541
+-27.2577 0.08427333 0.9045761
+-26.4184 -0.2851211 1.18588
+-25.6625 -0.2233741 0.6132801
+-25.4787 -0.2559861 -0.2883619
+-26.409 0.1893689 -0.3968159
+-26.6287 1.07329 -0.05366608
+-26.6613 1.27036 -1.01643
+-27.5318 0.8457059 -1.35992
+-27.5558 -0.03318007 -0.9657839
+-27.5521 -1.05283 -0.9672479
+-27.3454 -1.94841 -1.37363
+-26.7703 -1.82321 -0.4705729
+-26.2493 -2.45756 -1.03878
+-25.3738 -2.4678 -1.47035
+-25.357 -1.50229 -1.07116
+-25.2386 -1.59023 -0.1178459
+-25.3074 -1.09918 0.8236221
+-25.0866 -1.57426 1.64645
+-25.1706 -2.34457 2.25706
+-25.9509 -2.36606 2.87133
+-26.0188 -1.58151 3.55735
+-25.4249 -0.9150481 3.97254
+-24.8318 -0.9475121 4.73922
+-23.9156 -0.9986791 4.26439
+-23.6341 -1.27303 3.40802
+-24.3031 -1.97625 3.33408
+-24.5996 -2.87035 3.26449
+-25.05 -3.76655 3.29812
+-24.3769 -4.42807 3.13499
+-24.1661 -4.5239 4.14027
+-24.9591 -5.07494 4.18127
+-24.749 -5.27469 5.19018
+-24.02 -5.48522 5.79527
+-23.8142 -4.69705 5.18451
+-22.8785 -4.66204 5.00561
+-23.0942 -4.00753 4.28411
+-23.6151 -3.19619 3.9755
+-23.4866 -3.67127 3.12482
+-22.9876 -4.27192 2.51077
+-22.2 -4.75345 2.42018
+-22.6843 -5.6025 2.67269
+-23.6383 -5.2387 2.40044
+-24.4916 -5.34048 1.94956
+-25.377 -5.70905 1.54056
+-26.2804 -6.17689 1.53887
+-27.1241 -5.7095 1.80761
+-26.8549 -4.81595 2.08773
+-26.6854 -3.85051 1.9905
+-27.3696 -3.36869 1.45945
+-28.309 -3.26687 1.44077
+-27.9088 -4.14171 1.01057
+-26.9621 -4.31718 0.7441811
+-27.182 -4.56497 -0.2147159
+-26.2929 -5.02255 -0.3894559
+-25.9775 -5.97234 -0.5933719
+-25.4313 -6.49067 0.01223082
+-25.1522 -6.90335 -0.8503829
+-25.6515 -7.39857 -1.49961
+-26.2871 -8.10652 -1.84514
+-25.3726 -8.21781 -2.24252
+-25.0525 -8.84455 -2.93077
+-24.5548 -9.4021 -3.58789
+-24.8337 -9.57013 -4.59893
+-25.7736 -9.76335 -4.68072
+-26.7672 -9.62468 -4.8666
+-27.1906 -9.30579 -5.77186
+-27.8985 -9.66443 -6.33573
+-27.3717 -10.5647 -6.20375
+-26.8545 -10.0763 -6.86043
+-26.934 -10.9439 -7.29116
+-27.9546 -10.8605 -7.33612
+-28.8433 -11.0339 -6.9922
+-28.9868 -10.7838 -7.94044
+-29.0923 -11.783 -8.23123
+-30.048 -11.7635 -7.84779
+-30.9869 -11.7356 -7.58966
+-31.4154 -11.3405 -6.80554
+-31.3256 -12.1028 -6.16949
+-30.824 -11.7417 -5.40567
+-31.3847 -12.1949 -4.63727
+-32.3314 -12.4778 -4.40528
+-32.3971 -12.7676 -5.33096
+-32.4856 -13.4947 -6.04092
+-33.3995 -13.5752 -6.3308
+-33.0489 -12.6673 -6.50486
+-33.6577 -12.2096 -5.84394
+-33.7011 -11.4583 -6.4566
+-32.8244 -11.245 -6.97706
+-32.1166 -11.5455 -7.52938
+-31.9776 -10.7784 -8.27139
+-32.2172 -10.2931 -7.41869
+-31.4303 -9.67445 -7.31987
+-31.4656 -8.63896 -7.36469
+-30.8081 -7.96372 -6.881
+-30.0461 -7.45755 -7.11506
+-29.1542 -7.26022 -7.46534
+-28.5011 -8.00002 -7.36582
+-28.0116 -8.45689 -8.10759
+-27.4542 -8.83888 -8.88506
+-27.7659 -8.50368 -9.76429
+-27.9604 -8.64531 -10.7496
+-27.8128 -9.6302 -10.6551
+-28.6778 -9.28622 -10.3464
+-28.3216 -9.71855 -9.50077
+-28.006 -10.6796 -9.44986
+-28.0359 -11.6222 -9.51966
+-28.1238 -12.4851 -8.98122
+-27.1446 -12.7589 -8.71498
+-26.8869 -13.3564 -7.93044
+-26.0569 -13.3286 -7.41902
+-26.0744 -12.4167 -7.68321
+-25.1535 -12.1762 -7.31656
+-24.9295 -12.1621 -8.25096
+-25.3232 -11.2396 -8.46071
+-25.7317 -11.1856 -7.54166
+-25.1124 -10.4331 -7.64469
+-24.768 -11.146 -6.92381
+-24.2766 -10.5113 -6.33907
+-23.5728 -10.6263 -7.05302
+-23.8962 -11.3046 -7.58342
+-23.0046 -11.5574 -7.25586
+-23.2388 -12.2539 -6.57607
+-23.5069 -12.8063 -5.72232
+-22.6149 -12.4191 -5.54249
+-21.8887 -11.7253 -5.60015
+-21.8149 -11.766 -4.59949
+-20.9085 -12.1535 -4.48421
+-21.3988 -12.8645 -3.96208
+-21.5868 -13.5412 -3.15454
+-22.6011 -13.5586 -3.26399
+-23.0568 -14.4146 -3.71873
+-22.9487 -15.3497 -3.46057
+-23.4105 -15.1787 -2.58188
+-23.6123 -16.1829 -2.57414
+-23.662 -17.1463 -2.44441
+-24.3299 -17.3071 -3.19119
+-24.4308 -18.3193 -3.48229
+-24.6074 -18.1502 -4.43307
+-23.8167 -18.3977 -4.92587
+-22.8931 -17.991 -5.0565
+-22.7148 -18.9847 -5.01766
+-23.47 -19.2622 -5.63153
+-23.1884 -19.0546 -6.56389
+-22.4487 -18.3212 -6.5929
+-21.7678 -17.7408 -6.13075
+-21.2312 -17.0618 -5.57634
+-21.7461 -16.2831 -5.97075
+-22.7148 -16.0641 -5.97687
+-22.7795 -15.1445 -6.26752
+-21.9823 -14.4952 -6.29754
+-21.4639 -14.6324 -7.15331
+-21.3465 -15.5838 -7.2058
+-21.3137 -15.4163 -8.20429
+-22.2569 -15.6842 -8.04287
+-22.4443 -16.6676 -8.22012
+-21.6068 -16.9 -7.69914
+-20.948 -17.5222 -8.10991
+-19.9631 -17.701 -7.93945
+-19.8039 -16.6786 -7.91739
+-19.5448 -15.7656 -7.58659
+-19.1022 -14.8241 -7.62245
+-19.3859 -14.7652 -8.59994
+-19.1218 -13.8056 -8.58245
+-19.623 -13.8326 -9.43501
+-20.4095 -13.4389 -9.99732
+-20.0405 -13.6117 -10.9602
+-20.9933 -13.7004 -11.2531
+-21.4851 -13.549 -12.0461
+-21.2994 -12.6479 -12.5347
+-21.175 -12.2933 -11.6027
+-20.2853 -12.6484 -11.2542
+-19.7233 -11.8752 -11.3393
+-19.5285 -12.2723 -10.421
+-18.8272 -12.8946 -10.311
+-18.1598 -13.3744 -10.8442
+-18.2628 -12.4193 -11.2784
+-17.3028 -12.6552 -11.104
+-17.4972 -11.9453 -10.398
+-18.3933 -11.5223 -10.0736
+-17.7072 -11.4136 -9.34278
+-18.6548 -11.3202 -9.1923
+-18.7242 -11.8215 -8.33859
+-18.0308 -11.2475 -7.99316
+-17.3525 -11.4497 -7.33373
+-16.3836 -11.5055 -7.36326
+-16.2205 -10.5676 -7.1397
+-15.9991 -10.8604 -8.04101
+-15.0333 -10.6683 -7.78521
+-15.1777 -11.4324 -8.44314
+-14.8857 -12.4031 -8.67682
+-15.711 -13.002 -8.50263
+-15.3594 -13.8689 -8.21681
+-14.6092 -14.0567 -8.86929
+-14.7629 -13.3483 -9.58362
+-15.0445 -14.2141 -9.94704
+-15.0674 -14.4327 -10.9589
+-15.7763 -15.079 -11.1975
+-15.1977 -15.476 -10.6349
+-16.1386 -15.571 -10.3602
+-15.8148 -14.9078 -9.64515
+-16.1011 -14.8463 -8.66348
+-15.8332 -14.892 -7.72444
+-15.9731 -14.6878 -6.715
+-16.1808 -14.934 -5.76922
+-16.8193 -14.9296 -5.09095
+-15.9668 -14.485 -4.79662
+-16.3296 -14.7002 -3.87623
+-15.9705 -15.0862 -3.06033
+-15.4432 -15.8742 -2.88952
+-15.0575 -16.015 -1.85246
+-14.5003 -16.4536 -2.58583
+-13.8788 -16.7357 -3.29499
+-14.3786 -17.3325 -3.9835
+-14.7359 -18.2585 -3.83611
+-14.7304 -18.2072 -4.84909
+-15.6238 -17.7687 -4.58395
+-16.1526 -18.4012 -4.1031
+-17.0351 -18.9471 -4.1656
+-17.2486 -18.3966 -4.86542
+-17.4818 -17.5467 -4.42886
+-18.497 -17.3997 -4.29158
+-18.9273 -17.7165 -5.14716
+-19.4041 -18.4866 -5.43493
+-19.9146 -19.3054 -5.51828
+-20.8201 -18.9569 -5.77788
+-21.4777 -18.4787 -5.17628
+-21.0725 -18.0428 -4.33419
+-21.6861 -18.6364 -3.74198
+-22.1742 -18.4869 -2.86736
+-22.5271 -18.7054 -1.9394
+-21.5085 -18.6989 -1.85862
+-21.1278 -18.9942 -0.9415719
+-20.1809 -18.7181 -1.3907
+-19.5293 -18.2858 -2.08003
+-18.6463 -18.7073 -1.89656
+-17.7537 -18.8025 -1.57977
+-17.9359 -19.2656 -0.7053519
+-16.9949 -19.2952 -0.8236809
+-16.1756 -19.5533 -0.2045599
+-15.6039 -18.7442 -0.05060448
+-14.8323 -19.0295 -0.5426879
+-14.8383 -19.1837 -1.5106
+-14.8268 -18.2113 -1.41878
+-15.715 -18.4817 -1.84622
+-16.5216 -18.3193 -1.23044
+-16.8753 -18.5273 -2.06643
+-17.3595 -18.9647 -2.85467
+-17.4947 -19.5392 -3.65569
+-18.1951 -19.7678 -2.95617
+-17.8608 -20.7049 -3.13411
+-17.7769 -21.7568 -3.00016
+-18.0274 -22.7385 -2.88098
+-18.1164 -22.2323 -1.98337
+-18.6976 -22.971 -1.7219
+-18.3922 -22.3965 -0.8787259
+-18.6316 -22.1561 -0.01487328
+-19.1724 -22.2513 0.7750871
+-19.6243 -22.674 0.00962259
+-19.7974 -22.6372 -0.9609369
+-20.4904 -23.4349 -0.7582679
+-20.8773 -23.1241 -1.6435
+-20.6014 -23.5762 -2.50997
+-21.0161 -24.1564 -3.18901
+-21.3462 -24.7618 -3.93856
+-21.1277 -24.0912 -4.76615
+-20.3538 -23.4659 -4.74199
+-19.892 -22.6769 -5.23613
+-19.8156 -22.5254 -6.25192
+-19.5351 -22.9795 -7.12728
+-19.2711 -22.7492 -8.02902
+-19.0257 -22.3495 -8.91883
+-19.8895 -22.6588 -9.317
+-20.7496 -22.3489 -8.87094
+-20.9006 -21.4633 -9.33278
+-21.2252 -20.5356 -9.71352
+-21.309 -20.8216 -8.72685
+-21.2523 -21.1804 -7.80573
+-21.2564 -21.5361 -6.93202
+-22.1931 -21.7126 -7.10912
+-22.6633 -22.6247 -7.39364
+-23.64 -22.6539 -7.38257
+-24.3559 -22.0915 -7.86802
+-24.9109 -22.6306 -7.20335
+-25.2371 -22.3603 -6.21351
+-26.0495 -21.9689 -6.67229
+-26.4214 -21.0588 -6.54317
+-26.4782 -20.0161 -6.3547
+-26.9893 -19.4037 -5.75337
+-27.7069 -20.1158 -5.82743
+-27.6574 -20.6003 -4.98471
+-27.0331 -20.695 -4.23207
+-26.4469 -20.7485 -3.42809
+-27.2163 -20.7026 -2.6656
+-27.5987 -20.0814 -1.96346
+-27.3423 -19.092 -1.86237
+-27.0439 -19.0775 -2.80918
+-26.3872 -18.4412 -2.46021
+-25.5977 -18.7838 -1.98539
+-25.5223 -19.2082 -1.06151
+-25.1493 -18.7464 -0.2292469
+-25.0966 -19.5113 0.4843211
+-24.0903 -19.7892 0.3908011
+-23.1972 -20.063 -0.09210218
+-23.9996 -19.9896 -0.6815769
+-24.8522 -20.3937 -0.9328289
+-25.8116 -20.4419 -1.25787
+-26.4411 -20.8219 -1.94218
+-26.3505 -21.508 -2.71148
+-26.106 -22.448 -2.76063
+-27.0263 -22.6198 -3.17211
+-26.4183 -23.0712 -3.89126
+-25.4866 -22.7876 -4.0898
+-24.7699 -22.2096 -4.5175
+-24.9503 -21.2314 -4.72351
+-24.9178 -20.6363 -3.91217
+-24.7666 -20.1358 -3.07427
+-25.2178 -19.5592 -3.73603
+-26.083 -19.0427 -3.80122
+-26.6542 -18.2209 -3.5667
+-27.6271 -18.359 -3.22031
+-28.4522 -17.7683 -3.3492
+-28.7714 -17.9013 -4.29267
+-29.7087 -17.9549 -3.97284
+-30.4244 -18.5028 -4.5227
+-31.3736 -18.4807 -4.62808
+-31.7529 -17.831 -4.00141
+-31.4749 -16.8945 -3.80916
+-30.5209 -17.0765 -3.76165
+-30.4881 -16.3811 -3.10029
+-30.7015 -15.7919 -3.80869
+-31.0457 -14.9745 -4.31396
+-30.5098 -14.2774 -4.83538
+-29.6104 -14.4931 -4.63153
+-28.8529 -15.093 -4.36048
+-28.1722 -15.3227 -4.98921
+-27.2861 -15.4446 -5.45039
+-27.0536 -16.1893 -6.1548
+-26.9681 -17.2377 -6.36607
+-26.3418 -16.611 -6.85056
+-25.9976 -17.223 -6.16631
+-25.8878 -18.0996 -6.55679
+-25.1878 -18.4797 -7.22614
+-26.0939 -18.4407 -7.5826
+-25.756 -17.5128 -7.66674
+-24.7403 -17.436 -7.95162
+-24.3414 -16.9396 -8.74811
+-23.9348 -15.9885 -8.71027
+-23.2873 -15.8692 -7.97257
+-24.1344 -15.3431 -7.62414
+-23.4077 -14.8772 -8.07185
+-23.0906 -14.8404 -9.01234
+-22.5616 -15.3112 -9.78361
+-21.6159 -15.1201 -9.65367
+-21.4822 -15.9643 -10.1662
+-21.8489 -16.9055 -9.91433
+-22.251 -17.3912 -9.12553
+-22.953 -17.6048 -9.71765
+-22.2619 -18.0746 -10.2739
+-22.4585 -18.4079 -11.2432
+-22.655 -19.0555 -11.958
+-23.3597 -19.055 -12.6614
+-24.1245 -18.6977 -13.2357
+-24.8015 -18.242 -13.7728
+-25.1755 -17.7838 -12.9005
+-25.3666 -16.8263 -13.1738
+-24.777 -16.0876 -13.5263
+-24.1724 -16.7288 -13.0435
+-24.0038 -17.657 -12.9725
+-23.14 -17.3476 -13.3573
+-22.405 -17.4056 -14.114
+-21.5227 -17.847 -14.1256
+-20.9647 -18.5576 -13.826
+-20.4456 -19.4147 -14.2127
+-19.5979 -19.3032 -14.7406
+-19.3598 -20.2359 -14.9621
+-18.3814 -20.0485 -14.8549
+-18.0673 -21.0307 -14.916
+-18.7262 -21.1832 -14.164
+-18.6001 -22.07 -14.6024
+-19.0228 -21.9873 -15.5602
+-18.143 -21.8541 -15.9679
+-18.742 -22.0365 -16.6504
+-18.6822 -22.4723 -17.57
+-17.9694 -22.5221 -18.2066
+-17.4622 -21.7283 -17.723
+-16.736 -21.0673 -17.374
+-15.7811 -21.3537 -17.0446
+-15.1483 -21.84 -17.6034
+-15.9652 -21.6118 -18.0431
+-16.0738 -21.9368 -19.0579
+-16.8466 -21.5645 -19.6197
+-17.4188 -21.0485 -19.0389
+-17.4608 -20.6828 -19.9781
+-17.5284 -21.1167 -20.9018
+-17.6335 -20.457 -21.7255
+-18.2965 -21.1971 -21.6645
+-18.7869 -21.8414 -22.2825
+-18.4286 -22.7674 -22.4586
+-18.8628 -22.5113 -23.3067
+-18.0961 -22.2047 -23.8972
+-18.1489 -21.406 -23.383
+-17.8302 -20.4716 -23.4896
+-16.888 -20.787 -23.6274
+-16.2713 -20.396 -24.2248
+-16.6193 -21.2464 -24.5242
+-17.3313 -20.5438 -24.7774
+-18.0859 -19.9731 -24.8012
+-17.7132 -19.0655 -25.0533
+-18.2605 -18.2507 -25.1965
+-18.4239 -17.3207 -25.0954
+-19.0954 -17.336 -24.3218
+-19.9518 -17.3903 -23.8396
+-20.35 -18.2355 -23.4973
+-20.2752 -17.6068 -22.6349
+-21.1872 -18.0495 -22.3404
+-21.5524 -17.2089 -21.8648
+-21.6549 -16.6718 -21.0519
+-22.3831 -17.2386 -20.6115
+-22.2511 -17.1216 -19.616
+-21.4134 -16.8692 -19.1394
+-20.9638 -16.3072 -18.397
+-21.3668 -17.1941 -17.9489
+-21.0504 -16.6631 -17.1335
+-20.9522 -15.6075 -17.02
+-21.6926 -15.4803 -17.6442
+-22.0368 -15.3316 -18.583
+-22.4198 -14.3945 -18.4102
+-22.7983 -14.2821 -17.4946
+-22.2433 -13.8623 -16.8117
+-22.876 -14.5896 -16.5057
+-21.9265 -14.6315 -16.1994
+-20.9728 -14.6481 -16.6448
+-20.8291 -14.2433 -15.6965
+-20.7322 -14.1778 -14.647
+-21.2115 -14.7648 -14.0244
+-20.5173 -15.362 -13.7412
+-19.7008 -15.9922 -13.7109
+-19.2228 -15.6088 -12.9134
+-18.3494 -15.3869 -13.3228
+-18.292 -15.7808 -14.2429
+-17.2846 -15.7232 -14.1711
+-17.1446 -15.076 -13.4189
+-17.2152 -14.0816 -13.3314
+-17.2092 -13.4827 -14.1171
+-17.9192 -13.8276 -14.696
+-17.7443 -13.368 -15.5887
+-17.9719 -12.4819 -15.8824
+-17.3777 -12.3507 -15.101
+-16.7844 -12.4855 -15.8953
+-16.8472 -12.5896 -16.9266
+-16.1674 -13.2187 -16.6429
+-15.6761 -13.6632 -15.8651
+-14.7166 -13.9623 -15.8691
+-13.7702 -13.7494 -15.5837
+-13.616 -13.99 -16.5844
+-12.6024 -14.0587 -16.5821
+-11.7043 -13.6872 -16.5305
+-10.9146 -13.0325 -16.2587
+-10.6057 -13.8974 -16.3649
+-10.8372 -14.4831 -17.0462
+-11.2188 -14.8348 -16.1724
+-10.2172 -15.049 -16.3378
+-10.8489 -15.8083 -16.2124
+-9.85519 -16.0638 -16.0433
+-10.2058 -16.397 -16.9697
+-9.62492 -16.6674 -17.7259
+-10.1849 -17.3305 -18.1245
+-10.9986 -17.3823 -17.6896
+-11.3662 -18.2407 -17.4881
+-11.0273 -18.9244 -18.0492
+-11.0603 -19.6772 -18.8003
+-11.5854 -18.9175 -19.0661
+-11.9465 -18.1179 -19.5735
+-12.8502 -18.5852 -19.6673
+-13.1274 -19.088 -20.494
+-12.197 -19.0963 -20.8327
+-12.2563 -19.1466 -21.7571
+-13.2369 -19.3521 -21.5272
+-13.8103 -18.5038 -21.3311
+-14.5356 -18.2965 -20.5985
+-15.1848 -17.6052 -20.0506
+-14.8239 -16.6701 -20.3268
+-14.1033 -16.2457 -20.9824
+-13.2401 -16.7411 -20.657
+-12.627 -17.4479 -21.0642
+-11.8263 -16.9119 -21.0936
+-11.5197 -16.4287 -20.288
+-11.6535 -16.0086 -19.376
+-11.7489 -15.2834 -18.7189
+-12.1331 -15.2745 -17.8372
+-12.2903 -16.2515 -17.9644
+-12.9814 -16.7264 -17.514
+-13.0333 -17.1588 -18.439
+-14.0184 -17.1719 -18.5373
+-14.7544 -16.908 -17.9016
+-14.8533 -15.964 -18.184
+-14.826 -15.8356 -19.1917
+-15.7045 -15.5277 -18.6911
+-16.3744 -16.1893 -19.0611
+-16.776 -15.2847 -19.0082
+-17.7545 -15.1423 -18.7838
+-17.7277 -16.0312 -19.4009
+-17.9042 -16.4322 -18.4703
+-17.2116 -16.998 -18.9338
+-17.6802 -17.6253 -18.1128
+-16.9745 -18.1328 -18.5971
+-16.4433 -18.6425 -19.2914
+-15.4377 -18.6692 -19.4296
+-14.7674 -18.4243 -18.8975
+-14.5228 -19.0951 -18.1961
+-14.7329 -19.9717 -17.8333
+-14.0695 -20.7735 -17.9565
+-13.3399 -20.6653 -18.6363
+-12.629 -20.7882 -19.2631
+-12.2893 -21.5956 -18.8069
+-11.7562 -22.048 -19.4283
+-10.8218 -21.8121 -19.2284
+-11.2006 -22.3236 -18.4921
+-10.8605 -23.2807 -18.4616
+-11.0438 -23.2465 -17.5154
+-10.1447 -23.7339 -17.2669
+-10.1174 -24.6576 -17.7591
+-10.1368 -25.3685 -17.0801
+-9.80921 -25.948 -17.8341
+-10.2857 -25.9039 -18.7991
+-10.0383 -26.4361 -19.6339
+-10.2149 -27.4079 -19.7616
+-10.3183 -27.6561 -20.7083
+-9.93609 -26.863 -21.3011
+-10.5832 -26.7039 -21.9898
+-10.1675 -27.4405 -22.5215
+-9.42454 -27.2819 -23.128
+-9.02843 -26.3164 -23.2329
+-8.19959 -26.3195 -23.8604
+-7.80053 -27.2687 -23.8743
+-6.90713 -27.2434 -23.3877
+-6.33111 -26.51 -23.1964
+-5.91638 -26.6538 -24.095
+-4.97258 -26.8027 -24.4736
+-5.14478 -26.1154 -25.1026
+-5.74796 -25.6135 -25.7404
+-6.38135 -25.3884 -25.0036
+-6.99438 -25.7777 -24.3663
+-7.569 -25.1202 -23.8671
+-7.50582 -25.0406 -22.8466
+-7.06757 -24.3008 -22.4375
+-7.7724 -23.6096 -22.846
+-8.43662 -23.0827 -22.3599
+-7.5651 -22.5206 -22.3276
+-7.85807 -21.6609 -22.8034
+-8.4573 -22.1271 -23.4982
+-8.88454 -21.6314 -24.289
+-8.63844 -21.6618 -25.219
+-8.92629 -21.0921 -25.8417
+-8.35122 -20.5166 -25.1893
+-8.79993 -19.933 -25.9171
+-9.7027 -20.0921 -26.2541
+-9.15336 -19.3776 -26.7891
+-10.0703 -18.8247 -26.704
+-9.90905 -17.8347 -26.7587
+-10.0786 -17.1013 -26.0738
+-10.9556 -17.372 -26.46
+-11.0137 -18.399 -26.4154
+-11.6348 -17.9433 -25.8149
+-11.3579 -18.3975 -24.9092
+-11.6209 -18.0015 -24.0039
+-11.4419 -17.0411 -23.8736
+-11.6284 -16.8039 -22.9324
+-12.4082 -16.2075 -23.0937
+-13.0548 -15.4938 -23.3725
+-13.2049 -15.0113 -24.2062
+-13.6973 -15.0368 -25.014
+-14.6789 -15.1566 -25.3352
+-15.5415 -14.9525 -25.7997
+-15.7751 -15.1291 -24.8546
+-16.5565 -15.6308 -24.5283
+-16.368 -14.8273 -24.1374
+-16.4674 -14.2102 -24.9443
+-16.8044 -13.4864 -25.5631
+-16.0429 -13.1669 -26.1445
+-15.2953 -13.3341 -26.7942
+-15.9108 -13.9484 -27.1894
+-15.6724 -14.4617 -27.9953
+-15.7825 -15.3304 -28.5358
+-15.6842 -16.3296 -28.5025
+-15.1035 -17.1332 -28.6942
+-14.1605 -16.9116 -28.6701
+-14.4656 -16.6388 -27.7614
+-14.689 -15.8426 -27.2342
+-14.2976 -14.9757 -27.4534
+-14.0842 -14.4756 -28.2207
+-13.4945 -13.7708 -28.6459
+-13.4735 -13.4505 -27.7187
+-12.6599 -12.8717 -27.4407
+-12.7948 -11.8468 -27.3905
+-12.7848 -11.1497 -26.7065
+-12.0595 -10.6263 -26.2617
+-12.6869 -9.83537 -26.6699
+-13.4122 -10.4094 -27.028
+-14.1663 -9.81212 -26.579
+-14.3536 -9.50697 -27.4693
+-14.6716 -9.11668 -28.3042
+-14.7923 -8.5039 -27.5599
+-14.9051 -7.50686 -27.5441
+-14.1482 -6.94791 -27.8635
+-14.616 -6.27409 -27.2133
+-14.1486 -6.89672 -26.565
+-14.6569 -6.13766 -26.0899
+-14.7654 -6.3968 -25.0808
+-15.7628 -6.24432 -24.8097
+-15.5878 -6.3935 -23.8356
+-15.3178 -5.93791 -22.9421
+-15.3656 -6.90606 -22.4681
+-15.2553 -6.08715 -21.8972
+-14.4223 -6.15862 -21.4061
+-14.0994 -6.56181 -20.5334
+-13.348 -6.93713 -20.0726
+-13.5576 -6.61046 -19.1416
+-13.1043 -7.27828 -18.5499
+-12.1566 -7.03705 -18.8316
+-11.395 -7.56029 -18.8414
+-11.7928 -8.27816 -19.414
+-12.2617 -8.50337 -20.3418
+-13.1256 -9.02593 -20.1807
+-13.0082 -9.94551 -19.8718
+-13.219 -10.4832 -20.6645
+-12.3434 -10.4363 -21.1408
+-12.9622 -10.6597 -21.9447
+-13.7835 -10.2182 -21.4535
+-14.0922 -10.6224 -22.3488
+-13.6663 -10.0081 -23.011
+-14.2928 -9.28981 -22.7864
+-14.622 -9.32766 -21.9654
+-15.4609 -9.08563 -21.5394
+-14.9906 -9.81174 -21.1056
+-15.4468 -10.5336 -20.6228
+-16.2313 -10.3123 -20.0868
+-16.2319 -11.2729 -19.7649
+-16.6859 -11.8916 -19.075
+-16.927 -12.6145 -19.7155
+-16.9531 -12.6272 -20.6408
+-17.7344 -13.2578 -20.7883
+-17.913 -12.7064 -21.6
+-18.1478 -12.1159 -22.2931
+-18.3638 -12.2596 -23.2903
+-17.5398 -12.9241 -23.3422
+-16.9219 -13.1488 -24.1986
+-16.1453 -12.6816 -24.5282
+-16.3012 -12.074 -25.3338
+-17.1682 -11.5657 -25.2574
+-16.7827 -11.3992 -24.2995
+-16.805 -10.595 -23.7472
+-16.979 -9.58756 -23.965
+-17.9801 -9.79447 -23.9992
+-18.737 -9.49676 -23.4689
+-19.0239 -9.85684 -24.2792
+-19.9232 -9.75607 -24.5774
+-19.5831 -8.98415 -24.1508
+-19.661 -8.17299 -23.6346
+-19.6673 -7.59271 -22.7604
+-18.8197 -8.17047 -22.5428
+-19.6021 -8.47157 -21.9552
+-20.0924 -8.69936 -21.1547
+-20.9299 -8.69453 -21.7166
+-21.9047 -8.83814 -21.4422
+-22.3431 -9.27505 -22.3534
+-21.7135 -9.63038 -23.0562
+-21.8332 -10.2509 -23.8659
+-22.1553 -10.8092 -23.0941
+-22.8502 -10.6125 -22.494
+-22.6154 -11.4535 -22.0124
+-23.3619 -10.8822 -21.6113
+-23.765 -11.3014 -20.8108
+-24.6639 -11.7307 -20.813
+-25.428 -11.6074 -21.4888
+-26.3955 -11.5971 -21.8206
+-26.1523 -11.7281 -22.7716
+-27.0179 -11.3426 -23.0669
+-26.9634 -10.5784 -22.413
+-27.2861 -10.2866 -21.4654
+-26.8363 -10.5299 -20.6647
+-26.9097 -9.50756 -20.3791
+-27.1278 -9.46589 -19.3715
+-26.1943 -9.86101 -19.3362
+-25.3057 -10.0108 -18.8345
+-24.5033 -9.47037 -18.7209
+-23.8669 -9.20356 -17.988
+-24.7462 -8.80105 -17.6871
+-25.5896 -9.22855 -17.351
+-26.3723 -9.84887 -17.4124
+-27.2702 -9.56371 -17.1608
+-26.8104 -9.13884 -16.4298
+-26.4391 -8.22466 -16.5798
+-26.0149 -7.63125 -17.3873
+-25.2429 -7.22345 -17.9171
+-25.8362 -6.4754 -17.7596
+-26.5077 -5.83769 -18.1638
+-26.6268 -5.49826 -17.306
+-25.9928 -4.83091 -17.7257
+-25.1021 -4.45143 -17.7666
+-25.5345 -4.48399 -16.7905
+-24.7297 -3.9345 -16.8356
+-24.7742 -3.82918 -15.8465
+-24.6254 -2.93259 -16.1992
+-24.7703 -2.64016 -15.2466
+-24.6812 -2.11847 -14.4597
+-24.0577 -1.35656 -14.6875
+-23.7904 -0.4241431 -14.3231
+-24.802 -0.5568621 -14.1906
+-24.8938 0.4312349 -14.0624
+-24.6982 0.7391499 -15.0138
+-24.9986 1.6236 -14.944
+-24.6976 2.40228 -15.4138
+-23.8533 2.69883 -15.8672
+-23.7851 3.32391 -16.6237
+-23.3411 4.20477 -16.2493
+-23.3219 5.18447 -15.9339
+-22.608 4.99619 -15.3013
+-21.6307 5.18695 -15.362
+-21.1308 4.44205 -15.9118
+-20.4701 4.49724 -16.6185
+-19.769 3.9079 -16.1106
+-20.1534 4.53928 -15.4809
+-20.6205 4.81307 -14.5678
+-21.4559 4.31778 -14.3558
+-21.6635 3.67587 -13.6851
+-22.2405 4.28041 -13.0975
+-21.4879 4.08964 -12.4742
+-21.1296 4.57688 -11.6783
+-20.662 5.07129 -10.9763
+-20.2084 5.91874 -11.1884
+-19.9313 6.56748 -11.9144
+-18.9791 6.35055 -12.1642
+-19.4377 6.15448 -13.0086
+-19.7982 6.70833 -13.7665
+-19.5021 6.46394 -14.6596
+-19.4139 5.94214 -15.4647
+-20.178 6.35365 -15.928
+-19.795 6.64048 -16.793
+-20.5339 7.19839 -16.3763
+-20.5668 8.23986 -16.2179
+-21.0929 8.55873 -16.9661
+-21.056 7.74213 -17.3765
+-20.9171 6.99574 -18.0718
+-20.3917 6.92095 -18.8965
+-20.8656 6.54506 -19.7222
+-20.7711 5.60833 -19.1868
+-20.7956 4.66396 -19.3591
+-19.9716 4.56344 -19.8737
+-19.6444 3.92357 -20.6074
+-20.5338 3.43975 -20.5846
+-21.4432 3.0486 -20.9315
+-21.9362 2.22176 -21.287
+-22.7181 2.16909 -20.7533
+-23.0335 2.12704 -21.7015
+-22.7943 2.67014 -22.4827
+-22.9792 2.8159 -23.5227
+-22.6925 3.59502 -24.0588
+-22.8564 3.99286 -23.1812
+-23.726 3.97733 -22.7053
+-23.9585 3.83454 -21.7641
+-24.0741 4.63336 -21.1917
+-23.4344 5.28648 -20.9849
+-23.7612 5.58345 -20.0874
+-23.7479 5.41741 -19.0851
+-23.4083 6.37706 -18.8143
+-22.7578 6.67618 -19.5322
+-21.8896 7.08915 -19.2707
+-20.9839 7.65923 -19.0314
+-21.5056 8.22228 -18.3895
+-21.8358 8.83121 -19.1545
+-21.2657 8.81304 -20.0608
+-20.3734 8.39484 -20.1079
+-19.7451 8.80868 -20.787
+-19.0078 9.34739 -20.8615
+-18.7619 8.46071 -20.5085
+-17.9873 8.51751 -21.1658
+-17.9238 8.74931 -20.1631
+-17.2434 9.17322 -20.8133
+-17.1305 10.1747 -21.1052
+-17.0711 10.7663 -21.929
+-17.5075 9.98531 -22.3012
+-17.918 9.26831 -22.7477
+-18.7558 9.20298 -22.2065
+-19.1259 8.47773 -22.8261
+-19.0572 8.05679 -21.9958
+-20.0142 7.83867 -21.8946
+-20.6482 7.64938 -21.2025
+-20.2936 6.82961 -21.1186
+-19.5893 6.13442 -21.1855
+-19.04 6.04146 -20.3806
+-19.4064 5.40523 -19.7357
+-18.9285 4.68237 -19.2603
+-18.772 3.79084 -19.6315
+-18.0238 4.43963 -19.8776
+-17.4981 5.18689 -20.2765
+-17.89 5.51775 -19.3983
+-17.942 5.70685 -18.4713
+-17.2388 6.3046 -18.0663
+-17.1559 6.21823 -17.0456
+-17.2415 6.62675 -16.1622
+-16.65 6.24993 -15.4811
+-15.8966 6.38638 -14.9041
+-16.4956 7.26601 -14.838
+-16.0754 8.17824 -14.8899
+-16.1052 9.10075 -14.47
+-15.2787 9.39428 -14.9988
+-14.9405 9.86576 -14.1468
+-15.1263 8.89361 -13.8579
+-15.9627 8.79518 -13.2699
+-16.6798 9.55212 -13.163
+-17.1898 8.98911 -12.4809
+-17.1412 9.8857 -12.0061
+-18.0456 10.317 -12.2285
+-18.6096 9.76251 -11.6178
+-19.0585 9.07654 -12.1971
+-18.278 8.73176 -12.724
+-18.695 8.32951 -13.5667
+-19.0279 7.75703 -14.2889
+-19.7668 7.94318 -13.6453
+-20.5726 7.8482 -13.129
+-20.7747 7.83359 -12.1195
+-21.5301 7.25414 -12.4182
+-22.0507 6.63895 -11.8524
+-22.0171 5.62346 -11.895
+-22.8515 5.53636 -11.36
+-23.1795 6.08835 -10.6236
+-22.3673 6.622 -10.9429
+-22.0987 7.50637 -10.4896
+-22.4583 8.10702 -11.1537
+-22.7733 7.4989 -11.8112
+-23.7553 7.59364 -12.1028
+-24.5385 7.1427 -11.673
+-24.3001 7.24374 -10.7504
+-24.3823 6.24303 -10.5902
+-24.3256 5.28909 -10.4381
+-24.6278 5.2566 -9.50308
+-25.0899 4.5231 -9.00025
+-26.1056 4.66216 -8.87191
+-26.6834 4.23712 -9.61109
+-27.0522 3.31012 -9.78979
+-27.9259 3.47677 -10.1329
+-28.8256 3.79478 -10.3104
+-28.1853 4.58276 -10.4422
+-29.0781 4.56081 -10.9264
+-29.7343 4.09637 -11.6223
+-29.8645 3.72661 -12.5412
+-29.7336 3.17144 -13.3467
+-28.8486 3.44988 -13.4144
+-28.5823 2.96183 -14.2219
+-27.7376 3.34989 -14.5927
+-27.6846 4.39072 -14.5662
+-26.8557 4.16152 -15.0154
+-26.5218 3.40354 -15.4882
+-26.9212 2.46093 -15.5852
+-27.496 3.02821 -16.2372
+-27.7631 3.9375 -16.4835
+-28.3034 3.27866 -16.9815
+-28.2603 2.34972 -16.6939
+-27.8125 1.46746 -16.3593
+-27.4149 1.39644 -15.3669
+-27.6637 0.5254449 -15.8203
+-27.4521 -0.2563051 -15.2981
+-27.7041 -0.9512541 -15.9006
+-27.6664 -0.9592731 -16.915
+-27.2367 -0.3411821 -17.5441
+-26.3403 0.03254033 -17.7512
+-25.9827 -0.2765251 -18.6375
+-25.9752 -0.06560697 -19.6272
+-25.3768 -0.7243281 -19.9732
+-25.8154 -0.3620421 -20.8284
+-26.7138 -0.8464161 -20.6495
+-26.7656 -1.71176 -21.1843
+-26.5685 -2.16539 -20.322
+-27.4715 -1.9368 -20.1124
+-26.7582 -1.40019 -19.5209
+-26.121 -1.39179 -18.7612
+-26.7149 -1.95044 -18.142
+-26.6465 -2.99615 -18.118
+-26.5038 -3.00839 -17.0949
+-26.0992 -2.25647 -16.57
+-26.9217 -2.3942 -16.0472
+-27.8172 -1.9629 -15.9825
+-27.691 -2.67278 -15.3286
+-28.5206 -2.98813 -14.9819
+-28.3923 -3.03196 -13.9708
+-29.0072 -2.29396 -14.0407
+-29.1756 -2.43888 -13.0812
+-29.652 -2.95745 -12.3988
+-30.3465 -2.22577 -12.6085
+-30.6343 -2.90817 -11.9464
+-30.9873 -2.33286 -11.1772
+-30.2171 -1.90371 -10.6774
+-29.4698 -1.96255 -9.99046
+-28.8714 -2.12037 -9.21182
+-29.2458 -2.98706 -9.12135
+-28.3165 -2.8964 -8.71837
+-27.6719 -3.56916 -8.84936
+-27.5315 -4.51781 -8.43869
+-28.1978 -4.39197 -9.03523
+-28.3224 -4.20856 -9.91141
+-29.2247 -3.83851 -9.66929
+-30.1615 -4.00294 -10.0349
+-30.5792 -3.70021 -9.1717
+-29.9744 -3.81461 -8.39494
+-29.6471 -4.84823 -8.2906
+-29.3276 -5.29837 -7.52392
+-28.7411 -5.98852 -8.06335
+-28.1203 -6.68548 -8.38002
+-27.5502 -7.33137 -7.90733
+-26.9833 -7.69181 -7.17488
+-27.1692 -6.68796 -7.09935
+-27.5463 -6.77892 -6.15545
+-27.0843 -5.90896 -5.99587
+-26.8035 -4.99696 -6.06111
+-25.9209 -4.48508 -5.91199
+-24.9408 -4.32956 -5.63025
+-24.6067 -3.66141 -6.28557
+-24.5375 -3.25885 -7.18129
+-24.1135 -3.36204 -8.14449
+-23.2281 -3.74447 -8.26723
+-22.9438 -3.54474 -7.33406
+-22.0956 -4.11682 -7.34574
+-22.6368 -4.70593 -6.84575
+-22.7251 -4.37976 -5.92943
+-22.1072 -3.75443 -5.37541
+-21.5451 -4.26216 -4.73994
+-21.8676 -4.04217 -3.80814
+-21.3239 -4.83183 -3.50418
+-21.4021 -5.06487 -2.59724
+-22.1271 -5.70024 -2.2488
+-22.6547 -4.9874 -2.31272
+-22.934 -5.67918 -2.94661
+-23.6816 -5.95824 -3.5562
+-23.784 -5.06972 -4.01338
+-23.7705 -4.99249 -2.98449
+-24.174 -5.50145 -2.22744
+-24.5148 -6.23584 -2.78629
+-23.6336 -6.63795 -2.80965
+-23.7408 -7.18242 -1.97279
+-23.5637 -8.16293 -1.6422
+-23.1248 -8.71743 -0.9636129
+-22.7494 -9.34704 -1.68109
+-21.7475 -9.22428 -1.52062
+-21.8432 -9.58775 -0.5700019
+-21.0993 -10.2084 -0.4303749
+-20.1693 -10.102 -0.4862069
+-19.442 -10.1163 -1.1543
+-19.5984 -9.30872 -1.72092
+-19.78 -8.94724 -0.7901939
+-19.219 -8.30481 -1.30817
+-18.8594 -8.42836 -2.167
+-19.8349 -8.32685 -2.29785
+-20.0504 -9.20156 -2.72843
+-20.5851 -10.0627 -2.44479
+-20.5687 -10.9643 -2.03752
+-21.5718 -10.9278 -1.89905
+-21.518 -11.2736 -0.9153659
+-21.4069 -11.7994 -1.71363
+-21.969 -12.5137 -1.27429
+-22.8333 -12.1605 -1.45836
+-23.7243 -12.6779 -1.65155
+-23.6564 -13.7049 -1.7039
+-23.604 -13.7172 -0.7090639
+-23.4119 -14.3982 0.02548502
+-24.3577 -14.3871 0.03944372
+-24.4985 -14.5549 -0.9035829
+-24.8444 -15.431 -0.4577419
+-25.6475 -14.8906 -0.7021109
+-25.9562 -14.0475 -1.26335
+-26.7976 -13.5948 -1.59723
+-27.2995 -14.1695 -2.30216
+-27.7743 -14.7383 -3.03548
+-28.0544 -15.5547 -2.54447
+-27.8334 -16.1241 -1.81521
+-27.5888 -16.135 -0.8802419
+-26.9404 -15.3167 -0.7427449
+-26.8653 -15.9364 0.08066272
+-26.0706 -15.4556 0.4948221
+-25.6067 -14.7679 0.9731351
+-25.4462 -13.9545 1.58306
+-25.0399 -13.1577 1.15769
+-25.2672 -12.3348 0.6995141
+-25.7869 -12.5659 1.52162
+-26.0478 -11.7249 2.06
+-25.1009 -11.8928 2.09528
+-25.3837 -11.3155 2.88302
+-25.3943 -11.1769 3.89573
+-24.4795 -10.9497 4.38772
+-24.5039 -9.99064 4.14349
+-25.3949 -10.0779 4.61474
+-26.1865 -10.3106 5.23337
+-26.0977 -9.61525 5.97599
+-25.178 -9.67518 6.11553
+-24.461 -9.7104 5.39108
+-23.7357 -10.2595 5.78088
+-23.9504 -11.1859 5.45311
+-24.1436 -12.2091 5.45513
+-24.1344 -13.1178 5.83205
+-24.216 -13.3321 6.78767
+-24.5114 -14.3347 6.60887
+-23.565 -14.3017 6.33314
+-23.4666 -14.9382 5.59089
+-22.5205 -15.1254 5.69376
+-21.9518 -15.2936 4.86378
+-21.0152 -15.6423 4.63879
+-20.8048 -14.8924 4.11101
+-20.8347 -14.0539 4.67221
+-20.7715 -14.5242 5.52782
+-20.0098 -15.1266 5.34222
+-19.4278 -16.0094 5.46612
+-19.2671 -16.9669 5.72791
+-18.8841 -16.6071 6.53155
+-18.7367 -17.2537 7.29884
+-18.4041 -17.4589 8.27543
+-18.7058 -17.7103 9.19448
+-19.2236 -18.1289 9.89915
+-18.6684 -18.0592 10.7555
+-18.3369 -17.5656 11.5327
+-19.0581 -17.4156 12.2669
+-18.7819 -18.0584 13.0634
+-17.929 -18.373 13.5768
+-17.3029 -17.7252 13.0988
+-17.9428 -17.306 13.7603
+-17.9521 -16.4526 14.2408
+-17.2988 -16.143 13.6366
+-16.3052 -15.8037 13.5681
+-15.5476 -15.1807 13.5569
+-15.9253 -14.9494 12.5818
+-16.2534 -14.3944 11.8909
+-16.8939 -13.6725 11.7425
+-17.7469 -14.2887 11.7164
+-18.7794 -14.1501 11.7972
+-18.6372 -13.4653 12.5188
+-19.3636 -13.1087 12.0196
+-20.3571 -13.0839 11.9352
+-21.1263 -13.6909 12.1855
+-21.8292 -13.0317 12.0364
+-21.8385 -13.6053 11.1961
+-21.5903 -14.4481 10.715
+-20.8676 -14.9772 10.9795
+-21.1673 -15.4593 10.1499
+-20.9148 -16.2147 9.59287
+-20.8382 -16.6032 10.5589
+-20.6283 -16.3808 11.4997
+-21.3657 -16.1675 12.1776
+-20.8605 -16.8955 12.6522
+-21.0447 -17.8908 12.9839
+-21.3973 -18.5855 12.2955
+-20.6589 -18.279 11.6545
+-19.8586 -18.8825 11.7498
+-18.9661 -18.6813 11.4107
+-18.7595 -19.2177 12.1729
+-18.5484 -19.8531 12.905
+-19.5634 -19.9964 13.0224
+-20.3051 -20.6907 12.939
+-19.7244 -21.5264 12.9207
+-18.9719 -21.3214 13.5234
+-18.4637 -21.9871 14.0377
+-17.8017 -22.3104 13.5105
+-17.3343 -21.4535 13.5202
+-16.3115 -21.4311 13.3609
+-16.6297 -21.852 12.5159
+-15.9962 -21.0336 12.4124
+-15.0484 -20.7638 12.5325
+-14.0627 -20.6744 12.6968
+-13.8441 -20.0664 13.4683
+-13.104 -20.5765 13.0934
+-12.1883 -20.3204 13.4098
+-11.5591 -20.3789 14.1527
+-11.2895 -21.3743 14.0379
+-11.9626 -21.2837 14.7753
+-11.4696 -22.1592 14.6469
+-10.9447 -22.0515 15.4943
+-10.5079 -22.9447 15.2828
+-10.7278 -23.796 14.8563
+-10.7421 -24.6517 14.3642
+-11.1529 -24.0305 13.6006
+-11.5962 -23.4798 14.2489
+-12.299 -23.211 14.8693
+-13.1839 -22.7269 15.0591
+-13.2492 -22.8073 16.0282
+-12.8923 -22.2384 16.7674
+-13.012 -21.2766 16.393
+-13.9915 -21.6347 16.2412
+-13.6089 -21.1342 15.5023
+-13.1324 -21.0067 14.5818
+-12.7497 -20.4532 15.3168
+-12.2761 -19.6925 14.8657
+-12.0728 -19.1457 15.6102
+-12.9825 -19.4205 15.4093
+-13.9045 -19.4558 15.8422
+-14.7193 -19.7738 16.4446
+-14.2653 -19.4316 17.254
+-15.1146 -18.9917 17.728
+-15.5661 -19.5924 17.1626
+-16.3288 -20.1362 17.5054
+-16.994 -20.8572 17.4288
+-17.4274 -20.8904 16.5199
+-17.6577 -19.9385 16.5808
+-18.6032 -19.6533 16.3646
+-19.5205 -19.5256 15.9222
+-18.8349 -19.2105 15.1948
+-19.2482 -19.1882 14.3209
+-20.1591 -18.7486 14.4798
+-20.3373 -19.7321 14.5778
+-20.6573 -19.7873 15.5689
+-20.8237 -20.7689 15.5374
+-21.5217 -21.3051 15.2584
+-21.9278 -22.1577 14.8761
+-22.6444 -21.4355 15.2531
+-23.1584 -21.0337 16.0264
+-23.0232 -20.8485 16.95
+-23.6428 -20.0754 16.7791
+-24.4553 -20.3345 16.2629
+-24.9368 -19.5604 16.5357
+-24.4211 -18.7356 16.6847
+-25.2904 -18.2277 16.8456
+-25.4538 -17.26 16.5058
+-26.171 -16.9013 15.876
+-25.7376 -15.9631 15.9395
+-26.1431 -15.6236 15.1244
+-26.0883 -15.0571 14.3439
+-26.3336 -14.0926 14.1812
+-26.2734 -14.1292 13.2455
+-25.4074 -13.7129 13.3116
+-26.1322 -13.1317 13.5918
+-27.0469 -13.4303 13.2943
+-27.9957 -13.191 13.6699
+-28.0827 -12.9088 14.5878
+-27.2764 -12.4171 15.0245
+-27.3657 -11.5363 15.5231
+-26.6972 -11.2559 16.2733
+-26.6698 -12.2093 16.1537
+-26.1697 -12.219 15.3311
+-26.4021 -12.0994 14.3754
+-26.1615 -11.679 13.436
+-25.5072 -11.8015 12.7364
+-24.6673 -12.06 12.2173
+-23.7025 -11.6135 12.1575
+-23.285 -10.9902 11.5062
+-23.1126 -11.5867 10.7076
+-23.5537 -12.5054 10.9306
+-23.8663 -13.5064 10.8958
+-24.5095 -14.303 10.9756
+-23.9126 -14.7005 11.7059
+-23.3533 -15.5691 11.7906
+-22.7966 -15.6796 12.5884
+-22 -15.4936 13.1441
+-22.8068 -15.4745 13.7714
+-22.5884 -15.9992 14.6084
+-22.1379 -16.8288 14.7241
+-21.5285 -16.7903 15.4752
+-20.6366 -16.747 16.0173
+-20.0355 -16.2817 16.634
+-19.0982 -16.565 16.6498
+-18.5463 -17.0372 17.2952
+-18.2818 -18.0402 17.5299
+-17.737 -17.8907 16.7918
+-16.7876 -18.1121 16.7343
+-16.4419 -18.964 17.2723
+-16.2805 -18.551 18.1721
+-16.8584 -19.2654 18.2119
+-17.3122 -20.1372 18.3085
+-18.2512 -19.9257 18.5022
+-18.7986 -19.3183 19.1464
+-19.5851 -19.0391 19.6614
+-20.3504 -19.4437 20.1835
+-20.5525 -18.6696 20.6966
+-21.2067 -18.5027 20.0739
+-20.797 -17.8698 19.3874
+-21.5811 -18.0503 18.7517
+-22.4921 -17.707 18.7149
+-22.4027 -18.1117 19.5833
+-22.6112 -17.3828 20.2676
+-21.7865 -16.9157 20.3254
+-21.5787 -17.4157 21.1869
+-21.5131 -17.4152 22.1062
+-22.3403 -16.8677 22.1879
+-21.7466 -16.014 22.1118
+-22.0557 -15.4338 22.8854
+-21.994 -14.4361 23.1085
+-21.4903 -13.9457 22.4406
+-20.4903 -14.012 22.0919
+-20.0846 -13.4732 21.3579
+-19.4658 -13.2444 20.5956
+-18.9733 -12.4195 20.5214
+-18.6361 -11.7144 21.15
+-18.6892 -10.8799 20.6117
+-17.7894 -10.4831 20.4078
+-17.6217 -10.3245 19.4129
+-18.5027 -10.2979 18.8875
+-17.9305 -11.0514 18.465
+-17.6904 -11.5552 19.2858
+-18.4133 -12.2878 19.4562
+-17.8725 -12.7589 20.0785
+-17.4596 -13.2801 20.9618
+-18.1337 -13.6603 21.5942
+-18.3444 -14.6398 21.6665
+-18.2308 -15.501 21.2293
+-17.3258 -15.1668 20.9423
+-16.9849 -14.3486 20.596
+-17.3797 -13.8064 19.8859
+-16.6583 -13.2558 19.8958
+-16.0322 -13.4125 19.1404
+-15.3341 -12.6801 19.0193
+-15.4397 -13.3465 18.1972
+-14.5927 -13.7878 18.2811
+-13.781 -14.3821 18.1964
+-13.3763 -15.1586 17.7349
+-14.0932 -15.6389 17.2564
+-13.9407 -16.185 18.1581
+-14.2897 -17.0431 17.9353
+-14.8107 -17.1079 17.0567
+-14.9836 -16.4462 16.384
+-15.1414 -17.1592 15.7517
+-15.8036 -17.2972 14.9962
+-16.0969 -16.4274 14.6547
+-15.514 -16.9957 14.0159
+-14.8127 -17.4236 14.5469
+-14.55 -18.3656 14.3801
+-14.4733 -19.2259 14.7652
+-15.4649 -19.064 14.6034
+-15.6662 -18.8711 13.6296
+-15.9454 -19.7936 14.0393
+-15.6533 -20.5896 14.4661
+-15.4067 -21.2956 15.1713
+-15.6371 -22.186 15.6411
+-15.2899 -23.0906 15.668
+-15.0702 -22.9481 14.7001
+-15.8364 -23.0486 14.0812
+-16.8405 -22.729 14.0058
+-17.3164 -23.213 13.2862
+-18.142 -23.5531 12.9598
+-19.063 -24.0638 12.819
+-18.926 -24.9774 12.3338
+-17.9582 -24.7229 12.0608
+-16.9392 -24.7838 11.8896
+-16.8896 -24.1334 12.6942
+-16.9457 -23.6763 11.7814
+-16.7802 -24.1677 10.9519
+-16.553 -24.1677 9.96368
+-16.867 -24.2428 9.03106
+-15.9881 -23.8607 8.73761
+-16.152 -24.4616 8.03724
+-16.3945 -23.8817 7.24581
+-16.7537 -24.1899 6.33066
+-17.4032 -23.4182 6.5211
+-17.406 -22.5961 7.12925
+-16.5341 -22.4752 6.7605
+-16.8892 -22.6667 5.87923
+-17.3553 -22.4494 4.98818
+-18.0102 -22.6108 4.21594
+-17.2798 -23.1635 3.77436
+-16.6265 -23.8049 4.17177
+-16.505 -24.2144 5.04199
+-15.9567 -24.8943 5.4971
+-15.347 -25.3652 6.20004
+-15.0025 -24.5023 6.52599
+-14.2681 -24.1568 6.01331
+-13.3886 -24.5329 6.25802
+-13.2841 -25.3968 5.79701
+-12.5842 -25.9677 5.29897
+-11.9655 -26.1404 6.01336
+-11.7533 -26.9817 6.44744
+-11.5911 -27.9659 6.59363
+-12.2713 -28.4011 7.19685
+-13.0167 -28.2581 6.48996
+-13.4544 -27.3787 6.65791
+-14.3005 -26.8613 6.58845
+-14.3922 -26.0477 7.06044
+-14.0706 -25.6242 7.78914
+-13.465 -26.3361 7.42795
+-13.2916 -26.7711 8.32618
+-13.2629 -27.4941 9.00212
+-12.8385 -28.2732 9.32759
+-12.0129 -28.0631 9.8657
+-12.4833 -28.4626 10.6264
+-12.4033 -29.2338 11.2593
+-11.7663 -29.0647 12.0628
+-11.0853 -28.3129 12.1202
+-11.4432 -28.4734 13.0569
+-11.8124 -27.7118 12.4426
+-11.3759 -26.9726 13.0097
+-10.7024 -26.2411 12.7046
+-10.1676 -27.0021 12.3404
+-9.33749 -26.8593 12.8543
+-8.68249 -27.4808 12.3361
+-7.72813 -27.4037 12.543
+-7.70318 -26.5052 13.1014
+-7.47899 -26.3807 12.0972
+-7.94657 -25.5057 12.306
+-7.99804 -24.7211 12.9444
+-7.06884 -24.3353 13.0986
+-7.52057 -23.5684 13.4719
+-6.4991 -23.3537 13.4791
+-5.67189 -23.5212 12.927
+-5.41447 -24.1764 12.2397
+-6.12909 -24.6829 11.9207
+-6.73531 -25.0746 11.2408
+-7.28631 -25.5997 10.5006
+-7.61487 -26.1817 9.72923
+-7.78173 -25.2934 9.26495
+-6.99246 -24.8107 9.08603
+-6.62649 -24.1273 9.64255
+-5.68124 -24.193 9.48956
+-4.83651 -24.0197 9.11793
+-4.61761 -24.5427 8.33205
+-4.11979 -24.9814 7.58152
+-4.15021 -25.6946 6.91754
+-5.03723 -26.1731 6.9267
+-5.47597 -27.0965 6.88921
+-4.99915 -27.4012 7.68266
+-5.53606 -26.7236 8.19024
+-6.54216 -26.9328 8.37616
+-6.99211 -27.4364 7.71676
+-7.38671 -28.3599 7.35999
+-7.8555 -27.5988 6.95629
+-8.35456 -26.8653 6.42789
+-8.28665 -26.0962 5.80234
+-9.23205 -26.4384 5.87059
+-9.51788 -26.1555 6.81829
+-9.07878 -26.6719 7.53198
+-9.28952 -26.0168 8.26427
+-9.65753 -25.2936 8.82026
+-9.50596 -24.2894 8.49566
+-8.83624 -24.4706 7.83024
+-7.95976 -24.055 7.97713
+-7.88607 -23.2767 7.33717
+-7.42865 -22.7217 6.70699
+-8.09596 -23.0572 6.00346
+-8.95418 -23.473 6.39012
+-9.3165 -24.2745 6.94998
+-10.2881 -24.3344 6.97775
+-10.7448 -25.1476 7.23885
+-11.5631 -25.0172 6.8082
+-12.2475 -24.3676 7.16706
+-13.0819 -24.6389 7.5666
+-14.0012 -24.3454 7.47721
+-14.3827 -23.8045 8.26867
+-14.0679 -24.0224 9.24947
+-13.8202 -23.0809 9.06259
+-13.4141 -22.1905 8.95065
+-12.7452 -22.7677 8.52214
+-11.8881 -22.2578 8.43814
+-12.5483 -21.4479 8.46872
+-12.851 -21.4677 7.49163
+-12.9582 -20.536 7.69096
+-13.825 -20.7836 7.25713
+-14.2753 -20.2822 6.55418
+-13.5163 -19.7728 6.68312
+-12.7233 -19.3739 6.36414
+-12.2661 -20.2379 6.45753
+-11.5988 -19.9514 7.11634
+-10.7939 -19.5645 7.50264
+-10.1618 -20.1686 7.08363
+-9.9247 -20.4212 6.18356
+-10.2284 -19.5664 5.64438
+-10.5442 -18.6805 5.09204
+-10.1762 -18.2118 5.97434
+-10.8134 -17.6876 6.54978
+-11.2323 -16.7288 6.48077
+-11.3677 -16.3823 7.35604
+-11.1453 -16.7198 8.30394
+-12.0877 -16.6145 7.9436
+-12.9975 -16.6557 7.45222
+-12.9982 -17.2788 8.20977
+-13.5021 -17.6291 7.44686
+-13.4891 -18.5064 7.05224
+-14.1053 -17.9478 6.47906
+-14.6324 -18.1926 5.67485
+-15.5372 -18.696 5.69861
+-15.6554 -17.7038 5.57472
+-15.8988 -17.0734 6.30473
+-15.2031 -16.5114 5.78592
+-15.328 -16.5237 4.87456
+-14.4384 -16.1358 4.979
+-13.738 -16.281 5.7085
+-13.1559 -15.553 5.9372
+-14.107 -15.3993 6.05629
+-14.5699 -15.0644 6.81135
+-14.1732 -14.1299 6.98683
+-13.9006 -14.8216 7.69782
+-14.8362 -15.0377 7.73358
+-15.2494 -15.8888 8.02317
+-15.441 -16.023 7.08581
+-16.2723 -16.1634 6.61066
+-16.2955 -15.4056 5.97924
+-16.152 -15.8768 5.0707
+-17.1057 -15.7198 4.79409
+-17.7617 -15.9428 5.45625
+-18.0114 -16.286 4.60124
+-17.1727 -16.8631 4.68151
+-17.6949 -17.623 5.17391
+-17.2023 -18.4895 5.26712
+-17.047 -18.0075 6.11938
+-17.9232 -18.2383 6.53618
+-17.1476 -18.8953 6.88663
+-17.9367 -18.8557 7.52722
+-18.8318 -18.9422 7.14218
+-19.7401 -19.3098 7.28826
+-19.1996 -19.8847 7.9638
+-18.5398 -20.3548 8.51733
+-18.1975 -20.754 7.7049
+-17.662 -21.0949 8.45369
+-16.7077 -20.7471 8.66188
+-16.2248 -21.3278 8.01383
+-15.2823 -20.8271 8.07027
+-14.8112 -19.9347 7.80203
+-15.212 -18.994 8.21173
+-15.3186 -18.6193 9.13512
+-14.9647 -17.7391 9.35845
+-15.2644 -18.0987 10.2124
+-14.375 -18.3946 10.7023
+-13.3405 -18.1941 10.8595
+-12.6917 -18.8627 11.2491
+-13.0693 -19.5194 10.5889
+-13.2702 -20.422 10.9583
+-12.5535 -20.6783 10.3192
+-12.1998 -21.6036 10.7328
+-12.5562 -22.3532 11.3133
+-13.354 -22.4882 12.0326
+-13.9429 -22.8689 12.7318
+-13.0382 -23.2082 13.0815
+-12.4436 -23.428 12.3464
+-11.7385 -23.0571 11.6751
+-11.4078 -22.9099 10.7626
+-10.5413 -23.2801 11.1334
+-10.2565 -24.2312 11.2577
+-9.68239 -24.1788 12.0454
+-10.3905 -23.4431 12.2075
+-9.90236 -23.1593 13.028
+-9.16788 -22.5631 13.2756
+-9.15498 -21.6045 13.3775
+-10.104 -21.3457 13.3369
+-9.89748 -21.2044 14.3275
+-9.23217 -20.4627 14.3614
+-8.51968 -20.2167 15.0205
+-7.68666 -20.3247 14.444
+-7.92769 -20.3738 13.4745
+-8.39157 -20.2988 12.5319
+-8.83479 -19.4594 12.1655
+-9.6842 -18.8926 11.9347
+-10.2479 -19.4202 12.5913
+-10.5801 -20.2817 12.907
+-9.79529 -20.475 12.3211
+-9.67152 -20.814 11.401
+-9.00982 -20.3376 10.8706
+-8.4768 -21.1685 10.6208
+-7.67661 -21.0306 11.2776
+-6.99726 -21.0987 11.9833
+-6.53079 -21.9344 12.2905
+-7.06129 -22.6589 11.8483
+-7.50473 -23.1309 11.0706
+-7.56649 -23.5013 10.1628
+-8.16134 -22.7726 10.3414
+-8.41355 -22.1358 9.63778
+-7.63565 -22.068 9.02319
+-7.02765 -21.8009 8.27645
+-6.54382 -21.4861 7.44843
+-6.56549 -20.6385 6.94967
+-6.94432 -19.8355 7.3074
+-7.21638 -19.9444 8.27236
+-7.58838 -20.2023 9.16827
+-8.4904 -20.4526 8.84445
+-8.15222 -21.077 8.21029
+-8.96232 -21.7121 8.00589
+-9.52266 -22.4849 7.61783
+-9.62458 -22.5674 6.63579
+-10.018 -21.6277 6.55751
+-10.616 -22.1384 7.2223
+-11.2484 -22.0098 6.36159
+-11.2696 -21.0791 5.91874
+-12.1994 -21.4702 5.76509
+-12.8321 -21.6355 4.97413
+-13.1821 -21.5384 4.06886
+-14.0043 -21.1221 3.71267
+-13.7598 -20.6485 2.95362
+-14.6706 -21.0981 2.80594
+-15.3308 -21.0423 3.52278
+-16.0334 -20.3948 3.16527
+-15.6037 -20.7701 2.34816
+-15.4398 -21.0736 1.37482
+-14.5664 -20.7507 0.9463291
+-14.2682 -20.8852 0.01858372
+-13.5598 -21.3331 -0.5194279
+-13.3889 -21.3806 -1.53008
+-13.221 -20.4881 -1.12524
+-13.3949 -19.7353 -1.7655
+-12.4829 -20.0615 -2.02771
+-12.6649 -19.8074 -2.93458
+-12.7942 -20.3404 -3.8572
+-12.9722 -19.3794 -3.84331
+-13.776 -19.6413 -4.40887
+-13.1151 -20.2232 -4.85247
+-12.2432 -20.6669 -4.95343
+-12.8731 -20.819 -5.68872
+-12.8724 -20.5833 -6.65003
+-12.1177 -20.7313 -7.23155
+-11.9441 -19.7531 -7.05954
+-11.224 -19.495 -7.71541
+-10.856 -19.1028 -8.52595
+-11.3479 -19.8051 -8.9675
+-10.7873 -20.3108 -9.7458
+-11.0878 -20.6928 -10.5823
+-11.6754 -21.5731 -10.7885
+-12.4922 -21.2441 -11.1545
+-12.6379 -20.2787 -10.9958
+-13.2944 -19.9427 -10.3066
+-13.278 -19.0142 -10.4932
+-12.8489 -18.325 -9.94689
+-13.1326 -17.6801 -9.21585
+-12.6 -16.8763 -9.5432
+-12.5673 -16.5999 -10.4984
+-12.3289 -16.7772 -11.4412
+-11.6131 -16.0952 -11.3532
+-11.9656 -15.3665 -10.8125
+-12.2511 -14.9777 -9.96247
+-13.0461 -15.0876 -9.38049
+-13.8361 -15.1606 -8.79472
+-14.1214 -14.8897 -7.90009
+-14.5047 -15.2207 -7.13997
+-14.8039 -16.0133 -6.65692
+-13.8165 -16.0261 -6.58335
+-13.7425 -16.9206 -6.17175
+-13.8782 -17.721 -6.69159
+-14.4253 -18.263 -7.3693
+-14.7873 -19.2154 -7.64236
+-14.4434 -19.1845 -6.64762
+-15.3359 -18.5956 -6.70453
+-16.1349 -19.0441 -7.17505
+-16.7457 -18.9961 -7.89677
+-16.503 -19.9239 -8.22841
+-15.9415 -19.8744 -9.02668
+-15.995 -20.8236 -9.17704
+-15.5528 -21.0666 -10.0479
+-14.7764 -21.6959 -10.0796
+-14.0092 -22.3424 -10.0379
+-14.7596 -22.7696 -9.46997
+-14.4478 -23.6251 -9.09634
+-13.909 -22.8932 -8.68726
+-14.2586 -21.8985 -8.78402
+-14.3306 -21.7199 -7.79238
+-13.7608 -22.4404 -7.64928
+-14.4073 -23.0971 -7.35915
+-14.2086 -24.1782 -7.57188
+-13.9273 -24.9503 -8.03676
+-13.347 -24.4604 -8.61005
+-13.0951 -23.6118 -9.09704
+-12.5978 -22.8234 -9.49982
+-12.1433 -22.1701 -8.9156
+-12.5837 -21.4307 -9.39614
+-13.4584 -21.1117 -9.06271
+-12.8076 -20.6945 -8.41343
+-12.5209 -21.6032 -8.07223
+-12.0999 -22.0736 -7.26527
+-12.0653 -23.0643 -7.17083
+-11.101 -22.6429 -7.35272
+-10.6343 -23.5125 -7.61482
+-10.4575 -22.7285 -8.21005
+-9.96988 -23.5058 -8.53786
+-10.5366 -23.2984 -9.29094
+-9.88833 -22.4993 -9.1612
+-9.26189 -22.4335 -9.88935
+-9.55457 -23.4853 -9.7156
+-8.90766 -24.1433 -9.38025
+-9.01619 -25.1001 -8.99852
+-9.67157 -24.878 -9.71847
+-9.82782 -24.8393 -10.6609
+-9.44734 -24.0063 -11.1339
+-10.3723 -23.7731 -11.5216
+-11.2876 -23.3968 -11.4059
+-11.531 -22.9328 -12.1825
+-11.4163 -22.02 -12.5226
+-10.4566 -22.3641 -12.6166
+-10.6108 -21.3649 -12.8519
+-11.1795 -20.8355 -13.5105
+-10.9386 -20.3124 -12.7109
+-11.1902 -19.4211 -13.0419
+-10.9048 -18.526 -12.7767
+-11.2434 -17.9221 -12.0505
+-10.2955 -17.6203 -12.1797
+-9.92415 -16.8283 -12.6878
+-9.12948 -16.7316 -12.1084
+-9.27972 -16.6311 -11.1319
+-9.42417 -16.4717 -10.1605
+-10.1302 -16.0325 -10.7755
+-9.65797 -15.2152 -10.3101
+-9.02813 -15.4776 -11.0147
+-8.61998 -14.943 -11.8026
+-8.14703 -14.9286 -10.914
+-7.77494 -15.1843 -10.0007
+-7.96588 -15.1283 -9.08874
+-7.11457 -14.8896 -8.63949
+-7.19579 -14.7987 -7.66504
+-7.017 -14.6114 -6.74066
+-6.35252 -15.3321 -6.56384
+-5.61036 -15.9225 -6.27199
+-5.99849 -16.353 -5.45015
+-6.54826 -17.0565 -5.80272
+-6.25956 -18.0303 -6.06956
+-7.13261 -17.7163 -6.47061
+-6.62804 -17.4804 -7.24971
+-7.15244 -17.5008 -8.10202
+-7.63518 -17.2121 -8.94411
+-8.28479 -17.6428 -9.52161
+-7.30211 -17.8117 -9.60037
+-7.37105 -18.7661 -9.06496
+-7.07755 -18.9179 -10.0825
+-6.28563 -18.8405 -10.7027
+-5.58628 -19.568 -11.0817
+-5.79526 -20.4977 -10.8608
+-6.27432 -20.409 -11.744
+-7.24757 -20.6862 -12.018
+-8.15805 -20.5775 -12.2194
+-8.31647 -20.3899 -11.2231
+-8.29053 -20.3758 -10.3001
+-8.67418 -21.2769 -10.0863
+-8.48523 -21.8136 -9.27615
+-7.64932 -21.5046 -9.67972
+-7.11744 -22.2369 -9.48083
+-7.828 -22.848 -9.8071
+-7.89367 -22.5407 -8.87451
+-8.26425 -22.9456 -8.03499
+-8.37579 -23.7695 -8.56829
+-8.50131 -24.3071 -7.75776
+-8.49888 -23.7913 -6.8924
+-9.17588 -24.5362 -6.52647
+-9.50766 -25.3503 -6.04282
+-8.96764 -26.0578 -6.2432
+-8.11769 -26.233 -6.75096
+-7.10561 -26.2423 -6.81527
+-6.76705 -25.4356 -7.14745
+-7.40931 -24.844 -7.53426
+-6.69106 -24.4561 -8.01994
+-6.02256 -23.8157 -7.67025
+-6.20572 -23.0797 -7.12119
+-6.08308 -22.7013 -6.21072
+-5.68986 -23.5723 -6.06144
+-4.70475 -23.5465 -5.7099
+-3.73891 -23.7694 -5.58015
+-3.82096 -24.697 -5.15173
+-3.18043 -25.1851 -5.79163
+-3.22962 -26.014 -6.3186
+-3.98791 -26.1603 -7.02967
+-4.04843 -27.138 -7.27386
+-3.73774 -27.3562 -8.26264
+-2.93542 -27.4988 -7.53847
+-2.15808 -27.4925 -6.85493
+-1.43666 -27.2389 -7.52501
+-1.13951 -26.643 -8.25546
+-0.725724 -26.3944 -9.10349
+-0.472588 -27.2314 -8.7066
+0.499898 -27.6188 -8.75347
+0.143184 -28.1725 -9.44328
+0.136604 -28.2008 -10.3848
+-0.11103 -29.1345 -10.6821
+-0.934206 -28.8613 -11.0161
+-0.13751 -28.461 -11.4908
+-0.981858 -28.3806 -12.0691
+-1.13454 -27.3521 -12.084
+-1.12787 -27.7758 -13.0637
+-0.819436 -26.8047 -13.0455
+-1.80558 -26.7112 -12.7577
+-2.45577 -26.1518 -13.1337
+-3.34388 -25.5549 -13.2242
+-2.76254 -24.84 -13.6323
+-3.24447 -24.0743 -14.0482
+-3.79388 -23.4323 -13.5969
+-4.59307 -22.9295 -13.2195
+-3.94612 -22.1821 -13.0333
+-3.36086 -21.5246 -12.4689
+-3.86109 -21.0096 -13.2093
+-4.74792 -20.6364 -13.1366
+-5.74703 -20.6531 -13.24
+-5.88603 -21.2075 -14.0374
+-6.86543 -21.1261 -14.3301
+-7.12213 -21.9691 -14.6901
+-7.85535 -22.457 -15.211
+-8.31898 -23.165 -14.7588
+-8.9423 -23.5721 -14.0914
+-9.42133 -22.7836 -13.924
+-9.69196 -22.3709 -14.8085
+-10.202 -21.5466 -14.5286
+-10.0143 -20.8813 -15.2666
+-10.3761 -20.4542 -16.1064
+-10.9596 -20.2244 -15.3272
+-10.3723 -19.401 -15.3935
+-11.279 -19.1054 -15.2567
+-11.936 -19.0337 -16.0444
+-12.3857 -19.6689 -15.4527
+-13.4088 -19.5879 -15.6301
+-13.5709 -19.561 -14.6339
+-12.8504 -20.2059 -14.2538
+-12.3849 -21.0689 -14.5911
+-12.9318 -21.8604 -14.2797
+-13.533 -22.6388 -14.0402
+-13.7299 -23.3735 -14.7526
+-13.2148 -24.215 -14.7948
+-14.1174 -24.6117 -14.9603
+-14.6346 -24.4306 -14.1159
+-14.7008 -23.5476 -13.7352
+-15.36 -22.9131 -14.0506
+-15.3866 -22.1889 -14.646
+-15.3568 -21.2775 -14.9564
+-16.0829 -20.8157 -14.4074
+-16.9192 -20.6079 -13.8993
+-16.7569 -20.3645 -12.9324
+-16.8299 -19.282 -12.9742
+-16.6276 -18.8496 -13.851
+-15.9906 -19.6322 -13.869
+-15.5251 -19.0013 -13.2945
+-14.7471 -19.6809 -13.5244
+-14.2373 -20.5787 -13.7725
+-14.967 -21.0627 -13.3746
+-15.5325 -20.5066 -12.7205
+-15.2301 -20.545 -11.7359
+-15.8551 -19.952 -11.1761
+-16.0745 -19.6756 -10.2686
+-16.5242 -18.7647 -10.1876
+-16.5984 -17.723 -10.2773
+-16.5008 -17.1923 -11.1768
+-16.3464 -16.9284 -12.1925
+-15.34 -17.0308 -12.0289
+-15.1819 -16.0599 -12.12
+-14.4238 -16.0075 -11.3475
+-13.4576 -16.3736 -11.4686
+-14.1803 -16.5862 -12.1421
+-14.5338 -17.0523 -12.8609
+-14.107 -17.0137 -13.7309
+-13.2044 -16.7527 -14.1259
+-13.3583 -15.8632 -14.5897
+-12.5531 -15.6829 -15.0489
+-12.4227 -14.6678 -15.1679
+-11.5565 -14.9995 -14.803
+-11.6983 -15.9886 -14.5967
+-11.362 -16.1785 -13.6542
+-11.0492 -15.9417 -12.7086
+-10.6 -15.1744 -13.0968
+-10.1666 -14.7475 -12.2688
+-9.44794 -15.0493 -12.8736
+-8.49653 -14.8824 -13.247
+-8.81841 -14.1996 -12.5821
+-7.96716 -14.0308 -13.0033
+-8.43431 -13.7718 -13.7615
+-7.65446 -13.1659 -13.5363
+-8.34226 -12.5435 -13.2238
+-8.52802 -11.5937 -13.1017
+-9.30574 -11.2003 -13.6291
+-9.80624 -10.3499 -13.4331
+-10.0444 -9.69738 -14.1297
+-10.0754 -9.81018 -15.1363
+-9.8795 -9.16093 -15.8663
+-10.5429 -9.83804 -16.2578
+-11.5259 -9.68728 -15.8694
+-11.6962 -9.94201 -14.951
+-11.4894 -9.24164 -14.2768
+-11.8353 -9.35848 -13.3738
+-12.2148 -8.90278 -12.4119
+-11.9745 -8.97873 -11.439
+-11.8663 -8.98779 -10.4354
+-12.3039 -9.67367 -9.9081
+-12.9551 -10.3449 -9.65211
+-13.8853 -9.87676 -9.56722
+-14.3192 -10.3577 -10.2371
+-14.7295 -11.0798 -10.6773
+-15.579 -11.2043 -10.1358
+-16.2706 -10.8584 -10.8387
+-17.1044 -10.4235 -10.5238
+-17.8584 -10.2669 -9.9036
+-17.6818 -10.1205 -8.9502
+-16.7673 -9.78922 -8.76368
+-16.5064 -8.94285 -8.11516
+-16.1621 -8.73573 -8.99555
+-15.6864 -7.86448 -8.75967
+-16.6297 -7.47522 -8.89807
+-17.5751 -7.63204 -8.72659
+-17.4796 -8.54748 -8.50572
+-17.4467 -8.82631 -7.52997
+-18.1386 -8.13692 -7.19666
+-19.1017 -8.02345 -7.49203
+-19.9528 -7.95476 -7.03812
+-20.1486 -8.64701 -6.33458
+-20.2513 -7.94858 -5.68077
+-19.729 -7.45329 -4.92872
+-20.2646 -7.01327 -4.22355
+-19.3784 -6.46367 -4.30845
+-19.6552 -6.43267 -3.30225
+-20.3752 -6.4752 -2.61933
+-20.776 -6.42029 -1.72763
+-21.1992 -6.40713 -0.7997119
+-20.391 -6.3823 -0.1923939
+-19.8198 -5.55654 0.01164772
+-19.1724 -4.82056 -0.1785469
+-19.3771 -3.90495 -0.3838039
+-19.3791 -3.87271 0.5837311
+-18.6646 -4.46205 0.9876451
+-17.9089 -3.84488 1.21453
+-17.0382 -3.58044 0.7685451
+-16.2756 -2.96242 1.00736
+-15.7662 -3.22111 0.1551691
+-14.8394 -2.91861 0.2195821
+-14.1003 -2.99436 -0.4231549
+-14.3107 -3.87486 -0.6035919
+-14.812 -3.99221 0.1947461
+-15.6618 -4.32746 0.5983531
+-16.0432 -4.55389 1.54497
+-15.3625 -5.18534 1.5587
+-15.6738 -5.06168 2.49132
+-15.9402 -4.59686 3.35144
+-16.6698 -4.91667 3.90083
+-17.3155 -4.72286 4.67708
+-17.2938 -5.25495 5.53783
+-17.0234 -4.6354 6.26558
+-16.1578 -4.90776 5.81193
+-15.2355 -4.47531 5.85946
+-15.8973 -3.788 5.75904
+-15.7798 -2.95246 6.2692
+-15.7483 -2.50349 5.35126
+-15.4331 -2.94906 4.50676
+-16.0557 -2.58374 3.81593
+-15.8787 -3.04676 2.96388
+-15.9972 -2.29615 2.30121
+-16.1267 -1.97578 1.42077
+-16.8369 -1.3167 1.28679
+-16.058 -0.7835421 1.49372
+-15.6832 -0.7113371 2.41064
+-15.0327 -1.15419 3.06755
+-14.3452 -1.90395 3.34137
+-13.4261 -1.52129 3.35235
+-12.9898 -2.33326 3.07922
+-12.4202 -2.98834 3.49489
+-13.2636 -2.87704 4.07157
+-13.6832 -2.86589 4.91188
+-12.8038 -2.44596 5.31538
+-12.7799 -3.32537 5.71349
+-12.6386 -4.29337 5.58884
+-11.9486 -4.84216 5.12124
+-11.2765 -5.29368 4.52103
+-11.1398 -4.35515 4.81135
+-10.6339 -4.96699 5.42908
+-9.79203 -4.62082 5.97331
+-9.17254 -5.16942 5.43182
+-8.78006 -4.42862 5.97138
+-9.26452 -3.6096 5.56715
+-9.93569 -3.25498 5.03078
+-9.96967 -2.55754 5.70166
+-10.5474 -3.33241 5.91895
+-11.086 -4.09027 6.03541
+-11.7119 -4.69089 6.46124
+-10.8575 -4.95048 6.9115
+-10.4807 -5.78502 7.28742
+-9.58549 -5.34867 7.25215
+-9.39893 -5.05111 8.2133
+-10.0505 -4.36912 8.68728
+-10.8147 -4.89375 8.33165
+-11.0356 -5.73451 8.73633
+-11.0966 -5.94194 9.75565
+-10.5275 -6.41378 10.374
+-9.87853 -6.01013 11.026
+-10.4758 -5.15619 11.0545
+-10.0132 -4.27231 11.3602
+-9.08272 -4.01094 10.9746
+-8.90522 -4.93951 11.3952
+-8.33723 -5.72516 11.1234
+-9.023 -5.77277 10.3776
+-8.56447 -5.80485 9.44343
+-8.3043 -6.42847 8.65353
+-7.51808 -6.83428 9.20507
+-6.70502 -6.78155 8.43065
+-6.71977 -5.86244 8.04901
+-6.62272 -4.8802 7.89203
+-5.64226 -5.0111 7.99195
+-5.08753 -4.07972 7.95821
+-4.39494 -4.76425 7.64201
+-3.83094 -3.90342 7.68716
+-4.53908 -3.76438 7.02605
+-4.38354 -3.58936 6.08466
+-5.37858 -3.64986 6.20524
+-6.01797 -2.99528 5.86675
+-6.59123 -2.26971 6.31672
+-5.81362 -2.16206 6.91571
+-5.63513 -2.98077 7.51847
+-4.82395 -2.43203 7.32438
+-5.15097 -2.53927 6.38838
+-4.26555 -2.00484 6.29065
+-4.94455 -1.7315 5.56578
+-4.75652 -0.7486931 5.22918
+-4.46964 -0.7553121 6.15169
+-5.18528 -0.7845931 6.84445
+-6.01954 -0.4532861 7.17508
+-6.62281 -0.5498241 6.35162
+-6.00195 -0.9854971 5.74488
+-5.71222 -1.11899 4.88937
+-5.94191 -0.3045241 4.3211
+-6.8678 -0.5669891 4.40275
+-7.85919 -0.3573041 4.3583
+-8.60722 -0.5088911 5.01202
+-7.97803 -0.7016081 5.73115
+-8.83773 -1.24123 5.70997
+-8.24352 -1.51878 4.93922
+-8.11763 -1.39559 3.9485
+-8.11107 -0.9225461 3.04287
+-9.01039 -1.25281 3.19073
+-9.59776 -1.07874 3.9924
+-9.81386 -0.3727041 3.23401
+-10.7395 -0.3352581 2.79539
+-11.0687 0.2903989 3.39023
+-11.7957 -0.1601571 3.0549
+-12.0852 -0.5209101 3.9749
+-13.0459 -0.1670491 3.93156
+-12.9527 0.4941859 4.63192
+-13.531 1.25565 4.3018
+-14.372 1.47667 3.78559
+-14.9153 2.20225 3.46413
+-14.7057 3.08711 3.85997
+-14.8622 3.02498 2.84426
+-14.2424 2.36166 2.28653
+-13.9323 1.40603 2.23147
+-14.5297 0.6203589 2.48261
+-13.7906 -0.03764047 2.33515
+-13.0222 -0.4058851 1.77962
+-12.5057 0.4099019 2.12422
+-12.6552 1.39709 2.25869
+-11.8956 1.01694 2.86521
+-11.1882 1.57688 3.28315
+-10.7285 2.45735 3.19473
+-11.3791 3.1841 3.16284
+-11.1185 4.07796 3.58982
+-11.2164 3.84546 4.57493
+-11.5161 3.85476 5.60774
+-11.1118 4.03025 6.52711
+-10.4405 4.00961 7.24299
+-10.7112 4.57037 8.05698
+-10.4746 4.96883 7.13558
+-10.5036 5.5026 6.26675
+-11.1165 5.26008 5.48093
+-11.9149 5.46017 6.08186
+-12.8005 5.40061 6.4296
+-13.0807 4.89487 5.63728
+-13.621 4.50336 6.23903
+-13.6097 3.6563 5.63557
+-14.1386 2.78433 5.72102
+-14.7738 3.25107 6.34383
+-14.9097 2.79043 7.17578
+-15.796 3.09873 7.54928
+-15.9473 4.11107 7.73067
+-15.0869 3.79916 8.22323
+-14.3965 3.38305 8.80668
+-13.8068 2.63716 8.42092
+-13.7394 2.79194 7.41173
+-12.7473 2.7407 7.54516
+-13.0681 1.86228 7.7641
+-13.4419 1.17769 7.02783
+-13.7117 1.34211 6.10247
+-13.6134 0.3240039 5.78509
+-14.3406 -0.05361427 6.34564
+-14.8288 -0.1119711 7.13977
+-15.2968 0.1123499 8.04979
+-14.5568 0.4393679 8.58934
+-14.1493 1.12858 9.14711
+-13.4485 0.5788939 8.78103
+-12.4863 0.5617279 8.46262
+-12.1899 1.36656 8.90693
+-11.2493 1.21452 8.60203
+-11.4785 1.46627 7.6622
+-10.9225 2.22764 7.38696
+-10.4154 1.34779 7.29626
+-9.89205 2.16592 7.63292
+-9.44254 2.85217 7.06337
+-9.43421 1.95681 6.54825
+-9.0842 2.46779 5.78483
+-8.88354 3.48261 5.64114
+-9.21494 4.25375 5.22915
+-9.01866 4.60854 4.29529
+-8.63661 3.87097 3.68728
+-9.1384 3.64763 2.78767
+-9.30456 2.7955 2.22956
+-9.45433 1.80527 1.92864
+-8.63877 2.0875 2.45126
+-8.61315 2.19098 1.45455
+-8.35515 1.38131 0.8427641
+-8.25447 0.9756569 1.79137
+-7.68088 0.2944719 1.42081
+-6.84013 0.3388589 0.8719101
+-6.01135 -0.06096017 1.28423
+-5.93933 0.09975353 2.30953
+-6.68531 -0.4572251 1.94505
+-7.18932 -1.20412 2.41098
+-7.5843 -1.8185 1.62495
+-7.23387 -1.84713 0.6847041
+-6.302 -2.28609 0.6344571
+-5.52941 -2.13219 1.3005
+-5.4779 -1.28709 1.87646
+-6.20941 -1.93287 2.2536
+-6.62967 -2.553 2.88679
+-7.02854 -3.16343 3.54892
+-7.99486 -3.3656 3.82128
+-8.15122 -3.90975 2.99702
+-7.29322 -4.33651 2.83366
+-6.79101 -5.20174 3.05847
+-6.09105 -4.98455 2.43387
+-5.73687 -5.2648 3.34214
+-5.34191 -4.65067 3.98402
+-5.15339 -3.85842 4.57996
+-4.23012 -3.72544 4.22188
+-3.95078 -2.83416 3.80795
+-3.07631 -3.20513 4.12576
+-3.44236 -3.81631 3.46795
+-3.9209 -4.05829 2.59333
+-4.64418 -3.69999 2.02868
+-5.49073 -3.30092 1.56871
+-5.97373 -3.91878 0.9930761
+-5.54785 -3.36368 0.3296711
+-4.81969 -2.82203 0.2987471
+-4.39013 -3.46394 0.9279961
+-3.67425 -4.01 1.32668
+-3.11742 -4.00121 0.4906761
+-2.77258 -3.03472 0.7616961
+-3.07109 -2.13407 1.08126
+-2.95524 -2.16469 2.0659
+-2.51045 -2.7833 2.65426
+-1.85273 -2.76276 1.92425
+-1.1358 -2.20054 2.33061
+-0.366167 -2.86178 2.22672
+0.633552 -3.05299 1.95327
+1.1288 -3.83965 2.21643
+0.662937 -3.7429 3.10808
+0.473197 -4.13049 4.06621
+0.654465 -3.75697 5.01782
+1.1221 -4.65893 5.13865
+0.896134 -5.53483 5.57291
+0.483727 -5.76333 6.50213
+1.12115 -5.09921 6.83344
+0.593266 -4.80691 7.60844
+0.277929 -3.99256 8.08445
+1.13135 -4.35739 8.42962
+1.89057 -3.68144 8.29871
+2.59607 -3.03767 8.41704
+3.21142 -2.29975 8.81261
+3.47267 -1.57445 8.15014
+2.50681 -1.42939 8.52403
+2.84609 -0.4857551 8.32088
+1.93829 -0.5989861 7.85749
+1.41974 -1.31854 8.36879
+1.72793 -2.08971 7.79963
+2.63801 -2.02612 7.31876
+2.46893 -1.58131 6.4461
+2.74607 -1.24101 5.434
+3.1907 -1.98814 5.95285
+4.09294 -1.63902 6.14718
+3.54308 -1.19366 6.91668
+3.56461 -0.4227731 6.32065
+4.37606 -0.5360261 6.92264
+4.7352 0.3070499 6.57519
+5.63385 0.2156769 7.01996
+6.27301 0.2046649 7.83306
+6.08294 0.7716649 8.58319
+7.009 0.9642829 8.2369
+7.49024 1.59276 7.68432
+8.30228 0.9149609 7.50708
+9.23106 1.1346 7.8778
+9.56643 1.85424 8.46613
+9.76626 2.49356 9.12669
+8.87274 1.99895 9.21745
+8.10701 2.41902 9.6461
+7.35177 2.37358 10.3706
+6.37908 2.18189 10.438
+6.21197 2.8225 11.18
+5.84731 2.68578 12.1008
+5.36099 3.55247 12.1418
+4.3927 3.69174 12.3392
+3.80849 4.32964 12.8264
+3.04832 3.73059 13.2137
+2.72516 3.30629 12.3649
+2.09302 2.68404 12.6723
+1.79844 2.8601 13.602
+1.42253 3.76599 13.3941
+1.20906 3.54151 12.5298
+0.970957 3.4087 11.5393
+0.595423 4.32271 11.7162
+0.219806 4.59925 12.7051
+0.809837 4.61887 13.4693
+1.38114 5.03732 12.7619
+1.92504 5.70107 13.2511
+2.53096 5.12515 12.6977
+3.41258 5.56651 13.0841
+4.0666 6.23909 13.5515
+4.97236 6.05196 13.1235
+5.70102 5.80475 13.704
+5.28459 4.97046 14.1157
+4.50622 4.69412 14.6914
+3.83954 4.1091 15.2024
+3.20679 3.67907 14.546
+3.90875 3.56182 13.8259
+4.29333 2.72553 13.4554
+4.01999 2.4174 12.5527
+4.65703 1.74555 12.9832
+4.48842 1.16683 12.1662
+4.0233 1.17712 11.3182
+4.57331 0.7014139 10.6395
+4.76327 1.32938 9.80821
+4.09236 0.9524709 9.18616
+3.7033 1.75556 8.7608
+3.31665 1.82238 9.69643
+2.729 1.88933 10.4375
+1.91695 2.29596 9.92617
+1.65352 1.36968 10.4005
+2.11106 0.8764419 9.63451
+2.0477 -0.1410071 9.41005
+1.52265 -0.8366501 9.91129
+0.866427 -0.2511431 10.3604
+1.60448 -0.2624261 11.1544
+1.12919 -0.4921681 11.9841
+0.320563 -0.7395191 11.5289
+-0.600753 -0.4297151 11.3303
+-1.21529 0.3747819 11.5799
+-2.04658 0.8537489 12.0587
+-2.65876 0.1351749 12.3306
+-2.43068 -0.3248401 11.4938
+-2.74316 -0.7565651 10.6122
+-2.77354 -1.16097 9.66108
+-1.95194 -0.5651981 9.65568
+-1.74844 -1.45491 9.27957
+-0.928574 -1.87711 9.57963
+-0.376641 -2.02537 8.73932
+-0.400834 -2.85917 9.18213
+-0.997686 -3.5221 9.5399
+-1.87549 -3.86928 9.14902
+-2.61842 -3.37529 8.7573
+-3.05525 -3.99319 9.4712
+-3.85304 -3.65661 9.04765
+-4.39075 -3.15413 9.73712
+-4.56047 -2.19627 9.92946
+-4.59998 -2.45326 8.9555
+-5.36616 -2.12234 8.51629
+-6.39178 -2.18436 8.24923
+-7.03093 -2.64704 8.71016
+-7.07104 -3.63562 8.67191
+-6.0969 -3.83194 8.97418
+-5.12635 -3.67652 9.13748
+-5.41792 -4.57363 9.48811
+-6.07993 -5.25666 9.22146
+-5.4221 -5.83894 9.63241
+-5.15608 -5.73187 10.5974
+-4.60991 -5.15527 9.92163
+-3.7084 -5.00244 10.2968
+-3.81329 -5.97925 10.6625
+-4.09067 -5.38389 11.442
+-3.09952 -5.4278 11.6103
+-2.70696 -5.46075 12.5833
+-3.188 -4.62138 12.6115
+-3.89235 -4.86819 13.2257
+-4.84442 -4.95947 12.806
+-4.35443 -4.06582 12.9198
+-4.60355 -3.19741 12.4094
+-4.716 -3.0358 11.4843
+-5.61119 -3.09122 11.9241
+-5.74007 -3.74745 11.1754
+-5.47902 -4.67854 11.5321
+-6.29496 -4.85371 12.1286
+-6.47295 -5.62984 11.4639
+-7.20664 -5.09262 11.127
+-7.34059 -5.88215 10.4676
+-6.70306 -6.55672 10.7304
+-6.4901 -7.22201 10.0191
+-5.73654 -7.77985 10.086
+-5.46698 -7.66029 9.13492
+-5.80288 -7.96765 8.22902
+-6.63893 -8.34481 8.51028
+-6.93215 -9.13935 7.97534
+-6.30451 -9.68645 7.39414
+-5.33239 -9.53972 7.45388
+-4.9275 -8.65434 7.33902
+-5.10743 -8.22507 6.41156
+-5.74315 -7.84767 5.75302
+-6.38428 -7.13469 5.63763
+-5.54554 -6.61665 5.9069
+-5.68146 -5.64099 5.64069
+-6.47578 -5.08109 5.71764
+-5.97811 -5.05537 6.62084
+-5.05463 -5.14179 6.31036
+-4.08947 -5.05704 6.07715
+-3.20147 -5.05986 5.65874
+-2.41564 -5.22856 6.23798
+-1.9229 -4.5232 6.64576
+-2.24924 -3.60686 7.08261
+-2.5358 -2.88518 7.73352
+-3.26198 -2.2016 7.6499
+-2.60479 -1.52835 7.16471
+-1.97587 -0.7449971 6.90727
+-2.45362 -0.08534777 6.45833
+-3.17138 0.2400619 5.8316
+-3.51843 0.7297609 5.05541
+-4.49688 0.7098989 4.8951
+-4.67415 0.5178749 3.88714
+-4.57379 1.50449 3.79877
+-4.14768 2.30098 4.15184
+-3.75012 2.02783 3.28127
+-3.17498 1.51291 2.71134
+-3.78973 0.6232569 2.55865
+-4.00147 1.11299 1.73416
+-4.62995 0.4205699 2.13513
+-5.26474 1.11388 1.74861
+-5.79917 1.59967 2.42747
+-6.2696 1.13419 3.16419
+-6.68937 1.0034 2.23184
+-7.26173 1.81072 2.47309
+-7.25787 1.89294 1.46497
+-7.22358 2.14206 0.4581781
+-8.11307 2.65757 0.6079021
+-7.99877 2.46623 -0.3295499
+-7.63252 3.16964 -0.9127309
+-8.63346 3.07989 -1.08383
+-8.95821 3.95164 -0.7322679
+-8.63462 4.55756 -0.1047279
+-8.74383 3.57248 0.3517651
+-9.62584 3.02324 0.4140021
+-10.0984 2.33718 0.9737271
+-10.023 1.71677 0.2404741
+-10.5094 0.8561139 0.3646261
+-10.5265 -0.05617297 0.7486331
+-11.4443 0.09503133 0.9964271
+-11.7724 1.0272 0.6063261
+-11.544 0.7311279 -0.3558489
+-11.6683 -0.03484157 -1.06428
+-12.3918 -0.4956451 -0.4579529
+-12.4451 -1.37571 -0.9921299
+-11.8834 -1.41535 -0.1717999
+-12.7262 -1.95901 -0.2578279
+-12.4833 -2.86086 -0.4907509
+-12.1713 -3.58101 0.05638162
+-12.0247 -3.98957 -0.8409759
+-11.6337 -4.54683 -0.1011889
+-12.4777 -4.73459 0.3052491
+-12.0413 -5.59536 -0.08172808
+-12.4151 -6.43883 -0.2871959
+-11.4598 -6.62172 -0.5648639
+-10.9597 -6.83688 -1.42177
+-11.6397 -7.30215 -2.06663
+-12.5516 -7.73048 -2.05096
+-11.6749 -8.1724 -1.74075
+-11.3379 -8.78782 -1.04231
+-12.2668 -8.90283 -1.44585
+-12.0118 -9.79733 -1.90009
+-11.127 -9.91044 -2.20727
+-10.3919 -10.4536 -1.8023
+-9.65474 -10.9681 -1.30434
+-8.85423 -10.3731 -0.8564229
+-8.10653 -10.9383 -0.6035629
+-7.49222 -11.028 -1.36948
+-7.92227 -10.2645 -1.83166
+-7.80885 -9.89486 -2.74521
+-7.42416 -9.61154 -3.60346
+-8.08265 -8.95248 -3.9655
+-8.01601 -7.91476 -3.86171
+-9.05253 -7.93677 -3.67093
+-8.61401 -6.99598 -3.66492
+-7.82402 -6.96052 -4.26483
+-8.11621 -6.33074 -4.93444
+-8.25456 -5.50561 -4.33154
+-9.09208 -5.58519 -3.71531
+-9.25441 -5.2961 -4.63767
+-9.81775 -6.01241 -4.31435
+-10.211 -5.25636 -3.75548
+-11.1161 -4.80349 -3.71971
+-11.665 -4.3263 -2.99886
+-11.5706 -4.18843 -2.0027
+-12.5637 -4.21589 -2.08037
+-12.4184 -3.36087 -2.55312
+-12.9011 -3.31997 -3.37067
+-12.2374 -2.86021 -3.94935
+-12.0307 -1.92514 -4.33791
+-11.2782 -1.38667 -4.03749
+-11.0274 -0.7004761 -3.29497
+-10.9486 0.2384219 -3.05939
+-11.1894 1.13824 -2.62903
+-12.1349 1.41909 -2.38198
+-11.9785 2.4487 -2.38946
+-12.9534 2.33991 -2.65296
+-12.6176 2.58356 -3.58683
+-12.9471 1.70652 -3.9759
+-13.2205 0.9669039 -3.36603
+-12.7887 0.2046829 -2.79401
+-13.555 -0.2670331 -2.27709
+-14.1726 -0.5278071 -1.51022
+-13.497 -0.9104791 -0.8286219
+-13.9409 -1.72725 -1.0967
+-14.6595 -2.39206 -0.9559619
+-14.9584 -2.62172 -1.99149
+-15.5029 -3.34439 -2.4016
+-15.3531 -4.02041 -1.68449
+-16.3117 -3.95568 -1.3561
+-17.1086 -4.44164 -1.70971
+-16.2624 -4.86661 -1.99792
+-15.7275 -4.94692 -2.95725
+-14.7441 -4.84013 -3.15261
+-13.7354 -4.96721 -3.06238
+-13.593 -5.52453 -2.31146
+-14.4343 -5.46568 -1.72535
+-14.8381 -6.18332 -1.12468
+-14.3268 -6.97007 -0.7348049
+-14.149 -7.78793 -1.23205
+-15.14 -7.55101 -1.36171
+-14.5257 -7.04354 -1.99531
+-14.3875 -6.82263 -2.95718
+-14.6561 -6.42695 -3.80788
+-14.8037 -7.37806 -3.70593
+-14.3983 -8.27747 -3.7089
+-13.6861 -8.10837 -4.4536
+-12.6943 -8.25309 -4.61877
+-12.6405 -7.61131 -3.84547
+-13.3262 -6.99419 -4.28324
+-12.6227 -6.26234 -4.13344
+-11.82 -5.89599 -4.58189
+-11.3373 -5.23122 -5.06118
+-12.1118 -4.70271 -5.35801
+-11.9654 -3.70223 -5.52617
+-11.1317 -4.16834 -5.70268
+-10.6465 -4.78322 -6.28252
+-11.0873 -5.16682 -7.2105
+-10.5362 -5.85525 -7.62173
+-9.61645 -5.90448 -7.89322
+-9.41133 -6.75942 -7.38465
+-8.56814 -6.89831 -6.79595
+-9.25464 -7.29852 -6.17061
+-9.54162 -7.87354 -6.87657
+-9.78035 -8.81054 -6.45399
+-10.6263 -8.30558 -6.54045
+-10.8198 -9.02387 -5.85961
+-10.7523 -8.08213 -5.41178
+-10.7706 -7.15981 -5.84873
+-10.0102 -6.61641 -5.50105
+-10.0354 -7.4499 -4.85743
+-10.511 -7.97263 -4.17273
+-9.85174 -8.67907 -3.90672
+-9.66508 -9.59247 -3.59999
+-8.74174 -9.91066 -3.33921
+-8.53729 -10.894 -3.23376
+-8.87506 -10.5449 -4.10908
+-8.34708 -10.3854 -4.94813
+-9.25048 -10.6561 -5.13119
+-9.53285 -9.72373 -5.41933
+-10.4581 -10.3004 -5.26642
+-10.6097 -9.90344 -4.34837
+-11.3131 -10.6235 -4.58162
+-11.0431 -11.4121 -5.08748
+-11.6613 -11.9826 -5.5197
+-12.5449 -11.5435 -5.83732
+-12.1605 -11.73 -6.81435
+-12.3498 -12.1843 -7.62419
+-13.2132 -11.6746 -7.53559
+-13.1001 -10.7899 -7.19662
+-12.7315 -10.4645 -8.08367
+-11.965 -9.82525 -8.1356
+-12.0164 -8.77165 -8.03003
+-12.2637 -8.42133 -7.08691
+-12.9145 -8.82415 -6.476
+-13.317 -7.92674 -6.28543
+-14.1423 -7.9482 -5.68036
+-14.4301 -7.31803 -6.3945
+-14.0829 -7.84228 -7.20335
+-15.009 -8.19479 -7.34701
+-14.7394 -8.57907 -8.23526
+-14.2953 -7.7379 -8.53188
+-13.3479 -8.14347 -8.30607
+-13.174 -7.28402 -8.88594
+-12.5747 -6.81889 -8.21562
+-12.508 -6.07199 -7.5119
+-13.3378 -5.80032 -6.99893
+-13.2142 -6.11464 -6.01769
+-12.6849 -5.28086 -5.82463
+-13.5661 -4.99956 -5.41835
+-13.8628 -4.04538 -5.51026
+-13.1684 -3.78825 -6.16491
+-12.341 -4.11062 -6.67275
+-11.7655 -3.54592 -7.23734
+-11.2354 -3.1351 -6.47186
+-10.5788 -2.34921 -6.39004
+-9.82708 -2.68936 -6.77462
+-9.62904 -3.49573 -7.28435
+-9.69816 -4.19761 -7.97637
+-9.3843 -4.19862 -8.96501
+-9.85721 -3.56001 -9.6175
+-9.97765 -2.61289 -9.56544
+-10.3289 -1.886 -8.9847
+-10.1 -2.21283 -8.02851
+-11.095 -1.88237 -8.13772
+-11.3136 -1.02795 -8.68992
+-12.2993 -1.25367 -8.79184
+-12.6129 -0.6233441 -9.53425
+-13.0562 -0.03035937 -10.3078
+-12.7318 0.2344509 -11.1875
+-13.2466 -0.5375771 -11.5319
+-14.0514 -0.8971531 -11.0871
+-13.9833 -0.7838071 -10.1171
+-14.3809 -0.09130777 -9.58167
+-14.1477 -0.4906821 -8.69967
+-13.5512 0.3437499 -8.76938
+-13.5553 0.9966759 -9.5043
+-14.1998 1.76867 -9.61679
+-13.9986 2.40339 -10.3797
+-14.5903 2.07133 -11.0434
+-15.0857 2.50633 -11.719
+-15.2581 1.57856 -12.0867
+-15.0642 1.42788 -13.0538
+-15.9538 1.11445 -13.325
+-16.2179 2.07593 -13.2281
+-16.8938 1.52529 -13.5548
+-17.5346 2.16555 -13.1101
+-17.089 1.66247 -12.3519
+-16.6234 1.51295 -11.5328
+-17.1915 0.7017389 -11.3479
+-17.8358 1.46398 -11.3279
+-18.2543 0.5576179 -11.4101
+-19.2347 0.2639029 -11.2233
+-19.7289 1.08691 -11.4344
+-19.4058 1.27529 -10.5064
+-18.4292 1.50664 -10.5315
+-18.5073 2.44616 -10.2254
+-17.7797 3.05705 -10.553
+-18.2485 3.81288 -10.1669
+-17.4296 4.08972 -9.61581
+-17.7197 4.9318 -10.0692
+-17.6396 5.87938 -10.3505
+-16.9243 5.59811 -11.0109
+-16.6287 6.40365 -11.3814
+-15.5816 6.20397 -11.1633
+-15.1375 5.29983 -11.1544
+-14.9024 5.94247 -10.4181
+-14.051 5.68961 -10.8405
+-13.4647 5.20526 -10.1634
+-13.7081 5.98658 -9.56188
+-14.0572 5.15964 -9.11807
+-14.3643 4.22691 -9.3507
+-14.8299 3.35653 -9.12718
+-15.3076 3.05493 -8.3433
+-15.1411 2.47169 -7.55063
+-15.303 1.53488 -7.37628
+-15.9606 1.01627 -7.94467
+-15.3972 0.3691049 -7.5072
+-15.0562 -0.5625001 -7.58182
+-14.0689 -0.1570571 -7.38791
+-13.151 -0.7142951 -7.37892
+-13.3194 -1.33648 -6.57071
+-14.283 -1.41196 -6.58087
+-14.5888 -0.4891311 -6.53572
+-15.5565 -0.7827201 -6.62669
+-16.1163 -0.5370721 -5.74744
+-17.1147 -0.4099491 -5.90578
+-17.6024 -0.5411131 -5.10797
+-17.811 -1.31315 -4.57258
+-17.3561 -2.14514 -4.25402
+-17.0919 -2.509 -5.15929
+-16.1704 -2.48756 -4.75433
+-15.1942 -2.07369 -4.7129
+-14.5363 -1.96554 -3.98552
+-14.1708 -1.78393 -3.05505
+-13.7589 -1.31883 -3.83071
+-14.0154 -0.7739061 -4.6073
+-13.3712 -0.3731311 -5.26695
+-12.3685 -0.3394061 -5.23494
+-12.7016 0.4783669 -5.76347
+-13.5256 0.5745729 -6.29798
+-13.6408 1.21097 -7.04374
+-13.4003 1.00328 -8.03495
+-12.5074 0.7671339 -8.32876
+-11.8825 1.3169 -7.67751
+-11.2607 1.83796 -8.20394
+-11.3131 1.78745 -9.26316
+-10.3779 2.2007 -9.23384
+-10.1736 2.95615 -8.5636
+-11.0827 2.99323 -8.90905
+-10.7056 3.30004 -9.76352
+-10.1345 3.85159 -10.3867
+-9.46633 4.53757 -10.2168
+-9.86032 4.23879 -9.40325
+-8.985 3.79773 -9.6384
+-9.39263 3.00982 -9.98105
+-9.89807 2.21641 -10.4061
+-10.7994 2.08204 -10.8238
+-11.2461 1.8779 -11.6636
+-12.0658 2.01162 -10.996
+-11.624 2.61569 -10.2866
+-12.3315 3.18831 -9.76473
+-12.0846 4.16772 -9.72973
+-11.7664 4.13844 -10.7136
+-11.4397 5.01966 -10.355
+-11.6292 5.92514 -10.4956
+-12.1423 5.80124 -11.326
+-12.121 6.78778 -11.0987
+-12.9143 6.93877 -11.697
+-13.7314 6.65583 -12.1695
+-13.8064 6.86468 -13.1514
+-13.2637 7.62414 -12.8685
+-12.2831 7.67504 -13.3531
+-11.6904 8.43474 -13.7593
+-12.0608 9.03903 -14.4133
+-11.5834 9.73436 -15.0589
+-12.1293 9.73247 -15.9326
+-11.7453 10.6302 -15.642
+-12.5464 11.047 -15.9865
+-12.3475 10.8125 -16.9538
+-13.1472 11.1476 -17.3175
+-13.6442 11.9611 -17.0824
+-12.8392 12.0561 -16.4647
+-12.0166 12.393 -16.1229
+-11.0605 12.3799 -16.6323
+-10.9556 11.8423 -15.7424
+-10.2583 11.8322 -15.0049
+-11.224 11.6336 -14.7944
+-11.5951 11.2502 -13.9739
+-12.3023 11.45 -13.3081
+-12.3345 11.6866 -12.3658
+-13.1079 11.075 -12.2309
+-13.4915 10.2274 -12.6637
+-13.9188 10.0896 -11.8006
+-14.0852 9.13709 -11.7264
+-13.3136 8.6988 -11.2906
+-13.6979 7.85792 -10.9444
+-14.4628 7.33085 -10.5084
+-14.3394 7.93284 -9.82093
+-13.7403 8.63743 -9.39324
+-13.6749 9.02866 -8.51969
+-14.2466 9.85769 -8.09473
+-15.0836 9.81678 -8.61682
+-14.7824 9.02324 -8.08384
+-14.9954 8.61194 -8.98459
+-15.4318 8.67989 -9.83931
+-15.6635 7.77898 -9.81967
+-16.3547 8.28874 -10.3913
+-16.9455 7.83206 -11.0389
+-17.0301 7.92894 -12.0886
+-16.2011 8.47434 -11.7819
+-15.974 9.03886 -11.0466
+-15.1708 9.64433 -11.4407
+-14.8726 9.51973 -12.3924
+-15.5324 10.233 -12.5667
+-14.7328 10.7865 -12.4438
+-14.69 11.5594 -13.078
+-14.3531 12.1719 -12.3641
+-13.9589 13.0281 -12.1023
+-14.9837 12.9134 -11.8865
+-15.4448 12.0428 -11.568
+-15.4775 11.0169 -11.4223
+-15.1675 11.535 -10.6669
+-15.1375 10.9264 -9.7921
+-14.5869 10.7295 -8.96828
+-14.0051 11.4569 -8.65929
+-13.5895 12.3339 -8.96034
+-13.5141 13.3618 -8.746
+-13.1248 13.5992 -9.63298
+-12.9543 12.9999 -10.4035
+-13.8496 13.2688 -10.8454
+-14.1702 13.8267 -11.6444
+-13.646 14.6446 -11.4633
+-12.7604 14.3025 -11.8635
+-12.7109 14.4936 -10.8549
+-11.9455 14.708 -10.3541
+-11.4454 14.3017 -11.0809
+-10.9867 13.5549 -10.4297
+-11.3193 12.6755 -10.2586
+-10.8129 12.2093 -9.47412
+-9.87492 11.9178 -9.40351
+-9.50433 12.255 -8.51083
+-9.41779 12.6206 -7.61336
+-10.3854 12.869 -7.89155
+-9.77932 13.4831 -8.34283
+-9.34388 14.1003 -8.86351
+-8.91205 14.9276 -9.10934
+-8.34379 14.9026 -8.19351
+-8.72096 15.6074 -7.55903
+-9.23897 16.3911 -7.58802
+-9.89541 17.0091 -7.14479
+-10.1028 17.6491 -7.87931
+-9.55659 17.1494 -8.55461
+-9.88228 16.478 -9.24285
+-10.3345 15.8526 -8.50764
+-11.0622 16.312 -9.02452
+-11.768 16.6231 -9.71404
+-11.035 16.85 -10.2847
+-11.0852 17.8233 -10.1868
+-10.7931 18.2904 -11.017
+-10.8778 18.6324 -11.977
+-9.90642 18.8547 -12.0391
+-9.3158 19.4724 -12.6368
+-9.3935 20.0821 -11.6985
+-8.96496 20.0166 -10.796
+-8.10923 19.4685 -10.6281
+-7.96916 18.4187 -10.5128
+-7.66358 17.8827 -9.72894
+-8.64395 18.0088 -9.77337
+-8.42178 17.6101 -10.7238
+-8.84358 17.7411 -11.5549
+-8.09848 18.1395 -12.0981
+-8.12608 17.1816 -12.1503
+-7.73869 16.3987 -12.5357
+-8.56562 16.2134 -11.9648
+-9.20255 15.3641 -11.7726
+-10.1144 14.9641 -11.8351
+-10.8043 15.6149 -11.3459
+-11.0416 16.6221 -11.5991
+-11.9965 16.93 -11.9481
+-11.7907 16.2391 -12.643
+-11.019 16.1459 -13.2435
+-11.3424 16.9234 -13.8054
+-12.2293 16.6471 -13.4913
+-12.8466 16.9463 -14.3352
+-13.5462 17.582 -13.897
+-12.9279 18.0186 -14.5581
+-13.2302 18.6221 -13.857
+-13.6477 19.3211 -13.3342
+-13.076 19.8372 -12.6638
+-12.2211 19.8471 -12.1552
+-12.3387 20.7215 -12.5581
+-13.1613 20.9466 -12.9803
+-14.0885 20.6239 -12.8002
+-14.8475 21.2154 -12.9402
+-15.1789 21.2769 -13.8733
+-14.5499 20.7825 -14.4527
+-14.5058 20.3139 -15.3127
+-13.7783 20.2632 -15.961
+-13.0518 19.6639 -16.2813
+-13.2409 20.496 -16.8483
+-13.1642 21.4637 -16.8193
+-12.5436 22.2172 -17.1356
+-12.6471 23.2191 -16.9373
+-12.4117 23.911 -17.6622
+-12.0578 23.2736 -18.4592
+-11.5811 23.9834 -19.141
+-11.4354 24.1089 -20.0668
+-10.7445 23.4248 -19.8052
+-10.0787 24.0327 -20.1635
+-9.6097 23.4547 -19.5119
+-9.90029 22.5059 -19.2356
+-10.0523 22.298 -20.113
+-9.3344 21.7811 -20.5119
+-9.07794 22.4998 -21.1212
+-9.21124 21.8883 -21.876
+-9.42316 21.2658 -22.6151
+-9.73967 22.187 -22.7585
+-10.1656 23.1774 -22.7186
+-9.77654 24.1314 -22.4445
+-8.9759 24.7109 -22.3077
+-8.25412 24.6316 -21.6857
+-7.27427 24.7619 -21.6247
+-6.54359 25.2959 -21.1284
+-6.65122 26.2115 -20.8181
+-6.14855 26.905 -21.3859
+-5.35633 26.6836 -21.8795
+-4.72694 25.9405 -21.8735
+-4.52641 26.8928 -21.5523
+-4.02404 27.6726 -21.2319
+-3.43662 27.6983 -20.4234
+-3.49027 26.9503 -19.898
+-4.45253 27.2177 -20.1739
+-4.78603 26.6204 -19.3563
+-4.79965 25.6812 -19.1674
+-4.33611 25.7883 -20.0774
+-3.97427 25.2573 -20.8591
+-3.16291 25.6841 -20.4838
+-2.70715 25.7557 -19.6281
+-3.34466 25.334 -18.9918
+-3.24672 24.5092 -19.5742
+-3.14685 23.9516 -20.3831
+-2.29345 24.436 -20.5106
+-2.2565 24.0397 -21.4706
+-3.24449 24.1482 -21.6721
+-3.57164 24.0784 -22.6893
+-2.95838 23.6687 -23.3418
+-2.0237 23.5581 -23.6042
+-2.15702 22.6904 -24.1579
+-2.88044 22.2207 -23.6289
+-3.33475 22.6366 -24.5129
+-3.98398 22.8689 -23.7803
+-4.91275 22.6509 -23.2302
+-5.393 22.5389 -24.1259
+-5.68906 23.5321 -24.088
+-6.19553 24.3429 -24.5565
+-7.0294 24.0385 -25.0881
+-6.82001 23.5032 -24.2645
+-7.56611 22.9496 -24.6594
+-8.4883 22.877 -24.2504
+-8.59055 22.0901 -24.7802
+-8.3167 21.6662 -25.6681
+-7.68023 21.1118 -26.1844
+-7.8354 20.1774 -25.8419
+-8.42681 20.0461 -26.664
+-8.18065 19.0552 -26.6916
+-7.51311 18.5187 -26.1717
+-7.07185 19.4411 -26.1841
+-6.50884 20.2265 -25.959
+-5.84644 20.9367 -26.0056
+-5.39991 20.0602 -25.7313
+-4.89503 19.3826 -25.1075
+-4.02356 19.6633 -24.7456
+-4.51957 19.6615 -23.9052
+-4.38959 20.619 -23.8046
+-4.36685 21.2171 -24.5208
+-4.49771 20.6147 -25.367
+-4.05613 20.2195 -26.1561
+-4.26248 20.6057 -27.0956
+-3.31589 20.7395 -27.4278
+-2.41163 20.7148 -27.7637
+-1.92951 21.2675 -28.2867
+-0.922388 21.2329 -28.2031
+-0.08968983 20.8633 -27.8661
+0.579416 21.4294 -28.3143
+1.42354 21.8358 -27.9173
+2.23043 21.2793 -27.8389
+1.98013 20.284 -27.6042
+1.8996 19.3417 -27.2977
+2.36922 18.7285 -26.708
+3.17338 19.2594 -26.3534
+2.84205 18.4889 -25.8574
+2.88698 17.6027 -26.2286
+3.00777 17.4275 -25.2488
+3.63211 18.1352 -24.8896
+2.80852 18.7262 -24.7551
+2.14802 18.8269 -23.9294
+2.64452 19.5556 -23.3938
+1.99671 20.2875 -23.5477
+2.26555 19.8358 -22.6511
+2.19094 20.2373 -21.7118
+2.10536 20.9834 -21.0004
+1.90887 21.5993 -20.2119
+0.972559 21.8702 -20.3211
+0.279601 21.4791 -19.7057
+-0.705841 21.6374 -19.7776
+-0.438877 22.2127 -19.0309
+-1.2557 22.7447 -19.1901
+-1.60909 22.578 -18.2801
+-1.71428 22.3257 -17.3105
+-1.59912 23.2839 -17.1272
+-2.48515 23.4746 -17.6534
+-2.256 24.0985 -16.8998
+-3.26995 24.2466 -16.8581
+-4.06595 24.8947 -17.131
+-5.04625 25.1263 -17.3091
+-5.86078 25.068 -16.7632
+-6.41083 25.7097 -16.3225
+-6.93115 25.2073 -15.6727
+-7.09152 24.8627 -16.5868
+-7.66076 24.5221 -17.4461
+-7.98287 25.3591 -16.912
+-8.91029 25.0829 -17.1944
+-9.54724 25.2852 -17.9858
+-9.38031 24.7345 -18.7444
+-8.45275 24.6249 -18.4158
+-7.71621 24.2433 -19.058
+-6.89109 24.6139 -18.7758
+-6.06184 24.7097 -19.3217
+-5.63641 24.0331 -18.6887
+-4.87343 23.3651 -18.2794
+-4.12726 22.7446 -18.3242
+-3.87981 21.9268 -17.6624
+-3.31338 21.3461 -17.136
+-2.59596 21.7727 -16.6364
+-1.74225 21.4149 -16.3054
+-1.48782 22.223 -15.7457
+-1.9112 22.6999 -14.9424
+-1.69264 22.3421 -14.0948
+-1.52592 21.284 -14.0444
+-0.679564 20.6696 -14.1256
+-0.743139 20.4553 -15.1513
+0.228292 20.1203 -14.8937
+0.384682 21.1527 -14.9868
+1.32462 20.7329 -14.7043
+2.02934 20.1062 -14.8325
+1.22964 19.9941 -15.4352
+1.74351 19.9673 -16.2447
+1.76725 20.7604 -16.8306
+1.83915 20.4504 -17.772
+1.09727 19.9095 -17.3408
+0.178765 20.3928 -17.525
+-0.765846 20.2346 -17.8901
+-1.40564 19.5188 -17.7863
+-1.81134 18.8542 -18.4161
+-2.76669 18.9306 -18.5772
+-2.75645 18.3511 -19.3725
+-3.24746 17.841 -20.1006
+-2.86227 17.3824 -20.8545
+-2.7866 17.2876 -21.9126
+-3.70177 17.1064 -22.0908
+-4.62685 17.3987 -21.909
+-5.56296 17.7387 -22.2044
+-6.13527 17.4277 -21.4118
+-6.48379 16.6517 -20.9178
+-6.21196 15.7736 -20.5809
+-6.39129 16.5155 -19.9413
+-5.69978 17.2098 -19.6148
+-4.74718 17.4475 -19.9659
+-5.08473 17.4052 -20.8509
+-4.13209 17.7419 -21.0555
+-4.38059 18.616 -21.4297
+-4.84587 18.7286 -22.3187
+-5.81624 18.7224 -22.5462
+-6.30509 19.5408 -22.7177
+-7.09012 19.6783 -23.2878
+-7.65822 18.9128 -23.7005
+-8.19639 18.8836 -24.5589
+-8.94636 18.822 -23.9591
+-9.1262 18.1071 -24.6472
+-8.62223 17.6387 -25.2888
+-8.879 16.6541 -25.4349
+-9.84046 16.2638 -25.3929
+-10.5389 16.6681 -24.7457
+-11.3337 16.9714 -25.1467
+-11.6457 17.6255 -24.4843
+-11.2794 17.559 -23.5804
+-10.475 16.9619 -23.1827
+-10.255 17.0667 -22.2102
+-10.4036 18.0419 -22.1949
+-10.9966 17.8599 -21.4517
+-11.2797 18.8102 -21.4447
+-11.9142 19.0787 -20.7627
+-12.5144 19.5275 -21.409
+-12.2066 19.965 -22.2321
+-12.5156 20.552 -23.001
+-12.5045 21.187 -22.2053
+-12.7417 21.7502 -21.4423
+-12.8964 22.7084 -21.3866
+-13.9131 22.681 -21.8258
+-14.3758 22.2431 -21.0263
+-14.8647 23.0525 -21.0359
+-14.5584 22.8218 -20.1286
+-14.7985 22.0132 -19.6184
+-14.4688 22.6363 -18.8827
+-14.0488 23.0163 -18.0261
+-14.886 22.7135 -17.6643
+-15.4933 22.7031 -16.8333
+-16.4472 22.6861 -16.6845
+-16.9297 23.4613 -17.0486
+-17.4553 23.1975 -16.1974
+-17.4384 22.1895 -16.1858
+-17.7671 21.8853 -17.0631
+-18.1505 22.7583 -17.3282
+-19.1199 22.9503 -17.492
+-18.9713 23.4582 -18.3745
+-18.7788 24.0348 -17.5689
+-18.8353 24.8945 -17.0022
+-17.931 24.8506 -16.5234
+-18.3413 25.4879 -15.8873
+-18.9195 26.2724 -15.6417
+-19.5567 26.0758 -14.9093
+-20.2492 25.3409 -14.9651
+-20.1547 24.3467 -14.8352
+-20.3806 23.4084 -14.4959
+-21.2508 23.0048 -14.1167
+-20.608 23.3982 -13.4364
+-21.135 24.224 -12.9775
+-21.082 24.165 -11.9555
+-21.078 25.0963 -12.2913
+-20.4379 25.7596 -12.3275
+-20.8087 25.6697 -11.4048
+-21.2058 26.5472 -11.1733
+-21.3568 27.4252 -11.5125
+-21.6976 28.2583 -11.0988
+-21.2907 29.0528 -11.3912
+-21.3143 29.9547 -10.904
+-21.1055 29.2174 -10.2362
+-21.5275 29.0688 -9.38615
+-21.4881 28.3554 -8.66938
+-20.8954 27.9523 -7.94807
+-20.7617 27.8161 -7.00101
+-20.0983 28.0024 -6.21194
+-19.8757 28.2517 -7.16327
+-19.2405 28.8017 -6.59631
+-18.9174 28.1814 -5.8509
+-19.0103 27.216 -5.65812
+-18.1281 26.8665 -5.3782
+-17.8572 26.7595 -6.27854
+-17.1569 26.0102 -6.12834
+-17.4746 25.3195 -5.53645
+-17.9898 24.5048 -5.77223
+-18.6454 25.1992 -6.01774
+-19.0855 25.2177 -6.90051
+-18.682 24.3913 -7.28745
+-18.0553 24.8679 -7.95185
+-17.6638 24.8329 -8.8879
+-18.3294 25.5536 -8.91988
+-18.4088 24.8576 -9.68244
+-18.586 24.026 -10.1039
+-17.9249 23.6456 -10.7845
+-17.0516 24.0411 -11.0483
+-16.5017 23.3233 -10.6564
+-16.3561 22.41 -11.0781
+-17.0744 22.0984 -11.7084
+-18.0378 22.3456 -11.6975
+-18.6827 21.5415 -11.3946
+-18.3013 21.6857 -10.4365
+-18.5177 20.7327 -10.6681
+-18.4506 20.191 -9.87382
+-18.3471 21.0885 -9.4306
+-18.9093 21.8011 -9.16562
+-19.7787 21.7505 -9.6283
+-20.6002 21.7779 -9.23764
+-21.2625 21.3139 -9.87976
+-22.0529 21.9663 -9.95112
+-22.1166 22.6007 -9.17604
+-22.5304 23.2615 -8.56953
+-23.3 22.5608 -8.70092
+-23.8527 21.702 -8.40181
+-23.1102 21.3415 -8.91992
+-22.3285 20.7602 -8.78978
+-22.2323 19.857 -8.353
+-21.9189 18.8744 -8.26196
+-21.2515 18.1592 -8.406
+-20.9144 18.3185 -9.26767
+-20.2254 18.4852 -9.946
+-19.5078 18.9801 -10.4429
+-19.5167 18.8383 -11.4589
+-18.8223 19.5437 -11.6419
+-18.7482 19.5817 -12.6358
+-18.0227 19.8982 -13.2685
+-17.9326 19.7366 -14.218
+-18.8692 20.0523 -14.2485
+-18.6917 20.6717 -14.9964
+-19.1649 21.4311 -15.4676
+-19.2534 20.6509 -16.0826
+-19.8237 19.9375 -16.4357
+-19.1954 20.2994 -17.1942
+-20.1831 20.3139 -17.5205
+-20.9911 19.7129 -17.9003
+-20.4916 18.7791 -17.922
+-19.7263 18.3784 -18.3821
+-19.7377 19.1666 -18.9322
+-19.0996 18.4747 -19.3618
+-18.1837 18.9355 -19.2861
+-18.391 19.6242 -18.5737
+-17.5957 19.9307 -17.9814
+-16.8431 19.6886 -17.4423
+-16.8194 20.3625 -16.7043
+-16.3663 19.4509 -16.5989
+-15.4786 18.9334 -16.7035
+-15.3092 18.0174 -16.3338
+-15.7429 17.1098 -16.1361
+-16.5245 17.6533 -16.3658
+-16.8815 17.0972 -17.1226
+-17.583 16.4027 -16.8388
+-17.2917 15.4887 -16.6956
+-16.5927 16.1753 -16.368
+-16.8966 15.5209 -15.6342
+-17.6566 16.0222 -15.2716
+-17.4462 16.9166 -15.5493
+-16.473 17.0864 -15.3048
+-16.2915 17.8754 -14.7387
+-17.1547 17.5974 -14.3945
+-17.3836 18.3211 -13.8207
+-18.3659 18.255 -14.044
+-18.9548 17.5688 -14.4273
+-18.5931 16.6554 -14.6458
+-18.763 16.2806 -15.5964
+-18.2192 15.6625 -16.093
+-18.6562 16.1156 -16.7741
+-19.3915 15.6097 -17.1961
+-19.1605 14.5608 -17.1772
+-18.3917 13.8977 -17.1245
+-17.7561 13.6735 -17.8765
+-17.0842 13.5022 -17.198
+-16.5036 12.7112 -17.4272
+-15.9118 13.4112 -17.6533
+-15.1072 13.3128 -17.0732
+-14.511 12.5122 -17.1067
+-14.1634 13.0431 -17.8051
+-14.537 12.7238 -18.6061
+-13.7921 13.4773 -18.6616
+-13.327 14.2591 -19.0998
+-13.1053 13.8357 -19.9241
+-13.2167 12.9288 -20.3814
+-13.5809 12.5038 -21.0877
+-12.6369 12.4815 -21.2536
+-13.2132 11.8524 -21.6836
+-13.5629 12.3368 -22.5119
+-13.3936 12.4595 -23.5634
+-12.8153 13.3182 -23.622
+-12.6197 14.1346 -22.9946
+-12.5796 13.5425 -22.2309
+-12.6147 13.7285 -21.2203
+-11.8391 13.7961 -20.6729
+-11.098 14.4858 -20.6641
+-10.4501 15.1228 -20.2752
+-10.8671 15.6371 -19.5243
+-10.1616 16.2579 -19.1302
+-10.4056 17.1487 -18.8327
+-9.5936 17.2362 -18.1701
+-9.15413 17.6697 -18.9167
+-9.91365 18.2464 -19.0658
+-9.91894 18.2469 -20.0817
+-8.9767 17.9107 -20.2262
+-8.62208 18.6668 -19.8859
+-8.10516 19.0714 -19.1382
+-8.4135 19.9056 -18.6176
+-7.51944 20.1954 -18.2364
+-7.73067 21.129 -18.5238
+-7.89111 20.8226 -19.513
+-7.09605 21.0392 -20.053
+-6.32802 21.3295 -20.622
+-6.17189 20.4461 -21.1387
+-5.44292 20.5008 -21.7746
+-5.72821 21.3836 -21.4194
+-5.91619 22.3155 -21.1032
+-5.32545 22.0619 -20.2886
+-5.57911 21.7088 -19.4318
+-6.64238 21.7151 -19.3333
+-6.42805 22.1402 -18.5104
+-6.39052 22.6156 -17.6179
+-6.45965 22.9552 -16.6638
+-6.85692 22.6823 -15.8675
+-7.82127 22.5429 -16.0288
+-7.72525 21.934 -16.831
+-7.34732 21.2336 -16.157
+-7.34853 20.6421 -15.3204
+-8.34664 20.4928 -15.1199
+-9.18492 20.4306 -15.5828
+-9.78814 19.8163 -16.095
+-9.57579 19.9918 -17.0262
+-8.95784 20.6611 -17.5431
+-8.95119 21.5849 -17.3349
+-9.00486 21.3433 -16.4091
+-9.92302 21.5234 -16.1066
+-10.1711 22.2567 -16.7326
+-10.5909 23.0654 -16.4196
+-11.1981 22.9869 -15.7007
+-11.4304 22.3251 -14.9874
+-12.4792 22.5263 -14.9055
+-12.1108 22.0145 -14.1324
+-13.0069 21.4681 -14.0622
+-13.3425 22.036 -13.2905
+-14.1079 22.5278 -13.6366
+-15.0095 22.7575 -13.2273
+-15.3384 23.681 -13.1197
+-15.959 23.6504 -12.3366
+-15.8609 24.3801 -11.7011
+-14.8786 24.4823 -11.5535
+-14.2846 25.2791 -11.208
+-13.4996 25.9202 -11.4407
+-12.9262 26.7071 -11.5314
+-12.3071 26.8692 -10.7963
+-11.5622 27.5212 -11.0253
+-10.9882 28.2486 -11.2888
+-10.3941 27.5025 -11.6372
+-10.5639 26.7779 -12.2363
+-10.898 26.7859 -13.166
+-9.95706 26.7578 -13.5291
+-9.81758 26.0716 -14.3025
+-9.71486 25.6984 -15.2364
+-10.3761 25.055 -14.9765
+-11.3496 25.129 -14.5475
+-11.5316 24.289 -14.1536
+-12.391 24.4356 -13.6826
+-12.337 24.2292 -12.672
+-13.1242 24.8186 -12.7432
+-13.0318 25.5835 -13.2752
+-13.904 25.1778 -13.4806
+-14.897 25.2101 -13.4445
+-14.809 25.0855 -12.4429
+-15.2903 25.9466 -12.4582
+-15.053 26.8761 -12.4189
+-15.2812 27.2016 -11.4913
+-15.3351 26.2812 -11.1775
+-16.0617 25.616 -10.8492
+-16.0032 25.1854 -9.99845
+-16.1285 25.5489 -9.04365
+-15.8078 26.3847 -9.44892
+-16.1391 26.5524 -8.49049
+-16.1832 27.0683 -7.69951
+-15.4427 27.5391 -8.11986
+-14.6918 28.2627 -7.97198
+-14.2284 28.3085 -8.8646
+-13.6451 29.0907 -9.13281
+-12.9748 28.4782 -8.75857
+-12.2486 28.0951 -9.4765
+-11.5454 28.2528 -8.78302
+-10.633 28.2504 -8.45806
+-10.186 28.4538 -9.32573
+-10.2765 27.6491 -9.92267
+-9.40239 27.8343 -9.68725
+-9.40993 26.8368 -9.65988
+-8.42934 26.7872 -9.35304
+-7.58915 26.7174 -9.8157
+-8.3341 26.7774 -10.5435
+-8.01295 27.6919 -10.735
+-7.32195 28.3 -10.9202
+-6.89106 28.3345 -11.8235
+-7.00012 28.0228 -12.7399
+-6.50072 28.9055 -12.7716
+-6.38786 28.8971 -13.7371
+-5.91539 29.0708 -14.5948
+-5.34064 28.3723 -14.3382
+-4.59722 28.6356 -13.6717
+-5.11382 27.8475 -13.2373
+-4.80814 26.9477 -13.1581
+-4.04938 26.2223 -13.3405
+-3.36292 25.4816 -13.1822
+-3.58533 24.546 -12.9209
+-3.49651 23.6117 -12.8316
+-3.68158 23.511 -13.7937
+-3.736 24.4278 -14.1601
+-2.89986 24.087 -13.8382
+-1.90157 24.12 -13.6564
+-1.02048 24.6681 -13.6493
+-0.618797 25.5464 -13.5999
+0.227835 25.6452 -14.1878
+0.993462 26.2216 -14.0015
+0.982784 27.1191 -14.4854
+1.26824 28.006 -14.9575
+0.931845 28.6786 -14.334
+1.79264 29.1347 -14.3002
+2.80076 29.3221 -14.5685
+2.83231 30.206 -15.0177
+2.86297 30.7271 -14.1903
+2.42485 31.0256 -13.3156
+2.36078 31.0829 -12.3558
+1.37177 30.6735 -12.2671
+0.514087 30.0633 -12.1655
+0.546746 29.165 -12.568
+-0.08639763 28.6649 -11.9709
+-1.02798 28.3833 -11.8806
+-0.607485 27.6295 -12.3139
+0.05152617 27.5321 -13.0036
+0.771882 28.1804 -13.2704
+1.56261 28.6007 -12.8092
+1.817 27.818 -12.1854
+1.55247 27.2198 -11.4174
+0.652395 26.9853 -11.0497
+0.518275 25.9693 -10.8833
+-0.02905953 25.1009 -10.7926
+-0.449576 24.7718 -11.641
+-1.29751 24.8414 -11.2169
+-1.54881 24.0928 -11.8488
+-2.46114 24.0608 -11.6715
+-2.79427 23.1107 -11.6258
+-2.93695 22.8085 -10.6563
+-3.14385 23.638 -10.1544
+-3.76922 23.8345 -9.47365
+-3.47175 23.137 -8.86847
+-2.84627 23.8544 -8.56338
+-2.73572 23.7725 -7.61683
+-2.39551 24.7604 -7.64407
+-2.22387 25.52 -7.00309
+-2.32173 26.3907 -6.5404
+-1.61036 26.6172 -5.96735
+-2.26756 26.3504 -5.18927
+-2.78497 25.9674 -4.44158
+-3.72655 26.1852 -4.60136
+-4.07239 25.3857 -4.19268
+-4.46312 26.322 -3.964
+-4.59394 25.7484 -3.16226
+-4.38522 24.7752 -3.04061
+-5.08541 24.3265 -3.7155
+-5.0262 24.1421 -4.68081
+-5.95318 24.282 -5.01652
+-5.76498 25.26 -4.99598
+-6.72967 25.1512 -4.52696
+-7.14742 24.8176 -5.36489
+-7.59333 25.6694 -5.05452
+-8.24176 25.1675 -5.58518
+-8.35875 25.556 -6.50822
+-8.55512 24.6626 -6.81904
+-8.88901 24.4082 -5.86374
+-9.79949 24.7059 -5.72231
+-10.157 24.5206 -6.65131
+-10.7042 25.3713 -6.64679
+-9.94041 25.8535 -7.04461
+-9.33635 25.8341 -6.22062
+-9.26124 26.3752 -5.40983
+-9.43016 27.1609 -4.79076
+-8.40748 27.0483 -4.61062
+-8.44901 27.3246 -3.66324
+-7.40141 27.4138 -3.65667
+-6.86415 27.9894 -4.21675
+-6.57933 28.0353 -3.22844
+-6.86289 27.6708 -2.32014
+-6.63123 26.6647 -2.35695
+-7.50026 26.2705 -2.22904
+-6.80416 25.5621 -2.28186
+-6.8485 25.5709 -1.33995
+-7.40782 24.7808 -1.06255
+-8.42413 24.7414 -0.7557619
+-9.00158 25.5502 -0.6837289
+-9.05794 26.4305 -0.2883169
+-9.9976 26.2224 -0.1894149
+-9.9276 27.0359 0.4121051
+-10.7148 26.4639 0.6651241
+-11.4159 26.2644 1.21016
+-11.5337 25.2677 1.51979
+-12.3684 24.9942 1.01142
+-12.9266 24.1716 0.7160131
+-13.1949 23.3046 0.2486961
+-12.7128 22.3727 0.2580371
+-12.9944 21.594 -0.1386649
+-12.5942 20.7376 0.04480232
+-12.1467 21.1022 -0.7755619
+-11.6112 21.0742 -1.59928
+-12.0619 21.8298 -2.00038
+-11.3036 21.7713 -2.63458
+-10.9871 22.6595 -2.40475
+-10.0629 22.6028 -2.64965
+-9.4831 22.5397 -3.50657
+-8.60425 22.5618 -3.17175
+-7.75394 22.9604 -3.28385
+-7.67708 22.0517 -3.76677
+-6.9395 21.361 -3.81976
+-7.24653 20.5995 -3.28062
+-6.53168 20.5713 -2.56719
+-5.60198 20.8814 -2.48193
+-5.97888 20.0964 -1.99376
+-5.74671 19.9216 -1.01853
+-6.33028 19.1381 -1.41105
+-7.05727 19.8352 -1.25061
+-7.45247 20.5159 -1.87352
+-8.31444 20.0625 -1.83087
+-9.31825 20.0491 -1.91194
+-10.3203 20.0759 -1.74
+-9.867 19.429 -2.4166
+-10.4809 20.0657 -2.78223
+-11.3258 19.9226 -2.23257
+-11.6383 19.4476 -1.39513
+-12.3968 18.8033 -1.05563
+-12.2435 17.7914 -0.9772189
+-12.4967 17.35 -0.1290289
+-13.0849 16.8398 -0.7972539
+-13.9668 17.3002 -0.9750299
+-14.829 16.8964 -0.5425189
+-15.5051 16.3379 -0.9757509
+-16.0163 17.1366 -1.05127
+-16.0248 18.0935 -0.6910139
+-15.169 18.3382 -1.16318
+-14.7944 18.9713 -1.79521
+-14.701 19.9892 -2.18799
+-13.7672 20.297 -2.0093
+-13.5998 19.8725 -2.90031
+-12.8092 20.4746 -2.78521
+-13.4468 21.0603 -3.27559
+-13.2875 22.0099 -3.13464
+-13.2867 22.4821 -4.07998
+-13.1075 21.6904 -4.76617
+-12.632 21.6981 -5.67303
+-11.7608 21.9768 -6.11895
+-11.6352 22.8496 -6.45865
+-11.2403 23.7859 -6.45098
+-12.0597 23.996 -6.06343
+-11.6674 23.3905 -5.36961
+-10.734 23.1127 -5.22569
+-10.1546 23.9623 -5.03411
+-9.70812 23.2441 -4.55054
+-8.86842 23.5807 -4.07795
+-8.35516 24.4287 -4.01282
+-8.46593 24.6916 -3.05857
+-8.88929 25.2915 -2.34038
+-9.68188 24.6697 -2.26132
+-10.5765 25.1186 -2.2224
+-10.9996 26.0825 -2.28861
+-10.7139 27.0046 -2.02301
+-10.7619 27.9468 -1.67302
+-11.7349 28.0126 -1.47576
+-11.4493 28.8837 -2.08002
+-11.9556 29.2223 -2.9112
+-11.9022 28.5577 -3.6642
+-12.8697 28.5462 -3.6301
+-13.7971 28.6232 -3.92375
+-14.13 28.4966 -2.98685
+-13.3368 28.0875 -2.57327
+-13.9647 28.0662 -1.80142
+-14.2893 28.8454 -1.23268
+-14.3923 28.5564 -0.3124949
+-14.3484 27.6115 -0.2961499
+-14.4705 27.0422 0.5481081
+-14.3481 26.376 1.30187
+-14.5002 25.4276 1.11822
+-14.0699 24.7213 0.6465191
+-14.3993 24.7542 -0.2956739
+-15.0262 24.0047 -0.4039019
+-14.8595 23.4295 0.4349161
+-14.2523 23.8298 1.18446
+-15.1098 24.2484 1.11124
+-15.4309 23.9022 2.00157
+-15.9966 23.4999 1.25703
+-16.7886 22.9665 1.25572
+-17.1677 22.1289 0.8845051
+-16.4092 21.5685 1.17879
+-16.2491 20.5752 1.31363
+-15.8362 20.2401 2.11894
+-15.9536 21.0893 2.58863
+-16.8857 20.7321 2.38378
+-17.6349 20.2364 2.84403
+-17.7201 19.7541 3.84054
+-17.9795 18.8167 3.54854
+-17.4485 18.0926 3.9157
+-16.6928 18.5542 4.44577
+-16.3243 17.6367 4.78648
+-15.5163 17.3144 4.68146
+-14.7939 16.7051 4.41267
+-15.1713 16.5617 3.5159
+-14.3761 16.9463 3.04978
+-13.3997 17.0154 2.84784
+-13.1107 17.9976 2.9204
+-12.2514 17.6833 2.53412
+-12.124 16.765 2.34532
+-12.4115 16.0783 1.60561
+-12.6731 16.8234 0.9824071
+-12.3746 16.0283 0.4567341
+-11.4884 16.4839 0.4543361
+-11.1686 17.4527 0.4818031
+-10.9695 17.9587 -0.4017159
+-10.0807 18.3351 -0.5785599
+-9.59265 17.9943 0.2143811
+-8.95347 18.6159 0.6346391
+-8.7249 17.9349 1.20472
+-9.04812 17.6102 2.1561
+-9.96379 17.2137 2.01083
+-10.1869 16.2446 2.3471
+-9.1699 16.2802 2.6654
+-8.31943 15.8844 2.37684
+-7.78271 15.0215 2.57593
+-8.50082 14.8202 1.90673
+-8.78066 14.4989 0.9468371
+-8.86754 15.5442 0.9048101
+-8.30696 16.2558 0.3159841
+-8.04601 16.9612 0.9563871
+-7.69183 17.4963 1.70479
+-7.13855 18.1835 1.2749
+-7.4281 18.3633 0.3808761
+-7.00259 17.4979 0.06798982
+-6.7232 17.803 -0.8083129
+-6.19165 17.5697 -1.62483
+-6.28592 16.8958 -2.25856
+-6.67185 17.6004 -2.87322
+-7.4868 17.2876 -3.28144
+-7.51301 17.9413 -4.08848
+-8.0112 17.4127 -4.7376
+-8.74263 17.1766 -4.0921
+-9.36036 16.3988 -3.78561
+-9.70093 15.4757 -3.51676
+-9.49753 15.5486 -4.53466
+-9.19841 14.714 -4.11965
+-8.36881 15.1722 -3.77303
+-7.38705 15.258 -3.69663
+-6.94743 15.8081 -2.98187
+-5.9228 15.7434 -2.95574
+-6.12196 14.8308 -3.31287
+-6.7352 14.6883 -2.53791
+-6.15258 15.0674 -1.74672
+-5.56504 14.2638 -1.58806
+-4.90893 14.8907 -1.19285
+-4.01576 14.5625 -1.40581
+-4.13094 13.6902 -1.7212
+-4.00395 13.5656 -2.67316
+-3.63922 12.6484 -2.97125
+-3.90605 13.1123 -3.84034
+-4.33045 13.8595 -4.31179
+-3.53014 14.133 -4.79562
+-2.96688 14.1699 -3.95276
+-2.34956 13.4127 -4.21847
+-1.9445 13.2196 -5.13027
+-1.73125 13.0277 -6.09755
+-2.31753 12.1487 -6.18908
+-3.04616 11.7121 -6.70155
+-3.38088 12.4201 -7.25242
+-3.63451 12.653 -8.19642
+-4.06455 13.4223 -7.67528
+-3.67569 13.8755 -6.90435
+-4.63842 13.6236 -6.62689
+-4.16669 14.1612 -5.89694
+-4.97391 14.0091 -5.26327
+-5.75549 13.4699 -5.1642
+-5.76082 13.2638 -6.08387
+-5.25742 12.38 -6.48447
+-4.49101 11.9739 -6.03591
+-3.65751 11.8585 -5.63941
+-4.27313 12.0383 -4.87845
+-4.82404 11.1501 -5.12182
+-5.33104 11.8989 -4.71756
+-6.01499 11.1007 -4.67094
+-6.56198 11.4859 -3.97679
+-6.19297 11.0599 -3.11253
+-6.19286 11.6618 -2.31901
+-7.08648 11.8787 -1.91788
+-7.27496 10.9286 -2.14475
+-7.57549 10.6198 -1.18939
+-8.40308 10.5346 -1.69016
+-7.67286 9.90782 -2.13826
+-6.83968 9.48635 -2.63757
+-5.96889 9.64263 -2.20968
+-5.2546 9.72186 -1.46231
+-5.54801 9.44483 -0.5157079
+-4.9479 8.64131 -0.7690009
+-5.08498 7.94854 -1.40208
+-4.66366 8.66612 -1.92837
+-4.59865 9.38835 -2.55612
+-3.6967 9.10581 -2.99902
+-4.06092 9.61925 -3.7225
+-3.27418 10.3177 -3.52223
+-3.59235 11.2144 -3.83125
+-4.57677 11.1786 -3.94186
+-5.33152 10.5437 -3.80092
+-5.13124 10.2729 -2.80878
+-4.61791 10.7122 -2.10895
+-3.76775 11.2416 -2.13944
+-2.74771 11.0717 -2.06481
+-2.50457 11.7525 -2.82554
+-2.01723 11.2731 -3.55926
+-1.91899 10.4028 -3.3217
+-1.76519 9.64807 -3.96587
+-1.3535 10.3545 -4.45657
+-0.390397 10.6946 -4.17235
+-0.355152 11.1812 -4.97259
+-0.287418 12.2081 -5.27012
+0.531012 11.8584 -4.85601
+1.33026 12.2606 -5.3401
+1.29225 13.1862 -5.80974
+2.00121 13.1626 -6.49269
+2.69158 13.8873 -6.3547
+1.7968 14.4144 -6.21558
+0.863647 14.7099 -6.27182
+0.259662 15.1109 -7.03757
+0.289103 15.9579 -6.51088
+-0.415133 16.1376 -7.18242
+-0.419349 17.1618 -7.14214
+-1.10525 16.9006 -7.8289
+-1.66516 16.1055 -7.74411
+-2.0667 15.7719 -8.66119
+-2.94657 15.8772 -8.28159
+-3.21487 15.9315 -7.32682
+-3.99887 16.2272 -6.86744
+-4.52851 15.633 -6.25469
+-4.44251 15.328 -7.19392
+-4.22855 15.3672 -8.18677
+-4.62213 15.1531 -9.07548
+-3.88642 15.7396 -9.29181
+-3.25961 16.4842 -9.47357
+-3.5545 17.4455 -9.61166
+-4.01084 17.8092 -8.80678
+-4.46403 18.5802 -8.38168
+-4.85587 17.6472 -8.38634
+-5.28183 17.7818 -7.46286
+-5.60067 17.4537 -6.49386
+-4.8209 18.0863 -6.63749
+-4.98311 18.4147 -5.69404
+-5.28415 19.2468 -6.08955
+-4.5794 19.1643 -6.78392
+-4.42917 19.9329 -7.42815
+-5.06808 20.2583 -8.18302
+-4.69449 20.1681 -9.07598
+-3.96771 20.4893 -8.56137
+-3.65166 21.5439 -8.53391
+-4.30005 21.4194 -9.29377
+-3.44383 21.4643 -9.72771
+-3.02155 20.5957 -9.51807
+-2.84679 19.9663 -10.2751
+-3.26211 19.0727 -10.2317
+-3.05739 18.8914 -11.1916
+-3.88404 18.4152 -11.2376
+-4.90936 18.6182 -11.0904
+-5.53993 19.0963 -10.4939
+-6.5366 19.059 -10.6481
+-6.80076 20.0625 -10.4798
+-7.60172 19.8863 -9.79531
+-8.43092 19.9642 -9.18499
+-8.25176 20.8935 -8.87036
+-7.76198 21.2613 -8.08439
+-7.39067 22.0731 -8.51964
+-7.26226 21.7124 -9.45001
+-6.40944 21.6815 -8.96149
+-6.52191 22.5251 -9.53758
+-5.98349 23.3807 -9.50507
+-6.2184 23.7251 -8.64267
+-5.35877 23.5766 -8.09541
+-5.35856 22.9059 -7.35165
+-5.10302 22.3702 -6.56531
+-5.92263 21.8157 -6.19349
+-5.72603 22.2477 -5.33475
+-5.26709 22.302 -4.4414
+-4.2781 22.4073 -4.24303
+-4.40142 21.4096 -4.10673
+-3.87639 21.3731 -4.92357
+-3.09583 20.8076 -5.05922
+-2.32437 21.3868 -5.10054
+-1.81244 21.4566 -6.0185
+-0.852445 21.3461 -5.84917
+0.01403387 20.8616 -5.93731
+0.497137 21.2607 -6.70716
+-0.277966 21.0185 -7.26883
+0.611793 21.1124 -7.91477
+0.948975 20.3431 -8.46567
+1.22346 20.6265 -9.37459
+1.29313 21.6333 -9.23882
+1.11346 22.6149 -9.30655
+1.95525 22.5548 -9.87906
+2.01301 22.2365 -10.8663
+2.20081 22.03 -11.8715
+2.90779 21.9597 -12.6723
+2.23999 21.3174 -12.9892
+2.42604 20.3577 -12.7357
+2.01968 19.6332 -12.3708
+1.65707 19.114 -11.5947
+0.896686 18.5048 -11.4863
+0.762967 17.5382 -11.4146
+0.09350047 17.8047 -12.0922
+-0.703807 17.5226 -11.6366
+-0.973073 17.7839 -12.568
+-1.76234 17.3315 -12.7391
+-1.93242 18.1385 -13.2822
+-2.73558 17.6078 -13.0671
+-3.28527 17.9954 -13.7015
+-3.83267 17.4656 -13.2572
+-4.23554 18.1899 -13.8136
+-4.77859 17.4249 -13.5492
+-5.32182 16.5506 -13.7276
+-5.16853 16.1862 -14.6876
+-5.59383 15.2603 -14.8575
+-5.76671 14.3906 -14.681
+-5.22201 13.7431 -14.179
+-4.35949 14.2349 -13.9368
+-4.7864 14.4881 -13.0095
+-5.02533 15.2118 -12.3172
+-4.12931 14.8074 -11.946
+-3.34373 15.1545 -11.4819
+-3.55309 14.73 -10.6098
+-2.60193 15.1252 -10.5447
+-2.32246 15.322 -9.5903
+-1.52283 15.8618 -9.94665
+-1.13589 16.3217 -10.7674
+-1.59582 17.233 -10.9072
+-2.48615 16.7119 -10.8572
+-3.26441 17.394 -11.0433
+-3.33528 17.0033 -11.9705
+-3.16339 16.3741 -12.7507
+-2.73962 15.6785 -12.1446
+-2.37969 14.7789 -12.5835
+-2.26775 14.0894 -11.8401
+-2.97231 14.2536 -11.169
+-3.08335 13.3875 -11.4325
+-4.06753 13.4923 -11.7207
+-4.19157 12.7017 -12.2927
+-4.08828 11.7107 -12.6622
+-3.3268 11.2279 -12.2299
+-3.86211 10.3457 -12.0529
+-3.27857 10.2264 -11.2526
+-3.14626 9.99729 -10.277
+-3.46659 9.14845 -10.8192
+-4.4038 9.53905 -10.6231
+-4.33956 9.50306 -9.58421
+-5.28329 9.73236 -9.19061
+-5.84372 10.3504 -8.61994
+-5.34746 11.2356 -8.8756
+-4.7227 11.5892 -9.62785
+-3.76336 11.3415 -9.75719
+-4.06817 12.1895 -10.1867
+-3.20752 12.2387 -10.6294
+-2.41706 12.3025 -11.2187
+-2.34656 11.3253 -10.9052
+-1.84434 10.8353 -10.0826
+-1.11819 11.4849 -10.1743
+-0.76599 12.422 -10.5402
+-0.551324 13.4151 -10.4299
+-1.25956 13.2745 -9.75641
+-1.933 12.5318 -9.83292
+-2.02667 12.0519 -8.94831
+-2.43133 11.5517 -8.12499
+-1.94149 11.6148 -7.23882
+-1.21497 11.1301 -7.79861
+-0.615793 11.7121 -8.34671
+-0.08581463 10.8716 -8.45062
+0.567703 10.1438 -8.40204
+0.762083 9.7094 -9.26543
+0.46003 9.5404 -10.2618
+-0.377936 9.27577 -10.6489
+-0.496771 8.87046 -9.80765
+-0.906243 8.16166 -9.26814
+-1.78581 7.91451 -9.62325
+-1.67609 8.07027 -10.544
+-2.06931 7.17125 -10.8292
+-2.99579 7.17955 -11.1908
+-3.88988 7.46934 -11.5089
+-4.61256 6.95759 -11.1734
+-4.67273 6.04005 -11.345
+-3.69902 6.11349 -11.0277
+-3.32484 5.93219 -10.1475
+-3.24871 5.50527 -9.18841
+-3.3437 4.65139 -8.57026
+-3.57046 5.00437 -7.63426
+-4.17362 5.7842 -7.83702
+-4.61494 4.83575 -7.92231
+-4.71294 4.9682 -6.95481
+-4.80155 5.2848 -5.96035
+-5.59108 5.86767 -5.61954
+-5.68297 6.74112 -5.28063
+-4.70028 6.7435 -5.64149
+-4.58893 7.35633 -6.46836
+-4.5073 7.94525 -7.23491
+-5.18837 8.6192 -6.96901
+-5.48383 7.70912 -7.50708
+-5.43538 6.69158 -7.41726
+-6.06478 6.64859 -6.69581
+-6.58671 7.44297 -6.61669
+-7.02309 8.25184 -7.06953
+-7.56143 9.06633 -6.80492
+-7.44444 9.02759 -7.82064
+-7.12863 8.7977 -8.73415
+-6.27837 8.30008 -8.95541
+-6.56364 7.69307 -8.21319
+-6.88015 7.39894 -9.1607
+-6.01058 7.0083 -9.44681
+-5.12674 6.74993 -9.16801
+-4.93409 7.05933 -10.0641
+-4.33663 7.83822 -10.2151
+-4.54725 7.53602 -9.29842
+-4.12896 7.08277 -8.52776
+-3.56849 6.6009 -7.74393
+-2.63792 6.11892 -7.8781
+-2.95627 5.90923 -6.93389
+-3.37386 5.00946 -6.60434
+-2.83803 4.27737 -6.10877
+-2.32326 3.5119 -6.39674
+-1.54856 3.52375 -6.96717
+-1.43064 3.96997 -7.86722
+-1.12725 3.09882 -8.26499
+-0.252824 2.656 -8.31311
+-0.663174 1.87559 -8.87059
+-1.60028 1.55443 -9.01272
+-2.396 1.35454 -9.64133
+-3.36983 1.57123 -9.70477
+-3.43018 1.13041 -8.76877
+-3.68363 1.10105 -7.81803
+-2.63607 0.9607329 -7.76946
+-1.75374 1.16921 -7.32227
+-1.49169 1.99444 -6.81276
+-1.39008 2.22432 -5.86815
+-2.01341 2.3387 -5.12064
+-2.24158 3.32375 -5.15132
+-1.49862 3.66353 -4.4822
+-0.864174 4.20874 -4.88409
+0.170589 4.14368 -4.97997
+0.953858 3.70259 -5.37518
+1.10106 4.51766 -5.87344
+1.1186 4.43987 -6.86728
+0.138193 4.70997 -6.86253
+-0.26306 3.8155 -7.21113
+0.07826977 3.96414 -8.1794
+-0.310053 4.88113 -8.54882
+0.575658 5.12903 -8.10954
+-0.05582573 5.65266 -7.59286
+-0.807636 6.06042 -7.24303
+-0.769283 6.36135 -8.18495
+-1.70359 6.30886 -8.65551
+-1.4149 7.19253 -8.25863
+-1.83125 8.05613 -7.88887
+-2.627 7.55898 -7.86139
+-3.18049 8.13962 -7.19263
+-3.82262 8.57185 -7.7934
+-3.24336 9.30747 -8.07919
+-2.32235 9.31646 -7.67268
+-2.40194 10.1918 -7.21213
+-2.22063 9.66392 -6.37196
+-1.45458 9.82944 -5.79745
+-0.519792 9.55642 -5.97219
+-0.05265373 8.85499 -6.43673
+0.08805297 7.91542 -6.03734
+-0.279133 7.13915 -6.54593
+0.522977 6.89158 -7.04247
+-0.009465155 7.45581 -7.70637
+0.140243 8.42911 -7.80688
+0.421607 8.83755 -8.69437
+1.13504 8.32393 -9.23863
+1.62792 9.13673 -9.66148
+2.26688 9.01052 -10.3716
+2.22123 9.97457 -10.2987
+1.52217 10.0099 -11.0302
+1.72557 10.9619 -11.3765
+1.82378 11.9245 -11.6844
+2.43868 12.6925 -11.2117
+3.34129 12.9784 -11.5234
+4.23704 13.2159 -10.9528
+4.80981 13.9278 -11.3958
+3.99378 14.3923 -11.0661
+3.29938 15.0486 -11.0586
+2.99814 15.2719 -10.1287
+3.37493 14.3676 -10.2233
+2.41158 14.2161 -9.91831
+2.36832 13.1892 -9.97264
+3.08774 13.4266 -9.31097
+3.61467 13.4807 -8.5132
+4.29333 13.6819 -9.12013
+5.22941 13.4419 -8.88934
+6.04312 14.024 -8.79124
+5.88228 14.3001 -9.76345
+6.89714 14.2304 -9.77705
+7.82777 14.2491 -9.3355
+8.15897 13.8023 -8.5357
+8.7193 14.4609 -8.04217
+7.93048 14.2436 -7.4424
+7.70804 13.4576 -6.98306
+6.78399 13.8244 -6.99249
+6.68794 14.4095 -6.21875
+5.9108 14.0147 -5.6566
+5.29016 14.4693 -6.39695
+4.98535 15.3956 -6.09166
+3.99824 15.2618 -6.38544
+4.16865 14.4398 -6.90525
+4.65507 14.7473 -7.72635
+4.79909 14.5031 -8.65832
+4.05581 14.7475 -9.25043
+3.09557 14.8895 -9.18646
+2.6021 15.2407 -8.38582
+2.9499 16.0791 -8.09489
+1.94716 15.9257 -7.77001
+2.44189 16.236 -6.97526
+2.89453 16.9621 -6.42342
+3.86088 17.1923 -6.7631
+4.16847 16.5527 -7.4516
+4.21119 16.211 -8.41952
+4.754 15.9436 -9.24413
+5.40764 15.5914 -8.57207
+6.27718 15.812 -8.96455
+6.95504 15.6928 -8.14494
+6.81919 15.6544 -7.12368
+6.7532 15.8392 -6.0939
+6.73759 16.8429 -5.88013
+6.44865 17.7603 -5.6252
+6.50422 17.2459 -4.80082
+6.08628 17.6762 -3.95245
+6.16534 16.9648 -3.31089
+5.36519 16.7929 -3.9663
+5.64957 15.947 -4.30342
+4.98074 15.5782 -4.96766
+3.96556 15.7417 -5.04029
+3.0203 15.7345 -5.34455
+2.24568 16.328 -5.33307
+1.33373 16.3362 -4.99447
+0.89807 15.9694 -4.20497
+0.871094 16.4777 -3.32951
+1.68744 17.0772 -3.43147
+0.891682 17.4931 -2.94578
+1.41952 18.1041 -2.24829
+1.85624 19.001 -2.35287
+2.19853 19.7552 -2.86864
+2.96189 20.4068 -2.53603
+3.89199 20.2634 -2.19075
+4.75771 20.1875 -2.47302
+4.27176 19.5536 -2.99405
+4.25385 20.4898 -3.38377
+4.15021 21.3938 -3.12109
+4.01892 22.3334 -3.35751
+3.24947 22.765 -2.89011
+2.52136 23.3772 -2.74757
+1.91848 23.8057 -2.15674
+1.65984 24.7739 -1.9307
+1.5365 25.0221 -0.9925239
+0.928666 25.5763 -1.55277
+0.451051 25.4977 -2.37548
+0.311332 26.11 -3.13363
+0.817934 25.5204 -3.75542
+0.09596857 24.8243 -3.76455
+-0.80987 24.6976 -3.49872
+-1.53429 25.4104 -3.13797
+-1.66816 25.3927 -4.12101
+-1.71159 24.8407 -4.93091
+-2.60132 24.3786 -4.9334
+-2.65342 23.3652 -4.93271
+-2.55971 23.0874 -3.93072
+-3.33572 22.4302 -3.67131
+-3.78692 22.8343 -2.87941
+-3.32065 23.0216 -2.04122
+-4.06244 23.5135 -1.55054
+-4.71269 23.3491 -2.29393
+-5.33318 22.6329 -2.25105
+-6.13258 22.5135 -1.59834
+-6.55059 21.5951 -1.55957
+-5.86997 21.1266 -0.9495489
+-4.91375 20.782 -1.07176
+-4.00883 21.0334 -0.9495269
+-3.71371 21.3602 -0.06397288
+-2.73975 21.6107 -0.1083809
+-2.26901 21.5179 0.7389031
+-1.62452 22.327 0.5147371
+-0.644586 22.503 0.7338311
+-0.720315 22.8806 1.63099
+-1.27837 22.666 2.38874
+-0.947893 22.3732 3.3303
+-0.697055 23.0109 4.05814
+-0.605812 22.1244 4.39344
+0.356578 22.0425 4.16815
+1.04668 21.8862 3.40027
+0.482136 22.2123 2.63641
+1.23547 22.95 2.47784
+1.28895 23.611 1.87263
+1.39146 23.0539 0.9915601
+2.34305 22.8046 0.8898661
+1.95098 22.5325 0.04237262
+2.36858 22.251 -0.7958209
+2.99912 22.484 0.03237322
+3.60146 21.6943 -0.01843678
+4.31093 21.5279 -0.7453979
+4.25768 21.599 -1.7834
+5.12928 21.5453 -2.36451
+5.60279 21.3112 -1.56921
+5.0394 20.6507 -1.08717
+5.31661 21.1948 -0.2830129
+5.73001 21.3217 0.5445531
+6.28771 20.698 -0.01795448
+6.69657 21.5994 0.08092132
+6.75972 22.335 -0.5728179
+7.62222 22.7907 -0.4807259
+7.72198 23.7646 -0.1220869
+8.57373 23.6703 -0.5601029
+8.65323 24.7176 -0.6790479
+8.22686 25.5574 -1.04391
+7.82044 25.4468 -1.96443
+6.98723 25.2044 -1.44203
+7.30708 24.2601 -1.5793
+6.74555 23.5474 -2.03873
+6.59245 22.776 -2.65391
+5.66871 23.0345 -2.40373
+5.75075 23.9883 -2.84634
+6.03581 24.7762 -3.34242
+5.45337 24.607 -4.07229
+4.65288 23.9385 -4.25361
+3.75862 24.2485 -3.81106
+4.23009 25.051 -3.67422
+3.18996 25.0749 -3.60349
+3.39988 25.0332 -4.60507
+3.08322 24.1764 -5.01847
+2.15461 23.6949 -5.18586
+1.63877 23.8361 -6.00564
+0.664562 23.9139 -6.20473
+0.300593 23.4875 -7.01266
+-0.008696485 23.549 -7.96458
+-0.904116 23.1508 -7.86543
+-1.08318 22.6584 -6.97
+-0.787271 23.4821 -6.45793
+-0.802445 24.1392 -5.6749
+-0.30261 23.2926 -5.58439
+-0.641 22.9674 -4.61756
+0.07425147 23.1853 -3.88123
+0.25969 22.5073 -3.17052
+1.0585 22.1747 -3.76606
+1.31697 21.3092 -4.17933
+1.09366 20.3728 -4.56187
+2.04643 20.2179 -4.8628
+2.73057 19.6766 -5.27433
+2.82161 20.111 -6.20509
+3.6744 20.6233 -6.33793
+4.59344 20.6521 -6.01239
+5.54979 20.6811 -5.63083
+5.44818 20.1594 -4.79598
+4.66069 19.5664 -4.49942
+5.42603 18.9343 -4.83078
+6.38154 18.9486 -4.55479
+6.98249 18.4744 -3.84591
+7.95519 18.4287 -4.27892
+8.06795 19.3691 -4.19938
+7.7281 20.4004 -4.22761
+7.6335 21.341 -3.86768
+8.15394 22.1852 -4.20289
+7.70982 22.5248 -3.36263
+7.08488 22.6071 -4.21995
+6.55296 22.5494 -5.04952
+6.90602 22.0823 -5.86418
+6.82246 21.5876 -6.70959
+6.22109 20.8449 -6.73509
+6.79685 20.3417 -7.42453
+7.04992 19.4936 -6.96712
+7.15543 18.9042 -7.71533
+7.10361 18.7744 -8.72467
+6.22663 18.8922 -8.89419
+5.63404 19.4509 -8.33606
+5.60006 19.1654 -7.37726
+5.82561 18.2976 -6.91511
+6.64128 18.1387 -7.26594
+7.23167 17.3547 -7.11917
+7.78584 18.2244 -6.88069
+8.05382 17.5454 -6.30484
+8.26224 16.9596 -5.49146
+9.17239 17.0068 -4.96628
+9.95969 17.4072 -5.52512
+9.51318 18.0068 -4.77723
+10.3776 18.1853 -4.24964
+10.7905 19.1302 -4.38073
+11.2257 18.97 -3.46535
+10.2493 19.0913 -3.14504
+10.1524 20.0721 -2.96897
+9.39393 20.6662 -3.24734
+9.18158 21.1289 -2.31892
+10.1583 21.0961 -2.63321
+10.0288 21.287 -3.61231
+10.5323 22.1895 -3.53424
+9.72301 22.7089 -4.05475
+9.86747 21.9601 -4.67272
+10.3231 22.3901 -5.42428
+10.969 22.4517 -4.6546
+11.3645 21.8438 -4.02961
+12.1059 21.2371 -3.72295
+11.4823 20.9506 -4.47199
+11.6442 19.9258 -4.52042
+12.4713 19.635 -4.93355
+12.5895 19.9171 -5.80058
+11.8008 20.4773 -6.26592
+12.4308 20.2484 -6.99848
+11.9672 19.4016 -7.31364
+11.0057 19.2841 -7.72015
+11.1125 20.1129 -7.21388
+10.3894 19.8657 -6.51313
+9.5495 19.7367 -5.88387
+8.83673 19.4193 -5.22937
+8.84571 18.6346 -5.79685
+9.53661 18.5104 -6.43132
+9.78958 17.6108 -6.7335
+9.22222 17.9028 -7.55343
+9.79739 18.5709 -7.82612
+9.14663 19.3461 -7.65097
+9.50116 19.3242 -8.57275
+9.74094 20.2387 -8.71903
+9.15733 20.07 -9.529
+8.81512 19.4078 -10.1831
+8.37698 20.2684 -10.5026
+7.50149 20.5659 -10.9621
+7.73297 21.4701 -10.6515
+8.73793 21.7238 -10.7756
+9.51183 21.4953 -11.4931
+10.039 21.3112 -12.3512
+10.5709 21.2696 -13.2367
+11.5323 21.5543 -13.0648
+12.0694 22.3749 -12.8504
+12.5654 22.9607 -13.3807
+12.5943 23.6588 -14.1531
+12.9731 24.4455 -13.7208
+13.0794 25.4026 -13.8335
+13.7262 24.7729 -14.1565
+14.4711 24.3604 -14.6772
+15.2773 24.8913 -14.389
+14.8801 25.776 -14.7246
+15.3579 25.6069 -13.8379
+14.893 26.4603 -13.591
+13.9885 26.7006 -13.7326
+13.1671 27.1743 -13.8143
+12.1527 27.4983 -13.6783
+11.7594 28.1144 -12.9226
+11.7258 28.1383 -11.9316
+11.2597 27.8918 -11.0731
+10.9184 26.9757 -10.8902
+10.2936 27.5847 -11.2534
+9.78742 28.4354 -11.1872
+8.90065 28.8363 -10.8469
+7.95773 28.8008 -11.0309
+7.04889 29.0056 -10.8386
+6.04189 29.119 -11.0732
+6.21346 28.9231 -10.1246
+5.36977 28.3997 -10.0963
+5.9134 27.7239 -9.45844
+6.24381 28.2148 -8.767
+6.2609 28.0534 -7.75515
+5.68823 27.2541 -7.41854
+6.05103 26.8505 -6.57768
+6.51394 26.246 -5.86202
+6.62579 26.2984 -4.86149
+6.44976 27.2313 -4.4768
+6.75455 26.8005 -3.58975
+7.62028 26.4737 -3.52962
+8.56566 26.8827 -3.30285
+9.15274 26.8449 -4.17842
+8.66785 26.6798 -4.99836
+8.6646 25.9133 -4.42525
+7.6933 25.6379 -4.51931
+7.10942 24.8259 -4.87687
+6.38374 25.1659 -5.48653
+5.44338 24.9032 -5.43721
+5.55274 24.1526 -6.06719
+4.5932 24.5438 -6.30728
+3.74502 24.299 -6.72317
+4.18528 23.6963 -7.4653
+3.18484 23.5847 -7.48633
+3.24113 23.5693 -8.51857
+3.74751 24.2439 -9.02382
+4.8221 24.4431 -9.02092
+5.72776 24.8031 -8.73517
+5.70997 23.9461 -8.1799
+6.25984 24.388 -7.54069
+7.25215 24.1664 -7.37609
+6.99936 24.4758 -6.48472
+7.49826 23.7025 -6.05041
+8.41371 23.4077 -6.11004
+8.56539 22.6504 -5.55306
+8.00845 22.6018 -6.39794
+8.13534 23.1401 -7.16981
+8.89838 22.9871 -7.72494
+9.76832 22.9648 -8.25886
+10.4804 22.3968 -8.57274
+10.747 21.97 -9.42515
+10.7812 21.0167 -9.16509
+11.7203 20.8412 -9.23951
+12.4147 20.8803 -8.47215
+13.0625 21.4962 -8.05737
+13.6324 21.0065 -7.50408
+13.606 21.3647 -6.59838
+14.5719 21.0392 -6.63791
+15.3656 21.369 -7.24816
+16.0332 21.0667 -7.96801
+16.9461 21.0976 -8.20847
+17.7365 21.3174 -7.57975
+18.1781 21.1147 -8.53519
+18.5384 21.9897 -8.23926
+19.0852 21.8362 -9.022
+19.5645 22.0244 -9.87793
+20.0836 21.9293 -8.97643
+20.6478 21.806 -8.10983
+19.7174 21.514 -8.01464
+20.1371 21.2197 -7.13258
+19.4277 21.65 -6.59195
+18.6786 22.2733 -6.86489
+19.4305 23.018 -6.74225
+19.5306 23.5383 -5.83284
+18.6941 23.91 -5.32029
+18.1162 23.6695 -4.51359
+17.226 23.6483 -4.12138
+16.6246 23.9018 -4.92698
+16.4273 23.1365 -5.59114
+15.7917 23.7448 -6.06509
+15.2111 23.8068 -6.96437
+14.4749 23.2063 -6.48662
+14.5091 22.3279 -5.94994
+14.707 22.2552 -4.98425
+13.9344 21.9343 -4.50629
+14.4434 21.9004 -3.66605
+14.7103 21.0079 -4.03554
+15.283 20.2709 -3.66223
+14.6726 19.8007 -4.35546
+14.7275 19.8514 -5.31422
+13.7544 20.0303 -5.39702
+13.5081 19.8712 -6.33619
+13.3784 18.9153 -6.48659
+14.3327 18.99 -6.15063
+14.2679 19.1823 -7.16268
+13.4154 18.8974 -7.62108
+13.5387 18.1801 -8.28074
+13.3642 18.1504 -9.33908
+13.0971 17.5282 -10.0487
+12.2743 17.9105 -9.62359
+12.1932 17.2835 -8.84954
+11.9435 16.7172 -9.61688
+10.9979 16.4325 -9.50091
+10.0969 16.3463 -9.24521
+10.0151 15.9995 -10.1602
+10.4862 16.1738 -10.9545
+11.1468 15.4716 -10.6682
+11.3384 15.6605 -11.596
+12.0216 15.9106 -12.3559
+11.6988 16.7174 -11.8087
+12.1753 17.1135 -12.6534
+13.1759 16.9347 -12.5719
+13.6768 17.6277 -13.1898
+13.5688 17.2374 -14.057
+13.637 16.3208 -13.5486
+14.508 15.771 -13.2964
+14.8162 16.7044 -13.2046
+15.3524 17.2366 -12.551
+16.1803 17.6986 -12.6491
+17.0804 17.559 -13.0259
+17.2421 18.4326 -12.5335
+16.9948 18.9655 -11.7039
+16.3916 19.6687 -12.0315
+15.3959 19.6546 -11.6364
+14.3957 19.5743 -11.8479
+14.0831 20.4102 -12.3242
+13.0969 20.4895 -12.0045
+12.1831 20.0998 -12.1008
+12.0453 19.7116 -13.0391
+11.2325 20.2733 -13.0222
+10.2796 20.1078 -13.03
+10.0019 19.2006 -12.9489
+9.4024 19.3441 -12.1758
+10.1278 20.0082 -11.7542
+10.6698 19.8055 -10.9548
+11.3695 20.5161 -11.0709
+11.2881 21.4661 -11.4671
+10.5734 22.064 -11.2637
+10.5118 22.6833 -12.0703
+11.0323 23.543 -12.2069
+12.0194 23.9624 -12.328
+12.6516 24.5165 -11.7947
+13.1673 24.9652 -12.5182
+13.6395 24.141 -12.9377
+13.8473 23.2159 -12.6424
+14.606 23.406 -11.9968
+14.4926 24.3849 -11.6155
+14.3696 24.2664 -10.5972
+14.9827 23.4575 -10.5723
+15.8421 23.8515 -10.1579
+16.0073 22.8622 -10.1969
+16.3543 23.0504 -9.21741
+15.6617 23.3004 -8.55712
+15.1052 22.5601 -8.18463
+14.1724 22.5074 -8.56885
+14.2476 23.2957 -7.95459
+13.545 22.9425 -7.26034
+13.1453 23.4093 -6.48258
+13.2265 24.2409 -5.9314
+12.9033 24.8866 -5.26458
+13.5713 25.678 -5.24617
+14.5622 25.478 -5.23281
+14.7339 26.3458 -5.75123
+15.0871 26.5076 -6.70902
+16.0265 26.9003 -6.51219
+16.2431 26.0061 -6.25223
+16.721 26.717 -5.7955
+16.2939 26.313 -4.98231
+15.777 25.5586 -5.17912
+16.5662 24.9629 -5.37832
+17.57 24.9104 -5.5255
+18.2732 25.4955 -5.36408
+18.7257 26.2769 -5.89328
+18.1818 25.7294 -6.59827
+17.2892 26.2185 -6.75492
+16.7967 25.8381 -7.62388
+15.8253 25.8911 -7.39111
+15.0819 25.5405 -7.91782
+14.0736 25.6651 -7.80452
+14.3604 25.9781 -8.6561
+14.7018 25.6084 -9.58421
+14.0448 26.2744 -9.82791
+14.166 27.2723 -9.50991
+13.9557 28.245 -9.74165
+14.728 28.2199 -9.21169
+15.3289 28.2781 -10.0005
+15.9207 28.3904 -9.21882
+16.1906 29.0338 -8.48827
+16.751 28.4172 -7.95621
+16.2207 27.8831 -7.27445
+15.6513 28.3137 -6.53183
+15.5735 28.2666 -5.53042
+14.5908 28.2629 -5.60871
+13.7295 27.7991 -5.43938
+13.5694 28.7832 -5.60953
+13.8662 29.3116 -6.42651
+13.1821 29.4804 -7.19373
+12.5866 28.7276 -7.33631
+12.2656 27.7672 -7.18982
+11.4346 27.8821 -7.7284
+10.6266 27.3564 -7.37696
+11.3975 26.9146 -6.94486
+10.6885 26.3198 -7.17706
+10.5375 25.3607 -7.13979
+11.2532 25.6128 -7.83456
+10.2991 25.8997 -7.99193
+9.63582 26.6916 -7.80735
+9.01637 26.1347 -8.46866
+9.37671 25.4781 -9.14923
+9.8218 24.9525 -9.95094
+9.98969 25.918 -9.8552
+9.59725 25.8919 -10.7469
+9.11889 25.3989 -11.5072
+9.46699 24.57 -11.1197
+8.59478 24.0536 -10.9347
+8.25374 23.4349 -10.2701
+8.86608 23.7577 -9.48156
+9.013 24.1864 -8.60571
+8.48142 24.7874 -9.06821
+7.93175 24.7349 -8.25639
+7.13712 25.1487 -8.69492
+7.71438 25.7957 -9.17682
+7.32037 26.6791 -8.91042
+7.94653 27.2679 -8.46207
+8.87209 27.5539 -8.36606
+8.32694 28.2443 -7.83743
+8.15194 29.0435 -7.26842
+7.61838 28.5076 -6.61877
+7.48234 29.5162 -6.61383
+6.87221 29.8948 -5.88558
+6.15401 30.0804 -5.28336
+6.74088 29.4167 -4.74588
+5.77468 29.038 -4.59699
+5.21934 28.396 -3.93992
+5.08715 27.429 -4.24579
+4.86779 26.8163 -3.45672
+5.18055 26.2694 -4.23326
+4.30604 25.9029 -4.60901
+3.91467 26.803 -4.62717
+3.7318 27.0407 -5.62902
+3.1981 27.4953 -6.2832
+3.25582 27.1334 -7.25892
+3.97146 26.3796 -7.18424
+3.40154 25.6987 -6.80528
+2.42562 25.9043 -6.67165
+1.48112 25.6243 -6.79568
+1.36324 26.1226 -5.92393
+0.411239 26.1577 -6.33569
+0.394317 26.1069 -7.33472
+0.822625 26.1115 -8.18701
+-0.09859133 26.2563 -8.60635
+0.243481 25.5779 -9.22187
+-0.161013 24.7561 -9.02621
+0.384021 24.3588 -9.75857
+1.20783 24.0351 -9.25555
+1.32482 23.6395 -8.36517
+1.65722 24.4501 -8.01169
+2.32103 24.5351 -8.75534
+2.82155 25.1907 -9.34462
+3.67746 25.0886 -9.82397
+3.78998 25.9566 -9.30734
+3.16196 26.4416 -9.9292
+2.4277 26.8738 -10.31
+3.14009 27.5141 -10.35
+2.97418 27.6013 -11.2589
+2.82817 27.3174 -12.1978
+3.10174 26.3602 -11.8874
+4.05891 26.6418 -11.7222
+4.99718 26.6885 -11.3701
+4.72421 27.0337 -10.507
+4.00654 27.6431 -10.8737
+4.04614 28.5915 -10.5848
+3.60539 28.9501 -11.4479
+2.84956 29.5449 -11.1673
+3.53106 30.1741 -11.45
+3.84169 30.4477 -10.5768
+4.09051 29.8684 -9.7087
+4.53718 29.3767 -8.99031
+4.40157 29.4733 -7.97785
+4.16876 30.4267 -8.03256
+5.07346 30.8829 -8.10258
+5.21195 30.9422 -7.10271
+4.56212 31.7133 -7.10815
+5.44413 31.8855 -6.64243
+5.77791 32.7257 -6.8361
+5.75212 33.4131 -6.08342
+6.18387 34.2823 -6.28149
+6.06789 35.2031 -5.83171
+5.56354 35.9154 -5.32974
+5.74727 35.9389 -4.38795
+5.78499 36.2546 -3.43191
+6.28111 36.4023 -2.60965
+7.0699 35.8113 -2.47836
+6.4694 34.9664 -2.70033
+6.997 34.4109 -2.05829
+6.03462 34.0154 -2.11893
+5.36945 34.4736 -2.81166
+4.90076 33.7402 -2.39679
+4.88937 32.7938 -2.01421
+4.04709 32.2986 -1.58988
+3.99244 31.9571 -2.52856
+3.18357 32.2247 -2.99085
+2.24532 32.7152 -2.84897
+1.25491 32.5811 -3.0498
+0.793518 33.4665 -3.05057
+0.03558027 32.8175 -2.73247
+-0.837785 32.349 -2.38845
+-1.4373 32.7327 -1.78645
+-2.03614 31.9171 -1.55322
+-2.64205 31.7399 -0.7156659
+-2.36406 32.559 -0.3595359
+-2.89143 33.0653 -0.9856779
+-3.49647 33.6956 -1.43307
+-4.00635 33.3102 -2.20197
+-4.79921 32.6951 -2.15696
+-4.26601 31.757 -2.15662
+-3.44145 31.1484 -2.36106
+-4.04371 30.4539 -2.69241
+-4.98946 30.2386 -2.38614
+-4.66825 30.6799 -1.58221
+-3.88421 31.072 -1.00006
+-3.73429 32.042 -0.6553929
+-3.55747 31.6976 0.2217321
+-3.07338 31.3927 1.01787
+-2.65202 31.1353 1.92554
+-3.29957 30.8531 2.61722
+-4.11254 30.3284 2.30378
+-4.11964 29.5557 2.9238
+-4.94517 28.9952 3.19731
+-5.24214 28.707 2.25672
+-6.14416 28.6769 2.40584
+-6.53914 29.3688 3.00292
+-7.43784 29.3054 2.56336
+-8.24169 28.6526 2.59794
+-8.88821 29.1778 1.97046
+-8.42479 30.0898 1.91363
+-9.19729 30.3555 1.42448
+-10.0964 30.4538 1.03751
+-10.702 29.838 1.51218
+-11.5917 29.5718 2.00446
+-12.3678 28.976 2.08915
+-13.128 29.5293 1.92096
+-13.4164 29.415 0.9413711
+-14.3768 29.7233 0.9179961
+-15.0251 30.4365 0.7104011
+-15.4782 31.2714 0.3161891
+-15.0088 32.0131 0.6320801
+-14.7495 31.9926 -0.3134299
+-13.7501 31.9685 -0.5969969
+-13.1513 31.3128 -0.9320179
+-12.4397 30.6947 -0.4256129
+-12.0249 30.6958 -1.40449
+-11.8647 31.4803 -1.94959
+-10.9002 31.478 -1.72169
+-10.373 31.5295 -0.9139339
+-9.7965 32.0939 -1.54774
+-8.75692 31.9585 -1.19774
+-7.77427 32.3404 -1.22765
+-7.87702 33.1625 -1.84391
+-7.16611 33.7385 -1.77668
+-7.55527 34.6425 -1.7363
+-6.76853 35.1712 -1.28314
+-5.94382 35.3885 -0.8633469
+-6.33886 35.5142 0.08145962
+-7.02974 34.8142 -0.1394109
+-7.60879 35.4437 0.3690931
+-7.90159 36.3626 0.5828591
+-8.00082 36.2182 1.60105
+-8.9555 36.3684 1.83033
+-8.65038 35.4533 2.12037
+-8.65281 35.2336 1.09613
+-9.05811 34.3651 1.27529
+-9.38013 34.7124 0.4015691
+-10.1681 34.6614 -0.03629528
+-11.1581 34.6728 0.2770401
+-10.5232 35.3808 0.4492561
+-10.5128 35.8002 -0.4176029
+-11.5195 36.0247 -0.3566409
+-11.7164 35.6577 -1.28217
+-12.2895 35.2112 -1.93386
+-12.1598 34.969 -2.84266
+-12.7899 35.2519 -3.57748
+-13.6664 35.7889 -3.52062
+-14.5986 35.6237 -3.62834
+-14.549 36.4889 -4.08186
+-13.5811 36.7464 -4.15018
+-13.3111 36.4101 -5.08034
+-13.8498 36.1271 -5.89633
+-13.2452 36.8637 -6.23324
+-12.3628 37.1122 -6.13566
+-11.5113 36.5219 -6.33313
+-10.7025 36.0134 -6.02406
+-9.79561 36.0085 -6.27028
+-9.26793 35.1676 -6.62764
+-10.075 34.7026 -6.50401
+-9.94211 33.8696 -5.93646
+-9.39054 33.0792 -5.85284
+-8.72588 32.4357 -5.61659
+-9.24534 32.1388 -4.75888
+-9.6295 31.4265 -5.3126
+-10.483 31.2822 -5.8151
+-9.93805 30.6359 -6.44165
+-10.1612 29.9241 -5.80772
+-9.59946 29.3771 -5.29024
+-8.76407 29.6499 -5.66905
+-9.07322 28.9045 -6.23688
+-8.2435 28.3569 -6.68556
+-7.34344 28.1158 -6.45939
+-7.6192 27.7867 -5.5644
+-6.72882 27.8812 -5.43861
+-6.6068 26.9726 -5.2444
+-5.77749 27.3196 -4.87182
+-5.62143 26.6083 -5.51526
+-4.91028 26.2641 -6.11898
+-5.27422 26.5982 -7.00966
+-5.12325 26.6151 -8.00203
+-4.19758 26.7887 -7.66085
+-3.34978 26.4552 -8.14885
+-2.92657 27.1567 -7.55578
+-2.93921 27.3615 -8.53039
+-2.18222 26.8012 -8.79302
+-1.36673 27.0627 -8.29153
+-1.99763 27.6738 -7.87468
+-1.30842 27.9974 -8.58431
+-1.23887 28.9795 -8.25522
+-0.403265 29.3763 -7.84262
+-0.28253 29.0488 -6.91868
+-0.642839 30.0442 -6.94809
+-1.14596 30.5863 -6.40865
+-0.586428 31.2946 -5.88146
+-1.04519 31.9821 -5.40463
+-0.221327 32.2531 -4.96117
+0.115777 32.9057 -5.64915
+-0.779199 33.335 -5.6079
+-0.718813 34.2161 -5.28741
+-1.08568 35.1238 -5.38603
+-0.944038 35.7175 -6.23396
+-1.25636 34.7639 -6.41798
+-2.01362 34.3918 -6.96988
+-2.72462 33.8541 -7.40201
+-3.2829 33.063 -7.47193
+-4.01673 32.6415 -6.89943
+-4.16528 32.92 -5.92928
+-5.20726 33.0174 -5.85081
+-5.57561 33.9062 -5.90624
+-6.58718 33.7711 -5.81647
+-6.1676 32.929 -5.9218
+-6.1158 32.8305 -4.89903
+-5.89646 32.0335 -5.51982
+-5.15893 32.2793 -4.78035
+-4.28304 31.887 -4.41032
+-4.8279 32.0147 -3.58512
+-5.12399 31.1103 -3.55506
+-6.07002 30.8315 -3.73675
+-5.61405 29.9114 -3.6375
+-5.29811 29.027 -3.36657
+-4.46187 28.5703 -3.56907
+-3.53347 28.8199 -3.38953
+-3.1563 28.0579 -2.8795
+-3.03774 27.6528 -1.96877
+-3.56876 26.8851 -1.62935
+-3.84142 26.1854 -0.9115909
+-3.23823 26.9089 -0.6148229
+-2.29375 27.1068 -0.2153419
+-2.28849 26.6519 0.7219641
+-1.58742 27.4168 0.7723061
+-2.07682 28.2219 0.7629331
+-2.58421 28.6502 1.55457
+-3.42861 28.965 2.01409
+-3.88025 28.9584 1.13364
+-4.25316 28.1812 0.6223221
+-4.39479 27.1252 0.6810341
+-3.46576 26.7763 0.4864701
+-3.62229 26.5869 1.41911
+-3.84727 25.8376 0.7606571
+-3.33141 24.9088 0.6629501
+-2.3871 24.7265 0.5470561
+-1.8722 24.5808 -0.2684759
+-2.33996 24.9482 -1.09996
+-1.94896 25.2123 -1.94291
+-1.34704 24.4567 -2.16147
+-0.881582 24.1452 -1.32727
+0.05731957 24.5258 -1.37871
+0.01081447 24.5799 -0.3821189
+0.06028677 24.9415 0.5447481
+0.720344 24.3663 1.1336
+0.389512 24.1846 2.05443
+-0.12885 23.7598 2.76759
+-0.373567 24.5903 3.20918
+-0.399037 24.3651 4.15771
+-1.20352 24.9251 3.88259
+-1.32044 25.9029 3.72326
+-1.39141 25.942 4.75342
+-2.38591 26.1606 4.58754
+-3.11655 26.7577 4.75753
+-3.68771 25.9718 4.57151
+-4.28328 26.5728 4.05436
+-4.95466 26.8151 3.45734
+-5.41849 26.4222 2.69783
+-6.40864 26.1944 2.77823
+-6.98668 25.5684 3.33821
+-6.57949 24.9885 4.06287
+-5.6542 25.3081 3.84591
+-6.05908 25.6954 4.69874
+-5.98463 24.9077 5.4115
+-6.0568 24.1348 6.04231
+-6.95235 24.6339 6.1841
+-6.73519 25.5102 6.513
+-7.01314 26.2261 5.83519
+-7.44436 26.3449 4.99031
+-8.20531 26.1139 4.42455
+-8.72787 25.6559 5.02419
+-8.1653 24.843 5.0002
+-8.41207 23.9066 4.97985
+-8.67069 24.0019 3.99131
+-7.70083 24.2352 3.81193
+-7.94957 24.2787 2.83801
+-7.72664 23.3035 2.89557
+-6.84576 23.7231 2.64432
+-5.94032 23.9818 2.31573
+-5.78547 24.5767 3.05555
+-5.98115 25.2986 2.38576
+-6.92079 24.9546 2.38556
+-7.57061 25.1444 1.64447
+-6.95319 25.3672 0.8867401
+-6.09321 25.6381 0.3708411
+-5.3592 26.2191 0.5892371
+-4.9325 25.4517 0.00815367
+-5.42193 24.6363 0.1828431
+-5.10492 23.6875 0.2053401
+-5.32426 23.131 0.9929951
+-4.83646 22.4216 1.5426
+-4.02062 22.8576 1.84647
+-3.74661 22.293 2.60514
+-4.21102 21.7749 3.3157
+-3.58229 21.0404 3.5106
+-4.17664 20.2092 3.34811
+-4.54572 20.4387 4.24323
+-4.08404 21.2659 4.56684
+-4.98129 21.7001 4.63108
+-5.5415 21.7172 5.3966
+-5.54169 22.6447 5.06409
+-5.84643 23.5924 4.83574
+-5.30939 23.4956 5.65634
+-5.35936 23.4691 6.6542
+-6.07607 23.7546 7.25969
+-6.01784 24.5863 7.84923
+-5.58553 25.344 8.39298
+-5.98508 25.5364 9.21597
+-6.84137 25.2178 8.83013
+-6.69244 24.2341 8.80802
+-5.88883 24.0697 9.41446
+-5.84233 23.0663 9.49857
+-5.50628 22.3773 8.96647
+-4.88463 22.9386 8.37951
+-4.68049 23.8953 8.0961
+-4.44779 24.8714 8.01635
+-4.60973 25.5314 7.29506
+-5.10913 25.1421 6.47988
+-4.46363 25.0403 5.71182
+-3.85496 24.3095 5.4336
+-3.5544 24.8744 6.29658
+-2.98237 25.285 5.67092
+-1.98425 25.1829 5.86711
+-1.94154 25.4879 6.87341
+-2.20494 25.7029 7.74889
+-1.43238 25.1368 7.87075
+-1.72595 24.5375 8.60984
+-1.04091 23.951 8.15911
+-0.374104 23.1673 8.44135
+0.200434 23.3861 9.22563
+0.625364 24.0235 8.62792
+1.565 23.7492 8.91318
+1.56927 24.1007 7.97938
+1.9009 24.066 7.07811
+2.47254 24.7348 7.59463
+2.8728 25.4289 6.93957
+3.72549 25.7873 7.23667
+3.49076 25.6963 8.19929
+3.11532 26.2848 8.95176
+3.48422 26.334 9.91602
+4.34196 26.3147 10.4414
+4.16966 25.3585 10.5833
+3.98052 24.4027 10.8783
+4.34375 23.4995 11.0523
+3.6548 23.3615 11.7932
+4.64356 23.2432 12.0813
+4.95101 23.3855 12.9588
+5.76779 23.6052 13.6099
+6.32103 24.303 13.1245
+7.19917 24.1669 13.5383
+8.07128 24.5421 13.0713
+8.6735 25.2829 13.1728
+8.41718 26.2274 13.037
+7.74779 26.9557 13.2952
+7.41915 27.5339 14.0005
+7.03155 27.5085 14.9136
+7.64374 26.8023 15.29
+7.02049 26.1281 15.6659
+7.7618 25.4399 15.6979
+7.09938 24.7524 16.0272
+6.88241 24.2998 15.246
+6.01043 24.2046 15.7749
+5.92909 23.9256 16.739
+4.98639 23.5744 16.5254
+4.32475 24.2407 16.1846
+4.32958 25.1432 16.6547
+5.18068 25.424 16.21
+5.30387 25.976 15.306
+5.74838 26.48 16.0816
+5.33377 27.4117 16.1127
+4.71565 27.5516 16.9351
+3.87749 27.568 16.3776
+3.46667 27.2388 15.4699
+2.62861 27.0347 15.9497
+2.12911 26.9227 15.0447
+2.19746 26.9446 14.0543
+1.76275 27.6755 13.4142
+0.858209 27.2628 13.3545
+0.798871 28.0823 12.8046
+0.165199 28.7795 12.4367
+-0.601192 28.3972 12.8524
+-1.36019 28.1195 12.3627
+-2.1282 28.0332 11.7677
+-2.39566 27.2658 11.045
+-3.25478 27.3655 10.541
+-4.09646 26.8483 11.0105
+-3.84542 26.4754 10.1214
+-3.17747 25.6991 9.88881
+-2.79756 24.9397 10.4629
+-2.80823 23.9541 10.4612
+-2.41126 23.4329 11.2486
+-2.72616 23.3711 12.2099
+-3.57313 23.0941 12.6526
+-4.57359 23.3179 12.7047
+-4.4732 24.2715 12.9772
+-5.35121 24.5551 13.4249
+-5.36753 25.2542 14.2046
+-4.64914 24.877 14.7575
+-4.60197 23.8989 15.0149
+-4.45984 23.3608 15.8749
+-4.24253 22.3549 15.8295
+-4.23686 21.7892 14.9984
+-4.61953 21.1999 14.2812
+-4.83951 20.4333 13.7433
+-4.41586 21.2761 13.3969
+-3.79156 20.4977 13.5373
+-2.9538 20.8898 13.7505
+-2.26467 21.4726 14.0725
+-2.31232 22.5126 14.2164
+-2.28534 23.3248 14.7459
+-2.74748 23.4274 15.5834
+-2.61819 24.3016 15.1136
+-2.81689 24.9856 15.8709
+-3.5793 25.5041 15.4177
+-4.12039 25.6056 16.2359
+-4.11598 25.4946 17.2301
+-4.40204 25.6311 18.165
+-5.17168 25.4593 17.6076
+-5.49244 25.9859 16.7389
+-5.01978 26.7189 17.1655
+-4.94943 27.3594 16.4315
+-4.46305 28.1638 16.8332
+-4.56374 29.1023 16.9777
+-3.80231 29.2941 17.6132
+-3.1089 29.1271 16.8993
+-2.54083 29.9196 16.9993
+-1.59066 30.3134 17.0923
+-1.1229 29.4637 17.2553
+-1.14312 28.9605 18.2044
+-1.30184 28.0762 17.768
+-1.05529 28.1404 16.8585
+-1.68432 28.2153 16.1193
+-2.42842 28.3236 15.4337
+-1.92905 29.1171 15.1302
+-2.54604 28.7882 14.4
+-2.0673 28.2568 13.6843
+-2.60336 28.0729 12.8254
+-3.12155 27.1834 12.7914
+-2.35718 26.8774 12.2586
+-2.43114 25.8504 12.3694
+-1.63722 25.254 12.2677
+-1.5684 24.5114 12.9763
+-1.48359 23.6657 12.4284
+-1.96742 23.1762 13.1371
+-1.18358 22.794 13.6898
+-0.507825 22.8599 14.4092
+-0.05433643 23.5241 14.8403
+0.668893 22.958 15.1637
+1.50856 22.6407 15.5632
+1.028 21.8296 15.4829
+0.07321817 21.9168 15.2226
+-0.65852 21.4606 14.9177
+-1.61644 21.6846 15.0972
+-1.8735 20.7882 15.4069
+-1.46234 21.1457 16.3133
+-2.32776 20.6292 16.3941
+-2.75861 20.0501 15.7049
+-3.16543 19.569 16.5029
+-2.43822 19.6946 17.1356
+-1.61724 19.1937 16.8644
+-1.15335 18.9746 17.7189
+-1.68777 18.6003 18.4684
+-2.25573 17.9106 18.0308
+-2.87305 17.1668 17.8954
+-3.77453 17.5305 17.9836
+-3.52465 18.4716 17.7732
+-2.82061 18.5605 18.4642
+-3.00986 19.4183 19.0047
+-3.23499 20.3556 19.2438
+-3.79123 20.7477 20.019
+-3.80244 21.4727 20.7766
+-2.94677 21.5422 21.2447
+-2.64418 21.0888 22.0964
+-3.57737 20.8015 22.0233
+-4.01319 21.5928 22.3278
+-3.43601 22.4478 22.217
+-2.88411 22.9589 21.5848
+-2.12563 23.2235 21.0188
+-2.61697 24.0469 21.2506
+-2.03738 24.8801 21.1534
+-2.0287 25.2974 20.2898
+-2.23007 24.7035 19.4541
+-1.46051 24.8875 18.8351
+-2.10912 24.0858 18.4674
+-1.19084 23.8358 18.1737
+-0.740076 23.3516 17.3989
+-0.265618 22.9754 16.603
+0.605279 23.2541 16.6948
+1.11872 22.7831 17.3811
+1.91475 22.4608 16.8281
+2.86022 22.713 16.6807
+2.88863 23.6636 17.0036
+2.86322 24.1841 16.1518
+2.10197 24.0707 15.5295
+2.84132 24.1226 14.82
+3.52462 24.817 15.1271
+3.8884 24.8706 14.1975
+4.0354 25.799 14.7331
+4.08933 26.7577 14.6183
+4.68638 27.4735 14.1669
+4.95238 27.7266 13.2267
+5.77237 28.3535 13.2546
+5.95079 27.8683 12.4157
+5.70663 27.3071 11.6404
+6.31632 26.5029 11.3883
+5.93388 26.0987 10.5981
+6.52741 26.109 9.80137
+7.30859 25.9932 9.24034
+8.10113 25.4722 9.39725
+7.95904 24.9823 10.2077
+8.1429 24.0128 10.4877
+7.42868 24.4346 10.9488
+6.44971 24.3737 10.674
+6.89257 23.6778 10.1628
+6.27228 23.0026 9.79615
+6.02409 22.128 9.48066
+5.12978 22.4611 9.0305
+4.53577 21.6145 8.9449
+3.71109 21.0241 8.90119
+2.85057 21.2636 9.35446
+1.9413 20.7537 9.44108
+2.65522 20.3665 8.74518
+3.15351 19.5544 8.35806
+3.15054 20.2241 7.60034
+3.98942 19.7089 7.8961
+3.70201 18.891 7.40375
+3.6261 18.9236 6.43456
+4.16954 19.3119 5.66922
+4.1138 19.2312 4.64166
+4.97744 18.8078 4.50366
+5.23305 17.8891 4.36048
+4.52341 17.182 4.11835
+3.68574 17.7747 3.91331
+2.96962 17.1117 3.90105
+2.14822 16.9828 4.40229
+2.68032 16.1602 4.36198
+3.17917 15.2834 4.52826
+3.66863 15.1609 3.63661
+2.86535 15.2134 2.99398
+3.0322 14.5755 2.27037
+3.60448 15.0631 1.62054
+3.94464 15.7259 2.23522
+3.46124 16.5334 2.49204
+4.38066 16.9094 2.74684
+5.24202 17.4352 2.54948
+6.06459 18.0134 2.57911
+5.80759 18.3402 1.64035
+5.34395 18.3589 0.6857281
+4.70443 19.0692 1.06119
+3.84141 19.4112 0.5961561
+3.62905 20.3411 0.1899651
+2.79543 20.1032 0.7393601
+3.33326 20.7304 1.29807
+3.00398 20.3368 2.1975
+2.96129 19.9202 3.16747
+2.84788 18.972 2.88304
+3.87748 19.0423 2.68859
+4.39104 19.8519 2.29307
+4.3144 20.0069 3.32605
+5.0928 20.6129 3.44193
+5.72143 21.441 3.63143
+5.32545 22.1055 3.05773
+4.49515 21.694 2.74134
+3.86052 21.0872 3.11457
+3.98154 21.411 4.06191
+3.3495 22.0227 3.59418
+3.46253 23.0207 3.52452
+4.37022 23.3338 3.17152
+5.31206 23.4749 2.76176
+5.65437 24.3527 2.35673
+5.61541 25.211 1.8534
+4.88303 25.88 1.96793
+4.36757 26.3118 1.23545
+3.72583 25.9778 0.6072841
+3.69551 26.3701 -0.3369459
+3.66503 25.465 -0.7755199
+2.97724 25.9493 -1.39636
+2.8005 26.6879 -2.16618
+2.06061 27.0988 -1.66501
+1.39155 27.487 -1.03251
+1.15039 28.4291 -0.6387749
+0.8435 27.7264 -0.00639932
+0.124248 27.394 -0.6469309
+0.269962 27.5182 -1.58935
+-0.499252 27.2253 -2.03533
+-0.952158 28.0261 -1.94637
+-1.44845 28.4741 -2.72132
+-0.485889 28.8051 -2.57439
+0.497312 28.8501 -2.58795
+0.523447 28.7435 -1.54201
+-0.250615 29.3583 -1.54753
+-0.362953 30.3365 -1.44712
+-1.09124 30.7275 -0.8671219
+-1.17616 31.383 -0.1576239
+-0.428744 32.0069 -0.4520039
+0.175879 32.7988 -0.2103159
+0.411969 32.9642 0.7638831
+1.24031 32.2633 0.8783661
+1.0915 32.3433 1.8541
+0.114211 32.594 2.12278
+-0.557941 33.228 2.48707
+-1.34849 33.807 2.51853
+-2.30215 33.5235 2.20824
+-3.17343 33.0944 2.12705
+-3.20241 34.0361 2.39952
+-2.82042 34.5035 3.27026
+-3.52549 33.8527 3.51665
+-4.19088 33.8782 2.85603
+-4.21389 34.8432 2.50092
+-4.19283 34.1982 1.74094
+-4.9787 34.3679 1.2182
+-5.81559 33.7637 1.03629
+-6.2667 33.286 1.68496
+-6.52858 32.4562 1.09322
+-7.03132 32.3765 1.9672
+-6.51764 31.8131 2.56158
+-6.15298 32.2851 3.42521
+-6.04543 33.2621 3.05697
+-5.13561 32.9053 3.15449
+-5.04502 31.9013 3.00551
+-5.17065 31.1069 3.69411
+-5.03831 31.595 4.62143
+-4.60065 31.4296 5.47344
+-5.07482 31.0482 6.33279
+-5.27723 30.08 6.35773
+-4.36464 29.857 6.07885
+-3.6201 29.3621 5.54776
+-4.18881 28.954 4.83172
+-4.09797 28.0199 4.47954
+-3.32376 28.3566 3.93839
+-2.42124 28.0405 3.88556
+-1.63586 27.5052 3.61714
+-1.71052 27.8762 2.68082
+-0.807552 28.2881 2.56586
+0.146168 27.7659 2.62488
+0.315976 27.7058 3.57063
+0.546676 28.6977 3.46387
+0.942399 29.4421 2.99156
+1.44555 29.3176 3.88401
+2.02803 28.7137 4.46746
+2.81691 28.1783 4.1128
+1.939 27.6026 3.9745
+2.0084 26.9151 4.7554
+2.85507 27.114 5.24292
+3.53069 26.7457 5.85298
+4.43976 26.4595 5.50072
+5.03002 26.9691 4.87841
+5.83226 27.5268 4.98194
+6.06497 26.6018 5.30864
+6.07821 25.5863 5.47849
+7.03218 25.8635 5.35358
+7.85524 25.478 4.96221
+7.93833 26.1519 4.31092
+8.05976 26.8523 3.55811
+7.16932 27.335 3.49088
+6.68866 26.548 3.79262
+6.03497 25.79 4.00531
+6.53799 24.8537 4.25053
+7.44608 24.4964 3.86831
+7.90794 23.7124 4.11227
+6.93982 23.5557 4.04694
+7.21409 23.1614 4.95705
+7.75108 23.4831 5.68514
+7.69645 24.2714 6.40987
+7.2628 24.1207 7.313
+7.7915 24.0239 8.2387
+7.92137 23.2921 8.91856
+8.7018 22.7722 8.54838
+9.4142 22.1653 8.89383
+9.98993 22.8994 8.54634
+10.2311 22.0809 7.97985
+9.68705 22.8198 7.45578
+9.43208 23.4581 6.67319
+9.0154 23.1411 5.85197
+8.7367 22.533 6.61283
+8.94235 21.7355 6.02411
+8.32218 21.1218 5.71764
+7.9984 20.2439 6.03976
+7.61732 19.4144 5.62769
+7.07591 20.0448 6.09147
+6.33706 20.055 6.73041
+6.23779 19.1795 6.37574
+6.644 18.3062 6.65948
+5.92493 17.6155 6.9209
+4.99878 17.1892 6.8662
+5.49832 16.3343 6.84893
+6.46704 16.2524 6.7578
+6.65443 15.3157 6.43804
+6.94987 14.6058 5.79635
+7.25246 14.3374 4.81704
+6.43946 14.3159 4.23301
+5.69776 14.4861 4.92904
+4.83117 14.0286 5.00911
+4.60102 14.8782 4.67228
+5.2536 15.4778 4.97607
+5.44443 15.3849 3.99959
+6.39721 15.7481 3.97795
+6.32565 16.6633 4.40128
+7.10864 16.4954 4.99718
+7.73829 15.8141 5.3851
+7.89235 15.3377 4.52398
+8.82293 15.7205 4.59278
+9.54464 15.3688 4.05746
+9.93949 16.18 3.59235
+9.93216 15.9381 2.67776
+9.51695 16.8997 2.63979
+9.57154 16.3981 1.72875
+10.0494 17.1965 1.58638
+9.90552 18.0199 1.00076
+9.47369 18.8973 1.18179
+8.97956 19.8343 1.1964
+8.10062 19.6543 1.13398
+7.16282 20.0385 1.17565
+7.36561 19.1382 0.6912251
+8.22572 18.7182 0.3346041
+8.37583 18.4203 -0.5777199
+9.29366 18.575 -0.9219399
+10.1558 19.1108 -1.00503
+10.9718 18.5908 -0.7414219
+11.839 18.9717 -1.22374
+11.813 18.0853 -1.74475
+12.6926 17.5528 -1.60841
+13.5673 17.974 -1.46877
+13.8896 17.055 -1.65871
+14.4863 17.3373 -2.45847
+15.0416 18.0931 -2.33568
+15.0886 19.1627 -2.46906
+14.1922 19.5877 -2.53466
+13.4493 19.2966 -3.19849
+12.8693 19.9763 -2.80448
+13.0035 19.7243 -1.75751
+13.1265 20.7596 -1.6247
+13.5319 20.8761 -2.545
+14.0577 21.7411 -2.47959
+13.9735 22.5302 -2.02284
+14.7602 22.7733 -1.6355
+15.3077 22.7644 -0.7915359
+14.7104 23.5165 -0.6102559
+14.7461 24.4654 -0.2253649
+15.5156 24.1524 -0.8457779
+15.8875 24.6468 -1.60022
+15.0957 24.7596 -2.13767
+15.6688 24.6762 -2.88658
+15.2828 23.9765 -3.52221
+14.9026 23.2374 -3.01179
+14.2653 23.9559 -3.09328
+13.4748 23.86 -3.7925
+13.698 23.0489 -3.30347
+13.1687 22.239 -3.09649
+12.1471 22.3622 -2.95932
+11.8776 22.2872 -1.98131
+12.8142 22.1295 -1.89842
+13.5338 21.8997 -1.21585
+12.7897 21.7684 -0.4922629
+12.8331 22.7191 -0.3845369
+12.064 23.2825 -0.4727759
+11.6605 23.1312 0.4048221
+10.6663 23.1177 0.5041871
+10.2976 22.368 1.08864
+10.8156 22.9242 1.78291
+9.86011 22.9564 2.12804
+9.11579 22.3868 2.27044
+9.73866 21.6166 2.1906
+9.03895 21.5064 1.44306
+9.11104 20.7772 2.2187
+8.16959 20.7845 1.86257
+7.25693 20.9523 1.97105
+7.49479 20.1615 2.50412
+6.6675 19.7595 2.94218
+7.44523 19.266 3.35371
+8.09009 19.6624 4.03115
+8.99787 19.3679 3.95897
+9.56443 19.0439 4.75228
+9.77773 20.0443 4.85438
+10.2252 19.9924 4.05925
+10.9278 20.6135 3.85418
+10.8884 21.4608 3.35956
+10.8905 22.1475 4.05423
+11.6369 22.6835 3.8726
+12.5065 23.2284 3.93356
+12.9074 24.0919 3.62875
+12.2898 23.6195 2.97591
+12.9739 24.2228 2.43682
+13.296 24.9067 1.7144
+13.7063 24.5194 0.8808131
+12.9687 25.1205 0.7368901
+13.3997 25.8815 1.30133
+12.5026 26.4082 1.21489
+12.1595 25.8564 0.4625661
+11.3058 26.1744 0.04738462
+11.393 25.7427 -0.8495979
+11.4948 26.4753 -1.49648
+11.0466 25.5953 -1.73607
+10.313 26.2032 -2.10052
+9.55026 26.1847 -2.82557
+10.1739 26.7848 -3.42565
+10.3036 27.6282 -2.82269
+10.5738 27.6168 -1.79384
+10.9596 28.5324 -1.70759
+11.8823 28.1082 -1.55468
+12.5793 28.6498 -2.02127
+12.0909 28.4438 -2.94297
+11.7802 29.2415 -2.45601
+11.5093 29.5716 -1.63041
+11.86 30.3115 -1.03471
+10.882 30.3722 -0.6646099
+11.0941 30.8713 -1.48064
+10.1562 30.6159 -1.45389
+10.0288 29.6845 -1.64582
+9.43697 28.8951 -1.36703
+8.70411 29.5388 -1.50718
+8.60923 28.6628 -1.8336
+8.63965 27.7323 -1.46517
+7.70001 27.5717 -1.0987
+7.93171 28.1278 -0.2918329
+8.7645 27.5607 -0.3492799
+8.13413 26.8321 -0.5675659
+8.73651 26.609 0.1254721
+9.80152 26.6885 0.2134651
+10.4825 27.2239 -0.2206109
+9.87381 27.8921 0.2725441
+9.70034 27.5793 1.12252
+10.2035 27.8465 1.94505
+11.1995 27.7466 1.88984
+11.8976 28.3401 1.37983
+12.5198 29.0406 1.36317
+12.0743 29.6168 2.058
+11.6254 28.8641 2.47217
+11.0617 28.3056 3.06338
+11.6332 27.4704 3.25714
+11.5097 27.5955 4.31084
+10.63 27.0631 4.39976
+10.2915 26.7331 5.2787
+10.0677 25.7388 5.27005
+9.70714 24.8326 4.93369
+10.6416 24.5426 4.69713
+11.4605 24.8821 5.17973
+12.2802 25.4007 5.20537
+13.0286 25.3773 4.58096
+13.1566 24.7474 5.28129
+14.1173 24.9275 5.03533
+14.7214 25.3904 5.70022
+14.2466 26.0913 5.25757
+13.7672 26.0341 6.15128
+14.3597 26.4129 6.8815
+15.2269 26.8476 6.57488
+15.3682 27.2773 5.62638
+14.5438 27.7074 5.26788
+14.3193 28.5152 5.82116
+13.8109 29.2049 6.38563
+12.8644 28.8642 6.35611
+13.1591 28.229 7.05233
+13.9023 28.0856 7.71693
+14.1861 27.5614 8.58243
+13.9154 27.0207 9.30329
+13.9259 26.0025 9.11698
+14.1483 25.067 8.81214
+13.7537 24.3278 9.23465
+14.1216 23.4014 9.00749
+13.2737 23.2876 9.54717
+13.5151 22.4751 10.0644
+13.8382 21.6018 9.62541
+12.9227 21.5995 9.36597
+12.0301 21.7599 8.91004
+12.2291 21.2901 8.05426
+12.572 20.3633 8.00513
+13.0628 21.0783 7.41
+14.0126 21.1563 7.73254
+14.2919 20.97 8.64386
+13.415 20.4478 8.58495
+13.2952 19.5879 8.96383
+12.4693 19.0328 8.68721
+13.0903 18.5734 8.03401
+12.9506 17.919 8.74074
+12.12 17.7348 9.16984
+11.8414 18.0225 10.1043
+12.0218 18.7977 10.7517
+11.8285 19.7742 10.5481
+10.9928 19.6024 9.95195
+10.4441 19.2762 9.17212
+10.7759 19.9358 8.59161
+11.2698 19.3038 8.06628
+11.3234 18.2995 7.70314
+10.9891 18.9738 7.05285
+10.0413 19.0973 6.66177
+9.66829 18.969 7.64173
+8.87224 19.4916 7.4387
+8.76947 18.5977 7.9625
+8.07874 17.9429 7.88849
+8.72658 17.3 7.4641
+8.23209 17.5377 6.63707
+8.92981 17.8059 5.99973
+9.92866 17.6524 5.67887
+10.5569 16.8682 5.57014
+9.89864 16.4349 6.13436
+10.0414 15.5497 6.51405
+10.326 14.7074 7.00137
+10.2128 14.4757 7.98707
+9.58468 14.601 8.68692
+8.91282 13.9138 9.01112
+8.34139 13.2336 8.5331
+8.38531 12.4778 9.16798
+8.56698 11.6018 8.83985
+9.17235 11.2874 9.56349
+9.19877 11.6839 10.5131
+9.4579 12.5944 10.9226
+9.51126 13.4039 10.3234
+9.01631 14.2553 10.5615
+9.48126 13.9665 11.4027
+9.9907 13.4047 12.0905
+10.5335 14.0641 11.4901
+10.9877 14.631 12.1282
+10.7426 15.5872 12.2359
+11.4896 16.1712 12.5715
+10.7428 16.6568 12.1994
+9.9389 16.2712 12.5418
+9.23641 16.9906 12.8142
+8.68317 17.6602 12.4408
+7.71939 17.8138 12.234
+6.94815 17.3088 11.9326
+6.85313 16.3408 12.25
+7.1339 15.6198 12.9225
+7.73208 14.8532 13.0971
+7.64984 14.2199 12.348
+7.91316 14.8583 11.6094
+7.58864 14.1329 11.0289
+7.24921 14.529 10.1812
+6.49775 13.8647 10.104
+6.1021 14.7548 9.84989
+5.86363 15.7955 9.92081
+5.33295 15.1337 10.4708
+5.05287 14.1849 10.3256
+5.04332 13.3062 10.7999
+5.88357 13.5527 11.2881
+5.67894 13.4935 12.238
+6.21834 14.1601 12.7957
+5.94364 15.1106 13.1262
+5.30485 15.8455 13.3233
+6.07451 16.5521 13.5171
+6.70263 16.8099 14.1856
+7.46941 17.4003 14.1068
+6.58957 17.7658 13.8366
+6.12165 18.2173 14.5516
+6.5684 19.0412 14.2204
+6.80946 19.9326 13.8528
+7.13011 19.3534 13.1374
+6.13108 19.7967 13.0076
+5.94824 18.7944 13.0541
+5.0322 18.4747 12.8288
+4.44314 18.9986 12.1544
+4.68025 19.374 11.2539
+4.02685 19.5066 10.5372
+4.34358 19.7113 9.63453
+5.10272 20.3516 9.50812
+5.83014 19.6744 9.64821
+6.12097 20.5987 9.23448
+6.94707 21.1215 9.46936
+7.68818 20.9827 8.82092
+7.39587 20.6619 7.8612
+7.60686 19.6542 7.80271
+7.10098 19.3929 8.6685
+7.07763 18.9319 9.51898
+6.86072 18.8547 10.531
+5.97621 18.485 10.912
+5.90961 17.8507 11.6996
+4.94925 17.6047 11.4864
+4.54355 16.8197 11.9638
+3.71558 17.1667 12.4514
+2.8484 16.6904 12.4375
+2.28598 15.8717 12.1233
+2.47512 14.9907 12.4697
+3.3235 14.9183 11.9683
+3.7266 14.0149 12.2479
+3.02164 14.3748 12.7991
+2.70476 14.5763 13.7605
+2.06232 14.0725 14.343
+1.33524 14.5079 14.874
+1.64119 13.6201 15.1898
+1.28575 12.9829 14.4963
+0.372357 12.7643 14.2414
+-0.570488 12.6148 14.2662
+-0.422134 12.9211 15.1253
+-0.524936 13.4218 15.9762
+-1.07107 14.0473 16.626
+-1.26566 14.921 16.2158
+-1.40561 14.349 15.3917
+-2.19336 14.2975 14.7449
+-2.56719 14.6074 13.8832
+-1.95531 14.8507 13.1059
+-1.36694 15.1412 13.9086
+-0.641526 15.7056 13.6039
+-0.873023 15.8419 14.5554
+-0.454374 16.6788 14.8086
+-1.4164 17.0106 14.9861
+-2.42202 17.0497 14.9785
+-1.92985 17.9276 15.2725
+-2.04999 18.3293 14.3678
+-2.33283 19.1777 13.8217
+-2.57383 19.5828 12.9627
+-2.77892 19.004 12.188
+-3.49935 19.0076 11.5021
+-4.02549 19.5486 12.0985
+-3.61947 18.8565 12.7721
+-3.27377 17.9121 12.9943
+-4.25655 17.9446 13.207
+-5.2569 17.8635 13.2426
+-5.31713 17.4825 12.3166
+-6.06317 16.9463 12.1725
+-7.00794 16.7023 11.7645
+-6.25482 16.5944 11.0425
+-5.28032 16.5848 10.8488
+-5.50864 17.3181 10.2282
+-4.77742 16.9068 9.91409
+-4.01633 16.9922 9.21362
+-4.00912 17.9576 9.06942
+-3.25047 17.9201 9.66235
+-2.6161 17.2094 9.96054
+-1.66218 16.9889 10.0959
+-1.28099 16.0662 9.86135
+-0.730376 16.0793 9.03248
+-1.58434 15.8198 8.46087
+-1.62905 16.7738 8.13273
+-1.70814 17.344 7.35144
+-0.828279 17.8123 7.1089
+-0.625571 16.9351 7.57498
+0.03675137 17.0226 6.83019
+0.288142 16.1884 7.26564
+0.173755 16.6089 8.18156
+0.477385 17.0826 9.01805
+1.01355 16.337 9.37735
+1.72967 16.9936 9.40559
+1.76414 17.834 9.95674
+1.55818 18.6677 10.5338
+1.7114 19.5605 11.0641
+1.53824 20.6047 11.1336
+2.25493 20.7903 11.8565
+2.84436 19.958 12.1183
+2.31016 19.5112 12.8249
+1.69856 19.3125 12.0757
+1.46413 18.4521 12.5639
+0.539015 18.6657 12.7728
+0.641699 17.7516 12.2847
+0.762594 17.8221 13.2788
+0.893094 18.6316 13.9789
+0.248856 18.4498 14.7624
+0.349679 19.4293 14.8412
+0.03856737 19.1865 13.9043
+-0.714265 19.354 13.2995
+-0.550001 19.5633 12.347
+-0.459589 18.6013 12.2051
+-1.30096 18.1393 12.3625
+-0.627967 18.3689 13.1389
+-0.396334 17.337 13.2278
+-0.699587 16.407 12.9011
+0.100275 16.2545 12.2175
+-0.702126 15.6068 12.1808
+-0.391756 14.9697 11.5222
+-1.17852 14.5233 11.9328
+-1.35382 13.5176 11.829
+-1.90816 13.4548 10.984
+-2.89993 13.258 10.9468
+-2.51056 12.9016 10.0425
+-2.90396 12.209 10.6579
+-3.74698 11.7955 10.1721
+-4.08969 12.7458 10.5025
+-4.4644 12.3694 11.418
+-4.24788 11.5032 11.7971
+-3.71926 10.5928 11.9768
+-4.0911 10.1578 12.7592
+-4.50259 9.3186 12.5044
+-3.5523 9.17693 12.0684
+-2.91319 9.35675 12.8224
+-2.81576 10.3449 12.7251
+-3.16771 11.2965 12.7187
+-2.24024 11.3368 13.0166
+-1.27192 11.5832 12.9692
+-0.849444 12.2718 12.3524
+-0.642816 12.647 11.4286
+-0.146849 12.1184 10.7166
+0.702474 12.1679 11.3533
+1.10476 11.3088 11.2607
+1.73562 11.6143 10.5653
+1.7681 12.624 10.7642
+2.03514 12.3118 9.84224
+2.9633 12.6074 10.1113
+2.67106 13.5922 10.1516
+1.831 13.8798 9.77869
+2.15671 13.8025 8.88815
+3.0379 14.2889 8.76921
+4.02038 14.1137 8.70705
+4.08634 14.8572 9.30209
+3.35664 15.4542 9.51111
+3.8894 16.3063 9.49597
+3.18246 16.2392 8.85902
+2.78192 16.6922 9.61597
+2.59334 17.3952 10.2974
+3.59087 17.6622 10.2543
+4.61264 17.6259 10.3181
+5.20812 17.6742 9.59419
+5.43794 16.9196 8.94688
+4.72046 17.4591 8.60737
+4.00994 17.4685 7.84092
+3.2647 17.5378 8.49736
+2.74716 18.3854 8.5677
+1.99862 18.79 7.97817
+1.5164 19.1932 7.23904
+0.624325 19.6568 7.51545
+-0.06048783 19.5806 8.35444
+-0.52539 20.4709 8.33128
+-1.36677 21.0827 8.49806
+-1.2512 22.0951 8.42742
+-1.41451 22.4664 7.50865
+-2.05723 21.9586 6.9184
+-1.8983 20.9876 6.90132
+-0.996995 21.2622 6.87722
+-0.733533 21.9082 6.17622
+-1.61291 21.8025 5.88257
+-1.89453 20.9557 5.45389
+-1.13375 20.3186 5.64063
+-0.946787 19.3182 5.84295
+-1.7866 19.3859 5.2993
+-2.54299 20.0131 5.3037
+-2.9938 20.498 6.07214
+-3.71919 20.2434 5.49413
+-3.9281 19.3279 5.9686
+-4.19202 18.3431 6.09192
+-5.02676 18.4131 5.56337
+-5.16027 18.877 6.41773
+-5.2888 18.1382 7.08718
+-4.73672 18.7081 7.62508
+-3.74544 18.6487 7.63749
+-3.5871 19.6834 7.55872
+-2.55659 19.6981 7.57298
+-2.23199 19.2637 6.74297
+-2.02805 18.3281 6.53404
+-2.26304 17.4023 6.32353
+-1.7874 16.6838 5.75903
+-1.42245 15.8191 6.07022
+-1.15527 15.2126 6.76944
+-1.67334 14.3673 6.44217
+-2.59624 14.6765 6.48107
+-2.25319 14.9696 5.53179
+-1.24346 15.0899 5.50036
+-1.24152 14.3561 4.77137
+-1.01712 13.6194 5.43449
+-0.165073 13.4877 5.90748
+-0.344089 12.9885 6.72692
+0.170122 12.6919 7.5525
+0.856537 12.6687 8.30853
+1.19168 13.4238 7.78978
+0.843016 13.8562 6.9856
+0.497063 14.6782 6.43598
+0.987224 14.2537 5.66626
+0.97415 15.1545 5.15463
+0.754054 14.9442 4.20441
+1.25312 14.4422 3.42775
+1.98992 13.9128 3.35292
+2.64772 13.9833 4.19103
+3.15463 13.5335 4.93587
+3.23733 12.7239 5.4081
+2.40366 12.1578 5.62925
+1.72917 12.8371 5.36006
+1.34361 12.0461 5.84586
+0.439896 11.8431 5.51642
+0.653859 11.4607 4.63538
+-0.365478 11.5811 4.60041
+-0.582618 12.5703 4.82899
+-1.50038 12.6282 5.22958
+-1.77765 12.8064 6.23654
+-2.46151 12.3094 5.73303
+-3.26406 12.9173 5.54064
+-4.19563 13.2809 5.92031
+-3.7498 14.1176 5.70755
+-3.38601 15.0786 5.81031
+-3.46643 16.0532 5.55687
+-3.55266 15.9249 4.60491
+-3.42449 15.4783 3.76771
+-4.35322 15.1399 4.13377
+-3.72416 14.5024 3.68028
+-3.94446 14.05 2.78798
+-4.46877 13.2378 2.43268
+-5.07211 13.9186 2.00011
+-4.70697 14.4417 1.24035
+-3.75031 14.2793 1.3437
+-3.75385 14.6448 0.3652931
+-3.68044 14.0747 -0.3757729
+-2.7763 14.2921 -0.08460558
+-2.08005 14.9841 0.2148171
+-1.16099 15.1793 -0.02616548
+-0.914376 15.1192 0.9394001
+-0.842282 16.0243 0.4220811
+0.06495947 15.7628 0.1862331
+0.441015 16.4712 -0.4377529
+0.380865 17.0878 -1.21726
+1.23863 17.4652 -1.51679
+1.67899 16.6344 -1.28902
+2.66465 16.4733 -1.32675
+2.78594 17.4195 -1.29102
+2.77903 17.8583 -0.3950459
+3.23536 17.2737 0.2824581
+2.89888 17.7271 1.0711
+2.1202 17.7307 1.65862
+1.50747 17.5527 0.9664801
+1.14867 16.6395 1.13757
+1.34209 16.1387 1.93622
+0.384462 15.9773 1.56542
+-0.641332 16.0509 1.586
+-0.675315 15.6496 2.5297
+-1.25586 16.4816 2.71904
+-0.25321 16.5734 2.86834
+0.12381 17.4354 2.56546
+0.02889827 18.2421 3.13185
+-0.08362913 18.6968 2.36022
+0.460568 19.4027 1.94047
+-0.176184 20.1338 1.8605
+-0.005404535 21.0883 1.68407
+-0.923716 20.9229 1.25333
+-1.18397 20.28 0.5181501
+-0.50181 19.5299 0.6296351
+-1.13942 19.0193 0.03415492
+-1.99437 18.7508 0.5891121
+-1.67405 17.973 1.12654
+-2.02125 17.742 2.02912
+-2.78851 18.271 2.4401
+-3.04128 17.3312 2.51895
+-3.47363 16.5652 2.03891
+-3.32641 15.6433 1.59156
+-2.31402 15.8681 1.63882
+-1.98204 16.0918 0.7037461
+-2.32094 16.9963 0.7324481
+-2.56964 17.6899 0.05118072
+-3.46455 17.2733 0.1348021
+-3.92358 16.9164 0.9495841
+-3.68374 17.7302 1.41665
+-4.15213 18.5586 1.29552
+-3.94066 18.6875 2.23518
+-3.70992 18.3973 3.16562
+-4.42848 17.7327 3.04279
+-4.42269 16.8093 2.5853
+-4.6135 17.5477 1.95493
+-5.48583 17.3385 1.48943
+-5.56177 17.8833 2.32269
+-6.25062 17.2807 2.75285
+-6.04636 16.3377 3.06366
+-5.99379 15.3661 2.67272
+-5.25129 14.9935 2.20611
+-5.11506 14.7025 3.13457
+-5.94825 14.742 3.70721
+-6.76718 14.5218 4.17508
+-7.64833 14.286 3.91217
+-8.48066 13.6841 4.13956
+-8.71028 12.7621 3.98458
+-8.63706 11.8824 4.10091
+-9.30519 11.9795 4.791
+-9.60779 12.0998 5.71001
+-9.9182 12.9455 5.97602
+-10.4378 12.0748 6.27581
+-11.3385 12.3258 6.58796
+-11.9591 12.1253 7.34451
+-11.1922 11.5639 7.31083
+-10.7892 12.0831 8.01671
+-10.8355 12.4553 9.00503
+-10.7723 13.4059 9.3979
+-9.99219 12.7641 9.51741
+-9.7969 13.5445 9.03142
+-9.21419 14.055 9.70512
+-8.52356 14.1249 9.11537
+-8.77146 14.3335 8.03152
+-8.30906 13.442 8.13381
+-7.65795 12.9101 7.5233
+-7.77102 12.0284 7.06002
+-8.54402 12.2986 6.58778
+-8.00956 13.0284 6.1516
+-8.32556 13.9354 5.98031
+-9.26822 14.2408 5.7195
+-10.2079 13.7981 5.6056
+-11.1499 13.5043 5.94127
+-11.4798 14.4963 6.07898
+-11.2424 15.3901 5.61624
+-12.1883 15.2412 5.31857
+-12.9426 15.3517 5.96643
+-13.257 14.9004 6.79878
+-13.7201 15.7343 6.96362
+-14.4846 16.1115 6.4297
+-14.1576 17.0949 6.35454
+-14.4024 18.0921 6.46292
+-15.066 18.1074 7.21868
+-14.7815 18.9005 7.73993
+-14.3657 19.5818 7.08913
+-14.3808 19.8247 6.07255
+-13.4988 19.9126 6.4124
+-12.8453 20.5526 6.94732
+-12.8238 19.9155 7.66816
+-12.7426 19.5732 8.57616
+-12.3106 20.4421 8.54757
+-11.7231 21.1386 8.19128
+-11.1314 21.8719 8.50927
+-11.0786 21.5382 9.40812
+-11.1045 22.226 10.171
+-11.224 23.1621 10.6017
+-11.4934 23.8042 9.84163
+-10.4935 23.8568 9.82033
+-10.7217 23.1408 9.1468
+-11.2725 23.8095 8.65374
+-11.672 24.6458 8.92554
+-12.0286 24.3617 8.05158
+-11.3882 25.0955 7.76713
+-11.5551 25.1529 6.75539
+-11.2307 24.7723 5.85754
+-10.998 25.4796 5.07811
+-11.0224 24.9294 4.28228
+-10.8878 24.7804 3.27606
+-11.73 25.1761 3.60869
+-11.8049 26.0698 3.97484
+-12.4826 26.6494 3.57317
+-12.6851 25.9648 2.8803
+-12.2619 26.7898 2.38118
+-11.2916 27.1111 2.37654
+-10.3008 27.161 2.05817
+-9.42947 27.0509 2.56853
+-9.22768 26.2152 2.1585
+-9.96686 25.8072 2.71565
+-9.81155 26.4315 3.56138
+-10.8184 26.6037 3.69458
+-10.1974 27.3207 3.8354
+-10.8469 27.9044 4.44608
+-11.2456 28.4248 5.15947
+-11.8924 28.6839 4.44442
+-11.161 29.2096 3.88545
+-10.5821 29.2773 4.70696
+-10.0537 28.6776 5.33458
+-10.1136 27.7222 5.62623
+-9.16808 27.7237 5.37345
+-8.32391 27.3597 4.94792
+-8.50325 26.9036 5.84446
+-8.39876 27.2097 6.82726
+-9.08623 26.692 7.22173
+-8.93361 25.7721 7.62513
+-9.80909 25.5841 8.00477
+-9.50356 25.4566 8.96193
+-10.2822 24.7968 8.72291
+-9.41941 24.5431 9.22336
+-8.65687 25.1673 9.10779
+-8.64887 26.0797 8.69144
+-8.40991 26.9931 8.92713
+-8.4163 27.9153 8.70296
+-9.22486 27.5475 8.17626
+-9.62621 27.2897 9.06818
+-10.2576 28.03 9.10986
+-9.41572 28.4272 8.71245
+-10.0344 29.2053 8.72285
+-10.3824 29.761 8.01683
+-9.98536 30.5008 7.31604
+-10.3977 30.4182 6.39354
+-9.63828 30.9024 5.99087
+-9.14583 31.6435 6.53671
+-8.88123 30.6531 6.53538
+-8.6163 30.6703 7.5364
+-8.32974 30.1851 8.31819
+-7.72426 29.9617 9.05667
+-7.78054 29.5889 9.92911
+-8.72622 29.5672 10.2577
+-9.40472 28.8636 9.97381
+-8.8878 28.0066 10.1673
+-8.63503 27.0435 10.3864
+-8.23552 26.8562 11.2144
+-8.30371 25.9597 10.8453
+-7.49626 25.4387 10.9248
+-7.64323 25.9456 11.7435
+-6.67118 25.8329 11.7934
+-6.22392 25.4922 12.6391
+-6.68724 25.2604 13.5174
+-6.53063 24.2547 13.5146
+-6.50803 24.1951 14.5109
+-6.35159 23.1884 14.5512
+-6.64698 22.3832 14.9289
+-5.87524 22.0155 14.386
+-6.46311 21.3609 13.8934
+-5.8008 20.653 13.7103
+-5.95663 20.8194 14.7108
+-5.78892 20.0562 15.2081
+-6.79034 20.1367 15.4707
+-6.56838 19.4126 16.158
+-6.33411 19.7905 17.1093
+-5.69806 20.4256 17.5693
+-6.38729 20.025 18.1749
+-6.82747 20.8672 17.7611
+-7.75607 20.5323 18.0544
+-7.77128 21.4468 17.7469
+-7.98902 21.4098 16.7648
+-7.94715 21.6949 15.8156
+-8.84359 21.9206 15.5293
+-8.25721 22.4538 14.8739
+-8.66028 21.5561 14.633
+-7.73426 21.1808 14.4599
+-7.7267 21.2213 13.4928
+-7.91768 20.387 13.0664
+-7.15212 19.9307 13.4764
+-6.9748 20.0812 12.5389
+-6.85838 19.0735 12.4001
+-6.373 19.4113 11.5983
+-5.53408 19.4063 11.096
+-5.58046 18.3944 11.0819
+-6.57878 18.2776 11.0732
+-6.7716 19.1791 10.6589
+-6.9496 18.8242 9.71626
+-7.85146 18.7582 9.30556
+-8.06712 17.9619 9.82626
+-9.09339 18.0908 9.58696
+-9.05845 18.5796 8.72757
+-9.6113 19.286 9.18257
+-9.10444 20.1718 9.28276
+-8.43095 20.6762 9.80312
+-8.15731 21.4969 9.38439
+-7.38779 21.7312 8.8319
+-7.06982 20.9082 8.39547
+-7.07745 20.6091 7.42619
+-6.75878 20.2437 6.46491
+-7.16854 19.5161 7.03336
+-7.28399 19.2871 6.06526
+-8.16095 19.6872 6.26839
+-8.55798 18.9445 5.70717
+-7.79387 18.6912 5.21884
+-8.15762 17.9344 5.56196
+-8.32685 17.8129 6.57243
+-8.09152 17.7756 7.59261
+-7.13533 17.4485 7.56962
+-7.19984 16.5419 7.06124
+-6.37244 16.7261 7.59603
+-5.53516 16.7906 7.10694
+-6.0836 16.8038 6.33158
+-5.36871 16.253 5.86744
+-4.64863 15.7612 5.40358
+-4.40184 16.0482 6.3464
+-3.38989 15.9972 6.59618
+-2.45828 15.6984 6.87665
+-2.70979 15.0941 7.63502
+-2.65614 14.4068 8.30152
+-3.29823 13.8992 7.73664
+-4.13357 13.314 7.63234
+-3.93549 13.254 8.62703
+-4.27471 13.7032 9.47636
+-4.36827 14.2682 8.62852
+-4.286 15.2722 8.68175
+-5.16707 15.0771 8.20588
+-5.71445 14.243 7.98784
+-6.54056 14.6811 8.31724
+-7.09888 14.4876 7.51583
+-7.15116 14.4101 6.51772
+-6.19464 14.1804 6.25818
+-6.6048 14.7068 5.57449
+-6.61881 15.7001 5.72489
+-6.85365 16.0628 4.80607
+-7.35745 16.4124 5.56792
+-8.29022 16.015 5.61004
+-8.95671 15.8277 6.27251
+-9.85121 16.2713 5.94911
+-9.28472 17.1194 5.97091
+-9.91582 17.2196 5.2101
+-10.7076 17.4083 5.87625
+-11.3668 18.1029 5.93351
+-11.3316 17.7913 6.86248
+-11.9532 17.0945 6.55653
+-12.0157 16.1564 6.19636
+-11.1582 16.0164 6.71534
+-10.636 16.5423 7.39594
+-10.0846 16.3599 8.21242
+-10.1966 15.6697 8.85723
+-10.6821 16.5589 9.09104
+-10.2897 17.4765 8.91214
+-10.3983 18.4758 8.82049
+-11.0062 18.1958 9.56373
+-11.3912 18.9653 10.012
+-11.9633 19.3029 10.6606
+-12.6825 19.9727 10.2453
+-13.001 19.2707 10.8808
+-13.2225 18.4832 11.4649
+-13.7364 17.9652 10.7489
+-13.491 18.1487 9.8152
+-13.6688 18.3196 8.90111
+-14.0924 19.2215 9.15673
+-14.8303 18.6162 9.01769
+-15.546 18.5869 9.68826
+-15.189 19.5417 9.94389
+-15.3261 20.3852 9.54826
+-16.0816 20.8648 10.0648
+-16.0719 20.7038 11.0051
+-15.392 21.2836 11.4137
+-15.0814 21.6424 12.2386
+-14.2255 22.0773 12.0597
+-14.3175 21.5717 11.2119
+-14.35 22.5412 10.9471
+-15.1716 22.8083 10.4862
+-14.6032 23.4951 10.9884
+-15.0184 23.7336 11.8908
+-15.6177 24.4219 11.4799
+-14.9831 25.1431 11.806
+-14.6591 25.9902 12.29
+-14.0069 26.0659 11.5154
+-13.7821 25.7609 10.5684
+-14.0382 26.1255 9.65701
+-14.6192 25.7191 9.07794
+-14.1662 26.5375 8.57947
+-13.4996 26.5519 7.78394
+-13.0565 27.2796 7.28131
+-12.3376 27.8084 7.70364
+-12.5647 27.8163 8.73361
+-12.3268 28.7715 8.73811
+-11.6648 28.0278 8.98065
+-12.1483 28.281 9.87824
+-12.5058 29.0296 10.4544
+-12.2797 29.8363 9.84363
+-11.3144 29.8429 9.83197
+-11.1412 30.8539 9.70813
+-10.7327 31.2912 10.501
+-9.95005 30.9185 10.9683
+-9.51922 31.812 11.215
+-8.61395 31.7393 11.5796
+-7.62069 32.0891 11.4878
+-6.98543 32.8509 11.6546
+-6.65956 33.0836 10.7357
+-5.76803 32.9386 11.1103
+-5.03468 32.5617 10.5058
+-4.18745 33.1165 10.898
+-3.44285 33.7988 10.6909
+-3.24273 33.6595 9.70195
+-2.30534 33.5947 9.52734
+-2.41434 32.8554 8.77001
+-2.52222 33.5038 8.00066
+-2.94476 33.217 7.12054
+-3.27383 33.2976 6.1558
+-3.81845 33.8591 6.73014
+-3.46499 34.464 5.985
+-4.19114 33.8307 5.53504
+-4.40603 34.6095 6.07078
+-5.27736 35.0532 6.11532
+-5.26815 36.0484 6.0582
+-4.70028 35.713 6.85318
+-4.9557 35.9791 7.79962
+-4.55111 35.1734 8.14245
+-4.47178 34.4408 8.73101
+-4.82932 33.5637 8.8421
+-5.57064 33.2414 8.33791
+-5.35456 32.2679 8.23034
+-5.09874 31.3946 8.68109
+-4.39697 30.7347 9.09035
+-4.03461 29.8492 9.21395
+-4.62377 30.043 9.99314
+-5.02053 29.2529 10.446
+-5.28538 28.4704 9.85525
+-4.76731 29.2107 9.33744
+-4.55711 29.5407 8.32919
+-4.92283 28.6502 8.25345
+-4.38789 27.7592 8.24648
+-3.92974 28.2239 8.98901
+-3.074 27.7321 8.62432
+-2.1566 28.3162 8.49676
+-2.64666 29.1577 8.89111
+-2.84533 30.0454 8.53329
+-2.20925 30.7923 8.63508
+-2.21372 31.0146 9.62304
+-2.55124 30.0652 9.43756
+-2.70216 29.3833 10.1943
+-3.12436 28.6663 10.7847
+-4.067 28.8361 10.7292
+-4.73832 28.6901 11.388
+-4.14375 29.3822 11.8856
+-4.43699 29.6376 12.8162
+-5.17753 29.1313 12.3363
+-5.88799 28.8099 12.81
+-6.58178 28.043 12.5943
+-6.31946 27.6086 13.401
+-7.02774 26.9316 13.6603
+-6.77608 27.0635 14.6372
+-7.75785 27.2986 14.5927
+-8.57901 27.8709 14.4942
+-8.75431 27.1342 13.8436
+-8.90921 27.4392 12.8929
+-8.45285 28.2449 13.2187
+-8.97362 29.0072 12.9034
+-9.44538 29.1884 11.971
+-10.1764 28.5595 11.8837
+-10.7553 29.4404 11.9314
+-10.9765 29.6709 12.84
+-11.9793 29.4459 13.1197
+-11.708 28.6105 13.4334
+-12.4655 27.9558 13.4221
+-12.6194 27.0188 13.5918
+-12.5193 26.5194 14.4168
+-12.7919 25.659 13.9317
+-12.0326 25.7529 13.1727
+-11.8423 24.8606 12.8716
+-11.6441 23.9478 12.5819
+-10.7338 24.3655 12.5403
+-10.8929 24.3589 13.4936
+-10.8971 24.919 14.3146
+-10.0419 24.6402 14.7477
+-10.4208 23.869 15.1769
+-10.1459 23.2333 15.9657
+-10.1997 22.281 15.869
+-10.9178 21.7459 15.419
+-10.4627 20.9052 15.2484
+-9.45757 20.6309 15.045
+-10.2096 20.7305 14.4045
+-9.67737 19.9426 14.0449
+-9.44708 20.0456 13.0371
+-10.1636 20.3439 12.3764
+-9.93726 21.2046 11.9582
+-10.878 21.294 12.2193
+-11.0462 20.4784 11.6643
+-11.4437 20.3958 10.7256
+-10.6169 19.9642 10.3173
+-10.1121 20.7638 10.7503
+-9.43844 20.1096 11.04
+-8.42068 19.9867 11.2016
+-8.13712 21.0161 11.011
+-8.64852 21.8369 11.3814
+-7.80182 22.2698 11.1089
+-7.31843 22.9664 11.5622
+-7.02471 23.8627 11.2141
+-6.93736 23.6424 10.2278
+-7.16013 23.413 9.31045
+-6.88097 22.9832 8.49811
+-7.31563 22.9877 7.5938
+-7.49454 23.9111 7.78464
+-8.24513 24.4824 7.5042
+-8.64645 23.6841 8.02038
+-9.45013 23.46 7.49977
+-10.1766 22.7506 7.52309
+-10.0913 21.7704 7.92333
+-9.44326 21.0654 8.15634
+-9.00747 20.5215 7.4962
+-9.9194 20.3362 6.96614
+-9.46075 20.8893 6.29151
+-8.59556 20.6725 5.76904
+-7.62193 20.9777 6.01872
+-7.54378 21.6425 6.71835
+-7.8336 22.3778 5.99442
+-8.7014 22.0745 5.51478
+-9.10231 22.8232 6.14775
+-9.59108 23.7135 6.13938
+-10.2764 22.9355 6.10374
+-9.81053 22.7523 5.29022
+-10.2986 22.1687 4.5773
+-9.61676 22.6684 4.04598
+-8.79499 22.8737 3.48155
+-8.47979 21.9083 3.5764
+-7.53564 21.9349 3.84552
+-7.92729 21.6249 4.65492
+-8.8892 21.3891 4.48529
+-9.15564 20.4375 4.74056
+-9.25875 19.9003 3.86467
+-8.89102 20.0785 2.95756
+-8.54433 20.2421 2.02005
+-8.91626 19.354 1.83075
+-9.83942 19.2573 2.38232
+-10.6488 18.8306 1.94635
+-11.324 18.8496 1.17435
+-11.8358 19.2555 1.87561
+-12.6039 19.1611 1.34553
+-13.5834 18.8576 1.55826
+-14.2076 18.4108 2.28143
+-13.9109 19.2972 2.75964
+-14.7489 19.3971 3.11732
+-14.9109 19.8329 4.03503
+-14.7385 20.196 5.06777
+-15.4177 20.8694 5.08697
+-14.8295 21.5392 4.62584
+-14.5365 22.1167 3.89493
+-14.7519 22.6375 4.82695
+-15.0782 23.5123 4.38845
+-14.4927 23.6345 3.49799
+-14.4519 22.7284 3.10642
+-13.5399 23.0164 3.06224
+-12.7164 23.5819 2.77078
+-12.4721 22.9288 3.51393
+-13.2704 22.6873 4.05963
+-13.2012 22.4541 5.0679
+-12.5861 21.7299 5.41543
+-12.3906 21.3418 4.56663
+-12.1357 20.356 4.59511
+-11.2186 20.7629 4.20567
+-10.5819 21.3839 3.69541
+-9.91111 21.3597 2.97195
+-9.89914 20.3967 2.96763
+-10.5884 20.3676 2.19941
+-11.2271 20.5709 1.40792
+-11.1249 21.4148 0.9303571
+-10.9337 21.6488 0.0077598
+-10.4352 21.933 -0.7746409
+-10.2809 22.7056 -0.1415739
+-10.1535 23.7122 -0.04546008
+-9.6787 24.3731 -0.6079469
+-10.2933 24.2237 -1.37613
+-10.1628 23.2727 -1.43883
+-9.588 22.4226 -1.41399
+-8.82102 22.019 -1.84663
+-7.87165 22.244 -1.65591
+-8.20335 21.5092 -1.02498
+-8.71766 22.0299 -0.2738599
+-7.91513 22.2563 0.3206021
+-8.01555 23.2288 0.2909331
+-7.06753 22.9125 0.3337921
+-6.75596 22.4776 1.15229
+-6.09146 21.6744 1.39407
+-6.35746 21.1275 2.1671
+-6.23289 20.491 1.45777
+-6.72771 19.7569 1.06988
+-6.40541 20.4255 0.4028791
+-5.87898 19.5314 0.4553071
+-4.95733 19.2612 0.1149081
+-4.68673 19.715 -0.7375399
+-4.34603 18.8122 -0.9937629
+-4.73714 18.0992 -1.57013
+-4.61418 18.2579 -2.5283
+-3.73969 18.0592 -2.178
+-3.1983 17.5276 -2.76107
+-3.45876 16.8411 -2.0271
+-3.53714 16 -1.46206
+-3.28982 15.1484 -1.81019
+-3.77343 14.8653 -2.61369
+-4.69259 14.6342 -2.88733
+-4.64522 15.4693 -2.29562
+-4.71563 16.432 -2.3915
+-5.26857 16.6096 -3.22651
+-4.81864 16.1617 -4.04931
+-4.00198 16.5182 -4.40629
+-4.00945 16.5454 -5.46276
+-3.174 16.1126 -5.60349
+-2.2981 16.5207 -5.37245
+-1.62959 16.0833 -4.78494
+-2.005 16.5212 -4.00926
+-1.41827 17.2526 -4.24463
+-0.737663 17.9472 -4.42708
+-0.707975 18.6644 -3.77633
+-0.477404 17.8623 -3.28177
+-0.491491 17.0307 -2.61163
+-1.18405 16.4317 -2.32401
+-0.87908 15.4797 -2.57836
+-1.05936 15.4036 -1.59522
+-1.74512 14.74 -2.07016
+-2.28566 13.9364 -1.86564
+-2.56563 13.7466 -2.84878
+-1.59764 13.5062 -2.74119
+-1.39335 13.434 -1.81093
+-0.789178 13.9324 -1.23541
+-0.630491 14.4744 -0.5363729
+-1.42254 14.0499 -0.2644969
+-1.22407 13.2963 0.3092021
+-1.20557 13.8385 1.10803
+-0.310204 13.381 0.9451281
+-0.208566 13.0277 1.85059
+0.112033 13.0655 2.77406
+0.855885 13.4166 2.21388
+1.71913 12.8561 2.36732
+2.14261 13.2269 1.53237
+2.37557 13.8036 0.7403961
+2.75784 12.9659 0.3603881
+2.98528 12.0948 0.8661851
+3.15158 12.5589 1.64824
+4.05116 12.0305 1.93617
+3.72786 11.3059 1.40974
+4.03358 10.4985 0.9882451
+3.85046 10.9665 0.1391871
+3.47699 11.7915 -0.1456819
+4.14219 12.5718 0.01946702
+4.49723 12.3617 -0.9354979
+4.21094 11.462 -0.9106189
+3.81845 10.8013 -1.61889
+4.01253 10.0446 -2.18509
+3.11203 9.79036 -1.89762
+2.4473 9.44114 -2.62352
+1.97905 8.66032 -3.00544
+2.69532 8.64203 -3.81414
+3.71184 8.55097 -3.8567
+4.68758 8.41798 -3.93152
+5.50505 8.79105 -4.21761
+5.96146 9.53224 -4.68463
+6.29175 9.78235 -3.81574
+5.64611 10.4331 -3.37308
+6.17562 11.2882 -3.38853
+5.74797 11.3421 -2.51246
+6.10933 12.2574 -2.18542
+6.82081 12.9787 -2.06302
+7.57666 12.7823 -2.74385
+8.36497 12.618 -2.18786
+8.55766 11.5582 -2.22107
+9.45918 11.9311 -1.9806
+9.22232 12.7989 -1.60563
+8.5771 13.5482 -1.669
+8.49815 13.7191 -0.6790829
+8.35238 12.7589 -0.6641639
+7.95902 12.3391 0.1353041
+8.69024 12.6054 0.6704431
+8.19971 13.1929 1.26449
+9.10818 13.4939 0.9835151
+9.99804 13.8734 1.11271
+10.9303 13.7171 1.41382
+11.5957 13.4228 0.6791311
+11.1877 13.1363 -0.1422079
+11.6841 13.159 -0.9918249
+11.4943 13.2115 -1.95847
+10.7377 12.873 -2.47347
+11.018 13.5171 -3.21163
+11.0337 14.4266 -2.86276
+11.4899 14.7399 -2.04813
+10.7689 14.4246 -1.47986
+9.86468 14.2214 -1.45498
+9.09521 14.3583 -2.09196
+8.65639 14.5014 -1.19074
+8.98694 15.442 -0.8362909
+9.60774 15.8074 -0.1475529
+10.4712 15.7554 -0.6797699
+11.0386 15.6113 0.1263181
+10.7982 16.5624 0.09936562
+11.6387 16.4219 -0.3550479
+11.5043 16.119 -1.38205
+11.6172 16.922 -1.87454
+10.6392 16.9768 -1.61227
+10.3031 16.407 -2.42379
+9.80221 15.5286 -2.7213
+8.82598 15.807 -2.71149
+8.05578 16.3202 -2.21496
+7.73755 16.0784 -1.30705
+7.93887 16.7972 -0.7168699
+8.56694 16.9059 -1.44657
+8.4034 17.6939 -2.00826
+8.96113 18.4796 -2.38433
+8.74021 19.2884 -1.80261
+8.17251 19.7736 -2.49853
+8.24505 18.9045 -3.11557
+7.35727 19.4067 -3.01368
+6.88504 20.2169 -3.15119
+6.20308 20.2572 -2.44057
+6.2362 19.2299 -2.4124
+5.83622 18.4712 -2.93075
+5.21585 17.9383 -2.36483
+5.78784 17.5026 -1.59939
+5.12781 16.7502 -1.39188
+5.15681 16.4737 -2.33079
+4.32675 16.1391 -1.82259
+4.17644 16.0286 -2.82715
+4.11268 15.0576 -3.10069
+3.29183 14.8842 -2.46566
+2.74901 14.4169 -1.74413
+3.28027 14.5921 -0.9052209
+3.49168 15.5102 -1.05106
+3.3233 15.7057 -0.1340779
+4.11217 16.2769 -0.4250849
+4.32086 17.2559 -0.5273339
+5.10273 16.9579 0.08164742
+6.02611 16.8587 -0.1992599
+6.38374 15.9488 -0.2033009
+6.60468 15.0956 -0.5556219
+6.5291 14.5377 0.2970341
+6.69914 14.996 1.21255
+7.72406 14.9528 1.20703
+7.42749 14.1166 1.65775
+6.75638 13.8339 1.01141
+6.79511 12.795 0.7808851
+7.08023 12.0138 1.28122
+6.16417 11.619 1.05231
+5.2585 11.225 0.6958311
+5.76247 10.4617 0.4003531
+6.67506 10.9513 0.4695601
+6.90862 10.2834 -0.2836099
+7.54889 10.3135 -1.03692
+7.3891 11.2927 -0.8302289
+7.21793 11.0366 -1.82547
+7.55349 10.3636 -2.53339
+7.50046 9.51802 -3.11044
+8.49499 9.84711 -3.29108
+8.93959 10.2307 -2.55318
+8.89762 9.22939 -2.4792
+8.19587 8.53608 -2.45481
+7.5322 8.26624 -3.11064
+7.50951 7.45174 -2.60161
+6.75295 6.97222 -2.18809
+6.53193 6.21022 -1.59906
+6.7557 5.61708 -0.8388259
+7.16309 4.75674 -0.3926339
+8.07893 4.94791 -0.7477459
+8.58175 5.7588 -1.05247
+8.73944 5.56041 -0.1008999
+9.54703 5.91384 -0.5783019
+9.97167 6.71359 -1.09357
+10.9405 6.40275 -1.28219
+10.3943 5.60603 -0.9161679
+10.0825 4.69832 -1.23265
+9.66028 4.13028 -1.88411
+9.65989 3.55074 -1.04513
+9.07837 3.42679 -0.2302949
+8.74043 3.27531 0.7284411
+7.81465 2.94594 0.4583241
+7.7536 3.52657 -0.4180499
+7.39119 2.90439 -1.18979
+6.68397 2.29199 -0.8793019
+5.90508 1.86245 -1.35326
+6.23148 1.17782 -0.7805209
+6.72145 0.7808919 -1.51598
+7.37464 1.56084 -1.38686
+8.15289 2.114 -1.65867
+8.69881 1.69563 -0.9196719
+8.28132 0.9221259 -0.4411449
+7.45072 0.3712899 -0.5519469
+6.91691 -0.1122661 0.08593922
+6.84169 0.7837989 0.4089251
+7.71565 0.5918129 0.8180451
+8.22613 0.04946713 1.43958
+7.53723 0.7260629 1.87917
+7.70068 -0.004851426 2.508
+7.58588 -0.2859261 3.49786
+8.43615 -0.1178131 3.93184
+9.30518 0.1615089 3.40811
+9.41425 -0.2380461 2.51344
+10.3668 -0.4206981 2.61784
+10.8675 -0.9923131 2.02712
+11.3451 -1.64252 2.64231
+12.2043 -1.46011 3.02585
+12.841 -1.87074 3.6303
+13.3574 -1.39065 2.9245
+13.5546 -2.2845 2.54438
+13.5102 -3.30738 2.37301
+12.7604 -2.66548 2.1235
+12.0165 -3.10839 1.67774
+12.2255 -4.0732 1.65731
+11.675 -4.8128 1.95446
+12.3006 -5.07039 1.21079
+13.011 -5.29115 1.84828
+13.5975 -4.65098 2.28432
+13.6996 -5.1071 3.17134
+13.7738 -4.12519 3.26611
+14.762 -4.24527 3.41213
+14.2947 -3.54054 3.96479
+13.7021 -3.4188 4.80785
+14.421 -3.28671 5.5005
+15.1368 -3.21102 6.22903
+14.3301 -3.35425 6.75972
+13.5779 -2.64388 6.87554
+13.27 -2.27044 6.01014
+13.3022 -1.68662 6.89504
+12.4448 -2.04498 7.14007
+12.6331 -1.20495 7.59656
+13.1109 -1.6579 8.36083
+12.5692 -2.48082 8.56547
+12.1509 -3.00983 7.76146
+11.4233 -2.93581 8.44748
+10.6631 -3.3112 8.81162
+10.5238 -3.25028 9.80773
+10.4913 -2.47696 10.4687
+11.3325 -2.31741 10.0882
+11.8408 -1.81155 9.44476
+10.8929 -1.58794 9.61731
+10.1958 -2.24498 9.25222
+10.0987 -1.47947 8.59929
+10.7279 -1.20426 7.81698
+10.6846 -0.2451991 7.72858
+11.5064 0.1691699 8.17696
+12.4384 0.3313159 8.51069
+12.5643 0.3041069 7.49128
+12.555 0.007186884 6.5112
+12.728 0.9916479 6.23156
+13.0607 0.4845149 5.47878
+13.9815 0.8915009 5.45317
+14.075 0.4423769 6.28157
+14.872 0.4634449 6.94033
+14.5894 1.22388 7.58249
+14.4178 2.18795 7.97053
+15.1728 2.73006 8.2562
+15.2277 3.70626 8.3748
+15.8279 4.13734 7.68136
+16.1859 4.73616 8.3207
+16.0565 5.73072 8.51748
+16.6513 5.78549 7.63295
+16.3539 5.86847 6.64533
+16.8915 6.71563 6.62988
+16.7622 7.44818 7.42743
+16.8473 8.32405 7.01063
+17.0889 7.62693 6.39962
+18.021 7.49991 6.72318
+18.4292 7.04308 7.48654
+17.8713 7.04445 8.21873
+18.635 7.68682 8.26433
+18.815 7.58923 9.25394
+17.8935 7.98852 9.33638
+16.9244 7.8215 9.14199
+17.0068 7.25191 9.95693
+16.6761 7.23133 10.8904
+15.7385 7.15514 11.1397
+15.4008 7.21476 10.2231
+15.51 7.3227 9.20804
+14.6631 7.75344 9.07828
+14.6732 8.64023 9.53167
+14.8314 8.4702 10.5628
+14.5486 9.33487 10.4142
+13.7421 9.19232 11.0178
+13.1292 9.52923 10.2803
+12.1379 9.79084 10.192
+11.7291 10.0686 9.33731
+10.9015 9.59628 9.19264
+9.94418 9.19328 9.27163
+9.33685 8.73662 10.0227
+8.72811 8.76409 10.8111
+9.00326 9.37491 11.496
+9.95992 9.13579 11.2984
+10.2547 8.82254 12.1378
+10.732 9.55905 12.6822
+10.8296 8.61703 13.025
+11.6086 8.96389 12.5149
+12.0063 8.84973 11.603
+12.278 7.88526 11.3846
+12.4442 8.27491 10.5251
+12.9224 7.39231 10.4808
+13.8273 7.36877 10.8131
+13.6138 6.46208 11.283
+12.7989 6.09145 10.9745
+11.9042 6.23218 11.3409
+11.1763 6.67507 10.8807
+11.1765 6.57947 9.90596
+11.9902 6.99378 9.57216
+12.6891 6.95776 8.82914
+12.9826 7.80939 8.22109
+12.4113 8.54069 8.52487
+11.9244 8.22093 9.38381
+11.5476 7.61846 8.70383
+10.8959 8.22863 8.18702
+11.1378 8.23449 7.25654
+11.0785 8.16453 6.21069
+11.8865 8.71826 5.85197
+12.4492 9.11254 5.11883
+12.7313 9.54381 5.9952
+12.5664 9.69487 6.94621
+13.0067 10.5938 6.6352
+13.1022 11.3145 7.29383
+12.2282 11.724 7.48144
+11.6862 11.34 6.73145
+11.269 10.9814 7.49731
+10.8097 11.8704 7.42777
+10.5706 11.9207 8.31134
+10.3168 10.9911 8.63375
+9.76887 10.8314 7.72261
+9.99179 10.9122 6.79248
+10.2282 10.5726 5.88075
+9.85812 9.65817 6.03139
+10.7254 9.68067 5.54246
+10.8023 8.91803 4.84564
+10.5696 7.9453 5.05633
+9.63451 7.50852 4.71216
+9.90456 7.20913 3.82767
+9.45848 7.85723 3.27292
+8.89371 8.27827 2.57729
+9.18967 7.46231 2.12529
+8.70528 6.62066 1.98016
+8.44303 6.25785 2.85104
+7.50815 6.27924 3.12641
+7.39668 6.16943 4.09527
+6.76839 5.52162 3.78903
+6.0568 6.21809 3.86504
+5.1453 6.51745 4.26151
+5.43925 6.41911 5.19551
+5.18374 5.59566 4.69413
+5.47873 4.70435 4.82979
+6.50764 4.92128 4.94454
+6.96915 5.75274 4.98227
+7.2877 6.47667 5.70282
+8.11741 6.98825 5.51793
+8.98853 7.23381 5.75365
+9.04127 6.82593 6.6848
+8.78215 5.90083 6.37736
+8.76819 5.29964 7.11776
+8.87037 4.36031 7.36714
+8.49169 4.11555 6.47144
+8.65188 3.31163 7.07085
+8.48953 2.64918 7.81
+8.34696 2.02278 7.07663
+9.07429 1.81492 6.41019
+9.57868 2.59177 6.55756
+10.4527 2.52802 7.09819
+11.3609 2.106 7.10637
+10.8296 1.23847 7.26659
+10.0883 0.5782899 7.1699
+9.53635 -0.1155801 6.58857
+10.0968 -0.9374221 6.49384
+9.96645 -1.87356 6.16512
+9.58884 -1.7883 5.23675
+8.76467 -2.29862 5.24379
+8.64212 -3.03635 4.68747
+8.02999 -3.20739 3.99563
+8.0305 -2.27266 3.89984
+8.95433 -2.47657 3.78262
+9.29519 -1.51841 3.76367
+9.87541 -2.16586 3.36412
+9.95747 -2.91339 4.08079
+9.96427 -3.7127 3.43046
+9.9699 -3.24692 2.49115
+10.7544 -3.87164 2.74204
+11.5959 -3.69565 3.29355
+11.7122 -3.14938 4.14449
+11.5251 -2.42222 4.82992
+10.8392 -2.05747 4.2071
+11.2214 -1.4553 4.92721
+10.8758 -0.6257981 5.35953
+10.1275 -0.02145137 5.49908
+10.6538 0.8276579 5.45356
+9.81455 1.14572 5.03653
+10.6187 1.56089 4.53396
+11.4712 1.24021 4.98142
+11.7335 2.10016 5.32959
+11.5341 3.02507 5.3824
+11.7029 3.98609 5.69936
+12.612 4.10068 5.92738
+12.9735 3.25123 5.56921
+13.6124 2.63766 5.95342
+13.5791 1.82761 6.39386
+12.7932 2.36169 6.61028
+13.1482 2.81972 7.38411
+13.9015 3.26104 6.86619
+14.5598 3.96807 6.76732
+14.1935 3.97889 7.61428
+14.11 3.90676 8.62166
+14.0887 4.86329 8.56245
+14.2906 5.60238 9.21296
+13.8053 5.02788 9.86693
+13.2461 4.1832 9.87214
+12.8723 3.62331 9.09127
+12.2644 2.91177 9.42284
+11.2917 3.10787 9.51225
+11.1608 4.01496 9.22662
+10.4305 4.55865 8.711
+10.1586 5.26305 9.24622
+9.30341 5.66718 8.97823
+9.29943 6.3281 8.23897
+9.70512 7.10018 7.63831
+9.73048 7.88821 8.1673
+9.59243 8.83932 7.87072
+8.755 8.3797 8.3726
+8.61592 8.63589 7.45117
+8.49761 9.4547 8.08504
+8.56647 10.1226 7.31396
+7.81455 10.5677 7.8192
+7.86778 10.9426 6.89985
+7.95043 11.8586 7.1114
+6.92459 11.8017 6.9327
+6.3144 11.3517 6.24735
+6.37731 11.9012 5.41155
+6.71531 12.7792 5.6894
+5.83416 12.9933 5.32591
+4.81598 12.9283 5.49469
+4.0039 13.3612 5.7969
+4.47033 13.7769 6.6448
+5.09838 13.0491 7.03844
+4.54928 12.5372 7.69909
+5.07214 13.2365 8.22331
+5.90627 13.5121 7.67464
+6.29105 13.9082 8.43086
+5.73768 13.5301 9.18587
+5.96596 12.594 9.58629
+6.24726 11.7194 9.12126
+6.68778 10.8423 9.42326
+5.71078 10.4726 9.41008
+5.25891 10.204 8.63882
+6.17029 10.1354 8.151
+6.12728 9.16653 8.55775
+6.93106 8.67587 8.15542
+7.58439 9.26826 8.78021
+7.50444 8.57049 9.54325
+7.543 8.15504 10.4356
+6.91775 8.28652 11.1795
+6.42502 7.8173 10.5433
+6.44103 6.86454 10.4839
+6.62567 5.91702 10.3706
+7.25231 5.61729 9.59289
+6.95888 5.48833 8.64111
+7.89566 5.34921 8.72082
+7.86305 4.64451 8.02328
+7.58976 4.41963 8.97726
+7.53403 3.45603 8.77384
+7.2993 3.294 7.81652
+6.41177 2.86823 7.41256
+6.06667 1.91557 7.29974
+5.40672 1.853 6.64803
+4.60063 1.45112 6.28887
+3.77401 1.90131 6.01014
+3.32667 2.3056 5.15108
+2.63769 1.9224 4.62053
+3.04115 1.69664 3.77278
+2.50651 1.50998 2.99811
+2.91487 0.6394779 3.32881
+3.35938 0.06876323 3.97456
+3.27614 -0.2537721 4.93971
+4.25331 -0.4119381 5.03025
+4.94791 0.3223009 5.06385
+5.66479 0.6247389 4.51652
+6.4876 0.1381029 4.48833
+5.91341 -0.7063281 4.50972
+5.43029 -1.22478 5.14824
+5.68313 -1.50504 6.11872
+5.74425 -1.86543 7.09258
+6.73269 -1.52398 6.89098
+6.96381 -0.5973121 6.7576
+7.31393 -0.1842651 5.91996
+7.58484 0.6498399 6.34968
+7.93242 1.3666 5.74199
+7.35831 0.8362679 5.03265
+6.79002 1.47976 4.51131
+6.51395 1.62009 5.42538
+5.56591 1.27624 5.4294
+4.78834 1.86218 5.38869
+4.15634 1.18582 4.9636
+4.14131 1.40317 4.01104
+4.2854 0.9713409 3.13571
+4.71509 1.26069 2.29323
+4.50979 2.19428 1.88235
+5.39935 2.31983 2.14757
+6.14324 1.94899 2.81674
+6.98179 1.44864 2.94964
+7.15928 2.27854 2.35352
+7.46322 2.36037 3.27287
+7.00074 3.25351 3.02025
+6.28394 3.94874 2.79746
+5.41412 3.46912 2.68764
+5.77743 3.41512 3.63014
+5.15391 3.63813 4.44365
+5.26245 3.20198 5.37986
+4.32837 3.07018 5.31769
+4.32015 3.89035 5.85056
+3.50091 3.39373 5.75461
+2.85566 2.83279 6.28036
+2.39678 1.98626 6.14504
+1.50053 2.33859 5.84863
+1.6515 2.73607 6.79769
+0.935418 3.22983 6.23621
+0.09677777 3.81523 5.93539
+0.150061 3.13394 5.14132
+-0.352458 2.67763 5.84305
+0.04251107 1.8707 6.14099
+-0.816214 1.63721 6.66419
+-1.40341 2.42736 6.89144
+-1.02708 3.30571 6.66649
+-0.886295 3.92188 7.41185
+-1.30985 3.37232 8.15562
+-1.78353 4.26014 8.08779
+-2.25253 3.72137 7.34142
+-1.75043 4.10769 6.61635
+-1.54221 4.9242 7.13061
+-0.622868 5.22518 6.92903
+-0.487221 5.09246 5.96747
+-1.28462 4.53386 5.69083
+-2.02439 4.24018 5.13132
+-1.90325 4.78368 4.31437
+-1.22861 4.21265 3.86225
+-0.624816 4.25087 3.02885
+-0.322037 3.3429 2.7779
+0.257098 2.7757 3.41322
+0.677632 3.60121 3.10115
+1.31083 4.32885 2.96231
+1.97258 3.71535 2.66625
+2.17222 2.78922 2.23691
+1.50454 2.03032 2.1361
+2.15186 1.89784 1.44207
+2.23975 2.5975 0.6830661
+1.34693 2.88244 0.4535731
+1.27154 2.86949 1.43984
+1.73013 3.76496 1.64161
+0.742335 3.69785 1.34974
+0.685522 4.62372 1.26494
+1.65019 5.07206 1.44203
+1.64907 5.37049 2.3947
+2.35313 4.80125 2.84316
+2.60079 5.46684 3.62135
+3.33216 5.32305 3.00297
+4.04849 4.59663 2.79864
+4.55605 4.98603 2.05158
+5.42603 5.00647 1.54599
+5.4981 4.02609 1.71817
+5.37985 3.08248 1.3436
+6.03692 3.68969 0.7913291
+5.12813 4.13008 0.8144591
+4.14999 4.44576 0.5977771
+3.78861 5.30065 1.04115
+2.77987 5.33707 1.18217
+2.52792 4.38834 1.08572
+2.52221 4.48135 0.07625182
+1.74136 4.90726 -0.3907509
+1.15378 4.15449 -0.2384429
+1.29891 4.43857 -1.18352
+0.720391 4.19659 -1.9906
+0.119397 4.41892 -2.82944
+0.355969 5.32116 -3.2686
+0.119142 6.14617 -2.61675
+1.0776 6.36578 -2.78959
+1.08351 7.37002 -2.62066
+1.89381 7.51691 -2.14115
+2.39781 6.67009 -2.08979
+1.92712 6.66463 -1.16088
+0.952985 6.57838 -0.9379809
+0.335133 6.18614 -0.1873869
+-0.408738 6.02469 0.4817891
+0.161338 5.27121 0.4002171
+-0.357776 4.4326 0.1813581
+-1.11542 4.50658 -0.4005909
+-1.33873 3.85648 -1.19216
+-1.35514 3.39354 -0.3017899
+-1.88108 4.03949 0.3296981
+-2.74622 4.31873 -0.07881508
+-3.16147 5.15216 -0.2641179
+-3.61952 5.01746 -1.17093
+-2.99378 5.80738 -1.08874
+-2.63526 6.12156 -1.94933
+-2.46585 5.2075 -2.3185
+-3.05909 5.30334 -3.12737
+-3.63342 4.77048 -2.55572
+-2.9984 4.02644 -2.15977
+-2.51806 3.61405 -1.36085
+-3.08191 3.45852 -0.5606359
+-2.81434 2.53669 -0.9791759
+-3.18657 2.61399 -1.86622
+-2.58598 1.91955 -2.18945
+-1.771 1.62991 -1.77652
+-1.75587 1.48537 -0.7645179
+-2.52746 0.8348679 -0.5038549
+-3.41253 1.28401 -0.4693799
+-3.82664 1.61516 0.3136631
+-4.82915 1.73375 0.2048101
+-4.19266 2.38064 -0.06971028
+-3.85204 3.06549 0.5472751
+-3.90512 3.79267 1.19174
+-3.71658 4.65297 1.6836
+-2.78696 4.72082 1.5817
+-2.00845 4.10395 1.67227
+-2.66447 3.33254 1.82767
+-2.87576 2.67591 2.48391
+-3.96573 2.85553 2.36522
+-4.39758 3.75163 2.73176
+-4.83855 4.51525 3.07352
+-4.44615 4.01932 3.82335
+-3.41179 3.83744 3.84552
+-3.46186 4.45895 4.55657
+-3.87959 3.58864 4.66748
+-3.53581 2.79344 5.26731
+-2.66484 3.23567 5.48883
+-2.31011 2.37025 5.58307
+-2.38016 1.35614 5.7109
+-2.51314 1.50853 4.73952
+-2.32963 2.08639 3.91858
+-1.58568 1.50737 4.1691
+-1.60749 0.7205749 4.77454
+-0.647669 0.6978599 5.03555
+-1.02345 0.1129499 5.79445
+-1.65835 -0.6447481 5.78678
+-2.2469 -0.8098271 4.86316
+-1.94465 -1.69471 5.22556
+-1.28537 -2.49428 5.16242
+-0.427581 -1.96023 5.4321
+-0.07343573 -2.4145 4.54865
+-0.249328 -1.63902 3.98728
+0.495824 -1.16224 3.58861
+1.17151 -1.00252 4.2819
+0.339323 -0.4276201 4.28618
+0.227604 0.3738969 3.7552
+-0.788651 0.1428749 3.60997
+-0.398516 -0.5032051 2.97498
+0.23665 -0.8023571 2.22986
+0.508659 0.1627429 2.37475
+1.52492 0.1617829 2.36736
+1.27505 -0.2583291 1.49604
+1.94536 -0.5105621 0.8059041
+1.0385 -1.10975 0.6737341
+0.810312 -0.2276581 0.2453301
+-0.08427523 0.1091479 0.3778631
+-0.03542283 0.9347269 -0.1749849
+0.549698 1.2176 0.5770521
+0.766198 1.56978 -0.3408409
+1.58905 1.10494 -0.09174428
+2.18712 0.4778809 0.2502351
+2.21572 0.2379469 -0.6691459
+2.31033 -0.7292861 -0.8492749
+2.07613 -0.7636741 -1.87084
+1.73746 -1.71781 -1.68463
+1.62301 -1.92054 -2.60437
+2.58455 -1.86011 -2.36472
+3.09457 -1.17838 -1.90937
+3.479 -0.6046521 -2.60987
+3.62787 -1.28175 -3.30585
+3.49963 -2.09659 -4.02103
+4.24097 -2.0651 -4.79105
+4.15292 -2.56072 -5.63722
+5.16148 -2.79038 -5.73761
+4.62029 -3.25337 -4.93592
+5.13256 -2.77161 -4.22008
+5.89057 -2.30981 -4.5706
+6.73467 -1.78357 -4.37016
+7.0064 -1.53287 -3.38629
+6.34693 -2.28013 -3.24014
+5.45604 -2.27039 -3.18103
+5.94481 -2.59441 -2.39293
+5.18166 -3.24032 -2.39112
+5.33132 -4.17287 -2.74671
+5.17692 -4.7135 -1.98619
+6.1434 -4.63064 -2.26518
+6.72507 -3.87146 -2.57421
+7.45233 -4.09939 -3.1823
+8.41544 -4.01231 -3.14291
+9.19784 -3.904 -2.38127
+9.68944 -4.42256 -1.7043
+10.1624 -5.23877 -1.87715
+10.9405 -4.58862 -2.03899
+11.4756 -4.09502 -1.3383
+12.0899 -3.33724 -1.25016
+11.2971 -3.07061 -1.76896
+11.9504 -2.28442 -1.77053
+11.561 -1.44676 -1.36545
+11.6869 -0.9526601 -0.5816709
+11.5545 -1.63259 0.2271001
+11.3094 -0.7113791 0.4969571
+11.1038 -0.0009610553 1.12714
+11.9758 0.2016329 1.52425
+13.0367 0.1456389 1.75732
+13.8432 -0.2918211 1.3492
+13.9608 -0.5700811 0.3900031
+14.2197 0.4132629 0.4028901
+13.3805 0.9203879 0.2183061
+13.634 1.51208 -0.6055679
+13.0307 2.27011 -0.2935779
+13.3878 2.86781 0.4366971
+13.7032 3.58168 1.032
+12.7162 3.92113 1.03355
+12.5718 4.26689 1.93234
+11.7654 4.47653 2.49794
+11.4905 4.89436 1.673
+11.3586 5.7591 1.21866
+11.87 6.09456 0.3945271
+12.4506 5.4095 -0.1781269
+11.6453 5.02416 -0.5884029
+11.7363 4.38291 0.2548391
+11.7859 3.43616 0.4347251
+11.8467 2.73849 -0.2412439
+11.4603 2.16438 0.4831941
+10.8618 2.55085 -0.1655909
+10.0169 2.36429 0.3975111
+10.3429 3.32787 0.4211181
+9.68509 3.2292 1.15537
+9.04397 2.52782 1.47956
+9.10369 1.7127 2.06474
+8.86298 1.83195 3.0676
+9.64551 2.40866 2.89042
+10.0227 1.76915 3.54817
+10.9605 1.514 3.44244
+11.7203 1.82513 2.74425
+11.8216 2.68006 2.21774
+11.8999 3.15525 1.38039
+12.6922 2.75437 1.71899
+13.3544 2.6309 2.52136
+13.2364 3.21914 3.32995
+12.5471 2.96214 3.95877
+11.924 3.4603 3.40125
+11.0869 3.74212 3.9882
+10.6158 4.00287 3.1832
+10.067 3.4233 3.846
+9.08884 3.25359 3.90837
+9.18083 2.89633 4.8168
+8.57798 2.31183 5.32938
+9.53887 2.23965 5.57435
+10.3859 2.63764 5.87846
+10.6534 3.11706 5.04889
+10.1206 3.82034 5.53207
+10.3562 3.88623 6.54812
+10.9014 3.73161 7.30832
+11.813 4.06043 7.73034
+12.7948 4.29059 7.70803
+12.8312 5.34056 7.77694
+12.9892 4.89134 6.875
+13.3649 5.80885 6.58426
+14.1611 5.79782 5.89521
+14.1792 5.13656 5.15771
+13.4249 5.06062 5.79258
+12.8859 5.81141 5.39577
+12.0267 5.974 4.88193
+12.7336 6.58105 4.5657
+13.0308 7.57981 4.44087
+12.3992 7.82918 3.68664
+11.9997 8.05868 2.7873
+11.2003 7.66415 2.25985
+11.3602 7.57197 1.26649
+12.3314 7.91526 1.10355
+12.3835 7.27114 0.3525751
+11.7989 7.84952 -0.2102939
+11.4836 7.24773 -0.9479959
+12.3677 6.95105 -1.31746
+11.5406 6.9548 -1.93099
+11.3548 7.90794 -2.05874
+10.7469 8.24058 -1.3493
+9.97563 8.92208 -1.16491
+10.1362 9.6571 -0.4645669
+10.7036 10.3749 -0.9442389
+10.2409 10.2062 -1.75469
+9.7781 10.9649 -1.16801
+8.95893 10.5021 -0.9002459
+8.39276 10.756 -0.1567279
+9.18188 10.5389 0.4307441
+8.86261 10.1073 1.23727
+9.23622 11.0468 1.57838
+9.70713 10.2401 1.78836
+9.75052 9.29924 1.49071
+10.2605 9.92318 0.8569741
+10.5312 9.03626 0.5007831
+11.4919 9.227 0.4091401
+12.2607 9.52758 -0.1987109
+13.1412 9.89836 -0.4819729
+13.2717 9.4176 0.4482491
+13.2133 8.90993 -0.3748119
+13.143 8.20372 -1.10799
+13.5677 7.77629 -1.86514
+14.4387 7.21728 -2.09122
+14.8573 6.36381 -2.23145
+14.6242 6.01313 -1.28466
+14.242 5.37283 -1.99802
+14.5326 5.10813 -2.98163
+13.736 4.59746 -2.82257
+12.8358 4.14015 -3.04215
+12.5304 3.65285 -3.88705
+13.3342 3.93411 -4.49398
+13.8808 4.25428 -5.30462
+13.6211 5.10961 -5.87127
+12.6268 5.28698 -6.08871
+12.0846 6.05245 -6.36784
+12.5761 6.64761 -5.77377
+12.5528 7.60973 -5.66901
+13.2621 7.30559 -4.93693
+14.014 7.02031 -5.63562
+13.6027 7.74678 -6.13336
+13.3582 8.69408 -5.89845
+12.4502 8.65624 -5.36835
+11.8737 8.70017 -4.6355
+10.9702 9.20871 -4.54582
+10.4319 9.37097 -3.67089
+9.80495 10.0067 -3.23053
+10.1628 10.9314 -3.39541
+10.745 10.8572 -4.1907
+11.6151 10.2858 -4.3534
+12.4153 10.2625 -4.83631
+12.8918 10.3424 -5.75427
+12.0243 10.7866 -5.77834
+11.3494 11.054 -6.39236
+10.7698 11.6566 -7.01647
+11.3219 12.4935 -7.07117
+11.4543 13.2094 -6.32582
+11.1368 13.6759 -5.5546
+10.2372 13.8693 -5.77727
+10.1114 12.9306 -5.98946
+10.0491 11.9694 -6.23893
+10.2446 11.0113 -6.31794
+10.4141 10.1265 -6.71774
+10.5308 10.0527 -5.68616
+10.9631 9.15594 -5.81776
+10.1491 8.70974 -6.24877
+10.066 8.58514 -7.19313
+10.6293 7.75794 -7.26905
+10.7216 8.39379 -7.97985
+9.95205 7.87571 -8.51143
+10.6769 8.04707 -9.1779
+10.7542 7.04785 -9.18808
+11.7684 7.11009 -9.10184
+12.5546 7.71725 -9.14555
+12.7841 7.52628 -8.15453
+13.7005 7.28925 -8.4548
+13.9073 8.2046 -8.22699
+13.9048 9.00581 -7.58129
+13.0124 8.89298 -7.20146
+13.5215 9.48838 -6.63231
+14.2368 9.91254 -7.18947
+14.8962 10.4286 -6.64753
+14.652 11.381 -6.28966
+13.8645 10.804 -6.3503
+13.0924 11.2864 -6.76033
+12.6918 11.8603 -7.4325
+13.3957 11.8833 -8.12249
+13.1571 12.848 -8.01007
+12.941 13.6433 -7.4132
+12.2585 14.1426 -6.87441
+12.4449 13.5248 -6.14689
+13.3912 13.6281 -6.55168
+14.1105 13.1585 -7.04279
+14.3872 12.7177 -6.23033
+14.0238 12.662 -5.30126
+13.7671 12.337 -4.42042
+12.7911 12.3586 -4.50646
+12.1607 12.6338 -3.72579
+12.0851 11.7455 -3.23039
+12.5383 12.2015 -2.4988
+12.8284 13.1604 -2.11959
+13.2449 13.9382 -1.75931
+13.2004 13.8435 -0.8049229
+13.8773 13.0525 -0.9332559
+13.9606 12.3213 -1.67166
+13.6639 11.6969 -0.8644749
+14.0061 10.8317 -0.8596129
+14.9247 10.9887 -0.5567709
+15.301 11.8237 -0.2332029
+14.7943 12.7345 -0.1543619
+14.4197 11.9998 0.4854721
+14.6336 11.1705 1.01152
+14.6458 10.1806 1.20597
+14.4818 9.19467 0.9801741
+15.0669 8.61486 1.58803
+14.939 7.68919 1.85346
+15.3209 7.43163 0.9584421
+14.8995 8.2189 0.4928101
+15.7483 8.14729 0.01010682
+16.0426 8.96273 0.4985981
+16.8957 9.4371 0.4532891
+17.4859 9.72082 -0.2774239
+18.0135 10.4887 -0.6411859
+17.7093 10.6761 0.3022391
+17.1673 11.2974 -0.1941559
+17.29 12.2979 0.01981182
+17.4236 12.9654 -0.7292299
+16.5363 13.0342 -0.3056389
+15.7564 13.4307 0.1229961
+16.139 13.432 1.02264
+16.2421 14.3328 1.35979
+16.7588 14.2944 0.4926041
+16.9099 14.3248 -0.4454059
+17.7807 14.4613 -0.09132518
+17.9004 15.2138 0.4969461
+17.1281 15.6581 0.9583371
+16.4562 15.4885 1.66357
+17.0688 16.0755 2.13761
+16.3925 16.1747 2.82331
+16.1871 17.1082 2.74948
+15.3501 16.8536 2.21423
+15.0065 17.8116 1.93589
+15.6403 18.5494 1.66703
+16.0667 19.2576 2.36423
+15.4224 18.9193 3.1201
+14.8076 19.1008 2.42134
+15.287 19.6894 1.78975
+14.6676 20.0458 1.1041
+13.9612 20.4142 1.6439
+13.7947 19.8789 2.51087
+13.286 20.3944 3.25837
+13.1444 21.3199 3.55329
+12.1778 21.4364 3.91596
+11.5719 21.5445 4.66238
+12.0566 21.1507 5.3855
+12.6925 21.5926 4.73618
+13.2567 20.7458 4.71401
+14.1671 20.5377 4.9157
+14.5248 21.3818 5.32655
+15.3326 21.4021 5.98379
+15.5768 22.1714 6.56529
+15.4879 22.6245 5.67089
+16.066 23.3434 5.47305
+16.8365 23.6625 5.96844
+16.8347 23.731 6.99962
+16.4203 24.6372 6.78255
+16.6363 25.2676 7.52447
+16.8357 26.1723 7.0361
+17.7275 25.8475 6.72239
+18.3549 26.0502 7.44647
+18.516 25.0817 7.62611
+19.3896 25.407 7.1193
+19.172 25.9659 6.33511
+19.0135 25.027 6.03299
+18.6653 24.0765 6.24996
+18.9004 23.113 6.10224
+18.6276 22.2849 5.54896
+18.8346 21.65 6.26011
+17.9965 21.2658 6.45281
+17.131 20.9284 6.69786
+16.3959 21.2514 6.10582
+17.1083 21.6768 5.48489
+16.7262 22.3826 4.83434
+16.6309 21.4924 4.55798
+16.586 20.9414 3.76192
+16.9968 20.5969 2.91863
+17.9611 20.5238 3.20098
+18.4161 21.1226 2.60313
+18.4414 20.469 1.8566
+17.6147 20.0143 1.53764
+17.5195 19.7033 0.6510101
+16.9634 18.8777 0.4092141
+17.9686 18.5953 0.6325491
+17.9047 18.5958 -0.3563799
+18.2487 18.2122 -1.23596
+19.1597 18.6137 -0.9929809
+19.2447 19.5806 -1.0401
+19.6589 20.2953 -0.5667299
+19.5355 19.976 0.3288441
+19.9285 19.9998 1.27098
+19.2261 19.3175 1.22847
+18.4661 18.8628 1.65547
+19.1564 18.1347 1.76409
+19.7641 18.1138 2.52907
+20.4793 17.3803 2.56344
+20.6492 17.3666 1.62757
+19.9459 17.7 0.8822991
+19.2816 16.9268 0.7300331
+19.0457 17.3468 -0.1744659
+18.4703 17.0291 -0.9208619
+18.954 16.2432 -0.4346939
+18.6366 15.5809 -1.17525
+17.778 16.0628 -1.37626
+17.0023 16.76 -1.28295
+16.5628 16.2459 -0.5189429
+15.6548 15.9756 -1.02082
+15.8088 15.7455 -1.96468
+15.4269 15.4439 -2.83078
+15.2446 15.2407 -3.79663
+15.6448 15.2573 -4.66529
+16.2325 14.786 -5.308
+16.6736 15.5988 -5.02026
+17.6542 15.2925 -4.96189
+18.2471 14.5893 -5.01974
+18.869 15.2777 -4.71836
+19.7518 14.9857 -4.57214
+20.6327 15.192 -4.20484
+20.2399 14.9371 -3.27653
+19.8756 14.0023 -3.45092
+20.5159 13.1785 -3.40428
+20.1024 12.7568 -4.27433
+20.493 12.4508 -5.19687
+20.989 13.05 -5.78981
+21.6279 12.9314 -6.5022
+21.591 12.5976 -7.42071
+22.5591 12.6362 -7.56365
+22.4015 13.6432 -7.50415
+23.089 14.4248 -7.4987
+24.0654 14.466 -7.24278
+23.7093 14.5574 -6.33657
+23.7838 15.0741 -5.56943
+23.1947 14.4676 -5.07484
+22.3996 14.2725 -5.58906
+22.5403 14.3865 -6.56904
+22.4174 15.3984 -6.40802
+23.2414 15.4966 -6.9889
+23.9887 16.0907 -7.06902
+23.7163 16.4085 -7.9255
+24.0761 17.2083 -8.48067
+23.8144 18.0186 -8.95579
+23.5627 19.0153 -8.87742
+24.2112 19.4028 -8.15933
+24.5388 18.7307 -7.41179
+23.9057 18.016 -7.10929
+24.6919 17.4977 -6.91617
+25.2517 17.7173 -6.12959
+25.8153 17.0638 -6.57593
+26.7042 16.6921 -6.44738
+26.908 15.7897 -6.78374
+26.5261 15.0025 -7.26032
+27.3098 14.4621 -6.9585
+28.0853 14.6888 -6.28878
+28.606 13.8891 -6.57696
+28.767 12.9085 -6.50483
+28.22 13.0918 -5.6804
+27.4064 13.4999 -5.29679
+26.991 12.6088 -5.2002
+26.6652 11.7188 -5.20021
+27.0652 11.255 -5.95453
+27.9306 11.6031 -6.33648
+27.2157 11.6014 -7.00453
+26.2631 11.1906 -6.98191
+26.1682 10.8557 -6.0517
+25.956 10.038 -5.48843
+26.0179 9.04095 -5.78616
+26.7247 8.59002 -6.25828
+26.6394 7.64874 -6.39522
+25.9785 8.26322 -6.85718
+25.2239 8.45957 -7.49011
+25.7945 8.73019 -8.18574
+26.038 7.78059 -8.32471
+26.8843 7.27732 -8.47072
+26.7651 6.36829 -8.76905
+27.5281 6.36404 -8.14051
+26.9992 5.57463 -8.32773
+27.1457 5.06478 -9.13724
+27.6887 4.27711 -9.51881
+26.7967 3.90346 -9.31259
+27.2208 3.23605 -10.0073
+26.998 2.34851 -10.531
+27.6273 1.56474 -10.4578
+27.6621 1.58461 -9.48161
+27.4067 1.72635 -8.48859
+27.6347 2.64149 -8.23717
+27.5229 3.29735 -7.53157
+27.4506 2.44691 -7.07983
+26.5522 2.05198 -7.27673
+26.2435 1.22456 -7.74694
+26.8845 0.5883139 -8.05487
+27.2925 -0.1204471 -7.46492
+27.8971 0.6740839 -7.39457
+27.4943 0.4424239 -6.55023
+27.0123 -0.1072741 -5.77207
+26.1263 0.3075229 -6.0482
+25.7517 1.04204 -5.55622
+25.0002 0.5158049 -5.95322
+24.7544 1.40551 -5.69841
+24.2025 1.82318 -6.40925
+23.3012 1.38142 -6.18988
+23.6509 1.44023 -7.15322
+22.7322 1.14357 -7.32776
+23.222 1.46947 -8.08629
+23.602 1.42015 -9.01133
+23.112 0.8639769 -9.72501
+22.7748 0.5776829 -8.81463
+23.1871 -0.2674801 -8.40605
+22.2714 -0.5491391 -8.64038
+21.4144 0.04958043 -8.6673
+21.431 0.6362769 -9.46642
+20.5395 1.02919 -9.63894
+20.0501 1.21944 -10.4745
+19.9034 1.93928 -11.2389
+19.5421 1.17204 -11.7558
+19.3278 0.1551019 -11.593
+18.716 -0.3584041 -12.2024
+18.3873 -1.20732 -11.8986
+17.7278 -1.87571 -11.7133
+17.3417 -1.20318 -11.0282
+17.8132 -0.3484381 -11.2352
+17.5139 0.2025309 -11.9667
+17.978 0.7816259 -11.387
+18.3625 0.8131549 -10.4617
+18.6682 1.34669 -9.67299
+18.27 2.10639 -9.19095
+17.991 1.22578 -8.94962
+18.4385 0.5701549 -8.36457
+19.0744 0.1515779 -7.80857
+19.2951 -0.5166431 -7.15144
+19.0283 -0.6788711 -6.2312
+18.1294 -0.1550071 -6.25102
+18.7758 -0.002729446 -5.50204
+18.8395 -0.5532041 -4.68536
+19.6157 -0.05053807 -4.41419
+20.2464 -0.6748601 -4.89527
+20.7625 0.1237319 -4.72104
+20.6059 0.9667829 -4.29473
+21.6155 1.06448 -4.43985
+22.4028 0.4266889 -4.64229
+23.0321 -0.1069801 -5.14129
+23.4378 -0.7973771 -4.51886
+23.3389 -1.62493 -5.08592
+23.9615 -0.9272101 -5.42478
+23.6628 -1.57815 -6.00981
+24.6585 -1.72078 -6.08848
+25.4623 -2.21768 -6.24301
+25.6137 -2.24626 -5.24264
+25.6409 -2.24353 -4.27033
+26.6122 -2.47512 -3.95941
+26.5074 -2.37914 -2.99967
+27.0262 -2.20609 -2.15222
+27.7028 -1.88532 -1.56778
+27.8765 -0.8658661 -1.67802
+28.5693 -0.3089911 -1.38992
+29.3008 0.2349359 -1.16132
+30.199 0.3805909 -1.46692
+30.5499 1.31555 -1.28025
+31.3961 1.13065 -0.7398609
+32.0769 0.6193469 -1.26139
+32.7453 0.6238219 -1.99164
+32.7672 1.55676 -2.44949
+31.8543 1.57149 -2.9274
+31.1745 1.36327 -3.65916
+31.3205 2.31915 -3.89621
+31.6167 3.18438 -3.62042
+32.4133 3.73318 -3.31432
+32.9895 3.19062 -2.69703
+33.4854 2.37074 -2.55594
+33.9627 3.15499 -2.9511
+34.1001 2.64709 -3.84491
+34.3334 1.75534 -3.40427
+34.215 0.7378809 -3.47185
+33.5024 0.2887179 -2.91048
+32.9214 -0.4978721 -2.72929
+32.5131 -0.9021571 -1.86992
+32.0589 -1.67648 -2.32599
+32.4095 -2.59771 -2.31093
+32.4582 -3.5919 -2.18342
+32.1009 -4.26535 -2.77233
+32.7504 -4.81135 -3.27747
+31.9983 -4.7072 -4.0253
+31.8621 -5.67267 -3.99359
+32.0148 -6.59491 -3.40146
+31.7165 -7.20811 -2.6255
+31.2994 -6.37546 -2.31289
+31.8353 -6.55155 -1.5252
+32.1147 -5.91748 -0.8506229
+32.819 -5.26174 -0.5450729
+33.5705 -4.75407 -1.02471
+34.1165 -4.94972 -0.2240299
+34.0729 -5.78081 -0.8163089
+33.4601 -6.53118 -1.14011
+33.2879 -6.56782 -2.12281
+32.876 -7.48352 -2.15261
+32.0882 -8.11932 -2.004
+31.1492 -8.04084 -1.62163
+30.9704 -8.88678 -1.077
+31.6185 -9.43117 -1.65863
+32.5444 -9.28376 -1.15292
+32.1055 -8.50657 -0.7925559
+32.6521 -8.41461 0.01364232
+33.4529 -8.52509 0.6079271
+33.7989 -8.14399 -0.3067549
+34.3899 -7.86339 -1.09724
+35.078 -7.47205 -0.5051759
+35.6266 -7.42593 0.2519761
+35.2999 -7.4015 1.29048
+34.9355 -8.24956 0.9149521
+35.3565 -9.11555 1.27441
+36.198 -9.08104 1.85578
+36.687 -8.49689 2.53472
+37.6789 -8.73475 2.40435
+37.392 -8.83703 1.45231
+37.0887 -9.32468 0.5973851
+37.4325 -8.94327 -0.2578119
+37.6539 -7.9877 -0.06869868
+37.0218 -7.23979 -0.1494659
+37.2901 -6.75983 -0.9317609
+36.432 -6.45951 -1.06319
+36.0511 -6.7162 -1.94775
+35.5862 -6.32214 -2.66077
+35.8379 -6.32094 -3.63559
+36.4795 -7.08425 -3.57282
+36.615 -6.90925 -4.5543
+36.8572 -7.01268 -5.49867
+36.6891 -6.86373 -6.49345
+36.0555 -6.66229 -7.31166
+36.3581 -5.72681 -7.60839
+35.4909 -5.84207 -7.1167
+34.5458 -5.94289 -7.33522
+33.784 -6.35761 -7.88957
+33.1362 -6.03209 -8.53042
+32.8098 -6.92856 -8.26421
+32.892 -7.0374 -9.23605
+32.0213 -6.48977 -9.15056
+31.5591 -6.80816 -9.99106
+31.1608 -7.02782 -9.14398
+30.9011 -6.24747 -8.74789
+30.679 -5.33466 -8.31746
+31.1154 -5.34561 -7.42058
+31.789 -4.93981 -6.82595
+32.7295 -4.82486 -7.39586
+32.4827 -4.44141 -8.30393
+32.0413 -3.76941 -7.65133
+31.6245 -2.88061 -7.57937
+31.3716 -3.43875 -8.30091
+30.7081 -3.0003 -8.90651
+29.9231 -2.74827 -8.38939
+29.4256 -3.06855 -7.57169
+29.0449 -2.11275 -7.60281
+28.7353 -2.41746 -8.5009
+28.9848 -2.45513 -9.41481
+29.4611 -1.83715 -9.95792
+30.4098 -2.16527 -10.244
+30.3085 -1.44922 -10.8665
+30.5826 -0.7761591 -10.1886
+30.343 0.1021519 -10.4285
+30.5548 0.4434849 -9.52092
+31.5171 0.7759869 -9.33066
+32.4185 0.9651259 -9.02966
+32.8869 0.1088819 -9.01102
+32.8222 0.1296589 -8.0145
+32.9334 -0.7668221 -7.60404
+33.6043 -0.9532401 -6.99619
+33.9053 -1.8817 -6.91952
+33.0173 -2.21705 -6.63705
+32.1358 -2.51773 -6.51011
+31.1187 -2.27061 -6.57006
+31.4909 -1.50795 -7.15872
+30.6265 -1.09123 -7.05311
+30.3568 -0.7474491 -7.91227
+29.5833 -0.1074381 -7.94849
+28.7658 -0.3190371 -8.59322
+28.5438 0.3300709 -9.27827
+28.8412 -0.2191671 -10.0891
+28.1076 -0.8036791 -9.61319
+27.8365 -0.4055351 -10.4566
+27.396 -1.28666 -10.7473
+26.6289 -1.85709 -10.9505
+26.7996 -1.515 -11.8449
+27.4342 -1.26696 -12.6613
+26.6199 -0.6665481 -12.8523
+25.6153 -0.6017801 -13.005
+25.6401 -0.4262301 -12.0515
+25.887 0.3688129 -11.5575
+26.4596 0.4011149 -10.8054
+25.6025 0.07164063 -10.3103
+25.1606 0.5351849 -9.50711
+25.0377 -0.4727051 -9.3532
+25.3382 -1.1144 -10.0898
+26.3007 -0.9136311 -10.4322
+26.0929 -1.45388 -9.63996
+26.2997 -0.6357161 -9.08193
+25.7314 -0.03961267 -8.47687
+24.8911 -0.4802131 -8.06567
+24.5538 0.1816999 -7.4842
+24.9471 1.061 -7.5712
+24.6802 1.72235 -8.2265
+24.5703 2.11915 -9.22276
+25.3802 2.64983 -9.42084
+25.8193 2.93333 -10.2692
+25.2135 3.67355 -10.3591
+25.0699 4.44441 -10.9631
+25.2153 4.07058 -11.91
+26.047 4.52826 -11.8539
+26.3513 5.42717 -11.8323
+27.1673 4.91617 -12.0224
+27.3107 4.49922 -12.9183
+27.687 3.96861 -13.6767
+28.4473 4.21044 -13.1492
+28.3392 3.38155 -12.5785
+28.8956 3.62921 -11.791
+28.8966 3.15545 -10.9392
+29.0951 2.55872 -11.734
+29.843 2.63031 -11.1939
+29.8547 2.8152 -10.1875
+29.5949 3.45269 -9.42848
+28.6314 3.43305 -9.7193
+28.4284 3.35955 -8.81683
+28.023 4.05999 -8.18582
+28.1264 4.47708 -7.28586
+27.4342 4.45374 -6.52467
+26.6706 4.81338 -5.90767
+26.6383 3.88146 -6.15685
+26.6373 3.05847 -6.63891
+26.4092 3.71027 -7.26681
+25.5271 4.06586 -7.24498
+24.6134 3.61532 -7.11949
+24.7195 2.92714 -7.87352
+24.4103 3.53385 -8.59212
+23.4874 3.72186 -8.29672
+23.3423 3.67059 -7.29521
+22.903 3.08045 -6.66395
+23.6587 3.26912 -6.07231
+24.6015 3.08123 -6.01093
+25.5064 3.35842 -5.59499
+25.7349 2.75437 -4.83136
+26.729 3.11159 -5.00161
+27.5883 3.68246 -5.20321
+27.4052 4.64336 -5.19307
+27.5466 5.01515 -4.16701
+26.5417 5.04773 -4.03648
+25.9672 5.84404 -4.24584
+25.0879 6.16534 -4.60365
+24.85 6.41511 -3.65925
+23.8013 6.50937 -3.52799
+23.3552 6.3415 -4.40398
+23.1874 6.84381 -5.24582
+22.4694 7.62969 -5.27708
+22.1313 8.52487 -4.85359
+22.5522 9.31307 -5.26893
+22.9449 10.134 -4.82952
+23.8389 9.75206 -5.11463
+24.3093 10.0451 -5.88698
+23.4782 9.61923 -6.23702
+22.977 10.1672 -6.86512
+22.8253 10.4871 -7.76667
+22.7851 11.3515 -8.33747
+23.0052 10.7083 -9.09152
+23.0158 11.6409 -9.42984
+23.0613 12.5339 -8.93692
+23.7206 13.226 -8.60102
+24.2911 12.6578 -8.01583
+25.2004 12.9288 -7.82151
+26.0773 13.0246 -7.29689
+26.3354 13.5441 -6.51761
+25.7874 12.6867 -6.22005
+25.2761 11.9488 -5.71705
+24.5572 12.3731 -6.14168
+23.6565 12.7759 -5.96189
+22.9248 13.0706 -6.5639
+22.4295 12.9578 -5.7014
+22.1408 12.7882 -4.7517
+21.5013 12.4092 -4.10777
+21.161 11.6335 -4.71278
+21.3967 11.4483 -3.74886
+20.8162 11.1433 -2.99594
+20.1814 10.7073 -2.39808
+21.1446 10.58 -2.23769
+22.0244 11.0778 -2.47454
+22.8558 11.4987 -2.0877
+22.5907 12.3736 -2.24774
+23.35 12.9125 -2.03304
+24.1181 13.4098 -1.6769
+25.0492 13.041 -1.66227
+25.7559 13.533 -2.11693
+25.9241 12.701 -2.74319
+25.1964 12.0545 -2.41924
+24.9999 11.3353 -1.7799
+24.7017 10.4736 -2.15812
+25.0673 10.5789 -3.07041
+25.3572 10.2 -3.97585
+26.1586 10.6441 -3.54716
+26.3507 10.7737 -2.58436
+26.9732 11.514 -2.72917
+27.2563 12.1724 -1.97272
+27.7664 13.0049 -1.92721
+27.6216 14.0113 -1.99521
+27.1136 14.7662 -2.2626
+26.4017 15.4639 -2.54486
+25.691 15.8819 -1.98842
+25.92 16.693 -2.50765
+25.6327 17.5021 -1.99368
+25.2252 16.9826 -1.22229
+24.4088 16.41 -0.9609739
+23.8496 16.7142 -1.69316
+23.8569 16.5583 -2.70281
+24.2982 16.2106 -3.60673
+24.6723 16.9807 -4.17119
+23.8908 16.6364 -4.70541
+23.0156 16.9597 -5.05832
+22.2056 16.886 -5.67052
+21.2919 16.9596 -6.00505
+20.9692 17.9037 -6.10941
+20.3966 18.2611 -6.79178
+19.8115 18.7992 -7.35801
+19.5168 17.9552 -6.98478
+18.5122 17.7215 -6.67459
+17.7921 16.9794 -6.67988
+17.1662 16.3195 -6.29573
+17.5189 15.359 -6.48448
+18.4642 15.1668 -6.80319
+18.4096 14.2421 -6.54617
+18.8062 13.7822 -7.28229
+18.747 13.2729 -8.11609
+18.6035 12.5322 -8.82229
+18.7337 11.5021 -9.11
+18.0158 11.0235 -8.73953
+18.7369 11.13 -8.03418
+17.9084 11.5975 -7.54947
+17.197 11.6036 -6.79947
+16.7747 11.9812 -5.99704
+16.2299 12.4345 -5.36654
+16.3359 13.4506 -5.20611
+15.527 13.9269 -5.69834
+14.7485 13.6763 -5.14358
+14.5094 14.4657 -4.56492
+14.1066 14.4826 -3.62557
+14.6087 14.1005 -2.83163
+15.1502 13.8813 -3.64618
+15.877 14.0856 -2.93892
+16.7653 13.8683 -2.655
+17.5665 14.0849 -2.20914
+18.5178 13.717 -2.22097
+19.2345 14.2714 -2.6577
+19.8531 14.2782 -1.79967
+19.3204 13.8132 -1.1493
+19.8821 13.1389 -0.7662349
+20.7648 13.0705 -1.16328
+21.0805 12.8353 -2.06428
+21.8628 12.6499 -1.5134
+21.6056 11.6493 -1.2685
+22.371 11.1609 -0.8089879
+22.0864 10.1147 -0.7042299
+21.4713 9.67908 -1.33246
+21.8564 8.88424 -0.8438029
+22.0217 8.12736 -0.3448949
+21.3336 8.72961 0.05552692
+21.3088 8.02625 0.8371771
+21.3244 7.25846 0.2658991
+20.8501 6.59385 0.8671261
+19.9672 7.03924 0.9680011
+19.1909 6.48206 1.3156
+19.7103 6.115 2.05301
+19.7354 5.12899 2.32421
+20.5681 4.79043 2.69903
+19.7692 4.21647 2.73318
+20.0988 3.32569 2.36043
+19.9007 2.3973 2.01311
+19.1986 1.94061 1.53645
+18.6927 2.16009 0.7239021
+18.3857 1.31595 0.9470151
+19.0388 0.6865949 1.2747
+19.7585 0.7810829 0.5643501
+20.304 0.3481559 -0.1642499
+20.332 1.05983 -0.8870599
+20.3579 1.95478 -1.38933
+21.2411 2.05659 -0.8813569
+20.7618 2.2217 -0.00160969
+21.4741 2.92935 0.2641491
+22.0028 3.81607 0.2507691
+21.7477 3.8532 1.20837
+21.9934 3.32401 2.01692
+22.8256 3.30105 2.65168
+22.3292 3.67891 3.47445
+21.9159 4.17081 4.27115
+21.9419 5.20785 4.53702
+21.4289 6.12136 4.40055
+21.721 6.81382 5.09559
+21.3967 6.80788 6.03464
+20.7749 6.75134 5.22999
+20.0959 7.54942 5.30082
+20.5175 7.38679 4.37273
+20.8128 7.72913 3.45933
+21.6462 7.32995 3.44421
+21.2525 7.44411 2.50148
+20.4136 7.02761 2.83067
+20.4273 6.4944 3.69789
+19.9901 6.0522 4.45463
+18.98 6.04004 4.44749
+19.0145 5.09029 4.5901
+19.4058 4.15161 4.61046
+20.0632 3.39302 4.57121
+19.2164 3.19854 5.14239
+19.1277 2.24578 4.72208
+19.6205 1.5134 4.16073
+19.8689 0.5387549 4.39897
+20.3239 -0.3684031 4.3997
+20.4135 -0.09945307 3.37295
+20.3881 -0.4768681 2.41504
+21.1361 0.1237799 2.74977
+21.7879 0.2456939 3.46715
+22.1456 0.9391379 4.06519
+23.0739 0.8777849 4.11954
+23.4242 0.3288149 3.3999
+23.8117 0.1083679 4.33017
+23.8159 0.3829339 5.28198
+24.4901 1.10225 5.43234
+23.7918 1.77536 5.63149
+23.4723 2.71904 5.72912
+23.7682 3.65166 5.36862
+22.9665 4.08164 5.76728
+23.3379 4.74276 6.43469
+24.2185 5.11071 6.80754
+25.048 5.65355 6.97118
+26.0049 5.56672 7.03285
+26.0963 4.76847 7.5229
+26.8708 4.18911 7.97899
+26.2886 4.63197 8.74785
+26.4104 3.72256 9.13065
+27.1418 3.66878 9.79438
+28.0751 3.83721 10.0607
+28.7675 3.62621 10.8324
+29.2472 4.36264 10.3656
+29.7753 3.87012 10.9791
+30.1955 2.94836 11.2164
+30.0572 2.06629 11.6749
+29.139 1.89699 11.3434
+29.7256 1.365 10.7451
+30.7142 1.43555 10.7594
+31.5536 1.40724 10.2246
+31.1736 1.95855 9.50557
+31.0103 2.51925 8.70455
+30.4341 2.66399 7.8713
+29.8259 3.03745 8.5384
+29.5654 2.91005 9.5135
+29.6179 1.96856 9.77554
+28.8155 1.58358 9.32203
+27.867 1.27337 9.03456
+28.0147 0.6239549 9.70849
+27.0466 0.4823889 9.98394
+26.9426 -0.09965557 10.8766
+26.7819 -0.5580731 10.0335
+26.7005 -0.5833211 9.12372
+27.3904 -1.26685 8.9211
+27.1056 -2.20014 8.68172
+27.5202 -2.14598 9.60536
+28.2439 -2.62018 10.0839
+28.9926 -3.09827 9.75647
+29.206 -3.34113 10.5686
+29.9799 -2.59864 10.4652
+30.855 -2.12727 10.2928
+30.7099 -2.97763 9.72211
+31.1388 -2.57159 8.94029
+30.5153 -3.12749 8.48102
+30.3577 -3.11424 7.46956
+31.2742 -3.05156 6.96587
+31.5845 -2.31295 7.65867
+32.0579 -3.15164 7.91483
+31.2866 -3.69542 7.92696
+30.8046 -4.28163 7.27895
+29.824 -4.21925 6.98443
+30.0454 -5.03738 6.45364
+29.4129 -4.95255 5.72211
+29.0474 -4.1598 5.23769
+28.0432 -4.10566 5.41371
+27.2261 -3.93984 5.99618
+27.1098 -3.10856 5.54064
+27.982 -2.9914 6.06159
+27.9553 -1.97183 5.91501
+28.3684 -1.18064 6.14697
+27.8305 -1.01282 5.37616
+27.0008 -0.5068821 5.50122
+26.7953 0.4859129 5.39103
+26.2844 -0.06405807 4.707
+26.022 -0.9745091 4.39482
+25.2414 -0.8666941 5.09208
+24.5704 -0.9777451 4.37098
+23.7916 -1.56604 4.52572
+23.4721 -1.68697 5.48271
+23.1282 -2.12808 6.30738
+23.6835 -1.81146 7.14622
+23.1072 -1.1642 6.68715
+23.0551 -0.3249691 7.26986
+22.3401 -0.8760271 7.65312
+22.7836 -0.2255491 8.24047
+22.978 -1.2076 8.45399
+23.4871 -1.02778 9.28189
+23.7353 -0.7388711 10.2037
+24.2044 -0.1886841 10.8909
+25.12 0.1166989 10.6127
+25.7734 -0.2338531 9.99157
+25.5338 0.5233129 9.26953
+25.8487 1.28992 9.82745
+25.8079 2.34301 9.59925
+25.7022 2.24057 8.6252
+25.3191 2.45179 7.8215
+26.0252 3.12815 7.5164
+26.3403 3.46191 6.60412
+25.7205 3.33372 5.8021
+25.4492 3.98317 5.06354
+25.6444 3.93867 4.06216
+26.3385 4.53524 3.79739
+26.1537 4.8443 2.83052
+25.8951 5.44773 2.00164
+25.7543 6.42372 1.86752
+25.6425 6.49181 0.8893701
+26.4688 5.86685 0.9155541
+27.0066 5.05997 0.8838441
+26.3031 4.3 0.9820631
+25.4898 4.43298 0.4192911
+25.0975 4.86804 -0.4508899
+25.0198 5.79006 -1.00449
+24.007 5.61127 -0.8491679
+23.3908 4.80863 -0.7841409
+23.148 4.84988 -1.76235
+23.8094 4.07117 -1.7771
+23.5438 3.69624 -0.9077349
+23.7494 2.87394 -0.3418099
+24.1163 2.03533 -0.7569189
+23.2868 1.44233 -0.5998649
+23.3752 1.60324 0.3601461
+23.3723 0.9235289 1.1082
+24.3579 1.12928 0.7468811
+25.1533 0.9175069 0.1941591
+24.8891 1.91784 0.04494502
+25.1038 1.3821 -0.7665529
+25.1431 1.69135 -1.72066
+25.1358 2.31535 -2.49818
+25.8654 2.46711 -3.15569
+26.4925 2.86806 -3.79567
+27.3234 3.29223 -3.53558
+26.7472 3.19831 -2.69516
+27.0479 2.25847 -2.36407
+27.8445 2.9146 -2.19973
+28.6829 2.75017 -2.58012
+29.4131 2.08193 -2.64811
+28.475 1.67392 -2.65869
+28.4096 1.11216 -1.87262
+28.1646 0.8850199 -0.9221629
+28.1624 1.73935 -0.3897119
+28.9231 2.30244 -0.1692429
+28.4229 2.0373 0.7066981
+28.2255 2.32599 1.61114
+29.1882 2.57984 1.68224
+29.2368 2.83034 2.62263
+28.7343 2.02197 2.90594
+29.5632 1.95923 3.36253
+30.0412 1.20689 3.65465
+30.2503 0.4325179 3.02396
+29.8852 -0.1469681 3.78201
+29.9306 -1.05595 4.21965
+30.838 -0.9556541 3.8964
+30.556 -1.25563 2.95583
+30.1142 -1.61754 2.1469
+30.8675 -2.04253 1.53979
+30.7368 -2.91533 1.96179
+30.9546 -3.02931 2.90265
+31.2724 -3.9821 2.83941
+30.4619 -4.50783 2.91379
+29.8963 -4.77396 2.11769
+30.0018 -3.89854 1.64314
+30.4565 -3.39242 0.8656431
+29.5646 -2.97503 0.8383791
+28.979 -2.4507 1.4835
+28.2024 -2.40125 2.13064
+29.018 -2.88473 2.47236
+29.2015 -1.98927 2.86685
+28.364 -1.63293 3.21712
+28.1 -0.8612181 2.70283
+27.4365 -0.9959161 1.91333
+26.4985 -1.30046 1.69259
+27.0288 -1.89379 1.18995
+27.0259 -2.20979 0.2209731
+27.0936 -1.50223 -0.4439029
+27.3106 -0.6244131 -0.1202729
+26.3606 -0.5866571 -0.5270169
+25.7744 -0.1369371 0.2819911
+24.9459 -0.5100441 0.6782821
+24.0855 -0.6414821 1.08641
+24.4237 -0.05681367 1.73589
+25.2436 0.01332063 2.47011
+24.669 0.8026359 2.8342
+24.2319 1.01221 1.95356
+24.5321 2.01222 2.0971
+24.9646 2.96723 2.0575
+24.1492 3.15068 2.72341
+24.6224 4.00879 2.84563
+24.1855 4.62183 2.1823
+23.6194 4.8242 2.93838
+23.2307 5.79023 3.03437
+23.1786 5.74947 1.99375
+22.4131 5.09058 1.79942
+23.0241 5.11568 0.9745161
+22.5573 4.88078 0.1262221
+22.2843 5.64026 -0.4677099
+22.7512 6.398 -0.02866758
+23.283 7.15775 0.3313241
+23.3566 7.84684 -0.3623069
+23.1868 8.81151 -0.06877338
+23.8136 9.44552 -0.4500529
+24.6011 8.8724 -0.4290269
+24.897 9.33906 0.4374631
+25.293 9.59628 1.19454
+25.469 9.52519 2.18133
+26.0754 8.82392 2.57996
+25.2862 8.40256 3.0027
+24.3392 8.39604 3.34683
+24.4188 8.7742 4.23284
+25.0218 9.08253 4.98159
+25.4965 9.96335 5.07956
+25.5492 10.8737 5.59237
+26.2219 10.7862 4.86591
+26.3779 11.4814 4.16047
+26.6844 10.6997 3.66664
+25.765 10.5099 3.84134
+25.127 11.0936 4.27854
+24.331 10.7743 3.69624
+23.7718 10.8683 2.90725
+23.5606 11.814 2.61285
+22.6723 12.2102 2.77787
+22.5949 11.6814 1.94051
+22.1303 10.8654 1.4938
+21.1173 10.6156 1.59132
+20.8542 11.2477 0.8829491
+20.2297 11.4895 1.65053
+19.4965 10.8208 1.79923
+18.6507 11.2438 1.4626
+18.8012 11.9211 0.8459591
+19.6841 12.1405 0.5081671
+20.1391 12.9553 0.6409621
+20.1188 13.7518 1.2459
+19.0931 13.7556 1.22308
+18.111 13.8652 1.54791
+18.2907 14.8398 1.94268
+19.0612 15.4278 1.8828
+19.542 15.6949 1.01623
+20.1833 14.9839 1.16266
+20.8278 14.8256 1.80946
+21.7042 15.0712 1.45151
+21.7518 15.0343 0.4573561
+21.2337 14.2312 0.4859511
+21.2235 13.2037 0.4695251
+21.9181 13.1492 1.23175
+22.4505 12.5571 0.6686281
+23.0104 11.769 0.4971351
+23.604 12.4656 0.9777411
+24.1728 12.9413 1.61808
+24.2309 13.6862 2.30331
+24.5871 13.9818 3.20195
+23.7474 13.6092 3.51391
+22.7911 13.8802 3.1566
+23.3086 14.5919 3.7603
+23.4456 14.8848 4.68362
+24.0134 15.7255 4.3986
+24.739 15.9593 5.09366
+25.6199 15.9586 5.59117
+26.4867 16.4701 5.69702
+25.9745 17.2253 6.10472
+25.052 17.495 6.33429
+24.42 17.5964 7.1942
+23.4809 17.5308 7.32158
+23.53 16.8682 8.05263
+22.5875 17.1398 7.76847
+22.5851 17.0679 6.74141
+22.4541 16.1239 7.00516
+22.5491 15.5554 6.16521
+23.2498 15.7127 5.40227
+22.6058 16.3792 4.92296
+22.2351 15.3963 4.87872
+21.4333 15.7741 4.34147
+20.6886 16.3486 4.7736
+21.0253 17.2513 4.94365
+21.8528 17.7489 4.74951
+21.8959 18.6769 4.69453
+21.5688 18.4512 3.7256
+20.9137 19.1892 3.61619
+21.7735 19.6694 3.6934
+22.6837 19.8258 3.62277
+22.836 20.3571 4.43613
+22.1342 20.9129 3.93374
+22.0524 21.0109 2.97994
+21.9712 21.1969 2.01137
+21.4378 20.7934 1.30135
+21.8945 20.6259 0.4796241
+21.6901 21.4712 -0.03427968
+21.4845 22.4161 -0.3104359
+22.3573 22.795 -0.1601949
+22.9756 22.1399 -0.6783019
+23.0999 22.8405 -1.34395
+22.1818 23.0551 -1.67556
+22.3831 23.8732 -2.11899
+23.1976 24.2478 -1.57673
+23.9153 24.9201 -1.33239
+24.8165 25.0377 -1.74666
+24.5308 25.7968 -1.144
+25.2196 25.398 -0.6070619
+24.4814 25.4123 0.02967192
+24.1316 26.3323 0.2203381
+23.2603 25.9454 0.5794341
+22.9093 25.6753 1.49694
+22.5593 25.2528 2.34468
+23.2298 24.7415 1.70307
+22.8648 23.8003 1.71589
+23.0556 22.8493 2.07886
+22.1803 22.4252 2.44282
+22.2505 23.1268 3.10623
+22.2829 24.1512 3.22282
+21.397 24.2978 2.87728
+20.4205 24.2204 2.73712
+20.1535 24.2774 3.73494
+19.9836 25.2513 4.03763
+20.1195 26.1773 3.71095
+19.5197 25.7365 3.02782
+19.1462 24.8994 2.90809
+18.7228 25.6479 2.3805
+18.0568 24.9101 2.69786
+17.9868 25.1812 1.71498
+17.7721 24.1912 1.45628
+18.361 23.4131 1.68515
+18.4044 22.4433 1.60029
+18.3353 21.8098 0.8154091
+17.326 22.0334 0.7732691
+16.6175 22.6318 1.0048
+16.4335 21.7112 1.42809
+16.0727 20.9185 0.9468671
+16.4107 19.9476 0.8346731
+15.7719 19.2268 0.4178701
+14.9263 19.3069 -0.1678999
+14.3415 18.5616 0.1150741
+13.605 18.304 -0.4823169
+13.8873 17.4744 -0.00738133
+13.6915 16.7923 0.6042921
+12.7731 17.0614 0.9932641
+12.2903 16.2417 0.6421881
+12.0927 15.2946 0.5951981
+12.49 15.1616 -0.3047689
+12.737 14.3118 0.05654222
+13.4308 14.308 0.7174301
+12.9143 14.2403 1.55483
+12.9107 14.0552 2.61777
+12.6939 15.0965 2.6158
+12.0773 14.467 2.07106
+11.5082 14.4411 2.93918
+11.6668 14.9643 3.75346
+11.6226 14.1867 4.39945
+10.8894 14.775 4.70646
+10.237 14.4359 5.34799
+10.218 13.5806 5.89129
+10.0359 12.7892 6.5403
+11.0033 12.4858 6.26353
+11.7166 12.2512 5.62873
+11.4339 12.4737 4.73781
+10.5895 12.9901 4.51369
+10.1087 12.3773 5.11815
+10.7193 11.8375 4.60009
+11.031 11.2296 3.843
+10.6157 10.3937 4.33302
+9.83171 9.75211 4.3179
+9.23529 10.494 3.98016
+8.55776 9.7713 3.92378
+8.73709 8.75911 4.07108
+8.01575 8.42624 4.69319
+7.1265 8.80792 4.41963
+6.90953 9.59377 5.01568
+7.57494 9.59416 5.77655
+7.94036 8.71396 6.0662
+8.05325 7.80121 6.60546
+7.13438 7.83476 6.95708
+6.63385 8.77241 6.8441
+6.27098 9.65062 7.13736
+6.13892 9.49476 6.14148
+5.99662 8.64951 5.59119
+6.84881 8.24707 5.88288
+6.16506 7.47521 5.97951
+5.53681 6.78887 6.26802
+4.76232 7.4738 6.45005
+3.98062 7.49872 6.99309
+3.31195 7.33958 7.70473
+2.51953 7.90087 7.99197
+3.26937 8.494 7.54402
+3.74833 9.36155 7.82883
+3.50817 10.3049 7.52921
+3.03606 11.247 7.3683
+2.42688 10.6312 6.88268
+2.75248 9.81497 6.3768
+2.60684 8.93079 6.8309
+2.0037 8.83472 7.64212
+1.78714 8.25119 6.87654
+0.868598 7.88535 6.68917
+1.27709 7.0139 6.99476
+1.00793 6.09727 7.34726
+1.93527 5.77782 7.57445
+2.6343 5.7293 6.80865
+3.53668 6.13661 6.78376
+4.50366 6.19913 6.4034
+4.45561 5.48432 5.66446
+3.96652 4.81407 6.17547
+4.37219 5.17733 7.02865
+4.47626 5.5977 7.91583
+5.06821 6.04476 8.60498
+5.491 6.52278 7.91347
+4.98385 7.00826 8.66891
+4.15387 7.52024 8.77767
+4.92482 8.04817 8.38084
+4.12989 8.65397 8.35699
+3.84828 9.43661 8.87552
+3.09814 8.8254 8.7384
+2.62569 9.45205 9.24425
+3.20201 9.38608 10.03
+3.1734 10.4537 9.75703
+3.98465 10.7421 9.29796
+4.6038 11.2824 9.8799
+4.12139 11.364 10.6734
+4.90659 10.7469 10.9407
+5.51135 9.98246 10.9756
+4.93442 9.77248 11.7305
+3.96954 9.55338 12.0828
+3.79898 9.29993 11.1576
+2.94973 8.9619 10.8708
+2.96023 8.20614 11.5469
+3.26781 7.26163 11.7039
+2.72268 7.05578 10.8985
+3.17516 6.28978 10.3613
+2.56804 6.62478 9.7415
+1.63236 6.61236 9.64541
+1.12226 6.56887 10.464
+0.797599 5.63455 10.403
+1.58022 4.95104 10.3403
+2.40044 5.39649 9.98301
+3.27995 4.83385 10.1986
+3.71256 5.50534 9.57017
+3.05566 4.96436 8.94244
+3.23572 5.27121 7.96491
+2.65096 4.63996 7.38074
+2.13756 3.80626 7.34608
+2.12614 3.04324 7.93941
+2.53576 2.87028 8.75503
+3.32842 3.41533 8.43991
+3.38598 3.66134 9.4431
+4.30666 3.31262 9.61981
+5.13849 3.54554 10.1357
+4.7992 4.41348 9.89789
+5.63447 4.85191 10.0789
+6.53464 4.6311 10.5021
+6.72275 4.37977 11.4288
+7.21665 5.0331 12.023
+8.11875 4.85646 11.594
+8.76973 5.43733 11.0629
+8.84879 6.22261 10.3385
+9.0282 6.9197 11.0575
+8.98307 6.39074 11.8125
+9.10851 6.21672 12.7943
+10.0203 6.64803 12.7032
+10.1379 7.13146 11.8328
+9.68193 7.91019 12.2115
+9.05234 8.53387 12.6933
+9.80147 9.00356 13.0332
+9.6778 9.0339 14.018
+9.86988 9.95808 14.2255
+10.7398 9.79937 13.9447
+11.5568 10.0001 14.5653
+11.1482 9.70825 15.4308
+10.9026 8.86274 14.9398
+11.1903 8.59917 15.9267
+10.7091 8.87605 16.6999
+11.2707 9.68064 16.7932
+12.1863 9.46684 16.9979
+11.9522 8.79867 17.6528
+12.8764 8.41306 17.5683
+13.6939 8.07634 17.9754
+14.3114 7.66873 18.6359
+15.2697 7.75782 18.9588
+15.4226 6.8317 18.5942
+15.7927 7.05579 19.4409
+15.8132 6.02053 19.1755
+15.6543 5.11758 18.6862
+16.4955 5.58254 18.5276
+16.5427 4.73557 17.9892
+16.2005 4.9327 17.0233
+16.1428 5.93273 16.7782
+16.75 6.24747 16.0114
+17.3069 6.36198 16.7632
+17.0843 7.19844 17.2178
+17.5655 7.96983 16.7573
+17.3143 8.85799 16.4044
+17.254 9.16149 17.3688
+16.9616 10.1083 17.7727
+16.7714 11.0837 17.9692
+16.1607 11.8667 18.1076
+15.3684 11.8568 18.7631
+15.9883 12.5998 18.991
+16.1234 12.8239 19.9086
+16.4647 12.8113 20.8372
+17.3061 12.4818 21.2563
+18.2083 12.454 20.9484
+19.2468 12.4562 21.1943
+19.7208 12.9756 21.9888
+20.2188 13.6788 22.5104
+20.4678 13.9971 21.6992
+19.9477 14.5595 21.0598
+20.3416 15.4935 20.9322
+19.9977 16.2078 20.364
+19.7911 16.313 21.3535
+18.9482 16.5552 20.7772
+18.1541 17.062 20.4941
+17.7495 17.3089 21.3314
+17.9593 18.101 21.9479
+18.1293 18.9222 22.481
+17.5945 19.808 22.3245
+18.0381 19.897 21.4452
+18.9293 19.4864 21.4794
+18.3059 19.3118 20.6875
+17.5189 19.4684 20.0598
+16.9257 19.501 19.2481
+16.3225 19.4035 18.4894
+16.5069 18.8443 17.687
+16.2796 17.8984 17.8835
+15.625 17.5118 17.1539
+15.5216 17.6829 16.1964
+15.3925 18.5954 15.8739
+15.0188 18.7318 16.8361
+14.3667 18.5062 16.099
+14.603 17.5967 15.7298
+13.6882 17.5014 15.492
+13.4781 17.2537 16.4252
+12.6576 17.8291 16.1227
+12.3499 17.3618 15.2685
+12.0101 16.5625 14.6911
+11.3373 15.9909 14.241
+11.186 15.0221 14.5238
+10.6156 14.2033 14.9464
+11.0084 13.3714 15.3326
+11.1171 12.5098 15.7421
+12.0899 12.6282 15.9472
+11.581 12.168 16.7489
+12.3511 11.8696 17.2488
+12.5318 12.3984 18.0429
+12.2291 12.6946 18.8684
+13.0153 13.2932 18.7989
+13.0916 13.5987 17.883
+12.8455 13.9076 16.9456
+12.0766 14.5127 17.0863
+11.8333 15.436 16.8775
+11.5649 16.0673 16.1249
+10.6416 15.9839 15.7936
+10.5534 16.6649 14.9875
+10.2334 16.4984 14.0952
+9.43961 15.9715 14.0547
+9.03355 15.8831 14.9381
+8.22201 15.4358 15.2748
+8.93338 14.954 15.7729
+8.97116 14.1353 15.2066
+9.4304 13.4775 15.7705
+8.90888 12.7052 15.5914
+8.30252 12.1169 15.1733
+7.35616 12.2006 15.4951
+6.58465 12.371 14.7728
+5.87971 11.6029 14.7993
+5.56158 10.6288 14.8947
+5.22668 11.0071 15.8069
+5.24141 9.98661 15.8459
+4.53885 9.37228 15.5816
+5.2051 9.13809 14.8058
+5.68299 9.20383 13.8818
+4.96363 8.68393 13.4792
+4.38355 7.89028 13.8245
+4.01211 7.13703 14.4879
+5.02717 7.11315 14.7406
+5.03486 6.57089 15.6559
+5.14786 5.71738 16.1433
+6.09961 6.03044 16.3463
+7.15589 6.05464 16.2717
+6.82647 6.81649 15.7113
+6.85893 7.46927 16.4647
+7.53272 7.97598 15.9967
+7.05816 7.87261 15.1254
+7.20985 8.47085 14.2821
+7.09502 9.14347 13.5156
+6.72613 8.48356 12.7501
+5.83874 8.42665 12.3118
+5.58601 8.74206 11.4499
+6.39839 9.35529 11.6589
+6.45003 10.3546 11.8319
+7.16795 11.0069 12.0758
+8.1168 11.2474 11.9593
+8.93326 10.6755 12.1198
+9.82558 11.2901 12.2002
+9.4204 11.7199 12.9774
+8.84002 10.8908 13.2842
+8.35334 10.3267 14.0109
+8.59387 10.4222 14.9361
+8.12856 9.59212 15.5564
+8.09146 9.06246 16.3807
+7.369 9.11843 17.1396
+6.72394 9.842 16.8317
+7.38222 10.2466 17.4243
+8.15515 10.3872 18.2317
+7.609 10.4469 18.9628
+7.58746 11.4051 19.1349
+8.53999 11.0589 19.3986
+8.53751 11.8972 18.8618
+8.86765 11.2472 18.2036
+9.04537 12.1824 17.9823
+9.89013 12.59 17.79
+10.7737 12.351 18.1789
+11.1201 11.6492 18.7466
+11.7487 11.2196 19.2693
+11.7661 10.2696 19.5344
+12.4996 9.66744 19.3187
+12.0537 9.77547 18.4128
+11.125 9.58933 18.2905
+10.2221 9.93494 17.891
+9.74631 10.1164 18.7655
+9.92477 11.1174 18.9535
+9.96832 12.029 19.3907
+9.48389 11.8199 20.1774
+8.57476 12.1316 20.0813
+8.51922 12.32 21.0354
+8.94754 11.6958 21.6863
+9.15156 11.786 22.6403
+8.16986 12.1177 22.7175
+7.89809 11.4373 23.3854
+8.0464 10.5132 23.2537
+7.97325 9.75229 22.4881
+8.19001 8.89031 21.9295
+9.13494 8.5262 21.8334
+10.0297 8.24878 21.9638
+10.2469 8.64931 22.8821
+9.37659 9.24143 23.101
+8.97993 8.561 23.6335
+9.05187 7.57281 23.5878
+8.14791 7.83222 23.9107
+7.4094 7.1732 24.0507
+6.45317 7.01045 24.0523
+6.10162 6.87344 24.9734
+6.58757 7.70149 25.3145
+7.4773 7.19742 25.4946
+7.12085 6.63329 26.2315
+7.4712 6.10311 26.9706
+8.42696 6.21189 27.0749
+8.48961 5.59768 26.3046
+9.38662 5.63683 25.8297
+9.12483 6.52001 25.4367
+9.37515 6.58717 26.3808
+9.57113 6.45104 27.3636
+8.87925 6.09017 28.0477
+9.13527 6.25604 28.9665
+9.45151 7.23862 28.9577
+9.65053 7.829 29.8291
+10.595 8.08736 29.6826
+10.677 8.93814 29.2567
+11.6349 9.11414 29.2177
+12.5069 8.83213 29.2888
+12.7623 8.0901 28.6803
+13.4103 8.00754 27.8694
+14.2206 7.83671 27.4408
+14.456 8.29833 26.6035
+14.7915 8.15743 25.6413
+15.8293 8.25021 25.7315
+16.8152 8.33383 25.8756
+16.4593 7.60074 25.2893
+17.3982 7.23634 25.0028
+16.8654 6.48573 25.3629
+17.1596 5.87812 26.077
+17.3661 6.01949 27.0451
+17.8031 6.48879 27.809
+17.414 5.59967 27.9816
+17.8242 4.71532 27.9694
+16.868 4.34483 28.0415
+15.8412 4.36508 27.9261
+16.0715 3.52071 27.4067
+17.0003 3.51808 27.09
+16.8018 2.6507 26.7018
+16.6122 2.72253 25.7225
+16.3459 1.72561 25.4962
+16.0574 1.65358 24.5383
+16.2094 1.18726 23.6466
+15.2165 1.54518 23.5883
+16.016 2.22306 23.5766
+16.2656 2.80695 24.3529
+16.3941 3.82275 24.4749
+17.395 3.7934 24.4429
+17.4663 4.60286 25.0086
+17.4792 5.37478 24.2957
+18.0445 4.98802 23.588
+17.6889 5.27339 22.7855
+16.7774 5.60914 22.5742
+16.3156 6.41509 22.1029
+15.6696 6.95068 22.6502
+14.8383 6.63766 23.1125
+14.4422 6.65109 22.1692
+14.0096 5.74515 22.0908
+14.7007 5.14436 22.511
+13.892 4.59396 22.5682
+13.9217 3.66508 23.0067
+14.5911 3.73498 22.333
+15.1773 2.88778 22.3476
+15.7804 3.45929 21.8987
+15.544 2.67591 21.2655
+14.5891 2.51601 21.4538
+14.8099 3.39992 21.1346
+14.0204 4.09352 21.0343
+13.4154 3.42779 20.5228
+13.5768 3.3206 19.4961
+12.7022 3.37282 18.9646
+12.129 3.80859 19.754
+11.5039 3.80211 20.545
+10.5177 3.64667 20.5645
+10.3122 4.53551 20.0988
+11.0821 4.80585 19.5938
+12.0461 5.00999 19.7545
+12.9282 5.18518 20.2402
+12.1678 5.46142 20.8857
+11.244 5.18679 20.845
+11.0927 5.59451 21.7601
+11.9424 5.47561 22.2453
+12.7584 4.85555 22.2154
+12.9189 5.47694 23.0419
+12.2022 5.75638 23.6755
+12.2494 6.7484 24.0122
+12.7527 5.91169 24.4317
+12.5469 6.04776 25.422
+12.9816 6.93404 25.513
+12.7535 7.87316 25.428
+12.0432 8.64806 25.4068
+12.4789 8.75815 26.2898
+12.297 9.60883 26.6852
+11.9193 10.5865 26.8473
+12.5767 11.0211 27.435
+13.3846 11.0468 26.7426
+14.0195 11.7814 27.1542
+13.5676 12.2683 26.4833
+13.6104 13.1202 27.0715
+13.5978 13.756 26.337
+14.098 13.6652 25.488
+13.2942 13.1782 25.1475
+14.1446 12.6096 25.1651
+14.9882 12.6501 24.7632
+15.5826 11.8557 24.993
+15.0319 10.9931 25.0832
+14.1952 11.2554 24.5913
+13.7741 11.8203 23.8935
+13.8677 12.5961 23.3038
+14.487 11.958 22.8525
+14.009 12.1503 21.9151
+13.1913 12.0692 21.3893
+12.337 11.8077 21.901
+12.3219 10.9203 22.4274
+11.4176 10.8934 22.064
+12.0967 10.7177 21.3677
+12.0724 9.67876 21.5099
+11.9971 9.19848 22.3516
+12.8148 9.71011 22.6171
+12.8217 9.00288 23.3219
+13.4273 8.7256 22.5672
+14.4067 8.55661 22.6469
+14.4981 9.38327 22.0038
+15.3802 8.82435 21.886
+15.8449 9.6161 22.1698
+16.4583 8.98237 21.6848
+17.1391 9.41266 21.0909
+17.4086 10.1934 20.5654
+18.039 10.7312 20.0625
+18.3232 9.85395 19.7043
+18.2668 9.79396 18.7341
+18.8318 8.97354 18.455
+19.2343 8.06916 18.5385
+19.0909 8.61904 19.3783
+18.9705 7.64701 19.7638
+19.5222 7.3597 20.4797
+19.0857 8.26074 20.8193
+18.3797 7.59697 20.5906
+18.4024 7.86092 21.5722
+17.4772 7.64416 21.875
+18.1031 7.82488 22.593
+18.6266 7.67745 23.4318
+19.4556 8.16978 23.6117
+19.7606 7.6273 22.8327
+20.5914 7.28695 22.3927
+21.0231 8.18287 22.4161
+21.7741 7.5324 22.3608
+22.5788 8.0147 22.7516
+23.2345 7.32933 22.4554
+23.0732 7.59519 21.4811
+22.872 8.59167 21.6301
+23.7645 8.60681 21.0869
+24.4555 8.8599 21.7555
+24.1773 8.55294 22.7151
+24.0106 9.5196 22.5149
+23.5124 10.4268 22.6033
+23.8256 10.5151 23.5158
+24.2026 10.0991 24.3368
+23.7821 10.5014 25.1331
+23.1286 11.2417 25.2881
+22.8646 12.1304 24.9832
+22.1333 11.3672 24.9137
+21.4922 10.9533 24.2037
+20.8837 11.499 24.7619
+20.9758 12.0946 23.9584
+20.068 11.839 23.6541
+19.5461 10.9213 23.5441
+19.5828 10.608 22.6493
+20.0219 9.78405 22.9331
+20.7304 10.1336 22.2888
+20.2343 10.1657 21.3704
+20.0963 10.6066 20.4646
+20.7865 10.3598 19.7267
+20.6465 11.3384 19.7834
+21.1554 11.6964 18.9409
+22.041 11.4814 18.5911
+22.1412 11.6938 17.649
+22.5117 12.5239 18.1617
+22.0768 13.2554 18.7114
+22.2944 13.9024 19.4316
+22.1322 14.4535 20.2681
+21.5315 14.13 21.0135
+22.1523 13.8908 21.7333
+21.4496 13.155 21.9829
+21.3336 12.8404 23.0148
+22.2509 12.8955 22.6433
+23.1985 12.9957 22.7062
+23.4671 13.7376 22.1221
+24.3535 14.2705 22.5377
+24.1679 14.2243 21.5137
+23.6853 14.7655 20.7878
+23.5707 15.4894 20.0898
+24.1752 14.8404 19.558
+25.1688 14.7719 19.6453
+25.9091 14.1186 19.79
+26.1756 14.7101 20.5274
+26.4611 15.2822 19.7668
+25.9608 16.2574 19.9325
+25.9955 17.2398 20.1182
+25.1035 17.6644 20.3808
+24.2423 17.1941 20.4092
+23.7836 18.093 20.1157
+24.617 18.6009 19.8733
+24.5662 18.1384 19.0541
+25.2501 18.7265 18.5122
+25.5338 18.5693 17.5808
+24.9974 18.0184 16.9055
+25.7868 18.5188 16.4714
+26.3464 18.2781 15.6333
+27.2651 18.5263 15.9035
+27.3488 17.5531 15.7293
+28.0729 16.9716 15.3887
+28.2321 16.5737 14.4459
+28.9311 15.8246 14.4899
+27.9883 15.4624 14.295
+27.8631 15.1389 13.3716
+27.7967 14.1754 13.3244
+28.2927 13.3183 13.4648
+27.597 13.2045 14.2161
+27.6843 13.9231 14.8043
+27.6693 13.8389 15.7308
+28.5107 13.3534 15.9867
+29.1415 12.7497 15.5877
+29.2829 12.0777 16.3218
+29.643 12.0472 17.2344
+30.4582 11.4762 17.0878
+30.5171 11.0142 16.182
+30.9061 11.7942 15.735
+31.5434 11.4124 15.0459
+31.6827 11.5566 14.074
+32.0381 12.3545 14.612
+32.1144 12.4546 13.6081
+31.7356 12.9726 12.888
+31.2845 13.003 12.0529
+32.1829 13.1169 11.887
+32.4745 13.69 11.1963
+32.6117 14.3796 11.9553
+31.7806 14.8741 12.2875
+30.9466 14.4826 12.0421
+30.0448 14.679 11.6203
+30.7218 14.7424 10.924
+30.6318 15.7587 10.7477
+29.8293 15.4833 10.145
+29.8937 16.2083 9.49561
+29.6214 15.5745 8.70904
+29.3426 15.5579 7.79061
+28.4281 15.3628 7.35388
+28.0886 16.1003 7.90098
+27.7108 15.4833 8.51819
+27.9589 15.1407 9.45728
+27.7753 14.4208 8.76483
+26.9919 13.8572 9.02829
+26.235 13.6961 9.73264
+25.3615 13.9616 10.1709
+25.3262 14.0501 11.1648
+24.786 13.7916 11.9375
+24.7626 14.8017 11.7839
+24.5079 15.4178 12.5428
+25.1695 15.1776 13.1945
+24.4849 14.4087 13.1682
+24.1061 14.1271 14.0861
+23.5057 13.4625 13.6537
+22.5554 13.689 13.4128
+22.4657 13.3749 12.4328
+22.9033 12.4873 12.8132
+22.9282 11.7236 13.5
+23.6789 11.1516 13.7968
+24.5005 11.0648 13.321
+23.8404 10.515 12.8319
+24.8031 10.2008 12.6798
+25.2833 10.8369 12.0532
+25.5789 11.7192 12.2712
+26.0547 11.6914 11.4636
+26.761 10.9773 11.2624
+26.6738 11.0808 12.2639
+27.1589 11.9669 12.2545
+28.0654 11.5692 12.1202
+28.0069 10.6684 12.4745
+27.7221 10.0971 11.6886
+27.2881 9.97827 12.5134
+27.0452 9.07285 12.055
+26.6665 9.20316 11.1773
+25.802 9.48018 10.8173
+25.0645 9.48338 10.2321
+24.9972 8.42864 10.2644
+25.0117 7.75715 11.0719
+25.7097 7.06637 10.7968
+25.776 7.46892 9.9335
+26.5535 8.14933 9.73523
+27.0069 8.17633 8.87412
+27.7869 7.585 9.02278
+27.9851 7.26817 9.98172
+28.3687 6.40915 10.3969
+28.598 6.23203 9.43955
+27.7752 5.63773 9.23617
+27.4015 6.08094 8.4251
+26.7117 5.60615 8.8303
+26.6316 5.21072 9.7514
+27.3464 4.64616 10.2678
+27.6676 4.36621 11.1734
+28.0981 4.4503 12.0524
+28.2838 5.29675 12.5024
+28.4826 5.85325 11.729
+28.8558 6.52358 12.3898
+29.8578 6.48325 12.4002
+29.9573 6.418 11.4378
+30.6093 5.96827 10.8221
+30.9723 5.48923 11.6814
+31.3339 5.13753 10.8228
+31.7401 4.8307 11.6634
+31.8002 4.51898 12.5284
+31.4082 3.66438 12.0931
+31.618 2.85125 11.5247
+31.4131 3.70272 10.9482
+31.106 3.60529 9.95626
+31.9102 3.32302 9.45034
+32.6225 2.74056 9.0702
+32.4429 1.80831 8.69111
+32.8304 1.52727 9.63894
+32.2509 0.7173809 9.73735
+32.2618 0.3755089 10.655
+32.4799 0.8727249 11.4647
+32.9921 1.32456 12.238
+32.7123 0.6962269 12.9227
+32.3654 -0.04575347 12.4784
+31.9311 -0.5688191 11.824
+32.4652 -0.5718451 10.9862
+32.7032 -1.22649 11.6997
+33.2921 -1.16322 12.4758
+32.5251 -1.55948 13.0232
+32.2727 -2.01543 13.8522
+31.5645 -2.50082 13.2842
+30.633 -2.63344 13.1256
+29.7153 -2.22651 12.9456
+29.3037 -3.01896 13.3582
+28.7665 -3.83535 13.7535
+28.9684 -3.13118 14.4203
+29.5225 -2.69218 15.1858
+30.0191 -1.88401 15.4541
+30.2574 -0.9183961 15.4671
+29.5799 -0.5191901 14.7901
+28.6234 -0.2231821 14.6062
+28.8819 -0.8168271 13.8588
+29.0384 -1.76169 14.183
+28.1278 -2.04136 13.7886
+27.2548 -2.15856 14.159
+27.6236 -1.42569 14.7849
+27.7361 -2.40069 15.178
+27.811 -1.88725 16.011
+27.7367 -1.28914 16.8692
+28.6775 -1.35889 17.003
+28.6251 -0.9200751 17.9543
+29.4162 -0.2614701 18.0738
+29.1151 0.7124329 18.1459
+29.8238 1.1205 18.7163
+30.7771 1.34721 18.5598
+30.591 0.6300639 17.9554
+31.0714 1.48413 17.6904
+30.8636 1.44601 16.6687
+30.5548 1.29915 15.6944
+29.8718 1.84738 15.1928
+29.6143 1.35819 14.3262
+29.0461 1.01151 13.5568
+28.5114 0.2082269 13.2592
+27.807 -0.3013751 13.8124
+27.7977 0.6368539 14.2126
+27.2785 0.5029049 15.1558
+27.0757 1.32665 14.5522
+26.8159 2.21731 15.0125
+26.0665 2.6268 14.443
+26.8088 3.17869 14.3151
+27.3168 3.78397 13.7
+27.0437 4.83091 13.7002
+26.4494 5.17594 14.3611
+25.8558 5.59864 15.1806
+25.5385 6.24294 15.8898
+24.9197 6.84144 16.4639
+24.0261 6.83301 16.0658
+24.8387 6.96379 15.4401
+25.091 7.84886 14.9146
+25.4984 8.66506 14.644
+24.9174 8.19028 14.0083
+24.9803 7.46032 13.3722
+24.9383 7.0548 12.4528
+25.1872 6.11485 12.1233
+24.6955 5.69751 12.9231
+24.974 5.10798 13.6718
+24.0912 4.84183 13.1106
+23.6736 5.66753 12.6751
+23.7903 6.66022 12.948
+23.1811 7.41961 13.0216
+22.8521 7.4029 13.9583
+22.9145 8.30941 14.357
+22.0128 8.21525 14.7906
+22.0767 8.59706 15.7661
+21.3705 8.88927 16.2644
+20.638 9.52502 16.5154
+19.9243 9.74341 15.8525
+19.9721 8.764 15.7418
+20.5039 8.31801 15.0143
+20.3204 7.46682 15.5035
+20.6502 7.29978 16.413
+20.1797 6.73823 17.0966
+19.9447 7.39575 17.8123
+20.7815 6.89556 17.8422
+20.5991 6.87648 18.8134
+20.3878 7.70939 19.2939
+20.3395 8.51042 18.6819
+21.3063 8.42672 18.6349
+22.0794 8.97078 18.3558
+22.7403 8.23112 18.2295
+22.5776 7.29831 17.8724
+21.8443 7.60736 17.2412
+22.6244 7.5743 16.6554
+22.6709 6.6474 16.2344
+21.8769 6.25624 16.6963
+21.6411 5.27534 16.4349
+21.4044 4.43869 16.7894
+20.6953 4.90482 17.1906
+19.7261 5.19132 17.0242
+19.125 4.52049 16.5856
+18.4615 4.23502 15.9183
+18.4663 3.29449 16.3488
+17.5473 3.46479 16.6625
+17.5518 2.43721 16.5451
+17.2551 1.99498 15.6895
+16.3002 2.00065 15.797
+16.0232 2.62167 16.4486
+16.7775 3.11226 15.995
+17.6517 3.14156 15.4493
+18.3489 2.42279 15.3454
+18.2752 1.83032 16.1651
+18.8708 1.45866 16.8591
+19.2578 0.5622509 17.0065
+19.1566 -0.4604981 16.6772
+19.9795 -0.7723401 16.145
+20.698 -1.43687 15.8937
+20.9733 -2.31359 16.4188
+20.4155 -2.40506 17.2711
+19.8343 -2.65031 18.0938
+19.0177 -2.09322 17.9989
+18.5928 -2.60087 18.7745
+18.7114 -2.48361 19.7239
+18.3091 -1.64334 19.4843
+18.3239 -1.08719 18.6601
+18.0202 -0.1604821 18.4309
+17.3496 -0.2581241 19.1829
+17.6878 0.6685109 19.084
+17.7321 1.58486 18.7388
+17.0236 1.7248 19.3724
+16.0115 1.63345 19.2339
+15.2573 2.15712 18.8643
+14.9131 2.75575 18.1013
+15.2803 3.66728 18.0768
+15.7718 3.2837 18.8639
+16.3993 3.31698 19.7336
+17.1839 2.98099 19.3106
+17.6599 3.48661 19.9631
+17.4067 3.26691 20.8806
+17.7646 2.82224 21.6513
+17.8814 2.12716 22.4321
+17.0173 2.1713 23.0445
+16.8144 2.83347 22.355
+16.0858 2.14421 22.3465
+16.5431 1.8218 21.6244
+16.7858 1.29133 22.4376
+16.6474 0.5232359 22.9767
+17.1979 -0.2060441 22.5871
+17.7818 -0.7755911 21.9754
+17.1633 -1.03579 21.2835
+16.9347 -1.91556 21.598
+17.6629 -2.55933 21.4431
+18.5033 -1.97609 21.4962
+19.3308 -1.4329 21.3108
+20.2602 -1.46698 21.5975
+21.0765 -1.09231 21.9634
+20.6068 -0.7352471 22.7681
+20.9554 -1.19296 23.5404
+21.1235 -1.79208 24.3595
+21.2277 -2.6375 23.8474
+21.4904 -3.51149 23.4063
+20.9532 -4.3649 23.6543
+19.9084 -4.28474 23.4854
+19.4574 -4.47401 22.5897
+18.5454 -4.07675 22.7384
+18.1012 -3.23911 23.0926
+17.2026 -2.89602 23.1774
+16.6113 -2.7612 22.4307
+16.2315 -3.03952 23.3451
+16.1863 -2.62778 24.2799
+15.6471 -1.85186 24.5237
+15.3467 -0.9407161 24.4315
+14.8039 -0.5984171 23.677
+13.9536 -1.10625 23.7479
+13.6612 -1.97233 24.0728
+12.8536 -1.30111 24.2574
+13.3289 -0.7748881 24.9697
+14.1542 -0.9713251 25.6229
+13.8667 -1.42687 26.4686
+13.1671 -0.7956861 26.4174
+12.9367 -0.4934561 27.3745
+13.6438 0.1397099 27.7149
+14.3599 -0.2063891 27.0974
+15.3496 -0.1084691 27.2634
+15.422 0.8396319 27.5963
+14.937 1.49949 27.0302
+15.3484 2.25432 26.4852
+15.0469 1.64273 25.7484
+14.5475 1.60717 24.7908
+13.6839 1.75413 24.3933
+12.7531 2.11225 24.3443
+12.0674 1.543 23.8684
+11.1555 1.8929 23.9129
+10.8903 0.9235539 24.0911
+10.5263 0.08736733 24.4069
+11.0392 -0.3241311 23.6567
+11.8945 -0.2473151 23.2749
+11.9724 0.01723833 22.3095
+12.4956 -0.8194661 22.1505
+13.3654 -0.5714861 21.7493
+13.8987 -0.08479677 20.9874
+13.992 0.2414319 20.0673
+13.5283 0.4633479 19.1494
+14.4096 0.03766453 19.0357
+14.1331 -0.7515811 19.4427
+13.3657 -1.40975 19.3156
+13.2367 -2.22755 18.746
+13.0963 -2.53942 19.689
+12.3388 -1.91823 19.6792
+12.1644 -2.84389 20.0062
+11.7658 -3.67595 20.0721
+12.5411 -4.19363 19.8568
+12.1506 -5.1891 19.8189
+12.9426 -5.45997 20.391
+12.5486 -6.3307 20.0521
+13.2952 -7.03782 19.7971
+13.0448 -7.53208 20.5997
+12.7839 -7.85449 21.5077
+12.4368 -8.77626 21.6179
+11.7645 -9.38857 21.8113
+11.466 -8.75665 22.5308
+11.2216 -7.90972 22.0624
+10.3419 -7.89423 22.5006
+9.40732 -8.1089 22.1225
+8.59823 -8.60052 21.9083
+8.13365 -8.9282 21.0817
+7.30919 -8.46582 20.8041
+6.68767 -7.82415 21.0558
+5.99098 -7.39027 20.5646
+6.14067 -8.25606 20.0501
+6.74806 -7.42881 19.9457
+7.5829 -7.65114 19.4379
+8.45775 -8.153 19.7189
+8.98295 -7.64388 20.3926
+8.17433 -7.013 20.4065
+8.09817 -7.3859 21.369
+7.49451 -6.6879 21.7915
+7.66291 -5.96774 21.0972
+6.83857 -5.40332 21.1161
+7.02275 -5.86384 20.2325
+6.4266 -6.25879 19.5523
+6.35386 -5.6544 18.782
+5.7076 -5.0502 18.9836
+6.17998 -4.30582 18.73
+7.14455 -4.39324 18.4456
+7.27459 -3.71899 17.7371
+6.9124 -3.36594 16.8486
+7.15069 -2.5768 16.2195
+7.50463 -1.66466 16.2182
+7.41679 -1.11303 15.3769
+7.68179 -0.1339621 15.32
+8.07345 0.6923019 15.7206
+7.23128 1.06244 15.4035
+7.14408 0.9192859 16.3659
+7.49396 1.80651 16.2209
+7.10564 2.44601 15.7041
+6.31987 3.06924 15.6758
+6.0303 3.10895 16.6279
+5.6705 3.94507 16.5099
+5.85497 4.88387 16.7838
+6.78068 4.99966 16.6716
+7.25452 4.15747 16.9231
+7.85243 3.45331 16.5704
+7.71253 3.39124 17.5538
+7.53709 2.61706 18.1913
+7.72496 3.00198 19.0683
+7.79887 2.02667 19.1714
+8.49208 1.4871 19.6708
+8.36159 1.55891 20.6034
+7.8145 0.7649859 20.9665
+6.8725 1.05723 21.2061
+6.20908 1.73362 21.0545
+5.8347 1.45265 21.9507
+5.43262 1.43983 22.8216
+6.08796 0.8774029 23.3744
+5.92931 0.3398649 22.5464
+5.36429 -0.2615721 23.0712
+5.17974 -1.20001 23.3508
+4.59644 -0.6913411 23.9877
+3.87627 -0.8958511 24.714
+3.57755 -0.1080181 25.1875
+3.49747 -0.8075501 25.9553
+4.21256 -1.15924 26.4847
+5.12075 -0.9898461 26.1085
+5.67654 -1.27851 26.9349
+6.23862 -1.99432 26.498
+6.73377 -2.83196 26.6388
+7.48094 -2.9473 26.0023
+7.65608 -1.98608 25.7287
+7.15773 -1.70592 24.8333
+7.62161 -1.27085 24.0622
+7.56162 -1.05121 23.1009
+6.69414 -0.5084451 23.1068
+6.35337 -1.26615 23.7342
+6.87885 -1.81663 22.9786
+6.40093 -2.44779 23.6367
+7.27132 -2.80054 23.2496
+8.02514 -3.41312 23.0356
+7.91844 -3.33761 21.9898
+8.63424 -2.86456 21.5824
+8.35811 -1.85594 21.6243
+7.59766 -1.39384 21.9681
+6.86067 -0.7537931 22.0281
+6.98259 -0.2116561 21.2268
+6.33134 -0.2871981 20.5128
+6.14301 -1.17461 20.0095
+7.20001 -1.05962 20.1519
+7.82257 -1.51866 19.5567
+8.28066 -2.21838 20.0863
+8.43099 -2.41182 19.1248
+9.06977 -1.6573 18.8504
+8.42653 -0.9714001 18.7296
+8.29426 -0.6263861 17.8424
+9.04591 -1.18407 17.3388
+9.61263 -1.20103 16.5206
+10.2753 -1.74154 16.0431
+10.4605 -2.57315 15.5817
+10.6931 -2.61225 16.5945
+9.77276 -2.61722 16.8742
+9.10664 -2.7243 16.1046
+9.08032 -3.52346 15.5337
+10.0451 -3.53114 15.8101
+10.5006 -4.47284 15.6442
+11.5081 -4.37182 15.887
+12.4714 -4.39639 15.7311
+13.013 -5.12665 15.2674
+13.9798 -4.78876 15.3651
+14.403 -5.4444 14.795
+14.24 -6.33479 14.3745
+13.3503 -6.00027 14.0778
+12.5142 -6.21892 14.5734
+11.8196 -6.24665 13.8257
+11.2182 -5.42189 14.103
+12.0959 -4.90054 14.4805
+12.4556 -4.21033 13.8387
+12.8554 -3.59554 13.1401
+12.4454 -4.10371 12.3643
+13.1547 -4.84287 12.5148
+13.8816 -5.49229 12.3638
+13.7241 -6.07333 11.5293
+14.2476 -6.79981 11.8653
+14.4677 -6.7284 12.856
+15.2978 -6.18664 13.1503
+14.8716 -5.27943 13.2733
+15.6174 -4.75357 13.6401
+16.2855 -4.69335 14.3652
+17.1399 -4.69725 13.7677
+18.0438 -4.37945 13.4832
+18.3097 -3.46467 13.8175
+17.6995 -3.13498 13.033
+17.5517 -2.60528 12.2349
+17.0227 -2.04485 11.6376
+17.3595 -1.39337 12.2906
+17.4574 -0.9459261 13.2247
+17.2028 -0.2270731 13.7886
+18.1047 -0.02609297 13.8543
+18.0745 0.02807103 12.8388
+17.5375 0.8129909 13.0154
+17.0034 1.46102 12.4577
+17.5091 2.20978 12.6914
+18.3821 2.57186 12.9633
+18.771 3.50686 13.2122
+17.8124 3.28661 13.5138
+17.8486 4.04853 14.1294
+16.8641 3.67118 13.8566
+16.2959 2.89223 13.4863
+15.7312 2.11705 13.8899
+14.9192 1.56163 13.9391
+15.0185 1.60425 12.9152
+15.0377 2.57532 12.594
+14.6755 2.70387 13.5171
+14.8917 2.76236 14.5173
+15.3862 3.64289 14.4759
+14.7822 4.19256 15.0068
+15.5881 4.80314 14.9911
+15.7974 5.44588 14.2167
+16.7475 5.5232 14.3016
+16.4874 6.12691 13.5056
+15.9885 6.77293 14.1419
+15.4059 6.75193 15.0102
+15.6756 7.71903 15.178
+15.4205 8.77725 15.0957
+16.1157 9.34749 14.6923
+15.6766 10.2323 14.3901
+16.4707 10.5344 13.7578
+16.3756 10.8009 14.7074
+15.9146 10.2444 15.3422
+15.5017 9.91119 16.1619
+14.5155 10.0219 15.9511
+13.7206 10.6986 15.7391
+13.8223 11.2264 16.6386
+14.0267 10.7513 17.5639
+14.625 11.5151 17.7013
+15.3403 12.1559 17.3043
+15.4529 13.073 16.8109
+15.5177 14.0727 16.7895
+16.5148 14.2177 17.1818
+16.0147 14.7441 17.8609
+16.139 15.5013 17.1051
+17.0689 15.7844 16.9837
+17.635 15.2034 17.6882
+18.4948 14.7407 17.4406
+18.8038 15.5021 16.8261
+18.757 15.0965 15.8578
+17.932 14.6551 15.5306
+17.6963 14.0688 14.7946
+17.9455 14.5387 13.9951
+17.9487 15.3255 13.4463
+17.8977 14.6258 12.733
+17.2275 14.1348 12.1206
+16.3371 14.5395 12.3725
+15.4296 14.8042 11.9226
+15.2533 13.982 12.502
+15.5794 13.309 13.1093
+14.5621 13.286 13.1529
+13.7999 12.8733 13.6859
+13.049 12.2501 13.7089
+13.7589 11.5623 13.544
+13.5874 11.9255 12.6375
+13.2762 11.0123 12.3992
+12.6149 11.6658 11.8082
+12.2432 10.7019 12.0759
+11.7083 10.9276 12.8226
+10.8924 11.2952 13.3041
+11.6 11.9095 13.6206
+11.6443 11.0788 14.2031
+10.9854 11.5259 14.7483
+11.0994 12.5012 14.5121
+11.9514 12.9509 14.261
+12.8162 13.4847 14.0428
+12.6957 13.3024 14.9871
+13.6854 13.0686 15.1369
+14.4244 13.3913 14.6769
+15.3142 13.8409 14.7357
+15.4861 14.5841 15.3272
+16.475 14.7416 15.2022
+16.4649 15.1616 16.1065
+16.2243 15.9974 15.6129
+15.3923 15.9487 15.1028
+14.483 15.5423 15.2387
+13.6661 15.5892 14.671
+14.0927 15.2353 13.9017
+13.6469 15.9604 13.3155
+12.9747 16.3915 12.7649
+12.8224 16.1547 11.8153
+12.8219 16.0218 10.815
+13.7252 16.1217 10.4299
+14.6619 16.5295 10.3567
+14.3581 17.463 10.2058
+13.8325 17.2023 11.0875
+14.4991 17.1258 11.8406
+15.2866 16.8565 11.295
+15.2864 15.9323 11.7371
+16.2452 16.3894 11.8105
+16.9695 17.022 12.0102
+16.1996 17.5726 12.2531
+16.1809 17.1405 13.1952
+16.4545 18.0939 13.438
+16.03 18.5861 12.7095
+16.6017 19.0399 12.1635
+16.7842 19.332 11.2239
+16.3131 18.8931 10.4369
+16.8223 18.2996 9.88084
+17.4382 18.4968 9.1722
+17.3506 19.4998 9.00489
+18.2344 19.8665 8.88494
+18.4288 19.6 9.80912
+19.1668 20.2736 9.89006
+19.3947 19.3696 10.3923
+19.0261 18.5265 10.7461
+19.3562 17.8099 10.1494
+18.7329 17.0313 10.1668
+18.5336 16.5454 11.0287
+18.8476 16.1584 11.8839
+18.9873 15.3766 12.4033
+19.9303 15.3134 12.8511
+20.1622 15.7924 13.7522
+20.3819 16.764 13.5707
+20.3135 17.7435 13.2203
+21.1554 17.3668 12.7187
+21.4773 16.8031 13.4755
+21.1308 17.2848 14.3137
+21.0082 17.6015 15.2691
+21.9898 17.6738 15.4
+22.6724 18.2169 14.9811
+23.0393 18.6042 15.9023
+22.2954 19.1662 16.2065
+21.3295 19.4301 15.986
+21.4754 20.3446 16.2555
+22.2826 20.9876 16.2465
+22.9901 21.6448 16.1999
+22.4186 22.409 16.3807
+22.3111 22.2065 17.3643
+21.3078 22.0635 17.3979
+20.7168 22.2917 16.5955
+20.0757 23.1393 16.5682
+20.6021 23.3766 15.6682
+21.2907 23.2212 15.0526
+21.4527 23.0494 14.0534
+21.2031 22.7479 13.114
+20.8891 22.0665 12.4673
+21.003 22.3934 11.4438
+21.9296 22.0218 11.271
+21.7755 22.8674 10.7622
+22.1979 23.6565 10.1577
+21.6368 23.132 9.56656
+21.6017 22.158 9.25279
+20.8751 21.5889 9.0248
+20.6723 21.1861 9.8886
+21.5199 20.8774 10.2643
+22.4274 20.5671 10.5172
+22.2045 19.8366 9.86317
+21.5171 20.2226 9.25974
+21.0336 19.5326 8.75793
+22.0063 19.4362 8.65897
+22.3621 18.901 7.87705
+22.5344 18.2411 7.1336
+22.4731 18.5512 6.20765
+23.0626 19.3795 6.4161
+23.8881 19.2019 5.93872
+24.5048 19.8065 6.50232
+23.8287 20.5659 6.71579
+24.6918 21.0254 6.81089
+24.9741 20.6742 7.69016
+24.6022 20.5034 8.58948
+25.4179 20.1546 9.04365
+25.3062 20.9639 9.69263
+24.8888 21.6591 10.192
+25.2749 21.1434 10.8889
+24.6428 20.4454 10.651
+23.8079 20.0391 10.4152
+24.0629 19.1429 9.98533
+23.9332 18.2254 10.4221
+23.1442 17.7659 9.9879
+22.3307 18.2146 10.2991
+22.987 19.0578 10.4323
+23.1028 18.385 11.1968
+22.2211 18.0042 11.5863
+21.9669 17.0815 11.2047
+21.1516 16.6669 10.8193
+20.4243 17.0261 10.1483
+20.8685 16.3287 9.59375
+20.6551 15.7767 8.78041
+21.0277 14.9284 9.12023
+20.2903 14.3195 9.37903
+20.3929 13.4785 8.88384
+20.7175 13.6374 7.98118
+20.1244 14.0164 7.29026
+19.559 13.5743 6.5547
+18.6524 14.1218 6.44803
+18.9867 14.8943 6.07582
+19.5157 15.8305 6.2228
+19.6263 15.8903 7.22584
+18.6753 16.0159 7.57949
+18.0633 16.0041 6.76496
+17.6519 16.4867 7.52317
+16.9538 15.731 7.30002
+17.4945 15.2585 8.00492
+18.3597 14.7803 8.04276
+17.7633 14.0963 8.53011
+17.5685 13.899 9.58825
+16.7208 13.3519 9.4178
+16.4625 14.3063 9.69108
+15.4673 14.3528 9.83254
+15.2014 13.8555 9.07364
+15.6845 13.8458 8.24886
+15.0611 14.1806 7.51169
+14.7588 14.9564 6.84024
+15.1624 15.7187 7.2821
+14.7554 16.4364 7.79303
+15.2197 17.081 7.15181
+15.4646 17.7063 6.57195
+15.3149 17.919 5.56208
+15.8698 18.6208 5.02944
+16.6744 18.0684 5.1697
+16.8531 19.0408 5.46118
+16.8749 19.9881 5.24392
+15.9892 19.7413 4.98988
+15.5017 20.105 5.77774
+16.2219 19.89 6.41284
+17.1742 19.6734 6.76123
+17.7305 18.8552 6.45816
+18.2116 19.0144 5.64258
+19.0091 18.4102 5.89256
+19.8839 18.5958 5.36507
+19.5244 19.2023 4.74854
+18.6165 18.8041 4.6644
+17.792 19.2578 4.31094
+17.3845 18.3862 4.53743
+18.2219 17.8254 4.70771
+17.5434 17.1645 4.32621
+17.5012 17.0215 5.38492
+16.5634 16.6562 5.33521
+15.6053 16.3395 5.58528
+15.6139 15.3633 5.18566
+15.398 14.442 5.45997
+15.5885 13.8729 4.66391
+16.2434 14.5676 4.27351
+15.3225 14.8393 4.0477
+14.4797 14.3061 4.14991
+14.1845 14.3993 5.11096
+13.6612 15.1935 4.72451
+13.5612 15.9442 4.15077
+14.0864 16.8226 4.12674
+14.6926 16.2967 4.69114
+14.2026 15.9611 5.50192
+14.0166 16.9146 5.44214
+13.9642 17.3213 6.31458
+13.0882 17.8092 6.18386
+13.7892 18.1904 5.50203
+13.0982 17.9219 4.92647
+13.3268 18.6126 4.16664
+12.3689 18.4193 3.88847
+12.6196 18.9107 3.05041
+12.5906 19.4076 2.10114
+12.0424 19.429 1.18129
+11.871 18.4713 1.32918
+12.4666 17.9943 2.05333
+12.0161 17.2156 2.57535
+11.3012 17.8107 2.2617
+10.4496 18.3013 2.35885
+10.3776 17.4481 2.88904
+10.9705 17.0402 3.58335
+11.5962 16.2452 3.489
+11.483 16.2669 4.45819
+11.931 15.6555 5.06229
+12.6526 14.9789 5.33079
+12.0799 15.1275 6.14705
+12.1439 14.1916 6.13907
+12.522 14.667 6.96599
+12.8841 14.5011 7.927
+12.6994 13.5457 7.80812
+12.3322 13.8284 8.68457
+12.7426 13.8183 9.59573
+12.0214 13.2756 10.0035
+11.2505 12.9329 9.55791
+10.8086 12.5733 10.3719
+10.7954 11.8271 11.1073
+11.0625 11.2346 10.3972
+11.2731 11.0786 9.47815
+12.1008 11.41 9.99709
+12.4027 12.1603 9.4229
+13.2517 11.7994 9.7734
+13.5428 12.6247 10.3084
+14.2323 12.0228 10.6596
+15.1582 11.7366 10.9492
+15.5228 11.3262 10.0169
+15.4211 10.3585 10.2133
+15.8885 10.0942 11.0542
+16.5886 10.5255 10.4911
+17.0373 10.0073 9.77018
+17.4404 10.6927 9.1359
+17.8692 9.8623 9.28847
+18.5763 10.2292 8.76274
+18.6042 10.1983 7.73707
+19.0461 11.0258 7.50965
+18.5637 11.905 7.30521
+17.907 11.5724 6.6345
+17.3787 12.4894 6.60868
+16.8263 12.809 5.78249
+15.9046 12.7628 5.96922
+15.5444 12.4975 6.90489
+15.7477 12.4495 7.91157
+14.8843 11.9721 8.21424
+15.3649 11.0636 7.92001
+14.5537 11.0266 8.38458
+13.911 10.3602 7.98426
+14.5215 10.3482 7.20926
+14.2855 10.7313 6.29749
+15.2111 10.3873 5.87935
+14.3701 9.97972 5.50932
+15.1289 9.27891 5.54982
+14.7949 9.18553 4.56881
+13.8455 9.05529 4.24786
+13.4861 9.93024 4.05556
+14.2074 10.5553 4.26958
+15.1695 10.8274 4.12061
+15.7573 10.9734 3.29737
+16.2898 10.3924 2.77087
+16.5215 11.4172 2.58414
+16.8779 12.3559 2.61478
+17.8423 12.3099 2.86551
+18.2308 11.5421 3.3763
+18.7711 11.2786 2.59253
+18.5241 10.5567 3.1778
+17.6402 10.1675 3.29857
+17.9899 9.6455 2.53635
+17.1171 9.31009 2.84637
+17.5084 8.67863 2.14551
+16.7521 8.11107 2.39058
+15.9163 7.8293 1.93882
+16.3946 7.1862 2.62267
+17.3404 6.97117 2.55458
+18.1118 7.4214 2.35014
+18.213 7.12739 3.32134
+17.8082 7.05824 4.17018
+17.0476 7.6385 4.07316
+16.1004 7.79027 4.09454
+15.1658 7.57064 4.13954
+14.506 8.23468 3.86142
+14.296 8.08077 4.81747
+14.5486 8.17906 5.81883
+14.9319 7.25425 5.82935
+15.4664 6.34456 6.02844
+16.1125 5.88293 5.49722
+16.3847 5.58273 4.57015
+15.5125 5.7189 4.13072
+15.7803 6.57176 3.80818
+16.0304 5.86663 3.09623
+16.354 5.36411 2.28634
+15.3338 5.20565 1.96928
+14.8448 6.07287 1.91484
+15.8129 6.33367 1.89842
+16.0444 5.79509 1.08776
+17.0472 5.62599 1.07818
+17.8956 6.01745 0.8630721
+18.6324 5.51386 0.3138321
+17.9136 5.47825 -0.4158689
+18.0723 6.43149 -0.7665279
+18.3554 7.24387 -0.2624609
+17.6132 6.80119 0.1294671
+17.2129 7.69613 0.1396261
+18.0252 8.2951 -0.07826198
+18.6186 8.4138 -0.8051169
+19.5116 8.19277 -0.7060639
+20.4521 8.05294 -0.6483929
+20.0597 7.84971 0.2284561
+19.8416 8.38334 1.05878
+19.2819 8.84825 1.68716
+19.5661 7.89978 1.9004
+19.7917 8.0439 2.86043
+19.6482 9.01398 3.21442
+18.8607 9.14185 3.85663
+18.1944 9.91212 3.94876
+19.0777 10.4014 4.05709
+19.1788 10.731 4.92496
+19.3436 11.51 4.25781
+19.7737 12.4187 4.55798
+19.3215 13.2369 4.95826
+19.8843 13.9997 4.6652
+20.7075 13.9872 4.08675
+20.8062 13.1298 4.51002
+21.5029 12.6408 3.94192
+22.4732 12.8027 4.00894
+22.7031 11.8094 4.18152
+23.5138 12.4212 4.28765
+23.2241 12.3101 5.23429
+23.9429 12.8917 5.61721
+24.5684 13.5807 6.07552
+24.3402 13.1322 6.92012
+23.4316 13.278 6.63948
+22.7182 13.4074 5.85343
+21.8295 13.4832 6.25584
+22.0436 12.6821 5.69023
+22.5927 12.5155 6.50435
+22.7927 12.2074 7.37066
+22.1695 12.546 8.1813
+22.2538 12.8024 9.17371
+21.9004 12.7497 10.0471
+22.3044 11.8989 10.3188
+22.8594 12.3801 11.0917
+22.0699 12.8487 11.156
+21.2527 13.0431 11.6782
+21.1154 13.9304 11.3386
+20.5372 14.0182 12.0985
+19.7068 14.5643 11.9648
+19.7369 15.3716 11.3794
+20.0015 14.5355 10.9069
+19.2966 13.8711 10.5771
+18.4842 14.2468 10.2931
+18.7478 14.2065 11.2661
+18.2032 13.4789 11.8513
+18.6599 13.0624 11.0545
+18.7346 12.57 11.9273
+18.0278 12.0408 12.43
+17.976 12.0392 13.4603
+18.0319 11.445 14.2467
+17.2463 12.049 14.4018
+17.5361 12.1362 15.3963
+17.8653 13.0733 15.4419
+18.5203 12.9425 16.2555
+18.4918 13.3793 17.2141
+19.3637 13.0471 17.4561
+19.9321 13.3232 18.2378
+20.8556 13.5538 18.1943
+20.6015 14.4633 18.4028
+19.6153 14.3467 18.5049
+19.8316 15.245 18.0828
+20.2601 15.7254 18.8136
+20.7808 15.2805 19.526
+21.4825 15.7305 18.9925
+22.2619 15.6653 18.3682
+22.5808 15.2287 17.5642
+21.7484 15.3141 16.9717
+22.273 16.1162 16.8026
+23.0704 16.0782 16.0775
+22.4949 15.6717 15.4303
+23.286 15.0081 15.1313
+23.1355 14.1893 14.5591
+22.256 14.5035 14.1009
+22.0556 15.5063 14.0068
+21.2226 15.0407 14.4041
+21.1227 14.0404 14.4003
+20.3752 14.5059 13.9666
+19.7695 14.755 14.7241
+19.8731 13.9544 15.2835
+19.5242 13.3947 14.672
+19.5863 12.5474 14.0739
+19.7546 11.698 13.6058
+18.969 11.3841 13.0597
+18.6996 10.6514 12.5387
+18.8622 9.67551 12.6989
+18.038 9.24133 12.5955
+18.6392 9.31473 11.7716
+18.6868 8.46287 11.227
+19.2948 8.16612 10.4259
+19.8464 7.77481 11.2132
+20.4819 7.67456 11.9589
+21.0561 7.19721 11.3141
+21.9664 7.0753 11.6683
+22.179 6.0818 11.5034
+21.4304 5.54067 11.1646
+20.7783 5.12166 10.5904
+20.398 4.24892 10.7955
+20.2335 4.10001 11.8253
+20.9272 4.39452 12.4451
+20.7076 5.33998 12.6506
+20.6335 5.06659 13.662
+19.8085 5.32309 14.1373
+19.9625 6.305 14.1019
+20.0946 7.27177 14.1489
+19.624 7.85267 13.4829
+19.6556 8.35495 14.3325
+19.18 7.49653 14.5767
+18.6673 7.35947 13.7655
+18.4031 6.40598 13.9952
+18.3237 6.61867 12.9918
+17.7766 5.70658 13.1411
+17.3905 5.85388 12.216
+17.1913 5.06922 11.6532
+16.9757 4.41974 10.9733
+17.8524 4.83796 10.897
+18.195 5.13896 11.7722
+18.2499 4.35244 12.3649
+18.7167 3.46935 12.1607
+18.2112 2.78193 11.4775
+18.8905 3.27675 10.988
+19.5001 3.19169 10.2264
+19.6799 3.37713 9.28296
+19.2264 3.02744 8.50412
+19.7514 2.41417 7.92111
+20.7727 2.60482 8.03476
+20.8462 2.56871 9.0693
+21.298 1.99271 9.77649
+20.4385 1.60842 9.39709
+21.2976 1.05709 9.21538
+21.0839 1.61691 8.47806
+21.5415 1.86407 7.57895
+22.26 1.27953 7.13544
+23.0025 1.8977 6.8
+22.8722 2.90277 6.94745
+22.5839 3.04646 7.84231
+22.8303 2.43921 8.67593
+22.8686 3.1503 9.40583
+22.1538 3.18751 10.1222
+22.2623 2.37394 10.6621
+21.9513 1.63877 11.2347
+21.3278 1.17209 10.701
+20.6982 0.6090099 11.1874
+20.3548 -0.3121531 10.8289
+20.9036 -0.4925011 9.90508
+20.9484 -0.3618771 8.94589
+21.0168 -1.21154 8.47818
+20.6711 -1.72528 9.27859
+20.4593 -2.68599 8.93689
+21.067 -2.17667 8.30623
+21.5186 -2.98181 8.20403
+22.4589 -2.78401 8.20534
+22.5358 -3.75406 8.29585
+23.364 -3.93231 7.6576
+24.191 -4.4657 7.44335
+24.8769 -3.92756 7.00437
+25.8787 -3.96985 6.93134
+25.7531 -3.29658 7.62221
+25.708 -2.77686 8.4424
+24.8569 -3.02408 8.9801
+25.2622 -3.94354 8.5561
+26.216 -4.24368 8.25607
+26.8575 -4.52807 8.89948
+27.7534 -4.66557 9.30924
+28.1603 -4.84839 10.168
+28.3655 -5.8327 10.0357
+28.7972 -5.90485 9.10794
+29.6565 -6.04956 8.6125
+29.0442 -6.73112 8.2771
+28.7084 -7.35311 9.0786
+27.8271 -7.71089 9.52029
+27.5205 -8.65644 9.4751
+27.9472 -8.93506 10.3241
+28.0913 -9.17991 11.3133
+27.1198 -9.32855 11.1122
+26.6809 -8.76551 11.7431
+26.9527 -8.07701 12.3728
+26.8916 -9.02596 12.8262
+26.0044 -9.44484 13.1125
+25.0083 -9.31367 13.0042
+25.0107 -9.83203 13.8678
+24.2459 -9.37602 14.3134
+23.9267 -10.0762 14.9168
+23.3046 -9.44817 15.3878
+23.9309 -8.65907 15.18
+24.7695 -8.55344 15.8514
+25.736 -8.79718 15.7891
+26.3092 -8.52656 15.049
+26.9609 -9.29796 15.153
+26.2762 -9.90922 15.5983
+26.5549 -10.7917 15.9141
+27.056 -11.2009 16.6682
+26.6309 -10.7269 17.4577
+27.1803 -11.3507 18.1629
+28.0937 -11.2992 18.3899
+28.4096 -10.3546 18.5428
+27.593 -9.73103 18.7169
+26.6303 -10.074 18.6181
+26.0576 -9.31439 18.7435
+25.1427 -9.60854 18.4491
+24.3498 -9.19665 18.824
+24.7083 -9.28456 19.7586
+23.7524 -8.99751 19.757
+23.0134 -9.29806 19.2283
+23.1569 -10.0777 18.6791
+22.5737 -10.4684 19.3813
+21.6931 -10.7288 18.9969
+21.6321 -10.5786 19.9505
+21.9458 -9.66164 20.1215
+20.8998 -9.48542 20.1672
+19.8548 -9.46035 19.8426
+19.1501 -8.79308 19.421
+18.7747 -9.62441 19.8162
+18.1871 -8.9833 20.2435
+18.0983 -7.97738 20.4616
+17.1559 -8.31898 20.6368
+16.3774 -7.97736 20.0721
+16.7115 -7.22429 19.3644
+16.7216 -7.50962 18.3581
+16.9351 -8.34218 18.7308
+17.9254 -8.32598 18.4371
+17.942 -7.33284 18.5897
+18.6277 -6.8125 19.0329
+18.9402 -7.31024 18.2833
+19.7965 -7.466 18.7433
+20.6677 -6.97225 18.4948
+21.4644 -7.30109 18.0263
+22.4525 -7.1368 18.0099
+22.735 -7.6898 18.7856
+23.4882 -7.05732 18.4721
+24.2051 -6.39175 18.8165
+23.6709 -5.83635 19.3963
+24.2576 -5.27224 18.911
+24.5146 -4.43242 18.4615
+25.0901 -4.36481 19.2324
+25.8861 -4.18578 19.7217
+26.756 -4.77062 19.8302
+26.5762 -4.59339 18.9026
+26.321 -3.65699 18.5097
+25.4675 -3.9851 18.1081
+26.003 -4.25226 17.2657
+25.914 -3.40622 16.7261
+25.3386 -2.74685 17.0598
+24.5083 -2.59869 17.628
+24.353 -1.6507 17.7183
+24.5477 -1.25116 16.8366
+24.2624 -0.3554061 17.0724
+24.6049 0.5765039 16.8174
+23.7579 1.18778 16.7854
+22.7308 1.04334 16.7444
+22.3534 0.5301389 17.4521
+22.2394 -0.3968491 17.3389
+21.2361 -0.3002691 17.3099
+21.0356 0.1000309 18.1664
+20.8863 1.09116 18.541
+20.1489 1.6226 18.1068
+20.8444 2.26317 18.3809
+21.8476 2.41441 18.5968
+22.8307 2.35382 18.9504
+23.4938 2.18501 18.2916
+24.0694 2.98942 18.5142
+23.7847 3.87563 18.0593
+24.1429 3.68633 17.1686
+23.3563 3.90903 16.6623
+23.9225 3.61649 15.9081
+23.6866 2.71283 15.6802
+23.9915 2.20917 14.8684
+24.2533 1.25463 14.6507
+24.2083 0.2856159 14.1855
+24.6972 -0.2828801 13.5044
+25.3323 -0.9143561 13.0177
+24.4435 -0.9556241 12.6494
+23.8093 -0.3761921 12.0588
+23.129 -0.09480627 12.7254
+22.3448 -0.03636327 12.2134
+21.8372 0.5727999 12.8023
+21.1964 -0.04394527 13.2661
+20.4183 0.5832549 13.5615
+19.7406 -0.1338651 13.7141
+19.9241 -0.4323101 14.6629
+20.4225 0.4351609 14.5612
+20.7314 0.5690049 15.5011
+20.6412 1.47518 15.93
+19.8008 1.98473 16.1373
+20.12 2.722 15.4771
+20.8411 2.67032 14.8827
+21.1521 2.62051 13.9107
+22.1759 2.75629 13.7956
+22.5263 3.72773 13.7558
+22.3387 4.57346 13.2673
+22.4909 4.81634 12.3019
+22.6659 4.19512 11.4962
+22.8384 3.48662 12.1904
+23.2497 2.58777 11.9972
+24.106 2.28111 12.3236
+24.4148 3.13376 12.7295
+24.6359 3.35353 13.7121
+25.3989 2.83401 13.281
+26.0857 2.99295 12.596
+26.0085 3.71373 11.9288
+26.0111 3.59452 10.9443
+25.4977 4.36156 10.5891
+24.7839 4.61631 11.2226
+24.4542 5.34458 10.5669
+24.5491 6.31787 10.2846
+24.6429 7.15676 9.71315
+24.1171 6.99247 8.87375
+24.5135 6.08176 9.1085
+24.1089 5.24644 8.63671
+24.126 5.01816 9.55213
+23.1783 4.65669 9.32927
+23.2772 4.37954 8.37432
+22.4755 4.69568 7.90092
+21.5543 4.26141 8.14256
+21.357 5.17534 7.67798
+21.9556 4.61231 7.11575
+21.5202 5.21756 6.4731
+21.1163 5.72286 5.65908
+20.7901 4.72159 5.52383
+20.0561 5.27122 5.96658
+19.5905 4.36422 5.98738
+18.8925 3.84776 6.55668
+18.9182 3.5126 7.50986
+18.6683 2.66586 7.0389
+18.4012 1.72606 6.83764
+19.2921 1.38547 7.10959
+18.6182 0.6295859 7.37568
+17.7381 0.3282519 7.53544
+16.9553 0.7679439 7.8646
+16.491 -0.1432011 7.92852
+16.529 0.03088953 6.88224
+17.1485 -0.6717561 6.4172
+16.2144 -0.4994131 6.10366
+16.4191 -0.9401671 5.27855
+16.7548 0.05541173 5.14545
+17.2969 0.6542919 5.78616
+16.6702 1.31775 6.06899
+16.7346 2.20423 5.71487
+17.118 2.84101 5.11831
+17.982 2.48739 5.07126
+18.168 1.68814 4.48709
+18.5423 2.17525 3.66616
+18.084 1.32794 3.38319
+18.0979 1.94762 2.6148
+17.4737 2.69719 2.92886
+17.0152 2.81961 3.79571
+17.5337 3.62875 3.63002
+16.8636 3.99115 2.94544
+16.2617 4.0202 3.7301
+15.9384 4.2905 4.70389
+16.5576 3.74767 5.176
+16.0472 3.0774 4.61321
+15.2447 3.34009 5.1408
+14.5646 3.18019 4.35178
+14.3574 3.87379 3.6505
+15.2052 4.34879 3.59691
+15.5249 3.5713 3.042
+15.1947 2.8446 2.49848
+15.181 3.61409 1.79882
+16.1282 3.80306 1.58571
+17.0061 3.87741 1.11396
+17.8004 4.30974 0.8464351
+18.0316 3.92305 -0.04146558
+17.5464 4.30734 -0.7790049
+17.6257 4.84049 -1.61252
+18.4279 4.68408 -1.02274
+18.8666 4.01016 -1.66149
+18.5236 4.4945 -2.36173
+17.9874 4.10445 -3.12617
+17.1884 4.55622 -3.41212
+17.1921 3.62219 -3.7827
+17.8373 3.14204 -4.45023
+18.6435 2.78035 -3.90193
+18.3533 2.59882 -2.99558
+18.2102 2.24571 -2.05646
+18.5831 1.39776 -1.58487
+18.6608 0.7311069 -2.22397
+19.5718 0.2995869 -2.03733
+19.7881 -0.5598691 -1.59136
+18.7718 -0.4852421 -1.63809
+18.2818 -1.29094 -1.24784
+18.5468 -2.03073 -1.83792
+17.6713 -1.65228 -1.9469
+16.9077 -1.4301 -2.57807
+16.1369 -1.66781 -3.09849
+15.8229 -0.8544261 -2.70826
+15.6489 -0.1632041 -1.96239
+14.8938 -0.2436231 -2.63166
+14.6191 -0.9791421 -3.24923
+14.0702 -0.6992321 -4.04612
+13.1882 -1.13551 -3.70727
+13.6023 -2.00409 -3.5806
+13.8631 -2.86247 -3.21928
+13.8704 -3.29267 -4.08488
+13.9131 -3.7108 -5.0374
+14.7521 -3.96765 -4.52881
+14.4687 -4.52005 -3.80194
+14.4677 -5.04383 -2.95204
+14.9267 -5.02814 -2.11171
+14.4403 -5.24038 -1.26444
+13.8341 -4.8443 -1.96436
+13.6093 -4.32059 -1.10751
+13.0657 -3.80346 -0.4171149
+12.4482 -3.58222 0.4058601
+11.6861 -3.83456 -0.1792279
+10.8145 -3.66754 0.2613781
+10.7913 -2.9544 0.9450551
+10.546 -2.00278 0.7589961
+9.92685 -2.1163 1.52118
+9.66215 -2.64755 0.6709331
+9.62183 -3.32867 -0.03365398
+8.94502 -3.86919 -0.4797269
+9.56917 -4.70117 -0.4249999
+10.0272 -4.64316 0.4623261
+10.1314 -4.44678 1.43843
+10.2863 -4.99697 2.26067
+9.61917 -5.69568 1.88521
+9.17893 -6.41581 1.30033
+8.52127 -5.65002 1.17264
+8.40721 -5.22422 2.12406
+7.72496 -4.48015 2.41244
+7.00819 -3.96508 2.72308
+6.4615 -3.38729 3.25413
+5.82997 -3.50201 4.01959
+5.2882 -4.18131 3.56289
+5.63704 -5.08939 3.59089
+6.60332 -5.07577 3.9497
+7.41771 -5.24707 3.44874
+7.09469 -6.06525 3.85836
+6.62923 -6.27142 2.91488
+7.45626 -6.65178 2.40383
+8.38859 -7.01954 2.8063
+9.37172 -6.77611 3.01545
+9.92293 -7.47324 2.63004
+10.5214 -8.28603 2.74904
+9.95689 -9.15912 2.79169
+9.35864 -8.38444 2.86694
+9.52663 -8.95596 3.6463
+9.76081 -8.13024 4.20131
+10.2249 -7.40606 4.61032
+10.9593 -7.29482 5.20935
+11.784 -7.81429 4.90053
+12.5144 -8.25436 4.3606
+12.3263 -8.25922 3.30985
+12.1841 -9.21251 3.60666
+12.1552 -9.67441 4.40139
+11.8877 -10.5227 4.80527
+10.9798 -10.0659 4.95835
+11.0864 -9.4642 5.7241
+11.0005 -8.90728 6.61091
+11.2028 -9.38213 7.44696
+11.4668 -10.3909 7.56265
+12.3829 -10.1545 7.78831
+13.3312 -10.0689 7.45692
+12.6401 -9.53514 6.94785
+12.5548 -8.58918 7.17798
+13.1472 -8.12698 7.81624
+13.1834 -8.75206 8.54831
+14.1576 -8.84908 8.58651
+14.0259 -8.63429 9.56395
+14.3016 -8.59096 10.5417
+14.1278 -8.24814 11.4399
+14.885 -8.84095 11.2531
+15.3957 -8.37564 11.9097
+15.2077 -7.416 11.8338
+15.5989 -6.47061 12.0808
+15.3447 -5.53915 12.0954
+16.1733 -5.10501 12.3195
+16.9419 -5.53537 11.8248
+16.9264 -5.3013 10.8234
+17.5556 -5.80347 10.2906
+18.4449 -5.63805 9.92614
+19.4134 -5.82195 9.91739
+19.3208 -5.74234 8.94243
+18.4716 -5.45484 8.39406
+17.5989 -5.11587 8.03072
+17.7781 -6.08958 8.19957
+17.6953 -6.54515 7.35146
+17.252 -7.27269 7.99022
+17.9202 -8.00877 8.27448
+17.9255 -7.92787 9.26857
+18.8737 -7.97413 8.94183
+19.2519 -8.75248 9.36519
+19.4456 -8.46752 10.3198
+19.7559 -7.8275 11.1423
+20.5286 -7.48481 10.5999
+21.16 -8.20521 10.7983
+21.8478 -8.79569 11.1651
+22.1881 -9.75642 11.0834
+22.551 -10.4307 11.7372
+22.2795 -9.63059 12.2746
+21.9497 -9.62905 13.2803
+22.1233 -10.5899 13.2647
+21.1064 -10.4795 13.3401
+20.1546 -10.2607 13.1135
+19.8611 -11.0319 12.5298
+19.0351 -10.684 12.6462
+18.7512 -9.69964 12.3803
+19.0136 -8.79802 12.6864
+18.2335 -8.86224 12.1572
+17.7059 -8.504 12.9065
+16.9944 -8.68519 12.1964
+16.479 -9.59142 12.1525
+17.1032 -10.1971 11.9705
+16.6993 -10.056 11.0008
+17.2036 -10.3425 10.1139
+16.747 -11.221 9.75749
+16.5855 -11.9522 10.3832
+15.7068 -11.4718 10.312
+14.7848 -11.1441 10.3235
+14.0254 -10.6993 10.7953
+13.8821 -10.901 9.79934
+13.5875 -9.96983 9.76498
+14.5338 -10.081 9.4904
+15.3268 -9.47475 9.7422
+15.5225 -9.10891 8.87092
+16.4547 -8.99993 9.20027
+16.5743 -8.72167 10.198
+15.6227 -8.47545 10.0529
+15.148 -7.66022 10.3072
+15.3591 -7.28015 9.41737
+14.9739 -6.63366 8.7506
+14.6867 -5.6557 8.84822
+15.205 -4.79315 9.00626
+16.0689 -4.38523 8.7097
+16.1528 -5.27022 9.13086
+16.8174 -5.81785 8.59818
+16.492 -5.61505 7.6852
+16.4994 -4.65978 7.2309
+15.7792 -3.95214 7.37348
+16.5103 -3.46907 6.82456
+16.3945 -2.49577 6.80721
+16.4337 -2.12198 7.75948
+17.1704 -1.7393 8.31958
+18.1169 -2.12737 8.35055
+18.8431 -1.98067 7.70293
+19.5573 -2.02583 8.40408
+19.7976 -1.02033 8.60876
+20.2648 -0.7406231 7.72927
+20.0765 -1.59683 7.21793
+20.2141 -2.21748 6.45899
+20.256 -3.19734 6.65182
+20.9306 -2.76241 6.00529
+21.3451 -3.32882 5.20678
+21.9035 -3.95014 5.80716
+21.2152 -4.29003 6.52598
+21.736 -4.95853 5.9
+21.3625 -5.89126 6.1946
+21.3074 -6.06394 5.20278
+20.9948 -6.78329 4.57963
+21.1179 -7.54728 3.87841
+20.7241 -7.69119 2.99596
+21.3608 -8.41895 2.71861
+21.1059 -8.20947 1.7246
+21.9665 -8.54209 1.37786
+21.6559 -7.61949 0.9286551
+21.7768 -6.7471 1.37315
+22.6046 -6.79882 0.8058411
+21.7672 -6.69171 0.2125821
+21.5544 -6.54088 -0.7577079
+22.3285 -6.97684 -1.24761
+23.0253 -7.40464 -1.91518
+22.3341 -7.44831 -2.61601
+22.9223 -6.95156 -3.24137
+23.4027 -6.25434 -2.64341
+23.391 -6.09644 -1.70283
+23.9508 -6.20615 -0.8761359
+24.9834 -6.1078 -0.8400219
+25.2547 -7.03295 -0.9136409
+24.786 -7.05092 -0.09198458
+25.149 -7.73203 0.5641071
+25.9877 -7.65417 1.00865
+26.871 -7.81512 1.40951
+26.7763 -6.88979 1.12459
+27.1336 -6.64432 0.1630551
+26.6866 -7.20391 -0.5158289
+26.7516 -6.69725 -1.41083
+27.4517 -6.1624 -0.9676279
+27.9289 -7.10297 -0.7146419
+28.1323 -7.56895 -1.46938
+27.8468 -6.66871 -1.79824
+28.0947 -6.69959 -2.7563
+27.2235 -6.26286 -2.91482
+26.8746 -7.15835 -3.12634
+26.0425 -7.24218 -3.69557
+26.1472 -6.74923 -4.51859
+26.0954 -6.22472 -5.34343
+25.3895 -5.5432 -4.90346
+24.6543 -4.81782 -4.98752
+24.2901 -4.70177 -4.05983
+24.6837 -3.82935 -3.82615
+25.6016 -3.48303 -3.53388
+25.0594 -2.70644 -3.09642
+24.7134 -1.96145 -2.7228
+24.7817 -2.66865 -1.98985
+24.5285 -1.6685 -1.83998
+24.6411 -0.6691721 -1.99527
+24.657 0.2563699 -2.33502
+23.792 -0.1863201 -2.15793
+23.6631 0.7617449 -2.48527
+23.393 -0.01082957 -3.06198
+22.3877 -0.2866181 -3.01994
+21.4797 -0.5305481 -3.25696
+21.6211 -0.1646271 -4.18978
+21.5455 -0.7555601 -5.01006
+21.7472 -1.75674 -5.155
+20.8955 -2.23818 -4.89781
+20.2315 -2.60419 -4.13322
+20.0959 -1.99518 -3.34606
+19.2674 -1.99787 -3.90795
+18.4911 -2.08374 -3.25869
+18.041 -2.45582 -4.01131
+18.6081 -2.31234 -4.74721
+18.957 -2.0569 -5.59225
+19.6966 -2.39009 -6.16052
+20.3034 -1.84614 -6.70041
+21.0889 -2.49747 -6.71425
+21.1995 -3.14856 -7.52388
+21.8802 -3.53745 -6.92579
+21.1251 -3.9284 -6.51005
+21.429 -4.7645 -6.09475
+20.4397 -5.05995 -6.38966
+20.8551 -5.99014 -6.57822
+21.759 -6.27665 -6.97959
+22.3508 -7.04059 -6.61973
+21.417 -7.48185 -6.82725
+21.3164 -8.42094 -6.8234
+21.3011 -8.95611 -7.67155
+21.8814 -8.30552 -8.01003
+22.7625 -7.97588 -7.67194
+22.9353 -7.4974 -8.49718
+22.4819 -8.12795 -9.13068
+23.3765 -8.60646 -9.26891
+23.479 -8.69273 -8.30887
+23.544 -9.32247 -7.45877
+23.428 -9.42892 -6.48115
+23.0874 -10.3439 -6.65846
+22.9987 -11.1129 -7.37403
+22.9768 -10.2864 -7.81775
+22.1775 -10.317 -8.37624
+22.2652 -9.52933 -9.02032
+21.7135 -9.68697 -9.81553
+20.7304 -9.48614 -9.84884
+19.7573 -9.37231 -9.8692
+18.796 -9.28359 -9.9117
+18.9861 -10.2115 -9.68353
+19.7753 -10.4255 -9.08492
+20.5701 -10.7339 -9.63454
+20.2053 -10.3334 -10.39
+19.3352 -10.8553 -10.6687
+18.7666 -11.0881 -11.5216
+18.3921 -10.25 -11.9594
+18.3739 -9.22883 -11.786
+17.7957 -9.1544 -10.9236
+17.6421 -8.20032 -10.6845
+17.3023 -8.74722 -9.88118
+18.1306 -8.85584 -9.29409
+18.5576 -9.16487 -8.4177
+17.6614 -8.78173 -8.29974
+16.8646 -8.16066 -8.44632
+15.8106 -8.14961 -8.47741
+14.9974 -8.25591 -9.076
+14.4029 -7.54262 -8.6765
+13.7685 -7.00973 -8.07132
+13.1662 -6.16968 -8.14931
+14.1549 -5.98558 -8.15327
+14.8697 -5.34745 -8.34599
+15.7605 -5.38786 -8.88319
+16.318 -5.10461 -8.16469
+15.7286 -5.65552 -7.58069
+16.3998 -6.28118 -7.80955
+17.1394 -7.00076 -7.87616
+17.9579 -7.48586 -7.54744
+18.4704 -6.5651 -7.77456
+18.3785 -6.58857 -8.76891
+18.2207 -6.89925 -9.6292
+17.9063 -7.13457 -10.5099
+17.1472 -7.5748 -10.0168
+16.8444 -6.96938 -10.7676
+16.6841 -7.93569 -11.2557
+15.9679 -7.4911 -10.7023
+15.6153 -8.17576 -11.36
+14.8939 -8.68783 -10.9075
+14.4088 -9.45212 -11.3885
+14.2227 -10.1108 -10.6925
+15.0685 -9.82006 -10.3297
+14.9774 -9.97402 -9.35027
+14.6915 -10.1326 -8.43559
+13.8304 -10.6282 -8.13017
+13.5442 -10.5907 -7.19171
+13.8728 -9.63076 -6.90914
+14.7125 -10.1243 -7.06792
+15.5954 -10.418 -7.45982
+16.3818 -9.76858 -7.46094
+15.8545 -9.79423 -6.60187
+15.7608 -9.25593 -5.75154
+16.0868 -8.49331 -5.30743
+16.1881 -7.46885 -5.35172
+16.9781 -8.01292 -5.14853
+16.7097 -7.13513 -4.68151
+16.5169 -6.43491 -3.98346
+17.3276 -5.92246 -4.20739
+18.1009 -6.22905 -3.64878
+18.6325 -6.84135 -4.17957
+18.6742 -7.82905 -4.0292
+17.7927 -8.04724 -3.56568
+18.0658 -7.46911 -2.83945
+18.9274 -6.91294 -2.60851
+18.7833 -7.6081 -1.90326
+18.5111 -8.23448 -1.14669
+18.9656 -8.24829 -0.2553509
+19.5093 -7.83134 0.4925901
+18.8313 -7.09243 0.5159011
+18.2227 -7.73146 0.6578981
+17.8239 -7.39928 1.51386
+18.6492 -7.92326 1.70251
+18.8199 -7.13032 2.28827
+19.1119 -6.74411 3.09778
+18.1124 -6.98182 3.21772
+18.093 -6.53972 4.07611
+17.8826 -5.55152 3.95393
+17.8578 -4.95806 4.69764
+17.7033 -4.1437 5.36405
+18.3869 -4.30892 6.06878
+19.0243 -3.48429 5.91544
+19.1784 -3.78783 4.95218
+18.6214 -3.77572 4.1725
+18.5924 -3.50396 3.1631
+19.3957 -4.05893 3.48256
+19.4797 -5.02794 3.39611
+19.4837 -5.42554 4.26888
+20.1759 -5.99255 4.72308
+19.6309 -5.34667 5.28917
+20.1929 -5.35215 6.14265
+19.2411 -5.30114 6.28298
+18.5848 -5.96902 6.86338
+18.7682 -6.91889 7.12674
+18.4297 -7.48482 6.35488
+17.4872 -7.93388 6.54116
+18.1375 -8.58743 5.98143
+18.938 -8.91742 6.46279
+19.4228 -9.79183 6.37346
+20.1544 -9.40485 6.91646
+19.7492 -8.5227 7.24438
+19.2252 -7.76647 7.69298
+19.5487 -6.84756 7.97032
+20.1464 -6.20261 7.48492
+21.0282 -6.8377 7.42242
+20.358 -7.21855 6.74877
+20.9892 -7.56282 6.06395
+21.1337 -8.05036 6.94745
+21.0823 -9.04436 6.85972
+21.1518 -9.89983 6.33971
+21.1151 -10.8283 6.66858
+20.5764 -11.0639 5.88796
+19.8294 -11.7305 5.81048
+19.0415 -11.8997 6.39853
+18.7603 -11.5521 5.49658
+18.0694 -12.0078 6.16271
+17.207 -12.1312 6.59847
+16.4614 -12.679 6.20835
+17.3544 -12.9821 5.82982
+17.5822 -13.8648 6.26362
+17.5711 -14.6216 5.70605
+17.5209 -15.224 6.48643
+17.8516 -15.2688 7.44001
+17.2653 -14.4567 7.34538
+16.5432 -13.7846 7.14224
+15.9017 -13.5177 6.41324
+15.4928 -13.3811 5.5374
+14.6698 -13.1157 5.93551
+13.9372 -12.3689 6.02749
+14.1677 -12.2197 5.08345
+14.7104 -11.509 5.6502
+14.6878 -10.7714 4.97807
+14.1547 -10.0261 5.04875
+14.8651 -9.86271 5.7042
+14.0632 -9.34538 6.09293
+14.3729 -10.021 6.78057
+15.1096 -9.99884 7.37646
+15.6746 -10.6568 7.02249
+15.9279 -10.6059 6.06132
+16.4079 -11.4074 5.76273
+16.2654 -10.8469 4.94958
+16.1915 -11.704 4.31425
+16.599 -12.5706 4.51392
+16.8274 -12.1792 3.61445
+15.9975 -12.7584 3.60671
+16.0301 -11.8758 3.07606
+15.6317 -11.8692 2.22853
+16.1856 -12.6577 1.93717
+15.796 -13.3021 1.19873
+15.3748 -13.706 2.02798
+14.4974 -13.4243 2.37818
+14.4269 -13.4892 1.36785
+13.6496 -14.1375 1.36854
+14.0615 -15.013 1.29953
+14.1317 -15.4005 0.3620601
+13.5855 -14.7535 -0.2217859
+13.6058 -13.7922 -0.1469439
+14.0415 -12.8525 -0.01262228
+13.2101 -12.3484 -0.1425779
+12.6013 -12.8521 0.5020671
+12.0452 -12.1303 0.1183821
+11.4829 -12.8778 0.4062601
+11.0044 -13.3143 1.17346
+10.3201 -13.7169 0.5586821
+10.547 -14.246 1.39172
+11.2095 -13.8894 2.0453
+11.9746 -13.313 2.27174
+12.0371 -13.0787 3.26039
+11.7533 -13.899 3.55016
+11.8535 -14.8504 3.44028
+11.9905 -14.7594 2.42351
+11.8866 -15.3083 1.54132
+12.2134 -15.0748 0.6195121
+11.2819 -14.8978 0.1642661
+12.0992 -15.1222 -0.4202699
+12.6321 -14.431 -0.9589949
+12.9544 -13.5229 -1.01692
+13.2658 -12.6284 -1.41594
+12.3869 -12.2775 -1.64752
+12.1595 -12.9521 -2.31651
+11.3085 -13.2876 -2.71296
+10.9376 -12.2956 -2.71275
+10.1703 -12.4505 -3.273
+10.3531 -13.3887 -3.66699
+9.55004 -13.0143 -4.16153
+9.37126 -12.613 -5.13707
+8.6012 -12.7021 -4.48669
+8.33501 -12.2441 -5.30837
+8.37652 -12.6021 -6.24236
+7.4953 -12.3575 -6.64132
+6.55296 -12.8129 -6.71304
+5.5858 -13.0912 -6.95755
+5.23333 -13.2836 -7.86611
+5.56932 -12.512 -8.40397
+5.73283 -11.9641 -9.24702
+4.97546 -11.5979 -9.70485
+4.17229 -11.1222 -9.34746
+4.51117 -10.8005 -8.42358
+5.08643 -10.2976 -7.81421
+4.80887 -11.0737 -7.22259
+5.80377 -11.1639 -7.36302
+6.65575 -11.512 -7.89543
+7.03968 -11.9291 -8.7375
+7.23371 -10.9511 -8.84002
+7.09943 -10.7708 -9.77572
+6.88196 -10.9962 -10.7237
+6.22254 -11.3629 -11.366
+5.67575 -10.906 -12.0324
+4.95089 -11.1826 -12.6584
+5.41955 -11.7045 -13.3724
+6.12384 -10.9987 -13.652
+5.98712 -10.396 -14.4148
+5.38659 -9.80669 -13.7759
+5.83754 -8.92129 -13.7728
+5.18476 -8.13768 -13.9299
+4.97499 -7.37939 -14.4223
+5.79436 -7.0227 -14.813
+6.09834 -7.79915 -14.3077
+6.57475 -8.38309 -14.9322
+6.83516 -8.26762 -15.8374
+6.61906 -9.23111 -15.543
+7.48016 -9.3018 -16.111
+8.10643 -9.66531 -16.7786
+8.60613 -9.92333 -17.6252
+7.84103 -9.72727 -18.3496
+7.33405 -10.4729 -18.8041
+7.54725 -10.9532 -19.6003
+7.04986 -11.7437 -20.1213
+7.73455 -12.3337 -20.4323
+7.95764 -12.7284 -19.5205
+8.84435 -12.7147 -20.0628
+9.60785 -13.2988 -20.1347
+9.80091 -13.8707 -20.9562
+9.40392 -13.1884 -21.5837
+9.64996 -12.5743 -22.3183
+10.1421 -11.7231 -22.5319
+10.5058 -12.3583 -23.1517
+10.3697 -13.2926 -22.6734
+10.3616 -13.9984 -23.4214
+10.0747 -14.5101 -22.6865
+10.4569 -15.376 -22.9754
+9.53122 -15.809 -23.1885
+9.31837 -16.5941 -22.6557
+8.46959 -16.224 -22.2594
+8.81906 -17.1011 -21.7078
+9.01358 -18.012 -22.0989
+8.24614 -17.9071 -21.4255
+8.78097 -18.7071 -21.1784
+8.18534 -19.3222 -20.6674
+8.80573 -19.4787 -19.9349
+7.92026 -19.964 -19.7659
+7.79673 -19.7267 -18.779
+7.22566 -19.7185 -17.9542
+7.54123 -18.8415 -17.5885
+7.65734 -18.1262 -16.9742
+7.38109 -18.5117 -16.1479
+8.15947 -18.1488 -15.7146
+8.09008 -17.1081 -15.4812
+8.81774 -17.5079 -14.9385
+8.37789 -17.2979 -14.1106
+8.25851 -18.1868 -13.6353
+8.32404 -18.5571 -12.6749
+9.27336 -18.472 -12.314
+9.43369 -19.4562 -12.3271
+8.60496 -19.9436 -12.4283
+8.44409 -20.1602 -11.4894
+9.34734 -20.3854 -11.1772
+10.2346 -20.9361 -11.3982
+10.0405 -21.6829 -11.978
+10.476 -22.6051 -12.3903
+9.76415 -22.0923 -12.9468
+9.15731 -22.8901 -12.8443
+8.49264 -23.1834 -12.1936
+7.99539 -23.0665 -11.3222
+7.58788 -23.6023 -10.6029
+6.69184 -23.6452 -11.046
+6.1688 -23.1681 -10.3445
+5.43497 -22.6592 -10.7588
+5.93334 -21.7625 -10.8329
+5.21747 -21.0562 -10.7185
+5.52593 -20.1326 -10.6937
+4.84134 -19.6647 -10.0695
+4.77899 -20.2433 -9.24482
+5.70293 -20.0972 -8.96647
+6.56166 -20.1493 -8.53731
+6.05573 -20.3935 -7.72566
+6.25481 -21.0444 -6.98909
+5.2718 -20.9297 -6.85422
+5.72649 -20.059 -6.56862
+6.15054 -19.1535 -6.5145
+5.21791 -19.0824 -6.17143
+5.11878 -18.9327 -7.13758
+4.38463 -18.4943 -6.6736
+4.55585 -17.7882 -7.36224
+4.33931 -18.5378 -7.9703
+3.51437 -18.1766 -8.38461
+3.31573 -17.1623 -8.5042
+2.64705 -16.5191 -8.07485
+2.09744 -16.0726 -7.45535
+1.49062 -16.6522 -8.03906
+1.23387 -17.3328 -8.73925
+0.30346 -17.6416 -8.7533
+0.630839 -17.5357 -7.83265
+0.210842 -16.8549 -7.28446
+-0.765609 -17.266 -7.33179
+-1.53015 -16.916 -7.9341
+-2.29494 -17.4418 -8.33827
+-1.94944 -17.1984 -9.2451
+-1.22487 -17.5755 -8.78027
+-0.714598 -17.7171 -9.60344
+0.06488177 -17.3654 -10.2273
+0.525294 -18.2407 -10.3922
+1.13476 -18.5559 -9.65827
+1.54671 -18.7541 -10.4597
+2.16486 -19.4978 -10.8324
+1.69621 -20.2077 -11.4016
+1.91181 -20.2654 -12.4186
+1.409 -19.7684 -13.1023
+1.54617 -20.7256 -13.4249
+2.34039 -20.8288 -14.0463
+3.02103 -20.6838 -14.7256
+2.37203 -21.1984 -15.4201
+2.14142 -20.9476 -16.3499
+1.10596 -21.078 -16.4609
+1.20952 -21.3057 -17.4668
+1.81886 -21.2546 -18.2423
+1.70381 -22.126 -17.8731
+2.64485 -21.9541 -17.8906
+3.0109 -22.71 -18.4294
+2.79627 -23.6582 -18.1087
+1.98309 -23.9377 -18.581
+1.0055 -23.9426 -18.6433
+1.15869 -23.558 -17.7189
+1.33041 -23.2878 -16.8962
+0.365032 -23.0308 -17.0969
+-0.32087 -23.6106 -16.6645
+-0.261421 -24.5238 -16.7546
+-0.965106 -24.8404 -16.0651
+-0.541065 -25.7111 -16.2759
+-0.13045 -26.4429 -16.9291
+0.452407 -25.9393 -17.5352
+1.12468 -26.6343 -17.2503
+1.87334 -27.1562 -16.8338
+2.84869 -27.4653 -16.6884
+3.07772 -26.4928 -16.3248
+2.9076 -26.7115 -15.3852
+3.42252 -27.4111 -14.9066
+3.71078 -26.5849 -14.5453
+4.61808 -25.9529 -14.4735
+4.71975 -25.0222 -14.269
+5.18331 -24.3615 -13.6798
+4.54223 -23.7079 -14.0882
+3.85702 -23.5658 -13.3038
+4.60859 -23.0586 -13.0079
+4.24686 -22.321 -13.5225
+3.6305 -22.0557 -12.7291
+3.67121 -21.6047 -11.8541
+3.57334 -22.4138 -11.3345
+4.3978 -22.0328 -10.8776
+3.4967 -21.8318 -10.4978
+2.65757 -21.6443 -9.99944
+2.49867 -20.6314 -10.0876
+1.56033 -20.6741 -10.5921
+1.30445 -21.674 -10.5731
+0.699086 -21.0486 -10.0437
+0.09555337 -21.7721 -10.3895
+-0.67992 -21.2678 -10.1384
+-0.202553 -20.7224 -9.41979
+-0.311098 -19.9992 -10.0689
+-1.27705 -19.8724 -9.72904
+-1.9763 -20.58 -9.45762
+-2.82533 -21.0768 -9.558
+-3.60508 -21.3714 -10.0813
+-3.53135 -22.1902 -10.74
+-2.59959 -21.9488 -10.3021
+-2.67019 -21.1641 -10.8356
+-2.51565 -20.5099 -11.5707
+-1.81123 -20.8977 -12.2278
+-1.44584 -21.3162 -13.0275
+-0.73851 -21.579 -13.8188
+0.236861 -21.3814 -13.4472
+-0.09628743 -20.4786 -13.4706
+-0.887608 -19.9084 -13.3225
+-0.579713 -19.1058 -12.8048
+-0.06776103 -18.3438 -12.6442
+-0.07017153 -17.3949 -12.881
+0.435471 -16.763 -12.3504
+-0.426818 -16.5531 -11.9151
+-0.870841 -15.7697 -11.509
+-1.55085 -16.3677 -12.0503
+-1.27065 -16.9211 -11.2321
+-1.18798 -17.8167 -10.8812
+-1.11851 -18.8133 -10.6261
+-1.81577 -19.3954 -11.0657
+-2.76171 -19.3865 -10.6881
+-2.67028 -18.6328 -10.0883
+-3.21577 -17.9983 -10.5421
+-2.72929 -17.0884 -10.6989
+-2.06918 -16.3772 -10.5869
+-2.41188 -15.428 -10.9257
+-2.61337 -14.6895 -11.5954
+-3.37941 -14.9578 -12.1664
+-3.499 -14.2555 -12.8225
+-2.62909 -13.8393 -12.5668
+-2.05287 -13.1233 -12.0971
+-1.70181 -13.7434 -12.7353
+-2.10006 -13.8884 -13.6604
+-1.22756 -13.5752 -13.914
+-1.10603 -13.6872 -14.9312
+-1.21701 -14.0955 -15.8314
+-0.855184 -14.9099 -15.4374
+-0.418993 -15.2425 -14.6199
+-0.421346 -14.5223 -13.9643
+0.0001792789 -13.7874 -13.3506
+-0.03544683 -13.7805 -12.3673
+0.784476 -13.2783 -12.6815
+0.617006 -12.3794 -13.1352
+-0.107018 -12.766 -12.5574
+0.395121 -12.239 -11.7953
+0.969215 -11.4478 -11.6446
+1.80403 -11.269 -12.014
+2.13606 -10.6996 -11.3237
+2.62238 -10.4303 -10.4696
+3.62027 -10.7194 -10.4867
+3.89445 -9.78872 -10.2689
+4.19952 -9.1349 -9.58573
+4.04027 -8.1288 -9.51668
+4.27428 -7.20865 -9.13025
+4.84118 -7.94261 -8.82737
+5.18071 -8.20168 -9.67821
+5.29692 -7.8281 -10.5448
+4.73542 -7.04117 -10.63
+5.4986 -6.57264 -10.1909
+5.7427 -6.92387 -9.31386
+6.6317 -7.31008 -9.57501
+7.32351 -6.76058 -9.03518
+7.35366 -5.80094 -8.76102
+7.51738 -5.74687 -7.80811
+7.25195 -6.72952 -7.75134
+6.95933 -7.59133 -8.08346
+6.38235 -7.37818 -7.2558
+5.44709 -7.17467 -7.47445
+5.80451 -6.54991 -8.16074
+5.90815 -5.96432 -8.97354
+5.60246 -5.18853 -8.42283
+4.6496 -5.12385 -8.59673
+5.18904 -4.2202 -8.63952
+5.62873 -3.26535 -8.56635
+4.62946 -3.09886 -8.58138
+4.14555 -3.37981 -9.37884
+4.52177 -3.9066 -10.0376
+3.77177 -4.48777 -9.69233
+3.48214 -5.44408 -10.018
+3.06511 -6.23814 -10.3596
+2.23593 -6.64603 -10.8246
+2.11271 -5.93336 -10.1643
+2.17686 -5.59376 -9.22687
+2.50086 -5.17389 -8.30703
+2.89124 -4.74398 -7.49698
+1.96821 -4.3552 -7.67211
+1.36323 -3.82094 -7.12431
+0.839738 -4.22401 -7.85054
+-0.07656933 -4.43257 -8.04143
+-0.591147 -4.26526 -8.90786
+-0.591387 -3.52462 -9.5631
+-1.45232 -3.7407 -9.91939
+-1.59714 -4.69768 -10.0706
+-1.37398 -5.45543 -9.54875
+-0.570133 -5.85085 -9.09413
+0.429701 -5.97091 -9.17332
+1.00349 -5.37312 -9.67299
+1.18624 -4.40109 -9.90642
+1.97619 -3.87881 -9.57551
+1.49755 -2.96554 -9.51512
+0.670516 -2.52128 -9.83319
+-0.277879 -2.26621 -9.63094
+-0.981942 -1.53599 -9.5279
+-0.612929 -0.6368001 -9.17189
+-1.52626 -0.8659761 -8.86652
+-2.57513 -0.8634281 -8.66677
+-3.5389 -1.3613 -8.72864
+-3.89156 -0.4996101 -8.57846
+-3.44795 -0.03886937 -9.33565
+-4.45175 0.03300163 -9.40652
+-4.93609 0.8587609 -9.58454
+-4.35682 0.8517059 -10.4249
+-4.91839 0.1780219 -10.9585
+-5.09428 0.9554969 -11.5736
+-5.06958 1.63067 -12.2724
+-5.61948 2.14972 -12.9432
+-5.85327 2.75647 -12.2086
+-5.48024 2.26439 -11.4456
+-5.87602 3.09043 -10.9578
+-6.52851 2.38961 -10.7783
+-7.33528 2.59017 -11.2935
+-7.91268 2.94337 -11.9365
+-8.49477 2.50883 -12.604
+-8.67009 1.73665 -13.2079
+-8.76781 2.5201 -13.856
+-8.72685 3.51251 -13.8082
+-8.19841 4.38405 -13.8613
+-8.18502 5.35668 -13.7548
+-8.22738 6.23308 -14.2158
+-8.61706 6.93495 -13.5972
+-9.41944 7.50613 -13.7865
+-9.86154 8.21908 -13.2261
+-9.4693 8.90952 -13.8185
+-8.53638 8.53803 -13.973
+-8.02549 8.24011 -14.8875
+-7.52903 8.42414 -15.7236
+-8.16713 7.99571 -16.4205
+-8.34328 6.99606 -16.4318
+-7.59078 6.33473 -16.1529
+-6.69203 6.47663 -15.7603
+-6.59963 5.48516 -15.9628
+-5.56738 5.43077 -15.8377
+-4.73028 5.00961 -16.2535
+-4.64951 4.79093 -15.2966
+-4.03222 4.78332 -14.5027
+-4.389 3.87693 -14.6961
+-4.04127 3.0377 -14.9142
+-3.21353 3.49836 -14.8334
+-3.25573 2.92056 -15.6808
+-2.64308 2.15048 -15.3501
+-2.66563 1.14518 -15.4462
+-2.88498 0.2590269 -15.7411
+-3.33001 -0.4968361 -15.2667
+-3.28519 -1.37007 -14.827
+-3.31891 -1.31571 -15.8429
+-3.08824 -1.7828 -16.6784
+-4.08998 -1.69908 -16.7099
+-4.5947 -0.8988301 -16.3526
+-5.33281 -0.6653921 -16.9479
+-5.28396 0.2840479 -17.139
+-4.41405 0.2182769 -17.5638
+-3.93527 -0.03800857 -18.4536
+-3.13385 0.03247733 -17.9478
+-3.08053 0.8461409 -18.4722
+-2.89623 0.2154179 -19.2318
+-3.43449 0.7468309 -19.8631
+-4.17189 1.29877 -19.4631
+-5.0241 1.01476 -19.0021
+-5.21532 0.04330783 -18.9935
+-5.23878 -0.02761457 -19.969
+-5.82189 -0.6903471 -19.4982
+-5.23445 -1.20978 -20.1803
+-4.4694 -1.42132 -19.5122
+-3.84957 -1.91205 -18.9204
+-4.2518 -2.80902 -18.5978
+-4.36849 -2.56776 -17.5937
+-3.59843 -2.96523 -17.0867
+-3.48938 -3.87131 -16.5303
+-4.44361 -3.61948 -16.1718
+-4.6991 -3.18533 -15.3519
+-3.83822 -3.13673 -15.7049
+-3.68376 -2.60623 -14.8079
+-3.76689 -3.00443 -13.9125
+-3.19118 -2.89826 -13.1088
+-3.12892 -2.10077 -13.6839
+-2.32274 -2.12277 -13.0078
+-1.85964 -1.80365 -12.1678
+-0.916772 -2.0697 -12.3468
+-0.971444 -2.80952 -11.6705
+-0.912032 -3.56639 -12.3072
+-1.31291 -4.28642 -12.7692
+-0.869967 -3.68049 -13.3329
+-0.280933 -3.04328 -12.8938
+0.145615 -2.44028 -13.5893
+0.914475 -2.88547 -13.2336
+1.07139 -3.37413 -12.3384
+1.19318 -4.0603 -13.133
+2.03399 -4.46283 -13.5078
+2.63954 -4.68778 -14.1846
+1.7572 -4.87093 -14.656
+2.47576 -5.56088 -14.7849
+1.78657 -6.13526 -15.1822
+1.10469 -6.0257 -14.4925
+0.174578 -6.07243 -14.8754
+0.391988 -6.50658 -15.7378
+-0.508114 -6.12165 -15.6432
+0.08153147 -5.63032 -16.2813
+0.220503 -5.28233 -15.3468
+0.03570347 -4.43878 -15.965
+-0.104011 -4.43937 -16.9176
+-0.641451 -4.34454 -17.7144
+-1.42095 -3.93801 -18.154
+-2.01159 -4.10451 -18.9461
+-3.02921 -4.00917 -18.6123
+-3.96391 -4.25978 -18.5035
+-3.94214 -5.18315 -18.9722
+-3.18083 -5.75725 -18.5155
+-3.08104 -6.32807 -19.2923
+-3.88924 -6.69755 -19.7769
+-4.55959 -6.12842 -20.238
+-4.89227 -5.29005 -20.7251
+-5.82209 -5.50769 -20.3273
+-6.17876 -4.49091 -20.3777
+-6.98131 -3.9316 -20.5103
+-6.94715 -3.12982 -19.8744
+-7.65128 -2.77609 -19.2852
+-7.89686 -1.8012 -19.0601
+-6.86182 -1.86893 -19.0121
+-6.10463 -1.78044 -18.3386
+-6.36025 -2.80364 -18.1595
+-6.69031 -3.37851 -17.3864
+-5.9277 -3.98178 -17.7605
+-5.71752 -3.50243 -16.9172
+-5.53959 -4.42427 -16.4898
+-4.9998 -4.91281 -15.8093
+-5.88797 -5.25496 -15.5376
+-5.17761 -5.43359 -14.8921
+-4.4915 -5.41954 -14.1445
+-4.15635 -5.47712 -15.079
+-3.49325 -6.18058 -14.8004
+-2.94532 -6.99019 -14.7242
+-3.55593 -7.6204 -15.1602
+-4.52074 -7.37278 -14.9695
+-5.21687 -6.84787 -15.4385
+-5.66519 -7.0381 -16.2502
+-5.20698 -7.23071 -17.1713
+-5.74133 -8.10952 -17.0496
+-5.80442 -9.0973 -16.8729
+-4.80255 -9.34265 -16.8055
+-4.23824 -8.77637 -16.2485
+-3.31661 -8.86548 -16.4986
+-2.86784 -9.66271 -16.0148
+-3.2209 -9.9424 -15.1731
+-2.49329 -10.5103 -15.559
+-1.59888 -10.0989 -15.5328
+-0.712121 -10.5507 -15.7875
+0.03980327 -10.125 -16.3106
+-0.39369 -9.8364 -17.1862
+-0.320843 -10.6806 -17.7471
+0.553461 -11.2237 -17.4677
+0.393891 -11.4995 -16.4665
+0.965483 -11.3561 -15.6548
+1.09134 -12.2893 -15.1868
+0.522622 -12.5079 -14.3833
+0.17577 -11.8475 -15.084
+0.187091 -11.3937 -14.1999
+-0.141519 -10.4381 -13.9956
+0.425746 -9.6049 -14.02
+-0.237295 -8.97989 -13.5929
+-0.847615 -8.20453 -13.7356
+0.03942217 -8.06333 -13.1925
+-0.488034 -8.59983 -12.513
+-0.812392 -9.01112 -11.7416
+0.05931477 -9.26492 -12.0287
+0.515404 -10.111 -12.0801
+0.5601 -9.74446 -11.224
+-0.389113 -9.97651 -10.9753
+0.312737 -10.5257 -10.4426
+0.1831 -11.4647 -10.4448
+0.529094 -11.8167 -9.52893
+0.584328 -12.677 -10.0379
+1.34095 -12.5275 -10.6526
+2.12428 -13.1564 -10.7294
+2.34751 -14.1728 -10.9
+2.93189 -14.2253 -10.078
+3.42288 -13.4026 -9.7333
+4.43321 -13.2752 -9.49206
+4.37623 -13.3654 -10.4547
+3.70224 -13.1962 -11.1596
+4.34965 -13.842 -11.486
+5.2831 -14.1724 -11.5148
+5.55035 -14.9211 -12.1126
+4.6832 -15.4124 -12.3779
+4.34466 -14.5424 -12.711
+5.27795 -14.2931 -13.0261
+6.13573 -14.8011 -13.1491
+5.75136 -15.7596 -13.3706
+6.156 -16.4616 -12.7982
+6.11715 -17.3523 -12.385
+5.18196 -17.4978 -12.8892
+4.60885 -17.2212 -12.05
+3.85863 -16.7845 -11.5044
+3.68928 -16.5792 -12.4595
+3.46068 -17.5322 -12.8097
+2.95626 -18.246 -13.2383
+2.60664 -18.4075 -12.3147
+3.41465 -17.915 -11.9992
+2.43356 -17.7126 -11.7113
+1.75261 -17.0377 -11.6321
+1.05633 -16.3669 -11.424
+1.03603 -15.7975 -12.2832
+0.391981 -15.8443 -13.0295
+0.998052 -15.538 -13.8235
+1.304 -14.6266 -13.5697
+1.77931 -14.1385 -14.3655
+2.69796 -13.6797 -14.0684
+3.10556 -13.8763 -13.1216
+2.40889 -14.3343 -12.5379
+2.94881 -15.1419 -12.7965
+3.0579 -14.886 -11.8511
+2.71489 -15.6283 -11.3238
+2.51431 -16.1888 -10.4675
+2.00007 -15.3786 -10.1703
+1.96321 -14.678 -9.38318
+2.32467 -15.5381 -8.99671
+3.20075 -15.2126 -8.53457
+3.25067 -14.5382 -7.80628
+3.87748 -13.8694 -8.13017
+4.68305 -13.9065 -8.65782
+4.72087 -14.5395 -9.48952
+4.15216 -15.2782 -9.74921
+4.02083 -15.8004 -10.6065
+4.56679 -16.1884 -9.93498
+5.56624 -15.9277 -10.0405
+6.47393 -16.2625 -10.3235
+6.80235 -15.4439 -10.8171
+7.76964 -15.6897 -10.883
+8.27704 -14.8853 -10.4985
+8.86731 -14.3808 -9.92948
+9.87148 -14.293 -9.95183
+10.1524 -15.2727 -9.96079
+9.47708 -15.0865 -9.27986
+9.19798 -15.9588 -9.51214
+9.69013 -16.8098 -9.60213
+9.06761 -16.7727 -10.4252
+9.04486 -17.4539 -11.1215
+8.4801 -18.2262 -10.7955
+7.96671 -18.6462 -10.0317
+7.24417 -19.0736 -10.6924
+6.78412 -18.2643 -10.1923
+6.76373 -17.9372 -9.29114
+6.22469 -18.7284 -8.95612
+5.6394 -18.8284 -9.78786
+5.06021 -18.6246 -10.5643
+5.91596 -18.2086 -10.9006
+6.18851 -18.7226 -11.6609
+6.19306 -18.5577 -12.657
+6.18389 -19.1203 -13.5055
+6.95613 -19.7675 -13.4195
+6.6544 -19.7073 -12.458
+6.88927 -20.4801 -11.8838
+5.94273 -20.7176 -11.7871
+6.34081 -21.5896 -11.8257
+6.54438 -22.484 -12.0814
+7.3426 -21.9832 -12.2579
+7.72758 -21.7179 -13.1633
+8.64979 -21.5181 -13.475
+8.88078 -21.2746 -14.4486
+8.28622 -20.6415 -14.8601
+8.90286 -20.2846 -15.5776
+9.65783 -19.8036 -15.162
+10.2797 -20.5456 -14.7563
+11.0429 -20.7954 -14.1494
+11.4576 -21.2642 -13.3737
+11.7094 -21.5285 -12.4031
+11.4632 -21.9222 -11.4787
+11.2936 -21.9814 -10.5213
+11.8393 -22.2298 -9.66964
+12.7781 -22.5066 -9.65568
+12.3175 -23.273 -9.21618
+12.9336 -23.4435 -9.97529
+12.8517 -24.044 -10.7716
+13.752 -24.4493 -11.0761
+14.6586 -24.1736 -10.7948
+15.5674 -24.294 -11.0739
+15.6388 -24.4007 -12.0548
+16.3132 -23.8238 -11.8365
+16.6287 -22.9376 -12.0741
+16.5191 -22.536 -12.9881
+17.0353 -22.66 -13.8191
+17.7648 -22.0329 -13.4064
+18.7153 -22.24 -13.0745
+19.4052 -22.4632 -12.3556
+20.2186 -22.07 -12.747
+20.4088 -22.9838 -12.4087
+19.8052 -23.7186 -12.1429
+19.5685 -24.5197 -11.6114
+19.2494 -24.6848 -12.5419
+19.1164 -25.292 -13.3277
+19.8687 -25.4528 -13.9627
+20.7066 -25.4279 -14.5686
+21.5702 -25.8878 -14.5632
+21.2801 -25.6249 -13.5626
+20.8022 -26.2369 -12.8761
+19.8388 -26.0473 -13.1043
+19.5664 -26.8974 -12.6523
+18.9252 -27.332 -12.0953
+17.9957 -27.3829 -11.7841
+17.7926 -26.6807 -11.127
+17.1594 -26.357 -10.4534
+17.2826 -25.3684 -10.6811
+16.5226 -25.1001 -9.97244
+15.8778 -24.6599 -9.33559
+16.5834 -24.9422 -8.73405
+16.5817 -25.4004 -7.8214
+16.1121 -26.1859 -7.4172
+15.4392 -26.554 -7.99476
+15.5544 -25.7937 -8.64458
+14.5406 -25.8217 -8.68814
+14.0847 -25.5337 -7.82675
+13.1802 -25.2551 -8.19828
+12.8877 -24.9386 -9.13251
+13.9051 -24.7221 -9.05095
+13.9 -23.808 -8.6207
+14.2277 -24.0519 -7.70101
+14.2946 -23.3672 -6.97663
+14.2628 -23.3036 -5.97716
+14.0549 -22.5962 -5.21939
+13.9137 -22.0971 -6.08157
+13.1763 -21.6851 -6.60879
+13.1385 -20.6796 -6.55635
+12.7206 -20.5946 -7.39214
+12.2172 -21.4577 -7.43412
+12.7135 -22.372 -7.49352
+11.9784 -22.7894 -6.94834
+12.0051 -23.7408 -6.73848
+12.2223 -23.6557 -5.76564
+12.5236 -24.648 -5.8792
+12.263 -24.9119 -6.78395
+11.4867 -25.3055 -7.37392
+11.1775 -25.0846 -8.22175
+10.9894 -25.8074 -8.86226
+10.6162 -26.6485 -9.24989
+11.113 -27.4771 -9.59643
+10.2868 -27.9635 -9.29813
+9.60344 -27.5614 -9.86664
+9.55986 -27.2711 -8.94078
+9.80876 -27.5733 -8.0112
+9.41101 -26.8805 -7.41008
+9.41476 -25.9567 -7.64705
+9.11665 -25.3407 -8.39852
+9.30892 -25.66 -9.3589
+9.60851 -25.7372 -10.2836
+8.77694 -25.7761 -10.8226
+8.84179 -26.6426 -10.1506
+8.1882 -26.6834 -10.8975
+7.84339 -27.6071 -11.2533
+7.71186 -27.6055 -10.2978
+7.65695 -28.5584 -10.0213
+7.91996 -29.5465 -10.1175
+7.86381 -30.37 -10.7396
+8.165 -30.8988 -10.0244
+9.09725 -30.7788 -9.67797
+8.80002 -30.2411 -8.83131
+7.83837 -30.0236 -8.94351
+7.61592 -29.3506 -8.20535
+7.6928 -30.2533 -7.73117
+6.67548 -30.1758 -7.69912
+6.34363 -29.7085 -6.83994
+5.65522 -29.5246 -7.67432
+5.25661 -29.1654 -8.49673
+4.46443 -28.5988 -8.78929
+3.5096 -28.3103 -8.43011
+3.76869 -27.9115 -7.54398
+3.63149 -28.9383 -7.50885
+4.02796 -28.8981 -6.57905
+4.92432 -28.6333 -6.18797
+5.64113 -28.8968 -5.5739
+6.36915 -28.2153 -5.77219
+7.29798 -28.6117 -5.93242
+7.70151 -28.2185 -6.86025
+8.14484 -28.7565 -7.62219
+9.04841 -29.099 -7.99588
+9.48672 -28.9798 -7.11109
+9.97289 -29.7794 -6.81744
+10.9246 -29.9143 -6.61733
+11.2568 -29.5245 -5.73615
+11.403 -30.2531 -5.11609
+11.4618 -30.2351 -4.09913
+11.2242 -30.0663 -3.09526
+12.2046 -30.2475 -3.28527
+12.907 -30.5902 -3.93631
+13.3958 -31.3907 -4.02337
+14.3597 -31.6156 -4.03523
+14.8197 -30.9381 -4.60053
+14.3712 -30.1062 -5.06714
+13.4094 -29.9557 -4.73803
+12.7637 -29.2421 -4.74602
+12.766 -28.3572 -5.29818
+13.231 -27.4542 -5.23953
+13.3548 -27.2142 -6.21847
+14.286 -27.1345 -6.1173
+15.1158 -27.7286 -6.24973
+16.1196 -27.387 -6.3153
+16.7875 -26.8313 -5.71037
+17.5149 -26.8623 -4.9869
+18.2138 -27.1684 -4.24455
+18.9786 -26.9281 -3.61171
+19.5364 -27.5916 -4.16937
+19.5272 -28.6047 -4.08573
+18.6081 -28.6937 -3.62426
+18.0064 -28.4764 -2.86078
+17.898 -27.4597 -2.70205
+18.2718 -27.7191 -1.79111
+18.6048 -26.9908 -1.23899
+19.1368 -27.5926 -0.6512329
+19.6292 -27.852 0.1266841
+19.4255 -27.0775 0.7358001
+18.662 -27.68 1.05424
+18.5201 -26.8433 1.5077
+18.7068 -26.1967 0.7426251
+17.8464 -26.2925 0.2626851
+17.1823 -25.7248 -0.3716839
+16.6168 -24.9153 -0.1598689
+15.714 -24.4832 -0.3398989
+15.3714 -24.2237 -1.16885
+16.2798 -24.2422 -1.53983
+16.6255 -23.4418 -1.04091
+16.2032 -22.8808 -0.3071049
+15.8735 -21.9365 -0.2154859
+16.3879 -21.8682 0.6647901
+15.4176 -22.0333 0.8626841
+15.7005 -21.866 1.73248
+15.2056 -21.2999 2.32738
+15.709 -20.4909 2.26674
+15.4341 -20.1269 1.35991
+16.3787 -20.0142 1.12809
+17.1557 -19.9289 0.5492011
+16.8223 -19.1456 -0.07034078
+16.3106 -19.9615 -0.1057729
+16.9182 -20.6163 -0.5656899
+17.8819 -20.2127 -0.6676859
+18.3094 -20.7001 -1.43526
+19.0598 -21.2604 -1.61024
+19.9341 -20.7977 -1.38767
+20.0496 -21.7267 -1.74383
+20.4112 -21.7235 -2.66829
+20.4074 -20.8383 -2.90595
+21.3149 -20.5555 -3.00917
+20.6589 -19.8675 -3.37625
+20.1202 -19.1436 -3.75942
+20.3221 -18.4394 -4.48072
+20.684 -17.5754 -4.85178
+19.992 -16.8358 -4.72561
+19.9018 -15.9895 -5.21608
+20.1818 -15.7711 -4.26425
+20.6902 -15.8375 -3.41833
+20.797 -16.6764 -2.914
+19.855 -16.7946 -2.52979
+19.1886 -16.405 -3.1841
+19.0297 -15.4702 -2.78292
+19.221 -14.4994 -2.80888
+20.0677 -14.6829 -3.34164
+20.4434 -13.7763 -3.31472
+19.4643 -13.5166 -3.51252
+19.9689 -13.091 -4.306
+19.5062 -12.1831 -4.25078
+19.4054 -11.2169 -4.07694
+18.521 -11.5859 -3.79548
+17.5204 -11.497 -3.58986
+16.7453 -12.041 -3.2692
+16.963 -11.9835 -4.23123
+16.232 -11.4548 -4.68007
+15.4853 -11.0608 -5.25157
+15.1544 -11.6203 -4.49201
+15.1607 -12.6523 -4.65381
+14.4575 -12.1165 -5.10596
+13.9346 -11.3091 -5.26186
+13.9406 -10.3486 -5.09352
+14.0782 -9.84711 -4.27158
+14.5028 -9.14227 -4.81645
+15.4028 -8.84393 -4.46428
+15.7437 -8.22856 -3.76228
+16.2977 -8.42419 -2.93673
+16.8703 -9.11301 -2.59969
+17.4306 -8.37521 -2.16893
+17.2794 -8.99849 -1.42178
+17.6817 -9.86997 -1.07829
+17.1253 -10.1741 -1.80649
+16.2918 -9.66305 -1.49629
+15.8331 -9.22854 -0.6904129
+16.5122 -9.26005 0.04958052
+16.9919 -9.28842 0.9304581
+16.6047 -9.56284 1.83414
+15.9432 -9.03894 1.39695
+15.0127 -8.7172 1.06047
+14.37 -9.40521 0.9196971
+14.3933 -10.1805 1.62098
+13.5757 -9.70357 1.45689
+13.1295 -10.3944 0.7324251
+12.8419 -10.8999 1.44937
+12.5314 -9.99872 1.74929
+12.9838 -9.56833 2.55613
+13.7611 -8.98269 2.72421
+14.7273 -9.06167 2.46491
+15.2667 -9.80436 2.92219
+15.9593 -10.2613 2.42303
+16.3613 -10.7273 3.12756
+17.0951 -10.0654 3.36779
+17.2533 -9.09275 3.42199
+16.3912 -8.62641 3.12608
+15.9359 -7.70969 2.85661
+16.0285 -7.48963 3.82953
+15.7732 -8.3272 4.39432
+14.9122 -8.2129 3.80462
+13.9094 -8.11578 3.94545
+14.1486 -7.14878 4.03354
+13.5708 -6.96263 4.80262
+12.657 -7.07286 4.33386
+13.0568 -6.81138 3.50866
+13.6094 -6.57392 2.64743
+14.404 -5.95363 2.54102
+14.8734 -6.78139 2.22327
+15.824 -6.83437 2.40864
+15.9689 -5.90597 1.87672
+16.1855 -5.15403 2.4587
+16.2174 -4.23388 2.12209
+15.6596 -4.83354 1.53394
+15.5447 -4.34127 0.6148671
+16.2415 -3.8287 0.9948481
+16.9202 -3.5497 1.7019
+16.7058 -2.76477 2.32981
+16.6894 -2.01364 3.1022
+17.3213 -2.36224 3.78576
+17.1585 -2.93672 4.57473
+16.5527 -3.54641 3.97657
+15.8186 -4.19133 4.1524
+15.4241 -4.90067 4.75395
+15.5513 -5.57249 5.48577
+16.2664 -5.87635 6.1199
+16.5205 -6.71744 5.68303
+16.2458 -7.30416 6.46043
+16.2495 -8.23721 6.80561
+15.458 -8.11072 6.20612
+14.6222 -8.30134 5.63122
+14.7214 -7.38942 5.30952
+15.0877 -6.5723 4.97579
+15.2706 -6.60862 5.96359
+14.4349 -6.16136 6.26318
+14.3309 -7.07607 6.6816
+14.4833 -6.96358 7.62252
+14.6699 -5.98365 7.43966
+13.8659 -5.4496 7.05067
+13.0685 -4.96845 6.73721
+12.5242 -5.73505 6.36928
+12.5416 -6.21641 7.24197
+11.7849 -6.49409 7.81728
+11.4194 -7.02462 8.50158
+10.8248 -7.44324 7.83712
+10.3401 -6.66868 7.74805
+10.1159 -5.86779 7.11392
+10.7147 -5.12675 7.46192
+11.0287 -4.15252 7.56511
+11.0216 -3.97969 6.51305
+11.6352 -4.2773 5.81346
+12.5318 -4.54436 5.51507
+11.8249 -4.64516 4.75901
+11.4867 -5.57747 4.64073
+10.6342 -5.98434 4.55169
+9.82691 -5.45327 4.37626
+9.041 -5.78766 3.82623
+8.72476 -6.35542 4.63176
+8.9047 -6.0651 5.60462
+8.84308 -5.3633 6.2978
+8.81132 -4.36847 6.44201
+8.96536 -3.44143 6.16416
+7.93139 -3.15943 6.10483
+7.86794 -2.15857 6.25226
+8.62642 -2.30431 6.91569
+8.97559 -1.88807 7.77051
+8.29384 -1.22598 7.49074
+8.65738 -0.4279241 7.90068
+9.57068 -0.8063301 8.16903
+9.95977 -0.02060007 8.60467
+10.4041 -0.2824111 9.46776
+10.6536 0.6637999 9.29389
+9.97894 0.5659429 9.95862
+10.3222 0.5769729 10.9034
+11.0992 1.19235 10.6187
+11.1463 1.4923 11.5416
+11.95 1.70652 12.129
+11.9449 2.36608 12.7975
+12.0355 2.85016 11.8961
+12.1777 3.85226 11.9846
+12.1054 4.48535 11.0653
+12.7474 5.08237 11.4915
+13.5574 4.92995 11.994
+14.0985 5.6395 12.3409
+14.1473 6.61355 12.4175
+13.401 6.72036 12.9749
+12.8891 6.58013 13.8204
+13.4735 7.08363 14.591
+12.7062 7.11494 15.2203
+11.8894 7.51632 15.7422
+11.0025 7.17282 15.3211
+10.379 7.43746 14.6184
+9.59187 7.77115 15.1016
+9.07786 6.90905 15.2596
+8.85384 5.96241 14.8456
+9.0945 5.75556 15.8311
+8.92938 4.76267 15.9452
+9.37119 5.05681 16.8334
+8.94796 5.80009 17.3656
+8.81688 6.17271 18.3301
+8.36434 6.50203 19.0947
+8.60132 7.4322 18.9576
+7.65389 7.41121 18.5436
+7.12774 6.48494 18.2749
+6.51674 7.19216 18.6664
+5.97775 7.7071 19.2761
+6.56894 7.74764 20.0995
+7.49853 7.90588 19.6967
+7.47489 8.88353 19.6421
+8.39118 8.71202 19.536
+8.83773 9.31008 18.7803
+9.41321 9.104 18.0055
+9.65674 8.41865 17.3364
+9.54395 7.9262 16.4554
+9.97939 7.03988 16.6675
+10.9436 6.8876 16.2877
+10.6719 6.66071 17.1984
+10.4004 6.02327 17.8847
+11.2088 5.54344 17.5294
+11.9053 6.0561 17.1188
+12.2541 6.90489 16.7298
+11.9831 6.4564 15.8737
+12.5525 5.8063 15.2755
+13.4402 6.10114 15.0074
+14.4382 6.03826 15.0626
+14.5781 6.34669 15.9686
+14.3155 5.51283 16.5281
+14.5287 5.83497 17.4286
+13.9263 5.89642 18.2496
+13.0571 6.34586 17.988
+13.7898 7.06148 17.7608
+14.0733 7.59836 16.9563
+13.4545 8.23017 16.4437
+14.2941 8.02093 15.8863
+14.5664 8.02266 14.9176
+14.3767 7.67919 13.9822
+14.1412 8.60518 13.691
+14.3538 9.41434 14.1871
+14.9826 9.43962 13.4365
+15.4258 8.58844 13.1038
+15.3572 7.9171 12.3198
+15.8862 7.08662 12.3652
+15.3087 6.41512 11.9529
+15.7472 5.76358 11.2848
+14.8549 5.56618 10.8067
+15.1778 5.88579 9.97588
+15.7242 5.07879 9.84817
+16.6076 5.37026 9.91847
+17.4173 5.87078 9.86748
+17.3538 6.38671 9.0995
+17.5066 5.58474 8.57716
+18.0755 5.87276 7.78875
+18.2893 5.89856 6.7935
+18.8749 5.16928 7.21515
+17.9041 5.10296 7.11957
+16.9386 4.78744 7.17042
+17.0812 4.19571 7.94241
+17.2687 3.18868 8.12482
+17.1352 2.67696 9.02596
+17.802 1.95875 9.32616
+18.4263 1.49795 9.94625
+19.2834 1.0827 9.73296
+19.0554 0.1406569 9.51941
+18.3128 -0.2197141 8.90303
+17.619 -0.8765781 9.3324
+17.3936 -1.45024 10.057
+17.7665 -1.86501 10.8673
+17.7099 -2.51298 10.1143
+18.6269 -2.78882 10.2126
+18.697 -2.74814 11.2575
+19.3684 -2.7839 11.9727
+20.1243 -2.06216 12.1339
+20.6527 -2.86374 12.4943
+21.636 -2.92671 12.7574
+22.2984 -2.19964 12.8169
+22.9568 -2.75679 12.261
+23.318 -3.1258 11.3983
+22.7128 -3.90804 11.2894
+22.2833 -4.26496 12.1264
+21.7267 -4.85914 12.7967
+21.9962 -4.32145 13.6222
+22.6577 -5.03229 13.9177
+22.9939 -5.93473 14.1815
+22.7985 -5.78006 15.1706
+22.7169 -5.05894 15.8548
+21.9121 -4.51939 15.7096
+21.7082 -5.4078 16.1426
+21.2202 -5.97998 15.4968
+20.7784 -6.35243 16.3064
+20.5065 -6.63992 15.3302
+20.9009 -7.0022 14.4716
+21.6823 -7.62174 14.3301
+21.872 -7.16037 15.1283
+22.1678 -7.48601 16.0407
+22.9483 -6.98067 15.6747
+23.1571 -7.76722 15.1406
+23.8858 -7.27558 14.775
+23.203 -7.61476 14.1019
+23.2085 -7.47276 13.104
+23.9095 -6.6705 13.1887
+23.6291 -5.71274 13.2635
+22.8191 -5.4137 12.8207
+22.2023 -5.82429 12.1203
+22.0806 -6.18205 11.0969
+21.3687 -6.20311 10.5123
+22.176 -5.79743 10.0201
+22.7667 -6.4005 9.6221
+22.223 -7.21535 9.27225
+22.7251 -7.88873 9.76269
+23.1632 -8.61962 9.24829
+22.8 -8.93231 10.151
+23.3842 -9.41034 10.8522
+24.184 -10.066 10.879
+24.2762 -10.8776 10.2999
+23.8053 -11.6249 9.86764
+24.511 -11.7057 9.16762
+25.0467 -12.4958 8.90219
+24.4805 -13.0953 8.34078
+23.7506 -12.8875 7.68091
+23.9661 -13.6348 7.07137
+23.0749 -13.7484 7.54596
+22.9429 -13.2989 6.63268
+22.7615 -12.6929 5.91624
+21.9417 -12.1705 5.78191
+22.4758 -11.6283 6.44741
+21.9272 -10.9588 5.89172
+21.8484 -10.7697 4.97688
+22.4713 -9.9753 5.06657
+22.4586 -9.26658 5.77128
+22.7395 -8.28874 5.69888
+22.3764 -8.33839 6.67114
+22.5755 -9.15819 7.26246
+22.6471 -9.47181 8.20717
+22.0714 -9.78631 9.01932
+21.9807 -10.5103 8.28223
+21.8404 -11.4694 8.63798
+22.3142 -12.2313 8.19324
+22.8585 -12.8299 8.76967
+23.7405 -12.6873 9.24773
+22.9804 -12.504 9.80012
+22.5417 -13.1055 10.4242
+21.8922 -13.655 9.90561
+21.5795 -13.9686 10.8226
+21.4525 -13.082 11.3646
+20.5688 -12.6628 11.0302
+21.1336 -12.3322 10.2956
+20.4773 -12.3239 9.62265
+19.9534 -12.7354 8.91486
+19.2262 -13.2045 9.51281
+18.6117 -13.5735 8.75859
+18.4266 -13.6465 7.78123
+18.9481 -13.0302 7.13441
+18.3662 -13.0618 6.3277
+18.4626 -13.086 5.32065
+18.5379 -13.1755 4.38551
+18.3739 -13.987 3.89419
+17.8904 -14.7277 3.35126
+17.7449 -15.7086 3.20121
+18.5772 -16.1675 3.56706
+19.5369 -16.0634 3.36693
+20.1639 -16.2604 4.07859
+20.931 -16.6453 3.64817
+20.9029 -16.9337 4.65488
+21.2699 -17.7124 5.23889
+21.5644 -18.5322 4.80983
+22.4357 -18.672 4.38464
+22.4105 -19.3955 5.02393
+22.3951 -18.9854 5.89219
+22.0937 -18.0674 6.12719
+21.6908 -17.507 6.81298
+21.9967 -16.7226 6.20551
+22.6248 -16.3818 6.89664
+22.8768 -16.988 7.67205
+23.3519 -17.8265 7.76932
+22.948 -17.8551 6.92648
+23.7433 -18.1611 6.43531
+24.098 -17.3617 5.91617
+24.898 -17.9212 5.59474
+25.1052 -16.9385 5.42172
+25.6959 -16.3209 4.85236
+25.8646 -16.2331 5.87261
+25.9375 -16.2219 6.86151
+26.6472 -16.9061 6.63471
+27.0485 -16.1326 6.17069
+26.5753 -15.5156 5.63846
+26.6081 -14.7522 6.1464
+25.765 -14.1735 6.17857
+25.4108 -13.4789 6.79409
+25.8255 -12.5134 6.73959
+25.2139 -12.4105 5.88389
+25.4513 -11.6515 6.52552
+25.9741 -10.7884 6.80404
+26.0145 -10.1843 7.66896
+26.3895 -9.22012 7.4893
+25.4496 -8.99179 7.73924
+25.1047 -9.72733 8.26769
+25.1899 -9.50942 9.26378
+25.7508 -10.2374 9.63457
+25.449 -10.4907 10.5035
+25.5306 -9.67606 11.0968
+25.9743 -9.12671 10.4644
+26.0525 -8.50343 9.74042
+25.7639 -7.95211 9.01805
+24.9047 -7.68797 9.45478
+24.4199 -7.31759 8.66509
+23.5718 -7.00592 8.10151
+23.8396 -7.17455 7.18693
+23.4197 -6.69124 6.5033
+23.8527 -6.66005 5.62905
+24.6437 -6.02396 5.67921
+24.2716 -5.814 4.75032
+24.2857 -4.86256 4.4962
+24.3367 -3.84084 4.53306
+25.1963 -3.76486 4.01554
+25.7769 -3.73589 3.23515
+25.3298 -3.27805 2.5388
+24.6238 -3.41236 1.90017
+23.7704 -3.289 1.40685
+23.3189 -2.56931 0.9006861
+22.8563 -2.00246 1.54094
+23.671 -1.42405 1.43866
+24.2146 -2.03037 2.0274
+23.9868 -2.29407 2.91368
+23.5919 -2.85875 3.60956
+22.9219 -3.53628 3.99488
+22.2712 -3.48668 3.24178
+21.4312 -2.95212 3.37329
+20.8408 -3.64533 3.69231
+20.4882 -4.56132 3.97343
+21.174 -5.02143 3.47701
+21.2687 -5.36931 2.59335
+20.6016 -4.79924 2.07739
+19.9201 -5.4622 1.81586
+18.9169 -5.27244 1.59089
+18.4856 -6.0834 1.23759
+18.4992 -5.68287 0.3198581
+18.0328 -4.90369 -0.0002371105
+17.9903 -5.66781 -0.5296089
+17.7207 -6.32026 -1.16323
+17.1572 -6.72328 -0.4264609
+16.4022 -7.33798 -0.5941799
+16.0489 -8.21739 -0.9960719
+15.169 -8.18997 -1.55033
+14.2613 -8.41406 -1.52797
+13.9404 -8.83167 -2.37923
+13.1087 -9.32615 -2.72074
+12.8118 -9.31754 -3.66026
+12.7137 -9.44428 -4.61368
+12.0654 -10.2191 -4.6683
+12.0348 -10.9949 -5.28748
+11.1487 -11.3385 -4.98036
+10.9136 -11.7826 -5.91804
+10.1233 -12.199 -6.41392
+9.85359 -11.9526 -7.33453
+9.52216 -11.2977 -8.1012
+9.71179 -10.4665 -7.64903
+10.5895 -10.7288 -8.01466
+11.1896 -10.9134 -7.25395
+12.0127 -11.2889 -6.86793
+12.8761 -11.1883 -6.35022
+13.4474 -11.9843 -6.40001
+13.3245 -12.6362 -7.2466
+13.9815 -13.3262 -6.97898
+14.6392 -12.5497 -7.18479
+14.7758 -13.3666 -7.68799
+15.5086 -13.8065 -8.09691
+15.1671 -14.6069 -7.74576
+14.3781 -14.1043 -8.15545
+13.4782 -14.2095 -7.81202
+13.6183 -15.1467 -8.03272
+13.6293 -15.4459 -7.00727
+12.724 -15.2748 -6.57487
+12.1989 -15.9714 -7.17959
+11.3927 -15.787 -7.79897
+11.9407 -16.2269 -8.56645
+11.6582 -17.0673 -8.92143
+10.8685 -17.2934 -8.37399
+11.8169 -17.489 -7.8692
+10.9747 -17.9168 -7.47098
+11.8277 -18.4866 -7.46694
+12.3793 -18.7159 -8.27193
+12.9432 -19.551 -8.29712
+13.6831 -19.2585 -7.57827
+14.03 -18.2835 -7.4433
+14.3989 -17.5531 -6.79095
+14.2815 -17.398 -5.84746
+14.2441 -16.3989 -5.74756
+14.4939 -15.4307 -5.93769
+14.4939 -14.4107 -5.97564
+13.8382 -14.748 -5.29017
+13.2694 -13.8901 -5.49263
+13.5174 -12.9822 -5.24109
+13.95 -13.1603 -4.31216
+13.0054 -13.2909 -4.01268
+12.5361 -12.4377 -3.77818
+12.1657 -11.6022 -3.44724
+13.1376 -11.5189 -3.07526
+13.319 -11.1273 -2.23561
+14.1679 -10.7553 -2.67571
+14.9533 -11.436 -2.58784
+15.2463 -12.318 -3.06315
+15.805 -13.0243 -3.44214
+15.52 -13.6966 -4.16411
+15.9088 -14.391 -4.87885
+15.0652 -14.9595 -4.65043
+14.5786 -15.2411 -3.86827
+14.7996 -15.751 -3.01655
+14.238 -16.6205 -2.9248
+14.3571 -17.5721 -3.09843
+13.6489 -17.9674 -3.5618
+13.2584 -18.843 -3.87545
+12.256 -18.928 -4.08223
+11.6316 -19.6293 -3.92283
+11.4221 -20.5132 -4.45178
+10.3754 -20.3775 -4.48198
+10.6618 -21.29 -4.25986
+11.1136 -21.329 -5.17356
+11.9359 -21.7648 -5.27735
+12.0185 -22.6453 -4.86052
+12.9112 -22.9488 -4.64548
+12.6303 -22.6169 -3.80358
+12.7903 -22.8857 -2.8344
+12.948 -21.9046 -2.69529
+12.7035 -21.4789 -1.83664
+12.472 -22.4142 -1.47334
+12.8086 -22.4613 -0.5172219
+12.4123 -21.5785 -0.1126449
+11.9362 -21.3905 0.7057961
+12.5049 -20.6714 0.2728311
+11.9413 -19.8872 0.5675831
+10.9693 -19.5852 0.4354151
+10.1829 -19.8687 -0.03636138
+10.1461 -19.4058 -0.9523429
+9.34878 -20.0222 -1.03368
+10.1199 -20.5724 -0.7718269
+9.84713 -21.1037 -0.01500348
+10.2281 -22.0051 0.04838992
+10.9645 -22.2495 -0.4740939
+10.6169 -23.1803 -0.5300749
+10.2341 -22.7197 -1.27713
+9.6101 -22.4059 -1.95822
+9.89876 -23.2489 -2.45771
+8.88314 -23.4631 -2.49198
+8.08245 -22.8171 -2.56455
+8.6107 -21.9744 -2.39323
+8.06596 -21.1144 -2.60216
+7.20093 -20.7416 -3.00703
+7.405 -21.0637 -3.88839
+8.31898 -20.6165 -3.93657
+8.08626 -19.7973 -3.43918
+7.89754 -18.8205 -3.68937
+8.31267 -18.3429 -4.49714
+7.52249 -18.109 -5.00955
+6.89967 -18.7292 -5.65065
+6.66565 -19.5046 -5.00748
+6.22403 -18.6491 -4.69909
+5.59366 -17.9752 -5.07259
+6.5009 -17.5391 -5.16034
+6.64594 -16.6184 -5.17532
+5.8446 -15.9846 -5.05504
+5.18986 -16.3743 -5.73306
+4.84826 -16.383 -4.88159
+4.08539 -16.4703 -4.16379
+3.18031 -16.2624 -3.84994
+3.58387 -15.9901 -4.74481
+3.02966 -15.55 -5.49278
+2.34339 -16.1092 -5.08572
+1.3722 -15.8455 -4.84486
+0.470045 -16.2054 -5.0264
+0.255762 -17.1454 -4.60453
+-0.7457 -17.1386 -4.76713
+-1.30197 -17.455 -3.97378
+-1.52378 -16.5188 -4.08672
+-1.55326 -15.7165 -4.68847
+-1.5074 -16.5421 -5.25506
+-2.25809 -17.1844 -5.18451
+-2.65504 -17.6438 -4.39342
+-1.85033 -17.9663 -4.81681
+-1.61445 -18.0469 -5.80734
+-1.99538 -17.5296 -6.57295
+-2.64806 -16.8477 -6.73968
+-3.13295 -17.6934 -6.82695
+-3.94558 -18.2439 -7.04354
+-3.19658 -18.8099 -6.75384
+-2.29282 -18.9331 -7.06731
+-1.52388 -19.1338 -7.60263
+-0.50016 -19.1715 -7.6631
+0.02893357 -20.0341 -7.86189
+0.879805 -19.7437 -7.36999
+1.39065 -20.6632 -7.29263
+2.00783 -20.2848 -6.57859
+1.98505 -20.2923 -5.51693
+1.93014 -20.1799 -4.50122
+1.66384 -19.2842 -4.26756
+1.33188 -18.7798 -5.07338
+0.924879 -18.215 -5.75437
+0.281352 -18.6205 -6.36045
+-0.46197 -18.6194 -5.69552
+-1.01354 -19.454 -5.85052
+-1.06623 -20.0833 -5.09402
+-1.79907 -19.4031 -4.99588
+-1.95402 -20.0508 -5.78798
+-2.78056 -20.5601 -6.07407
+-2.87652 -21.5599 -5.96581
+-3.08444 -22.5227 -5.79994
+-2.51443 -23.2361 -5.54323
+-2.62075 -24.1438 -5.74728
+-3.14591 -23.7364 -6.4775
+-2.60055 -22.921 -6.67483
+-1.7608 -22.3635 -6.94795
+-1.00759 -23.0302 -7.21135
+-1.40602 -22.935 -8.15637
+-0.383303 -23.1973 -8.3611
+-0.904878 -24.0192 -8.54128
+-1.93159 -24.1771 -8.53924
+-1.54813 -25.0241 -8.90546
+-2.48717 -25.507 -8.90731
+-2.31961 -24.9429 -9.7433
+-1.3139 -24.9982 -9.9403
+-1.35077 -24.8193 -10.9172
+-1.09828 -23.8617 -10.9013
+-1.79857 -23.8327 -11.6283
+-1.10098 -24.0251 -12.3463
+-0.260163 -24.3476 -12.6669
+0.06457897 -23.7118 -11.9667
+0.481761 -23.8573 -11.1213
+-0.08467393 -24.3736 -10.5204
+0.159555 -25.3618 -10.4359
+0.585903 -25.6852 -9.57399
+0.888645 -25.1924 -8.70516
+1.46047 -25.3578 -7.90827
+2.02115 -24.5741 -7.67996
+2.62366 -23.9961 -8.28341
+2.91563 -23.0574 -8.36998
+3.04013 -22.6278 -9.24963
+2.10019 -22.2723 -9.02423
+2.07836 -22.3093 -8.01571
+2.89073 -22.45 -7.3571
+3.60466 -22.9629 -6.82286
+3.35531 -23.5823 -6.01985
+2.58623 -23.9055 -5.47614
+1.65281 -24.1354 -5.4704
+2.05814 -25.0091 -5.61409
+1.88832 -25.9741 -5.70178
+1.33279 -25.9689 -6.45987
+0.755589 -25.8019 -5.60801
+0.36313 -24.8479 -5.45965
+-0.08486583 -24.0306 -5.09963
+-0.39639 -23.5281 -5.90698
+-1.26208 -23.2841 -5.50261
+-1.23603 -22.7466 -4.64023
+-0.473321 -23.2066 -4.33011
+-0.833291 -22.6354 -3.59845
+-0.280257 -21.9963 -3.09667
+-0.801465 -22.4105 -2.40293
+-1.72251 -22.8406 -2.41875
+-1.88699 -23.4735 -3.11239
+-1.50577 -23.7868 -2.25046
+-0.842954 -24.209 -1.55713
+-1.68159 -24.7124 -1.46813
+-2.61685 -24.5135 -1.12693
+-3.26661 -25.1804 -0.6111219
+-3.25878 -24.6679 0.2484741
+-3.26593 -25.623 0.4409011
+-3.403 -26.5583 0.07746672
+-2.44786 -26.8456 0.3505171
+-2.4426 -27.5194 -0.4223659
+-2.53993 -26.7048 -0.9286269
+-1.5061 -26.7195 -0.7734789
+-0.488857 -26.5933 -0.7408599
+-0.547752 -27.4631 -1.1149
+-0.455211 -28.292 -1.6611
+0.147428 -27.8905 -2.35074
+0.865398 -28.5111 -2.14486
+0.764268 -27.8731 -1.32737
+1.56887 -28.4468 -1.15464
+2.48415 -28.3955 -0.8138859
+3.00143 -29.2492 -0.7289739
+2.4316 -29.2354 -1.56403
+2.05224 -30.0973 -1.10703
+1.65015 -30.6091 -0.3247229
+1.86513 -31.6054 -0.2183859
+0.961089 -31.7723 0.1733171
+0.189929 -32.4064 -0.1061039
+0.697018 -32.9814 0.5731091
+0.389864 -32.2173 1.25554
+0.06640627 -31.9852 2.19748
+-0.339845 -31.052 2.14994
+-0.736797 -31.4326 2.95926
+-0.759485 -30.4705 2.88988
+-1.00438 -29.5907 3.1827
+-0.221612 -28.9321 3.44838
+-0.350264 -28.4291 4.34094
+-0.347768 -29.3287 4.465
+0.29616 -30.1327 4.73401
+-0.388002 -30.7942 4.4101
+-1.13064 -31.1238 3.81154
+-0.977102 -32.1049 3.57194
+-1.92608 -31.9271 3.85817
+-2.34329 -31.0181 4.1372
+-3.04194 -31.1308 4.83507
+-3.09548 -30.2079 5.036
+-3.83927 -30.1532 4.2797
+-4.02441 -30.3427 3.33151
+-4.77726 -30.7948 2.86894
+-5.52583 -31.4254 2.88787
+-6.21232 -30.9263 3.46972
+-5.56351 -30.9227 4.31293
+-6.49062 -30.4719 4.40573
+-6.53955 -31.4086 4.73507
+-6.37764 -32.346 4.45462
+-5.9887 -33.0778 3.90489
+-5.13975 -32.6779 3.69433
+-4.59728 -32.3888 2.95105
+-4.72449 -32.0716 2.04511
+-3.94752 -31.5173 1.75863
+-4.0073 -32.3249 1.2369
+-4.46433 -33.1036 1.58011
+-5.22205 -33.7399 1.22942
+-5.27743 -32.9271 0.7599031
+-5.59462 -31.9602 0.8182211
+-6.23636 -31.2115 0.8920231
+-5.50657 -30.5697 0.5680871
+-4.7419 -30.3385 1.04092
+-4.84283 -29.4106 1.35961
+-4.96879 -28.5093 0.9464241
+-4.68548 -28.3495 1.89226
+-5.55883 -27.9145 1.64231
+-6.51514 -27.93 1.77374
+-7.20609 -27.7352 1.04279
+-7.22647 -28.381 0.3038501
+-7.20602 -27.8218 -0.5279949
+-6.83696 -27.8503 -1.52527
+-7.43494 -27.1215 -1.82155
+-7.15331 -27.1002 -2.75658
+-7.4386 -27.7524 -3.50886
+-7.0072 -28.6554 -3.50201
+-7.77704 -28.9357 -3.97869
+-7.451 -29.8245 -4.36636
+-6.865 -29.0939 -4.79434
+-6.52124 -28.825 -5.66168
+-7.48414 -28.9513 -5.90745
+-7.26983 -28.0352 -6.21471
+-7.27231 -27.7579 -7.09242
+-7.59083 -27.2816 -7.86856
+-8.10812 -26.9303 -8.72727
+-7.33452 -26.4605 -8.47603
+-7.11372 -26.2866 -9.43274
+-7.57525 -25.9631 -10.1821
+-7.2654 -26.5414 -10.8972
+-7.45943 -25.9878 -11.6464
+-7.57278 -25.0385 -11.2704
+-6.74451 -25.3228 -11.7568
+-6.22997 -25.4739 -10.9056
+-6.41343 -24.4909 -10.9319
+-5.57593 -24.2798 -10.3557
+-5.41061 -23.4526 -10.9818
+-5.14117 -22.6092 -10.6934
+-5.76242 -22.6569 -11.3925
+-6.7976 -22.6567 -11.3599
+-6.71084 -22.8939 -12.3041
+-6.33011 -23.6551 -12.8157
+-6.50669 -24.4498 -12.2349
+-7.26414 -24.7065 -12.8408
+-8.20588 -25.0408 -12.6962
+-8.35991 -25.9117 -12.9691
+-8.84432 -26.0456 -12.117
+-9.66475 -25.658 -11.706
+-10.0149 -25.8595 -12.5939
+-10.4889 -26.6596 -12.9548
+-10.0398 -27.5057 -12.8818
+-9.74446 -27.9801 -12.0077
+-10.0395 -27.1028 -11.5774
+-9.16283 -27.3536 -11.5016
+-8.63258 -27.6493 -12.2357
+-8.21989 -27.3571 -13.1375
+-7.36546 -27.1035 -12.8035
+-6.56165 -27.6909 -12.7739
+-6.92779 -27.3224 -11.9192
+-6.20789 -27.326 -11.2551
+-5.38201 -27.6882 -11.6669
+-5.09614 -28.3532 -10.9887
+-4.33074 -27.8315 -11.297
+-3.57087 -28.1019 -11.7589
+-4.01677 -28.5286 -12.548
+-4.13631 -28.412 -13.5274
+-5.0833 -28.3213 -13.7567
+-4.7085 -27.3942 -13.6301
+-5.46409 -26.8569 -14.2117
+-5.12717 -26.6317 -15.1242
+-4.5427 -27.2581 -15.8088
+-4.07003 -26.4511 -15.469
+-3.22708 -26.1929 -15.1377
+-2.76246 -27.1005 -14.9072
+-2.26413 -26.1499 -14.9771
+-1.7344 -26.9346 -15.2958
+-1.7762 -26.3711 -16.0667
+-1.225 -27.265 -16.127
+-1.22796 -27.6978 -17.0324
+-0.976136 -28.6228 -16.6486
+-1.75632 -28.7759 -16.0345
+-1.55244 -29.5721 -15.5572
+-0.762712 -30.1146 -15.973
+0.147299 -29.815 -15.7262
+0.987057 -29.8055 -15.1261
+1.23451 -30.0418 -16.0479
+1.71649 -30.8914 -16.0712
+0.961962 -31.1365 -16.7152
+0.02418527 -30.7772 -16.7453
+-0.511915 -31.6475 -16.7047
+-0.667821 -31.4968 -15.6946
+-1.63282 -31.5051 -15.4508
+-2.04999 -31.6738 -14.5528
+-2.73423 -32.3755 -14.2808
+-2.92936 -32.8055 -13.3369
+-3.46398 -32.9854 -12.4901
+-4.01257 -33.3658 -11.6825
+-4.7071 -34.0254 -11.8421
+-5.01486 -33.6103 -10.9299
+-5.83397 -33.8285 -10.4489
+-6.30182 -32.9325 -10.3192
+-6.55507 -32.5712 -9.42857
+-7.27685 -32.2512 -8.7861
+-7.61478 -31.5709 -9.3855
+-6.66392 -31.2019 -9.37976
+-5.85341 -31.6644 -9.04484
+-5.30012 -30.879 -9.34453
+-5.50362 -30.5804 -8.45666
+-5.56171 -29.5825 -8.66459
+-5.09959 -28.8928 -8.12323
+-4.52943 -28.8629 -7.24156
+-3.99179 -29.5537 -7.72675
+-4.87345 -29.939 -7.39607
+-4.3656 -30.7337 -7.28398
+-4.07816 -31.6939 -7.06469
+-4.76335 -31.4754 -7.86069
+-4.63207 -32.4037 -8.18455
+-4.99642 -33.3683 -8.11005
+-5.83347 -33.7622 -7.67662
+-6.04665 -34.7859 -7.66501
+-5.33471 -34.7159 -8.40546
+-4.46125 -34.8036 -7.85699
+-3.57724 -34.5616 -7.54004
+-3.20007 -34.9315 -6.66001
+-2.21406 -34.9687 -6.50532
+-1.32859 -34.6004 -6.78729
+-0.880781 -33.7668 -6.58258
+0.122989 -33.7022 -6.40215
+-0.170705 -33.8284 -5.39013
+0.542235 -33.6247 -4.743
+0.01403107 -33.2385 -4.03061
+0.416977 -32.4661 -3.47936
+0.02636687 -31.9669 -4.22353
+-0.756313 -32.4901 -4.63028
+-0.96685 -31.6725 -5.20239
+-1.88555 -31.3385 -5.03985
+-2.56933 -30.8344 -4.49313
+-2.5664 -31.7667 -4.23766
+-2.84033 -32.3345 -5.02727
+-3.82574 -32.0247 -4.91663
+-4.02821 -32.8633 -4.39882
+-4.79357 -33.2158 -4.93567
+-5.08113 -34.1408 -4.7498
+-5.7345 -34.3773 -4.12364
+-6.52846 -34.9989 -3.92108
+-6.10273 -35.321 -3.15955
+-5.84244 -35.0906 -2.22417
+-6.3493 -35.9865 -2.04862
+-5.94517 -36.6942 -1.41354
+-5.97794 -35.858 -0.7871299
+-6.74654 -35.7986 -0.1499369
+-6.82672 -34.8082 -0.06300748
+-6.56674 -33.8328 -0.1553539
+-7.2328 -33.1857 0.1366111
+-7.99515 -33.3835 0.7487401
+-8.62549 -33.9901 1.22033
+-9.34323 -33.9301 0.5744511
+-9.94322 -33.3465 0.02430462
+-9.74597 -32.4133 0.4133631
+-10.1684 -31.5015 0.3464731
+-11.151 -31.4641 0.5020301
+-11.6215 -30.9123 -0.2030039
+-11.1368 -30.2891 0.3854301
+-11.548 -29.8592 1.21589
+-12.6373 -30.1341 1.19904
+-13.2867 -30.2812 0.4992201
+-13.9817 -30.0981 1.19465
+-14.8805 -30.5032 1.27396
+-15.4314 -31.089 1.91721
+-14.8335 -31.4838 2.54904
+-15.5292 -31.7516 3.19795
+-16.4036 -31.3275 3.34382
+-17.2506 -30.7365 3.24162
+-16.9426 -30.9081 2.33926
+-16.7779 -30.0835 1.82785
+-16.1553 -29.9589 2.57126
+-15.0869 -29.9666 2.528
+-14.9451 -28.977 2.59385
+-15.7194 -28.3105 2.59017
+-15.9543 -27.4525 2.96643
+-15.8702 -26.5013 3.20489
+-15.2618 -27.0535 3.67276
+-14.4033 -27.3427 3.31707
+-13.6357 -27.6426 2.78916
+-13.4526 -27.6751 1.77864
+-13.7893 -26.9904 1.23749
+-13.6991 -27.1385 0.2960291
+-14.104 -28.0058 -0.1130319
+-13.4759 -27.8942 -0.9128399
+-12.9239 -27.3973 -1.57342
+-12.7445 -26.8662 -0.8346949
+-12.0111 -26.2192 -1.10914
+-11.8515 -26.866 -0.3267719
+-11.3487 -27.6841 0.06945492
+-11.0791 -27.9426 -0.8166949
+-10.1005 -28.3251 -0.9231759
+-9.36329 -28.7123 -1.5273
+-9.77986 -29.1057 -2.27534
+-9.61585 -30.0013 -1.91502
+-9.75317 -31.1147 -1.83093
+-9.68498 -30.9236 -0.8793729
+-8.7357 -30.851 -0.7150829
+-8.28037 -30.0321 -0.7729789
+-9.15513 -29.8222 -0.3643189
+-10.0262 -29.7061 0.1294911
+-10.0606 -29.2671 1.07186
+-9.52147 -28.458 0.7556741
+-10.1087 -27.6025 0.8561291
+-9.53179 -26.7529 0.6004121
+-9.34078 -25.7901 0.3858071
+-8.33267 -25.5675 0.3386031
+-7.68459 -25.3726 0.9745741
+-7.43072 -26.1455 1.60005
+-7.34602 -26.9298 2.12404
+-8.0018 -27.2911 2.81301
+-7.7038 -28.2451 2.87921
+-8.21383 -28.1989 3.69653
+-8.54661 -29.1275 3.74865
+-8.86498 -29.2846 2.83737
+-8.87338 -30.1372 2.37586
+-9.85997 -30.386 2.52784
+-10.4924 -30.2201 3.17992
+-11.1482 -30.6719 3.72177
+-11.1193 -30.5311 4.78488
+-11.0996 -31.3894 5.32681
+-11.7457 -31.9448 4.97306
+-11.3606 -32.8001 4.83623
+-11.9832 -32.9243 5.6258
+-12.7914 -33.5503 5.7888
+-12.5611 -33.6306 6.78019
+-12.2953 -34.4923 6.23625
+-11.6441 -34.0194 5.63067
+-11.0172 -33.3924 6.0716
+-10.3559 -32.6466 5.868
+-9.84982 -31.9281 5.52081
+-9.3162 -31.6042 6.27711
+-9.91195 -30.7939 6.44743
+-9.4695 -30.2407 7.20479
+-9.84419 -29.3959 6.87219
+-9.52942 -28.4614 6.80415
+-8.7354 -28.4048 7.42659
+-8.11155 -28.9294 6.76135
+-7.15942 -29.3692 6.84382
+-7.17706 -28.9015 5.95513
+-7.05746 -29.1112 4.97361
+-6.29676 -28.4266 5.02954
+-5.61739 -27.7924 5.35387
+-5.16213 -26.9781 5.137
+-5.51372 -26.4432 4.38017
+-4.68885 -26.4479 3.82319
+-5.05924 -26.391 2.91518
+-4.76006 -27.3053 2.76286
+-3.93485 -27.6365 3.21852
+-3.18369 -27.7108 2.52604
+-3.17204 -28.446 1.89714
+-3.45552 -27.8842 1.12934
+-2.81722 -28.5809 0.8344961
+-2.7704 -29.4673 0.4301531
+-2.17301 -30.1634 0.9266991
+-2.66834 -30.9561 0.4182791
+-2.54031 -31.9102 0.3959231
+-1.94688 -32.4724 -0.2143409
+-1.99011 -31.6136 -0.7083849
+-1.90272 -32.474 -1.26499
+-2.17053 -32.0833 -2.16425
+-1.77033 -31.7624 -3.05559
+-1.21428 -31.2006 -2.48993
+-0.360399 -31.5813 -2.67904
+-0.458845 -32.5009 -2.24463
+0.414483 -32.764 -1.9161
+0.958047 -32.929 -1.10683
+0.857245 -33.9309 -1.1363
+-0.11235 -33.6957 -0.8697039
+-0.587633 -34.4517 -1.22852
+-0.456469 -34.7918 -0.3372039
+-0.511243 -35.6396 0.3102441
+-0.07963933 -36.4274 -0.06488348
+-0.408271 -35.8679 -0.8275969
+-1.04439 -35.2898 -1.34844
+-1.74473 -36.0523 -1.19471
+-2.59566 -35.78 -1.54295
+-2.4239 -35.3803 -2.39169
+-1.63869 -35.8082 -2.84282
+-0.973177 -36.5427 -2.66819
+-0.299181 -37.2599 -2.85176
+0.35901 -36.9402 -3.52274
+0.153375 -36.1217 -3.99497
+0.602714 -35.3732 -4.58523
+1.36403 -35.695 -4.11407
+1.13624 -36.4944 -4.75868
+1.95605 -35.9361 -5.01615
+2.08005 -35.6277 -5.91686
+1.98913 -36.5847 -5.80777
+2.88073 -36.5706 -6.21002
+2.86723 -35.7079 -6.72484
+2.53392 -34.7625 -6.75886
+2.99056 -33.8852 -6.72324
+3.13312 -32.9534 -7.03741
+3.82661 -33.0429 -7.78904
+3.05067 -32.473 -8.20499
+2.10805 -32.3276 -8.4991
+2.03354 -33.0898 -7.91915
+1.1762 -32.7337 -7.57395
+0.916799 -31.8761 -7.18013
+0.73491 -32.5249 -6.34246
+0.745324 -31.744 -5.67489
+1.33584 -31.0485 -5.28121
+2.25507 -31.5261 -5.23328
+2.80718 -30.7049 -5.04458
+3.33137 -30.1322 -4.47059
+3.97492 -30.7238 -5.03206
+4.54957 -29.8912 -4.81308
+4.28569 -28.9254 -4.92268
+3.73862 -28.3431 -4.26754
+3.09364 -27.929 -3.60119
+2.279 -27.6443 -3.14127
+1.55312 -26.9725 -2.8759
+1.19627 -26.1231 -2.52458
+1.03391 -25.8475 -3.48845
+1.83093 -25.2086 -3.34491
+1.21103 -24.3901 -3.18723
+0.410133 -23.6833 -3.28363
+0.724984 -23.6856 -4.19096
+0.709613 -22.7732 -3.82177
+0.529672 -22.2189 -4.63617
+1.03514 -21.5481 -5.19575
+1.97146 -21.5503 -4.70378
+2.88473 -21.2971 -4.72042
+3.31385 -21.825 -3.95996
+2.8572 -21.6083 -3.09096
+1.87242 -21.3224 -2.95046
+2.62274 -20.9591 -2.33327
+3.17574 -21.6194 -1.7722
+4.14737 -21.6816 -1.74102
+3.82457 -21.3974 -2.66535
+4.78828 -21.1266 -2.88471
+5.49353 -20.836 -3.57195
+4.61718 -20.2537 -3.55507
+4.82737 -20.0048 -2.59484
+5.48616 -19.2691 -2.75022
+5.07699 -19.1145 -1.87406
+4.99075 -18.1701 -1.61066
+4.03136 -18.5348 -1.63927
+4.15947 -17.585 -1.90669
+3.66141 -17.2229 -2.73579
+2.70217 -17.1157 -3.14992
+2.61133 -17.7758 -2.4429
+1.70015 -17.7168 -2.05843
+1.63764 -18.5066 -1.4912
+1.62861 -19.3919 -1.15111
+0.61747 -19.4552 -1.13758
+0.992767 -20.4298 -1.2495
+1.31512 -20.3418 -2.15929
+0.42165 -19.9891 -2.45045
+-0.57002 -19.9023 -2.36026
+-0.930017 -19.0558 -2.84128
+-0.271876 -18.3675 -2.88757
+0.445859 -17.8202 -3.22805
+0.50654 -16.8849 -2.93476
+-0.03413963 -16.9235 -2.14862
+0.843417 -16.6817 -1.80023
+0.196545 -15.9239 -1.84942
+0.06232547 -15.5097 -0.9087939
+-0.23593 -14.5751 -1.20143
+-0.167174 -13.7989 -1.85691
+-0.487251 -12.8323 -1.92537
+-1.29926 -12.2589 -1.87453
+-0.911351 -11.8874 -1.05131
+-0.384124 -12.3207 -0.3850729
+0.467525 -11.8433 -0.2822339
+0.63973 -12.6824 -0.8651389
+1.3566 -13.1636 -0.3727199
+2.35407 -13.0462 -0.09508098
+1.87928 -13.3691 0.6990161
+2.67565 -12.7658 1.05821
+1.93313 -12.9289 1.76265
+1.34931 -13.3911 2.43258
+0.794268 -12.5214 2.42501
+0.153415 -13.1004 2.07843
+0.178592 -13.0078 3.10963
+0.524956 -13.9704 3.11165
+1.53156 -14.0132 3.19736
+1.71359 -14.955 2.98557
+1.93256 -15.7897 2.7653
+2.06459 -15.4245 1.8613
+2.65987 -14.945 2.49717
+3.06078 -15.8514 2.20276
+2.58705 -16.5574 1.75196
+3.06309 -16.2656 0.9217101
+2.88813 -17.105 0.3392571
+3.64971 -17.4046 -0.2114959
+4.45519 -17.9561 -0.05997188
+4.29051 -17.2031 0.6092351
+4.13369 -17.8406 1.35575
+4.00324 -16.9198 1.70055
+4.9654 -16.7698 2.03593
+4.8595 -15.9876 2.65586
+4.88136 -15.73 3.67585
+5.80358 -15.3276 3.60176
+6.57166 -15.5924 2.98275
+7.17685 -14.9982 3.41853
+7.01784 -14.0136 3.71085
+7.72182 -13.2857 3.55628
+7.5624 -13.0178 2.56559
+8.14637 -13.488 1.93623
+7.92311 -14.1143 1.26338
+7.13224 -13.7527 1.70324
+6.17747 -13.6724 1.64618
+5.60247 -12.935 1.79794
+6.21141 -13.0311 2.5432
+6.3332 -12.4984 3.42267
+7.09366 -11.8126 3.40877
+7.14761 -12.1946 4.24342
+7.22227 -11.8649 5.16594
+6.28327 -11.9619 5.55196
+6.05591 -12.3594 6.48994
+6.96258 -12.2167 7.02597
+7.17089 -11.2613 6.72332
+7.96803 -10.7203 6.56381
+7.8604 -11.5484 6.07592
+8.27153 -12.3343 6.59897
+8.27736 -12.4939 5.59568
+8.11177 -13.2946 4.99201
+8.69217 -14.0784 5.21071
+8.98387 -15.0048 5.62814
+8.31661 -14.8626 6.277
+8.16536 -14.2274 7.04688
+8.78818 -14.9842 7.21579
+8.86161 -15.7153 7.92897
+9.34962 -15.0732 8.60808
+8.82617 -14.4165 9.06482
+7.86269 -14.3018 8.85571
+7.32975 -14.9175 8.27077
+6.93507 -14.8359 9.21417
+5.97861 -14.6327 9.361
+5.76179 -13.6579 9.51383
+5.83498 -14.3353 10.3086
+5.56235 -15.2154 10.1213
+4.97111 -15.5759 9.39779
+4.97547 -16.5043 9.51957
+5.93961 -16.5261 9.61539
+6.34754 -16.3269 10.5453
+6.81397 -16.5627 11.4128
+7.74164 -16.2191 11.3764
+7.95084 -16.0332 10.3927
+7.46729 -15.2378 10.7714
+7.11819 -14.4148 10.5322
+6.78388 -14.199 11.4343
+6.21586 -15.0746 11.3899
+5.51534 -15.7988 11.4302
+5.68739 -16.6118 11.942
+6.2412 -16.9314 12.7069
+5.90153 -17.6983 12.2225
+6.65548 -18.2471 12.0331
+6.68724 -18.933 11.4054
+6.61509 -19.2863 10.4868
+7.18091 -19.3185 9.63424
+7.05312 -18.3391 9.46843
+7.08122 -18.3595 8.45386
+8.04773 -18.3622 8.76092
+7.67101 -19.0151 8.09662
+8.28163 -19.4801 7.42341
+9.1589 -19.8519 6.99485
+9.29328 -20.1216 7.97268
+9.65087 -21.0568 7.84163
+9.55966 -20.8248 6.89521
+9.83833 -20.616 5.99148
+9.7105 -19.6579 5.56449
+10.073 -19.3215 4.72588
+10.8447 -18.6405 4.62493
+11.6387 -18.3455 5.12041
+11.4862 -18.0797 6.096
+11.0112 -18.5028 6.8993
+10.9989 -19.3437 6.29093
+10.9647 -20.0017 5.46091
+11.6915 -19.7313 4.91117
+12.3457 -20.2572 4.38944
+12.6286 -20.0153 3.44126
+13.0398 -20.873 3.40756
+13.103 -20.821 2.42337
+13.1089 -19.851 2.08783
+13.2204 -18.9466 2.62945
+13.1944 -17.9768 2.83552
+13.987 -17.3754 2.9129
+13.8976 -16.458 2.51572
+13.4982 -16.3481 3.39067
+13.3167 -15.3371 3.11086
+14.1239 -14.7813 2.87749
+14.0822 -14.9664 3.90174
+14.0952 -15.4366 4.74873
+14.0452 -14.6582 5.36334
+13.5111 -14.375 6.1075
+13.3858 -13.5418 5.65788
+12.5668 -12.9139 5.5024
+11.7001 -12.4814 5.37338
+11.3056 -13.4328 5.21158
+11.635 -14.3581 5.36317
+11.198 -15.2874 5.49238
+10.3311 -15.7221 5.24523
+9.8002 -15.7838 5.9913
+10.1546 -15.6022 6.97369
+10.8658 -15.0947 6.53863
+10.8438 -14.2298 7.10869
+11.723 -14.507 7.40902
+12.4421 -15.179 7.32751
+11.7519 -15.9846 7.14129
+11.0558 -15.6713 7.8654
+10.6811 -16.455 8.40375
+10.8155 -15.8519 9.24817
+10.9499 -15.9213 10.2237
+10.4383 -16.7658 10.5611
+10.1831 -15.9094 10.9761
+10.5314 -16.4741 11.7642
+11.4206 -16.3372 12.1379
+11.7636 -17.0324 11.5194
+12.3074 -17.1108 10.7061
+12.2612 -16.1566 10.634
+12.7345 -15.3075 10.4269
+13.2126 -15.6331 11.2934
+14.0802 -16.0132 11.5596
+14.7659 -16.7001 11.3479
+15.6853 -16.6358 10.8638
+16.0671 -16.7979 11.7476
+15.7609 -16.2544 12.5344
+15.0903 -16.2686 13.3113
+15.4613 -17.0945 12.8697
+16.1836 -17.7099 12.4822
+16.8091 -18.2433 11.9256
+17.1737 -18.5664 11.1026
+18.0477 -18.0673 11.3411
+18.7248 -18.4813 10.7993
+18.8594 -18.9269 9.87395
+19.5065 -18.3631 9.39073
+19.778 -18.2879 8.38091
+18.8583 -18.1224 8.09852
+17.9218 -17.94 8.38878
+17.8338 -17.1353 7.81957
+17.8263 -16.8713 6.87306
+17.9303 -16.5217 5.95954
+18.8579 -16.3036 6.22518
+18.9749 -17.2279 5.96216
+18.4448 -17.156 5.07423
+18.1502 -16.6044 4.28115
+18.3682 -17.3721 3.72192
+17.4752 -17.4938 3.36418
+17.3637 -16.8215 2.72243
+16.9707 -17.6037 2.21532
+16.0666 -17.4294 2.50703
+15.8446 -17.0045 3.35542
+16.1012 -17.2274 4.26125
+15.7743 -16.8361 5.16672
+15.2055 -16.0143 5.2018
+15.1814 -15.0103 5.14671
+15.3478 -14.5413 6.02271
+15.6293 -14.4512 6.98319
+15.133 -14.4495 7.88266
+14.6078 -14.3421 8.65998
+14.6309 -14.2505 9.61225
+14.9512 -14.8067 10.3418
+14.5821 -14.316 11.118
+13.957 -13.7111 11.6339
+13.0608 -13.4539 11.8512
+12.7158 -14.284 12.1503
+12.5365 -15.0984 12.6652
+13.0162 -15.6947 13.2954
+13.3721 -15.4126 14.1946
+12.7329 -16.2178 14.3753
+13.6254 -16.6406 14.7912
+14.53 -16.3142 15.0996
+14.3285 -17.2259 15.4076
+13.3263 -17.1892 15.7368
+12.3974 -17.0303 15.4481
+11.5135 -17.4388 15.5794
+10.9328 -17.7495 16.3625
+10.7748 -18.3411 17.0725
+10.6334 -18.8969 16.2728
+11.6419 -18.9209 16.0434
+11.7429 -19.8755 16.193
+12.1049 -19.5946 15.3793
+11.4963 -20.3817 15.0564
+10.6101 -20.0931 15.1305
+10.5206 -20.6486 14.2993
+10.7772 -19.8441 13.8223
+11.0142 -18.878 13.7167
+11.9871 -19.0792 13.7971
+12.618 -18.5345 14.3825
+12.4211 -18.1976 13.4555
+13.0555 -17.3804 13.3697
+13.3799 -18.0548 14.0328
+13.6604 -18.2793 13.1366
+13.1845 -18.1826 12.2842
+13.5287 -18.4204 11.3638
+13.7724 -18.0138 10.5001
+13.0649 -18.1861 9.78918
+13.156 -18.0834 8.73687
+12.9574 -18.1378 7.72102
+13.3069 -19.0813 7.4817
+13.7407 -19.5249 6.73852
+14.5287 -20.2277 6.74153
+15.1868 -20.9136 6.9128
+15.7649 -20.1707 6.63356
+16.3889 -20.9141 6.24113
+16.5886 -21.6155 5.55567
+16.1157 -22.3306 5.11836
+16.0531 -22.6098 4.18776
+16.2095 -22.6962 3.2344
+16.7256 -23.2651 2.60893
+17.5102 -23.7065 3.11611
+18.4703 -23.4053 3.36056
+19.0693 -22.9775 2.68477
+19.8192 -23.0195 1.95786
+20.3637 -22.8699 2.84435
+21.322 -22.4882 3.12053
+21.5567 -22.7301 4.04867
+21.549 -21.7481 3.97595
+21.0082 -20.9094 3.81826
+21.8826 -20.4569 3.7735
+22.0214 -20.8302 4.72657
+22.7386 -21.4975 5.09081
+21.7995 -21.7054 5.20251
+20.8566 -21.9048 4.93589
+20.6404 -22.8599 4.82119
+20.7561 -23.0472 5.71458
+21.0563 -23.8574 6.32326
+20.2487 -23.5412 6.7578
+20.9352 -23.0948 7.3379
+21.6897 -23.2367 7.89256
+22.4406 -22.9273 8.54203
+23.2685 -22.593 8.94899
+23.5834 -21.8985 9.61068
+23.0278 -21.1476 9.14305
+23.867 -20.7215 8.72788
+23.8374 -20.787 7.69991
+24.4179 -20.077 7.24585
+23.6264 -19.5281 7.02086
+23.4435 -20.0672 6.21639
+23.1678 -21.088 6.16858
+23.1467 -21.8085 6.90456
+22.1506 -21.5094 6.69907
+21.1973 -21.4819 6.92606
+21.0171 -20.5428 6.7711
+21.487 -19.6936 6.75878
+20.5629 -19.4386 6.90618
+19.9985 -20.0258 6.17768
+20.1115 -21.0785 6.18236
+19.3248 -21.623 6.28505
+18.4337 -21.3014 6.62267
+17.8302 -21.5718 7.36741
+17.0878 -21.2281 7.94202
+18.0028 -20.9761 8.23412
+18.9927 -20.701 8.4125
+18.7137 -21.6375 8.73744
+19.2524 -22.0995 9.49334
+18.7086 -22.2619 10.3831
+17.8389 -22.0463 9.93282
+18.0998 -21.3577 10.502
+18.6046 -20.4705 10.6095
+18.3064 -20.7582 11.5391
+17.2499 -20.6234 11.5099
+16.7733 -20.5792 12.3159
+16.1025 -20.3095 11.5627
+15.3817 -19.8425 12.2067
+14.7469 -19.8778 12.8762
+14.6994 -20.1232 13.8701
+14.1051 -19.8191 14.6205
+13.4749 -19.2103 14.2382
+12.9895 -19.5755 13.3715
+13.0599 -20.1447 12.5218
+13.6879 -20.8666 12.1303
+13.6325 -21.6477 12.7415
+13.9034 -22.0996 11.8569
+14.0614 -22.0642 10.8381
+14.6849 -22.5583 10.2732
+14.5732 -22.9638 11.1215
+15.1017 -22.3891 11.8122
+15.9051 -22.7113 12.2754
+16.2753 -22.1337 11.5461
+16.5115 -22.5365 10.6879
+17.3168 -23.0861 11.0035
+17.4645 -22.2728 11.5115
+17.2379 -21.6492 12.1977
+17.2829 -22.4796 12.7562
+18.1832 -22.7439 13.0811
+17.596 -22.9665 13.7818
+16.9791 -23.5318 13.3022
+16.2667 -24.1316 13.7055
+15.2491 -23.9898 13.7683
+14.3598 -23.9543 13.9836
+14.5485 -23.0442 14.1794
+13.7892 -22.4389 14.2708
+13.4683 -22.5891 13.3201
+12.8258 -23.358 13.4779
+13.5089 -23.7435 12.8382
+13.8857 -24.6013 12.5539
+13.773 -25.3558 11.8657
+14.0552 -24.9295 10.9401
+14.5626 -25.6878 10.4627
+15.4461 -25.3208 10.1989
+14.8627 -24.6992 9.83406
+14.534 -24.9829 8.88792
+14.7117 -25.4011 8.02876
+14.4857 -24.4755 7.67402
+14.1342 -24.1674 6.74341
+13.4078 -23.9976 7.42437
+12.6555 -23.5599 7.73617
+12.3974 -24.2314 7.04237
+12.9702 -24.6645 6.32612
+13.6842 -25.2158 6.74853
+13.0235 -25.7514 7.24851
+12.2514 -26.3636 7.26753
+12.8314 -27.0606 7.81207
+12.6038 -27.8513 7.30983
+12.5735 -28.8431 7.33749
+12.2396 -29.4098 6.44482
+12.0508 -29.6759 5.49806
+11.1502 -29.3207 5.49548
+10.3558 -30.0383 5.46283
+10.4545 -29.5513 4.58895
+10.8345 -30.4871 4.40751
+11.1571 -30.5707 3.37287
+10.9448 -31.4042 2.91588
+11.1107 -31.21 1.93477
+11.8684 -31.6677 2.23084
+11.6723 -32.6405 2.36172
+12.2804 -32.985 1.5789
+13.0345 -33.188 2.21018
+13.4776 -32.3313 2.48776
+13.2799 -32.4183 3.54032
+12.38 -32.4992 3.93767
+11.7363 -33.0756 4.53455
+11.9752 -32.2608 5.10807
+12.3484 -31.8398 5.90166
+12.7273 -31.1033 6.55477
+13.5625 -30.7935 6.85635
+14.5374 -30.4824 6.92466
+14.0327 -29.6682 6.60034
+14.7562 -29.8488 5.87278
+15.5812 -29.4135 6.22909
+16.351 -28.7498 5.90148
+17.286 -28.7827 5.5711
+17.2101 -29.4979 4.86066
+18.2142 -29.3376 5.0335
+18.9499 -28.9752 5.62912
+18.8247 -29.505 6.46314
+19.3614 -28.6635 6.69959
+18.6793 -28.0041 6.5193
+17.9241 -27.8167 7.09957
+17.2506 -28.3906 7.42499
+17.2351 -27.6137 8.06259
+16.4655 -26.9911 8.11316
+16.3136 -26.0986 8.46319
+16.5576 -26.6716 9.24722
+15.9936 -27.4849 8.98096
+15.9024 -28.325 9.56145
+15.9493 -28.6549 8.59266
+15.0119 -28.8377 8.54455
+14.7886 -29.4459 9.29907
+13.9723 -29.4755 8.70547
+13.2021 -29.772 8.06898
+12.4609 -29.198 8.44785
+12.1864 -28.6542 9.21665
+12.5754 -27.8736 9.69171
+11.5337 -27.8182 9.72062
+11.1293 -27.2653 10.4702
+10.7706 -26.8435 9.61684
+10.4119 -27.5741 9.09648
+9.67231 -27.2997 9.7162
+9.24948 -26.9685 8.88765
+9.44275 -25.9831 8.70913
+9.68421 -25.7123 9.65043
+8.80783 -25.1966 9.79139
+8.55095 -24.237 9.62744
+8.56783 -23.4044 10.2054
+9.54485 -23.1074 10.0716
+9.24252 -22.6319 10.9331
+9.00656 -22.4687 11.8783
+8.52612 -21.788 12.5188
+7.58063 -21.5398 12.7332
+8.03518 -20.8632 12.1035
+7.37243 -20.1195 12.0151
+7.68539 -20.5901 11.1883
+7.1647 -21.3924 11.4196
+7.17981 -21.4898 10.4483
+7.90993 -21.8043 9.78448
+8.92344 -21.8076 9.74444
+9.00628 -21.1035 10.5018
+9.57446 -21.4648 11.2466
+10.4096 -21.203 10.8521
+10.803 -21.0681 11.7954
+11.0162 -20.0604 11.6974
+11.8033 -20.6984 11.6767
+12.3131 -21.5249 11.4426
+12.7873 -21.0998 10.6249
+13.5182 -20.619 10.1947
+13.6747 -20.0911 9.36468
+12.7577 -19.983 9.17493
+12.0384 -19.4029 9.54754
+11.979 -19.5386 8.63212
+11.749 -20.435 8.21792
+11.1703 -20.6209 7.38999
+11.8332 -20.7135 6.63279
+12.2643 -19.8192 6.92832
+13.0222 -20.3327 6.69309
+13.418 -20.4819 7.68552
+13.3705 -21.3375 7.29635
+12.5075 -21.6061 6.7935
+12.1022 -21.945 5.96311
+11.1334 -22.0081 6.27865
+11.0344 -23.0421 6.27601
+10.7902 -23.6714 5.45677
+10.415 -24.1962 6.27434
+10.3495 -24.7104 7.12187
+10.3194 -25.6248 7.51287
+11.1758 -25.1171 7.57312
+11.5482 -25.6893 6.78744
+10.7329 -25.8882 6.32479
+9.78489 -25.8366 5.79944
+9.07751 -25.1952 5.52148
+8.22989 -24.9789 5.82999
+8.1592 -24.329 6.49966
+7.58826 -24.9065 7.06586
+7.56061 -25.7614 6.59574
+6.56482 -25.8701 6.2969
+6.14562 -26.6806 6.23979
+6.67179 -26.4506 5.41113
+7.19327 -27.1934 5.77093
+6.81251 -28.016 6.11493
+5.9142 -27.7554 5.82514
+5.32528 -27.906 5.04563
+5.70637 -26.995 5.07576
+6.47645 -27.5915 4.67971
+6.6919 -26.9524 3.98946
+5.98767 -26.6966 3.26532
+5.0725 -26.3003 3.58836
+5.38928 -25.4908 4.10018
+5.68945 -25.1374 4.90183
+6.67885 -24.8368 4.6686
+7.49044 -24.3131 4.36011
+6.84268 -23.5632 4.54226
+6.04767 -23.6115 5.10118
+5.32773 -23.8456 5.81054
+4.42231 -24.1312 5.57109
+3.83804 -23.8855 4.74021
+3.50793 -23.1873 4.12267
+3.72672 -23.4429 3.2153
+3.9351 -23.201 2.29834
+3.8863 -24.0834 1.93382
+4.80595 -23.5955 1.99305
+5.68653 -23.6604 1.66909
+6.03855 -24.5161 1.83158
+6.52102 -24.1112 2.55885
+6.95061 -23.6561 1.7993
+7.72034 -23.001 1.72749
+8.0176 -23.9464 1.96953
+8.64399 -23.456 1.39549
+9.41492 -23.1898 0.7758301
+9.18482 -22.8796 -0.1361699
+8.8823 -21.9178 -0.1691859
+7.95912 -22.2034 -0.04778818
+6.9871 -22.1418 -0.05680968
+6.32169 -22.928 0.05137812
+6.0944 -22.4103 -0.7216199
+5.58956 -23.2502 -0.4723959
+5.7931 -23.07 -1.4354
+4.82376 -23.2824 -1.43017
+3.88781 -23.4134 -1.4872
+3.22408 -23.4939 -0.7584419
+3.0267 -22.8048 -1.43799
+2.72904 -22.949 -2.31533
+2.0127 -23.1897 -3.01016
+2.96822 -23.1114 -3.39036
+3.64681 -22.7031 -2.73805
+4.53529 -23.2184 -2.88132
+5.15892 -22.7239 -3.38909
+5.93296 -23.2106 -3.76128
+5.78365 -24.1386 -4.12915
+6.19308 -24.1198 -3.20019
+6.80716 -23.6869 -3.86208
+6.73302 -24.5277 -4.29842
+7.61487 -24.2158 -4.68194
+7.74897 -23.3994 -5.1772
+7.82792 -22.6044 -5.69422
+8.29955 -21.7287 -5.40162
+9.20053 -21.7269 -4.95995
+9.61559 -21.3885 -5.82532
+9.40583 -22.2208 -6.30772
+8.84144 -21.5762 -6.93228
+9.45234 -22.3414 -7.29506
+9.29291 -23.1579 -7.94219
+8.7587 -22.4997 -8.51473
+9.21281 -21.7891 -9.12996
+8.4158 -21.1957 -8.97225
+7.70424 -21.2533 -9.64591
+7.53949 -22.0066 -10.3182
+7.0867 -22.4891 -9.51153
+6.42001 -22.5181 -8.70625
+5.73364 -23.131 -8.42925
+5.62286 -24.1254 -8.42003
+5.55654 -24.4012 -7.47736
+5.36575 -25.3531 -7.76003
+4.62712 -25.3239 -7.0576
+5.39373 -25.3294 -6.46031
+6.14548 -26.0025 -6.24019
+7.18077 -26.0112 -6.3566
+7.94806 -26.4781 -5.88337
+8.10677 -27.4499 -5.63721
+7.76294 -27.598 -4.65677
+8.04801 -27.7039 -3.66361
+7.55408 -26.8703 -3.49585
+8.36756 -26.3047 -3.64368
+9.3362 -26.5334 -3.76371
+10.2722 -26.3511 -3.5213
+11.1084 -26.7874 -3.18128
+11.2072 -27.4833 -2.421
+11.1454 -26.8236 -1.75476
+12.1061 -26.7984 -1.88993
+12.9958 -26.9171 -1.54549
+12.9284 -26.4632 -0.6782079
+12.3161 -25.7011 -0.5467779
+12.6028 -24.7218 -0.4264899
+12.6556 -25.3131 0.4292701
+13.4288 -25.5913 0.9645151
+14.2518 -25.0061 1.05274
+14.5052 -24.275 0.4051651
+14.0582 -24.4402 -0.4720799
+13.8082 -23.9312 -1.28918
+14.2319 -24.0508 -2.21962
+13.4274 -23.7871 -2.77572
+13.0865 -23.6087 -3.76133
+13.2707 -24.2856 -4.44047
+14.1406 -24.545 -4.14306
+13.7023 -25.292 -3.68761
+14.0386 -25.6951 -4.66843
+15.0433 -25.7142 -4.36276
+14.8269 -24.9302 -4.96897
+15.3868 -24.4189 -4.24
+15.2946 -23.4547 -4.27703
+16.2167 -23.2461 -4.50542
+16.9491 -23.7255 -4.28437
+17.4923 -22.9456 -3.88588
+16.6641 -22.621 -3.47284
+15.8232 -22.1554 -3.25514
+15.6458 -22.133 -2.29331
+14.9361 -21.7056 -1.77192
+14.2524 -21.8726 -2.49504
+14.81 -21.3205 -3.14853
+15.6495 -20.8727 -2.93704
+15.1703 -20.1984 -2.37891
+15.7081 -19.5312 -2.90227
+16.0183 -19.6339 -3.86371
+15.5461 -19.3737 -4.71793
+15.9658 -18.67 -5.29029
+15.8786 -18.2356 -4.38833
+14.9764 -18.2639 -4.73806
+15.3978 -17.4961 -5.15639
+16.3737 -17.0602 -5.34423
+16.3689 -16.5067 -4.53316
+16.9765 -16.3062 -3.72958
+17.7718 -15.7647 -3.83099
+18.1128 -14.8512 -3.57039
+17.2757 -14.4584 -3.25934
+16.6488 -13.8294 -2.72542
+15.6954 -14.1938 -2.6246
+15.408 -13.264 -2.36075
+15.1016 -14.0209 -1.82528
+14.6206 -14.0133 -0.9356809
+14.7685 -14.3374 -0.08821208
+15.6028 -14.7019 -0.5401639
+15.8735 -15.6247 -0.7069929
+16.1094 -16.6051 -0.5554309
+15.4691 -17.2226 -0.8694259
+15.6121 -17.9579 -0.1142679
+14.7342 -18.2186 0.1428551
+13.8853 -18.4837 0.5881911
+13.6303 -19.3868 0.3846621
+12.7315 -19.1541 0.1002611
+12.2785 -18.781 -0.7333489
+13.2788 -18.8959 -1.11139
+13.7198 -18.0232 -1.15812
+13.9843 -17.0465 -1.53942
+13.1229 -17.0146 -1.23949
+12.8273 -16.4642 -0.5199449
+13.0084 -15.8096 0.2088021
+13.1112 -16.4642 0.9113921
+13.6966 -17.2736 0.7385281
+14.6203 -17.2241 1.11258
+15.6273 -17.3534 1.23108
+15.9301 -16.3926 1.19328
+16.167 -15.4405 1.36317
+17.0425 -15.7469 0.9498541
+17.8629 -15.2182 0.8358491
+18.7588 -15.1483 0.3855941
+17.9444 -15.4757 -0.09787118
+17.9279 -15.6607 -1.11502
+18.9461 -15.5739 -1.04662
+18.43 -15.157 -1.78923
+17.8474 -14.5127 -1.43214
+18.6678 -13.8918 -1.53267
+19.3434 -14.5593 -1.22441
+19.9448 -13.9165 -1.67982
+20.3016 -13.2105 -1.06688
+19.544 -12.9206 -1.65768
+19.2227 -12.0052 -1.47468
+18.5778 -11.2056 -1.52814
+17.6521 -11.3824 -1.15417
+17.5059 -12.1155 -1.77241
+17.082 -12.3496 -0.8819149
+17.3913 -13.3242 -0.7079829
+16.5312 -13.8821 -0.6354939
+17.1352 -14.3784 -0.01819998
+18.0565 -13.9894 0.2101861
+18.8109 -13.3898 0.03182242
+19.7025 -13.5728 0.4303421
+19.4416 -13.3448 1.3898
+19.946 -13.9508 1.96492
+19.8015 -14.8146 2.48534
+19.207 -15.5789 2.27357
+19.587 -15.3801 1.33213
+19.9004 -14.9826 0.5038281
+20.5887 -14.5659 -0.1245599
+21.2919 -15.195 0.0079754
+21.8268 -16.021 -0.3667259
+21.0726 -16.6018 -0.2237009
+20.4022 -17.0561 0.3494221
+21.2696 -17.5183 0.6261871
+21.8865 -18.2366 0.2751361
+21.2799 -17.9099 -0.4315259
+21.9362 -17.6462 -1.23282
+21.6757 -16.8263 -1.53378
+21.7622 -15.8724 -1.85993
+22.3624 -15.0185 -1.81897
+22.3082 -14.0162 -1.81103
+22.6686 -13.6309 -2.63702
+21.9987 -12.9822 -2.25182
+21.1804 -13.2642 -1.7815
+21.6413 -12.8372 -0.9601729
+20.9596 -13.1269 -0.3035129
+21.3879 -12.6589 0.4356981
+21.4897 -11.9542 1.10496
+22.1817 -11.1654 1.00499
+22.5099 -11.821 0.2279191
+23.3536 -12.1516 0.6512961
+24.0348 -11.966 -0.1504829
+24.9269 -12.0707 -0.5337359
+25.6982 -11.4738 -0.05943088
+25.8534 -10.546 -0.3807949
+26.2806 -9.88787 -0.9417309
+26.5293 -9.23632 -1.67777
+26.0299 -9.47149 -2.56934
+26.6688 -10.1435 -2.90728
+26.6893 -10.3968 -3.94174
+27.2918 -10.5794 -4.72848
+27.3172 -10.5785 -5.7645
+27.8453 -11.4316 -6.02445
+27.3012 -12.2626 -5.75543
+27.961 -12.6693 -6.26681
+27.6374 -13.5663 -5.88558
+27.8772 -13.9462 -5.04422
+26.9319 -13.8126 -4.72627
+26.8369 -13.7678 -3.71823
+26.3681 -13.2233 -2.93366
+25.8073 -13.6273 -3.65242
+25.8385 -12.6274 -3.95244
+25.648 -12.1548 -3.07618
+24.6706 -11.8553 -2.97191
+23.7876 -11.4843 -2.94817
+22.8611 -11.8332 -3.13811
+22.5856 -11.2757 -3.9022
+22.2007 -10.4323 -3.64756
+21.2205 -10.1217 -3.53511
+20.7558 -10.3695 -2.65387
+21.0698 -9.534 -2.21001
+21.3796 -9.66503 -1.25807
+20.6337 -9.00032 -1.33058
+20.6194 -9.60706 -0.5632739
+19.6303 -9.61935 -0.4039059
+18.6638 -9.65056 -0.03480318
+17.9419 -10.1328 0.4292331
+18.3419 -9.8927 1.29877
+18.4619 -8.84966 1.2952
+18.8807 -8.79515 2.22778
+19.2998 -8.65813 3.09498
+19.1228 -9.57009 3.49961
+19.6879 -10.4124 3.83382
+20.1997 -10.8605 3.14083
+20.3136 -11.802 3.40431
+21.2096 -12.1021 3.03575
+22.0085 -12.1099 2.45198
+22.3444 -12.4324 1.57153
+22.1328 -13.336 1.24382
+22.187 -13.9264 0.4201471
+22.4608 -14.7866 0.07742082
+23.1895 -15.372 0.3312191
+23.1407 -15.7333 1.25453
+23.985 -15.3002 1.0789
+23.4603 -14.9585 1.89027
+22.4195 -14.9481 2.03992
+22.0306 -14.384 2.71218
+21.2537 -14.5147 3.27402
+20.962 -15.1406 2.48127
+21.1459 -16.0674 2.14959
+22.0446 -16.4505 2.1469
+22.3591 -17.1086 2.91305
+21.7114 -17.8626 2.95936
+20.8878 -18.1721 2.53366
+21.0181 -18.5609 3.42006
+21.4609 -19.3297 2.86831
+22.2704 -19.7644 2.33214
+22.7516 -20.4003 1.66228
+22.6713 -21.1695 2.3898
+23.3634 -21.931 2.29419
+23.9988 -21.8873 3.07666
+24.4284 -22.7043 2.67701
+25.3956 -22.5596 2.27951
+25.384 -22.1825 1.35644
+25.15 -22.2411 0.3211971
+25.2705 -21.6658 -0.5292969
+24.3142 -21.3541 -0.5466199
+23.588 -22.0542 -0.3334429
+23.5415 -23.0198 -0.4940779
+22.8746 -23.0371 0.2345871
+22.0312 -23.5227 -0.1970019
+21.8002 -24.3502 0.2218071
+21.2913 -25.0181 0.8299931
+22.1779 -25.3834 1.14798
+21.7446 -25.8786 0.3867981
+21.2067 -26.6895 0.6205601
+21.4681 -27.2797 1.40048
+22.2178 -27.8615 0.9611791
+22.2405 -28.5416 0.1671061
+22.0253 -29.1803 0.8594391
+21.1766 -28.7372 0.4869451
+20.7841 -28.9568 1.43094
+19.951 -28.4595 1.77823
+19.7445 -28.4781 2.8397
+19.0263 -28.9197 2.36393
+18.4804 -29.6721 2.79756
+17.9276 -28.8742 2.76709
+17.1634 -28.8814 3.35395
+16.4301 -28.6025 2.79021
+16.2542 -28.1459 3.61319
+15.4133 -28.4568 3.21062
+14.8826 -27.6954 2.93173
+15.42 -26.9724 2.6197
+15.3368 -26.6487 1.63176
+15.9499 -26.3703 0.8685331
+16.7825 -26.099 1.39732
+16.7679 -25.0995 1.27961
+17.4103 -24.4104 1.00427
+17.6339 -23.4168 0.6795921
+18.2092 -23.3152 -0.1660229
+18.7116 -22.4843 -0.05645268
+19.2455 -22.4944 0.6821191
+19.0494 -23.3193 1.14776
+18.8271 -24.0673 1.8293
+19.3946 -24.673 1.28536
+19.8999 -25.122 1.94779
+19.59 -25.8438 2.594
+20.438 -26.1358 3.04804
+20.492 -27.0984 2.87652
+21.006 -27.171 3.74725
+21.9065 -27.6414 3.91769
+21.3803 -27.6646 4.77227
+20.4668 -27.7852 5.20785
+19.4809 -27.8458 5.0824
+18.7737 -27.1688 4.96253
+18.5002 -26.7234 5.81214
+18.791 -25.9188 5.32324
+18.1779 -25.2414 5.05507
+17.2552 -25.4908 5.22652
+16.755 -24.6588 5.05159
+15.9359 -24.1429 5.46816
+16.0255 -23.6971 6.33737
+16.0763 -24.0009 7.22411
+16.2665 -23.7036 8.15069
+17.0089 -23.8093 8.8043
+17.9867 -23.6233 8.58075
+18.2505 -24.6264 8.59636
+19.1316 -25.0869 8.72933
+19.8966 -25.288 8.23042
+19.8349 -26.0441 8.86524
+20.3411 -25.2849 9.25834
+20.6439 -24.9364 10.1343
+20.551 -24.525 11.0441
+21.4969 -24.0495 10.9478
+22.174 -24.7832 10.6338
+22.15 -25.4921 11.3486
+21.2967 -25.4958 11.8533
+20.8683 -24.6807 12.1247
+21.2876 -24.2208 12.9058
+20.8946 -24.7068 13.7719
+20.3843 -24.826 14.6094
+20.0756 -25.0142 15.6003
+19.1647 -25.2685 15.4871
+19.1507 -25.9252 16.2526
+18.46 -26.4217 15.7307
+17.5974 -26.796 15.3835
+17.7285 -27.8052 15.1261
+16.6898 -27.6529 15.0499
+16.1205 -27.5356 15.8298
+15.4223 -27.898 16.416
+14.7248 -27.6752 15.7718
+14.7949 -26.7462 15.4272
+14.0963 -26.0387 15.4734
+13.3727 -26.642 15.1974
+12.577 -26.0112 15.1393
+12.4976 -26.1096 14.1154
+12.0212 -26.6609 13.447
+11.4641 -27.3502 12.9791
+11.1732 -26.5746 12.3464
+11.9641 -25.9724 12.0095
+12.5887 -25.3388 11.522
+11.891 -25.0539 10.8173
+11.1595 -24.7442 11.4336
+10.9504 -24.7667 12.4247
+10.2758 -25.0442 13.1675
+10.0852 -25.8759 13.7777
+9.73414 -25.8163 14.7002
+10.3942 -25.3477 15.1344
+10.4079 -24.3536 15.3628
+10.2915 -23.6999 14.6116
+9.616 -24.4156 14.2288
+8.8367 -25.0383 14.3016
+8.28542 -25.8505 14.5016
+8.54928 -26.7754 14.3833
+8.27389 -27.5484 14.9277
+8.77136 -27.3185 15.7689
+9.43977 -26.7603 15.3167
+9.95525 -27.5982 15.527
+9.83695 -26.9751 16.2811
+9.74588 -26.1794 16.7955
+9.16064 -25.3577 16.6046
+8.87783 -24.9774 17.4617
+9.38927 -24.4671 16.7778
+8.9587 -23.8486 17.3993
+8.34596 -23.5415 18.0924
+8.28692 -22.5797 18.3628
+8.82571 -21.7861 18.018
+8.83679 -20.8225 17.711
+9.13341 -20.6885 16.8397
+8.6825 -21.0573 16.0707
+7.75779 -21.4619 16.1724
+8.25928 -21.7776 15.3313
+8.00777 -21.4888 14.4278
+8.66338 -22.0989 13.9832
+8.59699 -22.8368 14.7242
+7.9489 -23.5298 14.9684
+7.9474 -23.7496 13.9386
+7.75646 -23.5032 12.9596
+7.3013 -23.1784 12.1014
+6.73028 -22.5745 11.5324
+6.09088 -22.1739 12.2073
+5.0975 -22.4724 12.0615
+5.4502 -21.5785 11.7142
+5.55647 -20.5279 11.7076
+4.64705 -20.6812 11.997
+3.81497 -20.2358 12.2813
+4.22566 -20.4078 13.1806
+3.63643 -20.014 13.9276
+3.76402 -19.5365 13.0476
+4.54926 -19.0236 13.4242
+4.01852 -18.3885 13.8635
+3.009 -18.3203 13.5332
+3.32447 -17.3593 13.8897
+3.64607 -17.0395 12.9544
+3.48975 -16.1523 12.6316
+3.24271 -15.7212 13.4922
+3.5622 -15.4342 14.4223
+3.45251 -15.7886 15.3171
+2.94998 -16.566 15.2095
+2.68328 -16.7032 16.215
+1.86329 -16.4068 16.6187
+1.01774 -16.7657 16.708
+1.31893 -16.5403 17.5676
+1.40879 -17.5514 17.5515
+1.49144 -18.5287 17.7754
+2.47682 -18.3334 17.9194
+3.35142 -18.2491 18.3514
+4.05306 -17.9338 18.8816
+4.28017 -16.925 18.9857
+5.14649 -16.6523 18.4404
+5.51375 -16.4576 19.4107
+6.26039 -16.1245 18.7398
+6.7835 -15.7449 19.5853
+6.73335 -14.8933 19.113
+7.44086 -14.3328 18.7276
+8.38266 -14.1805 18.3052
+8.92402 -13.3616 18.5627
+9.91936 -13.0741 18.5753
+9.51039 -13.0645 19.4945
+10.2088 -12.9559 20.2583
+10.6256 -13.6315 20.8839
+9.84254 -13.585 21.4074
+8.84855 -13.5125 21.4069
+7.90687 -13.2061 21.6585
+7.49944 -12.3354 21.9113
+8.48718 -12.0032 21.9556
+9.0501 -11.9312 21.1528
+8.72866 -11.0953 20.6901
+8.13003 -11.7184 20.2547
+7.53979 -12.4457 20.5002
+7.31046 -12.4291 19.5357
+6.28096 -12.2807 19.4151
+6.68411 -11.4193 19.6906
+7.22942 -10.9159 19.0336
+7.43427 -11.0755 18.0475
+7.24588 -10.3235 17.4425
+8.08474 -9.99685 17.799
+8.74957 -10.375 17.1267
+8.44614 -11.0217 16.4659
+8.5643 -12.0533 16.5326
+7.82108 -12.2382 15.8899
+7.86719 -13.1358 15.4483
+8.11702 -13.2102 14.4599
+7.3126 -13.523 14.0102
+7.54363 -14.4589 13.6775
+8.40102 -14.3665 13.097
+8.97345 -13.7431 12.5149
+8.22489 -13.1769 12.8112
+8.00734 -12.3399 12.4024
+7.45971 -12.5357 11.55
+7.45708 -11.533 11.3592
+8.34365 -11.2467 11.748
+8.50544 -10.5063 11.0988
+9.22485 -10.8844 10.6334
+10.1115 -11.4336 10.3926
+10.9116 -10.9354 10.06
+10.8677 -10.6725 9.11123
+10.4092 -9.78053 9.28422
+11.1568 -9.14266 9.61878
+10.8724 -9.14005 10.5646
+10.1444 -8.68249 9.99815
+10.6345 -8.02527 9.36645
+9.73417 -8.31715 9.05193
+8.97903 -8.71486 8.37146
+8.61166 -9.3655 8.99798
+8.38508 -10.1196 8.37292
+8.50095 -10.9778 8.60855
+8.57785 -11.2776 9.54937
+7.92689 -10.4292 9.64216
+7.10824 -10.5464 9.11218
+6.32802 -11.2054 8.97182
+5.46552 -11.466 9.22452
+4.87134 -11.8631 8.56787
+3.99609 -11.2656 8.45961
+3.01342 -11.3284 8.57613
+2.87867 -12.2882 8.29066
+3.14948 -12.89 9.05516
+2.94406 -13.0203 10.0044
+2.92683 -12.0918 9.69697
+3.12245 -11.9106 10.6366
+2.57815 -11.3921 11.3485
+3.47328 -11.9014 11.707
+3.84817 -10.9472 11.612
+4.49184 -11.0334 10.8553
+5.00703 -11.319 11.6533
+5.19056 -12.2663 11.3344
+5.22574 -12.5839 12.2506
+4.37922 -13.1056 12.3643
+3.62585 -13.7446 12.5707
+4.05736 -14.5955 12.7784
+4.12227 -15.1531 11.9105
+3.42155 -15.6174 11.332
+3.04971 -15.281 10.5032
+2.75834 -14.3372 10.8391
+2.52366 -14.1306 11.7973
+1.78895 -14.5328 11.2112
+0.983698 -14.1231 11.4176
+0.349877 -14.8904 11.1176
+0.182532 -14.3915 10.2139
+-0.487721 -15.1765 10.2578
+-0.02521483 -15.9842 10.2623
+0.426329 -16.9043 10.0091
+0.510958 -17.524 9.24528
+0.289357 -17.4452 8.33545
+-0.62125 -17.9137 8.34531
+-0.92016 -18.8785 8.41346
+-0.157073 -19.3749 8.80904
+0.12156 -19.8885 8.00061
+0.926731 -20.0638 7.41023
+1.56109 -20.3813 6.76297
+1.59479 -21.4031 6.7881
+2.11737 -21.5066 7.621
+2.71854 -20.7215 7.36752
+2.69648 -20.4448 6.37988
+2.97059 -19.5034 6.1049
+3.19111 -20.1283 5.40746
+2.72582 -19.8394 4.51249
+3.35648 -20.2533 3.80942
+3.91846 -20.8786 4.34885
+4.73567 -21.4057 4.41744
+4.94295 -22.1461 5.15118
+5.36638 -22.6877 5.8905
+5.36057 -22.283 6.85552
+6.14272 -22.6075 7.29
+5.49014 -22.0743 7.9857
+4.77355 -22.2507 8.64712
+4.59929 -21.3244 8.18087
+4.4128 -20.9343 9.05105
+4.00931 -20.271 9.68311
+4.18636 -20.8606 10.4832
+3.52748 -20.6795 11.1372
+3.67775 -21.4143 11.8605
+2.72411 -21.6661 11.6562
+2.23315 -21.4211 12.5282
+1.30569 -21.6984 12.2697
+0.511651 -21.2135 11.8628
+0.727752 -20.2274 12.01
+0.203149 -19.3972 12.0728
+0.09454317 -19.0587 11.156
+-0.731489 -18.8116 10.5601
+-1.13355 -19.7471 10.8956
+-1.13625 -19.7973 12.0258
+-2.13004 -19.8529 12.1228
+-2.35248 -19.9447 13.1017
+-2.56359 -20.3278 13.9229
+-3.52899 -20.5741 13.9039
+-3.20592 -20.7879 14.8715
+-3.03317 -21.2225 15.7798
+-2.04115 -20.8163 15.8413
+-2.51995 -19.9016 15.9421
+-2.25386 -20.4716 16.7763
+-2.58126 -19.502 16.9599
+-2.99606 -18.9402 17.6544
+-3.75142 -19.1427 18.1774
+-3.89274 -19.7418 17.3956
+-3.83718 -20.4726 16.7726
+-3.59694 -20.1886 15.8734
+-3.53188 -19.3401 15.3232
+-3.42116 -18.5874 14.6788
+-3.47818 -17.8908 15.3681
+-3.69962 -17.0456 15.7799
+-3.60226 -17.1214 16.803
+-4.52915 -16.8144 17.0444
+-5.17232 -17.4951 17.432
+-6.02679 -17.0775 17.0122
+-5.91278 -16.1131 17.1455
+-5.58183 -15.5235 16.3872
+-4.87733 -14.8155 16.6282
+-3.88667 -14.7306 16.7006
+-2.95585 -14.8324 16.4812
+-2.07532 -14.5498 16.1837
+-1.74039 -13.7238 15.7688
+-2.3876 -13.0543 15.5766
+-2.48842 -12.1104 15.8763
+-2.99133 -12.5475 16.5964
+-2.07439 -12.449 16.798
+-1.48698 -11.7053 17.1485
+-1.3772 -11.2062 18.03
+-1.44161 -11.5151 18.9582
+-0.883796 -10.8524 19.4217
+-0.04533693 -10.3877 19.2196
+0.722677 -10.3485 19.9142
+-0.275641 -10.3497 20.2333
+-0.120381 -9.88502 21.1354
+-0.155147 -8.86607 21.1694
+-0.398836 -8.6596 20.1953
+-1.31348 -9.09144 20.526
+-1.0724 -8.79301 21.5162
+-1.67865 -7.9615 21.816
+-2.24717 -8.0331 20.935
+-2.57366 -8.536 20.2063
+-2.45118 -9.23311 19.5752
+-2.11305 -9.69347 20.4748
+-3.07362 -9.84566 20.16
+-3.11701 -9.61546 21.0986
+-3.07627 -10.5968 21.1165
+-2.73372 -11.5206 20.8974
+-3.66424 -11.3411 20.6028
+-3.6691 -11.3585 21.5878
+-3.56405 -12.3497 21.7751
+-3.76211 -11.7651 22.5837
+-4.16287 -11.6593 23.5212
+-3.9422 -10.9827 24.1632
+-3.12398 -11.4467 24.4711
+-2.49831 -10.6606 24.4244
+-2.17372 -11.3971 23.7481
+-2.28378 -11.9994 22.9053
+-1.3459 -12.0527 22.7396
+-1.73202 -11.1746 22.6219
+-2.28385 -11.6767 21.9318
+-1.87691 -12.1095 21.0784
+-1.66537 -12.8039 20.3592
+-0.919531 -13.2308 20.995
+-0.238483 -12.8648 21.6475
+-0.887125 -13.1498 22.3188
+-1.56417 -13.8354 22.1026
+-1.73772 -14.7922 22.0992
+-1.3094 -15.6271 22.3542
+-0.563854 -16.2563 22.1296
+-0.314718 -16.3338 21.2568
+-0.726518 -17.1734 20.8897
+-0.687158 -17.2034 21.8433
+-0.283559 -18.0268 21.5059
+0.644767 -17.9099 21.1192
+1.07629 -17.9749 20.2271
+1.20677 -17.3517 19.4042
+1.63976 -16.4553 19.4062
+2.05572 -17.1223 20.0042
+2.08222 -17.9053 20.6089
+1.96049 -18.9481 20.6965
+1.86238 -19.1541 21.6246
+2.57664 -19.7236 21.9544
+2.02057 -20.1147 21.2286
+1.99923 -21.1137 21.0176
+2.92451 -21.3165 20.667
+3.43831 -20.5578 20.8268
+3.92248 -21.1316 21.525
+3.95029 -21.7969 20.7599
+4.68446 -22.5021 21.0377
+5.1662 -22.5768 20.1116
+6.05858 -22.7796 20.1429
+5.95602 -22.3573 19.1769
+5.55935 -21.5817 18.6324
+6.19474 -20.6881 18.7728
+5.82104 -20.0473 18.0594
+4.9587 -20.2672 17.7887
+5.13317 -20.3295 16.8372
+5.74665 -19.5629 16.5781
+6.17084 -18.7745 17.0635
+7.02757 -19.2467 17.1907
+7.57209 -19.7236 17.8469
+7.20697 -18.7506 18.0984
+6.49636 -18.0252 18.2162
+6.08127 -18.3514 19.0421
+5.88614 -17.5378 19.5884
+6.43055 -17.9569 20.3623
+7.13409 -18.07 19.6695
+7.15509 -18.9528 19.2737
+7.36426 -19.0645 20.2216
+7.68241 -18.1859 20.6268
+8.45819 -17.5782 20.811
+8.82659 -16.6844 20.5851
+9.58608 -16.5182 19.9648
+10.0536 -17.0076 19.2215
+9.38029 -17.6977 19.4582
+9.12926 -18.5815 19.7412
+9.36154 -18.1427 20.6198
+9.08495 -18.6725 21.3944
+9.20592 -19.6284 21.8638
+8.94908 -19.4346 22.7851
+9.10099 -19.8638 23.6582
+9.83014 -20.5643 24.0045
+10.4017 -20.0854 23.3843
+10.665 -20.9564 23.0464
+11.2765 -21.3427 23.7143
+11.9089 -20.4571 23.46
+12.1299 -19.8461 24.2137
+11.406 -20.0737 24.8813
+11.4048 -21.0335 25.2286
+10.484 -21.3096 24.8976
+10.8939 -22.0786 24.47
+11.8479 -22.1191 24.682
+12.6113 -22.747 24.8006
+13.4038 -22.6446 24.1272
+13.9955 -22.3636 24.9536
+14.3499 -21.5832 24.5166
+13.3456 -21.6076 24.1277
+13.0979 -21.9365 23.1578
+12.7753 -21.2379 22.561
+11.8386 -21.522 22.7025
+11.1832 -22.086 22.1349
+11.2033 -23.0387 22.0842
+11.6319 -22.8839 21.2018
+12.3931 -22.3136 20.8151
+12.6838 -21.342 20.6859
+12.4753 -20.7889 19.9208
+12.358 -19.8292 20.2162
+12.608 -19.8608 21.2324
+12.7573 -20.7668 21.4824
+13.5349 -21.3071 21.9571
+14.2206 -21.4669 21.2327
+14.6844 -20.5766 21.4973
+15.5451 -21.1126 21.5673
+16.3331 -20.8771 22.0152
+16.4887 -20.7115 21.0798
+16.4753 -19.6943 20.8239
+17.017 -18.9361 20.7536
+17.0839 -18.1424 20.0516
+16.6196 -17.8908 19.271
+17.3481 -17.2856 19.5987
+17.6015 -16.3245 19.3892
+18.2637 -16.515 18.6093
+18.8972 -16.7152 19.3532
+19.149 -16.9126 20.2679
+19.1213 -15.8599 20.3028
+19.1691 -15.2992 19.4411
+20.0077 -15.2174 18.9398
+20.7334 -15.3558 18.1614
+21.3918 -14.9189 18.8316
+21.7751 -15.1778 19.6513
+22.5664 -14.6626 19.3996
+23.1363 -13.8811 19.4779
+23.8363 -13.7466 20.1906
+24.6831 -13.6351 20.716
+25.1917 -13.5184 19.799
+24.8857 -12.5526 19.4906
+24.0378 -12.9664 19.2276
+23.9718 -12.1718 18.6839
+24.7984 -12.3131 18.1317
+24.5179 -12.7572 17.219
+23.6641 -13.0256 16.7891
+22.8601 -13.2596 16.3115
+22.1463 -12.8607 16.8845
+21.9545 -13.8343 17.0275
+21.3383 -13.5781 17.7667
+20.8421 -12.8318 18.1114
+21.1646 -12.7559 19.0344
+20.2453 -12.753 19.5639
+20.392 -13.5071 20.1391
+19.3867 -13.4921 20.1104
+18.8311 -12.9179 20.7251
+18.5822 -12.533 21.6275
+17.9009 -12.7794 22.347
+18.3535 -12.3008 23.0647
+18.1534 -12.8587 23.8886
+17.8768 -11.888 23.9256
+17.2454 -11.1537 24.2782
+16.9861 -10.3368 23.7688
+16.2263 -10.1692 23.166
+16.9364 -9.64589 22.5587
+17.8934 -9.98029 22.7825
+18.5073 -10.7437 22.5333
+18.6662 -10.8285 21.55
+18.1385 -11.0337 20.7673
+17.2119 -10.8653 20.6867
+17.5411 -11.8113 20.7835
+17.8319 -12.4988 20.0736
+16.9891 -12.4385 19.6311
+16.949 -13.0697 20.4184
+17.2994 -13.9314 20.47
+17.013 -14.7956 20.0668
+16.5245 -15.5763 19.6975
+16.8172 -16.4343 20.0732
+16.9008 -16.9131 20.9123
+17.1395 -17.1486 21.8485
+16.2155 -17.446 21.766
+15.84 -17.3172 20.8946
+15.7544 -16.3353 20.9507
+15.084 -16.9566 20.6236
+15.0563 -17.0351 21.6557
+14.2611 -16.56 21.267
+13.7119 -17.3341 21.0813
+14.0032 -18.2219 20.7918
+14.1827 -17.7155 19.9801
+14.8071 -18.0006 19.3217
+13.9015 -17.9622 18.9251
+13.8647 -18.8302 19.3034
+13.9886 -19.8378 19.2192
+13.6881 -20.8305 19.0936
+14.2408 -21.5953 19.1167
+14.1795 -21.2806 18.2367
+13.961 -20.9777 17.2919
+12.9984 -21.1419 17.3934
+12.9449 -22.1265 17.5642
+12.1897 -22.1434 16.9328
+12.1466 -21.8726 15.9481
+12.2631 -20.9671 15.5316
+13.0767 -21.1027 16.0921
+14.0103 -21.58 15.929
+14.7488 -20.9708 15.7604
+15.7524 -20.8953 16.0837
+16.5955 -20.4021 15.9606
+16.6673 -19.7381 15.1495
+16.6776 -19.8394 14.1602
+16.9467 -18.8654 14.1286
+17.3126 -18.0408 13.7169
+18.163 -17.8 13.3223
+17.6048 -17.0148 13.3057
+16.7001 -17.2743 13.3981
+15.9934 -17.4642 14.0808
+16.0506 -16.5445 13.671
+16.6927 -15.7958 13.5902
+16.7102 -14.8682 13.0852
+17.3312 -14.904 12.2556
+16.892 -15.4251 11.4074
+16.4407 -14.9629 10.64
+16.5951 -13.97 10.2789
+16.2226 -14.2067 9.36569
+16.0579 -13.259 9.61267
+15.4941 -12.5795 9.24718
+15.0405 -12.3893 8.37385
+14.8678 -11.9637 7.49552
+15.8046 -12.0011 7.82147
+15.7344 -12.4509 6.98807
+16.2573 -11.5495 7.02433
+16.8516 -11.7195 7.85075
+17.4926 -11.2114 7.2006
+17.3796 -10.9185 8.1573
+17.3381 -9.96655 8.08764
+18.1638 -9.70784 8.626
+18.6871 -9.62755 7.74275
+19.2636 -9.78113 8.59048
+19.1916 -10.5655 9.18979
+19.3419 -9.84208 9.9307
+19.5212 -10.4772 10.5838
+19.3432 -11.3814 10.3235
+19.2035 -11.7701 11.2988
+20.0921 -11.9469 11.5627
+20.3036 -12.4272 12.4377
+20.759 -12.5489 13.4215
+21.4393 -12.7268 14.1906
+22.2976 -12.2942 14.3001
+22.1225 -12.9654 14.9431
+22.9193 -13.5844 14.6886
+23.2896 -13.3093 13.8467
+23.5904 -12.4174 13.447
+23.8179 -11.7742 12.6955
+24.3107 -12.5087 12.2077
+25.0717 -13.0803 11.9282
+25.0339 -14.0096 12.4347
+24.6784 -13.4501 13.2196
+25.3362 -14.1002 13.7278
+24.6905 -14.7766 14.0832
+23.8287 -15.2453 13.8774
+23.2197 -16.0523 14.0253
+23.4218 -16.9241 13.5838
+23.944 -17.4614 12.9731
+23.2524 -16.9649 12.52
+23.6196 -16.7557 11.6996
+23.6712 -16.901 10.6909
+23.4716 -17.6184 9.9473
+22.651 -17.2921 10.3637
+22.2779 -17.2728 11.2573
+21.5749 -17.5074 11.9836
+22.3203 -17.9341 12.5139
+22.9683 -18.4001 11.7951
+22.2801 -19.1681 11.7142
+21.4053 -19.5119 11.3777
+20.3853 -19.7087 11.2918
+19.7 -18.9576 11.2215
+19.9345 -18.3873 12.0063
+19.126 -18.6082 12.6463
+18.4042 -19.2117 12.7478
+18.4064 -19.537 13.7406
+18.9951 -18.7281 13.7091
+19.9867 -18.6716 13.7247
+20.3909 -19.4955 13.3431
+19.8536 -20.3243 13.2528
+20.0922 -20.3937 14.1656
+20.8351 -21.021 13.8194
+21.8029 -20.7591 13.7759
+22.1945 -19.8114 14.0123
+21.3909 -19.3841 13.6528
+21.4389 -18.6875 14.4882
+21.2089 -17.6722 14.6267
+21.0576 -17.0236 15.435
+20.9377 -16.9582 16.4135
+20.0306 -17.2898 16.3151
+19.9979 -17.9765 15.6103
+19.0703 -18.3448 15.218
+18.9522 -17.9068 16.0775
+18.4495 -17.2381 15.6299
+18.5126 -16.6148 16.4152
+18.9441 -15.9439 17.0217
+18.9546 -14.9959 16.8168
+19.8685 -15.4745 17.0768
+20.4988 -15.0382 16.4345
+21.2408 -15.2863 15.8088
+20.3418 -15.4428 15.4217
+19.3418 -15.5429 15.2366
+18.5666 -15.3721 15.7669
+18.6128 -14.5689 15.1505
+17.6924 -14.7383 15.3969
+17.6759 -14.2959 14.4667
+18.017 -13.4109 14.7782
+17.3507 -12.6884 14.9489
+17.6567 -12.599 13.998
+18.055 -11.7295 13.8002
+18.0592 -11.1975 14.7344
+18.0324 -10.5216 14.0607
+17.0804 -10.8654 14.1813
+16.5297 -10.7453 15.0037
+15.8667 -11.3827 14.5954
+15.2078 -11.8968 13.9977
+16.0661 -12.1083 13.5856
+16.9583 -11.992 13.0238
+17.3693 -12.7447 12.6157
+18.3004 -13.0276 12.3623
+19.228 -13.2511 12.3478
+20.0066 -13.863 12.5413
+19.8407 -13.0829 13.1521
+19.6586 -13.8112 13.8225
+19.5386 -13.6666 14.7871
+19.371 -12.9435 15.3981
+19.8265 -12.0696 15.4102
+19.6467 -11.1406 15.4782
+19.8935 -10.5029 16.1671
+19.8266 -9.59691 16.7205
+18.973 -10.1647 17.0347
+18.9617 -9.82738 15.9814
+18.1814 -10.0477 15.4821
+17.7759 -10.8876 15.7384
+17.239 -10.7221 16.5414
+16.283 -10.4647 16.2948
+16.0111 -11.2631 16.8735
+15.6391 -10.6704 17.6561
+14.8049 -10.9685 17.141
+13.9673 -10.7704 16.6961
+14.1578 -9.88572 17.1298
+14.8519 -9.48887 16.5275
+14.809 -9.99201 15.6258
+15.4492 -9.86722 14.8889
+15.1049 -8.91151 14.9435
+15.2064 -8.76762 13.9486
+14.2364 -8.49475 13.7716
+13.4154 -8.41747 14.3545
+12.6618 -9.01112 14.7628
+13.4119 -9.69315 15.0531
+12.789 -10.0758 14.302
+13.0901 -11.0416 14.05
+13.6467 -10.5281 13.4598
+14.448 -10.1921 13.0633
+15.2656 -9.63232 13.2552
+15.1947 -9.39696 12.3088
+15.0809 -10.3276 12.1609
+15.5845 -11.1246 11.6976
+15.5366 -11.9679 12.2144
+15.4046 -12.7256 12.8154
+15.0312 -13.5068 13.3091
+14.9211 -14.4679 12.846
+15.4172 -15.0429 13.4713
+15.3059 -15.2083 14.4182
+15.0825 -15.1953 15.3606
+14.8733 -15.1789 16.3378
+14.0172 -15.4629 15.892
+14.0328 -15.7429 16.8752
+14.0154 -16.6565 17.4312
+13.6074 -17.526 17.7289
+13.4315 -16.7809 18.4251
+12.6991 -17.1439 18.9118
+11.7846 -17.6336 19.1287
+11.2129 -18.3364 19.171
+11.6321 -18.445 18.2921
+11.2596 -19.1415 17.7841
+10.1679 -19.0529 17.7276
+9.36545 -18.9156 17.2041
+9.11291 -18.8502 16.3785
+8.56703 -18.1747 15.871
+7.67693 -18.4741 15.6254
+6.82792 -18.5693 15.0797
+7.13856 -19.5326 15.0178
+6.81154 -20.4277 15.261
+5.85982 -20.2459 14.8552
+6.31378 -19.7093 14.1526
+6.75981 -19.8836 13.3496
+7.50936 -19.2474 13.2306
+7.8768 -18.3566 13.5514
+8.58354 -18.2965 14.2789
+8.17163 -17.3733 14.5608
+8.99199 -16.7854 14.8231
+9.89586 -16.346 14.5029
+10.0455 -15.3727 14.5434
+10.6426 -15.7623 15.2176
+11.4251 -15.5659 14.6038
+10.7794 -15.4679 13.855
+11.092 -14.5143 13.7338
+11.7003 -13.6937 13.7896
+11.6803 -13.1079 12.9605
+11.3886 -12.2086 12.7621
+11.4904 -11.9169 11.8261
+11.0048 -12.684 11.425
+11.2882 -13.6325 11.2094
+11.3929 -13.6703 10.2234
+10.549 -14.0549 9.93925
+9.53525 -14.08 10.0611
+9.40973 -14.7187 10.7889
+8.67742 -14.5854 10.1567
+8.6079 -13.673 10.7156
+8.83867 -13.2266 9.82935
+9.36943 -12.459 9.61909
+9.83852 -11.946 8.86
+9.90208 -11.8822 7.87916
+10.333 -12.3184 7.07397
+10.5024 -11.9338 6.19152
+10.7005 -11.0583 6.32286
+9.94586 -10.3408 6.31861
+9.61294 -9.51184 5.89239
+8.80395 -9.4756 5.36395
+9.07378 -9.71021 4.36965
+9.12608 -10.5007 3.72301
+10.0084 -10.4745 3.30404
+10.3092 -11.3538 3.68395
+10.9156 -12.105 3.27582
+10.5321 -12.9242 2.97742
+9.98694 -13.8338 2.90952
+9.89586 -14.7708 3.20697
+10.223 -15.3217 2.46526
+9.97844 -15.6924 1.56889
+9.82954 -15.655 0.5727841
+8.81993 -15.5104 0.4303571
+8.12205 -15.8642 1.16059
+7.65754 -16.3617 1.86615
+8.05168 -15.6867 2.56303
+8.96663 -15.6841 2.97414
+8.38208 -15.6266 3.7878
+8.38646 -16.3482 4.48296
+8.34792 -16.3616 5.46223
+7.42414 -16.1066 5.66418
+7.18402 -17.0657 5.41715
+6.62461 -17.4258 4.63916
+5.72735 -17.7633 4.91671
+6.04854 -18.4171 5.53724
+6.92644 -18.7474 5.87321
+7.83783 -18.4838 5.71531
+8.63633 -19.0707 5.3145
+8.55091 -18.3936 4.51782
+8.55368 -17.8895 3.73108
+8.53316 -16.9447 3.4305
+8.58464 -17.2938 2.53332
+8.26622 -18.2862 2.72688
+8.69252 -18.9669 2.09442
+9.58921 -18.6614 2.38267
+10.015 -19.3036 2.97027
+9.41062 -20.1496 2.79166
+8.57742 -20.661 2.49731
+7.67804 -20.8562 2.99244
+8.46565 -20.3121 3.36645
+7.66677 -20.1688 3.88434
+7.11442 -19.8842 3.09391
+6.16439 -20.1766 3.25063
+5.57399 -20.219 2.50907
+5.78972 -19.9494 1.49832
+5.88044 -20.8214 0.9294851
+6.79247 -20.5141 0.6326911
+6.90932 -20.929 1.57167
+7.02635 -19.8802 1.67481
+6.44519 -19.1283 1.26306
+6.07805 -18.2226 1.63827
+6.93756 -17.8568 1.37767
+7.52422 -17.9504 0.6069281
+8.05136 -17.3317 1.18247
+9.01215 -17.5457 1.31852
+8.76324 -17.9482 0.4874391
+9.34989 -17.1743 0.02438652
+9.53369 -17.7135 -0.8989129
+9.11113 -18.5564 -1.18454
+9.12063 -18.5801 -2.12252
+8.19189 -18.6962 -2.49704
+7.72058 -18.3817 -1.70593
+6.88454 -17.9556 -1.25368
+6.39212 -18.8045 -0.9549159
+5.40056 -18.6443 -0.6043179
+5.76756 -17.8181 -0.2791149
+6.45936 -17.0981 -0.3282179
+6.24922 -16.5816 0.4280381
+5.86086 -15.6625 0.4950001
+5.34167 -14.8808 0.1436271
+4.4163 -14.9781 0.5095771
+3.52097 -14.8934 0.9120841
+2.56613 -15.0007 0.5170031
+2.69676 -14.5501 -0.3931389
+3.61927 -14.2219 -0.6819869
+3.49604 -14.4886 -1.70499
+4.44689 -14.569 -1.85275
+5.46509 -14.261 -1.75316
+5.30193 -13.4384 -1.17463
+4.94002 -12.6662 -1.62725
+4.4606 -11.8436 -2.0563
+3.58696 -11.7742 -2.47962
+3.04633 -10.9882 -2.06609
+2.16696 -10.3849 -2.01831
+2.77371 -9.81974 -1.44902
+2.72412 -8.79897 -1.29942
+3.04439 -7.87375 -1.35128
+3.37105 -8.10331 -0.4720199
+3.52928 -7.29553 0.06062072
+4.43624 -7.81644 0.1750971
+5.3716 -7.99339 -0.1238339
+4.86472 -8.51695 0.6218711
+4.75794 -8.92904 1.522
+4.45678 -9.73844 1.15905
+3.58662 -9.74819 0.7958001
+2.63399 -9.70525 0.4238561
+2.72948 -8.82313 1.02986
+2.68862 -8.46011 1.95835
+2.18554 -8.77372 2.78064
+2.68466 -8.23363 3.47681
+2.77345 -9.16168 3.89821
+1.84386 -9.18165 4.36558
+1.39328 -8.28059 4.51542
+0.968436 -8.81984 3.91246
+0.802599 -9.82113 4.1676
+-0.02486293 -10.1202 4.67014
+-0.651518 -10.7537 4.68958
+-0.956516 -10.4936 3.77723
+-0.825304 -9.55982 3.42885
+-1.02781 -9.3845 4.36568
+-0.806224 -8.97987 5.22866
+-1.79465 -8.77246 4.90286
+-2.11381 -7.86269 4.62875
+-1.22366 -7.47424 4.36551
+-0.74966 -6.64657 4.08254
+-0.949338 -6.35999 4.95726
+-1.70868 -5.73927 4.7297
+-2.283 -6.5991 4.55773
+-3.09428 -6.06446 4.35293
+-3.09335 -5.74098 3.43666
+-3.44008 -4.9789 2.90646
+-2.62854 -5.27466 2.42413
+-2.31504 -6.05232 1.97806
+-2.92725 -6.84625 2.09162
+-2.49054 -7.03937 2.95113
+-2.92687 -7.98405 3.16055
+-3.66632 -7.73651 2.505
+-3.21562 -8.07139 1.64681
+-2.56948 -8.88732 1.5952
+-2.90609 -8.53022 0.6664551
+-3.6014 -7.85205 0.5155561
+-4.09777 -8.37627 -0.1241289
+-3.39339 -8.66398 -0.7305609
+-2.85558 -9.48611 -0.4090389
+-3.39205 -10.3435 -0.3048929
+-3.84741 -10.2002 0.5347171
+-3.83694 -10.4713 1.49354
+-4.3124 -11.2275 1.89103
+-3.62379 -11.5485 1.24503
+-4.06218 -11.8028 0.4132911
+-4.53541 -12.1938 -0.3112359
+-5.22387 -12.3154 0.4226701
+-5.90488 -12.9413 0.3303431
+-5.98504 -12.5189 -0.5238559
+-6.52169 -11.7291 -0.5247459
+-6.0407 -10.9634 -0.4622349
+-6.85452 -10.8095 0.01692222
+-6.95415 -9.94634 0.5340851
+-6.78644 -10.2546 1.47959
+-7.11856 -10.9133 2.20646
+-7.07923 -10.2242 2.91758
+-6.48974 -9.6592 3.56758
+-5.89954 -9.60204 2.79483
+-5.42269 -9.76789 1.94793
+-5.82685 -8.9612 1.55245
+-6.78315 -8.98944 1.77369
+-7.44912 -8.73456 1.12132
+-7.33977 -7.75091 0.9030411
+-6.83556 -6.87448 0.9853161
+-7.83568 -6.79408 1.05395
+-8.33363 -7.27487 0.2438741
+-9.14178 -6.72569 0.4610531
+-9.32293 -6.21423 1.28966
+-9.95009 -6.33195 2.04751
+-10.9632 -6.49091 1.73494
+-10.6126 -7.40076 2.05154
+-9.8087 -7.82985 2.54267
+-9.58993 -7.71068 3.50286
+-8.86256 -7.62766 2.83804
+-8.31545 -8.19324 2.32049
+-7.85709 -8.23699 3.24886
+-7.54141 -7.32521 3.12105
+-7.58713 -7.27306 2.1036
+-8.33422 -6.61655 2.36262
+-8.23622 -5.62875 2.38001
+-8.92724 -5.26198 1.74788
+-8.57077 -4.40053 2.05091
+-7.68166 -4.82536 1.79214
+-7.56074 -3.94514 1.2962
+-7.02902 -4.63888 0.6917681
+-6.89635 -5.60447 0.3935881
+-6.93835 -6.37077 -0.2811859
+-6.57045 -6.18362 -1.16533
+-5.94403 -6.93639 -1.0336
+-5.50206 -6.3275 -0.3962679
+-5.81484 -6.80342 0.4559041
+-5.1477 -6.71311 1.15813
+-5.17986 -6.98153 2.13128
+-5.47799 -6.99445 3.0306
+-6.06193 -6.88907 3.82961
+-5.7292 -7.81512 4.09145
+-6.06185 -8.67253 4.5227
+-5.32488 -9.30201 4.37926
+-4.84095 -8.86603 3.64501
+-4.1442 -9.10766 2.90698
+-3.54038 -9.78693 2.51664
+-2.80982 -9.22292 2.90278
+-2.76838 -10.0224 3.53774
+-3.29812 -10.6565 2.92661
+-2.52994 -11.1735 2.94338
+-2.5766 -11.8505 3.63434
+-2.26721 -11.5252 4.47654
+-1.33307 -11.9829 4.42335
+-0.604949 -11.9485 3.79041
+-0.008740175 -11.16 4.05818
+0.784221 -11.6463 4.34085
+1.20967 -11.4257 3.39496
+0.60522 -11.1084 2.61976
+0.953801 -10.1846 2.71746
+1.88379 -10.5568 2.57629
+2.32579 -11.4941 2.59775
+2.41332 -11.5368 3.61758
+3.15108 -10.8303 3.37661
+3.23791 -10.4003 2.5418
+3.58369 -9.78406 1.89461
+2.67428 -10.1386 1.78762
+2.76005 -10.8251 1.06218
+2.39452 -11.2342 0.2038461
+1.62523 -10.5995 -0.02234418
+1.09516 -10.3402 -0.8112679
+0.310965 -10.7151 -1.28205
+-0.668973 -10.3773 -1.26038
+-0.448411 -10.9059 -2.11342
+-0.202195 -10.0445 -2.57396
+0.179368 -10.0229 -3.41043
+1.0614 -10.2078 -3.77937
+1.06291 -9.59588 -2.92962
+1.27462 -8.65588 -3.09743
+2.22469 -8.78504 -3.56648
+2.0404 -8.19573 -4.2823
+2.33269 -7.53773 -4.9925
+3.20344 -8.01731 -5.11762
+4.01833 -7.93433 -5.6313
+4.05205 -7.44407 -6.49468
+4.13812 -6.74665 -5.89565
+3.50021 -6.297 -6.52848
+2.68425 -6.41716 -6.97116
+2.15217 -6.08391 -6.13965
+2.15548 -5.15873 -5.82287
+1.63476 -4.24018 -5.77109
+2.07633 -4.18104 -4.79978
+1.57298 -4.65904 -4.06422
+1.30034 -5.47744 -4.58232
+0.332169 -5.7058 -4.77863
+-0.07058293 -5.01856 -4.14365
+-0.05865913 -5.0647 -3.17646
+0.369245 -5.8602 -2.75756
+0.689674 -6.20752 -3.60056
+1.39506 -6.66806 -3.1438
+2.01419 -5.91681 -3.24544
+2.44815 -6.47211 -2.56876
+2.89941 -7.32893 -2.83356
+3.88571 -7.40189 -2.8306
+4.01406 -6.75963 -3.51751
+3.05184 -6.6754 -3.6425
+3.21524 -5.89241 -2.94354
+3.65139 -5.199 -2.30594
+4.0877 -4.43393 -1.82111
+3.059 -4.20825 -1.78038
+3.0879 -3.26638 -1.38515
+2.41525 -3.83137 -0.8495179
+1.81672 -3.62336 -1.6425
+1.04267 -3.50899 -2.17002
+0.441666 -2.6975 -1.9169
+0.869322 -2.93023 -1.09212
+0.879904 -3.45249 -0.2173289
+0.09999727 -4.00713 -0.3587009
+-0.07822283 -3.23549 -1.05643
+-0.428106 -2.37988 -0.7775749
+-0.883838 -1.50207 -0.5620249
+-1.18272 -2.24607 0.1411291
+-0.722347 -2.18612 1.05283
+0.128696 -2.08644 0.5852701
+1.12233 -2.09671 0.6109281
+1.91318 -2.26381 0.07968072
+2.68129 -1.65855 0.3573331
+3.37601 -1.64886 1.00098
+2.63449 -1.91881 1.61951
+1.90728 -2.6326 1.63034
+2.24899 -3.23308 2.31808
+2.9137 -3.93897 2.41619
+3.0301 -3.53573 3.44249
+3.67235 -3.86698 4.08904
+3.48488 -4.50229 4.84306
+3.97706 -4.60086 5.79375
+4.06978 -5.5768 5.71723
+4.58661 -5.61048 6.62018
+4.09475 -5.0552 7.27425
+3.26925 -4.5776 6.95182
+2.39386 -4.4273 6.49079
+2.32123 -3.55287 6.79206
+1.63267 -3.11959 6.33452
+0.911761 -3.19061 7.10449
+0.07613857 -3.59656 6.74473
+-0.136795 -2.57486 6.57032
+-0.788555 -2.28166 7.15267
+-0.584493 -1.46936 6.57502
+-0.15887 -0.5883061 6.28814
+0.714452 -0.6004271 5.99473
+1.26103 -1.10396 6.72533
+0.357338 -1.15578 7.22655
+-0.02966983 -0.2250141 7.28448
+-0.180034 -0.04484897 8.26217
+-0.711168 0.8334549 8.38534
+-1.57076 0.5482409 8.72195
+-1.16663 1.23719 9.34863
+-1.99713 1.57378 8.8652
+-2.5053 1.35477 8.01614
+-2.93512 1.74288 7.19111
+-3.37891 2.3733 6.57435
+-3.67903 1.4562 6.20588
+-3.66256 0.8233679 7.04884
+-3.72016 1.17107 7.98768
+-3.7146 1.85782 8.77204
+-3.7232 2.35397 9.64058
+-4.0995 3.2967 9.51425
+-4.70535 3.60286 8.85224
+-5.1693 2.99983 9.49489
+-6.08956 3.05233 8.99466
+-6.36721 3.97462 8.99291
+-7.07708 4.19029 8.38901
+-7.58076 4.4913 9.20248
+-8.26433 4.16024 9.89639
+-7.67349 4.55512 10.647
+-8.05597 3.62925 10.7198
+-7.9435 2.66495 11.1024
+-7.58396 2.10884 10.3881
+-7.79608 2.5195 9.52343
+-7.82724 1.80054 8.87151
+-8.66111 1.63352 8.38357
+-9.07222 0.6767219 8.13744
+-9.04338 -0.07914377 8.74978
+-8.35766 -0.8584791 8.69146
+-8.94506 -1.06356 7.89374
+-8.25392 -0.4423921 7.50055
+-8.06382 0.4155509 7.96232
+-7.10606 0.2042439 7.84407
+-6.31425 0.7975399 7.76879
+-6.05446 1.74309 7.63503
+-5.88319 1.3502 6.77837
+-6.73816 1.09281 6.31818
+-6.94238 0.6198309 5.42342
+-7.76214 0.6800769 6.04483
+-8.47298 0.8085199 5.22459
+-9.01502 0.5352019 4.47289
+-9.54604 0.2382199 5.29358
+-8.80023 0.2170779 5.92721
+-9.58948 0.4590359 6.37502
+-10.5543 0.6497139 6.48332
+-11.07 0.04291493 7.1491
+-11.3052 -0.8343971 6.71035
+-11.3939 -1.77962 6.97069
+-11.9776 -2.4537 6.57936
+-12.6991 -2.16566 7.24874
+-13.1025 -2.59641 8.06675
+-13.416 -1.74848 8.59796
+-14.3265 -2.33733 8.5582
+-14.9986 -1.57715 8.33084
+-14.6866 -1.9283 7.43078
+-15.6436 -2.31022 7.38312
+-15.7321 -3.23239 7.6272
+-14.9336 -3.24806 7.04557
+-14.7495 -3.49552 7.99958
+-15.1343 -3.90888 8.87761
+-15.0341 -4.52608 9.69246
+-14.1579 -4.5706 9.19657
+-13.4306 -3.86419 8.91343
+-12.6615 -3.45573 9.32579
+-12.7748 -2.48016 8.95163
+-11.8583 -2.23176 9.22924
+-11.2258 -2.41529 9.93093
+-12.1409 -2.283 10.2977
+-12.7554 -1.4789 10.0736
+-12.5042 -1.79145 11.0162
+-13.1771 -2.50625 11.3292
+-13.2945 -1.49843 11.5007
+-13.8119 -1.28833 10.6254
+-14.3558 -0.8961241 11.3476
+-14.9573 -0.7719121 10.5391
+-15.3671 -0.5158381 9.75632
+-15.6554 0.4962639 9.71188
+-16.4669 1.02757 9.69735
+-16.9239 0.2878619 10.1884
+-16.795 -0.5119051 10.833
+-17.3233 -0.9286371 10.1169
+-17.9003 -1.53496 9.59746
+-18.8312 -1.53839 9.24783
+-18.419 -2.41963 8.77454
+-18.9629 -3.1781 8.42458
+-18.3853 -3.57825 7.78315
+-18.0551 -2.74294 7.45256
+-17.3498 -2.17615 7.16022
+-17.9443 -1.29666 7.13002
+-17.8122 -1.16842 6.13755
+-18.5356 -0.4191131 6.33706
+-19.1599 -1.11058 5.94373
+-19.6043 -0.3455701 5.54964
+-19.753 -1.29959 5.1581
+-20.0812 -0.5405311 4.59497
+-20.9892 -0.1161791 4.72888
+-20.5949 0.6532929 5.30865
+-20.718 -0.1808591 5.82477
+-21.3009 -0.9740661 5.85079
+-20.4957 -1.54793 6.01556
+-20.851 -1.83954 6.86934
+-19.8886 -2.15355 6.953
+-19.1618 -2.76549 7.18901
+-19.5949 -3.17614 6.35648
+-20.4163 -3.36997 5.7407
+-20.7456 -2.74841 5.04995
+-21.7135 -3.0382 4.87326
+-22.0084 -3.79759 5.43515
+-22.5455 -3.69963 6.21678
+-21.5322 -3.55069 6.33498
+-20.9944 -4.30631 5.91357
+-21.6653 -5.02454 5.56417
+-21.8906 -5.22584 4.6327
+-22.236 -6.19439 4.60642
+-22.136 -7.13678 4.37829
+-22.5563 -7.68685 3.61776
+-23.2376 -7.29286 3.00613
+-22.8 -6.5743 3.37931
+-23.443 -6.03809 3.91882
+-23.79 -6.76359 4.49515
+-23.8292 -7.61084 3.90571
+-24.8033 -7.54284 3.94811
+-25.0724 -6.64289 4.3289
+-25.7831 -7.17918 4.80852
+-25.0391 -7.57836 5.31641
+-24.4711 -8.39308 5.50226
+-24.7625 -8.5808 6.40293
+-23.7002 -8.4737 6.38614
+-23.6306 -7.47349 6.48781
+-23.9674 -7.37908 7.43753
+-24.8728 -7.60503 7.81357
+-25.7772 -8.03633 7.47732
+-26.7986 -8.21379 7.60739
+-27.5229 -7.9706 7.0419
+-27.8471 -8.89817 7.26341
+-28.1121 -8.6893 8.21224
+-28.9728 -9.02268 8.17426
+-28.8008 -9.47214 7.25817
+-28.8903 -10.3333 7.79188
+-29.746 -10.5798 8.25109
+-30.2959 -10.401 9.12726
+-30.7124 -9.47618 8.9877
+-30.8798 -8.49928 8.77141
+-30.4961 -8.20407 7.89625
+-30.9602 -7.89842 7.10152
+-31.4638 -7.77651 6.30762
+-31.6427 -8.74012 6.23402
+-31.6774 -9.67418 5.91967
+-31.0421 -10.2497 5.35899
+-30.434 -9.95114 4.64196
+-30.2946 -9.93402 3.684
+-29.688 -9.6531 2.94686
+-29.5911 -8.959 2.21303
+-29.9523 -8.91761 1.21904
+-29.1395 -9.26679 0.7553351
+-28.503 -10.0408 0.5690901
+-28.6741 -10.4062 1.53046
+-27.7655 -10.5537 1.55209
+-27.6485 -9.52329 1.54315
+-26.8908 -9.45588 2.13679
+-25.9656 -9.59319 2.21339
+-24.9448 -9.70667 2.01664
+-25.1802 -8.9631 1.35016
+-24.5921 -9.64305 0.8507291
+-24.3806 -8.67904 0.7143361
+-23.5636 -8.75185 1.26997
+-23.0839 -9.58895 0.8988761
+-23.4821 -10.5274 0.7296581
+-22.7368 -10.5616 1.41766
+-23.604 -10.7885 1.85289
+-23.9343 -11.7354 1.83459
+-23.7885 -12.4241 2.53541
+-23.0343 -12.3539 3.11046
+-22.594 -11.5382 2.91653
+-22.1069 -10.9557 3.73236
+-22.6658 -10.1148 3.76703
+-22.2654 -10.191 4.69965
+-21.3227 -9.79043 4.83072
+-21.4849 -8.89094 5.24785
+-21.1539 -8.59825 4.32443
+-22.0821 -8.75689 4.13776
+-22.9614 -8.57513 4.54538
+-23.5514 -8.69337 3.75768
+-23.6217 -8.64355 2.69243
+-22.5522 -8.49205 2.53009
+-21.5255 -8.20206 2.42071
+-20.8184 -7.44592 2.7268
+-21.2732 -6.99189 1.93919
+-20.5244 -6.55127 2.43428
+-19.5055 -6.60945 2.38919
+-19.6376 -6.25765 3.34364
+-20.1163 -6.40019 4.20926
+-20.0477 -6.18986 5.18335
+-20.4173 -6.08217 6.08258
+-20.1527 -6.84352 6.6312
+-20.2438 -6.84642 7.62796
+-20.1151 -6.02152 8.18266
+-19.5463 -5.29809 7.79836
+-18.5407 -5.2194 7.80755
+-18.5422 -5.15157 8.78069
+-17.6793 -5.34803 9.24246
+-17.1312 -5.73615 8.47341
+-16.5052 -6.51722 8.28069
+-15.6275 -6.87766 8.45374
+-14.859 -6.1837 8.17454
+-14.3886 -6.80816 7.5019
+-13.5538 -7.12615 7.12711
+-12.9374 -7.98799 7.23576
+-13.065 -8.48872 6.42189
+-12.6729 -9.02608 5.55513
+-12.6995 -9.95237 5.12177
+-13.0213 -10.882 5.42496
+-12.2789 -10.7597 6.13712
+-11.5385 -10.4565 6.72089
+-11.4599 -11.4333 6.58586
+-10.9839 -12.0721 7.16727
+-11.3923 -12.9527 6.85925
+-10.4544 -13.2842 6.57464
+-10.3448 -13.5834 7.55042
+-9.36605 -13.4526 7.56272
+-9.13512 -14.1902 6.88959
+-9.05221 -14.9759 6.308
+-8.09812 -14.8128 6.25897
+-8.34814 -14.8619 5.2853
+-8.28847 -14.0104 4.74117
+-9.26922 -14.2976 4.5517
+-9.56161 -13.3339 4.71015
+-9.09019 -12.6176 4.36058
+-9.69881 -11.7685 4.27918
+-10.1788 -10.8784 4.21103
+-10.2803 -10.4842 5.08128
+-9.42287 -9.9416 5.21628
+-8.69397 -9.26695 5.47643
+-9.55931 -8.84293 5.67031
+-9.62325 -7.89428 5.42089
+-9.78625 -7.6749 6.34588
+-10.5881 -7.49276 6.89485
+-10.7426 -7.43651 7.86997
+-10.5225 -8.37894 7.56393
+-9.5659 -8.30768 7.45785
+-8.60888 -8.25004 7.23432
+-8.10368 -8.53678 6.46875
+-8.16843 -7.77673 5.91658
+-7.98731 -8.18694 5.10034
+-8.56159 -8.64916 4.41937
+-9.47951 -8.8574 4.10219
+-10.2839 -9.4285 3.89998
+-11.3399 -9.57069 4.26419
+-11.4181 -8.69596 3.79048
+-12.4444 -8.73447 3.54697
+-13.1544 -9.02972 4.24557
+-13.1293 -8.14467 4.70069
+-12.214 -7.97171 4.52973
+-12.5264 -7.60213 5.44221
+-13.2552 -6.94897 5.48903
+-12.8803 -6.52341 4.67416
+-12.2577 -6.9935 4.04542
+-12.23 -6.94654 3.07282
+-13.1814 -7.23969 3.278
+-13.6149 -6.90467 2.47307
+-13.4081 -6.45824 1.56555
+-14.3161 -5.93179 1.41258
+-14.0942 -5.345 2.16926
+-13.093 -5.33255 2.06693
+-13.3614 -5.96065 2.69728
+-13.3455 -6.10453 3.70964
+-13.291 -5.08153 3.73874
+-13.5227 -4.08192 3.60732
+-12.8318 -3.84538 2.88551
+-12.2017 -4.47169 2.30971
+-13.0649 -4.20864 1.91403
+-12.3919 -3.46652 1.86509
+-12.2097 -2.51721 1.87325
+-12.0268 -1.50788 2.05332
+-11.182 -1.20994 1.5109
+-10.2539 -1.41675 1.8266
+-10.2083 -1.0579 0.8957651
+-9.23047 -0.8263741 0.8760581
+-9.50883 -0.9359691 -0.08010118
+-9.76948 -1.7394 -0.5646889
+-8.73503 -1.93784 -0.2816079
+-8.57486 -2.13745 0.7269531
+-8.47035 -2.34422 1.65492
+-9.01899 -2.43475 2.42116
+-9.93013 -2.3205 2.78805
+-10.0115 -3.32079 2.96323
+-9.53198 -4.00714 2.4232
+-9.90379 -4.69911 3.07948
+-10.2124 -5.53136 3.58917
+-9.32789 -5.21775 3.92169
+-8.78577 -5.6123 3.24836
+-8.2262 -6.39516 3.64534
+-9.07472 -6.55511 4.15219
+-9.95873 -6.76745 3.65097
+-10.9601 -6.59397 3.84586
+-10.528 -6.35217 4.81108
+-11.1546 -6.12326 5.52947
+-11.9662 -6.65645 5.65621
+-11.5739 -7.37179 6.14975
+-10.895 -7.99238 5.81369
+-10.6494 -8.39647 4.99536
+-10.6841 -7.59934 4.36684
+-10.8011 -7.90372 3.43788
+-11.5797 -7.90165 2.80754
+-11.8738 -8.40201 1.99107
+-12.3779 -8.8358 1.32324
+-12.1949 -9.81591 1.06708
+-11.7486 -10.6639 0.6752741
+-11.4646 -10.6223 -0.2737539
+-10.5722 -10.2134 -0.4441349
+-9.74434 -10.6118 0.08877352
+-9.41957 -9.70531 -0.1728289
+-8.7107 -9.2652 -0.6094719
+-8.48307 -8.70124 0.1721361
+-9.32538 -8.24195 0.1610261
+-9.81965 -7.62159 -0.4705099
+-10.5853 -8.12014 -0.8857959
+-9.79943 -8.28606 -1.45246
+-9.9958 -7.40668 -1.92818
+-9.03246 -7.00161 -1.75905
+-8.41029 -7.43586 -1.00455
+-7.88792 -8.18547 -0.6848129
+-6.95254 -7.9172 -0.3502299
+-6.51523 -8.57556 -0.9225159
+-6.20996 -8.03278 -1.7017
+-5.79324 -7.56806 -2.44666
+-5.09654 -8.20497 -2.81053
+-5.69394 -7.85312 -3.62041
+-6.28493 -8.69572 -3.8482
+-5.62196 -9.35362 -4.13606
+-5.05595 -9.86458 -4.80535
+-4.8463 -10.3696 -3.92742
+-4.00834 -10.9421 -3.75403
+-3.0147 -11.0427 -4.04114
+-3.07436 -11.9539 -3.57949
+-2.08063 -12.2464 -3.64869
+-1.89176 -13.1716 -3.31735
+-1.63678 -14.0276 -3.82369
+-1.76657 -15.0393 -3.85377
+-2.66128 -14.714 -3.60785
+-3.40214 -14.1579 -3.21253
+-3.15056 -14.7785 -2.43178
+-3.90951 -14.6443 -1.81137
+-4.42118 -13.8541 -1.82912
+-4.00248 -13.824 -0.9943129
+-4.72723 -13.9457 -0.3147079
+-4.22101 -14.1328 0.4992931
+-3.33089 -14.3674 0.1724631
+-3.25142 -13.5138 -0.3833709
+-2.42272 -13.0636 -0.3962309
+-1.62059 -12.8028 0.03944742
+-1.57508 -11.7708 -0.1718979
+-1.67002 -10.774 -0.2343349
+-1.62652 -10.3737 0.5974801
+-1.11186 -9.60659 1.02011
+-0.336853 -9.48398 0.3556071
+0.432066 -9.15993 0.9872611
+0.08077057 -9.33408 1.95711
+0.672739 -8.69878 2.38883
+0.909954 -7.77095 2.51119
+1.45528 -7.41416 3.35335
+2.41493 -7.15281 3.14864
+2.83638 -6.24356 3.5237
+3.08094 -6.54208 4.51597
+3.948 -6.56963 4.19237
+4.89748 -6.64691 4.2155
+4.59642 -6.70164 5.17332
+5.14828 -5.97505 5.64504
+5.23701 -6.88507 6.00631
+4.95753 -6.72924 6.97154
+4.7598 -7.64717 7.12428
+4.65204 -8.29601 7.84901
+3.82519 -8.74655 8.21496
+4.4953 -9.49388 8.02825
+5.04671 -9.46476 8.87931
+5.23522 -10.3971 8.43525
+6.12849 -10.3272 7.97872
+6.30115 -10.9495 7.14048
+5.67761 -10.4938 6.52576
+5.77502 -9.6163 5.99313
+5.41567 -8.88076 5.6377
+4.50628 -9.08393 5.21407
+5.038 -9.0742 4.3738
+5.79647 -8.42463 4.61976
+5.91618 -7.52148 4.41029
+5.0718 -7.58135 3.81229
+4.33099 -8.18745 4.09156
+4.56226 -8.73472 3.2743
+3.71178 -8.99162 2.78355
+3.98714 -8.32947 2.06322
+4.84558 -7.93126 2.62387
+5.57227 -7.74836 1.97118
+6.58354 -7.65636 2.19929
+6.3115 -8.68952 2.33013
+6.99898 -8.20951 2.90278
+7.30997 -9.15742 2.90309
+7.55762 -10.0051 2.43757
+7.97548 -10.7502 2.92323
+7.60417 -10.4541 3.76985
+7.07053 -10.387 4.62572
+6.69373 -9.75756 3.99018
+6.73742 -8.96194 4.70256
+7.18747 -8.11495 4.75792
+7.26797 -8.61822 5.59198
+6.67993 -9.4375 5.54108
+7.11418 -9.82905 6.32256
+7.70887 -9.20054 6.84463
+8.3969 -9.22973 7.59042
+7.93399 -8.35582 7.73638
+8.33891 -7.45251 7.41603
+7.907 -7.35248 8.39137
+8.05037 -6.43259 7.93478
+7.88318 -6.19632 8.92142
+8.80584 -6.09829 9.19357
+8.7957 -5.09305 9.1631
+9.06011 -4.68811 8.25584
+9.10664 -5.68326 7.89006
+9.95487 -5.63963 8.40052
+10.5617 -5.01073 8.91856
+11.2659 -5.21506 9.5241
+11.7312 -5.78802 10.2017
+11.9783 -5.58917 11.1457
+11.1968 -5.46798 11.7961
+10.521 -6.14165 12.0489
+10.1598 -6.73281 12.7502
+10.0509 -7.75274 12.755
+10.4214 -7.42335 11.9464
+11.179 -7.1991 11.3393
+11.5893 -7.35188 12.2063
+12.312 -6.87068 12.6281
+12.6831 -7.85429 12.569
+12.132 -8.55427 12.1788
+12.4208 -8.62453 13.148
+12.117 -7.92937 13.7809
+11.9941 -7.80083 14.814
+11.1956 -7.98021 15.2516
+10.2209 -7.84038 15.1375
+10.499 -7.20543 14.3926
+10.338 -8.17589 14.1404
+11.0599 -8.80375 14.4674
+10.2212 -9.27043 14.6364
+10.0317 -10.2286 14.8203
+9.27894 -10.0622 14.1543
+9.28348 -10.2237 13.1694
+8.3882 -9.88387 12.7372
+9.12077 -10.2231 12.1365
+9.84451 -10.9652 12.071
+10.2218 -10.3904 11.3941
+10.8749 -10.2237 12.1753
+10.9662 -10.5272 13.0751
+10.2356 -10.7522 13.6997
+10.097 -11.6126 13.2576
+9.7299 -11.6733 14.1353
+9.72061 -12.6372 13.9723
+9.95925 -12.6577 14.986
+10.6026 -11.9496 14.7323
+11.0771 -11.4066 15.4231
+11.568 -11.3582 16.2924
+11.836 -12.1332 16.9063
+12.4842 -12.1259 16.1551
+12.3887 -13.0385 15.7703
+11.5151 -13.3255 16.1246
+11.6945 -13.1965 17.0686
+12.1283 -13.3922 18.0062
+12.9073 -12.835 17.8343
+12.9377 -12.737 18.8467
+13.7886 -12.5446 18.37
+14.5484 -12.7001 17.8034
+14.6223 -13.6912 17.5474
+15.1482 -13.0638 16.8972
+15.4914 -12.098 17.0241
+15.3908 -12.0734 18.0553
+16.2857 -12.2579 18.4674
+15.837 -11.9502 19.4511
+15.0682 -11.3599 19.2191
+14.1151 -11.0734 19.236
+13.7463 -11.6337 20.0014
+13.464 -10.693 20.0342
+13.3875 -10.2778 20.8855
+12.8586 -9.57002 20.4024
+12.3171 -10.1753 19.7942
+11.6184 -10.2722 19.0898
+11.0216 -11.1185 19.2511
+10.6646 -11.1746 18.3268
+10.0072 -11.8448 17.8362
+10.6281 -12.2214 17.1054
+9.70475 -12.6013 17.2345
+9.54628 -13.3623 16.629
+9.03207 -14.0296 16.0862
+9.15908 -15.0596 16.2307
+9.97682 -15.589 16.5196
+9.64289 -15.0507 17.2821
+9.29262 -15.8812 17.7548
+9.70394 -16.7703 17.5603
+10.4463 -16.1508 17.7905
+11.1285 -15.388 17.9942
+12.1672 -15.2387 18.1737
+12.2818 -14.5877 18.9012
+12.5207 -14.2603 19.7641
+13.2142 -13.5657 19.5923
+14.0689 -13.7234 20.098
+13.3768 -14.3737 20.3532
+14.1037 -14.8915 20.8492
+15.0753 -15.067 20.7612
+15.5458 -14.1786 20.9295
+16.1044 -14.7987 21.4944
+16.5785 -14.1033 22.1712
+16.3962 -14.7314 22.8081
+15.5339 -15.2002 22.563
+14.8567 -14.7534 23.1389
+14.9203 -13.7776 23.2839
+14.1287 -13.9812 23.9652
+13.5534 -13.2898 24.4116
+12.9358 -12.6489 24.7571
+13.6792 -12.7236 25.4095
+12.8047 -13.0673 25.8156
+12.3128 -13.786 26.0631
+12.1828 -14.7107 25.7874
+11.9604 -15.7245 25.5152
+11.9557 -14.9466 24.8212
+12.1404 -14.3119 24.0808
+11.2077 -14.6287 24.0369
+11.5552 -14.1281 23.2436
+11.9346 -15.0942 23.1616
+11.5949 -14.8565 22.1977
+10.694 -15.2886 22.1302
+9.88386 -15.5283 22.6895
+9.99171 -16.1353 23.5583
+9.98111 -15.2847 24.2282
+9.12663 -15.8338 24.1335
+8.72211 -16.4585 23.4502
+7.92623 -17.0423 23.7967
+8.43447 -17.9295 23.5176
+7.70158 -18.4094 23.9847
+7.14815 -17.7081 24.4458
+6.67664 -18.5331 24.7911
+5.68821 -18.6968 24.4916
+4.90188 -19.3676 24.5507
+4.95213 -19.6661 23.6052
+3.96198 -19.4151 23.3217
+3.32503 -18.6214 23.0502
+3.44208 -17.924 23.7381
+4.20431 -17.278 23.7983
+3.78635 -16.4847 23.2939
+3.36994 -16.0585 22.4795
+2.39729 -15.7667 22.3306
+1.3923 -15.7672 22.447
+1.0172 -15.9977 21.605
+0.725339 -15.5067 20.799
+1.1464 -14.6508 20.5897
+1.13883 -13.9521 21.238
+0.431807 -13.9369 20.5156
+-0.03169973 -13.4196 19.7529
+-0.199314 -12.4593 19.4866
+0.01266417 -12.2618 20.4542
+0.290117 -11.8129 21.3103
+-0.682834 -11.4939 21.2808
+0.07871707 -10.9362 21.7149
+-0.27504 -10.0752 22.2741
+-0.03392763 -10.1927 23.2752
+0.292354 -10.9387 22.797
+1.09712 -11.3906 22.3685
+0.728895 -11.718 23.305
+-0.268841 -11.773 23.4099
+-1.17271 -11.9957 23.7204
+-0.647067 -11.5344 24.3714
+-0.249529 -10.8341 24.998
+0.654183 -10.6325 25.4435
+0.965977 -9.82209 24.9564
+1.38526 -9.1748 25.5864
+1.05991 -8.78347 26.4863
+1.29989 -9.28799 27.3017
+1.83867 -8.79225 27.9833
+2.53922 -8.32349 27.4377
+2.45067 -8.11709 26.466
+3.30334 -8.17723 26.8565
+3.76545 -7.42818 27.3832
+4.20815 -7.30239 28.3438
+3.47749 -7.61795 28.8443
+3.75542 -6.93913 29.4925
+3.49527 -7.40704 30.3288
+2.59322 -8.02761 30.3854
+2.53578 -8.82534 29.7945
+2.5859 -8.97016 28.788
+2.77692 -9.98062 28.7493
+2.26536 -10.6663 29.25
+1.92433 -11.6165 29.3157
+1.67925 -11.5422 30.2424
+2.64987 -11.5834 30.4728
+3.2702 -11.3923 31.2342
+3.53337 -11.6183 32.178
+2.73506 -12.2551 31.9717
+1.86343 -12.7123 32.0377
+1.97009 -13.3576 31.3318
+1.27986 -13.5194 30.711
+1.30898 -13.2514 29.727
+1.54466 -14.2101 29.652
+0.519134 -14.4606 29.7116
+-0.174577 -14.6752 30.3083
+-0.149983 -15.3387 29.5832
+-0.08527413 -16.2852 29.9599
+0.816636 -16.0088 30.4331
+1.5182 -15.2693 30.5339
+2.53831 -15.4312 30.4409
+2.56591 -15.0899 29.4367
+3.49535 -15.321 29.6702
+3.95118 -15.2959 28.7779
+4.76522 -14.7016 28.9266
+5.01779 -13.7387 28.669
+5.27605 -13.6048 27.7787
+4.74446 -12.9493 27.2891
+4.09996 -13.1977 28.0048
+3.47253 -13.8934 28.3046
+3.6815 -14.7329 27.7457
+3.98234 -15.1186 26.8569
+4.31935 -16.0299 26.8799
+5.10366 -15.4362 27.1509
+5.61577 -15.2916 28.0265
+5.98613 -15.9959 28.6391
+6.72397 -16.2773 28.0296
+6.0561 -16.1552 27.2418
+5.40599 -16.7146 26.7141
+5.48422 -16.2691 25.8193
+4.48032 -16.1774 25.7227
+4.32304 -15.1964 25.6078
+3.63423 -15.7527 25.1602
+2.80507 -15.3075 25.3725
+2.38962 -14.8054 26.1547
+1.65822 -15.1476 26.7986
+1.6929 -16.0912 27.1249
+2.33599 -16.9379 27.3601
+1.77605 -17.7042 27.3306
+2.12298 -18.5888 27.0257
+1.3978 -18.8995 26.4103
+2.11015 -19.5033 26.0965
+2.48352 -18.6382 25.7075
+2.89624 -19.2934 25.0888
+1.97937 -19.0535 24.7623
+1.83954 -18.4934 24.0073
+1.4574 -17.5344 23.876
+0.688629 -17.6855 23.2747
+1.34595 -18.3463 22.9697
+0.707629 -19.0883 23.158
+-0.108001 -18.8305 23.7196
+-0.462673 -19.6956 23.4572
+-0.876909 -20.5862 23.2193
+-1.54809 -20.6632 22.5176
+-1.97861 -20.3421 23.3592
+-2.84115 -19.7889 23.3744
+-2.19498 -19.0301 23.6581
+-1.89968 -19.4248 24.5108
+-2.2922 -19.4154 25.4431
+-1.41913 -19.3257 26.0188
+-1.36056 -20.178 26.5309
+-1.27834 -21.1745 26.4197
+-1.24742 -22.2056 26.2937
+-0.535256 -22.7409 25.7781
+0.2824 -22.2026 26.1188
+0.807009 -22.3173 25.2541
+1.74429 -22.0295 25.2949
+2.54869 -21.4617 25.4179
+2.95405 -21.2111 24.5657
+2.44994 -21.0632 23.7664
+2.53639 -21.9808 23.4023
+3.08859 -22.7716 23.6821
+3.52303 -23.3115 24.4472
+4.02005 -23.9697 25.0146
+4.89749 -23.5002 24.8581
+5.06867 -23.2381 23.8369
+5.60881 -22.448 23.7529
+5.79652 -22.1132 22.8345
+6.2619 -22.4822 22.0153
+6.62932 -23.408 22.115
+5.92652 -23.6284 22.8216
+6.25707 -24.4767 23.0366
+5.73137 -25.0699 22.4835
+6.56579 -25.6581 22.3257
+7.00724 -26.523 22.7207
+7.15678 -26.7409 21.7357
+6.93846 -26.829 20.7076
+6.43078 -26.5557 19.892
+6.0891 -27.121 19.1746
+5.36694 -27.7347 19.3371
+4.99255 -28.6367 19.1846
+5.0596 -28.6368 20.1468
+4.46459 -28.4094 20.9074
+3.86487 -29.23 20.8405
+3.91483 -28.9199 19.8418
+3.21227 -29.5983 19.7592
+2.73599 -29.5096 18.934
+3.5609 -29.1522 18.4077
+3.37913 -29.3521 17.4118
+3.69959 -30.2931 17.2895
+3.06128 -30.8917 16.8109
+2.1127 -30.8282 16.4966
+2.61277 -30.9872 15.6386
+2.97332 -30.7242 14.7375
+3.50087 -30.4775 13.9507
+4.42087 -30.1839 14.3241
+5.16096 -29.9129 14.9925
+5.26521 -29.2888 15.733
+4.26871 -29.0336 16.036
+4.20427 -28.7056 15.0965
+4.4272 -28.875 14.1493
+5.10462 -28.719 13.3732
+5.44286 -29.1241 12.5427
+5.15537 -29.5327 11.6438
+4.87956 -30.0046 10.8106
+4.7889 -30.91 10.4992
+4.06691 -31.0006 9.75587
+4.31936 -31.8397 9.25919
+4.94265 -31.7022 8.51658
+5.69201 -31.591 9.21544
+6.05245 -32.2578 8.55484
+7.01854 -32.5895 8.53958
+7.25508 -32.5468 7.567
+7.01894 -32.8624 6.61589
+6.41158 -32.1169 6.5313
+6.02511 -31.5674 5.76293
+5.46756 -31.2046 6.48122
+6.00498 -31.3533 7.35979
+6.57477 -30.7834 6.79277
+7.4564 -31.2102 7.04994
+7.50028 -30.3391 6.55868
+6.77008 -30.0039 6.02851
+6.14042 -29.2632 6.26375
+5.37542 -29.5274 5.81603
+5.16051 -30.3033 5.25944
+5.63311 -30.5625 4.38306
+6.33821 -29.9407 4.16891
+6.94997 -30.5923 3.77024
+6.60244 -30.2052 2.96887
+6.75446 -30.1783 2.03276
+7.088 -31.0786 2.17532
+6.28471 -31.3804 1.65422
+6.06878 -31.9897 0.7806721
+5.09407 -32.0449 0.3878521
+4.41302 -31.9268 1.14882
+4.27991 -32.4016 2.00379
+3.92176 -33.2783 1.76938
+4.23981 -34.2466 2.06049
+5.08944 -33.7855 2.09426
+5.90305 -33.2952 2.49566
+6.69152 -32.8372 2.92915
+7.10439 -32.6909 3.78489
+6.75413 -31.7586 3.71431
+7.61967 -31.4689 4.19098
+7.46374 -30.9786 5.08755
+8.20464 -30.4909 4.69328
+8.78869 -30.4725 3.94162
+9.55189 -30.4844 3.2895
+9.94315 -30.7957 2.45022
+9.86763 -31.7499 2.42608
+10.4961 -32.1932 1.84059
+9.65242 -31.9568 1.36016
+10.0294 -31.1282 0.9094231
+9.66795 -30.1425 0.9582691
+10.449 -29.5794 1.08684
+10.2411 -28.592 0.7743931
+11.1735 -28.6603 1.25335
+10.8277 -28.0337 1.92742
+10.339 -27.4794 2.59028
+9.306 -27.3339 2.81054
+8.53278 -27.6322 2.24473
+7.67185 -27.1785 2.56715
+7.20193 -26.259 2.30337
+8.10617 -26.2789 1.95761
+8.64807 -26.5757 1.24665
+8.53029 -27.5536 1.09649
+8.77867 -27.847 0.1648101
+8.97438 -27.0583 -0.4114099
+9.67526 -26.3842 -0.05133288
+10.5479 -25.9287 -0.03319518
+10.5607 -25.1347 -0.7400499
+9.60357 -25.1824 -0.9198149
+8.80356 -25.7505 -0.8872829
+8.02858 -26.1273 -1.44816
+7.7948 -25.1505 -1.54965
+7.46366 -24.959 -2.46012
+7.13635 -25.8907 -2.38113
+6.84258 -26.7744 -2.81514
+6.59198 -26.3773 -3.71811
+5.82379 -25.7037 -3.72308
+5.71126 -25.7539 -2.70447
+4.92815 -26.4689 -2.69205
+4.1097 -26.9138 -3.12939
+3.54376 -26.391 -2.51984
+3.7106 -25.6569 -1.80025
+4.52964 -26.2343 -1.55838
+4.55375 -26.8973 -0.7863659
+3.88718 -26.3333 -0.1962089
+3.01699 -26.2429 0.2913851
+3.61306 -25.6401 0.8360921
+4.19151 -24.8604 1.0508
+3.49137 -24.1774 0.8038601
+3.18427 -23.2902 1.23812
+2.43248 -23.9323 1.36908
+2.37176 -23.5649 2.34107
+1.36405 -23.5402 2.63652
+1.95831 -22.8877 3.19233
+2.40156 -22.0312 2.88845
+3.12641 -21.3777 2.7191
+3.84184 -20.7329 2.5338
+3.35147 -20.7703 1.6574
+4.1301 -20.0916 1.5808
+3.12667 -19.713 1.70466
+3.09079 -18.9287 2.30945
+2.34069 -18.5274 2.91442
+2.51281 -17.5483 3.08418
+2.08626 -16.7421 3.42472
+3.01169 -16.897 3.73091
+3.81953 -17.2272 4.25209
+4.34185 -17.361 5.08157
+3.342 -17.5525 5.07987
+2.6273 -18.2467 4.95602
+2.18612 -17.8911 5.74418
+2.39674 -17.8796 6.63488
+3.39198 -18.0747 6.78539
+3.34136 -17.9617 7.8115
+2.83865 -18.0238 8.69303
+3.73414 -18.2459 9.05234
+4.60729 -18.1067 9.5404
+5.34405 -17.7884 8.99116
+4.61571 -17.5964 8.36354
+4.71512 -16.6839 8.09093
+3.85546 -16.3119 8.43661
+3.54957 -15.3833 8.86311
+2.60937 -15.746 8.51148
+1.71982 -15.6868 9.0269
+1.57991 -15.5125 8.09272
+0.794504 -14.9549 8.18173
+0.166124 -14.1728 8.09784
+0.436231 -14.1736 7.13912
+0.778462 -13.2149 7.06021
+-0.08411993 -13.1487 7.58119
+-0.770971 -12.5211 7.08491
+-1.31601 -12.3584 7.94635
+-1.06838 -13.1397 8.43886
+-0.958268 -12.7637 9.3415
+-1.8792 -12.3874 9.59024
+-2.3114 -13.1585 9.28982
+-2.87657 -13.9504 8.97557
+-2.66081 -14.7454 9.55889
+-1.83837 -15.1645 9.7555
+-2.10956 -15.8522 10.4864
+-2.20354 -16.727 10.0684
+-2.19288 -17.5164 9.41281
+-2.80917 -18.2756 9.184
+-2.6144 -18.8812 10.0036
+-3.31415 -19.5641 10.0232
+-3.51747 -19.8565 9.13854
+-4.38988 -19.6461 9.63977
+-4.06872 -20.5848 9.77979
+-4.63817 -21.345 9.44221
+-4.34385 -22.2107 9.08414
+-3.33298 -22.0798 8.92704
+-3.72614 -22.3781 8.07962
+-2.99287 -21.7021 7.87074
+-2.10456 -21.256 7.88261
+-1.81144 -21.3777 8.84327
+-2.15753 -20.754 9.56648
+-2.42406 -20.7831 10.4757
+-3.13826 -21.5109 10.5491
+-3.05383 -21.3537 11.5143
+-3.9174 -21.1297 11.9879
+-4.02796 -20.4916 11.2382
+-5.00291 -20.3972 11.1148
+-5.17723 -19.7483 10.4044
+-5.1926 -19.0445 11.1526
+-5.31865 -19.5651 11.9568
+-6.07963 -20.19 12.2252
+-6.63524 -19.6753 12.7716
+-6.36725 -19.2462 11.865
+-6.19625 -18.4947 11.2311
+-6.33071 -17.5618 10.8432
+-6.74884 -17.8079 10.0244
+-7.07065 -17.2916 9.25436
+-7.8367 -17.4916 9.92358
+-7.98473 -18.4803 9.86211
+-7.08634 -18.8819 10.2249
+-6.31155 -19.4265 9.86869
+-5.56577 -18.8609 9.54426
+-4.95549 -18.1097 9.31955
+-4.14308 -18.744 9.11453
+-4.66193 -18.9386 8.27486
+-4.25268 -18.0536 8.07225
+-4.12011 -18.3423 7.08113
+-4.37857 -18.4467 6.12653
+-3.4432 -18.0029 6.1649
+-3.08436 -18.8696 6.42886
+-2.3448 -19.4761 6.68824
+-2.43923 -19.7932 7.60801
+-3.00117 -18.9215 7.63017
+-2.0121 -18.7304 7.67984
+-1.65559 -18.0215 7.12076
+-1.32377 -18.1171 6.14431
+-0.589749 -17.4005 6.01699
+-1.52826 -16.9539 6.08019
+-2.27802 -17.4812 5.75332
+-2.76673 -16.8203 6.30379
+-3.67332 -16.7793 6.01003
+-3.76494 -15.795 6.23469
+-3.70776 -14.9935 5.58204
+-3.46638 -14.5391 6.44044
+-2.82092 -15.3574 6.61286
+-1.88157 -15.403 6.46462
+-1.42555 -14.5775 6.20287
+-2.21204 -14.1701 5.5946
+-3.19711 -13.8797 5.32895
+-4.10084 -13.8998 4.96984
+-4.30015 -14.6775 4.29614
+-4.81359 -14.3979 3.50498
+-5.03346 -13.4187 3.30984
+-5.0091 -12.3744 3.37242
+-4.28706 -11.6514 3.42177
+-3.84528 -12.5351 3.42797
+-3.395 -13.3572 3.88394
+-2.55321 -12.9156 3.85573
+-2.46949 -13.8245 3.41844
+-1.83466 -13.888 4.16778
+-1.07269 -14.3704 4.65028
+-0.204381 -14.0622 5.07115
+0.604582 -14.7705 5.28947
+0.04996767 -15.5978 5.02013
+-0.167659 -16.5286 5.22067
+-0.761388 -16.5196 4.4443
+-0.07502663 -16.7822 3.73273
+0.531513 -17.104 4.44652
+1.23369 -17.8473 4.29427
+2.13424 -17.5952 4.28589
+2.12737 -16.7452 4.93626
+2.22306 -15.8372 4.99855
+2.16645 -14.8806 4.86766
+2.98479 -14.3478 4.9732
+3.77318 -14.5619 5.52073
+4.55577 -14.6465 6.24447
+5.16692 -14.2527 6.86266
+5.0017 -13.4425 6.22649
+3.98909 -13.4933 6.02705
+3.89183 -12.4989 6.23804
+3.08419 -12.9966 5.96056
+3.35128 -12.6337 5.02006
+2.76839 -12.016 4.57669
+2.60178 -12.5342 3.68564
+2.17268 -12.9641 4.48567
+1.98284 -13.4455 5.30958
+1.23317 -13.9545 4.84272
+0.852034 -13.0821 4.69283
+0.218634 -12.7286 5.42728
+0.04598387 -11.7534 5.41253
+-0.858053 -12.0784 5.77539
+-1.35532 -11.381 6.2955
+-0.741542 -11.0492 7.01377
+0.222019 -11.2074 6.82516
+0.644275 -11.7889 7.55778
+1.10859 -12.2843 8.27182
+1.57917 -11.3455 8.54345
+1.82791 -10.5394 8.0276
+1.48096 -9.72162 8.55164
+1.23803 -9.52806 7.59175
+2.18086 -9.17617 7.4343
+2.95304 -9.33066 6.88949
+3.55401 -10.0112 6.38102
+4.10665 -10.7839 6.26092
+3.86506 -10.1015 5.60869
+3.06497 -9.81245 5.12774
+3.24052 -8.84732 5.09376
+3.87724 -8.13332 5.14488
+3.05207 -7.56565 4.83897
+2.35379 -7.85068 5.52982
+1.72768 -7.14177 5.21044
+2.47821 -6.50118 5.39008
+2.1846 -5.85607 4.61829
+2.55993 -5.40375 5.42054
+2.19381 -5.4894 6.37177
+2.72036 -6.28649 6.74202
+2.14555 -6.10452 7.45072
+1.92842 -6.58579 8.2491
+2.77021 -6.06855 8.68678
+3.68443 -6.34615 9.04043
+4.61243 -6.55482 8.85427
+5.23878 -7.33384 8.92016
+5.71794 -8.11888 8.73715
+6.46797 -8.20633 9.3932
+7.19502 -7.57988 9.44107
+6.98279 -6.56206 9.40688
+6.33106 -6.06809 8.80385
+6.94728 -5.53913 8.20479
+7.02893 -4.54694 7.92184
+7.2901 -5.23104 7.22779
+6.7799 -4.84429 6.44579
+7.23038 -3.98781 6.18673
+6.25066 -3.98663 5.89311
+6.42988 -3.2669 5.20572
+5.87521 -2.44693 5.35534
+6.08657 -2.61301 6.3555
+5.93349 -3.46375 6.94639
+5.17192 -3.13405 7.53098
+4.60964 -3.51306 8.36184
+3.69706 -3.96352 8.49253
+3.26228 -3.6165 9.30574
+3.35026 -4.22518 10.0215
+4.09151 -4.94097 10.0338
+3.31965 -5.17435 10.7026
+3.9591 -5.52151 11.3416
+4.08907 -6.42336 10.8501
+4.97599 -5.95218 10.8875
+5.61309 -5.11238 11.0406
+5.60291 -4.31445 10.5124
+5.0333 -3.62238 10.2114
+4.84778 -2.8316 10.9084
+3.98949 -2.3663 11.151
+3.7653 -1.99442 10.2379
+3.47019 -1.32741 9.52049
+3.91333 -0.5187531 8.99508
+4.65039 -1.19749 8.77088
+5.37174 -1.66994 9.29078
+6.14833 -2.24294 9.64288
+7.02875 -1.91319 9.3368
+7.83577 -1.68445 8.69591
+8.57591 -2.34071 8.96902
+7.99773 -3.09338 8.69459
+7.4737 -2.83836 9.54882
+6.96497 -3.16523 10.3481
+7.96687 -3.3058 10.4128
+7.49334 -3.77973 11.2084
+6.77729 -3.74953 11.8964
+7.4131 -3.9005 12.5595
+6.49517 -4.00731 12.798
+5.76858 -3.89104 13.5446
+5.09561 -4.70182 13.7053
+4.2207 -4.9355 14.1136
+3.38476 -5.19204 13.6223
+3.24404 -5.55199 14.5565
+3.03688 -5.34152 15.5333
+3.68541 -6.12894 15.5208
+4.41917 -5.6839 16.0052
+4.34889 -6.67442 16.0366
+3.43891 -7.05232 15.8659
+2.62956 -7.20852 16.4767
+2.69145 -8.16487 16.093
+1.82258 -8.43695 15.8278
+1.3441 -7.79057 16.4579
+0.765754 -7.53005 17.1835
+0.430452 -8.20105 17.9422
+-0.283059 -8.82487 18.0717
+-0.515426 -9.82416 18.1682
+0.29211 -10.258 17.8496
+0.716902 -10.9073 18.4042
+-0.144323 -11.2171 18.0334
+-0.04546883 -12.158 18.3781
+-0.356866 -12.7668 17.6711
+-0.397227 -12.6639 16.6379
+-0.416311 -11.8646 16.0312
+-0.437444 -12.5074 15.371
+0.01688057 -13.1286 14.8799
+-0.839018 -13.6232 14.5571
+-0.785639 -12.6251 14.4972
+0.104365 -12.3285 14.2708
+-0.326164 -11.5524 13.7637
+-0.727061 -11.4947 12.7973
+-1.24766 -10.9375 12.1169
+-1.94669 -11.6568 12.4027
+-2.78175 -11.5407 12.9042
+-2.93037 -10.7327 13.4738
+-2.41091 -11.1105 14.1991
+-3.01687 -11.7739 14.6727
+-3.89672 -11.4316 15.1552
+-4.08293 -11.6943 14.2084
+-4.43063 -10.7329 14.215
+-5.29387 -10.7757 14.6505
+-5.80107 -11.6381 14.4818
+-6.59529 -11.8214 15.0542
+-6.52944 -12.0841 15.9654
+-6.47184 -11.1418 16.2919
+-6.53021 -10.4308 15.5987
+-6.48563 -9.46429 15.3587
+-6.08227 -9.60663 14.5085
+-6.17465 -8.98245 13.6768
+-5.9508 -9.43023 12.8248
+-4.89801 -9.08165 13.1164
+-4.24492 -8.63113 13.6741
+-4.36523 -7.67977 13.901
+-5.17175 -7.91564 14.4657
+-4.5743 -7.60823 15.2618
+-4.97982 -6.89268 15.791
+-5.04334 -6.80031 14.7903
+-4.51849 -6.26651 14.0927
+-4.53205 -6.01778 13.1458
+-3.87954 -6.38432 12.4241
+-4.17788 -6.53155 11.4705
+-4.08115 -7.29424 12.1032
+-3.81988 -7.49885 13.0662
+-3.33415 -7.92279 13.8139
+-2.71877 -7.1352 13.4899
+-2.07088 -6.58695 14.0558
+-1.9521 -5.92766 13.3529
+-1.32448 -6.24247 12.5983
+-0.357629 -6.46229 12.2664
+-0.702131 -7.44426 12.3254
+-1.2584 -7.56773 13.0912
+-1.09988 -8.49418 12.6978
+-0.216402 -8.13992 12.943
+0.02028247 -8.16046 13.9718
+0.786567 -8.11308 14.6252
+0.323498 -8.96345 14.5137
+1.21826 -9.36684 14.557
+2.13336 -8.8914 14.7562
+2.54018 -9.38078 13.9712
+2.05172 -9.09142 13.1385
+2.38962 -8.21144 12.9051
+2.55431 -7.26994 12.668
+2.6999 -6.38666 13.1432
+1.966 -5.86241 13.5014
+2.05987 -4.83111 13.6853
+2.69225 -4.16291 14.0689
+2.56678 -3.22258 13.8626
+3.36013 -3.51893 14.4634
+3.68308 -3.23998 15.3344
+3.62392 -3.78492 16.2008
+3.3422 -3.72052 17.183
+3.52107 -2.70814 17.2113
+3.07702 -2.94488 18.0722
+4.09383 -3.19575 17.9566
+4.91496 -2.86808 18.4672
+5.12912 -1.97668 18.8763
+4.62362 -1.84807 19.7417
+4.39368 -2.44496 20.484
+4.40131 -3.35288 20.0482
+4.53543 -3.67441 20.9995
+4.45316 -2.79253 21.437
+3.46288 -2.83708 21.7154
+2.81372 -2.31656 21.1796
+3.46503 -1.73192 21.683
+2.66096 -1.15928 21.4143
+2.6485 -0.7028631 20.5356
+2.12429 -0.2663201 19.777
+3.06664 0.05919313 19.9468
+3.85488 0.3177169 19.4501
+4.33606 1.20229 19.4487
+5.0291 1.74488 18.9759
+5.48394 1.62962 18.0449
+5.9931 2.11609 17.3565
+6.37403 1.77953 16.4263
+5.51985 1.17202 16.6704
+5.00785 0.3111489 16.5561
+4.16592 -0.2699511 16.7416
+3.92832 -1.23754 16.4783
+3.06472 -0.8148631 16.3995
+2.66105 -0.9033481 17.3546
+1.76597 -0.6670981 16.9414
+1.17155 0.04145303 16.5867
+1.27731 -0.04189287 15.5874
+1.38275 -0.01368457 14.5944
+1.80543 0.8325329 14.603
+2.27593 0.5375979 13.8068
+3.17183 0.3607529 13.2837
+2.69916 0.1099769 12.4164
+3.4684 -0.4760131 12.4491
+3.30701 -0.8636271 11.5095
+2.59701 -1.54083 11.8007
+1.55811 -1.55701 11.823
+1.08775 -1.89783 11.0172
+0.201415 -2.42139 11.0824
+-0.31046 -3.20176 10.8383
+-1.08673 -3.6115 11.2771
+-1.96286 -3.175 11.3155
+-2.36532 -2.56449 10.7426
+-1.78186 -2.15825 11.3982
+-2.55721 -1.55925 11.6222
+-3.48048 -1.80568 11.6969
+-4.26734 -1.502 11.1485
+-4.38318 -1.88096 12.0259
+-5.31622 -1.6945 12.3863
+-5.81347 -1.31165 11.6474
+-6.57582 -1.62228 12.241
+-6.67339 -2.54324 11.8885
+-7.14547 -3.19361 12.4623
+-6.2835 -3.0541 12.9902
+-7.01693 -3.74057 13.2794
+-6.51933 -4.46214 13.6805
+-5.59484 -4.42649 14.1102
+-4.98107 -5.11707 14.3852
+-4.99679 -5.80987 15.0447
+-4.75859 -5.8398 16.0042
+-4.41752 -5.08356 15.4812
+-5.34609 -4.59699 15.4305
+-6.25967 -4.48022 15.0236
+-6.86339 -5.17119 15.5447
+-7.61267 -4.6245 15.2369
+-7.76317 -4.97882 14.3007
+-8.17076 -4.11313 14.5715
+-9.06604 -3.9654 15.1836
+-9.9874 -4.31267 15.1241
+-10.7519 -4.74422 14.6497
+-10.2125 -5.58494 14.5989
+-11.0049 -6.24681 14.6806
+-11.9153 -6.1098 14.5788
+-11.6426 -5.56417 13.7195
+-11.9427 -5.01632 14.5179
+-12.3533 -4.34539 13.8568
+-11.4068 -3.99973 13.6988
+-11.1456 -4.79498 13.2304
+-10.4258 -4.48666 12.7825
+-9.75879 -5.30265 12.9364
+-9.26915 -6.15436 12.9441
+-8.25579 -6.37472 12.8387
+-7.93373 -5.52437 13.2511
+-7.6288 -4.78464 12.5702
+-7.95103 -3.83464 12.553
+-8.6281 -3.30244 11.9897
+-9.11928 -2.63023 12.503
+-9.55589 -1.91505 11.8893
+-9.88033 -2.28109 10.9434
+-10.2263 -1.29291 11.0682
+-10.3243 -0.3518891 10.6634
+-9.46919 -0.7696521 10.7087
+-8.77558 -1.07513 10.0204
+-7.98919 -0.9010871 10.5287
+-7.56678 -0.4289851 11.3262
+-7.98073 -0.6038271 12.1817
+-7.10857 -0.3790811 12.7083
+-6.22826 -0.2657351 13.2311
+-5.45704 -0.8869851 13.4521
+-4.47777 -1.00322 13.1363
+-3.68001 -0.9675711 12.5266
+-3.75388 0.05887803 12.7101
+-3.49299 -0.3281581 11.8339
+-4.07029 -0.08476177 11.0325
+-4.2986 0.8120999 10.6537
+-3.46415 1.1876 11.1414
+-3.08395 1.87231 11.7315
+-2.13524 2.09825 11.8641
+-2.38496 2.39053 10.9266
+-1.49337 2.1048 10.5673
+-0.521907 1.77636 10.6294
+-0.435242 2.76544 10.984
+-0.687999 3.58377 10.5102
+-1.16898 3.73031 9.59166
+-2.02277 3.14273 9.80519
+-2.45887 4.10897 9.98994
+-2.7961 3.77995 10.9186
+-3.67594 3.44272 10.8472
+-4.48219 3.4942 11.4632
+-4.89968 3.08074 12.3513
+-4.49068 3.37885 13.2037
+-4.05352 4.25809 13.1394
+-3.94307 4.81927 12.2588
+-3.38518 3.99847 12.2677
+-2.5382 4.46164 12.7445
+-2.46159 4.16418 13.6911
+-2.5648 4.80279 14.4812
+-3.52272 5.00023 14.5712
+-2.81483 5.35908 15.2352
+-3.31535 4.79501 15.9251
+-2.6123 5.24337 16.4454
+-3.19615 5.70898 17.0755
+-3.86599 6.38646 17.3141
+-3.79796 6.18136 16.3679
+-4.39236 6.84587 15.8972
+-5.17015 7.29948 16.2787
+-5.84197 7.54013 15.608
+-6.01217 6.57423 15.5502
+-5.51044 6.06141 14.8673
+-4.58584 6.25247 14.6593
+-4.66033 6.03996 13.6564
+-3.89407 6.41103 13.034
+-3.71748 6.22819 12.0787
+-4.16699 6.91125 11.4762
+-3.94628 7.89989 11.693
+-3.28022 7.29523 12.0774
+-2.72851 7.85606 11.43
+-2.13459 8.50736 11.1061
+-1.23353 8.36916 10.8326
+-0.527177 7.71125 10.5514
+-0.349383 7.03771 11.314
+-0.314746 8.01542 11.5593
+0.591904 8.4892 11.5448
+1.4389 8.57948 12.0841
+1.33297 9.46995 12.5998
+0.851472 9.78219 13.4219
+-0.177644 9.87428 13.7594
+-0.427083 9.74756 12.7678
+-1.3353 9.35121 12.9537
+-1.70024 10.2721 12.9008
+-2.0931 10.032 11.9578
+-1.92929 10.1051 11.0302
+-1.0527 10.528 11.2508
+-0.334725 10.4059 10.5211
+-1.09095 10.0234 10.0642
+-1.60538 9.21796 9.96238
+-2.62858 9.21152 9.82606
+-3.43167 9.23115 10.4479
+-3.22991 10.2541 9.99223
+-3.55133 9.85172 9.11907
+-3.54485 10.8632 8.95226
+-3.89975 11.2833 8.09805
+-4.76235 11.4185 7.70406
+-4.62139 12.2467 7.08888
+-4.67567 11.5898 6.34321
+-5.3691 10.8657 6.38637
+-4.44004 10.4611 6.55982
+-3.45934 10.2287 6.61719
+-4.04349 9.42249 6.44824
+-4.55902 8.63555 6.92527
+-4.01416 8.36923 7.70348
+-3.05104 7.99184 7.63369
+-2.13766 8.30584 7.60096
+-1.81268 9.14375 7.17488
+-1.66329 10.1056 6.95987
+-1.76072 9.74184 6.03042
+-1.44697 10.6545 5.80372
+-1.02043 11.6261 5.86735
+-0.347541 11.2177 6.4096
+0.258269 12.0513 6.59011
+-0.10767 11.7881 7.49317
+0.893676 11.7674 7.55022
+1.09597 10.841 7.58973
+0.34784 10.6952 8.26225
+-0.474442 10.0596 8.18613
+-0.446257 10.8234 8.85446
+0.154289 10.0281 9.08933
+0.257695 9.22195 8.57897
+1.25171 8.9118 8.4777
+0.736533 8.53479 7.74322
+-0.149708 7.99524 7.80566
+0.522899 7.33793 8.12932
+-0.326996 6.97648 8.4417
+0.08116177 6.28844 9.07703
+-0.747868 6.66108 9.4683
+-0.839754 7.63454 9.22486
+-1.432 7.43562 8.43939
+-1.6246 6.57431 7.98528
+-0.953214 6.94702 7.25577
+-1.72726 6.72931 6.63524
+-1.3209 7.16476 5.89604
+-1.99405 6.87298 5.12553
+-2.44381 7.57684 4.63766
+-2.82326 8.04941 5.44157
+-3.30461 7.44274 6.03957
+-3.69629 7.23254 6.90383
+-3.6088 6.39884 6.41614
+-3.94607 6.23195 5.51548
+-4.90221 6.48635 5.6415
+-5.45531 5.95674 5.03023
+-6.4002 6.10951 5.19897
+-6.04406 6.91052 4.68128
+-5.32295 6.76913 3.88619
+-6.28906 7.06921 3.68998
+-6.82914 6.31462 3.39299
+-6.61596 5.37988 3.03909
+-7.3079 5.00114 3.6307
+-6.91151 4.66733 4.39263
+-6.87273 4.92055 5.40103
+-6.56384 4.03523 5.58065
+-6.14801 3.77822 6.391
+-5.98561 4.34983 7.15874
+-5.6288 4.59255 8.10602
+-4.8601 5.21066 7.89073
+-4.40017 6.03088 7.67945
+-4.23645 6.55095 8.54546
+-3.32219 6.20531 8.3474
+-2.68214 6.07936 9.12878
+-1.97887 5.50561 8.65302
+-1.87406 4.75613 9.31545
+-1.14324 5.00448 9.9003
+-0.869637 5.42802 10.693
+-0.54364 4.58634 10.9918
+-1.53977 4.4375 11.1283
+-2.28043 4.73818 11.8244
+-1.89965 5.63832 12.1339
+-2.26837 6.41493 11.6423
+-1.70387 6.92853 12.2248
+-1.7907 6.53942 13.1453
+-0.994715 6.15224 13.6917
+-1.38114 5.87656 14.5962
+-2.32418 6.08959 14.4726
+-2.69008 6.98905 14.5035
+-2.90216 7.89765 14.274
+-2.82982 8.22728 13.3217
+-3.81647 8.3475 13.2422
+-4.20021 8.94536 14.0087
+-4.38557 7.98575 14.2251
+-4.55239 8.29604 15.1019
+-5.39764 8.56019 14.6008
+-6.27325 8.94769 14.9773
+-6.80551 8.7503 15.8325
+-7.79511 8.5195 15.943
+-7.68748 8.87793 14.9678
+-8.52514 9.41219 14.9546
+-9.17728 10.1236 15.1858
+-9.20804 11.125 15.0151
+-9.84193 10.5516 14.4456
+-10.2261 10.5041 13.596
+-10.3534 9.55721 13.8659
+-9.9089 8.75648 14.3288
+-9.59659 8.13428 13.6277
+-9.43179 7.7906 12.6733
+-10.3678 7.58929 12.6974
+-9.67188 6.79784 12.9465
+-8.92323 6.65916 13.6417
+-8.94491 5.74159 13.799
+-9.81286 5.87387 14.1247
+-10.7117 5.91548 14.5639
+-11.0074 5.5899 15.412
+-11.2619 4.91773 16.118
+-11.2675 5.74598 16.7119
+-12.2139 6.14628 16.5112
+-13.081 5.63259 16.3911
+-13.3993 5.0809 17.0905
+-12.541 4.60097 16.955
+-12.0568 3.94054 16.4125
+-11.4901 3.49721 15.6613
+-10.6168 3.13161 15.7515
+-10.0492 3.79341 15.1847
+-9.21478 4.00485 15.7191
+-9.06616 3.04213 15.8331
+-9.55061 2.22841 15.5237
+-9.96275 1.34043 15.206
+-9.81048 0.6915399 14.5041
+-9.13119 0.06653543 14.8625
+-8.66643 0.07178103 15.7017
+-9.07906 0.8022029 16.2011
+-8.47326 0.9682909 15.3753
+-7.74446 1.61575 14.9932
+-7.14814 0.7939719 15.1816
+-7.13582 0.1740409 15.9863
+-7.22022 0.5054089 16.8598
+-6.64208 0.8622849 17.6311
+-7.05831 1.46514 18.344
+-6.30095 0.9823999 18.7832
+-6.45359 0.1881929 19.3683
+-6.27281 0.9946179 20.0133
+-6.5212 1.80965 19.3878
+-7.55521 1.56817 19.4224
+-7.89385 2.07691 18.5435
+-8.85226 2.27199 18.2555
+-9.08515 1.44169 18.8415
+-8.91947 0.4828319 19.1229
+-8.08843 0.3127129 19.5711
+-7.69407 -0.3244541 18.9996
+-7.27086 -1.0763 19.3933
+-7.05641 -1.41415 20.3437
+-7.82329 -1.38555 20.9946
+-7.29391 -0.9320491 21.7121
+-6.67076 -0.7502901 22.4474
+-7.23388 -0.5022371 23.3413
+-7.50842 -0.5256911 24.3238
+-7.63703 -1.50683 24.6253
+-8.21939 -2.18865 24.2094
+-8.22691 -1.62573 23.3819
+-7.91253 -2.22182 22.6522
+-7.09197 -2.15326 23.1464
+-6.95474 -3.09519 22.8865
+-6.93542 -4.02553 23.3071
+-6.88006 -3.33281 24.0833
+-6.67724 -4.02408 24.7692
+-6.49662 -4.5802 25.5943
+-5.73096 -3.98693 26.013
+-6.50824 -3.2626 25.9869
+-7.29116 -3.75803 25.8734
+-8.03204 -3.52123 26.5657
+-8.53601 -4.32659 26.5969
+-9.4934 -4.52432 26.7511
+-9.19591 -5.15098 27.5242
+-10.2157 -5.26457 27.356
+-10.4582 -5.29809 28.2956
+-10.8022 -4.5565 28.9102
+-10.8178 -3.76798 29.5732
+-11.5312 -3.88711 28.966
+-10.8459 -3.13255 28.7077
+-10.1623 -2.41776 28.651
+-10.9445 -2.42123 27.9418
+-11.4935 -1.7409 28.4434
+-10.972 -1.04424 28.9034
+-10.1436 -1.47161 29.2654
+-9.34568 -1.82636 29.7777
+-9.81818 -1.92695 30.7014
+-10.6304 -2.21054 31.225
+-11.3369 -1.56574 31.297
+-11.6165 -2.04865 32.0672
+-12.0948 -2.94435 31.6494
+-11.8791 -2.46847 30.7249
+-12.1532 -3.45362 30.4995
+-12.1272 -4.45112 30.8605
+-11.7169 -5.24954 31.0187
+-11.1793 -4.46529 30.7829
+-10.5961 -4.06153 31.4418
+-9.94057 -3.56386 30.9229
+-9.26757 -3.70083 30.2425
+-8.25234 -3.4932 29.9969
+-7.68623 -3.01594 30.7236
+-6.88053 -2.62972 30.397
+-5.88347 -2.56345 30.715
+-5.01156 -2.11087 30.8838
+-4.48271 -2.97004 30.9932
+-3.77305 -2.62339 31.5378
+-3.71318 -1.65077 31.1442
+-2.92682 -1.10004 30.9526
+-2.33131 -0.3124831 31.2791
+-1.64065 -1.12122 31.3048
+-1.10939 -0.8661781 30.5027
+-1.08712 -1.3632 29.586
+-0.24091 -1.96752 29.4656
+-0.429319 -1.75874 28.4853
+-0.783835 -2.15648 27.5835
+-1.6561 -1.98449 27.7426
+-1.69679 -2.98727 27.9991
+-2.37261 -3.03852 27.296
+-3.2781 -2.8864 26.8666
+-3.21352 -2.12205 26.2981
+-2.59796 -2.40522 25.5345
+-1.73365 -1.95194 25.5726
+-1.64609 -1.32461 24.7223
+-2.4568 -1.02371 25.3029
+-2.96442 -0.2594071 24.6979
+-3.57426 -1.04627 24.8369
+-4.5425 -0.6538601 24.6278
+-5.44121 -0.9810181 24.8567
+-4.90843 -1.41591 25.6075
+-5.12613 -2.3005 25.2039
+-4.64385 -2.64852 24.3723
+-3.78141 -2.57055 24.804
+-2.86772 -2.90469 24.6501
+-2.15604 -3.45435 24.1998
+-2.47706 -4.2908 23.7343
+-3.44741 -4.09293 23.946
+-3.19349 -3.76077 23.0241
+-3.52078 -3.38444 22.2145
+-3.86066 -2.62264 21.8457
+-2.85942 -2.8387 21.7735
+-1.93879 -2.41375 21.9507
+-1.77573 -2.28829 20.9488
+-1.31199 -1.36995 21.123
+-0.802421 -1.95324 20.4106
+-1.1651 -2.52156 19.8437
+-2.14068 -2.19427 19.8958
+-2.75939 -2.60443 19.3321
+-1.84206 -2.40191 18.8747
+-1.06792 -2.75147 18.3181
+-1.35313 -3.70872 18.6384
+-1.15728 -4.24904 17.7849
+-1.98613 -4.88198 17.531
+-1.64816 -4.79613 18.4637
+-2.18902 -5.08388 19.2484
+-3.1157 -5.47209 19.1725
+-4.00392 -4.94444 19.2225
+-3.92378 -5.2015 18.2462
+-3.69565 -4.67564 17.4142
+-2.9967 -4.46789 16.7217
+-2.6737 -5.38769 16.9716
+-2.03776 -6.15211 16.7494
+-2.70852 -6.51883 17.3921
+-3.70212 -6.4088 17.2801
+-3.4814 -7.10076 16.6073
+-4.32392 -7.50704 16.9362
+-4.31912 -8.30834 17.4777
+-5.27928 -8.10106 17.7386
+-6.30521 -8.41238 17.7195
+-5.95601 -8.27572 16.8171
+-5.59574 -8.43346 15.9225
+-5.80591 -7.58254 15.4705
+-6.24395 -7.00943 14.8071
+-6.58093 -6.1752 14.4879
+-7.33803 -6.63504 15.0727
+-7.35287 -7.26471 15.9336
+-6.83367 -6.39506 15.9244
+-7.2978 -6.76241 16.7244
+-6.5587 -7.35353 16.4628
+-6.94321 -8.24447 16.1485
+-6.72081 -9.07574 16.8284
+-5.80016 -9.48924 16.6334
+-5.35016 -10.2833 16.8487
+-5.78981 -11.1168 17.0087
+-6.62125 -11.2196 17.5397
+-7.10156 -10.5272 17.1386
+-7.37522 -9.71971 17.5889
+-7.07531 -9.85534 18.529
+-8.01196 -10.3285 18.4998
+-7.98373 -9.61958 19.1575
+-8.61213 -8.96609 18.6798
+-8.84074 -9.12058 17.7213
+-8.77405 -9.80681 16.8979
+-9.13785 -10.3994 16.1503
+-10.124 -10.6844 16.0407
+-11.1375 -10.6023 15.86
+-11.0375 -10.5126 16.8605
+-10.6826 -10.8534 17.6821
+-9.6329 -10.8626 17.7922
+-9.67044 -11.1272 18.7127
+-8.95365 -11.461 19.3005
+-9.34314 -11.461 20.1984
+-9.42022 -11.955 21.076
+-8.77519 -12.586 20.6106
+-7.95002 -12.7926 20.0492
+-6.98403 -13.1237 19.986
+-7.02688 -13.8101 20.6748
+-6.83362 -13.3739 21.5413
+-6.32111 -12.6212 21.8621
+-6.54723 -12.4777 20.8939
+-6.95839 -11.7282 21.4445
+-7.1198 -10.8358 21.7547
+-6.12733 -10.9464 21.9014
+-5.76075 -10.9846 20.931
+-5.48358 -10.2446 20.2315
+-5.02342 -9.53439 20.7755
+-4.94829 -8.84202 20.024
+-4.22582 -9.02331 19.407
+-3.91009 -8.51404 18.607
+-3.06391 -8.56756 19.0534
+-2.23907 -8.75966 18.5815
+-2.32046 -8.74538 17.5747
+-2.90261 -8.90824 16.7905
+-3.11086 -8.56597 15.8316
+-3.62599 -8.74579 14.9704
+-4.2833 -9.40074 15.2515
+-4.43787 -9.67338 14.2448
+-3.83644 -9.95462 13.4035
+-4.24018 -10.6613 12.8104
+-3.59824 -10.0719 12.2166
+-3.86213 -10.0443 11.2367
+-3.60415 -9.27304 10.7547
+-2.93779 -9.66163 10.1537
+-2.56607 -8.95812 10.7162
+-1.75285 -8.77549 11.3065
+-1.25895 -9.53537 11.8097
+-0.392311 -9.94437 11.5503
+-1.02561 -9.9082 10.8417
+-0.274919 -9.42106 10.3838
+0.149082 -8.57021 10.3815
+-0.12514 -8.72708 11.2997
+0.605462 -8.06588 11.406
+0.486002 -7.64826 12.3685
+1.38987 -7.09402 12.6473
+1.54931 -6.83413 11.6812
+2.17167 -6.29376 12.2161
+1.8855 -5.35329 12.0156
+1.99903 -5.81926 11.1326
+1.04462 -5.6966 10.7749
+0.256095 -6.12228 10.2572
+-0.310421 -5.59981 10.8494
+0.468424 -5.35838 11.451
+0.681269 -4.46656 11.0998
+1.65952 -4.35086 11.18
+2.24714 -3.75328 11.5912
+1.75759 -4.20899 12.1983
+1.06196 -3.58475 12.5059
+0.336286 -4.19673 12.4228
+-0.03167633 -4.96928 12.9654
+-0.452136 -4.30665 13.4969
+-0.599502 -5.07432 14.0854
+-0.08005263 -5.84849 14.1312
+0.790041 -5.27308 14.1979
+1.17571 -4.71181 14.9512
+2.02791 -4.73739 15.4269
+1.24608 -4.625 16.0875
+1.08559 -3.93566 16.8071
+1.64291 -3.45855 17.6014
+1.23463 -4.33852 18.0695
+1.13245 -5.03726 17.3642
+1.43692 -5.71395 18.0108
+0.862523 -6.35186 17.5004
+-0.06090333 -6.71719 17.5568
+-0.311585 -6.28907 16.6344
+-0.563513 -7.0607 16.1976
+-0.872112 -6.29358 15.6758
+-0.46517 -5.48299 15.1916
+-1.10867 -4.75024 15.0563
+-2.01375 -4.35534 15.0505
+-2.72631 -4.5263 14.348
+-2.67638 -3.70669 13.6913
+-3.00621 -2.82511 14.1227
+-2.21063 -2.62621 14.6233
+-2.45501 -1.96208 13.793
+-2.84394 -2.46605 12.9868
+-2.06715 -3.03915 12.738
+-1.14589 -3.4519 13.0479
+-1.19278 -3.18115 14.0265
+-0.548949 -2.35636 14.2431
+-0.358188 -1.93434 15.1926
+-1.29288 -1.74581 15.5282
+-1.79159 -1.70995 16.4533
+-2.08949 -2.60781 16.2329
+-1.36415 -3.0747 16.7165
+-1.34129 -3.59945 15.9775
+-0.493915 -3.33835 15.6348
+0.381722 -2.89778 15.4777
+1.34917 -2.73743 15.3064
+1.05328 -1.92416 15.6699
+0.53346 -1.45169 16.3717
+0.710963 -1.54428 17.2761
+0.485846 -1.12302 18.0722
+-0.175816 -0.4101681 18.1205
+0.522107 0.01083293 17.5461
+-0.183227 0.7050479 17.5736
+-0.09816243 1.09841 16.5934
+-0.882653 1.41526 16.1129
+-1.76628 0.8978589 15.8006
+-1.09268 0.1896959 15.6147
+-1.79488 -0.3547611 15.0799
+-2.33796 -0.1611101 15.8618
+-2.5377 0.4531059 15.1295
+-2.64039 0.4649719 14.1403
+-3.35878 0.5101699 13.4452
+-4.23745 0.9225439 13.3935
+-4.76698 0.2835549 12.9055
+-4.85113 0.3164519 11.8754
+-5.6994 0.6042979 12.2902
+-6.00093 0.8590669 11.3323
+-6.06907 1.81673 11.0426
+-6.67463 1.26325 10.5502
+-7.31623 0.6363999 10.1247
+-8.2455 0.5818589 10.0451
+-8.88437 1.2162 9.51508
+-9.31783 2.06746 9.70156
+-10.1044 2.73036 9.48264
+-10.5632 1.82053 9.39042
+-10.2028 1.97337 10.2713
+-10.4588 1.69637 11.171
+-11.4505 1.95156 11.1066
+-11.8244 1.40418 10.3259
+-12.589 1.45814 10.9687
+-12.5297 2.08772 11.7639
+-11.951 2.76806 11.4434
+-12.8439 2.75987 10.9884
+-12.3644 3.57143 10.6289
+-12.9402 3.75365 11.4237
+-13.5825 4.27895 10.8917
+-13.4086 5.13209 11.3238
+-12.5889 5.65374 11.3923
+-13.1343 6.1937 11.9381
+-12.3227 6.84616 11.9491
+-13.0663 7.43543 11.5406
+-13.2373 7.57946 10.5686
+-14.2485 7.47404 10.5257
+-14.8986 7.86916 9.85107
+-15.856 7.42691 9.71315
+-15.8452 7.54053 8.6943
+-15.307 7.45361 7.85508
+-16.0107 6.72168 7.82421
+-15.8389 6.17202 7.04386
+-15.9353 5.25408 6.67924
+-15.9432 4.48542 6.0295
+-16.9013 4.3364 6.29861
+-17.5701 3.64247 6.55703
+-17.1462 2.85743 7.04756
+-18.133 2.68737 6.87938
+-18.899 2.95836 7.52941
+-18.8691 2.11515 8.08872
+-18.7004 1.16265 7.81354
+-18.19 0.3010649 7.66665
+-18.8371 -0.3056651 8.07971
+-19.0493 0.2309129 8.91455
+-18.576 1.13695 9.05767
+-18.573 1.88912 9.68494
+-19.3754 2.1555 9.16054
+-19.979 2.71011 9.78031
+-20.6344 3.49517 9.78648
+-20.3889 3.43901 10.782
+-19.6876 4.15156 10.9233
+-19.9252 5.00812 11.3467
+-19.6186 5.83298 10.7654
+-20.1573 6.58012 10.42
+-19.6918 7.44918 10.0712
+-18.9742 7.49434 10.7154
+-17.931 7.47347 10.6981
+-17.8508 7.72414 9.71155
+-18.5615 7.95478 9.04417
+-17.7006 8.14471 8.60276
+-16.6642 8.24952 8.57516
+-15.9058 8.59178 7.9672
+-15.3552 8.34372 8.81139
+-14.6084 8.75239 9.40578
+-14.2244 9.04614 8.52393
+-14.4015 8.68682 7.60671
+-14.1742 9.19992 6.79667
+-13.8524 8.25601 6.62931
+-14.5706 8.05865 5.96413
+-14.5233 8.99312 5.55202
+-14.4294 9.96627 5.46254
+-13.4951 9.81921 5.64735
+-12.8862 9.50485 6.41514
+-11.9925 9.8182 6.76104
+-11.5511 9.56146 7.63152
+-10.8186 9.9835 8.23854
+-10.2462 9.22586 8.64381
+-9.88788 9.77025 9.37055
+-9.62609 9.68278 10.3025
+-8.90211 10.4222 10.4391
+-8.32482 10.6296 9.70637
+-7.59984 10.8031 10.3587
+-6.84556 10.1265 10.431
+-6.10837 10.5092 11.0591
+-6.02022 11.3494 10.4642
+-5.21203 11.5956 9.88522
+-4.85507 10.8236 10.5581
+-4.85994 9.84128 10.697
+-4.39634 9.47594 9.91131
+-4.33216 8.51271 9.80911
+-5.20243 8.54133 9.31447
+-6.03103 8.12546 8.9545
+-5.85982 8.10103 7.91277
+-5.51729 7.19683 8.01301
+-6.10864 6.98984 7.24208
+-6.86437 6.50129 7.44652
+-7.56231 6.86398 6.87495
+-6.99548 7.58646 6.56137
+-7.11816 8.46963 6.94121
+-6.50016 9.06276 7.42661
+-6.51745 10.0346 7.34926
+-7.27642 10.1134 8.01784
+-7.70651 10.7867 7.33845
+-8.00549 9.95435 6.96353
+-8.21929 9.04247 7.24914
+-8.68047 8.82474 8.15967
+-7.85611 8.25914 8.08098
+-8.23501 8.1751 9.05778
+-7.53581 8.91789 8.90755
+-7.33967 8.48725 9.74887
+-7.14959 8.85293 10.7401
+-8.0018 8.47298 10.7505
+-8.61432 8.70168 9.96665
+-9.26014 7.86009 9.78408
+-9.90223 7.33489 10.3644
+-9.65105 7.97972 11.0722
+-8.8714 8.63809 11.07
+-9.203 9.00601 11.8991
+-9.80544 9.55419 12.3783
+-9.28456 10.3352 12.8621
+-9.69225 11.1767 12.5662
+-9.03911 11.6404 12.0258
+-8.69329 11.924 11.12
+-8.96591 12.9182 11.1665
+-8.10278 12.8059 10.5753
+-7.99085 13.2565 9.77194
+-7.08784 13.3365 9.38313
+-7.22932 12.7954 8.49965
+-8.07834 12.2391 8.59635
+-9.00125 12.2408 9.02422
+-9.87248 11.7442 9.12226
+-10.2701 10.8446 9.13956
+-10.6811 10.7863 10.0386
+-10.4239 11.2996 10.8185
+-11.3231 10.7404 10.8041
+-12.1982 10.9808 11.2628
+-11.992 11.624 10.6102
+-12.9867 11.8279 10.4976
+-13.1912 12.4494 9.83758
+-12.8578 12.1833 8.91052
+-11.9216 12.0799 9.1765
+-11.9463 11.097 9.14009
+-12.5984 10.4129 9.49229
+-12.8375 10.0412 10.4131
+-11.8179 9.98614 10.1741
+-11.1639 9.65139 9.41039
+-10.837 8.71439 9.36759
+-11.1589 7.74809 9.0863
+-12.1579 7.96713 9.22428
+-11.8695 7.88005 8.28571
+-11.1597 7.28984 7.79508
+-10.5411 7.89865 7.35078
+-10.1158 7.64266 8.29519
+-9.97184 6.99227 9.01332
+-9.06727 6.68901 9.32356
+-8.5644 6.96219 10.1706
+-8.5637 5.92967 10.1221
+-8.46588 5.65961 11.0521
+-8.98366 4.95696 10.5783
+-9.79828 4.52449 10.297
+-10.6292 4.92354 10.6273
+-10.2768 5.75586 10.0816
+-10.5825 5.43513 9.17456
+-11.4547 4.97996 9.29558
+-11.3104 4.03905 9.01654
+-11.6262 4.48819 8.17471
+-12.6485 4.31601 8.31302
+-13.045 4.84579 7.59517
+-13.3186 5.76796 7.78117
+-13.9159 5.23765 8.4153
+-14.5389 4.58841 8.88079
+-15.0265 5.43951 8.83734
+-14.5364 6.17146 8.338
+-14.3918 6.21084 7.31039
+-14.1634 6.36404 6.39368
+-14.6739 5.73099 5.80543
+-15.2847 5.14738 5.22985
+-15.6926 4.34405 4.90062
+-15.7585 5.0093 4.18366
+-15.5031 4.01591 3.89373
+-16.1272 3.77777 3.1988
+-16.4634 2.82813 3.1113
+-17.3157 3.01116 2.64126
+-17.6723 3.86891 2.33719
+-18.0409 3.3833 1.53222
+-18.2165 2.88017 0.7361461
+-17.7357 2.0963 0.2453051
+-16.7372 1.83455 0.2045991
+-16.913 2.81088 -0.1856809
+-16.7582 3.12696 -1.1201
+-15.9276 3.37958 -0.6253209
+-15.6897 3.02213 0.2853951
+-15.3035 2.07581 0.4431411
+-14.3681 2.28554 0.1505561
+-14.2132 1.65168 -0.6012719
+-14.1456 0.6139589 -0.7033069
+-14.9476 0.3851959 -0.2966519
+-14.9304 0.9993829 0.4873221
+-15.8009 1.01347 0.9975961
+-14.9195 0.9405769 1.40845
+-15.5823 0.9411189 2.21365
+-15.9164 1.19222 3.20517
+-15.5115 0.8742359 3.95977
+-15.8877 1.40779 4.74973
+-16.4428 1.36976 5.63769
+-16.4298 0.5734729 6.16709
+-16.184 -0.3402871 6.18573
+-16.1932 0.1013339 5.26551
+-16.7967 0.2425449 4.45964
+-17.1429 -0.7417671 4.54086
+-17.4037 -1.02883 3.61758
+-17.492 -1.94334 3.24891
+-17.9636 -2.31334 2.41669
+-18.8062 -1.96075 2.70663
+-19.677 -1.41924 2.57433
+-18.8454 -0.8433801 2.72582
+-19.542 -0.1429751 2.9508
+-18.6644 0.1049059 3.41709
+-17.8275 0.6973629 3.72347
+-18.0774 1.67127 3.58641
+-18.8037 1.66641 4.32622
+-18.1919 1.99438 5.03676
+-18.8035 1.28023 5.42442
+-19.795 1.5297 5.50707
+-20.4929 1.43578 6.11578
+-21.1094 2.12254 5.77178
+-21.7258 2.03652 6.58769
+-21.1802 1.4012 7.0708
+-20.7785 1.63918 7.92788
+-20.3834 0.7471979 8.00737
+-21.3151 0.3441479 7.92243
+-20.9722 0.1772349 8.83804
+-20.8551 0.8378309 9.57737
+-21.7451 0.6685049 9.91822
+-22.2344 1.00464 9.14864
+-22.0374 1.98432 9.12114
+-22.7204 2.14435 8.45576
+-23.1886 2.2542 7.46494
+-23.9576 1.70007 7.8585
+-24.1455 2.59411 8.28077
+-24.7304 2.15813 8.86213
+-25.1769 2.2918 9.80419
+-24.4549 1.85282 10.3922
+-24.3285 2.69548 10.7831
+-23.3499 2.51133 11.0813
+-22.5664 3.10964 10.78
+-22.3368 3.38533 9.87491
+-23.2836 3.88289 9.82612
+-24.1449 4.07483 9.38539
+-24.9055 4.61902 8.98251
+-25.5013 5.42584 8.98782
+-25.631 5.19946 8.01619
+-24.6605 4.86676 7.70353
+-23.8525 4.31714 7.4083
+-22.9661 4.24454 7.07742
+-22.7094 4.43687 8.05281
+-22.9206 4.94653 8.89688
+-23.8284 4.93664 8.59372
+-24.3819 5.7347 8.9128
+-23.6262 6.18228 9.39338
+-24.1193 6.98848 9.33498
+-24.2053 7.94083 9.05715
+-23.5087 7.46045 8.43986
+-23.2834 8.42186 8.63737
+-22.4341 8.89123 8.41329
+-22.2178 9.82719 8.46512
+-21.8106 9.43343 7.69509
+-20.894 9.55573 7.30492
+-20.0654 8.93305 7.34534
+-19.265 9.2212 7.67301
+-18.3816 9.44673 8.08812
+-17.731 9.01057 7.45689
+-17.0426 9.6192 7.17253
+-17.8298 9.79194 6.55086
+-17.7975 10.4472 7.3119
+-17.5255 10.7146 8.25237
+-17.5148 10.6378 9.17237
+-18.0964 10.7002 9.99016
+-18.3907 10.025 9.30533
+-17.8138 9.57765 9.97503
+-18.1396 8.75761 10.448
+-19.0531 8.78066 10.2435
+-20.0016 9.12187 10.0988
+-20.9569 8.94695 10.1869
+-21.2294 8.0352 9.98872
+-21.2522 7.04759 10.3436
+-21.9704 6.9235 9.67152
+-21.424 6.12567 9.42417
+-20.6913 5.48032 9.16043
+-20.1316 6.24326 9.07872
+-19.1846 5.76322 9.07801
+-18.3793 6.30126 8.81004
+-18.3877 6.48004 7.85202
+-17.624 7.14808 7.66342
+-17.3135 7.04684 8.60807
+-16.791 6.77513 9.38353
+-16.7177 5.82704 9.14941
+-15.8721 5.61947 9.71921
+-16.3782 5.68636 10.6139
+-17.092 6.38617 10.4225
+-17.5443 6.01977 11.3014
+-17.4926 7.01393 11.5026
+-16.7948 7.54734 11.9959
+-16.1046 8.08924 11.4435
+-15.7626 8.46777 12.2784
+-15.451 9.34608 12.7352
+-14.5988 8.9751 12.4451
+-13.7541 9.33552 12.8393
+-12.8093 9.43466 12.7085
+-11.8455 9.60099 12.9044
+-12.151 10.3416 13.5544
+-12.6952 11.1258 13.6531
+-13.3494 10.9226 12.9499
+-14.1793 10.2769 12.8838
+-14.9149 10.6537 13.535
+-15.7255 11.0605 13.8447
+-16.011 10.7479 14.704
+-16.5302 10.193 15.3665
+-16.7084 9.57036 14.6131
+-16.3208 9.14181 13.7861
+-16.183 9.93505 13.1251
+-16.1441 9.83574 12.0746
+-16.4508 10.7008 12.4501
+-15.6069 11.0145 12.0189
+-14.8987 11.5184 11.6545
+-15.7185 12.006 11.3271
+-15.938 11.8136 10.3686
+-16.8683 12.104 10.5214
+-16.8324 11.951 11.529
+-17.5017 12.5844 11.9231
+-17.2066 13.284 12.6174
+-17.7894 13.3066 13.4123
+-18.4096 13.2529 12.5747
+-18.7857 12.799 11.7594
+-19.4022 12.9778 11.0081
+-19.256 13.0572 9.98591
+-18.9843 13.9964 10.1475
+-19.424 14.5778 10.7953
+-18.6411 13.9838 11.1966
+-17.8826 13.4844 10.7573
+-17.4838 14.1388 10.0833
+-17.8797 14.9957 9.87011
+-18.4656 14.8126 9.0389
+-17.708 14.89 8.34478
+-17.0876 14.5853 7.58974
+-16.9398 13.7786 6.90326
+-17.7986 13.4707 6.46897
+-17.984 14.0686 5.6947
+-18.8587 13.7561 6.15374
+-19.7151 13.525 6.58214
+-20.549 13.998 6.78496
+-20.128 14.6763 6.09772
+-20.6034 14.3541 5.36744
+-20.6517 14.9447 4.59836
+-20.8325 13.989 4.30592
+-20.6443 13.286 3.54381
+-20.6099 12.2927 3.83175
+-20.3392 11.3376 3.95222
+-20.8127 11.4973 3.06679
+-21.1908 10.5753 2.98861
+-20.6391 10.3568 2.25131
+-19.9263 10.1488 1.51188
+-19.9415 9.25403 1.85054
+-20.1778 8.32909 2.31379
+-19.1781 8.5781 2.44287
+-18.2118 8.89288 2.19981
+-18.189 8.18421 1.54535
+-17.2635 7.73017 1.58547
+-16.2463 7.6142 1.91922
+-15.5176 7.76538 2.56686
+-15.3397 8.59926 3.15022
+-15.8387 8.99711 2.40566
+-16.4118 9.66885 2.10903
+-17.1142 10.3377 2.45246
+-17.3022 10.7597 3.34678
+-16.5022 10.774 3.88684
+-17.1771 10.3029 4.53561
+-18.0962 9.89471 4.39263
+-18.486 9.33381 5.04918
+-18.5809 8.28918 5.03958
+-19.5188 8.6987 4.76335
+-19.4279 9.28357 5.59085
+-20.2121 8.82827 6.06637
+-20.379 9.78455 6.03393
+-21.3931 10.0218 5.82224
+-21.5361 9.80027 4.87176
+-22.1762 8.96009 4.77926
+-22.8106 8.64893 5.44921
+-23.0546 7.9394 4.70827
+-23.9556 8.14012 5.03945
+-24.019 7.36455 4.30359
+-23.5155 6.69216 4.80071
+-22.5853 6.72563 5.16006
+-22.0262 6.14553 5.73502
+-22.3174 5.1675 5.73996
+-22.7515 4.86146 4.85073
+-23.1434 5.34025 4.09166
+-22.1286 5.32383 4.17827
+-22.1876 4.40554 3.74044
+-22.8822 3.74534 3.47025
+-23.4825 3.07868 3.14208
+-22.6275 2.6008 3.21842
+-21.7224 2.17732 3.08397
+-21.5842 2.70189 2.29208
+-22.165 1.92888 2.03428
+-22.4924 1.50822 2.84415
+-21.8621 1.0041 3.45336
+-21.1759 0.2799409 3.28811
+-21.0304 0.2124569 2.27987
+-21.3837 1.16093 1.96968
+-22.2112 0.5795699 1.80891
+-23.0982 0.1978249 2.00713
+-24.1497 0.3661199 1.93656
+-23.6551 1.1789 2.34114
+-24.555 1.43592 2.12021
+-23.9178 2.04451 2.5067
+-24.8894 2.4385 2.52078
+-25.8899 2.73038 2.58456
+-26.6693 2.16676 2.80186
+-27.073 2.81954 2.13128
+-26.9129 3.3228 2.99943
+-27.3178 3.50801 3.92297
+-27.2207 2.63251 4.37337
+-26.229 2.35594 4.22659
+-26.3975 2.64501 5.29685
+-26.8708 3.21998 5.94523
+-25.9895 3.55013 5.96744
+-25.5536 3.71375 6.84865
+-24.6839 4.2482 6.75215
+-23.8419 3.83795 6.39327
+-23.7753 2.98498 6.97288
+-24.6835 2.61338 6.88265
+-25.4888 2.26979 7.40431
+-25.2094 1.36746 7.67867
+-25.6337 0.4587559 7.83589
+-26.1738 -0.2643041 7.44691
+-26.661 -0.002927916 6.62758
+-27.0067 -0.4739781 5.929
+-26.4206 -1.19371 6.24662
+-26.8951 -1.65527 5.47457
+-27.2878 -2.57816 5.19238
+-26.9049 -2.91502 4.4399
+-27.5745 -3.65088 4.63716
+-27.7888 -4.4724 5.2032
+-27.622 -5.39409 5.63329
+-27.3587 -6.17373 6.09738
+-26.5949 -6.13382 6.70862
+-25.913 -6.51277 7.31244
+-25.8241 -5.54823 7.14249
+-25.3221 -5.19484 7.95659
+-24.8095 -4.78294 7.19599
+-24.7227 -3.80322 7.55181
+-25.1905 -2.95663 7.43491
+-25.0433 -1.91334 7.35149
+-25.1718 -1.71685 8.40801
+-25.7352 -1.68866 9.12552
+-26.7156 -1.52124 9.39455
+-26.6334 -1.50479 8.44095
+-27.3795 -1.96952 8.09198
+-28.3869 -2.14528 8.23809
+-28.9592 -2.93868 8.14789
+-28.6778 -3.58252 7.4632
+-28.6849 -4.54608 7.63074
+-28.2698 -4.49694 8.54397
+-28.7294 -5.39869 8.29093
+-27.815 -5.46194 8.71017
+-28.4464 -5.74467 9.44507
+-28.5756 -6.39893 10.2765
+-27.695 -6.56968 10.7968
+-26.9222 -6.74896 10.2126
+-26.0672 -6.18078 10.3836
+-25.5458 -5.71525 11.1128
+-26.3116 -5.00214 11.0959
+-26.9211 -4.47307 10.5559
+-27.8409 -4.66015 10.9436
+-28.7333 -4.47199 10.3964
+-29.6235 -4.09016 10.6213
+-29.6489 -3.60498 11.4264
+-29.2607 -4.07263 12.1852
+-29.6919 -4.89626 12.5819
+-29.5036 -5.93351 12.346
+-29.5514 -5.89086 13.4324
+-30.5406 -5.89542 13.4369
+-30.6046 -6.88492 13.2592
+-30.5874 -7.81331 12.8694
+-29.8998 -7.59022 13.552
+-29.5483 -7.04016 14.3898
+-29.0501 -6.68898 15.1997
+-28.6048 -6.07493 15.852
+-27.9426 -5.2967 16.0139
+-27.6255 -6.03937 16.5874
+-26.932 -5.99301 15.8604
+-26.2152 -6.50559 16.2546
+-25.8946 -5.56365 16.1367
+-26.1557 -4.94182 16.8582
+-26.6813 -5.17347 17.6412
+-26.3552 -4.87469 18.5749
+-26.4466 -4.87485 19.5439
+-26.426 -3.99058 20.1414
+-25.3924 -3.78557 20.095
+-25.737 -3.56701 19.1945
+-26.4127 -2.88894 19.1771
+-25.8383 -2.3688 19.9157
+-25.6628 -1.96139 19.0106
+-26.1634 -1.26354 19.3518
+-25.7259 -0.9780581 18.467
+-25.4726 -1.36614 17.549
+-25.5181 -1.03141 16.6284
+-26.0615 -1.18691 15.8425
+-26.7691 -0.6453001 15.3685
+-27.1294 0.3092749 15.3441
+-26.175 0.1346859 15.0941
+-25.9244 0.8306779 14.4312
+-26.2439 1.76041 14.5625
+-25.2909 1.88427 14.7343
+-25.7226 2.79308 14.4321
+-26.7024 3.07729 14.3015
+-27.1107 2.78929 15.1246
+-26.8287 3.42657 15.8962
+-26.7458 3.89007 16.7561
+-27.5244 3.34692 17.0329
+-27.3048 2.7958 17.7646
+-27.8155 2.04417 17.4256
+-28.0311 1.24354 16.9189
+-27.8608 0.3248159 17.381
+-26.9659 0.6720039 17.1127
+-26.0145 0.3812559 17.295
+-25.4984 1.0873 17.8029
+-25.9629 0.7850579 18.6848
+-25.5012 1.66542 18.6498
+-25.5098 1.96987 19.5741
+-26.3406 2.40596 20.0832
+-26.4778 3.08405 20.715
+-27.3261 3.33753 21.1002
+-27.6467 3.30042 20.1082
+-28.6334 3.23709 20.3253
+-28.9656 2.75438 19.5715
+-28.6018 1.94368 19.0667
+-28.5901 1.37771 19.8464
+-29.3769 1.28387 20.4473
+-29.9444 0.6443659 20.087
+-30.5315 0.6079549 19.2905
+-30.7536 1.37473 18.6587
+-30.7115 0.5954319 18.0366
+-31.032 0.2717729 17.1549
+-30.585 1.18309 16.9244
+-29.7137 1.3711 17.1544
+-30.0091 1.18551 16.2038
+-29.5971 1.66975 15.4238
+-29.8192 1.83544 14.4535
+-29.6197 1.14179 13.7434
+-29.9036 0.3976679 13.2225
+-30.6415 1.03978 13.1375
+-30.4247 0.6434279 12.3539
+-29.8227 0.9300449 11.5827
+-29.6146 1.18524 10.6353
+-29.2406 0.4148709 10.0241
+-29.1917 -0.5860941 9.85622
+-29.5733 -0.9123691 8.98424
+-30.2338 -0.1837881 9.1785
+-31.2422 -0.1645041 9.33978
+-32.0625 0.2955899 9.09603
+-32.3144 0.02087193 10.0355
+-32.6589 0.05482133 11.0179
+-33.5811 -0.2577951 10.9777
+-33.5369 -1.20973 11.0289
+-34.3822 -0.8621801 10.6339
+-34.4271 -0.1483141 9.92666
+-34.5935 -1.11388 9.75276
+-35.5686 -0.7767251 9.61908
+-35.9287 -0.7006961 10.5651
+-36.0204 -1.07848 11.4621
+-35.6144 -0.5265201 12.2236
+-35.1228 0.2258789 12.5105
+-34.6471 0.8125789 13.1486
+-33.6877 1.10518 13.3468
+-33.4504 0.3123529 12.8487
+-32.9189 -0.1629371 12.1558
+-32.3695 -0.8340281 12.6936
+-31.9384 -1.2792 13.5926
+-32.2016 -2.1487 13.0573
+-31.8808 -3.05301 13.3475
+-32.088 -3.34308 14.1983
+-32.2819 -4.19825 14.6467
+-32.2157 -4.9378 15.3663
+-32.1769 -4.2263 16.0915
+-31.4863 -4.78034 16.5957
+-31.0919 -5.67472 16.9641
+-31.7465 -6.39528 17.3529
+-30.8769 -6.64758 17.8482
+-30.3276 -7.45781 17.6335
+-29.3745 -7.41106 17.2507
+-28.7972 -7.77078 17.9453
+-29.4418 -7.11485 18.2928
+-29.2917 -6.61958 19.1649
+-28.5758 -7.27643 19.1616
+-28.0044 -8.10029 19.3007
+-27.2758 -8.75037 19.2871
+-26.6174 -8.04401 19.1936
+-26.1801 -8.95255 19.39
+-25.7653 -9.37365 18.6135
+-25.1379 -9.1714 17.907
+-25.1235 -8.42584 17.3577
+-24.7928 -9.06175 16.7351
+-24.9504 -10.0159 16.54
+-24.8699 -9.77813 15.6412
+-25.0956 -9.07198 14.9029
+-24.8203 -9.88053 14.3753
+-25.3639 -9.45066 13.6468
+-25.7938 -10.3574 13.7914
+-26.181 -9.60109 14.344
+-26.6214 -9.08793 15.0733
+-27.2731 -9.1365 15.8825
+-26.8726 -8.31058 15.6607
+-25.9779 -7.94232 15.4374
+-25.2731 -7.62731 14.7613
+-24.4756 -7.18516 14.487
+-24.4357 -6.45831 13.8776
+-25.2016 -6.7355 13.2178
+-25.4334 -5.90063 12.588
+-25.6407 -5.70514 13.643
+-25.5877 -5.43469 14.5828
+-25.3086 -4.56376 14.3085
+-24.9828 -4.45121 13.3622
+-25.5608 -3.85998 12.7932
+-26.4282 -4.13316 12.5627
+-26.5913 -3.22701 12.2309
+-26.594 -2.57208 12.9443
+-26.7012 -1.65764 13.3035
+-26.5448 -0.9621601 12.4862
+-26.318 -1.31883 11.5684
+-25.9956 -1.33097 10.5858
+-25.1867 -1.47943 11.1941
+-24.4411 -1.30972 11.9535
+-24.1108 -1.91808 11.2221
+-24.7178 -2.5368 10.7569
+-25.1267 -2.81965 11.5721
+-24.5432 -3.39903 12.2095
+-24.1356 -4.10669 11.6764
+-23.3814 -4.69434 11.4393
+-23.2924 -5.46786 10.8707
+-23.0496 -5.89221 9.97981
+-23.0862 -5.15294 9.27277
+-22.5623 -5.65117 8.5702
+-23.3728 -5.21873 8.18617
+-23.0198 -4.37009 7.6553
+-22.8381 -4.76251 6.71531
+-22.4025 -5.6544 6.88766
+-21.8221 -6.45513 7.243
+-21.4399 -6.59555 8.18776
+-22.1237 -7.14151 8.58826
+-21.8435 -6.77451 9.50511
+-21.2562 -7.56791 9.7564
+-20.5894 -6.89216 9.59344
+-20.3391 -6.22386 10.2844
+-21.0593 -6.43292 10.9253
+-20.9335 -5.79832 11.6809
+-20.8546 -4.91165 11.3315
+-21.1234 -4.60186 12.2539
+-21.0476 -3.60482 11.9846
+-22.0568 -3.72156 12.0656
+-22.4229 -2.82583 11.736
+-23.0751 -2.32674 12.3562
+-23.0196 -1.62668 11.6531
+-22.5608 -1.46798 10.7824
+-21.6715 -1.09373 10.4522
+-21.9586 -1.86487 9.92097
+-22.1036 -1.50299 8.96405
+-23.008 -1.81229 8.835
+-23.7661 -2.40563 8.67985
+-24.1793 -3.41455 8.76174
+-23.5123 -3.5909 9.4388
+-23.0986 -3.65306 10.3602
+-22.4397 -3.07975 9.9437
+-21.5916 -2.8296 9.34811
+-20.6621 -3.15761 9.29913
+-19.9371 -2.50022 9.01235
+-20.0823 -2.05663 9.89497
+-19.9478 -1.2457 9.36902
+-20.3781 -0.3988081 9.59321
+-20.669 -0.5058181 10.6278
+-20.7362 -1.21023 11.3537
+-20.9524 -1.95235 12.0299
+-20.917 -2.31427 11.0806
+-20.2164 -3.12942 11.0688
+-19.333 -2.81914 10.6488
+-18.3306 -2.4761 10.8219
+-18.5234 -3.33856 11.3669
+-18.0789 -4.18241 11.7876
+-18.2974 -5.13544 11.6135
+-18.9086 -5.65157 12.2542
+-19.7744 -5.88956 12.7234
+-20.214 -5.43267 13.4804
+-21.1858 -5.07583 13.5286
+-21.9615 -4.97327 14.2053
+-21.2514 -4.36003 14.6096
+-20.8825 -3.51733 14.24
+-21.5032 -2.73668 14.1229
+-21.3228 -1.75946 14.0414
+-22.2305 -1.71753 14.0759
+-22.1674 -0.7294791 14.37
+-22.0211 -1.13287 15.2912
+-22.3259 -0.1691421 15.1527
+-22.0435 0.7877679 15.4526
+-22.3099 1.59379 14.923
+-22.9086 2.14088 15.5381
+-23.4327 2.19119 14.7137
+-22.7349 1.81394 14.0991
+-22.6901 1.57563 13.0961
+-23.4556 1.34372 12.395
+-23.3723 1.18505 11.4991
+-24.0724 0.5088469 11.8057
+-25.0408 0.4713649 11.4617
+-25.1557 -0.09699677 10.6388
+-25.02 -0.1401261 9.68332
+-25.6469 0.6376149 9.80482
+-26.5643 0.4899109 9.95259
+-26.7515 1.48182 10.0958
+-26.9032 1.8316 9.17495
+-26.5597 2.40939 8.51712
+-26.8924 3.35555 8.42586
+-27.7733 3.52738 8.79957
+-28.3822 4.28917 9.00815
+-28.6496 5.2499 8.82537
+-29.6425 4.95198 8.8216
+-30.4606 5.61892 8.98038
+-30.1607 6.49139 9.39425
+-30.4715 7.38861 9.15895
+-29.4783 7.2489 9.21563
+-29.839 7.62772 8.36497
+-29.5285 8.60337 8.43811
+-29.1279 8.85688 7.47968
+-28.8618 8.38022 6.66563
+-29.4202 7.62422 6.4091
+-29.9015 7.98832 7.17886
+-30.5979 8.20259 6.56177
+-30.0707 8.87246 5.94509
+-30.2015 9.1251 4.99271
+-30.7867 8.36685 5.0261
+-31.2618 7.47672 4.78821
+-30.5924 6.9089 5.31942
+-29.9046 7.19666 4.60303
+-29.449 7.11285 3.73079
+-28.5334 6.73935 3.78008
+-27.6569 6.55922 3.17472
+-27.3774 7.52569 2.93154
+-27.5228 8.2953 3.62326
+-27.6777 8.93256 4.31182
+-27.1814 9.84019 4.38613
+-27.0152 9.60859 3.44533
+-26.3463 8.95344 3.11016
+-25.6799 8.27405 2.90184
+-25.7444 7.55789 3.56676
+-26.3772 6.86647 3.51086
+-26.3306 6.46957 2.56274
+-26.0678 7.10853 1.85843
+-25.3259 6.60063 1.42614
+-24.674 6.87871 2.18589
+-24.354 6.083 1.6884
+-23.5238 5.64476 1.49169
+-23.1774 6.50247 1.9926
+-23.2332 5.91862 2.80852
+-22.3693 5.68014 3.01948
+-22.5636 6.50465 3.49103
+-22.291 7.30925 2.90422
+-21.6475 7.14927 3.67409
+-21.0724 7.29506 2.86575
+-20.8297 6.32276 2.94965
+-20.4663 6.84285 3.74954
+-20.0391 7.61978 3.45209
+-19.2188 7.04228 3.30296
+-18.7128 7.40049 2.52101
+-19.2925 7.05546 1.86764
+-20.017 7.28315 1.12108
+-19.5185 6.9241 0.3487671
+-19.3133 6.15189 0.9070231
+-19.12 5.12737 0.8892201
+-18.3041 5.34847 0.5083491
+-17.6825 6.1404 0.2806821
+-17.0173 6.88321 0.3004321
+-16.0731 6.93146 0.3805461
+-15.2503 6.97544 -0.09340078
+-14.2809 7.28241 -0.1451879
+-14.387 8.00765 -0.8039309
+-13.7467 8.73298 -0.8390829
+-13.9077 9.42991 -1.53027
+-12.9481 9.31915 -1.16294
+-12.7976 8.69424 -2.00782
+-12.6919 7.82858 -1.48348
+-11.8145 7.60694 -1.95208
+-12.1959 7.58755 -2.93171
+-12.2179 6.78221 -3.49398
+-12.1477 5.75598 -3.39928
+-11.5753 5.39412 -4.13109
+-11.026 5.04966 -3.31778
+-10.3764 4.99756 -2.62078
+-9.99884 4.72605 -1.81986
+-10.1489 4.85244 -0.8291499
+-10.8322 5.5111 -0.5173629
+-10.4136 6.04495 -1.2101
+-10.8189 5.96071 -2.10283
+-9.99905 6.37485 -2.52359
+-10.2281 7.32643 -2.3023
+-10.8462 8.05843 -2.0083
+-10.4431 8.86394 -2.46212
+-10.5238 9.85859 -2.67218
+-10.573 10.2239 -3.58413
+-11.1936 9.44463 -3.68638
+-11.8969 8.8309 -4.03931
+-11.5148 8.57704 -4.95341
+-10.7034 8.39303 -4.4113
+-11.1362 7.59297 -4.70944
+-11.4201 6.65187 -5.10396
+-11.5737 7.43668 -5.68176
+-11.7163 7.71046 -6.58638
+-11.9643 6.9971 -7.19448
+-11.6017 6.08987 -7.32509
+-12.0146 6.09939 -8.23126
+-12.1436 5.76275 -9.24258
+-11.2345 6.24773 -9.19245
+-10.7806 6.60431 -9.98494
+-10.7353 7.31581 -9.29093
+-10.682 8.01087 -8.6196
+-9.91061 8.16822 -9.17815
+-9.4224 7.82109 -8.36584
+-8.97017 8.65965 -8.0773
+-9.17949 9.32574 -7.448
+-9.41558 9.5921 -6.50229
+-8.45853 9.65419 -6.22249
+-8.21816 9.30679 -5.33379
+-9.12762 9.82034 -5.30476
+-8.9603 9.46731 -4.39415
+-9.30718 9.92934 -3.55473
+-9.07754 9.45559 -2.70166
+-8.33858 8.83144 -2.84237
+-8.99419 8.19712 -3.29516
+-9.5087 7.95641 -4.12814
+-10.0324 7.43393 -4.83318
+-10.1041 6.72933 -5.50667
+-9.72162 5.75797 -5.44711
+-10.3026 5.33063 -6.06774
+-10.9271 5.05992 -5.25096
+-10.572 4.6707 -4.45718
+-11.232 4.05549 -3.81071
+-11.523 3.15866 -3.57359
+-11.7099 3.48213 -2.64392
+-12.6717 3.65958 -2.88172
+-12.8725 4.47958 -2.30565
+-12.4899 5.38334 -1.95287
+-13.0053 5.73168 -1.09357
+-13.9061 5.21626 -1.34658
+-14.8517 5.19284 -0.9763229
+-15.4197 5.8456 -0.5109169
+-14.6106 6.31987 -0.8499519
+-15.0447 6.24913 -1.72514
+-15.4784 6.89131 -2.3545
+-15.3086 7.83123 -2.7843
+-15.6989 7.37366 -3.53719
+-15.5233 6.48981 -3.96339
+-14.9225 6.60173 -4.74889
+-13.9844 6.616 -4.59388
+-13.1216 6.86571 -5.13909
+-13.4635 7.81867 -5.1507
+-13.3419 7.40184 -4.31827
+-13.4263 6.67262 -3.61472
+-13.4004 5.62871 -3.86149
+-14.1281 5.40602 -4.4228
+-14.1154 4.8013 -5.19037
+-15.0817 4.84439 -5.41049
+-15.2717 5.73521 -5.79179
+-16.1499 6.05564 -6.16595
+-16.4682 7.04597 -6.32428
+-16.9302 7.60502 -5.6828
+-16.7302 8.48559 -5.46507
+-16.6885 9.4595 -5.64372
+-17.6839 9.73689 -5.42704
+-18.5986 9.95378 -5.85043
+-19.0719 9.57111 -5.00026
+-18.8877 9.83801 -4.0256
+-19.513 10.6138 -3.80188
+-20.5051 10.6743 -4.01591
+-21.1561 9.86307 -4.00896
+-21.1519 8.81741 -3.94878
+-20.2235 9.21195 -3.89795
+-19.3659 8.88726 -3.47903
+-18.8006 8.23273 -4.00827
+-19.3687 7.9456 -4.731
+-19.2728 6.95202 -4.7615
+-19.5983 6.10917 -4.32602
+-20.2171 5.8745 -5.006
+-19.6539 5.08108 -4.9063
+-18.9857 4.38213 -5.23773
+-18.1075 4.75558 -4.92255
+-18.4641 4.84977 -3.98064
+-18.6762 3.87172 -3.79692
+-18.6936 3.19802 -3.04861
+-19.5227 3.79903 -2.98037
+-19.5678 4.41394 -3.80523
+-20.3094 4.35352 -4.41732
+-20.0781 3.53678 -4.98257
+-19.6286 2.67122 -5.3583
+-19.1439 2.1681 -4.5849
+-18.2724 1.59576 -4.7822
+-18.6027 1.32736 -3.92941
+-19.1592 1.24493 -3.06267
+-19.3896 0.3918949 -3.52466
+-20.197 -0.1223351 -3.90723
+-20.7291 0.3309289 -4.60034
+-19.8374 0.4542819 -5.07212
+-19.8426 -0.5311451 -4.83943
+-20.8073 -0.7432431 -5.10712
+-20.8311 -0.1517291 -5.91389
+-21.7451 -0.5019971 -6.32989
+-21.5395 -1.47848 -6.30417
+-22.46 -1.31902 -5.96875
+-23.3597 -1.07899 -6.26087
+-23.5589 -1.99185 -6.35131
+-23.8154 -2.08836 -5.43432
+-23.0947 -2.77464 -5.67373
+-22.1498 -2.45761 -5.83004
+-21.2261 -2.9042 -5.63276
+-20.3115 -2.98593 -5.85292
+-20.3545 -3.7125 -6.56958
+-19.452 -3.26868 -6.45938
+-18.6563 -2.81125 -6.20628
+-18.7165 -1.89256 -6.66738
+-17.9805 -1.21646 -6.75457
+-17.4952 -0.3717351 -6.9934
+-18.1942 0.2106499 -7.45817
+-18.8957 0.8307839 -7.09259
+-18.2028 1.30242 -7.58214
+-18.3339 2.14608 -7.11048
+-17.9077 1.32662 -6.60519
+-17.3929 2.21233 -6.65665
+-17.2748 2.77727 -7.44567
+-16.9876 3.53021 -8.02394
+-16.1106 3.72551 -7.73011
+-15.5881 4.04524 -8.519
+-15.7128 4.76379 -9.20817
+-15.4165 5.51476 -8.63714
+-15.5077 5.88234 -7.73269
+-16.407 5.60722 -8.10002
+-17.2045 5.95662 -7.62466
+-17.9496 6.11831 -8.29189
+-18.6815 5.41541 -8.49745
+-19.2042 5.66753 -7.74727
+-19.7477 4.95403 -7.50318
+-19.8178 4.41262 -8.25808
+-20.0241 3.80419 -9.03675
+-20.4819 4.63743 -9.00464
+-19.9207 5.45914 -9.25423
+-19.7921 6.37978 -8.85907
+-20.3507 7.14918 -8.73126
+-20.3127 8.10657 -8.52184
+-21.1233 8.20438 -7.89168
+-20.8153 8.87648 -7.21366
+-20.4778 7.99613 -6.94637
+-20.4482 7.49316 -6.10296
+-21.058 7.89083 -5.44367
+-21.5354 8.44194 -6.14296
+-22.4881 8.47635 -5.92487
+-22.7136 9.20825 -6.58032
+-23.0945 9.95473 -7.12956
+-23.7045 9.14438 -7.23641
+-23.6321 9.31128 -8.29303
+-24.4334 9.87863 -8.43637
+-24.3875 10.4852 -7.62894
+-24.805 11.1656 -8.1772
+-25.7983 11.3854 -8.00778
+-25.4015 12.2749 -8.1789
+-24.8728 12.1863 -9.04184
+-25.174 12.6379 -9.863
+-25.929 12.1036 -10.3058
+-26.6911 11.4667 -10.2268
+-26.2995 10.5914 -10.5764
+-25.9527 10.5517 -9.60666
+-25.0238 10.7722 -9.78144
+-24.5026 10.6294 -10.6642
+-24.907 11.2179 -11.3722
+-24.8136 12.1902 -11.2656
+-24.318 12.8448 -10.7686
+-23.2926 12.9205 -10.7046
+-23.5386 12.5011 -9.85447
+-23.3961 11.6934 -10.4083
+-22.5949 11.7602 -9.75761
+-23.3465 11.1792 -9.39475
+-22.6368 10.4139 -9.17901
+-23.0775 9.5903 -9.40562
+-22.3863 9.23677 -8.76261
+-22.084 8.27614 -8.83622
+-21.3969 8.96469 -9.25081
+-20.4875 9.30637 -9.28358
+-19.8938 9.44747 -10.0615
+-18.9414 9.34533 -9.6246
+-18.4628 10.2351 -9.55128
+-17.7164 10.9549 -9.60271
+-16.9629 11.347 -9.09945
+-17.5345 12.2014 -9.2866
+-17.4949 12.4905 -8.33908
+-16.6387 12.4656 -7.77493
+-15.9646 12.0387 -7.23904
+-15.9506 11.1949 -6.65031
+-16.3122 10.4972 -7.25315
+-16.8471 9.73084 -6.93524
+-17.5557 10.25 -6.61611
+-17.9021 10.9991 -7.16127
+-18.7917 11.1719 -6.67434
+-18.6056 11.7968 -5.88554
+-17.8028 12.2446 -5.49451
+-17.0098 12.7118 -5.0387
+-16.107 12.2979 -4.95444
+-15.6959 11.9438 -4.10595
+-16.4418 12.3408 -3.53487
+-15.6307 12.9079 -3.50283
+-15.8986 13.6975 -4.02855
+-15.067 14.1614 -4.48553
+-15.2637 13.6706 -5.38181
+-14.829 13.2131 -6.20256
+-15.3153 12.4525 -5.88979
+-14.7749 11.6948 -5.40584
+-15.2776 10.9008 -5.06106
+-15.0973 10.0995 -5.56591
+-14.9843 10.5632 -6.41795
+-14.179 10.3675 -7.02502
+-13.3261 10.5878 -6.63335
+-12.6441 11.1266 -6.32804
+-12.8244 11.679 -5.50818
+-13.4707 12.3861 -5.07084
+-12.7579 12.3411 -4.42671
+-12.7696 11.5541 -3.80566
+-13.2534 10.9773 -4.45564
+-13.9531 10.7666 -5.06869
+-13.6843 9.96968 -5.61857
+-13.6596 9.00316 -5.91481
+-14.6007 8.80708 -5.83626
+-15.5779 8.71023 -6.06432
+-15.2 9.33495 -6.80079
+-15.462 8.3841 -7.10268
+-14.8532 7.9097 -7.79004
+-14.3834 7.69091 -6.86761
+-15.0428 6.93855 -6.85699
+-14.3667 6.37514 -7.23178
+-14.2355 5.42794 -7.12098
+-13.3347 4.95422 -7.26355
+-13.3137 4.34339 -8.14099
+-13.1848 4.01897 -9.10932
+-13.2269 3.04417 -8.93466
+-13.176 2.08737 -8.58898
+-12.7201 2.7952 -8.01062
+-12.9957 1.94764 -7.60114
+-12.6957 1.34224 -6.80831
+-13.0986 1.86618 -6.14069
+-12.7098 2.82953 -6.48367
+-11.8794 2.94885 -6.04148
+-11.1762 3.3857 -6.62258
+-10.4282 4.03399 -6.41549
+-9.49174 4.21107 -6.71154
+-9.0332 4.23622 -7.55147
+-8.86703 4.85123 -8.30278
+-7.90794 5.25144 -8.33654
+-7.24138 4.82035 -8.94138
+-7.81053 4.02614 -8.89511
+-8.18457 3.08894 -9.15466
+-7.42925 3.3879 -9.77915
+-6.89185 3.38358 -8.93517
+-5.94623 3.5893 -8.74905
+-5.78587 4.23851 -7.97279
+-6.26167 3.5626 -7.44097
+-6.19006 3.27009 -6.42184
+-6.76573 2.4857 -6.04426
+-7.06767 3.08365 -5.36044
+-6.46502 2.81042 -4.59868
+-6.72946 2.46806 -3.73044
+-6.81441 1.50719 -4.11158
+-7.41403 1.55898 -4.95001
+-7.60858 1.1741 -5.81483
+-8.15298 2.01416 -5.65738
+-8.32222 2.35061 -4.81961
+-7.78286 3.19303 -4.63598
+-7.41137 4.07246 -4.86739
+-7.96127 4.73726 -4.54939
+-8.72482 4.73233 -5.17417
+-9.55905 4.28055 -4.92535
+-9.41737 5.00148 -4.28272
+-8.66152 5.61794 -4.03895
+-8.65811 6.61591 -3.82767
+-8.16763 7.27356 -3.21333
+-8.49703 7.29976 -2.33935
+-7.56766 7.28921 -2.07419
+-7.24899 8.10509 -1.49993
+-7.29901 8.82218 -0.8172299
+-7.22757 9.58276 -0.2351349
+-7.75972 10.2704 0.3407071
+-8.39822 9.8774 1.02347
+-7.77825 9.43214 1.67385
+-7.63851 8.55739 1.2645
+-8.55409 8.40194 1.49906
+-9.54712 8.29805 1.27062
+-9.48876 8.30276 0.2935551
+-9.54763 7.32849 0.1585261
+-9.15259 6.72385 -0.5299689
+-9.12374 5.68915 -0.5333089
+-8.09509 5.87984 -0.6329369
+-7.16409 6.14663 -0.8649879
+-7.14394 5.9342 0.1448351
+-7.30989 5.50204 0.9595921
+-7.30882 5.40363 1.96032
+-7.83346 4.75494 1.41691
+-8.31249 4.63033 2.26168
+-8.70018 5.45677 1.88069
+-9.39198 4.82683 1.5159
+-10.2497 4.40521 1.48668
+-10.2421 3.60649 0.9856751
+-10.1543 3.35928 1.8981
+-10.9459 2.79278 1.76277
+-11.7209 2.84382 1.17626
+-11.3249 3.23014 0.2801721
+-11.3316 3.8874 -0.4748329
+-10.6441 4.18692 0.1500721
+-11.43 4.27712 0.8062941
+-12.0001 4.59456 -0.03282558
+-12.4536 4.36807 -0.8914329
+-12.9656 3.52097 -1.2395
+-13.6665 3.77073 -1.95519
+-14.4875 4.00539 -2.39507
+-14.4788 3.12328 -2.81467
+-14.3877 3.63809 -3.71945
+-15.1304 4.19263 -4.03044
+-15.682 5.05209 -4.08885
+-16.3302 4.40658 -4.46787
+-16.4883 5.17977 -5.12836
+-17.3295 5.18545 -5.77468
+-17.8902 4.72852 -6.43217
+-17.4978 3.78816 -6.54906
+-17.5214 4.3233 -7.38828
+-18.3023 3.76164 -7.73416
+-18.8648 3.01798 -8.16287
+-19.1935 2.13466 -8.25581
+-19.0216 2.45282 -9.17873
+-18.3109 1.78565 -9.29458
+-17.5879 1.07993 -9.50118
+-17.1957 0.4337719 -10.1499
+-17.4094 -0.2813301 -9.49481
+-17.12 0.1725629 -8.69921
+-17.8142 -0.5341421 -8.44098
+-16.948 -0.7491441 -8.08392
+-16.726 -1.59539 -8.54765
+-16.3894 -2.43117 -8.11806
+-16.4664 -2.68833 -9.07415
+-17.161 -3.37969 -9.37019
+-17.2573 -3.63693 -10.2407
+-17.5699 -4.48494 -10.7465
+-18.0462 -5.24585 -10.2972
+-17.046 -5.36345 -10.1238
+-16.7919 -6.11464 -10.7784
+-15.768 -5.89248 -10.8483
+-14.8823 -5.45584 -10.6175
+-14.002 -5.85806 -10.778
+-14.6287 -6.6302 -10.9128
+-15.5864 -7.01671 -10.9074
+-15.6101 -6.77318 -11.8627
+-15.1765 -7.60365 -12.2757
+-16.0408 -8.00621 -12.2907
+-17.1017 -7.90177 -12.1747
+-17.237 -7.3157 -12.9705
+-17.3192 -6.8145 -12.1483
+-18.2605 -6.82124 -12.0673
+-18.1814 -7.70392 -12.5244
+-18.0131 -7.93409 -13.4833
+-18.1246 -7.9925 -14.3695
+-17.7641 -7.63038 -15.2641
+-18.416 -6.81336 -15.1016
+-18.793 -5.96586 -14.6921
+-18.8685 -5.31119 -15.4316
+-19.5514 -5.76792 -15.9477
+-19.617 -4.86232 -16.1876
+-20.2038 -4.38558 -16.9137
+-19.7246 -3.58536 -16.662
+-19.1114 -3.23296 -17.4619
+-18.3767 -3.85677 -17.7577
+-19.0424 -4.08823 -18.4836
+-19.0869 -4.32678 -19.4445
+-19.0292 -4.38935 -20.4728
+-19.6078 -4.51076 -21.3364
+-18.992 -4.9738 -21.9051
+-18.6579 -4.11071 -21.9686
+-17.9432 -4.45063 -22.6153
+-17.599 -4.74409 -23.5639
+-17.2532 -3.97686 -23.0387
+-16.7655 -3.12116 -23.0206
+-16.9809 -2.59668 -22.2243
+-16.2563 -2.51724 -21.5019
+-15.6278 -3.04796 -21.0019
+-15.9348 -3.03495 -20.0513
+-15.8446 -4.10863 -19.9915
+-14.9598 -3.84776 -19.7083
+-14.6766 -2.95459 -19.2593
+-14.7783 -2.15762 -19.7842
+-15.5933 -1.64263 -19.9579
+-15.651 -0.7080521 -20.0752
+-16.2167 -1.18483 -20.7433
+-16.5569 -0.3364211 -21.0875
+-17.1472 0.4057409 -21.2424
+-17.9906 0.1318169 -20.8425
+-18.6775 -0.4637851 -21.0886
+-18.7367 -1.44185 -20.9611
+-18.4745 -0.8322611 -20.2082
+-18.624 -0.1363201 -19.4956
+-19.248 0.7037379 -19.5028
+-18.7388 1.50873 -19.328
+-19.4803 1.68564 -18.7561
+-20.5044 1.59286 -18.7326
+-21.0812 0.8775759 -18.4469
+-20.5804 0.1627119 -18.9419
+-20.6042 -0.5437181 -19.6138
+-20.4984 -1.60833 -19.5088
+-19.8959 -1.34725 -20.3103
+-19.2489 -1.86451 -19.8101
+-19.8442 -2.68179 -19.9903
+-20.2627 -3.24886 -20.657
+-20.8206 -4.02545 -20.3054
+-21.5284 -4.34913 -20.9234
+-21.744 -5.30256 -21.2814
+-21.2637 -5.49298 -22.1912
+-20.9915 -6.22891 -21.6213
+-21.2326 -6.62476 -20.7031
+-20.4457 -6.48843 -20.1067
+-21.3012 -6.19876 -19.5073
+-20.7945 -6.82727 -18.9251
+-20.1509 -6.07596 -18.816
+-19.1103 -5.81893 -18.852
+-18.9732 -6.8106 -18.9741
+-19.3705 -6.80477 -19.8954
+-19.0736 -7.5246 -20.585
+-18.2613 -6.99293 -20.5625
+-17.6523 -6.42853 -20.0983
+-16.6682 -6.14715 -19.8434
+-16.2363 -5.27509 -20.1385
+-15.4526 -5.95183 -20.1411
+-15.6922 -6.92491 -20.3256
+-16.2187 -7.5523 -19.7738
+-16.3353 -8.45429 -20.1194
+-15.8048 -8.60722 -19.3075
+-16.0203 -8.95795 -18.4104
+-16.8407 -8.51878 -17.9814
+-17.5036 -7.9811 -18.462
+-17.496 -8.0029 -17.4706
+-17.4311 -7.07083 -17.9247
+-18.4112 -7.3029 -17.8965
+-19.3189 -7.63071 -18.0912
+-19.6758 -8.14119 -18.8633
+-20.1928 -8.83599 -19.2276
+-20.5362 -9.20437 -18.4003
+-20.1805 -9.13986 -17.4574
+-19.6885 -8.58674 -16.7814
+-18.8646 -9.23245 -16.8201
+-19.4287 -9.88693 -17.2959
+-19.9701 -10.1985 -18.1452
+-19.2643 -10.2044 -18.8829
+-18.2471 -10.3698 -18.7306
+-18.2607 -10.8714 -19.5212
+-17.349 -10.9621 -19.0757
+-17.1728 -10.5634 -18.2374
+-16.6719 -11.1398 -17.6331
+-15.8123 -11.2429 -17.1
+-15.7415 -10.9853 -16.1459
+-15.484 -11.6851 -15.438
+-14.8397 -11.2007 -14.8804
+-14.5464 -12.1573 -14.7748
+-14.0417 -12.7586 -14.1692
+-14.8255 -13.3139 -13.8861
+-15.0649 -13.0726 -12.9215
+-14.855 -12.0544 -13.0681
+-15.4749 -11.8212 -13.777
+-16.0516 -11.4088 -14.4742
+-15.7481 -10.627 -13.913
+-15.5705 -9.68453 -14.126
+-16.1726 -8.89964 -14.4031
+-16.2877 -9.02743 -13.4751
+-17.1869 -9.52963 -13.2164
+-17.9365 -10.1629 -12.9775
+-18.4047 -9.6677 -13.7014
+-18.9411 -9.50943 -12.9037
+-19.519 -9.88829 -12.166
+-19.7399 -10.7148 -12.7402
+-18.7289 -11.0874 -12.7754
+-18.6871 -11.3638 -13.72
+-19.3376 -12.1078 -13.5416
+-19.273 -12.7159 -12.8039
+-19.3146 -13.4692 -12.1574
+-19.6442 -14.2849 -12.7201
+-19.1709 -13.6961 -13.4347
+-19.4704 -13.5126 -14.3045
+-18.7866 -12.7799 -14.2901
+-18.9128 -12.538 -15.2347
+-19.7194 -11.9218 -15.5499
+-19.9831 -11.4333 -14.6918
+-20.613 -10.7654 -14.3199
+-21.154 -11.5483 -14.4957
+-21.6933 -11.096 -15.1568
+-22.5262 -10.5591 -15.0268
+-23.4114 -10.887 -15.4288
+-23.2281 -9.91541 -15.4572
+-22.6999 -9.16141 -15.8944
+-21.8371 -8.81149 -16.3126
+-21.5408 -8.08511 -15.6972
+-20.7441 -7.47828 -15.9343
+-19.8581 -7.46703 -15.4813
+-20.6733 -7.19067 -14.9009
+-20.7967 -6.22852 -14.7009
+-20.7077 -5.90648 -15.6517
+-21.4205 -6.09353 -16.361
+-21.8981 -6.54667 -15.7191
+-22.8655 -6.34797 -15.5698
+-22.6583 -6.70301 -14.6793
+-21.9507 -6.98463 -13.9696
+-21.9822 -7.96415 -14.3465
+-21.329 -8.16353 -13.6978
+-21.5021 -8.49353 -12.7555
+-21.3996 -8.9939 -11.9011
+-22.2397 -9.63093 -11.9988
+-21.4169 -10.1236 -11.7952
+-21.9706 -10.4008 -12.5368
+-22.704 -10.7317 -11.9997
+-22.6154 -10.889 -10.9681
+-22.7963 -11.4315 -10.0462
+-21.8905 -11.1696 -10.1984
+-21.4624 -10.6179 -9.50345
+-21.8774 -9.85874 -9.03791
+-21.5885 -10.1511 -8.1827
+-20.6214 -9.94133 -8.52348
+-19.7331 -9.66824 -8.24706
+-19.6182 -9.73862 -7.21172
+-20.6276 -9.68963 -6.88797
+-21.5595 -9.44883 -6.98547
+-22.321 -9.46369 -6.37868
+-22.0547 -9.14463 -5.43934
+-21.3056 -8.4327 -5.28123
+-21.2383 -7.67902 -4.65624
+-22.2536 -7.81655 -4.78297
+-22.6313 -7.02882 -5.30861
+-23.5355 -6.67441 -5.47654
+-23.0509 -6.39894 -6.3581
+-22.3575 -6.95432 -6.78931
+-23.1048 -6.82569 -7.40569
+-23.2714 -6.84595 -8.35925
+-22.4942 -7.42973 -8.40523
+-22.3994 -8.44993 -8.43815
+-21.4312 -8.85421 -8.50906
+-20.614 -8.47026 -8.87779
+-20.5102 -8.30614 -7.90502
+-20.737 -7.40812 -8.28047
+-20.6615 -7.2783 -9.26135
+-21.1854 -7.4988 -10.0818
+-22.1749 -7.44367 -10.1385
+-23.1307 -7.16925 -10.4427
+-23.3337 -8.15553 -10.3792
+-23.3214 -9.06716 -10.0132
+-22.9874 -9.00068 -9.09937
+-23.6518 -8.46115 -8.56621
+-24.6083 -8.33062 -8.71314
+-24.5775 -7.91479 -9.68922
+-25.5722 -7.97489 -9.72691
+-25.2321 -8.79316 -10.1483
+-25.3648 -8.14991 -10.93
+-25.5658 -7.31133 -11.4628
+-25.5347 -6.48646 -10.8568
+-26.3106 -7.05684 -10.5244
+-27.1367 -6.95092 -10.9095
+-28.1496 -6.81726 -10.6646
+-28.0746 -6.81552 -11.6432
+-28.9204 -6.85949 -12.2347
+-29.5158 -7.2523 -12.8443
+-28.9312 -7.97094 -13.0851
+-28.1701 -8.52727 -13.4394
+-28.5058 -8.79837 -14.3177
+-27.8614 -9.45037 -14.5719
+-27.3165 -8.70347 -14.7457
+-26.4687 -9.19666 -14.9029
+-25.7113 -9.8013 -14.9567
+-25.0643 -10.0408 -15.6758
+-25.9843 -10.3556 -16.0932
+-26.5471 -11.0352 -15.6051
+-27.021 -11.9086 -15.5411
+-26.4241 -11.7843 -14.7318
+-26.3814 -12.5812 -15.1366
+-26.3795 -12.964 -15.9997
+-27.2844 -13.4095 -15.7998
+-26.9271 -14.3325 -15.7698
+-26.8113 -15.2286 -15.3016
+-27.2849 -16.0883 -15.543
+-28.2021 -16.4883 -15.6375
+-28.9118 -15.8527 -15.9496
+-29.4905 -15.2836 -15.3033
+-30.1107 -15.2602 -14.5336
+-29.4673 -15.4286 -13.7832
+-30.1651 -16.0709 -13.5739
+-30.3851 -16.3978 -12.6314
+-31.1881 -15.853 -12.8245
+-30.7387 -15.434 -12.0495
+-30.337 -15.4006 -11.1233
+-29.3268 -15.5851 -11.1554
+-28.7961 -15.1826 -11.9621
+-29.2135 -14.4098 -12.5822
+-28.7026 -14.049 -11.7903
+-29.4718 -13.48 -12.1127
+-30.3263 -14.0433 -12.2379
+-31.0087 -13.3105 -12.562
+-31.6191 -13.3637 -11.8237
+-31.2445 -12.8141 -11.0915
+-31.5801 -11.8785 -11.3345
+-30.854 -11.3279 -11.0837
+-29.9775 -10.9221 -11.2704
+-29.6001 -10.0102 -11.1846
+-30.2067 -9.21227 -11.0269
+-29.6461 -8.63992 -11.5282
+-29.6166 -7.73654 -11.0927
+-29.7743 -6.80952 -10.7688
+-30.6488 -6.25998 -10.778
+-30.0154 -5.45339 -10.6363
+-29.3968 -5.19754 -9.86278
+-29.0682 -5.79428 -10.6034
+-28.5322 -4.99089 -11.0523
+-28.0498 -5.41028 -11.9037
+-28.1254 -4.4165 -11.9805
+-27.5696 -4.33426 -11.134
+-26.6569 -4.53009 -10.6749
+-26.7596 -3.51603 -10.5138
+-26.5177 -2.56203 -10.3385
+-26.2748 -2.24011 -9.46086
+-26.7587 -2.48875 -8.58775
+-26.8949 -1.6167 -8.91524
+-27.1001 -0.8727731 -8.26105
+-28.1074 -0.9495181 -8.52323
+-28.2406 -1.86336 -8.14695
+-29.1279 -1.81261 -7.73355
+-30.0412 -1.87763 -7.39229
+-30.0373 -1.7388 -6.4421
+-30.3653 -1.61133 -5.57153
+-30.0071 -1.9172 -4.68311
+-29.0639 -1.58439 -4.84869
+-29.1542 -0.6287571 -5.20699
+-29.2945 -1.31735 -5.92125
+-28.6951 -0.5709951 -6.29527
+-27.7625 -0.6045741 -5.95797
+-27.413 -1.32677 -5.32575
+-27.3992 -2.23503 -5.52083
+-28.2173 -2.67215 -4.96722
+-28.1936 -2.80461 -3.98196
+-28.1394 -2.86364 -2.98111
+-28.998 -2.21684 -3.113
+-28.9801 -1.242 -3.07789
+-29.2173 -0.3706141 -3.23703
+-29.8633 0.3819099 -3.15063
+-29.9937 1.08532 -3.89204
+-30.9831 0.8294419 -4.2029
+-31.265 1.46323 -3.45368
+-30.7796 1.99087 -2.73087
+-31.2593 2.55891 -3.41221
+-31.4322 2.98219 -4.3087
+-30.7454 2.85519 -4.96846
+-30.6785 1.85998 -5.16275
+-30.9227 1.4169 -6.02006
+-31.6726 1.76526 -6.55666
+-31.2014 1.66531 -7.40743
+-30.4989 2.27539 -7.55355
+-30.0193 2.82024 -6.87711
+-30.4914 2.96861 -6.00159
+-30.0943 3.84834 -5.80823
+-30.6935 4.0374 -6.61104
+-30.7213 4.58755 -7.46554
+-31.5334 5.04326 -7.2008
+-31.1986 5.99822 -6.85385
+-30.3724 6.58032 -7.15795
+-29.3241 6.71562 -7.03353
+-29.408 5.85247 -6.44407
+-30.3863 5.90785 -6.15416
+-30.6005 5.27053 -5.28232
+-29.6812 5.30733 -4.97177
+-29.0914 4.54776 -5.4126
+-29.0042 4.16937 -6.32179
+-28.1731 3.87765 -5.90747
+-27.7317 4.31836 -6.68478
+-27.1357 3.83249 -6.05319
+-27.1404 4.576 -5.42171
+-26.9549 5.35894 -4.83619
+-27.1806 5.66493 -3.87852
+-27.6136 6.5081 -4.13241
+-28.0098 7.12844 -3.52965
+-28.9461 6.82156 -3.27433
+-29.8856 6.99889 -3.12897
+-30.1669 6.13522 -3.59491
+-29.5307 5.33017 -3.27734
+-29.6611 5.03957 -2.37958
+-29.6776 4.34286 -1.72301
+-30.4161 4.74929 -1.17822
+-30.2437 4.5608 -0.2020719
+-30.4996 3.67256 0.2289931
+-31.4015 3.32453 -0.1085739
+-30.9705 2.40719 -0.2701209
+-31.0933 1.89655 0.5632351
+-30.9248 2.7794 0.9543811
+-30.2854 3.33134 1.45602
+-31.2458 3.30808 1.80708
+-31.7923 4.19225 1.65734
+-31.6637 3.99849 2.6438
+-32.4203 4.55891 2.36126
+-33.0296 5.21834 2.84718
+-33.7203 5.31557 2.09953
+-34.082 6.23692 2.01545
+-34.0994 6.96242 2.64027
+-34.4457 7.61008 1.90678
+-34.7105 8.57714 1.82871
+-34.0877 8.57656 2.65179
+-33.1361 8.84915 2.76592
+-32.6935 9.81024 2.84905
+-32.0533 9.89021 2.10025
+-31.2653 10.2474 1.46962
+-30.4456 10.7164 1.50993
+-30.2051 11.1495 0.6525131
+-29.3704 11.5622 0.3392291
+-29.0961 10.8239 1.00084
+-28.3957 11.1394 1.64397
+-28.0562 10.3644 1.16143
+-28.3535 9.57279 0.7101611
+-28.0068 9.21822 -0.07460388
+-27.4338 10.0198 -0.1065269
+-26.5419 9.91777 -0.5325629
+-25.691 9.62774 -0.9747849
+-26.2127 8.83648 -0.7282919
+-25.4684 8.13927 -0.9196469
+-26.0544 7.41042 -0.5711419
+-26.827 7.32799 -1.18345
+-27.3038 8.16727 -0.9387929
+-27.8678 7.84512 -1.68295
+-27.1304 7.59791 -2.31056
+-27.2293 6.70011 -1.90829
+-26.8836 6.26997 -1.16938
+-27.3018 6.18946 -0.2832759
+-28.037 5.51473 -0.5245249
+-28.6713 5.05802 0.01936942
+-28.0733 4.30539 -0.1666699
+-27.1442 4.61702 -0.3198909
+-26.636 3.80858 -0.6461129
+-25.8913 4.17893 -1.24135
+-25.0973 3.59859 -1.56521
+-24.1104 3.5199 -1.7993
+-23.2448 3.36908 -1.21603
+-22.8379 4.22902 -0.9817719
+-22.6878 3.69788 -0.1510819
+-22.8014 2.73863 -0.4565029
+-22.1681 2.19973 -1.03789
+-21.6676 1.98279 -1.87826
+-20.9072 2.27907 -2.36655
+-20.1649 1.88298 -1.77811
+-19.8448 2.704 -1.19085
+-19.7198 2.22191 -0.2348379
+-19.796 1.22464 -0.2212119
+-20.2013 0.6173169 -0.8109259
+-20.6323 -0.1289691 -1.30149
+-21.0184 -0.4701381 -2.13347
+-21.9924 -0.8434491 -2.1511
+-22.1048 -0.2135791 -2.91264
+-22.1701 -1.21145 -3.15308
+-21.7026 -2.02938 -2.82892
+-21.3088 -1.56701 -3.57607
+-21.0296 -2.52795 -3.42786
+-20.2286 -2.21479 -2.95583
+-19.556 -2.37035 -2.22653
+-19.0579 -3.23614 -2.21581
+-19.0841 -4.16074 -1.71935
+-19.9574 -4.28446 -2.17821
+-20.3215 -4.22641 -1.26593
+-21.1023 -3.69402 -0.8745999
+-21.8834 -3.45944 -0.3635359
+-22.5017 -3.22909 0.3661381
+-22.4834 -4.09257 0.8167011
+-21.5981 -4.01555 0.4854791
+-20.9798 -3.4286 1.06973
+-20.9027 -3.77549 1.94949
+-20.3769 -3.58769 2.72147
+-20.1407 -3.17675 3.57266
+-21.1653 -3.16098 3.57952
+-20.9782 -2.27462 3.1002
+-20.3876 -2.62354 2.36148
+-19.9176 -2.36989 1.4723
+-20.1849 -1.55414 0.9620751
+-19.302 -1.78172 0.5458511
+-18.925 -1.26163 -0.1415559
+-18.9466 -1.24642 -1.08482
+-19.0094 -0.2684201 -0.8252439
+-19.1629 0.6642769 -1.21335
+-18.2093 0.5788819 -1.6319
+-17.3051 0.2144849 -1.50494
+-17.2411 -0.7821791 -1.29343
+-16.7012 -1.1842 -2.05998
+-17.5821 -1.80669 -1.90968
+-18.4715 -1.3398 -2.19486
+-17.7284 -0.9058841 -2.68097
+-17.6384 -0.2451301 -3.46826
+-16.7318 -0.6941181 -3.14707
+-16.4766 0.2915919 -3.27827
+-15.7853 0.6780629 -3.82778
+-15.8603 1.50818 -3.23086
+-15.7459 2.07613 -4.00552
+-15.2129 2.88055 -4.0293
+-16.0441 3.42008 -3.83803
+-16.772 3.26847 -3.2713
+-17.0481 3.3034 -2.42299
+-17.0217 4.29937 -2.69255
+-17.16 5.08265 -3.21892
+-16.9064 6.04569 -3.04884
+-17.1141 6.52947 -2.23896
+-17.9371 6.11381 -2.4441
+-18.5396 6.10409 -1.67245
+-18.7904 5.13153 -1.43602
+-19.742 4.70114 -1.26851
+-20.8105 4.81562 -1.37206
+-20.279 5.0724 -0.5808339
+-20.5637 6.05837 -0.7662359
+-21.3611 5.42848 -0.5774549
+-21.8805 6.24901 -0.2935159
+-21.5627 6.91469 -0.8801249
+-21.5593 7.85506 -1.19665
+-20.6389 7.51594 -1.36899
+-20.6276 8.18319 -2.11801
+-19.6517 7.99789 -2.04951
+-19.0489 8.05402 -1.33813
+-19.2651 8.92334 -0.8753659
+-18.5154 8.54232 -0.3257789
+-17.6089 8.69884 0.03967842
+-17.1403 9.08983 -0.7550079
+-16.9603 10.056 -0.5056299
+-17.9172 9.68384 -0.5207209
+-18.6496 9.94074 -1.12208
+-18.4394 10.9176 -0.8580399
+-19.0533 10.9664 -1.68637
+-19.8101 11.004 -2.38598
+-20.7845 10.8062 -2.26362
+-21.1219 11.3299 -1.47701
+-20.9482 11.3215 -0.4693609
+-20.71 10.4062 -0.1801799
+-21.0843 10.8111 0.6727461
+-21.2236 11.8224 0.7412651
+-21.1444 12.7528 1.06079
+-20.4231 12.792 1.73867
+-20.1444 11.7771 1.78825
+-19.2816 11.2987 1.84473
+-18.534 11.8831 1.86232
+-18.3155 12.4794 1.07325
+-18.0288 11.9086 0.2957631
+-17.2602 12.0692 -0.3634309
+-16.6704 11.4872 -0.9307299
+-15.8787 11.5024 -0.3678059
+-15.716 11.9939 -1.22029
+-16.5647 12.2562 -1.61285
+-17.4659 12.5964 -1.28113
+-17.1926 13.4919 -1.53298
+-18.1052 13.6124 -1.11044
+-18.1941 14.6358 -1.13917
+-18.2533 15.5634 -1.53841
+-18.0922 16.0379 -2.43636
+-17.2652 15.9983 -1.85595
+-17.0449 16.2069 -0.9480219
+-16.7956 15.3813 -0.3285369
+-16.9527 15.5094 0.6097181
+-17.8223 15.4493 0.1317881
+-17.4999 16.3532 0.04342042
+-17.6824 17.3436 0.2827471
+-16.7608 17.234 0.01388132
+-16.0495 16.9437 0.6636041
+-15.682 16.9122 1.58698
+-16.3201 16.2658 1.97051
+-15.4319 16.0201 2.37906
+-14.4113 15.856 2.2497
+-14.8501 14.9799 1.88701
+-14.82 14.3542 1.10958
+-15.8331 14.2965 1.22881
+-16.2445 14.6604 0.3874261
+-15.7014 14.0032 -0.1797499
+-15.9365 14.4009 -1.06157
+-15.3602 15.0854 -1.49592
+-15.1333 14.4738 -2.23859
+-15.5205 13.5288 -2.42807
+-14.6305 13.1686 -2.75663
+-13.9132 13.7144 -2.3277
+-13.6816 13.8455 -1.37311
+-14.4415 14.2573 -0.8110849
+-14.3554 13.5372 -0.1144269
+-13.7907 14.1178 0.4429241
+-12.7852 14.5064 0.5747421
+-12.1441 13.7682 0.3527431
+-11.688 14.3426 0.9270441
+-10.7748 13.8259 1.12115
+-10.5129 13.1552 0.4652031
+-9.58483 13.3521 0.6175021
+-9.22793 12.95 -0.1874239
+-9.7248 12.5731 -0.8963849
+-10.2519 13.4463 -1.19285
+-10.0482 14.4197 -1.05956
+-9.67124 15.204 -1.48424
+-8.81303 15.3445 -0.9836239
+-8.47364 14.3015 -1.05084
+-7.9609 13.7315 -0.4515009
+-8.26246 13.3183 -1.25289
+-8.69615 12.4512 -1.26109
+-9.17819 11.8925 -1.87343
+-8.83367 12.6726 -2.30815
+-8.9503 11.911 -2.96
+-8.6432 11.1689 -2.48141
+-8.12989 10.6492 -3.11618
+-7.94359 11.6142 -2.99665
+-7.97105 12.3899 -3.58071
+-6.9739 12.3943 -3.4197
+-7.26801 13.2369 -3.23288
+-6.97999 13.8113 -4.02231
+-6.92008 14.6376 -4.63393
+-7.53537 14.9196 -5.27154
+-7.96711 14.778 -6.17542
+-7.5502 14.2287 -6.80799
+-7.33518 13.4245 -7.32246
+-7.72637 12.4931 -7.47226
+-7.55834 11.5023 -7.51813
+-6.70259 11.6085 -7.13863
+-6.43262 11.2629 -7.99468
+-5.54268 11.481 -7.84943
+-4.63687 11.0848 -7.74788
+-5.08443 11.2419 -6.86425
+-5.66808 10.9941 -6.13455
+-6.08059 10.1061 -5.85343
+-6.97294 10.5134 -6.19523
+-7.94161 10.6136 -6.33629
+-8.15188 10.3585 -5.36927
+-8.0922 11.3303 -5.52918
+-8.99209 11.5979 -5.87808
+-9.92692 11.4512 -5.55554
+-10.0826 10.6945 -4.95855
+-10.7765 11.4011 -4.90368
+-11.0336 11.9935 -4.16836
+-10.5407 12.0206 -3.33543
+-10.6531 12.8807 -2.8566
+-11.5429 13.1202 -2.39561
+-10.9235 12.5665 -1.85422
+-10.5163 11.7391 -1.40956
+-9.90543 11.6102 -0.6683979
+-10.4072 11.2504 0.1456631
+-9.52574 11.5282 0.5662861
+-8.64568 11.8081 1.00293
+-7.88446 11.1769 1.1497
+-8.08232 11.3108 0.1626221
+-7.18421 11.8266 0.2426351
+-7.24949 11.9894 -0.7513159
+-6.23237 11.9241 -0.8250039
+-6.07268 12.3117 0.1014301
+-6.04794 12.3869 1.09335
+-5.96504 12.096 2.09355
+-5.07852 11.6742 2.45208
+-4.28603 11.9515 1.80456
+-3.70267 12.4549 2.32543
+-2.9301 12.3577 2.87326
+-3.44473 13.1004 3.40741
+-3.3138 12.1803 3.79436
+-2.49269 12.6558 4.13073
+-2.41089 13.5245 3.73553
+-2.11934 13.8182 2.85582
+-2.52019 13.2114 2.11124
+-3.41986 13.4062 1.87485
+-3.06329 13.1585 0.8697611
+-3.9995 13.127 0.9693941
+-4.01159 12.9922 -0.01687538
+-4.22385 12.125 -0.4425529
+-4.97685 11.5549 -0.1999029
+-5.58967 10.8626 0.07890422
+-6.32567 10.1799 0.3687851
+-5.62422 9.84683 0.9763101
+-4.81629 9.39697 0.9220071
+-4.34857 8.75712 1.45231
+-4.49018 8.25065 2.30054
+-5.17739 7.53342 2.19485
+-5.09667 6.56227 2.37434
+-4.43315 5.95 2.87397
+-3.66142 5.39437 2.5951
+-3.35113 6.23413 3.18002
+-3.78233 6.9097 2.63368
+-3.16112 7.67651 2.33602
+-3.17266 7.12838 1.49074
+-2.25199 6.82092 1.68701
+-1.63599 7.4975 2.0485
+-1.14057 8.06816 2.66717
+-0.943707 8.9445 3.19157
+-0.523393 9.35895 3.95422
+0.138476 9.32388 3.25424
+-0.05106053 10.2376 3.15861
+-0.467388 10.297 2.28472
+-1.42604 9.9836 2.64822
+-1.39225 9.2125 2.03716
+-1.23256 9.89802 1.34827
+-0.630075 9.0384 1.38951
+-0.197621 9.19934 0.5481991
+0.500995 9.9097 0.3311831
+-0.397804 10.3138 0.5555881
+-0.675505 9.67825 -0.1702709
+-0.16712 9.78222 -1.01045
+-0.998259 10.3881 -1.11482
+-0.920501 9.51418 -1.60061
+-1.94264 9.80166 -1.74254
+-1.53469 10.3641 -2.44212
+-0.638988 10.7543 -2.23828
+0.201844 10.516 -1.68564
+0.920025 10.2319 -2.38864
+0.455667 10.9991 -2.72112
+0.713161 11.6499 -2.10046
+0.20238 11.9739 -1.28766
+0.104399 12.4805 -2.11503
+-0.966686 12.3141 -2.17912
+-1.30656 12.0716 -1.26156
+-2.21253 11.7856 -1.00077
+-2.9335 11.6857 -0.3863279
+-3.42189 10.8942 0.01735252
+-3.58319 10.5459 0.9069221
+-3.7044 9.81174 1.57709
+-3.77973 9.82443 2.53497
+-2.851 10.0689 2.76759
+-3.45555 10.2612 3.58823
+-3.80881 10.677 4.36824
+-4.72178 10.941 4.78482
+-5.47869 11.5377 4.47239
+-6.27348 10.9534 4.1462
+-6.48655 11.9178 3.99542
+-6.68245 11.3893 4.86824
+-6.87899 10.4046 5.04178
+-5.95811 10.1154 5.02666
+-5.40197 9.78294 4.21071
+-6.23872 9.27706 4.1427
+-6.47454 8.90191 5.08216
+-7.33146 9.46059 4.90457
+-8.01468 9.64651 4.15873
+-8.71902 9.77885 3.50136
+-8.55013 10.6763 2.98853
+-9.22218 10.0502 2.72389
+-9.76576 10.0101 3.54905
+-9.97286 9.81187 4.45313
+-10.0048 8.82189 4.53382
+-9.57051 8.84071 5.37917
+-10.1784 8.84496 6.16289
+-10.9031 8.34496 5.79803
+-10.6291 7.73698 4.9934
+-11.1001 8.62124 4.84391
+-11.3462 9.59761 4.85225
+-12.3006 9.4094 4.76371
+-12.368 10.3994 4.47912
+-12.9045 11.0341 5.04143
+-13.8185 10.9916 4.74271
+-14.3137 11.8216 4.57588
+-13.684 12.3941 5.18215
+-12.8348 12.7914 5.1748
+-12.9865 13.0324 4.18706
+-12.0703 13.0901 3.76773
+-11.2235 13.4361 3.3739
+-11.4317 12.8314 2.6787
+-10.725 12.2958 3.06964
+-9.73611 12.1754 2.92224
+-9.01346 12.4598 2.34894
+-8.02159 12.4875 2.18395
+-8.3084 13.3929 1.79439
+-9.24621 13.4545 2.06868
+-9.6104 13.817 2.84323
+-10.0444 14.681 2.5691
+-10.9408 14.9928 2.54087
+-11.5731 14.4263 3.05553
+-11.9768 13.7978 2.45794
+-12.4719 13.2176 1.90662
+-13.3796 12.8951 1.70326
+-12.6242 12.3082 1.4323
+-12.1726 12.4424 0.5583481
+-12.3234 11.748 -0.1147959
+-12.1942 11.1321 0.6867151
+-11.9975 10.255 0.3832561
+-12.1673 9.48752 -0.1296799
+-13.0863 9.48525 0.3646551
+-13.9329 9.72229 0.8873411
+-14.1335 10.2679 1.66849
+-14.2663 9.93174 2.56269
+-13.6847 10.5604 3.00298
+-12.7353 10.6814 2.72734
+-12.0841 9.79055 2.91298
+-11.3355 9.1549 3.10306
+-10.7172 8.46235 3.25931
+-9.90185 8.15034 2.906
+-8.90559 7.98822 2.96448
+-7.96794 7.53812 2.77102
+-7.30097 7.35341 2.03517
+-7.57113 7.58127 1.05269
+-6.74494 8.11031 1.31677
+-6.57104 8.04585 0.3078651
+-6.37077 7.04694 0.5089971
+-5.86905 6.21928 0.1842841
+-5.30755 6.53274 0.9329481
+-4.61563 5.98095 0.4786811
+-4.55691 5.57784 1.30031
+-5.31523 5.45697 1.92796
+-5.09862 4.56844 1.45552
+-6.0706 4.85085 1.45983
+-6.24581 4.26475 2.12015
+-7.14755 4.03691 2.60903
+-7.1344 3.34806 3.36118
+-6.56381 2.53526 3.52535
+-6.21593 2.84172 4.4143
+-7.18956 3.08622 4.39527
+-6.88186 2.7388 5.30143
+-7.73512 2.74521 5.7571
+-7.81345 2.09734 6.42784
+-7.86885 2.61475 7.29455
+-7.21275 3.03907 6.75808
+-8.02079 3.65558 6.48527
+-8.32819 4.38637 7.05048
+-7.75026 5.17371 7.37131
+-8.53449 5.56414 6.86893
+-9.0705 6.18399 6.29359
+-9.18547 6.43868 5.37004
+-10.1309 6.48984 4.95711
+-10.075 5.90596 4.10914
+-10.6033 5.77477 3.25684
+-11.4915 5.55095 2.86298
+-11.4826 6.45165 2.88619
+-12.2541 6.34856 2.26058
+-12.2754 7.03374 1.60909
+-13.2132 7.28498 1.75081
+-13.3072 6.29687 1.88416
+-14.0779 6.51246 1.24737
+-14.5756 5.70484 1.49237
+-15.3501 6.2173 1.3197
+-14.995 5.94206 0.4915031
+-14.9704 4.97506 0.2475571
+-14.8867 4.56571 1.12685
+-14.2057 3.94815 1.39534
+-13.5976 4.61955 1.78343
+-13.2819 5.16665 2.51034
+-14.2472 5.23537 2.79707
+-14.5276 5.70771 3.56346
+-13.9732 6.28778 2.90681
+-13.0992 6.37031 3.40807
+-13.0369 7.09092 4.03209
+-13.9625 7.06634 4.32548
+-14.5867 7.38594 3.6435
+-14.5972 8.02436 4.4101
+-15.0789 7.18608 4.62539
+-15.5561 6.9159 5.49025
+-15.8378 7.82428 5.45924
+-16.6706 8.33384 5.64102
+-17.2497 8.3269 6.36882
+-17.1027 7.29181 6.47553
+-17.7013 6.74951 5.9415
+-18.2728 5.92549 6.08992
+-19.2061 5.69527 5.75225
+-19.6374 6.25774 5.06496
+-20.5171 5.82204 5.06144
+-20.8216 4.94617 5.40425
+-20.5654 3.93048 5.26953
+-20.0435 3.55313 4.5116
+-19.3611 3.88696 3.78356
+-20.2026 3.96436 3.1476
+-20.2079 4.27207 2.14607
+-19.1955 4.02096 2.10907
+-19.7393 3.77259 1.3072
+-20.7043 3.54772 1.53513
+-21.217 4.03306 2.22869
+-22.1289 4.3414 2.40394
+-21.9778 4.90727 1.56706
+-22.188 5.94708 1.6234
+-21.5108 5.90785 0.9634941
+-21.4206 6.92175 0.7647941
+-21.8534 7.82194 0.6919021
+-21.4815 8.44541 1.34703
+-22.1249 9.13216 1.70433
+-22.7184 8.39449 1.3292
+-23.5615 8.67741 1.67106
+-23.3613 8.92225 0.7785541
+-23.4343 9.47534 0.00611501
+-24.1533 10.0249 -0.4309919
+-24.6745 9.84649 -1.23417
+-24.0765 10.5448 -1.45637
+-24.4249 11.1656 -2.01152
+-25.2414 10.9792 -1.40261
+-25.264 10.9464 -2.40865
+-25.9243 11.0546 -3.19418
+-25.9954 12.0134 -3.6847
+-25.7067 11.7566 -4.58168
+-25.1907 12.5228 -4.92813
+-25.7522 12.8548 -5.57639
+-26.0894 13.7857 -5.23268
+-26.5051 14.687 -5.24813
+-27.1509 14.7527 -4.50099
+-27.7902 14.0271 -4.71781
+-28.4303 13.3382 -4.33287
+-28.0604 12.425 -4.41673
+-28.4449 11.5527 -4.20893
+-29.0154 10.7519 -4.1762
+-29.7423 10.3848 -3.62626
+-29.0771 9.75529 -3.25114
+-28.4636 9.27589 -3.7982
+-28.4591 9.67989 -4.72995
+-27.4414 9.93293 -4.63921
+-26.7807 9.54115 -3.95225
+-27.0007 10.2308 -3.35417
+-26.376 9.9653 -2.60018
+-25.4792 9.49245 -2.891
+-25.7081 8.57828 -2.63242
+-25.4127 7.63445 -2.56097
+-24.9193 6.77252 -2.79835
+-25.4321 6.87424 -3.62368
+-24.9536 6.91598 -4.53667
+-25.0949 7.85999 -4.18235
+-24.2061 8.35185 -4.33653
+-24.0745 8.13365 -3.37724
+-23.7429 9.05495 -3.05611
+-23.1248 9.58027 -2.4885
+-23.0958 9.76121 -3.53426
+-23.8494 10.2686 -3.91943
+-24.7529 10.0975 -4.39213
+-24.8167 9.38584 -5.07081
+-24.698 9.24554 -6.08325
+-23.6644 9.51425 -5.94048
+-23.0072 10.2645 -6.1597
+-23.2065 10.8913 -5.3995
+-22.9179 11.8494 -5.22899
+-22.3579 12.1402 -4.40142
+-21.4823 11.9736 -4.64223
+-21.6031 11.268 -3.95098
+-22.1912 11.307 -3.09905
+-21.5912 11.8038 -2.47285
+-20.8983 12.4775 -2.24333
+-20.7455 13.487 -2.37434
+-20.4978 13.1116 -1.3607
+-19.4836 13.0475 -1.3608
+-20.0161 12.7365 -0.5693919
+-20.6945 13.2766 0.1004561
+-19.9245 13.9454 0.2604961
+-19.7888 14.8249 0.6497151
+-20.4989 15.3962 1.09294
+-20.0252 15.9409 0.4255741
+-20.2931 16.2695 -0.4628899
+-20.5303 17.1873 -0.3129499
+-21.2132 17.3517 -0.9993989
+-21.635 17.9579 -1.60284
+-22.345 17.2457 -1.3793
+-22.4363 17.5096 -2.34842
+-22.9029 18.0194 -3.03752
+-22.9782 18.6477 -2.34791
+-23.9264 18.5152 -2.34204
+-24.8799 18.1686 -2.28032
+-25.1159 18.438 -1.36889
+-25.6816 17.6265 -1.35756
+-26.686 17.5441 -1.22327
+-27.6022 17.3711 -1.52778
+-28.2623 16.8536 -1.01294
+-28.8707 17.6311 -1.08455
+-29.0186 17.534 -2.06428
+-28.7005 17.1163 -2.93395
+-28.341 18.0369 -2.89251
+-27.5369 18.6453 -3.01391
+-26.7437 19.1256 -3.33699
+-27.0187 20.0332 -3.47797
+-26.7939 20.9147 -3.97372
+-26.0383 20.5862 -4.57897
+-26.8681 19.9342 -4.52514
+-27.51 20.4963 -5.08118
+-27.4115 21.4944 -4.88639
+-27.7067 21.5405 -5.86996
+-26.8684 21.4281 -6.42509
+-26.7811 22.3653 -6.87811
+-26.2189 22.7569 -6.2405
+-25.3222 22.2456 -6.40021
+-25.515 21.9115 -5.45219
+-25.9744 21.1455 -5.87659
+-26.3903 20.289 -5.39732
+-27.0644 19.5572 -5.69625
+-27.2876 20.3711 -6.25585
+-27.7232 19.5245 -6.62455
+-27.7964 18.5628 -6.37271
+-28.3471 17.6687 -6.37751
+-29.303 17.357 -6.44679
+-30.1309 16.9536 -6.76217
+-30.1254 17.9 -6.42401
+-30.7841 17.9221 -7.20002
+-29.9551 17.6989 -7.75358
+-29.7982 17.8458 -8.741
+-29.5214 18.8017 -9.10434
+-29.4123 19.7589 -8.8559
+-28.8884 20.1688 -8.06704
+-28.736 19.3068 -7.59176
+-27.9653 19.0667 -8.15494
+-27.3462 18.3032 -8.3921
+-27.8302 17.4797 -8.01376
+-26.9467 17.3914 -7.60317
+-26.2098 16.9931 -8.22539
+-26.6651 16.121 -8.0663
+-26.7417 15.4237 -7.38068
+-26.722 14.55 -6.91892
+-27.7368 14.6145 -7.08392
+-27.6104 14.1286 -7.8877
+-28.1844 14.396 -8.62136
+-27.3314 13.9342 -8.99711
+-27.5018 14.8597 -9.38141
+-28.3075 15.4985 -9.42071
+-28.0202 16.4543 -9.64596
+-28.023 17.3171 -10.0645
+-27.3961 17.3127 -10.8207
+-26.8957 16.5055 -10.3832
+-26.5178 15.6131 -10.1191
+-25.6128 15.376 -10.296
+-25.821 15.4928 -11.2368
+-25.8867 15.3031 -12.2493
+-26.4143 14.5556 -12.7675
+-27.1197 13.8768 -12.4997
+-26.8881 13.941 -11.5509
+-27.6134 14.571 -11.3278
+-27.5728 15.5615 -11.3652
+-28.1417 15.4807 -12.1459
+-27.2196 15.3352 -12.4232
+-27.166 16.1074 -13.0977
+-27.0001 15.6534 -13.9297
+-26.0174 15.5751 -13.7829
+-25.4125 16.0702 -13.1154
+-24.4883 16.3813 -12.8174
+-24.979 16.9082 -13.4551
+-25.1786 17.3334 -12.5648
+-24.5872 18.1127 -12.3256
+-24.7345 17.5935 -11.4842
+-25.1916 18.3315 -10.9061
+-24.2546 18.1091 -10.6206
+-23.9746 17.166 -10.1873
+-23.5969 16.2928 -10.4534
+-23.2238 15.6065 -9.86313
+-23.9213 15.1287 -9.38353
+-23.5008 15.4741 -8.52616
+-24.0574 16.047 -7.88749
+-24.5925 15.2674 -7.78446
+-24.467 14.2615 -7.53027
+-23.6026 13.9358 -7.11613
+-23.9574 13.0749 -7.59301
+-23.0137 13.2333 -7.47244
+-22.5732 12.6268 -8.17045
+-21.908 12.4193 -7.50595
+-21.9517 13.3393 -7.13227
+-21.0207 13.0488 -7.33482
+-21.0543 13.6763 -6.55256
+-21.3229 14.1302 -5.70845
+-21.2057 15.0624 -5.64534
+-20.5999 14.8946 -4.87888
+-19.8768 14.3607 -5.32014
+-19.4179 14.9342 -6.00833
+-18.9145 14.9028 -6.83603
+-17.8739 14.9603 -6.99184
+-17.0261 14.6461 -7.38891
+-16.3469 14.168 -6.74876
+-16.8644 13.9676 -5.93651
+-17.7358 14.5059 -6.02316
+-17.241 15.2846 -5.66113
+-17.8274 15.4273 -4.91201
+-17.2299 16.1751 -4.79841
+-16.5514 16.8753 -5.12565
+-15.6381 16.7989 -5.55577
+-15.2454 17.646 -5.95612
+-15.7655 18.472 -5.62926
+-16.0848 17.8171 -4.96095
+-16.6722 18.2557 -4.21249
+-15.8172 18.8644 -4.02979
+-15.7053 19.2636 -3.11082
+-16.4607 19.6336 -2.54308
+-16.6843 19.2845 -1.61709
+-17.5188 19.2527 -1.11674
+-17.1611 19.6001 -0.2062059
+-16.4673 20.2052 0.01248912
+-16.0251 20.6163 -0.8306439
+-16.7016 21.3305 -0.5482349
+-16.0445 21.7821 0.01715102
+-15.9532 22.8407 -0.1033119
+-15.3756 23.1929 -0.8594319
+-15.7502 23.4709 -1.73059
+-14.9266 23.5486 -2.25361
+-15.1675 23.8165 -3.14253
+-15.3971 24.3701 -3.8841
+-16.3762 24.4987 -3.86461
+-16.9741 24.3455 -3.03916
+-17.0251 23.4715 -2.47501
+-17.3392 22.5895 -2.69669
+-16.5629 22.1377 -3.12897
+-16.5372 21.213 -3.1029
+-16.3689 20.98 -4.02925
+-16.7142 20.6673 -4.92059
+-16.2397 19.7774 -5.27578
+-16.9679 20.0878 -5.97046
+-17.5778 20.8576 -5.74077
+-17.8773 19.9557 -5.3316
+-18.2429 20.572 -4.61467
+-19.0427 20.3617 -5.08644
+-19.1487 19.5967 -5.78266
+-19.8825 19.5655 -5.11237
+-20.4516 18.9214 -4.46369
+-21.0092 18.6274 -3.707
+-20.7478 19.6016 -3.81768
+-21.3001 20.43 -3.74292
+-21.5369 21.2207 -4.33797
+-21.2397 22.0744 -3.89597
+-21.3034 22.1076 -2.89636
+-20.6904 21.391 -2.55568
+-20.9453 21.1632 -1.68586
+-21.403 20.4856 -1.13059
+-20.7789 20.9561 -0.5809199
+-20.0703 21.0208 0.1376621
+-20.1104 21.8118 0.6710611
+-20.7752 22.5307 0.7884611
+-20.6672 22.9081 -0.1135699
+-19.668 22.9947 -0.2081149
+-19.7263 23.8208 -0.7670739
+-18.8289 23.6473 -1.25644
+-18.5119 22.7366 -1.20805
+-18.9605 21.9497 -1.55782
+-19.6015 22.6866 -1.28634
+-18.9762 22.7279 -2.07258
+-19.2685 23.5262 -2.60457
+-18.298 23.4183 -2.70705
+-17.9895 24.3855 -2.41585
+-17.8728 24.577 -1.42913
+-18.6013 24.9962 -1.8703
+-18.0303 25.6088 -2.42637
+-18.2884 26.1646 -1.66489
+-18.4338 26.4762 -0.7297489
+-18.7918 27.1729 -0.1346639
+-19.6605 26.7341 -0.1613239
+-19.3557 27.0029 0.7704401
+-20.21 26.6679 1.18685
+-21.15 26.7924 1.48169
+-21.7172 27.1796 0.6030421
+-22.1836 26.9732 -0.3066439
+-22.8798 26.3874 -0.5714109
+-22.7718 26.815 -1.49837
+-23.026 26.4193 -2.43276
+-22.6467 25.5935 -2.85048
+-23.1096 25.418 -3.68799
+-22.2579 25.5119 -4.32435
+-21.8873 24.6409 -4.08363
+-21.0859 25.0882 -4.4901
+-20.6818 24.5285 -5.23986
+-20.9811 23.8705 -4.53334
+-21.4337 23.0242 -4.46447
+-22.2123 22.4424 -4.48595
+-22.8078 22.4809 -5.31991
+-23.7937 22.3538 -5.47556
+-23.722 23.1272 -4.85262
+-23.6754 22.8204 -3.92155
+-24.6307 22.6493 -4.1455
+-24.4383 21.6185 -4.31251
+-23.7152 21.6416 -3.68451
+-23.2661 20.8856 -4.11076
+-22.7141 20.4717 -4.86332
+-22.4343 19.9218 -5.62493
+-22.9901 19.1984 -5.9858
+-23.9717 19.2426 -5.53193
+-24.9155 19.2299 -5.23056
+-25.0507 18.7312 -6.11858
+-24.579 18.4944 -6.97285
+-24.5991 18.0484 -7.83112
+-23.8067 17.5434 -8.10522
+-23.5594 17.1253 -8.98751
+-22.5861 17.1319 -8.91695
+-21.8963 17.0707 -9.6787
+-21.7816 16.3642 -8.97446
+-20.9871 16.1606 -8.38401
+-21.1544 16.0508 -7.41429
+-21.6133 16.7622 -6.8895
+-22.0408 16.3322 -6.05358
+-22.048 16.0566 -5.13699
+-21.746 16.6427 -4.39104
+-21.6479 17.3945 -4.97827
+-20.7598 17.4419 -5.3567
+-19.7022 17.6338 -5.4915
+-19.358 16.7486 -5.20092
+-19.0001 17.3722 -4.4464
+-18.5239 16.9971 -3.64144
+-18.3371 17.6953 -2.96645
+-18.1286 18.6031 -2.54258
+-17.6263 18.2391 -3.30854
+-16.7564 17.992 -2.97297
+-16.6435 17.1642 -3.34224
+-15.7174 17.1278 -3.65505
+-15.0994 17.0504 -2.98033
+-14.7041 16.1081 -2.85636
+-14.3438 16.1251 -3.78035
+-14.1199 15.2154 -3.69995
+-13.7826 15.7556 -4.51511
+-13.9673 15.1114 -5.24786
+-14.6043 14.9931 -5.94873
+-14.2982 14.5801 -6.84063
+-13.2676 14.6621 -6.79775
+-12.9044 15.3863 -6.10743
+-12.8412 15.7652 -7.03848
+-13.8179 15.8575 -7.30687
+-14.6254 15.3766 -7.49181
+-14.0515 15.7506 -8.26604
+-13.1913 15.2587 -7.93743
+-13.0704 14.2871 -7.83145
+-13.4616 13.5505 -7.36322
+-14.4263 13.5978 -7.71193
+-15.2117 12.9592 -7.53646
+-15.2397 13.0261 -8.54244
+-16.0182 13.1075 -9.2427
+-16.1446 14.0665 -9.00893
+-16.9791 14.482 -9.39612
+-16.8226 15.5094 -9.50108
+-15.8756 15.0612 -9.68899
+-15.0489 15.0452 -9.02557
+-15.5042 15.9341 -8.90758
+-16.3871 16.5033 -8.84363
+-16.003 17.2138 -8.26638
+-15.6224 16.3936 -7.92268
+-16.1133 16.8876 -7.26187
+-15.2117 16.7569 -6.78134
+-15.1319 17.7027 -7.0536
+-14.6081 18.31 -7.79186
+-14.4354 18.6365 -8.72435
+-14.8117 19.4652 -9.13069
+-14.2434 19.6458 -9.92601
+-14.3219 20.6575 -9.82757
+-14.0835 20.7993 -8.88724
+-13.9327 21.5816 -8.16964
+-14.5541 22.3568 -8.0369
+-14.658 21.8784 -7.19371
+-13.8476 22.4947 -7.28846
+-13.1293 22.6959 -7.94246
+-13.057 22.746 -8.9288
+-12.5474 22.2119 -9.64743
+-11.9517 21.4312 -9.92479
+-11.8358 20.5409 -10.4811
+-11.1943 20.6219 -9.7497
+-11.0011 19.6637 -9.68605
+-10.8798 19.5162 -8.71657
+-9.95039 19.7176 -9.1393
+-10.2293 18.7665 -8.912
+-10.8756 18.312 -8.23975
+-10.1583 18.5922 -7.59052
+-10.8745 19.199 -7.70335
+-11.6061 19.0235 -7.09627
+-12.6042 18.9966 -7.07194
+-13.2068 19.7329 -6.76609
+-13.8319 19.9756 -6.00731
+-13.0161 20.5032 -5.88355
+-12.162 20.6556 -5.40298
+-11.762 20.438 -4.4417
+-12.5221 19.7955 -4.65782
+-11.8664 18.9985 -4.80993
+-12.6669 18.587 -4.27297
+-12.8672 17.6193 -4.18833
+-12.5956 17.1176 -5.08277
+-12.203 16.6142 -5.82685
+-11.8658 16.0125 -6.47415
+-11.5753 15.1731 -6.92645
+-11.7731 14.2235 -6.50198
+-10.8166 14.0033 -6.66395
+-11.0973 13.0481 -6.76632
+-11.5704 12.8444 -7.62293
+-12.4405 12.5718 -8.08819
+-13.0043 11.7803 -8.32459
+-12.2821 11.4216 -7.85587
+-11.7687 10.8394 -7.25353
+-12.0237 9.86803 -7.11939
+-11.4147 9.07688 -7.09721
+-10.7838 8.42444 -7.56457
+-10.4151 9.33783 -7.81213
+-10.2323 9.55048 -8.70194
+-10.2827 9.72087 -9.69325
+-10.1096 9.08885 -10.4169
+-10.4883 8.16055 -10.8184
+-11.1526 8.5869 -11.4837
+-11.4697 9.437 -11.9319
+-10.5088 9.46296 -12.2137
+-10.3767 10.3581 -12.4279
+-10.717 10.4237 -11.4621
+-9.92347 9.8409 -11.3087
+-9.55691 10.5271 -10.6603
+-9.10839 10.4323 -11.559
+-9.51822 11.2099 -12.0698
+-9.14634 12.0132 -12.5399
+-9.54934 12.9027 -12.539
+-9.66126 13.6804 -11.8361
+-10.0432 13.9192 -10.9677
+-9.175 14.2558 -10.7876
+-8.59333 13.7615 -11.4713
+-8.20658 14.0092 -12.3009
+-8.06564 14.7557 -12.9799
+-7.11117 14.9362 -13.1302
+-7.11484 15.1668 -14.1267
+-6.97525 16.1983 -14.0874
+-7.0651 16.5686 -13.1717
+-6.69712 17.3523 -13.6148
+-7.50508 17.6674 -14.117
+-7.74932 18.1271 -14.976
+-8.35414 18.2974 -14.1387
+-8.25858 19.2334 -14.2412
+-9.07242 19.338 -14.8047
+-8.58525 19.2552 -15.6633
+-8.26629 18.9956 -16.4798
+-8.567 18.3031 -15.8747
+-8.80339 17.4338 -15.4985
+-9.75833 17.4694 -15.3841
+-9.36128 18.038 -14.7831
+-9.38421 17.9274 -13.7571
+-10.2788 18.3979 -13.5484
+-10.4713 19.1978 -14.0332
+-10.7922 19.6961 -13.2183
+-10.4323 20.5686 -12.7662
+-9.98238 21.4728 -12.8408
+-10.8427 21.9415 -12.5412
+-10.7064 22.2364 -11.5734
+-11.1324 22.7032 -10.7209
+-11.2107 22.602 -9.79223
+-10.8261 22.5659 -8.82583
+-10.7865 23.448 -9.26818
+-10.9828 24.2413 -8.69829
+-10.7695 24.751 -9.53057
+-11.1639 25.5935 -9.87693
+-12.0084 25.2794 -9.45695
+-12.4676 26.1394 -9.47454
+-11.9253 26.9795 -9.62965
+-11.524 26.9126 -8.74322
+-11.8592 27.2985 -7.83905
+-11.9028 26.5259 -7.26944
+-12.252 27.0343 -6.54635
+-11.925 26.5711 -5.6401
+-12.2735 25.8123 -5.0876
+-13.333 25.7755 -5.06785
+-13.7338 26.607 -5.48742
+-14.7046 26.7939 -5.22075
+-14.3441 27.562 -5.71306
+-13.6199 28.1988 -6.09958
+-13.3856 28.7841 -6.96125
+-14.2819 29.133 -6.5449
+-14.7881 29.652 -5.83118
+-15.6172 30.0653 -6.4153
+-16.2761 29.4167 -6.45287
+-16.6825 28.7275 -7.11752
+-16.2966 29.3663 -7.89281
+-16.2354 30.347 -8.08221
+-16.162 31.3416 -7.96722
+-16.496 32.2945 -7.83379
+-17.3264 32.7154 -7.49502
+-17.376 33.5557 -6.93961
+-16.8113 33.4386 -6.131
+-16.6423 34.0835 -5.41732
+-17.1078 33.7308 -4.60787
+-17.2842 33.2345 -3.73526
+-17.389 32.3048 -3.30006
+-17.2397 31.3122 -3.03504
+-17.2413 30.3907 -2.64011
+-16.5926 30.5672 -1.84714
+-17.1896 29.7607 -1.8157
+-18.014 29.7614 -1.14562
+-18.681 29.249 -0.6840529
+-18.3695 28.7979 0.06311092
+-17.6367 28.4164 0.6559691
+-16.908 27.8562 0.5002321
+-16.2512 27.201 0.1392141
+-16.6372 26.3252 -0.06420178
+-16.652 25.368 0.02058682
+-17.3823 24.8261 0.5051641
+-17.3577 25.0698 1.51502
+-16.5441 25.6434 1.39153
+-17.3571 26.1716 1.52671
+-17.7062 26.103 2.48346
+-18.6487 25.8187 2.64534
+-18.5521 26.5653 3.28568
+-18.7105 27.0455 4.20171
+-19.0466 27.1345 5.1465
+-18.4477 26.9204 5.96335
+-19.0226 26.1491 6.07822
+-18.1793 25.661 5.89391
+-17.7542 24.9286 5.33894
+-18.1528 24.0702 4.99122
+-18.3483 23.5145 5.7748
+-18.8345 23.3947 4.87795
+-19.5237 23.134 4.29889
+-20.4269 23.453 4.74846
+-20.1462 22.6607 5.24028
+-19.4624 21.9384 5.24599
+-19.0344 21.2359 4.61044
+-20.0438 21.0211 4.55822
+-20.1742 20.0749 4.17666
+-20.4124 19.7532 3.18938
+-20.3512 19.3684 2.24161
+-21.3262 18.9831 2.05396
+-21.6577 18.307 2.78903
+-21.5432 17.4068 2.42242
+-21.2031 16.6442 1.86931
+-20.5953 16.1426 2.47472
+-20.1128 15.504 3.10221
+-20.3034 15.197 2.206
+-21.0868 14.629 1.82692
+-21.0724 13.6413 2.02561
+-21.9421 13.0763 1.78881
+-22.791 12.7266 1.42813
+-22.5489 13.4204 0.6979761
+-22.5506 14.2707 0.1187931
+-22.1294 13.7172 -0.6949629
+-22.9919 13.9234 -1.19015
+-22.9355 13.2158 -1.9869
+-22.2086 13.4632 -2.70325
+-21.7641 12.721 -3.21914
+-20.7798 12.7595 -3.30013
+-20.0417 12.1756 -3.70404
+-19.1801 12.2047 -4.16001
+-19.3397 12.8714 -4.84206
+-19.2116 13.3472 -3.97008
+-19.5105 13.0772 -3.08555
+-19.0718 13.7675 -2.67992
+-18.5089 14.467 -2.08895
+-17.8783 13.8531 -2.57886
+-18.3345 14.5452 -3.08744
+-18.7348 15.4627 -3.22581
+-18.7648 15.7871 -4.15544
+-19.5971 15.9225 -3.62038
+-20.2367 15.5349 -2.94867
+-21.0424 15.6029 -3.49934
+-21.6068 14.8602 -3.78628
+-22.3289 15.1333 -4.47335
+-23.1823 15.2826 -4.89144
+-23.6153 14.5158 -4.47327
+-23.8314 14.3534 -3.56048
+-23.9375 15.2556 -3.09432
+-24.3321 15.1762 -2.18371
+-24.3672 14.3527 -1.58666
+-25.3829 14.2879 -1.74964
+-25.4659 14.88 -0.8951009
+-26.4019 15.0424 -1.02345
+-26.9868 14.4858 -0.4004199
+-26.8645 15.1911 0.2493721
+-26.3235 16.1093 0.05859842
+-25.8803 16.7781 0.6393861
+-24.9563 16.7921 0.1940701
+-25.0996 16.336 -0.6739559
+-24.3119 15.9334 -1.15031
+-23.8007 15.2316 -0.6280479
+-23.9731 15.457 0.4097101
+-24.8664 15.4716 0.8796181
+-24.4259 15.0229 1.67603
+-23.4921 15.1887 1.42569
+-23.7305 14.4782 0.7219131
+-23.3165 13.9112 1.47808
+-23.0257 13.2915 2.2304
+-23.7803 12.689 2.12232
+-24.4119 12.0659 2.53427
+-24.4182 12.6209 3.34293
+-24.929 13.3691 3.80775
+-25.4502 12.7318 4.36143
+-25.8512 12.1795 3.5829
+-25.4181 11.5205 4.12192
+-25.9251 10.6986 4.04321
+-25.5372 9.77124 4.11009
+-26.2067 9.07982 4.1542
+-25.8902 8.35485 4.69446
+-25.8821 8.37883 5.70717
+-25.8623 7.53283 6.09484
+-25.4361 6.86883 6.53671
+-24.6974 6.41979 7.02067
+-23.87 6.99475 6.91026
+-24.5923 7.64689 6.62208
+-24.1649 8.35164 6.10246
+-24.6057 9.09881 6.64412
+-24.9698 8.72895 7.5009
+-25.7037 8.18324 7.88089
+-26.3136 7.59813 7.27027
+-26.3394 7.03508 8.04692
+-26.3881 6.98992 9.08835
+-25.9138 6.30267 9.57715
+-25.8675 6.16545 10.5967
+-26.8063 6.26047 11.0099
+-26.5931 6.72695 11.8751
+-26.2179 6.90624 12.7936
+-25.2465 7.30104 13.047
+-25.3453 8.31153 13.0389
+-24.4232 7.91459 13.0303
+-23.5092 7.90253 13.441
+-22.9538 7.01711 13.4548
+-22.5872 7.50755 12.74
+-22.2369 6.61735 12.8477
+-22.0503 6.73493 11.8281
+-21.1634 6.85252 12.1497
+-20.7454 7.38964 12.8935
+-21.2391 7.74877 13.665
+-20.7657 8.39357 14.2468
+-20.1741 9.05597 13.7239
+-19.2922 8.84092 13.4098
+-18.2613 8.61245 13.4545
+-17.3313 8.55324 13.5982
+-16.6771 8.09225 14.1734
+-16.8749 7.73011 15.0722
+-16.5035 8.40804 15.7052
+-17.056 7.85696 16.3241
+-17.6971 7.29309 15.6975
+-17.7149 6.31407 16.0366
+-16.7403 6.38689 15.7
+-15.9321 6.98927 15.6124
+-16.0061 7.2112 16.6014
+-15.8823 8.17923 16.8116
+-15.4259 8.92929 17.3787
+-14.8292 8.17444 17.7032
+-14.2908 8.94322 17.4345
+-14.6731 9.68795 18.0248
+-15.5522 10.0785 17.6068
+-15.6188 10.6859 18.4356
+-16.6778 10.5182 18.1317
+-17.4791 10.0612 17.7321
+-17.8909 10.0258 16.8248
+-17.921 8.96961 16.7033
+-18.555 8.81343 17.3734
+-19.2952 8.17621 17.3342
+-19.7527 8.20408 16.4947
+-20.3705 7.45076 16.1219
+-21.2392 7.09885 15.9159
+-21.7878 6.86279 15.1013
+-21.2726 6.03072 14.8494
+-20.919 5.1416 14.4963
+-20.5809 4.2791 14.1208
+-19.6913 4.65939 13.9702
+-19.9715 5.59716 13.9264
+-19.9639 6.43817 13.368
+-19.2771 6.75974 13.9822
+-18.9022 7.18996 13.1897
+-19.5178 6.95863 12.452
+-19.8683 7.78218 11.9343
+-19.8172 8.63613 11.4069
+-20.1734 9.56271 11.4286
+-19.5866 10.4284 11.5639
+-18.8471 10.3077 10.854
+-19.6518 10.3152 10.3084
+-20.2489 11.0885 9.95757
+-19.8349 11.1896 9.1057
+-19.648 11.9471 8.55018
+-18.784 11.6062 8.86745
+-18.3999 12.4673 8.40962
+-18.4576 13.2196 8.9674
+-17.482 13.2973 9.19661
+-17.3843 12.3167 9.09221
+-17.0247 12.2152 8.23006
+-16.5096 12.9649 8.39694
+-16.0057 13.0896 9.24742
+-15.47 13.386 8.45323
+-14.5254 13.2475 8.13213
+-14.5648 12.2852 7.97273
+-14.248 11.3098 8.32196
+-14.136 10.5755 9.05648
+-13.5737 10.3379 8.28268
+-13.4713 10.507 7.31698
+-12.5268 11.0092 7.42202
+-12.8953 11.1881 6.46385
+-13.8749 11.0223 6.13864
+-14.156 11.5154 6.87835
+-15.087 11.7657 6.87356
+-16.0105 11.4358 6.56211
+-16.887 11.166 6.2063
+-17.7985 11.4229 5.8213
+-18.6831 11.1254 5.36312
+-18.7592 12.0543 5.62443
+-19.2681 12.7588 5.11956
+-19.8938 11.9562 5.15318
+-19.9173 12.4085 6.09814
+-20.735 11.8197 6.16165
+-20.9851 11.0521 5.59494
+-21.605 11.6003 6.01024
+-22.1693 11.3284 6.80579
+-21.9585 12.1164 7.27986
+-21.8408 12.9514 7.87306
+-21.4309 13.6178 8.55351
+-22.2791 14.1324 8.41686
+-22.9403 14.095 7.61227
+-23.0426 13.4 6.9402
+-23.8973 13.3357 7.43953
+-23.6753 13.1139 8.36916
+-24.5475 13.5451 8.42096
+-24.2539 14.3101 8.93708
+-23.5541 14.6482 8.27878
+-23.4007 15.3319 7.53493
+-23.3954 15.6122 8.4527
+-22.739 15.3695 9.11169
+-21.8491 15.5739 8.60609
+-22.0091 15.272 7.63976
+-21.585 16.0737 7.29546
+-20.7148 16.5114 7.05836
+-19.9115 16.9825 7.38713
+-19.2248 17.1676 8.00019
+-18.6335 16.3387 8.01078
+-19.5078 16.3171 8.63004
+-19.0149 16.9145 9.22063
+-18.1045 17.3256 9.20764
+-17.7458 17.2574 8.23598
+-17.3275 16.4184 7.80737
+-17.9038 16.6816 7.02377
+-16.8832 16.6372 6.79607
+-16.2193 16.0582 7.018
+-15.6133 15.7253 7.79258
+-15.6229 15.1301 8.6298
+-15.0039 14.7373 9.31337
+-14.0242 14.3474 9.4133
+-13.6635 13.4528 9.65456
+-12.9142 14.0499 9.30707
+-12.6699 14.0819 10.3109
+-13.1564 14.062 11.1319
+-13.45 14.0443 12.1246
+-12.9146 14.81 12.5125
+-12.7008 13.8253 12.7662
+-12.1545 14.2783 13.5278
+-11.2733 14.1245 13.2201
+-10.5426 14.812 13.0884
+-11.1482 15.245 13.7764
+-11.0641 15.9947 14.4443
+-10.4815 16.8227 14.3761
+-9.98879 17.0668 13.5391
+-9.05994 17.3959 13.6144
+-8.19289 17.4039 13.181
+-7.65756 17.2894 12.3649
+-7.16487 16.5748 12.9074
+-6.98068 15.603 13.1991
+-7.67139 15.5444 13.8697
+-8.28259 16.1781 13.3888
+-8.33855 15.4953 12.7495
+-8.89007 14.7235 13.0004
+-9.60722 14.8262 13.6606
+-8.77268 14.8758 14.1918
+-8.03127 14.1437 14.0803
+-7.20942 13.5155 13.8929
+-6.2819 13.9041 13.8605
+-6.83052 14.1727 14.6781
+-5.92842 14.657 14.598
+-5.77372 13.6693 14.7089
+-5.75952 12.8729 14.0547
+-5.58857 12.9468 13.0404
+-5.10265 12.0979 12.9197
+-5.88789 11.8027 12.3595
+-5.92109 12.7766 12.1148
+-6.57022 13.4384 12.2217
+-6.97838 14.2192 11.7786
+-7.95746 14.2366 11.6211
+-8.626 14.7911 11.1321
+-8.96517 15.0432 10.2731
+-8.57396 15.5019 9.44626
+-7.96744 16.0681 8.78005
+-8.20721 17.0102 9.00009
+-7.42603 17.6826 8.87803
+-6.74053 16.9046 8.90941
+-6.14497 16.2155 9.00159
+-6.85879 16.1485 9.75054
+-7.55159 16.822 10.003
+-8.31841 16.9826 10.6294
+-9.12416 16.3801 10.2891
+-10.0102 16.0504 10.0585
+-9.93582 15.6495 10.968
+-10.8388 15.4002 11.4115
+-11.4594 16.1693 11.5813
+-11.2778 15.574 12.3644
+-12.1019 16.1606 12.5878
+-12.6767 16.6684 11.9149
+-13.5802 16.9518 11.4864
+-14.0161 16.8458 10.6048
+-13.6635 16.4451 9.75534
+-14.077 16.6095 8.9101
+-14.7558 16.9514 9.4831
+-15.0319 17.4544 10.28
+-15.9202 17.087 10.5756
+-15.4991 16.2211 10.3806
+-15.2889 16.548 11.2732
+-15.194 16.4643 12.3621
+-15.6553 15.9154 13.0805
+-15.2944 16.243 13.8931
+-14.4844 16.2308 13.39
+-14.0201 16.9981 14.0054
+-13.6357 17.8312 13.7303
+-12.9477 18.5798 13.6604
+-13.8287 18.8912 14.1531
+-14.3676 18.6614 14.9535
+-13.7809 18.5327 15.7608
+-13.5159 19.4704 15.5759
+-13.4606 20.2137 16.1982
+-13.4157 21.049 16.6962
+-12.4002 20.8872 16.5409
+-12.0948 20.7366 15.4981
+-12.7483 20.8652 14.7679
+-12.2798 20.1365 14.344
+-12.2062 19.2142 14.7405
+-11.3736 19.4835 15.1831
+-10.4242 19.4571 15.5601
+-11.0002 18.6398 15.4126
+-10.4488 18.0537 15.8184
+-10.1777 17.0319 15.7714
+-10.6429 16.1411 15.8823
+-10.5366 15.1479 15.9519
+-10.8437 14.6083 16.7023
+-9.90431 14.7944 17.078
+-9.85153 13.9508 17.5722
+-9.56544 12.9779 17.7015
+-10.3984 12.7535 17.2475
+-10.4571 13.4697 16.5361
+-9.52556 13.4076 16.6856
+-9.26236 14.2916 16.1494
+-9.37813 15.2612 16.3747
+-8.38562 15.4282 16.711
+-8.48184 15.6856 17.6591
+-9.04587 16.5333 17.8117
+-8.72542 17.4947 17.5006
+-9.13356 17.9715 16.7171
+-8.40605 18.5871 16.3313
+-7.66544 18.4304 15.6566
+-7.12335 18.4769 16.4799
+-6.29528 18.4865 15.9011
+-5.39158 18.6192 16.3981
+-4.58314 18.2498 15.9979
+-3.71007 17.7153 15.9009
+-3.46745 17.7477 14.898
+-4.28655 17.0509 14.6446
+-3.99694 16.1035 14.5151
+-4.31983 15.8808 15.4774
+-3.49901 15.3249 15.5872
+-2.95548 14.7453 16.1881
+-2.85346 13.981 15.5902
+-2.98141 13.2149 15.0277
+-2.8911 12.3545 14.5577
+-3.44351 13.0338 13.9651
+-2.9431 13.0783 13.076
+-2.55568 13.7207 12.4316
+-3.45137 14.125 12.6074
+-4.22841 14.3716 13.1864
+-5.1837 14.7054 13.0432
+-5.2242 15.7048 12.9008
+-5.84823 15.3585 12.2435
+-6.24252 15.3934 11.2625
+-5.23606 15.3105 11.2369
+-4.94791 16.1198 11.7909
+-4.06508 15.9562 11.3657
+-3.29488 16.0104 10.73
+-2.79668 16.7057 11.3276
+-1.90597 16.2979 11.074
+-1.17183 16.9147 11.2801
+-0.528299 16.6144 10.6304
+0.386695 16.8347 10.5259
+1.24483 16.7373 11.1079
+0.807577 15.824 11.2417
+1.00112 15.0994 10.5336
+0.827965 14.2257 10.9292
+1.04077 14.2725 11.8933
+0.82922 14.3329 12.8334
+0.265262 13.7264 13.4105
+-0.145116 14.4998 13.8882
+0.234522 15.2684 13.3393
+0.838451 15.9264 12.999
+1.61164 16.198 13.5262
+2.58748 16.3696 13.8902
+2.53291 16.9452 14.7124
+1.91124 16.1443 14.8088
+2.48864 15.6801 15.4017
+2.85488 15.0965 16.1046
+3.19848 15.4336 16.9883
+3.37567 15.7194 17.9336
+3.68576 15.6472 18.9038
+3.73133 16.4755 19.5336
+2.97927 16.6775 18.8444
+2.3151 16.0307 19.2025
+1.42982 15.4404 18.99
+0.686562 14.7958 19.1064
+0.185258 14.1025 18.4768
+-0.02865873 13.7737 17.5867
+0.549877 13.2132 17.0376
+0.35408 12.9203 16.0825
+1.23961 12.8438 16.4375
+2.22795 12.5609 16.3193
+2.8305 12.452 15.6038
+3.05241 12.2764 14.6807
+2.75195 12.9566 14.021
+3.66967 13.1078 13.6776
+4.23362 12.4455 13.3202
+5.19663 12.2563 13.0821
+4.69977 11.3401 13.1315
+5.5189 10.774 13.3025
+6.45332 10.6969 12.8958
+7.04664 10.6529 13.6536
+6.65558 11.5059 14.0257
+6.69998 12.1839 13.3709
+6.71824 13.0966 13.7324
+7.05121 14.088 13.582
+7.86337 13.6618 13.9823
+7.6852 14.3234 14.7008
+8.23142 14.8411 14.1352
+7.68516 15.5874 14.4377
+6.99505 15.7995 15.1716
+6.60596 16.4343 15.7577
+7.01105 17.0814 16.3325
+6.27136 17.6878 16.7447
+6.20135 17.8799 15.7463
+5.31077 17.447 15.6763
+4.94453 17.4954 14.7145
+4.97427 18.378 15.2491
+4.73987 18.0723 16.1844
+3.77326 17.6909 16.0876
+2.7631 17.3667 15.8566
+3.26067 17.0428 16.7168
+2.41126 16.4844 16.4742
+1.43 16.5098 16.6895
+0.726538 16.1897 17.3227
+0.338607 16.2627 16.3811
+-0.340568 16.7954 15.871
+-0.07459183 17.5418 16.475
+-0.59678 17.3296 17.299
+-0.50361 17.9657 18.0093
+-1.11964 17.7331 18.7979
+-1.84589 17.0462 18.8015
+-2.50168 17.2567 19.4967
+-3.23881 16.8432 19.0173
+-3.77709 16.0569 18.7703
+-3.64453 16.1423 17.7281
+-3.90108 16.2293 16.7888
+-4.85859 16.2068 16.6398
+-4.32727 15.3166 16.5973
+-4.54688 15.2931 17.6156
+-4.30761 14.4432 17.0892
+-4.89151 13.9237 16.3779
+-4.85531 13.0398 16.8944
+-4.59658 12.1778 17.3483
+-4.57442 11.3451 17.9624
+-4.35027 11.9708 18.7095
+-4.86944 12.6624 19.2308
+-5.70099 13.0731 19.5085
+-5.59782 12.6426 20.3648
+-4.60837 12.6136 20.685
+-3.85789 12.7689 21.3312
+-2.93737 12.6661 21.1216
+-2.81741 13.2868 20.3856
+-3.10154 14.1308 20.8294
+-3.87658 14.3672 20.1952
+-3.18628 15.0192 20.0057
+-3.05176 15.8248 19.4832
+-2.35921 15.6286 18.9129
+-2.13738 15.2307 18.0519
+-1.20429 14.9701 18.3182
+-1.55634 14.7108 19.1984
+-0.805312 14.3251 19.6892
+-1.14344 15.2517 20.0725
+-0.119287 15.5422 19.9042
+-0.36607 16.3919 19.4238
+0.218311 17.2113 19.5215
+0.346517 17.6086 18.5822
+0.762423 18.5307 18.3856
+1.00527 18.7467 19.3784
+1.69244 18.815 20.0727
+1.61412 18.082 20.702
+1.07048 17.2656 20.4804
+0.824042 16.9264 21.4494
+0.08582117 16.3527 21.3355
+-0.688262 16.5827 20.7341
+-0.780652 17.3891 20.1664
+-1.4795 17.9024 20.6411
+-2.27095 18.1667 20.0808
+-2.72659 17.764 20.9109
+-3.66608 17.4102 21.1872
+-3.80204 16.4528 20.8775
+-4.66378 16.0681 20.5835
+-4.8135 17.0747 20.4427
+-5.13339 16.9208 21.3677
+-6.11843 16.622 21.2725
+-6.94947 16.0064 21.2379
+-7.51166 16.0827 22.0957
+-8.35459 16.5282 21.7075
+-8.50244 15.5476 21.901
+-8.46655 14.6384 21.4204
+-7.86248 15.1912 20.8568
+-7.90182 15.0691 19.8211
+-8.37037 14.2333 19.4651
+-8.29704 13.4427 20.0026
+-7.43897 13.4211 20.6086
+-8.23265 13.6654 21.1192
+-7.31675 13.7893 21.5215
+-7.25485 14.7595 21.762
+-6.79238 14.1726 22.5461
+-7.23238 14.0376 23.4248
+-7.24069 14.8912 23.9504
+-6.54127 14.5151 24.5538
+-5.88258 15.2255 24.7757
+-4.94877 15.2131 24.4247
+-5.37139 15.5978 23.5777
+-5.37452 16.1942 24.3427
+-5.51242 16.6954 25.2287
+-5.04655 17.2975 24.5667
+-5.14016 18.1517 24.2719
+-5.81691 18.6789 23.7819
+-6.73069 19.2107 24.0555
+-7.41599 19.26 24.7329
+-7.87022 19.1669 25.5419
+-8.27463 19.823 26.1166
+-8.30631 20.8405 26.111
+-9.31349 20.6029 25.8025
+-10.2905 20.4134 25.7888
+-10.2037 19.8813 24.9397
+-9.87627 18.8644 24.9883
+-9.67419 18.7185 24.0558
+-10.2779 17.914 23.837
+-9.86146 17.5132 23.019
+-10.0957 16.5405 23.0317
+-10.7712 15.8827 23.2531
+-10.1436 15.5172 23.9845
+-10.2324 14.558 24.1485
+-9.58726 14.5299 24.9397
+-9.37194 14.6121 25.9783
+-9.62032 14.2507 26.8247
+-10.3952 13.6669 27.1437
+-10.6463 12.8703 27.763
+-11.2845 12.2594 27.375
+-10.5351 11.6409 27.4895
+-10.017 10.9889 26.9377
+-10.5975 10.529 27.5968
+-11.2831 9.7591 27.4231
+-10.7157 9.15571 26.942
+-10.0847 8.38955 27.0552
+-9.73312 8.43277 26.0879
+-10.2059 8.28163 25.2074
+-10.6597 7.67908 25.7945
+-9.9097 7.13266 26.0911
+-10.0345 6.9663 27.0687
+-9.03112 6.88526 27.2665
+-8.82971 7.3601 26.4405
+-8.12374 7.46326 25.7888
+-8.89146 7.64394 25.1789
+-9.12288 8.2631 24.4524
+-8.59247 9.01232 24.0349
+-7.65658 8.77161 24.1142
+-7.4076 7.89838 23.7247
+-8.27022 7.81844 23.2961
+-8.48534 7.44544 24.1641
+-9.35665 7.68762 23.5703
+-10.1939 7.11957 23.7268
+-9.50617 6.48509 23.8388
+-10.1321 5.93411 24.422
+-10.9152 5.5422 23.812
+-11.3791 5.83057 24.6021
+-11.5888 4.86936 24.4333
+-11.3926 4.98143 25.4291
+-11.1943 4.63544 26.3195
+-11.5296 4.94264 27.2556
+-10.6465 4.71999 27.7355
+-9.64945 4.72284 27.8732
+-9.58739 5.74216 27.6969
+-9.15043 6.22818 28.4825
+-9.91748 6.74908 28.3092
+-9.25988 7.33337 28.6391
+-8.45 7.50959 29.2634
+-8.26468 7.00572 30.022
+-8.58737 6.11286 29.7657
+-7.90935 5.37691 29.6679
+-7.92276 4.45147 29.3318
+-8.41873 5.1656 28.7733
+-8.27556 5.52567 27.8693
+-7.35548 5.90001 28.1699
+-6.56946 6.50166 28.1443
+-6.30949 6.86527 27.2232
+-5.73822 7.62067 26.8621
+-6.10448 8.53336 26.8803
+-6.49722 9.3667 27.1806
+-7.40786 9.72059 26.9601
+-7.45054 8.81854 27.3262
+-7.94959 9.5869 27.7374
+-8.47139 10.365 27.7188
+-8.90216 10.6466 26.8866
+-9.2844 10.3427 26.0088
+-8.78512 10.6915 25.252
+-9.11905 11.4863 25.8133
+-8.46718 12.1411 26.1402
+-7.88891 12.2382 26.9795
+-7.89813 12.7563 27.8246
+-7.68476 12.3442 28.7757
+-8.14219 12.9307 29.4364
+-7.44078 13.4392 28.9339
+-6.47496 13.2427 28.7759
+-6.36921 14.1393 28.2426
+-6.95787 14.8775 28.5838
+-6.82252 15.0671 27.5782
+-7.21055 14.3391 27.1057
+-7.07835 14.8096 26.2124
+-7.38949 14.3575 25.4073
+-7.78507 13.502 24.9861
+-7.21225 12.7466 25.0678
+-7.85074 12.5767 24.2857
+-7.67553 12.6739 23.3704
+-8.69544 12.8511 23.3331
+-9.29841 13.1462 22.5553
+-9.32475 14.0062 22.0615
+-10.1832 13.6839 22.5201
+-10.775 12.853 22.5391
+-11.7399 13.0367 22.7952
+-11.0081 13.4303 23.4196
+-11.752 13.7055 24.0221
+-11.877 14.3786 23.3001
+-11.8261 14.7629 22.3423
+-11.0113 14.3669 21.907
+-11.1206 13.5911 21.3335
+-10.9593 14.0013 20.4239
+-11.749 14.5106 20.1334
+-11.5972 15.5032 19.9772
+-10.8026 16.04 20.3984
+-10.4304 16.7902 21.0268
+-9.62272 17.3794 21.2207
+-9.08679 18.1847 21.4167
+-8.71931 19.037 21.6905
+-9.15964 19.9298 21.7145
+-9.22379 19.8998 20.69
+-9.58439 20.5615 19.9389
+-10.4929 20.1667 19.8993
+-11.3644 20.656 19.6432
+-10.7333 20.9026 18.8673
+-10.8593 20.4903 17.9141
+-11.3916 19.7509 17.4479
+-10.5613 19.2566 17.6988
+-10.7844 19.106 18.7282
+-10.4148 18.2184 18.3312
+-10.8064 17.273 18.4647
+-11.4186 16.5512 18.6024
+-12.0162 15.9261 18.0243
+-12.5256 15.2488 18.5891
+-13.4478 15.472 19.0047
+-14.1135 15.2872 18.1791
+-15.0066 15.1557 17.7208
+-14.7781 14.1801 17.6872
+-15.2625 13.3551 17.5449
+-14.8851 12.8353 16.8242
+-13.9499 12.362 16.9257
+-13.5383 13.0428 16.3611
+-13.6088 12.7353 15.4402
+-12.8933 12.8591 14.727
+-12.4887 12.3143 15.5195
+-11.6162 12.3067 15.1164
+-11.1751 12.6006 15.9511
+-11.4776 12.4802 16.8523
+-12.4121 12.3243 16.7223
+-12.7809 12.7162 17.4788
+-12.7912 13.5059 16.8618
+-12.1356 13.7076 17.5817
+-12.7888 14.4745 17.3984
+-13.6732 14.6349 16.873
+-13.179 14.8563 16.06
+-12.6793 15.6412 15.6744
+-12.2449 14.8953 15.0648
+-12.3185 13.9296 15.1516
+-13.2074 14.1845 14.7177
+-14.2425 14.1984 14.9103
+-14.5828 14.8819 15.5581
+-14.316 15.8535 15.2641
+-15.1631 16.4316 15.0817
+-16.0766 16.3278 15.3044
+-16.6604 15.5164 15.4091
+-17.3376 14.8604 14.9808
+-18.1667 14.475 14.5652
+-19.0187 14.7234 14.9343
+-19.583 14.1536 15.5205
+-19.8463 13.4387 16.0107
+-18.9629 12.8297 16.1806
+-19.1386 11.8046 16.1918
+-18.2131 11.5093 15.9648
+-17.7369 12.2524 15.5134
+-16.7936 11.9571 15.5616
+-16.3299 12.7826 15.2521
+-15.7132 13.5462 15.5829
+-16.5108 13.3054 16.1483
+-15.6732 13.6171 16.6448
+-16.3137 14.3486 16.6398
+-15.8638 15.2298 16.6701
+-15.6635 16.2157 16.6935
+-15.3727 17.0416 16.2747
+-15.0865 17.5259 15.4751
+-15.7871 18.2198 15.3505
+-15.3271 19.1155 15.3146
+-16.2434 19.2611 14.9797
+-16.7097 18.9534 15.7695
+-17.5659 18.5002 15.8649
+-17.5395 19.487 15.7356
+-17.6871 20.1054 16.5296
+-17.6724 19.2189 16.9308
+-17.5602 18.4719 17.5933
+-17.7957 18.4445 18.5929
+-18.305 17.6112 18.6374
+-18.1872 16.673 18.8222
+-18.2193 16.4391 17.8813
+-18.9028 17.16 17.8339
+-19.2283 16.7168 16.9826
+-18.9506 15.9568 16.4447
+-18.5746 15.1322 16.2332
+-18.8276 14.8532 17.1804
+-18.7575 15.0307 18.1254
+-17.8326 15.14 18.3704
+-16.9473 14.6204 18.1047
+-16.2059 14.884 18.6507
+-16.2432 14.5058 19.5919
+-15.6099 13.9464 18.9756
+-14.6 13.8912 18.9512
+-13.9923 13.0595 18.8172
+-13.5292 13.425 19.5613
+-13.993 13.1978 20.3636
+-14.6867 12.6162 20.7416
+-15.6073 12.3189 20.9675
+-15.0435 11.5698 21.0191
+-15.9571 11.3637 21.1133
+-15.4662 10.5029 21.4542
+-15.9484 10.3951 20.5226
+-16.3642 10.0661 21.358
+-16.1419 10.185 22.3113
+-16.0294 11.1358 22.6692
+-16.9598 10.8475 22.5855
+-16.6693 11.3827 23.3619
+-16.4477 10.7754 24.1139
+-17.1124 10.8549 24.7868
+-17.7863 11.1782 24.0938
+-18.7602 10.816 23.9367
+-18.5658 10.0266 23.3521
+-19.1886 9.47953 23.9322
+-19.8598 10.1438 23.6414
+-19.5933 10.6886 22.8562
+-19.6146 10.1273 22.0806
+-18.706 10.3396 21.7782
+-18.6018 10.0445 20.8997
+-18.9033 9.17041 20.6803
+-18.1376 8.5393 20.4996
+-18.9054 8.00844 20.1879
+-18.1587 7.74695 19.532
+-17.1859 7.75635 19.8588
+-17.1805 7.76995 18.8747
+-17.1921 7.58457 17.9073
+-16.9178 8.50808 18.1169
+-17.1231 9.06721 18.8469
+-18.0986 9.21289 18.5359
+-18.7347 9.6992 18.0076
+-19.1564 10.2727 18.8313
+-18.7465 10.9604 18.2588
+-18.8217 11.7192 18.9407
+-18.8928 11.5145 19.9152
+-18.4903 12.2012 20.4674
+-17.6254 12.7732 20.6308
+-17.4326 13.5587 20.1046
+-16.4533 13.6925 20.2607
+-16.4676 13.3188 21.1241
+-16.5107 13.8741 21.9462
+-15.6627 14.4111 21.752
+-14.8775 13.7723 21.4931
+-14.2863 14.3221 20.7981
+-13.3127 14.178 20.7393
+-13.3767 15.1493 20.3617
+-12.5997 15.7726 20.2586
+-12.155 16.693 20.3165
+-11.8306 17.6467 20.4318
+-11.8732 18.5882 20.6413
+-12.7358 18.2127 20.7232
+-13.1773 17.3858 20.2496
+-13.9549 17.0154 19.7743
+-13.8654 17.8525 19.2735
+-14.0577 17.6219 18.3307
+-13.7845 17.4361 17.3413
+-14.3983 18.2368 17.258
+-15.1951 18.3822 16.6477
+-16.0136 17.9061 16.7761
+-16.6729 17.2911 16.4149
+-17.5746 17.208 15.93
+-18.4328 17.4644 15.4581
+-18.3357 16.7684 14.7144
+-18.045 17.6165 14.1574
+-18.1341 18.3125 13.4303
+-18.3734 17.6653 12.6935
+-17.6663 17.8491 11.9878
+-16.8991 17.2766 11.6611
+-17.4872 16.7457 11.0615
+-17.1805 17.0327 10.1114
+-17.7324 17.8299 10.3488
+-18.6746 18.0004 10.3405
+-19.0055 18.5259 9.58436
+-18.5974 19.4175 9.55676
+-18.7359 20.4072 9.37613
+-19.0353 21.2985 9.78009
+-18.3791 21.2753 10.5014
+-18.5936 22.0402 11.1632
+-18.917 22.9438 11.4671
+-18.1151 22.4043 11.9458
+-17.6567 22.4105 12.7858
+-17.1338 23.2648 12.6985
+-16.8677 23.311 13.6922
+-16.3439 22.8639 14.5396
+-16.171 21.8763 14.4748
+-16.2591 22.3087 13.5273
+-15.632 22.5935 12.8258
+-15.4894 23.4592 13.1395
+-15.3173 22.6868 13.778
+-14.7481 22.7939 14.5766
+-14.9006 22.827 15.5538
+-14.8145 23.835 15.3272
+-14.0736 24.1743 15.953
+-13.9518 25.1392 15.7091
+-13.2104 25.7307 16.1456
+-12.4487 26.1901 16.4891
+-11.9071 25.5218 16.0092
+-11.4205 25.4112 16.9006
+-11.9475 25.8285 17.6469
+-11.277 26.5033 17.9087
+-10.7053 27.3219 17.8562
+-9.76829 27.2794 18.1556
+-10.3519 26.9594 18.9083
+-9.94576 26.261 18.4027
+-9.38996 25.6628 19.0171
+-9.28986 24.8435 19.6535
+-8.55894 24.1343 19.5846
+-8.27845 23.5274 20.2925
+-9.25769 23.3377 20.5657
+-10.202 23.2442 21.0384
+-11.1574 23.3491 20.7525
+-12.1588 23.3874 20.9074
+-12.4513 22.6004 21.3801
+-12.9049 22.4265 20.5409
+-13.6599 22.6359 19.959
+-13.9145 23.0959 20.8372
+-14.7721 22.6526 20.8068
+-14.9544 22.2173 19.9097
+-14.7328 22.6622 19.0809
+-14.9607 23.3032 18.2774
+-14.5427 22.6814 17.6736
+-15.4136 22.7159 17.2668
+-16.4153 22.7397 17.1208
+-16.5893 22.4149 18.1155
+-15.9289 22.7518 18.7312
+-15.9244 21.7882 18.958
+-15.5509 21.1278 18.217
+-14.7189 20.9664 17.5766
+-14.6613 21.0822 18.5472
+-15.0285 20.2393 19.0311
+-15.3518 19.3254 18.6501
+-15.9325 18.7599 19.2964
+-15.7713 18.2651 18.4171
+-15.6912 17.6564 19.1452
+-15.2923 16.7898 19.2253
+-15.4367 16.6545 20.151
+-15.9839 15.9609 20.6077
+-16.6227 16.7121 20.7775
+-17.4859 17.1689 20.5891
+-18.4602 16.743 20.7645
+-18.3479 16.8156 21.7094
+-19.0509 17.5038 21.5016
+-19.7257 16.977 22.1125
+-19.7439 16.8085 23.1147
+-20.6924 16.5805 23.3813
+-21.4412 16.4257 22.8399
+-20.7082 15.7547 22.641
+-20.6844 14.829 22.283
+-19.9474 14.961 22.9103
+-19.7388 14.0187 22.9859
+-19.8466 13.1608 22.4646
+-19.4046 13.1681 23.4718
+-19.1536 13.9338 23.962
+-18.5485 13.2238 24.0471
+-18.0648 13.8546 23.4377
+-17.5799 14.5686 22.9081
+-17.6619 14.8168 23.8613
+-18.2578 15.4619 24.2781
+-17.9582 16.4469 24.109
+-17.6755 16.9236 24.8957
+-18.5215 16.9373 25.4714
+-19.4183 17.338 25.1469
+-18.8808 17.9821 25.637
+-18.6362 18.6545 24.9821
+-19.5073 18.3459 24.7167
+-20.1164 18.8315 23.9816
+-19.4923 18.3585 23.3881
+-18.8849 17.6557 22.9788
+-18.2202 17.8708 22.2271
+-17.5589 17.1464 22.1975
+-17.2932 17.5585 23.0651
+-16.5432 17.7389 22.3837
+-15.7144 17.9381 22.9173
+-16.3513 17.6815 23.6964
+-16.0213 16.7027 23.7297
+-15.2124 16.1975 23.5581
+-15.2011 15.7188 22.7401
+-14.8047 14.8412 22.9806
+-14.1778 14.1342 23.2934
+-13.1686 14.0071 23.3134
+-12.6884 13.2599 23.8103
+-13.2402 13.1828 24.7196
+-12.9157 12.7744 25.5448
+-12.1142 12.5019 26.0817
+-12.4625 11.8811 26.7922
+-13.317 12.4758 26.6899
+-13.7725 11.7677 27.2093
+-13.4431 11.0788 26.6688
+-13.0654 10.2098 26.3977
+-12.7548 10.4749 25.5205
+-12.8074 11.4701 25.6319
+-13.1337 11.6686 24.729
+-12.5095 11.0255 24.1895
+-11.5039 10.9275 24.3846
+-10.7034 11.2197 24.9484
+-10.4626 10.3553 25.4186
+-9.9755 10.3003 24.5521
+-9.91432 9.29653 24.4089
+-10.857 8.89677 24.5524
+-11.3036 9.26059 23.7477
+-11.8072 9.51852 22.9215
+-11.7967 8.56454 23.2307
+-11.3209 7.79167 22.9254
+-10.7523 7.40492 22.248
+-11.5007 6.99869 21.7899
+-12.0769 7.31457 20.9871
+-11.5715 7.9607 20.44
+-11.4073 8.98442 20.5984
+-11.3918 9.94881 20.897
+-12.2319 10.4451 21.1892
+-13.0199 11.055 20.982
+-13.3564 11.2534 19.9807
+-13.7865 10.5222 19.5117
+-13.4502 10.5107 18.5976
+-13.043 10.4438 17.749
+-12.2273 10.0108 17.4723
+-12.5577 9.08826 17.5507
+-11.6459 8.66923 17.4206
+-11.6707 9.36542 18.1345
+-11.117 10.0741 18.4398
+-10.8395 9.95574 19.3871
+-9.90197 9.49041 19.2377
+-9.11125 9.28621 19.9098
+-8.4818 9.57175 19.2234
+-8.42459 10.3954 18.6877
+-8.57474 11.3183 19.1904
+-8.74988 12.2759 19.056
+-9.40394 12.3205 19.7482
+-10.4485 12.3756 19.5622
+-10.7964 12.7804 20.4525
+-10.5762 12.0403 21.0676
+-10.3543 11.1889 20.529
+-9.38529 11.3239 20.5157
+-8.46428 10.9455 20.5807
+-7.50961 11.1828 20.2997
+-6.83598 11.6451 20.7898
+-6.79848 12.1087 19.9114
+-7.01947 12.3553 18.8988
+-6.57618 12.6541 18.0601
+-6.68889 11.9181 17.3753
+-6.43095 12.5005 16.6678
+-6.09319 11.6329 16.3833
+-5.70758 11.1032 15.6192
+-5.4642 10.1379 15.5568
+-5.73957 10.029 14.6754
+-5.83837 10.6101 13.8236
+-6.0324 9.76151 13.3437
+-6.5066 8.92616 13.7816
+-6.12758 8.49811 12.9124
+-5.58692 7.70963 12.5082
+-5.65621 7.29758 13.4577
+-6.23639 6.82122 12.8195
+-6.52923 6.18239 13.4826
+-7.12281 6.47546 14.2025
+-7.51973 6.02518 13.4423
+-7.62218 5.09288 13.2347
+-7.0392 4.28759 13.3086
+-6.41266 3.61001 12.9435
+-6.82261 4.09686 12.1687
+-7.80549 4.20824 11.9885
+-8.30621 3.41747 12.1095
+-9.2627 3.54989 12.316
+-10.023 4.08509 12.4124
+-9.72938 3.90804 13.3742
+-10.0912 2.96597 13.2832
+-9.15341 2.98966 13.5886
+-8.59627 2.24224 13.5587
+-7.60002 2.23444 13.4752
+-6.63667 2.17544 13.41
+-6.98481 1.4074 13.9763
+-6.9083 0.5065679 13.4237
+-6.9112 0.9622379 12.596
+-7.53448 0.7725789 11.9144
+-7.60953 1.6602 11.4576
+-8.36788 1.93418 12.1355
+-9.34165 1.94978 12.4718
+-10.1182 1.22617 12.4151
+-9.66928 0.3470699 12.4145
+-10.0608 -0.3770331 13.0348
+-10.8053 0.04534363 13.5136
+-10.9185 -0.2201981 14.4826
+-10.0884 -0.8247281 14.357
+-9.89581 -1.72135 13.9119
+-10.3052 -2.20956 14.6204
+-9.43827 -1.7697 14.6702
+-9.29361 -2.75503 14.7466
+-8.7679 -2.93523 13.9322
+-8.77967 -1.97943 13.6263
+-8.00721 -1.71124 14.2108
+-7.20527 -2.39233 14.3776
+-6.28708 -2.46018 14.7517
+-5.50978 -2.99763 15.0035
+-4.87456 -3.32088 15.7476
+-5.09218 -2.82564 16.6017
+-5.67044 -3.31431 17.1573
+-4.84077 -3.5213 17.587
+-4.12491 -2.92833 17.0893
+-3.70147 -2.38648 17.8064
+-4.15076 -2.14764 18.6848
+-5.00106 -2.15323 19.223
+-5.76624 -1.47259 19.4341
+-6.11242 -1.90146 18.5689
+-6.56273 -2.51765 19.1764
+-7.39541 -3.01351 19.5393
+-8.09007 -2.91378 20.1831
+-8.2729 -3.61092 20.8907
+-8.15377 -4.62146 20.8853
+-7.568 -4.93991 21.6478
+-6.63677 -4.55956 21.5797
+-5.85004 -3.95808 21.6858
+-6.18667 -3.33517 20.9813
+-6.18737 -3.78658 20.091
+-5.53664 -3.81778 19.2804
+-4.74382 -3.39137 19.5492
+-4.48988 -4.11556 20.1403
+-3.96259 -3.8037 20.977
+-4.41188 -4.54418 21.4637
+-4.04224 -5.35216 21.9567
+-4.40963 -5.44066 22.9089
+-5.38588 -5.64926 23.2517
+-6.13691 -6.27672 23.4865
+-5.57736 -7.13338 23.6287
+-5.26086 -7.74733 24.3534
+-4.76193 -8.5053 23.9714
+-5.01191 -9.00159 23.1045
+-5.48674 -9.15889 23.9406
+-5.71304 -10.015 24.4442
+-5.4502 -11.0022 24.3822
+-6.33849 -11.3386 23.9728
+-7.02374 -10.8667 23.4476
+-7.53232 -11.2014 24.1847
+-7.49145 -10.6107 25.0168
+-6.9053 -11.4621 25.2611
+-6.38879 -12.1357 25.8535
+-6.36445 -11.198 26.0922
+-5.92291 -10.3555 25.8464
+-5.17424 -10.0078 26.3332
+-4.17552 -10.1896 26.3951
+-4.27346 -11.1812 26.4777
+-4.42498 -11.7999 27.2648
+-4.90142 -10.9772 27.4722
+-5.30733 -11.2148 28.3398
+-6.20028 -10.7248 28.3176
+-6.33272 -10.5286 29.3213
+-6.43742 -9.55612 29.1571
+-7.29997 -9.20025 29.2828
+-7.58897 -9.9788 29.8861
+-6.93379 -10.0995 30.58
+-6.14338 -9.92119 31.1486
+-6.1572 -10.7217 31.7428
+-5.82427 -11.5901 31.4013
+-5.30131 -11.6555 30.5361
+-4.93664 -10.7189 30.6573
+-4.19201 -11.3324 30.9709
+-3.68283 -10.5157 31.2255
+-3.73708 -9.71466 30.5821
+-4.44 -9.83453 31.3634
+-3.94838 -9.294 32.0201
+-3.18098 -9.11628 31.345
+-2.39008 -8.55957 31.2029
+-2.05082 -8.53588 32.1061
+-2.26029 -8.27083 33.0851
+-2.07005 -7.81418 33.9578
+-2.96949 -8.29667 34.1874
+-2.87032 -9.29739 34.5377
+-3.18066 -8.5738 35.1983
+-3.65129 -7.86996 35.7071
+-4.32729 -7.48876 35.096
+-5.23578 -7.74284 34.741
+-5.35578 -6.726 34.8471
+-6.05153 -6.76102 35.5926
+-6.54671 -5.89182 35.2567
+-6.68215 -5.98972 34.2487
+-6.52886 -5.29829 33.5225
+-6.88663 -4.53885 33.0493
+-7.16786 -5.23523 32.4089
+-8.06323 -5.48035 31.9662
+-8.29513 -6.48819 31.8019
+-8.82276 -6.89359 31.0891
+-9.27165 -6.00209 30.9584
+-9.80357 -5.40461 31.6331
+-10.405 -5.39372 32.4776
+-11.415 -5.11379 32.3357
+-11.1509 -5.96425 32.7861
+-11.5918 -6.63834 33.4712
+-12.4635 -6.42018 33.8848
+-13.1562 -6.45987 33.2074
+-14.0476 -6.77484 32.8405
+-14.3378 -7.0149 31.9364
+-14.5929 -6.07239 31.7581
+-15.4385 -6.07943 31.1631
+-14.6744 -5.57146 30.7134
+-15.2822 -4.82025 30.9771
+-14.7682 -4.04592 31.1709
+-15.084 -3.21782 30.6917
+-14.112 -3.10347 30.7817
+-13.9216 -3.18426 29.8556
+-13.1466 -2.87235 29.3618
+-12.5682 -2.92074 28.6379
+-12.5167 -2.33895 27.8458
+-11.7169 -2.29985 27.2916
+-12.0668 -1.42706 27.0851
+-11.1609 -1.30288 26.6055
+-10.5427 -1.99737 26.7869
+-9.74331 -2.47059 27.1014
+-9.41825 -3.032 26.2967
+-9.80622 -2.55707 25.5282
+-9.44122 -1.90508 24.8764
+-8.83089 -1.39274 25.4942
+-8.6453 -0.8265411 26.2531
+-9.56127 -1.1234 26.155
+-9.71968 -0.2689041 26.6388
+-8.83494 -0.1100241 27.0623
+-8.1758 -0.8948181 27.1743
+-7.27594 -0.7465051 27.6738
+-6.7384 -1.54388 27.2822
+-5.96771 -0.9817801 27.0766
+-5.40222 -0.5206561 26.3983
+-4.97203 -0.09070167 27.2626
+-4.24461 0.4979579 26.7936
+-3.38887 0.04514773 26.6222
+-2.9279 0.9747779 26.6634
+-3.2322 1.92719 26.5999
+-3.84125 2.3788 27.2713
+-3.39326 3.28384 27.4414
+-4.11535 3.67397 27.983
+-4.75974 4.08214 28.5839
+-5.08527 4.21383 27.6826
+-5.8542 4.41118 26.9439
+-6.01378 3.82445 27.7835
+-5.67777 2.99541 27.7152
+-5.52844 2.80348 28.68
+-5.03618 3.08359 29.472
+-4.3058 2.43601 29.6745
+-4.42237 1.52481 29.2594
+-5.11775 1.03787 28.7661
+-5.88508 1.18043 29.402
+-6.06451 1.42617 30.3362
+-6.70212 1.76528 29.6544
+-6.24947 2.67021 29.7726
+-6.03974 3.49465 30.1951
+-6.7946 4.07921 29.7849
+-6.05298 4.8147 29.7259
+-5.20269 5.12236 29.349
+-5.21677 5.85871 29.9603
+-5.41315 6.78781 29.8875
+-4.79568 6.81262 29.0268
+-3.99514 6.66947 28.3858
+-3.03944 6.46079 28.3659
+-2.73542 7.34365 27.9838
+-1.75812 7.2557 28.2258
+-2.25347 7.04342 29.0599
+-1.61236 6.25496 28.986
+-1.02287 6.91168 29.4939
+-0.451451 7.1928 28.7106
+0.365517 7.16305 29.3096
+0.730573 6.38164 29.7813
+0.227381 5.60288 30.2386
+1.17522 5.2819 30.0144
+0.527798 4.85559 29.3264
+1.30285 4.54081 28.7769
+1.77442 5.03089 28.0603
+2.00437 4.99447 27.117
+2.53116 4.7549 26.2939
+3.29996 4.29444 26.6396
+3.29535 3.46968 26.056
+3.30932 3.2663 25.0624
+3.16526 2.49723 24.4967
+3.78679 2.08986 25.2208
+3.4458 1.47527 24.4779
+2.48671 1.31702 24.7223
+1.95008 2.09493 24.3169
+1.35608 2.75267 23.8601
+2.0616 2.64606 23.1265
+2.00713 1.63868 23.3914
+2.00937 1.14744 22.5003
+2.59985 0.6195839 21.9239
+1.80939 0.8462109 21.3958
+1.85162 -0.1277821 21.6161
+1.02254 -0.7200291 21.9197
+0.690945 -0.7312221 22.9215
+0.403874 -0.8673551 23.8584
+0.434681 -1.50882 24.6346
+-0.274303 -1.89818 25.2585
+-0.639269 -2.74045 25.6398
+-0.04237533 -3.49552 25.4272
+0.514925 -4.27574 24.9553
+1.15316 -3.50431 24.9077
+1.60065 -2.75995 25.3418
+1.99883 -2.9098 24.4127
+2.05443 -3.16592 23.4693
+1.33345 -3.77129 23.6844
+1.29112 -4.43999 22.9496
+0.322235 -4.35958 22.7196
+0.105746 -3.45459 23.1529
+-0.362931 -2.87389 23.7947
+0.146905 -2.02739 23.5413
+0.44663 -2.24749 22.6242
+-0.526826 -2.14007 22.4105
+-0.622878 -3.00554 21.9627
+-1.08994 -3.85938 21.9486
+-1.12968 -4.37923 21.1123
+-1.01048 -5.38815 21.1541
+-1.76751 -5.03038 20.6074
+-1.94746 -5.96863 20.2533
+-2.26909 -6.36072 19.3439
+-2.0392 -7.05389 18.658
+-2.28634 -7.32747 19.5801
+-1.62751 -7.22985 20.2615
+-1.09849 -7.78448 20.9566
+-0.218492 -7.36891 20.9073
+-0.419421 -6.39214 20.514
+0.304016 -6.48977 21.2594
+-0.28069 -6.40402 22.0212
+-0.210638 -5.9323 22.9262
+-0.716771 -5.1326 22.6556
+-1.68668 -5.40062 22.5905
+-2.61417 -5.76572 22.6832
+-2.14844 -6.67534 22.4849
+-1.75015 -6.63236 23.3474
+-2.49746 -6.51173 24.0638
+-3.3793 -6.60586 24.5469
+-4.36157 -6.31374 24.9615
+-4.47375 -5.64805 25.6552
+-3.69084 -5.24956 26.2145
+-3.89047 -4.7364 27.1186
+-4.37352 -4.23448 27.8074
+-4.29441 -5.18286 28.1244
+-5.17571 -4.87955 28.1981
+-4.7282 -4.52529 29.0677
+-5.72619 -4.5132 29.0892
+-5.54859 -5.22415 29.7358
+-4.82587 -4.74857 30.2636
+-5.42183 -5.28575 30.8639
+-5.76328 -6.18681 31.2043
+-5.75381 -7.1412 31.5102
+-5.66724 -8.12792 31.6831
+-4.91815 -7.36239 31.8159
+-4.1578 -6.84564 32.1882
+-3.47264 -6.3744 31.6824
+-2.87729 -5.71147 31.2161
+-2.12123 -6.21802 30.8012
+-1.49863 -6.99656 30.7192
+-0.845301 -7.36273 29.9408
+-0.497765 -8.08031 30.5426
+-0.524816 -8.764 31.3038
+0.208163 -9.21771 31.8504
+1.01749 -8.8485 31.4359
+1.17272 -7.85719 31.4748
+1.93303 -7.613 32.1547
+2.86436 -7.56703 32.507
+2.51494 -6.87016 33.0712
+2.85106 -6.25975 33.8482
+2.30752 -6.41459 34.6217
+1.51016 -5.96997 34.3861
+1.43944 -5.28215 35.0192
+2.33784 -5.01546 34.5743
+2.33009 -4.74999 33.6209
+2.73395 -5.14368 32.8468
+2.63126 -5.17544 31.8521
+2.88054 -4.79449 31.0063
+1.8996 -5.00915 30.982
+1.25565 -4.33824 30.5591
+0.58151 -3.69609 30.2306
+-0.362328 -3.85429 30.4364
+-0.35023 -4.60746 31.1467
+0.330081 -5.18736 30.6682
+-0.18175 -5.73773 30.0651
+0.185889 -6.67063 29.8782
+0.811363 -7.14157 29.2376
+1.12166 -6.41543 29.9564
+1.40391 -5.9569 29.1649
+1.46552 -5.33913 28.3903
+2.32138 -5.27667 27.8152
+3.01919 -5.02694 28.4559
+3.4678 -5.92059 28.1798
+3.90833 -5.59594 28.975
+4.82014 -5.35005 29.3698
+4.93707 -4.75136 30.215
+4.41362 -4.10462 30.7744
+4.27884 -4.19642 31.7609
+3.56153 -3.59741 31.8484
+3.7201 -2.60856 32.1932
+4.04701 -1.94419 31.4713
+3.37178 -1.30375 31.511
+3.57398 -0.2698791 31.5979
+3.56605 -0.4208131 30.5606
+4.31313 0.01836233 31.008
+4.83208 0.7215209 30.5145
+5.34699 1.5726 30.4245
+4.85389 2.24517 29.9415
+4.52996 3.18367 29.7697
+4.32128 2.72043 30.6236
+3.51084 2.38909 31.0544
+2.75497 2.84588 31.5962
+1.90812 3.47994 31.7825
+0.929293 3.38519 31.7505
+0.196676 3.09466 32.3419
+-0.316065 2.3669 31.8835
+0.200461 1.5933 31.7226
+-0.608195 1.03412 31.6335
+-0.395155 0.8490619 30.6816
+-0.949291 1.29104 29.9099
+-1.30035 2.05812 29.3079
+-1.95375 1.93891 28.5546
+-1.24183 2.22192 27.9019
+-1.07515 3.01533 27.2496
+-1.07866 3.57916 28.0733
+-0.964031 3.73296 29.0427
+-0.337105 3.35158 29.6822
+0.271269 3.51284 29.018
+0.736709 2.74606 28.4829
+0.446781 1.99857 27.8718
+0.108797 1.89724 26.9177
+0.777923 1.21703 26.7383
+0.924952 1.71474 25.8795
+0.618567 1.14264 25.0979
+0.378764 0.7466329 24.1631
+0.93713 1.23846 23.4462
+0.855474 1.63827 22.4858
+0.009510075 1.86773 21.9857
+-0.710412 1.28226 22.3759
+-0.276635 0.9320909 21.4944
+-1.20145 0.7377259 21.1138
+-1.83873 0.5309719 21.8034
+-2.32477 1.28549 22.1568
+-2.27728 0.9553069 23.1345
+-3.26512 1.22654 23.3708
+-3.03484 2.09794 23.8566
+-3.60286 2.89649 23.6691
+-3.33235 2.93765 24.6656
+-3.41956 3.95703 24.7783
+-4.40116 3.79314 24.9308
+-5.37141 3.73399 24.9075
+-5.89451 3.82524 24.0423
+-6.48751 3.02895 24.2291
+-7.38622 2.73971 24.2945
+-8.15523 2.51628 23.7183
+-8.74059 2.72597 24.4821
+-8.28493 1.90851 24.9018
+-8.08307 1.97452 25.9377
+-8.18537 1.78968 26.8694
+-7.93235 2.06713 27.8024
+-6.94646 2.11559 27.3285
+-6.75307 2.72775 26.6202
+-5.91853 2.25696 26.6893
+-6.51786 1.55874 26.2707
+-5.97372 1.83486 25.4904
+-6.14115 1.52343 24.5476
+-6.2118 0.8391489 23.8398
+-5.47006 1.14165 23.3156
+-5.95577 1.1052 22.4598
+-5.17949 1.36423 21.9619
+-4.46204 0.9758969 22.5612
+-3.79432 1.67466 22.464
+-3.72159 2.50009 21.9158
+-4.49495 3.10369 21.9539
+-5.3014 3.28906 22.5334
+-5.0138 4.19 22.7672
+-5.45061 4.916 22.2848
+-5.48488 5.16796 21.2641
+-5.94861 5.2914 20.3308
+-5.62445 5.36652 19.3903
+-5.22768 6.29182 19.1841
+-6.14341 6.26712 18.8145
+-5.61719 6.39452 17.9652
+-6.10534 5.55273 17.8517
+-6.98833 5.62487 17.5105
+-7.34195 4.86915 16.8934
+-6.48641 4.60352 17.3568
+-5.51965 4.48477 17.8496
+-4.6781 4.1692 17.2818
+-4.99704 4.98921 16.8027
+-4.66352 4.23928 16.2949
+-4.7597 3.24288 16.4605
+-5.02135 3.37023 15.5684
+-5.9268 3.40904 15.8462
+-5.93066 2.69033 15.1967
+-6.46015 1.89183 15.4298
+-5.97087 1.25547 16.0639
+-5.48825 0.9569169 15.2301
+-5.01502 0.6202689 16.016
+-5.40873 -0.2522141 16.1655
+-5.84557 -0.001250536 17.073
+-5.66956 -0.7742791 17.6143
+-4.73681 -0.6064961 17.6853
+-3.94726 -0.1405641 17.3354
+-3.42055 0.3823579 17.9432
+-2.43536 0.6982449 18.1111
+-1.67294 1.06096 17.5337
+-1.92632 1.94263 17.3153
+-1.66695 2.4393 16.5278
+-2.33579 2.66821 15.8142
+-2.26839 3.23438 15.0128
+-1.72216 2.55147 14.455
+-0.792499 2.39492 13.963
+-1.01595 1.47049 13.6366
+-0.435737 1.55502 14.4676
+0.281482 2.09536 14.0451
+0.452657 3.02221 13.9832
+-0.03647023 3.9488 13.9494
+0.295026 4.51042 14.6784
+0.39807 5.24785 15.291
+1.1862 5.4817 15.9281
+1.30632 6.31889 15.4169
+0.956525 7.22962 15.7198
+0.717265 8.17721 15.9127
+1.48833 8.58118 15.4004
+1.35629 9.61416 15.1757
+0.756229 9.41195 14.4451
+0.233297 8.55392 14.4531
+-0.657418 8.36828 14.8184
+-1.27213 7.79572 15.3577
+-1.56239 6.88016 15.6475
+-1.69537 7.17001 16.7054
+-1.16217 7.32904 17.5741
+-0.519996 6.93806 18.21
+0.001502085 6.94523 19.0375
+0.319531 7.63463 18.4952
+1.08252 7.9272 17.9665
+1.92018 8.48213 17.906
+2.37683 9.36327 17.5847
+3.01797 9.26593 16.8635
+3.05938 9.92907 16.1827
+2.71254 10.8397 15.9111
+1.95224 11.2068 15.419
+1.39757 11.897 15.9257
+0.440535 11.5693 16.0728
+-0.431982 11.1584 16.2884
+-0.823348 11.7711 16.9477
+-1.79572 12.0241 17.0228
+-2.44767 11.2706 17.0925
+-3.27913 11.5439 17.435
+-3.98258 11.1465 16.9052
+-4.52637 11.0621 16.0153
+-3.96333 11.8639 16.1102
+-3.31606 11.4527 15.4064
+-3.3598 10.5127 15.1708
+-3.07717 9.90199 15.9513
+-2.84445 9.41486 15.0957
+-1.90804 9.55034 15.0367
+-1.95755 9.40783 15.9949
+-2.3107 9.64181 16.9336
+-1.91241 8.88985 17.5614
+-2.3557 7.99968 17.3585
+-3.29489 7.82852 17.2924
+-4.35085 7.64661 17.2769
+-4.52483 8.59425 17.5392
+-5.52312 8.61525 17.4682
+-6.43929 8.67011 17.9125
+-6.62915 8.44699 16.9832
+-7.48997 8.93207 17.1254
+-8.35121 8.67164 17.4766
+-8.73507 7.79997 17.9218
+-9.17031 6.96659 18.1828
+-9.46145 6.55346 19.0879
+-9.99601 6.35177 18.1984
+-10.8072 6.10779 17.6038
+-10.1708 5.88915 16.8632
+-9.32302 5.5957 17.2592
+-9.79567 4.85061 17.7652
+-9.84323 3.97941 18.1793
+-10.3379 3.77281 17.3482
+-11.0041 3.11954 17.6233
+-11.1846 2.34166 18.2699
+-11.3077 2.15845 17.3224
+-11.2598 1.68814 16.4474
+-10.3608 1.68617 16.956
+-10.4009 0.8290709 16.3585
+-9.97106 0.4625279 17.1954
+-9.72376 0.7649709 18.1487
+-9.42196 -0.1227481 17.9359
+-9.93362 -1.03028 17.7878
+-10.7726 -1.39647 17.2498
+-10.1325 -2.14979 16.8517
+-10.2503 -3.10051 17.2427
+-9.77458 -3.39673 16.3668
+-9.07681 -3.00125 15.836
+-8.68544 -2.13801 15.6461
+-8.46047 -1.29713 15.1198
+-7.52676 -0.9147031 15.25
+-7.78187 -0.5061731 16.174
+-7.61409 -1.22045 16.7775
+-8.47026 -1.64882 17.1196
+-8.23695 -1.10643 18.0179
+-8.87871 -1.79948 18.3726
+-9.47966 -2.27646 19.0046
+-10.3828 -1.99695 19.4502
+-11.3457 -2.32622 19.2508
+-11.4249 -1.91662 18.3106
+-11.4643 -1.27815 19.057
+-12.145 -1.05747 18.3592
+-12.3441 -1.8133 18.9196
+-12.3564 -2.67689 18.5365
+-11.7751 -2.94705 17.7541
+-12.7356 -2.60118 17.5336
+-12.8955 -2.83162 16.6069
+-13.8152 -3.11445 16.8873
+-13.2377 -3.9447 16.8912
+-13.2704 -4.63087 16.1736
+-12.5908 -4.6114 15.4655
+-12.364 -4.00137 16.2124
+-11.5665 -3.33246 16.1004
+-11.1276 -2.91386 15.3262
+-12.1046 -2.70158 15.325
+-12.3588 -2.89598 14.3428
+-12.7441 -3.7051 14.7497
+-13.3798 -3.46943 15.4666
+-14.2902 -3.85219 15.8335
+-15.2945 -3.54731 15.9353
+-14.6511 -3.02693 15.3534
+-15.2812 -2.305 15.1662
+-14.9897 -1.71937 15.9627
+-15.9162 -1.74234 15.9776
+-16.1593 -0.9150431 15.5164
+-16.7863 -1.09016 14.795
+-16.9673 -1.87161 14.142
+-16.8965 -2.2246 14.9936
+-17.6086 -2.91009 14.8043
+-17.4582 -3.91199 14.4678
+-17.5109 -4.5784 15.2454
+-17.3387 -3.67502 15.6705
+-17.5511 -3.53909 16.6148
+-17.0708 -3.19278 17.4277
+-16.7491 -2.56466 18.1019
+-16.2673 -1.65735 17.9786
+-15.7559 -0.7729371 18.3099
+-15.5531 -1.02127 17.3238
+-14.9254 -1.44104 17.8584
+-14.8566 -2.31879 17.3559
+-15.2033 -2.51268 18.296
+-14.5085 -2.28098 18.9709
+-14.2126 -1.6524 19.6825
+-13.8885 -0.8455291 20.2602
+-14.0771 0.1001789 20.3876
+-14.132 1.08998 20.3361
+-14.0657 1.67083 19.5364
+-13.561 0.9319009 19.2784
+-12.6583 1.18574 18.7263
+-12.376 1.57846 19.6251
+-12.3124 1.4091 20.6053
+-12.2302 0.4217849 20.6174
+-12.1371 -0.6572291 20.5515
+-11.1698 -0.3581631 20.7003
+-10.8272 0.5140509 21.0789
+-10.979 1.45377 20.7236
+-11.172 2.23599 21.2647
+-10.7487 1.78645 22.0483
+-10.0083 1.80938 22.7537
+-9.81458 1.3421 23.6951
+-10.1977 2.0792 24.1954
+-11.0591 1.94857 23.6274
+-11.946 2.1409 23.8964
+-12.8461 1.86973 24.2515
+-13.5169 1.02771 24.2243
+-13.6795 0.6323989 25.19
+-14.5057 1.03741 24.7954
+-14.464 1.45838 25.7284
+-14.3281 0.8274849 26.5187
+-15.2384 1.29468 26.4223
+-15.9738 1.91644 26.6419
+-16.6474 2.43745 26.1147
+-16.4351 3.35893 26.251
+-17.1533 3.69354 26.7755
+-17.0724 4.67839 26.6334
+-16.6069 5.46636 26.807
+-15.6239 5.66349 26.9223
+-14.7689 5.31954 27.0369
+-15.3619 4.64461 27.3967
+-14.8233 3.97708 27.823
+-14.4789 3.07267 27.7415
+-14.0386 3.29948 28.5975
+-13.0364 3.38173 28.3586
+-12.2707 3.88933 27.8666
+-11.9399 4.05107 28.812
+-12.5444 4.89123 28.7826
+-12.1118 5.57835 29.3341
+-11.3539 6.31362 29.3602
+-11.2644 6.38652 30.3147
+-10.4343 6.39975 29.8653
+-10.8 7.30987 30.1272
+-10.3176 8.0031 29.5132
+-9.83753 8.90007 29.3571
+-9.66591 9.70606 28.7058
+-8.80694 9.96169 29.1745
+-8.72459 10.9123 29.6128
+-7.95256 11.4525 29.3908
+-7.46787 10.582 29.3119
+-7.1167 9.59736 29.1131
+-6.38114 10.1605 29.3588
+-6.11763 10.2431 28.4125
+-5.10435 10.0179 28.2777
+-4.6689 10.9536 28.3371
+-4.04731 10.2733 27.929
+-3.56455 9.77776 27.3134
+-4.25147 9.49787 26.5559
+-3.41422 9.30634 25.9967
+-3.11605 8.40876 25.9881
+-2.75844 8.61951 25.0464
+-2.77269 7.57708 25.3082
+-3.33558 6.76937 25.2797
+-3.27294 6.35714 26.1728
+-3.49942 5.45805 25.7926
+-3.70976 5.52042 24.7639
+-3.95999 5.19512 23.8186
+-3.76067 4.89075 22.86
+-3.18962 5.60944 22.51
+-3.36531 6.29943 21.8091
+-4.20933 6.31208 21.3261
+-3.76648 7.15583 21.6139
+-4.23427 6.9834 22.5762
+-5.15967 7.42483 22.5685
+-5.45973 7.69452 23.4668
+-6.18652 7.08279 23.7398
+-6.14138 7.36286 24.6649
+-6.86478 6.75831 25.0105
+-6.43099 5.86369 24.9167
+-6.15543 5.16122 24.2012
+-6.78254 5.01731 23.3778
+-7.29719 4.44378 22.7711
+-7.47646 5.22517 22.1777
+-7.97357 5.7412 22.9103
+-8.48787 5.06287 22.4028
+-8.49454 4.26179 21.7851
+-8.14959 4.7407 20.9451
+-8.62406 4.04348 20.312
+-9.33584 4.74227 20.2345
+-9.85887 4.74565 21.0707
+-10.6094 4.20086 21.2982
+-10.4969 3.42628 20.6048
+-10.1057 2.49366 20.4265
+-9.37048 2.22283 21.0553
+-8.83847 1.72776 20.4262
+-8.6225 1.48771 21.3957
+-8.06066 1.04873 20.6955
+-7.13799 1.46432 20.8415
+-6.47869 1.54816 21.5671
+-5.73978 1.87458 21.2111
+-5.06796 1.63251 20.4382
+-4.22272 1.0339 20.2933
+-3.5307 1.40266 20.8684
+-2.71778 1.23901 20.4073
+-2.96053 0.3081989 20.4421
+-3.78127 -0.01714367 20.8348
+-3.72428 -0.7656301 20.1231
+-2.76204 -0.7804141 20.0242
+-1.86907 -0.4687881 19.6155
+-1.16157 0.07829463 19.0897
+-0.436628 0.5155719 19.4964
+0.03167987 1.17807 18.9355
+-0.129245 2.1454 19.0315
+-1.15818 1.96742 19.1921
+-1.1119 1.58037 20.0905
+-0.263751 2.10266 20.1601
+-0.443674 2.60316 21.0204
+-1.10246 3.39687 20.7365
+-1.56616 3.95572 21.3721
+-2.43138 3.45957 21.4434
+-2.63951 2.84926 22.1802
+-1.67232 2.94211 22.2395
+-1.23175 2.31914 22.9423
+-0.898716 1.59364 23.641
+-0.849194 2.43031 24.2867
+-0.739508 3.29586 24.9016
+-0.2869 3.80642 25.6161
+0.382319 4.43077 26.0251
+-0.333737 4.99124 25.749
+-1.12413 4.36119 25.9818
+-0.990136 4.78225 25.0796
+-1.88272 5.17638 24.8547
+-2.55426 5.35055 24.1026
+-2.3602 6.14073 23.5913
+-2.2866 6.74255 24.3889
+-1.79421 7.37781 23.8535
+-2.79383 7.52572 23.85
+-2.42566 7.3134 22.9673
+-1.82791 8.11642 23.0738
+-1.61817 8.15036 22.0384
+-2.28356 7.40483 21.9268
+-2.74413 8.00422 21.212
+-1.82105 7.73237 20.9685
+-0.857884 7.85424 21.0725
+-0.452438 8.3524 20.277
+-1.2691 8.80815 20.3247
+-1.65149 8.17832 19.6802
+-2.02312 7.85721 18.8287
+-2.17635 6.85522 18.7187
+-1.48834 6.97156 19.3413
+-1.61762 5.96273 19.5437
+-1.03759 5.47769 18.8034
+-0.241701 5.62291 19.4102
+-0.75936 4.82325 19.7137
+-1.54036 5.05784 20.4184
+-2.15771 5.81791 20.7536
+-1.43818 6.51241 20.9279
+-1.1543 5.63139 21.2759
+-0.368647 6.11537 21.6567
+0.374717 6.69013 21.2831
+0.696121 7.41715 20.701
+1.07549 6.46229 20.4345
+1.31146 5.53953 20.0625
+0.556378 5.14609 20.4766
+0.328547 4.22771 20.7173
+0.539241 3.26422 20.7252
+0.776523 3.36445 19.7335
+1.48603 3.03193 20.432
+2.40116 2.7974 20.1711
+3.17091 2.5932 19.6627
+3.06762 2.72151 18.6879
+2.70799 3.43746 18.0576
+2.23343 4.24034 17.7069
+1.35904 4.24038 18.3211
+0.97544 4.48125 17.5101
+1.42054 3.67879 17.1654
+1.34919 2.81517 16.8282
+0.474079 2.82814 16.4032
+-0.490896 3.08253 16.1635
+-0.555686 2.6366 15.2565
+0.350867 2.97499 15.2968
+1.34414 3.10165 15.0029
+1.04434 2.11463 15.009
+1.75337 1.72056 15.5334
+2.18154 2.34409 16.1841
+2.70576 3.13702 16.0116
+2.91837 3.49003 16.9114
+3.68883 4.09484 16.8241
+4.61692 3.90823 16.6394
+4.33343 3.09237 17.2112
+4.53191 2.12044 17.3156
+4.39102 1.19616 17.041
+3.35443 1.36223 17.262
+2.50747 1.10441 16.8571
+1.73581 0.7118349 16.3518
+0.965049 1.31485 16.5103
+1.3411 0.9003579 17.3351
+1.27293 1.75257 17.9252
+0.739971 2.54536 17.7007
+-0.258172 2.64237 17.5495
+-0.350157 3.5073 18.1163
+-1.32713 3.07561 18.0399
+-2.24884 2.67137 18.1282
+-3.06663 3.1052 18.6492
+-2.92911 2.76705 19.5906
+-3.12354 3.3917 20.3402
+-2.70003 4.27346 20.2754
+-3.33379 4.86894 20.7886
+-2.56856 4.89235 21.4081
+-2.15486 5.35642 22.2041
+-1.41339 5.8773 22.6134
+-0.43116 5.73971 22.9834
+-0.129524 5.00308 22.368
+-0.241375 4.29839 21.693
+-0.003512875 3.43022 21.9456
+0.717606 3.14719 22.6411
+0.227399 3.72732 23.3243
+0.340758 3.64375 24.3295
+0.763954 4.28826 24.964
+1.58353 3.77099 25.2489
+2.32893 4.38341 24.9709
+1.85703 5.27578 24.9063
+1.20565 5.9386 24.5953
+1.96457 6.59727 24.4432
+2.87749 6.97947 24.6976
+2.187 7.20575 25.3032
+2.01651 7.87504 26.086
+1.23468 8.419 25.9756
+0.833214 9.03684 26.6049
+0.226623 8.24739 26.9123
+0.128653 8.50486 27.9073
+1.00834 8.63921 28.1557
+1.42311 8.83476 28.9471
+1.26653 9.85496 29.0708
+1.87353 10.5133 28.502
+1.40795 11.0028 29.1941
+0.756412 11.5488 28.7964
+0.142976 12.307 29.0997
+0.925243 12.891 28.7958
+1.25841 12.3249 27.9889
+1.42472 13.1732 27.5042
+0.617704 13.7005 27.2997
+-0.270467 13.3004 27.2187
+-0.757277 14.1908 27.1943
+-0.56207 14.9415 27.7447
+-0.240886 15.3555 26.9476
+0.229181 16.0181 26.3045
+-0.532917 15.7778 25.7283
+-0.959145 15.5875 24.8121
+-0.615544 15.8656 23.945
+0.141355 16.0089 23.2849
+0.611625 15.2467 22.8725
+1.05582 15.4761 23.6938
+0.83154 16.1086 24.387
+1.33632 15.9539 25.2726
+1.80584 15.3969 25.9736
+2.3371 14.5656 25.7281
+2.10599 14.366 26.6934
+2.11803 13.3646 26.6438
+1.15599 13.0709 26.5428
+1.67481 12.8631 25.743
+2.5154 12.444 25.2497
+2.61927 11.493 25.4907
+2.16088 10.6256 25.1818
+1.82656 10.6273 24.3044
+2.08344 11.591 24.482
+1.23242 12.1235 24.2612
+1.40502 12.706 23.4598
+1.48481 12.7294 22.4484
+1.79703 11.9219 21.9126
+2.17305 11.4043 22.6274
+1.70389 10.5727 22.8207
+1.56933 9.66225 23.2736
+1.42951 8.77509 22.8014
+1.70107 8.78999 23.6827
+0.742673 8.63485 23.6347
+-0.257419 8.61138 23.5598
+-0.774801 9.50415 23.5392
+-1.56579 9.98542 23.2583
+-1.62114 10.9991 23.2331
+-1.82707 11.331 22.2793
+-1.73312 11.3004 21.2518
+-0.776017 10.9841 21.0314
+0.09542387 10.8025 20.5483
+0.273923 9.79455 20.6568
+-0.005826175 9.20497 19.9338
+-0.835264 9.61603 19.4875
+-0.703451 9.83437 18.5096
+-0.387791 10.7553 18.5097
+-1.05126 11.132 19.231
+-0.396326 11.9487 19.1533
+-0.06319823 12.9725 19.307
+0.360388 12.877 20.2414
+1.33045 12.5664 20.4017
+1.24448 13.5474 20.5848
+0.906824 13.4818 21.5328
+0.710028 14.4649 21.3322
+0.452694 14.8508 20.4626
+1.43237 15.1947 20.7094
+2.19565 15.4112 21.3972
+1.78387 16.3378 21.6194
+2.73019 16.3739 21.3692
+3.61439 15.917 21.222
+3.71144 15.3155 21.9306
+4.39425 14.9263 22.5009
+4.58766 15.6884 21.8812
+4.3378 16.7289 21.6719
+4.53804 16.6389 20.7162
+4.74376 15.6451 20.7504
+5.58622 15.2612 20.2791
+6.38089 15.4745 20.8395
+6.76335 15.2998 19.9139
+7.68337 15.7348 20.0025
+7.84459 15.6741 19.015
+8.05188 16.5339 18.5067
+7.87005 17.5245 18.6452
+7.96272 17.3367 19.6141
+8.7142 17.5652 19.0509
+8.87512 17.7599 18.0945
+9.13599 17.3845 17.1687
+8.60628 17.115 16.2897
+8.45493 18.1287 16.2216
+9.38024 18.5574 15.999
+9.8873 17.8435 16.53
+10.5558 18.4526 16.891
+10.9788 18.1191 15.9944
+10.4884 18.656 15.2742
+10.4957 18.8953 14.3092
+9.78366 19.4612 13.9734
+10.1385 19.2933 13.0079
+10.2397 19.1707 12.0179
+9.43036 19.8608 12.1311
+9.49623 20.7143 11.6048
+9.17555 20.5718 10.6449
+8.31674 21.0706 10.7115
+7.62043 20.3937 10.3181
+7.13265 20.1675 11.159
+6.27119 19.7206 11.1814
+5.58143 20.315 10.6359
+4.95111 20.3477 11.4885
+4.33249 20.5227 12.2422
+4.75272 20.8967 13.054
+4.83822 20.3194 13.8353
+4.63983 20.0021 14.7333
+5.44803 20.551 14.586
+5.83484 19.7153 15.0081
+6.17688 19.6865 15.9467
+7.14496 19.9828 15.7359
+8.17051 19.8215 15.6566
+8.37111 19.7238 14.6272
+8.78426 20.2588 13.9852
+9.0216 21.0871 14.5141
+9.14634 21.8919 13.8438
+9.85216 22.4885 13.6002
+10.5431 21.9547 13.0239
+11.2586 22.0187 12.3613
+10.448 22.6421 12.2407
+9.61113 22.9564 11.8133
+9.85765 23.8815 11.7619
+10.8456 23.5995 11.9117
+11.2111 23.3075 10.9663
+10.8479 23.7235 10.1872
+10.3052 23.5936 9.35201
+10.0347 24.5599 9.45751
+10.2488 25.3273 8.85273
+10.6829 25.6429 8.03424
+9.98082 26.0372 7.45786
+10.0444 27.0599 7.68847
+9.22008 27.3074 7.16099
+8.18262 27.413 7.12684
+7.26741 27.7889 7.25135
+7.26072 27.3574 8.20461
+6.69415 26.9008 8.8913
+7.07222 27.6872 9.34017
+6.36359 28.4273 9.3997
+5.6665 29.0602 9.14495
+5.13342 28.3867 9.63661
+4.20877 28.8443 9.71646
+4.2066 29.152 8.78141
+3.51107 29.8606 9.17189
+3.69047 30.8214 9.45793
+2.98676 31.5025 9.49575
+2.61374 31.0195 8.65157
+1.67148 31.2851 9.07
+1.45144 30.4914 8.5727
+1.9075 29.5978 8.4442
+1.82205 28.8099 7.84556
+2.41353 29.318 7.18035
+3.26713 29.8141 7.30542
+4.02738 30.4499 7.07925
+3.84851 29.9639 6.2554
+4.17281 29.1139 5.88277
+4.23296 28.6811 6.77184
+5.16005 28.1805 6.66483
+5.71884 28.8467 6.06089
+6.56009 29.1088 6.49345
+5.9674 29.8775 6.30643
+6.93372 30.3073 6.25337
+7.87293 30.4865 6.63735
+7.46155 31.199 6.11149
+6.79772 31.8972 5.97055
+6.72641 31.5436 5.09056
+7.04412 31.1131 4.29
+6.98245 31.294 3.30664
+7.86596 31.3847 3.5672
+8.43131 32.2295 3.57472
+9.23136 32.4987 3.02404
+9.10023 31.8208 2.26017
+9.27437 30.8122 2.66731
+10.0842 31.3261 2.99451
+10.8804 31.8908 2.84736
+11.0166 32.8628 2.99338
+10.8361 33.7017 2.40896
+10.7663 34.6429 2.36308
+10.8494 35.5788 2.76096
+10.486 35.264 3.61417
+9.95462 34.447 3.79743
+10.4208 33.7321 4.41909
+10.1404 33.0102 5.06734
+10.5721 33.5536 5.77781
+10.9896 32.6734 5.90381
+11.6919 33.3885 5.74387
+12.1791 32.4873 5.60959
+11.6444 32.6707 4.80301
+12.4034 32.0118 4.64617
+13.2293 31.3686 4.53846
+14.0298 31.2693 5.1431
+14.3922 32.2408 5.21706
+14.0664 31.8149 6.03783
+14.0815 32.5104 6.77022
+14.1551 31.5761 7.18846
+14.9233 31.029 7.68894
+14.6752 30.1794 7.0545
+15.074 29.8114 7.9879
+14.6787 29.1323 8.57811
+15.0969 29.733 9.22704
+15.0909 30.4303 9.92428
+15.6755 30.4683 10.6793
+14.7357 30.5975 11.1088
+14.0013 31.0192 11.6719
+13.4256 31.5027 11.0397
+13.748 32.18 10.2478
+13.2192 31.6028 9.68953
+13.0599 31.3434 8.76032
+12.2714 31.7216 8.20789
+12.5533 31.7874 7.28819
+12.9348 31.1316 6.69495
+13.1129 30.2759 6.9146
+12.2574 29.8665 6.94601
+11.3421 29.9242 6.43449
+10.8762 30.7971 6.20642
+10.4565 29.9761 5.78691
+10.4885 30.5959 5.02232
+9.72807 30.6918 5.70396
+9.41621 31.1412 6.49475
+9.61332 31.7066 7.20241
+8.81374 31.8004 7.87065
+8.83128 32.3566 8.71559
+9.47481 32.6005 9.35427
+9.67192 31.714 8.9787
+10.6834 31.8763 8.99656
+11.0793 31.0478 8.52058
+11.0229 30.31 9.21281
+10.5755 29.4357 9.44143
+9.61622 29.1784 9.27372
+9.5662 28.372 9.92423
+9.3376 27.7866 10.6299
+9.70266 26.9281 11.0359
+10.3604 27.058 11.772
+11.2929 26.7539 11.5715
+12.157 26.6439 11.0394
+13.0801 26.3636 11.2414
+12.5931 25.787 11.823
+12.5282 26.2747 12.6775
+12.1461 26.9447 13.3184
+11.179 27.0971 13.6292
+10.6438 26.2818 13.6149
+11.077 26.1526 14.4865
+12.0321 25.9221 14.1312
+12.3828 24.9016 13.9001
+12.5856 24.9888 12.88
+12.1197 24.5077 12.0823
+11.7748 23.5764 12.0654
+12.6625 22.9886 12.2
+12.6006 23.596 11.3794
+13.3273 23.9627 10.8952
+14.1563 23.944 11.5735
+13.7962 23.0416 11.8159
+14.3659 22.4795 12.3967
+15.2265 22.8635 12.778
+16.0806 22.7584 13.3002
+15.3114 22.661 13.9793
+15.1206 21.729 14.2311
+14.1192 21.7147 14.6532
+13.3143 21.1658 14.9458
+13.0042 20.9101 14.0569
+13.8295 20.735 13.4289
+13.8301 19.7911 13.8128
+14.5073 19.1431 13.3365
+13.9771 19.1618 12.4972
+13.8217 18.8399 11.4701
+13.3685 19.5642 10.8858
+12.7452 19.295 11.574
+12.8498 20.2966 11.6854
+13.8015 20.5411 11.5048
+14.7299 20.3369 11.1592
+15.5037 20.2446 10.4598
+16.1679 21.0429 10.562
+17.072 21.2172 11.0693
+17.4452 20.6359 11.8201
+18.3124 20.6169 11.3784
+19.1787 20.8812 10.9912
+18.8708 21.2824 10.118
+18.7887 21.9613 10.8269
+18.77 22.7691 10.1705
+19.5865 23.3336 9.92965
+20.047 23.9898 9.38812
+20.7304 24.5113 8.90637
+20.8597 25.4686 8.95764
+20.0115 25.8573 8.61215
+19.2508 26.4674 8.83629
+18.2497 26.3368 9.03043
+17.8216 25.821 9.78176
+17.4105 24.9419 9.85263
+18.0648 24.8341 10.5244
+18.5899 25.0776 11.3178
+17.8312 25.3003 11.9591
+17.5132 24.4242 12.3542
+16.9352 23.9629 11.7169
+16.59 24.7561 11.2072
+16.225 25.6657 11.1164
+16.3976 26.6015 11.3168
+16.0837 26.783 12.1821
+16.1554 25.8557 12.4867
+16.2969 25.9708 13.465
+17.2458 26.1884 13.695
+18.075 25.6158 14.0262
+17.1653 25.2234 14.0932
+16.8765 24.4535 14.5688
+17.0529 23.486 14.7915
+16.2266 23.6471 15.2795
+15.4378 23.5375 15.8422
+15.0973 24.2127 15.3306
+15.3297 24.702 14.5321
+15.083 25.6001 14.8539
+14.8071 26.1133 15.604
+15.0478 25.7755 16.4797
+15.4168 25.172 17.2125
+14.827 24.4044 17.4669
+14.8107 23.752 18.2633
+14.9055 22.7441 18.4027
+14.8851 23.1519 19.3414
+14.1334 22.4733 19.0626
+13.4919 22.8963 18.4085
+12.6986 22.5425 17.8622
+12.0652 22.1757 17.1642
+11.671 22.9959 16.7596
+11.348 23.7736 17.328
+10.5187 23.8904 17.7988
+10.0241 24.688 17.5267
+10.1689 24.9539 18.5082
+10.2349 25.7942 19.1143
+10.0481 25.1283 19.8082
+10.2896 24.37 20.3001
+9.7145 23.6122 20.1175
+10.0751 23.2358 21.0331
+9.8934 23.4121 21.9878
+9.2328 23.1209 22.7419
+9.5182 22.2849 22.2417
+10.3112 22.3718 22.7989
+11.1268 22.5881 22.2292
+11.5483 21.6471 22.4219
+12.0071 21.1386 23.2249
+11.9375 20.5329 24.0381
+12.2235 19.7857 23.4639
+11.4158 19.3232 23.0516
+10.5006 19.02 23.0349
+10.3633 18.0752 23.1254
+11.1725 17.7387 23.6125
+11.7715 17.1881 24.2441
+11.3384 17.3945 25.1652
+11.4943 16.7158 25.9148
+11.812 16.5331 26.8137
+12.4427 15.897 26.3566
+11.8324 15.1732 26.7629
+10.8442 15.4231 27.0729
+10.6878 14.9132 27.9124
+11.2174 14.2899 27.3407
+10.5364 13.6192 26.9137
+9.78373 13.0316 26.4913
+10.4367 12.5377 25.8935
+9.7265 11.8443 25.9003
+9.2275 10.9825 25.7945
+9.07816 11.3501 24.8561
+8.63833 12.0217 24.2689
+8.53077 12.8619 24.7417
+7.78698 12.8511 25.463
+6.98246 12.4768 24.9661
+6.84058 12.0888 25.8546
+6.77492 12.9021 26.2877
+5.99308 13.0142 25.6129
+5.99506 12.43 24.835
+5.30167 13.1794 24.766
+5.79976 13.8332 24.2231
+5.89589 14.6664 23.7055
+5.2393 15.2605 23.9603
+5.68312 15.6559 23.1649
+5.47411 16.5985 23.0154
+5.74914 17.2512 23.6932
+6.49155 16.5699 23.7354
+6.80229 17.2071 24.3655
+7.38697 17.7632 24.9109
+7.92244 17.1467 25.5154
+8.08342 16.2268 25.7783
+8.40244 15.7525 26.5445
+8.46503 14.7762 26.3262
+8.98402 14.0911 25.9222
+9.40273 13.7477 25.1217
+9.16909 13.7073 24.1306
+9.71616 14.4636 24.4038
+10.5092 14.3349 25.0334
+10.8769 13.4162 25.2291
+10.6772 13.0207 24.281
+10.541 12.1187 23.8799
+10.7067 12.4188 22.9558
+11.1978 13.1747 22.5535
+11.7828 13.9926 22.4403
+12.6507 14.3767 22.7017
+13.4796 14.214 22.3097
+14.3599 14.6168 22.6458
+14.381 15.3989 22.0781
+14.4782 14.6835 21.3918
+15.4083 14.5248 21.3374
+16.1136 15.1905 21.5533
+15.7117 16.0728 21.2385
+15.1002 15.6604 20.5305
+14.2479 15.7855 20.0208
+13.3288 15.8352 20.2615
+13.2092 15.375 19.4074
+12.3277 15.3223 19.9857
+11.904 14.3491 20.0366
+11.6727 14.5485 19.0667
+11.7532 15.1607 18.2615
+11.8302 16.0297 17.7796
+12.0537 16.8023 18.2977
+11.1973 17.1412 17.8104
+10.2785 17.1253 17.487
+9.94878 16.2338 17.2609
+10.0638 15.3269 17.4453
+9.81221 14.4831 17.9106
+10.4752 14.215 18.6322
+10.149 13.6965 19.4527
+10.6714 14.3559 19.9304
+10.2748 14.5745 20.7843
+10.2575 15.6136 20.8212
+10.3386 16.5823 20.8847
+10.0445 16.2233 21.8288
+9.4007 16.148 22.5944
+8.94161 16.69 23.3756
+8.03636 16.8379 23.6793
+7.73322 16.0059 23.2497
+7.55178 15.3288 22.5436
+7.58923 14.6598 21.8272
+7.17785 13.8445 22.2071
+6.16185 14.0959 22.3406
+5.61312 14.1045 21.5167
+4.80066 13.5033 21.6329
+4.39877 14.1715 21.0015
+5.0702 14.0124 20.2845
+6.11567 14.1393 20.4838
+6.64264 13.8411 19.6749
+7.3106 13.4 19.0825
+7.14846 14.2448 18.5467
+7.75723 14.5439 19.2515
+7.82049 14.936 18.2848
+8.3778 14.1251 17.9829
+8.24315 13.2509 17.7134
+7.64481 13.1689 16.9582
+7.2356 12.7637 17.6637
+6.35038 12.4289 17.8969
+5.38057 12.0977 17.8386
+4.94692 11.259 17.5019
+5.10903 10.737 18.3533
+5.05627 11.6457 18.8295
+5.86968 12.146 19.0777
+5.93064 12.6497 19.9711
+5.9562 12.7313 20.9984
+6.73811 12.6869 21.6152
+7.13979 11.7413 21.4644
+6.91214 11.049 20.7659
+5.97127 11.088 20.4041
+5.30284 11.6808 20.9141
+4.31643 11.5921 21.0998
+3.8686 11.013 21.7232
+3.64857 10.1019 21.9853
+3.03751 9.59302 21.3178
+2.75026 10.3692 20.7132
+3.4621 10.2988 19.9846
+2.71198 9.96935 19.3434
+1.79661 9.97789 19.7307
+1.58902 9.92466 18.7596
+1.06091 10.1656 17.8914
+1.8455 10.8255 18.1189
+2.82133 10.6043 17.9325
+3.00277 11.4644 17.4601
+3.37622 11.6023 16.6212
+3.2405 12.3594 17.2945
+3.60379 13.0061 16.6469
+3.07322 13.6242 17.261
+3.95514 13.6509 17.8213
+4.4186 14.4831 18.0627
+4.90865 14.873 17.2508
+4.98359 13.9119 16.877
+5.82558 13.8999 16.2672
+6.51645 14.3458 16.8699
+6.66938 15.1998 17.3801
+6.21068 16.0344 17.2566
+5.45392 16.2158 17.8528
+6.19443 16.6439 18.4787
+6.20313 17.6604 18.685
+6.37458 18.3672 19.2102
+6.41231 18.8617 18.3044
+6.42563 18.8582 17.3428
+5.72958 19.5497 17.0827
+5.77572 20.5642 16.8777
+6.21953 21.0864 16.1538
+6.86863 21.8132 16.3163
+6.05717 22.2626 16.7261
+5.18854 21.9938 16.9603
+4.66797 21.4398 17.5349
+4.2928 20.6379 18.0066
+4.92757 20.373 18.7224
+4.63358 20.217 19.6439
+3.70648 20.4738 19.797
+3.89606 19.7361 19.1519
+3.47613 18.8165 18.9535
+3.61423 18.9099 19.9454
+3.66033 18.3081 20.6718
+3.93145 17.9559 21.51
+3.14501 17.5259 21.9473
+3.74516 16.9755 22.5695
+3.1169 17.4008 23.2479
+3.52037 18.0968 23.8657
+3.40116 17.9086 24.8153
+3.22092 18.8038 25.2311
+3.3023 18.0767 25.9406
+3.67426 17.5491 26.7974
+4.27153 18.2495 27.1184
+5.2539 18.1326 27.2486
+4.81265 17.2694 27.7161
+4.11262 17.5534 28.387
+3.81158 16.6628 28.404
+3.46734 16.2581 29.2664
+4.33899 16.3849 29.7207
+4.97567 15.664 29.7689
+5.92271 15.8015 29.4248
+6.084 14.8739 29.773
+5.93299 14.6037 30.7483
+6.81388 14.8247 31.2398
+7.17747 14.4835 30.3646
+7.44496 13.6027 29.8667
+7.39203 14.4106 29.2151
+8.0244 15.0319 28.7407
+8.98983 14.7923 28.6913
+9.52146 14.1448 29.0741
+9.1562 13.2955 29.501
+10.1473 13.2792 29.6592
+11.1708 13.2211 29.6536
+12.0244 12.7961 29.5174
+12.2859 12.6554 28.4883
+11.4104 12.2653 28.224
+11.8973 11.7198 28.8035
+11.7694 10.9414 29.3836
+11.6474 10.2548 28.5984
+10.8349 10.806 28.4936
+9.9169 11.1794 28.3218
+9.4649 11.788 27.6549
+8.72195 12.2037 27.0761
+8.06782 11.4389 27.1509
+7.09883 11.1017 27.2139
+6.83647 10.7229 26.2768
+6.19663 9.9921 26.6075
+5.2019 9.95132 26.3525
+4.35487 9.39658 26.2686
+4.43745 10.0841 27.0775
+3.67501 10.6699 26.8501
+3.76266 10.8304 27.8738
+4.53866 11.0879 28.4944
+4.3801 11.6155 29.361
+5.30423 11.1764 29.3084
+6.15691 10.7022 29.0359
+6.17047 9.86717 28.5594
+6.49364 9.03109 29.0423
+5.89402 8.29601 29.3114
+6.85399 8.16149 29.7211
+7.79699 8.04617 29.788
+7.63673 8.35694 30.734
+6.96324 8.70819 31.3681
+6.01158 8.90959 31.5562
+5.80026 8.7009 30.6512
+5.77275 9.72164 30.6364
+5.33458 10.2781 31.3703
+4.95336 10.9439 30.8161
+4.1037 10.7513 31.2732
+3.62842 10.5475 32.152
+3.08687 10.3253 32.9841
+3.1527 11.326 32.9572
+3.95797 11.7852 32.403
+3.75525 12.399 31.7145
+3.17388 12.8207 30.9924
+3.24947 12.7123 30.0189
+2.26276 13.0476 29.9154
+2.97267 13.182 29.2231
+2.60031 12.2582 29.1089
+2.20285 11.86 28.3406
+2.13847 11.0742 27.7767
+2.45746 10.6357 27.0069
+2.34249 9.70255 26.6191
+2.91316 8.85196 26.773
+3.54106 8.42075 26.1226
+4.06339 7.83031 25.5095
+4.66787 8.5007 24.9348
+4.40158 7.70442 24.4395
+4.36608 7.86712 23.4306
+4.27657 8.32036 22.5546
+4.19186 8.25011 21.578
+4.486 8.80145 20.8238
+5.11857 9.39305 21.3134
+5.48588 8.52843 20.9492
+6.09228 9.26168 20.7977
+6.72213 9.49793 21.5202
+6.94051 9.22803 22.4674
+7.5584 8.36442 22.3992
+6.64869 7.87943 22.6052
+6.75478 7.13995 21.9385
+7.42495 7.17168 22.6934
+8.06266 7.10432 21.9347
+8.78813 6.5464 21.765
+9.49763 5.89254 21.3206
+8.96839 5.08261 21.6855
+8.13699 5.2072 21.029
+7.25405 5.38528 20.4861
+7.13164 4.64201 19.8285
+7.81366 4.32258 19.1134
+7.11194 4.15977 18.4212
+6.34287 4.71205 18.1971
+5.45159 4.51355 17.9012
+4.74387 5.06407 17.4374
+4.08305 5.67654 17.805
+4.3706 5.5881 18.7239
+3.38461 5.59909 18.8178
+2.33206 5.52283 18.894
+2.35443 6.33722 18.2594
+1.44366 6.00948 18.4344
+1.58797 6.61738 17.6868
+1.77572 7.22474 16.9483
+2.68533 7.64907 16.859
+3.02578 6.67946 16.8036
+2.62176 6.96221 15.9011
+2.81326 7.64854 15.1511
+1.79998 7.69857 14.9272
+2.07419 7.82366 13.9377
+1.70714 8.76308 13.8124
+2.25939 9.16749 14.6053
+2.90504 8.72859 15.2783
+3.66132 8.32567 15.8402
+4.17419 8.09563 16.6691
+3.99549 7.7211 17.5638
+3.50258 8.05203 18.3565
+4.31441 8.62916 18.0987
+4.96493 7.82081 18.2689
+5.1183 6.87635 18.2153
+5.17178 6.89134 19.2375
+5.15518 6.628 20.2703
+5.54241 5.97579 20.9506
+5.11574 5.54916 21.7207
+4.28973 5.7359 21.2298
+4.44788 4.90858 20.7328
+4.15657 3.93211 20.9412
+4.03097 3.6763 21.9263
+4.71772 3.64708 22.5632
+4.70452 3.01125 23.4021
+4.03494 3.67241 23.7415
+4.5555 4.55799 23.7131
+5.06738 4.80971 24.4474
+5.385 3.89037 24.4405
+5.71737 3.23981 23.7206
+6.27241 3.15452 22.9025
+6.83909 3.4176 23.7004
+7.53289 2.75636 23.4826
+6.93562 2.02137 23.5891
+7.66254 1.70929 22.9323
+7.60368 0.7879119 23.3328
+8.34709 0.1960579 23.2344
+9.19516 0.1462779 23.7769
+8.55125 -0.01097937 24.4814
+7.82877 -0.2292221 25.1968
+8.01547 0.6502919 25.6395
+7.14262 0.6265179 25.0991
+6.15159 0.6755779 25.1246
+6.3408 0.1507719 25.939
+5.4636 0.08107533 26.3536
+6.17452 -0.1008751 27.0281
+5.43235 0.4709029 27.358
+5.78533 1.23388 26.9711
+5.64912 1.74791 27.8191
+4.76613 1.63876 27.3604
+4.72962 1.16696 26.52
+3.87763 1.13636 27.0719
+4.11712 0.7627909 27.97
+3.3538 0.2300269 27.7944
+2.6415 -0.2687261 28.2678
+1.80274 -0.1115071 28.772
+2.06811 -1.0332 29.0761
+2.80884 -1.03385 29.7229
+3.13887 -1.93097 29.9609
+3.59354 -2.81243 29.6527
+3.06096 -3.50027 29.0532
+2.8939 -2.62539 28.7147
+3.32566 -2.75122 27.8683
+4.25248 -2.66775 27.5028
+5.13384 -3.1324 27.8722
+5.70906 -3.97261 27.5377
+5.67334 -3.75598 26.5732
+6.53417 -4.18608 26.5549
+6.74668 -4.55305 27.4826
+6.41604 -5.33576 28.0654
+6.53964 -5.73901 27.2106
+6.92942 -6.58858 26.8949
+6.62765 -7.02312 26.0217
+6.59777 -8.05148 25.7563
+5.89667 -8.46373 25.1942
+6.24888 -9.41075 24.8693
+7.0431 -9.10277 24.4654
+7.90844 -9.08314 25.0605
+7.56327 -8.17633 25.4744
+7.37966 -8.67747 26.3091
+6.93668 -9.54041 26.3098
+7.74371 -10.0842 26.0233
+8.669 -10.0152 25.6563
+9.25345 -10.2653 26.3994
+10.0859 -10.6764 26.8445
+10.0248 -11.6348 27.009
+9.82829 -11.6095 28.0004
+10.1305 -10.6303 27.9113
+10.4076 -10.4078 28.8585
+10.8215 -9.82706 28.1551
+11.2965 -10.0494 27.2895
+10.9906 -10.4322 26.3962
+11.2453 -9.90729 25.5644
+11.5115 -9.46594 24.6828
+12.0599 -9.35044 23.8577
+12.4506 -10.1989 23.6662
+13.2319 -10.6538 23.2063
+14.0192 -10.0608 23.0569
+14.3234 -9.87886 22.1544
+13.2621 -9.93587 22.1171
+13.2482 -9.29856 22.8548
+13.8894 -8.89802 23.4765
+13.1307 -8.2646 23.5006
+13.5097 -7.48339 22.9268
+13.0098 -6.84747 22.3524
+12.0478 -6.89717 22.0691
+11.8979 -6.95152 23.0482
+12.4151 -6.21283 23.4581
+13.4141 -6.14223 23.7435
+13.2652 -5.54623 22.9691
+14.1843 -5.227 23.0287
+14.6178 -4.96441 23.8616
+14.3678 -4.08116 23.398
+14.4964 -4.27772 22.449
+15.3889 -4.53248 22.5092
+15.1919 -3.78081 21.8119
+16.0753 -3.76027 21.4212
+16.9256 -4.3013 21.4558
+16.5942 -3.89536 22.2921
+16.8359 -4.14391 23.2042
+17.0576 -4.4813 24.1293
+17.2843 -5.45216 24.1441
+16.7426 -6.16347 24.6898
+15.9923 -5.52055 24.812
+15.517 -6.32954 24.597
+15.7361 -7.00867 23.9283
+15.1724 -7.75875 23.8794
+14.8788 -7.17601 23.0878
+15.4073 -7.48229 22.3386
+15.4079 -7.83015 21.4445
+14.8586 -8.04783 20.6712
+14.4437 -7.72601 19.8892
+15.1299 -8.2832 19.6482
+14.8062 -7.63021 18.9998
+14.6148 -6.74048 18.9028
+14.2714 -6.13987 18.2141
+13.8871 -5.30856 18.4728
+14.0805 -4.34682 18.8855
+14.9198 -3.87766 19.2074
+15.4108 -4.06909 18.3904
+16.2627 -4.09087 17.8448
+15.6379 -4.16395 17.0492
+14.9897 -3.71304 16.4427
+14.9306 -2.72037 16.1074
+14.9572 -3.29554 15.2881
+14.6791 -3.59497 14.3911
+14.1764 -2.80789 14.011
+13.6652 -2.16715 13.6322
+13.251 -1.55345 13.0246
+13.4706 -0.7146921 12.5843
+13.9814 0.04938563 12.1996
+13.9307 0.8130229 11.6357
+13.4414 0.4504269 10.868
+12.4467 0.5425829 10.8432
+12.486 1.48008 10.6742
+13.4049 1.78494 10.3533
+13.9047 0.9934809 9.98834
+13.9411 -0.05474867 9.78133
+14.1803 -1.03485 9.48234
+14.7784 -1.34443 10.2225
+13.8835 -1.46052 10.7235
+13.9518 -2.31155 10.3214
+13.613 -2.90334 9.68777
+13.2296 -3.36057 10.4842
+12.9176 -4.31824 10.6244
+13.7059 -4.6044 11.2969
+13.757 -4.80376 10.2754
+14.3824 -4.22222 9.75408
+13.6863 -4.60029 9.16339
+14.3466 -4.0723 8.69729
+13.7447 -3.35285 8.47338
+13.6996 -2.52823 7.91387
+14.1962 -1.71481 8.38885
+14.9682 -1.10501 8.17248
+15.2871 -1.01043 9.10444
+16.1268 -0.4999501 9.31572
+15.7794 0.1632959 8.63851
+16.0393 0.9525639 9.19816
+15.68 1.927 9.32495
+15.6757 2.2787 10.2615
+15.7966 2.89705 11.0662
+16.7529 3.10876 11.1791
+16.4655 3.22631 12.1279
+16.0967 3.91034 12.7495
+15.8919 4.61002 12.1337
+16.0366 4.91532 13.0202
+15.1417 4.50705 13.3845
+14.7688 4.72655 14.2144
+14.1368 5.12329 13.5832
+13.1444 4.88784 13.4299
+12.9502 5.65377 12.7662
+12.1951 6.18554 12.9641
+11.446 6.78359 13.1083
+10.8868 6.06088 13.2966
+11.3182 5.49575 12.5963
+11.5103 4.61306 12.1641
+11.3794 3.83613 12.8266
+10.8849 3.07006 12.5058
+10.1027 3.71495 12.5519
+9.87151 3.2199 13.4096
+9.00304 3.1379 13.9776
+8.16053 2.56427 14.2357
+8.20198 3.23262 14.9202
+8.10338 3.91768 14.2731
+8.34986 3.90585 13.2734
+7.5945 3.33275 12.8575
+6.60976 3.55827 12.8089
+5.96274 3.98748 13.5143
+6.00076 3.68643 14.49
+6.40417 2.77441 14.5
+6.48775 1.84045 14.673
+5.81856 1.15471 14.4001
+5.7111 0.5908089 13.6081
+5.19288 -0.3071891 13.4822
+5.167 -0.5099661 12.5665
+6.07795 -0.7171511 12.2685
+6.86779 -1.34185 12.5276
+7.60599 -1.22059 11.9222
+7.76014 -0.8555171 10.9896
+8.23318 -0.1770331 10.5144
+8.52851 -0.5071431 9.54936
+7.86104 0.09938203 9.09165
+7.61109 1.03826 9.47082
+6.61581 1.37236 9.51416
+6.57228 1.04714 10.5053
+7.08009 1.53682 11.2303
+7.46249 1.66948 12.1627
+7.75646 1.17323 12.9802
+8.70197 1.3379 12.7974
+9.62682 1.45664 12.873
+10.0843 1.69849 12.0566
+10.5484 1.28525 12.8226
+10.1589 0.4427179 13.3111
+9.41138 -0.2212881 13.241
+9.59321 -1.03497 13.8784
+9.10637 -1.78241 14.2204
+8.70874 -2.31484 13.4754
+9.69507 -2.15197 13.5429
+9.43707 -2.70695 12.7621
+10.2278 -2.45007 12.1752
+10.9912 -2.74363 12.7618
+11.7846 -3.24963 12.4902
+11.9593 -2.66412 13.2806
+12.3837 -2.76762 14.1813
+12.7288 -2.2054 14.9489
+12.7979 -1.54393 14.1709
+13.2274 -0.9802271 14.7689
+13.59 -0.8055091 15.6665
+14.2092 -1.38015 16.1953
+13.3278 -1.59949 16.5575
+13.7343 -1.19357 17.4026
+14.5516 -0.8031841 17.0419
+15.4511 -1.24661 17.1641
+16.3481 -1.46505 16.8155
+16.3932 -2.48753 16.7994
+16.9541 -2.06209 17.5595
+17.4292 -2.77426 18.1052
+16.4865 -2.93345 18.5016
+15.5066 -2.77684 18.6182
+14.6339 -2.13776 18.5876
+14.0476 -2.30273 17.7193
+13.6734 -3.2085 17.4798
+12.686 -2.986 17.6083
+12.618 -3.42429 18.5318
+11.9578 -4.08473 18.2815
+11.8053 -4.00621 17.329
+11.5548 -3.09533 17.1543
+10.8127 -3.70869 16.8652
+10.2885 -4.5823 16.8784
+10.3007 -5.50636 16.8819
+9.84575 -5.77082 17.7078
+8.96114 -6.29061 17.5076
+8.20881 -6.39839 18.1928
+7.97408 -5.66667 18.7272
+8.94219 -5.50771 18.7807
+9.33586 -4.66109 18.3976
+9.58334 -3.74524 18.169
+10.0558 -2.99654 18.5721
+10.3261 -2.17994 19.052
+9.87826 -1.87852 19.9582
+10.3915 -1.1466 20.3723
+9.91799 -1.47197 21.248
+10.4979 -1.78229 22.0685
+11.1285 -2.26067 21.4805
+12.0667 -1.93487 21.6289
+11.5094 -1.09751 21.7772
+11.8324 -1.48511 22.6063
+11.5898 -2.22028 23.153
+11.1425 -3.06814 23.1788
+11.1393 -3.26573 24.1209
+10.3468 -3.69427 24.3994
+9.78458 -2.9825 24.1548
+8.77558 -2.80029 24.412
+8.98645 -2.30571 25.18
+9.17642 -3.11509 25.7512
+10.0537 -3.29154 26.3479
+10.113 -3.98426 25.586
+11.0341 -4.57612 25.6194
+11.459 -3.89638 25.0592
+11.8782 -4.77921 24.8377
+12.1817 -5.67274 24.8694
+11.8553 -6.55028 24.7432
+10.8807 -6.37412 24.6808
+10.3183 -6.84417 24.0472
+9.70865 -7.23213 24.7356
+9.02726 -7.04168 25.4255
+9.53376 -7.7919 25.837
+10.2576 -8.25773 26.3056
+10.7327 -8.54283 25.4576
+11.1553 -7.69795 25.4991
+11.7942 -7.6417 26.2663
+11.183 -6.92657 26.4557
+11.3368 -6.88643 27.4363
+10.5413 -7.42872 27.5689
+10.2789 -6.56315 28.063
+9.6465 -6.00439 28.6281
+9.65643 -5.04917 28.336
+10.129 -4.58773 29.0517
+10.479 -4.89578 29.8513
+9.53986 -4.78092 30.2757
+8.61026 -4.58552 30.7869
+8.66983 -4.64549 31.8052
+7.69753 -4.39888 31.9216
+7.22706 -3.49279 32.0981
+7.72875 -2.68339 31.8765
+8.52831 -3.10826 32.1425
+9.34558 -3.7333 32.2147
+9.73542 -3.00303 31.6795
+10.5476 -2.61035 32.0392
+10.8089 -1.82797 31.5166
+10.394 -1.62277 30.632
+10.2663 -2.02692 29.7972
+9.40174 -1.60961 29.3877
+9.6856 -1.65649 28.4208
+8.82929 -1.22927 28.1469
+8.91014 -0.2863901 28.4898
+8.26707 0.4336719 28.7769
+8.27715 1.11368 27.9907
+9.15313 1.13908 27.6027
+9.65913 1.34412 26.8252
+10.688 1.43576 26.744
+11.2138 0.8368559 27.3607
+11.9458 1.01359 28.011
+12.9451 1.28594 27.8279
+12.685 0.6458979 27.0878
+12.1137 0.04405823 26.4796
+12.2049 0.8889659 25.955
+11.5692 1.72429 26.1229
+11.1495 1.28377 25.2722
+10.2178 1.46377 25.1716
+9.35449 1.3909 25.5493
+8.61412 2.12505 25.6995
+9.16634 2.79496 25.2318
+9.29508 3.24273 24.3861
+10.084 3.70113 23.9425
+10.2336 2.95235 23.3514
+9.46786 2.4155 23.0402
+9.99157 1.538 22.9076
+10.8664 1.62851 22.5424
+10.8125 2.59707 22.3027
+11.237 2.16684 21.482
+11.3193 2.54684 20.5291
+10.7011 2.29663 19.759
+11.5994 1.82019 19.5986
+12.0236 0.8752639 19.8116
+11.4219 0.2110019 19.3663
+11.3451 -0.5150101 18.6454
+11.2283 -1.13147 17.8607
+11.9879 -1.07397 17.1963
+11.4515 -0.9004621 16.4308
+11.8985 -0.1433131 16.7667
+11.6799 0.2870219 15.8704
+11.1761 1.13096 15.9139
+10.9186 1.77537 15.2057
+10.7785 1.29961 14.3642
+11.6151 1.18444 13.7393
+12.2366 1.44217 14.4751
+13.0447 1.92905 14.0729
+12.8892 2.97146 13.893
+11.9511 3.09433 13.4421
+11.3192 3.23568 14.2748
+11.7929 2.84565 15.1046
+11.2698 3.41564 15.6706
+11.1384 3.01946 16.5802
+10.6589 2.49655 17.2539
+11.2522 2.86435 18.0497
+11.2427 3.36534 18.8726
+11.1062 3.95548 18.0465
+12.0571 4.02108 17.8523
+12.4592 3.27076 17.3534
+12.1802 2.34927 17.6254
+12.2781 1.6518 18.3534
+12.2089 0.9344209 17.6923
+13.1974 0.9692519 18.0457
+13.1196 1.14103 17.0289
+13.3661 1.10824 16.0462
+14.2005 1.24791 15.5089
+14.0919 1.91489 16.3058
+14.9936 1.39919 16.3196
+15.4992 1.00876 17.052
+16.3741 0.5508839 17.3422
+15.9202 0.1642279 16.5317
+16.673 0.6565399 16.1588
+17.5071 0.3758769 16.6387
+17.9465 -0.1131991 15.9464
+17.5937 -1.02034 15.518
+18.5633 -1.38513 15.5445
+18.2419 -2.31757 15.4582
+18.5526 -3.12031 16.1493
+18.4903 -3.53774 17.041
+18.4009 -4.12716 17.8169
+18.6403 -4.08016 18.8088
+19.5521 -4.4028 18.9664
+19.7684 -3.69501 18.3907
+20.7113 -3.35071 18.5856
+21.2562 -4.23978 18.6343
+21.2725 -5.02789 19.235
+21.0628 -5.18564 20.1572
+21.0755 -6.05535 20.6042
+21.238 -5.51159 21.4119
+22.11 -5.56672 20.8921
+22.1462 -4.58225 20.6628
+22.6379 -3.75533 20.6644
+22.9279 -4.3441 19.9213
+23.3375 -3.45441 19.9475
+24.0123 -3.84834 20.547
+24.9976 -3.61375 20.6044
+25.3775 -3.4625 21.5036
+25.4171 -4.00249 22.3013
+25.9213 -3.44605 22.9095
+25.384 -2.957 23.6738
+25.5104 -2.23344 23.0119
+24.6118 -1.81156 23.0914
+23.7394 -1.33897 22.9139
+23.7749 -0.4516421 22.6126
+23.7934 0.3108499 22.0091
+23.1378 0.7515379 22.5913
+22.9673 0.1470669 23.4084
+22.2618 0.1154579 24.0446
+22.1833 0.7096699 24.819
+21.4625 0.07802103 24.9742
+21.3201 -0.9315631 24.966
+21.5547 -1.34541 25.894
+21.157 -1.21627 26.754
+20.3737 -0.8004481 27.2723
+20.4621 -0.3510251 26.3469
+19.9952 0.4088479 25.9898
+20.2401 0.9407229 26.7606
+20.6526 0.8001589 27.6774
+21.5244 0.7892129 28.2144
+20.9618 1.1824 28.9294
+20.7957 0.2847939 28.7416
+20.2962 -0.3471191 29.3111
+19.3019 -0.3835591 29.5466
+19.1044 -0.07999017 28.5865
+18.6553 -0.5826331 27.8584
+18.0058 -0.9659451 28.6202
+18.3797 -1.81818 29.0703
+17.3658 -1.74673 29.292
+16.7437 -1.20529 28.6812
+16.696 -0.6326311 27.8879
+16.7478 0.04635923 28.6641
+15.781 -0.2604031 28.4639
+15.1599 0.4281279 28.8535
+14.2284 0.5908989 28.8654
+14.3075 -0.2904611 29.3442
+14.4573 0.001689104 30.2382
+13.7239 0.1361979 30.9237
+12.9272 0.5672949 31.4148
+12.7486 -0.1933981 32.0451
+13.1864 -0.8986591 31.503
+13.7647 -1.63492 31.6215
+14.5801 -1.49559 31.0742
+15.4559 -1.7169 31.4208
+14.9315 -1.38825 32.2183
+15.4397 -1.79638 33.0355
+14.573 -1.22908 33.3272
+14.3777 -1.94975 33.9461
+13.8537 -2.64104 33.4781
+12.9718 -2.9522 33.1792
+12.5867 -2.00675 33.5023
+11.8773 -1.91914 32.6735
+11.0842 -1.25841 32.9303
+10.4035 -0.7576341 33.4396
+10.0371 -0.8152961 32.5088
+9.15791 -0.3263291 32.3486
+8.62221 -0.2834061 31.5334
+9.16311 -0.4640701 30.6786
+9.8489 0.1951219 30.3072
+10.6335 0.7299999 29.9953
+10.1671 1.28634 30.7392
+9.90994 1.727 29.8593
+10.2143 2.30198 29.1265
+10.305 3.288 29.2888
+9.809 4.21565 29.3885
+10.5271 4.27244 28.6783
+10.2038 3.44909 28.2022
+10.9709 2.80958 28.3122
+11.3269 3.54162 27.7484
+11.4199 3.90209 26.8356
+11.4511 3.565 25.863
+10.4817 3.71934 25.5981
+10.5265 4.63526 26.0987
+10.3726 5.17692 26.9072
+9.91341 4.64487 27.5389
+9.13626 4.16276 27.8837
+8.37625 3.51115 27.5416
+7.58766 3.49862 26.8869
+6.95528 2.9456 26.3842
+5.97325 3.15709 26.3611
+4.99867 2.99623 26.0442
+4.99613 3.92113 26.2843
+5.00119 4.87825 26.6897
+4.23583 5.16614 27.3246
+4.30855 4.79378 28.2519
+4.04788 5.74211 28.3073
+4.95801 6.22906 28.4354
+5.59581 5.41982 28.5028
+4.76738 5.38686 29.0148
+5.47954 5.52196 29.7948
+5.09839 4.56593 29.8502
+4.12676 4.60173 29.9187
+3.18381 4.75357 30.1689
+2.71193 5.50878 30.703
+2.06905 5.9324 30.1795
+1.76248 5.82305 31.0608
+0.789086 6.11515 31.0101
+1.03261 6.47333 31.8987
+0.762365 6.40693 32.8685
+0.790483 7.39789 33.2033
+0.809175 8.23667 33.7979
+0.547769 7.34979 34.2299
+-0.320565 7.50619 34.6679
+-1.13294 7.62519 34.0777
+-1.80305 8.18581 34.5538
+-2.46556 8.40657 33.8674
+-2.81454 8.804 32.9615
+-3.16984 9.77009 32.8533
+-3.50138 10.0469 31.985
+-4.51022 10.2717 31.9634
+-5.4374 10.0014 31.7056
+-5.66918 10.5822 30.8296
+-5.27053 10.9557 29.9762
+-4.30525 11.01 30.0811
+-3.59771 11.6917 30.1106
+-4.06496 12.4745 30.6189
+-4.30454 13.3517 30.1327
+-4.7354 13.146 29.2417
+-4.43759 13.8247 28.5367
+-4.44589 13.2246 27.6776
+-3.54471 12.8259 27.4431
+-2.97426 11.9721 27.7024
+-2.63082 11.8427 26.7701
+-1.79132 11.478 26.4223
+-2.04564 11.1707 25.5062
+-1.69896 10.2715 25.6491
+-2.54514 10.2078 26.0737
+-2.92259 10.3012 25.1281
+-3.89321 10.1545 25.0886
+-4.69932 10.5023 25.4382
+-5.44236 10.7704 26.0223
+-5.92612 10.8491 25.1167
+-5.94666 11.3521 24.2954
+-5.98103 10.6516 23.7341
+-5.79544 10.9259 22.7268
+-6.03681 10.4138 21.8686
+-5.02499 10.3981 21.6933
+-5.3175 9.76208 20.978
+-4.95117 9.22439 20.3478
+-4.50195 8.48961 20.7825
+-5.14891 7.64304 20.9614
+-5.50693 6.71433 21.0533
+-6.39082 7.16387 21.3137
+-6.15971 7.96535 20.6806
+-5.97209 8.60679 21.3932
+-6.88254 8.96117 21.3908
+-7.5414 8.35542 21.777
+-7.96573 9.11367 22.3164
+-8.20687 9.93344 21.8859
+-9.11952 9.75923 21.4376
+-9.37911 8.78747 21.275
+-8.92006 8.18755 21.8607
+-9.74585 7.6449 21.675
+-9.4214 6.74282 21.319
+-9.78391 6.42066 20.425
+-10.3614 7.0081 19.8029
+-10.9148 7.34918 19.0422
+-11.4588 7.86553 18.3409
+-12.2094 8.21997 18.9922
+-12.6787 7.97777 19.7537
+-12.5555 7.10324 20.1042
+-12.9064 6.45121 19.4266
+-13.1518 6.44791 18.4829
+-13.7867 5.87947 17.9239
+-14.4616 5.30524 17.4434
+-15.1579 5.24338 16.7547
+-15.8657 5.72659 17.3279
+-16.3316 5.04445 17.8508
+-17.0806 4.83549 18.3979
+-17.6606 5.33174 17.7499
+-18.5623 4.85001 17.7364
+-19.2185 4.69888 16.9889
+-19.6732 3.8089 17.2818
+-20.3651 4.52437 17.2226
+-20.3227 5.51888 17.5012
+-21.1094 6.06236 17.4214
+-21.5878 5.23942 17.5871
+-21.8801 5.38857 18.5018
+-21.2377 6.0622 18.8767
+-20.475 5.72109 19.2422
+-19.6627 5.69619 18.7191
+-18.987 6.17167 19.2432
+-19.1327 6.56931 20.1538
+-18.5137 5.91762 20.6247
+-17.6884 6.37321 20.9763
+-17.7948 6.11681 21.9682
+-18.2732 5.5893 22.6585
+-17.5667 4.89982 22.8932
+-16.9097 4.39922 22.5233
+-17.2295 3.98463 23.4291
+-16.3819 3.36921 23.2535
+-16.5822 3.15409 24.2063
+-16.9198 3.47553 25.0464
+-15.9589 3.19106 24.9607
+-15.1913 2.67156 24.5982
+-14.6271 3.44168 24.4893
+-13.702 3.2744 24.9376
+-13.3353 3.43365 24.0285
+-13.2848 4.0862 23.2894
+-13.1972 3.81034 22.3193
+-13.7756 2.99899 22.2779
+-14.3248 3.75364 22.6128
+-14.5164 3.98136 21.6338
+-15.3875 4.31297 21.9605
+-15.4825 3.98837 22.8994
+-14.8565 4.62548 23.3565
+-15.5014 5.18696 22.7354
+-16.3159 5.52307 22.2651
+-16.3509 6.23878 21.6301
+-15.8843 6.24583 22.5212
+-16.2967 7.11448 22.3753
+-15.4056 7.47757 22.1632
+-14.7867 7.79749 22.877
+-14.9281 8.57886 23.5063
+-14.2384 8.78297 22.75
+-14.1538 9.67032 22.3508
+-13.4932 9.61191 23.1463
+-14.3558 10.0762 23.2016
+-14.6818 10.6731 22.4813
+-14.1785 10.694 21.6536
+-14.067 9.93799 20.9663
+-14.6433 9.93238 20.1828
+-13.7416 9.56059 20.0677
+-13.7089 8.79542 19.3993
+-14.7065 8.71758 19.3935
+-14.52 8.04798 20.1101
+-13.8356 7.39021 20.4236
+-14.0701 7.14491 19.4882
+-14.5609 6.74878 18.7875
+-15.0772 5.91119 19.0819
+-14.5916 5.26851 19.6679
+-14.383 4.45901 20.1809
+-14.6783 3.62418 19.6494
+-15.0126 3.5617 20.5823
+-15.5845 2.83548 21.047
+-14.6093 2.73084 21.4115
+-14.7656 1.83973 21.6722
+-14.8885 0.9385479 22.1
+-15.0353 0.1008669 22.7377
+-15.5127 0.3108749 23.6096
+-16.2659 0.1665499 23.003
+-17.2289 -0.1924341 22.9495
+-18.187 -0.4523701 23.2256
+-17.827 -0.5251921 24.1657
+-18.5091 0.1946159 24.0059
+-18.3242 0.6734629 24.8986
+-17.5131 0.9857489 24.3253
+-16.887 1.66044 24.8039
+-17.2923 1.50815 25.6913
+-16.9746 0.9162689 26.3324
+-16.7503 0.2726529 27.0097
+-17.6748 0.5326559 26.7803
+-18.2759 -0.3542361 26.7608
+-17.9529 -1.32186 26.7978
+-18.5836 -1.4212 27.6086
+-18.6726 -1.23734 28.6199
+-18.8478 -1.38532 29.5823
+-18.4953 -0.4692981 29.3457
+-18.3006 0.3741809 28.9452
+-17.9279 1.13785 28.4125
+-17.9008 2.07153 27.968
+-18.6189 1.41648 27.6179
+-19.1111 0.6868579 28.1118
+-19.2358 -0.3026581 28.3022
+-19.7716 -0.9590701 27.6981
+-20.6998 -1.07101 27.4757
+-21.3647 -1.03349 28.1435
+-21.0213 -0.1422501 28.4678
+-21.1997 -0.09121377 29.5062
+-20.8746 0.6891999 28.9494
+-21.6105 1.10457 29.4108
+-22.0436 0.7902849 28.5038
+-23.0433 0.7767919 28.2355
+-22.5049 -0.09148827 28.2411
+-23.3058 -0.3401701 27.6968
+-23.6874 -0.3061921 26.7915
+-23.4645 -0.8401271 25.9568
+-22.9186 -1.11428 25.0957
+-22.5432 -2.06446 25.0774
+-23.0421 -2.91505 24.6293
+-23.1389 -3.66669 23.9348
+-23.1328 -2.78367 23.5223
+-23.9242 -2.17944 23.4265
+-24.6522 -2.87911 23.3929
+-24.9237 -2.18173 22.7169
+-25.7609 -2.60663 22.722
+-25.8535 -1.64407 22.6945
+-24.9753 -1.07581 22.8646
+-25.6662 -0.5610121 22.3817
+-24.9302 -0.1339661 21.9277
+-24.4414 -0.06187377 21.0273
+-25.1635 -0.6854571 20.8387
+-25.0061 -0.04801927 20.1002
+-24.4987 0.6623519 19.7567
+-23.6091 0.9984749 20.1518
+-23.1415 1.00536 20.9724
+-22.3655 0.4108719 21.2204
+-22.1078 -0.04754077 20.4028
+-21.135 -0.3402271 20.3023
+-21.375 -0.8269201 21.1243
+-20.4018 -0.6765591 21.2813
+-19.8768 -1.42046 20.8733
+-20.1698 -1.28786 19.9457
+-19.5924 -0.4982951 19.721
+-18.876 -0.4377271 18.9896
+-18.4751 0.04940623 19.7843
+-17.485 0.09339073 19.5815
+-17.2054 -0.8796381 19.5343
+-17.0477 -1.51909 20.2887
+-16.4202 -2.16723 20.7375
+-16.8472 -3.02566 20.2944
+-17.4558 -3.72183 19.9951
+-17.3843 -2.83138 19.4716
+-18.217 -2.63031 19.0868
+-18.2203 -3.47036 18.5185
+-18.2298 -2.99064 17.6879
+-19.0302 -2.42943 17.6569
+-19.5831 -1.67385 18.1481
+-19.1171 -0.8631901 17.8222
+-18.6735 -0.002140926 17.8457
+-18.3604 -0.7143201 17.2014
+-17.6891 -0.7642781 16.444
+-17.2961 0.1484479 16.4754
+-17.3642 1.06322 16.0277
+-17.819 0.9107539 15.2332
+-18.7358 1.12058 15.4803
+-19.492 0.4399269 15.275
+-19.7423 0.9311009 14.4676
+-19.1859 0.5498339 13.6909
+-18.7957 -0.1102041 14.3288
+-17.9028 0.1782979 14.1812
+-17.0647 0.4568279 13.8636
+-16.9756 1.02058 13.0128
+-17.1094 1.68858 13.7578
+-17.6488 2.17114 14.4762
+-17.7305 2.97121 15.1112
+-18.3347 2.89887 15.8646
+-18.417 2.94332 16.8662
+-17.7097 3.42381 17.3961
+-17.3964 3.79071 18.1895
+-17.4759 2.98301 18.7294
+-18.4235 3.15251 19.1381
+-18.7122 3.8279 19.9054
+-17.9672 4.27111 20.4602
+-17.6016 4.1241 21.2569
+-18.586 4.29568 21.2717
+-18.5869 3.27437 21.2148
+-18.9814 3.11216 22.1666
+-18.8782 2.32694 22.7118
+-19.6415 2.3604 23.3047
+-20.171 1.5208 23.2643
+-20.4765 0.6036149 23.3414
+-20.772 -0.2996321 22.9523
+-21.7501 -0.6225901 23.0502
+-22.1293 -0.4463941 23.98
+-22.9202 0.1508989 23.8526
+-23.784 0.6846109 23.7916
+-23.7461 0.7440459 24.7518
+-22.7576 0.9736189 25.0705
+-22.0851 1.69822 24.889
+-22.677 2.25563 24.2488
+-22.5912 3.22156 24.5038
+-22.5096 4.14021 24.7509
+-23.3451 4.72148 24.8352
+-23.5204 5.61384 24.8606
+-23.1995 5.4771 23.8936
+-24.1696 5.25899 24.0561
+-25.1103 5.35062 23.7679
+-24.5585 6.06632 23.3036
+-25.3713 5.97427 22.6805
+-25.6226 6.84513 22.1932
+-26.4593 6.44698 22.3166
+-27.1419 6.05425 21.6622
+-26.2487 5.61692 21.8215
+-25.292 5.4875 21.5434
+-24.6662 5.33119 20.7531
+-24.8024 6.28559 20.6408
+-24.1696 6.0273 19.8554
+-23.3697 5.35595 19.8139
+-23.169 4.40361 20.0098
+-24.1013 4.20402 19.9151
+-24.2843 3.66161 19.0574
+-25.0243 3.75273 18.3058
+-25.9239 3.7334 18.0207
+-25.5343 4.56337 18.4349
+-25.8316 5.19426 17.8066
+-25.6949 6.17609 18.1529
+-24.9472 6.4964 17.4398
+-24.1164 7.05103 17.6821
+-23.8077 7.66947 18.4121
+-23.3644 7.72344 19.3241
+-22.4556 7.26196 19.0668
+-22.062 8.1736 19.1313
+-22.7414 8.69509 18.7794
+-22.5631 9.54953 18.2858
+-23.1351 10.4148 18.3445
+-22.6109 10.7452 19.0418
+-22.7223 11.706 18.7633
+-23.2833 12.3945 19.3447
+-22.6369 11.8544 19.9075
+-23.3586 11.3006 20.3522
+-23.095 10.6678 21.0036
+-23.4794 9.87139 20.5985
+-22.5339 9.69464 20.3483
+-21.6549 10.0544 20.6277
+-20.8194 10.4701 20.1893
+-21.0914 11.4228 20.0725
+-20.5795 11.5807 19.1729
+-20.8305 12.4212 19.6876
+-20.8346 12.706 18.7376
+-21.7635 12.2962 18.5502
+-22.4295 13.0798 18.4389
+-21.8848 13.8665 18.1076
+-22.7587 14.1077 18.3949
+-22.6501 14.9562 18.9063
+-23.6685 15.0673 19.0213
+-23.7942 14.1084 18.7776
+-24.642 13.6849 18.363
+-24.8586 13.7307 17.4818
+-24.179 13.0176 17.3696
+-24.3911 12.0283 17.3361
+-24.7808 11.1869 17.1098
+-25.7773 10.8549 17.1482
+-26.3579 10.7844 16.3098
+-26.0516 11.6282 16.05
+-25.4175 12.2595 15.4909
+-24.9002 11.4044 15.7678
+-24.0854 11.5598 15.2399
+-24.8667 11.3335 14.6596
+-24.3341 12.207 14.4296
+-25.2852 12.5713 14.2966
+-25.6353 12.8046 13.3467
+-24.6491 12.6971 13.2806
+-23.7816 12.2378 12.9397
+-24.1335 11.6613 12.1639
+-23.5195 11.0872 12.6337
+-23.1104 10.8908 13.5469
+-22.5324 10.0805 13.5635
+-22.0808 9.27491 13.1962
+-21.8137 9.13135 12.2911
+-21.2631 9.10459 11.4543
+-21.2817 9.98759 11.0646
+-22.1565 10.162 10.6345
+-22.5652 10.9669 11.0457
+-23.2005 11.5551 11.5629
+-23.6474 11.4888 10.6656
+-23.9356 10.5341 10.5563
+-24.8606 10.1712 10.3967
+-25.8043 10.3689 10.0093
+-26.3324 11.1998 9.68461
+-25.6072 11.5576 9.0225
+-25.8804 10.7354 8.56323
+-26.6143 10.6941 7.88041
+-26.1792 11.0693 7.07356
+-26.5145 11.5714 6.23982
+-27.2654 11.7498 5.56775
+-27.7374 12.1084 6.37974
+-28.4716 12.806 6.67095
+-29.3842 12.4335 7.00184
+-29.7947 11.6028 6.70223
+-30.31 10.781 6.71252
+-31.0686 11.2663 6.25234
+-32.0348 11.5843 6.28058
+-31.6137 12.0296 7.01392
+-32.3661 12.2151 7.75306
+-31.7357 12.9675 8.10269
+-31.0297 13.6469 8.12657
+-31.5147 13.7893 7.25154
+-32.0401 13.1777 6.66333
+-31.3428 13.2869 5.98396
+-30.8962 13.0869 5.08818
+-30.5843 12.1392 5.1499
+-29.6671 12.5074 4.92466
+-29.1215 13.2127 4.44513
+-28.6476 13.6821 5.18371
+-27.6386 13.7717 4.97338
+-27.022 14.4491 5.29122
+-27.2057 14.6123 6.25409
+-26.805 15.5738 6.39628
+-25.8825 15.4069 6.11553
+-24.9938 15.3025 6.59875
+-24.279 15.6334 6.00895
+-23.9109 16.1239 5.23267
+-23.7267 17.0443 4.91467
+-22.7246 17.3931 5.04679
+-22.4811 17.104 4.09164
+-21.6916 16.631 3.70478
+-21.0977 16.1224 4.23216
+-21.0794 15.683 5.12673
+-20.0854 15.518 5.16461
+-19.739 16.4343 5.25751
+-19.2131 16.6617 6.12038
+-18.8459 15.7934 5.83032
+-18.1789 15.0831 5.81031
+-17.1661 15.1198 5.98822
+-17.4644 16.1376 5.85744
+-17.6513 16.1619 4.84522
+-18.4936 16.7053 4.85462
+-18.5345 17.5423 5.41013
+-18.2709 18.2763 6.06027
+-17.894 19.1554 6.36879
+-17.4666 19.4769 7.30791
+-17.4344 20.4177 7.12227
+-17.9044 21.02 7.83779
+-17.6188 21.6705 8.48269
+-18.2492 22.3563 8.68685
+-19.0491 21.7112 8.33057
+-19.883 21.7093 7.91159
+-19.4908 22.0909 7.01876
+-19.2065 22.9475 6.53505
+-19.5051 23.1516 7.43552
+-19.8127 23.9034 8.01308
+-20.4853 24.4388 8.51202
+-20.724 25.3547 8.95203
+-21.2292 26.0688 9.45084
+-21.1646 26.014 10.4375
+-22.1422 25.831 10.1633
+-22.5471 26.2039 10.9396
+-23.0646 26.3172 11.7763
+-22.1152 26.1027 12.0249
+-21.7604 26.9981 12.4579
+-21.1577 27.7658 12.6511
+-21.648 27.6858 11.8031
+-20.679 27.9025 11.5702
+-20.0775 27.378 12.2064
+-19.1424 27.0219 12.4217
+-19.0808 26.6068 11.5361
+-18.9778 25.6653 11.918
+-18.9056 24.7452 12.2398
+-18.6698 24.4249 13.1544
+-19.5193 24.5188 13.6219
+-20.5115 24.6694 13.3884
+-20.4561 23.6492 13.3375
+-20.7069 23.1358 12.5338
+-20.0188 22.7979 11.8716
+-20.1708 23.7303 11.4051
+-20.7842 23.3466 10.7554
+-21.6192 22.8548 10.8845
+-21.6499 22.9888 9.86657
+-22.0685 22.0659 9.79239
+-22.1637 21.7139 10.7249
+-21.3694 21.643 11.4308
+-21.4744 20.7723 12.0477
+-22.1068 20.4377 12.7222
+-21.6536 21.1993 13.3045
+-21.3793 20.7101 14.1314
+-20.6809 21.2881 14.5455
+-20.6798 21.4975 15.475
+-21.3182 21.4736 16.1669
+-22.2474 21.8894 16.0612
+-22.5953 21.5518 16.9836
+-21.9156 21.9263 17.5473
+-22.4599 21.4552 18.255
+-23.1808 20.8412 18.05
+-22.4578 20.3071 18.258
+-22.202 19.4807 17.6634
+-21.3894 20.1193 17.7696
+-20.6776 20.7987 17.873
+-20.3446 21.1227 17.0654
+-19.6232 20.3901 16.8719
+-19.0894 20.4375 16.0204
+-19.1272 19.4581 15.8261
+-19.0966 19.217 14.7902
+-19.6694 18.7072 14.1803
+-20.4552 18.6888 14.8226
+-20.6674 18.4306 15.7422
+-20.3408 17.5103 15.5035
+-20.0707 16.6032 15.1799
+-20.8879 16.3217 15.6853
+-21.4775 15.8705 16.2557
+-22.3568 15.4909 16.382
+-22.1894 15.8427 15.5012
+-22.3371 16.6869 15.1445
+-22.0333 16.0297 14.4469
+-22.4082 16.0744 13.5085
+-23.3656 16.2672 13.5158
+-23.2192 17.1578 12.9702
+-23.916 16.9904 12.2647
+-24.5851 17.213 11.6874
+-24.146 17.2091 10.772
+-23.8156 17.4951 9.82253
+-23.691 16.5761 9.65023
+-24.235 15.861 10.1599
+-25.0708 15.571 10.635
+-24.3581 15.2828 11.3218
+-23.907 14.4246 10.9911
+-23.1818 14.3431 10.2233
+-22.1994 14.4153 10.3133
+-21.3913 13.8928 10.2759
+-21.4987 13.5508 11.2282
+-20.7441 13.7107 11.7399
+-20.2721 14.3938 12.3467
+-20.925 14.0418 12.9704
+-20.3734 13.3743 13.6485
+-20.1928 13.1362 14.5835
+-21.0726 12.619 14.8008
+-21.907 12.6852 15.3948
+-22.6271 12.3618 15.9153
+-22.6921 11.4694 16.2772
+-23.5591 11.8821 16.8167
+-23.5735 10.8329 16.8661
+-23.6823 9.95208 16.3182
+-23.1899 9.25396 16.9063
+-23.6422 8.68967 16.2652
+-23.2204 7.80625 16.0122
+-23.1589 8.21481 15.0417
+-23.6382 7.33632 14.6345
+-23.8257 6.44376 15.1577
+-23.3361 5.7585 14.6132
+-22.541 5.15062 14.3652
+-22.4227 4.30402 14.8777
+-23.4149 4.40223 14.7731
+-24.1127 3.93343 15.271
+-24.4207 3.13992 14.8008
+-24.4093 2.67677 13.8488
+-24.3873 3.18045 13.0363
+-24.6592 3.93111 13.6143
+-23.979 4.54525 13.1312
+-23.3618 3.84353 12.7459
+-22.364 3.62566 12.8998
+-21.6034 4.25903 12.669
+-21.3495 4.03056 11.7903
+-21.6773 3.0411 11.8116
+-21.0703 2.72507 12.535
+-20.2631 3.20918 12.1574
+-20.2497 2.23959 11.987
+-19.3155 2.55164 11.9415
+-18.6353 3.24762 11.9546
+-18.0776 3.05433 12.767
+-17.7847 3.93117 12.3158
+-16.8872 3.99144 11.9943
+-17.1921 3.01748 12.3963
+-17.2927 2.07128 12.7641
+-16.4518 2.48771 13.1928
+-16.157 2.64031 12.2582
+-16.0055 2.44711 11.2432
+-15.144 2.83982 11.4457
+-14.5094 2.21121 12.024
+-14.3463 1.40988 12.6389
+-13.4321 0.9371269 12.7704
+-13.4447 -0.04806037 12.5063
+-12.5911 -0.1811881 12.9986
+-12.0812 0.6491789 12.9888
+-11.3775 1.40001 12.7907
+-11.7397 1.64666 13.6832
+-11.4468 2.254 14.3736
+-11.7889 2.98437 13.7965
+-11.2182 3.69827 13.9589
+-11.7046 4.57666 14.3271
+-12.0426 3.98731 13.5007
+-12.5908 4.80649 13.5827
+-12.6416 4.66244 12.5739
+-11.8579 4.12006 12.0974
+-11.1874 4.80016 11.8683
+-11.3776 5.23437 12.759
+-11.4915 6.2562 12.9629
+-11.5046 6.70273 13.8868
+-12.3315 7.25776 13.9563
+-12.7117 6.72575 14.6714
+-12.5316 6.85418 15.6202
+-11.8064 7.36243 15.1744
+-11.8451 8.36513 14.9547
+-12.7174 7.92712 14.8537
+-13.5642 7.70128 15.2866
+-13.8657 8.29963 14.6168
+-13.9564 7.79027 13.8161
+-14.4094 7.15712 14.3501
+-14.3468 6.58089 15.1467
+-14.4884 5.90523 14.4795
+-14.7155 5.06278 14.9991
+-14.0505 4.66439 14.3347
+-14.5294 3.93128 13.8956
+-14.2364 2.97003 13.9428
+-14.6069 2.13064 14.2792
+-14.688 1.18424 14.5292
+-14.5071 0.1902699 14.7433
+-14.2823 -0.5606821 15.3974
+-13.524 -1.20811 15.1652
+-13.5942 -1.13658 14.2053
+-14.0867 -1.97968 14.258
+-14.5769 -2.56252 13.5928
+-15.4902 -3.04816 13.7549
+-15.7385 -2.59165 12.9073
+-15.8357 -2.01715 12.0372
+-16.445 -2.81988 12.097
+-17.0792 -2.68862 12.8949
+-17.9881 -2.75599 13.2879
+-18.8346 -2.99186 12.9635
+-19.4988 -3.02283 12.1673
+-20.1976 -3.4139 12.8359
+-19.7532 -4.32533 12.5259
+-18.839 -4.56991 12.7099
+-18.3951 -4.17272 13.4829
+-17.4917 -4.52357 13.5213
+-17.0641 -4.60136 12.6009
+-16.2549 -4.68362 13.1621
+-15.4939 -4.12084 13.4292
+-14.6691 -4.4765 12.9728
+-14.6656 -3.65752 12.4391
+-14.6476 -4.32313 11.753
+-13.6776 -4.66283 11.7215
+-13.7301 -5.69202 11.6376
+-13.1448 -6.35061 11.2179
+-12.7574 -5.52365 11.584
+-12.1736 -4.94371 12.1848
+-12.842 -5.2083 12.9384
+-13.5783 -5.27939 13.644
+-13.4902 -6.17651 13.1994
+-14.4057 -6.52402 13.2866
+-14.3562 -6.97354 12.3591
+-14.615 -7.62887 11.6458
+-14.8069 -8.36125 10.8896
+-14.5856 -9.17328 11.5389
+-13.8087 -9.39008 10.9573
+-13.8174 -8.65073 10.2559
+-14.0519 -9.47135 9.66708
+-14.7789 -9.66902 8.96843
+-15.0803 -10.4636 8.54218
+-15.0374 -11.4846 8.78984
+-14.4105 -11.9962 9.33588
+-13.7812 -12.0743 10.1845
+-13.1962 -12.9 10.0741
+-13.0538 -13.5696 9.34185
+-12.2246 -13.1869 9.76267
+-12.4798 -12.2357 9.69031
+-12.0714 -11.6186 10.3804
+-12.1794 -10.6208 10.0733
+-12.5165 -10.1044 10.8808
+-12.4184 -9.44783 10.1353
+-12.1539 -8.6806 10.76
+-12.1976 -8.27962 11.7027
+-11.4265 -7.86601 11.1753
+-10.9556 -7.92769 11.9986
+-11.1915 -8.30279 12.8651
+-11.8023 -9.12923 13.0127
+-11.828 -9.07229 14.0063
+-11.2001 -9.0135 14.7836
+-11.5952 -9.84168 15.1764
+-10.6904 -10.0223 14.9038
+-10.1302 -10.8396 14.7605
+-10.5029 -11.4179 14.1174
+-11.1416 -11.5842 14.9066
+-11.2242 -12.5605 15.1777
+-11.5317 -13.4836 15.0639
+-11.725 -14.4905 15.3132
+-12.3741 -13.7678 15.5667
+-12.435 -13.9258 14.5695
+-11.9904 -14.289 13.7641
+-12.6238 -15.1122 14.1629
+-13.04 -15.782 14.771
+-13.9029 -15.5369 15.2656
+-13.7377 -14.5597 15.1611
+-14.1663 -13.6683 15.224
+-14.217 -12.7216 15.1278
+-13.6967 -11.942 14.8575
+-14.499 -11.2963 14.8886
+-13.7169 -10.6717 15.0105
+-14.1385 -9.8111 15.3582
+-14.056 -8.81631 15.2429
+-14.4813 -8.57581 14.3953
+-15.1847 -8.71191 15.0675
+-15.0514 -7.71003 14.9407
+-15.3321 -7.51251 15.8825
+-14.908 -6.58921 15.9068
+-14.6714 -5.67807 15.6459
+-15.5342 -5.24074 15.5652
+-16.2389 -5.21051 14.8716
+-17.1144 -5.6317 14.9657
+-18.0109 -5.24926 14.7811
+-18.3465 -4.32793 14.7115
+-19.0306 -5.16055 14.7123
+-19.3714 -4.30282 15.1305
+-18.8486 -4.78579 15.7512
+-19.2384 -5.2351 16.5672
+-19.8194 -4.53081 16.9817
+-19.7381 -3.62079 16.601
+-20.5704 -3.84518 16.0759
+-21.5085 -4.2948 15.9969
+-21.9579 -3.45094 15.764
+-21.2816 -3.02928 15.1384
+-21.2253 -2.10826 15.3897
+-21.7034 -2.24058 16.2761
+-21.0459 -2.78734 16.7232
+-20.626 -3.60996 17.2528
+-19.8026 -3.20319 17.6697
+-20.1867 -2.53149 18.2412
+-21.1643 -2.39693 18.3186
+-22.1375 -2.51574 18.6108
+-22.4368 -3.37668 18.9218
+-22.8845 -3.80557 18.125
+-22.565 -4.75155 18.0827
+-22.6369 -5.53053 17.3699
+-22.2214 -6.45394 17.5042
+-21.2175 -6.59485 17.2436
+-20.6093 -6.59152 16.4205
+-21.2274 -6.13979 15.765
+-21.007 -6.29038 14.8
+-20.1658 -5.87802 14.393
+-20.4347 -6.50318 13.659
+-20.1294 -7.3614 13.3379
+-20.2815 -8.31904 13.6495
+-21.1411 -7.81407 13.6691
+-21.2453 -8.77627 13.4552
+-20.4355 -9.31786 13.6686
+-20.464 -10.0844 13.0139
+-21.3752 -10.5898 13.1139
+-21.8539 -11.4582 12.8058
+-22.3566 -10.6054 12.7918
+-23.2847 -10.4304 13.1392
+-22.8335 -9.86882 13.7944
+-22.9326 -9.0004 13.265
+-22.8225 -8.2001 12.7304
+-22.2137 -7.76809 12.1041
+-22.5538 -8.06583 11.2631
+-23.4181 -8.13162 10.7142
+-23.5371 -9.01777 10.1883
+-22.8542 -9.48906 9.59995
+-21.9935 -9.85428 10.0257
+-21.2578 -10.1448 9.40457
+-20.3342 -9.78064 9.55296
+-19.8757 -10.0564 10.4057
+-20.2877 -10.8476 10.8672
+-21.2219 -10.9051 10.7232
+-21.232 -11.285 9.76872
+-20.976 -11.7902 8.91172
+-20.1906 -12.2223 9.4151
+-20.1321 -12.2628 10.3815
+-19.4145 -11.5355 10.6352
+-18.8021 -11.0408 11.2093
+-18.0605 -10.9506 11.8919
+-18.0788 -10.845 12.8903
+-17.2406 -10.3265 12.3753
+-17.5709 -9.4526 12.6933
+-17.0711 -8.58167 12.3955
+-16.1007 -8.82916 12.0808
+-15.7548 -8.87283 13.0025
+-15.2406 -9.65447 12.7039
+-14.4041 -9.93805 13.1609
+-13.8399 -9.72105 13.9656
+-12.9552 -9.29287 14.2124
+-12.3149 -10.0254 14.0559
+-11.6958 -10.6328 13.5311
+-11.2286 -10.4575 12.616
+-11.1151 -11.3363 12.1987
+-12.1197 -11.344 11.8726
+-12.3337 -11.6469 12.7798
+-13.07 -12.2801 13.0694
+-13.7741 -12.9705 12.9666
+-12.913 -13.4556 13.2667
+-12.7811 -13.1876 12.2675
+-13.4142 -13.7861 11.7717
+-14.1294 -13.6347 11.0755
+-13.7435 -14.5436 11.2214
+-13.2462 -15.2746 11.6231
+-13.619 -15.7563 10.8342
+-13.4032 -16.6958 10.5545
+-14.1442 -17.177 11.0633
+-14.3038 -17.0154 12.0063
+-14.2937 -18.0898 12.1521
+-13.3573 -18.0653 11.9491
+-13.008 -17.1619 12.0144
+-12.569 -16.5856 11.3765
+-12.0342 -16.2705 12.175
+-11.29 -15.682 11.7911
+-11.3462 -14.9688 12.5186
+-11.3175 -14.3164 11.7542
+-11.6705 -13.8169 12.5716
+-11.6079 -13.0055 11.9091
+-11.0558 -12.5212 11.3573
+-11.1217 -12.8611 10.3926
+-11.1717 -12.9499 9.44344
+-11.4883 -13.4336 8.65279
+-11.3911 -14.0536 9.45605
+-11.0154 -14.8942 9.90665
+-10.9107 -15.7418 9.31658
+-10.1674 -15.1091 9.31277
+-9.25543 -14.7441 9.48574
+-9.35603 -14.8184 8.48217
+-9.01679 -15.7862 8.38727
+-8.42185 -16.5203 8.69078
+-7.71336 -15.9321 8.1799
+-7.5319 -15.7941 9.18166
+-8.15522 -15.7054 9.99015
+-7.27699 -15.5965 10.3733
+-6.39986 -15.2661 10.8049
+-6.99323 -14.98 11.575
+-7.21043 -15.3354 12.513
+-7.61294 -16.2207 12.2547
+-8.52252 -15.7352 12.159
+-8.89485 -16.5281 12.712
+-9.44335 -16.5552 13.5329
+-9.97968 -15.8482 12.9906
+-10.1016 -15.1833 13.7344
+-9.76662 -14.3857 13.2031
+-10.4265 -13.5756 13.275
+-10.1803 -13.1596 14.098
+-9.38299 -12.8067 13.616
+-9.35298 -12.1008 12.8896
+-8.71844 -11.3585 13.0916
+-8.48646 -11.9451 13.8439
+-8.17243 -12.7794 14.3115
+-7.47383 -12.8095 14.9691
+-6.70691 -12.5244 14.3243
+-6.29636 -12.0625 13.5451
+-5.77251 -12.1324 12.7276
+-4.96963 -11.957 13.3266
+-4.37885 -12.6061 12.8797
+-3.4751 -12.7535 13.1224
+-2.46644 -12.5955 13.2734
+-2.29336 -13.5335 13.3964
+-2.28724 -14.2212 14.0714
+-3.01944 -13.9878 14.7322
+-3.64286 -13.378 15.0489
+-4.07825 -14.2475 14.6776
+-4.00845 -15.222 14.9321
+-3.50938 -15.5669 14.0639
+-2.64177 -15.9914 14.1924
+-1.78684 -15.6144 14.575
+-1.03774 -14.8316 14.5595
+-0.257539 -15.0141 13.9101
+-0.814122 -14.5346 13.3128
+-0.279798 -14.2109 12.5227
+-1.13092 -14.0016 11.9281
+-1.68929 -14.8867 12.1271
+-2.2502 -15.1814 11.3779
+-3.22441 -15.4114 11.3595
+-3.95495 -15.7002 10.8825
+-4.93527 -15.3058 10.6727
+-4.52089 -14.4495 10.5088
+-5.03661 -13.7371 11.1481
+-5.2316 -13.384 10.2465
+-4.91356 -13.611 9.38488
+-5.13142 -14.5975 9.17386
+-4.28 -15.02 8.91954
+-3.42342 -15.3088 8.55623
+-4.00123 -16.0499 8.4121
+-4.26571 -16.1461 9.37968
+-5.11562 -15.9241 8.96915
+-4.97638 -15.9521 7.98776
+-4.82796 -15.4948 7.0453
+-4.98525 -16.0406 6.16289
+-5.93043 -16.3144 6.1374
+-5.8433 -16.0465 5.14941
+-6.80047 -16.0544 5.55214
+-6.71995 -16.9712 5.07558
+-7.29431 -17.7093 5.45684
+-8.08481 -17.7934 4.88759
+-8.83237 -17.7277 4.31484
+-9.29485 -17.406 5.10454
+-9.50908 -16.8318 4.2715
+-10.0262 -16.4766 3.50252
+-9.76806 -15.741 2.95711
+-10.4393 -14.9967 2.73803
+-10.6939 -13.9773 2.837
+-9.86313 -13.4496 3.10292
+-9.4669 -12.5588 3.2127
+-9.32951 -11.5627 3.1926
+-9.49092 -11.8666 2.24387
+-8.51063 -12.0104 2.2545
+-7.647 -11.7223 2.52399
+-7.16154 -11.4849 3.32388
+-7.58521 -11.7138 4.1843
+-8.08859 -11.2034 3.49062
+-8.43055 -10.3051 3.80534
+-8.36071 -10.9378 4.66446
+-8.52729 -11.7573 5.22929
+-8.12353 -12.0899 6.05005
+-7.6002 -11.1451 6.04934
+-8.22611 -11.223 6.86227
+-8.17027 -10.2027 6.81395
+-7.66758 -9.85711 6.08457
+-6.70709 -9.80032 5.72645
+-5.73627 -10.0756 5.73279
+-5.90122 -10.6519 4.95043
+-6.19392 -11.3805 5.67116
+-5.19158 -11.3663 5.79466
+-4.21011 -11.3152 5.3763
+-3.42291 -11.6358 5.91709
+-2.47573 -11.9692 6.03712
+-2.82688 -11.7363 6.84839
+-3.46379 -11.3149 7.4446
+-3.82628 -11.0748 6.58181
+-4.14163 -11.9973 6.82995
+-5.02245 -11.5529 6.97695
+-4.96484 -11.8054 7.93043
+-4.97512 -11.9889 8.90666
+-5.80108 -12.3064 9.25755
+-6.18154 -12.2917 8.31973
+-6.86248 -12.9804 8.76474
+-7.60562 -13.5297 8.95671
+-8.47612 -13.359 9.19352
+-8.97273 -12.599 8.88789
+-8.88602 -11.7999 8.27398
+-8.83056 -10.8708 8.56809
+-8.01839 -10.3895 8.4692
+-7.56872 -10.0371 9.38398
+-8.48196 -9.64187 9.26905
+-9.25637 -9.73074 8.65801
+-8.94671 -8.73462 8.73173
+-8.68501 -7.84965 8.63449
+-9.67852 -7.89738 8.57039
+-10.5474 -8.17671 9.05984
+-10.9916 -8.7796 9.61118
+-10.5077 -9.49113 10.1048
+-10.9201 -9.65617 10.9771
+-11.0191 -9.16513 11.8401
+-10.056 -8.98558 11.8441
+-9.48656 -9.83375 11.8815
+-8.52771 -9.40361 11.9027
+-7.65701 -9.19628 11.5324
+-7.28913 -8.98857 10.6557
+-6.85527 -9.25242 9.75601
+-5.8838 -9.45995 9.73748
+-6.17547 -10.3458 10.1679
+-6.38789 -11.3313 10.4024
+-5.60911 -10.9228 10.7947
+-5.26977 -11.7576 11.1855
+-4.31387 -11.9952 10.8125
+-3.81708 -11.2754 10.4831
+-3.63662 -10.5949 9.80697
+-3.83197 -9.66397 9.35883
+-3.23304 -9.97363 8.67636
+-4.05337 -9.99381 8.05107
+-4.00879 -9.60027 7.20057
+-3.24219 -10.2628 7.46003
+-2.21937 -10.0085 7.54237
+-1.5086 -9.3663 7.61932
+-2.03755 -8.64762 7.22902
+-2.60656 -7.91609 7.52817
+-3.07442 -7.78088 6.71161
+-3.90213 -7.30732 6.52288
+-4.46595 -6.69211 7.1664
+-5.32853 -6.27249 7.12371
+-4.85495 -6.14359 8.00402
+-4.60717 -6.93374 8.54844
+-3.68486 -7.14225 8.26117
+-2.76403 -6.97013 8.74928
+-2.83071 -5.96947 8.8676
+-2.32492 -5.91072 9.68941
+-1.43914 -5.59526 9.46368
+-0.718796 -5.09829 8.94702
+-1.68619 -5.01923 8.72194
+-1.86715 -5.94074 8.46423
+-1.24196 -5.34578 7.92916
+-1.15171 -5.94459 7.08821
+-0.978512 -5.92971 6.07717
+-1.35606 -6.8707 6.0425
+-0.767922 -7.64702 6.42272
+-0.865564 -7.45187 7.38743
+-0.896027 -6.76326 7.98738
+-0.812824 -7.50732 8.60398
+-0.9275 -7.38563 9.56079
+0.03925537 -7.66421 9.74743
+0.979635 -8.01612 9.50727
+1.37164 -7.13546 9.24982
+2.22756 -7.59726 8.86003
+2.13468 -8.45454 9.2289
+3.02987 -8.1633 9.69418
+2.89406 -9.09685 9.3726
+3.91906 -9.48224 9.38328
+3.54115 -9.60345 10.25
+2.81453 -10.3028 10.5753
+1.82304 -10.141 10.4085
+1.87521 -10.5727 9.56157
+1.10952 -11.242 9.50076
+0.480168 -11.276 10.2902
+-0.181517 -11.7603 10.8565
+-0.654144 -12.4303 11.4198
+0.169415 -12.3388 12.0215
+1.11456 -11.87 12.2915
+1.4029 -11.0693 11.6927
+1.96894 -10.3992 12.2367
+2.59011 -11.1355 12.3341
+2.85567 -11.8283 13.0112
+2.89577 -11.3065 13.8757
+3.29015 -10.6659 13.2455
+3.76112 -9.99368 13.9789
+3.70739 -9.27913 13.3061
+3.61942 -8.64505 12.4664
+4.31742 -8.05681 13.0009
+4.67152 -7.25635 12.4987
+4.02476 -7.19478 11.7987
+4.65541 -7.95778 11.5507
+4.26264 -8.4686 10.7116
+5.12178 -8.893 10.6796
+5.9996 -8.6933 11.1762
+6.6614 -8.06781 10.7916
+6.84345 -7.13375 10.7941
+7.11938 -6.21555 11.1719
+6.94666 -5.38361 10.7529
+7.0666 -4.91156 11.6361
+6.12999 -5.16393 11.9884
+5.70367 -5.96256 12.4204
+6.32633 -6.35782 13.1015
+6.16522 -6.99838 13.842
+5.23511 -7.24871 13.7518
+4.67898 -7.53724 14.5081
+3.84233 -7.12629 14.7783
+4.33898 -6.23568 14.6018
+4.92888 -5.54235 15.0331
+4.66588 -4.61073 15.4541
+4.77967 -3.74714 15.8524
+4.56712 -3.11922 16.5592
+5.13401 -2.2673 16.653
+5.7262 -1.72388 17.2534
+5.70437 -1.19063 16.3647
+6.36443 -1.59586 15.742
+6.00244 -2.47326 15.3074
+6.61123 -3.26395 15.342
+7.52945 -3.69607 15.5365
+7.83861 -4.54128 16.0288
+8.05658 -5.10122 15.2442
+8.19459 -5.95882 14.7299
+8.00076 -5.13946 14.1373
+8.01104 -6.00924 13.6213
+8.01555 -6.98035 13.5843
+8.92536 -6.82341 13.2842
+9.37941 -7.38898 13.9703
+9.30533 -7.71918 14.8557
+8.77157 -8.05922 15.6348
+8.06582 -8.34086 16.2745
+7.49695 -8.98885 15.7348
+7.30155 -8.39651 14.956
+6.37858 -8.08252 14.9308
+5.99767 -7.35344 15.4904
+5.89821 -7.57671 16.465
+5.48744 -7.99633 17.2791
+4.94498 -8.65608 17.8231
+4.5791 -8.36726 16.9378
+4.34638 -7.58715 17.5114
+3.58903 -8.31376 17.5636
+2.86878 -7.85887 18.0733
+3.53982 -7.40044 18.7233
+3.63229 -8.24255 19.1673
+4.29521 -8.97527 19.1768
+5.2283 -8.99934 19.471
+4.74273 -9.82793 19.8541
+3.97734 -10.2775 20.4163
+4.38304 -9.43663 20.9001
+5.20799 -8.81106 20.8057
+5.29995 -8.25845 21.666
+5.55068 -9.08412 22.2561
+5.62191 -8.38517 22.9529
+5.45372 -8.9074 23.8446
+4.97544 -9.68615 23.4533
+4.04899 -9.7301 23.2144
+3.02538 -9.72771 23.4248
+2.27777 -9.25773 23.9092
+2.60637 -9.83146 24.642
+2.06834 -10.4691 25.1648
+2.98501 -10.1383 25.4648
+3.77338 -10.2511 24.8341
+3.21226 -11.0752 24.7921
+3.81998 -11.5338 24.1775
+4.53746 -11.2246 24.7592
+5.36673 -11.1681 24.2911
+6.15237 -11.1392 24.9052
+6.94253 -11.2748 25.5101
+7.97556 -11.3918 25.3732
+8.75444 -11.9416 25.4657
+9.3552 -11.9684 26.202
+9.11418 -12.9378 26.0338
+8.35194 -12.4012 26.3399
+7.50797 -12.8752 25.9981
+7.214 -13.4463 26.7573
+7.14874 -12.4359 27.0891
+7.18785 -12.0551 27.9787
+7.87135 -12.7175 27.8276
+8.54403 -13.3965 28.3346
+8.35464 -13.6686 29.2886
+7.86525 -12.8595 29.6467
+7.2894 -12.1995 30.0984
+6.79961 -13.0791 30.1172
+7.02606 -13.1285 31.0434
+6.31541 -13.7693 31.2378
+6.10469 -12.8383 31.2878
+6.11202 -11.9027 31.7524
+6.46447 -11.3053 31.0766
+6.3598 -10.9629 32.1249
+5.8407 -10.3956 32.7331
+5.83679 -9.91114 33.5202
+6.07137 -9.0802 33.0629
+6.69946 -9.23483 32.288
+6.36154 -8.79899 31.4863
+7.27654 -8.85419 30.9645
+7.6829 -9.77268 31.2079
+7.54825 -9.84001 30.2531
+6.598 -9.43911 30.1988
+6.49573 -9.5202 29.2163
+5.53968 -9.42432 28.9313
+5.94915 -10.1031 28.2712
+6.29367 -11.0101 28.1898
+5.53763 -11.4606 28.6116
+4.52598 -11.5743 28.4887
+3.70031 -11.4006 27.9888
+3.19174 -10.6939 27.4435
+3.84825 -10.055 27.8068
+3.86567 -10.0267 26.7991
+4.66197 -9.59274 26.3796
+5.13621 -9.30312 27.2442
+5.95765 -8.82314 27.4399
+6.40266 -7.97045 27.824
+5.78161 -7.2181 27.5977
+5.4157 -7.21001 26.6746
+4.71439 -6.53827 26.4159
+5.47709 -5.87549 26.5892
+5.61399 -5.20001 25.8277
+4.82491 -4.52466 25.7468
+5.5258 -4.10131 25.233
+4.84514 -3.58442 24.6757
+4.60258 -4.39775 24.1562
+5.557 -4.66739 23.9532
+5.76883 -4.56943 22.9462
+6.29055 -5.41666 23.0317
+7.11247 -6.00398 23.0017
+7.44245 -6.40499 23.8456
+6.61126 -6.88402 24.0272
+6.03003 -7.22985 23.3833
+5.08666 -7.44441 23.6712
+5.34654 -7.46644 24.6686
+4.42012 -7.52421 25.0908
+3.49831 -7.76408 24.7625
+3.2266 -7.48022 23.8415
+3.09361 -8.39691 23.3111
+3.55439 -8.59053 22.3858
+4.50134 -8.86873 22.1562
+4.54472 -9.79042 22.3521
+4.038 -10.6354 22.5732
+4.4668 -10.7835 21.6308
+3.43415 -10.7293 21.5707
+3.11937 -10.0331 22.2064
+2.48592 -9.31354 21.8216
+2.29327 -8.36005 21.5487
+2.90525 -7.81561 21.0357
+2.38229 -6.89796 21.1302
+2.28918 -6.84803 22.1209
+2.32682 -5.86216 22.102
+2.12691 -4.88976 21.8634
+2.75841 -4.49507 21.1587
+2.50697 -4.18478 20.2633
+3.4496 -4.52819 20.4
+4.24096 -4.50968 19.7959
+3.68327 -5.37819 19.5996
+3.2398 -6.29003 19.1856
+2.53684 -5.67732 19.0411
+1.56961 -5.66583 19.3355
+0.75988 -6.22473 19.1661
+0.899623 -6.78818 20.0683
+0.547214 -7.46286 19.3833
+0.539714 -8.45438 19.1922
+1.29024 -9.06026 18.9854
+1.75441 -8.73908 18.1814
+1.29721 -9.53868 17.8494
+1.44704 -10.4418 17.3257
+2.02234 -11.1657 17.6451
+2.14466 -11.7531 16.8161
+2.20677 -12.5496 16.0737
+2.36647 -13.1666 16.7384
+3.20061 -13.6084 16.8535
+3.36759 -13.6251 17.8097
+2.54772 -14.2206 17.6785
+2.93428 -15.1225 17.9585
+2.68993 -15.9992 17.5035
+2.96992 -16.9176 17.6857
+3.33369 -17.0413 18.5591
+3.75125 -16.1181 18.6302
+4.07882 -15.6929 17.7624
+5.08229 -15.5845 17.9423
+5.48164 -14.6386 17.8755
+5.08629 -13.7728 18.0506
+4.52667 -14.3918 17.5179
+4.62921 -14.4708 16.5588
+4.72844 -13.5453 16.8963
+4.38939 -12.5043 16.7113
+5.18137 -12.4336 17.3367
+5.52813 -11.6578 17.861
+5.09541 -12.0291 18.7351
+4.72197 -11.1619 18.9894
+4.43964 -10.3012 18.5124
+5.24734 -10.0637 17.9748
+6.08457 -9.81781 17.5114
+6.33838 -10.0576 16.5731
+6.92908 -10.1424 15.7837
+7.28932 -10.7841 15.1079
+7.73375 -10.3466 14.2749
+6.9195 -9.70849 14.2136
+6.00936 -9.61275 13.8606
+5.10514 -9.99442 13.7461
+5.74621 -10.4437 13.1082
+5.74301 -11.2844 12.6527
+4.7558 -11.1957 12.745
+4.64641 -10.9471 13.7978
+5.15186 -11.5766 14.4118
+4.31326 -11.9893 14.6519
+5.13747 -12.1385 15.2478
+4.78688 -13.0588 15.3474
+4.53673 -13.955 14.9734
+3.9135 -14.2002 14.2446
+2.95308 -13.927 14.379
+1.98967 -13.7772 14.7668
+1.93373 -13.5548 15.7345
+0.854417 -13.4668 15.8371
+-0.04808563 -13.906 15.9709
+-0.150293 -14.829 16.1935
+0.747902 -15.3103 16.517
+0.168313 -14.9827 17.2821
+-0.853329 -14.7993 17.2382
+-1.49334 -15.1939 17.8202
+-1.40807 -16.1634 18.0911
+-2.17774 -15.853 17.4891
+-1.61044 -15.5683 16.6913
+-1.49388 -16.5236 16.4705
+-1.56856 -17.5317 16.2759
+-1.96747 -18.4769 16.0926
+-1.23597 -19.0759 16.4865
+-1.25095 -20.0519 16.4228
+-0.460609 -19.7369 15.8707
+-0.212572 -20.3149 15.0629
+-0.997494 -19.7894 14.6618
+-1.71278 -19.1639 14.4626
+-1.96649 -18.8815 13.5788
+-2.73364 -18.9626 12.9202
+-3.70405 -19.0521 13.3274
+-4.55143 -18.9073 12.8728
+-4.31902 -18.4176 12.0317
+-3.90402 -18.1546 11.2265
+-2.97252 -17.6808 11.2193
+-2.26266 -18.0985 11.6979
+-1.48453 -18.7856 11.9061
+-0.964144 -18.9424 12.7245
+-0.415193 -18.1213 13.0718
+0.444879 -18.1274 12.506
+0.974169 -17.4012 12.0582
+0.974092 -17.5739 11.007
+1.84417 -17.9929 10.7105
+1.73225 -18.4558 9.89079
+1.47171 -19.4244 9.74956
+0.974402 -20.2209 9.33611
+0.384932 -20.8911 9.86883
+-0.389727 -21.1677 10.4797
+0.01521957 -21.8945 10.9896
+0.05871707 -22.8632 11.345
+0.691047 -22.8057 12.1327
+1.08135 -23.0875 11.2858
+1.83637 -22.9028 10.6416
+1.48242 -22.7551 9.6827
+1.9636 -22.274 8.94491
+1.64352 -22.6525 8.04482
+1.61614 -23.325 7.2721
+0.707763 -23.7478 7.30919
+-0.252318 -23.8926 7.35222
+-1.01616 -24.2206 6.88791
+-1.84438 -23.7502 7.08328
+-1.87519 -23.5444 6.10386
+-2.13448 -22.6512 6.4576
+-1.66074 -21.8049 6.19198
+-1.15654 -20.9285 6.44426
+-0.718475 -20.1147 6.03695
+0.164708 -20.674 5.78579
+-0.01589773 -20.0681 4.97102
+0.885024 -20.4885 4.7685
+0.09926327 -21.1905 4.84691
+-0.808385 -21.0182 4.59495
+-1.55568 -20.5635 4.18723
+-2.18709 -21.3035 4.00798
+-3.00055 -20.9676 3.64674
+-3.64173 -20.5375 4.2391
+-3.31896 -19.8914 4.86656
+-2.85119 -20.7578 5.2288
+-3.7707 -20.9565 5.39289
+-3.54129 -21.611 6.11262
+-3.97816 -20.9457 6.67117
+-4.61667 -21.1458 6.03375
+-5.25223 -20.6076 5.487
+-5.94805 -21.2153 5.10035
+-5.70048 -22.0811 5.67156
+-6.33136 -22.1884 6.45026
+-6.91692 -21.5898 5.91666
+-7.08882 -20.721 5.48752
+-8.10577 -20.9242 5.31144
+-8.4604 -21.5184 4.53969
+-8.96983 -22.1018 3.89692
+-8.65451 -21.5178 3.14012
+-9.12891 -22.0878 2.42662
+-8.53697 -22.3703 1.75747
+-7.92905 -21.9405 2.30111
+-7.38358 -22.2354 1.46058
+-7.21531 -23.2116 1.03767
+-6.93468 -22.6684 0.2045471
+-6.83464 -23.6305 -0.02034028
+-6.34601 -24.4529 -0.1137839
+-5.57126 -25.0974 -0.2584989
+-5.76164 -24.7563 -1.2226
+-4.82731 -24.6024 -1.53167
+-4.07329 -23.9697 -1.66746
+-4.4549 -23.4143 -0.9210209
+-5.17098 -23.1646 -0.2840259
+-4.72227 -23.1454 0.6649081
+-4.89059 -23.8285 1.37573
+-4.3018 -23.9364 2.23492
+-3.73559 -23.9816 1.3695
+-3.49921 -23.3683 2.11781
+-3.2218 -22.5715 2.60663
+-3.02093 -21.5526 2.62711
+-3.27769 -21.1495 1.74452
+-4.19353 -21.5198 1.80137
+-4.98661 -21.3389 1.2447
+-5.07125 -21.662 2.17646
+-4.9736 -22.0679 3.13657
+-4.69462 -21.168 3.57214
+-5.4142 -20.4649 3.27682
+-6.36537 -20.2916 3.5088
+-6.52459 -21.1085 3.05845
+-7.14308 -21.8327 2.96512
+-6.74055 -22.7726 2.96186
+-6.86088 -23.7463 3.01942
+-7.68546 -24.3396 3.12521
+-8.09746 -23.7225 3.78533
+-9.05604 -23.7312 4.04863
+-8.95118 -23.1503 4.82985
+-8.10779 -22.7169 4.87095
+-7.44445 -22.0167 4.83097
+-7.00109 -21.9933 3.90778
+-6.20854 -22.0169 4.48577
+-5.33882 -22.4997 4.69913
+-5.11932 -23.3828 4.47648
+-5.30212 -24.1704 5.05825
+-5.85597 -23.6783 5.70885
+-5.46185 -23.5175 6.58709
+-4.90568 -23.8177 7.39632
+-3.91829 -23.6624 7.22205
+-4.06289 -23.1849 6.3398
+-4.50825 -23.8857 5.86248
+-3.54578 -24.1423 6.19555
+-3.07496 -24.3642 7.07094
+-2.75904 -25.2549 7.13063
+-1.90983 -24.7458 7.32603
+-2.04389 -24.413 8.2905
+-1.17183 -23.8594 8.16639
+-1.09149 -24.292 9.09553
+-1.09729 -25.1514 8.53163
+-0.284908 -25.6728 8.23479
+-0.859386 -26.1114 7.53383
+-0.349544 -26.0197 6.60742
+-0.152157 -26.3561 5.75123
+0.305957 -25.5013 5.44341
+0.639955 -24.6453 5.0958
+1.45373 -24.1497 5.34998
+1.64969 -25.0663 5.63504
+2.41328 -25.2337 6.32573
+2.55264 -26.158 6.60078
+2.05596 -26.8893 6.99865
+1.12335 -27.1869 7.23222
+0.23524 -27.2218 7.58881
+-0.48757 -27.5351 8.20561
+-0.006572685 -26.6311 8.53369
+0.716113 -26.635 9.18025
+0.77614 -27.1397 10.0469
+1.05652 -26.4782 10.7392
+0.656988 -25.9826 11.4098
+-0.216678 -25.4904 11.557
+-0.481458 -25.4373 12.4948
+0.03084727 -25.2949 13.2875
+-0.573587 -25.9575 13.6867
+-0.200951 -26.6732 14.2632
+-0.733612 -27.5667 14.4088
+-0.233464 -27.5595 15.2468
+-1.1828 -27.4525 15.6123
+-1.12796 -27.4415 16.5979
+-0.502434 -27.7334 17.3217
+-0.700554 -27.3487 18.2064
+-1.00912 -26.6588 17.539
+-0.987297 -26.1222 18.3746
+-1.59682 -25.3207 18.0438
+-1.62191 -25.0287 17.0786
+-2.10594 -25.2279 16.2842
+-1.60907 -24.6897 15.639
+-0.876122 -24.1887 15.2298
+-1.44249 -24.1263 14.4007
+-0.56479 -23.7399 14.1555
+0.110963 -23.5695 14.8308
+1.06158 -23.272 14.5201
+1.4566 -24.1711 14.4872
+2.37447 -24.4431 14.1512
+2.63715 -23.891 14.9731
+3.46508 -23.3658 14.543
+2.96624 -22.7441 13.9468
+3.76553 -23.334 13.6281
+3.79808 -24.2525 13.2187
+3.52321 -24.0009 12.2259
+2.584 -23.6272 12.4786
+1.67907 -23.4555 12.6389
+1.1521 -23.494 13.4485
+1.11797 -24.3445 12.8297
+1.54844 -24.463 11.9369
+1.61891 -24.8841 11.0267
+2.53561 -25.2605 11.344
+2.78562 -25.5501 10.427
+3.76353 -25.6907 10.5259
+3.55617 -25.2277 9.58969
+3.36987 -24.8313 8.67574
+4.14012 -25.1806 8.07
+5.14181 -24.8987 7.87121
+5.9522 -25.4974 8.04003
+6.85831 -25.3212 8.53151
+6.86585 -26.2808 8.60469
+6.44395 -27.1857 8.3371
+6.33149 -27.9985 8.89513
+6.85272 -28.7764 9.26474
+6.62253 -28.1513 10.0319
+5.75778 -28.4818 9.90541
+5.38957 -27.8654 10.5222
+4.62468 -27.7613 9.78821
+3.94717 -27.963 9.12652
+3.93444 -26.9711 9.13797
+3.5934 -27.0736 8.20688
+3.42462 -26.7948 7.2389
+4.06156 -27.0662 6.50515
+3.28864 -27.1677 5.90157
+2.46353 -27.8413 6.17879
+1.93009 -27.5067 5.43119
+1.59997 -28.276 5.90894
+0.83552 -28.9152 6.26924
+1.24913 -29.5007 6.99391
+1.29642 -30.4602 7.08401
+1.49843 -30.114 7.99986
+2.30709 -29.6166 8.27328
+1.57615 -29.3501 8.9327
+1.61161 -28.7752 9.73419
+2.12376 -28.071 10.167
+1.63044 -28.0531 11.0027
+0.734307 -27.9152 10.6489
+0.807459 -28.3035 11.5567
+0.461584 -27.6263 12.2163
+1.35438 -27.8603 12.5701
+1.28963 -26.8496 12.3417
+2.01349 -27.1638 11.7205
+2.46607 -26.4398 12.1324
+1.93959 -25.8992 12.7972
+2.3566 -26.2365 13.6592
+3.33544 -26.2754 13.6219
+4.08726 -26.0701 14.2603
+4.20604 -26.9552 14.7261
+4.70396 -26.2083 15.3324
+5.65204 -26.0619 15.6366
+5.54673 -25.6003 16.5173
+5.54423 -24.614 16.6007
+5.83167 -24.7577 15.6306
+5.20853 -24.082 15.1549
+6.1222 -24.058 14.9134
+6.66397 -23.5562 14.1941
+6.68759 -23.04 15.116
+6.32235 -23.0095 16.0716
+6.13542 -22.0236 16.323
+6.78645 -22.0278 17.049
+6.33427 -22.6708 17.7244
+6.06887 -23.3432 18.4467
+5.32258 -23.4648 19.1422
+4.37887 -23.7634 19.4548
+3.8784 -24.5617 19.2538
+4.27229 -24.7232 20.1783
+3.42339 -24.3393 20.5526
+3.36913 -25.3153 20.3022
+2.87804 -25.5863 21.1708
+2.09713 -25.8004 21.7505
+2.43605 -26.3985 20.9227
+3.1334 -26.8931 20.4288
+4.10975 -26.6882 20.3058
+3.85087 -26.2267 19.4088
+2.90517 -26.5396 19.2663
+2.29152 -25.7341 19.1811
+2.92481 -24.9178 19.0206
+2.38267 -24.1762 19.4055
+2.94325 -23.7052 18.8028
+3.24194 -22.8151 18.4434
+3.82621 -22.7165 17.5647
+3.41857 -22.1278 16.8592
+2.54716 -21.846 16.4648
+2.09006 -22.536 15.859
+1.45522 -22.2497 16.5675
+1.68968 -23.1552 16.8379
+0.887876 -23.7107 16.6331
+0.399985 -22.9812 17.0319
+-0.31213 -22.3248 16.8222
+0.163992 -22.7612 16.0343
+0.174185 -22.1584 15.2372
+-0.810391 -21.8673 15.1964
+-0.48581 -22.0679 14.3025
+-1.3678 -22.4179 13.7687
+-1.1562 -21.6924 13.147
+-0.78409 -20.8726 13.575
+0.09470097 -21.3602 13.5353
+0.777126 -21.9583 13.7832
+0.44622 -22.7062 13.2566
+-0.03000863 -23.3829 12.7188
+-0.610865 -23.7343 12.0372
+-1.55232 -24.1415 12.1249
+-2.30107 -24.3469 11.5733
+-2.523 -24.5548 12.5104
+-2.58265 -24.3953 13.4867
+-2.83629 -23.497 13.3208
+-2.25993 -23.4314 14.1756
+-2.13969 -22.7912 14.9809
+-2.15603 -23.3361 15.8462
+-2.79124 -23.2592 16.6183
+-3.59935 -23.6207 17.0977
+-3.89708 -23.5245 18.059
+-3.3101 -22.747 17.9856
+-2.44118 -22.3407 18.0574
+-2.15803 -21.4529 18.0049
+-1.90881 -21.0118 18.8369
+-1.13707 -21.5799 18.9824
+-0.484177 -21.4616 19.7388
+0.01251117 -21.727 20.5728
+0.161859 -22.6651 20.8715
+-0.03410003 -23.6637 20.9497
+0.52687 -24.5226 21.0192
+0.532925 -25.442 21.5028
+-0.472655 -25.446 21.4809
+-1.37446 -25.7227 21.1811
+-1.46507 -25.8269 22.1564
+-1.2881 -24.8042 22.0565
+-1.62893 -24.4157 21.1819
+-1.85474 -25.0453 20.3475
+-2.36318 -25.8979 20.1873
+-3.16894 -25.2585 20.4277
+-3.57156 -24.4207 20.4528
+-4.54503 -24.4209 20.2405
+-5.52895 -24.3369 20.3074
+-6.37144 -24.9365 19.9056
+-6.9838 -24.5353 19.2033
+-7.24008 -23.5232 19.2774
+-7.07351 -22.6728 18.7672
+-8.02285 -22.4234 18.8033
+-8.23905 -23.3358 19.0896
+-9.14556 -23.6939 19.0285
+-8.73742 -24.5376 18.6243
+-9.51019 -25.2223 18.718
+-9.70246 -26.1939 18.6072
+-10.708 -26.3182 18.7596
+-11.6716 -26.4342 18.3661
+-12.4937 -27.081 18.4881
+-11.9714 -27.8286 18.9425
+-11.5439 -28.6414 19.2627
+-11.4074 -29.1572 20.089
+-10.4892 -29.3092 20.3638
+-10.5159 -29.0347 19.4368
+-10.5257 -30.02 19.3037
+-10.6489 -29.6384 18.3807
+-11.0138 -28.9419 17.7084
+-10.1331 -28.7683 18.3149
+-9.3416 -28.5523 17.6763
+-9.6858 -28.0625 16.9398
+-9.24671 -27.7551 16.14
+-9.54019 -27.8586 15.2271
+-10.1879 -27.2647 15.7918
+-10.0849 -26.8799 16.7249
+-9.31915 -26.5037 16.2415
+-8.97102 -26.6635 15.2804
+-9.14834 -26.2854 14.3889
+-8.23188 -26.3753 14.4552
+-7.84262 -27.2627 14.7027
+-8.06001 -27.8947 14.0239
+-7.45887 -28.5814 14.3882
+-7.00771 -28.6853 13.5042
+-6.53022 -28.1486 12.8046
+-5.62054 -28.2274 13.3704
+-5.06215 -27.7064 12.6767
+-5.81477 -26.9588 12.6801
+-5.14186 -26.7293 11.8991
+-5.03935 -26.3616 12.8136
+-4.9154 -26.3598 13.7381
+-4.08197 -26.0099 14.2226
+-3.46725 -25.4384 14.8404
+-4.27884 -24.9136 14.7485
+-5.10321 -24.8342 15.27
+-4.42001 -24.4131 15.8104
+-4.79508 -24.4356 16.7017
+-5.53575 -23.7539 17.033
+-5.7501 -23.6396 18.0262
+-5.94048 -22.6733 17.98
+-6.52284 -22.9874 17.2244
+-6.44533 -22.2642 16.5577
+-7.15121 -21.8054 16.0598
+-6.72604 -20.9542 16.5032
+-7.46794 -20.5757 15.9841
+-7.19369 -19.8468 16.5603
+-7.88099 -20.1815 17.2086
+-7.60257 -19.6976 17.9871
+-6.74804 -19.4884 18.4008
+-6.03555 -19.7087 18.9722
+-5.38873 -19.1204 19.3274
+-5.78765 -18.318 18.8767
+-5.06561 -17.8807 19.4545
+-4.25904 -17.2328 19.2205
+-3.92603 -16.5096 19.8651
+-3.1054 -15.8943 19.6587
+-2.64585 -16.6987 20.12
+-3.28847 -16.8075 20.826
+-3.7815 -17.6139 21.1534
+-4.44437 -17.1303 20.6506
+-5.13194 -16.4811 21.0998
+-5.70077 -16.4709 20.3017
+-6.51383 -15.8338 20.1565
+-7.46278 -15.5791 20.0643
+-7.27834 -15.6984 19.0724
+-6.78736 -16.4565 18.6168
+-6.44325 -15.6733 18.1997
+-5.93119 -14.8477 18.4148
+-5.39244 -13.9372 18.3976
+-5.71618 -13.5547 19.2177
+-5.50961 -12.5173 19.1616
+-5.25301 -12.0544 18.3319
+-4.53676 -11.6754 17.8329
+-4.85151 -11.9309 16.9261
+-5.03605 -12.6697 16.2686
+-5.87721 -13.2378 16.0872
+-6.41311 -13.2366 16.8715
+-7.23485 -12.6469 17.2036
+-7.42276 -13.2718 17.858
+-7.8791 -14.2312 17.8216
+-8.79398 -13.8059 17.6695
+-9.30439 -14.4913 17.084
+-9.09481 -13.635 16.5333
+-9.72135 -13.9192 15.7891
+-10.4781 -13.3417 15.5439
+-10.6267 -13.9545 16.2763
+-11.5079 -14.2793 16.7263
+-11.1142 -14.6404 17.5589
+-10.528 -14.7966 18.3273
+-9.70582 -15.2743 18.5442
+-10.1866 -16.2123 18.4838
+-10.165 -17.0995 19.0494
+-11.0962 -17.4082 19.3316
+-10.4385 -18.0636 19.2244
+-11.298 -18.6121 19.2929
+-11.2919 -18.3803 20.3298
+-10.6828 -18.4118 21.1192
+-10.7422 -17.4101 21.0978
+-11.2026 -17.4099 21.9795
+-12.1396 -17.1143 21.7081
+-12.4634 -16.5833 22.473
+-12.5368 -15.5895 22.6296
+-11.5426 -15.7873 22.5737
+-11.8052 -15.9041 21.6364
+-11.2329 -16.1212 20.8557
+-10.7455 -16.132 20.041
+-11.6815 -16.2169 19.7123
+-12.0337 -16.1453 18.7399
+-12.6742 -16.5683 18.1314
+-12.0149 -16.8951 17.393
+-12.438 -16.3624 16.7644
+-11.5579 -16.6103 16.3077
+-10.6908 -16.2303 16.5427
+-10.0058 -15.6926 16.8669
+-9.19448 -15.968 16.2911
+-9.44073 -15.7699 15.3374
+-9.67662 -16.6259 14.8305
+-10.3851 -16.3487 14.2622
+-10.8591 -16.4952 13.3854
+-11.5681 -17.2469 13.6592
+-11.9074 -18.1433 13.8545
+-11.8994 -18.381 12.9376
+-11.4135 -18.4116 12.1058
+-10.8809 -17.9966 12.81
+-10.2183 -18.6004 13.3459
+-9.86835 -19.1208 14.1503
+-8.87507 -19.144 13.9304
+-8.05983 -18.578 13.9249
+-8.09784 -17.7121 14.4711
+-8.60621 -16.807 14.6001
+-8.4019 -17.1634 15.4354
+-7.62568 -16.4589 15.5323
+-7.66705 -15.8741 16.3795
+-7.60255 -16.1253 17.365
+-7.76913 -17.1362 17.3297
+-7.54774 -17.6674 18.131
+-7.98511 -17.1014 18.8467
+-7.28034 -17.1813 19.5231
+-7.96595 -17.9258 19.5959
+-8.26694 -17.7012 20.5269
+-8.05197 -18.1396 21.4358
+-7.30349 -17.5781 21.1136
+-7.28509 -17.449 22.091
+-7.58323 -16.9566 22.892
+-7.5624 -16.3028 22.0871
+-7.07354 -15.7103 22.6975
+-7.76889 -15.4759 23.4416
+-8.2801 -15.6595 24.3045
+-8.19737 -16.0739 25.2486
+-8.04954 -17.0596 25.3942
+-8.51606 -17.8368 25.7287
+-8.62742 -18.4899 26.5581
+-9.38812 -18.2545 27.1518
+-8.75255 -18.8434 27.599
+-8.66947 -19.7066 27.1025
+-8.35385 -20.7039 27.2569
+-8.5254 -20.6776 26.3212
+-9.16916 -21.3531 26.0486
+-9.68347 -20.5781 25.6684
+-9.93035 -20.9536 24.7293
+-9.31292 -21.4752 24.0775
+-9.11485 -20.781 23.3248
+-8.65679 -20.2238 24.0518
+-7.66083 -20.016 23.9571
+-7.91193 -19.0385 23.8127
+-7.6372 -18.5029 24.5857
+-8.27473 -19.0409 25.1389
+-7.68575 -19.7244 25.6739
+-6.68931 -19.6899 25.4424
+-6.8236 -20.6117 25.9194
+-5.86874 -20.1621 26.0383
+-5.47412 -20.5625 26.8344
+-4.71573 -20.7621 26.1404
+-4.56754 -19.7668 26.3823
+-3.98006 -20.2297 27.0652
+-3.92964 -19.2061 26.9898
+-4.89529 -18.9113 27.0637
+-5.10632 -17.9097 27.1824
+-5.5715 -17.2045 26.6137
+-4.84944 -16.7634 26.1001
+-3.94242 -16.6438 25.7508
+-3.14103 -16.4021 25.2192
+-3.35132 -15.7486 25.9304
+-2.76775 -15.3024 25.2748
+-2.17604 -14.5139 25.1945
+-1.70435 -13.895 24.5228
+-1.26579 -14.5957 23.966
+-0.48509 -14.7577 23.431
+-0.272772 -15.4431 24.1348
+0.103813 -15.5876 25.0554
+-0.369081 -14.7419 25.2415
+-1.07511 -14.5062 25.8214
+-1.08398 -15.5327 26.0883
+-2.05371 -15.324 26.3184
+-2.45094 -15.1741 27.2699
+-2.61954 -15.0977 28.2162
+-2.97413 -15.4522 29.1344
+-3.06894 -15.9939 29.931
+-2.61721 -16.776 29.5453
+-3.23666 -16.4799 28.8108
+-2.73721 -16.3844 27.944
+-3.59764 -15.9838 27.7563
+-3.83091 -15.3349 26.9642
+-3.68725 -14.3879 26.6733
+-3.57378 -13.4284 26.3879
+-3.74693 -12.4219 26.273
+-3.99801 -12.4045 25.2997
+-4.73538 -13.138 25.0926
+-5.04249 -13.6616 25.9451
+-5.08535 -14.4448 26.5524
+-5.75517 -14.0775 27.0102
+-5.59186 -13.617 27.8681
+-5.20866 -14.6125 27.9267
+-6.11328 -14.9814 28.073
+-6.39469 -14.2661 28.7306
+-7.0818 -13.5561 28.4887
+-6.44385 -13.2595 27.8282
+-7.42289 -13.2061 27.5456
+-7.94154 -14.0528 27.4468
+-7.64038 -13.9516 26.5447
+-8.18159 -14.0816 25.6834
+-8.63178 -14.5505 24.9002
+-9.43736 -14.7685 24.396
+-9.76875 -15.5633 23.9243
+-10.1182 -16.3703 23.4132
+-10.6146 -17.2777 23.4551
+-11.2882 -17.9909 23.3277
+-11.995 -18.2389 22.6706
+-11.4503 -19.0615 22.5932
+-11.232 -19.647 23.3482
+-11.7662 -20.1125 22.6946
+-10.9726 -20.7058 22.2877
+-10.5666 -20.7442 21.365
+-11.4259 -20.5239 21.4039
+-11.9979 -19.6795 21.652
+-12.7592 -18.9781 21.6011
+-13.2415 -19.7656 21.3758
+-13.1434 -19.2594 20.4534
+-12.1236 -19.2168 20.44
+-11.8405 -19.8443 19.7302
+-12.5574 -20.0584 19.0178
+-13.2557 -20.7334 19.3396
+-14.2063 -20.8814 19.2499
+-14.6876 -20.0991 19.6854
+-14.2323 -20.0109 20.5348
+-14.689 -19.8672 21.4413
+-14.309 -19.1562 22.0289
+-14.4431 -18.5881 22.9321
+-14.3278 -19.5094 23.3333
+-14.1228 -19.3539 24.3298
+-14.5235 -20.0491 25.0076
+-14.3519 -19.1686 25.3429
+-14.2934 -19.5688 26.2989
+-15.2791 -19.6515 26.4714
+-15.2584 -19.3511 27.4474
+-15.5372 -18.4223 27.1582
+-15.513 -17.4517 27.2419
+-14.9016 -16.7657 27.5097
+-14.176 -16.3833 28.0416
+-13.8883 -16.2869 28.8918
+-14.6883 -16.8679 28.8448
+-15.1372 -17.7551 29.122
+-15.8524 -17.2092 28.5187
+-16.3952 -16.5583 27.9363
+-16.5391 -16.6507 26.9058
+-16.7358 -15.7097 26.6077
+-16.1617 -15.961 25.8889
+-15.6037 -15.2783 26.2909
+-15.3217 -14.9598 27.2333
+-14.8587 -14.9614 28.1458
+-15.0774 -14.1763 28.7593
+-15.2979 -13.2778 29.0163
+-16.0244 -12.7038 29.3932
+-16.9587 -12.9738 28.9447
+-16.7835 -12.0703 28.6068
+-17.4411 -11.9027 29.4084
+-17.8886 -11.5403 28.6411
+-17.3513 -10.8472 28.2815
+-16.8358 -10.4771 27.5794
+-16.7526 -9.47209 27.6357
+-16.6165 -8.46407 27.6533
+-17.1518 -7.5669 27.811
+-17.1646 -6.70497 27.3267
+-16.4303 -6.02934 27.308
+-16.4266 -6.54797 26.4411
+-16.0054 -6.89585 25.6954
+-15.0374 -6.84129 25.4815
+-15.0911 -6.06164 26.0504
+-14.4521 -5.40231 25.703
+-13.9652 -4.55283 25.2846
+-14.9797 -4.31418 25.4686
+-14.9092 -4.07382 24.5592
+-14.7151 -3.21017 24.9593
+-14.5621 -2.4174 25.5106
+-14.973 -1.89718 26.3119
+-15.9683 -1.71531 26.3502
+-16.9596 -1.47679 26.1897
+-16.7071 -0.5897181 25.8218
+-16.0002 -0.4847961 25.1537
+-16.6024 -1.28446 24.9286
+-17.0393 -1.74433 24.1344
+-17.0457 -2.69663 23.863
+-17.1312 -3.58911 24.3428
+-16.6889 -4.00914 23.5284
+-15.8246 -3.46588 23.6833
+-15.67 -3.50121 22.7003
+-16.427 -2.95036 22.3833
+-17.0308 -3.49368 21.8502
+-17.7311 -2.89337 21.4696
+-18.737 -2.61047 21.2764
+-18.275 -2.79591 20.3799
+-18.8206 -3.64982 20.5265
+-19.6051 -3.75862 19.8246
+-20.3738 -3.61352 19.2042
+-20.6824 -2.66151 19.3487
+-21.4669 -3.03126 19.8227
+-22.0037 -3.58308 20.534
+-21.3179 -4.28817 20.583
+-20.4879 -4.59355 21.0812
+-20.6328 -4.30987 22.0609
+-20.6024 -3.90417 22.9094
+-21.2951 -4.02918 23.5881
+-21.584 -4.67228 24.3601
+-21.3234 -4.40695 25.2496
+-20.375 -4.69147 25.1209
+-19.7256 -5.4119 25.037
+-19.1675 -5.1292 24.2648
+-19.7328 -4.3966 23.9174
+-19.7064 -4.95229 23.097
+-19.7359 -5.09788 22.1259
+-19.391 -4.75572 21.2171
+-18.8103 -5.5442 21.2532
+-18.4147 -6.30364 20.7949
+-18.8577 -7.01715 20.2805
+-18.5467 -7.50618 19.5048
+-17.9568 -7.65583 20.2486
+-17.487 -8.54174 20.4205
+-16.7588 -8.98013 19.8326
+-16.5758 -8.00815 19.5956
+-16.2571 -7.0243 19.6966
+-16.0143 -6.31483 18.9925
+-15.2344 -6.00696 18.3795
+-14.4323 -6.05816 17.8213
+-15.2716 -6.30961 17.2729
+-15.9724 -6.95308 17.2688
+-16.8955 -6.59841 17.1697
+-17.7682 -7.30675 17.2205
+-18.5367 -7.49246 17.8403
+-18.2989 -8.34145 17.3868
+-17.337 -8.57548 17.1086
+-16.5474 -8.93688 16.7022
+-16.6185 -9.15321 17.662
+-16.5483 -10.0871 17.2301
+-17.1672 -10.7683 17.6011
+-16.3082 -11.1802 17.7183
+-15.9479 -11.6197 16.8738
+-15.1189 -11.0084 17.0329
+-14.7565 -11.9251 16.7229
+-13.7592 -12.1883 16.905
+-14.2061 -13.0513 16.5453
+-14.9642 -13.0271 17.0654
+-15.2854 -13.5587 16.3513
+-15.8904 -14.0551 16.9848
+-16.0984 -14.8679 16.4998
+-16.8958 -15.3377 16.8462
+-17.4431 -14.6573 17.3816
+-17.8947 -13.835 17.1725
+-18.8192 -13.9604 16.7034
+-19.613 -13.5918 16.3105
+-20.3084 -13.6606 16.9341
+-20.2769 -14.6266 16.6566
+-21.2026 -14.9576 16.8346
+-21.3421 -15.259 15.9106
+-21.8675 -14.5042 15.4322
+-21.2252 -14.3667 14.6204
+-20.2483 -14.3586 14.2852
+-20.1064 -13.3779 14.3925
+-20.1835 -13.0456 15.2669
+-20.515 -12.3431 15.9907
+-20.2812 -11.5879 15.462
+-21.2773 -11.3453 15.0964
+-21.7985 -10.6008 15.445
+-21.4939 -10.7128 16.3995
+-20.692 -10.2363 16.9441
+-20.654 -9.77944 17.8815
+-21.5376 -10.1128 18.1064
+-22.0979 -10.9348 18.1857
+-22.6792 -11.6444 18.6224
+-22.5154 -12.2933 19.4096
+-22.5723 -11.7236 20.2381
+-23.2694 -12.1977 20.8684
+-22.4455 -12.7398 20.9281
+-23.1573 -13.1984 20.4309
+-23.3559 -13.9609 19.7631
+-23.2379 -13.2547 19.1031
+-23.4759 -13.8726 18.3867
+-24.4327 -13.8269 18.656
+-25.4578 -13.6325 18.8294
+-25.5707 -13.6451 19.8314
+-24.9504 -12.9648 20.2063
+-25.1186 -12.0285 20.4371
+-25.9551 -11.5178 20.3335
+-25.876 -10.9292 21.0863
+-25.2456 -10.4434 21.6051
+-24.9783 -11.4033 21.5771
+-24.4422 -12.192 21.7103
+-23.6387 -11.5575 21.7145
+-23.4415 -10.8955 20.9646
+-23.0785 -10.461 21.8559
+-23.1605 -9.87577 22.6797
+-23.0962 -10.4397 23.4798
+-22.6508 -11.1436 22.9126
+-21.876 -11.4645 23.4086
+-21.7159 -11.6546 24.3664
+-21.2289 -12.3501 24.8992
+-20.9433 -11.468 25.3777
+-21.4905 -10.7767 25.8702
+-21.303 -10.5342 26.7716
+-20.433 -10.9788 26.8105
+-20.1955 -10.2023 26.1829
+-19.4408 -10.3201 26.8463
+-19.0637 -9.44911 27.1705
+-19.5797 -8.90732 26.4761
+-20.497 -8.6222 26.6891
+-20.7885 -7.82599 26.2452
+-21.4229 -7.92819 25.425
+-21.7291 -7.05132 25.0931
+-22.4997 -7.40124 25.683
+-22.6616 -7.59947 24.7542
+-22.5917 -7.12027 23.9675
+-22.4931 -7.4293 22.9852
+-23.2204 -7.22561 22.3092
+-22.7929 -6.70239 21.5699
+-22.7681 -6.3387 20.6226
+-23.4158 -6.76184 19.9514
+-23.3657 -5.80011 19.8908
+-23.8214 -5.03201 19.5487
+-24.2249 -5.57196 18.8657
+-24.8174 -5.87683 19.675
+-25.5617 -5.95881 20.2926
+-24.9291 -5.93948 21.0136
+-24.0678 -5.71726 21.4522
+-23.7052 -5.66963 22.3666
+-23.071 -5.13882 21.9123
+-22.9869 -5.02625 22.9209
+-22.3019 -5.75401 22.8445
+-21.5147 -6.27022 23.0202
+-20.8394 -6.72651 23.6688
+-20.303 -7.46143 24.0319
+-19.3662 -7.30051 24.4012
+-19.4187 -7.23002 25.3772
+-18.6602 -7.79517 25.0335
+-18.1273 -8.58633 25.0186
+-17.3517 -8.9683 24.5408
+-17.0837 -9.64125 23.7853
+-16.1265 -9.96092 24.0671
+-15.3586 -9.4639 23.7846
+-15.624 -9.09088 24.6663
+-15.8706 -8.26117 24.1895
+-16.2806 -7.55833 24.6397
+-16.2503 -7.04426 23.8273
+-16.1328 -6.62698 22.8536
+-16.8318 -6.23575 22.2791
+-16.8299 -5.34595 21.8877
+-15.9808 -4.87865 21.863
+-15.4175 -5.65394 22.0081
+-15.0505 -6.44001 22.4856
+-14.84 -5.72865 23.0758
+-13.8677 -6.15882 23.0146
+-13.1397 -5.98502 22.282
+-13.0941 -5.12391 21.793
+-13.5292 -5.67529 21.044
+-13.7913 -6.60061 21.0412
+-13.6184 -7.23404 20.2868
+-13.1319 -7.88142 20.9542
+-12.3106 -7.98622 21.4035
+-12.1476 -7.80767 22.3451
+-12.3106 -8.33743 23.1602
+-11.3976 -8.19743 23.4937
+-10.6271 -7.77336 23.0571
+-11.2756 -6.9686 22.9895
+-12.3022 -6.74315 22.9404
+-12.8889 -7.44288 23.2993
+-12.1911 -6.94348 23.9019
+-11.522 -7.4256 24.4598
+-10.8649 -7.58938 25.1334
+-10.8823 -8.45499 24.7193
+-9.92946 -8.64666 24.8669
+-10.0608 -9.18774 25.7178
+-9.26556 -9.6382 25.3365
+-8.475 -9.34272 25.8805
+-8.87636 -8.43431 25.9445
+-8.54313 -8.44303 25.0122
+-8.68253 -7.54128 25.3381
+-8.5132 -7.146 24.3579
+-9.35516 -6.59228 24.4788
+-8.84671 -6.39116 23.6097
+-7.99895 -6.35855 23.0846
+-7.88448 -6.88183 22.19
+-6.89793 -6.75182 21.8784
+-6.26864 -6.99816 22.6544
+-6.68149 -7.77815 22.9729
+-7.3633 -8.06454 23.6666
+-7.97337 -7.39204 23.2191
+-8.63881 -7.92766 23.661
+-8.99322 -8.76848 24.095
+-9.76219 -9.4128 24.0899
+-9.72335 -10.2925 23.6721
+-10.5807 -10.7911 23.7854
+-10.9255 -10.7031 24.7423
+-10.5605 -10.4276 25.6299
+-10.6524 -10.427 26.6021
+-10.7348 -11.4241 26.3535
+-11.1754 -12.3096 26.5236
+-11.3409 -12.2899 25.4973
+-11.0069 -13.0497 24.8685
+-9.99027 -13.0507 25.0812
+-9.43625 -12.2813 24.7316
+-8.64563 -12.4617 25.2939
+-8.55912 -13.1647 24.568
+-8.56346 -13.3295 23.5321
+-8.07098 -13.5159 22.661
+-7.75684 -12.5524 22.8464
+-7.78074 -11.5666 22.7628
+-8.6118 -11.2963 22.3509
+-7.96638 -10.4891 22.3557
+-8.72854 -10.157 22.8887
+-9.58592 -9.99251 22.368
+-9.54366 -9.85945 21.3744
+-8.62648 -9.41592 21.0322
+-8.72938 -10.3802 21.3882
+-7.84309 -10.6841 21.1092
+-7.89715 -10.112 20.3013
+-7.01173 -9.67758 20.638
+-6.25085 -9.31552 21.1516
+-6.77076 -8.44659 21.2927
+-6.58973 -8.54534 20.3003
+-6.52735 -7.98891 19.4617
+-6.77199 -7.62752 18.5687
+-6.95144 -7.00528 19.3177
+-6.69129 -6.03699 19.4183
+-5.9621 -5.98704 20.2022
+-5.25744 -5.3858 19.6458
+-5.87893 -5.20311 18.8712
+-6.47162 -4.47113 18.5365
+-6.88199 -3.91654 17.8393
+-7.23761 -4.80785 17.5495
+-8.12624 -4.51024 17.9324
+-9.07345 -4.75816 18.1272
+-9.66788 -5.51897 17.7675
+-10.5639 -5.08309 17.5697
+-10.0731 -4.76253 18.4181
+-10.1913 -4.7029 19.4439
+-10.6915 -5.51886 19.416
+-10.0917 -6.15035 19.8272
+-9.50178 -6.88919 20.1233
+-8.52426 -7.14324 19.7996
+-8.45161 -6.97396 18.7867
+-8.81078 -7.07562 17.8277
+-8.38704 -7.76464 17.2272
+-8.80422 -7.62946 16.3327
+-8.39979 -7.93653 15.4825
+-8.05114 -8.82905 15.4812
+-8.28114 -9.75574 15.1497
+-8.97959 -9.36762 14.5247
+-9.89542 -9.34574 14.871
+-9.73039 -8.91341 15.7845
+-10.3752 -8.87255 16.5613
+-10.3599 -7.86416 16.3597
+-11.3265 -7.84972 15.8942
+-12.3186 -7.72608 16.2106
+-12.9499 -6.92321 16.2028
+-12.7351 -7.15484 17.186
+-12.8097 -7.89174 17.9096
+-12.7746 -7.91037 18.9275
+-13.5501 -8.56062 18.8628
+-14.3495 -8.80163 19.2871
+-14.9009 -9.14188 20.0401
+-14.5734 -9.85185 20.7145
+-13.8939 -10.048 20.0459
+-13.3633 -10.4018 19.1655
+-12.4734 -10.7407 18.7963
+-12.0398 -11.6115 18.8743
+-12.4961 -11.6901 19.7345
+-13.1879 -12.2574 20.2301
+-13.9948 -12.1687 19.8259
+-14.539 -12.1786 20.6512
+-15.2155 -12.105 21.3049
+-14.4407 -11.4568 21.5728
+-14.9724 -10.6056 21.3467
+-15.055 -10.6173 22.3641
+-14.9821 -11.4167 22.8041
+-15.94 -11.372 23.1827
+-15.974 -12.2738 22.7926
+-16.2737 -13.1435 23.1906
+-17.1505 -13.0583 22.8491
+-17.023 -14.018 22.7491
+-16.9612 -14.9577 22.3334
+-16.6308 -15.6678 22.8782
+-16.543 -15.4906 23.8701
+-15.6579 -15.2354 23.6288
+-15.3509 -14.233 23.7797
+-14.5266 -13.8087 24.1113
+-13.619 -13.6441 23.6613
+-13.4555 -12.7003 23.7173
+-14.0966 -11.9588 23.7972
+-14.4793 -12.2022 24.6443
+-15.4839 -12.3055 24.9095
+-15.8294 -11.3123 24.9249
+-15.4906 -10.4806 25.4167
+-14.7888 -9.90048 25.1738
+-14.8462 -10.4824 24.3447
+-13.8945 -10.2966 24.6139
+-13.3354 -10.6145 25.4171
+-13.5112 -9.60895 25.2843
+-12.6915 -9.31112 24.8737
+-12.0937 -9.68026 25.633
+-12.1601 -10.2951 26.3733
+-11.8913 -10.5554 27.3399
+-12.6401 -11.2411 27.111
+-12.7128 -11.8584 26.3429
+-13.0572 -12.6683 25.8101
+-12.7667 -13.07 26.7037
+-13.7584 -13.1668 26.9926
+-13.3018 -13.2807 27.85
+-13.7195 -12.7147 28.4569
+-14.1759 -12.2872 29.2316
+-13.6923 -11.4739 28.8769
+-14.4353 -11.3904 28.1861
+-14.6913 -10.4763 27.9851
+-13.9752 -9.90171 28.2723
+-12.9442 -9.9411 28.1352
+-12.776 -9.98031 29.0935
+-12.7506 -10.1391 30.0842
+-12.592 -10.8268 30.7909
+-12.4352 -10.5791 31.729
+-12.706 -9.72422 31.2908
+-12.4446 -8.84752 31.7444
+-12.4602 -7.89314 31.4568
+-11.8107 -7.82755 30.6483
+-11.4676 -6.85624 30.7978
+-11.2739 -6.17709 30.1011
+-10.3384 -6.47646 29.9639
+-10.8872 -7.25832 29.5934
+-10.7392 -7.92567 30.3007
+-10.9245 -8.52177 29.5084
+-10.4337 -8.11911 28.7592
+-10.5782 -8.1771 27.7933
+-11.3223 -8.11876 27.1622
+-11.1668 -7.47903 26.4067
+-11.8484 -6.97418 25.9909
+-12.7121 -6.95536 26.4379
+-12.2262 -6.11749 26.6943
+-12.7724 -5.32829 27.0418
+-13.0548 -4.65336 26.3032
+-13.1012 -4.18886 25.3584
+-12.4986 -4.75048 24.8162
+-11.7017 -4.53946 24.2716
+-12.0264 -3.64389 24.055
+-12.0688 -3.92831 23.0334
+-12.0435 -3.14987 22.4682
+-11.3999 -2.6444 23.0745
+-11.4227 -2.59358 24.0787
+-11.3753 -2.4753 25.0866
+-12.2667 -2.06435 24.8185
+-12.5848 -1.81631 23.8717
+-12.0096 -1.68228 23.1234
+-11.9091 -1.86169 22.1114
+-11.0285 -2.25799 22.1598
+-10.559 -1.57914 21.5817
+-10.8128 -2.06642 20.7531
+-10.4803 -3.02095 20.5875
+-10.401 -3.59043 19.7656
+-11.1343 -4.26348 20.0563
+-12.0449 -4.4754 20.3364
+-11.8838 -3.45458 20.6074
+-12.4225 -2.91007 21.2617
+-13.019 -2.74261 22.0016
+-13.1923 -3.26322 22.7933
+-14.2001 -3.46362 22.7229
+-14.4232 -2.94191 21.9151
+-14.9467 -3.18348 21.0548
+-14.8441 -4.09531 20.7972
+-15.5072 -3.69947 20.1486
+-15.7368 -4.23401 19.3423
+-16.1448 -4.05363 18.4323
+-15.8052 -4.80459 17.8201
+-16.3903 -5.46796 17.4357
+-17.2901 -5.38252 17.1133
+-18.0764 -5.23962 17.7126
+-18.6074 -6.03023 17.9997
+-19.2671 -6.6645 18.0932
+-19.9199 -7.38276 17.883
+-20.2001 -7.98733 18.6157
+-19.8692 -8.67504 18.0391
+-19.5243 -8.7733 19.0198
+-20.3166 -9.23116 19.4277
+-20.0842 -10.2228 19.5742
+-19.4385 -10.2009 18.8354
+-19.3343 -10.2716 17.8946
+-19.1319 -11.0613 17.2941
+-18.4564 -11.164 16.5692
+-17.4024 -11.1156 16.6734
+-17.3879 -11.131 15.6775
+-17.9397 -10.4549 15.2394
+-17.8559 -10.5041 14.2974
+-17.9709 -11.3806 13.9071
+-17.3818 -11.961 13.2727
+-16.5816 -12.5189 13.7007
+-15.7899 -12.0165 14.0791
+-14.8625 -12.0951 13.8824
+-14.8263 -11.153 13.702
+-15.4132 -10.6632 12.9975
+-15.9967 -11.3467 12.5275
+-16.2252 -11.0667 11.5492
+-15.4034 -10.4851 11.2336
+-15.7317 -9.8602 10.4954
+-16.3598 -9.79076 9.69623
+-16.6558 -9.47758 8.86158
+-16.9034 -8.51422 9.16669
+-17.1514 -8.18166 10.0722
+-17.9136 -7.65713 9.7389
+-18.4221 -7.54334 8.89693
+-18.9739 -7.35429 8.04365
+-19.5353 -7.78264 7.34318
+-18.5828 -7.98184 7.05121
+-17.5422 -8.01225 6.88422
+-17.4067 -7.04716 6.9567
+-17.7364 -6.22406 6.40823
+-17.6647 -7.15582 5.95328
+-18.0995 -7.3024 5.15454
+-19.123 -7.40957 5.258
+-19.3571 -8.4383 5.1358
+-18.4206 -8.69245 5.04938
+-18.8868 -9.18479 4.36119
+-19.5662 -9.84982 4.68354
+-18.928 -9.86664 5.36154
+-18.1402 -10.3628 5.82505
+-17.8677 -10.9856 6.57123
+-17.2168 -11.2934 7.26523
+-17.5769 -10.6648 7.99151
+-18.2202 -10.5203 8.62465
+-18.8863 -10.9446 7.97711
+-18.6643 -11.6209 8.69037
+-17.6858 -11.5833 9.06897
+-18.169 -12.3931 9.43196
+-17.2372 -12.8759 9.35416
+-16.3767 -12.327 9.34308
+-15.8093 -12.878 9.89257
+-15.7391 -13.695 9.41949
+-16.2584 -14.5249 9.02677
+-16.4353 -13.7727 8.36688
+-16.708 -13.2385 7.56292
+-15.9808 -12.6088 7.33496
+-14.93 -12.4963 7.4124
+-14.0421 -12.7034 7.09583
+-13.4657 -12.8725 7.81163
+-13.2073 -13.4659 7.03725
+-13.6635 -13.6677 6.10394
+-14.5061 -14.1862 5.85012
+-14.0589 -13.7359 5.13811
+-14.3586 -13.5461 4.20289
+-13.7307 -14.0883 3.65636
+-14.2577 -13.3186 3.12609
+-15.0485 -12.8493 2.95356
+-14.815 -11.8899 3.16312
+-15.5913 -11.3731 3.30834
+-16.284 -10.6567 3.01516
+-16.4799 -10.0128 3.72987
+-17.4047 -10.3474 3.60083
+-17.7145 -11.3193 3.40233
+-17.8889 -11.2387 2.38898
+-18.8365 -10.9893 2.35673
+-19.2202 -10.0996 2.55681
+-19.4736 -9.87045 3.48042
+-19.5157 -8.9874 2.92432
+-19.3594 -8.35047 3.72188
+-18.479 -7.74866 3.74324
+-18.0082 -7.04627 3.14702
+-18.1096 -6.77018 4.10902
+-18.4375 -5.89883 4.39956
+-17.6916 -5.85959 3.76617
+-16.8817 -6.07979 3.30263
+-15.8755 -6.31547 3.34363
+-15.3912 -5.6536 3.87336
+-15.7007 -5.58853 4.81143
+-16.0415 -6.30549 5.55861
+-15.9028 -7.01093 6.18353
+-15.2602 -7.67732 5.79662
+-15.0215 -7.64629 4.79729
+-14.8575 -7.63943 3.80743
+-14.595 -8.07339 2.9713
+-15.0289 -7.20545 2.80891
+-15.5401 -7.64142 2.01924
+-15.8021 -8.05141 1.16597
+-14.953 -8.50671 1.52955
+-15.6337 -8.84338 2.26251
+-15.5121 -9.72314 2.86245
+-14.924 -10.1041 2.13461
+-15.6794 -10.7311 2.02913
+-15.23 -11.6146 2.0006
+-16.1379 -11.8946 2.00282
+-16.7927 -12.3432 2.66807
+-17.0449 -13.0291 2.02622
+-17.262 -13.3969 1.08434
+-17.7444 -13.7664 1.84922
+-18.5771 -14.2984 1.54221
+-19.2692 -13.788 2.00877
+-18.8916 -14.1964 2.80971
+-19.2573 -13.3565 3.25119
+-18.8947 -12.5911 2.87434
+-19.0372 -12.7262 1.92061
+-19.078 -12.4863 0.9606911
+-19.1666 -12.8393 0.01094332
+-19.9425 -13.4201 0.02750622
+-20.2017 -12.9685 -0.7489729
+-20.5391 -12.0617 -1.12257
+-19.5228 -12.2508 -1.02169
+-18.878 -11.5984 -0.7495329
+-18.4902 -11.0235 -0.1191279
+-17.5753 -10.5778 -0.4269879
+-16.6481 -10.484 -0.08099628
+-15.9208 -11.115 -0.1107389
+-14.9639 -11.0593 0.2473411
+-15.2254 -10.352 0.9017971
+-15.0128 -9.4141 0.5678031
+-15.2243 -8.91337 -0.2213079
+-14.4357 -8.41789 0.05288872
+-14.9062 -7.61987 0.3556751
+-15.3704 -6.75526 0.5436391
+-16.1359 -6.4294 1.02381
+-16.2401 -5.67312 1.58794
+-16.8932 -6.14203 2.09978
+-16.8832 -7.14329 2.07646
+-17.0415 -8.13897 1.9131
+-16.727 -8.93318 1.37605
+-16.2795 -9.00624 0.4360171
+-17.261 -8.83958 0.2443261
+-17.9771 -8.35304 -0.2831419
+-17.6254 -7.4618 -0.5650039
+-17.058 -6.62278 -0.8506389
+-17.2646 -5.65965 -0.6844559
+-17.9705 -6.1158 -1.24358
+-18.5333 -6.44615 -1.97525
+-17.8681 -6.49678 -2.74695
+-17.802 -6.795 -3.70499
+-18.6053 -6.25349 -3.42826
+-18.6125 -5.24346 -3.27733
+-18.066 -4.79734 -4.01595
+-18.8342 -4.17637 -3.85408
+-18.9706 -4.51385 -4.79125
+-19.3243 -5.21392 -5.4699
+-19.8725 -5.99635 -5.39059
+-19.1327 -6.65718 -5.3248
+-18.3803 -7.34925 -5.48122
+-18.3687 -8.37562 -5.30182
+-17.5574 -8.11834 -5.78981
+-17.2588 -7.27937 -6.20958
+-18.0258 -6.83771 -6.68384
+-18.0607 -5.93849 -6.21315
+-17.1578 -6.29659 -6.45402
+-17.7706 -5.60213 -6.99269
+-17.6282 -5.12089 -7.88915
+-16.6785 -5.10921 -7.94746
+-16.2191 -5.84324 -7.60147
+-15.6737 -5.69921 -8.49004
+-14.9898 -5.07629 -8.69215
+-14.2561 -5.69313 -8.94822
+-13.3916 -5.14971 -9.01518
+-12.55 -4.62941 -8.67044
+-11.9107 -4.65164 -9.45559
+-11.9755 -3.70739 -9.53065
+-12.1684 -2.79261 -9.06541
+-13.072 -2.85207 -9.46023
+-13.0864 -3.44881 -8.60713
+-13.9591 -3.26053 -9.14504
+-14.1503 -3.92701 -8.36496
+-14.9291 -3.70891 -8.95277
+-15.2839 -3.53075 -8.05999
+-16.2271 -3.41963 -7.76014
+-17.1745 -3.52467 -7.36912
+-17.462 -3.36917 -6.4266
+-16.4947 -3.26251 -6.20248
+-16.0781 -4.25785 -6.38463
+-15.1869 -4.56692 -6.75814
+-14.4118 -4.20819 -7.22915
+-14.4164 -5.16593 -7.47513
+-14.1406 -6.05357 -7.50263
+-14.3648 -6.22788 -6.52053
+-15.1773 -5.83078 -6.15556
+-15.4744 -5.06855 -5.5926
+-16.3414 -4.69841 -5.18431
+-16.4251 -5.5353 -4.62981
+-16.518 -6.33316 -3.97281
+-16.7132 -6.95145 -3.20446
+-16.3473 -7.44269 -3.98513
+-17.0442 -8.10241 -3.82256
+-17.4463 -9.03437 -3.97039
+-17.182 -9.74464 -3.40873
+-16.2472 -9.46887 -3.11862
+-15.9342 -10.1372 -3.77919
+-16.1449 -11.1775 -3.91878
+-15.9684 -11.1982 -4.96147
+-16.4456 -11.7821 -5.57034
+-17.412 -11.5047 -5.65659
+-17.877 -11.1857 -6.47036
+-18.5086 -10.8761 -7.18474
+-19.518 -10.9205 -7.05448
+-20.2377 -11.3981 -7.41556
+-20.8019 -12.0096 -8.03957
+-20.5975 -12.9392 -7.72241
+-20.3029 -13.1653 -6.74794
+-20.7535 -12.897 -5.88058
+-20.7381 -13.8678 -5.49862
+-20.0035 -13.255 -5.40206
+-19.6195 -12.3737 -5.44454
+-19.3345 -12.1513 -4.53613
+-18.5603 -12.6606 -4.17183
+-18.751 -12.0942 -3.32654
+-17.8015 -11.8378 -3.62336
+-17.7644 -11.1347 -2.92758
+-17.5999 -11.3204 -1.97151
+-16.9838 -11.5329 -1.25655
+-16.4929 -12.3701 -1.22113
+-16.3407 -13.0503 -1.94762
+-16.9218 -13.6103 -1.26664
+-17.2174 -14.2967 -1.87939
+-16.7642 -14.6161 -1.02679
+-17.5262 -14.6179 -0.2676219
+-18.524 -14.5808 -0.01440028
+-18.3591 -13.6411 -0.1706759
+-18.8882 -13.517 -1.00386
+-19.4842 -13.8192 -1.77767
+-19.2044 -12.9459 -2.19962
+-18.4029 -12.2898 -2.16865
+-18.0908 -13.2077 -2.36105
+-18.2333 -14.1323 -2.08134
+-18.8586 -13.9902 -2.80542
+-19.0883 -14.7135 -3.50955
+-18.2839 -15.256 -3.32026
+-18.3209 -15.8923 -2.47859
+-17.6021 -15.8769 -1.82759
+-16.7083 -15.6773 -2.32738
+-16.7014 -16.0352 -1.44363
+-16.4211 -16.2315 -0.4430339
+-17.1477 -16.8488 -0.1877479
+-17.167 -17.6278 0.4337811
+-16.861 -18.0754 1.2904
+-17.6047 -17.788 1.80629
+-17.6229 -17.0618 2.45654
+-18.6084 -17.3201 2.47297
+-19.2016 -16.9174 1.70555
+-18.8674 -16.8098 0.8007271
+-18.8294 -15.8853 0.4150321
+-19.5529 -15.266 0.5794591
+-19.7042 -14.9409 1.55854
+-20.536 -14.6914 1.06234
+-21.1002 -15.3471 1.62685
+-22.0746 -15.765 1.80648
+-22.4927 -14.9835 2.27899
+-22.6096 -14.006 1.95844
+-22.5236 -13.0623 1.98658
+-22.6799 -12.8275 1.02312
+-22.1896 -12.2068 1.60314
+-21.6665 -11.3148 1.79851
+-21.2978 -10.7213 1.16423
+-20.7986 -10.272 1.9968
+-20.9159 -10.5977 2.97381
+-20.1285 -10.982 3.54118
+-20.8203 -11.3228 4.13951
+-20.2017 -10.6704 4.49365
+-20.6835 -11.0611 5.34768
+-20.8511 -11.9998 5.57333
+-21.8526 -11.8397 5.41481
+-21.9526 -12.5821 6.08797
+-22.8295 -12.2875 6.52534
+-23.1368 -11.3705 6.34837
+-22.2961 -11.3946 6.87562
+-21.844 -10.9842 7.56685
+-21.9915 -11.4163 8.46386
+-22.827 -12.0585 8.3727
+-22.2571 -12.5046 9.05202
+-21.9944 -13.3021 9.51221
+-22.9378 -13.517 9.14622
+-23.9079 -13.8427 9.2615
+-24.3702 -13.0761 8.6829
+-24.9555 -13.5982 8.10246
+-25.4204 -14.3529 7.54206
+-25.8092 -15.1807 7.13748
+-26.5197 -15.901 7.27795
+-27.0284 -16.0673 8.10792
+-26.6683 -15.1575 8.33945
+-26.0209 -14.4598 8.66714
+-25.7611 -13.7258 9.31001
+-25.4286 -13.9632 10.2178
+-25.6033 -14.7569 9.7819
+-24.7775 -15.0775 9.2928
+-24.7076 -15.8936 8.8172
+-24.1289 -16.5151 9.42323
+-24.3925 -17.1213 10.1547
+-23.5673 -17.6156 10.0587
+-22.6976 -18.1315 10.0034
+-22.2642 -17.9675 9.12324
+-22.8581 -18.5158 8.59345
+-22.1849 -19.2428 8.42504
+-23.0899 -19.243 7.95142
+-24.0782 -19.3861 7.72719
+-24.0992 -20.1718 7.02174
+-24.4663 -20.899 7.61354
+-24.1845 -21.9016 7.82978
+-23.1899 -21.7722 7.61118
+-22.8199 -21.9008 6.75469
+-22.4817 -20.9476 6.61434
+-23.2397 -20.8565 5.96029
+-24.1189 -21.3763 5.81774
+-24.1471 -22.2542 5.33011
+-23.2495 -22.5661 5.07807
+-22.2767 -22.3499 5.1588
+-22.236 -21.603 4.43457
+-22.1575 -21.1807 5.42874
+-21.2758 -20.7228 5.74039
+-21.7909 -19.892 5.69952
+-21.662 -19.6551 4.71008
+-21.8475 -19.0744 3.97977
+-21.9095 -18.4841 4.80406
+-20.8704 -18.7249 4.85504
+-20.6593 -17.7463 4.69751
+-20.7583 -17.6991 5.72459
+-20.2781 -17.7523 6.64265
+-19.6909 -17.8401 7.45255
+-19.6183 -16.8502 7.55147
+-20.0272 -16.1811 6.85039
+-20.7177 -15.4989 6.70258
+-20.0271 -14.868 7.0509
+-20.0891 -13.8671 6.75451
+-20.3426 -13.8064 7.7883
+-20.2222 -14.5718 8.44451
+-19.5391 -14.3686 9.11965
+-18.6989 -14.6208 8.60513
+-18.1485 -14.1603 7.96201
+-18.7457 -13.3924 7.93491
+-18.604 -13.0846 6.97472
+-18.926 -13.6583 6.23641
+-18.2356 -14.1621 5.62244
+-17.8578 -13.2786 5.51122
+-17.2634 -12.5949 5.02639
+-16.4796 -12.1079 4.67754
+-15.5677 -11.7076 4.50541
+-14.6414 -11.2841 4.58037
+-15.0051 -10.6528 5.18583
+-14.2951 -11.0756 5.70686
+-14.0702 -11.9169 5.21958
+-13.6892 -12.3722 4.42763
+-13.1195 -11.6957 3.81921
+-12.5624 -12.1939 3.15205
+-12.322 -13.1602 3.23067
+-11.6648 -13.2714 4.00083
+-11.7563 -12.4 4.53912
+-11.7976 -11.482 4.15239
+-11.1524 -11.1616 3.47078
+-11.7528 -10.6017 2.8644
+-12.7139 -10.913 2.9438
+-12.5803 -10.3437 2.10094
+-11.6701 -10.6091 1.70348
+-11.3316 -11.5911 1.73756
+-10.749 -11.898 0.9526371
+-10.5551 -12.7077 1.548
+-10.9885 -13.2144 0.8109861
+-11.3604 -12.5737 0.1236011
+-10.7736 -11.8306 -0.1829209
+-10.1609 -12.4889 0.02782242
+-9.44033 -12.9272 0.5497491
+-9.08814 -12.1416 0.1162441
+-8.3989 -12.1433 -0.6025449
+-8.3176 -12.9172 -0.06511018
+-8.50949 -12.8249 0.9439171
+-8.47264 -13.7168 1.42527
+-8.3198 -13.9101 2.36208
+-8.7295 -14.6818 2.65583
+-8.37203 -15.619 2.55081
+-8.68207 -16.1834 1.72766
+-8.18224 -16.7351 1.00774
+-8.57297 -16.7215 0.1399021
+-7.97885 -16.744 -0.6450729
+-7.43054 -17.217 -1.34063
+-6.71517 -17.7187 -1.63362
+-6.62189 -17.8027 -0.6146229
+-6.50536 -17.2932 0.2981031
+-6.02331 -16.8521 1.09006
+-5.35079 -16.3477 0.4553941
+-6.11783 -16.2396 -0.2509479
+-6.54796 -15.6138 0.4008321
+-6.48742 -15.6361 1.42974
+-7.13988 -15.2444 2.17204
+-7.3448 -15.2186 3.1547
+-6.9691 -15.2354 4.06684
+-6.69408 -16.1796 3.88808
+-6.26311 -16.7761 3.28375
+-5.7262 -17.6232 3.67206
+-5.53528 -18.5636 3.38286
+-6.14371 -18.2428 2.69458
+-5.18081 -18.4872 2.38342
+-4.42132 -18.1866 1.86216
+-3.96041 -17.5998 1.17445
+-3.63592 -16.6552 1.07837
+-3.80473 -16.7126 0.09609402
+-3.1401 -16.3779 -0.5458699
+-2.51979 -16.9387 -0.06550528
+-2.44478 -17.912 0.1262581
+-1.58416 -17.8928 0.6103961
+-1.02168 -17.1028 0.8116451
+-0.698401 -17.2784 1.66179
+-1.29405 -16.4718 1.7535
+-1.20491 -16.6565 2.70536
+-1.83627 -17.3383 2.51024
+-2.41765 -16.9109 1.83713
+-2.93634 -16.0722 1.92531
+-3.30215 -15.1277 1.85612
+-2.68966 -14.6529 1.19532
+-2.09517 -13.8614 0.8158601
+-1.59787 -14.6848 0.9300581
+-0.979176 -14.633 0.2424121
+-1.43266 -15.3157 -0.3772699
+-1.38441 -15.8767 -1.15919
+-1.63294 -16.6299 -1.84423
+-0.979846 -17.3623 -1.62137
+-0.26691 -16.8839 -1.05171
+-0.01836083 -17.7326 -0.5577269
+0.311614 -18.6345 -0.2386659
+-0.300772 -19.1707 0.3533641
+-0.45909 -18.9769 1.33908
+-0.765792 -18.7706 2.27261
+-0.267866 -17.9749 2.66323
+-0.476554 -17.9033 3.65093
+-0.04862893 -18.6448 4.1154
+0.160754 -19.1816 3.32306
+0.432145 -20.0162 2.86337
+1.35828 -19.9421 3.20509
+0.918236 -20.851 3.25794
+1.00792 -21.6939 3.71865
+0.01846787 -21.9635 3.63551
+-0.03478893 -22.8796 3.965
+-0.44018 -23.3375 4.74781
+-1.29316 -23.6069 5.09817
+-1.4422 -23.8758 4.1608
+-2.18571 -24.2742 3.69094
+-2.84799 -23.7683 4.21335
+-2.42618 -22.9348 3.90019
+-2.46041 -23.2094 2.95356
+-2.39758 -23.2739 1.94176
+-2.98297 -22.9221 1.19968
+-2.92175 -22.2346 0.5027861
+-2.61479 -21.406 0.08836602
+-1.72104 -21.5423 0.5203291
+-1.36492 -20.7139 0.2088941
+-0.681441 -21.3719 0.3890411
+0.221378 -21.737 -0.08934318
+-0.01296833 -21.8795 0.8959241
+0.596142 -22.5959 0.6715991
+1.40294 -23.0858 0.4111251
+1.38058 -23.6248 -0.4516429
+1.35347 -24.6271 -0.3329969
+0.476824 -24.7115 0.2140341
+-0.118841 -23.9082 0.1092351
+0.162551 -23.5464 0.9382481
+-0.528495 -22.8752 0.7937701
+-1.22243 -22.4509 0.1072601
+-1.94009 -22.2481 -0.5394919
+-2.14375 -23.1794 -0.9199809
+-2.68979 -23.5751 -1.67526
+-3.13772 -24.1382 -2.39865
+-3.03463 -25.1308 -2.13476
+-3.52823 -25.2435 -2.97538
+-4.11751 -24.541 -2.92176
+-4.98222 -25.145 -2.96032
+-5.28442 -25.6283 -3.73908
+-6.24526 -25.5695 -3.52539
+-5.69793 -26.1943 -2.89561
+-6.10714 -26.8499 -2.29479
+-5.51818 -27.2647 -2.97214
+-5.18347 -27.0796 -3.90706
+-4.28836 -27.3998 -4.09418
+-3.36446 -27.6429 -4.18591
+-2.82066 -26.8267 -4.15093
+-2.53327 -26.1742 -3.36111
+-2.53883 -25.7304 -4.16075
+-1.83245 -25.1139 -4.50631
+-0.970865 -25.526 -4.44269
+-1.28663 -26.2739 -3.85732
+-1.59705 -27.0396 -4.42883
+-1.52632 -27.7935 -5.0979
+-0.800441 -28.4785 -5.12727
+-0.744699 -28.3136 -6.13472
+-0.720131 -29.1246 -6.65237
+-0.629731 -28.78 -7.55645
+-0.377451 -29.4107 -8.29517
+-0.996488 -29.4598 -8.99045
+-0.599697 -30.4016 -9.05727
+-1.05784 -30.574 -9.88977
+-0.277431 -31.1161 -10.1052
+0.408644 -30.4338 -10.2678
+0.978395 -29.7866 -9.76467
+1.29804 -30.5431 -9.27597
+1.76449 -30.7711 -10.1503
+2.72658 -30.573 -10.0078
+3.25293 -30.1211 -9.28215
+3.51152 -30.303 -8.42115
+3.31075 -29.2896 -8.29259
+2.46667 -29.6373 -8.74994
+2.01793 -29.7625 -9.58242
+1.81954 -28.8668 -9.90537
+2.65316 -28.6716 -9.44185
+2.33536 -27.7881 -9.76625
+3.34896 -27.4633 -10.0527
+3.97128 -27.7919 -10.8043
+4.30927 -26.8921 -11.1651
+4.7887 -26.0184 -11.3504
+5.70995 -26.1383 -11.3205
+6.10342 -26.3904 -12.1577
+5.41486 -27.146 -12.2684
+5.54559 -27.9474 -11.7159
+5.04998 -28.5559 -12.2761
+4.11678 -29.0272 -12.3376
+3.28746 -28.39 -12.1586
+2.77907 -28.9011 -12.8448
+2.71111 -28.2776 -13.6278
+2.54822 -28.9496 -14.3251
+3.32498 -28.3929 -14.7103
+4.30863 -28.4893 -14.4465
+5.15146 -27.9711 -14.1983
+5.91513 -27.4989 -13.7535
+6.60183 -27.5979 -14.4791
+7.30611 -28.0657 -15.0896
+7.61482 -28.5404 -15.9428
+6.72906 -29.0013 -16.1311
+6.57845 -29.3164 -17.1116
+5.7474 -29.6489 -17.5644
+5.21519 -30.3931 -17.9417
+4.76158 -29.5123 -17.877
+5.11433 -28.5404 -18.0793
+4.61588 -27.7529 -17.694
+4.30396 -27.9973 -16.7823
+4.87471 -28.7588 -17.0524
+4.37257 -29.4196 -16.515
+4.34907 -30.36 -16.7674
+3.71661 -31.1385 -16.8334
+3.18788 -31.4624 -17.6259
+3.09708 -30.8725 -18.4167
+2.63163 -30.0338 -18.7512
+1.81601 -29.8788 -19.3065
+1.39484 -28.9596 -19.4089
+1.64554 -27.9775 -19.4681
+2.59088 -27.7061 -19.6773
+3.53325 -27.469 -19.8316
+3.70637 -27.0416 -20.7882
+3.97953 -26.526 -21.6369
+4.00849 -25.6369 -22.0054
+4.67819 -24.9864 -22.411
+5.00228 -24.615 -23.2314
+5.30182 -25.4954 -23.6215
+5.18228 -25.8779 -24.57
+4.65137 -26.3726 -25.2504
+5.00133 -27.2703 -24.9781
+5.68137 -27.0381 -25.6138
+5.54698 -26.2542 -26.1818
+4.80806 -26.1418 -26.771
+4.78139 -25.1744 -27.0733
+5.18275 -25.2179 -28.0197
+5.64785 -26.1033 -28.3246
+5.11108 -26.9582 -28.3317
diff --git a/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/moltemplate_files/generate_system_lt.py b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/moltemplate_files/generate_system_lt.py
new file mode 100755
index 000000000..21f263d38
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/moltemplate_files/generate_system_lt.py
@@ -0,0 +1,301 @@
+#!/usr/bin/env python
+
+err_msg = """
+Usage:
+
+ generate_system_lt.py n < monomer_coords.raw > system.lt
+
+Example:
+
+ generate_system_lt.py 30118 47 < coords.raw > system.lt
+
+Explanation:
+ ARGUMENTS:
+ n = total length of the polymer (in monomers)
+ L = the (average) length of each condensin interval (Poisson-
+ distributed) This is also 1/probability that each monomer
+ is a "condensin monomer".
+
+ (Note: 30117 ~= 128000/4.25, but using 30118 makes interpolation cleaner,
+ and 47 = 200/4.25. Note that 128000 and 200 are for the 10nm model.
+ See the supplemental section of Naumova et al Science 2013, p 18.)
+
+"""
+
+
+import sys
+import random
+from math import *
+
+# Parse the argument list:
+if len(sys.argv) <= 2:
+ sys.stderr.write("Error:\n\nTypical Usage:\n\n"+err_msg+"\n")
+ exit(1)
+N=int(sys.argv[1])
+L=float(sys.argv[2])
+if len(sys.argv) > 3:
+ delta_x = float(sys.argv[3])
+else:
+ delta_x = 2.0
+if len(sys.argv) > 4:
+ x_offset = float(sys.argv[4])
+else:
+ x_offset = -((N-1.0)/2) * delta_x
+
+
+coords = [[0.0, 0.0, 0.0] for i in range(0,N)]
+lines = sys.stdin.readlines()
+if len(lines) != N:
+ sys.stderr.write("Error: Number of lines in input file ("+str(len(lines))+")\n"
+ " does not match first argument ("+str(N)+")\n")
+ exit(1)
+for i in range(0, N):
+ coords[i] = list(map(float, lines[i].split()))
+
+# Now calculate the box_boundaries:
+box_bounds_min = [0.0, 0.0, 0.0]
+box_bounds_max = [0.0, 0.0, 0.0]
+for i in range(0, N):
+ for d in range(0, 3):
+ if i == 0:
+ box_bounds_min[d] = coords[i][d]
+ box_bounds_max[d] = coords[i][d]
+ else:
+ if coords[i][d] > box_bounds_max[d]:
+ box_bounds_max[d] = coords[i][d]
+ if coords[i][d] < box_bounds_min[d]:
+ box_bounds_min[d] = coords[i][d]
+
+# Now scale the box boundaries outward by 50%
+box_scale = 1.5
+for d in range(0,3):
+ box_bounds_cen = 0.5*(box_bounds_max[d] + box_bounds_min[d])
+ box_bounds_width = box_bounds_max[d] - box_bounds_min[d]
+ box_bounds_min[d] = box_bounds_cen - 0.5*box_scale*box_bounds_width
+ box_bounds_max[d] = box_bounds_cen + 0.5*box_scale*box_bounds_width
+
+# Now calculate the direction each molecule should be pointing at:
+direction_vects = [[0.0, 0.0, 0.0] for i in range(0,N)]
+for d in range(0, 3):
+ direction_vects[0][d] = coords[1][d] - coords[0][d]
+ direction_vects[N-1][d] = coords[N-1][d] - coords[N-2][d]
+for i in range(1, N-1):
+ for d in range(0, 3):
+ direction_vects[i][d] = coords[i+1][d] - coords[i-1][d]
+
+# Optional: normalize the direction vectors
+for i in range(1, N-1):
+ direction_len = 0.0
+ for d in range(0, 3):
+ direction_len += (direction_vects[i][d])**2
+ direction_len = sqrt(direction_len)
+ for d in range(0, 3):
+ direction_vects[i][d] /= direction_len
+
+# Now, begin writing the text for the system.lt file:
+
+sys.stdout.write(
+"""
+import "monomer.lt" # <-- defines "Monomer"
+import "condensin.lt" # <-- defines "CondensinMonomer"
+
+
+"""
+)
+
+
+
+# Figure out which monomers are "Monomers" and which monomers are
+# "CondensinMonomers"
+
+ic = 0 # count the number of condensins added so far
+condensin_is_here = [False for i in range(0, N)]
+for i in range(0, N):
+ #add_condensin_here = random.random() < (1.0 / L)
+ add_condensin_here = random.random() < (1.0 / (L-2.0))
+
+ # We do not allow condensin at successive sites separated by less than 2
+ # subunits (the "L-2.0" above is to compensate for this)
+ if (((i > 0) and condensin_is_here[i-1]) or
+ ((i > 1) and condensin_is_here[i-2])):
+ add_condensin_here = False
+
+ if add_condensin_here:
+ condensin_is_here[i] = True
+ ic += 1
+Nc = ic
+
+
+ic = 0
+for i in range(0, N):
+ if condensin_is_here[i]:
+ sys.stdout.write("condensins["+str(ic)+"] = new CondensinMonomer.scale(0.5,0.8,0.8).rotvv(1,0,0,")
+ ic+=1
+ else:
+ sys.stdout.write("monomers["+str(i)+"] = new Monomer.scale(0.5,0.8,0.8).rotvv(1,0,0,")
+ sys.stdout.write(str(direction_vects[i][0])+","
+ +str(direction_vects[i][1])+","
+ +str(direction_vects[i][2])+
+ ").move("
+ +str(coords[i][0])+","
+ +str(coords[i][1])+","
+ +str(coords[i][2])+")\n")
+
+ #if condensin_is_here[i]:
+ # if i < N-1:
+ # sys.stdout.write("\n"
+ # "#(override the dihedral angle for this monomer)\n"
+ # "write(\"Data Dihedrals\") {\n"
+ # " $dihedral:twistor"+str(i+1)+" @dihedral:CondensinMonomer/TWISTOR $atom:monomers["+str(i)+"]/t $atom:monomers["+str(i)+"]/c $atom:monomers["+str(i+1)+"]/c $atom:monomers["+str(i+1)+"]/t\n"
+ # "}\n"
+ # "\n")
+
+
+
+sys.stdout.write(
+"""
+
+# ---------------- simulation box -----------------
+
+# Now define a box big enough to hold a polymer with this (initial) shape
+
+"""
+)
+
+
+sys.stdout.write("write_once(\"Data Boundary\") {\n"
+ +str(box_bounds_min[0])+" "+str(box_bounds_max[0])+" xlo xhi\n"
+ +str(box_bounds_min[1])+" "+str(box_bounds_max[1])+" ylo yhi\n"
+ +str(box_bounds_min[2])+" "+str(box_bounds_max[2])+" zlo zhi\n"
+ "}\n\n\n")
+
+
+sys.stdout.write(
+"""
+# What kind of boundary conditions are we using?
+
+write_once("In Init") {
+ boundary s s s # <-- boundary conditions in x y z directions
+ #boundary p p p # <-- boundary conditions in x y z directions
+}
+# "p" stands for "periodic"
+# "s" stands for "shrink-wrapped" (non-periodic)
+
+
+# ---- Bonds ----
+
+
+write_once("In Settings") {
+ # 10nm model:
+ #bond_coeff @bond:backbone harmonic 100.0 1.0
+ # 30nm fiber (4.25^(1/3)=1.6198059006387417)
+ bond_coeff @bond:backbone harmonic 100.0 1.6198059006387417
+}
+
+
+"""
+)
+
+
+sys.stdout.write("write(\"Data Bonds\") {\n")
+
+# Old bond-loop was simple:
+#for i in range(0, N-1):
+# sys.stdout.write(" $bond:b"+str(i+1)+" @bond:backbone $atom:monomers["+str(i)+"]/a $atom:monomers["+str(i+1)+"]/a\n")
+
+ic = 0
+for i in range(0, N-1):
+ #sys.stderr.write("i="+str(i)+", ic="+str(ic)+", Nc="+str(Nc)+"\n")
+
+ # Figure out if the first atom in the bond pair
+ # belongs to a regular Monomer or a CondensinMonomer
+ if condensin_is_here[i]:
+ sys.stdout.write(" $bond:b"+str(i+1)+" @bond:backbone $atom:condensins["+str(ic)+"]/a")
+ ic+=1
+ else:
+ sys.stdout.write(" $bond:b"+str(i+1)+" @bond:backbone $atom:monomers["+str(i)+"]/a")
+
+ # Do the same thing for the second atom in the bond pair
+ if condensin_is_here[i+1]:
+ assert(ic<Nc)
+ sys.stdout.write(" $atom:condensins["+str(ic)+"]/a\n")
+ else:
+ sys.stdout.write(" $atom:monomers["+str(i+1)+"]/a\n")
+
+sys.stdout.write("}\n\n\n")
+
+
+sys.stdout.write("""
+
+write_once("Data Angles By Type") {
+ @angle:backbone @atom:* @atom:* @atom:* @bond:backbone @bond:backbone
+}
+
+write_once("In Settings") {
+ # Most parameters here were taken from the supplemental material of
+ # Naumova et al. Science 2013 (simulations by Maxim Imakaev, see Supp Mat)
+ #angle_coeff @angle:backbone cosine 5.0 #<-10nm fiber
+ angle_coeff @angle:backbone cosine 1.1764705882352942 #<-30nm fiber
+}
+
+""")
+
+
+sys.stdout.write(
+"""
+
+# ---- Condensins randomly located on the polymer ----
+
+# Stage 1:
+# Add bonds between consecutive condensin anchors.
+# Imakaev calls this "stage 1: linear compaction":
+
+"""
+)
+
+sys.stdout.write("write(\"Data Bonds\") {\n")
+ic = 0
+for i in range(0, N):
+ if condensin_is_here[i]:
+ if (0 < ic):
+ sys.stdout.write(" $bond:bstage1_"+str(ic-1)+" @bond:stage1 $atom:condensins["+str(ic-1)+"]/a $atom:condensins["+str(ic)+"]/a\n")
+ ic += 1
+
+sys.stdout.write("}\n\n")
+
+
+
+sys.stdout.write("""
+
+# Stage 2:
+# Add additional bonds between all pairs of condensin anchors
+# in a window of |ic-jc| <= 30 anchors (along the chain).
+# In the paper, they call this stage 2 axial compression.
+
+write("Data Bonds") {
+""")
+
+jcwindowsize = 30
+for ic in range(0, Nc):
+ #jcmin = max(ic-jcwindowsize, 0)
+ #jcmax = min(ic+jcwindowsize, Nc-1)
+ jcmax = min(ic+jcwindowsize, Nc-1)
+ for jc in range(ic+2, jcmax+1):
+ sys.stdout.write(" $bond:bstage2_"+str(ic)+"_"+str(jc)+" @bond:stage2 $atom:condensins["+str(ic)+"]/a $atom:condensins["+str(jc)+"]/a\n")
+
+sys.stdout.write("}\n")
+
+
+sys.stdout.write("""
+
+write_once("In Settings") {
+ # stage 1 bonds are initially off
+ bond_coeff @bond:stage1 harmonic 0.0 0.5 # <--(we can override this later)"
+ # stage 2 bonds are initially off
+ bond_coeff @bond:stage2 harmonic 0.0 0.0 # <--(we can override this later)"
+}
+
+""")
+
+sys.stdout.write("\n\n# "+str(Nc)+" condensin molecules added\n\n")
+sys.stderr.write("\n\n# "+str(Nc)+" condensin molecules added\n\n")
diff --git a/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/moltemplate_files/interpolate_coords.py b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/moltemplate_files/interpolate_coords.py
new file mode 100755
index 000000000..8ae294c9d
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/moltemplate_files/interpolate_coords.py
@@ -0,0 +1,74 @@
+#!/usr/bin/env python
+
+
+err_msg = """
+Usage:
+
+ interpolate_coords.py Ndesired [scale] < coords_orig.raw > coords.raw
+
+Example:
+
+ interpolate_coords.py 30118 3.0 < coords_orig.raw > coords.raw
+
+ # (Note: 30117 ~= 128000/4.25, but using 30118 makes interpolation cleaner.
+ # See the supplemental section of Naumova et al Science 2013, p 18.)
+
+"""
+
+
+import sys
+from math import floor
+
+# Parse the argument list:
+if len(sys.argv) <= 1:
+ sys.stderr.write("Error:\n\nTypical Usage:\n\n"+err_msg+"\n")
+ exit(1)
+
+n_new = int(sys.argv[1])
+
+if len(sys.argv) > 2:
+ scale = float(sys.argv[2])
+else:
+ scale = 1.0
+
+coords_orig = []
+
+lines = sys.stdin.readlines()
+
+for line in lines:
+ tokens = line.split()
+ if (len(tokens) > 0):
+ coords_orig.append(list(map(float, tokens)))
+ g_dim = len(tokens)
+
+n_orig = len(coords_orig)
+
+if n_orig < 2:
+ sys.stderr.write("Error:\n\nInput file contains less than two lines of coordinates\n")
+ exit(1)
+
+if n_new < 2:
+ sys.stderr.write("Error:\n\nOutput file will contain less than two lines of coordinates\n")
+ exit(1)
+
+coords_new = [[0.0 for d in range(0, g_dim)] for i in range(0, n_new)]
+
+for i_new in range(0, n_new):
+ I_orig = (i_new) * (float(n_orig-1) / float(n_new-1))
+ i_orig = int(floor(I_orig))
+ i_remainder = I_orig - i_orig
+
+ if (i_new < n_new-1):
+ for d in range(0, g_dim):
+ coords_new[i_new][d] = scale*(coords_orig[i_orig][d]
+ +
+ i_remainder*(coords_orig[i_orig+1][d]-
+ coords_orig[i_orig][d]))
+ else:
+ for d in range(0, g_dim):
+ coords_new[i_new][d] = scale*coords_orig[n_orig-1][d]
+
+ # print the coordates
+ for d in range(0, g_dim-1):
+ sys.stdout.write(str(coords_new[i_new][d]) + ' ')
+ sys.stdout.write(str(coords_new[i_new][g_dim-1]) + "\n")
diff --git a/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/moltemplate_files/monomer.lt b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/moltemplate_files/monomer.lt
new file mode 100644
index 000000000..9ef2b0398
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/moltemplate_files/monomer.lt
@@ -0,0 +1,84 @@
+# This file contains the definition of a molecule named "Monomer".
+# (This particular molecule contain only one atom, but that is up to you.)
+# Later, multiple monomers can be connected together to build a molecule.
+
+
+
+Monomer {
+
+ # atom-id mol-id(ignore) atom-type q x y z
+
+ write("Data Atoms") {
+ $atom:a $mol @atom:A 0.000 0.00000 0.00000 0.00000
+ }
+
+ # (The x y z positions will be changed later with move commands
+ # You can spedify charge and other properties by changing the atom_style.)
+
+
+
+ # atom-type mass
+
+ write_once("Data Masses") {
+ @atom:A 1.0
+ }
+
+ # pairwise interactions (between non-bonded atoms):
+ #
+ # U(r) = 4*eps*((r/sig)^12 - (r/sig)^6)
+ #
+ # Note: when sigma=0.8908987181403393=2^(1/6), the minimia is at r=1.0
+ #
+ # atom-type atom-type pair_style epsilon sigma rcutoff
+
+ write_once("In Settings") {
+ # I usually use sigma = 2^(-(1/6)), with a cutoff of 1
+ #pair_coeff @atom:A @atom:A lj/cut 1.0 0.8908987181403393 1.0
+ # In the 2013 Science (metaphase) paper, Imakaev used sigma=1.0
+ # with a cutoff of 2^(1/6). Here we are trying to reproduce his results.
+ # 10nm fiber
+ #pair_coeff @atom:A @atom:A lj/cut 1.0 1.0 1.122462048309373
+ # 30nm fiber (4.25^(1/2)=2.0615528128088303)
+ #pair_coeff @atom:A @atom:A lj/cut 1.0 2.0615528128088303 2.314014792963349
+ # 30nm fiber (4.25^(1/3)=1.6198059006387417)
+ pair_coeff @atom:A @atom:A lj/cut 1.0 1.6198059006387417 1.8181706490945708
+ }
+
+} # Monomer
+
+
+
+
+# --------------------------------------------------------------------
+#
+# At some point we need to specify which force-field styles we want.
+# LAMMPS also allows you to customize the kinds of properties you want
+# each atom to have (the "atom_style"), such as charge, molecule-id, dipole etc.
+# I typically specify this here. Doing it this way means that all systems built
+# from "Monomers" (ie which import "monomer.lt") share these atom-styles
+# and force-field styles by default. You can override these settings later.
+
+
+write_once("In Init") {
+ # Default styles for molecules built out of "Monomers"
+ units lj
+ atom_style full
+
+ bond_style hybrid harmonic table linear 4001
+ angle_style hybrid cosine
+ dihedral_style none
+
+ # If you need angles, dihedrals and impropers, uncomment or replace:
+ # angle_style hybrid harmonic
+ # dihedral_style hybrid fourier
+
+ pair_style hybrid lj/cut 2.5
+
+ # If you are using gpu acceleration uncomment these lines:
+ # package gpu force/neigh 0 0 1.0
+ # pair_style hybrid lj/cut/gpu 4.0
+
+ pair_modify mix arithmetic
+ special_bonds lj/coul 1 1 1
+}
+
diff --git a/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/moltemplate_files/table_bonds_stage2.dat b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/moltemplate_files/table_bonds_stage2.dat
new file mode 100644
index 000000000..1bfb911c0
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/moltemplate_files/table_bonds_stage2.dat
@@ -0,0 +1,4011 @@
+# This table contains the bond potential between condensin-anchors
+# used by Imakaev in the Science 2013 (metaphase chromatin HiC) paper,
+# two-stage model, during stage 2.
+#
+# i r_i U(r_i) -dU/dr|r_i
+# where U(r) = step(d-3) * abs(d-3) * 10
+
+STAGE2
+N 4001 FP 0 0 EQ 0
+
+1 0 0 0
+2 .05 0 0
+3 .10 0 0
+4 .15 0 0
+5 .20 0 0
+6 .25 0 0
+7 .30 0 0
+8 .35 0 0
+9 .40 0 0
+10 .45 0 0
+11 .50 0 0
+12 .55 0 0
+13 .60 0 0
+14 .65 0 0
+15 .70 0 0
+16 .75 0 0
+17 .80 0 0
+18 .85 0 0
+19 .90 0 0
+20 .95 0 0
+21 1.00 0 0
+22 1.05 0 0
+23 1.10 0 0
+24 1.15 0 0
+25 1.20 0 0
+26 1.25 0 0
+27 1.30 0 0
+28 1.35 0 0
+29 1.40 0 0
+30 1.45 0 0
+31 1.50 0 0
+32 1.55 0 0
+33 1.60 0 0
+34 1.65 0 0
+35 1.70 0 0
+36 1.75 0 0
+37 1.80 0 0
+38 1.85 0 0
+39 1.90 0 0
+40 1.95 0 0
+41 2.00 0 0
+42 2.05 0 0
+43 2.10 0 0
+44 2.15 0 0
+45 2.20 0 0
+46 2.25 0 0
+47 2.30 0 0
+48 2.35 0 0
+49 2.40 0 0
+50 2.45 0 0
+51 2.50 0 0
+52 2.55 0 0
+53 2.60 0 0
+54 2.65 0 0
+55 2.70 0 0
+56 2.75 0 0
+57 2.80 0 0
+58 2.85 0 0
+59 2.90 0 0
+60 2.95 0 0
+61 3.0 0 -5
+62 3.05 .5 -10
+63 3.10 1.0 -10
+64 3.15 1.5 -10
+65 3.20 2.0 -10
+66 3.25 2.5 -10
+67 3.30 3.0 -10
+68 3.35 3.5 -10
+69 3.40 4.0 -10
+70 3.45 4.5 -10
+71 3.50 5.0 -10
+72 3.55 5.5 -10
+73 3.60 6.0 -10
+74 3.65 6.5 -10
+75 3.70 7.0 -10
+76 3.75 7.5 -10
+77 3.80 8.0 -10
+78 3.85 8.5 -10
+79 3.90 9.0 -10
+80 3.95 9.5 -10
+81 4.00 10.0 -10
+82 4.05 10.5 -10
+83 4.10 11.0 -10
+84 4.15 11.5 -10
+85 4.20 12.0 -10
+86 4.25 12.5 -10
+87 4.30 13.0 -10
+88 4.35 13.5 -10
+89 4.40 14.0 -10
+90 4.45 14.5 -10
+91 4.50 15.0 -10
+92 4.55 15.5 -10
+93 4.60 16.0 -10
+94 4.65 16.5 -10
+95 4.70 17.0 -10
+96 4.75 17.5 -10
+97 4.80 18.0 -10
+98 4.85 18.5 -10
+99 4.90 19.0 -10
+100 4.95 19.5 -10
+101 5.00 20.0 -10
+102 5.05 20.5 -10
+103 5.10 21.0 -10
+104 5.15 21.5 -10
+105 5.20 22.0 -10
+106 5.25 22.5 -10
+107 5.30 23.0 -10
+108 5.35 23.5 -10
+109 5.40 24.0 -10
+110 5.45 24.5 -10
+111 5.50 25.0 -10
+112 5.55 25.5 -10
+113 5.60 26.0 -10
+114 5.65 26.5 -10
+115 5.70 27.0 -10
+116 5.75 27.5 -10
+117 5.80 28.0 -10
+118 5.85 28.5 -10
+119 5.90 29.0 -10
+120 5.95 29.5 -10
+121 6.00 30.0 -10
+122 6.05 30.5 -10
+123 6.10 31.0 -10
+124 6.15 31.5 -10
+125 6.20 32.0 -10
+126 6.25 32.5 -10
+127 6.30 33.0 -10
+128 6.35 33.5 -10
+129 6.40 34.0 -10
+130 6.45 34.5 -10
+131 6.50 35.0 -10
+132 6.55 35.5 -10
+133 6.60 36.0 -10
+134 6.65 36.5 -10
+135 6.70 37.0 -10
+136 6.75 37.5 -10
+137 6.80 38.0 -10
+138 6.85 38.5 -10
+139 6.90 39.0 -10
+140 6.95 39.5 -10
+141 7.00 40.0 -10
+142 7.05 40.5 -10
+143 7.10 41.0 -10
+144 7.15 41.5 -10
+145 7.20 42.0 -10
+146 7.25 42.5 -10
+147 7.30 43.0 -10
+148 7.35 43.5 -10
+149 7.40 44.0 -10
+150 7.45 44.5 -10
+151 7.50 45.0 -10
+152 7.55 45.5 -10
+153 7.60 46.0 -10
+154 7.65 46.5 -10
+155 7.70 47.0 -10
+156 7.75 47.5 -10
+157 7.80 48.0 -10
+158 7.85 48.5 -10
+159 7.90 49.0 -10
+160 7.95 49.5 -10
+161 8.00 50.0 -10
+162 8.05 50.5 -10
+163 8.10 51.0 -10
+164 8.15 51.5 -10
+165 8.20 52.0 -10
+166 8.25 52.5 -10
+167 8.30 53.0 -10
+168 8.35 53.5 -10
+169 8.40 54.0 -10
+170 8.45 54.5 -10
+171 8.50 55.0 -10
+172 8.55 55.5 -10
+173 8.60 56.0 -10
+174 8.65 56.5 -10
+175 8.70 57.0 -10
+176 8.75 57.5 -10
+177 8.80 58.0 -10
+178 8.85 58.5 -10
+179 8.90 59.0 -10
+180 8.95 59.5 -10
+181 9.00 60.0 -10
+182 9.05 60.5 -10
+183 9.10 61.0 -10
+184 9.15 61.5 -10
+185 9.20 62.0 -10
+186 9.25 62.5 -10
+187 9.30 63.0 -10
+188 9.35 63.5 -10
+189 9.40 64.0 -10
+190 9.45 64.5 -10
+191 9.50 65.0 -10
+192 9.55 65.5 -10
+193 9.60 66.0 -10
+194 9.65 66.5 -10
+195 9.70 67.0 -10
+196 9.75 67.5 -10
+197 9.80 68.0 -10
+198 9.85 68.5 -10
+199 9.90 69.0 -10
+200 9.95 69.5 -10
+201 10.00 70.0 -10
+202 10.05 70.5 -10
+203 10.10 71.0 -10
+204 10.15 71.5 -10
+205 10.20 72.0 -10
+206 10.25 72.5 -10
+207 10.30 73.0 -10
+208 10.35 73.5 -10
+209 10.40 74.0 -10
+210 10.45 74.5 -10
+211 10.50 75.0 -10
+212 10.55 75.5 -10
+213 10.60 76.0 -10
+214 10.65 76.5 -10
+215 10.70 77.0 -10
+216 10.75 77.5 -10
+217 10.80 78.0 -10
+218 10.85 78.5 -10
+219 10.90 79.0 -10
+220 10.95 79.5 -10
+221 11.00 80.0 -10
+222 11.05 80.5 -10
+223 11.10 81.0 -10
+224 11.15 81.5 -10
+225 11.20 82.0 -10
+226 11.25 82.5 -10
+227 11.30 83.0 -10
+228 11.35 83.5 -10
+229 11.40 84.0 -10
+230 11.45 84.5 -10
+231 11.50 85.0 -10
+232 11.55 85.5 -10
+233 11.60 86.0 -10
+234 11.65 86.5 -10
+235 11.70 87.0 -10
+236 11.75 87.5 -10
+237 11.80 88.0 -10
+238 11.85 88.5 -10
+239 11.90 89.0 -10
+240 11.95 89.5 -10
+241 12.00 90.0 -10
+242 12.05 90.5 -10
+243 12.10 91.0 -10
+244 12.15 91.5 -10
+245 12.20 92.0 -10
+246 12.25 92.5 -10
+247 12.30 93.0 -10
+248 12.35 93.5 -10
+249 12.40 94.0 -10
+250 12.45 94.5 -10
+251 12.50 95.0 -10
+252 12.55 95.5 -10
+253 12.60 96.0 -10
+254 12.65 96.5 -10
+255 12.70 97.0 -10
+256 12.75 97.5 -10
+257 12.80 98.0 -10
+258 12.85 98.5 -10
+259 12.90 99.0 -10
+260 12.95 99.5 -10
+261 13.00 100.0 -10
+262 13.05 100.5 -10
+263 13.10 101.0 -10
+264 13.15 101.5 -10
+265 13.20 102.0 -10
+266 13.25 102.5 -10
+267 13.30 103.0 -10
+268 13.35 103.5 -10
+269 13.40 104.0 -10
+270 13.45 104.5 -10
+271 13.50 105.0 -10
+272 13.55 105.5 -10
+273 13.60 106.0 -10
+274 13.65 106.5 -10
+275 13.70 107.0 -10
+276 13.75 107.5 -10
+277 13.80 108.0 -10
+278 13.85 108.5 -10
+279 13.90 109.0 -10
+280 13.95 109.5 -10
+281 14.00 110.0 -10
+282 14.05 110.5 -10
+283 14.10 111.0 -10
+284 14.15 111.5 -10
+285 14.20 112.0 -10
+286 14.25 112.5 -10
+287 14.30 113.0 -10
+288 14.35 113.5 -10
+289 14.40 114.0 -10
+290 14.45 114.5 -10
+291 14.50 115.0 -10
+292 14.55 115.5 -10
+293 14.60 116.0 -10
+294 14.65 116.5 -10
+295 14.70 117.0 -10
+296 14.75 117.5 -10
+297 14.80 118.0 -10
+298 14.85 118.5 -10
+299 14.90 119.0 -10
+300 14.95 119.5 -10
+301 15.00 120.0 -10
+302 15.05 120.5 -10
+303 15.10 121.0 -10
+304 15.15 121.5 -10
+305 15.20 122.0 -10
+306 15.25 122.5 -10
+307 15.30 123.0 -10
+308 15.35 123.5 -10
+309 15.40 124.0 -10
+310 15.45 124.5 -10
+311 15.50 125.0 -10
+312 15.55 125.5 -10
+313 15.60 126.0 -10
+314 15.65 126.5 -10
+315 15.70 127.0 -10
+316 15.75 127.5 -10
+317 15.80 128.0 -10
+318 15.85 128.5 -10
+319 15.90 129.0 -10
+320 15.95 129.5 -10
+321 16.00 130.0 -10
+322 16.05 130.5 -10
+323 16.10 131.0 -10
+324 16.15 131.5 -10
+325 16.20 132.0 -10
+326 16.25 132.5 -10
+327 16.30 133.0 -10
+328 16.35 133.5 -10
+329 16.40 134.0 -10
+330 16.45 134.5 -10
+331 16.50 135.0 -10
+332 16.55 135.5 -10
+333 16.60 136.0 -10
+334 16.65 136.5 -10
+335 16.70 137.0 -10
+336 16.75 137.5 -10
+337 16.80 138.0 -10
+338 16.85 138.5 -10
+339 16.90 139.0 -10
+340 16.95 139.5 -10
+341 17.00 140.0 -10
+342 17.05 140.5 -10
+343 17.10 141.0 -10
+344 17.15 141.5 -10
+345 17.20 142.0 -10
+346 17.25 142.5 -10
+347 17.30 143.0 -10
+348 17.35 143.5 -10
+349 17.40 144.0 -10
+350 17.45 144.5 -10
+351 17.50 145.0 -10
+352 17.55 145.5 -10
+353 17.60 146.0 -10
+354 17.65 146.5 -10
+355 17.70 147.0 -10
+356 17.75 147.5 -10
+357 17.80 148.0 -10
+358 17.85 148.5 -10
+359 17.90 149.0 -10
+360 17.95 149.5 -10
+361 18.00 150.0 -10
+362 18.05 150.5 -10
+363 18.10 151.0 -10
+364 18.15 151.5 -10
+365 18.20 152.0 -10
+366 18.25 152.5 -10
+367 18.30 153.0 -10
+368 18.35 153.5 -10
+369 18.40 154.0 -10
+370 18.45 154.5 -10
+371 18.50 155.0 -10
+372 18.55 155.5 -10
+373 18.60 156.0 -10
+374 18.65 156.5 -10
+375 18.70 157.0 -10
+376 18.75 157.5 -10
+377 18.80 158.0 -10
+378 18.85 158.5 -10
+379 18.90 159.0 -10
+380 18.95 159.5 -10
+381 19.00 160.0 -10
+382 19.05 160.5 -10
+383 19.10 161.0 -10
+384 19.15 161.5 -10
+385 19.20 162.0 -10
+386 19.25 162.5 -10
+387 19.30 163.0 -10
+388 19.35 163.5 -10
+389 19.40 164.0 -10
+390 19.45 164.5 -10
+391 19.50 165.0 -10
+392 19.55 165.5 -10
+393 19.60 166.0 -10
+394 19.65 166.5 -10
+395 19.70 167.0 -10
+396 19.75 167.5 -10
+397 19.80 168.0 -10
+398 19.85 168.5 -10
+399 19.90 169.0 -10
+400 19.95 169.5 -10
+401 20.00 170.0 -10
+402 20.05 170.5 -10
+403 20.10 171.0 -10
+404 20.15 171.5 -10
+405 20.20 172.0 -10
+406 20.25 172.5 -10
+407 20.30 173.0 -10
+408 20.35 173.5 -10
+409 20.40 174.0 -10
+410 20.45 174.5 -10
+411 20.50 175.0 -10
+412 20.55 175.5 -10
+413 20.60 176.0 -10
+414 20.65 176.5 -10
+415 20.70 177.0 -10
+416 20.75 177.5 -10
+417 20.80 178.0 -10
+418 20.85 178.5 -10
+419 20.90 179.0 -10
+420 20.95 179.5 -10
+421 21.00 180.0 -10
+422 21.05 180.5 -10
+423 21.10 181.0 -10
+424 21.15 181.5 -10
+425 21.20 182.0 -10
+426 21.25 182.5 -10
+427 21.30 183.0 -10
+428 21.35 183.5 -10
+429 21.40 184.0 -10
+430 21.45 184.5 -10
+431 21.50 185.0 -10
+432 21.55 185.5 -10
+433 21.60 186.0 -10
+434 21.65 186.5 -10
+435 21.70 187.0 -10
+436 21.75 187.5 -10
+437 21.80 188.0 -10
+438 21.85 188.5 -10
+439 21.90 189.0 -10
+440 21.95 189.5 -10
+441 22.00 190.0 -10
+442 22.05 190.5 -10
+443 22.10 191.0 -10
+444 22.15 191.5 -10
+445 22.20 192.0 -10
+446 22.25 192.5 -10
+447 22.30 193.0 -10
+448 22.35 193.5 -10
+449 22.40 194.0 -10
+450 22.45 194.5 -10
+451 22.50 195.0 -10
+452 22.55 195.5 -10
+453 22.60 196.0 -10
+454 22.65 196.5 -10
+455 22.70 197.0 -10
+456 22.75 197.5 -10
+457 22.80 198.0 -10
+458 22.85 198.5 -10
+459 22.90 199.0 -10
+460 22.95 199.5 -10
+461 23.00 200.0 -10
+462 23.05 200.5 -10
+463 23.10 201.0 -10
+464 23.15 201.5 -10
+465 23.20 202.0 -10
+466 23.25 202.5 -10
+467 23.30 203.0 -10
+468 23.35 203.5 -10
+469 23.40 204.0 -10
+470 23.45 204.5 -10
+471 23.50 205.0 -10
+472 23.55 205.5 -10
+473 23.60 206.0 -10
+474 23.65 206.5 -10
+475 23.70 207.0 -10
+476 23.75 207.5 -10
+477 23.80 208.0 -10
+478 23.85 208.5 -10
+479 23.90 209.0 -10
+480 23.95 209.5 -10
+481 24.00 210.0 -10
+482 24.05 210.5 -10
+483 24.10 211.0 -10
+484 24.15 211.5 -10
+485 24.20 212.0 -10
+486 24.25 212.5 -10
+487 24.30 213.0 -10
+488 24.35 213.5 -10
+489 24.40 214.0 -10
+490 24.45 214.5 -10
+491 24.50 215.0 -10
+492 24.55 215.5 -10
+493 24.60 216.0 -10
+494 24.65 216.5 -10
+495 24.70 217.0 -10
+496 24.75 217.5 -10
+497 24.80 218.0 -10
+498 24.85 218.5 -10
+499 24.90 219.0 -10
+500 24.95 219.5 -10
+501 25.00 220.0 -10
+502 25.05 220.5 -10
+503 25.10 221.0 -10
+504 25.15 221.5 -10
+505 25.20 222.0 -10
+506 25.25 222.5 -10
+507 25.30 223.0 -10
+508 25.35 223.5 -10
+509 25.40 224.0 -10
+510 25.45 224.5 -10
+511 25.50 225.0 -10
+512 25.55 225.5 -10
+513 25.60 226.0 -10
+514 25.65 226.5 -10
+515 25.70 227.0 -10
+516 25.75 227.5 -10
+517 25.80 228.0 -10
+518 25.85 228.5 -10
+519 25.90 229.0 -10
+520 25.95 229.5 -10
+521 26.00 230.0 -10
+522 26.05 230.5 -10
+523 26.10 231.0 -10
+524 26.15 231.5 -10
+525 26.20 232.0 -10
+526 26.25 232.5 -10
+527 26.30 233.0 -10
+528 26.35 233.5 -10
+529 26.40 234.0 -10
+530 26.45 234.5 -10
+531 26.50 235.0 -10
+532 26.55 235.5 -10
+533 26.60 236.0 -10
+534 26.65 236.5 -10
+535 26.70 237.0 -10
+536 26.75 237.5 -10
+537 26.80 238.0 -10
+538 26.85 238.5 -10
+539 26.90 239.0 -10
+540 26.95 239.5 -10
+541 27.00 240.0 -10
+542 27.05 240.5 -10
+543 27.10 241.0 -10
+544 27.15 241.5 -10
+545 27.20 242.0 -10
+546 27.25 242.5 -10
+547 27.30 243.0 -10
+548 27.35 243.5 -10
+549 27.40 244.0 -10
+550 27.45 244.5 -10
+551 27.50 245.0 -10
+552 27.55 245.5 -10
+553 27.60 246.0 -10
+554 27.65 246.5 -10
+555 27.70 247.0 -10
+556 27.75 247.5 -10
+557 27.80 248.0 -10
+558 27.85 248.5 -10
+559 27.90 249.0 -10
+560 27.95 249.5 -10
+561 28.00 250.0 -10
+562 28.05 250.5 -10
+563 28.10 251.0 -10
+564 28.15 251.5 -10
+565 28.20 252.0 -10
+566 28.25 252.5 -10
+567 28.30 253.0 -10
+568 28.35 253.5 -10
+569 28.40 254.0 -10
+570 28.45 254.5 -10
+571 28.50 255.0 -10
+572 28.55 255.5 -10
+573 28.60 256.0 -10
+574 28.65 256.5 -10
+575 28.70 257.0 -10
+576 28.75 257.5 -10
+577 28.80 258.0 -10
+578 28.85 258.5 -10
+579 28.90 259.0 -10
+580 28.95 259.5 -10
+581 29.00 260.0 -10
+582 29.05 260.5 -10
+583 29.10 261.0 -10
+584 29.15 261.5 -10
+585 29.20 262.0 -10
+586 29.25 262.5 -10
+587 29.30 263.0 -10
+588 29.35 263.5 -10
+589 29.40 264.0 -10
+590 29.45 264.5 -10
+591 29.50 265.0 -10
+592 29.55 265.5 -10
+593 29.60 266.0 -10
+594 29.65 266.5 -10
+595 29.70 267.0 -10
+596 29.75 267.5 -10
+597 29.80 268.0 -10
+598 29.85 268.5 -10
+599 29.90 269.0 -10
+600 29.95 269.5 -10
+601 30.00 270.0 -10
+602 30.05 270.5 -10
+603 30.10 271.0 -10
+604 30.15 271.5 -10
+605 30.20 272.0 -10
+606 30.25 272.5 -10
+607 30.30 273.0 -10
+608 30.35 273.5 -10
+609 30.40 274.0 -10
+610 30.45 274.5 -10
+611 30.50 275.0 -10
+612 30.55 275.5 -10
+613 30.60 276.0 -10
+614 30.65 276.5 -10
+615 30.70 277.0 -10
+616 30.75 277.5 -10
+617 30.80 278.0 -10
+618 30.85 278.5 -10
+619 30.90 279.0 -10
+620 30.95 279.5 -10
+621 31.00 280.0 -10
+622 31.05 280.5 -10
+623 31.10 281.0 -10
+624 31.15 281.5 -10
+625 31.20 282.0 -10
+626 31.25 282.5 -10
+627 31.30 283.0 -10
+628 31.35 283.5 -10
+629 31.40 284.0 -10
+630 31.45 284.5 -10
+631 31.50 285.0 -10
+632 31.55 285.5 -10
+633 31.60 286.0 -10
+634 31.65 286.5 -10
+635 31.70 287.0 -10
+636 31.75 287.5 -10
+637 31.80 288.0 -10
+638 31.85 288.5 -10
+639 31.90 289.0 -10
+640 31.95 289.5 -10
+641 32.00 290.0 -10
+642 32.05 290.5 -10
+643 32.10 291.0 -10
+644 32.15 291.5 -10
+645 32.20 292.0 -10
+646 32.25 292.5 -10
+647 32.30 293.0 -10
+648 32.35 293.5 -10
+649 32.40 294.0 -10
+650 32.45 294.5 -10
+651 32.50 295.0 -10
+652 32.55 295.5 -10
+653 32.60 296.0 -10
+654 32.65 296.5 -10
+655 32.70 297.0 -10
+656 32.75 297.5 -10
+657 32.80 298.0 -10
+658 32.85 298.5 -10
+659 32.90 299.0 -10
+660 32.95 299.5 -10
+661 33.00 300.0 -10
+662 33.05 300.5 -10
+663 33.10 301.0 -10
+664 33.15 301.5 -10
+665 33.20 302.0 -10
+666 33.25 302.5 -10
+667 33.30 303.0 -10
+668 33.35 303.5 -10
+669 33.40 304.0 -10
+670 33.45 304.5 -10
+671 33.50 305.0 -10
+672 33.55 305.5 -10
+673 33.60 306.0 -10
+674 33.65 306.5 -10
+675 33.70 307.0 -10
+676 33.75 307.5 -10
+677 33.80 308.0 -10
+678 33.85 308.5 -10
+679 33.90 309.0 -10
+680 33.95 309.5 -10
+681 34.00 310.0 -10
+682 34.05 310.5 -10
+683 34.10 311.0 -10
+684 34.15 311.5 -10
+685 34.20 312.0 -10
+686 34.25 312.5 -10
+687 34.30 313.0 -10
+688 34.35 313.5 -10
+689 34.40 314.0 -10
+690 34.45 314.5 -10
+691 34.50 315.0 -10
+692 34.55 315.5 -10
+693 34.60 316.0 -10
+694 34.65 316.5 -10
+695 34.70 317.0 -10
+696 34.75 317.5 -10
+697 34.80 318.0 -10
+698 34.85 318.5 -10
+699 34.90 319.0 -10
+700 34.95 319.5 -10
+701 35.00 320.0 -10
+702 35.05 320.5 -10
+703 35.10 321.0 -10
+704 35.15 321.5 -10
+705 35.20 322.0 -10
+706 35.25 322.5 -10
+707 35.30 323.0 -10
+708 35.35 323.5 -10
+709 35.40 324.0 -10
+710 35.45 324.5 -10
+711 35.50 325.0 -10
+712 35.55 325.5 -10
+713 35.60 326.0 -10
+714 35.65 326.5 -10
+715 35.70 327.0 -10
+716 35.75 327.5 -10
+717 35.80 328.0 -10
+718 35.85 328.5 -10
+719 35.90 329.0 -10
+720 35.95 329.5 -10
+721 36.00 330.0 -10
+722 36.05 330.5 -10
+723 36.10 331.0 -10
+724 36.15 331.5 -10
+725 36.20 332.0 -10
+726 36.25 332.5 -10
+727 36.30 333.0 -10
+728 36.35 333.5 -10
+729 36.40 334.0 -10
+730 36.45 334.5 -10
+731 36.50 335.0 -10
+732 36.55 335.5 -10
+733 36.60 336.0 -10
+734 36.65 336.5 -10
+735 36.70 337.0 -10
+736 36.75 337.5 -10
+737 36.80 338.0 -10
+738 36.85 338.5 -10
+739 36.90 339.0 -10
+740 36.95 339.5 -10
+741 37.00 340.0 -10
+742 37.05 340.5 -10
+743 37.10 341.0 -10
+744 37.15 341.5 -10
+745 37.20 342.0 -10
+746 37.25 342.5 -10
+747 37.30 343.0 -10
+748 37.35 343.5 -10
+749 37.40 344.0 -10
+750 37.45 344.5 -10
+751 37.50 345.0 -10
+752 37.55 345.5 -10
+753 37.60 346.0 -10
+754 37.65 346.5 -10
+755 37.70 347.0 -10
+756 37.75 347.5 -10
+757 37.80 348.0 -10
+758 37.85 348.5 -10
+759 37.90 349.0 -10
+760 37.95 349.5 -10
+761 38.00 350.0 -10
+762 38.05 350.5 -10
+763 38.10 351.0 -10
+764 38.15 351.5 -10
+765 38.20 352.0 -10
+766 38.25 352.5 -10
+767 38.30 353.0 -10
+768 38.35 353.5 -10
+769 38.40 354.0 -10
+770 38.45 354.5 -10
+771 38.50 355.0 -10
+772 38.55 355.5 -10
+773 38.60 356.0 -10
+774 38.65 356.5 -10
+775 38.70 357.0 -10
+776 38.75 357.5 -10
+777 38.80 358.0 -10
+778 38.85 358.5 -10
+779 38.90 359.0 -10
+780 38.95 359.5 -10
+781 39.00 360.0 -10
+782 39.05 360.5 -10
+783 39.10 361.0 -10
+784 39.15 361.5 -10
+785 39.20 362.0 -10
+786 39.25 362.5 -10
+787 39.30 363.0 -10
+788 39.35 363.5 -10
+789 39.40 364.0 -10
+790 39.45 364.5 -10
+791 39.50 365.0 -10
+792 39.55 365.5 -10
+793 39.60 366.0 -10
+794 39.65 366.5 -10
+795 39.70 367.0 -10
+796 39.75 367.5 -10
+797 39.80 368.0 -10
+798 39.85 368.5 -10
+799 39.90 369.0 -10
+800 39.95 369.5 -10
+801 40.00 370.0 -10
+802 40.05 370.5 -10
+803 40.10 371.0 -10
+804 40.15 371.5 -10
+805 40.20 372.0 -10
+806 40.25 372.5 -10
+807 40.30 373.0 -10
+808 40.35 373.5 -10
+809 40.40 374.0 -10
+810 40.45 374.5 -10
+811 40.50 375.0 -10
+812 40.55 375.5 -10
+813 40.60 376.0 -10
+814 40.65 376.5 -10
+815 40.70 377.0 -10
+816 40.75 377.5 -10
+817 40.80 378.0 -10
+818 40.85 378.5 -10
+819 40.90 379.0 -10
+820 40.95 379.5 -10
+821 41.00 380.0 -10
+822 41.05 380.5 -10
+823 41.10 381.0 -10
+824 41.15 381.5 -10
+825 41.20 382.0 -10
+826 41.25 382.5 -10
+827 41.30 383.0 -10
+828 41.35 383.5 -10
+829 41.40 384.0 -10
+830 41.45 384.5 -10
+831 41.50 385.0 -10
+832 41.55 385.5 -10
+833 41.60 386.0 -10
+834 41.65 386.5 -10
+835 41.70 387.0 -10
+836 41.75 387.5 -10
+837 41.80 388.0 -10
+838 41.85 388.5 -10
+839 41.90 389.0 -10
+840 41.95 389.5 -10
+841 42.00 390.0 -10
+842 42.05 390.5 -10
+843 42.10 391.0 -10
+844 42.15 391.5 -10
+845 42.20 392.0 -10
+846 42.25 392.5 -10
+847 42.30 393.0 -10
+848 42.35 393.5 -10
+849 42.40 394.0 -10
+850 42.45 394.5 -10
+851 42.50 395.0 -10
+852 42.55 395.5 -10
+853 42.60 396.0 -10
+854 42.65 396.5 -10
+855 42.70 397.0 -10
+856 42.75 397.5 -10
+857 42.80 398.0 -10
+858 42.85 398.5 -10
+859 42.90 399.0 -10
+860 42.95 399.5 -10
+861 43.00 400.0 -10
+862 43.05 400.5 -10
+863 43.10 401.0 -10
+864 43.15 401.5 -10
+865 43.20 402.0 -10
+866 43.25 402.5 -10
+867 43.30 403.0 -10
+868 43.35 403.5 -10
+869 43.40 404.0 -10
+870 43.45 404.5 -10
+871 43.50 405.0 -10
+872 43.55 405.5 -10
+873 43.60 406.0 -10
+874 43.65 406.5 -10
+875 43.70 407.0 -10
+876 43.75 407.5 -10
+877 43.80 408.0 -10
+878 43.85 408.5 -10
+879 43.90 409.0 -10
+880 43.95 409.5 -10
+881 44.00 410.0 -10
+882 44.05 410.5 -10
+883 44.10 411.0 -10
+884 44.15 411.5 -10
+885 44.20 412.0 -10
+886 44.25 412.5 -10
+887 44.30 413.0 -10
+888 44.35 413.5 -10
+889 44.40 414.0 -10
+890 44.45 414.5 -10
+891 44.50 415.0 -10
+892 44.55 415.5 -10
+893 44.60 416.0 -10
+894 44.65 416.5 -10
+895 44.70 417.0 -10
+896 44.75 417.5 -10
+897 44.80 418.0 -10
+898 44.85 418.5 -10
+899 44.90 419.0 -10
+900 44.95 419.5 -10
+901 45.00 420.0 -10
+902 45.05 420.5 -10
+903 45.10 421.0 -10
+904 45.15 421.5 -10
+905 45.20 422.0 -10
+906 45.25 422.5 -10
+907 45.30 423.0 -10
+908 45.35 423.5 -10
+909 45.40 424.0 -10
+910 45.45 424.5 -10
+911 45.50 425.0 -10
+912 45.55 425.5 -10
+913 45.60 426.0 -10
+914 45.65 426.5 -10
+915 45.70 427.0 -10
+916 45.75 427.5 -10
+917 45.80 428.0 -10
+918 45.85 428.5 -10
+919 45.90 429.0 -10
+920 45.95 429.5 -10
+921 46.00 430.0 -10
+922 46.05 430.5 -10
+923 46.10 431.0 -10
+924 46.15 431.5 -10
+925 46.20 432.0 -10
+926 46.25 432.5 -10
+927 46.30 433.0 -10
+928 46.35 433.5 -10
+929 46.40 434.0 -10
+930 46.45 434.5 -10
+931 46.50 435.0 -10
+932 46.55 435.5 -10
+933 46.60 436.0 -10
+934 46.65 436.5 -10
+935 46.70 437.0 -10
+936 46.75 437.5 -10
+937 46.80 438.0 -10
+938 46.85 438.5 -10
+939 46.90 439.0 -10
+940 46.95 439.5 -10
+941 47.00 440.0 -10
+942 47.05 440.5 -10
+943 47.10 441.0 -10
+944 47.15 441.5 -10
+945 47.20 442.0 -10
+946 47.25 442.5 -10
+947 47.30 443.0 -10
+948 47.35 443.5 -10
+949 47.40 444.0 -10
+950 47.45 444.5 -10
+951 47.50 445.0 -10
+952 47.55 445.5 -10
+953 47.60 446.0 -10
+954 47.65 446.5 -10
+955 47.70 447.0 -10
+956 47.75 447.5 -10
+957 47.80 448.0 -10
+958 47.85 448.5 -10
+959 47.90 449.0 -10
+960 47.95 449.5 -10
+961 48.00 450.0 -10
+962 48.05 450.5 -10
+963 48.10 451.0 -10
+964 48.15 451.5 -10
+965 48.20 452.0 -10
+966 48.25 452.5 -10
+967 48.30 453.0 -10
+968 48.35 453.5 -10
+969 48.40 454.0 -10
+970 48.45 454.5 -10
+971 48.50 455.0 -10
+972 48.55 455.5 -10
+973 48.60 456.0 -10
+974 48.65 456.5 -10
+975 48.70 457.0 -10
+976 48.75 457.5 -10
+977 48.80 458.0 -10
+978 48.85 458.5 -10
+979 48.90 459.0 -10
+980 48.95 459.5 -10
+981 49.00 460.0 -10
+982 49.05 460.5 -10
+983 49.10 461.0 -10
+984 49.15 461.5 -10
+985 49.20 462.0 -10
+986 49.25 462.5 -10
+987 49.30 463.0 -10
+988 49.35 463.5 -10
+989 49.40 464.0 -10
+990 49.45 464.5 -10
+991 49.50 465.0 -10
+992 49.55 465.5 -10
+993 49.60 466.0 -10
+994 49.65 466.5 -10
+995 49.70 467.0 -10
+996 49.75 467.5 -10
+997 49.80 468.0 -10
+998 49.85 468.5 -10
+999 49.90 469.0 -10
+1000 49.95 469.5 -10
+1001 50.00 470.0 -10
+1002 50.05 470.5 -10
+1003 50.10 471.0 -10
+1004 50.15 471.5 -10
+1005 50.20 472.0 -10
+1006 50.25 472.5 -10
+1007 50.30 473.0 -10
+1008 50.35 473.5 -10
+1009 50.40 474.0 -10
+1010 50.45 474.5 -10
+1011 50.50 475.0 -10
+1012 50.55 475.5 -10
+1013 50.60 476.0 -10
+1014 50.65 476.5 -10
+1015 50.70 477.0 -10
+1016 50.75 477.5 -10
+1017 50.80 478.0 -10
+1018 50.85 478.5 -10
+1019 50.90 479.0 -10
+1020 50.95 479.5 -10
+1021 51.00 480.0 -10
+1022 51.05 480.5 -10
+1023 51.10 481.0 -10
+1024 51.15 481.5 -10
+1025 51.20 482.0 -10
+1026 51.25 482.5 -10
+1027 51.30 483.0 -10
+1028 51.35 483.5 -10
+1029 51.40 484.0 -10
+1030 51.45 484.5 -10
+1031 51.50 485.0 -10
+1032 51.55 485.5 -10
+1033 51.60 486.0 -10
+1034 51.65 486.5 -10
+1035 51.70 487.0 -10
+1036 51.75 487.5 -10
+1037 51.80 488.0 -10
+1038 51.85 488.5 -10
+1039 51.90 489.0 -10
+1040 51.95 489.5 -10
+1041 52.00 490.0 -10
+1042 52.05 490.5 -10
+1043 52.10 491.0 -10
+1044 52.15 491.5 -10
+1045 52.20 492.0 -10
+1046 52.25 492.5 -10
+1047 52.30 493.0 -10
+1048 52.35 493.5 -10
+1049 52.40 494.0 -10
+1050 52.45 494.5 -10
+1051 52.50 495.0 -10
+1052 52.55 495.5 -10
+1053 52.60 496.0 -10
+1054 52.65 496.5 -10
+1055 52.70 497.0 -10
+1056 52.75 497.5 -10
+1057 52.80 498.0 -10
+1058 52.85 498.5 -10
+1059 52.90 499.0 -10
+1060 52.95 499.5 -10
+1061 53.00 500.0 -10
+1062 53.05 500.5 -10
+1063 53.10 501.0 -10
+1064 53.15 501.5 -10
+1065 53.20 502.0 -10
+1066 53.25 502.5 -10
+1067 53.30 503.0 -10
+1068 53.35 503.5 -10
+1069 53.40 504.0 -10
+1070 53.45 504.5 -10
+1071 53.50 505.0 -10
+1072 53.55 505.5 -10
+1073 53.60 506.0 -10
+1074 53.65 506.5 -10
+1075 53.70 507.0 -10
+1076 53.75 507.5 -10
+1077 53.80 508.0 -10
+1078 53.85 508.5 -10
+1079 53.90 509.0 -10
+1080 53.95 509.5 -10
+1081 54.00 510.0 -10
+1082 54.05 510.5 -10
+1083 54.10 511.0 -10
+1084 54.15 511.5 -10
+1085 54.20 512.0 -10
+1086 54.25 512.5 -10
+1087 54.30 513.0 -10
+1088 54.35 513.5 -10
+1089 54.40 514.0 -10
+1090 54.45 514.5 -10
+1091 54.50 515.0 -10
+1092 54.55 515.5 -10
+1093 54.60 516.0 -10
+1094 54.65 516.5 -10
+1095 54.70 517.0 -10
+1096 54.75 517.5 -10
+1097 54.80 518.0 -10
+1098 54.85 518.5 -10
+1099 54.90 519.0 -10
+1100 54.95 519.5 -10
+1101 55.00 520.0 -10
+1102 55.05 520.5 -10
+1103 55.10 521.0 -10
+1104 55.15 521.5 -10
+1105 55.20 522.0 -10
+1106 55.25 522.5 -10
+1107 55.30 523.0 -10
+1108 55.35 523.5 -10
+1109 55.40 524.0 -10
+1110 55.45 524.5 -10
+1111 55.50 525.0 -10
+1112 55.55 525.5 -10
+1113 55.60 526.0 -10
+1114 55.65 526.5 -10
+1115 55.70 527.0 -10
+1116 55.75 527.5 -10
+1117 55.80 528.0 -10
+1118 55.85 528.5 -10
+1119 55.90 529.0 -10
+1120 55.95 529.5 -10
+1121 56.00 530.0 -10
+1122 56.05 530.5 -10
+1123 56.10 531.0 -10
+1124 56.15 531.5 -10
+1125 56.20 532.0 -10
+1126 56.25 532.5 -10
+1127 56.30 533.0 -10
+1128 56.35 533.5 -10
+1129 56.40 534.0 -10
+1130 56.45 534.5 -10
+1131 56.50 535.0 -10
+1132 56.55 535.5 -10
+1133 56.60 536.0 -10
+1134 56.65 536.5 -10
+1135 56.70 537.0 -10
+1136 56.75 537.5 -10
+1137 56.80 538.0 -10
+1138 56.85 538.5 -10
+1139 56.90 539.0 -10
+1140 56.95 539.5 -10
+1141 57.00 540.0 -10
+1142 57.05 540.5 -10
+1143 57.10 541.0 -10
+1144 57.15 541.5 -10
+1145 57.20 542.0 -10
+1146 57.25 542.5 -10
+1147 57.30 543.0 -10
+1148 57.35 543.5 -10
+1149 57.40 544.0 -10
+1150 57.45 544.5 -10
+1151 57.50 545.0 -10
+1152 57.55 545.5 -10
+1153 57.60 546.0 -10
+1154 57.65 546.5 -10
+1155 57.70 547.0 -10
+1156 57.75 547.5 -10
+1157 57.80 548.0 -10
+1158 57.85 548.5 -10
+1159 57.90 549.0 -10
+1160 57.95 549.5 -10
+1161 58.00 550.0 -10
+1162 58.05 550.5 -10
+1163 58.10 551.0 -10
+1164 58.15 551.5 -10
+1165 58.20 552.0 -10
+1166 58.25 552.5 -10
+1167 58.30 553.0 -10
+1168 58.35 553.5 -10
+1169 58.40 554.0 -10
+1170 58.45 554.5 -10
+1171 58.50 555.0 -10
+1172 58.55 555.5 -10
+1173 58.60 556.0 -10
+1174 58.65 556.5 -10
+1175 58.70 557.0 -10
+1176 58.75 557.5 -10
+1177 58.80 558.0 -10
+1178 58.85 558.5 -10
+1179 58.90 559.0 -10
+1180 58.95 559.5 -10
+1181 59.00 560.0 -10
+1182 59.05 560.5 -10
+1183 59.10 561.0 -10
+1184 59.15 561.5 -10
+1185 59.20 562.0 -10
+1186 59.25 562.5 -10
+1187 59.30 563.0 -10
+1188 59.35 563.5 -10
+1189 59.40 564.0 -10
+1190 59.45 564.5 -10
+1191 59.50 565.0 -10
+1192 59.55 565.5 -10
+1193 59.60 566.0 -10
+1194 59.65 566.5 -10
+1195 59.70 567.0 -10
+1196 59.75 567.5 -10
+1197 59.80 568.0 -10
+1198 59.85 568.5 -10
+1199 59.90 569.0 -10
+1200 59.95 569.5 -10
+1201 60.00 570.0 -10
+1202 60.05 570.5 -10
+1203 60.10 571.0 -10
+1204 60.15 571.5 -10
+1205 60.20 572.0 -10
+1206 60.25 572.5 -10
+1207 60.30 573.0 -10
+1208 60.35 573.5 -10
+1209 60.40 574.0 -10
+1210 60.45 574.5 -10
+1211 60.50 575.0 -10
+1212 60.55 575.5 -10
+1213 60.60 576.0 -10
+1214 60.65 576.5 -10
+1215 60.70 577.0 -10
+1216 60.75 577.5 -10
+1217 60.80 578.0 -10
+1218 60.85 578.5 -10
+1219 60.90 579.0 -10
+1220 60.95 579.5 -10
+1221 61.00 580.0 -10
+1222 61.05 580.5 -10
+1223 61.10 581.0 -10
+1224 61.15 581.5 -10
+1225 61.20 582.0 -10
+1226 61.25 582.5 -10
+1227 61.30 583.0 -10
+1228 61.35 583.5 -10
+1229 61.40 584.0 -10
+1230 61.45 584.5 -10
+1231 61.50 585.0 -10
+1232 61.55 585.5 -10
+1233 61.60 586.0 -10
+1234 61.65 586.5 -10
+1235 61.70 587.0 -10
+1236 61.75 587.5 -10
+1237 61.80 588.0 -10
+1238 61.85 588.5 -10
+1239 61.90 589.0 -10
+1240 61.95 589.5 -10
+1241 62.00 590.0 -10
+1242 62.05 590.5 -10
+1243 62.10 591.0 -10
+1244 62.15 591.5 -10
+1245 62.20 592.0 -10
+1246 62.25 592.5 -10
+1247 62.30 593.0 -10
+1248 62.35 593.5 -10
+1249 62.40 594.0 -10
+1250 62.45 594.5 -10
+1251 62.50 595.0 -10
+1252 62.55 595.5 -10
+1253 62.60 596.0 -10
+1254 62.65 596.5 -10
+1255 62.70 597.0 -10
+1256 62.75 597.5 -10
+1257 62.80 598.0 -10
+1258 62.85 598.5 -10
+1259 62.90 599.0 -10
+1260 62.95 599.5 -10
+1261 63.00 600.0 -10
+1262 63.05 600.5 -10
+1263 63.10 601.0 -10
+1264 63.15 601.5 -10
+1265 63.20 602.0 -10
+1266 63.25 602.5 -10
+1267 63.30 603.0 -10
+1268 63.35 603.5 -10
+1269 63.40 604.0 -10
+1270 63.45 604.5 -10
+1271 63.50 605.0 -10
+1272 63.55 605.5 -10
+1273 63.60 606.0 -10
+1274 63.65 606.5 -10
+1275 63.70 607.0 -10
+1276 63.75 607.5 -10
+1277 63.80 608.0 -10
+1278 63.85 608.5 -10
+1279 63.90 609.0 -10
+1280 63.95 609.5 -10
+1281 64.00 610.0 -10
+1282 64.05 610.5 -10
+1283 64.10 611.0 -10
+1284 64.15 611.5 -10
+1285 64.20 612.0 -10
+1286 64.25 612.5 -10
+1287 64.30 613.0 -10
+1288 64.35 613.5 -10
+1289 64.40 614.0 -10
+1290 64.45 614.5 -10
+1291 64.50 615.0 -10
+1292 64.55 615.5 -10
+1293 64.60 616.0 -10
+1294 64.65 616.5 -10
+1295 64.70 617.0 -10
+1296 64.75 617.5 -10
+1297 64.80 618.0 -10
+1298 64.85 618.5 -10
+1299 64.90 619.0 -10
+1300 64.95 619.5 -10
+1301 65.00 620.0 -10
+1302 65.05 620.5 -10
+1303 65.10 621.0 -10
+1304 65.15 621.5 -10
+1305 65.20 622.0 -10
+1306 65.25 622.5 -10
+1307 65.30 623.0 -10
+1308 65.35 623.5 -10
+1309 65.40 624.0 -10
+1310 65.45 624.5 -10
+1311 65.50 625.0 -10
+1312 65.55 625.5 -10
+1313 65.60 626.0 -10
+1314 65.65 626.5 -10
+1315 65.70 627.0 -10
+1316 65.75 627.5 -10
+1317 65.80 628.0 -10
+1318 65.85 628.5 -10
+1319 65.90 629.0 -10
+1320 65.95 629.5 -10
+1321 66.00 630.0 -10
+1322 66.05 630.5 -10
+1323 66.10 631.0 -10
+1324 66.15 631.5 -10
+1325 66.20 632.0 -10
+1326 66.25 632.5 -10
+1327 66.30 633.0 -10
+1328 66.35 633.5 -10
+1329 66.40 634.0 -10
+1330 66.45 634.5 -10
+1331 66.50 635.0 -10
+1332 66.55 635.5 -10
+1333 66.60 636.0 -10
+1334 66.65 636.5 -10
+1335 66.70 637.0 -10
+1336 66.75 637.5 -10
+1337 66.80 638.0 -10
+1338 66.85 638.5 -10
+1339 66.90 639.0 -10
+1340 66.95 639.5 -10
+1341 67.00 640.0 -10
+1342 67.05 640.5 -10
+1343 67.10 641.0 -10
+1344 67.15 641.5 -10
+1345 67.20 642.0 -10
+1346 67.25 642.5 -10
+1347 67.30 643.0 -10
+1348 67.35 643.5 -10
+1349 67.40 644.0 -10
+1350 67.45 644.5 -10
+1351 67.50 645.0 -10
+1352 67.55 645.5 -10
+1353 67.60 646.0 -10
+1354 67.65 646.5 -10
+1355 67.70 647.0 -10
+1356 67.75 647.5 -10
+1357 67.80 648.0 -10
+1358 67.85 648.5 -10
+1359 67.90 649.0 -10
+1360 67.95 649.5 -10
+1361 68.00 650.0 -10
+1362 68.05 650.5 -10
+1363 68.10 651.0 -10
+1364 68.15 651.5 -10
+1365 68.20 652.0 -10
+1366 68.25 652.5 -10
+1367 68.30 653.0 -10
+1368 68.35 653.5 -10
+1369 68.40 654.0 -10
+1370 68.45 654.5 -10
+1371 68.50 655.0 -10
+1372 68.55 655.5 -10
+1373 68.60 656.0 -10
+1374 68.65 656.5 -10
+1375 68.70 657.0 -10
+1376 68.75 657.5 -10
+1377 68.80 658.0 -10
+1378 68.85 658.5 -10
+1379 68.90 659.0 -10
+1380 68.95 659.5 -10
+1381 69.00 660.0 -10
+1382 69.05 660.5 -10
+1383 69.10 661.0 -10
+1384 69.15 661.5 -10
+1385 69.20 662.0 -10
+1386 69.25 662.5 -10
+1387 69.30 663.0 -10
+1388 69.35 663.5 -10
+1389 69.40 664.0 -10
+1390 69.45 664.5 -10
+1391 69.50 665.0 -10
+1392 69.55 665.5 -10
+1393 69.60 666.0 -10
+1394 69.65 666.5 -10
+1395 69.70 667.0 -10
+1396 69.75 667.5 -10
+1397 69.80 668.0 -10
+1398 69.85 668.5 -10
+1399 69.90 669.0 -10
+1400 69.95 669.5 -10
+1401 70.00 670.0 -10
+1402 70.05 670.5 -10
+1403 70.10 671.0 -10
+1404 70.15 671.5 -10
+1405 70.20 672.0 -10
+1406 70.25 672.5 -10
+1407 70.30 673.0 -10
+1408 70.35 673.5 -10
+1409 70.40 674.0 -10
+1410 70.45 674.5 -10
+1411 70.50 675.0 -10
+1412 70.55 675.5 -10
+1413 70.60 676.0 -10
+1414 70.65 676.5 -10
+1415 70.70 677.0 -10
+1416 70.75 677.5 -10
+1417 70.80 678.0 -10
+1418 70.85 678.5 -10
+1419 70.90 679.0 -10
+1420 70.95 679.5 -10
+1421 71.00 680.0 -10
+1422 71.05 680.5 -10
+1423 71.10 681.0 -10
+1424 71.15 681.5 -10
+1425 71.20 682.0 -10
+1426 71.25 682.5 -10
+1427 71.30 683.0 -10
+1428 71.35 683.5 -10
+1429 71.40 684.0 -10
+1430 71.45 684.5 -10
+1431 71.50 685.0 -10
+1432 71.55 685.5 -10
+1433 71.60 686.0 -10
+1434 71.65 686.5 -10
+1435 71.70 687.0 -10
+1436 71.75 687.5 -10
+1437 71.80 688.0 -10
+1438 71.85 688.5 -10
+1439 71.90 689.0 -10
+1440 71.95 689.5 -10
+1441 72.00 690.0 -10
+1442 72.05 690.5 -10
+1443 72.10 691.0 -10
+1444 72.15 691.5 -10
+1445 72.20 692.0 -10
+1446 72.25 692.5 -10
+1447 72.30 693.0 -10
+1448 72.35 693.5 -10
+1449 72.40 694.0 -10
+1450 72.45 694.5 -10
+1451 72.50 695.0 -10
+1452 72.55 695.5 -10
+1453 72.60 696.0 -10
+1454 72.65 696.5 -10
+1455 72.70 697.0 -10
+1456 72.75 697.5 -10
+1457 72.80 698.0 -10
+1458 72.85 698.5 -10
+1459 72.90 699.0 -10
+1460 72.95 699.5 -10
+1461 73.00 700.0 -10
+1462 73.05 700.5 -10
+1463 73.10 701.0 -10
+1464 73.15 701.5 -10
+1465 73.20 702.0 -10
+1466 73.25 702.5 -10
+1467 73.30 703.0 -10
+1468 73.35 703.5 -10
+1469 73.40 704.0 -10
+1470 73.45 704.5 -10
+1471 73.50 705.0 -10
+1472 73.55 705.5 -10
+1473 73.60 706.0 -10
+1474 73.65 706.5 -10
+1475 73.70 707.0 -10
+1476 73.75 707.5 -10
+1477 73.80 708.0 -10
+1478 73.85 708.5 -10
+1479 73.90 709.0 -10
+1480 73.95 709.5 -10
+1481 74.00 710.0 -10
+1482 74.05 710.5 -10
+1483 74.10 711.0 -10
+1484 74.15 711.5 -10
+1485 74.20 712.0 -10
+1486 74.25 712.5 -10
+1487 74.30 713.0 -10
+1488 74.35 713.5 -10
+1489 74.40 714.0 -10
+1490 74.45 714.5 -10
+1491 74.50 715.0 -10
+1492 74.55 715.5 -10
+1493 74.60 716.0 -10
+1494 74.65 716.5 -10
+1495 74.70 717.0 -10
+1496 74.75 717.5 -10
+1497 74.80 718.0 -10
+1498 74.85 718.5 -10
+1499 74.90 719.0 -10
+1500 74.95 719.5 -10
+1501 75.00 720.0 -10
+1502 75.05 720.5 -10
+1503 75.10 721.0 -10
+1504 75.15 721.5 -10
+1505 75.20 722.0 -10
+1506 75.25 722.5 -10
+1507 75.30 723.0 -10
+1508 75.35 723.5 -10
+1509 75.40 724.0 -10
+1510 75.45 724.5 -10
+1511 75.50 725.0 -10
+1512 75.55 725.5 -10
+1513 75.60 726.0 -10
+1514 75.65 726.5 -10
+1515 75.70 727.0 -10
+1516 75.75 727.5 -10
+1517 75.80 728.0 -10
+1518 75.85 728.5 -10
+1519 75.90 729.0 -10
+1520 75.95 729.5 -10
+1521 76.00 730.0 -10
+1522 76.05 730.5 -10
+1523 76.10 731.0 -10
+1524 76.15 731.5 -10
+1525 76.20 732.0 -10
+1526 76.25 732.5 -10
+1527 76.30 733.0 -10
+1528 76.35 733.5 -10
+1529 76.40 734.0 -10
+1530 76.45 734.5 -10
+1531 76.50 735.0 -10
+1532 76.55 735.5 -10
+1533 76.60 736.0 -10
+1534 76.65 736.5 -10
+1535 76.70 737.0 -10
+1536 76.75 737.5 -10
+1537 76.80 738.0 -10
+1538 76.85 738.5 -10
+1539 76.90 739.0 -10
+1540 76.95 739.5 -10
+1541 77.00 740.0 -10
+1542 77.05 740.5 -10
+1543 77.10 741.0 -10
+1544 77.15 741.5 -10
+1545 77.20 742.0 -10
+1546 77.25 742.5 -10
+1547 77.30 743.0 -10
+1548 77.35 743.5 -10
+1549 77.40 744.0 -10
+1550 77.45 744.5 -10
+1551 77.50 745.0 -10
+1552 77.55 745.5 -10
+1553 77.60 746.0 -10
+1554 77.65 746.5 -10
+1555 77.70 747.0 -10
+1556 77.75 747.5 -10
+1557 77.80 748.0 -10
+1558 77.85 748.5 -10
+1559 77.90 749.0 -10
+1560 77.95 749.5 -10
+1561 78.00 750.0 -10
+1562 78.05 750.5 -10
+1563 78.10 751.0 -10
+1564 78.15 751.5 -10
+1565 78.20 752.0 -10
+1566 78.25 752.5 -10
+1567 78.30 753.0 -10
+1568 78.35 753.5 -10
+1569 78.40 754.0 -10
+1570 78.45 754.5 -10
+1571 78.50 755.0 -10
+1572 78.55 755.5 -10
+1573 78.60 756.0 -10
+1574 78.65 756.5 -10
+1575 78.70 757.0 -10
+1576 78.75 757.5 -10
+1577 78.80 758.0 -10
+1578 78.85 758.5 -10
+1579 78.90 759.0 -10
+1580 78.95 759.5 -10
+1581 79.00 760.0 -10
+1582 79.05 760.5 -10
+1583 79.10 761.0 -10
+1584 79.15 761.5 -10
+1585 79.20 762.0 -10
+1586 79.25 762.5 -10
+1587 79.30 763.0 -10
+1588 79.35 763.5 -10
+1589 79.40 764.0 -10
+1590 79.45 764.5 -10
+1591 79.50 765.0 -10
+1592 79.55 765.5 -10
+1593 79.60 766.0 -10
+1594 79.65 766.5 -10
+1595 79.70 767.0 -10
+1596 79.75 767.5 -10
+1597 79.80 768.0 -10
+1598 79.85 768.5 -10
+1599 79.90 769.0 -10
+1600 79.95 769.5 -10
+1601 80.00 770.0 -10
+1602 80.05 770.5 -10
+1603 80.10 771.0 -10
+1604 80.15 771.5 -10
+1605 80.20 772.0 -10
+1606 80.25 772.5 -10
+1607 80.30 773.0 -10
+1608 80.35 773.5 -10
+1609 80.40 774.0 -10
+1610 80.45 774.5 -10
+1611 80.50 775.0 -10
+1612 80.55 775.5 -10
+1613 80.60 776.0 -10
+1614 80.65 776.5 -10
+1615 80.70 777.0 -10
+1616 80.75 777.5 -10
+1617 80.80 778.0 -10
+1618 80.85 778.5 -10
+1619 80.90 779.0 -10
+1620 80.95 779.5 -10
+1621 81.00 780.0 -10
+1622 81.05 780.5 -10
+1623 81.10 781.0 -10
+1624 81.15 781.5 -10
+1625 81.20 782.0 -10
+1626 81.25 782.5 -10
+1627 81.30 783.0 -10
+1628 81.35 783.5 -10
+1629 81.40 784.0 -10
+1630 81.45 784.5 -10
+1631 81.50 785.0 -10
+1632 81.55 785.5 -10
+1633 81.60 786.0 -10
+1634 81.65 786.5 -10
+1635 81.70 787.0 -10
+1636 81.75 787.5 -10
+1637 81.80 788.0 -10
+1638 81.85 788.5 -10
+1639 81.90 789.0 -10
+1640 81.95 789.5 -10
+1641 82.00 790.0 -10
+1642 82.05 790.5 -10
+1643 82.10 791.0 -10
+1644 82.15 791.5 -10
+1645 82.20 792.0 -10
+1646 82.25 792.5 -10
+1647 82.30 793.0 -10
+1648 82.35 793.5 -10
+1649 82.40 794.0 -10
+1650 82.45 794.5 -10
+1651 82.50 795.0 -10
+1652 82.55 795.5 -10
+1653 82.60 796.0 -10
+1654 82.65 796.5 -10
+1655 82.70 797.0 -10
+1656 82.75 797.5 -10
+1657 82.80 798.0 -10
+1658 82.85 798.5 -10
+1659 82.90 799.0 -10
+1660 82.95 799.5 -10
+1661 83.00 800.0 -10
+1662 83.05 800.5 -10
+1663 83.10 801.0 -10
+1664 83.15 801.5 -10
+1665 83.20 802.0 -10
+1666 83.25 802.5 -10
+1667 83.30 803.0 -10
+1668 83.35 803.5 -10
+1669 83.40 804.0 -10
+1670 83.45 804.5 -10
+1671 83.50 805.0 -10
+1672 83.55 805.5 -10
+1673 83.60 806.0 -10
+1674 83.65 806.5 -10
+1675 83.70 807.0 -10
+1676 83.75 807.5 -10
+1677 83.80 808.0 -10
+1678 83.85 808.5 -10
+1679 83.90 809.0 -10
+1680 83.95 809.5 -10
+1681 84.00 810.0 -10
+1682 84.05 810.5 -10
+1683 84.10 811.0 -10
+1684 84.15 811.5 -10
+1685 84.20 812.0 -10
+1686 84.25 812.5 -10
+1687 84.30 813.0 -10
+1688 84.35 813.5 -10
+1689 84.40 814.0 -10
+1690 84.45 814.5 -10
+1691 84.50 815.0 -10
+1692 84.55 815.5 -10
+1693 84.60 816.0 -10
+1694 84.65 816.5 -10
+1695 84.70 817.0 -10
+1696 84.75 817.5 -10
+1697 84.80 818.0 -10
+1698 84.85 818.5 -10
+1699 84.90 819.0 -10
+1700 84.95 819.5 -10
+1701 85.00 820.0 -10
+1702 85.05 820.5 -10
+1703 85.10 821.0 -10
+1704 85.15 821.5 -10
+1705 85.20 822.0 -10
+1706 85.25 822.5 -10
+1707 85.30 823.0 -10
+1708 85.35 823.5 -10
+1709 85.40 824.0 -10
+1710 85.45 824.5 -10
+1711 85.50 825.0 -10
+1712 85.55 825.5 -10
+1713 85.60 826.0 -10
+1714 85.65 826.5 -10
+1715 85.70 827.0 -10
+1716 85.75 827.5 -10
+1717 85.80 828.0 -10
+1718 85.85 828.5 -10
+1719 85.90 829.0 -10
+1720 85.95 829.5 -10
+1721 86.00 830.0 -10
+1722 86.05 830.5 -10
+1723 86.10 831.0 -10
+1724 86.15 831.5 -10
+1725 86.20 832.0 -10
+1726 86.25 832.5 -10
+1727 86.30 833.0 -10
+1728 86.35 833.5 -10
+1729 86.40 834.0 -10
+1730 86.45 834.5 -10
+1731 86.50 835.0 -10
+1732 86.55 835.5 -10
+1733 86.60 836.0 -10
+1734 86.65 836.5 -10
+1735 86.70 837.0 -10
+1736 86.75 837.5 -10
+1737 86.80 838.0 -10
+1738 86.85 838.5 -10
+1739 86.90 839.0 -10
+1740 86.95 839.5 -10
+1741 87.00 840.0 -10
+1742 87.05 840.5 -10
+1743 87.10 841.0 -10
+1744 87.15 841.5 -10
+1745 87.20 842.0 -10
+1746 87.25 842.5 -10
+1747 87.30 843.0 -10
+1748 87.35 843.5 -10
+1749 87.40 844.0 -10
+1750 87.45 844.5 -10
+1751 87.50 845.0 -10
+1752 87.55 845.5 -10
+1753 87.60 846.0 -10
+1754 87.65 846.5 -10
+1755 87.70 847.0 -10
+1756 87.75 847.5 -10
+1757 87.80 848.0 -10
+1758 87.85 848.5 -10
+1759 87.90 849.0 -10
+1760 87.95 849.5 -10
+1761 88.00 850.0 -10
+1762 88.05 850.5 -10
+1763 88.10 851.0 -10
+1764 88.15 851.5 -10
+1765 88.20 852.0 -10
+1766 88.25 852.5 -10
+1767 88.30 853.0 -10
+1768 88.35 853.5 -10
+1769 88.40 854.0 -10
+1770 88.45 854.5 -10
+1771 88.50 855.0 -10
+1772 88.55 855.5 -10
+1773 88.60 856.0 -10
+1774 88.65 856.5 -10
+1775 88.70 857.0 -10
+1776 88.75 857.5 -10
+1777 88.80 858.0 -10
+1778 88.85 858.5 -10
+1779 88.90 859.0 -10
+1780 88.95 859.5 -10
+1781 89.00 860.0 -10
+1782 89.05 860.5 -10
+1783 89.10 861.0 -10
+1784 89.15 861.5 -10
+1785 89.20 862.0 -10
+1786 89.25 862.5 -10
+1787 89.30 863.0 -10
+1788 89.35 863.5 -10
+1789 89.40 864.0 -10
+1790 89.45 864.5 -10
+1791 89.50 865.0 -10
+1792 89.55 865.5 -10
+1793 89.60 866.0 -10
+1794 89.65 866.5 -10
+1795 89.70 867.0 -10
+1796 89.75 867.5 -10
+1797 89.80 868.0 -10
+1798 89.85 868.5 -10
+1799 89.90 869.0 -10
+1800 89.95 869.5 -10
+1801 90.00 870.0 -10
+1802 90.05 870.5 -10
+1803 90.10 871.0 -10
+1804 90.15 871.5 -10
+1805 90.20 872.0 -10
+1806 90.25 872.5 -10
+1807 90.30 873.0 -10
+1808 90.35 873.5 -10
+1809 90.40 874.0 -10
+1810 90.45 874.5 -10
+1811 90.50 875.0 -10
+1812 90.55 875.5 -10
+1813 90.60 876.0 -10
+1814 90.65 876.5 -10
+1815 90.70 877.0 -10
+1816 90.75 877.5 -10
+1817 90.80 878.0 -10
+1818 90.85 878.5 -10
+1819 90.90 879.0 -10
+1820 90.95 879.5 -10
+1821 91.00 880.0 -10
+1822 91.05 880.5 -10
+1823 91.10 881.0 -10
+1824 91.15 881.5 -10
+1825 91.20 882.0 -10
+1826 91.25 882.5 -10
+1827 91.30 883.0 -10
+1828 91.35 883.5 -10
+1829 91.40 884.0 -10
+1830 91.45 884.5 -10
+1831 91.50 885.0 -10
+1832 91.55 885.5 -10
+1833 91.60 886.0 -10
+1834 91.65 886.5 -10
+1835 91.70 887.0 -10
+1836 91.75 887.5 -10
+1837 91.80 888.0 -10
+1838 91.85 888.5 -10
+1839 91.90 889.0 -10
+1840 91.95 889.5 -10
+1841 92.00 890.0 -10
+1842 92.05 890.5 -10
+1843 92.10 891.0 -10
+1844 92.15 891.5 -10
+1845 92.20 892.0 -10
+1846 92.25 892.5 -10
+1847 92.30 893.0 -10
+1848 92.35 893.5 -10
+1849 92.40 894.0 -10
+1850 92.45 894.5 -10
+1851 92.50 895.0 -10
+1852 92.55 895.5 -10
+1853 92.60 896.0 -10
+1854 92.65 896.5 -10
+1855 92.70 897.0 -10
+1856 92.75 897.5 -10
+1857 92.80 898.0 -10
+1858 92.85 898.5 -10
+1859 92.90 899.0 -10
+1860 92.95 899.5 -10
+1861 93.00 900.0 -10
+1862 93.05 900.5 -10
+1863 93.10 901.0 -10
+1864 93.15 901.5 -10
+1865 93.20 902.0 -10
+1866 93.25 902.5 -10
+1867 93.30 903.0 -10
+1868 93.35 903.5 -10
+1869 93.40 904.0 -10
+1870 93.45 904.5 -10
+1871 93.50 905.0 -10
+1872 93.55 905.5 -10
+1873 93.60 906.0 -10
+1874 93.65 906.5 -10
+1875 93.70 907.0 -10
+1876 93.75 907.5 -10
+1877 93.80 908.0 -10
+1878 93.85 908.5 -10
+1879 93.90 909.0 -10
+1880 93.95 909.5 -10
+1881 94.00 910.0 -10
+1882 94.05 910.5 -10
+1883 94.10 911.0 -10
+1884 94.15 911.5 -10
+1885 94.20 912.0 -10
+1886 94.25 912.5 -10
+1887 94.30 913.0 -10
+1888 94.35 913.5 -10
+1889 94.40 914.0 -10
+1890 94.45 914.5 -10
+1891 94.50 915.0 -10
+1892 94.55 915.5 -10
+1893 94.60 916.0 -10
+1894 94.65 916.5 -10
+1895 94.70 917.0 -10
+1896 94.75 917.5 -10
+1897 94.80 918.0 -10
+1898 94.85 918.5 -10
+1899 94.90 919.0 -10
+1900 94.95 919.5 -10
+1901 95.00 920.0 -10
+1902 95.05 920.5 -10
+1903 95.10 921.0 -10
+1904 95.15 921.5 -10
+1905 95.20 922.0 -10
+1906 95.25 922.5 -10
+1907 95.30 923.0 -10
+1908 95.35 923.5 -10
+1909 95.40 924.0 -10
+1910 95.45 924.5 -10
+1911 95.50 925.0 -10
+1912 95.55 925.5 -10
+1913 95.60 926.0 -10
+1914 95.65 926.5 -10
+1915 95.70 927.0 -10
+1916 95.75 927.5 -10
+1917 95.80 928.0 -10
+1918 95.85 928.5 -10
+1919 95.90 929.0 -10
+1920 95.95 929.5 -10
+1921 96.00 930.0 -10
+1922 96.05 930.5 -10
+1923 96.10 931.0 -10
+1924 96.15 931.5 -10
+1925 96.20 932.0 -10
+1926 96.25 932.5 -10
+1927 96.30 933.0 -10
+1928 96.35 933.5 -10
+1929 96.40 934.0 -10
+1930 96.45 934.5 -10
+1931 96.50 935.0 -10
+1932 96.55 935.5 -10
+1933 96.60 936.0 -10
+1934 96.65 936.5 -10
+1935 96.70 937.0 -10
+1936 96.75 937.5 -10
+1937 96.80 938.0 -10
+1938 96.85 938.5 -10
+1939 96.90 939.0 -10
+1940 96.95 939.5 -10
+1941 97.00 940.0 -10
+1942 97.05 940.5 -10
+1943 97.10 941.0 -10
+1944 97.15 941.5 -10
+1945 97.20 942.0 -10
+1946 97.25 942.5 -10
+1947 97.30 943.0 -10
+1948 97.35 943.5 -10
+1949 97.40 944.0 -10
+1950 97.45 944.5 -10
+1951 97.50 945.0 -10
+1952 97.55 945.5 -10
+1953 97.60 946.0 -10
+1954 97.65 946.5 -10
+1955 97.70 947.0 -10
+1956 97.75 947.5 -10
+1957 97.80 948.0 -10
+1958 97.85 948.5 -10
+1959 97.90 949.0 -10
+1960 97.95 949.5 -10
+1961 98.00 950.0 -10
+1962 98.05 950.5 -10
+1963 98.10 951.0 -10
+1964 98.15 951.5 -10
+1965 98.20 952.0 -10
+1966 98.25 952.5 -10
+1967 98.30 953.0 -10
+1968 98.35 953.5 -10
+1969 98.40 954.0 -10
+1970 98.45 954.5 -10
+1971 98.50 955.0 -10
+1972 98.55 955.5 -10
+1973 98.60 956.0 -10
+1974 98.65 956.5 -10
+1975 98.70 957.0 -10
+1976 98.75 957.5 -10
+1977 98.80 958.0 -10
+1978 98.85 958.5 -10
+1979 98.90 959.0 -10
+1980 98.95 959.5 -10
+1981 99.00 960.0 -10
+1982 99.05 960.5 -10
+1983 99.10 961.0 -10
+1984 99.15 961.5 -10
+1985 99.20 962.0 -10
+1986 99.25 962.5 -10
+1987 99.30 963.0 -10
+1988 99.35 963.5 -10
+1989 99.40 964.0 -10
+1990 99.45 964.5 -10
+1991 99.50 965.0 -10
+1992 99.55 965.5 -10
+1993 99.60 966.0 -10
+1994 99.65 966.5 -10
+1995 99.70 967.0 -10
+1996 99.75 967.5 -10
+1997 99.80 968.0 -10
+1998 99.85 968.5 -10
+1999 99.90 969.0 -10
+2000 99.95 969.5 -10
+2001 100.00 970.0 -10
+2002 100.05 970.5 -10
+2003 100.10 971.0 -10
+2004 100.15 971.5 -10
+2005 100.20 972.0 -10
+2006 100.25 972.5 -10
+2007 100.30 973.0 -10
+2008 100.35 973.5 -10
+2009 100.40 974.0 -10
+2010 100.45 974.5 -10
+2011 100.50 975.0 -10
+2012 100.55 975.5 -10
+2013 100.60 976.0 -10
+2014 100.65 976.5 -10
+2015 100.70 977.0 -10
+2016 100.75 977.5 -10
+2017 100.80 978.0 -10
+2018 100.85 978.5 -10
+2019 100.90 979.0 -10
+2020 100.95 979.5 -10
+2021 101.00 980.0 -10
+2022 101.05 980.5 -10
+2023 101.10 981.0 -10
+2024 101.15 981.5 -10
+2025 101.20 982.0 -10
+2026 101.25 982.5 -10
+2027 101.30 983.0 -10
+2028 101.35 983.5 -10
+2029 101.40 984.0 -10
+2030 101.45 984.5 -10
+2031 101.50 985.0 -10
+2032 101.55 985.5 -10
+2033 101.60 986.0 -10
+2034 101.65 986.5 -10
+2035 101.70 987.0 -10
+2036 101.75 987.5 -10
+2037 101.80 988.0 -10
+2038 101.85 988.5 -10
+2039 101.90 989.0 -10
+2040 101.95 989.5 -10
+2041 102.00 990.0 -10
+2042 102.05 990.5 -10
+2043 102.10 991.0 -10
+2044 102.15 991.5 -10
+2045 102.20 992.0 -10
+2046 102.25 992.5 -10
+2047 102.30 993.0 -10
+2048 102.35 993.5 -10
+2049 102.40 994.0 -10
+2050 102.45 994.5 -10
+2051 102.50 995.0 -10
+2052 102.55 995.5 -10
+2053 102.60 996.0 -10
+2054 102.65 996.5 -10
+2055 102.70 997.0 -10
+2056 102.75 997.5 -10
+2057 102.80 998.0 -10
+2058 102.85 998.5 -10
+2059 102.90 999.0 -10
+2060 102.95 999.5 -10
+2061 103.00 1000.0 -10
+2062 103.05 1000.5 -10
+2063 103.10 1001.0 -10
+2064 103.15 1001.5 -10
+2065 103.20 1002.0 -10
+2066 103.25 1002.5 -10
+2067 103.30 1003.0 -10
+2068 103.35 1003.5 -10
+2069 103.40 1004.0 -10
+2070 103.45 1004.5 -10
+2071 103.50 1005.0 -10
+2072 103.55 1005.5 -10
+2073 103.60 1006.0 -10
+2074 103.65 1006.5 -10
+2075 103.70 1007.0 -10
+2076 103.75 1007.5 -10
+2077 103.80 1008.0 -10
+2078 103.85 1008.5 -10
+2079 103.90 1009.0 -10
+2080 103.95 1009.5 -10
+2081 104.00 1010.0 -10
+2082 104.05 1010.5 -10
+2083 104.10 1011.0 -10
+2084 104.15 1011.5 -10
+2085 104.20 1012.0 -10
+2086 104.25 1012.5 -10
+2087 104.30 1013.0 -10
+2088 104.35 1013.5 -10
+2089 104.40 1014.0 -10
+2090 104.45 1014.5 -10
+2091 104.50 1015.0 -10
+2092 104.55 1015.5 -10
+2093 104.60 1016.0 -10
+2094 104.65 1016.5 -10
+2095 104.70 1017.0 -10
+2096 104.75 1017.5 -10
+2097 104.80 1018.0 -10
+2098 104.85 1018.5 -10
+2099 104.90 1019.0 -10
+2100 104.95 1019.5 -10
+2101 105.00 1020.0 -10
+2102 105.05 1020.5 -10
+2103 105.10 1021.0 -10
+2104 105.15 1021.5 -10
+2105 105.20 1022.0 -10
+2106 105.25 1022.5 -10
+2107 105.30 1023.0 -10
+2108 105.35 1023.5 -10
+2109 105.40 1024.0 -10
+2110 105.45 1024.5 -10
+2111 105.50 1025.0 -10
+2112 105.55 1025.5 -10
+2113 105.60 1026.0 -10
+2114 105.65 1026.5 -10
+2115 105.70 1027.0 -10
+2116 105.75 1027.5 -10
+2117 105.80 1028.0 -10
+2118 105.85 1028.5 -10
+2119 105.90 1029.0 -10
+2120 105.95 1029.5 -10
+2121 106.00 1030.0 -10
+2122 106.05 1030.5 -10
+2123 106.10 1031.0 -10
+2124 106.15 1031.5 -10
+2125 106.20 1032.0 -10
+2126 106.25 1032.5 -10
+2127 106.30 1033.0 -10
+2128 106.35 1033.5 -10
+2129 106.40 1034.0 -10
+2130 106.45 1034.5 -10
+2131 106.50 1035.0 -10
+2132 106.55 1035.5 -10
+2133 106.60 1036.0 -10
+2134 106.65 1036.5 -10
+2135 106.70 1037.0 -10
+2136 106.75 1037.5 -10
+2137 106.80 1038.0 -10
+2138 106.85 1038.5 -10
+2139 106.90 1039.0 -10
+2140 106.95 1039.5 -10
+2141 107.00 1040.0 -10
+2142 107.05 1040.5 -10
+2143 107.10 1041.0 -10
+2144 107.15 1041.5 -10
+2145 107.20 1042.0 -10
+2146 107.25 1042.5 -10
+2147 107.30 1043.0 -10
+2148 107.35 1043.5 -10
+2149 107.40 1044.0 -10
+2150 107.45 1044.5 -10
+2151 107.50 1045.0 -10
+2152 107.55 1045.5 -10
+2153 107.60 1046.0 -10
+2154 107.65 1046.5 -10
+2155 107.70 1047.0 -10
+2156 107.75 1047.5 -10
+2157 107.80 1048.0 -10
+2158 107.85 1048.5 -10
+2159 107.90 1049.0 -10
+2160 107.95 1049.5 -10
+2161 108.00 1050.0 -10
+2162 108.05 1050.5 -10
+2163 108.10 1051.0 -10
+2164 108.15 1051.5 -10
+2165 108.20 1052.0 -10
+2166 108.25 1052.5 -10
+2167 108.30 1053.0 -10
+2168 108.35 1053.5 -10
+2169 108.40 1054.0 -10
+2170 108.45 1054.5 -10
+2171 108.50 1055.0 -10
+2172 108.55 1055.5 -10
+2173 108.60 1056.0 -10
+2174 108.65 1056.5 -10
+2175 108.70 1057.0 -10
+2176 108.75 1057.5 -10
+2177 108.80 1058.0 -10
+2178 108.85 1058.5 -10
+2179 108.90 1059.0 -10
+2180 108.95 1059.5 -10
+2181 109.00 1060.0 -10
+2182 109.05 1060.5 -10
+2183 109.10 1061.0 -10
+2184 109.15 1061.5 -10
+2185 109.20 1062.0 -10
+2186 109.25 1062.5 -10
+2187 109.30 1063.0 -10
+2188 109.35 1063.5 -10
+2189 109.40 1064.0 -10
+2190 109.45 1064.5 -10
+2191 109.50 1065.0 -10
+2192 109.55 1065.5 -10
+2193 109.60 1066.0 -10
+2194 109.65 1066.5 -10
+2195 109.70 1067.0 -10
+2196 109.75 1067.5 -10
+2197 109.80 1068.0 -10
+2198 109.85 1068.5 -10
+2199 109.90 1069.0 -10
+2200 109.95 1069.5 -10
+2201 110.00 1070.0 -10
+2202 110.05 1070.5 -10
+2203 110.10 1071.0 -10
+2204 110.15 1071.5 -10
+2205 110.20 1072.0 -10
+2206 110.25 1072.5 -10
+2207 110.30 1073.0 -10
+2208 110.35 1073.5 -10
+2209 110.40 1074.0 -10
+2210 110.45 1074.5 -10
+2211 110.50 1075.0 -10
+2212 110.55 1075.5 -10
+2213 110.60 1076.0 -10
+2214 110.65 1076.5 -10
+2215 110.70 1077.0 -10
+2216 110.75 1077.5 -10
+2217 110.80 1078.0 -10
+2218 110.85 1078.5 -10
+2219 110.90 1079.0 -10
+2220 110.95 1079.5 -10
+2221 111.00 1080.0 -10
+2222 111.05 1080.5 -10
+2223 111.10 1081.0 -10
+2224 111.15 1081.5 -10
+2225 111.20 1082.0 -10
+2226 111.25 1082.5 -10
+2227 111.30 1083.0 -10
+2228 111.35 1083.5 -10
+2229 111.40 1084.0 -10
+2230 111.45 1084.5 -10
+2231 111.50 1085.0 -10
+2232 111.55 1085.5 -10
+2233 111.60 1086.0 -10
+2234 111.65 1086.5 -10
+2235 111.70 1087.0 -10
+2236 111.75 1087.5 -10
+2237 111.80 1088.0 -10
+2238 111.85 1088.5 -10
+2239 111.90 1089.0 -10
+2240 111.95 1089.5 -10
+2241 112.00 1090.0 -10
+2242 112.05 1090.5 -10
+2243 112.10 1091.0 -10
+2244 112.15 1091.5 -10
+2245 112.20 1092.0 -10
+2246 112.25 1092.5 -10
+2247 112.30 1093.0 -10
+2248 112.35 1093.5 -10
+2249 112.40 1094.0 -10
+2250 112.45 1094.5 -10
+2251 112.50 1095.0 -10
+2252 112.55 1095.5 -10
+2253 112.60 1096.0 -10
+2254 112.65 1096.5 -10
+2255 112.70 1097.0 -10
+2256 112.75 1097.5 -10
+2257 112.80 1098.0 -10
+2258 112.85 1098.5 -10
+2259 112.90 1099.0 -10
+2260 112.95 1099.5 -10
+2261 113.00 1100.0 -10
+2262 113.05 1100.5 -10
+2263 113.10 1101.0 -10
+2264 113.15 1101.5 -10
+2265 113.20 1102.0 -10
+2266 113.25 1102.5 -10
+2267 113.30 1103.0 -10
+2268 113.35 1103.5 -10
+2269 113.40 1104.0 -10
+2270 113.45 1104.5 -10
+2271 113.50 1105.0 -10
+2272 113.55 1105.5 -10
+2273 113.60 1106.0 -10
+2274 113.65 1106.5 -10
+2275 113.70 1107.0 -10
+2276 113.75 1107.5 -10
+2277 113.80 1108.0 -10
+2278 113.85 1108.5 -10
+2279 113.90 1109.0 -10
+2280 113.95 1109.5 -10
+2281 114.00 1110.0 -10
+2282 114.05 1110.5 -10
+2283 114.10 1111.0 -10
+2284 114.15 1111.5 -10
+2285 114.20 1112.0 -10
+2286 114.25 1112.5 -10
+2287 114.30 1113.0 -10
+2288 114.35 1113.5 -10
+2289 114.40 1114.0 -10
+2290 114.45 1114.5 -10
+2291 114.50 1115.0 -10
+2292 114.55 1115.5 -10
+2293 114.60 1116.0 -10
+2294 114.65 1116.5 -10
+2295 114.70 1117.0 -10
+2296 114.75 1117.5 -10
+2297 114.80 1118.0 -10
+2298 114.85 1118.5 -10
+2299 114.90 1119.0 -10
+2300 114.95 1119.5 -10
+2301 115.00 1120.0 -10
+2302 115.05 1120.5 -10
+2303 115.10 1121.0 -10
+2304 115.15 1121.5 -10
+2305 115.20 1122.0 -10
+2306 115.25 1122.5 -10
+2307 115.30 1123.0 -10
+2308 115.35 1123.5 -10
+2309 115.40 1124.0 -10
+2310 115.45 1124.5 -10
+2311 115.50 1125.0 -10
+2312 115.55 1125.5 -10
+2313 115.60 1126.0 -10
+2314 115.65 1126.5 -10
+2315 115.70 1127.0 -10
+2316 115.75 1127.5 -10
+2317 115.80 1128.0 -10
+2318 115.85 1128.5 -10
+2319 115.90 1129.0 -10
+2320 115.95 1129.5 -10
+2321 116.00 1130.0 -10
+2322 116.05 1130.5 -10
+2323 116.10 1131.0 -10
+2324 116.15 1131.5 -10
+2325 116.20 1132.0 -10
+2326 116.25 1132.5 -10
+2327 116.30 1133.0 -10
+2328 116.35 1133.5 -10
+2329 116.40 1134.0 -10
+2330 116.45 1134.5 -10
+2331 116.50 1135.0 -10
+2332 116.55 1135.5 -10
+2333 116.60 1136.0 -10
+2334 116.65 1136.5 -10
+2335 116.70 1137.0 -10
+2336 116.75 1137.5 -10
+2337 116.80 1138.0 -10
+2338 116.85 1138.5 -10
+2339 116.90 1139.0 -10
+2340 116.95 1139.5 -10
+2341 117.00 1140.0 -10
+2342 117.05 1140.5 -10
+2343 117.10 1141.0 -10
+2344 117.15 1141.5 -10
+2345 117.20 1142.0 -10
+2346 117.25 1142.5 -10
+2347 117.30 1143.0 -10
+2348 117.35 1143.5 -10
+2349 117.40 1144.0 -10
+2350 117.45 1144.5 -10
+2351 117.50 1145.0 -10
+2352 117.55 1145.5 -10
+2353 117.60 1146.0 -10
+2354 117.65 1146.5 -10
+2355 117.70 1147.0 -10
+2356 117.75 1147.5 -10
+2357 117.80 1148.0 -10
+2358 117.85 1148.5 -10
+2359 117.90 1149.0 -10
+2360 117.95 1149.5 -10
+2361 118.00 1150.0 -10
+2362 118.05 1150.5 -10
+2363 118.10 1151.0 -10
+2364 118.15 1151.5 -10
+2365 118.20 1152.0 -10
+2366 118.25 1152.5 -10
+2367 118.30 1153.0 -10
+2368 118.35 1153.5 -10
+2369 118.40 1154.0 -10
+2370 118.45 1154.5 -10
+2371 118.50 1155.0 -10
+2372 118.55 1155.5 -10
+2373 118.60 1156.0 -10
+2374 118.65 1156.5 -10
+2375 118.70 1157.0 -10
+2376 118.75 1157.5 -10
+2377 118.80 1158.0 -10
+2378 118.85 1158.5 -10
+2379 118.90 1159.0 -10
+2380 118.95 1159.5 -10
+2381 119.00 1160.0 -10
+2382 119.05 1160.5 -10
+2383 119.10 1161.0 -10
+2384 119.15 1161.5 -10
+2385 119.20 1162.0 -10
+2386 119.25 1162.5 -10
+2387 119.30 1163.0 -10
+2388 119.35 1163.5 -10
+2389 119.40 1164.0 -10
+2390 119.45 1164.5 -10
+2391 119.50 1165.0 -10
+2392 119.55 1165.5 -10
+2393 119.60 1166.0 -10
+2394 119.65 1166.5 -10
+2395 119.70 1167.0 -10
+2396 119.75 1167.5 -10
+2397 119.80 1168.0 -10
+2398 119.85 1168.5 -10
+2399 119.90 1169.0 -10
+2400 119.95 1169.5 -10
+2401 120.00 1170.0 -10
+2402 120.05 1170.5 -10
+2403 120.10 1171.0 -10
+2404 120.15 1171.5 -10
+2405 120.20 1172.0 -10
+2406 120.25 1172.5 -10
+2407 120.30 1173.0 -10
+2408 120.35 1173.5 -10
+2409 120.40 1174.0 -10
+2410 120.45 1174.5 -10
+2411 120.50 1175.0 -10
+2412 120.55 1175.5 -10
+2413 120.60 1176.0 -10
+2414 120.65 1176.5 -10
+2415 120.70 1177.0 -10
+2416 120.75 1177.5 -10
+2417 120.80 1178.0 -10
+2418 120.85 1178.5 -10
+2419 120.90 1179.0 -10
+2420 120.95 1179.5 -10
+2421 121.00 1180.0 -10
+2422 121.05 1180.5 -10
+2423 121.10 1181.0 -10
+2424 121.15 1181.5 -10
+2425 121.20 1182.0 -10
+2426 121.25 1182.5 -10
+2427 121.30 1183.0 -10
+2428 121.35 1183.5 -10
+2429 121.40 1184.0 -10
+2430 121.45 1184.5 -10
+2431 121.50 1185.0 -10
+2432 121.55 1185.5 -10
+2433 121.60 1186.0 -10
+2434 121.65 1186.5 -10
+2435 121.70 1187.0 -10
+2436 121.75 1187.5 -10
+2437 121.80 1188.0 -10
+2438 121.85 1188.5 -10
+2439 121.90 1189.0 -10
+2440 121.95 1189.5 -10
+2441 122.00 1190.0 -10
+2442 122.05 1190.5 -10
+2443 122.10 1191.0 -10
+2444 122.15 1191.5 -10
+2445 122.20 1192.0 -10
+2446 122.25 1192.5 -10
+2447 122.30 1193.0 -10
+2448 122.35 1193.5 -10
+2449 122.40 1194.0 -10
+2450 122.45 1194.5 -10
+2451 122.50 1195.0 -10
+2452 122.55 1195.5 -10
+2453 122.60 1196.0 -10
+2454 122.65 1196.5 -10
+2455 122.70 1197.0 -10
+2456 122.75 1197.5 -10
+2457 122.80 1198.0 -10
+2458 122.85 1198.5 -10
+2459 122.90 1199.0 -10
+2460 122.95 1199.5 -10
+2461 123.00 1200.0 -10
+2462 123.05 1200.5 -10
+2463 123.10 1201.0 -10
+2464 123.15 1201.5 -10
+2465 123.20 1202.0 -10
+2466 123.25 1202.5 -10
+2467 123.30 1203.0 -10
+2468 123.35 1203.5 -10
+2469 123.40 1204.0 -10
+2470 123.45 1204.5 -10
+2471 123.50 1205.0 -10
+2472 123.55 1205.5 -10
+2473 123.60 1206.0 -10
+2474 123.65 1206.5 -10
+2475 123.70 1207.0 -10
+2476 123.75 1207.5 -10
+2477 123.80 1208.0 -10
+2478 123.85 1208.5 -10
+2479 123.90 1209.0 -10
+2480 123.95 1209.5 -10
+2481 124.00 1210.0 -10
+2482 124.05 1210.5 -10
+2483 124.10 1211.0 -10
+2484 124.15 1211.5 -10
+2485 124.20 1212.0 -10
+2486 124.25 1212.5 -10
+2487 124.30 1213.0 -10
+2488 124.35 1213.5 -10
+2489 124.40 1214.0 -10
+2490 124.45 1214.5 -10
+2491 124.50 1215.0 -10
+2492 124.55 1215.5 -10
+2493 124.60 1216.0 -10
+2494 124.65 1216.5 -10
+2495 124.70 1217.0 -10
+2496 124.75 1217.5 -10
+2497 124.80 1218.0 -10
+2498 124.85 1218.5 -10
+2499 124.90 1219.0 -10
+2500 124.95 1219.5 -10
+2501 125.00 1220.0 -10
+2502 125.05 1220.5 -10
+2503 125.10 1221.0 -10
+2504 125.15 1221.5 -10
+2505 125.20 1222.0 -10
+2506 125.25 1222.5 -10
+2507 125.30 1223.0 -10
+2508 125.35 1223.5 -10
+2509 125.40 1224.0 -10
+2510 125.45 1224.5 -10
+2511 125.50 1225.0 -10
+2512 125.55 1225.5 -10
+2513 125.60 1226.0 -10
+2514 125.65 1226.5 -10
+2515 125.70 1227.0 -10
+2516 125.75 1227.5 -10
+2517 125.80 1228.0 -10
+2518 125.85 1228.5 -10
+2519 125.90 1229.0 -10
+2520 125.95 1229.5 -10
+2521 126.00 1230.0 -10
+2522 126.05 1230.5 -10
+2523 126.10 1231.0 -10
+2524 126.15 1231.5 -10
+2525 126.20 1232.0 -10
+2526 126.25 1232.5 -10
+2527 126.30 1233.0 -10
+2528 126.35 1233.5 -10
+2529 126.40 1234.0 -10
+2530 126.45 1234.5 -10
+2531 126.50 1235.0 -10
+2532 126.55 1235.5 -10
+2533 126.60 1236.0 -10
+2534 126.65 1236.5 -10
+2535 126.70 1237.0 -10
+2536 126.75 1237.5 -10
+2537 126.80 1238.0 -10
+2538 126.85 1238.5 -10
+2539 126.90 1239.0 -10
+2540 126.95 1239.5 -10
+2541 127.00 1240.0 -10
+2542 127.05 1240.5 -10
+2543 127.10 1241.0 -10
+2544 127.15 1241.5 -10
+2545 127.20 1242.0 -10
+2546 127.25 1242.5 -10
+2547 127.30 1243.0 -10
+2548 127.35 1243.5 -10
+2549 127.40 1244.0 -10
+2550 127.45 1244.5 -10
+2551 127.50 1245.0 -10
+2552 127.55 1245.5 -10
+2553 127.60 1246.0 -10
+2554 127.65 1246.5 -10
+2555 127.70 1247.0 -10
+2556 127.75 1247.5 -10
+2557 127.80 1248.0 -10
+2558 127.85 1248.5 -10
+2559 127.90 1249.0 -10
+2560 127.95 1249.5 -10
+2561 128.00 1250.0 -10
+2562 128.05 1250.5 -10
+2563 128.10 1251.0 -10
+2564 128.15 1251.5 -10
+2565 128.20 1252.0 -10
+2566 128.25 1252.5 -10
+2567 128.30 1253.0 -10
+2568 128.35 1253.5 -10
+2569 128.40 1254.0 -10
+2570 128.45 1254.5 -10
+2571 128.50 1255.0 -10
+2572 128.55 1255.5 -10
+2573 128.60 1256.0 -10
+2574 128.65 1256.5 -10
+2575 128.70 1257.0 -10
+2576 128.75 1257.5 -10
+2577 128.80 1258.0 -10
+2578 128.85 1258.5 -10
+2579 128.90 1259.0 -10
+2580 128.95 1259.5 -10
+2581 129.00 1260.0 -10
+2582 129.05 1260.5 -10
+2583 129.10 1261.0 -10
+2584 129.15 1261.5 -10
+2585 129.20 1262.0 -10
+2586 129.25 1262.5 -10
+2587 129.30 1263.0 -10
+2588 129.35 1263.5 -10
+2589 129.40 1264.0 -10
+2590 129.45 1264.5 -10
+2591 129.50 1265.0 -10
+2592 129.55 1265.5 -10
+2593 129.60 1266.0 -10
+2594 129.65 1266.5 -10
+2595 129.70 1267.0 -10
+2596 129.75 1267.5 -10
+2597 129.80 1268.0 -10
+2598 129.85 1268.5 -10
+2599 129.90 1269.0 -10
+2600 129.95 1269.5 -10
+2601 130.00 1270.0 -10
+2602 130.05 1270.5 -10
+2603 130.10 1271.0 -10
+2604 130.15 1271.5 -10
+2605 130.20 1272.0 -10
+2606 130.25 1272.5 -10
+2607 130.30 1273.0 -10
+2608 130.35 1273.5 -10
+2609 130.40 1274.0 -10
+2610 130.45 1274.5 -10
+2611 130.50 1275.0 -10
+2612 130.55 1275.5 -10
+2613 130.60 1276.0 -10
+2614 130.65 1276.5 -10
+2615 130.70 1277.0 -10
+2616 130.75 1277.5 -10
+2617 130.80 1278.0 -10
+2618 130.85 1278.5 -10
+2619 130.90 1279.0 -10
+2620 130.95 1279.5 -10
+2621 131.00 1280.0 -10
+2622 131.05 1280.5 -10
+2623 131.10 1281.0 -10
+2624 131.15 1281.5 -10
+2625 131.20 1282.0 -10
+2626 131.25 1282.5 -10
+2627 131.30 1283.0 -10
+2628 131.35 1283.5 -10
+2629 131.40 1284.0 -10
+2630 131.45 1284.5 -10
+2631 131.50 1285.0 -10
+2632 131.55 1285.5 -10
+2633 131.60 1286.0 -10
+2634 131.65 1286.5 -10
+2635 131.70 1287.0 -10
+2636 131.75 1287.5 -10
+2637 131.80 1288.0 -10
+2638 131.85 1288.5 -10
+2639 131.90 1289.0 -10
+2640 131.95 1289.5 -10
+2641 132.00 1290.0 -10
+2642 132.05 1290.5 -10
+2643 132.10 1291.0 -10
+2644 132.15 1291.5 -10
+2645 132.20 1292.0 -10
+2646 132.25 1292.5 -10
+2647 132.30 1293.0 -10
+2648 132.35 1293.5 -10
+2649 132.40 1294.0 -10
+2650 132.45 1294.5 -10
+2651 132.50 1295.0 -10
+2652 132.55 1295.5 -10
+2653 132.60 1296.0 -10
+2654 132.65 1296.5 -10
+2655 132.70 1297.0 -10
+2656 132.75 1297.5 -10
+2657 132.80 1298.0 -10
+2658 132.85 1298.5 -10
+2659 132.90 1299.0 -10
+2660 132.95 1299.5 -10
+2661 133.00 1300.0 -10
+2662 133.05 1300.5 -10
+2663 133.10 1301.0 -10
+2664 133.15 1301.5 -10
+2665 133.20 1302.0 -10
+2666 133.25 1302.5 -10
+2667 133.30 1303.0 -10
+2668 133.35 1303.5 -10
+2669 133.40 1304.0 -10
+2670 133.45 1304.5 -10
+2671 133.50 1305.0 -10
+2672 133.55 1305.5 -10
+2673 133.60 1306.0 -10
+2674 133.65 1306.5 -10
+2675 133.70 1307.0 -10
+2676 133.75 1307.5 -10
+2677 133.80 1308.0 -10
+2678 133.85 1308.5 -10
+2679 133.90 1309.0 -10
+2680 133.95 1309.5 -10
+2681 134.00 1310.0 -10
+2682 134.05 1310.5 -10
+2683 134.10 1311.0 -10
+2684 134.15 1311.5 -10
+2685 134.20 1312.0 -10
+2686 134.25 1312.5 -10
+2687 134.30 1313.0 -10
+2688 134.35 1313.5 -10
+2689 134.40 1314.0 -10
+2690 134.45 1314.5 -10
+2691 134.50 1315.0 -10
+2692 134.55 1315.5 -10
+2693 134.60 1316.0 -10
+2694 134.65 1316.5 -10
+2695 134.70 1317.0 -10
+2696 134.75 1317.5 -10
+2697 134.80 1318.0 -10
+2698 134.85 1318.5 -10
+2699 134.90 1319.0 -10
+2700 134.95 1319.5 -10
+2701 135.00 1320.0 -10
+2702 135.05 1320.5 -10
+2703 135.10 1321.0 -10
+2704 135.15 1321.5 -10
+2705 135.20 1322.0 -10
+2706 135.25 1322.5 -10
+2707 135.30 1323.0 -10
+2708 135.35 1323.5 -10
+2709 135.40 1324.0 -10
+2710 135.45 1324.5 -10
+2711 135.50 1325.0 -10
+2712 135.55 1325.5 -10
+2713 135.60 1326.0 -10
+2714 135.65 1326.5 -10
+2715 135.70 1327.0 -10
+2716 135.75 1327.5 -10
+2717 135.80 1328.0 -10
+2718 135.85 1328.5 -10
+2719 135.90 1329.0 -10
+2720 135.95 1329.5 -10
+2721 136.00 1330.0 -10
+2722 136.05 1330.5 -10
+2723 136.10 1331.0 -10
+2724 136.15 1331.5 -10
+2725 136.20 1332.0 -10
+2726 136.25 1332.5 -10
+2727 136.30 1333.0 -10
+2728 136.35 1333.5 -10
+2729 136.40 1334.0 -10
+2730 136.45 1334.5 -10
+2731 136.50 1335.0 -10
+2732 136.55 1335.5 -10
+2733 136.60 1336.0 -10
+2734 136.65 1336.5 -10
+2735 136.70 1337.0 -10
+2736 136.75 1337.5 -10
+2737 136.80 1338.0 -10
+2738 136.85 1338.5 -10
+2739 136.90 1339.0 -10
+2740 136.95 1339.5 -10
+2741 137.00 1340.0 -10
+2742 137.05 1340.5 -10
+2743 137.10 1341.0 -10
+2744 137.15 1341.5 -10
+2745 137.20 1342.0 -10
+2746 137.25 1342.5 -10
+2747 137.30 1343.0 -10
+2748 137.35 1343.5 -10
+2749 137.40 1344.0 -10
+2750 137.45 1344.5 -10
+2751 137.50 1345.0 -10
+2752 137.55 1345.5 -10
+2753 137.60 1346.0 -10
+2754 137.65 1346.5 -10
+2755 137.70 1347.0 -10
+2756 137.75 1347.5 -10
+2757 137.80 1348.0 -10
+2758 137.85 1348.5 -10
+2759 137.90 1349.0 -10
+2760 137.95 1349.5 -10
+2761 138.00 1350.0 -10
+2762 138.05 1350.5 -10
+2763 138.10 1351.0 -10
+2764 138.15 1351.5 -10
+2765 138.20 1352.0 -10
+2766 138.25 1352.5 -10
+2767 138.30 1353.0 -10
+2768 138.35 1353.5 -10
+2769 138.40 1354.0 -10
+2770 138.45 1354.5 -10
+2771 138.50 1355.0 -10
+2772 138.55 1355.5 -10
+2773 138.60 1356.0 -10
+2774 138.65 1356.5 -10
+2775 138.70 1357.0 -10
+2776 138.75 1357.5 -10
+2777 138.80 1358.0 -10
+2778 138.85 1358.5 -10
+2779 138.90 1359.0 -10
+2780 138.95 1359.5 -10
+2781 139.00 1360.0 -10
+2782 139.05 1360.5 -10
+2783 139.10 1361.0 -10
+2784 139.15 1361.5 -10
+2785 139.20 1362.0 -10
+2786 139.25 1362.5 -10
+2787 139.30 1363.0 -10
+2788 139.35 1363.5 -10
+2789 139.40 1364.0 -10
+2790 139.45 1364.5 -10
+2791 139.50 1365.0 -10
+2792 139.55 1365.5 -10
+2793 139.60 1366.0 -10
+2794 139.65 1366.5 -10
+2795 139.70 1367.0 -10
+2796 139.75 1367.5 -10
+2797 139.80 1368.0 -10
+2798 139.85 1368.5 -10
+2799 139.90 1369.0 -10
+2800 139.95 1369.5 -10
+2801 140.00 1370.0 -10
+2802 140.05 1370.5 -10
+2803 140.10 1371.0 -10
+2804 140.15 1371.5 -10
+2805 140.20 1372.0 -10
+2806 140.25 1372.5 -10
+2807 140.30 1373.0 -10
+2808 140.35 1373.5 -10
+2809 140.40 1374.0 -10
+2810 140.45 1374.5 -10
+2811 140.50 1375.0 -10
+2812 140.55 1375.5 -10
+2813 140.60 1376.0 -10
+2814 140.65 1376.5 -10
+2815 140.70 1377.0 -10
+2816 140.75 1377.5 -10
+2817 140.80 1378.0 -10
+2818 140.85 1378.5 -10
+2819 140.90 1379.0 -10
+2820 140.95 1379.5 -10
+2821 141.00 1380.0 -10
+2822 141.05 1380.5 -10
+2823 141.10 1381.0 -10
+2824 141.15 1381.5 -10
+2825 141.20 1382.0 -10
+2826 141.25 1382.5 -10
+2827 141.30 1383.0 -10
+2828 141.35 1383.5 -10
+2829 141.40 1384.0 -10
+2830 141.45 1384.5 -10
+2831 141.50 1385.0 -10
+2832 141.55 1385.5 -10
+2833 141.60 1386.0 -10
+2834 141.65 1386.5 -10
+2835 141.70 1387.0 -10
+2836 141.75 1387.5 -10
+2837 141.80 1388.0 -10
+2838 141.85 1388.5 -10
+2839 141.90 1389.0 -10
+2840 141.95 1389.5 -10
+2841 142.00 1390.0 -10
+2842 142.05 1390.5 -10
+2843 142.10 1391.0 -10
+2844 142.15 1391.5 -10
+2845 142.20 1392.0 -10
+2846 142.25 1392.5 -10
+2847 142.30 1393.0 -10
+2848 142.35 1393.5 -10
+2849 142.40 1394.0 -10
+2850 142.45 1394.5 -10
+2851 142.50 1395.0 -10
+2852 142.55 1395.5 -10
+2853 142.60 1396.0 -10
+2854 142.65 1396.5 -10
+2855 142.70 1397.0 -10
+2856 142.75 1397.5 -10
+2857 142.80 1398.0 -10
+2858 142.85 1398.5 -10
+2859 142.90 1399.0 -10
+2860 142.95 1399.5 -10
+2861 143.00 1400.0 -10
+2862 143.05 1400.5 -10
+2863 143.10 1401.0 -10
+2864 143.15 1401.5 -10
+2865 143.20 1402.0 -10
+2866 143.25 1402.5 -10
+2867 143.30 1403.0 -10
+2868 143.35 1403.5 -10
+2869 143.40 1404.0 -10
+2870 143.45 1404.5 -10
+2871 143.50 1405.0 -10
+2872 143.55 1405.5 -10
+2873 143.60 1406.0 -10
+2874 143.65 1406.5 -10
+2875 143.70 1407.0 -10
+2876 143.75 1407.5 -10
+2877 143.80 1408.0 -10
+2878 143.85 1408.5 -10
+2879 143.90 1409.0 -10
+2880 143.95 1409.5 -10
+2881 144.00 1410.0 -10
+2882 144.05 1410.5 -10
+2883 144.10 1411.0 -10
+2884 144.15 1411.5 -10
+2885 144.20 1412.0 -10
+2886 144.25 1412.5 -10
+2887 144.30 1413.0 -10
+2888 144.35 1413.5 -10
+2889 144.40 1414.0 -10
+2890 144.45 1414.5 -10
+2891 144.50 1415.0 -10
+2892 144.55 1415.5 -10
+2893 144.60 1416.0 -10
+2894 144.65 1416.5 -10
+2895 144.70 1417.0 -10
+2896 144.75 1417.5 -10
+2897 144.80 1418.0 -10
+2898 144.85 1418.5 -10
+2899 144.90 1419.0 -10
+2900 144.95 1419.5 -10
+2901 145.00 1420.0 -10
+2902 145.05 1420.5 -10
+2903 145.10 1421.0 -10
+2904 145.15 1421.5 -10
+2905 145.20 1422.0 -10
+2906 145.25 1422.5 -10
+2907 145.30 1423.0 -10
+2908 145.35 1423.5 -10
+2909 145.40 1424.0 -10
+2910 145.45 1424.5 -10
+2911 145.50 1425.0 -10
+2912 145.55 1425.5 -10
+2913 145.60 1426.0 -10
+2914 145.65 1426.5 -10
+2915 145.70 1427.0 -10
+2916 145.75 1427.5 -10
+2917 145.80 1428.0 -10
+2918 145.85 1428.5 -10
+2919 145.90 1429.0 -10
+2920 145.95 1429.5 -10
+2921 146.00 1430.0 -10
+2922 146.05 1430.5 -10
+2923 146.10 1431.0 -10
+2924 146.15 1431.5 -10
+2925 146.20 1432.0 -10
+2926 146.25 1432.5 -10
+2927 146.30 1433.0 -10
+2928 146.35 1433.5 -10
+2929 146.40 1434.0 -10
+2930 146.45 1434.5 -10
+2931 146.50 1435.0 -10
+2932 146.55 1435.5 -10
+2933 146.60 1436.0 -10
+2934 146.65 1436.5 -10
+2935 146.70 1437.0 -10
+2936 146.75 1437.5 -10
+2937 146.80 1438.0 -10
+2938 146.85 1438.5 -10
+2939 146.90 1439.0 -10
+2940 146.95 1439.5 -10
+2941 147.00 1440.0 -10
+2942 147.05 1440.5 -10
+2943 147.10 1441.0 -10
+2944 147.15 1441.5 -10
+2945 147.20 1442.0 -10
+2946 147.25 1442.5 -10
+2947 147.30 1443.0 -10
+2948 147.35 1443.5 -10
+2949 147.40 1444.0 -10
+2950 147.45 1444.5 -10
+2951 147.50 1445.0 -10
+2952 147.55 1445.5 -10
+2953 147.60 1446.0 -10
+2954 147.65 1446.5 -10
+2955 147.70 1447.0 -10
+2956 147.75 1447.5 -10
+2957 147.80 1448.0 -10
+2958 147.85 1448.5 -10
+2959 147.90 1449.0 -10
+2960 147.95 1449.5 -10
+2961 148.00 1450.0 -10
+2962 148.05 1450.5 -10
+2963 148.10 1451.0 -10
+2964 148.15 1451.5 -10
+2965 148.20 1452.0 -10
+2966 148.25 1452.5 -10
+2967 148.30 1453.0 -10
+2968 148.35 1453.5 -10
+2969 148.40 1454.0 -10
+2970 148.45 1454.5 -10
+2971 148.50 1455.0 -10
+2972 148.55 1455.5 -10
+2973 148.60 1456.0 -10
+2974 148.65 1456.5 -10
+2975 148.70 1457.0 -10
+2976 148.75 1457.5 -10
+2977 148.80 1458.0 -10
+2978 148.85 1458.5 -10
+2979 148.90 1459.0 -10
+2980 148.95 1459.5 -10
+2981 149.00 1460.0 -10
+2982 149.05 1460.5 -10
+2983 149.10 1461.0 -10
+2984 149.15 1461.5 -10
+2985 149.20 1462.0 -10
+2986 149.25 1462.5 -10
+2987 149.30 1463.0 -10
+2988 149.35 1463.5 -10
+2989 149.40 1464.0 -10
+2990 149.45 1464.5 -10
+2991 149.50 1465.0 -10
+2992 149.55 1465.5 -10
+2993 149.60 1466.0 -10
+2994 149.65 1466.5 -10
+2995 149.70 1467.0 -10
+2996 149.75 1467.5 -10
+2997 149.80 1468.0 -10
+2998 149.85 1468.5 -10
+2999 149.90 1469.0 -10
+3000 149.95 1469.5 -10
+3001 150.00 1470.0 -10
+3002 150.05 1470.5 -10
+3003 150.10 1471.0 -10
+3004 150.15 1471.5 -10
+3005 150.20 1472.0 -10
+3006 150.25 1472.5 -10
+3007 150.30 1473.0 -10
+3008 150.35 1473.5 -10
+3009 150.40 1474.0 -10
+3010 150.45 1474.5 -10
+3011 150.50 1475.0 -10
+3012 150.55 1475.5 -10
+3013 150.60 1476.0 -10
+3014 150.65 1476.5 -10
+3015 150.70 1477.0 -10
+3016 150.75 1477.5 -10
+3017 150.80 1478.0 -10
+3018 150.85 1478.5 -10
+3019 150.90 1479.0 -10
+3020 150.95 1479.5 -10
+3021 151.00 1480.0 -10
+3022 151.05 1480.5 -10
+3023 151.10 1481.0 -10
+3024 151.15 1481.5 -10
+3025 151.20 1482.0 -10
+3026 151.25 1482.5 -10
+3027 151.30 1483.0 -10
+3028 151.35 1483.5 -10
+3029 151.40 1484.0 -10
+3030 151.45 1484.5 -10
+3031 151.50 1485.0 -10
+3032 151.55 1485.5 -10
+3033 151.60 1486.0 -10
+3034 151.65 1486.5 -10
+3035 151.70 1487.0 -10
+3036 151.75 1487.5 -10
+3037 151.80 1488.0 -10
+3038 151.85 1488.5 -10
+3039 151.90 1489.0 -10
+3040 151.95 1489.5 -10
+3041 152.00 1490.0 -10
+3042 152.05 1490.5 -10
+3043 152.10 1491.0 -10
+3044 152.15 1491.5 -10
+3045 152.20 1492.0 -10
+3046 152.25 1492.5 -10
+3047 152.30 1493.0 -10
+3048 152.35 1493.5 -10
+3049 152.40 1494.0 -10
+3050 152.45 1494.5 -10
+3051 152.50 1495.0 -10
+3052 152.55 1495.5 -10
+3053 152.60 1496.0 -10
+3054 152.65 1496.5 -10
+3055 152.70 1497.0 -10
+3056 152.75 1497.5 -10
+3057 152.80 1498.0 -10
+3058 152.85 1498.5 -10
+3059 152.90 1499.0 -10
+3060 152.95 1499.5 -10
+3061 153.00 1500.0 -10
+3062 153.05 1500.5 -10
+3063 153.10 1501.0 -10
+3064 153.15 1501.5 -10
+3065 153.20 1502.0 -10
+3066 153.25 1502.5 -10
+3067 153.30 1503.0 -10
+3068 153.35 1503.5 -10
+3069 153.40 1504.0 -10
+3070 153.45 1504.5 -10
+3071 153.50 1505.0 -10
+3072 153.55 1505.5 -10
+3073 153.60 1506.0 -10
+3074 153.65 1506.5 -10
+3075 153.70 1507.0 -10
+3076 153.75 1507.5 -10
+3077 153.80 1508.0 -10
+3078 153.85 1508.5 -10
+3079 153.90 1509.0 -10
+3080 153.95 1509.5 -10
+3081 154.00 1510.0 -10
+3082 154.05 1510.5 -10
+3083 154.10 1511.0 -10
+3084 154.15 1511.5 -10
+3085 154.20 1512.0 -10
+3086 154.25 1512.5 -10
+3087 154.30 1513.0 -10
+3088 154.35 1513.5 -10
+3089 154.40 1514.0 -10
+3090 154.45 1514.5 -10
+3091 154.50 1515.0 -10
+3092 154.55 1515.5 -10
+3093 154.60 1516.0 -10
+3094 154.65 1516.5 -10
+3095 154.70 1517.0 -10
+3096 154.75 1517.5 -10
+3097 154.80 1518.0 -10
+3098 154.85 1518.5 -10
+3099 154.90 1519.0 -10
+3100 154.95 1519.5 -10
+3101 155.00 1520.0 -10
+3102 155.05 1520.5 -10
+3103 155.10 1521.0 -10
+3104 155.15 1521.5 -10
+3105 155.20 1522.0 -10
+3106 155.25 1522.5 -10
+3107 155.30 1523.0 -10
+3108 155.35 1523.5 -10
+3109 155.40 1524.0 -10
+3110 155.45 1524.5 -10
+3111 155.50 1525.0 -10
+3112 155.55 1525.5 -10
+3113 155.60 1526.0 -10
+3114 155.65 1526.5 -10
+3115 155.70 1527.0 -10
+3116 155.75 1527.5 -10
+3117 155.80 1528.0 -10
+3118 155.85 1528.5 -10
+3119 155.90 1529.0 -10
+3120 155.95 1529.5 -10
+3121 156.00 1530.0 -10
+3122 156.05 1530.5 -10
+3123 156.10 1531.0 -10
+3124 156.15 1531.5 -10
+3125 156.20 1532.0 -10
+3126 156.25 1532.5 -10
+3127 156.30 1533.0 -10
+3128 156.35 1533.5 -10
+3129 156.40 1534.0 -10
+3130 156.45 1534.5 -10
+3131 156.50 1535.0 -10
+3132 156.55 1535.5 -10
+3133 156.60 1536.0 -10
+3134 156.65 1536.5 -10
+3135 156.70 1537.0 -10
+3136 156.75 1537.5 -10
+3137 156.80 1538.0 -10
+3138 156.85 1538.5 -10
+3139 156.90 1539.0 -10
+3140 156.95 1539.5 -10
+3141 157.00 1540.0 -10
+3142 157.05 1540.5 -10
+3143 157.10 1541.0 -10
+3144 157.15 1541.5 -10
+3145 157.20 1542.0 -10
+3146 157.25 1542.5 -10
+3147 157.30 1543.0 -10
+3148 157.35 1543.5 -10
+3149 157.40 1544.0 -10
+3150 157.45 1544.5 -10
+3151 157.50 1545.0 -10
+3152 157.55 1545.5 -10
+3153 157.60 1546.0 -10
+3154 157.65 1546.5 -10
+3155 157.70 1547.0 -10
+3156 157.75 1547.5 -10
+3157 157.80 1548.0 -10
+3158 157.85 1548.5 -10
+3159 157.90 1549.0 -10
+3160 157.95 1549.5 -10
+3161 158.00 1550.0 -10
+3162 158.05 1550.5 -10
+3163 158.10 1551.0 -10
+3164 158.15 1551.5 -10
+3165 158.20 1552.0 -10
+3166 158.25 1552.5 -10
+3167 158.30 1553.0 -10
+3168 158.35 1553.5 -10
+3169 158.40 1554.0 -10
+3170 158.45 1554.5 -10
+3171 158.50 1555.0 -10
+3172 158.55 1555.5 -10
+3173 158.60 1556.0 -10
+3174 158.65 1556.5 -10
+3175 158.70 1557.0 -10
+3176 158.75 1557.5 -10
+3177 158.80 1558.0 -10
+3178 158.85 1558.5 -10
+3179 158.90 1559.0 -10
+3180 158.95 1559.5 -10
+3181 159.00 1560.0 -10
+3182 159.05 1560.5 -10
+3183 159.10 1561.0 -10
+3184 159.15 1561.5 -10
+3185 159.20 1562.0 -10
+3186 159.25 1562.5 -10
+3187 159.30 1563.0 -10
+3188 159.35 1563.5 -10
+3189 159.40 1564.0 -10
+3190 159.45 1564.5 -10
+3191 159.50 1565.0 -10
+3192 159.55 1565.5 -10
+3193 159.60 1566.0 -10
+3194 159.65 1566.5 -10
+3195 159.70 1567.0 -10
+3196 159.75 1567.5 -10
+3197 159.80 1568.0 -10
+3198 159.85 1568.5 -10
+3199 159.90 1569.0 -10
+3200 159.95 1569.5 -10
+3201 160.00 1570.0 -10
+3202 160.05 1570.5 -10
+3203 160.10 1571.0 -10
+3204 160.15 1571.5 -10
+3205 160.20 1572.0 -10
+3206 160.25 1572.5 -10
+3207 160.30 1573.0 -10
+3208 160.35 1573.5 -10
+3209 160.40 1574.0 -10
+3210 160.45 1574.5 -10
+3211 160.50 1575.0 -10
+3212 160.55 1575.5 -10
+3213 160.60 1576.0 -10
+3214 160.65 1576.5 -10
+3215 160.70 1577.0 -10
+3216 160.75 1577.5 -10
+3217 160.80 1578.0 -10
+3218 160.85 1578.5 -10
+3219 160.90 1579.0 -10
+3220 160.95 1579.5 -10
+3221 161.00 1580.0 -10
+3222 161.05 1580.5 -10
+3223 161.10 1581.0 -10
+3224 161.15 1581.5 -10
+3225 161.20 1582.0 -10
+3226 161.25 1582.5 -10
+3227 161.30 1583.0 -10
+3228 161.35 1583.5 -10
+3229 161.40 1584.0 -10
+3230 161.45 1584.5 -10
+3231 161.50 1585.0 -10
+3232 161.55 1585.5 -10
+3233 161.60 1586.0 -10
+3234 161.65 1586.5 -10
+3235 161.70 1587.0 -10
+3236 161.75 1587.5 -10
+3237 161.80 1588.0 -10
+3238 161.85 1588.5 -10
+3239 161.90 1589.0 -10
+3240 161.95 1589.5 -10
+3241 162.00 1590.0 -10
+3242 162.05 1590.5 -10
+3243 162.10 1591.0 -10
+3244 162.15 1591.5 -10
+3245 162.20 1592.0 -10
+3246 162.25 1592.5 -10
+3247 162.30 1593.0 -10
+3248 162.35 1593.5 -10
+3249 162.40 1594.0 -10
+3250 162.45 1594.5 -10
+3251 162.50 1595.0 -10
+3252 162.55 1595.5 -10
+3253 162.60 1596.0 -10
+3254 162.65 1596.5 -10
+3255 162.70 1597.0 -10
+3256 162.75 1597.5 -10
+3257 162.80 1598.0 -10
+3258 162.85 1598.5 -10
+3259 162.90 1599.0 -10
+3260 162.95 1599.5 -10
+3261 163.00 1600.0 -10
+3262 163.05 1600.5 -10
+3263 163.10 1601.0 -10
+3264 163.15 1601.5 -10
+3265 163.20 1602.0 -10
+3266 163.25 1602.5 -10
+3267 163.30 1603.0 -10
+3268 163.35 1603.5 -10
+3269 163.40 1604.0 -10
+3270 163.45 1604.5 -10
+3271 163.50 1605.0 -10
+3272 163.55 1605.5 -10
+3273 163.60 1606.0 -10
+3274 163.65 1606.5 -10
+3275 163.70 1607.0 -10
+3276 163.75 1607.5 -10
+3277 163.80 1608.0 -10
+3278 163.85 1608.5 -10
+3279 163.90 1609.0 -10
+3280 163.95 1609.5 -10
+3281 164.00 1610.0 -10
+3282 164.05 1610.5 -10
+3283 164.10 1611.0 -10
+3284 164.15 1611.5 -10
+3285 164.20 1612.0 -10
+3286 164.25 1612.5 -10
+3287 164.30 1613.0 -10
+3288 164.35 1613.5 -10
+3289 164.40 1614.0 -10
+3290 164.45 1614.5 -10
+3291 164.50 1615.0 -10
+3292 164.55 1615.5 -10
+3293 164.60 1616.0 -10
+3294 164.65 1616.5 -10
+3295 164.70 1617.0 -10
+3296 164.75 1617.5 -10
+3297 164.80 1618.0 -10
+3298 164.85 1618.5 -10
+3299 164.90 1619.0 -10
+3300 164.95 1619.5 -10
+3301 165.00 1620.0 -10
+3302 165.05 1620.5 -10
+3303 165.10 1621.0 -10
+3304 165.15 1621.5 -10
+3305 165.20 1622.0 -10
+3306 165.25 1622.5 -10
+3307 165.30 1623.0 -10
+3308 165.35 1623.5 -10
+3309 165.40 1624.0 -10
+3310 165.45 1624.5 -10
+3311 165.50 1625.0 -10
+3312 165.55 1625.5 -10
+3313 165.60 1626.0 -10
+3314 165.65 1626.5 -10
+3315 165.70 1627.0 -10
+3316 165.75 1627.5 -10
+3317 165.80 1628.0 -10
+3318 165.85 1628.5 -10
+3319 165.90 1629.0 -10
+3320 165.95 1629.5 -10
+3321 166.00 1630.0 -10
+3322 166.05 1630.5 -10
+3323 166.10 1631.0 -10
+3324 166.15 1631.5 -10
+3325 166.20 1632.0 -10
+3326 166.25 1632.5 -10
+3327 166.30 1633.0 -10
+3328 166.35 1633.5 -10
+3329 166.40 1634.0 -10
+3330 166.45 1634.5 -10
+3331 166.50 1635.0 -10
+3332 166.55 1635.5 -10
+3333 166.60 1636.0 -10
+3334 166.65 1636.5 -10
+3335 166.70 1637.0 -10
+3336 166.75 1637.5 -10
+3337 166.80 1638.0 -10
+3338 166.85 1638.5 -10
+3339 166.90 1639.0 -10
+3340 166.95 1639.5 -10
+3341 167.00 1640.0 -10
+3342 167.05 1640.5 -10
+3343 167.10 1641.0 -10
+3344 167.15 1641.5 -10
+3345 167.20 1642.0 -10
+3346 167.25 1642.5 -10
+3347 167.30 1643.0 -10
+3348 167.35 1643.5 -10
+3349 167.40 1644.0 -10
+3350 167.45 1644.5 -10
+3351 167.50 1645.0 -10
+3352 167.55 1645.5 -10
+3353 167.60 1646.0 -10
+3354 167.65 1646.5 -10
+3355 167.70 1647.0 -10
+3356 167.75 1647.5 -10
+3357 167.80 1648.0 -10
+3358 167.85 1648.5 -10
+3359 167.90 1649.0 -10
+3360 167.95 1649.5 -10
+3361 168.00 1650.0 -10
+3362 168.05 1650.5 -10
+3363 168.10 1651.0 -10
+3364 168.15 1651.5 -10
+3365 168.20 1652.0 -10
+3366 168.25 1652.5 -10
+3367 168.30 1653.0 -10
+3368 168.35 1653.5 -10
+3369 168.40 1654.0 -10
+3370 168.45 1654.5 -10
+3371 168.50 1655.0 -10
+3372 168.55 1655.5 -10
+3373 168.60 1656.0 -10
+3374 168.65 1656.5 -10
+3375 168.70 1657.0 -10
+3376 168.75 1657.5 -10
+3377 168.80 1658.0 -10
+3378 168.85 1658.5 -10
+3379 168.90 1659.0 -10
+3380 168.95 1659.5 -10
+3381 169.00 1660.0 -10
+3382 169.05 1660.5 -10
+3383 169.10 1661.0 -10
+3384 169.15 1661.5 -10
+3385 169.20 1662.0 -10
+3386 169.25 1662.5 -10
+3387 169.30 1663.0 -10
+3388 169.35 1663.5 -10
+3389 169.40 1664.0 -10
+3390 169.45 1664.5 -10
+3391 169.50 1665.0 -10
+3392 169.55 1665.5 -10
+3393 169.60 1666.0 -10
+3394 169.65 1666.5 -10
+3395 169.70 1667.0 -10
+3396 169.75 1667.5 -10
+3397 169.80 1668.0 -10
+3398 169.85 1668.5 -10
+3399 169.90 1669.0 -10
+3400 169.95 1669.5 -10
+3401 170.00 1670.0 -10
+3402 170.05 1670.5 -10
+3403 170.10 1671.0 -10
+3404 170.15 1671.5 -10
+3405 170.20 1672.0 -10
+3406 170.25 1672.5 -10
+3407 170.30 1673.0 -10
+3408 170.35 1673.5 -10
+3409 170.40 1674.0 -10
+3410 170.45 1674.5 -10
+3411 170.50 1675.0 -10
+3412 170.55 1675.5 -10
+3413 170.60 1676.0 -10
+3414 170.65 1676.5 -10
+3415 170.70 1677.0 -10
+3416 170.75 1677.5 -10
+3417 170.80 1678.0 -10
+3418 170.85 1678.5 -10
+3419 170.90 1679.0 -10
+3420 170.95 1679.5 -10
+3421 171.00 1680.0 -10
+3422 171.05 1680.5 -10
+3423 171.10 1681.0 -10
+3424 171.15 1681.5 -10
+3425 171.20 1682.0 -10
+3426 171.25 1682.5 -10
+3427 171.30 1683.0 -10
+3428 171.35 1683.5 -10
+3429 171.40 1684.0 -10
+3430 171.45 1684.5 -10
+3431 171.50 1685.0 -10
+3432 171.55 1685.5 -10
+3433 171.60 1686.0 -10
+3434 171.65 1686.5 -10
+3435 171.70 1687.0 -10
+3436 171.75 1687.5 -10
+3437 171.80 1688.0 -10
+3438 171.85 1688.5 -10
+3439 171.90 1689.0 -10
+3440 171.95 1689.5 -10
+3441 172.00 1690.0 -10
+3442 172.05 1690.5 -10
+3443 172.10 1691.0 -10
+3444 172.15 1691.5 -10
+3445 172.20 1692.0 -10
+3446 172.25 1692.5 -10
+3447 172.30 1693.0 -10
+3448 172.35 1693.5 -10
+3449 172.40 1694.0 -10
+3450 172.45 1694.5 -10
+3451 172.50 1695.0 -10
+3452 172.55 1695.5 -10
+3453 172.60 1696.0 -10
+3454 172.65 1696.5 -10
+3455 172.70 1697.0 -10
+3456 172.75 1697.5 -10
+3457 172.80 1698.0 -10
+3458 172.85 1698.5 -10
+3459 172.90 1699.0 -10
+3460 172.95 1699.5 -10
+3461 173.00 1700.0 -10
+3462 173.05 1700.5 -10
+3463 173.10 1701.0 -10
+3464 173.15 1701.5 -10
+3465 173.20 1702.0 -10
+3466 173.25 1702.5 -10
+3467 173.30 1703.0 -10
+3468 173.35 1703.5 -10
+3469 173.40 1704.0 -10
+3470 173.45 1704.5 -10
+3471 173.50 1705.0 -10
+3472 173.55 1705.5 -10
+3473 173.60 1706.0 -10
+3474 173.65 1706.5 -10
+3475 173.70 1707.0 -10
+3476 173.75 1707.5 -10
+3477 173.80 1708.0 -10
+3478 173.85 1708.5 -10
+3479 173.90 1709.0 -10
+3480 173.95 1709.5 -10
+3481 174.00 1710.0 -10
+3482 174.05 1710.5 -10
+3483 174.10 1711.0 -10
+3484 174.15 1711.5 -10
+3485 174.20 1712.0 -10
+3486 174.25 1712.5 -10
+3487 174.30 1713.0 -10
+3488 174.35 1713.5 -10
+3489 174.40 1714.0 -10
+3490 174.45 1714.5 -10
+3491 174.50 1715.0 -10
+3492 174.55 1715.5 -10
+3493 174.60 1716.0 -10
+3494 174.65 1716.5 -10
+3495 174.70 1717.0 -10
+3496 174.75 1717.5 -10
+3497 174.80 1718.0 -10
+3498 174.85 1718.5 -10
+3499 174.90 1719.0 -10
+3500 174.95 1719.5 -10
+3501 175.00 1720.0 -10
+3502 175.05 1720.5 -10
+3503 175.10 1721.0 -10
+3504 175.15 1721.5 -10
+3505 175.20 1722.0 -10
+3506 175.25 1722.5 -10
+3507 175.30 1723.0 -10
+3508 175.35 1723.5 -10
+3509 175.40 1724.0 -10
+3510 175.45 1724.5 -10
+3511 175.50 1725.0 -10
+3512 175.55 1725.5 -10
+3513 175.60 1726.0 -10
+3514 175.65 1726.5 -10
+3515 175.70 1727.0 -10
+3516 175.75 1727.5 -10
+3517 175.80 1728.0 -10
+3518 175.85 1728.5 -10
+3519 175.90 1729.0 -10
+3520 175.95 1729.5 -10
+3521 176.00 1730.0 -10
+3522 176.05 1730.5 -10
+3523 176.10 1731.0 -10
+3524 176.15 1731.5 -10
+3525 176.20 1732.0 -10
+3526 176.25 1732.5 -10
+3527 176.30 1733.0 -10
+3528 176.35 1733.5 -10
+3529 176.40 1734.0 -10
+3530 176.45 1734.5 -10
+3531 176.50 1735.0 -10
+3532 176.55 1735.5 -10
+3533 176.60 1736.0 -10
+3534 176.65 1736.5 -10
+3535 176.70 1737.0 -10
+3536 176.75 1737.5 -10
+3537 176.80 1738.0 -10
+3538 176.85 1738.5 -10
+3539 176.90 1739.0 -10
+3540 176.95 1739.5 -10
+3541 177.00 1740.0 -10
+3542 177.05 1740.5 -10
+3543 177.10 1741.0 -10
+3544 177.15 1741.5 -10
+3545 177.20 1742.0 -10
+3546 177.25 1742.5 -10
+3547 177.30 1743.0 -10
+3548 177.35 1743.5 -10
+3549 177.40 1744.0 -10
+3550 177.45 1744.5 -10
+3551 177.50 1745.0 -10
+3552 177.55 1745.5 -10
+3553 177.60 1746.0 -10
+3554 177.65 1746.5 -10
+3555 177.70 1747.0 -10
+3556 177.75 1747.5 -10
+3557 177.80 1748.0 -10
+3558 177.85 1748.5 -10
+3559 177.90 1749.0 -10
+3560 177.95 1749.5 -10
+3561 178.00 1750.0 -10
+3562 178.05 1750.5 -10
+3563 178.10 1751.0 -10
+3564 178.15 1751.5 -10
+3565 178.20 1752.0 -10
+3566 178.25 1752.5 -10
+3567 178.30 1753.0 -10
+3568 178.35 1753.5 -10
+3569 178.40 1754.0 -10
+3570 178.45 1754.5 -10
+3571 178.50 1755.0 -10
+3572 178.55 1755.5 -10
+3573 178.60 1756.0 -10
+3574 178.65 1756.5 -10
+3575 178.70 1757.0 -10
+3576 178.75 1757.5 -10
+3577 178.80 1758.0 -10
+3578 178.85 1758.5 -10
+3579 178.90 1759.0 -10
+3580 178.95 1759.5 -10
+3581 179.00 1760.0 -10
+3582 179.05 1760.5 -10
+3583 179.10 1761.0 -10
+3584 179.15 1761.5 -10
+3585 179.20 1762.0 -10
+3586 179.25 1762.5 -10
+3587 179.30 1763.0 -10
+3588 179.35 1763.5 -10
+3589 179.40 1764.0 -10
+3590 179.45 1764.5 -10
+3591 179.50 1765.0 -10
+3592 179.55 1765.5 -10
+3593 179.60 1766.0 -10
+3594 179.65 1766.5 -10
+3595 179.70 1767.0 -10
+3596 179.75 1767.5 -10
+3597 179.80 1768.0 -10
+3598 179.85 1768.5 -10
+3599 179.90 1769.0 -10
+3600 179.95 1769.5 -10
+3601 180.00 1770.0 -10
+3602 180.05 1770.5 -10
+3603 180.10 1771.0 -10
+3604 180.15 1771.5 -10
+3605 180.20 1772.0 -10
+3606 180.25 1772.5 -10
+3607 180.30 1773.0 -10
+3608 180.35 1773.5 -10
+3609 180.40 1774.0 -10
+3610 180.45 1774.5 -10
+3611 180.50 1775.0 -10
+3612 180.55 1775.5 -10
+3613 180.60 1776.0 -10
+3614 180.65 1776.5 -10
+3615 180.70 1777.0 -10
+3616 180.75 1777.5 -10
+3617 180.80 1778.0 -10
+3618 180.85 1778.5 -10
+3619 180.90 1779.0 -10
+3620 180.95 1779.5 -10
+3621 181.00 1780.0 -10
+3622 181.05 1780.5 -10
+3623 181.10 1781.0 -10
+3624 181.15 1781.5 -10
+3625 181.20 1782.0 -10
+3626 181.25 1782.5 -10
+3627 181.30 1783.0 -10
+3628 181.35 1783.5 -10
+3629 181.40 1784.0 -10
+3630 181.45 1784.5 -10
+3631 181.50 1785.0 -10
+3632 181.55 1785.5 -10
+3633 181.60 1786.0 -10
+3634 181.65 1786.5 -10
+3635 181.70 1787.0 -10
+3636 181.75 1787.5 -10
+3637 181.80 1788.0 -10
+3638 181.85 1788.5 -10
+3639 181.90 1789.0 -10
+3640 181.95 1789.5 -10
+3641 182.00 1790.0 -10
+3642 182.05 1790.5 -10
+3643 182.10 1791.0 -10
+3644 182.15 1791.5 -10
+3645 182.20 1792.0 -10
+3646 182.25 1792.5 -10
+3647 182.30 1793.0 -10
+3648 182.35 1793.5 -10
+3649 182.40 1794.0 -10
+3650 182.45 1794.5 -10
+3651 182.50 1795.0 -10
+3652 182.55 1795.5 -10
+3653 182.60 1796.0 -10
+3654 182.65 1796.5 -10
+3655 182.70 1797.0 -10
+3656 182.75 1797.5 -10
+3657 182.80 1798.0 -10
+3658 182.85 1798.5 -10
+3659 182.90 1799.0 -10
+3660 182.95 1799.5 -10
+3661 183.00 1800.0 -10
+3662 183.05 1800.5 -10
+3663 183.10 1801.0 -10
+3664 183.15 1801.5 -10
+3665 183.20 1802.0 -10
+3666 183.25 1802.5 -10
+3667 183.30 1803.0 -10
+3668 183.35 1803.5 -10
+3669 183.40 1804.0 -10
+3670 183.45 1804.5 -10
+3671 183.50 1805.0 -10
+3672 183.55 1805.5 -10
+3673 183.60 1806.0 -10
+3674 183.65 1806.5 -10
+3675 183.70 1807.0 -10
+3676 183.75 1807.5 -10
+3677 183.80 1808.0 -10
+3678 183.85 1808.5 -10
+3679 183.90 1809.0 -10
+3680 183.95 1809.5 -10
+3681 184.00 1810.0 -10
+3682 184.05 1810.5 -10
+3683 184.10 1811.0 -10
+3684 184.15 1811.5 -10
+3685 184.20 1812.0 -10
+3686 184.25 1812.5 -10
+3687 184.30 1813.0 -10
+3688 184.35 1813.5 -10
+3689 184.40 1814.0 -10
+3690 184.45 1814.5 -10
+3691 184.50 1815.0 -10
+3692 184.55 1815.5 -10
+3693 184.60 1816.0 -10
+3694 184.65 1816.5 -10
+3695 184.70 1817.0 -10
+3696 184.75 1817.5 -10
+3697 184.80 1818.0 -10
+3698 184.85 1818.5 -10
+3699 184.90 1819.0 -10
+3700 184.95 1819.5 -10
+3701 185.00 1820.0 -10
+3702 185.05 1820.5 -10
+3703 185.10 1821.0 -10
+3704 185.15 1821.5 -10
+3705 185.20 1822.0 -10
+3706 185.25 1822.5 -10
+3707 185.30 1823.0 -10
+3708 185.35 1823.5 -10
+3709 185.40 1824.0 -10
+3710 185.45 1824.5 -10
+3711 185.50 1825.0 -10
+3712 185.55 1825.5 -10
+3713 185.60 1826.0 -10
+3714 185.65 1826.5 -10
+3715 185.70 1827.0 -10
+3716 185.75 1827.5 -10
+3717 185.80 1828.0 -10
+3718 185.85 1828.5 -10
+3719 185.90 1829.0 -10
+3720 185.95 1829.5 -10
+3721 186.00 1830.0 -10
+3722 186.05 1830.5 -10
+3723 186.10 1831.0 -10
+3724 186.15 1831.5 -10
+3725 186.20 1832.0 -10
+3726 186.25 1832.5 -10
+3727 186.30 1833.0 -10
+3728 186.35 1833.5 -10
+3729 186.40 1834.0 -10
+3730 186.45 1834.5 -10
+3731 186.50 1835.0 -10
+3732 186.55 1835.5 -10
+3733 186.60 1836.0 -10
+3734 186.65 1836.5 -10
+3735 186.70 1837.0 -10
+3736 186.75 1837.5 -10
+3737 186.80 1838.0 -10
+3738 186.85 1838.5 -10
+3739 186.90 1839.0 -10
+3740 186.95 1839.5 -10
+3741 187.00 1840.0 -10
+3742 187.05 1840.5 -10
+3743 187.10 1841.0 -10
+3744 187.15 1841.5 -10
+3745 187.20 1842.0 -10
+3746 187.25 1842.5 -10
+3747 187.30 1843.0 -10
+3748 187.35 1843.5 -10
+3749 187.40 1844.0 -10
+3750 187.45 1844.5 -10
+3751 187.50 1845.0 -10
+3752 187.55 1845.5 -10
+3753 187.60 1846.0 -10
+3754 187.65 1846.5 -10
+3755 187.70 1847.0 -10
+3756 187.75 1847.5 -10
+3757 187.80 1848.0 -10
+3758 187.85 1848.5 -10
+3759 187.90 1849.0 -10
+3760 187.95 1849.5 -10
+3761 188.00 1850.0 -10
+3762 188.05 1850.5 -10
+3763 188.10 1851.0 -10
+3764 188.15 1851.5 -10
+3765 188.20 1852.0 -10
+3766 188.25 1852.5 -10
+3767 188.30 1853.0 -10
+3768 188.35 1853.5 -10
+3769 188.40 1854.0 -10
+3770 188.45 1854.5 -10
+3771 188.50 1855.0 -10
+3772 188.55 1855.5 -10
+3773 188.60 1856.0 -10
+3774 188.65 1856.5 -10
+3775 188.70 1857.0 -10
+3776 188.75 1857.5 -10
+3777 188.80 1858.0 -10
+3778 188.85 1858.5 -10
+3779 188.90 1859.0 -10
+3780 188.95 1859.5 -10
+3781 189.00 1860.0 -10
+3782 189.05 1860.5 -10
+3783 189.10 1861.0 -10
+3784 189.15 1861.5 -10
+3785 189.20 1862.0 -10
+3786 189.25 1862.5 -10
+3787 189.30 1863.0 -10
+3788 189.35 1863.5 -10
+3789 189.40 1864.0 -10
+3790 189.45 1864.5 -10
+3791 189.50 1865.0 -10
+3792 189.55 1865.5 -10
+3793 189.60 1866.0 -10
+3794 189.65 1866.5 -10
+3795 189.70 1867.0 -10
+3796 189.75 1867.5 -10
+3797 189.80 1868.0 -10
+3798 189.85 1868.5 -10
+3799 189.90 1869.0 -10
+3800 189.95 1869.5 -10
+3801 190.00 1870.0 -10
+3802 190.05 1870.5 -10
+3803 190.10 1871.0 -10
+3804 190.15 1871.5 -10
+3805 190.20 1872.0 -10
+3806 190.25 1872.5 -10
+3807 190.30 1873.0 -10
+3808 190.35 1873.5 -10
+3809 190.40 1874.0 -10
+3810 190.45 1874.5 -10
+3811 190.50 1875.0 -10
+3812 190.55 1875.5 -10
+3813 190.60 1876.0 -10
+3814 190.65 1876.5 -10
+3815 190.70 1877.0 -10
+3816 190.75 1877.5 -10
+3817 190.80 1878.0 -10
+3818 190.85 1878.5 -10
+3819 190.90 1879.0 -10
+3820 190.95 1879.5 -10
+3821 191.00 1880.0 -10
+3822 191.05 1880.5 -10
+3823 191.10 1881.0 -10
+3824 191.15 1881.5 -10
+3825 191.20 1882.0 -10
+3826 191.25 1882.5 -10
+3827 191.30 1883.0 -10
+3828 191.35 1883.5 -10
+3829 191.40 1884.0 -10
+3830 191.45 1884.5 -10
+3831 191.50 1885.0 -10
+3832 191.55 1885.5 -10
+3833 191.60 1886.0 -10
+3834 191.65 1886.5 -10
+3835 191.70 1887.0 -10
+3836 191.75 1887.5 -10
+3837 191.80 1888.0 -10
+3838 191.85 1888.5 -10
+3839 191.90 1889.0 -10
+3840 191.95 1889.5 -10
+3841 192.00 1890.0 -10
+3842 192.05 1890.5 -10
+3843 192.10 1891.0 -10
+3844 192.15 1891.5 -10
+3845 192.20 1892.0 -10
+3846 192.25 1892.5 -10
+3847 192.30 1893.0 -10
+3848 192.35 1893.5 -10
+3849 192.40 1894.0 -10
+3850 192.45 1894.5 -10
+3851 192.50 1895.0 -10
+3852 192.55 1895.5 -10
+3853 192.60 1896.0 -10
+3854 192.65 1896.5 -10
+3855 192.70 1897.0 -10
+3856 192.75 1897.5 -10
+3857 192.80 1898.0 -10
+3858 192.85 1898.5 -10
+3859 192.90 1899.0 -10
+3860 192.95 1899.5 -10
+3861 193.00 1900.0 -10
+3862 193.05 1900.5 -10
+3863 193.10 1901.0 -10
+3864 193.15 1901.5 -10
+3865 193.20 1902.0 -10
+3866 193.25 1902.5 -10
+3867 193.30 1903.0 -10
+3868 193.35 1903.5 -10
+3869 193.40 1904.0 -10
+3870 193.45 1904.5 -10
+3871 193.50 1905.0 -10
+3872 193.55 1905.5 -10
+3873 193.60 1906.0 -10
+3874 193.65 1906.5 -10
+3875 193.70 1907.0 -10
+3876 193.75 1907.5 -10
+3877 193.80 1908.0 -10
+3878 193.85 1908.5 -10
+3879 193.90 1909.0 -10
+3880 193.95 1909.5 -10
+3881 194.00 1910.0 -10
+3882 194.05 1910.5 -10
+3883 194.10 1911.0 -10
+3884 194.15 1911.5 -10
+3885 194.20 1912.0 -10
+3886 194.25 1912.5 -10
+3887 194.30 1913.0 -10
+3888 194.35 1913.5 -10
+3889 194.40 1914.0 -10
+3890 194.45 1914.5 -10
+3891 194.50 1915.0 -10
+3892 194.55 1915.5 -10
+3893 194.60 1916.0 -10
+3894 194.65 1916.5 -10
+3895 194.70 1917.0 -10
+3896 194.75 1917.5 -10
+3897 194.80 1918.0 -10
+3898 194.85 1918.5 -10
+3899 194.90 1919.0 -10
+3900 194.95 1919.5 -10
+3901 195.00 1920.0 -10
+3902 195.05 1920.5 -10
+3903 195.10 1921.0 -10
+3904 195.15 1921.5 -10
+3905 195.20 1922.0 -10
+3906 195.25 1922.5 -10
+3907 195.30 1923.0 -10
+3908 195.35 1923.5 -10
+3909 195.40 1924.0 -10
+3910 195.45 1924.5 -10
+3911 195.50 1925.0 -10
+3912 195.55 1925.5 -10
+3913 195.60 1926.0 -10
+3914 195.65 1926.5 -10
+3915 195.70 1927.0 -10
+3916 195.75 1927.5 -10
+3917 195.80 1928.0 -10
+3918 195.85 1928.5 -10
+3919 195.90 1929.0 -10
+3920 195.95 1929.5 -10
+3921 196.00 1930.0 -10
+3922 196.05 1930.5 -10
+3923 196.10 1931.0 -10
+3924 196.15 1931.5 -10
+3925 196.20 1932.0 -10
+3926 196.25 1932.5 -10
+3927 196.30 1933.0 -10
+3928 196.35 1933.5 -10
+3929 196.40 1934.0 -10
+3930 196.45 1934.5 -10
+3931 196.50 1935.0 -10
+3932 196.55 1935.5 -10
+3933 196.60 1936.0 -10
+3934 196.65 1936.5 -10
+3935 196.70 1937.0 -10
+3936 196.75 1937.5 -10
+3937 196.80 1938.0 -10
+3938 196.85 1938.5 -10
+3939 196.90 1939.0 -10
+3940 196.95 1939.5 -10
+3941 197.00 1940.0 -10
+3942 197.05 1940.5 -10
+3943 197.10 1941.0 -10
+3944 197.15 1941.5 -10
+3945 197.20 1942.0 -10
+3946 197.25 1942.5 -10
+3947 197.30 1943.0 -10
+3948 197.35 1943.5 -10
+3949 197.40 1944.0 -10
+3950 197.45 1944.5 -10
+3951 197.50 1945.0 -10
+3952 197.55 1945.5 -10
+3953 197.60 1946.0 -10
+3954 197.65 1946.5 -10
+3955 197.70 1947.0 -10
+3956 197.75 1947.5 -10
+3957 197.80 1948.0 -10
+3958 197.85 1948.5 -10
+3959 197.90 1949.0 -10
+3960 197.95 1949.5 -10
+3961 198.00 1950.0 -10
+3962 198.05 1950.5 -10
+3963 198.10 1951.0 -10
+3964 198.15 1951.5 -10
+3965 198.20 1952.0 -10
+3966 198.25 1952.5 -10
+3967 198.30 1953.0 -10
+3968 198.35 1953.5 -10
+3969 198.40 1954.0 -10
+3970 198.45 1954.5 -10
+3971 198.50 1955.0 -10
+3972 198.55 1955.5 -10
+3973 198.60 1956.0 -10
+3974 198.65 1956.5 -10
+3975 198.70 1957.0 -10
+3976 198.75 1957.5 -10
+3977 198.80 1958.0 -10
+3978 198.85 1958.5 -10
+3979 198.90 1959.0 -10
+3980 198.95 1959.5 -10
+3981 199.00 1960.0 -10
+3982 199.05 1960.5 -10
+3983 199.10 1961.0 -10
+3984 199.15 1961.5 -10
+3985 199.20 1962.0 -10
+3986 199.25 1962.5 -10
+3987 199.30 1963.0 -10
+3988 199.35 1963.5 -10
+3989 199.40 1964.0 -10
+3990 199.45 1964.5 -10
+3991 199.50 1965.0 -10
+3992 199.55 1965.5 -10
+3993 199.60 1966.0 -10
+3994 199.65 1966.5 -10
+3995 199.70 1967.0 -10
+3996 199.75 1967.5 -10
+3997 199.80 1968.0 -10
+3998 199.85 1968.5 -10
+3999 199.90 1969.0 -10
+4000 199.95 1969.5 -10
+4001 200.00 1970.0 -10
diff --git a/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/run.in.min b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/run.in.min
new file mode 100644
index 000000000..c8c28cd7a
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/run.in.min
@@ -0,0 +1,41 @@
+#########################################################
+# Example how to run this file:
+#
+# 1) Choose a ransom seed (in this case 141203)
+# (or use `bash -c 'echo $RANDOM'`)
+#
+# 2) Then, from the shell, invoke LAMMPS to collapse the polymer:
+#
+# lmp_ubuntu_parallel -i run.in -var seed 141203
+#
+#########################################################
+# eg:
+# time mpirun -np 2 lmp_ubuntu_parallel -i run.in.min
+#########################################################
+
+# -- Init Section --
+
+include system.in.init
+
+# -- Atom Definition Section --
+
+read_data system.data
+
+# -- Settings Section --
+
+include system.in.settings
+
+# -- Run Section --
+
+dump 1 all custom 10000 traj_min.lammpstrj id mol type x y z ix iy iz
+thermo_style custom step pe etotal vol epair ebond eangle edihed
+thermo_modify norm no #(report total energy not energy / num_atoms)
+thermo 100 #(time interval for printing out "thermo" data)
+
+# Now minimize the system:
+
+min_style quickmin
+min_modify dmax 0.05
+minimize 1.0e-7 1.0e-8 30000 100000000
+
+write_data system_after_min.data
diff --git a/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/run.in.stage1 b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/run.in.stage1
new file mode 100644
index 000000000..bf129df04
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/run.in.stage1
@@ -0,0 +1,110 @@
+# PREREQUISITES: You must run LAMMPS using "run.in.min" beforehand.
+# (This will create the "system_after_min0.data" file needed below.)
+#########################################################
+# Run using:
+#
+# lmp_ubuntu_parallel -i run.in.stage1
+#
+#########################################################
+# GPUs:
+# To enable gpu acceleration, make sure settings.in.init includes this line:
+# package gpu force/neigh 0 0 1.0 (make sure it is not commented out.)
+# ...and replace "lj/cut" in the "settings.in.init" and "settings.in.settings"
+# files with "lj/cut/gpu"
+
+
+# -- Init Section --
+
+include system.in.init
+
+# -- Atom Definition Section --
+
+#read_data system.data
+read_data system_after_min.data
+
+# -- Settings Section --
+
+include system.in.settings
+
+# -- Run Section --
+
+# DON'T MINIMIZE FIRST UNLESS YOU CHOOSE THE CORRECT INITIAL KbondC FORMULA
+#thermo_style custom step pe etotal vol epair ebond eangle edihed
+#thermo_modify norm no #(report total energy not energy / num_atoms)
+#thermo 20 #(time interval for printing out "thermo" data)
+#min_style sd
+#min_modify dmax 0.05
+#minimize 1.0e-7 1.0e-8 20000 1000000
+#write_data system_after_min_t=0.data
+
+
+mass * 1.0
+timestep 0.005 # "dt"
+dump 1 all custom 25000 traj_stage1.lammpstrj id mol type x y z ix iy iz
+reset_timestep 0
+
+
+# --- run the simulation ---
+
+
+# set the velocity to zero
+velocity all create 0.0 123456
+
+# To use Langevin dynamics in LAMMPS you need both "fix langevin" and "fix nve"
+# (See http://lammps.sandia.gov/doc/fix_langevin.html for details.)
+
+# Tstart Tstop tdamp randomseed
+
+fix fxlan all langevin 1.0 1.0 10.0 123456
+
+# pstart pstop pdamp(time-units, 2000 iters usually)
+#fix fxnph all nph x -0.000 -0.000 1.0
+fix fxnve all nve
+# (See http://lammps.sandia.gov/doc/fix_langevin.html)
+
+fix fxcenter all recenter 0.0 0.0 0.0
+
+thermo_style custom step temp pe etotal press vol epair ebond eangle edihed
+thermo_modify norm no #(report total energy not energy / num_atoms)
+thermo 1000 #(time interval for printing out "thermo" data)
+
+#balance dynamic x 20 1.0 -out tmp.balance
+#balance x uniform
+
+
+variable nloop1 loop 300
+
+ label loop1
+
+ print "############### LOOP ${nloop1} ###############"
+
+ # Now, change the bond-strength between condensin monomers.
+ # From the Naumova et al Science 2013 paper (supp materials)
+ # "Two-stage model: linear compaction + axial compression"
+ # "First, random consecutive loops with L=100 monomers (see above) were
+ # introduced, and anchors of neighboring loops were brought together
+ # using harmonic springs with a potential U = k * (r – r0)2; r0=0.5.
+ # To avoid abrupt motion of the loop anchors, the force was gradually
+ # turned on over the first 300000 timesteps, with k linearly increasing
+ # in time from 0 to 10 kT."
+ # Do this by changing the parameters in the force-field for these
+ # bonds.
+ #
+ # Formula used for "bond_style harmonic":
+ # Ubond(r) = k*(r-r0)^2
+ # bondType style
+ #bond_coeff 1 harmonic 0.1 0.5
+
+ variable time equal step
+ variable KbondC equal $((v_time+1)*(10.0/300000.0))
+ print "timestep = ${time}, KbondC = ${KbondC}" file KbondC_vs_time.dat
+
+ #bond_coeff 1 harmonic ${KbondC} 0.5
+ bond_coeff 1 harmonic ${KbondC} 0.5
+ run 1000
+
+ next nloop1
+ jump SELF loop1
+
+write_data system_after_stage1.data
+
diff --git a/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/run.in.stage2 b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/run.in.stage2
new file mode 100644
index 000000000..e429fc882
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/chromosome_metaphase_Naumova2013/run.in.stage2
@@ -0,0 +1,90 @@
+# PREREQUISITES: You must run LAMMPS using "run.in.stage1" beforehand.
+# (This will create the "system_after_stage1.data" file.)
+#########################################################
+# Run using:
+#
+# lmp_ubuntu_parallel -i run.in.stage2
+#
+#########################################################
+# eg:
+# time mpirun -np 2 lmp_ubuntu_parallel -i run.in -var seed 1
+#########################################################
+# GPUs:
+# To enable gpu acceleration, make sure settings.in.init includes this line:
+# package gpu force/neigh 0 0 1.0 (make sure it is not commented out.)
+# ...and replace "lj/cut" in the "settings.in.init" and "settings.in.settings"
+# files with "lj/cut/gpu"
+
+
+# -- Init Section --
+
+include system.in.init
+
+# -- Atom Definition Section --
+
+#read_data system.data
+read_data system_after_stage1.data
+
+# -- Settings Section --
+
+include system.in.settings
+
+# -- Run Section --
+
+
+mass * 1.0
+timestep 0.005 # "dt"
+dump 1 all custom 50000 traj_stage2.lammpstrj id mol type x y z ix iy iz
+reset_timestep 300000
+
+
+# --- run the simulation ---
+
+# set the velocity to zero
+velocity all create 0.0 123456
+
+# To use Langevin dynamics in LAMMPS you need both "fix langevin" and "fix nve"
+# (See http://lammps.sandia.gov/doc/fix_langevin.html for details.)
+
+# Tstart Tstop tdamp randomseed
+
+fix fxlan all langevin 1.0 1.0 10.0 123456
+
+# pstart pstop pdamp(time-units, 2000 iters usually)
+fix fxnve all nve
+# (See http://lammps.sandia.gov/doc/fix_langevin.html)
+
+fix fxcenter all recenter 0.0 0.0 0.0
+
+thermo_style custom step temp pe etotal press vol epair ebond eangle edihed
+thermo_modify norm no #(report total energy not energy / num_atoms)
+thermo 1000 #(time interval for printing out "thermo" data)
+
+#balance dynamic x 20 1.0 -out tmp.balance
+#balance x uniform
+
+# atomTypes pairStyle epsilon sigma rcutoff
+# 10nm-fiber
+#pair_coeff 1 1 lj/cut 1.0 1.0 2.5
+#pair_coeff 2 2 lj/cut 1.0 1.0 2.5
+# 30nm fiber (4.25^(1/3)=1.6198059006387417)
+pair_coeff 1 1 lj/cut 1.0 1.6198059006387417 4.049514751596854
+pair_coeff 2 2 lj/cut 1.0 1.6198059006387417 4.049514751596854
+
+
+# During stage 2, add attractive forces between all pairs of non-consecutive
+# condensin anchors. These forces are stored in the table file below:
+# bondType bondStyle filename label
+bond_coeff 2 table table_bonds_stage2.dat STAGE2
+
+# During stage 2, I assume the stage-1 bonds remain in place
+# (They have length 0.5.
+# After 300000 timesteps during stage 1, the "k" value should be 10.0.)
+
+# bondType bondStyle k r0
+bond_coeff 1 harmonic 10.0 0.5
+
+timestep 0.005
+run 1700000
+
+write_data system_after_stage2.data
diff --git a/tools/moltemplate/examples/coarse_grained/membrane+protein/README.txt b/tools/moltemplate/examples/coarse_grained/membrane+protein/README.txt
new file mode 100644
index 000000000..a2b9dc91e
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane+protein/README.txt
@@ -0,0 +1,70 @@
+ This example shows how to put a protein (inclusion) in a
+ lipid bilayer mixture composed of two different lipids (DPPC and DLPC).
+ The DPPC lipid model is described here:
+ G. Brannigan, P.F. Philips, and F.L.H. Brown,
+ Physical Review E, Vol 72, 011915 (2005)
+ (The DLPC model is a truncated version of DPPC. Modifications discussed below.)
+ The protein model is described here:
+ G. Bellesia, AI Jewett, and J-E Shea,
+ Protein Science, Vol19 141-154 (2010)
+
+--- PREREQUISITES: ---
+
+1) This example requires the "dihedral_style fourier", which is currently
+in the USER-MISC package. Build LAMMPS with this package enabled using
+ make yes-user-misc
+before compiling LAMMPS.
+(See http://lammps.sandia.gov/doc/Section_start.html#start_3 for details.)
+
+2) This example may require additional features to be added to LAMMPS.
+If LAMMPS complains about an "Invalid pair_style", then
+ a) download the "additional_lammps_code" from
+ http://moltemplate.org (upper-left corner menu)
+ b) unpack it
+ c) copy the .cpp and .h files to the src folding of your lammps installation.
+ d) (re)compile LAMMPS.
+
+
+----- Details --------
+
+This example contains a coarse-grained model of a 4-helix bundle protein
+inserted into a lipid bilayer (made from a mixture of DPPC and DLPC).
+
+ -- Protein Model: --
+
+The coarse-grained protein is described in:
+ G. Bellesia, AI Jewett, and J-E Shea, Protein Science, Vol19 141-154 (2010)
+Here we use the "AUF2" model described in that paper.
+(The hydrophobic beads face outwards.)
+
+ -- Memebrane Model: --
+
+The DPPC lipid bilayer described in:
+ G. Brannigan, P.F. Philips, and F.L.H. Brown,
+ Physical Review E, Vol 72, 011915 (2005)
+and:
+ M.C. Watson, E.S. Penev, P.M. Welch, and F.L.H. Brown
+ J. Chem. Phys. 135, 244701 (2011)
+
+As in Watson(JCP 2011), rigid bond-length constraints
+have been replaced by harmonic bonds.
+
+A truncated version of this lipid (named "DLPC") has also been added.
+The bending stiffness of each lipid has been increased to compensate
+for the additional disorder resulting from mixing two different types
+of lipids together. (Otherwise pores appear.)
+Unlike the original "DPPC" molecule model, the new "DPPC" and "DLPC" models
+have not been carefully parameterized to reproduce the correct behavior in
+a lipid bilayer mixture.
+
+
+-------------
+
+Instructions on how to build LAMMPS input files and
+run a short simulation are provided in other README files.
+
+step 1)
+README_setup.sh
+
+step2)
+README_run.sh
diff --git a/tools/moltemplate/examples/coarse_grained/membrane+protein/README_WARNING.txt b/tools/moltemplate/examples/coarse_grained/membrane+protein/README_WARNING.txt
new file mode 100644
index 000000000..f4b676352
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane+protein/README_WARNING.txt
@@ -0,0 +1,10 @@
+WARNING:
+
+ This is not a realistic simulation of proteins in a lipid membrane. This
+example was only intented to be a technical demonstration to show how to
+combine totally different kinds of coarse-grained molecules (with different
+kinds of force-fields) together in the same simulation in LAMMPS. Tuning the
+force-field parameters to get realistic results was not the goal. I did
+not take the extra time to do this. If you have suggestions for changes,
+please email me (jewett.aij at gmail dot com).
+
diff --git a/tools/moltemplate/examples/coarse_grained/membrane+protein/README_run.sh b/tools/moltemplate/examples/coarse_grained/membrane+protein/README_run.sh
new file mode 100755
index 000000000..29958f73a
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane+protein/README_run.sh
@@ -0,0 +1,33 @@
+# --- Running LAMMPS ---
+# -- Prerequisites: --
+# The "run.in.nvt" file is a LAMMPS input script containing
+# references to the input scripts and data files
+# you hopefully have created earlier with moltemplate.sh:
+# system.in.init, system.in.settings, system.data, and table_int.dat
+# If not, carry out the instructions in "README_setup.sh".
+#
+# -- Instructions: --
+# If "lmp_mpi" is the name of the command you use to invoke lammps,
+# then you would run lammps on these files this way:
+
+
+lmp_mpi -i run.in.npt # Run a simulation at constant pressure (tension)
+
+#or
+
+lmp_mpi -i run.in.nvt # Run a simulation at constant volume
+
+#(Note: The constant volume simulation lacks pressure equilibration. These are
+# completely separate simulations. The results of the constant pressure
+# simulation are ignored when beginning the simulation at constant volume.
+# This can be fixed. Read "run.in.nvt" for equilibration instructions.)
+
+
+
+
+
+# If you have compiled the MPI version of lammps, you can run lammps in parallel
+#mpirun -np 4 lmp_mpi -i run.in.npt
+#or
+#mpirun -np 4 lmp_mpi -i run.in.nvt
+# (assuming you have 4 processors available)
diff --git a/tools/moltemplate/examples/coarse_grained/membrane+protein/README_setup.sh b/tools/moltemplate/examples/coarse_grained/membrane+protein/README_setup.sh
new file mode 100755
index 000000000..ee7d9efdd
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane+protein/README_setup.sh
@@ -0,0 +1,28 @@
+# Use these commands to generate the LAMMPS input script and data file
+# (and other auxilliary files):
+
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh system.lt
+
+ # This will generate various files with names ending in *.in* and *.data.
+ # These files are the input files directly read by LAMMPS. Move them to
+ # the parent directory (or wherever you plan to run the simulation).
+
+ mv -f system.in* system.data ../
+
+ # The "table_int.dat" file contains tabular data for the lipid INT-INT atom
+ # 1/r^2 interaction. We need it too. (This slows down the simulation by x2,
+ # so I might look for a way to get rid of it later.)
+ cp -f table_int.dat ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
diff --git a/tools/moltemplate/examples/coarse_grained/membrane+protein/README_visualize.txt b/tools/moltemplate/examples/coarse_grained/membrane+protein/README_visualize.txt
new file mode 100644
index 000000000..a3e3ed620
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane+protein/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0}
+ pbc box -shiftcenterrel {0.0 0.15 0.0}
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/coarse_grained/membrane+protein/images/4HelixOrig+Lipid2005_t=1290ps_LR.jpg b/tools/moltemplate/examples/coarse_grained/membrane+protein/images/4HelixOrig+Lipid2005_t=1290ps_LR.jpg
new file mode 100644
index 000000000..246ee5462
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/membrane+protein/images/4HelixOrig+Lipid2005_t=1290ps_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/membrane+protein/images/membrane+protein_t=0ps_LR.jpg b/tools/moltemplate/examples/coarse_grained/membrane+protein/images/membrane+protein_t=0ps_LR.jpg
new file mode 100644
index 000000000..fdbb446ee
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/membrane+protein/images/membrane+protein_t=0ps_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/membrane+protein/images/membrane+protein_t=0ps_no_pbc_LR.jpg b/tools/moltemplate/examples/coarse_grained/membrane+protein/images/membrane+protein_t=0ps_no_pbc_LR.jpg
new file mode 100644
index 000000000..142f3f706
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/membrane+protein/images/membrane+protein_t=0ps_no_pbc_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/membrane+protein/images/membrane+protein_t=0ps_top_LR.jpg b/tools/moltemplate/examples/coarse_grained/membrane+protein/images/membrane+protein_t=0ps_top_LR.jpg
new file mode 100644
index 000000000..5d4b15b29
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/membrane+protein/images/membrane+protein_t=0ps_top_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/membrane+protein/images/membrane+protein_t=5000ps_LR.jpg b/tools/moltemplate/examples/coarse_grained/membrane+protein/images/membrane+protein_t=5000ps_LR.jpg
new file mode 100644
index 000000000..285389039
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/membrane+protein/images/membrane+protein_t=5000ps_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/membrane+protein/moltemplate_files/1beadProtSci2010.lt b/tools/moltemplate/examples/coarse_grained/membrane+protein/moltemplate_files/1beadProtSci2010.lt
new file mode 100644
index 000000000..2e510ebd9
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane+protein/moltemplate_files/1beadProtSci2010.lt
@@ -0,0 +1,233 @@
+# This file defines a 4-helix bundle coarse-grained protein model (AUF2) used in
+# G. Bellesia, AI Jewett, and J-E Shea,
+# Protein Science, Vol19 141-154 (2010)
+#
+# Strategy:
+#
+#1) First I'll define some building blocks (A16, B16, T3)
+# which are helices, sheets and turns of a predetermined length)
+#
+#2) Then I'll copy and paste them together to build
+# a 4-helix bundle (or a 4-strand beta-barrel).
+# This approach is optional. If your protein has helices which are not
+# identical, you should probably just include all 4 helices in a single
+# "Data Atoms" section and don't try to subdivide the protein into pieces.)
+
+
+
+1beadProtSci2010 { # <-- enclose definitions in a namespace for portability
+
+ # A16 is a coarse-grained alpha-helix containing 16 residues (one "atom" each)
+
+ A16 {
+
+ # AtomID MoleculeID AtomType Charge X Y Z
+
+ write('Data Atoms') {
+ $atom:a1 $mol:... @atom:../sL 0.0 -2.4 -2.4 0.0
+ $atom:a2 $mol:... @atom:../sL 0.0 2.4 -2.4 3.6
+ $atom:a3 $mol:... @atom:../sH 0.0 2.4 2.4 7.2
+ $atom:a4 $mol:... @atom:../sH 0.0 -2.4 2.4 10.8
+ $atom:a5 $mol:... @atom:../sL 0.0 -2.4 -2.4 14.4
+ $atom:a6 $mol:... @atom:../sL 0.0 2.4 -2.4 18.0
+ $atom:a7 $mol:... @atom:../sH 0.0 2.4 2.4 21.6
+ $atom:a8 $mol:... @atom:../sH 0.0 -2.4 2.4 25.2
+ $atom:a9 $mol:... @atom:../sL 0.0 -2.4 -2.4 28.8
+ $atom:a10 $mol:... @atom:../sL 0.0 2.4 -2.4 32.4
+ $atom:a11 $mol:... @atom:../sH 0.0 2.4 2.4 36.0
+ $atom:a12 $mol:... @atom:../sH 0.0 -2.4 2.4 39.6
+ $atom:a13 $mol:... @atom:../sL 0.0 -2.4 -2.4 43.2
+ $atom:a14 $mol:... @atom:../sL 0.0 2.4 -2.4 46.8
+ $atom:a15 $mol:... @atom:../sH 0.0 2.4 2.4 50.4
+ $atom:a16 $mol:... @atom:../sH 0.0 -2.4 2.4 54.0
+ }
+
+ write('Data Bonds') {
+ $bond:b1 @bond:../backbone $atom:a1 $atom:a2
+ $bond:b2 @bond:../backbone $atom:a2 $atom:a3
+ $bond:b3 @bond:../backbone $atom:a3 $atom:a4
+ $bond:b4 @bond:../backbone $atom:a4 $atom:a5
+ $bond:b5 @bond:../backbone $atom:a5 $atom:a6
+ $bond:b6 @bond:../backbone $atom:a6 $atom:a7
+ $bond:b7 @bond:../backbone $atom:a7 $atom:a8
+ $bond:b8 @bond:../backbone $atom:a8 $atom:a9
+ $bond:b9 @bond:../backbone $atom:a9 $atom:a10
+ $bond:b10 @bond:../backbone $atom:a10 $atom:a11
+ $bond:b11 @bond:../backbone $atom:a11 $atom:a12
+ $bond:b12 @bond:../backbone $atom:a12 $atom:a13
+ $bond:b13 @bond:../backbone $atom:a13 $atom:a14
+ $bond:b14 @bond:../backbone $atom:a14 $atom:a15
+ $bond:b15 @bond:../backbone $atom:a15 $atom:a16
+ }
+
+ } # A16
+
+
+ T3 { # T3 is a "turn" region consisting of 3 beads
+
+ # AtomID MoleculeID AtomType Charge X Y Z
+
+ write('Data Atoms') {
+ $atom:a1 $mol:... @atom:../tN 0.0 -4.8 0.0 0.0
+ $atom:a2 $mol:... @atom:../tN 0.0 0.0 3.3 -1.44
+ $atom:a3 $mol:... @atom:../tN 0.0 4.8 0.0 0.0
+ }
+
+ write('Data Bonds') {
+ $bond:b1 @bond:../backbone $atom:a1 $atom:a2
+ $bond:b2 @bond:../backbone $atom:a2 $atom:a3
+ }
+
+ } # T3
+
+
+ # ----- Now build a larger molecule using A16 and T3 -------
+
+ # Create a 4-Helix bundle.
+ # In this version, the hydrophobic beads are poing outward.
+ # I oriented them this way because I want to place this protein in a membrane.
+ # (There is another file in this directory containing alternate version
+ # of this same molecule with the hydrophobic beads pointing inward.)
+
+ 4HelixInsideOut {
+ helix1 = new A16.rot(-225, 0,0,1).move(-5.70,-5.70,-32.4)
+ helix2 = new A16.rot(-135, 0,0,1).move( 5.70,-5.70,-28.8)
+ helix3 = new A16.rot( -45, 0,0,1).move( 5.70, 5.70,-25.2)
+ helix4 = new A16.rot( 45, 0,0,1).move(-5.70, 5.70,-21.6)
+
+ turn1 = new T3.rot(180,1,0,0).rot(-20,0,1,0).rot( 10,0,0,1).move(0.78,-4.2, 27.9)
+ turn2 = new T3.rot(-10,1,0,0).rot( 20,0,1,0).rot(-70,0,0,1).move(4.55, 2.4,-33.0)
+ turn3 = new T3.rot(180,1,0,0).rot(-20,0,1,0).rot(190,0,0,1).move(-0.78,4.2, 34.2)
+
+ write('Data Bonds') {
+ $bond:turn1a @bond:../backbone $atom:turn1/a1 $atom:helix1/a16
+ $bond:turn1b @bond:../backbone $atom:turn1/a3 $atom:helix2/a16
+ $bond:turn2a @bond:../backbone $atom:turn2/a1 $atom:helix3/a1
+ $bond:turn2b @bond:../backbone $atom:turn2/a3 $atom:helix2/a1
+ $bond:turn3a @bond:../backbone $atom:turn3/a1 $atom:helix3/a16
+ $bond:turn3b @bond:../backbone $atom:turn3/a3 $atom:helix4/a16
+ }
+ create_var { $mol } # molecule ID number shared by all atoms in this protein
+
+ } # 4HelixInsideOut
+
+
+ # -------- Minor coordinates adjustment: -----------
+
+ # Those coordinates in the commands above are a little too large.
+ # To make it easier to type them in, I was using sigma=6.0 Angstroms.
+ # Instead, here I'll try using sigma=4.8 Angstroms. 4.8/6 = 0.8)
+
+ 4HelixInsideOut.scale(0.8)
+
+ # Note: "scale()" only effects the initial coordinates of
+ # the molecule, not the force field parameters.
+ # (If you plan to minimize the molecule, you don't need to
+ # be so careful about the initial coordinates. In that case,
+ # you don't have worry about "scale()". Feel free to remove.)
+
+
+
+ # -------------- Force-Field Parameters ------------
+
+ # Units and force-field styles for this protein model
+ # (These can be overridden later.)
+
+ write_once("In Init") {
+ units real
+ atom_style full
+ bond_style hybrid harmonic
+ angle_style hybrid harmonic
+ dihedral_style hybrid fourier
+ pair_style hybrid lj/charmm/coul/charmm/inter es4k4l maxmax 21.0 24.0
+ pair_modify mix arithmetic
+ special_bonds lj 0.0 0.0 1.0 #(turn on "1-4" interactions)
+ }
+
+ # --- Distance Units ---
+ # In this version of the model, sigma (the bond-length
+ # and particle diameter) is rounded to 4.8 Angstroms.
+ #
+ # --- Energy & Temperature Units ---
+ # In this protein model, "epsilon" represents the free energy
+ # bonus for bringing two hydrophobic amino acids together.
+ # Here I choose to set epsilon to 1.806551818181818 kCal/mole.
+ # This value was chosen so that a temperature of 300 Kelvin lies at
+ # 0.33 epsilon, which is the unfolding temperature of the marginally stable
+ # "ASF1" protein model from the Bellesia et al 2010 paper.
+ # This choice insures that both the "ASF1" model from that paper,
+ # as well as the much more stable "AUF2" protein we use here (which
+ # unfolds at 0.42*eps) should definitely remain stable at 300 degrees Kelvin,
+ # in the bulk at least. (However it's not clear that these energy
+ # parameters will work well for a protein in membrane. Perhaps I'll
+ # run some tests and fine tune these parameters for this scenario.)
+
+
+ # 2-body (non-bonded) interactions:
+ #
+ # Uij(r) = 4*eps_ij * (K*(sig_ij/r)^12 + L*(sig_ij/r)^6)
+ #
+ # i j pairstylename eps sig K L
+ #
+ write_once("In Settings") {
+ pair_coeff @atom:sH @atom:sH lj/charmm/coul/charmm/inter 1.8065518 4.8 1 -1
+ pair_coeff @atom:sL @atom:sL lj/charmm/coul/charmm/inter 1.8065518 4.8 1 0
+ pair_coeff @atom:tN @atom:tN lj/charmm/coul/charmm/inter 1.8065518 4.8 1 0
+ }
+
+ # The exact value of the bond_coeff does not matter too much as long as
+ # it is "stiff enough". Here I use a softer bond spring than the one
+ # used in the paper so that I can increase the time step.
+ # I also use a relatively soft spring to constrain the bond angles.
+
+ # bond_coeff bondType bondstylename k r0
+
+ write_once("In Settings") {
+ bond_coeff @bond:1beadProtSci2010/backbone harmonic 10.0 4.8
+ }
+
+
+ # angleType atomtypes1 2 3 bondtypes1 2
+
+ write_once("Data Angles By Type") {
+ @angle:backbone @atom:* @atom:* @atom:* @bond:* @bond:*
+ }
+
+ # angle_coeff angleType anglestylename k theta0
+ write_once("In Settings") {
+ angle_coeff @angle:backbone harmonic 100.0 105.0
+ }
+
+
+ # dihedralType atomtypes1 2 3 4 bondtypes1 2 3
+
+ write_once("Data Dihedrals By Type") {
+ # For a chain of sH and sL atoms, use the @dihedral:delta65_0
+ # parameters. (This corresponds to the "AUF2" model from the
+ # Bellesia et. al 2010 paper.)
+
+ @dihedral:delta65_0 @atom:s* @atom:s* @atom:s* @atom:s* * * *
+
+ # If "tN" (turn) atoms are present, use the @dihedral:turn parameters
+
+ @dihedral:turn @atom:tN @atom:* @atom:* @atom:* * * *
+ }
+
+ write_once("In Settings") {
+ dihedral_coeff @dihedral:delta60_0 fourier 2 2.167862 3 0 2.167862 1 -60.0
+ dihedral_coeff @dihedral:delta65_0 fourier 2 2.167862 3 0 2.167862 1 -65.0
+ dihedral_coeff @dihedral:turn fourier 1 0.361310 3 0
+ # Note: 2.167862=1.2*epsilon and 0.361310=0.2*epsilon.
+ }
+
+
+ # --- Mass Units ---
+ # Typical amino acids weigh approximately 110.0 grams/mole. (Rounding down):
+ write_once("Data Masses") {
+ @atom:1beadProtSci2010/sH 100.0
+ @atom:1beadProtSci2010/sL 100.0
+ @atom:1beadProtSci2010/tN 100.0
+ }
+
+} # 1beadProtSci2010 (namespace)
+
diff --git a/tools/moltemplate/examples/coarse_grained/membrane+protein/moltemplate_files/1beadProtSci2010_variations.lt b/tools/moltemplate/examples/coarse_grained/membrane+protein/moltemplate_files/1beadProtSci2010_variations.lt
new file mode 100644
index 000000000..38b1b48f8
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane+protein/moltemplate_files/1beadProtSci2010_variations.lt
@@ -0,0 +1,225 @@
+### THIS FILE IS OPTIONAL AND IS NOT NECESSARY. IN THIS FILE, I DEFINED SOME ##
+### ADDITIONAL PROTEIN TYPES FROM THE PAPER THAT I DID NOT USE IN THIS EXAMPLE##
+#
+# This file defines a family of coarse-grained protein models used in:
+# G. Bellesia, AI Jewett, and J-E Shea,
+# Protein Science, Vol19 141-154 (2010)
+#
+# Strategy:
+#
+#1) First I'll define some building blocks (A16, B16, T3)
+# which are helices, sheets and turns of a predetermined length)
+
+import "1beadProtSci2010.lt"
+
+# We defined A16 and T3 earlier in "1beadPRotSci2010.lt" Will define B16 below
+#
+#2) Then I'll copy and paste them together to build
+# a 4-helix bundle or a 4-strand beta-barrel.
+
+
+1beadProtSci2010 { #<-- Add new molecules to existing namespace defined earlier
+ # This way we don't have to start from scratch. We can
+ # use all the atom types and angle settings defined earlier
+
+ # B16 is a coarse-grained beta-strand containing 16 residues (one "atom" each)
+
+ B16 {
+
+ # AtomID MoleculeID AtomType Charge X Y Z
+
+ write('Data Atoms') {
+ $atom:a1 $mol:... @atom:../sL 0.0 -1.8 0.0 0.0
+ $atom:a2 $mol:... @atom:../sH 0.0 1.8 0.0 4.8
+ $atom:a3 $mol:... @atom:../sL 0.0 -1.8 0.0 9.6
+ $atom:a4 $mol:... @atom:../sH 0.0 1.8 0.0 14.4
+ $atom:a5 $mol:... @atom:../sL 0.0 -1.8 0.0 19.2
+ $atom:a6 $mol:... @atom:../sH 0.0 1.8 0.0 24.0
+ $atom:a7 $mol:... @atom:../sL 0.0 -1.8 0.0 28.8
+ $atom:a8 $mol:... @atom:../sH 0.0 1.8 0.0 33.6
+ $atom:a9 $mol:... @atom:../sL 0.0 -1.8 0.0 38.4
+ $atom:a10 $mol:... @atom:../sH 0.0 1.8 0.0 43.2
+ $atom:a11 $mol:... @atom:../sL 0.0 -1.8 0.0 48.0
+ $atom:a12 $mol:... @atom:../sH 0.0 1.8 0.0 52.8
+ $atom:a13 $mol:... @atom:../sL 0.0 -1.8 0.0 57.6
+ $atom:a14 $mol:... @atom:../sH 0.0 1.8 0.0 62.4
+ $atom:a15 $mol:... @atom:../sL 0.0 -1.8 0.0 67.2
+ $atom:a16 $mol:... @atom:../sH 0.0 1.8 0.0 72.0
+ }
+
+ write('Data Bonds') {
+ $bond:b1 @bond:../backbone $atom:a1 $atom:a2
+ $bond:b2 @bond:../backbone $atom:a2 $atom:a3
+ $bond:b3 @bond:../backbone $atom:a3 $atom:a4
+ $bond:b4 @bond:../backbone $atom:a4 $atom:a5
+ $bond:b5 @bond:../backbone $atom:a5 $atom:a6
+ $bond:b6 @bond:../backbone $atom:a6 $atom:a7
+ $bond:b7 @bond:../backbone $atom:a7 $atom:a8
+ $bond:b8 @bond:../backbone $atom:a8 $atom:a9
+ $bond:b9 @bond:../backbone $atom:a9 $atom:a10
+ $bond:b10 @bond:../backbone $atom:a10 $atom:a11
+ $bond:b11 @bond:../backbone $atom:a11 $atom:a12
+ $bond:b12 @bond:../backbone $atom:a12 $atom:a13
+ $bond:b13 @bond:../backbone $atom:a13 $atom:a14
+ $bond:b14 @bond:../backbone $atom:a14 $atom:a15
+ $bond:b15 @bond:../backbone $atom:a15 $atom:a16
+ }
+
+ } # B16
+
+ # ----- Now build larger molecules using B16 and T3 -------
+
+
+ 4SheetBarrel {
+ sheet1 = new B16.rot( 45, 0,0,1).move(-4.762203156,-4.762203156, -36.0)
+ sheet2 = new B16.rot( 135, 0,0,1).move( 4.762203156,-4.762203156, -36.0)
+ sheet3 = new B16.rot( 225, 0,0,1).move( 4.762203156, 4.762203156, -36.0)
+ sheet4 = new B16.rot( 315, 0,0,1).move(-4.762203156, 4.762203156, -36.0)
+
+ turn1 = new T3.rot(180,1,0,0).rot( 0, 0,0,1).move( 0, -7.8, 39.6)
+ turn2 = new T3.rot( 0,1,0,0).rot(-90,0,0,1).move(4.2, 0.0,-41.4)
+ turn3 = new T3.rot(180,1,0,0).rot(-180,0,0,1).move( 0, 7.8, 39.6)
+
+ write('Data Bonds') {
+ $bond:turn1a @bond:../backbone $atom:turn1/a1 $atom:sheet1/a16
+ $bond:turn1b @bond:../backbone $atom:turn1/a3 $atom:sheet2/a16
+ $bond:turn2a @bond:../backbone $atom:turn2/a1 $atom:sheet3/a1
+ $bond:turn2b @bond:../backbone $atom:turn2/a3 $atom:sheet2/a1
+ $bond:turn3a @bond:../backbone $atom:turn3/a1 $atom:sheet3/a16
+ $bond:turn3b @bond:../backbone $atom:turn3/a3 $atom:sheet4/a16
+ }
+ create_var { $mol } # molecule ID number shared by all atoms in this protein
+ }
+
+
+ # Below I define several alternate conformations of the"4HelixBundleInsideOut"
+ # molecule I defined earlier in "1beadProtSci2010.lt". Same molecule however.
+
+ 4HelixBundle {
+ helix1 = new A16.rot( -45, 0,0,1).move(-5.70,-5.70,-32.4)
+ helix2 = new A16.rot( 45, 0,0,1).move( 5.70,-5.70,-28.8)
+ helix3 = new A16.rot( 135, 0,0,1).move( 5.70, 5.70,-25.2)
+ helix4 = new A16.rot( 225, 0,0,1).move(-5.70, 5.70,-21.6)
+
+ write('Data Bonds') {
+ $bond:turn1a @bond:../backbone $atom:turn1/a1 $atom:helix1/a16
+ $bond:turn1b @bond:../backbone $atom:turn1/a3 $atom:helix2/a16
+ $bond:turn2a @bond:../backbone $atom:turn2/a1 $atom:helix3/a1
+ $bond:turn2b @bond:../backbone $atom:turn2/a3 $atom:helix2/a1
+ $bond:turn3a @bond:../backbone $atom:turn3/a1 $atom:helix3/a16
+ $bond:turn3b @bond:../backbone $atom:turn3/a3 $atom:helix4/a16
+ }
+
+ turn1 = new T3.rot(150,1,0,0).rot(-23,0,1,0).rot( 8,0,0,1).move(-3.6,-4.8,28.2)
+ turn2 = new T3.rot(-5,1,0,0).rot( 21,0,1,0).rot(-100,0,0,1).move(4.2,-0.66,-30.9)
+ turn3 = new T3.rot(150,1,0,0).rot(-23,0,1,0).rot(188,0,0,1).move(3.6,4.8,35.4)
+
+ create_var { $mol } # molecule ID number shared by all atoms in this protein
+
+ } # 4HelixBundle
+
+
+
+
+ # --- alternate conformations (same molecule) ----
+
+ # In the following version, the helices are oriented in a similar way,
+ # but they are separated a little further away from eachother.
+
+ 4HelixBundleLoose {
+
+ helix1 = new A16.rot( -45, 0,0,1).move(-6.7347723,-6.7347723, -27.0)
+ helix2 = new A16.rot( 45, 0,0,1).move( 6.7347723,-6.7347723, -27.0)
+ helix3 = new A16.rot( 135, 0,0,1).move( 6.7347723, 6.7347723, -27.0)
+ helix4 = new A16.rot( 225, 0,0,1).move(-6.7347723, 6.7347723, -27.0)
+
+ turn1 = new T3.rot(180,1,0,0).rot(-17,0,0,1).move(-1.2,-4.2,32.4)
+ turn2 = new T3.rot( 0,1,0,0).rot(-100,0,0,1).move(4.2,-0.9,-28.8)
+ turn3 = new T3.rot(180,1,0,0).rot(163,0,0,1).move(1.2,4.2,32.4)
+
+ write('Data Bonds') {
+ $bond:turn1a @bond:../backbone $atom:turn1/a1 $atom:helix1/a16
+ $bond:turn1b @bond:../backbone $atom:turn1/a3 $atom:helix2/a16
+ $bond:turn2a @bond:../backbone $atom:turn2/a1 $atom:helix3/a1
+ $bond:turn2b @bond:../backbone $atom:turn2/a3 $atom:helix2/a1
+ $bond:turn3a @bond:../backbone $atom:turn3/a1 $atom:helix3/a16
+ $bond:turn3b @bond:../backbone $atom:turn3/a3 $atom:helix4/a16
+ }
+ create_var { $mol } # molecule ID number shared by all atoms in this protein
+ }
+
+
+ # In following version, the helices are oriented in a similar way,
+ # but they are separated a little further away from eachother.
+
+ 4HelixInsideOutLoose {
+ helix1 = new A16.rot(-225, 0,0,1).move(-6.7347723,-6.7347723, -27.0)
+ helix2 = new A16.rot(-135, 0,0,1).move( 6.7347723,-6.7347723, -27.0)
+ helix3 = new A16.rot( -45, 0,0,1).move( 6.7347723, 6.7347723, -27.0)
+ helix4 = new A16.rot( 45, 0,0,1).move(-6.7347723, 6.7347723, -27.0)
+
+ turn1 = new T3.rot(180,1,0,0).rot( 10,0,0,1).move( 0.78,-4.2,28.8)
+ turn2 = new T3.rot( 70,1,0,0).rot(-70,0,0,1).move( 10.8,2.4,-28.2)
+ turn3 = new T3.rot(180,1,0,0).rot(190,0,0,1).move(-0.78,4.2,28.8)
+
+ write('Data Bonds') {
+ $bond:turn1a @bond:../backbone $atom:turn1/a1 $atom:helix1/a16
+ $bond:turn1b @bond:../backbone $atom:turn1/a3 $atom:helix2/a16
+ $bond:turn2a @bond:../backbone $atom:turn2/a1 $atom:helix3/a1
+ $bond:turn2b @bond:../backbone $atom:turn2/a3 $atom:helix2/a1
+ $bond:turn3a @bond:../backbone $atom:turn3/a1 $atom:helix3/a16
+ $bond:turn3b @bond:../backbone $atom:turn3/a3 $atom:helix4/a16
+ }
+ create_var { $mol } # molecule ID number shared by all atoms in this protein
+
+ } # 4HelixInsideOutLoose
+
+
+
+
+ # In the following version, the 4 helices are arranged next to each other,
+ # side-by-side, in a planar conformation (instead of a compact bundle).
+
+ 4HelixPlanar {
+ helix1 = new A16.rot(-00, 0,0,1).move(0, 0, -27.0)
+ helix2 = new A16.rot( 00, 0,0,1).move(14.4, 0, -27.0)
+ helix3 = new A16.rot(-00, 0,0,1).move(28.8, 0, -27.0)
+ helix4 = new A16.rot( 00, 0,0,1).move(43.2, 0, -27.0)
+
+ turn1 = new T3.rot(180,1,0,0).rot( 0,0,0,1).move( 4.8, 0, 31.8)
+ turn2 = new T3.rot( 0,1,0,0).rot(180,0,0,1).move(19.2, 0,-31.8)
+ turn3 = new T3.rot(180,1,0,0).rot( 0,0,0,1).move(34.6, 0, 31.8)
+
+ write('Data Bonds') {
+ $bond:turn1a @bond:../backbone $atom:turn1/a1 $atom:helix1/a16
+ $bond:turn1b @bond:../backbone $atom:turn1/a3 $atom:helix2/a16
+ $bond:turn2a @bond:../backbone $atom:turn2/a1 $atom:helix3/a1
+ $bond:turn2b @bond:../backbone $atom:turn2/a3 $atom:helix2/a1
+ $bond:turn3a @bond:../backbone $atom:turn3/a1 $atom:helix3/a16
+ $bond:turn3b @bond:../backbone $atom:turn3/a3 $atom:helix4/a16
+ }
+ create_var { $mol } # molecule ID number shared by all atoms in this protein
+
+ } # 4HelixPlanar
+
+
+ # -------- Minor coordinates adjustment: -----------
+ # Those coordinates in the commands above are a little too large.
+ # To make it easier to type them in, I was using sigma=6.0 Angstroms.
+ # Instead, here I'll try using sigma=4.8 Angstroms. 4.8/6.0 = 0.8)
+
+ 4SheetBarrel.scale(0.8)
+ 4HelixBundle.scale(0.8)
+ 4HelixBundleLoose.scale(0.8)
+ 4HelixInsideOutLoose.scale(0.8)
+ 4HelixPlanar.scale(0.8)
+
+ # Note: "scale()" only effects the initial coordinates of
+ # the molecule, not the force field parameters.
+ # (If you plan to minimize the molecule, you don't need to
+ # be so careful about the initial coordinates. In that case,
+ # you don't have worry about "scale()". Feel free to remove.)
+
+
+} # 1beadProtSci2010 (namespace)
+
diff --git a/tools/moltemplate/examples/coarse_grained/membrane+protein/moltemplate_files/CGLipidBr2005.lt b/tools/moltemplate/examples/coarse_grained/membrane+protein/moltemplate_files/CGLipidBr2005.lt
new file mode 100644
index 000000000..24be50ace
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane+protein/moltemplate_files/CGLipidBr2005.lt
@@ -0,0 +1,196 @@
+# Note:
+#
+# This example may require additional features to be added to LAMMPS. If
+# LAMMPS complains about an "Invalid pair_style", then download copy the
+# "additional_lammps_code" from moltemplate.org, unpack it into your LAMMPS
+# "src" directory and recompile LAMMPS.
+#
+# -------- Description --------
+#
+# This example contains an implementation of the DPPC lipid bilayer described in
+# G. Brannigan, P.F. Philips, and F.L.H. Brown,
+# Physical Review E, Vol 72, 011915 (2005)
+# and:
+# M.C. Watson, E.S. Penev, P.M. Welch, and F.L.H. Brown
+# J. Chem. Phys. 135, 244701 (2011)
+#
+# As in Watson(JCP 2011), rigid bond-length constraints have been replaced
+# by harmonic bonds.
+#
+# A truncated version of this lipid (named "DLPC") has also been added.
+# Unlike the original "DPPC" molecule model, "DLPC" has not been carefully
+# parameterized to reproduce the correct behavior in a lipid bilayer mixture.
+#
+# Units:
+#
+# The "epsilon" parameter in their model is approximately 2.75 kJ/mole
+# ( = 0.657265774378585 kCal/mole, using 1kCal=4.184kJ)
+# The "sigma" parameter corresponds to 7.5 angstroms.
+
+
+CGLipidBr2005 {
+
+
+ write_once("In Init") {
+ # -- Default styles for "CGLipidBr2005" --
+ units real
+ atom_style full
+ # (Hybrid force field styles were used for portability.)
+ bond_style hybrid harmonic
+
+ #angle_style hybrid cosine/delta # <- used in the original article
+ angle_style hybrid harmonic # <- prevents unphysical acute angle turns
+ # Explanation:
+ # angle_style cosine/delta: U(theta) = k*(1-cos(theta-theta0))
+ # angle_style harmonic: U(theta) = k*(theta-theta0)^2
+
+ dihedral_style none
+ improper_style none
+
+ pair_style hybrid table linear 1130 &
+ lj/charmm/coul/charmm/inter es4k4l 14.5 15
+
+ pair_modify mix arithmetic
+ special_bonds lj 0.0 0.0 1.0 # turn off pairs if "less than 3 bonds"
+ }
+
+
+ DPPC {
+ write("Data Atoms") {
+ $atom:h $mol:. @atom:head 0.0 0.00 0.00 33.75 # DPPC head atom
+ $atom:i $mol:. @atom:../int 0.0 -1.00 0.00 26.25
+ $atom:t1 $mol:. @atom:../tail 0.0 1.00 0.00 18.75
+ $atom:t2 $mol:. @atom:../tail 0.0 -1.00 0.00 11.25
+ $atom:t3 $mol:. @atom:../tail 0.0 1.00 0.00 3.75
+ }
+ write("Data Bonds") {
+ $bond:b1 @bond:../backbone $atom:h $atom:i
+ $bond:b2 @bond:../backbone $atom:i $atom:t1
+ $bond:b3 @bond:../backbone $atom:t1 $atom:t2
+ $bond:b4 @bond:../backbone $atom:t2 $atom:t3
+ }
+ write("Data Angles") {
+ $angle:a1 @angle:../backbone $atom:h $atom:i $atom:t1
+ $angle:a2 @angle:../backbone $atom:i $atom:t1 $atom:t2
+ $angle:a3 @angle:../backbone $atom:t1 $atom:t2 $atom:t3
+ }
+
+ # Define properties of the local (lipid-specific) atom:head type atom:
+ write_once("Data Masses") {
+ @atom:head 200.0
+ }
+ write_once("In Settings") {
+ pair_coeff @atom:head @atom:head lj/charmm/coul/charmm/inter 0.1643 7.5 0.4 0
+ pair_coeff @atom:../int @atom:head lj/charmm/coul/charmm/inter 0.1643 7.5 0.4 0
+ pair_coeff @atom:../tail @atom:head lj/charmm/coul/charmm/inter 0.1643 7.5 0.4 0
+ }
+
+ } #DPPC
+
+
+ DLPC {
+ write("Data Atoms") {
+ $atom:h $mol:. @atom:head 0.0 0.00 0.00 30.00 # DLPC head atom
+ $atom:i $mol:. @atom:../int 0.0 -1.00 0.00 22.50
+ $atom:t1 $mol:. @atom:../tail 0.0 1.00 0.00 15.00
+ $atom:t2 $mol:. @atom:../tail 0.0 -1.00 0.00 7.50
+ }
+ write("Data Bonds") {
+ $bond:b1 @bond:../backbone $atom:h $atom:i
+ $bond:b2 @bond:../backbone $atom:i $atom:t1
+ $bond:b3 @bond:../backbone $atom:t1 $atom:t2
+ }
+ write("Data Angles") {
+ $angle:a1 @angle:../backbone $atom:h $atom:i $atom:t1
+ $angle:a2 @angle:../backbone $atom:i $atom:t1 $atom:t2
+ }
+ # Define properties of the local (lipid-specific) atom:head type atom:
+ write_once("Data Masses") {
+ @atom:head 200.0
+ }
+ write_once("In Settings") {
+ pair_coeff @atom:head @atom:head lj/charmm/coul/charmm/inter 0.1643 7.5 0.4 0
+ pair_coeff @atom:../int @atom:head lj/charmm/coul/charmm/inter 0.1643 7.5 0.4 0
+ pair_coeff @atom:../tail @atom:head lj/charmm/coul/charmm/inter 0.1643 7.5 0.4 0
+ }
+ } #DLPC
+
+
+ # Particles and properties shared by all lipid types:
+
+ write_once("Data Masses") {
+ @atom:int 200.0
+ @atom:tail 200.0
+ }
+
+ write_once("In Settings") {
+ # -- Default settings/parameters for "CGLipidBr2005" --
+ # (Hybrid bond & angle styles were used for portability.)
+
+ # As in Watson(JCP 2011), rigid bond-length constraints
+ # have been replaced by harmonic bonds.
+ # The k_theta parameter should lie in between 5*epsilon and 10*epsilon.
+ bond_coeff @bond:backbone harmonic 116.847 7.5 #<--2*5000*eps/sig^2
+ }
+
+ write_once("In Settings") {
+ # cosine/delta: U(theta) = k*(1-cos(theta-theta0))
+ #angle_coeff @angle:backbone cosine/delta 4.60086042 180 #<-- 7*eps
+ # harmonic: U(theta) = k*(theta-theta0)^2 not (k/2)*(theta-theta0)^2
+ angle_coeff @angle:backbone harmonic 9.85898661 180 #<-->30*eps
+ }
+ # I use a stiffer bond-angle than the original Brannigan & Brown 2005 paper
+ # to attempt to compensate for the fact that here we are using a lipid
+ # mixture of DPPC and DLPC. (The mixture of lipids introduces a great deal
+ # of disorder into the bilayer which would not be present in a DPPC bilayer.
+ # This causes pores to form. Increasing the angle stiffness prevents this.)
+
+ write_once("In Settings") {
+
+ # The interaction of "atom:int" with other "atom:int" atoms is given by
+ # epsilon*(0.4*(sigma/r)^12 - 3.0*(sigma/r)^2), shifted and cutoff at
+ # r=3*sigma. This was implemented using pair_style table.
+ # Unfortunately, mixing lj/charmm and "table" pair styles in the same
+ # simulation is very inneficient.
+
+ pair_coeff @atom:int @atom:int table table_int.dat INT
+
+ # The interaction of tail beads with eachother is given by the formula below
+ # and with other atoms ...using Lorenz-Berthelot and "repulsive wins" rules:
+ # epsilon*(0.4*(sigma/r)^12 - 1.0*(sigma/r)^6),
+ pair_coeff @atom:tail @atom:tail lj/charmm/coul/charmm/inter 0.1643 7.5 0.4 -1
+ pair_coeff @atom:int @atom:tail lj/charmm/coul/charmm/inter 0.1643 7.5 0.4 -1
+
+ # The interaction between head beads from different types of lipids
+ # is (currently) repulsive:
+ pair_coeff @atom:DPPC/head @atom:DLPC/head lj/charmm/coul/charmm/inter 0.1643 7.5 0.4 0
+
+ } # write_once("In Settings")
+
+
+ # Note: I divided epsilon by 4 to get "0.1643" because we are using the
+ # "es4k4l" coeffstyle, corresponding to U(r)=eps(4*K*(s/r)^12 + 4*L*(s/r)^6)
+ # (The "es4k4l" coeffstyle is the default.) Using this convention makes it
+ # easier to mix this coarse-grained lipid model with other molecular models.
+
+
+
+} # CGLipidBr2005
+
+
+
+
+
+
+
+
+# Note: This example has not been optimized for speed.
+#
+# Unfortunately, using both lj/charmm and "table" pair styles in the same
+# simulation seems to be very inneficient. (The simulation is twice as slow
+# as using only the "lj/charmm" pair styles for every pairwise interaction,
+# ...and about 25% slower than using "table" for every pairwise interaction.
+# However the lennard-jones pair styles support mixing, so we use them to
+# make it easier to run these molecules with other molecules which don't use
+# pair_table. I felt that portability was worth the extra 25% slow down.)
+
diff --git a/tools/moltemplate/examples/coarse_grained/membrane+protein/moltemplate_files/calc_table/calc_CGLipidTableINTvsINT.py b/tools/moltemplate/examples/coarse_grained/membrane+protein/moltemplate_files/calc_table/calc_CGLipidTableINTvsINT.py
new file mode 100755
index 000000000..1158a9cf7
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane+protein/moltemplate_files/calc_table/calc_CGLipidTableINTvsINT.py
@@ -0,0 +1,29 @@
+#!/usr/bin/env python
+
+# Calculate a table of pairwise energies and forces between "INT" atoms
+# in the lipid membrane model described in
+# Brannigan et al, Phys Rev E, 72, 011915 (2005)
+# The energy of this interaction U(r) = eps*(0.4*(sigma/r)^12 - 3.0*(sigma/r)^2)
+# However it is truncated at rc2 = 22.5 (shifted upwards to maintain continuity)
+
+def U(r, eps, sigma):
+ return eps* (0.4*pow((sigma/r),12) - 3.0*sigma*sigma/(r*r))
+def F(r, eps, sigma):
+ return eps*(12*0.4*pow((sigma/r),13)/sigma - 2*3.0*sigma*sigma/(r*r*r))
+
+epsilon = 2.75/4.184 # kCal/mole
+sigma = 7.5
+Rmin = 0.02
+Rmax = 22.6
+rcut = 22.5
+N = 1130
+
+for i in range(0,N):
+ r = Rmin + i*(Rmax-Rmin)/(N-1)
+ U_r = U(r, epsilon, sigma) - U(rcut, epsilon, sigma)
+ F_r = F(r, epsilon, sigma)
+ if r > rcut:
+ U_r = 0.0
+ F_r = 0.0
+ print(str(i+1)+' '+str(r)+' '+str(U_r)+' '+str(F_r))
+
diff --git a/tools/moltemplate/examples/coarse_grained/membrane+protein/moltemplate_files/calc_table/version_charmm_cutoff/calc_table.py b/tools/moltemplate/examples/coarse_grained/membrane+protein/moltemplate_files/calc_table/version_charmm_cutoff/calc_table.py
new file mode 100755
index 000000000..e7f0fe462
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane+protein/moltemplate_files/calc_table/version_charmm_cutoff/calc_table.py
@@ -0,0 +1,70 @@
+#!/usr/bin/env python
+
+# Calculate a table of pairwise energies and forces between "INT" atoms
+# in the lipid membrane model described in
+# Brannigan et al, Phys Rev E, 72, 011915 (2005)
+# The energy of this interaction U(r) = eps*(0.4*(sigma/r)^12 - 3.0*(sigma/r)^2)
+# I realized later this is not what we want because although energy is conserved
+# all enrgies are shifted with respect to energies used in the Brannigan paper
+# (by 0.27 kCal/mole) and the later Watson JCP 2011 paper (by 0.224 kCal/mole).
+# (So don't use this.)
+
+# Calculate and print a
+
+def S(r, rc1, rc2, derivative=False):
+ """
+ Calculate the switching function S(r) which decays continuously
+ between 1 and 0 in the range from rc1 to rc2 (rc2>rc1):
+ S(r) = (rc2^2 - r^2)^2 * (rc2^2 + 2*r^2 - 3*rc1^2) / (rc2^2-rc1^2)^3
+ I'm using the same smoothing/switching cutoff function used by the CHARMM
+ force-fields. (I'm even using the same code to implement it, taken
+ from lammps charmm/coul/charmm pair style, rewritten in python.)
+
+ """
+ assert(rc2>rc1)
+ rsq = r*r
+ rc1sq = rc1*rc1
+ rc2sq = rc2*rc2
+ denom_lj_inv = (1.0 / ((rc2sq-rc1sq)*
+ (rc2sq-rc1sq)*
+ (rc2sq-rc1sq)))
+ if rsq > rc2sq:
+ return 0.0
+ elif rsq < rc1sq:
+ if derivative:
+ return 0.0
+ else:
+ return 1.0
+ else:
+ rc2sq_minus_rsq = (rc2sq - rsq)
+ rc2sq_minus_rsq_sq = rc2sq_minus_rsq * rc2sq_minus_rsq
+ if derivative:
+ return (12.0 * rsq * rc2sq_minus_rsq * (rsq-rc1sq) * denom_lj_inv)
+ else:
+ return (rc2sq_minus_rsq_sq *
+ (rc2sq + 2.0*rsq - 3.0*rc1sq) * denom_lj_inv)
+
+
+def U(r, eps, sigma):
+ return eps* (0.4*pow((sigma/r),12) - 3.0*sigma*sigma/(r*r))
+
+def F(r, eps, sigma):
+ return eps*(12*0.4*pow((sigma/r),13)/sigma - 2*3.0*sigma*sigma/(r*r*r))
+
+epsilon = 2.75/4.184 # kCal/mole
+sigma = 7.5
+Rmin = 0.02
+Rmax = 22.6
+Rc1 = 22.0
+Rc2 = 22.5
+N = 1130
+
+for i in range(0,N):
+ r = Rmin + i*(Rmax-Rmin)/(N-1)
+ U_r = U(r, epsilon, sigma)
+ F_r = F(r, epsilon, sigma)
+ # Multiply U(r) & F(r) by the smoothing/switch function
+ U_r = U_r * S(r, Rc1, Rc2)
+ F_r = U_r * S(r, Rc1, Rc2, True) + F_r * S(r, Rc1, Rc2, False)
+ print(str(i+1)+' '+str(r)+' '+str(U_r)+' '+str(F_r))
+
diff --git a/tools/moltemplate/examples/coarse_grained/membrane+protein/moltemplate_files/system.lt b/tools/moltemplate/examples/coarse_grained/membrane+protein/moltemplate_files/system.lt
new file mode 100644
index 000000000..3e521b0f9
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane+protein/moltemplate_files/system.lt
@@ -0,0 +1,178 @@
+# Description:
+
+# This example shows how to put a protein (inclusion) in a
+# lipid bilayer mixture composed of two different lipids (DPPC and DLPC).
+# The DPPC lipid model is described here:
+# G. Brannigan, P.F. Philips, and F.L.H. Brown,
+# Physical Review E, Vol 72, 011915 (2005)
+# The protein model is described here:
+# G. Bellesia, AI Jewett, and J-E Shea,
+# Protein Science, Vol19 141-154 (2010)
+# The new DLPC model is a truncated version of DPPC,
+# (Its behaviour has not been rigorously tested.)
+# Note that 50%/50% mixtures of DPPC & DLPC are commonly used to
+# build liposomes http://www.ncbi.nlm.nih.gov/pubmed/10620293
+
+# Note:
+# This example may require additional features to be added to LAMMPS.
+# If LAMMPS complains about an "Invalid pair_style", then copy the code
+# in the "additional_lammps_code" directory into your LAMMPS "src" directory
+# and recompile LAMMPS.
+
+
+
+import "CGLipidBr2005.lt"
+
+using namespace CGLipidBr2005
+
+# The "= new random" syntax chooses one of several molecules at random
+
+lipids = new random([DPPC, DLPC], [0.5,0.5], 1234) #"1234"=random_seed
+ [13].move(7.5, 0, 0)
+ [15].move(3.75, 6.49519, 0) # <-- hexagonal lattice
+ [2].rot(180, 1, 0, 0) # <-- 2 monolayers
+
+# Move all the lipds up to the center of the box
+
+lipids[*][*][*].move(0,0,75.0)
+
+
+
+
+# Although this patch of lipids is not square or rectangular, (it looks
+# like a parallelogram), this is no longer the case after rectangular
+# periodic boundary conditions are applied. (Check by visualising in VMD.)
+
+
+write_once("Data Boundary") {
+ 0 97.5 xlo xhi
+ 0 97.42785792 ylo yhi
+ 0 150.0 zlo zhi
+}
+
+
+# A note on geometry:
+# We want to create a bilayer arranged in a hexagonal lattice consisting of
+# 15 rows (each row is aligned with the x-axis)
+# 13 columns (aligned at a 60 degree angle from the x axis)
+# The lattice spacing is 7.5 Angstroms.
+# When wrapped onto a rectangular box, the dimensions of the system are:
+# 13 * 7.5 Angstroms in the X direction
+# 15 * 7.5*sqrt(3)/2 Angstroms in the Y direction
+
+
+
+
+
+
+
+# ------------------- protein inclusion ---------------------
+
+import "1beadProtSci2010.lt"
+
+using namespace 1beadProtSci2010
+
+protein = new 4HelixInsideOut
+
+protein.move(45.0, 25.98076211, 75.0)
+
+
+# Delete a hole in the membrane to create space for the protein.
+# (In the future moltemplate will be able to avoid occlusion automatically.)
+
+
+delete lipids[4][2][*]
+delete lipids[6][2][*]
+delete lipids[3-6][3][*]
+delete lipids[3-5][4][*]
+delete lipids[2-5][5][*]
+delete lipids[2][6][*]
+delete lipids[4][6][*]
+
+
+# -------- interactions between protein and lipids ----------
+
+# Note: All atom types must include the full path (the name of
+# the namespace which defined them as well as the atom type name).
+# (This is because we are no longer inside that namespace.)
+
+
+write_once("In Settings") {
+
+ # Interactions between the protein and lipid atoms are usually
+ # determined by mixing rules. However this is not possible some
+ # for atoms (such as the "int" atoms in the lipid model which
+ # interact using -1/r^2 attraction). Lorentz-Berthelot mixing
+ # rules do not make sense for these atoms so we must explicitly
+ # define their interaction with all other atoms.
+
+ # i j pairstylename eps sig K L
+
+ pair_coeff @atom:CGLipidBr2005/int @atom:1beadProtSci2010/sH lj/charmm/coul/charmm/inter 1.8065518 7.5 1 -1
+ pair_coeff @atom:CGLipidBr2005/int @atom:1beadProtSci2010/sL lj/charmm/coul/charmm/inter 1.8065518 7.5 1 0
+ pair_coeff @atom:CGLipidBr2005/int @atom:1beadProtSci2010/tN lj/charmm/coul/charmm/inter 1.8065518 7.5 1 0
+
+ # We want the interactions between hydrophobic residues and atoms in
+ # the interior of the lipid to be energetically similar to the attractive
+ # interactions between hydrophobic residues. (See 1beadProtSci2010.)
+
+ pair_coeff @atom:CGLipidBr2005/tail @atom:1beadProtSci2010/sH lj/charmm/coul/charmm/inter 1.8065518 7.5 1 -1
+
+ # All other interactions between proteins and lipids are steric.
+ pair_coeff @atom:CGLipidBr2005/tail @atom:1beadProtSci2010/sL lj/charmm/coul/charmm/inter 1.8065518 7.5 1 0
+ pair_coeff @atom:CGLipidBr2005/tail @atom:1beadProtSci2010/tN lj/charmm/coul/charmm/inter 1.8065518 7.5 1 0
+ pair_coeff @atom:CGLipidBr2005/DPPC/head @atom:1beadProtSci2010/sH lj/charmm/coul/charmm/inter 1.8065518 7.5 1 0
+ pair_coeff @atom:CGLipidBr2005/DPPC/head @atom:1beadProtSci2010/sL lj/charmm/coul/charmm/inter 1.8065518 7.5 1 0
+ pair_coeff @atom:CGLipidBr2005/DLPC/head @atom:1beadProtSci2010/sH lj/charmm/coul/charmm/inter 1.8065518 7.5 1 0
+ pair_coeff @atom:CGLipidBr2005/DLPC/head @atom:1beadProtSci2010/sL lj/charmm/coul/charmm/inter 1.8065518 7.5 1 0
+
+
+ # We also add an artificial attractive interaction between the
+ # turn residues of the protein and the lipid head groups in
+ # order to keep the protein upright. This might not be necessary
+
+ pair_coeff @atom:CGLipidBr2005/DPPC/head @atom:1beadProtSci2010/tN lj/charmm/coul/charmm/inter 1.8065518 6.0 1 -1
+ pair_coeff @atom:CGLipidBr2005/DLPC/head @atom:1beadProtSci2010/tN lj/charmm/coul/charmm/inter 1.8065518 6.0 1 -1
+
+ # Add a weak attractive interaction between hydrophilic "sL" beads
+ # (Whose strength mimics the strength of interaction between tail beads
+ # in the lipid. This was absent from the original protein model.
+ # However without some kind of weak attraction between residues,
+ # the negative pressure in the interior of the bilayer membrane
+ # allways pulls the protein apart. Recall that in the membrane,
+ # the hydrophobic beads in the protein will face outwards towards the lipid
+ # tails leaving the hydrophilic amino acids of the protein in the interior.
+ # In reality, these polar groups form hydrogen bonds with each other.)
+
+ pair_coeff @atom:1beadProtSci2010/sL @atom:1beadProtSci2010/sL lj/charmm/coul/charmm/inter 0.3286 6.0 0.4 -1
+
+ # However these hydrophilic amino acids are not attrected to
+ # the bilayer interior.
+
+ pair_coeff @atom:CGLipidBr2005/int @atom:1beadProtSci2010/sL lj/charmm/coul/charmm/inter 0.1643 7.5 0.4 0
+ pair_coeff @atom:CGLipidBr2005/tail @atom:1beadProtSci2010/sL lj/charmm/coul/charmm/inter 0.1643 7.5 0.4 0
+
+}
+
+
+
+
+# Finally, we must combine the two force-field styles which were used for
+# the coarse-grained lipid and protein. To do that, we write one last time
+# to the "In Init" section. When reading the "Init" section LAMMPS will
+# read these commands last and this will override any earlier settings.
+
+write_once("In Init") {
+ # -- These styles override earlier settings --
+ units real
+ atom_style full
+ # (Hybrid force field styles were used for portability.)
+ bond_style hybrid harmonic
+ angle_style hybrid cosine/delta harmonic
+ dihedral_style hybrid fourier
+ improper_style none
+ pair_style hybrid table linear 1001 lj/charmm/coul/charmm/inter es4k4l 14.5 15
+ pair_modify mix arithmetic
+ special_bonds lj 0.0 0.0 1.0 # turn off pairs if "less than 3 bonds"
+}
+
diff --git a/tools/moltemplate/examples/coarse_grained/membrane+protein/moltemplate_files/table_int.dat b/tools/moltemplate/examples/coarse_grained/membrane+protein/moltemplate_files/table_int.dat
new file mode 100644
index 000000000..b0d651d67
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane+protein/moltemplate_files/table_int.dat
@@ -0,0 +1,1139 @@
+# Table for the INT-INT interaction from
+# Brannigan et al, Phys Rev E, 72, 011915 (2005)
+# This table contains
+# i r_i U(r_i) -dU/dr|r_i
+# where U(r) = eps*(0.4*(sigma/r)^12 - 3.0*(sigma/r)^2)
+
+INT
+N 1130
+
+1 0.02 2.0331818401e+30 1.21990910406e+33
+2 0.04 4.9638228518e+26 1.48914685554e+29
+3 0.06 3.82579033251e+24 7.65158066501e+26
+4 0.08 1.21187081343e+23 1.81780622014e+25
+5 0.1 8.32791281704e+21 9.99349538045e+23
+6 0.12 9.34030842897e+20 9.34030842897e+22
+7 0.14 1.46892540453e+20 1.25907891817e+22
+8 0.16 2.95866897809e+19 2.21900173357e+21
+9 0.18 7.19889946863e+18 4.79926631242e+20
+10 0.2 2.0331818401e+18 1.21990910406e+20
+11 0.22 6.47834392264e+17 3.53364213962e+19
+12 0.24 2.28034873754e+17 1.14017436877e+19
+13 0.26 8.72681951932e+16 4.02776285507e+18
+14 0.28 3.58624366341e+16 1.53696157003e+18
+15 0.3 1.56704372019e+16 6.26817488078e+17
+16 0.32 7.2233129348e+15 2.70874235055e+17
+17 0.34 3.48970861422e+15 1.23166186384e+17
+18 0.36 1.75754381558e+15 5.85847938527e+16
+19 0.38 9.18613895646e+14 2.90088598625e+16
+20 0.4 4.96382285179e+14 1.48914685554e+16
+21 0.42 2.76404230108e+14 7.89726371739e+15
+22 0.44 1.58162693423e+14 4.31352800247e+15
+23 0.46 9.27773983256e+13 2.42027995633e+15
+24 0.48 5.56725765996e+13 1.391814415e+15
+25 0.5 3.41111308981e+13 8.18667141564e+14
+26 0.52 2.13057117167e+13 4.91670270393e+14
+27 0.54 1.35459994024e+13 3.0102220895e+14
+28 0.56 8.75547769351e+12 1.87617379153e+14
+29 0.58 5.74645813711e+12 1.18892237325e+14
+30 0.6 3.8257903322e+12 7.65158066491e+13
+31 0.62 2.58128463312e+12 4.99603477424e+13
+32 0.64 1.7635041342e+12 3.30657025205e+13
+33 0.66 1.21901470178e+12 2.21639036726e+13
+34 0.68 8.51979641904e+11 1.50349348607e+13
+35 0.7 6.0167184547e+11 1.0314374497e+13
+36 0.72 4.29087845387e+11 7.15146409276e+12
+37 0.74 3.08855637556e+11 5.00846980094e+12
+38 0.76 2.24270970425e+11 3.54112058818e+12
+39 0.78 1.64210505205e+11 2.52631546702e+12
+40 0.8 1.2118708117e+11 1.81780621971e+12
+41 0.82 90109367359.1 1.31867367068e+12
+42 0.84 67481501334.4 9.64021449503e+11
+43 0.86 50880896383.4 7.09965997788e+11
+44 0.88 38613938681.2 5.26553710913e+11
+45 0.9 29486692086.8 3.93155896009e+11
+46 0.92 22650731882.4 2.95444330322e+11
+47 0.94 17498544395.3 2.23385674464e+11
+48 0.96 13591937526.4 1.69899220331e+11
+49 0.98 10612635712.6 1.29950642555e+11
+50 1.0 8327912706.34 99934953582.6
+51 1.02 6566502316.69 77252969474.2
+52 1.04 5201589672.36 60018343356.8
+53 1.06 4138717434.11 46853405843.3
+54 1.08 3307128665.58 36745874940.0
+55 1.1 2653529579.27 28947596241.1
+56 1.12 2137567708.15 22902511945.9
+57 1.14 1728534024.3 18195095739.0
+58 1.16 1402943799.0 14513212422.1
+59 1.18 1142752163.37 11621209113.9
+60 1.2 934030766.093 9340308300.6
+61 1.22 765981286.774 7534242773.65
+62 1.24 630196371.787 6098675145.29
+63 1.26 520103253.414 4953364870.6
+64 1.28 430542934.103 4036340534.04
+65 1.3 357450462.101 3299543229.91
+66 1.32 297610947.802 2705554551.18
+67 1.34 248472587.186 2225128105.44
+68 1.36 208002782.573 1835319108.76
+69 1.38 174576985.011 1518061159.35
+70 1.4 146892484.084 1259078837.33
+71 1.42 123901294.937 1047053582.16
+72 1.44 104757721.536 872981382.419
+73 1.46 88777241.639 729676313.267
+74 1.48 75404158.02 611385405.387
+75 1.5 64186061.7033 513488820.507
+76 1.52 54753607.1486 432265633.695
+77 1.54 46804443.7318 364710253.134
+78 1.56 40090410.0598 308388060.159
+79 1.58 34407297.9713 261321529.95
+80 1.6 29586646.6744 221900119.2
+81 1.62 25489145.661 188808745.634
+82 1.64 21999316.2868 160970856.824
+83 1.66 19021212.5921 137502982.517
+84 1.68 16474936.8715 117678352.86
+85 1.7 14293808.3245 100897694.735
+86 1.72 12422056.6082 86665727.6626
+87 1.74 10812938.3788 74572197.8496
+88 1.76 9427195.57103 64276535.39
+89 1.78 8231790.46096 55495411.7777
+90 1.8 7198865.45512 47992625.088
+91 1.82 6304885.77339 41570857.9644
+92 1.84 5529931.32911 36064946.1544
+93 1.86 4857110.59557 31336368.341
+94 1.88 4272074.43377 27268725.7382
+95 1.9 3762612.01167 23764025.6584
+96 1.92 3318314.28383 20739619.609
+97 1.94 2930293.18879 18125675.4316
+98 1.96 2590946.89128 15863086.114
+99 1.98 2293763.15199 13901736.4186
+100 2.0 2033154.33079 12199063.3122
+101 2.02 1804318.68586 10718858.1296
+102 2.04 1603123.57305 9430268.02169
+103 2.06 1426006.91783 8306962.01537
+104 2.08 1269893.96121 7326433.30293
+105 2.1 1132126.79514 6469414.48445
+106 2.12 1010404.62602 5719386.63441
+107 2.14 902733.052344 5062166.44376
+108 2.16 807380.928986 4485558.44681
+109 2.18 722843.627253 3979061.59742
+110 2.2 647811.695319 3533621.30686
+111 2.22 581144.085827 3141419.57242
+112 2.24 521845.251959 2795697.07302
+113 2.26 469045.525153 2490602.13576
+114 2.28 421984.280794 2221062.32522
+115 2.3 379995.475978 1982675.10836
+116 2.32 342495.208369 1771614.62868
+117 2.34 308970.999537 1584552.10475
+118 2.36 278972.551763 1418587.76828
+119 2.38 252103.765513 1271192.59046
+120 2.4 228015.837009 1140158.32224
+121 2.42 206401.282366 1023554.60663
+122 2.44 186988.75765 919692.114521
+123 2.46 169538.563484 827090.818108
+124 2.48 153838.739168 744452.651831
+125 2.5 139701.665073 670637.92543
+126 2.52 126961.103835 604644.949624
+127 2.54 115469.620781 545592.416037
+128 2.56 105096.332511 492704.141327
+129 2.58 95724.9397832 445295.843157
+130 2.6 87252.0069441 402763.664479
+131 2.62 79585.4554502 364574.203947
+132 2.64 72643.2434671 330255.845328
+133 2.66 66352.2073932 299391.208536
+134 2.68 60647.0444312 271610.570248
+135 2.7 55469.4181565 246586.123584
+136 2.72 50767.1714483 224026.964698
+137 2.74 46493.633237 203674.709811
+138 2.76 42607.0073083 185299.659567
+139 2.78 39069.8329526 168697.439095
+140 2.8 35848.5085794 153686.051901
+141 2.82 32912.8705664 140103.294183
+142 2.84 30235.8206098 127804.483324
+143 2.86 27792.9956998 116660.460548
+144 2.88 25562.4755962 106555.833042
+145 2.9 23524.5233195 97387.4254387
+146 2.92 21661.3547409 89062.9145204
+147 2.94 19956.9338374 81499.6244039
+148 2.96 18396.7906059 74623.4624292
+149 2.98 16967.8589974 68367.9785194
+150 3.0 15658.3325568 62673.5329856
+151 3.02 14457.5357325 57486.5596649
+152 3.04 13355.809067 52758.912937
+153 3.06 12344.4066925 48447.2886046
+154 3.08 11415.4047444 44512.7098736
+155 3.1 10561.6194689 40920.0707567
+156 3.12 9776.5339459 37637.7301715
+157 3.14 9054.23247117 34637.1508274
+158 3.16 8389.34175838 31892.5777179
+159 3.18 7776.97821258 29380.7516608
+160 3.2 7212.7006167 27080.6538766
+161 3.22 6692.4676457 24973.2780793
+162 3.24 6212.59969004 23041.4269669
+163 3.26 5769.74452856 21269.5303734
+164 3.28 5360.84644195 19643.4826615
+165 3.3 4983.1184041 18150.4972204
+166 3.32 4634.01702836 16778.97618
+167 3.34 4311.21998136 15518.393672
+168 3.36 4012.60560869 14359.191159
+169 3.38 3736.23454428 13292.6835236
+170 3.4 3480.33310029 12310.9747549
+171 3.42 3243.27825585 11406.8822043
+172 3.44 3023.58408279 10573.8684961
+173 3.46 2819.88946345 9805.98028003
+174 3.48 2630.94697101 9097.79310596
+175 3.5 2455.61279669 8444.36177626
+176 3.52 2292.83761972 7841.17560602
+177 3.54 2141.65832756 7284.11808108
+178 3.56 2001.19050257 6769.43046025
+179 3.58 1870.62160083 6293.67891689
+180 3.6 1749.20475558 5853.72485855
+181 3.62 1636.25314534 5446.69810179
+182 3.64 1531.13487237 5069.97261409
+183 3.66 1433.26830277 4721.1445646
+184 3.68 1342.11782445 4398.01245332
+185 3.7 1257.18998347 4098.55911171
+186 3.72 1178.02996319 3820.93539003
+187 3.74 1104.21837425 3563.44536511
+188 3.76 1035.36832639 3324.53291993
+189 3.78 971.122756088 3102.76956138
+190 3.8 911.151986554 2896.84335615
+191 3.82 855.151498616 2705.54887715
+192 3.84 802.83989347 2527.77806329
+193 3.86 753.957029799 2362.51190574
+194 3.88 708.262319576 2208.81288195
+195 3.9 665.533168297 2065.81806693
+196 3.92 625.563546756 1932.73285812
+197 3.94 588.162682667 1808.82525631
+198 3.96 553.153861545 1693.42065104
+199 3.98 520.373327227 1585.89706361
+200 4.0 489.669273313 1485.68080556
+201 4.02 460.900917596 1392.24251449
+202 4.04 433.937652306 1305.09353282
+203 4.06 408.6582636 1223.78259822
+204 4.08 384.950214367 1147.89281764
+205 4.1 362.708984933 1077.03889938
+206 4.12 341.837466738 1010.86461999
+207 4.14 322.245404503 949.040505266
+208 4.16 303.848882793 891.261706073
+209 4.18 286.569853265 837.246052066
+210 4.2 270.33569919 786.732267446
+211 4.22 255.078834164 739.47833469
+212 4.24 240.736332164 695.259993326
+213 4.26 227.249586386 653.869362042
+214 4.28 214.563994495 615.113673492
+215 4.3 202.628668126 578.814112106
+216 4.32 191.396164684 544.804746089
+217 4.34 180.822239621 512.931545605
+218 4.36 170.865617553 483.051479815
+219 4.38 161.487780703 455.031686127
+220 4.4 152.652773286 428.748705595
+221 4.42 144.327020575 404.087778912
+222 4.44 136.479161479 380.942197972
+223 4.46 129.07989358 359.212708377
+224 4.48 122.101829632 338.806958688
+225 4.5 115.519364658 319.638992577
+226 4.52 109.308552789 301.628780369
+227 4.54 103.446993117 284.701786758
+228 4.56 97.9137238447 268.788571763
+229 4.58 92.6891241175 253.824422244
+230 4.6 87.7548229339 239.749011508
+231 4.62 83.0936146036 226.506084761
+232 4.64 78.6893802546 214.043168343
+233 4.66 74.5270149351 202.31130085
+234 4.68 70.5923598871 191.264784422
+235 4.7 66.8721396072 180.860954593
+236 4.72 63.353903336 171.05996726
+237 4.74 60.0259706488 161.824601429
+238 4.76 56.8773808439 153.120076496
+239 4.78 53.8978458491 144.913882966
+240 4.8 51.0777063884 137.175625538
+241 4.82 48.4078911713 129.876877635
+242 4.84 45.8798788842 122.991046476
+243 4.86 43.485662782 116.493247913
+244 4.88 41.2177176913 110.360190267
+245 4.9 39.0689692529 104.570066494
+246 4.92 37.0327652428 99.1024540566
+247 4.94 35.102848823 93.9382219092
+248 4.96 33.2733335874 89.05944408
+249 4.98 31.5386802724 84.4493193479
+250 5.0 29.8936750183 80.0920965658
+251 5.02 28.3334090704 75.9730052143
+252 5.04 26.8532598202 72.0781907976
+253 5.06 25.4488730938 68.3946547294
+254 5.08 24.116146599 64.9101983786
+255 5.1 22.8512144543 61.6133709734
+256 5.12 21.650432722 58.4934210835
+257 5.14 20.5103658787 55.5402514226
+258 5.16 19.4277741591 52.7443767307
+259 5.18 18.3996017121 50.0968845179
+260 5.2 17.4229655155 47.5893984632
+261 5.22 16.4951449988 45.2140442802
+262 5.24 15.6135723236 42.9634178757
+263 5.26 14.775823281 40.8305556374
+264 5.28 13.979608762 38.808906703
+265 5.3 13.2227667648 36.8923070701
+266 5.32 12.5032549016 35.0749554196
+267 5.34 11.8191433738 33.3513905323
+268 5.36 11.1686083831 31.7164701895
+269 5.38 10.5499259512 30.1653514539
+270 5.4 9.96146612005 28.693472236
+271 5.42 9.40168750976 27.2965340593
+272 5.44 8.86913220892 25.9704859397
+273 5.46 8.36242097742 24.7115093061
+274 5.48 7.88024874079 23.5160038893
+275 5.5 7.4213803577 22.3805745153
+276 5.52 6.98464664308 21.3020187412
+277 5.54 6.56894063048 20.2773152771
+278 5.56 6.1732140587 19.3036131423
+279 5.58 5.79647406826 18.3782215059
+280 5.6 5.43778009463 17.4986001669
+281 5.62 5.09624094585 16.6623506308
+282 5.64 4.77101205293 15.867207745
+283 5.66 4.46129288233 15.1110318537
+284 5.68 4.16632450031 14.3918014404
+285 5.7 3.88538727999 13.7076062261
+286 5.72 3.61779874199 13.0566406912
+287 5.74 3.36291152072 12.4371979973
+288 5.76 3.12011144838 11.8476642796
+289 5.78 2.8888157497 11.2865132882
+290 5.8 2.66847134042 10.7523013555
+291 5.82 2.45855322349 10.2436626676
+292 5.84 2.25856297681 9.7593048226
+293 5.86 2.06802732724 9.2980046552
+294 5.88 1.88649680546 8.85860431242
+295 5.9 1.71354447704 8.44000756375
+296 5.92 1.548764745 8.04117633127
+297 5.94 1.39177221978 7.66112742597
+298 5.96 1.24220065245 7.29892947717
+299 5.98 1.09970192753 6.9537000433
+300 6.0 0.963945111861 6.62460289254
+301 6.02 0.83461555631 6.31084544295
+302 6.04 0.711414047074 6.01167635216
+303 6.06 0.594056003831 5.72638324756
+304 6.08 0.482270721937 5.45429058822
+305 6.1 0.375800656137 5.19475765055
+306 6.12 0.274400743381 4.94717663025
+307 6.14 0.177837762511 4.71097085338
+308 6.16 0.0858897286772 4.48559308998
+309 6.18 -0.00165467948361 4.27052396409
+310 6.2 -0.0849966617872 4.06527045435
+311 6.22 -0.164327809314 3.8693644797
+312 6.24 -0.239830589745 3.68236156522
+313 6.26 -0.311678806773 3.50383958321
+314 6.28 -0.380038035049 3.33339756513
+315 6.3 -0.445066032049 3.17065458013
+316 6.32 -0.506913128135 3.0152486763
+317 6.34 -0.56572259604 2.866835881
+318 6.36 -0.621631000928 2.72508925658
+319 6.38 -0.674768532081 2.58969800863
+320 6.4 -0.725259317268 2.46036664323
+321 6.42 -0.773221720709 2.33681417085
+322 6.44 -0.818768625574 2.21877335375
+323 6.46 -0.862007701832 2.10598999469
+324 6.48 -0.90304166028 1.99822226439
+325 6.5 -0.941968493479 1.8952400656
+326 6.52 -0.978881704324 1.79682443166
+327 6.54 -1.01387052292 1.70276695755
+328 6.56 -1.04702011237 1.61286926168
+329 6.58 -1.07841176412 1.52694247655
+330 6.6 -1.10812308336 1.44480676668
+331 6.62 -1.13622816508 1.36629087245
+332 6.64 -1.1627977612 1.29123167801
+333 6.66 -1.18789943936 1.21947380239
+334 6.68 -1.21159773365 1.15086921208
+335 6.7 -1.23395428792 1.08527685416
+336 6.72 -1.25502799183 1.02256230873
+337 6.74 -1.27487511024 0.962597459596
+338 6.76 -1.2935494061 0.90526018218
+339 6.78 -1.31110225728 0.850434047748
+340 6.8 -1.32758276773 0.798008043011
+341 6.82 -1.34303787302 0.747876304295
+342 6.84 -1.35751244086 0.699937865467
+343 6.86 -1.3710493666 0.654096418865
+344 6.88 -1.38368966412 0.610260088543
+345 6.9 -1.3954725523 0.568341215144
+346 6.92 -1.40643553728 0.528256151786
+347 6.94 -1.41661449078 0.489925070364
+348 6.96 -1.42604372459 0.453271777711
+349 6.98 -1.43475606153 0.418223541087
+350 7.0 -1.44278290299 0.384710922497
+351 7.02 -1.45015429321 0.352667621378
+352 7.04 -1.45689898057 0.322030325194
+353 7.06 -1.46304447588 0.292738567537
+354 7.08 -1.46861710792 0.264734593325
+355 7.1 -1.47364207647 0.237963230734
+356 7.12 -1.47814350264 0.2123717695
+357 7.14 -1.482144477 0.187909845266
+358 7.16 -1.48566710537 0.16452932965
+359 7.18 -1.48873255248 0.142184225751
+360 7.2 -1.49136108362 0.120830568787
+361 7.22 -1.49357210429 0.100426331626
+362 7.24 -1.49538419809 0.0809313349308
+363 7.26 -1.4968151628 0.0623071617066
+364 7.28 -1.49788204479 0.044517076001
+365 7.3 -1.49860117187 0.0275259455594
+366 7.32 -1.49898818464 0.0113001682279
+367 7.34 -1.49905806636 -0.00419239808778
+368 7.36 -1.4988251715 -0.0189825020854
+369 7.38 -1.49830325295 -0.0330995625254
+370 7.4 -1.49750548803 -0.0465717286462
+371 7.42 -1.49644450327 -0.0594259376903
+372 7.44 -1.49513239812 -0.0716879696855
+373 7.46 -1.49358076759 -0.0833824996199
+374 7.48 -1.4918007238 -0.0945331471409
+375 7.5 -1.48980291663 -0.105162523901
+376 7.52 -1.48759755345 -0.115292278666
+377 7.54 -1.48519441791 -0.124943140307
+378 7.56 -1.48260288794 -0.13413495876
+379 7.58 -1.47983195293 -0.142886744076
+380 7.6 -1.47689023018 -0.151216703644
+381 7.62 -1.47378598053 -0.159142277674
+382 7.64 -1.47052712344 -0.166680173038
+383 7.66 -1.46712125128 -0.173846395532
+384 7.68 -1.46357564306 -0.180656280652
+385 7.7 -1.45989727753 -0.187124522948
+386 7.72 -1.45609284575 -0.193265204023
+387 7.74 -1.45216876302 -0.199091819249
+388 7.76 -1.4481311804 -0.204617303261
+389 7.78 -1.44398599566 -0.20985405428
+390 7.8 -1.43973886378 -0.214813957332
+391 7.82 -1.43539520696 -0.21950840641
+392 7.84 -1.43096022428 -0.223948325627
+393 7.86 -1.42643890087 -0.228144189416
+394 7.88 -1.42183601669 -0.232106041819
+395 7.9 -1.41715615498 -0.235843514899
+396 7.92 -1.41240371029 -0.239365846333
+397 7.94 -1.40758289625 -0.242681896213
+398 7.96 -1.40269775292 -0.245800163096
+399 7.98 -1.39775215386 -0.248728799339
+400 8.0 -1.39274981294 -0.251475625745
+401 8.02 -1.38769429081 -0.254048145572
+402 8.04 -1.3825890011 -0.256453557906
+403 8.06 -1.37743721643 -0.258698770453
+404 8.08 -1.37224207403 -0.260790411767
+405 8.1 -1.3670065813 -0.262734842931
+406 8.12 -1.36173362096 -0.264538168734
+407 8.14 -1.35642595614 -0.26620624836
+408 8.16 -1.35108623513 -0.267744705599
+409 8.18 -1.34571699603 -0.269158938625
+410 8.2 -1.34032067115 -0.270454129338
+411 8.22 -1.33489959126 -0.271635252315
+412 8.24 -1.32945598963 -0.272707083354
+413 8.26 -1.32399200593 -0.273674207668
+414 8.28 -1.31850968998 -0.274541027712
+415 8.3 -1.3130110053 -0.275311770682
+416 8.32 -1.30749783257 -0.275990495686
+417 8.34 -1.30197197291 -0.276581100614
+418 8.36 -1.29643515102 -0.277087328708
+419 8.38 -1.29088901827 -0.277512774857
+420 8.4 -1.28533515553 -0.277860891625
+421 8.42 -1.279775076 -0.278134995017
+422 8.44 -1.27421022789 -0.278338270004
+423 8.46 -1.26864199697 -0.27847377582
+424 8.48 -1.26307170904 -0.278544451025
+425 8.5 -1.25750063229 -0.278553118366
+426 8.52 -1.25192997959 -0.278502489422
+427 8.54 -1.24636091063 -0.27839516907
+428 8.56 -1.24079453406 -0.278233659745
+429 8.58 -1.23523190945 -0.27802036554
+430 8.6 -1.22967404925 -0.277757596126
+431 8.62 -1.22412192063 -0.277447570509
+432 8.64 -1.21857644724 -0.277092420635
+433 8.66 -1.21303851096 -0.276694194842
+434 8.68 -1.20750895348 -0.276254861174
+435 8.7 -1.20198857794 -0.275776310556
+436 8.72 -1.19647815038 -0.275260359835
+437 8.74 -1.19097840123 -0.274708754702
+438 8.76 -1.18549002669 -0.274123172492
+439 8.78 -1.18001369009 -0.273505224869
+440 8.8 -1.17455002313 -0.272856460401
+441 8.82 -1.16909962718 -0.272178367032
+442 8.84 -1.16366307443 -0.271472374453
+443 8.86 -1.15824090903 -0.270739856375
+444 8.88 -1.1528336482 -0.269982132713
+445 8.9 -1.14744178329 -0.269200471678
+446 8.92 -1.14206578078 -0.26839609179
+447 8.94 -1.13670608326 -0.267570163805
+448 8.96 -1.13136311038 -0.266723812565
+449 8.98 -1.1260372597 -0.26585811878
+450 9.0 -1.12072890764 -0.264974120729
+451 9.02 -1.11543841024 -0.2640728159
+452 9.04 -1.11016610399 -0.263155162565
+453 9.06 -1.10491230659 -0.262222081284
+454 9.08 -1.09967731769 -0.261274456364
+455 9.1 -1.09446141962 -0.260313137244
+456 9.12 -1.08926487805 -0.259338939836
+457 9.14 -1.08408794265 -0.258352647809
+458 9.16 -1.07893084774 -0.257355013824
+459 9.18 -1.07379381288 -0.256346760718
+460 9.2 -1.06867704347 -0.255328582644
+461 9.22 -1.06358073129 -0.254301146164
+462 9.24 -1.05850505508 -0.253265091305
+463 9.26 -1.053450181 -0.252221032561
+464 9.28 -1.04841626319 -0.251169559871
+465 9.3 -1.04340344425 -0.25011123955
+466 9.32 -1.03841185563 -0.249046615186
+467 9.34 -1.03344161818 -0.2479762085
+468 9.36 -1.0284928425 -0.246900520178
+469 9.38 -1.02356562938 -0.245820030663
+470 9.4 -1.0186600702 -0.244735200927
+471 9.42 -1.01377624733 -0.243646473201
+472 9.44 -1.00891423443 -0.242554271687
+473 9.46 -1.0040740969 -0.241459003238
+474 9.48 -0.999255892143 -0.240361058009
+475 9.5 -0.994459669928 -0.239260810093
+476 9.52 -0.989685472697 -0.238158618121
+477 9.54 -0.984933335869 -0.237054825845
+478 9.56 -0.980203288132 -0.235949762702
+479 9.58 -0.975495351726 -0.234843744346
+480 9.6 -0.970809542708 -0.233737073173
+481 9.62 -0.966145871217 -0.232630038816
+482 9.64 -0.961504341725 -0.231522918625
+483 9.66 -0.956884953272 -0.230415978128
+484 9.68 -0.952287699705 -0.229309471477
+485 9.7 -0.947712569897 -0.228203641873
+486 9.72 -0.943159547963 -0.22709872198
+487 9.74 -0.938628613467 -0.225994934317
+488 9.76 -0.934119741622 -0.224892491642
+489 9.78 -0.929632903477 -0.223791597316
+490 9.8 -0.925168066109 -0.222692445658
+491 9.82 -0.920725192794 -0.221595222284
+492 9.84 -0.916304243179 -0.220500104432
+493 9.86 -0.91190517345 -0.219407261278
+494 9.88 -0.907527936486 -0.218316854241
+495 9.9 -0.903172482012 -0.217229037271
+496 9.92 -0.898838756748 -0.216143957132
+497 9.94 -0.894526704547 -0.215061753669
+498 9.96 -0.890236266534 -0.213982560076
+499 9.98 -0.885967381232 -0.212906503136
+500 10.0 -0.881719984692 -0.211833703472
+501 10.02 -0.877494010612 -0.210764275774
+502 10.04 -0.873289390453 -0.209698329022
+503 10.06 -0.869106053554 -0.208635966708
+504 10.08 -0.864943927233 -0.207577287034
+505 10.1 -0.860802936899 -0.206522383122
+506 10.12 -0.856683006147 -0.205471343199
+507 10.14 -0.852584056854 -0.204424250786
+508 10.16 -0.848506009271 -0.203381184875
+509 10.18 -0.844448782117 -0.202342220105
+510 10.2 -0.840412292656 -0.201307426921
+511 10.22 -0.836396456786 -0.20027687174
+512 10.24 -0.832401189115 -0.199250617102
+513 10.26 -0.828426403039 -0.19822872182
+514 10.28 -0.824472010811 -0.197211241119
+515 10.3 -0.820537923617 -0.196198226777
+516 10.32 -0.81662405164 -0.195189727259
+517 10.34 -0.812730304126 -0.19418578784
+518 10.36 -0.808856589444 -0.193186450732
+519 10.38 -0.805002815152 -0.1921917552
+520 10.4 -0.801168888049 -0.191201737679
+521 10.42 -0.797354714233 -0.190216431881
+522 10.44 -0.793560199154 -0.189235868906
+523 10.46 -0.789785247667 -0.188260077336
+524 10.48 -0.786029764076 -0.187289083343
+525 10.5 -0.782293652189 -0.186322910778
+526 10.52 -0.778576815358 -0.185361581264
+527 10.54 -0.774879156522 -0.184405114284
+528 10.56 -0.771200578253 -0.183453527268
+529 10.58 -0.767540982794 -0.182506835671
+530 10.6 -0.763900272099 -0.181565053055
+531 10.62 -0.760278347867 -0.180628191165
+532 10.64 -0.75667511158 -0.179696260001
+533 10.66 -0.753090464539 -0.17876926789
+534 10.68 -0.749524307893 -0.177847221551
+535 10.7 -0.745976542671 -0.176930126167
+536 10.72 -0.742447069815 -0.176017985441
+537 10.74 -0.738935790206 -0.175110801662
+538 10.76 -0.735442604695 -0.174208575761
+539 10.78 -0.731967414126 -0.173311307369
+540 10.8 -0.728510119361 -0.172418994873
+541 10.82 -0.72507062131 -0.171531635464
+542 10.84 -0.721648820948 -0.170649225192
+543 10.86 -0.718244619341 -0.169771759015
+544 10.88 -0.714857917667 -0.168899230842
+545 10.9 -0.711488617235 -0.168031633581
+546 10.92 -0.708136619505 -0.167168959186
+547 10.94 -0.704801826108 -0.166311198692
+548 10.96 -0.701484138863 -0.165458342262
+549 10.98 -0.698183459794 -0.164610379221
+550 11.0 -0.694899691148 -0.1637672981
+551 11.02 -0.691632735406 -0.162929086665
+552 11.04 -0.688382495303 -0.162095731957
+553 11.06 -0.68514887384 -0.161267220326
+554 11.08 -0.681931774298 -0.160443537459
+555 11.1 -0.678731100249 -0.159624668416
+556 11.12 -0.675546755573 -0.15881059766
+557 11.14 -0.672378644462 -0.15800130908
+558 11.16 -0.669226671439 -0.157196786028
+559 11.18 -0.666090741365 -0.156397011339
+560 11.2 -0.662970759447 -0.155601967361
+561 11.22 -0.659866631253 -0.154811635976
+562 11.24 -0.656778262715 -0.154025998629
+563 11.26 -0.653705560141 -0.153245036348
+564 11.28 -0.650648430223 -0.152468729768
+565 11.3 -0.647606780043 -0.15169705915
+566 11.32 -0.644580517084 -0.150930004405
+567 11.34 -0.641569549231 -0.150167545112
+568 11.36 -0.638573784781 -0.149409660536
+569 11.38 -0.635593132451 -0.148656329652
+570 11.4 -0.632627501379 -0.147907531156
+571 11.42 -0.629676801133 -0.147163243484
+572 11.44 -0.626740941713 -0.146423444834
+573 11.46 -0.62381983356 -0.145688113174
+574 11.48 -0.620913387554 -0.144957226261
+575 11.5 -0.618021515027 -0.144230761656
+576 11.52 -0.615144127757 -0.143508696739
+577 11.54 -0.612281137978 -0.14279100872
+578 11.56 -0.609432458382 -0.142077674653
+579 11.58 -0.606598002119 -0.141368671449
+580 11.6 -0.603777682806 -0.140663975889
+581 11.62 -0.600971414522 -0.139963564633
+582 11.64 -0.598179111815 -0.139267414235
+583 11.66 -0.595400689704 -0.138575501149
+584 11.68 -0.592636063678 -0.137887801745
+585 11.7 -0.589885149701 -0.137204292313
+586 11.72 -0.587147864211 -0.136524949077
+587 11.74 -0.584424124122 -0.135849748201
+588 11.76 -0.581713846826 -0.135178665802
+589 11.78 -0.579016950193 -0.134511677954
+590 11.8 -0.576333352571 -0.133848760697
+591 11.82 -0.573662972788 -0.133189890048
+592 11.84 -0.571005730151 -0.132535042004
+593 11.86 -0.56836154445 -0.131884192552
+594 11.88 -0.565730335952 -0.131237317677
+595 11.9 -0.563112025406 -0.130594393364
+596 11.92 -0.560506534041 -0.129955395608
+597 11.94 -0.557913783565 -0.129320300421
+598 11.96 -0.555333696166 -0.128689083832
+599 11.98 -0.552766194514 -0.1280617219
+600 12.0 -0.550211201752 -0.127438190715
+601 12.02 -0.547668641506 -0.126818466403
+602 12.04 -0.545138437876 -0.126202525133
+603 12.06 -0.542620515439 -0.125590343118
+604 12.08 -0.540114799247 -0.124981896625
+605 12.1 -0.537621214828 -0.124377161973
+606 12.12 -0.53513968818 -0.123776115544
+607 12.14 -0.532670145775 -0.123178733779
+608 12.16 -0.530212514555 -0.122584993188
+609 12.18 -0.52776672193 -0.121994870352
+610 12.2 -0.525332695778 -0.121408341923
+611 12.22 -0.522910364445 -0.120825384632
+612 12.24 -0.52049965674 -0.120245975289
+613 12.26 -0.518100501935 -0.119670090788
+614 12.28 -0.515712829763 -0.119097708107
+615 12.3 -0.513336570418 -0.118528804313
+616 12.32 -0.51097165455 -0.117963356563
+617 12.34 -0.508618013267 -0.11740134211
+618 12.36 -0.506275578128 -0.116842738298
+619 12.38 -0.503944281147 -0.116287522571
+620 12.4 -0.501624054788 -0.115735672472
+621 12.42 -0.49931483196 -0.115187165645
+622 12.44 -0.497016546022 -0.114641979838
+623 12.46 -0.494729130774 -0.114100092904
+624 12.48 -0.49245252046 -0.1135614828
+625 12.5 -0.490186649763 -0.113026127594
+626 12.52 -0.487931453803 -0.112494005462
+627 12.54 -0.485686868135 -0.11196509469
+628 12.56 -0.48345282875 -0.111439373678
+629 12.58 -0.481229272066 -0.110916820936
+630 12.6 -0.479016134933 -0.110397415091
+631 12.62 -0.476813354625 -0.109881134884
+632 12.64 -0.474620868841 -0.109367959171
+633 12.66 -0.472438615702 -0.108857866928
+634 12.68 -0.470266533747 -0.108350837244
+635 12.7 -0.468104561934 -0.107846849332
+636 12.72 -0.465952639633 -0.107345882519
+637 12.74 -0.463810706629 -0.106847916255
+638 12.76 -0.461678703116 -0.106352930108
+639 12.78 -0.459556569693 -0.105860903769
+640 12.8 -0.457444247367 -0.105371817049
+641 12.82 -0.455341677547 -0.10488564988
+642 12.84 -0.453248802042 -0.104402382317
+643 12.86 -0.451165563056 -0.103921994536
+644 12.88 -0.449091903193 -0.103444466836
+645 12.9 -0.447027765446 -0.102969779639
+646 12.92 -0.4449730932 -0.102497913489
+647 12.94 -0.442927830229 -0.102028849053
+648 12.96 -0.440891920688 -0.101562567122
+649 12.98 -0.438865309121 -0.101099048608
+650 13.0 -0.436847940448 -0.100638274548
+651 13.02 -0.434839759968 -0.100180226101
+652 13.04 -0.432840713358 -0.0997248845489
+653 13.06 -0.430850746664 -0.0992722312959
+654 13.08 -0.428869806307 -0.0988222478696
+655 13.1 -0.426897839073 -0.0983749159199
+656 13.12 -0.424934792115 -0.0979302172191
+657 13.14 -0.42298061295 -0.0974881336614
+658 13.16 -0.421035249454 -0.097048647263
+659 13.18 -0.419098649864 -0.0966117401617
+660 13.2 -0.417170762771 -0.0961773946166
+661 13.22 -0.41525153712 -0.0957455930079
+662 13.24 -0.413340922208 -0.0953163178365
+663 13.26 -0.411438867679 -0.0948895517235
+664 13.28 -0.409545323527 -0.0944652774101
+665 13.3 -0.407660240085 -0.0940434777572
+666 13.32 -0.405783568032 -0.0936241357448
+667 13.34 -0.403915258384 -0.0932072344716
+668 13.36 -0.402055262494 -0.0927927571548
+669 13.38 -0.400203532049 -0.0923806871294
+670 13.4 -0.39836001907 -0.091971007848
+671 13.42 -0.396524675907 -0.0915637028799
+672 13.44 -0.394697455235 -0.0911587559112
+673 13.46 -0.392878310058 -0.0907561507435
+674 13.48 -0.391067193701 -0.0903558712944
+675 13.5 -0.389264059808 -0.0899579015961
+676 13.52 -0.387468862344 -0.0895622257951
+677 13.54 -0.385681555589 -0.089168828152
+678 13.56 -0.383902094135 -0.0887776930406
+679 13.58 -0.382130432887 -0.0883888049474
+680 13.6 -0.380366527059 -0.088002148471
+681 13.62 -0.378610332173 -0.0876177083216
+682 13.64 -0.376861804052 -0.0872354693205
+683 13.66 -0.375120898826 -0.0868554163993
+684 13.68 -0.373387572922 -0.0864775345994
+685 13.7 -0.371661783067 -0.0861018090713
+686 13.72 -0.369943486282 -0.0857282250742
+687 13.74 -0.368232639885 -0.0853567679751
+688 13.76 -0.366529201481 -0.0849874232486
+689 13.78 -0.364833128968 -0.0846201764757
+690 13.8 -0.363144380531 -0.0842550133436
+691 13.82 -0.361462914638 -0.083891919645
+692 13.84 -0.359788690043 -0.0835308812773
+693 13.86 -0.358121665778 -0.0831718842421
+694 13.88 -0.356461801157 -0.0828149146446
+695 13.9 -0.354809055768 -0.0824599586927
+696 13.92 -0.353163389476 -0.0821070026966
+697 13.94 -0.351524762418 -0.0817560330682
+698 13.96 -0.349893135001 -0.0814070363201
+699 13.98 -0.348268467902 -0.0810599990654
+700 14.0 -0.346650722064 -0.0807149080166
+701 14.02 -0.345039858694 -0.0803717499853
+702 14.04 -0.343435839265 -0.0800305118814
+703 14.06 -0.341838625506 -0.0796911807123
+704 14.08 -0.340248179409 -0.0793537435825
+705 14.1 -0.338664463221 -0.079018187693
+706 14.12 -0.337087439445 -0.0786845003402
+707 14.14 -0.335517070835 -0.0783526689157
+708 14.16 -0.333953320399 -0.0780226809053
+709 14.18 -0.332396151392 -0.0776945238888
+710 14.2 -0.330845527319 -0.0773681855387
+711 14.22 -0.329301411928 -0.0770436536203
+712 14.24 -0.327763769212 -0.0767209159903
+713 14.26 -0.326232563407 -0.0763999605967
+714 14.28 -0.324707758986 -0.076080775478
+715 14.3 -0.323189320665 -0.0757633487623
+716 14.32 -0.321677213392 -0.075447668667
+717 14.34 -0.320171402352 -0.0751337234981
+718 14.36 -0.318671852963 -0.0748215016493
+719 14.38 -0.317178530874 -0.0745109916017
+720 14.4 -0.315691401963 -0.0742021819228
+721 14.42 -0.314210432337 -0.0738950612663
+722 14.44 -0.312735588328 -0.073589618371
+723 14.46 -0.311266836492 -0.0732858420606
+724 14.48 -0.309804143609 -0.0729837212427
+725 14.5 -0.308347476679 -0.0726832449085
+726 14.52 -0.306896802922 -0.0723844021319
+727 14.54 -0.305452089775 -0.072087182069
+728 14.56 -0.304013304893 -0.0717915739575
+729 14.58 -0.302580416142 -0.0714975671162
+730 14.6 -0.301153391604 -0.071205150944
+731 14.62 -0.29973219957 -0.0709143149198
+732 14.64 -0.298316808542 -0.0706250486013
+733 14.66 -0.29690718723 -0.0703373416252
+734 14.68 -0.29550330455 -0.0700511837056
+735 14.7 -0.294105129623 -0.0697665646344
+736 14.72 -0.292712631773 -0.06948347428
+737 14.74 -0.291325780527 -0.069201902587
+738 14.76 -0.289944545612 -0.0689218395755
+739 14.78 -0.288568896953 -0.0686432753407
+740 14.8 -0.287198804672 -0.068366200052
+741 14.82 -0.285834239089 -0.0680906039529
+742 14.84 -0.284475170717 -0.0678164773599
+743 14.86 -0.283121570262 -0.0675438106623
+744 14.88 -0.281773408622 -0.0672725943215
+745 14.9 -0.280430656883 -0.0670028188703
+746 14.92 -0.279093286324 -0.0667344749127
+747 14.94 -0.277761268406 -0.066467553123
+748 14.96 -0.276434574779 -0.0662020442454
+749 14.98 -0.275113177278 -0.0659379390934
+750 15.0 -0.273797047918 -0.0656752285492
+751 15.02 -0.272486158899 -0.0654139035635
+752 15.04 -0.271180482599 -0.0651539551544
+753 15.06 -0.269879991575 -0.0648953744073
+754 15.08 -0.268584658563 -0.0646381524742
+755 15.1 -0.267294456476 -0.0643822805732
+756 15.12 -0.266009358398 -0.064127749988
+757 15.14 -0.264729337592 -0.0638745520673
+758 15.16 -0.263454367489 -0.0636226782243
+759 15.18 -0.262184421693 -0.0633721199364
+760 15.2 -0.260919473977 -0.0631228687444
+761 15.22 -0.259659498285 -0.062874916252
+762 15.24 -0.258404468725 -0.0626282541256
+763 15.26 -0.257154359572 -0.0623828740934
+764 15.28 -0.255909145268 -0.0621387679452
+765 15.3 -0.254668800416 -0.061895927532
+766 15.32 -0.253433299783 -0.061654344765
+767 15.34 -0.252202618295 -0.0614140116156
+768 15.36 -0.250976731041 -0.0611749201148
+769 15.38 -0.249755613266 -0.0609370623526
+770 15.4 -0.248539240374 -0.0607004304776
+771 15.42 -0.247327587926 -0.0604650166966
+772 15.44 -0.246120631637 -0.0602308132741
+773 15.46 -0.244918347377 -0.0599978125317
+774 15.48 -0.243720711169 -0.0597660068478
+775 15.5 -0.242527699187 -0.0595353886571
+776 15.52 -0.241339287756 -0.05930595045
+777 15.54 -0.240155453352 -0.0590776847726
+778 15.56 -0.238976172597 -0.0588505842256
+779 15.58 -0.237801422264 -0.0586246414643
+780 15.6 -0.236631179269 -0.0583998491983
+781 15.62 -0.235465420674 -0.0581762001905
+782 15.64 -0.234304123687 -0.057953687257
+783 15.66 -0.233147265658 -0.057732303267
+784 15.68 -0.231994824078 -0.0575120411416
+785 15.7 -0.23084677658 -0.0572928938542
+786 15.72 -0.229703100938 -0.0570748544293
+787 15.74 -0.228563775063 -0.0568579159429
+788 15.76 -0.227428777006 -0.0566420715213
+789 15.78 -0.226298084954 -0.0564273143414
+790 15.8 -0.22517167723 -0.0562136376296
+791 15.82 -0.224049532291 -0.0560010346619
+792 15.84 -0.222931628729 -0.0557894987635
+793 15.86 -0.22181794527 -0.0555790233081
+794 15.88 -0.220708460771 -0.0553696017175
+795 15.9 -0.21960315422 -0.0551612274618
+796 15.92 -0.218502004734 -0.0549538940582
+797 15.94 -0.217404991561 -0.0547475950712
+798 15.96 -0.216312094077 -0.0545423241119
+799 15.98 -0.215223291785 -0.0543380748379
+800 16.0 -0.214138564315 -0.0541348409526
+801 16.02 -0.21305789142 -0.0539326162051
+802 16.04 -0.21198125298 -0.0537313943897
+803 16.06 -0.210908628999 -0.0535311693457
+804 16.08 -0.209839999602 -0.0533319349567
+805 16.1 -0.208775345037 -0.0531336851505
+806 16.12 -0.207714645672 -0.0529364138987
+807 16.14 -0.206657881997 -0.0527401152166
+808 16.16 -0.205605034619 -0.0525447831621
+809 16.18 -0.204556084266 -0.0523504118362
+810 16.2 -0.20351101178 -0.0521569953823
+811 16.22 -0.202469798123 -0.0519645279856
+812 16.24 -0.201432424372 -0.0517730038733
+813 16.26 -0.200398871718 -0.0515824173138
+814 16.28 -0.199369121467 -0.0513927626166
+815 16.3 -0.198343155039 -0.051204034132
+816 16.32 -0.197320953965 -0.0510162262506
+817 16.34 -0.196302499889 -0.050829333403
+818 16.36 -0.195287774565 -0.0506433500599
+819 16.38 -0.194276759859 -0.0504582707309
+820 16.4 -0.193269437746 -0.0502740899651
+821 16.42 -0.192265790306 -0.0500908023503
+822 16.44 -0.191265799733 -0.0499084025129
+823 16.46 -0.190269448323 -0.0497268851171
+824 16.48 -0.189276718481 -0.0495462448654
+825 16.5 -0.188287592716 -0.0493664764977
+826 16.52 -0.187302053643 -0.0491875747911
+827 16.54 -0.186320083981 -0.0490095345599
+828 16.56 -0.185341666552 -0.0488323506547
+829 16.58 -0.18436678428 -0.0486560179629
+830 16.6 -0.183395420192 -0.0484805314077
+831 16.62 -0.182427557417 -0.0483058859483
+832 16.64 -0.181463179181 -0.0481320765793
+833 16.66 -0.180502268813 -0.0479590983305
+834 16.68 -0.179544809739 -0.0477869462668
+835 16.7 -0.178590785487 -0.0476156154877
+836 16.72 -0.177640179677 -0.0474451011271
+837 16.74 -0.176692976031 -0.0472753983531
+838 16.76 -0.175749158364 -0.0471065023674
+839 16.78 -0.174808710589 -0.0469384084057
+840 16.8 -0.173871616713 -0.0467711117367
+841 16.82 -0.172937860836 -0.0466046076623
+842 16.84 -0.172007427154 -0.0464388915171
+843 16.86 -0.171080299953 -0.0462739586683
+844 16.88 -0.170156463616 -0.0461098045155
+845 16.9 -0.169235902612 -0.04594642449
+846 16.92 -0.168318601505 -0.0457838140552
+847 16.94 -0.167404544949 -0.0456219687059
+848 16.96 -0.166493717686 -0.0454608839681
+849 16.98 -0.165586104549 -0.0453005553988
+850 17.0 -0.164681690459 -0.045140978586
+851 17.02 -0.163780460423 -0.044982149148
+852 17.04 -0.162882399539 -0.0448240627335
+853 17.06 -0.161987492989 -0.0446667150213
+854 17.08 -0.161095726042 -0.0445101017198
+855 17.1 -0.160207084053 -0.0443542185673
+856 17.12 -0.15932155246 -0.0441990613312
+857 17.14 -0.158439116788 -0.0440446258081
+858 17.16 -0.157559762644 -0.0438909078236
+859 17.18 -0.156683475719 -0.0437379032318
+860 17.2 -0.155810241787 -0.0435856079154
+861 17.22 -0.154940046702 -0.0434340177851
+862 17.24 -0.154072876401 -0.0432831287799
+863 17.26 -0.153208716903 -0.0431329368663
+864 17.28 -0.152347554306 -0.0429834380385
+865 17.3 -0.151489374787 -0.0428346283181
+866 17.32 -0.150634164605 -0.0426865037537
+867 17.34 -0.149781910096 -0.0425390604208
+868 17.36 -0.148932597673 -0.0423922944219
+869 17.38 -0.148086213829 -0.0422462018856
+870 17.4 -0.147242745133 -0.0421007789672
+871 17.42 -0.146402178232 -0.0419560218477
+872 17.44 -0.145564499846 -0.0418119267343
+873 17.46 -0.144729696774 -0.0416684898597
+874 17.48 -0.143897755889 -0.0415257074823
+875 17.5 -0.143068664136 -0.0413835758856
+876 17.52 -0.142242408539 -0.0412420913782
+877 17.54 -0.141418976192 -0.0411012502937
+878 17.56 -0.140598354262 -0.0409610489904
+879 17.58 -0.139780529991 -0.0408214838511
+880 17.6 -0.138965490691 -0.040682551283
+881 17.62 -0.138153223746 -0.0405442477172
+882 17.64 -0.137343716613 -0.0404065696091
+883 17.66 -0.136536956816 -0.0402695134376
+884 17.68 -0.135732931952 -0.0401330757054
+885 17.7 -0.134931629688 -0.0399972529384
+886 17.72 -0.134133037758 -0.0398620416858
+887 17.74 -0.133337143966 -0.0397274385201
+888 17.76 -0.132543936186 -0.0395934400363
+889 17.78 -0.131753402356 -0.0394600428522
+890 17.8 -0.130965530486 -0.0393272436083
+891 17.82 -0.130180308648 -0.0391950389674
+892 17.84 -0.129397724985 -0.0390634256142
+893 17.86 -0.128617767704 -0.0389324002559
+894 17.88 -0.127840425077 -0.0388019596211
+895 17.9 -0.127065685442 -0.0386721004602
+896 17.92 -0.126293537203 -0.0385428195454
+897 17.94 -0.125523968827 -0.0384141136698
+898 17.96 -0.124756968844 -0.038285979648
+899 17.98 -0.12399252585 -0.0381584143155
+900 18.0 -0.123230628501 -0.0380314145287
+901 18.02 -0.122471265519 -0.0379049771648
+902 18.04 -0.121714425686 -0.0377790991214
+903 18.06 -0.120960097846 -0.0376537773164
+904 18.08 -0.120208270905 -0.0375290086883
+905 18.1 -0.119458933831 -0.0374047901954
+906 18.12 -0.11871207565 -0.0372811188161
+907 18.14 -0.117967685451 -0.0371579915483
+908 18.16 -0.117225752381 -0.0370354054099
+909 18.18 -0.116486265647 -0.0369133574381
+910 18.2 -0.115749214515 -0.0367918446895
+911 18.22 -0.11501458831 -0.0366708642398
+912 18.24 -0.114282376416 -0.0365504131839
+913 18.26 -0.113552568273 -0.0364304886354
+914 18.28 -0.11282515338 -0.0363110877269
+915 18.3 -0.112100121292 -0.0361922076096
+916 18.32 -0.111377461622 -0.0360738454529
+917 18.34 -0.110657164039 -0.0359559984449
+918 18.36 -0.109939218269 -0.0358386637917
+919 18.38 -0.109223614091 -0.0357218387177
+920 18.4 -0.108510341341 -0.0356055204649
+921 18.42 -0.107799389911 -0.0354897062933
+922 18.44 -0.107090749747 -0.0353743934808
+923 18.46 -0.106384410848 -0.0352595793223
+924 18.48 -0.105680363268 -0.0351452611307
+925 18.5 -0.104978597114 -0.0350314362357
+926 18.52 -0.104279102547 -0.0349181019845
+927 18.54 -0.103581869781 -0.0348052557411
+928 18.56 -0.102886889082 -0.0346928948865
+929 18.58 -0.102194150767 -0.0345810168186
+930 18.6 -0.101503645208 -0.0344696189517
+931 18.62 -0.100815362825 -0.0343586987167
+932 18.64 -0.100129294092 -0.0342482535611
+933 18.66 -0.0994454295322 -0.0341382809484
+934 18.68 -0.0987637597204 -0.0340287783585
+935 18.7 -0.0980842752811 -0.0339197432873
+936 18.72 -0.0974069668887 -0.0338111732465
+937 18.74 -0.0967318252675 -0.0337030657637
+938 18.76 -0.0960588411908 -0.0335954183822
+939 18.78 -0.0953880054812 -0.0334882286609
+940 18.8 -0.0947193090095 -0.0333814941741
+941 18.82 -0.0940527426954 -0.0332752125115
+942 18.84 -0.0933882975062 -0.0331693812782
+943 18.86 -0.0927259644573 -0.033063998094
+944 18.88 -0.0920657346112 -0.0329590605941
+945 18.9 -0.0914075990779 -0.0328545664286
+946 18.92 -0.0907515490141 -0.0327505132621
+947 18.94 -0.0900975756229 -0.0326468987742
+948 18.96 -0.089445670154 -0.032543720659
+949 18.98 -0.0887958239027 -0.0324409766249
+950 19.0 -0.0881480282103 -0.032338664395
+951 19.02 -0.0875022744633 -0.0322367817064
+952 19.04 -0.0868585540934 -0.0321353263106
+953 19.06 -0.0862168585771 -0.0320342959728
+954 19.08 -0.0855771794356 -0.0319336884725
+955 19.1 -0.084939508234 -0.0318335016031
+956 19.12 -0.0843038365819 -0.0317337331714
+957 19.14 -0.0836701561321 -0.0316343809981
+958 19.16 -0.0830384585813 -0.0315354429176
+959 19.18 -0.0824087356692 -0.0314369167774
+960 19.2 -0.0817809791782 -0.0313388004388
+961 19.22 -0.0811551809338 -0.031241091776
+962 19.24 -0.0805313328034 -0.0311437886765
+963 19.26 -0.079909426697 -0.031046889041
+964 19.28 -0.079289454566 -0.030950390783
+965 19.3 -0.0786714084036 -0.0308542918291
+966 19.32 -0.0780552802445 -0.0307585901186
+967 19.34 -0.0774410621642 -0.0306632836034
+968 19.36 -0.0768287462793 -0.0305683702482
+969 19.38 -0.0762183247467 -0.0304738480301
+970 19.4 -0.0756097897639 -0.0303797149388
+971 19.42 -0.0750031335683 -0.0302859689762
+972 19.44 -0.0743983484373 -0.0301926081566
+973 19.46 -0.0737954266876 -0.0300996305063
+974 19.48 -0.0731943606756 -0.0300070340638
+975 19.5 -0.0725951427967 -0.0299148168796
+976 19.52 -0.071997765485 -0.0298229770161
+977 19.54 -0.0714022212134 -0.0297315125477
+978 19.56 -0.0708085024932 -0.0296404215602
+979 19.58 -0.0702166018738 -0.0295497021514
+980 19.6 -0.0696265119425 -0.0294593524306
+981 19.62 -0.0690382253245 -0.0293693705184
+982 19.64 -0.0684517346822 -0.0292797545471
+983 19.66 -0.0678670327154 -0.0291905026603
+984 19.68 -0.0672841121609 -0.0291016130126
+985 19.7 -0.0667029657922 -0.0290130837702
+986 19.72 -0.0661235864195 -0.02892491311
+987 19.74 -0.0655459668893 -0.0288370992202
+988 19.76 -0.0649701000843 -0.0287496402998
+989 19.78 -0.0643959789228 -0.0286625345588
+990 19.8 -0.0638235963592 -0.028575780218
+991 19.82 -0.0632529453832 -0.0284893755087
+992 19.84 -0.0626840190197 -0.0284033186731
+993 19.86 -0.0621168103288 -0.0283176079638
+994 19.88 -0.0615513124053 -0.0282322416441
+995 19.9 -0.0609875183786 -0.0281472179874
+996 19.92 -0.0604254214128 -0.0280625352778
+997 19.94 -0.0598650147059 -0.0279781918096
+998 19.96 -0.0593062914901 -0.027894185887
+999 19.98 -0.0587492450313 -0.0278105158248
+1000 20.0 -0.0581938686292 -0.0277271799475
+1001 20.02 -0.0576401556166 -0.0276441765898
+1002 20.04 -0.0570880993599 -0.0275615040963
+1003 20.06 -0.056537693258 -0.0274791608214
+1004 20.08 -0.0559889307431 -0.0273971451294
+1005 20.1 -0.0554418052798 -0.0273154553941
+1006 20.12 -0.0548963103651 -0.0272340899992
+1007 20.14 -0.0543524395283 -0.0271530473379
+1008 20.16 -0.0538101863307 -0.027072325813
+1009 20.18 -0.0532695443654 -0.0269919238365
+1010 20.2 -0.0527305072574 -0.0269118398301
+1011 20.22 -0.0521930686629 -0.0268320722247
+1012 20.24 -0.0516572222695 -0.0267526194605
+1013 20.26 -0.0511229617959 -0.0266734799867
+1014 20.28 -0.0505902809917 -0.0265946522621
+1015 20.3 -0.0500591736373 -0.026516134754
+1016 20.32 -0.0495296335436 -0.0264379259393
+1017 20.34 -0.0490016545518 -0.0263600243033
+1018 20.36 -0.0484752305336 -0.0262824283405
+1019 20.38 -0.0479503553904 -0.0262051365543
+1020 20.4 -0.0474270230535 -0.0261281474567
+1021 20.42 -0.0469052274841 -0.0260514595684
+1022 20.44 -0.0463849626725 -0.0259750714189
+1023 20.46 -0.0458662226388 -0.0258989815462
+1024 20.48 -0.0453490014319 -0.0258231884968
+1025 20.5 -0.0448332931297 -0.0257476908257
+1026 20.52 -0.0443190918392 -0.0256724870964
+1027 20.54 -0.0438063916958 -0.0255975758806
+1028 20.56 -0.0432951868634 -0.0255229557586
+1029 20.58 -0.0427854715342 -0.0254486253186
+1030 20.6 -0.0422772399288 -0.0253745831572
+1031 20.62 -0.0417704862954 -0.0253008278792
+1032 20.64 -0.0412652049103 -0.0252273580972
+1033 20.66 -0.0407613900774 -0.0251541724321
+1034 20.68 -0.040259036128 -0.0250812695126
+1035 20.7 -0.039758137421 -0.0250086479756
+1036 20.72 -0.0392586883422 -0.0249363064654
+1037 20.74 -0.0387606833045 -0.0248642436347
+1038 20.76 -0.0382641167479 -0.0247924581434
+1039 20.78 -0.0377689831387 -0.0247209486595
+1040 20.8 -0.0372752769703 -0.0246497138585
+1041 20.82 -0.036782992762 -0.0245787524235
+1042 20.84 -0.0362921250596 -0.0245080630453
+1043 20.86 -0.0358026684351 -0.0244376444219
+1044 20.88 -0.0353146174863 -0.0243674952592
+1045 20.9 -0.0348279668369 -0.0242976142701
+1046 20.92 -0.0343427111362 -0.0242280001751
+1047 20.94 -0.0338588450591 -0.0241586517019
+1048 20.96 -0.0333763633058 -0.0240895675856
+1049 20.98 -0.0328952606017 -0.0240207465683
+1050 21.0 -0.0324155316974 -0.0239521873994
+1051 21.02 -0.0319371713684 -0.0238838888354
+1052 21.04 -0.0314601744149 -0.0238158496399
+1053 21.06 -0.0309845356618 -0.0237480685835
+1054 21.08 -0.0305102499587 -0.0236805444437
+1055 21.1 -0.0300373121794 -0.0236132760051
+1056 21.12 -0.0295657172219 -0.023546262059
+1057 21.14 -0.0290954600085 -0.0234795014037
+1058 21.16 -0.0286265354851 -0.0234129928442
+1059 21.18 -0.028158938622 -0.0233467351922
+1060 21.2 -0.0276926644126 -0.0232807272662
+1061 21.22 -0.0272277078743 -0.0232149678915
+1062 21.24 -0.0267640640477 -0.0231494558997
+1063 21.26 -0.0263017279969 -0.0230841901292
+1064 21.28 -0.0258406948088 -0.0230191694249
+1065 21.3 -0.0253809595937 -0.0229543926381
+1066 21.32 -0.0249225174848 -0.0228898586266
+1067 21.34 -0.0244653636377 -0.0228255662547
+1068 21.36 -0.0240094932312 -0.0227615143929
+1069 21.38 -0.0235549014661 -0.0226977019182
+1070 21.4 -0.023101583566 -0.0226341277136
+1071 21.42 -0.0226495347765 -0.0225707906687
+1072 21.44 -0.0221987503655 -0.0225076896791
+1073 21.46 -0.021749225623 -0.0224448236465
+1074 21.48 -0.0213009558606 -0.0223821914788
+1075 21.5 -0.020853936412 -0.02231979209
+1076 21.52 -0.0204081626323 -0.0222576244002
+1077 21.54 -0.0199636298985 -0.0221956873354
+1078 21.56 -0.0195203336085 -0.0221339798275
+1079 21.58 -0.0190782691821 -0.0220725008144
+1080 21.6 -0.0186374320597 -0.02201124924
+1081 21.62 -0.0181978177032 -0.0219502240539
+1082 21.64 -0.0177594215953 -0.0218894242115
+1083 21.66 -0.0173222392394 -0.0218288486741
+1084 21.68 -0.0168862661598 -0.0217684964086
+1085 21.7 -0.0164514979014 -0.0217083663878
+1086 21.72 -0.0160179300295 -0.0216484575898
+1087 21.74 -0.0155855581298 -0.0215887689986
+1088 21.76 -0.0151543778082 -0.0215292996039
+1089 21.78 -0.014724384691 -0.0214700484006
+1090 21.8 -0.0142955744243 -0.0214110143895
+1091 21.82 -0.0138679426741 -0.0213521965765
+1092 21.84 -0.0134414851265 -0.0212935939733
+1093 21.86 -0.013016197487 -0.0212352055967
+1094 21.88 -0.0125920754809 -0.0211770304692
+1095 21.9 -0.012169114853 -0.0211190676184
+1096 21.92 -0.0117473113675 -0.0210613160772
+1097 21.94 -0.0113266608076 -0.021003774884
+1098 21.96 -0.0109071589762 -0.0209464430823
+1099 21.98 -0.0104888016947 -0.0208893197208
+1100 22.0 -0.010071584804 -0.0208324038534
+1101 22.02 -0.00965550416359 -0.0207756945391
+1102 22.04 -0.0092405556517 -0.020719190842
+1103 22.06 -0.00882673516534 -0.0206628918315
+1104 22.08 -0.00841403862003 -0.0206067965819
+1105 22.1 -0.0080024619498 -0.0205509041723
+1106 22.12 -0.00759200110698 -0.0204952136871
+1107 22.14 -0.00718265206222 -0.0204397242155
+1108 22.16 -0.00677441080431 -0.0203844348517
+1109 22.18 -0.00636727334011 -0.0203293446947
+1110 22.2 -0.00596123569445 -0.0202744528484
+1111 22.22 -0.00555629391005 -0.0202197584216
+1112 22.24 -0.00515244404737 -0.0201652605278
+1113 22.26 -0.00474968218459 -0.0201109582853
+1114 22.28 -0.00434800441746 -0.0200568508172
+1115 22.3 -0.00394740685922 -0.0200029372512
+1116 22.32 -0.00354788564052 -0.0199492167196
+1117 22.34 -0.0031494369093 -0.0198956883597
+1118 22.36 -0.00275205683071 -0.0198423513132
+1119 22.38 -0.00235574158704 -0.0197892047262
+1120 22.4 -0.00196048737759 -0.0197362477497
+1121 22.42 -0.00156629041861 -0.0196834795391
+1122 22.44 -0.00117314694319 -0.0196308992543
+1123 22.46 -0.000781053201174 -0.0195785060596
+1124 22.48 -0.000390005459079 -0.019526299124
+1125 22.5 0.0 -0.0194742776206
+1126 22.52 0.0 0.0
+1127 22.54 0.0 0.0
+1128 22.56 0.0 0.0
+1129 22.58 0.0 0.0
+1130 22.6 0.0 0.0
diff --git a/tools/moltemplate/examples/coarse_grained/membrane+protein/run.in.min b/tools/moltemplate/examples/coarse_grained/membrane+protein/run.in.min
new file mode 100644
index 000000000..2fc8fbba7
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane+protein/run.in.min
@@ -0,0 +1,35 @@
+# -------- REQUIREMENTS: ---------
+# 1) This example requires the "USER-MISC" package. (Use "make yes-USER-MISC")
+# http://lammps.sandia.gov/doc/Section_start.html#start_3
+# 2) It also may require additional features and bug fixes for LAMMPS.
+# So, after typing "make yes-user-misc" in to the shell, ...
+# be sure to download and copy the "additional_lammps_code" from
+# http://moltemplate.org (upper-left corner menu)
+# 3) Unpack it
+# 4) copy the .cpp and .h files to the src folding of your lammps installation.
+# 5) Compile LAMMPS.
+#
+# If LAMMPS complains about an "Invalid pair_style", or "Invalid dihedral_style"
+# then you made a mistake in the instructions above.
+
+
+
+# -- Init section --
+
+include system.in.init
+
+# -- Atom definition section --
+
+read_data system.data
+
+# -- Settings Section --
+
+include system.in.settings
+
+# -- Run section --
+
+dump 1 all custom 50 traj_min.lammpstrj id mol type x y z ix iy iz
+
+minimize 1.0e-5 1.0e-7 500 2000
+
+write_data system_after_min.data
diff --git a/tools/moltemplate/examples/coarse_grained/membrane+protein/run.in.npt b/tools/moltemplate/examples/coarse_grained/membrane+protein/run.in.npt
new file mode 100644
index 000000000..cbf76ac2d
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane+protein/run.in.npt
@@ -0,0 +1,66 @@
+# PREREQUISITES:
+#
+# You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (Follow the instructions in README_setup.sh, or run it using ./README_sh.)
+#
+# -------- REQUIREMENTS: ---------
+# 1) This example requires the "USER-MISC" package. (Use "make yes-USER-MISC")
+# http://lammps.sandia.gov/doc/Section_start.html#start_3
+# 2) It also may require additional features and bug fixes for LAMMPS.
+# So, after typing "make yes-user-misc" in to the shell, ...
+# be sure to download and copy the "additional_lammps_code" from
+# http://moltemplate.org (upper-left corner menu)
+# 3) Unpack it
+# 4) copy the .cpp and .h files to the src folding of your lammps installation.
+# 5) Compile LAMMPS.
+#
+# If LAMMPS complains about an "Invalid pair_style", or "Invalid dihedral_style"
+# then you made a mistake in the instructions above.
+#
+
+# -- Init Section --
+
+include system.in.init
+
+# -- Atom Definition Section --
+
+#read_data system.data
+read_data system_after_min.data
+
+# -- Settings Section --
+
+include system.in.settings
+
+# -- Run Section --
+
+#minimize 1.0e-5 1.0e-7 500 2000
+
+timestep 10.0 # The time-step in Watson et. al 2011 was 0.002*3ps = 6fs
+dump 1 all custom 10000 traj_npt.lammpstrj id mol type x y z ix iy iz
+
+
+thermo_style custom step temp pe etotal vol epair ebond eangle
+thermo 1000 # time interval for printing out "thermo" data
+
+
+fix fxlan all langevin 300.0 300.0 120 48279
+fix fxnph all nph x 0 0 1000 y 0 0 1000 couple xy
+
+
+# Note: The temperature 300.0 K corresponds to 0.907033536873*epsilon
+# (for the "epsilon" used by the coarse-grained lipid), and
+# to 0.33*epsilon (for the "epsilon" used in the coarse-grained protein)
+# Note: The langevin damping parameter "120" corresponds to
+# the 0.12ps damping time used in Watson et. al JCP 2011.
+# Note: We maintain the system system at constant (zero) tention
+# using a barostat damping parameter Pdamp=1000 ("0 0 1000")
+
+
+# optional (not sure if this helps):
+# balance x uniform y uniform
+
+
+run 100000
+
+write_data system_after_npt.data
diff --git a/tools/moltemplate/examples/coarse_grained/membrane+protein/run.in.nvt b/tools/moltemplate/examples/coarse_grained/membrane+protein/run.in.nvt
new file mode 100644
index 000000000..05f533339
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane+protein/run.in.nvt
@@ -0,0 +1,71 @@
+# PREREQUISITES:
+#
+# 1) You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (Follow the instructions in README_setup.sh, or run it using ./README_sh.)
+# 2) You must equilibrate the system beforehand using "run.in.npt".
+# This will create the file "system_after_npt.data" which this file reads.
+# (Note: I have not verified that this equilibration protocol works well.)
+#
+# -------- LAMMPS REQUIREMENTS: ---------
+# 1) This example requires the "USER-MISC" package. (Use "make yes-USER-MISC")
+# http://lammps.sandia.gov/doc/Section_start.html#start_3
+# 2) It also may require additional features and bug fixes for LAMMPS.
+# So, after typing "make yes-user-misc" in to the shell, ...
+# be sure to download and copy the "additional_lammps_code" from
+# http://moltemplate.org (upper-left corner menu)
+# 3) Unpack it
+# 4) copy the .cpp and .h files to the src folding of your lammps installation.
+# 5) Compile LAMMPS.
+#
+# If LAMMPS complains about an "Invalid pair_style", or "Invalid dihedral_style"
+# then you made a mistake in the instructions above.
+#
+# ------------------------------- Initialization Section --------------------
+
+include system.in.init
+
+# ------------------------------- Atom Definition Section -------------------
+
+
+# Read the coordinates generated by an earlier NPT simulation
+
+read_data system_after_npt.data
+
+# (The "write_restart" and "read_restart" commands were buggy in 2012,
+# but they should work also. I prefer "write_data" and "read_data".)
+
+
+# ------------------------------- Settings Section --------------------------
+
+include system.in.settings
+
+# ------------------------------- Run Section -------------------------------
+
+
+timestep 10.0 # The time-step in Watson et. al 2011 was 0.002*3ps = 6fs
+dump 1 all custom 10000 traj_nvt.lammpstrj id mol type x y z ix iy iz
+
+
+thermo_style custom step temp pe etotal vol epair ebond eangle
+thermo 1000 # time interval for printing out "thermo" data
+
+
+fix fxlan all langevin 300.0 300.0 120 48279
+fix fxnve all nve
+
+# Note: The energy scale "epsilon" = 2.75kJ/mole = 330.7485200981 Kelvin*kB.
+# So a temperature of 300.0 Kelvin corresponds to 0.907033536873*epsilon.
+# Note: The langevin damping parameter "120" corresponds to
+# the 0.12ps damping time used in Watson et. al JCP 2011.
+
+#restart 500000
+
+run 50000000
+
+
+write_data system_after_nvt.data
+
+# (The "write_restart" and "read_restart" commands were buggy in 2012,
+# but they should work also.)
+
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/README.txt b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/README.txt
new file mode 100644
index 000000000..f8f542e77
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/README.txt
@@ -0,0 +1,33 @@
+Note:
+ This example may require additional features to be added to LAMMPS.
+If LAMMPS complains about an "Invalid pair_style", then copy the code
+in the "additional_lammps_code" directory into your LAMMPS "src" directory
+and recompile LAMMPS.
+
+----- Description --------
+
+This example contains an implementation of the DPPC lipid bilayer described in:
+ G. Brannigan, P.F. Philips, and F.L.H. Brown,
+ Physical Review E, Vol 72, 011915 (2005)
+and:
+ M.C. Watson, E.S. Penev, P.M. Welch, and F.L.H. Brown
+ J. Chem. Phys. 135, 244701 (2011)
+
+As in Watson(JCP 2011), rigid bond-length constraints
+have been replaced by harmonic bonds.
+
+A truncated version of this lipid (named "DLPC") has also been added.
+Unlike the original "DPPC" molecule model, "DLPC" has not been carefully
+parameterized to reproduce the correct behavior in a lipid bilayer.
+
+
+-------------
+
+Instructions on how to build LAMMPS input files and
+run a short simulation are provided in other README files.
+
+step 1)
+README_setup.sh
+
+step2)
+README_run.sh
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/README_run.sh b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/README_run.sh
new file mode 100755
index 000000000..29958f73a
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/README_run.sh
@@ -0,0 +1,33 @@
+# --- Running LAMMPS ---
+# -- Prerequisites: --
+# The "run.in.nvt" file is a LAMMPS input script containing
+# references to the input scripts and data files
+# you hopefully have created earlier with moltemplate.sh:
+# system.in.init, system.in.settings, system.data, and table_int.dat
+# If not, carry out the instructions in "README_setup.sh".
+#
+# -- Instructions: --
+# If "lmp_mpi" is the name of the command you use to invoke lammps,
+# then you would run lammps on these files this way:
+
+
+lmp_mpi -i run.in.npt # Run a simulation at constant pressure (tension)
+
+#or
+
+lmp_mpi -i run.in.nvt # Run a simulation at constant volume
+
+#(Note: The constant volume simulation lacks pressure equilibration. These are
+# completely separate simulations. The results of the constant pressure
+# simulation are ignored when beginning the simulation at constant volume.
+# This can be fixed. Read "run.in.nvt" for equilibration instructions.)
+
+
+
+
+
+# If you have compiled the MPI version of lammps, you can run lammps in parallel
+#mpirun -np 4 lmp_mpi -i run.in.npt
+#or
+#mpirun -np 4 lmp_mpi -i run.in.nvt
+# (assuming you have 4 processors available)
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/README_setup.sh b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/README_setup.sh
new file mode 100755
index 000000000..ee7d9efdd
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/README_setup.sh
@@ -0,0 +1,28 @@
+# Use these commands to generate the LAMMPS input script and data file
+# (and other auxilliary files):
+
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh system.lt
+
+ # This will generate various files with names ending in *.in* and *.data.
+ # These files are the input files directly read by LAMMPS. Move them to
+ # the parent directory (or wherever you plan to run the simulation).
+
+ mv -f system.in* system.data ../
+
+ # The "table_int.dat" file contains tabular data for the lipid INT-INT atom
+ # 1/r^2 interaction. We need it too. (This slows down the simulation by x2,
+ # so I might look for a way to get rid of it later.)
+ cp -f table_int.dat ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/README_visualize.txt b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/README_visualize.txt
new file mode 100644
index 000000000..a3e3ed620
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0}
+ pbc box -shiftcenterrel {0.0 0.15 0.0}
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/images/DLPC.jpg b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/images/DLPC.jpg
new file mode 100644
index 000000000..637f2f1c7
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/images/DLPC.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/images/DPPC+DLPC_bilayer32x37_t=0ps_LR.jpg b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/images/DPPC+DLPC_bilayer32x37_t=0ps_LR.jpg
new file mode 100644
index 000000000..14f1a1ed2
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/images/DPPC+DLPC_bilayer32x37_t=0ps_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/images/DPPC+DLPC_bilayer32x37_t=0ps_no_pbc_LR.jpg b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/images/DPPC+DLPC_bilayer32x37_t=0ps_no_pbc_LR.jpg
new file mode 100644
index 000000000..757abe268
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/images/DPPC+DLPC_bilayer32x37_t=0ps_no_pbc_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/images/DPPC+DLPC_bilayer32x37_t=500ps_LR.jpg b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/images/DPPC+DLPC_bilayer32x37_t=500ps_LR.jpg
new file mode 100644
index 000000000..2322449c1
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/images/DPPC+DLPC_bilayer32x37_t=500ps_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/images/DPPC.jpg b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/images/DPPC.jpg
new file mode 100644
index 000000000..57e093023
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/images/DPPC.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/moltemplate_files/CGLipidBr2005Orig.lt b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/moltemplate_files/CGLipidBr2005Orig.lt
new file mode 100644
index 000000000..aabf2bcc8
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/moltemplate_files/CGLipidBr2005Orig.lt
@@ -0,0 +1,208 @@
+# Note:
+#
+# This example may require additional features to be added to LAMMPS. If
+# LAMMPS complains about an "Invalid pair_style", then download copy the
+# "additional_lammps_code" from moltemplate.org, unpack it into your LAMMPS
+# "src" directory and recompile LAMMPS.
+#
+# -------- Description --------
+#
+# This example contains an implementation of the DPPC lipid bilayer described in
+# G. Brannigan, P.F. Philips, and F.L.H. Brown,
+# Physical Review E, Vol 72, 011915 (2005)
+# and:
+# M.C. Watson, E.S. Penev, P.M. Welch, and F.L.H. Brown
+# J. Chem. Phys. 135, 244701 (2011)
+#
+# As in Watson(JCP 2011), rigid bond-length constraints have been replaced
+# by harmonic bonds.
+#
+# --- DLPC lipids ---
+# A truncated version of the DPPC lipid (named "DLPC") has also been added.
+# Unlike the original "DPPC" molecule model, "DLPC" has not been carefully
+# parameterized to reproduce the correct behavior in a lipid bilayer/mixture.
+# (You may need to stiffen the bond-angle forces to make it behave correctly,
+# but I did not do this here.)
+#
+# Units:
+#
+# The "epsilon" parameter in their model is approximately 2.75 kJ/mole
+# ( = 0.657265774378585 kCal/mole, using 1kCal=4.184kJ)
+# The "sigma" parameter corresponds to 7.5 angstroms.
+#
+#
+# The new DLPC model is a truncated version of DPPC,
+# (Its behaviour has not been rigorously tested.)
+
+
+
+CGLipidBr2005 {
+
+
+ write_once("In Init") {
+ # -- Default styles for "CGLipidBr2005" --
+ units real
+ atom_style full
+ # (Hybrid force field styles were used for portability.)
+ bond_style hybrid harmonic
+
+ angle_style hybrid cosine/delta # <- used in the original article
+ #angle_style hybrid harmonic # <- prevents unphysical acute angle turns
+ # Explanation:
+ # angle_style cosine/delta: U(theta) = k*(1-cos(theta-theta0))
+ # angle_style harmonic: U(theta) = k*(theta-theta0)^2
+
+ dihedral_style none
+ improper_style none
+
+ pair_style hybrid table linear 1130 &
+ lj/charmm/coul/charmm/inter es4k4l 14.5 15
+
+ pair_modify mix arithmetic
+ special_bonds lj 0.0 0.0 1.0 # turn off pairs if "less than 3 bonds"
+ }
+
+
+ DPPC {
+ write("Data Atoms") {
+ $atom:h $mol:. @atom:head 0.0 0.00 0.00 33.75 # DPPC head atom
+ $atom:i $mol:. @atom:../int 0.0 -1.00 0.00 26.25
+ $atom:t1 $mol:. @atom:../tail 0.0 1.00 0.00 18.75
+ $atom:t2 $mol:. @atom:../tail 0.0 -1.00 0.00 11.25
+ $atom:t3 $mol:. @atom:../tail 0.0 1.00 0.00 3.75
+ }
+ write("Data Bonds") {
+ $bond:b1 @bond:../backbone $atom:h $atom:i
+ $bond:b2 @bond:../backbone $atom:i $atom:t1
+ $bond:b3 @bond:../backbone $atom:t1 $atom:t2
+ $bond:b4 @bond:../backbone $atom:t2 $atom:t3
+ }
+ write("Data Angles") {
+ $angle:a1 @angle:../backbone $atom:h $atom:i $atom:t1
+ $angle:a2 @angle:../backbone $atom:i $atom:t1 $atom:t2
+ $angle:a3 @angle:../backbone $atom:t1 $atom:t2 $atom:t3
+ }
+
+ # Define properties of the local (lipid-specific) atom:head type atom:
+ write_once("Data Masses") {
+ @atom:head 200.0
+ }
+ write_once("In Settings") {
+ pair_coeff @atom:head @atom:head lj/charmm/coul/charmm/inter 0.1643 7.5 0.4 0
+ pair_coeff @atom:../int @atom:head lj/charmm/coul/charmm/inter 0.1643 7.5 0.4 0
+ pair_coeff @atom:../tail @atom:head lj/charmm/coul/charmm/inter 0.1643 7.5 0.4 0
+ }
+
+ } #DPPC
+
+
+ DLPC {
+ write("Data Atoms") {
+ $atom:h $mol:. @atom:head 0.0 0.00 0.00 30.00 # DLPC head atom
+ $atom:i $mol:. @atom:../int 0.0 -1.00 0.00 22.50
+ $atom:t1 $mol:. @atom:../tail 0.0 1.00 0.00 15.00
+ $atom:t2 $mol:. @atom:../tail 0.0 -1.00 0.00 7.50
+ }
+ write("Data Bonds") {
+ $bond:b1 @bond:../backbone $atom:h $atom:i
+ $bond:b2 @bond:../backbone $atom:i $atom:t1
+ $bond:b3 @bond:../backbone $atom:t1 $atom:t2
+ }
+ write("Data Angles") {
+ $angle:a1 @angle:../backbone $atom:h $atom:i $atom:t1
+ $angle:a2 @angle:../backbone $atom:i $atom:t1 $atom:t2
+ }
+ # Define properties of the local (lipid-specific) atom:head type atom:
+ write_once("Data Masses") {
+ @atom:head 200.0
+ }
+ write_once("In Settings") {
+ pair_coeff @atom:head @atom:head lj/charmm/coul/charmm/inter 0.1643 7.5 0.4 0
+ pair_coeff @atom:../int @atom:head lj/charmm/coul/charmm/inter 0.1643 7.5 0.4 0
+ pair_coeff @atom:../tail @atom:head lj/charmm/coul/charmm/inter 0.1643 7.5 0.4 0
+ }
+ } #DLPC
+
+
+ # Particles and properties shared by all lipid types:
+
+ write_once("Data Masses") {
+ @atom:int 200.0
+ @atom:tail 200.0
+ }
+
+ write_once("In Settings") {
+ # -- Default settings/parameters for "CGLipidBr2005" --
+ # (Hybrid bond & angle styles were used for portability.)
+
+ # As in Watson(JCP 2011), rigid bond-length constraints
+ # have been replaced by harmonic bonds.
+ # The k_theta parameter should lie in between 5*epsilon and 10*epsilon.
+ bond_coeff @bond:backbone harmonic 116.847 7.5 #<--2*5000*eps/sig^2
+ }
+
+ write_once("In Settings") {
+
+ # cosine/delta: U(theta) = k*(1-cos(theta-theta0))
+ angle_coeff @angle:backbone cosine/delta 4.60086042 180 #<-- 7*eps
+
+ ## Alternately, to stiffen the bond-angles, try this:
+ ##angle_coeff @angle:backbone cosine/delta 6.57265774 180 #<-- 10*eps
+ ## harmonic: U(theta) = k*(theta-theta0)^2 not (k/2)*(theta-theta0)^2
+ ##angle_coeff @angle:backbone harmonic 9.85898661 180 #<-->30*eps
+ }
+ # Note: You may want to use a stiffer bond-angle than the original
+ # Brannigan&Brown 2005 paper if you want to mix two different lipids together.
+ # (The mixture of lipids introduces a great deal of disorder into the bilayer
+ # which would not be present in a DPPC bilayer. This caused pores to form
+ # in my simulations. But increasing the angle stiffness prevents this.)
+
+ write_once("In Settings") {
+
+ # The interaction of "atom:int" with other "atom:int" atoms is given by
+ # epsilon*(0.4*(sigma/r)^12 - 3.0*(sigma/r)^2), shifted and cutoff at
+ # r=3*sigma. This was implemented using pair_style table.
+ # Unfortunately, mixing lj/charmm and "table" pair styles in the same
+ # simulation is very inneficient.
+
+ pair_coeff @atom:int @atom:int table table_int.dat INT
+
+ # The interaction of tail beads with eachother is given by the formula below
+ # and with other atoms ...using Lorenz-Berthelot and "repulsive wins" rules:
+ # epsilon*(0.4*(sigma/r)^12 - 1.0*(sigma/r)^6),
+ pair_coeff @atom:tail @atom:tail lj/charmm/coul/charmm/inter 0.1643 7.5 0.4 -1
+ pair_coeff @atom:int @atom:tail lj/charmm/coul/charmm/inter 0.1643 7.5 0.4 -1
+
+ # The interaction between head beads from different types of lipids
+ # is (currently) repulsive:
+ pair_coeff @atom:DPPC/head @atom:DLPC/head lj/charmm/coul/charmm/inter 0.1643 7.5 0.4 0
+
+ } # write_once("In Settings")
+
+
+ # Note: I divided epsilon by 4 to get "0.1643" because we are using the
+ # "es4k4l" coeffstyle, corresponding to U(r)=eps(4*K*(s/r)^12 + 4*L*(s/r)^6)
+ # (The "es4k4l" coeffstyle is the default.) Using this convention makes it
+ # easier to mix this coarse-grained lipid model with other molecular models.
+
+
+
+} # CGLipidBr2005
+
+
+
+
+
+
+
+
+# Note: This example has not been optimized for speed.
+#
+# Unfortunately, using both lj/charmm and "table" pair styles in the same
+# simulation seems to be very inneficient. (The simulation is twice as slow
+# as using only the "lj/charmm" pair styles for every pairwise interaction,
+# ...and about 25% slower than using "table" for every pairwise interaction.
+# However the lennard-jones pair styles support mixing, so we use them to
+# make it easier to run these molecules with other molecules which don't use
+# pair_table. I felt that portability was worth the extra 25% slow down.)
+
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/moltemplate_files/calc_table/calc_table.py b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/moltemplate_files/calc_table/calc_table.py
new file mode 100755
index 000000000..1158a9cf7
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/moltemplate_files/calc_table/calc_table.py
@@ -0,0 +1,29 @@
+#!/usr/bin/env python
+
+# Calculate a table of pairwise energies and forces between "INT" atoms
+# in the lipid membrane model described in
+# Brannigan et al, Phys Rev E, 72, 011915 (2005)
+# The energy of this interaction U(r) = eps*(0.4*(sigma/r)^12 - 3.0*(sigma/r)^2)
+# However it is truncated at rc2 = 22.5 (shifted upwards to maintain continuity)
+
+def U(r, eps, sigma):
+ return eps* (0.4*pow((sigma/r),12) - 3.0*sigma*sigma/(r*r))
+def F(r, eps, sigma):
+ return eps*(12*0.4*pow((sigma/r),13)/sigma - 2*3.0*sigma*sigma/(r*r*r))
+
+epsilon = 2.75/4.184 # kCal/mole
+sigma = 7.5
+Rmin = 0.02
+Rmax = 22.6
+rcut = 22.5
+N = 1130
+
+for i in range(0,N):
+ r = Rmin + i*(Rmax-Rmin)/(N-1)
+ U_r = U(r, epsilon, sigma) - U(rcut, epsilon, sigma)
+ F_r = F(r, epsilon, sigma)
+ if r > rcut:
+ U_r = 0.0
+ F_r = 0.0
+ print(str(i+1)+' '+str(r)+' '+str(U_r)+' '+str(F_r))
+
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/moltemplate_files/calc_table/version_charmm_cutoff/calc_table.py b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/moltemplate_files/calc_table/version_charmm_cutoff/calc_table.py
new file mode 100755
index 000000000..e7f0fe462
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/moltemplate_files/calc_table/version_charmm_cutoff/calc_table.py
@@ -0,0 +1,70 @@
+#!/usr/bin/env python
+
+# Calculate a table of pairwise energies and forces between "INT" atoms
+# in the lipid membrane model described in
+# Brannigan et al, Phys Rev E, 72, 011915 (2005)
+# The energy of this interaction U(r) = eps*(0.4*(sigma/r)^12 - 3.0*(sigma/r)^2)
+# I realized later this is not what we want because although energy is conserved
+# all enrgies are shifted with respect to energies used in the Brannigan paper
+# (by 0.27 kCal/mole) and the later Watson JCP 2011 paper (by 0.224 kCal/mole).
+# (So don't use this.)
+
+# Calculate and print a
+
+def S(r, rc1, rc2, derivative=False):
+ """
+ Calculate the switching function S(r) which decays continuously
+ between 1 and 0 in the range from rc1 to rc2 (rc2>rc1):
+ S(r) = (rc2^2 - r^2)^2 * (rc2^2 + 2*r^2 - 3*rc1^2) / (rc2^2-rc1^2)^3
+ I'm using the same smoothing/switching cutoff function used by the CHARMM
+ force-fields. (I'm even using the same code to implement it, taken
+ from lammps charmm/coul/charmm pair style, rewritten in python.)
+
+ """
+ assert(rc2>rc1)
+ rsq = r*r
+ rc1sq = rc1*rc1
+ rc2sq = rc2*rc2
+ denom_lj_inv = (1.0 / ((rc2sq-rc1sq)*
+ (rc2sq-rc1sq)*
+ (rc2sq-rc1sq)))
+ if rsq > rc2sq:
+ return 0.0
+ elif rsq < rc1sq:
+ if derivative:
+ return 0.0
+ else:
+ return 1.0
+ else:
+ rc2sq_minus_rsq = (rc2sq - rsq)
+ rc2sq_minus_rsq_sq = rc2sq_minus_rsq * rc2sq_minus_rsq
+ if derivative:
+ return (12.0 * rsq * rc2sq_minus_rsq * (rsq-rc1sq) * denom_lj_inv)
+ else:
+ return (rc2sq_minus_rsq_sq *
+ (rc2sq + 2.0*rsq - 3.0*rc1sq) * denom_lj_inv)
+
+
+def U(r, eps, sigma):
+ return eps* (0.4*pow((sigma/r),12) - 3.0*sigma*sigma/(r*r))
+
+def F(r, eps, sigma):
+ return eps*(12*0.4*pow((sigma/r),13)/sigma - 2*3.0*sigma*sigma/(r*r*r))
+
+epsilon = 2.75/4.184 # kCal/mole
+sigma = 7.5
+Rmin = 0.02
+Rmax = 22.6
+Rc1 = 22.0
+Rc2 = 22.5
+N = 1130
+
+for i in range(0,N):
+ r = Rmin + i*(Rmax-Rmin)/(N-1)
+ U_r = U(r, epsilon, sigma)
+ F_r = F(r, epsilon, sigma)
+ # Multiply U(r) & F(r) by the smoothing/switch function
+ U_r = U_r * S(r, Rc1, Rc2)
+ F_r = U_r * S(r, Rc1, Rc2, True) + F_r * S(r, Rc1, Rc2, False)
+ print(str(i+1)+' '+str(r)+' '+str(U_r)+' '+str(F_r))
+
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/moltemplate_files/system.lt b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/moltemplate_files/system.lt
new file mode 100644
index 000000000..c556233c0
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/moltemplate_files/system.lt
@@ -0,0 +1,94 @@
+# Description:
+
+# This constructs a bilayer constructed from coarse-grained DPPC lipids
+# (implicit solvent). The DPPC lipid model is described here:
+# G. Brannigan, P.F. Philips, and F.L.H. Brown,
+# Physical Review E, Vol 72, 011915 (2005)
+#
+# NOTE: There is an example of a 50%/50% DPPC & DLPC mixture
+# in the "membrane+protein" and "vesicle" examples.
+
+
+
+
+
+
+import "CGLipidBr2005Orig.lt"
+
+using namespace CGLipidBr2005
+
+lipids = new DPPC [32].move(7.5, 0, 0)
+ [37].move(3.75, 6.49519, 0)
+ [2].rot(180, 1, 0, 0)
+
+
+# Move the lipds up to the center of the box
+lipids[*][*][*].move(0,0,75.0)
+
+
+# Although this patch of lipids is not square or rectangular, (it looks
+# like a parallelogram), this is no longer the case after rectangular
+# periodic boundary conditions are applied. We apply them below:
+# width: 240 = 32*7.5
+# height: 240.322 = 37*6.49519
+
+write_once("Data Boundary") {
+ 0 240 xlo xhi
+ 0 240.322 ylo yhi
+ 0 150.0 zlo zhi
+}
+
+
+
+
+
+
+
+
+# -------------- File ends here. Only comments below.-------------------
+
+# ------------------------------------
+# ------------- COMMENTS: ------------
+# ------------------------------------
+#
+# A note on geometry:
+# We want to create a bilayer arranged in a hexagonal lattice consisting of
+# 32 rows (each row is aligned with the x-axis)
+# 37 columns (aligned at a 60 degree angle from the x axis)
+# The lattice spacing is 8.0 Angstroms ( ~= 0.95*sigma*2^(1/6), where sigma=7.5)
+# When wrapped onto a rectangular box, the dimensions of the system are:
+# 32 * 7.5 Angstroms in the X direction
+# 37 * 7.5*sqrt(3)/2 Angstroms in the Y direction
+# ------------------------------------
+#
+# Below I show simple ways to create a lipid bilayer:
+#
+# 1) If you just want to make lipid bilayer out of DPPC,
+# without specifying the location of each lipid, you could use this syntax:
+# lipids = new DPPC [32][37][2] # 3-D array
+# Later you can load in the coordinates of the lipds from a PDB file.
+# Alternately you could also use a 1-dimensional array:
+# lipids = new DPPC [2368] # 1-D array. Note: 2368 = 32 x 37 x 2
+# It does not matter as long as the number of lipids is correct.
+# Multidimensional arrays are only useful if you plan to apply independent
+# coordinate transformations to each row and column and monolayer. See below:
+#
+# 2) Instead of loading a PDB file later, we can directly specify the location
+# of each DPPC lipid in the LT file itself. For lipid bilayers, this is
+# easy, because the bilayer structure resembles 2 planar lattices.
+# We can use "move" commands to place each lipid, and the "rot" command
+# to turn the lipids in one of the monolayers upside down.
+#
+# lipids = new DPPC [32].move(7.5, 0, 0)
+# [37].move(3.75, 6.49519, 0)
+# [2].rot(180, 1, 0, 0)
+#
+# 3) If you want to create a bilayer from a mixture of DPPC and DLPC, you must
+# replace "DPPC" in the command above with random([DPPC,DLPC],[0.5,0.5],12345)
+# Here "0.5,0.5" are the probabilities for each molecule type, and "12345"
+# is an optional random seed.
+# lipids = new random([DPPC,DLPC], [0.5,0.5], 12345)
+# [32].move(7.5, 0, 0)
+# [37].move(3.75, 6.49519, 0)
+# [2].rot(180, 1, 0, 0)
+#
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/moltemplate_files/table_int.dat b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/moltemplate_files/table_int.dat
new file mode 100644
index 000000000..b0d651d67
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/moltemplate_files/table_int.dat
@@ -0,0 +1,1139 @@
+# Table for the INT-INT interaction from
+# Brannigan et al, Phys Rev E, 72, 011915 (2005)
+# This table contains
+# i r_i U(r_i) -dU/dr|r_i
+# where U(r) = eps*(0.4*(sigma/r)^12 - 3.0*(sigma/r)^2)
+
+INT
+N 1130
+
+1 0.02 2.0331818401e+30 1.21990910406e+33
+2 0.04 4.9638228518e+26 1.48914685554e+29
+3 0.06 3.82579033251e+24 7.65158066501e+26
+4 0.08 1.21187081343e+23 1.81780622014e+25
+5 0.1 8.32791281704e+21 9.99349538045e+23
+6 0.12 9.34030842897e+20 9.34030842897e+22
+7 0.14 1.46892540453e+20 1.25907891817e+22
+8 0.16 2.95866897809e+19 2.21900173357e+21
+9 0.18 7.19889946863e+18 4.79926631242e+20
+10 0.2 2.0331818401e+18 1.21990910406e+20
+11 0.22 6.47834392264e+17 3.53364213962e+19
+12 0.24 2.28034873754e+17 1.14017436877e+19
+13 0.26 8.72681951932e+16 4.02776285507e+18
+14 0.28 3.58624366341e+16 1.53696157003e+18
+15 0.3 1.56704372019e+16 6.26817488078e+17
+16 0.32 7.2233129348e+15 2.70874235055e+17
+17 0.34 3.48970861422e+15 1.23166186384e+17
+18 0.36 1.75754381558e+15 5.85847938527e+16
+19 0.38 9.18613895646e+14 2.90088598625e+16
+20 0.4 4.96382285179e+14 1.48914685554e+16
+21 0.42 2.76404230108e+14 7.89726371739e+15
+22 0.44 1.58162693423e+14 4.31352800247e+15
+23 0.46 9.27773983256e+13 2.42027995633e+15
+24 0.48 5.56725765996e+13 1.391814415e+15
+25 0.5 3.41111308981e+13 8.18667141564e+14
+26 0.52 2.13057117167e+13 4.91670270393e+14
+27 0.54 1.35459994024e+13 3.0102220895e+14
+28 0.56 8.75547769351e+12 1.87617379153e+14
+29 0.58 5.74645813711e+12 1.18892237325e+14
+30 0.6 3.8257903322e+12 7.65158066491e+13
+31 0.62 2.58128463312e+12 4.99603477424e+13
+32 0.64 1.7635041342e+12 3.30657025205e+13
+33 0.66 1.21901470178e+12 2.21639036726e+13
+34 0.68 8.51979641904e+11 1.50349348607e+13
+35 0.7 6.0167184547e+11 1.0314374497e+13
+36 0.72 4.29087845387e+11 7.15146409276e+12
+37 0.74 3.08855637556e+11 5.00846980094e+12
+38 0.76 2.24270970425e+11 3.54112058818e+12
+39 0.78 1.64210505205e+11 2.52631546702e+12
+40 0.8 1.2118708117e+11 1.81780621971e+12
+41 0.82 90109367359.1 1.31867367068e+12
+42 0.84 67481501334.4 9.64021449503e+11
+43 0.86 50880896383.4 7.09965997788e+11
+44 0.88 38613938681.2 5.26553710913e+11
+45 0.9 29486692086.8 3.93155896009e+11
+46 0.92 22650731882.4 2.95444330322e+11
+47 0.94 17498544395.3 2.23385674464e+11
+48 0.96 13591937526.4 1.69899220331e+11
+49 0.98 10612635712.6 1.29950642555e+11
+50 1.0 8327912706.34 99934953582.6
+51 1.02 6566502316.69 77252969474.2
+52 1.04 5201589672.36 60018343356.8
+53 1.06 4138717434.11 46853405843.3
+54 1.08 3307128665.58 36745874940.0
+55 1.1 2653529579.27 28947596241.1
+56 1.12 2137567708.15 22902511945.9
+57 1.14 1728534024.3 18195095739.0
+58 1.16 1402943799.0 14513212422.1
+59 1.18 1142752163.37 11621209113.9
+60 1.2 934030766.093 9340308300.6
+61 1.22 765981286.774 7534242773.65
+62 1.24 630196371.787 6098675145.29
+63 1.26 520103253.414 4953364870.6
+64 1.28 430542934.103 4036340534.04
+65 1.3 357450462.101 3299543229.91
+66 1.32 297610947.802 2705554551.18
+67 1.34 248472587.186 2225128105.44
+68 1.36 208002782.573 1835319108.76
+69 1.38 174576985.011 1518061159.35
+70 1.4 146892484.084 1259078837.33
+71 1.42 123901294.937 1047053582.16
+72 1.44 104757721.536 872981382.419
+73 1.46 88777241.639 729676313.267
+74 1.48 75404158.02 611385405.387
+75 1.5 64186061.7033 513488820.507
+76 1.52 54753607.1486 432265633.695
+77 1.54 46804443.7318 364710253.134
+78 1.56 40090410.0598 308388060.159
+79 1.58 34407297.9713 261321529.95
+80 1.6 29586646.6744 221900119.2
+81 1.62 25489145.661 188808745.634
+82 1.64 21999316.2868 160970856.824
+83 1.66 19021212.5921 137502982.517
+84 1.68 16474936.8715 117678352.86
+85 1.7 14293808.3245 100897694.735
+86 1.72 12422056.6082 86665727.6626
+87 1.74 10812938.3788 74572197.8496
+88 1.76 9427195.57103 64276535.39
+89 1.78 8231790.46096 55495411.7777
+90 1.8 7198865.45512 47992625.088
+91 1.82 6304885.77339 41570857.9644
+92 1.84 5529931.32911 36064946.1544
+93 1.86 4857110.59557 31336368.341
+94 1.88 4272074.43377 27268725.7382
+95 1.9 3762612.01167 23764025.6584
+96 1.92 3318314.28383 20739619.609
+97 1.94 2930293.18879 18125675.4316
+98 1.96 2590946.89128 15863086.114
+99 1.98 2293763.15199 13901736.4186
+100 2.0 2033154.33079 12199063.3122
+101 2.02 1804318.68586 10718858.1296
+102 2.04 1603123.57305 9430268.02169
+103 2.06 1426006.91783 8306962.01537
+104 2.08 1269893.96121 7326433.30293
+105 2.1 1132126.79514 6469414.48445
+106 2.12 1010404.62602 5719386.63441
+107 2.14 902733.052344 5062166.44376
+108 2.16 807380.928986 4485558.44681
+109 2.18 722843.627253 3979061.59742
+110 2.2 647811.695319 3533621.30686
+111 2.22 581144.085827 3141419.57242
+112 2.24 521845.251959 2795697.07302
+113 2.26 469045.525153 2490602.13576
+114 2.28 421984.280794 2221062.32522
+115 2.3 379995.475978 1982675.10836
+116 2.32 342495.208369 1771614.62868
+117 2.34 308970.999537 1584552.10475
+118 2.36 278972.551763 1418587.76828
+119 2.38 252103.765513 1271192.59046
+120 2.4 228015.837009 1140158.32224
+121 2.42 206401.282366 1023554.60663
+122 2.44 186988.75765 919692.114521
+123 2.46 169538.563484 827090.818108
+124 2.48 153838.739168 744452.651831
+125 2.5 139701.665073 670637.92543
+126 2.52 126961.103835 604644.949624
+127 2.54 115469.620781 545592.416037
+128 2.56 105096.332511 492704.141327
+129 2.58 95724.9397832 445295.843157
+130 2.6 87252.0069441 402763.664479
+131 2.62 79585.4554502 364574.203947
+132 2.64 72643.2434671 330255.845328
+133 2.66 66352.2073932 299391.208536
+134 2.68 60647.0444312 271610.570248
+135 2.7 55469.4181565 246586.123584
+136 2.72 50767.1714483 224026.964698
+137 2.74 46493.633237 203674.709811
+138 2.76 42607.0073083 185299.659567
+139 2.78 39069.8329526 168697.439095
+140 2.8 35848.5085794 153686.051901
+141 2.82 32912.8705664 140103.294183
+142 2.84 30235.8206098 127804.483324
+143 2.86 27792.9956998 116660.460548
+144 2.88 25562.4755962 106555.833042
+145 2.9 23524.5233195 97387.4254387
+146 2.92 21661.3547409 89062.9145204
+147 2.94 19956.9338374 81499.6244039
+148 2.96 18396.7906059 74623.4624292
+149 2.98 16967.8589974 68367.9785194
+150 3.0 15658.3325568 62673.5329856
+151 3.02 14457.5357325 57486.5596649
+152 3.04 13355.809067 52758.912937
+153 3.06 12344.4066925 48447.2886046
+154 3.08 11415.4047444 44512.7098736
+155 3.1 10561.6194689 40920.0707567
+156 3.12 9776.5339459 37637.7301715
+157 3.14 9054.23247117 34637.1508274
+158 3.16 8389.34175838 31892.5777179
+159 3.18 7776.97821258 29380.7516608
+160 3.2 7212.7006167 27080.6538766
+161 3.22 6692.4676457 24973.2780793
+162 3.24 6212.59969004 23041.4269669
+163 3.26 5769.74452856 21269.5303734
+164 3.28 5360.84644195 19643.4826615
+165 3.3 4983.1184041 18150.4972204
+166 3.32 4634.01702836 16778.97618
+167 3.34 4311.21998136 15518.393672
+168 3.36 4012.60560869 14359.191159
+169 3.38 3736.23454428 13292.6835236
+170 3.4 3480.33310029 12310.9747549
+171 3.42 3243.27825585 11406.8822043
+172 3.44 3023.58408279 10573.8684961
+173 3.46 2819.88946345 9805.98028003
+174 3.48 2630.94697101 9097.79310596
+175 3.5 2455.61279669 8444.36177626
+176 3.52 2292.83761972 7841.17560602
+177 3.54 2141.65832756 7284.11808108
+178 3.56 2001.19050257 6769.43046025
+179 3.58 1870.62160083 6293.67891689
+180 3.6 1749.20475558 5853.72485855
+181 3.62 1636.25314534 5446.69810179
+182 3.64 1531.13487237 5069.97261409
+183 3.66 1433.26830277 4721.1445646
+184 3.68 1342.11782445 4398.01245332
+185 3.7 1257.18998347 4098.55911171
+186 3.72 1178.02996319 3820.93539003
+187 3.74 1104.21837425 3563.44536511
+188 3.76 1035.36832639 3324.53291993
+189 3.78 971.122756088 3102.76956138
+190 3.8 911.151986554 2896.84335615
+191 3.82 855.151498616 2705.54887715
+192 3.84 802.83989347 2527.77806329
+193 3.86 753.957029799 2362.51190574
+194 3.88 708.262319576 2208.81288195
+195 3.9 665.533168297 2065.81806693
+196 3.92 625.563546756 1932.73285812
+197 3.94 588.162682667 1808.82525631
+198 3.96 553.153861545 1693.42065104
+199 3.98 520.373327227 1585.89706361
+200 4.0 489.669273313 1485.68080556
+201 4.02 460.900917596 1392.24251449
+202 4.04 433.937652306 1305.09353282
+203 4.06 408.6582636 1223.78259822
+204 4.08 384.950214367 1147.89281764
+205 4.1 362.708984933 1077.03889938
+206 4.12 341.837466738 1010.86461999
+207 4.14 322.245404503 949.040505266
+208 4.16 303.848882793 891.261706073
+209 4.18 286.569853265 837.246052066
+210 4.2 270.33569919 786.732267446
+211 4.22 255.078834164 739.47833469
+212 4.24 240.736332164 695.259993326
+213 4.26 227.249586386 653.869362042
+214 4.28 214.563994495 615.113673492
+215 4.3 202.628668126 578.814112106
+216 4.32 191.396164684 544.804746089
+217 4.34 180.822239621 512.931545605
+218 4.36 170.865617553 483.051479815
+219 4.38 161.487780703 455.031686127
+220 4.4 152.652773286 428.748705595
+221 4.42 144.327020575 404.087778912
+222 4.44 136.479161479 380.942197972
+223 4.46 129.07989358 359.212708377
+224 4.48 122.101829632 338.806958688
+225 4.5 115.519364658 319.638992577
+226 4.52 109.308552789 301.628780369
+227 4.54 103.446993117 284.701786758
+228 4.56 97.9137238447 268.788571763
+229 4.58 92.6891241175 253.824422244
+230 4.6 87.7548229339 239.749011508
+231 4.62 83.0936146036 226.506084761
+232 4.64 78.6893802546 214.043168343
+233 4.66 74.5270149351 202.31130085
+234 4.68 70.5923598871 191.264784422
+235 4.7 66.8721396072 180.860954593
+236 4.72 63.353903336 171.05996726
+237 4.74 60.0259706488 161.824601429
+238 4.76 56.8773808439 153.120076496
+239 4.78 53.8978458491 144.913882966
+240 4.8 51.0777063884 137.175625538
+241 4.82 48.4078911713 129.876877635
+242 4.84 45.8798788842 122.991046476
+243 4.86 43.485662782 116.493247913
+244 4.88 41.2177176913 110.360190267
+245 4.9 39.0689692529 104.570066494
+246 4.92 37.0327652428 99.1024540566
+247 4.94 35.102848823 93.9382219092
+248 4.96 33.2733335874 89.05944408
+249 4.98 31.5386802724 84.4493193479
+250 5.0 29.8936750183 80.0920965658
+251 5.02 28.3334090704 75.9730052143
+252 5.04 26.8532598202 72.0781907976
+253 5.06 25.4488730938 68.3946547294
+254 5.08 24.116146599 64.9101983786
+255 5.1 22.8512144543 61.6133709734
+256 5.12 21.650432722 58.4934210835
+257 5.14 20.5103658787 55.5402514226
+258 5.16 19.4277741591 52.7443767307
+259 5.18 18.3996017121 50.0968845179
+260 5.2 17.4229655155 47.5893984632
+261 5.22 16.4951449988 45.2140442802
+262 5.24 15.6135723236 42.9634178757
+263 5.26 14.775823281 40.8305556374
+264 5.28 13.979608762 38.808906703
+265 5.3 13.2227667648 36.8923070701
+266 5.32 12.5032549016 35.0749554196
+267 5.34 11.8191433738 33.3513905323
+268 5.36 11.1686083831 31.7164701895
+269 5.38 10.5499259512 30.1653514539
+270 5.4 9.96146612005 28.693472236
+271 5.42 9.40168750976 27.2965340593
+272 5.44 8.86913220892 25.9704859397
+273 5.46 8.36242097742 24.7115093061
+274 5.48 7.88024874079 23.5160038893
+275 5.5 7.4213803577 22.3805745153
+276 5.52 6.98464664308 21.3020187412
+277 5.54 6.56894063048 20.2773152771
+278 5.56 6.1732140587 19.3036131423
+279 5.58 5.79647406826 18.3782215059
+280 5.6 5.43778009463 17.4986001669
+281 5.62 5.09624094585 16.6623506308
+282 5.64 4.77101205293 15.867207745
+283 5.66 4.46129288233 15.1110318537
+284 5.68 4.16632450031 14.3918014404
+285 5.7 3.88538727999 13.7076062261
+286 5.72 3.61779874199 13.0566406912
+287 5.74 3.36291152072 12.4371979973
+288 5.76 3.12011144838 11.8476642796
+289 5.78 2.8888157497 11.2865132882
+290 5.8 2.66847134042 10.7523013555
+291 5.82 2.45855322349 10.2436626676
+292 5.84 2.25856297681 9.7593048226
+293 5.86 2.06802732724 9.2980046552
+294 5.88 1.88649680546 8.85860431242
+295 5.9 1.71354447704 8.44000756375
+296 5.92 1.548764745 8.04117633127
+297 5.94 1.39177221978 7.66112742597
+298 5.96 1.24220065245 7.29892947717
+299 5.98 1.09970192753 6.9537000433
+300 6.0 0.963945111861 6.62460289254
+301 6.02 0.83461555631 6.31084544295
+302 6.04 0.711414047074 6.01167635216
+303 6.06 0.594056003831 5.72638324756
+304 6.08 0.482270721937 5.45429058822
+305 6.1 0.375800656137 5.19475765055
+306 6.12 0.274400743381 4.94717663025
+307 6.14 0.177837762511 4.71097085338
+308 6.16 0.0858897286772 4.48559308998
+309 6.18 -0.00165467948361 4.27052396409
+310 6.2 -0.0849966617872 4.06527045435
+311 6.22 -0.164327809314 3.8693644797
+312 6.24 -0.239830589745 3.68236156522
+313 6.26 -0.311678806773 3.50383958321
+314 6.28 -0.380038035049 3.33339756513
+315 6.3 -0.445066032049 3.17065458013
+316 6.32 -0.506913128135 3.0152486763
+317 6.34 -0.56572259604 2.866835881
+318 6.36 -0.621631000928 2.72508925658
+319 6.38 -0.674768532081 2.58969800863
+320 6.4 -0.725259317268 2.46036664323
+321 6.42 -0.773221720709 2.33681417085
+322 6.44 -0.818768625574 2.21877335375
+323 6.46 -0.862007701832 2.10598999469
+324 6.48 -0.90304166028 1.99822226439
+325 6.5 -0.941968493479 1.8952400656
+326 6.52 -0.978881704324 1.79682443166
+327 6.54 -1.01387052292 1.70276695755
+328 6.56 -1.04702011237 1.61286926168
+329 6.58 -1.07841176412 1.52694247655
+330 6.6 -1.10812308336 1.44480676668
+331 6.62 -1.13622816508 1.36629087245
+332 6.64 -1.1627977612 1.29123167801
+333 6.66 -1.18789943936 1.21947380239
+334 6.68 -1.21159773365 1.15086921208
+335 6.7 -1.23395428792 1.08527685416
+336 6.72 -1.25502799183 1.02256230873
+337 6.74 -1.27487511024 0.962597459596
+338 6.76 -1.2935494061 0.90526018218
+339 6.78 -1.31110225728 0.850434047748
+340 6.8 -1.32758276773 0.798008043011
+341 6.82 -1.34303787302 0.747876304295
+342 6.84 -1.35751244086 0.699937865467
+343 6.86 -1.3710493666 0.654096418865
+344 6.88 -1.38368966412 0.610260088543
+345 6.9 -1.3954725523 0.568341215144
+346 6.92 -1.40643553728 0.528256151786
+347 6.94 -1.41661449078 0.489925070364
+348 6.96 -1.42604372459 0.453271777711
+349 6.98 -1.43475606153 0.418223541087
+350 7.0 -1.44278290299 0.384710922497
+351 7.02 -1.45015429321 0.352667621378
+352 7.04 -1.45689898057 0.322030325194
+353 7.06 -1.46304447588 0.292738567537
+354 7.08 -1.46861710792 0.264734593325
+355 7.1 -1.47364207647 0.237963230734
+356 7.12 -1.47814350264 0.2123717695
+357 7.14 -1.482144477 0.187909845266
+358 7.16 -1.48566710537 0.16452932965
+359 7.18 -1.48873255248 0.142184225751
+360 7.2 -1.49136108362 0.120830568787
+361 7.22 -1.49357210429 0.100426331626
+362 7.24 -1.49538419809 0.0809313349308
+363 7.26 -1.4968151628 0.0623071617066
+364 7.28 -1.49788204479 0.044517076001
+365 7.3 -1.49860117187 0.0275259455594
+366 7.32 -1.49898818464 0.0113001682279
+367 7.34 -1.49905806636 -0.00419239808778
+368 7.36 -1.4988251715 -0.0189825020854
+369 7.38 -1.49830325295 -0.0330995625254
+370 7.4 -1.49750548803 -0.0465717286462
+371 7.42 -1.49644450327 -0.0594259376903
+372 7.44 -1.49513239812 -0.0716879696855
+373 7.46 -1.49358076759 -0.0833824996199
+374 7.48 -1.4918007238 -0.0945331471409
+375 7.5 -1.48980291663 -0.105162523901
+376 7.52 -1.48759755345 -0.115292278666
+377 7.54 -1.48519441791 -0.124943140307
+378 7.56 -1.48260288794 -0.13413495876
+379 7.58 -1.47983195293 -0.142886744076
+380 7.6 -1.47689023018 -0.151216703644
+381 7.62 -1.47378598053 -0.159142277674
+382 7.64 -1.47052712344 -0.166680173038
+383 7.66 -1.46712125128 -0.173846395532
+384 7.68 -1.46357564306 -0.180656280652
+385 7.7 -1.45989727753 -0.187124522948
+386 7.72 -1.45609284575 -0.193265204023
+387 7.74 -1.45216876302 -0.199091819249
+388 7.76 -1.4481311804 -0.204617303261
+389 7.78 -1.44398599566 -0.20985405428
+390 7.8 -1.43973886378 -0.214813957332
+391 7.82 -1.43539520696 -0.21950840641
+392 7.84 -1.43096022428 -0.223948325627
+393 7.86 -1.42643890087 -0.228144189416
+394 7.88 -1.42183601669 -0.232106041819
+395 7.9 -1.41715615498 -0.235843514899
+396 7.92 -1.41240371029 -0.239365846333
+397 7.94 -1.40758289625 -0.242681896213
+398 7.96 -1.40269775292 -0.245800163096
+399 7.98 -1.39775215386 -0.248728799339
+400 8.0 -1.39274981294 -0.251475625745
+401 8.02 -1.38769429081 -0.254048145572
+402 8.04 -1.3825890011 -0.256453557906
+403 8.06 -1.37743721643 -0.258698770453
+404 8.08 -1.37224207403 -0.260790411767
+405 8.1 -1.3670065813 -0.262734842931
+406 8.12 -1.36173362096 -0.264538168734
+407 8.14 -1.35642595614 -0.26620624836
+408 8.16 -1.35108623513 -0.267744705599
+409 8.18 -1.34571699603 -0.269158938625
+410 8.2 -1.34032067115 -0.270454129338
+411 8.22 -1.33489959126 -0.271635252315
+412 8.24 -1.32945598963 -0.272707083354
+413 8.26 -1.32399200593 -0.273674207668
+414 8.28 -1.31850968998 -0.274541027712
+415 8.3 -1.3130110053 -0.275311770682
+416 8.32 -1.30749783257 -0.275990495686
+417 8.34 -1.30197197291 -0.276581100614
+418 8.36 -1.29643515102 -0.277087328708
+419 8.38 -1.29088901827 -0.277512774857
+420 8.4 -1.28533515553 -0.277860891625
+421 8.42 -1.279775076 -0.278134995017
+422 8.44 -1.27421022789 -0.278338270004
+423 8.46 -1.26864199697 -0.27847377582
+424 8.48 -1.26307170904 -0.278544451025
+425 8.5 -1.25750063229 -0.278553118366
+426 8.52 -1.25192997959 -0.278502489422
+427 8.54 -1.24636091063 -0.27839516907
+428 8.56 -1.24079453406 -0.278233659745
+429 8.58 -1.23523190945 -0.27802036554
+430 8.6 -1.22967404925 -0.277757596126
+431 8.62 -1.22412192063 -0.277447570509
+432 8.64 -1.21857644724 -0.277092420635
+433 8.66 -1.21303851096 -0.276694194842
+434 8.68 -1.20750895348 -0.276254861174
+435 8.7 -1.20198857794 -0.275776310556
+436 8.72 -1.19647815038 -0.275260359835
+437 8.74 -1.19097840123 -0.274708754702
+438 8.76 -1.18549002669 -0.274123172492
+439 8.78 -1.18001369009 -0.273505224869
+440 8.8 -1.17455002313 -0.272856460401
+441 8.82 -1.16909962718 -0.272178367032
+442 8.84 -1.16366307443 -0.271472374453
+443 8.86 -1.15824090903 -0.270739856375
+444 8.88 -1.1528336482 -0.269982132713
+445 8.9 -1.14744178329 -0.269200471678
+446 8.92 -1.14206578078 -0.26839609179
+447 8.94 -1.13670608326 -0.267570163805
+448 8.96 -1.13136311038 -0.266723812565
+449 8.98 -1.1260372597 -0.26585811878
+450 9.0 -1.12072890764 -0.264974120729
+451 9.02 -1.11543841024 -0.2640728159
+452 9.04 -1.11016610399 -0.263155162565
+453 9.06 -1.10491230659 -0.262222081284
+454 9.08 -1.09967731769 -0.261274456364
+455 9.1 -1.09446141962 -0.260313137244
+456 9.12 -1.08926487805 -0.259338939836
+457 9.14 -1.08408794265 -0.258352647809
+458 9.16 -1.07893084774 -0.257355013824
+459 9.18 -1.07379381288 -0.256346760718
+460 9.2 -1.06867704347 -0.255328582644
+461 9.22 -1.06358073129 -0.254301146164
+462 9.24 -1.05850505508 -0.253265091305
+463 9.26 -1.053450181 -0.252221032561
+464 9.28 -1.04841626319 -0.251169559871
+465 9.3 -1.04340344425 -0.25011123955
+466 9.32 -1.03841185563 -0.249046615186
+467 9.34 -1.03344161818 -0.2479762085
+468 9.36 -1.0284928425 -0.246900520178
+469 9.38 -1.02356562938 -0.245820030663
+470 9.4 -1.0186600702 -0.244735200927
+471 9.42 -1.01377624733 -0.243646473201
+472 9.44 -1.00891423443 -0.242554271687
+473 9.46 -1.0040740969 -0.241459003238
+474 9.48 -0.999255892143 -0.240361058009
+475 9.5 -0.994459669928 -0.239260810093
+476 9.52 -0.989685472697 -0.238158618121
+477 9.54 -0.984933335869 -0.237054825845
+478 9.56 -0.980203288132 -0.235949762702
+479 9.58 -0.975495351726 -0.234843744346
+480 9.6 -0.970809542708 -0.233737073173
+481 9.62 -0.966145871217 -0.232630038816
+482 9.64 -0.961504341725 -0.231522918625
+483 9.66 -0.956884953272 -0.230415978128
+484 9.68 -0.952287699705 -0.229309471477
+485 9.7 -0.947712569897 -0.228203641873
+486 9.72 -0.943159547963 -0.22709872198
+487 9.74 -0.938628613467 -0.225994934317
+488 9.76 -0.934119741622 -0.224892491642
+489 9.78 -0.929632903477 -0.223791597316
+490 9.8 -0.925168066109 -0.222692445658
+491 9.82 -0.920725192794 -0.221595222284
+492 9.84 -0.916304243179 -0.220500104432
+493 9.86 -0.91190517345 -0.219407261278
+494 9.88 -0.907527936486 -0.218316854241
+495 9.9 -0.903172482012 -0.217229037271
+496 9.92 -0.898838756748 -0.216143957132
+497 9.94 -0.894526704547 -0.215061753669
+498 9.96 -0.890236266534 -0.213982560076
+499 9.98 -0.885967381232 -0.212906503136
+500 10.0 -0.881719984692 -0.211833703472
+501 10.02 -0.877494010612 -0.210764275774
+502 10.04 -0.873289390453 -0.209698329022
+503 10.06 -0.869106053554 -0.208635966708
+504 10.08 -0.864943927233 -0.207577287034
+505 10.1 -0.860802936899 -0.206522383122
+506 10.12 -0.856683006147 -0.205471343199
+507 10.14 -0.852584056854 -0.204424250786
+508 10.16 -0.848506009271 -0.203381184875
+509 10.18 -0.844448782117 -0.202342220105
+510 10.2 -0.840412292656 -0.201307426921
+511 10.22 -0.836396456786 -0.20027687174
+512 10.24 -0.832401189115 -0.199250617102
+513 10.26 -0.828426403039 -0.19822872182
+514 10.28 -0.824472010811 -0.197211241119
+515 10.3 -0.820537923617 -0.196198226777
+516 10.32 -0.81662405164 -0.195189727259
+517 10.34 -0.812730304126 -0.19418578784
+518 10.36 -0.808856589444 -0.193186450732
+519 10.38 -0.805002815152 -0.1921917552
+520 10.4 -0.801168888049 -0.191201737679
+521 10.42 -0.797354714233 -0.190216431881
+522 10.44 -0.793560199154 -0.189235868906
+523 10.46 -0.789785247667 -0.188260077336
+524 10.48 -0.786029764076 -0.187289083343
+525 10.5 -0.782293652189 -0.186322910778
+526 10.52 -0.778576815358 -0.185361581264
+527 10.54 -0.774879156522 -0.184405114284
+528 10.56 -0.771200578253 -0.183453527268
+529 10.58 -0.767540982794 -0.182506835671
+530 10.6 -0.763900272099 -0.181565053055
+531 10.62 -0.760278347867 -0.180628191165
+532 10.64 -0.75667511158 -0.179696260001
+533 10.66 -0.753090464539 -0.17876926789
+534 10.68 -0.749524307893 -0.177847221551
+535 10.7 -0.745976542671 -0.176930126167
+536 10.72 -0.742447069815 -0.176017985441
+537 10.74 -0.738935790206 -0.175110801662
+538 10.76 -0.735442604695 -0.174208575761
+539 10.78 -0.731967414126 -0.173311307369
+540 10.8 -0.728510119361 -0.172418994873
+541 10.82 -0.72507062131 -0.171531635464
+542 10.84 -0.721648820948 -0.170649225192
+543 10.86 -0.718244619341 -0.169771759015
+544 10.88 -0.714857917667 -0.168899230842
+545 10.9 -0.711488617235 -0.168031633581
+546 10.92 -0.708136619505 -0.167168959186
+547 10.94 -0.704801826108 -0.166311198692
+548 10.96 -0.701484138863 -0.165458342262
+549 10.98 -0.698183459794 -0.164610379221
+550 11.0 -0.694899691148 -0.1637672981
+551 11.02 -0.691632735406 -0.162929086665
+552 11.04 -0.688382495303 -0.162095731957
+553 11.06 -0.68514887384 -0.161267220326
+554 11.08 -0.681931774298 -0.160443537459
+555 11.1 -0.678731100249 -0.159624668416
+556 11.12 -0.675546755573 -0.15881059766
+557 11.14 -0.672378644462 -0.15800130908
+558 11.16 -0.669226671439 -0.157196786028
+559 11.18 -0.666090741365 -0.156397011339
+560 11.2 -0.662970759447 -0.155601967361
+561 11.22 -0.659866631253 -0.154811635976
+562 11.24 -0.656778262715 -0.154025998629
+563 11.26 -0.653705560141 -0.153245036348
+564 11.28 -0.650648430223 -0.152468729768
+565 11.3 -0.647606780043 -0.15169705915
+566 11.32 -0.644580517084 -0.150930004405
+567 11.34 -0.641569549231 -0.150167545112
+568 11.36 -0.638573784781 -0.149409660536
+569 11.38 -0.635593132451 -0.148656329652
+570 11.4 -0.632627501379 -0.147907531156
+571 11.42 -0.629676801133 -0.147163243484
+572 11.44 -0.626740941713 -0.146423444834
+573 11.46 -0.62381983356 -0.145688113174
+574 11.48 -0.620913387554 -0.144957226261
+575 11.5 -0.618021515027 -0.144230761656
+576 11.52 -0.615144127757 -0.143508696739
+577 11.54 -0.612281137978 -0.14279100872
+578 11.56 -0.609432458382 -0.142077674653
+579 11.58 -0.606598002119 -0.141368671449
+580 11.6 -0.603777682806 -0.140663975889
+581 11.62 -0.600971414522 -0.139963564633
+582 11.64 -0.598179111815 -0.139267414235
+583 11.66 -0.595400689704 -0.138575501149
+584 11.68 -0.592636063678 -0.137887801745
+585 11.7 -0.589885149701 -0.137204292313
+586 11.72 -0.587147864211 -0.136524949077
+587 11.74 -0.584424124122 -0.135849748201
+588 11.76 -0.581713846826 -0.135178665802
+589 11.78 -0.579016950193 -0.134511677954
+590 11.8 -0.576333352571 -0.133848760697
+591 11.82 -0.573662972788 -0.133189890048
+592 11.84 -0.571005730151 -0.132535042004
+593 11.86 -0.56836154445 -0.131884192552
+594 11.88 -0.565730335952 -0.131237317677
+595 11.9 -0.563112025406 -0.130594393364
+596 11.92 -0.560506534041 -0.129955395608
+597 11.94 -0.557913783565 -0.129320300421
+598 11.96 -0.555333696166 -0.128689083832
+599 11.98 -0.552766194514 -0.1280617219
+600 12.0 -0.550211201752 -0.127438190715
+601 12.02 -0.547668641506 -0.126818466403
+602 12.04 -0.545138437876 -0.126202525133
+603 12.06 -0.542620515439 -0.125590343118
+604 12.08 -0.540114799247 -0.124981896625
+605 12.1 -0.537621214828 -0.124377161973
+606 12.12 -0.53513968818 -0.123776115544
+607 12.14 -0.532670145775 -0.123178733779
+608 12.16 -0.530212514555 -0.122584993188
+609 12.18 -0.52776672193 -0.121994870352
+610 12.2 -0.525332695778 -0.121408341923
+611 12.22 -0.522910364445 -0.120825384632
+612 12.24 -0.52049965674 -0.120245975289
+613 12.26 -0.518100501935 -0.119670090788
+614 12.28 -0.515712829763 -0.119097708107
+615 12.3 -0.513336570418 -0.118528804313
+616 12.32 -0.51097165455 -0.117963356563
+617 12.34 -0.508618013267 -0.11740134211
+618 12.36 -0.506275578128 -0.116842738298
+619 12.38 -0.503944281147 -0.116287522571
+620 12.4 -0.501624054788 -0.115735672472
+621 12.42 -0.49931483196 -0.115187165645
+622 12.44 -0.497016546022 -0.114641979838
+623 12.46 -0.494729130774 -0.114100092904
+624 12.48 -0.49245252046 -0.1135614828
+625 12.5 -0.490186649763 -0.113026127594
+626 12.52 -0.487931453803 -0.112494005462
+627 12.54 -0.485686868135 -0.11196509469
+628 12.56 -0.48345282875 -0.111439373678
+629 12.58 -0.481229272066 -0.110916820936
+630 12.6 -0.479016134933 -0.110397415091
+631 12.62 -0.476813354625 -0.109881134884
+632 12.64 -0.474620868841 -0.109367959171
+633 12.66 -0.472438615702 -0.108857866928
+634 12.68 -0.470266533747 -0.108350837244
+635 12.7 -0.468104561934 -0.107846849332
+636 12.72 -0.465952639633 -0.107345882519
+637 12.74 -0.463810706629 -0.106847916255
+638 12.76 -0.461678703116 -0.106352930108
+639 12.78 -0.459556569693 -0.105860903769
+640 12.8 -0.457444247367 -0.105371817049
+641 12.82 -0.455341677547 -0.10488564988
+642 12.84 -0.453248802042 -0.104402382317
+643 12.86 -0.451165563056 -0.103921994536
+644 12.88 -0.449091903193 -0.103444466836
+645 12.9 -0.447027765446 -0.102969779639
+646 12.92 -0.4449730932 -0.102497913489
+647 12.94 -0.442927830229 -0.102028849053
+648 12.96 -0.440891920688 -0.101562567122
+649 12.98 -0.438865309121 -0.101099048608
+650 13.0 -0.436847940448 -0.100638274548
+651 13.02 -0.434839759968 -0.100180226101
+652 13.04 -0.432840713358 -0.0997248845489
+653 13.06 -0.430850746664 -0.0992722312959
+654 13.08 -0.428869806307 -0.0988222478696
+655 13.1 -0.426897839073 -0.0983749159199
+656 13.12 -0.424934792115 -0.0979302172191
+657 13.14 -0.42298061295 -0.0974881336614
+658 13.16 -0.421035249454 -0.097048647263
+659 13.18 -0.419098649864 -0.0966117401617
+660 13.2 -0.417170762771 -0.0961773946166
+661 13.22 -0.41525153712 -0.0957455930079
+662 13.24 -0.413340922208 -0.0953163178365
+663 13.26 -0.411438867679 -0.0948895517235
+664 13.28 -0.409545323527 -0.0944652774101
+665 13.3 -0.407660240085 -0.0940434777572
+666 13.32 -0.405783568032 -0.0936241357448
+667 13.34 -0.403915258384 -0.0932072344716
+668 13.36 -0.402055262494 -0.0927927571548
+669 13.38 -0.400203532049 -0.0923806871294
+670 13.4 -0.39836001907 -0.091971007848
+671 13.42 -0.396524675907 -0.0915637028799
+672 13.44 -0.394697455235 -0.0911587559112
+673 13.46 -0.392878310058 -0.0907561507435
+674 13.48 -0.391067193701 -0.0903558712944
+675 13.5 -0.389264059808 -0.0899579015961
+676 13.52 -0.387468862344 -0.0895622257951
+677 13.54 -0.385681555589 -0.089168828152
+678 13.56 -0.383902094135 -0.0887776930406
+679 13.58 -0.382130432887 -0.0883888049474
+680 13.6 -0.380366527059 -0.088002148471
+681 13.62 -0.378610332173 -0.0876177083216
+682 13.64 -0.376861804052 -0.0872354693205
+683 13.66 -0.375120898826 -0.0868554163993
+684 13.68 -0.373387572922 -0.0864775345994
+685 13.7 -0.371661783067 -0.0861018090713
+686 13.72 -0.369943486282 -0.0857282250742
+687 13.74 -0.368232639885 -0.0853567679751
+688 13.76 -0.366529201481 -0.0849874232486
+689 13.78 -0.364833128968 -0.0846201764757
+690 13.8 -0.363144380531 -0.0842550133436
+691 13.82 -0.361462914638 -0.083891919645
+692 13.84 -0.359788690043 -0.0835308812773
+693 13.86 -0.358121665778 -0.0831718842421
+694 13.88 -0.356461801157 -0.0828149146446
+695 13.9 -0.354809055768 -0.0824599586927
+696 13.92 -0.353163389476 -0.0821070026966
+697 13.94 -0.351524762418 -0.0817560330682
+698 13.96 -0.349893135001 -0.0814070363201
+699 13.98 -0.348268467902 -0.0810599990654
+700 14.0 -0.346650722064 -0.0807149080166
+701 14.02 -0.345039858694 -0.0803717499853
+702 14.04 -0.343435839265 -0.0800305118814
+703 14.06 -0.341838625506 -0.0796911807123
+704 14.08 -0.340248179409 -0.0793537435825
+705 14.1 -0.338664463221 -0.079018187693
+706 14.12 -0.337087439445 -0.0786845003402
+707 14.14 -0.335517070835 -0.0783526689157
+708 14.16 -0.333953320399 -0.0780226809053
+709 14.18 -0.332396151392 -0.0776945238888
+710 14.2 -0.330845527319 -0.0773681855387
+711 14.22 -0.329301411928 -0.0770436536203
+712 14.24 -0.327763769212 -0.0767209159903
+713 14.26 -0.326232563407 -0.0763999605967
+714 14.28 -0.324707758986 -0.076080775478
+715 14.3 -0.323189320665 -0.0757633487623
+716 14.32 -0.321677213392 -0.075447668667
+717 14.34 -0.320171402352 -0.0751337234981
+718 14.36 -0.318671852963 -0.0748215016493
+719 14.38 -0.317178530874 -0.0745109916017
+720 14.4 -0.315691401963 -0.0742021819228
+721 14.42 -0.314210432337 -0.0738950612663
+722 14.44 -0.312735588328 -0.073589618371
+723 14.46 -0.311266836492 -0.0732858420606
+724 14.48 -0.309804143609 -0.0729837212427
+725 14.5 -0.308347476679 -0.0726832449085
+726 14.52 -0.306896802922 -0.0723844021319
+727 14.54 -0.305452089775 -0.072087182069
+728 14.56 -0.304013304893 -0.0717915739575
+729 14.58 -0.302580416142 -0.0714975671162
+730 14.6 -0.301153391604 -0.071205150944
+731 14.62 -0.29973219957 -0.0709143149198
+732 14.64 -0.298316808542 -0.0706250486013
+733 14.66 -0.29690718723 -0.0703373416252
+734 14.68 -0.29550330455 -0.0700511837056
+735 14.7 -0.294105129623 -0.0697665646344
+736 14.72 -0.292712631773 -0.06948347428
+737 14.74 -0.291325780527 -0.069201902587
+738 14.76 -0.289944545612 -0.0689218395755
+739 14.78 -0.288568896953 -0.0686432753407
+740 14.8 -0.287198804672 -0.068366200052
+741 14.82 -0.285834239089 -0.0680906039529
+742 14.84 -0.284475170717 -0.0678164773599
+743 14.86 -0.283121570262 -0.0675438106623
+744 14.88 -0.281773408622 -0.0672725943215
+745 14.9 -0.280430656883 -0.0670028188703
+746 14.92 -0.279093286324 -0.0667344749127
+747 14.94 -0.277761268406 -0.066467553123
+748 14.96 -0.276434574779 -0.0662020442454
+749 14.98 -0.275113177278 -0.0659379390934
+750 15.0 -0.273797047918 -0.0656752285492
+751 15.02 -0.272486158899 -0.0654139035635
+752 15.04 -0.271180482599 -0.0651539551544
+753 15.06 -0.269879991575 -0.0648953744073
+754 15.08 -0.268584658563 -0.0646381524742
+755 15.1 -0.267294456476 -0.0643822805732
+756 15.12 -0.266009358398 -0.064127749988
+757 15.14 -0.264729337592 -0.0638745520673
+758 15.16 -0.263454367489 -0.0636226782243
+759 15.18 -0.262184421693 -0.0633721199364
+760 15.2 -0.260919473977 -0.0631228687444
+761 15.22 -0.259659498285 -0.062874916252
+762 15.24 -0.258404468725 -0.0626282541256
+763 15.26 -0.257154359572 -0.0623828740934
+764 15.28 -0.255909145268 -0.0621387679452
+765 15.3 -0.254668800416 -0.061895927532
+766 15.32 -0.253433299783 -0.061654344765
+767 15.34 -0.252202618295 -0.0614140116156
+768 15.36 -0.250976731041 -0.0611749201148
+769 15.38 -0.249755613266 -0.0609370623526
+770 15.4 -0.248539240374 -0.0607004304776
+771 15.42 -0.247327587926 -0.0604650166966
+772 15.44 -0.246120631637 -0.0602308132741
+773 15.46 -0.244918347377 -0.0599978125317
+774 15.48 -0.243720711169 -0.0597660068478
+775 15.5 -0.242527699187 -0.0595353886571
+776 15.52 -0.241339287756 -0.05930595045
+777 15.54 -0.240155453352 -0.0590776847726
+778 15.56 -0.238976172597 -0.0588505842256
+779 15.58 -0.237801422264 -0.0586246414643
+780 15.6 -0.236631179269 -0.0583998491983
+781 15.62 -0.235465420674 -0.0581762001905
+782 15.64 -0.234304123687 -0.057953687257
+783 15.66 -0.233147265658 -0.057732303267
+784 15.68 -0.231994824078 -0.0575120411416
+785 15.7 -0.23084677658 -0.0572928938542
+786 15.72 -0.229703100938 -0.0570748544293
+787 15.74 -0.228563775063 -0.0568579159429
+788 15.76 -0.227428777006 -0.0566420715213
+789 15.78 -0.226298084954 -0.0564273143414
+790 15.8 -0.22517167723 -0.0562136376296
+791 15.82 -0.224049532291 -0.0560010346619
+792 15.84 -0.222931628729 -0.0557894987635
+793 15.86 -0.22181794527 -0.0555790233081
+794 15.88 -0.220708460771 -0.0553696017175
+795 15.9 -0.21960315422 -0.0551612274618
+796 15.92 -0.218502004734 -0.0549538940582
+797 15.94 -0.217404991561 -0.0547475950712
+798 15.96 -0.216312094077 -0.0545423241119
+799 15.98 -0.215223291785 -0.0543380748379
+800 16.0 -0.214138564315 -0.0541348409526
+801 16.02 -0.21305789142 -0.0539326162051
+802 16.04 -0.21198125298 -0.0537313943897
+803 16.06 -0.210908628999 -0.0535311693457
+804 16.08 -0.209839999602 -0.0533319349567
+805 16.1 -0.208775345037 -0.0531336851505
+806 16.12 -0.207714645672 -0.0529364138987
+807 16.14 -0.206657881997 -0.0527401152166
+808 16.16 -0.205605034619 -0.0525447831621
+809 16.18 -0.204556084266 -0.0523504118362
+810 16.2 -0.20351101178 -0.0521569953823
+811 16.22 -0.202469798123 -0.0519645279856
+812 16.24 -0.201432424372 -0.0517730038733
+813 16.26 -0.200398871718 -0.0515824173138
+814 16.28 -0.199369121467 -0.0513927626166
+815 16.3 -0.198343155039 -0.051204034132
+816 16.32 -0.197320953965 -0.0510162262506
+817 16.34 -0.196302499889 -0.050829333403
+818 16.36 -0.195287774565 -0.0506433500599
+819 16.38 -0.194276759859 -0.0504582707309
+820 16.4 -0.193269437746 -0.0502740899651
+821 16.42 -0.192265790306 -0.0500908023503
+822 16.44 -0.191265799733 -0.0499084025129
+823 16.46 -0.190269448323 -0.0497268851171
+824 16.48 -0.189276718481 -0.0495462448654
+825 16.5 -0.188287592716 -0.0493664764977
+826 16.52 -0.187302053643 -0.0491875747911
+827 16.54 -0.186320083981 -0.0490095345599
+828 16.56 -0.185341666552 -0.0488323506547
+829 16.58 -0.18436678428 -0.0486560179629
+830 16.6 -0.183395420192 -0.0484805314077
+831 16.62 -0.182427557417 -0.0483058859483
+832 16.64 -0.181463179181 -0.0481320765793
+833 16.66 -0.180502268813 -0.0479590983305
+834 16.68 -0.179544809739 -0.0477869462668
+835 16.7 -0.178590785487 -0.0476156154877
+836 16.72 -0.177640179677 -0.0474451011271
+837 16.74 -0.176692976031 -0.0472753983531
+838 16.76 -0.175749158364 -0.0471065023674
+839 16.78 -0.174808710589 -0.0469384084057
+840 16.8 -0.173871616713 -0.0467711117367
+841 16.82 -0.172937860836 -0.0466046076623
+842 16.84 -0.172007427154 -0.0464388915171
+843 16.86 -0.171080299953 -0.0462739586683
+844 16.88 -0.170156463616 -0.0461098045155
+845 16.9 -0.169235902612 -0.04594642449
+846 16.92 -0.168318601505 -0.0457838140552
+847 16.94 -0.167404544949 -0.0456219687059
+848 16.96 -0.166493717686 -0.0454608839681
+849 16.98 -0.165586104549 -0.0453005553988
+850 17.0 -0.164681690459 -0.045140978586
+851 17.02 -0.163780460423 -0.044982149148
+852 17.04 -0.162882399539 -0.0448240627335
+853 17.06 -0.161987492989 -0.0446667150213
+854 17.08 -0.161095726042 -0.0445101017198
+855 17.1 -0.160207084053 -0.0443542185673
+856 17.12 -0.15932155246 -0.0441990613312
+857 17.14 -0.158439116788 -0.0440446258081
+858 17.16 -0.157559762644 -0.0438909078236
+859 17.18 -0.156683475719 -0.0437379032318
+860 17.2 -0.155810241787 -0.0435856079154
+861 17.22 -0.154940046702 -0.0434340177851
+862 17.24 -0.154072876401 -0.0432831287799
+863 17.26 -0.153208716903 -0.0431329368663
+864 17.28 -0.152347554306 -0.0429834380385
+865 17.3 -0.151489374787 -0.0428346283181
+866 17.32 -0.150634164605 -0.0426865037537
+867 17.34 -0.149781910096 -0.0425390604208
+868 17.36 -0.148932597673 -0.0423922944219
+869 17.38 -0.148086213829 -0.0422462018856
+870 17.4 -0.147242745133 -0.0421007789672
+871 17.42 -0.146402178232 -0.0419560218477
+872 17.44 -0.145564499846 -0.0418119267343
+873 17.46 -0.144729696774 -0.0416684898597
+874 17.48 -0.143897755889 -0.0415257074823
+875 17.5 -0.143068664136 -0.0413835758856
+876 17.52 -0.142242408539 -0.0412420913782
+877 17.54 -0.141418976192 -0.0411012502937
+878 17.56 -0.140598354262 -0.0409610489904
+879 17.58 -0.139780529991 -0.0408214838511
+880 17.6 -0.138965490691 -0.040682551283
+881 17.62 -0.138153223746 -0.0405442477172
+882 17.64 -0.137343716613 -0.0404065696091
+883 17.66 -0.136536956816 -0.0402695134376
+884 17.68 -0.135732931952 -0.0401330757054
+885 17.7 -0.134931629688 -0.0399972529384
+886 17.72 -0.134133037758 -0.0398620416858
+887 17.74 -0.133337143966 -0.0397274385201
+888 17.76 -0.132543936186 -0.0395934400363
+889 17.78 -0.131753402356 -0.0394600428522
+890 17.8 -0.130965530486 -0.0393272436083
+891 17.82 -0.130180308648 -0.0391950389674
+892 17.84 -0.129397724985 -0.0390634256142
+893 17.86 -0.128617767704 -0.0389324002559
+894 17.88 -0.127840425077 -0.0388019596211
+895 17.9 -0.127065685442 -0.0386721004602
+896 17.92 -0.126293537203 -0.0385428195454
+897 17.94 -0.125523968827 -0.0384141136698
+898 17.96 -0.124756968844 -0.038285979648
+899 17.98 -0.12399252585 -0.0381584143155
+900 18.0 -0.123230628501 -0.0380314145287
+901 18.02 -0.122471265519 -0.0379049771648
+902 18.04 -0.121714425686 -0.0377790991214
+903 18.06 -0.120960097846 -0.0376537773164
+904 18.08 -0.120208270905 -0.0375290086883
+905 18.1 -0.119458933831 -0.0374047901954
+906 18.12 -0.11871207565 -0.0372811188161
+907 18.14 -0.117967685451 -0.0371579915483
+908 18.16 -0.117225752381 -0.0370354054099
+909 18.18 -0.116486265647 -0.0369133574381
+910 18.2 -0.115749214515 -0.0367918446895
+911 18.22 -0.11501458831 -0.0366708642398
+912 18.24 -0.114282376416 -0.0365504131839
+913 18.26 -0.113552568273 -0.0364304886354
+914 18.28 -0.11282515338 -0.0363110877269
+915 18.3 -0.112100121292 -0.0361922076096
+916 18.32 -0.111377461622 -0.0360738454529
+917 18.34 -0.110657164039 -0.0359559984449
+918 18.36 -0.109939218269 -0.0358386637917
+919 18.38 -0.109223614091 -0.0357218387177
+920 18.4 -0.108510341341 -0.0356055204649
+921 18.42 -0.107799389911 -0.0354897062933
+922 18.44 -0.107090749747 -0.0353743934808
+923 18.46 -0.106384410848 -0.0352595793223
+924 18.48 -0.105680363268 -0.0351452611307
+925 18.5 -0.104978597114 -0.0350314362357
+926 18.52 -0.104279102547 -0.0349181019845
+927 18.54 -0.103581869781 -0.0348052557411
+928 18.56 -0.102886889082 -0.0346928948865
+929 18.58 -0.102194150767 -0.0345810168186
+930 18.6 -0.101503645208 -0.0344696189517
+931 18.62 -0.100815362825 -0.0343586987167
+932 18.64 -0.100129294092 -0.0342482535611
+933 18.66 -0.0994454295322 -0.0341382809484
+934 18.68 -0.0987637597204 -0.0340287783585
+935 18.7 -0.0980842752811 -0.0339197432873
+936 18.72 -0.0974069668887 -0.0338111732465
+937 18.74 -0.0967318252675 -0.0337030657637
+938 18.76 -0.0960588411908 -0.0335954183822
+939 18.78 -0.0953880054812 -0.0334882286609
+940 18.8 -0.0947193090095 -0.0333814941741
+941 18.82 -0.0940527426954 -0.0332752125115
+942 18.84 -0.0933882975062 -0.0331693812782
+943 18.86 -0.0927259644573 -0.033063998094
+944 18.88 -0.0920657346112 -0.0329590605941
+945 18.9 -0.0914075990779 -0.0328545664286
+946 18.92 -0.0907515490141 -0.0327505132621
+947 18.94 -0.0900975756229 -0.0326468987742
+948 18.96 -0.089445670154 -0.032543720659
+949 18.98 -0.0887958239027 -0.0324409766249
+950 19.0 -0.0881480282103 -0.032338664395
+951 19.02 -0.0875022744633 -0.0322367817064
+952 19.04 -0.0868585540934 -0.0321353263106
+953 19.06 -0.0862168585771 -0.0320342959728
+954 19.08 -0.0855771794356 -0.0319336884725
+955 19.1 -0.084939508234 -0.0318335016031
+956 19.12 -0.0843038365819 -0.0317337331714
+957 19.14 -0.0836701561321 -0.0316343809981
+958 19.16 -0.0830384585813 -0.0315354429176
+959 19.18 -0.0824087356692 -0.0314369167774
+960 19.2 -0.0817809791782 -0.0313388004388
+961 19.22 -0.0811551809338 -0.031241091776
+962 19.24 -0.0805313328034 -0.0311437886765
+963 19.26 -0.079909426697 -0.031046889041
+964 19.28 -0.079289454566 -0.030950390783
+965 19.3 -0.0786714084036 -0.0308542918291
+966 19.32 -0.0780552802445 -0.0307585901186
+967 19.34 -0.0774410621642 -0.0306632836034
+968 19.36 -0.0768287462793 -0.0305683702482
+969 19.38 -0.0762183247467 -0.0304738480301
+970 19.4 -0.0756097897639 -0.0303797149388
+971 19.42 -0.0750031335683 -0.0302859689762
+972 19.44 -0.0743983484373 -0.0301926081566
+973 19.46 -0.0737954266876 -0.0300996305063
+974 19.48 -0.0731943606756 -0.0300070340638
+975 19.5 -0.0725951427967 -0.0299148168796
+976 19.52 -0.071997765485 -0.0298229770161
+977 19.54 -0.0714022212134 -0.0297315125477
+978 19.56 -0.0708085024932 -0.0296404215602
+979 19.58 -0.0702166018738 -0.0295497021514
+980 19.6 -0.0696265119425 -0.0294593524306
+981 19.62 -0.0690382253245 -0.0293693705184
+982 19.64 -0.0684517346822 -0.0292797545471
+983 19.66 -0.0678670327154 -0.0291905026603
+984 19.68 -0.0672841121609 -0.0291016130126
+985 19.7 -0.0667029657922 -0.0290130837702
+986 19.72 -0.0661235864195 -0.02892491311
+987 19.74 -0.0655459668893 -0.0288370992202
+988 19.76 -0.0649701000843 -0.0287496402998
+989 19.78 -0.0643959789228 -0.0286625345588
+990 19.8 -0.0638235963592 -0.028575780218
+991 19.82 -0.0632529453832 -0.0284893755087
+992 19.84 -0.0626840190197 -0.0284033186731
+993 19.86 -0.0621168103288 -0.0283176079638
+994 19.88 -0.0615513124053 -0.0282322416441
+995 19.9 -0.0609875183786 -0.0281472179874
+996 19.92 -0.0604254214128 -0.0280625352778
+997 19.94 -0.0598650147059 -0.0279781918096
+998 19.96 -0.0593062914901 -0.027894185887
+999 19.98 -0.0587492450313 -0.0278105158248
+1000 20.0 -0.0581938686292 -0.0277271799475
+1001 20.02 -0.0576401556166 -0.0276441765898
+1002 20.04 -0.0570880993599 -0.0275615040963
+1003 20.06 -0.056537693258 -0.0274791608214
+1004 20.08 -0.0559889307431 -0.0273971451294
+1005 20.1 -0.0554418052798 -0.0273154553941
+1006 20.12 -0.0548963103651 -0.0272340899992
+1007 20.14 -0.0543524395283 -0.0271530473379
+1008 20.16 -0.0538101863307 -0.027072325813
+1009 20.18 -0.0532695443654 -0.0269919238365
+1010 20.2 -0.0527305072574 -0.0269118398301
+1011 20.22 -0.0521930686629 -0.0268320722247
+1012 20.24 -0.0516572222695 -0.0267526194605
+1013 20.26 -0.0511229617959 -0.0266734799867
+1014 20.28 -0.0505902809917 -0.0265946522621
+1015 20.3 -0.0500591736373 -0.026516134754
+1016 20.32 -0.0495296335436 -0.0264379259393
+1017 20.34 -0.0490016545518 -0.0263600243033
+1018 20.36 -0.0484752305336 -0.0262824283405
+1019 20.38 -0.0479503553904 -0.0262051365543
+1020 20.4 -0.0474270230535 -0.0261281474567
+1021 20.42 -0.0469052274841 -0.0260514595684
+1022 20.44 -0.0463849626725 -0.0259750714189
+1023 20.46 -0.0458662226388 -0.0258989815462
+1024 20.48 -0.0453490014319 -0.0258231884968
+1025 20.5 -0.0448332931297 -0.0257476908257
+1026 20.52 -0.0443190918392 -0.0256724870964
+1027 20.54 -0.0438063916958 -0.0255975758806
+1028 20.56 -0.0432951868634 -0.0255229557586
+1029 20.58 -0.0427854715342 -0.0254486253186
+1030 20.6 -0.0422772399288 -0.0253745831572
+1031 20.62 -0.0417704862954 -0.0253008278792
+1032 20.64 -0.0412652049103 -0.0252273580972
+1033 20.66 -0.0407613900774 -0.0251541724321
+1034 20.68 -0.040259036128 -0.0250812695126
+1035 20.7 -0.039758137421 -0.0250086479756
+1036 20.72 -0.0392586883422 -0.0249363064654
+1037 20.74 -0.0387606833045 -0.0248642436347
+1038 20.76 -0.0382641167479 -0.0247924581434
+1039 20.78 -0.0377689831387 -0.0247209486595
+1040 20.8 -0.0372752769703 -0.0246497138585
+1041 20.82 -0.036782992762 -0.0245787524235
+1042 20.84 -0.0362921250596 -0.0245080630453
+1043 20.86 -0.0358026684351 -0.0244376444219
+1044 20.88 -0.0353146174863 -0.0243674952592
+1045 20.9 -0.0348279668369 -0.0242976142701
+1046 20.92 -0.0343427111362 -0.0242280001751
+1047 20.94 -0.0338588450591 -0.0241586517019
+1048 20.96 -0.0333763633058 -0.0240895675856
+1049 20.98 -0.0328952606017 -0.0240207465683
+1050 21.0 -0.0324155316974 -0.0239521873994
+1051 21.02 -0.0319371713684 -0.0238838888354
+1052 21.04 -0.0314601744149 -0.0238158496399
+1053 21.06 -0.0309845356618 -0.0237480685835
+1054 21.08 -0.0305102499587 -0.0236805444437
+1055 21.1 -0.0300373121794 -0.0236132760051
+1056 21.12 -0.0295657172219 -0.023546262059
+1057 21.14 -0.0290954600085 -0.0234795014037
+1058 21.16 -0.0286265354851 -0.0234129928442
+1059 21.18 -0.028158938622 -0.0233467351922
+1060 21.2 -0.0276926644126 -0.0232807272662
+1061 21.22 -0.0272277078743 -0.0232149678915
+1062 21.24 -0.0267640640477 -0.0231494558997
+1063 21.26 -0.0263017279969 -0.0230841901292
+1064 21.28 -0.0258406948088 -0.0230191694249
+1065 21.3 -0.0253809595937 -0.0229543926381
+1066 21.32 -0.0249225174848 -0.0228898586266
+1067 21.34 -0.0244653636377 -0.0228255662547
+1068 21.36 -0.0240094932312 -0.0227615143929
+1069 21.38 -0.0235549014661 -0.0226977019182
+1070 21.4 -0.023101583566 -0.0226341277136
+1071 21.42 -0.0226495347765 -0.0225707906687
+1072 21.44 -0.0221987503655 -0.0225076896791
+1073 21.46 -0.021749225623 -0.0224448236465
+1074 21.48 -0.0213009558606 -0.0223821914788
+1075 21.5 -0.020853936412 -0.02231979209
+1076 21.52 -0.0204081626323 -0.0222576244002
+1077 21.54 -0.0199636298985 -0.0221956873354
+1078 21.56 -0.0195203336085 -0.0221339798275
+1079 21.58 -0.0190782691821 -0.0220725008144
+1080 21.6 -0.0186374320597 -0.02201124924
+1081 21.62 -0.0181978177032 -0.0219502240539
+1082 21.64 -0.0177594215953 -0.0218894242115
+1083 21.66 -0.0173222392394 -0.0218288486741
+1084 21.68 -0.0168862661598 -0.0217684964086
+1085 21.7 -0.0164514979014 -0.0217083663878
+1086 21.72 -0.0160179300295 -0.0216484575898
+1087 21.74 -0.0155855581298 -0.0215887689986
+1088 21.76 -0.0151543778082 -0.0215292996039
+1089 21.78 -0.014724384691 -0.0214700484006
+1090 21.8 -0.0142955744243 -0.0214110143895
+1091 21.82 -0.0138679426741 -0.0213521965765
+1092 21.84 -0.0134414851265 -0.0212935939733
+1093 21.86 -0.013016197487 -0.0212352055967
+1094 21.88 -0.0125920754809 -0.0211770304692
+1095 21.9 -0.012169114853 -0.0211190676184
+1096 21.92 -0.0117473113675 -0.0210613160772
+1097 21.94 -0.0113266608076 -0.021003774884
+1098 21.96 -0.0109071589762 -0.0209464430823
+1099 21.98 -0.0104888016947 -0.0208893197208
+1100 22.0 -0.010071584804 -0.0208324038534
+1101 22.02 -0.00965550416359 -0.0207756945391
+1102 22.04 -0.0092405556517 -0.020719190842
+1103 22.06 -0.00882673516534 -0.0206628918315
+1104 22.08 -0.00841403862003 -0.0206067965819
+1105 22.1 -0.0080024619498 -0.0205509041723
+1106 22.12 -0.00759200110698 -0.0204952136871
+1107 22.14 -0.00718265206222 -0.0204397242155
+1108 22.16 -0.00677441080431 -0.0203844348517
+1109 22.18 -0.00636727334011 -0.0203293446947
+1110 22.2 -0.00596123569445 -0.0202744528484
+1111 22.22 -0.00555629391005 -0.0202197584216
+1112 22.24 -0.00515244404737 -0.0201652605278
+1113 22.26 -0.00474968218459 -0.0201109582853
+1114 22.28 -0.00434800441746 -0.0200568508172
+1115 22.3 -0.00394740685922 -0.0200029372512
+1116 22.32 -0.00354788564052 -0.0199492167196
+1117 22.34 -0.0031494369093 -0.0198956883597
+1118 22.36 -0.00275205683071 -0.0198423513132
+1119 22.38 -0.00235574158704 -0.0197892047262
+1120 22.4 -0.00196048737759 -0.0197362477497
+1121 22.42 -0.00156629041861 -0.0196834795391
+1122 22.44 -0.00117314694319 -0.0196308992543
+1123 22.46 -0.000781053201174 -0.0195785060596
+1124 22.48 -0.000390005459079 -0.019526299124
+1125 22.5 0.0 -0.0194742776206
+1126 22.52 0.0 0.0
+1127 22.54 0.0 0.0
+1128 22.56 0.0 0.0
+1129 22.58 0.0 0.0
+1130 22.6 0.0 0.0
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/run.in.min b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/run.in.min
new file mode 100644
index 000000000..6cbb92ad8
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/run.in.min
@@ -0,0 +1,28 @@
+# -- Init section --
+
+include system.in.init
+
+# -- Atom definition section --
+
+read_data system.data
+
+# -- Settings Section --
+
+include system.in.settings
+
+# Optional: Make sure the pairwise energies look reasonable:
+#pair_write 2 2 1001 r 2.6 16.0 test_tail-tail.dat t-t 0 0
+#pair_write 2 3 1001 r 2.6 16.0 test_tail-head.dat t-h 0 0
+#pair_write 1 2 1001 r 2.6 16.0 test_int-tail.dat i-t 0 0
+#pair_write 1 1 2573 r 2.6 16.0 test_int-int.dat i-i 0 0
+#pair_write 1 3 1001 r 2.6 16.0 test_int-head.dat i-h 0 0
+#pair_write 3 3 1001 r 2.6 16.0 test_head-head.dat h-h 0 0
+
+
+# -- Run section --
+
+dump 1 all custom 50 traj_min.lammpstrj id mol type x y z ix iy iz
+
+minimize 1.0e-5 1.0e-7 500 2000
+
+write_data system_after_min.data
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/run.in.npt b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/run.in.npt
new file mode 100644
index 000000000..ab37d34b3
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/run.in.npt
@@ -0,0 +1,57 @@
+# -------- REQUIREMENTS: ---------
+# 1) This example may require additional features and bug fixes for LAMMPS.
+# Be sure to download and copy the "additional_lammps_code" from
+# http://moltemplate.org (upper-left corner menu)
+# 2) Unpack it
+# 3) copy the .cpp and .h files to the src folding of your lammps installation.
+# 4) Compile LAMMPS.
+#
+# (If LAMMPS complains about an "Invalid pair_style"
+# then you made a mistake in the instructions above.)
+#
+
+# -- Init Section --
+
+include system.in.init
+
+# -- Atom Definition Section --
+
+read_data system.data
+
+# -- Settings Section --
+
+include system.in.settings
+
+# -- Run Section --
+
+
+timestep 6.0 # The time-step in Watson et. al 2011 was 0.002*3ps = 6fs
+dump 1 all custom 5000 traj_npt.lammpstrj id mol type x y z ix iy iz
+
+
+thermo_style custom step temp pe etotal vol epair ebond eangle
+thermo 1000 # time interval for printing out "thermo" data
+
+
+fix fxlan all langevin 300.0 300.0 120 48279
+fix fxnph all nph x 0 0 1000 y 0 0 1000 couple xy
+
+
+# Note: The temperature 300.0 K corresponds to 0.907033536873*epsilon
+# for the "epsilon" used by the coarse-grained lipid.
+# Note: The langevin damping parameter "120" corresponds to
+# the 0.12ps damping time used in Watson et. al JCP 2011.
+# Note: We maintain the system system at constant (zero) tention
+# using a barostat damping parameter Pdamp=1000 ("0 0 1000")
+
+
+# optional (not sure if this helps):
+# balance x uniform y uniform
+
+
+#restart 1000000
+
+run 2000000
+
+write_data system_after_npt.data
+
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/run.in.nvt b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/run.in.nvt
new file mode 100644
index 000000000..63d4cde4a
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_BranniganPRE2005/run.in.nvt
@@ -0,0 +1,45 @@
+# ------------------------------- Initialization Section --------------------
+
+include system.in.init
+
+# ------------------------------- Atom Definition Section -------------------
+
+
+# Normally, I would minimize the system and equilibrate the system at constant
+# pressure and temperature beforehand. If you run lammps with "run.in.npt",
+# it will generate a data file "system_after_npt.data" with reasonable
+# coordinates at that temperature and pressure. Then we could load it now:
+#
+#read_data system_after_npt.data
+
+read_data system.data
+
+# ------------------------------- Settings Section --------------------------
+
+include system.in.settings
+
+# ------------------------------- Run Section -------------------------------
+
+
+timestep 6.0 # The time-step in Watson et. al 2011 was 0.002*3ps = 6fs
+dump 1 all custom 5000 traj_nvt.lammpstrj id mol type x y z ix iy iz
+
+
+thermo_style custom step temp pe etotal vol epair ebond eangle
+thermo 1000 # time interval for printing out "thermo" data
+
+
+fix fxlan all langevin 300.0 300.0 120 48279
+fix fxnve all nve
+
+# Note: The energy scale "epsilon" = 2.75kJ/mole = 330.7485200981 Kelvin*kB.
+# So a temperature of 300.0 Kelvin corresponds to 0.907033536873*epsilon.
+# Note: The langevin damping parameter "120" corresponds to
+# the 0.12ps damping time used in Watson et. al JCP 2011.
+
+#restart 1000000
+
+run 1000000
+
+write_data system_after_nvt.data
+
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/README.txt b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/README.txt
new file mode 100644
index 000000000..c0fc605b6
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/README.txt
@@ -0,0 +1,16 @@
+----- Description --------
+
+This example contains an implementation of the DPPC lipid bilayer described in:
+"Tunable generic model for fluid bilayer membranes"
+Cooke IR, Kremer K, Deserno M, Physical Review E, 2005
+
+-------------
+
+Instructions on how to build LAMMPS input files and
+run a short simulation are provided in other README files.
+
+step 1)
+README_setup.sh
+
+step2)
+README_run.sh
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/README_run.sh b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/README_run.sh
new file mode 100755
index 000000000..940205ff4
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/README_run.sh
@@ -0,0 +1,27 @@
+# --- Running LAMMPS ---
+# -- Prerequisites: --
+# The "run.in.nvt" file is a LAMMPS input script containing
+# references to the input scripts and data files
+# you hopefully have created earlier with moltemplate.sh:
+# system.in.init, system.in.settings, system.data, and table_int.dat
+# If not, carry out the instructions in "README_setup.sh".
+#
+# -- Instructions: --
+# If "lmp_mpi" is the name of the command you use to invoke lammps,
+# then you would run lammps on these files this way:
+
+
+lmp_mpi -i run.in.npt # Run a simulation at constant pressure (tension)
+
+# and, after that:
+
+lmp_mpi -i run.in.nvt # Run a simulation at constant volume
+
+
+
+
+# If you have compiled the MPI version of lammps, you can run lammps in parallel
+#mpiexec -np 4 lmp_mpi -i run.in.npt
+#or
+#mpiexec -np 4 lmp_mpi -i run.in.nvt
+# (assuming you have 4 processors available)
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/README_setup.sh b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/README_setup.sh
new file mode 100755
index 000000000..0d1c3fd00
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/README_setup.sh
@@ -0,0 +1,28 @@
+# Use these commands to generate the LAMMPS input script and data file
+# (and other auxilliary files):
+
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh system.lt
+
+ # This will generate various files with names ending in *.in* and *.data.
+ # These files are the input files directly read by LAMMPS. Move them to
+ # the parent directory (or wherever you plan to run the simulation).
+
+ mv -f system.in* system.data ../
+
+ # The "table_int.dat" file contains tabular data for the lipid INT-INT atom
+ # 1/r^2 interaction. We need it too. (This slows down the simulation by x2,
+ # so I might look for a way to get rid of it later.)
+ cp -f tabulated_potential.dat ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/README_visualize.txt b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/README_visualize.txt
new file mode 100644
index 000000000..f70bc3b75
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.0 0.0}
+ pbc box -shiftcenterrel {0.0 0.0 0.0} -width 0.5
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/images/CDlipid.jpg b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/images/CDlipid.jpg
new file mode 100644
index 000000000..f3445b18e
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/images/CDlipid.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/images/CDlipid_bilayer_t=0_nopbc_occ.jpg b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/images/CDlipid_bilayer_t=0_nopbc_occ.jpg
new file mode 100644
index 000000000..e4f7ae0c9
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/images/CDlipid_bilayer_t=0_nopbc_occ.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/images/CDlipid_bilayer_t=0_occ.jpg b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/images/CDlipid_bilayer_t=0_occ.jpg
new file mode 100644
index 000000000..8e125da5c
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/images/CDlipid_bilayer_t=0_occ.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/images/CDlipid_bilayer_t=600000steps_npt_occ.jpg b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/images/CDlipid_bilayer_t=600000steps_npt_occ.jpg
new file mode 100644
index 000000000..0e0d09531
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/images/CDlipid_bilayer_t=600000steps_npt_occ.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/moltemplate_files/calc_table/gen_potential-cooke.py b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/moltemplate_files/calc_table/gen_potential-cooke.py
new file mode 100755
index 000000000..724029658
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/moltemplate_files/calc_table/gen_potential-cooke.py
@@ -0,0 +1,144 @@
+#!/usr/bin/python2.7
+
+import os,sys
+from fractions import Fraction
+from numpy import *
+
+### PARAMETERS ###
+sigma = 1.00
+epsilon = 1.00
+
+b_hh = 0.95 * sigma
+b_ht = 0.95 * sigma
+b_tt = 1.00 * sigma
+
+r_init = 0.000001
+r_max = sigma * 3.
+r_space = 0.01
+##################
+
+### INPUTS ###
+if len(sys.argv) == 2:
+ w_cut = float(sys.argv[1])
+else:
+ w_cut = 1.6
+# 1.6 seems to be 'good' for vesicles, bilayers 1.4
+##############
+
+def WCA_energy(b, r):
+# Calculate WCA energy
+ E_pot = 0
+ val1 = math.pow((b / r), 12)
+ val2 = -math.pow((b / r), 6)
+ E_pot = 4 * epsilon * (val1 + val2 + 0.25)
+ return E_pot
+
+def WCA_forces(b, r):
+# Calculate WCA forces
+ Force = 0
+ val1 = 24 * math.pow(b, 6) / math.pow(r, 7)
+ val2 = -48 * math.pow(b, 12) / math.pow(r, 13)
+ Force = -(val1 + val2)
+ return Force
+
+def Tail_energy(b, r, r_cut):
+# Calculate extra Tail energy
+ E_pot = 0
+ if (r < r_cut):
+ E_pot = -1 * epsilon
+ else:
+ val1 = math.cos((math.pi * (r - r_cut)) / (2 * w_cut))
+ E_pot = -1 * epsilon * math.pow(val1, 2)
+ return E_pot
+
+def Tail_forces(b, r, r_cut):
+ Force = 0
+ if (r < r_cut):
+ Force = 0;
+ else:
+ val1 = math.sin((math.pi * (r - r_cut)) / w_cut)
+ Force = -math.pi * val1 / (2 * w_cut)
+ return Force
+
+
+##############
+ofile = open('tabulated_potential.dat', 'w')
+tot_potential_hh = zeros((int(r_max / r_space) + 1, 4))
+tot_potential_ht = zeros((int(r_max / r_space) + 1, 4))
+tot_potential_tt = zeros((int(r_max / r_space) + 1, 4))
+
+# Setup up formatting & distances in all arrays
+for i in range(int(r_max / r_space)+1):
+ tot_potential_hh[:,0][i] = i+1
+ tot_potential_ht[:,0][i] = i+1
+ tot_potential_tt[:,0][i] = i+1
+for i in range(1, int(r_max / r_space)+1):
+ tot_potential_hh[:,1][i] = tot_potential_hh[:,1][i-1] + r_space
+ tot_potential_ht[:,1][i] = tot_potential_ht[:,1][i-1] + r_space
+ tot_potential_tt[:,1][i] = tot_potential_tt[:,1][i-1] + r_space
+tot_potential_hh[:,1][0] = r_init
+tot_potential_ht[:,1][0] = r_init
+tot_potential_tt[:,1][0] = r_init
+
+
+
+ofile.write("# Tabulated potential for Cooke 3-bead lipid model, Wc = %f\n\n" % w_cut)
+num = len(tot_potential_hh[:,0])
+
+### Calcaulte first potential, H-H
+ofile.write("HEAD_HEAD\n")
+r_cut = 2**Fraction('1/6') * b_hh
+rmax = int(r_cut / r_space)
+ofile.write("N %d R %f %f\n\n" % (num, r_init, r_max))
+ofile.write("1 %f %f %f\n" % (tot_potential_hh[:,1][0], tot_potential_hh[:,2][0], tot_potential_hh[:,3][0]))
+
+for i in range(1, rmax+1):
+ tot_potential_hh[:,2][i] = WCA_energy(b_hh, tot_potential_hh[:,1][i])
+ tot_potential_hh[:,3][i] = WCA_forces(b_hh, tot_potential_hh[:,1][i])
+
+for i in range(1, int(r_max / r_space)+1):
+ ofile.write("%d %f %f %f\n" % (i+1, tot_potential_hh[:,1][i], tot_potential_hh[:,2][i], tot_potential_hh[:,3][i]))
+ofile.write("\n")
+
+
+
+### Calcaulte second potential, H-T
+ofile.write("HEAD_TAIL\n")
+r_cut = 2**Fraction('1/6') * b_ht
+rmax = int(r_cut / r_space)
+ofile.write("N %d R %f %f\n\n" % (num, r_init, r_max))
+ofile.write("1 %f %f %f\n" % (tot_potential_ht[:,1][0], tot_potential_ht[:,2][0], tot_potential_ht[:,3][0]))
+
+for i in range(1, rmax+1):
+ tot_potential_ht[:,2][i] = WCA_energy(b_ht, tot_potential_ht[:,1][i])
+ tot_potential_ht[:,3][i] = WCA_forces(b_ht, tot_potential_ht[:,1][i])
+
+for i in range(1, int(r_max / r_space)+1):
+ ofile.write("%d %f %f %f\n" % (i+1, tot_potential_ht[:,1][i], tot_potential_ht[:,2][i], tot_potential_ht[:,3][i]))
+ofile.write("\n")
+
+
+
+### Calcaulte third potential, T-T
+# Also include extra tail-tail attraction term
+ofile.write("TAIL_TAIL\n")
+r_cut = 2**Fraction('1/6') * b_tt
+rmax = int(r_cut / r_space)
+ofile.write("N %d R %f %f\n\n" % (num, r_init, r_max))
+ofile.write("1 %f %f %f\n" % (tot_potential_tt[:,1][0], tot_potential_tt[:,2][0], tot_potential_tt[:,3][0]))
+
+for i in range(1, rmax+1):
+ tot_potential_tt[:,2][i] = WCA_energy(b_tt, tot_potential_tt[:,1][i])
+ tot_potential_tt[:,3][i] = WCA_forces(b_tt, tot_potential_tt[:,1][i])
+
+max2 = int( (r_cut + w_cut) / r_space)
+for i in range(1, max2+1):
+ tot_potential_tt[:,2][i] = tot_potential_tt[:,2][i] + Tail_energy(b_tt, tot_potential_tt[:,1][i], r_cut)
+ tot_potential_tt[:,3][i] = tot_potential_tt[:,3][i] + Tail_forces(b_tt, tot_potential_tt[:,1][i], r_cut)
+
+for i in range(1, int(r_max / r_space)+1):
+ ofile.write("%d %f %f %f\n" % (i+1, tot_potential_tt[:,1][i], tot_potential_tt[:,2][i], tot_potential_tt[:,3][i]))
+ofile.write("\n")
+
+
+sys.exit()
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/moltemplate_files/cooke_deserno_lipid.lt b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/moltemplate_files/cooke_deserno_lipid.lt
new file mode 100644
index 000000000..64ea1785f
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/moltemplate_files/cooke_deserno_lipid.lt
@@ -0,0 +1,46 @@
+# CDlipid is a lipid model from:
+# "Tunable generic model for fluid bilayer membranes"
+# Cooke IR, Kremer K, Deserno M, Physical Review E, 2005
+# (Author: David Stelter, BU)
+
+CDlipid {
+ # 3-bead model of COOKE, KREMER, DESERNO
+ write_once("In Init") {
+ units lj
+ atom_style full
+
+ bond_style hybrid fene
+ angle_style hybrid harmonic
+ pair_style hybrid table linear 600
+ pair_modify shift yes
+ special_bonds lj 0.0 1.0 1.0
+
+ neigh_modify every 1 delay 1
+ neighbor 0.3 bin
+ }
+ write_once("In Settings") {
+ pair_coeff @atom:H @atom:H table tabulated_potential.dat HEAD_HEAD
+ pair_coeff @atom:H @atom:T table tabulated_potential.dat HEAD_TAIL
+ # (Note: The "HEAD_TAIL" table is the same as the "HEAD_HEAD" table.)
+ pair_coeff @atom:T @atom:T table tabulated_potential.dat TAIL_TAIL_Wc_1.5
+ bond_coeff @bond:B fene 30.0 1.5 1.0 1.0
+ angle_coeff @angle:An harmonic 10.0 180
+ }
+ write("Data Atoms") {
+ $atom:1 $mol:. @atom:H 0.0 0.00 0.00 2.46
+ $atom:2 $mol:. @atom:T 0.0 0.00 0.00 1.51
+ $atom:3 $mol:. @atom:T 0.0 0.00 0.00 0.56
+ }
+ write("Data Bonds") {
+ $bond:b1 @bond:B $atom:1 $atom:2
+ $bond:b2 @bond:B $atom:2 $atom:3
+ }
+ write("Data Angles") {
+ $angle:a1 @angle:An $atom:1 $atom:2 $atom:3
+ }
+ write_once("Data Masses") {
+ @atom:H 1.0 ## Head Bead
+ @atom:T 1.0 ## Tail Bead
+ }
+} # CDlipid
+
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/moltemplate_files/system.lt b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/moltemplate_files/system.lt
new file mode 100644
index 000000000..59e08aeb2
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/moltemplate_files/system.lt
@@ -0,0 +1,74 @@
+# Description:
+
+# This constructs a bilayer constructed from coarse-grained lipids
+# (implicit solvent). "Tunable generic model for fluid bilayer membranes"
+# Cooke IR, Kremer K, Deserno M, Physical Review E, 2005
+
+
+
+import "cooke_deserno_lipid.lt"
+
+lipids = new CDlipid [32].move(1.178585, 0, 0)
+ [37].move(0.589293, 1.02068, 0)
+ [2].rot(180, 1, 0, 0)
+
+
+# Move the lipds up to the center of the box
+lipids[*][*][*].move(0,0,10.0)
+
+
+# Although this patch of lipids is not square or rectangular, (it looks
+# like a parallelogram), this is no longer the case after rectangular
+# periodic boundary conditions are applied. We apply them below:
+# width: 37.71472 = 32 * 1.05 * 2^(1/6)
+# height: 37.76516 = 37 * 1.05 * 2^(1/6) * sqrt(3)/2
+
+write_once("Data Boundary") {
+ 0 37.71472 xlo xhi
+ 0 37.76516 ylo yhi
+ 0 20.0 zlo zhi
+}
+
+
+
+
+
+
+
+
+# -------------- File ends here. Only comments below.-------------------
+
+# ------------------------------------
+# ------------- COMMENTS: ------------
+# ------------------------------------
+#
+# A note on geometry:
+# We want to create a bilayer arranged in a hexagonal lattice consisting of
+# 32 rows (each row is aligned with the x-axis)
+# 37 columns (aligned at a 60 degree angle from the x axis)
+# When wrapped onto a rectangular box, the dimensions of the system are:
+# 32 * 2^(1/6) σ units in the X direction
+# 37 * 2^(1/6) * sqrt(3)/2 σ units in the Y direction
+# ------------------------------------
+#
+# Below I show simple ways to create a lipid bilayer:
+#
+# 1) If you just want to make lipid bilayer out of lipids,
+# without specifying the location of each lipid, you could use this syntax:
+# lipids = new CDlipid [32][37][2] # 3-D array
+# Later you can load in the coordinates of the lipds from a PDB file.
+# Alternately you could also use a 1-dimensional array:
+# lipids = new CDlipid [2368] # 1-D array. Note: 2368 = 32x37x2
+# It does not matter as long as the number of lipids is correct.
+# Multidimensional arrays are only useful if you plan to apply independent
+# coordinate transformations to each row and column and monolayer as above.
+#
+# 2) If you want to create a bilayer from a mixture of two lipids (named
+# "lipidA", "lipidB"), you must replace "CDlipid" in the command above with
+# random([lipidA,lipidB],[710,1658],12345)
+# Here "710,1658" are the number of each molecule type (must sum to 32*37*2),
+# and "12345" is an optional random seed:
+# lipids = new random([lipidA,lipidB], [710,1658], 12345)
+# [32].move(1.178585, 0, 0)
+# [37].move(0.589293, 1.02068, 0)
+# [2].rot(180, 1, 0, 0)
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/moltemplate_files/tabulated_potential.dat b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/moltemplate_files/tabulated_potential.dat
new file mode 100644
index 000000000..cd8dd4db7
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/moltemplate_files/tabulated_potential.dat
@@ -0,0 +1,4589 @@
+# Tabulated potential for Cooke 3-bead lipid model, with various values of Wc
+
+HEAD_HEAD
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 2161440350647607518822400.000000 2593728420778890895481110528.000000
+3 0.020000 527695398062100709376.000000 316617238851043104653312.000000
+4 0.030000 4067131343850062336.000000 1626852538346708926464.000000
+5 0.040000 128831883585858496.000000 38649565183436988416.000000
+6 0.050000 8853259488081101.000000 2124782299721489152.000000
+7 0.060000 992951926207085.500000 198590391543644928.000000
+8 0.070000 156158887055179.062500 26770097065977256.000000
+9 0.080000 31453085537227.195312 4717963671829832.000000
+10 0.090000 7653019634383.599609 1020402986772367.875000
+11 0.100000 2161437410283.985352 259372665656012.125000
+12 0.110000 688699846600.110840 75130982888675.812500
+13 0.120000 242418934523.303925 24241942688387.753906
+14 0.130000 92772695554.949768 8563661551482.013672
+15 0.140000 38124343876.568542 3267817639811.164551
+16 0.150000 16658711862.666004 1332707274503.870850
+17 0.160000 7678803441.103481 575916830241.413208
+18 0.170000 3709726886.129636 261867373669.903687
+19 0.180000 1868327898.144181 124558074820.194244
+20 0.190000 976500000.999998 61675657894.736687
+21 0.200000 527649455.864879 31660345589.187614
+22 0.210000 293806260.511241 16789908645.082933
+23 0.220000 168114083.438129 9170566326.526011
+24 0.230000 98610181.495127 5145397135.359623
+25 0.240000 59169165.297856 2958842872.372237
+26 0.250000 36250908.888444 1740332628.538169
+27 0.260000 22640215.252607 1045152619.667436
+28 0.270000 14392928.420337 639854320.962319
+29 0.280000 9301695.744822 398774811.984595
+30 0.290000 6104017.717125 252682276.475626
+31 0.300000 4063098.921872 162604585.395105
+32 0.310000 2740806.847436 106159834.284035
+33 0.320000 1872013.228410 70251804.140783
+34 0.330000 1293637.623279 47082727.461649
+35 0.340000 903822.389327 31933167.708250
+36 0.350000 638028.370186 21902644.696022
+37 0.360000 454806.060338 15182681.781435
+38 0.370000 327194.054124 10630250.689058
+39 0.380000 237443.016602 7513588.353207
+40 0.390000 173734.710287 5358508.469115
+41 0.400000 128115.021129 3854188.581495
+42 0.410000 95175.694590 2794659.517251
+43 0.420000 71203.733281 2042016.387369
+44 0.430000 53626.450912 1503014.644703
+45 0.440000 40645.593596 1114014.575978
+46 0.450000 30993.690585 831193.088925
+47 0.460000 23770.248288 624115.416996
+48 0.470000 18330.617960 471472.559289
+49 0.480000 14209.942248 358228.692769
+50 0.490000 11070.674537 273695.309628
+51 0.500000 8666.076152 210220.029942
+52 0.510000 6814.633252 162286.683398
+53 0.520000 5381.995700 125892.872001
+54 0.530000 4268.136868 98116.253151
+55 0.540000 3398.163685 76810.165684
+56 0.550000 2715.696677 60388.560510
+57 0.560000 2178.071621 47673.030759
+58 0.570000 1752.840750 37783.319810
+59 0.580000 1415.206838 30058.470465
+60 0.590000 1146.130977 23999.705760
+61 0.600000 930.929708 19228.816970
+62 0.610000 758.229563 15457.682582
+63 0.620000 619.184089 12465.822566
+64 0.630000 506.884625 10083.785213
+65 0.640000 415.914818 8180.790148
+66 0.650000 342.012307 6655.493196
+67 0.660000 281.810669 5429.052488
+68 0.670000 232.641766 4439.899069
+69 0.680000 192.383722 3639.775908
+70 0.690000 159.343555 2990.725059
+71 0.700000 132.166200 2462.786676
+72 0.710000 109.763738 2032.234764
+73 0.720000 91.260139 1680.219270
+74 0.730000 75.947974 1391.717054
+75 0.740000 63.254382 1154.718549
+76 0.750000 52.714228 959.594954
+77 0.760000 43.948872 798.604206
+78 0.770000 36.649308 665.504021
+79 0.780000 30.562750 555.247832
+80 0.790000 25.481924 463.745109
+81 0.800000 21.236485 387.671861
+82 0.810000 17.686136 324.320364
+83 0.820000 14.715086 271.479665
+84 0.830000 12.227574 227.340274
+85 0.840000 10.144253 190.417955
+86 0.850000 8.399249 159.492629
+87 0.860000 6.937780 133.559247
+88 0.870000 5.714205 111.788215
+89 0.880000 4.690441 93.493410
+90 0.890000 3.834655 78.106288
+91 0.900000 3.120205 65.154867
+92 0.910000 2.524755 54.246625
+93 0.920000 2.029558 45.054564
+94 0.930000 1.618857 37.305814
+95 0.940000 1.279395 30.772315
+96 0.950000 1.000000 25.263158
+97 0.960000 0.771253 20.618297
+98 0.970000 0.585203 16.703371
+99 0.980000 0.435131 13.405424
+100 0.990000 0.315357 10.629373
+101 1.000000 0.221073 8.295079
+102 1.010000 0.148209 6.334918
+103 1.020000 0.093319 4.691763
+104 1.030000 0.053479 3.317301
+105 1.040000 0.026214 2.170635
+106 1.050000 0.009423 1.217110
+107 1.060000 0.001327 0.427337
+108 1.070000 0.000000 0.000000
+109 1.080000 0.000000 0.000000
+110 1.090000 0.000000 0.000000
+111 1.100000 0.000000 0.000000
+112 1.110000 0.000000 0.000000
+113 1.120000 0.000000 0.000000
+114 1.130000 0.000000 0.000000
+115 1.140000 0.000000 0.000000
+116 1.150000 0.000000 0.000000
+117 1.160000 0.000000 0.000000
+118 1.170000 0.000000 0.000000
+119 1.180000 0.000000 0.000000
+120 1.190000 0.000000 0.000000
+121 1.200000 0.000000 0.000000
+122 1.210000 0.000000 0.000000
+123 1.220000 0.000000 0.000000
+124 1.230000 0.000000 0.000000
+125 1.240000 0.000000 0.000000
+126 1.250000 0.000000 0.000000
+127 1.260000 0.000000 0.000000
+128 1.270000 0.000000 0.000000
+129 1.280000 0.000000 0.000000
+130 1.290000 0.000000 0.000000
+131 1.300000 0.000000 0.000000
+132 1.310000 0.000000 0.000000
+133 1.320000 0.000000 0.000000
+134 1.330000 0.000000 0.000000
+135 1.340000 0.000000 0.000000
+136 1.350000 0.000000 0.000000
+137 1.360000 0.000000 0.000000
+138 1.370000 0.000000 0.000000
+139 1.380000 0.000000 0.000000
+140 1.390000 0.000000 0.000000
+141 1.400000 0.000000 0.000000
+142 1.410000 0.000000 0.000000
+143 1.420000 0.000000 0.000000
+144 1.430000 0.000000 0.000000
+145 1.440000 0.000000 0.000000
+146 1.450000 0.000000 0.000000
+147 1.460000 0.000000 0.000000
+148 1.470000 0.000000 0.000000
+149 1.480000 0.000000 0.000000
+150 1.490000 0.000000 0.000000
+151 1.500000 0.000000 0.000000
+152 1.510000 0.000000 0.000000
+153 1.520000 0.000000 0.000000
+154 1.530000 0.000000 0.000000
+155 1.540000 0.000000 0.000000
+156 1.550000 0.000000 0.000000
+157 1.560000 0.000000 0.000000
+158 1.570000 0.000000 0.000000
+159 1.580000 0.000000 0.000000
+160 1.590000 0.000000 0.000000
+161 1.600000 0.000000 0.000000
+162 1.610000 0.000000 0.000000
+163 1.620000 0.000000 0.000000
+164 1.630000 0.000000 0.000000
+165 1.640000 0.000000 0.000000
+166 1.650000 0.000000 0.000000
+167 1.660000 0.000000 0.000000
+168 1.670000 0.000000 0.000000
+169 1.680000 0.000000 0.000000
+170 1.690000 0.000000 0.000000
+171 1.700000 0.000000 0.000000
+172 1.710000 0.000000 0.000000
+173 1.720000 0.000000 0.000000
+174 1.730000 0.000000 0.000000
+175 1.740000 0.000000 0.000000
+176 1.750000 0.000000 0.000000
+177 1.760000 0.000000 0.000000
+178 1.770000 0.000000 0.000000
+179 1.780000 0.000000 0.000000
+180 1.790000 0.000000 0.000000
+181 1.800000 0.000000 0.000000
+182 1.810000 0.000000 0.000000
+183 1.820000 0.000000 0.000000
+184 1.830000 0.000000 0.000000
+185 1.840000 0.000000 0.000000
+186 1.850000 0.000000 0.000000
+187 1.860000 0.000000 0.000000
+188 1.870000 0.000000 0.000000
+189 1.880000 0.000000 0.000000
+190 1.890000 0.000000 0.000000
+191 1.900000 0.000000 0.000000
+192 1.910000 0.000000 0.000000
+193 1.920000 0.000000 0.000000
+194 1.930000 0.000000 0.000000
+195 1.940000 0.000000 0.000000
+196 1.950000 0.000000 0.000000
+197 1.960000 0.000000 0.000000
+198 1.970000 0.000000 0.000000
+199 1.980000 0.000000 0.000000
+200 1.990000 0.000000 0.000000
+201 2.000000 0.000000 0.000000
+202 2.010000 0.000000 0.000000
+203 2.020000 0.000000 0.000000
+204 2.030000 0.000000 0.000000
+205 2.040000 0.000000 0.000000
+206 2.050000 0.000000 0.000000
+207 2.060000 0.000000 0.000000
+208 2.070000 0.000000 0.000000
+209 2.080000 0.000000 0.000000
+210 2.090000 0.000000 0.000000
+211 2.100000 0.000000 0.000000
+212 2.110000 0.000000 0.000000
+213 2.120000 0.000000 0.000000
+214 2.130000 0.000000 0.000000
+215 2.140000 0.000000 0.000000
+216 2.150000 0.000000 0.000000
+217 2.160000 0.000000 0.000000
+218 2.170000 0.000000 0.000000
+219 2.180000 0.000000 0.000000
+220 2.190000 0.000000 0.000000
+221 2.200000 0.000000 0.000000
+222 2.210000 0.000000 0.000000
+223 2.220000 0.000000 0.000000
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+HEAD_TAIL
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 2161440350647607518822400.000000 2593728420778890895481110528.000000
+3 0.020000 527695398062100709376.000000 316617238851043104653312.000000
+4 0.030000 4067131343850062336.000000 1626852538346708926464.000000
+5 0.040000 128831883585858496.000000 38649565183436988416.000000
+6 0.050000 8853259488081101.000000 2124782299721489152.000000
+7 0.060000 992951926207085.500000 198590391543644928.000000
+8 0.070000 156158887055179.062500 26770097065977256.000000
+9 0.080000 31453085537227.195312 4717963671829832.000000
+10 0.090000 7653019634383.599609 1020402986772367.875000
+11 0.100000 2161437410283.985352 259372665656012.125000
+12 0.110000 688699846600.110840 75130982888675.812500
+13 0.120000 242418934523.303925 24241942688387.753906
+14 0.130000 92772695554.949768 8563661551482.013672
+15 0.140000 38124343876.568542 3267817639811.164551
+16 0.150000 16658711862.666004 1332707274503.870850
+17 0.160000 7678803441.103481 575916830241.413208
+18 0.170000 3709726886.129636 261867373669.903687
+19 0.180000 1868327898.144181 124558074820.194244
+20 0.190000 976500000.999998 61675657894.736687
+21 0.200000 527649455.864879 31660345589.187614
+22 0.210000 293806260.511241 16789908645.082933
+23 0.220000 168114083.438129 9170566326.526011
+24 0.230000 98610181.495127 5145397135.359623
+25 0.240000 59169165.297856 2958842872.372237
+26 0.250000 36250908.888444 1740332628.538169
+27 0.260000 22640215.252607 1045152619.667436
+28 0.270000 14392928.420337 639854320.962319
+29 0.280000 9301695.744822 398774811.984595
+30 0.290000 6104017.717125 252682276.475626
+31 0.300000 4063098.921872 162604585.395105
+32 0.310000 2740806.847436 106159834.284035
+33 0.320000 1872013.228410 70251804.140783
+34 0.330000 1293637.623279 47082727.461649
+35 0.340000 903822.389327 31933167.708250
+36 0.350000 638028.370186 21902644.696022
+37 0.360000 454806.060338 15182681.781435
+38 0.370000 327194.054124 10630250.689058
+39 0.380000 237443.016602 7513588.353207
+40 0.390000 173734.710287 5358508.469115
+41 0.400000 128115.021129 3854188.581495
+42 0.410000 95175.694590 2794659.517251
+43 0.420000 71203.733281 2042016.387369
+44 0.430000 53626.450912 1503014.644703
+45 0.440000 40645.593596 1114014.575978
+46 0.450000 30993.690585 831193.088925
+47 0.460000 23770.248288 624115.416996
+48 0.470000 18330.617960 471472.559289
+49 0.480000 14209.942248 358228.692769
+50 0.490000 11070.674537 273695.309628
+51 0.500000 8666.076152 210220.029942
+52 0.510000 6814.633252 162286.683398
+53 0.520000 5381.995700 125892.872001
+54 0.530000 4268.136868 98116.253151
+55 0.540000 3398.163685 76810.165684
+56 0.550000 2715.696677 60388.560510
+57 0.560000 2178.071621 47673.030759
+58 0.570000 1752.840750 37783.319810
+59 0.580000 1415.206838 30058.470465
+60 0.590000 1146.130977 23999.705760
+61 0.600000 930.929708 19228.816970
+62 0.610000 758.229563 15457.682582
+63 0.620000 619.184089 12465.822566
+64 0.630000 506.884625 10083.785213
+65 0.640000 415.914818 8180.790148
+66 0.650000 342.012307 6655.493196
+67 0.660000 281.810669 5429.052488
+68 0.670000 232.641766 4439.899069
+69 0.680000 192.383722 3639.775908
+70 0.690000 159.343555 2990.725059
+71 0.700000 132.166200 2462.786676
+72 0.710000 109.763738 2032.234764
+73 0.720000 91.260139 1680.219270
+74 0.730000 75.947974 1391.717054
+75 0.740000 63.254382 1154.718549
+76 0.750000 52.714228 959.594954
+77 0.760000 43.948872 798.604206
+78 0.770000 36.649308 665.504021
+79 0.780000 30.562750 555.247832
+80 0.790000 25.481924 463.745109
+81 0.800000 21.236485 387.671861
+82 0.810000 17.686136 324.320364
+83 0.820000 14.715086 271.479665
+84 0.830000 12.227574 227.340274
+85 0.840000 10.144253 190.417955
+86 0.850000 8.399249 159.492629
+87 0.860000 6.937780 133.559247
+88 0.870000 5.714205 111.788215
+89 0.880000 4.690441 93.493410
+90 0.890000 3.834655 78.106288
+91 0.900000 3.120205 65.154867
+92 0.910000 2.524755 54.246625
+93 0.920000 2.029558 45.054564
+94 0.930000 1.618857 37.305814
+95 0.940000 1.279395 30.772315
+96 0.950000 1.000000 25.263158
+97 0.960000 0.771253 20.618297
+98 0.970000 0.585203 16.703371
+99 0.980000 0.435131 13.405424
+100 0.990000 0.315357 10.629373
+101 1.000000 0.221073 8.295079
+102 1.010000 0.148209 6.334918
+103 1.020000 0.093319 4.691763
+104 1.030000 0.053479 3.317301
+105 1.040000 0.026214 2.170635
+106 1.050000 0.009423 1.217110
+107 1.060000 0.001327 0.427337
+108 1.070000 0.000000 0.000000
+109 1.080000 0.000000 0.000000
+110 1.090000 0.000000 0.000000
+111 1.100000 0.000000 0.000000
+112 1.110000 0.000000 0.000000
+113 1.120000 0.000000 0.000000
+114 1.130000 0.000000 0.000000
+115 1.140000 0.000000 0.000000
+116 1.150000 0.000000 0.000000
+117 1.160000 0.000000 0.000000
+118 1.170000 0.000000 0.000000
+119 1.180000 0.000000 0.000000
+120 1.190000 0.000000 0.000000
+121 1.200000 0.000000 0.000000
+122 1.210000 0.000000 0.000000
+123 1.220000 0.000000 0.000000
+124 1.230000 0.000000 0.000000
+125 1.240000 0.000000 0.000000
+126 1.250000 0.000000 0.000000
+127 1.260000 0.000000 0.000000
+128 1.270000 0.000000 0.000000
+129 1.280000 0.000000 0.000000
+130 1.290000 0.000000 0.000000
+131 1.300000 0.000000 0.000000
+132 1.310000 0.000000 0.000000
+133 1.320000 0.000000 0.000000
+134 1.330000 0.000000 0.000000
+135 1.340000 0.000000 0.000000
+136 1.350000 0.000000 0.000000
+137 1.360000 0.000000 0.000000
+138 1.370000 0.000000 0.000000
+139 1.380000 0.000000 0.000000
+140 1.390000 0.000000 0.000000
+141 1.400000 0.000000 0.000000
+142 1.410000 0.000000 0.000000
+143 1.420000 0.000000 0.000000
+144 1.430000 0.000000 0.000000
+145 1.440000 0.000000 0.000000
+146 1.450000 0.000000 0.000000
+147 1.460000 0.000000 0.000000
+148 1.470000 0.000000 0.000000
+149 1.480000 0.000000 0.000000
+150 1.490000 0.000000 0.000000
+151 1.500000 0.000000 0.000000
+152 1.510000 0.000000 0.000000
+153 1.520000 0.000000 0.000000
+154 1.530000 0.000000 0.000000
+155 1.540000 0.000000 0.000000
+156 1.550000 0.000000 0.000000
+157 1.560000 0.000000 0.000000
+158 1.570000 0.000000 0.000000
+159 1.580000 0.000000 0.000000
+160 1.590000 0.000000 0.000000
+161 1.600000 0.000000 0.000000
+162 1.610000 0.000000 0.000000
+163 1.620000 0.000000 0.000000
+164 1.630000 0.000000 0.000000
+165 1.640000 0.000000 0.000000
+166 1.650000 0.000000 0.000000
+167 1.660000 0.000000 0.000000
+168 1.670000 0.000000 0.000000
+169 1.680000 0.000000 0.000000
+170 1.690000 0.000000 0.000000
+171 1.700000 0.000000 0.000000
+172 1.710000 0.000000 0.000000
+173 1.720000 0.000000 0.000000
+174 1.730000 0.000000 0.000000
+175 1.740000 0.000000 0.000000
+176 1.750000 0.000000 0.000000
+177 1.760000 0.000000 0.000000
+178 1.770000 0.000000 0.000000
+179 1.780000 0.000000 0.000000
+180 1.790000 0.000000 0.000000
+181 1.800000 0.000000 0.000000
+182 1.810000 0.000000 0.000000
+183 1.820000 0.000000 0.000000
+184 1.830000 0.000000 0.000000
+185 1.840000 0.000000 0.000000
+186 1.850000 0.000000 0.000000
+187 1.860000 0.000000 0.000000
+188 1.870000 0.000000 0.000000
+189 1.880000 0.000000 0.000000
+190 1.890000 0.000000 0.000000
+191 1.900000 0.000000 0.000000
+192 1.910000 0.000000 0.000000
+193 1.920000 0.000000 0.000000
+194 1.930000 0.000000 0.000000
+195 1.940000 0.000000 0.000000
+196 1.950000 0.000000 0.000000
+197 1.960000 0.000000 0.000000
+198 1.970000 0.000000 0.000000
+199 1.980000 0.000000 0.000000
+200 1.990000 0.000000 0.000000
+201 2.000000 0.000000 0.000000
+202 2.010000 0.000000 0.000000
+203 2.020000 0.000000 0.000000
+204 2.030000 0.000000 0.000000
+205 2.040000 0.000000 0.000000
+206 2.050000 0.000000 0.000000
+207 2.060000 0.000000 0.000000
+208 2.070000 0.000000 0.000000
+209 2.080000 0.000000 0.000000
+210 2.090000 0.000000 0.000000
+211 2.100000 0.000000 0.000000
+212 2.110000 0.000000 0.000000
+213 2.120000 0.000000 0.000000
+214 2.130000 0.000000 0.000000
+215 2.140000 0.000000 0.000000
+216 2.150000 0.000000 0.000000
+217 2.160000 0.000000 0.000000
+218 2.170000 0.000000 0.000000
+219 2.180000 0.000000 0.000000
+220 2.190000 0.000000 0.000000
+221 2.200000 0.000000 0.000000
+222 2.210000 0.000000 0.000000
+223 2.220000 0.000000 0.000000
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+TAIL_TAIL_Wc_0.6
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999611 -0.103302
+115 1.140000 -0.997893 -0.240069
+116 1.150000 -0.994811 -0.376178
+117 1.160000 -0.990373 -0.511255
+118 1.170000 -0.984591 -0.644932
+119 1.180000 -0.977480 -0.776841
+120 1.190000 -0.969061 -0.906620
+121 1.200000 -0.959356 -1.033915
+122 1.210000 -0.948392 -1.158376
+123 1.220000 -0.936199 -1.279661
+124 1.230000 -0.922811 -1.397439
+125 1.240000 -0.908263 -1.511387
+126 1.250000 -0.892597 -1.621193
+127 1.260000 -0.875854 -1.726554
+128 1.270000 -0.858082 -1.827184
+129 1.280000 -0.839327 -1.922805
+130 1.290000 -0.819643 -2.013156
+131 1.300000 -0.799083 -2.097989
+132 1.310000 -0.777702 -2.177071
+133 1.320000 -0.755561 -2.250187
+134 1.330000 -0.732719 -2.317134
+135 1.340000 -0.709240 -2.377731
+136 1.350000 -0.685186 -2.431810
+137 1.360000 -0.660626 -2.479224
+138 1.370000 -0.635625 -2.519843
+139 1.380000 -0.610252 -2.553555
+140 1.390000 -0.584577 -2.580268
+141 1.400000 -0.558670 -2.599908
+142 1.410000 -0.532602 -2.612423
+143 1.420000 -0.506445 -2.617776
+144 1.430000 -0.480271 -2.615955
+145 1.440000 -0.454150 -2.606964
+146 1.450000 -0.428155 -2.590827
+147 1.460000 -0.402357 -2.567588
+148 1.470000 -0.376827 -2.537312
+149 1.480000 -0.351634 -2.500082
+150 1.490000 -0.326848 -2.455999
+151 1.500000 -0.302537 -2.405184
+152 1.510000 -0.278767 -2.347777
+153 1.520000 -0.255603 -2.283935
+154 1.530000 -0.233109 -2.213833
+155 1.540000 -0.211346 -2.137662
+156 1.550000 -0.190375 -2.055633
+157 1.560000 -0.170252 -1.967969
+158 1.570000 -0.151034 -1.874911
+159 1.580000 -0.132771 -1.776714
+160 1.590000 -0.115516 -1.673647
+161 1.600000 -0.099314 -1.565993
+162 1.610000 -0.084210 -1.454047
+163 1.620000 -0.070246 -1.338115
+164 1.630000 -0.057460 -1.218516
+165 1.640000 -0.045887 -1.095576
+166 1.650000 -0.035558 -0.969634
+167 1.660000 -0.026503 -0.841034
+168 1.670000 -0.018745 -0.710129
+169 1.680000 -0.012307 -0.577277
+170 1.690000 -0.007205 -0.442843
+171 1.700000 -0.003454 -0.307196
+172 1.710000 -0.001064 -0.170706
+173 1.720000 -0.000042 -0.033748
+174 1.730000 0.000000 0.000000
+175 1.740000 0.000000 0.000000
+176 1.750000 0.000000 0.000000
+177 1.760000 0.000000 0.000000
+178 1.770000 0.000000 0.000000
+179 1.780000 0.000000 0.000000
+180 1.790000 0.000000 0.000000
+181 1.800000 0.000000 0.000000
+182 1.810000 0.000000 0.000000
+183 1.820000 0.000000 0.000000
+184 1.830000 0.000000 0.000000
+185 1.840000 0.000000 0.000000
+186 1.850000 0.000000 0.000000
+187 1.860000 0.000000 0.000000
+188 1.870000 0.000000 0.000000
+189 1.880000 0.000000 0.000000
+190 1.890000 0.000000 0.000000
+191 1.900000 0.000000 0.000000
+192 1.910000 0.000000 0.000000
+193 1.920000 0.000000 0.000000
+194 1.930000 0.000000 0.000000
+195 1.940000 0.000000 0.000000
+196 1.950000 0.000000 0.000000
+197 1.960000 0.000000 0.000000
+198 1.970000 0.000000 0.000000
+199 1.980000 0.000000 0.000000
+200 1.990000 0.000000 0.000000
+201 2.000000 0.000000 0.000000
+202 2.010000 0.000000 0.000000
+203 2.020000 0.000000 0.000000
+204 2.030000 0.000000 0.000000
+205 2.040000 0.000000 0.000000
+206 2.050000 0.000000 0.000000
+207 2.060000 0.000000 0.000000
+208 2.070000 0.000000 0.000000
+209 2.080000 0.000000 0.000000
+210 2.090000 0.000000 0.000000
+211 2.100000 0.000000 0.000000
+212 2.110000 0.000000 0.000000
+213 2.120000 0.000000 0.000000
+214 2.130000 0.000000 0.000000
+215 2.140000 0.000000 0.000000
+216 2.150000 0.000000 0.000000
+217 2.160000 0.000000 0.000000
+218 2.170000 0.000000 0.000000
+219 2.180000 0.000000 0.000000
+220 2.190000 0.000000 0.000000
+221 2.200000 0.000000 0.000000
+222 2.210000 0.000000 0.000000
+223 2.220000 0.000000 0.000000
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_0.7
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999714 -0.075900
+115 1.140000 -0.998452 -0.176443
+116 1.150000 -0.996186 -0.276630
+117 1.160000 -0.992921 -0.376260
+118 1.170000 -0.988664 -0.475132
+119 1.180000 -0.983422 -0.573048
+120 1.190000 -0.977206 -0.669809
+121 1.200000 -0.970030 -0.765221
+122 1.210000 -0.961907 -0.859093
+123 1.220000 -0.952854 -0.951234
+124 1.230000 -0.942889 -1.041460
+125 1.240000 -0.932032 -1.129588
+126 1.250000 -0.920305 -1.215441
+127 1.260000 -0.907731 -1.298847
+128 1.270000 -0.894336 -1.379637
+129 1.280000 -0.880148 -1.457649
+130 1.290000 -0.865193 -1.532725
+131 1.300000 -0.849503 -1.604714
+132 1.310000 -0.833110 -1.673472
+133 1.320000 -0.816045 -1.738859
+134 1.330000 -0.798344 -1.800745
+135 1.340000 -0.780042 -1.859004
+136 1.350000 -0.761177 -1.913520
+137 1.360000 -0.741785 -1.964182
+138 1.370000 -0.721906 -2.010888
+139 1.380000 -0.701581 -2.053545
+140 1.390000 -0.680849 -2.092066
+141 1.400000 -0.659753 -2.126374
+142 1.410000 -0.638336 -2.156399
+143 1.420000 -0.616640 -2.182082
+144 1.430000 -0.594709 -2.203371
+145 1.440000 -0.572587 -2.220222
+146 1.450000 -0.550319 -2.232602
+147 1.460000 -0.527950 -2.240486
+148 1.470000 -0.505525 -2.243858
+149 1.480000 -0.483088 -2.242711
+150 1.490000 -0.460686 -2.237047
+151 1.500000 -0.438362 -2.226879
+152 1.510000 -0.416163 -2.212225
+153 1.520000 -0.394133 -2.193117
+154 1.530000 -0.372315 -2.169592
+155 1.540000 -0.350755 -2.141698
+156 1.550000 -0.329496 -2.109490
+157 1.560000 -0.308580 -2.073035
+158 1.570000 -0.288049 -2.032404
+159 1.580000 -0.267945 -1.987681
+160 1.590000 -0.248309 -1.938954
+161 1.600000 -0.229179 -1.886323
+162 1.610000 -0.210595 -1.829893
+163 1.620000 -0.192594 -1.769778
+164 1.630000 -0.175211 -1.706099
+165 1.640000 -0.158483 -1.638984
+166 1.650000 -0.142443 -1.568568
+167 1.660000 -0.127122 -1.494993
+168 1.670000 -0.112553 -1.418408
+169 1.680000 -0.098764 -1.338966
+170 1.690000 -0.085782 -1.256828
+171 1.700000 -0.073635 -1.172158
+172 1.710000 -0.062347 -1.085128
+173 1.720000 -0.051940 -0.995913
+174 1.730000 -0.042436 -0.904692
+175 1.740000 -0.033852 -0.811649
+176 1.750000 -0.026208 -0.716971
+177 1.760000 -0.019518 -0.620850
+178 1.770000 -0.013795 -0.523479
+179 1.780000 -0.009052 -0.425053
+180 1.790000 -0.005297 -0.325771
+181 1.800000 -0.002538 -0.225833
+182 1.810000 -0.000782 -0.125440
+183 1.820000 -0.000031 -0.024795
+184 1.830000 0.000000 0.000000
+185 1.840000 0.000000 0.000000
+186 1.850000 0.000000 0.000000
+187 1.860000 0.000000 0.000000
+188 1.870000 0.000000 0.000000
+189 1.880000 0.000000 0.000000
+190 1.890000 0.000000 0.000000
+191 1.900000 0.000000 0.000000
+192 1.910000 0.000000 0.000000
+193 1.920000 0.000000 0.000000
+194 1.930000 0.000000 0.000000
+195 1.940000 0.000000 0.000000
+196 1.950000 0.000000 0.000000
+197 1.960000 0.000000 0.000000
+198 1.970000 0.000000 0.000000
+199 1.980000 0.000000 0.000000
+200 1.990000 0.000000 0.000000
+201 2.000000 0.000000 0.000000
+202 2.010000 0.000000 0.000000
+203 2.020000 0.000000 0.000000
+204 2.030000 0.000000 0.000000
+205 2.040000 0.000000 0.000000
+206 2.050000 0.000000 0.000000
+207 2.060000 0.000000 0.000000
+208 2.070000 0.000000 0.000000
+209 2.080000 0.000000 0.000000
+210 2.090000 0.000000 0.000000
+211 2.100000 0.000000 0.000000
+212 2.110000 0.000000 0.000000
+213 2.120000 0.000000 0.000000
+214 2.130000 0.000000 0.000000
+215 2.140000 0.000000 0.000000
+216 2.150000 0.000000 0.000000
+217 2.160000 0.000000 0.000000
+218 2.170000 0.000000 0.000000
+219 2.180000 0.000000 0.000000
+220 2.190000 0.000000 0.000000
+221 2.200000 0.000000 0.000000
+222 2.210000 0.000000 0.000000
+223 2.220000 0.000000 0.000000
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_0.8
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999781 -0.058114
+115 1.140000 -0.998815 -0.135122
+116 1.150000 -0.997079 -0.211921
+117 1.160000 -0.994577 -0.288394
+118 1.170000 -0.991313 -0.364422
+119 1.180000 -0.987291 -0.439888
+120 1.190000 -0.982517 -0.514676
+121 1.200000 -0.977000 -0.588671
+122 1.210000 -0.970747 -0.661757
+123 1.220000 -0.963768 -0.733823
+124 1.230000 -0.956074 -0.804758
+125 1.240000 -0.947677 -0.874452
+126 1.250000 -0.938590 -0.942798
+127 1.260000 -0.928826 -1.009689
+128 1.270000 -0.918401 -1.075024
+129 1.280000 -0.907331 -1.138702
+130 1.290000 -0.895633 -1.200623
+131 1.300000 -0.883325 -1.260693
+132 1.310000 -0.870426 -1.318820
+133 1.320000 -0.856955 -1.374913
+134 1.330000 -0.842934 -1.428885
+135 1.340000 -0.828385 -1.480655
+136 1.350000 -0.813329 -1.530141
+137 1.360000 -0.797790 -1.577269
+138 1.370000 -0.781792 -1.621964
+139 1.380000 -0.765359 -1.664158
+140 1.390000 -0.748517 -1.703786
+141 1.400000 -0.731292 -1.740787
+142 1.410000 -0.713710 -1.775104
+143 1.420000 -0.695799 -1.806684
+144 1.430000 -0.677586 -1.835478
+145 1.440000 -0.659099 -1.861442
+146 1.450000 -0.640367 -1.884535
+147 1.460000 -0.621418 -1.904723
+148 1.470000 -0.602282 -1.921974
+149 1.480000 -0.582988 -1.936261
+150 1.490000 -0.563567 -1.947563
+151 1.500000 -0.544047 -1.955862
+152 1.510000 -0.524459 -1.961145
+153 1.520000 -0.504834 -1.963404
+154 1.530000 -0.485201 -1.962635
+155 1.540000 -0.465592 -1.958841
+156 1.550000 -0.446035 -1.952026
+157 1.560000 -0.426561 -1.942201
+158 1.570000 -0.407201 -1.929381
+159 1.580000 -0.387983 -1.913586
+160 1.590000 -0.368939 -1.894841
+161 1.600000 -0.350096 -1.873174
+162 1.610000 -0.331485 -1.848619
+163 1.620000 -0.313133 -1.821213
+164 1.630000 -0.295070 -1.790999
+165 1.640000 -0.277323 -1.758024
+166 1.650000 -0.259919 -1.722338
+167 1.660000 -0.242885 -1.683996
+168 1.670000 -0.226247 -1.643057
+169 1.680000 -0.210032 -1.599585
+170 1.690000 -0.194264 -1.553647
+171 1.700000 -0.178967 -1.505313
+172 1.710000 -0.164165 -1.454658
+173 1.720000 -0.149881 -1.401759
+174 1.730000 -0.136137 -1.346700
+175 1.740000 -0.122954 -1.289564
+176 1.750000 -0.110353 -1.230439
+177 1.760000 -0.098352 -1.169418
+178 1.770000 -0.086970 -1.106593
+179 1.780000 -0.076226 -1.042062
+180 1.790000 -0.066134 -0.975924
+181 1.800000 -0.056712 -0.908281
+182 1.810000 -0.047973 -0.839238
+183 1.820000 -0.039932 -0.768901
+184 1.830000 -0.032599 -0.697378
+185 1.840000 -0.025988 -0.624780
+186 1.850000 -0.020107 -0.551218
+187 1.860000 -0.014966 -0.476807
+188 1.870000 -0.010573 -0.401660
+189 1.880000 -0.006935 -0.325894
+190 1.890000 -0.004057 -0.249625
+191 1.900000 -0.001944 -0.172972
+192 1.910000 -0.000599 -0.096052
+193 1.920000 -0.000023 -0.018984
+194 1.930000 0.000000 0.000000
+195 1.940000 0.000000 0.000000
+196 1.950000 0.000000 0.000000
+197 1.960000 0.000000 0.000000
+198 1.970000 0.000000 0.000000
+199 1.980000 0.000000 0.000000
+200 1.990000 0.000000 0.000000
+201 2.000000 0.000000 0.000000
+202 2.010000 0.000000 0.000000
+203 2.020000 0.000000 0.000000
+204 2.030000 0.000000 0.000000
+205 2.040000 0.000000 0.000000
+206 2.050000 0.000000 0.000000
+207 2.060000 0.000000 0.000000
+208 2.070000 0.000000 0.000000
+209 2.080000 0.000000 0.000000
+210 2.090000 0.000000 0.000000
+211 2.100000 0.000000 0.000000
+212 2.110000 0.000000 0.000000
+213 2.120000 0.000000 0.000000
+214 2.130000 0.000000 0.000000
+215 2.140000 0.000000 0.000000
+216 2.150000 0.000000 0.000000
+217 2.160000 0.000000 0.000000
+218 2.170000 0.000000 0.000000
+219 2.180000 0.000000 0.000000
+220 2.190000 0.000000 0.000000
+221 2.200000 0.000000 0.000000
+222 2.210000 0.000000 0.000000
+223 2.220000 0.000000 0.000000
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_0.9
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999827 -0.045919
+115 1.140000 -0.999063 -0.106781
+116 1.150000 -0.997692 -0.167513
+117 1.160000 -0.995714 -0.228040
+118 1.170000 -0.993132 -0.288290
+119 1.180000 -0.989949 -0.348189
+120 1.190000 -0.986169 -0.407664
+121 1.200000 -0.981798 -0.466642
+122 1.210000 -0.976839 -0.525051
+123 1.220000 -0.971299 -0.582821
+124 1.230000 -0.965185 -0.639880
+125 1.240000 -0.958504 -0.696160
+126 1.250000 -0.951264 -0.751592
+127 1.260000 -0.943475 -0.806108
+128 1.270000 -0.935145 -0.859642
+129 1.280000 -0.926285 -0.912129
+130 1.290000 -0.916906 -0.963505
+131 1.300000 -0.907019 -1.013706
+132 1.310000 -0.896636 -1.062673
+133 1.320000 -0.885770 -1.110344
+134 1.330000 -0.874434 -1.156663
+135 1.340000 -0.862642 -1.201573
+136 1.350000 -0.850407 -1.245019
+137 1.360000 -0.837746 -1.286948
+138 1.370000 -0.824674 -1.327309
+139 1.380000 -0.811205 -1.366053
+140 1.390000 -0.797358 -1.403132
+141 1.400000 -0.783149 -1.438502
+142 1.410000 -0.768594 -1.472120
+143 1.420000 -0.753712 -1.503944
+144 1.430000 -0.738521 -1.533936
+145 1.440000 -0.723040 -1.562058
+146 1.450000 -0.707286 -1.588278
+147 1.460000 -0.691281 -1.612562
+148 1.470000 -0.675042 -1.634882
+149 1.480000 -0.658590 -1.655210
+150 1.490000 -0.641944 -1.673522
+151 1.500000 -0.625126 -1.689794
+152 1.510000 -0.608155 -1.704008
+153 1.520000 -0.591053 -1.716146
+154 1.530000 -0.573839 -1.726192
+155 1.540000 -0.556536 -1.734136
+156 1.550000 -0.539164 -1.739967
+157 1.560000 -0.521744 -1.743678
+158 1.570000 -0.504297 -1.745265
+159 1.580000 -0.486845 -1.744725
+160 1.590000 -0.469410 -1.742060
+161 1.600000 -0.452011 -1.737272
+162 1.610000 -0.434671 -1.730368
+163 1.620000 -0.417411 -1.721355
+164 1.630000 -0.400251 -1.710245
+165 1.640000 -0.383213 -1.697052
+166 1.650000 -0.366317 -1.681791
+167 1.660000 -0.349584 -1.664481
+168 1.670000 -0.333034 -1.645143
+169 1.680000 -0.316688 -1.623800
+170 1.690000 -0.300565 -1.600480
+171 1.700000 -0.284685 -1.575209
+172 1.710000 -0.269067 -1.548019
+173 1.720000 -0.253731 -1.518943
+174 1.730000 -0.238694 -1.488017
+175 1.740000 -0.223976 -1.455278
+176 1.750000 -0.209595 -1.420765
+177 1.760000 -0.195567 -1.384522
+178 1.770000 -0.181910 -1.346592
+179 1.780000 -0.168640 -1.307021
+180 1.790000 -0.155775 -1.265858
+181 1.800000 -0.143328 -1.223153
+182 1.810000 -0.131317 -1.178957
+183 1.820000 -0.119754 -1.133325
+184 1.830000 -0.108655 -1.086312
+185 1.840000 -0.098032 -1.037976
+186 1.850000 -0.087899 -0.988375
+187 1.860000 -0.078269 -0.937570
+188 1.870000 -0.069152 -0.885622
+189 1.880000 -0.060560 -0.832596
+190 1.890000 -0.052503 -0.778555
+191 1.900000 -0.044992 -0.723566
+192 1.910000 -0.038035 -0.667695
+193 1.920000 -0.031641 -0.611011
+194 1.930000 -0.025817 -0.553582
+195 1.940000 -0.020571 -0.495479
+196 1.950000 -0.015910 -0.436772
+197 1.960000 -0.011838 -0.377533
+198 1.970000 -0.008360 -0.317834
+199 1.980000 -0.005482 -0.257747
+200 1.990000 -0.003207 -0.197347
+201 2.000000 -0.001536 -0.136706
+202 2.010000 -0.000473 -0.075899
+203 2.020000 -0.000018 -0.014999
+204 2.030000 0.000000 0.000000
+205 2.040000 0.000000 0.000000
+206 2.050000 0.000000 0.000000
+207 2.060000 0.000000 0.000000
+208 2.070000 0.000000 0.000000
+209 2.080000 0.000000 0.000000
+210 2.090000 0.000000 0.000000
+211 2.100000 0.000000 0.000000
+212 2.110000 0.000000 0.000000
+213 2.120000 0.000000 0.000000
+214 2.130000 0.000000 0.000000
+215 2.140000 0.000000 0.000000
+216 2.150000 0.000000 0.000000
+217 2.160000 0.000000 0.000000
+218 2.170000 0.000000 0.000000
+219 2.180000 0.000000 0.000000
+220 2.190000 0.000000 0.000000
+221 2.200000 0.000000 0.000000
+222 2.210000 0.000000 0.000000
+223 2.220000 0.000000 0.000000
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.0
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999860 -0.037195
+115 1.140000 -0.999241 -0.086503
+116 1.150000 -0.998130 -0.135725
+117 1.160000 -0.996527 -0.184813
+118 1.170000 -0.994434 -0.233719
+119 1.180000 -0.991854 -0.282395
+120 1.190000 -0.988787 -0.330791
+121 1.200000 -0.985239 -0.378862
+122 1.210000 -0.981211 -0.426558
+123 1.220000 -0.976709 -0.473833
+124 1.230000 -0.971736 -0.520641
+125 1.240000 -0.966298 -0.566935
+126 1.250000 -0.960399 -0.612669
+127 1.260000 -0.954047 -0.657799
+128 1.270000 -0.947246 -0.702280
+129 1.280000 -0.940003 -0.746067
+130 1.290000 -0.932327 -0.789119
+131 1.300000 -0.924224 -0.831391
+132 1.310000 -0.915702 -0.872843
+133 1.320000 -0.906770 -0.913434
+134 1.330000 -0.897436 -0.953123
+135 1.340000 -0.887710 -0.991872
+136 1.350000 -0.877602 -1.029642
+137 1.360000 -0.867121 -1.066395
+138 1.370000 -0.856277 -1.102096
+139 1.380000 -0.845082 -1.136710
+140 1.390000 -0.833547 -1.170202
+141 1.400000 -0.821682 -1.202539
+142 1.410000 -0.809500 -1.233689
+143 1.420000 -0.797013 -1.263622
+144 1.430000 -0.784232 -1.292307
+145 1.440000 -0.771171 -1.319717
+146 1.450000 -0.757842 -1.345825
+147 1.460000 -0.744259 -1.370605
+148 1.470000 -0.730434 -1.394032
+149 1.480000 -0.716383 -1.416083
+150 1.490000 -0.702117 -1.436737
+151 1.500000 -0.687653 -1.455973
+152 1.510000 -0.673003 -1.473772
+153 1.520000 -0.658182 -1.490117
+154 1.530000 -0.643205 -1.504991
+155 1.540000 -0.628087 -1.518380
+156 1.550000 -0.612843 -1.530270
+157 1.560000 -0.597487 -1.540650
+158 1.570000 -0.582035 -1.549510
+159 1.580000 -0.566502 -1.556841
+160 1.590000 -0.550903 -1.562635
+161 1.600000 -0.535254 -1.566887
+162 1.610000 -0.519570 -1.569593
+163 1.620000 -0.503867 -1.570749
+164 1.630000 -0.488161 -1.570356
+165 1.640000 -0.472465 -1.568413
+166 1.650000 -0.456797 -1.564922
+167 1.660000 -0.441172 -1.559886
+168 1.670000 -0.425605 -1.553311
+169 1.680000 -0.410111 -1.545204
+170 1.690000 -0.394706 -1.535571
+171 1.700000 -0.379405 -1.524423
+172 1.710000 -0.364222 -1.511770
+173 1.720000 -0.349174 -1.497626
+174 1.730000 -0.334275 -1.482003
+175 1.740000 -0.319539 -1.464918
+176 1.750000 -0.304981 -1.446388
+177 1.760000 -0.290616 -1.426430
+178 1.770000 -0.276457 -1.405064
+179 1.780000 -0.262519 -1.382311
+180 1.790000 -0.248816 -1.358195
+181 1.800000 -0.235360 -1.332738
+182 1.810000 -0.222165 -1.305965
+183 1.820000 -0.209245 -1.277904
+184 1.830000 -0.196611 -1.248582
+185 1.840000 -0.184277 -1.218028
+186 1.850000 -0.172255 -1.186271
+187 1.860000 -0.160556 -1.153344
+188 1.870000 -0.149192 -1.119279
+189 1.880000 -0.138174 -1.084109
+190 1.890000 -0.127513 -1.047869
+191 1.900000 -0.117220 -1.010595
+192 1.910000 -0.107305 -0.972323
+193 1.920000 -0.097777 -0.933093
+194 1.930000 -0.088646 -0.892941
+195 1.940000 -0.079921 -0.851908
+196 1.950000 -0.071610 -0.810034
+197 1.960000 -0.063723 -0.767361
+198 1.970000 -0.056266 -0.723931
+199 1.980000 -0.049247 -0.679786
+200 1.990000 -0.042672 -0.634970
+201 2.000000 -0.036549 -0.589528
+202 2.010000 -0.030884 -0.543504
+203 2.020000 -0.025681 -0.496943
+204 2.030000 -0.020946 -0.449892
+205 2.040000 -0.016685 -0.402397
+206 2.050000 -0.012900 -0.354505
+207 2.060000 -0.009596 -0.306263
+208 2.070000 -0.006776 -0.257719
+209 2.080000 -0.004442 -0.208921
+210 2.090000 -0.002598 -0.159916
+211 2.100000 -0.001244 -0.110754
+212 2.110000 -0.000383 -0.061482
+213 2.120000 -0.000015 -0.012150
+214 2.130000 0.000000 0.000000
+215 2.140000 0.000000 0.000000
+216 2.150000 0.000000 0.000000
+217 2.160000 0.000000 0.000000
+218 2.170000 0.000000 0.000000
+219 2.180000 0.000000 0.000000
+220 2.190000 0.000000 0.000000
+221 2.200000 0.000000 0.000000
+222 2.210000 0.000000 0.000000
+223 2.220000 0.000000 0.000000
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.1
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999884 -0.030740
+115 1.140000 -0.999373 -0.071496
+116 1.150000 -0.998454 -0.112194
+117 1.160000 -0.997129 -0.152800
+118 1.170000 -0.995399 -0.193281
+119 1.180000 -0.993264 -0.233605
+120 1.190000 -0.990727 -0.273738
+121 1.200000 -0.987790 -0.313649
+122 1.210000 -0.984455 -0.353303
+123 1.220000 -0.980725 -0.392669
+124 1.230000 -0.976603 -0.431715
+125 1.240000 -0.972092 -0.470408
+126 1.250000 -0.967196 -0.508719
+127 1.260000 -0.961919 -0.546614
+128 1.270000 -0.956265 -0.584063
+129 1.280000 -0.950239 -0.621036
+130 1.290000 -0.943846 -0.657502
+131 1.300000 -0.937091 -0.693432
+132 1.310000 -0.929979 -0.728797
+133 1.320000 -0.922517 -0.763567
+134 1.330000 -0.914710 -0.797715
+135 1.340000 -0.906565 -0.831211
+136 1.350000 -0.898088 -0.864030
+137 1.360000 -0.889287 -0.896144
+138 1.370000 -0.880168 -0.927527
+139 1.380000 -0.870739 -0.958154
+140 1.390000 -0.861007 -0.987999
+141 1.400000 -0.850981 -1.017039
+142 1.410000 -0.840669 -1.045248
+143 1.420000 -0.830079 -1.072606
+144 1.430000 -0.819220 -1.099088
+145 1.440000 -0.808101 -1.124674
+146 1.450000 -0.796730 -1.149343
+147 1.460000 -0.785117 -1.173074
+148 1.470000 -0.773271 -1.195849
+149 1.480000 -0.761203 -1.217648
+150 1.490000 -0.748922 -1.238454
+151 1.500000 -0.736437 -1.258250
+152 1.510000 -0.723760 -1.277020
+153 1.520000 -0.710900 -1.294748
+154 1.530000 -0.697869 -1.311420
+155 1.540000 -0.684676 -1.327023
+156 1.550000 -0.671332 -1.341543
+157 1.560000 -0.657848 -1.354969
+158 1.570000 -0.644236 -1.367290
+159 1.580000 -0.630506 -1.378496
+160 1.590000 -0.616670 -1.388577
+161 1.600000 -0.602739 -1.397526
+162 1.610000 -0.588723 -1.405335
+163 1.620000 -0.574636 -1.411998
+164 1.630000 -0.560487 -1.417509
+165 1.640000 -0.546289 -1.421864
+166 1.650000 -0.532054 -1.425059
+167 1.660000 -0.517792 -1.427092
+168 1.670000 -0.503516 -1.427961
+169 1.680000 -0.489237 -1.427666
+170 1.690000 -0.474966 -1.426206
+171 1.700000 -0.460716 -1.423582
+172 1.710000 -0.446499 -1.419798
+173 1.720000 -0.432324 -1.414856
+174 1.730000 -0.418205 -1.408759
+175 1.740000 -0.404153 -1.401514
+176 1.750000 -0.390179 -1.393126
+177 1.760000 -0.376294 -1.383601
+178 1.770000 -0.362511 -1.372948
+179 1.780000 -0.348839 -1.361175
+180 1.790000 -0.335291 -1.348292
+181 1.800000 -0.321877 -1.334309
+182 1.810000 -0.308608 -1.319238
+183 1.820000 -0.295496 -1.303091
+184 1.830000 -0.282550 -1.285881
+185 1.840000 -0.269782 -1.267622
+186 1.850000 -0.257201 -1.248329
+187 1.860000 -0.244818 -1.228018
+188 1.870000 -0.232644 -1.206706
+189 1.880000 -0.220688 -1.184410
+190 1.890000 -0.208959 -1.161147
+191 1.900000 -0.197468 -1.136937
+192 1.910000 -0.186223 -1.111800
+193 1.920000 -0.175235 -1.085757
+194 1.930000 -0.164511 -1.058827
+195 1.940000 -0.154061 -1.031034
+196 1.950000 -0.143893 -1.002401
+197 1.960000 -0.134016 -0.972949
+198 1.970000 -0.124437 -0.942704
+199 1.980000 -0.115164 -0.911690
+200 1.990000 -0.106206 -0.879933
+201 2.000000 -0.097568 -0.847458
+202 2.010000 -0.089259 -0.814292
+203 2.020000 -0.081284 -0.780461
+204 2.030000 -0.073652 -0.745994
+205 2.040000 -0.066367 -0.710919
+206 2.050000 -0.059435 -0.675264
+207 2.060000 -0.052863 -0.639057
+208 2.070000 -0.046656 -0.602330
+209 2.080000 -0.040818 -0.565112
+210 2.090000 -0.035355 -0.527432
+211 2.100000 -0.030271 -0.489323
+212 2.110000 -0.025570 -0.450814
+213 2.120000 -0.021256 -0.411937
+214 2.130000 -0.017332 -0.372725
+215 2.140000 -0.013802 -0.333209
+216 2.150000 -0.010669 -0.293421
+217 2.160000 -0.007935 -0.253393
+218 2.170000 -0.005602 -0.213159
+219 2.180000 -0.003672 -0.172751
+220 2.190000 -0.002147 -0.132202
+221 2.200000 -0.001028 -0.091545
+222 2.210000 -0.000317 -0.050814
+223 2.220000 -0.000012 -0.010041
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.2
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999903 -0.025830
+115 1.140000 -0.999473 -0.060080
+116 1.150000 -0.998701 -0.094289
+117 1.160000 -0.997587 -0.128434
+118 1.170000 -0.996133 -0.162490
+119 1.180000 -0.994338 -0.196435
+120 1.190000 -0.992205 -0.230245
+121 1.200000 -0.989734 -0.263897
+122 1.210000 -0.986927 -0.297369
+123 1.220000 -0.983787 -0.330637
+124 1.230000 -0.980315 -0.363678
+125 1.240000 -0.976514 -0.396470
+126 1.250000 -0.972387 -0.428990
+127 1.260000 -0.967935 -0.461216
+128 1.270000 -0.963163 -0.493126
+129 1.280000 -0.958074 -0.524698
+130 1.290000 -0.952671 -0.555911
+131 1.300000 -0.946957 -0.586742
+132 1.310000 -0.940937 -0.617172
+133 1.320000 -0.934615 -0.647178
+134 1.330000 -0.927995 -0.676741
+135 1.340000 -0.921082 -0.705840
+136 1.350000 -0.913880 -0.734455
+137 1.360000 -0.906394 -0.762567
+138 1.370000 -0.898630 -0.790157
+139 1.380000 -0.890593 -0.817204
+140 1.390000 -0.882288 -0.843692
+141 1.400000 -0.873721 -0.869602
+142 1.410000 -0.864898 -0.894915
+143 1.420000 -0.855825 -0.919615
+144 1.430000 -0.846508 -0.943685
+145 1.440000 -0.836953 -0.967108
+146 1.450000 -0.827168 -0.989869
+147 1.460000 -0.817158 -1.011951
+148 1.470000 -0.806931 -1.033339
+149 1.480000 -0.796494 -1.054019
+150 1.490000 -0.785853 -1.073977
+151 1.500000 -0.775017 -1.093199
+152 1.510000 -0.763992 -1.111672
+153 1.520000 -0.752786 -1.129382
+154 1.530000 -0.741407 -1.146319
+155 1.540000 -0.729862 -1.162470
+156 1.550000 -0.718160 -1.177825
+157 1.560000 -0.706308 -1.192372
+158 1.570000 -0.694315 -1.206102
+159 1.580000 -0.682189 -1.219005
+160 1.590000 -0.669938 -1.231073
+161 1.600000 -0.657570 -1.242297
+162 1.610000 -0.645095 -1.252670
+163 1.620000 -0.632520 -1.262184
+164 1.630000 -0.619854 -1.270833
+165 1.640000 -0.607106 -1.278611
+166 1.650000 -0.594285 -1.285513
+167 1.660000 -0.581399 -1.291534
+168 1.670000 -0.568457 -1.296670
+169 1.680000 -0.555468 -1.300917
+170 1.690000 -0.542442 -1.304273
+171 1.700000 -0.529386 -1.306734
+172 1.710000 -0.516310 -1.308300
+173 1.720000 -0.503223 -1.308970
+174 1.730000 -0.490133 -1.308742
+175 1.740000 -0.477051 -1.307617
+176 1.750000 -0.463984 -1.305597
+177 1.760000 -0.450942 -1.302681
+178 1.770000 -0.437933 -1.298873
+179 1.780000 -0.424968 -1.294174
+180 1.790000 -0.412053 -1.288588
+181 1.800000 -0.399199 -1.282120
+182 1.810000 -0.386413 -1.274772
+183 1.820000 -0.373706 -1.266551
+184 1.830000 -0.361085 -1.257462
+185 1.840000 -0.348560 -1.247511
+186 1.850000 -0.336138 -1.236706
+187 1.860000 -0.323828 -1.225052
+188 1.870000 -0.311640 -1.212559
+189 1.880000 -0.299580 -1.199235
+190 1.890000 -0.287658 -1.185089
+191 1.900000 -0.275881 -1.170131
+192 1.910000 -0.264258 -1.154371
+193 1.920000 -0.252796 -1.137820
+194 1.930000 -0.241504 -1.120489
+195 1.940000 -0.230389 -1.102390
+196 1.950000 -0.219459 -1.083535
+197 1.960000 -0.208721 -1.063938
+198 1.970000 -0.198182 -1.043612
+199 1.980000 -0.187851 -1.022570
+200 1.990000 -0.177733 -1.000828
+201 2.000000 -0.167837 -0.978400
+202 2.010000 -0.158168 -0.955301
+203 2.020000 -0.148733 -0.931547
+204 2.030000 -0.139539 -0.907155
+205 2.040000 -0.130592 -0.882142
+206 2.050000 -0.121898 -0.856524
+207 2.060000 -0.113463 -0.830318
+208 2.070000 -0.105293 -0.803544
+209 2.080000 -0.097394 -0.776219
+210 2.090000 -0.089771 -0.748362
+211 2.100000 -0.082429 -0.719992
+212 2.110000 -0.075373 -0.691129
+213 2.120000 -0.068608 -0.661792
+214 2.130000 -0.062138 -0.632001
+215 2.140000 -0.055969 -0.601777
+216 2.150000 -0.050104 -0.571141
+217 2.160000 -0.044548 -0.540114
+218 2.170000 -0.039303 -0.508716
+219 2.180000 -0.034374 -0.476970
+220 2.190000 -0.029765 -0.444896
+221 2.200000 -0.025478 -0.412518
+222 2.210000 -0.021515 -0.379857
+223 2.220000 -0.017881 -0.346936
+224 2.230000 -0.014577 -0.313777
+225 2.240000 -0.011606 -0.280403
+226 2.250000 -0.008970 -0.246837
+227 2.260000 -0.006670 -0.213101
+228 2.270000 -0.004709 -0.179220
+229 2.280000 -0.003086 -0.145216
+230 2.290000 -0.001805 -0.111112
+231 2.300000 -0.000864 -0.076932
+232 2.310000 -0.000266 -0.042699
+233 2.320000 -0.000010 -0.008437
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.3
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999917 -0.022010
+115 1.140000 -0.999551 -0.051196
+116 1.150000 -0.998893 -0.080352
+117 1.160000 -0.997944 -0.109461
+118 1.170000 -0.996704 -0.138506
+119 1.180000 -0.995174 -0.167470
+120 1.190000 -0.993355 -0.196337
+121 1.200000 -0.991248 -0.225088
+122 1.210000 -0.988854 -0.253709
+123 1.220000 -0.986174 -0.282181
+124 1.230000 -0.983211 -0.310488
+125 1.240000 -0.979965 -0.338614
+126 1.250000 -0.976439 -0.366543
+127 1.260000 -0.972635 -0.394257
+128 1.270000 -0.968555 -0.421741
+129 1.280000 -0.964201 -0.448979
+130 1.290000 -0.959576 -0.475955
+131 1.300000 -0.954683 -0.502652
+132 1.310000 -0.949524 -0.529056
+133 1.320000 -0.944103 -0.555152
+134 1.330000 -0.938422 -0.580923
+135 1.340000 -0.932485 -0.606354
+136 1.350000 -0.926296 -0.631432
+137 1.360000 -0.919858 -0.656141
+138 1.370000 -0.913175 -0.680467
+139 1.380000 -0.906250 -0.704395
+140 1.390000 -0.899088 -0.727912
+141 1.400000 -0.891693 -0.751004
+142 1.410000 -0.884069 -0.773657
+143 1.420000 -0.876221 -0.795859
+144 1.430000 -0.868154 -0.817596
+145 1.440000 -0.859871 -0.838855
+146 1.450000 -0.851378 -0.859625
+147 1.460000 -0.842680 -0.879892
+148 1.470000 -0.833782 -0.899646
+149 1.480000 -0.824689 -0.918874
+150 1.490000 -0.815407 -0.937566
+151 1.500000 -0.805940 -0.955710
+152 1.510000 -0.796294 -0.973296
+153 1.520000 -0.786476 -0.990314
+154 1.530000 -0.776490 -1.006753
+155 1.540000 -0.766343 -1.022605
+156 1.550000 -0.756040 -1.037859
+157 1.560000 -0.745587 -1.052507
+158 1.570000 -0.734992 -1.066541
+159 1.580000 -0.724259 -1.079952
+160 1.590000 -0.713395 -1.092732
+161 1.600000 -0.702406 -1.104874
+162 1.610000 -0.691299 -1.116371
+163 1.620000 -0.680081 -1.127215
+164 1.630000 -0.668757 -1.137402
+165 1.640000 -0.657335 -1.146924
+166 1.650000 -0.645821 -1.155777
+167 1.660000 -0.634222 -1.163955
+168 1.670000 -0.622544 -1.171452
+169 1.680000 -0.610795 -1.178266
+170 1.690000 -0.598981 -1.184392
+171 1.700000 -0.587109 -1.189826
+172 1.710000 -0.575187 -1.194565
+173 1.720000 -0.563220 -1.198607
+174 1.730000 -0.551217 -1.201949
+175 1.740000 -0.539184 -1.204589
+176 1.750000 -0.527128 -1.206525
+177 1.760000 -0.515056 -1.207757
+178 1.770000 -0.502975 -1.208283
+179 1.780000 -0.490892 -1.208104
+180 1.790000 -0.478815 -1.207220
+181 1.800000 -0.466750 -1.205630
+182 1.810000 -0.454705 -1.203337
+183 1.820000 -0.442686 -1.200340
+184 1.830000 -0.430700 -1.196643
+185 1.840000 -0.418755 -1.192247
+186 1.850000 -0.406858 -1.187155
+187 1.860000 -0.395015 -1.181369
+188 1.870000 -0.383233 -1.174893
+189 1.880000 -0.371519 -1.167732
+190 1.890000 -0.359880 -1.159888
+191 1.900000 -0.348324 -1.151367
+192 1.910000 -0.336855 -1.142174
+193 1.920000 -0.325482 -1.132314
+194 1.930000 -0.314211 -1.121793
+195 1.940000 -0.303049 -1.110616
+196 1.950000 -0.292001 -1.098791
+197 1.960000 -0.281075 -1.086324
+198 1.970000 -0.270277 -1.073223
+199 1.980000 -0.259613 -1.059495
+200 1.990000 -0.249089 -1.045148
+201 2.000000 -0.238712 -1.030191
+202 2.010000 -0.228487 -1.014633
+203 2.020000 -0.218421 -0.998482
+204 2.030000 -0.208519 -0.981748
+205 2.040000 -0.198788 -0.964440
+206 2.050000 -0.189232 -0.946569
+207 2.060000 -0.179858 -0.928146
+208 2.070000 -0.170671 -0.909180
+209 2.080000 -0.161677 -0.889684
+210 2.090000 -0.152879 -0.869668
+211 2.100000 -0.144285 -0.849144
+212 2.110000 -0.135898 -0.828125
+213 2.120000 -0.127724 -0.806621
+214 2.130000 -0.119767 -0.784647
+215 2.140000 -0.112033 -0.762214
+216 2.150000 -0.104524 -0.739337
+217 2.160000 -0.097247 -0.716027
+218 2.170000 -0.090205 -0.692300
+219 2.180000 -0.083403 -0.668168
+220 2.190000 -0.076843 -0.643646
+221 2.200000 -0.070531 -0.618748
+222 2.210000 -0.064469 -0.593489
+223 2.220000 -0.058662 -0.567883
+224 2.230000 -0.053113 -0.541946
+225 2.240000 -0.047824 -0.515692
+226 2.250000 -0.042800 -0.489137
+227 2.260000 -0.038043 -0.462296
+228 2.270000 -0.033555 -0.435185
+229 2.280000 -0.029340 -0.407820
+230 2.290000 -0.025399 -0.380217
+231 2.300000 -0.021736 -0.352392
+232 2.310000 -0.018352 -0.324362
+233 2.320000 -0.015250 -0.296141
+234 2.330000 -0.012430 -0.267748
+235 2.340000 -0.009895 -0.239199
+236 2.350000 -0.007647 -0.210510
+237 2.360000 -0.005685 -0.181697
+238 2.370000 -0.004013 -0.152779
+239 2.380000 -0.002630 -0.123772
+240 2.390000 -0.001538 -0.094692
+241 2.400000 -0.000736 -0.065557
+242 2.410000 -0.000227 -0.036384
+243 2.420000 -0.000009 -0.007189
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.4
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999928 -0.018978
+115 1.140000 -0.999613 -0.044145
+116 1.150000 -0.999046 -0.069290
+117 1.160000 -0.998227 -0.094400
+118 1.170000 -0.997158 -0.119462
+119 1.180000 -0.995838 -0.144464
+120 1.190000 -0.994269 -0.169394
+121 1.200000 -0.992451 -0.194238
+122 1.210000 -0.990384 -0.218985
+123 1.220000 -0.988071 -0.243621
+124 1.230000 -0.985512 -0.268134
+125 1.240000 -0.982709 -0.292513
+126 1.250000 -0.979663 -0.316744
+127 1.260000 -0.976375 -0.340816
+128 1.270000 -0.972847 -0.364716
+129 1.280000 -0.969081 -0.388432
+130 1.290000 -0.965079 -0.411953
+131 1.300000 -0.960843 -0.435266
+132 1.310000 -0.956374 -0.458361
+133 1.320000 -0.951676 -0.481224
+134 1.330000 -0.946751 -0.503845
+135 1.340000 -0.941600 -0.526213
+136 1.350000 -0.936227 -0.548315
+137 1.360000 -0.930635 -0.570142
+138 1.370000 -0.924825 -0.591681
+139 1.380000 -0.918802 -0.612922
+140 1.390000 -0.912568 -0.633855
+141 1.400000 -0.906126 -0.654469
+142 1.410000 -0.899480 -0.674753
+143 1.420000 -0.892632 -0.694697
+144 1.430000 -0.885587 -0.714291
+145 1.440000 -0.878347 -0.733526
+146 1.450000 -0.870918 -0.752392
+147 1.460000 -0.863301 -0.770878
+148 1.470000 -0.855501 -0.788977
+149 1.480000 -0.847523 -0.806678
+150 1.490000 -0.839369 -0.823973
+151 1.500000 -0.831045 -0.840853
+152 1.510000 -0.822553 -0.857310
+153 1.520000 -0.813900 -0.873335
+154 1.530000 -0.805088 -0.888920
+155 1.540000 -0.796123 -0.904058
+156 1.550000 -0.787009 -0.918740
+157 1.560000 -0.777750 -0.932960
+158 1.570000 -0.768351 -0.946710
+159 1.580000 -0.758817 -0.959983
+160 1.590000 -0.749153 -0.972773
+161 1.600000 -0.739363 -0.985073
+162 1.610000 -0.729453 -0.996878
+163 1.620000 -0.719427 -1.008180
+164 1.630000 -0.709291 -1.018974
+165 1.640000 -0.699050 -1.029256
+166 1.650000 -0.688708 -1.039019
+167 1.660000 -0.678271 -1.048259
+168 1.670000 -0.667744 -1.056971
+169 1.680000 -0.657133 -1.065151
+170 1.690000 -0.646443 -1.072795
+171 1.700000 -0.635679 -1.079898
+172 1.710000 -0.624847 -1.086458
+173 1.720000 -0.613952 -1.092471
+174 1.730000 -0.602999 -1.097933
+175 1.740000 -0.591995 -1.102843
+176 1.750000 -0.580944 -1.107197
+177 1.760000 -0.569853 -1.110994
+178 1.770000 -0.558726 -1.114231
+179 1.780000 -0.547570 -1.116908
+180 1.790000 -0.536390 -1.119022
+181 1.800000 -0.525192 -1.120572
+182 1.810000 -0.513981 -1.121559
+183 1.820000 -0.502762 -1.121980
+184 1.830000 -0.491543 -1.121837
+185 1.840000 -0.480328 -1.121129
+186 1.850000 -0.469122 -1.119856
+187 1.860000 -0.457932 -1.118019
+188 1.870000 -0.446764 -1.115620
+189 1.880000 -0.435622 -1.112658
+190 1.890000 -0.424512 -1.109137
+191 1.900000 -0.413441 -1.105056
+192 1.910000 -0.402413 -1.100420
+193 1.920000 -0.391434 -1.095229
+194 1.930000 -0.380510 -1.089487
+195 1.940000 -0.369646 -1.083196
+196 1.950000 -0.358848 -1.076360
+197 1.960000 -0.348121 -1.068982
+198 1.970000 -0.337470 -1.061066
+199 1.980000 -0.326902 -1.052615
+200 1.990000 -0.316420 -1.043634
+201 2.000000 -0.306031 -1.034128
+202 2.010000 -0.295739 -1.024101
+203 2.020000 -0.285550 -1.013559
+204 2.030000 -0.275470 -1.002506
+205 2.040000 -0.265502 -0.990948
+206 2.050000 -0.255652 -0.978892
+207 2.060000 -0.245926 -0.966342
+208 2.070000 -0.236327 -0.953306
+209 2.080000 -0.226861 -0.939790
+210 2.090000 -0.217533 -0.925800
+211 2.100000 -0.208347 -0.911345
+212 2.110000 -0.199307 -0.896430
+213 2.120000 -0.190420 -0.881064
+214 2.130000 -0.181688 -0.865255
+215 2.140000 -0.173116 -0.849010
+216 2.150000 -0.164709 -0.832337
+217 2.160000 -0.156471 -0.815245
+218 2.170000 -0.148405 -0.797743
+219 2.180000 -0.140517 -0.779839
+220 2.190000 -0.132810 -0.761542
+221 2.200000 -0.125288 -0.742862
+222 2.210000 -0.117954 -0.723808
+223 2.220000 -0.110813 -0.704390
+224 2.230000 -0.103867 -0.684616
+225 2.240000 -0.097121 -0.664498
+226 2.250000 -0.090578 -0.644046
+227 2.260000 -0.084242 -0.623269
+228 2.270000 -0.078114 -0.602178
+229 2.280000 -0.072199 -0.580784
+230 2.290000 -0.066499 -0.559098
+231 2.300000 -0.061018 -0.537130
+232 2.310000 -0.055758 -0.514892
+233 2.320000 -0.050721 -0.492394
+234 2.330000 -0.045911 -0.469648
+235 2.340000 -0.041329 -0.446666
+236 2.350000 -0.036978 -0.423459
+237 2.360000 -0.032860 -0.400039
+238 2.370000 -0.028978 -0.376418
+239 2.380000 -0.025333 -0.352606
+240 2.390000 -0.021926 -0.328618
+241 2.400000 -0.018761 -0.304464
+242 2.410000 -0.015838 -0.280156
+243 2.420000 -0.013158 -0.255707
+244 2.430000 -0.010724 -0.231130
+245 2.440000 -0.008536 -0.206436
+246 2.450000 -0.006596 -0.181639
+247 2.460000 -0.004903 -0.156750
+248 2.470000 -0.003461 -0.131782
+249 2.480000 -0.002268 -0.106747
+250 2.490000 -0.001326 -0.081659
+251 2.500000 -0.000635 -0.056530
+252 2.510000 -0.000195 -0.031372
+253 2.520000 -0.000008 -0.006199
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.5
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999938 -0.016532
+115 1.140000 -0.999663 -0.038456
+116 1.150000 -0.999169 -0.060364
+117 1.160000 -0.998456 -0.082245
+118 1.170000 -0.997524 -0.104090
+119 1.180000 -0.996374 -0.125890
+120 1.190000 -0.995006 -0.147634
+121 1.200000 -0.993421 -0.169313
+122 1.210000 -0.991620 -0.190918
+123 1.220000 -0.989603 -0.212440
+124 1.230000 -0.987372 -0.233868
+125 1.240000 -0.984926 -0.255194
+126 1.250000 -0.982268 -0.276407
+127 1.260000 -0.979399 -0.297500
+128 1.270000 -0.976319 -0.318462
+129 1.280000 -0.973030 -0.339284
+130 1.290000 -0.969533 -0.359958
+131 1.300000 -0.965831 -0.380473
+132 1.310000 -0.961925 -0.400822
+133 1.320000 -0.957815 -0.420995
+134 1.330000 -0.953505 -0.440983
+135 1.340000 -0.948996 -0.460778
+136 1.350000 -0.944290 -0.480371
+137 1.360000 -0.939390 -0.499753
+138 1.370000 -0.934296 -0.518915
+139 1.380000 -0.929012 -0.537851
+140 1.390000 -0.923540 -0.556550
+141 1.400000 -0.917882 -0.575005
+142 1.410000 -0.912041 -0.593208
+143 1.420000 -0.906019 -0.611151
+144 1.430000 -0.899818 -0.628825
+145 1.440000 -0.893443 -0.646224
+146 1.450000 -0.886895 -0.663339
+147 1.460000 -0.880177 -0.680164
+148 1.470000 -0.873293 -0.696690
+149 1.480000 -0.866244 -0.712910
+150 1.490000 -0.859035 -0.728818
+151 1.500000 -0.851669 -0.744406
+152 1.510000 -0.844148 -0.759668
+153 1.520000 -0.836477 -0.774596
+154 1.530000 -0.828658 -0.789184
+155 1.540000 -0.820694 -0.803427
+156 1.550000 -0.812590 -0.817317
+157 1.560000 -0.804349 -0.830848
+158 1.570000 -0.795975 -0.844015
+159 1.580000 -0.787470 -0.856812
+160 1.590000 -0.778840 -0.869233
+161 1.600000 -0.770087 -0.881273
+162 1.610000 -0.761215 -0.892926
+163 1.620000 -0.752229 -0.904188
+164 1.630000 -0.743133 -0.915053
+165 1.640000 -0.733930 -0.925516
+166 1.650000 -0.724624 -0.935574
+167 1.660000 -0.715220 -0.945221
+168 1.670000 -0.705721 -0.954454
+169 1.680000 -0.696132 -0.963267
+170 1.690000 -0.686457 -0.971659
+171 1.700000 -0.676700 -0.979624
+172 1.710000 -0.666866 -0.987160
+173 1.720000 -0.656958 -0.994262
+174 1.730000 -0.646982 -1.000929
+175 1.740000 -0.636941 -1.007156
+176 1.750000 -0.626841 -1.012942
+177 1.760000 -0.616684 -1.018283
+178 1.770000 -0.606476 -1.023177
+179 1.780000 -0.596222 -1.027623
+180 1.790000 -0.585925 -1.031618
+181 1.800000 -0.575591 -1.035161
+182 1.810000 -0.565224 -1.038249
+183 1.820000 -0.554828 -1.040883
+184 1.830000 -0.544408 -1.043059
+185 1.840000 -0.533968 -1.044778
+186 1.850000 -0.523514 -1.046039
+187 1.860000 -0.513049 -1.046841
+188 1.870000 -0.502578 -1.047184
+189 1.880000 -0.492107 -1.047067
+190 1.890000 -0.481638 -1.046491
+191 1.900000 -0.471178 -1.045456
+192 1.910000 -0.460731 -1.043963
+193 1.920000 -0.450301 -1.042011
+194 1.930000 -0.439892 -1.039603
+195 1.940000 -0.429510 -1.036739
+196 1.950000 -0.419159 -1.033419
+197 1.960000 -0.408843 -1.029647
+198 1.970000 -0.398567 -1.025423
+199 1.980000 -0.388336 -1.020749
+200 1.990000 -0.378154 -1.015627
+201 2.000000 -0.368025 -1.010060
+202 2.010000 -0.357954 -1.004050
+203 2.020000 -0.347946 -0.997599
+204 2.030000 -0.338004 -0.990711
+205 2.040000 -0.328133 -0.983389
+206 2.050000 -0.318337 -0.975635
+207 2.060000 -0.308622 -0.967453
+208 2.070000 -0.298990 -0.958846
+209 2.080000 -0.289446 -0.949819
+210 2.090000 -0.279995 -0.940376
+211 2.100000 -0.270640 -0.930520
+212 2.110000 -0.261386 -0.920255
+213 2.120000 -0.252236 -0.909588
+214 2.130000 -0.243195 -0.898521
+215 2.140000 -0.234267 -0.887060
+216 2.150000 -0.225455 -0.875210
+217 2.160000 -0.216764 -0.862976
+218 2.170000 -0.208197 -0.850363
+219 2.180000 -0.199758 -0.837378
+220 2.190000 -0.191451 -0.824025
+221 2.200000 -0.183279 -0.810311
+222 2.210000 -0.175246 -0.796241
+223 2.220000 -0.167355 -0.781822
+224 2.230000 -0.159610 -0.767060
+225 2.240000 -0.152015 -0.751962
+226 2.250000 -0.144572 -0.736534
+227 2.260000 -0.137285 -0.720783
+228 2.270000 -0.130158 -0.704715
+229 2.280000 -0.123192 -0.688339
+230 2.290000 -0.116392 -0.671661
+231 2.300000 -0.109760 -0.654688
+232 2.310000 -0.103299 -0.637427
+233 2.320000 -0.097012 -0.619888
+234 2.330000 -0.090902 -0.602076
+235 2.340000 -0.084972 -0.584000
+236 2.350000 -0.079223 -0.565668
+237 2.360000 -0.073659 -0.547088
+238 2.370000 -0.068282 -0.528268
+239 2.380000 -0.063095 -0.509216
+240 2.390000 -0.058099 -0.489941
+241 2.400000 -0.053296 -0.470451
+242 2.410000 -0.048690 -0.450755
+243 2.420000 -0.044282 -0.430861
+244 2.430000 -0.040074 -0.410778
+245 2.440000 -0.036067 -0.390515
+246 2.450000 -0.032264 -0.370080
+247 2.460000 -0.028666 -0.349483
+248 2.470000 -0.025275 -0.328733
+249 2.480000 -0.022092 -0.307839
+250 2.490000 -0.019118 -0.286809
+251 2.500000 -0.016356 -0.265654
+252 2.510000 -0.013806 -0.244382
+253 2.520000 -0.011469 -0.223004
+254 2.530000 -0.009346 -0.201527
+255 2.540000 -0.007439 -0.179962
+256 2.550000 -0.005747 -0.158318
+257 2.560000 -0.004272 -0.136604
+258 2.570000 -0.003015 -0.114831
+259 2.580000 -0.001976 -0.093007
+260 2.590000 -0.001155 -0.071142
+261 2.600000 -0.000553 -0.049247
+262 2.610000 -0.000170 -0.027329
+263 2.620000 -0.000007 -0.005400
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.6
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999945 -0.014530
+115 1.140000 -0.999704 -0.033800
+116 1.150000 -0.999269 -0.053058
+117 1.160000 -0.998642 -0.072295
+118 1.170000 -0.997823 -0.091504
+119 1.180000 -0.996813 -0.110678
+120 1.190000 -0.995610 -0.129809
+121 1.200000 -0.994217 -0.148890
+122 1.210000 -0.992632 -0.167914
+123 1.220000 -0.990858 -0.186872
+124 1.230000 -0.988895 -0.205759
+125 1.240000 -0.986744 -0.224567
+126 1.250000 -0.984404 -0.243288
+127 1.260000 -0.981878 -0.261915
+128 1.270000 -0.979166 -0.280441
+129 1.280000 -0.976270 -0.298859
+130 1.290000 -0.973189 -0.317162
+131 1.300000 -0.969927 -0.335343
+132 1.310000 -0.966483 -0.353394
+133 1.320000 -0.962859 -0.371309
+134 1.330000 -0.959057 -0.389081
+135 1.340000 -0.955078 -0.406703
+136 1.350000 -0.950924 -0.424169
+137 1.360000 -0.946595 -0.441470
+138 1.370000 -0.942095 -0.458602
+139 1.380000 -0.937424 -0.475556
+140 1.390000 -0.932584 -0.492328
+141 1.400000 -0.927578 -0.508909
+142 1.410000 -0.922407 -0.525294
+143 1.420000 -0.917073 -0.541477
+144 1.430000 -0.911578 -0.557451
+145 1.440000 -0.905925 -0.573211
+146 1.450000 -0.900115 -0.588749
+147 1.460000 -0.894150 -0.604060
+148 1.470000 -0.888034 -0.619138
+149 1.480000 -0.881768 -0.633978
+150 1.490000 -0.875355 -0.648573
+151 1.500000 -0.868798 -0.662918
+152 1.510000 -0.862098 -0.677008
+153 1.520000 -0.855258 -0.690836
+154 1.530000 -0.848282 -0.704399
+155 1.540000 -0.841171 -0.717689
+156 1.550000 -0.833929 -0.730703
+157 1.560000 -0.826558 -0.743436
+158 1.570000 -0.819061 -0.755882
+159 1.580000 -0.811442 -0.768036
+160 1.590000 -0.803702 -0.779894
+161 1.600000 -0.795845 -0.791452
+162 1.610000 -0.787874 -0.802704
+163 1.620000 -0.779792 -0.813647
+164 1.630000 -0.771602 -0.824276
+165 1.640000 -0.763307 -0.834588
+166 1.650000 -0.754911 -0.844578
+167 1.660000 -0.746417 -0.854242
+168 1.670000 -0.737827 -0.863577
+169 1.680000 -0.729146 -0.872579
+170 1.690000 -0.720377 -0.881244
+171 1.700000 -0.711522 -0.889570
+172 1.710000 -0.702587 -0.897553
+173 1.720000 -0.693573 -0.905190
+174 1.730000 -0.684484 -0.912478
+175 1.740000 -0.675324 -0.919414
+176 1.750000 -0.666097 -0.925995
+177 1.760000 -0.656805 -0.932220
+178 1.770000 -0.647454 -0.938085
+179 1.780000 -0.638045 -0.943589
+180 1.790000 -0.628583 -0.948729
+181 1.800000 -0.619072 -0.953503
+182 1.810000 -0.609514 -0.957909
+183 1.820000 -0.599915 -0.961947
+184 1.830000 -0.590277 -0.965613
+185 1.840000 -0.580604 -0.968907
+186 1.850000 -0.570900 -0.971828
+187 1.860000 -0.561168 -0.974373
+188 1.870000 -0.551413 -0.976544
+189 1.880000 -0.541639 -0.978338
+190 1.890000 -0.531848 -0.979754
+191 1.900000 -0.522045 -0.980793
+192 1.910000 -0.512233 -0.981454
+193 1.920000 -0.502417 -0.981736
+194 1.930000 -0.492600 -0.981640
+195 1.940000 -0.482786 -0.981166
+196 1.950000 -0.472978 -0.980313
+197 1.960000 -0.463181 -0.979082
+198 1.970000 -0.453397 -0.977474
+199 1.980000 -0.443632 -0.975489
+200 1.990000 -0.433889 -0.973128
+201 2.000000 -0.424171 -0.970392
+202 2.010000 -0.414482 -0.967282
+203 2.020000 -0.404827 -0.963798
+204 2.030000 -0.395208 -0.959944
+205 2.040000 -0.385629 -0.955719
+206 2.050000 -0.376094 -0.951125
+207 2.060000 -0.366608 -0.946165
+208 2.070000 -0.357172 -0.940841
+209 2.080000 -0.347792 -0.935153
+210 2.090000 -0.338471 -0.929105
+211 2.100000 -0.329211 -0.922699
+212 2.110000 -0.320018 -0.915937
+213 2.120000 -0.310894 -0.908822
+214 2.130000 -0.301842 -0.901357
+215 2.140000 -0.292868 -0.893544
+216 2.150000 -0.283973 -0.885387
+217 2.160000 -0.275161 -0.876888
+218 2.170000 -0.266436 -0.868051
+219 2.180000 -0.257801 -0.858880
+220 2.190000 -0.249260 -0.849377
+221 2.200000 -0.240815 -0.839548
+222 2.210000 -0.232470 -0.829394
+223 2.220000 -0.224228 -0.818921
+224 2.230000 -0.216092 -0.808132
+225 2.240000 -0.208066 -0.797031
+226 2.250000 -0.200153 -0.785623
+227 2.260000 -0.192355 -0.773912
+228 2.270000 -0.184676 -0.761903
+229 2.280000 -0.177118 -0.749600
+230 2.290000 -0.169684 -0.737009
+231 2.300000 -0.162379 -0.724133
+232 2.310000 -0.155203 -0.710977
+233 2.320000 -0.148160 -0.697548
+234 2.330000 -0.141253 -0.683850
+235 2.340000 -0.134484 -0.669888
+236 2.350000 -0.127856 -0.655668
+237 2.360000 -0.121371 -0.641196
+238 2.370000 -0.115033 -0.626476
+239 2.380000 -0.108843 -0.611514
+240 2.390000 -0.102803 -0.596317
+241 2.400000 -0.096917 -0.580890
+242 2.410000 -0.091186 -0.565239
+243 2.420000 -0.085613 -0.549370
+244 2.430000 -0.080199 -0.533289
+245 2.440000 -0.074948 -0.517002
+246 2.450000 -0.069860 -0.500517
+247 2.460000 -0.064938 -0.483838
+248 2.470000 -0.060184 -0.466973
+249 2.480000 -0.055599 -0.449928
+250 2.490000 -0.051186 -0.432709
+251 2.500000 -0.046946 -0.415323
+252 2.510000 -0.042880 -0.397778
+253 2.520000 -0.038991 -0.380079
+254 2.530000 -0.035279 -0.362233
+255 2.540000 -0.031746 -0.344248
+256 2.550000 -0.028394 -0.326130
+257 2.560000 -0.025224 -0.307887
+258 2.570000 -0.022237 -0.289525
+259 2.580000 -0.019434 -0.271051
+260 2.590000 -0.016816 -0.252472
+261 2.600000 -0.014385 -0.233797
+262 2.610000 -0.012141 -0.215031
+263 2.620000 -0.010085 -0.196182
+264 2.630000 -0.008217 -0.177258
+265 2.640000 -0.006540 -0.158265
+266 2.650000 -0.005052 -0.139211
+267 2.660000 -0.003756 -0.120104
+268 2.670000 -0.002650 -0.100950
+269 2.680000 -0.001737 -0.081757
+270 2.690000 -0.001015 -0.062533
+271 2.700000 -0.000486 -0.043285
+272 2.710000 -0.000150 -0.024020
+273 2.720000 -0.000006 -0.004746
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.7
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999951 -0.012871
+115 1.140000 -0.999737 -0.029942
+116 1.150000 -0.999353 -0.047002
+117 1.160000 -0.998797 -0.064046
+118 1.170000 -0.998072 -0.081069
+119 1.180000 -0.997176 -0.098064
+120 1.190000 -0.996111 -0.115025
+121 1.200000 -0.994876 -0.131947
+122 1.210000 -0.993472 -0.148824
+123 1.220000 -0.991899 -0.165650
+124 1.230000 -0.990159 -0.182419
+125 1.240000 -0.988251 -0.199127
+126 1.250000 -0.986177 -0.215766
+127 1.260000 -0.983936 -0.232332
+128 1.270000 -0.981530 -0.248818
+129 1.280000 -0.978960 -0.265219
+130 1.290000 -0.976226 -0.281530
+131 1.300000 -0.973330 -0.297744
+132 1.310000 -0.970272 -0.313857
+133 1.320000 -0.967053 -0.329863
+134 1.330000 -0.963675 -0.345756
+135 1.340000 -0.960138 -0.361531
+136 1.350000 -0.956445 -0.377182
+137 1.360000 -0.952595 -0.392705
+138 1.370000 -0.948591 -0.408094
+139 1.380000 -0.944434 -0.423343
+140 1.390000 -0.940125 -0.438448
+141 1.400000 -0.935665 -0.453403
+142 1.410000 -0.931057 -0.468203
+143 1.420000 -0.926302 -0.482843
+144 1.430000 -0.921401 -0.497318
+145 1.440000 -0.916356 -0.511624
+146 1.450000 -0.911169 -0.525754
+147 1.460000 -0.905841 -0.539706
+148 1.470000 -0.900375 -0.553472
+149 1.480000 -0.894773 -0.567050
+150 1.490000 -0.889035 -0.580435
+151 1.500000 -0.883165 -0.593621
+152 1.510000 -0.877163 -0.606604
+153 1.520000 -0.871033 -0.619380
+154 1.530000 -0.864776 -0.631945
+155 1.540000 -0.858395 -0.644294
+156 1.550000 -0.851891 -0.656422
+157 1.560000 -0.845267 -0.668327
+158 1.570000 -0.838526 -0.680003
+159 1.580000 -0.831668 -0.691448
+160 1.590000 -0.824697 -0.702656
+161 1.600000 -0.817616 -0.713624
+162 1.610000 -0.810426 -0.724348
+163 1.620000 -0.803130 -0.734825
+164 1.630000 -0.795730 -0.745051
+165 1.640000 -0.788229 -0.755023
+166 1.650000 -0.780630 -0.764737
+167 1.660000 -0.772936 -0.774189
+168 1.670000 -0.765148 -0.783378
+169 1.680000 -0.757269 -0.792298
+170 1.690000 -0.749302 -0.800948
+171 1.700000 -0.741251 -0.809325
+172 1.710000 -0.733117 -0.817425
+173 1.720000 -0.724903 -0.825246
+174 1.730000 -0.716613 -0.832786
+175 1.740000 -0.708249 -0.840041
+176 1.750000 -0.699813 -0.847009
+177 1.760000 -0.691309 -0.853687
+178 1.770000 -0.682740 -0.860075
+179 1.780000 -0.674109 -0.866168
+180 1.790000 -0.665418 -0.871966
+181 1.800000 -0.656670 -0.877466
+182 1.810000 -0.647870 -0.882666
+183 1.820000 -0.639018 -0.887565
+184 1.830000 -0.630119 -0.892161
+185 1.840000 -0.621176 -0.896452
+186 1.850000 -0.612191 -0.900437
+187 1.860000 -0.603168 -0.904114
+188 1.870000 -0.594110 -0.907483
+189 1.880000 -0.585020 -0.910542
+190 1.890000 -0.575900 -0.913290
+191 1.900000 -0.566755 -0.915726
+192 1.910000 -0.557587 -0.917849
+193 1.920000 -0.548399 -0.919659
+194 1.930000 -0.539195 -0.921155
+195 1.940000 -0.529977 -0.922336
+196 1.950000 -0.520749 -0.923202
+197 1.960000 -0.511514 -0.923753
+198 1.970000 -0.502275 -0.923988
+199 1.980000 -0.493035 -0.923908
+200 1.990000 -0.483798 -0.923513
+201 2.000000 -0.474566 -0.922802
+202 2.010000 -0.465343 -0.921776
+203 2.020000 -0.456132 -0.920435
+204 2.030000 -0.446935 -0.918779
+205 2.040000 -0.437757 -0.916810
+206 2.050000 -0.428600 -0.914528
+207 2.060000 -0.419467 -0.911934
+208 2.070000 -0.410362 -0.909028
+209 2.080000 -0.401288 -0.905812
+210 2.090000 -0.392247 -0.902286
+211 2.100000 -0.383243 -0.898453
+212 2.110000 -0.374279 -0.894312
+213 2.120000 -0.365358 -0.889866
+214 2.130000 -0.356483 -0.885116
+215 2.140000 -0.347657 -0.880064
+216 2.150000 -0.338883 -0.874712
+217 2.160000 -0.330163 -0.869060
+218 2.170000 -0.321502 -0.863112
+219 2.180000 -0.312902 -0.856869
+220 2.190000 -0.304366 -0.850334
+221 2.200000 -0.295896 -0.843508
+222 2.210000 -0.287497 -0.836394
+223 2.220000 -0.279170 -0.828994
+224 2.230000 -0.270918 -0.821312
+225 2.240000 -0.262744 -0.813348
+226 2.250000 -0.254652 -0.805108
+227 2.260000 -0.246643 -0.796592
+228 2.270000 -0.238721 -0.787804
+229 2.280000 -0.230888 -0.778747
+230 2.290000 -0.223147 -0.769424
+231 2.300000 -0.215500 -0.759838
+232 2.310000 -0.207951 -0.749993
+233 2.320000 -0.200501 -0.739892
+234 2.330000 -0.193154 -0.729538
+235 2.340000 -0.185911 -0.718935
+236 2.350000 -0.178776 -0.708087
+237 2.360000 -0.171750 -0.696996
+238 2.370000 -0.164837 -0.685668
+239 2.380000 -0.158038 -0.674105
+240 2.390000 -0.151356 -0.662313
+241 2.400000 -0.144792 -0.650294
+242 2.410000 -0.138350 -0.638053
+243 2.420000 -0.132032 -0.625594
+244 2.430000 -0.125839 -0.612921
+245 2.440000 -0.119774 -0.600039
+246 2.450000 -0.113839 -0.586953
+247 2.460000 -0.108036 -0.573665
+248 2.470000 -0.102366 -0.560182
+249 2.480000 -0.096833 -0.546508
+250 2.490000 -0.091437 -0.532647
+251 2.500000 -0.086181 -0.518604
+252 2.510000 -0.081065 -0.504384
+253 2.520000 -0.076093 -0.489991
+254 2.530000 -0.071266 -0.475432
+255 2.540000 -0.066585 -0.460710
+256 2.550000 -0.062052 -0.445831
+257 2.560000 -0.057669 -0.430799
+258 2.570000 -0.053437 -0.415620
+259 2.580000 -0.049357 -0.400300
+260 2.590000 -0.045431 -0.384842
+261 2.600000 -0.041661 -0.369254
+262 2.610000 -0.038047 -0.353539
+263 2.620000 -0.034591 -0.337703
+264 2.630000 -0.031293 -0.321752
+265 2.640000 -0.028156 -0.305692
+266 2.650000 -0.025180 -0.289526
+267 2.660000 -0.022366 -0.273262
+268 2.670000 -0.019715 -0.256905
+269 2.680000 -0.017228 -0.240460
+270 2.690000 -0.014906 -0.223933
+271 2.700000 -0.012749 -0.207329
+272 2.710000 -0.010759 -0.190654
+273 2.720000 -0.008937 -0.173915
+274 2.730000 -0.007281 -0.157116
+275 2.740000 -0.005794 -0.140263
+276 2.750000 -0.004476 -0.123363
+277 2.760000 -0.003327 -0.106420
+278 2.770000 -0.002348 -0.089441
+279 2.780000 -0.001539 -0.072431
+280 2.790000 -0.000899 -0.055397
+281 2.800000 -0.000431 -0.038344
+282 2.810000 -0.000133 -0.021278
+283 2.820000 -0.000005 -0.004204
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.8
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999957 -0.011481
+115 1.140000 -0.999766 -0.026708
+116 1.150000 -0.999423 -0.041927
+117 1.160000 -0.998927 -0.057133
+118 1.170000 -0.998280 -0.072321
+119 1.180000 -0.997481 -0.087488
+120 1.190000 -0.996530 -0.102628
+121 1.200000 -0.995428 -0.117737
+122 1.210000 -0.994176 -0.132810
+123 1.220000 -0.992772 -0.147842
+124 1.230000 -0.991219 -0.162830
+125 1.240000 -0.989516 -0.177768
+126 1.250000 -0.987664 -0.192651
+127 1.260000 -0.985663 -0.207476
+128 1.270000 -0.983515 -0.222238
+129 1.280000 -0.981219 -0.236932
+130 1.290000 -0.978776 -0.251554
+131 1.300000 -0.976188 -0.266099
+132 1.310000 -0.973454 -0.280564
+133 1.320000 -0.970577 -0.294942
+134 1.330000 -0.967556 -0.309231
+135 1.340000 -0.964393 -0.323426
+136 1.350000 -0.961088 -0.337522
+137 1.360000 -0.957642 -0.351516
+138 1.370000 -0.954058 -0.365402
+139 1.380000 -0.950335 -0.379177
+140 1.390000 -0.946475 -0.392837
+141 1.400000 -0.942478 -0.406376
+142 1.410000 -0.938347 -0.419793
+143 1.420000 -0.934083 -0.433081
+144 1.430000 -0.929686 -0.446237
+145 1.440000 -0.925159 -0.459257
+146 1.450000 -0.920502 -0.472138
+147 1.460000 -0.915716 -0.484875
+148 1.470000 -0.910805 -0.497464
+149 1.480000 -0.905768 -0.509901
+150 1.490000 -0.900607 -0.522183
+151 1.500000 -0.895325 -0.534306
+152 1.510000 -0.889922 -0.546266
+153 1.520000 -0.884400 -0.558060
+154 1.530000 -0.878761 -0.569684
+155 1.540000 -0.873007 -0.581134
+156 1.550000 -0.867139 -0.592408
+157 1.560000 -0.861159 -0.603501
+158 1.570000 -0.855069 -0.614410
+159 1.580000 -0.848872 -0.625132
+160 1.590000 -0.842567 -0.635663
+161 1.600000 -0.836159 -0.646001
+162 1.610000 -0.829648 -0.656142
+163 1.620000 -0.823037 -0.666083
+164 1.630000 -0.816327 -0.675822
+165 1.640000 -0.809521 -0.685354
+166 1.650000 -0.802621 -0.694678
+167 1.660000 -0.795628 -0.703790
+168 1.670000 -0.788546 -0.712688
+169 1.680000 -0.781375 -0.721368
+170 1.690000 -0.774119 -0.729829
+171 1.700000 -0.766779 -0.738068
+172 1.710000 -0.759358 -0.746081
+173 1.720000 -0.751858 -0.753868
+174 1.730000 -0.744282 -0.761425
+175 1.740000 -0.736631 -0.768750
+176 1.750000 -0.728908 -0.775840
+177 1.760000 -0.721115 -0.782695
+178 1.770000 -0.713254 -0.789311
+179 1.780000 -0.705329 -0.795686
+180 1.790000 -0.697341 -0.801819
+181 1.800000 -0.689294 -0.807708
+182 1.810000 -0.681188 -0.813351
+183 1.820000 -0.673027 -0.818746
+184 1.830000 -0.664814 -0.823892
+185 1.840000 -0.656550 -0.828787
+186 1.850000 -0.648239 -0.833429
+187 1.860000 -0.639883 -0.837818
+188 1.870000 -0.631484 -0.841951
+189 1.880000 -0.623045 -0.845828
+190 1.890000 -0.614568 -0.849447
+191 1.900000 -0.606056 -0.852807
+192 1.910000 -0.597513 -0.855908
+193 1.920000 -0.588939 -0.858748
+194 1.930000 -0.580339 -0.861326
+195 1.940000 -0.571714 -0.863642
+196 1.950000 -0.563067 -0.865695
+197 1.960000 -0.554401 -0.867484
+198 1.970000 -0.545718 -0.869009
+199 1.980000 -0.537021 -0.870269
+200 1.990000 -0.528313 -0.871264
+201 2.000000 -0.519597 -0.871994
+202 2.010000 -0.510874 -0.872458
+203 2.020000 -0.502149 -0.872657
+204 2.030000 -0.493422 -0.872589
+205 2.040000 -0.484698 -0.872256
+206 2.050000 -0.475978 -0.871657
+207 2.060000 -0.467265 -0.870792
+208 2.070000 -0.458563 -0.869663
+209 2.080000 -0.449873 -0.868268
+210 2.090000 -0.441198 -0.866609
+211 2.100000 -0.432542 -0.864686
+212 2.110000 -0.423906 -0.862499
+213 2.120000 -0.415293 -0.860050
+214 2.130000 -0.406705 -0.857339
+215 2.140000 -0.398147 -0.854367
+216 2.150000 -0.389619 -0.851134
+217 2.160000 -0.381125 -0.847642
+218 2.170000 -0.372667 -0.843892
+219 2.180000 -0.364248 -0.839885
+220 2.190000 -0.355870 -0.835622
+221 2.200000 -0.347536 -0.831105
+222 2.210000 -0.339249 -0.826334
+223 2.220000 -0.331010 -0.821311
+224 2.230000 -0.322824 -0.816039
+225 2.240000 -0.314691 -0.810518
+226 2.250000 -0.306614 -0.804750
+227 2.260000 -0.298596 -0.798737
+228 2.270000 -0.290640 -0.792480
+229 2.280000 -0.282748 -0.785982
+230 2.290000 -0.274921 -0.779245
+231 2.300000 -0.267163 -0.772270
+232 2.310000 -0.259477 -0.765061
+233 2.320000 -0.251863 -0.757618
+234 2.330000 -0.244325 -0.749944
+235 2.340000 -0.236865 -0.742042
+236 2.350000 -0.229485 -0.733914
+237 2.360000 -0.222187 -0.725562
+238 2.370000 -0.214974 -0.716989
+239 2.380000 -0.207848 -0.708198
+240 2.390000 -0.200811 -0.699191
+241 2.400000 -0.193865 -0.689971
+242 2.410000 -0.187012 -0.680541
+243 2.420000 -0.180255 -0.670904
+244 2.430000 -0.173595 -0.661062
+245 2.440000 -0.167034 -0.651019
+246 2.450000 -0.160575 -0.640778
+247 2.460000 -0.154220 -0.630342
+248 2.470000 -0.147969 -0.619713
+249 2.480000 -0.141826 -0.608896
+250 2.490000 -0.135792 -0.597893
+251 2.500000 -0.129869 -0.586708
+252 2.510000 -0.124058 -0.575344
+253 2.520000 -0.118362 -0.563805
+254 2.530000 -0.112783 -0.552095
+255 2.540000 -0.107321 -0.540216
+256 2.550000 -0.101979 -0.528173
+257 2.560000 -0.096758 -0.515968
+258 2.570000 -0.091660 -0.503607
+259 2.580000 -0.086686 -0.491092
+260 2.590000 -0.081839 -0.478428
+261 2.600000 -0.077118 -0.465618
+262 2.610000 -0.072527 -0.452666
+263 2.620000 -0.068066 -0.439576
+264 2.630000 -0.063736 -0.426352
+265 2.640000 -0.059539 -0.412998
+266 2.650000 -0.055476 -0.399519
+267 2.660000 -0.051549 -0.385918
+268 2.670000 -0.047758 -0.372199
+269 2.680000 -0.044105 -0.358367
+270 2.690000 -0.040591 -0.344426
+271 2.700000 -0.037217 -0.330380
+272 2.710000 -0.033984 -0.316233
+273 2.720000 -0.030893 -0.301990
+274 2.730000 -0.027945 -0.287655
+275 2.740000 -0.025140 -0.273232
+276 2.750000 -0.022480 -0.258726
+277 2.760000 -0.019966 -0.244141
+278 2.770000 -0.017598 -0.229482
+279 2.780000 -0.015376 -0.214753
+280 2.790000 -0.013303 -0.199959
+281 2.800000 -0.011377 -0.185103
+282 2.810000 -0.009601 -0.170192
+283 2.820000 -0.007974 -0.155228
+284 2.830000 -0.006496 -0.140217
+285 2.840000 -0.005170 -0.125164
+286 2.850000 -0.003993 -0.110072
+287 2.860000 -0.002968 -0.094947
+288 2.870000 -0.002095 -0.079793
+289 2.880000 -0.001372 -0.064614
+290 2.890000 -0.000802 -0.049416
+291 2.900000 -0.000384 -0.034203
+292 2.910000 -0.000118 -0.018979
+293 2.920000 -0.000005 -0.003750
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/run.in.min b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/run.in.min
new file mode 100644
index 000000000..712eca1a7
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/run.in.min
@@ -0,0 +1,25 @@
+# -- Init section --
+
+include system.in.init
+
+# -- Atom definition section --
+
+read_data system.data
+
+# -- Settings Section --
+
+include system.in.settings
+
+# -- Run section --
+
+dump 1 all custom 50 traj_min.lammpstrj id mol type x y z ix iy iz
+thermo_style custom step pe etotal vol epair ebond eangle
+thermo 20 # time interval for printing out "thermo" data
+
+#min_style quickmin
+#min_modify dmax 0.03
+#min_style hftn
+#min_modify dmax 0.05
+minimize 1.0e-7 1.0e-9 100000 300000
+
+write_data system_after_min.data
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/run.in.npt b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/run.in.npt
new file mode 100644
index 000000000..e9294a96d
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/run.in.npt
@@ -0,0 +1,58 @@
+# -------- REQUIREMENTS: ---------
+# 1) This example may require additional features and bug fixes for LAMMPS.
+# Be sure to download and copy the "additional_lammps_code" from
+# http://moltemplate.org (upper-left corner menu)
+# 2) Unpack it
+# 3) copy the .cpp and .h files to the src folding of your lammps installation.
+# 4) Compile LAMMPS.
+#
+# (If LAMMPS complains about an "Invalid pair_style"
+# then you made a mistake in the instructions above.)
+#
+
+# -- Init Section --
+
+include system.in.init
+
+# -- Atom Definition Section --
+
+read_data system.data
+
+# -- Settings Section --
+
+include system.in.settings
+
+# -- Run Section --
+
+
+timestep 0.01
+dump 1 all custom 5000 traj_npt.lammpstrj id mol type x y z ix iy iz
+
+
+thermo_style custom step temp pe etotal vol epair ebond eangle
+thermo 200 # time interval for printing out "thermo" data
+
+velocity all create 1.1 12345
+
+fix fxlan all langevin 1.1 1.1 50.0 48279
+fix fxnph all nph x 0 0 1000 y 0 0 1000 couple xy
+
+# Note: The temperature is 1.1*ε
+# (ε = "epsilon" used by the coarse-grained lipid)
+# Note: The langevin damping parameter is now "50.0" in units of time
+# (which are (m/(ε*σ^2))^(1/2) because we are using "units lj"
+# This is grossly underdamped compared to the real system,
+# but it leads to more efficient sampling.)
+# Note: We maintain the system system at constant (zero) tention
+# using a barostat damping parameter Pdamp=1000 ("0 0 1000")
+
+
+
+# optional (not sure if this helps):
+# balance x uniform y uniform
+
+
+run 1000000
+
+write_data system_after_npt.data
+
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/run.in.nvt b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/run.in.nvt
new file mode 100644
index 000000000..85c16a0b7
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/run.in.nvt
@@ -0,0 +1,49 @@
+# ------------------------------- Initialization Section --------------------
+
+include system.in.init
+
+# ------------------------------- Atom Definition Section -------------------
+
+
+# To run this simulation, you should first equilibrate the system at constant
+# pressure and temperature beforehand. If you run lammps with "run.in.npt",
+# it will generate a data file "system_after_npt.data" with reasonable
+# coordinates at that temperature and pressure. Then we could load it now:
+
+read_data system_after_npt.data
+
+# ------------------------------- Settings Section --------------------------
+
+include system.in.settings
+
+# ------------------------------- Run Section -------------------------------
+
+
+timestep 0.01
+dump 1 all custom 50000 traj_nvt.lammpstrj id mol type x y z ix iy iz
+
+
+thermo_style custom step temp pe etotal vol epair ebond eangle
+thermo 1000 # time interval for printing out "thermo" data
+
+velocity all create 1.1 12345
+
+fix fxlan all langevin 1.1 1.1 500.0 48279
+fix fxnve all nve
+
+# Note: The temperature is 1.1*ε
+# (ε = "epsilon" used by the coarse-grained lipid)
+# Note: The langevin damping parameter is "500.0" in units of time
+# (which are (m/(ε*σ^2))^(1/2) because we are using "units lj"
+# This is grossly underdamped compared to the real system,
+# but it leads to more efficient sampling.)
+
+
+# optional (not sure if this helps):
+# balance x uniform y uniform
+
+
+run 20000000
+
+write_data system_after_nvt.data
+
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/tabulated_potential.dat b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/tabulated_potential.dat
new file mode 100644
index 000000000..cd8dd4db7
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_Cooke_Kremer_DesernoPRE2005/tabulated_potential.dat
@@ -0,0 +1,4589 @@
+# Tabulated potential for Cooke 3-bead lipid model, with various values of Wc
+
+HEAD_HEAD
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 2161440350647607518822400.000000 2593728420778890895481110528.000000
+3 0.020000 527695398062100709376.000000 316617238851043104653312.000000
+4 0.030000 4067131343850062336.000000 1626852538346708926464.000000
+5 0.040000 128831883585858496.000000 38649565183436988416.000000
+6 0.050000 8853259488081101.000000 2124782299721489152.000000
+7 0.060000 992951926207085.500000 198590391543644928.000000
+8 0.070000 156158887055179.062500 26770097065977256.000000
+9 0.080000 31453085537227.195312 4717963671829832.000000
+10 0.090000 7653019634383.599609 1020402986772367.875000
+11 0.100000 2161437410283.985352 259372665656012.125000
+12 0.110000 688699846600.110840 75130982888675.812500
+13 0.120000 242418934523.303925 24241942688387.753906
+14 0.130000 92772695554.949768 8563661551482.013672
+15 0.140000 38124343876.568542 3267817639811.164551
+16 0.150000 16658711862.666004 1332707274503.870850
+17 0.160000 7678803441.103481 575916830241.413208
+18 0.170000 3709726886.129636 261867373669.903687
+19 0.180000 1868327898.144181 124558074820.194244
+20 0.190000 976500000.999998 61675657894.736687
+21 0.200000 527649455.864879 31660345589.187614
+22 0.210000 293806260.511241 16789908645.082933
+23 0.220000 168114083.438129 9170566326.526011
+24 0.230000 98610181.495127 5145397135.359623
+25 0.240000 59169165.297856 2958842872.372237
+26 0.250000 36250908.888444 1740332628.538169
+27 0.260000 22640215.252607 1045152619.667436
+28 0.270000 14392928.420337 639854320.962319
+29 0.280000 9301695.744822 398774811.984595
+30 0.290000 6104017.717125 252682276.475626
+31 0.300000 4063098.921872 162604585.395105
+32 0.310000 2740806.847436 106159834.284035
+33 0.320000 1872013.228410 70251804.140783
+34 0.330000 1293637.623279 47082727.461649
+35 0.340000 903822.389327 31933167.708250
+36 0.350000 638028.370186 21902644.696022
+37 0.360000 454806.060338 15182681.781435
+38 0.370000 327194.054124 10630250.689058
+39 0.380000 237443.016602 7513588.353207
+40 0.390000 173734.710287 5358508.469115
+41 0.400000 128115.021129 3854188.581495
+42 0.410000 95175.694590 2794659.517251
+43 0.420000 71203.733281 2042016.387369
+44 0.430000 53626.450912 1503014.644703
+45 0.440000 40645.593596 1114014.575978
+46 0.450000 30993.690585 831193.088925
+47 0.460000 23770.248288 624115.416996
+48 0.470000 18330.617960 471472.559289
+49 0.480000 14209.942248 358228.692769
+50 0.490000 11070.674537 273695.309628
+51 0.500000 8666.076152 210220.029942
+52 0.510000 6814.633252 162286.683398
+53 0.520000 5381.995700 125892.872001
+54 0.530000 4268.136868 98116.253151
+55 0.540000 3398.163685 76810.165684
+56 0.550000 2715.696677 60388.560510
+57 0.560000 2178.071621 47673.030759
+58 0.570000 1752.840750 37783.319810
+59 0.580000 1415.206838 30058.470465
+60 0.590000 1146.130977 23999.705760
+61 0.600000 930.929708 19228.816970
+62 0.610000 758.229563 15457.682582
+63 0.620000 619.184089 12465.822566
+64 0.630000 506.884625 10083.785213
+65 0.640000 415.914818 8180.790148
+66 0.650000 342.012307 6655.493196
+67 0.660000 281.810669 5429.052488
+68 0.670000 232.641766 4439.899069
+69 0.680000 192.383722 3639.775908
+70 0.690000 159.343555 2990.725059
+71 0.700000 132.166200 2462.786676
+72 0.710000 109.763738 2032.234764
+73 0.720000 91.260139 1680.219270
+74 0.730000 75.947974 1391.717054
+75 0.740000 63.254382 1154.718549
+76 0.750000 52.714228 959.594954
+77 0.760000 43.948872 798.604206
+78 0.770000 36.649308 665.504021
+79 0.780000 30.562750 555.247832
+80 0.790000 25.481924 463.745109
+81 0.800000 21.236485 387.671861
+82 0.810000 17.686136 324.320364
+83 0.820000 14.715086 271.479665
+84 0.830000 12.227574 227.340274
+85 0.840000 10.144253 190.417955
+86 0.850000 8.399249 159.492629
+87 0.860000 6.937780 133.559247
+88 0.870000 5.714205 111.788215
+89 0.880000 4.690441 93.493410
+90 0.890000 3.834655 78.106288
+91 0.900000 3.120205 65.154867
+92 0.910000 2.524755 54.246625
+93 0.920000 2.029558 45.054564
+94 0.930000 1.618857 37.305814
+95 0.940000 1.279395 30.772315
+96 0.950000 1.000000 25.263158
+97 0.960000 0.771253 20.618297
+98 0.970000 0.585203 16.703371
+99 0.980000 0.435131 13.405424
+100 0.990000 0.315357 10.629373
+101 1.000000 0.221073 8.295079
+102 1.010000 0.148209 6.334918
+103 1.020000 0.093319 4.691763
+104 1.030000 0.053479 3.317301
+105 1.040000 0.026214 2.170635
+106 1.050000 0.009423 1.217110
+107 1.060000 0.001327 0.427337
+108 1.070000 0.000000 0.000000
+109 1.080000 0.000000 0.000000
+110 1.090000 0.000000 0.000000
+111 1.100000 0.000000 0.000000
+112 1.110000 0.000000 0.000000
+113 1.120000 0.000000 0.000000
+114 1.130000 0.000000 0.000000
+115 1.140000 0.000000 0.000000
+116 1.150000 0.000000 0.000000
+117 1.160000 0.000000 0.000000
+118 1.170000 0.000000 0.000000
+119 1.180000 0.000000 0.000000
+120 1.190000 0.000000 0.000000
+121 1.200000 0.000000 0.000000
+122 1.210000 0.000000 0.000000
+123 1.220000 0.000000 0.000000
+124 1.230000 0.000000 0.000000
+125 1.240000 0.000000 0.000000
+126 1.250000 0.000000 0.000000
+127 1.260000 0.000000 0.000000
+128 1.270000 0.000000 0.000000
+129 1.280000 0.000000 0.000000
+130 1.290000 0.000000 0.000000
+131 1.300000 0.000000 0.000000
+132 1.310000 0.000000 0.000000
+133 1.320000 0.000000 0.000000
+134 1.330000 0.000000 0.000000
+135 1.340000 0.000000 0.000000
+136 1.350000 0.000000 0.000000
+137 1.360000 0.000000 0.000000
+138 1.370000 0.000000 0.000000
+139 1.380000 0.000000 0.000000
+140 1.390000 0.000000 0.000000
+141 1.400000 0.000000 0.000000
+142 1.410000 0.000000 0.000000
+143 1.420000 0.000000 0.000000
+144 1.430000 0.000000 0.000000
+145 1.440000 0.000000 0.000000
+146 1.450000 0.000000 0.000000
+147 1.460000 0.000000 0.000000
+148 1.470000 0.000000 0.000000
+149 1.480000 0.000000 0.000000
+150 1.490000 0.000000 0.000000
+151 1.500000 0.000000 0.000000
+152 1.510000 0.000000 0.000000
+153 1.520000 0.000000 0.000000
+154 1.530000 0.000000 0.000000
+155 1.540000 0.000000 0.000000
+156 1.550000 0.000000 0.000000
+157 1.560000 0.000000 0.000000
+158 1.570000 0.000000 0.000000
+159 1.580000 0.000000 0.000000
+160 1.590000 0.000000 0.000000
+161 1.600000 0.000000 0.000000
+162 1.610000 0.000000 0.000000
+163 1.620000 0.000000 0.000000
+164 1.630000 0.000000 0.000000
+165 1.640000 0.000000 0.000000
+166 1.650000 0.000000 0.000000
+167 1.660000 0.000000 0.000000
+168 1.670000 0.000000 0.000000
+169 1.680000 0.000000 0.000000
+170 1.690000 0.000000 0.000000
+171 1.700000 0.000000 0.000000
+172 1.710000 0.000000 0.000000
+173 1.720000 0.000000 0.000000
+174 1.730000 0.000000 0.000000
+175 1.740000 0.000000 0.000000
+176 1.750000 0.000000 0.000000
+177 1.760000 0.000000 0.000000
+178 1.770000 0.000000 0.000000
+179 1.780000 0.000000 0.000000
+180 1.790000 0.000000 0.000000
+181 1.800000 0.000000 0.000000
+182 1.810000 0.000000 0.000000
+183 1.820000 0.000000 0.000000
+184 1.830000 0.000000 0.000000
+185 1.840000 0.000000 0.000000
+186 1.850000 0.000000 0.000000
+187 1.860000 0.000000 0.000000
+188 1.870000 0.000000 0.000000
+189 1.880000 0.000000 0.000000
+190 1.890000 0.000000 0.000000
+191 1.900000 0.000000 0.000000
+192 1.910000 0.000000 0.000000
+193 1.920000 0.000000 0.000000
+194 1.930000 0.000000 0.000000
+195 1.940000 0.000000 0.000000
+196 1.950000 0.000000 0.000000
+197 1.960000 0.000000 0.000000
+198 1.970000 0.000000 0.000000
+199 1.980000 0.000000 0.000000
+200 1.990000 0.000000 0.000000
+201 2.000000 0.000000 0.000000
+202 2.010000 0.000000 0.000000
+203 2.020000 0.000000 0.000000
+204 2.030000 0.000000 0.000000
+205 2.040000 0.000000 0.000000
+206 2.050000 0.000000 0.000000
+207 2.060000 0.000000 0.000000
+208 2.070000 0.000000 0.000000
+209 2.080000 0.000000 0.000000
+210 2.090000 0.000000 0.000000
+211 2.100000 0.000000 0.000000
+212 2.110000 0.000000 0.000000
+213 2.120000 0.000000 0.000000
+214 2.130000 0.000000 0.000000
+215 2.140000 0.000000 0.000000
+216 2.150000 0.000000 0.000000
+217 2.160000 0.000000 0.000000
+218 2.170000 0.000000 0.000000
+219 2.180000 0.000000 0.000000
+220 2.190000 0.000000 0.000000
+221 2.200000 0.000000 0.000000
+222 2.210000 0.000000 0.000000
+223 2.220000 0.000000 0.000000
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+HEAD_TAIL
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 2161440350647607518822400.000000 2593728420778890895481110528.000000
+3 0.020000 527695398062100709376.000000 316617238851043104653312.000000
+4 0.030000 4067131343850062336.000000 1626852538346708926464.000000
+5 0.040000 128831883585858496.000000 38649565183436988416.000000
+6 0.050000 8853259488081101.000000 2124782299721489152.000000
+7 0.060000 992951926207085.500000 198590391543644928.000000
+8 0.070000 156158887055179.062500 26770097065977256.000000
+9 0.080000 31453085537227.195312 4717963671829832.000000
+10 0.090000 7653019634383.599609 1020402986772367.875000
+11 0.100000 2161437410283.985352 259372665656012.125000
+12 0.110000 688699846600.110840 75130982888675.812500
+13 0.120000 242418934523.303925 24241942688387.753906
+14 0.130000 92772695554.949768 8563661551482.013672
+15 0.140000 38124343876.568542 3267817639811.164551
+16 0.150000 16658711862.666004 1332707274503.870850
+17 0.160000 7678803441.103481 575916830241.413208
+18 0.170000 3709726886.129636 261867373669.903687
+19 0.180000 1868327898.144181 124558074820.194244
+20 0.190000 976500000.999998 61675657894.736687
+21 0.200000 527649455.864879 31660345589.187614
+22 0.210000 293806260.511241 16789908645.082933
+23 0.220000 168114083.438129 9170566326.526011
+24 0.230000 98610181.495127 5145397135.359623
+25 0.240000 59169165.297856 2958842872.372237
+26 0.250000 36250908.888444 1740332628.538169
+27 0.260000 22640215.252607 1045152619.667436
+28 0.270000 14392928.420337 639854320.962319
+29 0.280000 9301695.744822 398774811.984595
+30 0.290000 6104017.717125 252682276.475626
+31 0.300000 4063098.921872 162604585.395105
+32 0.310000 2740806.847436 106159834.284035
+33 0.320000 1872013.228410 70251804.140783
+34 0.330000 1293637.623279 47082727.461649
+35 0.340000 903822.389327 31933167.708250
+36 0.350000 638028.370186 21902644.696022
+37 0.360000 454806.060338 15182681.781435
+38 0.370000 327194.054124 10630250.689058
+39 0.380000 237443.016602 7513588.353207
+40 0.390000 173734.710287 5358508.469115
+41 0.400000 128115.021129 3854188.581495
+42 0.410000 95175.694590 2794659.517251
+43 0.420000 71203.733281 2042016.387369
+44 0.430000 53626.450912 1503014.644703
+45 0.440000 40645.593596 1114014.575978
+46 0.450000 30993.690585 831193.088925
+47 0.460000 23770.248288 624115.416996
+48 0.470000 18330.617960 471472.559289
+49 0.480000 14209.942248 358228.692769
+50 0.490000 11070.674537 273695.309628
+51 0.500000 8666.076152 210220.029942
+52 0.510000 6814.633252 162286.683398
+53 0.520000 5381.995700 125892.872001
+54 0.530000 4268.136868 98116.253151
+55 0.540000 3398.163685 76810.165684
+56 0.550000 2715.696677 60388.560510
+57 0.560000 2178.071621 47673.030759
+58 0.570000 1752.840750 37783.319810
+59 0.580000 1415.206838 30058.470465
+60 0.590000 1146.130977 23999.705760
+61 0.600000 930.929708 19228.816970
+62 0.610000 758.229563 15457.682582
+63 0.620000 619.184089 12465.822566
+64 0.630000 506.884625 10083.785213
+65 0.640000 415.914818 8180.790148
+66 0.650000 342.012307 6655.493196
+67 0.660000 281.810669 5429.052488
+68 0.670000 232.641766 4439.899069
+69 0.680000 192.383722 3639.775908
+70 0.690000 159.343555 2990.725059
+71 0.700000 132.166200 2462.786676
+72 0.710000 109.763738 2032.234764
+73 0.720000 91.260139 1680.219270
+74 0.730000 75.947974 1391.717054
+75 0.740000 63.254382 1154.718549
+76 0.750000 52.714228 959.594954
+77 0.760000 43.948872 798.604206
+78 0.770000 36.649308 665.504021
+79 0.780000 30.562750 555.247832
+80 0.790000 25.481924 463.745109
+81 0.800000 21.236485 387.671861
+82 0.810000 17.686136 324.320364
+83 0.820000 14.715086 271.479665
+84 0.830000 12.227574 227.340274
+85 0.840000 10.144253 190.417955
+86 0.850000 8.399249 159.492629
+87 0.860000 6.937780 133.559247
+88 0.870000 5.714205 111.788215
+89 0.880000 4.690441 93.493410
+90 0.890000 3.834655 78.106288
+91 0.900000 3.120205 65.154867
+92 0.910000 2.524755 54.246625
+93 0.920000 2.029558 45.054564
+94 0.930000 1.618857 37.305814
+95 0.940000 1.279395 30.772315
+96 0.950000 1.000000 25.263158
+97 0.960000 0.771253 20.618297
+98 0.970000 0.585203 16.703371
+99 0.980000 0.435131 13.405424
+100 0.990000 0.315357 10.629373
+101 1.000000 0.221073 8.295079
+102 1.010000 0.148209 6.334918
+103 1.020000 0.093319 4.691763
+104 1.030000 0.053479 3.317301
+105 1.040000 0.026214 2.170635
+106 1.050000 0.009423 1.217110
+107 1.060000 0.001327 0.427337
+108 1.070000 0.000000 0.000000
+109 1.080000 0.000000 0.000000
+110 1.090000 0.000000 0.000000
+111 1.100000 0.000000 0.000000
+112 1.110000 0.000000 0.000000
+113 1.120000 0.000000 0.000000
+114 1.130000 0.000000 0.000000
+115 1.140000 0.000000 0.000000
+116 1.150000 0.000000 0.000000
+117 1.160000 0.000000 0.000000
+118 1.170000 0.000000 0.000000
+119 1.180000 0.000000 0.000000
+120 1.190000 0.000000 0.000000
+121 1.200000 0.000000 0.000000
+122 1.210000 0.000000 0.000000
+123 1.220000 0.000000 0.000000
+124 1.230000 0.000000 0.000000
+125 1.240000 0.000000 0.000000
+126 1.250000 0.000000 0.000000
+127 1.260000 0.000000 0.000000
+128 1.270000 0.000000 0.000000
+129 1.280000 0.000000 0.000000
+130 1.290000 0.000000 0.000000
+131 1.300000 0.000000 0.000000
+132 1.310000 0.000000 0.000000
+133 1.320000 0.000000 0.000000
+134 1.330000 0.000000 0.000000
+135 1.340000 0.000000 0.000000
+136 1.350000 0.000000 0.000000
+137 1.360000 0.000000 0.000000
+138 1.370000 0.000000 0.000000
+139 1.380000 0.000000 0.000000
+140 1.390000 0.000000 0.000000
+141 1.400000 0.000000 0.000000
+142 1.410000 0.000000 0.000000
+143 1.420000 0.000000 0.000000
+144 1.430000 0.000000 0.000000
+145 1.440000 0.000000 0.000000
+146 1.450000 0.000000 0.000000
+147 1.460000 0.000000 0.000000
+148 1.470000 0.000000 0.000000
+149 1.480000 0.000000 0.000000
+150 1.490000 0.000000 0.000000
+151 1.500000 0.000000 0.000000
+152 1.510000 0.000000 0.000000
+153 1.520000 0.000000 0.000000
+154 1.530000 0.000000 0.000000
+155 1.540000 0.000000 0.000000
+156 1.550000 0.000000 0.000000
+157 1.560000 0.000000 0.000000
+158 1.570000 0.000000 0.000000
+159 1.580000 0.000000 0.000000
+160 1.590000 0.000000 0.000000
+161 1.600000 0.000000 0.000000
+162 1.610000 0.000000 0.000000
+163 1.620000 0.000000 0.000000
+164 1.630000 0.000000 0.000000
+165 1.640000 0.000000 0.000000
+166 1.650000 0.000000 0.000000
+167 1.660000 0.000000 0.000000
+168 1.670000 0.000000 0.000000
+169 1.680000 0.000000 0.000000
+170 1.690000 0.000000 0.000000
+171 1.700000 0.000000 0.000000
+172 1.710000 0.000000 0.000000
+173 1.720000 0.000000 0.000000
+174 1.730000 0.000000 0.000000
+175 1.740000 0.000000 0.000000
+176 1.750000 0.000000 0.000000
+177 1.760000 0.000000 0.000000
+178 1.770000 0.000000 0.000000
+179 1.780000 0.000000 0.000000
+180 1.790000 0.000000 0.000000
+181 1.800000 0.000000 0.000000
+182 1.810000 0.000000 0.000000
+183 1.820000 0.000000 0.000000
+184 1.830000 0.000000 0.000000
+185 1.840000 0.000000 0.000000
+186 1.850000 0.000000 0.000000
+187 1.860000 0.000000 0.000000
+188 1.870000 0.000000 0.000000
+189 1.880000 0.000000 0.000000
+190 1.890000 0.000000 0.000000
+191 1.900000 0.000000 0.000000
+192 1.910000 0.000000 0.000000
+193 1.920000 0.000000 0.000000
+194 1.930000 0.000000 0.000000
+195 1.940000 0.000000 0.000000
+196 1.950000 0.000000 0.000000
+197 1.960000 0.000000 0.000000
+198 1.970000 0.000000 0.000000
+199 1.980000 0.000000 0.000000
+200 1.990000 0.000000 0.000000
+201 2.000000 0.000000 0.000000
+202 2.010000 0.000000 0.000000
+203 2.020000 0.000000 0.000000
+204 2.030000 0.000000 0.000000
+205 2.040000 0.000000 0.000000
+206 2.050000 0.000000 0.000000
+207 2.060000 0.000000 0.000000
+208 2.070000 0.000000 0.000000
+209 2.080000 0.000000 0.000000
+210 2.090000 0.000000 0.000000
+211 2.100000 0.000000 0.000000
+212 2.110000 0.000000 0.000000
+213 2.120000 0.000000 0.000000
+214 2.130000 0.000000 0.000000
+215 2.140000 0.000000 0.000000
+216 2.150000 0.000000 0.000000
+217 2.160000 0.000000 0.000000
+218 2.170000 0.000000 0.000000
+219 2.180000 0.000000 0.000000
+220 2.190000 0.000000 0.000000
+221 2.200000 0.000000 0.000000
+222 2.210000 0.000000 0.000000
+223 2.220000 0.000000 0.000000
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+TAIL_TAIL_Wc_0.6
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999611 -0.103302
+115 1.140000 -0.997893 -0.240069
+116 1.150000 -0.994811 -0.376178
+117 1.160000 -0.990373 -0.511255
+118 1.170000 -0.984591 -0.644932
+119 1.180000 -0.977480 -0.776841
+120 1.190000 -0.969061 -0.906620
+121 1.200000 -0.959356 -1.033915
+122 1.210000 -0.948392 -1.158376
+123 1.220000 -0.936199 -1.279661
+124 1.230000 -0.922811 -1.397439
+125 1.240000 -0.908263 -1.511387
+126 1.250000 -0.892597 -1.621193
+127 1.260000 -0.875854 -1.726554
+128 1.270000 -0.858082 -1.827184
+129 1.280000 -0.839327 -1.922805
+130 1.290000 -0.819643 -2.013156
+131 1.300000 -0.799083 -2.097989
+132 1.310000 -0.777702 -2.177071
+133 1.320000 -0.755561 -2.250187
+134 1.330000 -0.732719 -2.317134
+135 1.340000 -0.709240 -2.377731
+136 1.350000 -0.685186 -2.431810
+137 1.360000 -0.660626 -2.479224
+138 1.370000 -0.635625 -2.519843
+139 1.380000 -0.610252 -2.553555
+140 1.390000 -0.584577 -2.580268
+141 1.400000 -0.558670 -2.599908
+142 1.410000 -0.532602 -2.612423
+143 1.420000 -0.506445 -2.617776
+144 1.430000 -0.480271 -2.615955
+145 1.440000 -0.454150 -2.606964
+146 1.450000 -0.428155 -2.590827
+147 1.460000 -0.402357 -2.567588
+148 1.470000 -0.376827 -2.537312
+149 1.480000 -0.351634 -2.500082
+150 1.490000 -0.326848 -2.455999
+151 1.500000 -0.302537 -2.405184
+152 1.510000 -0.278767 -2.347777
+153 1.520000 -0.255603 -2.283935
+154 1.530000 -0.233109 -2.213833
+155 1.540000 -0.211346 -2.137662
+156 1.550000 -0.190375 -2.055633
+157 1.560000 -0.170252 -1.967969
+158 1.570000 -0.151034 -1.874911
+159 1.580000 -0.132771 -1.776714
+160 1.590000 -0.115516 -1.673647
+161 1.600000 -0.099314 -1.565993
+162 1.610000 -0.084210 -1.454047
+163 1.620000 -0.070246 -1.338115
+164 1.630000 -0.057460 -1.218516
+165 1.640000 -0.045887 -1.095576
+166 1.650000 -0.035558 -0.969634
+167 1.660000 -0.026503 -0.841034
+168 1.670000 -0.018745 -0.710129
+169 1.680000 -0.012307 -0.577277
+170 1.690000 -0.007205 -0.442843
+171 1.700000 -0.003454 -0.307196
+172 1.710000 -0.001064 -0.170706
+173 1.720000 -0.000042 -0.033748
+174 1.730000 0.000000 0.000000
+175 1.740000 0.000000 0.000000
+176 1.750000 0.000000 0.000000
+177 1.760000 0.000000 0.000000
+178 1.770000 0.000000 0.000000
+179 1.780000 0.000000 0.000000
+180 1.790000 0.000000 0.000000
+181 1.800000 0.000000 0.000000
+182 1.810000 0.000000 0.000000
+183 1.820000 0.000000 0.000000
+184 1.830000 0.000000 0.000000
+185 1.840000 0.000000 0.000000
+186 1.850000 0.000000 0.000000
+187 1.860000 0.000000 0.000000
+188 1.870000 0.000000 0.000000
+189 1.880000 0.000000 0.000000
+190 1.890000 0.000000 0.000000
+191 1.900000 0.000000 0.000000
+192 1.910000 0.000000 0.000000
+193 1.920000 0.000000 0.000000
+194 1.930000 0.000000 0.000000
+195 1.940000 0.000000 0.000000
+196 1.950000 0.000000 0.000000
+197 1.960000 0.000000 0.000000
+198 1.970000 0.000000 0.000000
+199 1.980000 0.000000 0.000000
+200 1.990000 0.000000 0.000000
+201 2.000000 0.000000 0.000000
+202 2.010000 0.000000 0.000000
+203 2.020000 0.000000 0.000000
+204 2.030000 0.000000 0.000000
+205 2.040000 0.000000 0.000000
+206 2.050000 0.000000 0.000000
+207 2.060000 0.000000 0.000000
+208 2.070000 0.000000 0.000000
+209 2.080000 0.000000 0.000000
+210 2.090000 0.000000 0.000000
+211 2.100000 0.000000 0.000000
+212 2.110000 0.000000 0.000000
+213 2.120000 0.000000 0.000000
+214 2.130000 0.000000 0.000000
+215 2.140000 0.000000 0.000000
+216 2.150000 0.000000 0.000000
+217 2.160000 0.000000 0.000000
+218 2.170000 0.000000 0.000000
+219 2.180000 0.000000 0.000000
+220 2.190000 0.000000 0.000000
+221 2.200000 0.000000 0.000000
+222 2.210000 0.000000 0.000000
+223 2.220000 0.000000 0.000000
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_0.7
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999714 -0.075900
+115 1.140000 -0.998452 -0.176443
+116 1.150000 -0.996186 -0.276630
+117 1.160000 -0.992921 -0.376260
+118 1.170000 -0.988664 -0.475132
+119 1.180000 -0.983422 -0.573048
+120 1.190000 -0.977206 -0.669809
+121 1.200000 -0.970030 -0.765221
+122 1.210000 -0.961907 -0.859093
+123 1.220000 -0.952854 -0.951234
+124 1.230000 -0.942889 -1.041460
+125 1.240000 -0.932032 -1.129588
+126 1.250000 -0.920305 -1.215441
+127 1.260000 -0.907731 -1.298847
+128 1.270000 -0.894336 -1.379637
+129 1.280000 -0.880148 -1.457649
+130 1.290000 -0.865193 -1.532725
+131 1.300000 -0.849503 -1.604714
+132 1.310000 -0.833110 -1.673472
+133 1.320000 -0.816045 -1.738859
+134 1.330000 -0.798344 -1.800745
+135 1.340000 -0.780042 -1.859004
+136 1.350000 -0.761177 -1.913520
+137 1.360000 -0.741785 -1.964182
+138 1.370000 -0.721906 -2.010888
+139 1.380000 -0.701581 -2.053545
+140 1.390000 -0.680849 -2.092066
+141 1.400000 -0.659753 -2.126374
+142 1.410000 -0.638336 -2.156399
+143 1.420000 -0.616640 -2.182082
+144 1.430000 -0.594709 -2.203371
+145 1.440000 -0.572587 -2.220222
+146 1.450000 -0.550319 -2.232602
+147 1.460000 -0.527950 -2.240486
+148 1.470000 -0.505525 -2.243858
+149 1.480000 -0.483088 -2.242711
+150 1.490000 -0.460686 -2.237047
+151 1.500000 -0.438362 -2.226879
+152 1.510000 -0.416163 -2.212225
+153 1.520000 -0.394133 -2.193117
+154 1.530000 -0.372315 -2.169592
+155 1.540000 -0.350755 -2.141698
+156 1.550000 -0.329496 -2.109490
+157 1.560000 -0.308580 -2.073035
+158 1.570000 -0.288049 -2.032404
+159 1.580000 -0.267945 -1.987681
+160 1.590000 -0.248309 -1.938954
+161 1.600000 -0.229179 -1.886323
+162 1.610000 -0.210595 -1.829893
+163 1.620000 -0.192594 -1.769778
+164 1.630000 -0.175211 -1.706099
+165 1.640000 -0.158483 -1.638984
+166 1.650000 -0.142443 -1.568568
+167 1.660000 -0.127122 -1.494993
+168 1.670000 -0.112553 -1.418408
+169 1.680000 -0.098764 -1.338966
+170 1.690000 -0.085782 -1.256828
+171 1.700000 -0.073635 -1.172158
+172 1.710000 -0.062347 -1.085128
+173 1.720000 -0.051940 -0.995913
+174 1.730000 -0.042436 -0.904692
+175 1.740000 -0.033852 -0.811649
+176 1.750000 -0.026208 -0.716971
+177 1.760000 -0.019518 -0.620850
+178 1.770000 -0.013795 -0.523479
+179 1.780000 -0.009052 -0.425053
+180 1.790000 -0.005297 -0.325771
+181 1.800000 -0.002538 -0.225833
+182 1.810000 -0.000782 -0.125440
+183 1.820000 -0.000031 -0.024795
+184 1.830000 0.000000 0.000000
+185 1.840000 0.000000 0.000000
+186 1.850000 0.000000 0.000000
+187 1.860000 0.000000 0.000000
+188 1.870000 0.000000 0.000000
+189 1.880000 0.000000 0.000000
+190 1.890000 0.000000 0.000000
+191 1.900000 0.000000 0.000000
+192 1.910000 0.000000 0.000000
+193 1.920000 0.000000 0.000000
+194 1.930000 0.000000 0.000000
+195 1.940000 0.000000 0.000000
+196 1.950000 0.000000 0.000000
+197 1.960000 0.000000 0.000000
+198 1.970000 0.000000 0.000000
+199 1.980000 0.000000 0.000000
+200 1.990000 0.000000 0.000000
+201 2.000000 0.000000 0.000000
+202 2.010000 0.000000 0.000000
+203 2.020000 0.000000 0.000000
+204 2.030000 0.000000 0.000000
+205 2.040000 0.000000 0.000000
+206 2.050000 0.000000 0.000000
+207 2.060000 0.000000 0.000000
+208 2.070000 0.000000 0.000000
+209 2.080000 0.000000 0.000000
+210 2.090000 0.000000 0.000000
+211 2.100000 0.000000 0.000000
+212 2.110000 0.000000 0.000000
+213 2.120000 0.000000 0.000000
+214 2.130000 0.000000 0.000000
+215 2.140000 0.000000 0.000000
+216 2.150000 0.000000 0.000000
+217 2.160000 0.000000 0.000000
+218 2.170000 0.000000 0.000000
+219 2.180000 0.000000 0.000000
+220 2.190000 0.000000 0.000000
+221 2.200000 0.000000 0.000000
+222 2.210000 0.000000 0.000000
+223 2.220000 0.000000 0.000000
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_0.8
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999781 -0.058114
+115 1.140000 -0.998815 -0.135122
+116 1.150000 -0.997079 -0.211921
+117 1.160000 -0.994577 -0.288394
+118 1.170000 -0.991313 -0.364422
+119 1.180000 -0.987291 -0.439888
+120 1.190000 -0.982517 -0.514676
+121 1.200000 -0.977000 -0.588671
+122 1.210000 -0.970747 -0.661757
+123 1.220000 -0.963768 -0.733823
+124 1.230000 -0.956074 -0.804758
+125 1.240000 -0.947677 -0.874452
+126 1.250000 -0.938590 -0.942798
+127 1.260000 -0.928826 -1.009689
+128 1.270000 -0.918401 -1.075024
+129 1.280000 -0.907331 -1.138702
+130 1.290000 -0.895633 -1.200623
+131 1.300000 -0.883325 -1.260693
+132 1.310000 -0.870426 -1.318820
+133 1.320000 -0.856955 -1.374913
+134 1.330000 -0.842934 -1.428885
+135 1.340000 -0.828385 -1.480655
+136 1.350000 -0.813329 -1.530141
+137 1.360000 -0.797790 -1.577269
+138 1.370000 -0.781792 -1.621964
+139 1.380000 -0.765359 -1.664158
+140 1.390000 -0.748517 -1.703786
+141 1.400000 -0.731292 -1.740787
+142 1.410000 -0.713710 -1.775104
+143 1.420000 -0.695799 -1.806684
+144 1.430000 -0.677586 -1.835478
+145 1.440000 -0.659099 -1.861442
+146 1.450000 -0.640367 -1.884535
+147 1.460000 -0.621418 -1.904723
+148 1.470000 -0.602282 -1.921974
+149 1.480000 -0.582988 -1.936261
+150 1.490000 -0.563567 -1.947563
+151 1.500000 -0.544047 -1.955862
+152 1.510000 -0.524459 -1.961145
+153 1.520000 -0.504834 -1.963404
+154 1.530000 -0.485201 -1.962635
+155 1.540000 -0.465592 -1.958841
+156 1.550000 -0.446035 -1.952026
+157 1.560000 -0.426561 -1.942201
+158 1.570000 -0.407201 -1.929381
+159 1.580000 -0.387983 -1.913586
+160 1.590000 -0.368939 -1.894841
+161 1.600000 -0.350096 -1.873174
+162 1.610000 -0.331485 -1.848619
+163 1.620000 -0.313133 -1.821213
+164 1.630000 -0.295070 -1.790999
+165 1.640000 -0.277323 -1.758024
+166 1.650000 -0.259919 -1.722338
+167 1.660000 -0.242885 -1.683996
+168 1.670000 -0.226247 -1.643057
+169 1.680000 -0.210032 -1.599585
+170 1.690000 -0.194264 -1.553647
+171 1.700000 -0.178967 -1.505313
+172 1.710000 -0.164165 -1.454658
+173 1.720000 -0.149881 -1.401759
+174 1.730000 -0.136137 -1.346700
+175 1.740000 -0.122954 -1.289564
+176 1.750000 -0.110353 -1.230439
+177 1.760000 -0.098352 -1.169418
+178 1.770000 -0.086970 -1.106593
+179 1.780000 -0.076226 -1.042062
+180 1.790000 -0.066134 -0.975924
+181 1.800000 -0.056712 -0.908281
+182 1.810000 -0.047973 -0.839238
+183 1.820000 -0.039932 -0.768901
+184 1.830000 -0.032599 -0.697378
+185 1.840000 -0.025988 -0.624780
+186 1.850000 -0.020107 -0.551218
+187 1.860000 -0.014966 -0.476807
+188 1.870000 -0.010573 -0.401660
+189 1.880000 -0.006935 -0.325894
+190 1.890000 -0.004057 -0.249625
+191 1.900000 -0.001944 -0.172972
+192 1.910000 -0.000599 -0.096052
+193 1.920000 -0.000023 -0.018984
+194 1.930000 0.000000 0.000000
+195 1.940000 0.000000 0.000000
+196 1.950000 0.000000 0.000000
+197 1.960000 0.000000 0.000000
+198 1.970000 0.000000 0.000000
+199 1.980000 0.000000 0.000000
+200 1.990000 0.000000 0.000000
+201 2.000000 0.000000 0.000000
+202 2.010000 0.000000 0.000000
+203 2.020000 0.000000 0.000000
+204 2.030000 0.000000 0.000000
+205 2.040000 0.000000 0.000000
+206 2.050000 0.000000 0.000000
+207 2.060000 0.000000 0.000000
+208 2.070000 0.000000 0.000000
+209 2.080000 0.000000 0.000000
+210 2.090000 0.000000 0.000000
+211 2.100000 0.000000 0.000000
+212 2.110000 0.000000 0.000000
+213 2.120000 0.000000 0.000000
+214 2.130000 0.000000 0.000000
+215 2.140000 0.000000 0.000000
+216 2.150000 0.000000 0.000000
+217 2.160000 0.000000 0.000000
+218 2.170000 0.000000 0.000000
+219 2.180000 0.000000 0.000000
+220 2.190000 0.000000 0.000000
+221 2.200000 0.000000 0.000000
+222 2.210000 0.000000 0.000000
+223 2.220000 0.000000 0.000000
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_0.9
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999827 -0.045919
+115 1.140000 -0.999063 -0.106781
+116 1.150000 -0.997692 -0.167513
+117 1.160000 -0.995714 -0.228040
+118 1.170000 -0.993132 -0.288290
+119 1.180000 -0.989949 -0.348189
+120 1.190000 -0.986169 -0.407664
+121 1.200000 -0.981798 -0.466642
+122 1.210000 -0.976839 -0.525051
+123 1.220000 -0.971299 -0.582821
+124 1.230000 -0.965185 -0.639880
+125 1.240000 -0.958504 -0.696160
+126 1.250000 -0.951264 -0.751592
+127 1.260000 -0.943475 -0.806108
+128 1.270000 -0.935145 -0.859642
+129 1.280000 -0.926285 -0.912129
+130 1.290000 -0.916906 -0.963505
+131 1.300000 -0.907019 -1.013706
+132 1.310000 -0.896636 -1.062673
+133 1.320000 -0.885770 -1.110344
+134 1.330000 -0.874434 -1.156663
+135 1.340000 -0.862642 -1.201573
+136 1.350000 -0.850407 -1.245019
+137 1.360000 -0.837746 -1.286948
+138 1.370000 -0.824674 -1.327309
+139 1.380000 -0.811205 -1.366053
+140 1.390000 -0.797358 -1.403132
+141 1.400000 -0.783149 -1.438502
+142 1.410000 -0.768594 -1.472120
+143 1.420000 -0.753712 -1.503944
+144 1.430000 -0.738521 -1.533936
+145 1.440000 -0.723040 -1.562058
+146 1.450000 -0.707286 -1.588278
+147 1.460000 -0.691281 -1.612562
+148 1.470000 -0.675042 -1.634882
+149 1.480000 -0.658590 -1.655210
+150 1.490000 -0.641944 -1.673522
+151 1.500000 -0.625126 -1.689794
+152 1.510000 -0.608155 -1.704008
+153 1.520000 -0.591053 -1.716146
+154 1.530000 -0.573839 -1.726192
+155 1.540000 -0.556536 -1.734136
+156 1.550000 -0.539164 -1.739967
+157 1.560000 -0.521744 -1.743678
+158 1.570000 -0.504297 -1.745265
+159 1.580000 -0.486845 -1.744725
+160 1.590000 -0.469410 -1.742060
+161 1.600000 -0.452011 -1.737272
+162 1.610000 -0.434671 -1.730368
+163 1.620000 -0.417411 -1.721355
+164 1.630000 -0.400251 -1.710245
+165 1.640000 -0.383213 -1.697052
+166 1.650000 -0.366317 -1.681791
+167 1.660000 -0.349584 -1.664481
+168 1.670000 -0.333034 -1.645143
+169 1.680000 -0.316688 -1.623800
+170 1.690000 -0.300565 -1.600480
+171 1.700000 -0.284685 -1.575209
+172 1.710000 -0.269067 -1.548019
+173 1.720000 -0.253731 -1.518943
+174 1.730000 -0.238694 -1.488017
+175 1.740000 -0.223976 -1.455278
+176 1.750000 -0.209595 -1.420765
+177 1.760000 -0.195567 -1.384522
+178 1.770000 -0.181910 -1.346592
+179 1.780000 -0.168640 -1.307021
+180 1.790000 -0.155775 -1.265858
+181 1.800000 -0.143328 -1.223153
+182 1.810000 -0.131317 -1.178957
+183 1.820000 -0.119754 -1.133325
+184 1.830000 -0.108655 -1.086312
+185 1.840000 -0.098032 -1.037976
+186 1.850000 -0.087899 -0.988375
+187 1.860000 -0.078269 -0.937570
+188 1.870000 -0.069152 -0.885622
+189 1.880000 -0.060560 -0.832596
+190 1.890000 -0.052503 -0.778555
+191 1.900000 -0.044992 -0.723566
+192 1.910000 -0.038035 -0.667695
+193 1.920000 -0.031641 -0.611011
+194 1.930000 -0.025817 -0.553582
+195 1.940000 -0.020571 -0.495479
+196 1.950000 -0.015910 -0.436772
+197 1.960000 -0.011838 -0.377533
+198 1.970000 -0.008360 -0.317834
+199 1.980000 -0.005482 -0.257747
+200 1.990000 -0.003207 -0.197347
+201 2.000000 -0.001536 -0.136706
+202 2.010000 -0.000473 -0.075899
+203 2.020000 -0.000018 -0.014999
+204 2.030000 0.000000 0.000000
+205 2.040000 0.000000 0.000000
+206 2.050000 0.000000 0.000000
+207 2.060000 0.000000 0.000000
+208 2.070000 0.000000 0.000000
+209 2.080000 0.000000 0.000000
+210 2.090000 0.000000 0.000000
+211 2.100000 0.000000 0.000000
+212 2.110000 0.000000 0.000000
+213 2.120000 0.000000 0.000000
+214 2.130000 0.000000 0.000000
+215 2.140000 0.000000 0.000000
+216 2.150000 0.000000 0.000000
+217 2.160000 0.000000 0.000000
+218 2.170000 0.000000 0.000000
+219 2.180000 0.000000 0.000000
+220 2.190000 0.000000 0.000000
+221 2.200000 0.000000 0.000000
+222 2.210000 0.000000 0.000000
+223 2.220000 0.000000 0.000000
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.0
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999860 -0.037195
+115 1.140000 -0.999241 -0.086503
+116 1.150000 -0.998130 -0.135725
+117 1.160000 -0.996527 -0.184813
+118 1.170000 -0.994434 -0.233719
+119 1.180000 -0.991854 -0.282395
+120 1.190000 -0.988787 -0.330791
+121 1.200000 -0.985239 -0.378862
+122 1.210000 -0.981211 -0.426558
+123 1.220000 -0.976709 -0.473833
+124 1.230000 -0.971736 -0.520641
+125 1.240000 -0.966298 -0.566935
+126 1.250000 -0.960399 -0.612669
+127 1.260000 -0.954047 -0.657799
+128 1.270000 -0.947246 -0.702280
+129 1.280000 -0.940003 -0.746067
+130 1.290000 -0.932327 -0.789119
+131 1.300000 -0.924224 -0.831391
+132 1.310000 -0.915702 -0.872843
+133 1.320000 -0.906770 -0.913434
+134 1.330000 -0.897436 -0.953123
+135 1.340000 -0.887710 -0.991872
+136 1.350000 -0.877602 -1.029642
+137 1.360000 -0.867121 -1.066395
+138 1.370000 -0.856277 -1.102096
+139 1.380000 -0.845082 -1.136710
+140 1.390000 -0.833547 -1.170202
+141 1.400000 -0.821682 -1.202539
+142 1.410000 -0.809500 -1.233689
+143 1.420000 -0.797013 -1.263622
+144 1.430000 -0.784232 -1.292307
+145 1.440000 -0.771171 -1.319717
+146 1.450000 -0.757842 -1.345825
+147 1.460000 -0.744259 -1.370605
+148 1.470000 -0.730434 -1.394032
+149 1.480000 -0.716383 -1.416083
+150 1.490000 -0.702117 -1.436737
+151 1.500000 -0.687653 -1.455973
+152 1.510000 -0.673003 -1.473772
+153 1.520000 -0.658182 -1.490117
+154 1.530000 -0.643205 -1.504991
+155 1.540000 -0.628087 -1.518380
+156 1.550000 -0.612843 -1.530270
+157 1.560000 -0.597487 -1.540650
+158 1.570000 -0.582035 -1.549510
+159 1.580000 -0.566502 -1.556841
+160 1.590000 -0.550903 -1.562635
+161 1.600000 -0.535254 -1.566887
+162 1.610000 -0.519570 -1.569593
+163 1.620000 -0.503867 -1.570749
+164 1.630000 -0.488161 -1.570356
+165 1.640000 -0.472465 -1.568413
+166 1.650000 -0.456797 -1.564922
+167 1.660000 -0.441172 -1.559886
+168 1.670000 -0.425605 -1.553311
+169 1.680000 -0.410111 -1.545204
+170 1.690000 -0.394706 -1.535571
+171 1.700000 -0.379405 -1.524423
+172 1.710000 -0.364222 -1.511770
+173 1.720000 -0.349174 -1.497626
+174 1.730000 -0.334275 -1.482003
+175 1.740000 -0.319539 -1.464918
+176 1.750000 -0.304981 -1.446388
+177 1.760000 -0.290616 -1.426430
+178 1.770000 -0.276457 -1.405064
+179 1.780000 -0.262519 -1.382311
+180 1.790000 -0.248816 -1.358195
+181 1.800000 -0.235360 -1.332738
+182 1.810000 -0.222165 -1.305965
+183 1.820000 -0.209245 -1.277904
+184 1.830000 -0.196611 -1.248582
+185 1.840000 -0.184277 -1.218028
+186 1.850000 -0.172255 -1.186271
+187 1.860000 -0.160556 -1.153344
+188 1.870000 -0.149192 -1.119279
+189 1.880000 -0.138174 -1.084109
+190 1.890000 -0.127513 -1.047869
+191 1.900000 -0.117220 -1.010595
+192 1.910000 -0.107305 -0.972323
+193 1.920000 -0.097777 -0.933093
+194 1.930000 -0.088646 -0.892941
+195 1.940000 -0.079921 -0.851908
+196 1.950000 -0.071610 -0.810034
+197 1.960000 -0.063723 -0.767361
+198 1.970000 -0.056266 -0.723931
+199 1.980000 -0.049247 -0.679786
+200 1.990000 -0.042672 -0.634970
+201 2.000000 -0.036549 -0.589528
+202 2.010000 -0.030884 -0.543504
+203 2.020000 -0.025681 -0.496943
+204 2.030000 -0.020946 -0.449892
+205 2.040000 -0.016685 -0.402397
+206 2.050000 -0.012900 -0.354505
+207 2.060000 -0.009596 -0.306263
+208 2.070000 -0.006776 -0.257719
+209 2.080000 -0.004442 -0.208921
+210 2.090000 -0.002598 -0.159916
+211 2.100000 -0.001244 -0.110754
+212 2.110000 -0.000383 -0.061482
+213 2.120000 -0.000015 -0.012150
+214 2.130000 0.000000 0.000000
+215 2.140000 0.000000 0.000000
+216 2.150000 0.000000 0.000000
+217 2.160000 0.000000 0.000000
+218 2.170000 0.000000 0.000000
+219 2.180000 0.000000 0.000000
+220 2.190000 0.000000 0.000000
+221 2.200000 0.000000 0.000000
+222 2.210000 0.000000 0.000000
+223 2.220000 0.000000 0.000000
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.1
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999884 -0.030740
+115 1.140000 -0.999373 -0.071496
+116 1.150000 -0.998454 -0.112194
+117 1.160000 -0.997129 -0.152800
+118 1.170000 -0.995399 -0.193281
+119 1.180000 -0.993264 -0.233605
+120 1.190000 -0.990727 -0.273738
+121 1.200000 -0.987790 -0.313649
+122 1.210000 -0.984455 -0.353303
+123 1.220000 -0.980725 -0.392669
+124 1.230000 -0.976603 -0.431715
+125 1.240000 -0.972092 -0.470408
+126 1.250000 -0.967196 -0.508719
+127 1.260000 -0.961919 -0.546614
+128 1.270000 -0.956265 -0.584063
+129 1.280000 -0.950239 -0.621036
+130 1.290000 -0.943846 -0.657502
+131 1.300000 -0.937091 -0.693432
+132 1.310000 -0.929979 -0.728797
+133 1.320000 -0.922517 -0.763567
+134 1.330000 -0.914710 -0.797715
+135 1.340000 -0.906565 -0.831211
+136 1.350000 -0.898088 -0.864030
+137 1.360000 -0.889287 -0.896144
+138 1.370000 -0.880168 -0.927527
+139 1.380000 -0.870739 -0.958154
+140 1.390000 -0.861007 -0.987999
+141 1.400000 -0.850981 -1.017039
+142 1.410000 -0.840669 -1.045248
+143 1.420000 -0.830079 -1.072606
+144 1.430000 -0.819220 -1.099088
+145 1.440000 -0.808101 -1.124674
+146 1.450000 -0.796730 -1.149343
+147 1.460000 -0.785117 -1.173074
+148 1.470000 -0.773271 -1.195849
+149 1.480000 -0.761203 -1.217648
+150 1.490000 -0.748922 -1.238454
+151 1.500000 -0.736437 -1.258250
+152 1.510000 -0.723760 -1.277020
+153 1.520000 -0.710900 -1.294748
+154 1.530000 -0.697869 -1.311420
+155 1.540000 -0.684676 -1.327023
+156 1.550000 -0.671332 -1.341543
+157 1.560000 -0.657848 -1.354969
+158 1.570000 -0.644236 -1.367290
+159 1.580000 -0.630506 -1.378496
+160 1.590000 -0.616670 -1.388577
+161 1.600000 -0.602739 -1.397526
+162 1.610000 -0.588723 -1.405335
+163 1.620000 -0.574636 -1.411998
+164 1.630000 -0.560487 -1.417509
+165 1.640000 -0.546289 -1.421864
+166 1.650000 -0.532054 -1.425059
+167 1.660000 -0.517792 -1.427092
+168 1.670000 -0.503516 -1.427961
+169 1.680000 -0.489237 -1.427666
+170 1.690000 -0.474966 -1.426206
+171 1.700000 -0.460716 -1.423582
+172 1.710000 -0.446499 -1.419798
+173 1.720000 -0.432324 -1.414856
+174 1.730000 -0.418205 -1.408759
+175 1.740000 -0.404153 -1.401514
+176 1.750000 -0.390179 -1.393126
+177 1.760000 -0.376294 -1.383601
+178 1.770000 -0.362511 -1.372948
+179 1.780000 -0.348839 -1.361175
+180 1.790000 -0.335291 -1.348292
+181 1.800000 -0.321877 -1.334309
+182 1.810000 -0.308608 -1.319238
+183 1.820000 -0.295496 -1.303091
+184 1.830000 -0.282550 -1.285881
+185 1.840000 -0.269782 -1.267622
+186 1.850000 -0.257201 -1.248329
+187 1.860000 -0.244818 -1.228018
+188 1.870000 -0.232644 -1.206706
+189 1.880000 -0.220688 -1.184410
+190 1.890000 -0.208959 -1.161147
+191 1.900000 -0.197468 -1.136937
+192 1.910000 -0.186223 -1.111800
+193 1.920000 -0.175235 -1.085757
+194 1.930000 -0.164511 -1.058827
+195 1.940000 -0.154061 -1.031034
+196 1.950000 -0.143893 -1.002401
+197 1.960000 -0.134016 -0.972949
+198 1.970000 -0.124437 -0.942704
+199 1.980000 -0.115164 -0.911690
+200 1.990000 -0.106206 -0.879933
+201 2.000000 -0.097568 -0.847458
+202 2.010000 -0.089259 -0.814292
+203 2.020000 -0.081284 -0.780461
+204 2.030000 -0.073652 -0.745994
+205 2.040000 -0.066367 -0.710919
+206 2.050000 -0.059435 -0.675264
+207 2.060000 -0.052863 -0.639057
+208 2.070000 -0.046656 -0.602330
+209 2.080000 -0.040818 -0.565112
+210 2.090000 -0.035355 -0.527432
+211 2.100000 -0.030271 -0.489323
+212 2.110000 -0.025570 -0.450814
+213 2.120000 -0.021256 -0.411937
+214 2.130000 -0.017332 -0.372725
+215 2.140000 -0.013802 -0.333209
+216 2.150000 -0.010669 -0.293421
+217 2.160000 -0.007935 -0.253393
+218 2.170000 -0.005602 -0.213159
+219 2.180000 -0.003672 -0.172751
+220 2.190000 -0.002147 -0.132202
+221 2.200000 -0.001028 -0.091545
+222 2.210000 -0.000317 -0.050814
+223 2.220000 -0.000012 -0.010041
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.2
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999903 -0.025830
+115 1.140000 -0.999473 -0.060080
+116 1.150000 -0.998701 -0.094289
+117 1.160000 -0.997587 -0.128434
+118 1.170000 -0.996133 -0.162490
+119 1.180000 -0.994338 -0.196435
+120 1.190000 -0.992205 -0.230245
+121 1.200000 -0.989734 -0.263897
+122 1.210000 -0.986927 -0.297369
+123 1.220000 -0.983787 -0.330637
+124 1.230000 -0.980315 -0.363678
+125 1.240000 -0.976514 -0.396470
+126 1.250000 -0.972387 -0.428990
+127 1.260000 -0.967935 -0.461216
+128 1.270000 -0.963163 -0.493126
+129 1.280000 -0.958074 -0.524698
+130 1.290000 -0.952671 -0.555911
+131 1.300000 -0.946957 -0.586742
+132 1.310000 -0.940937 -0.617172
+133 1.320000 -0.934615 -0.647178
+134 1.330000 -0.927995 -0.676741
+135 1.340000 -0.921082 -0.705840
+136 1.350000 -0.913880 -0.734455
+137 1.360000 -0.906394 -0.762567
+138 1.370000 -0.898630 -0.790157
+139 1.380000 -0.890593 -0.817204
+140 1.390000 -0.882288 -0.843692
+141 1.400000 -0.873721 -0.869602
+142 1.410000 -0.864898 -0.894915
+143 1.420000 -0.855825 -0.919615
+144 1.430000 -0.846508 -0.943685
+145 1.440000 -0.836953 -0.967108
+146 1.450000 -0.827168 -0.989869
+147 1.460000 -0.817158 -1.011951
+148 1.470000 -0.806931 -1.033339
+149 1.480000 -0.796494 -1.054019
+150 1.490000 -0.785853 -1.073977
+151 1.500000 -0.775017 -1.093199
+152 1.510000 -0.763992 -1.111672
+153 1.520000 -0.752786 -1.129382
+154 1.530000 -0.741407 -1.146319
+155 1.540000 -0.729862 -1.162470
+156 1.550000 -0.718160 -1.177825
+157 1.560000 -0.706308 -1.192372
+158 1.570000 -0.694315 -1.206102
+159 1.580000 -0.682189 -1.219005
+160 1.590000 -0.669938 -1.231073
+161 1.600000 -0.657570 -1.242297
+162 1.610000 -0.645095 -1.252670
+163 1.620000 -0.632520 -1.262184
+164 1.630000 -0.619854 -1.270833
+165 1.640000 -0.607106 -1.278611
+166 1.650000 -0.594285 -1.285513
+167 1.660000 -0.581399 -1.291534
+168 1.670000 -0.568457 -1.296670
+169 1.680000 -0.555468 -1.300917
+170 1.690000 -0.542442 -1.304273
+171 1.700000 -0.529386 -1.306734
+172 1.710000 -0.516310 -1.308300
+173 1.720000 -0.503223 -1.308970
+174 1.730000 -0.490133 -1.308742
+175 1.740000 -0.477051 -1.307617
+176 1.750000 -0.463984 -1.305597
+177 1.760000 -0.450942 -1.302681
+178 1.770000 -0.437933 -1.298873
+179 1.780000 -0.424968 -1.294174
+180 1.790000 -0.412053 -1.288588
+181 1.800000 -0.399199 -1.282120
+182 1.810000 -0.386413 -1.274772
+183 1.820000 -0.373706 -1.266551
+184 1.830000 -0.361085 -1.257462
+185 1.840000 -0.348560 -1.247511
+186 1.850000 -0.336138 -1.236706
+187 1.860000 -0.323828 -1.225052
+188 1.870000 -0.311640 -1.212559
+189 1.880000 -0.299580 -1.199235
+190 1.890000 -0.287658 -1.185089
+191 1.900000 -0.275881 -1.170131
+192 1.910000 -0.264258 -1.154371
+193 1.920000 -0.252796 -1.137820
+194 1.930000 -0.241504 -1.120489
+195 1.940000 -0.230389 -1.102390
+196 1.950000 -0.219459 -1.083535
+197 1.960000 -0.208721 -1.063938
+198 1.970000 -0.198182 -1.043612
+199 1.980000 -0.187851 -1.022570
+200 1.990000 -0.177733 -1.000828
+201 2.000000 -0.167837 -0.978400
+202 2.010000 -0.158168 -0.955301
+203 2.020000 -0.148733 -0.931547
+204 2.030000 -0.139539 -0.907155
+205 2.040000 -0.130592 -0.882142
+206 2.050000 -0.121898 -0.856524
+207 2.060000 -0.113463 -0.830318
+208 2.070000 -0.105293 -0.803544
+209 2.080000 -0.097394 -0.776219
+210 2.090000 -0.089771 -0.748362
+211 2.100000 -0.082429 -0.719992
+212 2.110000 -0.075373 -0.691129
+213 2.120000 -0.068608 -0.661792
+214 2.130000 -0.062138 -0.632001
+215 2.140000 -0.055969 -0.601777
+216 2.150000 -0.050104 -0.571141
+217 2.160000 -0.044548 -0.540114
+218 2.170000 -0.039303 -0.508716
+219 2.180000 -0.034374 -0.476970
+220 2.190000 -0.029765 -0.444896
+221 2.200000 -0.025478 -0.412518
+222 2.210000 -0.021515 -0.379857
+223 2.220000 -0.017881 -0.346936
+224 2.230000 -0.014577 -0.313777
+225 2.240000 -0.011606 -0.280403
+226 2.250000 -0.008970 -0.246837
+227 2.260000 -0.006670 -0.213101
+228 2.270000 -0.004709 -0.179220
+229 2.280000 -0.003086 -0.145216
+230 2.290000 -0.001805 -0.111112
+231 2.300000 -0.000864 -0.076932
+232 2.310000 -0.000266 -0.042699
+233 2.320000 -0.000010 -0.008437
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.3
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999917 -0.022010
+115 1.140000 -0.999551 -0.051196
+116 1.150000 -0.998893 -0.080352
+117 1.160000 -0.997944 -0.109461
+118 1.170000 -0.996704 -0.138506
+119 1.180000 -0.995174 -0.167470
+120 1.190000 -0.993355 -0.196337
+121 1.200000 -0.991248 -0.225088
+122 1.210000 -0.988854 -0.253709
+123 1.220000 -0.986174 -0.282181
+124 1.230000 -0.983211 -0.310488
+125 1.240000 -0.979965 -0.338614
+126 1.250000 -0.976439 -0.366543
+127 1.260000 -0.972635 -0.394257
+128 1.270000 -0.968555 -0.421741
+129 1.280000 -0.964201 -0.448979
+130 1.290000 -0.959576 -0.475955
+131 1.300000 -0.954683 -0.502652
+132 1.310000 -0.949524 -0.529056
+133 1.320000 -0.944103 -0.555152
+134 1.330000 -0.938422 -0.580923
+135 1.340000 -0.932485 -0.606354
+136 1.350000 -0.926296 -0.631432
+137 1.360000 -0.919858 -0.656141
+138 1.370000 -0.913175 -0.680467
+139 1.380000 -0.906250 -0.704395
+140 1.390000 -0.899088 -0.727912
+141 1.400000 -0.891693 -0.751004
+142 1.410000 -0.884069 -0.773657
+143 1.420000 -0.876221 -0.795859
+144 1.430000 -0.868154 -0.817596
+145 1.440000 -0.859871 -0.838855
+146 1.450000 -0.851378 -0.859625
+147 1.460000 -0.842680 -0.879892
+148 1.470000 -0.833782 -0.899646
+149 1.480000 -0.824689 -0.918874
+150 1.490000 -0.815407 -0.937566
+151 1.500000 -0.805940 -0.955710
+152 1.510000 -0.796294 -0.973296
+153 1.520000 -0.786476 -0.990314
+154 1.530000 -0.776490 -1.006753
+155 1.540000 -0.766343 -1.022605
+156 1.550000 -0.756040 -1.037859
+157 1.560000 -0.745587 -1.052507
+158 1.570000 -0.734992 -1.066541
+159 1.580000 -0.724259 -1.079952
+160 1.590000 -0.713395 -1.092732
+161 1.600000 -0.702406 -1.104874
+162 1.610000 -0.691299 -1.116371
+163 1.620000 -0.680081 -1.127215
+164 1.630000 -0.668757 -1.137402
+165 1.640000 -0.657335 -1.146924
+166 1.650000 -0.645821 -1.155777
+167 1.660000 -0.634222 -1.163955
+168 1.670000 -0.622544 -1.171452
+169 1.680000 -0.610795 -1.178266
+170 1.690000 -0.598981 -1.184392
+171 1.700000 -0.587109 -1.189826
+172 1.710000 -0.575187 -1.194565
+173 1.720000 -0.563220 -1.198607
+174 1.730000 -0.551217 -1.201949
+175 1.740000 -0.539184 -1.204589
+176 1.750000 -0.527128 -1.206525
+177 1.760000 -0.515056 -1.207757
+178 1.770000 -0.502975 -1.208283
+179 1.780000 -0.490892 -1.208104
+180 1.790000 -0.478815 -1.207220
+181 1.800000 -0.466750 -1.205630
+182 1.810000 -0.454705 -1.203337
+183 1.820000 -0.442686 -1.200340
+184 1.830000 -0.430700 -1.196643
+185 1.840000 -0.418755 -1.192247
+186 1.850000 -0.406858 -1.187155
+187 1.860000 -0.395015 -1.181369
+188 1.870000 -0.383233 -1.174893
+189 1.880000 -0.371519 -1.167732
+190 1.890000 -0.359880 -1.159888
+191 1.900000 -0.348324 -1.151367
+192 1.910000 -0.336855 -1.142174
+193 1.920000 -0.325482 -1.132314
+194 1.930000 -0.314211 -1.121793
+195 1.940000 -0.303049 -1.110616
+196 1.950000 -0.292001 -1.098791
+197 1.960000 -0.281075 -1.086324
+198 1.970000 -0.270277 -1.073223
+199 1.980000 -0.259613 -1.059495
+200 1.990000 -0.249089 -1.045148
+201 2.000000 -0.238712 -1.030191
+202 2.010000 -0.228487 -1.014633
+203 2.020000 -0.218421 -0.998482
+204 2.030000 -0.208519 -0.981748
+205 2.040000 -0.198788 -0.964440
+206 2.050000 -0.189232 -0.946569
+207 2.060000 -0.179858 -0.928146
+208 2.070000 -0.170671 -0.909180
+209 2.080000 -0.161677 -0.889684
+210 2.090000 -0.152879 -0.869668
+211 2.100000 -0.144285 -0.849144
+212 2.110000 -0.135898 -0.828125
+213 2.120000 -0.127724 -0.806621
+214 2.130000 -0.119767 -0.784647
+215 2.140000 -0.112033 -0.762214
+216 2.150000 -0.104524 -0.739337
+217 2.160000 -0.097247 -0.716027
+218 2.170000 -0.090205 -0.692300
+219 2.180000 -0.083403 -0.668168
+220 2.190000 -0.076843 -0.643646
+221 2.200000 -0.070531 -0.618748
+222 2.210000 -0.064469 -0.593489
+223 2.220000 -0.058662 -0.567883
+224 2.230000 -0.053113 -0.541946
+225 2.240000 -0.047824 -0.515692
+226 2.250000 -0.042800 -0.489137
+227 2.260000 -0.038043 -0.462296
+228 2.270000 -0.033555 -0.435185
+229 2.280000 -0.029340 -0.407820
+230 2.290000 -0.025399 -0.380217
+231 2.300000 -0.021736 -0.352392
+232 2.310000 -0.018352 -0.324362
+233 2.320000 -0.015250 -0.296141
+234 2.330000 -0.012430 -0.267748
+235 2.340000 -0.009895 -0.239199
+236 2.350000 -0.007647 -0.210510
+237 2.360000 -0.005685 -0.181697
+238 2.370000 -0.004013 -0.152779
+239 2.380000 -0.002630 -0.123772
+240 2.390000 -0.001538 -0.094692
+241 2.400000 -0.000736 -0.065557
+242 2.410000 -0.000227 -0.036384
+243 2.420000 -0.000009 -0.007189
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.4
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999928 -0.018978
+115 1.140000 -0.999613 -0.044145
+116 1.150000 -0.999046 -0.069290
+117 1.160000 -0.998227 -0.094400
+118 1.170000 -0.997158 -0.119462
+119 1.180000 -0.995838 -0.144464
+120 1.190000 -0.994269 -0.169394
+121 1.200000 -0.992451 -0.194238
+122 1.210000 -0.990384 -0.218985
+123 1.220000 -0.988071 -0.243621
+124 1.230000 -0.985512 -0.268134
+125 1.240000 -0.982709 -0.292513
+126 1.250000 -0.979663 -0.316744
+127 1.260000 -0.976375 -0.340816
+128 1.270000 -0.972847 -0.364716
+129 1.280000 -0.969081 -0.388432
+130 1.290000 -0.965079 -0.411953
+131 1.300000 -0.960843 -0.435266
+132 1.310000 -0.956374 -0.458361
+133 1.320000 -0.951676 -0.481224
+134 1.330000 -0.946751 -0.503845
+135 1.340000 -0.941600 -0.526213
+136 1.350000 -0.936227 -0.548315
+137 1.360000 -0.930635 -0.570142
+138 1.370000 -0.924825 -0.591681
+139 1.380000 -0.918802 -0.612922
+140 1.390000 -0.912568 -0.633855
+141 1.400000 -0.906126 -0.654469
+142 1.410000 -0.899480 -0.674753
+143 1.420000 -0.892632 -0.694697
+144 1.430000 -0.885587 -0.714291
+145 1.440000 -0.878347 -0.733526
+146 1.450000 -0.870918 -0.752392
+147 1.460000 -0.863301 -0.770878
+148 1.470000 -0.855501 -0.788977
+149 1.480000 -0.847523 -0.806678
+150 1.490000 -0.839369 -0.823973
+151 1.500000 -0.831045 -0.840853
+152 1.510000 -0.822553 -0.857310
+153 1.520000 -0.813900 -0.873335
+154 1.530000 -0.805088 -0.888920
+155 1.540000 -0.796123 -0.904058
+156 1.550000 -0.787009 -0.918740
+157 1.560000 -0.777750 -0.932960
+158 1.570000 -0.768351 -0.946710
+159 1.580000 -0.758817 -0.959983
+160 1.590000 -0.749153 -0.972773
+161 1.600000 -0.739363 -0.985073
+162 1.610000 -0.729453 -0.996878
+163 1.620000 -0.719427 -1.008180
+164 1.630000 -0.709291 -1.018974
+165 1.640000 -0.699050 -1.029256
+166 1.650000 -0.688708 -1.039019
+167 1.660000 -0.678271 -1.048259
+168 1.670000 -0.667744 -1.056971
+169 1.680000 -0.657133 -1.065151
+170 1.690000 -0.646443 -1.072795
+171 1.700000 -0.635679 -1.079898
+172 1.710000 -0.624847 -1.086458
+173 1.720000 -0.613952 -1.092471
+174 1.730000 -0.602999 -1.097933
+175 1.740000 -0.591995 -1.102843
+176 1.750000 -0.580944 -1.107197
+177 1.760000 -0.569853 -1.110994
+178 1.770000 -0.558726 -1.114231
+179 1.780000 -0.547570 -1.116908
+180 1.790000 -0.536390 -1.119022
+181 1.800000 -0.525192 -1.120572
+182 1.810000 -0.513981 -1.121559
+183 1.820000 -0.502762 -1.121980
+184 1.830000 -0.491543 -1.121837
+185 1.840000 -0.480328 -1.121129
+186 1.850000 -0.469122 -1.119856
+187 1.860000 -0.457932 -1.118019
+188 1.870000 -0.446764 -1.115620
+189 1.880000 -0.435622 -1.112658
+190 1.890000 -0.424512 -1.109137
+191 1.900000 -0.413441 -1.105056
+192 1.910000 -0.402413 -1.100420
+193 1.920000 -0.391434 -1.095229
+194 1.930000 -0.380510 -1.089487
+195 1.940000 -0.369646 -1.083196
+196 1.950000 -0.358848 -1.076360
+197 1.960000 -0.348121 -1.068982
+198 1.970000 -0.337470 -1.061066
+199 1.980000 -0.326902 -1.052615
+200 1.990000 -0.316420 -1.043634
+201 2.000000 -0.306031 -1.034128
+202 2.010000 -0.295739 -1.024101
+203 2.020000 -0.285550 -1.013559
+204 2.030000 -0.275470 -1.002506
+205 2.040000 -0.265502 -0.990948
+206 2.050000 -0.255652 -0.978892
+207 2.060000 -0.245926 -0.966342
+208 2.070000 -0.236327 -0.953306
+209 2.080000 -0.226861 -0.939790
+210 2.090000 -0.217533 -0.925800
+211 2.100000 -0.208347 -0.911345
+212 2.110000 -0.199307 -0.896430
+213 2.120000 -0.190420 -0.881064
+214 2.130000 -0.181688 -0.865255
+215 2.140000 -0.173116 -0.849010
+216 2.150000 -0.164709 -0.832337
+217 2.160000 -0.156471 -0.815245
+218 2.170000 -0.148405 -0.797743
+219 2.180000 -0.140517 -0.779839
+220 2.190000 -0.132810 -0.761542
+221 2.200000 -0.125288 -0.742862
+222 2.210000 -0.117954 -0.723808
+223 2.220000 -0.110813 -0.704390
+224 2.230000 -0.103867 -0.684616
+225 2.240000 -0.097121 -0.664498
+226 2.250000 -0.090578 -0.644046
+227 2.260000 -0.084242 -0.623269
+228 2.270000 -0.078114 -0.602178
+229 2.280000 -0.072199 -0.580784
+230 2.290000 -0.066499 -0.559098
+231 2.300000 -0.061018 -0.537130
+232 2.310000 -0.055758 -0.514892
+233 2.320000 -0.050721 -0.492394
+234 2.330000 -0.045911 -0.469648
+235 2.340000 -0.041329 -0.446666
+236 2.350000 -0.036978 -0.423459
+237 2.360000 -0.032860 -0.400039
+238 2.370000 -0.028978 -0.376418
+239 2.380000 -0.025333 -0.352606
+240 2.390000 -0.021926 -0.328618
+241 2.400000 -0.018761 -0.304464
+242 2.410000 -0.015838 -0.280156
+243 2.420000 -0.013158 -0.255707
+244 2.430000 -0.010724 -0.231130
+245 2.440000 -0.008536 -0.206436
+246 2.450000 -0.006596 -0.181639
+247 2.460000 -0.004903 -0.156750
+248 2.470000 -0.003461 -0.131782
+249 2.480000 -0.002268 -0.106747
+250 2.490000 -0.001326 -0.081659
+251 2.500000 -0.000635 -0.056530
+252 2.510000 -0.000195 -0.031372
+253 2.520000 -0.000008 -0.006199
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.5
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999938 -0.016532
+115 1.140000 -0.999663 -0.038456
+116 1.150000 -0.999169 -0.060364
+117 1.160000 -0.998456 -0.082245
+118 1.170000 -0.997524 -0.104090
+119 1.180000 -0.996374 -0.125890
+120 1.190000 -0.995006 -0.147634
+121 1.200000 -0.993421 -0.169313
+122 1.210000 -0.991620 -0.190918
+123 1.220000 -0.989603 -0.212440
+124 1.230000 -0.987372 -0.233868
+125 1.240000 -0.984926 -0.255194
+126 1.250000 -0.982268 -0.276407
+127 1.260000 -0.979399 -0.297500
+128 1.270000 -0.976319 -0.318462
+129 1.280000 -0.973030 -0.339284
+130 1.290000 -0.969533 -0.359958
+131 1.300000 -0.965831 -0.380473
+132 1.310000 -0.961925 -0.400822
+133 1.320000 -0.957815 -0.420995
+134 1.330000 -0.953505 -0.440983
+135 1.340000 -0.948996 -0.460778
+136 1.350000 -0.944290 -0.480371
+137 1.360000 -0.939390 -0.499753
+138 1.370000 -0.934296 -0.518915
+139 1.380000 -0.929012 -0.537851
+140 1.390000 -0.923540 -0.556550
+141 1.400000 -0.917882 -0.575005
+142 1.410000 -0.912041 -0.593208
+143 1.420000 -0.906019 -0.611151
+144 1.430000 -0.899818 -0.628825
+145 1.440000 -0.893443 -0.646224
+146 1.450000 -0.886895 -0.663339
+147 1.460000 -0.880177 -0.680164
+148 1.470000 -0.873293 -0.696690
+149 1.480000 -0.866244 -0.712910
+150 1.490000 -0.859035 -0.728818
+151 1.500000 -0.851669 -0.744406
+152 1.510000 -0.844148 -0.759668
+153 1.520000 -0.836477 -0.774596
+154 1.530000 -0.828658 -0.789184
+155 1.540000 -0.820694 -0.803427
+156 1.550000 -0.812590 -0.817317
+157 1.560000 -0.804349 -0.830848
+158 1.570000 -0.795975 -0.844015
+159 1.580000 -0.787470 -0.856812
+160 1.590000 -0.778840 -0.869233
+161 1.600000 -0.770087 -0.881273
+162 1.610000 -0.761215 -0.892926
+163 1.620000 -0.752229 -0.904188
+164 1.630000 -0.743133 -0.915053
+165 1.640000 -0.733930 -0.925516
+166 1.650000 -0.724624 -0.935574
+167 1.660000 -0.715220 -0.945221
+168 1.670000 -0.705721 -0.954454
+169 1.680000 -0.696132 -0.963267
+170 1.690000 -0.686457 -0.971659
+171 1.700000 -0.676700 -0.979624
+172 1.710000 -0.666866 -0.987160
+173 1.720000 -0.656958 -0.994262
+174 1.730000 -0.646982 -1.000929
+175 1.740000 -0.636941 -1.007156
+176 1.750000 -0.626841 -1.012942
+177 1.760000 -0.616684 -1.018283
+178 1.770000 -0.606476 -1.023177
+179 1.780000 -0.596222 -1.027623
+180 1.790000 -0.585925 -1.031618
+181 1.800000 -0.575591 -1.035161
+182 1.810000 -0.565224 -1.038249
+183 1.820000 -0.554828 -1.040883
+184 1.830000 -0.544408 -1.043059
+185 1.840000 -0.533968 -1.044778
+186 1.850000 -0.523514 -1.046039
+187 1.860000 -0.513049 -1.046841
+188 1.870000 -0.502578 -1.047184
+189 1.880000 -0.492107 -1.047067
+190 1.890000 -0.481638 -1.046491
+191 1.900000 -0.471178 -1.045456
+192 1.910000 -0.460731 -1.043963
+193 1.920000 -0.450301 -1.042011
+194 1.930000 -0.439892 -1.039603
+195 1.940000 -0.429510 -1.036739
+196 1.950000 -0.419159 -1.033419
+197 1.960000 -0.408843 -1.029647
+198 1.970000 -0.398567 -1.025423
+199 1.980000 -0.388336 -1.020749
+200 1.990000 -0.378154 -1.015627
+201 2.000000 -0.368025 -1.010060
+202 2.010000 -0.357954 -1.004050
+203 2.020000 -0.347946 -0.997599
+204 2.030000 -0.338004 -0.990711
+205 2.040000 -0.328133 -0.983389
+206 2.050000 -0.318337 -0.975635
+207 2.060000 -0.308622 -0.967453
+208 2.070000 -0.298990 -0.958846
+209 2.080000 -0.289446 -0.949819
+210 2.090000 -0.279995 -0.940376
+211 2.100000 -0.270640 -0.930520
+212 2.110000 -0.261386 -0.920255
+213 2.120000 -0.252236 -0.909588
+214 2.130000 -0.243195 -0.898521
+215 2.140000 -0.234267 -0.887060
+216 2.150000 -0.225455 -0.875210
+217 2.160000 -0.216764 -0.862976
+218 2.170000 -0.208197 -0.850363
+219 2.180000 -0.199758 -0.837378
+220 2.190000 -0.191451 -0.824025
+221 2.200000 -0.183279 -0.810311
+222 2.210000 -0.175246 -0.796241
+223 2.220000 -0.167355 -0.781822
+224 2.230000 -0.159610 -0.767060
+225 2.240000 -0.152015 -0.751962
+226 2.250000 -0.144572 -0.736534
+227 2.260000 -0.137285 -0.720783
+228 2.270000 -0.130158 -0.704715
+229 2.280000 -0.123192 -0.688339
+230 2.290000 -0.116392 -0.671661
+231 2.300000 -0.109760 -0.654688
+232 2.310000 -0.103299 -0.637427
+233 2.320000 -0.097012 -0.619888
+234 2.330000 -0.090902 -0.602076
+235 2.340000 -0.084972 -0.584000
+236 2.350000 -0.079223 -0.565668
+237 2.360000 -0.073659 -0.547088
+238 2.370000 -0.068282 -0.528268
+239 2.380000 -0.063095 -0.509216
+240 2.390000 -0.058099 -0.489941
+241 2.400000 -0.053296 -0.470451
+242 2.410000 -0.048690 -0.450755
+243 2.420000 -0.044282 -0.430861
+244 2.430000 -0.040074 -0.410778
+245 2.440000 -0.036067 -0.390515
+246 2.450000 -0.032264 -0.370080
+247 2.460000 -0.028666 -0.349483
+248 2.470000 -0.025275 -0.328733
+249 2.480000 -0.022092 -0.307839
+250 2.490000 -0.019118 -0.286809
+251 2.500000 -0.016356 -0.265654
+252 2.510000 -0.013806 -0.244382
+253 2.520000 -0.011469 -0.223004
+254 2.530000 -0.009346 -0.201527
+255 2.540000 -0.007439 -0.179962
+256 2.550000 -0.005747 -0.158318
+257 2.560000 -0.004272 -0.136604
+258 2.570000 -0.003015 -0.114831
+259 2.580000 -0.001976 -0.093007
+260 2.590000 -0.001155 -0.071142
+261 2.600000 -0.000553 -0.049247
+262 2.610000 -0.000170 -0.027329
+263 2.620000 -0.000007 -0.005400
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.6
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999945 -0.014530
+115 1.140000 -0.999704 -0.033800
+116 1.150000 -0.999269 -0.053058
+117 1.160000 -0.998642 -0.072295
+118 1.170000 -0.997823 -0.091504
+119 1.180000 -0.996813 -0.110678
+120 1.190000 -0.995610 -0.129809
+121 1.200000 -0.994217 -0.148890
+122 1.210000 -0.992632 -0.167914
+123 1.220000 -0.990858 -0.186872
+124 1.230000 -0.988895 -0.205759
+125 1.240000 -0.986744 -0.224567
+126 1.250000 -0.984404 -0.243288
+127 1.260000 -0.981878 -0.261915
+128 1.270000 -0.979166 -0.280441
+129 1.280000 -0.976270 -0.298859
+130 1.290000 -0.973189 -0.317162
+131 1.300000 -0.969927 -0.335343
+132 1.310000 -0.966483 -0.353394
+133 1.320000 -0.962859 -0.371309
+134 1.330000 -0.959057 -0.389081
+135 1.340000 -0.955078 -0.406703
+136 1.350000 -0.950924 -0.424169
+137 1.360000 -0.946595 -0.441470
+138 1.370000 -0.942095 -0.458602
+139 1.380000 -0.937424 -0.475556
+140 1.390000 -0.932584 -0.492328
+141 1.400000 -0.927578 -0.508909
+142 1.410000 -0.922407 -0.525294
+143 1.420000 -0.917073 -0.541477
+144 1.430000 -0.911578 -0.557451
+145 1.440000 -0.905925 -0.573211
+146 1.450000 -0.900115 -0.588749
+147 1.460000 -0.894150 -0.604060
+148 1.470000 -0.888034 -0.619138
+149 1.480000 -0.881768 -0.633978
+150 1.490000 -0.875355 -0.648573
+151 1.500000 -0.868798 -0.662918
+152 1.510000 -0.862098 -0.677008
+153 1.520000 -0.855258 -0.690836
+154 1.530000 -0.848282 -0.704399
+155 1.540000 -0.841171 -0.717689
+156 1.550000 -0.833929 -0.730703
+157 1.560000 -0.826558 -0.743436
+158 1.570000 -0.819061 -0.755882
+159 1.580000 -0.811442 -0.768036
+160 1.590000 -0.803702 -0.779894
+161 1.600000 -0.795845 -0.791452
+162 1.610000 -0.787874 -0.802704
+163 1.620000 -0.779792 -0.813647
+164 1.630000 -0.771602 -0.824276
+165 1.640000 -0.763307 -0.834588
+166 1.650000 -0.754911 -0.844578
+167 1.660000 -0.746417 -0.854242
+168 1.670000 -0.737827 -0.863577
+169 1.680000 -0.729146 -0.872579
+170 1.690000 -0.720377 -0.881244
+171 1.700000 -0.711522 -0.889570
+172 1.710000 -0.702587 -0.897553
+173 1.720000 -0.693573 -0.905190
+174 1.730000 -0.684484 -0.912478
+175 1.740000 -0.675324 -0.919414
+176 1.750000 -0.666097 -0.925995
+177 1.760000 -0.656805 -0.932220
+178 1.770000 -0.647454 -0.938085
+179 1.780000 -0.638045 -0.943589
+180 1.790000 -0.628583 -0.948729
+181 1.800000 -0.619072 -0.953503
+182 1.810000 -0.609514 -0.957909
+183 1.820000 -0.599915 -0.961947
+184 1.830000 -0.590277 -0.965613
+185 1.840000 -0.580604 -0.968907
+186 1.850000 -0.570900 -0.971828
+187 1.860000 -0.561168 -0.974373
+188 1.870000 -0.551413 -0.976544
+189 1.880000 -0.541639 -0.978338
+190 1.890000 -0.531848 -0.979754
+191 1.900000 -0.522045 -0.980793
+192 1.910000 -0.512233 -0.981454
+193 1.920000 -0.502417 -0.981736
+194 1.930000 -0.492600 -0.981640
+195 1.940000 -0.482786 -0.981166
+196 1.950000 -0.472978 -0.980313
+197 1.960000 -0.463181 -0.979082
+198 1.970000 -0.453397 -0.977474
+199 1.980000 -0.443632 -0.975489
+200 1.990000 -0.433889 -0.973128
+201 2.000000 -0.424171 -0.970392
+202 2.010000 -0.414482 -0.967282
+203 2.020000 -0.404827 -0.963798
+204 2.030000 -0.395208 -0.959944
+205 2.040000 -0.385629 -0.955719
+206 2.050000 -0.376094 -0.951125
+207 2.060000 -0.366608 -0.946165
+208 2.070000 -0.357172 -0.940841
+209 2.080000 -0.347792 -0.935153
+210 2.090000 -0.338471 -0.929105
+211 2.100000 -0.329211 -0.922699
+212 2.110000 -0.320018 -0.915937
+213 2.120000 -0.310894 -0.908822
+214 2.130000 -0.301842 -0.901357
+215 2.140000 -0.292868 -0.893544
+216 2.150000 -0.283973 -0.885387
+217 2.160000 -0.275161 -0.876888
+218 2.170000 -0.266436 -0.868051
+219 2.180000 -0.257801 -0.858880
+220 2.190000 -0.249260 -0.849377
+221 2.200000 -0.240815 -0.839548
+222 2.210000 -0.232470 -0.829394
+223 2.220000 -0.224228 -0.818921
+224 2.230000 -0.216092 -0.808132
+225 2.240000 -0.208066 -0.797031
+226 2.250000 -0.200153 -0.785623
+227 2.260000 -0.192355 -0.773912
+228 2.270000 -0.184676 -0.761903
+229 2.280000 -0.177118 -0.749600
+230 2.290000 -0.169684 -0.737009
+231 2.300000 -0.162379 -0.724133
+232 2.310000 -0.155203 -0.710977
+233 2.320000 -0.148160 -0.697548
+234 2.330000 -0.141253 -0.683850
+235 2.340000 -0.134484 -0.669888
+236 2.350000 -0.127856 -0.655668
+237 2.360000 -0.121371 -0.641196
+238 2.370000 -0.115033 -0.626476
+239 2.380000 -0.108843 -0.611514
+240 2.390000 -0.102803 -0.596317
+241 2.400000 -0.096917 -0.580890
+242 2.410000 -0.091186 -0.565239
+243 2.420000 -0.085613 -0.549370
+244 2.430000 -0.080199 -0.533289
+245 2.440000 -0.074948 -0.517002
+246 2.450000 -0.069860 -0.500517
+247 2.460000 -0.064938 -0.483838
+248 2.470000 -0.060184 -0.466973
+249 2.480000 -0.055599 -0.449928
+250 2.490000 -0.051186 -0.432709
+251 2.500000 -0.046946 -0.415323
+252 2.510000 -0.042880 -0.397778
+253 2.520000 -0.038991 -0.380079
+254 2.530000 -0.035279 -0.362233
+255 2.540000 -0.031746 -0.344248
+256 2.550000 -0.028394 -0.326130
+257 2.560000 -0.025224 -0.307887
+258 2.570000 -0.022237 -0.289525
+259 2.580000 -0.019434 -0.271051
+260 2.590000 -0.016816 -0.252472
+261 2.600000 -0.014385 -0.233797
+262 2.610000 -0.012141 -0.215031
+263 2.620000 -0.010085 -0.196182
+264 2.630000 -0.008217 -0.177258
+265 2.640000 -0.006540 -0.158265
+266 2.650000 -0.005052 -0.139211
+267 2.660000 -0.003756 -0.120104
+268 2.670000 -0.002650 -0.100950
+269 2.680000 -0.001737 -0.081757
+270 2.690000 -0.001015 -0.062533
+271 2.700000 -0.000486 -0.043285
+272 2.710000 -0.000150 -0.024020
+273 2.720000 -0.000006 -0.004746
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.7
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999951 -0.012871
+115 1.140000 -0.999737 -0.029942
+116 1.150000 -0.999353 -0.047002
+117 1.160000 -0.998797 -0.064046
+118 1.170000 -0.998072 -0.081069
+119 1.180000 -0.997176 -0.098064
+120 1.190000 -0.996111 -0.115025
+121 1.200000 -0.994876 -0.131947
+122 1.210000 -0.993472 -0.148824
+123 1.220000 -0.991899 -0.165650
+124 1.230000 -0.990159 -0.182419
+125 1.240000 -0.988251 -0.199127
+126 1.250000 -0.986177 -0.215766
+127 1.260000 -0.983936 -0.232332
+128 1.270000 -0.981530 -0.248818
+129 1.280000 -0.978960 -0.265219
+130 1.290000 -0.976226 -0.281530
+131 1.300000 -0.973330 -0.297744
+132 1.310000 -0.970272 -0.313857
+133 1.320000 -0.967053 -0.329863
+134 1.330000 -0.963675 -0.345756
+135 1.340000 -0.960138 -0.361531
+136 1.350000 -0.956445 -0.377182
+137 1.360000 -0.952595 -0.392705
+138 1.370000 -0.948591 -0.408094
+139 1.380000 -0.944434 -0.423343
+140 1.390000 -0.940125 -0.438448
+141 1.400000 -0.935665 -0.453403
+142 1.410000 -0.931057 -0.468203
+143 1.420000 -0.926302 -0.482843
+144 1.430000 -0.921401 -0.497318
+145 1.440000 -0.916356 -0.511624
+146 1.450000 -0.911169 -0.525754
+147 1.460000 -0.905841 -0.539706
+148 1.470000 -0.900375 -0.553472
+149 1.480000 -0.894773 -0.567050
+150 1.490000 -0.889035 -0.580435
+151 1.500000 -0.883165 -0.593621
+152 1.510000 -0.877163 -0.606604
+153 1.520000 -0.871033 -0.619380
+154 1.530000 -0.864776 -0.631945
+155 1.540000 -0.858395 -0.644294
+156 1.550000 -0.851891 -0.656422
+157 1.560000 -0.845267 -0.668327
+158 1.570000 -0.838526 -0.680003
+159 1.580000 -0.831668 -0.691448
+160 1.590000 -0.824697 -0.702656
+161 1.600000 -0.817616 -0.713624
+162 1.610000 -0.810426 -0.724348
+163 1.620000 -0.803130 -0.734825
+164 1.630000 -0.795730 -0.745051
+165 1.640000 -0.788229 -0.755023
+166 1.650000 -0.780630 -0.764737
+167 1.660000 -0.772936 -0.774189
+168 1.670000 -0.765148 -0.783378
+169 1.680000 -0.757269 -0.792298
+170 1.690000 -0.749302 -0.800948
+171 1.700000 -0.741251 -0.809325
+172 1.710000 -0.733117 -0.817425
+173 1.720000 -0.724903 -0.825246
+174 1.730000 -0.716613 -0.832786
+175 1.740000 -0.708249 -0.840041
+176 1.750000 -0.699813 -0.847009
+177 1.760000 -0.691309 -0.853687
+178 1.770000 -0.682740 -0.860075
+179 1.780000 -0.674109 -0.866168
+180 1.790000 -0.665418 -0.871966
+181 1.800000 -0.656670 -0.877466
+182 1.810000 -0.647870 -0.882666
+183 1.820000 -0.639018 -0.887565
+184 1.830000 -0.630119 -0.892161
+185 1.840000 -0.621176 -0.896452
+186 1.850000 -0.612191 -0.900437
+187 1.860000 -0.603168 -0.904114
+188 1.870000 -0.594110 -0.907483
+189 1.880000 -0.585020 -0.910542
+190 1.890000 -0.575900 -0.913290
+191 1.900000 -0.566755 -0.915726
+192 1.910000 -0.557587 -0.917849
+193 1.920000 -0.548399 -0.919659
+194 1.930000 -0.539195 -0.921155
+195 1.940000 -0.529977 -0.922336
+196 1.950000 -0.520749 -0.923202
+197 1.960000 -0.511514 -0.923753
+198 1.970000 -0.502275 -0.923988
+199 1.980000 -0.493035 -0.923908
+200 1.990000 -0.483798 -0.923513
+201 2.000000 -0.474566 -0.922802
+202 2.010000 -0.465343 -0.921776
+203 2.020000 -0.456132 -0.920435
+204 2.030000 -0.446935 -0.918779
+205 2.040000 -0.437757 -0.916810
+206 2.050000 -0.428600 -0.914528
+207 2.060000 -0.419467 -0.911934
+208 2.070000 -0.410362 -0.909028
+209 2.080000 -0.401288 -0.905812
+210 2.090000 -0.392247 -0.902286
+211 2.100000 -0.383243 -0.898453
+212 2.110000 -0.374279 -0.894312
+213 2.120000 -0.365358 -0.889866
+214 2.130000 -0.356483 -0.885116
+215 2.140000 -0.347657 -0.880064
+216 2.150000 -0.338883 -0.874712
+217 2.160000 -0.330163 -0.869060
+218 2.170000 -0.321502 -0.863112
+219 2.180000 -0.312902 -0.856869
+220 2.190000 -0.304366 -0.850334
+221 2.200000 -0.295896 -0.843508
+222 2.210000 -0.287497 -0.836394
+223 2.220000 -0.279170 -0.828994
+224 2.230000 -0.270918 -0.821312
+225 2.240000 -0.262744 -0.813348
+226 2.250000 -0.254652 -0.805108
+227 2.260000 -0.246643 -0.796592
+228 2.270000 -0.238721 -0.787804
+229 2.280000 -0.230888 -0.778747
+230 2.290000 -0.223147 -0.769424
+231 2.300000 -0.215500 -0.759838
+232 2.310000 -0.207951 -0.749993
+233 2.320000 -0.200501 -0.739892
+234 2.330000 -0.193154 -0.729538
+235 2.340000 -0.185911 -0.718935
+236 2.350000 -0.178776 -0.708087
+237 2.360000 -0.171750 -0.696996
+238 2.370000 -0.164837 -0.685668
+239 2.380000 -0.158038 -0.674105
+240 2.390000 -0.151356 -0.662313
+241 2.400000 -0.144792 -0.650294
+242 2.410000 -0.138350 -0.638053
+243 2.420000 -0.132032 -0.625594
+244 2.430000 -0.125839 -0.612921
+245 2.440000 -0.119774 -0.600039
+246 2.450000 -0.113839 -0.586953
+247 2.460000 -0.108036 -0.573665
+248 2.470000 -0.102366 -0.560182
+249 2.480000 -0.096833 -0.546508
+250 2.490000 -0.091437 -0.532647
+251 2.500000 -0.086181 -0.518604
+252 2.510000 -0.081065 -0.504384
+253 2.520000 -0.076093 -0.489991
+254 2.530000 -0.071266 -0.475432
+255 2.540000 -0.066585 -0.460710
+256 2.550000 -0.062052 -0.445831
+257 2.560000 -0.057669 -0.430799
+258 2.570000 -0.053437 -0.415620
+259 2.580000 -0.049357 -0.400300
+260 2.590000 -0.045431 -0.384842
+261 2.600000 -0.041661 -0.369254
+262 2.610000 -0.038047 -0.353539
+263 2.620000 -0.034591 -0.337703
+264 2.630000 -0.031293 -0.321752
+265 2.640000 -0.028156 -0.305692
+266 2.650000 -0.025180 -0.289526
+267 2.660000 -0.022366 -0.273262
+268 2.670000 -0.019715 -0.256905
+269 2.680000 -0.017228 -0.240460
+270 2.690000 -0.014906 -0.223933
+271 2.700000 -0.012749 -0.207329
+272 2.710000 -0.010759 -0.190654
+273 2.720000 -0.008937 -0.173915
+274 2.730000 -0.007281 -0.157116
+275 2.740000 -0.005794 -0.140263
+276 2.750000 -0.004476 -0.123363
+277 2.760000 -0.003327 -0.106420
+278 2.770000 -0.002348 -0.089441
+279 2.780000 -0.001539 -0.072431
+280 2.790000 -0.000899 -0.055397
+281 2.800000 -0.000431 -0.038344
+282 2.810000 -0.000133 -0.021278
+283 2.820000 -0.000005 -0.004204
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.8
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999957 -0.011481
+115 1.140000 -0.999766 -0.026708
+116 1.150000 -0.999423 -0.041927
+117 1.160000 -0.998927 -0.057133
+118 1.170000 -0.998280 -0.072321
+119 1.180000 -0.997481 -0.087488
+120 1.190000 -0.996530 -0.102628
+121 1.200000 -0.995428 -0.117737
+122 1.210000 -0.994176 -0.132810
+123 1.220000 -0.992772 -0.147842
+124 1.230000 -0.991219 -0.162830
+125 1.240000 -0.989516 -0.177768
+126 1.250000 -0.987664 -0.192651
+127 1.260000 -0.985663 -0.207476
+128 1.270000 -0.983515 -0.222238
+129 1.280000 -0.981219 -0.236932
+130 1.290000 -0.978776 -0.251554
+131 1.300000 -0.976188 -0.266099
+132 1.310000 -0.973454 -0.280564
+133 1.320000 -0.970577 -0.294942
+134 1.330000 -0.967556 -0.309231
+135 1.340000 -0.964393 -0.323426
+136 1.350000 -0.961088 -0.337522
+137 1.360000 -0.957642 -0.351516
+138 1.370000 -0.954058 -0.365402
+139 1.380000 -0.950335 -0.379177
+140 1.390000 -0.946475 -0.392837
+141 1.400000 -0.942478 -0.406376
+142 1.410000 -0.938347 -0.419793
+143 1.420000 -0.934083 -0.433081
+144 1.430000 -0.929686 -0.446237
+145 1.440000 -0.925159 -0.459257
+146 1.450000 -0.920502 -0.472138
+147 1.460000 -0.915716 -0.484875
+148 1.470000 -0.910805 -0.497464
+149 1.480000 -0.905768 -0.509901
+150 1.490000 -0.900607 -0.522183
+151 1.500000 -0.895325 -0.534306
+152 1.510000 -0.889922 -0.546266
+153 1.520000 -0.884400 -0.558060
+154 1.530000 -0.878761 -0.569684
+155 1.540000 -0.873007 -0.581134
+156 1.550000 -0.867139 -0.592408
+157 1.560000 -0.861159 -0.603501
+158 1.570000 -0.855069 -0.614410
+159 1.580000 -0.848872 -0.625132
+160 1.590000 -0.842567 -0.635663
+161 1.600000 -0.836159 -0.646001
+162 1.610000 -0.829648 -0.656142
+163 1.620000 -0.823037 -0.666083
+164 1.630000 -0.816327 -0.675822
+165 1.640000 -0.809521 -0.685354
+166 1.650000 -0.802621 -0.694678
+167 1.660000 -0.795628 -0.703790
+168 1.670000 -0.788546 -0.712688
+169 1.680000 -0.781375 -0.721368
+170 1.690000 -0.774119 -0.729829
+171 1.700000 -0.766779 -0.738068
+172 1.710000 -0.759358 -0.746081
+173 1.720000 -0.751858 -0.753868
+174 1.730000 -0.744282 -0.761425
+175 1.740000 -0.736631 -0.768750
+176 1.750000 -0.728908 -0.775840
+177 1.760000 -0.721115 -0.782695
+178 1.770000 -0.713254 -0.789311
+179 1.780000 -0.705329 -0.795686
+180 1.790000 -0.697341 -0.801819
+181 1.800000 -0.689294 -0.807708
+182 1.810000 -0.681188 -0.813351
+183 1.820000 -0.673027 -0.818746
+184 1.830000 -0.664814 -0.823892
+185 1.840000 -0.656550 -0.828787
+186 1.850000 -0.648239 -0.833429
+187 1.860000 -0.639883 -0.837818
+188 1.870000 -0.631484 -0.841951
+189 1.880000 -0.623045 -0.845828
+190 1.890000 -0.614568 -0.849447
+191 1.900000 -0.606056 -0.852807
+192 1.910000 -0.597513 -0.855908
+193 1.920000 -0.588939 -0.858748
+194 1.930000 -0.580339 -0.861326
+195 1.940000 -0.571714 -0.863642
+196 1.950000 -0.563067 -0.865695
+197 1.960000 -0.554401 -0.867484
+198 1.970000 -0.545718 -0.869009
+199 1.980000 -0.537021 -0.870269
+200 1.990000 -0.528313 -0.871264
+201 2.000000 -0.519597 -0.871994
+202 2.010000 -0.510874 -0.872458
+203 2.020000 -0.502149 -0.872657
+204 2.030000 -0.493422 -0.872589
+205 2.040000 -0.484698 -0.872256
+206 2.050000 -0.475978 -0.871657
+207 2.060000 -0.467265 -0.870792
+208 2.070000 -0.458563 -0.869663
+209 2.080000 -0.449873 -0.868268
+210 2.090000 -0.441198 -0.866609
+211 2.100000 -0.432542 -0.864686
+212 2.110000 -0.423906 -0.862499
+213 2.120000 -0.415293 -0.860050
+214 2.130000 -0.406705 -0.857339
+215 2.140000 -0.398147 -0.854367
+216 2.150000 -0.389619 -0.851134
+217 2.160000 -0.381125 -0.847642
+218 2.170000 -0.372667 -0.843892
+219 2.180000 -0.364248 -0.839885
+220 2.190000 -0.355870 -0.835622
+221 2.200000 -0.347536 -0.831105
+222 2.210000 -0.339249 -0.826334
+223 2.220000 -0.331010 -0.821311
+224 2.230000 -0.322824 -0.816039
+225 2.240000 -0.314691 -0.810518
+226 2.250000 -0.306614 -0.804750
+227 2.260000 -0.298596 -0.798737
+228 2.270000 -0.290640 -0.792480
+229 2.280000 -0.282748 -0.785982
+230 2.290000 -0.274921 -0.779245
+231 2.300000 -0.267163 -0.772270
+232 2.310000 -0.259477 -0.765061
+233 2.320000 -0.251863 -0.757618
+234 2.330000 -0.244325 -0.749944
+235 2.340000 -0.236865 -0.742042
+236 2.350000 -0.229485 -0.733914
+237 2.360000 -0.222187 -0.725562
+238 2.370000 -0.214974 -0.716989
+239 2.380000 -0.207848 -0.708198
+240 2.390000 -0.200811 -0.699191
+241 2.400000 -0.193865 -0.689971
+242 2.410000 -0.187012 -0.680541
+243 2.420000 -0.180255 -0.670904
+244 2.430000 -0.173595 -0.661062
+245 2.440000 -0.167034 -0.651019
+246 2.450000 -0.160575 -0.640778
+247 2.460000 -0.154220 -0.630342
+248 2.470000 -0.147969 -0.619713
+249 2.480000 -0.141826 -0.608896
+250 2.490000 -0.135792 -0.597893
+251 2.500000 -0.129869 -0.586708
+252 2.510000 -0.124058 -0.575344
+253 2.520000 -0.118362 -0.563805
+254 2.530000 -0.112783 -0.552095
+255 2.540000 -0.107321 -0.540216
+256 2.550000 -0.101979 -0.528173
+257 2.560000 -0.096758 -0.515968
+258 2.570000 -0.091660 -0.503607
+259 2.580000 -0.086686 -0.491092
+260 2.590000 -0.081839 -0.478428
+261 2.600000 -0.077118 -0.465618
+262 2.610000 -0.072527 -0.452666
+263 2.620000 -0.068066 -0.439576
+264 2.630000 -0.063736 -0.426352
+265 2.640000 -0.059539 -0.412998
+266 2.650000 -0.055476 -0.399519
+267 2.660000 -0.051549 -0.385918
+268 2.670000 -0.047758 -0.372199
+269 2.680000 -0.044105 -0.358367
+270 2.690000 -0.040591 -0.344426
+271 2.700000 -0.037217 -0.330380
+272 2.710000 -0.033984 -0.316233
+273 2.720000 -0.030893 -0.301990
+274 2.730000 -0.027945 -0.287655
+275 2.740000 -0.025140 -0.273232
+276 2.750000 -0.022480 -0.258726
+277 2.760000 -0.019966 -0.244141
+278 2.770000 -0.017598 -0.229482
+279 2.780000 -0.015376 -0.214753
+280 2.790000 -0.013303 -0.199959
+281 2.800000 -0.011377 -0.185103
+282 2.810000 -0.009601 -0.170192
+283 2.820000 -0.007974 -0.155228
+284 2.830000 -0.006496 -0.140217
+285 2.840000 -0.005170 -0.125164
+286 2.850000 -0.003993 -0.110072
+287 2.860000 -0.002968 -0.094947
+288 2.870000 -0.002095 -0.079793
+289 2.880000 -0.001372 -0.064614
+290 2.890000 -0.000802 -0.049416
+291 2.900000 -0.000384 -0.034203
+292 2.910000 -0.000118 -0.018979
+293 2.920000 -0.000005 -0.003750
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/README.txt b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/README.txt
new file mode 100644
index 000000000..c0fc605b6
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/README.txt
@@ -0,0 +1,16 @@
+----- Description --------
+
+This example contains an implementation of the DPPC lipid bilayer described in:
+"Tunable generic model for fluid bilayer membranes"
+Cooke IR, Kremer K, Deserno M, Physical Review E, 2005
+
+-------------
+
+Instructions on how to build LAMMPS input files and
+run a short simulation are provided in other README files.
+
+step 1)
+README_setup.sh
+
+step2)
+README_run.sh
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/README_run.sh b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/README_run.sh
new file mode 100755
index 000000000..eb3fe7089
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/README_run.sh
@@ -0,0 +1,21 @@
+# --- Running LAMMPS ---
+# -- Prerequisites: --
+# The "run.in.nvt" file is a LAMMPS input script containing
+# references to the input scripts and data files
+# you hopefully have created earlier with moltemplate.sh:
+# system.in.init, system.in.settings, system.data, and table_int.dat
+# If not, carry out the instructions in "README_setup.sh".
+#
+# -- Instructions: --
+# If "lmp_mpi" is the name of the command you use to invoke lammps,
+# then you would run lammps on these files this way:
+
+
+lmp_mpi -i run.in.npt # Run a simulation at constant pressure (tension)
+
+
+# If you have compiled the MPI version of lammps, you can run lammps in parallel
+#mpiexec -np 4 lmp_mpi -i run.in.npt
+#or
+#mpiexec -np 4 lmp_mpi -i run.in.nvt
+# (assuming you have 4 processors available)
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/README_setup.sh b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/README_setup.sh
new file mode 100755
index 000000000..0d1c3fd00
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/README_setup.sh
@@ -0,0 +1,28 @@
+# Use these commands to generate the LAMMPS input script and data file
+# (and other auxilliary files):
+
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh system.lt
+
+ # This will generate various files with names ending in *.in* and *.data.
+ # These files are the input files directly read by LAMMPS. Move them to
+ # the parent directory (or wherever you plan to run the simulation).
+
+ mv -f system.in* system.data ../
+
+ # The "table_int.dat" file contains tabular data for the lipid INT-INT atom
+ # 1/r^2 interaction. We need it too. (This slows down the simulation by x2,
+ # so I might look for a way to get rid of it later.)
+ cp -f tabulated_potential.dat ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/README_visualize.txt b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/README_visualize.txt
new file mode 100644
index 000000000..f70bc3b75
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.0 0.0}
+ pbc box -shiftcenterrel {0.0 0.0 0.0} -width 0.5
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/images/CDlipid_A.jpg b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/images/CDlipid_A.jpg
new file mode 100644
index 000000000..fb45910d8
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/images/CDlipid_A.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/images/CDlipid_B.jpg b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/images/CDlipid_B.jpg
new file mode 100644
index 000000000..2fc365bd4
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/images/CDlipid_B.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/images/CDlipid_bilayer_mixture_t=0_nopbc_occ_LR.jpg b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/images/CDlipid_bilayer_mixture_t=0_nopbc_occ_LR.jpg
new file mode 100644
index 000000000..1f85ace52
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/images/CDlipid_bilayer_mixture_t=0_nopbc_occ_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/images/CDlipid_bilayer_mixture_t=0_occ_LR.jpg b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/images/CDlipid_bilayer_mixture_t=0_occ_LR.jpg
new file mode 100644
index 000000000..810b8d79a
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/images/CDlipid_bilayer_mixture_t=0_occ_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/images/CDlipid_bilayer_mixture_t=1000000steps_npt_occ_LR.jpg b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/images/CDlipid_bilayer_mixture_t=1000000steps_npt_occ_LR.jpg
new file mode 100644
index 000000000..983c4ec24
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/images/CDlipid_bilayer_mixture_t=1000000steps_npt_occ_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/images/CDlipid_bilayer_mixture_t=120000steps_npt_occ_LR.jpg b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/images/CDlipid_bilayer_mixture_t=120000steps_npt_occ_LR.jpg
new file mode 100644
index 000000000..6b7b6bc63
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/images/CDlipid_bilayer_mixture_t=120000steps_npt_occ_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/images/CDlipid_bilayer_mixture_t=40000steps_npt_occ_LR.jpg b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/images/CDlipid_bilayer_mixture_t=40000steps_npt_occ_LR.jpg
new file mode 100644
index 000000000..9e7a593fc
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/images/CDlipid_bilayer_mixture_t=40000steps_npt_occ_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/moltemplate_files/calc_table/gen_potential-cooke.py b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/moltemplate_files/calc_table/gen_potential-cooke.py
new file mode 100755
index 000000000..724029658
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/moltemplate_files/calc_table/gen_potential-cooke.py
@@ -0,0 +1,144 @@
+#!/usr/bin/python2.7
+
+import os,sys
+from fractions import Fraction
+from numpy import *
+
+### PARAMETERS ###
+sigma = 1.00
+epsilon = 1.00
+
+b_hh = 0.95 * sigma
+b_ht = 0.95 * sigma
+b_tt = 1.00 * sigma
+
+r_init = 0.000001
+r_max = sigma * 3.
+r_space = 0.01
+##################
+
+### INPUTS ###
+if len(sys.argv) == 2:
+ w_cut = float(sys.argv[1])
+else:
+ w_cut = 1.6
+# 1.6 seems to be 'good' for vesicles, bilayers 1.4
+##############
+
+def WCA_energy(b, r):
+# Calculate WCA energy
+ E_pot = 0
+ val1 = math.pow((b / r), 12)
+ val2 = -math.pow((b / r), 6)
+ E_pot = 4 * epsilon * (val1 + val2 + 0.25)
+ return E_pot
+
+def WCA_forces(b, r):
+# Calculate WCA forces
+ Force = 0
+ val1 = 24 * math.pow(b, 6) / math.pow(r, 7)
+ val2 = -48 * math.pow(b, 12) / math.pow(r, 13)
+ Force = -(val1 + val2)
+ return Force
+
+def Tail_energy(b, r, r_cut):
+# Calculate extra Tail energy
+ E_pot = 0
+ if (r < r_cut):
+ E_pot = -1 * epsilon
+ else:
+ val1 = math.cos((math.pi * (r - r_cut)) / (2 * w_cut))
+ E_pot = -1 * epsilon * math.pow(val1, 2)
+ return E_pot
+
+def Tail_forces(b, r, r_cut):
+ Force = 0
+ if (r < r_cut):
+ Force = 0;
+ else:
+ val1 = math.sin((math.pi * (r - r_cut)) / w_cut)
+ Force = -math.pi * val1 / (2 * w_cut)
+ return Force
+
+
+##############
+ofile = open('tabulated_potential.dat', 'w')
+tot_potential_hh = zeros((int(r_max / r_space) + 1, 4))
+tot_potential_ht = zeros((int(r_max / r_space) + 1, 4))
+tot_potential_tt = zeros((int(r_max / r_space) + 1, 4))
+
+# Setup up formatting & distances in all arrays
+for i in range(int(r_max / r_space)+1):
+ tot_potential_hh[:,0][i] = i+1
+ tot_potential_ht[:,0][i] = i+1
+ tot_potential_tt[:,0][i] = i+1
+for i in range(1, int(r_max / r_space)+1):
+ tot_potential_hh[:,1][i] = tot_potential_hh[:,1][i-1] + r_space
+ tot_potential_ht[:,1][i] = tot_potential_ht[:,1][i-1] + r_space
+ tot_potential_tt[:,1][i] = tot_potential_tt[:,1][i-1] + r_space
+tot_potential_hh[:,1][0] = r_init
+tot_potential_ht[:,1][0] = r_init
+tot_potential_tt[:,1][0] = r_init
+
+
+
+ofile.write("# Tabulated potential for Cooke 3-bead lipid model, Wc = %f\n\n" % w_cut)
+num = len(tot_potential_hh[:,0])
+
+### Calcaulte first potential, H-H
+ofile.write("HEAD_HEAD\n")
+r_cut = 2**Fraction('1/6') * b_hh
+rmax = int(r_cut / r_space)
+ofile.write("N %d R %f %f\n\n" % (num, r_init, r_max))
+ofile.write("1 %f %f %f\n" % (tot_potential_hh[:,1][0], tot_potential_hh[:,2][0], tot_potential_hh[:,3][0]))
+
+for i in range(1, rmax+1):
+ tot_potential_hh[:,2][i] = WCA_energy(b_hh, tot_potential_hh[:,1][i])
+ tot_potential_hh[:,3][i] = WCA_forces(b_hh, tot_potential_hh[:,1][i])
+
+for i in range(1, int(r_max / r_space)+1):
+ ofile.write("%d %f %f %f\n" % (i+1, tot_potential_hh[:,1][i], tot_potential_hh[:,2][i], tot_potential_hh[:,3][i]))
+ofile.write("\n")
+
+
+
+### Calcaulte second potential, H-T
+ofile.write("HEAD_TAIL\n")
+r_cut = 2**Fraction('1/6') * b_ht
+rmax = int(r_cut / r_space)
+ofile.write("N %d R %f %f\n\n" % (num, r_init, r_max))
+ofile.write("1 %f %f %f\n" % (tot_potential_ht[:,1][0], tot_potential_ht[:,2][0], tot_potential_ht[:,3][0]))
+
+for i in range(1, rmax+1):
+ tot_potential_ht[:,2][i] = WCA_energy(b_ht, tot_potential_ht[:,1][i])
+ tot_potential_ht[:,3][i] = WCA_forces(b_ht, tot_potential_ht[:,1][i])
+
+for i in range(1, int(r_max / r_space)+1):
+ ofile.write("%d %f %f %f\n" % (i+1, tot_potential_ht[:,1][i], tot_potential_ht[:,2][i], tot_potential_ht[:,3][i]))
+ofile.write("\n")
+
+
+
+### Calcaulte third potential, T-T
+# Also include extra tail-tail attraction term
+ofile.write("TAIL_TAIL\n")
+r_cut = 2**Fraction('1/6') * b_tt
+rmax = int(r_cut / r_space)
+ofile.write("N %d R %f %f\n\n" % (num, r_init, r_max))
+ofile.write("1 %f %f %f\n" % (tot_potential_tt[:,1][0], tot_potential_tt[:,2][0], tot_potential_tt[:,3][0]))
+
+for i in range(1, rmax+1):
+ tot_potential_tt[:,2][i] = WCA_energy(b_tt, tot_potential_tt[:,1][i])
+ tot_potential_tt[:,3][i] = WCA_forces(b_tt, tot_potential_tt[:,1][i])
+
+max2 = int( (r_cut + w_cut) / r_space)
+for i in range(1, max2+1):
+ tot_potential_tt[:,2][i] = tot_potential_tt[:,2][i] + Tail_energy(b_tt, tot_potential_tt[:,1][i], r_cut)
+ tot_potential_tt[:,3][i] = tot_potential_tt[:,3][i] + Tail_forces(b_tt, tot_potential_tt[:,1][i], r_cut)
+
+for i in range(1, int(r_max / r_space)+1):
+ ofile.write("%d %f %f %f\n" % (i+1, tot_potential_tt[:,1][i], tot_potential_tt[:,2][i], tot_potential_tt[:,3][i]))
+ofile.write("\n")
+
+
+sys.exit()
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/moltemplate_files/cooke_deserno_lipids.lt b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/moltemplate_files/cooke_deserno_lipids.lt
new file mode 100644
index 000000000..04953c97b
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/moltemplate_files/cooke_deserno_lipids.lt
@@ -0,0 +1,96 @@
+# CDlipid is a lipid model from:
+# "Tunable generic model for fluid bilayer membranes"
+# Cooke IR, Kremer K, Deserno M, Physical Review E, 2005
+# (Author: David Stelter, BU)
+# 3-bead model of COOKE, KREMER, DESERNO
+#
+# In this example, there are two types of identical lipids "A" and "B".
+# The attractive interaction between the tail beads of different lipids (AB)
+# is weaker than it is for lipids of the same type (as it was in the paper).
+# (Wc = 1.3σ, instead of Wc = 1.5σ)
+
+
+CDlipids {
+ # Settings common to both lipids ("LipidA" and "LipidB")
+ write_once("In Init") {
+ units lj
+ atom_style full
+
+ bond_style hybrid fene
+ angle_style hybrid harmonic
+ pair_style hybrid table linear 600
+ pair_modify shift yes
+ special_bonds lj 0.0 1.0 1.0
+
+ neigh_modify every 1 delay 1
+ neighbor 0.3 bin
+ }
+ write_once("In Settings") {
+ pair_coeff @atom:H @atom:H table tabulated_potential.dat HEAD_HEAD
+ bond_coeff @bond:Bond fene 30.0 1.5 1.0 1.0
+ angle_coeff @angle:An harmonic 10.0 180
+ }
+ write_once("Data Masses") {
+ @atom:H 1.0 ## Head Bead
+ }
+
+
+ A {
+ write_once("In Settings") {
+ pair_coeff @atom:../H @atom:T table tabulated_potential.dat HEAD_TAIL
+ # (Note: The "HEAD_TAIL" table is the same as the "HEAD_HEAD" table.)
+ pair_coeff @atom:T @atom:T table tabulated_potential.dat TAIL_TAIL_Wc_1.5
+ }
+ write("Data Atoms") {
+ $atom:1 $mol:. @atom:../H 0.0 0.00 0.00 2.46
+ $atom:2 $mol:. @atom:T 0.0 0.00 0.00 1.51
+ $atom:3 $mol:. @atom:T 0.0 0.00 0.00 0.56
+ }
+ write("Data Bonds") {
+ $bond:b1 @bond:../Bond $atom:1 $atom:2
+ $bond:b2 @bond:../Bond $atom:2 $atom:3
+ }
+ write("Data Angles") {
+ $angle:a1 @angle:../An $atom:1 $atom:2 $atom:3
+ }
+ write_once("Data Masses") {
+ @atom:T 1.0 ## Tail Bead
+ }
+ } # lipid "A"
+
+
+ B {
+ write_once("In Settings") {
+ pair_coeff @atom:../H @atom:T table tabulated_potential.dat HEAD_TAIL
+ # (Note: The "HEAD_TAIL" table is the same as the "HEAD_HEAD" table.)
+ pair_coeff @atom:T @atom:T table tabulated_potential.dat TAIL_TAIL_Wc_1.5
+ }
+ write("Data Atoms") {
+ $atom:1 $mol:. @atom:../H 0.0 0.00 0.00 2.46
+ $atom:2 $mol:. @atom:T 0.0 0.00 0.00 1.51
+ $atom:3 $mol:. @atom:T 0.0 0.00 0.00 0.56
+ }
+ write("Data Bonds") {
+ $bond:b1 @bond:../Bond $atom:1 $atom:2
+ $bond:b2 @bond:../Bond $atom:2 $atom:3
+ }
+ write("Data Angles") {
+ $angle:a1 @angle:../An $atom:1 $atom:2 $atom:3
+ }
+ write_once("Data Masses") {
+ @atom:T 1.0 ## Tail Bead
+ }
+ } # lipid "B"
+
+
+
+ # Finally, weaken the interaction between the tail beads
+ # belonging to different types of lipids (ie "A" and "B").
+
+ write_once("In Settings") {
+ pair_coeff @atom:A/T @atom:B/T table tabulated_potential.dat TAIL_TAIL_Wc_1.3
+ }
+
+
+} # CDlipids
+
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/moltemplate_files/system.lt b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/moltemplate_files/system.lt
new file mode 100644
index 000000000..4a35cd10d
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/moltemplate_files/system.lt
@@ -0,0 +1,73 @@
+# Description:
+
+# This constructs a bilayer constructed from coarse-grained lipids
+# (implicit solvent). "Tunable generic model for fluid bilayer membranes"
+# Cooke IR, Kremer K, Deserno M, Physical Review E, 2005
+
+
+
+import "cooke_deserno_lipids.lt"
+
+
+# Create a random mixture of lipids of type "CDlipids/A" and "CDlipids/B"
+
+lipids = new random([CDlipids/A, CDlipids/B], [710,1658], 12345)
+ [32].move(1.178585, 0, 0)
+ [37].move(0.589293, 1.02068, 0)
+ [2].rot(180, 1, 0, 0)
+
+# Here "710,1658" are the number of each molecule type (must sum to 32*37*2),
+# and "12345" is an optional random seed:
+
+
+
+# Move the lipds up to the center of the box
+lipids[*][*][*].move(0,0,10.0)
+
+
+# Although this patch of lipids is not square or rectangular, (it looks
+# like a parallelogram), this is no longer the case after rectangular
+# periodic boundary conditions are applied. We apply them below:
+# width: 37.71472 = 32 * 1.05 * 2^(1/6)
+# height: 37.76516 = 37 * 1.05 * 2^(1/6) * sqrt(3)/2
+
+write_once("Data Boundary") {
+ 0 37.71472 xlo xhi
+ 0 37.76516 ylo yhi
+ 0 20.0 zlo zhi
+}
+
+
+
+
+
+
+
+
+# -------------- File ends here. Only comments below.-------------------
+
+# ------------------------------------
+# ------------- COMMENTS: ------------
+# ------------------------------------
+#
+# A note on geometry:
+# We want to create a bilayer arranged in a hexagonal lattice consisting of
+# 32 rows (each row is aligned with the x-axis)
+# 37 columns (aligned at a 60 degree angle from the x axis)
+# When wrapped onto a rectangular box, the dimensions of the system are:
+# 32 * 2^(1/6) σ units in the X direction
+# 37 * 2^(1/6) * sqrt(3)/2 σ units in the Y direction
+# ------------------------------------
+#
+# Below I show simple ways to create a lipid bilayer:
+#
+# 1) If you just want to make lipid bilayer out of lipids,
+# without specifying the location of each lipid, you could use this syntax:
+# lipids = new CDlipid/A [32][37][2] # 3-D array
+# Later you can load in the coordinates of the lipds from a PDB file.
+# Alternately you could also use a 1-dimensional array:
+# lipids = new CDlipid/A [2368] # 1-D array. Note: 2368 = 32x37x2
+# It does not matter as long as the number of lipids is correct.
+# Multidimensional arrays are only useful if you plan to apply independent
+# coordinate transformations to each row and column and monolayer as above.
+#
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/moltemplate_files/tabulated_potential.dat b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/moltemplate_files/tabulated_potential.dat
new file mode 100644
index 000000000..cd8dd4db7
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/moltemplate_files/tabulated_potential.dat
@@ -0,0 +1,4589 @@
+# Tabulated potential for Cooke 3-bead lipid model, with various values of Wc
+
+HEAD_HEAD
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 2161440350647607518822400.000000 2593728420778890895481110528.000000
+3 0.020000 527695398062100709376.000000 316617238851043104653312.000000
+4 0.030000 4067131343850062336.000000 1626852538346708926464.000000
+5 0.040000 128831883585858496.000000 38649565183436988416.000000
+6 0.050000 8853259488081101.000000 2124782299721489152.000000
+7 0.060000 992951926207085.500000 198590391543644928.000000
+8 0.070000 156158887055179.062500 26770097065977256.000000
+9 0.080000 31453085537227.195312 4717963671829832.000000
+10 0.090000 7653019634383.599609 1020402986772367.875000
+11 0.100000 2161437410283.985352 259372665656012.125000
+12 0.110000 688699846600.110840 75130982888675.812500
+13 0.120000 242418934523.303925 24241942688387.753906
+14 0.130000 92772695554.949768 8563661551482.013672
+15 0.140000 38124343876.568542 3267817639811.164551
+16 0.150000 16658711862.666004 1332707274503.870850
+17 0.160000 7678803441.103481 575916830241.413208
+18 0.170000 3709726886.129636 261867373669.903687
+19 0.180000 1868327898.144181 124558074820.194244
+20 0.190000 976500000.999998 61675657894.736687
+21 0.200000 527649455.864879 31660345589.187614
+22 0.210000 293806260.511241 16789908645.082933
+23 0.220000 168114083.438129 9170566326.526011
+24 0.230000 98610181.495127 5145397135.359623
+25 0.240000 59169165.297856 2958842872.372237
+26 0.250000 36250908.888444 1740332628.538169
+27 0.260000 22640215.252607 1045152619.667436
+28 0.270000 14392928.420337 639854320.962319
+29 0.280000 9301695.744822 398774811.984595
+30 0.290000 6104017.717125 252682276.475626
+31 0.300000 4063098.921872 162604585.395105
+32 0.310000 2740806.847436 106159834.284035
+33 0.320000 1872013.228410 70251804.140783
+34 0.330000 1293637.623279 47082727.461649
+35 0.340000 903822.389327 31933167.708250
+36 0.350000 638028.370186 21902644.696022
+37 0.360000 454806.060338 15182681.781435
+38 0.370000 327194.054124 10630250.689058
+39 0.380000 237443.016602 7513588.353207
+40 0.390000 173734.710287 5358508.469115
+41 0.400000 128115.021129 3854188.581495
+42 0.410000 95175.694590 2794659.517251
+43 0.420000 71203.733281 2042016.387369
+44 0.430000 53626.450912 1503014.644703
+45 0.440000 40645.593596 1114014.575978
+46 0.450000 30993.690585 831193.088925
+47 0.460000 23770.248288 624115.416996
+48 0.470000 18330.617960 471472.559289
+49 0.480000 14209.942248 358228.692769
+50 0.490000 11070.674537 273695.309628
+51 0.500000 8666.076152 210220.029942
+52 0.510000 6814.633252 162286.683398
+53 0.520000 5381.995700 125892.872001
+54 0.530000 4268.136868 98116.253151
+55 0.540000 3398.163685 76810.165684
+56 0.550000 2715.696677 60388.560510
+57 0.560000 2178.071621 47673.030759
+58 0.570000 1752.840750 37783.319810
+59 0.580000 1415.206838 30058.470465
+60 0.590000 1146.130977 23999.705760
+61 0.600000 930.929708 19228.816970
+62 0.610000 758.229563 15457.682582
+63 0.620000 619.184089 12465.822566
+64 0.630000 506.884625 10083.785213
+65 0.640000 415.914818 8180.790148
+66 0.650000 342.012307 6655.493196
+67 0.660000 281.810669 5429.052488
+68 0.670000 232.641766 4439.899069
+69 0.680000 192.383722 3639.775908
+70 0.690000 159.343555 2990.725059
+71 0.700000 132.166200 2462.786676
+72 0.710000 109.763738 2032.234764
+73 0.720000 91.260139 1680.219270
+74 0.730000 75.947974 1391.717054
+75 0.740000 63.254382 1154.718549
+76 0.750000 52.714228 959.594954
+77 0.760000 43.948872 798.604206
+78 0.770000 36.649308 665.504021
+79 0.780000 30.562750 555.247832
+80 0.790000 25.481924 463.745109
+81 0.800000 21.236485 387.671861
+82 0.810000 17.686136 324.320364
+83 0.820000 14.715086 271.479665
+84 0.830000 12.227574 227.340274
+85 0.840000 10.144253 190.417955
+86 0.850000 8.399249 159.492629
+87 0.860000 6.937780 133.559247
+88 0.870000 5.714205 111.788215
+89 0.880000 4.690441 93.493410
+90 0.890000 3.834655 78.106288
+91 0.900000 3.120205 65.154867
+92 0.910000 2.524755 54.246625
+93 0.920000 2.029558 45.054564
+94 0.930000 1.618857 37.305814
+95 0.940000 1.279395 30.772315
+96 0.950000 1.000000 25.263158
+97 0.960000 0.771253 20.618297
+98 0.970000 0.585203 16.703371
+99 0.980000 0.435131 13.405424
+100 0.990000 0.315357 10.629373
+101 1.000000 0.221073 8.295079
+102 1.010000 0.148209 6.334918
+103 1.020000 0.093319 4.691763
+104 1.030000 0.053479 3.317301
+105 1.040000 0.026214 2.170635
+106 1.050000 0.009423 1.217110
+107 1.060000 0.001327 0.427337
+108 1.070000 0.000000 0.000000
+109 1.080000 0.000000 0.000000
+110 1.090000 0.000000 0.000000
+111 1.100000 0.000000 0.000000
+112 1.110000 0.000000 0.000000
+113 1.120000 0.000000 0.000000
+114 1.130000 0.000000 0.000000
+115 1.140000 0.000000 0.000000
+116 1.150000 0.000000 0.000000
+117 1.160000 0.000000 0.000000
+118 1.170000 0.000000 0.000000
+119 1.180000 0.000000 0.000000
+120 1.190000 0.000000 0.000000
+121 1.200000 0.000000 0.000000
+122 1.210000 0.000000 0.000000
+123 1.220000 0.000000 0.000000
+124 1.230000 0.000000 0.000000
+125 1.240000 0.000000 0.000000
+126 1.250000 0.000000 0.000000
+127 1.260000 0.000000 0.000000
+128 1.270000 0.000000 0.000000
+129 1.280000 0.000000 0.000000
+130 1.290000 0.000000 0.000000
+131 1.300000 0.000000 0.000000
+132 1.310000 0.000000 0.000000
+133 1.320000 0.000000 0.000000
+134 1.330000 0.000000 0.000000
+135 1.340000 0.000000 0.000000
+136 1.350000 0.000000 0.000000
+137 1.360000 0.000000 0.000000
+138 1.370000 0.000000 0.000000
+139 1.380000 0.000000 0.000000
+140 1.390000 0.000000 0.000000
+141 1.400000 0.000000 0.000000
+142 1.410000 0.000000 0.000000
+143 1.420000 0.000000 0.000000
+144 1.430000 0.000000 0.000000
+145 1.440000 0.000000 0.000000
+146 1.450000 0.000000 0.000000
+147 1.460000 0.000000 0.000000
+148 1.470000 0.000000 0.000000
+149 1.480000 0.000000 0.000000
+150 1.490000 0.000000 0.000000
+151 1.500000 0.000000 0.000000
+152 1.510000 0.000000 0.000000
+153 1.520000 0.000000 0.000000
+154 1.530000 0.000000 0.000000
+155 1.540000 0.000000 0.000000
+156 1.550000 0.000000 0.000000
+157 1.560000 0.000000 0.000000
+158 1.570000 0.000000 0.000000
+159 1.580000 0.000000 0.000000
+160 1.590000 0.000000 0.000000
+161 1.600000 0.000000 0.000000
+162 1.610000 0.000000 0.000000
+163 1.620000 0.000000 0.000000
+164 1.630000 0.000000 0.000000
+165 1.640000 0.000000 0.000000
+166 1.650000 0.000000 0.000000
+167 1.660000 0.000000 0.000000
+168 1.670000 0.000000 0.000000
+169 1.680000 0.000000 0.000000
+170 1.690000 0.000000 0.000000
+171 1.700000 0.000000 0.000000
+172 1.710000 0.000000 0.000000
+173 1.720000 0.000000 0.000000
+174 1.730000 0.000000 0.000000
+175 1.740000 0.000000 0.000000
+176 1.750000 0.000000 0.000000
+177 1.760000 0.000000 0.000000
+178 1.770000 0.000000 0.000000
+179 1.780000 0.000000 0.000000
+180 1.790000 0.000000 0.000000
+181 1.800000 0.000000 0.000000
+182 1.810000 0.000000 0.000000
+183 1.820000 0.000000 0.000000
+184 1.830000 0.000000 0.000000
+185 1.840000 0.000000 0.000000
+186 1.850000 0.000000 0.000000
+187 1.860000 0.000000 0.000000
+188 1.870000 0.000000 0.000000
+189 1.880000 0.000000 0.000000
+190 1.890000 0.000000 0.000000
+191 1.900000 0.000000 0.000000
+192 1.910000 0.000000 0.000000
+193 1.920000 0.000000 0.000000
+194 1.930000 0.000000 0.000000
+195 1.940000 0.000000 0.000000
+196 1.950000 0.000000 0.000000
+197 1.960000 0.000000 0.000000
+198 1.970000 0.000000 0.000000
+199 1.980000 0.000000 0.000000
+200 1.990000 0.000000 0.000000
+201 2.000000 0.000000 0.000000
+202 2.010000 0.000000 0.000000
+203 2.020000 0.000000 0.000000
+204 2.030000 0.000000 0.000000
+205 2.040000 0.000000 0.000000
+206 2.050000 0.000000 0.000000
+207 2.060000 0.000000 0.000000
+208 2.070000 0.000000 0.000000
+209 2.080000 0.000000 0.000000
+210 2.090000 0.000000 0.000000
+211 2.100000 0.000000 0.000000
+212 2.110000 0.000000 0.000000
+213 2.120000 0.000000 0.000000
+214 2.130000 0.000000 0.000000
+215 2.140000 0.000000 0.000000
+216 2.150000 0.000000 0.000000
+217 2.160000 0.000000 0.000000
+218 2.170000 0.000000 0.000000
+219 2.180000 0.000000 0.000000
+220 2.190000 0.000000 0.000000
+221 2.200000 0.000000 0.000000
+222 2.210000 0.000000 0.000000
+223 2.220000 0.000000 0.000000
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+HEAD_TAIL
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 2161440350647607518822400.000000 2593728420778890895481110528.000000
+3 0.020000 527695398062100709376.000000 316617238851043104653312.000000
+4 0.030000 4067131343850062336.000000 1626852538346708926464.000000
+5 0.040000 128831883585858496.000000 38649565183436988416.000000
+6 0.050000 8853259488081101.000000 2124782299721489152.000000
+7 0.060000 992951926207085.500000 198590391543644928.000000
+8 0.070000 156158887055179.062500 26770097065977256.000000
+9 0.080000 31453085537227.195312 4717963671829832.000000
+10 0.090000 7653019634383.599609 1020402986772367.875000
+11 0.100000 2161437410283.985352 259372665656012.125000
+12 0.110000 688699846600.110840 75130982888675.812500
+13 0.120000 242418934523.303925 24241942688387.753906
+14 0.130000 92772695554.949768 8563661551482.013672
+15 0.140000 38124343876.568542 3267817639811.164551
+16 0.150000 16658711862.666004 1332707274503.870850
+17 0.160000 7678803441.103481 575916830241.413208
+18 0.170000 3709726886.129636 261867373669.903687
+19 0.180000 1868327898.144181 124558074820.194244
+20 0.190000 976500000.999998 61675657894.736687
+21 0.200000 527649455.864879 31660345589.187614
+22 0.210000 293806260.511241 16789908645.082933
+23 0.220000 168114083.438129 9170566326.526011
+24 0.230000 98610181.495127 5145397135.359623
+25 0.240000 59169165.297856 2958842872.372237
+26 0.250000 36250908.888444 1740332628.538169
+27 0.260000 22640215.252607 1045152619.667436
+28 0.270000 14392928.420337 639854320.962319
+29 0.280000 9301695.744822 398774811.984595
+30 0.290000 6104017.717125 252682276.475626
+31 0.300000 4063098.921872 162604585.395105
+32 0.310000 2740806.847436 106159834.284035
+33 0.320000 1872013.228410 70251804.140783
+34 0.330000 1293637.623279 47082727.461649
+35 0.340000 903822.389327 31933167.708250
+36 0.350000 638028.370186 21902644.696022
+37 0.360000 454806.060338 15182681.781435
+38 0.370000 327194.054124 10630250.689058
+39 0.380000 237443.016602 7513588.353207
+40 0.390000 173734.710287 5358508.469115
+41 0.400000 128115.021129 3854188.581495
+42 0.410000 95175.694590 2794659.517251
+43 0.420000 71203.733281 2042016.387369
+44 0.430000 53626.450912 1503014.644703
+45 0.440000 40645.593596 1114014.575978
+46 0.450000 30993.690585 831193.088925
+47 0.460000 23770.248288 624115.416996
+48 0.470000 18330.617960 471472.559289
+49 0.480000 14209.942248 358228.692769
+50 0.490000 11070.674537 273695.309628
+51 0.500000 8666.076152 210220.029942
+52 0.510000 6814.633252 162286.683398
+53 0.520000 5381.995700 125892.872001
+54 0.530000 4268.136868 98116.253151
+55 0.540000 3398.163685 76810.165684
+56 0.550000 2715.696677 60388.560510
+57 0.560000 2178.071621 47673.030759
+58 0.570000 1752.840750 37783.319810
+59 0.580000 1415.206838 30058.470465
+60 0.590000 1146.130977 23999.705760
+61 0.600000 930.929708 19228.816970
+62 0.610000 758.229563 15457.682582
+63 0.620000 619.184089 12465.822566
+64 0.630000 506.884625 10083.785213
+65 0.640000 415.914818 8180.790148
+66 0.650000 342.012307 6655.493196
+67 0.660000 281.810669 5429.052488
+68 0.670000 232.641766 4439.899069
+69 0.680000 192.383722 3639.775908
+70 0.690000 159.343555 2990.725059
+71 0.700000 132.166200 2462.786676
+72 0.710000 109.763738 2032.234764
+73 0.720000 91.260139 1680.219270
+74 0.730000 75.947974 1391.717054
+75 0.740000 63.254382 1154.718549
+76 0.750000 52.714228 959.594954
+77 0.760000 43.948872 798.604206
+78 0.770000 36.649308 665.504021
+79 0.780000 30.562750 555.247832
+80 0.790000 25.481924 463.745109
+81 0.800000 21.236485 387.671861
+82 0.810000 17.686136 324.320364
+83 0.820000 14.715086 271.479665
+84 0.830000 12.227574 227.340274
+85 0.840000 10.144253 190.417955
+86 0.850000 8.399249 159.492629
+87 0.860000 6.937780 133.559247
+88 0.870000 5.714205 111.788215
+89 0.880000 4.690441 93.493410
+90 0.890000 3.834655 78.106288
+91 0.900000 3.120205 65.154867
+92 0.910000 2.524755 54.246625
+93 0.920000 2.029558 45.054564
+94 0.930000 1.618857 37.305814
+95 0.940000 1.279395 30.772315
+96 0.950000 1.000000 25.263158
+97 0.960000 0.771253 20.618297
+98 0.970000 0.585203 16.703371
+99 0.980000 0.435131 13.405424
+100 0.990000 0.315357 10.629373
+101 1.000000 0.221073 8.295079
+102 1.010000 0.148209 6.334918
+103 1.020000 0.093319 4.691763
+104 1.030000 0.053479 3.317301
+105 1.040000 0.026214 2.170635
+106 1.050000 0.009423 1.217110
+107 1.060000 0.001327 0.427337
+108 1.070000 0.000000 0.000000
+109 1.080000 0.000000 0.000000
+110 1.090000 0.000000 0.000000
+111 1.100000 0.000000 0.000000
+112 1.110000 0.000000 0.000000
+113 1.120000 0.000000 0.000000
+114 1.130000 0.000000 0.000000
+115 1.140000 0.000000 0.000000
+116 1.150000 0.000000 0.000000
+117 1.160000 0.000000 0.000000
+118 1.170000 0.000000 0.000000
+119 1.180000 0.000000 0.000000
+120 1.190000 0.000000 0.000000
+121 1.200000 0.000000 0.000000
+122 1.210000 0.000000 0.000000
+123 1.220000 0.000000 0.000000
+124 1.230000 0.000000 0.000000
+125 1.240000 0.000000 0.000000
+126 1.250000 0.000000 0.000000
+127 1.260000 0.000000 0.000000
+128 1.270000 0.000000 0.000000
+129 1.280000 0.000000 0.000000
+130 1.290000 0.000000 0.000000
+131 1.300000 0.000000 0.000000
+132 1.310000 0.000000 0.000000
+133 1.320000 0.000000 0.000000
+134 1.330000 0.000000 0.000000
+135 1.340000 0.000000 0.000000
+136 1.350000 0.000000 0.000000
+137 1.360000 0.000000 0.000000
+138 1.370000 0.000000 0.000000
+139 1.380000 0.000000 0.000000
+140 1.390000 0.000000 0.000000
+141 1.400000 0.000000 0.000000
+142 1.410000 0.000000 0.000000
+143 1.420000 0.000000 0.000000
+144 1.430000 0.000000 0.000000
+145 1.440000 0.000000 0.000000
+146 1.450000 0.000000 0.000000
+147 1.460000 0.000000 0.000000
+148 1.470000 0.000000 0.000000
+149 1.480000 0.000000 0.000000
+150 1.490000 0.000000 0.000000
+151 1.500000 0.000000 0.000000
+152 1.510000 0.000000 0.000000
+153 1.520000 0.000000 0.000000
+154 1.530000 0.000000 0.000000
+155 1.540000 0.000000 0.000000
+156 1.550000 0.000000 0.000000
+157 1.560000 0.000000 0.000000
+158 1.570000 0.000000 0.000000
+159 1.580000 0.000000 0.000000
+160 1.590000 0.000000 0.000000
+161 1.600000 0.000000 0.000000
+162 1.610000 0.000000 0.000000
+163 1.620000 0.000000 0.000000
+164 1.630000 0.000000 0.000000
+165 1.640000 0.000000 0.000000
+166 1.650000 0.000000 0.000000
+167 1.660000 0.000000 0.000000
+168 1.670000 0.000000 0.000000
+169 1.680000 0.000000 0.000000
+170 1.690000 0.000000 0.000000
+171 1.700000 0.000000 0.000000
+172 1.710000 0.000000 0.000000
+173 1.720000 0.000000 0.000000
+174 1.730000 0.000000 0.000000
+175 1.740000 0.000000 0.000000
+176 1.750000 0.000000 0.000000
+177 1.760000 0.000000 0.000000
+178 1.770000 0.000000 0.000000
+179 1.780000 0.000000 0.000000
+180 1.790000 0.000000 0.000000
+181 1.800000 0.000000 0.000000
+182 1.810000 0.000000 0.000000
+183 1.820000 0.000000 0.000000
+184 1.830000 0.000000 0.000000
+185 1.840000 0.000000 0.000000
+186 1.850000 0.000000 0.000000
+187 1.860000 0.000000 0.000000
+188 1.870000 0.000000 0.000000
+189 1.880000 0.000000 0.000000
+190 1.890000 0.000000 0.000000
+191 1.900000 0.000000 0.000000
+192 1.910000 0.000000 0.000000
+193 1.920000 0.000000 0.000000
+194 1.930000 0.000000 0.000000
+195 1.940000 0.000000 0.000000
+196 1.950000 0.000000 0.000000
+197 1.960000 0.000000 0.000000
+198 1.970000 0.000000 0.000000
+199 1.980000 0.000000 0.000000
+200 1.990000 0.000000 0.000000
+201 2.000000 0.000000 0.000000
+202 2.010000 0.000000 0.000000
+203 2.020000 0.000000 0.000000
+204 2.030000 0.000000 0.000000
+205 2.040000 0.000000 0.000000
+206 2.050000 0.000000 0.000000
+207 2.060000 0.000000 0.000000
+208 2.070000 0.000000 0.000000
+209 2.080000 0.000000 0.000000
+210 2.090000 0.000000 0.000000
+211 2.100000 0.000000 0.000000
+212 2.110000 0.000000 0.000000
+213 2.120000 0.000000 0.000000
+214 2.130000 0.000000 0.000000
+215 2.140000 0.000000 0.000000
+216 2.150000 0.000000 0.000000
+217 2.160000 0.000000 0.000000
+218 2.170000 0.000000 0.000000
+219 2.180000 0.000000 0.000000
+220 2.190000 0.000000 0.000000
+221 2.200000 0.000000 0.000000
+222 2.210000 0.000000 0.000000
+223 2.220000 0.000000 0.000000
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+TAIL_TAIL_Wc_0.6
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999611 -0.103302
+115 1.140000 -0.997893 -0.240069
+116 1.150000 -0.994811 -0.376178
+117 1.160000 -0.990373 -0.511255
+118 1.170000 -0.984591 -0.644932
+119 1.180000 -0.977480 -0.776841
+120 1.190000 -0.969061 -0.906620
+121 1.200000 -0.959356 -1.033915
+122 1.210000 -0.948392 -1.158376
+123 1.220000 -0.936199 -1.279661
+124 1.230000 -0.922811 -1.397439
+125 1.240000 -0.908263 -1.511387
+126 1.250000 -0.892597 -1.621193
+127 1.260000 -0.875854 -1.726554
+128 1.270000 -0.858082 -1.827184
+129 1.280000 -0.839327 -1.922805
+130 1.290000 -0.819643 -2.013156
+131 1.300000 -0.799083 -2.097989
+132 1.310000 -0.777702 -2.177071
+133 1.320000 -0.755561 -2.250187
+134 1.330000 -0.732719 -2.317134
+135 1.340000 -0.709240 -2.377731
+136 1.350000 -0.685186 -2.431810
+137 1.360000 -0.660626 -2.479224
+138 1.370000 -0.635625 -2.519843
+139 1.380000 -0.610252 -2.553555
+140 1.390000 -0.584577 -2.580268
+141 1.400000 -0.558670 -2.599908
+142 1.410000 -0.532602 -2.612423
+143 1.420000 -0.506445 -2.617776
+144 1.430000 -0.480271 -2.615955
+145 1.440000 -0.454150 -2.606964
+146 1.450000 -0.428155 -2.590827
+147 1.460000 -0.402357 -2.567588
+148 1.470000 -0.376827 -2.537312
+149 1.480000 -0.351634 -2.500082
+150 1.490000 -0.326848 -2.455999
+151 1.500000 -0.302537 -2.405184
+152 1.510000 -0.278767 -2.347777
+153 1.520000 -0.255603 -2.283935
+154 1.530000 -0.233109 -2.213833
+155 1.540000 -0.211346 -2.137662
+156 1.550000 -0.190375 -2.055633
+157 1.560000 -0.170252 -1.967969
+158 1.570000 -0.151034 -1.874911
+159 1.580000 -0.132771 -1.776714
+160 1.590000 -0.115516 -1.673647
+161 1.600000 -0.099314 -1.565993
+162 1.610000 -0.084210 -1.454047
+163 1.620000 -0.070246 -1.338115
+164 1.630000 -0.057460 -1.218516
+165 1.640000 -0.045887 -1.095576
+166 1.650000 -0.035558 -0.969634
+167 1.660000 -0.026503 -0.841034
+168 1.670000 -0.018745 -0.710129
+169 1.680000 -0.012307 -0.577277
+170 1.690000 -0.007205 -0.442843
+171 1.700000 -0.003454 -0.307196
+172 1.710000 -0.001064 -0.170706
+173 1.720000 -0.000042 -0.033748
+174 1.730000 0.000000 0.000000
+175 1.740000 0.000000 0.000000
+176 1.750000 0.000000 0.000000
+177 1.760000 0.000000 0.000000
+178 1.770000 0.000000 0.000000
+179 1.780000 0.000000 0.000000
+180 1.790000 0.000000 0.000000
+181 1.800000 0.000000 0.000000
+182 1.810000 0.000000 0.000000
+183 1.820000 0.000000 0.000000
+184 1.830000 0.000000 0.000000
+185 1.840000 0.000000 0.000000
+186 1.850000 0.000000 0.000000
+187 1.860000 0.000000 0.000000
+188 1.870000 0.000000 0.000000
+189 1.880000 0.000000 0.000000
+190 1.890000 0.000000 0.000000
+191 1.900000 0.000000 0.000000
+192 1.910000 0.000000 0.000000
+193 1.920000 0.000000 0.000000
+194 1.930000 0.000000 0.000000
+195 1.940000 0.000000 0.000000
+196 1.950000 0.000000 0.000000
+197 1.960000 0.000000 0.000000
+198 1.970000 0.000000 0.000000
+199 1.980000 0.000000 0.000000
+200 1.990000 0.000000 0.000000
+201 2.000000 0.000000 0.000000
+202 2.010000 0.000000 0.000000
+203 2.020000 0.000000 0.000000
+204 2.030000 0.000000 0.000000
+205 2.040000 0.000000 0.000000
+206 2.050000 0.000000 0.000000
+207 2.060000 0.000000 0.000000
+208 2.070000 0.000000 0.000000
+209 2.080000 0.000000 0.000000
+210 2.090000 0.000000 0.000000
+211 2.100000 0.000000 0.000000
+212 2.110000 0.000000 0.000000
+213 2.120000 0.000000 0.000000
+214 2.130000 0.000000 0.000000
+215 2.140000 0.000000 0.000000
+216 2.150000 0.000000 0.000000
+217 2.160000 0.000000 0.000000
+218 2.170000 0.000000 0.000000
+219 2.180000 0.000000 0.000000
+220 2.190000 0.000000 0.000000
+221 2.200000 0.000000 0.000000
+222 2.210000 0.000000 0.000000
+223 2.220000 0.000000 0.000000
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_0.7
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999714 -0.075900
+115 1.140000 -0.998452 -0.176443
+116 1.150000 -0.996186 -0.276630
+117 1.160000 -0.992921 -0.376260
+118 1.170000 -0.988664 -0.475132
+119 1.180000 -0.983422 -0.573048
+120 1.190000 -0.977206 -0.669809
+121 1.200000 -0.970030 -0.765221
+122 1.210000 -0.961907 -0.859093
+123 1.220000 -0.952854 -0.951234
+124 1.230000 -0.942889 -1.041460
+125 1.240000 -0.932032 -1.129588
+126 1.250000 -0.920305 -1.215441
+127 1.260000 -0.907731 -1.298847
+128 1.270000 -0.894336 -1.379637
+129 1.280000 -0.880148 -1.457649
+130 1.290000 -0.865193 -1.532725
+131 1.300000 -0.849503 -1.604714
+132 1.310000 -0.833110 -1.673472
+133 1.320000 -0.816045 -1.738859
+134 1.330000 -0.798344 -1.800745
+135 1.340000 -0.780042 -1.859004
+136 1.350000 -0.761177 -1.913520
+137 1.360000 -0.741785 -1.964182
+138 1.370000 -0.721906 -2.010888
+139 1.380000 -0.701581 -2.053545
+140 1.390000 -0.680849 -2.092066
+141 1.400000 -0.659753 -2.126374
+142 1.410000 -0.638336 -2.156399
+143 1.420000 -0.616640 -2.182082
+144 1.430000 -0.594709 -2.203371
+145 1.440000 -0.572587 -2.220222
+146 1.450000 -0.550319 -2.232602
+147 1.460000 -0.527950 -2.240486
+148 1.470000 -0.505525 -2.243858
+149 1.480000 -0.483088 -2.242711
+150 1.490000 -0.460686 -2.237047
+151 1.500000 -0.438362 -2.226879
+152 1.510000 -0.416163 -2.212225
+153 1.520000 -0.394133 -2.193117
+154 1.530000 -0.372315 -2.169592
+155 1.540000 -0.350755 -2.141698
+156 1.550000 -0.329496 -2.109490
+157 1.560000 -0.308580 -2.073035
+158 1.570000 -0.288049 -2.032404
+159 1.580000 -0.267945 -1.987681
+160 1.590000 -0.248309 -1.938954
+161 1.600000 -0.229179 -1.886323
+162 1.610000 -0.210595 -1.829893
+163 1.620000 -0.192594 -1.769778
+164 1.630000 -0.175211 -1.706099
+165 1.640000 -0.158483 -1.638984
+166 1.650000 -0.142443 -1.568568
+167 1.660000 -0.127122 -1.494993
+168 1.670000 -0.112553 -1.418408
+169 1.680000 -0.098764 -1.338966
+170 1.690000 -0.085782 -1.256828
+171 1.700000 -0.073635 -1.172158
+172 1.710000 -0.062347 -1.085128
+173 1.720000 -0.051940 -0.995913
+174 1.730000 -0.042436 -0.904692
+175 1.740000 -0.033852 -0.811649
+176 1.750000 -0.026208 -0.716971
+177 1.760000 -0.019518 -0.620850
+178 1.770000 -0.013795 -0.523479
+179 1.780000 -0.009052 -0.425053
+180 1.790000 -0.005297 -0.325771
+181 1.800000 -0.002538 -0.225833
+182 1.810000 -0.000782 -0.125440
+183 1.820000 -0.000031 -0.024795
+184 1.830000 0.000000 0.000000
+185 1.840000 0.000000 0.000000
+186 1.850000 0.000000 0.000000
+187 1.860000 0.000000 0.000000
+188 1.870000 0.000000 0.000000
+189 1.880000 0.000000 0.000000
+190 1.890000 0.000000 0.000000
+191 1.900000 0.000000 0.000000
+192 1.910000 0.000000 0.000000
+193 1.920000 0.000000 0.000000
+194 1.930000 0.000000 0.000000
+195 1.940000 0.000000 0.000000
+196 1.950000 0.000000 0.000000
+197 1.960000 0.000000 0.000000
+198 1.970000 0.000000 0.000000
+199 1.980000 0.000000 0.000000
+200 1.990000 0.000000 0.000000
+201 2.000000 0.000000 0.000000
+202 2.010000 0.000000 0.000000
+203 2.020000 0.000000 0.000000
+204 2.030000 0.000000 0.000000
+205 2.040000 0.000000 0.000000
+206 2.050000 0.000000 0.000000
+207 2.060000 0.000000 0.000000
+208 2.070000 0.000000 0.000000
+209 2.080000 0.000000 0.000000
+210 2.090000 0.000000 0.000000
+211 2.100000 0.000000 0.000000
+212 2.110000 0.000000 0.000000
+213 2.120000 0.000000 0.000000
+214 2.130000 0.000000 0.000000
+215 2.140000 0.000000 0.000000
+216 2.150000 0.000000 0.000000
+217 2.160000 0.000000 0.000000
+218 2.170000 0.000000 0.000000
+219 2.180000 0.000000 0.000000
+220 2.190000 0.000000 0.000000
+221 2.200000 0.000000 0.000000
+222 2.210000 0.000000 0.000000
+223 2.220000 0.000000 0.000000
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_0.8
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999781 -0.058114
+115 1.140000 -0.998815 -0.135122
+116 1.150000 -0.997079 -0.211921
+117 1.160000 -0.994577 -0.288394
+118 1.170000 -0.991313 -0.364422
+119 1.180000 -0.987291 -0.439888
+120 1.190000 -0.982517 -0.514676
+121 1.200000 -0.977000 -0.588671
+122 1.210000 -0.970747 -0.661757
+123 1.220000 -0.963768 -0.733823
+124 1.230000 -0.956074 -0.804758
+125 1.240000 -0.947677 -0.874452
+126 1.250000 -0.938590 -0.942798
+127 1.260000 -0.928826 -1.009689
+128 1.270000 -0.918401 -1.075024
+129 1.280000 -0.907331 -1.138702
+130 1.290000 -0.895633 -1.200623
+131 1.300000 -0.883325 -1.260693
+132 1.310000 -0.870426 -1.318820
+133 1.320000 -0.856955 -1.374913
+134 1.330000 -0.842934 -1.428885
+135 1.340000 -0.828385 -1.480655
+136 1.350000 -0.813329 -1.530141
+137 1.360000 -0.797790 -1.577269
+138 1.370000 -0.781792 -1.621964
+139 1.380000 -0.765359 -1.664158
+140 1.390000 -0.748517 -1.703786
+141 1.400000 -0.731292 -1.740787
+142 1.410000 -0.713710 -1.775104
+143 1.420000 -0.695799 -1.806684
+144 1.430000 -0.677586 -1.835478
+145 1.440000 -0.659099 -1.861442
+146 1.450000 -0.640367 -1.884535
+147 1.460000 -0.621418 -1.904723
+148 1.470000 -0.602282 -1.921974
+149 1.480000 -0.582988 -1.936261
+150 1.490000 -0.563567 -1.947563
+151 1.500000 -0.544047 -1.955862
+152 1.510000 -0.524459 -1.961145
+153 1.520000 -0.504834 -1.963404
+154 1.530000 -0.485201 -1.962635
+155 1.540000 -0.465592 -1.958841
+156 1.550000 -0.446035 -1.952026
+157 1.560000 -0.426561 -1.942201
+158 1.570000 -0.407201 -1.929381
+159 1.580000 -0.387983 -1.913586
+160 1.590000 -0.368939 -1.894841
+161 1.600000 -0.350096 -1.873174
+162 1.610000 -0.331485 -1.848619
+163 1.620000 -0.313133 -1.821213
+164 1.630000 -0.295070 -1.790999
+165 1.640000 -0.277323 -1.758024
+166 1.650000 -0.259919 -1.722338
+167 1.660000 -0.242885 -1.683996
+168 1.670000 -0.226247 -1.643057
+169 1.680000 -0.210032 -1.599585
+170 1.690000 -0.194264 -1.553647
+171 1.700000 -0.178967 -1.505313
+172 1.710000 -0.164165 -1.454658
+173 1.720000 -0.149881 -1.401759
+174 1.730000 -0.136137 -1.346700
+175 1.740000 -0.122954 -1.289564
+176 1.750000 -0.110353 -1.230439
+177 1.760000 -0.098352 -1.169418
+178 1.770000 -0.086970 -1.106593
+179 1.780000 -0.076226 -1.042062
+180 1.790000 -0.066134 -0.975924
+181 1.800000 -0.056712 -0.908281
+182 1.810000 -0.047973 -0.839238
+183 1.820000 -0.039932 -0.768901
+184 1.830000 -0.032599 -0.697378
+185 1.840000 -0.025988 -0.624780
+186 1.850000 -0.020107 -0.551218
+187 1.860000 -0.014966 -0.476807
+188 1.870000 -0.010573 -0.401660
+189 1.880000 -0.006935 -0.325894
+190 1.890000 -0.004057 -0.249625
+191 1.900000 -0.001944 -0.172972
+192 1.910000 -0.000599 -0.096052
+193 1.920000 -0.000023 -0.018984
+194 1.930000 0.000000 0.000000
+195 1.940000 0.000000 0.000000
+196 1.950000 0.000000 0.000000
+197 1.960000 0.000000 0.000000
+198 1.970000 0.000000 0.000000
+199 1.980000 0.000000 0.000000
+200 1.990000 0.000000 0.000000
+201 2.000000 0.000000 0.000000
+202 2.010000 0.000000 0.000000
+203 2.020000 0.000000 0.000000
+204 2.030000 0.000000 0.000000
+205 2.040000 0.000000 0.000000
+206 2.050000 0.000000 0.000000
+207 2.060000 0.000000 0.000000
+208 2.070000 0.000000 0.000000
+209 2.080000 0.000000 0.000000
+210 2.090000 0.000000 0.000000
+211 2.100000 0.000000 0.000000
+212 2.110000 0.000000 0.000000
+213 2.120000 0.000000 0.000000
+214 2.130000 0.000000 0.000000
+215 2.140000 0.000000 0.000000
+216 2.150000 0.000000 0.000000
+217 2.160000 0.000000 0.000000
+218 2.170000 0.000000 0.000000
+219 2.180000 0.000000 0.000000
+220 2.190000 0.000000 0.000000
+221 2.200000 0.000000 0.000000
+222 2.210000 0.000000 0.000000
+223 2.220000 0.000000 0.000000
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_0.9
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999827 -0.045919
+115 1.140000 -0.999063 -0.106781
+116 1.150000 -0.997692 -0.167513
+117 1.160000 -0.995714 -0.228040
+118 1.170000 -0.993132 -0.288290
+119 1.180000 -0.989949 -0.348189
+120 1.190000 -0.986169 -0.407664
+121 1.200000 -0.981798 -0.466642
+122 1.210000 -0.976839 -0.525051
+123 1.220000 -0.971299 -0.582821
+124 1.230000 -0.965185 -0.639880
+125 1.240000 -0.958504 -0.696160
+126 1.250000 -0.951264 -0.751592
+127 1.260000 -0.943475 -0.806108
+128 1.270000 -0.935145 -0.859642
+129 1.280000 -0.926285 -0.912129
+130 1.290000 -0.916906 -0.963505
+131 1.300000 -0.907019 -1.013706
+132 1.310000 -0.896636 -1.062673
+133 1.320000 -0.885770 -1.110344
+134 1.330000 -0.874434 -1.156663
+135 1.340000 -0.862642 -1.201573
+136 1.350000 -0.850407 -1.245019
+137 1.360000 -0.837746 -1.286948
+138 1.370000 -0.824674 -1.327309
+139 1.380000 -0.811205 -1.366053
+140 1.390000 -0.797358 -1.403132
+141 1.400000 -0.783149 -1.438502
+142 1.410000 -0.768594 -1.472120
+143 1.420000 -0.753712 -1.503944
+144 1.430000 -0.738521 -1.533936
+145 1.440000 -0.723040 -1.562058
+146 1.450000 -0.707286 -1.588278
+147 1.460000 -0.691281 -1.612562
+148 1.470000 -0.675042 -1.634882
+149 1.480000 -0.658590 -1.655210
+150 1.490000 -0.641944 -1.673522
+151 1.500000 -0.625126 -1.689794
+152 1.510000 -0.608155 -1.704008
+153 1.520000 -0.591053 -1.716146
+154 1.530000 -0.573839 -1.726192
+155 1.540000 -0.556536 -1.734136
+156 1.550000 -0.539164 -1.739967
+157 1.560000 -0.521744 -1.743678
+158 1.570000 -0.504297 -1.745265
+159 1.580000 -0.486845 -1.744725
+160 1.590000 -0.469410 -1.742060
+161 1.600000 -0.452011 -1.737272
+162 1.610000 -0.434671 -1.730368
+163 1.620000 -0.417411 -1.721355
+164 1.630000 -0.400251 -1.710245
+165 1.640000 -0.383213 -1.697052
+166 1.650000 -0.366317 -1.681791
+167 1.660000 -0.349584 -1.664481
+168 1.670000 -0.333034 -1.645143
+169 1.680000 -0.316688 -1.623800
+170 1.690000 -0.300565 -1.600480
+171 1.700000 -0.284685 -1.575209
+172 1.710000 -0.269067 -1.548019
+173 1.720000 -0.253731 -1.518943
+174 1.730000 -0.238694 -1.488017
+175 1.740000 -0.223976 -1.455278
+176 1.750000 -0.209595 -1.420765
+177 1.760000 -0.195567 -1.384522
+178 1.770000 -0.181910 -1.346592
+179 1.780000 -0.168640 -1.307021
+180 1.790000 -0.155775 -1.265858
+181 1.800000 -0.143328 -1.223153
+182 1.810000 -0.131317 -1.178957
+183 1.820000 -0.119754 -1.133325
+184 1.830000 -0.108655 -1.086312
+185 1.840000 -0.098032 -1.037976
+186 1.850000 -0.087899 -0.988375
+187 1.860000 -0.078269 -0.937570
+188 1.870000 -0.069152 -0.885622
+189 1.880000 -0.060560 -0.832596
+190 1.890000 -0.052503 -0.778555
+191 1.900000 -0.044992 -0.723566
+192 1.910000 -0.038035 -0.667695
+193 1.920000 -0.031641 -0.611011
+194 1.930000 -0.025817 -0.553582
+195 1.940000 -0.020571 -0.495479
+196 1.950000 -0.015910 -0.436772
+197 1.960000 -0.011838 -0.377533
+198 1.970000 -0.008360 -0.317834
+199 1.980000 -0.005482 -0.257747
+200 1.990000 -0.003207 -0.197347
+201 2.000000 -0.001536 -0.136706
+202 2.010000 -0.000473 -0.075899
+203 2.020000 -0.000018 -0.014999
+204 2.030000 0.000000 0.000000
+205 2.040000 0.000000 0.000000
+206 2.050000 0.000000 0.000000
+207 2.060000 0.000000 0.000000
+208 2.070000 0.000000 0.000000
+209 2.080000 0.000000 0.000000
+210 2.090000 0.000000 0.000000
+211 2.100000 0.000000 0.000000
+212 2.110000 0.000000 0.000000
+213 2.120000 0.000000 0.000000
+214 2.130000 0.000000 0.000000
+215 2.140000 0.000000 0.000000
+216 2.150000 0.000000 0.000000
+217 2.160000 0.000000 0.000000
+218 2.170000 0.000000 0.000000
+219 2.180000 0.000000 0.000000
+220 2.190000 0.000000 0.000000
+221 2.200000 0.000000 0.000000
+222 2.210000 0.000000 0.000000
+223 2.220000 0.000000 0.000000
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.0
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999860 -0.037195
+115 1.140000 -0.999241 -0.086503
+116 1.150000 -0.998130 -0.135725
+117 1.160000 -0.996527 -0.184813
+118 1.170000 -0.994434 -0.233719
+119 1.180000 -0.991854 -0.282395
+120 1.190000 -0.988787 -0.330791
+121 1.200000 -0.985239 -0.378862
+122 1.210000 -0.981211 -0.426558
+123 1.220000 -0.976709 -0.473833
+124 1.230000 -0.971736 -0.520641
+125 1.240000 -0.966298 -0.566935
+126 1.250000 -0.960399 -0.612669
+127 1.260000 -0.954047 -0.657799
+128 1.270000 -0.947246 -0.702280
+129 1.280000 -0.940003 -0.746067
+130 1.290000 -0.932327 -0.789119
+131 1.300000 -0.924224 -0.831391
+132 1.310000 -0.915702 -0.872843
+133 1.320000 -0.906770 -0.913434
+134 1.330000 -0.897436 -0.953123
+135 1.340000 -0.887710 -0.991872
+136 1.350000 -0.877602 -1.029642
+137 1.360000 -0.867121 -1.066395
+138 1.370000 -0.856277 -1.102096
+139 1.380000 -0.845082 -1.136710
+140 1.390000 -0.833547 -1.170202
+141 1.400000 -0.821682 -1.202539
+142 1.410000 -0.809500 -1.233689
+143 1.420000 -0.797013 -1.263622
+144 1.430000 -0.784232 -1.292307
+145 1.440000 -0.771171 -1.319717
+146 1.450000 -0.757842 -1.345825
+147 1.460000 -0.744259 -1.370605
+148 1.470000 -0.730434 -1.394032
+149 1.480000 -0.716383 -1.416083
+150 1.490000 -0.702117 -1.436737
+151 1.500000 -0.687653 -1.455973
+152 1.510000 -0.673003 -1.473772
+153 1.520000 -0.658182 -1.490117
+154 1.530000 -0.643205 -1.504991
+155 1.540000 -0.628087 -1.518380
+156 1.550000 -0.612843 -1.530270
+157 1.560000 -0.597487 -1.540650
+158 1.570000 -0.582035 -1.549510
+159 1.580000 -0.566502 -1.556841
+160 1.590000 -0.550903 -1.562635
+161 1.600000 -0.535254 -1.566887
+162 1.610000 -0.519570 -1.569593
+163 1.620000 -0.503867 -1.570749
+164 1.630000 -0.488161 -1.570356
+165 1.640000 -0.472465 -1.568413
+166 1.650000 -0.456797 -1.564922
+167 1.660000 -0.441172 -1.559886
+168 1.670000 -0.425605 -1.553311
+169 1.680000 -0.410111 -1.545204
+170 1.690000 -0.394706 -1.535571
+171 1.700000 -0.379405 -1.524423
+172 1.710000 -0.364222 -1.511770
+173 1.720000 -0.349174 -1.497626
+174 1.730000 -0.334275 -1.482003
+175 1.740000 -0.319539 -1.464918
+176 1.750000 -0.304981 -1.446388
+177 1.760000 -0.290616 -1.426430
+178 1.770000 -0.276457 -1.405064
+179 1.780000 -0.262519 -1.382311
+180 1.790000 -0.248816 -1.358195
+181 1.800000 -0.235360 -1.332738
+182 1.810000 -0.222165 -1.305965
+183 1.820000 -0.209245 -1.277904
+184 1.830000 -0.196611 -1.248582
+185 1.840000 -0.184277 -1.218028
+186 1.850000 -0.172255 -1.186271
+187 1.860000 -0.160556 -1.153344
+188 1.870000 -0.149192 -1.119279
+189 1.880000 -0.138174 -1.084109
+190 1.890000 -0.127513 -1.047869
+191 1.900000 -0.117220 -1.010595
+192 1.910000 -0.107305 -0.972323
+193 1.920000 -0.097777 -0.933093
+194 1.930000 -0.088646 -0.892941
+195 1.940000 -0.079921 -0.851908
+196 1.950000 -0.071610 -0.810034
+197 1.960000 -0.063723 -0.767361
+198 1.970000 -0.056266 -0.723931
+199 1.980000 -0.049247 -0.679786
+200 1.990000 -0.042672 -0.634970
+201 2.000000 -0.036549 -0.589528
+202 2.010000 -0.030884 -0.543504
+203 2.020000 -0.025681 -0.496943
+204 2.030000 -0.020946 -0.449892
+205 2.040000 -0.016685 -0.402397
+206 2.050000 -0.012900 -0.354505
+207 2.060000 -0.009596 -0.306263
+208 2.070000 -0.006776 -0.257719
+209 2.080000 -0.004442 -0.208921
+210 2.090000 -0.002598 -0.159916
+211 2.100000 -0.001244 -0.110754
+212 2.110000 -0.000383 -0.061482
+213 2.120000 -0.000015 -0.012150
+214 2.130000 0.000000 0.000000
+215 2.140000 0.000000 0.000000
+216 2.150000 0.000000 0.000000
+217 2.160000 0.000000 0.000000
+218 2.170000 0.000000 0.000000
+219 2.180000 0.000000 0.000000
+220 2.190000 0.000000 0.000000
+221 2.200000 0.000000 0.000000
+222 2.210000 0.000000 0.000000
+223 2.220000 0.000000 0.000000
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.1
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999884 -0.030740
+115 1.140000 -0.999373 -0.071496
+116 1.150000 -0.998454 -0.112194
+117 1.160000 -0.997129 -0.152800
+118 1.170000 -0.995399 -0.193281
+119 1.180000 -0.993264 -0.233605
+120 1.190000 -0.990727 -0.273738
+121 1.200000 -0.987790 -0.313649
+122 1.210000 -0.984455 -0.353303
+123 1.220000 -0.980725 -0.392669
+124 1.230000 -0.976603 -0.431715
+125 1.240000 -0.972092 -0.470408
+126 1.250000 -0.967196 -0.508719
+127 1.260000 -0.961919 -0.546614
+128 1.270000 -0.956265 -0.584063
+129 1.280000 -0.950239 -0.621036
+130 1.290000 -0.943846 -0.657502
+131 1.300000 -0.937091 -0.693432
+132 1.310000 -0.929979 -0.728797
+133 1.320000 -0.922517 -0.763567
+134 1.330000 -0.914710 -0.797715
+135 1.340000 -0.906565 -0.831211
+136 1.350000 -0.898088 -0.864030
+137 1.360000 -0.889287 -0.896144
+138 1.370000 -0.880168 -0.927527
+139 1.380000 -0.870739 -0.958154
+140 1.390000 -0.861007 -0.987999
+141 1.400000 -0.850981 -1.017039
+142 1.410000 -0.840669 -1.045248
+143 1.420000 -0.830079 -1.072606
+144 1.430000 -0.819220 -1.099088
+145 1.440000 -0.808101 -1.124674
+146 1.450000 -0.796730 -1.149343
+147 1.460000 -0.785117 -1.173074
+148 1.470000 -0.773271 -1.195849
+149 1.480000 -0.761203 -1.217648
+150 1.490000 -0.748922 -1.238454
+151 1.500000 -0.736437 -1.258250
+152 1.510000 -0.723760 -1.277020
+153 1.520000 -0.710900 -1.294748
+154 1.530000 -0.697869 -1.311420
+155 1.540000 -0.684676 -1.327023
+156 1.550000 -0.671332 -1.341543
+157 1.560000 -0.657848 -1.354969
+158 1.570000 -0.644236 -1.367290
+159 1.580000 -0.630506 -1.378496
+160 1.590000 -0.616670 -1.388577
+161 1.600000 -0.602739 -1.397526
+162 1.610000 -0.588723 -1.405335
+163 1.620000 -0.574636 -1.411998
+164 1.630000 -0.560487 -1.417509
+165 1.640000 -0.546289 -1.421864
+166 1.650000 -0.532054 -1.425059
+167 1.660000 -0.517792 -1.427092
+168 1.670000 -0.503516 -1.427961
+169 1.680000 -0.489237 -1.427666
+170 1.690000 -0.474966 -1.426206
+171 1.700000 -0.460716 -1.423582
+172 1.710000 -0.446499 -1.419798
+173 1.720000 -0.432324 -1.414856
+174 1.730000 -0.418205 -1.408759
+175 1.740000 -0.404153 -1.401514
+176 1.750000 -0.390179 -1.393126
+177 1.760000 -0.376294 -1.383601
+178 1.770000 -0.362511 -1.372948
+179 1.780000 -0.348839 -1.361175
+180 1.790000 -0.335291 -1.348292
+181 1.800000 -0.321877 -1.334309
+182 1.810000 -0.308608 -1.319238
+183 1.820000 -0.295496 -1.303091
+184 1.830000 -0.282550 -1.285881
+185 1.840000 -0.269782 -1.267622
+186 1.850000 -0.257201 -1.248329
+187 1.860000 -0.244818 -1.228018
+188 1.870000 -0.232644 -1.206706
+189 1.880000 -0.220688 -1.184410
+190 1.890000 -0.208959 -1.161147
+191 1.900000 -0.197468 -1.136937
+192 1.910000 -0.186223 -1.111800
+193 1.920000 -0.175235 -1.085757
+194 1.930000 -0.164511 -1.058827
+195 1.940000 -0.154061 -1.031034
+196 1.950000 -0.143893 -1.002401
+197 1.960000 -0.134016 -0.972949
+198 1.970000 -0.124437 -0.942704
+199 1.980000 -0.115164 -0.911690
+200 1.990000 -0.106206 -0.879933
+201 2.000000 -0.097568 -0.847458
+202 2.010000 -0.089259 -0.814292
+203 2.020000 -0.081284 -0.780461
+204 2.030000 -0.073652 -0.745994
+205 2.040000 -0.066367 -0.710919
+206 2.050000 -0.059435 -0.675264
+207 2.060000 -0.052863 -0.639057
+208 2.070000 -0.046656 -0.602330
+209 2.080000 -0.040818 -0.565112
+210 2.090000 -0.035355 -0.527432
+211 2.100000 -0.030271 -0.489323
+212 2.110000 -0.025570 -0.450814
+213 2.120000 -0.021256 -0.411937
+214 2.130000 -0.017332 -0.372725
+215 2.140000 -0.013802 -0.333209
+216 2.150000 -0.010669 -0.293421
+217 2.160000 -0.007935 -0.253393
+218 2.170000 -0.005602 -0.213159
+219 2.180000 -0.003672 -0.172751
+220 2.190000 -0.002147 -0.132202
+221 2.200000 -0.001028 -0.091545
+222 2.210000 -0.000317 -0.050814
+223 2.220000 -0.000012 -0.010041
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.2
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999903 -0.025830
+115 1.140000 -0.999473 -0.060080
+116 1.150000 -0.998701 -0.094289
+117 1.160000 -0.997587 -0.128434
+118 1.170000 -0.996133 -0.162490
+119 1.180000 -0.994338 -0.196435
+120 1.190000 -0.992205 -0.230245
+121 1.200000 -0.989734 -0.263897
+122 1.210000 -0.986927 -0.297369
+123 1.220000 -0.983787 -0.330637
+124 1.230000 -0.980315 -0.363678
+125 1.240000 -0.976514 -0.396470
+126 1.250000 -0.972387 -0.428990
+127 1.260000 -0.967935 -0.461216
+128 1.270000 -0.963163 -0.493126
+129 1.280000 -0.958074 -0.524698
+130 1.290000 -0.952671 -0.555911
+131 1.300000 -0.946957 -0.586742
+132 1.310000 -0.940937 -0.617172
+133 1.320000 -0.934615 -0.647178
+134 1.330000 -0.927995 -0.676741
+135 1.340000 -0.921082 -0.705840
+136 1.350000 -0.913880 -0.734455
+137 1.360000 -0.906394 -0.762567
+138 1.370000 -0.898630 -0.790157
+139 1.380000 -0.890593 -0.817204
+140 1.390000 -0.882288 -0.843692
+141 1.400000 -0.873721 -0.869602
+142 1.410000 -0.864898 -0.894915
+143 1.420000 -0.855825 -0.919615
+144 1.430000 -0.846508 -0.943685
+145 1.440000 -0.836953 -0.967108
+146 1.450000 -0.827168 -0.989869
+147 1.460000 -0.817158 -1.011951
+148 1.470000 -0.806931 -1.033339
+149 1.480000 -0.796494 -1.054019
+150 1.490000 -0.785853 -1.073977
+151 1.500000 -0.775017 -1.093199
+152 1.510000 -0.763992 -1.111672
+153 1.520000 -0.752786 -1.129382
+154 1.530000 -0.741407 -1.146319
+155 1.540000 -0.729862 -1.162470
+156 1.550000 -0.718160 -1.177825
+157 1.560000 -0.706308 -1.192372
+158 1.570000 -0.694315 -1.206102
+159 1.580000 -0.682189 -1.219005
+160 1.590000 -0.669938 -1.231073
+161 1.600000 -0.657570 -1.242297
+162 1.610000 -0.645095 -1.252670
+163 1.620000 -0.632520 -1.262184
+164 1.630000 -0.619854 -1.270833
+165 1.640000 -0.607106 -1.278611
+166 1.650000 -0.594285 -1.285513
+167 1.660000 -0.581399 -1.291534
+168 1.670000 -0.568457 -1.296670
+169 1.680000 -0.555468 -1.300917
+170 1.690000 -0.542442 -1.304273
+171 1.700000 -0.529386 -1.306734
+172 1.710000 -0.516310 -1.308300
+173 1.720000 -0.503223 -1.308970
+174 1.730000 -0.490133 -1.308742
+175 1.740000 -0.477051 -1.307617
+176 1.750000 -0.463984 -1.305597
+177 1.760000 -0.450942 -1.302681
+178 1.770000 -0.437933 -1.298873
+179 1.780000 -0.424968 -1.294174
+180 1.790000 -0.412053 -1.288588
+181 1.800000 -0.399199 -1.282120
+182 1.810000 -0.386413 -1.274772
+183 1.820000 -0.373706 -1.266551
+184 1.830000 -0.361085 -1.257462
+185 1.840000 -0.348560 -1.247511
+186 1.850000 -0.336138 -1.236706
+187 1.860000 -0.323828 -1.225052
+188 1.870000 -0.311640 -1.212559
+189 1.880000 -0.299580 -1.199235
+190 1.890000 -0.287658 -1.185089
+191 1.900000 -0.275881 -1.170131
+192 1.910000 -0.264258 -1.154371
+193 1.920000 -0.252796 -1.137820
+194 1.930000 -0.241504 -1.120489
+195 1.940000 -0.230389 -1.102390
+196 1.950000 -0.219459 -1.083535
+197 1.960000 -0.208721 -1.063938
+198 1.970000 -0.198182 -1.043612
+199 1.980000 -0.187851 -1.022570
+200 1.990000 -0.177733 -1.000828
+201 2.000000 -0.167837 -0.978400
+202 2.010000 -0.158168 -0.955301
+203 2.020000 -0.148733 -0.931547
+204 2.030000 -0.139539 -0.907155
+205 2.040000 -0.130592 -0.882142
+206 2.050000 -0.121898 -0.856524
+207 2.060000 -0.113463 -0.830318
+208 2.070000 -0.105293 -0.803544
+209 2.080000 -0.097394 -0.776219
+210 2.090000 -0.089771 -0.748362
+211 2.100000 -0.082429 -0.719992
+212 2.110000 -0.075373 -0.691129
+213 2.120000 -0.068608 -0.661792
+214 2.130000 -0.062138 -0.632001
+215 2.140000 -0.055969 -0.601777
+216 2.150000 -0.050104 -0.571141
+217 2.160000 -0.044548 -0.540114
+218 2.170000 -0.039303 -0.508716
+219 2.180000 -0.034374 -0.476970
+220 2.190000 -0.029765 -0.444896
+221 2.200000 -0.025478 -0.412518
+222 2.210000 -0.021515 -0.379857
+223 2.220000 -0.017881 -0.346936
+224 2.230000 -0.014577 -0.313777
+225 2.240000 -0.011606 -0.280403
+226 2.250000 -0.008970 -0.246837
+227 2.260000 -0.006670 -0.213101
+228 2.270000 -0.004709 -0.179220
+229 2.280000 -0.003086 -0.145216
+230 2.290000 -0.001805 -0.111112
+231 2.300000 -0.000864 -0.076932
+232 2.310000 -0.000266 -0.042699
+233 2.320000 -0.000010 -0.008437
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.3
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999917 -0.022010
+115 1.140000 -0.999551 -0.051196
+116 1.150000 -0.998893 -0.080352
+117 1.160000 -0.997944 -0.109461
+118 1.170000 -0.996704 -0.138506
+119 1.180000 -0.995174 -0.167470
+120 1.190000 -0.993355 -0.196337
+121 1.200000 -0.991248 -0.225088
+122 1.210000 -0.988854 -0.253709
+123 1.220000 -0.986174 -0.282181
+124 1.230000 -0.983211 -0.310488
+125 1.240000 -0.979965 -0.338614
+126 1.250000 -0.976439 -0.366543
+127 1.260000 -0.972635 -0.394257
+128 1.270000 -0.968555 -0.421741
+129 1.280000 -0.964201 -0.448979
+130 1.290000 -0.959576 -0.475955
+131 1.300000 -0.954683 -0.502652
+132 1.310000 -0.949524 -0.529056
+133 1.320000 -0.944103 -0.555152
+134 1.330000 -0.938422 -0.580923
+135 1.340000 -0.932485 -0.606354
+136 1.350000 -0.926296 -0.631432
+137 1.360000 -0.919858 -0.656141
+138 1.370000 -0.913175 -0.680467
+139 1.380000 -0.906250 -0.704395
+140 1.390000 -0.899088 -0.727912
+141 1.400000 -0.891693 -0.751004
+142 1.410000 -0.884069 -0.773657
+143 1.420000 -0.876221 -0.795859
+144 1.430000 -0.868154 -0.817596
+145 1.440000 -0.859871 -0.838855
+146 1.450000 -0.851378 -0.859625
+147 1.460000 -0.842680 -0.879892
+148 1.470000 -0.833782 -0.899646
+149 1.480000 -0.824689 -0.918874
+150 1.490000 -0.815407 -0.937566
+151 1.500000 -0.805940 -0.955710
+152 1.510000 -0.796294 -0.973296
+153 1.520000 -0.786476 -0.990314
+154 1.530000 -0.776490 -1.006753
+155 1.540000 -0.766343 -1.022605
+156 1.550000 -0.756040 -1.037859
+157 1.560000 -0.745587 -1.052507
+158 1.570000 -0.734992 -1.066541
+159 1.580000 -0.724259 -1.079952
+160 1.590000 -0.713395 -1.092732
+161 1.600000 -0.702406 -1.104874
+162 1.610000 -0.691299 -1.116371
+163 1.620000 -0.680081 -1.127215
+164 1.630000 -0.668757 -1.137402
+165 1.640000 -0.657335 -1.146924
+166 1.650000 -0.645821 -1.155777
+167 1.660000 -0.634222 -1.163955
+168 1.670000 -0.622544 -1.171452
+169 1.680000 -0.610795 -1.178266
+170 1.690000 -0.598981 -1.184392
+171 1.700000 -0.587109 -1.189826
+172 1.710000 -0.575187 -1.194565
+173 1.720000 -0.563220 -1.198607
+174 1.730000 -0.551217 -1.201949
+175 1.740000 -0.539184 -1.204589
+176 1.750000 -0.527128 -1.206525
+177 1.760000 -0.515056 -1.207757
+178 1.770000 -0.502975 -1.208283
+179 1.780000 -0.490892 -1.208104
+180 1.790000 -0.478815 -1.207220
+181 1.800000 -0.466750 -1.205630
+182 1.810000 -0.454705 -1.203337
+183 1.820000 -0.442686 -1.200340
+184 1.830000 -0.430700 -1.196643
+185 1.840000 -0.418755 -1.192247
+186 1.850000 -0.406858 -1.187155
+187 1.860000 -0.395015 -1.181369
+188 1.870000 -0.383233 -1.174893
+189 1.880000 -0.371519 -1.167732
+190 1.890000 -0.359880 -1.159888
+191 1.900000 -0.348324 -1.151367
+192 1.910000 -0.336855 -1.142174
+193 1.920000 -0.325482 -1.132314
+194 1.930000 -0.314211 -1.121793
+195 1.940000 -0.303049 -1.110616
+196 1.950000 -0.292001 -1.098791
+197 1.960000 -0.281075 -1.086324
+198 1.970000 -0.270277 -1.073223
+199 1.980000 -0.259613 -1.059495
+200 1.990000 -0.249089 -1.045148
+201 2.000000 -0.238712 -1.030191
+202 2.010000 -0.228487 -1.014633
+203 2.020000 -0.218421 -0.998482
+204 2.030000 -0.208519 -0.981748
+205 2.040000 -0.198788 -0.964440
+206 2.050000 -0.189232 -0.946569
+207 2.060000 -0.179858 -0.928146
+208 2.070000 -0.170671 -0.909180
+209 2.080000 -0.161677 -0.889684
+210 2.090000 -0.152879 -0.869668
+211 2.100000 -0.144285 -0.849144
+212 2.110000 -0.135898 -0.828125
+213 2.120000 -0.127724 -0.806621
+214 2.130000 -0.119767 -0.784647
+215 2.140000 -0.112033 -0.762214
+216 2.150000 -0.104524 -0.739337
+217 2.160000 -0.097247 -0.716027
+218 2.170000 -0.090205 -0.692300
+219 2.180000 -0.083403 -0.668168
+220 2.190000 -0.076843 -0.643646
+221 2.200000 -0.070531 -0.618748
+222 2.210000 -0.064469 -0.593489
+223 2.220000 -0.058662 -0.567883
+224 2.230000 -0.053113 -0.541946
+225 2.240000 -0.047824 -0.515692
+226 2.250000 -0.042800 -0.489137
+227 2.260000 -0.038043 -0.462296
+228 2.270000 -0.033555 -0.435185
+229 2.280000 -0.029340 -0.407820
+230 2.290000 -0.025399 -0.380217
+231 2.300000 -0.021736 -0.352392
+232 2.310000 -0.018352 -0.324362
+233 2.320000 -0.015250 -0.296141
+234 2.330000 -0.012430 -0.267748
+235 2.340000 -0.009895 -0.239199
+236 2.350000 -0.007647 -0.210510
+237 2.360000 -0.005685 -0.181697
+238 2.370000 -0.004013 -0.152779
+239 2.380000 -0.002630 -0.123772
+240 2.390000 -0.001538 -0.094692
+241 2.400000 -0.000736 -0.065557
+242 2.410000 -0.000227 -0.036384
+243 2.420000 -0.000009 -0.007189
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.4
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999928 -0.018978
+115 1.140000 -0.999613 -0.044145
+116 1.150000 -0.999046 -0.069290
+117 1.160000 -0.998227 -0.094400
+118 1.170000 -0.997158 -0.119462
+119 1.180000 -0.995838 -0.144464
+120 1.190000 -0.994269 -0.169394
+121 1.200000 -0.992451 -0.194238
+122 1.210000 -0.990384 -0.218985
+123 1.220000 -0.988071 -0.243621
+124 1.230000 -0.985512 -0.268134
+125 1.240000 -0.982709 -0.292513
+126 1.250000 -0.979663 -0.316744
+127 1.260000 -0.976375 -0.340816
+128 1.270000 -0.972847 -0.364716
+129 1.280000 -0.969081 -0.388432
+130 1.290000 -0.965079 -0.411953
+131 1.300000 -0.960843 -0.435266
+132 1.310000 -0.956374 -0.458361
+133 1.320000 -0.951676 -0.481224
+134 1.330000 -0.946751 -0.503845
+135 1.340000 -0.941600 -0.526213
+136 1.350000 -0.936227 -0.548315
+137 1.360000 -0.930635 -0.570142
+138 1.370000 -0.924825 -0.591681
+139 1.380000 -0.918802 -0.612922
+140 1.390000 -0.912568 -0.633855
+141 1.400000 -0.906126 -0.654469
+142 1.410000 -0.899480 -0.674753
+143 1.420000 -0.892632 -0.694697
+144 1.430000 -0.885587 -0.714291
+145 1.440000 -0.878347 -0.733526
+146 1.450000 -0.870918 -0.752392
+147 1.460000 -0.863301 -0.770878
+148 1.470000 -0.855501 -0.788977
+149 1.480000 -0.847523 -0.806678
+150 1.490000 -0.839369 -0.823973
+151 1.500000 -0.831045 -0.840853
+152 1.510000 -0.822553 -0.857310
+153 1.520000 -0.813900 -0.873335
+154 1.530000 -0.805088 -0.888920
+155 1.540000 -0.796123 -0.904058
+156 1.550000 -0.787009 -0.918740
+157 1.560000 -0.777750 -0.932960
+158 1.570000 -0.768351 -0.946710
+159 1.580000 -0.758817 -0.959983
+160 1.590000 -0.749153 -0.972773
+161 1.600000 -0.739363 -0.985073
+162 1.610000 -0.729453 -0.996878
+163 1.620000 -0.719427 -1.008180
+164 1.630000 -0.709291 -1.018974
+165 1.640000 -0.699050 -1.029256
+166 1.650000 -0.688708 -1.039019
+167 1.660000 -0.678271 -1.048259
+168 1.670000 -0.667744 -1.056971
+169 1.680000 -0.657133 -1.065151
+170 1.690000 -0.646443 -1.072795
+171 1.700000 -0.635679 -1.079898
+172 1.710000 -0.624847 -1.086458
+173 1.720000 -0.613952 -1.092471
+174 1.730000 -0.602999 -1.097933
+175 1.740000 -0.591995 -1.102843
+176 1.750000 -0.580944 -1.107197
+177 1.760000 -0.569853 -1.110994
+178 1.770000 -0.558726 -1.114231
+179 1.780000 -0.547570 -1.116908
+180 1.790000 -0.536390 -1.119022
+181 1.800000 -0.525192 -1.120572
+182 1.810000 -0.513981 -1.121559
+183 1.820000 -0.502762 -1.121980
+184 1.830000 -0.491543 -1.121837
+185 1.840000 -0.480328 -1.121129
+186 1.850000 -0.469122 -1.119856
+187 1.860000 -0.457932 -1.118019
+188 1.870000 -0.446764 -1.115620
+189 1.880000 -0.435622 -1.112658
+190 1.890000 -0.424512 -1.109137
+191 1.900000 -0.413441 -1.105056
+192 1.910000 -0.402413 -1.100420
+193 1.920000 -0.391434 -1.095229
+194 1.930000 -0.380510 -1.089487
+195 1.940000 -0.369646 -1.083196
+196 1.950000 -0.358848 -1.076360
+197 1.960000 -0.348121 -1.068982
+198 1.970000 -0.337470 -1.061066
+199 1.980000 -0.326902 -1.052615
+200 1.990000 -0.316420 -1.043634
+201 2.000000 -0.306031 -1.034128
+202 2.010000 -0.295739 -1.024101
+203 2.020000 -0.285550 -1.013559
+204 2.030000 -0.275470 -1.002506
+205 2.040000 -0.265502 -0.990948
+206 2.050000 -0.255652 -0.978892
+207 2.060000 -0.245926 -0.966342
+208 2.070000 -0.236327 -0.953306
+209 2.080000 -0.226861 -0.939790
+210 2.090000 -0.217533 -0.925800
+211 2.100000 -0.208347 -0.911345
+212 2.110000 -0.199307 -0.896430
+213 2.120000 -0.190420 -0.881064
+214 2.130000 -0.181688 -0.865255
+215 2.140000 -0.173116 -0.849010
+216 2.150000 -0.164709 -0.832337
+217 2.160000 -0.156471 -0.815245
+218 2.170000 -0.148405 -0.797743
+219 2.180000 -0.140517 -0.779839
+220 2.190000 -0.132810 -0.761542
+221 2.200000 -0.125288 -0.742862
+222 2.210000 -0.117954 -0.723808
+223 2.220000 -0.110813 -0.704390
+224 2.230000 -0.103867 -0.684616
+225 2.240000 -0.097121 -0.664498
+226 2.250000 -0.090578 -0.644046
+227 2.260000 -0.084242 -0.623269
+228 2.270000 -0.078114 -0.602178
+229 2.280000 -0.072199 -0.580784
+230 2.290000 -0.066499 -0.559098
+231 2.300000 -0.061018 -0.537130
+232 2.310000 -0.055758 -0.514892
+233 2.320000 -0.050721 -0.492394
+234 2.330000 -0.045911 -0.469648
+235 2.340000 -0.041329 -0.446666
+236 2.350000 -0.036978 -0.423459
+237 2.360000 -0.032860 -0.400039
+238 2.370000 -0.028978 -0.376418
+239 2.380000 -0.025333 -0.352606
+240 2.390000 -0.021926 -0.328618
+241 2.400000 -0.018761 -0.304464
+242 2.410000 -0.015838 -0.280156
+243 2.420000 -0.013158 -0.255707
+244 2.430000 -0.010724 -0.231130
+245 2.440000 -0.008536 -0.206436
+246 2.450000 -0.006596 -0.181639
+247 2.460000 -0.004903 -0.156750
+248 2.470000 -0.003461 -0.131782
+249 2.480000 -0.002268 -0.106747
+250 2.490000 -0.001326 -0.081659
+251 2.500000 -0.000635 -0.056530
+252 2.510000 -0.000195 -0.031372
+253 2.520000 -0.000008 -0.006199
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.5
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999938 -0.016532
+115 1.140000 -0.999663 -0.038456
+116 1.150000 -0.999169 -0.060364
+117 1.160000 -0.998456 -0.082245
+118 1.170000 -0.997524 -0.104090
+119 1.180000 -0.996374 -0.125890
+120 1.190000 -0.995006 -0.147634
+121 1.200000 -0.993421 -0.169313
+122 1.210000 -0.991620 -0.190918
+123 1.220000 -0.989603 -0.212440
+124 1.230000 -0.987372 -0.233868
+125 1.240000 -0.984926 -0.255194
+126 1.250000 -0.982268 -0.276407
+127 1.260000 -0.979399 -0.297500
+128 1.270000 -0.976319 -0.318462
+129 1.280000 -0.973030 -0.339284
+130 1.290000 -0.969533 -0.359958
+131 1.300000 -0.965831 -0.380473
+132 1.310000 -0.961925 -0.400822
+133 1.320000 -0.957815 -0.420995
+134 1.330000 -0.953505 -0.440983
+135 1.340000 -0.948996 -0.460778
+136 1.350000 -0.944290 -0.480371
+137 1.360000 -0.939390 -0.499753
+138 1.370000 -0.934296 -0.518915
+139 1.380000 -0.929012 -0.537851
+140 1.390000 -0.923540 -0.556550
+141 1.400000 -0.917882 -0.575005
+142 1.410000 -0.912041 -0.593208
+143 1.420000 -0.906019 -0.611151
+144 1.430000 -0.899818 -0.628825
+145 1.440000 -0.893443 -0.646224
+146 1.450000 -0.886895 -0.663339
+147 1.460000 -0.880177 -0.680164
+148 1.470000 -0.873293 -0.696690
+149 1.480000 -0.866244 -0.712910
+150 1.490000 -0.859035 -0.728818
+151 1.500000 -0.851669 -0.744406
+152 1.510000 -0.844148 -0.759668
+153 1.520000 -0.836477 -0.774596
+154 1.530000 -0.828658 -0.789184
+155 1.540000 -0.820694 -0.803427
+156 1.550000 -0.812590 -0.817317
+157 1.560000 -0.804349 -0.830848
+158 1.570000 -0.795975 -0.844015
+159 1.580000 -0.787470 -0.856812
+160 1.590000 -0.778840 -0.869233
+161 1.600000 -0.770087 -0.881273
+162 1.610000 -0.761215 -0.892926
+163 1.620000 -0.752229 -0.904188
+164 1.630000 -0.743133 -0.915053
+165 1.640000 -0.733930 -0.925516
+166 1.650000 -0.724624 -0.935574
+167 1.660000 -0.715220 -0.945221
+168 1.670000 -0.705721 -0.954454
+169 1.680000 -0.696132 -0.963267
+170 1.690000 -0.686457 -0.971659
+171 1.700000 -0.676700 -0.979624
+172 1.710000 -0.666866 -0.987160
+173 1.720000 -0.656958 -0.994262
+174 1.730000 -0.646982 -1.000929
+175 1.740000 -0.636941 -1.007156
+176 1.750000 -0.626841 -1.012942
+177 1.760000 -0.616684 -1.018283
+178 1.770000 -0.606476 -1.023177
+179 1.780000 -0.596222 -1.027623
+180 1.790000 -0.585925 -1.031618
+181 1.800000 -0.575591 -1.035161
+182 1.810000 -0.565224 -1.038249
+183 1.820000 -0.554828 -1.040883
+184 1.830000 -0.544408 -1.043059
+185 1.840000 -0.533968 -1.044778
+186 1.850000 -0.523514 -1.046039
+187 1.860000 -0.513049 -1.046841
+188 1.870000 -0.502578 -1.047184
+189 1.880000 -0.492107 -1.047067
+190 1.890000 -0.481638 -1.046491
+191 1.900000 -0.471178 -1.045456
+192 1.910000 -0.460731 -1.043963
+193 1.920000 -0.450301 -1.042011
+194 1.930000 -0.439892 -1.039603
+195 1.940000 -0.429510 -1.036739
+196 1.950000 -0.419159 -1.033419
+197 1.960000 -0.408843 -1.029647
+198 1.970000 -0.398567 -1.025423
+199 1.980000 -0.388336 -1.020749
+200 1.990000 -0.378154 -1.015627
+201 2.000000 -0.368025 -1.010060
+202 2.010000 -0.357954 -1.004050
+203 2.020000 -0.347946 -0.997599
+204 2.030000 -0.338004 -0.990711
+205 2.040000 -0.328133 -0.983389
+206 2.050000 -0.318337 -0.975635
+207 2.060000 -0.308622 -0.967453
+208 2.070000 -0.298990 -0.958846
+209 2.080000 -0.289446 -0.949819
+210 2.090000 -0.279995 -0.940376
+211 2.100000 -0.270640 -0.930520
+212 2.110000 -0.261386 -0.920255
+213 2.120000 -0.252236 -0.909588
+214 2.130000 -0.243195 -0.898521
+215 2.140000 -0.234267 -0.887060
+216 2.150000 -0.225455 -0.875210
+217 2.160000 -0.216764 -0.862976
+218 2.170000 -0.208197 -0.850363
+219 2.180000 -0.199758 -0.837378
+220 2.190000 -0.191451 -0.824025
+221 2.200000 -0.183279 -0.810311
+222 2.210000 -0.175246 -0.796241
+223 2.220000 -0.167355 -0.781822
+224 2.230000 -0.159610 -0.767060
+225 2.240000 -0.152015 -0.751962
+226 2.250000 -0.144572 -0.736534
+227 2.260000 -0.137285 -0.720783
+228 2.270000 -0.130158 -0.704715
+229 2.280000 -0.123192 -0.688339
+230 2.290000 -0.116392 -0.671661
+231 2.300000 -0.109760 -0.654688
+232 2.310000 -0.103299 -0.637427
+233 2.320000 -0.097012 -0.619888
+234 2.330000 -0.090902 -0.602076
+235 2.340000 -0.084972 -0.584000
+236 2.350000 -0.079223 -0.565668
+237 2.360000 -0.073659 -0.547088
+238 2.370000 -0.068282 -0.528268
+239 2.380000 -0.063095 -0.509216
+240 2.390000 -0.058099 -0.489941
+241 2.400000 -0.053296 -0.470451
+242 2.410000 -0.048690 -0.450755
+243 2.420000 -0.044282 -0.430861
+244 2.430000 -0.040074 -0.410778
+245 2.440000 -0.036067 -0.390515
+246 2.450000 -0.032264 -0.370080
+247 2.460000 -0.028666 -0.349483
+248 2.470000 -0.025275 -0.328733
+249 2.480000 -0.022092 -0.307839
+250 2.490000 -0.019118 -0.286809
+251 2.500000 -0.016356 -0.265654
+252 2.510000 -0.013806 -0.244382
+253 2.520000 -0.011469 -0.223004
+254 2.530000 -0.009346 -0.201527
+255 2.540000 -0.007439 -0.179962
+256 2.550000 -0.005747 -0.158318
+257 2.560000 -0.004272 -0.136604
+258 2.570000 -0.003015 -0.114831
+259 2.580000 -0.001976 -0.093007
+260 2.590000 -0.001155 -0.071142
+261 2.600000 -0.000553 -0.049247
+262 2.610000 -0.000170 -0.027329
+263 2.620000 -0.000007 -0.005400
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.6
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999945 -0.014530
+115 1.140000 -0.999704 -0.033800
+116 1.150000 -0.999269 -0.053058
+117 1.160000 -0.998642 -0.072295
+118 1.170000 -0.997823 -0.091504
+119 1.180000 -0.996813 -0.110678
+120 1.190000 -0.995610 -0.129809
+121 1.200000 -0.994217 -0.148890
+122 1.210000 -0.992632 -0.167914
+123 1.220000 -0.990858 -0.186872
+124 1.230000 -0.988895 -0.205759
+125 1.240000 -0.986744 -0.224567
+126 1.250000 -0.984404 -0.243288
+127 1.260000 -0.981878 -0.261915
+128 1.270000 -0.979166 -0.280441
+129 1.280000 -0.976270 -0.298859
+130 1.290000 -0.973189 -0.317162
+131 1.300000 -0.969927 -0.335343
+132 1.310000 -0.966483 -0.353394
+133 1.320000 -0.962859 -0.371309
+134 1.330000 -0.959057 -0.389081
+135 1.340000 -0.955078 -0.406703
+136 1.350000 -0.950924 -0.424169
+137 1.360000 -0.946595 -0.441470
+138 1.370000 -0.942095 -0.458602
+139 1.380000 -0.937424 -0.475556
+140 1.390000 -0.932584 -0.492328
+141 1.400000 -0.927578 -0.508909
+142 1.410000 -0.922407 -0.525294
+143 1.420000 -0.917073 -0.541477
+144 1.430000 -0.911578 -0.557451
+145 1.440000 -0.905925 -0.573211
+146 1.450000 -0.900115 -0.588749
+147 1.460000 -0.894150 -0.604060
+148 1.470000 -0.888034 -0.619138
+149 1.480000 -0.881768 -0.633978
+150 1.490000 -0.875355 -0.648573
+151 1.500000 -0.868798 -0.662918
+152 1.510000 -0.862098 -0.677008
+153 1.520000 -0.855258 -0.690836
+154 1.530000 -0.848282 -0.704399
+155 1.540000 -0.841171 -0.717689
+156 1.550000 -0.833929 -0.730703
+157 1.560000 -0.826558 -0.743436
+158 1.570000 -0.819061 -0.755882
+159 1.580000 -0.811442 -0.768036
+160 1.590000 -0.803702 -0.779894
+161 1.600000 -0.795845 -0.791452
+162 1.610000 -0.787874 -0.802704
+163 1.620000 -0.779792 -0.813647
+164 1.630000 -0.771602 -0.824276
+165 1.640000 -0.763307 -0.834588
+166 1.650000 -0.754911 -0.844578
+167 1.660000 -0.746417 -0.854242
+168 1.670000 -0.737827 -0.863577
+169 1.680000 -0.729146 -0.872579
+170 1.690000 -0.720377 -0.881244
+171 1.700000 -0.711522 -0.889570
+172 1.710000 -0.702587 -0.897553
+173 1.720000 -0.693573 -0.905190
+174 1.730000 -0.684484 -0.912478
+175 1.740000 -0.675324 -0.919414
+176 1.750000 -0.666097 -0.925995
+177 1.760000 -0.656805 -0.932220
+178 1.770000 -0.647454 -0.938085
+179 1.780000 -0.638045 -0.943589
+180 1.790000 -0.628583 -0.948729
+181 1.800000 -0.619072 -0.953503
+182 1.810000 -0.609514 -0.957909
+183 1.820000 -0.599915 -0.961947
+184 1.830000 -0.590277 -0.965613
+185 1.840000 -0.580604 -0.968907
+186 1.850000 -0.570900 -0.971828
+187 1.860000 -0.561168 -0.974373
+188 1.870000 -0.551413 -0.976544
+189 1.880000 -0.541639 -0.978338
+190 1.890000 -0.531848 -0.979754
+191 1.900000 -0.522045 -0.980793
+192 1.910000 -0.512233 -0.981454
+193 1.920000 -0.502417 -0.981736
+194 1.930000 -0.492600 -0.981640
+195 1.940000 -0.482786 -0.981166
+196 1.950000 -0.472978 -0.980313
+197 1.960000 -0.463181 -0.979082
+198 1.970000 -0.453397 -0.977474
+199 1.980000 -0.443632 -0.975489
+200 1.990000 -0.433889 -0.973128
+201 2.000000 -0.424171 -0.970392
+202 2.010000 -0.414482 -0.967282
+203 2.020000 -0.404827 -0.963798
+204 2.030000 -0.395208 -0.959944
+205 2.040000 -0.385629 -0.955719
+206 2.050000 -0.376094 -0.951125
+207 2.060000 -0.366608 -0.946165
+208 2.070000 -0.357172 -0.940841
+209 2.080000 -0.347792 -0.935153
+210 2.090000 -0.338471 -0.929105
+211 2.100000 -0.329211 -0.922699
+212 2.110000 -0.320018 -0.915937
+213 2.120000 -0.310894 -0.908822
+214 2.130000 -0.301842 -0.901357
+215 2.140000 -0.292868 -0.893544
+216 2.150000 -0.283973 -0.885387
+217 2.160000 -0.275161 -0.876888
+218 2.170000 -0.266436 -0.868051
+219 2.180000 -0.257801 -0.858880
+220 2.190000 -0.249260 -0.849377
+221 2.200000 -0.240815 -0.839548
+222 2.210000 -0.232470 -0.829394
+223 2.220000 -0.224228 -0.818921
+224 2.230000 -0.216092 -0.808132
+225 2.240000 -0.208066 -0.797031
+226 2.250000 -0.200153 -0.785623
+227 2.260000 -0.192355 -0.773912
+228 2.270000 -0.184676 -0.761903
+229 2.280000 -0.177118 -0.749600
+230 2.290000 -0.169684 -0.737009
+231 2.300000 -0.162379 -0.724133
+232 2.310000 -0.155203 -0.710977
+233 2.320000 -0.148160 -0.697548
+234 2.330000 -0.141253 -0.683850
+235 2.340000 -0.134484 -0.669888
+236 2.350000 -0.127856 -0.655668
+237 2.360000 -0.121371 -0.641196
+238 2.370000 -0.115033 -0.626476
+239 2.380000 -0.108843 -0.611514
+240 2.390000 -0.102803 -0.596317
+241 2.400000 -0.096917 -0.580890
+242 2.410000 -0.091186 -0.565239
+243 2.420000 -0.085613 -0.549370
+244 2.430000 -0.080199 -0.533289
+245 2.440000 -0.074948 -0.517002
+246 2.450000 -0.069860 -0.500517
+247 2.460000 -0.064938 -0.483838
+248 2.470000 -0.060184 -0.466973
+249 2.480000 -0.055599 -0.449928
+250 2.490000 -0.051186 -0.432709
+251 2.500000 -0.046946 -0.415323
+252 2.510000 -0.042880 -0.397778
+253 2.520000 -0.038991 -0.380079
+254 2.530000 -0.035279 -0.362233
+255 2.540000 -0.031746 -0.344248
+256 2.550000 -0.028394 -0.326130
+257 2.560000 -0.025224 -0.307887
+258 2.570000 -0.022237 -0.289525
+259 2.580000 -0.019434 -0.271051
+260 2.590000 -0.016816 -0.252472
+261 2.600000 -0.014385 -0.233797
+262 2.610000 -0.012141 -0.215031
+263 2.620000 -0.010085 -0.196182
+264 2.630000 -0.008217 -0.177258
+265 2.640000 -0.006540 -0.158265
+266 2.650000 -0.005052 -0.139211
+267 2.660000 -0.003756 -0.120104
+268 2.670000 -0.002650 -0.100950
+269 2.680000 -0.001737 -0.081757
+270 2.690000 -0.001015 -0.062533
+271 2.700000 -0.000486 -0.043285
+272 2.710000 -0.000150 -0.024020
+273 2.720000 -0.000006 -0.004746
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.7
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999951 -0.012871
+115 1.140000 -0.999737 -0.029942
+116 1.150000 -0.999353 -0.047002
+117 1.160000 -0.998797 -0.064046
+118 1.170000 -0.998072 -0.081069
+119 1.180000 -0.997176 -0.098064
+120 1.190000 -0.996111 -0.115025
+121 1.200000 -0.994876 -0.131947
+122 1.210000 -0.993472 -0.148824
+123 1.220000 -0.991899 -0.165650
+124 1.230000 -0.990159 -0.182419
+125 1.240000 -0.988251 -0.199127
+126 1.250000 -0.986177 -0.215766
+127 1.260000 -0.983936 -0.232332
+128 1.270000 -0.981530 -0.248818
+129 1.280000 -0.978960 -0.265219
+130 1.290000 -0.976226 -0.281530
+131 1.300000 -0.973330 -0.297744
+132 1.310000 -0.970272 -0.313857
+133 1.320000 -0.967053 -0.329863
+134 1.330000 -0.963675 -0.345756
+135 1.340000 -0.960138 -0.361531
+136 1.350000 -0.956445 -0.377182
+137 1.360000 -0.952595 -0.392705
+138 1.370000 -0.948591 -0.408094
+139 1.380000 -0.944434 -0.423343
+140 1.390000 -0.940125 -0.438448
+141 1.400000 -0.935665 -0.453403
+142 1.410000 -0.931057 -0.468203
+143 1.420000 -0.926302 -0.482843
+144 1.430000 -0.921401 -0.497318
+145 1.440000 -0.916356 -0.511624
+146 1.450000 -0.911169 -0.525754
+147 1.460000 -0.905841 -0.539706
+148 1.470000 -0.900375 -0.553472
+149 1.480000 -0.894773 -0.567050
+150 1.490000 -0.889035 -0.580435
+151 1.500000 -0.883165 -0.593621
+152 1.510000 -0.877163 -0.606604
+153 1.520000 -0.871033 -0.619380
+154 1.530000 -0.864776 -0.631945
+155 1.540000 -0.858395 -0.644294
+156 1.550000 -0.851891 -0.656422
+157 1.560000 -0.845267 -0.668327
+158 1.570000 -0.838526 -0.680003
+159 1.580000 -0.831668 -0.691448
+160 1.590000 -0.824697 -0.702656
+161 1.600000 -0.817616 -0.713624
+162 1.610000 -0.810426 -0.724348
+163 1.620000 -0.803130 -0.734825
+164 1.630000 -0.795730 -0.745051
+165 1.640000 -0.788229 -0.755023
+166 1.650000 -0.780630 -0.764737
+167 1.660000 -0.772936 -0.774189
+168 1.670000 -0.765148 -0.783378
+169 1.680000 -0.757269 -0.792298
+170 1.690000 -0.749302 -0.800948
+171 1.700000 -0.741251 -0.809325
+172 1.710000 -0.733117 -0.817425
+173 1.720000 -0.724903 -0.825246
+174 1.730000 -0.716613 -0.832786
+175 1.740000 -0.708249 -0.840041
+176 1.750000 -0.699813 -0.847009
+177 1.760000 -0.691309 -0.853687
+178 1.770000 -0.682740 -0.860075
+179 1.780000 -0.674109 -0.866168
+180 1.790000 -0.665418 -0.871966
+181 1.800000 -0.656670 -0.877466
+182 1.810000 -0.647870 -0.882666
+183 1.820000 -0.639018 -0.887565
+184 1.830000 -0.630119 -0.892161
+185 1.840000 -0.621176 -0.896452
+186 1.850000 -0.612191 -0.900437
+187 1.860000 -0.603168 -0.904114
+188 1.870000 -0.594110 -0.907483
+189 1.880000 -0.585020 -0.910542
+190 1.890000 -0.575900 -0.913290
+191 1.900000 -0.566755 -0.915726
+192 1.910000 -0.557587 -0.917849
+193 1.920000 -0.548399 -0.919659
+194 1.930000 -0.539195 -0.921155
+195 1.940000 -0.529977 -0.922336
+196 1.950000 -0.520749 -0.923202
+197 1.960000 -0.511514 -0.923753
+198 1.970000 -0.502275 -0.923988
+199 1.980000 -0.493035 -0.923908
+200 1.990000 -0.483798 -0.923513
+201 2.000000 -0.474566 -0.922802
+202 2.010000 -0.465343 -0.921776
+203 2.020000 -0.456132 -0.920435
+204 2.030000 -0.446935 -0.918779
+205 2.040000 -0.437757 -0.916810
+206 2.050000 -0.428600 -0.914528
+207 2.060000 -0.419467 -0.911934
+208 2.070000 -0.410362 -0.909028
+209 2.080000 -0.401288 -0.905812
+210 2.090000 -0.392247 -0.902286
+211 2.100000 -0.383243 -0.898453
+212 2.110000 -0.374279 -0.894312
+213 2.120000 -0.365358 -0.889866
+214 2.130000 -0.356483 -0.885116
+215 2.140000 -0.347657 -0.880064
+216 2.150000 -0.338883 -0.874712
+217 2.160000 -0.330163 -0.869060
+218 2.170000 -0.321502 -0.863112
+219 2.180000 -0.312902 -0.856869
+220 2.190000 -0.304366 -0.850334
+221 2.200000 -0.295896 -0.843508
+222 2.210000 -0.287497 -0.836394
+223 2.220000 -0.279170 -0.828994
+224 2.230000 -0.270918 -0.821312
+225 2.240000 -0.262744 -0.813348
+226 2.250000 -0.254652 -0.805108
+227 2.260000 -0.246643 -0.796592
+228 2.270000 -0.238721 -0.787804
+229 2.280000 -0.230888 -0.778747
+230 2.290000 -0.223147 -0.769424
+231 2.300000 -0.215500 -0.759838
+232 2.310000 -0.207951 -0.749993
+233 2.320000 -0.200501 -0.739892
+234 2.330000 -0.193154 -0.729538
+235 2.340000 -0.185911 -0.718935
+236 2.350000 -0.178776 -0.708087
+237 2.360000 -0.171750 -0.696996
+238 2.370000 -0.164837 -0.685668
+239 2.380000 -0.158038 -0.674105
+240 2.390000 -0.151356 -0.662313
+241 2.400000 -0.144792 -0.650294
+242 2.410000 -0.138350 -0.638053
+243 2.420000 -0.132032 -0.625594
+244 2.430000 -0.125839 -0.612921
+245 2.440000 -0.119774 -0.600039
+246 2.450000 -0.113839 -0.586953
+247 2.460000 -0.108036 -0.573665
+248 2.470000 -0.102366 -0.560182
+249 2.480000 -0.096833 -0.546508
+250 2.490000 -0.091437 -0.532647
+251 2.500000 -0.086181 -0.518604
+252 2.510000 -0.081065 -0.504384
+253 2.520000 -0.076093 -0.489991
+254 2.530000 -0.071266 -0.475432
+255 2.540000 -0.066585 -0.460710
+256 2.550000 -0.062052 -0.445831
+257 2.560000 -0.057669 -0.430799
+258 2.570000 -0.053437 -0.415620
+259 2.580000 -0.049357 -0.400300
+260 2.590000 -0.045431 -0.384842
+261 2.600000 -0.041661 -0.369254
+262 2.610000 -0.038047 -0.353539
+263 2.620000 -0.034591 -0.337703
+264 2.630000 -0.031293 -0.321752
+265 2.640000 -0.028156 -0.305692
+266 2.650000 -0.025180 -0.289526
+267 2.660000 -0.022366 -0.273262
+268 2.670000 -0.019715 -0.256905
+269 2.680000 -0.017228 -0.240460
+270 2.690000 -0.014906 -0.223933
+271 2.700000 -0.012749 -0.207329
+272 2.710000 -0.010759 -0.190654
+273 2.720000 -0.008937 -0.173915
+274 2.730000 -0.007281 -0.157116
+275 2.740000 -0.005794 -0.140263
+276 2.750000 -0.004476 -0.123363
+277 2.760000 -0.003327 -0.106420
+278 2.770000 -0.002348 -0.089441
+279 2.780000 -0.001539 -0.072431
+280 2.790000 -0.000899 -0.055397
+281 2.800000 -0.000431 -0.038344
+282 2.810000 -0.000133 -0.021278
+283 2.820000 -0.000005 -0.004204
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.8
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999957 -0.011481
+115 1.140000 -0.999766 -0.026708
+116 1.150000 -0.999423 -0.041927
+117 1.160000 -0.998927 -0.057133
+118 1.170000 -0.998280 -0.072321
+119 1.180000 -0.997481 -0.087488
+120 1.190000 -0.996530 -0.102628
+121 1.200000 -0.995428 -0.117737
+122 1.210000 -0.994176 -0.132810
+123 1.220000 -0.992772 -0.147842
+124 1.230000 -0.991219 -0.162830
+125 1.240000 -0.989516 -0.177768
+126 1.250000 -0.987664 -0.192651
+127 1.260000 -0.985663 -0.207476
+128 1.270000 -0.983515 -0.222238
+129 1.280000 -0.981219 -0.236932
+130 1.290000 -0.978776 -0.251554
+131 1.300000 -0.976188 -0.266099
+132 1.310000 -0.973454 -0.280564
+133 1.320000 -0.970577 -0.294942
+134 1.330000 -0.967556 -0.309231
+135 1.340000 -0.964393 -0.323426
+136 1.350000 -0.961088 -0.337522
+137 1.360000 -0.957642 -0.351516
+138 1.370000 -0.954058 -0.365402
+139 1.380000 -0.950335 -0.379177
+140 1.390000 -0.946475 -0.392837
+141 1.400000 -0.942478 -0.406376
+142 1.410000 -0.938347 -0.419793
+143 1.420000 -0.934083 -0.433081
+144 1.430000 -0.929686 -0.446237
+145 1.440000 -0.925159 -0.459257
+146 1.450000 -0.920502 -0.472138
+147 1.460000 -0.915716 -0.484875
+148 1.470000 -0.910805 -0.497464
+149 1.480000 -0.905768 -0.509901
+150 1.490000 -0.900607 -0.522183
+151 1.500000 -0.895325 -0.534306
+152 1.510000 -0.889922 -0.546266
+153 1.520000 -0.884400 -0.558060
+154 1.530000 -0.878761 -0.569684
+155 1.540000 -0.873007 -0.581134
+156 1.550000 -0.867139 -0.592408
+157 1.560000 -0.861159 -0.603501
+158 1.570000 -0.855069 -0.614410
+159 1.580000 -0.848872 -0.625132
+160 1.590000 -0.842567 -0.635663
+161 1.600000 -0.836159 -0.646001
+162 1.610000 -0.829648 -0.656142
+163 1.620000 -0.823037 -0.666083
+164 1.630000 -0.816327 -0.675822
+165 1.640000 -0.809521 -0.685354
+166 1.650000 -0.802621 -0.694678
+167 1.660000 -0.795628 -0.703790
+168 1.670000 -0.788546 -0.712688
+169 1.680000 -0.781375 -0.721368
+170 1.690000 -0.774119 -0.729829
+171 1.700000 -0.766779 -0.738068
+172 1.710000 -0.759358 -0.746081
+173 1.720000 -0.751858 -0.753868
+174 1.730000 -0.744282 -0.761425
+175 1.740000 -0.736631 -0.768750
+176 1.750000 -0.728908 -0.775840
+177 1.760000 -0.721115 -0.782695
+178 1.770000 -0.713254 -0.789311
+179 1.780000 -0.705329 -0.795686
+180 1.790000 -0.697341 -0.801819
+181 1.800000 -0.689294 -0.807708
+182 1.810000 -0.681188 -0.813351
+183 1.820000 -0.673027 -0.818746
+184 1.830000 -0.664814 -0.823892
+185 1.840000 -0.656550 -0.828787
+186 1.850000 -0.648239 -0.833429
+187 1.860000 -0.639883 -0.837818
+188 1.870000 -0.631484 -0.841951
+189 1.880000 -0.623045 -0.845828
+190 1.890000 -0.614568 -0.849447
+191 1.900000 -0.606056 -0.852807
+192 1.910000 -0.597513 -0.855908
+193 1.920000 -0.588939 -0.858748
+194 1.930000 -0.580339 -0.861326
+195 1.940000 -0.571714 -0.863642
+196 1.950000 -0.563067 -0.865695
+197 1.960000 -0.554401 -0.867484
+198 1.970000 -0.545718 -0.869009
+199 1.980000 -0.537021 -0.870269
+200 1.990000 -0.528313 -0.871264
+201 2.000000 -0.519597 -0.871994
+202 2.010000 -0.510874 -0.872458
+203 2.020000 -0.502149 -0.872657
+204 2.030000 -0.493422 -0.872589
+205 2.040000 -0.484698 -0.872256
+206 2.050000 -0.475978 -0.871657
+207 2.060000 -0.467265 -0.870792
+208 2.070000 -0.458563 -0.869663
+209 2.080000 -0.449873 -0.868268
+210 2.090000 -0.441198 -0.866609
+211 2.100000 -0.432542 -0.864686
+212 2.110000 -0.423906 -0.862499
+213 2.120000 -0.415293 -0.860050
+214 2.130000 -0.406705 -0.857339
+215 2.140000 -0.398147 -0.854367
+216 2.150000 -0.389619 -0.851134
+217 2.160000 -0.381125 -0.847642
+218 2.170000 -0.372667 -0.843892
+219 2.180000 -0.364248 -0.839885
+220 2.190000 -0.355870 -0.835622
+221 2.200000 -0.347536 -0.831105
+222 2.210000 -0.339249 -0.826334
+223 2.220000 -0.331010 -0.821311
+224 2.230000 -0.322824 -0.816039
+225 2.240000 -0.314691 -0.810518
+226 2.250000 -0.306614 -0.804750
+227 2.260000 -0.298596 -0.798737
+228 2.270000 -0.290640 -0.792480
+229 2.280000 -0.282748 -0.785982
+230 2.290000 -0.274921 -0.779245
+231 2.300000 -0.267163 -0.772270
+232 2.310000 -0.259477 -0.765061
+233 2.320000 -0.251863 -0.757618
+234 2.330000 -0.244325 -0.749944
+235 2.340000 -0.236865 -0.742042
+236 2.350000 -0.229485 -0.733914
+237 2.360000 -0.222187 -0.725562
+238 2.370000 -0.214974 -0.716989
+239 2.380000 -0.207848 -0.708198
+240 2.390000 -0.200811 -0.699191
+241 2.400000 -0.193865 -0.689971
+242 2.410000 -0.187012 -0.680541
+243 2.420000 -0.180255 -0.670904
+244 2.430000 -0.173595 -0.661062
+245 2.440000 -0.167034 -0.651019
+246 2.450000 -0.160575 -0.640778
+247 2.460000 -0.154220 -0.630342
+248 2.470000 -0.147969 -0.619713
+249 2.480000 -0.141826 -0.608896
+250 2.490000 -0.135792 -0.597893
+251 2.500000 -0.129869 -0.586708
+252 2.510000 -0.124058 -0.575344
+253 2.520000 -0.118362 -0.563805
+254 2.530000 -0.112783 -0.552095
+255 2.540000 -0.107321 -0.540216
+256 2.550000 -0.101979 -0.528173
+257 2.560000 -0.096758 -0.515968
+258 2.570000 -0.091660 -0.503607
+259 2.580000 -0.086686 -0.491092
+260 2.590000 -0.081839 -0.478428
+261 2.600000 -0.077118 -0.465618
+262 2.610000 -0.072527 -0.452666
+263 2.620000 -0.068066 -0.439576
+264 2.630000 -0.063736 -0.426352
+265 2.640000 -0.059539 -0.412998
+266 2.650000 -0.055476 -0.399519
+267 2.660000 -0.051549 -0.385918
+268 2.670000 -0.047758 -0.372199
+269 2.680000 -0.044105 -0.358367
+270 2.690000 -0.040591 -0.344426
+271 2.700000 -0.037217 -0.330380
+272 2.710000 -0.033984 -0.316233
+273 2.720000 -0.030893 -0.301990
+274 2.730000 -0.027945 -0.287655
+275 2.740000 -0.025140 -0.273232
+276 2.750000 -0.022480 -0.258726
+277 2.760000 -0.019966 -0.244141
+278 2.770000 -0.017598 -0.229482
+279 2.780000 -0.015376 -0.214753
+280 2.790000 -0.013303 -0.199959
+281 2.800000 -0.011377 -0.185103
+282 2.810000 -0.009601 -0.170192
+283 2.820000 -0.007974 -0.155228
+284 2.830000 -0.006496 -0.140217
+285 2.840000 -0.005170 -0.125164
+286 2.850000 -0.003993 -0.110072
+287 2.860000 -0.002968 -0.094947
+288 2.870000 -0.002095 -0.079793
+289 2.880000 -0.001372 -0.064614
+290 2.890000 -0.000802 -0.049416
+291 2.900000 -0.000384 -0.034203
+292 2.910000 -0.000118 -0.018979
+293 2.920000 -0.000005 -0.003750
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/run.in.min b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/run.in.min
new file mode 100644
index 000000000..e6177f993
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/run.in.min
@@ -0,0 +1,21 @@
+# -- Init section --
+
+include system.in.init
+
+# -- Atom definition section --
+
+read_data system.data
+
+# -- Settings Section --
+
+include system.in.settings
+
+# -- Run section --
+
+dump 1 all custom 50 traj_min.lammpstrj id mol type x y z ix iy iz
+thermo_style custom step pe etotal vol epair ebond eangle
+thermo 40 # time interval for printing out "thermo" data
+
+minimize 1.0e-7 1.0e-9 100000 300000
+
+write_data system_after_min.data
diff --git a/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/run.in.npt b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/run.in.npt
new file mode 100644
index 000000000..b305e1d59
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/membrane_mixture_Cooke_Kremer_DesernoPRE2005/run.in.npt
@@ -0,0 +1,58 @@
+# -------- REQUIREMENTS: ---------
+# 1) This example may require additional features and bug fixes for LAMMPS.
+# Be sure to download and copy the "additional_lammps_code" from
+# http://moltemplate.org (upper-left corner menu)
+# 2) Unpack it
+# 3) copy the .cpp and .h files to the src folding of your lammps installation.
+# 4) Compile LAMMPS.
+#
+# (If LAMMPS complains about an "Invalid pair_style"
+# then you made a mistake in the instructions above.)
+#
+
+# -- Init Section --
+
+include system.in.init
+
+# -- Atom Definition Section --
+
+read_data system.data
+
+# -- Settings Section --
+
+include system.in.settings
+
+# -- Run Section --
+
+
+timestep 0.01
+dump 1 all custom 10000 traj_npt.lammpstrj id mol type x y z ix iy iz
+
+
+thermo_style custom step temp pe etotal vol epair ebond eangle
+thermo 200 # time interval for printing out "thermo" data
+
+velocity all create 1.1 12345
+
+fix fxlan all langevin 1.1 1.1 50.0 48279
+fix fxnph all nph x 0 0 1000 y 0 0 1000 couple xy
+
+# Note: The temperature is 1.1*ε
+# (ε = "epsilon" used by the coarse-grained lipid)
+# Note: The langevin damping parameter is now "50.0" in units of time
+# (which are (m/(ε*σ^2))^(1/2) because we are using "units lj"
+# This is grossly underdamped compared to the real system,
+# but it leads to more efficient sampling.)
+# Note: We maintain the system system at constant (zero) tention
+# using a barostat damping parameter Pdamp=1000 ("0 0 1000")
+
+
+
+# optional (not sure if this helps):
+# balance x uniform y uniform
+
+
+run 5000000
+
+write_data system_after_npt.data
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/README.txt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/README.txt
new file mode 100644
index 000000000..e5f1544ea
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/README.txt
@@ -0,0 +1,33 @@
+# This directory contains examples of how to run a short simulation of a
+# coarse-grained protein-like polymer, folding in the presence and absence of
+# a chaperone (modeled as an attractive or repulsie spherical shell).
+#
+# The protein models and the chaperone models are described and used here:
+# AI Jewett, A Baumketner and J-E Shea, PNAS, 101 (36), 13192-13197, (2004)
+# (http://www.pnas.org/content/101/36/13192)
+# ...and also here:
+# AI Jewett and J-E Shea, J. Mol. Biol, Vol 363(5), (2006)
+#
+# (In the "frustrated+minichaperone" directory, the protein is
+# placed outside the chaperone sphere, as opposed to inside.)
+#
+# -------- REQUIREMENTS: ---------
+# 1) These examples require the "USER-MISC" package. (Use "make yes-USER-MISC")
+# http://lammps.sandia.gov/doc/Section_start.html#start_3
+# 2) They also may require additional features and bug fixes for LAMMPS.
+# be sure to download and copy the "additional_lammps_code" from
+# http://moltemplate.org (upper-left corner menu)
+# 3) Unpack it
+# 4) copy the .cpp and .h files to the src folding of your lammps installation.
+# 5) Compile LAMMPS.
+#
+
+-------------
+Instructions on how to build LAMMPS input files and
+run a short simulation are provided in other README files in each directory.
+
+step 1)
+README_setup.sh
+
+step2)
+README_run.sh
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/README.txt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/README.txt
new file mode 100644
index 000000000..63517aa12
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/README.txt
@@ -0,0 +1,32 @@
+# This directory demonstrates how to run a long simulation of
+# the "frustrated" coarse-grained protein confined in a frustrated
+# coarse-grained chaperonin (R=6, h=0.475) as described in:
+# AI Jewett, A Baumketner and J-E Shea, PNAS, 101 (36), 13192-13197, (2004)
+# (http://www.pnas.org/content/101/36/13192)
+#
+# Note: If you want to use a "hydrophilic" chaperone (with h=0.0
+# instead of h=0.475), then replace the word "CHAP_INTERIOR_H0.475"
+# (at the end of "system.lt") with "CHAP_INTERIOR_H0"
+#
+# Because this process takes a long time (even with the help of the chaperone)
+# I save the data relatively infrequently.
+#
+# -------- REQUIREMENTS: ---------
+# 1) This example requires the "USER-MISC" package. (Use "make yes-USER-MISC")
+# http://lammps.sandia.gov/doc/Section_start.html#start_3
+# 2) It also may require additional features and bug fixes for LAMMPS.
+# be sure to download and copy the "additional_lammps_code" from
+# http://moltemplate.org (upper-left corner menu)
+# 3) Unpack it
+# 4) copy the .cpp and .h files to the src folding of your lammps installation.
+# 5) Compile LAMMPS.
+
+-------------
+Instructions on how to build LAMMPS input files and
+run a short simulation are provided in other README files.
+
+step 1)
+README_setup.sh
+
+step2)
+README_run.sh
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/README_run.sh b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/README_run.sh
new file mode 100755
index 000000000..d5ae1fe5a
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/README_run.sh
@@ -0,0 +1,31 @@
+# You would probably run lammps this way:
+#
+# lmp_ubuntu -i run.in.nvt
+
+# The files "run.in.min", and "run.in.nvt" are LAMMPS input scripts which refer
+# to the input scripts & data files you created earlier when you ran moltemplate
+# system.in.init, system.in.settings, system.data
+
+
+
+
+# -----------------------------------
+
+
+
+LAMMPS_COMMAND="lmp_mpi"
+
+# Here "$LAMMPS_BINARY" is the name of the command you use to invoke lammps
+# (such as lmp_ubuntu, lmp_mac_mpi, lmp_cygwin etc...). Change if necessary.
+
+# Run lammps using the following 3 commands:
+
+"$LAMMPS_COMMAND" -i run.in.min # minimize (OPTIONAL)
+"$LAMMPS_COMMAND" -i run.in.nvt # production run
+
+# Alternately, if you have MPI installed, try something like this:
+
+#NUMPROCS=4
+#mpirun -np $NUMPROCS "$LAMMPS_COMMAND" -i run.in.min # minimize (OPTIONAL)
+#mpirun -np $NUMPROCS "$LAMMPS_COMMAND" -i run.in.nvt # production run
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/README_setup.sh b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/README_setup.sh
new file mode 100755
index 000000000..042f73a28
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/README_setup.sh
@@ -0,0 +1,24 @@
+# Use these commands to generate the LAMMPS input script and data file
+# (and other auxilliary files):
+
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh -overlay-dihedrals system.lt
+
+ # This will generate various files with names ending in *.in* and *.data.
+ # These files are the input files directly read by LAMMPS. Move them to
+ # the parent directory (or wherever you plan to run the simulation).
+
+ mv -f system.in* system.data ../
+ cp -r table*.dat ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/README_visualize.txt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/README_visualize.txt
new file mode 100644
index 000000000..a3e3ed620
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0}
+ pbc box -shiftcenterrel {0.0 0.15 0.0}
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/images/misfolded+chaperonin_t=0tau_LR.jpg b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/images/misfolded+chaperonin_t=0tau_LR.jpg
new file mode 100644
index 000000000..31853cd5a
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/images/misfolded+chaperonin_t=0tau_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/images/unfolded+chaperonin_t=508750tau_LR.jpg b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/images/unfolded+chaperonin_t=508750tau_LR.jpg
new file mode 100644
index 000000000..fdc5c890b
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/images/unfolded+chaperonin_t=508750tau_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/moltemplate_files/1beadFrustrated.lt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/moltemplate_files/1beadFrustrated.lt
new file mode 100644
index 000000000..e43026ba9
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/moltemplate_files/1beadFrustrated.lt
@@ -0,0 +1,216 @@
+# This file defines the "frustrated" coarse-grained protein model used in:
+# AI Jewett, A Baumketner and J-E Shea, PNAS, 101 (36), 13192-13197, (2004)
+# (http://www.pnas.org/content/101/36/13192)
+
+
+1beadFrustrated {
+
+ # There are 3 atom types (referred to above as B, L, and N)
+ # Define their masses:
+
+ write_once("Data Masses") {
+ @atom:B 1.0
+ @atom:L 1.0
+ @atom:N 1.0
+ }
+
+ # AtomID MoleculeID AtomType Charge X Y Z
+
+ write('Data Atoms') {
+ $atom:a1 $mol @atom:L 0.0 -0.92636654 -1.8409904 -2.1482679
+ $atom:a2 $mol @atom:B 0.0 -0.57313354 -1.0670787 -1.6182341
+ $atom:a3 $mol @atom:L 0.0 -0.85707399 -1.2358703 -0.69350966
+ $atom:a4 $mol @atom:B 0.0 -0.44231274 -0.4584993 -0.23418709
+ $atom:a5 $mol @atom:L 0.0 -0.75081182 -0.62868078 0.69786737
+ $atom:a6 $mol @atom:B 0.0 -0.36201977 0.11619615 1.2249098
+ $atom:a7 $mol @atom:N 0.0 -0.63708237 -0.15973084 2.1723919
+ $atom:a8 $mol @atom:N 0.0 0.20516047 0.10417157 2.624901
+ $atom:a9 $mol @atom:B 0.0 0.57223743 0.44728103 1.7695617
+ $atom:a10 $mol @atom:L 0.0 0.77646279 -0.40630393 1.3168043
+ $atom:a11 $mol @atom:B 0.0 0.45475664 -0.2077937 0.40045721
+ $atom:a12 $mol @atom:L 0.0 0.72712495 -1.0397637 -0.087614951
+ $atom:a13 $mol @atom:B 0.0 0.36971183 -0.85840501 -0.9933019
+ $atom:a14 $mol @atom:L 0.0 0.74784336 -1.5700415 -1.5859217
+ $atom:a15 $mol @atom:N 0.0 0.43423905 -1.2758917 -2.4853429
+ $atom:a16 $mol @atom:N 0.0 0.70583191 -0.30726921 -2.4987711
+ $atom:a17 $mol @atom:N 0.0 -0.091688915 0.23323014 -2.2051358
+ $atom:a18 $mol @atom:B 0.0 -0.34243283 -0.035822049 -1.2644719
+ $atom:a19 $mol @atom:B 0.0 0.41961247 0.18475451 -0.65971014
+ $atom:a20 $mol @atom:L 0.0 0.51968465 1.1546791 -0.77877053
+ $atom:a21 $mol @atom:L 0.0 -0.40827985 1.2765273 -0.52550748
+ $atom:a22 $mol @atom:B 0.0 -0.368141 0.58090904 0.19152224
+ $atom:a23 $mol @atom:B 0.0 0.40327249 0.86101769 0.7336255
+ $atom:a24 $mol @atom:L 0.0 0.22707289 1.8326235 0.89673346
+ $atom:a25 $mol @atom:L 0.0 -0.66500182 1.7285809 1.2783166
+ $atom:a26 $mol @atom:B 0.0 -0.39205603 1.0475436 1.9328097
+ $atom:a27 $mol @atom:L 0.0 0.25339027 1.5246265 2.5388463
+ }
+
+ # bond-ID bond-Type atom-ID atom-ID
+
+ write('Data Bonds') {
+ $bond:b1 @bond:backbone $atom:a1 $atom:a2
+ $bond:b2 @bond:backbone $atom:a2 $atom:a3
+ $bond:b3 @bond:backbone $atom:a3 $atom:a4
+ $bond:b4 @bond:backbone $atom:a4 $atom:a5
+ $bond:b5 @bond:backbone $atom:a5 $atom:a6
+ $bond:b6 @bond:backbone $atom:a6 $atom:a7
+ $bond:b7 @bond:backbone $atom:a7 $atom:a8
+ $bond:b8 @bond:backbone $atom:a8 $atom:a9
+ $bond:b9 @bond:backbone $atom:a9 $atom:a10
+ $bond:b10 @bond:backbone $atom:a10 $atom:a11
+ $bond:b11 @bond:backbone $atom:a11 $atom:a12
+ $bond:b12 @bond:backbone $atom:a12 $atom:a13
+ $bond:b13 @bond:backbone $atom:a13 $atom:a14
+ $bond:b14 @bond:backbone $atom:a14 $atom:a15
+ $bond:b15 @bond:backbone $atom:a15 $atom:a16
+ $bond:b16 @bond:backbone $atom:a16 $atom:a17
+ $bond:b17 @bond:backbone $atom:a17 $atom:a18
+ $bond:b18 @bond:backbone $atom:a18 $atom:a19
+ $bond:b19 @bond:backbone $atom:a19 $atom:a20
+ $bond:b20 @bond:backbone $atom:a20 $atom:a21
+ $bond:b21 @bond:backbone $atom:a21 $atom:a22
+ $bond:b22 @bond:backbone $atom:a22 $atom:a23
+ $bond:b23 @bond:backbone $atom:a23 $atom:a24
+ $bond:b24 @bond:backbone $atom:a24 $atom:a25
+ $bond:b25 @bond:backbone $atom:a25 $atom:a26
+ $bond:b26 @bond:backbone $atom:a26 $atom:a27
+ }
+
+ # (3-body) Angles are specified below
+
+ # (4-body) Dihedrals must be defined explicitly for every quartet of atoms.
+ # (These interactions are not determined by atom type.)
+
+ # dihedral-ID dihedral-Type atom-ID atom-ID atom-ID atom-ID
+
+ write('Data Dihedrals') {
+
+ $dihedral:d1 @dihedral:beta $atom:a1 $atom:a2 $atom:a3 $atom:a4
+ $dihedral:d2 @dihedral:beta $atom:a2 $atom:a3 $atom:a4 $atom:a5
+ $dihedral:d3 @dihedral:beta $atom:a3 $atom:a4 $atom:a5 $atom:a6
+ $dihedral:d4 @dihedral:beta $atom:a4 $atom:a5 $atom:a6 $atom:a7
+
+ # Dihedral angle forces in the turn regions were switched off
+ # (in this model) so just I comment them out (and \ the variable names).
+ # \$dihedral:d5 \@dihedral:turn $atom:a5 $atom:a6 $atom:a7 $atom:a8
+ # \$dihedral:d6 \@dihedral:turn $atom:a6 $atom:a7 $atom:a8 $atom:a9
+ # \$dihedral:d7 \@dihedral:turn $atom:a7 $atom:a8 $atom:a9 $atom:a10
+
+ $dihedral:d8 @dihedral:beta $atom:a8 $atom:a9 $atom:a10 $atom:a11
+ $dihedral:d9 @dihedral:beta $atom:a9 $atom:a10 $atom:a11 $atom:a12
+ $dihedral:d10 @dihedral:beta $atom:a10 $atom:a11 $atom:a12 $atom:a13
+ $dihedral:d11 @dihedral:beta $atom:a11 $atom:a12 $atom:a13 $atom:a14
+ $dihedral:d12 @dihedral:beta $atom:a12 $atom:a13 $atom:a14 $atom:a15
+
+ # Dihedral angle forces in the turn regions were switched off
+ # (in this model) so just I comment them out (and \ the variable names).
+ # \$dihedral:d13 \@dihedral:turn $atom:a13 $atom:a14 $atom:a15 $atom:a16
+ # \$dihedral:d14 \@dihedral:turn $atom:a14 $atom:a15 $atom:a16 $atom:a17
+
+ $dihedral:d15 @dihedral:alpha $atom:a15 $atom:a16 $atom:a17 $atom:a18
+ $dihedral:d16 @dihedral:alpha $atom:a16 $atom:a17 $atom:a18 $atom:a19
+ $dihedral:d17 @dihedral:alpha $atom:a17 $atom:a18 $atom:a19 $atom:a20
+ $dihedral:d18 @dihedral:alpha $atom:a18 $atom:a19 $atom:a20 $atom:a21
+ $dihedral:d19 @dihedral:alpha $atom:a19 $atom:a20 $atom:a21 $atom:a22
+ $dihedral:d20 @dihedral:alpha $atom:a20 $atom:a21 $atom:a22 $atom:a23
+ $dihedral:d21 @dihedral:alpha $atom:a21 $atom:a22 $atom:a23 $atom:a24
+ $dihedral:d22 @dihedral:alpha $atom:a22 $atom:a23 $atom:a24 $atom:a25
+ $dihedral:d23 @dihedral:alpha $atom:a23 $atom:a24 $atom:a25 $atom:a26
+ $dihedral:d24 @dihedral:alpha $atom:a24 $atom:a25 $atom:a26 $atom:a27
+ }
+
+ # All consecutively bonded triplets of atoms same 3-body bond-angle
+ # interaction parameters. Of coarse, we could specify them all explicitly
+ # (as we did for the dihedrals above), but I wanted to show how to specify
+ # angles by atom type instead. (You can do this for dihedrals & impropers
+ # also.)
+
+ # angle-Type atom-Type atom-Type atom-Type bond-Type bond-Type
+
+ write_once('Data Angles By Type') {
+ @angle:backbone @atom:* @atom:* @atom:* @bond:* @bond:*
+ }
+
+ # (The "*" is a wildcard character. I use "*" to denote any atom-type or
+ # bond-type which is defined within the current namespace: 1beadFrustrated)
+
+
+ # 2-body (non-bonded) interactions:
+ #
+ # Uij(r) = 4*eps_ij * (K*(sig_ij/r)^12 + L*(sig_ij/r)^6)
+ #
+ # i j pairstylename eps sig K L
+ #
+ write_once("In Settings") {
+ pair_coeff @atom:B @atom:B lj/charmm/coul/charmm/inter 1.0 1.0 1 -1
+ pair_coeff @atom:B @atom:L lj/charmm/coul/charmm/inter 0.5833333333 1.0 1 0
+ pair_coeff @atom:B @atom:N lj/charmm/coul/charmm/inter 0.6666666667 1.0 1 0
+ pair_coeff @atom:L @atom:L lj/charmm/coul/charmm/inter 0.1666666667 1.0 1 1
+ pair_coeff @atom:L @atom:N lj/charmm/coul/charmm/inter 0.25 1.0 1 0
+ pair_coeff @atom:N @atom:N lj/charmm/coul/charmm/inter 0.3333333333 1.0 1 0
+ }
+
+
+ # 2-body (bonded) interactions:
+ #
+ # Ubond(r) = (k/2)*(r-0)^2
+ #
+ # The corresponding command is:
+ #
+ # bond-Type bondstylename k r0
+
+ write_once("In Settings") {
+ bond_coeff @bond:backbone harmonic 100.0 1.0
+ }
+
+ # 3-body interactions in this example are listed by atomType and bondType
+ # The atomIDs involved are determined automatically. The forumula used is:
+ #
+ # Uangle(theta) = (k/2)*(theta-theta0)^2
+ # (k in kcal/mol/rad^2, theta0 in degrees)
+ #
+ # angle-Type anglestylename k theta0
+
+ write_once("In Settings") {
+ angle_coeff @angle:backbone harmonic 13.3333333333 105.0
+ }
+
+
+ # We use tabular dihedral potentials to implement the dihedral forces.
+ # (Actually there is a way to use Fourier series, using multiple charmm
+ # style dihedral interactions, but it's slower and messier.)
+
+ write_once("In Settings") {
+ # style file keyword
+ dihedral_coeff @dihedral:alpha table table_dihedral_frustrated.dat FRUSTRATED_ALPHA
+ dihedral_coeff @dihedral:beta table table_dihedral_frustrated.dat FRUSTRATED_BETA
+ # No need to specify dihedral interactions in the turn regions. (none exist)
+ }
+
+ write_once("In Settings") {
+ # Optional: define the atoms in the "proteins" group
+ group proteins type @atom:B
+ group proteins type @atom:L
+ group proteins type @atom:N
+ }
+
+ # LAMMPS has many available force field styles (and atom styles).
+ # Here, we pick the ones which work well for this molecular model:
+
+ write_once("In Init") {
+ # --- Default options for the "1BeadFrustrated" protein model ---
+ # --- (These can be overridden later.) ---
+ units lj
+ atom_style full
+ bond_style hybrid harmonic
+ angle_style hybrid harmonic
+ dihedral_style hybrid table spline 360
+ pair_style hybrid lj/charmm/coul/charmm/inter es4k4l maxmax 3.5 4.0
+ pair_modify mix arithmetic
+ special_bonds lj 0.0 0.0 1.0 #(turn on "1-4" interactions)
+ }
+
+} # 1beadFrustrated
+
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/moltemplate_files/1beadFrustrated_variants.lt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/moltemplate_files/1beadFrustrated_variants.lt
new file mode 100644
index 000000000..54e2de437
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/moltemplate_files/1beadFrustrated_variants.lt
@@ -0,0 +1,85 @@
+import "1beadFrustrated.lt"
+
+
+# Alternate starting conformation (same molecule):
+
+
+1beadMisfolded inherits 1beadFrustrated {
+
+ # This molecule "inherits" all of its features from "1beadFrustrated".
+ # Here we override the atomic positions with new coordinates:
+
+ # AtomID MoleculeID AtomType Charge X Y Z
+
+ write("Data Atoms") {
+ $atom:a1 $mol @atom:L 0.0 -0.69801399 -0.22114168 -1.9464876
+ $atom:a2 $mol @atom:B 0.0 -0.40921658 -0.027063664 -1.0033251
+ $atom:a3 $mol @atom:L 0.0 0.10259348 0.80836418 -1.0737085
+ $atom:a4 $mol @atom:B 0.0 0.25857916 1.0054984 -0.11621451
+ $atom:a5 $mol @atom:L 0.0 0.8258629 1.8325549 -0.18529135
+ $atom:a6 $mol @atom:B 0.0 0.91366257 2.1950317 0.74175977
+ $atom:a7 $mol @atom:N 0.0 1.4399539 1.554238 1.2994409
+ $atom:a8 $mol @atom:N 0.0 0.73372573 1.0161012 1.7397275
+ $atom:a9 $mol @atom:B 0.0 0.26608782 0.65302497 0.94353938
+ $atom:a10 $mol @atom:L 0.0 0.97442305 0.13574211 0.50586398
+ $atom:a11 $mol @atom:B 0.0 0.35889617 -0.18247555 -0.1764186
+ $atom:a12 $mol @atom:L 0.0 0.87151735 -0.77260824 -0.75240916
+ $atom:a13 $mol @atom:B 0.0 0.047726486 -1.0530682 -1.1902704
+ $atom:a14 $mol @atom:L 0.0 0.34530697 -1.7476773 -1.8393331
+ $atom:a15 $mol @atom:N 0.0 0.65865186 -2.45948 -1.2167056
+ $atom:a16 $mol @atom:N 0.0 -0.16534524 -2.6219442 -0.67112167
+ $atom:a17 $mol @atom:N 0.0 -0.010590421 -2.2445242 0.24748633
+ $atom:a18 $mol @atom:B 0.0 0.18135771 -1.2564919 0.1767523
+ $atom:a19 $mol @atom:B 0.0 -0.57472665 -0.82852797 -0.27027791
+ $atom:a20 $mol @atom:L 0.0 -1.3967448 -1.0516787 0.24247346
+ $atom:a21 $mol @atom:L 0.0 -1.003428 -0.85642681 1.1107555
+ $atom:a22 $mol @atom:B 0.0 -0.25156735 -0.3182346 0.74262946
+ $atom:a23 $mol @atom:B 0.0 -0.61751956 0.30115562 0.070426493
+ $atom:a24 $mol @atom:L 0.0 -1.3347934 0.83310182 0.52625934
+ $atom:a25 $mol @atom:L 0.0 -0.83315257 1.270904 1.2564086
+ $atom:a26 $mol @atom:B 0.0 -0.10469759 1.6988523 0.72597181
+ $atom:a27 $mol @atom:L 0.0 -0.57854905 2.3367737 0.11206868
+ }
+
+} # 1beadMisfolded
+
+
+1beadUnfolded inherits 1beadFrustrated {
+
+ # This molecule "inherits" all of its features from "1beadFrustrated"
+ # Here we override the atomic positions with new coordinates:
+
+ # AtomID MoleculeID AtomType Charge X Y Z
+
+ write('Data Atoms') {
+ $atom:a1 $mol @atom:L 0.0 -2.4 1.7 -0.0
+ $atom:a2 $mol @atom:B 0.0 -1.8 1.7 0.8
+ $atom:a3 $mol @atom:L 0.0 -1.2 2.5 0.8
+ $atom:a4 $mol @atom:B 0.0 -0.6 2.5 -0.0
+ $atom:a5 $mol @atom:L 0.0 0.0 1.7 -0.0
+ $atom:a6 $mol @atom:B 0.0 0.6 1.7 0.8
+ $atom:a7 $mol @atom:N 0.0 1.2 2.5 0.8
+ $atom:a8 $mol @atom:N 0.0 1.8 2.5 -0.0
+ $atom:a9 $mol @atom:B 0.0 2.4 1.7 -0.0
+ $atom:a10 $mol @atom:L 0.0 3.0 1.7 -0.8
+ $atom:a11 $mol @atom:B 0.0 3.0 0.7 -0.8
+ $atom:a12 $mol @atom:L 0.0 3.0 0.1 -0.0
+ $atom:a13 $mol @atom:B 0.0 3.8 -0.5 -0.0
+ $atom:a14 $mol @atom:L 0.0 3.8 -1.1 -0.8
+ $atom:a15 $mol @atom:N 0.0 3.0 -1.7 -0.8
+ $atom:a16 $mol @atom:N 0.0 3.0 -1.7 0.2
+ $atom:a17 $mol @atom:N 0.0 2.4 -2.5 0.2
+ $atom:a18 $mol @atom:B 0.0 1.8 -2.5 -0.6
+ $atom:a19 $mol @atom:B 0.0 1.2 -1.7 -0.6
+ $atom:a20 $mol @atom:L 0.0 0.6 -1.7 0.2
+ $atom:a21 $mol @atom:L 0.0 -0.0 -2.5 0.2
+ $atom:a22 $mol @atom:B 0.0 -0.6 -2.5 -0.6
+ $atom:a23 $mol @atom:B 0.0 -1.2 -1.7 -0.6
+ $atom:a24 $mol @atom:L 0.0 -1.8 -1.7 0.2
+ $atom:a25 $mol @atom:L 0.0 -2.4 -2.5 0.2
+ $atom:a26 $mol @atom:B 0.0 -3.0 -2.5 -0.6
+ $atom:a27 $mol @atom:L 0.0 -3.6 -1.7 -0.6
+ }
+
+} # 1beadUnfolded
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/moltemplate_files/chaperonin.lt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/moltemplate_files/chaperonin.lt
new file mode 100644
index 000000000..8266d2a89
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/moltemplate_files/chaperonin.lt
@@ -0,0 +1,41 @@
+# Here we define a trivial molecule containing only one particle.
+
+Chaperonin {
+
+ # atomID molID atomType charge x y z
+
+ write("Data Atoms") {
+ $atom:C $mol @atom:C 0.0 0.0 0.0 0.0
+ }
+
+ write_once("Data Masses") {
+ @atom:C 100.0
+ }
+
+ write_once("In Settings") {
+ # If for some reason there are multiple chaperones present,
+ # I assume that they interact repulsively (hence, L=0)
+ # i j epsilon sigma K L
+
+ pair_coeff @atom:C @atom:C lj/charmm/coul/charmm/inter 1.0 6.0 1 0
+
+ # Optional: define the atoms in the "chaperonins" group:
+ # (Defining a group for the chaperone makes it easy to immobilize it later.)
+
+ group chaperonins type @atom:C
+ }
+
+
+ # Specify which pair_styles, and atom styles work well with
+ # this model. (Again this can be overridden later.)
+
+ write_once("In Init") {
+ units lj
+ atom_style full
+ pair_style hybrid lj/charmm/coul/charmm/inter es4k4l maxmax 11.0 12.0
+ }
+
+} # Chaperonin
+
+# We have not specified how this particle interacts with other particles
+# besides itself. Later on you must do this.
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/moltemplate_files/generate_tables/calc_chaperone_table.py b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/moltemplate_files/generate_tables/calc_chaperone_table.py
new file mode 100755
index 000000000..4c787de56
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/moltemplate_files/generate_tables/calc_chaperone_table.py
@@ -0,0 +1,87 @@
+#!/usr/bin/env python
+
+# Calculate a table of pairwise energies and forces between atoms in the
+# protein and a chaperone provided in the supplemental materials section of:
+# AI Jewett, A Baumketner and J-E Shea, PNAS, 101 (36), 13192-13197, (2004)
+# This is stored in a tabulated force field with a singularity at a distance R.
+#
+# To calculate the table for interaction between
+# ...the chaperone and a hydrophobic bead (2004 PNAS paper), use this table:
+# ./calc_chaperone_table.py 1.0 1.0 6.0 0.475 0.0 5.9 1181
+# ...the chaperone and a hydrophilic bead (2004 PNAS paper), use this table:
+# ./calc_chaperone_table.py 1.0 1.0 6.0 0.0 0.0 5.9 1181
+# ...the chaperone and a hydrophobic bead (2006 JMB paper), use this table:
+# ./calc_chaperone_table.py 1.0 1.0 3.0 0.60 3.1 8.0 981 True
+# ...the chaperone and a hydrophilic bead (2006 JMB paper), use this table:
+# ./calc_chaperone_table.py 1.0 1.0 3.0 0.0 3.1 8.0 981 True
+
+from math import *
+import sys
+
+def U(r, eps, sigma, R, h):
+ #print('r='+str(r)+' eps='+str(eps)+' s='+str(sigma)+' R='+str(R)+' h='+str(h))
+ # Formula is undefined at r=0, but you can take the limit:
+ if r <= 0:
+ return 4.0*pi*R*R*4.0*eps*(pow((sigma/R), 12.0)
+ - h*pow((sigma/R), 6.0))
+ xp = sigma/(r+R)
+ xm = sigma/(r-R)
+ term10 = pow(xm, 10.0) - pow(xp, 10.0)
+ term4 = pow(xm, 4.0) - pow(xp, 4.0)
+ return 4.0*pi*eps*(R/r) * (0.2*term10 - 0.5*h*term4)
+
+def F(r, eps, sigma, R, h):
+ # Formula is undefined at r=0, but you can take the limit:
+ if r <= 0:
+ return 0.0
+ product_term_a = U(r, eps, sigma, R, h) / r
+ ixp = (r+R)/sigma
+ ixm = (r-R)/sigma
+ dix_dr = 1.0/sigma
+ term10 = (10.0/sigma)*(pow(ixm, -11.0) - pow(ixp, -11.0))
+ term4 = (4.0/sigma)*(pow(ixm, -5.0) - pow(ixp, -5.0))
+ product_term_b = 4.0*eps*pi*(R/r) * (0.2*term10 - 0.5*h*term4)
+ return product_term_a + product_term_b
+
+
+class InputError(Exception):
+ """ A generic exception object containing a string for error reporting.
+
+ """
+ def __init__(self, err_msg):
+ self.err_msg = err_msg
+ def __str__(self):
+ return self.err_msg
+ def __repr__(self):
+ return str(self)
+
+if len(sys.argv) < 8:
+ sys.stderr.write("Error: expected 7 arguments:\n"
+ "\n"
+ "Usage: "+sys.argv[0]+" epsilon sigma R h rmin rmax N\n\n")
+ sys.exit(-1)
+
+epsilon = float(sys.argv[1])
+sigma = float(sys.argv[2])
+R = float(sys.argv[3])
+h = float(sys.argv[4])
+rmin = float(sys.argv[5])
+rmax = float(sys.argv[6])
+N = int(sys.argv[7])
+
+subtract_Urcut = False
+if len(sys.argv) == 9:
+ subtract_Urcut = True
+rcut = rmax
+
+for i in range(0,N):
+ r = rmin + i*(rmax-rmin)/(N-1)
+ U_r = U(r, epsilon, sigma, R, h)
+ F_r = F(r, epsilon, sigma, R, h)
+ if subtract_Urcut:
+ U_r -= U(rcut, epsilon, sigma, R, h)
+ if (r >= rcut) or (i==N-1):
+ U_r = 0.0
+ F_r = 0.0
+ print(str(i+1)+' '+str(r)+' '+str(U_r)+' '+str(F_r))
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/moltemplate_files/generate_tables/calc_dihedral_table.py b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/moltemplate_files/generate_tables/calc_dihedral_table.py
new file mode 100755
index 000000000..907732fa1
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/moltemplate_files/generate_tables/calc_dihedral_table.py
@@ -0,0 +1,67 @@
+#!/usr/bin/env python
+
+# Calculate a table of dihedral angle interactions used in the alpha-helix
+# and beta-sheet regions of the frustrated protein model described in
+# provided in figure 8 of the supplemental materials section of:
+# AI Jewett, A Baumketner and J-E Shea, PNAS, 101 (36), 13192-13197, (2004)
+# Note that the "A" and "B" parameters were incorrectly reported to be
+# 5.4*epsilon and 6.0*epsilon. The values used were 5.6 and 6.0 epsilon.
+# The phiA and phiB values were 57.29577951308232 degrees (1 rad)
+# and 180 degrees, respectively. Both expA and expB were 6.0.
+#
+# To generate the table used for the alpha-helix (1 degree resolution) use this:
+# ./calc_dihedral_table.py 6.0 57.29577951308232 6 5.6 180 6 0.0 359 360
+# To generate the table used for the beta-sheets (1 degree resolution) use this:
+# ./calc_dihedral_table.py 5.6 57.29577951308232 6 6.0 180 6 0.0 359 360
+#
+# (If you're curious as to why I set the location of the minima at phi_alpha
+# to 1.0 radians (57.2957795 degrees), there was no particularly good reason.
+# I think the correct value turns out to be something closer to 50 degrees.)
+
+
+from math import *
+import sys
+
+
+# The previous version included the repulsive core term
+def U(phi, A, phiA, expA, B, phiB, expB, use_radians=False):
+ conv_units = pi/180.0
+ if use_radians:
+ conv_units = 1.0
+ termA = pow(cos(0.5*(phi-phiA)*conv_units), expA)
+ termB = pow(cos(0.5*(phi-phiB)*conv_units), expB)
+ return -A*termA - B*termB
+
+# The previous version included the repulsive core term
+def F(phi, A, phiA, expA, B, phiB, expB, use_radians=False):
+ conv_units = pi/180.0
+ if use_radians:
+ conv_units = 1.0
+ termA = (0.5*sin(0.5*(phi-phiA)*conv_units) *
+ expA * pow(cos(0.5*(phi-phiA)*conv_units), expA-1.0))
+ termB = (0.5*sin(0.5*(phi-phiB)*conv_units) *
+ expB * pow(cos(0.5*(phi-phiB)*conv_units), expB-1.0))
+ return -conv_units*(A*termA + B*termB)
+
+if len(sys.argv) != 10:
+ sys.stderr.write("Error: expected 9 arguments:\n"
+ "\n"
+ "Usage: "+sys.argv[0]+" A phiA expA B phiB expB phiMin phiMax N\n\n")
+ sys.exit(-1)
+
+A = float(sys.argv[1])
+phiA = float(sys.argv[2])
+expA = float(sys.argv[3])
+B = float(sys.argv[4])
+phiB = float(sys.argv[5])
+expB = float(sys.argv[6])
+phi_min = float(sys.argv[7])
+phi_max = float(sys.argv[8])
+N = int(sys.argv[9])
+
+for i in range(0,N):
+ phi = phi_min + i*(phi_max - phi_min)/(N-1)
+ U_phi = U(phi, A, phiA, expA, B, phiB, expB, use_radians=False)
+ F_phi = F(phi, A, phiA, expA, B, phiB, expB, use_radians=False)
+ print(str(i+1)+' '+str(phi)+' '+str(U_phi)+' '+str(F_phi))
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/moltemplate_files/system.lt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/moltemplate_files/system.lt
new file mode 100644
index 000000000..d70ea9b1f
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/moltemplate_files/system.lt
@@ -0,0 +1,45 @@
+write_once("Data Boundary") {
+ 0.0 20.0 xlo xhi
+ 0.0 20.0 ylo yhi
+ 0.0 20.0 zlo zhi
+}
+
+
+import "1beadFrustrated_variants.lt"
+import "chaperonin.lt"
+
+
+protein = new 1beadMisfolded # (frustrated protein, misfolded conformation)
+chaperinin = new Chaperonin # (hollow chaperonin cavity. usually immobile)
+
+
+
+# ---- Now define interactions between the atoms in the protein ----
+# ---- (named "B", "L", "N") and the atom which represents the ----
+# ---- chaperone ("C"). These interactions are tabulated. ----
+
+write_once("In Settings") {
+ pair_coeff @atom:Chaperonin/C @atom:1beadFrustrated/B table table_chaperonin_h=0.475.dat CH_H0.475
+ pair_coeff @atom:Chaperonin/C @atom:1beadFrustrated/L table table_chaperonin_h=0.dat CH_H0
+ pair_coeff @atom:Chaperonin/C @atom:1beadFrustrated/N table table_chaperonin_h=0.dat CH_H0
+}
+
+# Note: If you want to use a "hydrophilic" chaperone (with h=0, not h=0.475)
+# then replace "table_chaperonin_h=0_475.dat CH_H0.475"
+# with "table_chaperonin_h=0.dat CH_H0"
+
+# LAMMPS has many available force field styles (and atom styles). Here we
+# select the ones which work well for the full combine system. (This should
+# override any settings made in "1beadFrustrated.lt" or "chaperonin.lt")
+
+
+write_once("In Init") {
+ units lj
+ atom_style full
+ bond_style hybrid harmonic
+ angle_style hybrid harmonic
+ dihedral_style hybrid table spline 360
+ pair_style hybrid lj/charmm/coul/charmm/inter es4k4l maxmax 3.5 4.0 table spline 1181
+ pair_modify mix arithmetic
+ special_bonds lj 0.0 0.0 1.0 #(turn on "1-4" interactions)
+}
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/moltemplate_files/table_chaperonin_h=0.475.dat b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/moltemplate_files/table_chaperonin_h=0.475.dat
new file mode 100644
index 000000000..675d228a9
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/moltemplate_files/table_chaperonin_h=0.475.dat
@@ -0,0 +1,1188 @@
+# Interaction between a chaperonin wall and hydrophobic ("B") beads (h=0.475).
+# LAMMPS would crash unless I set the minimum radius to a positive value (not 0)
+
+CH_H0.475
+N 1181 R 0.00000000001 5.9
+
+1 0.00000000001 -0.018422088583 0.0
+2 0.005 -0.0184221525389 2.55824082873e-05
+3 0.01 -0.0184223444081 5.11654127471e-05
+4 0.015 -0.018422664195 7.67496107175e-05
+5 0.02 -0.0184231119071 0.000102335598797
+6 0.025 -0.018423687555 0.000127923973785
+7 0.03 -0.0184243911519 0.000153515332637
+8 0.035 -0.0184252227143 0.000179110272379
+9 0.04 -0.0184261822615 0.000204709390236
+10 0.045 -0.0184272698161 0.000230313283607
+11 0.05 -0.0184284854033 0.000255922550119
+12 0.055 -0.0184298290516 0.000281537787625
+13 0.06 -0.0184313007922 0.000307159594253
+14 0.065 -0.0184329006595 0.000332788568419
+15 0.07 -0.0184346286908 0.000358425308862
+16 0.075 -0.0184364849265 0.000384070414671
+17 0.08 -0.0184384694099 0.000409724485298
+18 0.085 -0.0184405821873 0.000435388120601
+19 0.09 -0.018442823308 0.000461061920867
+20 0.095 -0.0184451928244 0.000486746486835
+21 0.1 -0.0184476907918 0.000512442419724
+22 0.105 -0.0184503172686 0.00053815032126
+23 0.11 -0.018453072316 0.000563870793707
+24 0.115 -0.0184559559985 0.00058960443989
+25 0.12 -0.0184589683834 0.000615351863219
+26 0.125 -0.0184621095411 0.000641113667723
+27 0.13 -0.018465379545 0.000666890458074
+28 0.135 -0.0184687784716 0.000692682839612
+29 0.14 -0.0184723064004 0.000718491418378
+30 0.145 -0.0184759634138 0.000744316801133
+31 0.15 -0.0184797495974 0.000770159595394
+32 0.155 -0.0184836650398 0.000796020409456
+33 0.16 -0.0184877098326 0.000821899852421
+34 0.165 -0.0184918840704 0.000847798534223
+35 0.17 -0.018496187851 0.000873717065662
+36 0.175 -0.0185006212752 0.000899656058423
+37 0.18 -0.0185051844467 0.000925616125112
+38 0.185 -0.0185098774726 0.000951597879278
+39 0.19 -0.0185147004627 0.000977601935442
+40 0.195 -0.0185196535301 0.00100362890913
+41 0.2 -0.018524736791 0.00102967941688
+42 0.205 -0.0185299503645 0.00105575407632
+43 0.21 -0.018535294373 0.00108185350613
+44 0.215 -0.0185407689419 0.00110797832612
+45 0.22 -0.0185463741997 0.00113412915723
+46 0.225 -0.0185521102779 0.00116030662158
+47 0.23 -0.0185579773113 0.00118651134249
+48 0.235 -0.0185639754378 0.00121274394448
+49 0.24 -0.0185701047983 0.00123900505337
+50 0.245 -0.0185763655369 0.00126529529622
+51 0.25 -0.0185827578008 0.00129161530144
+52 0.255 -0.0185892817405 0.00131796569874
+53 0.26 -0.0185959375095 0.00134434711924
+54 0.265 -0.0186027252645 0.00137076019543
+55 0.27 -0.0186096451653 0.00139720556125
+56 0.275 -0.018616697375 0.00142368385209
+57 0.28 -0.0186238820597 0.00145019570482
+58 0.285 -0.018631199389 0.00147674175783
+59 0.29 -0.0186386495354 0.00150332265107
+60 0.295 -0.0186462326747 0.00152993902605
+61 0.3 -0.0186539489859 0.00155659152589
+62 0.305 -0.0186617986512 0.00158328079535
+63 0.31 -0.0186697818562 0.00161000748085
+64 0.315 -0.0186778987894 0.00163677223051
+65 0.32 -0.018686149643 0.00166357569418
+66 0.325 -0.018694534612 0.00169041852345
+67 0.33 -0.0187030538949 0.00171730137172
+68 0.335 -0.0187117076935 0.0017442248942
+69 0.34 -0.0187204962128 0.00177118974793
+70 0.345 -0.018729419661 0.00179819659187
+71 0.35 -0.0187384782498 0.00182524608685
+72 0.355 -0.018747672194 0.00185233889566
+73 0.36 -0.018757001712 0.00187947568307
+74 0.365 -0.0187664670253 0.00190665711585
+75 0.37 -0.0187760683587 0.0019338838628
+76 0.375 -0.0187858059405 0.00196115659479
+77 0.38 -0.0187956800024 0.00198847598479
+78 0.385 -0.0188056907793 0.00201584270792
+79 0.39 -0.0188158385095 0.00204325744145
+80 0.395 -0.0188261234348 0.00207072086484
+81 0.4 -0.0188365458004 0.00209823365979
+82 0.405 -0.0188471058549 0.00212579651027
+83 0.41 -0.0188578038501 0.00215341010252
+84 0.415 -0.0188686400416 0.00218107512514
+85 0.42 -0.0188796146882 0.00220879226907
+86 0.425 -0.0188907280523 0.00223656222766
+87 0.43 -0.0189019803997 0.00226438569667
+88 0.435 -0.0189133719996 0.00229226337435
+89 0.44 -0.0189249031249 0.00232019596142
+90 0.445 -0.0189365740519 0.00234818416114
+91 0.45 -0.0189483850604 0.00237622867935
+92 0.455 -0.0189603364338 0.00240433022447
+93 0.46 -0.0189724284589 0.00243248950756
+94 0.465 -0.0189846614263 0.00246070724235
+95 0.47 -0.0189970356299 0.00248898414528
+96 0.475 -0.0190095513675 0.00251732093553
+97 0.48 -0.0190222089403 0.00254571833504
+98 0.485 -0.0190350086531 0.00257417706858
+99 0.49 -0.0190479508144 0.00260269786377
+100 0.495 -0.0190610357364 0.00263128145108
+101 0.5 -0.0190742637348 0.00265992856393
+102 0.505 -0.0190876351291 0.0026886399387
+103 0.51 -0.0191011502425 0.00271741631474
+104 0.515 -0.0191148094019 0.00274625843445
+105 0.52 -0.0191286129377 0.00277516704329
+106 0.525 -0.0191425611844 0.00280414288981
+107 0.53 -0.0191566544799 0.00283318672573
+108 0.535 -0.0191708931662 0.00286229930593
+109 0.54 -0.0191852775888 0.00289148138852
+110 0.545 -0.0191998080972 0.00292073373487
+111 0.55 -0.0192144850445 0.00295005710962
+112 0.555 -0.0192293087879 0.00297945228079
+113 0.56 -0.0192442796883 0.00300892001972
+114 0.565 -0.0192593981104 0.00303846110121
+115 0.57 -0.0192746644228 0.00306807630348
+116 0.575 -0.0192900789982 0.00309776640827
+117 0.58 -0.0193056422131 0.00312753220084
+118 0.585 -0.0193213544477 0.00315737447002
+119 0.59 -0.0193372160865 0.00318729400826
+120 0.595 -0.0193532275179 0.00321729161167
+121 0.6 -0.0193693891341 0.00324736808004
+122 0.605 -0.0193857013315 0.00327752421692
+123 0.61 -0.0194021645104 0.00330776082963
+124 0.615 -0.0194187790753 0.00333807872931
+125 0.62 -0.0194355454345 0.00336847873097
+126 0.625 -0.0194524640008 0.00339896165353
+127 0.63 -0.0194695351906 0.00342952831985
+128 0.635 -0.0194867594249 0.00346017955681
+129 0.64 -0.0195041371285 0.00349091619529
+130 0.645 -0.0195216687306 0.00352173907028
+131 0.65 -0.0195393546644 0.00355264902089
+132 0.655 -0.0195571953673 0.0035836468904
+133 0.66 -0.0195751912812 0.0036147335263
+134 0.665 -0.019593342852 0.00364590978035
+135 0.67 -0.0196116505298 0.00367717650862
+136 0.675 -0.0196301147693 0.00370853457151
+137 0.68 -0.0196487360292 0.00373998483385
+138 0.685 -0.0196675147727 0.0037715281649
+139 0.69 -0.0196864514674 0.00380316543841
+140 0.695 -0.0197055465851 0.00383489753267
+141 0.7 -0.0197248006022 0.00386672533057
+142 0.705 -0.0197442139994 0.00389864971962
+143 0.71 -0.0197637872619 0.00393067159203
+144 0.715 -0.0197835208793 0.00396279184472
+145 0.72 -0.0198034153458 0.00399501137941
+146 0.725 -0.0198234711601 0.00402733110266
+147 0.73 -0.0198436888254 0.00405975192588
+148 0.735 -0.0198640688494 0.00409227476545
+149 0.74 -0.0198846117446 0.00412490054269
+150 0.745 -0.0199053180279 0.004157630184
+151 0.75 -0.0199261882211 0.00419046462082
+152 0.755 -0.0199472228503 0.00422340478976
+153 0.76 -0.0199684224468 0.00425645163261
+154 0.765 -0.019989787546 0.00428960609639
+155 0.77 -0.0200113186887 0.00432286913342
+156 0.775 -0.0200330164199 0.00435624170138
+157 0.78 -0.0200548812898 0.00438972476334
+158 0.785 -0.0200769138533 0.00442331928783
+159 0.79 -0.0200991146701 0.00445702624889
+160 0.795 -0.0201214843048 0.00449084662613
+161 0.8 -0.020144023327 0.00452478140479
+162 0.805 -0.0201667323112 0.00455883157576
+163 0.81 -0.0201896118368 0.0045929981357
+164 0.815 -0.0202126624882 0.00462728208704
+165 0.82 -0.020235884855 0.00466168443808
+166 0.825 -0.0202592795316 0.00469620620299
+167 0.83 -0.0202828471177 0.00473084840195
+168 0.835 -0.0203065882181 0.00476561206114
+169 0.84 -0.0203305034425 0.00480049821283
+170 0.845 -0.0203545934061 0.00483550789544
+171 0.85 -0.0203788587291 0.00487064215359
+172 0.855 -0.020403300037 0.00490590203817
+173 0.86 -0.0204279179606 0.00494128860638
+174 0.865 -0.020452713136 0.00497680292184
+175 0.87 -0.0204776862045 0.00501244605461
+176 0.875 -0.020502837813 0.00504821908124
+177 0.88 -0.0205281686136 0.00508412308491
+178 0.885 -0.020553679264 0.00512015915539
+179 0.89 -0.0205793704271 0.0051563283892
+180 0.895 -0.0206052427716 0.0051926318896
+181 0.9 -0.0206312969716 0.00522907076671
+182 0.905 -0.0206575337068 0.00526564613755
+183 0.91 -0.0206839536624 0.00530235912611
+184 0.915 -0.0207105575293 0.00533921086343
+185 0.92 -0.0207373460042 0.00537620248763
+186 0.925 -0.0207643197892 0.00541333514403
+187 0.93 -0.0207914795926 0.0054506099852
+188 0.935 -0.020818826128 0.00548802817101
+189 0.94 -0.0208463601151 0.00552559086871
+190 0.945 -0.0208740822795 0.00556329925304
+191 0.95 -0.0209019933525 0.00560115450624
+192 0.955 -0.0209300940713 0.00563915781816
+193 0.96 -0.0209583851794 0.00567731038631
+194 0.965 -0.020986867426 0.00571561341599
+195 0.97 -0.0210155415663 0.00575406812027
+196 0.975 -0.021044408362 0.00579267572016
+197 0.98 -0.0210734685804 0.00583143744461
+198 0.985 -0.0211027229954 0.00587035453065
+199 0.99 -0.0211321723867 0.00590942822342
+200 0.995 -0.0211618175407 0.00594865977625
+201 1.0 -0.0211916592497 0.00598805045079
+202 1.005 -0.0212216983125 0.00602760151701
+203 1.01 -0.0212519355343 0.00606731425336
+204 1.015 -0.0212823717267 0.00610718994679
+205 1.02 -0.0213130077075 0.00614722989286
+206 1.025 -0.0213438443015 0.00618743539581
+207 1.03 -0.0213748823396 0.00622780776866
+208 1.035 -0.0214061226595 0.00626834833326
+209 1.04 -0.0214375661055 0.00630905842043
+210 1.045 -0.0214692135285 0.00634993936999
+211 1.05 -0.0215010657862 0.00639099253086
+212 1.055 -0.0215331237431 0.00643221926118
+213 1.06 -0.0215653882704 0.00647362092835
+214 1.065 -0.0215978602462 0.00651519890914
+215 1.07 -0.0216305405556 0.0065569545898
+216 1.075 -0.0216634300906 0.00659888936611
+217 1.08 -0.0216965297501 0.00664100464349
+218 1.085 -0.0217298404402 0.00668330183711
+219 1.09 -0.0217633630741 0.00672578237194
+220 1.095 -0.0217970985719 0.00676844768288
+221 1.1 -0.0218310478613 0.00681129921484
+222 1.105 -0.0218652118769 0.00685433842285
+223 1.11 -0.0218995915607 0.00689756677211
+224 1.115 -0.0219341878623 0.00694098573816
+225 1.12 -0.0219690017383 0.0069845968069
+226 1.125 -0.022004034153 0.00702840147476
+227 1.13 -0.0220392860782 0.00707240124874
+228 1.135 -0.0220747584932 0.00711659764655
+229 1.14 -0.0221104523849 0.00716099219671
+230 1.145 -0.022146368748 0.00720558643861
+231 1.15 -0.0221825085847 0.00725038192267
+232 1.155 -0.0222188729052 0.00729538021041
+233 1.16 -0.0222554627274 0.00734058287457
+234 1.165 -0.0222922790772 0.0073859914992
+235 1.17 -0.0223293229884 0.0074316076798
+236 1.175 -0.0223665955026 0.0074774330234
+237 1.18 -0.0224040976699 0.00752346914866
+238 1.185 -0.0224418305481 0.00756971768601
+239 1.19 -0.0224797952035 0.00761618027777
+240 1.195 -0.0225179927104 0.00766285857821
+241 1.2 -0.0225564241516 0.00770975425373
+242 1.205 -0.0225950906181 0.00775686898291
+243 1.21 -0.0226339932093 0.00780420445668
+244 1.215 -0.0226731330334 0.00785176237842
+245 1.22 -0.0227125112067 0.00789954446406
+246 1.225 -0.0227521288545 0.00794755244222
+247 1.23 -0.0227919871105 0.00799578805433
+248 1.235 -0.0228320871174 0.00804425305474
+249 1.24 -0.0228724300263 0.00809294921086
+250 1.245 -0.0229130169977 0.00814187830327
+251 1.25 -0.0229538492006 0.00819104212586
+252 1.255 -0.0229949278132 0.00824044248594
+253 1.26 -0.0230362540227 0.00829008120437
+254 1.265 -0.0230778290255 0.00833996011571
+255 1.27 -0.0231196540273 0.00839008106834
+256 1.275 -0.0231617302427 0.00844044592457
+257 1.28 -0.0232040588961 0.00849105656081
+258 1.285 -0.0232466412211 0.00854191486768
+259 1.29 -0.0232894784608 0.00859302275016
+260 1.295 -0.0233325718678 0.00864438212772
+261 1.3 -0.0233759227044 0.00869599493446
+262 1.305 -0.0234195322428 0.00874786311924
+263 1.31 -0.0234634017645 0.00879998864585
+264 1.315 -0.0235075325614 0.00885237349313
+265 1.32 -0.023551925935 0.00890501965511
+266 1.325 -0.0235965831968 0.00895792914117
+267 1.33 -0.0236415056686 0.00901110397621
+268 1.335 -0.0236866946822 0.00906454620074
+269 1.34 -0.0237321515797 0.00911825787107
+270 1.345 -0.0237778777135 0.00917224105947
+271 1.35 -0.0238238744463 0.00922649785429
+272 1.355 -0.0238701431515 0.00928103036016
+273 1.36 -0.023916685213 0.00933584069811
+274 1.365 -0.0239635020251 0.00939093100572
+275 1.37 -0.0240105949932 0.00944630343733
+276 1.375 -0.0240579655333 0.00950196016416
+277 1.38 -0.0241056150724 0.00955790337448
+278 1.385 -0.0241535450482 0.00961413527379
+279 1.39 -0.0242017569099 0.00967065808498
+280 1.395 -0.0242502521177 0.00972747404847
+281 1.4 -0.0242990321428 0.00978458542245
+282 1.405 -0.024348098468 0.00984199448296
+283 1.41 -0.0243974525876 0.00989970352414
+284 1.415 -0.0244470960071 0.00995771485838
+285 1.42 -0.0244970302439 0.0100160308165
+286 1.425 -0.0245472568269 0.0100746537479
+287 1.43 -0.0245977772969 0.0101335860207
+288 1.435 -0.0246485932066 0.0101928300222
+289 1.44 -0.0246997061207 0.0102523881586
+290 1.445 -0.0247511176158 0.0103122628557
+291 1.45 -0.0248028292809 0.0103724565585
+292 1.455 -0.0248548427172 0.010432971732
+293 1.46 -0.0249071595382 0.0104938108611
+294 1.465 -0.0249597813699 0.0105549764506
+295 1.47 -0.025012709851 0.0106164710259
+296 1.475 -0.0250659466327 0.0106782971325
+297 1.48 -0.0251194933791 0.010740457337
+298 1.485 -0.0251733517672 0.0108029542267
+299 1.49 -0.0252275234869 0.0108657904101
+300 1.495 -0.0252820102412 0.010928968517
+301 1.5 -0.0253368137464 0.0109924911986
+302 1.505 -0.0253919357319 0.0110563611281
+303 1.51 -0.0254473779409 0.0111205810005
+304 1.515 -0.0255031421297 0.0111851535329
+305 1.52 -0.0255592300685 0.0112500814649
+306 1.525 -0.0256156435413 0.0113153675588
+307 1.53 -0.0256723843457 0.0113810145995
+308 1.535 -0.0257294542935 0.0114470253952
+309 1.54 -0.0257868552106 0.0115134027773
+310 1.545 -0.025844588937 0.0115801496006
+311 1.55 -0.0259026573272 0.0116472687439
+312 1.555 -0.0259610622498 0.0117147631099
+313 1.56 -0.0260198055885 0.0117826356253
+314 1.565 -0.0260788892413 0.0118508892417
+315 1.57 -0.0261383151211 0.011919526935
+316 1.575 -0.0261980851557 0.0119885517064
+317 1.58 -0.0262582012883 0.0120579665821
+318 1.585 -0.0263186654768 0.0121277746138
+319 1.59 -0.0263794796948 0.012197978879
+320 1.595 -0.0264406459312 0.012268582481
+321 1.6 -0.0265021661904 0.0123395885496
+322 1.605 -0.0265640424927 0.012411000241
+323 1.61 -0.0266262768742 0.0124828207379
+324 1.615 -0.0266888713868 0.0125550532504
+325 1.62 -0.0267518280987 0.0126277010158
+326 1.625 -0.0268151490945 0.0127007672988
+327 1.63 -0.0268788364747 0.0127742553922
+328 1.635 -0.0269428923569 0.0128481686167
+329 1.64 -0.027007318875 0.0129225103217
+330 1.645 -0.0270721181799 0.0129972838851
+331 1.65 -0.0271372924393 0.0130724927139
+332 1.655 -0.0272028438382 0.0131481402442
+333 1.66 -0.0272687745787 0.0132242299421
+334 1.665 -0.0273350868804 0.0133007653031
+335 1.67 -0.0274017829804 0.0133777498532
+336 1.675 -0.0274688651335 0.0134551871488
+337 1.68 -0.0275363356124 0.0135330807772
+338 1.685 -0.0276041967079 0.0136114343567
+339 1.69 -0.0276724507287 0.0136902515371
+340 1.695 -0.027741100002 0.0137695359999
+341 1.7 -0.0278101468737 0.0138492914588
+342 1.705 -0.0278795937079 0.0139295216598
+343 1.71 -0.0279494428878 0.0140102303818
+344 1.715 -0.0280196968156 0.0140914214365
+345 1.72 -0.0280903579125 0.0141730986693
+346 1.725 -0.028161428619 0.0142552659592
+347 1.73 -0.0282329113953 0.0143379272194
+348 1.735 -0.0283048087211 0.0144210863974
+349 1.74 -0.0283771230958 0.0145047474758
+350 1.745 -0.028449857039 0.0145889144721
+351 1.75 -0.0285230130905 0.0146735914394
+352 1.755 -0.0285965938102 0.0147587824667
+353 1.76 -0.0286706017788 0.0148444916794
+354 1.765 -0.0287450395976 0.0149307232394
+355 1.77 -0.0288199098888 0.0150174813458
+356 1.775 -0.0288952152957 0.0151047702347
+357 1.78 -0.0289709584829 0.0151925941806
+358 1.785 -0.0290471421364 0.0152809574956
+359 1.79 -0.029123768964 0.0153698645308
+360 1.795 -0.0292008416952 0.0154593196762
+361 1.8 -0.0292783630817 0.0155493273611
+362 1.805 -0.0293563358972 0.0156398920546
+363 1.81 -0.0294347629381 0.0157310182661
+364 1.815 -0.0295136470233 0.0158227105457
+365 1.82 -0.0295929909946 0.0159149734844
+366 1.825 -0.029672797717 0.0160078117148
+367 1.83 -0.0297530700784 0.0161012299115
+368 1.835 -0.0298338109905 0.0161952327913
+369 1.84 -0.0299150233887 0.016289825114
+370 1.845 -0.0299967102321 0.0163850116825
+371 1.85 -0.030078874504 0.0164807973437
+372 1.855 -0.0301615192122 0.0165771869883
+373 1.86 -0.0302446473888 0.016674185552
+374 1.865 -0.0303282620908 0.0167717980155
+375 1.87 -0.0304123664005 0.0168700294049
+376 1.875 -0.0304969634249 0.0169688847928
+377 1.88 -0.0305820562969 0.0170683692981
+378 1.885 -0.030667648175 0.0171684880868
+379 1.89 -0.0307537422436 0.0172692463725
+380 1.895 -0.0308403417133 0.0173706494169
+381 1.9 -0.0309274498212 0.0174727025303
+382 1.905 -0.031015069831 0.017575411072
+383 1.91 -0.0311032050333 0.017678780451
+384 1.915 -0.031191858746 0.0177828161266
+385 1.92 -0.0312810343143 0.0178875236086
+386 1.925 -0.031370735111 0.0179929084582
+387 1.93 -0.0314609645372 0.0180989762881
+388 1.935 -0.0315517260217 0.0182057327638
+389 1.94 -0.0316430230221 0.0183131836033
+390 1.945 -0.0317348590246 0.0184213345784
+391 1.95 -0.0318272375444 0.0185301915148
+392 1.955 -0.0319201621261 0.0186397602927
+393 1.96 -0.0320136363437 0.0187500468479
+394 1.965 -0.0321076638009 0.0188610571717
+395 1.97 -0.0322022481317 0.018972797312
+396 1.975 -0.0322973930005 0.0190852733736
+397 1.98 -0.0323931021023 0.0191984915193
+398 1.985 -0.0324893791629 0.0193124579697
+399 1.99 -0.0325862279396 0.0194271790047
+400 1.995 -0.0326836522212 0.0195426609637
+401 2.0 -0.0327816558281 0.0196589102462
+402 2.005 -0.0328802426133 0.0197759333127
+403 2.01 -0.0329794164618 0.0198937366852
+404 2.015 -0.0330791812916 0.0200123269477
+405 2.02 -0.0331795410538 0.0201317107476
+406 2.025 -0.0332804997328 0.0202518947953
+407 2.03 -0.0333820613468 0.020372885866
+408 2.035 -0.0334842299479 0.0204946907995
+409 2.04 -0.0335870096227 0.0206173165015
+410 2.045 -0.0336904044925 0.0207407699441
+411 2.05 -0.0337944187135 0.0208650581666
+412 2.055 -0.0338990564773 0.020990188276
+413 2.06 -0.0340043220113 0.0211161674483
+414 2.065 -0.0341102195789 0.0212430029286
+415 2.07 -0.03421675348 0.0213707020324
+416 2.075 -0.0343239280509 0.0214992721461
+417 2.08 -0.0344317476655 0.0216287207278
+418 2.085 -0.0345402167349 0.0217590553081
+419 2.09 -0.034649339708 0.0218902834912
+420 2.095 -0.0347591210719 0.0220224129553
+421 2.1 -0.0348695653526 0.0221554514537
+422 2.105 -0.0349806771146 0.0222894068153
+423 2.11 -0.035092460962 0.0224242869461
+424 2.115 -0.0352049215386 0.0225600998293
+425 2.12 -0.0353180635283 0.0226968535268
+426 2.125 -0.0354318916555 0.0228345561796
+427 2.13 -0.0355464106854 0.022973216009
+428 2.135 -0.0356616254247 0.0231128413174
+429 2.14 -0.0357775407217 0.0232534404893
+430 2.145 -0.0358941614668 0.0233950219919
+431 2.15 -0.036011492593 0.0235375943765
+432 2.155 -0.0361295390764 0.0236811662793
+433 2.16 -0.0362483059362 0.0238257464221
+434 2.165 -0.0363677982357 0.0239713436135
+435 2.17 -0.0364880210823 0.0241179667499
+436 2.175 -0.0366089796281 0.0242656248166
+437 2.18 -0.0367306790704 0.0244143268884
+438 2.185 -0.0368531246523 0.0245640821311
+439 2.19 -0.0369763216625 0.0247148998022
+440 2.195 -0.0371002754366 0.0248667892521
+441 2.2 -0.037224991357 0.0250197599252
+442 2.205 -0.0373504748537 0.0251738213609
+443 2.21 -0.0374767314046 0.0253289831948
+444 2.215 -0.0376037665359 0.0254852551594
+445 2.22 -0.0377315858228 0.0256426470859
+446 2.225 -0.0378601948899 0.0258011689049
+447 2.23 -0.0379895994117 0.0259608306473
+448 2.235 -0.0381198051131 0.0261216424461
+449 2.24 -0.03825081777 0.0262836145373
+450 2.245 -0.0383826432096 0.0264467572608
+451 2.25 -0.0385152873111 0.026611081062
+452 2.255 -0.0386487560062 0.0267765964928
+453 2.26 -0.0387830552798 0.026943314213
+454 2.265 -0.0389181911701 0.0271112449915
+455 2.27 -0.0390541697696 0.0272803997074
+456 2.275 -0.0391909972254 0.0274507893516
+457 2.28 -0.0393286797398 0.0276224250278
+458 2.285 -0.0394672235711 0.0277953179541
+459 2.29 -0.0396066350337 0.027969479464
+460 2.295 -0.0397469204991 0.0281449210082
+461 2.3 -0.0398880863964 0.0283216541556
+462 2.305 -0.0400301392128 0.0284996905948
+463 2.31 -0.0401730854942 0.0286790421356
+464 2.315 -0.0403169318459 0.0288597207103
+465 2.32 -0.0404616849331 0.0290417383752
+466 2.325 -0.0406073514818 0.0292251073121
+467 2.33 -0.0407539382789 0.0294098398298
+468 2.335 -0.0409014521734 0.0295959483656
+469 2.34 -0.0410499000768 0.0297834454867
+470 2.345 -0.0411992889637 0.0299723438918
+471 2.35 -0.0413496258726 0.0301626564128
+472 2.355 -0.0415009179063 0.0303543960162
+473 2.36 -0.0416531722331 0.030547575805
+474 2.365 -0.0418063960867 0.0307422090198
+475 2.37 -0.0419605967679 0.0309383090411
+476 2.375 -0.0421157816444 0.0311358893905
+477 2.38 -0.0422719581518 0.0313349637324
+478 2.385 -0.0424291337947 0.031535545876
+479 2.39 -0.0425873161468 0.0317376497771
+480 2.395 -0.0427465128522 0.0319412895392
+481 2.4 -0.0429067316257 0.0321464794162
+482 2.405 -0.0430679802539 0.0323532338136
+483 2.41 -0.0432302665957 0.0325615672902
+484 2.415 -0.0433935985831 0.0327714945608
+485 2.42 -0.0435579842224 0.0329830304972
+486 2.425 -0.0437234315942 0.0331961901304
+487 2.43 -0.0438899488551 0.0334109886528
+488 2.435 -0.0440575442378 0.0336274414198
+489 2.44 -0.0442262260523 0.0338455639519
+490 2.445 -0.0443960026864 0.0340653719371
+491 2.45 -0.0445668826072 0.034286881232
+492 2.455 -0.044738874361 0.0345101078651
+493 2.46 -0.044911986575 0.0347350680378
+494 2.465 -0.0450862279579 0.0349617781271
+495 2.47 -0.0452616073004 0.0351902546879
+496 2.475 -0.0454381334767 0.0354205144546
+497 2.48 -0.0456158154451 0.0356525743439
+498 2.485 -0.0457946622489 0.0358864514565
+499 2.49 -0.0459746830172 0.0361221630801
+500 2.495 -0.0461558869663 0.0363597266909
+501 2.5 -0.0463382834002 0.0365991599565
+502 2.505 -0.0465218817117 0.0368404807381
+503 2.51 -0.0467066913835 0.0370837070928
+504 2.515 -0.046892721989 0.0373288572762
+505 2.52 -0.0470799831934 0.0375759497449
+506 2.525 -0.0472684847547 0.0378250031587
+507 2.53 -0.0474582365247 0.0380760363836
+508 2.535 -0.04764924845 0.0383290684938
+509 2.54 -0.0478415305732 0.0385841187751
+510 2.545 -0.0480350930339 0.0388412067266
+511 2.55 -0.0482299460695 0.0391003520642
+512 2.555 -0.0484261000167 0.0393615747229
+513 2.56 -0.0486235653125 0.0396248948596
+514 2.565 -0.048822352495 0.039890332856
+515 2.57 -0.0490224722051 0.0401579093214
+516 2.575 -0.0492239351871 0.0404276450956
+517 2.58 -0.04942675229 0.0406995612517
+518 2.585 -0.0496309344691 0.0409736790992
+519 2.59 -0.0498364927864 0.0412500201869
+520 2.595 -0.0500434384127 0.0415286063059
+521 2.6 -0.0502517826279 0.0418094594931
+522 2.605 -0.0504615368232 0.0420926020336
+523 2.61 -0.0506727125014 0.0423780564645
+524 2.615 -0.0508853212789 0.0426658455778
+525 2.62 -0.0510993748867 0.0429559924239
+526 2.625 -0.0513148851716 0.0432485203146
+527 2.63 -0.0515318640975 0.0435434528266
+528 2.635 -0.0517503237473 0.043840813805
+529 2.64 -0.0519702763232 0.0441406273667
+530 2.645 -0.0521917341492 0.0444429179039
+531 2.65 -0.0524147096717 0.0447477100876
+532 2.655 -0.0526392154611 0.0450550288711
+533 2.66 -0.0528652642134 0.045364899494
+534 2.665 -0.0530928687516 0.0456773474856
+535 2.67 -0.0533220420269 0.0459923986687
+536 2.675 -0.0535527971205 0.0463100791636
+537 2.68 -0.0537851472447 0.0466304153918
+538 2.685 -0.0540191057451 0.0469534340798
+539 2.69 -0.0542546861014 0.0472791622635
+540 2.695 -0.0544919019292 0.0476076272918
+541 2.7 -0.0547307669818 0.0479388568311
+542 2.705 -0.0549712951516 0.0482728788689
+543 2.71 -0.0552135004718 0.0486097217187
+544 2.715 -0.0554573971179 0.0489494140237
+545 2.72 -0.0557029994094 0.0492919847616
+546 2.725 -0.0559503218117 0.0496374632485
+547 2.73 -0.0561993789375 0.049985879144
+548 2.735 -0.0564501855488 0.0503372624549
+549 2.74 -0.0567027565584 0.0506916435408
+550 2.745 -0.0569571070317 0.0510490531179
+551 2.75 -0.0572132521888 0.0514095222643
+552 2.755 -0.057471207406 0.0517730824244
+553 2.76 -0.0577309882178 0.0521397654141
+554 2.765 -0.0579926103185 0.0525096034255
+555 2.77 -0.0582560895646 0.0528826290321
+556 2.775 -0.0585214419764 0.0532588751939
+557 2.78 -0.0587886837397 0.0536383752624
+558 2.785 -0.0590578312084 0.054021162986
+559 2.79 -0.0593289009059 0.0544072725151
+560 2.795 -0.0596019095275 0.0547967384078
+561 2.8 -0.0598768739422 0.0551895956353
+562 2.805 -0.060153811195 0.0555858795873
+563 2.81 -0.0604327385089 0.0559856260778
+564 2.815 -0.0607136732871 0.0563888713509
+565 2.82 -0.0609966331149 0.0567956520862
+566 2.825 -0.0612816357622 0.0572060054054
+567 2.83 -0.0615686991858 0.0576199688775
+568 2.835 -0.0618578415313 0.0580375805256
+569 2.84 -0.0621490811355 0.0584588788326
+570 2.845 -0.0624424365289 0.0588839027477
+571 2.85 -0.062737926438 0.0593126916926
+572 2.855 -0.0630355697874 0.059745285568
+573 2.86 -0.0633353857025 0.0601817247602
+574 2.865 -0.0636373935119 0.0606220501479
+575 2.87 -0.0639416127499 0.0610663031085
+576 2.875 -0.0642480631587 0.0615145255255
+577 2.88 -0.0645567646915 0.061966759795
+578 2.885 -0.0648677375146 0.062423048833
+579 2.89 -0.0651810020102 0.0628834360827
+580 2.895 -0.0654965787791 0.0633479655213
+581 2.9 -0.0658144886432 0.0638166816678
+582 2.905 -0.0661347526487 0.0642896295906
+583 2.91 -0.0664573920681 0.0647668549147
+584 2.915 -0.0667824284038 0.0652484038296
+585 2.92 -0.0671098833903 0.0657343230973
+586 2.925 -0.0674397789975 0.0662246600603
+587 2.93 -0.0677721374336 0.0667194626491
+588 2.935 -0.0681069811476 0.0672187793915
+589 2.94 -0.0684443328329 0.0677226594197
+590 2.945 -0.0687842154301 0.0682311524798
+591 2.95 -0.06912665213 0.0687443089398
+592 2.955 -0.0694716663768 0.0692621797986
+593 2.96 -0.0698192818714 0.0697848166948
+594 2.965 -0.0701695225743 0.0703122719156
+595 2.97 -0.0705224127093 0.0708445984062
+596 2.975 -0.0708779767664 0.0713818497788
+597 2.98 -0.0712362395056 0.0719240803221
+598 2.985 -0.0715972259599 0.0724713450112
+599 2.99 -0.0719609614387 0.0730236995168
+600 2.995 -0.072327471532 0.0735812002155
+601 3.0 -0.072696782113 0.0741439041996
+602 3.005 -0.0730689193424 0.0747118692875
+603 3.01 -0.0734439096719 0.0752851540336
+604 3.015 -0.0738217798477 0.0758638177395
+605 3.02 -0.0742025569143 0.076447920464
+606 3.025 -0.0745862682187 0.0770375230344
+607 3.03 -0.0749729414137 0.0776326870572
+608 3.035 -0.0753626044623 0.0782334749297
+609 3.04 -0.0757552856414 0.0788399498508
+610 3.045 -0.0761510135458 0.0794521758329
+611 3.05 -0.0765498170928 0.0800702177136
+612 3.055 -0.0769517255256 0.0806941411676
+613 3.06 -0.0773567684179 0.0813240127186
+614 3.065 -0.0777649756785 0.0819598997517
+615 3.07 -0.078176377555 0.0826018705261
+616 3.075 -0.0785910046385 0.0832499941874
+617 3.08 -0.0790088878683 0.0839043407808
+618 3.085 -0.0794300585361 0.0845649812639
+619 3.09 -0.0798545482906 0.0852319875201
+620 3.095 -0.0802823891422 0.0859054323723
+621 3.1 -0.0807136134682 0.0865853895963
+622 3.105 -0.0811482540167 0.0872719339348
+623 3.11 -0.0815863439122 0.0879651411118
+624 3.115 -0.0820279166603 0.0886650878468
+625 3.12 -0.0824730061528 0.0893718518691
+626 3.125 -0.0829216466724 0.0900855119335
+627 3.13 -0.0833738728984 0.0908061478343
+628 3.135 -0.0838297199118 0.0915338404215
+629 3.14 -0.0842892232003 0.0922686716159
+630 3.145 -0.0847524186639 0.0930107244251
+631 3.15 -0.0852193426207 0.0937600829595
+632 3.155 -0.0856900318117 0.0945168324488
+633 3.16 -0.0861645234073 0.0952810592582
+634 3.165 -0.0866428550123 0.0960528509057
+635 3.17 -0.0871250646721 0.0968322960791
+636 3.175 -0.0876111908787 0.0976194846531
+637 3.18 -0.0881012725761 0.0984145077076
+638 3.185 -0.088595349167 0.0992174575452
+639 3.19 -0.0890934605187 0.100028427709
+640 3.195 -0.0895956469692 0.100847513004
+641 3.2 -0.090101949334 0.10167480951
+642 3.205 -0.0906124089119 0.102510414608
+643 3.21 -0.0911270674921 0.103354426995
+644 3.215 -0.0916459673607 0.104206946703
+645 3.22 -0.092169151307 0.105068075125
+646 3.225 -0.092696662631 0.105937915029
+647 3.23 -0.0932285451499 0.106816570581
+648 3.235 -0.0937648432054 0.107704147368
+649 3.24 -0.0943056016706 0.108600752417
+650 3.245 -0.0948508659574 0.109506494219
+651 3.25 -0.0954006820239 0.110421482747
+652 3.255 -0.0959550963818 0.111345829486
+653 3.26 -0.0965141561041 0.112279647447
+654 3.265 -0.0970779088325 0.113223051197
+655 3.27 -0.0976464027858 0.11417615688
+656 3.275 -0.0982196867674 0.115139082241
+657 3.28 -0.0987978101732 0.116111946652
+658 3.285 -0.0993808230006 0.117094871132
+659 3.29 -0.0999687758558 0.118087978381
+660 3.295 -0.100561719963 0.119091392797
+661 3.3 -0.101159707172 0.120105240507
+662 3.305 -0.10176278997 0.121129649392
+663 3.31 -0.102371021484 0.122164749113
+664 3.315 -0.102984455498 0.123210671142
+665 3.32 -0.103603146455 0.124267548785
+666 3.325 -0.10422714947 0.125335517213
+667 3.33 -0.10485652034 0.126414713492
+668 3.335 -0.10549131555 0.127505276609
+669 3.34 -0.106131592286 0.128607347503
+670 3.345 -0.106777408443 0.129721069099
+671 3.35 -0.107428822636 0.13084658633
+672 3.355 -0.10808589421 0.131984046179
+673 3.36 -0.10874868325 0.1331335977
+674 3.365 -0.109417250592 0.134295392061
+675 3.37 -0.110091657831 0.135469582566
+676 3.375 -0.110771967337 0.136656324697
+677 3.38 -0.11145824226 0.137855776144
+678 3.385 -0.112150546547 0.139068096839
+679 3.39 -0.112848944948 0.140293448992
+680 3.395 -0.11355350303 0.141531997128
+681 3.4 -0.11426428719 0.14278390812
+682 3.405 -0.114981364665 0.144049351229
+683 3.41 -0.115704803542 0.145328498138
+684 3.415 -0.116434672776 0.146621522993
+685 3.42 -0.117171042196 0.14792860244
+686 3.425 -0.117913982523 0.149249915665
+687 3.43 -0.118663565378 0.150585644435
+688 3.435 -0.1194198633 0.151935973133
+689 3.44 -0.120182949755 0.153301088807
+690 3.445 -0.120952899149 0.154681181208
+691 3.45 -0.121729786849 0.15607644283
+692 3.455 -0.122513689185 0.15748706896
+693 3.46 -0.123304683476 0.158913257716
+694 3.465 -0.124102848035 0.160355210092
+695 3.47 -0.124908262189 0.161813130009
+696 3.475 -0.125721006292 0.163287224355
+697 3.48 -0.12654116174 0.164777703034
+698 3.485 -0.127368810984 0.166284779018
+699 3.49 -0.128204037552 0.167808668386
+700 3.495 -0.129046926056 0.169349590382
+701 3.5 -0.129897562214 0.170907767463
+702 3.505 -0.130756032865 0.172483425346
+703 3.51 -0.131622425984 0.174076793065
+704 3.515 -0.132496830699 0.17568810302
+705 3.52 -0.13337933731 0.177317591031
+706 3.525 -0.134270037305 0.178965496396
+707 3.53 -0.135169023375 0.180632061939
+708 3.535 -0.136076389435 0.182317534072
+709 3.54 -0.136992230643 0.184022162851
+710 3.545 -0.137916643414 0.185746202031
+711 3.55 -0.138849725443 0.187489909128
+712 3.555 -0.13979157572 0.189253545477
+713 3.56 -0.140742294555 0.191037376294
+714 3.565 -0.141701983589 0.192841670736
+715 3.57 -0.142670745823 0.194666701964
+716 3.575 -0.143648685632 0.196512747208
+717 3.58 -0.144635908787 0.198380087831
+718 3.585 -0.145632522478 0.200269009394
+719 3.59 -0.146638635332 0.202179801723
+720 3.595 -0.147654357437 0.204112758976
+721 3.6 -0.148679800361 0.206068179714
+722 3.605 -0.149715077178 0.20804636697
+723 3.61 -0.150760302487 0.210047628318
+724 3.615 -0.151815592438 0.212072275946
+725 3.62 -0.152881064752 0.214120626731
+726 3.625 -0.153956838746 0.216193002312
+727 3.63 -0.15504303536 0.218289729165
+728 3.635 -0.156139777175 0.22041113868
+729 3.64 -0.157247188445 0.222557567237
+730 3.645 -0.158365395115 0.22472935629
+731 3.65 -0.159494524853 0.226926852439
+732 3.655 -0.160634707071 0.22915040752
+733 3.66 -0.161786072954 0.231400378681
+734 3.665 -0.162948755488 0.233677128469
+735 3.67 -0.164122889483 0.235981024912
+736 3.675 -0.165308611604 0.238312441609
+737 3.68 -0.166506060398 0.240671757814
+738 3.685 -0.167715376323 0.243059358527
+739 3.69 -0.168936701775 0.245475634581
+740 3.695 -0.170170181122 0.247920982739
+741 3.7 -0.171415960727 0.250395805777
+742 3.705 -0.172674188986 0.252900512587
+743 3.71 -0.173945016351 0.255435518267
+744 3.715 -0.175228595368 0.258001244218
+745 3.72 -0.176525080706 0.260598118242
+746 3.725 -0.177834629188 0.263226574642
+747 3.73 -0.179157399824 0.265887054319
+748 3.735 -0.180493553849 0.268580004878
+749 3.74 -0.181843254748 0.271305880726
+750 3.745 -0.1832066683 0.27406514318
+751 3.75 -0.184583962604 0.276858260569
+752 3.755 -0.185975308122 0.279685708345
+753 3.76 -0.187380877709 0.282547969188
+754 3.765 -0.188800846652 0.285445533112
+755 3.77 -0.190235392708 0.288378897585
+756 3.775 -0.191684696137 0.291348567631
+757 3.78 -0.193148939747 0.294355055948
+758 3.785 -0.194628308927 0.297398883023
+759 3.79 -0.196122991689 0.300480577245
+760 3.795 -0.197633178705 0.303600675021
+761 3.8 -0.199159063352 0.306759720899
+762 3.805 -0.200700841749 0.309958267681
+763 3.81 -0.202258712799 0.313196876548
+764 3.815 -0.203832878233 0.316476117178
+765 3.82 -0.205423542653 0.319796567869
+766 3.825 -0.207030913573 0.323158815667
+767 3.83 -0.208655201465 0.326563456482
+768 3.835 -0.210296619801 0.330011095221
+769 3.84 -0.211955385103 0.333502345911
+770 3.845 -0.213631716985 0.337037831826
+771 3.85 -0.2153258382 0.340618185618
+772 3.855 -0.21703797469 0.344244049441
+773 3.86 -0.218768355631 0.347916075085
+774 3.865 -0.22051721348 0.351634924104
+775 3.87 -0.222284784029 0.355401267945
+776 3.875 -0.224071306452 0.359215788086
+777 3.88 -0.225877023356 0.363079176157
+778 3.885 -0.22770218083 0.366992134082
+779 3.89 -0.2295470285 0.370955374206
+780 3.895 -0.23141181958 0.374969619426
+781 3.9 -0.233296810925 0.379035603328
+782 3.905 -0.235202263084 0.383154070315
+783 3.91 -0.237128440358 0.38732577574
+784 3.915 -0.239075610849 0.391551486037
+785 3.92 -0.241044046522 0.395831978854
+786 3.925 -0.243034023256 0.40016804318
+787 3.93 -0.245045820906 0.404560479478
+788 3.935 -0.247079723357 0.409010099809
+789 3.94 -0.249136018583 0.413517727963
+790 3.945 -0.251214998709 0.418084199581
+791 3.95 -0.253316960064 0.422710362284
+792 3.955 -0.255442203249 0.427397075789
+793 3.96 -0.257591033192 0.432145212035
+794 3.965 -0.259763759213 0.436955655296
+795 3.97 -0.261960695084 0.441829302299
+796 3.975 -0.264182159091 0.446767062333
+797 3.98 -0.266428474098 0.451769857364
+798 3.985 -0.268699967613 0.456838622132
+799 3.99 -0.270996971848 0.46197430426
+800 3.995 -0.273319823785 0.467177864346
+801 4.0 -0.275668865243 0.47245027606
+802 4.005 -0.278044442942 0.477792526225
+803 4.01 -0.280446908569 0.483205614907
+804 4.015 -0.282876618844 0.488690555486
+805 4.02 -0.285333935588 0.494248374726
+806 4.025 -0.287819225788 0.499880112838
+807 4.03 -0.290332861669 0.505586823538
+808 4.035 -0.292875220756 0.511369574089
+809 4.04 -0.295446685944 0.517229445342
+810 4.045 -0.298047645567 0.523167531767
+811 4.05 -0.300678493466 0.529184941468
+812 4.055 -0.303339629056 0.535282796195
+813 4.06 -0.306031457395 0.541462231336
+814 4.065 -0.308754389251 0.547724395906
+815 4.07 -0.311508841173 0.554070452518
+816 4.075 -0.314295235556 0.560501577335
+817 4.08 -0.317114000709 0.567018960018
+818 4.085 -0.319965570924 0.573623803648
+819 4.09 -0.32285038654 0.580317324637
+820 4.095 -0.325768894014 0.587100752618
+821 4.1 -0.328721545982 0.593975330315
+822 4.105 -0.331708801326 0.600942313394
+823 4.11 -0.334731125238 0.608002970291
+824 4.115 -0.337788989286 0.615158582019
+825 4.12 -0.340882871472 0.622410441943
+826 4.125 -0.344013256294 0.629759855538
+827 4.13 -0.347180634811 0.63720814011
+828 4.135 -0.350385504695 0.644756624497
+829 4.14 -0.353628370289 0.652406648722
+830 4.145 -0.356909742666 0.660159563634
+831 4.15 -0.360230139678 0.668016730494
+832 4.155 -0.363590086009 0.675979520531
+833 4.16 -0.366990113222 0.684049314461
+834 4.165 -0.370430759809 0.692227501954
+835 4.17 -0.373912571228 0.700515481066
+836 4.175 -0.377436099948 0.708914657613
+837 4.18 -0.381001905487 0.717426444503
+838 4.185 -0.384610554442 0.726052261004
+839 4.19 -0.388262620521 0.734793531967
+840 4.195 -0.391958684568 0.743651686977
+841 4.2 -0.395699334586 0.752628159445
+842 4.205 -0.399485165752 0.761724385632
+843 4.21 -0.403316780429 0.7709418036
+844 4.215 -0.407194788172 0.780281852088
+845 4.22 -0.411119805731 0.789745969306
+846 4.225 -0.415092457041 0.799335591639
+847 4.23 -0.419113373212 0.809052152272
+848 4.235 -0.423183192509 0.81889707971
+849 4.24 -0.427302560324 0.828871796197
+850 4.245 -0.431472129143 0.838977716032
+851 4.25 -0.435692558498 0.849216243769
+852 4.255 -0.439964514917 0.859588772296
+853 4.26 -0.444288671856 0.870096680792
+854 4.265 -0.448665709631 0.880741332542
+855 4.27 -0.453096315329 0.891524072616
+856 4.275 -0.457581182713 0.902446225396
+857 4.28 -0.462121012108 0.913509091945
+858 4.285 -0.466716510282 0.924713947201
+859 4.29 -0.471368390306 0.936062037005
+860 4.295 -0.476077371401 0.947554574933
+861 4.3 -0.480844178767 0.959192738927
+862 4.305 -0.4856695434 0.970977667723
+863 4.31 -0.490554201881 0.982910457054
+864 4.315 -0.495498896156 0.994992155608
+865 4.32 -0.500504373285 1.00722376076
+866 4.325 -0.50557138518 1.019606214
+867 4.33 -0.51070068831 1.03214039614
+868 4.335 -0.515893043385 1.04482712218
+869 4.34 -0.521149215016 1.05766713585
+870 4.345 -0.526469971339 1.07066110392
+871 4.35 -0.531856083623 1.08380961
+872 4.355 -0.537308325831 1.09711314813
+873 4.36 -0.542827474159 1.11057211588
+874 4.365 -0.548414306535 1.12418680708
+875 4.37 -0.55406960208 1.1379574041
+876 4.375 -0.559794140531 1.15188396965
+877 4.38 -0.565588701622 1.16596643814
+878 4.385 -0.57145406442 1.18020460647
+879 4.39 -0.577391006612 1.19459812431
+880 4.395 -0.583400303742 1.20914648375
+881 4.4 -0.589482728401 1.22384900844
+882 4.405 -0.595639049352 1.23870484192
+883 4.41 -0.601870030599 1.25371293544
+884 4.415 -0.608176430395 1.26887203492
+885 4.42 -0.614559000182 1.28418066719
+886 4.425 -0.621018483457 1.29963712541
+887 4.43 -0.627555614568 1.31523945365
+888 4.435 -0.634171117424 1.33098543049
+889 4.44 -0.64086570413 1.34687255174
+890 4.445 -0.647640073524 1.36289801205
+891 4.45 -0.654494909625 1.37905868549
+892 4.455 -0.661430879976 1.39535110493
+893 4.46 -0.668448633889 1.41177144029
+894 4.465 -0.675548800568 1.42831547536
+895 4.47 -0.682731987121 1.44497858338
+896 4.475 -0.689998776444 1.4617557011
+897 4.48 -0.697349724964 1.4786413013
+898 4.485 -0.704785360256 1.49562936372
+899 4.49 -0.712306178496 1.5127133442
+900 4.495 -0.71991264176 1.52988614206
+901 4.5 -0.72760517516 1.54714006548
+902 4.505 -0.735384163795 1.56446679483
+903 4.51 -0.743249949514 1.58185734382
+904 4.515 -0.751202827484 1.59930201832
+905 4.52 -0.759243042541 1.61679037275
+906 4.525 -0.767370785319 1.63431116379
+907 4.53 -0.77558618814 1.65185230141
+908 4.535 -0.78388932065 1.66940079684
+909 4.54 -0.79228018519 1.68694270756
+910 4.545 -0.800758711886 1.70446307883
+911 4.55 -0.809324753428 1.72194588179
+912 4.555 -0.817978079543 1.73937394779
+913 4.56 -0.826718371119 1.75672889875
+914 4.565 -0.835545213978 1.77399107329
+915 4.57 -0.844458092266 1.79113944839
+916 4.575 -0.853456381435 1.80815155628
+917 4.58 -0.862539340806 1.82500339624
+918 4.585 -0.871706105668 1.84166934106
+919 4.59 -0.880955678905 1.85812203774
+920 4.595 -0.8902869221 1.87433230212
+921 4.6 -0.899698546108 1.89026900701
+922 4.605 -0.909189101044 1.90589896347
+923 4.61 -0.918756965663 1.92118679472
+924 4.615 -0.928400336089 1.93609480232
+925 4.62 -0.938117213855 1.95058282394
+926 4.625 -0.94790539321 1.96460808242
+927 4.63 -0.95776244765 1.97812502534
+928 4.635 -0.967685715614 1.9910851546
+929 4.64 -0.977672285316 2.00343684534
+930 4.645 -0.987718978626 2.01512515349
+931 4.65 -0.997822333974 2.0260916112
+932 4.655 -1.00797858819 2.03627400941
+933 4.66 -1.01818365723 2.0456061666
+934 4.665 -1.02843311571 2.05401768294
+935 4.67 -1.03872217513 2.06143367876
+936 4.675 -1.04904566084 2.06777451638
+937 4.68 -1.05939798751 2.07295550412
+938 4.685 -1.06977313302 2.07688658137
+939 4.69 -1.08016461086 2.07947198337
+940 4.695 -1.09056544071 2.08060988437
+941 4.7 -1.10096811714 2.08019201773
+942 4.705 -1.11136457649 2.07810327136
+943 4.71 -1.1217461615 2.07422125684
+944 4.715 -1.13210358386 2.06841585038
+945 4.72 -1.14242688426 2.06054870374
+946 4.725 -1.15270539002 2.05047272306
+947 4.73 -1.16292766999 2.03803151329
+948 4.735 -1.17308148655 2.02305878586
+949 4.74 -1.18315374459 2.00537772722
+950 4.745 -1.19313043724 1.98480032515
+951 4.75 -1.20299658809 1.96112665025
+952 4.755 -1.21273618968 1.93414408924
+953 4.76 -1.22233213811 1.90362652669
+954 4.765 -1.23176616331 1.86933347163
+955 4.77 -1.24101875491 1.83100912501
+956 4.775 -1.2500690832 1.78838138382
+957 4.78 -1.258894915 1.74116077734
+958 4.785 -1.267472524 1.68903933065
+959 4.79 -1.27577659525 1.63168935008
+960 4.795 -1.28378012334 1.56876212507
+961 4.8 -1.2914543039 1.49988654016
+962 4.805 -1.29876841788 1.42466759075
+963 4.81 -1.30568970824 1.34268479539
+964 4.815 -1.31218324828 1.25349049712
+965 4.82 -1.31821180134 1.15660804558
+966 4.825 -1.32373567099 1.05152985099
+967 4.83 -1.32871254121 0.93771530055
+968 4.835 -1.33309730572 0.814588526929
+969 4.84 -1.33684188582 0.681536017635
+970 4.845 -1.33989503585 0.537904053371
+971 4.85 -1.34220213536 0.382995962332
+972 4.855 -1.34370496704 0.216069176468
+973 4.86 -1.34434147951 0.0363320745594
+974 4.865 -1.34404553361 -0.157059404273
+975 4.87 -1.34274663128 -0.365005394306
+976 4.875 -1.34036962553 -0.588466003368
+977 4.88 -1.33683441024 -0.828465500116
+978 4.885 -1.33205558825 -1.08609681088
+979 4.89 -1.32594211612 -1.36252635035
+980 4.895 -1.31839692389 -1.65899921243
+981 4.9 -1.30931650788 -1.97684474978
+982 4.905 -1.29859049462 -2.31748257288
+983 4.91 -1.28610117356 -2.68242900227
+984 4.915 -1.27172299647 -3.07330401019
+985 4.92 -1.25532204062 -3.4918386911
+986 4.925 -1.23675543343 -3.93988330397
+987 4.93 -1.21587073517 -4.41941593278
+988 4.935 -1.19250527685 -4.93255181575
+989 4.94 -1.16648544962 -5.48155339828
+990 4.945 -1.13762594198 -6.06884116921
+991 4.95 -1.10572892071 -6.69700534538
+992 4.955 -1.07058315115 -7.36881847509
+993 4.96 -1.03196305193 -8.08724903738
+994 4.965 -0.989627679145 -8.85547612082
+995 4.97 -0.943319634133 -9.67690527303
+996 4.975 -0.892763888973 -10.5551856203
+997 4.98 -0.837666522926 -11.4942283658
+998 4.985 -0.77771336272 -12.498226784
+999 4.99 -0.712568518846 -13.5716778411
+1000 4.995 -0.641872809399 -14.7194055819
+1001 5.0 -0.565242062256 -15.9465864356
+1002 5.005 -0.482265285572 -17.2587766109
+1003 5.01 -0.392502695703 -18.6619417618
+1004 5.015 -0.295483590714 -20.1624891252
+1005 5.02 -0.190704056557 -21.7673023508
+1006 5.025 -0.0776244918804 -23.4837792622
+1007 5.03 0.044333063847 -25.3198728136
+1008 5.035 0.175787815566 -27.2841355285
+1009 5.04 0.317403329421 -29.3857677386
+1010 5.045 0.469890900953 -31.6346699663
+1011 5.05 0.634013196354 -34.0414998331
+1012 5.055 0.810588190438 -36.6177339091
+1013 5.06 1.00049342715 -39.3757349624
+1014 5.065 1.20467063088 -42.3288251097
+1015 5.07 1.42413069938 -45.4913654226
+1016 5.075 1.65995911215 -48.8788425956
+1017 5.08 1.91332179119 -52.5079633448
+1018 5.085 2.18547145457 -56.3967572736
+1019 5.09 2.47775450717 -60.5646890155
+1020 5.095 2.79161851719 -65.0327805461
+1021 5.1 3.12862033165 -69.8237446502
+1022 5.105 3.49043488938 -74.9621306288
+1023 5.11 3.87886479557 -80.4744834443
+1024 5.115 4.29585072846 -86.3895176278
+1025 5.12 4.74348275533 -92.7383074106
+1026 5.125 5.22401264325 -99.5544946944
+1027 5.13 5.73986725775 -106.87451665
+1028 5.135 6.29366315281 -114.737854923
+1029 5.14 6.8882224653 -123.18730863
+1030 5.145 7.52659023892 -132.26929359
+1031 5.15 8.21205331545 -142.034170457
+1032 5.155 8.94816094502 -152.536604761
+1033 5.16 9.73874728327 -163.835962162
+1034 5.165 10.5879559603 -175.996742589
+1035 5.17 11.5002669259 -189.089057369
+1036 5.175 12.4805257976 -203.189153881
+1037 5.18 13.5339759609 -218.379992806
+1038 5.185 14.6662936987 -234.751883587
+1039 5.19 15.8836266573 -252.403184411
+1040 5.195 17.1926359869 -271.44107367
+1041 5.2 18.6005425349 -291.982400745
+1042 5.205 20.1151775097 -314.154624805
+1043 5.21 21.7450380773 -338.096851371
+1044 5.215 23.4993484093 -363.960977527
+1045 5.22 25.3881267519 -391.912957955
+1046 5.225 27.4222591567 -422.134205425
+1047 5.23 29.6135805806 -454.823141013
+1048 5.235 31.9749641465 -490.196911175
+1049 5.24 34.5204194465 -528.493290872
+1050 5.245 37.2652008698 -569.972794324
+1051 5.25 40.2259270534 -614.921017618
+1052 5.255 43.420712682 -663.651240426
+1053 5.26 46.8693140065 -716.507317483
+1054 5.265 50.5932896164 -773.866894362
+1055 5.27 54.616178181 -836.14498648
+1056 5.275 58.9636950846 -903.797965209
+1057 5.28 63.6639501118 -977.328000686
+1058 5.285 68.747688604 -1057.2880173
+1059 5.29 74.2485588048 -1144.28722519
+1060 5.295 80.2034084511 -1238.99729941
+1061 5.3 86.6526140455 -1342.159288
+1062 5.305 93.6404466809 -1454.59134086
+1063 5.31 101.215478776 -1577.19736408
+1064 5.315 109.431036641 -1710.97671817
+1065 5.32 118.34570442 -1857.03509508
+1066 5.325 128.023885682 -2016.59672751
+1067 5.33 138.536429746 -2191.01810522
+1068 5.335 149.961330771 -2381.80339751
+1069 5.34 162.384508682 -2590.62180929
+1070 5.345 175.900682252 -2819.32713038
+1071 5.35 190.614346018 -3069.97977484
+1072 5.355 206.640864322 -3344.87165027
+1073 5.36 224.107697564 -3646.55424631
+1074 5.365 243.155777879 -3977.87038879
+1075 5.37 263.94105378 -4341.99017232
+1076 5.375 286.636226144 -4742.45166023
+1077 5.38 311.432700984 -5183.20703007
+1078 5.385 338.542788186 -5668.67494529
+1079 5.39 368.202179507 -6203.80005377
+1080 5.395 400.672744018 -6794.12065257
+1081 5.4 436.245684759 -7445.84572074
+1082 5.405 475.24510682 -8165.94271045
+1083 5.41 518.032054593 -8962.23770766
+1084 5.415 565.009084574 -9843.52983097
+1085 5.42 616.625450212 -10819.7220392
+1086 5.425 673.382986997 -11901.9708721
+1087 5.43 735.842799605 -13102.8580625
+1088 5.435 804.63286882 -14436.5874481
+1089 5.44 880.456714455 -15919.2111828
+1090 5.445 964.103272175 -17568.8899241
+1091 5.45 1056.45816742 -19406.1924747
+1092 5.455 1158.5165993 -21454.4412936
+1093 5.46 1271.39808224 -23740.1114163
+1094 5.465 1396.36333377 -26293.2916416
+1095 5.47 1534.83364542 -29148.2184174
+1096 5.475 1688.41312989 -32343.8947285
+1097 5.48 1858.91430495 -35924.8085125
+1098 5.485 2048.38755344 -39941.7677902
+1099 5.49 2259.15509234 -44452.8728701
+1100 5.495 2493.85019506 -49524.6497873
+1101 5.5 2755.46254268 -55233.3736945
+1102 5.505 3047.39073711 -61666.616398
+1103 5.51 3373.50319557 -68925.0588203
+1104 5.515 3738.20886949 -77124.6171126
+1105 5.52 4146.5394972 -86398.9407376
+1106 5.525 4604.24542007 -96902.3524517
+1107 5.53 5117.90737492 -108813.314199
+1108 5.535 5695.06713732 -122338.52003
+1109 5.54 6344.38044627 -137717.737992
+1110 5.545 7075.79631164 -155229.548338
+1111 5.55 7900.76761787 -175198.156456
+1112 5.555 8832.49892104 -198001.497004
+1113 5.56 9886.23853195 -224080.892415
+1114 5.565 11079.6234321 -253952.586497
+1115 5.57 12433.0873442 -288221.54474
+1116 5.575 13970.3444496 -327598.000683
+1117 5.58 15718.9639006 -372917.336362
+1118 5.585 17711.0535455 -425164.019948
+1119 5.59 19984.0753011 -485500.491894
+1120 5.595 22581.8195717 -555302.100981
+1121 5.6 25555.5722525 -636199.454754
+1122 5.605 28965.5154724 -730129.879058
+1123 5.61 32882.4127048 -839400.097247
+1124 5.615 37389.6406876 -966762.764619
+1125 5.62 42585.6453685 -1115510.15847
+1126 5.625 48586.9176207 -1289589.16849
+1127 5.63 55531.6077773 -1493742.80799
+1128 5.635 63583.9274287 -1733684.84106
+1129 5.64 72939.5241308 -2016315.88337
+1130 5.645 83832.0618829 -2349991.60166
+1131 5.65 96541.300368 -2744856.56324
+1132 5.655 111403.042767 -3213261.07776
+1133 5.66 128821.420452 -3770283.30061
+1134 5.665 149284.109551 -4434385.29693
+1135 5.67 173381.238005 -5228240.185
+1136 5.675 201828.953692 -6179778.54971
+1137 5.68 235498.900026 -7323516.93224
+1138 5.685 275455.2056 -8702250.57742
+1139 5.69 323001.06674 -10369218.4143
+1140 5.695 379737.623748 -12390882.7371
+1141 5.7 447638.654038 -14850512.384
+1142 5.705 529145.697826 -17852820.7393
+1143 5.71 627289.689791 -21529994.6762
+1144 5.715 745847.124656 -26049566.1236
+1145 5.72 889541.417924 -31624736.2614
+1146 5.725 1064303.6889 -38527980.3963
+1147 5.73 1277612.0471 -47109063.5591
+1148 5.735 1538935.10642 -57819017.4811
+1149 5.74 1860314.59485 -71242218.9505
+1150 5.745 2257134.5845 -88139540.3817
+1151 5.75 2749142.49547 -109506722.176
+1152 5.755 3361811.73098 -136653799.897
+1153 5.76 4128170.65016 -171313840.077
+1154 5.765 5091272.07333 -215792744.495
+1155 5.77 6307548.29223 -273176998.31
+1156 5.775 7851398.52158 -347623759.363
+1157 5.78 9821503.74726 -444768835.455
+1158 5.785 12349580.5127 -572304762.479
+1159 5.79 15612604.744 -740806327.342
+1160 5.795 19850012.3018 -964919124.004
+1161 5.8 25388097.1921 -1265085490.72
+1162 5.805 32674911.255 -1670073366.45
+1163 5.81 42330627.3386 -2220716617.13
+1164 5.815 55220893.742 -2975502155.22
+1165 5.82 72564721.5485 -4019002953.22
+1166 5.825 96094798.4335 -5474746758.15
+1167 5.83 128298297.388 -7525081897.32
+1168 5.835 172782757.396 -10442221387.6
+1169 5.84 234838762.891 -14637386017.7
+1170 5.845 322316442.616 -20739670704.4
+1171 5.85 447009526.718 -29724465089.5
+1172 5.855 626872755.056 -43125823862.6
+1173 5.86 889629660.718 -63393502739.0
+1174 5.865 1278740106.83 -94503868935.1
+1175 5.87 1863446791.23 -1.43025101229e+11
+1176 5.875 2756012237.96 -2.20012469835e+11
+1177 5.88 4141901662.1 -3.44454801129e+11
+1178 5.885 6333810219.82 -5.49690750348e+11
+1179 5.89 9870702215.02 -8.95661856872e+11
+1180 5.895 15704120493.1 -1.49296797827e+12
+1181 5.9 25558689542.6 -2.55153879404e+12
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/moltemplate_files/table_chaperonin_h=0.dat b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/moltemplate_files/table_chaperonin_h=0.dat
new file mode 100644
index 000000000..2ad6d7b69
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/moltemplate_files/table_chaperonin_h=0.dat
@@ -0,0 +1,1187 @@
+# Interaction between a chaperonin wall and hydrophilic beads (type L or N, h=0)
+
+CH_H0
+N 1181 R 0.00000000001 5.9
+
+1 0.00000000001 8.31299178857e-07 0.0
+2 0.005 8.31311879342e-07 -5.08022586688e-09
+3 0.01 8.31349981758e-07 -1.01608369733e-08
+4 0.015 8.31413488996e-07 -1.52422186449e-08
+5 0.02 8.31502405871e-07 -2.03247562721e-08
+6 0.025 8.31616739127e-07 -2.54088353865e-08
+7 0.03 8.31756497437e-07 -3.04948417048e-08
+8 0.035 8.319216914e-07 -3.55831611709e-08
+9 0.04 8.32112333547e-07 -4.06741800058e-08
+10 0.045 8.32328438343e-07 -4.57682847516e-08
+11 0.05 8.32570022183e-07 -5.08658623183e-08
+12 0.055 8.328371034e-07 -5.59673000292e-08
+13 0.06 8.33129702263e-07 -6.10729856679e-08
+14 0.065 8.33447840983e-07 -6.61833075238e-08
+15 0.07 8.33791543713e-07 -7.12986544391e-08
+16 0.075 8.34160836552e-07 -7.64194158551e-08
+17 0.08 8.34555747546e-07 -8.15459818584e-08
+18 0.085 8.34976306696e-07 -8.66787432278e-08
+19 0.09 8.35422545957e-07 -9.18180914814e-08
+20 0.095 8.35894499243e-07 -9.69644189231e-08
+21 0.1 8.36392202433e-07 -1.0211811869e-07
+22 0.105 8.36915693374e-07 -1.07279584798e-07
+23 0.11 8.37465011883e-07 -1.12449212192e-07
+24 0.115 8.38040199757e-07 -1.17627396792e-07
+25 0.12 8.38641300774e-07 -1.22814535539e-07
+26 0.125 8.392683607e-07 -1.28011026445e-07
+27 0.13 8.39921427291e-07 -1.33217268641e-07
+28 0.135 8.40600550305e-07 -1.38433662423e-07
+29 0.14 8.41305781504e-07 -1.43660609303e-07
+30 0.145 8.42037174658e-07 -1.48898512057e-07
+31 0.15 8.42794785557e-07 -1.54147774771e-07
+32 0.155 8.43578672015e-07 -1.59408802894e-07
+33 0.16 8.44388893873e-07 -1.64682003285e-07
+34 0.165 8.45225513015e-07 -1.69967784262e-07
+35 0.17 8.46088593367e-07 -1.75266555654e-07
+36 0.175 8.46978200908e-07 -1.80578728847e-07
+37 0.18 8.4789440368e-07 -1.85904716839e-07
+38 0.185 8.48837271792e-07 -1.91244934288e-07
+39 0.19 8.49806877432e-07 -1.96599797561e-07
+40 0.195 8.50803294874e-07 -2.01969724788e-07
+41 0.2 8.51826600486e-07 -2.07355135913e-07
+42 0.205 8.52876872743e-07 -2.12756452745e-07
+43 0.21 8.5395419223e-07 -2.18174099007e-07
+44 0.215 8.55058641658e-07 -2.23608500394e-07
+45 0.22 8.56190305871e-07 -2.29060084623e-07
+46 0.225 8.57349271858e-07 -2.34529281482e-07
+47 0.23 8.5853562876e-07 -2.40016522891e-07
+48 0.235 8.59749467885e-07 -2.4552224295e-07
+49 0.24 8.60990882715e-07 -2.51046877993e-07
+50 0.245 8.62259968921e-07 -2.56590866647e-07
+51 0.25 8.63556824372e-07 -2.62154649881e-07
+52 0.255 8.64881549149e-07 -2.67738671065e-07
+53 0.26 8.66234245555e-07 -2.73343376025e-07
+54 0.265 8.67615018129e-07 -2.78969213098e-07
+55 0.27 8.69023973658e-07 -2.84616633187e-07
+56 0.275 8.70461221189e-07 -2.90286089823e-07
+57 0.28 8.71926872044e-07 -2.95978039217e-07
+58 0.285 8.73421039834e-07 -3.0169294032e-07
+59 0.29 8.74943840469e-07 -3.07431254881e-07
+60 0.295 8.76495392179e-07 -3.13193447505e-07
+61 0.3 8.7807581552e-07 -3.18979985713e-07
+62 0.305 8.79685233396e-07 -3.24791340003e-07
+63 0.31 8.8132377107e-07 -3.30627983906e-07
+64 0.315 8.82991556179e-07 -3.36490394052e-07
+65 0.32 8.84688718753e-07 -3.42379050225e-07
+66 0.325 8.86415391229e-07 -3.48294435432e-07
+67 0.33 8.88171708466e-07 -3.54237035959e-07
+68 0.335 8.89957807764e-07 -3.60207341438e-07
+69 0.34 8.91773828877e-07 -3.66205844906e-07
+70 0.345 8.93619914037e-07 -3.72233042875e-07
+71 0.35 8.95496207963e-07 -3.78289435392e-07
+72 0.355 8.97402857887e-07 -3.84375526106e-07
+73 0.36 8.99340013567e-07 -3.90491822333e-07
+74 0.365 9.01307827305e-07 -3.96638835124e-07
+75 0.37 9.0330645397e-07 -4.02817079329e-07
+76 0.375 9.05336051015e-07 -4.09027073668e-07
+77 0.38 9.07396778494e-07 -4.152693408e-07
+78 0.385 9.09488799088e-07 -4.21544407387e-07
+79 0.39 9.11612278118e-07 -4.2785280417e-07
+80 0.395 9.13767383571e-07 -4.34195066035e-07
+81 0.4 9.15954286119e-07 -4.40571732086e-07
+82 0.405 9.18173159138e-07 -4.46983345718e-07
+83 0.41 9.20424178735e-07 -4.53430454687e-07
+84 0.415 9.22707523764e-07 -4.59913611186e-07
+85 0.42 9.25023375853e-07 -4.66433371919e-07
+86 0.425 9.27371919425e-07 -4.72990298174e-07
+87 0.43 9.29753341721e-07 -4.795849559e-07
+88 0.435 9.32167832821e-07 -4.86217915785e-07
+89 0.44 9.34615585674e-07 -4.9288975333e-07
+90 0.445 9.37096796117e-07 -4.99601048932e-07
+91 0.45 9.39611662902e-07 -5.0635238796e-07
+92 0.455 9.4216038772e-07 -5.13144360835e-07
+93 0.46 9.44743175226e-07 -5.19977563112e-07
+94 0.465 9.47360233068e-07 -5.26852595561e-07
+95 0.47 9.50011771908e-07 -5.33770064252e-07
+96 0.475 9.52698005456e-07 -5.40730580635e-07
+97 0.48 9.55419150489e-07 -5.47734761627e-07
+98 0.485 9.58175426884e-07 -5.54783229699e-07
+99 0.49 9.60967057644e-07 -5.61876612959e-07
+100 0.495 9.63794268928e-07 -5.69015545241e-07
+101 0.5 9.66657290077e-07 -5.76200666196e-07
+102 0.505 9.69556353647e-07 -5.83432621378e-07
+103 0.51 9.72491695434e-07 -5.90712062337e-07
+104 0.515 9.75463554509e-07 -5.9803964671e-07
+105 0.52 9.78472173246e-07 -6.05416038315e-07
+106 0.525 9.81517797354e-07 -6.12841907243e-07
+107 0.53 9.84600675908e-07 -6.20317929954e-07
+108 0.535 9.87721061381e-07 -6.27844789373e-07
+109 0.54 9.90879209678e-07 -6.3542317499e-07
+110 0.545 9.94075380168e-07 -6.43053782955e-07
+111 0.55 9.97309835716e-07 -6.50737316177e-07
+112 0.555 1.00058284272e-06 -6.58474484431e-07
+113 0.56 1.00389467115e-06 -6.66266004455e-07
+114 0.565 1.00724559456e-06 -6.74112600053e-07
+115 0.57 1.01063589016e-06 -6.82015002204e-07
+116 0.575 1.01406583882e-06 -6.89973949166e-07
+117 0.58 1.01753572513e-06 -6.97990186581e-07
+118 0.585 1.02104583743e-06 -7.06064467589e-07
+119 0.59 1.02459646782e-06 -7.14197552934e-07
+120 0.595 1.02818791224e-06 -7.22390211075e-07
+121 0.6 1.03182047051e-06 -7.30643218304e-07
+122 0.605 1.03549444631e-06 -7.38957358854e-07
+123 0.61 1.0392101473e-06 -7.47333425021e-07
+124 0.615 1.04296788511e-06 -7.55772217275e-07
+125 0.62 1.04676797537e-06 -7.64274544386e-07
+126 0.625 1.0506107378e-06 -7.72841223537e-07
+127 0.63 1.05449649623e-06 -7.81473080451e-07
+128 0.635 1.05842557863e-06 -7.90170949513e-07
+129 0.64 1.06239831715e-06 -7.98935673896e-07
+130 0.645 1.06641504821e-06 -8.07768105686e-07
+131 0.65 1.07047611249e-06 -8.1666910601e-07
+132 0.655 1.074581855e-06 -8.25639545171e-07
+133 0.66 1.07873262514e-06 -8.34680302772e-07
+134 0.665 1.08292877671e-06 -8.43792267857e-07
+135 0.67 1.08717066799e-06 -8.52976339042e-07
+136 0.675 1.09145866179e-06 -8.62233424653e-07
+137 0.68 1.09579312546e-06 -8.71564442867e-07
+138 0.685 1.10017443099e-06 -8.80970321849e-07
+139 0.69 1.10460295501e-06 -8.90451999898e-07
+140 0.695 1.1090790789e-06 -9.0001042559e-07
+141 0.7 1.11360318878e-06 -9.09646557926e-07
+142 0.705 1.1181756756e-06 -9.19361366479e-07
+143 0.71 1.1227969352e-06 -9.29155831544e-07
+144 0.715 1.12746736833e-06 -9.39030944294e-07
+145 0.72 1.13218738073e-06 -9.48987706931e-07
+146 0.725 1.13695738317e-06 -9.59027132844e-07
+147 0.73 1.14177779154e-06 -9.6915024677e-07
+148 0.735 1.14664902685e-06 -9.79358084952e-07
+149 0.74 1.15157151534e-06 -9.89651695304e-07
+150 0.745 1.15654568852e-06 -1.00003213758e-06
+151 0.75 1.16157198322e-06 -1.01050048352e-06
+152 0.755 1.16665084166e-06 -1.02105781707e-06
+153 0.76 1.17178271153e-06 -1.0317052345e-06
+154 0.765 1.176968046e-06 -1.0424438446e-06
+155 0.77 1.18220730383e-06 -1.05327476888e-06
+156 0.775 1.18750094943e-06 -1.0641991417e-06
+157 0.78 1.19284945291e-06 -1.07521811051e-06
+158 0.785 1.19825329013e-06 -1.08633283599e-06
+159 0.79 1.20371294282e-06 -1.09754449225e-06
+160 0.795 1.20922889858e-06 -1.10885426703e-06
+161 0.8 1.21480165102e-06 -1.12026336191e-06
+162 0.805 1.22043169976e-06 -1.13177299243e-06
+163 0.81 1.22611955055e-06 -1.14338438839e-06
+164 0.815 1.23186571533e-06 -1.15509879397e-06
+165 0.82 1.23767071227e-06 -1.16691746799e-06
+166 0.825 1.24353506591e-06 -1.17884168407e-06
+167 0.83 1.24945930716e-06 -1.19087273088e-06
+168 0.835 1.25544397344e-06 -1.20301191233e-06
+169 0.84 1.26148960871e-06 -1.21526054778e-06
+170 0.845 1.26759676357e-06 -1.22761997229e-06
+171 0.85 1.27376599533e-06 -1.2400915368e-06
+172 0.855 1.27999786811e-06 -1.2526766084e-06
+173 0.86 1.2862929529e-06 -1.26537657052e-06
+174 0.865 1.29265182763e-06 -1.27819282318e-06
+175 0.87 1.29907507731e-06 -1.29112678323e-06
+176 0.875 1.30556329404e-06 -1.30417988457e-06
+177 0.88 1.31211707714e-06 -1.31735357842e-06
+178 0.885 1.31873703325e-06 -1.33064933354e-06
+179 0.89 1.32542377639e-06 -1.34406863648e-06
+180 0.895 1.33217792804e-06 -1.35761299185e-06
+181 0.9 1.33900011726e-06 -1.37128392257e-06
+182 0.905 1.34589098079e-06 -1.38508297012e-06
+183 0.91 1.35285116309e-06 -1.39901169482e-06
+184 0.915 1.3598813165e-06 -1.41307167609e-06
+185 0.92 1.36698210128e-06 -1.42726451271e-06
+186 0.925 1.37415418575e-06 -1.44159182311e-06
+187 0.93 1.38139824636e-06 -1.45605524565e-06
+188 0.935 1.38871496782e-06 -1.47065643891e-06
+189 0.94 1.39610504317e-06 -1.48539708196e-06
+190 0.945 1.40356917389e-06 -1.50027887466e-06
+191 0.95 1.41110807003e-06 -1.51530353796e-06
+192 0.955 1.41872245029e-06 -1.5304728142e-06
+193 0.96 1.42641304213e-06 -1.54578846742e-06
+194 0.965 1.4341805819e-06 -1.56125228366e-06
+195 0.97 1.44202581492e-06 -1.57686607128e-06
+196 0.975 1.44994949562e-06 -1.59263166129e-06
+197 0.98 1.45795238763e-06 -1.60855090765e-06
+198 0.985 1.46603526391e-06 -1.62462568762e-06
+199 0.99 1.47419890689e-06 -1.64085790209e-06
+200 0.995 1.48244410853e-06 -1.65724947591e-06
+201 1.0 1.4907716705e-06 -1.67380235825e-06
+202 1.005 1.49918240425e-06 -1.69051852294e-06
+203 1.01 1.50767713119e-06 -1.70739996882e-06
+204 1.015 1.51625668278e-06 -1.72444872011e-06
+205 1.02 1.52492190065e-06 -1.74166682675e-06
+206 1.025 1.53367363676e-06 -1.75905636483e-06
+207 1.03 1.54251275352e-06 -1.77661943691e-06
+208 1.035 1.5514401239e-06 -1.7943581724e-06
+209 1.04 1.56045663161e-06 -1.81227472801e-06
+210 1.045 1.56956317119e-06 -1.83037128807e-06
+211 1.05 1.57876064818e-06 -1.84865006497e-06
+212 1.055 1.58804997927e-06 -1.86711329958e-06
+213 1.06 1.59743209239e-06 -1.88576326162e-06
+214 1.065 1.60690792693e-06 -1.90460225011e-06
+215 1.07 1.61647843382e-06 -1.92363259378e-06
+216 1.075 1.62614457572e-06 -1.94285665153e-06
+217 1.08 1.63590732717e-06 -1.9622768128e-06
+218 1.085 1.64576767472e-06 -1.98189549811e-06
+219 1.09 1.65572661711e-06 -2.00171515944e-06
+220 1.095 1.66578516541e-06 -2.02173828072e-06
+221 1.1 1.67594434321e-06 -2.04196737828e-06
+222 1.105 1.68620518674e-06 -2.06240500133e-06
+223 1.11 1.69656874507e-06 -2.08305373245e-06
+224 1.115 1.70703608027e-06 -2.10391618807e-06
+225 1.12 1.71760826757e-06 -2.12499501897e-06
+226 1.125 1.72828639555e-06 -2.14629291076e-06
+227 1.13 1.73907156631e-06 -2.16781258443e-06
+228 1.135 1.74996489563e-06 -2.18955679685e-06
+229 1.14 1.76096751317e-06 -2.21152834128e-06
+230 1.145 1.77208056264e-06 -2.23373004793e-06
+231 1.15 1.78330520203e-06 -2.2561647845e-06
+232 1.155 1.79464260371e-06 -2.27883545672e-06
+233 1.16 1.80609395472e-06 -2.30174500894e-06
+234 1.165 1.8176604569e-06 -2.32489642465e-06
+235 1.17 1.82934332711e-06 -2.34829272711e-06
+236 1.175 1.84114379742e-06 -2.3719369799e-06
+237 1.18 1.85306311533e-06 -2.39583228755e-06
+238 1.185 1.86510254397e-06 -2.41998179612e-06
+239 1.19 1.87726336227e-06 -2.44438869382e-06
+240 1.195 1.88954686527e-06 -2.46905621166e-06
+241 1.2 1.90195436421e-06 -2.49398762405e-06
+242 1.205 1.91448718686e-06 -2.51918624948e-06
+243 1.21 1.92714667767e-06 -2.54465545114e-06
+244 1.215 1.93993419801e-06 -2.57039863763e-06
+245 1.22 1.95285112644e-06 -2.59641926361e-06
+246 1.225 1.96589885888e-06 -2.62272083047e-06
+247 1.23 1.97907880889e-06 -2.64930688708e-06
+248 1.235 1.99239240789e-06 -2.67618103045e-06
+249 1.24 2.00584110541e-06 -2.7033469065e-06
+250 1.245 2.01942636933e-06 -2.73080821073e-06
+251 1.25 2.03314968614e-06 -2.75856868904e-06
+252 1.255 2.04701256117e-06 -2.78663213843e-06
+253 1.26 2.06101651889e-06 -2.81500240778e-06
+254 1.265 2.07516310312e-06 -2.84368339865e-06
+255 1.27 2.08945387733e-06 -2.87267906608e-06
+256 1.275 2.10389042492e-06 -2.90199341934e-06
+257 1.28 2.11847434944e-06 -2.93163052284e-06
+258 1.285 2.13320727493e-06 -2.96159449687e-06
+259 1.29 2.14809084615e-06 -2.99188951851e-06
+260 1.295 2.16312672891e-06 -3.02251982249e-06
+261 1.3 2.17831661033e-06 -3.053489702e-06
+262 1.305 2.19366219914e-06 -3.08480350968e-06
+263 1.31 2.209165226e-06 -3.11646565841e-06
+264 1.315 2.22482744375e-06 -3.14848062234e-06
+265 1.32 2.2406506278e-06 -3.18085293774e-06
+266 1.325 2.25663657638e-06 -3.21358720397e-06
+267 1.33 2.27278711086e-06 -3.24668808447e-06
+268 1.335 2.28910407612e-06 -3.28016030771e-06
+269 1.34 2.30558934083e-06 -3.3140086682e-06
+270 1.345 2.3222447978e-06 -3.34823802748e-06
+271 1.35 2.33907236431e-06 -3.3828533152e-06
+272 1.355 2.35607398249e-06 -3.41785953011e-06
+273 1.36 2.37325161961e-06 -3.45326174113e-06
+274 1.365 2.39060726846e-06 -3.48906508847e-06
+275 1.37 2.40814294773e-06 -3.5252747847e-06
+276 1.375 2.42586070236e-06 -3.56189611585e-06
+277 1.38 2.44376260388e-06 -3.59893444259e-06
+278 1.385 2.46185075083e-06 -3.63639520132e-06
+279 1.39 2.48012726913e-06 -3.67428390542e-06
+280 1.395 2.49859431245e-06 -3.71260614638e-06
+281 1.4 2.5172540626e-06 -3.75136759503e-06
+282 1.405 2.53610872999e-06 -3.79057400279e-06
+283 1.41 2.55516055395e-06 -3.83023120289e-06
+284 1.415 2.5744118032e-06 -3.8703451117e-06
+285 1.42 2.59386477624e-06 -3.91092172994e-06
+286 1.425 2.61352180182e-06 -3.95196714407e-06
+287 1.43 2.63338523929e-06 -3.99348752761e-06
+288 1.435 2.65345747914e-06 -4.03548914248e-06
+289 1.44 2.67374094335e-06 -4.07797834041e-06
+290 1.445 2.69423808592e-06 -4.12096156431e-06
+291 1.45 2.71495139326e-06 -4.16444534976e-06
+292 1.455 2.73588338473e-06 -4.20843632642e-06
+293 1.46 2.75703661305e-06 -4.25294121951e-06
+294 1.465 2.77841366481e-06 -4.29796685135e-06
+295 1.47 2.80001716099e-06 -4.34352014284e-06
+296 1.475 2.82184975737e-06 -4.38960811508e-06
+297 1.48 2.84391414514e-06 -4.43623789087e-06
+298 1.485 2.86621305132e-06 -4.48341669642e-06
+299 1.49 2.88874923936e-06 -4.53115186288e-06
+300 1.495 2.91152550961e-06 -4.57945082809e-06
+301 1.5 2.93454469988e-06 -4.62832113824e-06
+302 1.505 2.95780968599e-06 -4.67777044958e-06
+303 1.51 2.98132338232e-06 -4.72780653019e-06
+304 1.515 3.00508874237e-06 -4.77843726176e-06
+305 1.52 3.02910875934e-06 -4.8296706414e-06
+306 1.525 3.05338646671e-06 -4.88151478347e-06
+307 1.53 3.07792493883e-06 -4.93397792148e-06
+308 1.535 3.10272729151e-06 -4.98706840998e-06
+309 1.54 3.12779668264e-06 -5.0407947265e-06
+310 1.545 3.15313631282e-06 -5.09516547352e-06
+311 1.55 3.17874942596e-06 -5.1501893805e-06
+312 1.555 3.20463930998e-06 -5.20587530591e-06
+313 1.56 3.23080929736e-06 -5.26223223928e-06
+314 1.565 3.25726276591e-06 -5.31926930335e-06
+315 1.57 3.28400313937e-06 -5.37699575622e-06
+316 1.575 3.31103388811e-06 -5.43542099351e-06
+317 1.58 3.33835852983e-06 -5.49455455061e-06
+318 1.585 3.36598063027e-06 -5.55440610491e-06
+319 1.59 3.3939038039e-06 -5.61498547818e-06
+320 1.595 3.42213171469e-06 -5.67630263881e-06
+321 1.6 3.45066807679e-06 -5.73836770428e-06
+322 1.605 3.47951665535e-06 -5.80119094353e-06
+323 1.61 3.50868126721e-06 -5.86478277949e-06
+324 1.615 3.53816578176e-06 -5.92915379152e-06
+325 1.62 3.56797412164e-06 -5.99431471802e-06
+326 1.625 3.59811026362e-06 -6.06027645901e-06
+327 1.63 3.62857823935e-06 -6.12705007878e-06
+328 1.635 3.65938213625e-06 -6.19464680859e-06
+329 1.64 3.69052609828e-06 -6.26307804942e-06
+330 1.645 3.72201432687e-06 -6.33235537472e-06
+331 1.65 3.75385108174e-06 -6.40249053329e-06
+332 1.655 3.7860406818e-06 -6.47349545215e-06
+333 1.66 3.81858750603e-06 -6.54538223952e-06
+334 1.665 3.85149599445e-06 -6.61816318773e-06
+335 1.67 3.88477064897e-06 -6.69185077636e-06
+336 1.675 3.91841603439e-06 -6.76645767527e-06
+337 1.68 3.95243677933e-06 -6.84199674779e-06
+338 1.685 3.98683757724e-06 -6.91848105395e-06
+339 1.69 4.02162318735e-06 -6.99592385369e-06
+340 1.695 4.0567984357e-06 -7.07433861024e-06
+341 1.7 4.09236821615e-06 -7.1537389935e-06
+342 1.705 4.12833749146e-06 -7.23413888348e-06
+343 1.71 4.16471129431e-06 -7.31555237378e-06
+344 1.715 4.20149472837e-06 -7.39799377524e-06
+345 1.72 4.23869296945e-06 -7.48147761951e-06
+346 1.725 4.27631126656e-06 -7.56601866276e-06
+347 1.73 4.31435494304e-06 -7.65163188951e-06
+348 1.735 4.35282939777e-06 -7.73833251637e-06
+349 1.74 4.39174010628e-06 -7.82613599606e-06
+350 1.745 4.43109262196e-06 -7.91505802129e-06
+351 1.75 4.47089257728e-06 -8.00511452888e-06
+352 1.755 4.51114568501e-06 -8.09632170383e-06
+353 1.76 4.55185773948e-06 -8.18869598359e-06
+354 1.765 4.59303461783e-06 -8.28225406224e-06
+355 1.77 4.63468228135e-06 -8.37701289495e-06
+356 1.775 4.67680677673e-06 -8.47298970233e-06
+357 1.78 4.71941423746e-06 -8.57020197498e-06
+358 1.785 4.76251088518e-06 -8.6686674781e-06
+359 1.79 4.80610303102e-06 -8.76840425614e-06
+360 1.795 4.85019707706e-06 -8.86943063759e-06
+361 1.8 4.89479951775e-06 -8.97176523982e-06
+362 1.805 4.93991694133e-06 -9.07542697405e-06
+363 1.81 4.98555603137e-06 -9.18043505034e-06
+364 1.815 5.03172356824e-06 -9.28680898277e-06
+365 1.82 5.07842643065e-06 -9.39456859463e-06
+366 1.825 5.1256715972e-06 -9.50373402376e-06
+367 1.83 5.17346614799e-06 -9.61432572795e-06
+368 1.835 5.22181726623e-06 -9.72636449046e-06
+369 1.84 5.27073223983e-06 -9.83987142565e-06
+370 1.845 5.32021846317e-06 -9.95486798471e-06
+371 1.85 5.37028343869e-06 -1.00713759615e-05
+372 1.855 5.4209347787e-06 -1.01894174984e-05
+373 1.86 5.47218020708e-06 -1.03090150925e-05
+374 1.865 5.52402756113e-06 -1.04301916018e-05
+375 1.87 5.57648479332e-06 -1.05529702512e-05
+376 1.875 5.62955997318e-06 -1.06773746392e-05
+377 1.88 5.68326128921e-06 -1.08034287443e-05
+378 1.885 5.73759705074e-06 -1.09311569317e-05
+379 1.89 5.79257568991e-06 -1.10605839597e-05
+380 1.895 5.84820576365e-06 -1.11917349875e-05
+381 1.9 5.9044959557e-06 -1.1324635581e-05
+382 1.905 5.96145507868e-06 -1.1459311721e-05
+383 1.91 6.01909207614e-06 -1.159578981e-05
+384 1.915 6.07741602472e-06 -1.17340966795e-05
+385 1.92 6.13643613633e-06 -1.1874259598e-05
+386 1.925 6.19616176028e-06 -1.20163062784e-05
+387 1.93 6.25660238563e-06 -1.21602648858e-05
+388 1.935 6.31776764337e-06 -1.2306164046e-05
+389 1.94 6.37966730881e-06 -1.2454032853e-05
+390 1.945 6.4423113039e-06 -1.26039008777e-05
+391 1.95 6.50570969968e-06 -1.27557981764e-05
+392 1.955 6.56987271868e-06 -1.29097552992e-05
+393 1.96 6.63481073744e-06 -1.30658032991e-05
+394 1.965 6.70053428904e-06 -1.32239737407e-05
+395 1.97 6.76705406569e-06 -1.33842987095e-05
+396 1.975 6.83438092135e-06 -1.35468108212e-05
+397 1.98 6.90252587437e-06 -1.37115432313e-05
+398 1.985 6.9715001103e-06 -1.38785296443e-05
+399 1.99 7.04131498456e-06 -1.40478043244e-05
+400 1.995 7.11198202534e-06 -1.42194021048e-05
+401 2.0 7.18351293643e-06 -1.43933583983e-05
+402 2.005 7.25591960015e-06 -1.45697092078e-05
+403 2.01 7.32921408034e-06 -1.47484911367e-05
+404 2.015 7.40340862538e-06 -1.49297414001e-05
+405 2.02 7.47851567126e-06 -1.51134978357e-05
+406 2.025 7.55454784477e-06 -1.52997989149e-05
+407 2.03 7.63151796664e-06 -1.54886837548e-05
+408 2.035 7.70943905484e-06 -1.56801921294e-05
+409 2.04 7.78832432786e-06 -1.58743644819e-05
+410 2.045 7.86818720812e-06 -1.60712419368e-05
+411 2.05 7.94904132539e-06 -1.62708663124e-05
+412 2.055 8.03090052028e-06 -1.64732801334e-05
+413 2.06 8.11377884783e-06 -1.66785266439e-05
+414 2.065 8.19769058112e-06 -1.68866498205e-05
+415 2.07 8.28265021498e-06 -1.70976943859e-05
+416 2.075 8.36867246973e-06 -1.73117058224e-05
+417 2.08 8.45577229504e-06 -1.75287303862e-05
+418 2.085 8.54396487383e-06 -1.77488151213e-05
+419 2.09 8.63326562623e-06 -1.79720078742e-05
+420 2.095 8.72369021366e-06 -1.81983573089e-05
+421 2.1 8.81525454291e-06 -1.84279129219e-05
+422 2.105 8.90797477037e-06 -1.86607250574e-05
+423 2.11 9.00186730632e-06 -1.88968449235e-05
+424 2.115 9.09694881925e-06 -1.91363246079e-05
+425 2.12 9.19323624035e-06 -1.93792170942e-05
+426 2.125 9.29074676797e-06 -1.96255762792e-05
+427 2.13 9.3894978723e-06 -1.98754569891e-05
+428 2.135 9.48950729998e-06 -2.01289149975e-05
+429 2.14 9.59079307895e-06 -2.0386007043e-05
+430 2.145 9.69337352328e-06 -2.0646790847e-05
+431 2.15 9.79726723816e-06 -2.09113251325e-05
+432 2.155 9.90249312492e-06 -2.11796696427e-05
+433 2.16 1.00090703862e-05 -2.14518851604e-05
+434 2.165 1.01170185312e-05 -2.17280335274e-05
+435 2.17 1.0226357381e-05 -2.20081776645e-05
+436 2.175 1.03371070741e-05 -2.22923815921e-05
+437 2.18 1.04492880718e-05 -2.25807104507e-05
+438 2.185 1.05629211639e-05 -2.28732305225e-05
+439 2.19 1.06780274747e-05 -2.31700092526e-05
+440 2.195 1.07946284685e-05 -2.34711152716e-05
+441 2.2 1.09127459559e-05 -2.37766184177e-05
+442 2.205 1.10324020996e-05 -2.40865897603e-05
+443 2.21 1.1153619421e-05 -2.44011016227e-05
+444 2.215 1.1276420806e-05 -2.47202276068e-05
+445 2.22 1.1400829512e-05 -2.50440426173e-05
+446 2.225 1.15268691742e-05 -2.53726228865e-05
+447 2.23 1.16545638122e-05 -2.57060459999e-05
+448 2.235 1.17839378371e-05 -2.60443909225e-05
+449 2.24 1.19150160583e-05 -2.63877380248e-05
+450 2.245 1.20478236906e-05 -2.67361691104e-05
+451 2.25 1.21823863614e-05 -2.70897674434e-05
+452 2.255 1.23187301183e-05 -2.74486177767e-05
+453 2.26 1.24568814362e-05 -2.78128063808e-05
+454 2.265 1.25968672255e-05 -2.81824210732e-05
+455 2.27 1.27387148393e-05 -2.85575512484e-05
+456 2.275 1.2882452082e-05 -2.8938287909e-05
+457 2.28 1.30281072169e-05 -2.93247236961e-05
+458 2.285 1.31757089746e-05 -2.97169529222e-05
+459 2.29 1.33252865617e-05 -3.01150716033e-05
+460 2.295 1.34768696692e-05 -3.05191774923e-05
+461 2.3 1.36304884811e-05 -3.09293701129e-05
+462 2.305 1.37861736837e-05 -3.13457507949e-05
+463 2.31 1.39439564744e-05 -3.17684227088e-05
+464 2.315 1.41038685711e-05 -3.21974909027e-05
+465 2.32 1.4265942222e-05 -3.26330623389e-05
+466 2.325 1.44302102147e-05 -3.30752459319e-05
+467 2.33 1.45967058863e-05 -3.35241525868e-05
+468 2.335 1.47654631337e-05 -3.39798952387e-05
+469 2.34 1.49365164236e-05 -3.44425888929e-05
+470 2.345 1.51099008028e-05 -3.49123506661e-05
+471 2.35 1.52856519091e-05 -3.53892998283e-05
+472 2.355 1.54638059823e-05 -3.58735578454e-05
+473 2.36 1.5644399875e-05 -3.63652484235e-05
+474 2.365 1.5827471064e-05 -3.6864497553e-05
+475 2.37 1.60130576619e-05 -3.73714335546e-05
+476 2.375 1.62011984287e-05 -3.78861871259e-05
+477 2.38 1.63919327842e-05 -3.8408891389e-05
+478 2.385 1.65853008196e-05 -3.89396819392e-05
+479 2.39 1.67813433108e-05 -3.94786968946e-05
+480 2.395 1.69801017302e-05 -4.00260769471e-05
+481 2.4 1.71816182608e-05 -4.05819654141e-05
+482 2.405 1.73859358083e-05 -4.11465082917e-05
+483 2.41 1.75930980154e-05 -4.17198543087e-05
+484 2.415 1.78031492756e-05 -4.2302154982e-05
+485 2.42 1.80161347468e-05 -4.28935646732e-05
+486 2.425 1.8232100366e-05 -4.34942406464e-05
+487 2.43 1.84510928639e-05 -4.41043431271e-05
+488 2.435 1.867315978e-05 -4.47240353626e-05
+489 2.44 1.88983494775e-05 -4.53534836838e-05
+490 2.445 1.91267111593e-05 -4.5992857568e-05
+491 2.45 1.93582948834e-05 -4.66423297035e-05
+492 2.455 1.95931515798e-05 -4.73020760552e-05
+493 2.46 1.98313330663e-05 -4.7972275932e-05
+494 2.465 2.0072892066e-05 -4.86531120554e-05
+495 2.47 2.03178822241e-05 -4.934477063e-05
+496 2.475 2.05663581258e-05 -5.0047441415e-05
+497 2.48 2.08183753141e-05 -5.07613177981e-05
+498 2.485 2.10739903081e-05 -5.14865968699e-05
+499 2.49 2.13332606218e-05 -5.2223479501e-05
+500 2.495 2.15962447833e-05 -5.29721704204e-05
+501 2.5 2.1863002354e-05 -5.37328782956e-05
+502 2.505 2.21335939488e-05 -5.45058158144e-05
+503 2.51 2.2408081256e-05 -5.52911997691e-05
+504 2.515 2.26865270586e-05 -5.60892511416e-05
+505 2.52 2.2968995255e-05 -5.69001951914e-05
+506 2.525 2.32555508808e-05 -5.7724261545e-05
+507 2.53 2.35462601308e-05 -5.85616842874e-05
+508 2.535 2.38411903818e-05 -5.94127020559e-05
+509 2.54 2.4140410215e-05 -6.02775581357e-05
+510 2.545 2.44439894401e-05 -6.11565005577e-05
+511 2.55 2.4751999119e-05 -6.20497821989e-05
+512 2.555 2.50645115902e-05 -6.29576608845e-05
+513 2.56 2.53816004941e-05 -6.38803994929e-05
+514 2.565 2.57033407981e-05 -6.48182660624e-05
+515 2.57 2.60298088232e-05 -6.57715339011e-05
+516 2.575 2.63610822701e-05 -6.67404816988e-05
+517 2.58 2.66972402468e-05 -6.77253936414e-05
+518 2.585 2.70383632961e-05 -6.87265595285e-05
+519 2.59 2.73845334242e-05 -6.97442748928e-05
+520 2.595 2.77358341295e-05 -7.07788411232e-05
+521 2.6 2.80923504321e-05 -7.18305655899e-05
+522 2.605 2.84541689045e-05 -7.2899761773e-05
+523 2.61 2.88213777019e-05 -7.39867493937e-05
+524 2.615 2.9194066594e-05 -7.50918545487e-05
+525 2.62 2.95723269973e-05 -7.62154098474e-05
+526 2.625 2.99562520078e-05 -7.73577545531e-05
+527 2.63 3.03459364349e-05 -7.85192347261e-05
+528 2.635 3.07414768354e-05 -7.97002033716e-05
+529 2.64 3.11429715491e-05 -8.09010205901e-05
+530 2.645 3.15505207341e-05 -8.21220537315e-05
+531 2.65 3.19642264038e-05 -8.33636775529e-05
+532 2.655 3.23841924642e-05 -8.46262743804e-05
+533 2.66 3.28105247523e-05 -8.59102342737e-05
+534 2.665 3.32433310749e-05 -8.72159551958e-05
+535 2.67 3.36827212489e-05 -8.85438431857e-05
+536 2.675 3.41288071419e-05 -8.98943125358e-05
+537 2.68 3.45817027139e-05 -9.12677859732e-05
+538 2.685 3.50415240602e-05 -9.26646948451e-05
+539 2.69 3.55083894545e-05 -9.40854793091e-05
+540 2.695 3.5982419394e-05 -9.55305885275e-05
+541 2.7 3.64637366445e-05 -9.70004808664e-05
+542 2.705 3.6952466287e-05 -9.84956240998e-05
+543 2.71 3.74487357654e-05 -0.000100016495618
+544 2.715 3.79526749351e-05 -0.000101563582641
+545 2.72 3.84644161125e-05 -0.000103137382438
+546 2.725 3.89840941261e-05 -0.000104738402552
+547 2.73 3.95118463681e-05 -0.000106367161026
+548 2.735 4.00478128477e-05 -0.000108024186641
+549 2.74 4.05921362454e-05 -0.000109710019156
+550 2.745 4.11449619684e-05 -0.000111425209554
+551 2.75 4.17064382075e-05 -0.000113170320292
+552 2.755 4.22767159949e-05 -0.000114945925565
+553 2.76 4.28559492636e-05 -0.000116752611562
+554 2.765 4.34442949084e-05 -0.000118590976746
+555 2.77 4.40419128474e-05 -0.000120461632126
+556 2.775 4.46489660857e-05 -0.00012236520154
+557 2.78 4.52656207804e-05 -0.000124302321953
+558 2.785 4.58920463068e-05 -0.000126273643749
+559 2.79 4.65284153262e-05 -0.000128279831037
+560 2.795 4.71749038557e-05 -0.000130321561968
+561 2.8 4.78316913387e-05 -0.000132399529053
+562 2.805 4.84989607177e-05 -0.000134514439491
+563 2.81 4.91768985087e-05 -0.000136667015506
+564 2.815 4.98656948772e-05 -0.000138857994693
+565 2.82 5.05655437156e-05 -0.000141088130372
+566 2.825 5.12766427231e-05 -0.000143358191948
+567 2.83 5.1999193487e-05 -0.000145668965281
+568 2.835 5.27334015657e-05 -0.000148021253073
+569 2.84 5.34794765741e-05 -0.000150415875248
+570 2.845 5.42376322705e-05 -0.000152853669359
+571 2.85 5.50080866459e-05 -0.000155335490996
+572 2.855 5.57910620153e-05 -0.000157862214202
+573 2.86 5.6586785111e-05 -0.000160434731906
+574 2.865 5.73954871779e-05 -0.000163053956365
+575 2.87 5.82174040715e-05 -0.000165720819612
+576 2.875 5.90527763579e-05 -0.000168436273922
+577 2.88 5.99018494163e-05 -0.000171201292287
+578 2.885 6.07648735434e-05 -0.000174016868901
+579 2.89 6.1642104061e-05 -0.000176884019661
+580 2.895 6.25338014258e-05 -0.000179803782675
+581 2.9 6.34402313416e-05 -0.000182777218794
+582 2.905 6.43616648745e-05 -0.000185805412141
+583 2.91 6.52983785703e-05 -0.00018888947067
+584 2.915 6.62506545756e-05 -0.000192030526728
+585 2.92 6.72187807609e-05 -0.000195229737635
+586 2.925 6.82030508468e-05 -0.000198488286279
+587 2.93 6.92037645336e-05 -0.000201807381729
+588 2.935 7.02212276337e-05 -0.000205188259858
+589 2.94 7.12557522072e-05 -0.000208632183983
+590 2.945 7.23076567009e-05 -0.000212140445527
+591 2.95 7.33772660902e-05 -0.000215714364695
+592 2.955 7.4464912025e-05 -0.000219355291161
+593 2.96 7.55709329787e-05 -0.000223064604784
+594 2.965 7.6695674401e-05 -0.000226843716335
+595 2.97 7.78394888742e-05 -0.000230694068243
+596 2.975 7.90027362736e-05 -0.000234617135366
+597 2.98 8.01857839315e-05 -0.000238614425777
+598 2.985 8.13890068051e-05 -0.000242687481569
+599 2.99 8.2612787649e-05 -0.000246837879686
+600 2.995 8.38575171915e-05 -0.000251067232775
+601 3.0 8.5123594315e-05 -0.000255377190056
+602 3.005 8.64114262414e-05 -0.00025976943822
+603 3.01 8.77214287216e-05 -0.000264245702345
+604 3.015 8.90540262299e-05 -0.000268807746844
+605 3.02 9.04096521629e-05 -0.00027345737643
+606 3.025 9.17887490437e-05 -0.000278196437111
+607 3.03 9.31917687307e-05 -0.000283026817209
+608 3.035 9.46191726318e-05 -0.000287950448409
+609 3.04 9.60714319243e-05 -0.000292969306835
+610 3.045 9.75490277791e-05 -0.00029808541415
+611 3.05 9.90524515918e-05 -0.000303300838692
+612 3.055 0.000100582205219 -0.000308617696638
+613 3.06 0.00010213880122 -0.000314038153196
+614 3.065 0.000103722763105 -0.000319564423834
+615 3.07 0.00010533462559 -0.000325198775538
+616 3.075 0.000106974934859 -0.000330943528104
+617 3.08 0.000108644248826 -0.000336801055472
+618 3.085 0.000110343137417 -0.000342773787082
+619 3.09 0.000112072182845 -0.000348864209281
+620 3.095 0.000113831979899 -0.000355074866761
+621 3.1 0.000115623136242 -0.000361408364033
+622 3.105 0.000117446272712 -0.000367867366952
+623 3.11 0.000119302023632 -0.000374454604269
+624 3.115 0.00012119103713 -0.000381172869238
+625 3.12 0.000123113975466 -0.000388025021262
+626 3.125 0.000125071515363 -0.00039501398758
+627 3.13 0.000127064348356 -0.000402142765009
+628 3.135 0.000129093181141 -0.000409414421725
+629 3.14 0.000131158735937 -0.000416832099099
+630 3.145 0.000133261750856 -0.000424399013585
+631 3.15 0.000135402980286 -0.000432118458649
+632 3.155 0.000137583195277 -0.000439993806767
+633 3.16 0.000139803183943 -0.000448028511469
+634 3.165 0.000142063751875 -0.000456226109438
+635 3.17 0.000144365722558 -0.000464590222675
+636 3.175 0.000146709937805 -0.00047312456072
+637 3.18 0.000149097258201 -0.000481832922931
+638 3.185 0.000151528563555 -0.000490719200839
+639 3.19 0.000154004753373 -0.000499787380554
+640 3.195 0.00015652674733 -0.000509041545252
+641 3.2 0.000159095485766 -0.000518485877719
+642 3.205 0.00016171193019 -0.000528124662981
+643 3.21 0.000164377063795 -0.000537962290996
+644 3.215 0.000167091891994 -0.000548003259429
+645 3.22 0.000169857442964 -0.000558252176503
+646 3.225 0.000172674768203 -0.000568713763934
+647 3.23 0.000175544943111 -0.000579392859944
+648 3.235 0.000178469067573 -0.000590294422366
+649 3.24 0.000181448266573 -0.000601423531834
+650 3.245 0.000184483690807 -0.000612785395066
+651 3.25 0.000187576517332 -0.00062438534824
+652 3.255 0.000190727950214 -0.000636228860468
+653 3.26 0.000193939221204 -0.000648321537367
+654 3.265 0.00019721159043 -0.000660669124741
+655 3.27 0.00020054634711 -0.00067327751236
+656 3.275 0.000203944810275 -0.000686152737851
+657 3.28 0.000207408329526 -0.000699300990707
+658 3.285 0.000210938285795 -0.000712728616408
+659 3.29 0.000214536092145 -0.000726442120659
+660 3.295 0.000218203194574 -0.000740448173763
+661 3.3 0.000221941072853 -0.000754753615105
+662 3.305 0.000225751241384 -0.000769365457783
+663 3.31 0.000229635250076 -0.000784290893369
+664 3.315 0.000233594685253 -0.000799537296803
+665 3.32 0.000237631170585 -0.000815112231445
+666 3.325 0.000241746368037 -0.000831023454264
+667 3.33 0.000245941978856 -0.000847278921187
+668 3.335 0.000250219744578 -0.000863886792607
+669 3.34 0.000254581448062 -0.000880855439046
+670 3.345 0.000259028914559 -0.000898193447
+671 3.35 0.000263564012803 -0.000915909624944
+672 3.355 0.000268188656139 -0.000934013009529
+673 3.36 0.000272904803681 -0.000952512871956
+674 3.365 0.000277714461496 -0.000971418724544
+675 3.37 0.00028261968383 -0.000990740327495
+676 3.375 0.000287622574365 -0.00101048769586
+677 3.38 0.000292725287511 -0.00103067110673
+678 3.385 0.000297930029732 -0.00105130110662
+679 3.39 0.000303239060915 -0.00107238851907
+680 3.395 0.000308654695775 -0.00109394445256
+681 3.4 0.000314179305295 -0.00111598030851
+682 3.405 0.000319815318218 -0.00113850778969
+683 3.41 0.000325565222571 -0.00116153890879
+684 3.415 0.000331431567237 -0.00118508599725
+685 3.42 0.000337416963572 -0.0012091617144
+686 3.425 0.00034352408707 -0.00123377905688
+687 3.43 0.00034975567907 -0.00125895136831
+688 3.435 0.000356114548516 -0.00128469234929
+689 3.44 0.00036260357377 -0.00131101606772
+690 3.445 0.000369225704476 -0.00133793696938
+691 3.45 0.000375983963472 -0.00136546988893
+692 3.455 0.000382881448764 -0.00139363006116
+693 3.46 0.000389921335559 -0.00142243313265
+694 3.465 0.000397106878349 -0.00145189517377
+695 3.47 0.000404441413065 -0.00148203269108
+696 3.475 0.000411928359287 -0.00151286264004
+697 3.48 0.000419571222521 -0.00154440243828
+698 3.485 0.000427373596547 -0.00157666997906
+699 3.49 0.000435339165827 -0.00160968364541
+700 3.495 0.000443471707993 -0.00164346232447
+701 3.5 0.000451775096406 -0.00167802542249
+702 3.505 0.000460253302787 -0.00171339288016
+703 3.51 0.000468910399928 -0.00174958518852
+704 3.515 0.000477750564487 -0.00178662340532
+705 3.52 0.000486778079864 -0.00182452917192
+706 3.525 0.000495997339159 -0.00186332473077
+707 3.53 0.000505412848226 -0.00190303294335
+708 3.535 0.000515029228811 -0.00194367730884
+709 3.54 0.000524851221791 -0.0019852819832
+710 3.545 0.000534883690507 -0.00202787179905
+711 3.55 0.000545131624194 -0.00207147228608
+712 3.555 0.000555600141525 -0.00211610969215
+713 3.56 0.000566294494251 -0.00216181100505
+714 3.565 0.00057722007096 -0.00220860397506
+715 3.57 0.000588382400945 -0.00225651713812
+716 3.575 0.000599787158193 -0.00230557983985
+717 3.58 0.000611440165494 -0.00235582226031
+718 3.585 0.000623347398678 -0.0024072754396
+719 3.59 0.000635514990981 -0.00245997130425
+720 3.595 0.000647949237544 -0.00251394269457
+721 3.6 0.000660656600053 -0.00256922339284
+722 3.605 0.000673643711519 -0.0026258481524
+723 3.61 0.000686917381213 -0.0026838527278
+724 3.615 0.000700484599743 -0.00274327390588
+725 3.62 0.0007143525443 -0.00280414953792
+726 3.625 0.000728528584064 -0.00286651857282
+727 3.63 0.00074302028577 -0.00293042109146
+728 3.635 0.000757835419465 -0.00299589834214
+729 3.64 0.00077298196443 -0.00306299277728
+730 3.645 0.000788468115298 -0.00313174809127
+731 3.65 0.00080430228836 -0.0032022092597
+732 3.655 0.000820493128072 -0.00327442257983
+733 3.66 0.000837049513768 -0.00334843571248
+734 3.665 0.000853980566583 -0.00342429772532
+735 3.67 0.000871295656603 -0.00350205913767
+736 3.675 0.000889004410235 -0.00358177196677
+737 3.68 0.000907116717816 -0.0036634897757
+738 3.685 0.000925642741464 -0.00374726772288
+739 3.69 0.000944592923189 -0.00383316261331
+740 3.695 0.000963977993247 -0.00392123295158
+741 3.7 0.000983808978782 -0.00401153899666
+742 3.705 0.00100409721274 -0.00410414281866
+743 3.71 0.00102485434306 -0.0041991083575
+744 3.715 0.00104609234218 -0.00429650148362
+745 3.72 0.00106782351686 -0.00439639006083
+746 3.725 0.00109006051829 -0.00449884401137
+747 3.73 0.00111281635256 -0.00460393538319
+748 3.735 0.00113610439144 -0.00471173841962
+749 3.74 0.00115993838358 -0.0048223296315
+750 3.745 0.001184332466 -0.00493578787184
+751 3.75 0.001209301176 -0.00505219441312
+752 3.755 0.00123485946344 -0.00517163302729
+753 3.76 0.0012610227035 -0.00529419006869
+754 3.765 0.00128780670973 -0.0054199545598
+755 3.77 0.00131522774766 -0.00554901828018
+756 3.775 0.0013433025488 -0.00568147585847
+757 3.78 0.00137204832512 -0.00581742486775
+758 3.785 0.00140148278404 -0.00595696592432
+759 3.79 0.00143162414387 -0.00610020278999
+760 3.795 0.00146249114979 -0.00624724247807
+761 3.8 0.00149410309045 -0.00639819536327
+762 3.805 0.00152647981497 -0.00655317529545
+763 3.81 0.00155964175068 -0.0067122997176
+764 3.815 0.00159360992135 -0.00687568978806
+765 3.82 0.00162840596609 -0.00704347050725
+766 3.825 0.0016640521589 -0.00721577084895
+767 3.83 0.00170057142885 -0.00739272389648
+768 3.835 0.00173798738102 -0.00757446698385
+769 3.84 0.00177632431806 -0.00776114184208
+770 3.845 0.00181560726259 -0.00795289475095
+771 3.85 0.00185586198036 -0.0081498766964
+772 3.855 0.0018971150041 -0.00835224353366
+773 3.86 0.00193939365838 -0.00856015615658
+774 3.865 0.00198272608519 -0.00877378067317
+775 3.87 0.00202714127046 -0.00899328858777
+776 3.875 0.00207266907156 -0.00921885698995
+777 3.88 0.00211934024563 -0.00945066875063
+778 3.885 0.00216718647908 -0.00968891272545
+779 3.89 0.00221624041797 -0.00993378396592
+780 3.895 0.00226653569959 -0.0101854839385
+781 3.9 0.00231810698504 -0.010444220752
+782 3.905 0.00237098999309 -0.0107102093936
+783 3.91 0.00242522153513 -0.0109836719738
+784 3.915 0.00248083955145 -0.0112648379811
+785 3.92 0.00253788314876 -0.0115539445459
+786 3.925 0.00259639263913 -0.0118512367146
+787 3.93 0.00265640958019 -0.0121569677349
+788 3.935 0.00271797681698 -0.0124713993511
+789 3.94 0.0027811385251 -0.0127948021119
+790 3.945 0.0028459402556 -0.0131274556891
+791 3.95 0.00291242898136 -0.0134696492094
+792 3.955 0.00298065314524 -0.0138216815987
+793 3.96 0.00305066271001 -0.0141838619404
+794 3.965 0.00312250920998 -0.014556509847
+795 3.97 0.00319624580468 -0.0149399558469
+796 3.975 0.00327192733437 -0.0153345417861
+797 3.98 0.00334961037773 -0.015740621246
+798 3.985 0.00342935331158 -0.0161585599771
+799 3.99 0.00351121637284 -0.0165887363512
+800 3.995 0.00359526172284 -0.0170315418299
+801 4.0 0.00368155351393 -0.0174873814531
+802 4.005 0.00377015795868 -0.0179566743468
+803 4.01 0.00386114340158 -0.0184398542503
+804 4.015 0.0039545803935 -0.018937370066
+805 4.02 0.00405054176891 -0.0194496864302
+806 4.025 0.00414910272605 -0.0199772843078
+807 4.03 0.00425034091005 -0.0205206616104
+808 4.035 0.00435433649935 -0.0210803338398
+809 4.04 0.00446117229521 -0.0216568347578
+810 4.045 0.00457093381484 -0.0222507170832
+811 4.05 0.00468370938792 -0.0228625532173
+812 4.055 0.00479959025692 -0.0234929359995
+813 4.06 0.00491867068121 -0.024142479493
+814 4.065 0.00504104804527 -0.0248118198046
+815 4.07 0.00516682297097 -0.0255016159366
+816 4.075 0.00529609943428 -0.0262125506753
+817 4.08 0.00542898488647 -0.0269453315159
+818 4.085 0.00556559038007 -0.027700691626
+819 4.09 0.00570603069971 -0.0284793908497
+820 4.095 0.0058504244981 -0.0292822167532
+821 4.1 0.00599889443734 -0.030109985715
+822 4.105 0.00615156733583 -0.0309635440615
+823 4.11 0.0063085743209 -0.0318437692512
+824 4.115 0.00647005098758 -0.0327515711084
+825 4.12 0.00663613756361 -0.0336878931099
+826 4.125 0.00680697908102 -0.034653713726
+827 4.13 0.00698272555457 -0.0356500478196
+828 4.135 0.00716353216735 -0.0366779481042
+829 4.14 0.0073495594638 -0.0377385066656
+830 4.145 0.0075409735505 -0.0388328565482
+831 4.15 0.00773794630512 -0.0399621734106
+832 4.155 0.00794065559368 -0.0411276772525
+833 4.16 0.00814928549684 -0.042330634217
+834 4.165 0.00836402654522 -0.0435723584709
+835 4.17 0.0085850759644 -0.0448542141675
+836 4.175 0.00881263792994 -0.0461776174955
+837 4.18 0.00904692383288 -0.0475440388177
+838 4.185 0.00928815255613 -0.0489550049041
+839 4.19 0.00953655076231 -0.0504121012635
+840 4.195 0.00979235319349 -0.0519169745786
+841 4.2 0.0100558029833 -0.0534713352492
+842 4.205 0.0103271519824 -0.0550769600489
+843 4.21 0.0106066610966 -0.0567356949005
+844 4.215 0.0108946006406 -0.0584494577757
+845 4.22 0.0111912507051 -0.0602202417253
+846 4.225 0.0114969015406 -0.062050118046
+847 4.23 0.0118118539562 -0.0639412395903
+848 4.235 0.0121364197367 -0.0658958442267
+849 4.24 0.012470922076 -0.067916258457
+850 4.245 0.0128156960301 -0.0700049011991
+851 4.25 0.0131710889888 -0.0721642877423
+852 4.255 0.0135374611677 -0.0743970338844
+853 4.26 0.0139151861219 -0.0767058602593
+854 4.265 0.014304651281 -0.0790935968639
+855 4.27 0.0147062585078 -0.0815631877955
+856 4.275 0.0151204246812 -0.0841176962079
+857 4.28 0.0155475823042 -0.0867603094993
+858 4.285 0.0159881801386 -0.0894943447425
+859 4.29 0.0164426838677 -0.0923232543688
+860 4.295 0.0169115767876 -0.0952506321199
+861 4.3 0.0173953605294 -0.0982802192798
+862 4.305 0.0178945558128 -0.101415911201
+863 4.31 0.0184097032337 -0.104661764143
+864 4.315 0.0189413640867 -0.10802200243
+865 4.32 0.0194901212233 -0.111501025957
+866 4.325 0.0200565799499 -0.115103418051
+867 4.33 0.0206413689653 -0.118833953712
+868 4.335 0.0212451413402 -0.122697608246
+869 4.34 0.0218685755415 -0.126699566324
+870 4.345 0.0225123765025 -0.130845231472
+871 4.35 0.0231772767419 -0.135140236021
+872 4.355 0.0238640375338 -0.139590451555
+873 4.36 0.0245734501309 -0.144201999854
+874 4.365 0.0253063370442 -0.148981264382
+875 4.37 0.0260635533812 -0.153934902343
+876 4.375 0.026845988246 -0.159069857327
+877 4.38 0.0276545662041 -0.164393372582
+878 4.385 0.0284902488154 -0.169913004955
+879 4.39 0.0293540362382 -0.17563663951
+880 4.395 0.0302469689086 -0.1815725049
+881 4.4 0.0311701292983 -0.187729189489
+882 4.405 0.0321246437553 -0.1941156583
+883 4.41 0.0331116844312 -0.200741270811
+884 4.415 0.0341324712999 -0.207615799658
+885 4.42 0.0351882742722 -0.214749450282
+886 4.425 0.0362804154108 -0.222152881586
+887 4.43 0.0374102712517 -0.229837227642
+888 4.435 0.0385792752363 -0.237814120514
+889 4.44 0.0397889202612 -0.246095714261
+890 4.445 0.0410407613506 -0.254694710173
+891 4.45 0.0423364184582 -0.263624383317
+892 4.455 0.0436775794054 -0.272898610473
+893 4.46 0.0450660029627 -0.282531899512
+894 4.465 0.0465035220816 -0.292539420323
+895 4.47 0.0479920472858 -0.302937037366
+896 4.475 0.0495335702287 -0.313741343932
+897 4.48 0.0511301674268 -0.324969698225
+898 4.485 0.0527840041788 -0.336640261353
+899 4.49 0.0544973386792 -0.348772037343
+900 4.495 0.0562725263372 -0.361384915296
+901 4.5 0.0581120243122 -0.374499713802
+902 4.505 0.0600183962773 -0.388138227742
+903 4.51 0.061994317423 -0.402323277621
+904 4.515 0.0640425797141 -0.417078761574
+905 4.52 0.0661660974138 -0.432429710191
+906 4.525 0.0683679128891 -0.448402344343
+907 4.53 0.0706512027136 -0.465024136173
+908 4.535 0.073019284083 -0.482323873428
+909 4.54 0.0754756215615 -0.500331727349
+910 4.545 0.0780238341766 -0.519079324312
+911 4.55 0.0806677028821 -0.538599821447
+912 4.555 0.0834111784101 -0.558927986473
+913 4.56 0.086258389532 -0.580100281991
+914 4.565 0.089213651754 -0.602154954519
+915 4.57 0.0922814764698 -0.625132128529
+916 4.575 0.0954665805958 -0.64907390581
+917 4.58 0.0987738967184 -0.674024470462
+918 4.585 0.10220858378 -0.700030199868
+919 4.59 0.105776038336 -0.727139782014
+920 4.595 0.109481906417 -0.755404339532
+921 4.6 0.113332096021 -0.784877560882
+922 4.605 0.117332790295 -0.815615839121
+923 4.61 0.121490461414 -0.847678418713
+924 4.615 0.125811885227 -0.881127550889
+925 4.62 0.130304156696 -0.916028658079
+926 4.625 0.134974706183 -0.952450507992
+927 4.63 0.139831316636 -0.990465397941
+928 4.635 0.144882141715 -1.03014935006
+929 4.64 0.150135724932 -1.07158231809
+930 4.645 0.155601019853 -1.11484840651
+931 4.65 0.16128741142 -1.16003610269
+932 4.655 0.167204738482 -1.20723852309
+933 4.66 0.173363317582 -1.25655367412
+934 4.665 0.179773968093 -1.30808472898
+935 4.67 0.18644803878 -1.36194032109
+936 4.675 0.193397435869 -1.41823485552
+937 4.68 0.200634652726 -1.47708883947
+938 4.685 0.208172801234 -1.538629233
+939 4.69 0.216025644979 -1.60298982133
+940 4.695 0.224207634357 -1.67031161036
+941 4.7 0.232733943712 -1.74074324652
+942 4.705 0.241620510648 -1.81444146303
+943 4.71 0.25088407763 -1.89157155397
+944 4.715 0.260542236043 -1.97230787817
+945 4.72 0.270613472835 -2.05683439503
+946 4.725 0.281117219932 -2.14534523411
+947 4.73 0.292073906588 -2.23804530116
+948 4.735 0.303505014862 -2.33515092273
+949 4.74 0.315433138416 -2.43689053224
+950 4.745 0.327882044859 -2.54350540019
+951 4.75 0.340876741855 -2.65525041161
+952 4.755 0.354443547243 -2.7723948941
+953 4.76 0.368610163431 -2.89522349972
+954 4.765 0.383405756347 -3.02403714482
+955 4.77 0.398861039231 -3.15915401153
+956 4.775 0.41500836161 -3.30091061555
+957 4.78 0.431881803779 -3.44966294464
+958 4.785 0.449517277168 -3.605787673
+959 4.79 0.467952630971 -3.76968345691
+960 4.795 0.487227765485 -3.94177231736
+961 4.8 0.507384752575 -4.12250111602
+962 4.805 0.528467963779 -4.31234313117
+963 4.81 0.550524206551 -4.51179974091
+964 4.815 0.573602869206 -4.72140222141
+965 4.82 0.597756075162 -4.94171366863
+966 4.825 0.623038847117 -5.17333105247
+967 4.83 0.649509281848 -5.41688741325
+968 4.835 0.677228736371 -5.67305421097
+969 4.84 0.706262026252 -5.94254383863
+970 4.845 0.736677636918 -6.22611231206
+971 4.85 0.768547948892 -6.52456214925
+972 4.855 0.80194947792 -6.83874545363
+973 4.86 0.83696313106 -7.1695672167
+974 4.865 0.873674479871 -7.51798885654
+975 4.87 0.912174051913 -7.88503201045
+976 4.875 0.952557641892 -8.27178260098
+977 4.88 0.99492664386 -8.67939519657
+978 4.885 1.039388406 -9.10909768949
+979 4.89 1.08605660966 -9.56219631585
+980 4.895 1.13505167436 -10.0400810443
+981 4.9 1.18650119077 -10.5442313627
+982 4.905 1.24054038366 -11.0762224932
+983 4.91 1.29731260703 -11.6377320709
+984 4.915 1.35696987397 -12.2305473228
+985 4.92 1.41967342364 -12.8565727854
+986 4.925 1.48559432829 -13.5178386065
+987 4.93 1.55491414345 -14.2165094776
+988 4.935 1.62782560432 -14.954894247
+989 4.94 1.70453337214 -15.7354562708
+990 4.945 1.78525483427 -16.5608245604
+991 4.95 1.87022096207 -17.4338057949
+992 4.955 1.95967723126 -18.3573972661
+993 4.96 2.05388460937 -19.334800837
+994 4.965 2.15312061585 -20.3694379976
+995 4.97 2.2576804602 -21.4649661082
+996 4.975 2.36787826467 -22.6252959338
+997 4.98 2.48404837798 -23.8546105764
+998 4.985 2.60654678746 -25.1573859257
+999 4.99 2.73575263756 -26.5384127576
+1000 4.995 2.87206986318 -28.0028206236
+1001 5.0 3.01592894733 -29.5561036851
+1002 5.005 3.16778881309 -31.2041486619
+1003 5.01 3.32813886106 -32.9532650805
+1004 5.015 3.49750116418 -34.8102180247
+1005 5.02 3.67643283298 -36.7822636079
+1006 5.025 3.86552856558 -38.8771874117
+1007 5.03 4.06542339778 -41.1033461537
+1008 5.035 4.27679567015 -43.4697128755
+1009 5.04 4.5003702306 -45.9859259687
+1010 5.045 4.73692189228 -48.6623423875
+1011 5.05 4.98727916893 -51.5100954302
+1012 5.055 5.25232831128 -54.541157508
+1013 5.06 5.53301767082 -57.7684083632
+1014 5.065 5.83036241932 -61.2057092413
+1015 5.07 6.14544965515 -64.8679835725
+1016 5.075 6.47944393068 -68.7713047748
+1017 5.08 6.83359323776 -72.932991849
+1018 5.085 7.20923549226 -77.3717135068
+1019 5.09 7.60780556221 -82.1076016453
+1020 5.095 8.0308428886 -87.1623750651
+1021 5.1 8.47999975234 -92.5594744222
+1022 5.105 8.95705024636 -98.3242095025
+1023 5.11 9.46390001734 -104.483920024
+1024 5.115 10.0025968481 -111.068151294
+1025 5.12 10.5753421583 -118.108846194
+1026 5.125 11.1845035092 -125.640555102
+1027 5.13 11.8326282071 -133.700665567
+1028 5.135 12.5224581076 -142.329653702
+1029 5.14 13.2569457368 -151.571359502
+1030 5.145 14.0392718529 -161.473288528
+1031 5.15 14.8728645886 -172.086942643
+1032 5.155 15.7614203254 -183.468182807
+1033 5.16 16.7089264689 -195.677627253
+1034 5.165 17.7196863113 -208.781088723
+1035 5.17 18.7983461863 -222.850054882
+1036 5.175 19.9499251427 -237.962216459
+1037 5.18 21.1798473892 -254.202048193
+1038 5.185 22.4939777874 -271.661448228
+1039 5.19 23.8986607007 -290.440442256
+1040 5.195 25.4007625403 -310.647959428
+1041 5.2 27.0077183864 -332.402687834
+1042 5.205 28.7275831036 -355.834018326
+1043 5.21 30.5690874167 -381.08308641
+1044 5.215 32.5416994626 -408.303923128
+1045 5.22 34.6556923958 -437.664727134
+1046 5.225 36.9222186841 -469.349271621
+1047 5.23 39.3533918079 -503.55846139
+1048 5.235 41.9623761558 -540.512057232
+1049 5.24 44.7634859999 -580.450586842
+1050 5.245 47.7722945362 -623.637463887
+1051 5.25 51.0057540911 -670.361339484
+1052 5.255 54.482328722 -720.938713389
+1053 5.26 58.222140587 -775.716835588
+1054 5.265 62.2471316187 -835.076932894
+1055 5.27 66.5812422252 -899.437799498
+1056 5.275 71.2506089426 -969.259795455
+1057 5.28 76.2837832029 -1045.04930272
+1058 5.285 81.711973641 -1127.36369479
+1059 5.29 87.5693146646 -1216.8168834
+1060 5.295 93.893164347 -1314.08551392
+1061 5.3 100.724435087 -1419.91589085
+1062 5.305 108.10796091 -1535.13172545
+1063 5.31 116.092905777 -1660.64281006
+1064 5.315 124.73321783 -1797.45473792
+1065 5.32 134.088135121 -1946.67980334
+1066 5.325 144.222749115 -2109.54923589
+1067 5.33 155.208633055 -2287.42694343
+1068 5.335 167.124543223 -2481.82496345
+1069 5.34 180.0572022 -2694.42085009
+1070 5.345 194.102174433 -2927.07725682
+1071 5.35 209.36484581 -3181.86401181
+1072 5.355 225.961520551 -3461.08302601
+1073 5.36 244.020650514 -3767.29642351
+1074 5.365 263.684214129 -4103.35834097
+1075 5.37 285.109264557 -4472.45090895
+1076 5.375 308.46966942 -4878.12500478
+1077 5.38 333.958067611 -5324.34645507
+1078 5.385 361.788072356 -5815.54846929
+1079 5.39 392.196753863 -6356.69120514
+1080 5.395 425.447439765 -6953.32950597
+1081 5.4 461.832877143 -7611.69001217
+1082 5.405 501.678806405 -8338.75903774
+1083 5.41 545.348004761 -9142.38282363
+1084 5.415 593.244865738 -10031.3820373
+1085 5.42 645.820591276 -11015.68269
+1086 5.425 703.57908462 -12106.4659962
+1087 5.43 767.0836459 -13316.3401164
+1088 5.435 836.964588164 -14659.5372095
+1089 5.44 913.927910152 -16152.1397986
+1090 5.445 998.765183767 -17812.3411276
+1091 5.45 1092.36483954 -19660.7449851
+1092 5.455 1195.72506302 -21720.7114182
+1093 5.46 1309.96854996 -24018.7558713
+1094 5.465 1436.35940883 -26585.0106144
+1095 5.47 1576.32254765 -29453.7588927
+1096 5.475 1731.46593848 -32664.0541036
+1097 5.48 1903.60622026 -36260.4385302
+1098 5.485 2094.79817923 -40293.7788208
+1099 5.49 2307.36874045 -44822.2385774
+1100 5.495 2543.95621436 -49912.4122166
+1101 5.5 2807.55567471 -55640.6488261
+1102 5.505 3101.57150066 -62094.6002142
+1103 5.51 3429.87830306 -69375.0339383
+1104 5.515 3796.89167797 -77597.9600438
+1105 5.52 4207.65049744 -86897.1298384
+1106 5.525 4667.91276723 -97426.976642
+1107 5.53 5184.26746489 -109366.082529
+1108 5.535 5764.26523328 -122921.272189
+1109 5.54 6416.57136028 -138332.455868
+1110 5.545 7151.14514692 -155878.368733
+1111 5.55 7979.45057787 -175883.38511
+1112 5.555 8914.70419213 -198725.624049
+1113 5.56 9972.16724736 -224846.609452
+1114 5.565 11169.4907256 -254762.805471
+1115 5.57 12527.1235034 -289079.418826
+1116 5.575 14068.7961785 -328506.947433
+1117 5.58 15822.095705 -373881.063382
+1118 5.585 17819.1492531 -426186.553416
+1119 5.59 20097.4397323 -486586.208276
+1120 5.595 22700.7803778 -556455.762347
+1121 5.6 25680.48194 -637426.248155
+1122 5.605 29096.7536364 -731435.460488
+1123 5.61 33020.3884938 -840790.640792
+1124 5.615 37534.795529 -968245.017485
+1125 5.62 42738.4559856 -1117091.50268
+1126 5.625 48747.8993768 -1291277.69016
+1127 5.63 55701.3183864 -1495547.37524
+1128 5.635 63762.9710814 -1735615.19174
+1129 5.64 73128.5560849 -2018382.72409
+1130 5.645 84031.7935812 -2352206.71961
+1131 5.65 96752.5051511 -2747232.95284
+1132 5.655 111626.562261 -3215813.08417
+1133 5.66 129058.17172 -3773026.78288
+1134 5.665 149535.09312 -4437337.81351
+1135 5.67 173647.546875 -5231421.20537
+1136 5.675 202111.783487 -6183209.69609
+1137 5.68 235799.560429 -7327222.25628
+1138 5.685 275775.133279 -8706256.87756
+1139 5.69 323341.839971 -10373555.6006
+1140 5.695 380100.979 -12395584.2516
+1141 5.7 448026.504816 -14855615.686
+1142 5.705 529560.156125 -17858367.867
+1143 5.71 627733.090584 -21536032.8982
+1144 5.715 746322.053888 -26056148.6972
+1145 5.72 890050.744612 -31631923.3162
+1146 5.725 1064850.60201 -38535839.9678
+1147 5.73 1278200.09801 -47117672.8003
+1148 5.735 1539568.25801 -57828464.0874
+1149 5.74 1860997.27824 -71252602.8402
+1150 5.745 2257871.76507 -88150975.6842
+1151 5.75 2749939.74956 -109519339.591
+1152 5.755 3362675.33565 -136667749.506
+1153 5.76 4129107.68815 -171329294.699
+1154 5.765 5092290.5566 -215809903.716
+1155 5.77 6308657.30745 -273196093.331
+1156 5.775 7852608.40245 -347645058.856
+1157 5.78 9822826.27903 -444792652.679
+1158 5.785 12351029.1761 -572331463.941
+1159 5.79 15614195.007 -740836343.412
+1160 5.795 19851761.9704 -964952961.956
+1161 5.8 25390026.834 -1265123750.87
+1162 5.805 32677044.7126 -1670116762.16
+1163 5.81 42332992.355 -2220765999.89
+1164 5.815 55223522.7267 -2975558546.03
+1165 5.82 72567652.5207 -4019067582.33
+1166 5.825 96098076.1892 -5474821115.58
+1167 5.83 128301974.954 -7525167797.49
+1168 5.835 172786897.851 -10442321052.7
+1169 5.84 234843441.663 -14637502185.9
+1170 5.845 322321750.402 -20739806771.4
+1171 5.85 447015573.215 -29724625295.8
+1172 5.855 626879673.777 -43126013542.2
+1173 5.86 889637615.256 -63393728654.1
+1174 5.865 1278749299.07 -94504139730.6
+1175 5.87 1863457472.26 -1.43025428057e+11
+1176 5.875 2756024722.63 -2.20012867219e+11
+1177 5.88 4141916348.74 -3.44455288186e+11
+1178 5.885 6333827617.32 -5.49691352523e+11
+1179 5.89 9870722980.34 -8.95662608449e+11
+1180 5.895 15704145484.1 -1.49296892607e+12
+1181 5.9 25558719893.6 -2.55154000294e+12
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/moltemplate_files/table_dihedral_frustrated.dat b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/moltemplate_files/table_dihedral_frustrated.dat
new file mode 100644
index 000000000..d660fee30
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/moltemplate_files/table_dihedral_frustrated.dat
@@ -0,0 +1,735 @@
+# Table of the potential and its negative derivative for frustrated alpha helix
+# (Note: Derivatives are in units of energy/radians, not energy/degrees.)
+# ./calc_dihedral_table.py 6.0 57.29577951308232 6 5.6 180 6 0.0 359 360
+
+FRUSTRATED_ALPHA
+N 360 DEGREES
+
+1 0.0 -2.74081145103 0.0783990792662
+2 1.0 -2.81950869101 0.0789852583442
+3 2.0 -2.89876136749 0.0795096391909
+4 3.0 -2.97850675562 0.0799703813963
+5 4.0 -3.05868032959 0.0803657243943
+6 5.0 -3.13921584545 0.0806939935737
+7 6.0 -3.22004543014 0.0809536062381
+8 7.0 -3.30109967628 0.0811430773977
+9 8.0 -3.38230774267 0.0812610253741
+10 9.0 -3.46359746038 0.0813061772009
+11 10.0 -3.54489544401 0.0812773738039
+12 11.0 -3.62612720812 0.0811735749433
+13 12.0 -3.70721728841 0.0809938639029
+14 13.0 -3.78808936748 0.080737451911
+15 14.0 -3.86866640485 0.0804036822781
+16 15.0 -3.94887077101 0.0799920342374
+17 16.0 -4.02862438516 0.0795021264757
+18 17.0 -4.10784885622 0.0789337203415
+19 18.0 -4.18646562704 0.0782867227197
+20 19.0 -4.26439612115 0.0775611885609
+21 20.0 -4.34156189202 0.0767573230567
+22 21.0 -4.41788477419 0.0758754834523
+23 22.0 -4.49328703609 0.0749161804868
+24 23.0 -4.56769153408 0.0738800794563
+25 24.0 -4.64102186743 0.0727680008923
+26 25.0 -4.71320253365 0.0715809208518
+27 26.0 -4.78415908407 0.0703199708131
+28 27.0 -4.85381827903 0.0689864371778
+29 28.0 -4.92210824234 0.067581760373
+30 29.0 -4.98895861476 0.0661075335571
+31 30.0 -5.05430070586 0.0645655009259
+32 31.0 -5.11806764409 0.0629575556235
+33 32.0 -5.18019452449 0.061285737258
+34 33.0 -5.24061855376 0.0595522290273
+35 34.0 -5.29927919225 0.0577593544584
+36 35.0 -5.3561182925 0.0559095737673
+37 36.0 -5.41108023395 0.0540054798439
+38 37.0 -5.46411205346 0.0520497938726
+39 38.0 -5.51516357127 0.0500453605949
+40 39.0 -5.56418751203 0.0479951432253
+41 40.0 -5.61113962059 0.0459022180302
+42 41.0 -5.65597877221 0.0437697685824
+43 42.0 -5.69866707689 0.0416010797029
+44 43.0 -5.7391699774 0.0393995311046
+45 44.0 -5.77745634094 0.0371685907508
+46 45.0 -5.81349854393 0.034911807945
+47 46.0 -5.84727254977 0.0326328061676
+48 47.0 -5.87875797937 0.030335275675
+49 48.0 -5.90793817411 0.0280229658805
+50 49.0 -5.93480025113 0.0256996775336
+51 50.0 -5.95933515063 0.0233692547166
+52 51.0 -5.98153767519 0.0210355766777
+53 52.0 -6.00140652074 0.0187025495211
+54 53.0 -6.01894429926 0.016374097773
+55 54.0 -6.03415755288 0.0140541558448
+56 55.0 -6.04705675953 0.0117466594146
+57 56.0 -6.05765632981 0.00945553674764
+58 57.0 -6.06597459526 0.00718469997761
+59 58.0 -6.07203378786 0.00493803637051
+60 59.0 -6.07586001075 0.00271939959245
+61 60.0 -6.07748320034 0.000532601003776
+62 61.0 -6.07693707962 -0.00161859899905
+63 62.0 -6.07425910291 -0.00373049957158
+64 63.0 -6.06949039207 -0.00579946791801
+65 64.0 -6.06267566421 -0.00782194767468
+66 65.0 -6.05386315117 -0.00979446715893
+67 66.0 -6.04310451074 -0.0117136474624
+68 67.0 -6.03045472992 -0.0135762103679
+69 68.0 -6.01597202036 -0.0153789860691
+70 69.0 -5.99971770618 -0.0171189206741
+71 70.0 -5.98175610439 -0.0187930834719
+72 71.0 -5.9621543982 -0.0203986739443
+73 72.0 -5.9409825034 -0.0219330285036
+74 73.0 -5.91831292823 -0.0233936269399
+75 74.0 -5.89422062685 -0.0247780985587
+76 75.0 -5.86878284696 -0.0260842279959
+77 76.0 -5.84207897162 -0.0273099606906
+78 77.0 -5.81419035593 -0.0284534080045
+79 78.0 -5.78520015867 -0.0295128519729
+80 79.0 -5.7551931694 -0.0304867496727
+81 80.0 -5.72425563141 -0.0313737371989
+82 81.0 -5.6924750609 -0.0321726332348
+83 82.0 -5.65994006273 -0.0328824422092
+84 83.0 -5.62674014332 -0.0335023570292
+85 84.0 -5.59296552097 -0.0340317613814
+86 85.0 -5.55870693409 -0.0344702315961
+87 86.0 -5.52405544786 -0.0348175380654
+88 87.0 -5.48910225957 -0.0350736462148
+89 88.0 -5.45393850338 -0.0352387170203
+90 89.0 -5.41865505462 -0.0353131070729
+91 90.0 -5.38334233438 -0.0352973681855
+92 91.0 -5.34809011465 -0.0351922465446
+93 92.0 -5.31298732458 -0.0349986814067
+94 93.0 -5.27812185824 -0.034717803342
+95 94.0 -5.24358038438 -0.0343509320285
+96 95.0 -5.2094481586 -0.0338995736008
+97 96.0 -5.17580883839 -0.0333654175598
+98 97.0 -5.14274430152 -0.0327503332496
+99 98.0 -5.11033446814 -0.0320563659092
+100 99.0 -5.07865712698 -0.0312857323082
+101 100.0 -5.04778776623 -0.0304408159764
+102 101.0 -5.01779940929 -0.0295241620384
+103 102.0 -4.98876245596 -0.0285384716647
+104 103.0 -4.96074452928 -0.0274865961525
+105 104.0 -4.93381032851 -0.0263715306507
+106 105.0 -4.90802148862 -0.0251964075427
+107 106.0 -4.88343644644 -0.0239644895038
+108 107.0 -4.86011031397 -0.0226791622487
+109 108.0 -4.83809475914 -0.0213439269874
+110 109.0 -4.81743789414 -0.0199623926068
+111 110.0 -4.79818417182 -0.0185382675969
+112 111.0 -4.78037429015 -0.0170753517415
+113 112.0 -4.76404510526 -0.0155775275918
+114 113.0 -4.74922955293 -0.0140487517461
+115 114.0 -4.73595657904 -0.0124930459538
+116 115.0 -4.7242510789 -0.0109144880672
+117 116.0 -4.71413384576 -0.00931720286182
+118 117.0 -4.70562152846 -0.00770535274772
+119 118.0 -4.69872659855 -0.00608312839491
+120 119.0 -4.69345732669 -0.00445473929448
+121 120.0 -4.6898177686 -0.00282440427898
+122 121.0 -4.68780776044 -0.00119634202478
+123 122.0 -4.68742292374 0.000425238440527
+124 123.0 -4.68865467977 0.0020361472029
+125 124.0 -4.69149027336 0.00363222287571
+126 125.0 -4.69591280613 0.00520934194008
+127 126.0 -4.70190127895 0.0067634279891
+128 127.0 -4.70943064365 0.00829046085365
+129 128.0 -4.71847186379 0.00978648558781
+130 129.0 -4.72899198423 0.0112476212922
+131 130.0 -4.74095420961 0.0126700697544
+132 131.0 -4.7543179912 0.0140501238848
+133 132.0 -4.76903912216 0.0153841759291
+134 133.0 -4.78506984093 0.0166687254364
+135 134.0 -4.80235894235 0.0179003869651
+136 135.0 -4.82085189642 0.0190758975074
+137 136.0 -4.84049097437 0.0201921236154
+138 137.0 -4.86121538156 0.0212460682116
+139 138.0 -4.88296139722 0.0222348770682
+140 139.0 -4.90566252032 0.0231558449399
+141 140.0 -4.9292496215 0.0240064213355
+142 141.0 -4.95365110055 0.0247842159162
+143 142.0 -4.97879304911 0.0254870035063
+144 143.0 -5.00459941816 0.0261127287073
+145 144.0 -5.03099218995 0.0266595101027
+146 145.0 -5.05789155387 0.0271256440463
+147 146.0 -5.08521608601 0.0275096080241
+148 147.0 -5.11288293171 0.0278100635833
+149 148.0 -5.14080799097 0.0280258588231
+150 149.0 -5.16890610603 0.0281560304409
+151 150.0 -5.19709125082 0.0281998053314
+152 151.0 -5.22527672173 0.0281566017347
+153 152.0 -5.25337532941 0.0280260299338
+154 153.0 -5.28129959092 0.0278078924984
+155 154.0 -5.30896192196 0.0275021840788
+156 155.0 -5.33627482866 0.0271090907491
+157 156.0 -5.36315109852 0.0266289889046
+158 157.0 -5.38950398994 0.026062443717
+159 158.0 -5.41524742011 0.0254102071518
+160 159.0 -5.44029615055 0.0246732155563
+161 160.0 -5.46456597019 0.0238525868232
+162 161.0 -5.48797387528 0.0229496171403
+163 162.0 -5.51043824587 0.0219657773349
+164 163.0 -5.53187901853 0.0209027088232
+165 164.0 -5.55221785468 0.0197622191769
+166 165.0 -5.57137830441 0.0185462773191
+167 166.0 -5.58928596528 0.0172570083629
+168 167.0 -5.60586863576 0.0158966881068
+169 168.0 -5.62105646307 0.0144677372016
+170 169.0 -5.63478208493 0.0129727150063
+171 170.0 -5.64698076513 0.0114143131467
+172 171.0 -5.65759052241 0.00979534879707
+173 172.0 -5.66655225257 0.00811875770075
+174 173.0 -5.67380984344 0.00638758694863
+175 174.0 -5.67931028251 0.00460498753534
+176 175.0 -5.68300375706 0.00277420671195
+177 176.0 -5.68484374646 0.000898580155594
+178 177.0 -5.68478710669 -0.00101847602368
+179 178.0 -5.68279414663 -0.00297347341791
+180 179.0 -5.67882869631 -0.00496285957718
+181 180.0 -5.67285816674 -0.00698302636509
+182 181.0 -5.6648536014 -0.00903031839234
+183 182.0 -5.65478971926 -0.0111010415069
+184 183.0 -5.64264494925 -0.0131914713189
+185 184.0 -5.62840145627 -0.0152978617389
+186 185.0 -5.6120451586 -0.017416453508
+187 186.0 -5.59356573683 -0.0195434826976
+188 187.0 -5.57295663425 -0.0216751891584
+189 188.0 -5.55021504898 -0.0238078248974
+190 189.0 -5.52534191754 -0.0259376623617
+191 190.0 -5.4983418904 -0.0280610026087
+192 191.0 -5.46922329932 -0.0301741833429
+193 192.0 -5.43799811672 -0.0322735868002
+194 193.0 -5.40468190731 -0.0343556474589
+195 194.0 -5.36929377207 -0.0364168595607
+196 195.0 -5.33185628476 -0.0384537844225
+197 196.0 -5.29239542138 -0.0404630575223
+198 197.0 -5.25094048245 -0.0424413953416
+199 198.0 -5.20752400881 -0.0443856019501
+200 199.0 -5.16218169074 -0.0462925753151
+201 200.0 -5.11495227114 -0.0481593133234
+202 201.0 -5.06587744261 -0.0499829195012
+203 202.0 -5.01500173918 -0.0517606084187
+204 203.0 -4.96237242264 -0.0534897107689
+205 204.0 -4.90803936404 -0.055167678109
+206 205.0 -4.85205492059 -0.0567920872546
+207 206.0 -4.79447380837 -0.0583606443179
+208 207.0 -4.73535297113 -0.0598711883816
+209 208.0 -4.6747514457 -0.0613216948024
+210 209.0 -4.61273022413 -0.0627102781377
+211 210.0 -4.54935211328 -0.0640351946902
+212 211.0 -4.4846815919 -0.0652948446678
+213 212.0 -4.41878466581 -0.0664877739558
+214 213.0 -4.35172872155 -0.0676126754981
+215 214.0 -4.28358237872 -0.0686683902899
+216 215.0 -4.21441534165 -0.0696539079796
+217 216.0 -4.14429825061 -0.070568367083
+218 217.0 -4.07330253293 -0.0714110548116
+219 218.0 -4.00150025463 -0.0721814065199
+220 219.0 -3.92896397266 -0.072879004774
+221 220.0 -3.85576658834 -0.0735035780505
+222 221.0 -3.78198120223 -0.0740549990687
+223 222.0 -3.70768097086 -0.0745332827669
+224 223.0 -3.63293896573 -0.0749385839297
+225 224.0 -3.5578280347 -0.0752711944755
+226 225.0 -3.48242066643 -0.075531540416
+227 226.0 -3.4067888579 -0.0757201784978
+228 227.0 -3.33100398548 -0.0758377925383
+229 228.0 -3.25513667985 -0.0758851894693
+230 229.0 -3.17925670492 -0.0758632951011
+231 230.0 -3.10343284123 -0.0757731496217
+232 231.0 -3.02773277394 -0.0756159028468
+233 232.0 -2.95222298559 -0.0753928092342
+234 233.0 -2.87696865416 -0.0751052226812
+235 234.0 -2.80203355622 -0.0747545911191
+236 235.0 -2.72747997572 -0.0743424509249
+237 236.0 -2.65336861841 -0.073870421164
+238 237.0 -2.57975853208 -0.0733401976859
+239 238.0 -2.50670703279 -0.0727535470871
+240 239.0 -2.4342696372 -0.0721123005638
+241 240.0 -2.36250000104 -0.0714183476691
+242 241.0 -2.29144986396 -0.0706736299971
+243 242.0 -2.22116900065 -0.0698801348102
+244 243.0 -2.15170517837 -0.0690398886302
+245 244.0 -2.0831041209 -0.0681549508121
+246 245.0 -2.01540947892 -0.067227407119
+247 246.0 -1.94866280684 -0.0662593633171
+248 247.0 -1.88290354594 -0.0652529388105
+249 248.0 -1.81816901389 -0.0642102603325
+250 249.0 -1.7544944006 -0.0631334557138
+251 250.0 -1.69191277013 -0.0620246477436
+252 251.0 -1.6304550688 -0.0608859481423
+253 252.0 -1.57015013921 -0.059719451663
+254 253.0 -1.51102474011 -0.0585272303374
+255 254.0 -1.45310357187 -0.0573113278834
+256 255.0 -1.39640930762 -0.0560737542899
+257 256.0 -1.34096262951 -0.054816480593
+258 257.0 -1.28678227024 -0.0535414338587
+259 258.0 -1.23388505944 -0.0522504923856
+260 259.0 -1.18228597475 -0.0509454811405
+261 260.0 -1.13199819729 -0.0496281674395
+262 261.0 -1.08303317143 -0.0483002568854
+263 262.0 -1.03540066834 -0.046963389572
+264 263.0 -0.989108853377 -0.0456191365664
+265 264.0 -0.944164356669 -0.0442689966762
+266 265.0 -0.900572346917 -0.0429143935113
+267 266.0 -0.858336607922 -0.0415566728462
+268 267.0 -0.817459617608 -0.0401971002897
+269 268.0 -0.777942629232 -0.0388368592669
+270 269.0 -0.739785754436 -0.0374770493178
+271 270.0 -0.702988047855 -0.0361186847156
+272 271.0 -0.667547592939 -0.0347626934072
+273 272.0 -0.633461588675 -0.0334099162773
+274 273.0 -0.600726436882 -0.0320611067354
+275 274.0 -0.569337829756 -0.0307169306269
+276 275.0 -0.539290837348 -0.0293779664649
+277 276.0 -0.510579994645 -0.0280447059807
+278 277.0 -0.483199387947 -0.0267175549897
+279 278.0 -0.457142740217 -0.0253968345674
+280 279.0 -0.432403495111 -0.0240827825309
+281 280.0 -0.408974899365 -0.0227755552188
+282 281.0 -0.386850083265 -0.0214752295619
+283 282.0 -0.366022138902 -0.020181805438
+284 283.0 -0.346484195932 -0.0188952082997
+285 284.0 -0.328229494574 -0.0176152920667
+286 285.0 -0.311251455597 -0.0163418422722
+287 286.0 -0.295543747024 -0.0150745794496
+288 287.0 -0.28110034735 -0.0138131627512
+289 288.0 -0.267915605017 -0.0125571937823
+290 289.0 -0.255984293962 -0.011306220639
+291 290.0 -0.245301665026 -0.0100597421363
+292 291.0 -0.235863493049 -0.00881721220956
+293 292.0 -0.22766611948 -0.00757804447631
+294 293.0 -0.220706490355 -0.00634161694135
+295 294.0 -0.214982189503 -0.00510727682957
+296 295.0 -0.210491466861 -0.00387434552992
+297 296.0 -0.207233261801 -0.00264212363344
+298 297.0 -0.205207221373 -0.00140989604849
+299 298.0 -0.204413713408 -0.00017693717569
+300 299.0 -0.204853834414 0.0010574838751
+301 300.0 -0.206529412255 0.00229409804323
+302 301.0 -0.209443003569 0.00353363106913
+303 302.0 -0.213597885954 0.00477679825726
+304 303.0 -0.218998044922 0.00602429926791
+305 304.0 -0.22564815567 0.00727681295572
+306 305.0 -0.23355355972 0.00853499227222
+307 306.0 -0.2427202365 0.00979945924997
+308 307.0 -0.253154769958 0.0110708000854
+309 308.0 -0.264864310313 0.0123495603372
+310 309.0 -0.277856531075 0.0136362402565
+311 310.0 -0.292139581459 0.0149312902659
+312 311.0 -0.307722034364 0.0162351066015
+313 312.0 -0.324612830087 0.0175480271349
+314 313.0 -0.342821215943 0.0188703273888
+315 314.0 -0.362356682012 0.0202022167596
+316 315.0 -0.383228893218 0.0215438349636
+317 316.0 -0.405447617967 0.0228952487148
+318 317.0 -0.429022653586 0.0242564486517
+319 318.0 -0.45396374882 0.0256273465206
+320 319.0 -0.480280523637 0.0270077726275
+321 320.0 -0.507982386639 0.0283974735696
+322 321.0 -0.537078450328 0.029796110253
+323 322.0 -0.567577444555 0.0312032562068
+324 323.0 -0.59948762842 0.0326183962009
+325 324.0 -0.632816700956 0.0340409251716
+326 325.0 -0.667571710883 0.0354701474639
+327 326.0 -0.703758965776 0.0369052763923
+328 327.0 -0.741383940946 0.038345434125
+329 328.0 -0.780451188376 0.0397896518935
+330 329.0 -0.820964246018 0.0412368705304
+331 330.0 -0.862925547807 0.042685941334
+332 331.0 -0.906336334692 0.0441356272615
+333 332.0 -0.951196567028 0.045584604448
+334 333.0 -0.997504838648 0.0470314640498
+335 334.0 -1.04525829294 0.048474714408
+336 335.0 -1.09445254125 0.0499127835288
+337 336.0 -1.1450815839 0.0513440218749
+338 337.0 -1.1971377342 0.0527667054614
+339 338.0 -1.25061154564 0.0541790392498
+340 339.0 -1.30549174267 0.0555791608316
+341 340.0 -1.36176515529 0.0569651443923
+342 341.0 -1.41941665773 0.0583350049463
+343 342.0 -1.47842911151 0.0596867028317
+344 343.0 -1.53878331313 0.061018148454
+345 344.0 -1.60045794659 0.0623272072653
+346 345.0 -1.66342954101 0.0636117049668
+347 346.0 -1.72767243359 0.0648694329207
+348 347.0 -1.79315873807 0.0660981537565
+349 348.0 -1.85985831882 0.0672956071568
+350 349.0 -1.92773877092 0.0684595158069
+351 350.0 -1.99676540616 0.0695875914917
+352 351.0 -2.06690124527 0.0706775413231
+353 352.0 -2.13810701636 0.0717270740805
+354 353.0 -2.21034115987 0.0727339066469
+355 354.0 -2.28355983986 0.0736957705223
+356 355.0 -2.35771696194 0.0746104183955
+357 356.0 -2.43276419776 0.0754756307561
+358 357.0 -2.50865101613 0.0762892225281
+359 358.0 -2.58532472075 0.0770490497051
+360 359.0 -2.66273049463 0.0777530159679
+
+# Table of the potential and its negative derivative for frustrated beta sheet
+# (Note: Derivatives are in units of energy/radians, not energy/degrees.)
+# ./calc_dihedral_table.py 5.6 57.29577951308232 6 6.0 180 6 0.0 359 360
+
+FRUSTRATED_BETA
+N 360 DEGREES
+
+1 0.0 -2.55809068762 0.0731724739818
+2 1.0 -2.63154144494 0.0737195744566
+3 2.0 -2.70551060968 0.0742089966437
+4 3.0 -2.77993963883 0.074639023134
+5 4.0 -2.85476830901 0.0750080115297
+6 5.0 -2.92993479441 0.0753144003899
+7 6.0 -3.00537575069 0.0755567150326
+8 7.0 -3.08102640456 0.0757335731758
+9 8.0 -3.15682064892 0.0758436903983
+10 9.0 -3.23269114341 0.075885885404
+11 10.0 -3.30856942003 0.0758590850738
+12 11.0 -3.38438599377 0.0757623292865
+13 12.0 -3.46007047791 0.0755947754951
+14 13.0 -3.53555170381 0.0753557030426
+15 14.0 -3.61075784476 0.0750445172025
+16 15.0 -3.68561654392 0.0746607529305
+17 16.0 -3.76005504566 0.0742040783151
+18 17.0 -3.83400033034 0.0736742977129
+19 18.0 -3.907379252 0.0730713545594
+20 19.0 -3.98011867868 0.0723953338429
+21 20.0 -4.0521456351 0.0716464642332
+22 21.0 -4.12338744726 0.0708251198546
+23 22.0 -4.19377188857 0.0699318216967
+24 23.0 -4.26322732737 0.0689672386556
+25 24.0 -4.33168287509 0.0679321881993
+26 25.0 -4.39906853508 0.0668276366524
+27 26.0 -4.46531535141 0.0656546990963
+28 27.0 -4.53035555742 0.0644146388823
+29 28.0 -4.59412272358 0.0631088667546
+30 29.0 -4.65655190431 0.061738939584
+31 30.0 -4.71757978327 0.0603065587109
+32 31.0 -4.77714481686 0.0588135679005
+33 32.0 -4.83518737548 0.057261950911
+34 33.0 -4.89164988211 0.0556538286799
+35 34.0 -4.94647694795 0.0539914561312
+36 35.0 -4.99961550465 0.0522772186102
+37 36.0 -5.05101493277 0.0505136279528
+38 37.0 -5.10062718621 0.048703318195
+39 38.0 -5.14840691207 0.0468490409338
+40 39.0 -5.19431156578 0.0449536603471
+41 40.0 -5.23830152101 0.0430201478838
+42 41.0 -5.28034017422 0.0410515766363
+43 42.0 -5.3203940433 0.0390511154063
+44 43.0 -5.35843286021 0.0370220224793
+45 44.0 -5.39442965726 0.0349676391193
+46 45.0 -5.4283608467 0.0328913828015
+47 46.0 -5.46020629342 0.0307967401964
+48 47.0 -5.48994938059 0.028687259923
+49 48.0 -5.51757706789 0.0265665450883
+50 49.0 -5.54307994213 0.0244382456298
+51 50.0 -5.56645226024 0.0223060504811
+52 51.0 -5.58769198425 0.0201736795783
+53 52.0 -5.60680080825 0.0180448757265
+54 53.0 -5.62378417713 0.0159233963481
+55 54.0 -5.63865129702 0.0138130051308
+56 55.0 -5.6514151374 0.0117174635982
+57 56.0 -5.66209242462 0.00964052262251
+58 57.0 -5.67070362704 0.00758591390103
+59 58.0 -5.67727293157 0.00555734141841
+60 59.0 -5.6818282117 0.00355847291538
+61 60.0 -5.68440098698 0.00159293138608
+62 61.0 -5.68502637408 -0.000335713374531
+63 62.0 -5.68374302934 -0.00222395315148
+64 63.0 -5.68059308309 -0.0040683495974
+65 64.0 -5.67562206565 -0.00586554240548
+66 65.0 -5.66887882528 -0.00761225734683
+67 66.0 -5.66041543813 -0.00930531415106
+68 67.0 -5.65028711044 -0.0109416342099
+69 68.0 -5.63855207307 -0.0125182480831
+70 69.0 -5.6252714687 -0.0140323027883
+71 70.0 -5.61050923182 -0.0154810688529
+72 71.0 -5.59433196178 -0.0168619471125
+73 72.0 -5.57680878923 -0.0181724752358
+74 73.0 -5.5580112361 -0.019410333958
+75 74.0 -5.53801306959 -0.0205733530082
+76 75.0 -5.51689015031 -0.0216595167121
+77 76.0 -5.49472027505 -0.0226669692568
+78 77.0 -5.47158301441 -0.0235940196022
+79 78.0 -5.44755954575 -0.0244391460249
+80 79.0 -5.42273248172 -0.0252010002837
+81 80.0 -5.3971856949 -0.0258784113929
+82 81.0 -5.37100413881 -0.0264703889936
+83 82.0 -5.34427366574 -0.0269761263135
+84 83.0 -5.31708084192 -0.0273950027051
+85 84.0 -5.28951276022 -0.0277265857564
+86 85.0 -5.26165685114 -0.0279706329651
+87 86.0 -5.23360069216 -0.0281270929735
+88 87.0 -5.20543181621 -0.0281961063563
+89 88.0 -5.17723751951 -0.0281780059613
+90 89.0 -5.14910466934 -0.0280733167983
+91 90.0 -5.12111951208 -0.0278827554757
+92 91.0 -5.09336748214 -0.0276072291861
+93 92.0 -5.06593301201 -0.0272478342399
+94 93.0 -5.0388993441 -0.026805854151
+95 94.0 -5.01234834466 -0.0262827572773
+96 95.0 -4.98636032033 -0.0256801940208
+97 96.0 -4.96101383762 -0.0249999935924
+98 97.0 -4.93638554598 -0.0242441603499
+99 98.0 -4.91255000457 -0.0234148697145
+100 99.0 -4.88957951348 -0.0225144636776
+101 100.0 -4.86754394953 -0.0215454459053
+102 101.0 -4.84651060724 -0.0205104764546
+103 102.0 -4.8265440452 -0.01941236611
+104 103.0 -4.80770593836 -0.0182540703564
+105 104.0 -4.79005493648 -0.0170386830008
+106 105.0 -4.77364652914 -0.0157694294583
+107 106.0 -4.7585329176 -0.0144496597171
+108 107.0 -4.74476289391 -0.0130828410011
+109 108.0 -4.73238172744 -0.0116725501446
+110 109.0 -4.72143105919 -0.0102224657007
+111 110.0 -4.71194880414 -0.00873635979846
+112 111.0 -4.70396906182 -0.0072180897712
+113 112.0 -4.69752203541 -0.00567158957449
+114 113.0 -4.69263395945 -0.00410086101469
+115 114.0 -4.68932703648 -0.00250996480925
+116 115.0 -4.68761938265 -0.000903011500147
+117 116.0 -4.68752498248 0.00071584775762
+118 117.0 -4.68905365291 0.00234243051027
+119 118.0 -4.69221101668 0.00397253239976
+120 119.0 -4.69699848518 0.00560193661579
+121 120.0 -4.70341325069 0.00722642338265
+122 121.0 -4.71144828821 0.00884177945771
+123 122.0 -4.72109236669 0.0104438076188
+124 123.0 -4.73233006984 0.0120283361174
+125 124.0 -4.74514182625 0.0135912280748
+126 125.0 -4.75950394898 0.0151283907985
+127 126.0 -4.77538868431 0.0166357849963
+128 127.0 -4.79276426974 0.0181094338658
+129 128.0 -4.81159500092 0.0195454320375
+130 129.0 -4.83184130754 0.0209399543498
+131 130.0 -4.8534598378 0.0222892644342
+132 131.0 -4.87640355143 0.0235897230915
+133 132.0 -4.90062182095 0.0248377964369
+134 133.0 -4.92606054096 0.0260300637961
+135 134.0 -4.95266224518 0.0271632253326
+136 135.0 -4.98036623096 0.028234109388
+137 136.0 -5.00910869107 0.0292396795182
+138 137.0 -5.03882285221 0.0301770412082
+139 138.0 -5.06943912022 0.0310434482505
+140 139.0 -5.10088523142 0.0318363087705
+141 140.0 -5.13308640979 0.0325531908865
+142 141.0 -5.16596552963 0.0331918279898
+143 142.0 -5.19944328334 0.0337501236332
+144 143.0 -5.23343835383 0.0342261560164
+145 144.0 -5.26786759123 0.0346181820585
+146 145.0 -5.30264619353 0.0349246410472
+147 146.0 -5.33768789051 0.0351441578585
+148 147.0 -5.37290513082 0.0352755457383
+149 148.0 -5.40820927152 0.0353178086401
+150 149.0 -5.4435107698 0.0352701431151
+151 150.0 -5.4787193763 0.0351319397498
+152 151.0 -5.51374432971 0.0349027841491
+153 152.0 -5.54849455206 0.0345824574643
+154 153.0 -5.58287884436 0.0341709364636
+155 154.0 -5.61680608206 0.0336683931487
+156 155.0 -5.65018540988 0.0330751939177
+157 156.0 -5.68292643563 0.0323918982779
+158 157.0 -5.71493942249 0.0316192571138
+159 158.0 -5.74613547931 0.0307582105139
+160 159.0 -5.77642674856 0.029809885165
+161 160.0 -5.80572659147 0.0287755913197
+162 161.0 -5.83394976986 0.0276568193473
+163 162.0 -5.86101262442 0.0264552358763
+164 163.0 -5.8868332488 0.025172679541
+165 164.0 -5.91133165941 0.0238111563427
+166 165.0 -5.93442996024 0.0223728346376
+167 166.0 -5.95605250261 0.0208600397671
+168 167.0 -5.97612603931 0.0192752483425
+169 168.0 -5.99457987285 0.0176210822011
+170 169.0 -6.01134599757 0.015900302049
+171 170.0 -6.02635923519 0.014115800807
+172 171.0 -6.03955736358 0.0122705966784
+173 172.0 -6.05088123845 0.0103678259555
+174 173.0 -6.0602749078 0.00841073558436
+175 174.0 -6.06768571866 0.00640267550713
+176 175.0 -6.0730644163 0.00434709080102
+177 176.0 -6.07636523524 0.00224751363529
+178 177.0 -6.07754598232 0.000107555066143
+179 178.0 -6.07656811141 -0.00206910330914
+180 179.0 -6.07339678973 -0.00427871781763
+181 180.0 -6.06800095563 -0.00651749127408
+182 181.0 -6.06035336781 -0.00878158162059
+183 182.0 -6.05043064586 -0.0110671106207
+184 183.0 -6.03821330204 -0.0133701725859
+185 184.0 -6.02368576439 -0.0156868431131
+186 185.0 -6.00683639108 -0.0180131878107
+187 186.0 -5.98765747603 -0.0203452709919
+188 187.0 -5.96614524589 -0.0226791643135
+189 188.0 -5.94229984843 -0.025010955339
+190 189.0 -5.91612533236 -0.0273367560054
+191 190.0 -5.88762961878 -0.0296527109716
+192 191.0 -5.85682446433 -0.0319550058299
+193 192.0 -5.82372541626 -0.0342398751598
+194 193.0 -5.78835175943 -0.0365036104045
+195 194.0 -5.75072645562 -0.0387425675516
+196 195.0 -5.71087607524 -0.0409531746008
+197 196.0 -5.66883072166 -0.0431319387984
+198 197.0 -5.62462394846 -0.0452754536249
+199 198.0 -5.57829266983 -0.0473804055171
+200 199.0 -5.5298770643 -0.0494435803104
+201 200.0 -5.47942047235 -0.0514618693867
+202 201.0 -5.42696928781 -0.0534322755136
+203 202.0 -5.37257284377 -0.055351918363
+204 203.0 -5.316283293 -0.0572180396955
+205 204.0 -5.25815548345 -0.059028008202
+206 205.0 -5.19824682901 -0.0607793239895
+207 206.0 -5.13661717604 -0.0624696227052
+208 207.0 -5.0733286659 -0.0640966792879
+209 208.0 -5.00844559393 -0.0656584113417
+210 209.0 -4.94203426529 -0.0671528821253
+211 210.0 -4.87416284794 -0.0685783031513
+212 211.0 -4.80490122327 -0.0699330363936
+213 212.0 -4.7343208347 -0.0712155960973
+214 213.0 -4.66249453466 -0.0724246501921
+215 214.0 -4.58949643037 -0.0735590213066
+216 215.0 -4.51540172879 -0.0746176873849
+217 216.0 -4.44028658118 -0.0755997819067
+218 217.0 -4.3642279276 -0.0765045937139
+219 218.0 -4.28730334182 -0.0773315664459
+220 219.0 -4.20959087694 -0.0780802975905
+221 220.0 -4.13116891218 -0.0787505371538
+222 221.0 -4.0521160012 -0.0793421859574
+223 222.0 -3.97251072229 -0.0798552935693
+224 223.0 -3.89243153076 -0.0802900558785
+225 224.0 -3.81195661404 -0.0806468123209
+226 225.0 -3.73116374964 -0.0809260427693
+227 226.0 -3.65013016636 -0.0811283640964
+228 227.0 -3.56893240921 -0.0812545264246
+229 228.0 -3.48764620813 -0.0813054090744
+230 229.0 -3.4063463509 -0.0812820162266
+231 230.0 -3.32510656064 -0.0811854723104
+232 231.0 -3.24399937793 -0.081017017134
+233 232.0 -3.16309604794 -0.0807780007742
+234 233.0 -3.08246641287 -0.0804698782381
+235 234.0 -3.00217880976 -0.0800942039176
+236 235.0 -2.92229997393 -0.079652625851
+237 236.0 -2.84289494829 -0.0791468798106
+238 237.0 -2.76402699866 -0.0785787832348
+239 238.0 -2.68575753514 -0.0779502290223
+240 239.0 -2.60814603984 -0.077263179207
+241 240.0 -2.53125000097 -0.0765196585342
+242 241.0 -2.4551248533 -0.0757217479546
+243 242.0 -2.37982392531 -0.0748715780578
+244 243.0 -2.30539839282 -0.073971322463
+245 244.0 -2.23189723927 -0.0730231911866
+246 245.0 -2.15936722267 -0.072029424007
+247 246.0 -2.0878528491 -0.0709922838436
+248 247.0 -2.01739635293 -0.0699140501714
+249 248.0 -1.94803768347 -0.0687970124882
+250 249.0 -1.87981449824 -0.0676434638537
+251 250.0 -1.81276216256 -0.0664556945194
+252 251.0 -1.74691375554 -0.0652359856651
+253 252.0 -1.68230008218 -0.0639866032624
+254 253.0 -1.61894969164 -0.0627097920793
+255 254.0 -1.55688890134 -0.0614077698443
+256 255.0 -1.49614182687 -0.0600827215855
+257 256.0 -1.43673041741 -0.05873679416
+258 257.0 -1.37867449659 -0.0573720909874
+259 258.0 -1.32199180845 -0.0559906670036
+260 259.0 -1.26669806833 -0.0545945238457
+261 260.0 -1.21280701853 -0.0531856052829
+262 261.0 -1.1603304883 -0.0517657929031
+263 262.0 -1.1092784581 -0.0503369020679
+264 263.0 -1.05965912771 -0.0489006781451
+265 264.0 -1.01147898802 -0.0474587930279
+266 265.0 -0.964742896092 -0.0460128419505
+267 266.0 -0.919454153297 -0.0445643406057
+268 267.0 -0.875614586172 -0.0431147225719
+269 268.0 -0.833224629688 -0.0416653370554
+270 269.0 -0.792283412613 -0.0402174469521
+271 270.0 -0.752788844664 -0.038772227232
+272 271.0 -0.714737705101 -0.0373307636499
+273 272.0 -0.67812573245 -0.0358940517831
+274 273.0 -0.642947715028 -0.0344629963972
+275 274.0 -0.609197581934 -0.0330384111393
+276 275.0 -0.576868494182 -0.0316210185584
+277 276.0 -0.545952935658 -0.0302114504483
+278 277.0 -0.51644280357 -0.0288102485125
+279 278.0 -0.488329498068 -0.0274178653447
+280 279.0 -0.461604010741 -0.0260346657211
+281 280.0 -0.436257011655 -0.0246609281969
+282 281.0 -0.412278934657 -0.023296847002
+283 282.0 -0.389660060626 -0.0219425342253
+284 283.0 -0.368390598407 -0.0205980222818
+285 284.0 -0.348460763137 -0.01926326665
+286 285.0 -0.329860851704 -0.0179381488715
+287 286.0 -0.312581315078 -0.0166224797996
+288 287.0 -0.296612827279 -0.015316003087
+289 288.0 -0.281946350734 -0.0140183988977
+290 289.0 -0.268573197826 -0.0127292878319
+291 290.0 -0.256485088408 -0.0114482350481
+292 291.0 -0.245674203109 -0.0101747545698
+293 292.0 -0.236133232246 -0.00890831375923
+294 293.0 -0.227855420178 -0.00764833794542
+295 294.0 -0.220834604976 -0.00639421518813
+296 295.0 -0.215065253253 -0.00514530116277
+297 296.0 -0.210542490065 -0.00390092414876
+298 297.0 -0.207262123775 -0.00266039010467
+299 298.0 -0.205220665805 -0.00142298781263
+300 299.0 -0.204415345223 -0.000187994074493
+301 300.0 -0.204844118104 0.00104532105779
+302 301.0 -0.206505671662 0.00227768903543
+303 302.0 -0.209399423126 0.0035098375675
+304 303.0 -0.213525513386 0.00474248539479
+305 304.0 -0.218884795423 0.00597633710062
+306 305.0 -0.225478817581 0.00721207797616
+307 306.0 -0.233309801737 0.00845036895769
+308 307.0 -0.242380616448 0.00969184165314
+309 308.0 -0.252694745185 0.0109370934746
+310 309.0 -0.264256249747 0.0121866828936
+311 310.0 -0.277069729013 0.0134411248358
+312 311.0 -0.291140273151 0.0147008862297
+313 312.0 -0.306473413467 0.0159663817261
+314 313.0 -0.323075068066 0.0172379696031
+315 314.0 -0.340951483513 0.018515947869
+316 315.0 -0.360109172702 0.0198005505798
+317 316.0 -0.380554849155 0.0210919443819
+318 317.0 -0.402295357987 0.0223902252933
+319 318.0 -0.425337603767 0.0236954157356
+320 319.0 -0.449688475549 0.0250074618263
+321 320.0 -0.475354769327 0.0263262309427
+322 321.0 -0.50234310819 0.0276515095659
+323 322.0 -0.530659860472 0.0289830014145
+324 323.0 -0.560311056174 0.0303203258736
+325 324.0 -0.59130230198 0.0316630167284
+326 325.0 -0.623638695141 0.0330105212056
+327 326.0 -0.657324736579 0.0343621993296
+328 327.0 -0.692364243488 0.0357173235955
+329 328.0 -0.728760261774 0.0370750789637
+330 329.0 -0.766514978659 0.0384345631765
+331 330.0 -0.805629635748 0.0397947873984
+332 331.0 -0.846104442913 0.04115467718
+333 332.0 -0.887938493289 0.042513073745
+334 333.0 -0.93112967973 0.0438687355968
+335 334.0 -0.975674613021 0.0452203404434
+336 335.0 -1.02156854218 0.0465664874361
+337 336.0 -1.06880527714 0.0479056997168
+338 337.0 -1.11737711415 0.0492364272675
+339 338.0 -1.16727476416 0.0505570500574
+340 339.0 -1.2184872845 0.051865881477
+341 340.0 -1.27100201415 0.0531611720525
+342 341.0 -1.32480451282 0.0544411134304
+343 342.0 -1.37987850417 0.055703842622
+344 343.0 -1.43620582346 0.0569474464963
+345 344.0 -1.49376636966 0.0581699665097
+346 345.0 -1.55253806258 0.05936940366
+347 346.0 -1.61249680493 0.0605437236497
+348 347.0 -1.67361644969 0.0616908622471
+349 348.0 -1.73586877296 0.0628087308273
+350 349.0 -1.79922345238 0.0638952220804
+351 350.0 -1.86364805137 0.0649482158688
+352 351.0 -1.92910800931 0.0659655852184
+353 352.0 -1.9955666377 0.066945202426
+354 353.0 -2.06298512258 0.0678849452658
+355 354.0 -2.13132253309 0.0687827032771
+356 355.0 -2.20053583647 0.0696363841147
+357 356.0 -2.27057991931 0.0704439199439
+358 357.0 -2.3414076153 0.0712032738621
+359 358.0 -2.41296973939 0.0719124463259
+360 359.0 -2.48521512832 0.072569481568
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/run.in.min b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/run.in.min
new file mode 100644
index 000000000..88ff31635
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/run.in.min
@@ -0,0 +1,25 @@
+# -- Init section --
+
+include system.in.init
+
+# -- Atom definition section --
+
+read_data system.data
+
+# -- Settings Section --
+
+include system.in.settings
+
+# Optional: Make sure the pairwise energies look reasonable:
+pair_write 1 4 1001 r 0.00000000001 5.05 test_chap-B.dat C-B 0 0
+pair_write 2 4 1001 r 0.00000000001 5.05 test_chap-L.dat C-L 0 0
+pair_write 3 4 1001 r 0.00000000001 5.05 test_chap-N.dat C-N 0 0
+
+
+# -- Run section --
+
+dump 1 all custom 50 traj_min.lammpstrj id mol type x y z ix iy iz
+
+minimize 1.0e-5 1.0e-7 500 2000
+
+write_data system_after_min.data
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/run.in.nvt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/run.in.nvt
new file mode 100644
index 000000000..01b156a2a
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+chaperonin/run.in.nvt
@@ -0,0 +1,48 @@
+# -- Init Section --
+
+include system.in.init
+
+# -- Atom Definition Section --
+
+# I you want to be careful, you can minimize the system first.
+# (Try using "run.in.min" and uncomment the line below.)
+# read_data system_after_min.data
+
+read_data system.data
+
+# -- Settings Section --
+
+include system.in.settings
+
+# -- Run Section --
+
+
+timestep 0.025
+dump 1 all custom 50000 traj_nvt.lammpstrj id mol type x y z ix iy iz
+
+# To use Langevin dynamics in LAMMPS you need both "fix langevin" and "fix nve".
+# (See http://lammps.sandia.gov/doc/fix_langevin.html for details.)
+
+# Keep the chaperonin fixed. Only let the protein move.
+
+fix fxlan proteins langevin 0.25 0.25 1.0 48279
+fix fxnve proteins nve
+
+# Notes:
+# The temperature is in reduced units and is set to 0.25
+# which is the folding temperature for the frustrated protein
+# The inverse-damping-rate "damp" (which has units of time) is set to 1.0,
+# as it was in the paper. (Hopefully folding times should be similar.)
+# (See http://lammps.sandia.gov/doc/fix_langevin.html)
+
+
+thermo_style custom step temp pe etotal press vol epair ebond eangle edihed
+thermo_modify norm no #(report total energy not energy / num_atoms)
+thermo 50000 #(time interval for printing out "thermo" data)
+
+#restart 100000000 restart_nvt
+
+run 1000000000
+
+write_data system_after_nvt.data
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/README.txt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/README.txt
new file mode 100644
index 000000000..d934e3ab6
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/README.txt
@@ -0,0 +1,38 @@
+# This directory demonstrates how to run a long simulation of
+# the "frustrated" coarse-grained protein in the presence of one
+# or more coarse-graine small ("mini") chaperones (R=3, h=0.6) as described in:
+#
+# AI Jewett and J-E Shea, J. Mol. Biol, Vol 363(5), (2006)
+# and earlier in:
+# AI Jewett, A Baumketner and J-E Shea, PNAS, 101 (36), 13192-13197, (2004)
+#
+# Because this process takes a long time (even with the help of the chaperone)
+# I save the data relatively infrequently.
+#
+# Note: In the 2006 paper, only one protein and one chaperone was simulated.
+# In this example, 8 proteins and 8 chaperones were simulated.
+#
+# Note: In this case, the chaperones appear to catalyze aggregation.
+# This is due to an artifact in the protein model. That model
+# was not designed to study aggregation. However the simulation
+# is suitable for making pretty pictures (to show off moltemplate).
+#
+# -------- REQUIREMENTS: ---------
+# 1) This example requires the "USER-MISC" package. (Use "make yes-USER-MISC")
+# http://lammps.sandia.gov/doc/Section_start.html#start_3
+# 2) It also may require additional features and bug fixes for LAMMPS.
+# be sure to download and copy the "additional_lammps_code" from
+# http://moltemplate.org (upper-left corner menu)
+# 3) Unpack it
+# 4) copy the .cpp and .h files to the src folding of your lammps installation.
+# 5) Compile LAMMPS.
+
+-------------
+Instructions on how to build LAMMPS input files and
+run a short simulation are provided in other README files.
+
+step 1)
+README_setup.sh
+
+step2)
+README_run.sh
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/README_run.sh b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/README_run.sh
new file mode 100755
index 000000000..d5ae1fe5a
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/README_run.sh
@@ -0,0 +1,31 @@
+# You would probably run lammps this way:
+#
+# lmp_ubuntu -i run.in.nvt
+
+# The files "run.in.min", and "run.in.nvt" are LAMMPS input scripts which refer
+# to the input scripts & data files you created earlier when you ran moltemplate
+# system.in.init, system.in.settings, system.data
+
+
+
+
+# -----------------------------------
+
+
+
+LAMMPS_COMMAND="lmp_mpi"
+
+# Here "$LAMMPS_BINARY" is the name of the command you use to invoke lammps
+# (such as lmp_ubuntu, lmp_mac_mpi, lmp_cygwin etc...). Change if necessary.
+
+# Run lammps using the following 3 commands:
+
+"$LAMMPS_COMMAND" -i run.in.min # minimize (OPTIONAL)
+"$LAMMPS_COMMAND" -i run.in.nvt # production run
+
+# Alternately, if you have MPI installed, try something like this:
+
+#NUMPROCS=4
+#mpirun -np $NUMPROCS "$LAMMPS_COMMAND" -i run.in.min # minimize (OPTIONAL)
+#mpirun -np $NUMPROCS "$LAMMPS_COMMAND" -i run.in.nvt # production run
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/README_setup.sh b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/README_setup.sh
new file mode 100755
index 000000000..042f73a28
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/README_setup.sh
@@ -0,0 +1,24 @@
+# Use these commands to generate the LAMMPS input script and data file
+# (and other auxilliary files):
+
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh -overlay-dihedrals system.lt
+
+ # This will generate various files with names ending in *.in* and *.data.
+ # These files are the input files directly read by LAMMPS. Move them to
+ # the parent directory (or wherever you plan to run the simulation).
+
+ mv -f system.in* system.data ../
+ cp -r table*.dat ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/README_visualize.txt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/README_visualize.txt
new file mode 100644
index 000000000..a3e3ed620
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0}
+ pbc box -shiftcenterrel {0.0 0.15 0.0}
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/images/protein2x2x2+minichaperones2x2x2_t=0tau_LR.jpg b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/images/protein2x2x2+minichaperones2x2x2_t=0tau_LR.jpg
new file mode 100644
index 000000000..c62a881b2
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/images/protein2x2x2+minichaperones2x2x2_t=0tau_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/images/protein2x2x2+minichaperones2x2x2_t=67500tau_LR.jpg b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/images/protein2x2x2+minichaperones2x2x2_t=67500tau_LR.jpg
new file mode 100644
index 000000000..38ef54396
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/images/protein2x2x2+minichaperones2x2x2_t=67500tau_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/moltemplate_files/1beadFrustrated.lt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/moltemplate_files/1beadFrustrated.lt
new file mode 100644
index 000000000..e43026ba9
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/moltemplate_files/1beadFrustrated.lt
@@ -0,0 +1,216 @@
+# This file defines the "frustrated" coarse-grained protein model used in:
+# AI Jewett, A Baumketner and J-E Shea, PNAS, 101 (36), 13192-13197, (2004)
+# (http://www.pnas.org/content/101/36/13192)
+
+
+1beadFrustrated {
+
+ # There are 3 atom types (referred to above as B, L, and N)
+ # Define their masses:
+
+ write_once("Data Masses") {
+ @atom:B 1.0
+ @atom:L 1.0
+ @atom:N 1.0
+ }
+
+ # AtomID MoleculeID AtomType Charge X Y Z
+
+ write('Data Atoms') {
+ $atom:a1 $mol @atom:L 0.0 -0.92636654 -1.8409904 -2.1482679
+ $atom:a2 $mol @atom:B 0.0 -0.57313354 -1.0670787 -1.6182341
+ $atom:a3 $mol @atom:L 0.0 -0.85707399 -1.2358703 -0.69350966
+ $atom:a4 $mol @atom:B 0.0 -0.44231274 -0.4584993 -0.23418709
+ $atom:a5 $mol @atom:L 0.0 -0.75081182 -0.62868078 0.69786737
+ $atom:a6 $mol @atom:B 0.0 -0.36201977 0.11619615 1.2249098
+ $atom:a7 $mol @atom:N 0.0 -0.63708237 -0.15973084 2.1723919
+ $atom:a8 $mol @atom:N 0.0 0.20516047 0.10417157 2.624901
+ $atom:a9 $mol @atom:B 0.0 0.57223743 0.44728103 1.7695617
+ $atom:a10 $mol @atom:L 0.0 0.77646279 -0.40630393 1.3168043
+ $atom:a11 $mol @atom:B 0.0 0.45475664 -0.2077937 0.40045721
+ $atom:a12 $mol @atom:L 0.0 0.72712495 -1.0397637 -0.087614951
+ $atom:a13 $mol @atom:B 0.0 0.36971183 -0.85840501 -0.9933019
+ $atom:a14 $mol @atom:L 0.0 0.74784336 -1.5700415 -1.5859217
+ $atom:a15 $mol @atom:N 0.0 0.43423905 -1.2758917 -2.4853429
+ $atom:a16 $mol @atom:N 0.0 0.70583191 -0.30726921 -2.4987711
+ $atom:a17 $mol @atom:N 0.0 -0.091688915 0.23323014 -2.2051358
+ $atom:a18 $mol @atom:B 0.0 -0.34243283 -0.035822049 -1.2644719
+ $atom:a19 $mol @atom:B 0.0 0.41961247 0.18475451 -0.65971014
+ $atom:a20 $mol @atom:L 0.0 0.51968465 1.1546791 -0.77877053
+ $atom:a21 $mol @atom:L 0.0 -0.40827985 1.2765273 -0.52550748
+ $atom:a22 $mol @atom:B 0.0 -0.368141 0.58090904 0.19152224
+ $atom:a23 $mol @atom:B 0.0 0.40327249 0.86101769 0.7336255
+ $atom:a24 $mol @atom:L 0.0 0.22707289 1.8326235 0.89673346
+ $atom:a25 $mol @atom:L 0.0 -0.66500182 1.7285809 1.2783166
+ $atom:a26 $mol @atom:B 0.0 -0.39205603 1.0475436 1.9328097
+ $atom:a27 $mol @atom:L 0.0 0.25339027 1.5246265 2.5388463
+ }
+
+ # bond-ID bond-Type atom-ID atom-ID
+
+ write('Data Bonds') {
+ $bond:b1 @bond:backbone $atom:a1 $atom:a2
+ $bond:b2 @bond:backbone $atom:a2 $atom:a3
+ $bond:b3 @bond:backbone $atom:a3 $atom:a4
+ $bond:b4 @bond:backbone $atom:a4 $atom:a5
+ $bond:b5 @bond:backbone $atom:a5 $atom:a6
+ $bond:b6 @bond:backbone $atom:a6 $atom:a7
+ $bond:b7 @bond:backbone $atom:a7 $atom:a8
+ $bond:b8 @bond:backbone $atom:a8 $atom:a9
+ $bond:b9 @bond:backbone $atom:a9 $atom:a10
+ $bond:b10 @bond:backbone $atom:a10 $atom:a11
+ $bond:b11 @bond:backbone $atom:a11 $atom:a12
+ $bond:b12 @bond:backbone $atom:a12 $atom:a13
+ $bond:b13 @bond:backbone $atom:a13 $atom:a14
+ $bond:b14 @bond:backbone $atom:a14 $atom:a15
+ $bond:b15 @bond:backbone $atom:a15 $atom:a16
+ $bond:b16 @bond:backbone $atom:a16 $atom:a17
+ $bond:b17 @bond:backbone $atom:a17 $atom:a18
+ $bond:b18 @bond:backbone $atom:a18 $atom:a19
+ $bond:b19 @bond:backbone $atom:a19 $atom:a20
+ $bond:b20 @bond:backbone $atom:a20 $atom:a21
+ $bond:b21 @bond:backbone $atom:a21 $atom:a22
+ $bond:b22 @bond:backbone $atom:a22 $atom:a23
+ $bond:b23 @bond:backbone $atom:a23 $atom:a24
+ $bond:b24 @bond:backbone $atom:a24 $atom:a25
+ $bond:b25 @bond:backbone $atom:a25 $atom:a26
+ $bond:b26 @bond:backbone $atom:a26 $atom:a27
+ }
+
+ # (3-body) Angles are specified below
+
+ # (4-body) Dihedrals must be defined explicitly for every quartet of atoms.
+ # (These interactions are not determined by atom type.)
+
+ # dihedral-ID dihedral-Type atom-ID atom-ID atom-ID atom-ID
+
+ write('Data Dihedrals') {
+
+ $dihedral:d1 @dihedral:beta $atom:a1 $atom:a2 $atom:a3 $atom:a4
+ $dihedral:d2 @dihedral:beta $atom:a2 $atom:a3 $atom:a4 $atom:a5
+ $dihedral:d3 @dihedral:beta $atom:a3 $atom:a4 $atom:a5 $atom:a6
+ $dihedral:d4 @dihedral:beta $atom:a4 $atom:a5 $atom:a6 $atom:a7
+
+ # Dihedral angle forces in the turn regions were switched off
+ # (in this model) so just I comment them out (and \ the variable names).
+ # \$dihedral:d5 \@dihedral:turn $atom:a5 $atom:a6 $atom:a7 $atom:a8
+ # \$dihedral:d6 \@dihedral:turn $atom:a6 $atom:a7 $atom:a8 $atom:a9
+ # \$dihedral:d7 \@dihedral:turn $atom:a7 $atom:a8 $atom:a9 $atom:a10
+
+ $dihedral:d8 @dihedral:beta $atom:a8 $atom:a9 $atom:a10 $atom:a11
+ $dihedral:d9 @dihedral:beta $atom:a9 $atom:a10 $atom:a11 $atom:a12
+ $dihedral:d10 @dihedral:beta $atom:a10 $atom:a11 $atom:a12 $atom:a13
+ $dihedral:d11 @dihedral:beta $atom:a11 $atom:a12 $atom:a13 $atom:a14
+ $dihedral:d12 @dihedral:beta $atom:a12 $atom:a13 $atom:a14 $atom:a15
+
+ # Dihedral angle forces in the turn regions were switched off
+ # (in this model) so just I comment them out (and \ the variable names).
+ # \$dihedral:d13 \@dihedral:turn $atom:a13 $atom:a14 $atom:a15 $atom:a16
+ # \$dihedral:d14 \@dihedral:turn $atom:a14 $atom:a15 $atom:a16 $atom:a17
+
+ $dihedral:d15 @dihedral:alpha $atom:a15 $atom:a16 $atom:a17 $atom:a18
+ $dihedral:d16 @dihedral:alpha $atom:a16 $atom:a17 $atom:a18 $atom:a19
+ $dihedral:d17 @dihedral:alpha $atom:a17 $atom:a18 $atom:a19 $atom:a20
+ $dihedral:d18 @dihedral:alpha $atom:a18 $atom:a19 $atom:a20 $atom:a21
+ $dihedral:d19 @dihedral:alpha $atom:a19 $atom:a20 $atom:a21 $atom:a22
+ $dihedral:d20 @dihedral:alpha $atom:a20 $atom:a21 $atom:a22 $atom:a23
+ $dihedral:d21 @dihedral:alpha $atom:a21 $atom:a22 $atom:a23 $atom:a24
+ $dihedral:d22 @dihedral:alpha $atom:a22 $atom:a23 $atom:a24 $atom:a25
+ $dihedral:d23 @dihedral:alpha $atom:a23 $atom:a24 $atom:a25 $atom:a26
+ $dihedral:d24 @dihedral:alpha $atom:a24 $atom:a25 $atom:a26 $atom:a27
+ }
+
+ # All consecutively bonded triplets of atoms same 3-body bond-angle
+ # interaction parameters. Of coarse, we could specify them all explicitly
+ # (as we did for the dihedrals above), but I wanted to show how to specify
+ # angles by atom type instead. (You can do this for dihedrals & impropers
+ # also.)
+
+ # angle-Type atom-Type atom-Type atom-Type bond-Type bond-Type
+
+ write_once('Data Angles By Type') {
+ @angle:backbone @atom:* @atom:* @atom:* @bond:* @bond:*
+ }
+
+ # (The "*" is a wildcard character. I use "*" to denote any atom-type or
+ # bond-type which is defined within the current namespace: 1beadFrustrated)
+
+
+ # 2-body (non-bonded) interactions:
+ #
+ # Uij(r) = 4*eps_ij * (K*(sig_ij/r)^12 + L*(sig_ij/r)^6)
+ #
+ # i j pairstylename eps sig K L
+ #
+ write_once("In Settings") {
+ pair_coeff @atom:B @atom:B lj/charmm/coul/charmm/inter 1.0 1.0 1 -1
+ pair_coeff @atom:B @atom:L lj/charmm/coul/charmm/inter 0.5833333333 1.0 1 0
+ pair_coeff @atom:B @atom:N lj/charmm/coul/charmm/inter 0.6666666667 1.0 1 0
+ pair_coeff @atom:L @atom:L lj/charmm/coul/charmm/inter 0.1666666667 1.0 1 1
+ pair_coeff @atom:L @atom:N lj/charmm/coul/charmm/inter 0.25 1.0 1 0
+ pair_coeff @atom:N @atom:N lj/charmm/coul/charmm/inter 0.3333333333 1.0 1 0
+ }
+
+
+ # 2-body (bonded) interactions:
+ #
+ # Ubond(r) = (k/2)*(r-0)^2
+ #
+ # The corresponding command is:
+ #
+ # bond-Type bondstylename k r0
+
+ write_once("In Settings") {
+ bond_coeff @bond:backbone harmonic 100.0 1.0
+ }
+
+ # 3-body interactions in this example are listed by atomType and bondType
+ # The atomIDs involved are determined automatically. The forumula used is:
+ #
+ # Uangle(theta) = (k/2)*(theta-theta0)^2
+ # (k in kcal/mol/rad^2, theta0 in degrees)
+ #
+ # angle-Type anglestylename k theta0
+
+ write_once("In Settings") {
+ angle_coeff @angle:backbone harmonic 13.3333333333 105.0
+ }
+
+
+ # We use tabular dihedral potentials to implement the dihedral forces.
+ # (Actually there is a way to use Fourier series, using multiple charmm
+ # style dihedral interactions, but it's slower and messier.)
+
+ write_once("In Settings") {
+ # style file keyword
+ dihedral_coeff @dihedral:alpha table table_dihedral_frustrated.dat FRUSTRATED_ALPHA
+ dihedral_coeff @dihedral:beta table table_dihedral_frustrated.dat FRUSTRATED_BETA
+ # No need to specify dihedral interactions in the turn regions. (none exist)
+ }
+
+ write_once("In Settings") {
+ # Optional: define the atoms in the "proteins" group
+ group proteins type @atom:B
+ group proteins type @atom:L
+ group proteins type @atom:N
+ }
+
+ # LAMMPS has many available force field styles (and atom styles).
+ # Here, we pick the ones which work well for this molecular model:
+
+ write_once("In Init") {
+ # --- Default options for the "1BeadFrustrated" protein model ---
+ # --- (These can be overridden later.) ---
+ units lj
+ atom_style full
+ bond_style hybrid harmonic
+ angle_style hybrid harmonic
+ dihedral_style hybrid table spline 360
+ pair_style hybrid lj/charmm/coul/charmm/inter es4k4l maxmax 3.5 4.0
+ pair_modify mix arithmetic
+ special_bonds lj 0.0 0.0 1.0 #(turn on "1-4" interactions)
+ }
+
+} # 1beadFrustrated
+
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/moltemplate_files/1beadFrustrated_variants.lt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/moltemplate_files/1beadFrustrated_variants.lt
new file mode 100644
index 000000000..54e2de437
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/moltemplate_files/1beadFrustrated_variants.lt
@@ -0,0 +1,85 @@
+import "1beadFrustrated.lt"
+
+
+# Alternate starting conformation (same molecule):
+
+
+1beadMisfolded inherits 1beadFrustrated {
+
+ # This molecule "inherits" all of its features from "1beadFrustrated".
+ # Here we override the atomic positions with new coordinates:
+
+ # AtomID MoleculeID AtomType Charge X Y Z
+
+ write("Data Atoms") {
+ $atom:a1 $mol @atom:L 0.0 -0.69801399 -0.22114168 -1.9464876
+ $atom:a2 $mol @atom:B 0.0 -0.40921658 -0.027063664 -1.0033251
+ $atom:a3 $mol @atom:L 0.0 0.10259348 0.80836418 -1.0737085
+ $atom:a4 $mol @atom:B 0.0 0.25857916 1.0054984 -0.11621451
+ $atom:a5 $mol @atom:L 0.0 0.8258629 1.8325549 -0.18529135
+ $atom:a6 $mol @atom:B 0.0 0.91366257 2.1950317 0.74175977
+ $atom:a7 $mol @atom:N 0.0 1.4399539 1.554238 1.2994409
+ $atom:a8 $mol @atom:N 0.0 0.73372573 1.0161012 1.7397275
+ $atom:a9 $mol @atom:B 0.0 0.26608782 0.65302497 0.94353938
+ $atom:a10 $mol @atom:L 0.0 0.97442305 0.13574211 0.50586398
+ $atom:a11 $mol @atom:B 0.0 0.35889617 -0.18247555 -0.1764186
+ $atom:a12 $mol @atom:L 0.0 0.87151735 -0.77260824 -0.75240916
+ $atom:a13 $mol @atom:B 0.0 0.047726486 -1.0530682 -1.1902704
+ $atom:a14 $mol @atom:L 0.0 0.34530697 -1.7476773 -1.8393331
+ $atom:a15 $mol @atom:N 0.0 0.65865186 -2.45948 -1.2167056
+ $atom:a16 $mol @atom:N 0.0 -0.16534524 -2.6219442 -0.67112167
+ $atom:a17 $mol @atom:N 0.0 -0.010590421 -2.2445242 0.24748633
+ $atom:a18 $mol @atom:B 0.0 0.18135771 -1.2564919 0.1767523
+ $atom:a19 $mol @atom:B 0.0 -0.57472665 -0.82852797 -0.27027791
+ $atom:a20 $mol @atom:L 0.0 -1.3967448 -1.0516787 0.24247346
+ $atom:a21 $mol @atom:L 0.0 -1.003428 -0.85642681 1.1107555
+ $atom:a22 $mol @atom:B 0.0 -0.25156735 -0.3182346 0.74262946
+ $atom:a23 $mol @atom:B 0.0 -0.61751956 0.30115562 0.070426493
+ $atom:a24 $mol @atom:L 0.0 -1.3347934 0.83310182 0.52625934
+ $atom:a25 $mol @atom:L 0.0 -0.83315257 1.270904 1.2564086
+ $atom:a26 $mol @atom:B 0.0 -0.10469759 1.6988523 0.72597181
+ $atom:a27 $mol @atom:L 0.0 -0.57854905 2.3367737 0.11206868
+ }
+
+} # 1beadMisfolded
+
+
+1beadUnfolded inherits 1beadFrustrated {
+
+ # This molecule "inherits" all of its features from "1beadFrustrated"
+ # Here we override the atomic positions with new coordinates:
+
+ # AtomID MoleculeID AtomType Charge X Y Z
+
+ write('Data Atoms') {
+ $atom:a1 $mol @atom:L 0.0 -2.4 1.7 -0.0
+ $atom:a2 $mol @atom:B 0.0 -1.8 1.7 0.8
+ $atom:a3 $mol @atom:L 0.0 -1.2 2.5 0.8
+ $atom:a4 $mol @atom:B 0.0 -0.6 2.5 -0.0
+ $atom:a5 $mol @atom:L 0.0 0.0 1.7 -0.0
+ $atom:a6 $mol @atom:B 0.0 0.6 1.7 0.8
+ $atom:a7 $mol @atom:N 0.0 1.2 2.5 0.8
+ $atom:a8 $mol @atom:N 0.0 1.8 2.5 -0.0
+ $atom:a9 $mol @atom:B 0.0 2.4 1.7 -0.0
+ $atom:a10 $mol @atom:L 0.0 3.0 1.7 -0.8
+ $atom:a11 $mol @atom:B 0.0 3.0 0.7 -0.8
+ $atom:a12 $mol @atom:L 0.0 3.0 0.1 -0.0
+ $atom:a13 $mol @atom:B 0.0 3.8 -0.5 -0.0
+ $atom:a14 $mol @atom:L 0.0 3.8 -1.1 -0.8
+ $atom:a15 $mol @atom:N 0.0 3.0 -1.7 -0.8
+ $atom:a16 $mol @atom:N 0.0 3.0 -1.7 0.2
+ $atom:a17 $mol @atom:N 0.0 2.4 -2.5 0.2
+ $atom:a18 $mol @atom:B 0.0 1.8 -2.5 -0.6
+ $atom:a19 $mol @atom:B 0.0 1.2 -1.7 -0.6
+ $atom:a20 $mol @atom:L 0.0 0.6 -1.7 0.2
+ $atom:a21 $mol @atom:L 0.0 -0.0 -2.5 0.2
+ $atom:a22 $mol @atom:B 0.0 -0.6 -2.5 -0.6
+ $atom:a23 $mol @atom:B 0.0 -1.2 -1.7 -0.6
+ $atom:a24 $mol @atom:L 0.0 -1.8 -1.7 0.2
+ $atom:a25 $mol @atom:L 0.0 -2.4 -2.5 0.2
+ $atom:a26 $mol @atom:B 0.0 -3.0 -2.5 -0.6
+ $atom:a27 $mol @atom:L 0.0 -3.6 -1.7 -0.6
+ }
+
+} # 1beadUnfolded
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/moltemplate_files/generate_tables/calc_chaperone_table.py b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/moltemplate_files/generate_tables/calc_chaperone_table.py
new file mode 100755
index 000000000..4c787de56
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/moltemplate_files/generate_tables/calc_chaperone_table.py
@@ -0,0 +1,87 @@
+#!/usr/bin/env python
+
+# Calculate a table of pairwise energies and forces between atoms in the
+# protein and a chaperone provided in the supplemental materials section of:
+# AI Jewett, A Baumketner and J-E Shea, PNAS, 101 (36), 13192-13197, (2004)
+# This is stored in a tabulated force field with a singularity at a distance R.
+#
+# To calculate the table for interaction between
+# ...the chaperone and a hydrophobic bead (2004 PNAS paper), use this table:
+# ./calc_chaperone_table.py 1.0 1.0 6.0 0.475 0.0 5.9 1181
+# ...the chaperone and a hydrophilic bead (2004 PNAS paper), use this table:
+# ./calc_chaperone_table.py 1.0 1.0 6.0 0.0 0.0 5.9 1181
+# ...the chaperone and a hydrophobic bead (2006 JMB paper), use this table:
+# ./calc_chaperone_table.py 1.0 1.0 3.0 0.60 3.1 8.0 981 True
+# ...the chaperone and a hydrophilic bead (2006 JMB paper), use this table:
+# ./calc_chaperone_table.py 1.0 1.0 3.0 0.0 3.1 8.0 981 True
+
+from math import *
+import sys
+
+def U(r, eps, sigma, R, h):
+ #print('r='+str(r)+' eps='+str(eps)+' s='+str(sigma)+' R='+str(R)+' h='+str(h))
+ # Formula is undefined at r=0, but you can take the limit:
+ if r <= 0:
+ return 4.0*pi*R*R*4.0*eps*(pow((sigma/R), 12.0)
+ - h*pow((sigma/R), 6.0))
+ xp = sigma/(r+R)
+ xm = sigma/(r-R)
+ term10 = pow(xm, 10.0) - pow(xp, 10.0)
+ term4 = pow(xm, 4.0) - pow(xp, 4.0)
+ return 4.0*pi*eps*(R/r) * (0.2*term10 - 0.5*h*term4)
+
+def F(r, eps, sigma, R, h):
+ # Formula is undefined at r=0, but you can take the limit:
+ if r <= 0:
+ return 0.0
+ product_term_a = U(r, eps, sigma, R, h) / r
+ ixp = (r+R)/sigma
+ ixm = (r-R)/sigma
+ dix_dr = 1.0/sigma
+ term10 = (10.0/sigma)*(pow(ixm, -11.0) - pow(ixp, -11.0))
+ term4 = (4.0/sigma)*(pow(ixm, -5.0) - pow(ixp, -5.0))
+ product_term_b = 4.0*eps*pi*(R/r) * (0.2*term10 - 0.5*h*term4)
+ return product_term_a + product_term_b
+
+
+class InputError(Exception):
+ """ A generic exception object containing a string for error reporting.
+
+ """
+ def __init__(self, err_msg):
+ self.err_msg = err_msg
+ def __str__(self):
+ return self.err_msg
+ def __repr__(self):
+ return str(self)
+
+if len(sys.argv) < 8:
+ sys.stderr.write("Error: expected 7 arguments:\n"
+ "\n"
+ "Usage: "+sys.argv[0]+" epsilon sigma R h rmin rmax N\n\n")
+ sys.exit(-1)
+
+epsilon = float(sys.argv[1])
+sigma = float(sys.argv[2])
+R = float(sys.argv[3])
+h = float(sys.argv[4])
+rmin = float(sys.argv[5])
+rmax = float(sys.argv[6])
+N = int(sys.argv[7])
+
+subtract_Urcut = False
+if len(sys.argv) == 9:
+ subtract_Urcut = True
+rcut = rmax
+
+for i in range(0,N):
+ r = rmin + i*(rmax-rmin)/(N-1)
+ U_r = U(r, epsilon, sigma, R, h)
+ F_r = F(r, epsilon, sigma, R, h)
+ if subtract_Urcut:
+ U_r -= U(rcut, epsilon, sigma, R, h)
+ if (r >= rcut) or (i==N-1):
+ U_r = 0.0
+ F_r = 0.0
+ print(str(i+1)+' '+str(r)+' '+str(U_r)+' '+str(F_r))
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/moltemplate_files/generate_tables/calc_dihedral_table.py b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/moltemplate_files/generate_tables/calc_dihedral_table.py
new file mode 100755
index 000000000..907732fa1
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/moltemplate_files/generate_tables/calc_dihedral_table.py
@@ -0,0 +1,67 @@
+#!/usr/bin/env python
+
+# Calculate a table of dihedral angle interactions used in the alpha-helix
+# and beta-sheet regions of the frustrated protein model described in
+# provided in figure 8 of the supplemental materials section of:
+# AI Jewett, A Baumketner and J-E Shea, PNAS, 101 (36), 13192-13197, (2004)
+# Note that the "A" and "B" parameters were incorrectly reported to be
+# 5.4*epsilon and 6.0*epsilon. The values used were 5.6 and 6.0 epsilon.
+# The phiA and phiB values were 57.29577951308232 degrees (1 rad)
+# and 180 degrees, respectively. Both expA and expB were 6.0.
+#
+# To generate the table used for the alpha-helix (1 degree resolution) use this:
+# ./calc_dihedral_table.py 6.0 57.29577951308232 6 5.6 180 6 0.0 359 360
+# To generate the table used for the beta-sheets (1 degree resolution) use this:
+# ./calc_dihedral_table.py 5.6 57.29577951308232 6 6.0 180 6 0.0 359 360
+#
+# (If you're curious as to why I set the location of the minima at phi_alpha
+# to 1.0 radians (57.2957795 degrees), there was no particularly good reason.
+# I think the correct value turns out to be something closer to 50 degrees.)
+
+
+from math import *
+import sys
+
+
+# The previous version included the repulsive core term
+def U(phi, A, phiA, expA, B, phiB, expB, use_radians=False):
+ conv_units = pi/180.0
+ if use_radians:
+ conv_units = 1.0
+ termA = pow(cos(0.5*(phi-phiA)*conv_units), expA)
+ termB = pow(cos(0.5*(phi-phiB)*conv_units), expB)
+ return -A*termA - B*termB
+
+# The previous version included the repulsive core term
+def F(phi, A, phiA, expA, B, phiB, expB, use_radians=False):
+ conv_units = pi/180.0
+ if use_radians:
+ conv_units = 1.0
+ termA = (0.5*sin(0.5*(phi-phiA)*conv_units) *
+ expA * pow(cos(0.5*(phi-phiA)*conv_units), expA-1.0))
+ termB = (0.5*sin(0.5*(phi-phiB)*conv_units) *
+ expB * pow(cos(0.5*(phi-phiB)*conv_units), expB-1.0))
+ return -conv_units*(A*termA + B*termB)
+
+if len(sys.argv) != 10:
+ sys.stderr.write("Error: expected 9 arguments:\n"
+ "\n"
+ "Usage: "+sys.argv[0]+" A phiA expA B phiB expB phiMin phiMax N\n\n")
+ sys.exit(-1)
+
+A = float(sys.argv[1])
+phiA = float(sys.argv[2])
+expA = float(sys.argv[3])
+B = float(sys.argv[4])
+phiB = float(sys.argv[5])
+expB = float(sys.argv[6])
+phi_min = float(sys.argv[7])
+phi_max = float(sys.argv[8])
+N = int(sys.argv[9])
+
+for i in range(0,N):
+ phi = phi_min + i*(phi_max - phi_min)/(N-1)
+ U_phi = U(phi, A, phiA, expA, B, phiB, expB, use_radians=False)
+ F_phi = F(phi, A, phiA, expA, B, phiB, expB, use_radians=False)
+ print(str(i+1)+' '+str(phi)+' '+str(U_phi)+' '+str(F_phi))
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/moltemplate_files/minichaperone.lt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/moltemplate_files/minichaperone.lt
new file mode 100644
index 000000000..1d37823b7
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/moltemplate_files/minichaperone.lt
@@ -0,0 +1,41 @@
+# Here we define a trivial molecule containing only one particle.
+
+Minichaperone {
+
+ # atomID molID atomType charge x y z
+
+ write("Data Atoms") {
+ $atom:C $mol @atom:C 0.0 0.0 0.0 0.0
+ }
+
+ write_once("Data Masses") {
+ @atom:C 100.0
+ }
+
+ write_once("In Settings") {
+ # If for some reason there are multiple chaperones present,
+ # I assume that they interact repulsively (hence, L=0)
+
+ # i j pairStyle eps sig K L
+
+ pair_coeff @atom:C @atom:C lj/charmm/coul/charmm/inter 1.0 3.0 1 0
+
+ # Optional: define the atoms in the "chaperonins" group:
+ # (Defining a group for the chaperone makes it easy to immobilize it later.)
+
+ group chaperones type @atom:C
+ }
+
+ # Specify which pair_styles, and atom styles work well with
+ # this model. (Again this can be overridden later.)
+
+ write_once("In Init") {
+ units lj
+ atom_style full
+ pair_style hybrid lj/charmm/coul/charmm/inter es4k4l maxmax 8.0 9.0
+ }
+
+} # Minichaperone
+
+# We have not specified how this particle interacts with other particles
+# besides itself. Later on you must do this.
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/moltemplate_files/system.lt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/moltemplate_files/system.lt
new file mode 100644
index 000000000..8f8c37d08
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/moltemplate_files/system.lt
@@ -0,0 +1,72 @@
+write_once("Data Boundary") {
+ 0.0 80.0 xlo xhi
+ 0.0 80.0 ylo yhi
+ 0.0 80.0 zlo zhi
+}
+
+
+import "1beadFrustrated_variants.lt"
+import "minichaperone.lt"
+
+
+# Create 8 proteins and 8 chaperones (2x2x2 array):
+# NOTE: Below I create multiple proteins and multiple chaperones
+# to see what would happen. (I suspect nothing good. In the
+# 2006 paper, only 1 protein and 1 chaperone were present.)
+
+
+proteins = new 1beadUnfolded [2].move(40,0,0)
+ [2].move(0,40,0)
+ [2].move(0,0,40)
+
+chaperones = new Minichaperone [2].move(40,0,0)
+ [2].move(0,40,0)
+ [2].move(0,0,40)
+
+proteins[*][*][*].move(20,20,20) # to avoid overlap with the chaperones
+
+
+
+# If you only want 1 protein and 1 chaperone
+# then replace the lines above with:
+#
+# protein = new 1beadMisfolded
+# chaperone = new Minichaperone
+
+
+
+
+
+# ---- Now define interactions between the atoms in the protein ----
+# ---- (named "B", "L", "N") and the atom which represents the ----
+# ---- chaperone ("c"). These interactions are tabulated. ----
+
+write_once("In Settings") {
+ pair_coeff @atom:Minichaperone/C @atom:1beadFrustrated/B table table_minichaperone_h=0.6.dat CH_H0.6
+ pair_coeff @atom:Minichaperone/C @atom:1beadFrustrated/L table table_minichaperone_h=0.dat CH_H0
+ pair_coeff @atom:Minichaperone/C @atom:1beadFrustrated/N table table_minichaperone_h=0.dat CH_H0
+}
+
+# Note: If you want purely repulsive spheres (crowding, h=0.0)
+# instead of an attractive "hydrophobic" chaperone (h=0.6)
+# then replace "table_minichaperone_h=0_6.dat CH_H0_6"
+# with "table_minichaperone_h=0.dat CH_H0"
+# (... or just use an ordinary Lennard-Jones interaction
+# with sigma = 6.0 and epsilon near 0.0)
+
+
+# LAMMPS has many available force field styles (and atom styles). Here we
+# select the ones which work well for the full combine system. (This should
+# override any settings made in "1beadFrustrated.lt" or "minichaperone.lt")
+
+
+write_once("In Init") {
+ units lj
+ atom_style full
+ bond_style hybrid harmonic
+ angle_style hybrid harmonic
+ dihedral_style hybrid table spline 360
+ pair_style hybrid lj/charmm/coul/charmm/inter es4k4l maxmax 3.5 4.0 table spline 981
+ pair_modify mix arithmetic
+ special_bonds lj 0.0 0.0 1.0 #(turn on "1-4" interactions)
+}
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/moltemplate_files/table_dihedral_frustrated.dat b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/moltemplate_files/table_dihedral_frustrated.dat
new file mode 100644
index 000000000..d660fee30
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/moltemplate_files/table_dihedral_frustrated.dat
@@ -0,0 +1,735 @@
+# Table of the potential and its negative derivative for frustrated alpha helix
+# (Note: Derivatives are in units of energy/radians, not energy/degrees.)
+# ./calc_dihedral_table.py 6.0 57.29577951308232 6 5.6 180 6 0.0 359 360
+
+FRUSTRATED_ALPHA
+N 360 DEGREES
+
+1 0.0 -2.74081145103 0.0783990792662
+2 1.0 -2.81950869101 0.0789852583442
+3 2.0 -2.89876136749 0.0795096391909
+4 3.0 -2.97850675562 0.0799703813963
+5 4.0 -3.05868032959 0.0803657243943
+6 5.0 -3.13921584545 0.0806939935737
+7 6.0 -3.22004543014 0.0809536062381
+8 7.0 -3.30109967628 0.0811430773977
+9 8.0 -3.38230774267 0.0812610253741
+10 9.0 -3.46359746038 0.0813061772009
+11 10.0 -3.54489544401 0.0812773738039
+12 11.0 -3.62612720812 0.0811735749433
+13 12.0 -3.70721728841 0.0809938639029
+14 13.0 -3.78808936748 0.080737451911
+15 14.0 -3.86866640485 0.0804036822781
+16 15.0 -3.94887077101 0.0799920342374
+17 16.0 -4.02862438516 0.0795021264757
+18 17.0 -4.10784885622 0.0789337203415
+19 18.0 -4.18646562704 0.0782867227197
+20 19.0 -4.26439612115 0.0775611885609
+21 20.0 -4.34156189202 0.0767573230567
+22 21.0 -4.41788477419 0.0758754834523
+23 22.0 -4.49328703609 0.0749161804868
+24 23.0 -4.56769153408 0.0738800794563
+25 24.0 -4.64102186743 0.0727680008923
+26 25.0 -4.71320253365 0.0715809208518
+27 26.0 -4.78415908407 0.0703199708131
+28 27.0 -4.85381827903 0.0689864371778
+29 28.0 -4.92210824234 0.067581760373
+30 29.0 -4.98895861476 0.0661075335571
+31 30.0 -5.05430070586 0.0645655009259
+32 31.0 -5.11806764409 0.0629575556235
+33 32.0 -5.18019452449 0.061285737258
+34 33.0 -5.24061855376 0.0595522290273
+35 34.0 -5.29927919225 0.0577593544584
+36 35.0 -5.3561182925 0.0559095737673
+37 36.0 -5.41108023395 0.0540054798439
+38 37.0 -5.46411205346 0.0520497938726
+39 38.0 -5.51516357127 0.0500453605949
+40 39.0 -5.56418751203 0.0479951432253
+41 40.0 -5.61113962059 0.0459022180302
+42 41.0 -5.65597877221 0.0437697685824
+43 42.0 -5.69866707689 0.0416010797029
+44 43.0 -5.7391699774 0.0393995311046
+45 44.0 -5.77745634094 0.0371685907508
+46 45.0 -5.81349854393 0.034911807945
+47 46.0 -5.84727254977 0.0326328061676
+48 47.0 -5.87875797937 0.030335275675
+49 48.0 -5.90793817411 0.0280229658805
+50 49.0 -5.93480025113 0.0256996775336
+51 50.0 -5.95933515063 0.0233692547166
+52 51.0 -5.98153767519 0.0210355766777
+53 52.0 -6.00140652074 0.0187025495211
+54 53.0 -6.01894429926 0.016374097773
+55 54.0 -6.03415755288 0.0140541558448
+56 55.0 -6.04705675953 0.0117466594146
+57 56.0 -6.05765632981 0.00945553674764
+58 57.0 -6.06597459526 0.00718469997761
+59 58.0 -6.07203378786 0.00493803637051
+60 59.0 -6.07586001075 0.00271939959245
+61 60.0 -6.07748320034 0.000532601003776
+62 61.0 -6.07693707962 -0.00161859899905
+63 62.0 -6.07425910291 -0.00373049957158
+64 63.0 -6.06949039207 -0.00579946791801
+65 64.0 -6.06267566421 -0.00782194767468
+66 65.0 -6.05386315117 -0.00979446715893
+67 66.0 -6.04310451074 -0.0117136474624
+68 67.0 -6.03045472992 -0.0135762103679
+69 68.0 -6.01597202036 -0.0153789860691
+70 69.0 -5.99971770618 -0.0171189206741
+71 70.0 -5.98175610439 -0.0187930834719
+72 71.0 -5.9621543982 -0.0203986739443
+73 72.0 -5.9409825034 -0.0219330285036
+74 73.0 -5.91831292823 -0.0233936269399
+75 74.0 -5.89422062685 -0.0247780985587
+76 75.0 -5.86878284696 -0.0260842279959
+77 76.0 -5.84207897162 -0.0273099606906
+78 77.0 -5.81419035593 -0.0284534080045
+79 78.0 -5.78520015867 -0.0295128519729
+80 79.0 -5.7551931694 -0.0304867496727
+81 80.0 -5.72425563141 -0.0313737371989
+82 81.0 -5.6924750609 -0.0321726332348
+83 82.0 -5.65994006273 -0.0328824422092
+84 83.0 -5.62674014332 -0.0335023570292
+85 84.0 -5.59296552097 -0.0340317613814
+86 85.0 -5.55870693409 -0.0344702315961
+87 86.0 -5.52405544786 -0.0348175380654
+88 87.0 -5.48910225957 -0.0350736462148
+89 88.0 -5.45393850338 -0.0352387170203
+90 89.0 -5.41865505462 -0.0353131070729
+91 90.0 -5.38334233438 -0.0352973681855
+92 91.0 -5.34809011465 -0.0351922465446
+93 92.0 -5.31298732458 -0.0349986814067
+94 93.0 -5.27812185824 -0.034717803342
+95 94.0 -5.24358038438 -0.0343509320285
+96 95.0 -5.2094481586 -0.0338995736008
+97 96.0 -5.17580883839 -0.0333654175598
+98 97.0 -5.14274430152 -0.0327503332496
+99 98.0 -5.11033446814 -0.0320563659092
+100 99.0 -5.07865712698 -0.0312857323082
+101 100.0 -5.04778776623 -0.0304408159764
+102 101.0 -5.01779940929 -0.0295241620384
+103 102.0 -4.98876245596 -0.0285384716647
+104 103.0 -4.96074452928 -0.0274865961525
+105 104.0 -4.93381032851 -0.0263715306507
+106 105.0 -4.90802148862 -0.0251964075427
+107 106.0 -4.88343644644 -0.0239644895038
+108 107.0 -4.86011031397 -0.0226791622487
+109 108.0 -4.83809475914 -0.0213439269874
+110 109.0 -4.81743789414 -0.0199623926068
+111 110.0 -4.79818417182 -0.0185382675969
+112 111.0 -4.78037429015 -0.0170753517415
+113 112.0 -4.76404510526 -0.0155775275918
+114 113.0 -4.74922955293 -0.0140487517461
+115 114.0 -4.73595657904 -0.0124930459538
+116 115.0 -4.7242510789 -0.0109144880672
+117 116.0 -4.71413384576 -0.00931720286182
+118 117.0 -4.70562152846 -0.00770535274772
+119 118.0 -4.69872659855 -0.00608312839491
+120 119.0 -4.69345732669 -0.00445473929448
+121 120.0 -4.6898177686 -0.00282440427898
+122 121.0 -4.68780776044 -0.00119634202478
+123 122.0 -4.68742292374 0.000425238440527
+124 123.0 -4.68865467977 0.0020361472029
+125 124.0 -4.69149027336 0.00363222287571
+126 125.0 -4.69591280613 0.00520934194008
+127 126.0 -4.70190127895 0.0067634279891
+128 127.0 -4.70943064365 0.00829046085365
+129 128.0 -4.71847186379 0.00978648558781
+130 129.0 -4.72899198423 0.0112476212922
+131 130.0 -4.74095420961 0.0126700697544
+132 131.0 -4.7543179912 0.0140501238848
+133 132.0 -4.76903912216 0.0153841759291
+134 133.0 -4.78506984093 0.0166687254364
+135 134.0 -4.80235894235 0.0179003869651
+136 135.0 -4.82085189642 0.0190758975074
+137 136.0 -4.84049097437 0.0201921236154
+138 137.0 -4.86121538156 0.0212460682116
+139 138.0 -4.88296139722 0.0222348770682
+140 139.0 -4.90566252032 0.0231558449399
+141 140.0 -4.9292496215 0.0240064213355
+142 141.0 -4.95365110055 0.0247842159162
+143 142.0 -4.97879304911 0.0254870035063
+144 143.0 -5.00459941816 0.0261127287073
+145 144.0 -5.03099218995 0.0266595101027
+146 145.0 -5.05789155387 0.0271256440463
+147 146.0 -5.08521608601 0.0275096080241
+148 147.0 -5.11288293171 0.0278100635833
+149 148.0 -5.14080799097 0.0280258588231
+150 149.0 -5.16890610603 0.0281560304409
+151 150.0 -5.19709125082 0.0281998053314
+152 151.0 -5.22527672173 0.0281566017347
+153 152.0 -5.25337532941 0.0280260299338
+154 153.0 -5.28129959092 0.0278078924984
+155 154.0 -5.30896192196 0.0275021840788
+156 155.0 -5.33627482866 0.0271090907491
+157 156.0 -5.36315109852 0.0266289889046
+158 157.0 -5.38950398994 0.026062443717
+159 158.0 -5.41524742011 0.0254102071518
+160 159.0 -5.44029615055 0.0246732155563
+161 160.0 -5.46456597019 0.0238525868232
+162 161.0 -5.48797387528 0.0229496171403
+163 162.0 -5.51043824587 0.0219657773349
+164 163.0 -5.53187901853 0.0209027088232
+165 164.0 -5.55221785468 0.0197622191769
+166 165.0 -5.57137830441 0.0185462773191
+167 166.0 -5.58928596528 0.0172570083629
+168 167.0 -5.60586863576 0.0158966881068
+169 168.0 -5.62105646307 0.0144677372016
+170 169.0 -5.63478208493 0.0129727150063
+171 170.0 -5.64698076513 0.0114143131467
+172 171.0 -5.65759052241 0.00979534879707
+173 172.0 -5.66655225257 0.00811875770075
+174 173.0 -5.67380984344 0.00638758694863
+175 174.0 -5.67931028251 0.00460498753534
+176 175.0 -5.68300375706 0.00277420671195
+177 176.0 -5.68484374646 0.000898580155594
+178 177.0 -5.68478710669 -0.00101847602368
+179 178.0 -5.68279414663 -0.00297347341791
+180 179.0 -5.67882869631 -0.00496285957718
+181 180.0 -5.67285816674 -0.00698302636509
+182 181.0 -5.6648536014 -0.00903031839234
+183 182.0 -5.65478971926 -0.0111010415069
+184 183.0 -5.64264494925 -0.0131914713189
+185 184.0 -5.62840145627 -0.0152978617389
+186 185.0 -5.6120451586 -0.017416453508
+187 186.0 -5.59356573683 -0.0195434826976
+188 187.0 -5.57295663425 -0.0216751891584
+189 188.0 -5.55021504898 -0.0238078248974
+190 189.0 -5.52534191754 -0.0259376623617
+191 190.0 -5.4983418904 -0.0280610026087
+192 191.0 -5.46922329932 -0.0301741833429
+193 192.0 -5.43799811672 -0.0322735868002
+194 193.0 -5.40468190731 -0.0343556474589
+195 194.0 -5.36929377207 -0.0364168595607
+196 195.0 -5.33185628476 -0.0384537844225
+197 196.0 -5.29239542138 -0.0404630575223
+198 197.0 -5.25094048245 -0.0424413953416
+199 198.0 -5.20752400881 -0.0443856019501
+200 199.0 -5.16218169074 -0.0462925753151
+201 200.0 -5.11495227114 -0.0481593133234
+202 201.0 -5.06587744261 -0.0499829195012
+203 202.0 -5.01500173918 -0.0517606084187
+204 203.0 -4.96237242264 -0.0534897107689
+205 204.0 -4.90803936404 -0.055167678109
+206 205.0 -4.85205492059 -0.0567920872546
+207 206.0 -4.79447380837 -0.0583606443179
+208 207.0 -4.73535297113 -0.0598711883816
+209 208.0 -4.6747514457 -0.0613216948024
+210 209.0 -4.61273022413 -0.0627102781377
+211 210.0 -4.54935211328 -0.0640351946902
+212 211.0 -4.4846815919 -0.0652948446678
+213 212.0 -4.41878466581 -0.0664877739558
+214 213.0 -4.35172872155 -0.0676126754981
+215 214.0 -4.28358237872 -0.0686683902899
+216 215.0 -4.21441534165 -0.0696539079796
+217 216.0 -4.14429825061 -0.070568367083
+218 217.0 -4.07330253293 -0.0714110548116
+219 218.0 -4.00150025463 -0.0721814065199
+220 219.0 -3.92896397266 -0.072879004774
+221 220.0 -3.85576658834 -0.0735035780505
+222 221.0 -3.78198120223 -0.0740549990687
+223 222.0 -3.70768097086 -0.0745332827669
+224 223.0 -3.63293896573 -0.0749385839297
+225 224.0 -3.5578280347 -0.0752711944755
+226 225.0 -3.48242066643 -0.075531540416
+227 226.0 -3.4067888579 -0.0757201784978
+228 227.0 -3.33100398548 -0.0758377925383
+229 228.0 -3.25513667985 -0.0758851894693
+230 229.0 -3.17925670492 -0.0758632951011
+231 230.0 -3.10343284123 -0.0757731496217
+232 231.0 -3.02773277394 -0.0756159028468
+233 232.0 -2.95222298559 -0.0753928092342
+234 233.0 -2.87696865416 -0.0751052226812
+235 234.0 -2.80203355622 -0.0747545911191
+236 235.0 -2.72747997572 -0.0743424509249
+237 236.0 -2.65336861841 -0.073870421164
+238 237.0 -2.57975853208 -0.0733401976859
+239 238.0 -2.50670703279 -0.0727535470871
+240 239.0 -2.4342696372 -0.0721123005638
+241 240.0 -2.36250000104 -0.0714183476691
+242 241.0 -2.29144986396 -0.0706736299971
+243 242.0 -2.22116900065 -0.0698801348102
+244 243.0 -2.15170517837 -0.0690398886302
+245 244.0 -2.0831041209 -0.0681549508121
+246 245.0 -2.01540947892 -0.067227407119
+247 246.0 -1.94866280684 -0.0662593633171
+248 247.0 -1.88290354594 -0.0652529388105
+249 248.0 -1.81816901389 -0.0642102603325
+250 249.0 -1.7544944006 -0.0631334557138
+251 250.0 -1.69191277013 -0.0620246477436
+252 251.0 -1.6304550688 -0.0608859481423
+253 252.0 -1.57015013921 -0.059719451663
+254 253.0 -1.51102474011 -0.0585272303374
+255 254.0 -1.45310357187 -0.0573113278834
+256 255.0 -1.39640930762 -0.0560737542899
+257 256.0 -1.34096262951 -0.054816480593
+258 257.0 -1.28678227024 -0.0535414338587
+259 258.0 -1.23388505944 -0.0522504923856
+260 259.0 -1.18228597475 -0.0509454811405
+261 260.0 -1.13199819729 -0.0496281674395
+262 261.0 -1.08303317143 -0.0483002568854
+263 262.0 -1.03540066834 -0.046963389572
+264 263.0 -0.989108853377 -0.0456191365664
+265 264.0 -0.944164356669 -0.0442689966762
+266 265.0 -0.900572346917 -0.0429143935113
+267 266.0 -0.858336607922 -0.0415566728462
+268 267.0 -0.817459617608 -0.0401971002897
+269 268.0 -0.777942629232 -0.0388368592669
+270 269.0 -0.739785754436 -0.0374770493178
+271 270.0 -0.702988047855 -0.0361186847156
+272 271.0 -0.667547592939 -0.0347626934072
+273 272.0 -0.633461588675 -0.0334099162773
+274 273.0 -0.600726436882 -0.0320611067354
+275 274.0 -0.569337829756 -0.0307169306269
+276 275.0 -0.539290837348 -0.0293779664649
+277 276.0 -0.510579994645 -0.0280447059807
+278 277.0 -0.483199387947 -0.0267175549897
+279 278.0 -0.457142740217 -0.0253968345674
+280 279.0 -0.432403495111 -0.0240827825309
+281 280.0 -0.408974899365 -0.0227755552188
+282 281.0 -0.386850083265 -0.0214752295619
+283 282.0 -0.366022138902 -0.020181805438
+284 283.0 -0.346484195932 -0.0188952082997
+285 284.0 -0.328229494574 -0.0176152920667
+286 285.0 -0.311251455597 -0.0163418422722
+287 286.0 -0.295543747024 -0.0150745794496
+288 287.0 -0.28110034735 -0.0138131627512
+289 288.0 -0.267915605017 -0.0125571937823
+290 289.0 -0.255984293962 -0.011306220639
+291 290.0 -0.245301665026 -0.0100597421363
+292 291.0 -0.235863493049 -0.00881721220956
+293 292.0 -0.22766611948 -0.00757804447631
+294 293.0 -0.220706490355 -0.00634161694135
+295 294.0 -0.214982189503 -0.00510727682957
+296 295.0 -0.210491466861 -0.00387434552992
+297 296.0 -0.207233261801 -0.00264212363344
+298 297.0 -0.205207221373 -0.00140989604849
+299 298.0 -0.204413713408 -0.00017693717569
+300 299.0 -0.204853834414 0.0010574838751
+301 300.0 -0.206529412255 0.00229409804323
+302 301.0 -0.209443003569 0.00353363106913
+303 302.0 -0.213597885954 0.00477679825726
+304 303.0 -0.218998044922 0.00602429926791
+305 304.0 -0.22564815567 0.00727681295572
+306 305.0 -0.23355355972 0.00853499227222
+307 306.0 -0.2427202365 0.00979945924997
+308 307.0 -0.253154769958 0.0110708000854
+309 308.0 -0.264864310313 0.0123495603372
+310 309.0 -0.277856531075 0.0136362402565
+311 310.0 -0.292139581459 0.0149312902659
+312 311.0 -0.307722034364 0.0162351066015
+313 312.0 -0.324612830087 0.0175480271349
+314 313.0 -0.342821215943 0.0188703273888
+315 314.0 -0.362356682012 0.0202022167596
+316 315.0 -0.383228893218 0.0215438349636
+317 316.0 -0.405447617967 0.0228952487148
+318 317.0 -0.429022653586 0.0242564486517
+319 318.0 -0.45396374882 0.0256273465206
+320 319.0 -0.480280523637 0.0270077726275
+321 320.0 -0.507982386639 0.0283974735696
+322 321.0 -0.537078450328 0.029796110253
+323 322.0 -0.567577444555 0.0312032562068
+324 323.0 -0.59948762842 0.0326183962009
+325 324.0 -0.632816700956 0.0340409251716
+326 325.0 -0.667571710883 0.0354701474639
+327 326.0 -0.703758965776 0.0369052763923
+328 327.0 -0.741383940946 0.038345434125
+329 328.0 -0.780451188376 0.0397896518935
+330 329.0 -0.820964246018 0.0412368705304
+331 330.0 -0.862925547807 0.042685941334
+332 331.0 -0.906336334692 0.0441356272615
+333 332.0 -0.951196567028 0.045584604448
+334 333.0 -0.997504838648 0.0470314640498
+335 334.0 -1.04525829294 0.048474714408
+336 335.0 -1.09445254125 0.0499127835288
+337 336.0 -1.1450815839 0.0513440218749
+338 337.0 -1.1971377342 0.0527667054614
+339 338.0 -1.25061154564 0.0541790392498
+340 339.0 -1.30549174267 0.0555791608316
+341 340.0 -1.36176515529 0.0569651443923
+342 341.0 -1.41941665773 0.0583350049463
+343 342.0 -1.47842911151 0.0596867028317
+344 343.0 -1.53878331313 0.061018148454
+345 344.0 -1.60045794659 0.0623272072653
+346 345.0 -1.66342954101 0.0636117049668
+347 346.0 -1.72767243359 0.0648694329207
+348 347.0 -1.79315873807 0.0660981537565
+349 348.0 -1.85985831882 0.0672956071568
+350 349.0 -1.92773877092 0.0684595158069
+351 350.0 -1.99676540616 0.0695875914917
+352 351.0 -2.06690124527 0.0706775413231
+353 352.0 -2.13810701636 0.0717270740805
+354 353.0 -2.21034115987 0.0727339066469
+355 354.0 -2.28355983986 0.0736957705223
+356 355.0 -2.35771696194 0.0746104183955
+357 356.0 -2.43276419776 0.0754756307561
+358 357.0 -2.50865101613 0.0762892225281
+359 358.0 -2.58532472075 0.0770490497051
+360 359.0 -2.66273049463 0.0777530159679
+
+# Table of the potential and its negative derivative for frustrated beta sheet
+# (Note: Derivatives are in units of energy/radians, not energy/degrees.)
+# ./calc_dihedral_table.py 5.6 57.29577951308232 6 6.0 180 6 0.0 359 360
+
+FRUSTRATED_BETA
+N 360 DEGREES
+
+1 0.0 -2.55809068762 0.0731724739818
+2 1.0 -2.63154144494 0.0737195744566
+3 2.0 -2.70551060968 0.0742089966437
+4 3.0 -2.77993963883 0.074639023134
+5 4.0 -2.85476830901 0.0750080115297
+6 5.0 -2.92993479441 0.0753144003899
+7 6.0 -3.00537575069 0.0755567150326
+8 7.0 -3.08102640456 0.0757335731758
+9 8.0 -3.15682064892 0.0758436903983
+10 9.0 -3.23269114341 0.075885885404
+11 10.0 -3.30856942003 0.0758590850738
+12 11.0 -3.38438599377 0.0757623292865
+13 12.0 -3.46007047791 0.0755947754951
+14 13.0 -3.53555170381 0.0753557030426
+15 14.0 -3.61075784476 0.0750445172025
+16 15.0 -3.68561654392 0.0746607529305
+17 16.0 -3.76005504566 0.0742040783151
+18 17.0 -3.83400033034 0.0736742977129
+19 18.0 -3.907379252 0.0730713545594
+20 19.0 -3.98011867868 0.0723953338429
+21 20.0 -4.0521456351 0.0716464642332
+22 21.0 -4.12338744726 0.0708251198546
+23 22.0 -4.19377188857 0.0699318216967
+24 23.0 -4.26322732737 0.0689672386556
+25 24.0 -4.33168287509 0.0679321881993
+26 25.0 -4.39906853508 0.0668276366524
+27 26.0 -4.46531535141 0.0656546990963
+28 27.0 -4.53035555742 0.0644146388823
+29 28.0 -4.59412272358 0.0631088667546
+30 29.0 -4.65655190431 0.061738939584
+31 30.0 -4.71757978327 0.0603065587109
+32 31.0 -4.77714481686 0.0588135679005
+33 32.0 -4.83518737548 0.057261950911
+34 33.0 -4.89164988211 0.0556538286799
+35 34.0 -4.94647694795 0.0539914561312
+36 35.0 -4.99961550465 0.0522772186102
+37 36.0 -5.05101493277 0.0505136279528
+38 37.0 -5.10062718621 0.048703318195
+39 38.0 -5.14840691207 0.0468490409338
+40 39.0 -5.19431156578 0.0449536603471
+41 40.0 -5.23830152101 0.0430201478838
+42 41.0 -5.28034017422 0.0410515766363
+43 42.0 -5.3203940433 0.0390511154063
+44 43.0 -5.35843286021 0.0370220224793
+45 44.0 -5.39442965726 0.0349676391193
+46 45.0 -5.4283608467 0.0328913828015
+47 46.0 -5.46020629342 0.0307967401964
+48 47.0 -5.48994938059 0.028687259923
+49 48.0 -5.51757706789 0.0265665450883
+50 49.0 -5.54307994213 0.0244382456298
+51 50.0 -5.56645226024 0.0223060504811
+52 51.0 -5.58769198425 0.0201736795783
+53 52.0 -5.60680080825 0.0180448757265
+54 53.0 -5.62378417713 0.0159233963481
+55 54.0 -5.63865129702 0.0138130051308
+56 55.0 -5.6514151374 0.0117174635982
+57 56.0 -5.66209242462 0.00964052262251
+58 57.0 -5.67070362704 0.00758591390103
+59 58.0 -5.67727293157 0.00555734141841
+60 59.0 -5.6818282117 0.00355847291538
+61 60.0 -5.68440098698 0.00159293138608
+62 61.0 -5.68502637408 -0.000335713374531
+63 62.0 -5.68374302934 -0.00222395315148
+64 63.0 -5.68059308309 -0.0040683495974
+65 64.0 -5.67562206565 -0.00586554240548
+66 65.0 -5.66887882528 -0.00761225734683
+67 66.0 -5.66041543813 -0.00930531415106
+68 67.0 -5.65028711044 -0.0109416342099
+69 68.0 -5.63855207307 -0.0125182480831
+70 69.0 -5.6252714687 -0.0140323027883
+71 70.0 -5.61050923182 -0.0154810688529
+72 71.0 -5.59433196178 -0.0168619471125
+73 72.0 -5.57680878923 -0.0181724752358
+74 73.0 -5.5580112361 -0.019410333958
+75 74.0 -5.53801306959 -0.0205733530082
+76 75.0 -5.51689015031 -0.0216595167121
+77 76.0 -5.49472027505 -0.0226669692568
+78 77.0 -5.47158301441 -0.0235940196022
+79 78.0 -5.44755954575 -0.0244391460249
+80 79.0 -5.42273248172 -0.0252010002837
+81 80.0 -5.3971856949 -0.0258784113929
+82 81.0 -5.37100413881 -0.0264703889936
+83 82.0 -5.34427366574 -0.0269761263135
+84 83.0 -5.31708084192 -0.0273950027051
+85 84.0 -5.28951276022 -0.0277265857564
+86 85.0 -5.26165685114 -0.0279706329651
+87 86.0 -5.23360069216 -0.0281270929735
+88 87.0 -5.20543181621 -0.0281961063563
+89 88.0 -5.17723751951 -0.0281780059613
+90 89.0 -5.14910466934 -0.0280733167983
+91 90.0 -5.12111951208 -0.0278827554757
+92 91.0 -5.09336748214 -0.0276072291861
+93 92.0 -5.06593301201 -0.0272478342399
+94 93.0 -5.0388993441 -0.026805854151
+95 94.0 -5.01234834466 -0.0262827572773
+96 95.0 -4.98636032033 -0.0256801940208
+97 96.0 -4.96101383762 -0.0249999935924
+98 97.0 -4.93638554598 -0.0242441603499
+99 98.0 -4.91255000457 -0.0234148697145
+100 99.0 -4.88957951348 -0.0225144636776
+101 100.0 -4.86754394953 -0.0215454459053
+102 101.0 -4.84651060724 -0.0205104764546
+103 102.0 -4.8265440452 -0.01941236611
+104 103.0 -4.80770593836 -0.0182540703564
+105 104.0 -4.79005493648 -0.0170386830008
+106 105.0 -4.77364652914 -0.0157694294583
+107 106.0 -4.7585329176 -0.0144496597171
+108 107.0 -4.74476289391 -0.0130828410011
+109 108.0 -4.73238172744 -0.0116725501446
+110 109.0 -4.72143105919 -0.0102224657007
+111 110.0 -4.71194880414 -0.00873635979846
+112 111.0 -4.70396906182 -0.0072180897712
+113 112.0 -4.69752203541 -0.00567158957449
+114 113.0 -4.69263395945 -0.00410086101469
+115 114.0 -4.68932703648 -0.00250996480925
+116 115.0 -4.68761938265 -0.000903011500147
+117 116.0 -4.68752498248 0.00071584775762
+118 117.0 -4.68905365291 0.00234243051027
+119 118.0 -4.69221101668 0.00397253239976
+120 119.0 -4.69699848518 0.00560193661579
+121 120.0 -4.70341325069 0.00722642338265
+122 121.0 -4.71144828821 0.00884177945771
+123 122.0 -4.72109236669 0.0104438076188
+124 123.0 -4.73233006984 0.0120283361174
+125 124.0 -4.74514182625 0.0135912280748
+126 125.0 -4.75950394898 0.0151283907985
+127 126.0 -4.77538868431 0.0166357849963
+128 127.0 -4.79276426974 0.0181094338658
+129 128.0 -4.81159500092 0.0195454320375
+130 129.0 -4.83184130754 0.0209399543498
+131 130.0 -4.8534598378 0.0222892644342
+132 131.0 -4.87640355143 0.0235897230915
+133 132.0 -4.90062182095 0.0248377964369
+134 133.0 -4.92606054096 0.0260300637961
+135 134.0 -4.95266224518 0.0271632253326
+136 135.0 -4.98036623096 0.028234109388
+137 136.0 -5.00910869107 0.0292396795182
+138 137.0 -5.03882285221 0.0301770412082
+139 138.0 -5.06943912022 0.0310434482505
+140 139.0 -5.10088523142 0.0318363087705
+141 140.0 -5.13308640979 0.0325531908865
+142 141.0 -5.16596552963 0.0331918279898
+143 142.0 -5.19944328334 0.0337501236332
+144 143.0 -5.23343835383 0.0342261560164
+145 144.0 -5.26786759123 0.0346181820585
+146 145.0 -5.30264619353 0.0349246410472
+147 146.0 -5.33768789051 0.0351441578585
+148 147.0 -5.37290513082 0.0352755457383
+149 148.0 -5.40820927152 0.0353178086401
+150 149.0 -5.4435107698 0.0352701431151
+151 150.0 -5.4787193763 0.0351319397498
+152 151.0 -5.51374432971 0.0349027841491
+153 152.0 -5.54849455206 0.0345824574643
+154 153.0 -5.58287884436 0.0341709364636
+155 154.0 -5.61680608206 0.0336683931487
+156 155.0 -5.65018540988 0.0330751939177
+157 156.0 -5.68292643563 0.0323918982779
+158 157.0 -5.71493942249 0.0316192571138
+159 158.0 -5.74613547931 0.0307582105139
+160 159.0 -5.77642674856 0.029809885165
+161 160.0 -5.80572659147 0.0287755913197
+162 161.0 -5.83394976986 0.0276568193473
+163 162.0 -5.86101262442 0.0264552358763
+164 163.0 -5.8868332488 0.025172679541
+165 164.0 -5.91133165941 0.0238111563427
+166 165.0 -5.93442996024 0.0223728346376
+167 166.0 -5.95605250261 0.0208600397671
+168 167.0 -5.97612603931 0.0192752483425
+169 168.0 -5.99457987285 0.0176210822011
+170 169.0 -6.01134599757 0.015900302049
+171 170.0 -6.02635923519 0.014115800807
+172 171.0 -6.03955736358 0.0122705966784
+173 172.0 -6.05088123845 0.0103678259555
+174 173.0 -6.0602749078 0.00841073558436
+175 174.0 -6.06768571866 0.00640267550713
+176 175.0 -6.0730644163 0.00434709080102
+177 176.0 -6.07636523524 0.00224751363529
+178 177.0 -6.07754598232 0.000107555066143
+179 178.0 -6.07656811141 -0.00206910330914
+180 179.0 -6.07339678973 -0.00427871781763
+181 180.0 -6.06800095563 -0.00651749127408
+182 181.0 -6.06035336781 -0.00878158162059
+183 182.0 -6.05043064586 -0.0110671106207
+184 183.0 -6.03821330204 -0.0133701725859
+185 184.0 -6.02368576439 -0.0156868431131
+186 185.0 -6.00683639108 -0.0180131878107
+187 186.0 -5.98765747603 -0.0203452709919
+188 187.0 -5.96614524589 -0.0226791643135
+189 188.0 -5.94229984843 -0.025010955339
+190 189.0 -5.91612533236 -0.0273367560054
+191 190.0 -5.88762961878 -0.0296527109716
+192 191.0 -5.85682446433 -0.0319550058299
+193 192.0 -5.82372541626 -0.0342398751598
+194 193.0 -5.78835175943 -0.0365036104045
+195 194.0 -5.75072645562 -0.0387425675516
+196 195.0 -5.71087607524 -0.0409531746008
+197 196.0 -5.66883072166 -0.0431319387984
+198 197.0 -5.62462394846 -0.0452754536249
+199 198.0 -5.57829266983 -0.0473804055171
+200 199.0 -5.5298770643 -0.0494435803104
+201 200.0 -5.47942047235 -0.0514618693867
+202 201.0 -5.42696928781 -0.0534322755136
+203 202.0 -5.37257284377 -0.055351918363
+204 203.0 -5.316283293 -0.0572180396955
+205 204.0 -5.25815548345 -0.059028008202
+206 205.0 -5.19824682901 -0.0607793239895
+207 206.0 -5.13661717604 -0.0624696227052
+208 207.0 -5.0733286659 -0.0640966792879
+209 208.0 -5.00844559393 -0.0656584113417
+210 209.0 -4.94203426529 -0.0671528821253
+211 210.0 -4.87416284794 -0.0685783031513
+212 211.0 -4.80490122327 -0.0699330363936
+213 212.0 -4.7343208347 -0.0712155960973
+214 213.0 -4.66249453466 -0.0724246501921
+215 214.0 -4.58949643037 -0.0735590213066
+216 215.0 -4.51540172879 -0.0746176873849
+217 216.0 -4.44028658118 -0.0755997819067
+218 217.0 -4.3642279276 -0.0765045937139
+219 218.0 -4.28730334182 -0.0773315664459
+220 219.0 -4.20959087694 -0.0780802975905
+221 220.0 -4.13116891218 -0.0787505371538
+222 221.0 -4.0521160012 -0.0793421859574
+223 222.0 -3.97251072229 -0.0798552935693
+224 223.0 -3.89243153076 -0.0802900558785
+225 224.0 -3.81195661404 -0.0806468123209
+226 225.0 -3.73116374964 -0.0809260427693
+227 226.0 -3.65013016636 -0.0811283640964
+228 227.0 -3.56893240921 -0.0812545264246
+229 228.0 -3.48764620813 -0.0813054090744
+230 229.0 -3.4063463509 -0.0812820162266
+231 230.0 -3.32510656064 -0.0811854723104
+232 231.0 -3.24399937793 -0.081017017134
+233 232.0 -3.16309604794 -0.0807780007742
+234 233.0 -3.08246641287 -0.0804698782381
+235 234.0 -3.00217880976 -0.0800942039176
+236 235.0 -2.92229997393 -0.079652625851
+237 236.0 -2.84289494829 -0.0791468798106
+238 237.0 -2.76402699866 -0.0785787832348
+239 238.0 -2.68575753514 -0.0779502290223
+240 239.0 -2.60814603984 -0.077263179207
+241 240.0 -2.53125000097 -0.0765196585342
+242 241.0 -2.4551248533 -0.0757217479546
+243 242.0 -2.37982392531 -0.0748715780578
+244 243.0 -2.30539839282 -0.073971322463
+245 244.0 -2.23189723927 -0.0730231911866
+246 245.0 -2.15936722267 -0.072029424007
+247 246.0 -2.0878528491 -0.0709922838436
+248 247.0 -2.01739635293 -0.0699140501714
+249 248.0 -1.94803768347 -0.0687970124882
+250 249.0 -1.87981449824 -0.0676434638537
+251 250.0 -1.81276216256 -0.0664556945194
+252 251.0 -1.74691375554 -0.0652359856651
+253 252.0 -1.68230008218 -0.0639866032624
+254 253.0 -1.61894969164 -0.0627097920793
+255 254.0 -1.55688890134 -0.0614077698443
+256 255.0 -1.49614182687 -0.0600827215855
+257 256.0 -1.43673041741 -0.05873679416
+258 257.0 -1.37867449659 -0.0573720909874
+259 258.0 -1.32199180845 -0.0559906670036
+260 259.0 -1.26669806833 -0.0545945238457
+261 260.0 -1.21280701853 -0.0531856052829
+262 261.0 -1.1603304883 -0.0517657929031
+263 262.0 -1.1092784581 -0.0503369020679
+264 263.0 -1.05965912771 -0.0489006781451
+265 264.0 -1.01147898802 -0.0474587930279
+266 265.0 -0.964742896092 -0.0460128419505
+267 266.0 -0.919454153297 -0.0445643406057
+268 267.0 -0.875614586172 -0.0431147225719
+269 268.0 -0.833224629688 -0.0416653370554
+270 269.0 -0.792283412613 -0.0402174469521
+271 270.0 -0.752788844664 -0.038772227232
+272 271.0 -0.714737705101 -0.0373307636499
+273 272.0 -0.67812573245 -0.0358940517831
+274 273.0 -0.642947715028 -0.0344629963972
+275 274.0 -0.609197581934 -0.0330384111393
+276 275.0 -0.576868494182 -0.0316210185584
+277 276.0 -0.545952935658 -0.0302114504483
+278 277.0 -0.51644280357 -0.0288102485125
+279 278.0 -0.488329498068 -0.0274178653447
+280 279.0 -0.461604010741 -0.0260346657211
+281 280.0 -0.436257011655 -0.0246609281969
+282 281.0 -0.412278934657 -0.023296847002
+283 282.0 -0.389660060626 -0.0219425342253
+284 283.0 -0.368390598407 -0.0205980222818
+285 284.0 -0.348460763137 -0.01926326665
+286 285.0 -0.329860851704 -0.0179381488715
+287 286.0 -0.312581315078 -0.0166224797996
+288 287.0 -0.296612827279 -0.015316003087
+289 288.0 -0.281946350734 -0.0140183988977
+290 289.0 -0.268573197826 -0.0127292878319
+291 290.0 -0.256485088408 -0.0114482350481
+292 291.0 -0.245674203109 -0.0101747545698
+293 292.0 -0.236133232246 -0.00890831375923
+294 293.0 -0.227855420178 -0.00764833794542
+295 294.0 -0.220834604976 -0.00639421518813
+296 295.0 -0.215065253253 -0.00514530116277
+297 296.0 -0.210542490065 -0.00390092414876
+298 297.0 -0.207262123775 -0.00266039010467
+299 298.0 -0.205220665805 -0.00142298781263
+300 299.0 -0.204415345223 -0.000187994074493
+301 300.0 -0.204844118104 0.00104532105779
+302 301.0 -0.206505671662 0.00227768903543
+303 302.0 -0.209399423126 0.0035098375675
+304 303.0 -0.213525513386 0.00474248539479
+305 304.0 -0.218884795423 0.00597633710062
+306 305.0 -0.225478817581 0.00721207797616
+307 306.0 -0.233309801737 0.00845036895769
+308 307.0 -0.242380616448 0.00969184165314
+309 308.0 -0.252694745185 0.0109370934746
+310 309.0 -0.264256249747 0.0121866828936
+311 310.0 -0.277069729013 0.0134411248358
+312 311.0 -0.291140273151 0.0147008862297
+313 312.0 -0.306473413467 0.0159663817261
+314 313.0 -0.323075068066 0.0172379696031
+315 314.0 -0.340951483513 0.018515947869
+316 315.0 -0.360109172702 0.0198005505798
+317 316.0 -0.380554849155 0.0210919443819
+318 317.0 -0.402295357987 0.0223902252933
+319 318.0 -0.425337603767 0.0236954157356
+320 319.0 -0.449688475549 0.0250074618263
+321 320.0 -0.475354769327 0.0263262309427
+322 321.0 -0.50234310819 0.0276515095659
+323 322.0 -0.530659860472 0.0289830014145
+324 323.0 -0.560311056174 0.0303203258736
+325 324.0 -0.59130230198 0.0316630167284
+326 325.0 -0.623638695141 0.0330105212056
+327 326.0 -0.657324736579 0.0343621993296
+328 327.0 -0.692364243488 0.0357173235955
+329 328.0 -0.728760261774 0.0370750789637
+330 329.0 -0.766514978659 0.0384345631765
+331 330.0 -0.805629635748 0.0397947873984
+332 331.0 -0.846104442913 0.04115467718
+333 332.0 -0.887938493289 0.042513073745
+334 333.0 -0.93112967973 0.0438687355968
+335 334.0 -0.975674613021 0.0452203404434
+336 335.0 -1.02156854218 0.0465664874361
+337 336.0 -1.06880527714 0.0479056997168
+338 337.0 -1.11737711415 0.0492364272675
+339 338.0 -1.16727476416 0.0505570500574
+340 339.0 -1.2184872845 0.051865881477
+341 340.0 -1.27100201415 0.0531611720525
+342 341.0 -1.32480451282 0.0544411134304
+343 342.0 -1.37987850417 0.055703842622
+344 343.0 -1.43620582346 0.0569474464963
+345 344.0 -1.49376636966 0.0581699665097
+346 345.0 -1.55253806258 0.05936940366
+347 346.0 -1.61249680493 0.0605437236497
+348 347.0 -1.67361644969 0.0616908622471
+349 348.0 -1.73586877296 0.0628087308273
+350 349.0 -1.79922345238 0.0638952220804
+351 350.0 -1.86364805137 0.0649482158688
+352 351.0 -1.92910800931 0.0659655852184
+353 352.0 -1.9955666377 0.066945202426
+354 353.0 -2.06298512258 0.0678849452658
+355 354.0 -2.13132253309 0.0687827032771
+356 355.0 -2.20053583647 0.0696363841147
+357 356.0 -2.27057991931 0.0704439199439
+358 357.0 -2.3414076153 0.0712032738621
+359 358.0 -2.41296973939 0.0719124463259
+360 359.0 -2.48521512832 0.072569481568
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/moltemplate_files/table_minichaperone_h=0.6.dat b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/moltemplate_files/table_minichaperone_h=0.6.dat
new file mode 100644
index 000000000..d2b1ed3aa
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/moltemplate_files/table_minichaperone_h=0.6.dat
@@ -0,0 +1,988 @@
+# Interaction between a chaperone wall and hydrophobic ("B") beads (h=0.6)
+# Generated using:
+# generate_tables/calc_chaperone_table.py 1.0 1.0 3.0 0.60 3.1 8.0 981 True
+
+CH_H0.6
+N 981 R 3.1 8.0
+
+1 3.1 24321971157.7 2.4400451019e+12
+2 3.105 14907528428.0 1.42456746092e+12
+3 3.11 9347010266.92 8.52735030437e+11
+4 3.115 5983057175.03 5.22187648991e+11
+5 3.12 3902942155.05 3.26496996649e+11
+6 3.125 2590648415.38 2.0808159227e+11
+7 3.13 1747350825.1 1.34970444886e+11
+8 3.135 1196139798.89 88984974583.5
+9 3.14 830130182.341 59559787515.6
+10 3.145 583518174.975 40428507749.3
+11 3.15 415078797.287 27803974550.9
+12 3.155 298562827.719 19356989964.4
+13 3.16 217001769.743 13631486848.5
+14 3.165 159270305.159 9703243449.66
+15 3.17 117976881.962 6977184032.49
+16 3.175 88149161.6455 5064988683.98
+17 3.18 66402860.1298 3710042118.5
+18 3.185 50409022.6215 2740737360.59
+19 3.19 38548170.6708 2041021063.98
+20 3.195 29683036.1074 1531572773.33
+21 3.2 23007502.8905 1157631256.92
+22 3.205 17945109.6836 881028781.898
+23 3.21 14080149.2893 674921399.554
+24 3.215 11110438.2418 520266326.167
+25 3.22 8814639.75879 403443800.764
+26 3.225 7029455.47123 314636408.027
+27 3.23 5633571.16439 246714657.082
+28 3.235 4536265.59262 194464091.949
+29 3.24 3669265.83647 154044868.616
+30 3.245 2980881.1453 122610915.077
+31 3.25 2431748.15466 98039536.8272
+32 3.255 1991724.07297 78738058.3506
+33 3.26 1637603.46485 63504600.2322
+34 3.265 1351429.90872 51427172.534
+35 3.27 1119240.11293 41810074.9071
+36 3.275 930124.378436 34119886.2947
+37 3.28 775519.857832 27945597.578
+38 3.285 648676.115123 22969017.4933
+39 3.29 544248.919174 18942684.9889
+40 3.295 457989.984944 15673297.5619
+41 3.3 386508.875651 13009215.1485
+42 3.305 327089.446276 10830991.226
+43 3.31 277547.709074 9044163.93118
+44 3.315 236121.303553 7573742.76366
+45 3.32 201383.18845 6359973.47163
+46 3.325 172173.978278 5355070.91875
+47 3.33 147548.691578 4520688.28477
+48 3.335 126734.684289 3825948.80978
+49 3.34 109098.298235 3245909.11014
+50 3.345 94118.3261235 2760354.93052
+51 3.35 81364.827777 2352853.97713
+52 3.355 70482.1624146 2010008.31682
+53 3.36 61175.3541703 1720862.26897
+54 3.365 53199.1018261 1476431.88582
+55 3.37 46348.8930587 1269329.84244
+56 3.375 40453.7990113 1093465.44786
+57 3.38 35370.6146686 943803.998782
+58 3.385 30979.0803706 816173.162054
+59 3.39 27177.9744013 707106.743488
+60 3.395 23881.9094124 613718.268337
+61 3.4 21018.6991377 533598.403624
+62 3.405 18527.1884441 464731.50307
+63 3.41 16355.4608211 405427.532611
+64 3.415 14459.3541284 354266.400629
+65 3.42 12801.228731 310052.319542
+66 3.425 11348.9427887 271776.300627
+67 3.43 10074.9979765 238585.259865
+68 3.435 8955.82575185 209756.510836
+69 3.44 7971.18978782 184676.657916
+70 3.445 7103.68463562 162824.092297
+71 3.45 6338.31427303 143754.444665
+72 3.455 5662.13711315 127088.469763
+73 3.46 5063.9664184 112501.9356
+74 3.465 4534.11699728 99717.1686967
+75 3.47 4064.19064042 88495.970274
+76 3.475 3646.89404446 78633.6696895
+77 3.48 3275.88403311 69954.1231906
+78 3.485 2945.63575657 62305.4999784
+79 3.49 2651.33026883 55556.7252625
+80 3.495 2388.75847582 49594.4725913
+81 3.5 2154.23893796 44320.6162531
+82 3.505 1944.54741747 39650.0697323
+83 3.51 1756.8563988 35508.9486835
+84 3.515 1588.68309151 31833.0071751
+85 3.52 1437.84465949 28566.3044359
+86 3.525 1302.41961585 25660.0663588
+87 3.53 1180.71448694 23071.7118275
+88 3.535 1071.23498579 20764.0187577
+89 3.54 972.661050857 18704.4087568
+90 3.545 883.825202407 16864.3326446
+91 3.55 803.693750954 15218.7418698
+92 3.555 731.350460573 13745.6331832
+93 3.56 665.982328363 12425.6558809
+94 3.565 606.867190408 11241.7725673
+95 3.57 553.362906393 10178.9657593
+96 3.575 504.897910387 9223.98381086
+97 3.58 460.962945446 8365.12060921
+98 3.585 421.103825306 7592.02431669
+99 3.59 384.915088285 6895.53112553
+100 3.595 352.034427161 6267.5205811
+101 3.6 322.137794751 5700.78952663
+102 3.605 294.935098544 5188.94214534
+103 3.61 270.166409464 4726.29393494
+104 3.615 247.598619855 4307.78775517
+105 3.62 227.022494431 3928.92034957
+106 3.625 208.250065337 3585.67796495
+107 3.63 191.112328875 3274.47988201
+108 3.635 175.457206974 2992.12883298
+109 3.64 161.147741205 2735.76742147
+110 3.645 148.060491326 2502.83977901
+111 3.65 136.084113848 2291.05779528
+112 3.655 125.118099223 2098.37134728
+113 3.66 115.071648949 1922.94202847
+114 3.665 105.862676198 1763.11994431
+115 3.67 97.4169155884 1617.42319704
+116 3.675 89.6671295106 1484.51973131
+117 3.68 82.5523999227 1363.21125435
+118 3.685 76.0174958886 1252.41898087
+119 3.69 70.0123082899 1151.17098442
+120 3.695 64.4913441675 1058.59096449
+121 3.7 59.4132740402 973.88826227
+122 3.705 54.7405263329 896.348978842
+123 3.71 50.438923727 825.328067481
+124 3.715 46.4773568526 760.242287449
+125 3.72 42.8274912666 700.563920374
+126 3.725 39.4635041252 645.815162231
+127 3.73 36.3618473701 595.563114331
+128 3.735 33.5010346035 549.415305905
+129 3.74 30.8614491473 507.015688796
+130 3.745 28.425171059 468.041051794
+131 3.75 26.1758211241 432.197808262
+132 3.755 24.0984200646 399.21911609
+133 3.76 22.179261392 368.86229374
+134 3.765 20.4057965086 340.906500282
+135 3.77 18.7665308078 315.150650994
+136 3.775 17.2509296613 291.411543325
+137 3.78 15.8493332971 269.522170811
+138 3.785 14.5528796804 249.330205101
+139 3.79 13.3534346012 230.696628411
+140 3.795 12.2435282565 213.494500686
+141 3.8 11.2162976896 197.607847495
+142 3.805 10.2654345142 182.930656184
+143 3.81 9.38513741093 169.365969178
+144 3.815 8.57006893443 156.825064535
+145 3.82 7.81531621929 145.226714879
+146 3.825 7.1163552113 134.496516825
+147 3.83 6.46901809043 124.566283826
+148 3.835 5.86946358438 115.373496111
+149 3.84 5.3141499016 106.860802062
+150 3.845 4.79981003946 98.9755659598
+151 3.85 4.32342924744 91.6694575494
+152 3.855 3.88222444642 84.8980793495
+153 3.86 3.47362542484 78.6206280516
+154 3.865 3.09525764949 72.7995867184
+155 3.87 2.74492654463 67.4004448293
+156 3.875 2.42060310675 62.3914435192
+157 3.88 2.12041073521 57.7433436194
+158 3.885 1.84261317026 53.4292143513
+159 3.89 1.58560343996 49.424240734
+160 3.895 1.34789372698 45.7055479593
+161 3.9 1.12810607442 42.2520411601
+162 3.905 0.92496385733 39.0442591487
+163 3.91 0.737283953249 36.0642408427
+164 3.915 0.563969551396 33.2954032193
+165 3.92 0.404003545437 30.7224297483
+166 3.925 0.2564424599 28.3311683573
+167 3.93 0.120410864734 26.1085380703
+168 3.935 -0.00490376337106 24.0424435434
+169 3.94 -0.120255770611 22.1216967943
+170 3.945 -0.226345680979 20.3359454863
+171 3.95 -0.323824207772 18.6756071913
+172 3.955 -0.413295950251 17.1318091041
+173 3.96 -0.495322801504 15.6963327338
+174 3.965 -0.570427091298 14.3615631388
+175 3.97 -0.639094485635 13.1204423129
+176 3.975 -0.701776662868 11.9664263642
+177 3.98 -0.75889378451 10.8934461632
+178 3.985 -0.810836777335 9.89587116294
+179 3.99 -0.857969441941 8.96847612349
+180 3.995 -0.900630401683 8.10641049364
+181 4.0 -0.939134904689 7.30517022808
+182 4.005 -0.973776490618 6.56057183534
+183 4.01 -1.00482853285 5.86872847094
+184 4.015 -1.03254566588 5.22602790624
+185 4.02 -1.05716510696 4.62911221801
+186 4.025 -1.07890788015 4.07485905752
+187 4.03 -1.09797995042 3.56036436994
+188 4.035 -1.11457327471 3.08292644583
+189 4.04 -1.12886677634 2.64003119688
+190 4.045 -1.14102724873 2.22933855711
+191 4.05 -1.1512101936 1.84866991901
+192 4.055 -1.15956059893 1.49599652185
+193 4.06 -1.16621366096 1.16942871644
+194 4.065 -1.17129545464 0.867206036674
+195 4.07 -1.17492355624 0.587688014256
+196 4.075 -1.17720762184 0.329345678162
+197 4.08 -1.17824992491 0.0907536851962
+198 4.085 -1.17814585595 -0.129416967536
+199 4.09 -1.17698438715 -0.332405693416
+200 4.095 -1.17484850446 -0.519368571864
+201 4.1 -1.1718156096 -0.691384146782
+202 4.105 -1.16795789413 -0.84945880294
+203 4.11 -1.16334268761 -0.994531752529
+204 4.115 -1.15803278177 -1.12747966154
+205 4.12 -1.15208673236 -1.24912094323
+206 4.125 -1.14555914033 -1.36021974383
+207 4.13 -1.1385009138 -1.46148964359
+208 4.135 -1.1309595122 -1.55359709446
+209 4.14 -1.1229791738 -1.63716461409
+210 4.145 -1.11460112791 -1.71277375416
+211 4.15 -1.10586379267 -1.78096785987
+212 4.155 -1.09680295968 -1.84225463583
+213 4.16 -1.08745196606 -1.89710853265
+214 4.165 -1.07784185518 -1.94597296735
+215 4.17 -1.06800152657 -1.98926238963
+216 4.175 -1.05795787589 -2.02736420527
+217 4.18 -1.04773592563 -2.06064056692
+218 4.185 -1.03735894714 -2.0894300419
+219 4.19 -1.02684857465 -2.11404916577
+220 4.195 -1.01622491175 -2.13479388991
+221 4.2 -1.0055066309 -2.15194093062
+222 4.205 -0.994711066419 -2.16574902671
+223 4.21 -0.983854301441 -2.17646011217
+224 4.215 -0.972951249128 -2.18430040971
+225 4.22 -0.962015728675 -2.18948145101
+226 4.225 -0.951060536345 -2.19220102845
+227 4.23 -0.940097511927 -2.19264408348
+228 4.235 -0.92913760089 -2.19098353577
+229 4.24 -0.918190912536 -2.18738105733
+230 4.245 -0.907266774409 -2.18198779544
+231 4.25 -0.896373783212 -2.17494504784
+232 4.255 -0.885519852462 -2.16638489351
+233 4.26 -0.87471225709 -2.15643078212
+234 4.265 -0.863957675198 -2.14519808475
+235 4.27 -0.853262227147 -2.13279460887
+236 4.275 -0.842631512163 -2.11932107965
+237 4.28 -0.832070642606 -2.1048715901
+238 4.285 -0.82158427607 -2.08953402203
+239 4.29 -0.81117664544 -2.07339043986
+240 4.295 -0.800851587053 -2.056517459
+241 4.3 -0.790612567064 -2.0389865906
+242 4.305 -0.780462706161 -2.02086456422
+243 4.31 -0.770404802702 -2.00221362974
+244 4.315 -0.760441354404 -1.98309184017
+245 4.32 -0.750574578653 -1.96355331629
+246 4.325 -0.740806431546 -1.94364849462
+247 4.33 -0.731138625717 -1.92342435953
+248 4.335 -0.721572647055 -1.90292466077
+249 4.34 -0.712109770359 -1.8821901172
+250 4.345 -0.702751074011 -1.86125860773
+251 4.35 -0.693497453724 -1.84016535019
+252 4.355 -0.684349635419 -1.81894306902
+253 4.36 -0.675308187304 -1.79762215246
+254 4.365 -0.666373531174 -1.77623079981
+255 4.37 -0.657545953012 -1.75479515963
+256 4.375 -0.648825612912 -1.73333945922
+257 4.38 -0.640212554381 -1.71188612608
+258 4.385 -0.631706713048 -1.6904559018
+259 4.39 -0.623307924828 -1.66906794891
+260 4.395 -0.615015933557 -1.64773995108
+261 4.4 -0.606830398156 -1.6264882071
+262 4.405 -0.598750899326 -1.60532771911
+263 4.41 -0.590776945828 -1.58427227531
+264 4.415 -0.582907980353 -1.5633345276
+265 4.42 -0.575143385022 -1.54252606445
+266 4.425 -0.567482486527 -1.52185747923
+267 4.43 -0.559924560948 -1.5013384344
+268 4.435 -0.552468838251 -1.48097772171
+269 4.44 -0.545114506505 -1.46078331869
+270 4.445 -0.537860715815 -1.44076244171
+271 4.45 -0.530706582 -1.42092159576
+272 4.455 -0.523651190037 -1.40126662118
+273 4.46 -0.516693597271 -1.38180273752
+274 4.465 -0.509832836414 -1.36253458471
+275 4.47 -0.503067918346 -1.34346626168
+276 4.475 -0.496397834731 -1.32460136271
+277 4.48 -0.489821560449 -1.30594301139
+278 4.485 -0.483338055873 -1.28749389264
+279 4.49 -0.476946268986 -1.26925628268
+280 4.495 -0.470645137352 -1.2512320772
+281 4.5 -0.464433589953 -1.23342281778
+282 4.505 -0.458310548894 -1.21582971671
+283 4.51 -0.452274930995 -1.19845368022
+284 4.515 -0.446325649266 -1.18129533036
+285 4.52 -0.44046161427 -1.16435502548
+286 4.525 -0.4346817354 -1.14763287946
+287 4.53 -0.428984922053 -1.13112877974
+288 4.535 -0.423370084719 -1.11484240423
+289 4.54 -0.417836135987 -1.09877323723
+290 4.545 -0.41238199148 -1.08292058423
+291 4.55 -0.407006570712 -1.06728358594
+292 4.555 -0.401708797874 -1.05186123133
+293 4.56 -0.396487602569 -1.03665236991
+294 4.565 -0.391341920477 -1.02165572322
+295 4.57 -0.386270693966 -1.00686989558
+296 4.575 -0.381272872655 -0.992293384203
+297 4.58 -0.376347413926 -0.977924588641
+298 4.585 -0.371493283387 -0.963761819613
+299 4.59 -0.366709455298 -0.949803307297
+300 4.595 -0.361994912953 -0.936047209078
+301 4.6 -0.357348649027 -0.922491616798
+302 4.605 -0.352769665884 -0.909134563531
+303 4.61 -0.348256975857 -0.895974029926
+304 4.615 -0.343809601493 -0.883007950126
+305 4.62 -0.339426575775 -0.870234217299
+306 4.625 -0.335106942311 -0.857650688807
+307 4.63 -0.330849755501 -0.845255191024
+308 4.635 -0.326654080682 -0.833045523832
+309 4.64 -0.322518994248 -0.821019464813
+310 4.645 -0.318443583754 -0.809174773153
+311 4.65 -0.314426947996 -0.797509193282
+312 4.655 -0.310468197079 -0.786020458251
+313 4.66 -0.306566452464 -0.774706292883
+314 4.665 -0.302720847002 -0.763564416693
+315 4.67 -0.298930524954 -0.752592546601
+316 4.675 -0.295194641998 -0.741788399447
+317 4.68 -0.291512365223 -0.731149694325
+318 4.685 -0.287882873112 -0.720674154735
+319 4.69 -0.284305355517 -0.710359510583
+320 4.695 -0.280779013618 -0.700203500014
+321 4.7 -0.277303059881 -0.690203871119
+322 4.705 -0.273876718005 -0.680358383489
+323 4.71 -0.270499222857 -0.670664809654
+324 4.715 -0.267169820408 -0.6611209364
+325 4.72 -0.263887767656 -0.651724565975
+326 4.725 -0.260652332547 -0.64247351719
+327 4.73 -0.257462793889 -0.633365626422
+328 4.735 -0.254318441262 -0.624398748527
+329 4.74 -0.251218574926 -0.615570757662
+330 4.745 -0.248162505718 -0.606879548039
+331 4.75 -0.245149554953 -0.598323034585
+332 4.755 -0.242179054319 -0.58989915355
+333 4.76 -0.239250345768 -0.581605863034
+334 4.765 -0.236362781405 -0.573441143467
+335 4.77 -0.233515723378 -0.565402998016
+336 4.775 -0.230708543759 -0.557489452949
+337 4.78 -0.227940624433 -0.549698557946
+338 4.785 -0.225211356975 -0.542028386363
+339 4.79 -0.222520142536 -0.534477035451
+340 4.795 -0.219866391719 -0.527042626532
+341 4.8 -0.21724952446 -0.519723305146
+342 4.805 -0.214668969906 -0.512517241154
+343 4.81 -0.212124166297 -0.505422628808
+344 4.815 -0.209614560836 -0.498437686799
+345 4.82 -0.207139609574 -0.491560658268
+346 4.825 -0.204698777286 -0.484789810792
+347 4.83 -0.202291537346 -0.478123436352
+348 4.835 -0.199917371608 -0.471559851267
+349 4.84 -0.197575770285 -0.465097396123
+350 4.845 -0.195266231824 -0.458734435665
+351 4.85 -0.19298826279 -0.452469358686
+352 4.855 -0.190741377745 -0.446300577889
+353 4.86 -0.188525099125 -0.440226529743
+354 4.865 -0.186338957127 -0.434245674319
+355 4.87 -0.184182489589 -0.428356495114
+356 4.875 -0.182055241873 -0.422557498867
+357 4.88 -0.179956766747 -0.416847215362
+358 4.885 -0.177886624278 -0.41122419722
+359 4.89 -0.175844381709 -0.405687019689
+360 4.895 -0.173829613352 -0.400234280415
+361 4.9 -0.171841900476 -0.394864599219
+362 4.905 -0.169880831195 -0.389576617857
+363 4.91 -0.16794600036 -0.384368999782
+364 4.915 -0.166037009451 -0.379240429897
+365 4.92 -0.164153466471 -0.374189614305
+366 4.925 -0.16229498584 -0.369215280054
+367 4.93 -0.16046118829 -0.364316174883
+368 4.935 -0.158651700764 -0.359491066961
+369 4.94 -0.156866156312 -0.354738744625
+370 4.945 -0.155104193995 -0.350058016116
+371 4.95 -0.153365458783 -0.345447709317
+372 4.955 -0.151649601455 -0.340906671484
+373 4.96 -0.14995627851 -0.336433768983
+374 4.965 -0.148285152065 -0.33202788702
+375 4.97 -0.146635889767 -0.327687929376
+376 4.975 -0.145008164695 -0.323412818142
+377 4.98 -0.143401655276 -0.319201493452
+378 4.985 -0.141816045188 -0.315052913217
+379 4.99 -0.140251023278 -0.310966052862
+380 4.995 -0.138706283472 -0.306939905064
+381 5.0 -0.137181524691 -0.30297347949
+382 5.005 -0.135676450764 -0.299065802536
+383 5.01 -0.134190770348 -0.295215917071
+384 5.015 -0.132724196843 -0.291422882179
+385 5.02 -0.131276448317 -0.287685772906
+386 5.025 -0.129847247421 -0.284003680008
+387 5.03 -0.128436321314 -0.280375709698
+388 5.035 -0.127043401585 -0.276800983406
+389 5.04 -0.12566822418 -0.273278637523
+390 5.045 -0.124310529325 -0.269807823169
+391 5.05 -0.122970061454 -0.266387705946
+392 5.055 -0.121646569138 -0.263017465704
+393 5.06 -0.120339805013 -0.259696296304
+394 5.065 -0.119049525711 -0.256423405389
+395 5.07 -0.117775491793 -0.253198014152
+396 5.075 -0.11651746768 -0.25001935711
+397 5.08 -0.115275221587 -0.246886681885
+398 5.085 -0.114048525458 -0.243799248974
+399 5.09 -0.112837154905 -0.240756331544
+400 5.095 -0.111640889142 -0.237757215204
+401 5.1 -0.110459510922 -0.234801197803
+402 5.105 -0.109292806483 -0.231887589219
+403 5.11 -0.10814056548 -0.229015711147
+404 5.115 -0.107002580932 -0.226184896906
+405 5.12 -0.105878649164 -0.223394491231
+406 5.125 -0.104768569746 -0.220643850079
+407 5.13 -0.103672145444 -0.217932340436
+408 5.135 -0.10258918216 -0.215259340122
+409 5.14 -0.101519488881 -0.212624237608
+410 5.145 -0.100462877624 -0.210026431825
+411 5.15 -0.0994191633865 -0.207465331988
+412 5.155 -0.0983881640955 -0.204940357408
+413 5.16 -0.0973697005554 -0.202450937324
+414 5.165 -0.0963635964003 -0.199996510721
+415 5.17 -0.0953696780453 -0.197576526166
+416 5.175 -0.0943877746391 -0.195190441635
+417 5.18 -0.0934177180174 -0.192837724349
+418 5.185 -0.0924593426569 -0.190517850609
+419 5.19 -0.0915124856305 -0.188230305639
+420 5.195 -0.0905769865631 -0.185974583427
+421 5.2 -0.0896526875878 -0.18375018657
+422 5.205 -0.0887394333038 -0.18155662612
+423 5.21 -0.0878370707341 -0.179393421439
+424 5.215 -0.0869454492844 -0.177260100045
+425 5.22 -0.0860644207027 -0.175156197473
+426 5.225 -0.0851938390397 -0.173081257131
+427 5.23 -0.0843335606096 -0.17103483016
+428 5.235 -0.0834834439517 -0.169016475296
+429 5.24 -0.0826433497932 -0.167025758735
+430 5.245 -0.0818131410117 -0.165062254002
+431 5.25 -0.0809926825993 -0.163125541821
+432 5.255 -0.0801818416266 -0.161215209984
+433 5.26 -0.079380487208 -0.159330853228
+434 5.265 -0.078588490467 -0.157472073109
+435 5.27 -0.0778057245025 -0.155638477884
+436 5.275 -0.0770320643556 -0.15382968239
+437 5.28 -0.0762673869772 -0.152045307925
+438 5.285 -0.0755115711956 -0.150284982136
+439 5.29 -0.0747644976853 -0.148548338906
+440 5.295 -0.0740260489359 -0.146835018241
+441 5.3 -0.0732961092222 -0.145144666161
+442 5.305 -0.0725745645738 -0.143476934597
+443 5.31 -0.0718613027461 -0.14183148128
+444 5.315 -0.0711562131918 -0.140207969643
+445 5.32 -0.0704591870322 -0.138606068717
+446 5.325 -0.0697701170295 -0.137025453033
+447 5.33 -0.0690888975602 -0.135465802523
+448 5.335 -0.0684154245873 -0.133926802424
+449 5.34 -0.0677495956348 -0.132408143187
+450 5.345 -0.0670913097616 -0.130909520379
+451 5.35 -0.0664404675362 -0.129430634599
+452 5.355 -0.0657969710116 -0.127971191381
+453 5.36 -0.0651607237011 -0.126530901116
+454 5.365 -0.0645316305539 -0.125109478958
+455 5.37 -0.0639095979318 -0.123706644743
+456 5.375 -0.0632945335861 -0.122322122907
+457 5.38 -0.0626863466341 -0.120955642402
+458 5.385 -0.0620849475378 -0.119606936622
+459 5.39 -0.0614902480807 -0.118275743316
+460 5.395 -0.0609021613473 -0.11696180452
+461 5.4 -0.0603206017011 -0.115664866475
+462 5.405 -0.0597454847642 -0.114384679556
+463 5.41 -0.0591767273965 -0.113120998201
+464 5.415 -0.0586142476758 -0.111873580833
+465 5.42 -0.0580579648779 -0.110642189799
+466 5.425 -0.0575077994571 -0.109426591294
+467 5.43 -0.0569636730276 -0.108226555298
+468 5.435 -0.056425508344 -0.107041855505
+469 5.44 -0.0558932292835 -0.105872269263
+470 5.445 -0.0553667608274 -0.104717577509
+471 5.45 -0.0548460290437 -0.103577564704
+472 5.455 -0.0543309610691 -0.102452018771
+473 5.46 -0.0538214850925 -0.101340731041
+474 5.465 -0.0533175303375 -0.100243496185
+475 5.47 -0.0528190270461 -0.0991601121616
+476 5.475 -0.0523259064626 -0.0980903801592
+477 5.48 -0.0518381008174 -0.0970341045378
+478 5.485 -0.051355543311 -0.0959910927755
+479 5.49 -0.0508781680991 -0.0949611554144
+480 5.495 -0.0504059102771 -0.093944106007
+481 5.5 -0.0499387058651 -0.0929397610647
+482 5.505 -0.0494764917935 -0.0919479400065
+483 5.51 -0.0490192058883 -0.0909684651086
+484 5.515 -0.0485667868571 -0.0900011614554
+485 5.52 -0.0481191742754 -0.089045856891
+486 5.525 -0.0476763085723 -0.0881023819721
+487 5.53 -0.0472381310177 -0.0871705699209
+488 5.535 -0.0468045837087 -0.0862502565794
+489 5.54 -0.0463756095568 -0.0853412803652
+490 5.545 -0.0459511522751 -0.0844434822262
+491 5.55 -0.0455311563655 -0.0835567055986
+492 5.555 -0.0451155671069 -0.0826807963635
+493 5.56 -0.0447043305426 -0.0818156028054
+494 5.565 -0.0442973934684 -0.0809609755715
+495 5.57 -0.0438947034215 -0.0801167676313
+496 5.575 -0.043496208668 -0.0792828342371
+497 5.58 -0.0431018581925 -0.0784590328851
+498 5.585 -0.0427116016864 -0.0776452232778
+499 5.59 -0.0423253895371 -0.0768412672861
+500 5.595 -0.0419431728176 -0.0760470289129
+501 5.6 -0.0415649032753 -0.075262374257
+502 5.605 -0.041190533322 -0.0744871714779
+503 5.61 -0.0408200160238 -0.0737212907608
+504 5.615 -0.0404533050908 -0.0729646042826
+505 5.62 -0.0400903548671 -0.0722169861784
+506 5.625 -0.0397311203217 -0.0714783125087
+507 5.63 -0.0393755570382 -0.0707484612271
+508 5.635 -0.0390236212059 -0.0700273121483
+509 5.64 -0.0386752696104 -0.0693147469176
+510 5.645 -0.0383304596246 -0.0686106489795
+511 5.65 -0.0379891491998 -0.0679149035485
+512 5.655 -0.0376512968568 -0.0672273975789
+513 5.66 -0.0373168616773 -0.0665480197363
+514 5.665 -0.0369858032954 -0.065876660369
+515 5.67 -0.0366580818895 -0.0652132114801
+516 5.675 -0.0363336581739 -0.0645575667
+517 5.68 -0.0360124933904 -0.0639096212595
+518 5.685 -0.0356945493011 -0.0632692719635
+519 5.69 -0.03537978818 -0.0626364171647
+520 5.695 -0.0350681728056 -0.0620109567384
+521 5.7 -0.0347596664531 -0.061392792057
+522 5.705 -0.0344542328874 -0.0607818259659
+523 5.71 -0.0341518363554 -0.060177962759
+524 5.715 -0.0338524415789 -0.059581108155
+525 5.72 -0.0335560137477 -0.0589911692739
+526 5.725 -0.0332625185126 -0.0584080546145
+527 5.73 -0.0329719219782 -0.0578316740315
+528 5.735 -0.0326841906969 -0.0572619387135
+529 5.74 -0.0323992916615 -0.0566987611612
+530 5.745 -0.0321171922994 -0.0561420551663
+531 5.75 -0.0318378604656 -0.0555917357902
+532 5.755 -0.0315612644367 -0.0550477193436
+533 5.76 -0.0312873729048 -0.0545099233662
+534 5.765 -0.0310161549711 -0.0539782666069
+535 5.77 -0.0307475801402 -0.0534526690041
+536 5.775 -0.030481618314 -0.0529330516667
+537 5.78 -0.030218239786 -0.0524193368549
+538 5.785 -0.0299574152356 -0.0519114479623
+539 5.79 -0.0296991157224 -0.051409309497
+540 5.795 -0.0294433126807 -0.050912847064
+541 5.8 -0.029189977914 -0.0504219873478
+542 5.805 -0.0289390835898 -0.049936658095
+543 5.81 -0.0286906022343 -0.0494567880971
+544 5.815 -0.0284445067271 -0.0489823071741
+545 5.82 -0.0282007702961 -0.0485131461582
+546 5.825 -0.0279593665127 -0.0480492368772
+547 5.83 -0.0277202692865 -0.0475905121394
+548 5.835 -0.0274834528608 -0.0471369057172
+549 5.84 -0.0272488918076 -0.0466883523327
+550 5.845 -0.027016561023 -0.0462447876419
+551 5.85 -0.0267864357225 -0.0458061482206
+552 5.855 -0.0265584914363 -0.0453723715492
+553 5.86 -0.0263327040052 -0.0449433959991
+554 5.865 -0.0261090495757 -0.0445191608184
+555 5.87 -0.0258875045962 -0.0440996061179
+556 5.875 -0.0256680458122 -0.043684672858
+557 5.88 -0.0254506502623 -0.043274302835
+558 5.885 -0.0252352952741 -0.0428684386684
+559 5.89 -0.0250219584602 -0.0424670237876
+560 5.895 -0.0248106177138 -0.0420700024197
+561 5.9 -0.0246012512052 -0.0416773195766
+562 5.905 -0.0243938373776 -0.0412889210434
+563 5.91 -0.0241883549434 -0.0409047533657
+564 5.915 -0.0239847828804 -0.0405247638384
+565 5.92 -0.023783100428 -0.0401489004937
+566 5.925 -0.0235832870839 -0.0397771120898
+567 5.93 -0.0233853225998 -0.0394093480998
+568 5.935 -0.0231891869786 -0.0390455587005
+569 5.94 -0.0229948604704 -0.0386856947618
+570 5.945 -0.0228023235693 -0.0383297078356
+571 5.95 -0.02261155701 -0.0379775501459
+572 5.955 -0.0224225417644 -0.0376291745779
+573 5.96 -0.0222352590382 -0.0372845346683
+574 5.965 -0.022049690268 -0.0369435845953
+575 5.97 -0.0218658171179 -0.0366062791685
+576 5.975 -0.0216836214762 -0.0362725738196
+577 5.98 -0.0215030854528 -0.0359424245927
+578 5.985 -0.0213241913757 -0.0356157881351
+579 5.99 -0.0211469217882 -0.0352926216881
+580 5.995 -0.0209712594458 -0.0349728830781
+581 6.0 -0.0207971873137 -0.0346565307074
+582 6.005 -0.0206246885634 -0.034343523546
+583 6.01 -0.0204537465704 -0.0340338211226
+584 6.015 -0.0202843449109 -0.0337273835164
+585 6.02 -0.0201164673595 -0.0334241713486
+586 6.025 -0.0199500978864 -0.0331241457746
+587 6.03 -0.0197852206547 -0.0328272684755
+588 6.035 -0.0196218200176 -0.0325335016508
+589 6.04 -0.0194598805162 -0.0322428080099
+590 6.045 -0.0192993868768 -0.0319551507653
+591 6.05 -0.0191403240084 -0.0316704936245
+592 6.055 -0.0189826770001 -0.0313888007827
+593 6.06 -0.018826431119 -0.0311100369157
+594 6.065 -0.0186715718074 -0.0308341671728
+595 6.07 -0.018518084681 -0.0305611571696
+596 6.075 -0.0183659555261 -0.0302909729809
+597 6.08 -0.0182151702974 -0.0300235811346
+598 6.085 -0.0180657151159 -0.0297589486041
+599 6.09 -0.0179175762668 -0.0294970428023
+600 6.095 -0.0177707401969 -0.0292378315752
+601 6.1 -0.017625193513 -0.028981283195
+602 6.105 -0.0174809229791 -0.0287273663543
+603 6.11 -0.017337915515 -0.0284760501597
+604 6.115 -0.0171961581939 -0.0282273041259
+605 6.12 -0.0170556382404 -0.0279810981694
+606 6.125 -0.0169163430283 -0.0277374026031
+607 6.13 -0.0167782600792 -0.0274961881301
+608 6.135 -0.01664137706 -0.0272574258382
+609 6.14 -0.0165056817814 -0.0270210871943
+610 6.145 -0.0163711621956 -0.0267871440387
+611 6.15 -0.0162378063949 -0.0265555685802
+612 6.155 -0.0161056026094 -0.0263263333899
+613 6.16 -0.0159745392057 -0.0260994113969
+614 6.165 -0.0158446046847 -0.0258747758823
+615 6.17 -0.01571578768 -0.0256524004746
+616 6.175 -0.0155880769565 -0.0254322591449
+617 6.18 -0.015461461408 -0.0252143262011
+618 6.185 -0.0153359300561 -0.024998576284
+619 6.19 -0.0152114720485 -0.0247849843619
+620 6.195 -0.015088076657 -0.0245735257263
+621 6.2 -0.0149657332764 -0.024364175987
+622 6.205 -0.0148444314225 -0.0241569110676
+623 6.21 -0.0147241607307 -0.0239517072012
+624 6.215 -0.0146049109545 -0.0237485409258
+625 6.22 -0.014486671964 -0.0235473890799
+626 6.225 -0.0143694337444 -0.0233482287986
+627 6.23 -0.0142531863944 -0.0231510375089
+628 6.235 -0.0141379201248 -0.0229557929258
+629 6.24 -0.0140236252573 -0.0227624730484
+630 6.245 -0.0139102922227 -0.0225710561554
+631 6.25 -0.0137979115599 -0.0223815208018
+632 6.255 -0.0136864739141 -0.0221938458144
+633 6.26 -0.013575970036 -0.0220080102883
+634 6.265 -0.0134663907799 -0.021823993583
+635 6.27 -0.0133577271028 -0.0216417753188
+636 6.275 -0.0132499700628 -0.0214613353731
+637 6.28 -0.0131431108183 -0.0212826538767
+638 6.285 -0.013037140626 -0.0211057112104
+639 6.29 -0.0129320508404 -0.0209304880015
+640 6.295 -0.0128278329122 -0.0207569651202
+641 6.3 -0.0127244783869 -0.0205851236763
+642 6.305 -0.0126219789041 -0.020414945016
+643 6.31 -0.0125203261961 -0.0202464107184
+644 6.315 -0.0124195120866 -0.0200795025926
+645 6.32 -0.0123195284899 -0.0199142026739
+646 6.325 -0.0122203674091 -0.0197504932215
+647 6.33 -0.0121220209361 -0.0195883567147
+648 6.335 -0.0120244812493 -0.0194277758502
+649 6.34 -0.0119277406133 -0.0192687335389
+650 6.345 -0.0118317913778 -0.0191112129035
+651 6.35 -0.011736625976 -0.0189551972747
+652 6.355 -0.0116422369241 -0.0188006701892
+653 6.36 -0.0115486168203 -0.0186476153863
+654 6.365 -0.0114557583432 -0.0184960168053
+655 6.37 -0.0113636542516 -0.018345858583
+656 6.375 -0.0112722973829 -0.0181971250506
+657 6.38 -0.0111816806525 -0.0180498007315
+658 6.385 -0.0110917970524 -0.0179038703382
+659 6.39 -0.011002639651 -0.01775931877
+660 6.395 -0.0109142015915 -0.0176161311107
+661 6.4 -0.0108264760913 -0.0174742926254
+662 6.405 -0.0107394564409 -0.017333788759
+663 6.41 -0.0106531360033 -0.0171946051328
+664 6.415 -0.0105675082129 -0.0170567275427
+665 6.42 -0.0104825665746 -0.016920141957
+666 6.425 -0.0103983046631 -0.0167848345133
+667 6.43 -0.010314716122 -0.0166507915172
+668 6.435 -0.0102317946631 -0.0165179994391
+669 6.44 -0.0101495340651 -0.016386444913
+670 6.445 -0.0100679281734 -0.0162561147332
+671 6.45 -0.00998697089892 -0.0161269958531
+672 6.455 -0.0099066562175 -0.0159990753826
+673 6.46 -0.00982697816897 -0.0158723405861
+674 6.465 -0.0097479308565 -0.0157467788803
+675 6.47 -0.00966950844575 -0.0156223778326
+676 6.475 -0.00959170516422 -0.0154991251586
+677 6.48 -0.00951451530045 -0.0153770087205
+678 6.485 -0.00943793320329 -0.0152560165249
+679 6.49 -0.00936195328122 -0.0151361367211
+680 6.495 -0.00928657000161 -0.0150173575989
+681 6.5 -0.00921177789005 -0.0148996675874
+682 6.505 -0.00913757152962 -0.0147830552523
+683 6.51 -0.00906394556024 -0.0146675092947
+684 6.515 -0.00899089467799 -0.0145530185491
+685 6.52 -0.00891841363446 -0.0144395719819
+686 6.525 -0.00884649723606 -0.0143271586891
+687 6.53 -0.00877514034341 -0.0142157678952
+688 6.535 -0.0087043378707 -0.0141053889514
+689 6.54 -0.00863408478503 -0.0139960113337
+690 6.545 -0.00856437610582 -0.0138876246413
+691 6.55 -0.00849520690421 -0.0137802185952
+692 6.555 -0.0084265723024 -0.0136737830367
+693 6.56 -0.0083584674731 -0.0135683079253
+694 6.565 -0.00829088763895 -0.0134637833379
+695 6.57 -0.00822382807187 -0.0133601994666
+696 6.575 -0.00815728409258 -0.0132575466177
+697 6.58 -0.00809125106997 -0.01315581521
+698 6.585 -0.00802572442054 -0.0130549957733
+699 6.59 -0.00796069960789 -0.0129550789471
+700 6.595 -0.00789617214214 -0.0128560554792
+701 6.6 -0.00783213757941 -0.0127579162242
+702 6.605 -0.00776859152128 -0.0126606521422
+703 6.61 -0.00770552961427 -0.0125642542974
+704 6.615 -0.00764294754931 -0.0124687138569
+705 6.62 -0.00758084106125 -0.0123740220889
+706 6.625 -0.00751920592835 -0.0122801703624
+707 6.63 -0.00745803797178 -0.0121871501447
+708 6.635 -0.00739733305512 -0.0120949530012
+709 6.64 -0.00733708708388 -0.0120035705934
+710 6.645 -0.00727729600504 -0.0119129946781
+711 6.65 -0.00721795580654 -0.0118232171061
+712 6.655 -0.00715906251684 -0.0117342298209
+713 6.66 -0.00710061220446 -0.0116460248577
+714 6.665 -0.00704260097752 -0.011558594342
+715 6.67 -0.00698502498328 -0.0114719304888
+716 6.675 -0.0069278804077 -0.011386025601
+717 6.68 -0.00687116347501 -0.0113008720688
+718 6.685 -0.00681487044729 -0.0112164623683
+719 6.69 -0.00675899762401 -0.0111327890605
+720 6.695 -0.00670354134163 -0.0110498447902
+721 6.7 -0.00664849797317 -0.010967622285
+722 6.705 -0.00659386392783 -0.0108861143542
+723 6.71 -0.00653963565053 -0.0108053138879
+724 6.715 -0.00648580962156 -0.0107252138558
+725 6.72 -0.00643238235617 -0.0106458073064
+726 6.725 -0.00637935040415 -0.0105670873659
+727 6.73 -0.00632671034949 -0.0104890472373
+728 6.735 -0.00627445880997 -0.0104116801994
+729 6.74 -0.00622259243676 -0.0103349796058
+730 6.745 -0.00617110791413 -0.0102589388842
+731 6.75 -0.00612000195897 -0.0101835515351
+732 6.755 -0.00606927132054 -0.0101088111315
+733 6.76 -0.00601891278001 -0.0100347113173
+734 6.765 -0.00596892315019 -0.00996124580682
+735 6.77 -0.00591929927513 -0.00988840838405
+736 6.775 -0.00587003802979 -0.00981619290146
+737 6.78 -0.00582113631969 -0.00974459327937
+738 6.785 -0.00577259108059 -0.00967360350506
+739 6.79 -0.00572439927814 -0.00960321763197
+740 6.795 -0.00567655790757 -0.00953342977884
+741 6.8 -0.00562906399335 -0.009464234129
+742 6.805 -0.00558191458887 -0.00939562492948
+743 6.81 -0.00553510677612 -0.00932759649031
+744 6.815 -0.00548863766541 -0.00926014318374
+745 6.82 -0.00544250439501 -0.00919325944343
+746 6.825 -0.00539670413088 -0.00912693976378
+747 6.83 -0.00535123406635 -0.00906117869914
+748 6.835 -0.00530609142185 -0.0089959708631
+749 6.84 -0.00526127344456 -0.00893131092779
+750 6.845 -0.00521677740819 -0.00886719362314
+751 6.85 -0.00517260061263 -0.0088036137362
+752 6.855 -0.00512874038373 -0.00874056611047
+753 6.86 -0.00508519407293 -0.00867804564517
+754 6.865 -0.00504195905709 -0.00861604729463
+755 6.87 -0.00499903273812 -0.00855456606758
+756 6.875 -0.00495641254277 -0.00849359702652
+757 6.88 -0.00491409592235 -0.00843313528707
+758 6.885 -0.00487208035245 -0.00837317601735
+759 6.89 -0.0048303633327 -0.00831371443731
+760 6.895 -0.00478894238648 -0.00825474581818
+761 6.9 -0.00474781506071 -0.00819626548178
+762 6.905 -0.00470697892557 -0.00813826879998
+763 6.91 -0.00466643157426 -0.00808075119406
+764 6.915 -0.00462617062273 -0.00802370813416
+765 6.92 -0.00458619370948 -0.00796713513869
+766 6.925 -0.00454649849529 -0.00791102777373
+767 6.93 -0.004507082663 -0.0078553816525
+768 6.935 -0.00446794391726 -0.00780019243478
+769 6.94 -0.00442907998431 -0.00774545582638
+770 6.945 -0.00439048861173 -0.00769116757859
+771 6.95 -0.00435216756826 -0.00763732348763
+772 6.955 -0.00431411464353 -0.00758391939413
+773 6.96 -0.00427632764786 -0.00753095118263
+774 6.965 -0.00423880441202 -0.00747841478103
+775 6.97 -0.00420154278708 -0.0074263061601
+776 6.975 -0.0041645406441 -0.00737462133297
+777 6.98 -0.004127795874 -0.00732335635464
+778 6.985 -0.00409130638732 -0.0072725073215
+779 6.99 -0.00405507011399 -0.00722207037082
+780 6.995 -0.00401908500318 -0.00717204168032
+781 7.0 -0.00398334902306 -0.00712241746764
+782 7.005 -0.00394786016061 -0.00707319398991
+783 7.01 -0.00391261642144 -0.00702436754329
+784 7.015 -0.00387761582957 -0.00697593446253
+785 7.02 -0.00384285642725 -0.00692789112049
+786 7.025 -0.00380833627479 -0.00688023392772
+787 7.03 -0.00377405345032 -0.00683295933202
+788 7.035 -0.00374000604966 -0.006786063818
+789 7.04 -0.00370619218613 -0.00673954390668
+790 7.045 -0.00367260999033 -0.00669339615506
+791 7.05 -0.00363925761 -0.0066476171557
+792 7.055 -0.00360613320981 -0.00660220353629
+793 7.06 -0.00357323497123 -0.00655715195929
+794 7.065 -0.00354056109232 -0.00651245912153
+795 7.07 -0.00350810978757 -0.00646812175376
+796 7.075 -0.00347587928773 -0.00642413662034
+797 7.08 -0.00344386783965 -0.00638050051877
+798 7.085 -0.00341207370611 -0.0063372102794
+799 7.09 -0.00338049516565 -0.006294262765
+800 7.095 -0.00334913051243 -0.0062516548704
+801 7.1 -0.00331797805604 -0.00620938352214
+802 7.105 -0.00328703612137 -0.00616744567807
+803 7.11 -0.00325630304843 -0.00612583832708
+804 7.115 -0.00322577719224 -0.00608455848864
+805 7.12 -0.00319545692261 -0.00604360321253
+806 7.125 -0.00316534062405 -0.00600296957848
+807 7.13 -0.00313542669558 -0.00596265469582
+808 7.135 -0.00310571355061 -0.00592265570314
+809 7.14 -0.00307619961678 -0.005882969768
+810 7.145 -0.00304688333584 -0.00584359408654
+811 7.15 -0.00301776316346 -0.00580452588324
+812 7.155 -0.00298883756913 -0.00576576241051
+813 7.16 -0.002960105036 -0.00572730094846
+814 7.165 -0.00293156406078 -0.00568913880453
+815 7.17 -0.00290321315354 -0.00565127331323
+816 7.175 -0.00287505083762 -0.0056137018358
+817 7.18 -0.00284707564951 -0.00557642175992
+818 7.185 -0.00281928613867 -0.00553943049944
+819 7.19 -0.00279168086743 -0.00550272549407
+820 7.195 -0.00276425841086 -0.00546630420907
+821 7.2 -0.00273701735665 -0.00543016413502
+822 7.205 -0.00270995630497 -0.00539430278748
+823 7.21 -0.00268307386833 -0.00535871770676
+824 7.215 -0.00265636867152 -0.00532340645761
+825 7.22 -0.00262983935139 -0.00528836662899
+826 7.225 -0.00260348455684 -0.00525359583375
+827 7.23 -0.00257730294861 -0.00521909170842
+828 7.235 -0.00255129319921 -0.00518485191292
+829 7.24 -0.00252545399279 -0.00515087413029
+830 7.245 -0.00249978402504 -0.00511715606646
+831 7.25 -0.00247428200305 -0.00508369545
+832 7.255 -0.00244894664521 -0.00505049003185
+833 7.26 -0.00242377668111 -0.0050175375851
+834 7.265 -0.00239877085142 -0.00498483590472
+835 7.27 -0.00237392790776 -0.00495238280735
+836 7.275 -0.00234924661264 -0.00492017613103
+837 7.28 -0.00232472573932 -0.004888213735
+838 7.285 -0.00230036407169 -0.00485649349945
+839 7.29 -0.00227616040422 -0.00482501332528
+840 7.295 -0.0022521135418 -0.00479377113392
+841 7.3 -0.00222822229968 -0.00476276486705
+842 7.305 -0.00220448550332 -0.00473199248642
+843 7.31 -0.00218090198837 -0.00470145197362
+844 7.315 -0.00215747060047 -0.00467114132986
+845 7.32 -0.00213419019525 -0.00464105857576
+846 7.325 -0.00211105963817 -0.00461120175114
+847 7.33 -0.00208807780443 -0.00458156891484
+848 7.335 -0.00206524357891 -0.00455215814447
+849 7.34 -0.00204255585605 -0.00452296753622
+850 7.345 -0.00202001353975 -0.00449399520468
+851 7.35 -0.00199761554332 -0.00446523928264
+852 7.355 -0.00197536078933 -0.00443669792087
+853 7.36 -0.00195324820956 -0.00440836928794
+854 7.365 -0.00193127674492 -0.00438025157005
+855 7.37 -0.00190944534533 -0.00435234297081
+856 7.375 -0.00188775296965 -0.00432464171107
+857 7.38 -0.00186619858559 -0.00429714602873
+858 7.385 -0.00184478116965 -0.00426985417856
+859 7.39 -0.00182349970697 -0.00424276443203
+860 7.395 -0.00180235319134 -0.00421587507713
+861 7.4 -0.00178134062504 -0.00418918441815
+862 7.405 -0.0017604610188 -0.0041626907756
+863 7.41 -0.0017397133917 -0.00413639248593
+864 7.415 -0.0017190967711 -0.00411028790146
+865 7.42 -0.00169861019256 -0.00408437539014
+866 7.425 -0.00167825269977 -0.00405865333542
+867 7.43 -0.00165802334445 -0.00403312013606
+868 7.435 -0.00163792118629 -0.00400777420601
+869 7.44 -0.00161794529289 -0.00398261397421
+870 7.445 -0.00159809473965 -0.00395763788446
+871 7.45 -0.00157836860971 -0.00393284439525
+872 7.455 -0.00155876599391 -0.00390823197958
+873 7.46 -0.00153928599065 -0.00388379912488
+874 7.465 -0.00151992770589 -0.00385954433278
+875 7.47 -0.00150069025303 -0.00383546611901
+876 7.475 -0.00148157275285 -0.00381156301323
+877 7.48 -0.00146257433348 -0.0037878335589
+878 7.485 -0.00144369413025 -0.00376427631313
+879 7.49 -0.00142493128571 -0.00374088984652
+880 7.495 -0.00140628494952 -0.00371767274304
+881 7.5 -0.00138775427835 -0.00369462359991
+882 7.505 -0.0013693384359 -0.00367174102741
+883 7.51 -0.00135103659275 -0.00364902364878
+884 7.515 -0.00133284792636 -0.00362647010008
+885 7.52 -0.00131477162096 -0.00360407903007
+886 7.525 -0.0012968068675 -0.00358184910005
+887 7.53 -0.0012789528636 -0.00355977898374
+888 7.535 -0.00126120881349 -0.00353786736716
+889 7.54 -0.00124357392793 -0.00351611294851
+890 7.545 -0.00122604742416 -0.00349451443802
+891 7.55 -0.00120862852584 -0.00347307055786
+892 7.555 -0.00119131646298 -0.00345178004197
+893 7.56 -0.0011741104719 -0.00343064163599
+894 7.565 -0.00115700979517 -0.0034096540971
+895 7.57 -0.00114001368154 -0.00338881619393
+896 7.575 -0.00112312138587 -0.00336812670643
+897 7.58 -0.00110633216913 -0.00334758442575
+898 7.585 -0.00108964529827 -0.00332718815413
+899 7.59 -0.00107306004622 -0.00330693670479
+900 7.595 -0.00105657569181 -0.00328682890181
+901 7.6 -0.00104019151973 -0.00326686358005
+902 7.605 -0.00102390682047 -0.00324703958498
+903 7.61 -0.00100772089024 -0.00322735577263
+904 7.615 -0.000991633030992 -0.00320781100945
+905 7.62 -0.000975642550274 -0.00318840417222
+906 7.625 -0.000959748761248 -0.00316913414793
+907 7.63 -0.000943950982612 -0.00314999983371
+908 7.635 -0.00092824853855 -0.00313100013668
+909 7.64 -0.000912640758688 -0.00311213397388
+910 7.645 -0.000897126978043 -0.00309340027216
+911 7.65 -0.000881706536971 -0.0030747979681
+912 7.655 -0.000866378781123 -0.00305632600787
+913 7.66 -0.000851143061394 -0.00303798334719
+914 7.665 -0.000835998733877 -0.00301976895117
+915 7.67 -0.000820945159817 -0.00300168179428
+916 7.675 -0.000805981705564 -0.0029837208602
+917 7.68 -0.000791107742523 -0.00296588514177
+918 7.685 -0.000776322647117 -0.00294817364088
+919 7.69 -0.000761625800734 -0.00293058536838
+920 7.695 -0.000747016589687 -0.00291311934398
+921 7.7 -0.000732494405167 -0.00289577459618
+922 7.705 -0.000718058643203 -0.00287855016219
+923 7.71 -0.000703708704613 -0.0028614450878
+924 7.715 -0.000689443994968 -0.00284445842736
+925 7.72 -0.000675263924546 -0.00282758924361
+926 7.725 -0.000661167908286 -0.0028108366077
+927 7.73 -0.000647155365757 -0.002794199599
+928 7.735 -0.000633225721105 -0.00277767730511
+929 7.74 -0.000619378403022 -0.00276126882172
+930 7.745 -0.000605612844698 -0.00274497325255
+931 7.75 -0.000591928483787 -0.00272878970927
+932 7.755 -0.000578324762364 -0.00271271731143
+933 7.76 -0.000564801126885 -0.00269675518635
+934 7.765 -0.000551357028154 -0.00268090246909
+935 7.77 -0.000537991921277 -0.00266515830234
+936 7.775 -0.00052470526563 -0.00264952183636
+937 7.78 -0.000511496524817 -0.00263399222891
+938 7.785 -0.000498365166635 -0.00261856864514
+939 7.79 -0.000485310663039 -0.00260325025757
+940 7.795 -0.0004723324901 -0.00258803624599
+941 7.8 -0.000459430127974 -0.00257292579737
+942 7.805 -0.000446603060865 -0.00255791810586
+943 7.81 -0.000433850776986 -0.00254301237261
+944 7.815 -0.000421172768528 -0.00252820780582
+945 7.82 -0.000408568531625 -0.00251350362058
+946 7.825 -0.000396037566317 -0.00249889903884
+947 7.83 -0.000383579376517 -0.00248439328937
+948 7.835 -0.000371193469977 -0.00246998560763
+949 7.84 -0.000358879358258 -0.00245567523575
+950 7.845 -0.000346636556689 -0.00244146142247
+951 7.85 -0.000334464584344 -0.00242734342306
+952 7.855 -0.000322362964 -0.00241332049923
+953 7.86 -0.000310331222112 -0.00239939191913
+954 7.865 -0.000298368888779 -0.00238555695723
+955 7.87 -0.000286475497709 -0.00237181489431
+956 7.875 -0.000274650586192 -0.00235816501734
+957 7.88 -0.00026289369507 -0.00234460661948
+958 7.885 -0.000251204368701 -0.00233113899997
+959 7.89 -0.000239582154932 -0.00231776146411
+960 7.895 -0.000228026605069 -0.00230447332318
+961 7.9 -0.000216537273846 -0.0022912738944
+962 7.905 -0.000205113719399 -0.00227816250086
+963 7.91 -0.000193755503231 -0.00226513847144
+964 7.915 -0.000182462190187 -0.00225220114081
+965 7.92 -0.000171233348425 -0.00223934984935
+966 7.925 -0.000160068549386 -0.00222658394306
+967 7.93 -0.000148967367767 -0.00221390277357
+968 7.935 -0.000137929381494 -0.00220130569803
+969 7.94 -0.000126954171692 -0.00218879207909
+970 7.945 -0.000116041322662 -0.00217636128485
+971 7.95 -0.000105190421847 -0.00216401268878
+972 7.955 -9.44010598127e-05 -0.00215174566969
+973 7.96 -8.36728302154e-05 -0.0021395596117
+974 7.965 -7.30053297786e-05 -0.00212745390412
+975 7.97 -6.23981582662e-05 -0.00211542794149
+976 7.975 -5.18509184563e-05 -0.00210348112347
+977 7.98 -4.13632161162e-05 -0.0020916128548
+978 7.985 -3.09346599767e-05 -0.00207982254527
+979 7.99 -2.05648617073e-05 -0.00206810960966
+980 7.995 -1.0253435891e-05 -0.00205647346771
+981 8.0 0.0 0.0
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/moltemplate_files/table_minichaperone_h=0.dat b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/moltemplate_files/table_minichaperone_h=0.dat
new file mode 100644
index 000000000..82eaa7e15
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/moltemplate_files/table_minichaperone_h=0.dat
@@ -0,0 +1,989 @@
+# Interaction between a chaperone wall and hydrophilic ("L", "N") beads (h=0.0)
+# Generated using:
+# generate_tables/calc_chaperone_table.py 1.0 1.0 3.0 0.00 3.1 8.0 981 True
+
+CH_H0
+N 981 R 3.1 8.0
+
+1 3.1 24322007640.7 2.44004657299e+12
+2 3.105 14907558394.3 1.42456861215e+12
+3 3.11 9347035105.18 8.52735941633e+11
+4 3.115 5983077933.86 5.22188377701e+11
+5 3.12 3902959636.31 3.26497584961e+11
+6 3.125 2590663239.27 2.08082071378e+11
+7 3.13 1747363476.38 1.34970838198e+11
+8 3.135 1196150660.14 88985299862.7
+9 3.14 830139558.184 59560058382.9
+10 3.145 583526310.01 40428734750.9
+11 3.15 415085889.414 27804165925.8
+12 3.155 298569038.21 19357152203.7
+13 3.16 217007230.904 13631625105.8
+14 3.165 159275126.218 9703361847.17
+15 3.17 117981153.625 6977285889.84
+16 3.175 88152959.6539 5065076691.93
+17 3.18 66406248.0614 3710118471.36
+18 3.185 50412054.1061 2740803858.1
+19 3.19 38550891.1571 2041079190.29
+20 3.195 29685484.2812 1531623758.63
+21 3.2 23009711.8183 1157676125.86
+22 3.205 17947107.7408 881068391.885
+23 3.21 14081960.9175 674956471.214
+24 3.215 11112084.5698 520297467.685
+25 3.22 8816139.11379 403471527.483
+26 3.225 7030823.80219 314661158.279
+27 3.23 5634822.39381 246736805.049
+28 3.235 4537411.91017 194483958.161
+29 3.24 3670317.94503 154062728.557
+30 3.245 2981848.4679 122627006.268
+31 3.25 2432639.00923 98054064.6797
+32 3.255 1992545.82032 78751201.0309
+33 3.26 1638362.63452 63516512.707
+34 3.265 1352132.30623 51437989.9558
+35 3.27 1119890.91156 41819915.4536
+36 3.275 930728.197936 34128853.5593
+37 3.28 776080.832192 27953782.5881
+38 3.285 649197.950984 22976500.4202
+39 3.29 544734.946388 18949536.6006
+40 3.295 458443.200409 15679580.461
+41 3.3 386931.981432 13014984.83
+42 3.305 327484.882814 10836296.983
+43 3.31 277917.684205 9049049.63384
+44 3.315 236467.817902 7578247.52911
+45 3.32 201708.057716 6364132.2427
+46 3.325 172478.852825 5358914.96458
+47 3.33 147835.073691 4524245.63494
+48 3.335 127003.943407 3829244.63171
+49 3.34 109351.684422 3248966.03768
+50 3.345 94356.982001 2763193.35086
+51 3.35 81589.7991199 2355492.28163
+52 3.355 70694.4075656 2012463.12085
+53 3.36 61375.7524283 1723148.60489
+54 3.365 53388.4609277 1478563.37272
+55 3.37 46527.9558627 1271318.83571
+56 3.375 40623.2494805 1095323.17118
+57 3.38 35531.0832305 945540.660872
+58 3.385 31131.1487289 817798.059995
+59 3.39 27322.1798598 708628.354433
+60 3.395 24018.7487675 615144.330958
+61 3.4 21148.6321858 534935.990585
+62 3.405 18650.6411473 465987.08561
+63 3.41 16472.8281676 406607.038172
+64 3.415 14571.00272 355375.264352
+65 3.42 12907.4991276 311095.530355
+66 3.425 11450.1516342 272758.442538
+67 3.43 10171.439929 239510.549012
+68 3.435 9047.7752383 210628.82877
+69 3.44 8058.90260095 185499.581541
+70 3.445 7187.39938846 163600.920836
+71 3.45 6418.25372556 144488.223969
+72 3.455 5738.50938334 127782.014261
+73 3.46 5136.9660889 113157.848128
+74 3.465 4603.92612777 100337.85845
+75 3.47 4130.97969454 89083.6690543
+76 3.475 3710.8227393 79190.4466465
+77 3.48 3337.10211855 70481.8981958
+78 3.485 3004.28373073 62806.0557792
+79 3.49 2707.54003568 56031.718535
+80 3.495 2442.65394998 50045.4440029
+81 3.5 2205.93660145 44748.9996316
+82 3.505 1994.15683268 40057.2004294
+83 3.51 1804.48068152 35896.0712099
+84 3.515 1634.41934741 32201.2821773
+85 3.52 1481.78438725 28916.8150767
+86 3.525 1344.64907977 25993.8241582
+87 3.53 1221.31506159 23389.6620133
+88 3.535 1110.28347503 21067.0451721
+89 3.54 1010.22998333 18993.3383579
+90 3.545 919.9831055 17139.9396418
+91 3.55 838.505404885 15481.7515237
+92 3.555 764.877134293 13996.7253013
+93 3.56 698.281998657 12665.4680354
+94 3.565 637.994745566 11470.9030593
+95 3.57 583.370335637 10397.9763514
+96 3.575 533.834480178 9433.40224818
+97 3.58 488.875363677 8565.44294671
+98 3.585 448.036394307 7783.71706925
+99 3.59 410.909847488 7079.03325566
+100 3.595 377.131286207 6443.24533767
+101 3.6 346.374657747 5869.126147
+102 3.605 318.34798013 5350.25743201
+103 3.61 292.789543287 4880.93371692
+104 3.615 269.464560006 4456.07824337
+105 3.62 248.162210353 4071.16939457
+106 3.625 228.693030668 3722.17622503
+107 3.63 210.886604667 3405.5019084
+108 3.635 194.589519671 3117.93407879
+109 3.64 179.663555764 2856.60118023
+110 3.645 165.984079802 2618.93405823
+111 3.65 153.438619766 2402.63212994
+112 3.655 141.925598023 2205.6335579
+113 3.66 131.353204775 2026.08892777
+114 3.665 121.638395266 1862.33799643
+115 3.67 112.705996374 1712.88913275
+116 3.675 104.487909965 1576.40112248
+117 3.68 96.9224019089 1451.66705065
+118 3.685 89.9534670245 1337.6000114
+119 3.69 83.5302613658 1233.22042683
+120 3.695 77.6065942935 1137.6447839
+121 3.7 72.1404736708 1050.07562216
+122 3.705 67.0936983024 969.792625804
+123 3.71 62.431492423 896.144691745
+124 3.715 58.1221776441 828.54286083
+125 3.72 54.1368782948 766.454013201
+126 3.725 50.4492565603 709.395240693
+127 3.73 47.0352742263 656.928819585
+128 3.735 43.8729782026 608.65771617
+129 3.74 40.9423073113 564.221565572
+130 3.745 38.2249181088 523.293071279
+131 3.75 35.7040277571 485.57477893
+132 3.755 33.3642721761 450.796183363
+133 3.76 31.1915779041 418.711132572
+134 3.765 29.1730462649 389.095496464
+135 3.77 27.296848588 361.745071901
+136 3.775 25.5521313672 336.473698771
+137 3.78 23.9289303577 313.111564661
+138 3.785 22.4180927206 291.503678217
+139 3.79 21.0112064166 271.508493474
+140 3.795 19.7005361332 252.996669413
+141 3.8 18.4789651059 235.849950713
+142 3.805 17.3399422592 219.960157211
+143 3.81 16.2774341511 205.228270919
+144 3.815 15.2858812611 191.563610676
+145 3.82 14.3601582029 178.88308554
+146 3.825 13.4955374911 167.110519006
+147 3.83 12.6876565243 156.176036954
+148 3.835 11.9324874825 146.015512988
+149 3.84 11.2263098661 136.570065484
+150 3.845 10.5656854316 127.785601256
+151 3.85 9.94743530166 119.612401285
+152 3.855 9.36861904981 112.004744426
+153 3.86 8.82651557999 104.920565393
+154 3.865 8.31860563683 98.3211437563
+155 3.87 7.84255579999 92.1708209642
+156 3.875 7.39620382887 86.4367427306
+157 3.88 6.97754523696 81.0886243871
+158 3.885 6.58472098661 76.0985370389
+159 3.89 6.21600620515 71.4407125773
+160 3.895 5.86979983242 67.0913657925
+161 3.9 5.54461511838 63.0285320059
+162 3.905 5.23907089671 59.2319187891
+163 3.91 4.95188356739 55.6827704829
+164 3.915 4.68185972707 52.3637443466
+165 3.92 4.42788939186 49.2587972858
+166 3.925 4.18893976204 46.353082203
+167 3.93 3.96404948281 43.6328531095
+168 3.935 3.75232335915 41.0853782151
+169 3.94 3.55292748687 38.6988602882
+170 3.945 3.36508476491 36.4623636443
+171 3.95 3.18807075749 34.3657471793
+172 3.955 3.021209877 32.3996029206
+173 3.96 2.86387186138 30.5551996145
+174 3.965 2.71546852189 28.8244309147
+175 3.97 2.57545073925 27.1997677761
+176 3.975 2.44330568809 25.6742146917
+177 3.98 2.31855427126 24.2412694474
+178 3.985 2.20074874724 22.8948860937
+179 3.99 2.08947053515 21.6294408646
+180 3.995 1.98432818342 20.4397007945
+181 4.0 1.88495548901 19.3207948084
+182 4.005 1.79100975549 18.2681870794
+183 4.01 1.70217017901 17.2776524655
+184 4.015 1.61813635232 16.3452538542
+185 4.02 1.53862687753 15.467321259
+186 4.025 1.4633780794 14.6404325234
+187 4.03 1.3921428113 13.8613955037
+188 4.035 1.32468934683 13.1272316094
+189 4.04 1.26080035064 12.435160592
+190 4.045 1.20027192224 11.7825864834
+191 4.05 1.14291270762 11.1670845906
+192 4.055 1.08854307328 10.5863894642
+193 4.06 1.03699433825 10.0383837622
+194 4.065 0.988108059646 9.5210879405
+195 4.07 0.941735367837 9.03265070365
+196 4.075 0.897736347632 8.57134015767
+197 4.08 0.855979462015 8.13553560989
+198 4.085 0.816341015387 7.72371996598
+199 4.09 0.778704653425 7.33447267828
+200 4.095 0.74296089691 6.96646320305
+201 4.1 0.709006707075 6.61844492796
+202 4.105 0.676745080218 6.28924953404
+203 4.11 0.646084669489 5.97778175928
+204 4.115 0.616939431912 5.68301453361
+205 4.12 0.589228298872 5.40398445752
+206 4.125 0.562874868393 5.13978759855
+207 4.13 0.537807117698 4.88957558211
+208 4.135 0.513957134618 4.65255195486
+209 4.14 0.491260866548 4.42796880052
+210 4.145 0.469657885731 4.21512358966
+211 4.15 0.449091169745 4.01335624628
+212 4.155 0.429506896145 3.82204641559
+213 4.16 0.410854250299 3.64061091811
+214 4.165 0.393085245513 3.46850137704
+215 4.17 0.376154554607 3.30520200609
+216 4.175 0.360019352187 3.15022754657
+217 4.18 0.34463916687 3.00312134286
+218 4.185 0.329975742808 2.86345354671
+219 4.19 0.315992909894 2.730819441
+220 4.195 0.30265646206 2.60483787474
+221 4.2 0.289934043143 2.48514980144
+222 4.205 0.277795039817 2.37141691363
+223 4.21 0.26621048112 2.26332036686
+224 4.215 0.255152944156 2.160559587
+225 4.22 0.244596465565 2.06285115501
+226 4.225 0.234516458378 1.96992776403
+227 4.23 0.22488963393 1.88153724361
+228 4.235 0.215693928479 1.79744164671
+229 4.24 0.206908434252 1.71741639508
+230 4.245 0.198513334625 1.64124947915
+231 4.25 0.190489843169 1.56874070868
+232 4.255 0.182820146331 1.49970101084
+233 4.26 0.175487349508 1.43395177247
+234 4.265 0.168475426305 1.3713242237
+235 4.27 0.16176917078 1.31165886002
+236 4.275 0.155354152487 1.2548049004
+237 4.28 0.149216674142 1.20061977901
+238 4.285 0.143343731751 1.1489686684
+239 4.29 0.137722977049 1.09972403198
+240 4.295 0.13234268211 1.05276520399
+241 4.3 0.127191705983 1.00797799517
+242 4.305 0.122259463251 0.965254322417
+243 4.31 0.117535894375 0.924491860866
+244 4.315 0.113011437731 0.885593717092
+245 4.32 0.108677003225 0.848468121932
+246 4.325 0.104523947407 0.813028141752
+247 4.33 0.100544049971 0.779191406981
+248 4.335 0.0967294915884 0.746879856814
+249 4.34 0.0930728329625 0.716019499063
+250 4.345 0.0895669950612 0.686540184216
+251 4.35 0.0862052404384 0.658375392808
+252 4.355 0.08298115559 0.63146203527
+253 4.36 0.0798886342796 0.605740263498
+254 4.365 0.0769218617798 0.5811532934
+255 4.37 0.0740752999737 0.557647237752
+256 4.375 0.0713436732684 0.535170948731
+257 4.38 0.0687219552728 0.513675869532
+258 4.385 0.0662053561949 0.493115894506
+259 4.39 0.0637893109199 0.473447237321
+260 4.395 0.0614694677263 0.45462830664
+261 4.4 0.0592416776079 0.436619588871
+262 4.405 0.0571019841636 0.419383537567
+263 4.41 0.0550466140255 0.402884469071
+264 4.415 0.0530719677933 0.387088464035
+265 4.42 0.0511746114473 0.371963274467
+266 4.425 0.0493512682135 0.357478235973
+267 4.43 0.0475988108542 0.343604184887
+268 4.435 0.0459142543625 0.33031338001
+269 4.44 0.0442947490359 0.317579428671
+270 4.445 0.0427375739105 0.305377216875
+271 4.45 0.041240130534 0.293682843283
+272 4.455 0.0397999370598 0.282473556818
+273 4.46 0.0384146226445 0.271727697674
+274 4.465 0.0370819221326 0.261424641529
+275 4.47 0.035799671012 0.251544746799
+276 4.475 0.034565800626 0.242069304731
+277 4.48 0.0333783336288 0.232980492193
+278 4.485 0.0322353796696 0.224261326994
+279 4.49 0.0311351312947 0.215895625604
+280 4.495 0.0300758600554 0.207867963122
+281 4.5 0.0290559128103 0.200163635378
+282 4.505 0.0280737082121 0.192768623045
+283 4.51 0.0271277333693 0.185669557645
+284 4.515 0.0262165406731 0.178853689349
+285 4.52 0.0253387447812 0.172308856461
+286 4.525 0.0244930197498 0.166023456513
+287 4.53 0.023678096307 0.159986418851
+288 4.535 0.0228927592589 0.154187178661
+289 4.54 0.0221358450227 0.148615652333
+290 4.545 0.0214062392796 0.143262214105
+291 4.55 0.0207028747413 0.138117673905
+292 4.555 0.0200247290247 0.133173256332
+293 4.56 0.0193708226289 0.128420580717
+294 4.565 0.018740217009 0.123851642198
+295 4.57 0.0181320127424 0.119458793758
+296 4.575 0.017545347783 0.115234729179
+297 4.58 0.0169793957974 0.111172466848
+298 4.585 0.0164333645811 0.107265334394
+299 4.59 0.0159064945488 0.103506954082
+300 4.595 0.0153980572965 0.0998912289493
+301 4.6 0.0149073542304 0.0964123296321
+302 4.605 0.0144337152611 0.0930646818445
+303 4.61 0.0139764975575 0.0898429544837
+304 4.615 0.0135350843599 0.086742048322
+305 4.62 0.0131088838475 0.0837570852568
+306 4.625 0.0126973280587 0.0808833980908
+307 4.63 0.0122998718608 0.0781165208124
+308 4.635 0.0119159919677 0.0754521793521
+309 4.64 0.0115451860021 0.07288628279
+310 4.645 0.0111869716011 0.0704149149899
+311 4.65 0.010840885562 0.0680343266405
+312 4.655 0.0105064830275 0.0657409276799
+313 4.66 0.0101833367076 0.063531280086
+314 4.665 0.0098710361368 0.0614020910133
+315 4.67 0.00956918696433 0.0593502062585
+316 4.675 0.00927741027701 0.0573726040383
+317 4.68 0.00899534195191 0.0554663890638
+318 4.685 0.00872263203811 0.0536287868959
+319 4.69 0.00845894416602 0.0518571385691
+320 4.695 0.0082039549829 0.0501488954678
+321 4.7 0.00795735361347 0.0485016144454
+322 4.705 0.00771884114422 0.0469129531714
+323 4.71 0.00748813013054 0.045380665697
+324 4.715 0.00726494412547 0.0439025982277
+325 4.72 0.00704901722906 0.0424766850927
+326 4.725 0.00684009365745 0.0411009449015
+327 4.73 0.00663792733071 0.0397734768782
+328 4.735 0.00644228147858 0.0384924573653
+329 4.74 0.00625292826325 0.0372561364888
+330 4.745 0.00606964841851 0.0360628349754
+331 4.75 0.00589223090433 0.0349109411165
+332 4.755 0.00572047257643 0.0337989078704
+333 4.76 0.0055541778698 0.0327252500962
+334 4.765 0.00539315849596 0.0316885419138
+335 4.77 0.00523723315293 0.0306874141829
+336 4.775 0.00508622724762 0.0297205520964
+337 4.78 0.00493997262995 0.0287866928817
+338 4.785 0.00479830733822 0.0278846236056
+339 4.79 0.00466107535518 0.0270131790775
+340 4.795 0.00452812637438 0.0261712398457
+341 4.8 0.00439931557628 0.0253577302837
+342 4.805 0.00427450341372 0.0245716167613
+343 4.81 0.00415355540638 0.0238119058963
+344 4.815 0.00403634194372 0.0230776428841
+345 4.82 0.00392273809612 0.0223679099007
+346 4.825 0.00381262343384 0.0216818245753
+347 4.83 0.00370588185338 0.021018538531
+348 4.835 0.00360240141109 0.0203772359884
+349 4.84 0.00350207416352 0.0197571324301
+350 4.845 0.0034047960143 0.019157473324
+351 4.85 0.00331046656734 0.0185775329012
+352 4.855 0.00321898898591 0.0180166129873
+353 4.86 0.00313026985753 0.0174740418837
+354 4.865 0.00304421906424 0.0169491732974
+355 4.87 0.00296074965818 0.0164413853165
+356 4.875 0.00287977774216 0.0159500794299
+357 4.88 0.002801222355 0.0154746795881
+358 4.885 0.0027250053615 0.0150146313053
+359 4.89 0.00265105134676 0.0145694007979
+360 4.895 0.0025792875148 0.0141384741613
+361 4.9 0.00250964359108 0.0137213565802
+362 4.905 0.00244205172902 0.0133175715727
+363 4.91 0.00237644642012 0.0129266602662
+364 4.915 0.00231276440768 0.0125481807036
+365 4.92 0.00225094460389 0.0121817071786
+366 4.925 0.00219092801016 0.0118268295982
+367 4.93 0.00213265764061 0.011483152873
+368 4.935 0.00207607844856 0.011150296331
+369 4.94 0.00202113725576 0.0108278931578
+370 4.945 0.00196778268457 0.0105155898576
+371 4.95 0.00191596509257 0.0102130457388
+372 4.955 0.00186563650984 0.00991993241864
+373 4.96 0.0018167505786 0.00963593334953
+374 4.965 0.00176926249515 0.0093607433642
+375 4.97 0.0017231289541 0.00909406823946
+376 4.975 0.00167830809471 0.00883562427782
+377 4.98 0.00163475944922 0.00858513790595
+378 4.985 0.00159244389324 0.00834234528958
+379 4.99 0.001551323598 0.00810699196376
+380 4.995 0.00151136198435 0.00787883247819
+381 5.0 0.00147252367858 0.00765763005674
+382 5.005 0.00143477446984 0.00744315627058
+383 5.01 0.00139808126924 0.00723519072448
+384 5.015 0.00136241207038 0.00703352075553
+385 5.02 0.00132773591148 0.00683794114397
+386 5.025 0.00129402283882 0.00664825383541
+387 5.03 0.00126124387159 0.00646426767408
+388 5.035 0.00122937096804 0.00628579814667
+389 5.04 0.00119837699293 0.00611266713619
+390 5.045 0.00116823568608 0.00594470268561
+391 5.05 0.00113892163217 0.00578173877069
+392 5.055 0.00111041023163 0.00562361508175
+393 5.06 0.00108267767261 0.00547017681395
+394 5.065 0.00105570090391 0.00532127446577
+395 5.07 0.00102945760901 0.00517676364527
+396 5.075 0.00100392618096 0.00503650488393
+397 5.08 0.000979085698203 0.00490036345763
+398 5.085 0.000954915901321 0.00476820921459
+399 5.09 0.000931397170562 0.00463991640989
+400 5.095 0.000908510504214 0.00451536354643
+401 5.1 0.000886237497752 0.00439443322187
+402 5.105 0.000864560323733 0.00427701198153
+403 5.11 0.000843461712415 0.00416299017686
+404 5.115 0.000822924933066 0.00405226182927
+405 5.12 0.000802933775949 0.00394472449918
+406 5.125 0.000783472534939 0.00384027916001
+407 5.13 0.000764525990765 0.00373883007694
+408 5.135 0.000746079394846 0.00364028469024
+409 5.14 0.000728118453695 0.003544553503
+410 5.145 0.000710629313879 0.00345154997304
+411 5.15 0.000693598547507 0.00336119040893
+412 5.155 0.000677013138229 0.00327339386985
+413 5.16 0.00066086046772 0.00318808206921
+414 5.165 0.000645128302652 0.00310517928183
+415 5.17 0.000629804782101 0.00302461225459
+416 5.175 0.000614878405412 0.00294631012039
+417 5.18 0.000600338020472 0.00287020431528
+418 5.185 0.000586172812398 0.00279622849864
+419 5.19 0.00057237229261 0.00272431847632
+420 5.195 0.000558926288291 0.00265441212659
+421 5.2 0.000545824932198 0.00258644932878
+422 5.205 0.000533058652834 0.00252037189458
+423 5.21 0.00052061816495 0.0024561235018
+424 5.215 0.000508494460377 0.00239364963056
+425 5.22 0.000496678799167 0.00233289750178
+426 5.225 0.000485162701041 0.00227381601795
+427 5.23 0.000473937937122 0.00221635570597
+428 5.235 0.000462996521952 0.0021604686621
+429 5.24 0.000452330705781 0.00210610849886
+430 5.245 0.000441932967112 0.00205323029391
+431 5.25 0.000431796005499 0.00200179054064
+432 5.255 0.00042191273459 0.00195174710063
+433 5.26 0.000412276275402 0.00190305915777
+434 5.265 0.000402879949816 0.00185568717402
+435 5.27 0.0003937172743 0.00180959284671
+436 5.275 0.000384781953833 0.00176473906743
+437 5.28 0.000376067876031 0.00172108988228
+438 5.285 0.000367569105476 0.00167861045357
+439 5.29 0.000359279878223 0.00163726702293
+440 5.295 0.000351194596497 0.00159702687556
+441 5.3 0.000343307823559 0.00155785830593
+442 5.305 0.000335614278743 0.00151973058449
+443 5.31 0.00032810883266 0.0014826139257
+444 5.315 0.000320786502552 0.00144647945708
+445 5.32 0.000313642447802 0.00141129918936
+446 5.325 0.000306671965594 0.00137704598769
+447 5.33 0.000299870486707 0.00134369354382
+448 5.335 0.00029323357145 0.00131121634922
+449 5.34 0.000286756905732 0.00127958966922
+450 5.345 0.00028043629725 0.00124878951793
+451 5.35 0.000274267671812 0.00121879263406
+452 5.355 0.000268247069768 0.00118957645764
+453 5.36 0.000262370642562 0.00116111910739
+454 5.365 0.000256634649393 0.00113339935902
+455 5.37 0.000251035453984 0.00110639662416
+456 5.375 0.00024556952145 0.00108009093005
+457 5.38 0.000240233415275 0.0010544628999
+458 5.385 0.000235023794375 0.00102949373396
+459 5.39 0.000229937410261 0.00100516519115
+460 5.395 0.000224971104288 0.000981459571414
+461 5.4 0.000220121804997 0.000958359698545
+462 5.405 0.000215386525533 0.000935848903702
+463 5.41 0.000210762361152 0.000913911009406
+464 5.415 0.000206246486799 0.000892530314103
+465 5.42 0.000201836154771 0.000871691577231
+466 5.425 0.000197528692444 0.000851380004787
+467 5.43 0.000193321500075 0.000831581235376
+468 5.435 0.000189212048678 0.000812281326721
+469 5.44 0.000185197877955 0.000793466742621
+470 5.445 0.000181276594303 0.000775124340337
+471 5.45 0.000177445868872 0.000757241358398
+472 5.455 0.000173703435692 0.000739805404806
+473 5.46 0.000170047089853 0.000722804445631
+474 5.465 0.000166474685742 0.000706226793976
+475 5.47 0.000162984135336 0.000690061099303
+476 5.475 0.000159573406545 0.000674296337118
+477 5.48 0.000156240521608 0.000658921798975
+478 5.485 0.000152983555536 0.000643927082819
+479 5.49 0.000149800634601 0.000629302083639
+480 5.495 0.000146689934881 0.000615036984418
+481 5.5 0.000143649680835 0.000601122247385
+482 5.505 0.00014067814393 0.000587548605543
+483 5.51 0.000137773641309 0.000574307054471
+484 5.515 0.000134934534497 0.00056138884439
+485 5.52 0.000132159228148 0.000548785472487
+486 5.525 0.000129446168827 0.000536488675478
+487 5.53 0.000126793843833 0.000524490422414
+488 5.535 0.000124200780051 0.000512782907716
+489 5.54 0.000121665542848 0.000501358544429
+490 5.545 0.000119186734991 0.000490209957694
+491 5.55 0.000116762995603 0.000479329978423
+492 5.555 0.000114392999154 0.000468711637179
+493 5.56 0.000112075454472 0.000458348158245
+494 5.565 0.000109809103791 0.000448232953884
+495 5.57 0.000107592721827 0.000438359618774
+496 5.575 0.000105425114878 0.000428721924627
+497 5.58 0.000103305119949 0.000419313814967
+498 5.585 0.000101231603912 0.000410129400077
+499 5.59 9.92034626791e-05 0.000401162952103
+500 5.595 9.72196204062e-05 0.000392408900312
+501 5.6 9.5279028721e-05 0.00038386182649
+502 5.605 9.33806659696e-05 0.000375516460498
+503 5.61 9.1523536488e-05 0.000367367675949
+504 5.615 8.97066698933e-05 0.000359410486029
+505 5.62 8.79291203961e-05 0.000351640039446
+506 5.625 8.61899661332e-05 0.000344051616503
+507 5.63 8.44883085184e-05 0.000336640625287
+508 5.635 8.28232716138e-05 0.000329402597984
+509 5.64 8.11940015174e-05 0.000322333187302
+510 5.645 7.95996657698e-05 0.000315428163002
+511 5.65 7.80394527771e-05 0.000308683408537
+512 5.655 7.65125712508e-05 0.000302094917798
+513 5.66 7.50182496635e-05 0.000295658791947
+514 5.665 7.35557357199e-05 0.000289371236362
+515 5.67 7.21242958438e-05 0.000283228557659
+516 5.675 7.07232146788e-05 0.000277227160816
+517 5.68 6.93517946035e-05 0.000271363546381
+518 5.685 6.80093552604e-05 0.000265634307756
+519 5.69 6.66952330984e-05 0.000260036128578
+520 5.695 6.5408780928e-05 0.000254565780162
+521 5.7 6.41493674892e-05 0.000249220119037
+522 5.705 6.29163770311e-05 0.000243996084541
+523 5.71 6.17092089041e-05 0.000238890696497
+524 5.715 6.05272771628e-05 0.000233901052958
+525 5.72 5.93700101809e-05 0.000229024328015
+526 5.725 5.82368502757e-05 0.000224257769672
+527 5.73 5.7127253344e-05 0.000219598697784
+528 5.735 5.6040688508e-05 0.00021504450206
+529 5.74 5.49766377708e-05 0.000210592640118
+530 5.745 5.39345956813e-05 0.000206240635602
+531 5.75 5.29140690094e-05 0.000201986076352
+532 5.755 5.19145764286e-05 0.000197826612633
+533 5.76 5.09356482089e-05 0.000193759955407
+534 5.765 4.9976825917e-05 0.000189783874667
+535 5.77 4.90376621255e-05 0.000185896197809
+536 5.775 4.811772013e-05 0.000182094808056
+537 5.78 4.72165736735e-05 0.000178377642932
+538 5.785 4.63338066786e-05 0.000174742692774
+539 5.79 4.54690129874e-05 0.00017118799929
+540 5.795 4.46217961078e-05 0.000167711654157
+541 5.8 4.37917689674e-05 0.000164311797666
+542 5.805 4.29785536734e-05 0.000160986617396
+543 5.81 4.21817812796e-05 0.000157734346936
+544 5.815 4.14010915595e-05 0.000154553264637
+545 5.82 4.06361327855e-05 0.0001514416924
+546 5.825 3.98865615139e-05 0.000148397994509
+547 5.83 3.91520423762e-05 0.000145420576481
+548 5.835 3.84322478754e-05 0.000142507883961
+549 5.84 3.77268581883e-05 0.000139658401647
+550 5.845 3.70355609728e-05 0.000136870652241
+551 5.85 3.63580511802e-05 0.000134143195433
+552 5.855 3.56940308733e-05 0.000131474626912
+553 5.86 3.5043209048e-05 0.000128863577412
+554 5.865 3.44053014612e-05 0.000126308711771
+555 5.87 3.37800304622e-05 0.000123808728033
+556 5.875 3.31671248289e-05 0.000121362356562
+557 5.88 3.25663196081e-05 0.000118968359189
+558 5.885 3.1977355961e-05 0.000116625528379
+559 5.89 3.13999810112e-05 0.000114332686424
+560 5.895 3.0833947698e-05 0.000112088684656
+561 5.9 3.02790146332e-05 0.000109892402684
+562 5.905 2.97349459611e-05 0.000107742747652
+563 5.91 2.92015112233e-05 0.000105638653516
+564 5.915 2.86784852258e-05 0.000103579080344
+565 5.92 2.81656479105e-05 0.000101563013635
+566 5.925 2.76627842296e-05 9.95894636504e-05
+567 5.93 2.71696840234e-05 9.76574647761e-05
+568 5.935 2.66861419014e-05 9.57660748914e-05
+569 5.94 2.62119571261e-05 9.39143747606e-05
+570 5.945 2.57469335003e-05 9.21014674399e-05
+571 5.95 2.52908792569e-05 9.03264777011e-05
+572 5.955 2.4843606952e-05 8.85885514709e-05
+573 5.96 2.44049333599e-05 8.68868552854e-05
+574 5.965 2.39746793724e-05 8.522057576e-05
+575 5.97 2.35526698987e-05 8.35889190733e-05
+576 5.975 2.31387337693e-05 8.19911104654e-05
+577 5.98 2.27327036419e-05 8.04263937498e-05
+578 5.985 2.23344159097e-05 7.88940308385e-05
+579 5.99 2.19437106122e-05 7.739330128e-05
+580 5.995 2.15604313477e-05 7.59235018102e-05
+581 6.0 2.1184425189e-05 7.44839459145e-05
+582 6.005 2.08155426005e-05 7.3073963403e-05
+583 6.01 2.04536373574e-05 7.16928999962e-05
+584 6.015 2.00985664675e-05 7.03401169221e-05
+585 6.02 1.97501900945e-05 6.90149905246e-05
+586 6.025 1.94083714834e-05 6.77169118817e-05
+587 6.03 1.90729768878e-05 6.64452864341e-05
+588 6.035 1.87438754988e-05 6.51995336246e-05
+589 6.04 1.84209393761e-05 6.39790865457e-05
+590 6.045 1.81040433805e-05 6.27833915977e-05
+591 6.05 1.77930651083e-05 6.16119081557e-05
+592 6.055 1.74878848271e-05 6.04641082448e-05
+593 6.06 1.71883854134e-05 5.93394762249e-05
+594 6.065 1.68944522917e-05 5.82375084831e-05
+595 6.07 1.66059733752e-05 5.71577131349e-05
+596 6.075 1.63228390077e-05 5.60996097322e-05
+597 6.08 1.60449419074e-05 5.50627289806e-05
+598 6.085 1.57721771114e-05 5.40466124625e-05
+599 6.09 1.55044419226e-05 5.30508123689e-05
+600 6.095 1.52416358567e-05 5.20748912369e-05
+601 6.1 1.49836605915e-05 5.11184216954e-05
+602 6.105 1.47304199168e-05 5.01809862165e-05
+603 6.11 1.44818196863e-05 4.92621768737e-05
+604 6.115 1.42377677693e-05 4.83615951067e-05
+605 6.12 1.39981740054e-05 4.74788514917e-05
+606 6.125 1.37629501588e-05 4.66135655183e-05
+607 6.13 1.35320098744e-05 4.57653653718e-05
+608 6.135 1.33052686347e-05 4.49338877213e-05
+609 6.14 1.30826437185e-05 4.41187775132e-05
+610 6.145 1.28640541593e-05 4.33196877704e-05
+611 6.15 1.26494207056e-05 4.25362793959e-05
+612 6.155 1.24386657825e-05 4.17682209821e-05
+613 6.16 1.22317134528e-05 4.10151886251e-05
+614 6.165 1.20284893808e-05 4.02768657433e-05
+615 6.17 1.18289207957e-05 3.95529429009e-05
+616 6.175 1.16329364562e-05 3.88431176356e-05
+617 6.18 1.14404666165e-05 3.81470942917e-05
+618 6.185 1.12514429921e-05 3.74645838561e-05
+619 6.19 1.10657987276e-05 3.67953037992e-05
+620 6.195 1.08834683642e-05 3.61389779202e-05
+621 6.2 1.07043878085e-05 3.54953361956e-05
+622 6.205 1.05284943023e-05 3.48641146318e-05
+623 6.21 1.03557263924e-05 3.42450551216e-05
+624 6.215 1.01860239019e-05 3.36379053043e-05
+625 6.22 1.00193279015e-05 3.30424184292e-05
+626 6.225 9.8555806818e-06 3.24583532225e-05
+627 6.23 9.69472572662e-06 3.18854737577e-05
+628 6.235 9.53670768611e-06 3.13235493295e-05
+629 6.24 9.38147235122e-06 3.07723543299e-05
+630 6.245 9.22896662842e-06 3.02316681289e-05
+631 6.25 9.07913851515e-06 2.97012749568e-05
+632 6.255 8.93193707577e-06 2.918096379e-05
+633 6.26 8.78731241814e-06 2.86705282402e-05
+634 6.265 8.64521567069e-06 2.81697664451e-05
+635 6.27 8.50559896007e-06 2.76784809632e-05
+636 6.275 8.36841538931e-06 2.71964786701e-05
+637 6.28 8.23361901646e-06 2.6723570658e-05
+638 6.285 8.1011648338e-06 2.62595721375e-05
+639 6.29 7.97100874743e-06 2.58043023419e-05
+640 6.295 7.84310755745e-06 2.53575844336e-05
+641 6.3 7.71741893849e-06 2.49192454134e-05
+642 6.305 7.59390142079e-06 2.44891160312e-05
+643 6.31 7.47251437163e-06 2.40670306997e-05
+644 6.315 7.35321797725e-06 2.36528274098e-05
+645 6.32 7.23597322517e-06 2.32463476478e-05
+646 6.325 7.12074188691e-06 2.28474363155e-05
+647 6.33 7.00748650108e-06 2.24559416513e-05
+648 6.335 6.89617035696e-06 2.2071715154e-05
+649 6.34 6.7867574783e-06 2.16946115076e-05
+650 6.345 6.67921260764e-06 2.1324488509e-05
+651 6.35 6.5735011909e-06 2.09612069965e-05
+652 6.355 6.46958936234e-06 2.06046307805e-05
+653 6.36 6.3674439299e-06 2.02546265761e-05
+654 6.365 6.26703236079e-06 1.99110639364e-05
+655 6.37 6.16832276753e-06 1.95738151888e-05
+656 6.375 6.07128389417e-06 1.92427553714e-05
+657 6.38 5.97588510293e-06 1.89177621723e-05
+658 6.385 5.88209636109e-06 1.85987158689e-05
+659 6.39 5.7898882282e-06 1.828549927e-05
+660 6.395 5.69923184355e-06 1.79779976587e-05
+661 6.4 5.61009891393e-06 1.76760987363e-05
+662 6.405 5.52246170172e-06 1.73796925683e-05
+663 6.41 5.43629301316e-06 1.70886715312e-05
+664 6.415 5.35156618692e-06 1.68029302607e-05
+665 6.42 5.26825508299e-06 1.6522365601e-05
+666 6.425 5.18633407167e-06 1.62468765557e-05
+667 6.43 5.105778023e-06 1.59763642392e-05
+668 6.435 5.02656229621e-06 1.57107318301e-05
+669 6.44 4.94866272963e-06 1.54498845249e-05
+670 6.445 4.87205563062e-06 1.51937294934e-05
+671 6.45 4.79671776585e-06 1.49421758345e-05
+672 6.455 4.72262635178e-06 1.4695134534e-05
+673 6.46 4.64975904529e-06 1.44525184224e-05
+674 6.465 4.57809393461e-06 1.42142421344e-05
+675 6.47 4.50760953034e-06 1.39802220687e-05
+676 6.475 4.43828475677e-06 1.37503763495e-05
+677 6.48 4.37009894334e-06 1.35246247885e-05
+678 6.485 4.30303181628e-06 1.33028888476e-05
+679 6.49 4.23706349046e-06 1.30850916027e-05
+680 6.495 4.17217446142e-06 1.28711577084e-05
+681 6.5 4.10834559754e-06 1.26610133637e-05
+682 6.505 4.04555813243e-06 1.24545862778e-05
+683 6.51 3.98379365744e-06 1.22518056372e-05
+684 6.515 3.92303411434e-06 1.20526020738e-05
+685 6.52 3.86326178824e-06 1.18569076334e-05
+686 6.525 3.8044593005e-06 1.16646557444e-05
+687 6.53 3.74660960198e-06 1.14757811888e-05
+688 6.535 3.68969596629e-06 1.12902200718e-05
+689 6.54 3.63370198326e-06 1.11079097938e-05
+690 6.545 3.57861155257e-06 1.09287890224e-05
+691 6.55 3.52440887742e-06 1.07527976647e-05
+692 6.555 3.47107845843e-06 1.05798768409e-05
+693 6.56 3.41860508767e-06 1.04099688579e-05
+694 6.565 3.36697384274e-06 1.02430171842e-05
+695 6.57 3.31617008104e-06 1.00789664243e-05
+696 6.575 3.26617943417e-06 9.91776229528e-06
+697 6.58 3.21698780242e-06 9.75935160201e-06
+698 6.585 3.16858134936e-06 9.60368221456e-06
+699 6.59 3.12094649663e-06 9.45070304518e-06
+700 6.595 3.07406991872e-06 9.30036402612e-06
+701 6.6 3.02793853796e-06 9.15261608793e-06
+702 6.605 2.98253951958e-06 9.00741113824e-06
+703 6.61 2.93786026687e-06 8.86470204097e-06
+704 6.615 2.89388841646e-06 8.72444259607e-06
+705 6.62 2.85061183368e-06 8.58658751973e-06
+706 6.625 2.80801860801e-06 8.45109242494e-06
+707 6.63 2.76609704869e-06 8.31791380259e-06
+708 6.635 2.72483568033e-06 8.18700900294e-06
+709 6.64 2.68422323868e-06 8.05833621753e-06
+710 6.645 2.64424866648e-06 7.93185446144e-06
+711 6.65 2.60490110936e-06 7.80752355606e-06
+712 6.655 2.56616991186e-06 7.6853041121e-06
+713 6.66 2.52804461354e-06 7.56515751309e-06
+714 6.665 2.49051494513e-06 7.44704589922e-06
+715 6.67 2.45357082481e-06 7.33093215148e-06
+716 6.675 2.41720235453e-06 7.21677987627e-06
+717 6.68 2.38139981644e-06 7.10455339021e-06
+718 6.685 2.34615366934e-06 6.9942177054e-06
+719 6.69 2.31145454526e-06 6.88573851497e-06
+720 6.695 2.27729324613e-06 6.7790821789e-06
+721 6.7 2.2436607404e-06 6.67421571025e-06
+722 6.705 2.21054815986e-06 6.57110676157e-06
+723 6.71 2.17794679649e-06 6.46972361177e-06
+724 6.715 2.14584809929e-06 6.3700351531e-06
+725 6.72 2.11424367135e-06 6.27201087853e-06
+726 6.725 2.08312526676e-06 6.17562086942e-06
+727 6.73 2.05248478781e-06 6.08083578334e-06
+728 6.735 2.02231428205e-06 5.98762684229e-06
+729 6.74 1.99260593955e-06 5.89596582112e-06
+730 6.745 1.96335209014e-06 5.80582503618e-06
+731 6.75 1.93454520075e-06 5.71717733423e-06
+732 6.755 1.90617787275e-06 5.62999608165e-06
+733 6.76 1.87824283942e-06 5.54425515378e-06
+734 6.765 1.85073296341e-06 5.4599289246e-06
+735 6.77 1.82364123426e-06 5.37699225653e-06
+736 6.775 1.79696076603e-06 5.29542049053e-06
+737 6.78 1.77068479486e-06 5.21518943638e-06
+738 6.785 1.74480667672e-06 5.13627536317e-06
+739 6.79 1.71931988509e-06 5.05865498999e-06
+740 6.795 1.69421800875e-06 4.98230547687e-06
+741 6.8 1.66949474959e-06 4.90720441581e-06
+742 6.805 1.6451439205e-06 4.83332982211e-06
+743 6.81 1.62115944323e-06 4.76066012583e-06
+744 6.815 1.59753534637e-06 4.68917416347e-06
+745 6.82 1.57426576334e-06 4.61885116973e-06
+746 6.825 1.55134493038e-06 4.54967076962e-06
+747 6.83 1.52876718466e-06 4.48161297055e-06
+748 6.835 1.50652696239e-06 4.41465815471e-06
+749 6.84 1.48461879691e-06 4.3487870716e-06
+750 6.845 1.46303731695e-06 4.28398083065e-06
+751 6.85 1.44177724478e-06 4.22022089406e-06
+752 6.855 1.42083339451e-06 4.15748906981e-06
+753 6.86 1.40020067034e-06 4.09576750471e-06
+754 6.865 1.37987406492e-06 4.03503867774e-06
+755 6.87 1.35984865768e-06 3.97528539342e-06
+756 6.875 1.34011961322e-06 3.91649077535e-06
+757 6.88 1.32068217977e-06 3.85863825993e-06
+758 6.885 1.30153168756e-06 3.80171159016e-06
+759 6.89 1.2826635474e-06 3.74569480958e-06
+760 6.895 1.26407324911e-06 3.69057225636e-06
+761 6.9 1.2457563601e-06 3.63632855747e-06
+762 6.905 1.22770852394e-06 3.58294862303e-06
+763 6.91 1.20992545896e-06 3.53041764074e-06
+764 6.915 1.19240295686e-06 3.47872107044e-06
+765 6.92 1.17513688137e-06 3.42784463875e-06
+766 6.925 1.15812316694e-06 3.37777433388e-06
+767 6.93 1.14135781743e-06 3.32849640049e-06
+768 6.935 1.12483690484e-06 3.27999733473e-06
+769 6.94 1.10855656808e-06 3.23226387928e-06
+770 6.945 1.09251301173e-06 3.18528301858e-06
+771 6.95 1.07670250488e-06 3.13904197413e-06
+772 6.955 1.06112137989e-06 3.09352819987e-06
+773 6.96 1.0457660313e-06 3.0487293777e-06
+774 6.965 1.03063291469e-06 3.00463341302e-06
+775 6.97 1.01571854555e-06 2.96122843043e-06
+776 6.975 1.0010194982e-06 2.9185027695e-06
+777 6.98 9.86532404745e-07 2.87644498061e-06
+778 6.985 9.72253954022e-07 2.83504382088e-06
+779 6.99 9.58180890566e-07 2.79428825018e-06
+780 6.995 9.44310013618e-07 2.75416742728e-06
+781 7.0 9.30638176135e-07 2.71467070595e-06
+782 7.005 9.17162283824e-07 2.6757876313e-06
+783 7.01 9.03879294199e-07 2.63750793605e-06
+784 7.015 8.90786215647e-07 2.59982153697e-06
+785 7.02 8.77880106517e-07 2.56271853136e-06
+786 7.025 8.6515807423e-07 2.5261891936e-06
+787 7.03 8.52617274397e-07 2.49022397175e-06
+788 7.035 8.40254909964e-07 2.4548134843e-06
+789 7.04 8.28068230364e-07 2.41994851684e-06
+790 7.045 8.16054530689e-07 2.38562001899e-06
+791 7.05 8.04211150882e-07 2.35181910119e-06
+792 7.055 7.92535474938e-07 2.3185370317e-06
+793 7.06 7.81024930121e-07 2.28576523364e-06
+794 7.065 7.696769862e-07 2.25349528197e-06
+795 7.07 7.58489154692e-07 2.22171890072e-06
+796 7.075 7.47458988133e-07 2.19042796013e-06
+797 7.08 7.36584079342e-07 2.15961447389e-06
+798 7.085 7.2586206072e-07 2.12927059646e-06
+799 7.09 7.15290603549e-07 2.09938862041e-06
+800 7.095 7.04867417307e-07 2.06996097384e-06
+801 7.1 6.94590249e-07 2.04098021782e-06
+802 7.105 6.84456882499e-07 2.01243904392e-06
+803 7.11 6.74465137898e-07 1.98433027176e-06
+804 7.115 6.64612870877e-07 1.9566468466e-06
+805 7.12 6.5489797208e-07 1.92938183703e-06
+806 7.125 6.45318366505e-07 1.90252843264e-06
+807 7.13 6.35872012904e-07 1.87607994179e-06
+808 7.135 6.26556903196e-07 1.85002978938e-06
+809 7.14 6.17371061887e-07 1.8243715147e-06
+810 7.145 6.08312545506e-07 1.7990987693e-06
+811 7.15 5.99379442048e-07 1.77420531491e-06
+812 7.155 5.90569870428e-07 1.74968502142e-06
+813 7.16 5.81881979945e-07 1.72553186483e-06
+814 7.165 5.73313949757e-07 1.70173992537e-06
+815 7.17 5.64863988364e-07 1.67830338549e-06
+816 7.175 5.56530333103e-07 1.65521652804e-06
+817 7.18 5.4831124965e-07 1.63247373439e-06
+818 7.185 5.40205031528e-07 1.61006948263e-06
+819 7.19 5.32209999637e-07 1.58799834581e-06
+820 7.195 5.24324501773e-07 1.56625499017e-06
+821 7.2 5.16546912175e-07 1.54483417343e-06
+822 7.205 5.08875631066e-07 1.52373074317e-06
+823 7.21 5.01309084211e-07 1.50293963511e-06
+824 7.215 4.93845722479e-07 1.48245587157e-06
+825 7.22 4.86484021414e-07 1.46227455985e-06
+826 7.225 4.79222480814e-07 1.44239089069e-06
+827 7.23 4.72059624319e-07 1.42280013677e-06
+828 7.235 4.64993999004e-07 1.4034976512e-06
+829 7.24 4.58024174978e-07 1.38447886607e-06
+830 7.245 4.51148744997e-07 1.36573929102e-06
+831 7.25 4.44366324079e-07 1.34727451183e-06
+832 7.255 4.37675549122e-07 1.32908018904e-06
+833 7.26 4.31075078542e-07 1.31115205663e-06
+834 7.265 4.24563591899e-07 1.29348592063e-06
+835 7.27 4.1813978955e-07 1.2760776579e-06
+836 7.275 4.11802392291e-07 1.25892321479e-06
+837 7.28 4.05550141016e-07 1.24201860594e-06
+838 7.285 3.99381796376e-07 1.22535991301e-06
+839 7.29 3.9329613845e-07 1.20894328352e-06
+840 7.295 3.87291966418e-07 1.19276492962e-06
+841 7.3 3.81368098239e-07 1.17682112698e-06
+842 7.305 3.75523370336e-07 1.16110821364e-06
+843 7.31 3.69756637291e-07 1.14562258888e-06
+844 7.315 3.64066771537e-07 1.13036071214e-06
+845 7.32 3.58452663062e-07 1.11531910195e-06
+846 7.325 3.52913219116e-07 1.10049433488e-06
+847 7.33 3.47447363922e-07 1.0858830445e-06
+848 7.335 3.42054038397e-07 1.07148192036e-06
+849 7.34 3.3673219987e-07 1.05728770703e-06
+850 7.345 3.31480821814e-07 1.04329720308e-06
+851 7.35 3.26298893574e-07 1.02950726017e-06
+852 7.355 3.21185420107e-07 1.01591478207e-06
+853 7.36 3.16139421723e-07 1.00251672378e-06
+854 7.365 3.1115993383e-07 9.89310090577e-07
+855 7.37 3.06246006687e-07 9.76291937184e-07
+856 7.375 3.01396705156e-07 9.63459366859e-07
+857 7.38 2.96611108464e-07 9.50809530558e-07
+858 7.385 2.91888309966e-07 9.38339626099e-07
+859 7.39 2.87227416913e-07 9.26046897331e-07
+860 7.395 2.82627550221e-07 9.13928633336e-07
+861 7.4 2.78087844251e-07 9.01982167635e-07
+862 7.405 2.73607446588e-07 8.90204877406e-07
+863 7.41 2.6918551782e-07 8.78594182731e-07
+864 7.415 2.64821231333e-07 8.67147545837e-07
+865 7.42 2.60513773095e-07 8.55862470371e-07
+866 7.425 2.56262341455e-07 8.44736500673e-07
+867 7.43 2.5206614694e-07 8.33767221072e-07
+868 7.435 2.47924412057e-07 8.22952255188e-07
+869 7.44 2.43836371097e-07 8.12289265255e-07
+870 7.445 2.39801269946e-07 8.01775951447e-07
+871 7.45 2.35818365896e-07 7.91410051224e-07
+872 7.455 2.31886927457e-07 7.81189338689e-07
+873 7.46 2.28006234181e-07 7.7111162395e-07
+874 7.465 2.2417557648e-07 7.61174752504e-07
+875 7.47 2.20394255452e-07 7.51376604623e-07
+876 7.475 2.16661582706e-07 7.41715094759e-07
+877 7.48 2.12976880196e-07 7.32188170953e-07
+878 7.485 2.09339480053e-07 7.22793814262e-07
+879 7.49 2.05748724421e-07 7.13530038185e-07
+880 7.495 2.02203965296e-07 7.04394888118e-07
+881 7.5 1.9870456437e-07 6.95386440797e-07
+882 7.505 1.95249892873e-07 6.86502803769e-07
+883 7.51 1.91839331421e-07 6.77742114863e-07
+884 7.515 1.88472269866e-07 6.69102541673e-07
+885 7.52 1.85148107151e-07 6.60582281052e-07
+886 7.525 1.8186625116e-07 6.52179558612e-07
+887 7.53 1.7862611858e-07 6.43892628236e-07
+888 7.535 1.75427134757e-07 6.35719771598e-07
+889 7.54 1.72268733561e-07 6.27659297689e-07
+890 7.545 1.6915035725e-07 6.19709542357e-07
+891 7.55 1.66071456337e-07 6.11868867849e-07
+892 7.555 1.63031489458e-07 6.04135662368e-07
+893 7.56 1.60029923244e-07 5.96508339628e-07
+894 7.565 1.57066232194e-07 5.88985338432e-07
+895 7.57 1.54139898552e-07 5.81565122242e-07
+896 7.575 1.51250412185e-07 5.74246178766e-07
+897 7.58 1.48397270459e-07 5.6702701955e-07
+898 7.585 1.45579978125e-07 5.59906179576e-07
+899 7.59 1.42798047202e-07 5.52882216872e-07
+900 7.595 1.40050996861e-07 5.4595371212e-07
+901 7.6 1.37338353314e-07 5.39119268281e-07
+902 7.605 1.34659649703e-07 5.32377510221e-07
+903 7.61 1.32014425993e-07 5.25727084341e-07
+904 7.615 1.29402228861e-07 5.19166658223e-07
+905 7.62 1.26822611598e-07 5.12694920274e-07
+906 7.625 1.24275133998e-07 5.06310579376e-07
+907 7.63 1.21759362262e-07 5.0001236455e-07
+908 7.635 1.19274868896e-07 4.93799024619e-07
+909 7.64 1.16821232612e-07 4.87669327877e-07
+910 7.645 1.14398038233e-07 4.8162206177e-07
+911 7.65 1.120048766e-07 4.75656032572e-07
+912 7.655 1.09641344473e-07 4.69770065082e-07
+913 7.66 1.07307044442e-07 4.63963002309e-07
+914 7.665 1.05001584841e-07 4.58233705177e-07
+915 7.67 1.02724579651e-07 4.52581052224e-07
+916 7.675 1.0047564842e-07 4.47003939317e-07
+917 7.68 9.82544161708e-08 4.41501279361e-07
+918 7.685 9.60605133226e-08 4.36072002025e-07
+919 7.69 9.38935756035e-08 4.30715053459e-07
+920 7.695 9.17532439703e-08 4.25429396028e-07
+921 7.7 8.96391645283e-08 4.20214008047e-07
+922 7.705 8.75509884516e-08 4.15067883513e-07
+923 7.71 8.54883719059e-08 4.09990031857e-07
+924 7.715 8.34509759714e-08 4.04979477684e-07
+925 7.72 8.14384665682e-08 4.00035260529e-07
+926 7.725 7.94505143815e-08 3.95156434615e-07
+927 7.73 7.74867947896e-08 3.90342068606e-07
+928 7.735 7.55469877916e-08 3.85591245382e-07
+929 7.74 7.36307779372e-08 3.80903061797e-07
+930 7.745 7.17378542573e-08 3.76276628463e-07
+931 7.75 6.9867910196e-08 3.71711069515e-07
+932 7.755 6.80206435432e-08 3.67205522401e-07
+933 7.76 6.61957563687e-08 3.62759137662e-07
+934 7.765 6.43929549576e-08 3.5837107872e-07
+935 7.77 6.26119497457e-08 3.54040521671e-07
+936 7.775 6.08524552575e-08 3.49766655078e-07
+937 7.78 5.91141900435e-08 3.45548679773e-07
+938 7.785 5.73968766201e-08 3.41385808656e-07
+939 7.79 5.57002414093e-08 3.37277266505e-07
+940 7.795 5.402401468e-08 3.33222289779e-07
+941 7.8 5.23679304898e-08 3.29220126433e-07
+942 7.805 5.07317266285e-08 3.25270035737e-07
+943 7.81 4.91151445613e-08 3.21371288087e-07
+944 7.815 4.75179293742e-08 3.17523164833e-07
+945 7.82 4.59398297194e-08 3.13724958102e-07
+946 7.825 4.43805977617e-08 3.09975970624e-07
+947 7.83 4.28399891263e-08 3.06275515564e-07
+948 7.835 4.13177628469e-08 3.02622916355e-07
+949 7.84 3.98136813144e-08 2.99017506534e-07
+950 7.845 3.83275102273e-08 2.95458629582e-07
+951 7.85 3.68590185422e-08 2.91945638765e-07
+952 7.855 3.54079784251e-08 2.8847789698e-07
+953 7.86 3.39741652039e-08 2.85054776599e-07
+954 7.865 3.25573573211e-08 2.81675659322e-07
+955 7.87 3.11573362879e-08 2.78339936025e-07
+956 7.875 2.97738866382e-08 2.7504700662e-07
+957 7.88 2.84067958844e-08 2.71796279909e-07
+958 7.885 2.70558544725e-08 2.68587173443e-07
+959 7.89 2.57208557397e-08 2.65419113385e-07
+960 7.895 2.44015958707e-08 2.62291534374e-07
+961 7.9 2.30978738564e-08 2.59203879393e-07
+962 7.905 2.18094914519e-08 2.56155599635e-07
+963 7.91 2.05362531363e-08 2.53146154374e-07
+964 7.915 1.92779660724e-08 2.50175010842e-07
+965 7.92 1.8034440067e-08 2.47241644098e-07
+966 7.925 1.68054875325e-08 2.44345536912e-07
+967 7.93 1.55909234484e-08 2.41486179638e-07
+968 7.935 1.43905653237e-08 2.38663070101e-07
+969 7.94 1.32042331597e-08 2.35875713474e-07
+970 7.945 1.20317494138e-08 2.33123622171e-07
+971 7.95 1.08729389636e-08 2.30406315726e-07
+972 7.955 9.72762907123e-09 2.27723320689e-07
+973 7.96 8.59564934896e-09 2.2507417051e-07
+974 7.965 7.47683172465e-09 2.2245840544e-07
+975 7.97 6.37101040818e-09 2.19875572416e-07
+976 7.975 5.27802185823e-09 2.17325224966e-07
+977 7.98 4.19770474957e-09 2.148069231e-07
+978 7.985 3.12989994095e-09 2.12320233213e-07
+979 7.99 2.07445044336e-09 2.09864727985e-07
+980 7.995 1.03120138888e-09 2.07439986287e-07
+981 8.0 0.0 0.0
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/run.in.min b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/run.in.min
new file mode 100644
index 000000000..0cde82b1f
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/run.in.min
@@ -0,0 +1,24 @@
+# -- Init section --
+
+include system.in.init
+
+# -- Atom definition section --
+
+read_data system.data
+
+# -- Settings Section --
+
+include system.in.settings
+
+# Optional: Make sure the pairwise energies look reasonable:
+pair_write 1 4 1001 r 4.05 8 test_chap-B.dat C-B 0 0
+pair_write 2 4 1001 r 4.05 8 test_chap-L.dat C-L 0 0
+pair_write 3 4 1001 r 4.05 8 test_chap-N.dat C-N 0 0
+
+# -- Run section --
+
+dump 1 all custom 50 traj_min.lammpstrj id mol type x y z ix iy iz
+
+minimize 1.0e-5 1.0e-7 500 2000
+
+write_data system_after_min.data
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/run.in.nvt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/run.in.nvt
new file mode 100644
index 000000000..d28f48dd8
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated+minichaperone/run.in.nvt
@@ -0,0 +1,46 @@
+# -- Init Section --
+
+include system.in.init
+
+# -- Atom Definition Section --
+
+# I you want to be careful, you can minimize the system first.
+# (Try using "run.in.min" and uncomment the line below.)
+# read_data system_after_min.data
+
+read_data system.data
+
+# -- Settings Section --
+
+include system.in.settings
+
+# -- Run Section --
+
+
+timestep 0.025
+dump 1 all custom 5000 traj_nvt.lammpstrj id mol type x y z ix iy iz
+
+# To use Langevin dynamics in LAMMPS you need both "fix langevin" and "fix nve".
+# (See http://lammps.sandia.gov/doc/fix_langevin.html for details.)
+
+fix fxlan all langevin 0.25 0.25 1.0 48279
+fix fxnve all nve
+
+# Notes:
+# The temperature is in reduced units and is set to 0.25
+# which is the folding temperature for the frustrated protein
+# The inverse-damping-rate "damp" (which has units of time) is set to 1.0,
+# as it was in the paper. (Hopefully folding times should be similar.)
+# (See http://lammps.sandia.gov/doc/fix_langevin.html)
+
+
+thermo_style custom step temp pe etotal press vol epair ebond eangle edihed
+thermo_modify norm no #(report total energy not energy / num_atoms)
+thermo 5000 #(time interval for printing out "thermo" data)
+
+#restart 100000000 restart_nvt
+
+run 1000000000
+
+write_data system_after_nvt.data
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/README.txt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/README.txt
new file mode 100644
index 000000000..7b02e02a3
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/README.txt
@@ -0,0 +1,29 @@
+# This directory demonstrates how to run a short simulation of
+# the "frustrated" coarse-grained protein model used in:
+# AI Jewett, A Baumketner and J-E Shea, PNAS, 101 (36), 13192-13197, (2004)
+# (http://www.pnas.org/content/101/36/13192)
+#
+# During this short simulation (run_short_sim.nvt.in) the protein evolves
+# from an unfolded initial conformation to a misfolded conformation.
+# (Visualize using VMD. Note: It can take hundreds of millions of
+# timesteps to escape from this conformation and reach the folded state.)
+#
+# -------- REQUIREMENTS: ---------
+# 1) This example requires the "USER-MISC" package. (Use "make yes-USER-MISC")
+# http://lammps.sandia.gov/doc/Section_start.html#start_3
+# 2) It also may require additional features and bug fixes for LAMMPS.
+# be sure to download and copy the "additional_lammps_code" from
+# http://moltemplate.org (upper-left corner menu)
+# 3) Unpack it
+# 4) copy the .cpp and .h files to the src folding of your lammps installation.
+# 5) Compile LAMMPS.
+
+-------------
+Instructions on how to build LAMMPS input files and
+run a short simulation are provided in other README files.
+
+step 1)
+README_setup.sh
+
+step2)
+README_run.sh
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/README_run.sh b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/README_run.sh
new file mode 100755
index 000000000..6c5417239
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/README_run.sh
@@ -0,0 +1,21 @@
+# You would probably run lammps this way:
+#
+# lmp_ubuntu -i run.in.nvt
+
+# The files "run.in.min", and "run.in.nvt" are LAMMPS input scripts which refer
+# to the input scripts & data files you created earlier when you ran moltemplate
+# system.in.init, system.in.settings, system.data
+
+
+# -----------------------------------
+
+LAMMPS_COMMAND="lmp_mpi"
+
+# Here "$LAMMPS_BINARY" is the name of the command you use to invoke lammps
+# (such as lmp_ubuntu, lmp_mac_mpi, lmp_cygwin etc...). Change if necessary.
+
+# Run lammps using the following 3 commands:
+
+"$LAMMPS_COMMAND" -i run.in.min # minimize (OPTIONAL)
+"$LAMMPS_COMMAND" -i run_short_sim.in.nvt # production run
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/README_setup.sh b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/README_setup.sh
new file mode 100755
index 000000000..042f73a28
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/README_setup.sh
@@ -0,0 +1,24 @@
+# Use these commands to generate the LAMMPS input script and data file
+# (and other auxilliary files):
+
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh -overlay-dihedrals system.lt
+
+ # This will generate various files with names ending in *.in* and *.data.
+ # These files are the input files directly read by LAMMPS. Move them to
+ # the parent directory (or wherever you plan to run the simulation).
+
+ mv -f system.in* system.data ../
+ cp -r table*.dat ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/README_visualize.txt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/README_visualize.txt
new file mode 100644
index 000000000..a3e3ed620
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0}
+ pbc box -shiftcenterrel {0.0 0.15 0.0}
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/images/initial_conformation_t=0tau.jpg b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/images/initial_conformation_t=0tau.jpg
new file mode 100644
index 000000000..0869126bd
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/images/initial_conformation_t=0tau.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/images/misfolded_conformation_t=1250tau.jpg b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/images/misfolded_conformation_t=1250tau.jpg
new file mode 100644
index 000000000..357bc780a
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/images/misfolded_conformation_t=1250tau.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/moltemplate_files/1beadFrustrated.lt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/moltemplate_files/1beadFrustrated.lt
new file mode 100644
index 000000000..074b55c73
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/moltemplate_files/1beadFrustrated.lt
@@ -0,0 +1,216 @@
+# This file defines the "frustrated" coarse-grained protein model used in:
+# AI Jewett, A Baumketner and J-E Shea, PNAS, 101 (36), 13192-13197, (2004)
+# (http://www.pnas.org/content/101/36/13192)
+
+
+1beadFrustrated {
+
+ # There are 3 atom types (referred to above as B, L, and N)
+ # Define their masses:
+
+ write_once("Data Masses") {
+ @atom:B 1.0
+ @atom:L 1.0
+ @atom:N 1.0
+ }
+
+ # AtomID MoleculeID AtomType Charge X Y Z
+
+ write("Data Atoms") {
+ $atom:a1 $mol @atom:L 0.0 -0.92636654 -1.8409904 -2.1482679
+ $atom:a2 $mol @atom:B 0.0 -0.57313354 -1.0670787 -1.6182341
+ $atom:a3 $mol @atom:L 0.0 -0.85707399 -1.2358703 -0.69350966
+ $atom:a4 $mol @atom:B 0.0 -0.44231274 -0.4584993 -0.23418709
+ $atom:a5 $mol @atom:L 0.0 -0.75081182 -0.62868078 0.69786737
+ $atom:a6 $mol @atom:B 0.0 -0.36201977 0.11619615 1.2249098
+ $atom:a7 $mol @atom:N 0.0 -0.63708237 -0.15973084 2.1723919
+ $atom:a8 $mol @atom:N 0.0 0.20516047 0.10417157 2.624901
+ $atom:a9 $mol @atom:B 0.0 0.57223743 0.44728103 1.7695617
+ $atom:a10 $mol @atom:L 0.0 0.77646279 -0.40630393 1.3168043
+ $atom:a11 $mol @atom:B 0.0 0.45475664 -0.2077937 0.40045721
+ $atom:a12 $mol @atom:L 0.0 0.72712495 -1.0397637 -0.087614951
+ $atom:a13 $mol @atom:B 0.0 0.36971183 -0.85840501 -0.9933019
+ $atom:a14 $mol @atom:L 0.0 0.74784336 -1.5700415 -1.5859217
+ $atom:a15 $mol @atom:N 0.0 0.43423905 -1.2758917 -2.4853429
+ $atom:a16 $mol @atom:N 0.0 0.70583191 -0.30726921 -2.4987711
+ $atom:a17 $mol @atom:N 0.0 -0.091688915 0.23323014 -2.2051358
+ $atom:a18 $mol @atom:B 0.0 -0.34243283 -0.035822049 -1.2644719
+ $atom:a19 $mol @atom:B 0.0 0.41961247 0.18475451 -0.65971014
+ $atom:a20 $mol @atom:L 0.0 0.51968465 1.1546791 -0.77877053
+ $atom:a21 $mol @atom:L 0.0 -0.40827985 1.2765273 -0.52550748
+ $atom:a22 $mol @atom:B 0.0 -0.368141 0.58090904 0.19152224
+ $atom:a23 $mol @atom:B 0.0 0.40327249 0.86101769 0.7336255
+ $atom:a24 $mol @atom:L 0.0 0.22707289 1.8326235 0.89673346
+ $atom:a25 $mol @atom:L 0.0 -0.66500182 1.7285809 1.2783166
+ $atom:a26 $mol @atom:B 0.0 -0.39205603 1.0475436 1.9328097
+ $atom:a27 $mol @atom:L 0.0 0.25339027 1.5246265 2.5388463
+ }
+
+ # bond-ID bond-Type atom-ID atom-ID
+
+ write("Data Bonds") {
+ $bond:b1 @bond:backbone $atom:a1 $atom:a2
+ $bond:b2 @bond:backbone $atom:a2 $atom:a3
+ $bond:b3 @bond:backbone $atom:a3 $atom:a4
+ $bond:b4 @bond:backbone $atom:a4 $atom:a5
+ $bond:b5 @bond:backbone $atom:a5 $atom:a6
+ $bond:b6 @bond:backbone $atom:a6 $atom:a7
+ $bond:b7 @bond:backbone $atom:a7 $atom:a8
+ $bond:b8 @bond:backbone $atom:a8 $atom:a9
+ $bond:b9 @bond:backbone $atom:a9 $atom:a10
+ $bond:b10 @bond:backbone $atom:a10 $atom:a11
+ $bond:b11 @bond:backbone $atom:a11 $atom:a12
+ $bond:b12 @bond:backbone $atom:a12 $atom:a13
+ $bond:b13 @bond:backbone $atom:a13 $atom:a14
+ $bond:b14 @bond:backbone $atom:a14 $atom:a15
+ $bond:b15 @bond:backbone $atom:a15 $atom:a16
+ $bond:b16 @bond:backbone $atom:a16 $atom:a17
+ $bond:b17 @bond:backbone $atom:a17 $atom:a18
+ $bond:b18 @bond:backbone $atom:a18 $atom:a19
+ $bond:b19 @bond:backbone $atom:a19 $atom:a20
+ $bond:b20 @bond:backbone $atom:a20 $atom:a21
+ $bond:b21 @bond:backbone $atom:a21 $atom:a22
+ $bond:b22 @bond:backbone $atom:a22 $atom:a23
+ $bond:b23 @bond:backbone $atom:a23 $atom:a24
+ $bond:b24 @bond:backbone $atom:a24 $atom:a25
+ $bond:b25 @bond:backbone $atom:a25 $atom:a26
+ $bond:b26 @bond:backbone $atom:a26 $atom:a27
+ }
+
+ # (3-body) Angles are specified below
+
+ # (4-body) Dihedrals must be defined explicitly for every quartet of atoms.
+ # (These interactions are not determined by atom type.)
+
+ # dihedral-ID dihedral-Type atom-ID atom-ID atom-ID atom-ID
+
+ write("Data Dihedrals") {
+
+ $dihedral:d1 @dihedral:beta $atom:a1 $atom:a2 $atom:a3 $atom:a4
+ $dihedral:d2 @dihedral:beta $atom:a2 $atom:a3 $atom:a4 $atom:a5
+ $dihedral:d3 @dihedral:beta $atom:a3 $atom:a4 $atom:a5 $atom:a6
+ $dihedral:d4 @dihedral:beta $atom:a4 $atom:a5 $atom:a6 $atom:a7
+
+ # Dihedral angle forces in the turn regions were switched off
+ # (in this model) so just I comment them out (and \ the variable names).
+ # \$dihedral:d5 \@dihedral:turn $atom:a5 $atom:a6 $atom:a7 $atom:a8
+ # \$dihedral:d6 \@dihedral:turn $atom:a6 $atom:a7 $atom:a8 $atom:a9
+ # \$dihedral:d7 \@dihedral:turn $atom:a7 $atom:a8 $atom:a9 $atom:a10
+
+ $dihedral:d8 @dihedral:beta $atom:a8 $atom:a9 $atom:a10 $atom:a11
+ $dihedral:d9 @dihedral:beta $atom:a9 $atom:a10 $atom:a11 $atom:a12
+ $dihedral:d10 @dihedral:beta $atom:a10 $atom:a11 $atom:a12 $atom:a13
+ $dihedral:d11 @dihedral:beta $atom:a11 $atom:a12 $atom:a13 $atom:a14
+ $dihedral:d12 @dihedral:beta $atom:a12 $atom:a13 $atom:a14 $atom:a15
+
+ # Dihedral angle forces in the turn regions were switched off
+ # (in this model) so just I comment them out (and \ the variable names).
+ # \$dihedral:d13 \@dihedral:turn $atom:a13 $atom:a14 $atom:a15 $atom:a16
+ # \$dihedral:d14 \@dihedral:turn $atom:a14 $atom:a15 $atom:a16 $atom:a17
+
+ $dihedral:d15 @dihedral:alpha $atom:a15 $atom:a16 $atom:a17 $atom:a18
+ $dihedral:d16 @dihedral:alpha $atom:a16 $atom:a17 $atom:a18 $atom:a19
+ $dihedral:d17 @dihedral:alpha $atom:a17 $atom:a18 $atom:a19 $atom:a20
+ $dihedral:d18 @dihedral:alpha $atom:a18 $atom:a19 $atom:a20 $atom:a21
+ $dihedral:d19 @dihedral:alpha $atom:a19 $atom:a20 $atom:a21 $atom:a22
+ $dihedral:d20 @dihedral:alpha $atom:a20 $atom:a21 $atom:a22 $atom:a23
+ $dihedral:d21 @dihedral:alpha $atom:a21 $atom:a22 $atom:a23 $atom:a24
+ $dihedral:d22 @dihedral:alpha $atom:a22 $atom:a23 $atom:a24 $atom:a25
+ $dihedral:d23 @dihedral:alpha $atom:a23 $atom:a24 $atom:a25 $atom:a26
+ $dihedral:d24 @dihedral:alpha $atom:a24 $atom:a25 $atom:a26 $atom:a27
+ }
+
+ # All consecutively bonded triplets of atoms same 3-body bond-angle
+ # interaction parameters. Of coarse, we could specify them all explicitly
+ # (as we did for the dihedrals above), but I wanted to show how to specify
+ # angles by atom type instead. (You can do this for dihedrals & impropers
+ # also.)
+
+ # angle-Type atom-Type atom-Type atom-Type bond-Type bond-Type
+
+ write_once("Data Angles By Type") {
+ @angle:backbone @atom:* @atom:* @atom:* @bond:* @bond:*
+ }
+
+ # (The "*" is a wildcard character. I use "*" to denote any atom-type or
+ # bond-type which is defined within the current namespace: 1beadFrustrated)
+
+
+ # 2-body (non-bonded) interactions:
+ #
+ # Uij(r) = 4*eps_ij * (K*(sig_ij/r)^12 + L*(sig_ij/r)^6)
+ #
+ # i j pairstylename eps sig K L
+ #
+ write_once("In Settings") {
+ pair_coeff @atom:B @atom:B lj/charmm/coul/charmm/inter 1.0 1.0 1 -1
+ pair_coeff @atom:B @atom:L lj/charmm/coul/charmm/inter 0.5833333333 1.0 1 0
+ pair_coeff @atom:B @atom:N lj/charmm/coul/charmm/inter 0.6666666667 1.0 1 0
+ pair_coeff @atom:L @atom:L lj/charmm/coul/charmm/inter 0.1666666667 1.0 1 1
+ pair_coeff @atom:L @atom:N lj/charmm/coul/charmm/inter 0.25 1.0 1 0
+ pair_coeff @atom:N @atom:N lj/charmm/coul/charmm/inter 0.3333333333 1.0 1 0
+ }
+
+
+ # 2-body (bonded) interactions:
+ #
+ # Ubond(r) = (k/2)*(r-0)^2
+ #
+ # The corresponding command is:
+ #
+ # bond-Type bondstylename k r0
+
+ write_once("In Settings") {
+ bond_coeff @bond:backbone harmonic 100.0 1.0
+ }
+
+ # 3-body interactions in this example are listed by atomType and bondType
+ # The atomIDs involved are determined automatically. The forumula used is:
+ #
+ # Uangle(theta) = (k/2)*(theta-theta0)^2
+ # (k in kcal/mol/rad^2, theta0 in degrees)
+ #
+ # angle-Type anglestylename k theta0
+
+ write_once("In Settings") {
+ angle_coeff @angle:backbone harmonic 13.3333333333 105.0
+ }
+
+
+ # We use tabular dihedral potentials to implement the dihedral forces.
+ # (Actually there is a way to use Fourier series, using multiple charmm
+ # style dihedral interactions, but it's slower and messier.)
+
+ write_once("In Settings") {
+ # style file keyword
+ dihedral_coeff @dihedral:alpha table table_dihedral_frustrated.dat FRUSTRATED_ALPHA
+ dihedral_coeff @dihedral:beta table table_dihedral_frustrated.dat FRUSTRATED_BETA
+ # No need to specify dihedral interactions in the turn regions. (none exist)
+ }
+
+ write_once("In Settings") {
+ # Optional: define the atoms in the "proteins" group
+ group proteins type @atom:B
+ group proteins type @atom:L
+ group proteins type @atom:N
+ }
+
+ # LAMMPS has many available force field styles (and atom styles).
+ # Here, we pick the ones which work well for this molecular model:
+
+ write_once("In Init") {
+ # --- Default options for the "1BeadFrustrated" protein model ---
+ # --- (These can be overridden later.) ---
+ units lj
+ atom_style full
+ bond_style hybrid harmonic
+ angle_style hybrid harmonic
+ dihedral_style hybrid table spline 360
+ pair_style hybrid lj/charmm/coul/charmm/inter es4k4l maxmax 3.5 4.0
+ pair_modify mix arithmetic
+ special_bonds lj 0.0 0.0 1.0 #(turn on "1-4" interactions)
+ }
+
+} # 1beadFrustrated
+
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/moltemplate_files/1beadFrustrated_variants.lt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/moltemplate_files/1beadFrustrated_variants.lt
new file mode 100644
index 000000000..54e2de437
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/moltemplate_files/1beadFrustrated_variants.lt
@@ -0,0 +1,85 @@
+import "1beadFrustrated.lt"
+
+
+# Alternate starting conformation (same molecule):
+
+
+1beadMisfolded inherits 1beadFrustrated {
+
+ # This molecule "inherits" all of its features from "1beadFrustrated".
+ # Here we override the atomic positions with new coordinates:
+
+ # AtomID MoleculeID AtomType Charge X Y Z
+
+ write("Data Atoms") {
+ $atom:a1 $mol @atom:L 0.0 -0.69801399 -0.22114168 -1.9464876
+ $atom:a2 $mol @atom:B 0.0 -0.40921658 -0.027063664 -1.0033251
+ $atom:a3 $mol @atom:L 0.0 0.10259348 0.80836418 -1.0737085
+ $atom:a4 $mol @atom:B 0.0 0.25857916 1.0054984 -0.11621451
+ $atom:a5 $mol @atom:L 0.0 0.8258629 1.8325549 -0.18529135
+ $atom:a6 $mol @atom:B 0.0 0.91366257 2.1950317 0.74175977
+ $atom:a7 $mol @atom:N 0.0 1.4399539 1.554238 1.2994409
+ $atom:a8 $mol @atom:N 0.0 0.73372573 1.0161012 1.7397275
+ $atom:a9 $mol @atom:B 0.0 0.26608782 0.65302497 0.94353938
+ $atom:a10 $mol @atom:L 0.0 0.97442305 0.13574211 0.50586398
+ $atom:a11 $mol @atom:B 0.0 0.35889617 -0.18247555 -0.1764186
+ $atom:a12 $mol @atom:L 0.0 0.87151735 -0.77260824 -0.75240916
+ $atom:a13 $mol @atom:B 0.0 0.047726486 -1.0530682 -1.1902704
+ $atom:a14 $mol @atom:L 0.0 0.34530697 -1.7476773 -1.8393331
+ $atom:a15 $mol @atom:N 0.0 0.65865186 -2.45948 -1.2167056
+ $atom:a16 $mol @atom:N 0.0 -0.16534524 -2.6219442 -0.67112167
+ $atom:a17 $mol @atom:N 0.0 -0.010590421 -2.2445242 0.24748633
+ $atom:a18 $mol @atom:B 0.0 0.18135771 -1.2564919 0.1767523
+ $atom:a19 $mol @atom:B 0.0 -0.57472665 -0.82852797 -0.27027791
+ $atom:a20 $mol @atom:L 0.0 -1.3967448 -1.0516787 0.24247346
+ $atom:a21 $mol @atom:L 0.0 -1.003428 -0.85642681 1.1107555
+ $atom:a22 $mol @atom:B 0.0 -0.25156735 -0.3182346 0.74262946
+ $atom:a23 $mol @atom:B 0.0 -0.61751956 0.30115562 0.070426493
+ $atom:a24 $mol @atom:L 0.0 -1.3347934 0.83310182 0.52625934
+ $atom:a25 $mol @atom:L 0.0 -0.83315257 1.270904 1.2564086
+ $atom:a26 $mol @atom:B 0.0 -0.10469759 1.6988523 0.72597181
+ $atom:a27 $mol @atom:L 0.0 -0.57854905 2.3367737 0.11206868
+ }
+
+} # 1beadMisfolded
+
+
+1beadUnfolded inherits 1beadFrustrated {
+
+ # This molecule "inherits" all of its features from "1beadFrustrated"
+ # Here we override the atomic positions with new coordinates:
+
+ # AtomID MoleculeID AtomType Charge X Y Z
+
+ write('Data Atoms') {
+ $atom:a1 $mol @atom:L 0.0 -2.4 1.7 -0.0
+ $atom:a2 $mol @atom:B 0.0 -1.8 1.7 0.8
+ $atom:a3 $mol @atom:L 0.0 -1.2 2.5 0.8
+ $atom:a4 $mol @atom:B 0.0 -0.6 2.5 -0.0
+ $atom:a5 $mol @atom:L 0.0 0.0 1.7 -0.0
+ $atom:a6 $mol @atom:B 0.0 0.6 1.7 0.8
+ $atom:a7 $mol @atom:N 0.0 1.2 2.5 0.8
+ $atom:a8 $mol @atom:N 0.0 1.8 2.5 -0.0
+ $atom:a9 $mol @atom:B 0.0 2.4 1.7 -0.0
+ $atom:a10 $mol @atom:L 0.0 3.0 1.7 -0.8
+ $atom:a11 $mol @atom:B 0.0 3.0 0.7 -0.8
+ $atom:a12 $mol @atom:L 0.0 3.0 0.1 -0.0
+ $atom:a13 $mol @atom:B 0.0 3.8 -0.5 -0.0
+ $atom:a14 $mol @atom:L 0.0 3.8 -1.1 -0.8
+ $atom:a15 $mol @atom:N 0.0 3.0 -1.7 -0.8
+ $atom:a16 $mol @atom:N 0.0 3.0 -1.7 0.2
+ $atom:a17 $mol @atom:N 0.0 2.4 -2.5 0.2
+ $atom:a18 $mol @atom:B 0.0 1.8 -2.5 -0.6
+ $atom:a19 $mol @atom:B 0.0 1.2 -1.7 -0.6
+ $atom:a20 $mol @atom:L 0.0 0.6 -1.7 0.2
+ $atom:a21 $mol @atom:L 0.0 -0.0 -2.5 0.2
+ $atom:a22 $mol @atom:B 0.0 -0.6 -2.5 -0.6
+ $atom:a23 $mol @atom:B 0.0 -1.2 -1.7 -0.6
+ $atom:a24 $mol @atom:L 0.0 -1.8 -1.7 0.2
+ $atom:a25 $mol @atom:L 0.0 -2.4 -2.5 0.2
+ $atom:a26 $mol @atom:B 0.0 -3.0 -2.5 -0.6
+ $atom:a27 $mol @atom:L 0.0 -3.6 -1.7 -0.6
+ }
+
+} # 1beadUnfolded
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/moltemplate_files/generate_tables/calc_dihedral_table.py b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/moltemplate_files/generate_tables/calc_dihedral_table.py
new file mode 100755
index 000000000..907732fa1
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/moltemplate_files/generate_tables/calc_dihedral_table.py
@@ -0,0 +1,67 @@
+#!/usr/bin/env python
+
+# Calculate a table of dihedral angle interactions used in the alpha-helix
+# and beta-sheet regions of the frustrated protein model described in
+# provided in figure 8 of the supplemental materials section of:
+# AI Jewett, A Baumketner and J-E Shea, PNAS, 101 (36), 13192-13197, (2004)
+# Note that the "A" and "B" parameters were incorrectly reported to be
+# 5.4*epsilon and 6.0*epsilon. The values used were 5.6 and 6.0 epsilon.
+# The phiA and phiB values were 57.29577951308232 degrees (1 rad)
+# and 180 degrees, respectively. Both expA and expB were 6.0.
+#
+# To generate the table used for the alpha-helix (1 degree resolution) use this:
+# ./calc_dihedral_table.py 6.0 57.29577951308232 6 5.6 180 6 0.0 359 360
+# To generate the table used for the beta-sheets (1 degree resolution) use this:
+# ./calc_dihedral_table.py 5.6 57.29577951308232 6 6.0 180 6 0.0 359 360
+#
+# (If you're curious as to why I set the location of the minima at phi_alpha
+# to 1.0 radians (57.2957795 degrees), there was no particularly good reason.
+# I think the correct value turns out to be something closer to 50 degrees.)
+
+
+from math import *
+import sys
+
+
+# The previous version included the repulsive core term
+def U(phi, A, phiA, expA, B, phiB, expB, use_radians=False):
+ conv_units = pi/180.0
+ if use_radians:
+ conv_units = 1.0
+ termA = pow(cos(0.5*(phi-phiA)*conv_units), expA)
+ termB = pow(cos(0.5*(phi-phiB)*conv_units), expB)
+ return -A*termA - B*termB
+
+# The previous version included the repulsive core term
+def F(phi, A, phiA, expA, B, phiB, expB, use_radians=False):
+ conv_units = pi/180.0
+ if use_radians:
+ conv_units = 1.0
+ termA = (0.5*sin(0.5*(phi-phiA)*conv_units) *
+ expA * pow(cos(0.5*(phi-phiA)*conv_units), expA-1.0))
+ termB = (0.5*sin(0.5*(phi-phiB)*conv_units) *
+ expB * pow(cos(0.5*(phi-phiB)*conv_units), expB-1.0))
+ return -conv_units*(A*termA + B*termB)
+
+if len(sys.argv) != 10:
+ sys.stderr.write("Error: expected 9 arguments:\n"
+ "\n"
+ "Usage: "+sys.argv[0]+" A phiA expA B phiB expB phiMin phiMax N\n\n")
+ sys.exit(-1)
+
+A = float(sys.argv[1])
+phiA = float(sys.argv[2])
+expA = float(sys.argv[3])
+B = float(sys.argv[4])
+phiB = float(sys.argv[5])
+expB = float(sys.argv[6])
+phi_min = float(sys.argv[7])
+phi_max = float(sys.argv[8])
+N = int(sys.argv[9])
+
+for i in range(0,N):
+ phi = phi_min + i*(phi_max - phi_min)/(N-1)
+ U_phi = U(phi, A, phiA, expA, B, phiB, expB, use_radians=False)
+ F_phi = F(phi, A, phiA, expA, B, phiB, expB, use_radians=False)
+ print(str(i+1)+' '+str(phi)+' '+str(U_phi)+' '+str(F_phi))
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/moltemplate_files/system.lt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/moltemplate_files/system.lt
new file mode 100644
index 000000000..a27595559
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/moltemplate_files/system.lt
@@ -0,0 +1,20 @@
+import "1beadFrustrated_variants.lt"
+
+
+protein = new 1beadUnfolded
+
+
+
+# Note: The protein begins in an "Unfolded" conformation. If instead
+# you want it to begin in the folded or misfolded conformations use:
+# protein = new 1beadFrustrated # or
+# protein = new 1beadMisfolded
+
+
+
+# ("27.0" is the length of the protein when maximally extended)
+write_once("Data Boundary") {
+ 0.0 27.0 xlo xhi
+ 0.0 27.0 ylo yhi
+ 0.0 27.0 zlo zhi
+}
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/moltemplate_files/table_dihedral_frustrated.dat b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/moltemplate_files/table_dihedral_frustrated.dat
new file mode 100644
index 000000000..d660fee30
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/moltemplate_files/table_dihedral_frustrated.dat
@@ -0,0 +1,735 @@
+# Table of the potential and its negative derivative for frustrated alpha helix
+# (Note: Derivatives are in units of energy/radians, not energy/degrees.)
+# ./calc_dihedral_table.py 6.0 57.29577951308232 6 5.6 180 6 0.0 359 360
+
+FRUSTRATED_ALPHA
+N 360 DEGREES
+
+1 0.0 -2.74081145103 0.0783990792662
+2 1.0 -2.81950869101 0.0789852583442
+3 2.0 -2.89876136749 0.0795096391909
+4 3.0 -2.97850675562 0.0799703813963
+5 4.0 -3.05868032959 0.0803657243943
+6 5.0 -3.13921584545 0.0806939935737
+7 6.0 -3.22004543014 0.0809536062381
+8 7.0 -3.30109967628 0.0811430773977
+9 8.0 -3.38230774267 0.0812610253741
+10 9.0 -3.46359746038 0.0813061772009
+11 10.0 -3.54489544401 0.0812773738039
+12 11.0 -3.62612720812 0.0811735749433
+13 12.0 -3.70721728841 0.0809938639029
+14 13.0 -3.78808936748 0.080737451911
+15 14.0 -3.86866640485 0.0804036822781
+16 15.0 -3.94887077101 0.0799920342374
+17 16.0 -4.02862438516 0.0795021264757
+18 17.0 -4.10784885622 0.0789337203415
+19 18.0 -4.18646562704 0.0782867227197
+20 19.0 -4.26439612115 0.0775611885609
+21 20.0 -4.34156189202 0.0767573230567
+22 21.0 -4.41788477419 0.0758754834523
+23 22.0 -4.49328703609 0.0749161804868
+24 23.0 -4.56769153408 0.0738800794563
+25 24.0 -4.64102186743 0.0727680008923
+26 25.0 -4.71320253365 0.0715809208518
+27 26.0 -4.78415908407 0.0703199708131
+28 27.0 -4.85381827903 0.0689864371778
+29 28.0 -4.92210824234 0.067581760373
+30 29.0 -4.98895861476 0.0661075335571
+31 30.0 -5.05430070586 0.0645655009259
+32 31.0 -5.11806764409 0.0629575556235
+33 32.0 -5.18019452449 0.061285737258
+34 33.0 -5.24061855376 0.0595522290273
+35 34.0 -5.29927919225 0.0577593544584
+36 35.0 -5.3561182925 0.0559095737673
+37 36.0 -5.41108023395 0.0540054798439
+38 37.0 -5.46411205346 0.0520497938726
+39 38.0 -5.51516357127 0.0500453605949
+40 39.0 -5.56418751203 0.0479951432253
+41 40.0 -5.61113962059 0.0459022180302
+42 41.0 -5.65597877221 0.0437697685824
+43 42.0 -5.69866707689 0.0416010797029
+44 43.0 -5.7391699774 0.0393995311046
+45 44.0 -5.77745634094 0.0371685907508
+46 45.0 -5.81349854393 0.034911807945
+47 46.0 -5.84727254977 0.0326328061676
+48 47.0 -5.87875797937 0.030335275675
+49 48.0 -5.90793817411 0.0280229658805
+50 49.0 -5.93480025113 0.0256996775336
+51 50.0 -5.95933515063 0.0233692547166
+52 51.0 -5.98153767519 0.0210355766777
+53 52.0 -6.00140652074 0.0187025495211
+54 53.0 -6.01894429926 0.016374097773
+55 54.0 -6.03415755288 0.0140541558448
+56 55.0 -6.04705675953 0.0117466594146
+57 56.0 -6.05765632981 0.00945553674764
+58 57.0 -6.06597459526 0.00718469997761
+59 58.0 -6.07203378786 0.00493803637051
+60 59.0 -6.07586001075 0.00271939959245
+61 60.0 -6.07748320034 0.000532601003776
+62 61.0 -6.07693707962 -0.00161859899905
+63 62.0 -6.07425910291 -0.00373049957158
+64 63.0 -6.06949039207 -0.00579946791801
+65 64.0 -6.06267566421 -0.00782194767468
+66 65.0 -6.05386315117 -0.00979446715893
+67 66.0 -6.04310451074 -0.0117136474624
+68 67.0 -6.03045472992 -0.0135762103679
+69 68.0 -6.01597202036 -0.0153789860691
+70 69.0 -5.99971770618 -0.0171189206741
+71 70.0 -5.98175610439 -0.0187930834719
+72 71.0 -5.9621543982 -0.0203986739443
+73 72.0 -5.9409825034 -0.0219330285036
+74 73.0 -5.91831292823 -0.0233936269399
+75 74.0 -5.89422062685 -0.0247780985587
+76 75.0 -5.86878284696 -0.0260842279959
+77 76.0 -5.84207897162 -0.0273099606906
+78 77.0 -5.81419035593 -0.0284534080045
+79 78.0 -5.78520015867 -0.0295128519729
+80 79.0 -5.7551931694 -0.0304867496727
+81 80.0 -5.72425563141 -0.0313737371989
+82 81.0 -5.6924750609 -0.0321726332348
+83 82.0 -5.65994006273 -0.0328824422092
+84 83.0 -5.62674014332 -0.0335023570292
+85 84.0 -5.59296552097 -0.0340317613814
+86 85.0 -5.55870693409 -0.0344702315961
+87 86.0 -5.52405544786 -0.0348175380654
+88 87.0 -5.48910225957 -0.0350736462148
+89 88.0 -5.45393850338 -0.0352387170203
+90 89.0 -5.41865505462 -0.0353131070729
+91 90.0 -5.38334233438 -0.0352973681855
+92 91.0 -5.34809011465 -0.0351922465446
+93 92.0 -5.31298732458 -0.0349986814067
+94 93.0 -5.27812185824 -0.034717803342
+95 94.0 -5.24358038438 -0.0343509320285
+96 95.0 -5.2094481586 -0.0338995736008
+97 96.0 -5.17580883839 -0.0333654175598
+98 97.0 -5.14274430152 -0.0327503332496
+99 98.0 -5.11033446814 -0.0320563659092
+100 99.0 -5.07865712698 -0.0312857323082
+101 100.0 -5.04778776623 -0.0304408159764
+102 101.0 -5.01779940929 -0.0295241620384
+103 102.0 -4.98876245596 -0.0285384716647
+104 103.0 -4.96074452928 -0.0274865961525
+105 104.0 -4.93381032851 -0.0263715306507
+106 105.0 -4.90802148862 -0.0251964075427
+107 106.0 -4.88343644644 -0.0239644895038
+108 107.0 -4.86011031397 -0.0226791622487
+109 108.0 -4.83809475914 -0.0213439269874
+110 109.0 -4.81743789414 -0.0199623926068
+111 110.0 -4.79818417182 -0.0185382675969
+112 111.0 -4.78037429015 -0.0170753517415
+113 112.0 -4.76404510526 -0.0155775275918
+114 113.0 -4.74922955293 -0.0140487517461
+115 114.0 -4.73595657904 -0.0124930459538
+116 115.0 -4.7242510789 -0.0109144880672
+117 116.0 -4.71413384576 -0.00931720286182
+118 117.0 -4.70562152846 -0.00770535274772
+119 118.0 -4.69872659855 -0.00608312839491
+120 119.0 -4.69345732669 -0.00445473929448
+121 120.0 -4.6898177686 -0.00282440427898
+122 121.0 -4.68780776044 -0.00119634202478
+123 122.0 -4.68742292374 0.000425238440527
+124 123.0 -4.68865467977 0.0020361472029
+125 124.0 -4.69149027336 0.00363222287571
+126 125.0 -4.69591280613 0.00520934194008
+127 126.0 -4.70190127895 0.0067634279891
+128 127.0 -4.70943064365 0.00829046085365
+129 128.0 -4.71847186379 0.00978648558781
+130 129.0 -4.72899198423 0.0112476212922
+131 130.0 -4.74095420961 0.0126700697544
+132 131.0 -4.7543179912 0.0140501238848
+133 132.0 -4.76903912216 0.0153841759291
+134 133.0 -4.78506984093 0.0166687254364
+135 134.0 -4.80235894235 0.0179003869651
+136 135.0 -4.82085189642 0.0190758975074
+137 136.0 -4.84049097437 0.0201921236154
+138 137.0 -4.86121538156 0.0212460682116
+139 138.0 -4.88296139722 0.0222348770682
+140 139.0 -4.90566252032 0.0231558449399
+141 140.0 -4.9292496215 0.0240064213355
+142 141.0 -4.95365110055 0.0247842159162
+143 142.0 -4.97879304911 0.0254870035063
+144 143.0 -5.00459941816 0.0261127287073
+145 144.0 -5.03099218995 0.0266595101027
+146 145.0 -5.05789155387 0.0271256440463
+147 146.0 -5.08521608601 0.0275096080241
+148 147.0 -5.11288293171 0.0278100635833
+149 148.0 -5.14080799097 0.0280258588231
+150 149.0 -5.16890610603 0.0281560304409
+151 150.0 -5.19709125082 0.0281998053314
+152 151.0 -5.22527672173 0.0281566017347
+153 152.0 -5.25337532941 0.0280260299338
+154 153.0 -5.28129959092 0.0278078924984
+155 154.0 -5.30896192196 0.0275021840788
+156 155.0 -5.33627482866 0.0271090907491
+157 156.0 -5.36315109852 0.0266289889046
+158 157.0 -5.38950398994 0.026062443717
+159 158.0 -5.41524742011 0.0254102071518
+160 159.0 -5.44029615055 0.0246732155563
+161 160.0 -5.46456597019 0.0238525868232
+162 161.0 -5.48797387528 0.0229496171403
+163 162.0 -5.51043824587 0.0219657773349
+164 163.0 -5.53187901853 0.0209027088232
+165 164.0 -5.55221785468 0.0197622191769
+166 165.0 -5.57137830441 0.0185462773191
+167 166.0 -5.58928596528 0.0172570083629
+168 167.0 -5.60586863576 0.0158966881068
+169 168.0 -5.62105646307 0.0144677372016
+170 169.0 -5.63478208493 0.0129727150063
+171 170.0 -5.64698076513 0.0114143131467
+172 171.0 -5.65759052241 0.00979534879707
+173 172.0 -5.66655225257 0.00811875770075
+174 173.0 -5.67380984344 0.00638758694863
+175 174.0 -5.67931028251 0.00460498753534
+176 175.0 -5.68300375706 0.00277420671195
+177 176.0 -5.68484374646 0.000898580155594
+178 177.0 -5.68478710669 -0.00101847602368
+179 178.0 -5.68279414663 -0.00297347341791
+180 179.0 -5.67882869631 -0.00496285957718
+181 180.0 -5.67285816674 -0.00698302636509
+182 181.0 -5.6648536014 -0.00903031839234
+183 182.0 -5.65478971926 -0.0111010415069
+184 183.0 -5.64264494925 -0.0131914713189
+185 184.0 -5.62840145627 -0.0152978617389
+186 185.0 -5.6120451586 -0.017416453508
+187 186.0 -5.59356573683 -0.0195434826976
+188 187.0 -5.57295663425 -0.0216751891584
+189 188.0 -5.55021504898 -0.0238078248974
+190 189.0 -5.52534191754 -0.0259376623617
+191 190.0 -5.4983418904 -0.0280610026087
+192 191.0 -5.46922329932 -0.0301741833429
+193 192.0 -5.43799811672 -0.0322735868002
+194 193.0 -5.40468190731 -0.0343556474589
+195 194.0 -5.36929377207 -0.0364168595607
+196 195.0 -5.33185628476 -0.0384537844225
+197 196.0 -5.29239542138 -0.0404630575223
+198 197.0 -5.25094048245 -0.0424413953416
+199 198.0 -5.20752400881 -0.0443856019501
+200 199.0 -5.16218169074 -0.0462925753151
+201 200.0 -5.11495227114 -0.0481593133234
+202 201.0 -5.06587744261 -0.0499829195012
+203 202.0 -5.01500173918 -0.0517606084187
+204 203.0 -4.96237242264 -0.0534897107689
+205 204.0 -4.90803936404 -0.055167678109
+206 205.0 -4.85205492059 -0.0567920872546
+207 206.0 -4.79447380837 -0.0583606443179
+208 207.0 -4.73535297113 -0.0598711883816
+209 208.0 -4.6747514457 -0.0613216948024
+210 209.0 -4.61273022413 -0.0627102781377
+211 210.0 -4.54935211328 -0.0640351946902
+212 211.0 -4.4846815919 -0.0652948446678
+213 212.0 -4.41878466581 -0.0664877739558
+214 213.0 -4.35172872155 -0.0676126754981
+215 214.0 -4.28358237872 -0.0686683902899
+216 215.0 -4.21441534165 -0.0696539079796
+217 216.0 -4.14429825061 -0.070568367083
+218 217.0 -4.07330253293 -0.0714110548116
+219 218.0 -4.00150025463 -0.0721814065199
+220 219.0 -3.92896397266 -0.072879004774
+221 220.0 -3.85576658834 -0.0735035780505
+222 221.0 -3.78198120223 -0.0740549990687
+223 222.0 -3.70768097086 -0.0745332827669
+224 223.0 -3.63293896573 -0.0749385839297
+225 224.0 -3.5578280347 -0.0752711944755
+226 225.0 -3.48242066643 -0.075531540416
+227 226.0 -3.4067888579 -0.0757201784978
+228 227.0 -3.33100398548 -0.0758377925383
+229 228.0 -3.25513667985 -0.0758851894693
+230 229.0 -3.17925670492 -0.0758632951011
+231 230.0 -3.10343284123 -0.0757731496217
+232 231.0 -3.02773277394 -0.0756159028468
+233 232.0 -2.95222298559 -0.0753928092342
+234 233.0 -2.87696865416 -0.0751052226812
+235 234.0 -2.80203355622 -0.0747545911191
+236 235.0 -2.72747997572 -0.0743424509249
+237 236.0 -2.65336861841 -0.073870421164
+238 237.0 -2.57975853208 -0.0733401976859
+239 238.0 -2.50670703279 -0.0727535470871
+240 239.0 -2.4342696372 -0.0721123005638
+241 240.0 -2.36250000104 -0.0714183476691
+242 241.0 -2.29144986396 -0.0706736299971
+243 242.0 -2.22116900065 -0.0698801348102
+244 243.0 -2.15170517837 -0.0690398886302
+245 244.0 -2.0831041209 -0.0681549508121
+246 245.0 -2.01540947892 -0.067227407119
+247 246.0 -1.94866280684 -0.0662593633171
+248 247.0 -1.88290354594 -0.0652529388105
+249 248.0 -1.81816901389 -0.0642102603325
+250 249.0 -1.7544944006 -0.0631334557138
+251 250.0 -1.69191277013 -0.0620246477436
+252 251.0 -1.6304550688 -0.0608859481423
+253 252.0 -1.57015013921 -0.059719451663
+254 253.0 -1.51102474011 -0.0585272303374
+255 254.0 -1.45310357187 -0.0573113278834
+256 255.0 -1.39640930762 -0.0560737542899
+257 256.0 -1.34096262951 -0.054816480593
+258 257.0 -1.28678227024 -0.0535414338587
+259 258.0 -1.23388505944 -0.0522504923856
+260 259.0 -1.18228597475 -0.0509454811405
+261 260.0 -1.13199819729 -0.0496281674395
+262 261.0 -1.08303317143 -0.0483002568854
+263 262.0 -1.03540066834 -0.046963389572
+264 263.0 -0.989108853377 -0.0456191365664
+265 264.0 -0.944164356669 -0.0442689966762
+266 265.0 -0.900572346917 -0.0429143935113
+267 266.0 -0.858336607922 -0.0415566728462
+268 267.0 -0.817459617608 -0.0401971002897
+269 268.0 -0.777942629232 -0.0388368592669
+270 269.0 -0.739785754436 -0.0374770493178
+271 270.0 -0.702988047855 -0.0361186847156
+272 271.0 -0.667547592939 -0.0347626934072
+273 272.0 -0.633461588675 -0.0334099162773
+274 273.0 -0.600726436882 -0.0320611067354
+275 274.0 -0.569337829756 -0.0307169306269
+276 275.0 -0.539290837348 -0.0293779664649
+277 276.0 -0.510579994645 -0.0280447059807
+278 277.0 -0.483199387947 -0.0267175549897
+279 278.0 -0.457142740217 -0.0253968345674
+280 279.0 -0.432403495111 -0.0240827825309
+281 280.0 -0.408974899365 -0.0227755552188
+282 281.0 -0.386850083265 -0.0214752295619
+283 282.0 -0.366022138902 -0.020181805438
+284 283.0 -0.346484195932 -0.0188952082997
+285 284.0 -0.328229494574 -0.0176152920667
+286 285.0 -0.311251455597 -0.0163418422722
+287 286.0 -0.295543747024 -0.0150745794496
+288 287.0 -0.28110034735 -0.0138131627512
+289 288.0 -0.267915605017 -0.0125571937823
+290 289.0 -0.255984293962 -0.011306220639
+291 290.0 -0.245301665026 -0.0100597421363
+292 291.0 -0.235863493049 -0.00881721220956
+293 292.0 -0.22766611948 -0.00757804447631
+294 293.0 -0.220706490355 -0.00634161694135
+295 294.0 -0.214982189503 -0.00510727682957
+296 295.0 -0.210491466861 -0.00387434552992
+297 296.0 -0.207233261801 -0.00264212363344
+298 297.0 -0.205207221373 -0.00140989604849
+299 298.0 -0.204413713408 -0.00017693717569
+300 299.0 -0.204853834414 0.0010574838751
+301 300.0 -0.206529412255 0.00229409804323
+302 301.0 -0.209443003569 0.00353363106913
+303 302.0 -0.213597885954 0.00477679825726
+304 303.0 -0.218998044922 0.00602429926791
+305 304.0 -0.22564815567 0.00727681295572
+306 305.0 -0.23355355972 0.00853499227222
+307 306.0 -0.2427202365 0.00979945924997
+308 307.0 -0.253154769958 0.0110708000854
+309 308.0 -0.264864310313 0.0123495603372
+310 309.0 -0.277856531075 0.0136362402565
+311 310.0 -0.292139581459 0.0149312902659
+312 311.0 -0.307722034364 0.0162351066015
+313 312.0 -0.324612830087 0.0175480271349
+314 313.0 -0.342821215943 0.0188703273888
+315 314.0 -0.362356682012 0.0202022167596
+316 315.0 -0.383228893218 0.0215438349636
+317 316.0 -0.405447617967 0.0228952487148
+318 317.0 -0.429022653586 0.0242564486517
+319 318.0 -0.45396374882 0.0256273465206
+320 319.0 -0.480280523637 0.0270077726275
+321 320.0 -0.507982386639 0.0283974735696
+322 321.0 -0.537078450328 0.029796110253
+323 322.0 -0.567577444555 0.0312032562068
+324 323.0 -0.59948762842 0.0326183962009
+325 324.0 -0.632816700956 0.0340409251716
+326 325.0 -0.667571710883 0.0354701474639
+327 326.0 -0.703758965776 0.0369052763923
+328 327.0 -0.741383940946 0.038345434125
+329 328.0 -0.780451188376 0.0397896518935
+330 329.0 -0.820964246018 0.0412368705304
+331 330.0 -0.862925547807 0.042685941334
+332 331.0 -0.906336334692 0.0441356272615
+333 332.0 -0.951196567028 0.045584604448
+334 333.0 -0.997504838648 0.0470314640498
+335 334.0 -1.04525829294 0.048474714408
+336 335.0 -1.09445254125 0.0499127835288
+337 336.0 -1.1450815839 0.0513440218749
+338 337.0 -1.1971377342 0.0527667054614
+339 338.0 -1.25061154564 0.0541790392498
+340 339.0 -1.30549174267 0.0555791608316
+341 340.0 -1.36176515529 0.0569651443923
+342 341.0 -1.41941665773 0.0583350049463
+343 342.0 -1.47842911151 0.0596867028317
+344 343.0 -1.53878331313 0.061018148454
+345 344.0 -1.60045794659 0.0623272072653
+346 345.0 -1.66342954101 0.0636117049668
+347 346.0 -1.72767243359 0.0648694329207
+348 347.0 -1.79315873807 0.0660981537565
+349 348.0 -1.85985831882 0.0672956071568
+350 349.0 -1.92773877092 0.0684595158069
+351 350.0 -1.99676540616 0.0695875914917
+352 351.0 -2.06690124527 0.0706775413231
+353 352.0 -2.13810701636 0.0717270740805
+354 353.0 -2.21034115987 0.0727339066469
+355 354.0 -2.28355983986 0.0736957705223
+356 355.0 -2.35771696194 0.0746104183955
+357 356.0 -2.43276419776 0.0754756307561
+358 357.0 -2.50865101613 0.0762892225281
+359 358.0 -2.58532472075 0.0770490497051
+360 359.0 -2.66273049463 0.0777530159679
+
+# Table of the potential and its negative derivative for frustrated beta sheet
+# (Note: Derivatives are in units of energy/radians, not energy/degrees.)
+# ./calc_dihedral_table.py 5.6 57.29577951308232 6 6.0 180 6 0.0 359 360
+
+FRUSTRATED_BETA
+N 360 DEGREES
+
+1 0.0 -2.55809068762 0.0731724739818
+2 1.0 -2.63154144494 0.0737195744566
+3 2.0 -2.70551060968 0.0742089966437
+4 3.0 -2.77993963883 0.074639023134
+5 4.0 -2.85476830901 0.0750080115297
+6 5.0 -2.92993479441 0.0753144003899
+7 6.0 -3.00537575069 0.0755567150326
+8 7.0 -3.08102640456 0.0757335731758
+9 8.0 -3.15682064892 0.0758436903983
+10 9.0 -3.23269114341 0.075885885404
+11 10.0 -3.30856942003 0.0758590850738
+12 11.0 -3.38438599377 0.0757623292865
+13 12.0 -3.46007047791 0.0755947754951
+14 13.0 -3.53555170381 0.0753557030426
+15 14.0 -3.61075784476 0.0750445172025
+16 15.0 -3.68561654392 0.0746607529305
+17 16.0 -3.76005504566 0.0742040783151
+18 17.0 -3.83400033034 0.0736742977129
+19 18.0 -3.907379252 0.0730713545594
+20 19.0 -3.98011867868 0.0723953338429
+21 20.0 -4.0521456351 0.0716464642332
+22 21.0 -4.12338744726 0.0708251198546
+23 22.0 -4.19377188857 0.0699318216967
+24 23.0 -4.26322732737 0.0689672386556
+25 24.0 -4.33168287509 0.0679321881993
+26 25.0 -4.39906853508 0.0668276366524
+27 26.0 -4.46531535141 0.0656546990963
+28 27.0 -4.53035555742 0.0644146388823
+29 28.0 -4.59412272358 0.0631088667546
+30 29.0 -4.65655190431 0.061738939584
+31 30.0 -4.71757978327 0.0603065587109
+32 31.0 -4.77714481686 0.0588135679005
+33 32.0 -4.83518737548 0.057261950911
+34 33.0 -4.89164988211 0.0556538286799
+35 34.0 -4.94647694795 0.0539914561312
+36 35.0 -4.99961550465 0.0522772186102
+37 36.0 -5.05101493277 0.0505136279528
+38 37.0 -5.10062718621 0.048703318195
+39 38.0 -5.14840691207 0.0468490409338
+40 39.0 -5.19431156578 0.0449536603471
+41 40.0 -5.23830152101 0.0430201478838
+42 41.0 -5.28034017422 0.0410515766363
+43 42.0 -5.3203940433 0.0390511154063
+44 43.0 -5.35843286021 0.0370220224793
+45 44.0 -5.39442965726 0.0349676391193
+46 45.0 -5.4283608467 0.0328913828015
+47 46.0 -5.46020629342 0.0307967401964
+48 47.0 -5.48994938059 0.028687259923
+49 48.0 -5.51757706789 0.0265665450883
+50 49.0 -5.54307994213 0.0244382456298
+51 50.0 -5.56645226024 0.0223060504811
+52 51.0 -5.58769198425 0.0201736795783
+53 52.0 -5.60680080825 0.0180448757265
+54 53.0 -5.62378417713 0.0159233963481
+55 54.0 -5.63865129702 0.0138130051308
+56 55.0 -5.6514151374 0.0117174635982
+57 56.0 -5.66209242462 0.00964052262251
+58 57.0 -5.67070362704 0.00758591390103
+59 58.0 -5.67727293157 0.00555734141841
+60 59.0 -5.6818282117 0.00355847291538
+61 60.0 -5.68440098698 0.00159293138608
+62 61.0 -5.68502637408 -0.000335713374531
+63 62.0 -5.68374302934 -0.00222395315148
+64 63.0 -5.68059308309 -0.0040683495974
+65 64.0 -5.67562206565 -0.00586554240548
+66 65.0 -5.66887882528 -0.00761225734683
+67 66.0 -5.66041543813 -0.00930531415106
+68 67.0 -5.65028711044 -0.0109416342099
+69 68.0 -5.63855207307 -0.0125182480831
+70 69.0 -5.6252714687 -0.0140323027883
+71 70.0 -5.61050923182 -0.0154810688529
+72 71.0 -5.59433196178 -0.0168619471125
+73 72.0 -5.57680878923 -0.0181724752358
+74 73.0 -5.5580112361 -0.019410333958
+75 74.0 -5.53801306959 -0.0205733530082
+76 75.0 -5.51689015031 -0.0216595167121
+77 76.0 -5.49472027505 -0.0226669692568
+78 77.0 -5.47158301441 -0.0235940196022
+79 78.0 -5.44755954575 -0.0244391460249
+80 79.0 -5.42273248172 -0.0252010002837
+81 80.0 -5.3971856949 -0.0258784113929
+82 81.0 -5.37100413881 -0.0264703889936
+83 82.0 -5.34427366574 -0.0269761263135
+84 83.0 -5.31708084192 -0.0273950027051
+85 84.0 -5.28951276022 -0.0277265857564
+86 85.0 -5.26165685114 -0.0279706329651
+87 86.0 -5.23360069216 -0.0281270929735
+88 87.0 -5.20543181621 -0.0281961063563
+89 88.0 -5.17723751951 -0.0281780059613
+90 89.0 -5.14910466934 -0.0280733167983
+91 90.0 -5.12111951208 -0.0278827554757
+92 91.0 -5.09336748214 -0.0276072291861
+93 92.0 -5.06593301201 -0.0272478342399
+94 93.0 -5.0388993441 -0.026805854151
+95 94.0 -5.01234834466 -0.0262827572773
+96 95.0 -4.98636032033 -0.0256801940208
+97 96.0 -4.96101383762 -0.0249999935924
+98 97.0 -4.93638554598 -0.0242441603499
+99 98.0 -4.91255000457 -0.0234148697145
+100 99.0 -4.88957951348 -0.0225144636776
+101 100.0 -4.86754394953 -0.0215454459053
+102 101.0 -4.84651060724 -0.0205104764546
+103 102.0 -4.8265440452 -0.01941236611
+104 103.0 -4.80770593836 -0.0182540703564
+105 104.0 -4.79005493648 -0.0170386830008
+106 105.0 -4.77364652914 -0.0157694294583
+107 106.0 -4.7585329176 -0.0144496597171
+108 107.0 -4.74476289391 -0.0130828410011
+109 108.0 -4.73238172744 -0.0116725501446
+110 109.0 -4.72143105919 -0.0102224657007
+111 110.0 -4.71194880414 -0.00873635979846
+112 111.0 -4.70396906182 -0.0072180897712
+113 112.0 -4.69752203541 -0.00567158957449
+114 113.0 -4.69263395945 -0.00410086101469
+115 114.0 -4.68932703648 -0.00250996480925
+116 115.0 -4.68761938265 -0.000903011500147
+117 116.0 -4.68752498248 0.00071584775762
+118 117.0 -4.68905365291 0.00234243051027
+119 118.0 -4.69221101668 0.00397253239976
+120 119.0 -4.69699848518 0.00560193661579
+121 120.0 -4.70341325069 0.00722642338265
+122 121.0 -4.71144828821 0.00884177945771
+123 122.0 -4.72109236669 0.0104438076188
+124 123.0 -4.73233006984 0.0120283361174
+125 124.0 -4.74514182625 0.0135912280748
+126 125.0 -4.75950394898 0.0151283907985
+127 126.0 -4.77538868431 0.0166357849963
+128 127.0 -4.79276426974 0.0181094338658
+129 128.0 -4.81159500092 0.0195454320375
+130 129.0 -4.83184130754 0.0209399543498
+131 130.0 -4.8534598378 0.0222892644342
+132 131.0 -4.87640355143 0.0235897230915
+133 132.0 -4.90062182095 0.0248377964369
+134 133.0 -4.92606054096 0.0260300637961
+135 134.0 -4.95266224518 0.0271632253326
+136 135.0 -4.98036623096 0.028234109388
+137 136.0 -5.00910869107 0.0292396795182
+138 137.0 -5.03882285221 0.0301770412082
+139 138.0 -5.06943912022 0.0310434482505
+140 139.0 -5.10088523142 0.0318363087705
+141 140.0 -5.13308640979 0.0325531908865
+142 141.0 -5.16596552963 0.0331918279898
+143 142.0 -5.19944328334 0.0337501236332
+144 143.0 -5.23343835383 0.0342261560164
+145 144.0 -5.26786759123 0.0346181820585
+146 145.0 -5.30264619353 0.0349246410472
+147 146.0 -5.33768789051 0.0351441578585
+148 147.0 -5.37290513082 0.0352755457383
+149 148.0 -5.40820927152 0.0353178086401
+150 149.0 -5.4435107698 0.0352701431151
+151 150.0 -5.4787193763 0.0351319397498
+152 151.0 -5.51374432971 0.0349027841491
+153 152.0 -5.54849455206 0.0345824574643
+154 153.0 -5.58287884436 0.0341709364636
+155 154.0 -5.61680608206 0.0336683931487
+156 155.0 -5.65018540988 0.0330751939177
+157 156.0 -5.68292643563 0.0323918982779
+158 157.0 -5.71493942249 0.0316192571138
+159 158.0 -5.74613547931 0.0307582105139
+160 159.0 -5.77642674856 0.029809885165
+161 160.0 -5.80572659147 0.0287755913197
+162 161.0 -5.83394976986 0.0276568193473
+163 162.0 -5.86101262442 0.0264552358763
+164 163.0 -5.8868332488 0.025172679541
+165 164.0 -5.91133165941 0.0238111563427
+166 165.0 -5.93442996024 0.0223728346376
+167 166.0 -5.95605250261 0.0208600397671
+168 167.0 -5.97612603931 0.0192752483425
+169 168.0 -5.99457987285 0.0176210822011
+170 169.0 -6.01134599757 0.015900302049
+171 170.0 -6.02635923519 0.014115800807
+172 171.0 -6.03955736358 0.0122705966784
+173 172.0 -6.05088123845 0.0103678259555
+174 173.0 -6.0602749078 0.00841073558436
+175 174.0 -6.06768571866 0.00640267550713
+176 175.0 -6.0730644163 0.00434709080102
+177 176.0 -6.07636523524 0.00224751363529
+178 177.0 -6.07754598232 0.000107555066143
+179 178.0 -6.07656811141 -0.00206910330914
+180 179.0 -6.07339678973 -0.00427871781763
+181 180.0 -6.06800095563 -0.00651749127408
+182 181.0 -6.06035336781 -0.00878158162059
+183 182.0 -6.05043064586 -0.0110671106207
+184 183.0 -6.03821330204 -0.0133701725859
+185 184.0 -6.02368576439 -0.0156868431131
+186 185.0 -6.00683639108 -0.0180131878107
+187 186.0 -5.98765747603 -0.0203452709919
+188 187.0 -5.96614524589 -0.0226791643135
+189 188.0 -5.94229984843 -0.025010955339
+190 189.0 -5.91612533236 -0.0273367560054
+191 190.0 -5.88762961878 -0.0296527109716
+192 191.0 -5.85682446433 -0.0319550058299
+193 192.0 -5.82372541626 -0.0342398751598
+194 193.0 -5.78835175943 -0.0365036104045
+195 194.0 -5.75072645562 -0.0387425675516
+196 195.0 -5.71087607524 -0.0409531746008
+197 196.0 -5.66883072166 -0.0431319387984
+198 197.0 -5.62462394846 -0.0452754536249
+199 198.0 -5.57829266983 -0.0473804055171
+200 199.0 -5.5298770643 -0.0494435803104
+201 200.0 -5.47942047235 -0.0514618693867
+202 201.0 -5.42696928781 -0.0534322755136
+203 202.0 -5.37257284377 -0.055351918363
+204 203.0 -5.316283293 -0.0572180396955
+205 204.0 -5.25815548345 -0.059028008202
+206 205.0 -5.19824682901 -0.0607793239895
+207 206.0 -5.13661717604 -0.0624696227052
+208 207.0 -5.0733286659 -0.0640966792879
+209 208.0 -5.00844559393 -0.0656584113417
+210 209.0 -4.94203426529 -0.0671528821253
+211 210.0 -4.87416284794 -0.0685783031513
+212 211.0 -4.80490122327 -0.0699330363936
+213 212.0 -4.7343208347 -0.0712155960973
+214 213.0 -4.66249453466 -0.0724246501921
+215 214.0 -4.58949643037 -0.0735590213066
+216 215.0 -4.51540172879 -0.0746176873849
+217 216.0 -4.44028658118 -0.0755997819067
+218 217.0 -4.3642279276 -0.0765045937139
+219 218.0 -4.28730334182 -0.0773315664459
+220 219.0 -4.20959087694 -0.0780802975905
+221 220.0 -4.13116891218 -0.0787505371538
+222 221.0 -4.0521160012 -0.0793421859574
+223 222.0 -3.97251072229 -0.0798552935693
+224 223.0 -3.89243153076 -0.0802900558785
+225 224.0 -3.81195661404 -0.0806468123209
+226 225.0 -3.73116374964 -0.0809260427693
+227 226.0 -3.65013016636 -0.0811283640964
+228 227.0 -3.56893240921 -0.0812545264246
+229 228.0 -3.48764620813 -0.0813054090744
+230 229.0 -3.4063463509 -0.0812820162266
+231 230.0 -3.32510656064 -0.0811854723104
+232 231.0 -3.24399937793 -0.081017017134
+233 232.0 -3.16309604794 -0.0807780007742
+234 233.0 -3.08246641287 -0.0804698782381
+235 234.0 -3.00217880976 -0.0800942039176
+236 235.0 -2.92229997393 -0.079652625851
+237 236.0 -2.84289494829 -0.0791468798106
+238 237.0 -2.76402699866 -0.0785787832348
+239 238.0 -2.68575753514 -0.0779502290223
+240 239.0 -2.60814603984 -0.077263179207
+241 240.0 -2.53125000097 -0.0765196585342
+242 241.0 -2.4551248533 -0.0757217479546
+243 242.0 -2.37982392531 -0.0748715780578
+244 243.0 -2.30539839282 -0.073971322463
+245 244.0 -2.23189723927 -0.0730231911866
+246 245.0 -2.15936722267 -0.072029424007
+247 246.0 -2.0878528491 -0.0709922838436
+248 247.0 -2.01739635293 -0.0699140501714
+249 248.0 -1.94803768347 -0.0687970124882
+250 249.0 -1.87981449824 -0.0676434638537
+251 250.0 -1.81276216256 -0.0664556945194
+252 251.0 -1.74691375554 -0.0652359856651
+253 252.0 -1.68230008218 -0.0639866032624
+254 253.0 -1.61894969164 -0.0627097920793
+255 254.0 -1.55688890134 -0.0614077698443
+256 255.0 -1.49614182687 -0.0600827215855
+257 256.0 -1.43673041741 -0.05873679416
+258 257.0 -1.37867449659 -0.0573720909874
+259 258.0 -1.32199180845 -0.0559906670036
+260 259.0 -1.26669806833 -0.0545945238457
+261 260.0 -1.21280701853 -0.0531856052829
+262 261.0 -1.1603304883 -0.0517657929031
+263 262.0 -1.1092784581 -0.0503369020679
+264 263.0 -1.05965912771 -0.0489006781451
+265 264.0 -1.01147898802 -0.0474587930279
+266 265.0 -0.964742896092 -0.0460128419505
+267 266.0 -0.919454153297 -0.0445643406057
+268 267.0 -0.875614586172 -0.0431147225719
+269 268.0 -0.833224629688 -0.0416653370554
+270 269.0 -0.792283412613 -0.0402174469521
+271 270.0 -0.752788844664 -0.038772227232
+272 271.0 -0.714737705101 -0.0373307636499
+273 272.0 -0.67812573245 -0.0358940517831
+274 273.0 -0.642947715028 -0.0344629963972
+275 274.0 -0.609197581934 -0.0330384111393
+276 275.0 -0.576868494182 -0.0316210185584
+277 276.0 -0.545952935658 -0.0302114504483
+278 277.0 -0.51644280357 -0.0288102485125
+279 278.0 -0.488329498068 -0.0274178653447
+280 279.0 -0.461604010741 -0.0260346657211
+281 280.0 -0.436257011655 -0.0246609281969
+282 281.0 -0.412278934657 -0.023296847002
+283 282.0 -0.389660060626 -0.0219425342253
+284 283.0 -0.368390598407 -0.0205980222818
+285 284.0 -0.348460763137 -0.01926326665
+286 285.0 -0.329860851704 -0.0179381488715
+287 286.0 -0.312581315078 -0.0166224797996
+288 287.0 -0.296612827279 -0.015316003087
+289 288.0 -0.281946350734 -0.0140183988977
+290 289.0 -0.268573197826 -0.0127292878319
+291 290.0 -0.256485088408 -0.0114482350481
+292 291.0 -0.245674203109 -0.0101747545698
+293 292.0 -0.236133232246 -0.00890831375923
+294 293.0 -0.227855420178 -0.00764833794542
+295 294.0 -0.220834604976 -0.00639421518813
+296 295.0 -0.215065253253 -0.00514530116277
+297 296.0 -0.210542490065 -0.00390092414876
+298 297.0 -0.207262123775 -0.00266039010467
+299 298.0 -0.205220665805 -0.00142298781263
+300 299.0 -0.204415345223 -0.000187994074493
+301 300.0 -0.204844118104 0.00104532105779
+302 301.0 -0.206505671662 0.00227768903543
+303 302.0 -0.209399423126 0.0035098375675
+304 303.0 -0.213525513386 0.00474248539479
+305 304.0 -0.218884795423 0.00597633710062
+306 305.0 -0.225478817581 0.00721207797616
+307 306.0 -0.233309801737 0.00845036895769
+308 307.0 -0.242380616448 0.00969184165314
+309 308.0 -0.252694745185 0.0109370934746
+310 309.0 -0.264256249747 0.0121866828936
+311 310.0 -0.277069729013 0.0134411248358
+312 311.0 -0.291140273151 0.0147008862297
+313 312.0 -0.306473413467 0.0159663817261
+314 313.0 -0.323075068066 0.0172379696031
+315 314.0 -0.340951483513 0.018515947869
+316 315.0 -0.360109172702 0.0198005505798
+317 316.0 -0.380554849155 0.0210919443819
+318 317.0 -0.402295357987 0.0223902252933
+319 318.0 -0.425337603767 0.0236954157356
+320 319.0 -0.449688475549 0.0250074618263
+321 320.0 -0.475354769327 0.0263262309427
+322 321.0 -0.50234310819 0.0276515095659
+323 322.0 -0.530659860472 0.0289830014145
+324 323.0 -0.560311056174 0.0303203258736
+325 324.0 -0.59130230198 0.0316630167284
+326 325.0 -0.623638695141 0.0330105212056
+327 326.0 -0.657324736579 0.0343621993296
+328 327.0 -0.692364243488 0.0357173235955
+329 328.0 -0.728760261774 0.0370750789637
+330 329.0 -0.766514978659 0.0384345631765
+331 330.0 -0.805629635748 0.0397947873984
+332 331.0 -0.846104442913 0.04115467718
+333 332.0 -0.887938493289 0.042513073745
+334 333.0 -0.93112967973 0.0438687355968
+335 334.0 -0.975674613021 0.0452203404434
+336 335.0 -1.02156854218 0.0465664874361
+337 336.0 -1.06880527714 0.0479056997168
+338 337.0 -1.11737711415 0.0492364272675
+339 338.0 -1.16727476416 0.0505570500574
+340 339.0 -1.2184872845 0.051865881477
+341 340.0 -1.27100201415 0.0531611720525
+342 341.0 -1.32480451282 0.0544411134304
+343 342.0 -1.37987850417 0.055703842622
+344 343.0 -1.43620582346 0.0569474464963
+345 344.0 -1.49376636966 0.0581699665097
+346 345.0 -1.55253806258 0.05936940366
+347 346.0 -1.61249680493 0.0605437236497
+348 347.0 -1.67361644969 0.0616908622471
+349 348.0 -1.73586877296 0.0628087308273
+350 349.0 -1.79922345238 0.0638952220804
+351 350.0 -1.86364805137 0.0649482158688
+352 351.0 -1.92910800931 0.0659655852184
+353 352.0 -1.9955666377 0.066945202426
+354 353.0 -2.06298512258 0.0678849452658
+355 354.0 -2.13132253309 0.0687827032771
+356 355.0 -2.20053583647 0.0696363841147
+357 356.0 -2.27057991931 0.0704439199439
+358 357.0 -2.3414076153 0.0712032738621
+359 358.0 -2.41296973939 0.0719124463259
+360 359.0 -2.48521512832 0.072569481568
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/run.in.min b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/run.in.min
new file mode 100644
index 000000000..8eb3a03cb
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/run.in.min
@@ -0,0 +1,19 @@
+# -- Init section --
+
+include system.in.init
+
+# -- Atom definition section --
+
+read_data system.data
+
+# -- Settings Section --
+
+include system.in.settings
+
+# -- Run section --
+
+dump 1 all custom 50 traj_min.lammpstrj id mol type x y z ix iy iz
+
+minimize 1.0e-5 1.0e-7 500 2000
+
+write_data system_after_min.data
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/run_short_sim.in.nvt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/run_short_sim.in.nvt
new file mode 100644
index 000000000..185d03cf1
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/frustrated/run_short_sim.in.nvt
@@ -0,0 +1,50 @@
+# -- Init Section --
+
+include system.in.init
+
+# -- Atom Definition Section --
+
+# I you want to be careful, you can minimize the system first.
+# (Try using "run.in.min" and uncomment line below.)
+# read_data system_after_min.data
+
+read_data system.data
+
+# -- Settings Section --
+
+include system.in.settings
+
+# -- Run Section --
+
+
+timestep 0.025
+dump 1 all custom 50 traj_nvt.lammpstrj id mol type x y z ix iy iz
+
+# To use Langevin dynamics in LAMMPS you need both "fix langevin" and "fix nve".
+# (See http://lammps.sandia.gov/doc/fix_langevin.html for details.)
+
+# Keep the chaperonin fixed. Only let the protein move.
+
+fix fxlan proteins langevin 0.25 0.25 1.0 48279
+fix fxnve proteins nve
+
+# Notes:
+# The temperature is in reduced units and is set to 0.25
+# which is the folding temperature for the frustrated protein
+# The inverse-damping-rate "damp" (which has units of time) is set to 1.0,
+# as it was in the paper. (Hopefully folding times should be similar.)
+# (See http://lammps.sandia.gov/doc/fix_langevin.html)
+
+
+thermo_style custom step temp pe etotal press vol epair ebond eangle edihed
+thermo_modify norm no #(report total energy not energy / num_atoms)
+thermo 50 #(time interval for printing out "thermo" data)
+
+#restart 100000000 restart_nvt
+
+# Just run it long enough for it to collapse (not fold)
+# (If you need to run it longer, then dump trajectory data less frequently.)
+run 50000
+
+write_data system_after_nvt.data
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/README.txt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/README.txt
new file mode 100644
index 000000000..fd7c2ba7d
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/README.txt
@@ -0,0 +1,32 @@
+# This directory demonstrates how to run a short simulation of
+# the "unfrustrated" coarse-grained protein model used in:
+# AI Jewett, A Baumketner and J-E Shea, PNAS, 101 (36), 13192-13197, (2004)
+# (http://www.pnas.org/content/101/36/13192)
+#
+# In this example, the protein is placed inside a repulsive sphere
+# of radius 6.0 sigma which confines its motion.
+# (This sphere is sometimes called the "chaperonin", because
+# we were using it to model the crude behavior of a chaperonin cavity.)
+#
+# During this short simulation (run.in.nvt) the protein evolves
+# from an unfolded initial conformation to the folded state.
+#
+# -------- REQUIREMENTS: ---------
+# 1) This example requires the "USER-MISC" package. (Use "make yes-USER-MISC")
+# http://lammps.sandia.gov/doc/Section_start.html#start_3
+# 2) It also may require additional features and bug fixes for LAMMPS.
+# be sure to download and copy the "additional_lammps_code" from
+# http://moltemplate.org (upper-left corner menu)
+# 3) Unpack it
+# 4) copy the .cpp and .h files to the src folding of your lammps installation.
+# 5) Compile LAMMPS.
+
+-------------
+Instructions on how to build LAMMPS input files and
+run a short simulation are provided in other README files.
+
+step 1)
+README_setup.sh
+
+step2)
+README_run.sh
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/README_run.sh b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/README_run.sh
new file mode 100755
index 000000000..45bd2d451
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/README_run.sh
@@ -0,0 +1,31 @@
+# You would probably run lammps this way:
+#
+# lmp_ubuntu -i run.in.nvt
+
+# The files "run.in.min", and "run.in.nvt" are LAMMPS input scripts which refer
+# to the input scripts & data files you created earlier when you ran moltemplate
+# system.in.init, system.in.settings, system.data
+
+
+
+
+# -----------------------------------
+
+
+
+LAMMPS_COMMAND="lmp_ubuntu"
+
+# Here "$LAMMPS_BINARY" is the name of the command you use to invoke lammps
+# (such as lmp_linux, lmp_g++, lmp_mac, lmp_cygwin, etc...) Change if necessary.
+
+# Run lammps using the following 3 commands:
+
+"$LAMMPS_COMMAND" -i run.in.min # minimize (OPTIONAL)
+"$LAMMPS_COMMAND" -i run.in.nvt # production run
+
+# Alternately, if you have MPI installed, try something like this:
+
+#NUMPROCS=4
+#mpirun -np $NUMPROCS "$LAMMPS_COMMAND" -i run.in.min # minimize (OPTIONAL)
+#mpirun -np $NUMPROCS "$LAMMPS_COMMAND" -i run.in.nvt # production run
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/README_setup.sh b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/README_setup.sh
new file mode 100755
index 000000000..042f73a28
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/README_setup.sh
@@ -0,0 +1,24 @@
+# Use these commands to generate the LAMMPS input script and data file
+# (and other auxilliary files):
+
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh -overlay-dihedrals system.lt
+
+ # This will generate various files with names ending in *.in* and *.data.
+ # These files are the input files directly read by LAMMPS. Move them to
+ # the parent directory (or wherever you plan to run the simulation).
+
+ mv -f system.in* system.data ../
+ cp -r table*.dat ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/README_visualize.txt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/README_visualize.txt
new file mode 100644
index 000000000..a3e3ed620
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0}
+ pbc box -shiftcenterrel {0.0 0.15 0.0}
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/images/unfrustrated+chaperonin_t=0tau_LR.jpg b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/images/unfrustrated+chaperonin_t=0tau_LR.jpg
new file mode 100644
index 000000000..a0da344db
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/images/unfrustrated+chaperonin_t=0tau_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/images/unfrustrated+chaperonin_t=105tau_LR.jpg b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/images/unfrustrated+chaperonin_t=105tau_LR.jpg
new file mode 100644
index 000000000..a1aa5bd85
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/images/unfrustrated+chaperonin_t=105tau_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/moltemplate_files/1beadUnfrustrated.lt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/moltemplate_files/1beadUnfrustrated.lt
new file mode 100644
index 000000000..0dc1f5dd0
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/moltemplate_files/1beadUnfrustrated.lt
@@ -0,0 +1,255 @@
+# This file defines a pair of coarse-grained protein models used in:
+# AI Jewett, A Baumketner and J-E Shea, PNAS, 101 (36), 13192-13197, (2004)
+# (http://www.pnas.org/content/101/36/13192)
+
+
+1beadUnfrustrated {
+
+ # Note: the "unfrustrated" model is kind of funny looking. (My apologies.)
+
+ # There are 3 atom types (referred to above as B, L, and N)
+ # Define their masses:
+
+ write_once("Data Masses") {
+ @atom:B 1.0
+ @atom:L 1.0
+ @atom:N 1.0
+ }
+
+ # AtomID MoleculeID AtomType Charge X Y Z
+
+ write("Data Atoms") {
+ $atom:a1 $mol @atom:L 0.0 -1.3969548 1.7525716 -0.28565118
+ $atom:a2 $mol @atom:B 0.0 -0.66847917 1.0738923 -0.39651074
+ $atom:a3 $mol @atom:L 0.0 -0.16610379 1.0893417 0.44519456
+ $atom:a4 $mol @atom:B 0.0 0.42244126 0.35006314 0.15979926
+ $atom:a5 $mol @atom:L 0.0 1.2844393 0.55103218 0.64505356
+ $atom:a6 $mol @atom:N 0.0 1.9703715 0.37775946 -0.05267634
+ $atom:a7 $mol @atom:N 0.0 2.574926 -0.30399114 0.34330503
+ $atom:a8 $mol @atom:N 0.0 2.029546 -1.1256647 0.19829852
+ $atom:a9 $mol @atom:B 0.0 1.0936146 -0.76054936 0.1043528
+ $atom:a10 $mol @atom:L 0.0 0.74888247 -0.81165991 1.0334863
+ $atom:a11 $mol @atom:B 0.0 -0.069536333 -0.26815389 0.94356636
+ $atom:a12 $mol @atom:L 0.0 -0.65671052 -0.522532 1.7113065
+ $atom:a13 $mol @atom:N 0.0 -1.5278507 -0.10774689 1.4611921
+ $atom:a14 $mol @atom:L 0.0 -2.1958878 -0.8403146 1.5521738
+ $atom:a15 $mol @atom:N 0.0 -2.6058074 -0.86553455 0.64397232
+ $atom:a16 $mol @atom:N 0.0 -1.8447588 -1.1286421 0.042924693
+ $atom:a17 $mol @atom:N 0.0 -1.5328721 -0.28576244 -0.40564841
+ $atom:a18 $mol @atom:B 0.0 -0.69593879 0.027664412 0.064884008
+ $atom:a19 $mol @atom:B 0.0 0.0026517494 -0.66355162 -0.11470678
+ $atom:a20 $mol @atom:L 0.0 -0.35479285 -1.2282381 -0.86455878
+ $atom:a21 $mol @atom:L 0.0 -0.60202976 -0.47829758 -1.4411001
+ $atom:a22 $mol @atom:B 0.0 -0.14616501 0.20157397 -0.87098365
+ $atom:a23 $mol @atom:B 0.0 0.7755198 -0.14153019 -0.76838748
+ $atom:a24 $mol @atom:L 0.0 1.2465693 0.19738595 -1.5794731
+ $atom:a25 $mol @atom:L 0.0 0.77604792 1.0612244 -1.637442
+ $atom:a26 $mol @atom:B 0.0 0.44801303 1.1110219 -0.6900789
+ $atom:a27 $mol @atom:L 0.0 1.0908651 1.7386382 -0.24229241
+ }
+
+ # bond-ID bond-Type atom-ID atom-ID
+
+ write("Data Bonds") {
+ $bond:b1 @bond:backbone $atom:a1 $atom:a2
+ $bond:b2 @bond:backbone $atom:a2 $atom:a3
+ $bond:b3 @bond:backbone $atom:a3 $atom:a4
+ $bond:b4 @bond:backbone $atom:a4 $atom:a5
+ $bond:b5 @bond:backbone $atom:a5 $atom:a6
+ $bond:b6 @bond:backbone $atom:a6 $atom:a7
+ $bond:b7 @bond:backbone $atom:a7 $atom:a8
+ $bond:b8 @bond:backbone $atom:a8 $atom:a9
+ $bond:b9 @bond:backbone $atom:a9 $atom:a10
+ $bond:b10 @bond:backbone $atom:a10 $atom:a11
+ $bond:b11 @bond:backbone $atom:a11 $atom:a12
+ $bond:b12 @bond:backbone $atom:a12 $atom:a13
+ $bond:b13 @bond:backbone $atom:a13 $atom:a14
+ $bond:b14 @bond:backbone $atom:a14 $atom:a15
+ $bond:b15 @bond:backbone $atom:a15 $atom:a16
+ $bond:b16 @bond:backbone $atom:a16 $atom:a17
+ $bond:b17 @bond:backbone $atom:a17 $atom:a18
+ $bond:b18 @bond:backbone $atom:a18 $atom:a19
+ $bond:b19 @bond:backbone $atom:a19 $atom:a20
+ $bond:b20 @bond:backbone $atom:a20 $atom:a21
+ $bond:b21 @bond:backbone $atom:a21 $atom:a22
+ $bond:b22 @bond:backbone $atom:a22 $atom:a23
+ $bond:b23 @bond:backbone $atom:a23 $atom:a24
+ $bond:b24 @bond:backbone $atom:a24 $atom:a25
+ $bond:b25 @bond:backbone $atom:a25 $atom:a26
+ $bond:b26 @bond:backbone $atom:a26 $atom:a27
+ }
+
+ # (3-body) Angles are specified below
+
+ # (4-body) Dihedrals must be defined explicitly for every quartet of atoms.
+ # (These interactions are not determined by atom type.)
+ #
+ # Note that some quartets of atoms are listed because their
+ # potentials contain multiple terms in the Fourier expansion.
+ # (IE. multiple cosines... Be sure to use "-overlay-dihedrals"!)
+ #
+ # dihedral-ID dihedral-Type atom-ID atom-ID atom-ID atom-ID
+
+ write("Data Dihedrals") {
+ $dihedral:d1a @dihedral:beta1 $atom:a1 $atom:a2 $atom:a3 $atom:a4
+ $dihedral:d1b @dihedral:beta2 $atom:a1 $atom:a2 $atom:a3 $atom:a4
+ $dihedral:d2a @dihedral:beta1 $atom:a2 $atom:a3 $atom:a4 $atom:a5
+ $dihedral:d2b @dihedral:beta2 $atom:a2 $atom:a3 $atom:a4 $atom:a5
+ $dihedral:d3a @dihedral:beta1 $atom:a3 $atom:a4 $atom:a5 $atom:a6
+ $dihedral:d3b @dihedral:beta2 $atom:a3 $atom:a4 $atom:a5 $atom:a6
+ $dihedral:d4a @dihedral:beta1 $atom:a4 $atom:a5 $atom:a6 $atom:a7
+ $dihedral:d4b @dihedral:beta2 $atom:a4 $atom:a5 $atom:a6 $atom:a7
+ $dihedral:d5 @dihedral:turn1 $atom:a5 $atom:a6 $atom:a7 $atom:a8
+ $dihedral:d6 @dihedral:turn2 $atom:a6 $atom:a7 $atom:a8 $atom:a9
+ $dihedral:d7 @dihedral:turn3 $atom:a7 $atom:a8 $atom:a9 $atom:a10
+ $dihedral:d8a @dihedral:beta1 $atom:a8 $atom:a9 $atom:a10 $atom:a11
+ $dihedral:d8b @dihedral:beta2 $atom:a8 $atom:a9 $atom:a10 $atom:a11
+ $dihedral:d9a @dihedral:beta1 $atom:a9 $atom:a10 $atom:a11 $atom:a12
+ $dihedral:d9b @dihedral:beta2 $atom:a9 $atom:a10 $atom:a11 $atom:a12
+ $dihedral:d10a @dihedral:beta1 $atom:a10 $atom:a11 $atom:a12 $atom:a13
+ $dihedral:d10b @dihedral:beta2 $atom:a10 $atom:a11 $atom:a12 $atom:a13
+ $dihedral:d11a @dihedral:beta1 $atom:a11 $atom:a12 $atom:a13 $atom:a14
+ $dihedral:d11b @dihedral:beta2 $atom:a11 $atom:a12 $atom:a13 $atom:a14
+ $dihedral:d12a @dihedral:beta1 $atom:a12 $atom:a13 $atom:a14 $atom:a15
+ $dihedral:d12b @dihedral:beta2 $atom:a12 $atom:a13 $atom:a14 $atom:a15
+ $dihedral:d13 @dihedral:turn4 $atom:a13 $atom:a14 $atom:a15 $atom:a16
+ $dihedral:d14 @dihedral:turn5 $atom:a14 $atom:a15 $atom:a16 $atom:a17
+ $dihedral:d15a @dihedral:alpha1 $atom:a15 $atom:a16 $atom:a17 $atom:a18
+ $dihedral:d15b @dihedral:alpha2 $atom:a15 $atom:a16 $atom:a17 $atom:a18
+ $dihedral:d16a @dihedral:alpha1 $atom:a16 $atom:a17 $atom:a18 $atom:a19
+ $dihedral:d16b @dihedral:alpha2 $atom:a16 $atom:a17 $atom:a18 $atom:a19
+ $dihedral:d17a @dihedral:alpha1 $atom:a17 $atom:a18 $atom:a19 $atom:a20
+ $dihedral:d17b @dihedral:alpha2 $atom:a17 $atom:a18 $atom:a19 $atom:a20
+ $dihedral:d18a @dihedral:alpha1 $atom:a18 $atom:a19 $atom:a20 $atom:a21
+ $dihedral:d18b @dihedral:alpha2 $atom:a18 $atom:a19 $atom:a20 $atom:a21
+ $dihedral:d19a @dihedral:alpha1 $atom:a19 $atom:a20 $atom:a21 $atom:a22
+ $dihedral:d19b @dihedral:alpha2 $atom:a19 $atom:a20 $atom:a21 $atom:a22
+ $dihedral:d20a @dihedral:alpha1 $atom:a20 $atom:a21 $atom:a22 $atom:a23
+ $dihedral:d20b @dihedral:alpha2 $atom:a20 $atom:a21 $atom:a22 $atom:a23
+ $dihedral:d21a @dihedral:alpha1 $atom:a21 $atom:a22 $atom:a23 $atom:a24
+ $dihedral:d21b @dihedral:alpha2 $atom:a21 $atom:a22 $atom:a23 $atom:a24
+ $dihedral:d22a @dihedral:alpha1 $atom:a22 $atom:a23 $atom:a24 $atom:a25
+ $dihedral:d22b @dihedral:alpha2 $atom:a22 $atom:a23 $atom:a24 $atom:a25
+ $dihedral:d23a @dihedral:alpha1 $atom:a23 $atom:a24 $atom:a25 $atom:a26
+ $dihedral:d23b @dihedral:alpha2 $atom:a23 $atom:a24 $atom:a25 $atom:a26
+ $dihedral:d24a @dihedral:alpha1 $atom:a24 $atom:a25 $atom:a26 $atom:a27
+ $dihedral:d24b @dihedral:alpha2 $atom:a24 $atom:a25 $atom:a26 $atom:a27
+ }
+
+ # All consecutively bonded triplets of atoms same 3-body bond-angle
+ # interaction parameters. Of coarse, we could specify them all explicitly
+ # (as we did for the dihedrals above), but I wanted to show how to specify
+ # angles by atom type instead. (You can do this for dihedrals & impropers
+ # also.)
+
+ # angle-Type atom-Type atom-Type atom-Type bond-Type bond-Type
+
+ write_once("Data Angles By Type") {
+ @angle:backbone @atom:* @atom:* @atom:* @bond:* @bond:*
+ }
+
+ # (The "*" is a wildcard character. I use "*" to denote any atom-type or
+ # bond-type which is defined within the current namespace: 1beadUnfrustrated)
+
+
+ # 2-body (non-bonded) interactions:
+ #
+ # Uij(r) = 4*eps_ij * (K*(sig_ij/r)^12 + L*(sig_ij/r)^6)
+ #
+ # i j pairstylename eps sig K L
+ #
+ write_once("In Settings") {
+ pair_coeff @atom:B @atom:B lj/charmm/coul/charmm/inter 1.0 1.0 1 -1
+ pair_coeff @atom:B @atom:L lj/charmm/coul/charmm/inter 0.5833333333 1.0 1 0
+ pair_coeff @atom:B @atom:N lj/charmm/coul/charmm/inter 0.6666666667 1.0 1 0
+ pair_coeff @atom:L @atom:L lj/charmm/coul/charmm/inter 0.1666666667 1.0 1 1
+ pair_coeff @atom:L @atom:N lj/charmm/coul/charmm/inter 0.25 1.0 1 0
+ pair_coeff @atom:N @atom:N lj/charmm/coul/charmm/inter 0.3333333333 1.0 1 0
+ }
+
+
+ # 2-body (bonded) interactions:
+ #
+ # Ubond(r) = (k/2)*(r-0)^2
+ #
+ # The corresponding command is:
+ #
+ # bond-Type bondstylename k r0
+
+ write_once("In Settings") {
+ bond_coeff @bond:backbone harmonic 100.0 1.0
+ }
+
+ # 3-body interactions in this example are listed by atomType and bondType
+ # The atomIDs involved are determined automatically. The forumula used is:
+ #
+ # Uangle(theta) = (k/2)*(theta-theta0)^2
+ # (k in kcal/mol/rad^2, theta0 in degrees)
+ #
+ # angle-Type anglestylename k theta0
+
+ write_once("In Settings") {
+ angle_coeff @angle:backbone harmonic 13.3333333333 105.0
+ }
+
+ # 4-body interactions in this example are listed by atomType and bondType
+ # The atomIDs involved are determined automatically. The forumula used is:
+ #
+ # Udihedral(phi) = K * (1 + cos(n*phi - d))
+ #
+ # The d parameter is in degrees, K is in kcal/mol/rad^2.
+ #
+ # The corresponding command is:
+ #
+ # dihedral_coeff dihedralType dihedralstylename K n d w
+ # ("w" is the weight for 1-4 pair interactions, which we set to 0)
+
+ # NOTE: Currently, dihedral_coeff charmm does not allow non-integer d
+ # parameters. I'm hoping this will be fixed eventually.
+
+ write_once("In Settings") {
+ # Correct version:
+ #dihedral_coeff @dihedral:alpha1 charmm -1.5 1 57.2957795 0.0
+ # Replacing with
+ dihedral_coeff @dihedral:alpha1 charmm -1.5 1 57 0.0
+ # Correct version:
+ #dihedral_coeff @dihedral:alpha2 charmm 0.375 2 114.591559 0.0
+ # Replacing with
+ dihedral_coeff @dihedral:alpha2 charmm 0.375 2 115 0.0
+ dihedral_coeff @dihedral:beta1 charmm -1.5 1 180 0.0
+ dihedral_coeff @dihedral:beta2 charmm 0.375 2 360 0.0
+ dihedral_coeff @dihedral:turn1 charmm -3.0 1 90 0.0
+ # Correct version:
+ # dihedral_coeff @dihedral:turn2 charmm -3.0 1 11.4591559 0.0
+ # Replacing with
+ dihedral_coeff @dihedral:turn2 charmm -3.0 1 11 0.0
+ dihedral_coeff @dihedral:turn3 charmm -3.0 1 -90 0.0
+ dihedral_coeff @dihedral:turn4 charmm 0.0 1 0 0.0
+ dihedral_coeff @dihedral:turn5 charmm 0.0 1 0 0.0
+ }
+
+ write_once("In Settings") {
+ # Optional: define the atoms in the "proteins" group
+ group proteins type @atom:B
+ group proteins type @atom:L
+ group proteins type @atom:N
+ }
+
+ # LAMMPS has many available force field styles (and atom styles).
+ # Here, we pick the ones which work well for this molecular model:
+
+ write_once("In Init") {
+ # --- Default options for the "1BeadUnfrustrated" protein model ---
+ # --- (These can be overridden later.) ---
+ units lj
+ atom_style full
+ bond_style hybrid harmonic
+ angle_style hybrid harmonic
+ dihedral_style hybrid charmm
+ pair_style hybrid lj/charmm/coul/charmm/inter es4k4l maxmax 3.5 4.0
+ pair_modify mix arithmetic
+ special_bonds lj 0.0 0.0 1.0 #(turn on "1-4" interactions)
+ }
+
+} # 1beadUnfrustrated
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/moltemplate_files/1beadUnfrustrated_variants.lt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/moltemplate_files/1beadUnfrustrated_variants.lt
new file mode 100644
index 000000000..cbc8fe217
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/moltemplate_files/1beadUnfrustrated_variants.lt
@@ -0,0 +1,45 @@
+import "1beadUnfrustrated.lt"
+
+
+# Alternate starting conformation (same molecule):
+
+
+1beadUnfolded inherits 1beadUnfrustrated {
+
+ # This molecule "inherits" all of its features from "1beadUnfrustrated"
+ # Here we override the atomic positions with new coordinates:
+
+ # AtomID MoleculeID AtomType Charge X Y Z
+
+ write("Data Atoms") {
+ $atom:a1 $mol @atom:L 0.0 -2.4 1.7 -0.0
+ $atom:a2 $mol @atom:B 0.0 -1.8 1.7 0.8
+ $atom:a3 $mol @atom:L 0.0 -1.2 2.5 0.8
+ $atom:a4 $mol @atom:B 0.0 -0.6 2.5 -0.0
+ $atom:a5 $mol @atom:L 0.0 0.0 1.7 -0.0
+ $atom:a6 $mol @atom:B 0.0 0.6 1.7 0.8
+ $atom:a7 $mol @atom:N 0.0 1.2 2.5 0.8
+ $atom:a8 $mol @atom:N 0.0 1.8 2.5 -0.0
+ $atom:a9 $mol @atom:B 0.0 2.4 1.7 -0.0
+ $atom:a10 $mol @atom:L 0.0 3.0 1.7 -0.8
+ $atom:a11 $mol @atom:B 0.0 3.0 0.7 -0.8
+ $atom:a12 $mol @atom:L 0.0 3.0 0.1 -0.0
+ $atom:a13 $mol @atom:B 0.0 3.8 -0.5 -0.0
+ $atom:a14 $mol @atom:L 0.0 3.8 -1.1 -0.8
+ $atom:a15 $mol @atom:N 0.0 3.0 -1.7 -0.8
+ $atom:a16 $mol @atom:N 0.0 3.0 -1.7 0.2
+ $atom:a17 $mol @atom:N 0.0 2.4 -2.5 0.2
+ $atom:a18 $mol @atom:B 0.0 1.8 -2.5 -0.6
+ $atom:a19 $mol @atom:B 0.0 1.2 -1.7 -0.6
+ $atom:a20 $mol @atom:L 0.0 0.6 -1.7 0.2
+ $atom:a21 $mol @atom:L 0.0 -0.0 -2.5 0.2
+ $atom:a22 $mol @atom:B 0.0 -0.6 -2.5 -0.6
+ $atom:a23 $mol @atom:B 0.0 -1.2 -1.7 -0.6
+ $atom:a24 $mol @atom:L 0.0 -1.8 -1.7 0.2
+ $atom:a25 $mol @atom:L 0.0 -2.4 -2.5 0.2
+ $atom:a26 $mol @atom:B 0.0 -3.0 -2.5 -0.6
+ $atom:a27 $mol @atom:L 0.0 -3.6 -1.7 -0.6
+ }
+
+} # 1beadUnfolded
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/moltemplate_files/chaperonin.lt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/moltemplate_files/chaperonin.lt
new file mode 100644
index 000000000..8266d2a89
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/moltemplate_files/chaperonin.lt
@@ -0,0 +1,41 @@
+# Here we define a trivial molecule containing only one particle.
+
+Chaperonin {
+
+ # atomID molID atomType charge x y z
+
+ write("Data Atoms") {
+ $atom:C $mol @atom:C 0.0 0.0 0.0 0.0
+ }
+
+ write_once("Data Masses") {
+ @atom:C 100.0
+ }
+
+ write_once("In Settings") {
+ # If for some reason there are multiple chaperones present,
+ # I assume that they interact repulsively (hence, L=0)
+ # i j epsilon sigma K L
+
+ pair_coeff @atom:C @atom:C lj/charmm/coul/charmm/inter 1.0 6.0 1 0
+
+ # Optional: define the atoms in the "chaperonins" group:
+ # (Defining a group for the chaperone makes it easy to immobilize it later.)
+
+ group chaperonins type @atom:C
+ }
+
+
+ # Specify which pair_styles, and atom styles work well with
+ # this model. (Again this can be overridden later.)
+
+ write_once("In Init") {
+ units lj
+ atom_style full
+ pair_style hybrid lj/charmm/coul/charmm/inter es4k4l maxmax 11.0 12.0
+ }
+
+} # Chaperonin
+
+# We have not specified how this particle interacts with other particles
+# besides itself. Later on you must do this.
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/moltemplate_files/generate_tables/calc_chaperone_table.py b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/moltemplate_files/generate_tables/calc_chaperone_table.py
new file mode 100755
index 000000000..4c787de56
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/moltemplate_files/generate_tables/calc_chaperone_table.py
@@ -0,0 +1,87 @@
+#!/usr/bin/env python
+
+# Calculate a table of pairwise energies and forces between atoms in the
+# protein and a chaperone provided in the supplemental materials section of:
+# AI Jewett, A Baumketner and J-E Shea, PNAS, 101 (36), 13192-13197, (2004)
+# This is stored in a tabulated force field with a singularity at a distance R.
+#
+# To calculate the table for interaction between
+# ...the chaperone and a hydrophobic bead (2004 PNAS paper), use this table:
+# ./calc_chaperone_table.py 1.0 1.0 6.0 0.475 0.0 5.9 1181
+# ...the chaperone and a hydrophilic bead (2004 PNAS paper), use this table:
+# ./calc_chaperone_table.py 1.0 1.0 6.0 0.0 0.0 5.9 1181
+# ...the chaperone and a hydrophobic bead (2006 JMB paper), use this table:
+# ./calc_chaperone_table.py 1.0 1.0 3.0 0.60 3.1 8.0 981 True
+# ...the chaperone and a hydrophilic bead (2006 JMB paper), use this table:
+# ./calc_chaperone_table.py 1.0 1.0 3.0 0.0 3.1 8.0 981 True
+
+from math import *
+import sys
+
+def U(r, eps, sigma, R, h):
+ #print('r='+str(r)+' eps='+str(eps)+' s='+str(sigma)+' R='+str(R)+' h='+str(h))
+ # Formula is undefined at r=0, but you can take the limit:
+ if r <= 0:
+ return 4.0*pi*R*R*4.0*eps*(pow((sigma/R), 12.0)
+ - h*pow((sigma/R), 6.0))
+ xp = sigma/(r+R)
+ xm = sigma/(r-R)
+ term10 = pow(xm, 10.0) - pow(xp, 10.0)
+ term4 = pow(xm, 4.0) - pow(xp, 4.0)
+ return 4.0*pi*eps*(R/r) * (0.2*term10 - 0.5*h*term4)
+
+def F(r, eps, sigma, R, h):
+ # Formula is undefined at r=0, but you can take the limit:
+ if r <= 0:
+ return 0.0
+ product_term_a = U(r, eps, sigma, R, h) / r
+ ixp = (r+R)/sigma
+ ixm = (r-R)/sigma
+ dix_dr = 1.0/sigma
+ term10 = (10.0/sigma)*(pow(ixm, -11.0) - pow(ixp, -11.0))
+ term4 = (4.0/sigma)*(pow(ixm, -5.0) - pow(ixp, -5.0))
+ product_term_b = 4.0*eps*pi*(R/r) * (0.2*term10 - 0.5*h*term4)
+ return product_term_a + product_term_b
+
+
+class InputError(Exception):
+ """ A generic exception object containing a string for error reporting.
+
+ """
+ def __init__(self, err_msg):
+ self.err_msg = err_msg
+ def __str__(self):
+ return self.err_msg
+ def __repr__(self):
+ return str(self)
+
+if len(sys.argv) < 8:
+ sys.stderr.write("Error: expected 7 arguments:\n"
+ "\n"
+ "Usage: "+sys.argv[0]+" epsilon sigma R h rmin rmax N\n\n")
+ sys.exit(-1)
+
+epsilon = float(sys.argv[1])
+sigma = float(sys.argv[2])
+R = float(sys.argv[3])
+h = float(sys.argv[4])
+rmin = float(sys.argv[5])
+rmax = float(sys.argv[6])
+N = int(sys.argv[7])
+
+subtract_Urcut = False
+if len(sys.argv) == 9:
+ subtract_Urcut = True
+rcut = rmax
+
+for i in range(0,N):
+ r = rmin + i*(rmax-rmin)/(N-1)
+ U_r = U(r, epsilon, sigma, R, h)
+ F_r = F(r, epsilon, sigma, R, h)
+ if subtract_Urcut:
+ U_r -= U(rcut, epsilon, sigma, R, h)
+ if (r >= rcut) or (i==N-1):
+ U_r = 0.0
+ F_r = 0.0
+ print(str(i+1)+' '+str(r)+' '+str(U_r)+' '+str(F_r))
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/moltemplate_files/system.lt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/moltemplate_files/system.lt
new file mode 100644
index 000000000..d8781c26f
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/moltemplate_files/system.lt
@@ -0,0 +1,45 @@
+write_once("Data Boundary") {
+ 0.0 20.0 xlo xhi
+ 0.0 20.0 ylo yhi
+ 0.0 20.0 zlo zhi
+}
+
+
+import "chaperonin.lt"
+import "1beadUnfrustrated_variants.lt"
+
+
+chaperinin = new Chaperonin # (hollow chaperonin, encloses protein)
+protein = new 1beadUnfolded # (unfolded conformation, unfrustrated protein)
+
+
+
+# Now define interactions between the "c" atom in the
+# chaperone and the "B", "L", "N" atoms in the protein:
+
+write_once("In Settings") {
+ pair_coeff @atom:Chaperonin/C @atom:1beadUnfrustrated/B table table_chaperonin_h=0.dat CH_H0
+ pair_coeff @atom:Chaperonin/C @atom:1beadUnfrustrated/L table table_chaperonin_h=0.dat CH_H0
+ pair_coeff @atom:Chaperonin/C @atom:1beadUnfrustrated/N table table_chaperonin_h=0.dat CH_H0
+ # Note: In this example, the chaperone is playing the role of a repulsive wall
+ # (confinement). To use a sticky chaperonin, replace the first line with this:
+ # pair_coeff @atom:Chaperonin/C @atom:1beadUnfrustrated/B table table_chaperonin_h=0.475.dat CH_H0.475
+}
+
+
+
+# LAMMPS has many available force field styles (and atom styles).
+# Here, we pick the ones which work well for this molecular model:
+
+write_once("In Init") {
+ # --- Default options for the "1BeadUnfrustrated" protein model ---
+ # --- (These can be overridden later.) ---
+ units lj
+ atom_style full
+ bond_style hybrid harmonic
+ angle_style hybrid harmonic
+ dihedral_style hybrid charmm
+ pair_style hybrid lj/charmm/coul/charmm/inter es4k4l maxmax 3.5 4.0 table spline 1181
+ pair_modify mix arithmetic
+ special_bonds lj 0.0 0.0 1.0 #(turn on "1-4" interactions)
+}
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/moltemplate_files/table_chaperonin_h=0.475.dat b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/moltemplate_files/table_chaperonin_h=0.475.dat
new file mode 100644
index 000000000..675d228a9
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/moltemplate_files/table_chaperonin_h=0.475.dat
@@ -0,0 +1,1188 @@
+# Interaction between a chaperonin wall and hydrophobic ("B") beads (h=0.475).
+# LAMMPS would crash unless I set the minimum radius to a positive value (not 0)
+
+CH_H0.475
+N 1181 R 0.00000000001 5.9
+
+1 0.00000000001 -0.018422088583 0.0
+2 0.005 -0.0184221525389 2.55824082873e-05
+3 0.01 -0.0184223444081 5.11654127471e-05
+4 0.015 -0.018422664195 7.67496107175e-05
+5 0.02 -0.0184231119071 0.000102335598797
+6 0.025 -0.018423687555 0.000127923973785
+7 0.03 -0.0184243911519 0.000153515332637
+8 0.035 -0.0184252227143 0.000179110272379
+9 0.04 -0.0184261822615 0.000204709390236
+10 0.045 -0.0184272698161 0.000230313283607
+11 0.05 -0.0184284854033 0.000255922550119
+12 0.055 -0.0184298290516 0.000281537787625
+13 0.06 -0.0184313007922 0.000307159594253
+14 0.065 -0.0184329006595 0.000332788568419
+15 0.07 -0.0184346286908 0.000358425308862
+16 0.075 -0.0184364849265 0.000384070414671
+17 0.08 -0.0184384694099 0.000409724485298
+18 0.085 -0.0184405821873 0.000435388120601
+19 0.09 -0.018442823308 0.000461061920867
+20 0.095 -0.0184451928244 0.000486746486835
+21 0.1 -0.0184476907918 0.000512442419724
+22 0.105 -0.0184503172686 0.00053815032126
+23 0.11 -0.018453072316 0.000563870793707
+24 0.115 -0.0184559559985 0.00058960443989
+25 0.12 -0.0184589683834 0.000615351863219
+26 0.125 -0.0184621095411 0.000641113667723
+27 0.13 -0.018465379545 0.000666890458074
+28 0.135 -0.0184687784716 0.000692682839612
+29 0.14 -0.0184723064004 0.000718491418378
+30 0.145 -0.0184759634138 0.000744316801133
+31 0.15 -0.0184797495974 0.000770159595394
+32 0.155 -0.0184836650398 0.000796020409456
+33 0.16 -0.0184877098326 0.000821899852421
+34 0.165 -0.0184918840704 0.000847798534223
+35 0.17 -0.018496187851 0.000873717065662
+36 0.175 -0.0185006212752 0.000899656058423
+37 0.18 -0.0185051844467 0.000925616125112
+38 0.185 -0.0185098774726 0.000951597879278
+39 0.19 -0.0185147004627 0.000977601935442
+40 0.195 -0.0185196535301 0.00100362890913
+41 0.2 -0.018524736791 0.00102967941688
+42 0.205 -0.0185299503645 0.00105575407632
+43 0.21 -0.018535294373 0.00108185350613
+44 0.215 -0.0185407689419 0.00110797832612
+45 0.22 -0.0185463741997 0.00113412915723
+46 0.225 -0.0185521102779 0.00116030662158
+47 0.23 -0.0185579773113 0.00118651134249
+48 0.235 -0.0185639754378 0.00121274394448
+49 0.24 -0.0185701047983 0.00123900505337
+50 0.245 -0.0185763655369 0.00126529529622
+51 0.25 -0.0185827578008 0.00129161530144
+52 0.255 -0.0185892817405 0.00131796569874
+53 0.26 -0.0185959375095 0.00134434711924
+54 0.265 -0.0186027252645 0.00137076019543
+55 0.27 -0.0186096451653 0.00139720556125
+56 0.275 -0.018616697375 0.00142368385209
+57 0.28 -0.0186238820597 0.00145019570482
+58 0.285 -0.018631199389 0.00147674175783
+59 0.29 -0.0186386495354 0.00150332265107
+60 0.295 -0.0186462326747 0.00152993902605
+61 0.3 -0.0186539489859 0.00155659152589
+62 0.305 -0.0186617986512 0.00158328079535
+63 0.31 -0.0186697818562 0.00161000748085
+64 0.315 -0.0186778987894 0.00163677223051
+65 0.32 -0.018686149643 0.00166357569418
+66 0.325 -0.018694534612 0.00169041852345
+67 0.33 -0.0187030538949 0.00171730137172
+68 0.335 -0.0187117076935 0.0017442248942
+69 0.34 -0.0187204962128 0.00177118974793
+70 0.345 -0.018729419661 0.00179819659187
+71 0.35 -0.0187384782498 0.00182524608685
+72 0.355 -0.018747672194 0.00185233889566
+73 0.36 -0.018757001712 0.00187947568307
+74 0.365 -0.0187664670253 0.00190665711585
+75 0.37 -0.0187760683587 0.0019338838628
+76 0.375 -0.0187858059405 0.00196115659479
+77 0.38 -0.0187956800024 0.00198847598479
+78 0.385 -0.0188056907793 0.00201584270792
+79 0.39 -0.0188158385095 0.00204325744145
+80 0.395 -0.0188261234348 0.00207072086484
+81 0.4 -0.0188365458004 0.00209823365979
+82 0.405 -0.0188471058549 0.00212579651027
+83 0.41 -0.0188578038501 0.00215341010252
+84 0.415 -0.0188686400416 0.00218107512514
+85 0.42 -0.0188796146882 0.00220879226907
+86 0.425 -0.0188907280523 0.00223656222766
+87 0.43 -0.0189019803997 0.00226438569667
+88 0.435 -0.0189133719996 0.00229226337435
+89 0.44 -0.0189249031249 0.00232019596142
+90 0.445 -0.0189365740519 0.00234818416114
+91 0.45 -0.0189483850604 0.00237622867935
+92 0.455 -0.0189603364338 0.00240433022447
+93 0.46 -0.0189724284589 0.00243248950756
+94 0.465 -0.0189846614263 0.00246070724235
+95 0.47 -0.0189970356299 0.00248898414528
+96 0.475 -0.0190095513675 0.00251732093553
+97 0.48 -0.0190222089403 0.00254571833504
+98 0.485 -0.0190350086531 0.00257417706858
+99 0.49 -0.0190479508144 0.00260269786377
+100 0.495 -0.0190610357364 0.00263128145108
+101 0.5 -0.0190742637348 0.00265992856393
+102 0.505 -0.0190876351291 0.0026886399387
+103 0.51 -0.0191011502425 0.00271741631474
+104 0.515 -0.0191148094019 0.00274625843445
+105 0.52 -0.0191286129377 0.00277516704329
+106 0.525 -0.0191425611844 0.00280414288981
+107 0.53 -0.0191566544799 0.00283318672573
+108 0.535 -0.0191708931662 0.00286229930593
+109 0.54 -0.0191852775888 0.00289148138852
+110 0.545 -0.0191998080972 0.00292073373487
+111 0.55 -0.0192144850445 0.00295005710962
+112 0.555 -0.0192293087879 0.00297945228079
+113 0.56 -0.0192442796883 0.00300892001972
+114 0.565 -0.0192593981104 0.00303846110121
+115 0.57 -0.0192746644228 0.00306807630348
+116 0.575 -0.0192900789982 0.00309776640827
+117 0.58 -0.0193056422131 0.00312753220084
+118 0.585 -0.0193213544477 0.00315737447002
+119 0.59 -0.0193372160865 0.00318729400826
+120 0.595 -0.0193532275179 0.00321729161167
+121 0.6 -0.0193693891341 0.00324736808004
+122 0.605 -0.0193857013315 0.00327752421692
+123 0.61 -0.0194021645104 0.00330776082963
+124 0.615 -0.0194187790753 0.00333807872931
+125 0.62 -0.0194355454345 0.00336847873097
+126 0.625 -0.0194524640008 0.00339896165353
+127 0.63 -0.0194695351906 0.00342952831985
+128 0.635 -0.0194867594249 0.00346017955681
+129 0.64 -0.0195041371285 0.00349091619529
+130 0.645 -0.0195216687306 0.00352173907028
+131 0.65 -0.0195393546644 0.00355264902089
+132 0.655 -0.0195571953673 0.0035836468904
+133 0.66 -0.0195751912812 0.0036147335263
+134 0.665 -0.019593342852 0.00364590978035
+135 0.67 -0.0196116505298 0.00367717650862
+136 0.675 -0.0196301147693 0.00370853457151
+137 0.68 -0.0196487360292 0.00373998483385
+138 0.685 -0.0196675147727 0.0037715281649
+139 0.69 -0.0196864514674 0.00380316543841
+140 0.695 -0.0197055465851 0.00383489753267
+141 0.7 -0.0197248006022 0.00386672533057
+142 0.705 -0.0197442139994 0.00389864971962
+143 0.71 -0.0197637872619 0.00393067159203
+144 0.715 -0.0197835208793 0.00396279184472
+145 0.72 -0.0198034153458 0.00399501137941
+146 0.725 -0.0198234711601 0.00402733110266
+147 0.73 -0.0198436888254 0.00405975192588
+148 0.735 -0.0198640688494 0.00409227476545
+149 0.74 -0.0198846117446 0.00412490054269
+150 0.745 -0.0199053180279 0.004157630184
+151 0.75 -0.0199261882211 0.00419046462082
+152 0.755 -0.0199472228503 0.00422340478976
+153 0.76 -0.0199684224468 0.00425645163261
+154 0.765 -0.019989787546 0.00428960609639
+155 0.77 -0.0200113186887 0.00432286913342
+156 0.775 -0.0200330164199 0.00435624170138
+157 0.78 -0.0200548812898 0.00438972476334
+158 0.785 -0.0200769138533 0.00442331928783
+159 0.79 -0.0200991146701 0.00445702624889
+160 0.795 -0.0201214843048 0.00449084662613
+161 0.8 -0.020144023327 0.00452478140479
+162 0.805 -0.0201667323112 0.00455883157576
+163 0.81 -0.0201896118368 0.0045929981357
+164 0.815 -0.0202126624882 0.00462728208704
+165 0.82 -0.020235884855 0.00466168443808
+166 0.825 -0.0202592795316 0.00469620620299
+167 0.83 -0.0202828471177 0.00473084840195
+168 0.835 -0.0203065882181 0.00476561206114
+169 0.84 -0.0203305034425 0.00480049821283
+170 0.845 -0.0203545934061 0.00483550789544
+171 0.85 -0.0203788587291 0.00487064215359
+172 0.855 -0.020403300037 0.00490590203817
+173 0.86 -0.0204279179606 0.00494128860638
+174 0.865 -0.020452713136 0.00497680292184
+175 0.87 -0.0204776862045 0.00501244605461
+176 0.875 -0.020502837813 0.00504821908124
+177 0.88 -0.0205281686136 0.00508412308491
+178 0.885 -0.020553679264 0.00512015915539
+179 0.89 -0.0205793704271 0.0051563283892
+180 0.895 -0.0206052427716 0.0051926318896
+181 0.9 -0.0206312969716 0.00522907076671
+182 0.905 -0.0206575337068 0.00526564613755
+183 0.91 -0.0206839536624 0.00530235912611
+184 0.915 -0.0207105575293 0.00533921086343
+185 0.92 -0.0207373460042 0.00537620248763
+186 0.925 -0.0207643197892 0.00541333514403
+187 0.93 -0.0207914795926 0.0054506099852
+188 0.935 -0.020818826128 0.00548802817101
+189 0.94 -0.0208463601151 0.00552559086871
+190 0.945 -0.0208740822795 0.00556329925304
+191 0.95 -0.0209019933525 0.00560115450624
+192 0.955 -0.0209300940713 0.00563915781816
+193 0.96 -0.0209583851794 0.00567731038631
+194 0.965 -0.020986867426 0.00571561341599
+195 0.97 -0.0210155415663 0.00575406812027
+196 0.975 -0.021044408362 0.00579267572016
+197 0.98 -0.0210734685804 0.00583143744461
+198 0.985 -0.0211027229954 0.00587035453065
+199 0.99 -0.0211321723867 0.00590942822342
+200 0.995 -0.0211618175407 0.00594865977625
+201 1.0 -0.0211916592497 0.00598805045079
+202 1.005 -0.0212216983125 0.00602760151701
+203 1.01 -0.0212519355343 0.00606731425336
+204 1.015 -0.0212823717267 0.00610718994679
+205 1.02 -0.0213130077075 0.00614722989286
+206 1.025 -0.0213438443015 0.00618743539581
+207 1.03 -0.0213748823396 0.00622780776866
+208 1.035 -0.0214061226595 0.00626834833326
+209 1.04 -0.0214375661055 0.00630905842043
+210 1.045 -0.0214692135285 0.00634993936999
+211 1.05 -0.0215010657862 0.00639099253086
+212 1.055 -0.0215331237431 0.00643221926118
+213 1.06 -0.0215653882704 0.00647362092835
+214 1.065 -0.0215978602462 0.00651519890914
+215 1.07 -0.0216305405556 0.0065569545898
+216 1.075 -0.0216634300906 0.00659888936611
+217 1.08 -0.0216965297501 0.00664100464349
+218 1.085 -0.0217298404402 0.00668330183711
+219 1.09 -0.0217633630741 0.00672578237194
+220 1.095 -0.0217970985719 0.00676844768288
+221 1.1 -0.0218310478613 0.00681129921484
+222 1.105 -0.0218652118769 0.00685433842285
+223 1.11 -0.0218995915607 0.00689756677211
+224 1.115 -0.0219341878623 0.00694098573816
+225 1.12 -0.0219690017383 0.0069845968069
+226 1.125 -0.022004034153 0.00702840147476
+227 1.13 -0.0220392860782 0.00707240124874
+228 1.135 -0.0220747584932 0.00711659764655
+229 1.14 -0.0221104523849 0.00716099219671
+230 1.145 -0.022146368748 0.00720558643861
+231 1.15 -0.0221825085847 0.00725038192267
+232 1.155 -0.0222188729052 0.00729538021041
+233 1.16 -0.0222554627274 0.00734058287457
+234 1.165 -0.0222922790772 0.0073859914992
+235 1.17 -0.0223293229884 0.0074316076798
+236 1.175 -0.0223665955026 0.0074774330234
+237 1.18 -0.0224040976699 0.00752346914866
+238 1.185 -0.0224418305481 0.00756971768601
+239 1.19 -0.0224797952035 0.00761618027777
+240 1.195 -0.0225179927104 0.00766285857821
+241 1.2 -0.0225564241516 0.00770975425373
+242 1.205 -0.0225950906181 0.00775686898291
+243 1.21 -0.0226339932093 0.00780420445668
+244 1.215 -0.0226731330334 0.00785176237842
+245 1.22 -0.0227125112067 0.00789954446406
+246 1.225 -0.0227521288545 0.00794755244222
+247 1.23 -0.0227919871105 0.00799578805433
+248 1.235 -0.0228320871174 0.00804425305474
+249 1.24 -0.0228724300263 0.00809294921086
+250 1.245 -0.0229130169977 0.00814187830327
+251 1.25 -0.0229538492006 0.00819104212586
+252 1.255 -0.0229949278132 0.00824044248594
+253 1.26 -0.0230362540227 0.00829008120437
+254 1.265 -0.0230778290255 0.00833996011571
+255 1.27 -0.0231196540273 0.00839008106834
+256 1.275 -0.0231617302427 0.00844044592457
+257 1.28 -0.0232040588961 0.00849105656081
+258 1.285 -0.0232466412211 0.00854191486768
+259 1.29 -0.0232894784608 0.00859302275016
+260 1.295 -0.0233325718678 0.00864438212772
+261 1.3 -0.0233759227044 0.00869599493446
+262 1.305 -0.0234195322428 0.00874786311924
+263 1.31 -0.0234634017645 0.00879998864585
+264 1.315 -0.0235075325614 0.00885237349313
+265 1.32 -0.023551925935 0.00890501965511
+266 1.325 -0.0235965831968 0.00895792914117
+267 1.33 -0.0236415056686 0.00901110397621
+268 1.335 -0.0236866946822 0.00906454620074
+269 1.34 -0.0237321515797 0.00911825787107
+270 1.345 -0.0237778777135 0.00917224105947
+271 1.35 -0.0238238744463 0.00922649785429
+272 1.355 -0.0238701431515 0.00928103036016
+273 1.36 -0.023916685213 0.00933584069811
+274 1.365 -0.0239635020251 0.00939093100572
+275 1.37 -0.0240105949932 0.00944630343733
+276 1.375 -0.0240579655333 0.00950196016416
+277 1.38 -0.0241056150724 0.00955790337448
+278 1.385 -0.0241535450482 0.00961413527379
+279 1.39 -0.0242017569099 0.00967065808498
+280 1.395 -0.0242502521177 0.00972747404847
+281 1.4 -0.0242990321428 0.00978458542245
+282 1.405 -0.024348098468 0.00984199448296
+283 1.41 -0.0243974525876 0.00989970352414
+284 1.415 -0.0244470960071 0.00995771485838
+285 1.42 -0.0244970302439 0.0100160308165
+286 1.425 -0.0245472568269 0.0100746537479
+287 1.43 -0.0245977772969 0.0101335860207
+288 1.435 -0.0246485932066 0.0101928300222
+289 1.44 -0.0246997061207 0.0102523881586
+290 1.445 -0.0247511176158 0.0103122628557
+291 1.45 -0.0248028292809 0.0103724565585
+292 1.455 -0.0248548427172 0.010432971732
+293 1.46 -0.0249071595382 0.0104938108611
+294 1.465 -0.0249597813699 0.0105549764506
+295 1.47 -0.025012709851 0.0106164710259
+296 1.475 -0.0250659466327 0.0106782971325
+297 1.48 -0.0251194933791 0.010740457337
+298 1.485 -0.0251733517672 0.0108029542267
+299 1.49 -0.0252275234869 0.0108657904101
+300 1.495 -0.0252820102412 0.010928968517
+301 1.5 -0.0253368137464 0.0109924911986
+302 1.505 -0.0253919357319 0.0110563611281
+303 1.51 -0.0254473779409 0.0111205810005
+304 1.515 -0.0255031421297 0.0111851535329
+305 1.52 -0.0255592300685 0.0112500814649
+306 1.525 -0.0256156435413 0.0113153675588
+307 1.53 -0.0256723843457 0.0113810145995
+308 1.535 -0.0257294542935 0.0114470253952
+309 1.54 -0.0257868552106 0.0115134027773
+310 1.545 -0.025844588937 0.0115801496006
+311 1.55 -0.0259026573272 0.0116472687439
+312 1.555 -0.0259610622498 0.0117147631099
+313 1.56 -0.0260198055885 0.0117826356253
+314 1.565 -0.0260788892413 0.0118508892417
+315 1.57 -0.0261383151211 0.011919526935
+316 1.575 -0.0261980851557 0.0119885517064
+317 1.58 -0.0262582012883 0.0120579665821
+318 1.585 -0.0263186654768 0.0121277746138
+319 1.59 -0.0263794796948 0.012197978879
+320 1.595 -0.0264406459312 0.012268582481
+321 1.6 -0.0265021661904 0.0123395885496
+322 1.605 -0.0265640424927 0.012411000241
+323 1.61 -0.0266262768742 0.0124828207379
+324 1.615 -0.0266888713868 0.0125550532504
+325 1.62 -0.0267518280987 0.0126277010158
+326 1.625 -0.0268151490945 0.0127007672988
+327 1.63 -0.0268788364747 0.0127742553922
+328 1.635 -0.0269428923569 0.0128481686167
+329 1.64 -0.027007318875 0.0129225103217
+330 1.645 -0.0270721181799 0.0129972838851
+331 1.65 -0.0271372924393 0.0130724927139
+332 1.655 -0.0272028438382 0.0131481402442
+333 1.66 -0.0272687745787 0.0132242299421
+334 1.665 -0.0273350868804 0.0133007653031
+335 1.67 -0.0274017829804 0.0133777498532
+336 1.675 -0.0274688651335 0.0134551871488
+337 1.68 -0.0275363356124 0.0135330807772
+338 1.685 -0.0276041967079 0.0136114343567
+339 1.69 -0.0276724507287 0.0136902515371
+340 1.695 -0.027741100002 0.0137695359999
+341 1.7 -0.0278101468737 0.0138492914588
+342 1.705 -0.0278795937079 0.0139295216598
+343 1.71 -0.0279494428878 0.0140102303818
+344 1.715 -0.0280196968156 0.0140914214365
+345 1.72 -0.0280903579125 0.0141730986693
+346 1.725 -0.028161428619 0.0142552659592
+347 1.73 -0.0282329113953 0.0143379272194
+348 1.735 -0.0283048087211 0.0144210863974
+349 1.74 -0.0283771230958 0.0145047474758
+350 1.745 -0.028449857039 0.0145889144721
+351 1.75 -0.0285230130905 0.0146735914394
+352 1.755 -0.0285965938102 0.0147587824667
+353 1.76 -0.0286706017788 0.0148444916794
+354 1.765 -0.0287450395976 0.0149307232394
+355 1.77 -0.0288199098888 0.0150174813458
+356 1.775 -0.0288952152957 0.0151047702347
+357 1.78 -0.0289709584829 0.0151925941806
+358 1.785 -0.0290471421364 0.0152809574956
+359 1.79 -0.029123768964 0.0153698645308
+360 1.795 -0.0292008416952 0.0154593196762
+361 1.8 -0.0292783630817 0.0155493273611
+362 1.805 -0.0293563358972 0.0156398920546
+363 1.81 -0.0294347629381 0.0157310182661
+364 1.815 -0.0295136470233 0.0158227105457
+365 1.82 -0.0295929909946 0.0159149734844
+366 1.825 -0.029672797717 0.0160078117148
+367 1.83 -0.0297530700784 0.0161012299115
+368 1.835 -0.0298338109905 0.0161952327913
+369 1.84 -0.0299150233887 0.016289825114
+370 1.845 -0.0299967102321 0.0163850116825
+371 1.85 -0.030078874504 0.0164807973437
+372 1.855 -0.0301615192122 0.0165771869883
+373 1.86 -0.0302446473888 0.016674185552
+374 1.865 -0.0303282620908 0.0167717980155
+375 1.87 -0.0304123664005 0.0168700294049
+376 1.875 -0.0304969634249 0.0169688847928
+377 1.88 -0.0305820562969 0.0170683692981
+378 1.885 -0.030667648175 0.0171684880868
+379 1.89 -0.0307537422436 0.0172692463725
+380 1.895 -0.0308403417133 0.0173706494169
+381 1.9 -0.0309274498212 0.0174727025303
+382 1.905 -0.031015069831 0.017575411072
+383 1.91 -0.0311032050333 0.017678780451
+384 1.915 -0.031191858746 0.0177828161266
+385 1.92 -0.0312810343143 0.0178875236086
+386 1.925 -0.031370735111 0.0179929084582
+387 1.93 -0.0314609645372 0.0180989762881
+388 1.935 -0.0315517260217 0.0182057327638
+389 1.94 -0.0316430230221 0.0183131836033
+390 1.945 -0.0317348590246 0.0184213345784
+391 1.95 -0.0318272375444 0.0185301915148
+392 1.955 -0.0319201621261 0.0186397602927
+393 1.96 -0.0320136363437 0.0187500468479
+394 1.965 -0.0321076638009 0.0188610571717
+395 1.97 -0.0322022481317 0.018972797312
+396 1.975 -0.0322973930005 0.0190852733736
+397 1.98 -0.0323931021023 0.0191984915193
+398 1.985 -0.0324893791629 0.0193124579697
+399 1.99 -0.0325862279396 0.0194271790047
+400 1.995 -0.0326836522212 0.0195426609637
+401 2.0 -0.0327816558281 0.0196589102462
+402 2.005 -0.0328802426133 0.0197759333127
+403 2.01 -0.0329794164618 0.0198937366852
+404 2.015 -0.0330791812916 0.0200123269477
+405 2.02 -0.0331795410538 0.0201317107476
+406 2.025 -0.0332804997328 0.0202518947953
+407 2.03 -0.0333820613468 0.020372885866
+408 2.035 -0.0334842299479 0.0204946907995
+409 2.04 -0.0335870096227 0.0206173165015
+410 2.045 -0.0336904044925 0.0207407699441
+411 2.05 -0.0337944187135 0.0208650581666
+412 2.055 -0.0338990564773 0.020990188276
+413 2.06 -0.0340043220113 0.0211161674483
+414 2.065 -0.0341102195789 0.0212430029286
+415 2.07 -0.03421675348 0.0213707020324
+416 2.075 -0.0343239280509 0.0214992721461
+417 2.08 -0.0344317476655 0.0216287207278
+418 2.085 -0.0345402167349 0.0217590553081
+419 2.09 -0.034649339708 0.0218902834912
+420 2.095 -0.0347591210719 0.0220224129553
+421 2.1 -0.0348695653526 0.0221554514537
+422 2.105 -0.0349806771146 0.0222894068153
+423 2.11 -0.035092460962 0.0224242869461
+424 2.115 -0.0352049215386 0.0225600998293
+425 2.12 -0.0353180635283 0.0226968535268
+426 2.125 -0.0354318916555 0.0228345561796
+427 2.13 -0.0355464106854 0.022973216009
+428 2.135 -0.0356616254247 0.0231128413174
+429 2.14 -0.0357775407217 0.0232534404893
+430 2.145 -0.0358941614668 0.0233950219919
+431 2.15 -0.036011492593 0.0235375943765
+432 2.155 -0.0361295390764 0.0236811662793
+433 2.16 -0.0362483059362 0.0238257464221
+434 2.165 -0.0363677982357 0.0239713436135
+435 2.17 -0.0364880210823 0.0241179667499
+436 2.175 -0.0366089796281 0.0242656248166
+437 2.18 -0.0367306790704 0.0244143268884
+438 2.185 -0.0368531246523 0.0245640821311
+439 2.19 -0.0369763216625 0.0247148998022
+440 2.195 -0.0371002754366 0.0248667892521
+441 2.2 -0.037224991357 0.0250197599252
+442 2.205 -0.0373504748537 0.0251738213609
+443 2.21 -0.0374767314046 0.0253289831948
+444 2.215 -0.0376037665359 0.0254852551594
+445 2.22 -0.0377315858228 0.0256426470859
+446 2.225 -0.0378601948899 0.0258011689049
+447 2.23 -0.0379895994117 0.0259608306473
+448 2.235 -0.0381198051131 0.0261216424461
+449 2.24 -0.03825081777 0.0262836145373
+450 2.245 -0.0383826432096 0.0264467572608
+451 2.25 -0.0385152873111 0.026611081062
+452 2.255 -0.0386487560062 0.0267765964928
+453 2.26 -0.0387830552798 0.026943314213
+454 2.265 -0.0389181911701 0.0271112449915
+455 2.27 -0.0390541697696 0.0272803997074
+456 2.275 -0.0391909972254 0.0274507893516
+457 2.28 -0.0393286797398 0.0276224250278
+458 2.285 -0.0394672235711 0.0277953179541
+459 2.29 -0.0396066350337 0.027969479464
+460 2.295 -0.0397469204991 0.0281449210082
+461 2.3 -0.0398880863964 0.0283216541556
+462 2.305 -0.0400301392128 0.0284996905948
+463 2.31 -0.0401730854942 0.0286790421356
+464 2.315 -0.0403169318459 0.0288597207103
+465 2.32 -0.0404616849331 0.0290417383752
+466 2.325 -0.0406073514818 0.0292251073121
+467 2.33 -0.0407539382789 0.0294098398298
+468 2.335 -0.0409014521734 0.0295959483656
+469 2.34 -0.0410499000768 0.0297834454867
+470 2.345 -0.0411992889637 0.0299723438918
+471 2.35 -0.0413496258726 0.0301626564128
+472 2.355 -0.0415009179063 0.0303543960162
+473 2.36 -0.0416531722331 0.030547575805
+474 2.365 -0.0418063960867 0.0307422090198
+475 2.37 -0.0419605967679 0.0309383090411
+476 2.375 -0.0421157816444 0.0311358893905
+477 2.38 -0.0422719581518 0.0313349637324
+478 2.385 -0.0424291337947 0.031535545876
+479 2.39 -0.0425873161468 0.0317376497771
+480 2.395 -0.0427465128522 0.0319412895392
+481 2.4 -0.0429067316257 0.0321464794162
+482 2.405 -0.0430679802539 0.0323532338136
+483 2.41 -0.0432302665957 0.0325615672902
+484 2.415 -0.0433935985831 0.0327714945608
+485 2.42 -0.0435579842224 0.0329830304972
+486 2.425 -0.0437234315942 0.0331961901304
+487 2.43 -0.0438899488551 0.0334109886528
+488 2.435 -0.0440575442378 0.0336274414198
+489 2.44 -0.0442262260523 0.0338455639519
+490 2.445 -0.0443960026864 0.0340653719371
+491 2.45 -0.0445668826072 0.034286881232
+492 2.455 -0.044738874361 0.0345101078651
+493 2.46 -0.044911986575 0.0347350680378
+494 2.465 -0.0450862279579 0.0349617781271
+495 2.47 -0.0452616073004 0.0351902546879
+496 2.475 -0.0454381334767 0.0354205144546
+497 2.48 -0.0456158154451 0.0356525743439
+498 2.485 -0.0457946622489 0.0358864514565
+499 2.49 -0.0459746830172 0.0361221630801
+500 2.495 -0.0461558869663 0.0363597266909
+501 2.5 -0.0463382834002 0.0365991599565
+502 2.505 -0.0465218817117 0.0368404807381
+503 2.51 -0.0467066913835 0.0370837070928
+504 2.515 -0.046892721989 0.0373288572762
+505 2.52 -0.0470799831934 0.0375759497449
+506 2.525 -0.0472684847547 0.0378250031587
+507 2.53 -0.0474582365247 0.0380760363836
+508 2.535 -0.04764924845 0.0383290684938
+509 2.54 -0.0478415305732 0.0385841187751
+510 2.545 -0.0480350930339 0.0388412067266
+511 2.55 -0.0482299460695 0.0391003520642
+512 2.555 -0.0484261000167 0.0393615747229
+513 2.56 -0.0486235653125 0.0396248948596
+514 2.565 -0.048822352495 0.039890332856
+515 2.57 -0.0490224722051 0.0401579093214
+516 2.575 -0.0492239351871 0.0404276450956
+517 2.58 -0.04942675229 0.0406995612517
+518 2.585 -0.0496309344691 0.0409736790992
+519 2.59 -0.0498364927864 0.0412500201869
+520 2.595 -0.0500434384127 0.0415286063059
+521 2.6 -0.0502517826279 0.0418094594931
+522 2.605 -0.0504615368232 0.0420926020336
+523 2.61 -0.0506727125014 0.0423780564645
+524 2.615 -0.0508853212789 0.0426658455778
+525 2.62 -0.0510993748867 0.0429559924239
+526 2.625 -0.0513148851716 0.0432485203146
+527 2.63 -0.0515318640975 0.0435434528266
+528 2.635 -0.0517503237473 0.043840813805
+529 2.64 -0.0519702763232 0.0441406273667
+530 2.645 -0.0521917341492 0.0444429179039
+531 2.65 -0.0524147096717 0.0447477100876
+532 2.655 -0.0526392154611 0.0450550288711
+533 2.66 -0.0528652642134 0.045364899494
+534 2.665 -0.0530928687516 0.0456773474856
+535 2.67 -0.0533220420269 0.0459923986687
+536 2.675 -0.0535527971205 0.0463100791636
+537 2.68 -0.0537851472447 0.0466304153918
+538 2.685 -0.0540191057451 0.0469534340798
+539 2.69 -0.0542546861014 0.0472791622635
+540 2.695 -0.0544919019292 0.0476076272918
+541 2.7 -0.0547307669818 0.0479388568311
+542 2.705 -0.0549712951516 0.0482728788689
+543 2.71 -0.0552135004718 0.0486097217187
+544 2.715 -0.0554573971179 0.0489494140237
+545 2.72 -0.0557029994094 0.0492919847616
+546 2.725 -0.0559503218117 0.0496374632485
+547 2.73 -0.0561993789375 0.049985879144
+548 2.735 -0.0564501855488 0.0503372624549
+549 2.74 -0.0567027565584 0.0506916435408
+550 2.745 -0.0569571070317 0.0510490531179
+551 2.75 -0.0572132521888 0.0514095222643
+552 2.755 -0.057471207406 0.0517730824244
+553 2.76 -0.0577309882178 0.0521397654141
+554 2.765 -0.0579926103185 0.0525096034255
+555 2.77 -0.0582560895646 0.0528826290321
+556 2.775 -0.0585214419764 0.0532588751939
+557 2.78 -0.0587886837397 0.0536383752624
+558 2.785 -0.0590578312084 0.054021162986
+559 2.79 -0.0593289009059 0.0544072725151
+560 2.795 -0.0596019095275 0.0547967384078
+561 2.8 -0.0598768739422 0.0551895956353
+562 2.805 -0.060153811195 0.0555858795873
+563 2.81 -0.0604327385089 0.0559856260778
+564 2.815 -0.0607136732871 0.0563888713509
+565 2.82 -0.0609966331149 0.0567956520862
+566 2.825 -0.0612816357622 0.0572060054054
+567 2.83 -0.0615686991858 0.0576199688775
+568 2.835 -0.0618578415313 0.0580375805256
+569 2.84 -0.0621490811355 0.0584588788326
+570 2.845 -0.0624424365289 0.0588839027477
+571 2.85 -0.062737926438 0.0593126916926
+572 2.855 -0.0630355697874 0.059745285568
+573 2.86 -0.0633353857025 0.0601817247602
+574 2.865 -0.0636373935119 0.0606220501479
+575 2.87 -0.0639416127499 0.0610663031085
+576 2.875 -0.0642480631587 0.0615145255255
+577 2.88 -0.0645567646915 0.061966759795
+578 2.885 -0.0648677375146 0.062423048833
+579 2.89 -0.0651810020102 0.0628834360827
+580 2.895 -0.0654965787791 0.0633479655213
+581 2.9 -0.0658144886432 0.0638166816678
+582 2.905 -0.0661347526487 0.0642896295906
+583 2.91 -0.0664573920681 0.0647668549147
+584 2.915 -0.0667824284038 0.0652484038296
+585 2.92 -0.0671098833903 0.0657343230973
+586 2.925 -0.0674397789975 0.0662246600603
+587 2.93 -0.0677721374336 0.0667194626491
+588 2.935 -0.0681069811476 0.0672187793915
+589 2.94 -0.0684443328329 0.0677226594197
+590 2.945 -0.0687842154301 0.0682311524798
+591 2.95 -0.06912665213 0.0687443089398
+592 2.955 -0.0694716663768 0.0692621797986
+593 2.96 -0.0698192818714 0.0697848166948
+594 2.965 -0.0701695225743 0.0703122719156
+595 2.97 -0.0705224127093 0.0708445984062
+596 2.975 -0.0708779767664 0.0713818497788
+597 2.98 -0.0712362395056 0.0719240803221
+598 2.985 -0.0715972259599 0.0724713450112
+599 2.99 -0.0719609614387 0.0730236995168
+600 2.995 -0.072327471532 0.0735812002155
+601 3.0 -0.072696782113 0.0741439041996
+602 3.005 -0.0730689193424 0.0747118692875
+603 3.01 -0.0734439096719 0.0752851540336
+604 3.015 -0.0738217798477 0.0758638177395
+605 3.02 -0.0742025569143 0.076447920464
+606 3.025 -0.0745862682187 0.0770375230344
+607 3.03 -0.0749729414137 0.0776326870572
+608 3.035 -0.0753626044623 0.0782334749297
+609 3.04 -0.0757552856414 0.0788399498508
+610 3.045 -0.0761510135458 0.0794521758329
+611 3.05 -0.0765498170928 0.0800702177136
+612 3.055 -0.0769517255256 0.0806941411676
+613 3.06 -0.0773567684179 0.0813240127186
+614 3.065 -0.0777649756785 0.0819598997517
+615 3.07 -0.078176377555 0.0826018705261
+616 3.075 -0.0785910046385 0.0832499941874
+617 3.08 -0.0790088878683 0.0839043407808
+618 3.085 -0.0794300585361 0.0845649812639
+619 3.09 -0.0798545482906 0.0852319875201
+620 3.095 -0.0802823891422 0.0859054323723
+621 3.1 -0.0807136134682 0.0865853895963
+622 3.105 -0.0811482540167 0.0872719339348
+623 3.11 -0.0815863439122 0.0879651411118
+624 3.115 -0.0820279166603 0.0886650878468
+625 3.12 -0.0824730061528 0.0893718518691
+626 3.125 -0.0829216466724 0.0900855119335
+627 3.13 -0.0833738728984 0.0908061478343
+628 3.135 -0.0838297199118 0.0915338404215
+629 3.14 -0.0842892232003 0.0922686716159
+630 3.145 -0.0847524186639 0.0930107244251
+631 3.15 -0.0852193426207 0.0937600829595
+632 3.155 -0.0856900318117 0.0945168324488
+633 3.16 -0.0861645234073 0.0952810592582
+634 3.165 -0.0866428550123 0.0960528509057
+635 3.17 -0.0871250646721 0.0968322960791
+636 3.175 -0.0876111908787 0.0976194846531
+637 3.18 -0.0881012725761 0.0984145077076
+638 3.185 -0.088595349167 0.0992174575452
+639 3.19 -0.0890934605187 0.100028427709
+640 3.195 -0.0895956469692 0.100847513004
+641 3.2 -0.090101949334 0.10167480951
+642 3.205 -0.0906124089119 0.102510414608
+643 3.21 -0.0911270674921 0.103354426995
+644 3.215 -0.0916459673607 0.104206946703
+645 3.22 -0.092169151307 0.105068075125
+646 3.225 -0.092696662631 0.105937915029
+647 3.23 -0.0932285451499 0.106816570581
+648 3.235 -0.0937648432054 0.107704147368
+649 3.24 -0.0943056016706 0.108600752417
+650 3.245 -0.0948508659574 0.109506494219
+651 3.25 -0.0954006820239 0.110421482747
+652 3.255 -0.0959550963818 0.111345829486
+653 3.26 -0.0965141561041 0.112279647447
+654 3.265 -0.0970779088325 0.113223051197
+655 3.27 -0.0976464027858 0.11417615688
+656 3.275 -0.0982196867674 0.115139082241
+657 3.28 -0.0987978101732 0.116111946652
+658 3.285 -0.0993808230006 0.117094871132
+659 3.29 -0.0999687758558 0.118087978381
+660 3.295 -0.100561719963 0.119091392797
+661 3.3 -0.101159707172 0.120105240507
+662 3.305 -0.10176278997 0.121129649392
+663 3.31 -0.102371021484 0.122164749113
+664 3.315 -0.102984455498 0.123210671142
+665 3.32 -0.103603146455 0.124267548785
+666 3.325 -0.10422714947 0.125335517213
+667 3.33 -0.10485652034 0.126414713492
+668 3.335 -0.10549131555 0.127505276609
+669 3.34 -0.106131592286 0.128607347503
+670 3.345 -0.106777408443 0.129721069099
+671 3.35 -0.107428822636 0.13084658633
+672 3.355 -0.10808589421 0.131984046179
+673 3.36 -0.10874868325 0.1331335977
+674 3.365 -0.109417250592 0.134295392061
+675 3.37 -0.110091657831 0.135469582566
+676 3.375 -0.110771967337 0.136656324697
+677 3.38 -0.11145824226 0.137855776144
+678 3.385 -0.112150546547 0.139068096839
+679 3.39 -0.112848944948 0.140293448992
+680 3.395 -0.11355350303 0.141531997128
+681 3.4 -0.11426428719 0.14278390812
+682 3.405 -0.114981364665 0.144049351229
+683 3.41 -0.115704803542 0.145328498138
+684 3.415 -0.116434672776 0.146621522993
+685 3.42 -0.117171042196 0.14792860244
+686 3.425 -0.117913982523 0.149249915665
+687 3.43 -0.118663565378 0.150585644435
+688 3.435 -0.1194198633 0.151935973133
+689 3.44 -0.120182949755 0.153301088807
+690 3.445 -0.120952899149 0.154681181208
+691 3.45 -0.121729786849 0.15607644283
+692 3.455 -0.122513689185 0.15748706896
+693 3.46 -0.123304683476 0.158913257716
+694 3.465 -0.124102848035 0.160355210092
+695 3.47 -0.124908262189 0.161813130009
+696 3.475 -0.125721006292 0.163287224355
+697 3.48 -0.12654116174 0.164777703034
+698 3.485 -0.127368810984 0.166284779018
+699 3.49 -0.128204037552 0.167808668386
+700 3.495 -0.129046926056 0.169349590382
+701 3.5 -0.129897562214 0.170907767463
+702 3.505 -0.130756032865 0.172483425346
+703 3.51 -0.131622425984 0.174076793065
+704 3.515 -0.132496830699 0.17568810302
+705 3.52 -0.13337933731 0.177317591031
+706 3.525 -0.134270037305 0.178965496396
+707 3.53 -0.135169023375 0.180632061939
+708 3.535 -0.136076389435 0.182317534072
+709 3.54 -0.136992230643 0.184022162851
+710 3.545 -0.137916643414 0.185746202031
+711 3.55 -0.138849725443 0.187489909128
+712 3.555 -0.13979157572 0.189253545477
+713 3.56 -0.140742294555 0.191037376294
+714 3.565 -0.141701983589 0.192841670736
+715 3.57 -0.142670745823 0.194666701964
+716 3.575 -0.143648685632 0.196512747208
+717 3.58 -0.144635908787 0.198380087831
+718 3.585 -0.145632522478 0.200269009394
+719 3.59 -0.146638635332 0.202179801723
+720 3.595 -0.147654357437 0.204112758976
+721 3.6 -0.148679800361 0.206068179714
+722 3.605 -0.149715077178 0.20804636697
+723 3.61 -0.150760302487 0.210047628318
+724 3.615 -0.151815592438 0.212072275946
+725 3.62 -0.152881064752 0.214120626731
+726 3.625 -0.153956838746 0.216193002312
+727 3.63 -0.15504303536 0.218289729165
+728 3.635 -0.156139777175 0.22041113868
+729 3.64 -0.157247188445 0.222557567237
+730 3.645 -0.158365395115 0.22472935629
+731 3.65 -0.159494524853 0.226926852439
+732 3.655 -0.160634707071 0.22915040752
+733 3.66 -0.161786072954 0.231400378681
+734 3.665 -0.162948755488 0.233677128469
+735 3.67 -0.164122889483 0.235981024912
+736 3.675 -0.165308611604 0.238312441609
+737 3.68 -0.166506060398 0.240671757814
+738 3.685 -0.167715376323 0.243059358527
+739 3.69 -0.168936701775 0.245475634581
+740 3.695 -0.170170181122 0.247920982739
+741 3.7 -0.171415960727 0.250395805777
+742 3.705 -0.172674188986 0.252900512587
+743 3.71 -0.173945016351 0.255435518267
+744 3.715 -0.175228595368 0.258001244218
+745 3.72 -0.176525080706 0.260598118242
+746 3.725 -0.177834629188 0.263226574642
+747 3.73 -0.179157399824 0.265887054319
+748 3.735 -0.180493553849 0.268580004878
+749 3.74 -0.181843254748 0.271305880726
+750 3.745 -0.1832066683 0.27406514318
+751 3.75 -0.184583962604 0.276858260569
+752 3.755 -0.185975308122 0.279685708345
+753 3.76 -0.187380877709 0.282547969188
+754 3.765 -0.188800846652 0.285445533112
+755 3.77 -0.190235392708 0.288378897585
+756 3.775 -0.191684696137 0.291348567631
+757 3.78 -0.193148939747 0.294355055948
+758 3.785 -0.194628308927 0.297398883023
+759 3.79 -0.196122991689 0.300480577245
+760 3.795 -0.197633178705 0.303600675021
+761 3.8 -0.199159063352 0.306759720899
+762 3.805 -0.200700841749 0.309958267681
+763 3.81 -0.202258712799 0.313196876548
+764 3.815 -0.203832878233 0.316476117178
+765 3.82 -0.205423542653 0.319796567869
+766 3.825 -0.207030913573 0.323158815667
+767 3.83 -0.208655201465 0.326563456482
+768 3.835 -0.210296619801 0.330011095221
+769 3.84 -0.211955385103 0.333502345911
+770 3.845 -0.213631716985 0.337037831826
+771 3.85 -0.2153258382 0.340618185618
+772 3.855 -0.21703797469 0.344244049441
+773 3.86 -0.218768355631 0.347916075085
+774 3.865 -0.22051721348 0.351634924104
+775 3.87 -0.222284784029 0.355401267945
+776 3.875 -0.224071306452 0.359215788086
+777 3.88 -0.225877023356 0.363079176157
+778 3.885 -0.22770218083 0.366992134082
+779 3.89 -0.2295470285 0.370955374206
+780 3.895 -0.23141181958 0.374969619426
+781 3.9 -0.233296810925 0.379035603328
+782 3.905 -0.235202263084 0.383154070315
+783 3.91 -0.237128440358 0.38732577574
+784 3.915 -0.239075610849 0.391551486037
+785 3.92 -0.241044046522 0.395831978854
+786 3.925 -0.243034023256 0.40016804318
+787 3.93 -0.245045820906 0.404560479478
+788 3.935 -0.247079723357 0.409010099809
+789 3.94 -0.249136018583 0.413517727963
+790 3.945 -0.251214998709 0.418084199581
+791 3.95 -0.253316960064 0.422710362284
+792 3.955 -0.255442203249 0.427397075789
+793 3.96 -0.257591033192 0.432145212035
+794 3.965 -0.259763759213 0.436955655296
+795 3.97 -0.261960695084 0.441829302299
+796 3.975 -0.264182159091 0.446767062333
+797 3.98 -0.266428474098 0.451769857364
+798 3.985 -0.268699967613 0.456838622132
+799 3.99 -0.270996971848 0.46197430426
+800 3.995 -0.273319823785 0.467177864346
+801 4.0 -0.275668865243 0.47245027606
+802 4.005 -0.278044442942 0.477792526225
+803 4.01 -0.280446908569 0.483205614907
+804 4.015 -0.282876618844 0.488690555486
+805 4.02 -0.285333935588 0.494248374726
+806 4.025 -0.287819225788 0.499880112838
+807 4.03 -0.290332861669 0.505586823538
+808 4.035 -0.292875220756 0.511369574089
+809 4.04 -0.295446685944 0.517229445342
+810 4.045 -0.298047645567 0.523167531767
+811 4.05 -0.300678493466 0.529184941468
+812 4.055 -0.303339629056 0.535282796195
+813 4.06 -0.306031457395 0.541462231336
+814 4.065 -0.308754389251 0.547724395906
+815 4.07 -0.311508841173 0.554070452518
+816 4.075 -0.314295235556 0.560501577335
+817 4.08 -0.317114000709 0.567018960018
+818 4.085 -0.319965570924 0.573623803648
+819 4.09 -0.32285038654 0.580317324637
+820 4.095 -0.325768894014 0.587100752618
+821 4.1 -0.328721545982 0.593975330315
+822 4.105 -0.331708801326 0.600942313394
+823 4.11 -0.334731125238 0.608002970291
+824 4.115 -0.337788989286 0.615158582019
+825 4.12 -0.340882871472 0.622410441943
+826 4.125 -0.344013256294 0.629759855538
+827 4.13 -0.347180634811 0.63720814011
+828 4.135 -0.350385504695 0.644756624497
+829 4.14 -0.353628370289 0.652406648722
+830 4.145 -0.356909742666 0.660159563634
+831 4.15 -0.360230139678 0.668016730494
+832 4.155 -0.363590086009 0.675979520531
+833 4.16 -0.366990113222 0.684049314461
+834 4.165 -0.370430759809 0.692227501954
+835 4.17 -0.373912571228 0.700515481066
+836 4.175 -0.377436099948 0.708914657613
+837 4.18 -0.381001905487 0.717426444503
+838 4.185 -0.384610554442 0.726052261004
+839 4.19 -0.388262620521 0.734793531967
+840 4.195 -0.391958684568 0.743651686977
+841 4.2 -0.395699334586 0.752628159445
+842 4.205 -0.399485165752 0.761724385632
+843 4.21 -0.403316780429 0.7709418036
+844 4.215 -0.407194788172 0.780281852088
+845 4.22 -0.411119805731 0.789745969306
+846 4.225 -0.415092457041 0.799335591639
+847 4.23 -0.419113373212 0.809052152272
+848 4.235 -0.423183192509 0.81889707971
+849 4.24 -0.427302560324 0.828871796197
+850 4.245 -0.431472129143 0.838977716032
+851 4.25 -0.435692558498 0.849216243769
+852 4.255 -0.439964514917 0.859588772296
+853 4.26 -0.444288671856 0.870096680792
+854 4.265 -0.448665709631 0.880741332542
+855 4.27 -0.453096315329 0.891524072616
+856 4.275 -0.457581182713 0.902446225396
+857 4.28 -0.462121012108 0.913509091945
+858 4.285 -0.466716510282 0.924713947201
+859 4.29 -0.471368390306 0.936062037005
+860 4.295 -0.476077371401 0.947554574933
+861 4.3 -0.480844178767 0.959192738927
+862 4.305 -0.4856695434 0.970977667723
+863 4.31 -0.490554201881 0.982910457054
+864 4.315 -0.495498896156 0.994992155608
+865 4.32 -0.500504373285 1.00722376076
+866 4.325 -0.50557138518 1.019606214
+867 4.33 -0.51070068831 1.03214039614
+868 4.335 -0.515893043385 1.04482712218
+869 4.34 -0.521149215016 1.05766713585
+870 4.345 -0.526469971339 1.07066110392
+871 4.35 -0.531856083623 1.08380961
+872 4.355 -0.537308325831 1.09711314813
+873 4.36 -0.542827474159 1.11057211588
+874 4.365 -0.548414306535 1.12418680708
+875 4.37 -0.55406960208 1.1379574041
+876 4.375 -0.559794140531 1.15188396965
+877 4.38 -0.565588701622 1.16596643814
+878 4.385 -0.57145406442 1.18020460647
+879 4.39 -0.577391006612 1.19459812431
+880 4.395 -0.583400303742 1.20914648375
+881 4.4 -0.589482728401 1.22384900844
+882 4.405 -0.595639049352 1.23870484192
+883 4.41 -0.601870030599 1.25371293544
+884 4.415 -0.608176430395 1.26887203492
+885 4.42 -0.614559000182 1.28418066719
+886 4.425 -0.621018483457 1.29963712541
+887 4.43 -0.627555614568 1.31523945365
+888 4.435 -0.634171117424 1.33098543049
+889 4.44 -0.64086570413 1.34687255174
+890 4.445 -0.647640073524 1.36289801205
+891 4.45 -0.654494909625 1.37905868549
+892 4.455 -0.661430879976 1.39535110493
+893 4.46 -0.668448633889 1.41177144029
+894 4.465 -0.675548800568 1.42831547536
+895 4.47 -0.682731987121 1.44497858338
+896 4.475 -0.689998776444 1.4617557011
+897 4.48 -0.697349724964 1.4786413013
+898 4.485 -0.704785360256 1.49562936372
+899 4.49 -0.712306178496 1.5127133442
+900 4.495 -0.71991264176 1.52988614206
+901 4.5 -0.72760517516 1.54714006548
+902 4.505 -0.735384163795 1.56446679483
+903 4.51 -0.743249949514 1.58185734382
+904 4.515 -0.751202827484 1.59930201832
+905 4.52 -0.759243042541 1.61679037275
+906 4.525 -0.767370785319 1.63431116379
+907 4.53 -0.77558618814 1.65185230141
+908 4.535 -0.78388932065 1.66940079684
+909 4.54 -0.79228018519 1.68694270756
+910 4.545 -0.800758711886 1.70446307883
+911 4.55 -0.809324753428 1.72194588179
+912 4.555 -0.817978079543 1.73937394779
+913 4.56 -0.826718371119 1.75672889875
+914 4.565 -0.835545213978 1.77399107329
+915 4.57 -0.844458092266 1.79113944839
+916 4.575 -0.853456381435 1.80815155628
+917 4.58 -0.862539340806 1.82500339624
+918 4.585 -0.871706105668 1.84166934106
+919 4.59 -0.880955678905 1.85812203774
+920 4.595 -0.8902869221 1.87433230212
+921 4.6 -0.899698546108 1.89026900701
+922 4.605 -0.909189101044 1.90589896347
+923 4.61 -0.918756965663 1.92118679472
+924 4.615 -0.928400336089 1.93609480232
+925 4.62 -0.938117213855 1.95058282394
+926 4.625 -0.94790539321 1.96460808242
+927 4.63 -0.95776244765 1.97812502534
+928 4.635 -0.967685715614 1.9910851546
+929 4.64 -0.977672285316 2.00343684534
+930 4.645 -0.987718978626 2.01512515349
+931 4.65 -0.997822333974 2.0260916112
+932 4.655 -1.00797858819 2.03627400941
+933 4.66 -1.01818365723 2.0456061666
+934 4.665 -1.02843311571 2.05401768294
+935 4.67 -1.03872217513 2.06143367876
+936 4.675 -1.04904566084 2.06777451638
+937 4.68 -1.05939798751 2.07295550412
+938 4.685 -1.06977313302 2.07688658137
+939 4.69 -1.08016461086 2.07947198337
+940 4.695 -1.09056544071 2.08060988437
+941 4.7 -1.10096811714 2.08019201773
+942 4.705 -1.11136457649 2.07810327136
+943 4.71 -1.1217461615 2.07422125684
+944 4.715 -1.13210358386 2.06841585038
+945 4.72 -1.14242688426 2.06054870374
+946 4.725 -1.15270539002 2.05047272306
+947 4.73 -1.16292766999 2.03803151329
+948 4.735 -1.17308148655 2.02305878586
+949 4.74 -1.18315374459 2.00537772722
+950 4.745 -1.19313043724 1.98480032515
+951 4.75 -1.20299658809 1.96112665025
+952 4.755 -1.21273618968 1.93414408924
+953 4.76 -1.22233213811 1.90362652669
+954 4.765 -1.23176616331 1.86933347163
+955 4.77 -1.24101875491 1.83100912501
+956 4.775 -1.2500690832 1.78838138382
+957 4.78 -1.258894915 1.74116077734
+958 4.785 -1.267472524 1.68903933065
+959 4.79 -1.27577659525 1.63168935008
+960 4.795 -1.28378012334 1.56876212507
+961 4.8 -1.2914543039 1.49988654016
+962 4.805 -1.29876841788 1.42466759075
+963 4.81 -1.30568970824 1.34268479539
+964 4.815 -1.31218324828 1.25349049712
+965 4.82 -1.31821180134 1.15660804558
+966 4.825 -1.32373567099 1.05152985099
+967 4.83 -1.32871254121 0.93771530055
+968 4.835 -1.33309730572 0.814588526929
+969 4.84 -1.33684188582 0.681536017635
+970 4.845 -1.33989503585 0.537904053371
+971 4.85 -1.34220213536 0.382995962332
+972 4.855 -1.34370496704 0.216069176468
+973 4.86 -1.34434147951 0.0363320745594
+974 4.865 -1.34404553361 -0.157059404273
+975 4.87 -1.34274663128 -0.365005394306
+976 4.875 -1.34036962553 -0.588466003368
+977 4.88 -1.33683441024 -0.828465500116
+978 4.885 -1.33205558825 -1.08609681088
+979 4.89 -1.32594211612 -1.36252635035
+980 4.895 -1.31839692389 -1.65899921243
+981 4.9 -1.30931650788 -1.97684474978
+982 4.905 -1.29859049462 -2.31748257288
+983 4.91 -1.28610117356 -2.68242900227
+984 4.915 -1.27172299647 -3.07330401019
+985 4.92 -1.25532204062 -3.4918386911
+986 4.925 -1.23675543343 -3.93988330397
+987 4.93 -1.21587073517 -4.41941593278
+988 4.935 -1.19250527685 -4.93255181575
+989 4.94 -1.16648544962 -5.48155339828
+990 4.945 -1.13762594198 -6.06884116921
+991 4.95 -1.10572892071 -6.69700534538
+992 4.955 -1.07058315115 -7.36881847509
+993 4.96 -1.03196305193 -8.08724903738
+994 4.965 -0.989627679145 -8.85547612082
+995 4.97 -0.943319634133 -9.67690527303
+996 4.975 -0.892763888973 -10.5551856203
+997 4.98 -0.837666522926 -11.4942283658
+998 4.985 -0.77771336272 -12.498226784
+999 4.99 -0.712568518846 -13.5716778411
+1000 4.995 -0.641872809399 -14.7194055819
+1001 5.0 -0.565242062256 -15.9465864356
+1002 5.005 -0.482265285572 -17.2587766109
+1003 5.01 -0.392502695703 -18.6619417618
+1004 5.015 -0.295483590714 -20.1624891252
+1005 5.02 -0.190704056557 -21.7673023508
+1006 5.025 -0.0776244918804 -23.4837792622
+1007 5.03 0.044333063847 -25.3198728136
+1008 5.035 0.175787815566 -27.2841355285
+1009 5.04 0.317403329421 -29.3857677386
+1010 5.045 0.469890900953 -31.6346699663
+1011 5.05 0.634013196354 -34.0414998331
+1012 5.055 0.810588190438 -36.6177339091
+1013 5.06 1.00049342715 -39.3757349624
+1014 5.065 1.20467063088 -42.3288251097
+1015 5.07 1.42413069938 -45.4913654226
+1016 5.075 1.65995911215 -48.8788425956
+1017 5.08 1.91332179119 -52.5079633448
+1018 5.085 2.18547145457 -56.3967572736
+1019 5.09 2.47775450717 -60.5646890155
+1020 5.095 2.79161851719 -65.0327805461
+1021 5.1 3.12862033165 -69.8237446502
+1022 5.105 3.49043488938 -74.9621306288
+1023 5.11 3.87886479557 -80.4744834443
+1024 5.115 4.29585072846 -86.3895176278
+1025 5.12 4.74348275533 -92.7383074106
+1026 5.125 5.22401264325 -99.5544946944
+1027 5.13 5.73986725775 -106.87451665
+1028 5.135 6.29366315281 -114.737854923
+1029 5.14 6.8882224653 -123.18730863
+1030 5.145 7.52659023892 -132.26929359
+1031 5.15 8.21205331545 -142.034170457
+1032 5.155 8.94816094502 -152.536604761
+1033 5.16 9.73874728327 -163.835962162
+1034 5.165 10.5879559603 -175.996742589
+1035 5.17 11.5002669259 -189.089057369
+1036 5.175 12.4805257976 -203.189153881
+1037 5.18 13.5339759609 -218.379992806
+1038 5.185 14.6662936987 -234.751883587
+1039 5.19 15.8836266573 -252.403184411
+1040 5.195 17.1926359869 -271.44107367
+1041 5.2 18.6005425349 -291.982400745
+1042 5.205 20.1151775097 -314.154624805
+1043 5.21 21.7450380773 -338.096851371
+1044 5.215 23.4993484093 -363.960977527
+1045 5.22 25.3881267519 -391.912957955
+1046 5.225 27.4222591567 -422.134205425
+1047 5.23 29.6135805806 -454.823141013
+1048 5.235 31.9749641465 -490.196911175
+1049 5.24 34.5204194465 -528.493290872
+1050 5.245 37.2652008698 -569.972794324
+1051 5.25 40.2259270534 -614.921017618
+1052 5.255 43.420712682 -663.651240426
+1053 5.26 46.8693140065 -716.507317483
+1054 5.265 50.5932896164 -773.866894362
+1055 5.27 54.616178181 -836.14498648
+1056 5.275 58.9636950846 -903.797965209
+1057 5.28 63.6639501118 -977.328000686
+1058 5.285 68.747688604 -1057.2880173
+1059 5.29 74.2485588048 -1144.28722519
+1060 5.295 80.2034084511 -1238.99729941
+1061 5.3 86.6526140455 -1342.159288
+1062 5.305 93.6404466809 -1454.59134086
+1063 5.31 101.215478776 -1577.19736408
+1064 5.315 109.431036641 -1710.97671817
+1065 5.32 118.34570442 -1857.03509508
+1066 5.325 128.023885682 -2016.59672751
+1067 5.33 138.536429746 -2191.01810522
+1068 5.335 149.961330771 -2381.80339751
+1069 5.34 162.384508682 -2590.62180929
+1070 5.345 175.900682252 -2819.32713038
+1071 5.35 190.614346018 -3069.97977484
+1072 5.355 206.640864322 -3344.87165027
+1073 5.36 224.107697564 -3646.55424631
+1074 5.365 243.155777879 -3977.87038879
+1075 5.37 263.94105378 -4341.99017232
+1076 5.375 286.636226144 -4742.45166023
+1077 5.38 311.432700984 -5183.20703007
+1078 5.385 338.542788186 -5668.67494529
+1079 5.39 368.202179507 -6203.80005377
+1080 5.395 400.672744018 -6794.12065257
+1081 5.4 436.245684759 -7445.84572074
+1082 5.405 475.24510682 -8165.94271045
+1083 5.41 518.032054593 -8962.23770766
+1084 5.415 565.009084574 -9843.52983097
+1085 5.42 616.625450212 -10819.7220392
+1086 5.425 673.382986997 -11901.9708721
+1087 5.43 735.842799605 -13102.8580625
+1088 5.435 804.63286882 -14436.5874481
+1089 5.44 880.456714455 -15919.2111828
+1090 5.445 964.103272175 -17568.8899241
+1091 5.45 1056.45816742 -19406.1924747
+1092 5.455 1158.5165993 -21454.4412936
+1093 5.46 1271.39808224 -23740.1114163
+1094 5.465 1396.36333377 -26293.2916416
+1095 5.47 1534.83364542 -29148.2184174
+1096 5.475 1688.41312989 -32343.8947285
+1097 5.48 1858.91430495 -35924.8085125
+1098 5.485 2048.38755344 -39941.7677902
+1099 5.49 2259.15509234 -44452.8728701
+1100 5.495 2493.85019506 -49524.6497873
+1101 5.5 2755.46254268 -55233.3736945
+1102 5.505 3047.39073711 -61666.616398
+1103 5.51 3373.50319557 -68925.0588203
+1104 5.515 3738.20886949 -77124.6171126
+1105 5.52 4146.5394972 -86398.9407376
+1106 5.525 4604.24542007 -96902.3524517
+1107 5.53 5117.90737492 -108813.314199
+1108 5.535 5695.06713732 -122338.52003
+1109 5.54 6344.38044627 -137717.737992
+1110 5.545 7075.79631164 -155229.548338
+1111 5.55 7900.76761787 -175198.156456
+1112 5.555 8832.49892104 -198001.497004
+1113 5.56 9886.23853195 -224080.892415
+1114 5.565 11079.6234321 -253952.586497
+1115 5.57 12433.0873442 -288221.54474
+1116 5.575 13970.3444496 -327598.000683
+1117 5.58 15718.9639006 -372917.336362
+1118 5.585 17711.0535455 -425164.019948
+1119 5.59 19984.0753011 -485500.491894
+1120 5.595 22581.8195717 -555302.100981
+1121 5.6 25555.5722525 -636199.454754
+1122 5.605 28965.5154724 -730129.879058
+1123 5.61 32882.4127048 -839400.097247
+1124 5.615 37389.6406876 -966762.764619
+1125 5.62 42585.6453685 -1115510.15847
+1126 5.625 48586.9176207 -1289589.16849
+1127 5.63 55531.6077773 -1493742.80799
+1128 5.635 63583.9274287 -1733684.84106
+1129 5.64 72939.5241308 -2016315.88337
+1130 5.645 83832.0618829 -2349991.60166
+1131 5.65 96541.300368 -2744856.56324
+1132 5.655 111403.042767 -3213261.07776
+1133 5.66 128821.420452 -3770283.30061
+1134 5.665 149284.109551 -4434385.29693
+1135 5.67 173381.238005 -5228240.185
+1136 5.675 201828.953692 -6179778.54971
+1137 5.68 235498.900026 -7323516.93224
+1138 5.685 275455.2056 -8702250.57742
+1139 5.69 323001.06674 -10369218.4143
+1140 5.695 379737.623748 -12390882.7371
+1141 5.7 447638.654038 -14850512.384
+1142 5.705 529145.697826 -17852820.7393
+1143 5.71 627289.689791 -21529994.6762
+1144 5.715 745847.124656 -26049566.1236
+1145 5.72 889541.417924 -31624736.2614
+1146 5.725 1064303.6889 -38527980.3963
+1147 5.73 1277612.0471 -47109063.5591
+1148 5.735 1538935.10642 -57819017.4811
+1149 5.74 1860314.59485 -71242218.9505
+1150 5.745 2257134.5845 -88139540.3817
+1151 5.75 2749142.49547 -109506722.176
+1152 5.755 3361811.73098 -136653799.897
+1153 5.76 4128170.65016 -171313840.077
+1154 5.765 5091272.07333 -215792744.495
+1155 5.77 6307548.29223 -273176998.31
+1156 5.775 7851398.52158 -347623759.363
+1157 5.78 9821503.74726 -444768835.455
+1158 5.785 12349580.5127 -572304762.479
+1159 5.79 15612604.744 -740806327.342
+1160 5.795 19850012.3018 -964919124.004
+1161 5.8 25388097.1921 -1265085490.72
+1162 5.805 32674911.255 -1670073366.45
+1163 5.81 42330627.3386 -2220716617.13
+1164 5.815 55220893.742 -2975502155.22
+1165 5.82 72564721.5485 -4019002953.22
+1166 5.825 96094798.4335 -5474746758.15
+1167 5.83 128298297.388 -7525081897.32
+1168 5.835 172782757.396 -10442221387.6
+1169 5.84 234838762.891 -14637386017.7
+1170 5.845 322316442.616 -20739670704.4
+1171 5.85 447009526.718 -29724465089.5
+1172 5.855 626872755.056 -43125823862.6
+1173 5.86 889629660.718 -63393502739.0
+1174 5.865 1278740106.83 -94503868935.1
+1175 5.87 1863446791.23 -1.43025101229e+11
+1176 5.875 2756012237.96 -2.20012469835e+11
+1177 5.88 4141901662.1 -3.44454801129e+11
+1178 5.885 6333810219.82 -5.49690750348e+11
+1179 5.89 9870702215.02 -8.95661856872e+11
+1180 5.895 15704120493.1 -1.49296797827e+12
+1181 5.9 25558689542.6 -2.55153879404e+12
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/moltemplate_files/table_chaperonin_h=0.dat b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/moltemplate_files/table_chaperonin_h=0.dat
new file mode 100644
index 000000000..2ad6d7b69
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/moltemplate_files/table_chaperonin_h=0.dat
@@ -0,0 +1,1187 @@
+# Interaction between a chaperonin wall and hydrophilic beads (type L or N, h=0)
+
+CH_H0
+N 1181 R 0.00000000001 5.9
+
+1 0.00000000001 8.31299178857e-07 0.0
+2 0.005 8.31311879342e-07 -5.08022586688e-09
+3 0.01 8.31349981758e-07 -1.01608369733e-08
+4 0.015 8.31413488996e-07 -1.52422186449e-08
+5 0.02 8.31502405871e-07 -2.03247562721e-08
+6 0.025 8.31616739127e-07 -2.54088353865e-08
+7 0.03 8.31756497437e-07 -3.04948417048e-08
+8 0.035 8.319216914e-07 -3.55831611709e-08
+9 0.04 8.32112333547e-07 -4.06741800058e-08
+10 0.045 8.32328438343e-07 -4.57682847516e-08
+11 0.05 8.32570022183e-07 -5.08658623183e-08
+12 0.055 8.328371034e-07 -5.59673000292e-08
+13 0.06 8.33129702263e-07 -6.10729856679e-08
+14 0.065 8.33447840983e-07 -6.61833075238e-08
+15 0.07 8.33791543713e-07 -7.12986544391e-08
+16 0.075 8.34160836552e-07 -7.64194158551e-08
+17 0.08 8.34555747546e-07 -8.15459818584e-08
+18 0.085 8.34976306696e-07 -8.66787432278e-08
+19 0.09 8.35422545957e-07 -9.18180914814e-08
+20 0.095 8.35894499243e-07 -9.69644189231e-08
+21 0.1 8.36392202433e-07 -1.0211811869e-07
+22 0.105 8.36915693374e-07 -1.07279584798e-07
+23 0.11 8.37465011883e-07 -1.12449212192e-07
+24 0.115 8.38040199757e-07 -1.17627396792e-07
+25 0.12 8.38641300774e-07 -1.22814535539e-07
+26 0.125 8.392683607e-07 -1.28011026445e-07
+27 0.13 8.39921427291e-07 -1.33217268641e-07
+28 0.135 8.40600550305e-07 -1.38433662423e-07
+29 0.14 8.41305781504e-07 -1.43660609303e-07
+30 0.145 8.42037174658e-07 -1.48898512057e-07
+31 0.15 8.42794785557e-07 -1.54147774771e-07
+32 0.155 8.43578672015e-07 -1.59408802894e-07
+33 0.16 8.44388893873e-07 -1.64682003285e-07
+34 0.165 8.45225513015e-07 -1.69967784262e-07
+35 0.17 8.46088593367e-07 -1.75266555654e-07
+36 0.175 8.46978200908e-07 -1.80578728847e-07
+37 0.18 8.4789440368e-07 -1.85904716839e-07
+38 0.185 8.48837271792e-07 -1.91244934288e-07
+39 0.19 8.49806877432e-07 -1.96599797561e-07
+40 0.195 8.50803294874e-07 -2.01969724788e-07
+41 0.2 8.51826600486e-07 -2.07355135913e-07
+42 0.205 8.52876872743e-07 -2.12756452745e-07
+43 0.21 8.5395419223e-07 -2.18174099007e-07
+44 0.215 8.55058641658e-07 -2.23608500394e-07
+45 0.22 8.56190305871e-07 -2.29060084623e-07
+46 0.225 8.57349271858e-07 -2.34529281482e-07
+47 0.23 8.5853562876e-07 -2.40016522891e-07
+48 0.235 8.59749467885e-07 -2.4552224295e-07
+49 0.24 8.60990882715e-07 -2.51046877993e-07
+50 0.245 8.62259968921e-07 -2.56590866647e-07
+51 0.25 8.63556824372e-07 -2.62154649881e-07
+52 0.255 8.64881549149e-07 -2.67738671065e-07
+53 0.26 8.66234245555e-07 -2.73343376025e-07
+54 0.265 8.67615018129e-07 -2.78969213098e-07
+55 0.27 8.69023973658e-07 -2.84616633187e-07
+56 0.275 8.70461221189e-07 -2.90286089823e-07
+57 0.28 8.71926872044e-07 -2.95978039217e-07
+58 0.285 8.73421039834e-07 -3.0169294032e-07
+59 0.29 8.74943840469e-07 -3.07431254881e-07
+60 0.295 8.76495392179e-07 -3.13193447505e-07
+61 0.3 8.7807581552e-07 -3.18979985713e-07
+62 0.305 8.79685233396e-07 -3.24791340003e-07
+63 0.31 8.8132377107e-07 -3.30627983906e-07
+64 0.315 8.82991556179e-07 -3.36490394052e-07
+65 0.32 8.84688718753e-07 -3.42379050225e-07
+66 0.325 8.86415391229e-07 -3.48294435432e-07
+67 0.33 8.88171708466e-07 -3.54237035959e-07
+68 0.335 8.89957807764e-07 -3.60207341438e-07
+69 0.34 8.91773828877e-07 -3.66205844906e-07
+70 0.345 8.93619914037e-07 -3.72233042875e-07
+71 0.35 8.95496207963e-07 -3.78289435392e-07
+72 0.355 8.97402857887e-07 -3.84375526106e-07
+73 0.36 8.99340013567e-07 -3.90491822333e-07
+74 0.365 9.01307827305e-07 -3.96638835124e-07
+75 0.37 9.0330645397e-07 -4.02817079329e-07
+76 0.375 9.05336051015e-07 -4.09027073668e-07
+77 0.38 9.07396778494e-07 -4.152693408e-07
+78 0.385 9.09488799088e-07 -4.21544407387e-07
+79 0.39 9.11612278118e-07 -4.2785280417e-07
+80 0.395 9.13767383571e-07 -4.34195066035e-07
+81 0.4 9.15954286119e-07 -4.40571732086e-07
+82 0.405 9.18173159138e-07 -4.46983345718e-07
+83 0.41 9.20424178735e-07 -4.53430454687e-07
+84 0.415 9.22707523764e-07 -4.59913611186e-07
+85 0.42 9.25023375853e-07 -4.66433371919e-07
+86 0.425 9.27371919425e-07 -4.72990298174e-07
+87 0.43 9.29753341721e-07 -4.795849559e-07
+88 0.435 9.32167832821e-07 -4.86217915785e-07
+89 0.44 9.34615585674e-07 -4.9288975333e-07
+90 0.445 9.37096796117e-07 -4.99601048932e-07
+91 0.45 9.39611662902e-07 -5.0635238796e-07
+92 0.455 9.4216038772e-07 -5.13144360835e-07
+93 0.46 9.44743175226e-07 -5.19977563112e-07
+94 0.465 9.47360233068e-07 -5.26852595561e-07
+95 0.47 9.50011771908e-07 -5.33770064252e-07
+96 0.475 9.52698005456e-07 -5.40730580635e-07
+97 0.48 9.55419150489e-07 -5.47734761627e-07
+98 0.485 9.58175426884e-07 -5.54783229699e-07
+99 0.49 9.60967057644e-07 -5.61876612959e-07
+100 0.495 9.63794268928e-07 -5.69015545241e-07
+101 0.5 9.66657290077e-07 -5.76200666196e-07
+102 0.505 9.69556353647e-07 -5.83432621378e-07
+103 0.51 9.72491695434e-07 -5.90712062337e-07
+104 0.515 9.75463554509e-07 -5.9803964671e-07
+105 0.52 9.78472173246e-07 -6.05416038315e-07
+106 0.525 9.81517797354e-07 -6.12841907243e-07
+107 0.53 9.84600675908e-07 -6.20317929954e-07
+108 0.535 9.87721061381e-07 -6.27844789373e-07
+109 0.54 9.90879209678e-07 -6.3542317499e-07
+110 0.545 9.94075380168e-07 -6.43053782955e-07
+111 0.55 9.97309835716e-07 -6.50737316177e-07
+112 0.555 1.00058284272e-06 -6.58474484431e-07
+113 0.56 1.00389467115e-06 -6.66266004455e-07
+114 0.565 1.00724559456e-06 -6.74112600053e-07
+115 0.57 1.01063589016e-06 -6.82015002204e-07
+116 0.575 1.01406583882e-06 -6.89973949166e-07
+117 0.58 1.01753572513e-06 -6.97990186581e-07
+118 0.585 1.02104583743e-06 -7.06064467589e-07
+119 0.59 1.02459646782e-06 -7.14197552934e-07
+120 0.595 1.02818791224e-06 -7.22390211075e-07
+121 0.6 1.03182047051e-06 -7.30643218304e-07
+122 0.605 1.03549444631e-06 -7.38957358854e-07
+123 0.61 1.0392101473e-06 -7.47333425021e-07
+124 0.615 1.04296788511e-06 -7.55772217275e-07
+125 0.62 1.04676797537e-06 -7.64274544386e-07
+126 0.625 1.0506107378e-06 -7.72841223537e-07
+127 0.63 1.05449649623e-06 -7.81473080451e-07
+128 0.635 1.05842557863e-06 -7.90170949513e-07
+129 0.64 1.06239831715e-06 -7.98935673896e-07
+130 0.645 1.06641504821e-06 -8.07768105686e-07
+131 0.65 1.07047611249e-06 -8.1666910601e-07
+132 0.655 1.074581855e-06 -8.25639545171e-07
+133 0.66 1.07873262514e-06 -8.34680302772e-07
+134 0.665 1.08292877671e-06 -8.43792267857e-07
+135 0.67 1.08717066799e-06 -8.52976339042e-07
+136 0.675 1.09145866179e-06 -8.62233424653e-07
+137 0.68 1.09579312546e-06 -8.71564442867e-07
+138 0.685 1.10017443099e-06 -8.80970321849e-07
+139 0.69 1.10460295501e-06 -8.90451999898e-07
+140 0.695 1.1090790789e-06 -9.0001042559e-07
+141 0.7 1.11360318878e-06 -9.09646557926e-07
+142 0.705 1.1181756756e-06 -9.19361366479e-07
+143 0.71 1.1227969352e-06 -9.29155831544e-07
+144 0.715 1.12746736833e-06 -9.39030944294e-07
+145 0.72 1.13218738073e-06 -9.48987706931e-07
+146 0.725 1.13695738317e-06 -9.59027132844e-07
+147 0.73 1.14177779154e-06 -9.6915024677e-07
+148 0.735 1.14664902685e-06 -9.79358084952e-07
+149 0.74 1.15157151534e-06 -9.89651695304e-07
+150 0.745 1.15654568852e-06 -1.00003213758e-06
+151 0.75 1.16157198322e-06 -1.01050048352e-06
+152 0.755 1.16665084166e-06 -1.02105781707e-06
+153 0.76 1.17178271153e-06 -1.0317052345e-06
+154 0.765 1.176968046e-06 -1.0424438446e-06
+155 0.77 1.18220730383e-06 -1.05327476888e-06
+156 0.775 1.18750094943e-06 -1.0641991417e-06
+157 0.78 1.19284945291e-06 -1.07521811051e-06
+158 0.785 1.19825329013e-06 -1.08633283599e-06
+159 0.79 1.20371294282e-06 -1.09754449225e-06
+160 0.795 1.20922889858e-06 -1.10885426703e-06
+161 0.8 1.21480165102e-06 -1.12026336191e-06
+162 0.805 1.22043169976e-06 -1.13177299243e-06
+163 0.81 1.22611955055e-06 -1.14338438839e-06
+164 0.815 1.23186571533e-06 -1.15509879397e-06
+165 0.82 1.23767071227e-06 -1.16691746799e-06
+166 0.825 1.24353506591e-06 -1.17884168407e-06
+167 0.83 1.24945930716e-06 -1.19087273088e-06
+168 0.835 1.25544397344e-06 -1.20301191233e-06
+169 0.84 1.26148960871e-06 -1.21526054778e-06
+170 0.845 1.26759676357e-06 -1.22761997229e-06
+171 0.85 1.27376599533e-06 -1.2400915368e-06
+172 0.855 1.27999786811e-06 -1.2526766084e-06
+173 0.86 1.2862929529e-06 -1.26537657052e-06
+174 0.865 1.29265182763e-06 -1.27819282318e-06
+175 0.87 1.29907507731e-06 -1.29112678323e-06
+176 0.875 1.30556329404e-06 -1.30417988457e-06
+177 0.88 1.31211707714e-06 -1.31735357842e-06
+178 0.885 1.31873703325e-06 -1.33064933354e-06
+179 0.89 1.32542377639e-06 -1.34406863648e-06
+180 0.895 1.33217792804e-06 -1.35761299185e-06
+181 0.9 1.33900011726e-06 -1.37128392257e-06
+182 0.905 1.34589098079e-06 -1.38508297012e-06
+183 0.91 1.35285116309e-06 -1.39901169482e-06
+184 0.915 1.3598813165e-06 -1.41307167609e-06
+185 0.92 1.36698210128e-06 -1.42726451271e-06
+186 0.925 1.37415418575e-06 -1.44159182311e-06
+187 0.93 1.38139824636e-06 -1.45605524565e-06
+188 0.935 1.38871496782e-06 -1.47065643891e-06
+189 0.94 1.39610504317e-06 -1.48539708196e-06
+190 0.945 1.40356917389e-06 -1.50027887466e-06
+191 0.95 1.41110807003e-06 -1.51530353796e-06
+192 0.955 1.41872245029e-06 -1.5304728142e-06
+193 0.96 1.42641304213e-06 -1.54578846742e-06
+194 0.965 1.4341805819e-06 -1.56125228366e-06
+195 0.97 1.44202581492e-06 -1.57686607128e-06
+196 0.975 1.44994949562e-06 -1.59263166129e-06
+197 0.98 1.45795238763e-06 -1.60855090765e-06
+198 0.985 1.46603526391e-06 -1.62462568762e-06
+199 0.99 1.47419890689e-06 -1.64085790209e-06
+200 0.995 1.48244410853e-06 -1.65724947591e-06
+201 1.0 1.4907716705e-06 -1.67380235825e-06
+202 1.005 1.49918240425e-06 -1.69051852294e-06
+203 1.01 1.50767713119e-06 -1.70739996882e-06
+204 1.015 1.51625668278e-06 -1.72444872011e-06
+205 1.02 1.52492190065e-06 -1.74166682675e-06
+206 1.025 1.53367363676e-06 -1.75905636483e-06
+207 1.03 1.54251275352e-06 -1.77661943691e-06
+208 1.035 1.5514401239e-06 -1.7943581724e-06
+209 1.04 1.56045663161e-06 -1.81227472801e-06
+210 1.045 1.56956317119e-06 -1.83037128807e-06
+211 1.05 1.57876064818e-06 -1.84865006497e-06
+212 1.055 1.58804997927e-06 -1.86711329958e-06
+213 1.06 1.59743209239e-06 -1.88576326162e-06
+214 1.065 1.60690792693e-06 -1.90460225011e-06
+215 1.07 1.61647843382e-06 -1.92363259378e-06
+216 1.075 1.62614457572e-06 -1.94285665153e-06
+217 1.08 1.63590732717e-06 -1.9622768128e-06
+218 1.085 1.64576767472e-06 -1.98189549811e-06
+219 1.09 1.65572661711e-06 -2.00171515944e-06
+220 1.095 1.66578516541e-06 -2.02173828072e-06
+221 1.1 1.67594434321e-06 -2.04196737828e-06
+222 1.105 1.68620518674e-06 -2.06240500133e-06
+223 1.11 1.69656874507e-06 -2.08305373245e-06
+224 1.115 1.70703608027e-06 -2.10391618807e-06
+225 1.12 1.71760826757e-06 -2.12499501897e-06
+226 1.125 1.72828639555e-06 -2.14629291076e-06
+227 1.13 1.73907156631e-06 -2.16781258443e-06
+228 1.135 1.74996489563e-06 -2.18955679685e-06
+229 1.14 1.76096751317e-06 -2.21152834128e-06
+230 1.145 1.77208056264e-06 -2.23373004793e-06
+231 1.15 1.78330520203e-06 -2.2561647845e-06
+232 1.155 1.79464260371e-06 -2.27883545672e-06
+233 1.16 1.80609395472e-06 -2.30174500894e-06
+234 1.165 1.8176604569e-06 -2.32489642465e-06
+235 1.17 1.82934332711e-06 -2.34829272711e-06
+236 1.175 1.84114379742e-06 -2.3719369799e-06
+237 1.18 1.85306311533e-06 -2.39583228755e-06
+238 1.185 1.86510254397e-06 -2.41998179612e-06
+239 1.19 1.87726336227e-06 -2.44438869382e-06
+240 1.195 1.88954686527e-06 -2.46905621166e-06
+241 1.2 1.90195436421e-06 -2.49398762405e-06
+242 1.205 1.91448718686e-06 -2.51918624948e-06
+243 1.21 1.92714667767e-06 -2.54465545114e-06
+244 1.215 1.93993419801e-06 -2.57039863763e-06
+245 1.22 1.95285112644e-06 -2.59641926361e-06
+246 1.225 1.96589885888e-06 -2.62272083047e-06
+247 1.23 1.97907880889e-06 -2.64930688708e-06
+248 1.235 1.99239240789e-06 -2.67618103045e-06
+249 1.24 2.00584110541e-06 -2.7033469065e-06
+250 1.245 2.01942636933e-06 -2.73080821073e-06
+251 1.25 2.03314968614e-06 -2.75856868904e-06
+252 1.255 2.04701256117e-06 -2.78663213843e-06
+253 1.26 2.06101651889e-06 -2.81500240778e-06
+254 1.265 2.07516310312e-06 -2.84368339865e-06
+255 1.27 2.08945387733e-06 -2.87267906608e-06
+256 1.275 2.10389042492e-06 -2.90199341934e-06
+257 1.28 2.11847434944e-06 -2.93163052284e-06
+258 1.285 2.13320727493e-06 -2.96159449687e-06
+259 1.29 2.14809084615e-06 -2.99188951851e-06
+260 1.295 2.16312672891e-06 -3.02251982249e-06
+261 1.3 2.17831661033e-06 -3.053489702e-06
+262 1.305 2.19366219914e-06 -3.08480350968e-06
+263 1.31 2.209165226e-06 -3.11646565841e-06
+264 1.315 2.22482744375e-06 -3.14848062234e-06
+265 1.32 2.2406506278e-06 -3.18085293774e-06
+266 1.325 2.25663657638e-06 -3.21358720397e-06
+267 1.33 2.27278711086e-06 -3.24668808447e-06
+268 1.335 2.28910407612e-06 -3.28016030771e-06
+269 1.34 2.30558934083e-06 -3.3140086682e-06
+270 1.345 2.3222447978e-06 -3.34823802748e-06
+271 1.35 2.33907236431e-06 -3.3828533152e-06
+272 1.355 2.35607398249e-06 -3.41785953011e-06
+273 1.36 2.37325161961e-06 -3.45326174113e-06
+274 1.365 2.39060726846e-06 -3.48906508847e-06
+275 1.37 2.40814294773e-06 -3.5252747847e-06
+276 1.375 2.42586070236e-06 -3.56189611585e-06
+277 1.38 2.44376260388e-06 -3.59893444259e-06
+278 1.385 2.46185075083e-06 -3.63639520132e-06
+279 1.39 2.48012726913e-06 -3.67428390542e-06
+280 1.395 2.49859431245e-06 -3.71260614638e-06
+281 1.4 2.5172540626e-06 -3.75136759503e-06
+282 1.405 2.53610872999e-06 -3.79057400279e-06
+283 1.41 2.55516055395e-06 -3.83023120289e-06
+284 1.415 2.5744118032e-06 -3.8703451117e-06
+285 1.42 2.59386477624e-06 -3.91092172994e-06
+286 1.425 2.61352180182e-06 -3.95196714407e-06
+287 1.43 2.63338523929e-06 -3.99348752761e-06
+288 1.435 2.65345747914e-06 -4.03548914248e-06
+289 1.44 2.67374094335e-06 -4.07797834041e-06
+290 1.445 2.69423808592e-06 -4.12096156431e-06
+291 1.45 2.71495139326e-06 -4.16444534976e-06
+292 1.455 2.73588338473e-06 -4.20843632642e-06
+293 1.46 2.75703661305e-06 -4.25294121951e-06
+294 1.465 2.77841366481e-06 -4.29796685135e-06
+295 1.47 2.80001716099e-06 -4.34352014284e-06
+296 1.475 2.82184975737e-06 -4.38960811508e-06
+297 1.48 2.84391414514e-06 -4.43623789087e-06
+298 1.485 2.86621305132e-06 -4.48341669642e-06
+299 1.49 2.88874923936e-06 -4.53115186288e-06
+300 1.495 2.91152550961e-06 -4.57945082809e-06
+301 1.5 2.93454469988e-06 -4.62832113824e-06
+302 1.505 2.95780968599e-06 -4.67777044958e-06
+303 1.51 2.98132338232e-06 -4.72780653019e-06
+304 1.515 3.00508874237e-06 -4.77843726176e-06
+305 1.52 3.02910875934e-06 -4.8296706414e-06
+306 1.525 3.05338646671e-06 -4.88151478347e-06
+307 1.53 3.07792493883e-06 -4.93397792148e-06
+308 1.535 3.10272729151e-06 -4.98706840998e-06
+309 1.54 3.12779668264e-06 -5.0407947265e-06
+310 1.545 3.15313631282e-06 -5.09516547352e-06
+311 1.55 3.17874942596e-06 -5.1501893805e-06
+312 1.555 3.20463930998e-06 -5.20587530591e-06
+313 1.56 3.23080929736e-06 -5.26223223928e-06
+314 1.565 3.25726276591e-06 -5.31926930335e-06
+315 1.57 3.28400313937e-06 -5.37699575622e-06
+316 1.575 3.31103388811e-06 -5.43542099351e-06
+317 1.58 3.33835852983e-06 -5.49455455061e-06
+318 1.585 3.36598063027e-06 -5.55440610491e-06
+319 1.59 3.3939038039e-06 -5.61498547818e-06
+320 1.595 3.42213171469e-06 -5.67630263881e-06
+321 1.6 3.45066807679e-06 -5.73836770428e-06
+322 1.605 3.47951665535e-06 -5.80119094353e-06
+323 1.61 3.50868126721e-06 -5.86478277949e-06
+324 1.615 3.53816578176e-06 -5.92915379152e-06
+325 1.62 3.56797412164e-06 -5.99431471802e-06
+326 1.625 3.59811026362e-06 -6.06027645901e-06
+327 1.63 3.62857823935e-06 -6.12705007878e-06
+328 1.635 3.65938213625e-06 -6.19464680859e-06
+329 1.64 3.69052609828e-06 -6.26307804942e-06
+330 1.645 3.72201432687e-06 -6.33235537472e-06
+331 1.65 3.75385108174e-06 -6.40249053329e-06
+332 1.655 3.7860406818e-06 -6.47349545215e-06
+333 1.66 3.81858750603e-06 -6.54538223952e-06
+334 1.665 3.85149599445e-06 -6.61816318773e-06
+335 1.67 3.88477064897e-06 -6.69185077636e-06
+336 1.675 3.91841603439e-06 -6.76645767527e-06
+337 1.68 3.95243677933e-06 -6.84199674779e-06
+338 1.685 3.98683757724e-06 -6.91848105395e-06
+339 1.69 4.02162318735e-06 -6.99592385369e-06
+340 1.695 4.0567984357e-06 -7.07433861024e-06
+341 1.7 4.09236821615e-06 -7.1537389935e-06
+342 1.705 4.12833749146e-06 -7.23413888348e-06
+343 1.71 4.16471129431e-06 -7.31555237378e-06
+344 1.715 4.20149472837e-06 -7.39799377524e-06
+345 1.72 4.23869296945e-06 -7.48147761951e-06
+346 1.725 4.27631126656e-06 -7.56601866276e-06
+347 1.73 4.31435494304e-06 -7.65163188951e-06
+348 1.735 4.35282939777e-06 -7.73833251637e-06
+349 1.74 4.39174010628e-06 -7.82613599606e-06
+350 1.745 4.43109262196e-06 -7.91505802129e-06
+351 1.75 4.47089257728e-06 -8.00511452888e-06
+352 1.755 4.51114568501e-06 -8.09632170383e-06
+353 1.76 4.55185773948e-06 -8.18869598359e-06
+354 1.765 4.59303461783e-06 -8.28225406224e-06
+355 1.77 4.63468228135e-06 -8.37701289495e-06
+356 1.775 4.67680677673e-06 -8.47298970233e-06
+357 1.78 4.71941423746e-06 -8.57020197498e-06
+358 1.785 4.76251088518e-06 -8.6686674781e-06
+359 1.79 4.80610303102e-06 -8.76840425614e-06
+360 1.795 4.85019707706e-06 -8.86943063759e-06
+361 1.8 4.89479951775e-06 -8.97176523982e-06
+362 1.805 4.93991694133e-06 -9.07542697405e-06
+363 1.81 4.98555603137e-06 -9.18043505034e-06
+364 1.815 5.03172356824e-06 -9.28680898277e-06
+365 1.82 5.07842643065e-06 -9.39456859463e-06
+366 1.825 5.1256715972e-06 -9.50373402376e-06
+367 1.83 5.17346614799e-06 -9.61432572795e-06
+368 1.835 5.22181726623e-06 -9.72636449046e-06
+369 1.84 5.27073223983e-06 -9.83987142565e-06
+370 1.845 5.32021846317e-06 -9.95486798471e-06
+371 1.85 5.37028343869e-06 -1.00713759615e-05
+372 1.855 5.4209347787e-06 -1.01894174984e-05
+373 1.86 5.47218020708e-06 -1.03090150925e-05
+374 1.865 5.52402756113e-06 -1.04301916018e-05
+375 1.87 5.57648479332e-06 -1.05529702512e-05
+376 1.875 5.62955997318e-06 -1.06773746392e-05
+377 1.88 5.68326128921e-06 -1.08034287443e-05
+378 1.885 5.73759705074e-06 -1.09311569317e-05
+379 1.89 5.79257568991e-06 -1.10605839597e-05
+380 1.895 5.84820576365e-06 -1.11917349875e-05
+381 1.9 5.9044959557e-06 -1.1324635581e-05
+382 1.905 5.96145507868e-06 -1.1459311721e-05
+383 1.91 6.01909207614e-06 -1.159578981e-05
+384 1.915 6.07741602472e-06 -1.17340966795e-05
+385 1.92 6.13643613633e-06 -1.1874259598e-05
+386 1.925 6.19616176028e-06 -1.20163062784e-05
+387 1.93 6.25660238563e-06 -1.21602648858e-05
+388 1.935 6.31776764337e-06 -1.2306164046e-05
+389 1.94 6.37966730881e-06 -1.2454032853e-05
+390 1.945 6.4423113039e-06 -1.26039008777e-05
+391 1.95 6.50570969968e-06 -1.27557981764e-05
+392 1.955 6.56987271868e-06 -1.29097552992e-05
+393 1.96 6.63481073744e-06 -1.30658032991e-05
+394 1.965 6.70053428904e-06 -1.32239737407e-05
+395 1.97 6.76705406569e-06 -1.33842987095e-05
+396 1.975 6.83438092135e-06 -1.35468108212e-05
+397 1.98 6.90252587437e-06 -1.37115432313e-05
+398 1.985 6.9715001103e-06 -1.38785296443e-05
+399 1.99 7.04131498456e-06 -1.40478043244e-05
+400 1.995 7.11198202534e-06 -1.42194021048e-05
+401 2.0 7.18351293643e-06 -1.43933583983e-05
+402 2.005 7.25591960015e-06 -1.45697092078e-05
+403 2.01 7.32921408034e-06 -1.47484911367e-05
+404 2.015 7.40340862538e-06 -1.49297414001e-05
+405 2.02 7.47851567126e-06 -1.51134978357e-05
+406 2.025 7.55454784477e-06 -1.52997989149e-05
+407 2.03 7.63151796664e-06 -1.54886837548e-05
+408 2.035 7.70943905484e-06 -1.56801921294e-05
+409 2.04 7.78832432786e-06 -1.58743644819e-05
+410 2.045 7.86818720812e-06 -1.60712419368e-05
+411 2.05 7.94904132539e-06 -1.62708663124e-05
+412 2.055 8.03090052028e-06 -1.64732801334e-05
+413 2.06 8.11377884783e-06 -1.66785266439e-05
+414 2.065 8.19769058112e-06 -1.68866498205e-05
+415 2.07 8.28265021498e-06 -1.70976943859e-05
+416 2.075 8.36867246973e-06 -1.73117058224e-05
+417 2.08 8.45577229504e-06 -1.75287303862e-05
+418 2.085 8.54396487383e-06 -1.77488151213e-05
+419 2.09 8.63326562623e-06 -1.79720078742e-05
+420 2.095 8.72369021366e-06 -1.81983573089e-05
+421 2.1 8.81525454291e-06 -1.84279129219e-05
+422 2.105 8.90797477037e-06 -1.86607250574e-05
+423 2.11 9.00186730632e-06 -1.88968449235e-05
+424 2.115 9.09694881925e-06 -1.91363246079e-05
+425 2.12 9.19323624035e-06 -1.93792170942e-05
+426 2.125 9.29074676797e-06 -1.96255762792e-05
+427 2.13 9.3894978723e-06 -1.98754569891e-05
+428 2.135 9.48950729998e-06 -2.01289149975e-05
+429 2.14 9.59079307895e-06 -2.0386007043e-05
+430 2.145 9.69337352328e-06 -2.0646790847e-05
+431 2.15 9.79726723816e-06 -2.09113251325e-05
+432 2.155 9.90249312492e-06 -2.11796696427e-05
+433 2.16 1.00090703862e-05 -2.14518851604e-05
+434 2.165 1.01170185312e-05 -2.17280335274e-05
+435 2.17 1.0226357381e-05 -2.20081776645e-05
+436 2.175 1.03371070741e-05 -2.22923815921e-05
+437 2.18 1.04492880718e-05 -2.25807104507e-05
+438 2.185 1.05629211639e-05 -2.28732305225e-05
+439 2.19 1.06780274747e-05 -2.31700092526e-05
+440 2.195 1.07946284685e-05 -2.34711152716e-05
+441 2.2 1.09127459559e-05 -2.37766184177e-05
+442 2.205 1.10324020996e-05 -2.40865897603e-05
+443 2.21 1.1153619421e-05 -2.44011016227e-05
+444 2.215 1.1276420806e-05 -2.47202276068e-05
+445 2.22 1.1400829512e-05 -2.50440426173e-05
+446 2.225 1.15268691742e-05 -2.53726228865e-05
+447 2.23 1.16545638122e-05 -2.57060459999e-05
+448 2.235 1.17839378371e-05 -2.60443909225e-05
+449 2.24 1.19150160583e-05 -2.63877380248e-05
+450 2.245 1.20478236906e-05 -2.67361691104e-05
+451 2.25 1.21823863614e-05 -2.70897674434e-05
+452 2.255 1.23187301183e-05 -2.74486177767e-05
+453 2.26 1.24568814362e-05 -2.78128063808e-05
+454 2.265 1.25968672255e-05 -2.81824210732e-05
+455 2.27 1.27387148393e-05 -2.85575512484e-05
+456 2.275 1.2882452082e-05 -2.8938287909e-05
+457 2.28 1.30281072169e-05 -2.93247236961e-05
+458 2.285 1.31757089746e-05 -2.97169529222e-05
+459 2.29 1.33252865617e-05 -3.01150716033e-05
+460 2.295 1.34768696692e-05 -3.05191774923e-05
+461 2.3 1.36304884811e-05 -3.09293701129e-05
+462 2.305 1.37861736837e-05 -3.13457507949e-05
+463 2.31 1.39439564744e-05 -3.17684227088e-05
+464 2.315 1.41038685711e-05 -3.21974909027e-05
+465 2.32 1.4265942222e-05 -3.26330623389e-05
+466 2.325 1.44302102147e-05 -3.30752459319e-05
+467 2.33 1.45967058863e-05 -3.35241525868e-05
+468 2.335 1.47654631337e-05 -3.39798952387e-05
+469 2.34 1.49365164236e-05 -3.44425888929e-05
+470 2.345 1.51099008028e-05 -3.49123506661e-05
+471 2.35 1.52856519091e-05 -3.53892998283e-05
+472 2.355 1.54638059823e-05 -3.58735578454e-05
+473 2.36 1.5644399875e-05 -3.63652484235e-05
+474 2.365 1.5827471064e-05 -3.6864497553e-05
+475 2.37 1.60130576619e-05 -3.73714335546e-05
+476 2.375 1.62011984287e-05 -3.78861871259e-05
+477 2.38 1.63919327842e-05 -3.8408891389e-05
+478 2.385 1.65853008196e-05 -3.89396819392e-05
+479 2.39 1.67813433108e-05 -3.94786968946e-05
+480 2.395 1.69801017302e-05 -4.00260769471e-05
+481 2.4 1.71816182608e-05 -4.05819654141e-05
+482 2.405 1.73859358083e-05 -4.11465082917e-05
+483 2.41 1.75930980154e-05 -4.17198543087e-05
+484 2.415 1.78031492756e-05 -4.2302154982e-05
+485 2.42 1.80161347468e-05 -4.28935646732e-05
+486 2.425 1.8232100366e-05 -4.34942406464e-05
+487 2.43 1.84510928639e-05 -4.41043431271e-05
+488 2.435 1.867315978e-05 -4.47240353626e-05
+489 2.44 1.88983494775e-05 -4.53534836838e-05
+490 2.445 1.91267111593e-05 -4.5992857568e-05
+491 2.45 1.93582948834e-05 -4.66423297035e-05
+492 2.455 1.95931515798e-05 -4.73020760552e-05
+493 2.46 1.98313330663e-05 -4.7972275932e-05
+494 2.465 2.0072892066e-05 -4.86531120554e-05
+495 2.47 2.03178822241e-05 -4.934477063e-05
+496 2.475 2.05663581258e-05 -5.0047441415e-05
+497 2.48 2.08183753141e-05 -5.07613177981e-05
+498 2.485 2.10739903081e-05 -5.14865968699e-05
+499 2.49 2.13332606218e-05 -5.2223479501e-05
+500 2.495 2.15962447833e-05 -5.29721704204e-05
+501 2.5 2.1863002354e-05 -5.37328782956e-05
+502 2.505 2.21335939488e-05 -5.45058158144e-05
+503 2.51 2.2408081256e-05 -5.52911997691e-05
+504 2.515 2.26865270586e-05 -5.60892511416e-05
+505 2.52 2.2968995255e-05 -5.69001951914e-05
+506 2.525 2.32555508808e-05 -5.7724261545e-05
+507 2.53 2.35462601308e-05 -5.85616842874e-05
+508 2.535 2.38411903818e-05 -5.94127020559e-05
+509 2.54 2.4140410215e-05 -6.02775581357e-05
+510 2.545 2.44439894401e-05 -6.11565005577e-05
+511 2.55 2.4751999119e-05 -6.20497821989e-05
+512 2.555 2.50645115902e-05 -6.29576608845e-05
+513 2.56 2.53816004941e-05 -6.38803994929e-05
+514 2.565 2.57033407981e-05 -6.48182660624e-05
+515 2.57 2.60298088232e-05 -6.57715339011e-05
+516 2.575 2.63610822701e-05 -6.67404816988e-05
+517 2.58 2.66972402468e-05 -6.77253936414e-05
+518 2.585 2.70383632961e-05 -6.87265595285e-05
+519 2.59 2.73845334242e-05 -6.97442748928e-05
+520 2.595 2.77358341295e-05 -7.07788411232e-05
+521 2.6 2.80923504321e-05 -7.18305655899e-05
+522 2.605 2.84541689045e-05 -7.2899761773e-05
+523 2.61 2.88213777019e-05 -7.39867493937e-05
+524 2.615 2.9194066594e-05 -7.50918545487e-05
+525 2.62 2.95723269973e-05 -7.62154098474e-05
+526 2.625 2.99562520078e-05 -7.73577545531e-05
+527 2.63 3.03459364349e-05 -7.85192347261e-05
+528 2.635 3.07414768354e-05 -7.97002033716e-05
+529 2.64 3.11429715491e-05 -8.09010205901e-05
+530 2.645 3.15505207341e-05 -8.21220537315e-05
+531 2.65 3.19642264038e-05 -8.33636775529e-05
+532 2.655 3.23841924642e-05 -8.46262743804e-05
+533 2.66 3.28105247523e-05 -8.59102342737e-05
+534 2.665 3.32433310749e-05 -8.72159551958e-05
+535 2.67 3.36827212489e-05 -8.85438431857e-05
+536 2.675 3.41288071419e-05 -8.98943125358e-05
+537 2.68 3.45817027139e-05 -9.12677859732e-05
+538 2.685 3.50415240602e-05 -9.26646948451e-05
+539 2.69 3.55083894545e-05 -9.40854793091e-05
+540 2.695 3.5982419394e-05 -9.55305885275e-05
+541 2.7 3.64637366445e-05 -9.70004808664e-05
+542 2.705 3.6952466287e-05 -9.84956240998e-05
+543 2.71 3.74487357654e-05 -0.000100016495618
+544 2.715 3.79526749351e-05 -0.000101563582641
+545 2.72 3.84644161125e-05 -0.000103137382438
+546 2.725 3.89840941261e-05 -0.000104738402552
+547 2.73 3.95118463681e-05 -0.000106367161026
+548 2.735 4.00478128477e-05 -0.000108024186641
+549 2.74 4.05921362454e-05 -0.000109710019156
+550 2.745 4.11449619684e-05 -0.000111425209554
+551 2.75 4.17064382075e-05 -0.000113170320292
+552 2.755 4.22767159949e-05 -0.000114945925565
+553 2.76 4.28559492636e-05 -0.000116752611562
+554 2.765 4.34442949084e-05 -0.000118590976746
+555 2.77 4.40419128474e-05 -0.000120461632126
+556 2.775 4.46489660857e-05 -0.00012236520154
+557 2.78 4.52656207804e-05 -0.000124302321953
+558 2.785 4.58920463068e-05 -0.000126273643749
+559 2.79 4.65284153262e-05 -0.000128279831037
+560 2.795 4.71749038557e-05 -0.000130321561968
+561 2.8 4.78316913387e-05 -0.000132399529053
+562 2.805 4.84989607177e-05 -0.000134514439491
+563 2.81 4.91768985087e-05 -0.000136667015506
+564 2.815 4.98656948772e-05 -0.000138857994693
+565 2.82 5.05655437156e-05 -0.000141088130372
+566 2.825 5.12766427231e-05 -0.000143358191948
+567 2.83 5.1999193487e-05 -0.000145668965281
+568 2.835 5.27334015657e-05 -0.000148021253073
+569 2.84 5.34794765741e-05 -0.000150415875248
+570 2.845 5.42376322705e-05 -0.000152853669359
+571 2.85 5.50080866459e-05 -0.000155335490996
+572 2.855 5.57910620153e-05 -0.000157862214202
+573 2.86 5.6586785111e-05 -0.000160434731906
+574 2.865 5.73954871779e-05 -0.000163053956365
+575 2.87 5.82174040715e-05 -0.000165720819612
+576 2.875 5.90527763579e-05 -0.000168436273922
+577 2.88 5.99018494163e-05 -0.000171201292287
+578 2.885 6.07648735434e-05 -0.000174016868901
+579 2.89 6.1642104061e-05 -0.000176884019661
+580 2.895 6.25338014258e-05 -0.000179803782675
+581 2.9 6.34402313416e-05 -0.000182777218794
+582 2.905 6.43616648745e-05 -0.000185805412141
+583 2.91 6.52983785703e-05 -0.00018888947067
+584 2.915 6.62506545756e-05 -0.000192030526728
+585 2.92 6.72187807609e-05 -0.000195229737635
+586 2.925 6.82030508468e-05 -0.000198488286279
+587 2.93 6.92037645336e-05 -0.000201807381729
+588 2.935 7.02212276337e-05 -0.000205188259858
+589 2.94 7.12557522072e-05 -0.000208632183983
+590 2.945 7.23076567009e-05 -0.000212140445527
+591 2.95 7.33772660902e-05 -0.000215714364695
+592 2.955 7.4464912025e-05 -0.000219355291161
+593 2.96 7.55709329787e-05 -0.000223064604784
+594 2.965 7.6695674401e-05 -0.000226843716335
+595 2.97 7.78394888742e-05 -0.000230694068243
+596 2.975 7.90027362736e-05 -0.000234617135366
+597 2.98 8.01857839315e-05 -0.000238614425777
+598 2.985 8.13890068051e-05 -0.000242687481569
+599 2.99 8.2612787649e-05 -0.000246837879686
+600 2.995 8.38575171915e-05 -0.000251067232775
+601 3.0 8.5123594315e-05 -0.000255377190056
+602 3.005 8.64114262414e-05 -0.00025976943822
+603 3.01 8.77214287216e-05 -0.000264245702345
+604 3.015 8.90540262299e-05 -0.000268807746844
+605 3.02 9.04096521629e-05 -0.00027345737643
+606 3.025 9.17887490437e-05 -0.000278196437111
+607 3.03 9.31917687307e-05 -0.000283026817209
+608 3.035 9.46191726318e-05 -0.000287950448409
+609 3.04 9.60714319243e-05 -0.000292969306835
+610 3.045 9.75490277791e-05 -0.00029808541415
+611 3.05 9.90524515918e-05 -0.000303300838692
+612 3.055 0.000100582205219 -0.000308617696638
+613 3.06 0.00010213880122 -0.000314038153196
+614 3.065 0.000103722763105 -0.000319564423834
+615 3.07 0.00010533462559 -0.000325198775538
+616 3.075 0.000106974934859 -0.000330943528104
+617 3.08 0.000108644248826 -0.000336801055472
+618 3.085 0.000110343137417 -0.000342773787082
+619 3.09 0.000112072182845 -0.000348864209281
+620 3.095 0.000113831979899 -0.000355074866761
+621 3.1 0.000115623136242 -0.000361408364033
+622 3.105 0.000117446272712 -0.000367867366952
+623 3.11 0.000119302023632 -0.000374454604269
+624 3.115 0.00012119103713 -0.000381172869238
+625 3.12 0.000123113975466 -0.000388025021262
+626 3.125 0.000125071515363 -0.00039501398758
+627 3.13 0.000127064348356 -0.000402142765009
+628 3.135 0.000129093181141 -0.000409414421725
+629 3.14 0.000131158735937 -0.000416832099099
+630 3.145 0.000133261750856 -0.000424399013585
+631 3.15 0.000135402980286 -0.000432118458649
+632 3.155 0.000137583195277 -0.000439993806767
+633 3.16 0.000139803183943 -0.000448028511469
+634 3.165 0.000142063751875 -0.000456226109438
+635 3.17 0.000144365722558 -0.000464590222675
+636 3.175 0.000146709937805 -0.00047312456072
+637 3.18 0.000149097258201 -0.000481832922931
+638 3.185 0.000151528563555 -0.000490719200839
+639 3.19 0.000154004753373 -0.000499787380554
+640 3.195 0.00015652674733 -0.000509041545252
+641 3.2 0.000159095485766 -0.000518485877719
+642 3.205 0.00016171193019 -0.000528124662981
+643 3.21 0.000164377063795 -0.000537962290996
+644 3.215 0.000167091891994 -0.000548003259429
+645 3.22 0.000169857442964 -0.000558252176503
+646 3.225 0.000172674768203 -0.000568713763934
+647 3.23 0.000175544943111 -0.000579392859944
+648 3.235 0.000178469067573 -0.000590294422366
+649 3.24 0.000181448266573 -0.000601423531834
+650 3.245 0.000184483690807 -0.000612785395066
+651 3.25 0.000187576517332 -0.00062438534824
+652 3.255 0.000190727950214 -0.000636228860468
+653 3.26 0.000193939221204 -0.000648321537367
+654 3.265 0.00019721159043 -0.000660669124741
+655 3.27 0.00020054634711 -0.00067327751236
+656 3.275 0.000203944810275 -0.000686152737851
+657 3.28 0.000207408329526 -0.000699300990707
+658 3.285 0.000210938285795 -0.000712728616408
+659 3.29 0.000214536092145 -0.000726442120659
+660 3.295 0.000218203194574 -0.000740448173763
+661 3.3 0.000221941072853 -0.000754753615105
+662 3.305 0.000225751241384 -0.000769365457783
+663 3.31 0.000229635250076 -0.000784290893369
+664 3.315 0.000233594685253 -0.000799537296803
+665 3.32 0.000237631170585 -0.000815112231445
+666 3.325 0.000241746368037 -0.000831023454264
+667 3.33 0.000245941978856 -0.000847278921187
+668 3.335 0.000250219744578 -0.000863886792607
+669 3.34 0.000254581448062 -0.000880855439046
+670 3.345 0.000259028914559 -0.000898193447
+671 3.35 0.000263564012803 -0.000915909624944
+672 3.355 0.000268188656139 -0.000934013009529
+673 3.36 0.000272904803681 -0.000952512871956
+674 3.365 0.000277714461496 -0.000971418724544
+675 3.37 0.00028261968383 -0.000990740327495
+676 3.375 0.000287622574365 -0.00101048769586
+677 3.38 0.000292725287511 -0.00103067110673
+678 3.385 0.000297930029732 -0.00105130110662
+679 3.39 0.000303239060915 -0.00107238851907
+680 3.395 0.000308654695775 -0.00109394445256
+681 3.4 0.000314179305295 -0.00111598030851
+682 3.405 0.000319815318218 -0.00113850778969
+683 3.41 0.000325565222571 -0.00116153890879
+684 3.415 0.000331431567237 -0.00118508599725
+685 3.42 0.000337416963572 -0.0012091617144
+686 3.425 0.00034352408707 -0.00123377905688
+687 3.43 0.00034975567907 -0.00125895136831
+688 3.435 0.000356114548516 -0.00128469234929
+689 3.44 0.00036260357377 -0.00131101606772
+690 3.445 0.000369225704476 -0.00133793696938
+691 3.45 0.000375983963472 -0.00136546988893
+692 3.455 0.000382881448764 -0.00139363006116
+693 3.46 0.000389921335559 -0.00142243313265
+694 3.465 0.000397106878349 -0.00145189517377
+695 3.47 0.000404441413065 -0.00148203269108
+696 3.475 0.000411928359287 -0.00151286264004
+697 3.48 0.000419571222521 -0.00154440243828
+698 3.485 0.000427373596547 -0.00157666997906
+699 3.49 0.000435339165827 -0.00160968364541
+700 3.495 0.000443471707993 -0.00164346232447
+701 3.5 0.000451775096406 -0.00167802542249
+702 3.505 0.000460253302787 -0.00171339288016
+703 3.51 0.000468910399928 -0.00174958518852
+704 3.515 0.000477750564487 -0.00178662340532
+705 3.52 0.000486778079864 -0.00182452917192
+706 3.525 0.000495997339159 -0.00186332473077
+707 3.53 0.000505412848226 -0.00190303294335
+708 3.535 0.000515029228811 -0.00194367730884
+709 3.54 0.000524851221791 -0.0019852819832
+710 3.545 0.000534883690507 -0.00202787179905
+711 3.55 0.000545131624194 -0.00207147228608
+712 3.555 0.000555600141525 -0.00211610969215
+713 3.56 0.000566294494251 -0.00216181100505
+714 3.565 0.00057722007096 -0.00220860397506
+715 3.57 0.000588382400945 -0.00225651713812
+716 3.575 0.000599787158193 -0.00230557983985
+717 3.58 0.000611440165494 -0.00235582226031
+718 3.585 0.000623347398678 -0.0024072754396
+719 3.59 0.000635514990981 -0.00245997130425
+720 3.595 0.000647949237544 -0.00251394269457
+721 3.6 0.000660656600053 -0.00256922339284
+722 3.605 0.000673643711519 -0.0026258481524
+723 3.61 0.000686917381213 -0.0026838527278
+724 3.615 0.000700484599743 -0.00274327390588
+725 3.62 0.0007143525443 -0.00280414953792
+726 3.625 0.000728528584064 -0.00286651857282
+727 3.63 0.00074302028577 -0.00293042109146
+728 3.635 0.000757835419465 -0.00299589834214
+729 3.64 0.00077298196443 -0.00306299277728
+730 3.645 0.000788468115298 -0.00313174809127
+731 3.65 0.00080430228836 -0.0032022092597
+732 3.655 0.000820493128072 -0.00327442257983
+733 3.66 0.000837049513768 -0.00334843571248
+734 3.665 0.000853980566583 -0.00342429772532
+735 3.67 0.000871295656603 -0.00350205913767
+736 3.675 0.000889004410235 -0.00358177196677
+737 3.68 0.000907116717816 -0.0036634897757
+738 3.685 0.000925642741464 -0.00374726772288
+739 3.69 0.000944592923189 -0.00383316261331
+740 3.695 0.000963977993247 -0.00392123295158
+741 3.7 0.000983808978782 -0.00401153899666
+742 3.705 0.00100409721274 -0.00410414281866
+743 3.71 0.00102485434306 -0.0041991083575
+744 3.715 0.00104609234218 -0.00429650148362
+745 3.72 0.00106782351686 -0.00439639006083
+746 3.725 0.00109006051829 -0.00449884401137
+747 3.73 0.00111281635256 -0.00460393538319
+748 3.735 0.00113610439144 -0.00471173841962
+749 3.74 0.00115993838358 -0.0048223296315
+750 3.745 0.001184332466 -0.00493578787184
+751 3.75 0.001209301176 -0.00505219441312
+752 3.755 0.00123485946344 -0.00517163302729
+753 3.76 0.0012610227035 -0.00529419006869
+754 3.765 0.00128780670973 -0.0054199545598
+755 3.77 0.00131522774766 -0.00554901828018
+756 3.775 0.0013433025488 -0.00568147585847
+757 3.78 0.00137204832512 -0.00581742486775
+758 3.785 0.00140148278404 -0.00595696592432
+759 3.79 0.00143162414387 -0.00610020278999
+760 3.795 0.00146249114979 -0.00624724247807
+761 3.8 0.00149410309045 -0.00639819536327
+762 3.805 0.00152647981497 -0.00655317529545
+763 3.81 0.00155964175068 -0.0067122997176
+764 3.815 0.00159360992135 -0.00687568978806
+765 3.82 0.00162840596609 -0.00704347050725
+766 3.825 0.0016640521589 -0.00721577084895
+767 3.83 0.00170057142885 -0.00739272389648
+768 3.835 0.00173798738102 -0.00757446698385
+769 3.84 0.00177632431806 -0.00776114184208
+770 3.845 0.00181560726259 -0.00795289475095
+771 3.85 0.00185586198036 -0.0081498766964
+772 3.855 0.0018971150041 -0.00835224353366
+773 3.86 0.00193939365838 -0.00856015615658
+774 3.865 0.00198272608519 -0.00877378067317
+775 3.87 0.00202714127046 -0.00899328858777
+776 3.875 0.00207266907156 -0.00921885698995
+777 3.88 0.00211934024563 -0.00945066875063
+778 3.885 0.00216718647908 -0.00968891272545
+779 3.89 0.00221624041797 -0.00993378396592
+780 3.895 0.00226653569959 -0.0101854839385
+781 3.9 0.00231810698504 -0.010444220752
+782 3.905 0.00237098999309 -0.0107102093936
+783 3.91 0.00242522153513 -0.0109836719738
+784 3.915 0.00248083955145 -0.0112648379811
+785 3.92 0.00253788314876 -0.0115539445459
+786 3.925 0.00259639263913 -0.0118512367146
+787 3.93 0.00265640958019 -0.0121569677349
+788 3.935 0.00271797681698 -0.0124713993511
+789 3.94 0.0027811385251 -0.0127948021119
+790 3.945 0.0028459402556 -0.0131274556891
+791 3.95 0.00291242898136 -0.0134696492094
+792 3.955 0.00298065314524 -0.0138216815987
+793 3.96 0.00305066271001 -0.0141838619404
+794 3.965 0.00312250920998 -0.014556509847
+795 3.97 0.00319624580468 -0.0149399558469
+796 3.975 0.00327192733437 -0.0153345417861
+797 3.98 0.00334961037773 -0.015740621246
+798 3.985 0.00342935331158 -0.0161585599771
+799 3.99 0.00351121637284 -0.0165887363512
+800 3.995 0.00359526172284 -0.0170315418299
+801 4.0 0.00368155351393 -0.0174873814531
+802 4.005 0.00377015795868 -0.0179566743468
+803 4.01 0.00386114340158 -0.0184398542503
+804 4.015 0.0039545803935 -0.018937370066
+805 4.02 0.00405054176891 -0.0194496864302
+806 4.025 0.00414910272605 -0.0199772843078
+807 4.03 0.00425034091005 -0.0205206616104
+808 4.035 0.00435433649935 -0.0210803338398
+809 4.04 0.00446117229521 -0.0216568347578
+810 4.045 0.00457093381484 -0.0222507170832
+811 4.05 0.00468370938792 -0.0228625532173
+812 4.055 0.00479959025692 -0.0234929359995
+813 4.06 0.00491867068121 -0.024142479493
+814 4.065 0.00504104804527 -0.0248118198046
+815 4.07 0.00516682297097 -0.0255016159366
+816 4.075 0.00529609943428 -0.0262125506753
+817 4.08 0.00542898488647 -0.0269453315159
+818 4.085 0.00556559038007 -0.027700691626
+819 4.09 0.00570603069971 -0.0284793908497
+820 4.095 0.0058504244981 -0.0292822167532
+821 4.1 0.00599889443734 -0.030109985715
+822 4.105 0.00615156733583 -0.0309635440615
+823 4.11 0.0063085743209 -0.0318437692512
+824 4.115 0.00647005098758 -0.0327515711084
+825 4.12 0.00663613756361 -0.0336878931099
+826 4.125 0.00680697908102 -0.034653713726
+827 4.13 0.00698272555457 -0.0356500478196
+828 4.135 0.00716353216735 -0.0366779481042
+829 4.14 0.0073495594638 -0.0377385066656
+830 4.145 0.0075409735505 -0.0388328565482
+831 4.15 0.00773794630512 -0.0399621734106
+832 4.155 0.00794065559368 -0.0411276772525
+833 4.16 0.00814928549684 -0.042330634217
+834 4.165 0.00836402654522 -0.0435723584709
+835 4.17 0.0085850759644 -0.0448542141675
+836 4.175 0.00881263792994 -0.0461776174955
+837 4.18 0.00904692383288 -0.0475440388177
+838 4.185 0.00928815255613 -0.0489550049041
+839 4.19 0.00953655076231 -0.0504121012635
+840 4.195 0.00979235319349 -0.0519169745786
+841 4.2 0.0100558029833 -0.0534713352492
+842 4.205 0.0103271519824 -0.0550769600489
+843 4.21 0.0106066610966 -0.0567356949005
+844 4.215 0.0108946006406 -0.0584494577757
+845 4.22 0.0111912507051 -0.0602202417253
+846 4.225 0.0114969015406 -0.062050118046
+847 4.23 0.0118118539562 -0.0639412395903
+848 4.235 0.0121364197367 -0.0658958442267
+849 4.24 0.012470922076 -0.067916258457
+850 4.245 0.0128156960301 -0.0700049011991
+851 4.25 0.0131710889888 -0.0721642877423
+852 4.255 0.0135374611677 -0.0743970338844
+853 4.26 0.0139151861219 -0.0767058602593
+854 4.265 0.014304651281 -0.0790935968639
+855 4.27 0.0147062585078 -0.0815631877955
+856 4.275 0.0151204246812 -0.0841176962079
+857 4.28 0.0155475823042 -0.0867603094993
+858 4.285 0.0159881801386 -0.0894943447425
+859 4.29 0.0164426838677 -0.0923232543688
+860 4.295 0.0169115767876 -0.0952506321199
+861 4.3 0.0173953605294 -0.0982802192798
+862 4.305 0.0178945558128 -0.101415911201
+863 4.31 0.0184097032337 -0.104661764143
+864 4.315 0.0189413640867 -0.10802200243
+865 4.32 0.0194901212233 -0.111501025957
+866 4.325 0.0200565799499 -0.115103418051
+867 4.33 0.0206413689653 -0.118833953712
+868 4.335 0.0212451413402 -0.122697608246
+869 4.34 0.0218685755415 -0.126699566324
+870 4.345 0.0225123765025 -0.130845231472
+871 4.35 0.0231772767419 -0.135140236021
+872 4.355 0.0238640375338 -0.139590451555
+873 4.36 0.0245734501309 -0.144201999854
+874 4.365 0.0253063370442 -0.148981264382
+875 4.37 0.0260635533812 -0.153934902343
+876 4.375 0.026845988246 -0.159069857327
+877 4.38 0.0276545662041 -0.164393372582
+878 4.385 0.0284902488154 -0.169913004955
+879 4.39 0.0293540362382 -0.17563663951
+880 4.395 0.0302469689086 -0.1815725049
+881 4.4 0.0311701292983 -0.187729189489
+882 4.405 0.0321246437553 -0.1941156583
+883 4.41 0.0331116844312 -0.200741270811
+884 4.415 0.0341324712999 -0.207615799658
+885 4.42 0.0351882742722 -0.214749450282
+886 4.425 0.0362804154108 -0.222152881586
+887 4.43 0.0374102712517 -0.229837227642
+888 4.435 0.0385792752363 -0.237814120514
+889 4.44 0.0397889202612 -0.246095714261
+890 4.445 0.0410407613506 -0.254694710173
+891 4.45 0.0423364184582 -0.263624383317
+892 4.455 0.0436775794054 -0.272898610473
+893 4.46 0.0450660029627 -0.282531899512
+894 4.465 0.0465035220816 -0.292539420323
+895 4.47 0.0479920472858 -0.302937037366
+896 4.475 0.0495335702287 -0.313741343932
+897 4.48 0.0511301674268 -0.324969698225
+898 4.485 0.0527840041788 -0.336640261353
+899 4.49 0.0544973386792 -0.348772037343
+900 4.495 0.0562725263372 -0.361384915296
+901 4.5 0.0581120243122 -0.374499713802
+902 4.505 0.0600183962773 -0.388138227742
+903 4.51 0.061994317423 -0.402323277621
+904 4.515 0.0640425797141 -0.417078761574
+905 4.52 0.0661660974138 -0.432429710191
+906 4.525 0.0683679128891 -0.448402344343
+907 4.53 0.0706512027136 -0.465024136173
+908 4.535 0.073019284083 -0.482323873428
+909 4.54 0.0754756215615 -0.500331727349
+910 4.545 0.0780238341766 -0.519079324312
+911 4.55 0.0806677028821 -0.538599821447
+912 4.555 0.0834111784101 -0.558927986473
+913 4.56 0.086258389532 -0.580100281991
+914 4.565 0.089213651754 -0.602154954519
+915 4.57 0.0922814764698 -0.625132128529
+916 4.575 0.0954665805958 -0.64907390581
+917 4.58 0.0987738967184 -0.674024470462
+918 4.585 0.10220858378 -0.700030199868
+919 4.59 0.105776038336 -0.727139782014
+920 4.595 0.109481906417 -0.755404339532
+921 4.6 0.113332096021 -0.784877560882
+922 4.605 0.117332790295 -0.815615839121
+923 4.61 0.121490461414 -0.847678418713
+924 4.615 0.125811885227 -0.881127550889
+925 4.62 0.130304156696 -0.916028658079
+926 4.625 0.134974706183 -0.952450507992
+927 4.63 0.139831316636 -0.990465397941
+928 4.635 0.144882141715 -1.03014935006
+929 4.64 0.150135724932 -1.07158231809
+930 4.645 0.155601019853 -1.11484840651
+931 4.65 0.16128741142 -1.16003610269
+932 4.655 0.167204738482 -1.20723852309
+933 4.66 0.173363317582 -1.25655367412
+934 4.665 0.179773968093 -1.30808472898
+935 4.67 0.18644803878 -1.36194032109
+936 4.675 0.193397435869 -1.41823485552
+937 4.68 0.200634652726 -1.47708883947
+938 4.685 0.208172801234 -1.538629233
+939 4.69 0.216025644979 -1.60298982133
+940 4.695 0.224207634357 -1.67031161036
+941 4.7 0.232733943712 -1.74074324652
+942 4.705 0.241620510648 -1.81444146303
+943 4.71 0.25088407763 -1.89157155397
+944 4.715 0.260542236043 -1.97230787817
+945 4.72 0.270613472835 -2.05683439503
+946 4.725 0.281117219932 -2.14534523411
+947 4.73 0.292073906588 -2.23804530116
+948 4.735 0.303505014862 -2.33515092273
+949 4.74 0.315433138416 -2.43689053224
+950 4.745 0.327882044859 -2.54350540019
+951 4.75 0.340876741855 -2.65525041161
+952 4.755 0.354443547243 -2.7723948941
+953 4.76 0.368610163431 -2.89522349972
+954 4.765 0.383405756347 -3.02403714482
+955 4.77 0.398861039231 -3.15915401153
+956 4.775 0.41500836161 -3.30091061555
+957 4.78 0.431881803779 -3.44966294464
+958 4.785 0.449517277168 -3.605787673
+959 4.79 0.467952630971 -3.76968345691
+960 4.795 0.487227765485 -3.94177231736
+961 4.8 0.507384752575 -4.12250111602
+962 4.805 0.528467963779 -4.31234313117
+963 4.81 0.550524206551 -4.51179974091
+964 4.815 0.573602869206 -4.72140222141
+965 4.82 0.597756075162 -4.94171366863
+966 4.825 0.623038847117 -5.17333105247
+967 4.83 0.649509281848 -5.41688741325
+968 4.835 0.677228736371 -5.67305421097
+969 4.84 0.706262026252 -5.94254383863
+970 4.845 0.736677636918 -6.22611231206
+971 4.85 0.768547948892 -6.52456214925
+972 4.855 0.80194947792 -6.83874545363
+973 4.86 0.83696313106 -7.1695672167
+974 4.865 0.873674479871 -7.51798885654
+975 4.87 0.912174051913 -7.88503201045
+976 4.875 0.952557641892 -8.27178260098
+977 4.88 0.99492664386 -8.67939519657
+978 4.885 1.039388406 -9.10909768949
+979 4.89 1.08605660966 -9.56219631585
+980 4.895 1.13505167436 -10.0400810443
+981 4.9 1.18650119077 -10.5442313627
+982 4.905 1.24054038366 -11.0762224932
+983 4.91 1.29731260703 -11.6377320709
+984 4.915 1.35696987397 -12.2305473228
+985 4.92 1.41967342364 -12.8565727854
+986 4.925 1.48559432829 -13.5178386065
+987 4.93 1.55491414345 -14.2165094776
+988 4.935 1.62782560432 -14.954894247
+989 4.94 1.70453337214 -15.7354562708
+990 4.945 1.78525483427 -16.5608245604
+991 4.95 1.87022096207 -17.4338057949
+992 4.955 1.95967723126 -18.3573972661
+993 4.96 2.05388460937 -19.334800837
+994 4.965 2.15312061585 -20.3694379976
+995 4.97 2.2576804602 -21.4649661082
+996 4.975 2.36787826467 -22.6252959338
+997 4.98 2.48404837798 -23.8546105764
+998 4.985 2.60654678746 -25.1573859257
+999 4.99 2.73575263756 -26.5384127576
+1000 4.995 2.87206986318 -28.0028206236
+1001 5.0 3.01592894733 -29.5561036851
+1002 5.005 3.16778881309 -31.2041486619
+1003 5.01 3.32813886106 -32.9532650805
+1004 5.015 3.49750116418 -34.8102180247
+1005 5.02 3.67643283298 -36.7822636079
+1006 5.025 3.86552856558 -38.8771874117
+1007 5.03 4.06542339778 -41.1033461537
+1008 5.035 4.27679567015 -43.4697128755
+1009 5.04 4.5003702306 -45.9859259687
+1010 5.045 4.73692189228 -48.6623423875
+1011 5.05 4.98727916893 -51.5100954302
+1012 5.055 5.25232831128 -54.541157508
+1013 5.06 5.53301767082 -57.7684083632
+1014 5.065 5.83036241932 -61.2057092413
+1015 5.07 6.14544965515 -64.8679835725
+1016 5.075 6.47944393068 -68.7713047748
+1017 5.08 6.83359323776 -72.932991849
+1018 5.085 7.20923549226 -77.3717135068
+1019 5.09 7.60780556221 -82.1076016453
+1020 5.095 8.0308428886 -87.1623750651
+1021 5.1 8.47999975234 -92.5594744222
+1022 5.105 8.95705024636 -98.3242095025
+1023 5.11 9.46390001734 -104.483920024
+1024 5.115 10.0025968481 -111.068151294
+1025 5.12 10.5753421583 -118.108846194
+1026 5.125 11.1845035092 -125.640555102
+1027 5.13 11.8326282071 -133.700665567
+1028 5.135 12.5224581076 -142.329653702
+1029 5.14 13.2569457368 -151.571359502
+1030 5.145 14.0392718529 -161.473288528
+1031 5.15 14.8728645886 -172.086942643
+1032 5.155 15.7614203254 -183.468182807
+1033 5.16 16.7089264689 -195.677627253
+1034 5.165 17.7196863113 -208.781088723
+1035 5.17 18.7983461863 -222.850054882
+1036 5.175 19.9499251427 -237.962216459
+1037 5.18 21.1798473892 -254.202048193
+1038 5.185 22.4939777874 -271.661448228
+1039 5.19 23.8986607007 -290.440442256
+1040 5.195 25.4007625403 -310.647959428
+1041 5.2 27.0077183864 -332.402687834
+1042 5.205 28.7275831036 -355.834018326
+1043 5.21 30.5690874167 -381.08308641
+1044 5.215 32.5416994626 -408.303923128
+1045 5.22 34.6556923958 -437.664727134
+1046 5.225 36.9222186841 -469.349271621
+1047 5.23 39.3533918079 -503.55846139
+1048 5.235 41.9623761558 -540.512057232
+1049 5.24 44.7634859999 -580.450586842
+1050 5.245 47.7722945362 -623.637463887
+1051 5.25 51.0057540911 -670.361339484
+1052 5.255 54.482328722 -720.938713389
+1053 5.26 58.222140587 -775.716835588
+1054 5.265 62.2471316187 -835.076932894
+1055 5.27 66.5812422252 -899.437799498
+1056 5.275 71.2506089426 -969.259795455
+1057 5.28 76.2837832029 -1045.04930272
+1058 5.285 81.711973641 -1127.36369479
+1059 5.29 87.5693146646 -1216.8168834
+1060 5.295 93.893164347 -1314.08551392
+1061 5.3 100.724435087 -1419.91589085
+1062 5.305 108.10796091 -1535.13172545
+1063 5.31 116.092905777 -1660.64281006
+1064 5.315 124.73321783 -1797.45473792
+1065 5.32 134.088135121 -1946.67980334
+1066 5.325 144.222749115 -2109.54923589
+1067 5.33 155.208633055 -2287.42694343
+1068 5.335 167.124543223 -2481.82496345
+1069 5.34 180.0572022 -2694.42085009
+1070 5.345 194.102174433 -2927.07725682
+1071 5.35 209.36484581 -3181.86401181
+1072 5.355 225.961520551 -3461.08302601
+1073 5.36 244.020650514 -3767.29642351
+1074 5.365 263.684214129 -4103.35834097
+1075 5.37 285.109264557 -4472.45090895
+1076 5.375 308.46966942 -4878.12500478
+1077 5.38 333.958067611 -5324.34645507
+1078 5.385 361.788072356 -5815.54846929
+1079 5.39 392.196753863 -6356.69120514
+1080 5.395 425.447439765 -6953.32950597
+1081 5.4 461.832877143 -7611.69001217
+1082 5.405 501.678806405 -8338.75903774
+1083 5.41 545.348004761 -9142.38282363
+1084 5.415 593.244865738 -10031.3820373
+1085 5.42 645.820591276 -11015.68269
+1086 5.425 703.57908462 -12106.4659962
+1087 5.43 767.0836459 -13316.3401164
+1088 5.435 836.964588164 -14659.5372095
+1089 5.44 913.927910152 -16152.1397986
+1090 5.445 998.765183767 -17812.3411276
+1091 5.45 1092.36483954 -19660.7449851
+1092 5.455 1195.72506302 -21720.7114182
+1093 5.46 1309.96854996 -24018.7558713
+1094 5.465 1436.35940883 -26585.0106144
+1095 5.47 1576.32254765 -29453.7588927
+1096 5.475 1731.46593848 -32664.0541036
+1097 5.48 1903.60622026 -36260.4385302
+1098 5.485 2094.79817923 -40293.7788208
+1099 5.49 2307.36874045 -44822.2385774
+1100 5.495 2543.95621436 -49912.4122166
+1101 5.5 2807.55567471 -55640.6488261
+1102 5.505 3101.57150066 -62094.6002142
+1103 5.51 3429.87830306 -69375.0339383
+1104 5.515 3796.89167797 -77597.9600438
+1105 5.52 4207.65049744 -86897.1298384
+1106 5.525 4667.91276723 -97426.976642
+1107 5.53 5184.26746489 -109366.082529
+1108 5.535 5764.26523328 -122921.272189
+1109 5.54 6416.57136028 -138332.455868
+1110 5.545 7151.14514692 -155878.368733
+1111 5.55 7979.45057787 -175883.38511
+1112 5.555 8914.70419213 -198725.624049
+1113 5.56 9972.16724736 -224846.609452
+1114 5.565 11169.4907256 -254762.805471
+1115 5.57 12527.1235034 -289079.418826
+1116 5.575 14068.7961785 -328506.947433
+1117 5.58 15822.095705 -373881.063382
+1118 5.585 17819.1492531 -426186.553416
+1119 5.59 20097.4397323 -486586.208276
+1120 5.595 22700.7803778 -556455.762347
+1121 5.6 25680.48194 -637426.248155
+1122 5.605 29096.7536364 -731435.460488
+1123 5.61 33020.3884938 -840790.640792
+1124 5.615 37534.795529 -968245.017485
+1125 5.62 42738.4559856 -1117091.50268
+1126 5.625 48747.8993768 -1291277.69016
+1127 5.63 55701.3183864 -1495547.37524
+1128 5.635 63762.9710814 -1735615.19174
+1129 5.64 73128.5560849 -2018382.72409
+1130 5.645 84031.7935812 -2352206.71961
+1131 5.65 96752.5051511 -2747232.95284
+1132 5.655 111626.562261 -3215813.08417
+1133 5.66 129058.17172 -3773026.78288
+1134 5.665 149535.09312 -4437337.81351
+1135 5.67 173647.546875 -5231421.20537
+1136 5.675 202111.783487 -6183209.69609
+1137 5.68 235799.560429 -7327222.25628
+1138 5.685 275775.133279 -8706256.87756
+1139 5.69 323341.839971 -10373555.6006
+1140 5.695 380100.979 -12395584.2516
+1141 5.7 448026.504816 -14855615.686
+1142 5.705 529560.156125 -17858367.867
+1143 5.71 627733.090584 -21536032.8982
+1144 5.715 746322.053888 -26056148.6972
+1145 5.72 890050.744612 -31631923.3162
+1146 5.725 1064850.60201 -38535839.9678
+1147 5.73 1278200.09801 -47117672.8003
+1148 5.735 1539568.25801 -57828464.0874
+1149 5.74 1860997.27824 -71252602.8402
+1150 5.745 2257871.76507 -88150975.6842
+1151 5.75 2749939.74956 -109519339.591
+1152 5.755 3362675.33565 -136667749.506
+1153 5.76 4129107.68815 -171329294.699
+1154 5.765 5092290.5566 -215809903.716
+1155 5.77 6308657.30745 -273196093.331
+1156 5.775 7852608.40245 -347645058.856
+1157 5.78 9822826.27903 -444792652.679
+1158 5.785 12351029.1761 -572331463.941
+1159 5.79 15614195.007 -740836343.412
+1160 5.795 19851761.9704 -964952961.956
+1161 5.8 25390026.834 -1265123750.87
+1162 5.805 32677044.7126 -1670116762.16
+1163 5.81 42332992.355 -2220765999.89
+1164 5.815 55223522.7267 -2975558546.03
+1165 5.82 72567652.5207 -4019067582.33
+1166 5.825 96098076.1892 -5474821115.58
+1167 5.83 128301974.954 -7525167797.49
+1168 5.835 172786897.851 -10442321052.7
+1169 5.84 234843441.663 -14637502185.9
+1170 5.845 322321750.402 -20739806771.4
+1171 5.85 447015573.215 -29724625295.8
+1172 5.855 626879673.777 -43126013542.2
+1173 5.86 889637615.256 -63393728654.1
+1174 5.865 1278749299.07 -94504139730.6
+1175 5.87 1863457472.26 -1.43025428057e+11
+1176 5.875 2756024722.63 -2.20012867219e+11
+1177 5.88 4141916348.74 -3.44455288186e+11
+1178 5.885 6333827617.32 -5.49691352523e+11
+1179 5.89 9870722980.34 -8.95662608449e+11
+1180 5.895 15704145484.1 -1.49296892607e+12
+1181 5.9 25558719893.6 -2.55154000294e+12
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/run.in.min b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/run.in.min
new file mode 100644
index 000000000..8eb3a03cb
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/run.in.min
@@ -0,0 +1,19 @@
+# -- Init section --
+
+include system.in.init
+
+# -- Atom definition section --
+
+read_data system.data
+
+# -- Settings Section --
+
+include system.in.settings
+
+# -- Run section --
+
+dump 1 all custom 50 traj_min.lammpstrj id mol type x y z ix iy iz
+
+minimize 1.0e-5 1.0e-7 500 2000
+
+write_data system_after_min.data
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/run.in.nvt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/run.in.nvt
new file mode 100644
index 000000000..3e14f82b1
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated+chaperonin/run.in.nvt
@@ -0,0 +1,48 @@
+# -- Init Section --
+
+include system.in.init
+
+# -- Atom Definition Section --
+
+# I you want to be careful, you can minimize the system first.
+# (Try using "run.in.min" and uncomment the line below.)
+# read_data system_after_min.data
+
+read_data system.data
+
+# -- Settings Section --
+
+include system.in.settings
+
+# -- Run Section --
+
+
+timestep 0.025
+dump 1 all custom 50 traj_nvt.lammpstrj id mol type x y z ix iy iz
+
+# To use Langevin dynamics in LAMMPS you need both "fix langevin" and "fix nve".
+# (See http://lammps.sandia.gov/doc/fix_langevin.html for details.)
+
+# Keep the chaperonin fixed. Only let the protein move.
+
+fix fxlan proteins langevin 0.39 0.39 1.0 48279
+fix fxnve proteins nve
+
+# Notes:
+# The temperature is in reduced units and is set to 0.39
+# which is the folding temperature for the unfrustrated protein.
+# The inverse-damping-rate "damp" (which has units of time) is set to 1.0,
+# as it was in the paper. (Hopefully folding times should be similar.)
+# (See http://lammps.sandia.gov/doc/fix_langevin.html)
+
+
+thermo_style custom step temp pe etotal press vol epair ebond eangle edihed
+thermo_modify norm no #(report total energy not energy / num_atoms)
+thermo 50 #(time interval for printing out "thermo" data)
+
+#restart 100000000 restart_nvt
+
+run 5000
+
+write_data system_after_nvt.data
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/README.txt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/README.txt
new file mode 100644
index 000000000..7756b566d
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/README.txt
@@ -0,0 +1,27 @@
+# This directory demonstrates how to run a short simulation of
+# the "unfrustrated" coarse-grained protein model used in:
+# AI Jewett, A Baumketner and J-E Shea, PNAS, 101 (36), 13192-13197, (2004)
+# (http://www.pnas.org/content/101/36/13192)
+#
+# During this short simulation (run.in.nvt) the protein evolves
+# from an unfolded initial conformation to the folded state.
+#
+# -------- REQUIREMENTS: ---------
+# 1) This example requires the "USER-MISC" package. (Use "make yes-USER-MISC")
+# http://lammps.sandia.gov/doc/Section_start.html#start_3
+# 2) It also may require additional features and bug fixes for LAMMPS.
+# be sure to download and copy the "additional_lammps_code" from
+# http://moltemplate.org (upper-left corner menu)
+# 3) Unpack it
+# 4) copy the .cpp and .h files to the src folding of your lammps installation.
+# 5) Compile LAMMPS.
+
+-------------
+Instructions on how to build LAMMPS input files and
+run a short simulation are provided in other README files.
+
+step 1)
+README_setup.sh
+
+step2)
+README_run.sh
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/README_run.sh b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/README_run.sh
new file mode 100755
index 000000000..d5ae1fe5a
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/README_run.sh
@@ -0,0 +1,31 @@
+# You would probably run lammps this way:
+#
+# lmp_ubuntu -i run.in.nvt
+
+# The files "run.in.min", and "run.in.nvt" are LAMMPS input scripts which refer
+# to the input scripts & data files you created earlier when you ran moltemplate
+# system.in.init, system.in.settings, system.data
+
+
+
+
+# -----------------------------------
+
+
+
+LAMMPS_COMMAND="lmp_mpi"
+
+# Here "$LAMMPS_BINARY" is the name of the command you use to invoke lammps
+# (such as lmp_ubuntu, lmp_mac_mpi, lmp_cygwin etc...). Change if necessary.
+
+# Run lammps using the following 3 commands:
+
+"$LAMMPS_COMMAND" -i run.in.min # minimize (OPTIONAL)
+"$LAMMPS_COMMAND" -i run.in.nvt # production run
+
+# Alternately, if you have MPI installed, try something like this:
+
+#NUMPROCS=4
+#mpirun -np $NUMPROCS "$LAMMPS_COMMAND" -i run.in.min # minimize (OPTIONAL)
+#mpirun -np $NUMPROCS "$LAMMPS_COMMAND" -i run.in.nvt # production run
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/README_setup.sh b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/README_setup.sh
new file mode 100755
index 000000000..886551ffb
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/README_setup.sh
@@ -0,0 +1,23 @@
+# Use these commands to generate the LAMMPS input script and data file
+# (and other auxilliary files):
+
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh -overlay-dihedrals system.lt
+
+ # This will generate various files with names ending in *.in* and *.data.
+ # These files are the input files directly read by LAMMPS. Move them to
+ # the parent directory (or wherever you plan to run the simulation).
+
+ mv -f system.in* system.data ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/README_visualize.txt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/README_visualize.txt
new file mode 100644
index 000000000..a3e3ed620
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0}
+ pbc box -shiftcenterrel {0.0 0.15 0.0}
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/images/unfrustrated_t=0tau_LR.jpg b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/images/unfrustrated_t=0tau_LR.jpg
new file mode 100644
index 000000000..152fa88ff
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/images/unfrustrated_t=0tau_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/images/unfrustrated_t=200tau_LR.jpg b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/images/unfrustrated_t=200tau_LR.jpg
new file mode 100644
index 000000000..bb269f47f
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/images/unfrustrated_t=200tau_LR.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/moltemplate_files/1beadUnfrustrated.lt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/moltemplate_files/1beadUnfrustrated.lt
new file mode 100644
index 000000000..0dc1f5dd0
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/moltemplate_files/1beadUnfrustrated.lt
@@ -0,0 +1,255 @@
+# This file defines a pair of coarse-grained protein models used in:
+# AI Jewett, A Baumketner and J-E Shea, PNAS, 101 (36), 13192-13197, (2004)
+# (http://www.pnas.org/content/101/36/13192)
+
+
+1beadUnfrustrated {
+
+ # Note: the "unfrustrated" model is kind of funny looking. (My apologies.)
+
+ # There are 3 atom types (referred to above as B, L, and N)
+ # Define their masses:
+
+ write_once("Data Masses") {
+ @atom:B 1.0
+ @atom:L 1.0
+ @atom:N 1.0
+ }
+
+ # AtomID MoleculeID AtomType Charge X Y Z
+
+ write("Data Atoms") {
+ $atom:a1 $mol @atom:L 0.0 -1.3969548 1.7525716 -0.28565118
+ $atom:a2 $mol @atom:B 0.0 -0.66847917 1.0738923 -0.39651074
+ $atom:a3 $mol @atom:L 0.0 -0.16610379 1.0893417 0.44519456
+ $atom:a4 $mol @atom:B 0.0 0.42244126 0.35006314 0.15979926
+ $atom:a5 $mol @atom:L 0.0 1.2844393 0.55103218 0.64505356
+ $atom:a6 $mol @atom:N 0.0 1.9703715 0.37775946 -0.05267634
+ $atom:a7 $mol @atom:N 0.0 2.574926 -0.30399114 0.34330503
+ $atom:a8 $mol @atom:N 0.0 2.029546 -1.1256647 0.19829852
+ $atom:a9 $mol @atom:B 0.0 1.0936146 -0.76054936 0.1043528
+ $atom:a10 $mol @atom:L 0.0 0.74888247 -0.81165991 1.0334863
+ $atom:a11 $mol @atom:B 0.0 -0.069536333 -0.26815389 0.94356636
+ $atom:a12 $mol @atom:L 0.0 -0.65671052 -0.522532 1.7113065
+ $atom:a13 $mol @atom:N 0.0 -1.5278507 -0.10774689 1.4611921
+ $atom:a14 $mol @atom:L 0.0 -2.1958878 -0.8403146 1.5521738
+ $atom:a15 $mol @atom:N 0.0 -2.6058074 -0.86553455 0.64397232
+ $atom:a16 $mol @atom:N 0.0 -1.8447588 -1.1286421 0.042924693
+ $atom:a17 $mol @atom:N 0.0 -1.5328721 -0.28576244 -0.40564841
+ $atom:a18 $mol @atom:B 0.0 -0.69593879 0.027664412 0.064884008
+ $atom:a19 $mol @atom:B 0.0 0.0026517494 -0.66355162 -0.11470678
+ $atom:a20 $mol @atom:L 0.0 -0.35479285 -1.2282381 -0.86455878
+ $atom:a21 $mol @atom:L 0.0 -0.60202976 -0.47829758 -1.4411001
+ $atom:a22 $mol @atom:B 0.0 -0.14616501 0.20157397 -0.87098365
+ $atom:a23 $mol @atom:B 0.0 0.7755198 -0.14153019 -0.76838748
+ $atom:a24 $mol @atom:L 0.0 1.2465693 0.19738595 -1.5794731
+ $atom:a25 $mol @atom:L 0.0 0.77604792 1.0612244 -1.637442
+ $atom:a26 $mol @atom:B 0.0 0.44801303 1.1110219 -0.6900789
+ $atom:a27 $mol @atom:L 0.0 1.0908651 1.7386382 -0.24229241
+ }
+
+ # bond-ID bond-Type atom-ID atom-ID
+
+ write("Data Bonds") {
+ $bond:b1 @bond:backbone $atom:a1 $atom:a2
+ $bond:b2 @bond:backbone $atom:a2 $atom:a3
+ $bond:b3 @bond:backbone $atom:a3 $atom:a4
+ $bond:b4 @bond:backbone $atom:a4 $atom:a5
+ $bond:b5 @bond:backbone $atom:a5 $atom:a6
+ $bond:b6 @bond:backbone $atom:a6 $atom:a7
+ $bond:b7 @bond:backbone $atom:a7 $atom:a8
+ $bond:b8 @bond:backbone $atom:a8 $atom:a9
+ $bond:b9 @bond:backbone $atom:a9 $atom:a10
+ $bond:b10 @bond:backbone $atom:a10 $atom:a11
+ $bond:b11 @bond:backbone $atom:a11 $atom:a12
+ $bond:b12 @bond:backbone $atom:a12 $atom:a13
+ $bond:b13 @bond:backbone $atom:a13 $atom:a14
+ $bond:b14 @bond:backbone $atom:a14 $atom:a15
+ $bond:b15 @bond:backbone $atom:a15 $atom:a16
+ $bond:b16 @bond:backbone $atom:a16 $atom:a17
+ $bond:b17 @bond:backbone $atom:a17 $atom:a18
+ $bond:b18 @bond:backbone $atom:a18 $atom:a19
+ $bond:b19 @bond:backbone $atom:a19 $atom:a20
+ $bond:b20 @bond:backbone $atom:a20 $atom:a21
+ $bond:b21 @bond:backbone $atom:a21 $atom:a22
+ $bond:b22 @bond:backbone $atom:a22 $atom:a23
+ $bond:b23 @bond:backbone $atom:a23 $atom:a24
+ $bond:b24 @bond:backbone $atom:a24 $atom:a25
+ $bond:b25 @bond:backbone $atom:a25 $atom:a26
+ $bond:b26 @bond:backbone $atom:a26 $atom:a27
+ }
+
+ # (3-body) Angles are specified below
+
+ # (4-body) Dihedrals must be defined explicitly for every quartet of atoms.
+ # (These interactions are not determined by atom type.)
+ #
+ # Note that some quartets of atoms are listed because their
+ # potentials contain multiple terms in the Fourier expansion.
+ # (IE. multiple cosines... Be sure to use "-overlay-dihedrals"!)
+ #
+ # dihedral-ID dihedral-Type atom-ID atom-ID atom-ID atom-ID
+
+ write("Data Dihedrals") {
+ $dihedral:d1a @dihedral:beta1 $atom:a1 $atom:a2 $atom:a3 $atom:a4
+ $dihedral:d1b @dihedral:beta2 $atom:a1 $atom:a2 $atom:a3 $atom:a4
+ $dihedral:d2a @dihedral:beta1 $atom:a2 $atom:a3 $atom:a4 $atom:a5
+ $dihedral:d2b @dihedral:beta2 $atom:a2 $atom:a3 $atom:a4 $atom:a5
+ $dihedral:d3a @dihedral:beta1 $atom:a3 $atom:a4 $atom:a5 $atom:a6
+ $dihedral:d3b @dihedral:beta2 $atom:a3 $atom:a4 $atom:a5 $atom:a6
+ $dihedral:d4a @dihedral:beta1 $atom:a4 $atom:a5 $atom:a6 $atom:a7
+ $dihedral:d4b @dihedral:beta2 $atom:a4 $atom:a5 $atom:a6 $atom:a7
+ $dihedral:d5 @dihedral:turn1 $atom:a5 $atom:a6 $atom:a7 $atom:a8
+ $dihedral:d6 @dihedral:turn2 $atom:a6 $atom:a7 $atom:a8 $atom:a9
+ $dihedral:d7 @dihedral:turn3 $atom:a7 $atom:a8 $atom:a9 $atom:a10
+ $dihedral:d8a @dihedral:beta1 $atom:a8 $atom:a9 $atom:a10 $atom:a11
+ $dihedral:d8b @dihedral:beta2 $atom:a8 $atom:a9 $atom:a10 $atom:a11
+ $dihedral:d9a @dihedral:beta1 $atom:a9 $atom:a10 $atom:a11 $atom:a12
+ $dihedral:d9b @dihedral:beta2 $atom:a9 $atom:a10 $atom:a11 $atom:a12
+ $dihedral:d10a @dihedral:beta1 $atom:a10 $atom:a11 $atom:a12 $atom:a13
+ $dihedral:d10b @dihedral:beta2 $atom:a10 $atom:a11 $atom:a12 $atom:a13
+ $dihedral:d11a @dihedral:beta1 $atom:a11 $atom:a12 $atom:a13 $atom:a14
+ $dihedral:d11b @dihedral:beta2 $atom:a11 $atom:a12 $atom:a13 $atom:a14
+ $dihedral:d12a @dihedral:beta1 $atom:a12 $atom:a13 $atom:a14 $atom:a15
+ $dihedral:d12b @dihedral:beta2 $atom:a12 $atom:a13 $atom:a14 $atom:a15
+ $dihedral:d13 @dihedral:turn4 $atom:a13 $atom:a14 $atom:a15 $atom:a16
+ $dihedral:d14 @dihedral:turn5 $atom:a14 $atom:a15 $atom:a16 $atom:a17
+ $dihedral:d15a @dihedral:alpha1 $atom:a15 $atom:a16 $atom:a17 $atom:a18
+ $dihedral:d15b @dihedral:alpha2 $atom:a15 $atom:a16 $atom:a17 $atom:a18
+ $dihedral:d16a @dihedral:alpha1 $atom:a16 $atom:a17 $atom:a18 $atom:a19
+ $dihedral:d16b @dihedral:alpha2 $atom:a16 $atom:a17 $atom:a18 $atom:a19
+ $dihedral:d17a @dihedral:alpha1 $atom:a17 $atom:a18 $atom:a19 $atom:a20
+ $dihedral:d17b @dihedral:alpha2 $atom:a17 $atom:a18 $atom:a19 $atom:a20
+ $dihedral:d18a @dihedral:alpha1 $atom:a18 $atom:a19 $atom:a20 $atom:a21
+ $dihedral:d18b @dihedral:alpha2 $atom:a18 $atom:a19 $atom:a20 $atom:a21
+ $dihedral:d19a @dihedral:alpha1 $atom:a19 $atom:a20 $atom:a21 $atom:a22
+ $dihedral:d19b @dihedral:alpha2 $atom:a19 $atom:a20 $atom:a21 $atom:a22
+ $dihedral:d20a @dihedral:alpha1 $atom:a20 $atom:a21 $atom:a22 $atom:a23
+ $dihedral:d20b @dihedral:alpha2 $atom:a20 $atom:a21 $atom:a22 $atom:a23
+ $dihedral:d21a @dihedral:alpha1 $atom:a21 $atom:a22 $atom:a23 $atom:a24
+ $dihedral:d21b @dihedral:alpha2 $atom:a21 $atom:a22 $atom:a23 $atom:a24
+ $dihedral:d22a @dihedral:alpha1 $atom:a22 $atom:a23 $atom:a24 $atom:a25
+ $dihedral:d22b @dihedral:alpha2 $atom:a22 $atom:a23 $atom:a24 $atom:a25
+ $dihedral:d23a @dihedral:alpha1 $atom:a23 $atom:a24 $atom:a25 $atom:a26
+ $dihedral:d23b @dihedral:alpha2 $atom:a23 $atom:a24 $atom:a25 $atom:a26
+ $dihedral:d24a @dihedral:alpha1 $atom:a24 $atom:a25 $atom:a26 $atom:a27
+ $dihedral:d24b @dihedral:alpha2 $atom:a24 $atom:a25 $atom:a26 $atom:a27
+ }
+
+ # All consecutively bonded triplets of atoms same 3-body bond-angle
+ # interaction parameters. Of coarse, we could specify them all explicitly
+ # (as we did for the dihedrals above), but I wanted to show how to specify
+ # angles by atom type instead. (You can do this for dihedrals & impropers
+ # also.)
+
+ # angle-Type atom-Type atom-Type atom-Type bond-Type bond-Type
+
+ write_once("Data Angles By Type") {
+ @angle:backbone @atom:* @atom:* @atom:* @bond:* @bond:*
+ }
+
+ # (The "*" is a wildcard character. I use "*" to denote any atom-type or
+ # bond-type which is defined within the current namespace: 1beadUnfrustrated)
+
+
+ # 2-body (non-bonded) interactions:
+ #
+ # Uij(r) = 4*eps_ij * (K*(sig_ij/r)^12 + L*(sig_ij/r)^6)
+ #
+ # i j pairstylename eps sig K L
+ #
+ write_once("In Settings") {
+ pair_coeff @atom:B @atom:B lj/charmm/coul/charmm/inter 1.0 1.0 1 -1
+ pair_coeff @atom:B @atom:L lj/charmm/coul/charmm/inter 0.5833333333 1.0 1 0
+ pair_coeff @atom:B @atom:N lj/charmm/coul/charmm/inter 0.6666666667 1.0 1 0
+ pair_coeff @atom:L @atom:L lj/charmm/coul/charmm/inter 0.1666666667 1.0 1 1
+ pair_coeff @atom:L @atom:N lj/charmm/coul/charmm/inter 0.25 1.0 1 0
+ pair_coeff @atom:N @atom:N lj/charmm/coul/charmm/inter 0.3333333333 1.0 1 0
+ }
+
+
+ # 2-body (bonded) interactions:
+ #
+ # Ubond(r) = (k/2)*(r-0)^2
+ #
+ # The corresponding command is:
+ #
+ # bond-Type bondstylename k r0
+
+ write_once("In Settings") {
+ bond_coeff @bond:backbone harmonic 100.0 1.0
+ }
+
+ # 3-body interactions in this example are listed by atomType and bondType
+ # The atomIDs involved are determined automatically. The forumula used is:
+ #
+ # Uangle(theta) = (k/2)*(theta-theta0)^2
+ # (k in kcal/mol/rad^2, theta0 in degrees)
+ #
+ # angle-Type anglestylename k theta0
+
+ write_once("In Settings") {
+ angle_coeff @angle:backbone harmonic 13.3333333333 105.0
+ }
+
+ # 4-body interactions in this example are listed by atomType and bondType
+ # The atomIDs involved are determined automatically. The forumula used is:
+ #
+ # Udihedral(phi) = K * (1 + cos(n*phi - d))
+ #
+ # The d parameter is in degrees, K is in kcal/mol/rad^2.
+ #
+ # The corresponding command is:
+ #
+ # dihedral_coeff dihedralType dihedralstylename K n d w
+ # ("w" is the weight for 1-4 pair interactions, which we set to 0)
+
+ # NOTE: Currently, dihedral_coeff charmm does not allow non-integer d
+ # parameters. I'm hoping this will be fixed eventually.
+
+ write_once("In Settings") {
+ # Correct version:
+ #dihedral_coeff @dihedral:alpha1 charmm -1.5 1 57.2957795 0.0
+ # Replacing with
+ dihedral_coeff @dihedral:alpha1 charmm -1.5 1 57 0.0
+ # Correct version:
+ #dihedral_coeff @dihedral:alpha2 charmm 0.375 2 114.591559 0.0
+ # Replacing with
+ dihedral_coeff @dihedral:alpha2 charmm 0.375 2 115 0.0
+ dihedral_coeff @dihedral:beta1 charmm -1.5 1 180 0.0
+ dihedral_coeff @dihedral:beta2 charmm 0.375 2 360 0.0
+ dihedral_coeff @dihedral:turn1 charmm -3.0 1 90 0.0
+ # Correct version:
+ # dihedral_coeff @dihedral:turn2 charmm -3.0 1 11.4591559 0.0
+ # Replacing with
+ dihedral_coeff @dihedral:turn2 charmm -3.0 1 11 0.0
+ dihedral_coeff @dihedral:turn3 charmm -3.0 1 -90 0.0
+ dihedral_coeff @dihedral:turn4 charmm 0.0 1 0 0.0
+ dihedral_coeff @dihedral:turn5 charmm 0.0 1 0 0.0
+ }
+
+ write_once("In Settings") {
+ # Optional: define the atoms in the "proteins" group
+ group proteins type @atom:B
+ group proteins type @atom:L
+ group proteins type @atom:N
+ }
+
+ # LAMMPS has many available force field styles (and atom styles).
+ # Here, we pick the ones which work well for this molecular model:
+
+ write_once("In Init") {
+ # --- Default options for the "1BeadUnfrustrated" protein model ---
+ # --- (These can be overridden later.) ---
+ units lj
+ atom_style full
+ bond_style hybrid harmonic
+ angle_style hybrid harmonic
+ dihedral_style hybrid charmm
+ pair_style hybrid lj/charmm/coul/charmm/inter es4k4l maxmax 3.5 4.0
+ pair_modify mix arithmetic
+ special_bonds lj 0.0 0.0 1.0 #(turn on "1-4" interactions)
+ }
+
+} # 1beadUnfrustrated
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/moltemplate_files/1beadUnfrustrated_variants.lt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/moltemplate_files/1beadUnfrustrated_variants.lt
new file mode 100644
index 000000000..cbc8fe217
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/moltemplate_files/1beadUnfrustrated_variants.lt
@@ -0,0 +1,45 @@
+import "1beadUnfrustrated.lt"
+
+
+# Alternate starting conformation (same molecule):
+
+
+1beadUnfolded inherits 1beadUnfrustrated {
+
+ # This molecule "inherits" all of its features from "1beadUnfrustrated"
+ # Here we override the atomic positions with new coordinates:
+
+ # AtomID MoleculeID AtomType Charge X Y Z
+
+ write("Data Atoms") {
+ $atom:a1 $mol @atom:L 0.0 -2.4 1.7 -0.0
+ $atom:a2 $mol @atom:B 0.0 -1.8 1.7 0.8
+ $atom:a3 $mol @atom:L 0.0 -1.2 2.5 0.8
+ $atom:a4 $mol @atom:B 0.0 -0.6 2.5 -0.0
+ $atom:a5 $mol @atom:L 0.0 0.0 1.7 -0.0
+ $atom:a6 $mol @atom:B 0.0 0.6 1.7 0.8
+ $atom:a7 $mol @atom:N 0.0 1.2 2.5 0.8
+ $atom:a8 $mol @atom:N 0.0 1.8 2.5 -0.0
+ $atom:a9 $mol @atom:B 0.0 2.4 1.7 -0.0
+ $atom:a10 $mol @atom:L 0.0 3.0 1.7 -0.8
+ $atom:a11 $mol @atom:B 0.0 3.0 0.7 -0.8
+ $atom:a12 $mol @atom:L 0.0 3.0 0.1 -0.0
+ $atom:a13 $mol @atom:B 0.0 3.8 -0.5 -0.0
+ $atom:a14 $mol @atom:L 0.0 3.8 -1.1 -0.8
+ $atom:a15 $mol @atom:N 0.0 3.0 -1.7 -0.8
+ $atom:a16 $mol @atom:N 0.0 3.0 -1.7 0.2
+ $atom:a17 $mol @atom:N 0.0 2.4 -2.5 0.2
+ $atom:a18 $mol @atom:B 0.0 1.8 -2.5 -0.6
+ $atom:a19 $mol @atom:B 0.0 1.2 -1.7 -0.6
+ $atom:a20 $mol @atom:L 0.0 0.6 -1.7 0.2
+ $atom:a21 $mol @atom:L 0.0 -0.0 -2.5 0.2
+ $atom:a22 $mol @atom:B 0.0 -0.6 -2.5 -0.6
+ $atom:a23 $mol @atom:B 0.0 -1.2 -1.7 -0.6
+ $atom:a24 $mol @atom:L 0.0 -1.8 -1.7 0.2
+ $atom:a25 $mol @atom:L 0.0 -2.4 -2.5 0.2
+ $atom:a26 $mol @atom:B 0.0 -3.0 -2.5 -0.6
+ $atom:a27 $mol @atom:L 0.0 -3.6 -1.7 -0.6
+ }
+
+} # 1beadUnfolded
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/moltemplate_files/system.lt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/moltemplate_files/system.lt
new file mode 100644
index 000000000..5ebe6efb8
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/moltemplate_files/system.lt
@@ -0,0 +1,11 @@
+import "1beadUnfrustrated_variants.lt"
+
+
+protein = new 1beadUnfolded # (unfolded conformation, unfrustrated protein)
+
+
+write_once("Data Boundary") {
+ 0.0 27.0 xlo xhi
+ 0.0 27.0 ylo yhi
+ 0.0 27.0 zlo zhi
+}
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/run.in.min b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/run.in.min
new file mode 100644
index 000000000..8eb3a03cb
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/run.in.min
@@ -0,0 +1,19 @@
+# -- Init section --
+
+include system.in.init
+
+# -- Atom definition section --
+
+read_data system.data
+
+# -- Settings Section --
+
+include system.in.settings
+
+# -- Run section --
+
+dump 1 all custom 50 traj_min.lammpstrj id mol type x y z ix iy iz
+
+minimize 1.0e-5 1.0e-7 500 2000
+
+write_data system_after_min.data
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/run.in.nvt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/run.in.nvt
new file mode 100644
index 000000000..e49206ee3
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1bead+chaperone/unfrustrated/run.in.nvt
@@ -0,0 +1,46 @@
+# -- Init Section --
+
+include system.in.init
+
+# -- Atom Definition Section --
+
+# I you want to be careful, you can minimize the system first.
+# (Try using "run.in.min" and uncomment the line below.)
+# read_data system_after_min.data
+
+read_data system.data
+
+# -- Settings Section --
+
+include system.in.settings
+
+# -- Run Section --
+
+
+timestep 0.025
+dump 1 all custom 50 traj_nvt.lammpstrj id mol type x y z ix iy iz
+
+# To use Langevin dynamics in LAMMPS you need both "fix langevin" and "fix nve".
+# (See http://lammps.sandia.gov/doc/fix_langevin.html for details.)
+
+fix fxlan all langevin 0.39 0.39 1.0 48279
+fix fxnve all nve
+
+# Notes:
+# The temperature is in reduced units and is set to 0.39
+# which is the folding temperature for the unfrustrated protein.
+# The inverse-damping-rate "damp" (which has units of time) is set to 1.0,
+# as it was in the paper. (Hopefully folding times should be similar.)
+# (See http://lammps.sandia.gov/doc/fix_langevin.html)
+
+
+thermo_style custom step temp pe etotal press vol epair ebond eangle edihed
+thermo_modify norm no #(report total energy not energy / num_atoms)
+thermo 50 #(time interval for printing out "thermo" data)
+
+#restart 100000000 restart_nvt
+
+run 8000
+
+write_data system_after_nvt.data
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/README.txt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/README.txt
new file mode 100644
index 000000000..03361928e
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/README.txt
@@ -0,0 +1,44 @@
+# -------- REQUIREMENTS: ---------
+# 1) This example requires the "USER-MISC" package. (Use "make yes-USER-MISC")
+# http://lammps.sandia.gov/doc/Section_start.html#start_3
+# 2) It also may require additional features and bug fixes for LAMMPS.
+# be sure to download and copy the "additional_lammps_code" from
+# http://moltemplate.org (upper-left corner menu)
+# 3) Unpack it
+# 4) copy the .cpp and .h files to the src folding of your lammps installation.
+# 5) Compile LAMMPS.
+
+This is an example of a very simple coarse-grained protein.
+
+This example contains a 1-bead (C-alpha model) representation of the
+"unfrustrated" 4-helix bundle model used in this paper:
+G. Bellesia, AI Jewett, and J-E Shea, Protein Science, Vol19 141-154 (2010)
+
+In this model, there are three atom-types (bead-types), H, L, and N
+representing one amino-acid each. The "H" beads represent the hydrophobic
+amino acids, and are attracted to eachother with a strength of "1.0"
+(in dimensionless units of "epsilon"). The "L" and "N" atoms are
+hydrophilic and purely repulsive, and only differ in their secondary-structure
+propensity (ie their dihedral parameters).
+
+The dihedral-interaction is bi-stable with two deep local minima (corresponding
+to helix-like and sheet-like secondary structure). You can adjust the bias
+in favor of one minima or another by modifying the angle-shift parameter in
+the appropriate "dihedral_coeff" command in the other .lt file.
+
+A definition for the 4-sheet beta-barell protein model is also included.
+If you want to simulate that molecule instead, then edit the "system.lt"
+file (in the "moltemplate_files" subdirectory), and replace this line:
+prot = new 4HelixBundle
+ with
+prot = new 4SheetBundle
+
+-------------
+Instructions on how to build LAMMPS input files and
+run a short simulation are provided in other README files.
+
+step 1)
+README_setup.sh
+
+step2)
+README_run.sh
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/README_run.sh b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/README_run.sh
new file mode 100755
index 000000000..4b0229453
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/README_run.sh
@@ -0,0 +1,31 @@
+# You would probably run lammps this way:
+#
+# lmp_ubuntu -i run.in.nvt
+
+# The files "run.in.min", and "run.in.nvt" are LAMMPS input scripts which refer
+# to the input scripts & data files you created earlier when you ran moltemplate
+# system.in.init, system.in.settings, system.data
+
+
+
+
+# -----------------------------------
+
+
+
+LAMMPS_COMMAND="lmp_mpi"
+
+# Here "$LAMMPS_BINARY" is the name of the command you use to invoke lammps
+# (such as lmp_ubuntu, lmp_mac_mpi, lmp_cygwin etc...) Change if necessary.
+
+# Run lammps using the following 3 commands:
+
+"$LAMMPS_COMMAND" -i run.in.min # minimize (OPTIONAL)
+"$LAMMPS_COMMAND" -i run.in.nvt # production run
+
+# Alternately, if you have MPI installed, try something like this:
+
+#NUMPROCS=4
+#mpirun -np $NUMPROCS "$LAMMPS_COMMAND" -i run.in.min # minimize (OPTIONAL)
+#mpirun -np $NUMPROCS "$LAMMPS_COMMAND" -i run.in.nvt # production run
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/README_setup.sh b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/README_setup.sh
new file mode 100755
index 000000000..886551ffb
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/README_setup.sh
@@ -0,0 +1,23 @@
+# Use these commands to generate the LAMMPS input script and data file
+# (and other auxilliary files):
+
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh -overlay-dihedrals system.lt
+
+ # This will generate various files with names ending in *.in* and *.data.
+ # These files are the input files directly read by LAMMPS. Move them to
+ # the parent directory (or wherever you plan to run the simulation).
+
+ mv -f system.in* system.data ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/README_visualize.txt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/README_visualize.txt
new file mode 100644
index 000000000..a3e3ed620
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0}
+ pbc box -shiftcenterrel {0.0 0.15 0.0}
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/images/4HelixBundle_t=0.jpg b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/images/4HelixBundle_t=0.jpg
new file mode 100644
index 000000000..b4d919f9e
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/images/4HelixBundle_t=0.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/images/4SheetBundle_t=0.jpg b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/images/4SheetBundle_t=0.jpg
new file mode 100644
index 000000000..cd65146ff
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/images/4SheetBundle_t=0.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/moltemplate_files/1beadProtSci2010.lt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/moltemplate_files/1beadProtSci2010.lt
new file mode 100644
index 000000000..9b4ff2535
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/moltemplate_files/1beadProtSci2010.lt
@@ -0,0 +1,274 @@
+# This file defines a family of coarse-grained protein models used in:
+# G. Bellesia, AI Jewett, and J-E Shea, Protein Science, Vol19 141-154 (2010)
+#
+# Strategy:
+#
+#1) First I'll define some building blocks (A16, B16, T3)
+# which are helices, sheets and turns of a predetermined length)
+#
+#2) Then I'll copy and paste them together to build
+# a 4-helix bundle or a 4-strand beta-barrel.
+# This approach is optional. If your protein has helices which are not
+# identical, you should probably just include all 4 helices in a single
+# "Data Atoms" section and don't try to subdivide the protein into pieces.)
+
+
+1beadProtSci2010 { # <-- enclose definitions in a namespace for portability
+
+ write_once("In Init") {
+ units lj
+ atom_style full
+ bond_style hybrid harmonic
+ angle_style hybrid harmonic
+ dihedral_style hybrid fourier
+ pair_style hybrid lj/charmm/coul/charmm/inter es4k4l maxmax 3.5 4.0
+ pair_modify mix arithmetic
+ special_bonds lj 0.0 0.0 1.0 #(turn on "1-4" interactions)
+ }
+
+
+ # A16 is a coarse-grained alpha-helix containing 16 residues (one "atom" each)
+
+ A16 {
+
+ # AtomID MoleculeID AtomType Charge X Y Z
+
+ write('Data Atoms') {
+ $atom:a1 $mol:... @atom:../L 0.0 -0.4 -0.4 0.0
+ $atom:a2 $mol:... @atom:../L 0.0 0.4 -0.4 0.6
+ $atom:a3 $mol:... @atom:../H 0.0 0.4 0.4 1.2
+ $atom:a4 $mol:... @atom:../H 0.0 -0.4 0.4 1.8
+ $atom:a5 $mol:... @atom:../L 0.0 -0.4 -0.4 2.4
+ $atom:a6 $mol:... @atom:../L 0.0 0.4 -0.4 3.0
+ $atom:a7 $mol:... @atom:../H 0.0 0.4 0.4 3.6
+ $atom:a8 $mol:... @atom:../H 0.0 -0.4 0.4 4.2
+ $atom:a9 $mol:... @atom:../L 0.0 -0.4 -0.4 4.8
+ $atom:a10 $mol:... @atom:../L 0.0 0.4 -0.4 5.4
+ $atom:a11 $mol:... @atom:../H 0.0 0.4 0.4 6.0
+ $atom:a12 $mol:... @atom:../H 0.0 -0.4 0.4 6.6
+ $atom:a13 $mol:... @atom:../L 0.0 -0.4 -0.4 7.2
+ $atom:a14 $mol:... @atom:../L 0.0 0.4 -0.4 7.8
+ $atom:a15 $mol:... @atom:../H 0.0 0.4 0.4 8.4
+ $atom:a16 $mol:... @atom:../H 0.0 -0.4 0.4 9.0
+ }
+
+ write('Data Bonds') {
+ $bond:b1 @bond:../backbone $atom:a1 $atom:a2
+ $bond:b2 @bond:../backbone $atom:a2 $atom:a3
+ $bond:b3 @bond:../backbone $atom:a3 $atom:a4
+ $bond:b4 @bond:../backbone $atom:a4 $atom:a5
+ $bond:b5 @bond:../backbone $atom:a5 $atom:a6
+ $bond:b6 @bond:../backbone $atom:a6 $atom:a7
+ $bond:b7 @bond:../backbone $atom:a7 $atom:a8
+ $bond:b8 @bond:../backbone $atom:a8 $atom:a9
+ $bond:b9 @bond:../backbone $atom:a9 $atom:a10
+ $bond:b10 @bond:../backbone $atom:a10 $atom:a11
+ $bond:b11 @bond:../backbone $atom:a11 $atom:a12
+ $bond:b12 @bond:../backbone $atom:a12 $atom:a13
+ $bond:b13 @bond:../backbone $atom:a13 $atom:a14
+ $bond:b14 @bond:../backbone $atom:a14 $atom:a15
+ $bond:b15 @bond:../backbone $atom:a15 $atom:a16
+ }
+
+ } # A16
+
+
+ # B16 is a coarse-grained beta-strand containing 16 residues (one "atom" each)
+
+ B16 {
+
+ # AtomID MoleculeID AtomType Charge X Y Z
+
+ write('Data Atoms') {
+ $atom:a1 $mol:... @atom:../L 0.0 -0.3 0.0 0.0
+ $atom:a2 $mol:... @atom:../H 0.0 0.3 0.0 0.8
+ $atom:a3 $mol:... @atom:../L 0.0 -0.3 0.0 1.6
+ $atom:a4 $mol:... @atom:../H 0.0 0.3 0.0 2.4
+ $atom:a5 $mol:... @atom:../L 0.0 -0.3 0.0 3.2
+ $atom:a6 $mol:... @atom:../H 0.0 0.3 0.0 4.0
+ $atom:a7 $mol:... @atom:../L 0.0 -0.3 0.0 4.8
+ $atom:a8 $mol:... @atom:../H 0.0 0.3 0.0 5.6
+ $atom:a9 $mol:... @atom:../L 0.0 -0.3 0.0 6.4
+ $atom:a10 $mol:... @atom:../H 0.0 0.3 0.0 7.2
+ $atom:a11 $mol:... @atom:../L 0.0 -0.3 0.0 8.0
+ $atom:a12 $mol:... @atom:../H 0.0 0.3 0.0 8.8
+ $atom:a13 $mol:... @atom:../L 0.0 -0.3 0.0 9.6
+ $atom:a14 $mol:... @atom:../H 0.0 0.3 0.0 10.4
+ $atom:a15 $mol:... @atom:../L 0.0 -0.3 0.0 11.2
+ $atom:a16 $mol:... @atom:../H 0.0 0.3 0.0 12.0
+ }
+
+ write('Data Bonds') {
+ $bond:b1 @bond:../backbone $atom:a1 $atom:a2
+ $bond:b2 @bond:../backbone $atom:a2 $atom:a3
+ $bond:b3 @bond:../backbone $atom:a3 $atom:a4
+ $bond:b4 @bond:../backbone $atom:a4 $atom:a5
+ $bond:b5 @bond:../backbone $atom:a5 $atom:a6
+ $bond:b6 @bond:../backbone $atom:a6 $atom:a7
+ $bond:b7 @bond:../backbone $atom:a7 $atom:a8
+ $bond:b8 @bond:../backbone $atom:a8 $atom:a9
+ $bond:b9 @bond:../backbone $atom:a9 $atom:a10
+ $bond:b10 @bond:../backbone $atom:a10 $atom:a11
+ $bond:b11 @bond:../backbone $atom:a11 $atom:a12
+ $bond:b12 @bond:../backbone $atom:a12 $atom:a13
+ $bond:b13 @bond:../backbone $atom:a13 $atom:a14
+ $bond:b14 @bond:../backbone $atom:a14 $atom:a15
+ $bond:b15 @bond:../backbone $atom:a15 $atom:a16
+ }
+
+ } # B16
+
+ T3 { # T3 is a "turn" region consisting of 3 beads
+
+ # AtomID MoleculeID AtomType Charge X Y Z
+
+ write('Data Atoms') {
+ $atom:a1 $mol:... @atom:../N 0.0 -0.8 0.0 0.0
+ $atom:a2 $mol:... @atom:../N 0.0 0.0 0.55 -0.24
+ $atom:a3 $mol:... @atom:../N 0.0 0.8 0.0 0.0
+ }
+
+ write('Data Bonds') {
+ $bond:b1 @bond:../backbone $atom:a1 $atom:a2
+ $bond:b2 @bond:../backbone $atom:a2 $atom:a3
+ }
+
+ } # T3
+
+ # ----- Now build larger molecules using A16, B16 and T3 -------
+
+ 4SheetBarrel {
+
+ sheet1 = new B16.rot( 45, 0,0,1).move(-0.793700526,-0.793700526, -6)
+ sheet2 = new B16.rot( 135, 0,0,1).move( 0.793700526,-0.793700526, -6)
+ sheet3 = new B16.rot( 225, 0,0,1).move( 0.793700526, 0.793700526, -6)
+ sheet4 = new B16.rot( 315, 0,0,1).move(-0.793700526, 0.793700526, -6)
+
+ turn1 = new T3.rot(180,1,0,0).rot(0,0,0,1).move(0,-1.3,6.6)
+ turn2 = new T3.rot( 0,1,0,0).rot(-90,0,0,1).move(0.7,-0.0,-6.9)
+ turn3 = new T3.rot(180,1,0,0).rot(-180,0,0,1).move(0,1.3,6.6)
+
+ write('Data Bonds') {
+ $bond:turn1a @bond:../backbone $atom:turn1/a1 $atom:sheet1/a16
+ $bond:turn1b @bond:../backbone $atom:turn1/a3 $atom:sheet2/a16
+ $bond:turn2a @bond:../backbone $atom:turn2/a1 $atom:sheet3/a1
+ $bond:turn2b @bond:../backbone $atom:turn2/a3 $atom:sheet2/a1
+ $bond:turn3a @bond:../backbone $atom:turn3/a1 $atom:sheet3/a16
+ $bond:turn3b @bond:../backbone $atom:turn3/a3 $atom:sheet4/a16
+ }
+ create_var { $mol } # molecule ID number shared by all atoms in this protein
+ }
+
+
+ 4HelixBundle {
+
+ helix1 = new A16.rot( -45, 0,0,1).move(-1.12691645,-1.12691645, -4.5)
+ helix2 = new A16.rot( 45, 0,0,1).move( 1.12691645,-1.12691645, -4.5)
+ helix3 = new A16.rot( 135, 0,0,1).move( 1.12691645, 1.12691645, -4.5)
+ helix4 = new A16.rot( 225, 0,0,1).move(-1.12691645, 1.12691645, -4.5)
+
+ turn1 = new T3.rot(180,1,0,0).rot(-17,0,0,1).move(-0.2,-0.7,5.4)
+ turn2 = new T3.rot( 0,1,0,0).rot(-100,0,0,1).move(0.7,-0.15,-4.8)
+ turn3 = new T3.rot(180,1,0,0).rot(163,0,0,1).move(0.2,0.7,5.4)
+
+ write('Data Bonds') {
+ $bond:turn1a @bond:../backbone $atom:turn1/a1 $atom:helix1/a16
+ $bond:turn1b @bond:../backbone $atom:turn1/a3 $atom:helix2/a16
+ $bond:turn2a @bond:../backbone $atom:turn2/a1 $atom:helix3/a1
+ $bond:turn2b @bond:../backbone $atom:turn2/a3 $atom:helix2/a1
+ $bond:turn3a @bond:../backbone $atom:turn3/a1 $atom:helix3/a16
+ $bond:turn3b @bond:../backbone $atom:turn3/a3 $atom:helix4/a16
+ }
+ create_var { $mol } # molecule ID number shared by all atoms in this protein
+ }
+
+
+
+ # 2-body (non-bonded) interactions:
+ #
+ # Uij(r) = 4*eps_ij * (K*(sig_ij/r)^12 + L*(sig_ij/r)^6)
+ #
+ # i j pairstylename eps sig K L
+ #
+ write_once("In Settings") {
+ pair_coeff @atom:H @atom:H lj/charmm/coul/charmm/inter 1.0 1.0 1 -1
+ pair_coeff @atom:L @atom:L lj/charmm/coul/charmm/inter 1.0 1.0 1 0
+ pair_coeff @atom:N @atom:N lj/charmm/coul/charmm/inter 1.0 1.0 1 0
+ }
+ # Interactions between different atoms use "repulsive wins" mixing rules
+
+
+ # bond_coeff bondType bondstylename k r0
+
+ write_once("In Settings") {
+ bond_coeff @bond:backbone harmonic 66.6 1.0
+ }
+
+
+ # angle_coeff angleType anglestylename k theta0
+
+ write_once("In Settings") {
+ angle_coeff @angle:backbone harmonic 66.6 105.0
+ }
+
+ # We use the same bond-angle forces whenever
+ # there are 3 consecutively-bonded atoms:
+ #
+ # angleType atomtypes1 2 3 bondtypes1 2
+
+ write_once("Data Angles By Type") {
+ @angle:backbone @atom:* @atom:* @atom:* @bond:* @bond:*
+ }
+
+
+
+ # From the Bellesia et al 2010 paper:
+ # for helices: U_{dih}(\phi) = 1.2*(cos(3\phi) + cos(\phi+\delta))
+ # for turns: U_{dih}(\phi) = 0.2*cos(3\phi)
+ #
+ # General formula used for "dihedral_style fourier":
+ # U_{dih}(\phi) = \Sum_{i=1}^m K_i [ 1.0 + cos(n_i \phi - d_i) ]
+ #
+ # Syntax:
+ # dihedralType dihedralstyle m K_1 n_1 d_1 K2 n_2 d_2 ...
+
+ write_once("In Settings") {
+ dihedral_coeff @dihedral:delta60_0 fourier 2 2.167862 3 0 2.167862 1 -60.0
+ dihedral_coeff @dihedral:delta62_5 fourier 2 2.167862 3 0 2.167862 1 -62.5
+ dihedral_coeff @dihedral:delta65_0 fourier 2 2.167862 3 0 2.167862 1 -65.0
+ dihedral_coeff @dihedral:turn fourier 1 0.361310 3 0
+ # Note: 2.167862=1.2*epsilon and 0.361310=0.2*epsilon.
+ }
+
+
+ # dihedralType atomtypes1 2 3 4 bondtypes1 2 3
+
+ write_once("Data Dihedrals By Type") {
+ @dihedral:delta60_0 @atom:H @atom:L @atom:H @atom:L * * *
+ @dihedral:delta60_0 @atom:H @atom:H @atom:L @atom:L * * *
+ @dihedral:delta60_0 @atom:H @atom:L @atom:L @atom:H * * *
+ @dihedral:delta60_0 @atom:L @atom:H @atom:H @atom:L * * *
+ @dihedral:turn @atom:N @atom:* @atom:* @atom:* * * *
+ }
+ # Note: This next rule is not needed:
+ # @dihedral:turn @atom:* @atom:* @atom:* @atom:N * * *
+ # (By reflection symmetry, it's equivalent to the rule above.)
+ #
+ # Note: The example in ../../membrane+protein/moltemplate_files/
+ # demonstrates how to define dihedral angles for this model
+ # in an alternate way which might be easier to understand.
+
+
+ # --- Mass Units ---
+ # There are 3 atom types (referred to above as ../H, ../L, and ../N)
+ # Define their masses (in reduced units):
+
+ write_once("Data Masses") {
+ @atom:H 1.0
+ @atom:L 1.0
+ @atom:N 1.0
+ }
+
+
+} # 1beadProtSci2010 (namespace)
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/moltemplate_files/README.sh b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/moltemplate_files/README.sh
new file mode 100755
index 000000000..852b9b76f
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/moltemplate_files/README.sh
@@ -0,0 +1,13 @@
+# run moltemplate this way
+
+moltemplate.sh system.lt
+
+# This will generate various files with names ending in *.in* and *.data
+# which are needed by LAMMPS.
+
+# ------ Other versions: --------
+#
+# If you are using the "other_versions/charmm/1beadProtSci2010.lt" file,
+# then you must run moltemplate this way:
+#
+# moltemplate.sh -overlay-dihdedrals system.lt
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/moltemplate_files/other_implementations/README.txt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/moltemplate_files/other_implementations/README.txt
new file mode 100644
index 000000000..82bc8c5c4
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/moltemplate_files/other_implementations/README.txt
@@ -0,0 +1,13 @@
+This directory contains other versions of the same molecule
+(with the same force-field), implemented in different ways.
+
+charmm/1beadProtSci2010.lt <-- This applies multiple "charmm" dihedral angle
+ forces to the same quartet of atoms to create
+ a Fourier series. (No packages needed.)
+
+ NOTE: You must run moltemplate this way:
+
+ moltemplate.sh -overlay-dihdedrals system.lt
+
+class2/1beadProtSci2010.lt <-- This uses the "class2" dihedral angles forces
+ (You must build LAMMPS with the CLASS2 package)
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/moltemplate_files/other_implementations/charmm/1beadProtSci2010.lt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/moltemplate_files/other_implementations/charmm/1beadProtSci2010.lt
new file mode 100644
index 000000000..d57186bee
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/moltemplate_files/other_implementations/charmm/1beadProtSci2010.lt
@@ -0,0 +1,411 @@
+# This file defines a family of coarse-grained protein models used in:
+# G. Bellesia, AI Jewett, and J-E Shea, Protein Science, Vol19 141-154 (2010)
+#
+#
+# For portability, all definitions in this file are enclosed within
+# the "1beadProtSci2010" namespace. To access them, put
+# "using namespace 1beadProtSci2010" in your LT file.
+
+# Strategy:
+#
+#1) First I'll define some building blocks
+# (short helices, sheets and turns of a predetermined length)
+#
+#2) Then I'll cut and paste them together to build
+# a 4-helix bundle or a 4-strand beta-barrel.
+#
+# Doing it this way is optional. It's simpler (but longer) to simply write
+# out the entire sequence of all 73 atoms in a single "Data Atoms" section.
+# (IE. Don't try to subdivide it.) It's also simpler to explicitly list the
+# 72 bonds, 71 3-body angles and 70 4-body dihedral angle interactions
+# manually (instead of inferring them from the atom type). If your protein
+# has helices which are not identical, this would probably be easier.
+# Use whichever style you prefer.
+#
+#
+# Note that atom types, bond types, angle types, and dihedral types
+# are shared between all molecules defined in the "1beadProtSci2010" family.
+# (That's why there is a "../" in their path-names. Otherwise atom, bond,
+# angle types, etc... are not shared between different molecules.)
+#
+# Confusing detail:
+# Each molecule in LAMMPS can be assigned a unique molecule-ID (an integer).
+# These are represented by the "$mol" variable written next to each atom.
+# Our protein has multiple subunits (in this case: helices, sheets, turns).
+# Because we want the subunits to share the same molecule-ID counter we use
+# "$mol:..." instead of "$mol" which tells moltemplate to search for the
+# parent molecule's ID. This is optional. If it bothers you, just use "$mol"
+
+
+
+1beadProtSci2010 {
+
+ write_once("In Init") {
+ # -- Default styles for "1beadProtSci2010" --
+ units lj
+ atom_style full
+ # (Hybrid force fields were not necessary but are used for portability.)
+ bond_style hybrid harmonic
+ angle_style hybrid harmonic
+ dihedral_style hybrid charmm
+ pair_style hybrid lj/charmm/coul/charmm/inter es4k4l maxmax 3.5 4.0
+
+ # If charges are needed, (assuming biopolymers), try one of:
+ #dielectric 80.0
+ #pair_style hybrid lj/cut/coul/debye 0.1 4.0
+ # or (for short distances, below a couple nm)
+ #pair_style hybrid lj/charmm/coul/charmm/implicit 3.5 4.0
+
+ pair_modify mix arithmetic
+ special_bonds lj 0.0 0.0 1.0 #(turn on "1-4" interactions)
+ }
+
+
+ # ---- Building blocks: A16, B16, Turn3 ----
+
+ # A16 is a coarse-grained alpha-helix containing 16 residues (one "atom" each)
+
+ A16 {
+
+ # AtomID MoleculeID AtomType Charge X Y Z
+
+ write('Data Atoms') {
+ $atom:a1 $mol:... @atom:../L 0.0 -0.4 -0.4 0.0
+ $atom:a2 $mol:... @atom:../L 0.0 0.4 -0.4 0.6
+ $atom:a3 $mol:... @atom:../H 0.0 0.4 0.4 1.2
+ $atom:a4 $mol:... @atom:../H 0.0 -0.4 0.4 1.8
+ $atom:a5 $mol:... @atom:../L 0.0 -0.4 -0.4 2.4
+ $atom:a6 $mol:... @atom:../L 0.0 0.4 -0.4 3.0
+ $atom:a7 $mol:... @atom:../H 0.0 0.4 0.4 3.6
+ $atom:a8 $mol:... @atom:../H 0.0 -0.4 0.4 4.2
+ $atom:a9 $mol:... @atom:../L 0.0 -0.4 -0.4 4.8
+ $atom:a10 $mol:... @atom:../L 0.0 0.4 -0.4 5.4
+ $atom:a11 $mol:... @atom:../H 0.0 0.4 0.4 6.0
+ $atom:a12 $mol:... @atom:../H 0.0 -0.4 0.4 6.6
+ $atom:a13 $mol:... @atom:../L 0.0 -0.4 -0.4 7.2
+ $atom:a14 $mol:... @atom:../L 0.0 0.4 -0.4 7.8
+ $atom:a15 $mol:... @atom:../H 0.0 0.4 0.4 8.4
+ $atom:a16 $mol:... @atom:../H 0.0 -0.4 0.4 9.0
+ }
+
+ write('Data Bonds') {
+ $bond:b1 @bond:../backbone $atom:a1 $atom:a2
+ $bond:b2 @bond:../backbone $atom:a2 $atom:a3
+ $bond:b3 @bond:../backbone $atom:a3 $atom:a4
+ $bond:b4 @bond:../backbone $atom:a4 $atom:a5
+ $bond:b5 @bond:../backbone $atom:a5 $atom:a6
+ $bond:b6 @bond:../backbone $atom:a6 $atom:a7
+ $bond:b7 @bond:../backbone $atom:a7 $atom:a8
+ $bond:b8 @bond:../backbone $atom:a8 $atom:a9
+ $bond:b9 @bond:../backbone $atom:a9 $atom:a10
+ $bond:b10 @bond:../backbone $atom:a10 $atom:a11
+ $bond:b11 @bond:../backbone $atom:a11 $atom:a12
+ $bond:b12 @bond:../backbone $atom:a12 $atom:a13
+ $bond:b13 @bond:../backbone $atom:a13 $atom:a14
+ $bond:b14 @bond:../backbone $atom:a14 $atom:a15
+ $bond:b15 @bond:../backbone $atom:a15 $atom:a16
+ }
+
+ } # A16
+
+
+ # B16 is a coarse-grained beta-strand containing 16 residues (one "atom" each)
+
+ B16 {
+
+ # AtomID MoleculeID AtomType Charge X Y Z
+
+ write('Data Atoms') {
+ $atom:a1 $mol:... @atom:../L 0.0 -0.3 0.0 0.0
+ $atom:a2 $mol:... @atom:../H 0.0 0.3 0.0 0.8
+ $atom:a3 $mol:... @atom:../L 0.0 -0.3 0.0 1.6
+ $atom:a4 $mol:... @atom:../H 0.0 0.3 0.0 2.4
+ $atom:a5 $mol:... @atom:../L 0.0 -0.3 0.0 3.2
+ $atom:a6 $mol:... @atom:../H 0.0 0.3 0.0 4.0
+ $atom:a7 $mol:... @atom:../L 0.0 -0.3 0.0 4.8
+ $atom:a8 $mol:... @atom:../H 0.0 0.3 0.0 5.6
+ $atom:a9 $mol:... @atom:../L 0.0 -0.3 0.0 6.4
+ $atom:a10 $mol:... @atom:../H 0.0 0.3 0.0 7.2
+ $atom:a11 $mol:... @atom:../L 0.0 -0.3 0.0 8.0
+ $atom:a12 $mol:... @atom:../H 0.0 0.3 0.0 8.8
+ $atom:a13 $mol:... @atom:../L 0.0 -0.3 0.0 9.6
+ $atom:a14 $mol:... @atom:../H 0.0 0.3 0.0 10.4
+ $atom:a15 $mol:... @atom:../L 0.0 -0.3 0.0 11.2
+ $atom:a16 $mol:... @atom:../H 0.0 0.3 0.0 12.0
+ }
+
+ write('Data Bonds') {
+ $bond:b1 @bond:../backbone $atom:a1 $atom:a2
+ $bond:b2 @bond:../backbone $atom:a2 $atom:a3
+ $bond:b3 @bond:../backbone $atom:a3 $atom:a4
+ $bond:b4 @bond:../backbone $atom:a4 $atom:a5
+ $bond:b5 @bond:../backbone $atom:a5 $atom:a6
+ $bond:b6 @bond:../backbone $atom:a6 $atom:a7
+ $bond:b7 @bond:../backbone $atom:a7 $atom:a8
+ $bond:b8 @bond:../backbone $atom:a8 $atom:a9
+ $bond:b9 @bond:../backbone $atom:a9 $atom:a10
+ $bond:b10 @bond:../backbone $atom:a10 $atom:a11
+ $bond:b11 @bond:../backbone $atom:a11 $atom:a12
+ $bond:b12 @bond:../backbone $atom:a12 $atom:a13
+ $bond:b13 @bond:../backbone $atom:a13 $atom:a14
+ $bond:b14 @bond:../backbone $atom:a14 $atom:a15
+ $bond:b15 @bond:../backbone $atom:a15 $atom:a16
+ }
+
+ } # B16
+
+ T3 { # T3 is a "turn" region consisting of 3 beads
+
+ # AtomID MoleculeID AtomType Charge X Y Z
+
+ write('Data Atoms') {
+ $atom:a1 $mol:... @atom:../N 0.0 -0.8 0.0 0.0
+ $atom:a2 $mol:... @atom:../N 0.0 0.0 0.55 -0.24
+ $atom:a3 $mol:... @atom:../N 0.0 0.8 0.0 0.0
+ }
+
+ write('Data Bonds') {
+ $bond:b1 @bond:../backbone $atom:a1 $atom:a2
+ $bond:b2 @bond:../backbone $atom:a2 $atom:a3
+ }
+
+ } # T3
+
+ # (Note: Again, atom types, bond-types, (dihedral-types, any variable, etc)
+ # can be shared. The ".." in "@atom:../CA" tells moltemplate that
+ # atom type CA is defined in the parent's environment. (We are
+ # sharing the CA atom type between both the H and P residues.
+ # The same is true of the ".." in "@bond:../sidechain".
+ #
+ #
+ # Note: The "..." in "$mol:..." tells moltemplate that this molecule may
+ # be a part of a larger molecule, and (if so) to use the larger
+ # molecule's id number as it's own.
+
+
+
+ # ----- Now build larger molecules using A16, B16 and T3 -------
+
+ 4HelixBundle {
+
+ helix1 = new A16.rot( -45, 0,0,1).move(-1.12691645,-1.12691645, 0)
+ helix2 = new A16.rot( 45, 0,0,1).move( 1.12691645,-1.12691645, 0)
+ helix3 = new A16.rot( 135, 0,0,1).move( 1.12691645, 1.12691645, 0)
+ helix4 = new A16.rot( 225, 0,0,1).move(-1.12691645, 1.12691645, 0)
+ # Note: 1.12691645 ~= 0.5*2^(1/6) + 0.4*sqrt(2)
+
+ turn1 = new T3.rot(180,1,0,0).rot(-17,0,0,1).move(-0.2,-0.7,9.9)
+ turn2 = new T3.rot( 0,1,0,0).rot(-100,0,0,1).move(0.7,-0.15,-0.3)
+ turn3 = new T3.rot(180,1,0,0).rot(163,0,0,1).move(0.2,0.7,9.9)
+
+ # Note: In the paper, this is described as the "UA2" conformation
+ # (I played around with the angles until it looked "okay". This is not
+ # the minimum energy conformation. Further minimization is necessary.)
+
+ # Now bond the pieces together.
+ # (Note: angle & dihedral interactions will be generated automatically.)
+ write('Data Bonds') {
+ $bond:turn1a @bond:../backbone $atom:turn1/a1 $atom:helix1/a16
+ $bond:turn1b @bond:../backbone $atom:turn1/a3 $atom:helix2/a16
+ $bond:turn2a @bond:../backbone $atom:turn2/a1 $atom:helix3/a1
+ $bond:turn2b @bond:../backbone $atom:turn2/a3 $atom:helix2/a1
+ $bond:turn3a @bond:../backbone $atom:turn3/a1 $atom:helix3/a16
+ $bond:turn3b @bond:../backbone $atom:turn3/a3 $atom:helix4/a16
+ }
+ create_var { $mol } # <-- create a variable for the parent's Molecule-ID
+ }
+
+ 4SheetBundle {
+
+ sheet1 = new B16.rot( 45, 0,0,1).move(-0.793700526,-0.793700526, 0)
+ sheet2 = new B16.rot( 135, 0,0,1).move( 0.793700526,-0.793700526, 0)
+ sheet3 = new B16.rot( 225, 0,0,1).move( 0.793700526, 0.793700526, 0)
+ sheet4 = new B16.rot( 315, 0,0,1).move(-0.793700526, 0.793700526, 0)
+ # Note: 0.793700526 ~= 0.5*2^(1/6) * sqrt(1/2)
+
+ turn1 = new T3.rot(180,1,0,0).rot(0,0,0,1).move(0,-1.3,12.6)
+ turn2 = new T3.rot( 0,1,0,0).rot(-90,0,0,1).move(0.7,-0.0,-0.9)
+ turn3 = new T3.rot(180,1,0,0).rot(-180,0,0,1).move(0,1.3,12.6)
+
+ write('Data Bonds') {
+ $bond:turn1a @bond:../backbone $atom:turn1/a1 $atom:sheet1/a16
+ $bond:turn1b @bond:../backbone $atom:turn1/a3 $atom:sheet2/a16
+ $bond:turn2a @bond:../backbone $atom:turn2/a1 $atom:sheet3/a1
+ $bond:turn2b @bond:../backbone $atom:turn2/a3 $atom:sheet2/a1
+ $bond:turn3a @bond:../backbone $atom:turn3/a1 $atom:sheet3/a16
+ $bond:turn3b @bond:../backbone $atom:turn3/a3 $atom:sheet4/a16
+ }
+ create_var { $mol } # molecule ID number shared by all atoms in this protein
+ }
+
+
+ # There are 3 atom types (referred to above as ../H, ../L, and ../N)
+ # Define their masses:
+
+ write_once("Data Masses") {
+ @atom:H 1.0
+ @atom:L 1.0
+ @atom:N 1.0
+
+ }
+
+
+
+ # --------------------------------------------------------------------
+ # -- In this example, all force field parameters are stored in the --
+ # -- file named "In Settings". They can also go in sections like --
+ # -- "Data Pair Coeffs", "Data Bond Coeffs", "Data Angle Coeffs"... --
+ # --------------------------------------------------------------------
+
+
+
+
+ # 2-body (non-bonded) interactions:
+ #
+ # Uij(r) = 4*eps_ij * (K*(sig_ij/r)^12 + L*(sig_ij/r)^6)
+ #
+ # i j pairstylename eps sig K L
+ #
+ write_once("In Settings") {
+ pair_coeff @atom:H @atom:H lj/charmm/coul/charmm/inter 1.0 1.0 1 -1
+ pair_coeff @atom:L @atom:L lj/charmm/coul/charmm/inter 1.0 1.0 1 0
+ pair_coeff @atom:N @atom:N lj/charmm/coul/charmm/inter 1.0 1.0 1 0
+ }
+ # (Interactions between different atom types use "arithmetic"
+ # and "maxmax" ("repulsion-wins") mixing rules.)
+
+
+ # 2-body (bonded) interactions:
+ #
+ # Ubond(r) = (k/2)*(r-0)^2
+ #
+ # The corresponding command is:
+ #
+ # bond_coeff bondType bondstylename k r0
+ #
+
+ write_once("In Settings") {
+ bond_coeff @bond:backbone harmonic 66.6 1.0
+ }
+
+
+
+ # 3-body interactions in this example are listed by atomType and bondType
+ # The atomIDs involved are determined automatically. The forumula used is:
+ #
+ # Uangle(theta) = (k/2)*(theta-theta0)^2
+ # (k in kcal/mol/rad^2, theta0 in degrees)
+ #
+ # The corresponding command is:
+ #
+ # angle_coeff angleType anglestylename k theta0
+
+ write_once("In Settings") {
+ angle_coeff @angle:backbone harmonic 66.6 105.0
+ }
+
+ # Generate a "backbone" 3-body interaction whenever 3 atoms are bonded
+ # together. We do this by to asking moltemplate to generate this
+ # 3-body interaction whenever 3 consecutively bonded atoms satisfy
+ # the following type requirement:
+ #
+ # angleType atomtypes1 2 3 bondtypes1 2
+
+ write_once("Data Angles By Type") {
+ @angle:backbone * * * * *
+ }
+
+
+
+
+
+ # 4-body interactions in this example are listed by atomType and bondType
+ # The atomIDs involved are determined automatically. The forumula used is:
+ #
+ # Udihedral(phi) = K * (1 + cos(n*phi - d))
+ #
+ # The d parameter is in degrees, K is in kcal/mol/rad^2.
+ #
+ # The corresponding command is:
+ #
+ # dihedral_coeff dihedralType dihedralstylename K n d w
+ # ("w" is the weight for 1-4 pair interactions, which we set to 0)
+
+ write_once("In Settings") {
+ dihedral_coeff @dihedral:turn charmm 0.2 3 0 0
+ dihedral_coeff @dihedral:term3 charmm 1.2 3 0 0
+
+ dihedral_coeff @dihedral:delta65_0 charmm 1.2 1 -65 0
+ dihedral_coeff @dihedral:delta62_5 charmm 1.2 1 -62 0
+ dihedral_coeff @dihedral:delta60_0 charmm 1.2 1 -60 0
+ dihedral_coeff @dihedral:delta57_5 charmm 1.2 1 -57 0
+ dihedral_coeff @dihedral:delta55_0 charmm 1.2 1 -55 0
+ }
+
+ #write_once("In Settings") {
+ # dihedral_coeff @dihedral:turn charmm 0.2 3 0.0 0
+ # dihedral_coeff @dihedral:term3 charmm 1.2 3 0.0 0
+ # dihedral_coeff @dihedral:delta65_0 charmm 1.2 1 -65.0 0
+ # dihedral_coeff @dihedral:delta62_5 charmm 1.2 1 -62.5 0
+ # dihedral_coeff @dihedral:delta60_0 charmm 1.2 1 -60.0 0
+ # dihedral_coeff @dihedral:delta57_5 charmm 1.2 1 -57.5 0
+ # dihedral_coeff @dihedral:delta55_0 charmm 1.2 1 -55.5 0
+ #}
+
+ # Generate 4-body interactions whenever 4 consecutively bonded atoms satisfy
+ # the following type requirements:
+
+ write_once("Data Dihedrals By Type") {
+ # The dihedral interaction between backbone atoms in the helix or sheet-like
+ # regions is proportional to the sum of two terms: cos(phi+delta)+cos(3*phi)
+ # where delta is a constant used to control the bias between helices/sheets.
+ # As of 2013-4-07, the "fourier", "table", "class2", and "charmm",
+ " dihedral_styles can implement this potential.
+ # However dihedral_style "charmm" can only handle one cosine term at a time.
+ # So we use two commands to create two dihedral interactions for the same
+ # set of of four atoms ("cos3" and "delta60_0"). (To allow the
+ # superposition of multiple dihedral interactions on the same atoms,
+ # be sure to run moltemplate with the "-overlay-dihdedrals" argument.)
+ #
+ # dihedralType atomtypes1 2 3 4 bondtypes1 2 3
+
+ @dihedral:term3 @atom:H @atom:L @atom:H @atom:L * * *
+ @dihedral:delta60_0 @atom:H @atom:L @atom:H @atom:L * * *
+
+ @dihedral:term3 @atom:H @atom:L @atom:L @atom:H * * *
+ @dihedral:delta60_0 @atom:H @atom:L @atom:L @atom:H * * *
+
+ @dihedral:term3 @atom:L @atom:H @atom:H @atom:L * * *
+ @dihedral:delta60_0 @atom:L @atom:H @atom:H @atom:L * * *
+
+ @dihedral:term3 @atom:H @atom:H @atom:L @atom:L * * *
+ @dihedral:delta60_0 @atom:H @atom:H @atom:L @atom:L * * *
+
+ # Comment out the next 4 lines: (They are redundant with the lines above)
+ #@dihedral:term3 @atom:L @atom:L @atom:H @atom:H * * *
+ #@dihedral:delta60_0 @atom:L @atom:L @atom:H @atom:H * * *
+ #@dihedral:term3 @atom:L @atom:H @atom:L @atom:H * * *
+ #@dihedral:delta60_0 @atom:L @atom:H @atom:L @atom:H * * *
+ # (Redundant: The LLHH pattern is identical to HHLL after order reversal)
+ # (Redundant: The LHLH pattern is identical to HLHL after order reversal)
+
+ # Right now the dihedral-angle settings are "unfrustrated", meaning that the
+ # peptide backbone is equally happy to adopt helical or sheet-like secondary
+ # structure (See Table IV of Bellesia et. al, Prot Sci, 19, 141 (2010)).
+ # You can change that by changing "delta60_0" to one of the other choices.
+
+ # Any dihedral interactions containing "N" atoms use the @dihedral:turn
+ # interaction (which is much weaker).
+ @dihedral:turn @atom:N @atom:* @atom:* @atom:* * * *
+ @dihedral:turn @atom:N @atom:N @atom:* @atom:* * * *
+ @dihedral:turn @atom:N @atom:N @atom:N @atom:* * * *
+ @dihedral:turn @atom:N @atom:N @atom:N @atom:N * * *
+ # Comment out the next 4 lines: (They are redundant with the lines above)
+ # @dihedral:turn @atom:N @atom:N @atom:N @atom:N * * *
+ # @dihedral:turn @atom:* @atom:N @atom:N @atom:N * * *
+ # @dihedral:turn @atom:* @atom:* @atom:N @atom:N * * *
+ # @dihedral:turn @atom:* @atom:* @atom:* @atom:N * * *
+ }
+
+} # 1beadProtSci2010 (namespace)
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/moltemplate_files/other_implementations/class2/1beadProtSci2010.lt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/moltemplate_files/other_implementations/class2/1beadProtSci2010.lt
new file mode 100644
index 000000000..a0e305f84
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/moltemplate_files/other_implementations/class2/1beadProtSci2010.lt
@@ -0,0 +1,385 @@
+# This file defines a family of coarse-grained protein models used in:
+# G. Bellesia, AI Jewett, and J-E Shea, Protein Science, Vol19 141-154 (2010)
+#
+#
+# For portability, all definitions in this file are enclosed within
+# the "1beadProtSci2010" namespace. To access them, put
+# "using namespace 1beadProtSci2010" in your LT file.
+
+# Strategy:
+#
+#1) First I'll define some building blocks
+# (short helices, sheets and turns of a predetermined length)
+#
+#2) Then I'll cut and paste them together to build
+# a 4-helix bundle or a 4-strand beta-barrel.
+#
+# Doing it this way is optional. It's simpler (but longer) to simply write
+# out the entire sequence of all 73 atoms in a single "Data Atoms" section.
+# (IE. Don't try to subdivide it.) It's also simpler to explicitly list the
+# 72 bonds, 71 3-body angles and 70 4-body dihedral angle interactions
+# manually (instead of inferring them from the atom type). If your protein
+# has helices which are not identical, this would probably be easier.
+# Use whichever style you prefer.
+#
+#
+# Note that atom types, bond types, angle types, and dihedral types
+# are shared between all molecules defined in the "1beadProtSci2010" family.
+# (That's why there is a "../" in their path-names. Otherwise atom, bond,
+# angle types, etc... are not shared between different molecules.)
+#
+# Confusing detail:
+# Each molecule in LAMMPS can be assigned a unique molecule-ID (an integer).
+# These are represented by the "$mol" variable written next to each atom.
+# Our protein has multiple subunits (in this case: helices, sheets, turns).
+# Because we want the subunits to share the same molecule-ID counter we use
+# "$mol:..." instead of "$mol" which tells moltemplate to search for the
+# parent molecule's ID. This is optional. If it bothers you, just use "$mol"
+
+
+
+1beadProtSci2010 {
+
+ write_once("In Init") {
+ # -- Default styles for "1beadProtSci2010" --
+ units lj
+ atom_style full
+ # (Hybrid force fields were not necessary but are used for portability.)
+ bond_style hybrid harmonic
+ angle_style hybrid harmonic
+ dihedral_style hybrid class2
+ pair_style hybrid lj/charmm/coul/charmm/inter es4k4l maxmax 3.5 4.0 rsoftcore 1
+
+ # If charges are needed, (assuming biopolymers), try one of:
+ #dielectric 80.0
+ #pair_style hybrid lj/cut/coul/debye 0.1 4.0
+ # or (for short distances, below a couple nm)
+ #pair_style hybrid lj/charmm/coul/charmm/implicit 3.5 4.0
+
+ pair_modify mix arithmetic
+ special_bonds lj 0.0 0.0 1.0 #(turn on "1-4" interactions)
+ }
+
+
+ # ---- Building blocks: A16, B16, Turn3 ----
+
+ # A16 is a coarse-grained alpha-helix containing 16 residues (one "atom" each)
+
+ A16 {
+
+ # AtomID MoleculeID AtomType Charge X Y Z
+
+ write('Data Atoms') {
+ $atom:a1 $mol:... @atom:../L 0.0 -0.4 -0.4 0.0
+ $atom:a2 $mol:... @atom:../L 0.0 0.4 -0.4 0.6
+ $atom:a3 $mol:... @atom:../H 0.0 0.4 0.4 1.2
+ $atom:a4 $mol:... @atom:../H 0.0 -0.4 0.4 1.8
+ $atom:a5 $mol:... @atom:../L 0.0 -0.4 -0.4 2.4
+ $atom:a6 $mol:... @atom:../L 0.0 0.4 -0.4 3.0
+ $atom:a7 $mol:... @atom:../H 0.0 0.4 0.4 3.6
+ $atom:a8 $mol:... @atom:../H 0.0 -0.4 0.4 4.2
+ $atom:a9 $mol:... @atom:../L 0.0 -0.4 -0.4 4.8
+ $atom:a10 $mol:... @atom:../L 0.0 0.4 -0.4 5.4
+ $atom:a11 $mol:... @atom:../H 0.0 0.4 0.4 6.0
+ $atom:a12 $mol:... @atom:../H 0.0 -0.4 0.4 6.6
+ $atom:a13 $mol:... @atom:../L 0.0 -0.4 -0.4 7.2
+ $atom:a14 $mol:... @atom:../L 0.0 0.4 -0.4 7.8
+ $atom:a15 $mol:... @atom:../H 0.0 0.4 0.4 8.4
+ $atom:a16 $mol:... @atom:../H 0.0 -0.4 0.4 9.0
+ }
+
+ write('Data Bonds') {
+ $bond:b1 @bond:../backbone $atom:a1 $atom:a2
+ $bond:b2 @bond:../backbone $atom:a2 $atom:a3
+ $bond:b3 @bond:../backbone $atom:a3 $atom:a4
+ $bond:b4 @bond:../backbone $atom:a4 $atom:a5
+ $bond:b5 @bond:../backbone $atom:a5 $atom:a6
+ $bond:b6 @bond:../backbone $atom:a6 $atom:a7
+ $bond:b7 @bond:../backbone $atom:a7 $atom:a8
+ $bond:b8 @bond:../backbone $atom:a8 $atom:a9
+ $bond:b9 @bond:../backbone $atom:a9 $atom:a10
+ $bond:b10 @bond:../backbone $atom:a10 $atom:a11
+ $bond:b11 @bond:../backbone $atom:a11 $atom:a12
+ $bond:b12 @bond:../backbone $atom:a12 $atom:a13
+ $bond:b13 @bond:../backbone $atom:a13 $atom:a14
+ $bond:b14 @bond:../backbone $atom:a14 $atom:a15
+ $bond:b15 @bond:../backbone $atom:a15 $atom:a16
+ }
+
+ } # A16
+
+
+ # B16 is a coarse-grained beta-strand containing 16 residues (one "atom" each)
+
+ B16 {
+
+ # AtomID MoleculeID AtomType Charge X Y Z
+
+ write('Data Atoms') {
+ $atom:a1 $mol:... @atom:../L 0.0 -0.3 0.0 0.0
+ $atom:a2 $mol:... @atom:../H 0.0 0.3 0.0 0.8
+ $atom:a3 $mol:... @atom:../L 0.0 -0.3 0.0 1.6
+ $atom:a4 $mol:... @atom:../H 0.0 0.3 0.0 2.4
+ $atom:a5 $mol:... @atom:../L 0.0 -0.3 0.0 3.2
+ $atom:a6 $mol:... @atom:../H 0.0 0.3 0.0 4.0
+ $atom:a7 $mol:... @atom:../L 0.0 -0.3 0.0 4.8
+ $atom:a8 $mol:... @atom:../H 0.0 0.3 0.0 5.6
+ $atom:a9 $mol:... @atom:../L 0.0 -0.3 0.0 6.4
+ $atom:a10 $mol:... @atom:../H 0.0 0.3 0.0 7.2
+ $atom:a11 $mol:... @atom:../L 0.0 -0.3 0.0 8.0
+ $atom:a12 $mol:... @atom:../H 0.0 0.3 0.0 8.8
+ $atom:a13 $mol:... @atom:../L 0.0 -0.3 0.0 9.6
+ $atom:a14 $mol:... @atom:../H 0.0 0.3 0.0 10.4
+ $atom:a15 $mol:... @atom:../L 0.0 -0.3 0.0 11.2
+ $atom:a16 $mol:... @atom:../H 0.0 0.3 0.0 12.0
+ }
+
+ write('Data Bonds') {
+ $bond:b1 @bond:../backbone $atom:a1 $atom:a2
+ $bond:b2 @bond:../backbone $atom:a2 $atom:a3
+ $bond:b3 @bond:../backbone $atom:a3 $atom:a4
+ $bond:b4 @bond:../backbone $atom:a4 $atom:a5
+ $bond:b5 @bond:../backbone $atom:a5 $atom:a6
+ $bond:b6 @bond:../backbone $atom:a6 $atom:a7
+ $bond:b7 @bond:../backbone $atom:a7 $atom:a8
+ $bond:b8 @bond:../backbone $atom:a8 $atom:a9
+ $bond:b9 @bond:../backbone $atom:a9 $atom:a10
+ $bond:b10 @bond:../backbone $atom:a10 $atom:a11
+ $bond:b11 @bond:../backbone $atom:a11 $atom:a12
+ $bond:b12 @bond:../backbone $atom:a12 $atom:a13
+ $bond:b13 @bond:../backbone $atom:a13 $atom:a14
+ $bond:b14 @bond:../backbone $atom:a14 $atom:a15
+ $bond:b15 @bond:../backbone $atom:a15 $atom:a16
+ }
+
+ } # B16
+
+ T3 { # T3 is a "turn" region consisting of 3 beads
+
+ # AtomID MoleculeID AtomType Charge X Y Z
+
+ write('Data Atoms') {
+ $atom:a1 $mol:... @atom:../N 0.0 -0.8 0.0 0.0
+ $atom:a2 $mol:... @atom:../N 0.0 0.0 0.55 -0.24
+ $atom:a3 $mol:... @atom:../N 0.0 0.8 0.0 0.0
+ }
+
+ write('Data Bonds') {
+ $bond:b1 @bond:../backbone $atom:a1 $atom:a2
+ $bond:b2 @bond:../backbone $atom:a2 $atom:a3
+ }
+
+ } # T3
+
+ # (Note: Again, atom types, bond-types, (dihedral-types, any variable, etc)
+ # can be shared. The ".." in "@atom:../CA" tells moltemplate that
+ # atom type CA is defined in the parent's environment. (We are
+ # sharing the CA atom type between both the H and P residues.
+ # The same is true of the ".." in "@bond:../sidechain".
+ #
+ #
+ # Note: The "..." in "$mol:..." tells moltemplate that this molecule may
+ # be a part of a larger molecule, and (if so) to use the larger
+ # molecule's id number as it's own.
+
+
+
+ # ----- Now build larger molecules using A16, B16 and T3 -------
+
+ 4HelixBundle {
+
+ helix1 = new A16.rot( -45, 0,0,1).move(-1.12691645,-1.12691645, 0)
+ helix2 = new A16.rot( 45, 0,0,1).move( 1.12691645,-1.12691645, 0)
+ helix3 = new A16.rot( 135, 0,0,1).move( 1.12691645, 1.12691645, 0)
+ helix4 = new A16.rot( 225, 0,0,1).move(-1.12691645, 1.12691645, 0)
+ # Note: 1.12691645 ~= 0.5*2^(1/6) + 0.4*sqrt(2)
+
+ turn1 = new T3.rot(180,1,0,0).rot(-17,0,0,1).move(-0.2,-0.7,9.9)
+ turn2 = new T3.rot( 0,1,0,0).rot(-100,0,0,1).move(0.7,-0.15,-0.3)
+ turn3 = new T3.rot(180,1,0,0).rot(163,0,0,1).move(0.2,0.7,9.9)
+
+ # Note: In the paper, this is described as the "UA2" conformation
+ # (I played around with the angles until it looked "okay". This is not
+ # the minimum energy conformation. Further minimization is necessary.)
+
+ # Now bond the pieces together.
+ # (Note: angle & dihedral interactions will be generated automatically.)
+ write('Data Bonds') {
+ $bond:turn1a @bond:../backbone $atom:turn1/a1 $atom:helix1/a16
+ $bond:turn1b @bond:../backbone $atom:turn1/a3 $atom:helix2/a16
+ $bond:turn2a @bond:../backbone $atom:turn2/a1 $atom:helix3/a1
+ $bond:turn2b @bond:../backbone $atom:turn2/a3 $atom:helix2/a1
+ $bond:turn3a @bond:../backbone $atom:turn3/a1 $atom:helix3/a16
+ $bond:turn3b @bond:../backbone $atom:turn3/a3 $atom:helix4/a16
+ }
+ create_var { $mol } # <-- create a variable for the parent's Molecule-ID
+ }
+
+ 4SheetBundle {
+
+ sheet1 = new B16.rot( 45, 0,0,1).move(-0.793700526,-0.793700526, 0)
+ sheet2 = new B16.rot( 135, 0,0,1).move( 0.793700526,-0.793700526, 0)
+ sheet3 = new B16.rot( 225, 0,0,1).move( 0.793700526, 0.793700526, 0)
+ sheet4 = new B16.rot( 315, 0,0,1).move(-0.793700526, 0.793700526, 0)
+ # Note: 0.793700526 ~= 0.5*2^(1/6) * sqrt(1/2)
+
+ turn1 = new T3.rot(180,1,0,0).rot(0,0,0,1).move(0,-1.3,12.6)
+ turn2 = new T3.rot( 0,1,0,0).rot(-90,0,0,1).move(0.7,-0.0,-0.9)
+ turn3 = new T3.rot(180,1,0,0).rot(-180,0,0,1).move(0,1.3,12.6)
+
+ write('Data Bonds') {
+ $bond:turn1a @bond:../backbone $atom:turn1/a1 $atom:sheet1/a16
+ $bond:turn1b @bond:../backbone $atom:turn1/a3 $atom:sheet2/a16
+ $bond:turn2a @bond:../backbone $atom:turn2/a1 $atom:sheet3/a1
+ $bond:turn2b @bond:../backbone $atom:turn2/a3 $atom:sheet2/a1
+ $bond:turn3a @bond:../backbone $atom:turn3/a1 $atom:sheet3/a16
+ $bond:turn3b @bond:../backbone $atom:turn3/a3 $atom:sheet4/a16
+ }
+ create_var { $mol } # molecule ID number shared by all atoms in this protein
+ }
+
+
+ # There are 3 atom types (referred to above as ../H, ../L, and ../N)
+ # Define their masses:
+
+ write_once("Data Masses") {
+ @atom:H 1.0
+ @atom:L 1.0
+ @atom:N 1.0
+
+ }
+
+
+
+ # --------------------------------------------------------------------
+ # -- In this example, all force field parameters are stored in the --
+ # -- file named "In Settings". They can also go in sections like --
+ # -- "Data Pair Coeffs", "Data Bond Coeffs", "Data Angle Coeffs"... --
+ # --------------------------------------------------------------------
+
+
+
+
+ # 2-body (non-bonded) interactions:
+ #
+ # Uij(r) = 4*eps_ij * (K*(sig_ij/r)^12 + L*(sig_ij/r)^6)
+ #
+ # i j pairstylename eps sig K L
+ #
+ write_once("In Settings") {
+ pair_coeff @atom:H @atom:H lj/charmm/coul/charmm/inter 1.0 1.0 1 -1 0 0 0 0
+ pair_coeff @atom:L @atom:L lj/charmm/coul/charmm/inter 1.0 1.0 1 0 0 0 0 0
+ pair_coeff @atom:N @atom:N lj/charmm/coul/charmm/inter 1.0 1.0 1 0 0 0 0 0
+ }
+ # (Interactions between different atom types use "arithmetic"
+ # and "maxmax" ("repulsion-wins") mixing rules.)
+
+
+ # 2-body (bonded) interactions:
+ #
+ # Ubond(r) = (k/2)*(r-0)^2
+ #
+ # The corresponding command is:
+ #
+ # bond_coeff bondType bondstylename k r0
+ #
+
+ write_once("In Settings") {
+ bond_coeff @bond:backbone harmonic 66.6 1.0
+ }
+
+
+
+ # 3-body interactions in this example are listed by atomType and bondType
+ # The atomIDs involved are determined automatically. The forumula used is:
+ #
+ # Uangle(theta) = (k/2)*(theta-theta0)^2
+ # (k in kcal/mol/rad^2, theta0 in degrees)
+ #
+ # The corresponding command is:
+ #
+ # angle_coeff angleType anglestylename k theta0
+
+ write_once("In Settings") {
+ angle_coeff @angle:backbone harmonic 66.6 105.0
+ }
+
+ # Generate a "backbone" 3-body interaction whenever 3 atoms are bonded
+ # together. We do this by to asking moltemplate to generate this
+ # 3-body interaction whenever 3 consecutively bonded atoms satisfy
+ # the following type requirement:
+ #
+ # angleType atomtypes1 2 3 bondtypes1 2
+
+ write_once("Data Angles By Type") {
+ @angle:backbone * * * * *
+ }
+
+
+
+
+
+ # 4-body interactions in this example are listed by atomType and bondType
+ # The atomIDs involved are determined automatically. The forumula used is:
+ #
+ # Udihedral(phi) = K * (1 + cos(n*phi - d))
+ #
+ # The d parameter is in degrees, K is in kcal/mol/rad^2.
+ #
+ # The corresponding command is:
+ #
+
+ # From the Bellesia et al paper: Udihedral(x) = 1.2*(cos(x+delta) + cos(3x)) (delta=60)
+ # (scratchwork: 1.2*cos(x+60) = -1.2*cos(x+60-180) = -1.2*cos(x-120))
+ # and 1.2*cos(3x) = -1.2*cos(3x-180)
+ # and 0.2*cos(x) = -0.2*cos(x - 180)
+ # This way, the energies match exactly with the implementation using charmm dihedrals.)
+ #
+ # dihedralType dihedralstylename K1 phi1 K2 phi2 K3 phi3
+
+ write_once("In Settings") {
+ dihedral_coeff @dihedral:delta60_0 class2 1.2 120.0 0 0 1.2 180.0
+ dihedral_coeff @dihedral:turn class2 0 0 0 0 0.2 180.0
+
+ # All of the cross-terms (for the class2 force-field) are zero (see docs):
+ dihedral_coeff @dihedral:delta60_0 class2 mbt 0 0 0 0
+ dihedral_coeff @dihedral:delta60_0 class2 ebt 0 0 0 0 0 0 0 0
+ dihedral_coeff @dihedral:delta60_0 class2 at 0 0 0 0 0 0 0 0
+ dihedral_coeff @dihedral:delta60_0 class2 aat 0 0 0
+ dihedral_coeff @dihedral:delta60_0 class2 bb13 0 0 0
+ dihedral_coeff @dihedral:turn class2 mbt 0 0 0 0
+ dihedral_coeff @dihedral:turn class2 ebt 0 0 0 0 0 0 0 0
+ dihedral_coeff @dihedral:turn class2 at 0 0 0 0 0 0 0 0
+ dihedral_coeff @dihedral:turn class2 aat 0 0 0
+ dihedral_coeff @dihedral:turn class2 bb13 0 0 0
+ }
+
+ # Generate 4-body interactions whenever 4 consecutively bonded atoms satisfy
+ # the following type requirements:
+
+ write_once("Data Dihedrals By Type") {
+ # dihedralType atomtypes1 2 3 4 bondtypes1 2 3
+
+ @dihedral:delta60_0 @atom:H @atom:L @atom:H @atom:L * * *
+ @dihedral:delta60_0 @atom:H @atom:H @atom:L @atom:L * * *
+ @dihedral:delta60_0 @atom:H @atom:L @atom:L @atom:H * * *
+ @dihedral:delta60_0 @atom:L @atom:H @atom:H @atom:L * * *
+
+ @dihedral:turn @atom:N @atom:* @atom:* @atom:* * * *
+ @dihedral:turn @atom:N @atom:N @atom:* @atom:* * * *
+ @dihedral:turn @atom:N @atom:N @atom:N @atom:* * * *
+ @dihedral:turn @atom:N @atom:N @atom:N @atom:N * * *
+
+ #### Comment out the next 6 lines: (They are redundant with the lines above)
+ ## @dihedral:delta60_0 @atom:L @atom:H @atom:L @atom:H * * *
+ ## @dihedral:delta60_0 @atom:L @atom:L @atom:H @atom:H * * *
+ ## @dihedral:turn @atom:N @atom:N @atom:N @atom:N * * *
+ ## @dihedral:turn @atom:* @atom:N @atom:N @atom:N * * *
+ ## @dihedral:turn @atom:* @atom:* @atom:N @atom:N * * *
+ ## @dihedral:turn @atom:* @atom:* @atom:* @atom:N * * *
+ ###################################################################
+ }
+
+
+} # 1beadProtSci2010 (namespace)
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/moltemplate_files/system.lt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/moltemplate_files/system.lt
new file mode 100644
index 000000000..6300c4ce3
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/moltemplate_files/system.lt
@@ -0,0 +1,12 @@
+import "1beadProtSci2010.lt"
+
+using namespace 1beadProtSci2010
+
+prot = new 4HelixBundle
+
+write_once("Data Boundary") {
+ 0 100 xlo xhi
+ 0 100 ylo yhi
+ 0 100 zlo zhi
+}
+
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/run.in.min b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/run.in.min
new file mode 100644
index 000000000..8eb3a03cb
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/run.in.min
@@ -0,0 +1,19 @@
+# -- Init section --
+
+include system.in.init
+
+# -- Atom definition section --
+
+read_data system.data
+
+# -- Settings Section --
+
+include system.in.settings
+
+# -- Run section --
+
+dump 1 all custom 50 traj_min.lammpstrj id mol type x y z ix iy iz
+
+minimize 1.0e-5 1.0e-7 500 2000
+
+write_data system_after_min.data
diff --git a/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/run.in.nvt b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/run.in.nvt
new file mode 100644
index 000000000..a0f02dc73
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/protein_folding_examples/1beadProtSci2010/run.in.nvt
@@ -0,0 +1,44 @@
+# -- Init Section --
+
+include system.in.init
+
+# -- Atom Definition Section --
+
+# I you want to be careful, you can minimize the system first.
+# (Try using "run.in.min" and uncomment the line below)
+# read_data system_after_min.data
+
+read_data system.data
+
+# -- Settings Section --
+
+include system.in.settings
+
+# -- Run Section --
+
+
+timestep 0.008
+dump 1 all custom 500 traj_nvt.lammpstrj id mol type x y z ix iy iz
+
+# To use Langevin dynamics in LAMMPS you need both "fix langevin" and "fix nve".
+# (See http://lammps.sandia.gov/doc/fix_langevin.html for details.)
+
+fix fxlan all langevin 0.4 0.4 1.0 48279
+fix fxnve all nve
+
+# Notes:
+# The temperature is in reduced units and is set to 0.4.
+# The inverse-damping-rate "damp" (which has units of time) is set to 1.0.
+# (See http://lammps.sandia.gov/doc/fix_langevin.html)
+
+
+thermo_style custom step temp pe etotal press vol epair ebond eangle edihed
+thermo_modify norm no #(report total energy not energy / num_atoms)
+thermo 500 #(time interval for printing out "thermo" data)
+
+restart 10000000 restart_nvt
+
+run 1000000
+
+write_data system_after_nvt.data
+
diff --git a/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/README.txt b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/README.txt
new file mode 100644
index 000000000..990c6f2f5
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/README.txt
@@ -0,0 +1,114 @@
+ This example shows how to build a multicomponent spherical vesicle.
+ The lipid bilayer is composed of two different lipids (DPPC and DLPC).
+ The vesicle also contains trans-membrane protein inclusions.
+
+ The coordinates for the vesicle are constructed by PACKMOL (see below).
+
+ The DPPC lipid model is described here:
+ G. Brannigan, P.F. Philips, and F.L.H. Brown,
+ Physical Review E, Vol 72, 011915 (2005)
+ (The DLPC model is a truncated version of DPPC. Modifications discussed below.)
+ The protein model is described here:
+ G. Bellesia, AI Jewett, and J-E Shea,
+ Protein Science, Vol19 141-154 (2010)
+
+--- PREREQUISITES: ---
+
+1) This example requires PACKMOL. You can download PACKMOL here:
+
+ http://www.ime.unicamp.br/~martinez/packmol/
+
+ (Moltemplate does not come with an easy way to generate spherically-symmetric
+ structures, so I used the PACKMOL program to move the molecules into position.)
+
+2) This example requires the "dihedral_style fourier", which is currently
+in the USER-MISC package. Build LAMMPS with this package enabled using
+ make yes-user-misc
+before compiling LAMMPS.
+(See http://lammps.sandia.gov/doc/Section_start.html#start_3 for details.)
+
+3) This example may require additional features to be added to LAMMPS.
+If LAMMPS complains about an "Invalid pair_style", then
+ a) download the "additional_lammps_code" from
+ http://moltemplate.org (upper-left corner menu)
+ b) unpack it
+ c) copy the .cpp and .h files to the src folding of your lammps installation.
+ d) (re)compile LAMMPS.
+
+------ Details -------
+
+This example contains a coarse-grained model of a 4-helix bundle protein
+inserted into a lipid bilayer (made from a mixture of DPPC and DLPC).
+
+ -- Protein Model: --
+
+The coarse-grained protein is described in:
+ G. Bellesia, AI Jewett, and J-E Shea, Protein Science, Vol19 141-154 (2010)
+Here we use the "AUF2" model described in that paper.
+(The hydrophobic beads face outwards.)
+
+ -- Memebrane Model: --
+
+The DPPC lipid bilayer described in:
+ G. Brannigan, P.F. Philips, and F.L.H. Brown,
+ Physical Review E, Vol 72, 011915 (2005)
+and:
+ M.C. Watson, E.S. Penev, P.M. Welch, and F.L.H. Brown
+ J. Chem. Phys. 135, 244701 (2011)
+
+As in Watson(JCP 2011), rigid bond-length constraints
+have been replaced by harmonic bonds.
+
+A truncated version of this lipid (named "DLPC") has also been added.
+The bending stiffness of each lipid has been increased to compensate
+for the additional disorder resulting from mixing two different types
+of lipids together. (Otherwise pores appear.)
+Unlike the original "DPPC" molecule model, the new "DPPC" and "DLPC" models
+have not been carefully parameterized to reproduce the correct behavior in
+a lipid bilayer mixture.
+
+ -- Interactions between the proteins and lipids --
+
+This is discussed in the "system.lt" file.
+
+--- Building the files necessary to run a simulation in LAMMPS ---
+
+step 1) Run PACKMOL
+
+ Type these commands into the shell.
+ (Each command could take several hours.)
+
+cd packmol_files
+ packmol < step1_proteins.inp # This step determines the protein's location
+ packmol < step2_innerlayer.inp # this step builds the inner monolayer
+ packmol < step3_outerlayer.inp # this step builds the outer monolayer
+cd ..
+
+step 2) Run MOLTEMPLATE
+ Type these commands into the shell.
+ (This could take up to 10 minutes.)
+
+cd moltemplate_files
+ moltemplate.sh system.lt -xyz ../system.xyz
+ mv -f system.in* system.data ../
+ cp -f table_int.dat ../
+cd ..
+
+--- Running LAMMPS ---
+
+step3) Run LAMMPS:
+ Type these commands into the shell.
+ (This could take days.)
+
+lmp_linux -i run.in.min # Minimize the system (important, and very slow)
+
+lmp_linux -i run.in.nvt # Run a simulation at constant volume
+
+If you have compiled the MPI version of lammps, you can run lammps in parallel:
+
+mpirun -np 4 lmp_linux -i run.in.min
+ or
+mpirun -np 4 lmp_linux -i run.in.nvt
+
+(Assuming you have 4 cores, for example.)
+
diff --git a/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/README_WARNING.txt b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/README_WARNING.txt
new file mode 100644
index 000000000..f1b1904a8
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/README_WARNING.txt
@@ -0,0 +1,20 @@
+WARNING:
+
+ This is not a realistic simulation of proteins in a lipid membrane. This
+example was only intented to be a technical demonstration to show how to
+combine totally different kinds of coarse-grained molecules (with different
+kinds of force-fields) together in the same simulation in LAMMPS. Tuning the
+force-field parameters to get realistic results was not the goal. I did
+not take the extra time to do this. If you have suggestions for changes,
+please email me (jewett.aij at gmail dot com).
+
+ In addition, I have noticed that newer versions of PACKMOL do not
+always succeed at generating a spherical vesicle in a reasonable amount of time.
+(You may have to play with the .inp files in the packmol_files directory
+ to get PACKMOL to produce any files at all.
+
+(NOTE: This example also demonstrantes how to use an external program
+ ("packmol") to generate the coordinates for the atoms in the system.
+ PLEASE USE "packmol", NOT "ppackmol". -the parallel version of "packmol".
+ This is because "ppackmol" is more likely to get caught in infinite loops.)
+
diff --git a/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/README_run.sh b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/README_run.sh
new file mode 100755
index 000000000..fcc87a6bf
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/README_run.sh
@@ -0,0 +1,24 @@
+# --- Running LAMMPS ---
+# -- Prerequisites: --
+# The "run.in.nvt" file is a LAMMPS input script containing
+# references to the input scripts and data files
+# you hopefully have created earlier with MOLTEMPLATE and PACKMOL:
+# system.in.init, system.in.settings, system.in.coords, system.data,
+# and table_int.dat
+# If not, carry out the instructions in "README_setup.sh".
+#
+# -- Instructions: --
+# If "lmp_mpi" is the name of the command you use to invoke lammps,
+# then you would run lammps on these files this way:
+
+lmp_mpi -i run.in.min # Minimize the system (important, and very slow)
+
+lmp_mpi -i run.in.nvt # Run a simulation at constant volume
+
+
+
+# If you have compiled the MPI version of lammps, you can run lammps in parallel
+#mpirun -np 4 lmp_mpi -i run.in.min
+#or
+#mpirun -np 4 lmp_mpi -i run.in.nvt
+# (assuming you have 4 processors available)
diff --git a/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/README_setup.sh b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/README_setup.sh
new file mode 100755
index 000000000..fa3986e73
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/README_setup.sh
@@ -0,0 +1,69 @@
+# Use these commands to generate the LAMMPS input script and data file
+# (and other auxilliary files):
+
+# First, generate the coordinates (the "system.xyz" file).
+# (This can be a very slow process.)
+
+# check if packmol exists before running
+if ! hash packmol 2>/dev/null; then
+ echo "packmol not found. This example cannot be run."
+ exit 1
+fi
+
+cd packmol_files
+
+ # You must run each packmol commend one after the other.
+ # NOTE: If PACKMOL gets stuck in an endless loop, then edit the corresponding
+ # "inp" file. This should not happen. You can also usually interrupt
+ # packmol after 30 minutes, and the solution at that point (an .xyz file)
+ # should be good enough for use.
+ packmol < step1_proteins.inp # This step determines the protein's location
+ # It takes ~20 minutes (on an intel i7)
+ packmol < step2_innerlayer.inp # this step builds the inner monolayer
+ # It takes ~90 minutes
+ packmol < step3_outerlayer.inp # this step builds the outer monolayer
+ # It takes ~4 hours
+
+
+ # NOTE: PLEASE USE "packmol", NOT "ppackmol". ("ppackmol" is the parallel
+ # version of packmol using OpemMP. This example has NOT been tested
+ # with "ppackmol". Our impression was that the "ppackmol" version
+ # is more likely to get stuck in an infinite loop. -Andrew 2015-8)
+
+
+ # Step3 creates a file named "step3_outerlayer.xyz" containing the coordinates
+ # in all the atoms of all the molecules. Later we will run moltemplate.sh
+ # using the "-xyz ../system.xyz" command line argument. That will instruct
+ # moltemplate to look for a file named "system.xyz" in the parent directory.
+ # So I rename the "step3_outerlayer.xyz" file to "system.xyz", and move it
+ # to this directory so that later moltemplate.sh can find it.
+
+ mv -f step3_outerlayer.xyz ../system.xyz
+cd ..
+
+
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh -xyz ../system.xyz system.lt
+
+ # This will generate various files with names ending in *.in* and *.data.
+ # These files are the input files directly read by LAMMPS. Move them to
+ # the parent directory (or wherever you plan to run the simulation).
+
+ mv -f system.in* system.data ../
+
+ # The "table_int.dat" file contains tabular data for the lipid INT-INT atom
+ # 1/r^2 interaction. We need it too. (This slows down the simulation by x2,
+ # so I might look for a way to get rid of it later.)
+ cp -f table_int.dat ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
diff --git a/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/README_visualize.txt b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/README_visualize.txt
new file mode 100644
index 000000000..a3e3ed620
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/README_visualize.txt
@@ -0,0 +1,87 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes the solvent or membrane obscures the view of the solute.
+ It can help to shift the location of the periodic boundary box
+ To shift the box in the y direction (for example) do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.0 0.15 0.0}
+ pbc box -shiftcenterrel {0.0 0.15 0.0}
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ Alternately if you have a solute whose atoms are all of type 1,
+ then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/images/vesicle_membrane+protein_L.jpg b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/images/vesicle_membrane+protein_L.jpg
new file mode 100644
index 000000000..c3ff59956
Binary files /dev/null and b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/images/vesicle_membrane+protein_L.jpg differ
diff --git a/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/moltemplate_files/1beadProtSci2010.lt b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/moltemplate_files/1beadProtSci2010.lt
new file mode 100644
index 000000000..2e510ebd9
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/moltemplate_files/1beadProtSci2010.lt
@@ -0,0 +1,233 @@
+# This file defines a 4-helix bundle coarse-grained protein model (AUF2) used in
+# G. Bellesia, AI Jewett, and J-E Shea,
+# Protein Science, Vol19 141-154 (2010)
+#
+# Strategy:
+#
+#1) First I'll define some building blocks (A16, B16, T3)
+# which are helices, sheets and turns of a predetermined length)
+#
+#2) Then I'll copy and paste them together to build
+# a 4-helix bundle (or a 4-strand beta-barrel).
+# This approach is optional. If your protein has helices which are not
+# identical, you should probably just include all 4 helices in a single
+# "Data Atoms" section and don't try to subdivide the protein into pieces.)
+
+
+
+1beadProtSci2010 { # <-- enclose definitions in a namespace for portability
+
+ # A16 is a coarse-grained alpha-helix containing 16 residues (one "atom" each)
+
+ A16 {
+
+ # AtomID MoleculeID AtomType Charge X Y Z
+
+ write('Data Atoms') {
+ $atom:a1 $mol:... @atom:../sL 0.0 -2.4 -2.4 0.0
+ $atom:a2 $mol:... @atom:../sL 0.0 2.4 -2.4 3.6
+ $atom:a3 $mol:... @atom:../sH 0.0 2.4 2.4 7.2
+ $atom:a4 $mol:... @atom:../sH 0.0 -2.4 2.4 10.8
+ $atom:a5 $mol:... @atom:../sL 0.0 -2.4 -2.4 14.4
+ $atom:a6 $mol:... @atom:../sL 0.0 2.4 -2.4 18.0
+ $atom:a7 $mol:... @atom:../sH 0.0 2.4 2.4 21.6
+ $atom:a8 $mol:... @atom:../sH 0.0 -2.4 2.4 25.2
+ $atom:a9 $mol:... @atom:../sL 0.0 -2.4 -2.4 28.8
+ $atom:a10 $mol:... @atom:../sL 0.0 2.4 -2.4 32.4
+ $atom:a11 $mol:... @atom:../sH 0.0 2.4 2.4 36.0
+ $atom:a12 $mol:... @atom:../sH 0.0 -2.4 2.4 39.6
+ $atom:a13 $mol:... @atom:../sL 0.0 -2.4 -2.4 43.2
+ $atom:a14 $mol:... @atom:../sL 0.0 2.4 -2.4 46.8
+ $atom:a15 $mol:... @atom:../sH 0.0 2.4 2.4 50.4
+ $atom:a16 $mol:... @atom:../sH 0.0 -2.4 2.4 54.0
+ }
+
+ write('Data Bonds') {
+ $bond:b1 @bond:../backbone $atom:a1 $atom:a2
+ $bond:b2 @bond:../backbone $atom:a2 $atom:a3
+ $bond:b3 @bond:../backbone $atom:a3 $atom:a4
+ $bond:b4 @bond:../backbone $atom:a4 $atom:a5
+ $bond:b5 @bond:../backbone $atom:a5 $atom:a6
+ $bond:b6 @bond:../backbone $atom:a6 $atom:a7
+ $bond:b7 @bond:../backbone $atom:a7 $atom:a8
+ $bond:b8 @bond:../backbone $atom:a8 $atom:a9
+ $bond:b9 @bond:../backbone $atom:a9 $atom:a10
+ $bond:b10 @bond:../backbone $atom:a10 $atom:a11
+ $bond:b11 @bond:../backbone $atom:a11 $atom:a12
+ $bond:b12 @bond:../backbone $atom:a12 $atom:a13
+ $bond:b13 @bond:../backbone $atom:a13 $atom:a14
+ $bond:b14 @bond:../backbone $atom:a14 $atom:a15
+ $bond:b15 @bond:../backbone $atom:a15 $atom:a16
+ }
+
+ } # A16
+
+
+ T3 { # T3 is a "turn" region consisting of 3 beads
+
+ # AtomID MoleculeID AtomType Charge X Y Z
+
+ write('Data Atoms') {
+ $atom:a1 $mol:... @atom:../tN 0.0 -4.8 0.0 0.0
+ $atom:a2 $mol:... @atom:../tN 0.0 0.0 3.3 -1.44
+ $atom:a3 $mol:... @atom:../tN 0.0 4.8 0.0 0.0
+ }
+
+ write('Data Bonds') {
+ $bond:b1 @bond:../backbone $atom:a1 $atom:a2
+ $bond:b2 @bond:../backbone $atom:a2 $atom:a3
+ }
+
+ } # T3
+
+
+ # ----- Now build a larger molecule using A16 and T3 -------
+
+ # Create a 4-Helix bundle.
+ # In this version, the hydrophobic beads are poing outward.
+ # I oriented them this way because I want to place this protein in a membrane.
+ # (There is another file in this directory containing alternate version
+ # of this same molecule with the hydrophobic beads pointing inward.)
+
+ 4HelixInsideOut {
+ helix1 = new A16.rot(-225, 0,0,1).move(-5.70,-5.70,-32.4)
+ helix2 = new A16.rot(-135, 0,0,1).move( 5.70,-5.70,-28.8)
+ helix3 = new A16.rot( -45, 0,0,1).move( 5.70, 5.70,-25.2)
+ helix4 = new A16.rot( 45, 0,0,1).move(-5.70, 5.70,-21.6)
+
+ turn1 = new T3.rot(180,1,0,0).rot(-20,0,1,0).rot( 10,0,0,1).move(0.78,-4.2, 27.9)
+ turn2 = new T3.rot(-10,1,0,0).rot( 20,0,1,0).rot(-70,0,0,1).move(4.55, 2.4,-33.0)
+ turn3 = new T3.rot(180,1,0,0).rot(-20,0,1,0).rot(190,0,0,1).move(-0.78,4.2, 34.2)
+
+ write('Data Bonds') {
+ $bond:turn1a @bond:../backbone $atom:turn1/a1 $atom:helix1/a16
+ $bond:turn1b @bond:../backbone $atom:turn1/a3 $atom:helix2/a16
+ $bond:turn2a @bond:../backbone $atom:turn2/a1 $atom:helix3/a1
+ $bond:turn2b @bond:../backbone $atom:turn2/a3 $atom:helix2/a1
+ $bond:turn3a @bond:../backbone $atom:turn3/a1 $atom:helix3/a16
+ $bond:turn3b @bond:../backbone $atom:turn3/a3 $atom:helix4/a16
+ }
+ create_var { $mol } # molecule ID number shared by all atoms in this protein
+
+ } # 4HelixInsideOut
+
+
+ # -------- Minor coordinates adjustment: -----------
+
+ # Those coordinates in the commands above are a little too large.
+ # To make it easier to type them in, I was using sigma=6.0 Angstroms.
+ # Instead, here I'll try using sigma=4.8 Angstroms. 4.8/6 = 0.8)
+
+ 4HelixInsideOut.scale(0.8)
+
+ # Note: "scale()" only effects the initial coordinates of
+ # the molecule, not the force field parameters.
+ # (If you plan to minimize the molecule, you don't need to
+ # be so careful about the initial coordinates. In that case,
+ # you don't have worry about "scale()". Feel free to remove.)
+
+
+
+ # -------------- Force-Field Parameters ------------
+
+ # Units and force-field styles for this protein model
+ # (These can be overridden later.)
+
+ write_once("In Init") {
+ units real
+ atom_style full
+ bond_style hybrid harmonic
+ angle_style hybrid harmonic
+ dihedral_style hybrid fourier
+ pair_style hybrid lj/charmm/coul/charmm/inter es4k4l maxmax 21.0 24.0
+ pair_modify mix arithmetic
+ special_bonds lj 0.0 0.0 1.0 #(turn on "1-4" interactions)
+ }
+
+ # --- Distance Units ---
+ # In this version of the model, sigma (the bond-length
+ # and particle diameter) is rounded to 4.8 Angstroms.
+ #
+ # --- Energy & Temperature Units ---
+ # In this protein model, "epsilon" represents the free energy
+ # bonus for bringing two hydrophobic amino acids together.
+ # Here I choose to set epsilon to 1.806551818181818 kCal/mole.
+ # This value was chosen so that a temperature of 300 Kelvin lies at
+ # 0.33 epsilon, which is the unfolding temperature of the marginally stable
+ # "ASF1" protein model from the Bellesia et al 2010 paper.
+ # This choice insures that both the "ASF1" model from that paper,
+ # as well as the much more stable "AUF2" protein we use here (which
+ # unfolds at 0.42*eps) should definitely remain stable at 300 degrees Kelvin,
+ # in the bulk at least. (However it's not clear that these energy
+ # parameters will work well for a protein in membrane. Perhaps I'll
+ # run some tests and fine tune these parameters for this scenario.)
+
+
+ # 2-body (non-bonded) interactions:
+ #
+ # Uij(r) = 4*eps_ij * (K*(sig_ij/r)^12 + L*(sig_ij/r)^6)
+ #
+ # i j pairstylename eps sig K L
+ #
+ write_once("In Settings") {
+ pair_coeff @atom:sH @atom:sH lj/charmm/coul/charmm/inter 1.8065518 4.8 1 -1
+ pair_coeff @atom:sL @atom:sL lj/charmm/coul/charmm/inter 1.8065518 4.8 1 0
+ pair_coeff @atom:tN @atom:tN lj/charmm/coul/charmm/inter 1.8065518 4.8 1 0
+ }
+
+ # The exact value of the bond_coeff does not matter too much as long as
+ # it is "stiff enough". Here I use a softer bond spring than the one
+ # used in the paper so that I can increase the time step.
+ # I also use a relatively soft spring to constrain the bond angles.
+
+ # bond_coeff bondType bondstylename k r0
+
+ write_once("In Settings") {
+ bond_coeff @bond:1beadProtSci2010/backbone harmonic 10.0 4.8
+ }
+
+
+ # angleType atomtypes1 2 3 bondtypes1 2
+
+ write_once("Data Angles By Type") {
+ @angle:backbone @atom:* @atom:* @atom:* @bond:* @bond:*
+ }
+
+ # angle_coeff angleType anglestylename k theta0
+ write_once("In Settings") {
+ angle_coeff @angle:backbone harmonic 100.0 105.0
+ }
+
+
+ # dihedralType atomtypes1 2 3 4 bondtypes1 2 3
+
+ write_once("Data Dihedrals By Type") {
+ # For a chain of sH and sL atoms, use the @dihedral:delta65_0
+ # parameters. (This corresponds to the "AUF2" model from the
+ # Bellesia et. al 2010 paper.)
+
+ @dihedral:delta65_0 @atom:s* @atom:s* @atom:s* @atom:s* * * *
+
+ # If "tN" (turn) atoms are present, use the @dihedral:turn parameters
+
+ @dihedral:turn @atom:tN @atom:* @atom:* @atom:* * * *
+ }
+
+ write_once("In Settings") {
+ dihedral_coeff @dihedral:delta60_0 fourier 2 2.167862 3 0 2.167862 1 -60.0
+ dihedral_coeff @dihedral:delta65_0 fourier 2 2.167862 3 0 2.167862 1 -65.0
+ dihedral_coeff @dihedral:turn fourier 1 0.361310 3 0
+ # Note: 2.167862=1.2*epsilon and 0.361310=0.2*epsilon.
+ }
+
+
+ # --- Mass Units ---
+ # Typical amino acids weigh approximately 110.0 grams/mole. (Rounding down):
+ write_once("Data Masses") {
+ @atom:1beadProtSci2010/sH 100.0
+ @atom:1beadProtSci2010/sL 100.0
+ @atom:1beadProtSci2010/tN 100.0
+ }
+
+} # 1beadProtSci2010 (namespace)
+
diff --git a/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/moltemplate_files/1beadProtSci2010_variations.lt b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/moltemplate_files/1beadProtSci2010_variations.lt
new file mode 100644
index 000000000..38b1b48f8
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/moltemplate_files/1beadProtSci2010_variations.lt
@@ -0,0 +1,225 @@
+### THIS FILE IS OPTIONAL AND IS NOT NECESSARY. IN THIS FILE, I DEFINED SOME ##
+### ADDITIONAL PROTEIN TYPES FROM THE PAPER THAT I DID NOT USE IN THIS EXAMPLE##
+#
+# This file defines a family of coarse-grained protein models used in:
+# G. Bellesia, AI Jewett, and J-E Shea,
+# Protein Science, Vol19 141-154 (2010)
+#
+# Strategy:
+#
+#1) First I'll define some building blocks (A16, B16, T3)
+# which are helices, sheets and turns of a predetermined length)
+
+import "1beadProtSci2010.lt"
+
+# We defined A16 and T3 earlier in "1beadPRotSci2010.lt" Will define B16 below
+#
+#2) Then I'll copy and paste them together to build
+# a 4-helix bundle or a 4-strand beta-barrel.
+
+
+1beadProtSci2010 { #<-- Add new molecules to existing namespace defined earlier
+ # This way we don't have to start from scratch. We can
+ # use all the atom types and angle settings defined earlier
+
+ # B16 is a coarse-grained beta-strand containing 16 residues (one "atom" each)
+
+ B16 {
+
+ # AtomID MoleculeID AtomType Charge X Y Z
+
+ write('Data Atoms') {
+ $atom:a1 $mol:... @atom:../sL 0.0 -1.8 0.0 0.0
+ $atom:a2 $mol:... @atom:../sH 0.0 1.8 0.0 4.8
+ $atom:a3 $mol:... @atom:../sL 0.0 -1.8 0.0 9.6
+ $atom:a4 $mol:... @atom:../sH 0.0 1.8 0.0 14.4
+ $atom:a5 $mol:... @atom:../sL 0.0 -1.8 0.0 19.2
+ $atom:a6 $mol:... @atom:../sH 0.0 1.8 0.0 24.0
+ $atom:a7 $mol:... @atom:../sL 0.0 -1.8 0.0 28.8
+ $atom:a8 $mol:... @atom:../sH 0.0 1.8 0.0 33.6
+ $atom:a9 $mol:... @atom:../sL 0.0 -1.8 0.0 38.4
+ $atom:a10 $mol:... @atom:../sH 0.0 1.8 0.0 43.2
+ $atom:a11 $mol:... @atom:../sL 0.0 -1.8 0.0 48.0
+ $atom:a12 $mol:... @atom:../sH 0.0 1.8 0.0 52.8
+ $atom:a13 $mol:... @atom:../sL 0.0 -1.8 0.0 57.6
+ $atom:a14 $mol:... @atom:../sH 0.0 1.8 0.0 62.4
+ $atom:a15 $mol:... @atom:../sL 0.0 -1.8 0.0 67.2
+ $atom:a16 $mol:... @atom:../sH 0.0 1.8 0.0 72.0
+ }
+
+ write('Data Bonds') {
+ $bond:b1 @bond:../backbone $atom:a1 $atom:a2
+ $bond:b2 @bond:../backbone $atom:a2 $atom:a3
+ $bond:b3 @bond:../backbone $atom:a3 $atom:a4
+ $bond:b4 @bond:../backbone $atom:a4 $atom:a5
+ $bond:b5 @bond:../backbone $atom:a5 $atom:a6
+ $bond:b6 @bond:../backbone $atom:a6 $atom:a7
+ $bond:b7 @bond:../backbone $atom:a7 $atom:a8
+ $bond:b8 @bond:../backbone $atom:a8 $atom:a9
+ $bond:b9 @bond:../backbone $atom:a9 $atom:a10
+ $bond:b10 @bond:../backbone $atom:a10 $atom:a11
+ $bond:b11 @bond:../backbone $atom:a11 $atom:a12
+ $bond:b12 @bond:../backbone $atom:a12 $atom:a13
+ $bond:b13 @bond:../backbone $atom:a13 $atom:a14
+ $bond:b14 @bond:../backbone $atom:a14 $atom:a15
+ $bond:b15 @bond:../backbone $atom:a15 $atom:a16
+ }
+
+ } # B16
+
+ # ----- Now build larger molecules using B16 and T3 -------
+
+
+ 4SheetBarrel {
+ sheet1 = new B16.rot( 45, 0,0,1).move(-4.762203156,-4.762203156, -36.0)
+ sheet2 = new B16.rot( 135, 0,0,1).move( 4.762203156,-4.762203156, -36.0)
+ sheet3 = new B16.rot( 225, 0,0,1).move( 4.762203156, 4.762203156, -36.0)
+ sheet4 = new B16.rot( 315, 0,0,1).move(-4.762203156, 4.762203156, -36.0)
+
+ turn1 = new T3.rot(180,1,0,0).rot( 0, 0,0,1).move( 0, -7.8, 39.6)
+ turn2 = new T3.rot( 0,1,0,0).rot(-90,0,0,1).move(4.2, 0.0,-41.4)
+ turn3 = new T3.rot(180,1,0,0).rot(-180,0,0,1).move( 0, 7.8, 39.6)
+
+ write('Data Bonds') {
+ $bond:turn1a @bond:../backbone $atom:turn1/a1 $atom:sheet1/a16
+ $bond:turn1b @bond:../backbone $atom:turn1/a3 $atom:sheet2/a16
+ $bond:turn2a @bond:../backbone $atom:turn2/a1 $atom:sheet3/a1
+ $bond:turn2b @bond:../backbone $atom:turn2/a3 $atom:sheet2/a1
+ $bond:turn3a @bond:../backbone $atom:turn3/a1 $atom:sheet3/a16
+ $bond:turn3b @bond:../backbone $atom:turn3/a3 $atom:sheet4/a16
+ }
+ create_var { $mol } # molecule ID number shared by all atoms in this protein
+ }
+
+
+ # Below I define several alternate conformations of the"4HelixBundleInsideOut"
+ # molecule I defined earlier in "1beadProtSci2010.lt". Same molecule however.
+
+ 4HelixBundle {
+ helix1 = new A16.rot( -45, 0,0,1).move(-5.70,-5.70,-32.4)
+ helix2 = new A16.rot( 45, 0,0,1).move( 5.70,-5.70,-28.8)
+ helix3 = new A16.rot( 135, 0,0,1).move( 5.70, 5.70,-25.2)
+ helix4 = new A16.rot( 225, 0,0,1).move(-5.70, 5.70,-21.6)
+
+ write('Data Bonds') {
+ $bond:turn1a @bond:../backbone $atom:turn1/a1 $atom:helix1/a16
+ $bond:turn1b @bond:../backbone $atom:turn1/a3 $atom:helix2/a16
+ $bond:turn2a @bond:../backbone $atom:turn2/a1 $atom:helix3/a1
+ $bond:turn2b @bond:../backbone $atom:turn2/a3 $atom:helix2/a1
+ $bond:turn3a @bond:../backbone $atom:turn3/a1 $atom:helix3/a16
+ $bond:turn3b @bond:../backbone $atom:turn3/a3 $atom:helix4/a16
+ }
+
+ turn1 = new T3.rot(150,1,0,0).rot(-23,0,1,0).rot( 8,0,0,1).move(-3.6,-4.8,28.2)
+ turn2 = new T3.rot(-5,1,0,0).rot( 21,0,1,0).rot(-100,0,0,1).move(4.2,-0.66,-30.9)
+ turn3 = new T3.rot(150,1,0,0).rot(-23,0,1,0).rot(188,0,0,1).move(3.6,4.8,35.4)
+
+ create_var { $mol } # molecule ID number shared by all atoms in this protein
+
+ } # 4HelixBundle
+
+
+
+
+ # --- alternate conformations (same molecule) ----
+
+ # In the following version, the helices are oriented in a similar way,
+ # but they are separated a little further away from eachother.
+
+ 4HelixBundleLoose {
+
+ helix1 = new A16.rot( -45, 0,0,1).move(-6.7347723,-6.7347723, -27.0)
+ helix2 = new A16.rot( 45, 0,0,1).move( 6.7347723,-6.7347723, -27.0)
+ helix3 = new A16.rot( 135, 0,0,1).move( 6.7347723, 6.7347723, -27.0)
+ helix4 = new A16.rot( 225, 0,0,1).move(-6.7347723, 6.7347723, -27.0)
+
+ turn1 = new T3.rot(180,1,0,0).rot(-17,0,0,1).move(-1.2,-4.2,32.4)
+ turn2 = new T3.rot( 0,1,0,0).rot(-100,0,0,1).move(4.2,-0.9,-28.8)
+ turn3 = new T3.rot(180,1,0,0).rot(163,0,0,1).move(1.2,4.2,32.4)
+
+ write('Data Bonds') {
+ $bond:turn1a @bond:../backbone $atom:turn1/a1 $atom:helix1/a16
+ $bond:turn1b @bond:../backbone $atom:turn1/a3 $atom:helix2/a16
+ $bond:turn2a @bond:../backbone $atom:turn2/a1 $atom:helix3/a1
+ $bond:turn2b @bond:../backbone $atom:turn2/a3 $atom:helix2/a1
+ $bond:turn3a @bond:../backbone $atom:turn3/a1 $atom:helix3/a16
+ $bond:turn3b @bond:../backbone $atom:turn3/a3 $atom:helix4/a16
+ }
+ create_var { $mol } # molecule ID number shared by all atoms in this protein
+ }
+
+
+ # In following version, the helices are oriented in a similar way,
+ # but they are separated a little further away from eachother.
+
+ 4HelixInsideOutLoose {
+ helix1 = new A16.rot(-225, 0,0,1).move(-6.7347723,-6.7347723, -27.0)
+ helix2 = new A16.rot(-135, 0,0,1).move( 6.7347723,-6.7347723, -27.0)
+ helix3 = new A16.rot( -45, 0,0,1).move( 6.7347723, 6.7347723, -27.0)
+ helix4 = new A16.rot( 45, 0,0,1).move(-6.7347723, 6.7347723, -27.0)
+
+ turn1 = new T3.rot(180,1,0,0).rot( 10,0,0,1).move( 0.78,-4.2,28.8)
+ turn2 = new T3.rot( 70,1,0,0).rot(-70,0,0,1).move( 10.8,2.4,-28.2)
+ turn3 = new T3.rot(180,1,0,0).rot(190,0,0,1).move(-0.78,4.2,28.8)
+
+ write('Data Bonds') {
+ $bond:turn1a @bond:../backbone $atom:turn1/a1 $atom:helix1/a16
+ $bond:turn1b @bond:../backbone $atom:turn1/a3 $atom:helix2/a16
+ $bond:turn2a @bond:../backbone $atom:turn2/a1 $atom:helix3/a1
+ $bond:turn2b @bond:../backbone $atom:turn2/a3 $atom:helix2/a1
+ $bond:turn3a @bond:../backbone $atom:turn3/a1 $atom:helix3/a16
+ $bond:turn3b @bond:../backbone $atom:turn3/a3 $atom:helix4/a16
+ }
+ create_var { $mol } # molecule ID number shared by all atoms in this protein
+
+ } # 4HelixInsideOutLoose
+
+
+
+
+ # In the following version, the 4 helices are arranged next to each other,
+ # side-by-side, in a planar conformation (instead of a compact bundle).
+
+ 4HelixPlanar {
+ helix1 = new A16.rot(-00, 0,0,1).move(0, 0, -27.0)
+ helix2 = new A16.rot( 00, 0,0,1).move(14.4, 0, -27.0)
+ helix3 = new A16.rot(-00, 0,0,1).move(28.8, 0, -27.0)
+ helix4 = new A16.rot( 00, 0,0,1).move(43.2, 0, -27.0)
+
+ turn1 = new T3.rot(180,1,0,0).rot( 0,0,0,1).move( 4.8, 0, 31.8)
+ turn2 = new T3.rot( 0,1,0,0).rot(180,0,0,1).move(19.2, 0,-31.8)
+ turn3 = new T3.rot(180,1,0,0).rot( 0,0,0,1).move(34.6, 0, 31.8)
+
+ write('Data Bonds') {
+ $bond:turn1a @bond:../backbone $atom:turn1/a1 $atom:helix1/a16
+ $bond:turn1b @bond:../backbone $atom:turn1/a3 $atom:helix2/a16
+ $bond:turn2a @bond:../backbone $atom:turn2/a1 $atom:helix3/a1
+ $bond:turn2b @bond:../backbone $atom:turn2/a3 $atom:helix2/a1
+ $bond:turn3a @bond:../backbone $atom:turn3/a1 $atom:helix3/a16
+ $bond:turn3b @bond:../backbone $atom:turn3/a3 $atom:helix4/a16
+ }
+ create_var { $mol } # molecule ID number shared by all atoms in this protein
+
+ } # 4HelixPlanar
+
+
+ # -------- Minor coordinates adjustment: -----------
+ # Those coordinates in the commands above are a little too large.
+ # To make it easier to type them in, I was using sigma=6.0 Angstroms.
+ # Instead, here I'll try using sigma=4.8 Angstroms. 4.8/6.0 = 0.8)
+
+ 4SheetBarrel.scale(0.8)
+ 4HelixBundle.scale(0.8)
+ 4HelixBundleLoose.scale(0.8)
+ 4HelixInsideOutLoose.scale(0.8)
+ 4HelixPlanar.scale(0.8)
+
+ # Note: "scale()" only effects the initial coordinates of
+ # the molecule, not the force field parameters.
+ # (If you plan to minimize the molecule, you don't need to
+ # be so careful about the initial coordinates. In that case,
+ # you don't have worry about "scale()". Feel free to remove.)
+
+
+} # 1beadProtSci2010 (namespace)
+
diff --git a/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/moltemplate_files/CGLipidBr2005.lt b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/moltemplate_files/CGLipidBr2005.lt
new file mode 100644
index 000000000..24be50ace
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/moltemplate_files/CGLipidBr2005.lt
@@ -0,0 +1,196 @@
+# Note:
+#
+# This example may require additional features to be added to LAMMPS. If
+# LAMMPS complains about an "Invalid pair_style", then download copy the
+# "additional_lammps_code" from moltemplate.org, unpack it into your LAMMPS
+# "src" directory and recompile LAMMPS.
+#
+# -------- Description --------
+#
+# This example contains an implementation of the DPPC lipid bilayer described in
+# G. Brannigan, P.F. Philips, and F.L.H. Brown,
+# Physical Review E, Vol 72, 011915 (2005)
+# and:
+# M.C. Watson, E.S. Penev, P.M. Welch, and F.L.H. Brown
+# J. Chem. Phys. 135, 244701 (2011)
+#
+# As in Watson(JCP 2011), rigid bond-length constraints have been replaced
+# by harmonic bonds.
+#
+# A truncated version of this lipid (named "DLPC") has also been added.
+# Unlike the original "DPPC" molecule model, "DLPC" has not been carefully
+# parameterized to reproduce the correct behavior in a lipid bilayer mixture.
+#
+# Units:
+#
+# The "epsilon" parameter in their model is approximately 2.75 kJ/mole
+# ( = 0.657265774378585 kCal/mole, using 1kCal=4.184kJ)
+# The "sigma" parameter corresponds to 7.5 angstroms.
+
+
+CGLipidBr2005 {
+
+
+ write_once("In Init") {
+ # -- Default styles for "CGLipidBr2005" --
+ units real
+ atom_style full
+ # (Hybrid force field styles were used for portability.)
+ bond_style hybrid harmonic
+
+ #angle_style hybrid cosine/delta # <- used in the original article
+ angle_style hybrid harmonic # <- prevents unphysical acute angle turns
+ # Explanation:
+ # angle_style cosine/delta: U(theta) = k*(1-cos(theta-theta0))
+ # angle_style harmonic: U(theta) = k*(theta-theta0)^2
+
+ dihedral_style none
+ improper_style none
+
+ pair_style hybrid table linear 1130 &
+ lj/charmm/coul/charmm/inter es4k4l 14.5 15
+
+ pair_modify mix arithmetic
+ special_bonds lj 0.0 0.0 1.0 # turn off pairs if "less than 3 bonds"
+ }
+
+
+ DPPC {
+ write("Data Atoms") {
+ $atom:h $mol:. @atom:head 0.0 0.00 0.00 33.75 # DPPC head atom
+ $atom:i $mol:. @atom:../int 0.0 -1.00 0.00 26.25
+ $atom:t1 $mol:. @atom:../tail 0.0 1.00 0.00 18.75
+ $atom:t2 $mol:. @atom:../tail 0.0 -1.00 0.00 11.25
+ $atom:t3 $mol:. @atom:../tail 0.0 1.00 0.00 3.75
+ }
+ write("Data Bonds") {
+ $bond:b1 @bond:../backbone $atom:h $atom:i
+ $bond:b2 @bond:../backbone $atom:i $atom:t1
+ $bond:b3 @bond:../backbone $atom:t1 $atom:t2
+ $bond:b4 @bond:../backbone $atom:t2 $atom:t3
+ }
+ write("Data Angles") {
+ $angle:a1 @angle:../backbone $atom:h $atom:i $atom:t1
+ $angle:a2 @angle:../backbone $atom:i $atom:t1 $atom:t2
+ $angle:a3 @angle:../backbone $atom:t1 $atom:t2 $atom:t3
+ }
+
+ # Define properties of the local (lipid-specific) atom:head type atom:
+ write_once("Data Masses") {
+ @atom:head 200.0
+ }
+ write_once("In Settings") {
+ pair_coeff @atom:head @atom:head lj/charmm/coul/charmm/inter 0.1643 7.5 0.4 0
+ pair_coeff @atom:../int @atom:head lj/charmm/coul/charmm/inter 0.1643 7.5 0.4 0
+ pair_coeff @atom:../tail @atom:head lj/charmm/coul/charmm/inter 0.1643 7.5 0.4 0
+ }
+
+ } #DPPC
+
+
+ DLPC {
+ write("Data Atoms") {
+ $atom:h $mol:. @atom:head 0.0 0.00 0.00 30.00 # DLPC head atom
+ $atom:i $mol:. @atom:../int 0.0 -1.00 0.00 22.50
+ $atom:t1 $mol:. @atom:../tail 0.0 1.00 0.00 15.00
+ $atom:t2 $mol:. @atom:../tail 0.0 -1.00 0.00 7.50
+ }
+ write("Data Bonds") {
+ $bond:b1 @bond:../backbone $atom:h $atom:i
+ $bond:b2 @bond:../backbone $atom:i $atom:t1
+ $bond:b3 @bond:../backbone $atom:t1 $atom:t2
+ }
+ write("Data Angles") {
+ $angle:a1 @angle:../backbone $atom:h $atom:i $atom:t1
+ $angle:a2 @angle:../backbone $atom:i $atom:t1 $atom:t2
+ }
+ # Define properties of the local (lipid-specific) atom:head type atom:
+ write_once("Data Masses") {
+ @atom:head 200.0
+ }
+ write_once("In Settings") {
+ pair_coeff @atom:head @atom:head lj/charmm/coul/charmm/inter 0.1643 7.5 0.4 0
+ pair_coeff @atom:../int @atom:head lj/charmm/coul/charmm/inter 0.1643 7.5 0.4 0
+ pair_coeff @atom:../tail @atom:head lj/charmm/coul/charmm/inter 0.1643 7.5 0.4 0
+ }
+ } #DLPC
+
+
+ # Particles and properties shared by all lipid types:
+
+ write_once("Data Masses") {
+ @atom:int 200.0
+ @atom:tail 200.0
+ }
+
+ write_once("In Settings") {
+ # -- Default settings/parameters for "CGLipidBr2005" --
+ # (Hybrid bond & angle styles were used for portability.)
+
+ # As in Watson(JCP 2011), rigid bond-length constraints
+ # have been replaced by harmonic bonds.
+ # The k_theta parameter should lie in between 5*epsilon and 10*epsilon.
+ bond_coeff @bond:backbone harmonic 116.847 7.5 #<--2*5000*eps/sig^2
+ }
+
+ write_once("In Settings") {
+ # cosine/delta: U(theta) = k*(1-cos(theta-theta0))
+ #angle_coeff @angle:backbone cosine/delta 4.60086042 180 #<-- 7*eps
+ # harmonic: U(theta) = k*(theta-theta0)^2 not (k/2)*(theta-theta0)^2
+ angle_coeff @angle:backbone harmonic 9.85898661 180 #<-->30*eps
+ }
+ # I use a stiffer bond-angle than the original Brannigan & Brown 2005 paper
+ # to attempt to compensate for the fact that here we are using a lipid
+ # mixture of DPPC and DLPC. (The mixture of lipids introduces a great deal
+ # of disorder into the bilayer which would not be present in a DPPC bilayer.
+ # This causes pores to form. Increasing the angle stiffness prevents this.)
+
+ write_once("In Settings") {
+
+ # The interaction of "atom:int" with other "atom:int" atoms is given by
+ # epsilon*(0.4*(sigma/r)^12 - 3.0*(sigma/r)^2), shifted and cutoff at
+ # r=3*sigma. This was implemented using pair_style table.
+ # Unfortunately, mixing lj/charmm and "table" pair styles in the same
+ # simulation is very inneficient.
+
+ pair_coeff @atom:int @atom:int table table_int.dat INT
+
+ # The interaction of tail beads with eachother is given by the formula below
+ # and with other atoms ...using Lorenz-Berthelot and "repulsive wins" rules:
+ # epsilon*(0.4*(sigma/r)^12 - 1.0*(sigma/r)^6),
+ pair_coeff @atom:tail @atom:tail lj/charmm/coul/charmm/inter 0.1643 7.5 0.4 -1
+ pair_coeff @atom:int @atom:tail lj/charmm/coul/charmm/inter 0.1643 7.5 0.4 -1
+
+ # The interaction between head beads from different types of lipids
+ # is (currently) repulsive:
+ pair_coeff @atom:DPPC/head @atom:DLPC/head lj/charmm/coul/charmm/inter 0.1643 7.5 0.4 0
+
+ } # write_once("In Settings")
+
+
+ # Note: I divided epsilon by 4 to get "0.1643" because we are using the
+ # "es4k4l" coeffstyle, corresponding to U(r)=eps(4*K*(s/r)^12 + 4*L*(s/r)^6)
+ # (The "es4k4l" coeffstyle is the default.) Using this convention makes it
+ # easier to mix this coarse-grained lipid model with other molecular models.
+
+
+
+} # CGLipidBr2005
+
+
+
+
+
+
+
+
+# Note: This example has not been optimized for speed.
+#
+# Unfortunately, using both lj/charmm and "table" pair styles in the same
+# simulation seems to be very inneficient. (The simulation is twice as slow
+# as using only the "lj/charmm" pair styles for every pairwise interaction,
+# ...and about 25% slower than using "table" for every pairwise interaction.
+# However the lennard-jones pair styles support mixing, so we use them to
+# make it easier to run these molecules with other molecules which don't use
+# pair_table. I felt that portability was worth the extra 25% slow down.)
+
diff --git a/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/moltemplate_files/README.sh b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/moltemplate_files/README.sh
new file mode 100755
index 000000000..a5590ffa0
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/moltemplate_files/README.sh
@@ -0,0 +1,22 @@
+# This example shows how to build a multicomponent spherical vesicle.
+# The lipid bilayer is composed of two different lipids (DPPC and DLPC),
+# The vesicle contains 120 trans-membrane protein inclusions.
+#
+# ---------------- Prerequisites: ------------------
+# You must run packmol to generate the coordinates beforehand.
+# Afterwards, move and rename the final coordinate file to "../system.xyz"
+# To do this, check the README.sh file in the ../packmol_files directory.
+# (or follow these instructions below)
+#
+# cd ../packmol_files
+# packmol < step1_proteins.inp
+# packmol < step2_innerlayer.inp
+# packmol < step3_outerlayer.inp
+# cp step3_outerlayer.xyz ../system.xyz
+#
+# These steps could take a few hours.
+#
+# --- After you have done that, you can run moltemplate using this command: ---
+
+moltemplate.sh system.lt -xyz ../system.xyz
+
diff --git a/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/moltemplate_files/calc_table/calc_CGLipidTableINTvsINT.py b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/moltemplate_files/calc_table/calc_CGLipidTableINTvsINT.py
new file mode 100755
index 000000000..1158a9cf7
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/moltemplate_files/calc_table/calc_CGLipidTableINTvsINT.py
@@ -0,0 +1,29 @@
+#!/usr/bin/env python
+
+# Calculate a table of pairwise energies and forces between "INT" atoms
+# in the lipid membrane model described in
+# Brannigan et al, Phys Rev E, 72, 011915 (2005)
+# The energy of this interaction U(r) = eps*(0.4*(sigma/r)^12 - 3.0*(sigma/r)^2)
+# However it is truncated at rc2 = 22.5 (shifted upwards to maintain continuity)
+
+def U(r, eps, sigma):
+ return eps* (0.4*pow((sigma/r),12) - 3.0*sigma*sigma/(r*r))
+def F(r, eps, sigma):
+ return eps*(12*0.4*pow((sigma/r),13)/sigma - 2*3.0*sigma*sigma/(r*r*r))
+
+epsilon = 2.75/4.184 # kCal/mole
+sigma = 7.5
+Rmin = 0.02
+Rmax = 22.6
+rcut = 22.5
+N = 1130
+
+for i in range(0,N):
+ r = Rmin + i*(Rmax-Rmin)/(N-1)
+ U_r = U(r, epsilon, sigma) - U(rcut, epsilon, sigma)
+ F_r = F(r, epsilon, sigma)
+ if r > rcut:
+ U_r = 0.0
+ F_r = 0.0
+ print(str(i+1)+' '+str(r)+' '+str(U_r)+' '+str(F_r))
+
diff --git a/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/moltemplate_files/calc_table/version_charmm_cutoff/calc_table.py b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/moltemplate_files/calc_table/version_charmm_cutoff/calc_table.py
new file mode 100755
index 000000000..e7f0fe462
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/moltemplate_files/calc_table/version_charmm_cutoff/calc_table.py
@@ -0,0 +1,70 @@
+#!/usr/bin/env python
+
+# Calculate a table of pairwise energies and forces between "INT" atoms
+# in the lipid membrane model described in
+# Brannigan et al, Phys Rev E, 72, 011915 (2005)
+# The energy of this interaction U(r) = eps*(0.4*(sigma/r)^12 - 3.0*(sigma/r)^2)
+# I realized later this is not what we want because although energy is conserved
+# all enrgies are shifted with respect to energies used in the Brannigan paper
+# (by 0.27 kCal/mole) and the later Watson JCP 2011 paper (by 0.224 kCal/mole).
+# (So don't use this.)
+
+# Calculate and print a
+
+def S(r, rc1, rc2, derivative=False):
+ """
+ Calculate the switching function S(r) which decays continuously
+ between 1 and 0 in the range from rc1 to rc2 (rc2>rc1):
+ S(r) = (rc2^2 - r^2)^2 * (rc2^2 + 2*r^2 - 3*rc1^2) / (rc2^2-rc1^2)^3
+ I'm using the same smoothing/switching cutoff function used by the CHARMM
+ force-fields. (I'm even using the same code to implement it, taken
+ from lammps charmm/coul/charmm pair style, rewritten in python.)
+
+ """
+ assert(rc2>rc1)
+ rsq = r*r
+ rc1sq = rc1*rc1
+ rc2sq = rc2*rc2
+ denom_lj_inv = (1.0 / ((rc2sq-rc1sq)*
+ (rc2sq-rc1sq)*
+ (rc2sq-rc1sq)))
+ if rsq > rc2sq:
+ return 0.0
+ elif rsq < rc1sq:
+ if derivative:
+ return 0.0
+ else:
+ return 1.0
+ else:
+ rc2sq_minus_rsq = (rc2sq - rsq)
+ rc2sq_minus_rsq_sq = rc2sq_minus_rsq * rc2sq_minus_rsq
+ if derivative:
+ return (12.0 * rsq * rc2sq_minus_rsq * (rsq-rc1sq) * denom_lj_inv)
+ else:
+ return (rc2sq_minus_rsq_sq *
+ (rc2sq + 2.0*rsq - 3.0*rc1sq) * denom_lj_inv)
+
+
+def U(r, eps, sigma):
+ return eps* (0.4*pow((sigma/r),12) - 3.0*sigma*sigma/(r*r))
+
+def F(r, eps, sigma):
+ return eps*(12*0.4*pow((sigma/r),13)/sigma - 2*3.0*sigma*sigma/(r*r*r))
+
+epsilon = 2.75/4.184 # kCal/mole
+sigma = 7.5
+Rmin = 0.02
+Rmax = 22.6
+Rc1 = 22.0
+Rc2 = 22.5
+N = 1130
+
+for i in range(0,N):
+ r = Rmin + i*(Rmax-Rmin)/(N-1)
+ U_r = U(r, epsilon, sigma)
+ F_r = F(r, epsilon, sigma)
+ # Multiply U(r) & F(r) by the smoothing/switch function
+ U_r = U_r * S(r, Rc1, Rc2)
+ F_r = U_r * S(r, Rc1, Rc2, True) + F_r * S(r, Rc1, Rc2, False)
+ print(str(i+1)+' '+str(r)+' '+str(U_r)+' '+str(F_r))
+
diff --git a/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/moltemplate_files/system.lt b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/moltemplate_files/system.lt
new file mode 100644
index 000000000..f73c0d5f1
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/moltemplate_files/system.lt
@@ -0,0 +1,166 @@
+# Description:
+#
+# This example shows how to build a multicomponent spherical vesicle.
+# The lipid bilayer is composed of two different lipids (DPPC and DLPC),
+# The vesicle contains 120 trans-membrane protein inclusions.
+#
+# The DPPC lipid model is described here:
+# G. Brannigan, P.F. Philips, and F.L.H. Brown,
+# Physical Review E, Vol 72, 011915 (2005)
+# The protein model is described here:
+# G. Bellesia, AI Jewett, and J-E Shea,
+# Protein Science, Vol19 141-154 (2010)
+# The new DLPC model is a truncated version of DPPC,
+# (Its behaviour has not been rigorously tested.)
+# Note that 50%/50% mixtures of DPPC & DLPC are commonly used to
+# build liposomes http://www.ncbi.nlm.nih.gov/pubmed/10620293
+#
+# NOTE: THE COORDINATES FOR THESE MOLECULES ARE GENERATED BY PACKMOL (see below)
+#
+# NOTE:
+# This example may require additional features to be added to LAMMPS.
+# If LAMMPS complains about an "Invalid pair_style", then copy the code
+# in the "additional_lammps_code" directory into your LAMMPS "src" directory
+# and recompile LAMMPS.
+
+# First, load the definitions of the molecules we will need:
+
+import "CGLipidBr2005.lt"
+using namespace CGLipidBr2005
+
+import "1beadProtSci2010.lt"
+using namespace 1beadProtSci2010
+
+# PREREQUISITES:
+# Coordinates for the molecules in this example are loaded from an .XYZ file
+# created by PACKMOL. This must be done in advance. (See ../packmol_files/)
+#
+# The XYZ file was created by PACKMOL in 3 steps:
+# (Add the proteins, then pack lipids in the inner & outer layers around them.)
+#
+# step1) Creae 120 proteins. Distribute them on the surface of the sphere.
+#
+# step2) Keeping the coordinates from step1 fixed,
+# a) first we add 9500 DPPC lipids to the inner monolayer
+# b) then we add 9500 DLPC lipids to the inner monolayer
+#
+# step3) Keeping the coordinates from steps 1 and 2 fixed,
+# a) first we add 12500 DPPC lipids to the outer monolayer
+# b) then we add 12500 DLPC lipids to the outer monolayer
+#
+# The order that molecules are created in moltemplate should match the order
+# they appear in the final XYZ file created by PACKMOL. (See above.)
+# Consequently I instantiate the molecules in the same order here:
+
+
+# Step 1) ---- protein inclusions ----
+
+proteins = new 4HelixInsideOut [120]
+
+# Step 2a) ---- inner monolayer ----
+dppc_in = new DPPC [9500]
+# Step 2b)
+dlpc_in = new DLPC [9500]
+
+# Step 3a) ---- outer monolayer ----
+dppc_out = new DPPC [12500]
+# Step 3b)
+dlpc_out = new DLPC [12500]
+
+
+
+# ------------------ boundary conditions --------------------
+
+write_once("Data Boundary") {
+ -500.0 500.0 xlo xhi
+ -500.0 500.0 ylo yhi
+ -500.0 500.0 zlo zhi
+}
+
+
+# -------- interactions between protein and lipids ----------
+
+# Note: All atom types must include the full path (the name of
+# the namespace which defined them as well as the atom type name).
+# (This is because we are no longer inside that namespace.)
+
+
+write_once("In Settings") {
+
+ # Interactions between the protein and lipid atoms are usually
+ # determined by mixing rules. However this is not possible some
+ # for atoms (such as the "int" atoms in the lipid model which
+ # interact using -1/r^2 attraction). Lorentz-Berthelot mixing
+ # rules do not make sense for these atoms so we must explicitly
+ # define their interaction with all other atoms.
+
+ # i j pairstylename eps sig K L
+
+ pair_coeff @atom:CGLipidBr2005/int @atom:1beadProtSci2010/sH lj/charmm/coul/charmm/inter 1.8065518 7.5 1 -1
+ pair_coeff @atom:CGLipidBr2005/int @atom:1beadProtSci2010/sL lj/charmm/coul/charmm/inter 1.8065518 7.5 1 0
+ pair_coeff @atom:CGLipidBr2005/int @atom:1beadProtSci2010/tN lj/charmm/coul/charmm/inter 1.8065518 7.5 1 0
+
+ # We want the interactions between hydrophobic residues and atoms in
+ # the interior of the lipid to be energetically similar to the attractive
+ # interactions between hydrophobic residues. (See 1beadProtSci2010.)
+
+ pair_coeff @atom:CGLipidBr2005/tail @atom:1beadProtSci2010/sH lj/charmm/coul/charmm/inter 1.8065518 7.5 1 -1
+
+ # All other interactions between proteins and lipids are steric.
+ pair_coeff @atom:CGLipidBr2005/tail @atom:1beadProtSci2010/sL lj/charmm/coul/charmm/inter 1.8065518 7.5 1 0
+ pair_coeff @atom:CGLipidBr2005/tail @atom:1beadProtSci2010/tN lj/charmm/coul/charmm/inter 1.8065518 7.5 1 0
+ pair_coeff @atom:CGLipidBr2005/DPPC/head @atom:1beadProtSci2010/sH lj/charmm/coul/charmm/inter 1.8065518 7.5 1 0
+ pair_coeff @atom:CGLipidBr2005/DPPC/head @atom:1beadProtSci2010/sL lj/charmm/coul/charmm/inter 1.8065518 7.5 1 0
+ pair_coeff @atom:CGLipidBr2005/DLPC/head @atom:1beadProtSci2010/sH lj/charmm/coul/charmm/inter 1.8065518 7.5 1 0
+ pair_coeff @atom:CGLipidBr2005/DLPC/head @atom:1beadProtSci2010/sL lj/charmm/coul/charmm/inter 1.8065518 7.5 1 0
+
+
+ # We also add an artificial attractive interaction between the
+ # turn residues of the protein and the lipid head groups in
+ # order to keep the protein upright. This might not be necessary
+
+ pair_coeff @atom:CGLipidBr2005/DPPC/head @atom:1beadProtSci2010/tN lj/charmm/coul/charmm/inter 1.8065518 6.0 1 -1
+ pair_coeff @atom:CGLipidBr2005/DLPC/head @atom:1beadProtSci2010/tN lj/charmm/coul/charmm/inter 1.8065518 6.0 1 -1
+
+ # Add a weak attractive interaction between hydrophilic "sL" beads
+ # (Whose strength mimics the strength of interaction between tail beads
+ # in the lipid. This was absent from the original protein model.
+ # However without some kind of weak attraction between residues,
+ # the negative pressure in the interior of the bilayer membrane
+ # allways pulls the protein apart. Recall that in the membrane,
+ # the hydrophobic beads in the protein will face outwards towards the lipid
+ # tails leaving the hydrophilic amino acids of the protein in the interior.
+ # In reality, these polar groups form hydrogen bonds with each other.)
+
+ pair_coeff @atom:1beadProtSci2010/sL @atom:1beadProtSci2010/sL lj/charmm/coul/charmm/inter 0.3286 6.0 0.4 -1
+
+ # However these hydrophilic amino acids are not attracted to
+ # the bilayer interior.
+
+ pair_coeff @atom:CGLipidBr2005/int @atom:1beadProtSci2010/sL lj/charmm/coul/charmm/inter 0.1643 7.5 0.4 0
+ pair_coeff @atom:CGLipidBr2005/tail @atom:1beadProtSci2010/sL lj/charmm/coul/charmm/inter 0.1643 7.5 0.4 0
+
+}
+
+
+
+
+# Finally, we must combine the two force-field styles which were used for
+# the coarse-grained lipid and protein. To do that, we write one last time
+# to the "In Init" section. When reading the "Init" section LAMMPS will
+# read these commands last and this will override any earlier settings.
+
+write_once("In Init") {
+ # -- These styles override earlier settings --
+ units real
+ atom_style full
+ # (Hybrid force field styles were used for portability.)
+ bond_style hybrid harmonic
+ angle_style hybrid cosine/delta harmonic
+ dihedral_style hybrid fourier
+ improper_style none
+ pair_style hybrid table linear 1001 lj/charmm/coul/charmm/inter es4k4l 14.5 15
+ pair_modify mix arithmetic
+ special_bonds lj 0.0 0.0 1.0 # turn off pairs if "less than 3 bonds"
+}
+
diff --git a/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/moltemplate_files/table_int.dat b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/moltemplate_files/table_int.dat
new file mode 100644
index 000000000..b0d651d67
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/moltemplate_files/table_int.dat
@@ -0,0 +1,1139 @@
+# Table for the INT-INT interaction from
+# Brannigan et al, Phys Rev E, 72, 011915 (2005)
+# This table contains
+# i r_i U(r_i) -dU/dr|r_i
+# where U(r) = eps*(0.4*(sigma/r)^12 - 3.0*(sigma/r)^2)
+
+INT
+N 1130
+
+1 0.02 2.0331818401e+30 1.21990910406e+33
+2 0.04 4.9638228518e+26 1.48914685554e+29
+3 0.06 3.82579033251e+24 7.65158066501e+26
+4 0.08 1.21187081343e+23 1.81780622014e+25
+5 0.1 8.32791281704e+21 9.99349538045e+23
+6 0.12 9.34030842897e+20 9.34030842897e+22
+7 0.14 1.46892540453e+20 1.25907891817e+22
+8 0.16 2.95866897809e+19 2.21900173357e+21
+9 0.18 7.19889946863e+18 4.79926631242e+20
+10 0.2 2.0331818401e+18 1.21990910406e+20
+11 0.22 6.47834392264e+17 3.53364213962e+19
+12 0.24 2.28034873754e+17 1.14017436877e+19
+13 0.26 8.72681951932e+16 4.02776285507e+18
+14 0.28 3.58624366341e+16 1.53696157003e+18
+15 0.3 1.56704372019e+16 6.26817488078e+17
+16 0.32 7.2233129348e+15 2.70874235055e+17
+17 0.34 3.48970861422e+15 1.23166186384e+17
+18 0.36 1.75754381558e+15 5.85847938527e+16
+19 0.38 9.18613895646e+14 2.90088598625e+16
+20 0.4 4.96382285179e+14 1.48914685554e+16
+21 0.42 2.76404230108e+14 7.89726371739e+15
+22 0.44 1.58162693423e+14 4.31352800247e+15
+23 0.46 9.27773983256e+13 2.42027995633e+15
+24 0.48 5.56725765996e+13 1.391814415e+15
+25 0.5 3.41111308981e+13 8.18667141564e+14
+26 0.52 2.13057117167e+13 4.91670270393e+14
+27 0.54 1.35459994024e+13 3.0102220895e+14
+28 0.56 8.75547769351e+12 1.87617379153e+14
+29 0.58 5.74645813711e+12 1.18892237325e+14
+30 0.6 3.8257903322e+12 7.65158066491e+13
+31 0.62 2.58128463312e+12 4.99603477424e+13
+32 0.64 1.7635041342e+12 3.30657025205e+13
+33 0.66 1.21901470178e+12 2.21639036726e+13
+34 0.68 8.51979641904e+11 1.50349348607e+13
+35 0.7 6.0167184547e+11 1.0314374497e+13
+36 0.72 4.29087845387e+11 7.15146409276e+12
+37 0.74 3.08855637556e+11 5.00846980094e+12
+38 0.76 2.24270970425e+11 3.54112058818e+12
+39 0.78 1.64210505205e+11 2.52631546702e+12
+40 0.8 1.2118708117e+11 1.81780621971e+12
+41 0.82 90109367359.1 1.31867367068e+12
+42 0.84 67481501334.4 9.64021449503e+11
+43 0.86 50880896383.4 7.09965997788e+11
+44 0.88 38613938681.2 5.26553710913e+11
+45 0.9 29486692086.8 3.93155896009e+11
+46 0.92 22650731882.4 2.95444330322e+11
+47 0.94 17498544395.3 2.23385674464e+11
+48 0.96 13591937526.4 1.69899220331e+11
+49 0.98 10612635712.6 1.29950642555e+11
+50 1.0 8327912706.34 99934953582.6
+51 1.02 6566502316.69 77252969474.2
+52 1.04 5201589672.36 60018343356.8
+53 1.06 4138717434.11 46853405843.3
+54 1.08 3307128665.58 36745874940.0
+55 1.1 2653529579.27 28947596241.1
+56 1.12 2137567708.15 22902511945.9
+57 1.14 1728534024.3 18195095739.0
+58 1.16 1402943799.0 14513212422.1
+59 1.18 1142752163.37 11621209113.9
+60 1.2 934030766.093 9340308300.6
+61 1.22 765981286.774 7534242773.65
+62 1.24 630196371.787 6098675145.29
+63 1.26 520103253.414 4953364870.6
+64 1.28 430542934.103 4036340534.04
+65 1.3 357450462.101 3299543229.91
+66 1.32 297610947.802 2705554551.18
+67 1.34 248472587.186 2225128105.44
+68 1.36 208002782.573 1835319108.76
+69 1.38 174576985.011 1518061159.35
+70 1.4 146892484.084 1259078837.33
+71 1.42 123901294.937 1047053582.16
+72 1.44 104757721.536 872981382.419
+73 1.46 88777241.639 729676313.267
+74 1.48 75404158.02 611385405.387
+75 1.5 64186061.7033 513488820.507
+76 1.52 54753607.1486 432265633.695
+77 1.54 46804443.7318 364710253.134
+78 1.56 40090410.0598 308388060.159
+79 1.58 34407297.9713 261321529.95
+80 1.6 29586646.6744 221900119.2
+81 1.62 25489145.661 188808745.634
+82 1.64 21999316.2868 160970856.824
+83 1.66 19021212.5921 137502982.517
+84 1.68 16474936.8715 117678352.86
+85 1.7 14293808.3245 100897694.735
+86 1.72 12422056.6082 86665727.6626
+87 1.74 10812938.3788 74572197.8496
+88 1.76 9427195.57103 64276535.39
+89 1.78 8231790.46096 55495411.7777
+90 1.8 7198865.45512 47992625.088
+91 1.82 6304885.77339 41570857.9644
+92 1.84 5529931.32911 36064946.1544
+93 1.86 4857110.59557 31336368.341
+94 1.88 4272074.43377 27268725.7382
+95 1.9 3762612.01167 23764025.6584
+96 1.92 3318314.28383 20739619.609
+97 1.94 2930293.18879 18125675.4316
+98 1.96 2590946.89128 15863086.114
+99 1.98 2293763.15199 13901736.4186
+100 2.0 2033154.33079 12199063.3122
+101 2.02 1804318.68586 10718858.1296
+102 2.04 1603123.57305 9430268.02169
+103 2.06 1426006.91783 8306962.01537
+104 2.08 1269893.96121 7326433.30293
+105 2.1 1132126.79514 6469414.48445
+106 2.12 1010404.62602 5719386.63441
+107 2.14 902733.052344 5062166.44376
+108 2.16 807380.928986 4485558.44681
+109 2.18 722843.627253 3979061.59742
+110 2.2 647811.695319 3533621.30686
+111 2.22 581144.085827 3141419.57242
+112 2.24 521845.251959 2795697.07302
+113 2.26 469045.525153 2490602.13576
+114 2.28 421984.280794 2221062.32522
+115 2.3 379995.475978 1982675.10836
+116 2.32 342495.208369 1771614.62868
+117 2.34 308970.999537 1584552.10475
+118 2.36 278972.551763 1418587.76828
+119 2.38 252103.765513 1271192.59046
+120 2.4 228015.837009 1140158.32224
+121 2.42 206401.282366 1023554.60663
+122 2.44 186988.75765 919692.114521
+123 2.46 169538.563484 827090.818108
+124 2.48 153838.739168 744452.651831
+125 2.5 139701.665073 670637.92543
+126 2.52 126961.103835 604644.949624
+127 2.54 115469.620781 545592.416037
+128 2.56 105096.332511 492704.141327
+129 2.58 95724.9397832 445295.843157
+130 2.6 87252.0069441 402763.664479
+131 2.62 79585.4554502 364574.203947
+132 2.64 72643.2434671 330255.845328
+133 2.66 66352.2073932 299391.208536
+134 2.68 60647.0444312 271610.570248
+135 2.7 55469.4181565 246586.123584
+136 2.72 50767.1714483 224026.964698
+137 2.74 46493.633237 203674.709811
+138 2.76 42607.0073083 185299.659567
+139 2.78 39069.8329526 168697.439095
+140 2.8 35848.5085794 153686.051901
+141 2.82 32912.8705664 140103.294183
+142 2.84 30235.8206098 127804.483324
+143 2.86 27792.9956998 116660.460548
+144 2.88 25562.4755962 106555.833042
+145 2.9 23524.5233195 97387.4254387
+146 2.92 21661.3547409 89062.9145204
+147 2.94 19956.9338374 81499.6244039
+148 2.96 18396.7906059 74623.4624292
+149 2.98 16967.8589974 68367.9785194
+150 3.0 15658.3325568 62673.5329856
+151 3.02 14457.5357325 57486.5596649
+152 3.04 13355.809067 52758.912937
+153 3.06 12344.4066925 48447.2886046
+154 3.08 11415.4047444 44512.7098736
+155 3.1 10561.6194689 40920.0707567
+156 3.12 9776.5339459 37637.7301715
+157 3.14 9054.23247117 34637.1508274
+158 3.16 8389.34175838 31892.5777179
+159 3.18 7776.97821258 29380.7516608
+160 3.2 7212.7006167 27080.6538766
+161 3.22 6692.4676457 24973.2780793
+162 3.24 6212.59969004 23041.4269669
+163 3.26 5769.74452856 21269.5303734
+164 3.28 5360.84644195 19643.4826615
+165 3.3 4983.1184041 18150.4972204
+166 3.32 4634.01702836 16778.97618
+167 3.34 4311.21998136 15518.393672
+168 3.36 4012.60560869 14359.191159
+169 3.38 3736.23454428 13292.6835236
+170 3.4 3480.33310029 12310.9747549
+171 3.42 3243.27825585 11406.8822043
+172 3.44 3023.58408279 10573.8684961
+173 3.46 2819.88946345 9805.98028003
+174 3.48 2630.94697101 9097.79310596
+175 3.5 2455.61279669 8444.36177626
+176 3.52 2292.83761972 7841.17560602
+177 3.54 2141.65832756 7284.11808108
+178 3.56 2001.19050257 6769.43046025
+179 3.58 1870.62160083 6293.67891689
+180 3.6 1749.20475558 5853.72485855
+181 3.62 1636.25314534 5446.69810179
+182 3.64 1531.13487237 5069.97261409
+183 3.66 1433.26830277 4721.1445646
+184 3.68 1342.11782445 4398.01245332
+185 3.7 1257.18998347 4098.55911171
+186 3.72 1178.02996319 3820.93539003
+187 3.74 1104.21837425 3563.44536511
+188 3.76 1035.36832639 3324.53291993
+189 3.78 971.122756088 3102.76956138
+190 3.8 911.151986554 2896.84335615
+191 3.82 855.151498616 2705.54887715
+192 3.84 802.83989347 2527.77806329
+193 3.86 753.957029799 2362.51190574
+194 3.88 708.262319576 2208.81288195
+195 3.9 665.533168297 2065.81806693
+196 3.92 625.563546756 1932.73285812
+197 3.94 588.162682667 1808.82525631
+198 3.96 553.153861545 1693.42065104
+199 3.98 520.373327227 1585.89706361
+200 4.0 489.669273313 1485.68080556
+201 4.02 460.900917596 1392.24251449
+202 4.04 433.937652306 1305.09353282
+203 4.06 408.6582636 1223.78259822
+204 4.08 384.950214367 1147.89281764
+205 4.1 362.708984933 1077.03889938
+206 4.12 341.837466738 1010.86461999
+207 4.14 322.245404503 949.040505266
+208 4.16 303.848882793 891.261706073
+209 4.18 286.569853265 837.246052066
+210 4.2 270.33569919 786.732267446
+211 4.22 255.078834164 739.47833469
+212 4.24 240.736332164 695.259993326
+213 4.26 227.249586386 653.869362042
+214 4.28 214.563994495 615.113673492
+215 4.3 202.628668126 578.814112106
+216 4.32 191.396164684 544.804746089
+217 4.34 180.822239621 512.931545605
+218 4.36 170.865617553 483.051479815
+219 4.38 161.487780703 455.031686127
+220 4.4 152.652773286 428.748705595
+221 4.42 144.327020575 404.087778912
+222 4.44 136.479161479 380.942197972
+223 4.46 129.07989358 359.212708377
+224 4.48 122.101829632 338.806958688
+225 4.5 115.519364658 319.638992577
+226 4.52 109.308552789 301.628780369
+227 4.54 103.446993117 284.701786758
+228 4.56 97.9137238447 268.788571763
+229 4.58 92.6891241175 253.824422244
+230 4.6 87.7548229339 239.749011508
+231 4.62 83.0936146036 226.506084761
+232 4.64 78.6893802546 214.043168343
+233 4.66 74.5270149351 202.31130085
+234 4.68 70.5923598871 191.264784422
+235 4.7 66.8721396072 180.860954593
+236 4.72 63.353903336 171.05996726
+237 4.74 60.0259706488 161.824601429
+238 4.76 56.8773808439 153.120076496
+239 4.78 53.8978458491 144.913882966
+240 4.8 51.0777063884 137.175625538
+241 4.82 48.4078911713 129.876877635
+242 4.84 45.8798788842 122.991046476
+243 4.86 43.485662782 116.493247913
+244 4.88 41.2177176913 110.360190267
+245 4.9 39.0689692529 104.570066494
+246 4.92 37.0327652428 99.1024540566
+247 4.94 35.102848823 93.9382219092
+248 4.96 33.2733335874 89.05944408
+249 4.98 31.5386802724 84.4493193479
+250 5.0 29.8936750183 80.0920965658
+251 5.02 28.3334090704 75.9730052143
+252 5.04 26.8532598202 72.0781907976
+253 5.06 25.4488730938 68.3946547294
+254 5.08 24.116146599 64.9101983786
+255 5.1 22.8512144543 61.6133709734
+256 5.12 21.650432722 58.4934210835
+257 5.14 20.5103658787 55.5402514226
+258 5.16 19.4277741591 52.7443767307
+259 5.18 18.3996017121 50.0968845179
+260 5.2 17.4229655155 47.5893984632
+261 5.22 16.4951449988 45.2140442802
+262 5.24 15.6135723236 42.9634178757
+263 5.26 14.775823281 40.8305556374
+264 5.28 13.979608762 38.808906703
+265 5.3 13.2227667648 36.8923070701
+266 5.32 12.5032549016 35.0749554196
+267 5.34 11.8191433738 33.3513905323
+268 5.36 11.1686083831 31.7164701895
+269 5.38 10.5499259512 30.1653514539
+270 5.4 9.96146612005 28.693472236
+271 5.42 9.40168750976 27.2965340593
+272 5.44 8.86913220892 25.9704859397
+273 5.46 8.36242097742 24.7115093061
+274 5.48 7.88024874079 23.5160038893
+275 5.5 7.4213803577 22.3805745153
+276 5.52 6.98464664308 21.3020187412
+277 5.54 6.56894063048 20.2773152771
+278 5.56 6.1732140587 19.3036131423
+279 5.58 5.79647406826 18.3782215059
+280 5.6 5.43778009463 17.4986001669
+281 5.62 5.09624094585 16.6623506308
+282 5.64 4.77101205293 15.867207745
+283 5.66 4.46129288233 15.1110318537
+284 5.68 4.16632450031 14.3918014404
+285 5.7 3.88538727999 13.7076062261
+286 5.72 3.61779874199 13.0566406912
+287 5.74 3.36291152072 12.4371979973
+288 5.76 3.12011144838 11.8476642796
+289 5.78 2.8888157497 11.2865132882
+290 5.8 2.66847134042 10.7523013555
+291 5.82 2.45855322349 10.2436626676
+292 5.84 2.25856297681 9.7593048226
+293 5.86 2.06802732724 9.2980046552
+294 5.88 1.88649680546 8.85860431242
+295 5.9 1.71354447704 8.44000756375
+296 5.92 1.548764745 8.04117633127
+297 5.94 1.39177221978 7.66112742597
+298 5.96 1.24220065245 7.29892947717
+299 5.98 1.09970192753 6.9537000433
+300 6.0 0.963945111861 6.62460289254
+301 6.02 0.83461555631 6.31084544295
+302 6.04 0.711414047074 6.01167635216
+303 6.06 0.594056003831 5.72638324756
+304 6.08 0.482270721937 5.45429058822
+305 6.1 0.375800656137 5.19475765055
+306 6.12 0.274400743381 4.94717663025
+307 6.14 0.177837762511 4.71097085338
+308 6.16 0.0858897286772 4.48559308998
+309 6.18 -0.00165467948361 4.27052396409
+310 6.2 -0.0849966617872 4.06527045435
+311 6.22 -0.164327809314 3.8693644797
+312 6.24 -0.239830589745 3.68236156522
+313 6.26 -0.311678806773 3.50383958321
+314 6.28 -0.380038035049 3.33339756513
+315 6.3 -0.445066032049 3.17065458013
+316 6.32 -0.506913128135 3.0152486763
+317 6.34 -0.56572259604 2.866835881
+318 6.36 -0.621631000928 2.72508925658
+319 6.38 -0.674768532081 2.58969800863
+320 6.4 -0.725259317268 2.46036664323
+321 6.42 -0.773221720709 2.33681417085
+322 6.44 -0.818768625574 2.21877335375
+323 6.46 -0.862007701832 2.10598999469
+324 6.48 -0.90304166028 1.99822226439
+325 6.5 -0.941968493479 1.8952400656
+326 6.52 -0.978881704324 1.79682443166
+327 6.54 -1.01387052292 1.70276695755
+328 6.56 -1.04702011237 1.61286926168
+329 6.58 -1.07841176412 1.52694247655
+330 6.6 -1.10812308336 1.44480676668
+331 6.62 -1.13622816508 1.36629087245
+332 6.64 -1.1627977612 1.29123167801
+333 6.66 -1.18789943936 1.21947380239
+334 6.68 -1.21159773365 1.15086921208
+335 6.7 -1.23395428792 1.08527685416
+336 6.72 -1.25502799183 1.02256230873
+337 6.74 -1.27487511024 0.962597459596
+338 6.76 -1.2935494061 0.90526018218
+339 6.78 -1.31110225728 0.850434047748
+340 6.8 -1.32758276773 0.798008043011
+341 6.82 -1.34303787302 0.747876304295
+342 6.84 -1.35751244086 0.699937865467
+343 6.86 -1.3710493666 0.654096418865
+344 6.88 -1.38368966412 0.610260088543
+345 6.9 -1.3954725523 0.568341215144
+346 6.92 -1.40643553728 0.528256151786
+347 6.94 -1.41661449078 0.489925070364
+348 6.96 -1.42604372459 0.453271777711
+349 6.98 -1.43475606153 0.418223541087
+350 7.0 -1.44278290299 0.384710922497
+351 7.02 -1.45015429321 0.352667621378
+352 7.04 -1.45689898057 0.322030325194
+353 7.06 -1.46304447588 0.292738567537
+354 7.08 -1.46861710792 0.264734593325
+355 7.1 -1.47364207647 0.237963230734
+356 7.12 -1.47814350264 0.2123717695
+357 7.14 -1.482144477 0.187909845266
+358 7.16 -1.48566710537 0.16452932965
+359 7.18 -1.48873255248 0.142184225751
+360 7.2 -1.49136108362 0.120830568787
+361 7.22 -1.49357210429 0.100426331626
+362 7.24 -1.49538419809 0.0809313349308
+363 7.26 -1.4968151628 0.0623071617066
+364 7.28 -1.49788204479 0.044517076001
+365 7.3 -1.49860117187 0.0275259455594
+366 7.32 -1.49898818464 0.0113001682279
+367 7.34 -1.49905806636 -0.00419239808778
+368 7.36 -1.4988251715 -0.0189825020854
+369 7.38 -1.49830325295 -0.0330995625254
+370 7.4 -1.49750548803 -0.0465717286462
+371 7.42 -1.49644450327 -0.0594259376903
+372 7.44 -1.49513239812 -0.0716879696855
+373 7.46 -1.49358076759 -0.0833824996199
+374 7.48 -1.4918007238 -0.0945331471409
+375 7.5 -1.48980291663 -0.105162523901
+376 7.52 -1.48759755345 -0.115292278666
+377 7.54 -1.48519441791 -0.124943140307
+378 7.56 -1.48260288794 -0.13413495876
+379 7.58 -1.47983195293 -0.142886744076
+380 7.6 -1.47689023018 -0.151216703644
+381 7.62 -1.47378598053 -0.159142277674
+382 7.64 -1.47052712344 -0.166680173038
+383 7.66 -1.46712125128 -0.173846395532
+384 7.68 -1.46357564306 -0.180656280652
+385 7.7 -1.45989727753 -0.187124522948
+386 7.72 -1.45609284575 -0.193265204023
+387 7.74 -1.45216876302 -0.199091819249
+388 7.76 -1.4481311804 -0.204617303261
+389 7.78 -1.44398599566 -0.20985405428
+390 7.8 -1.43973886378 -0.214813957332
+391 7.82 -1.43539520696 -0.21950840641
+392 7.84 -1.43096022428 -0.223948325627
+393 7.86 -1.42643890087 -0.228144189416
+394 7.88 -1.42183601669 -0.232106041819
+395 7.9 -1.41715615498 -0.235843514899
+396 7.92 -1.41240371029 -0.239365846333
+397 7.94 -1.40758289625 -0.242681896213
+398 7.96 -1.40269775292 -0.245800163096
+399 7.98 -1.39775215386 -0.248728799339
+400 8.0 -1.39274981294 -0.251475625745
+401 8.02 -1.38769429081 -0.254048145572
+402 8.04 -1.3825890011 -0.256453557906
+403 8.06 -1.37743721643 -0.258698770453
+404 8.08 -1.37224207403 -0.260790411767
+405 8.1 -1.3670065813 -0.262734842931
+406 8.12 -1.36173362096 -0.264538168734
+407 8.14 -1.35642595614 -0.26620624836
+408 8.16 -1.35108623513 -0.267744705599
+409 8.18 -1.34571699603 -0.269158938625
+410 8.2 -1.34032067115 -0.270454129338
+411 8.22 -1.33489959126 -0.271635252315
+412 8.24 -1.32945598963 -0.272707083354
+413 8.26 -1.32399200593 -0.273674207668
+414 8.28 -1.31850968998 -0.274541027712
+415 8.3 -1.3130110053 -0.275311770682
+416 8.32 -1.30749783257 -0.275990495686
+417 8.34 -1.30197197291 -0.276581100614
+418 8.36 -1.29643515102 -0.277087328708
+419 8.38 -1.29088901827 -0.277512774857
+420 8.4 -1.28533515553 -0.277860891625
+421 8.42 -1.279775076 -0.278134995017
+422 8.44 -1.27421022789 -0.278338270004
+423 8.46 -1.26864199697 -0.27847377582
+424 8.48 -1.26307170904 -0.278544451025
+425 8.5 -1.25750063229 -0.278553118366
+426 8.52 -1.25192997959 -0.278502489422
+427 8.54 -1.24636091063 -0.27839516907
+428 8.56 -1.24079453406 -0.278233659745
+429 8.58 -1.23523190945 -0.27802036554
+430 8.6 -1.22967404925 -0.277757596126
+431 8.62 -1.22412192063 -0.277447570509
+432 8.64 -1.21857644724 -0.277092420635
+433 8.66 -1.21303851096 -0.276694194842
+434 8.68 -1.20750895348 -0.276254861174
+435 8.7 -1.20198857794 -0.275776310556
+436 8.72 -1.19647815038 -0.275260359835
+437 8.74 -1.19097840123 -0.274708754702
+438 8.76 -1.18549002669 -0.274123172492
+439 8.78 -1.18001369009 -0.273505224869
+440 8.8 -1.17455002313 -0.272856460401
+441 8.82 -1.16909962718 -0.272178367032
+442 8.84 -1.16366307443 -0.271472374453
+443 8.86 -1.15824090903 -0.270739856375
+444 8.88 -1.1528336482 -0.269982132713
+445 8.9 -1.14744178329 -0.269200471678
+446 8.92 -1.14206578078 -0.26839609179
+447 8.94 -1.13670608326 -0.267570163805
+448 8.96 -1.13136311038 -0.266723812565
+449 8.98 -1.1260372597 -0.26585811878
+450 9.0 -1.12072890764 -0.264974120729
+451 9.02 -1.11543841024 -0.2640728159
+452 9.04 -1.11016610399 -0.263155162565
+453 9.06 -1.10491230659 -0.262222081284
+454 9.08 -1.09967731769 -0.261274456364
+455 9.1 -1.09446141962 -0.260313137244
+456 9.12 -1.08926487805 -0.259338939836
+457 9.14 -1.08408794265 -0.258352647809
+458 9.16 -1.07893084774 -0.257355013824
+459 9.18 -1.07379381288 -0.256346760718
+460 9.2 -1.06867704347 -0.255328582644
+461 9.22 -1.06358073129 -0.254301146164
+462 9.24 -1.05850505508 -0.253265091305
+463 9.26 -1.053450181 -0.252221032561
+464 9.28 -1.04841626319 -0.251169559871
+465 9.3 -1.04340344425 -0.25011123955
+466 9.32 -1.03841185563 -0.249046615186
+467 9.34 -1.03344161818 -0.2479762085
+468 9.36 -1.0284928425 -0.246900520178
+469 9.38 -1.02356562938 -0.245820030663
+470 9.4 -1.0186600702 -0.244735200927
+471 9.42 -1.01377624733 -0.243646473201
+472 9.44 -1.00891423443 -0.242554271687
+473 9.46 -1.0040740969 -0.241459003238
+474 9.48 -0.999255892143 -0.240361058009
+475 9.5 -0.994459669928 -0.239260810093
+476 9.52 -0.989685472697 -0.238158618121
+477 9.54 -0.984933335869 -0.237054825845
+478 9.56 -0.980203288132 -0.235949762702
+479 9.58 -0.975495351726 -0.234843744346
+480 9.6 -0.970809542708 -0.233737073173
+481 9.62 -0.966145871217 -0.232630038816
+482 9.64 -0.961504341725 -0.231522918625
+483 9.66 -0.956884953272 -0.230415978128
+484 9.68 -0.952287699705 -0.229309471477
+485 9.7 -0.947712569897 -0.228203641873
+486 9.72 -0.943159547963 -0.22709872198
+487 9.74 -0.938628613467 -0.225994934317
+488 9.76 -0.934119741622 -0.224892491642
+489 9.78 -0.929632903477 -0.223791597316
+490 9.8 -0.925168066109 -0.222692445658
+491 9.82 -0.920725192794 -0.221595222284
+492 9.84 -0.916304243179 -0.220500104432
+493 9.86 -0.91190517345 -0.219407261278
+494 9.88 -0.907527936486 -0.218316854241
+495 9.9 -0.903172482012 -0.217229037271
+496 9.92 -0.898838756748 -0.216143957132
+497 9.94 -0.894526704547 -0.215061753669
+498 9.96 -0.890236266534 -0.213982560076
+499 9.98 -0.885967381232 -0.212906503136
+500 10.0 -0.881719984692 -0.211833703472
+501 10.02 -0.877494010612 -0.210764275774
+502 10.04 -0.873289390453 -0.209698329022
+503 10.06 -0.869106053554 -0.208635966708
+504 10.08 -0.864943927233 -0.207577287034
+505 10.1 -0.860802936899 -0.206522383122
+506 10.12 -0.856683006147 -0.205471343199
+507 10.14 -0.852584056854 -0.204424250786
+508 10.16 -0.848506009271 -0.203381184875
+509 10.18 -0.844448782117 -0.202342220105
+510 10.2 -0.840412292656 -0.201307426921
+511 10.22 -0.836396456786 -0.20027687174
+512 10.24 -0.832401189115 -0.199250617102
+513 10.26 -0.828426403039 -0.19822872182
+514 10.28 -0.824472010811 -0.197211241119
+515 10.3 -0.820537923617 -0.196198226777
+516 10.32 -0.81662405164 -0.195189727259
+517 10.34 -0.812730304126 -0.19418578784
+518 10.36 -0.808856589444 -0.193186450732
+519 10.38 -0.805002815152 -0.1921917552
+520 10.4 -0.801168888049 -0.191201737679
+521 10.42 -0.797354714233 -0.190216431881
+522 10.44 -0.793560199154 -0.189235868906
+523 10.46 -0.789785247667 -0.188260077336
+524 10.48 -0.786029764076 -0.187289083343
+525 10.5 -0.782293652189 -0.186322910778
+526 10.52 -0.778576815358 -0.185361581264
+527 10.54 -0.774879156522 -0.184405114284
+528 10.56 -0.771200578253 -0.183453527268
+529 10.58 -0.767540982794 -0.182506835671
+530 10.6 -0.763900272099 -0.181565053055
+531 10.62 -0.760278347867 -0.180628191165
+532 10.64 -0.75667511158 -0.179696260001
+533 10.66 -0.753090464539 -0.17876926789
+534 10.68 -0.749524307893 -0.177847221551
+535 10.7 -0.745976542671 -0.176930126167
+536 10.72 -0.742447069815 -0.176017985441
+537 10.74 -0.738935790206 -0.175110801662
+538 10.76 -0.735442604695 -0.174208575761
+539 10.78 -0.731967414126 -0.173311307369
+540 10.8 -0.728510119361 -0.172418994873
+541 10.82 -0.72507062131 -0.171531635464
+542 10.84 -0.721648820948 -0.170649225192
+543 10.86 -0.718244619341 -0.169771759015
+544 10.88 -0.714857917667 -0.168899230842
+545 10.9 -0.711488617235 -0.168031633581
+546 10.92 -0.708136619505 -0.167168959186
+547 10.94 -0.704801826108 -0.166311198692
+548 10.96 -0.701484138863 -0.165458342262
+549 10.98 -0.698183459794 -0.164610379221
+550 11.0 -0.694899691148 -0.1637672981
+551 11.02 -0.691632735406 -0.162929086665
+552 11.04 -0.688382495303 -0.162095731957
+553 11.06 -0.68514887384 -0.161267220326
+554 11.08 -0.681931774298 -0.160443537459
+555 11.1 -0.678731100249 -0.159624668416
+556 11.12 -0.675546755573 -0.15881059766
+557 11.14 -0.672378644462 -0.15800130908
+558 11.16 -0.669226671439 -0.157196786028
+559 11.18 -0.666090741365 -0.156397011339
+560 11.2 -0.662970759447 -0.155601967361
+561 11.22 -0.659866631253 -0.154811635976
+562 11.24 -0.656778262715 -0.154025998629
+563 11.26 -0.653705560141 -0.153245036348
+564 11.28 -0.650648430223 -0.152468729768
+565 11.3 -0.647606780043 -0.15169705915
+566 11.32 -0.644580517084 -0.150930004405
+567 11.34 -0.641569549231 -0.150167545112
+568 11.36 -0.638573784781 -0.149409660536
+569 11.38 -0.635593132451 -0.148656329652
+570 11.4 -0.632627501379 -0.147907531156
+571 11.42 -0.629676801133 -0.147163243484
+572 11.44 -0.626740941713 -0.146423444834
+573 11.46 -0.62381983356 -0.145688113174
+574 11.48 -0.620913387554 -0.144957226261
+575 11.5 -0.618021515027 -0.144230761656
+576 11.52 -0.615144127757 -0.143508696739
+577 11.54 -0.612281137978 -0.14279100872
+578 11.56 -0.609432458382 -0.142077674653
+579 11.58 -0.606598002119 -0.141368671449
+580 11.6 -0.603777682806 -0.140663975889
+581 11.62 -0.600971414522 -0.139963564633
+582 11.64 -0.598179111815 -0.139267414235
+583 11.66 -0.595400689704 -0.138575501149
+584 11.68 -0.592636063678 -0.137887801745
+585 11.7 -0.589885149701 -0.137204292313
+586 11.72 -0.587147864211 -0.136524949077
+587 11.74 -0.584424124122 -0.135849748201
+588 11.76 -0.581713846826 -0.135178665802
+589 11.78 -0.579016950193 -0.134511677954
+590 11.8 -0.576333352571 -0.133848760697
+591 11.82 -0.573662972788 -0.133189890048
+592 11.84 -0.571005730151 -0.132535042004
+593 11.86 -0.56836154445 -0.131884192552
+594 11.88 -0.565730335952 -0.131237317677
+595 11.9 -0.563112025406 -0.130594393364
+596 11.92 -0.560506534041 -0.129955395608
+597 11.94 -0.557913783565 -0.129320300421
+598 11.96 -0.555333696166 -0.128689083832
+599 11.98 -0.552766194514 -0.1280617219
+600 12.0 -0.550211201752 -0.127438190715
+601 12.02 -0.547668641506 -0.126818466403
+602 12.04 -0.545138437876 -0.126202525133
+603 12.06 -0.542620515439 -0.125590343118
+604 12.08 -0.540114799247 -0.124981896625
+605 12.1 -0.537621214828 -0.124377161973
+606 12.12 -0.53513968818 -0.123776115544
+607 12.14 -0.532670145775 -0.123178733779
+608 12.16 -0.530212514555 -0.122584993188
+609 12.18 -0.52776672193 -0.121994870352
+610 12.2 -0.525332695778 -0.121408341923
+611 12.22 -0.522910364445 -0.120825384632
+612 12.24 -0.52049965674 -0.120245975289
+613 12.26 -0.518100501935 -0.119670090788
+614 12.28 -0.515712829763 -0.119097708107
+615 12.3 -0.513336570418 -0.118528804313
+616 12.32 -0.51097165455 -0.117963356563
+617 12.34 -0.508618013267 -0.11740134211
+618 12.36 -0.506275578128 -0.116842738298
+619 12.38 -0.503944281147 -0.116287522571
+620 12.4 -0.501624054788 -0.115735672472
+621 12.42 -0.49931483196 -0.115187165645
+622 12.44 -0.497016546022 -0.114641979838
+623 12.46 -0.494729130774 -0.114100092904
+624 12.48 -0.49245252046 -0.1135614828
+625 12.5 -0.490186649763 -0.113026127594
+626 12.52 -0.487931453803 -0.112494005462
+627 12.54 -0.485686868135 -0.11196509469
+628 12.56 -0.48345282875 -0.111439373678
+629 12.58 -0.481229272066 -0.110916820936
+630 12.6 -0.479016134933 -0.110397415091
+631 12.62 -0.476813354625 -0.109881134884
+632 12.64 -0.474620868841 -0.109367959171
+633 12.66 -0.472438615702 -0.108857866928
+634 12.68 -0.470266533747 -0.108350837244
+635 12.7 -0.468104561934 -0.107846849332
+636 12.72 -0.465952639633 -0.107345882519
+637 12.74 -0.463810706629 -0.106847916255
+638 12.76 -0.461678703116 -0.106352930108
+639 12.78 -0.459556569693 -0.105860903769
+640 12.8 -0.457444247367 -0.105371817049
+641 12.82 -0.455341677547 -0.10488564988
+642 12.84 -0.453248802042 -0.104402382317
+643 12.86 -0.451165563056 -0.103921994536
+644 12.88 -0.449091903193 -0.103444466836
+645 12.9 -0.447027765446 -0.102969779639
+646 12.92 -0.4449730932 -0.102497913489
+647 12.94 -0.442927830229 -0.102028849053
+648 12.96 -0.440891920688 -0.101562567122
+649 12.98 -0.438865309121 -0.101099048608
+650 13.0 -0.436847940448 -0.100638274548
+651 13.02 -0.434839759968 -0.100180226101
+652 13.04 -0.432840713358 -0.0997248845489
+653 13.06 -0.430850746664 -0.0992722312959
+654 13.08 -0.428869806307 -0.0988222478696
+655 13.1 -0.426897839073 -0.0983749159199
+656 13.12 -0.424934792115 -0.0979302172191
+657 13.14 -0.42298061295 -0.0974881336614
+658 13.16 -0.421035249454 -0.097048647263
+659 13.18 -0.419098649864 -0.0966117401617
+660 13.2 -0.417170762771 -0.0961773946166
+661 13.22 -0.41525153712 -0.0957455930079
+662 13.24 -0.413340922208 -0.0953163178365
+663 13.26 -0.411438867679 -0.0948895517235
+664 13.28 -0.409545323527 -0.0944652774101
+665 13.3 -0.407660240085 -0.0940434777572
+666 13.32 -0.405783568032 -0.0936241357448
+667 13.34 -0.403915258384 -0.0932072344716
+668 13.36 -0.402055262494 -0.0927927571548
+669 13.38 -0.400203532049 -0.0923806871294
+670 13.4 -0.39836001907 -0.091971007848
+671 13.42 -0.396524675907 -0.0915637028799
+672 13.44 -0.394697455235 -0.0911587559112
+673 13.46 -0.392878310058 -0.0907561507435
+674 13.48 -0.391067193701 -0.0903558712944
+675 13.5 -0.389264059808 -0.0899579015961
+676 13.52 -0.387468862344 -0.0895622257951
+677 13.54 -0.385681555589 -0.089168828152
+678 13.56 -0.383902094135 -0.0887776930406
+679 13.58 -0.382130432887 -0.0883888049474
+680 13.6 -0.380366527059 -0.088002148471
+681 13.62 -0.378610332173 -0.0876177083216
+682 13.64 -0.376861804052 -0.0872354693205
+683 13.66 -0.375120898826 -0.0868554163993
+684 13.68 -0.373387572922 -0.0864775345994
+685 13.7 -0.371661783067 -0.0861018090713
+686 13.72 -0.369943486282 -0.0857282250742
+687 13.74 -0.368232639885 -0.0853567679751
+688 13.76 -0.366529201481 -0.0849874232486
+689 13.78 -0.364833128968 -0.0846201764757
+690 13.8 -0.363144380531 -0.0842550133436
+691 13.82 -0.361462914638 -0.083891919645
+692 13.84 -0.359788690043 -0.0835308812773
+693 13.86 -0.358121665778 -0.0831718842421
+694 13.88 -0.356461801157 -0.0828149146446
+695 13.9 -0.354809055768 -0.0824599586927
+696 13.92 -0.353163389476 -0.0821070026966
+697 13.94 -0.351524762418 -0.0817560330682
+698 13.96 -0.349893135001 -0.0814070363201
+699 13.98 -0.348268467902 -0.0810599990654
+700 14.0 -0.346650722064 -0.0807149080166
+701 14.02 -0.345039858694 -0.0803717499853
+702 14.04 -0.343435839265 -0.0800305118814
+703 14.06 -0.341838625506 -0.0796911807123
+704 14.08 -0.340248179409 -0.0793537435825
+705 14.1 -0.338664463221 -0.079018187693
+706 14.12 -0.337087439445 -0.0786845003402
+707 14.14 -0.335517070835 -0.0783526689157
+708 14.16 -0.333953320399 -0.0780226809053
+709 14.18 -0.332396151392 -0.0776945238888
+710 14.2 -0.330845527319 -0.0773681855387
+711 14.22 -0.329301411928 -0.0770436536203
+712 14.24 -0.327763769212 -0.0767209159903
+713 14.26 -0.326232563407 -0.0763999605967
+714 14.28 -0.324707758986 -0.076080775478
+715 14.3 -0.323189320665 -0.0757633487623
+716 14.32 -0.321677213392 -0.075447668667
+717 14.34 -0.320171402352 -0.0751337234981
+718 14.36 -0.318671852963 -0.0748215016493
+719 14.38 -0.317178530874 -0.0745109916017
+720 14.4 -0.315691401963 -0.0742021819228
+721 14.42 -0.314210432337 -0.0738950612663
+722 14.44 -0.312735588328 -0.073589618371
+723 14.46 -0.311266836492 -0.0732858420606
+724 14.48 -0.309804143609 -0.0729837212427
+725 14.5 -0.308347476679 -0.0726832449085
+726 14.52 -0.306896802922 -0.0723844021319
+727 14.54 -0.305452089775 -0.072087182069
+728 14.56 -0.304013304893 -0.0717915739575
+729 14.58 -0.302580416142 -0.0714975671162
+730 14.6 -0.301153391604 -0.071205150944
+731 14.62 -0.29973219957 -0.0709143149198
+732 14.64 -0.298316808542 -0.0706250486013
+733 14.66 -0.29690718723 -0.0703373416252
+734 14.68 -0.29550330455 -0.0700511837056
+735 14.7 -0.294105129623 -0.0697665646344
+736 14.72 -0.292712631773 -0.06948347428
+737 14.74 -0.291325780527 -0.069201902587
+738 14.76 -0.289944545612 -0.0689218395755
+739 14.78 -0.288568896953 -0.0686432753407
+740 14.8 -0.287198804672 -0.068366200052
+741 14.82 -0.285834239089 -0.0680906039529
+742 14.84 -0.284475170717 -0.0678164773599
+743 14.86 -0.283121570262 -0.0675438106623
+744 14.88 -0.281773408622 -0.0672725943215
+745 14.9 -0.280430656883 -0.0670028188703
+746 14.92 -0.279093286324 -0.0667344749127
+747 14.94 -0.277761268406 -0.066467553123
+748 14.96 -0.276434574779 -0.0662020442454
+749 14.98 -0.275113177278 -0.0659379390934
+750 15.0 -0.273797047918 -0.0656752285492
+751 15.02 -0.272486158899 -0.0654139035635
+752 15.04 -0.271180482599 -0.0651539551544
+753 15.06 -0.269879991575 -0.0648953744073
+754 15.08 -0.268584658563 -0.0646381524742
+755 15.1 -0.267294456476 -0.0643822805732
+756 15.12 -0.266009358398 -0.064127749988
+757 15.14 -0.264729337592 -0.0638745520673
+758 15.16 -0.263454367489 -0.0636226782243
+759 15.18 -0.262184421693 -0.0633721199364
+760 15.2 -0.260919473977 -0.0631228687444
+761 15.22 -0.259659498285 -0.062874916252
+762 15.24 -0.258404468725 -0.0626282541256
+763 15.26 -0.257154359572 -0.0623828740934
+764 15.28 -0.255909145268 -0.0621387679452
+765 15.3 -0.254668800416 -0.061895927532
+766 15.32 -0.253433299783 -0.061654344765
+767 15.34 -0.252202618295 -0.0614140116156
+768 15.36 -0.250976731041 -0.0611749201148
+769 15.38 -0.249755613266 -0.0609370623526
+770 15.4 -0.248539240374 -0.0607004304776
+771 15.42 -0.247327587926 -0.0604650166966
+772 15.44 -0.246120631637 -0.0602308132741
+773 15.46 -0.244918347377 -0.0599978125317
+774 15.48 -0.243720711169 -0.0597660068478
+775 15.5 -0.242527699187 -0.0595353886571
+776 15.52 -0.241339287756 -0.05930595045
+777 15.54 -0.240155453352 -0.0590776847726
+778 15.56 -0.238976172597 -0.0588505842256
+779 15.58 -0.237801422264 -0.0586246414643
+780 15.6 -0.236631179269 -0.0583998491983
+781 15.62 -0.235465420674 -0.0581762001905
+782 15.64 -0.234304123687 -0.057953687257
+783 15.66 -0.233147265658 -0.057732303267
+784 15.68 -0.231994824078 -0.0575120411416
+785 15.7 -0.23084677658 -0.0572928938542
+786 15.72 -0.229703100938 -0.0570748544293
+787 15.74 -0.228563775063 -0.0568579159429
+788 15.76 -0.227428777006 -0.0566420715213
+789 15.78 -0.226298084954 -0.0564273143414
+790 15.8 -0.22517167723 -0.0562136376296
+791 15.82 -0.224049532291 -0.0560010346619
+792 15.84 -0.222931628729 -0.0557894987635
+793 15.86 -0.22181794527 -0.0555790233081
+794 15.88 -0.220708460771 -0.0553696017175
+795 15.9 -0.21960315422 -0.0551612274618
+796 15.92 -0.218502004734 -0.0549538940582
+797 15.94 -0.217404991561 -0.0547475950712
+798 15.96 -0.216312094077 -0.0545423241119
+799 15.98 -0.215223291785 -0.0543380748379
+800 16.0 -0.214138564315 -0.0541348409526
+801 16.02 -0.21305789142 -0.0539326162051
+802 16.04 -0.21198125298 -0.0537313943897
+803 16.06 -0.210908628999 -0.0535311693457
+804 16.08 -0.209839999602 -0.0533319349567
+805 16.1 -0.208775345037 -0.0531336851505
+806 16.12 -0.207714645672 -0.0529364138987
+807 16.14 -0.206657881997 -0.0527401152166
+808 16.16 -0.205605034619 -0.0525447831621
+809 16.18 -0.204556084266 -0.0523504118362
+810 16.2 -0.20351101178 -0.0521569953823
+811 16.22 -0.202469798123 -0.0519645279856
+812 16.24 -0.201432424372 -0.0517730038733
+813 16.26 -0.200398871718 -0.0515824173138
+814 16.28 -0.199369121467 -0.0513927626166
+815 16.3 -0.198343155039 -0.051204034132
+816 16.32 -0.197320953965 -0.0510162262506
+817 16.34 -0.196302499889 -0.050829333403
+818 16.36 -0.195287774565 -0.0506433500599
+819 16.38 -0.194276759859 -0.0504582707309
+820 16.4 -0.193269437746 -0.0502740899651
+821 16.42 -0.192265790306 -0.0500908023503
+822 16.44 -0.191265799733 -0.0499084025129
+823 16.46 -0.190269448323 -0.0497268851171
+824 16.48 -0.189276718481 -0.0495462448654
+825 16.5 -0.188287592716 -0.0493664764977
+826 16.52 -0.187302053643 -0.0491875747911
+827 16.54 -0.186320083981 -0.0490095345599
+828 16.56 -0.185341666552 -0.0488323506547
+829 16.58 -0.18436678428 -0.0486560179629
+830 16.6 -0.183395420192 -0.0484805314077
+831 16.62 -0.182427557417 -0.0483058859483
+832 16.64 -0.181463179181 -0.0481320765793
+833 16.66 -0.180502268813 -0.0479590983305
+834 16.68 -0.179544809739 -0.0477869462668
+835 16.7 -0.178590785487 -0.0476156154877
+836 16.72 -0.177640179677 -0.0474451011271
+837 16.74 -0.176692976031 -0.0472753983531
+838 16.76 -0.175749158364 -0.0471065023674
+839 16.78 -0.174808710589 -0.0469384084057
+840 16.8 -0.173871616713 -0.0467711117367
+841 16.82 -0.172937860836 -0.0466046076623
+842 16.84 -0.172007427154 -0.0464388915171
+843 16.86 -0.171080299953 -0.0462739586683
+844 16.88 -0.170156463616 -0.0461098045155
+845 16.9 -0.169235902612 -0.04594642449
+846 16.92 -0.168318601505 -0.0457838140552
+847 16.94 -0.167404544949 -0.0456219687059
+848 16.96 -0.166493717686 -0.0454608839681
+849 16.98 -0.165586104549 -0.0453005553988
+850 17.0 -0.164681690459 -0.045140978586
+851 17.02 -0.163780460423 -0.044982149148
+852 17.04 -0.162882399539 -0.0448240627335
+853 17.06 -0.161987492989 -0.0446667150213
+854 17.08 -0.161095726042 -0.0445101017198
+855 17.1 -0.160207084053 -0.0443542185673
+856 17.12 -0.15932155246 -0.0441990613312
+857 17.14 -0.158439116788 -0.0440446258081
+858 17.16 -0.157559762644 -0.0438909078236
+859 17.18 -0.156683475719 -0.0437379032318
+860 17.2 -0.155810241787 -0.0435856079154
+861 17.22 -0.154940046702 -0.0434340177851
+862 17.24 -0.154072876401 -0.0432831287799
+863 17.26 -0.153208716903 -0.0431329368663
+864 17.28 -0.152347554306 -0.0429834380385
+865 17.3 -0.151489374787 -0.0428346283181
+866 17.32 -0.150634164605 -0.0426865037537
+867 17.34 -0.149781910096 -0.0425390604208
+868 17.36 -0.148932597673 -0.0423922944219
+869 17.38 -0.148086213829 -0.0422462018856
+870 17.4 -0.147242745133 -0.0421007789672
+871 17.42 -0.146402178232 -0.0419560218477
+872 17.44 -0.145564499846 -0.0418119267343
+873 17.46 -0.144729696774 -0.0416684898597
+874 17.48 -0.143897755889 -0.0415257074823
+875 17.5 -0.143068664136 -0.0413835758856
+876 17.52 -0.142242408539 -0.0412420913782
+877 17.54 -0.141418976192 -0.0411012502937
+878 17.56 -0.140598354262 -0.0409610489904
+879 17.58 -0.139780529991 -0.0408214838511
+880 17.6 -0.138965490691 -0.040682551283
+881 17.62 -0.138153223746 -0.0405442477172
+882 17.64 -0.137343716613 -0.0404065696091
+883 17.66 -0.136536956816 -0.0402695134376
+884 17.68 -0.135732931952 -0.0401330757054
+885 17.7 -0.134931629688 -0.0399972529384
+886 17.72 -0.134133037758 -0.0398620416858
+887 17.74 -0.133337143966 -0.0397274385201
+888 17.76 -0.132543936186 -0.0395934400363
+889 17.78 -0.131753402356 -0.0394600428522
+890 17.8 -0.130965530486 -0.0393272436083
+891 17.82 -0.130180308648 -0.0391950389674
+892 17.84 -0.129397724985 -0.0390634256142
+893 17.86 -0.128617767704 -0.0389324002559
+894 17.88 -0.127840425077 -0.0388019596211
+895 17.9 -0.127065685442 -0.0386721004602
+896 17.92 -0.126293537203 -0.0385428195454
+897 17.94 -0.125523968827 -0.0384141136698
+898 17.96 -0.124756968844 -0.038285979648
+899 17.98 -0.12399252585 -0.0381584143155
+900 18.0 -0.123230628501 -0.0380314145287
+901 18.02 -0.122471265519 -0.0379049771648
+902 18.04 -0.121714425686 -0.0377790991214
+903 18.06 -0.120960097846 -0.0376537773164
+904 18.08 -0.120208270905 -0.0375290086883
+905 18.1 -0.119458933831 -0.0374047901954
+906 18.12 -0.11871207565 -0.0372811188161
+907 18.14 -0.117967685451 -0.0371579915483
+908 18.16 -0.117225752381 -0.0370354054099
+909 18.18 -0.116486265647 -0.0369133574381
+910 18.2 -0.115749214515 -0.0367918446895
+911 18.22 -0.11501458831 -0.0366708642398
+912 18.24 -0.114282376416 -0.0365504131839
+913 18.26 -0.113552568273 -0.0364304886354
+914 18.28 -0.11282515338 -0.0363110877269
+915 18.3 -0.112100121292 -0.0361922076096
+916 18.32 -0.111377461622 -0.0360738454529
+917 18.34 -0.110657164039 -0.0359559984449
+918 18.36 -0.109939218269 -0.0358386637917
+919 18.38 -0.109223614091 -0.0357218387177
+920 18.4 -0.108510341341 -0.0356055204649
+921 18.42 -0.107799389911 -0.0354897062933
+922 18.44 -0.107090749747 -0.0353743934808
+923 18.46 -0.106384410848 -0.0352595793223
+924 18.48 -0.105680363268 -0.0351452611307
+925 18.5 -0.104978597114 -0.0350314362357
+926 18.52 -0.104279102547 -0.0349181019845
+927 18.54 -0.103581869781 -0.0348052557411
+928 18.56 -0.102886889082 -0.0346928948865
+929 18.58 -0.102194150767 -0.0345810168186
+930 18.6 -0.101503645208 -0.0344696189517
+931 18.62 -0.100815362825 -0.0343586987167
+932 18.64 -0.100129294092 -0.0342482535611
+933 18.66 -0.0994454295322 -0.0341382809484
+934 18.68 -0.0987637597204 -0.0340287783585
+935 18.7 -0.0980842752811 -0.0339197432873
+936 18.72 -0.0974069668887 -0.0338111732465
+937 18.74 -0.0967318252675 -0.0337030657637
+938 18.76 -0.0960588411908 -0.0335954183822
+939 18.78 -0.0953880054812 -0.0334882286609
+940 18.8 -0.0947193090095 -0.0333814941741
+941 18.82 -0.0940527426954 -0.0332752125115
+942 18.84 -0.0933882975062 -0.0331693812782
+943 18.86 -0.0927259644573 -0.033063998094
+944 18.88 -0.0920657346112 -0.0329590605941
+945 18.9 -0.0914075990779 -0.0328545664286
+946 18.92 -0.0907515490141 -0.0327505132621
+947 18.94 -0.0900975756229 -0.0326468987742
+948 18.96 -0.089445670154 -0.032543720659
+949 18.98 -0.0887958239027 -0.0324409766249
+950 19.0 -0.0881480282103 -0.032338664395
+951 19.02 -0.0875022744633 -0.0322367817064
+952 19.04 -0.0868585540934 -0.0321353263106
+953 19.06 -0.0862168585771 -0.0320342959728
+954 19.08 -0.0855771794356 -0.0319336884725
+955 19.1 -0.084939508234 -0.0318335016031
+956 19.12 -0.0843038365819 -0.0317337331714
+957 19.14 -0.0836701561321 -0.0316343809981
+958 19.16 -0.0830384585813 -0.0315354429176
+959 19.18 -0.0824087356692 -0.0314369167774
+960 19.2 -0.0817809791782 -0.0313388004388
+961 19.22 -0.0811551809338 -0.031241091776
+962 19.24 -0.0805313328034 -0.0311437886765
+963 19.26 -0.079909426697 -0.031046889041
+964 19.28 -0.079289454566 -0.030950390783
+965 19.3 -0.0786714084036 -0.0308542918291
+966 19.32 -0.0780552802445 -0.0307585901186
+967 19.34 -0.0774410621642 -0.0306632836034
+968 19.36 -0.0768287462793 -0.0305683702482
+969 19.38 -0.0762183247467 -0.0304738480301
+970 19.4 -0.0756097897639 -0.0303797149388
+971 19.42 -0.0750031335683 -0.0302859689762
+972 19.44 -0.0743983484373 -0.0301926081566
+973 19.46 -0.0737954266876 -0.0300996305063
+974 19.48 -0.0731943606756 -0.0300070340638
+975 19.5 -0.0725951427967 -0.0299148168796
+976 19.52 -0.071997765485 -0.0298229770161
+977 19.54 -0.0714022212134 -0.0297315125477
+978 19.56 -0.0708085024932 -0.0296404215602
+979 19.58 -0.0702166018738 -0.0295497021514
+980 19.6 -0.0696265119425 -0.0294593524306
+981 19.62 -0.0690382253245 -0.0293693705184
+982 19.64 -0.0684517346822 -0.0292797545471
+983 19.66 -0.0678670327154 -0.0291905026603
+984 19.68 -0.0672841121609 -0.0291016130126
+985 19.7 -0.0667029657922 -0.0290130837702
+986 19.72 -0.0661235864195 -0.02892491311
+987 19.74 -0.0655459668893 -0.0288370992202
+988 19.76 -0.0649701000843 -0.0287496402998
+989 19.78 -0.0643959789228 -0.0286625345588
+990 19.8 -0.0638235963592 -0.028575780218
+991 19.82 -0.0632529453832 -0.0284893755087
+992 19.84 -0.0626840190197 -0.0284033186731
+993 19.86 -0.0621168103288 -0.0283176079638
+994 19.88 -0.0615513124053 -0.0282322416441
+995 19.9 -0.0609875183786 -0.0281472179874
+996 19.92 -0.0604254214128 -0.0280625352778
+997 19.94 -0.0598650147059 -0.0279781918096
+998 19.96 -0.0593062914901 -0.027894185887
+999 19.98 -0.0587492450313 -0.0278105158248
+1000 20.0 -0.0581938686292 -0.0277271799475
+1001 20.02 -0.0576401556166 -0.0276441765898
+1002 20.04 -0.0570880993599 -0.0275615040963
+1003 20.06 -0.056537693258 -0.0274791608214
+1004 20.08 -0.0559889307431 -0.0273971451294
+1005 20.1 -0.0554418052798 -0.0273154553941
+1006 20.12 -0.0548963103651 -0.0272340899992
+1007 20.14 -0.0543524395283 -0.0271530473379
+1008 20.16 -0.0538101863307 -0.027072325813
+1009 20.18 -0.0532695443654 -0.0269919238365
+1010 20.2 -0.0527305072574 -0.0269118398301
+1011 20.22 -0.0521930686629 -0.0268320722247
+1012 20.24 -0.0516572222695 -0.0267526194605
+1013 20.26 -0.0511229617959 -0.0266734799867
+1014 20.28 -0.0505902809917 -0.0265946522621
+1015 20.3 -0.0500591736373 -0.026516134754
+1016 20.32 -0.0495296335436 -0.0264379259393
+1017 20.34 -0.0490016545518 -0.0263600243033
+1018 20.36 -0.0484752305336 -0.0262824283405
+1019 20.38 -0.0479503553904 -0.0262051365543
+1020 20.4 -0.0474270230535 -0.0261281474567
+1021 20.42 -0.0469052274841 -0.0260514595684
+1022 20.44 -0.0463849626725 -0.0259750714189
+1023 20.46 -0.0458662226388 -0.0258989815462
+1024 20.48 -0.0453490014319 -0.0258231884968
+1025 20.5 -0.0448332931297 -0.0257476908257
+1026 20.52 -0.0443190918392 -0.0256724870964
+1027 20.54 -0.0438063916958 -0.0255975758806
+1028 20.56 -0.0432951868634 -0.0255229557586
+1029 20.58 -0.0427854715342 -0.0254486253186
+1030 20.6 -0.0422772399288 -0.0253745831572
+1031 20.62 -0.0417704862954 -0.0253008278792
+1032 20.64 -0.0412652049103 -0.0252273580972
+1033 20.66 -0.0407613900774 -0.0251541724321
+1034 20.68 -0.040259036128 -0.0250812695126
+1035 20.7 -0.039758137421 -0.0250086479756
+1036 20.72 -0.0392586883422 -0.0249363064654
+1037 20.74 -0.0387606833045 -0.0248642436347
+1038 20.76 -0.0382641167479 -0.0247924581434
+1039 20.78 -0.0377689831387 -0.0247209486595
+1040 20.8 -0.0372752769703 -0.0246497138585
+1041 20.82 -0.036782992762 -0.0245787524235
+1042 20.84 -0.0362921250596 -0.0245080630453
+1043 20.86 -0.0358026684351 -0.0244376444219
+1044 20.88 -0.0353146174863 -0.0243674952592
+1045 20.9 -0.0348279668369 -0.0242976142701
+1046 20.92 -0.0343427111362 -0.0242280001751
+1047 20.94 -0.0338588450591 -0.0241586517019
+1048 20.96 -0.0333763633058 -0.0240895675856
+1049 20.98 -0.0328952606017 -0.0240207465683
+1050 21.0 -0.0324155316974 -0.0239521873994
+1051 21.02 -0.0319371713684 -0.0238838888354
+1052 21.04 -0.0314601744149 -0.0238158496399
+1053 21.06 -0.0309845356618 -0.0237480685835
+1054 21.08 -0.0305102499587 -0.0236805444437
+1055 21.1 -0.0300373121794 -0.0236132760051
+1056 21.12 -0.0295657172219 -0.023546262059
+1057 21.14 -0.0290954600085 -0.0234795014037
+1058 21.16 -0.0286265354851 -0.0234129928442
+1059 21.18 -0.028158938622 -0.0233467351922
+1060 21.2 -0.0276926644126 -0.0232807272662
+1061 21.22 -0.0272277078743 -0.0232149678915
+1062 21.24 -0.0267640640477 -0.0231494558997
+1063 21.26 -0.0263017279969 -0.0230841901292
+1064 21.28 -0.0258406948088 -0.0230191694249
+1065 21.3 -0.0253809595937 -0.0229543926381
+1066 21.32 -0.0249225174848 -0.0228898586266
+1067 21.34 -0.0244653636377 -0.0228255662547
+1068 21.36 -0.0240094932312 -0.0227615143929
+1069 21.38 -0.0235549014661 -0.0226977019182
+1070 21.4 -0.023101583566 -0.0226341277136
+1071 21.42 -0.0226495347765 -0.0225707906687
+1072 21.44 -0.0221987503655 -0.0225076896791
+1073 21.46 -0.021749225623 -0.0224448236465
+1074 21.48 -0.0213009558606 -0.0223821914788
+1075 21.5 -0.020853936412 -0.02231979209
+1076 21.52 -0.0204081626323 -0.0222576244002
+1077 21.54 -0.0199636298985 -0.0221956873354
+1078 21.56 -0.0195203336085 -0.0221339798275
+1079 21.58 -0.0190782691821 -0.0220725008144
+1080 21.6 -0.0186374320597 -0.02201124924
+1081 21.62 -0.0181978177032 -0.0219502240539
+1082 21.64 -0.0177594215953 -0.0218894242115
+1083 21.66 -0.0173222392394 -0.0218288486741
+1084 21.68 -0.0168862661598 -0.0217684964086
+1085 21.7 -0.0164514979014 -0.0217083663878
+1086 21.72 -0.0160179300295 -0.0216484575898
+1087 21.74 -0.0155855581298 -0.0215887689986
+1088 21.76 -0.0151543778082 -0.0215292996039
+1089 21.78 -0.014724384691 -0.0214700484006
+1090 21.8 -0.0142955744243 -0.0214110143895
+1091 21.82 -0.0138679426741 -0.0213521965765
+1092 21.84 -0.0134414851265 -0.0212935939733
+1093 21.86 -0.013016197487 -0.0212352055967
+1094 21.88 -0.0125920754809 -0.0211770304692
+1095 21.9 -0.012169114853 -0.0211190676184
+1096 21.92 -0.0117473113675 -0.0210613160772
+1097 21.94 -0.0113266608076 -0.021003774884
+1098 21.96 -0.0109071589762 -0.0209464430823
+1099 21.98 -0.0104888016947 -0.0208893197208
+1100 22.0 -0.010071584804 -0.0208324038534
+1101 22.02 -0.00965550416359 -0.0207756945391
+1102 22.04 -0.0092405556517 -0.020719190842
+1103 22.06 -0.00882673516534 -0.0206628918315
+1104 22.08 -0.00841403862003 -0.0206067965819
+1105 22.1 -0.0080024619498 -0.0205509041723
+1106 22.12 -0.00759200110698 -0.0204952136871
+1107 22.14 -0.00718265206222 -0.0204397242155
+1108 22.16 -0.00677441080431 -0.0203844348517
+1109 22.18 -0.00636727334011 -0.0203293446947
+1110 22.2 -0.00596123569445 -0.0202744528484
+1111 22.22 -0.00555629391005 -0.0202197584216
+1112 22.24 -0.00515244404737 -0.0201652605278
+1113 22.26 -0.00474968218459 -0.0201109582853
+1114 22.28 -0.00434800441746 -0.0200568508172
+1115 22.3 -0.00394740685922 -0.0200029372512
+1116 22.32 -0.00354788564052 -0.0199492167196
+1117 22.34 -0.0031494369093 -0.0198956883597
+1118 22.36 -0.00275205683071 -0.0198423513132
+1119 22.38 -0.00235574158704 -0.0197892047262
+1120 22.4 -0.00196048737759 -0.0197362477497
+1121 22.42 -0.00156629041861 -0.0196834795391
+1122 22.44 -0.00117314694319 -0.0196308992543
+1123 22.46 -0.000781053201174 -0.0195785060596
+1124 22.48 -0.000390005459079 -0.019526299124
+1125 22.5 0.0 -0.0194742776206
+1126 22.52 0.0 0.0
+1127 22.54 0.0 0.0
+1128 22.56 0.0 0.0
+1129 22.58 0.0 0.0
+1130 22.6 0.0 0.0
diff --git a/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/packmol_files/README.sh b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/packmol_files/README.sh
new file mode 100755
index 000000000..ade428103
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/packmol_files/README.sh
@@ -0,0 +1,33 @@
+# Here we generate the starting coordinates of the simulation
+# using PACKMOL.
+
+
+
+# You must run each packmol commend one after the other.
+# NOTE: If PACKMOL gets stuck in an endless loop, then edit the corresponding
+# "inp" file. This should not happen. You can also usually interrupt
+# packmol after 30 minutes, and the solution at that point (an .xyz file)
+# should be good enough for use.
+packmol < step1_proteins.inp # This step determines the protein's location
+ # It takes ~20 minutes (on an intel i7)
+packmol < step2_innerlayer.inp # this step builds the inner monolayer
+ # It takes ~90 minutes
+packmol < step3_outerlayer.inp # this step builds the outer monolayer
+ # It takes ~4 hours
+
+
+# NOTE: PLEASE USE "packmol", NOT "ppackmol". ("ppackmol" is the
+# parallel-version of packmol using OpemMP. This example has NOT been
+# tested with "ppackmol". Our impression was that the "ppackmol"
+# version is more likely to get stuck in an infinite loop. -Andrew 2015-8)
+
+
+# Step3 creates a file named "step3_outerlayer.xyz" containing the coordinates
+# in all the atoms of all the molecules. Later we will run moltemplate.sh
+# using the "-xyz ../system.xyz" command line argument. That will instruct
+# moltemplate to look for a file named "system.xyz" in the parent directory.
+# So I rename the "step3_outerlayer.xyz" file to "system.xyz", and move it
+# to this directory so that later moltemplate.sh can find it.
+
+mv -f step3_outerlayer.xyz ../system.xyz
+
diff --git a/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/packmol_files/step1_proteins.inp b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/packmol_files/step1_proteins.inp
new file mode 100644
index 000000000..abb48db7d
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/packmol_files/step1_proteins.inp
@@ -0,0 +1,49 @@
+# Step 1: Create a sphere of proteins lying
+# (In step 2 we will pack lipids around these proteins
+#
+# ----- Run using: -----
+# packmol < step1_proteins.inp
+# (This takes about 30 minutes on an Intel i7 processor)
+
+
+# ----- Settings: -----
+
+# All the atoms from diferent proteins will be at least 50.0 Angstrons apart.
+tolerance 50.0
+# (Setting "discale" to 2.0 increases the typical separation
+# distance to approximately 2.0*50.0 = 100.0 Angstroms.)
+discale 2.0
+# The other parameters below are optional:
+nloop 10000
+maxit 20
+seed 12345
+sidemax 3000.0
+# What fraction of the molecules are moved during "large moves"? (default 0.05)
+movefrac 0.05
+
+
+# The output file name
+
+output step1_proteins.xyz
+
+
+# File types are in xyz format
+
+filetype xyz
+
+
+
+# First, specify the protein inclusions
+# We will pack the lipids around these later
+
+structure protein.xyz
+ number 120
+ atoms 68 69 70
+ inside sphere 0. 0. 0. 273.75
+ end atoms
+ atoms 65 66 67 71 72 73
+ outside sphere 0. 0. 0. 325.0
+ end atoms
+end structure
+
+
diff --git a/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/packmol_files/step2_innerlayer.inp b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/packmol_files/step2_innerlayer.inp
new file mode 100644
index 000000000..9f61960f2
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/packmol_files/step2_innerlayer.inp
@@ -0,0 +1,70 @@
+# NOTE: YOU MUST COMPLETE STEP 1 BEFORE RUNNING PACKMOL ON THIS FILE
+
+# Step 2: Pack the lipids in the inner monolayer around the proteins from step1.
+#
+# ----- Run using: -----
+# packmol < step2_innerlayer.inp
+# (This takes about 90 minutes on an Intel i7 processor)
+
+
+# ----- Settings: -----
+
+# All the atoms from diferent molecules will be at least 5.5 Angstrons apart
+tolerance 5.5
+# (Setting "discale" to 1.4 increases the typical separation
+# distance to approximately 1.4*5.5 = 7.7 Angstroms.)
+discale 1.4
+# The other parameters below are optional:
+nloop 10000
+maxit 20
+seed 12345
+sidemax 3000.0
+# What fraction of the molecules are moved during "large moves"? (default 0.05)
+movefrac 0.05
+
+
+# The output file name
+
+output step2_innerlayer.xyz
+
+# File types are in xyz format
+
+filetype xyz
+
+
+# The proteins whose position we determined earlier in step 1
+# will be frozen in place during this step.
+
+structure step1_proteins.xyz
+ number 1
+ fixed 0. 0. 0. 0. 0. 0.
+end structure
+
+
+# 9500 DPPC lipids will be put in a shell with their hydrophilic heads
+# (atom 1) pointing inwards, and their tails (atom 5) pointing outwards.
+
+
+structure DPPC.xyz
+ number 9500
+ atoms 1
+ inside sphere 0. 0. 0. 270.0
+ end atoms
+ atoms 5
+ outside sphere 0. 0. 0. 295.0
+ end atoms
+end structure
+
+# 9500 DLPC lipids will be put in a shell with their hydrophilic heads
+# (atom 1) pointing inwards, and their tails (atom 4) pointing outwards.
+
+structure DLPC.xyz
+ number 9500
+ atoms 1
+ inside sphere 0. 0. 0. 273.0
+ end atoms
+ atoms 4
+ outside sphere 0. 0. 0. 295.0
+ end atoms
+end structure
+
diff --git a/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/packmol_files/step3_outerlayer.inp b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/packmol_files/step3_outerlayer.inp
new file mode 100644
index 000000000..bed1c0424
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/packmol_files/step3_outerlayer.inp
@@ -0,0 +1,70 @@
+# NOTE: YOU MUST COMPLETE STEPS 1 AND 2 BEFORE RUNNING PACKMOL ON THIS FILE
+
+# Step 3: Pack the lipids in the outer monolayer around the proteins from step1.
+#
+# ----- Run using: -----
+# packmol < step3_outerlayer.inp
+# (This takes about 4 hours on an Intel i7 processor)
+
+
+# ----- Settings: -----
+
+# All the atoms from diferent molecules will be at least 5.5 Angstrons apart
+tolerance 5.5
+# (Setting "discale" to 1.4 increases the typical separation
+# distance to approximately 1.4*5.5 = 7.7 Angstroms.)
+discale 1.4
+# The other parameters below are optional:
+nloop 10000
+maxit 20
+seed 12345
+sidemax 3000.0
+# What fraction of the molecules are moved during "large moves"? (default 0.05)
+movefrac 0.05
+
+
+# The output file name
+
+output step3_outerlayer.xyz
+
+# File types are in xyz format
+
+filetype xyz
+
+
+# The proteins and lipids whose position we determined earlier in steps 1-2
+# will be frozen in place during this step.
+
+structure step2_innerlayer.xyz
+ number 1
+ fixed 0. 0. 0. 0. 0. 0.
+end structure
+
+
+# 12500 DPPC lipids will be put in a shell with their hydrophilic heads
+# (atom 1) pointing outwards, and their tails (atom 5) pointing inwards.
+
+
+structure DPPC.xyz
+ number 12500
+ atoms 5
+ inside sphere 0. 0. 0. 310.0
+ end atoms
+ atoms 1
+ outside sphere 0. 0. 0. 336.0
+ end atoms
+end structure
+
+# 12500 DLPC lipids will be put in a shell with their hydrophilic heads
+# (atom 1) pointing outwards, and their tails (atom 4) pointing inwards.
+
+structure DLPC.xyz
+ number 12500
+ atoms 4
+ inside sphere 0. 0. 0. 313.0
+ end atoms
+ atoms 1
+ outside sphere 0. 0. 0. 332.0
+ end atoms
+end structure
+
diff --git a/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/run.in.min b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/run.in.min
new file mode 100644
index 000000000..25ed25ad7
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/run.in.min
@@ -0,0 +1,50 @@
+# -------- REQUIREMENTS: ---------
+# 1) This example requires the "USER-MISC" package. (Use "make yes-USER-MISC")
+# http://lammps.sandia.gov/doc/Section_start.html#start_3
+# 2) It also may require additional features and bug fixes for LAMMPS.
+# So, after typing "make yes-user-misc" in to the shell, ...
+# be sure to download and copy the "additional_lammps_code" from
+# http://moltemplate.org (upper-left corner menu)
+# 3) Unpack it
+# 4) copy the .cpp and .h files to the src folding of your lammps installation.
+# 5) Compile LAMMPS.
+#
+# If LAMMPS complains about an "Invalid pair_style", or "Invalid dihedral_style"
+# then you made a mistake in the instructions above.
+
+
+
+# -- Init section --
+
+include system.in.init
+
+# -- Atom definition section --
+
+read_data system.data
+
+# -- Settings Section --
+
+include system.in.settings
+
+# -- Run section --
+
+dump 1 all custom 250 traj_min.lammpstrj id mol type x y z ix iy iz
+
+# minimize
+
+#balance 1.3 rcb
+
+min_style quickmin
+min_modify dmax 0.1
+minimize 1.0e-5 1.0e-7 5000 20000
+
+# If minimization crashes, then instead try Langevin dynamics
+# with a small timestep and a fast damping parameter. For example:
+#
+# timestep 0.05
+# fix fxlan all langevin 300.0 300.0 100.0 48279
+# fix fxnve all nve
+#
+# run 10000
+
+write_data system_after_min.data
diff --git a/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/run.in.nvt b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/run.in.nvt
new file mode 100644
index 000000000..dee8526a0
--- /dev/null
+++ b/tools/moltemplate/examples/coarse_grained/vesicle_Brannigan2005+Bellesia2010/run.in.nvt
@@ -0,0 +1,66 @@
+# -------- REQUIREMENTS: ---------
+# 1) This example requires the "USER-MISC" package. (Use "make yes-USER-MISC")
+# http://lammps.sandia.gov/doc/Section_start.html#start_3
+# 2) It also may require additional features and bug fixes for LAMMPS.
+# So, after typing "make yes-user-misc" in to the shell, ...
+# be sure to download and copy the "additional_lammps_code" from
+# http://moltemplate.org (upper-left corner menu)
+# 3) Unpack it
+# 4) copy the .cpp and .h files to the src folding of your lammps installation.
+# 5) Compile LAMMPS.
+# 6) Minimize the system using:
+# lmp_mpi -i run.in.npt
+# (assuming "lmp_mpi" is the name of the lammps binary you created in step 5)
+#
+# If LAMMPS complains about an "Invalid pair_style", or "Invalid dihedral_style"
+# then you made a mistake in the instructions above.
+#
+# ------------------------------- Initialization Section --------------------
+
+include system.in.init
+
+# ------------------------------- Atom Definition Section -------------------
+
+# Commenting out:
+#
+# read_data system.data
+#
+# Instead read the data file created by "run.in.min".
+
+read_data system_after_min.data
+
+# ------------------------------- Settings Section --------------------------
+
+include system.in.settings
+
+# ------------------------------- Run Section -------------------------------
+
+# Just in case the previous minimization failed, try again.
+# (I don't know why this helps, but sometimes it does. Magic.)
+
+minimize 1.0e-5 1.0e-7 5000 20000
+
+# Run main simulation
+
+timestep 10.0 # The time-step in Watson et. al 2011 was 0.002*3ps = 6fs
+dump 1 all custom 2500 traj_nvt.lammpstrj id mol type x y z ix iy iz
+
+
+thermo_style custom step temp pe etotal vol epair ebond eangle
+thermo 100 # time interval for printing out "thermo" data
+
+
+
+
+fix fxlan all langevin 300.0 300.0 120 48279
+fix fxnve all nve
+
+# Note: The energy scale "epsilon" = 2.75kJ/mole = 330.7485200981 Kelvin*kB.
+# So a temperature of 300.0 Kelvin corresponds to 0.907033536873*epsilon.
+# Note: The langevin damping parameter "120" corresponds to
+# the 0.12ps damping time used in Watson et. al JCP 2011.
+
+run 1000000
+
+write_data system_after_nvt.data
+
diff --git a/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/README_FIRST.txt b/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/README_FIRST.txt
new file mode 100644
index 000000000..83a733e1f
--- /dev/null
+++ b/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/README_FIRST.txt
@@ -0,0 +1,83 @@
+###########################################################
+# Interaction of a carbon nanotube with a pair of "mystery
+# molecules" (extracted from the cnat-cnt.data/in files).
+###########################################################
+# Author: Aysun Itai and Andrew Jewett
+
+This example uses "ltemplify.py" to create molecule templates out
+of two different molecules in a pre-existing LAMMPS IN/DATA file.
+Then I show how to use "moltemplate.sh" to make copies of these
+molecules and to move and rotate them (creating new LAMMPS IN/DATA files).
+
+ Disclaimer:
+The molecules in this example are not physically realistic.
+The purpose of this example is to demonstrate ltemplify usage.
+
+ REQUIRED INPUT FILES
+
+cnad-cnt.data cnad-cnt.in system.lt
+
+ cnad-cnt.data
+ This is a LAMMPS data file containing the coordinates and the topology
+ for a system combining the two molecules together. ltemplify will extract
+ molecules from this file, one at a time.
+
+ cnad-cnt.in
+ This file contains force-field parameters and old run settings for the system.
+ (We ignore the run settings in this file.) The force-field parameters in
+ the "cnad-cnt.in" file are only necessary because we are going to build
+ a completely new set of simulation input files. (We are not only going to
+ rotate them and duplicate the molecules.) ltemplify.py will extract the
+ force field parameters from this file. This approach allows us to combine
+ these molecules with other types of molecules later on.)
+
+ system.lt
+ The "system.lt" contains the instructions what we will do with these molecules
+ after ltemplify.py has converted them into .LT format. In this example
+ it contains instructions for rotating and copying the two molecules,
+ (It also defines the periodic boundary conditions.)
+
+ OUTPUT FILES
+
+cnad.lt
+cnt.lt
+
+These files are referenced in system.lt.
+Running moltemplate.sh on system.lt (using "moltemplate.sh system.lt")
+creates new LAMMPS data and input files:
+system.data, system.in, system.in.init, system.in.settings
+(These files are referenced in run.in.nvt.)
+
+You can run a simulation from the files created by moltemplate using
+
+lmp_linux -i run.in.nvt
+
+NOTE: BECAUSE ALL OF THE ORIGINAL FORCE FIELD PARAMETERS WERE INTENTIONALLY
+ ALTERED, THE SYSTEM WILL MOVE IN A VERY UNREALISTIC WAY WHEN SIMULATED.
+ (This was done to protect the original source of the files.)
+ The goal of this example is only to demonstrate how to use
+ "ltemplify.py" to convert lammps input and data files into
+ LT format and back again.)
+
+ -----------
+
+Instructions:
+Run the commands (follow the instructions) in these files:
+
+step 1)
+README_step1_run_ltemplify.sh
+
+and then
+
+step 2)
+README_step2_run_moltemplate.sh
+
+step 3) OPTIONAL
+
+To run a short LAMMPS simulation, you can use the "in.nvt" file, for example:
+
+$LAMMPS_BINARY -i run.in.nvt
+
+where "$LAMMPS_BINARY" is the name of the command you use to invoke lammps
+(such as lmp_linux, lmp_g++, lmp_mac, lmp_ubuntu, lmp_cygwin, etc...).
+ -----------
diff --git a/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/README_step1_run_ltemplify.sh b/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/README_step1_run_ltemplify.sh
new file mode 100755
index 000000000..4bb42d7ea
--- /dev/null
+++ b/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/README_step1_run_ltemplify.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+# Aysun Itai's LAMMPS files contain two molecules:
+
+# The CNAD molecule has molecule-id 1
+
+ltemplify.py -name CNAD -molid "1" cnad-cnt.in cnad-cnt.data > cnad.lt
+
+# The CNT (carbon nanotube) corresponds to molecule-id 2
+ltemplify.py -name CNT -molid "2" cnad-cnt.in cnad-cnt.data > cnt.lt
+
+# This will extract both molecules and save them as separate .LT files.
+# (We can include these files later when preparing new simulations.)
diff --git a/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/README_step2_run_moltemplate.sh b/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/README_step2_run_moltemplate.sh
new file mode 100755
index 000000000..c23648993
--- /dev/null
+++ b/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/README_step2_run_moltemplate.sh
@@ -0,0 +1,22 @@
+# --- Running Moltemplate ---
+# -- Prerequisites: --
+# The "system.lt" moltemplate file links to other ".lt" files
+# files you hopefully have created earlier when you ran "ltemplify.py:
+# cnad.lt and cnt.lt
+# If not, carry out the instructions in "README_run_ltemplify.sh".
+
+moltemplate.sh system.lt
+
+# (Note: If you have VMD installed, try this instead:)
+# moltemplate.sh system.lt -vmd
+
+
+# Moltemplate will generate various files with names ending in *.in* and *.data.
+# These files are the input files directly read by LAMMPS.
+
+# Optional:
+# The "./output_ttree/" directory is full of temporary files generated by
+# moltemplate. They can be useful for debugging, but are usually thrown away.
+
+rm -rf output_ttree/
+
diff --git a/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/README_step3_run_lammps.sh b/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/README_step3_run_lammps.sh
new file mode 100755
index 000000000..6a3f57fac
--- /dev/null
+++ b/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/README_step3_run_lammps.sh
@@ -0,0 +1,16 @@
+# --- Running LAMMPS ---
+# -- Prerequisites: --
+# The "run.in.nvt" LAMMPS input script links to the input
+# scripts and data files you hopefully have created earlier
+# with moltemplate.sh:
+# system.in.init, system.in.settings, system.data
+# If not, carry out the instructions in "README_run_moltemplate.sh".
+#
+# -- Instructions: --
+# If "lmp_mpi" is the name of the command you use to invoke lammps,
+# then you would run lammps this way:
+
+lmp_mpi -i run.in.nvt
+
+# NOTE: BECAUSE ALL OF THE ORIGINAL FORCE FIELD PARAMETERS WERE INTENTIONALLY
+# REMOVED, THE SYSTEM WILL MOVE IN A VERY UNREALISTIC WAY.
diff --git a/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/README_visualize.txt b/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/README_visualize.txt
new file mode 100644
index 000000000..82315d2bd
--- /dev/null
+++ b/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/README_visualize.txt
@@ -0,0 +1,50 @@
+
+ ------- To view the trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+
+Later, to Load a trajectory in VMD:
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it
+
+----- Wrap the coordinates to the unit cell
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Enter:
+
+ DISCLAIMER: I'M NOT SURE THESE COMMANDS ARE CORRECT.
+ LOOKUP "pbctools" FOR DETAILS.
+
+ pbc wrap -compound res -all
+ pbc box
+
+3) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/cnad-cnt.data b/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/cnad-cnt.data
new file mode 100644
index 000000000..1f18ff4ae
--- /dev/null
+++ b/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/cnad-cnt.data
@@ -0,0 +1,1157 @@
+Created by Aysun Itai and modified by Andrew Jewett
+NOTE: This file has been extensively modified.
+Only the bond connectivity and atomic positions are accurate.
+
+ 101 atoms
+ 134 bonds
+ 252 angles
+ 457 dihedrals
+ 0 impropers
+
+ 16 atom types
+ 24 bond types
+ 50 angle types
+ 78 dihedral types
+ 0 improper types
+
+ 0 50 xlo xhi
+ 0 50 ylo yhi
+ 0 50 zlo zhi
+
+Masses
+
+ 1 10.0
+ 2 10.0 # atom type names often appear
+ 3 10.0 # in the comments follwing
+ 4 10.0 # each line in the Masses section
+ 5 10.0
+ 6 10.0
+ 7 10.0
+ 8 10.0
+ 9 10.0
+ 10 10.0
+ 11 10.0
+ 12 10.0
+ 13 10.0
+ 14 10.0
+ 15 10.0
+ 16 10.0
+
+Atoms
+
+1 2 1 0.000000 12.345 10.000 4.328
+2 2 1 0.000000 12.031 11.173 5.037
+3 2 1 0.000000 12.031 11.173 6.455
+4 2 1 0.000000 11.173 12.031 7.164
+5 2 1 0.000000 11.173 12.031 4.328
+6 2 1 0.000000 10.000 12.345 5.037
+7 2 1 0.000000 10.000 12.345 6.455
+8 2 1 0.000000 8.827 12.031 7.164
+9 2 1 0.000000 8.827 12.031 4.328
+10 2 1 0.000000 7.969 11.173 5.037
+11 2 1 0.000000 7.969 11.173 6.455
+12 2 1 0.000000 7.655 10.000 7.164
+13 2 1 0.000000 7.655 10.000 4.328
+14 2 1 0.000000 7.969 8.827 5.037
+15 2 1 0.000000 7.969 8.827 6.455
+16 2 1 0.000000 8.827 7.969 7.164
+17 2 1 0.000000 8.827 7.969 4.328
+18 2 1 0.000000 10.000 7.655 5.037
+19 2 1 0.000000 10.000 7.655 6.455
+20 2 1 0.000000 11.173 7.969 7.164
+21 2 1 0.000000 11.173 7.969 4.328
+22 2 1 0.000000 12.031 8.827 5.037
+23 2 1 0.000000 12.031 8.827 6.455
+24 2 1 0.000000 12.345 10.000 7.164
+25 2 1 0.000000 12.345 10.000 8.582
+26 2 1 0.000000 12.031 11.173 9.291
+27 2 1 0.000000 12.031 11.173 10.709
+28 2 1 0.000000 11.173 12.031 11.418
+29 2 1 0.000000 11.173 12.031 8.582
+30 2 1 0.000000 10.000 12.345 9.291
+31 2 1 0.000000 10.000 12.345 10.709
+32 2 1 0.000000 8.827 12.031 11.418
+33 2 1 0.000000 8.827 12.031 8.582
+34 2 1 0.000000 7.969 11.173 9.291
+35 2 1 0.000000 7.969 11.173 10.709
+36 2 1 0.000000 7.655 10.000 11.418
+37 2 1 0.000000 7.655 10.000 8.582
+38 2 1 0.000000 7.969 8.827 9.291
+39 2 1 0.000000 7.969 8.827 10.709
+40 2 1 0.000000 8.827 7.969 11.418
+41 2 1 0.000000 8.827 7.969 8.582
+42 2 1 0.000000 10.000 7.655 9.291
+43 2 1 0.000000 10.000 7.655 10.709
+44 2 1 0.000000 11.173 7.969 11.418
+45 2 1 0.000000 11.173 7.969 8.582
+46 2 1 0.000000 12.031 8.827 9.291
+47 2 1 0.000000 12.031 8.827 10.709
+48 2 1 0.000000 12.345 10.000 11.418
+49 2 1 0.000000 12.345 10.000 12.836
+50 2 1 0.000000 12.031 11.173 13.545
+51 2 1 0.000000 12.031 11.173 14.963
+52 2 1 0.000000 11.173 12.031 15.672
+53 2 1 0.000000 11.173 12.031 12.836
+54 2 1 0.000000 10.000 12.345 13.545
+55 2 1 0.000000 10.000 12.345 14.963
+56 2 1 0.000000 8.827 12.031 15.672
+57 2 1 0.000000 8.827 12.031 12.836
+58 2 1 0.000000 7.969 11.173 13.545
+59 2 1 0.000000 7.969 11.173 14.963
+60 2 1 0.000000 7.655 10.000 15.672
+61 2 1 0.000000 7.655 10.000 12.836
+62 2 1 0.000000 7.969 8.827 13.545
+63 2 1 0.000000 7.969 8.827 14.963
+64 2 1 0.000000 8.827 7.969 15.672
+65 2 1 0.000000 8.827 7.969 12.836
+66 2 1 0.000000 10.000 7.655 13.545
+67 2 1 0.000000 10.000 7.655 14.963
+68 2 1 0.000000 11.173 7.969 15.672
+69 2 1 0.000000 11.173 7.969 12.836
+70 2 1 0.000000 12.031 8.827 13.545
+71 2 1 0.000000 12.031 8.827 14.963
+72 2 1 0.000000 12.345 10.000 15.672
+73 1 9 -0.18 -3.365 0.678 1.133
+74 1 4 0.09 -2.854 1.624 1.417
+75 1 4 0.09 -4.302 0.58 1.719
+76 1 9 -0.09 -1.647 -0.716 0.047
+77 1 4 0.09 -1.451 -1.802 -0.11
+78 1 10 -0.18 -2.425 -0.518 1.369
+79 1 5 0.09 -1.756 -0.365 2.24
+80 1 5 0.09 -3.037 -1.427 1.561
+81 1 11 -0.09 -3.628 0.67 -0.366
+82 1 4 0.09 -3.892 1.592 -0.905
+83 1 10 -0.18 -4.015 -0.644 -0.985
+84 1 5 0.09 -4.264 -1.466 -0.292
+85 1 5 0.09 -4.56 -0.575 -1.945
+86 1 12 -0.09 -2.584 -0.196 -1.019
+87 1 4 0.09 -2.203 0.152 -1.987
+88 1 8 0.28 1.737 0.629 -0.049
+89 1 16 -0.71 1.009 1.811 -0.085
+90 1 7 0.34 -0.238 1.412 -0.066
+91 1 3 0.12 -1.102 2.079 -0.079
+92 1 14 -0.05 -0.385 0.043 -0.026
+93 1 15 -0.74 3.524 -0.923 0.002
+94 1 7 0.5 2.59 -1.876 0.037
+95 1 3 0.13 2.97 -2.901 0.072
+96 1 15 -0.75 1.258 -1.76 0.035
+97 1 8 0.43 0.895 -0.468 -0.01
+98 1 6 0.46 3.123 0.37 -0.042
+99 1 13 -0.77 4.058 1.336 -0.077
+100 1 2 0.38 5.012 1.052 -0.068
+101 1 2 0.38 3.805 2.299 -0.107
+
+
+Bond Coeffs
+
+ 1 2.0 1.4
+ 2 2.0 1.4 # comments can appear
+ 3 2.0 1.4 # at the end of lines
+ 4 2.0 1.4 # in each data file section
+ 5 2.0 1.1
+ 6 2.0 1.4
+ 7 2.0 1.4
+ 8 2.0 1.4
+ 9 2.0 1.4
+ 10 2.0 1.4
+ 11 2.0 1.4
+ 12 2.0 1.4
+ 13 2.0 1.4
+ 14 2.0 1.4
+ 15 2.0 1.4
+ 16 2.0 1.1
+ 17 2.0 1.4
+ 18 2.0 1.4
+ 19 2.0 1.1
+ 20 2.0 1.4
+ 21 2.0 1.4
+ 22 2.0 1.1
+ 23 2.0 1.1
+ 24 2.0 1.1
+
+Bonds
+
+1 1 1 2 # descriptive comments can
+2 1 1 22 # appear at the end of lines
+3 1 2 3 # in each data file section
+4 1 2 5 # (removed from this file)
+5 1 3 24
+6 1 3 4
+7 1 4 7
+8 1 4 29
+9 1 5 6
+10 1 6 7
+11 1 6 9
+12 1 7 8
+13 1 8 33
+14 1 8 11
+15 1 9 10
+16 1 10 13
+17 1 10 11
+18 1 11 12
+19 1 12 15
+20 1 12 37
+21 1 13 14
+22 1 14 17
+23 1 14 15
+24 1 15 16
+25 1 16 19
+26 1 16 41
+27 1 17 18
+28 1 18 21
+29 1 18 19
+30 1 19 20
+31 1 20 23
+32 1 20 45
+33 1 21 22
+34 1 22 23
+35 1 23 24
+36 1 24 25
+37 1 25 26
+38 1 25 46
+39 1 26 27
+40 1 26 29
+41 1 27 48
+42 1 27 28
+43 1 28 31
+44 1 28 53
+45 1 29 30
+46 1 30 31
+47 1 30 33
+48 1 31 32
+49 1 32 57
+50 1 32 35
+51 1 33 34
+52 1 34 37
+53 1 34 35
+54 1 35 36
+55 1 36 39
+56 1 36 61
+57 1 37 38
+58 1 38 41
+59 1 38 39
+60 1 39 40
+61 1 40 43
+62 1 40 65
+63 1 41 42
+64 1 42 45
+65 1 42 43
+66 1 43 44
+67 1 44 47
+68 1 44 69
+69 1 45 46
+70 1 46 47
+71 1 47 48
+72 1 48 49
+73 1 49 50
+74 1 49 70
+75 1 50 51
+76 1 50 53
+77 1 51 72
+78 1 51 52
+79 1 52 55
+80 1 53 54
+81 1 54 55
+82 1 54 57
+83 1 55 56
+84 1 56 59
+85 1 57 58
+86 1 58 61
+87 1 58 59
+88 1 59 60
+89 1 60 63
+90 1 61 62
+91 1 62 65
+92 1 62 63
+93 1 63 64
+94 1 64 67
+95 1 65 66
+96 1 66 69
+97 1 66 67
+98 1 67 68
+99 1 68 71
+100 1 69 70
+101 1 70 71
+102 1 71 72
+103 13 73 81
+104 19 73 74
+105 19 73 75
+106 18 76 78
+107 19 76 77
+108 20 76 92
+109 18 78 73
+110 23 78 79
+111 23 78 80
+112 14 81 86
+113 15 81 83
+114 16 81 82
+115 21 83 86
+116 23 83 84
+117 23 83 85
+118 17 86 76
+119 22 86 87
+120 12 88 89
+121 8 89 90
+122 5 90 91
+123 10 92 97
+124 6 92 90
+125 4 93 98
+126 7 94 93
+127 5 94 95
+128 7 94 96
+129 11 97 96
+130 9 97 88
+131 3 98 99
+132 2 98 88
+133 24 99 100
+134 24 99 101
+
+
+Angle Coeffs
+
+ 1 0 120.0 0 2.0
+ 2 0 120.0 0 2.0 # comments can appear
+ 3 0 120.0 0 2.0 # at the end of lines
+ 4 0 120.0 0 2.0 # in each data file section
+ 5 0 120.0 0 2.0
+ 6 0 120.0 0 2.0
+ 7 0 120.0 0 2.0
+ 8 0 120.0 0 2.0
+ 9 0 120.0 0 2.0
+ 10 0 120.0 0 2.0
+ 11 0 120.0 0 2.0
+ 12 0 120.0 0 2.0
+ 13 0 120.0 0 2.0
+ 14 0 120.0 0 2.0
+ 15 0 120.0 0 2.0
+ 16 0 120.0 0 2.0
+ 17 0 120.0 0 2.0
+ 18 0 120.0 0 2.0
+ 19 0 60.0 0 2.0
+ 20 0 120.0 0 2.0
+ 21 0 60.0 0 2.0
+ 22 0 120.0 0 2.0
+ 23 0 120.0 0 2.0
+ 24 0 120.0 0 2.0
+ 25 0 120.0 0 2.0
+ 26 0 120.0 0 2.0
+ 27 0 120.0 0 2.0
+ 28 0 120.0 0 2.0
+ 29 0 120.0 0 2.0
+ 30 0 60.0 0 2.0
+ 31 0 120.0 0 2.0
+ 32 0 90.0 0 2.0
+ 33 0 120.0 0 2.0
+ 34 0 120.0 0 2.0
+ 35 0 120.0 0 2.0
+ 36 0 120.0 0 2.0
+ 37 0 120.0 0 2.0
+ 38 0 120.0 0 2.0
+ 39 0 120.0 0 2.0
+ 40 0 120.0 0 2.0
+ 41 0 120.0 0 2.0
+ 42 0 120.0 0 2.0
+ 43 0 120.0 0 2.0
+ 44 0 120.0 0 2.0
+ 45 0 120.0 0 2.0
+ 46 0 120.0 0 2.0
+ 47 0 120.0 0 2.0
+ 48 0 120.0 0 2.0
+ 49 0 120.0 0 2.0
+ 50 0 120.0 0 2.0
+
+Angles
+
+1 1 2 1 22
+2 1 1 2 3 # comments can appear
+3 1 1 2 5 # at the end of lines
+4 1 3 2 5 # in each data file section
+5 1 2 3 24
+6 1 2 3 4
+7 1 4 3 24
+8 1 3 4 7
+9 1 3 4 29
+10 1 7 4 29
+11 1 2 5 6
+12 1 5 6 7
+13 1 5 6 9
+14 1 7 6 9
+15 1 4 7 6
+16 1 4 7 8
+17 1 6 7 8
+18 1 7 8 33
+19 1 7 8 11
+20 1 11 8 33
+21 1 6 9 10
+22 1 9 10 13
+23 1 9 10 11
+24 1 11 10 13
+25 1 8 11 10
+26 1 8 11 12
+27 1 10 11 12
+28 1 11 12 15
+29 1 11 12 37
+30 1 15 12 37
+31 1 10 13 14
+32 1 13 14 17
+33 1 13 14 15
+34 1 15 14 17
+35 1 12 15 14
+36 1 12 15 16
+37 1 14 15 16
+38 1 15 16 19
+39 1 15 16 41
+40 1 19 16 41
+41 1 14 17 18
+42 1 17 18 21
+43 1 17 18 19
+44 1 19 18 21
+45 1 16 19 18
+46 1 16 19 20
+47 1 18 19 20
+48 1 19 20 23
+49 1 19 20 45
+50 1 23 20 45
+51 1 18 21 22
+52 1 1 22 21
+53 1 1 22 23
+54 1 21 22 23
+55 1 20 23 22
+56 1 20 23 24
+57 1 22 23 24
+58 1 3 24 23
+59 1 3 24 25
+60 1 23 24 25
+61 1 24 25 26
+62 1 24 25 46
+63 1 26 25 46
+64 1 25 26 27
+65 1 25 26 29
+66 1 27 26 29
+67 1 26 27 48
+68 1 26 27 28
+69 1 28 27 48
+70 1 27 28 31
+71 1 27 28 53
+72 1 31 28 53
+73 1 4 29 26
+74 1 4 29 30
+75 1 26 29 30
+76 1 29 30 31
+77 1 29 30 33
+78 1 31 30 33
+79 1 28 31 30
+80 1 28 31 32
+81 1 30 31 32
+82 1 31 32 57
+83 1 31 32 35
+84 1 35 32 57
+85 1 8 33 30
+86 1 8 33 34
+87 1 30 33 34
+88 1 33 34 37
+89 1 33 34 35
+90 1 35 34 37
+91 1 32 35 34
+92 1 32 35 36
+93 1 34 35 36
+94 1 35 36 39
+95 1 35 36 61
+96 1 39 36 61
+97 1 12 37 34
+98 1 12 37 38
+99 1 34 37 38
+100 1 37 38 41
+101 1 37 38 39
+102 1 39 38 41
+103 1 36 39 38
+104 1 36 39 40
+105 1 38 39 40
+106 1 39 40 43
+107 1 39 40 65
+108 1 43 40 65
+109 1 16 41 38
+110 1 16 41 42
+111 1 38 41 42
+112 1 41 42 45
+113 1 41 42 43
+114 1 43 42 45
+115 1 40 43 42
+116 1 40 43 44
+117 1 42 43 44
+118 1 43 44 47
+119 1 43 44 69
+120 1 47 44 69
+121 1 20 45 42
+122 1 20 45 46
+123 1 42 45 46
+124 1 25 46 45
+125 1 25 46 47
+126 1 45 46 47
+127 1 44 47 46
+128 1 44 47 48
+129 1 46 47 48
+130 1 27 48 47
+131 1 27 48 49
+132 1 47 48 49
+133 1 48 49 50
+134 1 48 49 70
+135 1 50 49 70
+136 1 49 50 51
+137 1 49 50 53
+138 1 51 50 53
+139 1 50 51 72
+140 1 50 51 52
+141 1 52 51 72
+142 1 51 52 55
+143 1 28 53 50
+144 1 28 53 54
+145 1 50 53 54
+146 1 53 54 55
+147 1 53 54 57
+148 1 55 54 57
+149 1 52 55 54
+150 1 52 55 56
+151 1 54 55 56
+152 1 55 56 59
+153 1 32 57 54
+154 1 32 57 58
+155 1 54 57 58
+156 1 57 58 61
+157 1 57 58 59
+158 1 59 58 61
+159 1 56 59 58
+160 1 56 59 60
+161 1 58 59 60
+162 1 59 60 63
+163 1 36 61 58
+164 1 36 61 62
+165 1 58 61 62
+166 1 61 62 65
+167 1 61 62 63
+168 1 63 62 65
+169 1 60 63 62
+170 1 60 63 64
+171 1 62 63 64
+172 1 63 64 67
+173 1 40 65 62
+174 1 40 65 66
+175 1 62 65 66
+176 1 65 66 69
+177 1 65 66 67
+178 1 67 66 69
+179 1 64 67 66
+180 1 64 67 68
+181 1 66 67 68
+182 1 67 68 71
+183 1 44 69 66
+184 1 44 69 70
+185 1 66 69 70
+186 1 49 70 69
+187 1 49 70 71
+188 1 69 70 71
+189 1 68 71 70
+190 1 68 71 72
+191 1 70 71 72
+192 1 51 72 71
+193 25 73 81 82
+194 24 73 81 83
+195 23 73 81 86
+196 29 73 78 80
+197 29 73 78 79
+198 44 74 73 75
+199 7 76 92 90
+200 15 76 92 97
+201 27 76 86 87
+202 26 76 86 83
+203 18 76 86 81
+204 29 76 78 80
+205 29 76 78 79
+206 28 76 78 73
+207 45 77 76 92
+208 38 78 76 92
+209 37 78 76 77
+210 37 78 73 75
+211 37 78 73 74
+212 16 78 73 81
+213 46 79 78 80
+214 20 81 86 87
+215 19 81 86 83
+216 22 81 83 85
+217 22 81 83 84
+218 21 81 83 86
+219 17 81 73 75
+220 17 81 73 74
+221 39 83 86 87
+222 36 83 81 82
+223 46 84 83 85
+224 35 86 83 85
+225 35 86 83 84
+226 31 86 81 82
+227 30 86 81 83
+228 34 86 76 92
+229 33 86 76 77
+230 32 86 76 78
+231 11 88 98 93
+232 9 88 89 90
+233 14 89 88 97
+234 43 91 90 89
+235 12 92 97 88
+236 49 92 97 96
+237 48 92 90 89
+238 41 92 90 91
+239 50 93 94 96
+240 42 93 94 95
+241 5 94 93 98
+242 42 95 94 96
+243 13 96 97 88
+244 8 97 96 94
+245 6 97 92 90
+246 4 98 99 101
+247 4 98 99 100
+248 2 98 88 97
+249 3 98 88 89
+250 47 99 98 93
+251 10 99 98 88
+252 40 100 99 101
+
+Dihedral Coeffs
+
+ 1 0.0 2 180 1
+ 2 0.0 2 180 1 # comments can appear
+ 3 0.0 2 180 1 # at the end of lines
+ 4 0.0 2 180 1 # in each data file section
+ 5 0.0 2 180 1
+ 6 0.0 2 180 1
+ 7 0.0 2 180 1
+ 8 0.0 2 180 1
+ 9 0.0 1 180 1
+ 10 0.0 1 180 1
+ 11 0.0 3 180 1
+ 12 0.0 2 180 1
+ 13 0.0 2 180 1
+ 14 0.0 2 180 1
+ 15 0.0 2 180 1
+ 16 0.0 2 180 1
+ 17 0.0 2 180 1
+ 18 0.0 2 180 1
+ 19 0.0 2 180 1
+ 20 0.0 2 180 1
+ 21 0.0 2 180 1
+ 22 0.0 2 180 1
+ 23 0.0 1 180 1
+ 24 0.0 1 180 1
+ 25 0.0 3 180 1
+ 26 0.0 2 180 1
+ 27 0.0 2 180 1
+ 28 0.0 2 180 1
+ 29 0.0 2 180 1
+ 30 0.0 6 180 1
+ 31 0.0 3 180 1
+ 32 0.0 3 180 1
+ 33 0.0 3 180 1
+ 34 0.0 3 180 1
+ 35 0.0 3 180 1
+ 36 0.0 3 180 1
+ 37 0.0 3 180 1
+ 38 0.0 3 180 1
+ 39 0.0 3 180 1
+ 40 0.0 3 180 1
+ 41 0.0 3 180 1
+ 42 0.0 3 180 1
+ 43 0.0 3 180 1
+ 44 0.0 3 180 1
+ 45 0.0 3 180 1
+ 46 0.0 3 180 1
+ 47 0.0 3 180 1
+ 48 0.0 3 180 1
+ 49 0.0 2 180 1
+ 50 0.0 2 180 1
+ 51 0.0 2 180 1
+ 52 0.0 3 180 1
+ 53 0.0 3 180 1
+ 54 0.0 3 180 1
+ 55 0.0 3 180 1
+ 56 0.0 3 180 1
+ 57 0.0 3 180 1
+ 58 0.0 3 180 1
+ 59 0.0 3 180 1
+ 60 0.0 3 180 1
+ 61 0.0 3 180 1
+ 62 0.0 3 180 1
+ 63 0.0 3 180 1
+ 64 0.0 3 180 1
+ 65 0.0 3 180 1
+ 66 0.0 2 180 1
+ 67 0.0 3 180 1
+ 68 0.0 3 180 1
+ 69 0.0 3 180 1
+ 70 0.0 3 180 1
+ 71 0.0 3 180 1
+ 72 0.0 3 180 1
+ 73 0.0 3 180 1
+ 74 0.0 3 180 1
+ 75 0.0 2 180 1
+ 76 0.0 2 180 1
+ 77 0.0 2 180 1
+ 78 0.0 2 180 1
+
+Dihedrals
+
+1 1 22 1 2 3
+2 1 22 1 2 5
+3 1 2 1 22 21
+4 1 2 1 22 23
+5 1 1 2 3 24
+6 1 1 2 3 4
+7 1 5 2 3 24
+8 1 5 2 3 4
+9 1 1 2 5 6
+10 1 3 2 5 6
+11 1 2 3 24 23
+12 1 2 3 24 25
+13 1 4 3 24 23
+14 1 4 3 24 25
+15 1 2 3 4 7
+16 1 2 3 4 29
+17 1 24 3 4 7
+18 1 24 3 4 29
+19 1 3 4 7 6
+20 1 3 4 7 8
+21 1 29 4 7 6
+22 1 29 4 7 8
+23 1 3 4 29 26
+24 1 3 4 29 30
+25 1 7 4 29 26
+26 1 7 4 29 30
+27 1 2 5 6 7
+28 1 2 5 6 9
+29 1 5 6 7 4
+30 1 5 6 7 8
+31 1 9 6 7 4
+32 1 9 6 7 8
+33 1 5 6 9 10
+34 1 7 6 9 10
+35 1 4 7 8 33
+36 1 4 7 8 11
+37 1 6 7 8 33
+38 1 6 7 8 11
+39 1 7 8 33 30
+40 1 7 8 33 34
+41 1 11 8 33 30
+42 1 11 8 33 34
+43 1 7 8 11 10
+44 1 7 8 11 12
+45 1 33 8 11 10
+46 1 33 8 11 12
+47 1 6 9 10 13
+48 1 6 9 10 11
+49 1 9 10 13 14
+50 1 11 10 13 14
+51 1 9 10 11 8
+52 1 9 10 11 12
+53 1 13 10 11 8
+54 1 13 10 11 12
+55 1 8 11 12 15
+56 1 8 11 12 37
+57 1 10 11 12 15
+58 1 10 11 12 37
+59 1 11 12 15 14
+60 1 11 12 15 16
+61 1 37 12 15 14
+62 1 37 12 15 16
+63 1 11 12 37 34
+64 1 11 12 37 38
+65 1 15 12 37 34
+66 1 15 12 37 38
+67 1 10 13 14 17
+68 1 10 13 14 15
+69 1 13 14 17 18
+70 1 15 14 17 18
+71 1 13 14 15 12
+72 1 13 14 15 16
+73 1 17 14 15 12
+74 1 17 14 15 16
+75 1 12 15 16 19
+76 1 12 15 16 41
+77 1 14 15 16 19
+78 1 14 15 16 41
+79 1 15 16 19 18
+80 1 15 16 19 20
+81 1 41 16 19 18
+82 1 41 16 19 20
+83 1 15 16 41 38
+84 1 15 16 41 42
+85 1 19 16 41 38
+86 1 19 16 41 42
+87 1 14 17 18 21
+88 1 14 17 18 19
+89 1 17 18 21 22
+90 1 19 18 21 22
+91 1 17 18 19 16
+92 1 17 18 19 20
+93 1 21 18 19 16
+94 1 21 18 19 20
+95 1 16 19 20 23
+96 1 16 19 20 45
+97 1 18 19 20 23
+98 1 18 19 20 45
+99 1 19 20 23 22
+100 1 19 20 23 24
+101 1 45 20 23 22
+102 1 45 20 23 24
+103 1 19 20 45 42
+104 1 19 20 45 46
+105 1 23 20 45 42
+106 1 23 20 45 46
+107 1 18 21 22 1
+108 1 18 21 22 23
+109 1 1 22 23 20
+110 1 1 22 23 24
+111 1 21 22 23 20
+112 1 21 22 23 24
+113 1 20 23 24 3
+114 1 20 23 24 25
+115 1 22 23 24 3
+116 1 22 23 24 25
+117 1 3 24 25 26
+118 1 3 24 25 46
+119 1 23 24 25 26
+120 1 23 24 25 46
+121 1 24 25 26 27
+122 1 24 25 26 29
+123 1 46 25 26 27
+124 1 46 25 26 29
+125 1 24 25 46 45
+126 1 24 25 46 47
+127 1 26 25 46 45
+128 1 26 25 46 47
+129 1 25 26 27 48
+130 1 25 26 27 28
+131 1 29 26 27 48
+132 1 29 26 27 28
+133 1 25 26 29 4
+134 1 25 26 29 30
+135 1 27 26 29 4
+136 1 27 26 29 30
+137 1 26 27 48 47
+138 1 26 27 48 49
+139 1 28 27 48 47
+140 1 28 27 48 49
+141 1 26 27 28 31
+142 1 26 27 28 53
+143 1 48 27 28 31
+144 1 48 27 28 53
+145 1 27 28 31 30
+146 1 27 28 31 32
+147 1 53 28 31 30
+148 1 53 28 31 32
+149 1 27 28 53 50
+150 1 27 28 53 54
+151 1 31 28 53 50
+152 1 31 28 53 54
+153 1 4 29 30 31
+154 1 4 29 30 33
+155 1 26 29 30 31
+156 1 26 29 30 33
+157 1 29 30 31 28
+158 1 29 30 31 32
+159 1 33 30 31 28
+160 1 33 30 31 32
+161 1 29 30 33 8
+162 1 29 30 33 34
+163 1 31 30 33 8
+164 1 31 30 33 34
+165 1 28 31 32 57
+166 1 28 31 32 35
+167 1 30 31 32 57
+168 1 30 31 32 35
+169 1 31 32 57 54
+170 1 31 32 57 58
+171 1 35 32 57 54
+172 1 35 32 57 58
+173 1 31 32 35 34
+174 1 31 32 35 36
+175 1 57 32 35 34
+176 1 57 32 35 36
+177 1 8 33 34 37
+178 1 8 33 34 35
+179 1 30 33 34 37
+180 1 30 33 34 35
+181 1 33 34 37 12
+182 1 33 34 37 38
+183 1 35 34 37 12
+184 1 35 34 37 38
+185 1 33 34 35 32
+186 1 33 34 35 36
+187 1 37 34 35 32
+188 1 37 34 35 36
+189 1 32 35 36 39
+190 1 32 35 36 61
+191 1 34 35 36 39
+192 1 34 35 36 61
+193 1 35 36 39 38
+194 1 35 36 39 40
+195 1 61 36 39 38
+196 1 61 36 39 40
+197 1 35 36 61 58
+198 1 35 36 61 62
+199 1 39 36 61 58
+200 1 39 36 61 62
+201 1 12 37 38 41
+202 1 12 37 38 39
+203 1 34 37 38 41
+204 1 34 37 38 39
+205 1 37 38 41 16
+206 1 37 38 41 42
+207 1 39 38 41 16
+208 1 39 38 41 42
+209 1 37 38 39 36
+210 1 37 38 39 40
+211 1 41 38 39 36
+212 1 41 38 39 40
+213 1 36 39 40 43
+214 1 36 39 40 65
+215 1 38 39 40 43
+216 1 38 39 40 65
+217 1 39 40 43 42
+218 1 39 40 43 44
+219 1 65 40 43 42
+220 1 65 40 43 44
+221 1 39 40 65 62
+222 1 39 40 65 66
+223 1 43 40 65 62
+224 1 43 40 65 66
+225 1 16 41 42 45
+226 1 16 41 42 43
+227 1 38 41 42 45
+228 1 38 41 42 43
+229 1 41 42 45 20
+230 1 41 42 45 46
+231 1 43 42 45 20
+232 1 43 42 45 46
+233 1 41 42 43 40
+234 1 41 42 43 44
+235 1 45 42 43 40
+236 1 45 42 43 44
+237 1 40 43 44 47
+238 1 40 43 44 69
+239 1 42 43 44 47
+240 1 42 43 44 69
+241 1 43 44 47 46
+242 1 43 44 47 48
+243 1 69 44 47 46
+244 1 69 44 47 48
+245 1 43 44 69 66
+246 1 43 44 69 70
+247 1 47 44 69 66
+248 1 47 44 69 70
+249 1 20 45 46 25
+250 1 20 45 46 47
+251 1 42 45 46 25
+252 1 42 45 46 47
+253 1 25 46 47 44
+254 1 25 46 47 48
+255 1 45 46 47 44
+256 1 45 46 47 48
+257 1 44 47 48 27
+258 1 44 47 48 49
+259 1 46 47 48 27
+260 1 46 47 48 49
+261 1 27 48 49 50
+262 1 27 48 49 70
+263 1 47 48 49 50
+264 1 47 48 49 70
+265 1 48 49 50 51
+266 1 48 49 50 53
+267 1 70 49 50 51
+268 1 70 49 50 53
+269 1 48 49 70 69
+270 1 48 49 70 71
+271 1 50 49 70 69
+272 1 50 49 70 71
+273 1 49 50 51 72
+274 1 49 50 51 52
+275 1 53 50 51 72
+276 1 53 50 51 52
+277 1 49 50 53 28
+278 1 49 50 53 54
+279 1 51 50 53 28
+280 1 51 50 53 54
+281 1 50 51 72 71
+282 1 52 51 72 71
+283 1 50 51 52 55
+284 1 72 51 52 55
+285 1 51 52 55 54
+286 1 51 52 55 56
+287 1 28 53 54 55
+288 1 28 53 54 57
+289 1 50 53 54 55
+290 1 50 53 54 57
+291 1 53 54 55 52
+292 1 53 54 55 56
+293 1 57 54 55 52
+294 1 57 54 55 56
+295 1 53 54 57 32
+296 1 53 54 57 58
+297 1 55 54 57 32
+298 1 55 54 57 58
+299 1 52 55 56 59
+300 1 54 55 56 59
+301 1 55 56 59 58
+302 1 55 56 59 60
+303 1 32 57 58 61
+304 1 32 57 58 59
+305 1 54 57 58 61
+306 1 54 57 58 59
+307 1 57 58 61 36
+308 1 57 58 61 62
+309 1 59 58 61 36
+310 1 59 58 61 62
+311 1 57 58 59 56
+312 1 57 58 59 60
+313 1 61 58 59 56
+314 1 61 58 59 60
+315 1 56 59 60 63
+316 1 58 59 60 63
+317 1 59 60 63 62
+318 1 59 60 63 64
+319 1 36 61 62 65
+320 1 36 61 62 63
+321 1 58 61 62 65
+322 1 58 61 62 63
+323 1 61 62 65 40
+324 1 61 62 65 66
+325 1 63 62 65 40
+326 1 63 62 65 66
+327 1 61 62 63 60
+328 1 61 62 63 64
+329 1 65 62 63 60
+330 1 65 62 63 64
+331 1 60 63 64 67
+332 1 62 63 64 67
+333 1 63 64 67 66
+334 1 63 64 67 68
+335 1 40 65 66 69
+336 1 40 65 66 67
+337 1 62 65 66 69
+338 1 62 65 66 67
+339 1 65 66 69 44
+340 1 65 66 69 70
+341 1 67 66 69 44
+342 1 67 66 69 70
+343 1 65 66 67 64
+344 1 65 66 67 68
+345 1 69 66 67 64
+346 1 69 66 67 68
+347 1 64 67 68 71
+348 1 66 67 68 71
+349 1 67 68 71 70
+350 1 67 68 71 72
+351 1 44 69 70 49
+352 1 44 69 70 71
+353 1 66 69 70 49
+354 1 66 69 70 71
+355 1 49 70 71 68
+356 1 49 70 71 72
+357 1 69 70 71 68
+358 1 69 70 71 72
+359 1 68 71 72 51
+360 1 70 71 72 51
+361 38 73 81 86 76
+362 39 73 81 86 83
+363 40 73 81 86 87
+364 41 73 81 83 86
+365 42 73 81 83 84
+366 42 73 81 83 85
+367 46 73 78 76 86
+368 47 73 78 76 77
+369 48 73 78 76 92
+370 47 74 73 78 76
+371 71 74 73 78 79
+372 71 74 73 78 80
+373 53 74 73 81 86
+374 58 74 73 81 83
+375 67 74 73 81 82
+376 47 75 73 78 76
+377 71 75 73 78 79
+378 71 75 73 78 80
+379 53 75 73 81 86
+380 58 75 73 81 83
+381 67 75 73 81 82
+382 51 76 92 97 96
+383 20 76 92 97 88
+384 49 76 92 90 91
+385 50 76 92 90 89
+386 43 76 86 81 83
+387 44 76 86 81 82
+388 36 76 86 83 81
+389 45 76 86 83 84
+390 45 76 86 83 85
+391 30 76 78 73 81
+392 33 77 76 86 81
+393 64 77 76 86 83
+394 70 77 76 86 87
+395 71 77 76 78 79
+396 71 77 76 78 80
+397 25 77 76 92 97
+398 11 77 76 92 90
+399 32 78 76 86 81
+400 61 78 76 86 83
+401 62 78 76 86 87
+402 24 78 76 92 97
+403 10 78 76 92 90
+404 52 78 73 81 86
+405 57 78 73 81 83
+406 60 78 73 81 82
+407 55 79 78 76 86
+408 74 79 78 76 92
+409 31 79 78 73 81
+410 55 80 78 76 86
+411 74 80 78 76 92
+412 31 80 78 73 81
+413 34 81 86 76 92
+414 35 81 86 83 84
+415 35 81 86 83 85
+416 37 81 83 86 87
+417 63 82 81 86 83
+418 68 82 81 86 87
+419 56 82 81 83 86
+420 69 82 81 83 84
+421 69 82 81 83 85
+422 65 83 86 76 92
+423 59 83 81 86 87
+424 54 84 83 81 86
+425 73 84 83 86 87
+426 54 85 83 81 86
+427 73 85 83 86 87
+428 23 86 76 92 97
+429 9 86 76 92 90
+430 72 87 86 76 92
+431 17 88 98 99 100
+432 17 88 98 99 101
+433 12 88 98 93 94
+434 7 88 97 92 90
+435 14 88 97 96 94
+436 29 88 89 90 92
+437 28 88 89 90 91
+438 22 89 90 92 97
+439 75 89 88 98 99
+440 77 89 88 98 93
+441 76 89 88 97 92
+442 78 89 88 97 96
+443 8 90 92 97 96
+444 4 90 89 88 98
+445 16 90 89 88 97
+446 21 91 90 92 97
+447 15 92 97 96 94
+448 2 92 97 88 98
+449 66 93 98 99 100
+450 66 93 98 99 101
+451 19 93 98 88 97
+452 27 93 94 96 97
+453 13 94 93 98 99
+454 5 95 94 93 98
+455 26 95 94 96 97
+456 3 96 97 88 98
+457 6 96 94 93 98
diff --git a/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/cnad-cnt.in b/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/cnad-cnt.in
new file mode 100644
index 000000000..1f403e2bd
--- /dev/null
+++ b/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/cnad-cnt.in
@@ -0,0 +1,49 @@
+#Created by Aysun Itai and modified by Andrew Jewett
+# NOTE: This file has been extensively modified.
+# Only the bond connectivity and atomic positions are accurate.
+
+units real
+
+neigh_modify delay 2 every 1
+
+atom_style full
+bond_style harmonic
+angle_style charmm
+dihedral_style charmm
+pair_style lj/charmm/coul/charmm 8.0 10.0
+pair_modify mix arithmetic
+
+read_data cnad-cnt.data
+
+pair_coeff 1 1 0.02 4.0
+pair_coeff 2 2 0.02 1.0 # atoms will not interact sterically
+pair_coeff 3 3 0.02 2.0 # in this version of the file.
+pair_coeff 4 4 0.02 2.0 # (All pair forces and atom names removed)
+pair_coeff 5 5 0.02 2.0
+pair_coeff 6 6 0.02 3.0
+pair_coeff 7 7 0.02 3.0
+pair_coeff 8 8 0.02 3.0
+pair_coeff 9 9 0.02 4.0
+pair_coeff 10 10 0.02 4.0
+pair_coeff 11 11 0.02 4.0
+pair_coeff 12 12 0.02 4.0
+pair_coeff 13 13 0.02 3.0
+pair_coeff 14 14 0.02 3.0
+pair_coeff 15 15 0.02 3.0
+pair_coeff 16 16 0.02 3.0
+
+group cnt type 1
+group cnad type 2:16
+
+displace_atoms cnad move 0 -7 0 units box
+special_bonds charmm
+
+velocity all create 0.0 54321 dist uniform
+
+thermo 1
+thermo_style multi
+timestep 0.005
+
+dump 1 all atom 10 cnad-cnt.dump
+
+run 20000
diff --git a/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/images/cnad-cnt_after_rotate_copy.jpg b/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/images/cnad-cnt_after_rotate_copy.jpg
new file mode 100644
index 000000000..3b79b405e
Binary files /dev/null and b/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/images/cnad-cnt_after_rotate_copy.jpg differ
diff --git a/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/images/cnad-cnt_orig.jpg b/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/images/cnad-cnt_orig.jpg
new file mode 100644
index 000000000..1f46c1b7b
Binary files /dev/null and b/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/images/cnad-cnt_orig.jpg differ
diff --git a/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/images/cnad.jpg b/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/images/cnad.jpg
new file mode 100644
index 000000000..628371b0d
Binary files /dev/null and b/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/images/cnad.jpg differ
diff --git a/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/images/cnt.jpg b/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/images/cnt.jpg
new file mode 100644
index 000000000..3489773ad
Binary files /dev/null and b/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/images/cnt.jpg differ
diff --git a/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/run.in.nvt b/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/run.in.nvt
new file mode 100644
index 000000000..abaa3a225
--- /dev/null
+++ b/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/run.in.nvt
@@ -0,0 +1,46 @@
+###########################################################
+# Interaction of a carbon nanotube with a pair of mystery
+# molecules (extracted from the cnat-cnt.data/in files).
+###########################################################
+#
+# define the system being simulated:
+
+# -- init section --
+include system.in.init
+
+# -- atom definition section --
+
+read_data system.data
+
+# -- settings section --
+
+include system.in.settings
+
+# -- run section --
+
+
+timestep 0.05
+dump 1 all custom 2000 traj_nvt.lammpstrj id mol type x y z ix iy iz
+
+# The Nose-Hoover thermostat used with "fix nvt" can produce very odd-looking
+# dynamics in dilute systems with few atoms (such as this one).
+# Commenting this next line out:
+
+# fix fxnvt all nvt temp 300.0 300.0 500.0 tchain 1
+
+# Alternately, I receive fewer questions if I use langevin/nve instead:
+fix fxlan all langevin 300.0 300.0 1000.0 48279 scale 3 1.5
+fix fxnve all nve
+
+
+thermo_style custom step temp pe etotal press vol epair ebond eangle edihed
+thermo 500 # time interval for printing out "thermo" data
+#thermo_modify flush yes
+
+#restart 1000000 restart_nvt
+
+run 500000
+
+write_data system_after_nvt.data
+
+
diff --git a/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/system.lt b/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/system.lt
new file mode 100644
index 000000000..70fdb7548
--- /dev/null
+++ b/tools/moltemplate/examples/file_conversion_examples/convert_LAMMPS_to_LT_examples/cnad-cnt/system.lt
@@ -0,0 +1,29 @@
+#Define the CNT and CNAD molecules, by including the files which define them
+import cnt.lt
+import cnad.lt
+
+# The cnt's center was originally at position 10,10,10,
+# so I moved it back to the origin
+cnt = new CNT.move(-10,-10,-10)
+
+# Rotation around the center of mass does not work (yet),
+# so instead you have to move the molecule to the origin,
+# rotate it, and move it back to where you want it.
+# That's why the next line contains move().rot().move()
+# I'll add center-of-mass rotation as a later feature.
+
+cnad1 = new CNAD.move(0.611276,-0.0237931,-0.0487586).rot(90,0,1,0).move(-7,0,0)
+cnad2 = new CNAD.move(0.611276,-0.0237931,-0.0487586).rot(-90,0,1,0).move(7,0,0)
+
+
+# You can leave the periodic boundary conditions unspecified
+# and change them later, OR you can declare them
+# using the "write_once("Data Boundary") {}" command:
+
+write_once("Data Boundary")
+{
+ 0 50.0 xlo xhi
+ 0 50.0 ylo yhi
+ 0 50.0 zlo zhi
+}
+
diff --git a/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/README.txt b/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/README.txt
new file mode 100644
index 000000000..d27267f36
--- /dev/null
+++ b/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/README.txt
@@ -0,0 +1,10 @@
+This is a simple system of 260 water molecules.
+
+In this example, the coordinates of the atoms are read from a PDB file
+instead of being specified manually (as well as the boundary information).
+
+The PDB file was generated by the useful "solvate" utility which comes with VMD.
+(To generate this file yourself, run VMD, click on the "Extensions" menu,
+and select Modeling-->Add Solvation Box.
+In this example, I made a box whose x,y,z dimensions were 16,24,24.)
+
diff --git a/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/README_run.sh b/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/README_run.sh
new file mode 100755
index 000000000..6072277b5
--- /dev/null
+++ b/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/README_run.sh
@@ -0,0 +1,31 @@
+# --- Running LAMMPS ---
+# -- Prerequisites: --
+# The 2 files "run.in.npt", and "run.in.nvt" are LAMMPS
+# input scripts which link to the input scripts and data files
+# you hopefully have created earlier with moltemplate.sh:
+# system.in.init, system.in.settings, system.data
+# If not, carry out the instructions in "README_setup.sh".
+#
+# -- Instructions: --
+# If "lmp_mpi" is the name of the command you use to invoke lammps,
+# then you would run lammps on these files this way:
+
+
+lmp_mpi -i run.in.npt # minimization and simulation at constant pressure
+lmp_mpi -i run.in.nvt # minimization and simulation at constant volume
+
+#(Note: The constant volume simulation lacks pressure equilibration. These are
+# completely separate simulations. The results of the constant pressure
+# simulation are ignored when beginning the simulation at constant volume.
+# This can be fixed. Read "run.in.nvt" for equilibration instructions.)
+
+
+
+
+
+
+
+# If you have compiled the MPI version of lammps, you can run lammps in parallel
+#mpirun -np 4 lmp_mpi -i run.in.npt
+#mpirun -np 4 lmp_mpi -i run.in.nvt
+# (assuming you have 4 processors available)
diff --git a/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/README_setup.sh b/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/README_setup.sh
new file mode 100755
index 000000000..bdd22c148
--- /dev/null
+++ b/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/README_setup.sh
@@ -0,0 +1,32 @@
+# Use these commands to generate the LAMMPS input script and data file
+# (and other auxilliary files):
+
+cd moltemplate_files/ # (The .lt input files are in this directory)
+
+ moltemplate.sh -pdb solvate.pdb system.lt
+
+ # This will generate various files with names ending in *.in* and *.data.
+ # These files are the input files directly read by LAMMPS. Move them to
+ # the parent directory (or wherever you plan to run the simulation).
+
+ mv -f system.in* system.data ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
+
+
+#
+#This will prepare LAMMPS input files for a box of water
+#(In this example, we are using the "SPC/E" water model.)
+#The number of water molecules in the "wat = new SPCE [260]" command
+#must equal the number of water molecules in the PDB file.
+#
+#Coordinates and boundary-box information is read from the .pdb file.
+#
+#You can also specify this information directly in the ttree file.
+#See the comments section in "system.lt" for details.
+#
diff --git a/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/README_visualize.txt b/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/README_visualize.txt
new file mode 100644
index 000000000..5f9b27e5b
--- /dev/null
+++ b/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/README_visualize.txt
@@ -0,0 +1,64 @@
+ ------- Instructions to view a trajectory in VMD --------
+
+ ------- Disclaimer -------
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+ (Note, at this point the image shown in the VMD graphics window may
+ not appear correct or incomplete. The coordinates of the atoms may
+ overlap if you asked moltemplate.sh to load your coordinates from
+ a PDB or XYZ file.
+ However, later after you have run a simulation, the trajectories
+ should appear reasonably correct when you load them in VMD using
+ the PSF file you just generated.)
+
+
+Later, to Load a trajectory in VMD:
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it
+
+----- Wrap the coordinates to the unit cell
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Enter:
+
+ DISCLAIMER: I'M NOT SURE THESE COMMANDS ARE CORRECT.
+ LOOKUP "pbctools" FOR DETAILS.
+
+ pbc wrap -compound res -all
+ pbc box
+
+ # If you have a solute of type 1, then use this:
+ #pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+"1" corresponds to the "O" atom type
+"2" corresponds to the "H" atom type
+
+3) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types:
+
+sed -e 's/ 1 1 / O O /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > system.psf
+
+(If you do this, I guess that you might have to use
+ "type=O" and "type=H" in step 2 above.)
diff --git a/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/moltemplate_files/.0 b/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/moltemplate_files/.0
new file mode 100644
index 000000000..e69de29bb
diff --git a/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/moltemplate_files/README.sh b/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/moltemplate_files/README.sh
new file mode 100755
index 000000000..36505562f
--- /dev/null
+++ b/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/moltemplate_files/README.sh
@@ -0,0 +1,11 @@
+
+# Run moltemplate this way:
+
+moltemplate.sh -pdb solvate.pdb system.lt
+
+
+# The PDB file was generated by the "solvate" utility which comes with VMD.
+# (To generate this file yourself, run VMD, click on the "Extensions" menu,
+# and select Modeling-->Add Solvation Box.
+# In this example, I made a box whose x,y,z dimensions were 16,24,24.)
+
diff --git a/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/moltemplate_files/solvate.pdb b/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/moltemplate_files/solvate.pdb
new file mode 100644
index 000000000..0ed5103cb
--- /dev/null
+++ b/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/moltemplate_files/solvate.pdb
@@ -0,0 +1,782 @@
+CRYST1 16.000 24.000 24.000 90.00 90.00 90.00 P 1 1
+ATOM 1 OH2 TIP3W 5 3.668 10.082 15.904 1.00 0.00 WT1 O
+ATOM 2 H1 TIP3W 5 3.224 10.451 15.101 1.00 0.00 WT1 H
+ATOM 3 H2 TIP3W 5 3.092 10.379 16.627 1.00 0.00 WT1 H
+ATOM 4 OH2 TIP3W 7 6.033 4.876 20.891 1.00 0.00 WT1 O
+ATOM 5 H1 TIP3W 7 6.078 5.224 21.798 1.00 0.00 WT1 H
+ATOM 6 H2 TIP3W 7 6.592 4.088 20.961 1.00 0.00 WT1 H
+ATOM 7 OH2 TIP3W 21 5.186 16.696 12.072 1.00 0.00 WT1 O
+ATOM 8 H1 TIP3W 21 6.083 16.979 11.816 1.00 0.00 WT1 H
+ATOM 9 H2 TIP3W 21 5.337 15.832 12.490 1.00 0.00 WT1 H
+ATOM 10 OH2 TIP3W 29 8.324 13.811 21.332 1.00 0.00 WT1 O
+ATOM 11 H1 TIP3W 29 8.633 13.348 22.112 1.00 0.00 WT1 H
+ATOM 12 H2 TIP3W 29 8.506 13.116 20.645 1.00 0.00 WT1 H
+ATOM 13 OH2 TIP3W 44 3.786 16.318 1.310 1.00 0.00 WT1 O
+ATOM 14 H1 TIP3W 44 3.781 15.388 1.196 1.00 0.00 WT1 H
+ATOM 15 H2 TIP3W 44 4.528 16.580 0.781 1.00 0.00 WT1 H
+ATOM 16 OH2 TIP3W 46 6.205 6.991 18.442 1.00 0.00 WT1 O
+ATOM 17 H1 TIP3W 46 6.782 7.347 19.152 1.00 0.00 WT1 H
+ATOM 18 H2 TIP3W 46 5.309 7.062 18.800 1.00 0.00 WT1 H
+ATOM 19 OH2 TIP3W 48 2.750 8.844 9.629 1.00 0.00 WT1 O
+ATOM 20 H1 TIP3W 48 2.110 8.290 9.998 1.00 0.00 WT1 H
+ATOM 21 H2 TIP3W 48 2.164 9.245 8.962 1.00 0.00 WT1 H
+ATOM 22 OH2 TIP3W 52 3.935 16.195 22.109 1.00 0.00 WT1 O
+ATOM 23 H1 TIP3W 52 4.870 16.034 21.985 1.00 0.00 WT1 H
+ATOM 24 H2 TIP3W 52 3.655 15.367 22.581 1.00 0.00 WT1 H
+ATOM 25 OH2 TIP3W 64 10.674 8.909 4.986 1.00 0.00 WT1 O
+ATOM 26 H1 TIP3W 64 10.998 8.871 5.932 1.00 0.00 WT1 H
+ATOM 27 H2 TIP3W 64 9.748 9.270 5.075 1.00 0.00 WT1 H
+ATOM 28 OH2 TIP3W 67 0.002 5.667 14.591 1.00 0.00 WT1 O
+ATOM 29 H1 TIP3W 67 0.483 5.990 13.830 1.00 0.00 WT1 H
+ATOM 30 H2 TIP3W 67 0.608 5.781 15.347 1.00 0.00 WT1 H
+ATOM 31 OH2 TIP3W 68 9.882 9.156 14.916 1.00 0.00 WT1 O
+ATOM 32 H1 TIP3W 68 9.574 9.753 15.597 1.00 0.00 WT1 H
+ATOM 33 H2 TIP3W 68 10.021 8.264 15.289 1.00 0.00 WT1 H
+ATOM 34 OH2 TIP3W 87 1.661 6.681 1.943 1.00 0.00 WT1 O
+ATOM 35 H1 TIP3W 87 1.943 5.739 1.981 1.00 0.00 WT1 H
+ATOM 36 H2 TIP3W 87 0.778 6.599 1.483 1.00 0.00 WT1 H
+ATOM 37 OH2 TIP3W 88 4.821 20.603 11.239 1.00 0.00 WT1 O
+ATOM 38 H1 TIP3W 88 5.466 20.782 11.963 1.00 0.00 WT1 H
+ATOM 39 H2 TIP3W 88 5.384 20.914 10.456 1.00 0.00 WT1 H
+ATOM 40 OH2 TIP3W 90 15.022 20.855 12.831 1.00 0.00 WT1 O
+ATOM 41 H1 TIP3W 90 14.222 20.809 13.292 1.00 0.00 WT1 H
+ATOM 42 H2 TIP3W 90 14.673 21.057 11.918 1.00 0.00 WT1 H
+ATOM 43 OH2 TIP3W 94 1.339 3.782 22.814 1.00 0.00 WT1 O
+ATOM 44 H1 TIP3W 94 0.839 3.425 22.087 1.00 0.00 WT1 H
+ATOM 45 H2 TIP3W 94 1.775 3.077 23.138 1.00 0.00 WT1 H
+ATOM 46 OH2 TIP3W 95 0.485 15.137 22.476 1.00 0.00 WT1 O
+ATOM 47 H1 TIP3W 95 0.644 15.425 23.349 1.00 0.00 WT1 H
+ATOM 48 H2 TIP3W 95 0.312 15.961 21.975 1.00 0.00 WT1 H
+ATOM 49 OH2 TIP3W 111 10.426 7.604 2.404 1.00 0.00 WT1 O
+ATOM 50 H1 TIP3W 111 10.761 8.401 1.994 1.00 0.00 WT1 H
+ATOM 51 H2 TIP3W 111 10.248 7.889 3.308 1.00 0.00 WT1 H
+ATOM 52 OH2 TIP3W 113 4.269 22.752 16.265 1.00 0.00 WT1 O
+ATOM 53 H1 TIP3W 113 4.149 23.680 15.888 1.00 0.00 WT1 H
+ATOM 54 H2 TIP3W 113 5.061 22.796 16.776 1.00 0.00 WT1 H
+ATOM 55 OH2 TIP3W 130 10.926 5.365 1.018 1.00 0.00 WT1 O
+ATOM 56 H1 TIP3W 130 11.138 4.769 1.754 1.00 0.00 WT1 H
+ATOM 57 H2 TIP3W 130 10.657 6.212 1.493 1.00 0.00 WT1 H
+ATOM 58 OH2 TIP3W 133 8.647 4.314 19.278 1.00 0.00 WT1 O
+ATOM 59 H1 TIP3W 133 7.964 3.611 19.326 1.00 0.00 WT1 H
+ATOM 60 H2 TIP3W 133 8.043 5.064 19.153 1.00 0.00 WT1 H
+ATOM 61 OH2 TIP3W 134 8.381 17.319 23.275 1.00 0.00 WT1 O
+ATOM 62 H1 TIP3W 134 7.516 17.340 23.695 1.00 0.00 WT1 H
+ATOM 63 H2 TIP3W 134 8.431 18.263 23.009 1.00 0.00 WT1 H
+ATOM 64 OH2 TIP3W 150 4.299 17.774 7.169 1.00 0.00 WT1 O
+ATOM 65 H1 TIP3W 150 3.303 17.803 7.322 1.00 0.00 WT1 H
+ATOM 66 H2 TIP3W 150 4.533 18.755 6.924 1.00 0.00 WT1 H
+ATOM 67 OH2 TIP3W 152 8.892 12.977 5.321 1.00 0.00 WT1 O
+ATOM 68 H1 TIP3W 152 8.119 12.478 5.443 1.00 0.00 WT1 H
+ATOM 69 H2 TIP3W 152 9.342 12.557 4.536 1.00 0.00 WT1 H
+ATOM 70 OH2 TIP3W 167 2.174 18.468 2.212 1.00 0.00 WT1 O
+ATOM 71 H1 TIP3W 167 2.632 17.628 2.203 1.00 0.00 WT1 H
+ATOM 72 H2 TIP3W 167 2.931 19.120 2.281 1.00 0.00 WT1 H
+ATOM 73 OH2 TIP3W 239 13.612 17.680 18.622 1.00 0.00 WT1 O
+ATOM 74 H1 TIP3W 239 13.744 17.414 19.508 1.00 0.00 WT1 H
+ATOM 75 H2 TIP3W 239 14.526 17.831 18.347 1.00 0.00 WT1 H
+ATOM 76 OH2 TIP3W 443 9.935 12.876 10.191 1.00 0.00 WT1 O
+ATOM 77 H1 TIP3W 443 9.709 12.098 9.634 1.00 0.00 WT1 H
+ATOM 78 H2 TIP3W 443 9.472 12.766 11.018 1.00 0.00 WT1 H
+ATOM 79 OH2 TIP3W 450 7.060 2.074 19.830 1.00 0.00 WT1 O
+ATOM 80 H1 TIP3W 450 7.650 1.619 20.528 1.00 0.00 WT1 H
+ATOM 81 H2 TIP3W 450 6.148 1.796 20.035 1.00 0.00 WT1 H
+ATOM 82 OH2 TIP3W 465 13.891 1.919 2.992 1.00 0.00 WT1 O
+ATOM 83 H1 TIP3W 465 14.198 2.681 3.422 1.00 0.00 WT1 H
+ATOM 84 H2 TIP3W 465 13.212 1.577 3.578 1.00 0.00 WT1 H
+ATOM 85 OH2 TIP3W 466 8.823 10.581 8.827 1.00 0.00 WT1 O
+ATOM 86 H1 TIP3W 466 8.183 10.753 8.148 1.00 0.00 WT1 H
+ATOM 87 H2 TIP3W 466 8.389 10.061 9.534 1.00 0.00 WT1 H
+ATOM 88 OH2 TIP3W 469 9.078 11.967 12.734 1.00 0.00 WT1 O
+ATOM 89 H1 TIP3W 469 8.228 11.561 12.993 1.00 0.00 WT1 H
+ATOM 90 H2 TIP3W 469 9.512 12.194 13.560 1.00 0.00 WT1 H
+ATOM 91 OH2 TIP3W 484 10.282 0.640 2.053 1.00 0.00 WT1 O
+ATOM 92 H1 TIP3W 484 10.367 0.959 3.016 1.00 0.00 WT1 H
+ATOM 93 H2 TIP3W 484 9.743 1.323 1.667 1.00 0.00 WT1 H
+ATOM 94 OH2 TIP3W 485 4.618 8.125 7.777 1.00 0.00 WT1 O
+ATOM 95 H1 TIP3W 485 5.405 7.919 8.314 1.00 0.00 WT1 H
+ATOM 96 H2 TIP3W 485 4.002 8.458 8.422 1.00 0.00 WT1 H
+ATOM 97 OH2 TIP3W 486 3.403 4.687 9.815 1.00 0.00 WT1 O
+ATOM 98 H1 TIP3W 486 3.109 5.272 9.097 1.00 0.00 WT1 H
+ATOM 99 H2 TIP3W 486 3.817 3.973 9.327 1.00 0.00 WT1 H
+ATOM 100 OH2 TIP3W 489 3.276 7.465 19.325 1.00 0.00 WT1 O
+ATOM 101 H1 TIP3W 489 2.772 6.991 19.964 1.00 0.00 WT1 H
+ATOM 102 H2 TIP3W 489 3.604 8.288 19.753 1.00 0.00 WT1 H
+ATOM 103 OH2 TIP3W 503 3.119 10.325 13.158 1.00 0.00 WT1 O
+ATOM 104 H1 TIP3W 503 3.598 10.900 12.512 1.00 0.00 WT1 H
+ATOM 105 H2 TIP3W 503 3.440 9.430 12.962 1.00 0.00 WT1 H
+ATOM 106 OH2 TIP3W 506 2.378 5.806 16.253 1.00 0.00 WT1 O
+ATOM 107 H1 TIP3W 506 2.157 6.161 17.099 1.00 0.00 WT1 H
+ATOM 108 H2 TIP3W 506 3.301 6.032 16.126 1.00 0.00 WT1 H
+ATOM 109 OH2 TIP3W 507 6.382 22.271 2.319 1.00 0.00 WT1 O
+ATOM 110 H1 TIP3W 507 5.550 22.035 1.847 1.00 0.00 WT1 H
+ATOM 111 H2 TIP3W 507 6.859 21.472 2.192 1.00 0.00 WT1 H
+ATOM 112 OH2 TIP3W 509 4.017 3.905 19.418 1.00 0.00 WT1 O
+ATOM 113 H1 TIP3W 509 3.142 4.042 19.132 1.00 0.00 WT1 H
+ATOM 114 H2 TIP3W 509 4.582 4.727 19.295 1.00 0.00 WT1 H
+ATOM 115 OH2 TIP3W 511 2.344 20.472 21.631 1.00 0.00 WT1 O
+ATOM 116 H1 TIP3W 511 2.932 20.821 20.945 1.00 0.00 WT1 H
+ATOM 117 H2 TIP3W 511 1.467 20.548 21.138 1.00 0.00 WT1 H
+ATOM 118 OH2 TIP3W 517 14.526 10.532 20.137 1.00 0.00 WT1 O
+ATOM 119 H1 TIP3W 517 14.162 9.733 20.503 1.00 0.00 WT1 H
+ATOM 120 H2 TIP3W 517 14.466 10.420 19.194 1.00 0.00 WT1 H
+ATOM 121 OH2 TIP3W 533 5.573 14.804 19.090 1.00 0.00 WT1 O
+ATOM 122 H1 TIP3W 533 5.959 15.339 19.808 1.00 0.00 WT1 H
+ATOM 123 H2 TIP3W 533 5.869 15.413 18.331 1.00 0.00 WT1 H
+ATOM 124 OH2 TIP3W 543 5.458 13.097 4.589 1.00 0.00 WT1 O
+ATOM 125 H1 TIP3W 543 5.673 13.019 3.612 1.00 0.00 WT1 H
+ATOM 126 H2 TIP3W 543 4.899 13.894 4.657 1.00 0.00 WT1 H
+ATOM 127 OH2 TIP3W 550 4.552 1.370 20.330 1.00 0.00 WT1 O
+ATOM 128 H1 TIP3W 550 4.274 2.194 19.953 1.00 0.00 WT1 H
+ATOM 129 H2 TIP3W 550 4.235 0.801 19.571 1.00 0.00 WT1 H
+ATOM 130 OH2 TIP3W 554 5.160 13.744 7.954 1.00 0.00 WT1 O
+ATOM 131 H1 TIP3W 554 6.048 13.422 8.207 1.00 0.00 WT1 H
+ATOM 132 H2 TIP3W 554 5.008 14.493 8.528 1.00 0.00 WT1 H
+ATOM 133 OH2 TIP3W 558 10.390 6.386 18.828 1.00 0.00 WT1 O
+ATOM 134 H1 TIP3W 558 10.688 6.484 19.731 1.00 0.00 WT1 H
+ATOM 135 H2 TIP3W 558 9.844 5.589 18.921 1.00 0.00 WT1 H
+ATOM 136 OH2 TIP3W 562 1.678 21.942 1.035 1.00 0.00 WT1 O
+ATOM 137 H1 TIP3W 562 1.272 21.280 1.592 1.00 0.00 WT1 H
+ATOM 138 H2 TIP3W 562 1.498 22.809 1.493 1.00 0.00 WT1 H
+ATOM 139 OH2 TIP3W 568 9.630 21.547 3.000 1.00 0.00 WT1 O
+ATOM 140 H1 TIP3W 568 9.601 22.471 2.643 1.00 0.00 WT1 H
+ATOM 141 H2 TIP3W 568 9.287 20.954 2.312 1.00 0.00 WT1 H
+ATOM 142 OH2 TIP3W 575 2.344 10.571 2.624 1.00 0.00 WT1 O
+ATOM 143 H1 TIP3W 575 2.122 10.753 3.553 1.00 0.00 WT1 H
+ATOM 144 H2 TIP3W 575 2.947 9.791 2.617 1.00 0.00 WT1 H
+ATOM 145 OH2 TIP3W 584 0.823 23.668 2.888 1.00 0.00 WT1 O
+ATOM 146 H1 TIP3W 584 1.636 23.316 3.340 1.00 0.00 WT1 H
+ATOM 147 H2 TIP3W 584 0.253 23.978 3.640 1.00 0.00 WT1 H
+ATOM 148 OH2 TIP3W 594 2.710 6.185 7.540 1.00 0.00 WT1 O
+ATOM 149 H1 TIP3W 594 2.467 6.236 6.561 1.00 0.00 WT1 H
+ATOM 150 H2 TIP3W 594 3.410 6.855 7.580 1.00 0.00 WT1 H
+ATOM 151 OH2 TIP3W 595 6.911 19.458 17.335 1.00 0.00 WT1 O
+ATOM 152 H1 TIP3W 595 7.517 20.118 16.957 1.00 0.00 WT1 H
+ATOM 153 H2 TIP3W 595 6.315 19.136 16.588 1.00 0.00 WT1 H
+ATOM 154 OH2 TIP3W 613 13.540 22.220 2.748 1.00 0.00 WT1 O
+ATOM 155 H1 TIP3W 613 12.965 22.475 3.462 1.00 0.00 WT1 H
+ATOM 156 H2 TIP3W 613 14.428 22.404 3.074 1.00 0.00 WT1 H
+ATOM 157 OH2 TIP3W 634 10.929 14.750 5.718 1.00 0.00 WT1 O
+ATOM 158 H1 TIP3W 634 10.050 14.541 5.408 1.00 0.00 WT1 H
+ATOM 159 H2 TIP3W 634 11.401 13.879 5.717 1.00 0.00 WT1 H
+ATOM 160 OH2 TIP3W 822 0.747 4.469 10.579 1.00 0.00 WT1 O
+ATOM 161 H1 TIP3W 822 0.426 3.568 10.339 1.00 0.00 WT1 H
+ATOM 162 H2 TIP3W 822 1.505 4.585 9.990 1.00 0.00 WT1 H
+ATOM 163 OH2 TIP3W 849 5.356 5.388 16.046 1.00 0.00 WT1 O
+ATOM 164 H1 TIP3W 849 5.884 6.064 16.461 1.00 0.00 WT1 H
+ATOM 165 H2 TIP3W 849 5.592 4.622 16.537 1.00 0.00 WT1 H
+ATOM 166 OH2 TIP3W 867 10.704 6.721 15.883 1.00 0.00 WT1 O
+ATOM 167 H1 TIP3W 867 10.901 6.912 16.836 1.00 0.00 WT1 H
+ATOM 168 H2 TIP3W 867 10.127 5.972 15.998 1.00 0.00 WT1 H
+ATOM 169 OH2 TIP3W 891 11.763 19.614 9.958 1.00 0.00 WT1 O
+ATOM 170 H1 TIP3W 891 12.279 20.405 9.866 1.00 0.00 WT1 H
+ATOM 171 H2 TIP3W 891 12.435 18.905 9.901 1.00 0.00 WT1 H
+ATOM 172 OH2 TIP3W 906 7.027 2.224 13.411 1.00 0.00 WT1 O
+ATOM 173 H1 TIP3W 906 6.185 2.801 13.535 1.00 0.00 WT1 H
+ATOM 174 H2 TIP3W 906 6.692 1.403 13.742 1.00 0.00 WT1 H
+ATOM 175 OH2 TIP3W 908 4.028 7.699 12.776 1.00 0.00 WT1 O
+ATOM 176 H1 TIP3W 908 4.577 7.193 12.138 1.00 0.00 WT1 H
+ATOM 177 H2 TIP3W 908 3.171 7.320 12.544 1.00 0.00 WT1 H
+ATOM 178 OH2 TIP3W 924 12.493 9.451 2.215 1.00 0.00 WT1 O
+ATOM 179 H1 TIP3W 924 12.908 9.840 2.987 1.00 0.00 WT1 H
+ATOM 180 H2 TIP3W 924 12.982 8.641 2.039 1.00 0.00 WT1 H
+ATOM 181 OH2 TIP3W 927 11.177 9.610 7.928 1.00 0.00 WT1 O
+ATOM 182 H1 TIP3W 927 10.443 10.172 8.053 1.00 0.00 WT1 H
+ATOM 183 H2 TIP3W 927 10.866 8.788 8.298 1.00 0.00 WT1 H
+ATOM 184 OH2 TIP3W 928 1.838 3.206 15.398 1.00 0.00 WT1 O
+ATOM 185 H1 TIP3W 928 2.201 4.081 15.545 1.00 0.00 WT1 H
+ATOM 186 H2 TIP3W 928 2.117 2.999 14.422 1.00 0.00 WT1 H
+ATOM 187 OH2 TIP3W 930 1.899 11.624 17.893 1.00 0.00 WT1 O
+ATOM 188 H1 TIP3W 930 1.139 11.678 17.305 1.00 0.00 WT1 H
+ATOM 189 H2 TIP3W 930 2.258 12.535 17.855 1.00 0.00 WT1 H
+ATOM 190 OH2 TIP3W 932 9.220 13.904 17.340 1.00 0.00 WT1 O
+ATOM 191 H1 TIP3W 932 10.062 14.198 17.738 1.00 0.00 WT1 H
+ATOM 192 H2 TIP3W 932 9.394 12.999 17.102 1.00 0.00 WT1 H
+ATOM 193 OH2 TIP3W 933 3.458 9.868 22.419 1.00 0.00 WT1 O
+ATOM 194 H1 TIP3W 933 4.398 10.016 22.654 1.00 0.00 WT1 H
+ATOM 195 H2 TIP3W 933 3.448 10.189 21.495 1.00 0.00 WT1 H
+ATOM 196 OH2 TIP3W 947 15.430 3.274 7.407 1.00 0.00 WT1 O
+ATOM 197 H1 TIP3W 947 15.458 2.741 8.157 1.00 0.00 WT1 H
+ATOM 198 H2 TIP3W 947 15.933 2.740 6.770 1.00 0.00 WT1 H
+ATOM 199 OH2 TIP3W 948 13.134 4.535 6.559 1.00 0.00 WT1 O
+ATOM 200 H1 TIP3W 948 12.434 3.932 6.938 1.00 0.00 WT1 H
+ATOM 201 H2 TIP3W 948 13.959 4.162 6.965 1.00 0.00 WT1 H
+ATOM 202 OH2 TIP3W 951 10.295 14.066 14.320 1.00 0.00 WT1 O
+ATOM 203 H1 TIP3W 951 10.592 14.067 15.226 1.00 0.00 WT1 H
+ATOM 204 H2 TIP3W 951 9.322 14.226 14.350 1.00 0.00 WT1 H
+ATOM 205 OH2 TIP3W 964 7.830 19.751 1.995 1.00 0.00 WT1 O
+ATOM 206 H1 TIP3W 964 7.257 19.870 1.247 1.00 0.00 WT1 H
+ATOM 207 H2 TIP3W 964 8.329 18.923 1.885 1.00 0.00 WT1 H
+ATOM 208 OH2 TIP3W 972 15.027 11.249 9.806 1.00 0.00 WT1 O
+ATOM 209 H1 TIP3W 972 15.636 10.953 9.104 1.00 0.00 WT1 H
+ATOM 210 H2 TIP3W 972 14.929 12.194 9.545 1.00 0.00 WT1 H
+ATOM 211 OH2 TIP3W 974 10.274 11.448 20.959 1.00 0.00 WT1 O
+ATOM 212 H1 TIP3W 974 10.893 11.073 21.654 1.00 0.00 WT1 H
+ATOM 213 H2 TIP3W 974 10.344 10.891 20.238 1.00 0.00 WT1 H
+ATOM 214 OH2 TIP3W 975 11.473 6.075 21.702 1.00 0.00 WT1 O
+ATOM 215 H1 TIP3W 975 12.046 5.667 22.431 1.00 0.00 WT1 H
+ATOM 216 H2 TIP3W 975 10.554 5.939 22.100 1.00 0.00 WT1 H
+ATOM 217 OH2 TIP3W 995 6.800 16.659 17.184 1.00 0.00 WT1 O
+ATOM 218 H1 TIP3W 995 7.143 16.649 16.327 1.00 0.00 WT1 H
+ATOM 219 H2 TIP3W 995 7.109 17.502 17.568 1.00 0.00 WT1 H
+ATOM 220 OH2 TIP3W1007 14.603 18.110 3.213 1.00 0.00 WT1 O
+ATOM 221 H1 TIP3W1007 14.275 17.655 3.963 1.00 0.00 WT1 H
+ATOM 222 H2 TIP3W1007 13.842 18.606 2.878 1.00 0.00 WT1 H
+ATOM 223 OH2 TIP3W1011 4.753 20.139 5.475 1.00 0.00 WT1 O
+ATOM 224 H1 TIP3W1011 4.769 21.053 5.846 1.00 0.00 WT1 H
+ATOM 225 H2 TIP3W1011 5.663 20.031 5.201 1.00 0.00 WT1 H
+ATOM 226 OH2 TIP3W1013 1.615 17.355 14.355 1.00 0.00 WT1 O
+ATOM 227 H1 TIP3W1013 1.225 16.480 14.420 1.00 0.00 WT1 H
+ATOM 228 H2 TIP3W1013 0.859 17.984 14.051 1.00 0.00 WT1 H
+ATOM 229 OH2 TIP3W1014 11.087 15.787 20.150 1.00 0.00 WT1 O
+ATOM 230 H1 TIP3W1014 11.221 14.877 19.698 1.00 0.00 WT1 H
+ATOM 231 H2 TIP3W1014 11.936 15.940 20.591 1.00 0.00 WT1 H
+ATOM 232 OH2 TIP3W1017 9.784 18.060 16.439 1.00 0.00 WT1 O
+ATOM 233 H1 TIP3W1017 10.576 18.166 15.922 1.00 0.00 WT1 H
+ATOM 234 H2 TIP3W1017 9.941 18.584 17.234 1.00 0.00 WT1 H
+ATOM 235 OH2 TIP3W1018 2.369 19.620 10.838 1.00 0.00 WT1 O
+ATOM 236 H1 TIP3W1018 2.051 19.425 11.701 1.00 0.00 WT1 H
+ATOM 237 H2 TIP3W1018 3.347 19.717 10.923 1.00 0.00 WT1 H
+ATOM 238 OH2 TIP3W1027 15.158 15.218 1.453 1.00 0.00 WT1 O
+ATOM 239 H1 TIP3W1027 15.286 16.123 1.160 1.00 0.00 WT1 H
+ATOM 240 H2 TIP3W1027 14.175 15.219 1.587 1.00 0.00 WT1 H
+ATOM 241 OH2 TIP3W1032 7.929 9.601 4.322 1.00 0.00 WT1 O
+ATOM 242 H1 TIP3W1032 7.364 10.340 3.912 1.00 0.00 WT1 H
+ATOM 243 H2 TIP3W1032 7.318 9.011 4.820 1.00 0.00 WT1 H
+ATOM 244 OH2 TIP3W1053 11.585 23.121 19.455 1.00 0.00 WT1 O
+ATOM 245 H1 TIP3W1053 12.413 23.205 19.982 1.00 0.00 WT1 H
+ATOM 246 H2 TIP3W1053 10.816 23.266 20.095 1.00 0.00 WT1 H
+ATOM 247 OH2 TIP3W1301 3.320 1.439 3.693 1.00 0.00 WT1 O
+ATOM 248 H1 TIP3W1301 3.018 1.263 2.795 1.00 0.00 WT1 H
+ATOM 249 H2 TIP3W1301 4.218 1.737 3.533 1.00 0.00 WT1 H
+ATOM 250 OH2 TIP3W1308 8.378 22.836 14.074 1.00 0.00 WT1 O
+ATOM 251 H1 TIP3W1308 9.127 23.085 13.478 1.00 0.00 WT1 H
+ATOM 252 H2 TIP3W1308 7.806 23.652 14.112 1.00 0.00 WT1 H
+ATOM 253 OH2 TIP3W1328 4.539 2.605 8.295 1.00 0.00 WT1 O
+ATOM 254 H1 TIP3W1328 5.460 2.702 8.123 1.00 0.00 WT1 H
+ATOM 255 H2 TIP3W1328 4.434 1.616 8.363 1.00 0.00 WT1 H
+ATOM 256 OH2 TIP3W1344 8.883 21.581 5.760 1.00 0.00 WT1 O
+ATOM 257 H1 TIP3W1344 8.705 22.232 6.446 1.00 0.00 WT1 H
+ATOM 258 H2 TIP3W1344 9.357 22.008 5.077 1.00 0.00 WT1 H
+ATOM 259 OH2 TIP3W1349 12.793 13.364 12.168 1.00 0.00 WT1 O
+ATOM 260 H1 TIP3W1349 12.787 13.548 11.223 1.00 0.00 WT1 H
+ATOM 261 H2 TIP3W1349 11.995 13.794 12.399 1.00 0.00 WT1 H
+ATOM 262 OH2 TIP3W1352 6.667 7.547 9.646 1.00 0.00 WT1 O
+ATOM 263 H1 TIP3W1352 6.103 6.975 10.296 1.00 0.00 WT1 H
+ATOM 264 H2 TIP3W1352 7.558 7.292 10.046 1.00 0.00 WT1 H
+ATOM 265 OH2 TIP3W1354 0.182 23.403 21.361 1.00 0.00 WT1 O
+ATOM 266 H1 TIP3W1354 0.301 23.585 22.346 1.00 0.00 WT1 H
+ATOM 267 H2 TIP3W1354 1.001 22.867 21.220 1.00 0.00 WT1 H
+ATOM 268 OH2 TIP3W1355 11.347 16.007 23.148 1.00 0.00 WT1 O
+ATOM 269 H1 TIP3W1355 11.779 15.126 23.087 1.00 0.00 WT1 H
+ATOM 270 H2 TIP3W1355 10.586 15.923 22.581 1.00 0.00 WT1 H
+ATOM 271 OH2 TIP3W1367 10.129 17.485 6.550 1.00 0.00 WT1 O
+ATOM 272 H1 TIP3W1367 9.231 17.467 6.920 1.00 0.00 WT1 H
+ATOM 273 H2 TIP3W1367 10.108 16.702 5.985 1.00 0.00 WT1 H
+ATOM 274 OH2 TIP3W1370 4.654 5.717 5.023 1.00 0.00 WT1 O
+ATOM 275 H1 TIP3W1370 5.059 5.126 4.395 1.00 0.00 WT1 H
+ATOM 276 H2 TIP3W1370 5.409 5.785 5.634 1.00 0.00 WT1 H
+ATOM 277 OH2 TIP3W1371 12.336 14.905 9.350 1.00 0.00 WT1 O
+ATOM 278 H1 TIP3W1371 11.849 15.588 8.883 1.00 0.00 WT1 H
+ATOM 279 H2 TIP3W1371 11.568 14.375 9.770 1.00 0.00 WT1 H
+ATOM 280 OH2 TIP3W1374 5.488 14.255 13.212 1.00 0.00 WT1 O
+ATOM 281 H1 TIP3W1374 6.279 14.126 13.709 1.00 0.00 WT1 H
+ATOM 282 H2 TIP3W1374 4.864 13.991 13.878 1.00 0.00 WT1 H
+ATOM 283 OH2 TIP3W1387 3.686 8.353 3.401 1.00 0.00 WT1 O
+ATOM 284 H1 TIP3W1387 4.494 7.930 3.084 1.00 0.00 WT1 H
+ATOM 285 H2 TIP3W1387 3.041 7.727 3.197 1.00 0.00 WT1 H
+ATOM 286 OH2 TIP3W1388 15.005 14.526 19.133 1.00 0.00 WT1 O
+ATOM 287 H1 TIP3W1388 15.742 13.941 19.238 1.00 0.00 WT1 H
+ATOM 288 H2 TIP3W1388 14.746 14.453 18.188 1.00 0.00 WT1 H
+ATOM 289 OH2 TIP3W1389 15.427 13.899 13.418 1.00 0.00 WT1 O
+ATOM 290 H1 TIP3W1389 15.598 14.703 13.915 1.00 0.00 WT1 H
+ATOM 291 H2 TIP3W1389 14.569 14.032 12.994 1.00 0.00 WT1 H
+ATOM 292 OH2 TIP3W1392 15.117 16.342 15.320 1.00 0.00 WT1 O
+ATOM 293 H1 TIP3W1392 14.190 16.658 15.235 1.00 0.00 WT1 H
+ATOM 294 H2 TIP3W1392 15.725 17.080 14.950 1.00 0.00 WT1 H
+ATOM 295 OH2 TIP3W1407 13.263 23.513 7.326 1.00 0.00 WT1 O
+ATOM 296 H1 TIP3W1407 14.083 23.900 7.689 1.00 0.00 WT1 H
+ATOM 297 H2 TIP3W1407 13.669 22.803 6.739 1.00 0.00 WT1 H
+ATOM 298 OH2 TIP3W1411 10.030 11.441 3.434 1.00 0.00 WT1 O
+ATOM 299 H1 TIP3W1411 9.274 10.827 3.422 1.00 0.00 WT1 H
+ATOM 300 H2 TIP3W1411 10.533 11.362 2.661 1.00 0.00 WT1 H
+ATOM 301 OH2 TIP3W1412 10.550 9.544 11.315 1.00 0.00 WT1 O
+ATOM 302 H1 TIP3W1412 10.055 10.343 11.396 1.00 0.00 WT1 H
+ATOM 303 H2 TIP3W1412 11.460 9.846 11.337 1.00 0.00 WT1 H
+ATOM 304 OH2 TIP3W1414 2.005 17.796 21.122 1.00 0.00 WT1 O
+ATOM 305 H1 TIP3W1414 2.773 17.325 21.598 1.00 0.00 WT1 H
+ATOM 306 H2 TIP3W1414 2.173 18.758 21.265 1.00 0.00 WT1 H
+ATOM 307 OH2 TIP3W1415 13.553 15.240 21.435 1.00 0.00 WT1 O
+ATOM 308 H1 TIP3W1415 14.103 14.959 20.726 1.00 0.00 WT1 H
+ATOM 309 H2 TIP3W1415 13.422 14.470 21.979 1.00 0.00 WT1 H
+ATOM 310 OH2 TIP3W1418 11.456 2.350 19.585 1.00 0.00 WT1 O
+ATOM 311 H1 TIP3W1418 10.731 2.931 19.730 1.00 0.00 WT1 H
+ATOM 312 H2 TIP3W1418 11.546 1.862 20.401 1.00 0.00 WT1 H
+ATOM 313 OH2 TIP3W1428 13.068 2.914 10.149 1.00 0.00 WT1 O
+ATOM 314 H1 TIP3W1428 12.803 2.473 9.295 1.00 0.00 WT1 H
+ATOM 315 H2 TIP3W1428 14.010 2.849 10.112 1.00 0.00 WT1 H
+ATOM 316 OH2 TIP3W1429 5.450 9.067 5.337 1.00 0.00 WT1 O
+ATOM 317 H1 TIP3W1429 4.722 8.840 4.711 1.00 0.00 WT1 H
+ATOM 318 H2 TIP3W1429 4.939 8.770 6.117 1.00 0.00 WT1 H
+ATOM 319 OH2 TIP3W1433 3.297 18.771 17.303 1.00 0.00 WT1 O
+ATOM 320 H1 TIP3W1433 3.913 19.272 17.825 1.00 0.00 WT1 H
+ATOM 321 H2 TIP3W1433 3.616 18.935 16.408 1.00 0.00 WT1 H
+ATOM 322 OH2 TIP3W1435 6.597 15.954 21.463 1.00 0.00 WT1 O
+ATOM 323 H1 TIP3W1435 7.157 15.160 21.200 1.00 0.00 WT1 H
+ATOM 324 H2 TIP3W1435 7.205 16.451 22.021 1.00 0.00 WT1 H
+ATOM 325 OH2 TIP3W1440 1.443 3.980 18.627 1.00 0.00 WT1 O
+ATOM 326 H1 TIP3W1440 1.536 3.050 18.247 1.00 0.00 WT1 H
+ATOM 327 H2 TIP3W1440 0.589 4.282 18.256 1.00 0.00 WT1 H
+ATOM 328 OH2 TIP3W1451 3.248 22.876 3.701 1.00 0.00 WT1 O
+ATOM 329 H1 TIP3W1451 2.662 22.334 4.248 1.00 0.00 WT1 H
+ATOM 330 H2 TIP3W1451 4.106 22.410 3.781 1.00 0.00 WT1 H
+ATOM 331 OH2 TIP3W1454 8.943 19.607 9.393 1.00 0.00 WT1 O
+ATOM 332 H1 TIP3W1454 9.890 19.666 9.174 1.00 0.00 WT1 H
+ATOM 333 H2 TIP3W1454 8.551 19.202 8.586 1.00 0.00 WT1 H
+ATOM 334 OH2 TIP3W1455 7.534 23.313 22.010 1.00 0.00 WT1 O
+ATOM 335 H1 TIP3W1455 7.309 22.777 22.738 1.00 0.00 WT1 H
+ATOM 336 H2 TIP3W1455 6.697 23.403 21.532 1.00 0.00 WT1 H
+ATOM 337 OH2 TIP3W1457 13.340 13.560 16.477 1.00 0.00 WT1 O
+ATOM 338 H1 TIP3W1457 13.400 13.568 15.542 1.00 0.00 WT1 H
+ATOM 339 H2 TIP3W1457 12.852 14.406 16.633 1.00 0.00 WT1 H
+ATOM 340 OH2 TIP3W1458 8.344 7.845 20.429 1.00 0.00 WT1 O
+ATOM 341 H1 TIP3W1458 8.479 8.292 21.236 1.00 0.00 WT1 H
+ATOM 342 H2 TIP3W1458 9.102 8.059 19.900 1.00 0.00 WT1 H
+ATOM 343 OH2 TIP3W1474 6.901 21.557 9.326 1.00 0.00 WT1 O
+ATOM 344 H1 TIP3W1474 7.410 20.744 9.384 1.00 0.00 WT1 H
+ATOM 345 H2 TIP3W1474 7.474 22.077 8.759 1.00 0.00 WT1 H
+ATOM 346 OH2 TIP3W1494 14.403 7.815 15.212 1.00 0.00 WT1 O
+ATOM 347 H1 TIP3W1494 13.532 8.206 14.911 1.00 0.00 WT1 H
+ATOM 348 H2 TIP3W1494 14.885 7.681 14.373 1.00 0.00 WT1 H
+ATOM 349 OH2 TIP3W1497 6.857 11.138 6.829 1.00 0.00 WT1 O
+ATOM 350 H1 TIP3W1497 6.107 11.750 6.800 1.00 0.00 WT1 H
+ATOM 351 H2 TIP3W1497 6.480 10.387 6.353 1.00 0.00 WT1 H
+ATOM 352 OH2 TIP3W1512 10.309 21.500 11.481 1.00 0.00 WT1 O
+ATOM 353 H1 TIP3W1512 11.014 20.928 11.185 1.00 0.00 WT1 H
+ATOM 354 H2 TIP3W1512 9.595 20.961 11.183 1.00 0.00 WT1 H
+ATOM 355 OH2 TIP3W1532 13.235 22.943 15.633 1.00 0.00 WT1 O
+ATOM 356 H1 TIP3W1532 12.613 22.525 16.194 1.00 0.00 WT1 H
+ATOM 357 H2 TIP3W1532 14.027 22.981 16.180 1.00 0.00 WT1 H
+ATOM 358 OH2 TIP3W1559 6.818 20.066 20.150 1.00 0.00 WT1 O
+ATOM 359 H1 TIP3W1559 7.686 20.067 20.626 1.00 0.00 WT1 H
+ATOM 360 H2 TIP3W1559 6.969 19.869 19.212 1.00 0.00 WT1 H
+ATOM 361 OH2 TIP3W1611 7.975 20.030 22.745 1.00 0.00 WT1 O
+ATOM 362 H1 TIP3W1611 8.632 20.654 22.435 1.00 0.00 WT1 H
+ATOM 363 H2 TIP3W1611 7.441 20.490 23.501 1.00 0.00 WT1 H
+ATOM 364 OH2 TIP3W1707 12.113 0.921 4.942 1.00 0.00 WT1 O
+ATOM 365 H1 TIP3W1707 12.819 0.635 5.562 1.00 0.00 WT1 H
+ATOM 366 H2 TIP3W1707 11.814 1.896 5.223 1.00 0.00 WT1 H
+ATOM 367 OH2 TIP3W1723 9.197 4.375 15.964 1.00 0.00 WT1 O
+ATOM 368 H1 TIP3W1723 9.163 3.590 15.387 1.00 0.00 WT1 H
+ATOM 369 H2 TIP3W1723 8.516 4.167 16.604 1.00 0.00 WT1 H
+ATOM 370 OH2 TIP3W1725 2.421 3.775 5.058 1.00 0.00 WT1 O
+ATOM 371 H1 TIP3W1725 2.684 2.934 4.652 1.00 0.00 WT1 H
+ATOM 372 H2 TIP3W1725 3.219 4.340 5.048 1.00 0.00 WT1 H
+ATOM 373 OH2 TIP3W1729 6.794 6.875 22.997 1.00 0.00 WT1 O
+ATOM 374 H1 TIP3W1729 7.166 7.815 23.093 1.00 0.00 WT1 H
+ATOM 375 H2 TIP3W1729 5.834 7.029 23.036 1.00 0.00 WT1 H
+ATOM 376 OH2 TIP3W1730 11.518 2.141 14.835 1.00 0.00 WT1 O
+ATOM 377 H1 TIP3W1730 11.356 2.769 14.101 1.00 0.00 WT1 H
+ATOM 378 H2 TIP3W1730 12.345 1.727 14.583 1.00 0.00 WT1 H
+ATOM 379 OH2 TIP3W1733 3.174 1.584 16.976 1.00 0.00 WT1 O
+ATOM 380 H1 TIP3W1733 2.370 2.077 16.810 1.00 0.00 WT1 H
+ATOM 381 H2 TIP3W1733 3.270 0.961 16.252 1.00 0.00 WT1 H
+ATOM 382 OH2 TIP3W1746 10.848 10.071 18.631 1.00 0.00 WT1 O
+ATOM 383 H1 TIP3W1746 10.345 10.477 17.907 1.00 0.00 WT1 H
+ATOM 384 H2 TIP3W1746 11.663 10.551 18.638 1.00 0.00 WT1 H
+ATOM 385 OH2 TIP3W1752 12.069 8.766 23.082 1.00 0.00 WT1 O
+ATOM 386 H1 TIP3W1752 12.023 9.290 23.888 1.00 0.00 WT1 H
+ATOM 387 H2 TIP3W1752 11.590 7.956 23.400 1.00 0.00 WT1 H
+ATOM 388 OH2 TIP3W1764 5.141 1.611 0.499 1.00 0.00 WT1 O
+ATOM 389 H1 TIP3W1764 4.697 1.110 1.234 1.00 0.00 WT1 H
+ATOM 390 H2 TIP3W1764 6.031 1.302 0.586 1.00 0.00 WT1 H
+ATOM 391 OH2 TIP3W1771 2.509 3.505 12.910 1.00 0.00 WT1 O
+ATOM 392 H1 TIP3W1771 2.114 4.138 12.315 1.00 0.00 WT1 H
+ATOM 393 H2 TIP3W1771 2.715 2.712 12.383 1.00 0.00 WT1 H
+ATOM 394 OH2 TIP3W1773 14.354 1.352 14.004 1.00 0.00 WT1 O
+ATOM 395 H1 TIP3W1773 14.694 0.623 14.565 1.00 0.00 WT1 H
+ATOM 396 H2 TIP3W1773 14.573 2.195 14.426 1.00 0.00 WT1 H
+ATOM 397 OH2 TIP3W1788 14.578 23.489 17.850 1.00 0.00 WT1 O
+ATOM 398 H1 TIP3W1788 15.476 23.267 17.861 1.00 0.00 WT1 H
+ATOM 399 H2 TIP3W1788 14.359 23.484 18.771 1.00 0.00 WT1 H
+ATOM 400 OH2 TIP3W1789 5.461 6.754 1.943 1.00 0.00 WT1 O
+ATOM 401 H1 TIP3W1789 6.412 6.627 2.018 1.00 0.00 WT1 H
+ATOM 402 H2 TIP3W1789 5.209 5.956 1.434 1.00 0.00 WT1 H
+ATOM 403 OH2 TIP3W1795 14.101 1.902 22.316 1.00 0.00 WT1 O
+ATOM 404 H1 TIP3W1795 14.886 2.398 22.002 1.00 0.00 WT1 H
+ATOM 405 H2 TIP3W1795 14.108 1.041 21.813 1.00 0.00 WT1 H
+ATOM 406 OH2 TIP3W1813 6.142 11.858 16.052 1.00 0.00 WT1 O
+ATOM 407 H1 TIP3W1813 5.762 12.642 15.675 1.00 0.00 WT1 H
+ATOM 408 H2 TIP3W1813 5.566 11.146 15.661 1.00 0.00 WT1 H
+ATOM 409 OH2 TIP3W1814 11.187 19.104 18.681 1.00 0.00 WT1 O
+ATOM 410 H1 TIP3W1814 12.029 18.566 18.863 1.00 0.00 WT1 H
+ATOM 411 H2 TIP3W1814 10.574 18.773 19.364 1.00 0.00 WT1 H
+ATOM 412 OH2 TIP3W1829 11.780 13.509 0.983 1.00 0.00 WT1 O
+ATOM 413 H1 TIP3W1829 12.311 13.422 1.794 1.00 0.00 WT1 H
+ATOM 414 H2 TIP3W1829 12.379 13.816 0.300 1.00 0.00 WT1 H
+ATOM 415 OH2 TIP3W1830 13.410 13.796 3.206 1.00 0.00 WT1 O
+ATOM 416 H1 TIP3W1830 12.860 13.342 3.952 1.00 0.00 WT1 H
+ATOM 417 H2 TIP3W1830 14.378 13.624 3.486 1.00 0.00 WT1 H
+ATOM 418 OH2 TIP3W1831 7.314 0.228 9.152 1.00 0.00 WT1 O
+ATOM 419 H1 TIP3W1831 7.447 0.196 8.157 1.00 0.00 WT1 H
+ATOM 420 H2 TIP3W1831 8.219 0.336 9.426 1.00 0.00 WT1 H
+ATOM 421 OH2 TIP3W1853 0.289 10.538 13.468 1.00 0.00 WT1 O
+ATOM 422 H1 TIP3W1853 0.286 10.937 12.602 1.00 0.00 WT1 H
+ATOM 423 H2 TIP3W1853 1.262 10.357 13.669 1.00 0.00 WT1 H
+ATOM 424 OH2 TIP3W1856 12.440 12.407 5.370 1.00 0.00 WT1 O
+ATOM 425 H1 TIP3W1856 11.652 11.887 5.105 1.00 0.00 WT1 H
+ATOM 426 H2 TIP3W1856 12.893 11.867 5.977 1.00 0.00 WT1 H
+ATOM 427 OH2 TIP3W1871 6.968 11.629 2.353 1.00 0.00 WT1 O
+ATOM 428 H1 TIP3W1871 6.575 10.896 1.807 1.00 0.00 WT1 H
+ATOM 429 H2 TIP3W1871 7.083 12.290 1.590 1.00 0.00 WT1 H
+ATOM 430 OH2 TIP3W1873 13.533 10.550 7.160 1.00 0.00 WT1 O
+ATOM 431 H1 TIP3W1873 12.608 10.309 7.490 1.00 0.00 WT1 H
+ATOM 432 H2 TIP3W1873 14.008 10.940 7.925 1.00 0.00 WT1 H
+ATOM 433 OH2 TIP3W1874 13.043 18.831 22.933 1.00 0.00 WT1 O
+ATOM 434 H1 TIP3W1874 13.439 17.936 22.986 1.00 0.00 WT1 H
+ATOM 435 H2 TIP3W1874 12.139 18.764 23.145 1.00 0.00 WT1 H
+ATOM 436 OH2 TIP3W1894 11.706 15.811 16.829 1.00 0.00 WT1 O
+ATOM 437 H1 TIP3W1894 10.892 16.347 16.590 1.00 0.00 WT1 H
+ATOM 438 H2 TIP3W1894 12.344 16.466 17.162 1.00 0.00 WT1 H
+ATOM 439 OH2 TIP3W1911 11.642 19.030 4.866 1.00 0.00 WT1 O
+ATOM 440 H1 TIP3W1911 10.752 18.786 5.209 1.00 0.00 WT1 H
+ATOM 441 H2 TIP3W1911 11.534 19.147 3.897 1.00 0.00 WT1 H
+ATOM 442 OH2 TIP3W1912 13.550 21.522 9.565 1.00 0.00 WT1 O
+ATOM 443 H1 TIP3W1912 13.279 21.744 8.655 1.00 0.00 WT1 H
+ATOM 444 H2 TIP3W1912 13.859 22.419 9.914 1.00 0.00 WT1 H
+ATOM 445 OH2 TIP3W1914 12.001 20.877 14.108 1.00 0.00 WT1 O
+ATOM 446 H1 TIP3W1914 12.060 21.566 14.774 1.00 0.00 WT1 H
+ATOM 447 H2 TIP3W1914 11.186 21.104 13.629 1.00 0.00 WT1 H
+ATOM 448 OH2 TIP3W1915 12.814 17.906 7.383 1.00 0.00 WT1 O
+ATOM 449 H1 TIP3W1915 13.379 17.410 6.688 1.00 0.00 WT1 H
+ATOM 450 H2 TIP3W1915 11.963 17.994 6.954 1.00 0.00 WT1 H
+ATOM 451 OH2 TIP3W1952 15.989 19.751 4.862 1.00 0.00 WT1 O
+ATOM 452 H1 TIP3W1952 15.952 20.632 4.460 1.00 0.00 WT1 H
+ATOM 453 H2 TIP3W1952 15.557 19.210 4.188 1.00 0.00 WT1 H
+ATOM 454 OH2 TIP3W2123 10.963 1.737 11.790 1.00 0.00 WT1 O
+ATOM 455 H1 TIP3W2123 10.319 2.240 11.334 1.00 0.00 WT1 H
+ATOM 456 H2 TIP3W2123 11.709 2.167 11.210 1.00 0.00 WT1 H
+ATOM 457 OH2 TIP3W2163 5.526 8.369 14.858 1.00 0.00 WT1 O
+ATOM 458 H1 TIP3W2163 4.950 8.218 14.072 1.00 0.00 WT1 H
+ATOM 459 H2 TIP3W2163 4.945 8.919 15.363 1.00 0.00 WT1 H
+ATOM 460 OH2 TIP3W2165 14.776 4.939 12.443 1.00 0.00 WT1 O
+ATOM 461 H1 TIP3W2165 14.636 5.952 12.252 1.00 0.00 WT1 H
+ATOM 462 H2 TIP3W2165 13.865 4.712 12.604 1.00 0.00 WT1 H
+ATOM 463 OH2 TIP3W2167 7.529 4.508 1.396 1.00 0.00 WT1 O
+ATOM 464 H1 TIP3W2167 8.313 4.582 0.857 1.00 0.00 WT1 H
+ATOM 465 H2 TIP3W2167 6.783 4.511 0.768 1.00 0.00 WT1 H
+ATOM 466 OH2 TIP3W2172 11.435 0.836 22.059 1.00 0.00 WT1 O
+ATOM 467 H1 TIP3W2172 11.858 0.103 21.657 1.00 0.00 WT1 H
+ATOM 468 H2 TIP3W2172 12.219 1.281 22.508 1.00 0.00 WT1 H
+ATOM 469 OH2 TIP3W2227 11.200 4.151 3.471 1.00 0.00 WT1 O
+ATOM 470 H1 TIP3W2227 12.053 4.360 3.928 1.00 0.00 WT1 H
+ATOM 471 H2 TIP3W2227 10.572 4.426 4.138 1.00 0.00 WT1 H
+ATOM 472 OH2 TIP3W2231 4.884 4.081 13.713 1.00 0.00 WT1 O
+ATOM 473 H1 TIP3W2231 4.970 4.746 14.373 1.00 0.00 WT1 H
+ATOM 474 H2 TIP3W2231 3.932 3.975 13.593 1.00 0.00 WT1 H
+ATOM 475 OH2 TIP3W2244 13.867 4.624 3.954 1.00 0.00 WT1 O
+ATOM 476 H1 TIP3W2244 14.067 4.641 4.904 1.00 0.00 WT1 H
+ATOM 477 H2 TIP3W2244 14.122 5.494 3.648 1.00 0.00 WT1 H
+ATOM 478 OH2 TIP3W2270 3.174 11.159 5.954 1.00 0.00 WT1 O
+ATOM 479 H1 TIP3W2270 3.904 11.073 5.352 1.00 0.00 WT1 H
+ATOM 480 H2 TIP3W2270 3.204 12.104 6.129 1.00 0.00 WT1 H
+ATOM 481 OH2 TIP3W2272 12.922 2.911 17.412 1.00 0.00 WT1 O
+ATOM 482 H1 TIP3W2272 12.421 2.431 18.089 1.00 0.00 WT1 H
+ATOM 483 H2 TIP3W2272 12.240 2.996 16.701 1.00 0.00 WT1 H
+ATOM 484 OH2 TIP3W2277 13.644 7.961 20.946 1.00 0.00 WT1 O
+ATOM 485 H1 TIP3W2277 13.183 7.158 20.680 1.00 0.00 WT1 H
+ATOM 486 H2 TIP3W2277 13.018 8.315 21.687 1.00 0.00 WT1 H
+ATOM 487 OH2 TIP3W2280 6.612 3.396 17.042 1.00 0.00 WT1 O
+ATOM 488 H1 TIP3W2280 6.138 2.987 17.830 1.00 0.00 WT1 H
+ATOM 489 H2 TIP3W2280 6.248 2.883 16.306 1.00 0.00 WT1 H
+ATOM 490 OH2 TIP3W2288 3.628 15.453 9.684 1.00 0.00 WT1 O
+ATOM 491 H1 TIP3W2288 3.604 16.368 9.365 1.00 0.00 WT1 H
+ATOM 492 H2 TIP3W2288 3.266 15.478 10.592 1.00 0.00 WT1 H
+ATOM 493 OH2 TIP3W2293 1.641 18.264 8.136 1.00 0.00 WT1 O
+ATOM 494 H1 TIP3W2293 0.755 18.490 8.008 1.00 0.00 WT1 H
+ATOM 495 H2 TIP3W2293 1.981 19.003 8.665 1.00 0.00 WT1 H
+ATOM 496 OH2 TIP3W2295 8.716 0.819 21.571 1.00 0.00 WT1 O
+ATOM 497 H1 TIP3W2295 8.359 0.399 22.460 1.00 0.00 WT1 H
+ATOM 498 H2 TIP3W2295 9.622 1.046 21.690 1.00 0.00 WT1 H
+ATOM 499 OH2 TIP3W2309 14.269 10.001 4.369 1.00 0.00 WT1 O
+ATOM 500 H1 TIP3W2309 14.973 10.528 4.752 1.00 0.00 WT1 H
+ATOM 501 H2 TIP3W2309 13.690 9.859 5.092 1.00 0.00 WT1 H
+ATOM 502 OH2 TIP3W2311 14.691 13.817 9.050 1.00 0.00 WT1 O
+ATOM 503 H1 TIP3W2311 15.162 14.372 8.385 1.00 0.00 WT1 H
+ATOM 504 H2 TIP3W2311 13.821 14.250 9.113 1.00 0.00 WT1 H
+ATOM 505 OH2 TIP3W2316 12.273 5.424 10.404 1.00 0.00 WT1 O
+ATOM 506 H1 TIP3W2316 12.384 4.472 10.210 1.00 0.00 WT1 H
+ATOM 507 H2 TIP3W2316 13.153 5.714 10.501 1.00 0.00 WT1 H
+ATOM 508 OH2 TIP3W2317 3.759 13.253 15.143 1.00 0.00 WT1 O
+ATOM 509 H1 TIP3W2317 3.552 13.546 16.059 1.00 0.00 WT1 H
+ATOM 510 H2 TIP3W2317 2.862 13.321 14.740 1.00 0.00 WT1 H
+ATOM 511 OH2 TIP3W2335 7.319 14.432 15.015 1.00 0.00 WT1 O
+ATOM 512 H1 TIP3W2335 7.633 15.319 14.742 1.00 0.00 WT1 H
+ATOM 513 H2 TIP3W2335 7.702 14.303 15.933 1.00 0.00 WT1 H
+ATOM 514 OH2 TIP3W2357 3.117 11.819 10.070 1.00 0.00 WT1 O
+ATOM 515 H1 TIP3W2357 3.490 12.496 9.523 1.00 0.00 WT1 H
+ATOM 516 H2 TIP3W2357 3.937 11.583 10.539 1.00 0.00 WT1 H
+ATOM 517 OH2 TIP3W2358 0.549 16.393 10.366 1.00 0.00 WT1 O
+ATOM 518 H1 TIP3W2358 1.292 16.322 11.016 1.00 0.00 WT1 H
+ATOM 519 H2 TIP3W2358 0.665 17.283 9.972 1.00 0.00 WT1 H
+ATOM 520 OH2 TIP3W2607 10.050 5.605 5.758 1.00 0.00 WT1 O
+ATOM 521 H1 TIP3W2607 10.155 6.554 5.556 1.00 0.00 WT1 H
+ATOM 522 H2 TIP3W2607 10.797 5.389 6.309 1.00 0.00 WT1 H
+ATOM 523 OH2 TIP3W2608 7.881 3.518 5.700 1.00 0.00 WT1 O
+ATOM 524 H1 TIP3W2608 8.550 4.225 5.812 1.00 0.00 WT1 H
+ATOM 525 H2 TIP3W2608 7.070 3.834 6.169 1.00 0.00 WT1 H
+ATOM 526 OH2 TIP3W2634 8.559 3.515 11.535 1.00 0.00 WT1 O
+ATOM 527 H1 TIP3W2634 8.435 4.298 12.155 1.00 0.00 WT1 H
+ATOM 528 H2 TIP3W2634 7.955 2.899 11.952 1.00 0.00 WT1 H
+ATOM 529 OH2 TIP3W2669 13.039 10.511 11.777 1.00 0.00 WT1 O
+ATOM 530 H1 TIP3W2669 13.825 10.589 11.282 1.00 0.00 WT1 H
+ATOM 531 H2 TIP3W2669 12.883 11.473 11.916 1.00 0.00 WT1 H
+ATOM 532 OH2 TIP3W2691 15.316 3.976 15.033 1.00 0.00 WT1 O
+ATOM 533 H1 TIP3W2691 15.353 4.265 14.065 1.00 0.00 WT1 H
+ATOM 534 H2 TIP3W2691 14.585 4.533 15.460 1.00 0.00 WT1 H
+ATOM 535 OH2 TIP3W2694 8.400 5.552 13.557 1.00 0.00 WT1 O
+ATOM 536 H1 TIP3W2694 9.070 5.240 14.185 1.00 0.00 WT1 H
+ATOM 537 H2 TIP3W2694 7.739 5.945 14.163 1.00 0.00 WT1 H
+ATOM 538 OH2 TIP3W2714 4.281 21.161 19.066 1.00 0.00 WT1 O
+ATOM 539 H1 TIP3W2714 5.157 21.058 19.381 1.00 0.00 WT1 H
+ATOM 540 H2 TIP3W2714 4.169 22.110 18.904 1.00 0.00 WT1 H
+ATOM 541 OH2 TIP3W2732 13.870 7.474 12.187 1.00 0.00 WT1 O
+ATOM 542 H1 TIP3W2732 13.209 8.073 12.633 1.00 0.00 WT1 H
+ATOM 543 H2 TIP3W2732 14.457 8.029 11.659 1.00 0.00 WT1 H
+ATOM 544 OH2 TIP3W2735 13.600 17.247 9.998 1.00 0.00 WT1 O
+ATOM 545 H1 TIP3W2735 13.256 16.385 10.107 1.00 0.00 WT1 H
+ATOM 546 H2 TIP3W2735 13.616 17.337 9.047 1.00 0.00 WT1 H
+ATOM 547 OH2 TIP3W2758 10.099 18.083 21.099 1.00 0.00 WT1 O
+ATOM 548 H1 TIP3W2758 10.453 17.258 20.699 1.00 0.00 WT1 H
+ATOM 549 H2 TIP3W2758 9.398 17.746 21.690 1.00 0.00 WT1 H
+ATOM 550 OH2 TIP3W2778 15.465 7.955 17.814 1.00 0.00 WT1 O
+ATOM 551 H1 TIP3W2778 15.150 7.979 16.932 1.00 0.00 WT1 H
+ATOM 552 H2 TIP3W2778 14.706 7.563 18.306 1.00 0.00 WT1 H
+ATOM 553 OH2 TIP3W3010 9.016 4.086 8.814 1.00 0.00 WT1 O
+ATOM 554 H1 TIP3W3010 9.377 5.001 8.813 1.00 0.00 WT1 H
+ATOM 555 H2 TIP3W3010 8.726 3.741 9.661 1.00 0.00 WT1 H
+ATOM 556 OH2 TIP3W3072 6.439 5.144 7.455 1.00 0.00 WT1 O
+ATOM 557 H1 TIP3W3072 7.310 4.836 7.837 1.00 0.00 WT1 H
+ATOM 558 H2 TIP3W3072 6.121 5.819 8.116 1.00 0.00 WT1 H
+ATOM 559 OH2 TIP3W3096 13.331 4.563 23.416 1.00 0.00 WT1 O
+ATOM 560 H1 TIP3W3096 14.315 4.772 23.360 1.00 0.00 WT1 H
+ATOM 561 H2 TIP3W3096 13.215 3.678 23.134 1.00 0.00 WT1 H
+ATOM 562 OH2 TIP3W3134 11.401 21.480 17.136 1.00 0.00 WT1 O
+ATOM 563 H1 TIP3W3134 11.522 22.112 17.856 1.00 0.00 WT1 H
+ATOM 564 H2 TIP3W3134 11.255 20.672 17.636 1.00 0.00 WT1 H
+ATOM 565 OH2 TIP3W3173 12.076 4.645 13.566 1.00 0.00 WT1 O
+ATOM 566 H1 TIP3W3173 12.000 5.522 13.148 1.00 0.00 WT1 H
+ATOM 567 H2 TIP3W3173 11.827 4.835 14.443 1.00 0.00 WT1 H
+ATOM 568 OH2 TIP3W3177 9.131 1.075 15.841 1.00 0.00 WT1 O
+ATOM 569 H1 TIP3W3177 9.948 1.463 15.412 1.00 0.00 WT1 H
+ATOM 570 H2 TIP3W3177 9.113 0.161 15.464 1.00 0.00 WT1 H
+ATOM 571 OH2 TIP3W3196 7.694 8.338 16.687 1.00 0.00 WT1 O
+ATOM 572 H1 TIP3W3196 7.323 8.081 17.508 1.00 0.00 WT1 H
+ATOM 573 H2 TIP3W3196 6.991 8.476 16.072 1.00 0.00 WT1 H
+ATOM 574 OH2 TIP3W3218 11.912 13.212 19.726 1.00 0.00 WT1 O
+ATOM 575 H1 TIP3W3218 12.854 13.225 19.881 1.00 0.00 WT1 H
+ATOM 576 H2 TIP3W3218 11.504 12.764 20.555 1.00 0.00 WT1 H
+ATOM 577 OH2 TIP3W3223 5.115 19.820 22.632 1.00 0.00 WT1 O
+ATOM 578 H1 TIP3W3223 4.270 19.752 22.092 1.00 0.00 WT1 H
+ATOM 579 H2 TIP3W3223 5.800 19.585 21.996 1.00 0.00 WT1 H
+ATOM 580 OH2 TIP3W3303 14.170 23.047 20.478 1.00 0.00 WT1 O
+ATOM 581 H1 TIP3W3303 15.015 22.883 20.902 1.00 0.00 WT1 H
+ATOM 582 H2 TIP3W3303 13.757 22.177 20.579 1.00 0.00 WT1 H
+ATOM 583 OH2 TIP3W3304 13.163 20.489 20.636 1.00 0.00 WT1 O
+ATOM 584 H1 TIP3W3304 12.450 20.171 20.104 1.00 0.00 WT1 H
+ATOM 585 H2 TIP3W3304 13.220 19.875 21.393 1.00 0.00 WT1 H
+ATOM 586 OH2 TIP3W3447 11.316 2.273 7.956 1.00 0.00 WT1 O
+ATOM 587 H1 TIP3W3447 11.391 1.358 8.151 1.00 0.00 WT1 H
+ATOM 588 H2 TIP3W3447 10.423 2.479 8.181 1.00 0.00 WT1 H
+ATOM 589 OH2 TIP3W3545 10.407 6.649 8.888 1.00 0.00 WT1 O
+ATOM 590 H1 TIP3W3545 9.810 7.215 9.386 1.00 0.00 WT1 H
+ATOM 591 H2 TIP3W3545 11.077 6.417 9.547 1.00 0.00 WT1 H
+ATOM 592 OH2 TIP3W3596 7.574 19.420 4.717 1.00 0.00 WT1 O
+ATOM 593 H1 TIP3W3596 7.704 19.335 3.679 1.00 0.00 WT1 H
+ATOM 594 H2 TIP3W3596 7.970 20.255 4.957 1.00 0.00 WT1 H
+ATOM 595 OH2 TIP3W3650 12.254 19.676 2.229 1.00 0.00 WT1 O
+ATOM 596 H1 TIP3W3650 12.678 20.538 2.358 1.00 0.00 WT1 H
+ATOM 597 H2 TIP3W3650 12.115 19.535 1.250 1.00 0.00 WT1 H
+ATOM 598 OH2 TIP3W3660 14.036 7.730 6.644 1.00 0.00 WT1 O
+ATOM 599 H1 TIP3W3660 14.358 7.138 7.346 1.00 0.00 WT1 H
+ATOM 600 H2 TIP3W3660 13.886 8.589 7.123 1.00 0.00 WT1 H
+ATOM 601 OH2 TIP3W3977 8.900 7.310 11.290 1.00 0.00 WT1 O
+ATOM 602 H1 TIP3W3977 8.739 6.706 12.078 1.00 0.00 WT1 H
+ATOM 603 H2 TIP3W3977 9.555 8.003 11.531 1.00 0.00 WT1 H
+ATOM 604 OH2 TIP3W4012 9.495 14.416 1.979 1.00 0.00 WT1 O
+ATOM 605 H1 TIP3W4012 10.354 14.203 1.548 1.00 0.00 WT1 H
+ATOM 606 H2 TIP3W4012 9.165 13.566 2.099 1.00 0.00 WT1 H
+ATOM 607 OH2 TIP3W4036 13.605 5.353 19.280 1.00 0.00 WT1 O
+ATOM 608 H1 TIP3W4036 13.658 4.527 18.812 1.00 0.00 WT1 H
+ATOM 609 H2 TIP3W4036 12.688 5.367 19.516 1.00 0.00 WT1 H
+ATOM 610 OH2 TIP3W4074 7.334 17.973 7.090 1.00 0.00 WT1 O
+ATOM 611 H1 TIP3W4074 7.571 18.390 6.200 1.00 0.00 WT1 H
+ATOM 612 H2 TIP3W4074 6.533 17.444 6.885 1.00 0.00 WT1 H
+ATOM 613 OH2 TIP3W4077 13.912 11.040 17.383 1.00 0.00 WT1 O
+ATOM 614 H1 TIP3W4077 13.913 10.932 16.423 1.00 0.00 WT1 H
+ATOM 615 H2 TIP3W4077 13.612 11.935 17.518 1.00 0.00 WT1 H
+ATOM 616 OH2 TIP3W4501 14.682 11.334 14.388 1.00 0.00 WT1 O
+ATOM 617 H1 TIP3W4501 15.236 11.941 13.876 1.00 0.00 WT1 H
+ATOM 618 H2 TIP3W4501 14.266 10.683 13.763 1.00 0.00 WT1 H
+ATOM 619 OH2 TIP3W4515 12.414 9.004 13.909 1.00 0.00 WT1 O
+ATOM 620 H1 TIP3W4515 11.523 8.931 14.184 1.00 0.00 WT1 H
+ATOM 621 H2 TIP3W4515 12.375 9.766 13.286 1.00 0.00 WT1 H
+ATOM 622 OH2 TIP3W4809 15.898 3.293 1.648 1.00 0.00 WT1 O
+ATOM 623 H1 TIP3W4809 15.837 3.977 2.359 1.00 0.00 WT1 H
+ATOM 624 H2 TIP3W4809 15.065 2.796 1.789 1.00 0.00 WT1 H
+ATOM 625 OH2 TIP3W6240 3.080 0.949 11.788 1.00 0.00 WT1 O
+ATOM 626 H1 TIP3W6240 3.690 0.500 11.172 1.00 0.00 WT1 H
+ATOM 627 H2 TIP3W6240 2.196 0.556 11.641 1.00 0.00 WT1 H
+ATOM 628 OH2 TIP3W6671 0.897 12.813 20.940 1.00 0.00 WT1 O
+ATOM 629 H1 TIP3W6671 1.234 13.577 21.489 1.00 0.00 WT1 H
+ATOM 630 H2 TIP3W6671 1.110 12.083 21.442 1.00 0.00 WT1 H
+ATOM 631 OH2 TIP3W7222 6.255 9.802 0.364 1.00 0.00 WT1 O
+ATOM 632 H1 TIP3W7222 6.954 9.121 0.671 1.00 0.00 WT1 H
+ATOM 633 H2 TIP3W7222 5.459 9.264 0.196 1.00 0.00 WT1 H
+ATOM 634 OH2 TIP3W7479 6.140 3.669 3.704 1.00 0.00 WT1 O
+ATOM 635 H1 TIP3W7479 6.732 3.837 2.949 1.00 0.00 WT1 H
+ATOM 636 H2 TIP3W7479 6.807 3.408 4.378 1.00 0.00 WT1 H
+ATOM 637 OH2 TIP3W7510 5.150 11.685 11.994 1.00 0.00 WT1 O
+ATOM 638 H1 TIP3W7510 5.312 12.641 12.020 1.00 0.00 WT1 H
+ATOM 639 H2 TIP3W7510 5.614 11.405 12.778 1.00 0.00 WT1 H
+ATOM 640 OH2 TIP3W7563 5.196 19.304 15.315 1.00 0.00 WT1 O
+ATOM 641 H1 TIP3W7563 5.227 20.213 14.942 1.00 0.00 WT1 H
+ATOM 642 H2 TIP3W7563 5.252 18.720 14.569 1.00 0.00 WT1 H
+ATOM 643 OH2 TIP3W7630 2.179 13.464 7.177 1.00 0.00 WT1 O
+ATOM 644 H1 TIP3W7630 2.719 14.061 7.737 1.00 0.00 WT1 H
+ATOM 645 H2 TIP3W7630 1.640 13.021 7.843 1.00 0.00 WT1 H
+ATOM 646 OH2 TIP3W7631 1.926 21.439 17.027 1.00 0.00 WT1 O
+ATOM 647 H1 TIP3W7631 2.672 21.817 16.545 1.00 0.00 WT1 H
+ATOM 648 H2 TIP3W7631 2.398 20.912 17.662 1.00 0.00 WT1 H
+ATOM 649 OH2 TIP3W7707 0.688 2.781 7.114 1.00 0.00 WT1 O
+ATOM 650 H1 TIP3W7707 1.488 3.190 6.703 1.00 0.00 WT1 H
+ATOM 651 H2 TIP3W7707 0.053 3.429 6.930 1.00 0.00 WT1 H
+ATOM 652 OH2 TIP3W7985 0.449 7.366 9.140 1.00 0.00 WT1 O
+ATOM 653 H1 TIP3W7985 0.202 6.479 9.095 1.00 0.00 WT1 H
+ATOM 654 H2 TIP3W7985 0.796 7.563 8.256 1.00 0.00 WT1 H
+ATOM 655 OH2 TIP3W8023 0.913 12.320 0.937 1.00 0.00 WT1 O
+ATOM 656 H1 TIP3W8023 0.623 11.700 0.268 1.00 0.00 WT1 H
+ATOM 657 H2 TIP3W8023 1.290 11.784 1.628 1.00 0.00 WT1 H
+ATOM 658 OH2 TIP3W8029 7.889 16.997 14.360 1.00 0.00 WT1 O
+ATOM 659 H1 TIP3W8029 7.935 17.181 13.358 1.00 0.00 WT1 H
+ATOM 660 H2 TIP3W8029 8.602 17.562 14.734 1.00 0.00 WT1 H
+ATOM 661 OH2 TIP3W8046 3.230 22.882 11.736 1.00 0.00 WT1 O
+ATOM 662 H1 TIP3W8046 3.601 21.950 11.670 1.00 0.00 WT1 H
+ATOM 663 H2 TIP3W8046 2.861 22.992 10.853 1.00 0.00 WT1 H
+ATOM 664 OH2 TIP3W8064 4.620 22.335 7.130 1.00 0.00 WT1 O
+ATOM 665 H1 TIP3W8064 3.754 22.591 7.590 1.00 0.00 WT1 H
+ATOM 666 H2 TIP3W8064 5.178 22.349 7.907 1.00 0.00 WT1 H
+ATOM 667 OH2 TIP3W8068 1.124 22.962 13.514 1.00 0.00 WT1 O
+ATOM 668 H1 TIP3W8068 1.837 22.901 12.860 1.00 0.00 WT1 H
+ATOM 669 H2 TIP3W8068 0.685 23.799 13.310 1.00 0.00 WT1 H
+ATOM 670 OH2 TIP3W8364 8.561 10.924 16.881 1.00 0.00 WT1 O
+ATOM 671 H1 TIP3W8364 7.916 11.188 16.202 1.00 0.00 WT1 H
+ATOM 672 H2 TIP3W8364 8.309 10.008 17.123 1.00 0.00 WT1 H
+ATOM 673 OH2 TIP3W8403 4.751 19.009 2.814 1.00 0.00 WT1 O
+ATOM 674 H1 TIP3W8403 4.754 18.978 3.760 1.00 0.00 WT1 H
+ATOM 675 H2 TIP3W8403 5.300 18.306 2.612 1.00 0.00 WT1 H
+ATOM 676 OH2 TIP3W8411 3.406 0.117 14.493 1.00 0.00 WT1 O
+ATOM 677 H1 TIP3W8411 3.348 0.244 13.546 1.00 0.00 WT1 H
+ATOM 678 H2 TIP3W8411 4.378 0.190 14.724 1.00 0.00 WT1 H
+ATOM 679 OH2 TIP3W8425 2.278 3.922 1.200 1.00 0.00 WT1 O
+ATOM 680 H1 TIP3W8425 2.701 3.392 0.560 1.00 0.00 WT1 H
+ATOM 681 H2 TIP3W8425 1.556 3.406 1.415 1.00 0.00 WT1 H
+ATOM 682 OH2 TIP3W8441 6.246 21.216 13.564 1.00 0.00 WT1 O
+ATOM 683 H1 TIP3W8441 7.127 21.533 13.794 1.00 0.00 WT1 H
+ATOM 684 H2 TIP3W8441 5.802 22.075 13.455 1.00 0.00 WT1 H
+ATOM 685 OH2 TIP3W8466 5.348 15.459 5.988 1.00 0.00 WT1 O
+ATOM 686 H1 TIP3W8466 4.942 16.211 6.465 1.00 0.00 WT1 H
+ATOM 687 H2 TIP3W8466 4.964 14.679 6.422 1.00 0.00 WT1 H
+ATOM 688 OH2 TIP3W8468 1.312 13.577 13.829 1.00 0.00 WT1 O
+ATOM 689 H1 TIP3W8468 1.594 13.350 12.963 1.00 0.00 WT1 H
+ATOM 690 H2 TIP3W8468 0.905 14.443 13.634 1.00 0.00 WT1 H
+ATOM 691 OH2 TIP3W8491 10.395 21.375 22.397 1.00 0.00 WT1 O
+ATOM 692 H1 TIP3W8491 10.900 20.680 22.794 1.00 0.00 WT1 H
+ATOM 693 H2 TIP3W8491 10.682 22.154 22.828 1.00 0.00 WT1 H
+ATOM 694 OH2 TIP3W8528 6.013 16.085 3.326 1.00 0.00 WT1 O
+ATOM 695 H1 TIP3W8528 6.016 16.035 4.292 1.00 0.00 WT1 H
+ATOM 696 H2 TIP3W8528 5.249 15.516 3.046 1.00 0.00 WT1 H
+ATOM 697 OH2 TIP3W8534 2.184 22.110 9.500 1.00 0.00 WT1 O
+ATOM 698 H1 TIP3W8534 1.913 21.297 9.998 1.00 0.00 WT1 H
+ATOM 699 H2 TIP3W8534 1.389 22.233 8.964 1.00 0.00 WT1 H
+ATOM 700 OH2 TIP3W8536 3.207 13.979 17.772 1.00 0.00 WT1 O
+ATOM 701 H1 TIP3W8536 3.947 14.082 18.373 1.00 0.00 WT1 H
+ATOM 702 H2 TIP3W8536 2.585 14.685 17.921 1.00 0.00 WT1 H
+ATOM 703 OH2 TIP3W8548 13.639 16.098 5.269 1.00 0.00 WT1 O
+ATOM 704 H1 TIP3W8548 14.099 15.394 4.872 1.00 0.00 WT1 H
+ATOM 705 H2 TIP3W8548 12.755 15.724 5.343 1.00 0.00 WT1 H
+ATOM 706 OH2 TIP3W8556 1.981 16.635 18.663 1.00 0.00 WT1 O
+ATOM 707 H1 TIP3W8556 1.921 17.181 19.529 1.00 0.00 WT1 H
+ATOM 708 H2 TIP3W8556 2.656 17.117 18.156 1.00 0.00 WT1 H
+ATOM 709 OH2 TIP3W8760 13.457 20.491 6.545 1.00 0.00 WT1 O
+ATOM 710 H1 TIP3W8760 13.544 19.713 6.959 1.00 0.00 WT1 H
+ATOM 711 H2 TIP3W8760 13.199 20.170 5.601 1.00 0.00 WT1 H
+ATOM 712 OH2 TIP3W8780 3.438 8.099 0.316 1.00 0.00 WT1 O
+ATOM 713 H1 TIP3W8780 2.547 7.847 0.577 1.00 0.00 WT1 H
+ATOM 714 H2 TIP3W8780 3.889 7.775 1.093 1.00 0.00 WT1 H
+ATOM 715 OH2 TIP3W8801 9.016 15.690 9.485 1.00 0.00 WT1 O
+ATOM 716 H1 TIP3W8801 9.158 14.769 9.701 1.00 0.00 WT1 H
+ATOM 717 H2 TIP3W8801 8.537 15.554 8.652 1.00 0.00 WT1 H
+ATOM 718 OH2 TIP3W8822 1.562 6.536 12.239 1.00 0.00 WT1 O
+ATOM 719 H1 TIP3W8822 0.960 7.250 12.049 1.00 0.00 WT1 H
+ATOM 720 H2 TIP3W8822 1.197 5.827 11.553 1.00 0.00 WT1 H
+ATOM 721 OH2 TIP3W8829 1.314 9.385 7.173 1.00 0.00 WT1 O
+ATOM 722 H1 TIP3W8829 1.333 8.706 6.444 1.00 0.00 WT1 H
+ATOM 723 H2 TIP3W8829 2.056 9.953 6.980 1.00 0.00 WT1 H
+ATOM 724 OH2 TIP3W8843 7.572 0.420 3.478 1.00 0.00 WT1 O
+ATOM 725 H1 TIP3W8843 7.636 0.339 2.503 1.00 0.00 WT1 H
+ATOM 726 H2 TIP3W8843 6.628 0.234 3.530 1.00 0.00 WT1 H
+ATOM 727 OH2 TIP3W8845 1.133 7.080 5.078 1.00 0.00 WT1 O
+ATOM 728 H1 TIP3W8845 1.201 7.102 4.137 1.00 0.00 WT1 H
+ATOM 729 H2 TIP3W8845 0.358 6.549 5.302 1.00 0.00 WT1 H
+ATOM 730 OH2 TIP3W8865 11.515 22.342 4.827 1.00 0.00 WT1 O
+ATOM 731 H1 TIP3W8865 10.875 21.911 4.185 1.00 0.00 WT1 H
+ATOM 732 H2 TIP3W8865 11.205 21.919 5.694 1.00 0.00 WT1 H
+ATOM 733 OH2 TIP3W8869 5.279 5.755 11.457 1.00 0.00 WT1 O
+ATOM 734 H1 TIP3W8869 4.504 5.333 10.967 1.00 0.00 WT1 H
+ATOM 735 H2 TIP3W8869 5.564 4.986 12.019 1.00 0.00 WT1 H
+ATOM 736 OH2 TIP3W8887 8.890 21.041 16.070 1.00 0.00 WT1 O
+ATOM 737 H1 TIP3W8887 8.698 21.572 15.300 1.00 0.00 WT1 H
+ATOM 738 H2 TIP3W8887 9.800 21.340 16.244 1.00 0.00 WT1 H
+ATOM 739 OH2 TIP3W8895 6.000 11.283 22.324 1.00 0.00 WT1 O
+ATOM 740 H1 TIP3W8895 5.866 12.057 22.939 1.00 0.00 WT1 H
+ATOM 741 H2 TIP3W8895 5.863 11.634 21.452 1.00 0.00 WT1 H
+ATOM 742 OH2 TIP3W8905 7.834 14.408 7.527 1.00 0.00 WT1 O
+ATOM 743 H1 TIP3W8905 7.105 14.717 6.993 1.00 0.00 WT1 H
+ATOM 744 H2 TIP3W8905 8.194 13.714 6.926 1.00 0.00 WT1 H
+ATOM 745 OH2 TIP3W8931 5.667 11.812 19.542 1.00 0.00 WT1 O
+ATOM 746 H1 TIP3W8931 5.647 12.743 19.497 1.00 0.00 WT1 H
+ATOM 747 H2 TIP3W8931 5.889 11.629 18.618 1.00 0.00 WT1 H
+ATOM 748 OH2 TIP3W8932 12.997 18.576 15.207 1.00 0.00 WT1 O
+ATOM 749 H1 TIP3W8932 12.617 19.193 14.493 1.00 0.00 WT1 H
+ATOM 750 H2 TIP3W8932 13.582 19.163 15.737 1.00 0.00 WT1 H
+ATOM 751 OH2 TIP3W8935 0.675 11.574 10.952 1.00 0.00 WT1 O
+ATOM 752 H1 TIP3W8935 1.597 11.546 10.574 1.00 0.00 WT1 H
+ATOM 753 H2 TIP3W8935 0.265 12.150 10.339 1.00 0.00 WT1 H
+ATOM 754 OH2 TIP3W8949 8.782 17.187 2.362 1.00 0.00 WT1 O
+ATOM 755 H1 TIP3W8949 8.004 16.786 2.797 1.00 0.00 WT1 H
+ATOM 756 H2 TIP3W8949 9.140 16.422 1.970 1.00 0.00 WT1 H
+ATOM 757 OH2 TIP3W8956 2.113 6.516 21.893 1.00 0.00 WT1 O
+ATOM 758 H1 TIP3W8956 2.170 5.576 22.160 1.00 0.00 WT1 H
+ATOM 759 H2 TIP3W8956 2.446 6.949 22.707 1.00 0.00 WT1 H
+ATOM 760 OH2 TIP3W8977 2.583 16.123 12.046 1.00 0.00 WT1 O
+ATOM 761 H1 TIP3W8977 3.491 16.508 12.059 1.00 0.00 WT1 H
+ATOM 762 H2 TIP3W8977 2.312 16.312 12.887 1.00 0.00 WT1 H
+ATOM 763 OH2 TIP3W8988 2.246 20.883 4.995 1.00 0.00 WT1 O
+ATOM 764 H1 TIP3W8988 1.611 20.097 4.885 1.00 0.00 WT1 H
+ATOM 765 H2 TIP3W8988 3.079 20.473 5.195 1.00 0.00 WT1 H
+ATOM 766 OH2 TIP3W9082 8.156 17.564 11.520 1.00 0.00 WT1 O
+ATOM 767 H1 TIP3W9082 8.355 18.345 10.921 1.00 0.00 WT1 H
+ATOM 768 H2 TIP3W9082 8.334 16.820 10.874 1.00 0.00 WT1 H
+ATOM 769 OH2 TIP3W9096 2.915 14.197 3.393 1.00 0.00 WT1 O
+ATOM 770 H1 TIP3W9096 2.155 14.414 3.916 1.00 0.00 WT1 H
+ATOM 771 H2 TIP3W9096 2.719 13.333 3.011 1.00 0.00 WT1 H
+ATOM 772 OH2 TIP3W9226 8.578 0.832 6.351 1.00 0.00 WT1 O
+ATOM 773 H1 TIP3W9226 7.928 0.530 5.693 1.00 0.00 WT1 H
+ATOM 774 H2 TIP3W9226 8.563 1.801 6.335 1.00 0.00 WT1 H
+ATOM 775 OH2 TIP3W9241 7.287 10.172 13.815 1.00 0.00 WT1 O
+ATOM 776 H1 TIP3W9241 6.631 9.473 14.077 1.00 0.00 WT1 H
+ATOM 777 H2 TIP3W9241 8.119 9.669 13.852 1.00 0.00 WT1 H
+ATOM 778 OH2 TIP3W9250 3.347 10.487 19.814 1.00 0.00 WT1 O
+ATOM 779 H1 TIP3W9250 2.792 10.955 19.188 1.00 0.00 WT1 H
+ATOM 780 H2 TIP3W9250 4.264 10.639 19.456 1.00 0.00 WT1 H
+END
diff --git a/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/moltemplate_files/spce.lt b/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/moltemplate_files/spce.lt
new file mode 100644
index 000000000..019911c19
--- /dev/null
+++ b/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/moltemplate_files/spce.lt
@@ -0,0 +1,52 @@
+# file "spce.lt"
+#
+# H1 H2
+# \ /
+# O
+
+SPCE {
+
+ write_once("In Init") {
+ # -- Default styles (for solo "SPCE" water) --
+ units real
+ atom_style full
+ # (Hybrid force fields were not necessary but are used for portability.)
+ pair_style hybrid lj/charmm/coul/long 9.0 10.0 10.0
+ bond_style hybrid harmonic
+ angle_style hybrid harmonic
+ kspace_style pppm 0.0001
+ pair_modify mix arithmetic
+ }
+
+ write("Data Atoms") {
+ $atom:O $mol:. @atom:O -0.8476 0.0000000 0.00000 0.000000
+ $atom:H1 $mol:. @atom:H 0.4238 0.8164904 0.00000 0.5773590
+ $atom:H2 $mol:. @atom:H 0.4238 -0.8164904 0.00000 0.5773590
+ }
+
+ write_once("Data Masses") {
+ @atom:O 15.9994
+ @atom:H 1.008
+ }
+
+ write("Data Bonds") {
+ $bond:OH1 @bond:OH $atom:O $atom:H1
+ $bond:OH2 @bond:OH $atom:O $atom:H2
+ }
+
+ write("Data Angles") {
+ $angle:HOH @angle:HOH $atom:H1 $atom:O $atom:H2
+ }
+
+ write_once("In Settings") {
+ bond_coeff @bond:OH harmonic 1000.0 1.0
+ angle_coeff @angle:HOH harmonic 1000.0 109.47
+ pair_coeff @atom:O @atom:O lj/charmm/coul/long 0.1553 3.166
+ pair_coeff @atom:H @atom:H lj/charmm/coul/long 0.0 2.058
+ group spce type @atom:O @atom:H
+ fix fShakeSPCE spce shake 0.0001 10 100 b @bond:OH a @angle:HOH
+ # (Remember to "unfix" fShakeSPCE during minimization.)
+ }
+
+} # end of definition of "SPCE" water molecule type
+
diff --git a/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/moltemplate_files/system.lt b/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/moltemplate_files/system.lt
new file mode 100644
index 000000000..274d8aeb1
--- /dev/null
+++ b/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/moltemplate_files/system.lt
@@ -0,0 +1,16 @@
+import "spce.lt"
+
+wat = new SPCE [260]
+
+
+
+
+
+
+
+# Open up the PDB file to count the number of water molecules inside. (Or just
+# divide the number of atoms by 3). Put that in between the brackets ("[260]")
+#
+# The command above does not set the positions of the atoms.
+# So they will have to be loaded later from a PDB or an XYZ file.
+# (For example, using "moltemplate.sh -pdb solvate.pdb system.lt")
diff --git a/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/run.in.npt b/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/run.in.npt
new file mode 100644
index 000000000..4d8af42b5
--- /dev/null
+++ b/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/run.in.npt
@@ -0,0 +1,48 @@
+# PREREQUISITES:
+#
+# You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (Follow the instructions in README_setup.sh, or run it using ./README_sh.)
+
+# ------------------------------- Initialization Section --------------------
+
+include system.in.init
+
+# ------------------------------- Atom Definition Section -------------------
+
+read_data system.data
+
+# ------------------------------- Settings Section --------------------------
+
+include system.in.settings
+
+# ------------------------------- Run Section -------------------------------
+
+
+# -- minimization protocol --
+
+# Note: The minimization step is not necessary in this example. However
+# in general, it's always a good idea to minimize the system beforehand.
+# fShakeSPCE was defined in system.in.settings. It is incompatible with "minimize".
+unfix fShakeSPCE
+minimize 1.0e-3 1.0e-5 100000 400000
+# Now read "system.in.settings" in order to redefine fShakeSPCE again:
+include system.in.settings
+
+# -- simulation protocol --
+
+
+timestep 1.0
+dump 1 all custom 200 traj_npt.lammpstrj id mol type x y z ix iy iz
+fix fxnpt all npt temp 300.0 300.0 100.0 iso 1.0 1.0 1000.0 drag 1.0
+thermo 100
+
+run 10000
+
+# Now that the system's temperature has become more equilibrated,
+# we can increase the timestep:
+
+timestep 2.0
+run 50000
+
+write_data system_after_npt.data
diff --git a/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/run.in.nvt b/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/run.in.nvt
new file mode 100644
index 000000000..d039a5370
--- /dev/null
+++ b/tools/moltemplate/examples/file_conversion_examples/read_PDB_file_examples/waterSPCE_from_PDBfile/run.in.nvt
@@ -0,0 +1,61 @@
+# PREREQUISITES:
+#
+# 1) You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# (Follow the instructions in README_setup.sh, or run it using ./README_sh.)
+# 2) You must equilibrate the system beforehand using "run.in.npt".
+# This will create the file "system_after_npt.data" which this file reads.
+# (Note: I have not verified that this equilibration protocol works well.)
+
+# ------------------------------- Initialization Section --------------------
+
+include system.in.init
+
+# ------------------------------- Atom Definition Section -------------------
+
+# Read the coordinates generated by an earlier NPT simulation
+
+read_data system_after_npt.data
+
+
+# (The "write_restart" and "read_restart" commands were buggy in 2012,
+# but they should work also. I prefer "write_data" and "read_data".)
+
+# ------------------------------- Settings Section --------------------------
+
+include system.in.settings
+
+# ------------------------------- Run Section -------------------------------
+
+
+# -- minimization protocol --
+# Note: If you are reading the data file created by run.in.npt,
+# then you should not need to minimize the system beforehand.
+# fShakeSPCE was defined in system.in.settings.
+# (It is incompatible with "minimize".)
+
+unfix fShakeSPCE
+minimize 1.0e-5 1.0e-7 100000 400000
+
+# Now read "system.in.settings" in order to redefine fShakeSPCE again:
+
+include system.in.settings
+
+
+# -- simulation protocol --
+
+
+timestep 1.0
+dump 1 all custom 500 traj_nvt.lammpstrj id mol type x y z ix iy iz
+fix fxnvt all nvt temp 300.0 300.0 500.0 tchain 1
+thermo 500
+
+run 10000
+
+# Now that the system's temperature has become more equilibrated,
+# we can increase the timestep:
+
+timestep 2.0
+run 50000
+
+write_data system_after_nvt.data
diff --git a/tools/moltemplate/examples/misc_examples/menger_sponge/README.txt b/tools/moltemplate/examples/misc_examples/menger_sponge/README.txt
new file mode 100644
index 000000000..5046c978d
--- /dev/null
+++ b/tools/moltemplate/examples/misc_examples/menger_sponge/README.txt
@@ -0,0 +1,59 @@
+NOTE: This example requires the "Al99.eam.alloy" file.
+ (It was not included in this directory because if its large size.)
+ As of 2012-11, I was able to obtain it here:
+ http://www.ctcms.nist.gov/~cbecker/Download/Al-YM/Al99.eam.alloy
+ Copy it to the directory containing this README file.
+------------------------------------------------------------------------
+3D fractal test
+
+Moltemplate is useful for building larger molecular structures from smaller
+pieces. The purpose of this example is to show how to build large (many-level)
+heirarchical objects (a Menger sponge) using moltemplate.
+
+A Menger sponge is a fractal composed of subunits that resemble a Rubik's-cubes
+with a hollow interior:
+
+ ___
+ ###|
+ # #|
+ ###'
+
+ |
+ \|/
+ V
+
+ _________
+ / /|
+ ######### |
+ # ## ## # |
+ ######### |
+ ### ### |
+ # # # # |
+ ### ### |
+ ######### |
+ # ## ## #/
+ #########
+
+In this example, we will build a periodic lattice of Menger sponges.
+
+The smallest cube subunits consist of 4 atoms of Aluminum
+(arranged in a cubic FCC unit-cell for bulk Aluminum).
+This was an arbitrary choice. The resulting construct is not stable.
+
+ --- To build the system ---
+
+Carry out the instructions in README_setup.sh,
+to generate the LAMMPS DATA file and input scripts you need:
+system.data, system.in.init, system.in.settings.
+(The run.in script contains references to these files.)
+
+ --- To run LAMMPS, try a command like: ---
+
+lmp_mpi -i run.in
+
+ or (if you have mpi installed)
+
+mpirun -np 4 lmp_mpi -i run.in
+
+This will create an ordinary LAMMPS dump file you can visualize with VMD
+traj.lammpstrj (See README_visualize.txt)
diff --git a/tools/moltemplate/examples/misc_examples/menger_sponge/README_setup.sh b/tools/moltemplate/examples/misc_examples/menger_sponge/README_setup.sh
new file mode 100755
index 000000000..ac4251694
--- /dev/null
+++ b/tools/moltemplate/examples/misc_examples/menger_sponge/README_setup.sh
@@ -0,0 +1,29 @@
+# Use these commands to generate the LAMMPS input script and data file
+# (and other auxilliary files):
+
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh -atomstyle full system.lt
+
+ # This will generate various files with names ending in *.in* and *.data.
+ # These files are the input files directly read by LAMMPS. Move them to
+ # the parent directory (or wherever you plan to run the simulation).
+
+ mv -f system.in* system.data ../
+
+ # We will also need the "Al99.eam.alloy" file:
+ #cp -f Al99.eam.alloy ../
+ # This file was downloaded from:
+ # http://www.ctcms.nist.gov/~cbecker/Download/Al-YM/Al99.eam.alloy
+
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
diff --git a/tools/moltemplate/examples/misc_examples/menger_sponge/README_visualize.txt b/tools/moltemplate/examples/misc_examples/menger_sponge/README_visualize.txt
new file mode 100644
index 000000000..9cf2aa715
--- /dev/null
+++ b/tools/moltemplate/examples/misc_examples/menger_sponge/README_visualize.txt
@@ -0,0 +1,85 @@
+
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ Sometimes it is useful to shift the location of the periodic boundary box
+ and its contents:
+
+ pbc wrap -compound res -all -shiftcenterrel {0.5 0.5 0.5}
+ pbc box -shiftcenterrel {0.5 0.5 0.5}
+
+ Distances are measured in units of box-length fractions, not Angstroms.
+
+ (If you want to focus the box on a system of atoms which are all of type 1,
+ then you can also try this to center the box around it:
+ pbc wrap -sel type=1 -all -centersel type=2 -center com)
+
+4)
+ You should check if your periodic boundary conditions are too small.
+ To do that:
+ select Graphics->Representations menu option
+ click on the "Periodic" tab, and
+ click on the "+x", "-x", "+y", "-y", "+z", "-z" checkboxes.
+
+5) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/misc_examples/menger_sponge/images/AlCell_LR.jpg b/tools/moltemplate/examples/misc_examples/menger_sponge/images/AlCell_LR.jpg
new file mode 100644
index 000000000..bf07914da
Binary files /dev/null and b/tools/moltemplate/examples/misc_examples/menger_sponge/images/AlCell_LR.jpg differ
diff --git a/tools/moltemplate/examples/misc_examples/menger_sponge/images/README.txt b/tools/moltemplate/examples/misc_examples/menger_sponge/images/README.txt
new file mode 100644
index 000000000..ce504acd7
--- /dev/null
+++ b/tools/moltemplate/examples/misc_examples/menger_sponge/images/README.txt
@@ -0,0 +1,9 @@
+This is not a simulation of a single menger sponge.
+Instead it is a simulation of a periodic lattice of Menger sponges.
+(See "../moltemplate_files/system.lt" for details.)
+To demonstrate this, several of the images in this directory show the system
+after it has been replicated (twice) in the x,y,z directions. Please note that
+the system is actually 8 times smaller than it appears in these images.
+
+(Note: In VMD you can visualize the system this way by selecting the
+"Graphics"->"Representations" menu option and clicking on the "Periodic" tab.)
diff --git a/tools/moltemplate/examples/misc_examples/menger_sponge/images/lvl1_LR.jpg b/tools/moltemplate/examples/misc_examples/menger_sponge/images/lvl1_LR.jpg
new file mode 100644
index 000000000..11174969a
Binary files /dev/null and b/tools/moltemplate/examples/misc_examples/menger_sponge/images/lvl1_LR.jpg differ
diff --git a/tools/moltemplate/examples/misc_examples/menger_sponge/images/lvl2_LR.jpg b/tools/moltemplate/examples/misc_examples/menger_sponge/images/lvl2_LR.jpg
new file mode 100644
index 000000000..744c9af63
Binary files /dev/null and b/tools/moltemplate/examples/misc_examples/menger_sponge/images/lvl2_LR.jpg differ
diff --git a/tools/moltemplate/examples/misc_examples/menger_sponge/images/lvl3_LR.jpg b/tools/moltemplate/examples/misc_examples/menger_sponge/images/lvl3_LR.jpg
new file mode 100644
index 000000000..a72a1ea8d
Binary files /dev/null and b/tools/moltemplate/examples/misc_examples/menger_sponge/images/lvl3_LR.jpg differ
diff --git a/tools/moltemplate/examples/misc_examples/menger_sponge/images/menger_sponge_lattice_8cells_t=0_zoom1_LR2.jpg b/tools/moltemplate/examples/misc_examples/menger_sponge/images/menger_sponge_lattice_8cells_t=0_zoom1_LR2.jpg
new file mode 100644
index 000000000..9020a3be0
Binary files /dev/null and b/tools/moltemplate/examples/misc_examples/menger_sponge/images/menger_sponge_lattice_8cells_t=0_zoom1_LR2.jpg differ
diff --git a/tools/moltemplate/examples/misc_examples/menger_sponge/images/menger_sponge_lattice_8cells_t=7400_LR.jpg b/tools/moltemplate/examples/misc_examples/menger_sponge/images/menger_sponge_lattice_8cells_t=7400_LR.jpg
new file mode 100644
index 000000000..0036c903a
Binary files /dev/null and b/tools/moltemplate/examples/misc_examples/menger_sponge/images/menger_sponge_lattice_8cells_t=7400_LR.jpg differ
diff --git a/tools/moltemplate/examples/misc_examples/menger_sponge/moltemplate_files/README.txt b/tools/moltemplate/examples/misc_examples/menger_sponge/moltemplate_files/README.txt
new file mode 100644
index 000000000..ce94a83d4
--- /dev/null
+++ b/tools/moltemplate/examples/misc_examples/menger_sponge/moltemplate_files/README.txt
@@ -0,0 +1,28 @@
+A Menger cube is a fractal composed of subunits that resemble
+a Rubik's-cubes with a hollow interior:
+ _________
+ / /|
+ ######### |
+ # ## ## # |
+ ######### |
+ ### ### |
+ # # # # |
+ ### ### |
+ ######### |
+ # ## ## #/
+ #########
+
+There are several ways to build them in moltemplate:
+1) You can define each cube as a 3x3x3 array of smaller cubes, and then delete
+ the 7 interior cubes using the "delete" command. (Each smaller cube is a
+ similar structure containing an array of 3x3x3 even smaller cubes...)
+2) You can define each cube as a list of 20 smaller cubes corresponding to the
+ cubes that would have remained after deleting the 7 interior cubes.
+
+Method 1 is a little bit simpler, but method 2 is much more efficient because
+it never has to create sub-cubes which will be deleted later.
+
+This example uses method 1.
+
+If you are running out of memory, or if moltemplate is taking too long use
+method2. It is located in the "memory_efficient_but_ugly_version/" subdirectory.
diff --git a/tools/moltemplate/examples/misc_examples/menger_sponge/moltemplate_files/al_cell.lt b/tools/moltemplate/examples/misc_examples/menger_sponge/moltemplate_files/al_cell.lt
new file mode 100644
index 000000000..3054a45e0
--- /dev/null
+++ b/tools/moltemplate/examples/misc_examples/menger_sponge/moltemplate_files/al_cell.lt
@@ -0,0 +1,64 @@
+# "AlCell" defines the 4-atom FCC unit cell
+# of Aluminum (with a 4.05 angstrom spacing)
+
+AlCell {
+
+ # AtomID MolID(IGNORE!) AtomType Charge X Y Z
+
+ write("Data Atoms") {
+ $atom:AlC $mol:... @atom:Al 0.0 0.000 0.000 0.000
+ $atom:AlX $mol:... @atom:Al 0.0 0.000 2.025 2.025
+ $atom:AlY $mol:... @atom:Al 0.0 2.025 0.000 2.025
+ $atom:AlZ $mol:... @atom:Al 0.0 2.025 2.025 0.000
+ }
+
+ write_once("In Init") {
+ units metal
+ atom_style full # <- Requires each atom has a MolID and Charge.
+ # This is not necessary. (Why use "full"?
+ # The "full" atom style is useful if you want to
+ # mix the aluminum with other molecules later.
+ # Otherwise, just use "atom_style atomic", and
+ # and remove the 2nd and 4th columns above.)
+ pair_style eam/alloy
+ }
+
+ write_once("In Settings") {
+ pair_coeff * * Al99.eam.alloy Al
+ }
+
+ write_once("Data Masses") {
+ @atom:Al 27.0
+ }
+
+} # AlCell
+
+
+
+
+
+# Here is an alternate way to define AlCell
+# using "scale(4.05)" to select the lattice spacing:
+#
+#FccCell {
+# write("Data Atoms") {
+# $atom:AlC $mol:... @atom:Al 0.0 0.0 0.0 0.0
+# $atom:AlX $mol:... @atom:Al 0.0 0.0 0.5 0.5
+# $atom:AlY $mol:... @atom:Al 0.0 0.5 0.0 0.5
+# $atom:AyZ $mol:... @atom:Al 0.0 0.5 0.5 0.0
+# }
+# write_once("Data Masses") {
+# @atom:Al 27.0
+# }
+# write_once("In Init") {
+# units metal
+# atom_style full
+# pair_style eam/alloy
+# }
+# write_once("In Settings") {
+# pair_coeff * * Al99.eam.alloy Al
+# }
+#}
+#
+#AlCell = FccCell.scale(4.05)
+#
diff --git a/tools/moltemplate/examples/misc_examples/menger_sponge/moltemplate_files/memory_efficient_but_ugly_version/README.txt b/tools/moltemplate/examples/misc_examples/menger_sponge/moltemplate_files/memory_efficient_but_ugly_version/README.txt
new file mode 100644
index 000000000..0d4f00edd
--- /dev/null
+++ b/tools/moltemplate/examples/misc_examples/menger_sponge/moltemplate_files/memory_efficient_but_ugly_version/README.txt
@@ -0,0 +1,29 @@
+A Menger cube is a fractal composed of subunits that resemble
+a Rubik's-cubes with a hollow interior:
+ _________
+ / /|
+ ######### |
+ # ## ## # |
+ ######### |
+ ### ### |
+ # # # # |
+ ### ### |
+ ######### |
+ # ## ## #/
+ #########
+
+There are several ways to build them in moltemplate:
+1) You can define each cube as a 3x3x3 array of smaller cubes, and then delete
+ the 7 interior cubes using the "delete" command. (Each smaller cube is a
+ similar structure containing an array of 3x3x3 even smaller cubes...)
+2) You can define each cube as a list of 20 smaller cubes corresponding to the
+ cubes that would have remained after deleting the 7 interior cubes.
+
+Method 1 is a little bit simpler, but method 2 is much more efficient because
+it never has to create sub-cubes which will be deleted later.
+
+This example uses method 2.
+
+
+
+
diff --git a/tools/moltemplate/examples/misc_examples/menger_sponge/moltemplate_files/memory_efficient_but_ugly_version/al_cell.lt b/tools/moltemplate/examples/misc_examples/menger_sponge/moltemplate_files/memory_efficient_but_ugly_version/al_cell.lt
new file mode 100644
index 000000000..3054a45e0
--- /dev/null
+++ b/tools/moltemplate/examples/misc_examples/menger_sponge/moltemplate_files/memory_efficient_but_ugly_version/al_cell.lt
@@ -0,0 +1,64 @@
+# "AlCell" defines the 4-atom FCC unit cell
+# of Aluminum (with a 4.05 angstrom spacing)
+
+AlCell {
+
+ # AtomID MolID(IGNORE!) AtomType Charge X Y Z
+
+ write("Data Atoms") {
+ $atom:AlC $mol:... @atom:Al 0.0 0.000 0.000 0.000
+ $atom:AlX $mol:... @atom:Al 0.0 0.000 2.025 2.025
+ $atom:AlY $mol:... @atom:Al 0.0 2.025 0.000 2.025
+ $atom:AlZ $mol:... @atom:Al 0.0 2.025 2.025 0.000
+ }
+
+ write_once("In Init") {
+ units metal
+ atom_style full # <- Requires each atom has a MolID and Charge.
+ # This is not necessary. (Why use "full"?
+ # The "full" atom style is useful if you want to
+ # mix the aluminum with other molecules later.
+ # Otherwise, just use "atom_style atomic", and
+ # and remove the 2nd and 4th columns above.)
+ pair_style eam/alloy
+ }
+
+ write_once("In Settings") {
+ pair_coeff * * Al99.eam.alloy Al
+ }
+
+ write_once("Data Masses") {
+ @atom:Al 27.0
+ }
+
+} # AlCell
+
+
+
+
+
+# Here is an alternate way to define AlCell
+# using "scale(4.05)" to select the lattice spacing:
+#
+#FccCell {
+# write("Data Atoms") {
+# $atom:AlC $mol:... @atom:Al 0.0 0.0 0.0 0.0
+# $atom:AlX $mol:... @atom:Al 0.0 0.0 0.5 0.5
+# $atom:AlY $mol:... @atom:Al 0.0 0.5 0.0 0.5
+# $atom:AyZ $mol:... @atom:Al 0.0 0.5 0.5 0.0
+# }
+# write_once("Data Masses") {
+# @atom:Al 27.0
+# }
+# write_once("In Init") {
+# units metal
+# atom_style full
+# pair_style eam/alloy
+# }
+# write_once("In Settings") {
+# pair_coeff * * Al99.eam.alloy Al
+# }
+#}
+#
+#AlCell = FccCell.scale(4.05)
+#
diff --git a/tools/moltemplate/examples/misc_examples/menger_sponge/moltemplate_files/memory_efficient_but_ugly_version/menger_cubes.lt b/tools/moltemplate/examples/misc_examples/menger_sponge/moltemplate_files/memory_efficient_but_ugly_version/menger_cubes.lt
new file mode 100644
index 000000000..797d899a6
--- /dev/null
+++ b/tools/moltemplate/examples/misc_examples/menger_sponge/moltemplate_files/memory_efficient_but_ugly_version/menger_cubes.lt
@@ -0,0 +1,60 @@
+import "al_cell.lt" # <- defines the 4-atom "AlCell" FCC Aluminum unit cell
+
+
+
+
+MengerCubeLvl1 {
+ # Again, a Menger-cube is constructed of 20 smaller cube-shaped objects.
+ # Here, the small cube-shaped objects are "AlCells" (defined in "al_cell.lt").
+ # I could list out the positions of all 20 AlCells, (and this would be clearer
+ # for the reader). However instead I built it from a combination of
+ # two-dimensional and three-dimensional arrays of AlCells (explained below).
+
+ # The next command creates 12 AlCells (2x2x3) at:
+ # (0.0, 0.0, 0.0), (0.0, 0.0, 4.05), (0.0, 0.0, 8.1)
+ # (0.0, 8.1, 0.0), (0.0, 8.1, 4.05), (0.0, 8.1, 8.1)
+ # (8.1, 8.1, 0.0), (8.1, 8.1, 4.05), (8.1, 8.1, 8.1)
+
+ cells_z = new AlCell [2].move(8.10, 0.00, 0.00)
+ [2].move(0.00, 8.10, 0.00)
+ [3].move(0.00, 0.00, 4.05)
+
+ # The next command creates 4 AlCells at: (0, 4.05, 0.0), (8.1, 4.05, 0.0),
+ # (0, 4.05, 8.1), (8.1, 4.05, 8.1)
+
+ cells_xz= new AlCell.move(0.00, 4.05, 0.00) [2].move(8.10, 0.0, 0.0 )
+ [2].move(0.0, 0.0, 8.10)
+
+ # The next command creates 4 AlCells at: (4.05, 0, 0.0), (4.05, 8.1, 0.0),
+ # (4.05, 0, 8.1), (4.05, 8.1, 8.1)
+
+ cells_yz = new AlCell.move(4.05, 0.00, 0.00) [2].move(0.0, 8.10, 0.0 )
+ [2].move(0.0, 0.0, 8.10)
+}
+
+
+
+MengerCubeLvl2 {
+ # Identical arrangement to MengerCube1 (with 3x larger length scales)
+ cells_z = new MengerCubeLvl1 [2].move(24.3, 0.00, 0.00)
+ [2].move(0.00, 24.3, 0.00)
+ [3].move(0.00, 0.00, 12.15)
+ cells_xz = new MengerCubeLvl1.move(0.0,12.15,0.0) [2].move(24.3, 0.0, 0.0 )
+ [2].move(0.0, 0.0, 24.3)
+ cells_yz = new MengerCubeLvl1.move(12.15,0.0,0.0) [2].move(0.0, 24.3, 0.0 )
+ [2].move(0.0, 0.0, 24.3)
+}
+
+
+
+MengerCubeLvl3 {
+ # Identical arrangement to MengerCube2 (with 3x larger length scales)
+ cells_z = new MengerCubeLvl2 [2].move(72.9, 0.00, 0.00)
+ [2].move(0.00, 72.9, 0.00)
+ [3].move(0.00, 0.00, 36.45)
+ cells_xz = new MengerCubeLvl2.move(0.0,36.45,0.0) [2].move(72.9, 0.0, 0.0 )
+ [2].move(0.0, 0.0, 72.9)
+ cells_yz = new MengerCubeLvl2.move(36.45,0.0,0.0) [2].move(0.0, 72.9, 0.0 )
+ [2].move(0.0, 0.0, 72.9)
+}
+
diff --git a/tools/moltemplate/examples/misc_examples/menger_sponge/moltemplate_files/memory_efficient_but_ugly_version/system.lt b/tools/moltemplate/examples/misc_examples/menger_sponge/moltemplate_files/memory_efficient_but_ugly_version/system.lt
new file mode 100644
index 000000000..51313b9d7
--- /dev/null
+++ b/tools/moltemplate/examples/misc_examples/menger_sponge/moltemplate_files/memory_efficient_but_ugly_version/system.lt
@@ -0,0 +1,33 @@
+# Periodic boundary conditions:
+write_once("Data Boundary") {
+ 0.0 218.7 xlo xhi
+ 0.0 218.7 ylo yhi
+ 0.0 218.7 zlo zhi
+}
+
+import "menger_cubes.lt"
+
+cube_at_000 = new MengerCubeLvl3.move(0.0000, 0.0000, 0.0000)
+cube_at_100 = new MengerCubeLvl3.move(109.35, 0.0000, 0.0000)
+cube_at_010 = new MengerCubeLvl3.move(0.0000, 109.35, 0.0000)
+cube_at_001 = new MengerCubeLvl3.move(0.0000, 0.0000, 109.35)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+################################################################
+# The next command is not necessary. Commenting out:
+#
+# create_var { $mol } # <-This forces all of the Al atoms in the crystal
+# # to share the same molecule ID number.
+# # (Molecule ID numbers are not necessary.)
diff --git a/tools/moltemplate/examples/misc_examples/menger_sponge/moltemplate_files/menger_cubes.lt b/tools/moltemplate/examples/misc_examples/menger_sponge/moltemplate_files/menger_cubes.lt
new file mode 100644
index 000000000..afafd46e9
--- /dev/null
+++ b/tools/moltemplate/examples/misc_examples/menger_sponge/moltemplate_files/menger_cubes.lt
@@ -0,0 +1,34 @@
+import "al_cell.lt" # <- defines the 4-atom "AlCell" FCC Aluminum unit cell
+
+# This approach uses the "delete" command.
+# It works and it is elegant, but because the majority of atoms will be
+# deleted, (and because memory is allocated for all atoms, including
+# deleted atoms) this approach is not very memory efficient.
+
+MengerCubeLvl1 {
+ cells = new AlCell [3].move(0.00, 0.00, 4.05)
+ [3].move(0.00, 4.05, 0.00)
+ [3].move(4.05, 0.00, 0.00)
+ delete cells[*][1][1]
+ delete cells[1][*][1]
+ delete cells[1][1][*]
+}
+
+MengerCubeLvl2 {
+ cells = new MengerCubeLvl1 [3].move(0.00, 0.00, 12.15)
+ [3].move(0.00, 12.15, 0.00)
+ [3].move(12.15, 0.00, 0.00)
+ delete cells[*][1][1]
+ delete cells[1][*][1]
+ delete cells[1][1][*]
+}
+
+MengerCubeLvl3 {
+ cells = new MengerCubeLvl2 [3].move(0.00, 0.00, 36.45)
+ [3].move(0.00, 36.45, 0.00)
+ [3].move(36.45, 0.00, 0.00)
+ delete cells[*][1][1]
+ delete cells[1][*][1]
+ delete cells[1][1][*]
+}
+
diff --git a/tools/moltemplate/examples/misc_examples/menger_sponge/moltemplate_files/system.lt b/tools/moltemplate/examples/misc_examples/menger_sponge/moltemplate_files/system.lt
new file mode 100644
index 000000000..75ae976b3
--- /dev/null
+++ b/tools/moltemplate/examples/misc_examples/menger_sponge/moltemplate_files/system.lt
@@ -0,0 +1,34 @@
+# Periodic boundary conditions:
+write_once("Data Boundary") {
+ 0.0 218.7 xlo xhi
+ 0.0 218.7 ylo yhi
+ 0.0 218.7 zlo zhi
+}
+
+import "menger_cubes.lt"
+
+cube_at_000 = new MengerCubeLvl3.move(0.0000, 0.0000, 0.0000)
+cube_at_100 = new MengerCubeLvl3.move(109.35, 0.0000, 0.0000)
+cube_at_010 = new MengerCubeLvl3.move(0.0000, 109.35, 0.0000)
+cube_at_001 = new MengerCubeLvl3.move(0.0000, 0.0000, 109.35)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+################################################################
+# The next command is not necessary. Commenting out:
+#
+# create_var { $mol } # <-This forces all of the Al atoms in the crystal
+# # to share the same molecule ID number.
+# # (Molecule ID numbers are not necessary.)
+#
diff --git a/tools/moltemplate/examples/misc_examples/menger_sponge/run.in b/tools/moltemplate/examples/misc_examples/menger_sponge/run.in
new file mode 100644
index 000000000..6b9ad17e6
--- /dev/null
+++ b/tools/moltemplate/examples/misc_examples/menger_sponge/run.in
@@ -0,0 +1,38 @@
+# ------------------------------- Initialization Section --------------------
+
+include system.in.init
+
+# ------------------------------- Atom Definition Section -------------------
+
+read_data system.data
+
+# ------------------------------- Settings Section --------------------------
+
+include system.in.settings
+
+# ------------------------------- Run Section -------------------------------
+#
+# Some of the run-settings below were stolen from:
+#
+# http://icme.hpc.msstate.edu/mediawiki/index.php/Uniaxial_Compression
+
+# EQUILIBRATION
+reset_timestep 0
+timestep 0.001
+velocity all create 300 12345 mom yes rot no
+fix 1 all npt temp 300 300 1 iso 0 0 1 drag 1
+
+# Output files
+thermo 100
+thermo_style custom step ke pe press
+dump dCoords all custom 100 traj.lammpstrj id type x y z ix iy iz
+
+run 20000
+
+# Run for at least 10 picosecond (assuming 1 fs timestep)
+run 10000
+
+
+######################################
+# SIMULATION DONE
+print "All done"
diff --git a/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/README.txt b/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/README.txt
new file mode 100644
index 000000000..3e126b04a
--- /dev/null
+++ b/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/README.txt
@@ -0,0 +1,23 @@
+ Description:
+
+This is a simulation of pyramid-shaped objects resting on an immobile surface
+(resembling graphene). Each pyramid is built from spherical particles stacked
+like cannon-balls (or fruit). Ordinarily, the stack does not move
+because the particles at the ground layer are immobilized. However,
+given an initial (small) perturbation the pyramids collapse in an avalanche.
+
+(In this example, the perturbation is due to shock because we (intentionally)
+ did not minimize the system before starting the simulation. This shock
+ causes an avalanche to begin approximately 5000 timesteps later.)
+
+The particles roll down the pyramid and bounce off the "ground". The bouncing
+is due to a repulsive external force which is added artificially.
+(See the "run.in" file.) The simulation looks weird without something
+to bounce off of. So I added a graphene surface at the bottom as scenery.
+(It does not exert any force on the atoms.)
+
+(Random comment: This could be a fun example to illustrate the Boltzmann
+ distribution. Because there is no damping, in a small region, I'm guessing
+ the particle heights should eventually approach the Boltzmann distribution
+ for some temperature consistent with the initial potential energy of the
+ system.)
diff --git a/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/README_VMD_graphene.txt b/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/README_VMD_graphene.txt
new file mode 100644
index 000000000..8bb1bc89f
--- /dev/null
+++ b/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/README_VMD_graphene.txt
@@ -0,0 +1,28 @@
+ ------- A note on building the graphene sheet in VMD: ------
+
+Probably you can ignore these instructions.
+These instructions are not necessary for this example to run.
+
+This example contains several pyramid shaped objects resting on a surface
+made of graphene. The instructions in this file explain how to build the
+graphene (representing the "ground") using VMD instead of with moltemplate.
+ Why do this?
+VMD can create graphene sheets with bonds connecting neighboring carbon atoms,
+(which looks more pretty). However, as of 2013-4-29, moltemplate currently
+can not generate these bonds. It does not matter physically in this case,
+because the graphene sheet used here does not move. It is only used as
+scenery, to graphically represent the ground surface.
+
+Select "Extensions"->"Modeling"->"Carbon Nanotube Builder"
+ Build a graphene sheet of size 39.8 x 39.8 (units: nm)
+ 400.3358398 399.876008
+ (try to use a size compatible with the periodic boundaries)
+Select "Extensions"->"Tk Console", and type
+ display backgroundgradient on
+
+Note: If you want to do this, before you run moltemplate, you may want to delete
+ the sections of the "system.lt" file (located in "moltemplate_files")
+ which define the graphene wall. Instead create the graphene data file
+ in VMD. You will have to manually merge the data file for graphene
+ with the data file for the pyramids created by moltemplate,
+ (taking care to avoid overlapping atom-id numbers).
diff --git a/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/README_setup.sh b/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/README_setup.sh
new file mode 100755
index 000000000..cf22ee0fa
--- /dev/null
+++ b/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/README_setup.sh
@@ -0,0 +1,23 @@
+# Use these commands to generate the LAMMPS input script and data file
+# (and other auxilliary files):
+
+
+# Create LAMMPS input files this way:
+cd moltemplate_files
+
+ # run moltemplate
+
+ moltemplate.sh system.lt
+
+ # This will generate various files with names ending in *.in* and *.data.
+ # These files are the input files directly read by LAMMPS. Move them to
+ # the parent directory (or wherever you plan to run the simulation).
+
+ mv -f system.in* system.data ../
+
+ # Optional:
+ # The "./output_ttree/" directory is full of temporary files generated by
+ # moltemplate. They can be useful for debugging, but are usually thrown away.
+ rm -rf output_ttree/
+
+cd ../
diff --git a/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/README_visualize.txt b/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/README_visualize.txt
new file mode 100644
index 000000000..e2c77bafb
--- /dev/null
+++ b/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/README_visualize.txt
@@ -0,0 +1,76 @@
+ ------- To view a lammps trajectory in VMD --------
+
+
+1) Build a PSF file for use in viewing with VMD.
+
+This step works with VMD 1.9 and topotools 1.2.
+(Older versions, like VMD 1.8.6, don't support this.)
+
+
+a) Start VMD
+b) Menu Extensions->Tk Console
+c) Enter:
+
+(I assume that the the DATA file is called "system.data")
+
+ topo readlammpsdata system.data full
+ animate write psf system.psf
+
+2)
+
+Later, to Load a trajectory in VMD:
+
+ Start VMD
+ Select menu: File->New Molecule
+ -Browse to select the PSF file you created above, and load it.
+ (Don't close the window yet.)
+ -Browse to select the trajectory file.
+ If necessary, for "file type" select: "LAMMPS Trajectory"
+ Load it.
+
+ ---- A note on trajectory format: -----
+If the trajectory is a DUMP file, then make sure the it contains the
+information you need for pbctools (see below. I've been using this
+command in my LAMMPS scripts to create the trajectories:
+
+ dump 1 all custom 5000 DUMP_FILE.lammpstrj id mol type x y z ix iy iz
+
+It's a good idea to use an atom_style which supports molecule-ID numbers
+so that you can assign a molecule-ID number to each atom. (I think this
+is needed to wrap atom coordinates without breaking molecules in half.)
+
+Of course, you don't have to save your trajectories in DUMP format,
+(other formats like DCD work fine) I just mention dump files
+because these are the files I'm familiar with.
+
+3) ----- Wrap the coordinates to the unit cell
+ (without cutting the molecules in half)
+
+a) Start VMD
+b) Load the trajectory in VMD (see above)
+c) Menu Extensions->Tk Console
+d) Try entering these commands:
+
+ pbc wrap -compound res -all
+ pbc box
+
+ ----- Optional ----
+ To shift the box by a fraction in the x direction (for example)
+ do this:
+
+ pbc wrap -compound res -all -shiftcenterrel {-0.50 -0.52 0.0 }
+ pbc box -shiftcenterrel {-0.50 -0.52 0.0 }
+
+ # Alternately if you have a solute whose atoms are all of type 1,
+ # then you can also try this to center the box around it:
+
+ pbc wrap -sel type=1 -all -centersel type=2 -center com
+
+4) Optional: If you like, change the atom types in the PSF file so
+ that VMD recognizes the atom types, use something like:
+
+sed -e 's/ 1 1 / C C /g' < system.psf > temp1.psf
+sed -e 's/ 2 2 / H H /g' < temp1.psf > temp2.psf
+sed -e 's/ 3 3 / P P /g' < temp2.psf > system.psf
+
+(If you do this, it might effect step 2 above.)
diff --git a/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/images/pyramids_vs_gravity_t=04800steps_LR.jpg b/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/images/pyramids_vs_gravity_t=04800steps_LR.jpg
new file mode 100644
index 000000000..dc010258f
Binary files /dev/null and b/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/images/pyramids_vs_gravity_t=04800steps_LR.jpg differ
diff --git a/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/images/pyramids_vs_gravity_t=12200steps_LR.jpg b/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/images/pyramids_vs_gravity_t=12200steps_LR.jpg
new file mode 100644
index 000000000..53dc98f3e
Binary files /dev/null and b/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/images/pyramids_vs_gravity_t=12200steps_LR.jpg differ
diff --git a/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/images/pyramids_vs_gravity_t=33000steps_LR.jpg b/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/images/pyramids_vs_gravity_t=33000steps_LR.jpg
new file mode 100644
index 000000000..ba07b2537
Binary files /dev/null and b/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/images/pyramids_vs_gravity_t=33000steps_LR.jpg differ
diff --git a/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/moltemplate_files/README.sh b/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/moltemplate_files/README.sh
new file mode 100755
index 000000000..1f083af18
--- /dev/null
+++ b/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/moltemplate_files/README.sh
@@ -0,0 +1,15 @@
+# This directory contains moltemplate files for the "Pyramids of Giza" example.
+# (Note: the ground lattice work that appears in some images was not generated
+# by moltemplate. Moltemplate can not currently create bonded periodic
+# structures as of 2013-4-04. Those were generated by topotools.)
+#
+# To run moltemplate, use:
+
+moltemplate.sh system.lt
+
+# This will generate:system.data, system.in, system.in.init, system.in.settings
+#
+# The output_ttree/ directory will contain files like "Data Atoms", "Data Bonds"
+# which contain the corresponding structures of the system.data file.
+# (This might make it slightly easier to combine them with atom data and
+# bond data generated by other programs, such as topotools, for example.)
diff --git a/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/moltemplate_files/graphene.lt b/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/moltemplate_files/graphene.lt
new file mode 100644
index 000000000..3b3e21333
--- /dev/null
+++ b/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/moltemplate_files/graphene.lt
@@ -0,0 +1,61 @@
+# This file contains a unit cell for building graphene and nanotubes
+#
+#
+# The 4AtomRectCellXY "molecule" defined below is a reactangular unit cell
+# for hexagonal tesselations in 2-dimensions. (See "graphene_unit_cell.jpg")
+# Surfaces constructed with this unit cell can be flat or curved into tubes.
+# The distance between nearest-neighbor carbon atoms (ie the length of a
+# carbon-carbon bond) is equal to "d" which I set to 1.42 Angstroms.
+#
+# d = length of each hexagon's side = 1.42 Angstroms
+# L = length of each hexagon = 2*d = 2.84 Angstroms
+# W = width of each hexagon = 2*d*sqrt(3)/2 = 2.4595121467478056 Angstroms
+# 2w = width of hexagon rows = 3*l = 4.26 Angstroms
+#
+# Consequently, the Lattice-cell vectors for singe-layer graphene are:
+# (2.4595121467478, 0, 0) (aligned with X axis)
+# (0, 4.26, 0) (aligned with Y axis)
+# So, to build a sheet of graphite, you could use:
+# sheet = new Graphene/4AtomRectCellXY [10].move(2.4595121467478, 0, 0)
+# [10].move(0, 4.26, 0)
+
+
+
+
+Graphene {
+
+ 4AtomRectCellXY
+ {
+ # atomID molID atomType charge x y z
+ write("Data Atoms") {
+ $atom:C11 $mol:... @atom:../C 0.0 0.61487803668695 0.71 0.0
+ $atom:C21 $mol:... @atom:../C 0.0 1.84463411006085 1.42 0.0
+ $atom:C12 $mol:... @atom:../C 0.0 0.61487803668695 3.55 0.0
+ $atom:C22 $mol:... @atom:../C 0.0 1.84463411006085 2.84 0.0
+ }
+ }
+
+ # Now define properties of the Carbon graphene atom
+
+ write_once("In Init") {
+ pair_style hybrid lj/cut 9.0
+ }
+
+ write_once("Data Masses") {
+ @atom:C 12.0
+ }
+
+ write_once("In Settings") {
+ # i j epsilon sigma
+ pair_coeff @atom:C @atom:C lj/cut 0.068443 3.407
+
+ # These Lennard-Jones parameters come from
+ # R. Saito, R. Matsuo, T. Kimura, G. Dresselhaus, M.S. Dresselhaus,
+ # Chem Phys Lett, 348:187 (2001)
+
+ # Define a group consisting of only carbon atoms in graphene molecules
+ group gGraphene type @atom:C
+ }
+
+} # Graphene
+
diff --git a/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/moltemplate_files/graphene_wall.lt b/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/moltemplate_files/graphene_wall.lt
new file mode 100644
index 000000000..759f0f5d0
--- /dev/null
+++ b/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/moltemplate_files/graphene_wall.lt
@@ -0,0 +1,21 @@
+import "graphene.lt"
+
+# -------------- graphene sheet -----------------
+
+# Notes:
+# Hexagonal lattice with:
+# l = length of each hexagonal side = 1.42 Angstroms
+# L = length of each hexagon = 2*l = 2.84 Angstroms
+# W = width of each hexagon = 2*l*sqrt(3)/2 ~= 2.4595121467478 Angstroms
+# 2w = width of hexagon rows = 3.0*l = 4.26 Angstroms
+
+
+GrapheneWall {
+
+ unitcells = new Graphene/4AtomRectCellXY [163].move(2.456, 0, 0)
+ [94].move(0, 4.254, 0)
+
+ # (Note: I fudged the spacing slightly to make it line up better with the
+ # lattice spacing for graphene generated by VMD's graphene builder.)
+}
+
diff --git a/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/moltemplate_files/pyramids.lt b/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/moltemplate_files/pyramids.lt
new file mode 100644
index 000000000..84c2b6f6d
--- /dev/null
+++ b/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/moltemplate_files/pyramids.lt
@@ -0,0 +1,283 @@
+# Brick is a very simple molecule containing one "atom".
+# "ImmobileBrick" and "GoldBrick" are identical to "Brick" but are
+# given different atom types. (This makes it easier to put them in
+# different groups and apply different LAMMPS "fixes" to them.)
+
+Brick {
+
+ # atomID molID atomType charge x y z
+ write("Data Atoms") {
+ $atom $mol @atom 0.0 0.0 0.0 0.0
+ }
+
+ write_once("Data Masses") {
+ @atom 1.0
+ }
+
+ write_once("In Settings") {
+ # U(r) = 4*epsilon_ij*((sigma_ij/r)^12 - (sigma_ij/r)^6)
+ #
+ # i j eps sig
+ pair_coeff @atom @atom lj/cut 1.0 0.8908987181403393
+ }
+
+ write_once("In Settings") {
+ group gMobile type @atom
+ # (Atoms of this type belong to the "gMobile" group)
+ }
+
+ write_once("In Init") {
+ atom_style full
+ units lj
+ pair_style lj/cut 1.0
+ }
+}
+
+
+
+#We want to stack "Brick"s the same way a green-grocer sometimes stack apples:
+#Place the apples at the base an square lattice of apples at the base.
+#The apples in the next layer up are placed in between the 4 apples beneath them.
+#Each new layer is smaller and placed above the previous layer at a height
+#of sigma / sqrt(2), where "sigma" is the diameter of each spherical "Brick".
+#We will artificially hold the apples at the base in place
+#(to keep the entire stack from collapsing).
+#
+# The lines below were generated from the following python loop:
+#
+#from math import *
+#N=50
+#s=1.0
+#for i in range(0,N):
+# print(" layer"+str(i)+" = new Brick.move("+str(-(N-(i+1))*s*0.5)+","+
+# str(-(N-(i+1))*s*0.5)+","+str(i*s/sqrt(2))+") ["+str(N-i)+"].move("+
+# str(s)+",0,0) ["+str(N-i)+"].move(0,"+str(s)+",0)")
+
+
+PyramidKhufu {
+ layer0 = new ImmobileBrick.move(-24.5,-24.5,0.0) [50].move(1.0,0,0) [50].move(0,1.0,0)
+ layer1 = new Brick.move(-24.0,-24.0,0.707106781187) [49].move(1.0,0,0) [49].move(0,1.0,0)
+ layer2 = new Brick.move(-23.5,-23.5,1.41421356237) [48].move(1.0,0,0) [48].move(0,1.0,0)
+ layer3 = new Brick.move(-23.0,-23.0,2.12132034356) [47].move(1.0,0,0) [47].move(0,1.0,0)
+ layer4 = new Brick.move(-22.5,-22.5,2.82842712475) [46].move(1.0,0,0) [46].move(0,1.0,0)
+ layer5 = new Brick.move(-22.0,-22.0,3.53553390593) [45].move(1.0,0,0) [45].move(0,1.0,0)
+ layer6 = new Brick.move(-21.5,-21.5,4.24264068712) [44].move(1.0,0,0) [44].move(0,1.0,0)
+ layer7 = new Brick.move(-21.0,-21.0,4.94974746831) [43].move(1.0,0,0) [43].move(0,1.0,0)
+ layer8 = new Brick.move(-20.5,-20.5,5.65685424949) [42].move(1.0,0,0) [42].move(0,1.0,0)
+ layer9 = new Brick.move(-20.0,-20.0,6.36396103068) [41].move(1.0,0,0) [41].move(0,1.0,0)
+ layer10 = new Brick.move(-19.5,-19.5,7.07106781187) [40].move(1.0,0,0) [40].move(0,1.0,0)
+ layer11 = new Brick.move(-19.0,-19.0,7.77817459305) [39].move(1.0,0,0) [39].move(0,1.0,0)
+ layer12 = new Brick.move(-18.5,-18.5,8.48528137424) [38].move(1.0,0,0) [38].move(0,1.0,0)
+ layer13 = new Brick.move(-18.0,-18.0,9.19238815543) [37].move(1.0,0,0) [37].move(0,1.0,0)
+ layer14 = new Brick.move(-17.5,-17.5,9.89949493661) [36].move(1.0,0,0) [36].move(0,1.0,0)
+ layer15 = new Brick.move(-17.0,-17.0,10.6066017178) [35].move(1.0,0,0) [35].move(0,1.0,0)
+ layer16 = new Brick.move(-16.5,-16.5,11.313708499) [34].move(1.0,0,0) [34].move(0,1.0,0)
+ layer17 = new Brick.move(-16.0,-16.0,12.0208152802) [33].move(1.0,0,0) [33].move(0,1.0,0)
+ layer18 = new Brick.move(-15.5,-15.5,12.7279220614) [32].move(1.0,0,0) [32].move(0,1.0,0)
+ layer19 = new Brick.move(-15.0,-15.0,13.4350288425) [31].move(1.0,0,0) [31].move(0,1.0,0)
+ layer20 = new Brick.move(-14.5,-14.5,14.1421356237) [30].move(1.0,0,0) [30].move(0,1.0,0)
+ layer21 = new Brick.move(-14.0,-14.0,14.8492424049) [29].move(1.0,0,0) [29].move(0,1.0,0)
+ layer22 = new Brick.move(-13.5,-13.5,15.5563491861) [28].move(1.0,0,0) [28].move(0,1.0,0)
+ layer23 = new Brick.move(-13.0,-13.0,16.2634559673) [27].move(1.0,0,0) [27].move(0,1.0,0)
+ layer24 = new Brick.move(-12.5,-12.5,16.9705627485) [26].move(1.0,0,0) [26].move(0,1.0,0)
+ layer25 = new Brick.move(-12.0,-12.0,17.6776695297) [25].move(1.0,0,0) [25].move(0,1.0,0)
+ layer26 = new Brick.move(-11.5,-11.5,18.3847763109) [24].move(1.0,0,0) [24].move(0,1.0,0)
+ layer27 = new Brick.move(-11.0,-11.0,19.091883092) [23].move(1.0,0,0) [23].move(0,1.0,0)
+ layer28 = new Brick.move(-10.5,-10.5,19.7989898732) [22].move(1.0,0,0) [22].move(0,1.0,0)
+ layer29 = new Brick.move(-10.0,-10.0,20.5060966544) [21].move(1.0,0,0) [21].move(0,1.0,0)
+ layer30 = new Brick.move(-9.5,-9.5,21.2132034356) [20].move(1.0,0,0) [20].move(0,1.0,0)
+ layer31 = new Brick.move(-9.0,-9.0,21.9203102168) [19].move(1.0,0,0) [19].move(0,1.0,0)
+ layer32 = new Brick.move(-8.5,-8.5,22.627416998) [18].move(1.0,0,0) [18].move(0,1.0,0)
+ layer33 = new Brick.move(-8.0,-8.0,23.3345237792) [17].move(1.0,0,0) [17].move(0,1.0,0)
+ layer34 = new Brick.move(-7.5,-7.5,24.0416305603) [16].move(1.0,0,0) [16].move(0,1.0,0)
+ layer35 = new Brick.move(-7.0,-7.0,24.7487373415) [15].move(1.0,0,0) [15].move(0,1.0,0)
+ layer36 = new Brick.move(-6.5,-6.5,25.4558441227) [14].move(1.0,0,0) [14].move(0,1.0,0)
+ layer37 = new Brick.move(-6.0,-6.0,26.1629509039) [13].move(1.0,0,0) [13].move(0,1.0,0)
+ layer38 = new Brick.move(-5.5,-5.5,26.8700576851) [12].move(1.0,0,0) [12].move(0,1.0,0)
+ layer39 = new Brick.move(-5.0,-5.0,27.5771644663) [11].move(1.0,0,0) [11].move(0,1.0,0)
+ layer40 = new GoldBrick.move(-4.5,-4.5,28.2842712475) [10].move(1.0,0,0) [10].move(0,1.0,0)
+ layer41 = new GoldBrick.move(-4.0,-4.0,28.9913780286) [9].move(1.0,0,0) [9].move(0,1.0,0)
+ layer42 = new GoldBrick.move(-3.5,-3.5,29.6984848098) [8].move(1.0,0,0) [8].move(0,1.0,0)
+ layer43 = new GoldBrick.move(-3.0,-3.0,30.405591591) [7].move(1.0,0,0) [7].move(0,1.0,0)
+ layer44 = new GoldBrick.move(-2.5,-2.5,31.1126983722) [6].move(1.0,0,0) [6].move(0,1.0,0)
+ layer45 = new GoldBrick.move(-2.0,-2.0,31.8198051534) [5].move(1.0,0,0) [5].move(0,1.0,0)
+ layer46 = new GoldBrick.move(-1.5,-1.5,32.5269119346) [4].move(1.0,0,0) [4].move(0,1.0,0)
+ layer47 = new GoldBrick.move(-1.0,-1.0,33.2340187158) [3].move(1.0,0,0) [3].move(0,1.0,0)
+ layer48 = new GoldBrick.move(-0.5,-0.5,33.941125497) [2].move(1.0,0,0) [2].move(0,1.0,0)
+ layer49 = new GoldBrick.move(0.0,0.0,34.6482322781) [1].move(1.0,0,0) [1].move(0,1.0,0)
+}
+
+
+PyramidKhafre {
+ layer0 = new ImmobileBrick.move(-23.5,-23.5,0.0) [48].move(1.0,0,0) [48].move(0,1.0,0)
+ layer1 = new Brick.move(-23.0,-23.0,0.707106781187) [47].move(1.0,0,0) [47].move(0,1.0,0)
+ layer2 = new Brick.move(-22.5,-22.5,1.41421356237) [46].move(1.0,0,0) [46].move(0,1.0,0)
+ layer3 = new Brick.move(-22.0,-22.0,2.12132034356) [45].move(1.0,0,0) [45].move(0,1.0,0)
+ layer4 = new Brick.move(-21.5,-21.5,2.82842712475) [44].move(1.0,0,0) [44].move(0,1.0,0)
+ layer5 = new Brick.move(-21.0,-21.0,3.53553390593) [43].move(1.0,0,0) [43].move(0,1.0,0)
+ layer6 = new Brick.move(-20.5,-20.5,4.24264068712) [42].move(1.0,0,0) [42].move(0,1.0,0)
+ layer7 = new Brick.move(-20.0,-20.0,4.94974746831) [41].move(1.0,0,0) [41].move(0,1.0,0)
+ layer8 = new Brick.move(-19.5,-19.5,5.65685424949) [40].move(1.0,0,0) [40].move(0,1.0,0)
+ layer9 = new Brick.move(-19.0,-19.0,6.36396103068) [39].move(1.0,0,0) [39].move(0,1.0,0)
+ layer10 = new Brick.move(-18.5,-18.5,7.07106781187) [38].move(1.0,0,0) [38].move(0,1.0,0)
+ layer11 = new Brick.move(-18.0,-18.0,7.77817459305) [37].move(1.0,0,0) [37].move(0,1.0,0)
+ layer12 = new Brick.move(-17.5,-17.5,8.48528137424) [36].move(1.0,0,0) [36].move(0,1.0,0)
+ layer13 = new Brick.move(-17.0,-17.0,9.19238815543) [35].move(1.0,0,0) [35].move(0,1.0,0)
+ layer14 = new Brick.move(-16.5,-16.5,9.89949493661) [34].move(1.0,0,0) [34].move(0,1.0,0)
+ layer15 = new Brick.move(-16.0,-16.0,10.6066017178) [33].move(1.0,0,0) [33].move(0,1.0,0)
+ layer16 = new Brick.move(-15.5,-15.5,11.313708499) [32].move(1.0,0,0) [32].move(0,1.0,0)
+ layer17 = new Brick.move(-15.0,-15.0,12.0208152802) [31].move(1.0,0,0) [31].move(0,1.0,0)
+ layer18 = new Brick.move(-14.5,-14.5,12.7279220614) [30].move(1.0,0,0) [30].move(0,1.0,0)
+ layer19 = new Brick.move(-14.0,-14.0,13.4350288425) [29].move(1.0,0,0) [29].move(0,1.0,0)
+ layer20 = new Brick.move(-13.5,-13.5,14.1421356237) [28].move(1.0,0,0) [28].move(0,1.0,0)
+ layer21 = new Brick.move(-13.0,-13.0,14.8492424049) [27].move(1.0,0,0) [27].move(0,1.0,0)
+ layer22 = new Brick.move(-12.5,-12.5,15.5563491861) [26].move(1.0,0,0) [26].move(0,1.0,0)
+ layer23 = new Brick.move(-12.0,-12.0,16.2634559673) [25].move(1.0,0,0) [25].move(0,1.0,0)
+ layer24 = new Brick.move(-11.5,-11.5,16.9705627485) [24].move(1.0,0,0) [24].move(0,1.0,0)
+ layer25 = new Brick.move(-11.0,-11.0,17.6776695297) [23].move(1.0,0,0) [23].move(0,1.0,0)
+ layer26 = new Brick.move(-10.5,-10.5,18.3847763109) [22].move(1.0,0,0) [22].move(0,1.0,0)
+ layer27 = new Brick.move(-10.0,-10.0,19.091883092) [21].move(1.0,0,0) [21].move(0,1.0,0)
+ layer28 = new Brick.move(-9.5,-9.5,19.7989898732) [20].move(1.0,0,0) [20].move(0,1.0,0)
+ layer29 = new Brick.move(-9.0,-9.0,20.5060966544) [19].move(1.0,0,0) [19].move(0,1.0,0)
+ layer30 = new Brick.move(-8.5,-8.5,21.2132034356) [18].move(1.0,0,0) [18].move(0,1.0,0)
+ layer31 = new Brick.move(-8.0,-8.0,21.9203102168) [17].move(1.0,0,0) [17].move(0,1.0,0)
+ layer32 = new Brick.move(-7.5,-7.5,22.627416998) [16].move(1.0,0,0) [16].move(0,1.0,0)
+ layer33 = new Brick.move(-7.0,-7.0,23.3345237792) [15].move(1.0,0,0) [15].move(0,1.0,0)
+ layer34 = new Brick.move(-6.5,-6.5,24.0416305603) [14].move(1.0,0,0) [14].move(0,1.0,0)
+ layer35 = new GoldBrick.move(-6.0,-6.0,24.7487373415) [13].move(1.0,0,0) [13].move(0,1.0,0)
+ layer36 = new GoldBrick.move(-5.5,-5.5,25.4558441227) [12].move(1.0,0,0) [12].move(0,1.0,0)
+ layer37 = new GoldBrick.move(-5.0,-5.0,26.1629509039) [11].move(1.0,0,0) [11].move(0,1.0,0)
+ layer38 = new GoldBrick.move(-4.5,-4.5,26.8700576851) [10].move(1.0,0,0) [10].move(0,1.0,0)
+ layer39 = new GoldBrick.move(-4.0,-4.0,27.5771644663) [9].move(1.0,0,0) [9].move(0,1.0,0)
+ layer40 = new GoldBrick.move(-3.5,-3.5,28.2842712475) [8].move(1.0,0,0) [8].move(0,1.0,0)
+ layer41 = new GoldBrick.move(-3.0,-3.0,28.9913780286) [7].move(1.0,0,0) [7].move(0,1.0,0)
+ layer42 = new GoldBrick.move(-2.5,-2.5,29.6984848098) [6].move(1.0,0,0) [6].move(0,1.0,0)
+ layer43 = new GoldBrick.move(-2.0,-2.0,30.405591591) [5].move(1.0,0,0) [5].move(0,1.0,0)
+ layer44 = new GoldBrick.move(-1.5,-1.5,31.1126983722) [4].move(1.0,0,0) [4].move(0,1.0,0)
+ layer45 = new GoldBrick.move(-1.0,-1.0,31.8198051534) [3].move(1.0,0,0) [3].move(0,1.0,0)
+ layer46 = new GoldBrick.move(-0.5,-0.5,32.5269119346) [2].move(1.0,0,0) [2].move(0,1.0,0)
+ layer47 = new GoldBrick.move(0.0,0.0,33.2340187158) [1].move(1.0,0,0) [1].move(0,1.0,0)
+}
+
+
+PyramidMenkaure {
+ layer0 = new ImmobileBrick.move(-9.0,-9.0,0.0) [19].move(1.0,0,0) [19].move(0,1.0,0)
+ layer1 = new Brick.move(-8.5,-8.5,0.707106781187) [18].move(1.0,0,0) [18].move(0,1.0,0)
+ layer2 = new Brick.move(-8.0,-8.0,1.41421356237) [17].move(1.0,0,0) [17].move(0,1.0,0)
+ layer3 = new Brick.move(-7.5,-7.5,2.12132034356) [16].move(1.0,0,0) [16].move(0,1.0,0)
+ layer4 = new Brick.move(-7.0,-7.0,2.82842712475) [15].move(1.0,0,0) [15].move(0,1.0,0)
+ layer5 = new Brick.move(-6.5,-6.5,3.53553390593) [14].move(1.0,0,0) [14].move(0,1.0,0)
+ layer6 = new Brick.move(-6.0,-6.0,4.24264068712) [13].move(1.0,0,0) [13].move(0,1.0,0)
+ layer7 = new Brick.move(-5.5,-5.5,4.94974746831) [12].move(1.0,0,0) [12].move(0,1.0,0)
+ layer8 = new Brick.move(-5.0,-5.0,5.65685424949) [11].move(1.0,0,0) [11].move(0,1.0,0)
+ layer9 = new Brick.move(-4.5,-4.5,6.36396103068) [10].move(1.0,0,0) [10].move(0,1.0,0)
+ layer10 = new Brick.move(-4.0,-4.0,7.07106781187) [9].move(1.0,0,0) [9].move(0,1.0,0)
+ layer11 = new Brick.move(-3.5,-3.5,7.77817459305) [8].move(1.0,0,0) [8].move(0,1.0,0)
+ layer12 = new Brick.move(-3.0,-3.0,8.48528137424) [7].move(1.0,0,0) [7].move(0,1.0,0)
+ layer13 = new Brick.move(-2.5,-2.5,9.19238815543) [6].move(1.0,0,0) [6].move(0,1.0,0)
+ layer14 = new Brick.move(-2.0,-2.0,9.89949493661) [5].move(1.0,0,0) [5].move(0,1.0,0)
+ layer15 = new Brick.move(-1.5,-1.5,10.6066017178) [4].move(1.0,0,0) [4].move(0,1.0,0)
+ layer16 = new Brick.move(-1.0,-1.0,11.313708499) [3].move(1.0,0,0) [3].move(0,1.0,0)
+ layer17 = new Brick.move(-0.5,-0.5,12.0208152802) [2].move(1.0,0,0) [2].move(0,1.0,0)
+ layer18 = new Brick.move(0.0,0.0,12.7279220614) [1].move(1.0,0,0) [1].move(0,1.0,0)
+}
+
+PyramidQueens1 {
+ layer0 = new ImmobileBrick.move(-3.5,-3.5,0.0) [8].move(1.0,0,0) [8].move(0,1.0,0)
+ layer1 = new ImmobileBrick.move(-3.0,-3.0,0.707106781187) [7].move(1.0,0,0) [7].move(0,1.0,0)
+ layer2 = new ImmobileBrick.move(-2.0,-2.0,1.707106781187) [5].move(1.0,0,0) [5].move(0,1.0,0)
+ layer3 = new Brick.move(-1.5,-1.5,2.41421356237) [4].move(1.0,0,0) [4].move(0,1.0,0)
+ layer4 = new Brick.move(-0.5,-0.5,3.41421356237) [2].move(1.0,0,0) [2].move(0,1.0,0)
+ layer5 = new Brick.move(0.0,0.0,4.12132034356) [1].move(1.0,0,0) [1].move(0,1.0,0)
+}
+
+PyramidQueens2 {
+ layer0 = new ImmobileBrick.move(-3.5,-3.5,0.0) [8].move(1.0,0,0) [8].move(0,1.0,0)
+ layer1 = new ImmobileBrick.move(-3.0,-3.0,0.707106781187) [7].move(1.0,0,0) [7].move(0,1.0,0)
+ layer2 = new ImmobileBrick.move(-2.0,-2.0,1.707106781187) [5].move(1.0,0,0) [5].move(0,1.0,0)
+ layer3 = new Brick.move(-1.5,-1.5,2.41421356237) [4].move(1.0,0,0) [4].move(0,1.0,0)
+ layer4 = new Brick.move(-0.5,-0.5,3.41421356237) [2].move(1.0,0,0) [2].move(0,1.0,0)
+ layer5 = new Brick.move(0.0,0.0,4.12132034356) [1].move(1.0,0,0) [1].move(0,1.0,0)
+}
+
+PyramidQueens3 {
+ layer0 = new ImmobileBrick.move(-3.5,-3.5,0.0) [8].move(1.0,0,0) [8].move(0,1.0,0)
+ layer1 = new Brick.move(-3.0,-3.0,0.707106781187) [7].move(1.0,0,0) [7].move(0,1.0,0)
+ layer2 = new Brick.move(-2.5,-2.5,1.41421356237) [6].move(1.0,0,0) [6].move(0,1.0,0)
+ layer3 = new Brick.move(-2.0,-2.0,2.12132034356) [5].move(1.0,0,0) [5].move(0,1.0,0)
+ layer4 = new Brick.move(-1.5,-1.5,2.82842712475) [4].move(1.0,0,0) [4].move(0,1.0,0)
+ layer5 = new Brick.move(-1.0,-1.0,3.53553390593) [3].move(1.0,0,0) [3].move(0,1.0,0)
+ layer6 = new Brick.move(-0.5,-0.5,4.24264068712) [2].move(1.0,0,0) [2].move(0,1.0,0)
+ layer7 = new Brick.move(0.0,0.0,4.94974746831) [1].move(1.0,0,0) [1].move(0,1.0,0)
+}
+
+
+
+
+# "ImmobileBrick"s are identical to "Brick"s,
+# except that they have a different atom type.
+# We can define groups based on atom type
+# and apply fixes to them.
+
+ImmobileBrick {
+
+ # atomID molID atomType charge x y z
+ write("Data Atoms") {
+ $atom $mol @atom 0.0 0.0 0.0 0.0
+ }
+
+ write_once("Data Masses") {
+ @atom 1.0
+ }
+
+ write_once("In Settings") {
+ # U(r) = 4*epsilon_ij*((sigma_ij/r)^12 - (sigma_ij/r)^6)
+ #
+ # i j eps sig
+ pair_coeff @atom @atom lj/cut 1.0 0.8908987181403393
+ }
+
+ write_once("In Settings") {
+ group gImmobile type @atom
+ # (Atoms of this type belong to the "gImmobile" group)
+ }
+
+ write_once("In Init") {
+ atom_style full
+ units lj
+ pair_style hybrid lj/cut 1.0
+ }
+}
+
+
+
+GoldBrick {
+
+ # atomID molID atomType charge x y z
+ write("Data Atoms") {
+ $atom $mol @atom 0.0 0.0 0.0 0.0
+ }
+
+ write_once("Data Masses") {
+ @atom 1.0
+ }
+
+ write_once("In Settings") {
+ # U(r) = 4*epsilon_ij*((sigma_ij/r)^12 - (sigma_ij/r)^6)
+ #
+ # i j eps sig
+ pair_coeff @atom @atom lj/cut 1.0 0.8908987181403393
+ }
+
+ write_once("In Settings") {
+ group gMobile type @atom
+ # (Atoms of this type belong to the "gMobile" group)
+ }
+
+ write_once("In Init") {
+ atom_style full
+ units lj
+ pair_style lj/cut 1.0
+ }
+}
+
diff --git a/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/moltemplate_files/system.lt b/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/moltemplate_files/system.lt
new file mode 100644
index 000000000..0c9c50ae9
--- /dev/null
+++ b/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/moltemplate_files/system.lt
@@ -0,0 +1,80 @@
+# Description.
+# This is a simulation of pyramid-like objects made of particles stacked
+# and arranged like cannon-balls, or fruit-stands. Ordinarilly, the stack
+# does not collapse because the particles at the ground layer are immobilized.
+# However given an initial perterbation the pyramids collapse in an avalanche.
+# (This can happen, for example when you do not minimize the system beforehand.)
+# The particles roll down the pyramid and bounce off the "ground". The bouncing
+# is due to a repulsive external force which is added artificially.
+# (See the "run.in" file.) The simulation looks weird without something
+# to bounce off of. So I added a graphene surface at the bottom as scenery.
+# The ground does not serve any purpose except to look pretty.
+#
+# (Because there is no damping, I suspect that the distribution of heights of
+# the particles in a small area should approach the Boltzmann distribution,
+# if you run the simulation long enough.)
+
+
+# ----------------- Pyramids: -----------------
+
+import "pyramids.lt"
+
+# Move the pyramids into their locations in Giza (approximate)
+
+pyramidKhufu = new PyramidKhufu.move(210, 215, 1)
+pyramidKhafre = new PyramidKhafre.move(150, 150, 1)
+pyramidMenkaure = new PyramidMenkaure.move(105, 082, 1)
+PyramidQueens1 = new PyramidQueens1.move(089, 059, 1)
+PyramidQueens2 = new PyramidQueens2.move(100, 059, 1)
+PyramidQueens3 = new PyramidQueens3.move(111, 059, 1)
+
+
+# --------------- Scenery: --------------------
+
+import "graphene_wall.lt"
+
+graphene_wall = new GrapheneWall
+
+write_once("In Settings") {
+ # Turn off all interactions with the graphene atoms by setting epsilon to 0.
+ # (We will use a different repulsive barrier to represent the ground instead.)
+ # These atoms are just "for show". epsilon sigma
+ pair_coeff @atom:Graphene/C @atom:Graphene/C lj/cut 0.00000 3.407
+
+ # Optional: Add the graphene atoms to the "gImmobile" group. Later freeze them
+ group gImmobile type @atom:Graphene/C
+}
+
+# Unfortunately, the ground still looks kind of ugly because moltemplate does
+# not yet know how to automatically connect nearby carbon atoms with C-C bonds
+# (based on distance). (As of 2013-4-29, moltemplate is not good at
+# generating crystalline objects containing explicit bonds.)
+# If you want bonds between atoms, use VMD's "carbon-nanotube-builder plugin"
+# (which creates data files with bonds) and then merge the two data files
+# manually later. (This is not done here.)
+
+
+# -------- override earlier settings ----------
+
+write_once("In Init") {
+ # Override any earlier style settings
+ atom_style full
+ units lj
+ pair_style hybrid lj/cut 1.0
+ bond_style none
+ angle_style none
+ dihedral_style none
+ improper_style none
+ pair_modify mix arithmetic
+ special_bonds lj 0.0 0.0 0.0
+}
+
+# ------------ boundary conditions ------------
+
+write_once("Data Boundary") {
+ -1.842033 398.493813 xlo xhi
+ -0.708994 399.167013 ylo yhi
+ 0.0 400.0 zlo zhi
+}
+# ---------------------------------------------
+
diff --git a/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/run.in b/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/run.in
new file mode 100644
index 000000000..a99dfda28
--- /dev/null
+++ b/tools/moltemplate/examples/misc_examples/pyramids_vs_LAMMPS/run.in
@@ -0,0 +1,68 @@
+# -- Init Section --
+
+include system.in.init
+boundary p p f
+
+# -- Atom Definition Section --
+
+read_data system.data
+
+# -- Settings Section --
+
+include system.in.settings
+
+# -- Run Section --
+
+
+timestep 0.0025
+dump 1 all custom 200 traj.lammpstrj id mol type x y z ix iy iz
+
+thermo_style custom step temp pe etotal
+thermo 100 # time interval for printing out "thermo" data
+
+# ---- Set up the physical environment ----
+
+# Add gravity:
+fix fxGrav gMobile gravity 0.05 vector 0 0 -1
+
+# Create a "ground" surface.
+# This is a repulsive "wall" which particles can bounce off of:
+
+fix fxWall gMobile wall/lj126 zlo EDGE 1.0 0.8908987181403393 1.0
+
+
+# ---- Evolve the system: ----
+
+# Evolve the (mobile) atoms using ordinary Newton's laws (NVE)
+
+fix fxNVE gMobile nve
+
+
+# IF YOU WANT TO ADD DAMPING, THEN UNCOMMENT THE NEXT LINE:
+#fix fxLan gMobile langevin 0.001 0.001 10000.0 48279
+# To use Langevin dynamics in LAMMPS you need both "fix langevin" and "fix nve"
+# (See http://lammps.sandia.gov/doc/fix_langevin.html for details.)
+# This was not tested.
+
+# OPTIONAL:
+# For efficient simulation in parallel, try using "fix balance":
+# (This will adjust the spatial decomposition as the distribution of
+# particles changes over time.)
+# http://lammps.sandia.gov/doc/fix_balance.html
+# fix fxBalance gMobile balance 1000 1.1 shift 1000 xy 20 1.1
+# Alternatiely, try this:
+#fix fxBalance gMobile balance 1000 1.2 rcb
+
+
+# OPTIONAL: Improve efficiency by omitting the calcuation of interactions
+# between immobile atoms:
+
+neigh_modify exclude group gImmobile gImmobile
+
+
+restart 50000 restart_nvt
+
+run 200000
+
+write_data system_after_nvt.data
+
diff --git a/tools/moltemplate/examples/misc_examples/twelve_days/README.sh b/tools/moltemplate/examples/misc_examples/twelve_days/README.sh
new file mode 100644
index 000000000..c6c839dc5
--- /dev/null
+++ b/tools/moltemplate/examples/misc_examples/twelve_days/README.sh
@@ -0,0 +1,9 @@
+# Try this:
+
+moltemplate.sh twelve_days.lt
+
+# Moltemplate is a hierarchical template renderer. It can be used
+# to create other kinds of text files which are not related to LAMMPS.
+#
+# Happy holidays
+# -andrew 2016-12-20
diff --git a/tools/moltemplate/examples/misc_examples/twelve_days/twelve_days.lt b/tools/moltemplate/examples/misc_examples/twelve_days/twelve_days.lt
new file mode 100644
index 000000000..6610649cb
--- /dev/null
+++ b/tools/moltemplate/examples/misc_examples/twelve_days/twelve_days.lt
@@ -0,0 +1,19 @@
+Msg {write() { On the ${day}th day of Christmas, my true love gave to me:
+}
+}
+Gifts1 {write(){@day partridge in a pear tree.
+
+}} Gifts2 {write(){@day turtle doves, and
+} gifts = new Gifts1 } Gifts3 {write(){@day french hens,
+} gifts = new Gifts2 } Gifts4 {write(){@day calling birds,
+} gifts = new Gifts3 } Gifts5 {write(){@day golden rings,
+} gifts = new Gifts4 } Gifts6 {write(){@day geese a-laying,
+} gifts = new Gifts5 } Gifts7 {write(){@day swans a-swimming,
+} gifts = new Gifts6 } Gifts8 {write(){@day maids a-milking,
+} gifts = new Gifts7 } Gifts9 {write(){@day ladies dancing,
+} gifts = new Gifts8 } Gifts10 {write(){@day lords a-leaping,
+} gifts = new Gifts9 } Gifts11 {write(){@day pipers piping,
+} gifts = new Gifts10 } Gifts12 {write(){@day drummers drumming,
+} gifts = new Gifts11 }
+Msg1 inherits Msg{g = new Gifts1} Msg2 inherits Msg{g = new Gifts2} Msg3 inherits Msg{g = new Gifts3} Msg4 inherits Msg{g = new Gifts4} Msg5 inherits Msg{g = new Gifts5} Msg6 inherits Msg{g = new Gifts6} Msg7 inherits Msg{g = new Gifts7} Msg8 inherits Msg{g = new Gifts8} Msg9 inherits Msg{g = new Gifts9} Msg10 inherits Msg{g = new Gifts10} Msg11 inherits Msg{g = new Gifts11} Msg12 inherits Msg{g = new Gifts12}
+msg1 = new Msg1 msg2 = new Msg2 msg3 = new Msg3 msg4 = new Msg4 msg5 = new Msg5 msg6 = new Msg6 msg7 = new Msg7 msg8 = new Msg8 msg9 = new Msg9 msg10 = new Msg10 msg11 = new Msg11 msg12 = new Msg12
diff --git a/tools/moltemplate/moltemplate/__init__.py b/tools/moltemplate/moltemplate/__init__.py
new file mode 100644
index 000000000..b9601769e
--- /dev/null
+++ b/tools/moltemplate/moltemplate/__init__.py
@@ -0,0 +1,18 @@
+from .ttree import BasicUISettings, BasicUIParseArgs, EraseTemplateFiles, \
+ StackableCommand, PopCommand, PopRightCommand, PopLeftCommand, \
+ PushCommand, PushLeftCommand, PushRightCommand, ScopeCommand, \
+ WriteVarBindingsFile, StaticObj, InstanceObj, \
+ BasicUI, ScopeBegin, ScopeEnd, WriteFileCommand, Render
+from .ttree_lex import TtreeShlex, split, LineLex, SplitQuotedString, \
+ EscCharStrToChar, SafelyEncodeString, RemoveOuterQuotes, MaxLenStr, \
+ HasWildCard, InputError, ErrorLeader, SrcLoc, OSrcLoc, TextBlock, VarRef, \
+ VarNPtr, VarBinding, SplitTemplate, SplitTemplateMulti, TableFromTemplate, \
+ ExtractCatName, DeleteLinesWithBadVars, TemplateLexer
+from .lttree_styles import AtomStyle2ColNames, ColNames2AidAtypeMolid, \
+ ColNames2Coords, ColNames2Vects, ColNames2Vects, data_atoms, data_masses
+from .ettree_styles import \
+ LinesWSlashes, SplitMultiDelims, SplitAtomLine, \
+ iEsptAtomCoords, iEsptAtomVects, iEsptAtomType, iEsptAtomID
+from .ttree_matrix_stack import MultMat, MatToStr, LinTransform, \
+ AffineTransform, AffineCompose, CopyMat, ScaleMat, RotMatAXYZ, \
+ CrossProd, DotProd, Length, Normalize, RotMatXYZXYZ, MultiAffineStack
diff --git a/tools/moltemplate/moltemplate/bonds_by_type.py b/tools/moltemplate/moltemplate/bonds_by_type.py
new file mode 100755
index 000000000..6b36911f2
--- /dev/null
+++ b/tools/moltemplate/moltemplate/bonds_by_type.py
@@ -0,0 +1,376 @@
+#!/usr/bin/env python
+
+# Author: Andrew Jewett (jewett.aij at g mail)
+# http://www.chem.ucsb.edu/~sheagroup
+# License: 3-clause BSD License (See LICENSE.TXT)
+# Copyright (c) 2011, Regents of the University of California
+# All rights reserved.
+
+"""
+ bonds_by_type.py reads a LAMMPS data file (or an excerpt of a LAMMPS)
+ data file containing bonded many-body interactions by atom type
+ (and bond type), and generates a list of additional interactions
+ in LAMMPS format consistent with those type (to the standard out).
+
+ Typical Usage:
+
+ bonds_by_type.py -atoms atoms.data \\
+ -bonds bonds.data \\
+ -bondsbytype bonds_by_type.data \\
+ > new_bonds.data
+
+"""
+
+
+g_program_name = __file__.split('/')[-1] # = 'bonds_by_type.py'
+g_date_str = '2016-12-21'
+g_version_str = '0.12.0'
+
+
+import sys
+
+try:
+ from . import ttree_lex
+ from .lttree_styles import AtomStyle2ColNames, ColNames2AidAtypeMolid
+except (SystemError, ValueError):
+ # not installed as a package
+ import ttree_lex
+ from lttree_styles import AtomStyle2ColNames, ColNames2AidAtypeMolid
+
+
+def LookupBondTypes(bond_types,
+ bond_ids,
+ bond_pairs,
+ lines_atoms,
+ lines_bonds,
+ lines_bondsbytype,
+ atom_style,
+ section_name,
+ prefix='',
+ suffix='',
+ bond_ids_offset=0):
+ # report_progress = False):
+ """
+ LookupBondTypes() looks up bond types.
+
+ Output:
+ ...It looks up the corresponding type of each bond and store it in the
+ "bond_types" list. (If the bond_ids were not specified by the user,
+ generate them and store them in the bond_ids list.)
+
+
+ Input (continued):
+ This function requires:
+ ...a list of bonded pairs of atoms
+ stored in the lines_bonds variable (from the "Data Bond List"
+ or "Data Bonds AtomId AtomId" sections)
+ ...and a list of atom types
+ stored in the lines_atoms variable (from the "Data Atoms" section)
+ ...and a list of bond-types-as-a-function-of-atom-types
+ stored in the lines_bondsbytype (from the "Data Bonds By Type" section)
+
+ Generated bond_ids (if applicable) are of the form
+ prefix + str(number) + suffix
+ (where "number" begins at bond_ids_offset+1)
+
+ """
+
+ column_names = AtomStyle2ColNames(atom_style)
+ i_atomid, i_atomtype, i_molid = ColNames2AidAtypeMolid(column_names)
+
+ atomids = []
+ atomtypes = []
+ atomids2types = {}
+
+ for iv in range(0, len(lines_atoms)):
+ line = lines_atoms[iv].strip()
+ if '#' in line:
+ icomment = line.find('#')
+ line = (line[:icomment]).strip()
+ if len(line) > 0:
+ tokens = ttree_lex.SplitQuotedString(line)
+ if ((len(tokens) <= i_atomid) or (len(tokens) <= i_atomtype)):
+ sys.stderr.write("\"" + line + "\"\n")
+ raise(ttree_lex.InputError(
+ 'Error not enough columns on line ' + str(iv + 1) + ' of \"Atoms\" section.'))
+ tokens = ttree_lex.SplitQuotedString(line)
+ atomid = ttree_lex.EscCharStrToChar(tokens[i_atomid])
+ atomids.append(atomid)
+ atomtype = ttree_lex.EscCharStrToChar(tokens[i_atomtype])
+ atomtypes.append(atomtype)
+ atomids2types[atomid] = atomtype
+
+ assert(isinstance(bond_ids, list))
+ assert(isinstance(bond_types, list))
+ assert(isinstance(bond_pairs, list))
+ del bond_ids[:]
+ del bond_types[:]
+ del bond_pairs[:]
+
+ for ie in range(0, len(lines_bonds)):
+
+ line = lines_bonds[ie].strip()
+ if '#' in line:
+ icomment = line.find('#')
+ line = (line[:icomment]).strip()
+
+ if len(line) == 0:
+ continue
+
+ tokens = ttree_lex.SplitQuotedString(line)
+
+ if section_name == "Data Bonds AtomId AtomId":
+ if len(tokens) == 2:
+ bondid_n = bond_ids_offset + len(bond_ids) + 1
+ bond_ids.append(prefix + str(bondid_n) + suffix)
+ bond_pairs.append((ttree_lex.EscCharStrToChar(tokens[0]),
+ ttree_lex.EscCharStrToChar(tokens[1])))
+ else:
+ raise(ttree_lex.InputError('Incorrect number of columns on line ' +
+ str(ie + 1) + ' of \"' + section_name + '\" section.'))
+
+ elif section_name == "Data Bond List":
+ if len(tokens) == 3:
+ bond_ids.append(ttree_lex.EscCharStrToChar(tokens[0]))
+ bond_pairs.append((ttree_lex.EscCharStrToChar(tokens[1]),
+ ttree_lex.EscCharStrToChar(tokens[2])))
+ else:
+ raise(ttree_lex.InputError('Incorrect number of columns on line ' +
+ str(ie + 1) + ' of \"' + section_name + '\" section.'))
+
+ else:
+ raise(ttree_lex.InputError('Internal Error (' + g_program_name +
+ '): Unknown section name: \"' + section_name + '\"'))
+
+ assert(len(bond_types) == 0)
+ typepattern_to_coefftypes = []
+
+ for i in range(0, len(lines_bondsbytype)):
+ line = lines_bondsbytype[i].strip()
+ if '#' in line:
+ icomment = line.find('#')
+ line = (line[:icomment]).strip()
+ if len(line) > 0:
+ tokens = ttree_lex.SplitQuotedString(line)
+
+ if (len(tokens) != 3):
+ raise(ttree_lex.InputError('Error: Wrong number of columns in the \"Bonds By Type\" section of data file.\n'
+ 'Offending line:\n' +
+ '\"' + line + '\"\n'
+ 'Expected 3 columns\n'))
+
+ coefftype = ttree_lex.EscCharStrToChar(tokens[0])
+ typepattern = []
+
+ for typestr in tokens[1:]:
+ if ((len(typestr) >= 2) and
+ (typestr[0] == '/') and (typestr[-1] == '/')):
+ regex_str = typestr[1:-1]
+ typepattern.append(re.compile(regex_str))
+ else:
+ typepattern.append(ttree_lex.EscCharStrToChar(typestr))
+
+ typepattern_to_coefftypes.append([typepattern, coefftype])
+
+ assert(len(bond_ids) == len(bond_pairs))
+
+ for ie in range(0, len(bond_ids)):
+ bond_types.append(None)
+
+ for ie in range(0, len(bond_ids)):
+ bondid = bond_ids[ie]
+ (atomid1, atomid2) = bond_pairs[ie]
+
+ if atomid1 not in atomids2types:
+ raise ttree_lex.InputError('Error: atom \"' + atomid1 + '\" not defined in \"Data Atoms\".\n'
+ ' This usually happens when the user mistypes one of the names of the\n'
+ ' $atoms in either a \"Data Atoms\" or \"Data Bond List\" section.\n'
+ ' To find out where the mistake occured, search the \n'
+ ' \"ttree_assignments.txt\" file for:\n'
+ ' \"' + atomid1 + '\"\n')
+
+ if atomid2 not in atomids2types:
+ raise ttree_lex.InputError('Error: atom \"' + atomid2 + '\" not defined in \"Data Atoms\".\n'
+ ' This usually happens when the user mistypes one of the names of the\n'
+ ' $atoms in either a \"Data Atoms\" or \"Data Bond List\" section.\n'
+ ' To find out where the mistake occured, search the \n'
+ ' \"ttree_assignments.txt\" file for:\n'
+ ' \"' + atomid2 + '\"\n')
+
+ atomtype1 = atomids2types[atomid1]
+ atomtype2 = atomids2types[atomid2]
+
+ for typepattern, coefftype in typepattern_to_coefftypes:
+
+ # use string comparisons to check if atom types match the pattern
+ if (ttree_lex.MatchesAll((atomtype1, atomtype2), typepattern) or
+ ttree_lex.MatchesAll((atomtype2, atomtype1), typepattern)):
+ # ("MatchesAll()" defined in "ttree_lex.py")
+
+ bond_types[ie] = coefftype
+
+ for ie in range(0, len(bond_ids)):
+ if not bond_types[ie]:
+ (atomid1, atomid2) = bond_pairs[ie]
+ atomtype1 = atomids2types[atomid1]
+ atomtype2 = atomids2types[atomid2]
+ raise ttree_lex.InputError('Error: No bond types defined for the bond between\n'
+ ' atoms ' + atomid1 +
+ ' (type ' + atomtype1 + ')\n'
+ ' and ' + atomid2 + ' (type ' + atomtype2 + ')\n')
+
+
+def main():
+ sys.stderr.write(g_program_name + ' v' +
+ g_version_str + ' ' + g_date_str + ' ')
+ if sys.version < '3':
+ sys.stderr.write(' (python version < 3)\n')
+ else:
+ sys.stderr.write('\n')
+
+ try:
+ fname_atoms = None
+ fname_bond_list = None
+ fname_bondsbytype = None
+ section_name = 'Data Bond List' # (This will be replaced later.)
+ atom_style = 'full'
+ prefix = ''
+ suffix = ''
+ bond_lack_types = False
+
+ argv = [arg for arg in sys.argv]
+
+ # Loop over the remaining arguments not processed yet.
+ # These arguments are specific to the lttree.py program
+ # and are not understood by ttree.py:
+ i = 1
+ while i < len(argv):
+ #sys.stderr.write('argv['+str(i)+'] = \"'+argv[i]+'\"\n')
+ if ((argv[i].lower() == '-?') or
+ (argv[i].lower() == '--?') or
+ (argv[i].lower() == '-help') or
+ (argv[i].lower() == '-help')):
+ if i + 1 >= len(argv):
+ sys.stdout.write(man_page_text + '\n')
+ sys.exit(0)
+
+ elif argv[i].lower() == '-atoms':
+ if i + 1 >= len(argv):
+ raise ttree_lex.InputError('Error: ' + argv[i] + ' flag should be followed by a file name containing lines of\n'
+ ' text which might appear in the "Atoms" section of a LAMMPS data file.\n')
+ fname_atoms = argv[i + 1]
+ del(argv[i:i + 2])
+
+ elif argv[i].lower() == '-bonds':
+ if i + 1 >= len(argv):
+ raise ttree_lex.InputError('Error: ' + argv[i] + ' flag should be followed by a file name containing lines of\n'
+ ' text which might appear in the "Bonds" section of a LAMMPS data file.\n')
+ fname_bond_list = argv[i + 1]
+ del(argv[i:i + 2])
+
+ elif argv[i].lower() == '-bond-list':
+ if i + 1 >= len(argv):
+ raise ttree_lex.InputError(
+ 'Error: ' + argv[i] + ' flag should be followed by a file name\n')
+ # raise ttree_lex.InputError('Error: '+argv[i]+' flag should be followed by a file name containing lines of\n'
+ # ' text which might appear in the "Bonds No Types" section of a LAMMPS data file.\n')
+ fname_bond_list = argv[i + 1]
+ section_name = "Data Bond List"
+ del(argv[i:i + 2])
+
+ elif argv[i].lower() == '-bondsbytype':
+ if i + 1 >= len(argv):
+ raise ttree_lex.InputError(
+ 'Error: ' + argv[i] + ' flag should be followed by a file name\n')
+
+ # raise ttree_lex.InputError('Error: '+argv[i]+' flag should be followed by a file name containing\n'
+ # ' text which might appear in the "'+section_name+' By Type" section\n'
+ # ' of a LAMMPS data file.\n')
+ fname_bondsbytype = argv[i + 1]
+ del(argv[i:i + 2])
+
+ elif ((argv[i].lower() == '-atom-style') or
+ (argv[i].lower() == '-atom_style')):
+ if i + 1 >= len(argv):
+ raise ttree_lex.InputError('Error: ' + argv[i] + ' flag should be followed by a an atom_style name.\n'
+ ' (Or single quoted string which includes a space-separated\n'
+ ' list of column names.)\n')
+ atom_style = argv[i + 1]
+ del(argv[i:i + 2])
+
+ elif argv[i].lower() == '-prefix':
+ if i + 1 >= len(argv):
+ raise ttree_lex.InputError('Error: ' + argv[i] + ' flag should be followed by a prefix string\n'
+ ' (a string you want to appear to the left of the integer\n'
+ ' which counts the bonded interactions you have generated.)\n')
+ prefix = argv[i + 1]
+ del(argv[i:i + 2])
+
+ elif argv[i].lower() == '-suffix':
+ if i + 1 >= len(argv):
+ raise ttree_lex.InputError('Error: ' + argv[i] + ' flag should be followed by a suffix string\n'
+ ' (a string you want to appear to the right of the integer\n'
+ ' which counts the bonded interactions you have generated.)\n')
+ prefix = argv[i + 1]
+ del(argv[i:i + 2])
+
+ elif argv[i][0] == '-':
+ raise ttree_lex.InputError('Error(' + g_program_name + '):\n'
+ 'Unrecogized command line argument \"' + argv[i] + '\"\n')
+ else:
+ i += 1
+
+ if len(argv) != 1:
+ # if there are more than 2 remaining arguments,
+ problem_args = ['\"' + arg + '\"' for arg in argv[1:]]
+ raise ttree_lex.InputError('Syntax Error(' + g_program_name + '):\n\n'
+ ' Problem with argument list.\n'
+ ' The remaining arguments are:\n\n'
+ ' ' +
+ (' '.join(problem_args)) + '\n\n'
+ ' (The actual problem may be earlier in the argument list.)\n')
+
+ bond_types = []
+ bond_ids = []
+ bond_pairs = []
+
+ fatoms = open(fname_atoms, 'r')
+ fbonds = open(fname_bond_list, 'r')
+ fbondsbytype = open(fname_bondsbytype, 'r')
+ lines_atoms = fatoms.readlines()
+ lines_bonds = fbonds.readlines()
+ lines_bondsbytype = fbondsbytype.readlines()
+ fatoms.close()
+ fbonds.close()
+ fbondsbytype.close()
+
+ LookupBondTypes(bond_types,
+ bond_ids,
+ bond_pairs,
+ lines_atoms,
+ lines_bonds,
+ lines_bondsbytype,
+ atom_style,
+ section_name,
+ prefix='',
+ suffix='')
+
+ assert(len(bond_types) == len(bond_ids) == len(bond_pairs))
+
+ ie = 0
+ N = len(bond_types)
+ for ie in range(0, N):
+ sys.stdout.write(bond_ids[ie] + ' ' +
+ bond_types[ie] + ' ' +
+ bond_pairs[ie][0] + ' ' +
+ bond_pairs[ie][1] + '\n')
+
+ except (ValueError, ttree_lex.InputError) as err:
+ sys.stderr.write('\n' + str(err) + '\n')
+ sys.exit(-1)
+
+ return
+
+
+if __name__ == "__main__":
+ main()
diff --git a/tools/moltemplate/moltemplate/charge_by_bond.py b/tools/moltemplate/moltemplate/charge_by_bond.py
new file mode 100755
index 000000000..b8d7c7564
--- /dev/null
+++ b/tools/moltemplate/moltemplate/charge_by_bond.py
@@ -0,0 +1,397 @@
+#!/usr/bin/env python
+
+# Author: Andrew Jewett (jewett.aij at g mail)
+# http://www.chem.ucsb.edu/~sheagroup
+# License: 3-clause BSD License (See LICENSE.TXT)
+# Copyright (c) 2011, Regents of the University of California
+# All rights reserved.
+
+
+import sys
+import re
+from collections import defaultdict
+
+try:
+ from . import ttree_lex
+ from .lttree_styles import AtomStyle2ColNames, ColNames2AidAtypeMolid
+except (SystemError, ValueError):
+ # not installed as a package
+ import ttree_lex
+ from lttree_styles import AtomStyle2ColNames, ColNames2AidAtypeMolid
+
+
+
+def LookupChargePairs(chargebyatomid,
+ # bond_ids,
+ # bond_pairs,
+ lines_atoms,
+ lines_bonds,
+ lines_bond_list,
+ lines_chargebybond,
+ atom_style,
+ section_name,
+ prefix='',
+ suffix=''):
+ # bond_ids_offset=0):
+ # report_progress = False):
+ """
+ LookupChargePairs() looks up partial-charge pair contributions from the
+ types of atoms participating in a bond.
+
+ Output:
+ ...It looks up the corresponding change in the partial charges for
+ each pair of atoms and stores this in the "chargebyatomid" dictionary.
+
+ Input (continued):
+ This function requires:
+ ...a list of bonded pairs of atoms
+ stored in the lines_bonds variable (from the "Data Bond List"
+ or "Data Bonds AtomId AtomId" sections)
+ ...and a list of atom types
+ stored in the lines_atoms variable (from the "Data Atoms" section)
+
+ ...and a list of charge-pairs-as-a-function-of-atom-types
+ stored in the lines_chargebybond (from the "Data Bonds By Type" section)
+
+ """
+
+ column_names = AtomStyle2ColNames(atom_style)
+ i_atomid, i_atomtype, i_molid = ColNames2AidAtypeMolid(column_names)
+
+ atomids = []
+ atomtypes = []
+ atomids2types = {}
+
+ for iv in range(0, len(lines_atoms)):
+ line = lines_atoms[iv].strip()
+ if '#' in line:
+ icomment = line.find('#')
+ line = (line[:icomment]).strip()
+ if len(line) > 0:
+ tokens = ttree_lex.SplitQuotedString(line)
+ if ((len(tokens) <= i_atomid) or (len(tokens) <= i_atomtype)):
+ sys.stderr.write("\"" + line + "\"\n")
+ raise(ttree_lex.InputError(
+ 'Error not enough columns on line ' + str(iv + 1) + ' of \"Atoms\" section.'))
+ tokens = ttree_lex.SplitQuotedString(line)
+ atomid = ttree_lex.EscCharStrToChar(tokens[i_atomid])
+ atomids.append(atomid)
+ atomtype = ttree_lex.EscCharStrToChar(tokens[i_atomtype])
+ atomtypes.append(atomtype)
+ atomids2types[atomid] = atomtype
+
+ #assert(isinstance(bond_ids, list))
+ #assert(isinstance(bond_types, list))
+ #assert(isinstance(bond_pairs, list))
+ #del bond_ids[:]
+ #del bond_types[:]
+ #del bond_pairs[:]
+ bond_pairs = []
+
+ for ie in range(0, len(lines_bond_list)):
+ line = lines_bond_list[ie].strip()
+ if '#' in line:
+ icomment = line.find('#')
+ line = (line[:icomment]).strip()
+ if len(line) == 0:
+ continue
+ tokens = ttree_lex.SplitQuotedString(line)
+ if len(tokens) == 3:
+ # bond_ids.append(ttree_lex.EscCharStrToChar(tokens[0]))
+ bond_pairs.append((ttree_lex.EscCharStrToChar(tokens[1]),
+ ttree_lex.EscCharStrToChar(tokens[2])))
+ else:
+ raise(ttree_lex.InputError('Incorrect number of columns on line ' +
+ str(ie + 1) + ' of \"' + section_name + '\" section.'))
+
+ for ie in range(0, len(lines_bonds)):
+ line = lines_bonds[ie].strip()
+ if '#' in line:
+ icomment = line.find('#')
+ line = (line[:icomment]).strip()
+ if len(line) == 0:
+ continue
+ tokens = ttree_lex.SplitQuotedString(line)
+ if len(tokens) == 4:
+ # bond_ids.append(ttree_lex.EscCharStrToChar(tokens[0]))
+ # bond_types.append(ttree_lex.EscCharStrToChar(tokens[1]))
+ bond_pairs.append((ttree_lex.EscCharStrToChar(tokens[2]),
+ ttree_lex.EscCharStrToChar(tokens[3])))
+ else:
+ raise(ttree_lex.InputError('Incorrect number of columns on line ' +
+ str(ie + 1) + ' of \"' + section_name + '\" section.'))
+
+ # for ie in range(0, len(lines_bonds_atomid_atomid)):
+ # line = lines_bonds_atomid_atomid[ie].strip()
+ # if '#' in line:
+ # icomment = line.find('#')
+ # line = (line[:icomment]).strip()
+ # if len(line) == 0:
+ # continue
+ # tokens = ttree_lex.SplitQuotedString(line)
+ # if len(tokens) == 2:
+ # #bondid_n = bond_ids_offset + len(bond_ids) + 1
+ # #bond_ids.append(prefix+str(bondid_n)+suffix)
+ # bond_pairs.append( (ttree_lex.EscCharStrToChar(tokens[0]),
+ # ttree_lex.EscCharStrToChar(tokens[1])) )
+ # else:
+ # raise(ttree_lex.InputError('Incorrect number of columns on line '+str(ie+1)+' of \"'+section_name+'\" section.'))
+
+ assert(len(bond_types) == 0)
+ typepattern_to_chargepairs = []
+ warning_unassigned_chargepairs = None
+
+ for i in range(0, len(lines_chargebybond)):
+ line = lines_chargebybond[i].strip()
+ if '#' in line:
+ icomment = line.find('#')
+ line = (line[:icomment]).strip()
+ if len(line) > 0:
+ tokens = ttree_lex.SplitQuotedString(line)
+
+ if (len(tokens) != 4):
+ raise(ttree_lex.InputError('Error: Wrong number of columns in the \"Charge Pairs By Type\" section of data file.\n'
+ 'Offending line:\n' +
+ '\"' + line + '\"\n'
+ 'Expected 4 columns\n'))
+
+ chargepair = (float(tokens[2]),
+ float(tokens[3]))
+
+ typepattern = []
+
+ for typestr in tokens[:2]:
+ if ((len(typestr) >= 2) and
+ (typestr[0] == '/') and (typestr[-1] == '/')):
+ regex_str = typestr[1:-1]
+ typepattern.append(re.compile(regex_str))
+ else:
+ typepattern.append(ttree_lex.EscCharStrToChar(typestr))
+
+ typepattern_to_chargepairs.append([typepattern, chargepair])
+
+ for atomid1, atomid2 in bond_pairs:
+
+ if atomid1 not in atomids2types:
+ raise ttree_lex.InputError('Error: atom \"' + atomid1 + '\" not defined in \"Data Atoms\".\n'
+ ' This usually happens when the user mistypes one of the names of the\n'
+ ' $atoms in either a \"Data Atoms\" or \"Data Bond List\" section.\n'
+ ' To find out where the mistake occured, search the \n'
+ ' \"ttree_assignments.txt\" file for:\n'
+ ' \"' + atomid1 + '\"\n')
+
+ if atomid2 not in atomids2types:
+ raise ttree_lex.InputError('Error: atom \"' + atomid2 + '\" not defined in \"Data Atoms\".\n'
+ ' This usually happens when the user mistypes one of the names of the\n'
+ ' $atoms in either a \"Data Atoms\" or \"Data Bond List\" section.\n'
+ ' To find out where the mistake occured, search the \n'
+ ' \"ttree_assignments.txt\" file for:\n'
+ ' \"' + atomid2 + '\"\n')
+
+ atomtype1 = atomids2types[atomid1]
+ atomtype2 = atomids2types[atomid2]
+
+ for typepattern, chargepair in typepattern_to_chargepairs:
+ # use string comparisons to check if atom types match the pattern
+ if ttree_lex.MatchesAll((atomtype1, atomtype2), typepattern):
+ # ("MatchesAll()" defined in "ttree_lex.py")
+ chargebyatomid[atomid1] += chargepair[0]
+ chargebyatomid[atomid2] += chargepair[1]
+ elif ttree_lex.MatchesAll((atomtype2, atomtype1), typepattern):
+ chargebyatomid[atomid1] += chargepair[1]
+ chargebyatomid[atomid2] += chargepair[0]
+ else:
+ if not warning_unassigned_chargepairs:
+ warning_unassigned_chargepairs = (atomid1, atomid2)
+
+ if warning_unassigned_chargepairs:
+ sys.stderr.write('---------------------------------------------------------------------------\n'
+ 'Warning: bonds found between atoms with no partial-charge rules.\n'
+ ' This means that somewhere you are using a force-field\n'
+ ' which assigns atomic charge according to the bonds these atoms\n'
+ ' participate in, AND at least one pair of bonded atoms does NOT have\n'
+ ' a rule defined to assign charges to that pair of atoms.\n'
+ ' This can happen if there is a problem with the force-field file\n'
+ ' OR if you are defining the charges for these atoms manually\n'
+ ' In the later case, it is not a problem.\n'
+ ' The first bond with this problem is between this pair of atoms:\n'
+ ' ' +
+ str(warning_unassigned_chargepairs[0]) + '\n'
+ ' ' +
+ str(warning_unassigned_chargepairs[1]) + '\n'
+ '---------------------------------------------------------------------------\n')
+
+def main():
+ """
+ This is is a "main module" wrapper for invoking chargepairs_by_type.py
+ as a stand alone program. This program:
+ This program reads a LAMMPS data file (or an excerpt of a LAMMPS)
+ data file containing bonded many-body interactions by atom type
+ (and bond type), and generates a list of atom charges in LAMMPS input
+ script format consistent with those types (to the standard out).
+
+ Typical Usage:
+
+ chargepairs_by_type.py -atoms atoms.data \\
+ -bonds bonds.data \\
+ -chargebybond chargepairs_by_type.data \\
+ > list_of_atom_charges.in
+
+ """
+
+ g_program_name = __file__.split('/')[-1] # = 'charge_pairs_by_type.py'
+ g_date_str = '2016-12-22'
+ g_version_str = '0.13.0'
+
+ ####### Main Code Below: #######
+ sys.stderr.write(g_program_name + ' v' +
+ g_version_str + ' ' + g_date_str + ' ')
+ if sys.version < '3':
+ sys.stderr.write(' (python version < 3)\n')
+ else:
+ sys.stderr.write('\n')
+
+ try:
+ fname_atoms = None
+ fname_bonds = None
+ fname_bond_list = None
+ fname_chargebybond = None
+ section_name = 'Data Bond List' # (This will be replaced later.)
+ atom_style = 'full'
+ prefix = ''
+ suffix = ''
+ bond_lack_types = False
+
+ argv = [arg for arg in sys.argv]
+
+ # Loop over the remaining arguments not processed yet.
+ # These arguments are specific to the lttree.py program
+ # and are not understood by ttree.py:
+ i = 1
+ while i < len(argv):
+ #sys.stderr.write('argv['+str(i)+'] = \"'+argv[i]+'\"\n')
+ if ((argv[i].lower() == '-?') or
+ (argv[i].lower() == '--?') or
+ (argv[i].lower() == '-help') or
+ (argv[i].lower() == '-help')):
+ if i + 1 >= len(argv):
+ sys.stdout.write(man_page_text + '\n')
+ sys.exit(0)
+
+ elif argv[i].lower() == '-atoms':
+ if i + 1 >= len(argv):
+ raise ttree_lex.InputError('Error: ' + argv[i] + ' flag should be followed by a file name containing lines of\n'
+ ' text which might appear in the "Atoms" section of a LAMMPS data file.\n')
+ fname_atoms = argv[i + 1]
+ del(argv[i:i + 2])
+
+ elif argv[i].lower() == '-bonds':
+ if i + 1 >= len(argv):
+ raise ttree_lex.InputError('Error: ' + argv[i] + ' flag should be followed by a file name containing lines of\n'
+ ' text which might appear in the "Bonds" section of a LAMMPS data file.\n')
+ fname_bonds = argv[i + 1]
+ del(argv[i:i + 2])
+
+ elif argv[i].lower() == '-bond-list':
+ if i + 1 >= len(argv):
+ raise ttree_lex.InputError(
+ 'Error: ' + argv[i] + ' flag should be followed by a file name\n')
+ # raise ttree_lex.InputError('Error: '+argv[i]+' flag should be followed by a file name containing lines of\n'
+ # ' text which might appear in the "Bonds No Types" section of a LAMMPS data file.\n')
+ fname_bond_list = argv[i + 1]
+ section_name = "Data Bond List"
+ del(argv[i:i + 2])
+
+ elif ((argv[i].lower() == '-chargebybond') or
+ (argv[i].lower() == '-chargesbybond') or
+ (argv[i].lower() == '-charge-by-bond') or
+ (argv[i].lower() == '-charges-by-bond') or
+ (argv[i].lower() == '-chargepairsbytype') or
+ (argv[i].lower() == '-chargepairs-by-type') or
+ (argv[i].lower() == '-charge-pairs-by-type')):
+ if i + 1 >= len(argv):
+ raise ttree_lex.InputError(
+ 'Error: ' + argv[i] + ' flag should be followed by a file name\n')
+
+ # raise ttree_lex.InputError('Error: '+argv[i]+' flag should be followed by a file name containing\n'
+ # ' text which might appear in the "'+section_name+' By Type" section\n'
+ # ' of a LAMMPS data file.\n')
+ fname_chargebybond = argv[i + 1]
+ del(argv[i:i + 2])
+
+ elif ((argv[i].lower() == '-atom-style') or
+ (argv[i].lower() == '-atom_style')):
+ if i + 1 >= len(argv):
+ raise ttree_lex.InputError('Error: ' + argv[i] + ' flag should be followed by a an atom_style name.\n'
+ ' (Or single quoted string which includes a space-separated\n'
+ ' list of column names.)\n')
+ atom_style = argv[i + 1]
+ del(argv[i:i + 2])
+
+ elif argv[i][0] == '-':
+ raise ttree_lex.InputError('Error(' + g_program_name + '):\n'
+ 'Unrecogized command line argument \"' + argv[i] + '\"\n')
+ else:
+ i += 1
+
+ if len(argv) != 1:
+ # if there are more than 2 remaining arguments,
+ problem_args = ['\"' + arg + '\"' for arg in argv[1:]]
+ raise ttree_lex.InputError('Syntax Error(' + g_program_name + '):\n\n'
+ ' Problem with argument list.\n'
+ ' The remaining arguments are:\n\n'
+ ' ' +
+ (' '.join(problem_args)) + '\n\n'
+ ' (The actual problem may be earlier in the argument list.)\n')
+
+ bond_types = []
+ fatoms = open(fname_atoms, 'r')
+ lines_bonds = []
+ lines_bond_list = []
+ fbonds = fbond_list = None
+ try:
+ if fname_bonds != None:
+ fbonds = open(fname_bonds, 'r')
+ lines_bonds = fbonds.readlines()
+ fbonds.close()
+ except IOError:
+ pass
+ try:
+ if fname_bond_list != None:
+ fbond_list = open(fname_bond_list, 'r')
+ lines_bond_list = fbond_list.readlines()
+ fbond_list.close()
+ except IOError:
+ pass
+ if ((len(lines_bonds) == 0) and (len(lines_bond_list) == 0)):
+ sys.stderr.write('Error(' + g_program_name + '): No bonds defined for this system\n'
+ ' (This error may be a bug in moltemplate.)\n')
+ fchargebybond = open(fname_chargebybond, 'r')
+ lines_atoms = fatoms.readlines()
+
+ lines_chargebybond = fchargebybond.readlines()
+ fatoms.close()
+ fchargebybond.close()
+ chargebyatomid = defaultdict(float)
+
+ LookupChargePairs(chargebyatomid,
+ lines_atoms,
+ lines_bonds,
+ lines_bond_list,
+ lines_chargebybond,
+ atom_style,
+ section_name)
+
+ for atomid, charge in chargebyatomid.items():
+ sys.stdout.write(' set atom ' + str(atomid) +
+ ' charge ' + str(charge) + '\n')
+
+ except (ValueError, ttree_lex.InputError) as err:
+ sys.stderr.write('\n' + str(err) + '\n')
+ sys.exit(-1)
+
+
+
+if __name__ == "__main__":
+ main()
+
diff --git a/tools/moltemplate/moltemplate/depreciated/oplsaa_moltemplate.py b/tools/moltemplate/moltemplate/depreciated/oplsaa_moltemplate.py
new file mode 100644
index 000000000..984dc6415
--- /dev/null
+++ b/tools/moltemplate/moltemplate/depreciated/oplsaa_moltemplate.py
@@ -0,0 +1,488 @@
+#! /usr/bin/env python
+#
+# The purpose of this script is to create a moltemplate lt file for the oplsaa.
+# forcefield. This will assist researchers in building complex simulations using
+# this OPLS-UA and the OPLS-AA forcefields.
+
+__author__="Jason Lambert"
+# (some additional corrections by Miguel Gonzalez, Yue Chun Chiu, and Andrew Jewett)
+__version__="0.21"
+
+
+
+import sys
+import os
+from operator import itemgetter
+
+g_program_name = __file__.split('/')[-1]
+
+# First make a copy of the \"oplsaa.prm\" file
+# (which can be downloaded from the TINKER web site).
+# The lines in this file beginning with the word \"atoms\" should
+# define the atoms which you plan to put in your simulation. All other
+# lines beginning with the word \"atoms\" should be deleted.
+# (Leave the other sections of this file alone.)
+#""")
+
+
+if sys.version > '3':
+ import io
+else:
+ import cStringIO
+
+try:
+ if sys.version < '2.7':
+ raise Exception('Error: Using python '+sys.version+'\n'+
+ ' Alas, your version of python is too old.\n'
+ ' You must upgrade to a newer version of python (2.7 or later).')
+except Exception as err:
+ sys.stderr.write('\n\n'+str(err)+'\n')
+ sys.exit(-1)
+
+
+
+#input data from file containing oplsaa force field parameters.
+try:
+ f=open(sys.argv[1],"r")
+except:
+ sys.stderr.write("Error: \n"
+ " You need to specify a file name as an input argument:\n"
+ " python oplsaa_moltemplate.py <forcefield file name>\n"
+ " (or the file name is specified incorrectly)\n")
+ sys.exit()
+
+
+sys.stderr.write(g_program_name+", version "+__version__+"\n"
+ "Reading parameter file...\n")
+
+
+#output lt file
+g=open("oplsaa.lt","w")
+
+
+
+lines = f.readlines()
+
+
+
+# Ignore/Comment out lines before the "## Atom Type Definitions ##" section.
+
+for i in range(0, len(lines)):
+ if (lines[i].find("## Atom Type Definitions ##") != -1):
+ break
+ else:
+ lines[i] = '# ' + lines[i]
+
+
+# As of late 2014, there appear to be 906 atom types, but we don't assume this.
+# First try to infer out how many atom types there were in the original
+# oplsaa.prm file, or at least find an upper bound on the atom-type numbers.
+# (Keep track of the maximum value of the first column in the "atom" section.)
+max_atomType = 0
+num_atomTypes = 0
+for line in lines:
+ # skip over text after a # comment character
+ ic = line.find('#')
+ if ic != -1:
+ line = (line[:ic]).strip()
+ else:
+ line = line.strip()
+ # now look for lines beginning with the word "atom"
+ tokens = line.split()
+ if ((len(tokens)>2) and (tokens[0] == "atom")):
+ num_atomTypes += 1
+ if (int(tokens[1]) > max_atomType):
+ max_atomType = int(tokens[1])
+
+if num_atomTypes > 25:
+ sys.stderr.write("\n"
+ "(Note: If your computer freezes while running "+g_program_name+",\n"
+ " it could be because you forgot to edit the .prm file.\n"
+ " The original \"oplsaa.prm\" file distributed with TINKER has over 900 atom\n"
+ " types. If you run "+g_program_name+" on this file, it may freeze or\n"
+ " crash. Instead, run "+g_program_name+" on a SUBSET of the OPLS atoms\n"
+ " relevant to your problem. To do that, delete the lines from the .prm\n"
+ " file beginning with \"atom\" which you do not need.)\n\n")
+
+#temporary storage file
+atom_lookup={} #this dictionary contains all the atom ffid's as a key and the number of atoms with that key
+#atom=[[10000,10000] for i in range(906)] <- don't assume there are 906 atoms
+atom=[[-10000,-10000] for i in range(0,max_atomType+1)]
+#charge_by_type={} # lookup charge by atom type
+#vdw_by_type={} # lookup epsilon & sigma paramters by atom type
+charge_by_type=[0.0 for i in range(0,max_atomType+1)] # lookup charge by atom
+vdw_by_type=[(0.0,0.0) for i in range(0,max_atomType+1)] # lookup epsilon & sigma
+
+
+
+#atom is declared this way so for sorting purposes.
+#atom contains the following data upon allocation
+#atom[][0]=atom_id( Important for partial charges and non_bonded interactions)
+#atom[][1]=atom_ffid( Important for stretches, bending, torsions and impropers)
+#atom[][2]=atom_mass
+#atom[][3]=partial charge
+#atom[][4]=non_bonding sigma
+#atom[][5]=non_bonding epsilon
+#atom[][6]=atom comment
+bond=[]
+#bond contains the following data
+#bond[0]=atom 1 ffid
+#bond[1]=atom 2 ffid
+#bond[2]=bond spring constant(OPLS-aa compatible)
+#bond[3]=equilibrium bond distance(Angstrom)
+angle=[]
+#angle contains the following data
+#angle[0]=atom 1 ffid
+#angle[1]=atom 2 ffid
+#angle[2]=atom 3 ffid
+#angle[3]=spring constant
+#angle[4]=equilibrium angle (degrees)
+dihedral=[]
+#dihedral contains the following data
+#dihedral[0]=atom 1 ffid
+#dihedral[1]=atom 2 ffid
+#dihedral[2]=atom 3 ffid
+#dihedral[3]=atom 4 ffid
+#dihedral[4]=v1
+#dihedral[5]=v2
+#dihedral[6]=v3
+#dihedral[7]=v4
+improper=[]
+#improper[0]=atom 1 ffid
+#improper[1]=atom 2 ffid(central atom)
+#improper[2]=atom 3 ffid
+#improper[3]=atom 4 ffid
+#improper[4]=spring coefficient
+#improper[5]=equilibrium angle
+
+
+#This section gets all the parameters from the force field file
+for line in lines:
+
+ # skip over text after a # comment character
+ ic = line.find('#')
+ if ic != -1:
+ line = (line[:ic]).strip()
+ else:
+ line = line.strip()
+
+ if line.find("atom") == 0:
+ line=line.split()
+ atom[int(line[1])-1]=[int(line[1]),int(line[2]),float(line[-2]),
+ 0.0,0.0,0.0," ".join(line[3:-2])]
+ elif line.find("vdw") == 0:
+ line=line.split()
+ #vdw_temp.append([float(line[1]),float(line[2]),float(line[3])])
+ if (int(line[1]) <= max_atomType):
+ vdw_by_type[int(line[1])] = (float(line[2]),float(line[3]))
+ elif line.find("bond") == 0:
+ line=line.split()
+ bond.append([int(line[1]),int(line[2]),float(line[3]),float(line[4])])
+ elif line.find("angle") == 0:
+ line=line.split()
+ angle.append([int(line[1]),int(line[2]),int(line[3]),
+ float(line[4]),float(line[5])])
+ elif line.find("torsion") == 0:
+ line=line.split()
+ dihedral.append([int(line[1]),int(line[2]),int(line[3]),int(line[4]),
+ float(line[5]),float(line[8]), float(line[11]), 0.0])
+ elif line.find("charge") == 0:
+ line=line.split()
+ #charge_temp.append([int(line[1]),float(line[2])])
+ if (int(line[1]) <= max_atomType):
+ charge_by_type[int(line[1])] = float(line[2])
+ elif line.find("imptors") == 0:
+ line=line.split()
+ improper.append([int(line[1]), int(line[2]),
+ int(line[3]), int(line[4]), float(line[5]), float(line[6])])
+
+
+#if len(atom) > 600:
+# sys.stderr.write("WARNING: The number of atom types in your file exceeds 600\n"
+# " (You were supposed to edit out the atoms you don't need.\n"
+# " Not doing this may crash your computer.)\n"
+# "\n"
+# " Proceed? (Y/N): ")
+# reply = sys.stdin.readline()
+# if find(reply.strip().lower(), 'y') != 0:
+# exit(0)
+
+
+
+#adding the charge and Lennard Jones parameters to
+#to each atom type.
+#----------------------------------------------#
+
+system_is_charged = False
+
+for i in range(0,len(atom)):
+ atom_type_num = atom[i][0]
+ #q = charge_by_type.get(atomTypeNum)
+ #if q:
+ # atom[i][3] = q
+ if atom_type_num != -10000:
+ q = charge_by_type[atom_type_num]
+ atom[i][3] = q
+ if q != 0.0:
+ # the system has some charged atoms
+ system_is_charged = True
+
+for i in range(0,len(atom)):
+ atom_type_num = atom[i][0]
+ #vdw_params = vdw_by_type.get(atomTypeNum)
+ #if vdw_params:
+ # atom[i][4] = vdw_params[0]
+ # atom[i][5] = vdw_params[1]
+ if atom_type_num != -10000:
+ vdw_params = vdw_by_type[atom_type_num]
+ atom[i][4] = vdw_params[0]
+ atom[i][5] = vdw_params[1]
+
+del(charge_by_type)
+del(vdw_by_type)
+
+
+
+if system_is_charged:
+ pair_style = "lj/cut/coul/long"
+ pair_style_params = "10.0 10.0"
+ kspace_style = " kspace_style pppm 0.0001\n"
+else:
+ pair_style = "lj/cut"
+ pair_style_params = "10.0"
+ kspace_style = ""
+
+pair_style_command = " pair_style hybrid "+pair_style+" "+pair_style_params+"\n"
+
+
+
+#----------------------------------------------------------#
+#begin writing content to lt file
+g.write("# NOTE: This file was created automatically using:\n"
+ "# "+g_program_name+" \""+sys.argv[1]+"\"\n\n\n")
+
+g.write("OPLSAA {\n\n" )
+
+#write out the atom masses
+#----------------------------------------------------------#
+g.write(" write_once(\"Data Masses\"){\n")#checked with gaff
+for i,x in enumerate(atom):
+ if x[0] != -10000:
+ g.write(" @atom:{} {} #{} partial charge={}\n".format(
+ x[0],x[2],x[6],x[3]))
+g.write(" } #(end of atom masses)\n\n")
+#----------------------------------------------------------#
+
+
+#write out the pair coefficients
+#----------------------------------------------------------#
+g.write(" write_once(\"In Settings\"){\n")#checked with gaff
+for i,x in enumerate(atom):
+ if x[0] != -10000:
+ fmt = " pair_coeff @atom:{0} @atom:{0} "+pair_style+" {1} {2}\n"
+ g.write(fmt.format(x[0],x[5],x[4]))
+g.write(" } #(end of pair coeffs)\n\n")
+
+g.write(" write_once(\"In Charges\"){\n")#checked with gaff
+for i,x in enumerate(atom):
+ if x[0] != -10000:
+ g.write(" set type @atom:{0} charge {1}\n".format(x[0],x[3]))
+g.write(" } #(end of atom charges)\n\n")
+
+#-----------------------------------------------------------#
+
+# This part of the code creates a lookup dictionary
+# that allows you to find every type of atom by its
+# force field id. force field id is the id number
+# relevant to bonds, angles, dihedrals, and impropers.
+# This greatly increases the speed of angle, bond, dihedral
+# and improper assignment.
+#------------------------------------------------------------#
+atom=sorted(atom,key=itemgetter(1))
+atom_ffid=0
+for x in atom:
+ if x[1]==atom_ffid:
+ atom_lookup[x[1]].append(x[0])
+ elif x[1]>atom_ffid:
+ atom_lookup[x[1]]=[x[0]]
+ atom_ffid=x[1]
+atom_lookup[0]=["*"]
+
+#-------------------------------------------------------------#
+#writing out the bond coefficients and bond parameters#
+#-------------------------------------------------------------#
+
+# First check if the atoms in system can potentially form bonds
+might_have_bonds = False
+for x in bond:
+ for y in atom_lookup.get(x[0],[]):
+ for z in atom_lookup.get(x[1],[]):
+ might_have_bonds = True
+
+if might_have_bonds:
+ h=open("temp.txt","w+")
+ g.write(" write_once(\"In Settings\") {\n")
+ index1=0
+ for x in bond:
+ for y in atom_lookup.get(x[0],[]):
+ for z in atom_lookup.get(x[1],[]):
+ #g.write(" bond_coeff @bond:{}-{} harmonic {} {}\n".format(y,z,x[2]/2,x[3]))
+ # Miguel Gonzales corrected this line to:
+ g.write(" bond_coeff @bond:{}-{} harmonic {} {}\n".format(y,z,x[2],x[3]))
+ h.write(" @bond:{0}-{1} @atom:{0} @atom:{1}\n".format(y,z))
+ g.write(" } #(end of bond_coeffs)\n\n")
+ h.seek(0,0)
+ g.write(" write_once(\"Data Bonds By Type\") {\n")
+ for line in h.readlines():
+ g.write(line)
+ g.write(" } #(end of bonds by type)\n\n")
+ del(bond)
+ h.close()
+
+
+#-----------------------------------------------------------#
+#writing out angle coefficients and angles by type.---------#
+#-----------------------------------------------------------#
+
+# First check if the atoms in system can potentially form angle interactions
+might_have_angles = False
+for x in angle:
+ for y in atom_lookup.get(x[0],[]):
+ for z in atom_lookup.get(x[1],[]):
+ for u in atom_lookup.get(x[2],[]):
+ might_have_angles = True
+
+if might_have_angles:
+ h=open("temp.txt","w+")
+ g.write(" write_once(\"Data Angles By Type\"){\n")
+ for x in angle:
+ for y in atom_lookup.get(x[0],[]):
+ for z in atom_lookup.get(x[1],[]):
+ for u in atom_lookup.get(x[2],[]):
+ #print(y,z,u,x)
+ #h.write(" angle_coeff @angle:{}-{}-{} harmonic {} {}\n".format(y,z,u,x[3]/2.0,x[4]))
+ # Miguel Gonzales corrected this line:
+ h.write(" angle_coeff @angle:{}-{}-{} harmonic {} {}\n".format(y,z,u,x[3],x[4]))
+ g.write(" @angle:{0}-{1}-{2} @atom:{0} @atom:{1} @atom:{2}\n".format(y,z,u))
+
+ g.write(" } #(end of angles by type)\n\n")
+ h.seek(0,0)
+ g.write(" write_once(\"In Settings\" ){\n")
+ for line in h.readlines():
+ g.write(line)
+ g.write(" } #(end of angle_coeffs)\n\n")
+ del(angle)
+ h.close()
+
+#----------------------------------------------------------#
+#writing dihedrals by type and dihedral coefficients-------#
+#----------------------------------------------------------#
+
+# First check if the atoms in system can potentially form dihedral interactions
+might_have_dihedrals = False
+for x in dihedral:
+ for y in atom_lookup.get(x[0],[]):
+ for z in atom_lookup.get(x[1],[]):
+ for u in atom_lookup.get(x[2],[]):
+ for v in atom_lookup.get(x[3],[]):
+ might_have_dihedrals = True
+
+if might_have_dihedrals:
+ h=open("temp.txt","w+")
+ g.write(" write_once(\"Data Dihedrals By Type\") {\n")
+ #print(atom_lookup)
+ for x in dihedral:
+ for y in atom_lookup.get(x[0],[]):
+ for z in atom_lookup.get(x[1],[]):
+ for u in atom_lookup.get(x[2],[]):
+ for v in atom_lookup.get(x[3],[]):
+ if x[0]!=0 and x[3]!=0:
+ g.write(" @dihedral:{0}-{1}-{2}-{3} @atom:{0} @atom:{1} @atom:{2} @atom:{3}\n".format(y,z,u,v))
+ h.write(" dihedral_coeff @dihedral:{}-{}-{}-{} opls {} {} {} {}\n".format(y,z,u,v,x[4],x[5],x[6],x[7]))
+ elif x[0]==0 and x[3]!=0:
+ g.write(" @dihedral:0-{1}-{2}-{3} @atom:{0} @atom:{1} @atom:{2} @atom:{3}\n".format(
+ y,z,u,v))
+ h.write(" dihedral_coeff @dihedral:0-{}-{}-{} opls {} {} {} {}\n".format(z,u,v,x[4],x[5],x[6],x[7]))
+ elif x[0]==0 and x[3]==0:
+ g.write(" @dihedral:0-{1}-{2}-0 @atom:{0} @atom:{1} @atom:{2} @atom:{3}\n".format(y,z,u,v))
+ #h.write(" dihedral_coeff @dihedral:0-{}-{}-0 harmonic {} {} {} {}\n".format(z,u,x[4],x[5],x[6],x[7]))
+ h.write(" dihedral_coeff @dihedral:0-{}-{}-0 opls {} {} {} {}\n".format(z,u,x[4],x[5],x[6],x[7]))
+
+ del(dihedral)
+ g.write(" } #(end of Dihedrals by type)\n\n")
+ h.seek(0,0)
+ g.write(" write_once(\"In Settings\") {\n")
+ for line in h.readlines():
+ g.write(line)
+ g.write(" } #(end of dihedral_coeffs)\n\n")
+ h.close()
+
+#-----------------------------------------------------------------------#
+#----writing out improper coefficients and impropers by type------------#
+#-----------------------------------------------------------------------#
+
+# First check if the atoms in system can potentially form improper interactions
+might_have_impropers = False
+for x in improper:
+ for y in atom_lookup.get(x[0],[]):
+ for z in atom_lookup.get(x[1],[]):
+ for u in atom_lookup.get(x[2],[]):
+ for v in atom_lookup.get(x[3],[]):
+ might_have_impropers = True
+
+if might_have_impropers:
+ h=open("temp.txt","w+")
+ g.write(" write_once(\"Data Impropers By Type (opls_imp.py)\") {\n")
+ for x in improper:
+ for y in atom_lookup.get(x[0],[]):
+ for z in atom_lookup.get(x[1],[]):
+ for u in atom_lookup.get(x[2],[]):
+ for v in atom_lookup.get(x[3],[]):
+ # Notation: let I,J,K,L denote the atom types ("biotypes")
+ # listed in the order they appear in the "oplsaa.prm" file.
+ # (I think J and L are represented by "u" and "v" in the code here.)
+ # It looks like the "oplsaa.prm" file distributed with tinker
+ # treats the third atom ("K") as the central atom.
+ # After checking the code, it appears that the improper angle is
+ # calculated as the angle between the I,J,K and the J,K,L planes
+ if x[0]==0 and x[1]==0 and x[3]==0:
+ g.write(" @improper:0-0-{2}-0 @atom:{0} @atom:{1} @atom:{2} @atom:{3}\n".format(y,z,u,v))
+ h.write(" improper_coeff @improper:0-0-{2}-0 harmonic {4} {5} \n".format(y,z,u,v,x[4]/2,180))
+ else:
+ g.write(" @improper:0-0-{2}-{3} @atom:{0} @atom:{1} @atom:{2} @atom:{3}\n".format(y,z,u,v))
+ h.write(" improper_coeff @improper:0-0-{2}-{3} harmonic {4} {5} \n".format(y,z,u,v,x[4]/2,180))
+
+
+ g.write(" } #(end of impropers by type)\n\n")
+ h.seek(0,0)
+ g.write(" write_once(\"In Settings\") {\n")
+ for line in h.readlines():
+ g.write(line)
+ g.write(" } #(end of improp_coeffs)\n\n")
+ h.close()
+
+#-----------------------------------------------------------------------#
+
+#This section writes out the input parameters required for an opls-aa simulation
+# lammps.
+
+
+g.write(" write_once(\"In Init\") {\n")
+g.write(" units real\n")
+g.write(" atom_style full\n")
+g.write(" bond_style hybrid harmonic\n")
+g.write(" angle_style hybrid harmonic\n")
+g.write(" dihedral_style hybrid opls\n")
+g.write(" improper_style hybrid harmonic\n")
+g.write(pair_style_command)
+g.write(" pair_modify mix geometric\n")
+g.write(" special_bonds lj/coul 0.0 0.0 0.5\n")
+g.write(kspace_style)
+g.write(" } #end of init parameters\n\n")
+g.write("} # OPLSAA\n")
+f.close()
+g.close()
+os.remove("temp.txt")
+
+
+sys.stderr.write("...finished.\n")
diff --git a/tools/moltemplate/moltemplate/dump2data.py b/tools/moltemplate/moltemplate/dump2data.py
new file mode 100755
index 000000000..4c122d8eb
--- /dev/null
+++ b/tools/moltemplate/moltemplate/dump2data.py
@@ -0,0 +1,1308 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+"""
+dump2data.py
+
+Extract dynamical degrees of freedom from a lammps DUMP file (from the stdin)
+and construct a new DATA file (to the stdout).
+A reference DATA file is needed (argument).
+
+ basic usage
+./dump2data.py orig_file.data < dump.lammpstrj > new_file.data
+ (This extract last frame, uses "full" atom_style.)
+
+ options:
+./dump2data.py [-t t -atomstyle style] orig.data < dump.lammpstrj > new.data
+
+"""
+
+# Authors: Andrew Jewett
+# License: New BSD License
+# Copyright (c) 2014
+# All rights reserved.
+
+g_program_name = 'dump2data.py'
+g_date_str = '2017-7-27'
+g_version_str = '0.53.0'
+
+import sys
+from collections import defaultdict
+from operator import itemgetter, attrgetter
+
+
+class InputError(Exception):
+
+ def __init__(self, err_msg):
+ self.err_msg = err_msg
+
+ def __str__(self):
+ return self.err_msg
+
+
+def ErrorLeader(infile, lineno):
+ return '\"' + infile + '\", line ' + str(lineno) + ': '
+
+
+class MiscSettings(object):
+
+ def __init__(self):
+ self.tstart = None
+ self.tstop = None
+ self.timestep_str = ''
+ self.last_frame = False
+ self.center_frame = False
+ self.output_format = 'data'
+ self.input_format = 'dump'
+ self.multi = True
+ self.skip_interval = 1
+ self.scale = None
+
+
+class AtomStyleSettings(object):
+
+ def __init__(self):
+ # The following new member data indicate which columns store
+ # LAMMPS-specific information.
+ # The next 6 members store keep track of the different columns
+ # of the "Atoms" section of a LAMMPS data file:
+ self.column_names = [] # <--A list of column names (optional)
+ # <--A triplet of integers indicating which columns store coordinate data
+ self.i_coords = []
+ # self.ii_coords= [] #<--A list of triplets of column indexes storing
+ # coordinate data
+ self.ii_vects = [] # <--A list of triplets of column indexes storing directional data
+ # (such as dipole or ellipsoid orientations)
+ self.i_atomid = None # <--An integer indicating which column has the atomid
+ self.i_atomtype = None # <--An integer indicating which column has the atomtype
+ self.i_molid = None # <--An integer indicating which column has the molid, if applicable
+
+
+class DataSettings(AtomStyleSettings):
+
+ def __init__(self):
+ AtomStyleSettings.__init__(self)
+ self.contents = ''
+ self.file_name = ''
+
+
+# Atom Styles in LAMMPS as of 2011-7-29
+g_style_map = {'angle': ['atom-ID', 'molecule-ID', 'atom-type', 'x', 'y', 'z'],
+ 'atomic': ['atom-ID', 'atom-type', 'x', 'y', 'z'],
+ 'body': ['atom-ID', 'atom-type', 'bodyflag', 'mass', 'x', 'y', 'z'],
+ 'bond': ['atom-ID', 'molecule-ID', 'atom-type', 'x', 'y', 'z'],
+ 'charge': ['atom-ID', 'atom-type', 'q', 'x', 'y', 'z'],
+ 'dipole': ['atom-ID', 'atom-type', 'q', 'x', 'y', 'z', 'mux', 'muy', 'muz'],
+ 'dpd': ['atom-ID', 'atom-type', 'theta', 'x', 'y', 'z'],
+ 'electron': ['atom-ID', 'atom-type', 'q', 'spin', 'eradius', 'x', 'y', 'z'],
+ 'ellipsoid': ['atom-ID', 'atom-type', 'x', 'y', 'z', 'quatw', 'quati', 'quatj', 'quatk'],
+ 'full': ['atom-ID', 'molecule-ID', 'atom-type', 'q', 'x', 'y', 'z'],
+ 'line': ['atom-ID', 'molecule-ID', 'atom-type', 'lineflag', 'density', 'x', 'y', 'z'],
+ 'meso': ['atom-ID', 'atom-type', 'rho', 'e', 'cv', 'x', 'y', 'z'],
+ 'molecular': ['atom-ID', 'molecule-ID', 'atom-type', 'x', 'y', 'z'],
+ 'peri': ['atom-ID', 'atom-type', 'volume', 'density', 'x', 'y', 'z'],
+ 'smd': ['atom-ID', 'atom-type', 'molecule-ID' 'volume', 'mass', 'kernel-radius', 'contact-radius', 'x', 'y', 'z'],
+ 'sphere': ['atom-ID', 'atom-type', 'diameter', 'density', 'x', 'y', 'z'],
+ 'template': ['atom-ID', 'molecule-ID', 'template-index', 'template-atom', 'atom-type', 'x', 'y', 'z'],
+ 'tri': ['atom-ID', 'molecule-ID', 'atom-type', 'triangleflag', 'density', 'x', 'y', 'z'],
+ 'wavepacket': ['atom-ID', 'atom-type', 'charge', 'spin', 'eradius', 'etag', 'cs_re', 'cs_im', 'x', 'y', 'z'],
+ 'hybrid': ['atom-ID', 'atom-type', 'x', 'y', 'z'],
+ # The following styles were removed from LAMMPS as of 2012-3
+ 'colloid': ['atom-ID', 'atom-type', 'x', 'y', 'z'],
+ 'granular': ['atom-ID', 'atom-type', 'diameter', 'density', 'x', 'y', 'z']}
+
+
+def AtomStyle2ColNames(atom_style_string):
+
+ atom_style_string = atom_style_string.strip()
+ if len(atom_style_string) == 0:
+ raise InputError('Error(dump2data): Invalid atom_style\n'
+ ' (The atom_style command was followed by an empty string.)\n')
+ atom_style_args = atom_style_string.split()
+ atom_style = atom_style_args[0]
+
+ hybrid_args = atom_style_args[1:]
+
+ if (atom_style not in g_style_map):
+ if (len(atom_style_args) >= 2):
+ # If the atom_style_string includes at least 2 words, then we
+ # interpret this as a list of the individual column names
+ return atom_style_args
+ else:
+ raise InputError(
+ 'Error(dump2data): Unrecognized atom_style: \"' + atom_style + '\"\n')
+
+ if (atom_style != 'hybrid'):
+ return g_style_map[atom_style]
+ else:
+ column_names = ['atom-ID', 'atom-type', 'x', 'y', 'z']
+ if (len(hybrid_args) == 0):
+ raise InputError(
+ 'Error(dump2data): atom_style hybrid must be followed by a sub_style.\n')
+ for sub_style in hybrid_args:
+ if (sub_style not in g_style_map):
+ raise InputError(
+ 'Error(dump2data): Unrecognized atom_style: \"' + sub_style + '\"\n')
+ for cname in g_style_map[sub_style]:
+ if cname not in column_names:
+ column_names.append(cname)
+
+ return column_names
+
+
+def ColNames2AidAtypeMolid(column_names):
+ # Because of the diversity of ways that these
+ # numbers are referred to in the LAMMPS documentation,
+ # we have to be flexible and allow the user to refer
+ # to these quantities in a variety of ways.
+ # Hopefully this covers everything:
+
+ i_atomid = None
+ if 'atom-ID' in column_names:
+ i_atomid = column_names.index('atom-ID')
+ elif 'atom−ID' in column_names: # (− is the character used in the manual)
+ i_atomid = column_names.index('atom−ID')
+ elif 'atomID' in column_names:
+ i_atomid = column_names.index('atomID')
+ elif 'atomid' in column_names:
+ i_atomid = column_names.index('atomid')
+ elif 'id' in column_names:
+ i_atomid = column_names.index('id')
+ elif 'atom' in column_names:
+ i_atomid = column_names.index('atom')
+ elif '$atom' in column_names:
+ i_atomid = column_names.index('$atom')
+ else:
+ raise InputError(
+ 'Error(dump2data): List of column names lacks an \"atom-ID\"\n')
+
+ i_atomtype = None
+ if 'atom-type' in column_names:
+ i_atomtype = column_names.index('atom-type')
+ elif 'atom−type' in column_names: # (− hyphen character used in manual)
+ i_atomtype = column_names.index('atom−type')
+ elif 'atomtype' in column_names:
+ i_atomtype = column_names.index('atomtype')
+ elif 'type' in column_names:
+ i_atomtype = column_names.index('type')
+ elif '@atom' in column_names:
+ i_atomtype = column_names.index('@atom')
+ else:
+ raise InputError(
+ 'Error(dump2data): List of column names lacks an \"atom-type\"\n')
+
+ i_molid = None
+ if 'molecule-ID' in column_names:
+ i_molid = column_names.index('molecule-ID')
+ elif 'molecule−ID' in column_names: # (− hyphen character used in manual)
+ i_molid = column_names.index('molecule−ID')
+ elif 'moleculeID' in column_names:
+ i_molid = column_names.index('moleculeID')
+ elif 'moleculeid' in column_names:
+ i_molid = column_names.index('moleculeid')
+ elif 'molecule' in column_names:
+ i_molid = column_names.index('molecule')
+ elif 'molID' in column_names:
+ i_molid = column_names.index('molID')
+ elif 'molid' in column_names:
+ i_molid = column_names.index('molid')
+ elif 'mol' in column_names:
+ i_molid = column_names.index('mol')
+ elif '$mol' in column_names:
+ i_molid = column_names.index('$mol')
+ else:
+ pass # some atom_types do not have a valid molecule-ID
+
+ return i_atomid, i_atomtype, i_molid
+
+
+def ColNames2Coords(column_names):
+ """ Which of the columns correspond to coordinates
+ which must be transformed using rigid-body
+ (affine: rotation + translation) transformations?
+ This function outputs a list of lists of triplets of integers.
+
+ """
+ i_x = None
+ i_y = None
+ i_z = None
+ if 'x' in column_names:
+ i_x = column_names.index('x')
+ if 'y' in column_names:
+ i_y = column_names.index('y')
+ if 'z' in column_names:
+ i_z = column_names.index('z')
+ if (((i_x != None) != (i_y != None)) or
+ ((i_y != None) != (i_z != None)) or
+ ((i_z != None) != (i_x != None))):
+ raise InputError(
+ 'Error(dump2data): columns must include \"x\", \"y\", and \"z\".\n')
+ return [[i_x, i_y, i_z]]
+
+
+def ColNames2Vects(column_names):
+ """ Which of the columns correspond to coordinates
+ which must be transformed using rotations?
+ Some coordinates like dipole moments and
+ ellipsoid orientations should only be rotated
+ (not translated).
+ This function outputs a list of lists of triplets of integers.
+
+ """
+ vects = []
+ i_mux = None
+ i_muy = None
+ i_muz = None
+ if 'mux' in column_names:
+ i_mux = column_names.index('mux')
+ if 'muy' in column_names:
+ i_muy = column_names.index('muy')
+ if 'muz' in column_names:
+ i_muz = column_names.index('muz')
+ if (((i_mux != None) != (i_muy != None)) or
+ ((i_muy != None) != (i_muz != None)) or
+ ((i_muz != None) != (i_mux != None))):
+ raise InputError(
+ 'Error(dump2data): custom atom_style list must define mux, muy, and muz or none.\n')
+ if i_mux != None:
+ vects.append([i_mux, i_muy, i_muz])
+ i_quati = None
+ i_quatj = None
+ i_quatk = None
+ if 'quati' in column_names:
+ i_quati = column_names.index('quati')
+ if 'quatj' in column_names:
+ i_quatj = column_names.index('quatj')
+ if 'quatk' in column_names:
+ i_quatk = column_names.index('quatk')
+ if (((i_quati != None) != (i_quatj != None)) or
+ ((i_quatj != None) != (i_quatk != None)) or
+ ((i_quatk != None) != (i_quati != None))):
+ raise InputError(
+ 'Error(dump2data): custom atom_style list must define quati, quatj, and quatk or none.\n')
+ if i_quati != None:
+ vects.append([i_quati, i_quatj, i_quatk])
+ return vects
+
+
+def ParseArgs(argv,
+ misc_settings,
+ data_settings,
+ warning_strings=None):
+
+ # Loop over the remaining arguments not processed yet.
+ # These arguments are specific to the lttree.py program
+ # and are not understood by this program.
+ i = 1
+ while i < len(argv):
+ #sys.stderr.write('argv['+str(i)+'] = \"'+argv[i]+'\"\n')
+ if ((argv[i].lower() == '-atomstyle') or
+ (argv[i].lower() == '-atom_style') or
+ (argv[i].lower() == '-atom-style')):
+ in_init = []
+ if i + 1 >= len(argv):
+ raise InputError('Error(dump2data): ' + argv[i] + ' flag should be followed by a an atom_style name.\n'
+ ' (Or single quoted string which includes a space-separated\n'
+ ' list of column names.)\n')
+ data_settings.column_names = AtomStyle2ColNames(argv[i + 1])
+ sys.stderr.write(' \"Atoms\" column format:\n')
+ sys.stderr.write(
+ ' ' + (' '.join(data_settings.column_names)) + '\n')
+
+ # ColNames2Coords() and ColNames2Vects() generate lists of
+ # triplets of integers, storing the column numbers containing
+ # x, y, and z coordinate values, and vx,vy,vz direction vectors.
+ data_settings.ii_vects = ColNames2Vects(data_settings.column_names)
+ ii_coords = ColNames2Coords(data_settings.column_names)
+ # This program assumes that there is only one coordinate triplet
+ # (x,y,z) for each atom. Hence we assume that len(ii_coords)==1
+ assert(len(ii_coords) == 1)
+ data_settings.i_coords = ii_coords[0]
+
+ # Now figure out which columns correspond to atomid, atomtype,
+ # molid
+ data_settings.i_atomid, data_settings.i_atomtype, data_settings.i_molid = ColNames2AidAtypeMolid(
+ data_settings.column_names)
+ del(argv[i:i + 2])
+
+ elif (argv[i].lower() == '-icoord'):
+ if i + 1 >= len(argv):
+ raise InputError('Error(dump2data): ' + argv[i] + ' flag should be followed by list of integers\n'
+ ' corresponding to column numbers for coordinates in\n'
+ ' the \"Atoms\" section of a LAMMPS data file.\n')
+ ilist = argv[i + 1].split()
+ if (len(ilist) % 3) != 0:
+ raise InputError('Error(dump2data): ' + argv[i] + ' flag should be followed by list of integers.\n'
+ ' This is usually a list of 3 intebers, but it can contain more.\n'
+ ' The number of cooridnate columns must be divisible by 3,\n'
+ ' (even if the simulation is in 2 dimensions)\n')
+
+ #ii_coords = []
+ # for i in range(0, len(ilist)/3):
+ # cols = [ilist[3*i]+1, ilist[3*i+1]+1, ilist[3*i+2]+1]
+ # ii_coords.append(cols)
+ # if ((len(ii_coords) != 0) or (len(ii_coords[0]) != 3)):
+ # raise InputError('Error(dump2data): Argument \"'+argv[i]+'\" must be followed by exactly 3 integers.\n')
+
+ data_settings.i_coords = ilist
+ if (len(i_coords) != 3):
+ raise InputError('Error(dump2data): Argument \"' +
+ argv[i] + '\" must be followed by exactly 3 integers.\n')
+
+ data_settings.i_coords = ii_coords[0]
+
+ del(argv[i:i + 2])
+
+ elif (argv[i].lower() == '-ivect'):
+ if i + 1 >= len(argv):
+ raise InputError('Error(dump2data): ' + argv[i] + ' flag should be followed by list of integers\n'
+ ' corresponding to column numbers for direction vectors in\n'
+ ' the \"Atoms\" section of a LAMMPS data file.\n')
+ ilist = argv[i + 1].split()
+ if (len(ilist) % 3) != 0:
+ raise InputError('Error(dump2data): ' + argv[i] + ' flag should be followed by list of integers.\n'
+ ' This is usually a list of 3 intebers, but it can contain more.\n'
+ ' The number of cooridnate columns must be divisible by 3,\n'
+ ' (even if the simulation is in 2 dimensions)\n')
+
+ data_settings.ii_vects = []
+ for i in range(0, len(ilist) / 3):
+ cols = [ilist[3 * i] + 1, ilist[3 * i + 1] +
+ 1, ilist[3 * i + 2] + 1]
+ setting.ii_vects.append(cols)
+ # This should override any earlier settings as a result of the
+ # -atomstyle argument. So you can specify a custom list of column
+ # names using -atomstyle "list of column names", and then afterwards
+ # specify which of these columns correspond to direction vectors
+ # using the "-ivect" command line argument later on.
+ # This way, in theory you should be able to read columns from
+ # new custom atom-styles that have not been invented yet.
+ # (Although I haven't tested this.)
+
+ del(argv[i:i + 2])
+ # i_atomid is not really needed for this program, but I load it anyway
+ elif ((argv[i].lower() == '-iatomid') or
+ (argv[i].lower() == '-iid') or
+ (argv[i].lower() == '-iatom-id')):
+ if ((i + 1 >= len(argv)) or (not str.isdigit(argv[i + 1]))):
+ raise InputError('Error(dump2data): ' + argv[i] + ' flag should be followed by an integer\n'
+ ' (>=1) indicating which column in the \"Atoms\" section of a\n'
+ ' LAMMPS data file contains the atom id number (typically 1).\n'
+ ' (This argument is unnecessary if you use the -atomstyle argument.)\n')
+ i_atomid = int(argv[i + 1]) - 1
+ del(argv[i:i + 2])
+ # i_atomtype is not really needed for this program, but I load it
+ # anyway
+ elif ((argv[i].lower() == '-iatomtype') or
+ (argv[i].lower() == '-itype') or
+ (argv[i].lower() == '-iatom-type')):
+ if ((i + 1 >= len(argv)) or (not str.isdigit(argv[i + 1]))):
+ raise InputError('Error(dump2data): ' + argv[i] + ' flag should be followed by an integer\n'
+ ' (>=1) indicating which column in the \"Atoms\" section of a\n'
+ ' LAMMPS data file contains the atom type.\n'
+ ' (This argument is unnecessary if you use the -atomstyle argument.)\n')
+ i_atomtype = int(argv[i + 1]) - 1
+ del(argv[i:i + 2])
+ # i_molid is not really needed for this program, but I load it anyway
+ elif ((argv[i].lower() == '-imolid') or
+ (argv[i].lower() == '-imol') or
+ (argv[i].lower() == '-imol-id') or
+ (argv[i].lower() == '-imoleculeid') or
+ (argv[i].lower() == '-imolecule-id')):
+ if ((i + 1 >= len(argv)) or (not str.isdigit(argv[i + 1]))):
+ raise InputError('Error(dump2data): ' + argv[i] + ' flag should be followed by an integer\n'
+ ' (>=1) indicating which column in the \"Atoms\" section of a\n'
+ ' LAMMPS data file contains the molecule id number.\n'
+ ' (This argument is unnecessary if you use the -atomstyle argument.)\n')
+ del(argv[i:i + 2])
+ # Which frame do we want?
+ elif (argv[i].lower() == '-t'):
+ if ((i + 1 >= len(argv)) or (not str.isdigit(argv[i + 1]))):
+ raise InputError('Error(dump2data): ' + argv[i] + ' flag should be followed by an integer indicating\n'
+ ' the frame you want to extract from the dump file (trajectory).\n'
+ ' This integer should match the timestep corresponding to the frame\n'
+ ' whose coordinates you wish to extract.\n')
+ misc_settings.timestep_str = argv[i + 1]
+ del(argv[i:i + 2])
+ misc_settings.multi = False
+ misc_settings.last_frame = False
+
+ elif (argv[i].lower() == '-tstart'):
+ if ((i + 1 >= len(argv)) or (not str.isdigit(argv[i + 1]))):
+ raise InputError('Error(dump2data): ' + argv[i] + ' flag should be followed by an integer indicating\n'
+ ' the first frame you want to extract from the dump file (trajectory).\n'
+ ' This integer should match the timestep corresponding to the frame\n'
+ ' (after which) you wish to extract coordinates.\n')
+ misc_settings.tstart = float(argv[i + 1])
+ del(argv[i:i + 2])
+ misc_settings.multi = True
+
+ elif (argv[i].lower() == '-tstop'):
+ if ((i + 1 >= len(argv)) or (not str.isdigit(argv[i + 1]))):
+ raise InputError('Error(dump2data): ' + argv[i] + ' flag should be followed by an number indicating\n'
+ ' the first frame you want to extract from the dump file (trajectory).\n'
+ ' Frames after this timestep will be ignored.\n')
+ misc_settings.tstop = float(argv[i + 1])
+ del(argv[i:i + 2])
+ misc_settings.multi = True
+
+ elif (argv[i].lower() == '-center'):
+ misc_settings.center_frame = True
+ del(argv[i:i + 1])
+
+ elif ((argv[i].lower() == '-raw') or (argv[i].lower() == '-rawout')):
+ misc_settings.output_format = 'raw'
+ del(argv[i:i + 1])
+
+ elif (argv[i].lower() == '-rawin'):
+ misc_settings.input_format = 'raw'
+ misc_settings.multi = False
+ del(argv[i:i + 1])
+
+ elif ((argv[i].lower() == '-xyz') or (argv[i].lower() == '-xyzout')):
+ misc_settings.output_format = 'xyz'
+ del(argv[i:i + 1])
+
+ elif (argv[i].lower() == '-xyzin'):
+ misc_settings.input_format = 'xyz'
+ misc_settings.multi = False
+ del(argv[i:i + 1])
+
+ elif (argv[i].lower() == '-multi'):
+ misc_settings.multi = True
+ del(argv[i:i + 1])
+
+ elif (argv[i].lower() == '-last'):
+ misc_settings.last_frame = True
+ misc_settings.multi = False
+ del(argv[i:i + 1])
+
+ elif (argv[i].lower() == '-interval'):
+ misc_settings.skip_interval = int(argv[i + 1])
+ del(argv[i:i + 2])
+
+ elif (argv[i].lower() == '-scale'):
+ misc_settings.scale = float(argv[i + 1])
+ del(argv[i:i + 2])
+
+ elif ((argv[i][0] == '-') and (__name__ == "__main__")):
+ raise InputError(
+ 'Error(dump2data): Unrecogized command line argument \"' + argv[i] + '\"\n')
+ else:
+ i += 1
+
+ usage_examples = \
+ """ Typical usage:
+dump2data.py orig_file.data < dump.lammpstrj > new_file.data
+ (This extracts last frame, uses "full" atom_style.)
+ Additional options:
+dump2data.py -t t -atomstyle style orig.data < dump.lammpstrj > new.data
+"""
+
+ # if __name__ == "__main__":
+
+ if (len(argv) > 2):
+ # if there are more than 2 remaining arguments,
+ # AND
+ # no other function will process the remaining argument list
+ # (ie. if __name__ == "__main__")
+ # THEN
+ raise InputError(' ----\n'
+ 'ERROR(dump2data): You have too many arguments (or unrecognized arguments):\n'
+ ' \"' + (' '.join(argv)) + '\"\n'
+ ' ----\n'
+ + usage_examples)
+ elif (len(argv) < 2):
+ if misc_settings.output_format == 'data':
+ raise InputError(' ----\n'
+ 'ERROR(dump2data): Problem with argument list:\n'
+ ' Expected a LAMMPS .data file as an argument.\n'
+ ' ----\n'
+ + usage_examples)
+ else:
+ in_data_file = open(argv[1], 'r')
+ data_settings.file_name = argv[1]
+ data_settings.contents = in_data_file.readlines()
+ in_data_file.close()
+
+ # end of if-then statement for "if __name__ == "__main__""
+
+ if len(data_settings.i_coords) == 0:
+ if warning_strings != None:
+ warning_strings.append(
+ 'WARNING(dump2data): atom_style unknown. (Use -atomstyle style. Assuming \"full\")')
+ warn_atom_style_unspecified = True
+ # The default atom_style is "full"
+ data_settings.column_names = AtomStyle2ColNames('full')
+ ii_coords = ColNames2Coords(data_settings.column_names)
+ # This program assumes that there is only one coordinate triplet
+ # (x,y,z) for each atom. Hence we assume that len(ii_coords)==1
+ assert(len(ii_coords) == 1)
+ data_settings.i_coords = ii_coords[0]
+ data_settings.ii_vects = ColNames2Vects(data_settings.column_names)
+ data_settings.i_atomid, data_settings.i_atomtype, data_settings.i_molid = ColNames2AidAtypeMolid(
+ data_settings.column_names)
+
+ # sys.stderr.write('########################################################\n'
+ # '## WARNING: atom_style unspecified ##\n'
+ # '## --> \"Atoms\" column data has an unknown format. ##\n'
+ # '## Assuming atom_style = \"full\" ##\n'
+ # '########################################################\n'
+ # '## To specify the \"Atoms\" column format you can: ##\n'
+ # '## 1) Use the -atom_style \"STYLE\" argument ##\n'
+ # '## where \"STYLE\" is a string indicating a LAMMPS ##\n'
+ # '## atom_style, including hybrid styles.(Standard ##\n'
+ # '## atom styles defined in 2011 are supported.) ##\n'
+ # '## 2) Use the -atom_style \"COL_LIST\" argument ##\n'
+ # '## where \"COL_LIST" is a quoted list of strings ##\n'
+ # '## indicating the name of each column. ##\n'
+ # '## Names \"x\",\"y\",\"z\" are interpreted as ##\n'
+ # '## atomic coordinates. \"mux\",\"muy\",\"muz\" ##\n'
+ # '## and \"quati\",\"quatj\",\"quatk\" are ##\n'
+ # '## interpreted as direction vectors. ##\n'
+ # '## 3) Use the -icoord \"cx cy cz...\" argument ##\n'
+ # '## where \"cx cy cz\" is a list of integers ##\n'
+ # '## indicating the column numbers for the x,y,z ##\n'
+ # '## coordinates of each atom. ##\n'
+ # '## 4) Use the -ivect \"cmux cmuy cmuz...\" argument ##\n'
+ # '## where \"cmux cmuy cmuz...\" is a list of ##\n'
+ # '## integers indicating the column numbers for ##\n'
+ # '## the vector that determines the direction of a ##\n'
+ # '## dipole or ellipsoid (ie. a rotateable vector).##\n'
+ # '## (More than one triplet can be specified. The ##\n'
+ # '## number of entries must be divisible by 3.) ##\n'
+ # '## 5) Include a ##\n'
+ # '## write(\"in_init.txt\"){atom_style ...} ##\n'
+ # '## statement in your .ttree file. ##\n'
+ # '########################################################\n')
+
+
+def GetIntAtomID(pair):
+ return int(pair[0])
+
+
+def WriteFrameToData(out_file,
+ descr_str,
+ misc_settings,
+ data_settings,
+ natoms,
+ coords,
+ coords_ixiyiz,
+ vects,
+ velocities,
+ atomtypes,
+ molids,
+ xlo_str, xhi_str,
+ ylo_str, yhi_str,
+ zlo_str, zhi_str,
+ xy_str, xz_str, yz_str):
+ """
+ Open a data file. Read the LAMMPS DATA file line by line.
+ When the line contains information which is also in the dump file,
+ replace that information with information from the dump file.
+ (Information from a dump file is stored in the arguments to this function.)
+ The resulting file also has LAMMPS DATA format.
+
+ """
+
+ section = ''
+ firstline = True
+ for line in data_settings.contents:
+ ic = line.find('#')
+ if ic != -1:
+ line = line[:ic]
+ line = line.strip()
+
+ if firstline: # Construct a new descriptive header line:
+ if descr_str != None:
+ line = descr_str
+ firstline = False
+
+ if (len(line) > 0):
+ # The initial section (section='') is assumed to be
+ # the "LAMMPS Description" section. This is where the
+ # box boundaries are specified.
+ if section == '':
+ tokens = line.split()
+ if ((len(tokens) >= 2) and
+ ((tokens[-2] == 'xlo') and (tokens[-1] == 'xhi')) and
+ ((xlo_str != None) and (xhi_str != None))):
+ tokens[0] = xlo_str
+ tokens[1] = xhi_str
+ line = ' '.join(tokens)
+ elif ((len(tokens) >= 2) and
+ ((tokens[-2] == 'ylo') and (tokens[-1] == 'yhi')) and
+ ((ylo_str != None) and (yhi_str != None))):
+ tokens[0] = ylo_str
+ tokens[1] = yhi_str
+ line = ' '.join(tokens)
+ elif ((len(tokens) >= 2) and
+ ((tokens[-2] == 'zlo') and (tokens[-1] == 'zhi')) and
+ ((zlo_str != None) and (zhi_str != None))):
+ tokens[0] = zlo_str
+ tokens[1] = zhi_str
+ line = ' '.join(tokens)
+ elif ((len(tokens) >= 3) and
+ ((tokens[-3] == 'xy') and
+ (tokens[-2] == 'xz') and
+ (tokens[-1] == 'yz')) and
+ ((xy_str != None) and
+ (xz_str != None) and
+ (yz_str != None))):
+ tokens[0] = xy_str
+ tokens[1] = xz_str
+ tokens[2] = yz_str
+ line = ' '.join(tokens)
+ if (line in set(['Masses', 'Velocities', 'Atoms',
+ 'Bond Coeffs', 'Angle Coeffs',
+ 'Dihedral Coeffs', 'Improper Coeffs',
+ 'Bonds', 'Angles', 'Dihedrals', 'Impropers'])):
+ section = line
+ else:
+ if (section == 'Atoms'):
+ tokens = line.split()
+ atomid = tokens[0]
+
+ # update the atomtype and molID
+ # (which may change during the simulation)
+ if atomtypes:
+ tokens[data_settings.i_atomtype] = atomtypes[atomid]
+ if molids and data_settings.i_molid:
+ tokens[data_settings.i_molid] = molids[atomid]
+
+ if atomid in coords:
+ # Loop over all of the vector degrees of
+ # freedom of the particle, excluding coords
+ # (for example: mu_x, mu_y, mu_z,
+ # or quat_i, quat_j, quat_k)
+ # In principle, depending on the atom_style,
+ # there could be multiple vectors per atom.
+ for I in range(0, len(data_settings.ii_vects)):
+ if atomid in vects:
+ vxvyvz = vects[atomid][I]
+ assert((type(vxvyvz) is tuple) and
+ (len(vxvyvz) == 3))
+ i_vx = data_settings.ii_vects[I][0]
+ i_vy = data_settings.ii_vects[I][1]
+ i_vz = data_settings.ii_vects[I][2]
+ if ((i_vx >= len(tokens)) or
+ (i_vy >= len(tokens)) or
+ (i_vz >= len(tokens))):
+ raise InputError('Error(dump2data): Atom style incompatible with data file.\n'
+ ' Specify the atom_style using -atomstyle style.\n')
+
+ # Replace the vector components with numbers
+ # from the dump file
+ tokens[i_vx] = vxvyvz[0]
+ tokens[i_vy] = vxvyvz[1]
+ tokens[i_vz] = vxvyvz[2]
+
+ else:
+ if data_settings.column_names[
+ i_vx] not in dump_column_names:
+ raise InputError('Error(dump2data): You have a vector coordinate in your DATA file named \"' + data_settings.column_names[i_vx] + '\"\n'
+ ' However there are no columns with this name in your DUMP file\n'
+ ' (or the column was not in the expected place).\n'
+ ' Hence, the atom styles in the dump and data files do not match.')
+
+ # Now loop over the coordinates of each atom.
+ # for I in range(0,len(data_settings.ii_coords)):
+ # xyz = coords[atomid][I]
+ # THIS LOOP IS SILLY.
+ # EACH ATOM ONLY HAS ONE SET OF X,Y,Z
+ # COORDINATES. COMMENTING OUT THIS LOOP:
+ # i_x = data_settings.ii_coords[I][0]
+ # i_y = data_settings.ii_coords[I][1]
+ # i_z = data_settings.ii_coords[I][2]
+ # USING THIS INSTEAD:
+
+ xyz = coords[atomid]
+ i_x = data_settings.i_coords[0]
+ i_y = data_settings.i_coords[1]
+ i_z = data_settings.i_coords[2]
+ if ((i_x >= len(tokens)) or
+ (i_y >= len(tokens)) or
+ (i_z >= len(tokens))):
+ raise InputError('Error(dump2data): Atom style incompatible with data file.\n'
+ ' Specify the atom_style using -atomstyle style.\n')
+ # Replace the coordinates with coordinates from
+ # the dump file into tokens[i_x]...
+ tokens[i_x] = str(xyz[0])
+ tokens[i_y] = str(xyz[1])
+ tokens[i_z] = str(xyz[2])
+
+ # Are there there any integer coords
+ # (ix, iy, iz) in the dump file?
+ if coords_ixiyiz[atomid]:
+ assert(len(coords_ixiyiz[atomid]) == 3)
+ # Integer coords stored in the DATA file too?
+ if len(tokens) == (len(data_settings.column_names) + 3):
+ # Then replace the last 3 columns of the
+ # line in the data file with: ix iy iz
+ tokens[-3] = coords_ixiyiz[atomid][0]
+ tokens[-2] = coords_ixiyiz[atomid][1]
+ tokens[-1] = coords_ixiyiz[atomid][2]
+ else:
+ if (not misc_settings.center_frame):
+ # Append them to the end of the line:
+ tokens.append(coords_ixiyiz[atomid][0])
+ tokens.append(coords_ixiyiz[atomid][1])
+ tokens.append(coords_ixiyiz[atomid][2])
+
+ # Now finally paste all the tokens together:
+ line = ' '.join(tokens)
+
+ elif (section == 'Velocities'):
+ tokens = line.split()
+ atomid = tokens[0]
+ if atomid in velocities:
+
+ vxvyvz = velocities[atomid]
+ if len(tokens) < 4:
+ raise InputError(
+ 'Error(dump2data): Not enough columns in the \"Velocities\" file.\n')
+ # Replace the coordinates with coordinates from
+ # the dump file into tokens[i_x]...
+ tokens[1] = str(vxvyvz[0])
+ tokens[2] = str(vxvyvz[1])
+ tokens[3] = str(vxvyvz[2])
+
+ # Now finally paste all the tokens together:
+ line = ' '.join(tokens)
+
+ out_file.write(line + '\n')
+
+ return
+
+
+def main():
+ sys.stderr.write(g_program_name + ' v' +
+ g_version_str + ' ' + g_date_str + ' ')
+ # if sys.version < '3':
+ # sys.stderr.write(' (python version < 3)\n')
+ # else:
+ sys.stderr.write('\n')
+
+ try:
+ data_settings = DataSettings()
+ misc_settings = MiscSettings()
+ warning_strings = []
+ ParseArgs(sys.argv,
+ misc_settings,
+ data_settings,
+ warning_strings)
+
+ # Open the lammps dump file (trajectory file)
+ # Skip to the line containing the correct frame/timestep.
+ # (this is the last frame by default).
+ # Read the "BOX BOUNDS" and the "ATOMS" sections.
+ # Store the x,y,z coordinates in the "coords" associative array
+ # (indexed by atom id, which could be non-numeric in general).
+
+ section = ''
+
+ #coords = defaultdict(list)
+ #coords_ixiyiz = defaultdict(list)
+ #vects = defaultdict(list)
+ #xlo_str = xhi_str = ylo_str = yhi_str = zlo_str = zhi_str = None
+ #xy_str = xz_str = yz_str = None
+ #natoms = -1
+ #timestep_str = ''
+
+ frame_coords = defaultdict(list)
+ frame_coords_ixiyiz = defaultdict(list)
+ frame_vects = defaultdict(list)
+ frame_velocities = defaultdict(list)
+ frame_atomtypes = defaultdict(list)
+ frame_molid = defaultdict(list)
+ frame_xlo_str = frame_xhi_str = None
+ frame_ylo_str = frame_yhi_str = None
+ frame_zlo_str = frame_zhi_str = None
+ frame_xy_str = frame_xz_str = frame_yz_str = None
+ frame_natoms = -1
+ frame_timestep_str = ''
+ i_atomid = i_atomtype = i_molid = -1
+ i_x = i_y = i_z = i_xu = i_yu = i_zu = -1
+ i_xs = i_ys = i_zs = i_xsu = i_ysu = i_zsu = -1
+
+ dump_column_names = []
+
+ #num_frames_in = -1
+ num_frames_out = 0
+ finished_reading_frame = False
+ read_last_frame = False
+
+ #in_coord_file = open('tmp_atom_coords.dat','r')
+ in_coord_file = sys.stdin
+
+ while True:
+
+ line = in_coord_file.readline()
+ if line == '': # if EOF
+ if len(frame_coords) > 0:
+ finished_reading_frame = True
+ read_last_frame = True
+
+ line = line.strip()
+ if (line.find('ITEM:') == 0):
+ section = line
+ if (section.find('ITEM: ATOMS ') == 0):
+ dump_column_names = line[12:].split()
+ i_atomid, i_atomtype, i_molid = \
+ ColNames2AidAtypeMolid(dump_column_names)
+ #ii_coords = ColNames2Coords(dump_column_names)
+
+ x_already_unwrapped = False
+ y_already_unwrapped = False
+ z_already_unwrapped = False
+
+ if 'x' in dump_column_names:
+ i_x = dump_column_names.index('x')
+ elif 'xu' in dump_column_names:
+ i_xu = dump_column_names.index('xu')
+ x_already_unwrapped = True
+ elif 'xs' in dump_column_names:
+ i_xs = dump_column_names.index('xs')
+ elif 'xsu' in dump_column_names:
+ i_xsu = dump_column_names.index('xsu')
+ x_already_unwrapped = True
+ else:
+ raise InputError('Error(dump2data): \"ATOMS\" section of dump file lacks a \"x\" column.\n' +
+ ' (excerpt below)\n' + line)
+
+ if 'y' in dump_column_names:
+ i_y = dump_column_names.index('y')
+ elif 'yu' in dump_column_names:
+ i_yu = dump_column_names.index('yu')
+ y_already_unwrapped = True
+ elif 'ys' in dump_column_names:
+ i_ys = dump_column_names.index('ys')
+ elif 'ysu' in dump_column_names:
+ i_ysu = dump_column_names.index('ysu')
+ y_already_unwrapped = True
+ else:
+ raise InputError('Error(dump2data): \"ATOMS\" section of dump file lacks a \"y\" column.\n' +
+ ' (excerpt below)\n' + line)
+
+ if 'z' in dump_column_names:
+ i_z = dump_column_names.index('z')
+ elif 'zu' in dump_column_names:
+ i_zu = dump_column_names.index('zu')
+ z_already_unwrapped = True
+ elif 'zs' in dump_column_names:
+ i_zs = dump_column_names.index('zs')
+ elif 'zsu' in dump_column_names:
+ i_zsu = dump_column_names.index('zsu')
+ z_already_unwrapped = True
+ else:
+ raise InputError('Error(dump2data): \"ATOMS\" section of dump file lacks a \"z\" column.\n' +
+ ' (excerpt below)\n' + line)
+
+ ii_vects = ColNames2Vects(dump_column_names)
+ if (len(ii_vects) != len(data_settings.ii_vects)):
+ raise InputError('Error(dump2data): atom styles in data and dump files differ.\n'
+ ' Some needed columns from the atom_styles are missing in the dump file.')
+
+ i_ix = i_iy = i_iz = -1
+ if 'ix' in dump_column_names:
+ i_ix = dump_column_names.index('ix')
+ if 'iy' in dump_column_names:
+ i_iy = dump_column_names.index('iy')
+ if 'iz' in dump_column_names:
+ i_iz = dump_column_names.index('iz')
+
+ i_vx = i_vy = i_vz = -1
+ if 'vx' in dump_column_names:
+ i_vx = dump_column_names.index('vx')
+ if 'vy' in dump_column_names:
+ i_vy = dump_column_names.index('vy')
+ if 'vz' in dump_column_names:
+ i_vz = dump_column_names.index('vz')
+
+ elif (section.find('ITEM: BOX BOUNDS') == 0):
+ avec = [1.0, 0.0, 0.0]
+ bvec = [0.0, 1.0, 0.0]
+ cvec = [0.0, 0.0, 1.0]
+
+ elif (section.find('ITEM: TIMESTEP') == 0):
+ if len(frame_coords) > 0:
+ finished_reading_frame = True
+
+ elif ((len(line) > 0) and (line[0] != '#')):
+ if (section.find('ITEM: TIMESTEP') == 0):
+ finished_reading_frame = False
+ frame_timestep_str = line
+ frame_coords = defaultdict(list)
+ frame_coords_ixiyiz = defaultdict(list)
+ frame_vects = defaultdict(list)
+ frame_velocities = defaultdict(list)
+ frame_atomtypes = defaultdict(list)
+ frame_molids = defaultdict(list)
+ frame_xlo_str = frame_xhi_str = None
+ frame_ylo_str = frame_yhi_str = None
+ frame_zlo_str = frame_zhi_str = None
+ frame_xy_str = frame_xz_str = frame_yz_str = None
+
+ elif (section == 'ITEM: NUMBER OF ATOMS'):
+ frame_natoms = int(line)
+
+ elif (section.find('ITEM: BOX BOUNDS') == 0):
+ is_triclinic = (section.find('xy xz yz') == 0)
+
+ tokens = line.split()
+ if not frame_xlo_str:
+ assert(not frame_xhi_str)
+ frame_xlo_str = tokens[0]
+ frame_xhi_str = tokens[1]
+ avec[0] = float(frame_xhi_str) - float(frame_xlo_str)
+ if (is_triclinic and (len(tokens) > 2)):
+ frame_xy_str = tokens[2]
+ bvec[0] = float(frame_xy_str)
+ # See http://lammps.sandia.gov/doc/Section-howto.html#howto_12
+ # sys.stderr.write('avec='+str(avec)+'\n')
+
+ elif not frame_ylo_str:
+ assert(not frame_yhi_str)
+ frame_ylo_str = tokens[0]
+ frame_yhi_str = tokens[1]
+ bvec[1] = float(frame_yhi_str) - float(frame_ylo_str)
+ if (is_triclinic and (len(tokens) > 2)):
+ frame_xz_str = tokens[2]
+ cvec[0] = float(frame_xz_str)
+ # See http://lammps.sandia.gov/doc/Section-howto.html#howto_12
+ # sys.stderr.write('bvec='+str(bvec)+'\n')
+
+ elif not frame_zlo_str:
+ assert(not frame_zhi_str)
+ frame_zlo_str = tokens[0]
+ frame_zhi_str = tokens[1]
+ cvec = [0.0, 0.0, float(
+ frame_zhi_str) - float(frame_zlo_str)]
+ if (is_triclinic and (len(tokens) > 2)):
+ frame_yz_str = tokens[2]
+ cvec[1] = float(frame_yz_str)
+ # See http://lammps.sandia.gov/doc/Section-howto.html#howto_12
+ # sys.stderr.write('cvec='+str(cvec)+'\n')
+
+ elif (section.find('ITEM: ATOMS') == 0):
+ tokens = line.split()
+ atomid = tokens[i_atomid]
+ atomtype = tokens[i_atomtype]
+ frame_atomtypes[atomid] = atomtype
+ if i_molid:
+ molid = tokens[i_molid]
+ frame_molids[atomid] = molid
+
+ if ((i_x != -1) and (i_y != -1) and (i_z != -1)):
+ x = float(tokens[i_x]) # i_x determined above
+ y = float(tokens[i_y])
+ z = float(tokens[i_z])
+
+ elif ((i_xu != -1) and (i_yu != -1) and (i_zu != -1)):
+ x = float(tokens[i_xu]) # i_x determined above
+ y = float(tokens[i_yu])
+ z = float(tokens[i_zu])
+
+ elif ((i_xs != -1) and (i_ys != -1) and (i_zs != -1)):
+ xs = float(tokens[i_xs]) # i_xs determined above
+ ys = float(tokens[i_ys])
+ zs = float(tokens[i_zs])
+
+ x = float(xlo_str) + xs * \
+ avec[0] + ys * bvec[0] + zs * cvec[0]
+ y = float(ylo_str) + xs * \
+ avec[1] + ys * bvec[1] + zs * cvec[1]
+ z = float(zlo_str) + xs * \
+ avec[2] + ys * bvec[2] + zs * cvec[2]
+
+ # avec, bvec, cvec described here:
+ # http://lammps.sandia.gov/doc/Section-howto.html#howto_12
+
+ elif ((i_xsu != -1) and (i_ysu != -1) and (i_zsu != -1)):
+ xsu = float(tokens[i_xsu]) # i_xs determined above
+ ysu = float(tokens[i_ysu])
+ zsu = float(tokens[i_zsu])
+
+ x = float(xlo_str) + xsu * \
+ avec[0] + ysu * bvec[0] + zsu * cvec[0]
+ y = float(ylo_str) + xsu * \
+ avec[1] + ysu * bvec[1] + zsu * cvec[1]
+ z = float(zlo_str) + xsu * \
+ avec[2] + ysu * bvec[2] + zsu * cvec[2]
+
+ # Now deal with ix, iy, iz
+ if (i_ix != -1) and (not x_already_unwrapped):
+ ix = int(tokens[i_ix])
+ if (misc_settings.center_frame or
+ (misc_settings.output_format != 'data')):
+ #sys.stderr.write('atomid='+str(atomid)+', ix = '+str(ix)+', avec='+str(avec)+'\n')
+ x += ix * avec[0]
+ y += ix * avec[1]
+ z += ix * avec[2]
+ else:
+ if atomid not in frame_coords_ixiyiz:
+ frame_coords_ixiyiz[atomid] = ["0", "0", "0"]
+ frame_coords_ixiyiz[atomid][0] = str(ix)
+
+ if (i_iy != -1) and (not y_already_unwrapped):
+ iy = int(tokens[i_iy])
+ if (misc_settings.center_frame or
+ (misc_settings.output_format != 'data')):
+ #sys.stderr.write('atomid='+str(atomid)+', iy = '+str(iy)+', bvec='+str(bvec)+'\n')
+ x += iy * bvec[0]
+ y += iy * bvec[1]
+ z += iy * bvec[2]
+ else:
+ if atomid not in frame_coords_ixiyiz:
+ frame_coords_ixiyiz[atomid] = ["0", "0", "0"]
+ frame_coords_ixiyiz[atomid][1] = str(iy)
+
+ if (i_iz != -1) and (not z_already_unwrapped):
+ iz = int(tokens[i_iz])
+ if (misc_settings.center_frame or
+ (misc_settings.output_format != 'data')):
+ #sys.stderr.write('atomid='+str(atomid)+', iz = '+str(iz)+', cvec='+str(cvec)+'\n')
+ x += iz * cvec[0]
+ y += iz * cvec[1]
+ z += iz * cvec[2]
+ else:
+ if atomid not in frame_coords_ixiyiz:
+ frame_coords_ixiyiz[atomid] = ["0", "0", "0"]
+ frame_coords_ixiyiz[atomid][2] = str(iz)
+
+ #frame_coords[atomid] = [str(x), str(y), str(z)]
+ frame_coords[atomid] = [x, y, z]
+
+ vx = 0.0
+ vy = 0.0
+ vz = 0.0
+ if i_vx != -1:
+ vx = float(tokens[i_vx])
+ if i_vy != -1:
+ vy = float(tokens[i_vy])
+ if i_vz != -1:
+ vz = float(tokens[i_vz])
+
+ frame_velocities[atomid] = [vx, vy, vz]
+
+ # NOTE:
+ # There can be multiple "vects" associated with each atom
+ # (for example, dipole moments, ellipsoid directions, etc..)
+
+ if atomid not in frame_vects:
+ frame_vects[atomid] = [
+ None for I in range(0, len(ii_vects))]
+
+ for I in range(0, len(ii_vects)):
+ i_vx = ii_vects[I][0]
+ i_vy = ii_vects[I][1]
+ i_vz = ii_vects[I][2]
+ vx_str = tokens[i_vx]
+ vy_str = tokens[i_vy]
+ vz_str = tokens[i_vz]
+
+ # Now the annoying part:
+ # Which vect is it (mux,muy,muz) or (quati,quatj,quatk)?
+ # The columns could be listed in a different order
+ # in the data file and in the dump file.
+ # Figure out which vector it is in the data file (stored
+ # in the integer "I_data") so that column names match.
+ name_vx = dump_column_names[i_vx]
+ name_vy = dump_column_names[i_vy]
+ name_vz = dump_column_names[i_vz]
+ i_vx_data = 0
+ I_data = -1
+ # This code is ugly and inneficient.
+ # I never want to touch this code again. (Hope it
+ # works)
+ while i_vx_data < len(data_settings.column_names):
+ if name_vx == data_settings.column_names[i_vx_data]:
+ I_data = 0
+ while I_data < len(data_settings.ii_vects):
+ if ii_vects[I] == data_settings.ii_vects[I_data]:
+ break
+ I_data += 1
+
+ if (0 < I_data) and (I_data < len(data_settings.ii_vects)):
+ break
+
+ i_vx_data += 1
+
+ if (0 <= I_data) and (I_data < len(data_settings.ii_vects)):
+ frame_vects[atomid][I_data] = (
+ vx_str, vy_str, vz_str)
+ else:
+ raise InputError('Error(dump2data): You have a vector coordinate in your dump file named \"' + name_vx + '\"\n'
+ ' However there are no columns with this name in your data file\n'
+ ' (or the column was not in the expected place).\n'
+ ' Hence, the atom styles in the dump and data files do not match.')
+
+ if finished_reading_frame:
+
+ if misc_settings.scale != None:
+ for atomid in frame_coords:
+ for d in range(0, 3):
+ crd = float(frame_coords[atomid][d])
+ frame_coords[atomid][d] = str(
+ crd * misc_settings.scale)
+
+ if len(frame_coords) != frame_natoms:
+ err_msg = 'Number of lines in \"ITEM: ATOMS\" section disagrees with\n' \
+ + ' \"ITEM: NUMBER OF ATOMS\" declared earlier in this file.\n'
+ raise InputError(err_msg)
+
+ if misc_settings.center_frame:
+ cm = [0.0, 0.0, 0.0]
+ for atomid in frame_coords:
+ for d in range(0, 3):
+ cm[d] += float(frame_coords[atomid][d])
+ for d in range(0, 3):
+ cm[d] /= float(len(frame_coords))
+ for atomid in frame_coords:
+ for d in range(0, 3):
+ frame_coords[atomid][d] = "%.7g" % (
+ float(frame_coords[atomid][d]) - cm[d])
+ frame_coords_ixiyiz[atomid] = ["0", "0", "0"]
+
+ if misc_settings.output_format != 'data':
+ frame_coords_ixiyiz[atomid] = ["0", "0", "0"]
+
+ # if (num_frames_in == -1):
+ # if (misc_settings.timestep_str != ''):
+ # if (float(frame_timestep_str) >=
+ # float(misc_settings.timestep_str)):
+ # num_frames_in = 1
+ # if not misc_settings.multi:
+ # read_last_frame = True
+ # else:
+ # num_frames_in = 1
+
+ # Should we write out the coordinates in this frame?
+ write_this_frame = False
+
+ if misc_settings.multi:
+
+ write_this_frame = True
+ if (misc_settings.tstart and
+ (int(frame_timestep_str) < misc_settings.tstart)):
+ write_this_frame = False
+ if (misc_settings.tstop and
+ (int(frame_timestep_str) > misc_settings.tstop)):
+ write_this_frame = False
+ read_last_frame = True
+
+ if misc_settings.tstart:
+ tstart = misc_settings.tstart
+ else:
+ tstart = 0
+
+ if ((int(frame_timestep_str) - tstart)
+ %
+ misc_settings.skip_interval) != 0:
+ write_this_frame = False
+
+ else:
+ if misc_settings.last_frame:
+ if read_last_frame:
+ write_this_frame = True
+ else:
+ assert(misc_settings.timestep_str)
+ if (int(frame_timestep_str) >=
+ int(misc_settings.timestep_str)):
+ write_this_frame = True
+ read_last_frame = True
+
+ if write_this_frame:
+
+ num_frames_out += 1
+
+ sys.stderr.write(' (writing frame ' + str(num_frames_out) +
+ ' at timestep ' + frame_timestep_str + ')\n')
+
+ # Print the frame
+ # First check which format to output the data:
+ if misc_settings.output_format == 'raw':
+ # Print out the coordinates in simple 3-column text
+ # format
+ for atomid, xyz in iter(sorted(frame_coords.items(), key=GetIntAtomID)):
+ if misc_settings.scale == None:
+ sys.stdout.write(
+ str(xyz[0]) + ' ' + str(xyz[1]) + ' ' + str(xyz[2]) + '\n')
+ else:
+ # Only convert to float and back if
+ # misc_settings.scale != None
+ sys.stdout.write(str(misc_settings.scale * float(xyz[0])) + ' ' +
+ str(misc_settings.scale * float(xyz[1])) + ' ' +
+ str(misc_settings.scale * float(xyz[2])) + '\n')
+ sys.stdout.write('\n')
+
+ elif misc_settings.output_format == 'xyz':
+ # Print out the coordinates in simple 3-column text
+ # format
+ sys.stdout.write(str(len(frame_coords)) + '\n')
+ descr_str = 'LAMMPS data from timestep ' + frame_timestep_str
+ sys.stdout.write(descr_str + '\n')
+ for atomid, xyz in iter(sorted(frame_coords.items(), key=GetIntAtomID)):
+ if misc_settings.scale == None:
+ sys.stdout.write(str(atomid) + ' ' +
+ str(xyz[0]) + ' ' +
+ str(xyz[1]) + ' ' +
+ str(xyz[2]) + '\n')
+ else:
+ # Only convert to float and back if
+ # misc_settings.scale != None
+ sys.stdout.write(str(atomid) + ' ' +
+ str(misc_settings.scale * float(xyz[0])) + ' ' +
+ str(misc_settings.scale * float(xyz[1])) + ' ' +
+ str(misc_settings.scale * float(xyz[2])) + '\n')
+
+ else:
+ # Parse the DATA file specified by the user
+ # and replace appropriate lines or fields with
+ # the corresponding text from the DUMP file.
+ descr_str = 'LAMMPS data from timestep ' + frame_timestep_str
+ if misc_settings.multi and (misc_settings.output_format == 'data'):
+ out_file_name = data_settings.file_name + '.'\
+ + str(num_frames_out)
+ sys.stderr.write(
+ ' (creating file \"' + out_file_name + '\")\n')
+ out_file = open(out_file_name, 'w')
+ else:
+ out_file = sys.stdout
+
+ WriteFrameToData(out_file,
+ descr_str,
+ misc_settings,
+ data_settings,
+ frame_natoms,
+ frame_coords,
+ frame_coords_ixiyiz,
+ frame_vects,
+ frame_velocities,
+ frame_atomtypes,
+ frame_molids,
+ frame_xlo_str, frame_xhi_str,
+ frame_ylo_str, frame_yhi_str,
+ frame_zlo_str, frame_zhi_str,
+ frame_xy_str, frame_xz_str, frame_yz_str)
+
+ # if misc_settings.multi:
+ # out_file.close()
+
+ # if num_frames_in >= 0:
+ # num_frames_in += 1
+
+ if read_last_frame:
+ exit(0)
+
+ for warning_str in warning_strings:
+ sys.stderr.write(warning_str + '\n')
+
+ except (ValueError, InputError) as err:
+ sys.stderr.write('\n' + str(err) + '\n')
+ sys.exit(-1)
+
+ return
+
+
+if __name__ == '__main__':
+ main()
diff --git a/tools/moltemplate/moltemplate/ettree.py b/tools/moltemplate/moltemplate/ettree.py
new file mode 100755
index 000000000..c8d90c7e4
--- /dev/null
+++ b/tools/moltemplate/moltemplate/ettree.py
@@ -0,0 +1,580 @@
+#!/usr/bin/env python
+
+# Author: Andrew Jewett (jewett.aij at g mail)
+# http://www.chem.ucsb.edu/~sheagroup
+# License: 3-clause BSD License (See LICENSE.TXT)
+# Copyright (c) 2011, Regents of the University of California
+# All rights reserved.
+
+"""
+ettree.py
+
+ettree.py is an extension of the generic ttree.py program.
+This version can understand and manipulate ttree-style templates which
+are specialized for storing molecule-specific data for use in ESPresSo/TCL.
+
+The main difference between ettree.py and ttree.py is:
+Unlike ttree.py, ettree.py understands rigid-body movement commands like
+"rot()" and "move()" which allows it to reorient and move each copy
+of a molecule to a new location. (ttree.py just ignores these commands.
+Consequently ESPresSo/TCL input file (fragments) created with ttree.py have
+invalid (overlapping) atomic coordinates and must be modified or aguemted
+later (by loading atomic coordinates from a PDB file or an XYZ file).
+ettree.py understands and can manipulate atomic coordinates.
+
+Additional ESPresSo/TCL-specific features may be added in the future.
+
+"""
+
+import sys
+
+# Problem:
+# One of the python files I need is in a different git repository
+# which is linked to the parent directory using "git subtree".
+# The result of this is that he python code I need to access is in
+# a directory which is outside the current one (in "../moltemplate/src")
+# For now, I'm willing to resort to using a hack to import this file.
+
+import os, inspect
+# use this if you want to include modules from a subfolder
+# http://stackoverflow.com/questions/279237/import-a-module-from-a-relative-path
+cmd_subfolder = os.path.realpath(os.path.abspath(os.path.join(os.path.split(inspect.getfile( inspect.currentframe() ))[0],"..","moltemplate","src")))
+if cmd_subfolder not in sys.path:
+ sys.path.insert(0, cmd_subfolder)
+
+
+try:
+ from .ttree import BasicUISettings, BasicUIParseArgs, EraseTemplateFiles, \
+ StackableCommand, PopCommand, PopRightCommand, PopLeftCommand, \
+ PushCommand, PushLeftCommand, PushRightCommand, ScopeCommand, \
+ WriteVarBindingsFile, StaticObj, InstanceObj, \
+ BasicUI, ScopeBegin, ScopeEnd, WriteFileCommand, Render
+ from .ttree_lex import InputError, TextBlock, DeleteLinesWithBadVars, \
+ TemplateLexer
+ from .ettree_styles import espt_delim_atom_fields, \
+ LinesWSlashes, SplitMultiDelims, SplitAtomLine, \
+ iEsptAtomCoords, iEsptAtomVects, iEsptAtomType, iEsptAtomID
+ from .ttree_matrix_stack import AffineTransform, MultiAffineStack, \
+ LinTransform
+except (SystemError, ValueError):
+ # not installed as a package
+ from ttree import *
+ from ttree_lex import *
+ from ettree_styles import *
+ from ttree_matrix_stack import *
+
+try:
+ unicode
+except NameError:
+ # Python 3
+ basestring = unicode = str
+
+
+data_atoms = 'Data Atoms' # <-- The name of the file/section storing Atom data.
+
+
+
+class EttreeSettings(BasicUISettings):
+ """ Currently EttreeSettings is identical to BasicUISettings.
+ Later on, if I find I need to add custom settings specific to ESPresSoTCL,
+ I will add them here.
+ (See "class LttreeSettings" in "lttree.py" for comparison.)
+
+ """
+
+ def __init__(self,
+ user_bindings_x=None,
+ user_bindings=None,
+ order_method='by_command'):
+
+ BasicUISettings.__init__(self,
+ user_bindings_x,
+ user_bindings,
+ order_method)
+
+
+
+def EttreeParseArgs(argv, settings):
+ """
+ This function currently does nothing except invoke BasicUIParseArgs()
+ (and throw an error message if the user forgot to specify an file name).
+ Later on, if I think of some command-line arguments specific
+ to ESPresSo(tcl), then I will deal with them here.
+ (See the "LttreeParseArgs()" function in "lttree.py" for comparison.)
+
+ """
+
+ BasicUIParseArgs(argv, settings)
+
+ # Loop over the remaining arguments not processed yet.
+ # These arguments are specific to the ettree.py program
+ # and are not understood by ttree.py:
+ i = 1
+ while i < len(argv):
+ #sys.stderr.write('argv['+str(i)+'] = \"'+argv[i]+'\"\n')
+ if ((argv[i][0] == '-') and (__name__ == "__main__")):
+ #elif (__name__ == "__main__"):
+ raise InputError('Error('+__file__+'):\n'
+ 'Unrecogized command line argument \"'+argv[i]+'\"\n')
+ else:
+ i += 1
+
+
+ if __name__ == "__main__":
+
+ # Instantiate the lexer we will be using.
+ # (The lexer's __init__() function requires an openned file.
+ # Assuming __name__ == "__main__", then the name of that file should
+ # be the last remaining (unprocessed) argument in the argument list.
+ # Otherwise, then name of that file will be determined later by the
+ # python script which imports this module, so we let them handle it.)
+
+ if len(argv) == 1:
+ raise InputError('Error: This program requires at least one argument\n'
+ ' the name of a file containing ttree template commands\n')
+ elif len(argv) == 2:
+ try:
+ # Parse text from the file named argv[1]
+ settings.lex.infile = argv[1]
+ settings.lex.instream = open(argv[1], 'r')
+ except IOError:
+ sys.stderr.write('Error: unable to open file\n'
+ ' \"'+argv[1]+'\"\n'
+ ' for reading.\n')
+ sys.exit(1)
+ del(argv[1:2])
+
+ else:
+ # if there are more than 2 remaining arguments,
+ problem_args = ['\"'+arg+'\"' for arg in argv[1:]]
+ raise InputError('Syntax Error('+__file__+'):\n\n'
+ ' Problem with argument list.\n'
+ ' The remaining arguments are:\n\n'
+ ' '+(' '.join(problem_args))+'\n\n'
+ ' (The actual problem may be earlier in the argument list.\n'
+ ' If these arguments are source files, then keep in mind\n'
+ ' that this program can not parse multiple source files.)\n'
+ ' Check the syntax of the entire argument list.\n')
+
+
+
+
+
+def TransformAtomText(text, matrix):
+ """ Apply transformations to the coordinates and other vector degrees
+ of freedom stored in the atom declaration section.
+ This is the \"text\" argument.
+ The \"matrix\" stores the aggregate sum of combined transformations
+ to be applied.
+
+ """
+
+ #sys.stderr.write('matrix_stack.M = \n'+ MatToStr(matrix) + '\n')
+
+ # lines = text.split('\n') <-- this does not work because a backslash at
+ # the end of a line can merge multiple lines
+
+ lines = [line for line in LinesWSlashes(text)] # <-- handles backslashes
+ for i in range(0, len(lines)):
+ line = lines[i]
+ tokens = SplitAtomLine(line)
+ if len(tokens) > 0:
+ x0 = [0.0, 0.0, 0.0]
+ x = [0.0, 0.0, 0.0]
+ for icrd in iEsptAtomCoords(tokens):
+ coords_str = tokens[icrd].split()
+ for d in range(0,3):
+ x0[d] = float(coords_str[d])
+ AffineTransform(x, matrix, x0) # x = matrix * x0 + b
+ for d in range(0,3): # ("b" is part of "matrix")
+ coords_str[d] = str(x[d])
+ tokens[icrd] = ' '.join(coords_str)
+
+ for ivect in iEsptAtomVects(tokens):
+ coords_str = tokens[ivect].split()
+ for d in range(0,3):
+ x0[d] = float(coords_str[d])
+ LinearTransform(x, matrix, x0) # x = matrix * x0
+ for d in range(0,3):
+ coords_str[d] = str(x[d])
+ tokens[ivect] = ' '.join(coords_str)
+ line = ' '.join(tokens)
+ lines[i] = line
+ return '\n'.join(lines)+'\n'
+
+
+# NOT IMPLEMENTED YET:
+def CalcCM(text_Atoms,
+ text_Masses=None,
+ settings=None):
+ # FILL IN THE CONTENTS OF THIS FUNCTION LATER
+ xcm = [0.0, 0.0, 0.0]
+ return xcm
+
+
+
+def _ExecCommands(command_list,
+ index,
+ global_files_content,
+ settings,
+ matrix_stack,
+ current_scope_id=None,
+ substitute_vars=True):
+ """
+ _ExecCommands():
+ The argument "commands" is a nested list of lists of
+ "Command" data structures (defined in ttree.py).
+
+ Carry out the write() and write_once() commands (which
+ write out the contents of the templates contain inside them).
+ Instead of writing the files, save their contents in a string.
+
+ The argument "global_files_content" should be of type defaultdict(list)
+ It is an associative array whose key is a string (a filename)
+ and whose value is a lists of strings (of rendered templates).
+
+ """
+ files_content = defaultdict(list)
+ postprocessing_commands = []
+
+ while index < len(command_list):
+ command = command_list[index]
+ index += 1
+
+ # For debugging only
+ # sys.stderr.write(str(command)+'\n')
+
+ if isinstance(command, PopCommand):
+ assert(current_scope_id != None)
+ if command.context_node == None:
+ command.context_node = current_scope_id
+ if isinstance(command, PopRightCommand):
+ matrix_stack.PopRight(which_stack = command.context_node)
+ elif isinstance(command, PopLeftCommand):
+ matrix_stack.PopLeft(which_stack = command.context_node)
+ else:
+ assert(False)
+
+ elif isinstance(command, PushCommand):
+ assert(current_scope_id != None)
+ if command.context_node == None:
+ command.context_node = current_scope_id
+ # Some commands are post-processing commands, and must be
+ # carried out AFTER all the text has been rendered. For example
+ # the "movecm(0,0,0)" waits until all of the coordinates have
+ # been rendered, calculates the center-of-mass, and then applies
+ # a translation moving the center of mass to the origin (0,0,0).
+ # We need to figure out which of these commands need to be
+ # postponed, and which commands can be carried out now.
+ # ("now"=pushing transformation matrices onto the matrix stack).
+ # UNFORTUNATELY POSTPONING SOME COMMANDS MAKES THE CODE UGLY
+ transform_list = command.contents.split('.')
+ transform_blocks = []
+ i_post_process = -1
+ # Example: Suppose:
+ #command.contents = '.rot(30,0,0,1).movecm(0,0,0).rot(45,1,0,0).scalecm(2.0).move(-2,1,0)'
+ # then
+ #transform_list = ['rot(30,0,0,1)', 'movecm(0,0,0)', 'rot(45,1,0,0)', 'scalecm(2.0)', 'move(-2,1,0)']
+ # Note: the first command 'rot(30,0,0,1)' is carried out now.
+ # The remaining commands are carried out during post-processing,
+ # (when processing the "ScopeEnd" command.
+ #
+ # We break up the commands into "blocks" separated by center-
+ # of-mass transformations ('movecm', 'rotcm', or 'scalecm')
+ #
+ # transform_blocks = ['.rot(30,0,0,1)',
+ # '.movecm(0,0,0).rot(45,1,0,0)',
+ # '.scalecm(2.0).move(-2,1,0)']
+
+ i = 0
+ while i < len(transform_list):
+ transform_block = ''
+ while i < len(transform_list):
+ transform = transform_list[i]
+ i += 1
+ if transform != '':
+ transform_block += '.' + transform
+ transform = transform.split('(')[0]
+ if ((transform == 'movecm') or
+ (transform == 'rotcm') or
+ (transform == 'scalecm')):
+
+ #break
+
+ raise InputError("Error: center-of-mass transformations are not yet implemented\n"
+ " Avoid using \""+transform+"()\" transformations.\n")
+
+ transform_blocks.append(transform_block)
+
+ if len(postprocessing_commands) == 0:
+ # The first block (before movecm, rotcm, or scalecm)
+ # can be executed now by modifying the matrix stack.
+ if isinstance(command, PushRightCommand):
+ matrix_stack.PushCommandsRight(transform_blocks[0].strip('.'),
+ command.srcloc,
+ which_stack=command.context_node)
+ elif isinstance(command, PushLeftCommand):
+ matrix_stack.PushCommandsLeft(transform_blocks[0].strip('.'),
+ command.srcloc,
+ which_stack=command.context_node)
+ # Everything else must be saved for later.
+ postprocessing_blocks = transform_blocks[1:]
+ else:
+ # If we already encountered a "movecm" "rotcm" or "scalecm"
+ # then all of the command blocks must be handled during
+ # postprocessing.
+ postprocessing_blocks = transform_blocks
+
+ for transform_block in postprocessing_blocks:
+ assert(isinstance(block, basestring))
+ if isinstance(command, PushRightCommand):
+ postprocessing_commands.append(PushRightCommand(transform_block,
+ command.srcloc,
+ command.context_node))
+ elif isinstance(command, PushLeftCommand):
+ postprocessing_commands.append(PushLeftCommand(transform_block,
+ command.srcloc,
+ command.context_node))
+
+
+ elif isinstance(command, WriteFileCommand):
+
+ # --- Throw away lines containin references to deleted variables:---
+
+ # First: To edit the content of a template,
+ # you need to make a deep local copy of it
+ tmpl_list = []
+ for entry in command.tmpl_list:
+ if isinstance(entry, TextBlock):
+ tmpl_list.append(TextBlock(entry.text,
+ entry.srcloc)) #, entry.srcloc_end))
+ else:
+ tmpl_list.append(entry)
+
+
+ # --- Now throw away lines with deleted variables ---
+
+ DeleteLinesWithBadVars(tmpl_list)
+
+ # --- Now render the text ---
+ text = Render(tmpl_list,
+ substitute_vars)
+
+ # ---- Coordinates of the atoms, must be rotated
+ # and translated after rendering.
+ # In addition, other vectors (dipoles, ellipsoid orientations)
+ # must be processed.
+ # This requires us to re-parse the contents of this text
+ # (after it has been rendered), and apply these transformations
+ # before passing them on to the caller.
+ if command.filename == data_atoms:
+ text = TransformAtomText(text, matrix_stack.M)
+
+ files_content[command.filename].append(text)
+
+
+ elif isinstance(command, ScopeBegin):
+
+ if isinstance(command.node, InstanceObj):
+ if ((command.node.children != None) and
+ (len(command.node.children) > 0)):
+ matrix_stack.PushStack(command.node)
+
+ # "command_list" is a long list of commands.
+ # ScopeBegin and ScopeEnd are (usually) used to demarcate/enclose
+ # the commands which are issued for a single class or
+ # class instance. _ExecCommands() carries out the commands for
+ # a single class/instance. If we reach a ScopeBegin(),
+ # then recursively process the commands belonging to the child.
+ index = _ExecCommands(command_list,
+ index,
+ files_content,
+ settings,
+ matrix_stack,
+ command.node,
+ substitute_vars)
+
+ elif isinstance(command, ScopeEnd):
+ if 'Data Atoms' in files_content:
+ for ppcommand in postprocessing_commands:
+ if 'Data Masses' in files_content:
+ pass
+ #xcm = CalcCM(files_content['Data Atoms'],
+ # files_content['Data Masses'],
+ # settings)
+ else:
+ pass
+ #xcm = CalcCM(files_content['Data Atoms'])
+
+ if isinstance(ppcommand, PushRightCommand):
+ matrix_stack.PushCommandsRight(ppcommand.contents,
+ ppcommand.srcloc,
+ xcm,
+ which_stack=command.context_node)
+ elif isinstance(ppcommand, PushLeftCommand):
+ matrix_stack.PushCommandsLeft(ppcommand.contents,
+ ppcommand.srcloc,
+ xcm,
+ which_stack=command.context_node)
+ files_content['Data Atoms'] = \
+ TransformAtomText(Files_content['Data Atoms'],
+ matrix_stack.M)
+
+ for ppcommand in postprocessing_commands:
+ matrix_stack.Pop(which_stack = command.context_node)
+ #(same as PopRight())
+
+ if isinstance(command.node, InstanceObj):
+ if ((command.node.children != None) and
+ (len(command.node.children) > 0)):
+ matrix_stack.PopStack()
+
+ # "ScopeEnd" means we're done with this class/instance.
+ break
+
+ else:
+ assert(False)
+ # no other command types allowed at this point
+
+
+ # After processing the commands in this list,
+ # merge the templates with the callers template list
+ for file_name, tmpl_list in files_content.items():
+ global_files_content[file_name] += \
+ files_content[file_name]
+
+ return index
+
+
+
+def ExecCommands(commands,
+ files_content,
+ settings,
+ substitute_vars=True):
+
+ matrix_stack = MultiAffineStack()
+
+ index = _ExecCommands(commands,
+ 0,
+ files_content,
+ settings,
+ matrix_stack,
+ None,
+ substitute_vars)
+ assert(index == len(commands))
+
+
+
+
+def WriteFiles(files_content, suffix='', write_to_stdout=True):
+ for file_name, str_list in files_content.items():
+ if file_name != None:
+ out_file = None
+ if file_name == '':
+ if write_to_stdout:
+ out_file = sys.stdout
+ else:
+ out_file = open(file_name+suffix, 'a')
+ if out_file != None:
+ out_file.write(''.join(str_list))
+ if file_name != '':
+ out_file.close()
+
+
+
+def main()
+ """
+ This is is a "main module" wrapper for invoking ettree.py
+ as a stand alone program. This program:
+
+ 1)reads a ttree file,
+ 2)constructs a tree of class definitions (g_objectdefs)
+ 3)constructs a tree of instantiated class objects (g_objects),
+ 4)automatically assigns values to the variables,
+ 5)and carries out the "write" commands to write the templates a file(s).
+
+ """
+ g_program_name = 'ettree.py'
+ g_date_str = '2016-12-22'
+ g_version_str = '0.36.0'
+
+ SimpleCounter.default_n0 = 0 # counters in Espresso begin at 0, not 1
+
+ ####### Main Code Below: #######
+ sys.stderr.write(g_program_name+' v'+g_version_str+' '+g_date_str+' ')
+ sys.stderr.write('\n(python version '+str(sys.version)+')\n')
+ if sys.version < '2.6':
+ raise InputError('Error: Alas, you must upgrade to a newever version of python.')
+
+ try:
+
+ #settings = BasicUISettings()
+ #BasicUIParseArgs(sys.argv, settings)
+ settings = EttreeSettings()
+ EttreeParseArgs(sys.argv, settings)
+
+ # Data structures to store the class definitionss and instances
+ g_objectdefs = StaticObj('', None) # The root of the static tree
+ # has name '' (equivalent to '/')
+ g_objects = InstanceObj('', None) # The root of the instance tree
+ # has name '' (equivalent to '/')
+
+ # A list of commands to carry out
+ g_static_commands = []
+ g_instance_commands = []
+
+
+ BasicUI(settings,
+ g_objectdefs,
+ g_objects,
+ g_static_commands,
+ g_instance_commands)
+
+ # Now, carry out the commands
+ # This involves rendering the templates and post-processing them.
+
+ sys.stderr.write(' done\nbuilding templates...')
+
+ files_content = defaultdict(list)
+
+ ExecCommands(g_static_commands,
+ files_content,
+ settings,
+ False)
+ ExecCommands(g_instance_commands,
+ files_content,
+ settings,
+ False)
+
+ # Erase the files that will be written to:
+ sys.stderr.write(' done\nwriting templates...')
+ EraseTemplateFiles(g_static_commands)
+ EraseTemplateFiles(g_instance_commands)
+
+ # Write the files as templates
+ # (with the original variable names present)
+ WriteFiles(files_content, suffix=".template", write_to_stdout=False)
+
+ # Write the files with the variables substituted by values
+ sys.stderr.write(' done\nbuilding and rendering templates...')
+ files_content = defaultdict(list)
+ ExecCommands(g_static_commands, files_content, settings, True)
+ ExecCommands(g_instance_commands, files_content, settings, True)
+ sys.stderr.write(' done\nwriting rendered templates...\n')
+ WriteFiles(files_content)
+
+ # Now write the variable bindings/assignments table.
+ sys.stderr.write('writing \"ttree_assignments.txt\" file...')
+ open('ttree_assignments.txt', 'w').close() # <-- erase previous version.
+ WriteVarBindingsFile(g_objectdefs)
+ WriteVarBindingsFile(g_objects)
+ sys.stderr.write(' done\n')
+
+ except (ValueError, InputError) as err:
+ sys.stderr.write('\n\n'+str(err)+'\n')
+ sys.exit(-1)
+
+
+
+if __name__ == "__main__":
+ main()
diff --git a/tools/moltemplate/moltemplate/ettree_styles.py b/tools/moltemplate/moltemplate/ettree_styles.py
new file mode 100644
index 000000000..e5a842b5e
--- /dev/null
+++ b/tools/moltemplate/moltemplate/ettree_styles.py
@@ -0,0 +1,115 @@
+
+
+espt_delim_atom_fields = set(["pos", "type", "v", "f",
+ "bond",
+ "temp", "gamma",
+ "q",
+ "quat", "omega", "torque",
+ "rinertia", "fix", "unfix", "ext_force",
+ "exclude", "delete",
+ "mass",
+ "dipm", "dip", "virtual",
+ "vs_relative", "distance", "vs_auto_relate_to"])
+
+
+
+def LinesWSlashes(text):
+ """
+ Iterate over the lines contained in a string of text.
+ Merge lines ending in backslashes.
+
+ """
+
+ current_line = ''
+ for line in text.split('\n'):
+ current_line += line
+ if (len(line) > 0) and (line[-1] != '\\'):
+ yield current_line
+ current_line = ''
+ if len(current_line) > 0:
+ yield current_line
+
+
+
+
+def SplitMultiDelims(line, delimiters):
+ """
+ Split a string into tokens using one or more (multi-character) delimiters.
+ (Bug: The current version of this function does not preserve white space,
+ but this should not matter.)
+
+ """
+
+ token = ''
+ for sub_token in line.strip().split():
+ if sub_token in delimiters:
+ yield token
+ yield sub_token
+ token = ''
+ elif len(token) > 0:
+ token += ' ' + sub_token
+ else:
+ token += sub_token
+ if len(token) > 0:
+ yield token
+
+
+
+def SplitAtomLine(line):
+ l = []
+ for token in SplitMultiDelims(line, espt_delim_atom_fields):
+ l.append(token)
+ return l
+
+ # In this type of TCL command, all of the delimiters
+ # (like 'pos', 'type', 'q', ...)
+ # are supposed to be followed by an argument. If the last
+ # token on this line IS a delimiter, then this is a syntax error.
+
+ if token in espt_delim_atom_fields:
+ raise InputError("Error: Incomplete line:\n"
+ "\""+line+"\"\n")
+
+
+
+def iEsptAtomCoords(tokens):
+ #tokens = SplitMultiDelims(line)
+ i = 0
+ while i < len(tokens):
+ if tokens[i] in set(['pos', 'fix', 'unfix']):
+ assert(i+1 < len(tokens))
+ yield i+1
+ i += 1
+ i += 1
+
+
+
+
+def iEsptAtomVects(tokens):
+ #tokens = SplitMultiDelims(line)
+ i = 0
+ while i < len(tokens):
+ if tokens[i] in set(['dip', 'rinertia', 'v', 'f', 'omega', 'torque']):
+ assert(i+1 < len(tokens))
+ yield i+1
+ i += 1
+ i += 1
+
+
+def iEsptAtomType(tokens):
+ #tokens = SplitMultiDelims(line)
+ i = 0
+ while i < len(tokens):
+ if tokens[i] == 'type':
+ assert(i+1 < len(tokens))
+ yield i+1
+ i += 1
+ i += 1
+
+def iEsptAtomID(tokens):
+ if len(tokens) > 1:
+ return 1
+ else:
+ raise InputError("Error: Incomplete line:\n"
+ "\""+line+"\"\n")
+
diff --git a/tools/moltemplate/moltemplate/extract_espresso_atom_types.py b/tools/moltemplate/moltemplate/extract_espresso_atom_types.py
new file mode 100755
index 000000000..8d95928ce
--- /dev/null
+++ b/tools/moltemplate/moltemplate/extract_espresso_atom_types.py
@@ -0,0 +1,30 @@
+#!/usr/bin/env python
+
+import sys
+
+def main():
+ for line_orig in sys.stdin:
+ line = line_orig.rstrip('\n')
+ comment = ''
+ if '#' in line_orig:
+ ic = line.find('#')
+ line = line_orig[:ic]
+ comment = ' '+line_orig[ic:].rstrip('\n')
+
+ tokens = line.strip().split()
+ if len(tokens) > 2:
+ atomid = -1
+ atomtype = -1
+ pos_found = False
+ for i in range(0,len(tokens)):
+ if (tokens[i] == 'part') and (i+1 < len(tokens)):
+ atomid = tokens[i+1]
+ elif (tokens[i] == 'type') and (i+1 < len(tokens)):
+ atomtype = tokens[i+1]
+ elif (tokens[i] == 'pos') and (i+2 < len(tokens)):
+ pos_found = True
+ if (atomid != -1) and (atomtype != -1) and pos_found:
+ sys.stdout.write(atomid+' '+atomtype+'\n')
+
+if __name__ == "__main__":
+ main()
diff --git a/tools/moltemplate/moltemplate/extract_lammps_data.py b/tools/moltemplate/moltemplate/extract_lammps_data.py
new file mode 100755
index 000000000..23f5f172c
--- /dev/null
+++ b/tools/moltemplate/moltemplate/extract_lammps_data.py
@@ -0,0 +1,138 @@
+#!/usr/bin/env python
+"""
+extract_lammps_data.py is a simple script which extracts sections of text from
+a LAMMPS data file.
+
+Typical usage:
+
+extract_lammps_data.py SECTION_NAME < FILE.DATA > EXCERPT.TXT
+
+This extracts a section from a LAMMPS data file and saves it in EXCERPT.TXT.
+
+More general usage:
+
+extract_lammps_data.py [-n] SECTION_LIST < FILE.DATA > EXCERPT.TXT
+
+For more details, see "doc/utils/docs_extract_lammps_data.txt"
+"""
+
+import sys
+
+lammps_data_sections = set(['Atoms',
+ 'Masses',
+ 'Bonds',
+ 'Bond Coeffs',
+ 'Angles',
+ 'Angle Coeffs',
+ 'Dihedrals',
+ 'Dihedral Coeffs',
+ 'Impropers',
+ 'Improper Coeffs',
+ 'BondBond Coeffs', # class2 angles
+ 'BondAngle Coeffs', # class2 angles
+ 'MiddleBondTorsion Coeffs', # class2 dihedrals
+ 'EndBondTorsion Coeffs', # class2 dihedrals
+ 'AngleTorsion Coeffs', # class2 dihedrals
+ 'AngleAngleTorsion Coeffs', # class2 dihedrals
+ 'BondBond13 Coeffs', # class2 dihedrals
+ 'AngleAngle Coeffs', # class2 impropers
+ 'Angles By Type', # new. not standard LAMMPS
+ 'Dihedrals By Type', # new. not standard LAMMPS
+ 'Angles By Type']) # new. not standard LAMMPS
+
+
+def DeleteComments(string,
+ escape='\\',
+ comment_char='#'):
+ escaped_state = False
+ for i in range(0, len(string)):
+ if string[i] in escape:
+ if escaped_state:
+ escaped_state = False
+ else:
+ escaped_state = True
+ elif string[i] == comment_char:
+ if not escaped_state:
+ return string[0:i]
+ return string
+
+
+def ExtractDataSection(f,
+ section_name,
+ comment_char='#',
+ include_section_name=False,
+ return_line_nums=False):
+
+ inside_section = False
+ if section_name in ('header', 'Header'): # "Header" section includes beginning
+ inside_section = True
+
+ nonblank_encountered = False
+ nonheader_encountered = False
+
+ i = 0
+ for line_orig in f:
+ return_this_line = False
+ line = DeleteComments(line_orig).strip()
+ if line in lammps_data_sections:
+ nonheader_encountered = True
+ if section_name in ('header', 'Header'):
+ # The "header" section includes all lines at the beginning of the
+ # before any other section is encountered.
+ if nonheader_encountered:
+ return_this_line = False
+ else:
+ return_this_line = True
+ elif line == section_name:
+ inside_section = True
+ nonblank_encountered = False
+ if include_section_name:
+ return_this_line = True
+ # A block of blank lines (which dont immediately follow
+ # the section_name) signal the end of a section:
+ elif len(line) == 0:
+ if inside_section and include_section_name:
+ return_this_line = True
+ if nonblank_encountered:
+ inside_section = False
+ elif line[0] != comment_char:
+ if inside_section:
+ nonblank_encountered = True
+ return_this_line = True
+
+ if return_this_line:
+ if return_line_nums:
+ yield i
+ else:
+ yield line_orig
+
+ i += 1
+
+
+def main():
+ lines = sys.stdin.readlines()
+ exclude_sections = False
+ if sys.argv[1] == '-n':
+ exclude_sections = True
+ del sys.argv[1]
+
+ if not exclude_sections:
+ for section_name in sys.argv[1:]:
+ for line in ExtractDataSection(lines, section_name):
+ sys.stdout.write(line)
+ else:
+ line_nums_exclude = set([])
+ for section_name in sys.argv[1:]:
+ for line_num in ExtractDataSection(lines,
+ section_name,
+ include_section_name=True,
+ return_line_nums=True):
+ line_nums_exclude.add(line_num)
+ for i in range(0, len(lines)):
+ if i not in line_nums_exclude:
+ sys.stdout.write(lines[i])
+
+ return
+
+if __name__ == "__main__":
+ main()
diff --git a/tools/moltemplate/moltemplate/force_fields/SDK_lipid+chol.lt b/tools/moltemplate/moltemplate/force_fields/SDK_lipid+chol.lt
new file mode 100644
index 000000000..dd54c6b69
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/SDK_lipid+chol.lt
@@ -0,0 +1,423 @@
+# Autogenerated by EMC 2 LT tool v0.2 on 2017-02-28
+#
+# ./emcprm2lt.py --pair-style=lj/sdk/coul/long --bond-style=harmonic --angle-style=sdk sdk_lipids.prm sdk_cholesterol.prm --name=SDK_lipid+chol --units
+#
+# Adapted from EMC by Pieter J. in 't Veld
+# Originally written as, FFNAME:SDK STYLE:COARSE VERSION:1.0 on Oct 2014
+
+SDK {
+ write_once("Data Masses") {
+ @atom:CM 42.080400 # CM
+ @atom:CMD2 26.037800 # CMD2
+ @atom:CT 43.088300 # CT
+ @atom:CT2 29.061500 # CT2
+ @atom:EST1 58.036600 # EST1
+ @atom:EST2 58.036600 # EST2
+ @atom:GL 41.072500 # GL
+ @atom:NC 87.164400 # NC
+ @atom:NH 44.076100 # NH
+ @atom:PH 94.971600 # PH
+ @atom:PHE 94.971600 # PHE
+ @atom:W 54.045600 # W
+ @atom:C2T 43.090000 # C2T
+ @atom:CM2 28.050000 # CM2
+ @atom:CM2R 28.050000 # CM2R
+ @atom:CMDB 39.060000 # CMDB
+ @atom:CMB 40.060000 # CMB
+ @atom:CMR 41.070000 # CMR
+ @atom:CMR5 41.070000 # CMR5
+ @atom:CTB 42.080000 # CTB
+ @atom:CTBA 27.050000 # CTBA
+ @atom:CTBB 27.050000 # CTBB
+ @atom:OAB 30.030000 # OAB
+ } # end of atom masses
+
+ # ----- EQUIVALENCE CATEGORIES for bonded interaction lookup -----
+ replace{ @atom:CM @atom:CM_bCM_aCM_dCM_iCM}
+ replace{ @atom:CMD2 @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2}
+ replace{ @atom:CT @atom:CT_bCT_aCT_dCT_iCT}
+ replace{ @atom:CT2 @atom:CT2_bCT2_aCT2_dCT2_iCT2}
+ replace{ @atom:EST1 @atom:EST1_bEST1_aEST1_dEST1_iEST1}
+ replace{ @atom:EST2 @atom:EST2_bEST2_aEST2_dEST2_iEST2}
+ replace{ @atom:GL @atom:GL_bGL_aGL_dGL_iGL}
+ replace{ @atom:NC @atom:NC_bNC_aNC_dNC_iNC}
+ replace{ @atom:NH @atom:NH_bNH_aNH_dNH_iNH}
+ replace{ @atom:PH @atom:PH_bPH_aPH_dPH_iPH}
+ replace{ @atom:PHE @atom:PHE_bPHE_aPHE_dPHE_iPHE}
+ replace{ @atom:W @atom:W_bW_aW_dW_iW}
+ replace{ @atom:C2T @atom:C2T_bC2T_aC2T_dC2T_iC2T}
+ replace{ @atom:CM2 @atom:CM2_bCM2_aCM2_dCM2_iCM2}
+ replace{ @atom:CM2R @atom:CM2R_bCM2R_aCM2R_dCM2R_iCM2R}
+ replace{ @atom:CMDB @atom:CMDB_bCMDB_aCMDB_dCMDB_iCMDB}
+ replace{ @atom:CMB @atom:CMB_bCMB_aCMB_dCMB_iCMB}
+ replace{ @atom:CMR @atom:CMR_bCMR_aCMR_dCMR_iCMR}
+ replace{ @atom:CMR5 @atom:CMR5_bCMR5_aCMR5_dCMR5_iCMR5}
+ replace{ @atom:CTB @atom:CTB_bCTB_aCTB_dCTB_iCTB}
+ replace{ @atom:CTBA @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA}
+ replace{ @atom:CTBB @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB}
+ replace{ @atom:OAB @atom:OAB_bOAB_aOAB_dOAB_iOAB}
+ # END EQUIVALENCE
+
+ write_once("In Settings") {
+ # ----- Non-Bonded interactions -----
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CM_bCM_aCM_dCM_iCM lj9_6 0.420000 4.506000 # CM-CM
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 lj9_6 0.312000 4.255500 # CM-CMD2
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CT_bCT_aCT_dCT_iCT lj9_6 0.444000 4.545500 # CM-CT
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CT2_bCT2_aCT2_dCT2_iCT2 lj9_6 0.362000 4.363500 # CM-CT2
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.470000 4.403000 # CM-EST1
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.470000 4.403000 # CM-EST2
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.420000 4.506000 # CM-GL
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.400000 5.128000 # CM-NC
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.330000 4.553000 # CM-NH
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.300000 4.953000 # CM-PH
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 0.300000 4.953000 # CM-PHE
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:W_bW_aW_dW_iW lj12_4 0.340000 4.438500 # CM-W
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 lj9_6 0.232000 4.005000 # CMD2-CMD2
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:CT_bCT_aCT_dCT_iCT lj9_6 0.330000 4.295000 # CMD2-CT
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:CT2_bCT2_aCT2_dCT2_iCT2 lj9_6 0.269000 4.113000 # CMD2-CT2
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.440000 4.005000 # CMD2-EST1
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.440000 4.005000 # CMD2-EST2
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.312000 4.255500 # CMD2-GL
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.350000 4.877500 # CMD2-NC
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.300000 4.302500 # CMD2-NH
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.300000 4.702500 # CMD2-PH
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 0.300000 4.702500 # CMD2-PHE
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:W_bW_aW_dW_iW lj12_4 0.270000 4.188000 # CMD2-W
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:CT_bCT_aCT_dCT_iCT lj9_6 0.469000 4.585000 # CT-CT
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:CT2_bCT2_aCT2_dCT2_iCT2 lj9_6 0.383000 4.403000 # CT-CT2
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.470000 4.442500 # CT-EST1
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.470000 4.442500 # CT-EST2
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.444000 4.545500 # CT-GL
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.420000 5.167500 # CT-NC
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.340000 4.925000 # CT-NH
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.320000 4.992500 # CT-PH
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 0.320000 4.992500 # CT-PHE
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:W_bW_aW_dW_iW lj12_4 0.360000 4.478000 # CT-W
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:CT2_bCT2_aCT2_dCT2_iCT2 lj9_6 0.312000 4.221000 # CT2-CT2
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.390000 4.260500 # CT2-EST1
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.390000 4.260500 # CT2-EST2
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.362000 4.365000 # CT2-GL
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.320000 4.985500 # CT2-NC
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.320000 4.410500 # CT2-NH
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.280000 4.810500 # CT2-PH
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 0.280000 4.810500 # CT2-PHE
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:W_bW_aW_dW_iW lj12_4 0.290000 4.296000 # CT2-W
+ pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.495000 4.300000 # EST1-EST1
+ pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.495000 4.300000 # EST1-EST2
+ pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.470000 4.403000 # EST1-GL
+ pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.750000 4.475000 # EST1-NC
+ pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.850000 4.110000 # EST1-NH
+ pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.500000 4.550000 # EST1-PH
+ pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 0.500000 4.550000 # EST1-PHE
+ pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:W_bW_aW_dW_iW lj12_4 0.820000 4.290000 # EST1-W
+ pair_coeff @atom:EST2_bEST2_aEST2_dEST2_iEST2 @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.495000 4.300000 # EST2-EST2
+ pair_coeff @atom:EST2_bEST2_aEST2_dEST2_iEST2 @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.470000 4.403000 # EST2-GL
+ pair_coeff @atom:EST2_bEST2_aEST2_dEST2_iEST2 @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.750000 4.475000 # EST2-NC
+ pair_coeff @atom:EST2_bEST2_aEST2_dEST2_iEST2 @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.850000 4.110000 # EST2-NH
+ pair_coeff @atom:EST2_bEST2_aEST2_dEST2_iEST2 @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.500000 4.550000 # EST2-PH
+ pair_coeff @atom:EST2_bEST2_aEST2_dEST2_iEST2 @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 0.500000 4.550000 # EST2-PHE
+ pair_coeff @atom:EST2_bEST2_aEST2_dEST2_iEST2 @atom:W_bW_aW_dW_iW lj12_4 0.820000 4.290000 # EST2-W
+ pair_coeff @atom:GL_bGL_aGL_dGL_iGL @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.420000 4.506000 # GL-GL
+ pair_coeff @atom:GL_bGL_aGL_dGL_iGL @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.650000 4.620000 # GL-NC
+ pair_coeff @atom:GL_bGL_aGL_dGL_iGL @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.750000 4.190000 # GL-NH
+ pair_coeff @atom:GL_bGL_aGL_dGL_iGL @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.300000 4.750000 # GL-PH
+ pair_coeff @atom:GL_bGL_aGL_dGL_iGL @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 0.300000 4.750000 # GL-PHE
+ pair_coeff @atom:GL_bGL_aGL_dGL_iGL @atom:W_bW_aW_dW_iW lj12_4 0.640000 4.438500 # GL-W
+ pair_coeff @atom:NC_bNC_aNC_dNC_iNC @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.700000 5.750000 # NC-NC
+ pair_coeff @atom:NC_bNC_aNC_dNC_iNC @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.880000 5.175000 # NC-NH
+ pair_coeff @atom:NC_bNC_aNC_dNC_iNC @atom:PH_bPH_aPH_dPH_iPH lj9_6 1.150000 4.200000 # NC-PH
+ pair_coeff @atom:NC_bNC_aNC_dNC_iNC @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 1.150000 4.200000 # NC-PHE
+ pair_coeff @atom:NC_bNC_aNC_dNC_iNC @atom:W_bW_aW_dW_iW lj12_4 0.900000 4.610000 # NC-W
+ pair_coeff @atom:NH_bNH_aNH_dNH_iNH @atom:NH_bNH_aNH_dNH_iNH lj9_6 1.100000 4.600000 # NH-NH
+ pair_coeff @atom:NH_bNH_aNH_dNH_iNH @atom:PH_bPH_aPH_dPH_iPH lj9_6 1.200000 3.800000 # NH-PH
+ pair_coeff @atom:NH_bNH_aNH_dNH_iNH @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 1.200000 3.800000 # NH-PHE
+ pair_coeff @atom:NH_bNH_aNH_dNH_iNH @atom:W_bW_aW_dW_iW lj12_4 0.800000 3.950000 # NH-W
+ pair_coeff @atom:PH_bPH_aPH_dPH_iPH @atom:PH_bPH_aPH_dPH_iPH lj9_6 1.400000 5.400000 # PH-PH
+ pair_coeff @atom:PH_bPH_aPH_dPH_iPH @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 1.400000 5.000000 # PH-PHE
+ pair_coeff @atom:PH_bPH_aPH_dPH_iPH @atom:W_bW_aW_dW_iW lj12_4 1.000000 4.030000 # PH-W
+ pair_coeff @atom:PHE_bPHE_aPHE_dPHE_iPHE @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 1.400000 4.600000 # PHE-PHE
+ pair_coeff @atom:PHE_bPHE_aPHE_dPHE_iPHE @atom:W_bW_aW_dW_iW lj12_4 1.000000 4.030000 # PHE-W
+ pair_coeff @atom:W_bW_aW_dW_iW @atom:W_bW_aW_dW_iW lj12_4 0.895000 4.371000 # W-W
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.420000 5.167500 # C2T-NC
+ pair_coeff @atom:CMR5_bCMR5_aCMR5_dCMR5_iCMR5 @atom:CT_bCT_aCT_dCT_iCT lj9_6 0.444000 4.545500 # CMR5-CT
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA lj9_6 0.252000 4.767700 # C2T-CTBA
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:CTB_bCTB_aCTB_dCTB_iCTB lj9_6 0.469000 4.585000 # CT-CTB
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CMR_bCMR_aCMR_dCMR_iCMR lj9_6 0.331000 4.771400 # C2T-CMR
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA lj9_6 0.383000 4.403000 # CT-CTBA
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB lj9_6 0.252000 4.767700 # C2T-CTBB
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB lj9_6 0.383000 4.403000 # CT-CTBB
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.444000 4.545500 # C2T-GL
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.437000 4.033000 # CT-OAB
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CM2R_bCM2R_aCM2R_dCM2R_iCM2R lj9_6 0.254000 4.610100 # C2T-CM2R
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:CTB_bCTB_aCTB_dCTB_iCTB lj9_6 0.383000 4.403000 # CT2-CTB
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 lj9_6 0.330000 4.295000 # C2T-CMD2
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA lj9_6 0.312000 4.221000 # CT2-CTBA
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CMR5_bCMR5_aCMR5_dCMR5_iCMR5 lj9_6 0.331000 4.771400 # C2T-CMR5
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB lj9_6 0.312000 4.221000 # CT2-CTBB
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:W_bW_aW_dW_iW lj12_4 0.360000 4.478000 # C2T-W
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.415000 3.950500 # CT2-OAB
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:C2T_bC2T_aC2T_dC2T_iC2T lj9_6 0.400000 4.811500 # C2T-C2T
+ pair_coeff @atom:CTB_bCTB_aCTB_dCTB_iCTB @atom:CTB_bCTB_aCTB_dCTB_iCTB lj9_6 0.269000 5.015500 # CTB-CTB
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.437000 4.033000 # C2T-OAB
+ pair_coeff @atom:CTB_bCTB_aCTB_dCTB_iCTB @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.470000 4.442500 # CTB-EST1
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.320000 4.992500 # C2T-PH
+ pair_coeff @atom:CTB_bCTB_aCTB_dCTB_iCTB @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.470000 4.442500 # CTB-EST2
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CMDB_bCMDB_aCMDB_dCMDB_iCMDB lj9_6 0.354000 4.894100 # C2T-CMDB
+ pair_coeff @atom:CTB_bCTB_aCTB_dCTB_iCTB @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.420000 5.167500 # CTB-NC
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CT2_bCT2_aCT2_dCT2_iCT2 lj9_6 0.297000 4.527200 # C2T-CT2
+ pair_coeff @atom:CTB_bCTB_aCTB_dCTB_iCTB @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA lj9_6 0.265000 4.464800 # CTB-CTBA
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CM2_bCM2_aCM2_dCM2_iCM2 lj9_6 0.291000 4.588000 # C2T-CM2
+ pair_coeff @atom:CTB_bCTB_aCTB_dCTB_iCTB @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB lj9_6 0.265000 4.464800 # CTB-CTBB
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CM_bCM_aCM_dCM_iCM lj9_6 0.391000 4.545500 # C2T-CM
+ pair_coeff @atom:CTB_bCTB_aCTB_dCTB_iCTB @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.444000 4.545500 # CTB-GL
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CT_bCT_aCT_dCT_iCT lj9_6 0.409000 4.860100 # C2T-CT
+ pair_coeff @atom:CTB_bCTB_aCTB_dCTB_iCTB @atom:W_bW_aW_dW_iW lj12_4 0.360000 4.478000 # CTB-W
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CTB_bCTB_aCTB_dCTB_iCTB lj9_6 0.283000 4.910900 # C2T-CTB
+ pair_coeff @atom:CTB_bCTB_aCTB_dCTB_iCTB @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.437000 4.033000 # CTB-OAB
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CMB_bCMB_aCMB_dCMB_iCMB lj9_6 0.310000 4.656400 # C2T-CMB
+ pair_coeff @atom:CTB_bCTB_aCTB_dCTB_iCTB @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.320000 4.992500 # CTB-PH
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.470000 4.442500 # C2T-EST1
+ pair_coeff @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.320000 4.985500 # CTBA-NC
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.470000 4.442500 # C2T-EST2
+ pair_coeff @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.390000 4.260500 # CTBA-EST1
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CMR_bCMR_aCMR_dCMR_iCMR lj9_6 0.420000 4.506000 # CM-CMR
+ pair_coeff @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.390000 4.260500 # CTBA-EST2
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CM2R_bCM2R_aCM2R_dCM2R_iCM2R lj9_6 0.390000 4.434200 # CM-CM2R
+ pair_coeff @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA @atom:W_bW_aW_dW_iW lj12_4 0.290000 4.296000 # CTBA-W
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CMR5_bCMR5_aCMR5_dCMR5_iCMR5 lj9_6 0.420000 4.506000 # CM-CMR5
+ pair_coeff @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.362000 4.363500 # CTBA-GL
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.561000 4.093000 # CM-OAB
+ pair_coeff @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA lj9_6 0.265000 4.461000 # CTBA-CTBA
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CMDB_bCMDB_aCMDB_dCMDB_iCMDB lj9_6 0.362000 4.379000 # CM-CMDB
+ pair_coeff @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB lj9_6 0.265000 4.461000 # CTBA-CTBB
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CM2_bCM2_aCM2_dCM2_iCM2 lj9_6 0.336000 4.461900 # CM-CM2
+ pair_coeff @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.280000 4.810500 # CTBA-PH
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CTB_bCTB_aCTB_dCTB_iCTB lj9_6 0.444000 4.545500 # CM-CTB
+ pair_coeff @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.380000 3.840000 # CTBA-OAB
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CMB_bCMB_aCMB_dCMB_iCMB lj9_6 0.420000 4.506000 # CM-CMB
+ pair_coeff @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB @atom:W_bW_aW_dW_iW lj12_4 0.290000 4.296000 # CTBB-W
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA lj9_6 0.362000 4.363500 # CM-CTBA
+ pair_coeff @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.320000 4.985500 # CTBB-NC
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB lj9_6 0.362000 4.363500 # CM-CTBB
+ pair_coeff @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.362000 4.363500 # CTBB-GL
+ pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.248000 4.936800 # CM2-PH
+ pair_coeff @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.390000 4.260500 # CTBB-EST1
+ pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.413000 4.066900 # CM2-OAB
+ pair_coeff @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.390000 4.260500 # CTBB-EST2
+ pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:CM2R_bCM2R_aCM2R_dCM2R_iCM2R lj9_6 0.237000 4.440300 # CM2-CM2R
+ pair_coeff @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.280000 4.810500 # CTBB-PH
+ pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 lj9_6 0.248000 4.231300 # CM2-CMD2
+ pair_coeff @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.380000 3.840000 # CTBB-OAB
+ pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:CMR5_bCMR5_aCMR5_dCMR5_iCMR5 lj9_6 0.333000 4.484600 # CM2-CMR5
+ pair_coeff @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB lj9_6 0.265000 4.461000 # CTBB-CTBB
+ pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:CT2_bCT2_aCT2_dCT2_iCT2 lj9_6 0.228000 4.319900 # CM2-CT2
+ pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 1.100000 3.990000 # EST1-OAB
+ pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:CM2_bCM2_aCM2_dCM2_iCM2 lj9_6 0.265000 4.461000 # CM2-CM2
+ pair_coeff @atom:EST2_bEST2_aEST2_dEST2_iEST2 @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 1.100000 3.990000 # EST2-OAB
+ pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:CMDB_bCMDB_aCMDB_dCMDB_iCMDB lj9_6 0.267000 4.369700 # CM2-CMDB
+ pair_coeff @atom:GL_bGL_aGL_dGL_iGL @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.669000 4.093000 # GL-OAB
+ pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:CT_bCT_aCT_dCT_iCT lj9_6 0.301000 4.454600 # CM2-CT
+ pair_coeff @atom:NC_bNC_aNC_dNC_iNC @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.637000 3.931900 # NC-OAB
+ pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:CTB_bCTB_aCTB_dCTB_iCTB lj9_6 0.353000 4.524600 # CM2-CTB
+ pair_coeff @atom:OAB_bOAB_aOAB_dOAB_iOAB @atom:W_bW_aW_dW_iW lj9_6 1.026000 4.025500 # OAB-W
+ pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:CMB_bCMB_aCMB_dCMB_iCMB lj9_6 0.333000 4.484600 # CM2-CMB
+ pair_coeff @atom:OAB_bOAB_aOAB_dOAB_iOAB @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.928000 3.616600 # OAB-PH
+ pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.306000 5.113800 # CM2-NC
+ pair_coeff @atom:OAB_bOAB_aOAB_dOAB_iOAB @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.580000 3.680000 # OAB-OAB
+ pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.366000 4.380500 # CM2-EST1
+ pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.366000 4.380500 # CM2-EST2
+ } # end of nonbonded parameters
+
+ write_once("In Settings") {
+ # ----- Bonds -----
+ bond_coeff @bond:CM-CM harmonic 6.160000 3.640000
+ bond_coeff @bond:CM-CMD2 harmonic 8.000000 3.030000
+ bond_coeff @bond:CM-CT harmonic 6.160000 3.650000
+ bond_coeff @bond:CM-CT2 harmonic 9.000000 3.130000
+ bond_coeff @bond:CM-EST1 harmonic 4.700000 3.550000
+ bond_coeff @bond:CM-EST2 harmonic 5.100000 3.610000
+ bond_coeff @bond:CM-PHE harmonic 12.000000 3.690000
+ bond_coeff @bond:CM-SO4 harmonic 11.000000 3.630000
+ bond_coeff @bond:CMD2-CT harmonic 8.000000 3.090000
+ bond_coeff @bond:CMD2-CT2 harmonic 60.000000 2.540000
+ bond_coeff @bond:CT-CT harmonic 6.955000 3.710000
+ bond_coeff @bond:EST1-GL harmonic 30.000000 2.880000
+ bond_coeff @bond:EST2-GL harmonic 8.400000 3.480000
+ bond_coeff @bond:GL-PHE harmonic 8.900000 3.520000
+ bond_coeff @bond:NC-PHE harmonic 4.800000 4.250000
+ bond_coeff @bond:NH-PHE harmonic 9.400000 3.600000
+ bond_coeff @bond:PHE1-PHE2 harmonic 2.500000 150.000000
+ bond_coeff @bond:C2T-CM2 harmonic 55.000000 2.500000
+ bond_coeff @bond:CM2-CTB harmonic 42.500000 2.900000
+ bond_coeff @bond:CM2R-CTBA harmonic 45.000000 2.400000
+ bond_coeff @bond:CM2R-OAB harmonic 50.000000 2.600000
+ bond_coeff @bond:CMB-CMDB harmonic 75.000000 3.500000
+ bond_coeff @bond:CMB-CMR5 harmonic 50.000000 3.000000
+ bond_coeff @bond:CMB-CTBA harmonic 35.000000 3.400000
+ bond_coeff @bond:CMB-CTBB harmonic 50.000000 3.000000
+ bond_coeff @bond:CMDB-CTBA harmonic 40.000000 2.500000
+ bond_coeff @bond:CMDB-OAB harmonic 55.000000 3.100000
+ bond_coeff @bond:CMR5-CTBB harmonic 60.000000 2.300000
+ bond_coeff @bond:CMR-CTBA harmonic 50.000000 3.000000
+ bond_coeff @bond:CMR-CTBB harmonic 55.000000 2.500000
+ bond_coeff @bond:CTB-CTBB harmonic 22.500000 3.400000
+ bond_coeff @bond:CMR5-CTB harmonic 35.000000 3.100000
+ }
+
+ write_once("Data Bonds By Type") {
+ @bond:CM-CM @atom:*_bCM_a*_d*_i* @atom:*_bCM_a*_d*_i*
+ @bond:CM-CMD2 @atom:*_bCM_a*_d*_i* @atom:*_bCMD2_a*_d*_i*
+ @bond:CM-CT @atom:*_bCM_a*_d*_i* @atom:*_bCT_a*_d*_i*
+ @bond:CM-CT2 @atom:*_bCM_a*_d*_i* @atom:*_bCT2_a*_d*_i*
+ @bond:CM-EST1 @atom:*_bCM_a*_d*_i* @atom:*_bEST1_a*_d*_i*
+ @bond:CM-EST2 @atom:*_bCM_a*_d*_i* @atom:*_bEST2_a*_d*_i*
+ @bond:CM-PHE @atom:*_bCM_a*_d*_i* @atom:*_bPHE_a*_d*_i*
+ @bond:CM-SO4 @atom:*_bCM_a*_d*_i* @atom:*_bSO4_a*_d*_i*
+ @bond:CMD2-CT @atom:*_bCMD2_a*_d*_i* @atom:*_bCT_a*_d*_i*
+ @bond:CMD2-CT2 @atom:*_bCMD2_a*_d*_i* @atom:*_bCT2_a*_d*_i*
+ @bond:CT-CT @atom:*_bCT_a*_d*_i* @atom:*_bCT_a*_d*_i*
+ @bond:EST1-GL @atom:*_bEST1_a*_d*_i* @atom:*_bGL_a*_d*_i*
+ @bond:EST2-GL @atom:*_bEST2_a*_d*_i* @atom:*_bGL_a*_d*_i*
+ @bond:GL-PHE @atom:*_bGL_a*_d*_i* @atom:*_bPHE_a*_d*_i*
+ @bond:NC-PHE @atom:*_bNC_a*_d*_i* @atom:*_bPHE_a*_d*_i*
+ @bond:NH-PHE @atom:*_bNH_a*_d*_i* @atom:*_bPHE_a*_d*_i*
+ @bond:PHE1-PHE2 @atom:*_bPHE1_a*_d*_i* @atom:*_bPHE2_a*_d*_i*
+ @bond:C2T-CM2 @atom:*_bC2T_a*_d*_i* @atom:*_bCM2_a*_d*_i*
+ @bond:CM2-CTB @atom:*_bCM2_a*_d*_i* @atom:*_bCTB_a*_d*_i*
+ @bond:CM2R-CTBA @atom:*_bCM2R_a*_d*_i* @atom:*_bCTBA_a*_d*_i*
+ @bond:CM2R-OAB @atom:*_bCM2R_a*_d*_i* @atom:*_bOAB_a*_d*_i*
+ @bond:CMB-CMDB @atom:*_bCMB_a*_d*_i* @atom:*_bCMDB_a*_d*_i*
+ @bond:CMB-CMR5 @atom:*_bCMB_a*_d*_i* @atom:*_bCMR5_a*_d*_i*
+ @bond:CMB-CTBA @atom:*_bCMB_a*_d*_i* @atom:*_bCTBA_a*_d*_i*
+ @bond:CMB-CTBB @atom:*_bCMB_a*_d*_i* @atom:*_bCTBB_a*_d*_i*
+ @bond:CMDB-CTBA @atom:*_bCMDB_a*_d*_i* @atom:*_bCTBA_a*_d*_i*
+ @bond:CMDB-OAB @atom:*_bCMDB_a*_d*_i* @atom:*_bOAB_a*_d*_i*
+ @bond:CMR5-CTBB @atom:*_bCMR5_a*_d*_i* @atom:*_bCTBB_a*_d*_i*
+ @bond:CMR-CTBA @atom:*_bCMR_a*_d*_i* @atom:*_bCTBA_a*_d*_i*
+ @bond:CMR-CTBB @atom:*_bCMR_a*_d*_i* @atom:*_bCTBB_a*_d*_i*
+ @bond:CTB-CTBB @atom:*_bCTB_a*_d*_i* @atom:*_bCTBB_a*_d*_i*
+ @bond:CMR5-CTB @atom:*_bCMR5_a*_d*_i* @atom:*_bCTB_a*_d*_i*
+ } # end of bonds
+
+ write_once("In Settings") {
+ # ----- Angles -----
+ angle_coeff @angle:CM-CM-CM sdk 1.190000 173.000000
+ angle_coeff @angle:CM-CM-CMD2 sdk 1.900000 161.000000
+ angle_coeff @angle:CM-CM-CT sdk 1.190000 175.000000
+ angle_coeff @angle:CM-CM-CT2 sdk 1.600000 172.000000
+ angle_coeff @angle:CM-CM-EST1 sdk 1.000000 178.000000
+ angle_coeff @angle:CM-CM-EST2 sdk 1.000000 178.000000
+ angle_coeff @angle:CM-CM-PHE sdk 1.100000 178.000000
+ angle_coeff @angle:CM-CMD2-CM sdk 6.000000 110.000000
+ angle_coeff @angle:CM-EST1-GL sdk 0.800000 168.000000
+ angle_coeff @angle:CM-EST2-GL sdk 0.800000 172.000000
+ angle_coeff @angle:CM-PHE-NC sdk 3.300000 112.000000
+ angle_coeff @angle:CT-CM-CT sdk 1.093000 175.500000
+ angle_coeff @angle:CT-CM-CT2 sdk 1.600000 172.000000
+ angle_coeff @angle:CT-CMD2-CT sdk 7.700000 116.000000
+ angle_coeff @angle:CT2-CM-CT2 sdk 1.700000 173.000000
+ angle_coeff @angle:CT2-CMD2-CT2 sdk 12.000000 110.000000
+ angle_coeff @angle:EST1-GL-EST2 sdk 1.000000 95.000000
+ angle_coeff @angle:EST1-GL-PHE sdk 1.400000 124.000000
+ angle_coeff @angle:EST2-GL-PHE sdk 2.000000 138.000000
+ angle_coeff @angle:GL-PHE-NC sdk 3.100000 112.000000
+ angle_coeff @angle:GL-PHE-NH sdk 4.000000 102.000000
+ angle_coeff @angle:C2T-CM2-CTB sdk 8.000000 160.000000
+ angle_coeff @angle:CM2-CTB-CTBB sdk 4.000000 130.000000
+ angle_coeff @angle:CM2R-CTBA-CMB harmonic 40.000000 112.500000
+ angle_coeff @angle:CM2R-CTBA-CMDB harmonic 22.500000 75.900000
+ angle_coeff @angle:CM2R-CTBA-CMR harmonic 35.000000 98.700000
+ angle_coeff @angle:CM2R-OAB-CMDB harmonic 40.000000 63.900000
+ angle_coeff @angle:CMB-CMDB-CTBA harmonic 45.000000 68.600000
+ angle_coeff @angle:CMB-CMDB-OAB harmonic 65.000000 146.600000
+ angle_coeff @angle:CMB-CMR5-CTBB harmonic 35.000000 67.800000
+ angle_coeff @angle:CMB-CTBA-CMDB harmonic 25.000000 68.900000
+ angle_coeff @angle:CMB-CTBA-CMR harmonic 75.000000 47.800000
+ angle_coeff @angle:CMB-CTBB-CMR5 harmonic 25.000000 68.200000
+ angle_coeff @angle:CMB-CTBB-CMR harmonic 50.000000 56.300000
+ angle_coeff @angle:CMB-CTBB-CTB sdk 35.000000 120.700000
+ angle_coeff @angle:CMDB-CMB-CMR5 harmonic 150.000000 175.600000
+ angle_coeff @angle:CMDB-CMB-CTBA harmonic 62.500000 42.500000
+ angle_coeff @angle:CMDB-CMB-CTBB harmonic 25.000000 134.200000
+ angle_coeff @angle:CMDB-CTBA-CMR harmonic 50.000000 108.600000
+ angle_coeff @angle:CMR5-CNB-CTBA harmonic 15.000000 135.800000
+ angle_coeff @angle:CMR5-CMB-CTBB harmonic 45.000000 44.000000
+ angle_coeff @angle:CMR5-CTBB-CTB harmonic 20.000000 62.700000
+ angle_coeff @angle:CMR-CTBB-CMR5 harmonic 75.000000 107.000000
+ angle_coeff @angle:CMR-CTBB-CTB sdk 37.500000 110.100000
+ angle_coeff @angle:CTBA-CM2R-OAB harmonic 25.000000 107.400000
+ angle_coeff @angle:CTBA-CMB-CTBB harmonic 20.000000 92.200000
+ angle_coeff @angle:CTBA-CMDB-OAB harmonic 20.000000 91.800000
+ angle_coeff @angle:CTBA-CMR-CTBB harmonic 15.000000 115.000000
+ angle_coeff @angle:CMB-CMR5-CTB harmonic 88.000000 131.700000
+ angle_coeff @angle:CTBB-CMR5-CTB harmonic 20.000000 77.400000
+ angle_coeff @angle:CM2-CTB-CMR5 sdk 20.000000 118.000000
+ angle_coeff @angle:CMR5-CTB-CTBB harmonic 62.500000 39.700000
+ }
+
+ write_once("Data Angles By Type") {
+ @angle:CM-CM-CM @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i*
+ @angle:CM-CM-CMD2 @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aCMD2_d*_i*
+ @angle:CM-CM-CT @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aCT_d*_i*
+ @angle:CM-CM-CT2 @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aCT2_d*_i*
+ @angle:CM-CM-EST1 @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aEST1_d*_i*
+ @angle:CM-CM-EST2 @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aEST2_d*_i*
+ @angle:CM-CM-PHE @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aPHE_d*_i*
+ @angle:CM-CMD2-CM @atom:*_b*_aCM_d*_i* @atom:*_b*_aCMD2_d*_i* @atom:*_b*_aCM_d*_i*
+ @angle:CM-EST1-GL @atom:*_b*_aCM_d*_i* @atom:*_b*_aEST1_d*_i* @atom:*_b*_aGL_d*_i*
+ @angle:CM-EST2-GL @atom:*_b*_aCM_d*_i* @atom:*_b*_aEST2_d*_i* @atom:*_b*_aGL_d*_i*
+ @angle:CM-PHE-NC @atom:*_b*_aCM_d*_i* @atom:*_b*_aPHE_d*_i* @atom:*_b*_aNC_d*_i*
+ @angle:CT-CM-CT @atom:*_b*_aCT_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aCT_d*_i*
+ @angle:CT-CM-CT2 @atom:*_b*_aCT_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aCT2_d*_i*
+ @angle:CT-CMD2-CT @atom:*_b*_aCT_d*_i* @atom:*_b*_aCMD2_d*_i* @atom:*_b*_aCT_d*_i*
+ @angle:CT2-CM-CT2 @atom:*_b*_aCT2_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aCT2_d*_i*
+ @angle:CT2-CMD2-CT2 @atom:*_b*_aCT2_d*_i* @atom:*_b*_aCMD2_d*_i* @atom:*_b*_aCT2_d*_i*
+ @angle:EST1-GL-EST2 @atom:*_b*_aEST1_d*_i* @atom:*_b*_aGL_d*_i* @atom:*_b*_aEST2_d*_i*
+ @angle:EST1-GL-PHE @atom:*_b*_aEST1_d*_i* @atom:*_b*_aGL_d*_i* @atom:*_b*_aPHE_d*_i*
+ @angle:EST2-GL-PHE @atom:*_b*_aEST2_d*_i* @atom:*_b*_aGL_d*_i* @atom:*_b*_aPHE_d*_i*
+ @angle:GL-PHE-NC @atom:*_b*_aGL_d*_i* @atom:*_b*_aPHE_d*_i* @atom:*_b*_aNC_d*_i*
+ @angle:GL-PHE-NH @atom:*_b*_aGL_d*_i* @atom:*_b*_aPHE_d*_i* @atom:*_b*_aNH_d*_i*
+ @angle:C2T-CM2-CTB @atom:*_b*_aC2T_d*_i* @atom:*_b*_aCM2_d*_i* @atom:*_b*_aCTB_d*_i*
+ @angle:CM2-CTB-CTBB @atom:*_b*_aCM2_d*_i* @atom:*_b*_aCTB_d*_i* @atom:*_b*_aCTBB_d*_i*
+ @angle:CM2R-CTBA-CMB @atom:*_b*_aCM2R_d*_i* @atom:*_b*_aCTBA_d*_i* @atom:*_b*_aCMB_d*_i*
+ @angle:CM2R-CTBA-CMDB @atom:*_b*_aCM2R_d*_i* @atom:*_b*_aCTBA_d*_i* @atom:*_b*_aCMDB_d*_i*
+ @angle:CM2R-CTBA-CMR @atom:*_b*_aCM2R_d*_i* @atom:*_b*_aCTBA_d*_i* @atom:*_b*_aCMR_d*_i*
+ @angle:CM2R-OAB-CMDB @atom:*_b*_aCM2R_d*_i* @atom:*_b*_aOAB_d*_i* @atom:*_b*_aCMDB_d*_i*
+ @angle:CMB-CMDB-CTBA @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCMDB_d*_i* @atom:*_b*_aCTBA_d*_i*
+ @angle:CMB-CMDB-OAB @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCMDB_d*_i* @atom:*_b*_aOAB_d*_i*
+ @angle:CMB-CMR5-CTBB @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCMR5_d*_i* @atom:*_b*_aCTBB_d*_i*
+ @angle:CMB-CTBA-CMDB @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCTBA_d*_i* @atom:*_b*_aCMDB_d*_i*
+ @angle:CMB-CTBA-CMR @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCTBA_d*_i* @atom:*_b*_aCMR_d*_i*
+ @angle:CMB-CTBB-CMR5 @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCTBB_d*_i* @atom:*_b*_aCMR5_d*_i*
+ @angle:CMB-CTBB-CMR @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCTBB_d*_i* @atom:*_b*_aCMR_d*_i*
+ @angle:CMB-CTBB-CTB @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCTBB_d*_i* @atom:*_b*_aCTB_d*_i*
+ @angle:CMDB-CMB-CMR5 @atom:*_b*_aCMDB_d*_i* @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCMR5_d*_i*
+ @angle:CMDB-CMB-CTBA @atom:*_b*_aCMDB_d*_i* @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCTBA_d*_i*
+ @angle:CMDB-CMB-CTBB @atom:*_b*_aCMDB_d*_i* @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCTBB_d*_i*
+ @angle:CMDB-CTBA-CMR @atom:*_b*_aCMDB_d*_i* @atom:*_b*_aCTBA_d*_i* @atom:*_b*_aCMR_d*_i*
+ @angle:CMR5-CNB-CTBA @atom:*_b*_aCMR5_d*_i* @atom:*_b*_aCNB_d*_i* @atom:*_b*_aCTBA_d*_i*
+ @angle:CMR5-CMB-CTBB @atom:*_b*_aCMR5_d*_i* @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCTBB_d*_i*
+ @angle:CMR5-CTBB-CTB @atom:*_b*_aCMR5_d*_i* @atom:*_b*_aCTBB_d*_i* @atom:*_b*_aCTB_d*_i*
+ @angle:CMR-CTBB-CMR5 @atom:*_b*_aCMR_d*_i* @atom:*_b*_aCTBB_d*_i* @atom:*_b*_aCMR5_d*_i*
+ @angle:CMR-CTBB-CTB @atom:*_b*_aCMR_d*_i* @atom:*_b*_aCTBB_d*_i* @atom:*_b*_aCTB_d*_i*
+ @angle:CTBA-CM2R-OAB @atom:*_b*_aCTBA_d*_i* @atom:*_b*_aCM2R_d*_i* @atom:*_b*_aOAB_d*_i*
+ @angle:CTBA-CMB-CTBB @atom:*_b*_aCTBA_d*_i* @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCTBB_d*_i*
+ @angle:CTBA-CMDB-OAB @atom:*_b*_aCTBA_d*_i* @atom:*_b*_aCMDB_d*_i* @atom:*_b*_aOAB_d*_i*
+ @angle:CTBA-CMR-CTBB @atom:*_b*_aCTBA_d*_i* @atom:*_b*_aCMR_d*_i* @atom:*_b*_aCTBB_d*_i*
+ @angle:CMB-CMR5-CTB @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCMR5_d*_i* @atom:*_b*_aCTB_d*_i*
+ @angle:CTBB-CMR5-CTB @atom:*_b*_aCTBB_d*_i* @atom:*_b*_aCMR5_d*_i* @atom:*_b*_aCTB_d*_i*
+ @angle:CM2-CTB-CMR5 @atom:*_b*_aCM2_d*_i* @atom:*_b*_aCTB_d*_i* @atom:*_b*_aCMR5_d*_i*
+ @angle:CMR5-CTB-CTBB @atom:*_b*_aCMR5_d*_i* @atom:*_b*_aCTB_d*_i* @atom:*_b*_aCTBB_d*_i*
+ } # end of angles
+
+ write_once("In Init") {
+ # Warning: This is a very generic "In Init" section, further
+ # modification prior to any simulation is extremely likely
+ units real
+ atom_style full
+ bond_style hybrid harmonic
+ angle_style hybrid sdk
+ pair_style hybrid lj/sdk/coul/long 9.000000 12.000000
+ special_bonds lj/coul 0.0 0.0 0.0
+ } # end init
+} # SDK
diff --git a/tools/moltemplate/moltemplate/force_fields/amber/README.txt b/tools/moltemplate/moltemplate/force_fields/amber/README.txt
new file mode 100644
index 000000000..226e0eb29
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/amber/README.txt
@@ -0,0 +1,73 @@
+This directory contains scripts used for converting AMBER parameter files
+into moltemplate (.LT) format. When a newer version of the AMBER parameters
+is eventually published, you can use these scripts to convert the new files
+again. (Some tinkering may be necessary.)
+
+The main bash script is a wrapper which simply splits up the parameter (".dat")
+file into fragments which (it thinks) correspond to the mass, pair, bond,
+angle, dihedral, and improper section of the original .dat file.
+(However sometimes it gets this wrong and you have to split it up manually!)
+
+Then this bash script invokes the relevant python script to convert
+each section into .LT format:
+amberparm_to_mass.py
+amberparm_to_pair.py
+amberparm_to_bond.py
+amberparm_to_angle.py
+amberparm_to_dihedral.py
+amberparm_to_improper.py
+In case this goes wrong, you may have to run these scripts manaully.
+
+
+Find out how to run this bash script by invoking it without any arguments:
+
+./amberparm2lt.sh
+
+------------ IMPORTANT ------------
+
+BEFORE YOU RUN THIS SCRIPT, BE SURE TO CHANGE THE ORDER OF THE IMPROPER DIHEDRAL
+PARAMETERS SO THAT THE "SPECIFIC" IMPROPER DIHEDRALS APPEAR LAST, AND THE
+"GENERIC" IMPROPER DIHEDRALS APPEAR FIRST.
+
+For example replace these two lines:
+
+X -o -c -o 1.1 180. 2. JCC,7,(1986),230
+X -X -c -o 10.5 180. 2. JCC,7,(1986),230
+
+with these two lines:
+
+X -X -c -o 10.5 180. 2. JCC,7,(1986),230
+X -o -c -o 1.1 180. 2. JCC,7,(1986),230
+
+Why:
+This is the order that moltemplate expects: generic first. specific last.
+So far only the improper dihedral parameters in the gaff.dat file seem
+to violate this order. The bonds, angles and dihedrals seem to obey this,
+but check to make sure.
+
+
+There is a discussion of these parameters here:
+http://structbio.vanderbilt.edu/archives/amber-archive/2005/3444.php
+
+excerpt:
+
+> > In the parm99 file (for example), sometimes the wild-card is used, as it
+> > is done in the following example:
+> >
+> > X -X -C -O 10.5 180. 2. JCC,7,(1986),230
+> >
+> > The first example is the specific case while the second one is the generic
+> > case. In page # 257 of the AMBER Manual, it is talking about Dihedral
+> > Angle, and how these dihedral parameters are used to calculate the
+> > energies. I am wondering what the difference between generic and specific
+> > case is for improper torsions.
+>
+> "specific" torsions are search for first, and used if a match is found. If
+> no match is found, then a search is made to see if a "generic" (aka wild-card)
+> torsion with match.
+> ...good luck...dac
+
+Good luck
+
+-Andrew
+2014-4-19
diff --git a/tools/moltemplate/moltemplate/force_fields/amber/amberparm2lt.sh b/tools/moltemplate/moltemplate/force_fields/amber/amberparm2lt.sh
new file mode 100755
index 000000000..07442dbee
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/amber/amberparm2lt.sh
@@ -0,0 +1,202 @@
+#!/bin/sh
+
+SYNTAX_MSG=$(cat <<EOF
+Typical Usage:
+
+amberparm2lt.sh gaff.dat GAFF > gaff.lt
+
+ You can also try:
+amberparm2lt.sh parm94.dat "AMBERFF94 inherits GAFF" > amberff94.lt
+ (However, this later usage may not work.
+ You may need to manually split the .dat file and run these scripts instead:
+ amberparm_pair_to_lt.py, amberparm_bond_to_lt.py, amberparm_angle_to_lt.py...)
+ Be sure that all of these .py files are in your PATH as well.)
+
+EOF
+)
+
+if [ "$#" != "2" ]; then
+ echo "${SYNTAX_MSG}" >&2
+ echo "" >&2
+ echo "Error: This script requires two arguments," >&2
+ echo " 1) the name of the amber parm file to be converted (eg \"gaff.dat\")" >&2
+ echo " 2) the name of the moltemplate object to be created (eg \"GAFF\")" >&2
+ echo " (This may include the \"inherits\" keyword and parent classes.)" >&2
+ exit 1
+fi
+
+MOLTEMPLATE_USAGE_MSG=$(cat <<EOF
+# Background information and usage explanation:
+# This file contanis a list of atom types and rules for generating bonded
+# interactions between these atoms (hopefully) according to AMBER conventions.
+# By using the atom types shown below in your own molecules, bonds and angular
+# interactions will be automatically generated.
+# AMBER (GAFF) force-field parameters will also be assigned to each angle
+# interaction (according to these atom types).
+# One way to apply the GAFF force field to a particular type of molecule, is
+# to use the "inherits" keyword when you define that molecule. For example:
+# import("gaff.lt")
+# MoleculeType inherits GAFF {
+# write_once("Data Atoms") {
+# \$atom:C1 \$mol:... @atom:cx 0.0 4.183 3.194 13.285
+# \$atom:C2 \$mol:... @atom:cx 0.0 4.291 4.618 13.382
+# : : :
+# }
+# }
+#(See "Inheritance" and "short names vs. full names" in the moltemplate manual.)
+EOF
+)
+# (Note that the full name of the atom type in this example is "@atom:/GAFF/cx"
+# You can always refer to atom types this way as well. Using "inherits GAFF"
+# allows you to use more conventient "@atom:cx" shorthand notation instead.)
+
+echo "####################################################################"
+echo "# To use this, LAMMPS currently must be compiled with the USER-MISC package."
+echo "# (Type \"make yes-user-misc\" into the shell before compiling LAMMPS.)"
+echo "####################################################################"
+echo "# This moltemplate (LT) file was generated automatically using"
+echo "# amberparm2lt.sh $1 $2"
+echo "####################################################################"
+echo "$MOLTEMPLATE_USAGE_MSG"
+echo "####################################################################"
+echo "# Moltemplate can not assign atom charge. You must assign atomic"
+echo "# charges yourself. (Moltemplate is only a simple text manipulation tool.)"
+echo "####################################################################"
+echo ""
+echo ""
+
+
+if ! which ./amberparm_mass_to_lt.py > /dev/null; then
+ echo "\nError: \"amberparm_mass_to_lt.py\" not found.\n" >&2
+ echo " (Try running this script from the directory containing amberparm2lt.sh)" >&2
+ exit 2
+fi
+if ! which ./amberparm_pair_to_lt.py > /dev/null; then
+ echo "\nError: \"amberparm_pair_to_lt.py\" not found.\n" >&2
+ echo " (Try running this script from the directory containing amberparm2lt.sh)" >&2
+ exit 2
+fi
+if ! which ./amberparm_bond_to_lt.py > /dev/null; then
+ echo "\nError: \"amberparm_bond_to_lt.py\" not found.\n" >&2
+ echo " (Try running this script from the directory containing amberparm2lt.sh)" >&2
+ exit 2
+fi
+if ! which ./amberparm_angle_to_lt.py > /dev/null; then
+ echo "\nError: \"amberparm_angle_to_lt.py\" not found.\n" >&2
+ echo " (Try running this script from the directory containing amberparm2lt.sh)" >&2
+ exit 2
+fi
+if ! which ./amberparm_dihedral_to_lt.py > /dev/null; then
+ echo "\nError: \"amberparm_dihedral_to_lt.py\" not found.\n" >&2
+ echo " (Try running this script from the directory containing amberparm2lt.sh)" >&2
+ exit 2
+fi
+if ! which ./amberparm_improper_to_lt.py > /dev/null; then
+ echo "\nError: \"amberparm_improper_to_lt.py\" not found. (Update your PATH?)\n" >&2
+ echo " (Try running this script from the directory containing amberparm2lt.sh)" >&2
+ exit 2
+fi
+
+
+#PARM_FILE='gaff.dat'
+PARM_FILE=$1
+
+# sections are separated by blank lines
+# some sections have comment lines at the beginning
+
+# The 1st section is the mass (note: skip the first line)
+tail -n +2 < "$PARM_FILE" | \
+ awk -v n=1 '{if (NF==0) nblanks++; else {if (nblanks+1==n) print $0}}' \
+ > "${PARM_FILE}.mass"
+
+# The 2nd section has the list of 2-body bond force-field params
+awk -v n=2 '{if (NF==0) nblanks++; else {if (nblanks+1==n) print $0}}' \
+ < "$PARM_FILE" \
+ | tail -n +2 \
+ > "${PARM_FILE}.bond"
+
+# The 3rd section has the list of 3-body angle force-field params
+awk -v n=3 '{if (NF==0) nblanks++; else {if (nblanks+1==n) print $0}}' \
+ < "$PARM_FILE" \
+ > "${PARM_FILE}.angle"
+
+# The 4th section has the list of 4-body dihedral force-field params
+awk -v n=4 '{if (NF==0) nblanks++; else {if (nblanks+1==n) print $0}}' \
+ < "$PARM_FILE" \
+ > "${PARM_FILE}.dihedral"
+
+# The 5th section has the list of 4-body improper force-field params
+awk -v n=5 '{if (NF==0) nblanks++; else {if (nblanks+1==n) print $0}}' \
+ < "$PARM_FILE" \
+ > "${PARM_FILE}.improper"
+
+# The 6th section has the hbond-parameters (no-longer used. ignore)
+awk -v n=6 '{if (NF==0) nblanks++; else {if (nblanks+1==n) print $0}}' \
+ < "$PARM_FILE" \
+ > "${PARM_FILE}.hbond"
+
+# The 7th "section" is just a blank line. (skip that)
+
+# The 8th section has the list of non-bonded ("pair") force-field parameters
+awk -v n=8 '{if (NF==0) nblanks++; else {if (nblanks+1==n) print $0}}' \
+ < "$PARM_FILE" \
+ | tail -n +2 \
+ > "${PARM_FILE}.pair"
+
+
+./amberparm_mass_to_lt.py < "${PARM_FILE}.mass" > "${PARM_FILE}.mass.lt"
+./amberparm_pair_to_lt.py < "${PARM_FILE}.pair" > "${PARM_FILE}.pair.lt"
+./amberparm_bond_to_lt.py < "${PARM_FILE}.bond" > "${PARM_FILE}.bond.lt"
+./amberparm_angle_to_lt.py < "${PARM_FILE}.angle" > "${PARM_FILE}.angle.lt"
+./amberparm_dihedral_to_lt.py \
+ < "${PARM_FILE}.dihedral" > "${PARM_FILE}.dihedral.lt"
+./amberparm_improper_to_lt.py \
+ < "${PARM_FILE}.improper" > "${PARM_FILE}.improper.lt"
+
+echo "$2 {"
+echo ""
+echo " # ----------------------------------------------------------------------"
+#echo " # This file was automatically generated by \"common/amber/amberparm2lt.sh\""
+echo " # The basic atom nomenclature and conventions are explained here:"
+echo " # http://ambermd.org/antechamber/gaff.pdf"
+echo " # For reference, the original gaff.dat file and format documentation are here:"
+echo " # http://ambermd.org/AmberTools-get.html"
+echo " # http://ambermd.org/formats.html#parm.dat"
+echo " # ----------------------------------------------------------------------"
+echo ""
+
+cat "$PARM_FILE.mass.lt" \
+ "$PARM_FILE.pair.lt" \
+ "$PARM_FILE.bond.lt" \
+ "$PARM_FILE.angle.lt" \
+ "$PARM_FILE.dihedral.lt" \
+ "$PARM_FILE.improper.lt"
+
+AMBER_STYLES_INIT=$(cat <<EOF
+
+ write_once("In Init") {
+ # Default styles and settings for AMBER based force-fields:
+ units real
+ atom_style full
+ bond_style hybrid harmonic
+ angle_style hybrid harmonic
+ dihedral_style hybrid fourier
+ improper_style hybrid cvff
+ pair_style hybrid lj/charmm/coul/long 9.0 10.0 10.0
+ kspace_style pppm 0.0001
+
+ # NOTE: If you do not want to use long-range coulombic forces,
+ # comment out the two lines above and uncomment this line:
+ # pair_style hybrid lj/charmm/coul/charmm 9.0 10.0
+
+ pair_modify mix arithmetic
+ special_bonds amber
+ }
+EOF
+)
+
+echo "$AMBER_STYLES_INIT"
+echo ""
+echo "}"
+echo ""
+echo ""
diff --git a/tools/moltemplate/moltemplate/force_fields/amber/amberparm_angle_to_lt.py b/tools/moltemplate/moltemplate/force_fields/amber/amberparm_angle_to_lt.py
new file mode 100755
index 000000000..dd465841b
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/amber/amberparm_angle_to_lt.py
@@ -0,0 +1,49 @@
+#!/usr/bin/env python
+
+import sys
+
+lines_gaff = sys.stdin.readlines()
+angle_style_name = 'harmonic'
+
+sys.stdout.write(' write_once("In Settings") {\n')
+
+for i in range(0, len(lines_gaff)):
+ line = lines_gaff[i]
+ atypes = line[:8].split('-')
+ atype1 = atypes[0].strip()
+ atype2 = atypes[1].strip()
+ atype3 = atypes[2].strip()
+ at1 = atype1.replace('X','*')
+ at2 = atype2.replace('X','*')
+ at3 = atype3.replace('X','*')
+ angletype = '@angle:'+atype1+'-'+atype2+'-'+atype3
+
+ tokens= line[8:].split()
+ keq = tokens[0]
+ req = tokens[1]
+ comments=' '.join(tokens[2:])
+ sys.stdout.write(' angle_coeff '+angletype+' '+angle_style_name+' '+keq+' '+req+' # '+comments+'\n')
+
+sys.stdout.write(' } # (end of angle_coeffs)\n')
+sys.stdout.write('\n')
+sys.stdout.write(' write_once("Data Angles By Type") {\n')
+
+for i in range(0, len(lines_gaff)):
+ line = lines_gaff[i]
+ atypes = line[:8].split('-')
+ atype1 = atypes[0].strip()
+ atype2 = atypes[1].strip()
+ atype3 = atypes[2].strip()
+ at1 = atype1.replace('X','*')
+ at2 = atype2.replace('X','*')
+ at3 = atype3.replace('X','*')
+ angletype = '@angle:'+atype1+'-'+atype2+'-'+atype3
+
+ #tokens= line[8:].split()
+ #keq = tokens[0]
+ #req = tokens[1]
+ #comments=' '.join(tokens[2:])
+ sys.stdout.write(' '+angletype+' @atom:'+at1+' @atom:'+at2+' @atom:'+at3+'\n')
+
+sys.stdout.write(' } # (end of Angles By Type)\n')
+sys.stdout.write('\n')
diff --git a/tools/moltemplate/moltemplate/force_fields/amber/amberparm_bond_to_lt.py b/tools/moltemplate/moltemplate/force_fields/amber/amberparm_bond_to_lt.py
new file mode 100755
index 000000000..bacc49b7d
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/amber/amberparm_bond_to_lt.py
@@ -0,0 +1,46 @@
+#!/usr/bin/env python
+
+import sys
+
+lines_gaff = sys.stdin.readlines()
+bond_style_name = 'harmonic'
+
+sys.stdout.write(' write_once("In Settings") {\n')
+
+for i in range(0, len(lines_gaff)):
+ line = lines_gaff[i]
+ tokens= line.split()
+ atypes = line[:6].split('-')
+ atype1 = atypes[0].strip()
+ atype2 = atypes[1].strip()
+ at1 = atype1.replace('X','*')
+ at2 = atype2.replace('X','*')
+ bondtype = '@bond:'+atype1+'-'+atype2
+
+ tokens= line[5:].split()
+ keq = tokens[0]
+ req = tokens[1]
+ comments=' '.join(tokens[2:])
+ sys.stdout.write(' bond_coeff '+bondtype+' '+bond_style_name+' '+keq+' '+req+' # '+comments+'\n')
+
+sys.stdout.write(' } # (end of bond_coeffs)\n')
+sys.stdout.write('\n')
+sys.stdout.write(' write_once("Data Bonds By Type") {\n')
+
+for i in range(0, len(lines_gaff)):
+ line = lines_gaff[i]
+ atypes = line[:6].split('-')
+ atype1 = atypes[0].strip()
+ atype2 = atypes[1].strip()
+ at1 = atype1.replace('X','*')
+ at2 = atype2.replace('X','*')
+ bondtype = '@bond:'+atype1+'-'+atype2
+
+ #tokens= line[5:].split()
+ #keq = tokens[0]
+ #req = tokens[1]
+ #comments=' '.join(tokens[2:])
+ sys.stdout.write(' '+bondtype+' @atom:'+at1+' @atom:'+at2+'\n')
+
+sys.stdout.write(' } # (end of Bonds By Type)\n')
+sys.stdout.write('\n')
diff --git a/tools/moltemplate/moltemplate/force_fields/amber/amberparm_dihedral_to_lt.py b/tools/moltemplate/moltemplate/force_fields/amber/amberparm_dihedral_to_lt.py
new file mode 100755
index 000000000..8729e3fe1
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/amber/amberparm_dihedral_to_lt.py
@@ -0,0 +1,157 @@
+#!/usr/bin/env python
+
+# SOME UGLY CODE HERE
+
+import sys
+
+lines_gaff = sys.stdin.readlines()
+dihedral_style_name = 'fourier'
+in_dihedral_coeffs = []
+
+
+for i in range(0, len(lines_gaff)):
+ line = lines_gaff[i]
+ atypes = line[:11].split('-')
+ atype1 = atypes[0].strip()
+ atype2 = atypes[1].strip()
+ atype3 = atypes[2].strip()
+ atype4 = atypes[3].strip()
+ at1 = atype1.replace('X','*')
+ at2 = atype2.replace('X','*')
+ at3 = atype3.replace('X','*')
+ at4 = atype4.replace('X','*')
+ dihedraltype = '@dihedral:'+atype1+'-'+atype2+'-'+atype3+'-'+atype4
+
+ tokens= line[11:].split()
+ npth = float(tokens[0])
+ Kn = float(tokens[1])
+ Kn /= npth # The coeff for each fourier term is Kn/npth
+ # ...I THINK (?). (Very confusing. See documentation below...)
+ dn = float(tokens[2])
+ n = int(float(tokens[3]))
+ comments=' # '+(' '.join(tokens[4:]))
+ in_dihedral_coeffs.append([dihedraltype, Kn, n, dn, comments])
+ #print(Kn, n, dn)
+
+#for entry in in_dihedral_coeffs:
+# print(entry)
+#exit()
+
+
+# ---- processing dihedral fourier series ----
+# ---- (negative "n" values means the
+# ---- Fourier series is not yet complete.
+
+i = 0
+while i < len(in_dihedral_coeffs):
+ type_str = in_dihedral_coeffs[i][0]
+ Kn = in_dihedral_coeffs[i][1]
+ n = in_dihedral_coeffs[i][2]
+ dn = in_dihedral_coeffs[i][3]
+
+ #if (i>0):
+ # sys.stderr.write('prev_n='+str(in_dihedral_coeffs[i-1][-3])+'\n')
+ #sys.stderr.write('n='+str(n)+'\n')
+
+ if ((i>0) and (in_dihedral_coeffs[i-1][-3] < 0)):
+
+ #sys.stdout.write('interaction_before_append: '+str(in_dihedral_coeffs[i-1])+'\n')
+ assert(in_dihedral_coeffs[i-1][0] == in_dihedral_coeffs[i][0])
+ in_dihedral_coeffs[i-1][-3] = -in_dihedral_coeffs[i-1][-3]
+ comments = in_dihedral_coeffs[i-1][-1]
+ in_dihedral_coeffs[i-1][-1] = Kn
+ in_dihedral_coeffs[i-1].append(n)
+ in_dihedral_coeffs[i-1].append(dn)
+ in_dihedral_coeffs[i-1].append(comments)
+ #sys.stdout.write('interaction_after_append: '+str(in_dihedral_coeffs[i-1])+'\n')
+ del in_dihedral_coeffs[i]
+
+ #elif len(in_dihedral_coeffs) < 3:
+ # del in_dihedral_coeffs[i]
+ else:
+ i += 1
+
+
+
+for i in range(0, len(in_dihedral_coeffs)):
+ type_str = in_dihedral_coeffs[i][0]
+ params = in_dihedral_coeffs[i][1:]
+ params = map(str, params)
+ num_fourier_terms = (len(params)-1)/3
+ dihedral_coeff_str = 'dihedral_coeff '+type_str+' '+\
+ dihedral_style_name+' '+ \
+ str(num_fourier_terms)+' '+ \
+ ' '.join(params)
+ in_dihedral_coeffs[i] = dihedral_coeff_str
+
+# ---- finished processing dihedral fourier series ----
+
+
+sys.stdout.write(' write_once(\"In Settings\") {\n ')
+sys.stdout.write('\n '.join(in_dihedral_coeffs)+'\n')
+sys.stdout.write(' } # (end of dihedral_coeffs)\n')
+
+
+
+
+
+sys.stdout.write('\n')
+
+sys.stdout.write(' write_once("Data Dihedrals By Type") {\n')
+
+for i in range(0, len(lines_gaff)):
+ line = lines_gaff[i]
+ atypes = line[:11].split('-')
+ atype1 = atypes[0].strip()
+ atype2 = atypes[1].strip()
+ atype3 = atypes[2].strip()
+ atype4 = atypes[3].strip()
+ at1 = atype1.replace('X','*')
+ at2 = atype2.replace('X','*')
+ at3 = atype3.replace('X','*')
+ at4 = atype4.replace('X','*')
+ dihedraltype = '@dihedral:'+atype1+'-'+atype2+'-'+atype3+'-'+atype4
+
+ sys.stdout.write(' '+dihedraltype+' @atom:'+at1+' @atom:'+at2+' @atom:'+at3+' @atom:'+at4+'\n')
+
+sys.stdout.write(' } # (end of Dihedrals By Type)\n')
+sys.stdout.write('\n')
+
+
+"""
+ - 6 - ***** INPUT FOR DIHEDRAL PARAMETERS *****
+
+ IPT , JPT , KPT , LPT , IDIVF , PK , PHASE , PN
+
+ FORMAT(A2,1X,A2,1X,A2,1X,A2,I4,3F15.2)
+
+ IPT, ... The atom symbols for the atoms forming a dihedral
+ angle. If IPT .eq. 'X ' .and. LPT .eq. 'X ' then
+ any dihedrals in the system involving the atoms "JPT" and
+ and "KPT" are assigned the same parameters. This is
+ called the general dihedral type and is of the form
+ "X "-"JPT"-"KPT"-"X ".
+
+ IDIVF The factor by which the torsional barrier is divided.
+ Consult Weiner, et al., JACS 106:765 (1984) p. 769 for
+ details. Basically, the actual torsional potential is
+
+ (PK/IDIVF) * (1 + cos(PN*phi - PHASE))
+
+ PK The barrier height divided by a factor of 2.
+
+ PHASE The phase shift angle in the torsional function.
+
+ The unit is degrees.
+
+ PN The periodicity of the torsional barrier.
+ NOTE: If PN .lt. 0.0 then the torsional potential
+ is assumed to have more than one term, and the
+ values of the rest of the terms are read from the
+ next cards until a positive PN is encountered. The
+ negative value of pn is used only for identifying
+ the existence of the next term and only the
+ absolute value of PN is kept.
+
+ The input is terminated by a blank card.
+"""
diff --git a/tools/moltemplate/moltemplate/force_fields/amber/amberparm_improper_to_lt.py b/tools/moltemplate/moltemplate/force_fields/amber/amberparm_improper_to_lt.py
new file mode 100755
index 000000000..8cc7828f8
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/amber/amberparm_improper_to_lt.py
@@ -0,0 +1,90 @@
+#!/usr/bin/env python
+
+import sys
+
+lines_gaff = sys.stdin.readlines()
+improper_style_name = 'cvff'
+
+sys.stdout.write(' write_once("In Settings") {\n')
+
+for i in range(0, len(lines_gaff)):
+ line = lines_gaff[i]
+ atypes = line[:11].split('-')
+ atype1 = atypes[0].strip()
+ atype2 = atypes[1].strip()
+ atype3 = atypes[2].strip()
+ atype4 = atypes[3].strip()
+ at1 = atype1.replace('X','*')
+ at2 = atype2.replace('X','*')
+ at3 = atype3.replace('X','*')
+ at4 = atype4.replace('X','*')
+ impropertype = '@improper:'+atype1+'-'+atype2+'-'+atype3+'-'+atype4
+ #sys.stdout.write(' '+impropertype+' @atom:'+at1+' @atom:'+at2+' @atom:'+at3+' @atom:'+at4+'\n')
+ # Oops. This is incorrect.
+ # In moltemplate, the central atom is the first atom,
+ # In "gaff.dat", the central atom is the third atom
+ # http://archive.ambermd.org/201307/0519.html
+ #impropertype = '@improper:'+atype3+'-'+atype1+'-'+atype2+'-'+atype4
+
+ tokens= line[11:].split()
+ Kn = float(tokens[0])
+ dn = float(tokens[1])
+ n = int(float(tokens[2]))
+ comments=' '.join(tokens[3:])
+
+ if (dn < 0.001):
+ sys.stdout.write(' improper_coeff '+impropertype+' '+improper_style_name+' '+str(Kn)+' 1 '+str(n)+' # '+comments+'\n')
+ elif (179.999 < abs(dn) < 180.001):
+ sys.stdout.write(' improper_coeff '+impropertype+' '+improper_style_name+' '+str(Kn)+' -1 '+str(n)+' # '+comments+'\n')
+ else:
+ sys.stderr.write('Error: Illegal bondImproper parameters:\n'
+ ' As of 2013-8-03, LAMMPS doens hot have an improper style\n'
+ ' which can handle impropers with gamma != 0 or 180\n')
+ exit(-1)
+
+
+
+sys.stdout.write(' } # (end of improper_coeffs)\n')
+sys.stdout.write('\n')
+sys.stdout.write(' write_once("Data Impropers By Type (gaff_imp.py)") {\n')
+
+for i in range(0, len(lines_gaff)):
+ line = lines_gaff[i]
+ atypes = line[:11].split('-')
+ atype1 = atypes[0].strip()
+ atype2 = atypes[1].strip()
+ atype3 = atypes[2].strip()
+ atype4 = atypes[3].strip()
+ at1 = atype1.replace('X','*')
+ at2 = atype2.replace('X','*')
+ at3 = atype3.replace('X','*')
+ at4 = atype4.replace('X','*')
+
+ impropertype = '@improper:'+atype1+'-'+atype2+'-'+atype3+'-'+atype4
+ sys.stdout.write(' '+impropertype+' @atom:'+at1+' @atom:'+at2+' @atom:'+at3+' @atom:'+at4+'\n')
+ # The improper-angle is the angle between the planes
+ # defined by at1,at2,at3, and at2,at3,at3
+ # and we list the atoms in this order.
+ # NOTE: In "gaff.dat", the central atom is the third atom (at3)
+ # so we have to take this into account when matching atom order.
+ # http://archive.ambermd.org/201307/0519.html
+
+
+sys.stdout.write(' } # (end of Impropers By Type)\n')
+sys.stdout.write('\n')
+
+# NOTE: AMBER documentation is not clear how the improper angle is defined.
+# It's not clear if we should be using the dihedral angle between
+# planes I-J-K and J-K-L. As of 2014-4, improper_style cvff does this.
+# Even if we create improper interactions with the angle defined between
+# the wrong planes, at least the minima should be the same
+# (0 degrees or 180 degrees).
+# So I'm not too worried we are getting this detail wrong long as
+# we generate new impropers realizing that the 3rd atom (K) is the
+# central atom (according to AMBER conventions).
+#
+# http://structbio.vanderbilt.edu/archives/amber-archive/2007/0408.php
+#
+# Currently, we only apply improper torsional angles for atoms
+# in a planar conformations. Is it clear?
+# Junmei
diff --git a/tools/moltemplate/moltemplate/force_fields/amber/amberparm_mass_to_lt.py b/tools/moltemplate/moltemplate/force_fields/amber/amberparm_mass_to_lt.py
new file mode 100755
index 000000000..818b1fa30
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/amber/amberparm_mass_to_lt.py
@@ -0,0 +1,19 @@
+#!/usr/bin/env python
+
+import sys
+
+lines_gaff = sys.stdin.readlines()
+
+sys.stdout.write(' write_once(\"Data Masses\") {\n')
+
+for i in range(0, len(lines_gaff)):
+ line = lines_gaff[i]
+ tokens= line.split()
+ atype = tokens[0]
+ mass=tokens[1]
+ # what is the next number? (the one in tokens[2]?)
+ comments=' '.join(tokens[3:])
+ sys.stdout.write(' @atom:'+atype+' '+mass+' # '+comments+'\n')
+
+sys.stdout.write(' } # (end of masses)\n')
+sys.stdout.write('\n')
diff --git a/tools/moltemplate/moltemplate/force_fields/amber/amberparm_pair_to_lt.py b/tools/moltemplate/moltemplate/force_fields/amber/amberparm_pair_to_lt.py
new file mode 100755
index 000000000..61e767258
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/amber/amberparm_pair_to_lt.py
@@ -0,0 +1,57 @@
+#!/usr/bin/env python
+
+import sys
+
+lines_gaff = sys.stdin.readlines()
+
+#pair_style = 'lj/charmm/coul/long'
+
+ # NOTE: Long-range coulombic forces were disabled intentionally. (See below)
+ # If you want to use long-range electrostatics, uncomment these lines:
+ # Instead I use hybrid lj/charmm/coul/charmm by default, because
+ # LAMMPS complains if you attempt to use lj/charmm/coul/long on a
+ # system if it does not contain any charged particles.
+ # Currently, moltemplate does not assign atomic charge,
+ # so this problem occurs frequently.
+
+#pair_style = 'lj/charmm/coul/charmm'
+pair_style = 'lj/charmm/coul/long'
+
+sys.stdout.write(' write_once(\"In Settings\") {\n')
+
+for i in range(0, len(lines_gaff)):
+ line = lines_gaff[i]
+ tokens= line.split()
+ atype = tokens[0]
+
+ # UGGHHH
+
+ # OLD CODE:
+ #sig=tokens[1]
+
+ # CORRECTION #1
+ # It looks the number in this part of the file is an atom radii, not a
+ # diameter. In other words, this number is 0.5*sigma instead of sigma.
+ # So we multiply it by 2.0.
+ #sig=str(2.0*float(tokens[1]))
+ #
+ # CORRECTION #2
+ # It also appears as though they are using this convention for LennardJones
+ # U(r)=epsilon*((s/r)^12-2*(s/r)^6) instead of 4*eps*((s/r)^12-(s/r)^6)
+ # ...where "s" is shorthand for "sigma"..
+ # This means we must ALSO multiply sigma in gaff.dat by 2**(-1.0/6)
+ # (This change makes the two U(r) formulas equivalent.)
+
+ # I had to figure this out by iterations of trial and error.
+ # The official AMBER documentation is quite vague about the LJ parameters.
+ # My apologies to everyone effected by this bug! -Andrew 2014-5-19
+ # http://ambermd.org/formats.html#parm.dat
+ # http://structbio.vanderbilt.edu/archives/amber-archive/2009/5072.php)
+
+ sig=str(float(tokens[1])*2.0*pow(2.0, (-1.0/6.0)))
+ eps=tokens[2]
+ comments=' '.join(tokens[3:])
+ sys.stdout.write(' pair_coeff @atom:'+atype+' @atom:'+atype+' '+pair_style+' '+eps+' '+sig+' # '+comments+'\n')
+
+sys.stdout.write(' } # (end of pair_coeffs)\n')
+sys.stdout.write('\n')
diff --git a/tools/moltemplate/moltemplate/force_fields/build_your_own_force_field/oplsaa_simple.lt b/tools/moltemplate/moltemplate/force_fields/build_your_own_force_field/oplsaa_simple.lt
new file mode 100644
index 000000000..546979096
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/build_your_own_force_field/oplsaa_simple.lt
@@ -0,0 +1,284 @@
+# Force-field example:
+#
+# This is an example of a general force-field file in moltemplate
+# format. I hope that end-users can read this file and modify
+# it to build their own custom force-field files.
+# This is an abbreviated version of the full "oplsaa.lt" file
+# (...which I hope is easier to read. It contains only the atom
+# types and relevant parameters needed for simple alkanes and alkenes)
+#
+# USAGE: You can create molecules using this force-field this way:
+#
+# MyMolecule inherits OPLSAA {
+# # atom-id mol-id atom-type charge X Y Z
+# write('Data Atoms') {
+# $atom:C1 $mol @atom:CTH2 0.00 -0.6695 0.000000 0.000000
+# $atom:H11 $mol @atom:HCen 0.00 -1.234217 -0.854458 0.000000
+# : : : : : :
+# }
+# }
+#
+# (Do not use this file. Use the full "oplsaa.lt" instead.)
+
+
+
+OPLSAA {
+
+
+ # Below we will use lammps "set" command to assign atom charges
+ # by atom type. http://lammps.sandia.gov/doc/set.html
+
+ write_once("In Charges") {
+ set type @atom:CT3 charge -0.18 # "Alkane CH3-"
+ set type @atom:CT2 charge -0.12 # "Alkane -CH2-"
+ set type @atom:CTH charge -0.06 # "Alkane >CH-"
+ set type @atom:CT charge 0.0 # "Alkane >C<"
+ set type @atom:HCal charge 0.06 # "Alkane H-C"
+ set type @atom:CH2en charge -0.23 # "Alkene H2-C="
+ set type @atom:HCen charge 0.115 # "Alkene H-C="
+ } #(end of atom partial charges)
+
+ # NOTE: In addition to setting atom charge by atom type, you can add
+ # write_once("Data Charge By Bond") {
+ # @atom:A @atom:B 0.05 -0.05
+ # }
+ # sections to your force-field file. This defines rules to assign
+ # incremental charges to pairs of atoms depending on who they are bonded to.
+ # (These are also called "bond_increments".)
+
+
+ write_once("Data Masses") {
+ @atom:CT3 12.011
+ @atom:CT2 12.011
+ @atom:CTH 12.011
+ @atom:CT 12.011
+ @atom:HCal 1.008
+ @atom:CH2en 12.011
+ @atom:HCen 1.008
+ } #(end of atom masses)
+
+
+
+ # ---------- EQUIVALENCE CATEGORIES for bonded interaction lookup ----------
+ # Each type of atom has a separate ID used for looking up bond parameters
+ # and a separate ID for looking up 3-body angle interaction parameters
+ # and a separate ID for looking up 4-body dihedral interaction parameters
+ # and a separate ID for looking up 4-body improper interaction parameters
+ # The complete @atom type name includes ALL of these ID numbers. There's
+ # no need to force the end-user to type the complete name of each atom.
+ # The "replace" command used below informs moltemplate that the short
+ # @atom names we have been using above are equivalent to the complete
+ # @atom names used below:
+
+ replace{ @atom:CT3 @atom:CT3_b13_a13_d13_i13 }
+ replace{ @atom:CT2 @atom:CT2_b13_a13_d13_i13 }
+ replace{ @atom:CTH @atom:CTH_b13_a13_d13_i13 }
+ replace{ @atom:CT @atom:CT_b13_a13_d13_i13 }
+ replace{ @atom:HCal @atom:HCal_b46_a46_d46_i46 }
+ replace{ @atom:CH2en @atom:CH2en_b47_a47_d47_i47 }
+ replace{ @atom:HCen @atom:HCen_b46_a46_d46_i46 }
+
+
+ # ------------------ Non-Bonded Interactions: -------------------------
+ # http://lammps.sandia.gov/doc/pair_lj.html
+ # Syntax:
+ # pair_coeff AtomType1 AtomType2 pair_style_name parameters...
+
+ write_once("In Settings") {
+ pair_coeff @atom:CT3_b13_a13_d13_i13 @atom:CT3_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:CT2_b13_a13_d13_i13 @atom:CT2_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:CTH_b13_a13_d13_i13 @atom:CTH_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:CT_b13_a13_d13_i13 @atom:CT_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:HCal_b46_a46_d46_i46 @atom:HCal_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:CH2en_b47_a47_d47_i47 @atom:CH2en_b47_a47_d47_i47 lj/cut/coul/long 0.076 3.55
+ pair_coeff @atom:HCen_b46_a46_d46_i46 @atom:HCen_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.42
+ } #(end of pair_coeffs)
+
+
+
+ # ------- Bonded Interactions: -------
+ # http://lammps.sandia.gov/doc/bond_harmonic.html
+ # Syntax:
+ # bond_coeff BondTypeName BondStyle parameters...
+
+ write_once("In Settings") {
+ bond_coeff @bond:13-13 harmonic 268.0 1.529
+ bond_coeff @bond:13-46 harmonic 340.0 1.09
+ bond_coeff @bond:13-47 harmonic 317.0 1.51
+ bond_coeff @bond:46-47 harmonic 340.0 1.08
+ bond_coeff @bond:47-47 harmonic 549.0 1.34
+ } #(end of bond_coeffs)
+
+ # Rules for assigning bond types by atom type:
+ # BondTypeName AtomType1 AtomType2
+ # (* = wildcard)
+
+ write_once("Data Bonds By Type") {
+ @bond:13-13 @atom:*_b13_a*_d*_i* @atom:*_b13_a*_d*_i*
+ @bond:13-46 @atom:*_b13_a*_d*_i* @atom:*_b46_a*_d*_i*
+ @bond:13-47 @atom:*_b13_a*_d*_i* @atom:*_b47_a*_d*_i*
+ @bond:46-47 @atom:*_b46_a*_d*_i* @atom:*_b47_a*_d*_i*
+ @bond:47-47 @atom:*_b47_a*_d*_i* @atom:*_b47_a*_d*_i*
+ } #(end of bonds by type)
+
+
+
+ # ------- Angle Interactions -------
+ # http://lammps.sandia.gov/doc/angle_harmonic.html
+ # Syntax:
+ # angle_coeff AngleTypeName AngleStyle parameters...
+
+ write_once("In Settings") {
+ angle_coeff @angle:13-13-13 harmonic 58.35 112.7
+ angle_coeff @angle:13-13-46 harmonic 37.5 110.7
+ angle_coeff @angle:13-13-47 harmonic 63.0 111.1
+ angle_coeff @angle:13-47-13 harmonic 70.0 130.0
+ angle_coeff @angle:13-47-46 harmonic 35.0 117.0
+ angle_coeff @angle:13-47-47 harmonic 70.0 124.0
+ angle_coeff @angle:46-13-46 harmonic 33.0 107.8
+ angle_coeff @angle:46-13-47 harmonic 35.0 109.5
+ angle_coeff @angle:46-47-46 harmonic 35.0 117.0
+ angle_coeff @angle:46-47-47 harmonic 35.0 120.0
+ angle_coeff @angle:47-13-47 harmonic 63.0 112.4
+ } #(end of angle_coeffs)
+
+ # Rules for creating angle interactions according to atom type:
+ # AngleTypeName AtomType1 AtomType2 AtomType3
+ # (* = wildcard)
+
+ write_once("Data Angles By Type") {
+ @angle:13-13-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:13-13-46 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:13-13-47 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:13-47-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:13-47-46 @atom:*_b*_a13_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:13-47-47 @atom:*_b*_a13_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:46-13-46 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:46-13-47 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:46-47-46 @atom:*_b*_a46_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:46-47-47 @atom:*_b*_a46_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:47-13-47 @atom:*_b*_a47_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a47_d*_i*
+ } #(end of angles by type)
+
+
+
+ # ----------- Dihedral Interactions ------------
+ # http://lammps.sandia.gov/doc/dihedral_opls.html
+ # Syntax:
+ # dihedral_coeff DihedralTypeName DihedralStyle parameters...
+
+ write_once("In Settings") {
+ # General rules:
+ dihedral_coeff @dihedral:X-47-47-X opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:X-13-13-13 opls 1.711 -0.5 0.663 0.0
+ dihedral_coeff @dihedral:X-13-47-13 opls 1.711 -0.5 0.663 0.0
+ dihedral_coeff @dihedral:X-13-47-46 opls 0.0 0.0 0.468 0.0
+ dihedral_coeff @dihedral:X-13-47-47 opls 0.5 0.0 0.0 0.0
+
+ # Specific rules (which override the general rules):
+ dihedral_coeff @dihedral:13-13-13-13 opls 1.3 -0.05 0.2 0.0
+ dihedral_coeff @dihedral:13-13-13-47 opls 1.3 -0.05 0.2 0.0
+ dihedral_coeff @dihedral:13-13-47-13 opls 2.817 -0.169 0.543 0.0
+ dihedral_coeff @dihedral:13-13-47-47 opls 0.346 0.405 -0.904 0.0
+ dihedral_coeff @dihedral:13-47-47-13 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:13-47-47-46 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:46-13-13-46 opls 0.0 0.0 0.3 0.0
+ dihedral_coeff @dihedral:46-13-13-47 opls 0.0 0.0 0.366 0.0
+ dihedral_coeff @dihedral:46-13-47-13 opls 0.0 0.0 0.3 0.0
+ dihedral_coeff @dihedral:46-13-47-46 opls 0.0 0.0 0.318 0.0
+ dihedral_coeff @dihedral:46-13-47-47 opls 0.0 0.0 -0.372 0.0
+ dihedral_coeff @dihedral:46-47-47-46 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:47-13-47-13 opls 0.0 -8.0 0.0 0.0
+ dihedral_coeff @dihedral:47-13-47-46 opls 0.0 -8.0 0.0 0.0
+ dihedral_coeff @dihedral:47-46-47-13 opls 0.0 -8.0 0.0 0.0
+ dihedral_coeff @dihedral:47-46-47-46 opls 0.0 -8.0 0.0 0.0
+ } #(end of dihedral_coeffs)
+
+ # Rules for creating dihedral interactions according to atom type:
+ # DihedralTypeName AtomType1 AtomType2 AtomType3 AtomType4
+ # (* = wildcard)
+
+ write_once("Data Dihedrals By Type") {
+ @dihedral:X-47-47-X @atom:* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*
+ @dihedral:X-13-13-13 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i*
+ @dihedral:X-13-47-13 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i*
+ @dihedral:X-13-47-46 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i*
+ @dihedral:X-13-47-47 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i*
+ @dihedral:13-13-13-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-13-13-47 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i*
+ @dihedral:13-13-47-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-13-47-47 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i*
+ @dihedral:13-47-47-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-47-47-46 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i*
+ @dihedral:46-13-13-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i*
+ @dihedral:46-13-13-47 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i*
+ @dihedral:46-13-47-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i*
+ @dihedral:46-13-47-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i*
+ @dihedral:46-13-47-47 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i*
+ @dihedral:46-47-47-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i*
+ @dihedral:47-13-47-13 @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i*
+ @dihedral:47-13-47-46 @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i*
+ @dihedral:47-46-47-13 @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i*
+ @dihedral:47-46-47-46 @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i*
+ } #(end of dihedrals by type)
+
+
+
+
+ # ---------- Improper Interactions ----------
+ # http://lammps.sandia.gov/doc/improper_harmonic.html
+
+ write_once("In Settings") {
+ improper_coeff @improper:X-X-47-X harmonic 15.0 180.0
+ }
+
+ # ImproperTypeName AtomType1 AtomType2 AtomType3 AtomType4
+ # (* = wildcard)
+
+ write_once("Data Impropers By Type (opls_imp.py)") {
+ @improper:X-X-47-X @atom:* @atom:* @atom:*_b*_a*_d*_i47 @atom:*
+ }
+
+ # NOTE: Sometimes the default improper-creation rules do not work for a
+ # particular force-field. The "(opls_imp.py)" text above tells
+ # moltemplate to look for a file named "opls_imp.py" (normally found in
+ # "src/nbody_alternate_symmetry/") which tells moltemplate to change
+ # the order in the list of atoms in an improper interaction, or the
+ # criteria used to decide whether a new improper interaction should
+ # be created. The default rules are located in "src/nbody_Impropers.py"
+
+
+ # ------- Choosing LAMMPS Interaction Styles -------
+ # LAMMPS supports many different kinds of bonded and non-bonded interactions
+ # which can be selected at run time. Although we specified these above in the
+ # pair_coeff, bond_coeff, angle_coeff, dihedral_coeff, and improper_coeff
+ # commands, we must also specify this in the "In Init" section:
+
+ write_once("In Init") {
+ units real
+ atom_style full
+ bond_style hybrid harmonic
+ angle_style hybrid harmonic
+ dihedral_style hybrid opls
+ improper_style hybrid harmonic
+ pair_style hybrid lj/cut/coul/long 10.0 10.0
+ pair_modify mix geometric
+ special_bonds lj/coul 0.0 0.0 0.5
+ kspace_style pppm 0.0001
+ } #end of init parameters
+
+ # Optional:
+ # I use "hybrid" styles in case the user later wishes to
+ # combine the molecules built using this force-field with other
+ # molecules that use other styles. (This is not necessarily
+ # a good idea, but LAMMPS and moltemplate both allow it.)
+ # For more information:
+ # http://lammps.sandia.gov/doc/pair_hybrid.html
+ # http://lammps.sandia.gov/doc/bond_hybrid.html
+ # http://lammps.sandia.gov/doc/angle_hybrid.html
+ # http://lammps.sandia.gov/doc/dihedral_hybrid.html
+ # http://lammps.sandia.gov/doc/improper_hybrid.html
+
+
+} # OPLSAA
+
diff --git a/tools/moltemplate/moltemplate/force_fields/build_your_own_force_field/usage_example/alkane50.lt b/tools/moltemplate/moltemplate/force_fields/build_your_own_force_field/usage_example/alkane50.lt
new file mode 100644
index 000000000..b15ef139f
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/build_your_own_force_field/usage_example/alkane50.lt
@@ -0,0 +1,137 @@
+# This is a simple example showing how to build a long polymer
+# (in this case, an alkane chain). I split the
+# hexadecane molecule into individual CH2 and CH3 monomers.
+# I defined it this way so that you can easily modify
+# it to change the length of the alkane chain.
+
+
+import "ch2group.lt" # load the definition of the "CH2" object
+import "ch3group.lt" # load the definition of the "CH3" object
+
+
+
+Alkane50 inherits OPLSAA {
+
+
+ create_var {$mol} # optional:force all monomers to share the same molecule-ID
+
+ # This is a long polymer consisting of 48 CH2 groups and 2 CH3 end-caps.
+ # Rather than create them one-by-one, I decided to create them all
+ # using a single "new" command. Later, I can modify this array.
+
+ # Create an array of 50 "CH2" objects distributed along the X axis
+
+ monomers = new CH2 [50].rot(180,1,0,0).move(1.2533223,0,0)
+
+ # NOTE: the ".rot(180,1,0,0).move(1.2533223,0,0)" means that each
+ # successive monomer is rotated 180 degrees (with respect to the previous
+ # monomer), and then moved 1.2533223 Angstroms down the X axis.
+ # Alternately, if you are reading the coordinates from a file, you don't have
+ # to indicate the position & orientation of each monomer. In that case, use:
+ # monomers = new CH2 [50]
+
+
+ # ---- Now, modify the ends: ---
+ # Delete the CH2 groups at the beginning and end, and replace them with CH3.
+
+ delete monomers[0]
+ delete monomers[49]
+
+ monomers[0] = new CH3
+ monomers[49] = new CH3
+
+ # Move the CH3 groups to the correct location at either end of the chain:
+
+ #monomers[0].move(0,0,0) # <--(this monomer is already in the correct place)
+ monomers[49].rot(180.0,0,0,1).move(61.4127927,0,0) #61.4127927=49*1.2533223
+
+
+ ## NOTE: Alternately, you can define the polymer without deleting the ends:
+ # monomers[0] = new CH3
+ # monomers[1-48] = new CH2[48].rot(180,1,0,0).move(1.2533223,0,0)
+ ## Note: monomers[0] and monomers[1] overlap, so we move 1-48 to make room:
+ # monomers[1-48].rot(180,1,0,0).move(1.2533223,0,0) # move many monomers
+ ## Now add the final monomer at the end:
+ # monomers[49] = new CH3.rot(180.0,0,0,1).move(61.4127927,0,0)
+ #
+ ## NOTE: Alternately, you can read the coordinates from a file.
+ ## In that case, you can use simpler commands:
+ # monomers[0] = new CH3
+ # monomers[1-48] = new CH2[48]
+ # monomers[49] = new CH3
+
+
+
+ # Now add a list of bonds connecting the carbon atoms together:
+ # (Angles, dihedrals, impropers will be automatically added later.)
+
+ write('Data Bond List') {
+ $bond:b1 $atom:monomers[0]/C $atom:monomers[1]/C
+ $bond:b2 $atom:monomers[1]/C $atom:monomers[2]/C
+ $bond:b3 $atom:monomers[2]/C $atom:monomers[3]/C
+ $bond:b4 $atom:monomers[3]/C $atom:monomers[4]/C
+ $bond:b5 $atom:monomers[4]/C $atom:monomers[5]/C
+ $bond:b6 $atom:monomers[5]/C $atom:monomers[6]/C
+ $bond:b7 $atom:monomers[6]/C $atom:monomers[7]/C
+ $bond:b8 $atom:monomers[7]/C $atom:monomers[8]/C
+ $bond:b9 $atom:monomers[8]/C $atom:monomers[9]/C
+ $bond:b10 $atom:monomers[9]/C $atom:monomers[10]/C
+ $bond:b11 $atom:monomers[10]/C $atom:monomers[11]/C
+ $bond:b12 $atom:monomers[11]/C $atom:monomers[12]/C
+ $bond:b13 $atom:monomers[12]/C $atom:monomers[13]/C
+ $bond:b14 $atom:monomers[13]/C $atom:monomers[14]/C
+ $bond:b15 $atom:monomers[14]/C $atom:monomers[15]/C
+ $bond:b16 $atom:monomers[15]/C $atom:monomers[16]/C
+ $bond:b17 $atom:monomers[16]/C $atom:monomers[17]/C
+ $bond:b18 $atom:monomers[17]/C $atom:monomers[18]/C
+ $bond:b19 $atom:monomers[18]/C $atom:monomers[19]/C
+ $bond:b20 $atom:monomers[19]/C $atom:monomers[20]/C
+ $bond:b21 $atom:monomers[20]/C $atom:monomers[21]/C
+ $bond:b22 $atom:monomers[21]/C $atom:monomers[22]/C
+ $bond:b23 $atom:monomers[22]/C $atom:monomers[23]/C
+ $bond:b24 $atom:monomers[23]/C $atom:monomers[24]/C
+ $bond:b25 $atom:monomers[24]/C $atom:monomers[25]/C
+ $bond:b26 $atom:monomers[25]/C $atom:monomers[26]/C
+ $bond:b27 $atom:monomers[26]/C $atom:monomers[27]/C
+ $bond:b28 $atom:monomers[27]/C $atom:monomers[28]/C
+ $bond:b29 $atom:monomers[28]/C $atom:monomers[29]/C
+ $bond:b30 $atom:monomers[29]/C $atom:monomers[30]/C
+ $bond:b31 $atom:monomers[30]/C $atom:monomers[31]/C
+ $bond:b32 $atom:monomers[31]/C $atom:monomers[32]/C
+ $bond:b33 $atom:monomers[32]/C $atom:monomers[33]/C
+ $bond:b34 $atom:monomers[33]/C $atom:monomers[34]/C
+ $bond:b35 $atom:monomers[34]/C $atom:monomers[35]/C
+ $bond:b36 $atom:monomers[35]/C $atom:monomers[36]/C
+ $bond:b37 $atom:monomers[36]/C $atom:monomers[37]/C
+ $bond:b38 $atom:monomers[37]/C $atom:monomers[38]/C
+ $bond:b39 $atom:monomers[38]/C $atom:monomers[39]/C
+ $bond:b40 $atom:monomers[39]/C $atom:monomers[40]/C
+ $bond:b41 $atom:monomers[40]/C $atom:monomers[41]/C
+ $bond:b42 $atom:monomers[41]/C $atom:monomers[42]/C
+ $bond:b43 $atom:monomers[42]/C $atom:monomers[43]/C
+ $bond:b44 $atom:monomers[43]/C $atom:monomers[44]/C
+ $bond:b45 $atom:monomers[44]/C $atom:monomers[45]/C
+ $bond:b46 $atom:monomers[45]/C $atom:monomers[46]/C
+ $bond:b47 $atom:monomers[46]/C $atom:monomers[47]/C
+ $bond:b48 $atom:monomers[47]/C $atom:monomers[48]/C
+ $bond:b49 $atom:monomers[48]/C $atom:monomers[49]/C
+ }
+
+} # Alkane50
+
+
+
+
+
+
+
+
+######### (scratchwork calculations for the atomic coordinates) #########
+# Lcc = 1.5350 # length of the C-C bond (Sp3)
+# Lch = 1.0930 # length of the C-H bond
+# theta=2*atan(sqrt(2)) # ~= 109.5 degrees = tetrahedronal angle (C-C-C angle)
+# DeltaXc = Lcc*sin(theta/2) # = 1.2533222517240594
+# DeltaYc = Lcc*cos(theta/2) # = 0.8862326632060754
+# # 0.5*DeltaYc = 0.4431163316030377
+# DeltaZh = Lch*sin(theta/2) # = 0.8924307629540046
+# DeltaYh = Lch*cos(theta/2) # = 0.6310438442242609
diff --git a/tools/moltemplate/moltemplate/force_fields/build_your_own_force_field/usage_example/ch2group.lt b/tools/moltemplate/moltemplate/force_fields/build_your_own_force_field/usage_example/ch2group.lt
new file mode 100644
index 000000000..3431892f4
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/build_your_own_force_field/usage_example/ch2group.lt
@@ -0,0 +1,74 @@
+# This file contains a definition for the "CH2" molecular subunit.
+
+
+
+import "oplsaa_simple.lt" # Load the force field settings we will need
+
+
+
+# Then define "CH2":
+
+
+CH2 inherits OPLSAA {
+
+ # atom-id mol-id atom-type charge x y z
+
+ write("Data Atoms") {
+ $atom:C $mol:... @atom:CT2 0.0 0.000000 0.000000 0.000000
+ $atom:H1 $mol:... @atom:HCal 0.0 0.000000 0.631044 0.892431
+ $atom:H2 $mol:... @atom:HCal 0.0 0.000000 0.631044 -0.892431
+ }
+
+ write('Data Bond List') {
+ $bond:CH1 $atom:C $atom:H1
+ $bond:CH2 $atom:C $atom:H2
+ }
+
+ # Atom type numbers (@atom:80L,@atom:85LCH3) are defined in "loplsaa.lt":
+ # @atom:80L "Alkane CH3- (LOPLS CT_CH3)"
+ # @atom:81L "Alkane -CH2- (LOPLS CT_CH2)"
+ # @atom:85LCH3 "Alkane H-C CH3 (LOPLS HC_CH3)"
+ # @atom:85LCH2 "Alkane H-C CH2 (LOPLS HC_CH2)"
+ # In this example, atomic charges are generated by atom type (according to the
+ # rules in loplsaa.lt), and can be omitted. Just leave them as "0.00" for now.
+ # The "..." in "$mol:..." tells moltemplate that this molecule may be part
+ # of a larger molecule, and (if so) to use the larger parent object's
+ # molecule id number as it's own.
+
+} # CH2
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Optional: Shift all the coordinates in the +Y direction by 0.4431163.
+# This way, the carbon atom is no longer located at 0,0,0, but the
+# axis of an alkane chain containing this monomer is at 0,0,0.
+# (This makes it more convenient to construct a polymer later.
+# If this is confusing, then simply add 0.4431163 to the Y
+# coordinates in the "Data Atoms" section above.)
+
+CH2.move(0,0.4431163,0)
+
+
+
+
+######### (scratchwork calculations for the atomic coordinates) #########
+# Lcc = 1.5350 # length of the C-C bond (Sp3)
+# Lch = 1.0930 # length of the C-H bond
+# theta=2*atan(sqrt(2)) # ~= 109.5 degrees = tetrahedronal angle (C-C-C angle)
+# DeltaXc = Lcc*sin(theta/2) # = 1.2533222517240594
+# DeltaYc = Lcc*cos(theta/2) # = 0.8862326632060754
+# # 0.5*DeltaYc = 0.4431163
+# DeltaZh = Lch*sin(theta/2) # = 0.892431
+# DeltaYh = Lch*cos(theta/2) # = 0.631044
diff --git a/tools/moltemplate/moltemplate/force_fields/build_your_own_force_field/usage_example/ch3group.lt b/tools/moltemplate/moltemplate/force_fields/build_your_own_force_field/usage_example/ch3group.lt
new file mode 100644
index 000000000..686715e89
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/build_your_own_force_field/usage_example/ch3group.lt
@@ -0,0 +1,65 @@
+# This file contains a definition for the "CH3" molecular subunit.
+
+
+
+import "oplsaa_simple.lt" # Load the force field settings we will need
+
+
+
+# Then define "CH3":
+
+
+CH3 inherits OPLSAA {
+
+ # atom-id mol-id atom-type charge x y z
+
+ write("Data Atoms") {
+ $atom:C $mol:... @atom:CT3 0.0 0.000000 0.000000 0.000000
+ $atom:H1 $mol:... @atom:HCal 0.0 0.000000 0.631044 0.892431
+ $atom:H2 $mol:... @atom:HCal 0.0 0.000000 0.631044 -0.892431
+ $atom:H3 $mol:... @atom:HCal 0.0 -0.892431 -0.631044 0.000000
+ }
+
+ write('Data Bond List') {
+ $bond:CH1 $atom:C $atom:H1
+ $bond:CH2 $atom:C $atom:H2
+ $bond:CH3 $atom:C $atom:H3
+ }
+
+} # CH3
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# Optional: Shift all the coordinates in the +Y direction by 0.4431163.
+# This way, the carbon atom is no longer located at 0,0,0, but the
+# axis of an alkane chain containing this monomer is at 0,0,0.
+# (This makes it more convenient to construct a polymer later.
+# If this is confusing, then simply add 0.4431163 to the Y
+# coordinates in the "Data Atoms" section above.)
+
+CH3.move(0,0.4431163,0)
+
+
+
+
+######### (scratchwork calculations for the atomic coordinates) #########
+# Lcc = 1.5350 # length of the C-C bond (Sp3)
+# Lch = 1.0930 # length of the C-H bond
+# theta=2*atan(sqrt(2)) # ~= 109.5 degrees = tetrahedronal angle (C-C-C angle)
+# DeltaXc = Lcc*sin(theta/2) # = 1.2533222517240594
+# DeltaYc = Lcc*cos(theta/2) # = 0.8862326632060754
+# # 0.5*DeltaYc = 0.4431163
+# DeltaZh = Lch*sin(theta/2) # = 0.892431
+# DeltaYh = Lch*cos(theta/2) # = 0.631044
diff --git a/tools/moltemplate/moltemplate/force_fields/build_your_own_force_field/usage_example/run.in.min b/tools/moltemplate/moltemplate/force_fields/build_your_own_force_field/usage_example/run.in.min
new file mode 100644
index 000000000..5d0bcffd8
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/build_your_own_force_field/usage_example/run.in.min
@@ -0,0 +1,37 @@
+# PREREQUISITES:
+#
+# You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+#
+# ------------------------------- Initialization Section --------------------
+
+include "system.in.init"
+
+# ------------------------------- Atom Definition Section -------------------
+
+read_data "system.data"
+
+# ------------------------------- Settings Section --------------------------
+
+include "system.in.settings"
+include "system.in.charges"
+
+# ------------------------------- Run Section -------------------------------
+
+
+# -- minimization protocol --
+
+# Note: The minimization step is not necessary in this example. However
+# in general, it's always a good idea to minimize the system beforehand.
+
+thermo 50
+dump 1 all custom 50 traj_min.lammpstrj id mol type x y z ix iy iz
+minimize 1.0e-4 1.0e-6 100000 400000
+
+
+# (The "write_restart" and "read_restart" commands were buggy in 2012,
+# but they should work also. I prefer "write_data" and "read_data".)
+
+write_data system_after_min.data
+
+
diff --git a/tools/moltemplate/moltemplate/force_fields/build_your_own_force_field/usage_example/run.in.nvt b/tools/moltemplate/moltemplate/force_fields/build_your_own_force_field/usage_example/run.in.nvt
new file mode 100644
index 000000000..676cd8ec9
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/build_your_own_force_field/usage_example/run.in.nvt
@@ -0,0 +1,36 @@
+# PREREQUISITES:
+#
+# 1) You must use moltemplate.sh to create 3 files:
+# system.data system.in.init system.in.settings
+# 2) You must minimize the system beforehand by using "run.in.min".
+# This will create the file "system_after_min.data" which this file reads.
+
+# ------------------------------- Initialization Section --------------------
+
+include "system.in.init"
+
+# ------------------------------- Atom Definition Section -------------------
+
+# Read the coordinates generated by an earlier simulation
+
+read_data "system_after_min.data"
+
+# ------------------------------- Settings Section --------------------------
+
+include "system.in.settings"
+include "system.in.charges"
+
+# ------------------------------- Run Section -------------------------------
+
+# -- simulation protocol --
+
+
+timestep 1.0
+dump 1 all custom 1000 traj_nvt.lammpstrj id mol type x y z ix iy iz
+fix fxnvt all nvt temp 300.0 300.0 500.0 tchain 1
+thermo 500
+#thermo_modify flush yes
+
+run 1000000
+
+write_data system_after_nvt.data
diff --git a/tools/moltemplate/moltemplate/force_fields/build_your_own_force_field/usage_example/system.lt b/tools/moltemplate/moltemplate/force_fields/build_your_own_force_field/usage_example/system.lt
new file mode 100644
index 000000000..f62ecc09b
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/build_your_own_force_field/usage_example/system.lt
@@ -0,0 +1,31 @@
+import "alkane50.lt" # Defines the "Alkane50" molecule
+
+
+polymer = new Alkane50
+
+
+
+# Specify the size of the world the polymer lives in:
+write_once("Data Boundary") {
+ 0.0 72.0 xlo xhi
+ 0.0 72.0 ylo yhi
+ 0.0 72.0 zlo zhi
+}
+
+
+
+
+
+###############################################################################
+# Note: If you want to create multiple polymers, and/or mix them with other
+# molecules, just add more "new" commands, for example:
+# polymer1 = new Alkane50.move(0,0,10)
+# polymer2 = new Alkane50.move(0,0,20)
+# :
+# ...or use array notation, for example:
+# polymers = new Alkane50[20].move(0,0,10)
+#
+# Note: Multidimensional arrays can be used to fill a planar region or a volume
+# polymers = new Alkane50 [4].move(0, 0, 30.0)
+# [4].move(0, 30.0, 0)
+# [2].move(70.0, 0, 0)
diff --git a/tools/moltemplate/moltemplate/force_fields/cooke_deserno/README b/tools/moltemplate/moltemplate/force_fields/cooke_deserno/README
new file mode 100644
index 000000000..6713725d0
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/cooke_deserno/README
@@ -0,0 +1,16 @@
+---Cooke Deserno coarse-grained bilayer model---
+
+This folder contains an lt file for a Cooke-type 3-bead lipid, as described in:
+
+"Tunable generic model for fluid bilayer membranes"
+ Cooke IR, Kremer K, Deserno M, Physical Review E, 2005
+
+Due to the form of the forcefield, this requires a 'tabulated potential' style in lammps. This is easily generated using the included python script. Usage as follows:
+
+ gen_potential-cooke.py w_c
+
+where w_c is an optional parameter as described in the original paper (10.1103/PhysRevE.72.011506) with default value of 1.6
+
+This creates the 'tabulated_potential' file which is needed by lammps during the simulation.
+
+---
diff --git a/tools/moltemplate/moltemplate/force_fields/cooke_deserno/gen_potential-cooke.py b/tools/moltemplate/moltemplate/force_fields/cooke_deserno/gen_potential-cooke.py
new file mode 100755
index 000000000..724029658
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/cooke_deserno/gen_potential-cooke.py
@@ -0,0 +1,144 @@
+#!/usr/bin/python2.7
+
+import os,sys
+from fractions import Fraction
+from numpy import *
+
+### PARAMETERS ###
+sigma = 1.00
+epsilon = 1.00
+
+b_hh = 0.95 * sigma
+b_ht = 0.95 * sigma
+b_tt = 1.00 * sigma
+
+r_init = 0.000001
+r_max = sigma * 3.
+r_space = 0.01
+##################
+
+### INPUTS ###
+if len(sys.argv) == 2:
+ w_cut = float(sys.argv[1])
+else:
+ w_cut = 1.6
+# 1.6 seems to be 'good' for vesicles, bilayers 1.4
+##############
+
+def WCA_energy(b, r):
+# Calculate WCA energy
+ E_pot = 0
+ val1 = math.pow((b / r), 12)
+ val2 = -math.pow((b / r), 6)
+ E_pot = 4 * epsilon * (val1 + val2 + 0.25)
+ return E_pot
+
+def WCA_forces(b, r):
+# Calculate WCA forces
+ Force = 0
+ val1 = 24 * math.pow(b, 6) / math.pow(r, 7)
+ val2 = -48 * math.pow(b, 12) / math.pow(r, 13)
+ Force = -(val1 + val2)
+ return Force
+
+def Tail_energy(b, r, r_cut):
+# Calculate extra Tail energy
+ E_pot = 0
+ if (r < r_cut):
+ E_pot = -1 * epsilon
+ else:
+ val1 = math.cos((math.pi * (r - r_cut)) / (2 * w_cut))
+ E_pot = -1 * epsilon * math.pow(val1, 2)
+ return E_pot
+
+def Tail_forces(b, r, r_cut):
+ Force = 0
+ if (r < r_cut):
+ Force = 0;
+ else:
+ val1 = math.sin((math.pi * (r - r_cut)) / w_cut)
+ Force = -math.pi * val1 / (2 * w_cut)
+ return Force
+
+
+##############
+ofile = open('tabulated_potential.dat', 'w')
+tot_potential_hh = zeros((int(r_max / r_space) + 1, 4))
+tot_potential_ht = zeros((int(r_max / r_space) + 1, 4))
+tot_potential_tt = zeros((int(r_max / r_space) + 1, 4))
+
+# Setup up formatting & distances in all arrays
+for i in range(int(r_max / r_space)+1):
+ tot_potential_hh[:,0][i] = i+1
+ tot_potential_ht[:,0][i] = i+1
+ tot_potential_tt[:,0][i] = i+1
+for i in range(1, int(r_max / r_space)+1):
+ tot_potential_hh[:,1][i] = tot_potential_hh[:,1][i-1] + r_space
+ tot_potential_ht[:,1][i] = tot_potential_ht[:,1][i-1] + r_space
+ tot_potential_tt[:,1][i] = tot_potential_tt[:,1][i-1] + r_space
+tot_potential_hh[:,1][0] = r_init
+tot_potential_ht[:,1][0] = r_init
+tot_potential_tt[:,1][0] = r_init
+
+
+
+ofile.write("# Tabulated potential for Cooke 3-bead lipid model, Wc = %f\n\n" % w_cut)
+num = len(tot_potential_hh[:,0])
+
+### Calcaulte first potential, H-H
+ofile.write("HEAD_HEAD\n")
+r_cut = 2**Fraction('1/6') * b_hh
+rmax = int(r_cut / r_space)
+ofile.write("N %d R %f %f\n\n" % (num, r_init, r_max))
+ofile.write("1 %f %f %f\n" % (tot_potential_hh[:,1][0], tot_potential_hh[:,2][0], tot_potential_hh[:,3][0]))
+
+for i in range(1, rmax+1):
+ tot_potential_hh[:,2][i] = WCA_energy(b_hh, tot_potential_hh[:,1][i])
+ tot_potential_hh[:,3][i] = WCA_forces(b_hh, tot_potential_hh[:,1][i])
+
+for i in range(1, int(r_max / r_space)+1):
+ ofile.write("%d %f %f %f\n" % (i+1, tot_potential_hh[:,1][i], tot_potential_hh[:,2][i], tot_potential_hh[:,3][i]))
+ofile.write("\n")
+
+
+
+### Calcaulte second potential, H-T
+ofile.write("HEAD_TAIL\n")
+r_cut = 2**Fraction('1/6') * b_ht
+rmax = int(r_cut / r_space)
+ofile.write("N %d R %f %f\n\n" % (num, r_init, r_max))
+ofile.write("1 %f %f %f\n" % (tot_potential_ht[:,1][0], tot_potential_ht[:,2][0], tot_potential_ht[:,3][0]))
+
+for i in range(1, rmax+1):
+ tot_potential_ht[:,2][i] = WCA_energy(b_ht, tot_potential_ht[:,1][i])
+ tot_potential_ht[:,3][i] = WCA_forces(b_ht, tot_potential_ht[:,1][i])
+
+for i in range(1, int(r_max / r_space)+1):
+ ofile.write("%d %f %f %f\n" % (i+1, tot_potential_ht[:,1][i], tot_potential_ht[:,2][i], tot_potential_ht[:,3][i]))
+ofile.write("\n")
+
+
+
+### Calcaulte third potential, T-T
+# Also include extra tail-tail attraction term
+ofile.write("TAIL_TAIL\n")
+r_cut = 2**Fraction('1/6') * b_tt
+rmax = int(r_cut / r_space)
+ofile.write("N %d R %f %f\n\n" % (num, r_init, r_max))
+ofile.write("1 %f %f %f\n" % (tot_potential_tt[:,1][0], tot_potential_tt[:,2][0], tot_potential_tt[:,3][0]))
+
+for i in range(1, rmax+1):
+ tot_potential_tt[:,2][i] = WCA_energy(b_tt, tot_potential_tt[:,1][i])
+ tot_potential_tt[:,3][i] = WCA_forces(b_tt, tot_potential_tt[:,1][i])
+
+max2 = int( (r_cut + w_cut) / r_space)
+for i in range(1, max2+1):
+ tot_potential_tt[:,2][i] = tot_potential_tt[:,2][i] + Tail_energy(b_tt, tot_potential_tt[:,1][i], r_cut)
+ tot_potential_tt[:,3][i] = tot_potential_tt[:,3][i] + Tail_forces(b_tt, tot_potential_tt[:,1][i], r_cut)
+
+for i in range(1, int(r_max / r_space)+1):
+ ofile.write("%d %f %f %f\n" % (i+1, tot_potential_tt[:,1][i], tot_potential_tt[:,2][i], tot_potential_tt[:,3][i]))
+ofile.write("\n")
+
+
+sys.exit()
diff --git a/tools/moltemplate/moltemplate/force_fields/cooke_deserno/tabulated_potential.dat b/tools/moltemplate/moltemplate/force_fields/cooke_deserno/tabulated_potential.dat
new file mode 100644
index 000000000..cd8dd4db7
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/cooke_deserno/tabulated_potential.dat
@@ -0,0 +1,4589 @@
+# Tabulated potential for Cooke 3-bead lipid model, with various values of Wc
+
+HEAD_HEAD
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 2161440350647607518822400.000000 2593728420778890895481110528.000000
+3 0.020000 527695398062100709376.000000 316617238851043104653312.000000
+4 0.030000 4067131343850062336.000000 1626852538346708926464.000000
+5 0.040000 128831883585858496.000000 38649565183436988416.000000
+6 0.050000 8853259488081101.000000 2124782299721489152.000000
+7 0.060000 992951926207085.500000 198590391543644928.000000
+8 0.070000 156158887055179.062500 26770097065977256.000000
+9 0.080000 31453085537227.195312 4717963671829832.000000
+10 0.090000 7653019634383.599609 1020402986772367.875000
+11 0.100000 2161437410283.985352 259372665656012.125000
+12 0.110000 688699846600.110840 75130982888675.812500
+13 0.120000 242418934523.303925 24241942688387.753906
+14 0.130000 92772695554.949768 8563661551482.013672
+15 0.140000 38124343876.568542 3267817639811.164551
+16 0.150000 16658711862.666004 1332707274503.870850
+17 0.160000 7678803441.103481 575916830241.413208
+18 0.170000 3709726886.129636 261867373669.903687
+19 0.180000 1868327898.144181 124558074820.194244
+20 0.190000 976500000.999998 61675657894.736687
+21 0.200000 527649455.864879 31660345589.187614
+22 0.210000 293806260.511241 16789908645.082933
+23 0.220000 168114083.438129 9170566326.526011
+24 0.230000 98610181.495127 5145397135.359623
+25 0.240000 59169165.297856 2958842872.372237
+26 0.250000 36250908.888444 1740332628.538169
+27 0.260000 22640215.252607 1045152619.667436
+28 0.270000 14392928.420337 639854320.962319
+29 0.280000 9301695.744822 398774811.984595
+30 0.290000 6104017.717125 252682276.475626
+31 0.300000 4063098.921872 162604585.395105
+32 0.310000 2740806.847436 106159834.284035
+33 0.320000 1872013.228410 70251804.140783
+34 0.330000 1293637.623279 47082727.461649
+35 0.340000 903822.389327 31933167.708250
+36 0.350000 638028.370186 21902644.696022
+37 0.360000 454806.060338 15182681.781435
+38 0.370000 327194.054124 10630250.689058
+39 0.380000 237443.016602 7513588.353207
+40 0.390000 173734.710287 5358508.469115
+41 0.400000 128115.021129 3854188.581495
+42 0.410000 95175.694590 2794659.517251
+43 0.420000 71203.733281 2042016.387369
+44 0.430000 53626.450912 1503014.644703
+45 0.440000 40645.593596 1114014.575978
+46 0.450000 30993.690585 831193.088925
+47 0.460000 23770.248288 624115.416996
+48 0.470000 18330.617960 471472.559289
+49 0.480000 14209.942248 358228.692769
+50 0.490000 11070.674537 273695.309628
+51 0.500000 8666.076152 210220.029942
+52 0.510000 6814.633252 162286.683398
+53 0.520000 5381.995700 125892.872001
+54 0.530000 4268.136868 98116.253151
+55 0.540000 3398.163685 76810.165684
+56 0.550000 2715.696677 60388.560510
+57 0.560000 2178.071621 47673.030759
+58 0.570000 1752.840750 37783.319810
+59 0.580000 1415.206838 30058.470465
+60 0.590000 1146.130977 23999.705760
+61 0.600000 930.929708 19228.816970
+62 0.610000 758.229563 15457.682582
+63 0.620000 619.184089 12465.822566
+64 0.630000 506.884625 10083.785213
+65 0.640000 415.914818 8180.790148
+66 0.650000 342.012307 6655.493196
+67 0.660000 281.810669 5429.052488
+68 0.670000 232.641766 4439.899069
+69 0.680000 192.383722 3639.775908
+70 0.690000 159.343555 2990.725059
+71 0.700000 132.166200 2462.786676
+72 0.710000 109.763738 2032.234764
+73 0.720000 91.260139 1680.219270
+74 0.730000 75.947974 1391.717054
+75 0.740000 63.254382 1154.718549
+76 0.750000 52.714228 959.594954
+77 0.760000 43.948872 798.604206
+78 0.770000 36.649308 665.504021
+79 0.780000 30.562750 555.247832
+80 0.790000 25.481924 463.745109
+81 0.800000 21.236485 387.671861
+82 0.810000 17.686136 324.320364
+83 0.820000 14.715086 271.479665
+84 0.830000 12.227574 227.340274
+85 0.840000 10.144253 190.417955
+86 0.850000 8.399249 159.492629
+87 0.860000 6.937780 133.559247
+88 0.870000 5.714205 111.788215
+89 0.880000 4.690441 93.493410
+90 0.890000 3.834655 78.106288
+91 0.900000 3.120205 65.154867
+92 0.910000 2.524755 54.246625
+93 0.920000 2.029558 45.054564
+94 0.930000 1.618857 37.305814
+95 0.940000 1.279395 30.772315
+96 0.950000 1.000000 25.263158
+97 0.960000 0.771253 20.618297
+98 0.970000 0.585203 16.703371
+99 0.980000 0.435131 13.405424
+100 0.990000 0.315357 10.629373
+101 1.000000 0.221073 8.295079
+102 1.010000 0.148209 6.334918
+103 1.020000 0.093319 4.691763
+104 1.030000 0.053479 3.317301
+105 1.040000 0.026214 2.170635
+106 1.050000 0.009423 1.217110
+107 1.060000 0.001327 0.427337
+108 1.070000 0.000000 0.000000
+109 1.080000 0.000000 0.000000
+110 1.090000 0.000000 0.000000
+111 1.100000 0.000000 0.000000
+112 1.110000 0.000000 0.000000
+113 1.120000 0.000000 0.000000
+114 1.130000 0.000000 0.000000
+115 1.140000 0.000000 0.000000
+116 1.150000 0.000000 0.000000
+117 1.160000 0.000000 0.000000
+118 1.170000 0.000000 0.000000
+119 1.180000 0.000000 0.000000
+120 1.190000 0.000000 0.000000
+121 1.200000 0.000000 0.000000
+122 1.210000 0.000000 0.000000
+123 1.220000 0.000000 0.000000
+124 1.230000 0.000000 0.000000
+125 1.240000 0.000000 0.000000
+126 1.250000 0.000000 0.000000
+127 1.260000 0.000000 0.000000
+128 1.270000 0.000000 0.000000
+129 1.280000 0.000000 0.000000
+130 1.290000 0.000000 0.000000
+131 1.300000 0.000000 0.000000
+132 1.310000 0.000000 0.000000
+133 1.320000 0.000000 0.000000
+134 1.330000 0.000000 0.000000
+135 1.340000 0.000000 0.000000
+136 1.350000 0.000000 0.000000
+137 1.360000 0.000000 0.000000
+138 1.370000 0.000000 0.000000
+139 1.380000 0.000000 0.000000
+140 1.390000 0.000000 0.000000
+141 1.400000 0.000000 0.000000
+142 1.410000 0.000000 0.000000
+143 1.420000 0.000000 0.000000
+144 1.430000 0.000000 0.000000
+145 1.440000 0.000000 0.000000
+146 1.450000 0.000000 0.000000
+147 1.460000 0.000000 0.000000
+148 1.470000 0.000000 0.000000
+149 1.480000 0.000000 0.000000
+150 1.490000 0.000000 0.000000
+151 1.500000 0.000000 0.000000
+152 1.510000 0.000000 0.000000
+153 1.520000 0.000000 0.000000
+154 1.530000 0.000000 0.000000
+155 1.540000 0.000000 0.000000
+156 1.550000 0.000000 0.000000
+157 1.560000 0.000000 0.000000
+158 1.570000 0.000000 0.000000
+159 1.580000 0.000000 0.000000
+160 1.590000 0.000000 0.000000
+161 1.600000 0.000000 0.000000
+162 1.610000 0.000000 0.000000
+163 1.620000 0.000000 0.000000
+164 1.630000 0.000000 0.000000
+165 1.640000 0.000000 0.000000
+166 1.650000 0.000000 0.000000
+167 1.660000 0.000000 0.000000
+168 1.670000 0.000000 0.000000
+169 1.680000 0.000000 0.000000
+170 1.690000 0.000000 0.000000
+171 1.700000 0.000000 0.000000
+172 1.710000 0.000000 0.000000
+173 1.720000 0.000000 0.000000
+174 1.730000 0.000000 0.000000
+175 1.740000 0.000000 0.000000
+176 1.750000 0.000000 0.000000
+177 1.760000 0.000000 0.000000
+178 1.770000 0.000000 0.000000
+179 1.780000 0.000000 0.000000
+180 1.790000 0.000000 0.000000
+181 1.800000 0.000000 0.000000
+182 1.810000 0.000000 0.000000
+183 1.820000 0.000000 0.000000
+184 1.830000 0.000000 0.000000
+185 1.840000 0.000000 0.000000
+186 1.850000 0.000000 0.000000
+187 1.860000 0.000000 0.000000
+188 1.870000 0.000000 0.000000
+189 1.880000 0.000000 0.000000
+190 1.890000 0.000000 0.000000
+191 1.900000 0.000000 0.000000
+192 1.910000 0.000000 0.000000
+193 1.920000 0.000000 0.000000
+194 1.930000 0.000000 0.000000
+195 1.940000 0.000000 0.000000
+196 1.950000 0.000000 0.000000
+197 1.960000 0.000000 0.000000
+198 1.970000 0.000000 0.000000
+199 1.980000 0.000000 0.000000
+200 1.990000 0.000000 0.000000
+201 2.000000 0.000000 0.000000
+202 2.010000 0.000000 0.000000
+203 2.020000 0.000000 0.000000
+204 2.030000 0.000000 0.000000
+205 2.040000 0.000000 0.000000
+206 2.050000 0.000000 0.000000
+207 2.060000 0.000000 0.000000
+208 2.070000 0.000000 0.000000
+209 2.080000 0.000000 0.000000
+210 2.090000 0.000000 0.000000
+211 2.100000 0.000000 0.000000
+212 2.110000 0.000000 0.000000
+213 2.120000 0.000000 0.000000
+214 2.130000 0.000000 0.000000
+215 2.140000 0.000000 0.000000
+216 2.150000 0.000000 0.000000
+217 2.160000 0.000000 0.000000
+218 2.170000 0.000000 0.000000
+219 2.180000 0.000000 0.000000
+220 2.190000 0.000000 0.000000
+221 2.200000 0.000000 0.000000
+222 2.210000 0.000000 0.000000
+223 2.220000 0.000000 0.000000
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+HEAD_TAIL
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 2161440350647607518822400.000000 2593728420778890895481110528.000000
+3 0.020000 527695398062100709376.000000 316617238851043104653312.000000
+4 0.030000 4067131343850062336.000000 1626852538346708926464.000000
+5 0.040000 128831883585858496.000000 38649565183436988416.000000
+6 0.050000 8853259488081101.000000 2124782299721489152.000000
+7 0.060000 992951926207085.500000 198590391543644928.000000
+8 0.070000 156158887055179.062500 26770097065977256.000000
+9 0.080000 31453085537227.195312 4717963671829832.000000
+10 0.090000 7653019634383.599609 1020402986772367.875000
+11 0.100000 2161437410283.985352 259372665656012.125000
+12 0.110000 688699846600.110840 75130982888675.812500
+13 0.120000 242418934523.303925 24241942688387.753906
+14 0.130000 92772695554.949768 8563661551482.013672
+15 0.140000 38124343876.568542 3267817639811.164551
+16 0.150000 16658711862.666004 1332707274503.870850
+17 0.160000 7678803441.103481 575916830241.413208
+18 0.170000 3709726886.129636 261867373669.903687
+19 0.180000 1868327898.144181 124558074820.194244
+20 0.190000 976500000.999998 61675657894.736687
+21 0.200000 527649455.864879 31660345589.187614
+22 0.210000 293806260.511241 16789908645.082933
+23 0.220000 168114083.438129 9170566326.526011
+24 0.230000 98610181.495127 5145397135.359623
+25 0.240000 59169165.297856 2958842872.372237
+26 0.250000 36250908.888444 1740332628.538169
+27 0.260000 22640215.252607 1045152619.667436
+28 0.270000 14392928.420337 639854320.962319
+29 0.280000 9301695.744822 398774811.984595
+30 0.290000 6104017.717125 252682276.475626
+31 0.300000 4063098.921872 162604585.395105
+32 0.310000 2740806.847436 106159834.284035
+33 0.320000 1872013.228410 70251804.140783
+34 0.330000 1293637.623279 47082727.461649
+35 0.340000 903822.389327 31933167.708250
+36 0.350000 638028.370186 21902644.696022
+37 0.360000 454806.060338 15182681.781435
+38 0.370000 327194.054124 10630250.689058
+39 0.380000 237443.016602 7513588.353207
+40 0.390000 173734.710287 5358508.469115
+41 0.400000 128115.021129 3854188.581495
+42 0.410000 95175.694590 2794659.517251
+43 0.420000 71203.733281 2042016.387369
+44 0.430000 53626.450912 1503014.644703
+45 0.440000 40645.593596 1114014.575978
+46 0.450000 30993.690585 831193.088925
+47 0.460000 23770.248288 624115.416996
+48 0.470000 18330.617960 471472.559289
+49 0.480000 14209.942248 358228.692769
+50 0.490000 11070.674537 273695.309628
+51 0.500000 8666.076152 210220.029942
+52 0.510000 6814.633252 162286.683398
+53 0.520000 5381.995700 125892.872001
+54 0.530000 4268.136868 98116.253151
+55 0.540000 3398.163685 76810.165684
+56 0.550000 2715.696677 60388.560510
+57 0.560000 2178.071621 47673.030759
+58 0.570000 1752.840750 37783.319810
+59 0.580000 1415.206838 30058.470465
+60 0.590000 1146.130977 23999.705760
+61 0.600000 930.929708 19228.816970
+62 0.610000 758.229563 15457.682582
+63 0.620000 619.184089 12465.822566
+64 0.630000 506.884625 10083.785213
+65 0.640000 415.914818 8180.790148
+66 0.650000 342.012307 6655.493196
+67 0.660000 281.810669 5429.052488
+68 0.670000 232.641766 4439.899069
+69 0.680000 192.383722 3639.775908
+70 0.690000 159.343555 2990.725059
+71 0.700000 132.166200 2462.786676
+72 0.710000 109.763738 2032.234764
+73 0.720000 91.260139 1680.219270
+74 0.730000 75.947974 1391.717054
+75 0.740000 63.254382 1154.718549
+76 0.750000 52.714228 959.594954
+77 0.760000 43.948872 798.604206
+78 0.770000 36.649308 665.504021
+79 0.780000 30.562750 555.247832
+80 0.790000 25.481924 463.745109
+81 0.800000 21.236485 387.671861
+82 0.810000 17.686136 324.320364
+83 0.820000 14.715086 271.479665
+84 0.830000 12.227574 227.340274
+85 0.840000 10.144253 190.417955
+86 0.850000 8.399249 159.492629
+87 0.860000 6.937780 133.559247
+88 0.870000 5.714205 111.788215
+89 0.880000 4.690441 93.493410
+90 0.890000 3.834655 78.106288
+91 0.900000 3.120205 65.154867
+92 0.910000 2.524755 54.246625
+93 0.920000 2.029558 45.054564
+94 0.930000 1.618857 37.305814
+95 0.940000 1.279395 30.772315
+96 0.950000 1.000000 25.263158
+97 0.960000 0.771253 20.618297
+98 0.970000 0.585203 16.703371
+99 0.980000 0.435131 13.405424
+100 0.990000 0.315357 10.629373
+101 1.000000 0.221073 8.295079
+102 1.010000 0.148209 6.334918
+103 1.020000 0.093319 4.691763
+104 1.030000 0.053479 3.317301
+105 1.040000 0.026214 2.170635
+106 1.050000 0.009423 1.217110
+107 1.060000 0.001327 0.427337
+108 1.070000 0.000000 0.000000
+109 1.080000 0.000000 0.000000
+110 1.090000 0.000000 0.000000
+111 1.100000 0.000000 0.000000
+112 1.110000 0.000000 0.000000
+113 1.120000 0.000000 0.000000
+114 1.130000 0.000000 0.000000
+115 1.140000 0.000000 0.000000
+116 1.150000 0.000000 0.000000
+117 1.160000 0.000000 0.000000
+118 1.170000 0.000000 0.000000
+119 1.180000 0.000000 0.000000
+120 1.190000 0.000000 0.000000
+121 1.200000 0.000000 0.000000
+122 1.210000 0.000000 0.000000
+123 1.220000 0.000000 0.000000
+124 1.230000 0.000000 0.000000
+125 1.240000 0.000000 0.000000
+126 1.250000 0.000000 0.000000
+127 1.260000 0.000000 0.000000
+128 1.270000 0.000000 0.000000
+129 1.280000 0.000000 0.000000
+130 1.290000 0.000000 0.000000
+131 1.300000 0.000000 0.000000
+132 1.310000 0.000000 0.000000
+133 1.320000 0.000000 0.000000
+134 1.330000 0.000000 0.000000
+135 1.340000 0.000000 0.000000
+136 1.350000 0.000000 0.000000
+137 1.360000 0.000000 0.000000
+138 1.370000 0.000000 0.000000
+139 1.380000 0.000000 0.000000
+140 1.390000 0.000000 0.000000
+141 1.400000 0.000000 0.000000
+142 1.410000 0.000000 0.000000
+143 1.420000 0.000000 0.000000
+144 1.430000 0.000000 0.000000
+145 1.440000 0.000000 0.000000
+146 1.450000 0.000000 0.000000
+147 1.460000 0.000000 0.000000
+148 1.470000 0.000000 0.000000
+149 1.480000 0.000000 0.000000
+150 1.490000 0.000000 0.000000
+151 1.500000 0.000000 0.000000
+152 1.510000 0.000000 0.000000
+153 1.520000 0.000000 0.000000
+154 1.530000 0.000000 0.000000
+155 1.540000 0.000000 0.000000
+156 1.550000 0.000000 0.000000
+157 1.560000 0.000000 0.000000
+158 1.570000 0.000000 0.000000
+159 1.580000 0.000000 0.000000
+160 1.590000 0.000000 0.000000
+161 1.600000 0.000000 0.000000
+162 1.610000 0.000000 0.000000
+163 1.620000 0.000000 0.000000
+164 1.630000 0.000000 0.000000
+165 1.640000 0.000000 0.000000
+166 1.650000 0.000000 0.000000
+167 1.660000 0.000000 0.000000
+168 1.670000 0.000000 0.000000
+169 1.680000 0.000000 0.000000
+170 1.690000 0.000000 0.000000
+171 1.700000 0.000000 0.000000
+172 1.710000 0.000000 0.000000
+173 1.720000 0.000000 0.000000
+174 1.730000 0.000000 0.000000
+175 1.740000 0.000000 0.000000
+176 1.750000 0.000000 0.000000
+177 1.760000 0.000000 0.000000
+178 1.770000 0.000000 0.000000
+179 1.780000 0.000000 0.000000
+180 1.790000 0.000000 0.000000
+181 1.800000 0.000000 0.000000
+182 1.810000 0.000000 0.000000
+183 1.820000 0.000000 0.000000
+184 1.830000 0.000000 0.000000
+185 1.840000 0.000000 0.000000
+186 1.850000 0.000000 0.000000
+187 1.860000 0.000000 0.000000
+188 1.870000 0.000000 0.000000
+189 1.880000 0.000000 0.000000
+190 1.890000 0.000000 0.000000
+191 1.900000 0.000000 0.000000
+192 1.910000 0.000000 0.000000
+193 1.920000 0.000000 0.000000
+194 1.930000 0.000000 0.000000
+195 1.940000 0.000000 0.000000
+196 1.950000 0.000000 0.000000
+197 1.960000 0.000000 0.000000
+198 1.970000 0.000000 0.000000
+199 1.980000 0.000000 0.000000
+200 1.990000 0.000000 0.000000
+201 2.000000 0.000000 0.000000
+202 2.010000 0.000000 0.000000
+203 2.020000 0.000000 0.000000
+204 2.030000 0.000000 0.000000
+205 2.040000 0.000000 0.000000
+206 2.050000 0.000000 0.000000
+207 2.060000 0.000000 0.000000
+208 2.070000 0.000000 0.000000
+209 2.080000 0.000000 0.000000
+210 2.090000 0.000000 0.000000
+211 2.100000 0.000000 0.000000
+212 2.110000 0.000000 0.000000
+213 2.120000 0.000000 0.000000
+214 2.130000 0.000000 0.000000
+215 2.140000 0.000000 0.000000
+216 2.150000 0.000000 0.000000
+217 2.160000 0.000000 0.000000
+218 2.170000 0.000000 0.000000
+219 2.180000 0.000000 0.000000
+220 2.190000 0.000000 0.000000
+221 2.200000 0.000000 0.000000
+222 2.210000 0.000000 0.000000
+223 2.220000 0.000000 0.000000
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+TAIL_TAIL_Wc_0.6
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999611 -0.103302
+115 1.140000 -0.997893 -0.240069
+116 1.150000 -0.994811 -0.376178
+117 1.160000 -0.990373 -0.511255
+118 1.170000 -0.984591 -0.644932
+119 1.180000 -0.977480 -0.776841
+120 1.190000 -0.969061 -0.906620
+121 1.200000 -0.959356 -1.033915
+122 1.210000 -0.948392 -1.158376
+123 1.220000 -0.936199 -1.279661
+124 1.230000 -0.922811 -1.397439
+125 1.240000 -0.908263 -1.511387
+126 1.250000 -0.892597 -1.621193
+127 1.260000 -0.875854 -1.726554
+128 1.270000 -0.858082 -1.827184
+129 1.280000 -0.839327 -1.922805
+130 1.290000 -0.819643 -2.013156
+131 1.300000 -0.799083 -2.097989
+132 1.310000 -0.777702 -2.177071
+133 1.320000 -0.755561 -2.250187
+134 1.330000 -0.732719 -2.317134
+135 1.340000 -0.709240 -2.377731
+136 1.350000 -0.685186 -2.431810
+137 1.360000 -0.660626 -2.479224
+138 1.370000 -0.635625 -2.519843
+139 1.380000 -0.610252 -2.553555
+140 1.390000 -0.584577 -2.580268
+141 1.400000 -0.558670 -2.599908
+142 1.410000 -0.532602 -2.612423
+143 1.420000 -0.506445 -2.617776
+144 1.430000 -0.480271 -2.615955
+145 1.440000 -0.454150 -2.606964
+146 1.450000 -0.428155 -2.590827
+147 1.460000 -0.402357 -2.567588
+148 1.470000 -0.376827 -2.537312
+149 1.480000 -0.351634 -2.500082
+150 1.490000 -0.326848 -2.455999
+151 1.500000 -0.302537 -2.405184
+152 1.510000 -0.278767 -2.347777
+153 1.520000 -0.255603 -2.283935
+154 1.530000 -0.233109 -2.213833
+155 1.540000 -0.211346 -2.137662
+156 1.550000 -0.190375 -2.055633
+157 1.560000 -0.170252 -1.967969
+158 1.570000 -0.151034 -1.874911
+159 1.580000 -0.132771 -1.776714
+160 1.590000 -0.115516 -1.673647
+161 1.600000 -0.099314 -1.565993
+162 1.610000 -0.084210 -1.454047
+163 1.620000 -0.070246 -1.338115
+164 1.630000 -0.057460 -1.218516
+165 1.640000 -0.045887 -1.095576
+166 1.650000 -0.035558 -0.969634
+167 1.660000 -0.026503 -0.841034
+168 1.670000 -0.018745 -0.710129
+169 1.680000 -0.012307 -0.577277
+170 1.690000 -0.007205 -0.442843
+171 1.700000 -0.003454 -0.307196
+172 1.710000 -0.001064 -0.170706
+173 1.720000 -0.000042 -0.033748
+174 1.730000 0.000000 0.000000
+175 1.740000 0.000000 0.000000
+176 1.750000 0.000000 0.000000
+177 1.760000 0.000000 0.000000
+178 1.770000 0.000000 0.000000
+179 1.780000 0.000000 0.000000
+180 1.790000 0.000000 0.000000
+181 1.800000 0.000000 0.000000
+182 1.810000 0.000000 0.000000
+183 1.820000 0.000000 0.000000
+184 1.830000 0.000000 0.000000
+185 1.840000 0.000000 0.000000
+186 1.850000 0.000000 0.000000
+187 1.860000 0.000000 0.000000
+188 1.870000 0.000000 0.000000
+189 1.880000 0.000000 0.000000
+190 1.890000 0.000000 0.000000
+191 1.900000 0.000000 0.000000
+192 1.910000 0.000000 0.000000
+193 1.920000 0.000000 0.000000
+194 1.930000 0.000000 0.000000
+195 1.940000 0.000000 0.000000
+196 1.950000 0.000000 0.000000
+197 1.960000 0.000000 0.000000
+198 1.970000 0.000000 0.000000
+199 1.980000 0.000000 0.000000
+200 1.990000 0.000000 0.000000
+201 2.000000 0.000000 0.000000
+202 2.010000 0.000000 0.000000
+203 2.020000 0.000000 0.000000
+204 2.030000 0.000000 0.000000
+205 2.040000 0.000000 0.000000
+206 2.050000 0.000000 0.000000
+207 2.060000 0.000000 0.000000
+208 2.070000 0.000000 0.000000
+209 2.080000 0.000000 0.000000
+210 2.090000 0.000000 0.000000
+211 2.100000 0.000000 0.000000
+212 2.110000 0.000000 0.000000
+213 2.120000 0.000000 0.000000
+214 2.130000 0.000000 0.000000
+215 2.140000 0.000000 0.000000
+216 2.150000 0.000000 0.000000
+217 2.160000 0.000000 0.000000
+218 2.170000 0.000000 0.000000
+219 2.180000 0.000000 0.000000
+220 2.190000 0.000000 0.000000
+221 2.200000 0.000000 0.000000
+222 2.210000 0.000000 0.000000
+223 2.220000 0.000000 0.000000
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_0.7
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999714 -0.075900
+115 1.140000 -0.998452 -0.176443
+116 1.150000 -0.996186 -0.276630
+117 1.160000 -0.992921 -0.376260
+118 1.170000 -0.988664 -0.475132
+119 1.180000 -0.983422 -0.573048
+120 1.190000 -0.977206 -0.669809
+121 1.200000 -0.970030 -0.765221
+122 1.210000 -0.961907 -0.859093
+123 1.220000 -0.952854 -0.951234
+124 1.230000 -0.942889 -1.041460
+125 1.240000 -0.932032 -1.129588
+126 1.250000 -0.920305 -1.215441
+127 1.260000 -0.907731 -1.298847
+128 1.270000 -0.894336 -1.379637
+129 1.280000 -0.880148 -1.457649
+130 1.290000 -0.865193 -1.532725
+131 1.300000 -0.849503 -1.604714
+132 1.310000 -0.833110 -1.673472
+133 1.320000 -0.816045 -1.738859
+134 1.330000 -0.798344 -1.800745
+135 1.340000 -0.780042 -1.859004
+136 1.350000 -0.761177 -1.913520
+137 1.360000 -0.741785 -1.964182
+138 1.370000 -0.721906 -2.010888
+139 1.380000 -0.701581 -2.053545
+140 1.390000 -0.680849 -2.092066
+141 1.400000 -0.659753 -2.126374
+142 1.410000 -0.638336 -2.156399
+143 1.420000 -0.616640 -2.182082
+144 1.430000 -0.594709 -2.203371
+145 1.440000 -0.572587 -2.220222
+146 1.450000 -0.550319 -2.232602
+147 1.460000 -0.527950 -2.240486
+148 1.470000 -0.505525 -2.243858
+149 1.480000 -0.483088 -2.242711
+150 1.490000 -0.460686 -2.237047
+151 1.500000 -0.438362 -2.226879
+152 1.510000 -0.416163 -2.212225
+153 1.520000 -0.394133 -2.193117
+154 1.530000 -0.372315 -2.169592
+155 1.540000 -0.350755 -2.141698
+156 1.550000 -0.329496 -2.109490
+157 1.560000 -0.308580 -2.073035
+158 1.570000 -0.288049 -2.032404
+159 1.580000 -0.267945 -1.987681
+160 1.590000 -0.248309 -1.938954
+161 1.600000 -0.229179 -1.886323
+162 1.610000 -0.210595 -1.829893
+163 1.620000 -0.192594 -1.769778
+164 1.630000 -0.175211 -1.706099
+165 1.640000 -0.158483 -1.638984
+166 1.650000 -0.142443 -1.568568
+167 1.660000 -0.127122 -1.494993
+168 1.670000 -0.112553 -1.418408
+169 1.680000 -0.098764 -1.338966
+170 1.690000 -0.085782 -1.256828
+171 1.700000 -0.073635 -1.172158
+172 1.710000 -0.062347 -1.085128
+173 1.720000 -0.051940 -0.995913
+174 1.730000 -0.042436 -0.904692
+175 1.740000 -0.033852 -0.811649
+176 1.750000 -0.026208 -0.716971
+177 1.760000 -0.019518 -0.620850
+178 1.770000 -0.013795 -0.523479
+179 1.780000 -0.009052 -0.425053
+180 1.790000 -0.005297 -0.325771
+181 1.800000 -0.002538 -0.225833
+182 1.810000 -0.000782 -0.125440
+183 1.820000 -0.000031 -0.024795
+184 1.830000 0.000000 0.000000
+185 1.840000 0.000000 0.000000
+186 1.850000 0.000000 0.000000
+187 1.860000 0.000000 0.000000
+188 1.870000 0.000000 0.000000
+189 1.880000 0.000000 0.000000
+190 1.890000 0.000000 0.000000
+191 1.900000 0.000000 0.000000
+192 1.910000 0.000000 0.000000
+193 1.920000 0.000000 0.000000
+194 1.930000 0.000000 0.000000
+195 1.940000 0.000000 0.000000
+196 1.950000 0.000000 0.000000
+197 1.960000 0.000000 0.000000
+198 1.970000 0.000000 0.000000
+199 1.980000 0.000000 0.000000
+200 1.990000 0.000000 0.000000
+201 2.000000 0.000000 0.000000
+202 2.010000 0.000000 0.000000
+203 2.020000 0.000000 0.000000
+204 2.030000 0.000000 0.000000
+205 2.040000 0.000000 0.000000
+206 2.050000 0.000000 0.000000
+207 2.060000 0.000000 0.000000
+208 2.070000 0.000000 0.000000
+209 2.080000 0.000000 0.000000
+210 2.090000 0.000000 0.000000
+211 2.100000 0.000000 0.000000
+212 2.110000 0.000000 0.000000
+213 2.120000 0.000000 0.000000
+214 2.130000 0.000000 0.000000
+215 2.140000 0.000000 0.000000
+216 2.150000 0.000000 0.000000
+217 2.160000 0.000000 0.000000
+218 2.170000 0.000000 0.000000
+219 2.180000 0.000000 0.000000
+220 2.190000 0.000000 0.000000
+221 2.200000 0.000000 0.000000
+222 2.210000 0.000000 0.000000
+223 2.220000 0.000000 0.000000
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_0.8
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999781 -0.058114
+115 1.140000 -0.998815 -0.135122
+116 1.150000 -0.997079 -0.211921
+117 1.160000 -0.994577 -0.288394
+118 1.170000 -0.991313 -0.364422
+119 1.180000 -0.987291 -0.439888
+120 1.190000 -0.982517 -0.514676
+121 1.200000 -0.977000 -0.588671
+122 1.210000 -0.970747 -0.661757
+123 1.220000 -0.963768 -0.733823
+124 1.230000 -0.956074 -0.804758
+125 1.240000 -0.947677 -0.874452
+126 1.250000 -0.938590 -0.942798
+127 1.260000 -0.928826 -1.009689
+128 1.270000 -0.918401 -1.075024
+129 1.280000 -0.907331 -1.138702
+130 1.290000 -0.895633 -1.200623
+131 1.300000 -0.883325 -1.260693
+132 1.310000 -0.870426 -1.318820
+133 1.320000 -0.856955 -1.374913
+134 1.330000 -0.842934 -1.428885
+135 1.340000 -0.828385 -1.480655
+136 1.350000 -0.813329 -1.530141
+137 1.360000 -0.797790 -1.577269
+138 1.370000 -0.781792 -1.621964
+139 1.380000 -0.765359 -1.664158
+140 1.390000 -0.748517 -1.703786
+141 1.400000 -0.731292 -1.740787
+142 1.410000 -0.713710 -1.775104
+143 1.420000 -0.695799 -1.806684
+144 1.430000 -0.677586 -1.835478
+145 1.440000 -0.659099 -1.861442
+146 1.450000 -0.640367 -1.884535
+147 1.460000 -0.621418 -1.904723
+148 1.470000 -0.602282 -1.921974
+149 1.480000 -0.582988 -1.936261
+150 1.490000 -0.563567 -1.947563
+151 1.500000 -0.544047 -1.955862
+152 1.510000 -0.524459 -1.961145
+153 1.520000 -0.504834 -1.963404
+154 1.530000 -0.485201 -1.962635
+155 1.540000 -0.465592 -1.958841
+156 1.550000 -0.446035 -1.952026
+157 1.560000 -0.426561 -1.942201
+158 1.570000 -0.407201 -1.929381
+159 1.580000 -0.387983 -1.913586
+160 1.590000 -0.368939 -1.894841
+161 1.600000 -0.350096 -1.873174
+162 1.610000 -0.331485 -1.848619
+163 1.620000 -0.313133 -1.821213
+164 1.630000 -0.295070 -1.790999
+165 1.640000 -0.277323 -1.758024
+166 1.650000 -0.259919 -1.722338
+167 1.660000 -0.242885 -1.683996
+168 1.670000 -0.226247 -1.643057
+169 1.680000 -0.210032 -1.599585
+170 1.690000 -0.194264 -1.553647
+171 1.700000 -0.178967 -1.505313
+172 1.710000 -0.164165 -1.454658
+173 1.720000 -0.149881 -1.401759
+174 1.730000 -0.136137 -1.346700
+175 1.740000 -0.122954 -1.289564
+176 1.750000 -0.110353 -1.230439
+177 1.760000 -0.098352 -1.169418
+178 1.770000 -0.086970 -1.106593
+179 1.780000 -0.076226 -1.042062
+180 1.790000 -0.066134 -0.975924
+181 1.800000 -0.056712 -0.908281
+182 1.810000 -0.047973 -0.839238
+183 1.820000 -0.039932 -0.768901
+184 1.830000 -0.032599 -0.697378
+185 1.840000 -0.025988 -0.624780
+186 1.850000 -0.020107 -0.551218
+187 1.860000 -0.014966 -0.476807
+188 1.870000 -0.010573 -0.401660
+189 1.880000 -0.006935 -0.325894
+190 1.890000 -0.004057 -0.249625
+191 1.900000 -0.001944 -0.172972
+192 1.910000 -0.000599 -0.096052
+193 1.920000 -0.000023 -0.018984
+194 1.930000 0.000000 0.000000
+195 1.940000 0.000000 0.000000
+196 1.950000 0.000000 0.000000
+197 1.960000 0.000000 0.000000
+198 1.970000 0.000000 0.000000
+199 1.980000 0.000000 0.000000
+200 1.990000 0.000000 0.000000
+201 2.000000 0.000000 0.000000
+202 2.010000 0.000000 0.000000
+203 2.020000 0.000000 0.000000
+204 2.030000 0.000000 0.000000
+205 2.040000 0.000000 0.000000
+206 2.050000 0.000000 0.000000
+207 2.060000 0.000000 0.000000
+208 2.070000 0.000000 0.000000
+209 2.080000 0.000000 0.000000
+210 2.090000 0.000000 0.000000
+211 2.100000 0.000000 0.000000
+212 2.110000 0.000000 0.000000
+213 2.120000 0.000000 0.000000
+214 2.130000 0.000000 0.000000
+215 2.140000 0.000000 0.000000
+216 2.150000 0.000000 0.000000
+217 2.160000 0.000000 0.000000
+218 2.170000 0.000000 0.000000
+219 2.180000 0.000000 0.000000
+220 2.190000 0.000000 0.000000
+221 2.200000 0.000000 0.000000
+222 2.210000 0.000000 0.000000
+223 2.220000 0.000000 0.000000
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_0.9
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999827 -0.045919
+115 1.140000 -0.999063 -0.106781
+116 1.150000 -0.997692 -0.167513
+117 1.160000 -0.995714 -0.228040
+118 1.170000 -0.993132 -0.288290
+119 1.180000 -0.989949 -0.348189
+120 1.190000 -0.986169 -0.407664
+121 1.200000 -0.981798 -0.466642
+122 1.210000 -0.976839 -0.525051
+123 1.220000 -0.971299 -0.582821
+124 1.230000 -0.965185 -0.639880
+125 1.240000 -0.958504 -0.696160
+126 1.250000 -0.951264 -0.751592
+127 1.260000 -0.943475 -0.806108
+128 1.270000 -0.935145 -0.859642
+129 1.280000 -0.926285 -0.912129
+130 1.290000 -0.916906 -0.963505
+131 1.300000 -0.907019 -1.013706
+132 1.310000 -0.896636 -1.062673
+133 1.320000 -0.885770 -1.110344
+134 1.330000 -0.874434 -1.156663
+135 1.340000 -0.862642 -1.201573
+136 1.350000 -0.850407 -1.245019
+137 1.360000 -0.837746 -1.286948
+138 1.370000 -0.824674 -1.327309
+139 1.380000 -0.811205 -1.366053
+140 1.390000 -0.797358 -1.403132
+141 1.400000 -0.783149 -1.438502
+142 1.410000 -0.768594 -1.472120
+143 1.420000 -0.753712 -1.503944
+144 1.430000 -0.738521 -1.533936
+145 1.440000 -0.723040 -1.562058
+146 1.450000 -0.707286 -1.588278
+147 1.460000 -0.691281 -1.612562
+148 1.470000 -0.675042 -1.634882
+149 1.480000 -0.658590 -1.655210
+150 1.490000 -0.641944 -1.673522
+151 1.500000 -0.625126 -1.689794
+152 1.510000 -0.608155 -1.704008
+153 1.520000 -0.591053 -1.716146
+154 1.530000 -0.573839 -1.726192
+155 1.540000 -0.556536 -1.734136
+156 1.550000 -0.539164 -1.739967
+157 1.560000 -0.521744 -1.743678
+158 1.570000 -0.504297 -1.745265
+159 1.580000 -0.486845 -1.744725
+160 1.590000 -0.469410 -1.742060
+161 1.600000 -0.452011 -1.737272
+162 1.610000 -0.434671 -1.730368
+163 1.620000 -0.417411 -1.721355
+164 1.630000 -0.400251 -1.710245
+165 1.640000 -0.383213 -1.697052
+166 1.650000 -0.366317 -1.681791
+167 1.660000 -0.349584 -1.664481
+168 1.670000 -0.333034 -1.645143
+169 1.680000 -0.316688 -1.623800
+170 1.690000 -0.300565 -1.600480
+171 1.700000 -0.284685 -1.575209
+172 1.710000 -0.269067 -1.548019
+173 1.720000 -0.253731 -1.518943
+174 1.730000 -0.238694 -1.488017
+175 1.740000 -0.223976 -1.455278
+176 1.750000 -0.209595 -1.420765
+177 1.760000 -0.195567 -1.384522
+178 1.770000 -0.181910 -1.346592
+179 1.780000 -0.168640 -1.307021
+180 1.790000 -0.155775 -1.265858
+181 1.800000 -0.143328 -1.223153
+182 1.810000 -0.131317 -1.178957
+183 1.820000 -0.119754 -1.133325
+184 1.830000 -0.108655 -1.086312
+185 1.840000 -0.098032 -1.037976
+186 1.850000 -0.087899 -0.988375
+187 1.860000 -0.078269 -0.937570
+188 1.870000 -0.069152 -0.885622
+189 1.880000 -0.060560 -0.832596
+190 1.890000 -0.052503 -0.778555
+191 1.900000 -0.044992 -0.723566
+192 1.910000 -0.038035 -0.667695
+193 1.920000 -0.031641 -0.611011
+194 1.930000 -0.025817 -0.553582
+195 1.940000 -0.020571 -0.495479
+196 1.950000 -0.015910 -0.436772
+197 1.960000 -0.011838 -0.377533
+198 1.970000 -0.008360 -0.317834
+199 1.980000 -0.005482 -0.257747
+200 1.990000 -0.003207 -0.197347
+201 2.000000 -0.001536 -0.136706
+202 2.010000 -0.000473 -0.075899
+203 2.020000 -0.000018 -0.014999
+204 2.030000 0.000000 0.000000
+205 2.040000 0.000000 0.000000
+206 2.050000 0.000000 0.000000
+207 2.060000 0.000000 0.000000
+208 2.070000 0.000000 0.000000
+209 2.080000 0.000000 0.000000
+210 2.090000 0.000000 0.000000
+211 2.100000 0.000000 0.000000
+212 2.110000 0.000000 0.000000
+213 2.120000 0.000000 0.000000
+214 2.130000 0.000000 0.000000
+215 2.140000 0.000000 0.000000
+216 2.150000 0.000000 0.000000
+217 2.160000 0.000000 0.000000
+218 2.170000 0.000000 0.000000
+219 2.180000 0.000000 0.000000
+220 2.190000 0.000000 0.000000
+221 2.200000 0.000000 0.000000
+222 2.210000 0.000000 0.000000
+223 2.220000 0.000000 0.000000
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.0
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999860 -0.037195
+115 1.140000 -0.999241 -0.086503
+116 1.150000 -0.998130 -0.135725
+117 1.160000 -0.996527 -0.184813
+118 1.170000 -0.994434 -0.233719
+119 1.180000 -0.991854 -0.282395
+120 1.190000 -0.988787 -0.330791
+121 1.200000 -0.985239 -0.378862
+122 1.210000 -0.981211 -0.426558
+123 1.220000 -0.976709 -0.473833
+124 1.230000 -0.971736 -0.520641
+125 1.240000 -0.966298 -0.566935
+126 1.250000 -0.960399 -0.612669
+127 1.260000 -0.954047 -0.657799
+128 1.270000 -0.947246 -0.702280
+129 1.280000 -0.940003 -0.746067
+130 1.290000 -0.932327 -0.789119
+131 1.300000 -0.924224 -0.831391
+132 1.310000 -0.915702 -0.872843
+133 1.320000 -0.906770 -0.913434
+134 1.330000 -0.897436 -0.953123
+135 1.340000 -0.887710 -0.991872
+136 1.350000 -0.877602 -1.029642
+137 1.360000 -0.867121 -1.066395
+138 1.370000 -0.856277 -1.102096
+139 1.380000 -0.845082 -1.136710
+140 1.390000 -0.833547 -1.170202
+141 1.400000 -0.821682 -1.202539
+142 1.410000 -0.809500 -1.233689
+143 1.420000 -0.797013 -1.263622
+144 1.430000 -0.784232 -1.292307
+145 1.440000 -0.771171 -1.319717
+146 1.450000 -0.757842 -1.345825
+147 1.460000 -0.744259 -1.370605
+148 1.470000 -0.730434 -1.394032
+149 1.480000 -0.716383 -1.416083
+150 1.490000 -0.702117 -1.436737
+151 1.500000 -0.687653 -1.455973
+152 1.510000 -0.673003 -1.473772
+153 1.520000 -0.658182 -1.490117
+154 1.530000 -0.643205 -1.504991
+155 1.540000 -0.628087 -1.518380
+156 1.550000 -0.612843 -1.530270
+157 1.560000 -0.597487 -1.540650
+158 1.570000 -0.582035 -1.549510
+159 1.580000 -0.566502 -1.556841
+160 1.590000 -0.550903 -1.562635
+161 1.600000 -0.535254 -1.566887
+162 1.610000 -0.519570 -1.569593
+163 1.620000 -0.503867 -1.570749
+164 1.630000 -0.488161 -1.570356
+165 1.640000 -0.472465 -1.568413
+166 1.650000 -0.456797 -1.564922
+167 1.660000 -0.441172 -1.559886
+168 1.670000 -0.425605 -1.553311
+169 1.680000 -0.410111 -1.545204
+170 1.690000 -0.394706 -1.535571
+171 1.700000 -0.379405 -1.524423
+172 1.710000 -0.364222 -1.511770
+173 1.720000 -0.349174 -1.497626
+174 1.730000 -0.334275 -1.482003
+175 1.740000 -0.319539 -1.464918
+176 1.750000 -0.304981 -1.446388
+177 1.760000 -0.290616 -1.426430
+178 1.770000 -0.276457 -1.405064
+179 1.780000 -0.262519 -1.382311
+180 1.790000 -0.248816 -1.358195
+181 1.800000 -0.235360 -1.332738
+182 1.810000 -0.222165 -1.305965
+183 1.820000 -0.209245 -1.277904
+184 1.830000 -0.196611 -1.248582
+185 1.840000 -0.184277 -1.218028
+186 1.850000 -0.172255 -1.186271
+187 1.860000 -0.160556 -1.153344
+188 1.870000 -0.149192 -1.119279
+189 1.880000 -0.138174 -1.084109
+190 1.890000 -0.127513 -1.047869
+191 1.900000 -0.117220 -1.010595
+192 1.910000 -0.107305 -0.972323
+193 1.920000 -0.097777 -0.933093
+194 1.930000 -0.088646 -0.892941
+195 1.940000 -0.079921 -0.851908
+196 1.950000 -0.071610 -0.810034
+197 1.960000 -0.063723 -0.767361
+198 1.970000 -0.056266 -0.723931
+199 1.980000 -0.049247 -0.679786
+200 1.990000 -0.042672 -0.634970
+201 2.000000 -0.036549 -0.589528
+202 2.010000 -0.030884 -0.543504
+203 2.020000 -0.025681 -0.496943
+204 2.030000 -0.020946 -0.449892
+205 2.040000 -0.016685 -0.402397
+206 2.050000 -0.012900 -0.354505
+207 2.060000 -0.009596 -0.306263
+208 2.070000 -0.006776 -0.257719
+209 2.080000 -0.004442 -0.208921
+210 2.090000 -0.002598 -0.159916
+211 2.100000 -0.001244 -0.110754
+212 2.110000 -0.000383 -0.061482
+213 2.120000 -0.000015 -0.012150
+214 2.130000 0.000000 0.000000
+215 2.140000 0.000000 0.000000
+216 2.150000 0.000000 0.000000
+217 2.160000 0.000000 0.000000
+218 2.170000 0.000000 0.000000
+219 2.180000 0.000000 0.000000
+220 2.190000 0.000000 0.000000
+221 2.200000 0.000000 0.000000
+222 2.210000 0.000000 0.000000
+223 2.220000 0.000000 0.000000
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.1
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999884 -0.030740
+115 1.140000 -0.999373 -0.071496
+116 1.150000 -0.998454 -0.112194
+117 1.160000 -0.997129 -0.152800
+118 1.170000 -0.995399 -0.193281
+119 1.180000 -0.993264 -0.233605
+120 1.190000 -0.990727 -0.273738
+121 1.200000 -0.987790 -0.313649
+122 1.210000 -0.984455 -0.353303
+123 1.220000 -0.980725 -0.392669
+124 1.230000 -0.976603 -0.431715
+125 1.240000 -0.972092 -0.470408
+126 1.250000 -0.967196 -0.508719
+127 1.260000 -0.961919 -0.546614
+128 1.270000 -0.956265 -0.584063
+129 1.280000 -0.950239 -0.621036
+130 1.290000 -0.943846 -0.657502
+131 1.300000 -0.937091 -0.693432
+132 1.310000 -0.929979 -0.728797
+133 1.320000 -0.922517 -0.763567
+134 1.330000 -0.914710 -0.797715
+135 1.340000 -0.906565 -0.831211
+136 1.350000 -0.898088 -0.864030
+137 1.360000 -0.889287 -0.896144
+138 1.370000 -0.880168 -0.927527
+139 1.380000 -0.870739 -0.958154
+140 1.390000 -0.861007 -0.987999
+141 1.400000 -0.850981 -1.017039
+142 1.410000 -0.840669 -1.045248
+143 1.420000 -0.830079 -1.072606
+144 1.430000 -0.819220 -1.099088
+145 1.440000 -0.808101 -1.124674
+146 1.450000 -0.796730 -1.149343
+147 1.460000 -0.785117 -1.173074
+148 1.470000 -0.773271 -1.195849
+149 1.480000 -0.761203 -1.217648
+150 1.490000 -0.748922 -1.238454
+151 1.500000 -0.736437 -1.258250
+152 1.510000 -0.723760 -1.277020
+153 1.520000 -0.710900 -1.294748
+154 1.530000 -0.697869 -1.311420
+155 1.540000 -0.684676 -1.327023
+156 1.550000 -0.671332 -1.341543
+157 1.560000 -0.657848 -1.354969
+158 1.570000 -0.644236 -1.367290
+159 1.580000 -0.630506 -1.378496
+160 1.590000 -0.616670 -1.388577
+161 1.600000 -0.602739 -1.397526
+162 1.610000 -0.588723 -1.405335
+163 1.620000 -0.574636 -1.411998
+164 1.630000 -0.560487 -1.417509
+165 1.640000 -0.546289 -1.421864
+166 1.650000 -0.532054 -1.425059
+167 1.660000 -0.517792 -1.427092
+168 1.670000 -0.503516 -1.427961
+169 1.680000 -0.489237 -1.427666
+170 1.690000 -0.474966 -1.426206
+171 1.700000 -0.460716 -1.423582
+172 1.710000 -0.446499 -1.419798
+173 1.720000 -0.432324 -1.414856
+174 1.730000 -0.418205 -1.408759
+175 1.740000 -0.404153 -1.401514
+176 1.750000 -0.390179 -1.393126
+177 1.760000 -0.376294 -1.383601
+178 1.770000 -0.362511 -1.372948
+179 1.780000 -0.348839 -1.361175
+180 1.790000 -0.335291 -1.348292
+181 1.800000 -0.321877 -1.334309
+182 1.810000 -0.308608 -1.319238
+183 1.820000 -0.295496 -1.303091
+184 1.830000 -0.282550 -1.285881
+185 1.840000 -0.269782 -1.267622
+186 1.850000 -0.257201 -1.248329
+187 1.860000 -0.244818 -1.228018
+188 1.870000 -0.232644 -1.206706
+189 1.880000 -0.220688 -1.184410
+190 1.890000 -0.208959 -1.161147
+191 1.900000 -0.197468 -1.136937
+192 1.910000 -0.186223 -1.111800
+193 1.920000 -0.175235 -1.085757
+194 1.930000 -0.164511 -1.058827
+195 1.940000 -0.154061 -1.031034
+196 1.950000 -0.143893 -1.002401
+197 1.960000 -0.134016 -0.972949
+198 1.970000 -0.124437 -0.942704
+199 1.980000 -0.115164 -0.911690
+200 1.990000 -0.106206 -0.879933
+201 2.000000 -0.097568 -0.847458
+202 2.010000 -0.089259 -0.814292
+203 2.020000 -0.081284 -0.780461
+204 2.030000 -0.073652 -0.745994
+205 2.040000 -0.066367 -0.710919
+206 2.050000 -0.059435 -0.675264
+207 2.060000 -0.052863 -0.639057
+208 2.070000 -0.046656 -0.602330
+209 2.080000 -0.040818 -0.565112
+210 2.090000 -0.035355 -0.527432
+211 2.100000 -0.030271 -0.489323
+212 2.110000 -0.025570 -0.450814
+213 2.120000 -0.021256 -0.411937
+214 2.130000 -0.017332 -0.372725
+215 2.140000 -0.013802 -0.333209
+216 2.150000 -0.010669 -0.293421
+217 2.160000 -0.007935 -0.253393
+218 2.170000 -0.005602 -0.213159
+219 2.180000 -0.003672 -0.172751
+220 2.190000 -0.002147 -0.132202
+221 2.200000 -0.001028 -0.091545
+222 2.210000 -0.000317 -0.050814
+223 2.220000 -0.000012 -0.010041
+224 2.230000 0.000000 0.000000
+225 2.240000 0.000000 0.000000
+226 2.250000 0.000000 0.000000
+227 2.260000 0.000000 0.000000
+228 2.270000 0.000000 0.000000
+229 2.280000 0.000000 0.000000
+230 2.290000 0.000000 0.000000
+231 2.300000 0.000000 0.000000
+232 2.310000 0.000000 0.000000
+233 2.320000 0.000000 0.000000
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.2
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999903 -0.025830
+115 1.140000 -0.999473 -0.060080
+116 1.150000 -0.998701 -0.094289
+117 1.160000 -0.997587 -0.128434
+118 1.170000 -0.996133 -0.162490
+119 1.180000 -0.994338 -0.196435
+120 1.190000 -0.992205 -0.230245
+121 1.200000 -0.989734 -0.263897
+122 1.210000 -0.986927 -0.297369
+123 1.220000 -0.983787 -0.330637
+124 1.230000 -0.980315 -0.363678
+125 1.240000 -0.976514 -0.396470
+126 1.250000 -0.972387 -0.428990
+127 1.260000 -0.967935 -0.461216
+128 1.270000 -0.963163 -0.493126
+129 1.280000 -0.958074 -0.524698
+130 1.290000 -0.952671 -0.555911
+131 1.300000 -0.946957 -0.586742
+132 1.310000 -0.940937 -0.617172
+133 1.320000 -0.934615 -0.647178
+134 1.330000 -0.927995 -0.676741
+135 1.340000 -0.921082 -0.705840
+136 1.350000 -0.913880 -0.734455
+137 1.360000 -0.906394 -0.762567
+138 1.370000 -0.898630 -0.790157
+139 1.380000 -0.890593 -0.817204
+140 1.390000 -0.882288 -0.843692
+141 1.400000 -0.873721 -0.869602
+142 1.410000 -0.864898 -0.894915
+143 1.420000 -0.855825 -0.919615
+144 1.430000 -0.846508 -0.943685
+145 1.440000 -0.836953 -0.967108
+146 1.450000 -0.827168 -0.989869
+147 1.460000 -0.817158 -1.011951
+148 1.470000 -0.806931 -1.033339
+149 1.480000 -0.796494 -1.054019
+150 1.490000 -0.785853 -1.073977
+151 1.500000 -0.775017 -1.093199
+152 1.510000 -0.763992 -1.111672
+153 1.520000 -0.752786 -1.129382
+154 1.530000 -0.741407 -1.146319
+155 1.540000 -0.729862 -1.162470
+156 1.550000 -0.718160 -1.177825
+157 1.560000 -0.706308 -1.192372
+158 1.570000 -0.694315 -1.206102
+159 1.580000 -0.682189 -1.219005
+160 1.590000 -0.669938 -1.231073
+161 1.600000 -0.657570 -1.242297
+162 1.610000 -0.645095 -1.252670
+163 1.620000 -0.632520 -1.262184
+164 1.630000 -0.619854 -1.270833
+165 1.640000 -0.607106 -1.278611
+166 1.650000 -0.594285 -1.285513
+167 1.660000 -0.581399 -1.291534
+168 1.670000 -0.568457 -1.296670
+169 1.680000 -0.555468 -1.300917
+170 1.690000 -0.542442 -1.304273
+171 1.700000 -0.529386 -1.306734
+172 1.710000 -0.516310 -1.308300
+173 1.720000 -0.503223 -1.308970
+174 1.730000 -0.490133 -1.308742
+175 1.740000 -0.477051 -1.307617
+176 1.750000 -0.463984 -1.305597
+177 1.760000 -0.450942 -1.302681
+178 1.770000 -0.437933 -1.298873
+179 1.780000 -0.424968 -1.294174
+180 1.790000 -0.412053 -1.288588
+181 1.800000 -0.399199 -1.282120
+182 1.810000 -0.386413 -1.274772
+183 1.820000 -0.373706 -1.266551
+184 1.830000 -0.361085 -1.257462
+185 1.840000 -0.348560 -1.247511
+186 1.850000 -0.336138 -1.236706
+187 1.860000 -0.323828 -1.225052
+188 1.870000 -0.311640 -1.212559
+189 1.880000 -0.299580 -1.199235
+190 1.890000 -0.287658 -1.185089
+191 1.900000 -0.275881 -1.170131
+192 1.910000 -0.264258 -1.154371
+193 1.920000 -0.252796 -1.137820
+194 1.930000 -0.241504 -1.120489
+195 1.940000 -0.230389 -1.102390
+196 1.950000 -0.219459 -1.083535
+197 1.960000 -0.208721 -1.063938
+198 1.970000 -0.198182 -1.043612
+199 1.980000 -0.187851 -1.022570
+200 1.990000 -0.177733 -1.000828
+201 2.000000 -0.167837 -0.978400
+202 2.010000 -0.158168 -0.955301
+203 2.020000 -0.148733 -0.931547
+204 2.030000 -0.139539 -0.907155
+205 2.040000 -0.130592 -0.882142
+206 2.050000 -0.121898 -0.856524
+207 2.060000 -0.113463 -0.830318
+208 2.070000 -0.105293 -0.803544
+209 2.080000 -0.097394 -0.776219
+210 2.090000 -0.089771 -0.748362
+211 2.100000 -0.082429 -0.719992
+212 2.110000 -0.075373 -0.691129
+213 2.120000 -0.068608 -0.661792
+214 2.130000 -0.062138 -0.632001
+215 2.140000 -0.055969 -0.601777
+216 2.150000 -0.050104 -0.571141
+217 2.160000 -0.044548 -0.540114
+218 2.170000 -0.039303 -0.508716
+219 2.180000 -0.034374 -0.476970
+220 2.190000 -0.029765 -0.444896
+221 2.200000 -0.025478 -0.412518
+222 2.210000 -0.021515 -0.379857
+223 2.220000 -0.017881 -0.346936
+224 2.230000 -0.014577 -0.313777
+225 2.240000 -0.011606 -0.280403
+226 2.250000 -0.008970 -0.246837
+227 2.260000 -0.006670 -0.213101
+228 2.270000 -0.004709 -0.179220
+229 2.280000 -0.003086 -0.145216
+230 2.290000 -0.001805 -0.111112
+231 2.300000 -0.000864 -0.076932
+232 2.310000 -0.000266 -0.042699
+233 2.320000 -0.000010 -0.008437
+234 2.330000 0.000000 0.000000
+235 2.340000 0.000000 0.000000
+236 2.350000 0.000000 0.000000
+237 2.360000 0.000000 0.000000
+238 2.370000 0.000000 0.000000
+239 2.380000 0.000000 0.000000
+240 2.390000 0.000000 0.000000
+241 2.400000 0.000000 0.000000
+242 2.410000 0.000000 0.000000
+243 2.420000 0.000000 0.000000
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.3
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999917 -0.022010
+115 1.140000 -0.999551 -0.051196
+116 1.150000 -0.998893 -0.080352
+117 1.160000 -0.997944 -0.109461
+118 1.170000 -0.996704 -0.138506
+119 1.180000 -0.995174 -0.167470
+120 1.190000 -0.993355 -0.196337
+121 1.200000 -0.991248 -0.225088
+122 1.210000 -0.988854 -0.253709
+123 1.220000 -0.986174 -0.282181
+124 1.230000 -0.983211 -0.310488
+125 1.240000 -0.979965 -0.338614
+126 1.250000 -0.976439 -0.366543
+127 1.260000 -0.972635 -0.394257
+128 1.270000 -0.968555 -0.421741
+129 1.280000 -0.964201 -0.448979
+130 1.290000 -0.959576 -0.475955
+131 1.300000 -0.954683 -0.502652
+132 1.310000 -0.949524 -0.529056
+133 1.320000 -0.944103 -0.555152
+134 1.330000 -0.938422 -0.580923
+135 1.340000 -0.932485 -0.606354
+136 1.350000 -0.926296 -0.631432
+137 1.360000 -0.919858 -0.656141
+138 1.370000 -0.913175 -0.680467
+139 1.380000 -0.906250 -0.704395
+140 1.390000 -0.899088 -0.727912
+141 1.400000 -0.891693 -0.751004
+142 1.410000 -0.884069 -0.773657
+143 1.420000 -0.876221 -0.795859
+144 1.430000 -0.868154 -0.817596
+145 1.440000 -0.859871 -0.838855
+146 1.450000 -0.851378 -0.859625
+147 1.460000 -0.842680 -0.879892
+148 1.470000 -0.833782 -0.899646
+149 1.480000 -0.824689 -0.918874
+150 1.490000 -0.815407 -0.937566
+151 1.500000 -0.805940 -0.955710
+152 1.510000 -0.796294 -0.973296
+153 1.520000 -0.786476 -0.990314
+154 1.530000 -0.776490 -1.006753
+155 1.540000 -0.766343 -1.022605
+156 1.550000 -0.756040 -1.037859
+157 1.560000 -0.745587 -1.052507
+158 1.570000 -0.734992 -1.066541
+159 1.580000 -0.724259 -1.079952
+160 1.590000 -0.713395 -1.092732
+161 1.600000 -0.702406 -1.104874
+162 1.610000 -0.691299 -1.116371
+163 1.620000 -0.680081 -1.127215
+164 1.630000 -0.668757 -1.137402
+165 1.640000 -0.657335 -1.146924
+166 1.650000 -0.645821 -1.155777
+167 1.660000 -0.634222 -1.163955
+168 1.670000 -0.622544 -1.171452
+169 1.680000 -0.610795 -1.178266
+170 1.690000 -0.598981 -1.184392
+171 1.700000 -0.587109 -1.189826
+172 1.710000 -0.575187 -1.194565
+173 1.720000 -0.563220 -1.198607
+174 1.730000 -0.551217 -1.201949
+175 1.740000 -0.539184 -1.204589
+176 1.750000 -0.527128 -1.206525
+177 1.760000 -0.515056 -1.207757
+178 1.770000 -0.502975 -1.208283
+179 1.780000 -0.490892 -1.208104
+180 1.790000 -0.478815 -1.207220
+181 1.800000 -0.466750 -1.205630
+182 1.810000 -0.454705 -1.203337
+183 1.820000 -0.442686 -1.200340
+184 1.830000 -0.430700 -1.196643
+185 1.840000 -0.418755 -1.192247
+186 1.850000 -0.406858 -1.187155
+187 1.860000 -0.395015 -1.181369
+188 1.870000 -0.383233 -1.174893
+189 1.880000 -0.371519 -1.167732
+190 1.890000 -0.359880 -1.159888
+191 1.900000 -0.348324 -1.151367
+192 1.910000 -0.336855 -1.142174
+193 1.920000 -0.325482 -1.132314
+194 1.930000 -0.314211 -1.121793
+195 1.940000 -0.303049 -1.110616
+196 1.950000 -0.292001 -1.098791
+197 1.960000 -0.281075 -1.086324
+198 1.970000 -0.270277 -1.073223
+199 1.980000 -0.259613 -1.059495
+200 1.990000 -0.249089 -1.045148
+201 2.000000 -0.238712 -1.030191
+202 2.010000 -0.228487 -1.014633
+203 2.020000 -0.218421 -0.998482
+204 2.030000 -0.208519 -0.981748
+205 2.040000 -0.198788 -0.964440
+206 2.050000 -0.189232 -0.946569
+207 2.060000 -0.179858 -0.928146
+208 2.070000 -0.170671 -0.909180
+209 2.080000 -0.161677 -0.889684
+210 2.090000 -0.152879 -0.869668
+211 2.100000 -0.144285 -0.849144
+212 2.110000 -0.135898 -0.828125
+213 2.120000 -0.127724 -0.806621
+214 2.130000 -0.119767 -0.784647
+215 2.140000 -0.112033 -0.762214
+216 2.150000 -0.104524 -0.739337
+217 2.160000 -0.097247 -0.716027
+218 2.170000 -0.090205 -0.692300
+219 2.180000 -0.083403 -0.668168
+220 2.190000 -0.076843 -0.643646
+221 2.200000 -0.070531 -0.618748
+222 2.210000 -0.064469 -0.593489
+223 2.220000 -0.058662 -0.567883
+224 2.230000 -0.053113 -0.541946
+225 2.240000 -0.047824 -0.515692
+226 2.250000 -0.042800 -0.489137
+227 2.260000 -0.038043 -0.462296
+228 2.270000 -0.033555 -0.435185
+229 2.280000 -0.029340 -0.407820
+230 2.290000 -0.025399 -0.380217
+231 2.300000 -0.021736 -0.352392
+232 2.310000 -0.018352 -0.324362
+233 2.320000 -0.015250 -0.296141
+234 2.330000 -0.012430 -0.267748
+235 2.340000 -0.009895 -0.239199
+236 2.350000 -0.007647 -0.210510
+237 2.360000 -0.005685 -0.181697
+238 2.370000 -0.004013 -0.152779
+239 2.380000 -0.002630 -0.123772
+240 2.390000 -0.001538 -0.094692
+241 2.400000 -0.000736 -0.065557
+242 2.410000 -0.000227 -0.036384
+243 2.420000 -0.000009 -0.007189
+244 2.430000 0.000000 0.000000
+245 2.440000 0.000000 0.000000
+246 2.450000 0.000000 0.000000
+247 2.460000 0.000000 0.000000
+248 2.470000 0.000000 0.000000
+249 2.480000 0.000000 0.000000
+250 2.490000 0.000000 0.000000
+251 2.500000 0.000000 0.000000
+252 2.510000 0.000000 0.000000
+253 2.520000 0.000000 0.000000
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.4
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999928 -0.018978
+115 1.140000 -0.999613 -0.044145
+116 1.150000 -0.999046 -0.069290
+117 1.160000 -0.998227 -0.094400
+118 1.170000 -0.997158 -0.119462
+119 1.180000 -0.995838 -0.144464
+120 1.190000 -0.994269 -0.169394
+121 1.200000 -0.992451 -0.194238
+122 1.210000 -0.990384 -0.218985
+123 1.220000 -0.988071 -0.243621
+124 1.230000 -0.985512 -0.268134
+125 1.240000 -0.982709 -0.292513
+126 1.250000 -0.979663 -0.316744
+127 1.260000 -0.976375 -0.340816
+128 1.270000 -0.972847 -0.364716
+129 1.280000 -0.969081 -0.388432
+130 1.290000 -0.965079 -0.411953
+131 1.300000 -0.960843 -0.435266
+132 1.310000 -0.956374 -0.458361
+133 1.320000 -0.951676 -0.481224
+134 1.330000 -0.946751 -0.503845
+135 1.340000 -0.941600 -0.526213
+136 1.350000 -0.936227 -0.548315
+137 1.360000 -0.930635 -0.570142
+138 1.370000 -0.924825 -0.591681
+139 1.380000 -0.918802 -0.612922
+140 1.390000 -0.912568 -0.633855
+141 1.400000 -0.906126 -0.654469
+142 1.410000 -0.899480 -0.674753
+143 1.420000 -0.892632 -0.694697
+144 1.430000 -0.885587 -0.714291
+145 1.440000 -0.878347 -0.733526
+146 1.450000 -0.870918 -0.752392
+147 1.460000 -0.863301 -0.770878
+148 1.470000 -0.855501 -0.788977
+149 1.480000 -0.847523 -0.806678
+150 1.490000 -0.839369 -0.823973
+151 1.500000 -0.831045 -0.840853
+152 1.510000 -0.822553 -0.857310
+153 1.520000 -0.813900 -0.873335
+154 1.530000 -0.805088 -0.888920
+155 1.540000 -0.796123 -0.904058
+156 1.550000 -0.787009 -0.918740
+157 1.560000 -0.777750 -0.932960
+158 1.570000 -0.768351 -0.946710
+159 1.580000 -0.758817 -0.959983
+160 1.590000 -0.749153 -0.972773
+161 1.600000 -0.739363 -0.985073
+162 1.610000 -0.729453 -0.996878
+163 1.620000 -0.719427 -1.008180
+164 1.630000 -0.709291 -1.018974
+165 1.640000 -0.699050 -1.029256
+166 1.650000 -0.688708 -1.039019
+167 1.660000 -0.678271 -1.048259
+168 1.670000 -0.667744 -1.056971
+169 1.680000 -0.657133 -1.065151
+170 1.690000 -0.646443 -1.072795
+171 1.700000 -0.635679 -1.079898
+172 1.710000 -0.624847 -1.086458
+173 1.720000 -0.613952 -1.092471
+174 1.730000 -0.602999 -1.097933
+175 1.740000 -0.591995 -1.102843
+176 1.750000 -0.580944 -1.107197
+177 1.760000 -0.569853 -1.110994
+178 1.770000 -0.558726 -1.114231
+179 1.780000 -0.547570 -1.116908
+180 1.790000 -0.536390 -1.119022
+181 1.800000 -0.525192 -1.120572
+182 1.810000 -0.513981 -1.121559
+183 1.820000 -0.502762 -1.121980
+184 1.830000 -0.491543 -1.121837
+185 1.840000 -0.480328 -1.121129
+186 1.850000 -0.469122 -1.119856
+187 1.860000 -0.457932 -1.118019
+188 1.870000 -0.446764 -1.115620
+189 1.880000 -0.435622 -1.112658
+190 1.890000 -0.424512 -1.109137
+191 1.900000 -0.413441 -1.105056
+192 1.910000 -0.402413 -1.100420
+193 1.920000 -0.391434 -1.095229
+194 1.930000 -0.380510 -1.089487
+195 1.940000 -0.369646 -1.083196
+196 1.950000 -0.358848 -1.076360
+197 1.960000 -0.348121 -1.068982
+198 1.970000 -0.337470 -1.061066
+199 1.980000 -0.326902 -1.052615
+200 1.990000 -0.316420 -1.043634
+201 2.000000 -0.306031 -1.034128
+202 2.010000 -0.295739 -1.024101
+203 2.020000 -0.285550 -1.013559
+204 2.030000 -0.275470 -1.002506
+205 2.040000 -0.265502 -0.990948
+206 2.050000 -0.255652 -0.978892
+207 2.060000 -0.245926 -0.966342
+208 2.070000 -0.236327 -0.953306
+209 2.080000 -0.226861 -0.939790
+210 2.090000 -0.217533 -0.925800
+211 2.100000 -0.208347 -0.911345
+212 2.110000 -0.199307 -0.896430
+213 2.120000 -0.190420 -0.881064
+214 2.130000 -0.181688 -0.865255
+215 2.140000 -0.173116 -0.849010
+216 2.150000 -0.164709 -0.832337
+217 2.160000 -0.156471 -0.815245
+218 2.170000 -0.148405 -0.797743
+219 2.180000 -0.140517 -0.779839
+220 2.190000 -0.132810 -0.761542
+221 2.200000 -0.125288 -0.742862
+222 2.210000 -0.117954 -0.723808
+223 2.220000 -0.110813 -0.704390
+224 2.230000 -0.103867 -0.684616
+225 2.240000 -0.097121 -0.664498
+226 2.250000 -0.090578 -0.644046
+227 2.260000 -0.084242 -0.623269
+228 2.270000 -0.078114 -0.602178
+229 2.280000 -0.072199 -0.580784
+230 2.290000 -0.066499 -0.559098
+231 2.300000 -0.061018 -0.537130
+232 2.310000 -0.055758 -0.514892
+233 2.320000 -0.050721 -0.492394
+234 2.330000 -0.045911 -0.469648
+235 2.340000 -0.041329 -0.446666
+236 2.350000 -0.036978 -0.423459
+237 2.360000 -0.032860 -0.400039
+238 2.370000 -0.028978 -0.376418
+239 2.380000 -0.025333 -0.352606
+240 2.390000 -0.021926 -0.328618
+241 2.400000 -0.018761 -0.304464
+242 2.410000 -0.015838 -0.280156
+243 2.420000 -0.013158 -0.255707
+244 2.430000 -0.010724 -0.231130
+245 2.440000 -0.008536 -0.206436
+246 2.450000 -0.006596 -0.181639
+247 2.460000 -0.004903 -0.156750
+248 2.470000 -0.003461 -0.131782
+249 2.480000 -0.002268 -0.106747
+250 2.490000 -0.001326 -0.081659
+251 2.500000 -0.000635 -0.056530
+252 2.510000 -0.000195 -0.031372
+253 2.520000 -0.000008 -0.006199
+254 2.530000 0.000000 0.000000
+255 2.540000 0.000000 0.000000
+256 2.550000 0.000000 0.000000
+257 2.560000 0.000000 0.000000
+258 2.570000 0.000000 0.000000
+259 2.580000 0.000000 0.000000
+260 2.590000 0.000000 0.000000
+261 2.600000 0.000000 0.000000
+262 2.610000 0.000000 0.000000
+263 2.620000 0.000000 0.000000
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.5
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999938 -0.016532
+115 1.140000 -0.999663 -0.038456
+116 1.150000 -0.999169 -0.060364
+117 1.160000 -0.998456 -0.082245
+118 1.170000 -0.997524 -0.104090
+119 1.180000 -0.996374 -0.125890
+120 1.190000 -0.995006 -0.147634
+121 1.200000 -0.993421 -0.169313
+122 1.210000 -0.991620 -0.190918
+123 1.220000 -0.989603 -0.212440
+124 1.230000 -0.987372 -0.233868
+125 1.240000 -0.984926 -0.255194
+126 1.250000 -0.982268 -0.276407
+127 1.260000 -0.979399 -0.297500
+128 1.270000 -0.976319 -0.318462
+129 1.280000 -0.973030 -0.339284
+130 1.290000 -0.969533 -0.359958
+131 1.300000 -0.965831 -0.380473
+132 1.310000 -0.961925 -0.400822
+133 1.320000 -0.957815 -0.420995
+134 1.330000 -0.953505 -0.440983
+135 1.340000 -0.948996 -0.460778
+136 1.350000 -0.944290 -0.480371
+137 1.360000 -0.939390 -0.499753
+138 1.370000 -0.934296 -0.518915
+139 1.380000 -0.929012 -0.537851
+140 1.390000 -0.923540 -0.556550
+141 1.400000 -0.917882 -0.575005
+142 1.410000 -0.912041 -0.593208
+143 1.420000 -0.906019 -0.611151
+144 1.430000 -0.899818 -0.628825
+145 1.440000 -0.893443 -0.646224
+146 1.450000 -0.886895 -0.663339
+147 1.460000 -0.880177 -0.680164
+148 1.470000 -0.873293 -0.696690
+149 1.480000 -0.866244 -0.712910
+150 1.490000 -0.859035 -0.728818
+151 1.500000 -0.851669 -0.744406
+152 1.510000 -0.844148 -0.759668
+153 1.520000 -0.836477 -0.774596
+154 1.530000 -0.828658 -0.789184
+155 1.540000 -0.820694 -0.803427
+156 1.550000 -0.812590 -0.817317
+157 1.560000 -0.804349 -0.830848
+158 1.570000 -0.795975 -0.844015
+159 1.580000 -0.787470 -0.856812
+160 1.590000 -0.778840 -0.869233
+161 1.600000 -0.770087 -0.881273
+162 1.610000 -0.761215 -0.892926
+163 1.620000 -0.752229 -0.904188
+164 1.630000 -0.743133 -0.915053
+165 1.640000 -0.733930 -0.925516
+166 1.650000 -0.724624 -0.935574
+167 1.660000 -0.715220 -0.945221
+168 1.670000 -0.705721 -0.954454
+169 1.680000 -0.696132 -0.963267
+170 1.690000 -0.686457 -0.971659
+171 1.700000 -0.676700 -0.979624
+172 1.710000 -0.666866 -0.987160
+173 1.720000 -0.656958 -0.994262
+174 1.730000 -0.646982 -1.000929
+175 1.740000 -0.636941 -1.007156
+176 1.750000 -0.626841 -1.012942
+177 1.760000 -0.616684 -1.018283
+178 1.770000 -0.606476 -1.023177
+179 1.780000 -0.596222 -1.027623
+180 1.790000 -0.585925 -1.031618
+181 1.800000 -0.575591 -1.035161
+182 1.810000 -0.565224 -1.038249
+183 1.820000 -0.554828 -1.040883
+184 1.830000 -0.544408 -1.043059
+185 1.840000 -0.533968 -1.044778
+186 1.850000 -0.523514 -1.046039
+187 1.860000 -0.513049 -1.046841
+188 1.870000 -0.502578 -1.047184
+189 1.880000 -0.492107 -1.047067
+190 1.890000 -0.481638 -1.046491
+191 1.900000 -0.471178 -1.045456
+192 1.910000 -0.460731 -1.043963
+193 1.920000 -0.450301 -1.042011
+194 1.930000 -0.439892 -1.039603
+195 1.940000 -0.429510 -1.036739
+196 1.950000 -0.419159 -1.033419
+197 1.960000 -0.408843 -1.029647
+198 1.970000 -0.398567 -1.025423
+199 1.980000 -0.388336 -1.020749
+200 1.990000 -0.378154 -1.015627
+201 2.000000 -0.368025 -1.010060
+202 2.010000 -0.357954 -1.004050
+203 2.020000 -0.347946 -0.997599
+204 2.030000 -0.338004 -0.990711
+205 2.040000 -0.328133 -0.983389
+206 2.050000 -0.318337 -0.975635
+207 2.060000 -0.308622 -0.967453
+208 2.070000 -0.298990 -0.958846
+209 2.080000 -0.289446 -0.949819
+210 2.090000 -0.279995 -0.940376
+211 2.100000 -0.270640 -0.930520
+212 2.110000 -0.261386 -0.920255
+213 2.120000 -0.252236 -0.909588
+214 2.130000 -0.243195 -0.898521
+215 2.140000 -0.234267 -0.887060
+216 2.150000 -0.225455 -0.875210
+217 2.160000 -0.216764 -0.862976
+218 2.170000 -0.208197 -0.850363
+219 2.180000 -0.199758 -0.837378
+220 2.190000 -0.191451 -0.824025
+221 2.200000 -0.183279 -0.810311
+222 2.210000 -0.175246 -0.796241
+223 2.220000 -0.167355 -0.781822
+224 2.230000 -0.159610 -0.767060
+225 2.240000 -0.152015 -0.751962
+226 2.250000 -0.144572 -0.736534
+227 2.260000 -0.137285 -0.720783
+228 2.270000 -0.130158 -0.704715
+229 2.280000 -0.123192 -0.688339
+230 2.290000 -0.116392 -0.671661
+231 2.300000 -0.109760 -0.654688
+232 2.310000 -0.103299 -0.637427
+233 2.320000 -0.097012 -0.619888
+234 2.330000 -0.090902 -0.602076
+235 2.340000 -0.084972 -0.584000
+236 2.350000 -0.079223 -0.565668
+237 2.360000 -0.073659 -0.547088
+238 2.370000 -0.068282 -0.528268
+239 2.380000 -0.063095 -0.509216
+240 2.390000 -0.058099 -0.489941
+241 2.400000 -0.053296 -0.470451
+242 2.410000 -0.048690 -0.450755
+243 2.420000 -0.044282 -0.430861
+244 2.430000 -0.040074 -0.410778
+245 2.440000 -0.036067 -0.390515
+246 2.450000 -0.032264 -0.370080
+247 2.460000 -0.028666 -0.349483
+248 2.470000 -0.025275 -0.328733
+249 2.480000 -0.022092 -0.307839
+250 2.490000 -0.019118 -0.286809
+251 2.500000 -0.016356 -0.265654
+252 2.510000 -0.013806 -0.244382
+253 2.520000 -0.011469 -0.223004
+254 2.530000 -0.009346 -0.201527
+255 2.540000 -0.007439 -0.179962
+256 2.550000 -0.005747 -0.158318
+257 2.560000 -0.004272 -0.136604
+258 2.570000 -0.003015 -0.114831
+259 2.580000 -0.001976 -0.093007
+260 2.590000 -0.001155 -0.071142
+261 2.600000 -0.000553 -0.049247
+262 2.610000 -0.000170 -0.027329
+263 2.620000 -0.000007 -0.005400
+264 2.630000 0.000000 0.000000
+265 2.640000 0.000000 0.000000
+266 2.650000 0.000000 0.000000
+267 2.660000 0.000000 0.000000
+268 2.670000 0.000000 0.000000
+269 2.680000 0.000000 0.000000
+270 2.690000 0.000000 0.000000
+271 2.700000 0.000000 0.000000
+272 2.710000 0.000000 0.000000
+273 2.720000 0.000000 0.000000
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.6
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999945 -0.014530
+115 1.140000 -0.999704 -0.033800
+116 1.150000 -0.999269 -0.053058
+117 1.160000 -0.998642 -0.072295
+118 1.170000 -0.997823 -0.091504
+119 1.180000 -0.996813 -0.110678
+120 1.190000 -0.995610 -0.129809
+121 1.200000 -0.994217 -0.148890
+122 1.210000 -0.992632 -0.167914
+123 1.220000 -0.990858 -0.186872
+124 1.230000 -0.988895 -0.205759
+125 1.240000 -0.986744 -0.224567
+126 1.250000 -0.984404 -0.243288
+127 1.260000 -0.981878 -0.261915
+128 1.270000 -0.979166 -0.280441
+129 1.280000 -0.976270 -0.298859
+130 1.290000 -0.973189 -0.317162
+131 1.300000 -0.969927 -0.335343
+132 1.310000 -0.966483 -0.353394
+133 1.320000 -0.962859 -0.371309
+134 1.330000 -0.959057 -0.389081
+135 1.340000 -0.955078 -0.406703
+136 1.350000 -0.950924 -0.424169
+137 1.360000 -0.946595 -0.441470
+138 1.370000 -0.942095 -0.458602
+139 1.380000 -0.937424 -0.475556
+140 1.390000 -0.932584 -0.492328
+141 1.400000 -0.927578 -0.508909
+142 1.410000 -0.922407 -0.525294
+143 1.420000 -0.917073 -0.541477
+144 1.430000 -0.911578 -0.557451
+145 1.440000 -0.905925 -0.573211
+146 1.450000 -0.900115 -0.588749
+147 1.460000 -0.894150 -0.604060
+148 1.470000 -0.888034 -0.619138
+149 1.480000 -0.881768 -0.633978
+150 1.490000 -0.875355 -0.648573
+151 1.500000 -0.868798 -0.662918
+152 1.510000 -0.862098 -0.677008
+153 1.520000 -0.855258 -0.690836
+154 1.530000 -0.848282 -0.704399
+155 1.540000 -0.841171 -0.717689
+156 1.550000 -0.833929 -0.730703
+157 1.560000 -0.826558 -0.743436
+158 1.570000 -0.819061 -0.755882
+159 1.580000 -0.811442 -0.768036
+160 1.590000 -0.803702 -0.779894
+161 1.600000 -0.795845 -0.791452
+162 1.610000 -0.787874 -0.802704
+163 1.620000 -0.779792 -0.813647
+164 1.630000 -0.771602 -0.824276
+165 1.640000 -0.763307 -0.834588
+166 1.650000 -0.754911 -0.844578
+167 1.660000 -0.746417 -0.854242
+168 1.670000 -0.737827 -0.863577
+169 1.680000 -0.729146 -0.872579
+170 1.690000 -0.720377 -0.881244
+171 1.700000 -0.711522 -0.889570
+172 1.710000 -0.702587 -0.897553
+173 1.720000 -0.693573 -0.905190
+174 1.730000 -0.684484 -0.912478
+175 1.740000 -0.675324 -0.919414
+176 1.750000 -0.666097 -0.925995
+177 1.760000 -0.656805 -0.932220
+178 1.770000 -0.647454 -0.938085
+179 1.780000 -0.638045 -0.943589
+180 1.790000 -0.628583 -0.948729
+181 1.800000 -0.619072 -0.953503
+182 1.810000 -0.609514 -0.957909
+183 1.820000 -0.599915 -0.961947
+184 1.830000 -0.590277 -0.965613
+185 1.840000 -0.580604 -0.968907
+186 1.850000 -0.570900 -0.971828
+187 1.860000 -0.561168 -0.974373
+188 1.870000 -0.551413 -0.976544
+189 1.880000 -0.541639 -0.978338
+190 1.890000 -0.531848 -0.979754
+191 1.900000 -0.522045 -0.980793
+192 1.910000 -0.512233 -0.981454
+193 1.920000 -0.502417 -0.981736
+194 1.930000 -0.492600 -0.981640
+195 1.940000 -0.482786 -0.981166
+196 1.950000 -0.472978 -0.980313
+197 1.960000 -0.463181 -0.979082
+198 1.970000 -0.453397 -0.977474
+199 1.980000 -0.443632 -0.975489
+200 1.990000 -0.433889 -0.973128
+201 2.000000 -0.424171 -0.970392
+202 2.010000 -0.414482 -0.967282
+203 2.020000 -0.404827 -0.963798
+204 2.030000 -0.395208 -0.959944
+205 2.040000 -0.385629 -0.955719
+206 2.050000 -0.376094 -0.951125
+207 2.060000 -0.366608 -0.946165
+208 2.070000 -0.357172 -0.940841
+209 2.080000 -0.347792 -0.935153
+210 2.090000 -0.338471 -0.929105
+211 2.100000 -0.329211 -0.922699
+212 2.110000 -0.320018 -0.915937
+213 2.120000 -0.310894 -0.908822
+214 2.130000 -0.301842 -0.901357
+215 2.140000 -0.292868 -0.893544
+216 2.150000 -0.283973 -0.885387
+217 2.160000 -0.275161 -0.876888
+218 2.170000 -0.266436 -0.868051
+219 2.180000 -0.257801 -0.858880
+220 2.190000 -0.249260 -0.849377
+221 2.200000 -0.240815 -0.839548
+222 2.210000 -0.232470 -0.829394
+223 2.220000 -0.224228 -0.818921
+224 2.230000 -0.216092 -0.808132
+225 2.240000 -0.208066 -0.797031
+226 2.250000 -0.200153 -0.785623
+227 2.260000 -0.192355 -0.773912
+228 2.270000 -0.184676 -0.761903
+229 2.280000 -0.177118 -0.749600
+230 2.290000 -0.169684 -0.737009
+231 2.300000 -0.162379 -0.724133
+232 2.310000 -0.155203 -0.710977
+233 2.320000 -0.148160 -0.697548
+234 2.330000 -0.141253 -0.683850
+235 2.340000 -0.134484 -0.669888
+236 2.350000 -0.127856 -0.655668
+237 2.360000 -0.121371 -0.641196
+238 2.370000 -0.115033 -0.626476
+239 2.380000 -0.108843 -0.611514
+240 2.390000 -0.102803 -0.596317
+241 2.400000 -0.096917 -0.580890
+242 2.410000 -0.091186 -0.565239
+243 2.420000 -0.085613 -0.549370
+244 2.430000 -0.080199 -0.533289
+245 2.440000 -0.074948 -0.517002
+246 2.450000 -0.069860 -0.500517
+247 2.460000 -0.064938 -0.483838
+248 2.470000 -0.060184 -0.466973
+249 2.480000 -0.055599 -0.449928
+250 2.490000 -0.051186 -0.432709
+251 2.500000 -0.046946 -0.415323
+252 2.510000 -0.042880 -0.397778
+253 2.520000 -0.038991 -0.380079
+254 2.530000 -0.035279 -0.362233
+255 2.540000 -0.031746 -0.344248
+256 2.550000 -0.028394 -0.326130
+257 2.560000 -0.025224 -0.307887
+258 2.570000 -0.022237 -0.289525
+259 2.580000 -0.019434 -0.271051
+260 2.590000 -0.016816 -0.252472
+261 2.600000 -0.014385 -0.233797
+262 2.610000 -0.012141 -0.215031
+263 2.620000 -0.010085 -0.196182
+264 2.630000 -0.008217 -0.177258
+265 2.640000 -0.006540 -0.158265
+266 2.650000 -0.005052 -0.139211
+267 2.660000 -0.003756 -0.120104
+268 2.670000 -0.002650 -0.100950
+269 2.680000 -0.001737 -0.081757
+270 2.690000 -0.001015 -0.062533
+271 2.700000 -0.000486 -0.043285
+272 2.710000 -0.000150 -0.024020
+273 2.720000 -0.000006 -0.004746
+274 2.730000 0.000000 0.000000
+275 2.740000 0.000000 0.000000
+276 2.750000 0.000000 0.000000
+277 2.760000 0.000000 0.000000
+278 2.770000 0.000000 0.000000
+279 2.780000 0.000000 0.000000
+280 2.790000 0.000000 0.000000
+281 2.800000 0.000000 0.000000
+282 2.810000 0.000000 0.000000
+283 2.820000 0.000000 0.000000
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.7
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999951 -0.012871
+115 1.140000 -0.999737 -0.029942
+116 1.150000 -0.999353 -0.047002
+117 1.160000 -0.998797 -0.064046
+118 1.170000 -0.998072 -0.081069
+119 1.180000 -0.997176 -0.098064
+120 1.190000 -0.996111 -0.115025
+121 1.200000 -0.994876 -0.131947
+122 1.210000 -0.993472 -0.148824
+123 1.220000 -0.991899 -0.165650
+124 1.230000 -0.990159 -0.182419
+125 1.240000 -0.988251 -0.199127
+126 1.250000 -0.986177 -0.215766
+127 1.260000 -0.983936 -0.232332
+128 1.270000 -0.981530 -0.248818
+129 1.280000 -0.978960 -0.265219
+130 1.290000 -0.976226 -0.281530
+131 1.300000 -0.973330 -0.297744
+132 1.310000 -0.970272 -0.313857
+133 1.320000 -0.967053 -0.329863
+134 1.330000 -0.963675 -0.345756
+135 1.340000 -0.960138 -0.361531
+136 1.350000 -0.956445 -0.377182
+137 1.360000 -0.952595 -0.392705
+138 1.370000 -0.948591 -0.408094
+139 1.380000 -0.944434 -0.423343
+140 1.390000 -0.940125 -0.438448
+141 1.400000 -0.935665 -0.453403
+142 1.410000 -0.931057 -0.468203
+143 1.420000 -0.926302 -0.482843
+144 1.430000 -0.921401 -0.497318
+145 1.440000 -0.916356 -0.511624
+146 1.450000 -0.911169 -0.525754
+147 1.460000 -0.905841 -0.539706
+148 1.470000 -0.900375 -0.553472
+149 1.480000 -0.894773 -0.567050
+150 1.490000 -0.889035 -0.580435
+151 1.500000 -0.883165 -0.593621
+152 1.510000 -0.877163 -0.606604
+153 1.520000 -0.871033 -0.619380
+154 1.530000 -0.864776 -0.631945
+155 1.540000 -0.858395 -0.644294
+156 1.550000 -0.851891 -0.656422
+157 1.560000 -0.845267 -0.668327
+158 1.570000 -0.838526 -0.680003
+159 1.580000 -0.831668 -0.691448
+160 1.590000 -0.824697 -0.702656
+161 1.600000 -0.817616 -0.713624
+162 1.610000 -0.810426 -0.724348
+163 1.620000 -0.803130 -0.734825
+164 1.630000 -0.795730 -0.745051
+165 1.640000 -0.788229 -0.755023
+166 1.650000 -0.780630 -0.764737
+167 1.660000 -0.772936 -0.774189
+168 1.670000 -0.765148 -0.783378
+169 1.680000 -0.757269 -0.792298
+170 1.690000 -0.749302 -0.800948
+171 1.700000 -0.741251 -0.809325
+172 1.710000 -0.733117 -0.817425
+173 1.720000 -0.724903 -0.825246
+174 1.730000 -0.716613 -0.832786
+175 1.740000 -0.708249 -0.840041
+176 1.750000 -0.699813 -0.847009
+177 1.760000 -0.691309 -0.853687
+178 1.770000 -0.682740 -0.860075
+179 1.780000 -0.674109 -0.866168
+180 1.790000 -0.665418 -0.871966
+181 1.800000 -0.656670 -0.877466
+182 1.810000 -0.647870 -0.882666
+183 1.820000 -0.639018 -0.887565
+184 1.830000 -0.630119 -0.892161
+185 1.840000 -0.621176 -0.896452
+186 1.850000 -0.612191 -0.900437
+187 1.860000 -0.603168 -0.904114
+188 1.870000 -0.594110 -0.907483
+189 1.880000 -0.585020 -0.910542
+190 1.890000 -0.575900 -0.913290
+191 1.900000 -0.566755 -0.915726
+192 1.910000 -0.557587 -0.917849
+193 1.920000 -0.548399 -0.919659
+194 1.930000 -0.539195 -0.921155
+195 1.940000 -0.529977 -0.922336
+196 1.950000 -0.520749 -0.923202
+197 1.960000 -0.511514 -0.923753
+198 1.970000 -0.502275 -0.923988
+199 1.980000 -0.493035 -0.923908
+200 1.990000 -0.483798 -0.923513
+201 2.000000 -0.474566 -0.922802
+202 2.010000 -0.465343 -0.921776
+203 2.020000 -0.456132 -0.920435
+204 2.030000 -0.446935 -0.918779
+205 2.040000 -0.437757 -0.916810
+206 2.050000 -0.428600 -0.914528
+207 2.060000 -0.419467 -0.911934
+208 2.070000 -0.410362 -0.909028
+209 2.080000 -0.401288 -0.905812
+210 2.090000 -0.392247 -0.902286
+211 2.100000 -0.383243 -0.898453
+212 2.110000 -0.374279 -0.894312
+213 2.120000 -0.365358 -0.889866
+214 2.130000 -0.356483 -0.885116
+215 2.140000 -0.347657 -0.880064
+216 2.150000 -0.338883 -0.874712
+217 2.160000 -0.330163 -0.869060
+218 2.170000 -0.321502 -0.863112
+219 2.180000 -0.312902 -0.856869
+220 2.190000 -0.304366 -0.850334
+221 2.200000 -0.295896 -0.843508
+222 2.210000 -0.287497 -0.836394
+223 2.220000 -0.279170 -0.828994
+224 2.230000 -0.270918 -0.821312
+225 2.240000 -0.262744 -0.813348
+226 2.250000 -0.254652 -0.805108
+227 2.260000 -0.246643 -0.796592
+228 2.270000 -0.238721 -0.787804
+229 2.280000 -0.230888 -0.778747
+230 2.290000 -0.223147 -0.769424
+231 2.300000 -0.215500 -0.759838
+232 2.310000 -0.207951 -0.749993
+233 2.320000 -0.200501 -0.739892
+234 2.330000 -0.193154 -0.729538
+235 2.340000 -0.185911 -0.718935
+236 2.350000 -0.178776 -0.708087
+237 2.360000 -0.171750 -0.696996
+238 2.370000 -0.164837 -0.685668
+239 2.380000 -0.158038 -0.674105
+240 2.390000 -0.151356 -0.662313
+241 2.400000 -0.144792 -0.650294
+242 2.410000 -0.138350 -0.638053
+243 2.420000 -0.132032 -0.625594
+244 2.430000 -0.125839 -0.612921
+245 2.440000 -0.119774 -0.600039
+246 2.450000 -0.113839 -0.586953
+247 2.460000 -0.108036 -0.573665
+248 2.470000 -0.102366 -0.560182
+249 2.480000 -0.096833 -0.546508
+250 2.490000 -0.091437 -0.532647
+251 2.500000 -0.086181 -0.518604
+252 2.510000 -0.081065 -0.504384
+253 2.520000 -0.076093 -0.489991
+254 2.530000 -0.071266 -0.475432
+255 2.540000 -0.066585 -0.460710
+256 2.550000 -0.062052 -0.445831
+257 2.560000 -0.057669 -0.430799
+258 2.570000 -0.053437 -0.415620
+259 2.580000 -0.049357 -0.400300
+260 2.590000 -0.045431 -0.384842
+261 2.600000 -0.041661 -0.369254
+262 2.610000 -0.038047 -0.353539
+263 2.620000 -0.034591 -0.337703
+264 2.630000 -0.031293 -0.321752
+265 2.640000 -0.028156 -0.305692
+266 2.650000 -0.025180 -0.289526
+267 2.660000 -0.022366 -0.273262
+268 2.670000 -0.019715 -0.256905
+269 2.680000 -0.017228 -0.240460
+270 2.690000 -0.014906 -0.223933
+271 2.700000 -0.012749 -0.207329
+272 2.710000 -0.010759 -0.190654
+273 2.720000 -0.008937 -0.173915
+274 2.730000 -0.007281 -0.157116
+275 2.740000 -0.005794 -0.140263
+276 2.750000 -0.004476 -0.123363
+277 2.760000 -0.003327 -0.106420
+278 2.770000 -0.002348 -0.089441
+279 2.780000 -0.001539 -0.072431
+280 2.790000 -0.000899 -0.055397
+281 2.800000 -0.000431 -0.038344
+282 2.810000 -0.000133 -0.021278
+283 2.820000 -0.000005 -0.004204
+284 2.830000 0.000000 0.000000
+285 2.840000 0.000000 0.000000
+286 2.850000 0.000000 0.000000
+287 2.860000 0.000000 0.000000
+288 2.870000 0.000000 0.000000
+289 2.880000 0.000000 0.000000
+290 2.890000 0.000000 0.000000
+291 2.900000 0.000000 0.000000
+292 2.910000 0.000000 0.000000
+293 2.920000 0.000000 0.000000
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
+
+TAIL_TAIL_Wc_1.8
+N 301 R 0.000001 3.000000
+
+1 0.000001 0.000000 0.000000
+2 0.010000 3999999999995999707725824.000000 4799999999997598070678224896.000000
+3 0.020000 976562499937500004352.000000 585937499981249777762304.000000
+4 0.030000 7526705687148720128.000000 3010682275956881096704.000000
+5 0.040000 238418578125000000.000000 71525573583984353280.000000
+6 0.050000 16383999744000000.000000 3932159969279997440.000000
+7 0.060000 1837574546257248.500000 367514917824838144.000000
+8 0.070000 288990429236596.312500 49541219354796968.000000
+9 0.080000 58207645654678.343750 8731147992610928.000000
+10 0.090000 14162817119182.900391 1888376117671434.750000
+11 0.100000 3999996000000.000000 479999760000000.500000
+12 0.110000 1274521012945.708496 139038779115662.093750
+13 0.120000 448625279546.553955 44862594934250.781250
+14 0.130000 171687100967.122345 15848078337188.726562
+15 0.140000 70553781072.250778 6047489716531.549805
+16 0.150000 30829035351.054977 2466336874723.629883
+17 0.160000 14210616296.622902 1065805162943.433594
+18 0.170000 6865346349.879549 484618532348.129211
+19 0.180000 3457603256.036191 230510803894.961182
+20 0.190000 1807158928.004511 114139038296.617722
+21 0.200000 976499999.999998 58591874999.999847
+22 0.210000 543739902.726732 31072184111.878654
+23 0.220000 311127628.299641 16971560078.724821
+24 0.230000 182499493.379421 9522417580.006592
+25 0.240000 109507052.064558 5475875881.316449
+26 0.250000 67092480.000000 3220832255.999991
+27 0.260000 41903049.941880 1934285732.237306
+28 0.270000 26639528.522336 1184208483.196407
+29 0.280000 17216873.260370 738043867.822060
+30 0.290000 11298625.429098 467668459.533016
+31 0.300000 7521218.724186 300958488.336427
+32 0.310000 5073808.319410 196492716.046068
+33 0.320000 3465721.661655 130034411.505164
+34 0.330000 2395143.138865 87152427.788625
+35 0.340000 1673561.082347 59112555.692539
+36 0.350000 1181528.973318 40546867.041137
+37 0.360000 842332.557402 28108378.157278
+38 0.370000 606071.119890 19681641.931764
+39 0.380000 439893.177446 13912339.662092
+40 0.390000 321924.360071 9922853.684245
+41 0.400000 237442.016602 7137908.935547
+42 0.410000 176435.450812 5176287.635225
+43 0.420000 132031.660059 3782743.515595
+44 0.430000 99468.250044 2784687.558254
+45 0.440000 75416.262744 2064324.130372
+46 0.450000 57529.220585 1540535.337797
+47 0.460000 44139.942254 1156983.644674
+48 0.470000 34054.846645 874222.695500
+49 0.480000 26413.181465 664417.646696
+50 0.490000 20589.881497 507780.654581
+51 0.500000 16128.000000 390144.000000
+52 0.510000 12691.351515 301294.396513
+53 0.520000 10031.077542 233820.872331
+54 0.530000 7961.876154 182311.949517
+55 0.540000 6344.988397 142792.224654
+56 0.550000 5075.941991 112324.247003
+57 0.560000 4075.667156 88725.341557
+58 0.570000 3284.018178 70364.910655
+59 0.580000 2655.022026 56018.454503
+60 0.590000 2153.374227 44761.819610
+61 0.600000 1751.840750 35894.153820
+62 0.610000 1429.321668 28881.467437
+63 0.620000 1169.400839 23315.070198
+64 0.630000 959.254371 18880.806522
+65 0.640000 788.825286 15336.170940
+66 0.650000 650.196650 12493.203783
+67 0.660000 537.113366 10205.647944
+68 0.670000 444.615844 8359.261950
+69 0.680000 368.758212 6864.481939
+70 0.690000 306.390715 5650.839586
+71 0.700000 254.991024 4662.698464
+72 0.710000 212.532986 3855.984565
+73 0.720000 177.384120 3195.669530
+74 0.730000 148.225307 2653.826099
+75 0.740000 123.987627 2208.120224
+76 0.750000 103.802544 1840.637693
+77 0.760000 86.962472 1536.967937
+78 0.770000 72.889471 1285.486272
+79 0.780000 61.110325 1076.789779
+80 0.790000 51.236635 903.252555
+81 0.800000 42.948872 758.673996
+82 0.810000 35.983576 637.999825
+83 0.820000 30.123043 537.100183
+84 0.830000 25.186999 452.592612
+85 0.840000 21.025860 381.700456
+86 0.850000 17.515264 322.139305
+87 0.860000 14.551619 272.025666
+88 0.870000 12.048476 229.803356
+89 0.880000 9.933566 194.184004
+90 0.890000 8.146368 164.098852
+91 0.900000 6.636119 138.659624
+92 0.910000 5.360169 117.126674
+93 0.920000 4.282632 98.883003
+94 0.930000 3.373272 83.413022
+95 0.940000 2.606573 70.285155
+96 0.950000 1.960975 59.137553
+97 0.960000 1.418239 49.666347
+98 0.970000 0.962916 41.615965
+99 0.980000 0.581905 34.771137
+100 0.990000 0.264083 28.950277
+101 1.000000 -0.000000 24.000000
+102 1.010000 -0.218384 19.790571
+103 1.020000 -0.397913 16.212117
+104 1.030000 -0.544418 13.171468
+105 1.040000 -0.662870 10.589529
+106 1.050000 -0.757512 8.399073
+107 1.060000 -0.831965 6.542902
+108 1.070000 -0.889321 4.972300
+109 1.080000 -0.932223 3.645731
+110 1.090000 -0.962930 2.527753
+111 1.100000 -0.983372 1.588095
+112 1.110000 -0.995200 0.800882
+113 1.120000 -0.999824 0.143980
+114 1.130000 -0.999957 -0.011481
+115 1.140000 -0.999766 -0.026708
+116 1.150000 -0.999423 -0.041927
+117 1.160000 -0.998927 -0.057133
+118 1.170000 -0.998280 -0.072321
+119 1.180000 -0.997481 -0.087488
+120 1.190000 -0.996530 -0.102628
+121 1.200000 -0.995428 -0.117737
+122 1.210000 -0.994176 -0.132810
+123 1.220000 -0.992772 -0.147842
+124 1.230000 -0.991219 -0.162830
+125 1.240000 -0.989516 -0.177768
+126 1.250000 -0.987664 -0.192651
+127 1.260000 -0.985663 -0.207476
+128 1.270000 -0.983515 -0.222238
+129 1.280000 -0.981219 -0.236932
+130 1.290000 -0.978776 -0.251554
+131 1.300000 -0.976188 -0.266099
+132 1.310000 -0.973454 -0.280564
+133 1.320000 -0.970577 -0.294942
+134 1.330000 -0.967556 -0.309231
+135 1.340000 -0.964393 -0.323426
+136 1.350000 -0.961088 -0.337522
+137 1.360000 -0.957642 -0.351516
+138 1.370000 -0.954058 -0.365402
+139 1.380000 -0.950335 -0.379177
+140 1.390000 -0.946475 -0.392837
+141 1.400000 -0.942478 -0.406376
+142 1.410000 -0.938347 -0.419793
+143 1.420000 -0.934083 -0.433081
+144 1.430000 -0.929686 -0.446237
+145 1.440000 -0.925159 -0.459257
+146 1.450000 -0.920502 -0.472138
+147 1.460000 -0.915716 -0.484875
+148 1.470000 -0.910805 -0.497464
+149 1.480000 -0.905768 -0.509901
+150 1.490000 -0.900607 -0.522183
+151 1.500000 -0.895325 -0.534306
+152 1.510000 -0.889922 -0.546266
+153 1.520000 -0.884400 -0.558060
+154 1.530000 -0.878761 -0.569684
+155 1.540000 -0.873007 -0.581134
+156 1.550000 -0.867139 -0.592408
+157 1.560000 -0.861159 -0.603501
+158 1.570000 -0.855069 -0.614410
+159 1.580000 -0.848872 -0.625132
+160 1.590000 -0.842567 -0.635663
+161 1.600000 -0.836159 -0.646001
+162 1.610000 -0.829648 -0.656142
+163 1.620000 -0.823037 -0.666083
+164 1.630000 -0.816327 -0.675822
+165 1.640000 -0.809521 -0.685354
+166 1.650000 -0.802621 -0.694678
+167 1.660000 -0.795628 -0.703790
+168 1.670000 -0.788546 -0.712688
+169 1.680000 -0.781375 -0.721368
+170 1.690000 -0.774119 -0.729829
+171 1.700000 -0.766779 -0.738068
+172 1.710000 -0.759358 -0.746081
+173 1.720000 -0.751858 -0.753868
+174 1.730000 -0.744282 -0.761425
+175 1.740000 -0.736631 -0.768750
+176 1.750000 -0.728908 -0.775840
+177 1.760000 -0.721115 -0.782695
+178 1.770000 -0.713254 -0.789311
+179 1.780000 -0.705329 -0.795686
+180 1.790000 -0.697341 -0.801819
+181 1.800000 -0.689294 -0.807708
+182 1.810000 -0.681188 -0.813351
+183 1.820000 -0.673027 -0.818746
+184 1.830000 -0.664814 -0.823892
+185 1.840000 -0.656550 -0.828787
+186 1.850000 -0.648239 -0.833429
+187 1.860000 -0.639883 -0.837818
+188 1.870000 -0.631484 -0.841951
+189 1.880000 -0.623045 -0.845828
+190 1.890000 -0.614568 -0.849447
+191 1.900000 -0.606056 -0.852807
+192 1.910000 -0.597513 -0.855908
+193 1.920000 -0.588939 -0.858748
+194 1.930000 -0.580339 -0.861326
+195 1.940000 -0.571714 -0.863642
+196 1.950000 -0.563067 -0.865695
+197 1.960000 -0.554401 -0.867484
+198 1.970000 -0.545718 -0.869009
+199 1.980000 -0.537021 -0.870269
+200 1.990000 -0.528313 -0.871264
+201 2.000000 -0.519597 -0.871994
+202 2.010000 -0.510874 -0.872458
+203 2.020000 -0.502149 -0.872657
+204 2.030000 -0.493422 -0.872589
+205 2.040000 -0.484698 -0.872256
+206 2.050000 -0.475978 -0.871657
+207 2.060000 -0.467265 -0.870792
+208 2.070000 -0.458563 -0.869663
+209 2.080000 -0.449873 -0.868268
+210 2.090000 -0.441198 -0.866609
+211 2.100000 -0.432542 -0.864686
+212 2.110000 -0.423906 -0.862499
+213 2.120000 -0.415293 -0.860050
+214 2.130000 -0.406705 -0.857339
+215 2.140000 -0.398147 -0.854367
+216 2.150000 -0.389619 -0.851134
+217 2.160000 -0.381125 -0.847642
+218 2.170000 -0.372667 -0.843892
+219 2.180000 -0.364248 -0.839885
+220 2.190000 -0.355870 -0.835622
+221 2.200000 -0.347536 -0.831105
+222 2.210000 -0.339249 -0.826334
+223 2.220000 -0.331010 -0.821311
+224 2.230000 -0.322824 -0.816039
+225 2.240000 -0.314691 -0.810518
+226 2.250000 -0.306614 -0.804750
+227 2.260000 -0.298596 -0.798737
+228 2.270000 -0.290640 -0.792480
+229 2.280000 -0.282748 -0.785982
+230 2.290000 -0.274921 -0.779245
+231 2.300000 -0.267163 -0.772270
+232 2.310000 -0.259477 -0.765061
+233 2.320000 -0.251863 -0.757618
+234 2.330000 -0.244325 -0.749944
+235 2.340000 -0.236865 -0.742042
+236 2.350000 -0.229485 -0.733914
+237 2.360000 -0.222187 -0.725562
+238 2.370000 -0.214974 -0.716989
+239 2.380000 -0.207848 -0.708198
+240 2.390000 -0.200811 -0.699191
+241 2.400000 -0.193865 -0.689971
+242 2.410000 -0.187012 -0.680541
+243 2.420000 -0.180255 -0.670904
+244 2.430000 -0.173595 -0.661062
+245 2.440000 -0.167034 -0.651019
+246 2.450000 -0.160575 -0.640778
+247 2.460000 -0.154220 -0.630342
+248 2.470000 -0.147969 -0.619713
+249 2.480000 -0.141826 -0.608896
+250 2.490000 -0.135792 -0.597893
+251 2.500000 -0.129869 -0.586708
+252 2.510000 -0.124058 -0.575344
+253 2.520000 -0.118362 -0.563805
+254 2.530000 -0.112783 -0.552095
+255 2.540000 -0.107321 -0.540216
+256 2.550000 -0.101979 -0.528173
+257 2.560000 -0.096758 -0.515968
+258 2.570000 -0.091660 -0.503607
+259 2.580000 -0.086686 -0.491092
+260 2.590000 -0.081839 -0.478428
+261 2.600000 -0.077118 -0.465618
+262 2.610000 -0.072527 -0.452666
+263 2.620000 -0.068066 -0.439576
+264 2.630000 -0.063736 -0.426352
+265 2.640000 -0.059539 -0.412998
+266 2.650000 -0.055476 -0.399519
+267 2.660000 -0.051549 -0.385918
+268 2.670000 -0.047758 -0.372199
+269 2.680000 -0.044105 -0.358367
+270 2.690000 -0.040591 -0.344426
+271 2.700000 -0.037217 -0.330380
+272 2.710000 -0.033984 -0.316233
+273 2.720000 -0.030893 -0.301990
+274 2.730000 -0.027945 -0.287655
+275 2.740000 -0.025140 -0.273232
+276 2.750000 -0.022480 -0.258726
+277 2.760000 -0.019966 -0.244141
+278 2.770000 -0.017598 -0.229482
+279 2.780000 -0.015376 -0.214753
+280 2.790000 -0.013303 -0.199959
+281 2.800000 -0.011377 -0.185103
+282 2.810000 -0.009601 -0.170192
+283 2.820000 -0.007974 -0.155228
+284 2.830000 -0.006496 -0.140217
+285 2.840000 -0.005170 -0.125164
+286 2.850000 -0.003993 -0.110072
+287 2.860000 -0.002968 -0.094947
+288 2.870000 -0.002095 -0.079793
+289 2.880000 -0.001372 -0.064614
+290 2.890000 -0.000802 -0.049416
+291 2.900000 -0.000384 -0.034203
+292 2.910000 -0.000118 -0.018979
+293 2.920000 -0.000005 -0.003750
+294 2.930000 0.000000 0.000000
+295 2.940000 0.000000 0.000000
+296 2.950000 0.000000 0.000000
+297 2.960000 0.000000 0.000000
+298 2.970000 0.000000 0.000000
+299 2.980000 0.000000 0.000000
+300 2.990000 0.000000 0.000000
+301 3.000000 0.000000 0.000000
+
diff --git a/tools/moltemplate/moltemplate/force_fields/cooke_deserno_lipid.lt b/tools/moltemplate/moltemplate/force_fields/cooke_deserno_lipid.lt
new file mode 100644
index 000000000..949a81b1e
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/cooke_deserno_lipid.lt
@@ -0,0 +1,43 @@
+# CDlipid is a lipid model from:
+# "Tunable generic model for fluid bilayer membranes"
+# Cooke IR, Kremer K, Deserno M, Physical Review E, 2005
+# (Author: David Stelter, BU)
+
+CDlipid {
+ # 3-bead model of COOKE, KREMER, DESERNO
+ write_once("In Init") {
+ units lj
+ atom_style full
+
+ bond_style hybrid harmonic fene
+ pair_style hybrid table linear 600
+ pair_modify shift yes
+ special_bonds lj 0.0 1.0 1.0
+
+ neigh_modify every 1 delay 1
+ neighbor 0.3 bin
+ }
+ write_once("In Settings") {
+ pair_coeff @atom:H @atom:H table tabulated_potential.dat HEAD_HEAD
+ pair_coeff @atom:H @atom:T table tabulated_potential.dat HEAD_TAIL
+ # (Note: The "HEAD_TAIL" table is the same as the "HEAD_HEAD" table.)
+ pair_coeff @atom:T @atom:T table tabulated_potential.dat TAIL_TAIL_Wc_1.5
+ bond_coeff @bond:har harmonic 10.0 4.0
+ bond_coeff @bond:fene fene 30.0 1.5 0.0 0.0
+ }
+ write("Data Atoms") {
+ $atom:1 $mol:. @atom:H 0.0 0.00 0.00 2.20
+ $atom:2 $mol:. @atom:T 0.0 0.00 0.00 1.10
+ $atom:3 $mol:. @atom:T 0.0 0.00 0.00 0.00
+ }
+ write("Data Bonds") {
+ $bond:b1 @bond:fene $atom:1 $atom:2
+ $bond:b2 @bond:fene $atom:2 $atom:3
+ $bond:b3 @bond:har $atom:1 $atom:3
+ }
+ write_once("Data Masses") {
+ @atom:H 1.0 ## Head Bead
+ @atom:T 1.0 ## Tail Bead
+ }
+} # CDlipid
+
diff --git a/tools/moltemplate/moltemplate/force_fields/gaff.lt b/tools/moltemplate/moltemplate/force_fields/gaff.lt
new file mode 100644
index 000000000..683dbf4ee
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/gaff.lt
@@ -0,0 +1,11789 @@
+# This is the 1.7 version of GAFF (from AmberTools15), downloaded 2015-8-17.
+# NOTE: Corrections were made to the amberparm2lt.sh converter on 2014-5-19, so
+# this version of gaff.lt differs from earlier versions using the same source
+####################################################################
+# To use this, LAMMPS currently must be compiled with the USER-MISC package.
+# (Type "make yes-user-misc" into the shell before compiling LAMMPS.)
+####################################################################
+# This moltemplate (LT) file was generated automatically using
+# amber/amberparm2lt.sh gaff.dat GAFF > gaff.lt
+####################################################################
+# Background information and usage explanation:
+# This file contanis a list of atom types and rules for generating bonded
+# interactions between these atoms (hopefully) according to AMBER conventions.
+# By using the atom types shown below in your own molecules, bonds and angular
+# interactions will be automatically generated.
+# AMBER (GAFF) force-field parameters will also be assigned to each angle
+# interaction (according to these atom types).
+# One way to apply the GAFF force field to a particular type of molecule, is
+# to use the "inherits" keyword when you define that molecule. For example:
+#
+# import("gaff.lt")
+# MoleculeType inherits GAFF {
+# write_once("Data Atoms") {
+# $atom:C1 $mol:... @atom:cx 0.0 4.183 3.194 13.285
+# $atom:C2 $mol:... @atom:cx 0.0 4.291 4.618 13.382
+# : : :
+# }
+# }
+#
+#(See "Inheritance" and "short names vs. full names" in the moltemplate manual.)
+####################################################################
+# Moltemplate can not assign atom charge. You must assign atomic
+# charges yourself. (Moltemplate is only a simple text manipulation tool.)
+####################################################################
+
+
+
+
+
+
+
+GAFF {
+
+ # ----------------------------------------------------------------------
+ # The basic atom nomenclature and conventions are explained here:
+ # http://ambermd.org/antechamber/gaff.pdf
+ # For reference, the original gaff.dat file and format documentation are here:
+ # http://ambermd.org/AmberTools-get.html
+ # http://ambermd.org/formats.html#parm.dat
+ # ----------------------------------------------------------------------
+
+ write_once("Data Masses") {
+ @atom:c 12.01 # Sp2 C carbonyl group
+ @atom:c1 12.01 # Sp C
+ @atom:c2 12.01 # Sp2 C
+ @atom:c3 12.01 # Sp3 C
+ @atom:ca 12.01 # Sp2 C in pure aromatic systems
+ @atom:cp 12.01 # Head Sp2 C that connect two rings in biphenyl sys.
+ @atom:cq 12.01 # Head Sp2 C that connect two rings in biphenyl sys. identical to cp
+ @atom:cc 12.01 # Sp2 carbons in non-pure aromatic systems
+ @atom:cd 12.01 # Sp2 carbons in non-pure aromatic systems, identical to cc
+ @atom:ce 12.01 # Inner Sp2 carbons in conjugated systems
+ @atom:cf 12.01 # Inner Sp2 carbons in conjugated systems, identical to ce
+ @atom:cg 12.01 # Inner Sp carbons in conjugated systems
+ @atom:ch 12.01 # Inner Sp carbons in conjugated systems, identical to cg
+ @atom:cx 12.01 # Sp3 carbons in triangle systems
+ @atom:cy 12.01 # Sp3 carbons in square systems
+ @atom:cu 12.01 # Sp2 carbons in triangle systems
+ @atom:cv 12.01 # Sp2 carbons in square systems
+ @atom:cz 12.01 # Sp2 carbon in guanidine group
+ @atom:h1 1.008 # H bonded to aliphatic carbon with 1 electrwd. group
+ @atom:h2 1.008 # H bonded to aliphatic carbon with 2 electrwd. group
+ @atom:h3 1.008 # H bonded to aliphatic carbon with 3 electrwd. group
+ @atom:h4 1.008 # H bonded to non-sp3 carbon with 1 electrwd. group
+ @atom:h5 1.008 # H bonded to non-sp3 carbon with 2 electrwd. group
+ @atom:ha 1.008 # H bonded to aromatic carbon
+ @atom:hc 1.008 # H bonded to aliphatic carbon without electrwd. group
+ @atom:hn 1.008 # H bonded to nitrogen atoms
+ @atom:ho 1.008 # Hydroxyl group
+ @atom:hp 1.008 # H bonded to phosphate
+ @atom:hs 1.008 # Hydrogen bonded to sulphur
+ @atom:hw 1.008 # Hydrogen in water
+ @atom:hx 1.008 # H bonded to C next to positively charged group
+ @atom:f 19.00 # Fluorine
+ @atom:cl 35.45 # Chlorine
+ @atom:br 79.90 # Bromine
+ @atom:i 126.9 # Iodine
+ @atom:n 14.01 # Sp2 nitrogen in amide groups
+ @atom:n1 14.01 # Sp N
+ @atom:n2 14.01 # aliphatic Sp2 N with two connected atoms
+ @atom:n3 14.01 # Sp3 N with three connected atoms
+ @atom:n4 14.01 # Sp3 N with four connected atoms
+ @atom:na 14.01 # Sp2 N with three connected atoms
+ @atom:nb 14.01 # Sp2 N in pure aromatic systems
+ @atom:nc 14.01 # Sp2 N in non-pure aromatic systems
+ @atom:nd 14.01 # Sp2 N in non-pure aromatic systems, identical to nc
+ @atom:ne 14.01 # Inner Sp2 N in conjugated systems
+ @atom:nf 14.01 # Inner Sp2 N in conjugated systems, identical to ne
+ @atom:nh 14.01 # Amine N connected one or more aromatic rings
+ @atom:no 14.01 # Nitro N
+ @atom:o 16.00 # Oxygen with one connected atom
+ @atom:oh 16.00 # Oxygen in hydroxyl group
+ @atom:os 16.00 # Ether and ester oxygen
+ @atom:ow 16.00 # Oxygen in water
+ @atom:p2 30.97 # Phosphate with two connected atoms
+ @atom:p3 30.97 # Phosphate with three connected atoms, such as PH3
+ @atom:p4 30.97 # Phosphate with three connected atoms, such as O=P(CH3)2
+ @atom:p5 30.97 # Phosphate with four connected atoms, such as O=P(OH)3
+ @atom:pb 30.97 # Sp2 P in pure aromatic systems
+ @atom:pc 30.97 # Sp2 P in non-pure aromatic systems
+ @atom:pd 30.97 # Sp2 P in non-pure aromatic systems, identical to pc
+ @atom:pe 30.97 # Inner Sp2 P in conjugated systems
+ @atom:pf 30.97 # Inner Sp2 P in conjugated systems, identical to pe
+ @atom:px 30.97 # Special p4 in conjugated systems
+ @atom:py 30.97 # Special p5 in conjugated systems
+ @atom:s 32.06 # S with one connected atom
+ @atom:s2 32.06 # S with two connected atom, involved at least one double bond
+ @atom:s4 32.06 # S with three connected atoms
+ @atom:s6 32.06 # S with four connected atoms
+ @atom:sh 32.06 # Sp3 S connected with hydrogen
+ @atom:ss 32.06 # Sp3 S in thio-ester and thio-ether
+ @atom:sx 32.06 # Special s4 in conjugated systems
+ @atom:sy 32.06 # Special s6 in conjugated systems
+ } # (end of masses)
+
+ write_once("In Settings") {
+ pair_coeff @atom:h1 @atom:h1 lj/charmm/coul/long 0.0157 2.47135304412 # Veenstra et al JCC,8,(1992),963
+ pair_coeff @atom:h2 @atom:h2 lj/charmm/coul/long 0.0157 2.29317330049 # Veenstra et al JCC,8,(1992),963
+ pair_coeff @atom:h3 @atom:h3 lj/charmm/coul/long 0.0157 2.11499355687 # Veenstra et al JCC,8,(1992),963
+ pair_coeff @atom:h4 @atom:h4 lj/charmm/coul/long 0.0150 2.51055258772 # Spellmeyer, one electrowithdr. neighbor
+ pair_coeff @atom:h5 @atom:h5 lj/charmm/coul/long 0.0150 2.42146271591 # Spellmeyer, two electrowithdr. neighbor
+ pair_coeff @atom:ha @atom:ha lj/charmm/coul/long 0.0150 2.59964245953 # Spellmeyer
+ pair_coeff @atom:hc @atom:hc lj/charmm/coul/long 0.0157 2.64953278775 # OPLS
+ pair_coeff @atom:hn @atom:hn lj/charmm/coul/long 0.0157 1.06907846177 # !Ferguson base pair geom.
+ pair_coeff @atom:ho @atom:ho lj/charmm/coul/long 0.0000 0.0 # OPLS Jorgensen, JACS,110,(1988),1657
+ pair_coeff @atom:hp @atom:hp lj/charmm/coul/long 0.0157 1.06907846177 # same to hs (be careful !)
+ pair_coeff @atom:hs @atom:hs lj/charmm/coul/long 0.0157 1.06907846177 # W. Cornell CH3SH --> CH3OH FEP
+ pair_coeff @atom:hw @atom:hw lj/charmm/coul/long 0.0000 0.0 # OPLS Jorgensen, JACS,110,(1988),1657
+ pair_coeff @atom:hx @atom:hx lj/charmm/coul/long 0.0157 1.95997717991 # Veenstra et al JCC,8,(1992),963
+ pair_coeff @atom:o @atom:o lj/charmm/coul/long 0.2100 2.95992190115 # OPLS
+ pair_coeff @atom:oh @atom:oh lj/charmm/coul/long 0.2104 3.06647338784 # OPLS
+ pair_coeff @atom:os @atom:os lj/charmm/coul/long 0.1700 3.00001234347 # OPLS ether
+ pair_coeff @atom:ow @atom:ow lj/charmm/coul/long 0.1520 3.15075240658 # TIP3P water model
+ pair_coeff @atom:c @atom:c lj/charmm/coul/long 0.0860 3.39966950842 # OPLS
+ pair_coeff @atom:c1 @atom:c1 lj/charmm/coul/long 0.2100 3.39966950842 # cp C DLM 11/2007 well depth from OPLS replacing 0.0860
+ pair_coeff @atom:c2 @atom:c2 lj/charmm/coul/long 0.0860 3.39966950842 # sp2 atom in the middle of C=CD-CD=C
+ pair_coeff @atom:c3 @atom:c3 lj/charmm/coul/long 0.1094 3.39966950842 # OPLS
+ pair_coeff @atom:ca @atom:ca lj/charmm/coul/long 0.0860 3.39966950842 # OPLS
+ pair_coeff @atom:cc @atom:cc lj/charmm/coul/long 0.0860 3.39966950842 # OPLS
+ pair_coeff @atom:cd @atom:cd lj/charmm/coul/long 0.0860 3.39966950842 # OPLS
+ pair_coeff @atom:ce @atom:ce lj/charmm/coul/long 0.0860 3.39966950842 # OPLS
+ pair_coeff @atom:cf @atom:cf lj/charmm/coul/long 0.0860 3.39966950842 # OPLS
+ pair_coeff @atom:cg @atom:cg lj/charmm/coul/long 0.2100 3.39966950842 # DLM 12/2007 as c1
+ pair_coeff @atom:ch @atom:ch lj/charmm/coul/long 0.2100 3.39966950842 # DLM 12/2007 as c1
+ pair_coeff @atom:cp @atom:cp lj/charmm/coul/long 0.0860 3.39966950842 # OPLS
+ pair_coeff @atom:cq @atom:cq lj/charmm/coul/long 0.0860 3.39966950842 # OPLS
+ pair_coeff @atom:cu @atom:cu lj/charmm/coul/long 0.0860 3.39966950842 # OPLS
+ pair_coeff @atom:cv @atom:cv lj/charmm/coul/long 0.0860 3.39966950842 # OPLS
+ pair_coeff @atom:cx @atom:cx lj/charmm/coul/long 0.0860 3.39966950842 # OPLS
+ pair_coeff @atom:cy @atom:cy lj/charmm/coul/long 0.0860 3.39966950842 # OPLS
+ pair_coeff @atom:cz @atom:cz lj/charmm/coul/long 0.0860 3.39966950842 # OPLS
+ pair_coeff @atom:n @atom:n lj/charmm/coul/long 0.1700 3.24999852378 # OPLS
+ pair_coeff @atom:n1 @atom:n1 lj/charmm/coul/long 0.1700 3.24999852378 # OPLS
+ pair_coeff @atom:n2 @atom:n2 lj/charmm/coul/long 0.1700 3.24999852378 # OPLS
+ pair_coeff @atom:n3 @atom:n3 lj/charmm/coul/long 0.1700 3.24999852378 # OPLS
+ pair_coeff @atom:n4 @atom:n4 lj/charmm/coul/long 0.1700 3.24999852378 # OPLS
+ pair_coeff @atom:na @atom:na lj/charmm/coul/long 0.1700 3.24999852378 # OPLS
+ pair_coeff @atom:nb @atom:nb lj/charmm/coul/long 0.1700 3.24999852378 # OPLS
+ pair_coeff @atom:nc @atom:nc lj/charmm/coul/long 0.1700 3.24999852378 # OPLS
+ pair_coeff @atom:nd @atom:nd lj/charmm/coul/long 0.1700 3.24999852378 # OPLS
+ pair_coeff @atom:ne @atom:ne lj/charmm/coul/long 0.1700 3.24999852378 # OPLS
+ pair_coeff @atom:nf @atom:nf lj/charmm/coul/long 0.1700 3.24999852378 # OPLS
+ pair_coeff @atom:nh @atom:nh lj/charmm/coul/long 0.1700 3.24999852378 # OPLS
+ pair_coeff @atom:no @atom:no lj/charmm/coul/long 0.1700 3.24999852378 # OPLS
+ pair_coeff @atom:s @atom:s lj/charmm/coul/long 0.2500 3.56359487256 # W. Cornell CH3SH and CH3SCH3 FEP's
+ pair_coeff @atom:s2 @atom:s2 lj/charmm/coul/long 0.2500 3.56359487256 # W. Cornell CH3SH and CH3SCH3 FEP's
+ pair_coeff @atom:s4 @atom:s4 lj/charmm/coul/long 0.2500 3.56359487256 # W. Cornell CH3SH and CH3SCH3 FEP's
+ pair_coeff @atom:s6 @atom:s6 lj/charmm/coul/long 0.2500 3.56359487256 # W. Cornell CH3SH and CH3SCH3 FEP's
+ pair_coeff @atom:sx @atom:sx lj/charmm/coul/long 0.2500 3.56359487256 # W. Cornell CH3SH and CH3SCH3 FEP's
+ pair_coeff @atom:sy @atom:sy lj/charmm/coul/long 0.2500 3.56359487256 # W. Cornell CH3SH and CH3SCH3 FEP's
+ pair_coeff @atom:sh @atom:sh lj/charmm/coul/long 0.2500 3.56359487256 # W. Cornell CH3SH and CH3SCH3 FEP's
+ pair_coeff @atom:ss @atom:ss lj/charmm/coul/long 0.2500 3.56359487256 # W. Cornell CH3SH and CH3SCH3 FEP's
+ pair_coeff @atom:p2 @atom:p2 lj/charmm/coul/long 0.2000 3.74177461619 # JCC,7,(1986),230;
+ pair_coeff @atom:p3 @atom:p3 lj/charmm/coul/long 0.2000 3.74177461619 # JCC,7,(1986),230;
+ pair_coeff @atom:p4 @atom:p4 lj/charmm/coul/long 0.2000 3.74177461619 # JCC,7,(1986),230;
+ pair_coeff @atom:p5 @atom:p5 lj/charmm/coul/long 0.2000 3.74177461619 # JCC,7,(1986),230;
+ pair_coeff @atom:pb @atom:pb lj/charmm/coul/long 0.2000 3.74177461619 # JCC,7,(1986),230;
+ pair_coeff @atom:pc @atom:pc lj/charmm/coul/long 0.2000 3.74177461619 # JCC,7,(1986),230;
+ pair_coeff @atom:pd @atom:pd lj/charmm/coul/long 0.2000 3.74177461619 # JCC,7,(1986),230;
+ pair_coeff @atom:pe @atom:pe lj/charmm/coul/long 0.2000 3.74177461619 # JCC,7,(1986),230;
+ pair_coeff @atom:pf @atom:pf lj/charmm/coul/long 0.2000 3.74177461619 # JCC,7,(1986),230;
+ pair_coeff @atom:px @atom:px lj/charmm/coul/long 0.2000 3.74177461619 # JCC,7,(1986),230;
+ pair_coeff @atom:py @atom:py lj/charmm/coul/long 0.2000 3.74177461619 # JCC,7,(1986),230;
+ pair_coeff @atom:f @atom:f lj/charmm/coul/long 0.061 3.11814551349 # Gough et al. JCC 13,(1992),963.
+ pair_coeff @atom:cl @atom:cl lj/charmm/coul/long 0.265 3.47094140587 # Fox, JPCB,102,8070,(98),flex.mdl CHCl3
+ pair_coeff @atom:br @atom:br lj/charmm/coul/long 0.420 3.59923082129 # Junmei, 2010
+ pair_coeff @atom:i @atom:i lj/charmm/coul/long 0.50 3.830864488 # Junmei, 2010
+ } # (end of pair_coeffs)
+
+ write_once("In Settings") {
+ bond_coeff @bond:ow-hw harmonic 553.0 0.9572 # TIP3P_Water 1
+ bond_coeff @bond:hw-hw harmonic 553.0 1.5136 # TIP3P_Water 1
+ bond_coeff @bond:br-br harmonic 123.2 2.5420 # SOURCE1 4 0.0000
+ bond_coeff @bond:br-c1 harmonic 352.7 1.7870 # SOURCE2 4 0.0024
+ bond_coeff @bond:br-c2 harmonic 278.7 1.8830 # SOURCE1 31 0.0000
+ bond_coeff @bond:br-c harmonic 240.3 1.9460 # SOURCE2 2 0.0285
+ bond_coeff @bond:br-c3 harmonic 229.5 1.9660 # SOURCE1 100 0.0000
+ bond_coeff @bond:br-ca harmonic 269.6 1.8970 # SOURCE1 127 0.0058
+ bond_coeff @bond:br-cc harmonic 277.6 1.8847 # SOURCE4 39 0.0068
+ bond_coeff @bond:br-cx harmonic 261.4 1.9100 # SOURCE1 8 0.0000
+ bond_coeff @bond:br-i harmonic 142.4 2.6710 # SOURCE1 2 0.0245
+ bond_coeff @bond:br-n1 harmonic 330.4 1.8600 # SOUECE3 1
+ bond_coeff @bond:br-n2 harmonic 219.0 2.0380 # SOURCE3 5 0.1082
+ bond_coeff @bond:br-n harmonic 320.2 1.8730 # SOURCE3 4 0.0046
+ bond_coeff @bond:br-n3 harmonic 265.9 1.9520 # SOURCE3 2 0.0000
+ bond_coeff @bond:br-n4 harmonic 282.4 1.9260 # SOURCE3 3 0.0013
+ bond_coeff @bond:br-na harmonic 237.3 2.0020 # SOURCE3 7 0.2156
+ bond_coeff @bond:br-nh harmonic 270.9 1.9440 # SOURCE3 1 0.0000
+ bond_coeff @bond:br-no harmonic 191.0 2.1010 # SOURCE3 1 0.0000
+ bond_coeff @bond:br-o harmonic 278.9 1.8000 # SOUECE3 1
+ bond_coeff @bond:br-oh harmonic 237.2 1.8660 # SOURCE3 1 0.0000
+ bond_coeff @bond:br-os harmonic 225.6 1.8870 # SOURCE3 2 0.0000
+ bond_coeff @bond:br-p2 harmonic 174.3 2.2100 # SOURCE3 9 0.0510
+ bond_coeff @bond:br-p3 harmonic 167.0 2.2310 # SOURCE3 3 0.0101
+ bond_coeff @bond:br-p4 harmonic 188.8 2.1710 # SOUECE3 1
+ bond_coeff @bond:br-p5 harmonic 179.3 2.1960 # SOURCE3 3 0.0099
+ bond_coeff @bond:br-s harmonic 170.6 2.2200 # SOUECE3 1
+ bond_coeff @bond:br-s4 harmonic 134.3 2.3410 # SOURCE3 1 0.0000
+ bond_coeff @bond:br-s6 harmonic 172.7 2.2140 # SOURCE3 3 0.0443
+ bond_coeff @bond:br-sh harmonic 174.4 2.2090 # SOURCE3 1 0.0000
+ bond_coeff @bond:br-ss harmonic 176.6 2.2030 # SOURCE3 3 0.0035
+ bond_coeff @bond:c1-c1 harmonic 986.2 1.1810 # SOURCE1 265 0.0031
+ bond_coeff @bond:c1-c2 harmonic 625.0 1.3070 # SOURCE1 18 0.0000
+ bond_coeff @bond:c1-c3 harmonic 368.3 1.4700 # SOURCE1 215 0.0017
+ bond_coeff @bond:c1-ca harmonic 404.1 1.4400 # SOUECE3 1
+ bond_coeff @bond:c1-ce harmonic 607.4 1.3153 # SOURCE4 6 0.0086
+ bond_coeff @bond:c1-cg harmonic 845.8 1.2220 # SOURCE3 22 0.0101
+ bond_coeff @bond:c1-ch harmonic 845.8 1.2220 # SOURCE3 22 same_as_c1-cg
+ bond_coeff @bond:c1-cl harmonic 419.7 1.6310 # SOURCE2 6 0.0050
+ bond_coeff @bond:c1-cx harmonic 399.1 1.4440 # SOURCE1 38 0.0000
+ bond_coeff @bond:c1-f harmonic 469.4 1.2700 # SOURCE2 2 0.0085
+ bond_coeff @bond:c1-ha harmonic 375.9 1.0660 # SOURCE3 63 0.0035
+ bond_coeff @bond:c1-hc harmonic 385.6 1.0600 # SOUECE3 1
+ bond_coeff @bond:c1-i harmonic 318.8 1.9890 # SOURCE2 4 0.0032
+ bond_coeff @bond:c1-n1 harmonic 1014.5 1.1380 # SOURCE1 170 0.0055
+ bond_coeff @bond:c1-n2 harmonic 769.8 1.2100 # SOURCE3 5 0.0115
+ bond_coeff @bond:c1-n3 harmonic 409.8 1.3920 # SOURCE2 1 0.0000
+ bond_coeff @bond:c1-n4 harmonic 378.2 1.4170 # SOURCE3 3 0.0032
+ bond_coeff @bond:c1-n harmonic 503.0 1.3300 # SOUECE3 1
+ bond_coeff @bond:c1-na harmonic 452.0 1.3620 # SOURCE3 8 0.0034
+ bond_coeff @bond:c1-ne harmonic 803.3 1.1986 # SOURCE4 10 0.0088
+ bond_coeff @bond:c1-nf harmonic 803.3 1.1986 # SOURCE4 10 same_as_c1-ne
+ bond_coeff @bond:c1-nh harmonic 485.0 1.3408 # SOURCE4 11 0.0037
+ bond_coeff @bond:c1-no harmonic 393.0 1.4050 # SOURCE3 3 0.0005
+ bond_coeff @bond:c1-o harmonic 777.0 1.1660 # SOURCE2 9 0.0052
+ bond_coeff @bond:c1-oh harmonic 435.6 1.3260 # SOURCE3 1 0.0000
+ bond_coeff @bond:c1-os harmonic 437.1 1.3250 # SOURCE3 3 0.0148
+ bond_coeff @bond:c1-p2 harmonic 289.3 1.7700 # SOUECE3 1
+ bond_coeff @bond:c1-p3 harmonic 275.1 1.7900 # SOUECE3 1
+ bond_coeff @bond:c1-p4 harmonic 275.1 1.7900 # SOUECE3 1
+ bond_coeff @bond:c1-p5 harmonic 302.2 1.7530 # SOURCE3 2 0.0000
+ bond_coeff @bond:c1-s2 harmonic 410.0 1.5950 # SOURCE3 1 0.0000
+ bond_coeff @bond:c1-s harmonic 371.8 1.6300 # SOURCE1 14 0.0000
+ bond_coeff @bond:c1-s4 harmonic 272.9 1.7460 # SOURCE3 2 0.0000
+ bond_coeff @bond:c1-s6 harmonic 290.4 1.7220 # SOURCE3 2 0.0000
+ bond_coeff @bond:c1-sh harmonic 324.5 1.6800 # SOUECE3 1
+ bond_coeff @bond:c1-ss harmonic 325.4 1.6790 # SOURCE1 10 0.0000
+ bond_coeff @bond:c2-c2 harmonic 589.7 1.3240 # SOURCE1 974 0.0096
+ bond_coeff @bond:c2-c3 harmonic 328.3 1.5080 # SOURCE1 2536 0.0021
+ bond_coeff @bond:c2-ca harmonic 357.2 1.4800 # SOUECE3 1
+ bond_coeff @bond:c2-cc harmonic 522.6 1.3600 # SOURCE1 771 0.0185
+ bond_coeff @bond:c2-cd harmonic 522.6 1.3600 # SOURCE1 771 0.0185
+ bond_coeff @bond:c2-ce harmonic 560.5 1.3390 # SOURCE3 62 0.0128
+ bond_coeff @bond:c2-cf harmonic 560.5 1.3390 # SOURCE3 62 same_as_c2-ce
+ bond_coeff @bond:c2-cl harmonic 328.8 1.7220 # SOURCE1 163 0.0098
+ bond_coeff @bond:c2-cu harmonic 573.9 1.3320 # SOURCE2 1 0.0000
+ bond_coeff @bond:c2-cx harmonic 353.3 1.4836 # SOURCE4 26 0.0064
+ bond_coeff @bond:c2-cy harmonic 331.7 1.5046 # SOURCE4 9 0.0053
+ bond_coeff @bond:c2-f harmonic 368.7 1.3400 # SOURCE1 34 0.0000
+ bond_coeff @bond:c2-h4 harmonic 348.6 1.0840 # SOURCE3 40 0.0058
+ bond_coeff @bond:c2-h5 harmonic 338.0 1.0915 # SOURCE4 42 0.0017
+ bond_coeff @bond:c2-ha harmonic 344.3 1.0870 # SOURCE3 797 0.0046
+ bond_coeff @bond:c2-hc harmonic 344.3 1.0870 # SOURCE3 789 0.0046
+ bond_coeff @bond:c2-hx harmonic 350.1 1.0830 # SOURCE3 3 0.0008
+ bond_coeff @bond:c2-i harmonic 223.2 2.1530 # SOURCE3 2 0.0000
+ bond_coeff @bond:c2-n1 harmonic 546.0 1.3060 # SOURCE3 4 0.0161
+ bond_coeff @bond:c2-n2 harmonic 581.1 1.2880 # SOURCE1 103 0.0100
+ bond_coeff @bond:c2-n3 harmonic 486.3 1.3400 # SOUECE3 1
+ bond_coeff @bond:c2-n harmonic 390.5 1.4070 # SOURCE3 9 0.0124
+ bond_coeff @bond:c2-n4 harmonic 309.1 1.4820 # SOURCE3 5 0.0064
+ bond_coeff @bond:c2-na harmonic 411.1 1.3910 # SOURCE3 31 0.0289
+ bond_coeff @bond:c2-nc harmonic 533.0 1.3130 # SOURCE1 99 0.0095
+ bond_coeff @bond:c2-nd harmonic 533.0 1.3130 # SOURCE1 99 same_as_c2-nc
+ bond_coeff @bond:c2-ne harmonic 597.7 1.2800 # SOURCE3 37 0.0110
+ bond_coeff @bond:c2-nf harmonic 597.7 1.2800 # SOURCE3 37 same_as_c2-ne
+ bond_coeff @bond:c2-nh harmonic 462.6 1.3550 # SOURCE3 38 0.0413
+ bond_coeff @bond:c2-no harmonic 345.6 1.4457 # SOURCE4 7 0.0087
+ bond_coeff @bond:c2-o harmonic 623.6 1.2244 # SOURCE4 15 0.0036
+ bond_coeff @bond:c2-oh harmonic 425.4 1.3330 # SOURCE1 53 0.0000
+ bond_coeff @bond:c2-os harmonic 392.6 1.3570 # SOURCE1 315 0.0097
+ bond_coeff @bond:c2-p2 harmonic 375.9 1.6700 # SOURCE3 62 0.0147
+ bond_coeff @bond:c2-p3 harmonic 246.6 1.8340 # SOURCE3 5 0.0042
+ bond_coeff @bond:c2-p4 harmonic 254.0 1.8220 # SOUECE3 1
+ bond_coeff @bond:c2-p5 harmonic 228.2 1.8658 # SOURCE4 5 0.0025
+ bond_coeff @bond:c2-pe harmonic 355.3 1.6910 # SOURCE3 52 0.0542
+ bond_coeff @bond:c2-pf harmonic 355.3 1.6910 # SOURCE3 52 same_as_c2-pe
+ bond_coeff @bond:c2-s2 harmonic 393.1 1.6100 # SOURCE2 1 0.0000
+ bond_coeff @bond:c2-s harmonic 281.5 1.7340 # SOURCE3 4 0.0034
+ bond_coeff @bond:c2-s4 harmonic 263.2 1.7600 # SOUECE3 1
+ bond_coeff @bond:c2-s6 harmonic 263.2 1.7600 # SOUECE3 1
+ bond_coeff @bond:c2-sh harmonic 252.0 1.7771 # SOURCE4 5 0.0037
+ bond_coeff @bond:c2-ss harmonic 280.0 1.7360 # SOURCE1 209 0.0155
+ bond_coeff @bond:c3-c3 harmonic 303.1 1.5350 # SOURCE1 14664 0.0048
+ bond_coeff @bond:c3-ca harmonic 323.5 1.5130 # SOURCE1 1813 0.0000
+ bond_coeff @bond:c3-cc harmonic 337.3 1.4990 # SOURCE3 50 0.0096
+ bond_coeff @bond:c3-cd harmonic 337.3 1.4990 # SOURCE3 50 0.0096
+ bond_coeff @bond:c3-ce harmonic 331.3 1.5050 # SOURCE3 9 0.0024
+ bond_coeff @bond:c3-cf harmonic 331.3 1.5050 # SOURCE3 9 same_as_c3-ce
+ bond_coeff @bond:c3-cl harmonic 279.0 1.7860 # SOURCE1 267 0.0194
+ bond_coeff @bond:c3-cu harmonic 359.4 1.4780 # SOURCE1 7 0.0000
+ bond_coeff @bond:c3-cv harmonic 347.6 1.4890 # SOURCE1 11 0.0000
+ bond_coeff @bond:c3-cx harmonic 322.5 1.5140 # SOURCE1 712 0.0045
+ bond_coeff @bond:c3-cy harmonic 308.5 1.5290 # SOURCE1 376 0.0000
+ bond_coeff @bond:c3-f harmonic 363.8 1.3440 # SOURCE1 617 0.0281
+ bond_coeff @bond:c3-h1 harmonic 335.9 1.0930 # SOURCE3 2175 0.0082
+ bond_coeff @bond:c3-h2 harmonic 326.4 1.1000 # SOURCE3 66 0.0280
+ bond_coeff @bond:c3-h3 harmonic 333.4 1.0948 # SOURCE4 25 0.0026
+ bond_coeff @bond:c3-hc harmonic 337.3 1.0920 # SOURCE3 2815 0.0059
+ bond_coeff @bond:c3-hx harmonic 338.7 1.0910 # SOURCE3 146 0.0066
+ bond_coeff @bond:c3-i harmonic 219.1 2.1620 # SOURCE1 15 0.0000
+ bond_coeff @bond:c3-n1 harmonic 325.1 1.4700 # SOURCE3 0
+ bond_coeff @bond:c3-n2 harmonic 313.8 1.4770 # SOURCE1 129 0.0138
+ bond_coeff @bond:c3-n harmonic 330.6 1.4600 # SOURCE1 187 0.0079
+ bond_coeff @bond:c3-n3 harmonic 320.6 1.4700 # SOURCE1 1678 0.0017
+ bond_coeff @bond:c3-n4 harmonic 293.6 1.4990 # SOURCE1 1370 0.0000
+ bond_coeff @bond:c3-na harmonic 334.7 1.4560 # SOURCE3 23 0.0119
+ bond_coeff @bond:c3-nc harmonic 334.7 1.4560 # SOURCE3 9 0.0109
+ bond_coeff @bond:c3-nd harmonic 334.7 1.4560 # SOURCE3 9 same_as_c3-nc
+ bond_coeff @bond:c3-nh harmonic 332.7 1.4580 # SOURCE3 27 0.0085
+ bond_coeff @bond:c3-no harmonic 265.4 1.5330 # SOURCE1 83 0.0212
+ bond_coeff @bond:c3-o harmonic 449.9 1.3165 # SOURCE4 8 0.0193
+ bond_coeff @bond:c3-oh harmonic 314.1 1.4260 # SOURCE1 914 0.0129
+ bond_coeff @bond:c3-os harmonic 301.5 1.4390 # SOURCE1 3123 0.0126
+ bond_coeff @bond:c3-p2 harmonic 234.3 1.8550 # SOURCE3 9 0.0125
+ bond_coeff @bond:c3-p3 harmonic 240.6 1.8440 # SOURCE3 109 0.0107
+ bond_coeff @bond:c3-p4 harmonic 247.2 1.8330 # SOURCE3 29 0.0138
+ bond_coeff @bond:c3-p5 harmonic 259.7 1.8130 # SOURCE1 84 0.0000
+ bond_coeff @bond:c3-px harmonic 252.7 1.8240 # SOURCE3 28 0.0098
+ bond_coeff @bond:c3-py harmonic 259.7 1.8130 # SOURCE3 13 0.0163
+ bond_coeff @bond:c3-s harmonic 212.9 1.8450 # SOURCE3 4 0.0185
+ bond_coeff @bond:c3-s4 harmonic 233.8 1.8070 # SOURCE1 139 0.0023
+ bond_coeff @bond:c3-s6 harmonic 254.0 1.7740 # SOURCE1 118 0.0103
+ bond_coeff @bond:c3-sh harmonic 225.3 1.8220 # SOURCE3 12 0.0051
+ bond_coeff @bond:c3-ss harmonic 225.8 1.8210 # SOURCE1 358 0.0075
+ bond_coeff @bond:c3-sx harmonic 232.6 1.8090 # SOURCE3 30 0.0067
+ bond_coeff @bond:c3-sy harmonic 248.9 1.7820 # SOURCE3 31 0.0039
+ bond_coeff @bond:ca-ca harmonic 478.4 1.3870 # SOURCE1 6228 0.0147
+ bond_coeff @bond:ca-cc harmonic 411.7 1.4340 # SOURCE1 80 0.0000
+ bond_coeff @bond:ca-cd harmonic 411.7 1.4340 # SOURCE1 80 0.0000
+ bond_coeff @bond:ca-ce harmonic 366.0 1.4720 # SOURCE1 71 0.0030
+ bond_coeff @bond:ca-cf harmonic 366.0 1.4720 # SOURCE1 71 0.0030
+ bond_coeff @bond:ca-cg harmonic 406.6 1.4380 # SOURCE1 71 0.0045
+ bond_coeff @bond:ca-ch harmonic 406.6 1.4380 # SOURCE1 71 0.0045
+ bond_coeff @bond:ca-cl harmonic 322.8 1.7290 # SOURCE1 704 0.0095
+ bond_coeff @bond:ca-cp harmonic 461.8 1.3980 # CORR 28
+ bond_coeff @bond:ca-cq harmonic 461.8 1.3980 # CORR 28
+ bond_coeff @bond:ca-cx harmonic 350.8 1.4860 # SOURCE1 98 0.0118
+ bond_coeff @bond:ca-cy harmonic 323.0 1.5135 # SOURCE4 8 0.0043
+ bond_coeff @bond:ca-f harmonic 363.8 1.3440 # SOURCE1 205 0.0089
+ bond_coeff @bond:ca-h4 harmonic 342.9 1.0880 # SOURCE3 57 0.0026
+ bond_coeff @bond:ca-h5 harmonic 347.2 1.0850 # SOURCE3 15 0.0048
+ bond_coeff @bond:ca-ha harmonic 344.3 1.0870 # SOURCE3 1496 0.0045
+ bond_coeff @bond:ca-i harmonic 252.4 2.0950 # SOURCE1 51 0.0000
+ bond_coeff @bond:ca-n1 harmonic 398.1 1.4000 # SOURCE3 0
+ bond_coeff @bond:ca-n2 harmonic 551.6 1.3030 # SOURCE4 7 0.0058
+ bond_coeff @bond:ca-n harmonic 372.3 1.4220 # SOURCE3 9 0.0098
+ bond_coeff @bond:ca-n4 harmonic 325.6 1.4650 # SOURCE1 23 0.0000
+ bond_coeff @bond:ca-na harmonic 470.3 1.3500 # SOURCE1 150 0.0103
+ bond_coeff @bond:ca-nb harmonic 483.1 1.3420 # SOURCE3 104 0.0076
+ bond_coeff @bond:ca-nc harmonic 492.9 1.3360 # SOURCE1 1826 0.0020
+ bond_coeff @bond:ca-nd harmonic 492.9 1.3360 # SOURCE1 1826 0.0020
+ bond_coeff @bond:ca-ne harmonic 361.8 1.4310 # SOURCE1 52 0.0000
+ bond_coeff @bond:ca-nf harmonic 361.8 1.4310 # SOURCE1 52 0.0000
+ bond_coeff @bond:ca-nh harmonic 449.0 1.3640 # SOURCE1 137 0.0085
+ bond_coeff @bond:ca-no harmonic 322.6 1.4680 # SOURCE1 556 0.0000
+ bond_coeff @bond:ca-o harmonic 610.0 1.2304 # SOURCE4 5 0.0026
+ bond_coeff @bond:ca-oh harmonic 386.1 1.3620 # SOURCE1 551 0.0000
+ bond_coeff @bond:ca-os harmonic 372.4 1.3730 # SOURCE1 1092 0.0071
+ bond_coeff @bond:ca-p2 harmonic 243.0 1.8400 # SOUECE3 1
+ bond_coeff @bond:ca-p3 harmonic 252.7 1.8240 # SOURCE1 145 0.0187
+ bond_coeff @bond:ca-p4 harmonic 264.3 1.8060 # SOUECE3 1
+ bond_coeff @bond:ca-p5 harmonic 271.6 1.7950 # SOURCE1 571 0.0028
+ bond_coeff @bond:ca-pe harmonic 249.6 1.8290 # SOURCE3 10 0.0042
+ bond_coeff @bond:ca-pf harmonic 249.6 1.8290 # SOURCE3 10 0.0042
+ bond_coeff @bond:ca-px harmonic 252.1 1.8250 # SOURCE3 5 0.0168
+ bond_coeff @bond:ca-py harmonic 268.3 1.7999 # SOURCE4 5 0.0072
+ bond_coeff @bond:ca-s harmonic 277.9 1.7390 # SOURCE3 2 0.0000
+ bond_coeff @bond:ca-s4 harmonic 245.2 1.7880 # SOURCE1 51 0.0048
+ bond_coeff @bond:ca-s6 harmonic 263.9 1.7590 # SOURCE1 229 0.0036
+ bond_coeff @bond:ca-sh harmonic 251.3 1.7783 # SOURCE4 12 0.0041
+ bond_coeff @bond:ca-ss harmonic 256.6 1.7700 # SOURCE1 297 0.0041
+ bond_coeff @bond:ca-sx harmonic 223.5 1.8252 # SOURCE4 24 0.0032
+ bond_coeff @bond:ca-sy harmonic 247.7 1.7840 # SOURCE3 13 0.0094
+ bond_coeff @bond:c-c1 harmonic 379.8 1.4600 # SOUECE3 1
+ bond_coeff @bond:c-c2 harmonic 449.9 1.4060 # SOURCE3 2 0.0370
+ bond_coeff @bond:c-c harmonic 290.1 1.5500 # SOURCE1 31 0.0100
+ bond_coeff @bond:c-c3 harmonic 328.3 1.5080 # SOURCE1 2949 0.0060
+ bond_coeff @bond:c-ca harmonic 349.7 1.4870 # SOURCE1 480 0.0055
+ bond_coeff @bond:c-cc harmonic 377.4 1.4620 # SOURCE3 132 0.0210
+ bond_coeff @bond:cc-cc harmonic 418.3 1.4290 # SOURCE1 740 0.0069
+ bond_coeff @bond:cc-cd harmonic 504.0 1.3710 # SOURCE3 523 0.0217
+ bond_coeff @bond:cc-ce harmonic 387.9 1.4532 # CORR 249
+ bond_coeff @bond:cc-cf harmonic 511.3 1.3666 # CORR 70
+ bond_coeff @bond:cc-cg harmonic 420.9 1.4270 # SOURCE1 560 0.0000
+ bond_coeff @bond:cc-ch harmonic 420.9 1.4270 # SOURCE1 560 0.0000
+ bond_coeff @bond:cc-cl harmonic 317.1 1.7359 # CORR 66
+ bond_coeff @bond:cc-cx harmonic 366.6 1.4715 # CORR 24
+ bond_coeff @bond:c-cd harmonic 377.4 1.4620 # SOURCE3 132 0.0210
+ bond_coeff @bond:c-ce harmonic 363.8 1.4740 # SOURCE1 601 0.0105
+ bond_coeff @bond:c-cf harmonic 363.8 1.4740 # SOURCE1 601 0.0105
+ bond_coeff @bond:cc-f harmonic 368.6 1.3401 # SOURCE4 24 0.0034
+ bond_coeff @bond:c-cg harmonic 389.3 1.4520 # SOURCE3 2 0.0000
+ bond_coeff @bond:c-ch harmonic 389.3 1.4520 # SOURCE3 2 same_as_c-cg
+ bond_coeff @bond:cc-h4 harmonic 350.1 1.0830 # SOURCE3 599 0.0037
+ bond_coeff @bond:cc-h5 harmonic 356.0 1.0790 # SOURCE3 40 0.0051
+ bond_coeff @bond:cc-ha harmonic 347.2 1.0850 # SOURCE3 740 0.0039
+ bond_coeff @bond:c-cl harmonic 293.5 1.7660 # SOURCE3 6 0.0250
+ bond_coeff @bond:cc-n2 harmonic 573.8 1.2917 # CORR 81
+ bond_coeff @bond:cc-n harmonic 426.0 1.3800 # SOURCE3 56 0.0109
+ bond_coeff @bond:cc-n4 harmonic 299.0 1.4930 # SOURCE4 7 0.0148
+ bond_coeff @bond:cc-na harmonic 438.8 1.3710 # SOURCE3 440 0.0144
+ bond_coeff @bond:cc-nc harmonic 431.6 1.3760 # SOURCE1 88 0.0000
+ bond_coeff @bond:cc-nd harmonic 494.6 1.3350 # SOURCE3 203 0.0239
+ bond_coeff @bond:cc-ne harmonic 427.4 1.3790 # SOURCE4 30 0.0126
+ bond_coeff @bond:cc-nf harmonic 565.4 1.2960 # CORR 23
+ bond_coeff @bond:cc-nh harmonic 449.0 1.3640 # SOURCE3 6 0.0040
+ bond_coeff @bond:cc-no harmonic 367.4 1.4262 # SOURCE4 133 0.0061
+ bond_coeff @bond:cc-oh harmonic 408.5 1.3451 # CORR 121
+ bond_coeff @bond:cc-os harmonic 376.1 1.3700 # SOURCE3 86 0.0192
+ bond_coeff @bond:cc-pd harmonic 318.2 1.7330 # SOURCE3 84 0.0161
+ bond_coeff @bond:cc-sh harmonic 257.9 1.7681 # SOURCE4 8 0.0027
+ bond_coeff @bond:cc-ss harmonic 279.3 1.7370 # SOURCE3 52 0.0194
+ bond_coeff @bond:cc-sx harmonic 231.3 1.8113 # SOURCE4 16 0.0050
+ bond_coeff @bond:cc-sy harmonic 248.1 1.7834 # CORR 55
+ bond_coeff @bond:c-cu harmonic 441.4 1.4120 # SOURCE2 1 0.0000
+ bond_coeff @bond:c-cx harmonic 350.8 1.4860 # SOURCE1 105 0.0000
+ bond_coeff @bond:c-cy harmonic 308.5 1.5290 # SOURCE1 18 0.0000
+ bond_coeff @bond:cd-cd harmonic 418.3 1.4290 # SOURCE1 740 0.0069
+ bond_coeff @bond:cd-ce harmonic 511.3 1.3666 # CORR 70
+ bond_coeff @bond:cd-cf harmonic 387.9 1.4532 # CORR 249
+ bond_coeff @bond:cd-cg harmonic 420.9 1.4270 # SOURCE1 560 0.0000
+ bond_coeff @bond:cd-ch harmonic 420.9 1.4270 # SOURCE1 560 0.0000
+ bond_coeff @bond:cd-cl harmonic 317.1 1.7359 # CORR 66
+ bond_coeff @bond:cd-cx harmonic 366.6 1.4715 # CORR 24
+ bond_coeff @bond:cd-cy harmonic 330.9 1.5054 # SOURCE4 10 0.0008
+ bond_coeff @bond:cd-h4 harmonic 350.1 1.0830 # SOURCE3 599 0.0037
+ bond_coeff @bond:cd-h5 harmonic 356.0 1.0790 # SOURCE3 40 0.0051
+ bond_coeff @bond:cd-ha harmonic 347.2 1.0850 # SOURCE3 740 0.0039
+ bond_coeff @bond:cd-n2 harmonic 573.8 1.2917 # CORR 81
+ bond_coeff @bond:cd-n harmonic 426.0 1.3800 # SOURCE3 56 0.0109
+ bond_coeff @bond:cd-na harmonic 438.8 1.3710 # SOURCE3 440 0.0144
+ bond_coeff @bond:cd-nc harmonic 494.6 1.3350 # SOURCE3 203 0.0239
+ bond_coeff @bond:cd-nd harmonic 431.6 1.3760 # SOURCE1 88 0.0000
+ bond_coeff @bond:cd-ne harmonic 565.4 1.2960 # CORR 23
+ bond_coeff @bond:cd-nh harmonic 449.0 1.3640 # SOURCE3 6 0.0040
+ bond_coeff @bond:cd-oh harmonic 408.5 1.3451 # CORR 121
+ bond_coeff @bond:cd-os harmonic 376.1 1.3700 # SOURCE3 86 0.0192
+ bond_coeff @bond:cd-pc harmonic 318.2 1.7330 # SOURCE3 84 same_as_cc-pd
+ bond_coeff @bond:cd-ss harmonic 279.3 1.7370 # SOURCE3 52 0.0194
+ bond_coeff @bond:cd-sy harmonic 248.1 1.7834 # CORR 55
+ bond_coeff @bond:ce-ce harmonic 390.5 1.4510 # SOURCE1 66 0.0060
+ bond_coeff @bond:ce-cf harmonic 562.4 1.3380 # SOURCE1 543 0.0045
+ bond_coeff @bond:ce-cg harmonic 415.6 1.4310 # SOURCE1 22 0.0000
+ bond_coeff @bond:ce-ch harmonic 415.6 1.4310 # SOURCE1 22 0.0000
+ bond_coeff @bond:ce-cl harmonic 292.6 1.7671 # SOURCE4 24 0.0062
+ bond_coeff @bond:ce-cx harmonic 337.0 1.4993 # SOURCE4 5 0.0066
+ bond_coeff @bond:ce-cy harmonic 323.0 1.5135 # SOURCE4 17 0.0024
+ bond_coeff @bond:ce-h4 harmonic 337.4 1.0919 # CORR 144
+ bond_coeff @bond:ce-ha harmonic 341.5 1.0890 # SOURCE3 55 0.0056
+ bond_coeff @bond:ce-n1 harmonic 536.1 1.3113 # CORR 13
+ bond_coeff @bond:ce-n2 harmonic 599.8 1.2790 # SOURCE1 75 0.0000
+ bond_coeff @bond:ce-n harmonic 368.9 1.4249 # CORR 136
+ bond_coeff @bond:ce-na harmonic 373.8 1.4207 # SOURCE4 5 0.0051
+ bond_coeff @bond:ce-ne harmonic 381.8 1.4140 # SOURCE3 7 0.0103
+ bond_coeff @bond:ce-nf harmonic 574.0 1.2916 # CORR 42
+ bond_coeff @bond:ce-nh harmonic 412.3 1.3901 # CORR 168
+ bond_coeff @bond:ce-oh harmonic 402.9 1.3493 # CORR 37
+ bond_coeff @bond:ce-os harmonic 372.8 1.3727 # CORR 45
+ bond_coeff @bond:ce-p2 harmonic 259.1 1.8140 # SOUECE3 1
+ bond_coeff @bond:ce-pe harmonic 256.5 1.8180 # SOURCE3 8 0.0108
+ bond_coeff @bond:ce-px harmonic 254.6 1.8210 # SOURCE3 6 0.0046
+ bond_coeff @bond:ce-py harmonic 272.3 1.7940 # SOURCE3 5 0.0045
+ bond_coeff @bond:ce-s harmonic 324.5 1.6800 # SOUECE3 1
+ bond_coeff @bond:ce-ss harmonic 243.6 1.7906 # SOURCE4 10 0.0064
+ bond_coeff @bond:ce-sx harmonic 239.7 1.7970 # SOURCE3 5 0.0082
+ bond_coeff @bond:ce-sy harmonic 248.9 1.7820 # SOURCE3 5 0.0114
+ bond_coeff @bond:c-f harmonic 387.9 1.3250 # SOURCE2 6 0.0147
+ bond_coeff @bond:cf-cf harmonic 390.5 1.4510 # SOURCE1 66 0.0060
+ bond_coeff @bond:cf-cg harmonic 415.6 1.4310 # SOURCE1 22 0.0000
+ bond_coeff @bond:cf-ch harmonic 415.6 1.4310 # SOURCE1 22 0.0000
+ bond_coeff @bond:cf-h4 harmonic 337.4 1.0919 # CORR 144
+ bond_coeff @bond:cf-ha harmonic 341.5 1.0890 # SOURCE3 55 0.0056
+ bond_coeff @bond:cf-n1 harmonic 536.1 1.3113 # CORR 13
+ bond_coeff @bond:cf-n2 harmonic 599.8 1.2790 # SOURCE1 75 same_as_ce-n2
+ bond_coeff @bond:cf-n harmonic 368.9 1.4249 # CORR 136
+ bond_coeff @bond:cf-ne harmonic 574.0 1.2916 # CORR 42
+ bond_coeff @bond:cf-nf harmonic 381.8 1.4140 # SOURCE3 7 same_as_ce-ne
+ bond_coeff @bond:cf-nh harmonic 412.3 1.3901 # CORR 168
+ bond_coeff @bond:cf-oh harmonic 402.9 1.3493 # CORR 37
+ bond_coeff @bond:cf-os harmonic 372.8 1.3727 # CORR 45
+ bond_coeff @bond:cf-p2 harmonic 259.1 1.8140 # SOUECE3 1 same_as_ce-p2
+ bond_coeff @bond:cf-pf harmonic 256.5 1.8180 # SOURCE3 8 same_as_ce-pe
+ bond_coeff @bond:cf-px harmonic 254.6 1.8210 # SOURCE3 6 same_as_ce-px
+ bond_coeff @bond:cf-py harmonic 272.3 1.7940 # SOURCE3 5 same_as_ce-py
+ bond_coeff @bond:cf-s harmonic 324.5 1.6800 # SOUECE3 1 same_as_ce-s
+ bond_coeff @bond:cf-sx harmonic 239.7 1.7970 # SOURCE3 5 same_as_ce-sx
+ bond_coeff @bond:cf-sy harmonic 248.9 1.7820 # SOURCE3 5 same_as_ce-sy
+ bond_coeff @bond:cg-cg harmonic 494.2 1.3770 # SOURCE1 42 0.0000
+ bond_coeff @bond:cg-ch harmonic 949.5 1.1910 # SOURCE1 80 0.0015
+ bond_coeff @bond:cg-n1 harmonic 994.7 1.1430 # SOURCE1 316 0.0018
+ bond_coeff @bond:cg-ne harmonic 509.5 1.3262 # SOURCE4 17 0.0009
+ bond_coeff @bond:cg-pe harmonic 429.8 1.6210 # SOURCE3 11 0.2008
+ bond_coeff @bond:c-h4 harmonic 310.5 1.1123 # SOURCE4 125 0.0023
+ bond_coeff @bond:c-h5 harmonic 319.4 1.1053 # SOURCE4 42 0.0028
+ bond_coeff @bond:c-ha harmonic 325.1 1.1010 # SOURCE3 53 0.0102
+ bond_coeff @bond:ch-ch harmonic 494.2 1.3770 # SOURCE1 42 0.0000
+ bond_coeff @bond:ch-n1 harmonic 994.7 1.1430 # SOURCE1 316 0.0018
+ bond_coeff @bond:ch-nf harmonic 509.5 1.3262 # SOURCE4 17 same_as_cg-ne
+ bond_coeff @bond:ch-pf harmonic 429.8 1.6210 # SOURCE3 11 same_as_cg-pe
+ bond_coeff @bond:c-i harmonic 198.9 2.2090 # SOURCE3 4 0.0365
+ bond_coeff @bond:cl-cl harmonic 143.3 2.2670 # SOURCE1 2 0.0395
+ bond_coeff @bond:cl-cx harmonic 301.8 1.7550 # SOURCE1 64 0.0000
+ bond_coeff @bond:cl-cy harmonic 292.0 1.7680 # SOURCE2 2 0.0070
+ bond_coeff @bond:cl-f harmonic 298.6 1.6480 # SOURCE2 2 0.0500
+ bond_coeff @bond:cl-i harmonic 163.5 2.5500 # SOURCE1 6 0.0893
+ bond_coeff @bond:cl-n1 harmonic 431.6 1.6300 # SOUECE3 1
+ bond_coeff @bond:cl-n2 harmonic 263.4 1.8190 # SOURCE3 6 0.1020
+ bond_coeff @bond:cl-n3 harmonic 290.4 1.7800 # SOURCE4 5 0.0021
+ bond_coeff @bond:cl-n harmonic 344.2 1.7140 # SOURCE4 5 0.0005
+ bond_coeff @bond:cl-n4 harmonic 311.1 1.7530 # SOURCE3 4 0.0098
+ bond_coeff @bond:cl-na harmonic 253.2 1.8350 # SOURCE3 7 0.2083
+ bond_coeff @bond:cl-nh harmonic 303.2 1.7630 # SOURCE3 1 0.0000
+ bond_coeff @bond:cl-no harmonic 250.1 1.8400 # SOURCE2 1 0.0000
+ bond_coeff @bond:cl-o harmonic 557.6 1.4830 # SOURCE3 4 0.0000
+ bond_coeff @bond:cl-oh harmonic 309.7 1.6900 # SOURCE2 1 0.0000
+ bond_coeff @bond:cl-os harmonic 278.8 1.7300 # SOURCE3 4 0.0000
+ bond_coeff @bond:cl-p2 harmonic 217.5 2.0700 # SOURCE3 6 0.0108
+ bond_coeff @bond:cl-p3 harmonic 249.4 2.0080 # SOURCE1 111 0.0000
+ bond_coeff @bond:cl-p4 harmonic 249.4 2.0080 # SOURCE1 111 0.0000
+ bond_coeff @bond:cl-p5 harmonic 249.4 2.0080 # SOURCE1 111 0.0000
+ bond_coeff @bond:cl-pb harmonic 255.6 1.9970 # SOURCE1 46 0.0000
+ bond_coeff @bond:cl-s harmonic 208.7 2.0720 # SOURCE1 6 0.0000
+ bond_coeff @bond:cl-s2 harmonic 172.7 2.1610 # SOURCE2 1 0.0000
+ bond_coeff @bond:cl-s4 harmonic 208.7 2.0720 # SOURCE1 6 0.0000
+ bond_coeff @bond:cl-s6 harmonic 208.7 2.0720 # SOURCE1 6 0.0000
+ bond_coeff @bond:cl-sh harmonic 208.7 2.0720 # SOURCE1 6 0.0000
+ bond_coeff @bond:cl-ss harmonic 208.7 2.0720 # SOURCE1 6 0.0000
+ bond_coeff @bond:cl-sx harmonic 208.7 2.0720 # SOURCE1 6 0.0000
+ bond_coeff @bond:cl-sy harmonic 208.7 2.0720 # SOURCE1 6 0.0000
+ bond_coeff @bond:c-n2 harmonic 374.6 1.4200 # SOUECE3 1
+ bond_coeff @bond:c-n4 harmonic 255.5 1.5460 # SOURCE3 4 0.0388
+ bond_coeff @bond:c-n harmonic 478.2 1.3450 # SOURCE1 1235 0.0215
+ bond_coeff @bond:c-nc harmonic 412.1 1.3906 # CORR 124
+ bond_coeff @bond:c-nd harmonic 412.1 1.3906 # CORR 124
+ bond_coeff @bond:c-ne harmonic 408.2 1.3932 # CORR 52
+ bond_coeff @bond:c-nf harmonic 408.2 1.3932 # CORR 52
+ bond_coeff @bond:c-no harmonic 260.1 1.5400 # SOUECE3 1
+ bond_coeff @bond:c-o harmonic 648.0 1.2140 # SOURCE1 3682 0.0165
+ bond_coeff @bond:c-oh harmonic 466.4 1.3060 # SOURCE1 271 0.0041
+ bond_coeff @bond:c-os harmonic 411.3 1.3430 # SOURCE1 1044 0.0171
+ bond_coeff @bond:c-p2 harmonic 210.3 1.9000 # SOUECE3 1
+ bond_coeff @bond:c-p3 harmonic 219.0 1.8830 # SOURCE3 6 0.0129
+ bond_coeff @bond:c-p4 harmonic 220.6 1.8800 # SOUECE3 1
+ bond_coeff @bond:c-p5 harmonic 219.8 1.8815 # SOURCE4 11 0.0078
+ bond_coeff @bond:cp-cp harmonic 346.5 1.4900 # SOURCE1 242 0.0010
+ bond_coeff @bond:cp-cq harmonic 419.3 1.4282 # SOURCE4 7 0.0034
+ bond_coeff @bond:c-pe harmonic 204.9 1.9110 # SOURCE3 3 0.0025
+ bond_coeff @bond:c-pf harmonic 204.9 1.9110 # SOURCE3 3 same_as_c-pe
+ bond_coeff @bond:cp-na harmonic 420.5 1.3840 # SOURCE4 7 0.0181
+ bond_coeff @bond:cp-nb harmonic 486.7 1.3398 # SOURCE4 70 0.0062
+ bond_coeff @bond:c-px harmonic 208.3 1.9040 # SOURCE3 1 0.0000
+ bond_coeff @bond:c-py harmonic 227.6 1.8670 # SOURCE3 6 0.0199
+ bond_coeff @bond:cq-cq harmonic 346.5 1.4900 # SOURCE1 242 0.0010
+ bond_coeff @bond:c-s harmonic 328.9 1.6750 # SOURCE1 401 0.0128
+ bond_coeff @bond:c-s4 harmonic 200.4 1.8700 # SOUECE3 1
+ bond_coeff @bond:c-s6 harmonic 200.4 1.8700 # SOUECE3 1
+ bond_coeff @bond:c-sh harmonic 249.6 1.7810 # SOURCE3 6 0.0171
+ bond_coeff @bond:c-ss harmonic 261.9 1.7620 # SOURCE1 20 0.0000
+ bond_coeff @bond:c-sx harmonic 193.3 1.8850 # SOURCE3 5 0.0088
+ bond_coeff @bond:c-sy harmonic 202.8 1.8650 # SOURCE3 5 0.0085
+ bond_coeff @bond:cu-cu harmonic 653.7 1.2940 # SOURCE1 10 0.0000
+ bond_coeff @bond:cu-cx harmonic 327.3 1.5090 # SOURCE1 20 0.0000
+ bond_coeff @bond:cu-ha harmonic 353.0 1.0810 # SOURCE2 3 0.0111
+ bond_coeff @bond:cv-cv harmonic 568.1 1.3350 # SOURCE1 25 0.0000
+ bond_coeff @bond:cv-cy harmonic 323.5 1.5130 # SOURCE1 50 0.0000
+ bond_coeff @bond:cv-ha harmonic 344.3 1.0870 # SOURCE3 2 0.0000
+ bond_coeff @bond:cx-cv harmonic 328.3 1.5080 # SOURCE1 2536 as
+ bond_coeff @bond:cx-cx harmonic 337.3 1.4990 # SOURCE1 1204 0.0183
+ bond_coeff @bond:cx-cy harmonic 321.5 1.5150 # SOURCE3 2 0.0000
+ bond_coeff @bond:cx-f harmonic 347.2 1.3580 # SOURCE2 3 0.0050
+ bond_coeff @bond:cx-h1 harmonic 344.3 1.0870 # SOURCE3 10 0.0017
+ bond_coeff @bond:cx-h2 harmonic 350.1 1.0830 # SOURCE3 2 0.0000
+ bond_coeff @bond:cx-hc harmonic 345.8 1.0860 # SOURCE3 44 0.0011
+ bond_coeff @bond:cx-hx harmonic 347.2 1.0850 # SOURCE4 5 0.0002
+ bond_coeff @bond:cx-n2 harmonic 309.1 1.4820 # SOURCE3 2 0.0000
+ bond_coeff @bond:cx-n3 harmonic 318.7 1.4720 # SOURCE1 134 0.0000
+ bond_coeff @bond:cx-n harmonic 350.6 1.4411 # SOURCE4 11 0.0092
+ bond_coeff @bond:cx-na harmonic 329.0 1.4616 # SOURCE4 11 0.0016
+ bond_coeff @bond:cx-nh harmonic 336.7 1.4541 # SOURCE4 83 0.0076
+ bond_coeff @bond:cx-oh harmonic 387.4 1.3610 # SOURCE3 3 0.0018
+ bond_coeff @bond:cx-os harmonic 320.1 1.4200 # SOURCE3 7 0.0222
+ bond_coeff @bond:cx-p3 harmonic 227.6 1.8670 # SOURCE2 1 0.0000
+ bond_coeff @bond:cx-s4 harmonic 225.3 1.8220 # SOURCE2 1 0.0000
+ bond_coeff @bond:cx-s6 harmonic 283.7 1.7310 # SOURCE2 1 0.0000
+ bond_coeff @bond:cx-ss harmonic 229.2 1.8150 # SOURCE2 1 0.0000
+ bond_coeff @bond:cy-cy harmonic 286.8 1.5540 # SOURCE1 742 0.0041
+ bond_coeff @bond:cy-f harmonic 355.5 1.3509 # SOURCE4 8 0.0047
+ bond_coeff @bond:cy-h1 harmonic 330.4 1.0970 # SOURCE3 17 0.0058
+ bond_coeff @bond:cy-h2 harmonic 335.8 1.0931 # SOURCE4 80 0.0019
+ bond_coeff @bond:cy-hc harmonic 334.5 1.0940 # SOURCE3 63 0.0014
+ bond_coeff @bond:cy-n harmonic 321.3 1.4693 # SOURCE4 250 0.0102
+ bond_coeff @bond:cy-n3 harmonic 307.2 1.4840 # SOURCE1 21 0.0000
+ bond_coeff @bond:cy-oh harmonic 325.2 1.4150 # SOURCE3 2 0.0000
+ bond_coeff @bond:cy-os harmonic 308.6 1.4316 # SOURCE4 23 0.0136
+ bond_coeff @bond:cy-s6 harmonic 209.6 1.8514 # SOURCE4 9 0.0166
+ bond_coeff @bond:cy-ss harmonic 211.3 1.8481 # SOURCE4 78 0.0080
+ bond_coeff @bond:cz-nh harmonic 487.8 1.3391 # SOURCE4 32 0.0045
+ bond_coeff @bond:f-n1 harmonic 375.7 1.4100 # SOUECE3 1
+ bond_coeff @bond:f-n2 harmonic 337.5 1.4440 # SOURCE3 5 0.0377
+ bond_coeff @bond:f-n3 harmonic 380.6 1.4060 # SOURCE1 9 0.0000
+ bond_coeff @bond:f-n harmonic 391.7 1.3970 # SOURCE3 3 0.0112
+ bond_coeff @bond:f-n4 harmonic 526.8 1.3080 # SOURCE3 2 0.0000
+ bond_coeff @bond:f-na harmonic 374.5 1.4110 # SOURCE3 7 0.0611
+ bond_coeff @bond:f-nh harmonic 357.1 1.4260 # SOURCE3 3 0.0085
+ bond_coeff @bond:f-no harmonic 314.4 1.4670 # SOURCE2 1 0.0000
+ bond_coeff @bond:f-o harmonic 442.2 1.3300 # SOUECE3 1
+ bond_coeff @bond:f-oh harmonic 305.4 1.4440 # SOURCE3 1 0.0000
+ bond_coeff @bond:f-os harmonic 326.2 1.4230 # SOURCE3 2 0.0000
+ bond_coeff @bond:f-p2 harmonic 287.3 1.5360 # SOURCE3 7 0.2054
+ bond_coeff @bond:f-p3 harmonic 254.5 1.5780 # SOURCE2 8 0.0103
+ bond_coeff @bond:f-p4 harmonic 246.0 1.5900 # SOUECE3 1
+ bond_coeff @bond:f-p5 harmonic 253.8 1.5790 # SOURCE1 72 0.0000
+ bond_coeff @bond:f-s2 harmonic 244.4 1.6430 # SOURCE2 1 0.0000
+ bond_coeff @bond:f-s harmonic 233.3 1.6600 # SOUECE3 1
+ bond_coeff @bond:f-s4 harmonic 282.4 1.5910 # SOURCE2 4 0.0065
+ bond_coeff @bond:f-s6 harmonic 312.1 1.5560 # SOURCE2 5 0.0220
+ bond_coeff @bond:f-sh harmonic 240.4 1.6490 # SOURCE3 1 0.0000
+ bond_coeff @bond:f-ss harmonic 250.5 1.6340 # SOURCE3 3 0.0156
+ bond_coeff @bond:hn-n1 harmonic 455.1 0.9860 # SOURCE2 1 0.0000
+ bond_coeff @bond:hn-n2 harmonic 375.5 1.0290 # SOURCE3 108 0.0096
+ bond_coeff @bond:hn-n3 harmonic 394.1 1.0180 # SOURCE3 157 0.0086
+ bond_coeff @bond:hn-n harmonic 410.2 1.0090 # SOURCE3 149 0.0098
+ bond_coeff @bond:hn-n4 harmonic 369.0 1.0330 # SOURCE3 264 0.0082
+ bond_coeff @bond:hn-na harmonic 406.6 1.0110 # SOURCE3 46 0.0107
+ bond_coeff @bond:hn-nh harmonic 401.2 1.0140 # SOURCE3 209 0.0091
+ bond_coeff @bond:hn-no harmonic 385.6 1.0230 # SOURCE3 1 0.0000
+ bond_coeff @bond:ho-o harmonic 357.9 0.9810 # SOURCE3 1 0.0000
+ bond_coeff @bond:ho-oh harmonic 369.6 0.9740 # SOURCE3 367 0.0105
+ bond_coeff @bond:hp-p2 harmonic 385.1 1.3360 # SOURCE3 87 0.1706
+ bond_coeff @bond:hp-p3 harmonic 303.1 1.4090 # SOURCE3 101 0.0617
+ bond_coeff @bond:hp-p4 harmonic 368.7 1.3490 # SOURCE3 17 0.1577
+ bond_coeff @bond:hp-p5 harmonic 305.0 1.4070 # SOURCE3 7 0.0062
+ bond_coeff @bond:hs-s harmonic 286.4 1.3530 # SOURCE3 1 0.0000
+ bond_coeff @bond:hs-s4 harmonic 266.4 1.3750 # SOURCE3 5 0.0004
+ bond_coeff @bond:hs-s6 harmonic 280.8 1.3590 # SOURCE3 5 0.0015
+ bond_coeff @bond:hs-sh harmonic 302.2 1.3370 # SOURCE3 98 0.0486
+ bond_coeff @bond:i-i harmonic 109.2 2.9170 # SOURCE1 1 0.0000
+ bond_coeff @bond:i-n1 harmonic 302.1 2.0600 # SOUECE3 1
+ bond_coeff @bond:i-n2 harmonic 182.6 2.3040 # SOURCE3 6 0.1186
+ bond_coeff @bond:i-n harmonic 278.3 2.0980 # SOURCE3 5 0.0156
+ bond_coeff @bond:i-n3 harmonic 231.8 2.1850 # SOURCE3 3 0.0437
+ bond_coeff @bond:i-n4 harmonic 246.6 2.1550 # SOURCE3 3 0.0168
+ bond_coeff @bond:i-na harmonic 260.5 2.1290 # SOURCE3 8 0.1276
+ bond_coeff @bond:i-nh harmonic 249.2 2.1500 # SOURCE3 1 0.0000
+ bond_coeff @bond:i-no harmonic 211.0 2.2310 # SOURCE3 1 0.0000
+ bond_coeff @bond:i-o harmonic 323.8 1.9800 # SOUECE3 1
+ bond_coeff @bond:i-oh harmonic 247.9 2.1010 # SOURCE3 2 0.0000
+ bond_coeff @bond:i-os harmonic 233.6 2.1290 # SOURCE3 3 0.0146
+ bond_coeff @bond:i-p2 harmonic 108.2 2.6430 # SOURCE3 6 0.0297
+ bond_coeff @bond:i-p3 harmonic 123.6 2.5660 # SOURCE3 3 0.0016
+ bond_coeff @bond:i-p4 harmonic 183.0 2.3520 # SOURCE3 4 0.2600
+ bond_coeff @bond:i-p5 harmonic 117.3 2.5960 # SOURCE3 3 0.0143
+ bond_coeff @bond:i-s harmonic 175.1 2.4300 # SOUECE3 1
+ bond_coeff @bond:i-s4 harmonic 82.8 2.8700 # SOUECE3 1
+ bond_coeff @bond:i-s6 harmonic 82.8 2.8700 # SOURCE3 1 0.0000
+ bond_coeff @bond:i-sh harmonic 138.5 2.5600 # SOUECE3 1
+ bond_coeff @bond:i-ss harmonic 135.9 2.5710 # SOURCE3 3 0.0065
+ bond_coeff @bond:n1-n1 harmonic 1221.7 1.1240 # SOURCE1 19 0.0000
+ bond_coeff @bond:n1-n2 harmonic 857.4 1.2160 # SOURCE1 19 0.0000
+ bond_coeff @bond:n1-n3 harmonic 535.7 1.3500 # SOUECE3 1
+ bond_coeff @bond:n1-n4 harmonic 518.2 1.3600 # SOUECE3 1
+ bond_coeff @bond:n1-na harmonic 535.7 1.3500 # SOUECE3 1
+ bond_coeff @bond:n1-nc harmonic 857.4 1.2160 # SOURCE1 38 0.0000
+ bond_coeff @bond:n1-nd harmonic 857.4 1.2160 # SOURCE1 38 0.0000
+ bond_coeff @bond:n1-ne harmonic 751.9 1.2520 # SOURCE2 1 0.0000
+ bond_coeff @bond:n1-nf harmonic 751.9 1.2520 # SOURCE2 1 same_as_n1-ne
+ bond_coeff @bond:n1-nh harmonic 553.9 1.3400 # SOUECE3 1
+ bond_coeff @bond:n1-no harmonic 454.8 1.4000 # SOUECE3 1
+ bond_coeff @bond:n1-o harmonic 617.5 1.2770 # SOURCE3 5 0.0438
+ bond_coeff @bond:n1-oh harmonic 569.8 1.3000 # SOUECE3 1
+ bond_coeff @bond:n1-os harmonic 550.5 1.3100 # SOUECE3 1
+ bond_coeff @bond:n1-p2 harmonic 358.8 1.6780 # SOURCE3 2 0.0282
+ bond_coeff @bond:n1-p3 harmonic 376.7 1.6600 # SOUECE3 1
+ bond_coeff @bond:n1-p4 harmonic 353.0 1.6800 # SOURCE3 0
+ bond_coeff @bond:n1-p5 harmonic 482.7 1.5710 # SOURCE1 132 0.0000
+ bond_coeff @bond:n1-s2 harmonic 604.3 1.4490 # SOURCE2 2 0.0010
+ bond_coeff @bond:n1-s harmonic 328.7 1.6590 # SOURCE3 6 0.0789
+ bond_coeff @bond:n1-s4 harmonic 336.8 1.6500 # SOUECE3 1
+ bond_coeff @bond:n1-s6 harmonic 670.3 1.4160 # SOURCE2 2 0.0000
+ bond_coeff @bond:n1-sh harmonic 376.1 1.6100 # SOUECE3 1
+ bond_coeff @bond:n1-ss harmonic 376.1 1.6100 # SOUECE3 1
+ bond_coeff @bond:n2-n2 harmonic 702.7 1.2710 # SOURCE3 27 0.0347
+ bond_coeff @bond:n2-n3 harmonic 574.8 1.3290 # SOURCE2 1 0.0000
+ bond_coeff @bond:n2-n4 harmonic 200.8 1.6790 # SOURCE3 7 0.3138
+ bond_coeff @bond:n2-na harmonic 503.9 1.3685 # SOURCE4 18 0.0066
+ bond_coeff @bond:n2-nc harmonic 743.9 1.2550 # SOURCE1 13 0.0000
+ bond_coeff @bond:n2-nd harmonic 743.9 1.2550 # SOURCE1 13 same_as_n2_nc
+ bond_coeff @bond:n2-ne harmonic 685.5 1.2780 # SOURCE3 30 0.0302
+ bond_coeff @bond:n2-nf harmonic 685.5 1.2780 # SOURCE3 30 same_as_n2-ne
+ bond_coeff @bond:n2-nh harmonic 525.1 1.3560 # SOURCE3 22 0.0300
+ bond_coeff @bond:n2-no harmonic 231.9 1.6260 # SOURCE3 4 0.1933
+ bond_coeff @bond:n2-o harmonic 789.9 1.2090 # SOURCE3 20 0.0344
+ bond_coeff @bond:n2-oh harmonic 416.2 1.3940 # SOURCE1 67 0.0000
+ bond_coeff @bond:n2-os harmonic 400.5 1.4060 # SOURCE3 10 0.0147
+ bond_coeff @bond:n2-p2 harmonic 438.3 1.6050 # SOURCE3 35 0.0737
+ bond_coeff @bond:n2-p3 harmonic 286.5 1.7640 # SOURCE3 7 0.0374
+ bond_coeff @bond:n2-p4 harmonic 317.7 1.7240 # SOUECE3 1
+ bond_coeff @bond:n2-p5 harmonic 445.8 1.5990 # SOURCE1 7 0.0000
+ bond_coeff @bond:n2-pe harmonic 527.9 1.5400 # SOURCE3 20 0.1392
+ bond_coeff @bond:n2-pf harmonic 527.9 1.5400 # SOURCE3 20 same_as_n2-pe
+ bond_coeff @bond:n2-s2 harmonic 499.0 1.5120 # SOURCE2 1 0.0000
+ bond_coeff @bond:n2-s4 harmonic 376.1 1.6100 # SOUECE3 1
+ bond_coeff @bond:n2-s harmonic 458.1 1.5410 # SOURCE1 37 0.0000
+ bond_coeff @bond:n2-s6 harmonic 444.6 1.5513 # SOURCE4 5 0.0011
+ bond_coeff @bond:n2-sh harmonic 266.6 1.7380 # SOURCE3 5 0.0511
+ bond_coeff @bond:n2-ss harmonic 331.4 1.6560 # SOURCE1 36 0.0000
+ bond_coeff @bond:n3-n3 harmonic 383.6 1.4540 # SOURCE1 44 0.0000
+ bond_coeff @bond:n3-n4 harmonic 434.9 1.4140 # SOURCE1 13 0.0000
+ bond_coeff @bond:n3-na harmonic 426.7 1.4200 # SOURCE1 68 0.0000
+ bond_coeff @bond:n3-nh harmonic 426.7 1.4200 # SOURCE1 68 0.0000
+ bond_coeff @bond:n3-no harmonic 394.5 1.4450 # SOURCE3 3 0.0208
+ bond_coeff @bond:n3-o harmonic 564.0 1.3030 # SOURCE3 4 0.1217
+ bond_coeff @bond:n3-oh harmonic 413.5 1.3960 # SOURCE1 28 0.0000
+ bond_coeff @bond:n3-os harmonic 359.6 1.4400 # SOURCE1 34 0.0315
+ bond_coeff @bond:n3-p2 harmonic 366.6 1.6700 # SOUECE3 1
+ bond_coeff @bond:n3-p3 harmonic 312.8 1.7300 # SOURCE1 40 0.0000
+ bond_coeff @bond:n3-p4 harmonic 341.1 1.6970 # SOURCE1 88 0.0000
+ bond_coeff @bond:n3-p5 harmonic 373.6 1.6630 # SOURCE1 501 0.0086
+ bond_coeff @bond:n3-py harmonic 338.1 1.7003 # SOURCE4 6 0.0044
+ bond_coeff @bond:n3-s harmonic 232.3 1.7920 # SOURCE3 3 0.0178
+ bond_coeff @bond:n3-s4 harmonic 251.3 1.7610 # SOURCE3 6 0.0766
+ bond_coeff @bond:n3-s6 harmonic 353.8 1.6320 # SOURCE1 99 0.0136
+ bond_coeff @bond:n3-sh harmonic 265.9 1.7390 # SOURCE3 3 0.0154
+ bond_coeff @bond:n3-ss harmonic 277.9 1.7220 # SOURCE3 5 0.0207
+ bond_coeff @bond:n3-sy harmonic 297.3 1.6964 # SOURCE4 226 0.0081
+ bond_coeff @bond:n4-n4 harmonic 349.9 1.4840 # SOURCE3 4 0.0089
+ bond_coeff @bond:n4-na harmonic 407.0 1.4350 # SOURCE3 9 0.0390
+ bond_coeff @bond:n4-nh harmonic 369.7 1.4660 # SOURCE3 5 0.0108
+ bond_coeff @bond:n4-no harmonic 354.2 1.4800 # SOUECE3 1
+ bond_coeff @bond:n4-o harmonic 463.6 1.3610 # SOURCE3 3 0.0041
+ bond_coeff @bond:n4-oh harmonic 408.2 1.4000 # SOURCE3 3 0.0115
+ bond_coeff @bond:n4-os harmonic 381.8 1.4210 # SOURCE3 5 0.0249
+ bond_coeff @bond:n4-p2 harmonic 185.9 1.9420 # SOURCE3 10 0.0643
+ bond_coeff @bond:n4-p3 harmonic 215.1 1.8800 # SOURCE3 5 0.0146
+ bond_coeff @bond:n4-p4 harmonic 187.6 1.9380 # SOURCE3 1 0.0000
+ bond_coeff @bond:n4-p5 harmonic 242.9 1.8300 # SOURCE3 5 0.0087
+ bond_coeff @bond:n4-py harmonic 204.2 1.9020 # SOURCE3 4 0.0000
+ bond_coeff @bond:n4-s harmonic 210.3 1.8320 # SOURCE3 3 0.0004
+ bond_coeff @bond:n4-s4 harmonic 151.0 1.9720 # SOURCE3 3 0.0198
+ bond_coeff @bond:n4-s6 harmonic 172.7 1.9140 # SOURCE3 5 0.0432
+ bond_coeff @bond:n4-sh harmonic 221.5 1.8110 # SOURCE3 3 0.0027
+ bond_coeff @bond:n4-ss harmonic 221.0 1.8120 # SOURCE3 5 0.0064
+ bond_coeff @bond:na-na harmonic 453.3 1.4010 # SOURCE1 40 0.0000
+ bond_coeff @bond:na-nb harmonic 546.5 1.3440 # SOURCE4 5 0.0070
+ bond_coeff @bond:na-nc harmonic 535.7 1.3500 # SOURCE3 152 0.0180
+ bond_coeff @bond:na-nd harmonic 535.7 1.3500 # SOURCE3 152 0.0180
+ bond_coeff @bond:na-nh harmonic 453.3 1.4010 # SOURCE1 40 0.0000
+ bond_coeff @bond:na-no harmonic 401.9 1.4390 # SOURCE3 9 0.0289
+ bond_coeff @bond:na-o harmonic 644.3 1.2650 # SOURCE1 25 0.0347
+ bond_coeff @bond:na-oh harmonic 412.2 1.3970 # SOURCE3 9 0.0217
+ bond_coeff @bond:na-os harmonic 355.2 1.4440 # SOURCE3 45 0.0423
+ bond_coeff @bond:na-p2 harmonic 297.8 1.7490 # SOURCE3 11 0.0192
+ bond_coeff @bond:na-p3 harmonic 288.0 1.7620 # SOURCE3 8 0.0113
+ bond_coeff @bond:na-p4 harmonic 492.4 1.5640 # SOURCE3 5 0.2161
+ bond_coeff @bond:na-p5 harmonic 325.3 1.7150 # SOURCE3 11 0.0238
+ bond_coeff @bond:na-pc harmonic 311.1 1.7320 # SOURCE3 81 0.0207
+ bond_coeff @bond:na-pd harmonic 311.1 1.7320 # SOURCE3 81 same_as_na-pc
+ bond_coeff @bond:na-py harmonic 327.8 1.7120 # SOURCE3 2 0.0000
+ bond_coeff @bond:na-s harmonic 248.7 1.7650 # SOURCE3 8 0.0095
+ bond_coeff @bond:na-s4 harmonic 231.7 1.7930 # SOURCE3 10 0.0421
+ bond_coeff @bond:na-s6 harmonic 274.3 1.7270 # SOURCE3 10 0.0201
+ bond_coeff @bond:na-sh harmonic 278.6 1.7210 # SOURCE3 9 0.0113
+ bond_coeff @bond:na-ss harmonic 270.1 1.7330 # SOURCE3 38 0.0412
+ bond_coeff @bond:na-sy harmonic 274.3 1.7270 # SOURCE3 1
+ bond_coeff @bond:nb-nb harmonic 550.2 1.3420 # SOURCE1 15 0.0314
+ bond_coeff @bond:nb-pb harmonic 461.1 1.5870 # SOURCE1 162 0.0091
+ bond_coeff @bond:nc-nc harmonic 486.8 1.3790 # SOURCE3 9 0.0164
+ bond_coeff @bond:nc-nd harmonic 602.9 1.3150 # SOURCE3 9 0.0221
+ bond_coeff @bond:nc-os harmonic 414.9 1.3950 # SOURCE1 46 0.0188
+ bond_coeff @bond:nc-ss harmonic 433.5 1.5600 # SOURCE1 74 0.0000
+ bond_coeff @bond:nc-sy harmonic 439.8 1.5550 # SOURCE3 2
+ bond_coeff @bond:nd-nd harmonic 486.8 1.3790 # SOURCE3 9 0.0164
+ bond_coeff @bond:nd-os harmonic 414.9 1.3950 # SOURCE1 46 0.0188
+ bond_coeff @bond:nd-ss harmonic 433.5 1.5600 # SOURCE1 74 0.0000
+ bond_coeff @bond:nd-sy harmonic 439.8 1.5550 # SOURCE3 2
+ bond_coeff @bond:ne-ne harmonic 355.3 1.4790 # SOURCE3 19 0.1705
+ bond_coeff @bond:ne-nf harmonic 721.6 1.2635 # SOURCE4 25 0.0034
+ bond_coeff @bond:ne-o harmonic 736.4 1.2280 # SOURCE3 40 0.0255
+ bond_coeff @bond:ne-p2 harmonic 493.9 1.5630 # SOURCE3 14 0.1325
+ bond_coeff @bond:ne-pe harmonic 327.8 1.7120 # SOURCE3 28 0.1076
+ bond_coeff @bond:ne-px harmonic 336.6 1.7020 # SOURCE3 11 0.0883
+ bond_coeff @bond:ne-py harmonic 425.4 1.6157 # SOURCE4 10 0.0094
+ bond_coeff @bond:ne-s harmonic 463.5 1.5370 # SOURCE3 22 0.1708
+ bond_coeff @bond:ne-sx harmonic 207.3 1.8380 # SOURCE3 7 0.1060
+ bond_coeff @bond:ne-sy harmonic 257.1 1.7520 # SOURCE3 7 0.0814
+ bond_coeff @bond:nf-nf harmonic 355.3 1.4790 # SOURCE3 19 same_as_ne-ne
+ bond_coeff @bond:nf-o harmonic 736.4 1.2280 # SOURCE3 40 same_as_ne-o
+ bond_coeff @bond:nf-p2 harmonic 493.9 1.5630 # SOURCE3 14 same_as_ne-p2
+ bond_coeff @bond:nf-pf harmonic 327.8 1.7120 # SOURCE3 28 same_as_ne-pe
+ bond_coeff @bond:nf-px harmonic 336.6 1.7020 # SOURCE3 11 same_as_ne-px
+ bond_coeff @bond:nf-py harmonic 425.4 1.6157 # SOURCE4 10 same_as_ne-py
+ bond_coeff @bond:nf-s harmonic 463.5 1.5370 # SOURCE3 22 same_as_ne-s
+ bond_coeff @bond:nf-sx harmonic 207.3 1.8380 # SOURCE3 7 same_as_ne-sx
+ bond_coeff @bond:nf-sy harmonic 257.1 1.7520 # SOURCE3 7 same_as_ne-sy
+ bond_coeff @bond:nh-nh harmonic 453.3 1.4010 # SOURCE1 40 0.0000
+ bond_coeff @bond:nh-no harmonic 477.4 1.3850 # SOURCE4 7 0.0036
+ bond_coeff @bond:nh-o harmonic 596.2 1.2870 # SOURCE3 3 0.0450
+ bond_coeff @bond:nh-oh harmonic 389.9 1.4144 # SOURCE4 19 0.0064
+ bond_coeff @bond:nh-os harmonic 387.8 1.4161 # SOURCE4 6 0.0039
+ bond_coeff @bond:nh-p2 harmonic 357.8 1.6790 # SOURCE3 17 0.0872
+ bond_coeff @bond:nh-p3 harmonic 312.8 1.7300 # SOURCE3 3 0.0016
+ bond_coeff @bond:nh-p4 harmonic 333.1 1.7060 # SOURCE3 3 0.0008
+ bond_coeff @bond:nh-p5 harmonic 365.6 1.6710 # SOURCE3 3 0.0007
+ bond_coeff @bond:nh-s harmonic 237.0 1.7840 # SOURCE3 3 0.0076
+ bond_coeff @bond:nh-s4 harmonic 259.1 1.7490 # SOURCE3 3 0.0203
+ bond_coeff @bond:nh-s6 harmonic 297.2 1.6965 # SOURCE4 33 0.0062
+ bond_coeff @bond:nh-sh harmonic 288.3 1.7080 # SOURCE3 1 0.0000
+ bond_coeff @bond:nh-ss harmonic 288.3 1.7080 # SOURCE1 52 0.0015
+ bond_coeff @bond:nh-sy harmonic 283.5 1.7144 # SOURCE4 80 0.0066
+ bond_coeff @bond:n-n1 harmonic 553.9 1.3400 # SOUECE3 1
+ bond_coeff @bond:n-n2 harmonic 499.7 1.3710 # SOURCE3 9 0.0200
+ bond_coeff @bond:n-n3 harmonic 443.3 1.4080 # SOURCE3 5 0.0087
+ bond_coeff @bond:n-n4 harmonic 410.8 1.4320 # SOURCE3 5 0.0098
+ bond_coeff @bond:n-n harmonic 469.7 1.3900 # SOURCE3 5 0.0038
+ bond_coeff @bond:n-na harmonic 486.8 1.3790 # SOURCE3 11 0.0071
+ bond_coeff @bond:n-nc harmonic 523.7 1.3568 # CORR 76
+ bond_coeff @bond:n-nd harmonic 523.7 1.3568 # CORR 76
+ bond_coeff @bond:n-nh harmonic 451.2 1.4025 # SOURCE4 20 0.0074
+ bond_coeff @bond:n-no harmonic 381.2 1.4560 # SOURCE3 4 0.0327
+ bond_coeff @bond:n-o harmonic 646.6 1.2640 # SOURCE3 9 0.0381
+ bond_coeff @bond:n-oh harmonic 395.4 1.4100 # SOURCE3 6 0.0106
+ bond_coeff @bond:no-no harmonic 138.3 1.8240 # SOURCE3 1 0.0000
+ bond_coeff @bond:no-o harmonic 761.2 1.2190 # SOURCE1 1838 0.0049
+ bond_coeff @bond:no-oh harmonic 400.5 1.4060 # SOURCE2 1 0.0000
+ bond_coeff @bond:no-os harmonic 379.5 1.4229 # SOURCE4 53 0.0076
+ bond_coeff @bond:no-p2 harmonic 306.3 1.7380 # SOURCE3 10 0.2231
+ bond_coeff @bond:no-p3 harmonic 234.7 1.8440 # SOURCE3 3 0.0005
+ bond_coeff @bond:no-p4 harmonic 220.4 1.8700 # SOURCE3 3 0.0006
+ bond_coeff @bond:no-p5 harmonic 240.5 1.8340 # SOURCE3 4 0.0020
+ bond_coeff @bond:no-s harmonic 263.8 1.7420 # SOURCE3 2 0.0000
+ bond_coeff @bond:n-os harmonic 395.0 1.4103 # SOURCE4 30 0.0112
+ bond_coeff @bond:no-s4 harmonic 143.0 1.9960 # SOURCE3 3 0.0313
+ bond_coeff @bond:no-s6 harmonic 149.6 1.9760 # SOURCE3 3 0.0520
+ bond_coeff @bond:no-sh harmonic 225.4 1.8040 # SOURCE3 1 0.0000
+ bond_coeff @bond:no-ss harmonic 212.4 1.8280 # SOURCE3 3 0.0244
+ bond_coeff @bond:n-p2 harmonic 310.3 1.7330 # SOURCE3 8 0.0217
+ bond_coeff @bond:n-p3 harmonic 282.2 1.7700 # SOURCE3 9 0.0118
+ bond_coeff @bond:n-p4 harmonic 309.5 1.7340 # SOURCE3 1 0.0000
+ bond_coeff @bond:n-p5 harmonic 331.3 1.7080 # SOURCE4 6 0.0022
+ bond_coeff @bond:n-pc harmonic 304.8 1.7400 # SOURCE3 3 0.0010
+ bond_coeff @bond:n-pd harmonic 304.8 1.7400 # SOURCE3 3 same_as_n-pc
+ bond_coeff @bond:n-s harmonic 247.5 1.7670 # SOURCE3 3 0.0011
+ bond_coeff @bond:n-s4 harmonic 238.2 1.7820 # SOURCE3 4 0.0214
+ bond_coeff @bond:n-s6 harmonic 283.0 1.7151 # SOURCE4 13 0.0138
+ bond_coeff @bond:n-sh harmonic 273.6 1.7280 # SOURCE3 4 0.0128
+ bond_coeff @bond:n-ss harmonic 281.6 1.7170 # SOURCE3 7 0.0133
+ bond_coeff @bond:n-sy harmonic 282.9 1.7152 # SOURCE4 51 0.0079
+ bond_coeff @bond:oh-oh harmonic 340.5 1.4690 # SOURCE3 1 0.0000
+ bond_coeff @bond:oh-os harmonic 355.8 1.4547 # SOURCE4 19 0.0050
+ bond_coeff @bond:oh-p2 harmonic 316.8 1.6300 # SOURCE3 8 0.0916
+ bond_coeff @bond:oh-p3 harmonic 278.8 1.6770 # SOURCE3 3 0.0148
+ bond_coeff @bond:oh-p4 harmonic 307.4 1.6410 # SOURCE3 4 0.0092
+ bond_coeff @bond:oh-p5 harmonic 321.2 1.6250 # SOURCE3 92 0.0451
+ bond_coeff @bond:oh-py harmonic 332.1 1.6130 # SOURCE3 79 0.0138
+ bond_coeff @bond:oh-s harmonic 190.0 1.8120 # SOURCE3 2 0.0000
+ bond_coeff @bond:oh-s4 harmonic 256.3 1.6954 # SOURCE4 10 0.0091
+ bond_coeff @bond:oh-s6 harmonic 344.1 1.5880 # SOURCE3 13 0.0091
+ bond_coeff @bond:oh-sh harmonic 258.6 1.6920 # SOURCE3 2 0.0003
+ bond_coeff @bond:oh-ss harmonic 265.6 1.6820 # SOURCE3 4 0.0131
+ bond_coeff @bond:oh-sy harmonic 290.4 1.6490 # SOURCE4 33 0.0044
+ bond_coeff @bond:o-o harmonic 384.3 1.4300 # SOURCE3 2 0.0500
+ bond_coeff @bond:o-oh harmonic 294.6 1.5170 # SOURCE3 2 0.0000
+ bond_coeff @bond:o-os harmonic 306.3 1.5040 # SOURCE3 3 0.0117
+ bond_coeff @bond:o-p2 harmonic 449.7 1.5080 # SOURCE3 17 0.0306
+ bond_coeff @bond:o-p3 harmonic 440.4 1.5150 # SOURCE3 35 0.0297
+ bond_coeff @bond:o-p4 harmonic 456.4 1.5030 # SOURCE3 42 0.0749
+ bond_coeff @bond:o-p5 harmonic 487.7 1.4810 # SOURCE1 263 0.0205
+ bond_coeff @bond:o-pe harmonic 432.6 1.5210 # SOURCE3 20 0.0171
+ bond_coeff @bond:o-pf harmonic 432.6 1.5210 # SOURCE3 20 same_as_o-pe
+ bond_coeff @bond:o-px harmonic 459.2 1.5010 # SOURCE3 37 0.0160
+ bond_coeff @bond:o-py harmonic 477.5 1.4880 # SOURCE3 63 0.0091
+ bond_coeff @bond:o-s harmonic 194.8 1.8020 # SOURCE3 2 0.0000
+ bond_coeff @bond:o-s2 harmonic 333.6 1.5990 # SOURCE3 3 0.0707
+ bond_coeff @bond:o-s4 harmonic 448.7 1.4970 # SOURCE1 90 0.0000
+ bond_coeff @bond:o-s6 harmonic 541.1 1.4360 # SOURCE1 1038 0.0128
+ bond_coeff @bond:o-sh harmonic 328.0 1.6050 # SOURCE3 2 0.0000
+ bond_coeff @bond:os-os harmonic 343.6 1.4660 # SOURCE1 20 0.0067
+ bond_coeff @bond:os-p2 harmonic 371.9 1.5730 # SOURCE1 16 0.0000
+ bond_coeff @bond:os-p3 harmonic 272.2 1.6860 # SOURCE3 6 0.0201
+ bond_coeff @bond:os-p4 harmonic 311.6 1.6360 # SOURCE3 4 0.0057
+ bond_coeff @bond:os-p5 harmonic 342.5 1.6020 # SOURCE1 248 0.0400
+ bond_coeff @bond:os-py harmonic 328.5 1.6170 # SOURCE3 17 0.0139
+ bond_coeff @bond:os-s harmonic 195.8 1.8000 # SOURCE3 3 0.0052
+ bond_coeff @bond:o-ss harmonic 398.5 1.5370 # SOURCE3 3 0.0501
+ bond_coeff @bond:os-s4 harmonic 253.9 1.6990 # SOURCE3 8 0.0223
+ bond_coeff @bond:os-s6 harmonic 355.0 1.5770 # SOURCE1 75 0.0030
+ bond_coeff @bond:os-sh harmonic 273.6 1.6710 # SOURCE3 3 0.0106
+ bond_coeff @bond:os-ss harmonic 250.5 1.7040 # SOURCE3 9 0.0277
+ bond_coeff @bond:os-sy harmonic 253.9 1.6990 # SOURCE3 1 0.0000
+ bond_coeff @bond:o-sx harmonic 434.2 1.5080 # SOURCE3 40 0.0130
+ bond_coeff @bond:o-sy harmonic 493.0 1.4660 # SOURCE3 92 0.0114
+ bond_coeff @bond:p2-p2 harmonic 490.3 1.7860 # SOURCE3 25 0.3488
+ bond_coeff @bond:p2-p3 harmonic 211.9 2.1520 # SOURCE3 9 0.1777
+ bond_coeff @bond:p2-p4 harmonic 200.4 2.1790 # SOUECE3 1
+ bond_coeff @bond:p2-p5 harmonic 199.9 2.1800 # SOUECE3 1
+ bond_coeff @bond:p2-pe harmonic 401.6 1.8670 # SOURCE3 16 0.3571
+ bond_coeff @bond:p2-pf harmonic 401.6 1.8670 # SOURCE3 16 same_as_p2-pe
+ bond_coeff @bond:p2-s harmonic 361.6 1.7720 # SOURCE3 26 0.3014
+ bond_coeff @bond:p2-s4 harmonic 139.4 2.1900 # SOUECE3 1
+ bond_coeff @bond:p2-s6 harmonic 142.3 2.1800 # SOUECE3 1
+ bond_coeff @bond:p2-sh harmonic 224.0 1.9710 # SOURCE3 10 0.2829
+ bond_coeff @bond:p2-ss harmonic 226.6 1.9660 # SOURCE3 10 0.2739
+ bond_coeff @bond:p3-p3 harmonic 186.5 2.2140 # SOURCE1 41 0.0000
+ bond_coeff @bond:p3-p4 harmonic 185.7 2.2160 # SOURCE3 3 0.0011
+ bond_coeff @bond:p3-p5 harmonic 186.9 2.2130 # SOURCE3 9 0.0265
+ bond_coeff @bond:p3-s harmonic 179.7 2.0700 # SOUECE3 1
+ bond_coeff @bond:p3-s4 harmonic 173.2 2.0870 # SOURCE3 8 0.2235
+ bond_coeff @bond:p3-s6 harmonic 176.9 2.0770 # SOURCE3 11 0.1420
+ bond_coeff @bond:p3-sh harmonic 157.3 2.1320 # SOURCE3 3 0.0078
+ bond_coeff @bond:p3-ss harmonic 161.0 2.1210 # SOURCE3 3 0.0059
+ bond_coeff @bond:p4-p4 harmonic 273.1 2.0340 # SOURCE1 1 0.0000
+ bond_coeff @bond:p4-p5 harmonic 178.0 2.2370 # SOUECE3 1
+ bond_coeff @bond:p4-s harmonic 152.7 2.1460 # SOURCE3 5 0.0601
+ bond_coeff @bond:p4-s4 harmonic 123.2 2.2510 # SOUECE3 1
+ bond_coeff @bond:p4-s6 harmonic 118.9 2.2690 # SOUECE3 1
+ bond_coeff @bond:p4-sh harmonic 163.1 2.1150 # SOURCE3 4 0.0008
+ bond_coeff @bond:p4-ss harmonic 167.0 2.1040 # SOURCE3 4 0.0044
+ bond_coeff @bond:p5-p5 harmonic 261.4 2.0540 # SOURCE1 1 0.0000
+ bond_coeff @bond:p5-s harmonic 250.8 1.9220 # SOURCE1 89 0.0140
+ bond_coeff @bond:p5-s4 harmonic 191.9 2.0400 # SOUECE3 1
+ bond_coeff @bond:p5-s6 harmonic 191.9 2.0400 # SOUECE3 1
+ bond_coeff @bond:p5-sh harmonic 175.0 2.0820 # SOURCE3 3 0.0035
+ bond_coeff @bond:p5-ss harmonic 163.1 2.1149 # SOURCE4 24 0.0106
+ bond_coeff @bond:pe-pe harmonic 240.7 2.0920 # SOURCE3 7 0.1369
+ bond_coeff @bond:pe-pf harmonic 260.8 2.0550 # SOURCE3 1 0.0000
+ bond_coeff @bond:pe-px harmonic 291.4 2.0050 # SOURCE3 12 0.2609
+ bond_coeff @bond:pe-py harmonic 278.6 2.0250 # SOURCE3 12 0.2617
+ bond_coeff @bond:pe-s harmonic 374.7 1.7580 # SOURCE3 31 0.3197
+ bond_coeff @bond:pe-sx harmonic 145.9 2.1680 # SOURCE3 9 0.1743
+ bond_coeff @bond:pe-sy harmonic 133.0 2.2130 # SOURCE3 6 0.0127
+ bond_coeff @bond:pf-pf harmonic 240.7 2.0920 # SOURCE3 7 same_as_pe-pe
+ bond_coeff @bond:pf-px harmonic 291.4 2.0050 # SOURCE3 12 same_as_pe-px
+ bond_coeff @bond:pf-py harmonic 278.6 2.0250 # SOURCE3 12 same_as_pe-py
+ bond_coeff @bond:pf-s harmonic 374.7 1.7580 # SOURCE3 31 same_as_pe-s
+ bond_coeff @bond:pf-sx harmonic 145.9 2.1680 # SOURCE3 9 same_as_pe-sx
+ bond_coeff @bond:pf-sy harmonic 133.0 2.2130 # SOURCE3 6 same_as_pe-sy
+ bond_coeff @bond:px-py harmonic 192.3 2.1990 # SOURCE3 5 0.0238
+ bond_coeff @bond:px-sx harmonic 125.4 2.2420 # SOURCE3 3 0.0119
+ bond_coeff @bond:px-sy harmonic 123.7 2.2490 # SOURCE3 3 0.0272
+ bond_coeff @bond:py-py harmonic 197.5 2.1860 # SOURCE3 8 0.0132
+ bond_coeff @bond:py-sx harmonic 121.2 2.2590 # SOURCE3 7 0.0603
+ bond_coeff @bond:py-sy harmonic 141.7 2.1820 # SOURCE3 5 0.0047
+ bond_coeff @bond:s4-s4 harmonic 151.5 2.0800 # SOUECE3 1
+ bond_coeff @bond:s4-s6 harmonic 151.5 2.0800 # SOUECE3 1
+ bond_coeff @bond:s4-sh harmonic 125.7 2.1680 # SOURCE3 3 0.0227
+ bond_coeff @bond:s4-ss harmonic 126.2 2.1660 # SOURCE3 5 0.0247
+ bond_coeff @bond:s6-s6 harmonic 151.5 2.0800 # SOUECE3 1
+ bond_coeff @bond:s6-sh harmonic 142.6 2.1080 # SOURCE3 3 0.0144
+ bond_coeff @bond:s6-ss harmonic 139.6 2.1180 # SOURCE3 5 0.0209
+ bond_coeff @bond:sh-sh harmonic 158.9 2.0580 # SOURCE2 1 0.0000
+ bond_coeff @bond:sh-ss harmonic 155.8 2.0670 # SOURCE3 3 0.0029
+ bond_coeff @bond:s-s harmonic 169.0 2.0300 # SOURCE3 1 0.0000
+ bond_coeff @bond:s-s2 harmonic 229.2 1.8970 # SOURCE1 5 0.0000
+ bond_coeff @bond:s-s4 harmonic 152.8 2.0760 # SOURCE3 4 0.0345
+ bond_coeff @bond:s-s6 harmonic 166.0 2.0380 # SOURCE3 3 0.0311
+ bond_coeff @bond:s-sh harmonic 142.0 2.1100 # SOURCE3 2 0.0000
+ bond_coeff @bond:s-ss harmonic 148.5 2.0890 # SOURCE3 1 0.0000
+ bond_coeff @bond:ss-ss harmonic 161.7 2.0500 # SOURCE1 225 0.0015
+ bond_coeff @bond:sx-sx harmonic 80.9 2.3910 # SOURCE3 3 0.0185
+ bond_coeff @bond:sx-sy harmonic 105.3 2.2550 # SOURCE3 5 0.0737
+ bond_coeff @bond:sy-sy harmonic 106.4 2.2500 # SOURCE3 3 0.0289
+ bond_coeff @bond:br-cd harmonic 277.6 1.8847 # NEW 39
+ bond_coeff @bond:c1-cf harmonic 607.4 1.3153 # NEW 6
+ bond_coeff @bond:cd-f harmonic 368.6 1.3401 # NEW 24
+ bond_coeff @bond:cd-n4 harmonic 299.0 1.4930 # NEW 7
+ bond_coeff @bond:cd-nf harmonic 427.4 1.3790 # NEW 30
+ bond_coeff @bond:cd-no harmonic 367.4 1.4262 # NEW 133
+ bond_coeff @bond:cd-sh harmonic 257.9 1.7681 # NEW 8
+ bond_coeff @bond:cd-sx harmonic 231.3 1.8113 # NEW 16
+ bond_coeff @bond:cc-cy harmonic 330.9 1.5054 # NEW 10
+ bond_coeff @bond:cf-cl harmonic 292.6 1.7671 # NEW 24
+ bond_coeff @bond:cf-cx harmonic 337.0 1.4993 # NEW 5
+ bond_coeff @bond:cf-cy harmonic 323.0 1.5135 # NEW 17
+ bond_coeff @bond:cf-na harmonic 373.8 1.4207 # NEW 5
+ bond_coeff @bond:cf-ss harmonic 243.6 1.7906 # NEW 10
+ bond_coeff @bond:cq-na harmonic 420.5 1.3840 # NEW 7
+ bond_coeff @bond:cq-nb harmonic 486.7 1.3398 # NEW 70
+ } # (end of bond_coeffs)
+
+ write_once("Data Bonds By Type") {
+ @bond:ow-hw @atom:ow @atom:hw
+ @bond:hw-hw @atom:hw @atom:hw
+ @bond:br-br @atom:br @atom:br
+ @bond:br-c1 @atom:br @atom:c1
+ @bond:br-c2 @atom:br @atom:c2
+ @bond:br-c @atom:br @atom:c
+ @bond:br-c3 @atom:br @atom:c3
+ @bond:br-ca @atom:br @atom:ca
+ @bond:br-cc @atom:br @atom:cc
+ @bond:br-cx @atom:br @atom:cx
+ @bond:br-i @atom:br @atom:i
+ @bond:br-n1 @atom:br @atom:n1
+ @bond:br-n2 @atom:br @atom:n2
+ @bond:br-n @atom:br @atom:n
+ @bond:br-n3 @atom:br @atom:n3
+ @bond:br-n4 @atom:br @atom:n4
+ @bond:br-na @atom:br @atom:na
+ @bond:br-nh @atom:br @atom:nh
+ @bond:br-no @atom:br @atom:no
+ @bond:br-o @atom:br @atom:o
+ @bond:br-oh @atom:br @atom:oh
+ @bond:br-os @atom:br @atom:os
+ @bond:br-p2 @atom:br @atom:p2
+ @bond:br-p3 @atom:br @atom:p3
+ @bond:br-p4 @atom:br @atom:p4
+ @bond:br-p5 @atom:br @atom:p5
+ @bond:br-s @atom:br @atom:s
+ @bond:br-s4 @atom:br @atom:s4
+ @bond:br-s6 @atom:br @atom:s6
+ @bond:br-sh @atom:br @atom:sh
+ @bond:br-ss @atom:br @atom:ss
+ @bond:c1-c1 @atom:c1 @atom:c1
+ @bond:c1-c2 @atom:c1 @atom:c2
+ @bond:c1-c3 @atom:c1 @atom:c3
+ @bond:c1-ca @atom:c1 @atom:ca
+ @bond:c1-ce @atom:c1 @atom:ce
+ @bond:c1-cg @atom:c1 @atom:cg
+ @bond:c1-ch @atom:c1 @atom:ch
+ @bond:c1-cl @atom:c1 @atom:cl
+ @bond:c1-cx @atom:c1 @atom:cx
+ @bond:c1-f @atom:c1 @atom:f
+ @bond:c1-ha @atom:c1 @atom:ha
+ @bond:c1-hc @atom:c1 @atom:hc
+ @bond:c1-i @atom:c1 @atom:i
+ @bond:c1-n1 @atom:c1 @atom:n1
+ @bond:c1-n2 @atom:c1 @atom:n2
+ @bond:c1-n3 @atom:c1 @atom:n3
+ @bond:c1-n4 @atom:c1 @atom:n4
+ @bond:c1-n @atom:c1 @atom:n
+ @bond:c1-na @atom:c1 @atom:na
+ @bond:c1-ne @atom:c1 @atom:ne
+ @bond:c1-nf @atom:c1 @atom:nf
+ @bond:c1-nh @atom:c1 @atom:nh
+ @bond:c1-no @atom:c1 @atom:no
+ @bond:c1-o @atom:c1 @atom:o
+ @bond:c1-oh @atom:c1 @atom:oh
+ @bond:c1-os @atom:c1 @atom:os
+ @bond:c1-p2 @atom:c1 @atom:p2
+ @bond:c1-p3 @atom:c1 @atom:p3
+ @bond:c1-p4 @atom:c1 @atom:p4
+ @bond:c1-p5 @atom:c1 @atom:p5
+ @bond:c1-s2 @atom:c1 @atom:s2
+ @bond:c1-s @atom:c1 @atom:s
+ @bond:c1-s4 @atom:c1 @atom:s4
+ @bond:c1-s6 @atom:c1 @atom:s6
+ @bond:c1-sh @atom:c1 @atom:sh
+ @bond:c1-ss @atom:c1 @atom:ss
+ @bond:c2-c2 @atom:c2 @atom:c2
+ @bond:c2-c3 @atom:c2 @atom:c3
+ @bond:c2-ca @atom:c2 @atom:ca
+ @bond:c2-cc @atom:c2 @atom:cc
+ @bond:c2-cd @atom:c2 @atom:cd
+ @bond:c2-ce @atom:c2 @atom:ce
+ @bond:c2-cf @atom:c2 @atom:cf
+ @bond:c2-cl @atom:c2 @atom:cl
+ @bond:c2-cu @atom:c2 @atom:cu
+ @bond:c2-cx @atom:c2 @atom:cx
+ @bond:c2-cy @atom:c2 @atom:cy
+ @bond:c2-f @atom:c2 @atom:f
+ @bond:c2-h4 @atom:c2 @atom:h4
+ @bond:c2-h5 @atom:c2 @atom:h5
+ @bond:c2-ha @atom:c2 @atom:ha
+ @bond:c2-hc @atom:c2 @atom:hc
+ @bond:c2-hx @atom:c2 @atom:hx
+ @bond:c2-i @atom:c2 @atom:i
+ @bond:c2-n1 @atom:c2 @atom:n1
+ @bond:c2-n2 @atom:c2 @atom:n2
+ @bond:c2-n3 @atom:c2 @atom:n3
+ @bond:c2-n @atom:c2 @atom:n
+ @bond:c2-n4 @atom:c2 @atom:n4
+ @bond:c2-na @atom:c2 @atom:na
+ @bond:c2-nc @atom:c2 @atom:nc
+ @bond:c2-nd @atom:c2 @atom:nd
+ @bond:c2-ne @atom:c2 @atom:ne
+ @bond:c2-nf @atom:c2 @atom:nf
+ @bond:c2-nh @atom:c2 @atom:nh
+ @bond:c2-no @atom:c2 @atom:no
+ @bond:c2-o @atom:c2 @atom:o
+ @bond:c2-oh @atom:c2 @atom:oh
+ @bond:c2-os @atom:c2 @atom:os
+ @bond:c2-p2 @atom:c2 @atom:p2
+ @bond:c2-p3 @atom:c2 @atom:p3
+ @bond:c2-p4 @atom:c2 @atom:p4
+ @bond:c2-p5 @atom:c2 @atom:p5
+ @bond:c2-pe @atom:c2 @atom:pe
+ @bond:c2-pf @atom:c2 @atom:pf
+ @bond:c2-s2 @atom:c2 @atom:s2
+ @bond:c2-s @atom:c2 @atom:s
+ @bond:c2-s4 @atom:c2 @atom:s4
+ @bond:c2-s6 @atom:c2 @atom:s6
+ @bond:c2-sh @atom:c2 @atom:sh
+ @bond:c2-ss @atom:c2 @atom:ss
+ @bond:c3-c3 @atom:c3 @atom:c3
+ @bond:c3-ca @atom:c3 @atom:ca
+ @bond:c3-cc @atom:c3 @atom:cc
+ @bond:c3-cd @atom:c3 @atom:cd
+ @bond:c3-ce @atom:c3 @atom:ce
+ @bond:c3-cf @atom:c3 @atom:cf
+ @bond:c3-cl @atom:c3 @atom:cl
+ @bond:c3-cu @atom:c3 @atom:cu
+ @bond:c3-cv @atom:c3 @atom:cv
+ @bond:c3-cx @atom:c3 @atom:cx
+ @bond:c3-cy @atom:c3 @atom:cy
+ @bond:c3-f @atom:c3 @atom:f
+ @bond:c3-h1 @atom:c3 @atom:h1
+ @bond:c3-h2 @atom:c3 @atom:h2
+ @bond:c3-h3 @atom:c3 @atom:h3
+ @bond:c3-hc @atom:c3 @atom:hc
+ @bond:c3-hx @atom:c3 @atom:hx
+ @bond:c3-i @atom:c3 @atom:i
+ @bond:c3-n1 @atom:c3 @atom:n1
+ @bond:c3-n2 @atom:c3 @atom:n2
+ @bond:c3-n @atom:c3 @atom:n
+ @bond:c3-n3 @atom:c3 @atom:n3
+ @bond:c3-n4 @atom:c3 @atom:n4
+ @bond:c3-na @atom:c3 @atom:na
+ @bond:c3-nc @atom:c3 @atom:nc
+ @bond:c3-nd @atom:c3 @atom:nd
+ @bond:c3-nh @atom:c3 @atom:nh
+ @bond:c3-no @atom:c3 @atom:no
+ @bond:c3-o @atom:c3 @atom:o
+ @bond:c3-oh @atom:c3 @atom:oh
+ @bond:c3-os @atom:c3 @atom:os
+ @bond:c3-p2 @atom:c3 @atom:p2
+ @bond:c3-p3 @atom:c3 @atom:p3
+ @bond:c3-p4 @atom:c3 @atom:p4
+ @bond:c3-p5 @atom:c3 @atom:p5
+ @bond:c3-px @atom:c3 @atom:px
+ @bond:c3-py @atom:c3 @atom:py
+ @bond:c3-s @atom:c3 @atom:s
+ @bond:c3-s4 @atom:c3 @atom:s4
+ @bond:c3-s6 @atom:c3 @atom:s6
+ @bond:c3-sh @atom:c3 @atom:sh
+ @bond:c3-ss @atom:c3 @atom:ss
+ @bond:c3-sx @atom:c3 @atom:sx
+ @bond:c3-sy @atom:c3 @atom:sy
+ @bond:ca-ca @atom:ca @atom:ca
+ @bond:ca-cc @atom:ca @atom:cc
+ @bond:ca-cd @atom:ca @atom:cd
+ @bond:ca-ce @atom:ca @atom:ce
+ @bond:ca-cf @atom:ca @atom:cf
+ @bond:ca-cg @atom:ca @atom:cg
+ @bond:ca-ch @atom:ca @atom:ch
+ @bond:ca-cl @atom:ca @atom:cl
+ @bond:ca-cp @atom:ca @atom:cp
+ @bond:ca-cq @atom:ca @atom:cq
+ @bond:ca-cx @atom:ca @atom:cx
+ @bond:ca-cy @atom:ca @atom:cy
+ @bond:ca-f @atom:ca @atom:f
+ @bond:ca-h4 @atom:ca @atom:h4
+ @bond:ca-h5 @atom:ca @atom:h5
+ @bond:ca-ha @atom:ca @atom:ha
+ @bond:ca-i @atom:ca @atom:i
+ @bond:ca-n1 @atom:ca @atom:n1
+ @bond:ca-n2 @atom:ca @atom:n2
+ @bond:ca-n @atom:ca @atom:n
+ @bond:ca-n4 @atom:ca @atom:n4
+ @bond:ca-na @atom:ca @atom:na
+ @bond:ca-nb @atom:ca @atom:nb
+ @bond:ca-nc @atom:ca @atom:nc
+ @bond:ca-nd @atom:ca @atom:nd
+ @bond:ca-ne @atom:ca @atom:ne
+ @bond:ca-nf @atom:ca @atom:nf
+ @bond:ca-nh @atom:ca @atom:nh
+ @bond:ca-no @atom:ca @atom:no
+ @bond:ca-o @atom:ca @atom:o
+ @bond:ca-oh @atom:ca @atom:oh
+ @bond:ca-os @atom:ca @atom:os
+ @bond:ca-p2 @atom:ca @atom:p2
+ @bond:ca-p3 @atom:ca @atom:p3
+ @bond:ca-p4 @atom:ca @atom:p4
+ @bond:ca-p5 @atom:ca @atom:p5
+ @bond:ca-pe @atom:ca @atom:pe
+ @bond:ca-pf @atom:ca @atom:pf
+ @bond:ca-px @atom:ca @atom:px
+ @bond:ca-py @atom:ca @atom:py
+ @bond:ca-s @atom:ca @atom:s
+ @bond:ca-s4 @atom:ca @atom:s4
+ @bond:ca-s6 @atom:ca @atom:s6
+ @bond:ca-sh @atom:ca @atom:sh
+ @bond:ca-ss @atom:ca @atom:ss
+ @bond:ca-sx @atom:ca @atom:sx
+ @bond:ca-sy @atom:ca @atom:sy
+ @bond:c-c1 @atom:c @atom:c1
+ @bond:c-c2 @atom:c @atom:c2
+ @bond:c-c @atom:c @atom:c
+ @bond:c-c3 @atom:c @atom:c3
+ @bond:c-ca @atom:c @atom:ca
+ @bond:c-cc @atom:c @atom:cc
+ @bond:cc-cc @atom:cc @atom:cc
+ @bond:cc-cd @atom:cc @atom:cd
+ @bond:cc-ce @atom:cc @atom:ce
+ @bond:cc-cf @atom:cc @atom:cf
+ @bond:cc-cg @atom:cc @atom:cg
+ @bond:cc-ch @atom:cc @atom:ch
+ @bond:cc-cl @atom:cc @atom:cl
+ @bond:cc-cx @atom:cc @atom:cx
+ @bond:c-cd @atom:c @atom:cd
+ @bond:c-ce @atom:c @atom:ce
+ @bond:c-cf @atom:c @atom:cf
+ @bond:cc-f @atom:cc @atom:f
+ @bond:c-cg @atom:c @atom:cg
+ @bond:c-ch @atom:c @atom:ch
+ @bond:cc-h4 @atom:cc @atom:h4
+ @bond:cc-h5 @atom:cc @atom:h5
+ @bond:cc-ha @atom:cc @atom:ha
+ @bond:c-cl @atom:c @atom:cl
+ @bond:cc-n2 @atom:cc @atom:n2
+ @bond:cc-n @atom:cc @atom:n
+ @bond:cc-n4 @atom:cc @atom:n4
+ @bond:cc-na @atom:cc @atom:na
+ @bond:cc-nc @atom:cc @atom:nc
+ @bond:cc-nd @atom:cc @atom:nd
+ @bond:cc-ne @atom:cc @atom:ne
+ @bond:cc-nf @atom:cc @atom:nf
+ @bond:cc-nh @atom:cc @atom:nh
+ @bond:cc-no @atom:cc @atom:no
+ @bond:cc-oh @atom:cc @atom:oh
+ @bond:cc-os @atom:cc @atom:os
+ @bond:cc-pd @atom:cc @atom:pd
+ @bond:cc-sh @atom:cc @atom:sh
+ @bond:cc-ss @atom:cc @atom:ss
+ @bond:cc-sx @atom:cc @atom:sx
+ @bond:cc-sy @atom:cc @atom:sy
+ @bond:c-cu @atom:c @atom:cu
+ @bond:c-cx @atom:c @atom:cx
+ @bond:c-cy @atom:c @atom:cy
+ @bond:cd-cd @atom:cd @atom:cd
+ @bond:cd-ce @atom:cd @atom:ce
+ @bond:cd-cf @atom:cd @atom:cf
+ @bond:cd-cg @atom:cd @atom:cg
+ @bond:cd-ch @atom:cd @atom:ch
+ @bond:cd-cl @atom:cd @atom:cl
+ @bond:cd-cx @atom:cd @atom:cx
+ @bond:cd-cy @atom:cd @atom:cy
+ @bond:cd-h4 @atom:cd @atom:h4
+ @bond:cd-h5 @atom:cd @atom:h5
+ @bond:cd-ha @atom:cd @atom:ha
+ @bond:cd-n2 @atom:cd @atom:n2
+ @bond:cd-n @atom:cd @atom:n
+ @bond:cd-na @atom:cd @atom:na
+ @bond:cd-nc @atom:cd @atom:nc
+ @bond:cd-nd @atom:cd @atom:nd
+ @bond:cd-ne @atom:cd @atom:ne
+ @bond:cd-nh @atom:cd @atom:nh
+ @bond:cd-oh @atom:cd @atom:oh
+ @bond:cd-os @atom:cd @atom:os
+ @bond:cd-pc @atom:cd @atom:pc
+ @bond:cd-ss @atom:cd @atom:ss
+ @bond:cd-sy @atom:cd @atom:sy
+ @bond:ce-ce @atom:ce @atom:ce
+ @bond:ce-cf @atom:ce @atom:cf
+ @bond:ce-cg @atom:ce @atom:cg
+ @bond:ce-ch @atom:ce @atom:ch
+ @bond:ce-cl @atom:ce @atom:cl
+ @bond:ce-cx @atom:ce @atom:cx
+ @bond:ce-cy @atom:ce @atom:cy
+ @bond:ce-h4 @atom:ce @atom:h4
+ @bond:ce-ha @atom:ce @atom:ha
+ @bond:ce-n1 @atom:ce @atom:n1
+ @bond:ce-n2 @atom:ce @atom:n2
+ @bond:ce-n @atom:ce @atom:n
+ @bond:ce-na @atom:ce @atom:na
+ @bond:ce-ne @atom:ce @atom:ne
+ @bond:ce-nf @atom:ce @atom:nf
+ @bond:ce-nh @atom:ce @atom:nh
+ @bond:ce-oh @atom:ce @atom:oh
+ @bond:ce-os @atom:ce @atom:os
+ @bond:ce-p2 @atom:ce @atom:p2
+ @bond:ce-pe @atom:ce @atom:pe
+ @bond:ce-px @atom:ce @atom:px
+ @bond:ce-py @atom:ce @atom:py
+ @bond:ce-s @atom:ce @atom:s
+ @bond:ce-ss @atom:ce @atom:ss
+ @bond:ce-sx @atom:ce @atom:sx
+ @bond:ce-sy @atom:ce @atom:sy
+ @bond:c-f @atom:c @atom:f
+ @bond:cf-cf @atom:cf @atom:cf
+ @bond:cf-cg @atom:cf @atom:cg
+ @bond:cf-ch @atom:cf @atom:ch
+ @bond:cf-h4 @atom:cf @atom:h4
+ @bond:cf-ha @atom:cf @atom:ha
+ @bond:cf-n1 @atom:cf @atom:n1
+ @bond:cf-n2 @atom:cf @atom:n2
+ @bond:cf-n @atom:cf @atom:n
+ @bond:cf-ne @atom:cf @atom:ne
+ @bond:cf-nf @atom:cf @atom:nf
+ @bond:cf-nh @atom:cf @atom:nh
+ @bond:cf-oh @atom:cf @atom:oh
+ @bond:cf-os @atom:cf @atom:os
+ @bond:cf-p2 @atom:cf @atom:p2
+ @bond:cf-pf @atom:cf @atom:pf
+ @bond:cf-px @atom:cf @atom:px
+ @bond:cf-py @atom:cf @atom:py
+ @bond:cf-s @atom:cf @atom:s
+ @bond:cf-sx @atom:cf @atom:sx
+ @bond:cf-sy @atom:cf @atom:sy
+ @bond:cg-cg @atom:cg @atom:cg
+ @bond:cg-ch @atom:cg @atom:ch
+ @bond:cg-n1 @atom:cg @atom:n1
+ @bond:cg-ne @atom:cg @atom:ne
+ @bond:cg-pe @atom:cg @atom:pe
+ @bond:c-h4 @atom:c @atom:h4
+ @bond:c-h5 @atom:c @atom:h5
+ @bond:c-ha @atom:c @atom:ha
+ @bond:ch-ch @atom:ch @atom:ch
+ @bond:ch-n1 @atom:ch @atom:n1
+ @bond:ch-nf @atom:ch @atom:nf
+ @bond:ch-pf @atom:ch @atom:pf
+ @bond:c-i @atom:c @atom:i
+ @bond:cl-cl @atom:cl @atom:cl
+ @bond:cl-cx @atom:cl @atom:cx
+ @bond:cl-cy @atom:cl @atom:cy
+ @bond:cl-f @atom:cl @atom:f
+ @bond:cl-i @atom:cl @atom:i
+ @bond:cl-n1 @atom:cl @atom:n1
+ @bond:cl-n2 @atom:cl @atom:n2
+ @bond:cl-n3 @atom:cl @atom:n3
+ @bond:cl-n @atom:cl @atom:n
+ @bond:cl-n4 @atom:cl @atom:n4
+ @bond:cl-na @atom:cl @atom:na
+ @bond:cl-nh @atom:cl @atom:nh
+ @bond:cl-no @atom:cl @atom:no
+ @bond:cl-o @atom:cl @atom:o
+ @bond:cl-oh @atom:cl @atom:oh
+ @bond:cl-os @atom:cl @atom:os
+ @bond:cl-p2 @atom:cl @atom:p2
+ @bond:cl-p3 @atom:cl @atom:p3
+ @bond:cl-p4 @atom:cl @atom:p4
+ @bond:cl-p5 @atom:cl @atom:p5
+ @bond:cl-pb @atom:cl @atom:pb
+ @bond:cl-s @atom:cl @atom:s
+ @bond:cl-s2 @atom:cl @atom:s2
+ @bond:cl-s4 @atom:cl @atom:s4
+ @bond:cl-s6 @atom:cl @atom:s6
+ @bond:cl-sh @atom:cl @atom:sh
+ @bond:cl-ss @atom:cl @atom:ss
+ @bond:cl-sx @atom:cl @atom:sx
+ @bond:cl-sy @atom:cl @atom:sy
+ @bond:c-n2 @atom:c @atom:n2
+ @bond:c-n4 @atom:c @atom:n4
+ @bond:c-n @atom:c @atom:n
+ @bond:c-nc @atom:c @atom:nc
+ @bond:c-nd @atom:c @atom:nd
+ @bond:c-ne @atom:c @atom:ne
+ @bond:c-nf @atom:c @atom:nf
+ @bond:c-no @atom:c @atom:no
+ @bond:c-o @atom:c @atom:o
+ @bond:c-oh @atom:c @atom:oh
+ @bond:c-os @atom:c @atom:os
+ @bond:c-p2 @atom:c @atom:p2
+ @bond:c-p3 @atom:c @atom:p3
+ @bond:c-p4 @atom:c @atom:p4
+ @bond:c-p5 @atom:c @atom:p5
+ @bond:cp-cp @atom:cp @atom:cp
+ @bond:cp-cq @atom:cp @atom:cq
+ @bond:c-pe @atom:c @atom:pe
+ @bond:c-pf @atom:c @atom:pf
+ @bond:cp-na @atom:cp @atom:na
+ @bond:cp-nb @atom:cp @atom:nb
+ @bond:c-px @atom:c @atom:px
+ @bond:c-py @atom:c @atom:py
+ @bond:cq-cq @atom:cq @atom:cq
+ @bond:c-s @atom:c @atom:s
+ @bond:c-s4 @atom:c @atom:s4
+ @bond:c-s6 @atom:c @atom:s6
+ @bond:c-sh @atom:c @atom:sh
+ @bond:c-ss @atom:c @atom:ss
+ @bond:c-sx @atom:c @atom:sx
+ @bond:c-sy @atom:c @atom:sy
+ @bond:cu-cu @atom:cu @atom:cu
+ @bond:cu-cx @atom:cu @atom:cx
+ @bond:cu-ha @atom:cu @atom:ha
+ @bond:cv-cv @atom:cv @atom:cv
+ @bond:cv-cy @atom:cv @atom:cy
+ @bond:cv-ha @atom:cv @atom:ha
+ @bond:cx-cv @atom:cx @atom:cv
+ @bond:cx-cx @atom:cx @atom:cx
+ @bond:cx-cy @atom:cx @atom:cy
+ @bond:cx-f @atom:cx @atom:f
+ @bond:cx-h1 @atom:cx @atom:h1
+ @bond:cx-h2 @atom:cx @atom:h2
+ @bond:cx-hc @atom:cx @atom:hc
+ @bond:cx-hx @atom:cx @atom:hx
+ @bond:cx-n2 @atom:cx @atom:n2
+ @bond:cx-n3 @atom:cx @atom:n3
+ @bond:cx-n @atom:cx @atom:n
+ @bond:cx-na @atom:cx @atom:na
+ @bond:cx-nh @atom:cx @atom:nh
+ @bond:cx-oh @atom:cx @atom:oh
+ @bond:cx-os @atom:cx @atom:os
+ @bond:cx-p3 @atom:cx @atom:p3
+ @bond:cx-s4 @atom:cx @atom:s4
+ @bond:cx-s6 @atom:cx @atom:s6
+ @bond:cx-ss @atom:cx @atom:ss
+ @bond:cy-cy @atom:cy @atom:cy
+ @bond:cy-f @atom:cy @atom:f
+ @bond:cy-h1 @atom:cy @atom:h1
+ @bond:cy-h2 @atom:cy @atom:h2
+ @bond:cy-hc @atom:cy @atom:hc
+ @bond:cy-n @atom:cy @atom:n
+ @bond:cy-n3 @atom:cy @atom:n3
+ @bond:cy-oh @atom:cy @atom:oh
+ @bond:cy-os @atom:cy @atom:os
+ @bond:cy-s6 @atom:cy @atom:s6
+ @bond:cy-ss @atom:cy @atom:ss
+ @bond:cz-nh @atom:cz @atom:nh
+ @bond:f-n1 @atom:f @atom:n1
+ @bond:f-n2 @atom:f @atom:n2
+ @bond:f-n3 @atom:f @atom:n3
+ @bond:f-n @atom:f @atom:n
+ @bond:f-n4 @atom:f @atom:n4
+ @bond:f-na @atom:f @atom:na
+ @bond:f-nh @atom:f @atom:nh
+ @bond:f-no @atom:f @atom:no
+ @bond:f-o @atom:f @atom:o
+ @bond:f-oh @atom:f @atom:oh
+ @bond:f-os @atom:f @atom:os
+ @bond:f-p2 @atom:f @atom:p2
+ @bond:f-p3 @atom:f @atom:p3
+ @bond:f-p4 @atom:f @atom:p4
+ @bond:f-p5 @atom:f @atom:p5
+ @bond:f-s2 @atom:f @atom:s2
+ @bond:f-s @atom:f @atom:s
+ @bond:f-s4 @atom:f @atom:s4
+ @bond:f-s6 @atom:f @atom:s6
+ @bond:f-sh @atom:f @atom:sh
+ @bond:f-ss @atom:f @atom:ss
+ @bond:hn-n1 @atom:hn @atom:n1
+ @bond:hn-n2 @atom:hn @atom:n2
+ @bond:hn-n3 @atom:hn @atom:n3
+ @bond:hn-n @atom:hn @atom:n
+ @bond:hn-n4 @atom:hn @atom:n4
+ @bond:hn-na @atom:hn @atom:na
+ @bond:hn-nh @atom:hn @atom:nh
+ @bond:hn-no @atom:hn @atom:no
+ @bond:ho-o @atom:ho @atom:o
+ @bond:ho-oh @atom:ho @atom:oh
+ @bond:hp-p2 @atom:hp @atom:p2
+ @bond:hp-p3 @atom:hp @atom:p3
+ @bond:hp-p4 @atom:hp @atom:p4
+ @bond:hp-p5 @atom:hp @atom:p5
+ @bond:hs-s @atom:hs @atom:s
+ @bond:hs-s4 @atom:hs @atom:s4
+ @bond:hs-s6 @atom:hs @atom:s6
+ @bond:hs-sh @atom:hs @atom:sh
+ @bond:i-i @atom:i @atom:i
+ @bond:i-n1 @atom:i @atom:n1
+ @bond:i-n2 @atom:i @atom:n2
+ @bond:i-n @atom:i @atom:n
+ @bond:i-n3 @atom:i @atom:n3
+ @bond:i-n4 @atom:i @atom:n4
+ @bond:i-na @atom:i @atom:na
+ @bond:i-nh @atom:i @atom:nh
+ @bond:i-no @atom:i @atom:no
+ @bond:i-o @atom:i @atom:o
+ @bond:i-oh @atom:i @atom:oh
+ @bond:i-os @atom:i @atom:os
+ @bond:i-p2 @atom:i @atom:p2
+ @bond:i-p3 @atom:i @atom:p3
+ @bond:i-p4 @atom:i @atom:p4
+ @bond:i-p5 @atom:i @atom:p5
+ @bond:i-s @atom:i @atom:s
+ @bond:i-s4 @atom:i @atom:s4
+ @bond:i-s6 @atom:i @atom:s6
+ @bond:i-sh @atom:i @atom:sh
+ @bond:i-ss @atom:i @atom:ss
+ @bond:n1-n1 @atom:n1 @atom:n1
+ @bond:n1-n2 @atom:n1 @atom:n2
+ @bond:n1-n3 @atom:n1 @atom:n3
+ @bond:n1-n4 @atom:n1 @atom:n4
+ @bond:n1-na @atom:n1 @atom:na
+ @bond:n1-nc @atom:n1 @atom:nc
+ @bond:n1-nd @atom:n1 @atom:nd
+ @bond:n1-ne @atom:n1 @atom:ne
+ @bond:n1-nf @atom:n1 @atom:nf
+ @bond:n1-nh @atom:n1 @atom:nh
+ @bond:n1-no @atom:n1 @atom:no
+ @bond:n1-o @atom:n1 @atom:o
+ @bond:n1-oh @atom:n1 @atom:oh
+ @bond:n1-os @atom:n1 @atom:os
+ @bond:n1-p2 @atom:n1 @atom:p2
+ @bond:n1-p3 @atom:n1 @atom:p3
+ @bond:n1-p4 @atom:n1 @atom:p4
+ @bond:n1-p5 @atom:n1 @atom:p5
+ @bond:n1-s2 @atom:n1 @atom:s2
+ @bond:n1-s @atom:n1 @atom:s
+ @bond:n1-s4 @atom:n1 @atom:s4
+ @bond:n1-s6 @atom:n1 @atom:s6
+ @bond:n1-sh @atom:n1 @atom:sh
+ @bond:n1-ss @atom:n1 @atom:ss
+ @bond:n2-n2 @atom:n2 @atom:n2
+ @bond:n2-n3 @atom:n2 @atom:n3
+ @bond:n2-n4 @atom:n2 @atom:n4
+ @bond:n2-na @atom:n2 @atom:na
+ @bond:n2-nc @atom:n2 @atom:nc
+ @bond:n2-nd @atom:n2 @atom:nd
+ @bond:n2-ne @atom:n2 @atom:ne
+ @bond:n2-nf @atom:n2 @atom:nf
+ @bond:n2-nh @atom:n2 @atom:nh
+ @bond:n2-no @atom:n2 @atom:no
+ @bond:n2-o @atom:n2 @atom:o
+ @bond:n2-oh @atom:n2 @atom:oh
+ @bond:n2-os @atom:n2 @atom:os
+ @bond:n2-p2 @atom:n2 @atom:p2
+ @bond:n2-p3 @atom:n2 @atom:p3
+ @bond:n2-p4 @atom:n2 @atom:p4
+ @bond:n2-p5 @atom:n2 @atom:p5
+ @bond:n2-pe @atom:n2 @atom:pe
+ @bond:n2-pf @atom:n2 @atom:pf
+ @bond:n2-s2 @atom:n2 @atom:s2
+ @bond:n2-s4 @atom:n2 @atom:s4
+ @bond:n2-s @atom:n2 @atom:s
+ @bond:n2-s6 @atom:n2 @atom:s6
+ @bond:n2-sh @atom:n2 @atom:sh
+ @bond:n2-ss @atom:n2 @atom:ss
+ @bond:n3-n3 @atom:n3 @atom:n3
+ @bond:n3-n4 @atom:n3 @atom:n4
+ @bond:n3-na @atom:n3 @atom:na
+ @bond:n3-nh @atom:n3 @atom:nh
+ @bond:n3-no @atom:n3 @atom:no
+ @bond:n3-o @atom:n3 @atom:o
+ @bond:n3-oh @atom:n3 @atom:oh
+ @bond:n3-os @atom:n3 @atom:os
+ @bond:n3-p2 @atom:n3 @atom:p2
+ @bond:n3-p3 @atom:n3 @atom:p3
+ @bond:n3-p4 @atom:n3 @atom:p4
+ @bond:n3-p5 @atom:n3 @atom:p5
+ @bond:n3-py @atom:n3 @atom:py
+ @bond:n3-s @atom:n3 @atom:s
+ @bond:n3-s4 @atom:n3 @atom:s4
+ @bond:n3-s6 @atom:n3 @atom:s6
+ @bond:n3-sh @atom:n3 @atom:sh
+ @bond:n3-ss @atom:n3 @atom:ss
+ @bond:n3-sy @atom:n3 @atom:sy
+ @bond:n4-n4 @atom:n4 @atom:n4
+ @bond:n4-na @atom:n4 @atom:na
+ @bond:n4-nh @atom:n4 @atom:nh
+ @bond:n4-no @atom:n4 @atom:no
+ @bond:n4-o @atom:n4 @atom:o
+ @bond:n4-oh @atom:n4 @atom:oh
+ @bond:n4-os @atom:n4 @atom:os
+ @bond:n4-p2 @atom:n4 @atom:p2
+ @bond:n4-p3 @atom:n4 @atom:p3
+ @bond:n4-p4 @atom:n4 @atom:p4
+ @bond:n4-p5 @atom:n4 @atom:p5
+ @bond:n4-py @atom:n4 @atom:py
+ @bond:n4-s @atom:n4 @atom:s
+ @bond:n4-s4 @atom:n4 @atom:s4
+ @bond:n4-s6 @atom:n4 @atom:s6
+ @bond:n4-sh @atom:n4 @atom:sh
+ @bond:n4-ss @atom:n4 @atom:ss
+ @bond:na-na @atom:na @atom:na
+ @bond:na-nb @atom:na @atom:nb
+ @bond:na-nc @atom:na @atom:nc
+ @bond:na-nd @atom:na @atom:nd
+ @bond:na-nh @atom:na @atom:nh
+ @bond:na-no @atom:na @atom:no
+ @bond:na-o @atom:na @atom:o
+ @bond:na-oh @atom:na @atom:oh
+ @bond:na-os @atom:na @atom:os
+ @bond:na-p2 @atom:na @atom:p2
+ @bond:na-p3 @atom:na @atom:p3
+ @bond:na-p4 @atom:na @atom:p4
+ @bond:na-p5 @atom:na @atom:p5
+ @bond:na-pc @atom:na @atom:pc
+ @bond:na-pd @atom:na @atom:pd
+ @bond:na-py @atom:na @atom:py
+ @bond:na-s @atom:na @atom:s
+ @bond:na-s4 @atom:na @atom:s4
+ @bond:na-s6 @atom:na @atom:s6
+ @bond:na-sh @atom:na @atom:sh
+ @bond:na-ss @atom:na @atom:ss
+ @bond:na-sy @atom:na @atom:sy
+ @bond:nb-nb @atom:nb @atom:nb
+ @bond:nb-pb @atom:nb @atom:pb
+ @bond:nc-nc @atom:nc @atom:nc
+ @bond:nc-nd @atom:nc @atom:nd
+ @bond:nc-os @atom:nc @atom:os
+ @bond:nc-ss @atom:nc @atom:ss
+ @bond:nc-sy @atom:nc @atom:sy
+ @bond:nd-nd @atom:nd @atom:nd
+ @bond:nd-os @atom:nd @atom:os
+ @bond:nd-ss @atom:nd @atom:ss
+ @bond:nd-sy @atom:nd @atom:sy
+ @bond:ne-ne @atom:ne @atom:ne
+ @bond:ne-nf @atom:ne @atom:nf
+ @bond:ne-o @atom:ne @atom:o
+ @bond:ne-p2 @atom:ne @atom:p2
+ @bond:ne-pe @atom:ne @atom:pe
+ @bond:ne-px @atom:ne @atom:px
+ @bond:ne-py @atom:ne @atom:py
+ @bond:ne-s @atom:ne @atom:s
+ @bond:ne-sx @atom:ne @atom:sx
+ @bond:ne-sy @atom:ne @atom:sy
+ @bond:nf-nf @atom:nf @atom:nf
+ @bond:nf-o @atom:nf @atom:o
+ @bond:nf-p2 @atom:nf @atom:p2
+ @bond:nf-pf @atom:nf @atom:pf
+ @bond:nf-px @atom:nf @atom:px
+ @bond:nf-py @atom:nf @atom:py
+ @bond:nf-s @atom:nf @atom:s
+ @bond:nf-sx @atom:nf @atom:sx
+ @bond:nf-sy @atom:nf @atom:sy
+ @bond:nh-nh @atom:nh @atom:nh
+ @bond:nh-no @atom:nh @atom:no
+ @bond:nh-o @atom:nh @atom:o
+ @bond:nh-oh @atom:nh @atom:oh
+ @bond:nh-os @atom:nh @atom:os
+ @bond:nh-p2 @atom:nh @atom:p2
+ @bond:nh-p3 @atom:nh @atom:p3
+ @bond:nh-p4 @atom:nh @atom:p4
+ @bond:nh-p5 @atom:nh @atom:p5
+ @bond:nh-s @atom:nh @atom:s
+ @bond:nh-s4 @atom:nh @atom:s4
+ @bond:nh-s6 @atom:nh @atom:s6
+ @bond:nh-sh @atom:nh @atom:sh
+ @bond:nh-ss @atom:nh @atom:ss
+ @bond:nh-sy @atom:nh @atom:sy
+ @bond:n-n1 @atom:n @atom:n1
+ @bond:n-n2 @atom:n @atom:n2
+ @bond:n-n3 @atom:n @atom:n3
+ @bond:n-n4 @atom:n @atom:n4
+ @bond:n-n @atom:n @atom:n
+ @bond:n-na @atom:n @atom:na
+ @bond:n-nc @atom:n @atom:nc
+ @bond:n-nd @atom:n @atom:nd
+ @bond:n-nh @atom:n @atom:nh
+ @bond:n-no @atom:n @atom:no
+ @bond:n-o @atom:n @atom:o
+ @bond:n-oh @atom:n @atom:oh
+ @bond:no-no @atom:no @atom:no
+ @bond:no-o @atom:no @atom:o
+ @bond:no-oh @atom:no @atom:oh
+ @bond:no-os @atom:no @atom:os
+ @bond:no-p2 @atom:no @atom:p2
+ @bond:no-p3 @atom:no @atom:p3
+ @bond:no-p4 @atom:no @atom:p4
+ @bond:no-p5 @atom:no @atom:p5
+ @bond:no-s @atom:no @atom:s
+ @bond:n-os @atom:n @atom:os
+ @bond:no-s4 @atom:no @atom:s4
+ @bond:no-s6 @atom:no @atom:s6
+ @bond:no-sh @atom:no @atom:sh
+ @bond:no-ss @atom:no @atom:ss
+ @bond:n-p2 @atom:n @atom:p2
+ @bond:n-p3 @atom:n @atom:p3
+ @bond:n-p4 @atom:n @atom:p4
+ @bond:n-p5 @atom:n @atom:p5
+ @bond:n-pc @atom:n @atom:pc
+ @bond:n-pd @atom:n @atom:pd
+ @bond:n-s @atom:n @atom:s
+ @bond:n-s4 @atom:n @atom:s4
+ @bond:n-s6 @atom:n @atom:s6
+ @bond:n-sh @atom:n @atom:sh
+ @bond:n-ss @atom:n @atom:ss
+ @bond:n-sy @atom:n @atom:sy
+ @bond:oh-oh @atom:oh @atom:oh
+ @bond:oh-os @atom:oh @atom:os
+ @bond:oh-p2 @atom:oh @atom:p2
+ @bond:oh-p3 @atom:oh @atom:p3
+ @bond:oh-p4 @atom:oh @atom:p4
+ @bond:oh-p5 @atom:oh @atom:p5
+ @bond:oh-py @atom:oh @atom:py
+ @bond:oh-s @atom:oh @atom:s
+ @bond:oh-s4 @atom:oh @atom:s4
+ @bond:oh-s6 @atom:oh @atom:s6
+ @bond:oh-sh @atom:oh @atom:sh
+ @bond:oh-ss @atom:oh @atom:ss
+ @bond:oh-sy @atom:oh @atom:sy
+ @bond:o-o @atom:o @atom:o
+ @bond:o-oh @atom:o @atom:oh
+ @bond:o-os @atom:o @atom:os
+ @bond:o-p2 @atom:o @atom:p2
+ @bond:o-p3 @atom:o @atom:p3
+ @bond:o-p4 @atom:o @atom:p4
+ @bond:o-p5 @atom:o @atom:p5
+ @bond:o-pe @atom:o @atom:pe
+ @bond:o-pf @atom:o @atom:pf
+ @bond:o-px @atom:o @atom:px
+ @bond:o-py @atom:o @atom:py
+ @bond:o-s @atom:o @atom:s
+ @bond:o-s2 @atom:o @atom:s2
+ @bond:o-s4 @atom:o @atom:s4
+ @bond:o-s6 @atom:o @atom:s6
+ @bond:o-sh @atom:o @atom:sh
+ @bond:os-os @atom:os @atom:os
+ @bond:os-p2 @atom:os @atom:p2
+ @bond:os-p3 @atom:os @atom:p3
+ @bond:os-p4 @atom:os @atom:p4
+ @bond:os-p5 @atom:os @atom:p5
+ @bond:os-py @atom:os @atom:py
+ @bond:os-s @atom:os @atom:s
+ @bond:o-ss @atom:o @atom:ss
+ @bond:os-s4 @atom:os @atom:s4
+ @bond:os-s6 @atom:os @atom:s6
+ @bond:os-sh @atom:os @atom:sh
+ @bond:os-ss @atom:os @atom:ss
+ @bond:os-sy @atom:os @atom:sy
+ @bond:o-sx @atom:o @atom:sx
+ @bond:o-sy @atom:o @atom:sy
+ @bond:p2-p2 @atom:p2 @atom:p2
+ @bond:p2-p3 @atom:p2 @atom:p3
+ @bond:p2-p4 @atom:p2 @atom:p4
+ @bond:p2-p5 @atom:p2 @atom:p5
+ @bond:p2-pe @atom:p2 @atom:pe
+ @bond:p2-pf @atom:p2 @atom:pf
+ @bond:p2-s @atom:p2 @atom:s
+ @bond:p2-s4 @atom:p2 @atom:s4
+ @bond:p2-s6 @atom:p2 @atom:s6
+ @bond:p2-sh @atom:p2 @atom:sh
+ @bond:p2-ss @atom:p2 @atom:ss
+ @bond:p3-p3 @atom:p3 @atom:p3
+ @bond:p3-p4 @atom:p3 @atom:p4
+ @bond:p3-p5 @atom:p3 @atom:p5
+ @bond:p3-s @atom:p3 @atom:s
+ @bond:p3-s4 @atom:p3 @atom:s4
+ @bond:p3-s6 @atom:p3 @atom:s6
+ @bond:p3-sh @atom:p3 @atom:sh
+ @bond:p3-ss @atom:p3 @atom:ss
+ @bond:p4-p4 @atom:p4 @atom:p4
+ @bond:p4-p5 @atom:p4 @atom:p5
+ @bond:p4-s @atom:p4 @atom:s
+ @bond:p4-s4 @atom:p4 @atom:s4
+ @bond:p4-s6 @atom:p4 @atom:s6
+ @bond:p4-sh @atom:p4 @atom:sh
+ @bond:p4-ss @atom:p4 @atom:ss
+ @bond:p5-p5 @atom:p5 @atom:p5
+ @bond:p5-s @atom:p5 @atom:s
+ @bond:p5-s4 @atom:p5 @atom:s4
+ @bond:p5-s6 @atom:p5 @atom:s6
+ @bond:p5-sh @atom:p5 @atom:sh
+ @bond:p5-ss @atom:p5 @atom:ss
+ @bond:pe-pe @atom:pe @atom:pe
+ @bond:pe-pf @atom:pe @atom:pf
+ @bond:pe-px @atom:pe @atom:px
+ @bond:pe-py @atom:pe @atom:py
+ @bond:pe-s @atom:pe @atom:s
+ @bond:pe-sx @atom:pe @atom:sx
+ @bond:pe-sy @atom:pe @atom:sy
+ @bond:pf-pf @atom:pf @atom:pf
+ @bond:pf-px @atom:pf @atom:px
+ @bond:pf-py @atom:pf @atom:py
+ @bond:pf-s @atom:pf @atom:s
+ @bond:pf-sx @atom:pf @atom:sx
+ @bond:pf-sy @atom:pf @atom:sy
+ @bond:px-py @atom:px @atom:py
+ @bond:px-sx @atom:px @atom:sx
+ @bond:px-sy @atom:px @atom:sy
+ @bond:py-py @atom:py @atom:py
+ @bond:py-sx @atom:py @atom:sx
+ @bond:py-sy @atom:py @atom:sy
+ @bond:s4-s4 @atom:s4 @atom:s4
+ @bond:s4-s6 @atom:s4 @atom:s6
+ @bond:s4-sh @atom:s4 @atom:sh
+ @bond:s4-ss @atom:s4 @atom:ss
+ @bond:s6-s6 @atom:s6 @atom:s6
+ @bond:s6-sh @atom:s6 @atom:sh
+ @bond:s6-ss @atom:s6 @atom:ss
+ @bond:sh-sh @atom:sh @atom:sh
+ @bond:sh-ss @atom:sh @atom:ss
+ @bond:s-s @atom:s @atom:s
+ @bond:s-s2 @atom:s @atom:s2
+ @bond:s-s4 @atom:s @atom:s4
+ @bond:s-s6 @atom:s @atom:s6
+ @bond:s-sh @atom:s @atom:sh
+ @bond:s-ss @atom:s @atom:ss
+ @bond:ss-ss @atom:ss @atom:ss
+ @bond:sx-sx @atom:sx @atom:sx
+ @bond:sx-sy @atom:sx @atom:sy
+ @bond:sy-sy @atom:sy @atom:sy
+ @bond:br-cd @atom:br @atom:cd
+ @bond:c1-cf @atom:c1 @atom:cf
+ @bond:cd-f @atom:cd @atom:f
+ @bond:cd-n4 @atom:cd @atom:n4
+ @bond:cd-nf @atom:cd @atom:nf
+ @bond:cd-no @atom:cd @atom:no
+ @bond:cd-sh @atom:cd @atom:sh
+ @bond:cd-sx @atom:cd @atom:sx
+ @bond:cc-cy @atom:cc @atom:cy
+ @bond:cf-cl @atom:cf @atom:cl
+ @bond:cf-cx @atom:cf @atom:cx
+ @bond:cf-cy @atom:cf @atom:cy
+ @bond:cf-na @atom:cf @atom:na
+ @bond:cf-ss @atom:cf @atom:ss
+ @bond:cq-na @atom:cq @atom:na
+ @bond:cq-nb @atom:cq @atom:nb
+ } # (end of Bonds By Type)
+
+ write_once("In Settings") {
+ angle_coeff @angle:hw-ow-hw harmonic 100.00 104.52 # AMBER 1 TIP3P_water
+ angle_coeff @angle:hw-hw-ow harmonic 0.00 127.74 # AMBER 1 (found_in_crystallographic_water_with_3_bonds)
+ angle_coeff @angle:br-c1-br harmonic 57.76 180.00 # Guess 0
+ angle_coeff @angle:br-c1-c1 harmonic 54.93 180.00 # SOURCE3 1 0.0000
+ angle_coeff @angle:c1-c1-c1 harmonic 64.41 180.00 # SOURCE3 1 0.0000
+ angle_coeff @angle:c1-c1-c2 harmonic 60.84 180.00 # SOURCE3 2 0.0000
+ angle_coeff @angle:c1-c1-c3 harmonic 56.28 178.46 # SOURCE4 188 0.6631
+ angle_coeff @angle:c1-c1-ca harmonic 56.92 180.00 # SOURCE3 1
+ angle_coeff @angle:c1-c1-cl harmonic 51.40 180.00 # SOURCE3 1
+ angle_coeff @angle:c1-c1-f harmonic 61.02 180.00 # SOURCE3 1
+ angle_coeff @angle:c1-c1-ha harmonic 44.84 178.38 # SOURCE3 41 2.0683
+ angle_coeff @angle:c1-c1-hc harmonic 44.73 180.00 # SOURCE3 1
+ angle_coeff @angle:c1-c1-i harmonic 49.80 180.00 # SOURCE3 1 0.0000
+ angle_coeff @angle:c1-c1-n1 harmonic 67.17 180.00 # SOURCE3 1
+ angle_coeff @angle:c1-c1-n2 harmonic 65.17 180.00 # SOURCE3 1
+ angle_coeff @angle:c1-c1-n3 harmonic 59.77 180.00 # SOURCE3 1
+ angle_coeff @angle:c1-c1-n4 harmonic 59.09 179.56 # SOURCE3 3 0.3096
+ angle_coeff @angle:c1-c1-n harmonic 62.13 177.18 # SOURCE3 1 0.0000
+ angle_coeff @angle:c1-c1-na harmonic 61.23 176.75 # SOURCE3 8 2.9328
+ angle_coeff @angle:c1-c1-nh harmonic 61.44 179.27 # SOURCE3 3 0.2357
+ angle_coeff @angle:c1-c1-no harmonic 59.38 180.00 # SOURCE3 3 0.0000
+ angle_coeff @angle:c1-c1-o harmonic 66.79 180.00 # SOURCE3 1 0.0000
+ angle_coeff @angle:c1-c1-oh harmonic 62.70 176.65 # SOURCE3 1 0.0000
+ angle_coeff @angle:c1-c1-os harmonic 62.77 176.42 # SOURCE3 2 0.0000
+ angle_coeff @angle:c1-c1-p2 harmonic 65.19 180.00 # SOURCE3 1
+ angle_coeff @angle:c1-c1-p3 harmonic 66.41 169.63 # SOURCE3 2 0.0000
+ angle_coeff @angle:c1-c1-p4 harmonic 64.47 180.00 # SOURCE3 1
+ angle_coeff @angle:c1-c1-p5 harmonic 66.52 176.17 # SOURCE3 2 0.0000
+ angle_coeff @angle:c1-c1-s4 harmonic 54.12 167.47 # SOURCE3 2 0.0000
+ angle_coeff @angle:c1-c1-s6 harmonic 53.74 174.38 # SOURCE3 2 0.0000
+ angle_coeff @angle:c1-c1-s harmonic 55.65 179.97 # SOURCE3 1 0.0000
+ angle_coeff @angle:c1-c1-sh harmonic 54.14 180.00 # SOURCE3 1
+ angle_coeff @angle:c1-c1-ss harmonic 55.22 173.22 # SOURCE3 2 0.0000
+ angle_coeff @angle:c2-c1-c2 harmonic 58.20 180.00 # SOURCE3 1 0.0000
+ angle_coeff @angle:c2-c1-ce harmonic 58.18 179.01 # SOURCE4 6 0.4656
+ angle_coeff @angle:c2-c1-n1 harmonic 63.14 180.00 # HF/6-31G* 1
+ angle_coeff @angle:c2-c1-o harmonic 63.07 179.50 # SOURCE2 1 0.0000
+ angle_coeff @angle:c2-c1-s2 harmonic 56.73 172.98 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-c1-c3 harmonic 51.75 180.00 # Guess 0
+ angle_coeff @angle:c3-c1-cg harmonic 55.79 178.52 # SOURCE4 39 0.5063
+ angle_coeff @angle:c3-c1-n1 harmonic 58.10 178.50 # SOURCE4 77 0.5443
+ angle_coeff @angle:ca-c1-ca harmonic 52.83 180.00 # Guess 0
+ angle_coeff @angle:c-c1-c1 harmonic 56.33 180.00 # SOURCE3 1
+ angle_coeff @angle:cg-c1-ha harmonic 43.98 177.41 # SOURCE3 22 2.4947
+ angle_coeff @angle:ch-c1-ha harmonic 43.98 177.41 # SOURCE3 22 same_as_cg-c1-ha
+ angle_coeff @angle:cl-c1-cl harmonic 46.64 180.00 # Guess 0
+ angle_coeff @angle:f-c1-f harmonic 58.19 180.00 # Guess 0
+ angle_coeff @angle:i-c1-i harmonic 53.41 180.00 # Guess 0
+ angle_coeff @angle:n1-c1-n1 harmonic 93.20 102.01 # SOURCE3 1
+ angle_coeff @angle:n1-c1-n3 harmonic 63.71 169.70 # SOURCE2 1 0.0000
+ angle_coeff @angle:n1-c1-nh harmonic 64.02 177.43 # SOURCE4 7 0.7877
+ angle_coeff @angle:n1-c1-os harmonic 64.72 178.59 # SOURCE3 1 0.0000
+ angle_coeff @angle:n1-c1-p3 harmonic 67.69 171.20 # SOURCE2 1 0.0000
+ angle_coeff @angle:n1-c1-ss harmonic 55.82 178.68 # SOURCE3 1 0.0000
+ angle_coeff @angle:n2-c1-n2 harmonic 65.99 180.00 # Guess 0
+ angle_coeff @angle:n2-c1-o harmonic 69.15 171.79 # SOURCE3 2 0.3594
+ angle_coeff @angle:n2-c1-s harmonic 57.48 176.01 # SOURCE4 9 0.1123
+ angle_coeff @angle:n3-c1-n3 harmonic 57.36 180.00 # Guess 0
+ angle_coeff @angle:n4-c1-n4 harmonic 56.35 180.00 # Guess 0
+ angle_coeff @angle:na-c1-na harmonic 58.62 180.00 # Guess 0
+ angle_coeff @angle:ne-c1-o harmonic 69.39 172.33 # SOURCE3 1 0.0000
+ angle_coeff @angle:ne-c1-s harmonic 57.59 175.81 # SOURCE4 8 0.2356
+ angle_coeff @angle:nf-c1-o harmonic 69.39 172.33 # SOURCE3 1 same_as_ne-c1-o
+ angle_coeff @angle:nh-c1-nh harmonic 59.55 180.00 # Guess 0
+ angle_coeff @angle:n-c1-n harmonic 60.03 180.00 # Guess 0
+ angle_coeff @angle:no-c1-no harmonic 56.83 180.00 # Guess 0
+ angle_coeff @angle:oh-c1-oh harmonic 60.91 180.00 # Guess 0
+ angle_coeff @angle:o-c1-o harmonic 69.27 180.00 # Guess 0
+ angle_coeff @angle:os-c1-os harmonic 60.96 180.00 # Guess 0
+ angle_coeff @angle:p2-c1-p2 harmonic 80.59 180.00 # Guess 0
+ angle_coeff @angle:p3-c1-p3 harmonic 79.69 180.00 # Guess 0
+ angle_coeff @angle:p4-c1-p4 harmonic 79.69 180.00 # Guess 0
+ angle_coeff @angle:p5-c1-p5 harmonic 81.37 180.00 # Guess 0
+ angle_coeff @angle:s2-c1-s2 harmonic 55.83 180.00 # Guess 0
+ angle_coeff @angle:s4-c1-s4 harmonic 51.00 180.00 # Guess 0
+ angle_coeff @angle:s6-c1-s6 harmonic 51.72 180.00 # Guess 0
+ angle_coeff @angle:sh-c1-sh harmonic 53.01 180.00 # Guess 0
+ angle_coeff @angle:s-c1-s harmonic 54.63 180.00 # Guess 0
+ angle_coeff @angle:ss-c1-ss harmonic 53.04 180.00 # Guess 0
+ angle_coeff @angle:br-c2-br harmonic 68.56 115.06 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-c2-c2 harmonic 63.97 118.96 # SOURCE4 6 0.4902
+ angle_coeff @angle:br-c2-c3 harmonic 63.71 115.33 # SOURCE4 6 0.5872
+ angle_coeff @angle:br-c2-ce harmonic 63.21 121.59 # SOURCE4 7 0.7078
+ angle_coeff @angle:br-c2-h4 harmonic 43.04 113.94 # SOURCE4 6 0.4017
+ angle_coeff @angle:br-c2-ha harmonic 43.18 113.28 # SOURCE3 1 0.0000
+ angle_coeff @angle:c1-c2-c1 harmonic 72.26 116.77 # SOURCE3 1
+ angle_coeff @angle:c1-c2-c2 harmonic 70.34 121.62 # SOURCE3 1
+ angle_coeff @angle:c1-c2-c3 harmonic 64.22 124.92 # SOURCE4 17 0.7576
+ angle_coeff @angle:c1-c2-f harmonic 67.99 124.90 # SOURCE2 1 0.0000
+ angle_coeff @angle:c1-c2-ha harmonic 50.43 121.37 # SOURCE3 8 0.0055
+ angle_coeff @angle:c2-c2-c2 harmonic 69.84 121.81 # SOURCE3 10 0.3843
+ angle_coeff @angle:c2-c2-c3 harmonic 64.33 123.42 # SOURCE3 41 2.6057
+ angle_coeff @angle:c2-c2-ca harmonic 66.88 117.00 # SOURCE3 1
+ angle_coeff @angle:c2-c2-cc harmonic 70.22 117.21 # SOURCE3 2 0.3418
+ angle_coeff @angle:c2-c2-cd harmonic 70.22 117.21 # SOURCE3 2 same_as_c2-c2-cc
+ angle_coeff @angle:c2-c2-cl harmonic 58.43 122.85 # SOURCE4 23 0.6711
+ angle_coeff @angle:c2-c2-cx harmonic 64.50 125.40 # SOURCE4 12 1.8494
+ angle_coeff @angle:c2-c2-cy harmonic 70.42 103.30 # SOURCE2 1 0.0000
+ angle_coeff @angle:c2-c2-f harmonic 68.11 122.92 # SOURCE4 12 0.5301
+ angle_coeff @angle:c2-c2-h4 harmonic 49.75 122.54 # SOURCE4 69 1.1900
+ angle_coeff @angle:c2-c2-ha harmonic 50.04 120.94 # SOURCE3 254 1.3150
+ angle_coeff @angle:c2-c2-hc harmonic 50.30 119.70 # SOURCE3 1
+ angle_coeff @angle:c2-c2-hx harmonic 48.98 126.45 # SOURCE3 3 0.0219
+ angle_coeff @angle:c2-c2-i harmonic 56.28 121.03 # SOURCE3 2 0.0000
+ angle_coeff @angle:c2-c2-n1 harmonic 71.69 122.98 # HF/6-31G* 1
+ angle_coeff @angle:c2-c2-n2 harmonic 71.29 126.01 # SOURCE3 1 0.0000
+ angle_coeff @angle:c2-c2-n3 harmonic 70.33 124.55 # SOURCE3 1
+ angle_coeff @angle:c2-c2-n4 harmonic 67.18 121.52 # SOURCE3 5 1.2656
+ angle_coeff @angle:c2-c2-n harmonic 68.86 123.20 # SOURCE4 15 1.8657
+ angle_coeff @angle:c2-c2-na harmonic 69.83 121.38 # SOURCE3 26 6.9463
+ angle_coeff @angle:c2-c2-nh harmonic 69.80 124.99 # SOURCE3 7 0.9929
+ angle_coeff @angle:c2-c2-no harmonic 67.52 124.09 # SOURCE4 6 1.2772
+ angle_coeff @angle:c2-c2-o harmonic 71.92 130.89 # SOURCE3 2 0.0201
+ angle_coeff @angle:c2-c2-oh harmonic 71.64 122.07 # SOURCE4 6 1.0883
+ angle_coeff @angle:c2-c2-os harmonic 71.04 121.89 # SOURCE4 33 1.3457
+ angle_coeff @angle:c2-c2-p2 harmonic 84.73 115.10 # SOURCE3 1
+ angle_coeff @angle:c2-c2-p3 harmonic 75.19 124.83 # SOURCE3 5 2.1222
+ angle_coeff @angle:c2-c2-p4 harmonic 77.22 119.76 # SOURCE3 1
+ angle_coeff @angle:c2-c2-p5 harmonic 73.70 125.97 # SOURCE3 1
+ angle_coeff @angle:c2-c2-s4 harmonic 62.85 119.84 # SOURCE3 1
+ angle_coeff @angle:c2-c2-s6 harmonic 62.81 120.01 # SOURCE3 1
+ angle_coeff @angle:c2-c2-s harmonic 61.25 129.37 # SOURCE3 2 0.0000
+ angle_coeff @angle:c2-c2-sh harmonic 60.87 125.70 # SOURCE3 3 1.3390
+ angle_coeff @angle:c2-c2-ss harmonic 62.79 122.86 # SOURCE4 13 1.7467
+ angle_coeff @angle:c3-c2-c3 harmonic 62.70 116.52 # SOURCE3 15 3.1001
+ angle_coeff @angle:c3-c2-cc harmonic 63.22 125.39 # CORR 27
+ angle_coeff @angle:c3-c2-cd harmonic 63.22 125.39 # CORR 27
+ angle_coeff @angle:c3-c2-ce harmonic 64.17 123.08 # CORR 1288
+ angle_coeff @angle:c3-c2-cf harmonic 64.17 123.08 # CORR 1288
+ angle_coeff @angle:c3-c2-h4 harmonic 45.30 119.25 # SOURCE4 22 2.1707
+ angle_coeff @angle:c3-c2-ha harmonic 45.66 117.30 # SOURCE3 33 1.7453
+ angle_coeff @angle:c3-c2-hc harmonic 45.15 120.00 # SOURCE3 1
+ angle_coeff @angle:c3-c2-n2 harmonic 66.47 123.52 # SOURCE4 141 2.2935
+ angle_coeff @angle:c3-c2-n harmonic 66.79 114.80 # SOURCE4 12 1.8112
+ angle_coeff @angle:c3-c2-na harmonic 64.95 122.54 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-c2-ne harmonic 66.96 122.15 # SOURCE3 4 0.2197
+ angle_coeff @angle:c3-c2-nf harmonic 66.96 122.15 # SOURCE3 4 same_as_c3-c2-ne
+ angle_coeff @angle:c3-c2-nh harmonic 66.69 118.59 # SOURCE3 6 2.2622
+ angle_coeff @angle:c3-c2-o harmonic 67.88 123.18 # SOURCE4 5 0.9226
+ angle_coeff @angle:c3-c2-oh harmonic 68.50 115.04 # SOURCE4 36 2.0110
+ angle_coeff @angle:c3-c2-os harmonic 68.77 112.69 # SOURCE4 50 2.4254
+ angle_coeff @angle:c3-c2-p2 harmonic 78.98 122.74 # SOURCE3 2 0.0000
+ angle_coeff @angle:c3-c2-s harmonic 62.79 115.44 # SOURCE3 2 0.0115
+ angle_coeff @angle:c3-c2-ss harmonic 61.62 119.66 # SOURCE4 45 1.9732
+ angle_coeff @angle:ca-c2-ca harmonic 63.51 117.88 # SOURCE3 1
+ angle_coeff @angle:ca-c2-hc harmonic 45.28 123.30 # SOURCE3 1
+ angle_coeff @angle:c-c2-c2 harmonic 67.93 120.70 # SOURCE3 1
+ angle_coeff @angle:c-c2-c3 harmonic 63.87 119.70 # SOURCE3 1
+ angle_coeff @angle:c-c2-c harmonic 66.57 118.88 # SOURCE3 1
+ angle_coeff @angle:cc-c2-h4 harmonic 49.19 120.33 # SOURCE4 7 0.0865
+ angle_coeff @angle:cc-c2-ha harmonic 49.07 120.76 # SOURCE3 11 1.4155
+ angle_coeff @angle:cc-c2-nh harmonic 69.46 122.96 # SOURCE4 10 0.7347
+ angle_coeff @angle:cc-c2-o harmonic 72.80 123.59 # SOURCE4 6 0.0560
+ angle_coeff @angle:cd-c2-ha harmonic 49.07 120.76 # SOURCE3 11 1.4155
+ angle_coeff @angle:ce-c2-cl harmonic 58.06 123.90 # SOURCE4 11 0.3570
+ angle_coeff @angle:ce-c2-h4 harmonic 49.38 122.29 # SOURCE4 75 1.4008
+ angle_coeff @angle:ce-c2-ha harmonic 49.57 121.19 # SOURCE3 122 0.5318
+ angle_coeff @angle:ce-c2-na harmonic 68.82 123.71 # SOURCE4 6 2.0109
+ angle_coeff @angle:ce-c2-nh harmonic 70.64 120.72 # SOURCE4 93 2.2537
+ angle_coeff @angle:ce-c2-no harmonic 68.45 119.65 # SOURCE4 5 0.9817
+ angle_coeff @angle:ce-c2-o harmonic 73.66 123.08 # SOURCE4 5 0.2391
+ angle_coeff @angle:ce-c2-oh harmonic 70.90 123.27 # SOURCE4 42 1.8111
+ angle_coeff @angle:ce-c2-os harmonic 70.47 122.52 # SOURCE4 51 2.4680
+ angle_coeff @angle:cf-c2-ha harmonic 49.57 121.19 # SOURCE3 122 same_as_ce-c2-ha
+ angle_coeff @angle:c-c2-ha harmonic 47.67 121.33 # SOURCE3 4 0.2462
+ angle_coeff @angle:c-c2-hc harmonic 48.00 119.70 # SOURCE3 1
+ angle_coeff @angle:cl-c2-cl harmonic 55.44 114.27 # SOURCE4 10 0.5850
+ angle_coeff @angle:cl-c2-h4 harmonic 40.76 113.77 # SOURCE4 9 0.6228
+ angle_coeff @angle:cl-c2-ha harmonic 40.86 113.20 # SOURCE3 1 0.0000
+ angle_coeff @angle:cx-c2-ha harmonic 46.61 115.89 # SOURCE4 15 0.3682
+ angle_coeff @angle:f-c2-f harmonic 70.67 109.60 # SOURCE2 2 0.6000
+ angle_coeff @angle:f-c2-ha harmonic 51.25 110.00 # SOURCE2 1 0.0000
+ angle_coeff @angle:h4-c2-n2 harmonic 52.40 120.69 # SOURCE4 13 1.3105
+ angle_coeff @angle:h4-c2-n harmonic 50.48 113.57 # SOURCE4 26 1.0283
+ angle_coeff @angle:h4-c2-na harmonic 51.03 113.22 # SOURCE4 9 0.6345
+ angle_coeff @angle:h4-c2-ne harmonic 52.87 119.63 # SOURCE4 10 1.6786
+ angle_coeff @angle:h4-c2-nh harmonic 51.55 115.64 # SOURCE4 31 1.0081
+ angle_coeff @angle:h4-c2-no harmonic 49.39 113.38 # SOURCE4 6 0.1240
+ angle_coeff @angle:h4-c2-os harmonic 52.23 113.70 # SOURCE3 13 2.0464
+ angle_coeff @angle:h4-c2-ss harmonic 42.85 118.47 # SOURCE3 9 2.5335
+ angle_coeff @angle:h5-c2-n2 harmonic 52.41 120.16 # SOURCE4 27 1.8999
+ angle_coeff @angle:h5-c2-na harmonic 48.23 126.39 # SOURCE3 4 0.3299
+ angle_coeff @angle:h5-c2-ne harmonic 52.76 119.62 # SOURCE4 17 1.3235
+ angle_coeff @angle:h5-c2-nh harmonic 51.85 113.93 # SOURCE4 50 0.8394
+ angle_coeff @angle:ha-c2-ha harmonic 38.02 117.65 # SOURCE3 349 1.3426
+ angle_coeff @angle:ha-c2-n1 harmonic 51.83 120.76 # SOURCE3 8 0.6632
+ angle_coeff @angle:ha-c2-n2 harmonic 52.39 120.54 # SOURCE3 92 1.4571
+ angle_coeff @angle:ha-c2-n3 harmonic 52.44 113.54 # SOURCE3 1
+ angle_coeff @angle:ha-c2-n harmonic 50.49 113.40 # SOURCE3 4 1.2182
+ angle_coeff @angle:ha-c2-na harmonic 51.18 112.42 # SOURCE3 8 0.6507
+ angle_coeff @angle:ha-c2-ne harmonic 52.48 121.18 # SOURCE3 68 0.6824
+ angle_coeff @angle:ha-c2-nf harmonic 52.48 121.18 # SOURCE3 68 same_as_ha-c2-ne
+ angle_coeff @angle:ha-c2-nh harmonic 51.29 116.68 # SOURCE3 13 2.5734
+ angle_coeff @angle:ha-c2-no harmonic 49.64 112.14 # SOURCE3 2 0.0264
+ angle_coeff @angle:ha-c2-o harmonic 55.30 117.23 # SOURCE3 2 0.0201
+ angle_coeff @angle:ha-c2-oh harmonic 52.34 116.18 # SOURCE3 2 0.0000
+ angle_coeff @angle:ha-c2-os harmonic 52.43 112.69 # SOURCE3 13 2.5851
+ angle_coeff @angle:ha-c2-p2 harmonic 55.74 121.48 # SOURCE3 122 0.4329
+ angle_coeff @angle:ha-c2-p3 harmonic 52.04 114.31 # SOURCE3 3 0.0000
+ angle_coeff @angle:ha-c2-p4 harmonic 51.62 117.86 # SOURCE3 1
+ angle_coeff @angle:ha-c2-p5 harmonic 49.81 120.10 # SOURCE3 2 0.0000
+ angle_coeff @angle:ha-c2-pe harmonic 55.05 121.46 # SOURCE3 104 0.7821
+ angle_coeff @angle:ha-c2-pf harmonic 55.05 121.46 # SOURCE3 104 same_as_ha-c2-pe
+ angle_coeff @angle:ha-c2-s2 harmonic 46.19 118.74 # SOURCE3 2 0.0000
+ angle_coeff @angle:ha-c2-s4 harmonic 42.81 115.30 # SOURCE3 2 0.0000
+ angle_coeff @angle:ha-c2-s harmonic 43.42 115.70 # SOURCE3 2 0.0000
+ angle_coeff @angle:ha-c2-s6 harmonic 42.58 116.60 # SOURCE3 2 0.0000
+ angle_coeff @angle:ha-c2-sh harmonic 43.04 111.74 # SOURCE3 1 0.0000
+ angle_coeff @angle:ha-c2-ss harmonic 43.18 116.72 # SOURCE3 7 2.7543
+ angle_coeff @angle:hc-c2-hc harmonic 37.81 118.92 # SOURCE3 1
+ angle_coeff @angle:hc-c2-n2 harmonic 52.42 120.40 # SOURCE3 1
+ angle_coeff @angle:hc-c2-n harmonic 50.35 114.04 # SOURCE3 1
+ angle_coeff @angle:hc-c2-na harmonic 49.73 119.10 # SOURCE3 1
+ angle_coeff @angle:hc-c2-nh harmonic 52.03 113.36 # SOURCE3 1
+ angle_coeff @angle:hc-c2-no harmonic 49.64 112.12 # SOURCE3 1
+ angle_coeff @angle:hc-c2-oh harmonic 52.33 116.22 # SOURCE3 1
+ angle_coeff @angle:hc-c2-os harmonic 51.65 116.11 # SOURCE3 1
+ angle_coeff @angle:hc-c2-p3 harmonic 51.40 117.19 # SOURCE3 1
+ angle_coeff @angle:hc-c2-p5 harmonic 49.92 119.58 # SOURCE3 1
+ angle_coeff @angle:hc-c2-s4 harmonic 42.66 116.12 # SOURCE3 1
+ angle_coeff @angle:hc-c2-s6 harmonic 42.79 115.45 # SOURCE3 1
+ angle_coeff @angle:hc-c2-sh harmonic 42.31 115.63 # SOURCE3 1
+ angle_coeff @angle:hc-c2-ss harmonic 43.38 115.62 # SOURCE3 1
+ angle_coeff @angle:hx-c2-n4 harmonic 48.42 113.03 # SOURCE3 3 0.3873
+ angle_coeff @angle:i-c2-i harmonic 60.96 117.94 # SOURCE3 1 0.0000
+ angle_coeff @angle:n1-c2-n1 harmonic 73.61 124.15 # HF/6-31G* 1
+ angle_coeff @angle:n2-c2-n2 harmonic 77.96 113.82 # SOURCE3 1 0.0000
+ angle_coeff @angle:n2-c2-n4 harmonic 72.03 113.05 # SOURCE4 6 0.3318
+ angle_coeff @angle:n2-c2-na harmonic 71.71 123.62 # SOURCE3 1 0.0000
+ angle_coeff @angle:n2-c2-nh harmonic 72.62 124.27 # SOURCE3 12 2.4114
+ angle_coeff @angle:n2-c2-oh harmonic 74.36 122.08 # SOURCE3 1 0.0000
+ angle_coeff @angle:n2-c2-os harmonic 74.32 119.82 # SOURCE4 20 1.2664
+ angle_coeff @angle:n2-c2-ss harmonic 62.86 129.77 # SOURCE3 1 0.0000
+ angle_coeff @angle:n3-c2-n3 harmonic 73.45 118.47 # SOURCE3 1
+ angle_coeff @angle:n4-c2-n4 harmonic 67.72 113.93 # SOURCE3 1 0.0000
+ angle_coeff @angle:n4-c2-ss harmonic 64.40 116.26 # SOURCE4 7 2.4226
+ angle_coeff @angle:na-c2-na harmonic 73.65 109.33 # SOURCE3 3 3.0187
+ angle_coeff @angle:ne-c2-nh harmonic 73.03 123.56 # CORR 128
+ angle_coeff @angle:ne-c2-os harmonic 74.86 118.76 # SOURCE4 5 0.3382
+ angle_coeff @angle:ne-c2-ss harmonic 65.41 120.06 # SOURCE4 9 1.3423
+ angle_coeff @angle:nf-c2-nh harmonic 73.03 123.56 # CORR 128
+ angle_coeff @angle:nh-c2-nh harmonic 74.46 112.72 # SOURCE4 257 1.8176
+ angle_coeff @angle:nh-c2-oh harmonic 74.05 117.16 # SOURCE4 7 0.8698
+ angle_coeff @angle:nh-c2-os harmonic 74.32 114.29 # SOURCE4 18 1.0900
+ angle_coeff @angle:nh-c2-ss harmonic 67.23 111.55 # SOURCE4 37 1.1778
+ angle_coeff @angle:n-c2-n2 harmonic 70.56 125.95 # SOURCE3 2 5.0202
+ angle_coeff @angle:n-c2-n harmonic 71.55 113.23 # SOURCE3 1 0.0000
+ angle_coeff @angle:n-c2-na harmonic 74.57 105.42 # SOURCE3 1 0.0000
+ angle_coeff @angle:n-c2-ne harmonic 70.89 125.38 # SOURCE4 10 1.6819
+ angle_coeff @angle:n-c2-nh harmonic 74.20 109.14 # SOURCE4 22 1.5634
+ angle_coeff @angle:no-c2-no harmonic 69.43 113.90 # SOURCE3 1 0.0000
+ angle_coeff @angle:n-c2-ss harmonic 66.83 111.06 # SOURCE4 9 0.5522
+ angle_coeff @angle:oh-c2-oh harmonic 76.03 114.33 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-c2-o harmonic 80.23 121.69 # SOURCE3 1
+ angle_coeff @angle:o-c2-oh harmonic 76.69 121.23 # SOURCE4 6 0.0958
+ angle_coeff @angle:o-c2-s harmonic 64.15 127.68 # SOURCE3 2 0.0547
+ angle_coeff @angle:os-c2-os harmonic 74.21 115.80 # SOURCE3 1 0.0000
+ angle_coeff @angle:p2-c2-p2 harmonic 100.59 129.80 # SOURCE3 1
+ angle_coeff @angle:p3-c2-p3 harmonic 97.08 115.54 # SOURCE3 1 0.0000
+ angle_coeff @angle:p5-c2-p5 harmonic 92.92 121.85 # SOURCE3 1
+ angle_coeff @angle:s4-c2-s4 harmonic 61.89 120.32 # SOURCE3 1
+ angle_coeff @angle:s4-c2-s6 harmonic 61.98 119.95 # SOURCE3 1
+ angle_coeff @angle:s6-c2-s6 harmonic 61.98 119.97 # SOURCE3 1
+ angle_coeff @angle:sh-c2-sh harmonic 63.96 110.48 # SOURCE3 1 0.0000
+ angle_coeff @angle:sh-c2-ss harmonic 62.65 117.82 # SOURCE3 1
+ angle_coeff @angle:s-c2-s harmonic 62.47 121.67 # SOURCE3 1
+ angle_coeff @angle:ss-c2-ss harmonic 62.77 120.24 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-c3-br harmonic 67.46 109.03 # SOURCE4 6 0.5435
+ angle_coeff @angle:br-c3-c1 harmonic 62.77 111.80 # SOURCE2 3 0.2160
+ angle_coeff @angle:br-c3-c3 harmonic 63.03 109.25 # SOURCE3 10 0.5685
+ angle_coeff @angle:br-c3-c harmonic 62.92 110.37 # SOURCE4 13 2.4747
+ angle_coeff @angle:br-c3-h1 harmonic 43.12 103.04 # SOURCE3 5 0.3092
+ angle_coeff @angle:br-c3-h2 harmonic 42.34 107.10 # SOURCE4 7 0.2378
+ angle_coeff @angle:br-c3-hc harmonic 42.40 106.50 # SOURCE3 1
+ angle_coeff @angle:c1-c3-c1 harmonic 66.50 109.00 # SOURCE2 1 0.0000
+ angle_coeff @angle:c1-c3-c2 harmonic 65.00 111.11 # SOURCE4 12 0.7366
+ angle_coeff @angle:c1-c3-c3 harmonic 64.29 111.42 # SOURCE4 197 1.2106
+ angle_coeff @angle:c1-c3-ca harmonic 64.93 110.95 # SOURCE4 28 1.1203
+ angle_coeff @angle:c1-c3-cc harmonic 64.32 114.20 # CORR 13
+ angle_coeff @angle:c1-c3-cd harmonic 64.32 114.20 # CORR 13
+ angle_coeff @angle:c1-c3-cl harmonic 58.49 110.63 # SOURCE2 3 1.2257
+ angle_coeff @angle:c1-c3-h1 harmonic 48.35 109.29 # SOURCE4 133 0.5701
+ angle_coeff @angle:c1-c3-hc harmonic 48.25 109.75 # SOURCE3 12 0.8436
+ angle_coeff @angle:c1-c3-hx harmonic 47.76 112.05 # SOURCE4 17 0.2587
+ angle_coeff @angle:c1-c3-n3 harmonic 67.03 112.59 # SOURCE4 28 0.9555
+ angle_coeff @angle:c1-c3-n4 harmonic 66.53 112.04 # SOURCE4 11 0.5701
+ angle_coeff @angle:c1-c3-n harmonic 67.41 112.08 # SOURCE4 18 0.9568
+ angle_coeff @angle:c1-c3-nh harmonic 67.25 112.79 # SOURCE4 8 0.9453
+ angle_coeff @angle:c1-c3-oh harmonic 69.49 109.14 # SOURCE4 39 0.6500
+ angle_coeff @angle:c1-c3-os harmonic 69.27 108.88 # SOURCE4 31 0.9597
+ angle_coeff @angle:c2-c3-c2 harmonic 63.93 112.08 # SOURCE4 153 0.7742
+ angle_coeff @angle:c2-c3-c3 harmonic 63.53 111.44 # SOURCE4 2891 1.7167
+ angle_coeff @angle:c2-c3-ca harmonic 63.71 112.45 # SOURCE4 141 1.6755
+ angle_coeff @angle:c2-c3-cc harmonic 64.24 111.64 # CORR 32
+ angle_coeff @angle:c2-c3-cd harmonic 64.24 111.64 # CORR 32
+ angle_coeff @angle:c2-c3-ce harmonic 64.05 111.87 # CORR 38
+ angle_coeff @angle:c2-c3-cf harmonic 64.05 111.87 # CORR 38
+ angle_coeff @angle:c2-c3-cl harmonic 57.71 112.07 # SOURCE4 6 0.9936
+ angle_coeff @angle:c2-c3-cx harmonic 63.65 112.62 # SOURCE4 17 1.3287
+ angle_coeff @angle:c2-c3-cy harmonic 66.76 101.33 # SOURCE4 58 0.9262
+ angle_coeff @angle:c2-c3-f harmonic 66.52 110.96 # SOURCE4 25 0.2829
+ angle_coeff @angle:c2-c3-h1 harmonic 47.03 110.46 # SOURCE3 17 1.1525
+ angle_coeff @angle:c2-c3-h2 harmonic 46.84 111.19 # SOURCE4 17 0.8311
+ angle_coeff @angle:c2-c3-hc harmonic 47.03 110.49 # SOURCE3 159 0.7479
+ angle_coeff @angle:c2-c3-hx harmonic 46.83 111.45 # SOURCE4 20 0.9004
+ angle_coeff @angle:c2-c3-n2 harmonic 67.09 108.99 # SOURCE4 10 1.2025
+ angle_coeff @angle:c2-c3-n3 harmonic 66.47 111.52 # SOURCE4 158 1.4012
+ angle_coeff @angle:c2-c3-n harmonic 66.73 111.38 # SOURCE4 67 1.7559
+ angle_coeff @angle:c2-c3-na harmonic 66.24 113.30 # SOURCE4 27 1.2945
+ angle_coeff @angle:c2-c3-nh harmonic 67.10 110.27 # SOURCE4 56 1.8018
+ angle_coeff @angle:c2-c3-oh harmonic 68.18 110.21 # SOURCE4 220 1.4197
+ angle_coeff @angle:c2-c3-os harmonic 68.45 108.48 # SOURCE4 204 1.6082
+ angle_coeff @angle:c2-c3-s4 harmonic 62.57 109.73 # SOURCE4 6 0.1722
+ angle_coeff @angle:c2-c3-ss harmonic 63.62 104.97 # SOURCE3 2 2.2248
+ angle_coeff @angle:c3-c3-c3 harmonic 63.21 110.63 # SOURCE3 507 2.7845
+ angle_coeff @angle:c3-c3-ca harmonic 63.25 112.09 # SOURCE4 3859 1.5523
+ angle_coeff @angle:c3-c3-cc harmonic 63.58 111.89 # CORR 700
+ angle_coeff @angle:c3-c3-cd harmonic 63.58 111.89 # CORR 700
+ angle_coeff @angle:c3-c3-ce harmonic 63.70 111.06 # CORR 490
+ angle_coeff @angle:c3-c3-cf harmonic 63.70 111.06 # CORR 490
+ angle_coeff @angle:c3-c3-cl harmonic 57.85 110.33 # SOURCE3 20 1.1495
+ angle_coeff @angle:c3-c3-cx harmonic 63.30 111.82 # SOURCE4 179 2.4814
+ angle_coeff @angle:c3-c3-cy harmonic 63.63 109.62 # SOURCE3 5 2.0747
+ angle_coeff @angle:c3-c3-f harmonic 66.22 109.41 # SOURCE3 18 1.1878
+ angle_coeff @angle:c3-c3-h1 harmonic 46.36 110.07 # SOURCE3 457 1.1542
+ angle_coeff @angle:c3-c3-h2 harmonic 46.02 111.59 # SOURCE3 8 1.1217
+ angle_coeff @angle:c3-c3-hc harmonic 46.37 110.05 # SOURCE3 2092 0.6991
+ angle_coeff @angle:c3-c3-hx harmonic 46.02 111.74 # SOURCE3 15 1.2365
+ angle_coeff @angle:c3-c3-i harmonic 58.48 110.96 # SOURCE3 2 0.0000
+ angle_coeff @angle:c3-c3-n1 harmonic 66.64 108.86 # SOURCE4 9 0.8093
+ angle_coeff @angle:c3-c3-n2 harmonic 66.40 109.16 # SOURCE3 8 1.4079
+ angle_coeff @angle:c3-c3-n3 harmonic 66.18 110.38 # SOURCE3 69 2.9054
+ angle_coeff @angle:c3-c3-n4 harmonic 64.45 114.32 # SOURCE4 567 2.4412
+ angle_coeff @angle:c3-c3-n harmonic 65.85 112.13 # SOURCE3 31 2.0700
+ angle_coeff @angle:c3-c3-na harmonic 65.73 112.81 # SOURCE4 595 1.5050
+ angle_coeff @angle:c3-c3-nh harmonic 66.39 110.45 # SOURCE4 1514 1.3881
+ angle_coeff @angle:c3-c3-no harmonic 65.21 109.27 # SOURCE4 25 1.1817
+ angle_coeff @angle:c3-c3-o harmonic 68.59 112.97 # SOURCE4 14 1.0277
+ angle_coeff @angle:c3-c3-oh harmonic 67.72 109.43 # SOURCE3 48 1.5023
+ angle_coeff @angle:c3-c3-os harmonic 67.78 108.42 # SOURCE3 122 1.6759
+ angle_coeff @angle:c3-c3-p3 harmonic 76.46 113.19 # SOURCE4 15 0.2974
+ angle_coeff @angle:c3-c3-p5 harmonic 77.70 112.32 # SOURCE4 106 1.1753
+ angle_coeff @angle:c3-c3-s4 harmonic 62.16 110.07 # SOURCE4 38 0.8510
+ angle_coeff @angle:c3-c3-s6 harmonic 62.98 110.00 # SOURCE4 152 1.4278
+ angle_coeff @angle:c3-c3-sh harmonic 60.98 113.02 # SOURCE4 80 1.3442
+ angle_coeff @angle:c3-c3-ss harmonic 61.10 112.69 # SOURCE3 24 2.1842
+ angle_coeff @angle:c3-c3-sy harmonic 62.81 109.91 # SOURCE4 22 0.9248
+ angle_coeff @angle:ca-c3-ca harmonic 63.66 112.26 # SOURCE4 385 1.7047
+ angle_coeff @angle:ca-c3-cc harmonic 63.92 112.38 # CORR 69
+ angle_coeff @angle:ca-c3-cd harmonic 63.92 112.38 # CORR 69
+ angle_coeff @angle:ca-c3-ce harmonic 63.81 112.33 # SOURCE4 51 1.1929
+ angle_coeff @angle:ca-c3-cl harmonic 57.85 111.31 # SOURCE4 16 0.8077
+ angle_coeff @angle:ca-c3-cx harmonic 63.69 112.10 # SOURCE4 5 2.1117
+ angle_coeff @angle:ca-c3-f harmonic 66.14 111.76 # SOURCE4 449 0.3492
+ angle_coeff @angle:ca-c3-h1 harmonic 46.78 110.95 # SOURCE3 12 1.1170
+ angle_coeff @angle:ca-c3-h2 harmonic 47.03 109.66 # SOURCE4 29 1.2184
+ angle_coeff @angle:ca-c3-hc harmonic 46.96 110.15 # SOURCE3 47 1.2602
+ angle_coeff @angle:ca-c3-hx harmonic 46.69 111.44 # SOURCE4 33 0.4691
+ angle_coeff @angle:ca-c3-n2 harmonic 65.92 112.49 # SOURCE4 22 1.1043
+ angle_coeff @angle:ca-c3-n3 harmonic 66.18 112.13 # SOURCE4 387 1.2309
+ angle_coeff @angle:ca-c3-n4 harmonic 64.87 114.54 # SOURCE4 22 2.3986
+ angle_coeff @angle:ca-c3-n harmonic 66.29 112.43 # SOURCE4 201 1.5133
+ angle_coeff @angle:ca-c3-na harmonic 66.27 112.81 # SOURCE4 104 1.5807
+ angle_coeff @angle:ca-c3-nc harmonic 68.20 106.51 # SOURCE3 1 0.0000
+ angle_coeff @angle:ca-c3-nd harmonic 68.20 106.51 # SOURCE3 1 same_as_ca-c3-nc
+ angle_coeff @angle:ca-c3-nh harmonic 66.64 111.41 # SOURCE4 147 1.0074
+ angle_coeff @angle:ca-c3-oh harmonic 67.94 110.55 # SOURCE4 348 1.2310
+ angle_coeff @angle:ca-c3-os harmonic 68.19 108.89 # SOURCE4 411 1.0102
+ angle_coeff @angle:ca-c3-p5 harmonic 77.64 113.41 # SOURCE4 19 1.4444
+ angle_coeff @angle:ca-c3-s6 harmonic 62.87 111.36 # SOURCE4 15 1.4775
+ angle_coeff @angle:ca-c3-ss harmonic 61.90 110.66 # SOURCE4 78 1.4797
+ angle_coeff @angle:ca-c3-sx harmonic 62.16 110.80 # SOURCE4 16 0.5396
+ angle_coeff @angle:c-c3-c1 harmonic 64.56 112.64 # SOURCE4 11 1.0678
+ angle_coeff @angle:c-c3-c2 harmonic 64.14 111.32 # SOURCE4 92 1.8522
+ angle_coeff @angle:c-c3-c3 harmonic 63.79 110.53 # SOURCE3 62 1.9636
+ angle_coeff @angle:c-c3-c harmonic 64.06 111.61 # SOURCE4 151 2.1872
+ angle_coeff @angle:c-c3-ca harmonic 64.13 110.99 # SOURCE4 481 1.7257
+ angle_coeff @angle:c-c3-cc harmonic 63.89 112.89 # CORR 104
+ angle_coeff @angle:cc-c3-cc harmonic 64.61 111.05 # CORR 19
+ angle_coeff @angle:cc-c3-cd harmonic 67.30 102.35 # SOURCE3 1 0.0000
+ angle_coeff @angle:cc-c3-cx harmonic 63.85 112.55 # SOURCE4 5 1.4317
+ angle_coeff @angle:c-c3-cd harmonic 63.89 112.89 # CORR 104
+ angle_coeff @angle:c-c3-ce harmonic 64.02 111.98 # SOURCE4 16 2.1388
+ angle_coeff @angle:cc-c3-f harmonic 66.70 111.22 # CORR 69
+ angle_coeff @angle:cc-c3-h1 harmonic 47.03 111.62 # SOURCE3 20 1.0215
+ angle_coeff @angle:cc-c3-hc harmonic 47.20 110.86 # SOURCE3 85 1.0276
+ angle_coeff @angle:cc-c3-hx harmonic 47.17 111.02 # SOURCE4 9 0.7503
+ angle_coeff @angle:c-c3-cl harmonic 57.94 111.16 # SOURCE4 41 1.2257
+ angle_coeff @angle:cc-c3-n2 harmonic 66.85 110.47 # SOURCE4 11 0.5153
+ angle_coeff @angle:cc-c3-n3 harmonic 66.79 111.17 # CORR 111
+ angle_coeff @angle:cc-c3-n4 harmonic 64.88 115.58 # SOURCE4 6 1.1723
+ angle_coeff @angle:cc-c3-n harmonic 66.84 111.71 # CORR 32
+ angle_coeff @angle:cc-c3-na harmonic 66.43 113.39 # SOURCE4 8 0.8010
+ angle_coeff @angle:cc-c3-nc harmonic 68.37 107.04 # SOURCE3 2 0.0000
+ angle_coeff @angle:cc-c3-nh harmonic 66.68 112.38 # CORR 21
+ angle_coeff @angle:cc-c3-oh harmonic 68.13 111.10 # CORR 116
+ angle_coeff @angle:cc-c3-os harmonic 68.51 109.01 # CORR 91
+ angle_coeff @angle:cc-c3-p5 harmonic 76.89 116.23 # SOURCE4 6 0.7766
+ angle_coeff @angle:cc-c3-sh harmonic 61.11 114.02 # SOURCE3 1 same_as_cd-c3-sh
+ angle_coeff @angle:cc-c3-ss harmonic 61.95 111.06 # CORR 43
+ angle_coeff @angle:c-c3-cx harmonic 64.08 111.09 # SOURCE4 9 1.2357
+ angle_coeff @angle:cd-c3-cd harmonic 64.61 111.05 # CORR 19
+ angle_coeff @angle:cd-c3-f harmonic 66.70 111.22 # CORR 69
+ angle_coeff @angle:cd-c3-h1 harmonic 47.03 111.62 # SOURCE3 20 1.0215
+ angle_coeff @angle:cd-c3-hc harmonic 47.20 110.86 # SOURCE3 85 1.0276
+ angle_coeff @angle:cd-c3-n3 harmonic 66.79 111.17 # CORR 111
+ angle_coeff @angle:cd-c3-n harmonic 66.84 111.71 # CORR 32
+ angle_coeff @angle:cd-c3-nd harmonic 68.37 107.04 # SOURCE3 2 same_as_cc-c3-nc
+ angle_coeff @angle:cd-c3-nh harmonic 66.68 112.38 # CORR 21
+ angle_coeff @angle:cd-c3-oh harmonic 68.13 111.10 # CORR 116
+ angle_coeff @angle:cd-c3-os harmonic 68.51 109.01 # CORR 91
+ angle_coeff @angle:cd-c3-sh harmonic 61.11 114.02 # SOURCE3 1 0.0000
+ angle_coeff @angle:cd-c3-ss harmonic 61.95 111.06 # CORR 43
+ angle_coeff @angle:ce-c3-ce harmonic 64.24 111.44 # SOURCE4 18 0.3695
+ angle_coeff @angle:ce-c3-cy harmonic 66.33 102.85 # CORR 55
+ angle_coeff @angle:ce-c3-h1 harmonic 47.30 109.59 # CORR 119
+ angle_coeff @angle:ce-c3-hc harmonic 47.00 110.98 # SOURCE3 27 0.1559
+ angle_coeff @angle:ce-c3-n3 harmonic 66.45 111.83 # CORR 28
+ angle_coeff @angle:ce-c3-n harmonic 67.09 110.41 # SOURCE4 6 1.1405
+ angle_coeff @angle:ce-c3-oh harmonic 68.00 111.05 # SOURCE4 17 1.5159
+ angle_coeff @angle:ce-c3-os harmonic 68.64 108.10 # SOURCE4 16 1.9583
+ angle_coeff @angle:ce-c3-ss harmonic 61.87 111.10 # SOURCE4 7 2.0156
+ angle_coeff @angle:c-c3-f harmonic 66.82 109.98 # SOURCE4 38 0.9895
+ angle_coeff @angle:cf-c3-cy harmonic 66.33 102.85 # CORR 55
+ angle_coeff @angle:cf-c3-h1 harmonic 47.30 109.59 # CORR 119
+ angle_coeff @angle:cf-c3-hc harmonic 47.00 110.98 # SOURCE3 27 same_as_ce-c3-hc
+ angle_coeff @angle:cf-c3-n3 harmonic 66.45 111.83 # CORR 28
+ angle_coeff @angle:c-c3-h1 harmonic 47.63 107.66 # SOURCE3 66 1.4015
+ angle_coeff @angle:c-c3-h2 harmonic 47.16 109.69 # SOURCE4 38 1.0614
+ angle_coeff @angle:c-c3-hc harmonic 47.20 109.68 # SOURCE3 614 0.6426
+ angle_coeff @angle:c-c3-hx harmonic 47.23 109.54 # SOURCE4 47 0.6627
+ angle_coeff @angle:cl-c3-cl harmonic 54.23 111.03 # SOURCE2 6 1.1324
+ angle_coeff @angle:cl-c3-f harmonic 59.15 109.02 # SOURCE4 15 0.3609
+ angle_coeff @angle:cl-c3-h1 harmonic 40.66 105.93 # SOURCE3 19 1.1883
+ angle_coeff @angle:cl-c3-h2 harmonic 40.44 107.14 # SOURCE4 50 0.5973
+ angle_coeff @angle:cl-c3-hc harmonic 40.33 107.65 # SOURCE2 2 2.2500
+ angle_coeff @angle:cl-c3-os harmonic 60.38 111.40 # SOURCE4 8 0.8275
+ angle_coeff @angle:cl-c3-ss harmonic 57.60 112.94 # SOURCE4 10 1.4625
+ angle_coeff @angle:c-c3-n2 harmonic 66.92 109.55 # SOURCE4 55 1.4579
+ angle_coeff @angle:c-c3-n3 harmonic 66.59 111.14 # SOURCE4 629 1.6673
+ angle_coeff @angle:c-c3-n4 harmonic 65.07 114.21 # SOURCE4 27 1.5388
+ angle_coeff @angle:c-c3-n harmonic 66.67 111.56 # SOURCE3 28 1.7981
+ angle_coeff @angle:c-c3-na harmonic 66.81 111.37 # SOURCE4 31 1.6229
+ angle_coeff @angle:c-c3-nh harmonic 67.36 109.43 # SOURCE4 42 1.7022
+ angle_coeff @angle:c-c3-oh harmonic 68.65 108.70 # SOURCE4 299 1.3415
+ angle_coeff @angle:c-c3-os harmonic 68.03 109.82 # SOURCE3 10 2.0612
+ angle_coeff @angle:c-c3-p5 harmonic 78.76 110.41 # SOURCE4 15 2.2683
+ angle_coeff @angle:c-c3-s6 harmonic 63.26 110.22 # SOURCE4 5 2.0076
+ angle_coeff @angle:c-c3-sh harmonic 62.46 108.82 # SOURCE4 12 0.8354
+ angle_coeff @angle:c-c3-ss harmonic 61.70 111.58 # SOURCE3 5 1.9506
+ angle_coeff @angle:cx-c3-cx harmonic 63.53 112.58 # SOURCE4 7 1.2211
+ angle_coeff @angle:cx-c3-h1 harmonic 47.04 109.64 # SOURCE4 175 0.8822
+ angle_coeff @angle:cx-c3-hc harmonic 46.92 110.20 # SOURCE4 356 0.8798
+ angle_coeff @angle:cx-c3-hx harmonic 46.38 112.81 # SOURCE4 12 0.0977
+ angle_coeff @angle:cx-c3-n3 harmonic 65.83 113.22 # SOURCE4 33 1.3978
+ angle_coeff @angle:cx-c3-n4 harmonic 68.88 101.51 # SOURCE4 12 0.0760
+ angle_coeff @angle:cx-c3-n harmonic 66.22 112.59 # SOURCE4 22 0.8034
+ angle_coeff @angle:cx-c3-oh harmonic 68.10 109.97 # SOURCE4 25 1.3176
+ angle_coeff @angle:cx-c3-os harmonic 68.40 108.16 # SOURCE4 26 1.0162
+ angle_coeff @angle:cy-c3-h1 harmonic 47.00 107.88 # SOURCE4 162 0.9624
+ angle_coeff @angle:cy-c3-hc harmonic 46.51 110.17 # SOURCE3 16 0.5693
+ angle_coeff @angle:cy-c3-n3 harmonic 65.63 112.72 # SOURCE4 7 1.0639
+ angle_coeff @angle:cy-c3-oh harmonic 67.22 111.56 # SOURCE4 138 0.5051
+ angle_coeff @angle:cy-c3-os harmonic 68.45 106.79 # SOURCE4 5 1.0955
+ angle_coeff @angle:f-c3-f harmonic 71.26 107.16 # SOURCE2 10 1.1324
+ angle_coeff @angle:f-c3-h1 harmonic 51.57 107.85 # SOURCE3 14 0.9537
+ angle_coeff @angle:f-c3-h2 harmonic 51.36 108.41 # SOURCE3 6 0.5081
+ angle_coeff @angle:f-c3-h3 harmonic 51.05 110.01 # SOURCE4 19 0.6811
+ angle_coeff @angle:f-c3-hc harmonic 51.33 108.92 # SOURCE2 5 3.0534
+ angle_coeff @angle:f-c3-n2 harmonic 69.23 110.40 # SOURCE2 3 2.6470
+ angle_coeff @angle:f-c3-os harmonic 70.66 110.61 # SOURCE4 45 1.1755
+ angle_coeff @angle:f-c3-p5 harmonic 80.63 107.25 # SOURCE4 11 1.1735
+ angle_coeff @angle:f-c3-s6 harmonic 64.18 109.67 # SOURCE4 24 0.4116
+ angle_coeff @angle:f-c3-ss harmonic 62.13 111.89 # SOURCE4 11 0.9479
+ angle_coeff @angle:h1-c3-h1 harmonic 39.18 109.55 # SOURCE3 1888 1.1205
+ angle_coeff @angle:h1-c3-n1 harmonic 49.99 107.31 # HF/6-31G* 1
+ angle_coeff @angle:h1-c3-n2 harmonic 49.26 109.61 # SOURCE3 63 1.0452
+ angle_coeff @angle:h1-c3-n3 harmonic 49.39 109.92 # SOURCE3 313 1.1810
+ angle_coeff @angle:h1-c3-n harmonic 49.82 109.32 # SOURCE3 91 1.0325
+ angle_coeff @angle:h1-c3-na harmonic 49.90 109.45 # SOURCE3 53 0.9555
+ angle_coeff @angle:h1-c3-nc harmonic 50.11 108.57 # SOURCE3 6 0.0764
+ angle_coeff @angle:h1-c3-nd harmonic 50.11 108.57 # SOURCE3 6 same_as_h1-c3-nc
+ angle_coeff @angle:h1-c3-nh harmonic 49.73 109.96 # SOURCE3 70 0.7000
+ angle_coeff @angle:h1-c3-no harmonic 48.66 105.15 # SOURCE4 16 0.4950
+ angle_coeff @angle:h1-c3-o harmonic 52.53 117.19 # SOURCE3 6 0.0003
+ angle_coeff @angle:h1-c3-oh harmonic 50.97 109.88 # SOURCE3 63 1.3172
+ angle_coeff @angle:h1-c3-os harmonic 50.84 108.82 # SOURCE3 541 0.8042
+ angle_coeff @angle:h1-c3-p5 harmonic 54.25 107.99 # SOURCE4 72 1.1862
+ angle_coeff @angle:h1-c3-s4 harmonic 42.89 108.66 # SOURCE3 201 0.3834
+ angle_coeff @angle:h1-c3-s harmonic 41.18 112.60 # SOURCE3 6 0.0026
+ angle_coeff @angle:h1-c3-s6 harmonic 43.86 108.11 # SOURCE3 160 0.5518
+ angle_coeff @angle:h1-c3-sh harmonic 42.40 109.21 # SOURCE3 22 1.2028
+ angle_coeff @angle:h1-c3-ss harmonic 42.40 109.34 # SOURCE3 356 0.6573
+ angle_coeff @angle:h1-c3-sx harmonic 42.83 108.69 # SOURCE3 90 0.2749
+ angle_coeff @angle:h1-c3-sy harmonic 43.65 108.09 # SOURCE3 93 0.2556
+ angle_coeff @angle:h2-c3-h2 harmonic 39.00 109.19 # SOURCE3 29 3.1352
+ angle_coeff @angle:h2-c3-i harmonic 38.69 104.99 # SOURCE3 2 0.0000
+ angle_coeff @angle:h2-c3-n2 harmonic 49.08 110.22 # SOURCE3 6 0.2133
+ angle_coeff @angle:h2-c3-n3 harmonic 49.37 109.80 # SOURCE4 189 1.2893
+ angle_coeff @angle:h2-c3-n harmonic 50.22 107.38 # SOURCE4 258 1.3140
+ angle_coeff @angle:h2-c3-na harmonic 50.27 107.66 # SOURCE3 6 1.4096
+ angle_coeff @angle:h2-c3-nc harmonic 49.85 109.47 # SOURCE3 10 0.3133
+ angle_coeff @angle:h2-c3-nd harmonic 49.85 109.47 # SOURCE3 10 same_as_h2-c3-nc
+ angle_coeff @angle:h2-c3-nh harmonic 49.60 110.33 # SOURCE4 102 1.0596
+ angle_coeff @angle:h2-c3-no harmonic 47.83 108.69 # SOURCE3 4 0.0000
+ angle_coeff @angle:h2-c3-o harmonic 54.38 108.97 # SOURCE3 4 0.0000
+ angle_coeff @angle:h2-c3-oh harmonic 51.29 108.30 # SOURCE3 6 0.5715
+ angle_coeff @angle:h2-c3-os harmonic 50.84 108.58 # SOURCE3 44 1.2773
+ angle_coeff @angle:h2-c3-s4 harmonic 42.93 108.58 # SOURCE3 8 0.2408
+ angle_coeff @angle:h2-c3-s harmonic 42.32 106.75 # SOURCE3 4 0.0000
+ angle_coeff @angle:h2-c3-s6 harmonic 44.20 106.54 # SOURCE4 27 0.9934
+ angle_coeff @angle:h2-c3-sh harmonic 42.68 107.87 # SOURCE3 6 0.4376
+ angle_coeff @angle:h2-c3-ss harmonic 42.34 109.75 # SOURCE3 10 0.3442
+ angle_coeff @angle:h3-c3-n3 harmonic 49.73 108.39 # SOURCE4 12 1.7932
+ angle_coeff @angle:h3-c3-nc harmonic 49.91 109.37 # SOURCE3 1 0.0000
+ angle_coeff @angle:h3-c3-nd harmonic 49.91 109.37 # SOURCE3 1 same_as_h3-c3-nc
+ angle_coeff @angle:h3-c3-nh harmonic 49.53 110.78 # SOURCE4 5 1.5993
+ angle_coeff @angle:h3-c3-os harmonic 50.09 112.03 # SOURCE4 17 1.0957
+ angle_coeff @angle:h3-c3-ss harmonic 42.42 109.27 # SOURCE4 8 0.8367
+ angle_coeff @angle:hc-c3-hc harmonic 39.43 108.35 # SOURCE3 2380 0.9006
+ angle_coeff @angle:hc-c3-i harmonic 38.62 104.99 # SOURCE3 1
+ angle_coeff @angle:hc-c3-n2 harmonic 49.29 109.50 # SOURCE3 1
+ angle_coeff @angle:hc-c3-n3 harmonic 49.42 109.80 # SOURCE2 5 2.0070
+ angle_coeff @angle:hc-c3-n4 harmonic 49.01 107.90 # SOURCE3 1
+ angle_coeff @angle:hc-c3-n harmonic 49.78 109.50 # SOURCE3 1
+ angle_coeff @angle:hc-c3-na harmonic 49.90 109.50 # SOURCE3 1
+ angle_coeff @angle:hc-c3-nh harmonic 49.38 111.54 # SOURCE3 1
+ angle_coeff @angle:hc-c3-no harmonic 48.19 107.20 # SOURCE2 1 0.0000
+ angle_coeff @angle:hc-c3-oh harmonic 51.07 109.50 # SOURCE3 1
+ angle_coeff @angle:hc-c3-os harmonic 50.87 108.70 # SOURCE2 13 2.3739
+ angle_coeff @angle:hc-c3-p2 harmonic 52.37 110.18 # SOURCE3 25 0.4057
+ angle_coeff @angle:hc-c3-p3 harmonic 52.73 110.14 # SOURCE3 325 0.5126
+ angle_coeff @angle:hc-c3-p4 harmonic 53.21 109.59 # SOURCE3 87 0.3196
+ angle_coeff @angle:hc-c3-p5 harmonic 53.84 109.64 # SOURCE3 69 0.8112
+ angle_coeff @angle:hc-c3-px harmonic 53.46 109.74 # SOURCE3 84 0.3474
+ angle_coeff @angle:hc-c3-py harmonic 53.86 109.54 # SOURCE3 39 0.1999
+ angle_coeff @angle:hc-c3-s4 harmonic 43.12 107.50 # SOURCE2 1 0.0000
+ angle_coeff @angle:hc-c3-s6 harmonic 43.84 108.20 # SOURCE3 1
+ angle_coeff @angle:hc-c3-sh harmonic 42.66 107.87 # SOURCE2 3 2.0981
+ angle_coeff @angle:hc-c3-ss harmonic 42.51 108.76 # SOURCE2 3 1.6891
+ angle_coeff @angle:hx-c3-hx harmonic 39.04 110.74 # SOURCE3 137 0.5531
+ angle_coeff @angle:hx-c3-n4 harmonic 49.02 107.91 # SOURCE3 148 0.5899
+ angle_coeff @angle:i-c3-i harmonic 61.98 113.12 # SOURCE3 1 0.0000
+ angle_coeff @angle:n1-c3-n1 harmonic 71.09 105.07 # HF/6-31G* 1
+ angle_coeff @angle:n2-c3-n2 harmonic 69.89 107.70 # SOURCE3 1 0.0000
+ angle_coeff @angle:n2-c3-nh harmonic 69.26 111.06 # SOURCE4 5 0.7868
+ angle_coeff @angle:n2-c3-oh harmonic 70.15 111.82 # SOURCE4 10 0.3451
+ angle_coeff @angle:n2-c3-os harmonic 70.04 111.23 # SOURCE4 6 1.0463
+ angle_coeff @angle:n3-c3-n3 harmonic 69.61 109.59 # SOURCE4 27 1.8125
+ angle_coeff @angle:n3-c3-nc harmonic 68.79 113.29 # SOURCE3 1 0.0000
+ angle_coeff @angle:n3-c3-nd harmonic 68.79 113.29 # SOURCE3 1 same_as_n3-c3-nc
+ angle_coeff @angle:n3-c3-nh harmonic 69.74 110.08 # SOURCE4 21 1.0686
+ angle_coeff @angle:n3-c3-oh harmonic 70.71 110.63 # SOURCE4 20 1.0177
+ angle_coeff @angle:n3-c3-os harmonic 71.15 108.33 # SOURCE4 17 1.9545
+ angle_coeff @angle:n3-c3-p5 harmonic 81.55 109.51 # SOURCE4 10 1.5002
+ angle_coeff @angle:n3-c3-ss harmonic 64.75 107.73 # SOURCE4 18 1.7621
+ angle_coeff @angle:n4-c3-n4 harmonic 67.13 113.32 # SOURCE3 1 0.0000
+ angle_coeff @angle:na-c3-na harmonic 69.06 113.49 # SOURCE3 1 0.0000
+ angle_coeff @angle:na-c3-os harmonic 71.27 109.06 # SOURCE4 170 0.5450
+ angle_coeff @angle:nc-c3-nc harmonic 69.96 110.61 # SOURCE3 1 0.0000
+ angle_coeff @angle:nc-c3-nh harmonic 69.34 112.43 # SOURCE3 1 0.0000
+ angle_coeff @angle:nc-c3-os harmonic 69.28 115.41 # SOURCE3 3 1.0288
+ angle_coeff @angle:nd-c3-nd harmonic 69.96 110.61 # SOURCE3 1 same_as_nc-c3-nc
+ angle_coeff @angle:nd-c3-nh harmonic 69.34 112.43 # SOURCE3 1 same_as_nc-c3-nh
+ angle_coeff @angle:nd-c3-os harmonic 69.28 115.41 # SOURCE3 3 same_as_nc-c3-os
+ angle_coeff @angle:nh-c3-nh harmonic 71.41 105.87 # SOURCE3 1 0.0000
+ angle_coeff @angle:nh-c3-oh harmonic 70.47 112.36 # SOURCE4 12 0.7775
+ angle_coeff @angle:nh-c3-os harmonic 71.26 108.93 # SOURCE4 17 1.3775
+ angle_coeff @angle:nh-c3-p5 harmonic 80.62 112.50 # SOURCE4 5 1.7371
+ angle_coeff @angle:nh-c3-ss harmonic 64.53 108.88 # SOURCE4 8 2.1521
+ angle_coeff @angle:n-c3-n2 harmonic 68.82 112.34 # SOURCE4 5 1.1443
+ angle_coeff @angle:n-c3-n3 harmonic 69.39 111.03 # SOURCE4 15 1.8216
+ angle_coeff @angle:n-c3-n harmonic 68.78 113.81 # SOURCE3 1 0.0000
+ angle_coeff @angle:n-c3-nh harmonic 70.54 108.34 # SOURCE4 11 2.1727
+ angle_coeff @angle:n-c3-oh harmonic 70.36 112.54 # SOURCE4 31 1.1295
+ angle_coeff @angle:no-c3-no harmonic 68.37 104.47 # SOURCE4 5 0.9726
+ angle_coeff @angle:n-c3-os harmonic 71.14 109.16 # SOURCE4 153 0.8778
+ angle_coeff @angle:n-c3-p5 harmonic 81.48 110.05 # SOURCE4 5 1.2965
+ angle_coeff @angle:oh-c3-oh harmonic 72.71 109.23 # SOURCE4 8 1.4978
+ angle_coeff @angle:oh-c3-os harmonic 72.38 109.21 # SOURCE4 85 1.1964
+ angle_coeff @angle:oh-c3-p5 harmonic 82.83 108.86 # SOURCE4 33 1.2025
+ angle_coeff @angle:oh-c3-sh harmonic 63.30 115.46 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-c3-o harmonic 74.43 122.30 # SOURCE3 1 0.0000
+ angle_coeff @angle:os-c3-os harmonic 71.72 110.24 # SOURCE3 17 2.1340
+ angle_coeff @angle:os-c3-p5 harmonic 82.86 108.36 # SOURCE4 22 2.1937
+ angle_coeff @angle:os-c3-ss harmonic 65.36 107.98 # SOURCE4 20 1.7464
+ angle_coeff @angle:p2-c3-p2 harmonic 98.16 110.48 # SOURCE3 1 0.0000
+ angle_coeff @angle:p3-c3-p3 harmonic 98.88 110.16 # SOURCE3 1 0.0000
+ angle_coeff @angle:p5-c3-p5 harmonic 100.59 110.13 # SOURCE4 33 2.4116
+ angle_coeff @angle:p5-c3-ss harmonic 78.88 111.30 # SOURCE4 5 2.0560
+ angle_coeff @angle:s4-c3-s4 harmonic 62.40 112.29 # SOURCE3 2 1.2724
+ angle_coeff @angle:s4-c3-s6 harmonic 62.62 113.52 # SOURCE3 1
+ angle_coeff @angle:s6-c3-s6 harmonic 63.71 111.75 # SOURCE3 1 0.0000
+ angle_coeff @angle:sh-c3-sh harmonic 60.82 116.26 # SOURCE3 1 0.0000
+ angle_coeff @angle:sh-c3-ss harmonic 62.33 110.73 # SOURCE3 1
+ angle_coeff @angle:s-c3-s harmonic 58.31 123.35 # SOURCE3 1 0.0000
+ angle_coeff @angle:ss-c3-ss harmonic 62.40 110.57 # SOURCE4 15 1.4311
+ angle_coeff @angle:br-ca-br harmonic 67.31 117.60 # SOURCE3 1
+ angle_coeff @angle:br-ca-ca harmonic 63.48 118.13 # SOURCE3 8 0.6041
+ angle_coeff @angle:c1-ca-c1 harmonic 64.70 120.00 # SOURCE3 1
+ angle_coeff @angle:c1-ca-ca harmonic 65.86 120.00 # SOURCE3 1
+ angle_coeff @angle:c2-ca-c2 harmonic 62.95 120.00 # SOURCE3 1
+ angle_coeff @angle:c2-ca-ca harmonic 64.69 120.60 # SOURCE3 1
+ angle_coeff @angle:c3-ca-c2 harmonic 62.24 120.00 # SOURCE3 1
+ angle_coeff @angle:c3-ca-c3 harmonic 62.41 116.80 # SOURCE3 1
+ angle_coeff @angle:c3-ca-ca harmonic 63.84 120.63 # SOURCE3 60 0.7175
+ angle_coeff @angle:c3-ca-cp harmonic 63.64 120.63 # CORR 120
+ angle_coeff @angle:c3-ca-cq harmonic 63.64 120.63 # CORR 120
+ angle_coeff @angle:c3-ca-na harmonic 66.59 118.78 # SOURCE4 59 1.1184
+ angle_coeff @angle:c3-ca-nb harmonic 67.33 116.66 # SOURCE4 408 0.9380
+ angle_coeff @angle:ca-ca-ca harmonic 67.18 119.97 # SOURCE3 1969 0.3480
+ angle_coeff @angle:ca-ca-cc harmonic 65.99 120.10 # SOURCE3 103 0.3451
+ angle_coeff @angle:ca-ca-cd harmonic 65.99 120.10 # SOURCE3 103 0.3451
+ angle_coeff @angle:ca-ca-ce harmonic 64.88 120.66 # SOURCE3 14 0.1564
+ angle_coeff @angle:ca-ca-cf harmonic 64.88 120.66 # SOURCE3 14 same_as_ca-ca-ce
+ angle_coeff @angle:ca-ca-cg harmonic 65.90 120.05 # SOURCE3 6 0.2397
+ angle_coeff @angle:ca-ca-ch harmonic 65.90 120.05 # SOURCE3 6 same_as_ca-ca-cg
+ angle_coeff @angle:ca-ca-cl harmonic 58.52 119.40 # SOURCE4 2459 0.5283
+ angle_coeff @angle:ca-ca-cp harmonic 67.16 119.07 # CORR 28
+ angle_coeff @angle:ca-ca-cq harmonic 67.16 119.07 # CORR 28
+ angle_coeff @angle:ca-ca-cx harmonic 64.48 120.83 # SOURCE4 71 1.3062
+ angle_coeff @angle:ca-ca-cy harmonic 63.77 120.86 # SOURCE4 17 2.0287
+ angle_coeff @angle:ca-ca-f harmonic 67.51 118.95 # SOURCE4 967 0.3369
+ angle_coeff @angle:ca-ca-h4 harmonic 48.24 121.09 # SOURCE3 57 1.4696
+ angle_coeff @angle:ca-ca-ha harmonic 48.46 120.01 # SOURCE3 2980 0.2511
+ angle_coeff @angle:ca-ca-i harmonic 58.59 118.47 # SOURCE3 10 0.6181
+ angle_coeff @angle:ca-ca-n1 harmonic 68.92 118.50 # HF/6-31G* 1
+ angle_coeff @angle:ca-ca-n2 harmonic 70.95 119.57 # SOURCE3 1
+ angle_coeff @angle:ca-ca-n4 harmonic 67.28 118.41 # SOURCE3 6 0.1691
+ angle_coeff @angle:ca-ca-n harmonic 67.97 119.89 # SOURCE3 18 0.2095
+ angle_coeff @angle:ca-ca-na harmonic 70.21 118.34 # SOURCE3 54 3.6168
+ angle_coeff @angle:ca-ca-nb harmonic 69.16 122.63 # SOURCE3 83 1.1249
+ angle_coeff @angle:ca-ca-nc harmonic 70.14 119.72 # SOURCE3 22 3.3994
+ angle_coeff @angle:ca-ca-nd harmonic 70.14 119.72 # SOURCE3 22 3.3994
+ angle_coeff @angle:ca-ca-ne harmonic 67.74 119.88 # SOURCE3 24 0.3637
+ angle_coeff @angle:ca-ca-nf harmonic 67.74 119.88 # SOURCE3 24 0.3637
+ angle_coeff @angle:ca-ca-nh harmonic 69.34 120.13 # SOURCE3 193 0.6341
+ angle_coeff @angle:ca-ca-no harmonic 66.88 119.54 # SOURCE3 10 1.3187
+ angle_coeff @angle:ca-ca-o harmonic 71.85 123.29 # SOURCE4 11 1.2526
+ angle_coeff @angle:ca-ca-oh harmonic 69.85 119.94 # SOURCE3 14 0.1627
+ angle_coeff @angle:ca-ca-os harmonic 69.79 119.20 # SOURCE3 52 0.5240
+ angle_coeff @angle:ca-ca-p2 harmonic 77.87 114.36 # SOURCE3 1
+ angle_coeff @angle:ca-ca-p3 harmonic 76.34 120.73 # SOURCE3 6 0.1273
+ angle_coeff @angle:ca-ca-p4 harmonic 77.11 120.30 # SOURCE3 1
+ angle_coeff @angle:ca-ca-p5 harmonic 77.50 120.28 # SOURCE4 5 0.0177
+ angle_coeff @angle:ca-ca-pe harmonic 76.26 120.45 # SOURCE3 20 0.2719
+ angle_coeff @angle:ca-ca-pf harmonic 76.26 120.45 # SOURCE3 20 0.2719
+ angle_coeff @angle:ca-ca-px harmonic 76.37 120.53 # SOURCE3 10 0.4509
+ angle_coeff @angle:ca-ca-py harmonic 77.43 119.98 # SOURCE3 6 0.0670
+ angle_coeff @angle:ca-ca-s4 harmonic 61.72 119.15 # SOURCE3 1
+ angle_coeff @angle:ca-ca-s6 harmonic 62.18 120.54 # SOURCE4 36 1.2154
+ angle_coeff @angle:ca-ca-s harmonic 62.22 122.55 # SOURCE3 4 0.0000
+ angle_coeff @angle:ca-ca-sh harmonic 61.32 121.78 # SOURCE4 17 1.2849
+ angle_coeff @angle:ca-ca-ss harmonic 62.03 119.93 # SOURCE3 16 0.3901
+ angle_coeff @angle:ca-ca-sx harmonic 60.68 119.18 # SOURCE3 6 0.0434
+ angle_coeff @angle:ca-ca-sy harmonic 61.64 119.89 # SOURCE3 24 1.8813
+ angle_coeff @angle:c-ca-c3 harmonic 62.61 118.06 # SOURCE3 1
+ angle_coeff @angle:c-ca-c harmonic 62.65 120.00 # SOURCE3 1
+ angle_coeff @angle:c-ca-ca harmonic 64.64 120.14 # SOURCE3 40 0.4788
+ angle_coeff @angle:cc-ca-cp harmonic 64.63 124.30 # SOURCE4 10 0.6423
+ angle_coeff @angle:cc-ca-nb harmonic 69.19 118.02 # CORR 64
+ angle_coeff @angle:cd-ca-nb harmonic 69.19 118.02 # CORR 64
+ angle_coeff @angle:ce-ca-na harmonic 67.44 119.85 # SOURCE4 9 0.7001
+ angle_coeff @angle:ce-ca-nb harmonic 68.24 117.59 # CORR 44
+ angle_coeff @angle:cf-ca-nb harmonic 68.24 117.59 # CORR 44
+ angle_coeff @angle:cg-ca-cp harmonic 65.26 121.53 # SOURCE4 12 0.1831
+ angle_coeff @angle:c-ca-ha harmonic 46.51 115.90 # SOURCE3 1
+ angle_coeff @angle:cl-ca-cl harmonic 54.17 118.72 # SOURCE3 1
+ angle_coeff @angle:cl-ca-cp harmonic 58.19 120.31 # SOURCE4 18 0.5607
+ angle_coeff @angle:cl-ca-nb harmonic 61.21 116.15 # SOURCE4 50 0.6047
+ angle_coeff @angle:c-ca-nb harmonic 67.71 117.94 # SOURCE4 91 1.0536
+ angle_coeff @angle:c-ca-nc harmonic 64.40 130.80 # SOURCE3 1
+ angle_coeff @angle:c-ca-nd harmonic 64.40 130.80 # SOURCE3 1 same_as_c-ca-nc
+ angle_coeff @angle:cp-ca-f harmonic 67.10 119.39 # SOURCE4 16 0.1724
+ angle_coeff @angle:cp-ca-h4 harmonic 48.15 120.03 # SOURCE4 27 0.4431
+ angle_coeff @angle:cp-ca-ha harmonic 47.94 121.08 # CORR 24
+ angle_coeff @angle:cp-ca-na harmonic 72.91 108.79 # SOURCE4 165 0.5166
+ angle_coeff @angle:cp-ca-nb harmonic 68.56 123.72 # SOURCE4 50 0.8176
+ angle_coeff @angle:cp-ca-nh harmonic 68.66 121.52 # SOURCE4 11 0.5438
+ angle_coeff @angle:cp-ca-oh harmonic 69.26 120.96 # SOURCE4 12 1.1400
+ angle_coeff @angle:cp-ca-ss harmonic 63.87 112.75 # SOURCE4 8 0.6216
+ angle_coeff @angle:cp-ca-sy harmonic 63.91 111.18 # CORR 4
+ angle_coeff @angle:cq-ca-ha harmonic 47.94 121.08 # CORR 24
+ angle_coeff @angle:cq-ca-sy harmonic 63.91 111.18 # CORR 4
+ angle_coeff @angle:f-ca-f harmonic 68.05 117.50 # SOURCE3 1
+ angle_coeff @angle:f-ca-nb harmonic 71.69 114.58 # SOURCE4 19 0.2987
+ angle_coeff @angle:h4-ca-n harmonic 49.48 116.02 # SOURCE3 1
+ angle_coeff @angle:h4-ca-na harmonic 51.88 114.65 # SOURCE3 5 1.5484
+ angle_coeff @angle:h4-ca-nb harmonic 51.82 115.94 # SOURCE3 52 0.7370
+ angle_coeff @angle:h4-ca-nc harmonic 51.46 118.36 # SOURCE3 1
+ angle_coeff @angle:h4-ca-nd harmonic 51.46 118.36 # SOURCE3 1 same_as_h4-ca-nc
+ angle_coeff @angle:h4-ca-os harmonic 52.30 111.15 # SOURCE3 1
+ angle_coeff @angle:h4-ca-ss harmonic 42.40 116.19 # SOURCE3 1
+ angle_coeff @angle:h5-ca-nb harmonic 51.76 116.35 # SOURCE3 30 0.5545
+ angle_coeff @angle:h5-ca-nc harmonic 50.70 122.11 # SOURCE3 1
+ angle_coeff @angle:h5-ca-nd harmonic 50.70 122.11 # SOURCE3 1 same_as_h5-ca-nc
+ angle_coeff @angle:ha-ca-n2 harmonic 52.97 116.00 # SOURCE2 1 0.0000
+ angle_coeff @angle:ha-ca-p2 harmonic 50.08 122.56 # SOURCE3 1
+ angle_coeff @angle:i-ca-i harmonic 62.29 119.28 # SOURCE3 1
+ angle_coeff @angle:n1-ca-n1 harmonic 70.73 117.03 # HF/6-31G* 1
+ angle_coeff @angle:n2-ca-n2 harmonic 75.05 120.00 # SOURCE3 1
+ angle_coeff @angle:n2-ca-na harmonic 73.80 119.60 # SOURCE3 1
+ angle_coeff @angle:n4-ca-n4 harmonic 67.65 116.82 # SOURCE3 1
+ angle_coeff @angle:na-ca-na harmonic 76.48 107.65 # SOURCE4 5 0.8751
+ angle_coeff @angle:na-ca-nb harmonic 70.60 127.07 # SOURCE4 237 1.9392
+ angle_coeff @angle:na-ca-nh harmonic 72.48 118.62 # SOURCE4 29 0.9759
+ angle_coeff @angle:nb-ca-nb harmonic 70.78 127.19 # SOURCE4 585 1.1793
+ angle_coeff @angle:nb-ca-nc harmonic 71.12 126.53 # CORR 22
+ angle_coeff @angle:nb-ca-nd harmonic 71.12 126.53 # CORR 22
+ angle_coeff @angle:nb-ca-nh harmonic 73.20 116.95 # SOURCE4 765 0.8040
+ angle_coeff @angle:nb-ca-oh harmonic 73.57 117.30 # SOURCE4 64 0.9290
+ angle_coeff @angle:nb-ca-os harmonic 72.54 119.66 # SOURCE4 76 0.6493
+ angle_coeff @angle:nb-ca-sh harmonic 64.31 117.59 # SOURCE4 15 1.4616
+ angle_coeff @angle:nb-ca-ss harmonic 64.10 119.30 # SOURCE4 41 1.3420
+ angle_coeff @angle:nc-ca-nc harmonic 70.67 128.74 # SOURCE3 1
+ angle_coeff @angle:nc-ca-nh harmonic 72.77 118.86 # SOURCE3 1
+ angle_coeff @angle:nd-ca-nd harmonic 70.67 128.74 # SOURCE3 1 same_as_nc-ca-nc
+ angle_coeff @angle:nd-ca-nh harmonic 72.77 118.86 # SOURCE3 1 same_as_nc-ca-nh
+ angle_coeff @angle:nh-ca-nh harmonic 71.40 120.98 # SOURCE3 1
+ angle_coeff @angle:n-ca-nc harmonic 69.66 123.86 # SOURCE3 1
+ angle_coeff @angle:n-ca-nd harmonic 69.66 123.86 # SOURCE3 1 same_as_n-ca-nc
+ angle_coeff @angle:n-ca-nh harmonic 71.29 116.16 # SOURCE3 1
+ angle_coeff @angle:no-ca-no harmonic 67.42 117.14 # SOURCE3 1
+ angle_coeff @angle:oh-ca-oh harmonic 72.63 120.00 # SOURCE3 1
+ angle_coeff @angle:o-ca-o harmonic 78.21 126.82 # SOURCE3 1
+ angle_coeff @angle:os-ca-os harmonic 74.01 113.73 # SOURCE3 1
+ angle_coeff @angle:p2-ca-p2 harmonic 94.48 121.20 # SOURCE3 1
+ angle_coeff @angle:p3-ca-p3 harmonic 95.21 121.46 # SOURCE3 1
+ angle_coeff @angle:p5-ca-p5 harmonic 97.33 120.00 # SOURCE3 1
+ angle_coeff @angle:s4-ca-s4 harmonic 64.96 105.81 # SOURCE3 1
+ angle_coeff @angle:s6-ca-s6 harmonic 66.03 105.81 # SOURCE3 1
+ angle_coeff @angle:sh-ca-sh harmonic 61.27 120.24 # SOURCE3 1
+ angle_coeff @angle:s-ca-s harmonic 61.42 125.14 # SOURCE3 1
+ angle_coeff @angle:ss-ca-ss harmonic 62.91 115.15 # SOURCE3 1
+ angle_coeff @angle:br-c-br harmonic 66.91 113.10 # SOURCE3 1
+ angle_coeff @angle:br-c-c3 harmonic 63.34 110.74 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-c-o harmonic 63.19 121.46 # SOURCE3 5 1.6264
+ angle_coeff @angle:c1-c-c1 harmonic 65.09 115.32 # SOURCE3 1
+ angle_coeff @angle:c1-c-o harmonic 69.92 122.34 # SOURCE3 1
+ angle_coeff @angle:c2-c-c2 harmonic 67.17 116.78 # SOURCE3 1
+ angle_coeff @angle:c2-c-ha harmonic 48.65 115.95 # SOURCE3 1
+ angle_coeff @angle:c2-c-o harmonic 72.77 119.12 # SOURCE3 2 0.0000
+ angle_coeff @angle:c2-c-s harmonic 64.67 119.16 # SOURCE3 2 0.0000
+ angle_coeff @angle:c3-c-c3 harmonic 62.82 116.05 # SOURCE3 11 1.0986
+ angle_coeff @angle:c3-c-ca harmonic 62.59 118.54 # SOURCE4 240 1.3614
+ angle_coeff @angle:c3-c-cc harmonic 63.38 117.47 # CORR 46
+ angle_coeff @angle:c3-c-cd harmonic 63.38 117.47 # CORR 46
+ angle_coeff @angle:c3-c-ce harmonic 63.44 116.37 # CORR 233
+ angle_coeff @angle:c3-c-cf harmonic 63.44 116.37 # CORR 233
+ angle_coeff @angle:c3-c-cg harmonic 64.26 115.00 # SOURCE2 1 0.0000
+ angle_coeff @angle:c3-c-ch harmonic 64.26 115.00 # SOURCE2 1 same_as_c3-c-cg
+ angle_coeff @angle:c3-c-cl harmonic 58.18 111.99 # SOURCE3 2 0.0125
+ angle_coeff @angle:c3-c-f harmonic 66.93 110.70 # SOURCE2 1 0.0000
+ angle_coeff @angle:c3-c-h4 harmonic 46.11 114.40 # SOURCE4 57 0.4032
+ angle_coeff @angle:c3-c-ha harmonic 46.01 115.22 # SOURCE3 15 0.3181
+ angle_coeff @angle:c3-c-i harmonic 56.87 112.94 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-c-n2 harmonic 66.62 114.53 # SOURCE3 1
+ angle_coeff @angle:c3-c-n4 harmonic 64.61 112.26 # SOURCE3 2 0.0000
+ angle_coeff @angle:c3-c-n harmonic 67.86 115.15 # SOURCE3 153 2.7443
+ angle_coeff @angle:c3-c-ne harmonic 68.03 111.56 # CORR 12
+ angle_coeff @angle:c3-c-nf harmonic 68.03 111.56 # CORR 12
+ angle_coeff @angle:c3-c-o harmonic 68.03 123.11 # SOURCE3 267 3.0977
+ angle_coeff @angle:c3-c-oh harmonic 69.84 112.20 # SOURCE3 14 1.8324
+ angle_coeff @angle:c3-c-os harmonic 69.26 111.96 # SOURCE3 15 2.3072
+ angle_coeff @angle:c3-c-p3 harmonic 74.55 116.42 # SOURCE3 3 0.1291
+ angle_coeff @angle:c3-c-p5 harmonic 73.81 118.90 # SOURCE3 1
+ angle_coeff @angle:c3-c-pe harmonic 74.19 114.85 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-c-pf harmonic 74.19 114.85 # SOURCE3 1 same_as_c3-c-pe
+ angle_coeff @angle:c3-c-px harmonic 74.17 115.60 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-c-py harmonic 74.48 118.16 # SOURCE3 3 1.0735
+ angle_coeff @angle:c3-c-s4 harmonic 59.64 114.79 # SOURCE3 1
+ angle_coeff @angle:c3-c-s6 harmonic 59.65 114.72 # SOURCE3 1
+ angle_coeff @angle:c3-c-s harmonic 62.03 123.73 # SOURCE3 9 1.4528
+ angle_coeff @angle:c3-c-sh harmonic 61.97 114.21 # SOURCE3 3 2.3916
+ angle_coeff @angle:c3-c-ss harmonic 62.41 114.32 # SOURCE3 5 2.7478
+ angle_coeff @angle:c3-c-sx harmonic 59.48 113.97 # SOURCE3 3 0.0610
+ angle_coeff @angle:c3-c-sy harmonic 59.89 114.28 # SOURCE3 3 0.7341
+ angle_coeff @angle:ca-c-ca harmonic 63.03 118.58 # SOURCE4 144 2.1146
+ angle_coeff @angle:ca-c-cc harmonic 64.24 116.07 # CORR 257
+ angle_coeff @angle:ca-c-cd harmonic 64.24 116.07 # CORR 257
+ angle_coeff @angle:ca-c-ce harmonic 63.21 118.92 # CORR 36
+ angle_coeff @angle:ca-c-cf harmonic 63.21 118.92 # CORR 36
+ angle_coeff @angle:ca-c-h4 harmonic 46.52 115.14 # SOURCE4 30 0.7320
+ angle_coeff @angle:ca-c-ha harmonic 46.80 114.12 # SOURCE3 1 0.0000
+ angle_coeff @angle:ca-c-n harmonic 68.47 115.14 # SOURCE4 571 1.4648
+ angle_coeff @angle:ca-c-ne harmonic 67.74 114.39 # SOURCE4 5 0.2958
+ angle_coeff @angle:ca-c-o harmonic 68.67 123.44 # SOURCE3 18 2.5574
+ angle_coeff @angle:ca-c-oh harmonic 70.11 113.44 # SOURCE4 222 0.8421
+ angle_coeff @angle:ca-c-os harmonic 68.78 115.54 # SOURCE3 5 2.6708
+ angle_coeff @angle:ca-c-s harmonic 62.52 123.04 # SOURCE4 12 0.7935
+ angle_coeff @angle:ca-c-sh harmonic 61.05 118.63 # SOURCE3 1 0.0000
+ angle_coeff @angle:ca-c-ss harmonic 62.45 115.13 # SOURCE4 12 1.0069
+ angle_coeff @angle:br-cc-c harmonic 63.98 115.68 # SOURCE4 8 0.4970
+ angle_coeff @angle:br-cc-cc harmonic 61.82 124.89 # SOURCE4 8 1.9479
+ angle_coeff @angle:br-cc-cd harmonic 62.26 124.56 # SOURCE4 32 2.4696
+ angle_coeff @angle:br-cc-na harmonic 64.60 121.42 # SOURCE4 6 0.5507
+ angle_coeff @angle:c2-cc-c3 harmonic 63.27 126.11 # SOURCE3 2 0.0000
+ angle_coeff @angle:c2-cc-ca harmonic 65.34 124.66 # CORR 16
+ angle_coeff @angle:c2-cc-cc harmonic 66.24 121.77 # CORR 32
+ angle_coeff @angle:c2-cc-cd harmonic 69.09 117.02 # SOURCE3 2 0.0703
+ angle_coeff @angle:c2-cc-ha harmonic 48.69 122.72 # SOURCE3 2 0.0092
+ angle_coeff @angle:c2-cc-n harmonic 67.74 126.90 # SOURCE3 1 0.0000
+ angle_coeff @angle:c2-cc-os harmonic 70.10 120.79 # CORR 13
+ angle_coeff @angle:c-c-c3 harmonic 61.72 116.86 # SOURCE3 5 0.1653
+ angle_coeff @angle:c3-cc-ca harmonic 61.96 125.89 # CORR 127
+ angle_coeff @angle:c3-cc-cc harmonic 64.66 115.97 # SOURCE3 4 3.0507
+ angle_coeff @angle:c3-cc-cd harmonic 64.81 119.45 # SOURCE3 35 8.2040
+ angle_coeff @angle:c3-cc-cf harmonic 65.34 117.84 # CORR 2
+ angle_coeff @angle:c3-cc-ha harmonic 45.11 121.52 # SOURCE3 32 3.2091
+ angle_coeff @angle:c3-cc-n2 harmonic 65.80 126.87 # CORR 9
+ angle_coeff @angle:c3-cc-n harmonic 66.33 119.11 # CORR 68
+ angle_coeff @angle:c3-cc-na harmonic 65.50 122.78 # CORR 632
+ angle_coeff @angle:c3-cc-nc harmonic 65.90 120.94 # CORR 309
+ angle_coeff @angle:c3-cc-nd harmonic 66.32 122.13 # CORR 475
+ angle_coeff @angle:c3-cc-os harmonic 67.54 116.88 # CORR 203
+ angle_coeff @angle:c3-cc-ss harmonic 61.21 121.66 # CORR 171
+ angle_coeff @angle:c-c-c harmonic 62.30 111.68 # SOURCE3 2 6.1226
+ angle_coeff @angle:c-c-ca harmonic 61.73 118.34 # SOURCE4 26 1.0692
+ angle_coeff @angle:ca-cc-cc harmonic 67.66 111.04 # SOURCE3 9 7.9455
+ angle_coeff @angle:ca-cc-cd harmonic 68.23 113.51 # SOURCE3 26 7.4229
+ angle_coeff @angle:ca-cc-ce harmonic 62.51 127.87 # SOURCE4 11 1.7579
+ angle_coeff @angle:ca-cc-h4 harmonic 45.57 128.66 # SOURCE3 10 3.1167
+ angle_coeff @angle:ca-cc-ha harmonic 46.40 124.04 # SOURCE3 34 3.6691
+ angle_coeff @angle:ca-cc-n harmonic 68.46 117.67 # CORR 18
+ angle_coeff @angle:ca-cc-nc harmonic 67.69 120.67 # CORR 162
+ angle_coeff @angle:ca-cc-nd harmonic 67.92 123.02 # CORR 188
+ angle_coeff @angle:ca-cc-nh harmonic 67.46 122.45 # SOURCE4 9 1.4092
+ angle_coeff @angle:ca-cc-oh harmonic 69.61 117.71 # CORR 21
+ angle_coeff @angle:ca-cc-os harmonic 69.82 115.16 # CORR 134
+ angle_coeff @angle:ca-cc-ss harmonic 62.30 120.51 # CORR 43
+ angle_coeff @angle:c-cc-c2 harmonic 65.60 120.92 # CORR 22
+ angle_coeff @angle:c-cc-c3 harmonic 63.60 117.42 # CORR 126
+ angle_coeff @angle:c-cc-c harmonic 63.42 121.17 # CORR 64
+ angle_coeff @angle:c-c-cc harmonic 64.02 111.67 # SOURCE3 4 5.5146
+ angle_coeff @angle:c-cc-ca harmonic 63.55 122.95 # SOURCE3 1 0.0000
+ angle_coeff @angle:c-cc-cc harmonic 63.72 122.69 # SOURCE3 2 0.0000
+ angle_coeff @angle:cc-c-cc harmonic 64.80 116.04 # CORR 56
+ angle_coeff @angle:cc-cc-cc harmonic 67.88 110.70 # SOURCE3 54 3.4091
+ angle_coeff @angle:cc-cc-cd harmonic 68.16 114.19 # SOURCE3 517 6.5960
+ angle_coeff @angle:cc-cc-ce harmonic 62.78 127.20 # CORR 42
+ angle_coeff @angle:cc-cc-cf harmonic 65.88 122.59 # CORR 39
+ angle_coeff @angle:cc-cc-cg harmonic 63.63 126.15 # CORR 27
+ angle_coeff @angle:c-cc-cd harmonic 65.25 121.42 # CORR 1708
+ angle_coeff @angle:cc-c-cd harmonic 65.73 112.79 # SOURCE3 1 0.0000
+ angle_coeff @angle:c-cc-ce harmonic 63.20 122.73 # CORR 10
+ angle_coeff @angle:cc-c-ce harmonic 64.64 115.68 # SOURCE4 6 1.2033
+ angle_coeff @angle:cc-cc-f harmonic 66.35 119.41 # SOURCE4 7 0.4917
+ angle_coeff @angle:c-cc-cg harmonic 64.98 118.14 # SOURCE4 7 0.7745
+ angle_coeff @angle:cc-cc-h4 harmonic 45.56 129.47 # SOURCE3 171 2.2734
+ angle_coeff @angle:cc-cc-ha harmonic 47.14 120.86 # CORR 1751
+ angle_coeff @angle:c-cc-cl harmonic 58.39 116.05 # CORR 24
+ angle_coeff @angle:cc-cc-n2 harmonic 69.48 121.15 # CORR 12
+ angle_coeff @angle:cc-cc-n harmonic 67.95 119.89 # SOURCE3 36 0.2095
+ angle_coeff @angle:cc-cc-na harmonic 72.21 106.80 # SOURCE3 33 0.6297
+ angle_coeff @angle:cc-cc-nc harmonic 67.53 121.69 # CORR 105
+ angle_coeff @angle:cc-cc-nd harmonic 71.15 112.56 # SOURCE3 141 4.2871
+ angle_coeff @angle:cc-cc-nh harmonic 68.41 119.51 # CORR 228
+ angle_coeff @angle:cc-cc-oh harmonic 68.53 121.96 # CORR 27
+ angle_coeff @angle:cc-cc-os harmonic 69.34 117.23 # CORR 211
+ angle_coeff @angle:cc-cc-pd harmonic 80.79 115.36 # SOURCE3 84 same_as_cd-cd-pc
+ angle_coeff @angle:cc-cc-ss harmonic 62.45 120.12 # CORR 31
+ angle_coeff @angle:cc-cc-sy harmonic 59.22 128.36 # SOURCE4 8 0.9813
+ angle_coeff @angle:c-c-cd harmonic 64.02 111.67 # SOURCE3 4 5.5146
+ angle_coeff @angle:cd-cc-cd harmonic 67.89 120.23 # CORR 133
+ angle_coeff @angle:cd-cc-ce harmonic 63.67 128.41 # CORR 210
+ angle_coeff @angle:cd-cc-cl harmonic 57.46 123.70 # CORR 62
+ angle_coeff @angle:cd-cc-f harmonic 67.42 121.08 # SOURCE4 28 0.8788
+ angle_coeff @angle:cd-cc-h4 harmonic 47.19 129.11 # SOURCE3 418 3.1355
+ angle_coeff @angle:cd-cc-ha harmonic 48.35 122.89 # SOURCE3 584 2.9334
+ angle_coeff @angle:cd-cc-n harmonic 70.72 115.52 # SOURCE3 52 1.3322
+ angle_coeff @angle:cd-cc-na harmonic 72.91 109.42 # SOURCE3 265 2.6051
+ angle_coeff @angle:cd-cc-nc harmonic 72.01 111.75 # CORR 1101
+ angle_coeff @angle:cd-cc-nh harmonic 68.69 123.89 # CORR 106
+ angle_coeff @angle:cd-cc-no harmonic 65.78 128.95 # SOURCE4 117 1.4740
+ angle_coeff @angle:cd-cc-oh harmonic 69.56 123.89 # CORR 106
+ angle_coeff @angle:cd-cc-os harmonic 69.96 120.30 # SOURCE3 64 5.4354
+ angle_coeff @angle:cd-cc-ss harmonic 65.44 111.55 # CORR 884
+ angle_coeff @angle:cd-cc-sy harmonic 60.54 124.91 # CORR 41
+ angle_coeff @angle:ce-cc-na harmonic 66.32 124.22 # CORR 48
+ angle_coeff @angle:ce-cc-nc harmonic 67.01 121.29 # CORR 37
+ angle_coeff @angle:ce-cc-nd harmonic 67.80 121.51 # CORR 37
+ angle_coeff @angle:ce-cc-os harmonic 68.17 119.03 # CORR 66
+ angle_coeff @angle:ce-cc-ss harmonic 61.83 121.44 # CORR 38
+ angle_coeff @angle:c-cc-f harmonic 66.16 116.87 # SOURCE4 16 0.5322
+ angle_coeff @angle:cg-cc-na harmonic 67.51 122.35 # SOURCE4 5 0.8112
+ angle_coeff @angle:cg-cc-ss harmonic 62.33 120.70 # SOURCE4 12 0.9090
+ angle_coeff @angle:cc-c-h4 harmonic 47.13 115.45 # SOURCE4 5 0.8021
+ angle_coeff @angle:c-cc-ha harmonic 46.99 117.02 # SOURCE3 56 1.9713
+ angle_coeff @angle:cl-cc-na harmonic 59.37 121.61 # SOURCE4 12 0.3436
+ angle_coeff @angle:cl-cc-nd harmonic 59.35 122.97 # CORR 6
+ angle_coeff @angle:cl-cc-ss harmonic 58.09 119.85 # SOURCE4 11 1.0626
+ angle_coeff @angle:c-cc-n2 harmonic 68.54 120.89 # CORR 2
+ angle_coeff @angle:c-cc-n harmonic 68.11 116.32 # CORR 21
+ angle_coeff @angle:cc-c-n harmonic 70.19 111.86 # SOURCE3 36 2.3407
+ angle_coeff @angle:c-cc-nc harmonic 66.19 123.47 # CORR 24
+ angle_coeff @angle:cc-c-nd harmonic 67.92 116.21 # CORR 33
+ angle_coeff @angle:c-cc-nd harmonic 67.50 121.67 # CORR 47
+ angle_coeff @angle:c-cc-ne harmonic 67.11 119.88 # SOURCE4 6 0.3139
+ angle_coeff @angle:cc-c-o harmonic 68.91 125.71 # SOURCE3 66 2.4784
+ angle_coeff @angle:c-cc-oh harmonic 70.04 113.64 # CORR 53
+ angle_coeff @angle:cc-c-oh harmonic 71.00 113.10 # CORR 85
+ angle_coeff @angle:c-cc-os harmonic 67.83 119.39 # CORR 78
+ angle_coeff @angle:cc-c-os harmonic 70.50 112.30 # SOURCE3 6 2.7842
+ angle_coeff @angle:cc-c-s harmonic 61.67 127.94 # SOURCE4 12 0.9342
+ angle_coeff @angle:cc-c-ss harmonic 63.47 112.52 # SOURCE4 10 0.6933
+ angle_coeff @angle:cx-cc-nd harmonic 65.61 127.75 # SOURCE4 12 1.7156
+ angle_coeff @angle:cx-cc-os harmonic 67.94 118.08 # SOURCE4 10 0.0955
+ angle_coeff @angle:cd-c-cd harmonic 64.80 116.04 # CORR 56
+ angle_coeff @angle:cd-c-cx harmonic 63.88 117.46 # SOURCE4 13 0.1625
+ angle_coeff @angle:cd-c-n harmonic 70.19 111.86 # SOURCE3 36 2.3407
+ angle_coeff @angle:cd-c-nc harmonic 67.92 116.21 # CORR 33
+ angle_coeff @angle:cd-c-nd harmonic 68.65 113.75 # SOURCE4 14 0.0860
+ angle_coeff @angle:cd-c-o harmonic 68.91 125.71 # SOURCE3 66 2.4784
+ angle_coeff @angle:cd-c-oh harmonic 71.00 113.10 # CORR 85
+ angle_coeff @angle:cd-c-os harmonic 70.50 112.30 # SOURCE3 6 2.7842
+ angle_coeff @angle:ce-c-ce harmonic 64.34 115.80 # CORR 74
+ angle_coeff @angle:ce-c-cf harmonic 64.04 116.89 # SOURCE4 11 1.6021
+ angle_coeff @angle:ce-c-cx harmonic 63.95 116.25 # SOURCE4 6 0.6351
+ angle_coeff @angle:ce-c-h4 harmonic 46.93 114.88 # SOURCE4 19 0.3355
+ angle_coeff @angle:ce-c-ha harmonic 46.93 115.22 # SOURCE3 7 2.4188
+ angle_coeff @angle:ce-c-n harmonic 68.80 115.27 # CORR 32
+ angle_coeff @angle:ce-c-o harmonic 69.27 122.92 # SOURCE3 17 3.5085
+ angle_coeff @angle:ce-c-oh harmonic 70.32 114.09 # CORR 128
+ angle_coeff @angle:ce-c-os harmonic 70.16 112.28 # CORR 149
+ angle_coeff @angle:ce-c-s harmonic 64.09 117.80 # SOURCE3 1 0.0000
+ angle_coeff @angle:ce-c-ss harmonic 63.94 110.39 # SOURCE4 5 0.6050
+ angle_coeff @angle:cf-c-cf harmonic 64.34 115.80 # CORR 74
+ angle_coeff @angle:cf-c-ha harmonic 46.93 115.22 # SOURCE3 7 same_as_ce-c-ha
+ angle_coeff @angle:cf-c-n harmonic 68.80 115.27 # CORR 32
+ angle_coeff @angle:cf-c-o harmonic 69.27 122.92 # SOURCE3 17 3.5085
+ angle_coeff @angle:cf-c-oh harmonic 70.32 114.09 # CORR 128
+ angle_coeff @angle:cf-c-os harmonic 70.16 112.28 # CORR 149
+ angle_coeff @angle:cf-c-s harmonic 64.09 117.80 # SOURCE3 1 same_as_ce-c-s
+ angle_coeff @angle:cg-c-cg harmonic 65.44 115.38 # SOURCE3 1 0.0000
+ angle_coeff @angle:cg-c-ha harmonic 47.80 113.90 # SOURCE2 1 0.0000
+ angle_coeff @angle:cg-c-o harmonic 70.21 122.31 # SOURCE3 2 0.0000
+ angle_coeff @angle:c-c-h4 harmonic 44.62 116.36 # SOURCE4 5 0.5586
+ angle_coeff @angle:h4-cc-n harmonic 50.39 117.62 # SOURCE3 53 0.9721
+ angle_coeff @angle:h4-cc-na harmonic 50.22 119.66 # SOURCE3 294 2.4702
+ angle_coeff @angle:h4-cc-nc harmonic 50.00 120.03 # SOURCE3 16 2.3863
+ angle_coeff @angle:h4-cc-nd harmonic 51.39 119.11 # SOURCE3 135 1.6946
+ angle_coeff @angle:h4-cc-os harmonic 52.27 111.89 # SOURCE3 61 2.3500
+ angle_coeff @angle:h4-cc-ss harmonic 42.95 117.75 # SOURCE3 40 3.1156
+ angle_coeff @angle:h5-cc-n harmonic 50.84 115.72 # CORR 20
+ angle_coeff @angle:h5-cc-na harmonic 49.76 122.10 # SOURCE3 16 1.4626
+ angle_coeff @angle:h5-cc-nc harmonic 49.29 123.70 # SOURCE3 6 0.3547
+ angle_coeff @angle:h5-cc-nd harmonic 50.13 125.38 # SOURCE3 40 2.2157
+ angle_coeff @angle:h5-cc-os harmonic 51.30 116.33 # SOURCE3 12 3.2919
+ angle_coeff @angle:h5-cc-ss harmonic 42.19 122.00 # SOURCE3 6 0.7237
+ angle_coeff @angle:c-c-ha harmonic 44.85 115.43 # SOURCE2 3 0.6549
+ angle_coeff @angle:ha-cc-na harmonic 49.82 121.50 # SOURCE2 1 0.0000
+ angle_coeff @angle:ha-cc-nc harmonic 50.73 116.54 # SOURCE3 5 1.4482
+ angle_coeff @angle:ha-cc-nd harmonic 51.41 118.88 # SOURCE3 20 2.8923
+ angle_coeff @angle:ha-cc-os harmonic 52.49 110.86 # SOURCE3 7 1.3846
+ angle_coeff @angle:ha-cc-pd harmonic 53.59 121.76 # SOURCE3 84 same_as_ha-cd-pc
+ angle_coeff @angle:ha-cc-ss harmonic 42.26 121.64 # SOURCE2 5 1.3276
+ angle_coeff @angle:ch-c-ch harmonic 65.44 115.38 # SOURCE3 1 same_as_cg-c-cg
+ angle_coeff @angle:ch-c-ha harmonic 47.80 113.90 # SOURCE2 1 same_as_cg-c-ha
+ angle_coeff @angle:ch-c-o harmonic 70.21 122.31 # SOURCE3 2 same_as_cg-c-o
+ angle_coeff @angle:cl-c-cl harmonic 54.78 111.30 # SOURCE2 1 0.0000
+ angle_coeff @angle:cl-c-f harmonic 59.05 112.00 # SOURCE2 1 0.0000
+ angle_coeff @angle:cl-c-ha harmonic 40.42 109.90 # SOURCE2 1 0.0000
+ angle_coeff @angle:cl-c-o harmonic 59.78 121.51 # SOURCE3 6 1.6987
+ angle_coeff @angle:cl-c-s harmonic 56.74 127.60 # SOURCE2 1 0.0000
+ angle_coeff @angle:c-c-n harmonic 67.53 112.14 # SOURCE4 53 2.1247
+ angle_coeff @angle:na-cc-nc harmonic 70.72 121.62 # CORR 231
+ angle_coeff @angle:na-cc-nd harmonic 74.78 112.02 # SOURCE3 17 2.2434
+ angle_coeff @angle:na-cc-no harmonic 68.48 124.90 # SOURCE4 48 0.7933
+ angle_coeff @angle:na-cc-oh harmonic 73.25 117.26 # SOURCE4 16 0.9090
+ angle_coeff @angle:na-cc-sx harmonic 63.25 117.04 # SOURCE4 13 0.4187
+ angle_coeff @angle:na-cc-sy harmonic 63.13 120.55 # SOURCE4 7 1.7547
+ angle_coeff @angle:nc-cc-nd harmonic 73.35 115.96 # CORR 222
+ angle_coeff @angle:nc-cc-nh harmonic 72.33 116.85 # CORR 35
+ angle_coeff @angle:nc-cc-no harmonic 69.31 121.54 # SOURCE4 7 0.9221
+ angle_coeff @angle:nc-cc-ss harmonic 64.63 119.86 # SOURCE3 2 0.0000
+ angle_coeff @angle:nd-cc-nd harmonic 70.88 128.17 # SOURCE4 7 0.0269
+ angle_coeff @angle:nd-cc-ne harmonic 69.29 129.66 # SOURCE4 7 0.4306
+ angle_coeff @angle:nd-cc-nh harmonic 72.41 120.11 # SOURCE3 5 0.9313
+ angle_coeff @angle:nd-cc-no harmonic 69.90 122.68 # SOURCE4 16 0.3393
+ angle_coeff @angle:nd-cc-oh harmonic 72.93 121.54 # CORR 22
+ angle_coeff @angle:nd-cc-os harmonic 73.85 116.29 # CORR 209
+ angle_coeff @angle:nd-cc-sh harmonic 62.75 124.92 # SOURCE4 5 0.9563
+ angle_coeff @angle:nd-cc-ss harmonic 66.51 114.51 # SOURCE3 8 0.3449
+ angle_coeff @angle:nd-cc-sx harmonic 60.81 127.60 # SOURCE4 14 1.1650
+ angle_coeff @angle:nd-cc-sy harmonic 62.75 123.08 # SOURCE4 13 1.0531
+ angle_coeff @angle:ne-cc-ss harmonic 65.39 116.99 # SOURCE4 7 0.1657
+ angle_coeff @angle:nh-cc-nh harmonic 72.93 115.96 # SOURCE3 1 0.0000
+ angle_coeff @angle:nh-cc-os harmonic 72.96 116.69 # CORR 25
+ angle_coeff @angle:nh-cc-ss harmonic 64.19 121.94 # CORR 91
+ angle_coeff @angle:n-cc-n2 harmonic 74.78 114.48 # SOURCE4 15 2.3208
+ angle_coeff @angle:n-cc-na harmonic 70.47 122.14 # CORR 59
+ angle_coeff @angle:n-cc-nc harmonic 69.35 125.66 # CORR 64
+ angle_coeff @angle:n-cc-nd harmonic 71.12 122.98 # CORR 229
+ angle_coeff @angle:n-cc-nh harmonic 72.22 116.87 # CORR 79
+ angle_coeff @angle:no-cc-os harmonic 71.01 117.59 # SOURCE4 62 0.2199
+ angle_coeff @angle:no-cc-ss harmonic 63.76 121.10 # SOURCE4 10 0.0957
+ angle_coeff @angle:n-cc-ss harmonic 63.75 123.03 # CORR 45
+ angle_coeff @angle:c-c-o harmonic 67.16 120.99 # SOURCE4 233 2.0333
+ angle_coeff @angle:c-c-oh harmonic 68.20 113.23 # SOURCE3 5 0.5615
+ angle_coeff @angle:c-c-os harmonic 68.18 111.39 # SOURCE4 14 0.4038
+ angle_coeff @angle:os-cc-ss harmonic 61.99 132.01 # SOURCE3 1 0.0000
+ angle_coeff @angle:ss-cc-ss harmonic 62.44 121.37 # CORR 22
+ angle_coeff @angle:ss-cc-sy harmonic 61.51 121.70 # CORR 39
+ angle_coeff @angle:cx-c-cx harmonic 85.45 64.60 # SOURCE2 1 0.0000
+ angle_coeff @angle:cx-c-n harmonic 68.69 114.49 # SOURCE4 23 1.4914
+ angle_coeff @angle:cx-c-o harmonic 68.88 122.82 # SOURCE4 97 2.2075
+ angle_coeff @angle:cx-c-oh harmonic 70.49 112.32 # SOURCE4 10 0.6413
+ angle_coeff @angle:cx-c-os harmonic 70.06 111.48 # SOURCE4 16 1.3998
+ angle_coeff @angle:cy-c-cy harmonic 70.14 90.55 # SOURCE2 2 2.4500
+ angle_coeff @angle:cy-c-n harmonic 75.43 91.54 # SOURCE4 249 0.5104
+ angle_coeff @angle:cy-c-o harmonic 64.27 135.04 # SOURCE4 253 1.3450
+ angle_coeff @angle:cy-c-oh harmonic 69.09 112.48 # SOURCE4 5 1.0793
+ angle_coeff @angle:cy-c-os harmonic 74.55 94.89 # SOURCE4 8 0.6016
+ angle_coeff @angle:c2-cd-c3 harmonic 63.27 126.11 # SOURCE3 2 0.0000
+ angle_coeff @angle:c2-cd-ca harmonic 65.34 124.66 # CORR 16
+ angle_coeff @angle:c2-cd-cc harmonic 69.09 117.02 # SOURCE3 2 same_as_c2-cc-cd
+ angle_coeff @angle:c2-cd-cd harmonic 66.24 121.77 # CORR 32
+ angle_coeff @angle:c2-cd-ha harmonic 48.69 122.72 # SOURCE3 2 same_as_c2-cc-ha
+ angle_coeff @angle:c2-cd-n harmonic 67.74 126.90 # SOURCE3 1 same_as_c2-cc-n
+ angle_coeff @angle:c2-cd-os harmonic 70.10 120.79 # CORR 13
+ angle_coeff @angle:c3-cd-ca harmonic 61.96 125.89 # CORR 127
+ angle_coeff @angle:c3-cd-cc harmonic 64.81 119.45 # SOURCE3 35 8.2040
+ angle_coeff @angle:c3-cd-cd harmonic 64.66 115.97 # SOURCE3 4 3.0507
+ angle_coeff @angle:c3-cd-ce harmonic 65.34 117.84 # CORR 2
+ angle_coeff @angle:c3-cd-ha harmonic 45.11 121.52 # SOURCE3 32 3.2091
+ angle_coeff @angle:c3-cd-n2 harmonic 65.80 126.87 # CORR 9
+ angle_coeff @angle:c3-cd-n harmonic 66.33 119.11 # CORR 68
+ angle_coeff @angle:c3-cd-na harmonic 65.50 122.78 # CORR 632
+ angle_coeff @angle:c3-cd-nc harmonic 66.32 122.13 # CORR 475
+ angle_coeff @angle:c3-cd-nd harmonic 65.90 120.94 # CORR 309
+ angle_coeff @angle:c3-cd-os harmonic 67.54 116.88 # CORR 203
+ angle_coeff @angle:c3-cd-ss harmonic 61.21 121.66 # CORR 171
+ angle_coeff @angle:ca-cd-cc harmonic 68.23 113.51 # SOURCE3 26 7.4229
+ angle_coeff @angle:ca-cd-cd harmonic 67.66 111.04 # SOURCE3 9 7.9455
+ angle_coeff @angle:ca-cd-ce harmonic 65.09 125.10 # SOURCE4 9 1.9265
+ angle_coeff @angle:ca-cd-h4 harmonic 45.57 128.66 # SOURCE3 10 3.1167
+ angle_coeff @angle:ca-cd-ha harmonic 46.40 124.04 # SOURCE3 34 3.6691
+ angle_coeff @angle:ca-cd-n harmonic 68.46 117.67 # CORR 18
+ angle_coeff @angle:ca-cd-na harmonic 67.03 123.45 # SOURCE4 39 1.9138
+ angle_coeff @angle:ca-cd-nc harmonic 67.92 123.02 # CORR 188
+ angle_coeff @angle:ca-cd-nd harmonic 67.69 120.67 # CORR 162
+ angle_coeff @angle:ca-cd-oh harmonic 69.61 117.71 # CORR 21
+ angle_coeff @angle:ca-cd-os harmonic 69.82 115.16 # CORR 134
+ angle_coeff @angle:ca-cd-ss harmonic 62.30 120.51 # CORR 43
+ angle_coeff @angle:c-cd-c2 harmonic 65.60 120.92 # CORR 22
+ angle_coeff @angle:c-cd-c3 harmonic 63.60 117.42 # CORR 126
+ angle_coeff @angle:c-cd-c harmonic 63.42 121.17 # CORR 64
+ angle_coeff @angle:c-cd-ca harmonic 63.55 122.95 # SOURCE3 1 same_as_c-cc-ca
+ angle_coeff @angle:c-cd-cc harmonic 65.25 121.42 # CORR 1708
+ angle_coeff @angle:cc-cd-cc harmonic 67.89 120.23 # CORR 133
+ angle_coeff @angle:cc-cd-cd harmonic 68.16 114.19 # SOURCE3 517 6.5960
+ angle_coeff @angle:cc-cd-cf harmonic 63.67 128.41 # CORR 210
+ angle_coeff @angle:cc-cd-ch harmonic 64.92 126.05 # SOURCE4 30 1.4695
+ angle_coeff @angle:cc-cd-cl harmonic 57.46 123.70 # CORR 62
+ angle_coeff @angle:cc-cd-cy harmonic 63.93 122.13 # SOURCE4 10 0.8509
+ angle_coeff @angle:c-cd-cd harmonic 63.72 122.69 # SOURCE3 2 0.0000
+ angle_coeff @angle:c-cd-cf harmonic 63.20 122.73 # CORR 10
+ angle_coeff @angle:cc-cd-h4 harmonic 47.19 129.11 # SOURCE3 418 3.1355
+ angle_coeff @angle:cc-cd-ha harmonic 48.35 122.89 # SOURCE3 584 2.9334
+ angle_coeff @angle:c-cd-cl harmonic 58.39 116.05 # CORR 24
+ angle_coeff @angle:cc-cd-n harmonic 70.72 115.52 # SOURCE3 52 1.3322
+ angle_coeff @angle:cc-cd-na harmonic 72.91 109.42 # SOURCE3 265 2.6051
+ angle_coeff @angle:cc-cd-nc harmonic 69.42 123.82 # SOURCE4 14 0.3678
+ angle_coeff @angle:cc-cd-nd harmonic 72.01 111.75 # CORR 1101
+ angle_coeff @angle:cc-cd-nh harmonic 68.69 123.89 # CORR 106
+ angle_coeff @angle:cc-cd-oh harmonic 69.56 123.89 # CORR 106
+ angle_coeff @angle:cc-cd-os harmonic 69.96 120.30 # SOURCE3 64 5.4354
+ angle_coeff @angle:cc-cd-ss harmonic 65.44 111.55 # CORR 884
+ angle_coeff @angle:cc-cd-sy harmonic 60.54 124.91 # CORR 41
+ angle_coeff @angle:cd-cd-cd harmonic 67.88 110.70 # SOURCE3 54 3.4091
+ angle_coeff @angle:cd-cd-ce harmonic 65.88 122.59 # CORR 39
+ angle_coeff @angle:cd-cd-cf harmonic 62.78 127.20 # CORR 42
+ angle_coeff @angle:cd-cd-ch harmonic 63.63 126.15 # CORR 27
+ angle_coeff @angle:cd-cd-cy harmonic 63.17 120.93 # SOURCE4 6 1.2205
+ angle_coeff @angle:cd-cd-h4 harmonic 45.56 129.47 # SOURCE3 171 2.2734
+ angle_coeff @angle:cd-cd-ha harmonic 47.14 120.86 # CORR 1751
+ angle_coeff @angle:cd-cd-n2 harmonic 69.48 121.15 # CORR 12
+ angle_coeff @angle:cd-cd-n harmonic 67.95 119.89 # SOURCE3 36 0.2095
+ angle_coeff @angle:cd-cd-na harmonic 72.21 106.80 # SOURCE3 33 same_as_cc-cc-na
+ angle_coeff @angle:cd-cd-nc harmonic 71.15 112.56 # SOURCE3 141 4.2871
+ angle_coeff @angle:cd-cd-nd harmonic 67.53 121.69 # CORR 105
+ angle_coeff @angle:cd-cd-nh harmonic 68.41 119.51 # CORR 228
+ angle_coeff @angle:cd-cd-oh harmonic 68.53 121.96 # CORR 27
+ angle_coeff @angle:cd-cd-os harmonic 69.34 117.23 # CORR 211
+ angle_coeff @angle:cd-cd-pc harmonic 80.79 115.36 # SOURCE3 84 3.2889
+ angle_coeff @angle:cd-cd-ss harmonic 62.45 120.12 # CORR 31
+ angle_coeff @angle:ce-cd-nd harmonic 68.22 124.90 # SOURCE4 5 2.3975
+ angle_coeff @angle:cf-cd-na harmonic 66.32 124.22 # CORR 48
+ angle_coeff @angle:cf-cd-nc harmonic 67.80 121.51 # CORR 37
+ angle_coeff @angle:cf-cd-nd harmonic 67.01 121.29 # CORR 37
+ angle_coeff @angle:cf-cd-os harmonic 68.17 119.03 # CORR 66
+ angle_coeff @angle:cf-cd-ss harmonic 61.83 121.44 # CORR 38
+ angle_coeff @angle:c-cd-h4 harmonic 46.77 118.19 # SOURCE4 8 0.2226
+ angle_coeff @angle:c-cd-ha harmonic 46.99 117.02 # SOURCE3 56 1.9713
+ angle_coeff @angle:cl-cd-nc harmonic 59.35 122.97 # CORR 6
+ angle_coeff @angle:c-cd-n2 harmonic 68.54 120.89 # CORR 2
+ angle_coeff @angle:c-cd-n harmonic 68.11 116.32 # CORR 21
+ angle_coeff @angle:c-cd-nc harmonic 67.50 121.67 # CORR 47
+ angle_coeff @angle:c-cd-nd harmonic 66.19 123.47 # CORR 24
+ angle_coeff @angle:c-cd-oh harmonic 70.04 113.64 # CORR 53
+ angle_coeff @angle:c-cd-os harmonic 67.83 119.39 # CORR 78
+ angle_coeff @angle:h4-cd-n harmonic 50.39 117.62 # SOURCE3 53 0.9721
+ angle_coeff @angle:h4-cd-na harmonic 50.22 119.66 # SOURCE3 294 2.4702
+ angle_coeff @angle:h4-cd-nc harmonic 51.39 119.11 # SOURCE3 135 1.6946
+ angle_coeff @angle:h4-cd-nd harmonic 50.00 120.03 # SOURCE3 16 2.3863
+ angle_coeff @angle:h4-cd-os harmonic 52.27 111.89 # SOURCE3 61 2.3500
+ angle_coeff @angle:h4-cd-ss harmonic 42.95 117.75 # SOURCE3 40 3.1156
+ angle_coeff @angle:h5-cd-n harmonic 50.84 115.72 # CORR 20
+ angle_coeff @angle:h5-cd-na harmonic 49.76 122.10 # SOURCE3 16 1.4626
+ angle_coeff @angle:h5-cd-nc harmonic 50.13 125.38 # SOURCE3 40 2.2157
+ angle_coeff @angle:h5-cd-nd harmonic 49.29 123.70 # SOURCE3 6 0.3547
+ angle_coeff @angle:h5-cd-os harmonic 51.30 116.33 # SOURCE3 12 3.2919
+ angle_coeff @angle:h5-cd-ss harmonic 42.19 122.00 # SOURCE3 6 0.7237
+ angle_coeff @angle:ha-cd-na harmonic 49.82 121.50 # SOURCE2 1 same_as_ha-cc-na
+ angle_coeff @angle:ha-cd-nc harmonic 51.41 118.88 # SOURCE3 20 2.8923
+ angle_coeff @angle:ha-cd-nd harmonic 50.73 116.54 # SOURCE3 5 1.4482
+ angle_coeff @angle:ha-cd-os harmonic 52.49 110.86 # SOURCE3 7 1.3846
+ angle_coeff @angle:ha-cd-pc harmonic 53.59 121.76 # SOURCE3 84 2.2216
+ angle_coeff @angle:ha-cd-ss harmonic 42.26 121.64 # SOURCE2 5 same_as_ha-cc-ss
+ angle_coeff @angle:na-cd-nc harmonic 74.78 112.02 # SOURCE3 17 2.2434
+ angle_coeff @angle:na-cd-nd harmonic 70.72 121.62 # CORR 231
+ angle_coeff @angle:na-cd-nh harmonic 72.43 116.98 # SOURCE4 46 1.4937
+ angle_coeff @angle:na-cd-ss harmonic 67.07 111.46 # SOURCE4 20 0.8600
+ angle_coeff @angle:nc-cd-nd harmonic 73.35 115.96 # CORR 222
+ angle_coeff @angle:nc-cd-nh harmonic 72.41 120.11 # SOURCE3 5 0.9313
+ angle_coeff @angle:nc-cd-oh harmonic 72.93 121.54 # CORR 22
+ angle_coeff @angle:nc-cd-os harmonic 73.85 116.29 # CORR 209
+ angle_coeff @angle:nc-cd-ss harmonic 66.51 114.51 # SOURCE3 8 0.3449
+ angle_coeff @angle:nd-cd-nd harmonic 69.47 125.58 # SOURCE4 13 0.4672
+ angle_coeff @angle:nd-cd-nh harmonic 72.33 116.85 # CORR 35
+ angle_coeff @angle:nd-cd-ss harmonic 64.63 119.86 # SOURCE3 2 same_as_nc-cc-ss
+ angle_coeff @angle:nh-cd-nh harmonic 72.93 115.96 # SOURCE3 1 same_as_nh-cc-nh
+ angle_coeff @angle:nh-cd-os harmonic 72.96 116.69 # CORR 25
+ angle_coeff @angle:nh-cd-ss harmonic 64.19 121.94 # CORR 91
+ angle_coeff @angle:n-cd-na harmonic 70.47 122.14 # CORR 59
+ angle_coeff @angle:n-cd-nc harmonic 71.12 122.98 # CORR 229
+ angle_coeff @angle:n-cd-nd harmonic 69.35 125.66 # CORR 64
+ angle_coeff @angle:n-cd-nh harmonic 72.22 116.87 # CORR 79
+ angle_coeff @angle:n-cd-ss harmonic 63.75 123.03 # CORR 45
+ angle_coeff @angle:oh-cd-os harmonic 75.54 111.61 # SOURCE4 6 1.1909
+ angle_coeff @angle:os-cd-ss harmonic 61.99 132.01 # SOURCE3 1 same_as_os-cc-ss
+ angle_coeff @angle:ss-cd-ss harmonic 62.44 121.37 # CORR 22
+ angle_coeff @angle:ss-cd-sy harmonic 61.51 121.70 # CORR 39
+ angle_coeff @angle:c2-ce-c3 harmonic 64.30 122.89 # SOURCE3 7 1.0449
+ angle_coeff @angle:c2-ce-ca harmonic 65.16 123.08 # SOURCE3 6 2.1589
+ angle_coeff @angle:c2-ce-cc harmonic 65.62 123.27 # CORR 72
+ angle_coeff @angle:c2-ce-ce harmonic 65.73 123.08 # SOURCE3 12 0.6518
+ angle_coeff @angle:c2-ce-cg harmonic 66.66 121.67 # CORR 21
+ angle_coeff @angle:c2-ce-cl harmonic 57.87 119.51 # SOURCE4 24 1.4963
+ angle_coeff @angle:c2-ce-h4 harmonic 48.64 125.58 # SOURCE4 11 0.9381
+ angle_coeff @angle:c2-ce-ha harmonic 49.56 121.10 # SOURCE3 46 2.4054
+ angle_coeff @angle:c2-ce-n1 harmonic 72.67 117.85 # SOURCE4 7 0.3180
+ angle_coeff @angle:c2-ce-n2 harmonic 70.34 128.70 # SOURCE3 1 0.0000
+ angle_coeff @angle:c2-ce-na harmonic 69.29 119.19 # SOURCE4 5 0.8452
+ angle_coeff @angle:c2-ce-ne harmonic 69.73 118.32 # SOURCE3 7 1.0468
+ angle_coeff @angle:c2-ce-oh harmonic 70.32 123.78 # SOURCE4 10 1.8182
+ angle_coeff @angle:c2-ce-p2 harmonic 77.91 118.24 # SOURCE3 1
+ angle_coeff @angle:c2-ce-pe harmonic 77.59 118.76 # SOURCE3 8 2.3984
+ angle_coeff @angle:c2-ce-px harmonic 77.17 119.72 # SOURCE3 6 0.5213
+ angle_coeff @angle:c2-ce-py harmonic 77.39 122.13 # SOURCE3 5 3.1367
+ angle_coeff @angle:c2-ce-sx harmonic 61.64 119.87 # SOURCE3 5 0.8557
+ angle_coeff @angle:c2-ce-sy harmonic 61.96 120.35 # SOURCE3 5 0.5401
+ angle_coeff @angle:c3-ce-ca harmonic 62.76 119.28 # CORR 178
+ angle_coeff @angle:c3-ce-cc harmonic 63.42 118.22 # CORR 39
+ angle_coeff @angle:c3-ce-ce harmonic 63.80 116.99 # CORR 244
+ angle_coeff @angle:c3-ce-cf harmonic 64.52 122.11 # CORR 221
+ angle_coeff @angle:c3-ce-cg harmonic 63.79 118.48 # SOURCE4 8 1.4756
+ angle_coeff @angle:c3-ce-n2 harmonic 66.92 122.70 # CORR 81
+ angle_coeff @angle:c3-ce-nf harmonic 67.26 120.75 # SOURCE4 6 2.1938
+ angle_coeff @angle:c3-ce-nh harmonic 65.76 119.90 # SOURCE4 5 0.9634
+ angle_coeff @angle:ca-ce-ca harmonic 63.94 117.58 # CORR 112
+ angle_coeff @angle:ca-ce-cc harmonic 64.21 118.06 # CORR 17
+ angle_coeff @angle:ca-ce-ce harmonic 63.84 119.62 # SOURCE4 14 1.9171
+ angle_coeff @angle:ca-ce-cf harmonic 64.07 127.39 # CORR 318
+ angle_coeff @angle:ca-ce-cl harmonic 57.99 114.22 # SOURCE4 6 1.3164
+ angle_coeff @angle:ca-ce-h4 harmonic 46.71 116.86 # SOURCE4 74 0.9179
+ angle_coeff @angle:ca-ce-ha harmonic 47.07 115.16 # CORR 345
+ angle_coeff @angle:ca-ce-n2 harmonic 68.51 120.72 # SOURCE3 1 0.0000
+ angle_coeff @angle:ca-ce-nf harmonic 67.74 122.66 # CORR 22
+ angle_coeff @angle:ca-ce-nh harmonic 67.87 115.51 # SOURCE4 93 0.9284
+ angle_coeff @angle:ca-ce-oh harmonic 68.85 116.37 # CORR 11
+ angle_coeff @angle:ca-ce-os harmonic 68.60 115.58 # SOURCE4 8 1.0735
+ angle_coeff @angle:ca-ce-ss harmonic 61.21 117.73 # SOURCE4 5 1.1596
+ angle_coeff @angle:c-ce-c2 harmonic 65.82 120.42 # SOURCE3 13 1.8877
+ angle_coeff @angle:c-ce-c3 harmonic 63.35 116.92 # CORR 188
+ angle_coeff @angle:c-ce-c harmonic 62.59 122.38 # CORR 23
+ angle_coeff @angle:c-ce-ca harmonic 63.79 117.98 # SOURCE4 8 1.5129
+ angle_coeff @angle:cc-ce-cd harmonic 63.28 130.36 # SOURCE4 5 2.3402
+ angle_coeff @angle:cc-ce-cf harmonic 64.87 126.20 # CORR 88
+ angle_coeff @angle:c-ce-cd harmonic 63.81 126.07 # CORR 2
+ angle_coeff @angle:c-ce-ce harmonic 63.46 120.89 # SOURCE4 16 1.8719
+ angle_coeff @angle:c-ce-cf harmonic 64.26 126.41 # SOURCE3 2 5.7847
+ angle_coeff @angle:c-ce-cg harmonic 64.57 118.32 # SOURCE4 15 1.0595
+ angle_coeff @angle:cc-ce-h4 harmonic 47.52 115.40 # SOURCE4 29 0.8744
+ angle_coeff @angle:cc-ce-ha harmonic 47.53 115.45 # CORR 113
+ angle_coeff @angle:c-ce-cl harmonic 57.67 115.40 # SOURCE4 6 1.0958
+ angle_coeff @angle:cc-ce-n2 harmonic 68.94 121.28 # CORR 69
+ angle_coeff @angle:cc-ce-nh harmonic 67.31 119.17 # SOURCE4 8 2.1378
+ angle_coeff @angle:c-ce-cy harmonic 72.72 88.22 # SOURCE4 19 0.3234
+ angle_coeff @angle:cd-ce-ce harmonic 64.81 124.49 # CORR 12
+ angle_coeff @angle:cd-ce-ha harmonic 49.97 115.48 # CORR 39
+ angle_coeff @angle:ce-ce-ce harmonic 64.55 118.74 # SOURCE3 1 0.0000
+ angle_coeff @angle:ce-ce-cf harmonic 65.46 124.19 # CORR 341
+ angle_coeff @angle:ce-ce-cl harmonic 57.29 117.93 # SOURCE4 12 0.2639
+ angle_coeff @angle:ce-ce-h4 harmonic 47.06 117.97 # CORR 19
+ angle_coeff @angle:ce-ce-ha harmonic 47.50 115.90 # SOURCE3 12 0.4670
+ angle_coeff @angle:ce-ce-n1 harmonic 66.79 127.15 # CORR 4
+ angle_coeff @angle:ce-ce-n2 harmonic 69.57 119.33 # CORR 13
+ angle_coeff @angle:ce-ce-oh harmonic 69.29 116.89 # SOURCE4 11 2.0380
+ angle_coeff @angle:cf-ce-cg harmonic 66.10 123.79 # CORR 41
+ angle_coeff @angle:cf-ce-cy harmonic 60.53 137.74 # SOURCE4 13 0.3952
+ angle_coeff @angle:cf-ce-h4 harmonic 49.02 123.76 # SOURCE4 5 1.0909
+ angle_coeff @angle:cf-ce-ha harmonic 50.21 118.12 # CORR 655
+ angle_coeff @angle:cf-ce-n1 harmonic 72.03 120.03 # SOURCE4 6 1.9451
+ angle_coeff @angle:cf-ce-n harmonic 72.60 108.25 # CORR 64
+ angle_coeff @angle:cf-ce-nh harmonic 69.48 121.52 # SOURCE4 12 2.0106
+ angle_coeff @angle:cf-ce-oh harmonic 70.92 121.78 # CORR 24
+ angle_coeff @angle:cg-ce-cg harmonic 65.58 118.26 # CORR 7
+ angle_coeff @angle:cg-ce-ha harmonic 47.93 116.54 # CORR 18
+ angle_coeff @angle:cg-ce-n1 harmonic 69.49 119.50 # CORR 2
+ angle_coeff @angle:cg-ce-n2 harmonic 69.59 121.43 # SOURCE4 6 0.8382
+ angle_coeff @angle:c-ce-ha harmonic 46.59 117.26 # SOURCE3 11 2.7158
+ angle_coeff @angle:c-ce-n harmonic 66.20 118.62 # CORR 137
+ angle_coeff @angle:c-ce-nh harmonic 67.79 115.62 # CORR 19
+ angle_coeff @angle:c-ce-oh harmonic 68.34 117.92 # SOURCE4 5 1.4580
+ angle_coeff @angle:c-ce-os harmonic 69.09 113.78 # SOURCE4 21 1.8258
+ angle_coeff @angle:h4-ce-n1 harmonic 52.58 116.36 # SOURCE4 7 0.2182
+ angle_coeff @angle:h4-ce-n2 harmonic 52.36 121.58 # CORR 116
+ angle_coeff @angle:h4-ce-ne harmonic 49.72 115.81 # SOURCE4 7 1.9836
+ angle_coeff @angle:ha-ce-n1 harmonic 52.70 115.96 # CORR 4
+ angle_coeff @angle:ha-ce-n2 harmonic 52.85 119.51 # SOURCE3 2 0.4623
+ angle_coeff @angle:ha-ce-ne harmonic 49.16 118.59 # SOURCE3 5 1.1113
+ angle_coeff @angle:ha-ce-nh harmonic 50.62 114.99 # CORR 2
+ angle_coeff @angle:ha-ce-p2 harmonic 51.40 120.11 # SOURCE3 1
+ angle_coeff @angle:ha-ce-pe harmonic 51.44 119.33 # SOURCE3 6 0.8966
+ angle_coeff @angle:ha-ce-px harmonic 51.66 117.90 # SOURCE3 6 0.1809
+ angle_coeff @angle:ha-ce-py harmonic 52.32 118.72 # SOURCE3 3 0.3064
+ angle_coeff @angle:ha-ce-sx harmonic 41.85 115.45 # SOURCE3 3 0.6640
+ angle_coeff @angle:ha-ce-sy harmonic 42.34 114.86 # SOURCE3 3 0.4717
+ angle_coeff @angle:n2-ce-nh harmonic 71.56 124.96 # CORR 92
+ angle_coeff @angle:n2-ce-os harmonic 74.58 118.13 # SOURCE4 6 0.1367
+ angle_coeff @angle:n2-ce-ss harmonic 64.40 117.23 # SOURCE4 6 2.0518
+ angle_coeff @angle:ne-ce-ne harmonic 68.07 123.87 # SOURCE3 1 0.0000
+ angle_coeff @angle:ne-ce-nh harmonic 71.89 112.91 # SOURCE4 12 1.1263
+ angle_coeff @angle:nf-ce-nh harmonic 73.31 118.13 # SOURCE4 6 0.5842
+ angle_coeff @angle:pe-ce-pe harmonic 92.40 129.79 # SOURCE3 1 0.0000
+ angle_coeff @angle:py-ce-py harmonic 102.62 108.06 # SOURCE3 1 0.0000
+ angle_coeff @angle:sx-ce-sx harmonic 60.61 120.32 # SOURCE3 1 0.0000
+ angle_coeff @angle:sy-ce-sy harmonic 61.21 119.97 # SOURCE3 1 0.0000
+ angle_coeff @angle:c2-cf-c3 harmonic 64.30 122.89 # SOURCE3 7 same_as_c2-ce-c3
+ angle_coeff @angle:c2-cf-ca harmonic 65.16 123.08 # SOURCE3 6 same_as_c2-ce-ca
+ angle_coeff @angle:c2-cf-cd harmonic 65.62 123.27 # CORR 72
+ angle_coeff @angle:c2-cf-cf harmonic 65.73 123.08 # SOURCE3 12 same_as_c2-ce-ce
+ angle_coeff @angle:c2-cf-ch harmonic 66.66 121.67 # CORR 21
+ angle_coeff @angle:c2-cf-ha harmonic 49.56 121.10 # SOURCE3 46 same_as_c2-ce-ha
+ angle_coeff @angle:c2-cf-n2 harmonic 70.34 128.70 # SOURCE3 1 same_as_c2-ce-n2
+ angle_coeff @angle:c2-cf-nf harmonic 69.73 118.32 # SOURCE3 7 same_as_c2-ce-ne
+ angle_coeff @angle:c2-cf-p2 harmonic 77.91 118.24 # SOURCE3 1 same_as_c2-ce-p2
+ angle_coeff @angle:c2-cf-pf harmonic 77.59 118.76 # SOURCE3 8 same_as_c2-ce-pe
+ angle_coeff @angle:c2-cf-px harmonic 77.17 119.72 # SOURCE3 6 same_as_c2-ce-px
+ angle_coeff @angle:c2-cf-py harmonic 77.39 122.13 # SOURCE3 5 same_as_c2-ce-py
+ angle_coeff @angle:c2-cf-sx harmonic 61.64 119.87 # SOURCE3 5 same_as_c2-ce-sx
+ angle_coeff @angle:c2-cf-sy harmonic 61.96 120.35 # SOURCE3 5 same_as_c2-ce-sy
+ angle_coeff @angle:c3-cf-ca harmonic 62.76 119.28 # CORR 178
+ angle_coeff @angle:c3-cf-cd harmonic 63.42 118.22 # CORR 39
+ angle_coeff @angle:c3-cf-ce harmonic 64.52 122.11 # CORR 221
+ angle_coeff @angle:c3-cf-cf harmonic 63.80 116.99 # CORR 244
+ angle_coeff @angle:c3-cf-n2 harmonic 66.92 122.70 # CORR 81
+ angle_coeff @angle:ca-cf-ca harmonic 63.94 117.58 # CORR 112
+ angle_coeff @angle:ca-cf-cc harmonic 62.70 130.80 # SOURCE4 12 1.2696
+ angle_coeff @angle:ca-cf-cd harmonic 64.21 118.06 # CORR 17
+ angle_coeff @angle:ca-cf-ce harmonic 64.07 127.39 # CORR 318
+ angle_coeff @angle:ca-cf-ha harmonic 47.07 115.16 # CORR 345
+ angle_coeff @angle:ca-cf-n2 harmonic 68.51 120.72 # SOURCE3 1 same_as_ca-ce-n2
+ angle_coeff @angle:ca-cf-ne harmonic 67.74 122.66 # CORR 22
+ angle_coeff @angle:ca-cf-oh harmonic 68.85 116.37 # CORR 11
+ angle_coeff @angle:c-cf-c2 harmonic 65.82 120.42 # SOURCE3 13 same_as_c-ce-c2
+ angle_coeff @angle:c-cf-c3 harmonic 63.35 116.92 # CORR 188
+ angle_coeff @angle:c-cf-c harmonic 62.59 122.38 # CORR 23
+ angle_coeff @angle:c-cf-cc harmonic 63.81 126.07 # CORR 2
+ angle_coeff @angle:cc-cf-cf harmonic 64.81 124.49 # CORR 12
+ angle_coeff @angle:c-cf-cd harmonic 64.25 117.76 # SOURCE4 10 1.2451
+ angle_coeff @angle:c-cf-ce harmonic 64.26 126.41 # SOURCE3 2 same_as_c-ce-cf
+ angle_coeff @angle:cc-cf-ha harmonic 49.97 115.48 # CORR 39
+ angle_coeff @angle:cd-cf-ce harmonic 64.87 126.20 # CORR 88
+ angle_coeff @angle:cd-cf-ha harmonic 47.53 115.45 # CORR 113
+ angle_coeff @angle:cd-cf-n2 harmonic 68.94 121.28 # CORR 69
+ angle_coeff @angle:ce-cf-cf harmonic 65.46 124.19 # CORR 341
+ angle_coeff @angle:ce-cf-ch harmonic 66.10 123.79 # CORR 41
+ angle_coeff @angle:ce-cf-ha harmonic 50.21 118.12 # CORR 655
+ angle_coeff @angle:ce-cf-n harmonic 72.60 108.25 # CORR 64
+ angle_coeff @angle:ce-cf-oh harmonic 70.92 121.78 # CORR 24
+ angle_coeff @angle:cf-cf-cf harmonic 64.55 118.74 # SOURCE3 1 same_as_ce-ce-ce
+ angle_coeff @angle:cf-cf-h4 harmonic 47.06 117.97 # CORR 19
+ angle_coeff @angle:cf-cf-ha harmonic 47.50 115.90 # SOURCE3 12 0.4670
+ angle_coeff @angle:cf-cf-n1 harmonic 66.79 127.15 # CORR 4
+ angle_coeff @angle:cf-cf-n2 harmonic 69.57 119.33 # CORR 13
+ angle_coeff @angle:c-cf-ha harmonic 46.59 117.26 # SOURCE3 11 2.7158
+ angle_coeff @angle:ch-cf-ch harmonic 65.58 118.26 # CORR 7
+ angle_coeff @angle:ch-cf-ha harmonic 47.93 116.54 # CORR 18
+ angle_coeff @angle:ch-cf-n1 harmonic 69.49 119.50 # CORR 2
+ angle_coeff @angle:c-cf-n2 harmonic 70.16 114.88 # SOURCE4 5 1.3647
+ angle_coeff @angle:c-cf-n harmonic 66.20 118.62 # CORR 137
+ angle_coeff @angle:c-cf-nh harmonic 67.79 115.62 # CORR 19
+ angle_coeff @angle:f-c-f harmonic 72.22 107.35 # SOURCE2 2 0.2500
+ angle_coeff @angle:h4-cf-n2 harmonic 52.36 121.58 # CORR 116
+ angle_coeff @angle:h4-cf-ne harmonic 52.29 120.21 # SOURCE4 6 0.8104
+ angle_coeff @angle:ha-cf-n1 harmonic 52.70 115.96 # CORR 4
+ angle_coeff @angle:ha-cf-n2 harmonic 52.85 119.51 # SOURCE3 2 same_as_ha-ce-n2
+ angle_coeff @angle:ha-cf-nf harmonic 49.16 118.59 # SOURCE3 5 same_as_ha-ce-ne
+ angle_coeff @angle:ha-cf-nh harmonic 50.62 114.99 # CORR 2
+ angle_coeff @angle:ha-cf-p2 harmonic 51.40 120.11 # SOURCE3 1 same_as_ha-ce-p2
+ angle_coeff @angle:ha-cf-pf harmonic 51.44 119.33 # SOURCE3 6 same_as_ha-ce-pe
+ angle_coeff @angle:ha-cf-px harmonic 51.66 117.90 # SOURCE3 6 same_as_ha-ce-px
+ angle_coeff @angle:ha-cf-py harmonic 52.32 118.72 # SOURCE3 3 same_as_ha-ce-py
+ angle_coeff @angle:ha-cf-sx harmonic 41.85 115.45 # SOURCE3 3 same_as_ha-ce-sx
+ angle_coeff @angle:ha-cf-sy harmonic 42.34 114.86 # SOURCE3 3 same_as_ha-ce-sy
+ angle_coeff @angle:n2-cf-nh harmonic 71.56 124.96 # CORR 92
+ angle_coeff @angle:nf-cf-nf harmonic 68.07 123.87 # SOURCE3 1 same_as_ne-ce-ne
+ angle_coeff @angle:f-c-o harmonic 73.21 123.44 # SOURCE3 1
+ angle_coeff @angle:pf-cf-pf harmonic 92.40 129.79 # SOURCE3 1 same_as_pe-ce-pe
+ angle_coeff @angle:py-cf-py harmonic 102.62 108.06 # SOURCE3 1 same_as_py-ce-py
+ angle_coeff @angle:f-c-s harmonic 63.41 124.00 # SOURCE2 1 0.0000
+ angle_coeff @angle:sx-cf-sx harmonic 60.61 120.32 # SOURCE3 1 same_as_sx-ce-sx
+ angle_coeff @angle:sy-cf-sy harmonic 61.21 119.97 # SOURCE3 1 same_as_sy-ce-sy
+ angle_coeff @angle:c1-cg-ca harmonic 56.52 179.52 # CORR 19
+ angle_coeff @angle:c1-cg-cc harmonic 56.97 178.60 # SOURCE4 6 0.3822
+ angle_coeff @angle:c1-cg-ce harmonic 56.95 178.05 # CORR 7
+ angle_coeff @angle:c1-cg-cg harmonic 58.17 179.70 # CORR 18
+ angle_coeff @angle:c1-cg-ne harmonic 62.73 170.02 # SOURCE3 4 1.1724
+ angle_coeff @angle:c1-cg-pe harmonic 71.80 173.29 # SOURCE3 11 4.9305
+ angle_coeff @angle:ca-cg-ch harmonic 56.91 179.64 # CORR 13
+ angle_coeff @angle:ca-cg-n1 harmonic 58.93 179.43 # CORR 103
+ angle_coeff @angle:c-cg-c1 harmonic 56.19 179.14 # SOURCE3 2 0.0000
+ angle_coeff @angle:cc-cg-n1 harmonic 59.43 178.54 # CORR 50
+ angle_coeff @angle:ce-cg-ch harmonic 57.39 177.94 # CORR 17
+ angle_coeff @angle:ce-cg-n1 harmonic 59.39 177.97 # CORR 67
+ angle_coeff @angle:n1-cg-ne harmonic 64.98 174.44 # CORR 17
+ angle_coeff @angle:h4-c-o harmonic 54.28 120.93 # SOURCE4 129 0.5769
+ angle_coeff @angle:h5-c-n harmonic 52.39 112.19 # SOURCE4 33 0.4220
+ angle_coeff @angle:h5-c-o harmonic 53.89 123.26 # SOURCE4 38 0.4806
+ angle_coeff @angle:ha-c-ha harmonic 37.86 115.61 # SOURCE3 4 0.0458
+ angle_coeff @angle:ha-c-i harmonic 36.71 110.58 # SOURCE3 1 0.0000
+ angle_coeff @angle:ha-c-n harmonic 52.40 112.37 # SOURCE3 4 0.6424
+ angle_coeff @angle:ha-c-o harmonic 54.27 121.94 # SOURCE3 51 2.3235
+ angle_coeff @angle:ha-c-oh harmonic 53.97 111.82 # SOURCE3 4 1.9375
+ angle_coeff @angle:ha-c-os harmonic 53.24 110.34 # SOURCE3 8 1.9344
+ angle_coeff @angle:ha-c-s harmonic 44.27 119.56 # SOURCE3 3 0.7586
+ angle_coeff @angle:c1-ch-ca harmonic 56.52 179.52 # CORR 19
+ angle_coeff @angle:c1-ch-cf harmonic 56.95 178.05 # CORR 7
+ angle_coeff @angle:c1-ch-ch harmonic 58.17 179.70 # CORR 18
+ angle_coeff @angle:c1-ch-nf harmonic 62.73 170.02 # SOURCE3 4 same_as_c1-cg-ne
+ angle_coeff @angle:c1-ch-pf harmonic 71.80 173.29 # SOURCE3 11 same_as_c1-cg-pe
+ angle_coeff @angle:ca-ch-cg harmonic 56.91 179.64 # CORR 13
+ angle_coeff @angle:ca-ch-n1 harmonic 58.93 179.43 # CORR 103
+ angle_coeff @angle:c-ch-c1 harmonic 56.19 179.14 # SOURCE3 2 same_as_c-cg-c1
+ angle_coeff @angle:cd-ch-n1 harmonic 59.43 178.54 # CORR 50
+ angle_coeff @angle:cf-ch-cg harmonic 57.39 177.94 # CORR 17
+ angle_coeff @angle:cf-ch-n1 harmonic 59.39 177.97 # CORR 67
+ angle_coeff @angle:cg-ch-ch harmonic 58.68 179.67 # SOURCE4 7 0.1439
+ angle_coeff @angle:n1-ch-nf harmonic 64.98 174.44 # CORR 17
+ angle_coeff @angle:i-c-i harmonic 59.79 116.45 # SOURCE3 1 0.0000
+ angle_coeff @angle:i-c-o harmonic 55.51 122.02 # SOURCE3 4 1.2961
+ angle_coeff @angle:f-cl-f harmonic 0.00 87.50 # SOURCE2 1 estimated_force_constant
+ angle_coeff @angle:n2-c-n2 harmonic 71.83 110.31 # SOURCE3 1
+ angle_coeff @angle:n2-c-o harmonic 73.02 122.50 # SOURCE3 1
+ angle_coeff @angle:n4-c-n4 harmonic 64.71 114.64 # SOURCE3 1 0.0000
+ angle_coeff @angle:n4-c-o harmonic 69.58 118.83 # SOURCE3 4 3.8516
+ angle_coeff @angle:nc-c-o harmonic 73.92 122.97 # CORR 121
+ angle_coeff @angle:nd-c-o harmonic 73.92 122.97 # CORR 121
+ angle_coeff @angle:ne-c-ne harmonic 73.21 110.31 # CORR 2
+ angle_coeff @angle:ne-c-o harmonic 72.96 125.91 # CORR 42
+ angle_coeff @angle:nf-c-nf harmonic 73.21 110.31 # CORR 2
+ angle_coeff @angle:nf-c-o harmonic 72.96 125.91 # CORR 42
+ angle_coeff @angle:n-c-n harmonic 74.80 113.38 # SOURCE4 635 1.4358
+ angle_coeff @angle:n-c-nc harmonic 72.35 117.05 # CORR 77
+ angle_coeff @angle:n-c-nd harmonic 72.35 117.05 # CORR 77
+ angle_coeff @angle:n-c-ne harmonic 74.43 110.37 # SOURCE4 10 1.7492
+ angle_coeff @angle:n-c-o harmonic 75.83 122.03 # SOURCE3 221 2.3565
+ angle_coeff @angle:n-c-oh harmonic 76.22 113.63 # SOURCE4 5 1.1209
+ angle_coeff @angle:no-c-no harmonic 66.54 109.28 # SOURCE3 1
+ angle_coeff @angle:no-c-o harmonic 67.95 125.36 # SOURCE3 1
+ angle_coeff @angle:n-c-os harmonic 76.68 109.28 # SOURCE4 318 0.8749
+ angle_coeff @angle:n-c-s harmonic 65.73 123.88 # SOURCE3 5 1.2935
+ angle_coeff @angle:n-c-sh harmonic 65.61 112.61 # SOURCE4 8 1.2601
+ angle_coeff @angle:n-c-ss harmonic 66.85 110.42 # SOURCE4 59 1.5507
+ angle_coeff @angle:oh-c-oh harmonic 78.91 110.56 # SOURCE3 2 0.5498
+ angle_coeff @angle:oh-c-s harmonic 66.64 123.44 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-c-o harmonic 78.17 130.38 # SOURCE4 429 1.0315
+ angle_coeff @angle:o-c-oh harmonic 77.38 122.88 # SOURCE3 33 2.1896
+ angle_coeff @angle:o-c-os harmonic 75.93 123.33 # SOURCE4 1708 1.0632
+ angle_coeff @angle:o-c-p2 harmonic 75.65 123.10 # SOURCE3 1
+ angle_coeff @angle:o-c-p3 harmonic 77.08 120.79 # SOURCE3 1
+ angle_coeff @angle:o-c-p5 harmonic 77.01 121.20 # SOURCE4 8 1.2117
+ angle_coeff @angle:o-c-pe harmonic 75.23 123.02 # SOURCE3 3 0.1404
+ angle_coeff @angle:o-c-pf harmonic 75.23 123.02 # SOURCE3 3 same_as_o-c-pe
+ angle_coeff @angle:o-c-px harmonic 76.75 119.10 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-c-py harmonic 77.45 121.71 # SOURCE4 5 0.3133
+ angle_coeff @angle:o-c-s4 harmonic 61.24 121.15 # SOURCE3 1
+ angle_coeff @angle:o-c-s6 harmonic 61.67 119.45 # SOURCE3 1
+ angle_coeff @angle:o-c-s harmonic 68.21 120.44 # SOURCE3 2 0.0000
+ angle_coeff @angle:o-c-sh harmonic 64.19 121.41 # SOURCE3 4 1.4052
+ angle_coeff @angle:os-c-os harmonic 76.45 111.38 # SOURCE4 12 0.8309
+ angle_coeff @angle:o-c-ss harmonic 64.62 122.29 # SOURCE3 7 1.9240
+ angle_coeff @angle:os-c-s harmonic 65.82 125.03 # SOURCE4 18 0.9978
+ angle_coeff @angle:os-c-ss harmonic 66.30 113.63 # SOURCE4 5 0.7367
+ angle_coeff @angle:o-c-sx harmonic 60.75 121.15 # SOURCE3 5 3.6452
+ angle_coeff @angle:o-c-sy harmonic 61.88 119.32 # SOURCE3 5 2.4495
+ angle_coeff @angle:p2-c-p2 harmonic 94.44 113.75 # SOURCE3 1
+ angle_coeff @angle:p3-c-p3 harmonic 93.55 118.04 # SOURCE3 1 0.0000
+ angle_coeff @angle:p3-c-py harmonic 107.54 90.08 # SOURCE3 1 0.0000
+ angle_coeff @angle:p5-c-p5 harmonic 91.43 123.76 # SOURCE3 1
+ angle_coeff @angle:ca-cp-ca harmonic 67.11 118.33 # CORR 526
+ angle_coeff @angle:ca-cp-cp harmonic 64.09 121.13 # CORR 991
+ angle_coeff @angle:ca-cp-na harmonic 68.78 119.43 # SOURCE4 21 0.6591
+ angle_coeff @angle:ca-cp-nb harmonic 69.19 121.65 # SOURCE4 63 0.6564
+ angle_coeff @angle:cp-cp-cp harmonic 72.20 90.00 # SOURCE3 4 0.0000
+ angle_coeff @angle:cp-cp-cq harmonic 62.64 124.47 # CORR 10
+ angle_coeff @angle:cp-cp-nb harmonic 68.05 116.60 # SOURCE4 88 1.1887
+ angle_coeff @angle:pe-c-pe harmonic 93.89 113.77 # SOURCE3 1 0.0000
+ angle_coeff @angle:pf-c-pf harmonic 93.89 113.77 # SOURCE3 1 same_as_pe-c-pe
+ angle_coeff @angle:nb-cp-nb harmonic 71.31 125.72 # SOURCE4 5 0.6674
+ angle_coeff @angle:py-c-py harmonic 92.13 123.80 # SOURCE3 1 0.0000
+ angle_coeff @angle:ca-cq-ca harmonic 67.11 118.33 # CORR 526
+ angle_coeff @angle:ca-cq-cq harmonic 64.09 121.13 # CORR 991
+ angle_coeff @angle:ca-cq-nb harmonic 69.19 121.65 # SOURCE4 63 same as ca-cp-nb
+ angle_coeff @angle:cp-cq-cq harmonic 62.64 124.47 # CORR 10
+ angle_coeff @angle:cq-cq-cq harmonic 72.20 90.00 # SOURCE3 4 0.0000
+ angle_coeff @angle:cq-cq-nb harmonic 68.05 116.60 # SOURCE4 88 same as cp-cp-nb
+ angle_coeff @angle:s4-c-s4 harmonic 61.25 108.81 # SOURCE3 1
+ angle_coeff @angle:s6-c-s6 harmonic 59.39 115.75 # SOURCE3 1
+ angle_coeff @angle:sh-c-sh harmonic 62.47 115.33 # SOURCE3 1 0.0000
+ angle_coeff @angle:s-c-s harmonic 65.01 120.40 # SOURCE3 2 1.2766
+ angle_coeff @angle:s-c-sh harmonic 62.29 122.76 # SOURCE4 11 1.5734
+ angle_coeff @angle:s-c-ss harmonic 61.88 125.90 # SOURCE3 1 0.0000
+ angle_coeff @angle:ss-c-ss harmonic 63.79 113.00 # SOURCE3 1 0.0000
+ angle_coeff @angle:sx-c-sx harmonic 60.77 108.80 # SOURCE3 1 0.0000
+ angle_coeff @angle:sy-c-sy harmonic 59.54 115.78 # SOURCE3 1 0.0000
+ angle_coeff @angle:c2-cu-cx harmonic 58.56 148.21 # SOURCE4 6 1.8305
+ angle_coeff @angle:c-cu-cu harmonic 94.97 62.60 # SOURCE2 1 0.0000
+ angle_coeff @angle:cu-cu-cx harmonic 100.97 50.80 # SOURCE2 1 0.0000
+ angle_coeff @angle:cu-cu-ha harmonic 46.11 147.73 # SOURCE2 3 2.0950
+ angle_coeff @angle:cv-cv-cy harmonic 73.28 94.17 # SOURCE3 2 0.0000
+ angle_coeff @angle:cv-cv-ha harmonic 47.30 133.70 # SOURCE3 2 0.0000
+ angle_coeff @angle:cx-cv-cx harmonic 84.66 63.90 # SOURCE2 1 0.0000
+ angle_coeff @angle:cy-cv-ha harmonic 42.89 132.14 # SOURCE3 2 0.0000
+ angle_coeff @angle:c1-cx-cx harmonic 63.10 120.66 # SOURCE4 9 0.9067
+ angle_coeff @angle:c2-cx-cx harmonic 62.33 120.54 # SOURCE4 51 2.2377
+ angle_coeff @angle:c2-cx-h1 harmonic 46.63 115.78 # SOURCE4 8 0.2332
+ angle_coeff @angle:c2-cx-hc harmonic 46.77 115.10 # SOURCE4 12 0.7463
+ angle_coeff @angle:c2-cx-os harmonic 67.14 116.17 # SOURCE4 14 1.2782
+ angle_coeff @angle:c3-cx-c3 harmonic 63.00 114.48 # SOURCE4 46 1.9627
+ angle_coeff @angle:c3-cx-cx harmonic 61.82 120.06 # SOURCE4 448 2.1467
+ angle_coeff @angle:c3-cx-h1 harmonic 45.87 115.42 # SOURCE4 89 1.1096
+ angle_coeff @angle:c3-cx-hc harmonic 46.12 114.16 # SOURCE4 85 1.1118
+ angle_coeff @angle:c3-cx-n3 harmonic 64.31 118.50 # SOURCE4 17 2.4897
+ angle_coeff @angle:c3-cx-os harmonic 66.57 115.50 # SOURCE4 161 1.3016
+ angle_coeff @angle:ca-cx-cx harmonic 61.86 122.18 # SOURCE4 65 1.6898
+ angle_coeff @angle:ca-cx-h1 harmonic 46.81 114.57 # SOURCE4 7 0.6498
+ angle_coeff @angle:ca-cx-hc harmonic 47.05 113.41 # SOURCE4 18 0.7843
+ angle_coeff @angle:ca-cx-oh harmonic 69.25 112.93 # SOURCE3 1 0.0000
+ angle_coeff @angle:ca-cx-os harmonic 66.42 118.50 # SOURCE4 6 0.7514
+ angle_coeff @angle:c-cx-c3 harmonic 62.91 116.93 # SOURCE4 18 1.8253
+ angle_coeff @angle:cc-cx-cx harmonic 62.90 119.31 # CORR 39
+ angle_coeff @angle:cc-cx-hc harmonic 47.37 113.84 # SOURCE4 15 0.6682
+ angle_coeff @angle:c-cx-cx harmonic 62.96 117.96 # SOURCE4 147 1.8483
+ angle_coeff @angle:cd-cx-cx harmonic 62.90 119.31 # CORR 39
+ angle_coeff @angle:c-cx-h1 harmonic 46.27 117.25 # SOURCE4 24 0.7935
+ angle_coeff @angle:c-cx-hc harmonic 46.42 116.53 # SOURCE4 36 1.2830
+ angle_coeff @angle:cl-cx-cl harmonic 54.42 114.20 # SOURCE2 1 0.0000
+ angle_coeff @angle:cl-cx-cx harmonic 56.53 120.10 # SOURCE4 15 0.5917
+ angle_coeff @angle:cl-cx-h1 harmonic 40.37 111.43 # SOURCE3 1 0.0000
+ angle_coeff @angle:cl-cx-hc harmonic 39.60 115.80 # SOURCE2 1 0.0000
+ angle_coeff @angle:c-cx-os harmonic 67.25 115.59 # SOURCE4 36 0.8227
+ angle_coeff @angle:cu-cx-cu harmonic 91.53 54.60 # SOURCE2 1 0.0000
+ angle_coeff @angle:cu-cx-cx harmonic 88.72 58.50 # SOURCE4 7 0.1333
+ angle_coeff @angle:cu-cx-hc harmonic 45.49 118.09 # SOURCE4 7 1.0126
+ angle_coeff @angle:cx-cx-cx harmonic 87.90 60.00 # SOURCE4 681 0.6259
+ angle_coeff @angle:cx-cx-cy harmonic 67.54 100.53 # SOURCE3 4 0.0000
+ angle_coeff @angle:cx-cx-f harmonic 64.53 117.93 # SOURCE4 7 1.1613
+ angle_coeff @angle:cx-cx-h1 harmonic 45.45 119.66 # SOURCE3 12 0.4529
+ angle_coeff @angle:cx-cx-hc harmonic 45.79 117.92 # SOURCE3 92 1.1927
+ angle_coeff @angle:cx-cx-hx harmonic 45.47 119.62 # SOURCE4 9 0.1118
+ angle_coeff @angle:cx-cx-n3 harmonic 91.17 59.59 # SOURCE4 154 0.3104
+ angle_coeff @angle:cx-cx-na harmonic 62.94 125.85 # SOURCE4 16 2.0385
+ angle_coeff @angle:cx-cx-nh harmonic 92.03 59.15 # SOURCE4 116 0.6758
+ angle_coeff @angle:cx-cx-os harmonic 93.61 59.07 # SOURCE4 306 0.5253
+ angle_coeff @angle:cy-cx-hc harmonic 43.98 125.43 # SOURCE3 2 0.0000
+ angle_coeff @angle:f-cx-f harmonic 70.61 106.90 # SOURCE2 2 1.4000
+ angle_coeff @angle:f-cx-h1 harmonic 50.35 111.68 # SOURCE3 1 0.0000
+ angle_coeff @angle:f-cx-hc harmonic 50.22 112.30 # SOURCE2 1 0.0000
+ angle_coeff @angle:h1-cx-h1 harmonic 38.38 115.45 # SOURCE4 230 0.3302
+ angle_coeff @angle:h1-cx-n3 harmonic 47.97 116.43 # SOURCE4 173 1.4531
+ angle_coeff @angle:h1-cx-n harmonic 49.06 115.42 # SOURCE4 12 1.0443
+ angle_coeff @angle:h1-cx-na harmonic 49.96 108.67 # SOURCE4 8 1.6134
+ angle_coeff @angle:h1-cx-nh harmonic 48.50 116.32 # SOURCE4 151 1.0310
+ angle_coeff @angle:h1-cx-os harmonic 50.01 115.17 # SOURCE3 8 0.0226
+ angle_coeff @angle:h2-cx-h2 harmonic 37.87 119.43 # SOURCE3 1 0.0000
+ angle_coeff @angle:h2-cx-n2 harmonic 47.55 117.18 # SOURCE3 4 0.0000
+ angle_coeff @angle:hc-cx-hc harmonic 38.58 114.47 # SOURCE3 19 0.3295
+ angle_coeff @angle:hc-cx-os harmonic 50.25 114.10 # SOURCE2 1 0.0000
+ angle_coeff @angle:hx-cx-n4 harmonic 49.89 114.47 # SOURCE4 8 0.1059
+ angle_coeff @angle:n2-cx-n2 harmonic 102.06 50.16 # SOURCE3 1 0.0000
+ angle_coeff @angle:n-cx-oh harmonic 70.16 119.75 # SOURCE3 2 0.0000
+ angle_coeff @angle:n-cx-os harmonic 92.71 65.98 # SOURCE3 1 0.0000
+ angle_coeff @angle:oh-cx-oh harmonic 76.67 107.85 # SOURCE3 1 0.0000
+ angle_coeff @angle:oh-cx-os harmonic 71.64 118.12 # SOURCE3 4 1.3581
+ angle_coeff @angle:os-cx-os harmonic 70.90 115.84 # SOURCE4 7 2.0760
+ angle_coeff @angle:c2-cy-cy harmonic 66.57 100.40 # SOURCE2 1 0.0000
+ angle_coeff @angle:c3-cy-c3 harmonic 63.19 111.58 # SOURCE4 15 1.0060
+ angle_coeff @angle:c3-cy-cy harmonic 60.76 118.70 # SOURCE4 293 1.8510
+ angle_coeff @angle:c3-cy-h1 harmonic 46.16 111.77 # SOURCE4 119 0.4412
+ angle_coeff @angle:c3-cy-hc harmonic 46.21 111.55 # SOURCE3 5 0.6276
+ angle_coeff @angle:c3-cy-n3 harmonic 65.28 112.92 # SOURCE3 2 0.0000
+ angle_coeff @angle:c3-cy-n harmonic 68.32 104.05 # SOURCE4 122 0.5745
+ angle_coeff @angle:c3-cy-os harmonic 66.99 111.96 # SOURCE4 11 1.0668
+ angle_coeff @angle:c-cy-c3 harmonic 61.78 116.72 # SOURCE4 129 0.5236
+ angle_coeff @angle:cc-cy-cy harmonic 60.58 121.17 # CORR 19
+ angle_coeff @angle:c-cy-cy harmonic 71.81 84.99 # SOURCE4 263 0.6952
+ angle_coeff @angle:cd-cy-cy harmonic 60.58 121.17 # CORR 19
+ angle_coeff @angle:ce-cy-h2 harmonic 45.50 117.25 # SOURCE4 17 0.5351
+ angle_coeff @angle:ce-cy-n harmonic 74.69 88.02 # SOURCE4 14 0.1416
+ angle_coeff @angle:ce-cy-ss harmonic 58.47 121.33 # SOURCE4 13 0.1599
+ angle_coeff @angle:c-cy-h1 harmonic 45.89 113.10 # SOURCE4 71 0.7655
+ angle_coeff @angle:c-cy-hc harmonic 45.75 113.85 # SOURCE3 8 0.2067
+ angle_coeff @angle:cl-cy-cy harmonic 57.58 112.00 # SOURCE3 2 0.0000
+ angle_coeff @angle:cl-cy-h1 harmonic 40.98 106.59 # SOURCE3 1 0.0000
+ angle_coeff @angle:cl-cy-hc harmonic 39.62 114.00 # SOURCE2 1 0.0000
+ angle_coeff @angle:c-cy-n harmonic 64.32 117.39 # SOURCE4 70 1.0742
+ angle_coeff @angle:c-cy-os harmonic 66.27 114.42 # SOURCE4 6 1.2052
+ angle_coeff @angle:cv-cy-cy harmonic 71.46 86.67 # SOURCE4 6 1.1600
+ angle_coeff @angle:cv-cy-hc harmonic 46.06 114.47 # SOURCE4 7 0.4307
+ angle_coeff @angle:cx-cy-cy harmonic 66.08 101.23 # SOURCE3 4 0.0000
+ angle_coeff @angle:cx-cy-hc harmonic 45.25 118.30 # SOURCE2 3 5.7799
+ angle_coeff @angle:cy-cy-cy harmonic 70.16 87.61 # SOURCE3 32 1.5407
+ angle_coeff @angle:cy-cy-f harmonic 64.55 112.87 # SOURCE4 13 1.6772
+ angle_coeff @angle:cy-cy-h1 harmonic 44.87 114.84 # SOURCE3 20 2.5651
+ angle_coeff @angle:cy-cy-h2 harmonic 44.51 116.77 # SOURCE4 83 0.8683
+ angle_coeff @angle:cy-cy-hc harmonic 44.82 115.14 # SOURCE3 114 0.8364
+ angle_coeff @angle:cy-cy-n3 harmonic 73.47 87.58 # SOURCE3 4 0.6135
+ angle_coeff @angle:cy-cy-n harmonic 65.22 112.13 # SOURCE3 31 2.0700
+ angle_coeff @angle:cy-cy-na harmonic 63.12 119.70 # SOURCE4 9 0.3333
+ angle_coeff @angle:cy-cy-oh harmonic 66.00 114.19 # SOURCE3 4 0.0000
+ angle_coeff @angle:cy-cy-os harmonic 66.41 111.77 # SOURCE4 18 2.1334
+ angle_coeff @angle:cy-cy-s6 harmonic 58.93 117.46 # SOURCE4 7 1.2423
+ angle_coeff @angle:cy-cy-ss harmonic 58.83 118.18 # SOURCE4 55 0.9860
+ angle_coeff @angle:h1-cy-h1 harmonic 39.01 109.72 # SOURCE3 6 0.8087
+ angle_coeff @angle:h1-cy-n3 harmonic 48.21 113.36 # SOURCE3 6 1.4509
+ angle_coeff @angle:h1-cy-n harmonic 49.10 111.18 # SOURCE4 141 0.5848
+ angle_coeff @angle:h1-cy-oh harmonic 50.89 111.49 # SOURCE3 2 0.0000
+ angle_coeff @angle:h1-cy-os harmonic 50.53 110.94 # SOURCE3 8 0.6522
+ angle_coeff @angle:h1-cy-s6 harmonic 41.05 112.57 # SOURCE4 5 1.2943
+ angle_coeff @angle:h2-cy-n harmonic 48.42 114.44 # SOURCE4 88 0.7114
+ angle_coeff @angle:h2-cy-os harmonic 50.97 109.19 # SOURCE4 6 0.4162
+ angle_coeff @angle:h2-cy-s6 harmonic 42.11 106.85 # SOURCE4 6 0.3975
+ angle_coeff @angle:h2-cy-ss harmonic 41.64 109.73 # SOURCE4 92 0.7424
+ angle_coeff @angle:hc-cy-hc harmonic 39.24 109.04 # SOURCE3 28 0.5962
+ angle_coeff @angle:n-cy-os harmonic 71.62 107.50 # SOURCE4 9 2.3773
+ angle_coeff @angle:n-cy-s6 harmonic 65.24 103.45 # SOURCE4 6 0.7197
+ angle_coeff @angle:n-cy-ss harmonic 64.81 105.12 # SOURCE4 69 0.3987
+ angle_coeff @angle:nh-cz-nh harmonic 72.97 120.17 # SOURCE4 26 0.3964
+ angle_coeff @angle:br-n1-c1 harmonic 51.10 180.00 # HF/6-31G* 1
+ angle_coeff @angle:c1-n1-c1 harmonic 64.91 179.92 # HF/6-31G* 1
+ angle_coeff @angle:c1-n1-c2 harmonic 60.25 177.73 # HF/6-31G* 1
+ angle_coeff @angle:c1-n1-c3 harmonic 54.83 180.00 # HF/6-31G* 1
+ angle_coeff @angle:c1-n1-ca harmonic 56.97 179.99 # HF/6-31G* 1
+ angle_coeff @angle:c1-n1-cl harmonic 50.10 179.95 # HF/6-31G* 1
+ angle_coeff @angle:c1-n1-f harmonic 55.86 179.96 # HF/6-31G* 1
+ angle_coeff @angle:c1-n1-hn harmonic 45.62 179.98 # HF/6-31G* 1
+ angle_coeff @angle:c1-n1-i harmonic 46.23 179.95 # HF/6-31G* 1
+ angle_coeff @angle:c1-n1-n1 harmonic 66.89 180.00 # HF/6-31G* 1
+ angle_coeff @angle:c1-n1-n2 harmonic 65.70 171.56 # HF/6-31G* 1
+ angle_coeff @angle:c1-n1-n3 harmonic 60.69 175.59 # HF/6-31G* 1
+ angle_coeff @angle:c1-n1-n4 harmonic 59.68 179.69 # HF/6-31G* 1
+ angle_coeff @angle:c1-n1-na harmonic 59.95 180.00 # HF/6-31G* 1
+ angle_coeff @angle:c1-n1-nh harmonic 60.88 176.35 # HF/6-31G* 1
+ angle_coeff @angle:c1-n1-o harmonic 62.62 179.95 # HF/6-31G* 1
+ angle_coeff @angle:c1-n1-oh harmonic 62.88 174.31 # HF/6-31G* 1
+ angle_coeff @angle:c1-n1-os harmonic 62.15 176.61 # HF/6-31G* 1
+ angle_coeff @angle:c1-n1-p2 harmonic 68.11 172.83 # HF/6-31G* 1
+ angle_coeff @angle:c1-n1-p3 harmonic 68.68 173.51 # HF/6-31G* 1
+ angle_coeff @angle:c1-n1-p4 harmonic 67.87 173.64 # HF/6-31G* 1
+ angle_coeff @angle:c1-n1-p5 harmonic 71.49 177.28 # HF/6-31G* 1
+ angle_coeff @angle:c1-n1-s2 harmonic 60.33 178.11 # HF/6-31G* 1
+ angle_coeff @angle:c1-n1-s4 harmonic 55.20 169.60 # HF/6-31G* 1
+ angle_coeff @angle:c1-n1-s harmonic 53.31 179.99 # HF/6-31G* 1
+ angle_coeff @angle:c1-n1-s6 harmonic 61.81 175.92 # HF/6-31G* 1
+ angle_coeff @angle:c1-n1-sh harmonic 55.72 174.25 # HF/6-31G* 1
+ angle_coeff @angle:c1-n1-ss harmonic 55.44 176.06 # HF/6-31G* 1
+ angle_coeff @angle:c2-n1-n1 harmonic 61.58 180.00 # HF/6-31G* 1
+ angle_coeff @angle:c2-n1-o harmonic 73.09 116.94 # SOURCE3 2 0.0060
+ angle_coeff @angle:c2-n1-s harmonic 64.71 118.00 # SOURCE3 2 0.0121
+ angle_coeff @angle:c3-n1-n1 harmonic 56.30 180.00 # HF/6-31G* 1
+ angle_coeff @angle:ca-n1-n1 harmonic 58.54 180.00 # HF/6-31G* 1
+ angle_coeff @angle:ce-n1-o harmonic 71.28 122.40 # CORR 2
+ angle_coeff @angle:ce-n1-s harmonic 64.84 117.34 # CORR 2
+ angle_coeff @angle:cf-n1-o harmonic 71.28 122.40 # CORR 2
+ angle_coeff @angle:cf-n1-s harmonic 64.84 117.34 # CORR 2
+ angle_coeff @angle:cl-n1-n1 harmonic 51.37 179.94 # HF/6-31G* 1
+ angle_coeff @angle:f-n1-n1 harmonic 57.39 179.93 # HF/6-31G* 1
+ angle_coeff @angle:hn-n1-n1 harmonic 47.14 179.91 # HF/6-31G* 1
+ angle_coeff @angle:i-n1-n1 harmonic 47.26 179.94 # HF/6-31G* 1
+ angle_coeff @angle:n1-n1-n1 harmonic 68.97 179.97 # HF/6-31G* 1
+ angle_coeff @angle:n1-n1-n2 harmonic 67.65 171.57 # HF/6-31G* 1
+ angle_coeff @angle:n1-n1-n3 harmonic 62.49 175.09 # HF/6-31G* 1
+ angle_coeff @angle:n1-n1-n4 harmonic 61.31 179.91 # HF/6-31G* 1
+ angle_coeff @angle:n1-n1-na harmonic 61.63 179.97 # HF/6-31G* 1
+ angle_coeff @angle:n1-n1-nh harmonic 62.66 176.00 # HF/6-31G* 1
+ angle_coeff @angle:n1-n1-o harmonic 64.43 179.94 # HF/6-31G* 1
+ angle_coeff @angle:n1-n1-oh harmonic 64.78 173.77 # HF/6-31G* 1
+ angle_coeff @angle:n1-n1-os harmonic 64.01 176.12 # HF/6-31G* 1
+ angle_coeff @angle:n1-n1-p2 harmonic 69.42 174.71 # HF/6-31G* 1
+ angle_coeff @angle:n1-n1-p3 harmonic 70.24 174.27 # HF/6-31G* 1
+ angle_coeff @angle:n1-n1-s harmonic 54.64 180.00 # SOURCE3 1 0.0000
+ angle_coeff @angle:n1-n1-sh harmonic 57.01 175.07 # HF/6-31G* 1
+ angle_coeff @angle:n1-n1-ss harmonic 56.92 175.61 # HF/6-31G* 1
+ angle_coeff @angle:o-n1-p2 harmonic 84.67 116.05 # SOURCE3 1 0.0000
+ angle_coeff @angle:p2-n1-s harmonic 80.34 119.93 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-n2-br harmonic 63.89 106.60 # SOURCE3 1
+ angle_coeff @angle:br-n2-c2 harmonic 59.13 112.40 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-n2-n2 harmonic 61.08 110.42 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-n2-o harmonic 60.10 114.47 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-n2-p2 harmonic 80.05 111.03 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-n2-s harmonic 62.40 115.78 # SOURCE3 1 0.0000
+ angle_coeff @angle:c1-n2-c1 harmonic 74.41 121.10 # SOURCE3 1
+ angle_coeff @angle:c1-n2-c3 harmonic 58.67 151.88 # SOURCE3 4 15.8282
+ angle_coeff @angle:c1-n2-cl harmonic 55.36 118.80 # SOURCE2 1 0.0000
+ angle_coeff @angle:c1-n2-hn harmonic 51.47 126.50 # SOURCE2 3 7.6267
+ angle_coeff @angle:c1-n2-n2 harmonic 76.75 113.40 # SOURCE3 1
+ angle_coeff @angle:c1-n2-o harmonic 79.20 113.59 # SOURCE3 1
+ angle_coeff @angle:c1-n2-p2 harmonic 84.76 119.57 # SOURCE3 1
+ angle_coeff @angle:c1-n2-s harmonic 69.80 117.67 # SOURCE3 1
+ angle_coeff @angle:c2-n2-c2 harmonic 70.76 118.18 # SOURCE3 1
+ angle_coeff @angle:c2-n2-c3 harmonic 66.13 115.30 # SOURCE3 8 4.2940
+ angle_coeff @angle:c2-n2-ca harmonic 69.83 119.94 # SOURCE3 1
+ angle_coeff @angle:c2-n2-cl harmonic 56.69 112.64 # SOURCE3 1 0.0000
+ angle_coeff @angle:c2-n2-f harmonic 68.30 108.14 # SOURCE3 1 0.0000
+ angle_coeff @angle:c2-n2-hn harmonic 52.63 110.33 # SOURCE3 9 0.6498
+ angle_coeff @angle:c2-n2-i harmonic 51.86 114.74 # SOURCE3 2 0.0139
+ angle_coeff @angle:c2-n2-n1 harmonic 75.45 115.09 # HF/6-31G* 1
+ angle_coeff @angle:c2-n2-n2 harmonic 77.94 103.59 # SOURCE3 2 0.0000
+ angle_coeff @angle:c2-n2-n3 harmonic 71.34 118.14 # SOURCE3 1
+ angle_coeff @angle:c2-n2-n4 harmonic 62.39 112.22 # SOURCE3 3 0.0406
+ angle_coeff @angle:c2-n2-n harmonic 70.16 117.98 # SOURCE4 11 0.9019
+ angle_coeff @angle:c2-n2-na harmonic 70.35 117.58 # SOURCE3 8 1.6671
+ angle_coeff @angle:c2-n2-nh harmonic 70.71 117.61 # SOURCE3 6 3.2642
+ angle_coeff @angle:c2-n2-no harmonic 64.22 111.54 # SOURCE3 1 0.0000
+ angle_coeff @angle:c2-n2-o harmonic 75.47 116.94 # SOURCE3 1
+ angle_coeff @angle:c2-n2-oh harmonic 72.08 110.89 # SOURCE4 22 1.2709
+ angle_coeff @angle:c2-n2-os harmonic 71.83 110.51 # SOURCE4 13 0.7888
+ angle_coeff @angle:c2-n2-p2 harmonic 85.03 116.00 # SOURCE3 1
+ angle_coeff @angle:c2-n2-p3 harmonic 77.54 119.30 # SOURCE3 3 2.8489
+ angle_coeff @angle:c2-n2-p4 harmonic 79.28 118.77 # SOURCE3 1
+ angle_coeff @angle:c2-n2-s4 harmonic 68.12 112.29 # SOURCE3 1
+ angle_coeff @angle:c2-n2-s6 harmonic 68.85 116.24 # SOURCE3 1
+ angle_coeff @angle:c2-n2-s harmonic 68.67 118.00 # SOURCE3 1
+ angle_coeff @angle:c2-n2-sh harmonic 63.09 115.48 # SOURCE3 1 0.0000
+ angle_coeff @angle:c2-n2-ss harmonic 64.97 118.04 # SOURCE3 4 2.2804
+ angle_coeff @angle:c3-n2-c3 harmonic 63.76 110.70 # SOURCE3 1
+ angle_coeff @angle:c3-n2-ca harmonic 65.97 114.95 # SOURCE4 5 0.9744
+ angle_coeff @angle:c3-n2-ce harmonic 65.37 118.53 # CORR 123
+ angle_coeff @angle:c3-n2-cf harmonic 65.37 118.53 # CORR 123
+ angle_coeff @angle:c3-n2-hn harmonic 45.18 118.40 # SOURCE3 1
+ angle_coeff @angle:c3-n2-n1 harmonic 68.64 116.20 # SOURCE4 12 0.5407
+ angle_coeff @angle:c3-n2-n2 harmonic 69.29 111.18 # SOURCE3 7 0.4349
+ angle_coeff @angle:c3-n2-nh harmonic 68.08 109.99 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-n2-o harmonic 70.29 112.40 # SOURCE2 1 0.0000
+ angle_coeff @angle:c3-n2-p2 harmonic 82.11 114.21 # SOURCE3 2 2.2772
+ angle_coeff @angle:c3-n2-s6 harmonic 66.28 113.84 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-n2-s harmonic 65.70 116.72 # SOURCE3 1 0.0000
+ angle_coeff @angle:ca-n2-ca harmonic 71.79 112.20 # SOURCE3 1
+ angle_coeff @angle:ca-n2-hn harmonic 50.01 120.00 # SOURCE3 1
+ angle_coeff @angle:ca-n2-n2 harmonic 74.00 113.53 # SOURCE3 1
+ angle_coeff @angle:ca-n2-o harmonic 75.26 116.00 # SOURCE2 1 0.0000
+ angle_coeff @angle:ca-n2-p2 harmonic 84.03 118.11 # SOURCE3 1
+ angle_coeff @angle:ca-n2-s harmonic 67.84 120.11 # SOURCE3 1
+ angle_coeff @angle:c-n2-c2 harmonic 66.22 120.97 # SOURCE3 1
+ angle_coeff @angle:c-n2-c harmonic 62.71 123.80 # SOURCE3 1
+ angle_coeff @angle:c-n2-ca harmonic 66.05 120.50 # SOURCE3 1
+ angle_coeff @angle:cc-n2-cl harmonic 55.90 115.79 # CORR 2
+ angle_coeff @angle:cc-n2-hn harmonic 52.42 110.72 # CORR 20
+ angle_coeff @angle:cc-n2-na harmonic 73.01 108.92 # SOURCE4 9 1.6245
+ angle_coeff @angle:cc-n2-nh harmonic 70.37 118.47 # SOURCE4 6 1.7995
+ angle_coeff @angle:cd-n2-cl harmonic 55.90 115.79 # CORR 2
+ angle_coeff @angle:cd-n2-hn harmonic 52.42 110.72 # CORR 20
+ angle_coeff @angle:ce-n2-hn harmonic 52.74 111.05 # CORR 69
+ angle_coeff @angle:ce-n2-n harmonic 70.35 118.04 # CORR 101
+ angle_coeff @angle:ce-n2-nh harmonic 70.64 118.57 # CORR 54
+ angle_coeff @angle:ce-n2-o harmonic 77.37 112.16 # SOURCE3 1
+ angle_coeff @angle:ce-n2-oh harmonic 71.48 113.38 # CORR 37
+ angle_coeff @angle:ce-n2-os harmonic 71.23 112.97 # CORR 40
+ angle_coeff @angle:ce-n2-s harmonic 69.30 116.28 # SOURCE3 1
+ angle_coeff @angle:cf-n2-hn harmonic 52.74 111.05 # CORR 69
+ angle_coeff @angle:cf-n2-n harmonic 70.35 118.04 # CORR 101
+ angle_coeff @angle:cf-n2-nh harmonic 70.64 118.57 # CORR 54
+ angle_coeff @angle:cf-n2-o harmonic 77.37 112.16 # SOURCE3 1 same_as_ce-n2-o
+ angle_coeff @angle:cf-n2-oh harmonic 71.48 113.38 # CORR 37
+ angle_coeff @angle:cf-n2-os harmonic 71.23 112.97 # CORR 40
+ angle_coeff @angle:cf-n2-s harmonic 69.30 116.28 # SOURCE3 1 same_as_ce-n2-s
+ angle_coeff @angle:cl-n2-n1 harmonic 59.29 108.70 # SOURCE2 1 0.0000
+ angle_coeff @angle:cl-n2-n2 harmonic 58.70 110.47 # SOURCE3 1 0.0000
+ angle_coeff @angle:cl-n2-o harmonic 58.23 114.03 # SOURCE3 1
+ angle_coeff @angle:cl-n2-p2 harmonic 73.98 112.98 # SOURCE3 1 0.0000
+ angle_coeff @angle:cl-n2-s harmonic 58.50 115.77 # SOURCE3 1 0.0000
+ angle_coeff @angle:cx-n2-n2 harmonic 90.46 64.92 # SOURCE3 2 0.0000
+ angle_coeff @angle:f-n2-n2 harmonic 68.29 114.60 # SOURCE2 1 0.0000
+ angle_coeff @angle:f-n2-o harmonic 71.17 110.10 # SOURCE2 1 0.0000
+ angle_coeff @angle:f-n2-p2 harmonic 84.30 107.10 # SOURCE3 1 0.0000
+ angle_coeff @angle:f-n2-s harmonic 67.14 110.73 # SOURCE3 1 0.0000
+ angle_coeff @angle:hn-n2-hn harmonic 38.61 120.00 # SOURCE3 1
+ angle_coeff @angle:hn-n2-n1 harmonic 55.33 114.10 # SOURCE2 1 0.0000
+ angle_coeff @angle:hn-n2-n2 harmonic 55.84 105.01 # SOURCE3 19 1.5183
+ angle_coeff @angle:hn-n2-ne harmonic 54.69 108.56 # SOURCE3 29 5.5708
+ angle_coeff @angle:hn-n2-nf harmonic 54.69 108.56 # SOURCE3 29 same_as_hn-n2-ne
+ angle_coeff @angle:hn-n2-o harmonic 57.61 107.37 # SOURCE3 1 0.0000
+ angle_coeff @angle:hn-n2-p2 harmonic 58.61 112.09 # SOURCE3 18 4.0663
+ angle_coeff @angle:hn-n2-p4 harmonic 54.50 111.33 # SOURCE3 1 0.0000
+ angle_coeff @angle:hn-n2-p5 harmonic 56.32 122.34 # SOURCE3 1 0.0000
+ angle_coeff @angle:hn-n2-pe harmonic 61.28 111.41 # SOURCE3 20 4.9895
+ angle_coeff @angle:hn-n2-pf harmonic 61.28 111.41 # SOURCE3 20 same_as_hn-n2-pe
+ angle_coeff @angle:hn-n2-s2 harmonic 48.34 115.80 # SOURCE2 1 0.0000
+ angle_coeff @angle:hn-n2-s4 harmonic 46.34 111.21 # SOURCE3 1 0.0000
+ angle_coeff @angle:hn-n2-s harmonic 49.11 108.17 # SOURCE3 1 0.0000
+ angle_coeff @angle:hn-n2-s6 harmonic 47.82 112.59 # SOURCE3 2 0.0000
+ angle_coeff @angle:i-n2-n2 harmonic 53.71 111.79 # SOURCE3 1 0.0000
+ angle_coeff @angle:i-n2-o harmonic 52.33 116.82 # SOURCE3 1 0.0000
+ angle_coeff @angle:i-n2-p2 harmonic 72.31 113.26 # SOURCE3 1 0.0000
+ angle_coeff @angle:i-n2-s harmonic 56.35 116.85 # SOURCE3 1 0.0000
+ angle_coeff @angle:n1-n2-n1 harmonic 80.82 112.00 # HF/6-31G* 1
+ angle_coeff @angle:n2-n2-n1 harmonic 62.28 180.00 # dac_for_azides 0
+ angle_coeff @angle:n2-n2-n2 harmonic 78.20 109.49 # SOURCE3 2 0.0000
+ angle_coeff @angle:n2-n2-n3 harmonic 76.59 108.88 # SOURCE3 1
+ angle_coeff @angle:n2-n2-n4 harmonic 65.78 106.45 # SOURCE3 1 0.0000
+ angle_coeff @angle:n2-n2-na harmonic 74.18 112.23 # SOURCE3 1
+ angle_coeff @angle:n2-n2-nh harmonic 74.76 111.70 # SOURCE3 5 0.3475
+ angle_coeff @angle:n2-n2-no harmonic 67.68 105.97 # SOURCE3 1 0.0000
+ angle_coeff @angle:n2-n2-o harmonic 80.17 110.43 # SOURCE3 1
+ angle_coeff @angle:n2-n2-oh harmonic 74.02 111.51 # SOURCE3 1 0.0000
+ angle_coeff @angle:n2-n2-os harmonic 74.69 108.38 # SOURCE3 1 0.0000
+ angle_coeff @angle:n2-n2-p2 harmonic 90.07 109.15 # SOURCE3 1
+ angle_coeff @angle:n2-n2-p3 harmonic 81.73 113.05 # SOURCE3 1 0.0000
+ angle_coeff @angle:n2-n2-p4 harmonic 81.37 118.77 # SOURCE3 1
+ angle_coeff @angle:n2-n2-p5 harmonic 89.80 110.46 # SOURCE3 1
+ angle_coeff @angle:n2-n2-s4 harmonic 71.60 107.30 # SOURCE3 1
+ angle_coeff @angle:n2-n2-s6 harmonic 72.35 111.25 # SOURCE3 1
+ angle_coeff @angle:n2-n2-s harmonic 71.24 115.91 # SOURCE3 1
+ angle_coeff @angle:n2-n2-sh harmonic 66.00 111.10 # SOURCE3 1 0.0000
+ angle_coeff @angle:n2-n2-ss harmonic 68.46 112.14 # SOURCE3 1 0.0000
+ angle_coeff @angle:n3-n2-n3 harmonic 72.95 115.07 # SOURCE3 1
+ angle_coeff @angle:n3-n2-o harmonic 76.86 114.00 # SOURCE2 1 0.0000
+ angle_coeff @angle:n3-n2-p2 harmonic 86.69 115.34 # SOURCE3 1
+ angle_coeff @angle:n3-n2-s harmonic 69.96 117.13 # SOURCE3 1
+ angle_coeff @angle:n4-n2-n4 harmonic 59.97 106.70 # SOURCE3 1
+ angle_coeff @angle:n4-n2-o harmonic 64.86 112.20 # SOURCE3 1 0.0000
+ angle_coeff @angle:n4-n2-p2 harmonic 79.54 113.07 # SOURCE3 1 0.0000
+ angle_coeff @angle:n4-n2-s harmonic 62.44 118.50 # SOURCE3 1 0.0000
+ angle_coeff @angle:na-n2-na harmonic 73.47 107.00 # SOURCE3 1
+ angle_coeff @angle:na-n2-o harmonic 75.74 113.09 # SOURCE3 1 0.0000
+ angle_coeff @angle:na-n2-p2 harmonic 84.58 119.16 # SOURCE3 1 0.0000
+ angle_coeff @angle:na-n2-s harmonic 68.94 118.26 # SOURCE3 1 0.0000
+ angle_coeff @angle:ne-n2-nh harmonic 74.13 113.09 # CORR 12
+ angle_coeff @angle:ne-n2-o harmonic 79.97 110.31 # SOURCE3 1
+ angle_coeff @angle:ne-n2-s harmonic 71.04 116.22 # SOURCE3 1
+ angle_coeff @angle:nf-n2-nh harmonic 74.13 113.09 # CORR 12
+ angle_coeff @angle:nf-n2-o harmonic 79.97 110.31 # SOURCE3 1 same_as_ne-n2-o
+ angle_coeff @angle:nf-n2-s harmonic 71.04 116.22 # SOURCE3 1 same_as_ne-n2-s
+ angle_coeff @angle:nh-n2-nh harmonic 69.67 121.20 # SOURCE3 1
+ angle_coeff @angle:nh-n2-o harmonic 76.02 113.60 # SOURCE4 13 1.0945
+ angle_coeff @angle:nh-n2-p2 harmonic 84.93 118.83 # SOURCE3 2 0.1024
+ angle_coeff @angle:nh-n2-s harmonic 69.56 116.90 # SOURCE3 2 0.2276
+ angle_coeff @angle:n-n2-n2 harmonic 75.48 108.18 # SOURCE4 8 0.3496
+ angle_coeff @angle:n-n2-o harmonic 74.99 115.10 # SOURCE4 31 0.2796
+ angle_coeff @angle:no-n2-no harmonic 62.81 103.70 # SOURCE3 1
+ angle_coeff @angle:no-n2-o harmonic 70.40 100.76 # SOURCE3 1 0.0000
+ angle_coeff @angle:no-n2-p2 harmonic 81.32 111.95 # SOURCE3 1 0.0000
+ angle_coeff @angle:n-n2-p2 harmonic 85.20 117.30 # SOURCE3 1 0.0000
+ angle_coeff @angle:n-n2-s harmonic 69.64 115.74 # SOURCE3 1 0.0000
+ angle_coeff @angle:oh-n2-oh harmonic 74.84 101.70 # SOURCE3 1
+ angle_coeff @angle:oh-n2-p2 harmonic 86.05 115.11 # SOURCE3 1 0.0000
+ angle_coeff @angle:oh-n2-s harmonic 69.52 116.08 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-n2-o harmonic 81.02 115.37 # SOURCE3 1
+ angle_coeff @angle:o-n2-oh harmonic 75.56 112.15 # SOURCE2 2 1.4500
+ angle_coeff @angle:o-n2-os harmonic 75.73 110.35 # SOURCE3 2 0.0042
+ angle_coeff @angle:o-n2-p2 harmonic 88.65 116.08 # SOURCE3 1
+ angle_coeff @angle:o-n2-p3 harmonic 82.37 113.43 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-n2-p4 harmonic 85.23 110.61 # SOURCE3 1
+ angle_coeff @angle:o-n2-p5 harmonic 91.73 109.11 # SOURCE3 1
+ angle_coeff @angle:o-n2-pe harmonic 85.18 134.56 # SOURCE3 1
+ angle_coeff @angle:o-n2-pf harmonic 85.18 134.56 # SOURCE3 1 same_as_o-n2-pe
+ angle_coeff @angle:o-n2-s4 harmonic 72.12 108.91 # SOURCE3 1
+ angle_coeff @angle:o-n2-s6 harmonic 73.56 111.34 # SOURCE3 1
+ angle_coeff @angle:o-n2-s harmonic 72.09 117.18 # SOURCE3 1
+ angle_coeff @angle:o-n2-sh harmonic 65.55 114.98 # SOURCE3 1 0.0000
+ angle_coeff @angle:os-n2-os harmonic 71.25 110.29 # SOURCE3 1
+ angle_coeff @angle:os-n2-p2 harmonic 87.70 110.20 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-n2-ss harmonic 68.39 115.34 # SOURCE3 1 0.0000
+ angle_coeff @angle:os-n2-s harmonic 70.47 112.23 # SOURCE3 1 0.0000
+ angle_coeff @angle:p2-n2-p2 harmonic 107.12 116.80 # SOURCE3 1
+ angle_coeff @angle:p2-n2-p3 harmonic 98.43 124.48 # SOURCE3 1 0.0000
+ angle_coeff @angle:p2-n2-p4 harmonic 98.27 128.37 # SOURCE3 1
+ angle_coeff @angle:p2-n2-p5 harmonic 104.38 123.47 # SOURCE3 1
+ angle_coeff @angle:p2-n2-s4 harmonic 86.26 112.10 # SOURCE3 1
+ angle_coeff @angle:p2-n2-s6 harmonic 86.44 115.70 # SOURCE3 1
+ angle_coeff @angle:p2-n2-s harmonic 85.91 117.84 # SOURCE3 1
+ angle_coeff @angle:p2-n2-sh harmonic 80.45 118.45 # SOURCE3 1 0.0000
+ angle_coeff @angle:p2-n2-ss harmonic 82.01 120.43 # SOURCE3 1 0.0000
+ angle_coeff @angle:p3-n2-p3 harmonic 96.00 120.40 # SOURCE3 1
+ angle_coeff @angle:p3-n2-s harmonic 80.08 120.86 # SOURCE3 1 0.0000
+ angle_coeff @angle:p4-n2-s harmonic 77.83 131.84 # SOURCE3 1
+ angle_coeff @angle:p5-n2-p5 harmonic 105.81 120.60 # SOURCE3 1
+ angle_coeff @angle:p5-n2-s harmonic 85.34 119.89 # SOURCE3 1
+ angle_coeff @angle:pe-n2-s harmonic 88.59 115.73 # SOURCE3 1
+ angle_coeff @angle:pf-n2-s harmonic 88.59 115.73 # SOURCE3 1 same_as_pe-n2-s
+ angle_coeff @angle:s4-n2-s4 harmonic 66.00 119.18 # SOURCE3 1
+ angle_coeff @angle:s4-n2-s6 harmonic 67.18 119.18 # SOURCE3 1
+ angle_coeff @angle:s6-n2-s6 harmonic 68.49 119.18 # SOURCE3 1
+ angle_coeff @angle:sh-n2-sh harmonic 59.95 123.93 # SOURCE3 1
+ angle_coeff @angle:sh-n2-ss harmonic 61.33 123.93 # SOURCE3 1
+ angle_coeff @angle:s-n2-s harmonic 68.47 120.88 # SOURCE3 1
+ angle_coeff @angle:s-n2-s4 harmonic 69.20 113.00 # SOURCE3 1
+ angle_coeff @angle:s-n2-s6 harmonic 68.60 119.61 # SOURCE3 1
+ angle_coeff @angle:s-n2-sh harmonic 63.58 122.05 # SOURCE3 1 0.0000
+ angle_coeff @angle:s-n2-ss harmonic 66.58 118.19 # SOURCE3 1 0.0000
+ angle_coeff @angle:ss-n2-ss harmonic 62.92 123.93 # SOURCE3 1
+ angle_coeff @angle:br-n3-br harmonic 66.54 107.15 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-n3-c3 harmonic 62.70 106.93 # SOURCE3 2 0.0000
+ angle_coeff @angle:c1-n3-c1 harmonic 64.09 123.34 # SOURCE3 1
+ angle_coeff @angle:c1-n3-f harmonic 68.22 104.70 # SOURCE2 1 0.0000
+ angle_coeff @angle:c1-n3-hn harmonic 47.74 118.31 # SOURCE3 1
+ angle_coeff @angle:c1-n3-o harmonic 70.01 116.63 # SOURCE3 1
+ angle_coeff @angle:c2-n3-c2 harmonic 66.22 124.68 # SOURCE3 1
+ angle_coeff @angle:c2-n3-hn harmonic 49.11 119.38 # SOURCE3 1
+ angle_coeff @angle:c3-n3-c3 harmonic 64.01 110.90 # SOURCE3 40 2.3048
+ angle_coeff @angle:c3-n3-cl harmonic 57.82 107.23 # SOURCE3 3 0.3673
+ angle_coeff @angle:c3-n3-cx harmonic 62.45 116.32 # SOURCE4 24 0.5119
+ angle_coeff @angle:c3-n3-cy harmonic 61.69 118.26 # SOURCE4 14 0.8788
+ angle_coeff @angle:c3-n3-f harmonic 66.81 103.13 # SOURCE3 2 0.0000
+ angle_coeff @angle:c3-n3-hn harmonic 47.13 109.92 # SOURCE3 120 2.2590
+ angle_coeff @angle:c3-n3-i harmonic 56.98 108.48 # SOURCE3 2 0.0000
+ angle_coeff @angle:c3-n3-n2 harmonic 66.23 118.75 # SOURCE2 2 2.6500
+ angle_coeff @angle:c3-n3-n3 harmonic 66.76 108.15 # SOURCE3 15 1.3999
+ angle_coeff @angle:c3-n3-n4 harmonic 67.18 109.65 # SOURCE3 3 0.1146
+ angle_coeff @angle:c3-n3-n harmonic 66.67 111.75 # SOURCE4 50 1.6777
+ angle_coeff @angle:c3-n3-nh harmonic 66.37 111.89 # SOURCE4 21 1.3006
+ angle_coeff @angle:c3-n3-no harmonic 66.02 111.27 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-n3-o harmonic 68.68 113.31 # SOURCE3 5 8.9081
+ angle_coeff @angle:c3-n3-oh harmonic 69.07 106.14 # SOURCE4 14 1.1040
+ angle_coeff @angle:c3-n3-os harmonic 68.48 104.95 # SOURCE4 9 0.9687
+ angle_coeff @angle:c3-n3-p3 harmonic 75.79 121.93 # SOURCE3 3 5.6009
+ angle_coeff @angle:c3-n3-p5 harmonic 78.53 119.81 # SOURCE4 58 1.8367
+ angle_coeff @angle:c3-n3-s4 harmonic 61.45 112.91 # SOURCE3 3 0.8983
+ angle_coeff @angle:c3-n3-s6 harmonic 63.67 116.57 # SOURCE4 73 1.8772
+ angle_coeff @angle:c3-n3-s harmonic 61.46 110.02 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-n3-sh harmonic 62.06 112.70 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-n3-ss harmonic 61.59 116.01 # SOURCE3 3 1.1944
+ angle_coeff @angle:c3-n3-sy harmonic 62.43 115.27 # SOURCE4 108 1.7647
+ angle_coeff @angle:cl-n3-cl harmonic 53.49 108.28 # SOURCE3 1 0.0000
+ angle_coeff @angle:cl-n3-hn harmonic 39.61 104.39 # SOURCE3 2 0.0000
+ angle_coeff @angle:cl-n3-n3 harmonic 59.29 107.65 # SOURCE3 1 0.0000
+ angle_coeff @angle:cx-n3-cx harmonic 86.39 60.71 # SOURCE4 57 0.2359
+ angle_coeff @angle:cx-n3-hn harmonic 47.15 109.57 # SOURCE4 26 0.7439
+ angle_coeff @angle:cx-n3-p5 harmonic 78.66 119.32 # SOURCE4 71 1.1948
+ angle_coeff @angle:cx-n3-py harmonic 76.73 121.75 # SOURCE4 10 1.0295
+ angle_coeff @angle:cy-n3-cy harmonic 70.04 90.87 # SOURCE4 10 0.5777
+ angle_coeff @angle:cy-n3-hn harmonic 46.25 112.12 # SOURCE4 9 1.9058
+ angle_coeff @angle:f-n3-f harmonic 67.71 102.22 # SOURCE2 4 0.7562
+ angle_coeff @angle:f-n3-hn harmonic 50.78 99.80 # SOURCE2 1 0.0000
+ angle_coeff @angle:hn-n3-hn harmonic 41.30 107.13 # SOURCE3 44 1.9687
+ angle_coeff @angle:hn-n3-i harmonic 35.43 109.98 # SOURCE3 2 0.0000
+ angle_coeff @angle:hn-n3-n1 harmonic 52.05 110.17 # HF/6-31G* 1
+ angle_coeff @angle:hn-n3-n2 harmonic 51.40 115.94 # SOURCE3 1
+ angle_coeff @angle:hn-n3-n3 harmonic 50.16 103.98 # SOURCE3 18 1.8593
+ angle_coeff @angle:hn-n3-n4 harmonic 50.87 106.40 # SOURCE3 5 0.5863
+ angle_coeff @angle:hn-n3-n harmonic 51.02 106.57 # SOURCE3 6 1.0767
+ angle_coeff @angle:hn-n3-na harmonic 50.32 107.89 # SOURCE3 1
+ angle_coeff @angle:hn-n3-nh harmonic 50.44 107.39 # SOURCE3 11 1.6294
+ angle_coeff @angle:hn-n3-no harmonic 50.25 104.78 # SOURCE3 3 1.1126
+ angle_coeff @angle:hn-n3-o harmonic 53.14 113.32 # SOURCE3 3 4.3945
+ angle_coeff @angle:hn-n3-oh harmonic 53.08 101.11 # SOURCE3 4 0.9921
+ angle_coeff @angle:hn-n3-os harmonic 51.67 100.92 # SOURCE3 6 0.7295
+ angle_coeff @angle:hn-n3-p2 harmonic 54.24 120.26 # SOURCE3 1
+ angle_coeff @angle:hn-n3-p3 harmonic 52.93 116.89 # SOURCE3 9 3.8816
+ angle_coeff @angle:hn-n3-p4 harmonic 54.97 113.05 # SOURCE3 2 0.0000
+ angle_coeff @angle:hn-n3-p5 harmonic 56.04 113.68 # SOURCE3 6 2.1781
+ angle_coeff @angle:hn-n3-s4 harmonic 42.47 108.93 # SOURCE3 7 1.7819
+ angle_coeff @angle:hn-n3-s harmonic 41.53 109.47 # SOURCE3 1
+ angle_coeff @angle:hn-n3-s6 harmonic 46.06 109.33 # SOURCE4 86 0.9610
+ angle_coeff @angle:hn-n3-sh harmonic 43.12 108.67 # SOURCE3 3 2.5025
+ angle_coeff @angle:hn-n3-ss harmonic 43.36 109.85 # SOURCE3 5 2.3215
+ angle_coeff @angle:hn-n3-sy harmonic 44.15 109.49 # SOURCE4 278 0.7897
+ angle_coeff @angle:i-n3-i harmonic 60.04 111.27 # SOURCE3 1 0.0000
+ angle_coeff @angle:n1-n3-n1 harmonic 72.40 113.21 # HF/6-31G* 1
+ angle_coeff @angle:n2-n3-n2 harmonic 71.82 118.73 # SOURCE3 1
+ angle_coeff @angle:n2-n3-o harmonic 74.13 114.91 # SOURCE3 1
+ angle_coeff @angle:n3-n3-n3 harmonic 69.57 105.71 # SOURCE3 3 0.3561
+ angle_coeff @angle:n4-n3-n4 harmonic 69.04 113.48 # SOURCE3 1 0.0000
+ angle_coeff @angle:n4-n3-nh harmonic 70.91 107.14 # SOURCE3 1
+ angle_coeff @angle:na-n3-na harmonic 69.21 112.00 # SOURCE3 1
+ angle_coeff @angle:nh-n3-nh harmonic 70.75 107.15 # SOURCE3 1 0.0000
+ angle_coeff @angle:n-n3-n harmonic 70.25 110.55 # SOURCE3 1 0.0000
+ angle_coeff @angle:no-n3-no harmonic 67.04 115.26 # SOURCE3 1 0.0000
+ angle_coeff @angle:oh-n3-oh harmonic 72.79 107.18 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-n3-o harmonic 71.89 126.14 # SOURCE3 1
+ angle_coeff @angle:o-n3-p2 harmonic 84.34 117.02 # SOURCE3 1
+ angle_coeff @angle:o-n3-p4 harmonic 83.38 116.65 # SOURCE3 1
+ angle_coeff @angle:o-n3-s4 harmonic 64.56 114.09 # SOURCE3 1
+ angle_coeff @angle:o-n3-s6 harmonic 68.82 113.80 # SOURCE3 1
+ angle_coeff @angle:o-n3-s harmonic 62.04 119.81 # SOURCE3 1
+ angle_coeff @angle:os-n3-os harmonic 70.79 106.52 # SOURCE3 1 0.0000
+ angle_coeff @angle:p2-n3-p2 harmonic 97.53 130.13 # SOURCE3 1
+ angle_coeff @angle:p3-n3-p3 harmonic 98.56 118.74 # SOURCE3 3 3.3755
+ angle_coeff @angle:p4-n3-p4 harmonic 101.51 116.35 # SOURCE3 1
+ angle_coeff @angle:p5-n3-p5 harmonic 102.24 119.42 # SOURCE3 1 0.0000
+ angle_coeff @angle:s4-n3-s4 harmonic 60.13 120.02 # SOURCE3 1 0.0000
+ angle_coeff @angle:s4-n3-s6 harmonic 61.99 120.95 # SOURCE3 1
+ angle_coeff @angle:s6-n3-s6 harmonic 63.29 126.13 # SOURCE3 1 0.0000
+ angle_coeff @angle:sh-n3-sh harmonic 61.24 118.63 # SOURCE3 1 0.0000
+ angle_coeff @angle:sh-n3-ss harmonic 61.27 119.67 # SOURCE3 1
+ angle_coeff @angle:s-n3-s harmonic 56.48 131.36 # SOURCE3 1 0.0000
+ angle_coeff @angle:ss-n3-ss harmonic 61.60 119.57 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-n4-br harmonic 65.14 114.82 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-n4-hn harmonic 41.38 108.44 # SOURCE3 7 0.5630
+ angle_coeff @angle:c1-n4-c1 harmonic 65.53 113.87 # SOURCE3 1 0.0000
+ angle_coeff @angle:c1-n4-hn harmonic 48.62 110.19 # SOURCE3 7 1.0847
+ angle_coeff @angle:c2-n4-c2 harmonic 63.01 112.58 # SOURCE3 1 0.0000
+ angle_coeff @angle:c2-n4-c3 harmonic 63.10 110.96 # SOURCE4 13 2.4632
+ angle_coeff @angle:c2-n4-hn harmonic 46.43 111.36 # SOURCE3 13 1.2672
+ angle_coeff @angle:c3-n4-c3 harmonic 62.84 110.64 # SOURCE3 13 1.3060
+ angle_coeff @angle:c3-n4-ca harmonic 63.61 110.40 # SOURCE4 46 1.4643
+ angle_coeff @angle:c3-n4-cc harmonic 62.84 111.09 # SOURCE4 7 0.7065
+ angle_coeff @angle:c3-n4-cl harmonic 57.92 108.04 # SOURCE3 3 0.0000
+ angle_coeff @angle:c3-n4-hn harmonic 46.19 110.11 # SOURCE3 100 1.3136
+ angle_coeff @angle:c3-n4-n3 harmonic 66.73 108.72 # SOURCE3 2 0.0000
+ angle_coeff @angle:c3-n4-n4 harmonic 63.72 114.07 # SOURCE3 4 0.0000
+ angle_coeff @angle:c3-n4-n harmonic 66.20 109.26 # SOURCE4 7 1.9859
+ angle_coeff @angle:c3-n4-nh harmonic 64.76 111.73 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-n4-no harmonic 65.25 109.08 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-n4-o harmonic 67.25 111.66 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-n4-oh harmonic 65.90 113.73 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-n4-os harmonic 67.38 107.42 # SOURCE3 3 3.5920
+ angle_coeff @angle:c3-n4-p2 harmonic 71.92 112.52 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-n4-p3 harmonic 74.40 110.73 # SOURCE3 3 2.1084
+ angle_coeff @angle:c3-n4-p5 harmonic 75.11 113.22 # SOURCE3 3 0.4021
+ angle_coeff @angle:c3-n4-s4 harmonic 57.21 108.23 # SOURCE3 3 0.4195
+ angle_coeff @angle:c3-n4-s6 harmonic 57.75 111.56 # SOURCE3 3 1.8851
+ angle_coeff @angle:c3-n4-s harmonic 59.21 113.55 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-n4-sh harmonic 59.13 115.81 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-n4-ss harmonic 59.66 113.68 # SOURCE3 3 1.1405
+ angle_coeff @angle:ca-n4-ca harmonic 63.21 114.48 # SOURCE3 1 0.0000
+ angle_coeff @angle:ca-n4-hn harmonic 47.54 108.52 # SOURCE3 5 1.1693
+ angle_coeff @angle:c-n4-c harmonic 61.50 108.61 # SOURCE3 1 0.0000
+ angle_coeff @angle:c-n4-hn harmonic 44.68 110.86 # SOURCE3 10 1.0073
+ angle_coeff @angle:cl-n4-cl harmonic 52.73 114.91 # SOURCE3 1 0.0000
+ angle_coeff @angle:cl-n4-hn harmonic 39.53 108.87 # SOURCE3 7 0.7719
+ angle_coeff @angle:f-n4-f harmonic 70.47 109.05 # SOURCE3 1 0.0000
+ angle_coeff @angle:f-n4-hn harmonic 51.67 108.39 # SOURCE3 4 0.0000
+ angle_coeff @angle:hn-n4-hn harmonic 40.52 108.11 # SOURCE3 208 1.4126
+ angle_coeff @angle:hn-n4-i harmonic 36.44 108.72 # SOURCE3 7 1.2717
+ angle_coeff @angle:hn-n4-n1 harmonic 51.79 109.39 # HF/6-31G* 1
+ angle_coeff @angle:hn-n4-n2 harmonic 42.29 109.68 # SOURCE3 19 0.6266
+ angle_coeff @angle:hn-n4-n3 harmonic 49.85 110.40 # SOURCE3 11 0.7307
+ angle_coeff @angle:hn-n4-n4 harmonic 48.09 108.66 # SOURCE3 18 1.2967
+ angle_coeff @angle:hn-n4-n harmonic 49.59 109.08 # SOURCE3 13 1.6047
+ angle_coeff @angle:hn-n4-na harmonic 49.43 109.38 # SOURCE3 25 1.0758
+ angle_coeff @angle:hn-n4-nh harmonic 48.36 109.92 # SOURCE3 12 0.7304
+ angle_coeff @angle:hn-n4-no harmonic 49.19 104.38 # SOURCE3 2 0.0000
+ angle_coeff @angle:hn-n4-o harmonic 52.09 109.26 # SOURCE3 6 2.1203
+ angle_coeff @angle:hn-n4-oh harmonic 51.12 108.09 # SOURCE3 6 1.6728
+ angle_coeff @angle:hn-n4-os harmonic 50.15 109.39 # SOURCE3 10 1.4403
+ angle_coeff @angle:hn-n4-p2 harmonic 47.71 110.50 # SOURCE3 25 1.0664
+ angle_coeff @angle:hn-n4-p3 harmonic 49.73 109.89 # SOURCE3 10 2.3870
+ angle_coeff @angle:hn-n4-p4 harmonic 47.65 111.33 # SOURCE3 3 0.0000
+ angle_coeff @angle:hn-n4-p5 harmonic 51.29 110.00 # SOURCE3 10 1.0282
+ angle_coeff @angle:hn-n4-py harmonic 47.36 117.89 # SOURCE3 8 0.0000
+ angle_coeff @angle:hn-n4-s4 harmonic 37.07 110.10 # SOURCE3 6 0.8471
+ angle_coeff @angle:hn-n4-s harmonic 41.06 106.89 # SOURCE3 6 1.0775
+ angle_coeff @angle:hn-n4-s6 harmonic 38.64 108.94 # SOURCE3 10 0.5715
+ angle_coeff @angle:hn-n4-sh harmonic 41.29 108.56 # SOURCE3 6 0.8535
+ angle_coeff @angle:hn-n4-ss harmonic 41.15 109.17 # SOURCE3 10 0.8455
+ angle_coeff @angle:i-n4-i harmonic 58.99 118.49 # SOURCE3 1 0.0000
+ angle_coeff @angle:n1-n4-n1 harmonic 72.69 110.67 # HF/6-31G* 1
+ angle_coeff @angle:n2-n4-n2 harmonic 59.43 108.64 # SOURCE3 1 0.0000
+ angle_coeff @angle:n3-n4-n3 harmonic 69.79 111.07 # SOURCE3 1 0.0000
+ angle_coeff @angle:n4-n4-n4 harmonic 65.21 115.49 # SOURCE3 1 0.0000
+ angle_coeff @angle:na-n4-na harmonic 66.27 119.60 # SOURCE3 1 0.0000
+ angle_coeff @angle:nh-n4-nh harmonic 67.83 109.38 # SOURCE3 1 0.0000
+ angle_coeff @angle:n-n4-n harmonic 66.68 118.62 # SOURCE3 1 0.0000
+ angle_coeff @angle:oh-n4-oh harmonic 72.25 108.19 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-n4-o harmonic 70.28 120.97 # SOURCE3 1 0.0000
+ angle_coeff @angle:os-n4-os harmonic 72.46 104.40 # SOURCE3 1 0.0000
+ angle_coeff @angle:p2-n4-p2 harmonic 89.65 113.91 # SOURCE3 2 0.0000
+ angle_coeff @angle:p3-n4-p3 harmonic 89.71 121.38 # SOURCE3 1 0.0000
+ angle_coeff @angle:p5-n4-p5 harmonic 98.15 107.02 # SOURCE3 1 0.0000
+ angle_coeff @angle:py-n4-py harmonic 116.94 69.79 # SOURCE3 2 0.0000
+ angle_coeff @angle:s4-n4-s4 harmonic 54.75 115.43 # SOURCE3 1
+ angle_coeff @angle:s6-n4-s6 harmonic 57.91 109.51 # SOURCE3 1 0.0000
+ angle_coeff @angle:sh-n4-sh harmonic 60.37 112.59 # SOURCE3 1 0.0000
+ angle_coeff @angle:s-n4-s harmonic 56.74 124.55 # SOURCE3 1 0.0000
+ angle_coeff @angle:ss-n4-ss harmonic 61.26 109.20 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-na-br harmonic 60.55 123.00 # SOURCE3 1
+ angle_coeff @angle:br-na-c2 harmonic 63.61 100.48 # SOURCE3 2 1.0536
+ angle_coeff @angle:br-na-ca harmonic 57.15 124.81 # SOURCE3 1
+ angle_coeff @angle:br-na-cc harmonic 57.16 124.62 # SOURCE3 3 0.5348
+ angle_coeff @angle:br-na-cd harmonic 57.16 124.62 # SOURCE3 3 same_as_br-na-cc
+ angle_coeff @angle:br-na-nc harmonic 59.86 119.42 # SOURCE3 4 1.6703
+ angle_coeff @angle:br-na-nd harmonic 59.86 119.42 # SOURCE3 4 same_as_br-na-nc
+ angle_coeff @angle:br-na-os harmonic 63.92 104.99 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-na-p2 harmonic 75.91 121.01 # SOURCE3 1
+ angle_coeff @angle:br-na-pc harmonic 76.39 120.26 # SOURCE3 3 2.1456
+ angle_coeff @angle:br-na-pd harmonic 76.39 120.26 # SOURCE3 3 same_as_br-na-pc
+ angle_coeff @angle:br-na-ss harmonic 62.46 112.28 # SOURCE3 1 0.0000
+ angle_coeff @angle:c1-na-c1 harmonic 67.20 117.20 # SOURCE3 1
+ angle_coeff @angle:c1-na-c2 harmonic 64.32 125.20 # SOURCE3 1
+ angle_coeff @angle:c1-na-ca harmonic 66.54 120.57 # SOURCE3 1
+ angle_coeff @angle:c1-na-cc harmonic 65.82 121.35 # SOURCE3 6 0.6517
+ angle_coeff @angle:c1-na-cd harmonic 65.82 121.35 # SOURCE3 6 0.6517
+ angle_coeff @angle:c1-na-nc harmonic 68.27 120.24 # SOURCE3 4 1.6849
+ angle_coeff @angle:c1-na-nd harmonic 68.27 120.24 # SOURCE3 4 same_as_c1-na-nc
+ angle_coeff @angle:c1-na-os harmonic 70.24 106.96 # SOURCE3 2 0.0000
+ angle_coeff @angle:c1-na-p2 harmonic 76.49 122.25 # SOURCE3 1
+ angle_coeff @angle:c1-na-pc harmonic 77.33 121.48 # SOURCE3 3 2.1681
+ angle_coeff @angle:c1-na-pd harmonic 77.33 121.48 # SOURCE3 3 same_as_c1-na-pc
+ angle_coeff @angle:c1-na-ss harmonic 61.89 118.30 # SOURCE3 1 0.0000
+ angle_coeff @angle:c2-na-c2 harmonic 67.80 110.37 # SOURCE3 6 0.5121
+ angle_coeff @angle:c2-na-c3 harmonic 64.23 117.20 # SOURCE3 2 0.0000
+ angle_coeff @angle:c2-na-ca harmonic 64.55 125.33 # SOURCE4 7 0.5648
+ angle_coeff @angle:c2-na-cc harmonic 63.98 125.75 # SOURCE3 10 1.5856
+ angle_coeff @angle:c2-na-cd harmonic 63.98 125.75 # SOURCE3 10 1.5856
+ angle_coeff @angle:c2-na-cl harmonic 58.85 101.01 # SOURCE3 2 1.5799
+ angle_coeff @angle:c2-na-f harmonic 68.64 103.11 # SOURCE3 1 0.0000
+ angle_coeff @angle:c2-na-hn harmonic 47.62 119.28 # SOURCE3 14 6.6027
+ angle_coeff @angle:c2-na-i harmonic 58.98 106.74 # SOURCE3 1 0.0000
+ angle_coeff @angle:c2-na-n1 harmonic 66.27 124.81 # HF/6-31G* 1
+ angle_coeff @angle:c2-na-n2 harmonic 65.80 125.00 # SOURCE3 1
+ angle_coeff @angle:c2-na-n3 harmonic 64.64 124.80 # SOURCE3 1
+ angle_coeff @angle:c2-na-n4 harmonic 65.19 121.32 # SOURCE3 1
+ angle_coeff @angle:c2-na-n harmonic 65.63 124.70 # SOURCE3 1
+ angle_coeff @angle:c2-na-na harmonic 65.14 124.60 # SOURCE3 1
+ angle_coeff @angle:c2-na-nc harmonic 67.42 120.61 # CORR 9
+ angle_coeff @angle:c2-na-nd harmonic 67.42 120.61 # CORR 9
+ angle_coeff @angle:c2-na-nh harmonic 65.04 124.98 # SOURCE3 1
+ angle_coeff @angle:c2-na-no harmonic 64.34 124.20 # SOURCE3 1
+ angle_coeff @angle:c2-na-o harmonic 68.21 125.90 # SOURCE3 1
+ angle_coeff @angle:c2-na-oh harmonic 65.80 123.90 # SOURCE3 1
+ angle_coeff @angle:c2-na-os harmonic 68.53 110.33 # SOURCE3 4 3.2172
+ angle_coeff @angle:c2-na-p2 harmonic 76.19 122.14 # SOURCE3 1
+ angle_coeff @angle:c2-na-p3 harmonic 74.55 126.10 # SOURCE3 1
+ angle_coeff @angle:c2-na-p4 harmonic 81.58 125.00 # SOURCE3 1
+ angle_coeff @angle:c2-na-p5 harmonic 76.43 125.10 # SOURCE3 1
+ angle_coeff @angle:c2-na-pc harmonic 76.96 121.56 # SOURCE3 3 1.6252
+ angle_coeff @angle:c2-na-pd harmonic 76.96 121.56 # SOURCE3 3 same_as_c2-na-pc
+ angle_coeff @angle:c2-na-s4 harmonic 58.37 124.90 # SOURCE3 1
+ angle_coeff @angle:c2-na-s6 harmonic 60.24 124.40 # SOURCE3 1
+ angle_coeff @angle:c2-na-s harmonic 58.90 125.80 # SOURCE3 1
+ angle_coeff @angle:c2-na-sh harmonic 60.23 125.10 # SOURCE3 1
+ angle_coeff @angle:c2-na-ss harmonic 62.34 115.53 # SOURCE3 5 1.4036
+ angle_coeff @angle:c3-na-c3 harmonic 60.72 125.59 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-na-ca harmonic 63.15 124.36 # SOURCE3 5 4.2557
+ angle_coeff @angle:c3-na-cc harmonic 62.56 125.09 # SOURCE3 18 1.2138
+ angle_coeff @angle:c3-na-cd harmonic 62.56 125.09 # SOURCE3 18 1.2138
+ angle_coeff @angle:c3-na-cp harmonic 63.76 119.46 # SOURCE4 7 0.4108
+ angle_coeff @angle:c3-na-n2 harmonic 65.48 120.05 # SOURCE4 5 0.8795
+ angle_coeff @angle:c3-na-n harmonic 67.37 112.68 # SOURCE4 12 0.5122
+ angle_coeff @angle:c3-na-nc harmonic 65.74 120.46 # SOURCE3 8 2.1625
+ angle_coeff @angle:c3-na-nd harmonic 65.74 120.46 # SOURCE3 8 2.1625
+ angle_coeff @angle:c3-na-os harmonic 68.91 104.39 # SOURCE3 3 1.2017
+ angle_coeff @angle:c3-na-p2 harmonic 75.04 123.12 # SOURCE3 1
+ angle_coeff @angle:c3-na-pc harmonic 75.89 122.11 # SOURCE3 3 2.8504
+ angle_coeff @angle:c3-na-pd harmonic 75.89 122.11 # SOURCE3 3 same_as_c3-na-pc
+ angle_coeff @angle:c3-na-sh harmonic 63.38 110.28 # SOURCE3 1
+ angle_coeff @angle:c3-na-ss harmonic 62.90 110.87 # SOURCE3 3 0.8260
+ angle_coeff @angle:ca-na-ca harmonic 66.98 120.09 # SOURCE4 321 1.7366
+ angle_coeff @angle:ca-na-cc harmonic 68.46 113.15 # SOURCE3 18 9.8644
+ angle_coeff @angle:ca-na-cd harmonic 68.46 113.15 # SOURCE3 18 9.8644
+ angle_coeff @angle:ca-na-cl harmonic 53.17 124.79 # SOURCE3 1
+ angle_coeff @angle:ca-na-cp harmonic 65.88 120.96 # SOURCE4 20 1.2820
+ angle_coeff @angle:ca-na-cx harmonic 63.07 124.09 # SOURCE4 12 1.8167
+ angle_coeff @angle:ca-na-f harmonic 65.51 116.40 # SOURCE3 1
+ angle_coeff @angle:ca-na-hn harmonic 47.63 125.59 # SOURCE4 437 1.1893
+ angle_coeff @angle:ca-na-i harmonic 55.21 121.62 # SOURCE3 1
+ angle_coeff @angle:ca-na-n2 harmonic 68.21 119.85 # SOURCE4 6 1.2043
+ angle_coeff @angle:ca-na-n4 harmonic 66.37 120.19 # SOURCE3 1
+ angle_coeff @angle:ca-na-n harmonic 67.34 122.00 # SOURCE3 1
+ angle_coeff @angle:ca-na-na harmonic 66.29 123.76 # SOURCE3 1
+ angle_coeff @angle:ca-na-nb harmonic 68.18 122.16 # SOURCE4 7 0.8543
+ angle_coeff @angle:ca-na-nc harmonic 69.27 117.85 # SOURCE3 6 3.6536
+ angle_coeff @angle:ca-na-nd harmonic 69.27 117.85 # SOURCE3 6 same_as_ca-na-nc
+ angle_coeff @angle:ca-na-nh harmonic 66.14 124.33 # SOURCE4 7 1.3855
+ angle_coeff @angle:ca-na-o harmonic 71.14 119.99 # SOURCE4 51 1.2671
+ angle_coeff @angle:ca-na-oh harmonic 66.69 124.08 # SOURCE3 1
+ angle_coeff @angle:ca-na-os harmonic 69.70 109.46 # SOURCE3 1 0.0000
+ angle_coeff @angle:ca-na-p2 harmonic 75.51 125.85 # SOURCE3 1
+ angle_coeff @angle:ca-na-p3 harmonic 75.50 124.38 # SOURCE3 1
+ angle_coeff @angle:ca-na-p4 harmonic 82.41 124.97 # SOURCE3 1
+ angle_coeff @angle:ca-na-p5 harmonic 77.51 123.30 # SOURCE3 1
+ angle_coeff @angle:ca-na-pc harmonic 77.26 122.13 # SOURCE3 3 2.2393
+ angle_coeff @angle:ca-na-pd harmonic 77.26 122.13 # SOURCE3 3 same_as_ca-na-pc
+ angle_coeff @angle:ca-na-py harmonic 72.61 140.88 # SOURCE3 2 0.0000
+ angle_coeff @angle:ca-na-s4 harmonic 60.55 117.23 # SOURCE3 1
+ angle_coeff @angle:ca-na-s6 harmonic 61.55 120.69 # SOURCE3 1
+ angle_coeff @angle:ca-na-s harmonic 59.27 125.64 # SOURCE3 1
+ angle_coeff @angle:ca-na-sh harmonic 60.55 125.44 # SOURCE3 1
+ angle_coeff @angle:ca-na-ss harmonic 59.16 129.91 # SOURCE4 8 0.1449
+ angle_coeff @angle:cc-na-cc harmonic 68.94 109.90 # SOURCE3 109 1.5547
+ angle_coeff @angle:cc-na-cd harmonic 63.88 128.01 # SOURCE3 1 0.0000
+ angle_coeff @angle:cc-na-ce harmonic 63.05 126.61 # SOURCE4 8 0.5158
+ angle_coeff @angle:cc-na-cl harmonic 53.10 124.61 # SOURCE3 3 0.5208
+ angle_coeff @angle:cc-na-f harmonic 64.60 118.03 # SOURCE3 4 0.3081
+ angle_coeff @angle:cc-na-hn harmonic 47.02 125.50 # CORR 861
+ angle_coeff @angle:cc-na-i harmonic 54.34 125.70 # SOURCE3 6 0.7821
+ angle_coeff @angle:cc-na-n2 harmonic 66.83 122.96 # SOURCE3 15 0.9350
+ angle_coeff @angle:cc-na-n4 harmonic 65.90 120.31 # SOURCE3 10 3.4394
+ angle_coeff @angle:cc-na-n harmonic 66.52 123.19 # SOURCE3 13 0.3010
+ angle_coeff @angle:cc-na-na harmonic 65.91 123.43 # SOURCE3 23 0.2088
+ angle_coeff @angle:cc-na-nc harmonic 70.18 113.02 # SOURCE3 38 2.2867
+ angle_coeff @angle:cc-na-nd harmonic 66.41 126.22 # CORR 124
+ angle_coeff @angle:cc-na-nh harmonic 66.23 122.25 # SOURCE3 19 0.2010
+ angle_coeff @angle:cc-na-no harmonic 65.40 121.78 # SOURCE3 9 0.3521
+ angle_coeff @angle:cc-na-o harmonic 69.01 125.21 # SOURCE3 10 0.0124
+ angle_coeff @angle:cc-na-oh harmonic 66.67 122.38 # SOURCE3 10 0.1570
+ angle_coeff @angle:cc-na-os harmonic 67.01 116.86 # CORR 48
+ angle_coeff @angle:cc-na-p2 harmonic 75.29 125.86 # SOURCE3 14 2.2993
+ angle_coeff @angle:cc-na-p3 harmonic 75.02 125.25 # SOURCE3 8 0.1998
+ angle_coeff @angle:cc-na-p4 harmonic 81.11 127.73 # SOURCE3 7 3.6077
+ angle_coeff @angle:cc-na-p5 harmonic 76.81 124.70 # SOURCE3 13 1.4225
+ angle_coeff @angle:cc-na-s4 harmonic 59.45 121.03 # SOURCE3 10 0.5589
+ angle_coeff @angle:cc-na-s6 harmonic 60.98 122.19 # SOURCE3 10 0.9634
+ angle_coeff @angle:cc-na-s harmonic 59.10 125.66 # SOURCE3 8 0.1880
+ angle_coeff @angle:cc-na-sh harmonic 60.71 123.96 # SOURCE3 10 0.3424
+ angle_coeff @angle:cc-na-ss harmonic 61.34 120.10 # CORR 44
+ angle_coeff @angle:cd-na-cd harmonic 68.94 109.90 # SOURCE3 109 1.5547
+ angle_coeff @angle:cd-na-cl harmonic 53.10 124.61 # SOURCE3 3 same_as_cc-na-cl
+ angle_coeff @angle:cd-na-f harmonic 64.60 118.03 # SOURCE3 4 0.3081
+ angle_coeff @angle:cd-na-hn harmonic 47.02 125.50 # CORR 861
+ angle_coeff @angle:cd-na-i harmonic 54.34 125.70 # SOURCE3 6 0.7821
+ angle_coeff @angle:cd-na-n2 harmonic 66.83 122.96 # SOURCE3 15 0.9350
+ angle_coeff @angle:cd-na-n4 harmonic 65.90 120.31 # SOURCE3 10 3.4394
+ angle_coeff @angle:cd-na-n harmonic 66.52 123.19 # SOURCE3 13 0.3010
+ angle_coeff @angle:cd-na-na harmonic 65.91 123.43 # SOURCE3 23 0.2088
+ angle_coeff @angle:cd-na-nc harmonic 66.41 126.22 # CORR 124
+ angle_coeff @angle:cd-na-nd harmonic 70.18 113.02 # SOURCE3 38 2.2867
+ angle_coeff @angle:cd-na-nh harmonic 66.23 122.25 # SOURCE3 19 0.2010
+ angle_coeff @angle:cd-na-no harmonic 65.40 121.78 # SOURCE3 9 0.3521
+ angle_coeff @angle:cd-na-o harmonic 69.01 125.21 # SOURCE3 10 0.0124
+ angle_coeff @angle:cd-na-oh harmonic 66.67 122.38 # SOURCE3 10 0.1570
+ angle_coeff @angle:cd-na-os harmonic 67.01 116.86 # CORR 48
+ angle_coeff @angle:cd-na-p2 harmonic 75.29 125.86 # SOURCE3 14 2.2993
+ angle_coeff @angle:cd-na-p3 harmonic 75.02 125.25 # SOURCE3 8 0.1998
+ angle_coeff @angle:cd-na-p4 harmonic 81.11 127.73 # SOURCE3 7 same_as_cc-na-p4
+ angle_coeff @angle:cd-na-p5 harmonic 76.81 124.70 # SOURCE3 13 1.4225
+ angle_coeff @angle:cd-na-s4 harmonic 59.45 121.03 # SOURCE3 10 0.5589
+ angle_coeff @angle:cd-na-s6 harmonic 60.98 122.19 # SOURCE3 10 0.9634
+ angle_coeff @angle:cd-na-s harmonic 59.10 125.66 # SOURCE3 8 0.1880
+ angle_coeff @angle:cd-na-sh harmonic 60.71 123.96 # SOURCE3 10 0.3424
+ angle_coeff @angle:cd-na-ss harmonic 61.34 120.10 # CORR 44
+ angle_coeff @angle:cl-na-cl harmonic 48.73 122.80 # SOURCE3 1
+ angle_coeff @angle:cl-na-nc harmonic 55.70 119.36 # SOURCE3 4 1.7128
+ angle_coeff @angle:cl-na-nd harmonic 55.70 119.36 # SOURCE3 4 same_as_cl-na-nc
+ angle_coeff @angle:cl-na-os harmonic 58.63 106.58 # SOURCE3 1 0.0000
+ angle_coeff @angle:cl-na-p2 harmonic 68.67 121.29 # SOURCE3 1
+ angle_coeff @angle:cl-na-pc harmonic 69.19 120.51 # SOURCE3 3 2.1985
+ angle_coeff @angle:cl-na-pd harmonic 69.19 120.51 # SOURCE3 3 same_as_cl-na-pc
+ angle_coeff @angle:cl-na-ss harmonic 56.71 111.91 # SOURCE3 1 0.0000
+ angle_coeff @angle:f-na-f harmonic 62.22 120.20 # SOURCE3 1
+ angle_coeff @angle:f-na-nc harmonic 66.64 118.05 # SOURCE3 4 1.7931
+ angle_coeff @angle:f-na-nd harmonic 66.64 118.05 # SOURCE3 4 same_as_f-na-nc
+ angle_coeff @angle:f-na-os harmonic 69.15 103.86 # SOURCE3 1 0.0000
+ angle_coeff @angle:f-na-p2 harmonic 75.54 119.95 # SOURCE3 1
+ angle_coeff @angle:f-na-pc harmonic 76.37 119.10 # SOURCE3 3 2.3967
+ angle_coeff @angle:f-na-pd harmonic 76.37 119.10 # SOURCE3 3 same_as_f-na-pc
+ angle_coeff @angle:f-na-ss harmonic 63.34 108.01 # SOURCE3 1 0.0000
+ angle_coeff @angle:hn-na-hn harmonic 39.83 116.80 # SOURCE3 1
+ angle_coeff @angle:hn-na-n harmonic 50.90 111.26 # SOURCE4 5 1.1280
+ angle_coeff @angle:hn-na-nc harmonic 50.00 119.61 # SOURCE3 16 1.8079
+ angle_coeff @angle:hn-na-nd harmonic 50.00 119.61 # SOURCE3 16 1.8079
+ angle_coeff @angle:hn-na-os harmonic 51.44 101.41 # SOURCE3 7 3.0814
+ angle_coeff @angle:hn-na-p2 harmonic 51.02 122.52 # SOURCE3 1
+ angle_coeff @angle:hn-na-pc harmonic 51.81 121.48 # SOURCE3 3 2.9355
+ angle_coeff @angle:hn-na-pd harmonic 51.81 121.48 # SOURCE3 3 same_as_hn-na-pc
+ angle_coeff @angle:hn-na-ss harmonic 42.24 113.95 # SOURCE3 1 0.0000
+ angle_coeff @angle:i-na-i harmonic 58.32 124.20 # SOURCE3 1
+ angle_coeff @angle:i-na-nc harmonic 56.94 120.03 # SOURCE3 4 2.0032
+ angle_coeff @angle:i-na-nd harmonic 56.94 120.03 # SOURCE3 4 same_as_i-na-nc
+ angle_coeff @angle:i-na-os harmonic 59.85 109.91 # SOURCE3 1 0.0000
+ angle_coeff @angle:i-na-p2 harmonic 73.36 122.28 # SOURCE3 1
+ angle_coeff @angle:i-na-pc harmonic 73.81 121.40 # SOURCE3 3 2.4763
+ angle_coeff @angle:i-na-pd harmonic 73.81 121.40 # SOURCE3 3 same_as_i-na-pc
+ angle_coeff @angle:i-na-ss harmonic 59.04 118.40 # SOURCE3 1 0.0000
+ angle_coeff @angle:n2-na-n2 harmonic 70.35 116.71 # SOURCE3 1
+ angle_coeff @angle:n2-na-nc harmonic 69.85 119.96 # SOURCE3 4 4.5041
+ angle_coeff @angle:n2-na-nd harmonic 69.85 119.96 # SOURCE3 4 same_as_n2-na-nc
+ angle_coeff @angle:n2-na-os harmonic 70.33 111.53 # SOURCE3 1 0.0000
+ angle_coeff @angle:n2-na-p2 harmonic 77.46 124.88 # SOURCE3 1
+ angle_coeff @angle:n2-na-pc harmonic 78.60 123.18 # SOURCE3 3 4.7947
+ angle_coeff @angle:n2-na-pd harmonic 78.60 123.18 # SOURCE3 3 same_as_n2-na-pc
+ angle_coeff @angle:n2-na-ss harmonic 61.71 124.64 # SOURCE3 1 0.0000
+ angle_coeff @angle:n3-na-n3 harmonic 65.77 124.00 # SOURCE3 1
+ angle_coeff @angle:n4-na-n4 harmonic 68.57 111.70 # SOURCE3 1
+ angle_coeff @angle:n4-na-nc harmonic 69.09 116.44 # SOURCE3 4 3.6604
+ angle_coeff @angle:n4-na-nd harmonic 69.09 116.44 # SOURCE3 4 same_as_n4-na-nc
+ angle_coeff @angle:n4-na-os harmonic 71.61 102.97 # SOURCE3 1 0.0000
+ angle_coeff @angle:n4-na-p2 harmonic 77.04 123.56 # SOURCE3 1
+ angle_coeff @angle:n4-na-pc harmonic 78.10 121.98 # SOURCE3 3 4.4884
+ angle_coeff @angle:n4-na-pd harmonic 78.10 121.98 # SOURCE3 3 same_as_n4-na-pc
+ angle_coeff @angle:na-na-na harmonic 66.77 123.60 # SOURCE3 1
+ angle_coeff @angle:na-na-nc harmonic 69.08 119.64 # SOURCE3 4 1.6920
+ angle_coeff @angle:na-na-nd harmonic 69.08 119.64 # SOURCE3 4 same_as_na-na-nc
+ angle_coeff @angle:na-na-os harmonic 70.25 109.47 # SOURCE3 1 0.0000
+ angle_coeff @angle:na-na-p2 harmonic 78.07 121.72 # SOURCE3 1
+ angle_coeff @angle:na-na-pc harmonic 78.92 120.91 # SOURCE3 3 2.3033
+ angle_coeff @angle:na-na-pd harmonic 78.92 120.91 # SOURCE3 3 same_as_na-na-pc
+ angle_coeff @angle:na-na-ss harmonic 63.50 116.50 # SOURCE3 1 0.0000
+ angle_coeff @angle:nc-na-nc harmonic 71.20 117.08 # SOURCE3 31 1.8121
+ angle_coeff @angle:nc-na-nd harmonic 69.53 122.77 # SOURCE4 5 0.1352
+ angle_coeff @angle:nc-na-nh harmonic 68.82 120.55 # SOURCE3 8 1.1436
+ angle_coeff @angle:nc-na-no harmonic 68.19 119.15 # SOURCE3 4 1.6049
+ angle_coeff @angle:nc-na-o harmonic 72.04 122.79 # SOURCE3 6 1.3154
+ angle_coeff @angle:nc-na-oh harmonic 69.71 119.22 # SOURCE3 4 1.7201
+ angle_coeff @angle:nc-na-os harmonic 68.30 119.65 # SOURCE3 4 1.5019
+ angle_coeff @angle:nc-na-p2 harmonic 79.23 119.99 # SOURCE3 4 3.6009
+ angle_coeff @angle:nc-na-p3 harmonic 78.72 120.07 # SOURCE3 4 3.7188
+ angle_coeff @angle:nc-na-p4 harmonic 86.25 119.77 # SOURCE3 3 0.3747
+ angle_coeff @angle:nc-na-p5 harmonic 80.84 118.95 # SOURCE3 4 3.1194
+ angle_coeff @angle:nc-na-pc harmonic 80.31 118.66 # SOURCE3 27 1.5082
+ angle_coeff @angle:nc-na-s4 harmonic 61.52 119.20 # SOURCE3 4 2.3841
+ angle_coeff @angle:nc-na-s6 harmonic 63.45 119.24 # SOURCE3 4 2.2262
+ angle_coeff @angle:nc-na-s harmonic 61.55 122.26 # SOURCE3 4 0.9173
+ angle_coeff @angle:nc-na-sh harmonic 63.29 120.50 # SOURCE3 4 1.5016
+ angle_coeff @angle:nc-na-ss harmonic 62.94 120.50 # SOURCE3 4 1.5615
+ angle_coeff @angle:nd-na-nd harmonic 71.20 117.08 # SOURCE3 31 1.8121
+ angle_coeff @angle:nd-na-nh harmonic 68.82 120.55 # SOURCE3 8 same_as_nc-na-nh
+ angle_coeff @angle:nd-na-no harmonic 68.19 119.15 # SOURCE3 4 same_as_nc-na-no
+ angle_coeff @angle:nd-na-o harmonic 72.04 122.79 # SOURCE3 6 same_as_nc-na-o
+ angle_coeff @angle:nd-na-oh harmonic 69.71 119.22 # SOURCE3 4 same_as_nc-na-oh
+ angle_coeff @angle:nd-na-os harmonic 68.30 119.65 # SOURCE3 4 same_as_nc-na-os
+ angle_coeff @angle:nd-na-p2 harmonic 79.23 119.99 # SOURCE3 4 same_as_nc-na-p2
+ angle_coeff @angle:nd-na-p3 harmonic 78.72 120.07 # SOURCE3 4 same_as_nc-na-p3
+ angle_coeff @angle:nd-na-p4 harmonic 86.25 119.77 # SOURCE3 3 same_as_nc-na-p4
+ angle_coeff @angle:nd-na-p5 harmonic 80.84 118.95 # SOURCE3 4 same_as_nc-na-p5
+ angle_coeff @angle:nd-na-pd harmonic 80.31 118.66 # SOURCE3 27 same_as_nc-na-pc
+ angle_coeff @angle:nd-na-s4 harmonic 61.52 119.20 # SOURCE3 4 same_as_nc-na-s4
+ angle_coeff @angle:nd-na-s6 harmonic 63.45 119.24 # SOURCE3 4 same_as_nc-na-s6
+ angle_coeff @angle:nd-na-s harmonic 61.55 122.26 # SOURCE3 4 same_as_nc-na-s
+ angle_coeff @angle:nd-na-sh harmonic 63.29 120.50 # SOURCE3 4 same_as_nc-na-sh
+ angle_coeff @angle:nd-na-ss harmonic 62.94 120.50 # SOURCE3 4 same_as_nc-na-ss
+ angle_coeff @angle:nh-na-nh harmonic 66.77 123.60 # SOURCE3 1
+ angle_coeff @angle:nh-na-os harmonic 69.65 111.37 # SOURCE3 1 0.0000
+ angle_coeff @angle:nh-na-p2 harmonic 78.35 120.86 # SOURCE3 1
+ angle_coeff @angle:nh-na-pc harmonic 79.10 120.38 # SOURCE3 6 1.3513
+ angle_coeff @angle:nh-na-pd harmonic 79.10 120.38 # SOURCE3 6 same_as_nh-na-pc
+ angle_coeff @angle:nh-na-ss harmonic 64.66 112.35 # SOURCE3 2 5.2951
+ angle_coeff @angle:n-na-n harmonic 67.78 123.80 # SOURCE3 1
+ angle_coeff @angle:n-na-nc harmonic 69.61 119.85 # SOURCE3 4 1.6156
+ angle_coeff @angle:n-na-nd harmonic 69.61 119.85 # SOURCE3 4 same_as_n-na-nc
+ angle_coeff @angle:no-na-no harmonic 65.22 122.80 # SOURCE3 1
+ angle_coeff @angle:no-na-os harmonic 70.30 106.55 # SOURCE3 1 0.0000
+ angle_coeff @angle:no-na-pc harmonic 78.65 120.11 # SOURCE3 3 2.0821
+ angle_coeff @angle:no-na-pd harmonic 78.65 120.11 # SOURCE3 3 same_as_no-na-pc
+ angle_coeff @angle:n-na-os harmonic 72.34 104.71 # SOURCE3 1 0.0000
+ angle_coeff @angle:no-na-ss harmonic 63.49 114.95 # SOURCE3 1 0.0000
+ angle_coeff @angle:n-na-p2 harmonic 78.46 121.35 # SOURCE3 1
+ angle_coeff @angle:n-na-pc harmonic 79.30 120.64 # SOURCE3 3 2.0168
+ angle_coeff @angle:n-na-pd harmonic 79.30 120.64 # SOURCE3 3 same_as_n-na-pc
+ angle_coeff @angle:n-na-ss harmonic 63.84 116.10 # SOURCE3 1 0.0000
+ angle_coeff @angle:oh-na-oh harmonic 68.13 122.20 # SOURCE3 1
+ angle_coeff @angle:oh-na-p2 harmonic 78.88 120.76 # SOURCE3 1
+ angle_coeff @angle:oh-na-pc harmonic 79.74 119.99 # SOURCE3 3 2.1734
+ angle_coeff @angle:oh-na-pd harmonic 79.74 119.99 # SOURCE3 3 same_as_oh-na-pc
+ angle_coeff @angle:oh-na-ss harmonic 64.88 113.04 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-na-o harmonic 74.03 126.20 # SOURCE3 1
+ angle_coeff @angle:o-na-os harmonic 70.76 118.39 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-na-p2 harmonic 79.51 122.80 # SOURCE3 1
+ angle_coeff @angle:o-na-pc harmonic 80.36 122.34 # SOURCE3 3 1.2908
+ angle_coeff @angle:o-na-pd harmonic 80.36 122.34 # SOURCE3 3 same_as_o-na-pc
+ angle_coeff @angle:os-na-os harmonic 71.29 104.45 # SOURCE3 2 0.0983
+ angle_coeff @angle:os-na-p2 harmonic 79.21 117.86 # SOURCE3 1 0.0000
+ angle_coeff @angle:os-na-p3 harmonic 83.58 104.70 # SOURCE3 1 0.0000
+ angle_coeff @angle:os-na-p5 harmonic 82.64 111.41 # SOURCE3 1 0.0000
+ angle_coeff @angle:os-na-pc harmonic 79.09 119.91 # SOURCE3 3 1.9002
+ angle_coeff @angle:os-na-pd harmonic 79.09 119.91 # SOURCE3 3 same_as_os-na-pc
+ angle_coeff @angle:os-na-s4 harmonic 64.81 105.88 # SOURCE3 2 0.0000
+ angle_coeff @angle:os-na-s6 harmonic 64.80 112.00 # SOURCE3 2 0.0000
+ angle_coeff @angle:os-na-ss harmonic 65.33 109.64 # SOURCE3 3 4.1395
+ angle_coeff @angle:p2-na-p2 harmonic 96.62 120.91 # SOURCE3 1
+ angle_coeff @angle:p2-na-p3 harmonic 94.74 124.80 # SOURCE3 1
+ angle_coeff @angle:p2-na-p5 harmonic 96.33 123.99 # SOURCE3 1
+ angle_coeff @angle:p2-na-pc harmonic 97.16 120.72 # SOURCE3 3 0.2407
+ angle_coeff @angle:p2-na-pd harmonic 97.16 120.72 # SOURCE3 3 same_as_p2-na-pc
+ angle_coeff @angle:p2-na-s4 harmonic 74.88 122.47 # SOURCE3 1
+ angle_coeff @angle:p2-na-s6 harmonic 76.31 122.50 # SOURCE3 1
+ angle_coeff @angle:p2-na-s harmonic 75.69 121.85 # SOURCE3 1
+ angle_coeff @angle:p2-na-sh harmonic 76.68 121.75 # SOURCE3 1
+ angle_coeff @angle:p2-na-ss harmonic 76.38 121.88 # SOURCE3 1
+ angle_coeff @angle:p3-na-p3 harmonic 93.72 126.60 # SOURCE3 1
+ angle_coeff @angle:p3-na-pc harmonic 95.76 123.32 # SOURCE3 3 4.1781
+ angle_coeff @angle:p3-na-pd harmonic 95.76 123.32 # SOURCE3 3 same_as_p3-na-pc
+ angle_coeff @angle:p5-na-p5 harmonic 97.06 124.60 # SOURCE3 1
+ angle_coeff @angle:p5-na-pc harmonic 97.33 122.69 # SOURCE3 3 3.6738
+ angle_coeff @angle:p5-na-pd harmonic 97.33 122.69 # SOURCE3 3 same_as_p5-na-pc
+ angle_coeff @angle:p5-na-ss harmonic 78.22 118.52 # SOURCE3 1 0.0000
+ angle_coeff @angle:pc-na-pc harmonic 97.62 120.78 # SOURCE3 27 1.6457
+ angle_coeff @angle:pc-na-s4 harmonic 75.52 121.51 # SOURCE3 3 2.7242
+ angle_coeff @angle:pc-na-s6 harmonic 76.99 121.55 # SOURCE3 3 2.7065
+ angle_coeff @angle:pc-na-s harmonic 76.17 121.47 # SOURCE3 3 1.0668
+ angle_coeff @angle:pc-na-sh harmonic 77.28 121.08 # SOURCE3 3 1.8942
+ angle_coeff @angle:pc-na-ss harmonic 76.97 121.20 # SOURCE3 3 1.9295
+ angle_coeff @angle:pd-na-pd harmonic 97.62 120.78 # SOURCE3 27 same_as_pc-na-pc
+ angle_coeff @angle:pd-na-s4 harmonic 75.52 121.51 # SOURCE3 3 same_as_pc-na-s4
+ angle_coeff @angle:pd-na-s6 harmonic 76.99 121.55 # SOURCE3 3 same_as_pc-na-s6
+ angle_coeff @angle:pd-na-s harmonic 76.17 121.47 # SOURCE3 3 same_as_pc-na-s
+ angle_coeff @angle:pd-na-sh harmonic 77.28 121.08 # SOURCE3 3 same_as_pc-na-sh
+ angle_coeff @angle:pd-na-ss harmonic 76.97 121.20 # SOURCE3 3 same_as_pc-na-ss
+ angle_coeff @angle:py-na-py harmonic 122.69 78.25 # SOURCE3 1 0.0000
+ angle_coeff @angle:s4-na-s4 harmonic 58.05 124.20 # SOURCE3 1
+ angle_coeff @angle:s4-na-s6 harmonic 62.00 112.86 # SOURCE3 1
+ angle_coeff @angle:s4-na-ss harmonic 62.16 111.92 # SOURCE3 1 0.0000
+ angle_coeff @angle:s6-na-s6 harmonic 60.51 123.20 # SOURCE3 1
+ angle_coeff @angle:s6-na-ss harmonic 61.44 119.10 # SOURCE3 1 0.0000
+ angle_coeff @angle:sh-na-sh harmonic 60.38 124.60 # SOURCE3 1
+ angle_coeff @angle:sh-na-ss harmonic 61.63 118.79 # SOURCE3 1 0.0000
+ angle_coeff @angle:s-na-s harmonic 58.55 126.00 # SOURCE3 1
+ angle_coeff @angle:s-na-ss harmonic 62.52 112.49 # SOURCE3 1 0.0000
+ angle_coeff @angle:ss-na-ss harmonic 62.90 113.24 # SOURCE3 2 6.6084
+ angle_coeff @angle:sy-na-sy harmonic 60.51 123.20 # SOURCE3 1
+ angle_coeff @angle:ca-nb-ca harmonic 68.59 115.86 # SOURCE3 46 1.1645
+ angle_coeff @angle:ca-nb-cp harmonic 68.01 118.04 # SOURCE4 58 0.7819
+ angle_coeff @angle:ca-nb-cq harmonic 68.01 118.04 # SOURCE4 58 same as ca-nb-cp
+ angle_coeff @angle:ca-nb-nb harmonic 69.37 118.89 # SOURCE3 10 0.6031
+ angle_coeff @angle:cp-nb-nb harmonic 68.79 121.11 # SOURCE4 12 0.4315
+ angle_coeff @angle:nb-nb-nb harmonic 70.44 121.04 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-n-br harmonic 66.59 116.20 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-n-c harmonic 61.85 120.77 # SOURCE3 5 2.6390
+ angle_coeff @angle:br-n-ca harmonic 62.07 118.19 # SOURCE3 1
+ angle_coeff @angle:br-n-cc harmonic 62.34 118.19 # SOURCE3 1 same_as_br-n-cd
+ angle_coeff @angle:br-n-cd harmonic 62.34 118.19 # SOURCE3 1 0.0000
+ angle_coeff @angle:c1-n-c1 harmonic 73.52 102.69 # SOURCE3 1
+ angle_coeff @angle:c1-n-ca harmonic 65.90 118.88 # SOURCE3 1
+ angle_coeff @angle:c1-n-cc harmonic 67.02 118.88 # SOURCE3 1 same_as_c1-n-cd
+ angle_coeff @angle:c1-n-cd harmonic 67.02 118.88 # SOURCE3 1 0.0000
+ angle_coeff @angle:c2-n-c2 harmonic 65.18 116.75 # SOURCE3 1 0.0000
+ angle_coeff @angle:c2-n-c3 harmonic 63.06 119.98 # SOURCE4 23 2.3373
+ angle_coeff @angle:c2-n-ca harmonic 64.88 116.54 # SOURCE3 1
+ angle_coeff @angle:c2-n-cc harmonic 65.85 116.54 # SOURCE3 1 same_as_c2-n-cd
+ angle_coeff @angle:c2-n-cd harmonic 65.85 116.54 # SOURCE3 1 0.0000
+ angle_coeff @angle:c2-n-hn harmonic 47.33 118.36 # SOURCE4 40 1.8005
+ angle_coeff @angle:c3-n-c3 harmonic 63.13 115.56 # SOURCE4 392 2.0191
+ angle_coeff @angle:c3-n-ca harmonic 62.76 119.96 # SOURCE4 165 2.0808
+ angle_coeff @angle:c3-n-cc harmonic 63.33 121.00 # CORR 267
+ angle_coeff @angle:c3-n-cd harmonic 63.33 121.00 # CORR 267
+ angle_coeff @angle:c3-n-cy harmonic 62.51 117.11 # SOURCE4 49 1.0344
+ angle_coeff @angle:c3-n-hn harmonic 46.04 116.78 # SOURCE3 39 2.1985
+ angle_coeff @angle:c3-n-n2 harmonic 64.89 121.68 # SOURCE4 52 1.3175
+ angle_coeff @angle:c3-n-n harmonic 66.40 114.82 # SOURCE4 9 0.7008
+ angle_coeff @angle:c3-n-nc harmonic 66.97 115.21 # CORR 48
+ angle_coeff @angle:c3-n-nd harmonic 66.97 115.21 # CORR 48
+ angle_coeff @angle:c3-n-oh harmonic 66.88 113.05 # SOURCE4 31 0.8144
+ angle_coeff @angle:c3-n-os harmonic 66.99 112.65 # SOURCE4 16 1.5399
+ angle_coeff @angle:c3-n-sy harmonic 60.53 121.27 # SOURCE4 5 1.1298
+ angle_coeff @angle:ca-n-ca harmonic 64.31 117.39 # SOURCE4 39 1.6465
+ angle_coeff @angle:ca-n-cc harmonic 66.19 114.06 # CORR 34
+ angle_coeff @angle:ca-n-cd harmonic 66.19 114.06 # CORR 34
+ angle_coeff @angle:ca-n-cl harmonic 57.24 117.72 # SOURCE3 1
+ angle_coeff @angle:ca-n-f harmonic 64.62 114.92 # SOURCE3 1
+ angle_coeff @angle:ca-n-hn harmonic 47.36 115.94 # SOURCE4 537 1.8890
+ angle_coeff @angle:ca-n-i harmonic 56.58 119.30 # SOURCE3 1
+ angle_coeff @angle:ca-n-n2 harmonic 65.72 122.17 # SOURCE4 5 0.2545
+ angle_coeff @angle:ca-n-n4 harmonic 64.15 122.98 # SOURCE3 1
+ angle_coeff @angle:ca-n-n harmonic 66.30 118.54 # SOURCE4 21 0.3399
+ angle_coeff @angle:ca-n-na harmonic 66.33 119.31 # SOURCE4 16 0.3168
+ angle_coeff @angle:ca-n-nc harmonic 68.25 114.36 # CORR 6
+ angle_coeff @angle:ca-n-nd harmonic 68.25 114.36 # CORR 6
+ angle_coeff @angle:ca-n-nh harmonic 66.60 116.45 # SOURCE3 1
+ angle_coeff @angle:ca-n-p2 harmonic 79.60 112.32 # SOURCE3 1
+ angle_coeff @angle:ca-n-p3 harmonic 74.22 125.11 # SOURCE3 1
+ angle_coeff @angle:ca-n-s4 harmonic 59.97 118.40 # SOURCE3 1
+ angle_coeff @angle:ca-n-s6 harmonic 62.01 117.32 # SOURCE3 1
+ angle_coeff @angle:ca-n-ss harmonic 62.15 116.60 # SOURCE3 1
+ angle_coeff @angle:c-n-c1 harmonic 68.47 117.04 # SOURCE3 1 0.0000
+ angle_coeff @angle:c-n-c2 harmonic 65.09 122.15 # SOURCE3 9 5.1016
+ angle_coeff @angle:c-n-c3 harmonic 63.92 121.35 # SOURCE3 54 2.3808
+ angle_coeff @angle:c3-nc-cd harmonic 67.60 109.51 # SOURCE3 9 5.4142
+ angle_coeff @angle:c-n-c harmonic 65.33 127.14 # SOURCE4 514 2.0111
+ angle_coeff @angle:c-n-ca harmonic 64.29 123.71 # SOURCE3 10 3.8159
+ angle_coeff @angle:ca-nc-ca harmonic 70.73 109.95 # SOURCE3 1
+ angle_coeff @angle:ca-nc-cd harmonic 72.43 104.94 # CORR 437
+ angle_coeff @angle:ca-nc-n harmonic 73.68 104.69 # CORR 2
+ angle_coeff @angle:ca-nc-na harmonic 74.57 102.74 # CORR 14
+ angle_coeff @angle:ca-nc-os harmonic 73.08 104.48 # CORR 10
+ angle_coeff @angle:ca-nc-ss harmonic 67.84 116.29 # SOURCE3 1
+ angle_coeff @angle:c-n-cc harmonic 65.24 124.19 # SOURCE3 57 2.2262
+ angle_coeff @angle:c-nc-ca harmonic 66.11 120.66 # CORR 2
+ angle_coeff @angle:cc-n-cc harmonic 68.80 108.92 # SOURCE3 11 0.3167
+ angle_coeff @angle:cc-nc-cc harmonic 70.50 104.34 # CORR 6
+ angle_coeff @angle:cc-nc-cd harmonic 71.08 105.67 # CORR 1240
+ angle_coeff @angle:c-nc-cd harmonic 66.18 120.48 # CORR 138
+ angle_coeff @angle:cc-n-cl harmonic 57.67 117.72 # SOURCE3 1 same_as_cd-n-cl
+ angle_coeff @angle:cc-nc-na harmonic 73.38 102.97 # SOURCE3 1 0.0000
+ angle_coeff @angle:cc-nc-nd harmonic 72.54 107.94 # SOURCE3 6 1.4052
+ angle_coeff @angle:c-n-cd harmonic 65.24 124.19 # SOURCE3 57 2.2262
+ angle_coeff @angle:cd-nc-cd harmonic 68.53 117.28 # CORR 17
+ angle_coeff @angle:cd-nc-n harmonic 69.66 117.19 # CORR 64
+ angle_coeff @angle:cd-nc-na harmonic 74.24 103.73 # SOURCE3 122 2.3292
+ angle_coeff @angle:cd-nc-nc harmonic 71.99 107.88 # CORR 355
+ angle_coeff @angle:cd-nc-os harmonic 73.04 104.66 # CORR 116
+ angle_coeff @angle:cd-nc-ss harmonic 70.36 108.15 # CORR 45
+ angle_coeff @angle:c-n-ce harmonic 62.21 131.83 # SOURCE4 146 1.3048
+ angle_coeff @angle:cc-n-f harmonic 65.61 114.92 # SOURCE3 1 same_as_cd-n-f
+ angle_coeff @angle:cc-n-hn harmonic 47.99 119.14 # CORR 276
+ angle_coeff @angle:cc-n-i harmonic 56.61 119.30 # SOURCE3 1 same_as_cd-n-i
+ angle_coeff @angle:c-n-cl harmonic 58.34 116.35 # SOURCE4 11 0.6829
+ angle_coeff @angle:cc-n-n2 harmonic 70.09 110.87 # SOURCE3 1 same_as_cd-n-n2
+ angle_coeff @angle:cc-n-n harmonic 66.53 121.37 # SOURCE3 1 same_as_cd-n-n
+ angle_coeff @angle:cc-n-na harmonic 67.87 117.57 # SOURCE3 1 same_as_cd-n-na
+ angle_coeff @angle:cc-n-nc harmonic 70.08 112.03 # CORR 14
+ angle_coeff @angle:cc-n-nh harmonic 67.30 117.52 # SOURCE3 1 same_as_cd-n-nh
+ angle_coeff @angle:cc-n-no harmonic 66.40 115.92 # SOURCE3 1 same_as_cd-n-no
+ angle_coeff @angle:cc-n-o harmonic 70.07 120.54 # SOURCE3 1 same_as_cd-n-o
+ angle_coeff @angle:cc-n-oh harmonic 67.32 118.15 # SOURCE3 1 same_as_cd-n-oh
+ angle_coeff @angle:cc-n-os harmonic 68.06 115.56 # SOURCE3 1 same_as_cd-n-os
+ angle_coeff @angle:cc-n-p2 harmonic 80.17 112.32 # SOURCE3 1 same_as_cd-n-p2
+ angle_coeff @angle:cc-n-p3 harmonic 74.70 125.11 # SOURCE3 1 same_as_cd-n-p3
+ angle_coeff @angle:cc-n-p5 harmonic 78.11 121.00 # SOURCE3 1 same_as_cd-n-p5
+ angle_coeff @angle:cc-n-s4 harmonic 60.34 118.40 # SOURCE3 1 same_as_cd-n-s4
+ angle_coeff @angle:cc-n-s6 harmonic 62.48 117.32 # SOURCE3 1 same_as_cd-n-s6
+ angle_coeff @angle:cc-n-s harmonic 60.78 118.29 # SOURCE3 1 same_as_cd-n-s
+ angle_coeff @angle:cc-n-sh harmonic 61.64 119.13 # SOURCE3 1 same_as_cd-n-sh
+ angle_coeff @angle:cc-n-ss harmonic 62.62 116.60 # SOURCE3 2 same_as_cd-n-ss
+ angle_coeff @angle:c-n-cx harmonic 64.22 122.07 # SOURCE4 11 1.9478
+ angle_coeff @angle:c-n-cy harmonic 72.26 94.23 # SOURCE4 270 1.3777
+ angle_coeff @angle:cd-n-cd harmonic 68.80 108.92 # SOURCE3 11 same_as_cc-n-cc
+ angle_coeff @angle:cd-n-cl harmonic 57.67 117.72 # SOURCE3 1 0.0000
+ angle_coeff @angle:cd-n-f harmonic 65.61 114.92 # SOURCE3 1 0.0000
+ angle_coeff @angle:cd-n-hn harmonic 47.99 119.14 # CORR 276
+ angle_coeff @angle:cd-n-i harmonic 56.61 119.30 # SOURCE3 1 0.0000
+ angle_coeff @angle:cd-n-n2 harmonic 70.09 110.87 # SOURCE3 1 0.0000
+ angle_coeff @angle:cd-n-n harmonic 66.53 121.37 # SOURCE3 1 0.0000
+ angle_coeff @angle:cd-n-na harmonic 67.87 117.57 # SOURCE3 1 0.0000
+ angle_coeff @angle:cd-n-nd harmonic 70.08 112.03 # CORR 14
+ angle_coeff @angle:cd-n-nh harmonic 67.30 117.52 # SOURCE3 1 0.0000
+ angle_coeff @angle:cd-n-no harmonic 66.40 115.92 # SOURCE3 1 0.0000
+ angle_coeff @angle:cd-n-o harmonic 70.07 120.54 # SOURCE3 1 0.0000
+ angle_coeff @angle:cd-n-oh harmonic 67.32 118.15 # SOURCE3 1 0.0000
+ angle_coeff @angle:cd-n-os harmonic 68.06 115.56 # SOURCE3 1 0.0000
+ angle_coeff @angle:cd-n-p2 harmonic 80.17 112.32 # SOURCE3 1 0.0000
+ angle_coeff @angle:cd-n-p3 harmonic 74.70 125.11 # SOURCE3 1 0.0000
+ angle_coeff @angle:cd-n-p5 harmonic 78.11 121.00 # SOURCE3 1 0.0000
+ angle_coeff @angle:cd-n-s4 harmonic 60.34 118.40 # SOURCE3 1 0.0000
+ angle_coeff @angle:cd-n-s6 harmonic 62.48 117.32 # SOURCE3 1 0.0000
+ angle_coeff @angle:cd-n-s harmonic 60.78 118.29 # SOURCE3 1 0.0000
+ angle_coeff @angle:cd-n-sh harmonic 61.64 119.13 # SOURCE3 1 0.0000
+ angle_coeff @angle:cd-n-ss harmonic 62.62 116.60 # SOURCE3 2 1.8318
+ angle_coeff @angle:ce-n-cy harmonic 64.70 111.89 # CORR 152
+ angle_coeff @angle:c-n-f harmonic 68.30 108.63 # SOURCE3 3 4.6785
+ angle_coeff @angle:cf-n-cy harmonic 64.70 111.89 # CORR 152
+ angle_coeff @angle:c-n-hn harmonic 49.21 118.46 # SOURCE3 157 2.4094
+ angle_coeff @angle:c-n-i harmonic 56.34 120.38 # SOURCE3 5 2.1600
+ angle_coeff @angle:cl-n-cl harmonic 54.70 111.69 # SOURCE3 1 0.0000
+ angle_coeff @angle:c-n-n2 harmonic 68.06 120.59 # SOURCE3 9 3.2410
+ angle_coeff @angle:c-n-n3 harmonic 67.13 120.43 # SOURCE3 5 0.9481
+ angle_coeff @angle:c-n-n4 harmonic 68.85 112.32 # SOURCE3 5 1.2622
+ angle_coeff @angle:c-n-n harmonic 68.18 118.42 # SOURCE3 10 2.8922
+ angle_coeff @angle:c-n-na harmonic 68.25 119.20 # SOURCE3 11 2.3032
+ angle_coeff @angle:na-nc-nd harmonic 75.97 105.47 # SOURCE3 6 0.6349
+ angle_coeff @angle:c-n-nc harmonic 67.16 125.19 # CORR 84
+ angle_coeff @angle:nc-nc-nd harmonic 73.11 111.29 # CORR 61
+ angle_coeff @angle:c-n-nd harmonic 67.16 125.19 # CORR 84
+ angle_coeff @angle:nd-nc-os harmonic 74.42 107.22 # SOURCE3 3 0.4707
+ angle_coeff @angle:c-n-nh harmonic 68.02 117.81 # SOURCE4 21 1.5935
+ angle_coeff @angle:c-n-no harmonic 66.47 118.16 # SOURCE3 4 5.4870
+ angle_coeff @angle:c-n-o harmonic 71.64 118.90 # SOURCE3 9 5.4085
+ angle_coeff @angle:c-n-oh harmonic 69.53 113.39 # SOURCE3 6 1.3345
+ angle_coeff @angle:c-n-os harmonic 69.60 113.14 # SOURCE3 7 3.0839
+ angle_coeff @angle:c-n-p2 harmonic 76.53 124.56 # SOURCE3 8 3.6907
+ angle_coeff @angle:c-n-p3 harmonic 75.82 122.54 # SOURCE3 9 4.4802
+ angle_coeff @angle:c-n-p4 harmonic 76.84 123.44 # SOURCE3 1 0.0000
+ angle_coeff @angle:c-n-p5 harmonic 76.23 128.50 # SOURCE4 6 0.5353
+ angle_coeff @angle:c-n-pc harmonic 77.00 122.23 # SOURCE3 3 2.8787
+ angle_coeff @angle:c-n-pd harmonic 77.00 122.23 # SOURCE3 3 same_as_c-n-pc
+ angle_coeff @angle:c-n-s4 harmonic 60.09 120.41 # SOURCE3 4 3.1760
+ angle_coeff @angle:c-n-s6 harmonic 60.86 125.01 # SOURCE4 13 1.6314
+ angle_coeff @angle:c-n-s harmonic 59.04 126.55 # SOURCE3 3 4.3365
+ angle_coeff @angle:c-n-sh harmonic 61.87 119.54 # SOURCE3 4 1.7681
+ angle_coeff @angle:c-n-ss harmonic 61.97 120.37 # SOURCE3 7 1.4450
+ angle_coeff @angle:c-n-sy harmonic 60.91 124.81 # SOURCE4 51 1.0517
+ angle_coeff @angle:cx-n-hn harmonic 46.26 118.58 # SOURCE4 5 0.3288
+ angle_coeff @angle:cx-n-os harmonic 97.40 54.04 # SOURCE3 1 0.0000
+ angle_coeff @angle:cy-n-hn harmonic 45.34 119.00 # SOURCE4 65 1.3840
+ angle_coeff @angle:c3-nd-cc harmonic 67.60 109.51 # SOURCE3 9 same_as_c3-nc-cd
+ angle_coeff @angle:ca-nd-ca harmonic 70.73 109.95 # SOURCE3 1 same_as_ca-nc-ca
+ angle_coeff @angle:ca-nd-cc harmonic 72.43 104.94 # CORR 437
+ angle_coeff @angle:ca-nd-n harmonic 73.68 104.69 # CORR 2
+ angle_coeff @angle:ca-nd-na harmonic 74.57 102.74 # CORR 14
+ angle_coeff @angle:ca-nd-nc harmonic 73.55 108.41 # SOURCE4 9 0.1575
+ angle_coeff @angle:ca-nd-os harmonic 73.08 104.48 # CORR 10
+ angle_coeff @angle:ca-nd-ss harmonic 67.84 116.29 # SOURCE3 1 same_as_ca-nc-ss
+ angle_coeff @angle:c-nd-ca harmonic 66.11 120.66 # CORR 2
+ angle_coeff @angle:c-nd-cc harmonic 66.18 120.48 # CORR 138
+ angle_coeff @angle:cc-nd-cc harmonic 68.53 117.28 # CORR 17
+ angle_coeff @angle:cc-nd-cd harmonic 71.08 105.67 # CORR 1240
+ angle_coeff @angle:cc-nd-n harmonic 69.66 117.19 # CORR 64
+ angle_coeff @angle:cc-nd-na harmonic 74.24 103.73 # SOURCE3 122 2.3292
+ angle_coeff @angle:cc-nd-nd harmonic 71.99 107.88 # CORR 355
+ angle_coeff @angle:cc-nd-os harmonic 73.04 104.66 # CORR 116
+ angle_coeff @angle:cc-nd-ss harmonic 70.36 108.15 # CORR 45
+ angle_coeff @angle:cd-nd-cd harmonic 70.50 104.34 # CORR 6
+ angle_coeff @angle:cd-nd-na harmonic 73.38 102.97 # SOURCE3 1 same_as_cc-nc-na
+ angle_coeff @angle:cd-nd-nc harmonic 72.54 107.94 # SOURCE3 6 1.4052
+ angle_coeff @angle:na-nd-nc harmonic 75.97 105.47 # SOURCE3 6 0.6349
+ angle_coeff @angle:nc-nd-nd harmonic 73.11 111.29 # CORR 61
+ angle_coeff @angle:nc-nd-os harmonic 74.42 107.22 # SOURCE3 3 same_as_nd-nc-os
+ angle_coeff @angle:c1-ne-ca harmonic 60.41 150.84 # CORR 9
+ angle_coeff @angle:c1-ne-cg harmonic 66.00 140.00 # SOURCE2 1 0.0000
+ angle_coeff @angle:c2-ne-ca harmonic 66.09 120.84 # CORR 55
+ angle_coeff @angle:c2-ne-ce harmonic 67.33 118.17 # SOURCE3 3 1.2374
+ angle_coeff @angle:c2-ne-cg harmonic 68.36 123.58 # SOURCE4 12 0.8560
+ angle_coeff @angle:c2-ne-n2 harmonic 74.56 113.31 # SOURCE3 1
+ angle_coeff @angle:c2-ne-ne harmonic 69.17 110.86 # SOURCE3 7 4.5874
+ angle_coeff @angle:c2-ne-p2 harmonic 80.83 134.03 # SOURCE3 1
+ angle_coeff @angle:c2-ne-pe harmonic 79.24 120.52 # SOURCE3 8 8.1381
+ angle_coeff @angle:c2-ne-px harmonic 80.57 117.75 # SOURCE3 5 0.8581
+ angle_coeff @angle:c2-ne-py harmonic 84.33 117.04 # SOURCE3 3 1.4398
+ angle_coeff @angle:c2-ne-sx harmonic 60.95 111.98 # SOURCE3 3 0.4090
+ angle_coeff @angle:c2-ne-sy harmonic 61.78 118.92 # CORR 9
+ angle_coeff @angle:ca-ne-cf harmonic 65.56 121.98 # CORR 15
+ angle_coeff @angle:ca-ne-n2 harmonic 69.73 114.06 # CORR 11
+ angle_coeff @angle:ca-ne-nf harmonic 69.69 115.12 # CORR 44
+ angle_coeff @angle:ca-ne-o harmonic 71.10 113.96 # SOURCE3 3 1.1253
+ angle_coeff @angle:ca-ne-p2 harmonic 83.08 118.09 # SOURCE3 1 0.0000
+ angle_coeff @angle:ca-ne-s harmonic 65.75 120.11 # SOURCE3 1 0.0000
+ angle_coeff @angle:c-ne-c2 harmonic 67.85 118.53 # CORR 6
+ angle_coeff @angle:ce-ne-n2 harmonic 71.16 111.19 # SOURCE3 1 0.0000
+ angle_coeff @angle:ce-ne-o harmonic 72.26 112.16 # SOURCE3 1 0.0000
+ angle_coeff @angle:ce-ne-p2 harmonic 83.85 117.02 # SOURCE3 1 0.0000
+ angle_coeff @angle:ce-ne-s harmonic 67.15 116.28 # SOURCE3 1 0.0000
+ angle_coeff @angle:cg-ne-n1 harmonic 71.71 120.20 # SOURCE2 1 0.0000
+ angle_coeff @angle:cg-ne-n2 harmonic 73.16 113.39 # SOURCE3 1 0.0000
+ angle_coeff @angle:cg-ne-o harmonic 74.43 114.70 # SOURCE2 1 0.0000
+ angle_coeff @angle:cg-ne-p2 harmonic 84.75 119.57 # SOURCE3 1 0.0000
+ angle_coeff @angle:cg-ne-s harmonic 68.28 117.70 # SOURCE3 1 0.0000
+ angle_coeff @angle:c-ne-sy harmonic 61.66 116.05 # SOURCE4 6 1.2661
+ angle_coeff @angle:n2-ne-n2 harmonic 78.59 107.22 # SOURCE3 1
+ angle_coeff @angle:n2-ne-ne harmonic 70.94 110.72 # SOURCE3 9 6.1488
+ angle_coeff @angle:n2-ne-o harmonic 78.09 114.10 # SOURCE3 1 0.0000
+ angle_coeff @angle:n2-ne-p2 harmonic 91.59 109.66 # SOURCE3 1
+ angle_coeff @angle:n2-ne-pe harmonic 84.18 112.15 # SOURCE3 7 6.5273
+ angle_coeff @angle:n2-ne-px harmonic 83.20 115.97 # SOURCE3 3 1.9854
+ angle_coeff @angle:n2-ne-py harmonic 87.34 114.60 # SOURCE3 3 2.9261
+ angle_coeff @angle:n2-ne-s harmonic 71.27 115.90 # SOURCE3 1 0.0000
+ angle_coeff @angle:n2-ne-sx harmonic 63.80 107.29 # SOURCE3 1 0.0000
+ angle_coeff @angle:n2-ne-sy harmonic 65.46 111.21 # SOURCE3 1 0.0000
+ angle_coeff @angle:ne-ne-o harmonic 72.28 110.45 # SOURCE3 10 1.8535
+ angle_coeff @angle:ne-ne-p2 harmonic 85.32 114.39 # SOURCE3 6 4.0528
+ angle_coeff @angle:ne-ne-s harmonic 67.59 115.95 # SOURCE3 6 3.4604
+ angle_coeff @angle:o-ne-o harmonic 76.91 124.09 # SOURCE3 2 8.7534
+ angle_coeff @angle:o-ne-pe harmonic 78.32 132.32 # SOURCE3 11 23.9559
+ angle_coeff @angle:o-ne-px harmonic 86.11 110.62 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-ne-py harmonic 90.01 110.79 # SOURCE3 4 1.6818
+ angle_coeff @angle:o-ne-s harmonic 71.99 117.19 # SOURCE3 2 0.0225
+ angle_coeff @angle:o-ne-sx harmonic 63.79 108.92 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-ne-sy harmonic 66.05 111.34 # SOURCE3 1 0.0000
+ angle_coeff @angle:p2-ne-pe harmonic 104.56 116.81 # SOURCE3 1 0.0000
+ angle_coeff @angle:p2-ne-px harmonic 100.10 128.35 # SOURCE3 1 0.0000
+ angle_coeff @angle:p2-ne-py harmonic 105.15 123.47 # SOURCE3 1 0.0000
+ angle_coeff @angle:p2-ne-sx harmonic 80.48 112.12 # SOURCE3 1 0.0000
+ angle_coeff @angle:p2-ne-sy harmonic 81.80 115.73 # SOURCE3 1 0.0000
+ angle_coeff @angle:pe-ne-s harmonic 83.52 115.73 # SOURCE3 1 0.0000
+ angle_coeff @angle:px-ne-s harmonic 78.54 131.84 # SOURCE3 1 0.0000
+ angle_coeff @angle:py-ne-s harmonic 86.30 116.18 # SOURCE3 4 3.7135
+ angle_coeff @angle:s-ne-s harmonic 68.65 120.87 # SOURCE3 1 0.0000
+ angle_coeff @angle:s-ne-sx harmonic 63.66 112.96 # SOURCE3 1 0.0000
+ angle_coeff @angle:s-ne-sy harmonic 63.94 119.63 # SOURCE3 1 0.0000
+ angle_coeff @angle:c1-nf-ca harmonic 60.41 150.84 # CORR 9
+ angle_coeff @angle:c1-nf-ch harmonic 66.00 140.00 # SOURCE2 1 same_as_c1-ne-cg
+ angle_coeff @angle:c2-nf-ca harmonic 66.09 120.84 # CORR 55
+ angle_coeff @angle:c2-nf-cf harmonic 67.33 118.17 # SOURCE3 3 same_as_c2-ne-ce
+ angle_coeff @angle:c2-nf-n2 harmonic 74.56 113.31 # SOURCE3 1 same_as_c2-ne-n2
+ angle_coeff @angle:c2-nf-nf harmonic 69.17 110.86 # SOURCE3 7 same_as_c2-ne-ne
+ angle_coeff @angle:c2-nf-p2 harmonic 80.83 134.03 # SOURCE3 1 same_as_c2-ne-p2
+ angle_coeff @angle:c2-nf-pf harmonic 79.24 120.52 # SOURCE3 8 same_as_c2-ne-pe
+ angle_coeff @angle:c2-nf-px harmonic 80.57 117.75 # SOURCE3 5 same_as_c2-ne-px
+ angle_coeff @angle:c2-nf-py harmonic 84.33 117.04 # SOURCE3 3 same_as_c2-ne-py
+ angle_coeff @angle:c2-nf-sx harmonic 60.95 111.98 # SOURCE3 3 same_as_c2-ne-sx
+ angle_coeff @angle:c2-nf-sy harmonic 61.78 118.92 # CORR 9
+ angle_coeff @angle:ca-nf-ce harmonic 65.56 121.98 # CORR 15
+ angle_coeff @angle:ca-nf-n2 harmonic 69.73 114.06 # CORR 11
+ angle_coeff @angle:ca-nf-ne harmonic 69.69 115.12 # CORR 44
+ angle_coeff @angle:ca-nf-o harmonic 71.10 113.96 # SOURCE3 3 same_as_ca-ne-o
+ angle_coeff @angle:ca-nf-p2 harmonic 83.08 118.09 # SOURCE3 1 same_as_ca-ne-p2
+ angle_coeff @angle:ca-nf-s harmonic 65.75 120.11 # SOURCE3 1 same_as_ca-ne-s
+ angle_coeff @angle:c-nf-c2 harmonic 67.85 118.53 # CORR 6
+ angle_coeff @angle:cf-nf-n2 harmonic 71.16 111.19 # SOURCE3 1 same_as_ce-ne-n2
+ angle_coeff @angle:cf-nf-o harmonic 72.26 112.16 # SOURCE3 1 same_as_ce-ne-o
+ angle_coeff @angle:cf-nf-p2 harmonic 83.85 117.02 # SOURCE3 1 same_as_ce-ne-p2
+ angle_coeff @angle:cf-nf-s harmonic 67.15 116.28 # SOURCE3 1 same_as_ce-ne-s
+ angle_coeff @angle:ch-nf-n1 harmonic 71.71 120.20 # SOURCE2 1 same_as_cg-ne-n1
+ angle_coeff @angle:ch-nf-n2 harmonic 73.16 113.39 # SOURCE3 1 same_as_cg-ne-n2
+ angle_coeff @angle:ch-nf-o harmonic 74.43 114.70 # SOURCE2 1 same_as_cg-ne-o
+ angle_coeff @angle:ch-nf-p2 harmonic 84.75 119.57 # SOURCE3 1 same_as_cg-ne-p2
+ angle_coeff @angle:ch-nf-s harmonic 68.28 117.70 # SOURCE3 1 same_as_cg-ne-s
+ angle_coeff @angle:f-n-f harmonic 67.90 102.98 # SOURCE3 1 0.0000
+ angle_coeff @angle:n2-nf-n2 harmonic 78.59 107.22 # SOURCE3 1 same_as_n2-ne-n2
+ angle_coeff @angle:n2-nf-nf harmonic 70.94 110.72 # SOURCE3 9 same_as_n2-ne-ne
+ angle_coeff @angle:n2-nf-o harmonic 78.09 114.10 # SOURCE3 1 same_as_n2-ne-o
+ angle_coeff @angle:n2-nf-p2 harmonic 91.59 109.66 # SOURCE3 1 same_as_n2-ne-p2
+ angle_coeff @angle:n2-nf-pf harmonic 84.18 112.15 # SOURCE3 7 same_as_n2-ne-pe
+ angle_coeff @angle:n2-nf-px harmonic 83.20 115.97 # SOURCE3 3 same_as_n2-ne-px
+ angle_coeff @angle:n2-nf-py harmonic 87.34 114.60 # SOURCE3 3 same_as_n2-ne-py
+ angle_coeff @angle:n2-nf-s harmonic 71.27 115.90 # SOURCE3 1 same_as_n2-ne-s
+ angle_coeff @angle:n2-nf-sx harmonic 63.80 107.29 # SOURCE3 1 same_as_n2-ne-sx
+ angle_coeff @angle:n2-nf-sy harmonic 65.46 111.21 # SOURCE3 1 same_as_n2-ne-sy
+ angle_coeff @angle:nf-nf-o harmonic 72.28 110.45 # SOURCE3 10 same_as_ne-ne-o
+ angle_coeff @angle:nf-nf-p2 harmonic 85.32 114.39 # SOURCE3 6 same_as_ne-ne-p2
+ angle_coeff @angle:nf-nf-s harmonic 67.59 115.95 # SOURCE3 6 same_as_ne-ne-s
+ angle_coeff @angle:o-nf-o harmonic 76.91 124.09 # SOURCE3 2 same_as_o-ne-o
+ angle_coeff @angle:o-nf-pf harmonic 78.32 132.32 # SOURCE3 11 same_as_o-ne-pe
+ angle_coeff @angle:o-nf-px harmonic 86.11 110.62 # SOURCE3 1 same_as_o-ne-px
+ angle_coeff @angle:o-nf-py harmonic 90.01 110.79 # SOURCE3 4 same_as_o-ne-py
+ angle_coeff @angle:o-nf-s harmonic 71.99 117.19 # SOURCE3 2 same_as_o-ne-s
+ angle_coeff @angle:o-nf-sx harmonic 63.79 108.92 # SOURCE3 1 same_as_o-ne-sx
+ angle_coeff @angle:o-nf-sy harmonic 66.05 111.34 # SOURCE3 1 same_as_o-ne-sy
+ angle_coeff @angle:p2-nf-pf harmonic 104.56 116.81 # SOURCE3 1 same_as_p2-ne-pe
+ angle_coeff @angle:p2-nf-px harmonic 100.10 128.35 # SOURCE3 1 same_as_p2-ne-px
+ angle_coeff @angle:p2-nf-py harmonic 105.15 123.47 # SOURCE3 1 same_as_p2-ne-py
+ angle_coeff @angle:p2-nf-sx harmonic 80.48 112.12 # SOURCE3 1 same_as_p2-ne-sx
+ angle_coeff @angle:p2-nf-sy harmonic 81.80 115.73 # SOURCE3 1 same_as_p2-ne-sy
+ angle_coeff @angle:pf-nf-s harmonic 83.52 115.73 # SOURCE3 1 same_as_pe-ne-s
+ angle_coeff @angle:px-nf-s harmonic 78.54 131.84 # SOURCE3 1 same_as_px-ne-s
+ angle_coeff @angle:py-nf-s harmonic 86.30 116.18 # SOURCE3 4 same_as_py-ne-s
+ angle_coeff @angle:s-nf-s harmonic 68.65 120.87 # SOURCE3 1 same_as_s-ne-s
+ angle_coeff @angle:s-nf-sx harmonic 63.66 112.96 # SOURCE3 1 same_as_s-ne-sx
+ angle_coeff @angle:s-nf-sy harmonic 63.94 119.63 # SOURCE3 1 same_as_s-ne-sy
+ angle_coeff @angle:br-nh-br harmonic 67.09 106.27 # SOURCE3 1
+ angle_coeff @angle:br-nh-ca harmonic 62.04 111.88 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-nh-hn harmonic 42.11 101.56 # SOURCE3 1 0.0000
+ angle_coeff @angle:c1-nh-c1 harmonic 68.33 116.98 # SOURCE3 1 0.0000
+ angle_coeff @angle:c1-nh-c2 harmonic 66.36 122.71 # SOURCE4 5 1.0077
+ angle_coeff @angle:c1-nh-ca harmonic 66.22 122.36 # SOURCE3 3 1.2016
+ angle_coeff @angle:c1-nh-hn harmonic 49.55 117.30 # SOURCE4 8 0.7120
+ angle_coeff @angle:c2-nh-c2 harmonic 65.54 124.50 # SOURCE4 43 1.7515
+ angle_coeff @angle:c2-nh-c3 harmonic 63.17 123.71 # SOURCE3 8 3.5348
+ angle_coeff @angle:c2-nh-ca harmonic 64.59 127.34 # SOURCE4 97 2.4321
+ angle_coeff @angle:c2-nh-cc harmonic 64.92 126.03 # CORR 11
+ angle_coeff @angle:c2-nh-cd harmonic 64.92 126.03 # CORR 11
+ angle_coeff @angle:c2-nh-cx harmonic 63.08 124.44 # SOURCE4 10 1.6817
+ angle_coeff @angle:c2-nh-hn harmonic 49.62 114.89 # SOURCE4 1000 1.4571
+ angle_coeff @angle:c2-nh-n2 harmonic 68.36 120.00 # SOURCE4 33 1.1823
+ angle_coeff @angle:c2-nh-n3 harmonic 67.57 116.98 # SOURCE4 14 1.4183
+ angle_coeff @angle:c2-nh-no harmonic 66.09 125.63 # SOURCE4 7 0.7554
+ angle_coeff @angle:c2-nh-oh harmonic 69.45 112.51 # SOURCE4 12 1.1687
+ angle_coeff @angle:c2-nh-os harmonic 69.27 112.93 # SOURCE4 6 0.3945
+ angle_coeff @angle:c2-nh-sy harmonic 61.76 121.13 # SOURCE4 10 0.5133
+ angle_coeff @angle:c3-nh-c3 harmonic 63.53 114.44 # SOURCE4 523 2.1428
+ angle_coeff @angle:c3-nh-ca harmonic 64.56 117.77 # SOURCE3 8 1.7521
+ angle_coeff @angle:c3-nh-cc harmonic 64.17 119.23 # CORR 163
+ angle_coeff @angle:c3-nh-cd harmonic 64.17 119.23 # CORR 163
+ angle_coeff @angle:c3-nh-cf harmonic 63.47 119.92 # SOURCE4 20 1.8571
+ angle_coeff @angle:c3-nh-cz harmonic 63.01 125.51 # SOURCE4 12 0.5177
+ angle_coeff @angle:c3-nh-hn harmonic 46.46 114.95 # SOURCE3 19 2.4787
+ angle_coeff @angle:c3-nh-n2 harmonic 67.89 112.35 # SOURCE3 9 4.0058
+ angle_coeff @angle:c3-nh-n harmonic 67.10 111.71 # SOURCE4 6 2.4251
+ angle_coeff @angle:c3-nh-na harmonic 66.92 112.43 # SOURCE4 8 1.4219
+ angle_coeff @angle:c3-nh-p2 harmonic 77.12 123.35 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-nh-sy harmonic 61.91 116.12 # SOURCE4 13 1.2830
+ angle_coeff @angle:ca-nh-ca harmonic 64.34 127.46 # SOURCE3 2 0.0002
+ angle_coeff @angle:ca-nh-cc harmonic 63.77 129.77 # CORR 38
+ angle_coeff @angle:ca-nh-cd harmonic 63.77 129.77 # CORR 38
+ angle_coeff @angle:ca-nh-cl harmonic 57.67 113.15 # SOURCE3 1 0.0000
+ angle_coeff @angle:ca-nh-cx harmonic 63.11 123.63 # SOURCE4 36 0.5899
+ angle_coeff @angle:ca-nh-f harmonic 67.90 106.09 # SOURCE3 3 1.0660
+ angle_coeff @angle:ca-nh-hn harmonic 49.08 116.13 # SOURCE4 1780 1.2853
+ angle_coeff @angle:ca-nh-i harmonic 55.55 117.83 # SOURCE3 1 0.0000
+ angle_coeff @angle:ca-nh-n1 harmonic 69.37 117.13 # HF/6-31G* 1
+ angle_coeff @angle:ca-nh-n2 harmonic 67.82 121.11 # SOURCE4 19 0.9700
+ angle_coeff @angle:ca-nh-n3 harmonic 68.18 114.21 # SOURCE3 6 2.2412
+ angle_coeff @angle:ca-nh-n4 harmonic 68.56 108.94 # SOURCE3 5 0.6562
+ angle_coeff @angle:ca-nh-n harmonic 68.07 116.15 # SOURCE4 12 0.8135
+ angle_coeff @angle:ca-nh-na harmonic 68.58 114.54 # SOURCE3 8 0.7807
+ angle_coeff @angle:ca-nh-nh harmonic 68.49 114.87 # SOURCE3 6 2.1432
+ angle_coeff @angle:ca-nh-no harmonic 69.19 113.92 # SOURCE3 4 2.9561
+ angle_coeff @angle:ca-nh-o harmonic 69.64 121.92 # SOURCE3 2 3.9630
+ angle_coeff @angle:ca-nh-oh harmonic 69.15 112.80 # SOURCE3 1 0.0000
+ angle_coeff @angle:ca-nh-os harmonic 69.93 110.17 # SOURCE3 3 0.6448
+ angle_coeff @angle:ca-nh-p2 harmonic 77.99 125.27 # SOURCE3 8 5.1798
+ angle_coeff @angle:ca-nh-p3 harmonic 76.07 125.70 # SOURCE3 3 5.7796
+ angle_coeff @angle:ca-nh-p4 harmonic 77.43 124.01 # SOURCE3 3 2.5810
+ angle_coeff @angle:ca-nh-p5 harmonic 78.16 125.61 # SOURCE3 3 0.5287
+ angle_coeff @angle:ca-nh-s4 harmonic 62.13 115.62 # SOURCE3 3 0.3434
+ angle_coeff @angle:ca-nh-s6 harmonic 61.56 123.53 # SOURCE4 33 2.0385
+ angle_coeff @angle:ca-nh-s harmonic 59.38 122.54 # SOURCE3 3 2.7001
+ angle_coeff @angle:ca-nh-sh harmonic 61.78 121.41 # SOURCE3 1 0.0000
+ angle_coeff @angle:ca-nh-ss harmonic 61.75 121.50 # SOURCE3 3 2.6255
+ angle_coeff @angle:ca-nh-sy harmonic 60.64 125.26 # SOURCE4 41 1.7517
+ angle_coeff @angle:cc-nh-cx harmonic 63.09 123.72 # CORR 58
+ angle_coeff @angle:cc-nh-hn harmonic 48.86 117.16 # SOURCE3 11 2.6137
+ angle_coeff @angle:cc-nh-n2 harmonic 68.23 119.66 # SOURCE4 5 1.3903
+ angle_coeff @angle:cc-nh-sy harmonic 61.22 122.91 # SOURCE4 23 1.2029
+ angle_coeff @angle:cd-nh-cx harmonic 63.09 123.72 # CORR 58
+ angle_coeff @angle:cd-nh-hn harmonic 48.86 117.16 # SOURCE3 11 2.6137
+ angle_coeff @angle:ce-nh-hn harmonic 48.38 115.62 # CORR 203
+ angle_coeff @angle:ce-nh-o harmonic 66.85 129.43 # CORR 2
+ angle_coeff @angle:ce-nh-sy harmonic 63.58 112.97 # SOURCE4 7 1.0636
+ angle_coeff @angle:cf-nh-hn harmonic 48.38 115.62 # CORR 203
+ angle_coeff @angle:cf-nh-o harmonic 66.85 129.43 # CORR 2
+ angle_coeff @angle:cl-nh-cl harmonic 54.43 106.60 # SOURCE3 1
+ angle_coeff @angle:cl-nh-hn harmonic 40.07 104.14 # SOURCE3 1 0.0000
+ angle_coeff @angle:cx-nh-cx harmonic 86.53 62.02 # SOURCE4 45 0.6189
+ angle_coeff @angle:cx-nh-hn harmonic 45.79 118.89 # SOURCE4 8 0.1391
+ angle_coeff @angle:cz-nh-hn harmonic 48.79 121.24 # SOURCE4 40 0.5682
+ angle_coeff @angle:f-nh-f harmonic 66.93 101.70 # SOURCE3 1 0.0000
+ angle_coeff @angle:f-nh-hn harmonic 49.80 101.23 # SOURCE3 1 0.0000
+ angle_coeff @angle:hn-nh-hn harmonic 40.05 114.85 # SOURCE4 1108 2.0811
+ angle_coeff @angle:hn-nh-i harmonic 36.55 107.57 # SOURCE3 1 0.0000
+ angle_coeff @angle:hn-nh-n1 harmonic 52.31 110.57 # HF/6-31G* 1
+ angle_coeff @angle:hn-nh-n2 harmonic 50.08 118.22 # SOURCE4 75 2.3319
+ angle_coeff @angle:hn-nh-n3 harmonic 50.05 109.12 # SOURCE3 5 2.3680
+ angle_coeff @angle:hn-nh-n4 harmonic 49.69 104.40 # SOURCE3 3 0.5056
+ angle_coeff @angle:hn-nh-n harmonic 50.89 107.96 # SOURCE4 16 1.2025
+ angle_coeff @angle:hn-nh-na harmonic 50.95 107.91 # SOURCE3 26 1.5528
+ angle_coeff @angle:hn-nh-nh harmonic 50.32 110.64 # SOURCE4 8 1.3390
+ angle_coeff @angle:hn-nh-no harmonic 50.99 109.93 # SOURCE4 7 0.2027
+ angle_coeff @angle:hn-nh-o harmonic 52.99 116.45 # SOURCE3 2 0.6063
+ angle_coeff @angle:hn-nh-oh harmonic 51.13 106.55 # SOURCE4 8 0.4590
+ angle_coeff @angle:hn-nh-os harmonic 51.51 104.76 # SOURCE3 3 0.4883
+ angle_coeff @angle:hn-nh-p2 harmonic 54.38 118.18 # SOURCE3 21 3.6927
+ angle_coeff @angle:hn-nh-p3 harmonic 53.06 116.19 # SOURCE3 3 3.0539
+ angle_coeff @angle:hn-nh-p4 harmonic 54.74 112.60 # SOURCE3 3 0.8237
+ angle_coeff @angle:hn-nh-p5 harmonic 55.35 115.26 # SOURCE3 3 0.9168
+ angle_coeff @angle:hn-nh-s4 harmonic 43.06 107.48 # SOURCE3 3 1.3960
+ angle_coeff @angle:hn-nh-s harmonic 40.81 114.37 # SOURCE3 1 0.0000
+ angle_coeff @angle:hn-nh-s6 harmonic 44.04 109.98 # SOURCE4 29 0.7478
+ angle_coeff @angle:hn-nh-sh harmonic 43.27 112.25 # SOURCE3 1 0.0000
+ angle_coeff @angle:hn-nh-ss harmonic 42.95 113.89 # SOURCE3 3 1.4030
+ angle_coeff @angle:hn-nh-sy harmonic 43.28 111.23 # SOURCE4 62 1.1413
+ angle_coeff @angle:i-nh-i harmonic 59.80 115.82 # SOURCE3 1
+ angle_coeff @angle:n1-nh-n1 harmonic 75.13 106.71 # HF/6-31G* 1
+ angle_coeff @angle:n2-nh-n2 harmonic 70.76 117.50 # SOURCE3 2 1.1907
+ angle_coeff @angle:n2-nh-n3 harmonic 69.63 115.54 # SOURCE3 1 0.0000
+ angle_coeff @angle:n2-nh-o harmonic 70.40 126.06 # SOURCE3 1 0.0000
+ angle_coeff @angle:n3-nh-n3 harmonic 69.52 110.98 # SOURCE3 1 0.0000
+ angle_coeff @angle:n4-nh-n4 harmonic 68.15 108.36 # SOURCE3 1 0.0000
+ angle_coeff @angle:na-nh-na harmonic 70.14 112.01 # SOURCE3 1 0.0000
+ angle_coeff @angle:hn-n-hn harmonic 39.73 117.85 # SOURCE3 15 2.3694
+ angle_coeff @angle:nh-nh-nh harmonic 70.07 112.23 # SOURCE3 1 0.0000
+ angle_coeff @angle:hn-n-i harmonic 36.08 117.24 # SOURCE3 2 0.4435
+ angle_coeff @angle:hn-n-n2 harmonic 49.62 118.33 # SOURCE3 5 2.2377
+ angle_coeff @angle:hn-n-n3 harmonic 48.69 117.22 # SOURCE4 37 1.3737
+ angle_coeff @angle:hn-n-n4 harmonic 48.90 112.68 # SOURCE3 3 1.9746
+ angle_coeff @angle:hn-n-n harmonic 50.14 113.12 # SOURCE3 7 3.2954
+ angle_coeff @angle:hn-n-na harmonic 50.40 113.55 # SOURCE3 8 1.9324
+ angle_coeff @angle:hn-n-nc harmonic 50.74 115.24 # SOURCE4 10 0.4966
+ angle_coeff @angle:hn-n-nh harmonic 49.74 113.13 # SOURCE4 12 1.2125
+ angle_coeff @angle:hn-n-no harmonic 48.71 110.11 # SOURCE3 1 0.0000
+ angle_coeff @angle:hn-n-o harmonic 53.83 116.32 # SOURCE3 2 0.0175
+ angle_coeff @angle:n-nh-o harmonic 72.07 115.63 # SOURCE3 1
+ angle_coeff @angle:hn-n-oh harmonic 50.33 110.71 # SOURCE4 46 1.1278
+ angle_coeff @angle:no-nh-no harmonic 72.07 108.55 # SOURCE3 1 0.0000
+ angle_coeff @angle:hn-n-os harmonic 50.52 109.82 # SOURCE4 12 0.6996
+ angle_coeff @angle:hn-n-p2 harmonic 52.51 118.05 # SOURCE3 7 3.0564
+ angle_coeff @angle:hn-n-p3 harmonic 50.93 119.63 # SOURCE3 2 0.0000
+ angle_coeff @angle:hn-n-p4 harmonic 53.00 115.71 # SOURCE3 1 0.0000
+ angle_coeff @angle:hn-n-p5 harmonic 54.50 113.20 # SOURCE4 6 1.0341
+ angle_coeff @angle:hn-n-s4 harmonic 41.18 112.46 # SOURCE3 1 0.0000
+ angle_coeff @angle:hn-n-s harmonic 41.14 114.92 # SOURCE3 2 0.0260
+ angle_coeff @angle:hn-n-s6 harmonic 43.06 112.18 # SOURCE4 6 0.6101
+ angle_coeff @angle:hn-n-sh harmonic 42.19 114.91 # SOURCE3 1 0.0000
+ angle_coeff @angle:hn-n-ss harmonic 42.36 115.60 # SOURCE3 3 0.6414
+ angle_coeff @angle:hn-n-sy harmonic 43.02 112.34 # SOURCE4 38 0.6039
+ angle_coeff @angle:oh-nh-oh harmonic 72.15 106.27 # SOURCE3 1
+ angle_coeff @angle:o-nh-o harmonic 72.24 128.06 # SOURCE3 1
+ angle_coeff @angle:os-nh-os harmonic 72.41 105.27 # SOURCE3 1
+ angle_coeff @angle:p2-nh-p2 harmonic 98.07 127.33 # SOURCE3 2 2.7857
+ angle_coeff @angle:p3-nh-p3 harmonic 96.03 125.08 # SOURCE3 1
+ angle_coeff @angle:p5-nh-p5 harmonic 104.72 112.76 # SOURCE3 1
+ angle_coeff @angle:s4-nh-s4 harmonic 62.56 112.39 # SOURCE3 1
+ angle_coeff @angle:s6-nh-s6 harmonic 62.35 120.27 # SOURCE3 1
+ angle_coeff @angle:sh-nh-sh harmonic 62.26 119.00 # SOURCE3 1
+ angle_coeff @angle:s-nh-s harmonic 59.67 118.73 # SOURCE3 1 0.0000
+ angle_coeff @angle:ss-nh-ss harmonic 62.19 119.25 # SOURCE3 1
+ angle_coeff @angle:i-n-i harmonic 60.66 118.20 # SOURCE3 1 0.0000
+ angle_coeff @angle:n2-n-n2 harmonic 70.16 116.89 # SOURCE3 1 0.0000
+ angle_coeff @angle:n3-n-n3 harmonic 68.02 117.94 # SOURCE3 1 0.0000
+ angle_coeff @angle:n4-n-n4 harmonic 68.42 112.69 # SOURCE3 1 0.0000
+ angle_coeff @angle:na-n-na harmonic 69.61 117.38 # SOURCE3 1 0.0000
+ angle_coeff @angle:nc-n-nc harmonic 71.04 116.41 # CORR 2
+ angle_coeff @angle:nc-n-p2 harmonic 80.69 117.21 # CORR 2
+ angle_coeff @angle:nc-n-pc harmonic 80.42 117.21 # CORR 2
+ angle_coeff @angle:nd-n-nd harmonic 71.04 116.41 # CORR 2
+ angle_coeff @angle:nd-n-p2 harmonic 80.69 117.21 # CORR 2
+ angle_coeff @angle:nd-n-pd harmonic 80.42 117.21 # CORR 2
+ angle_coeff @angle:nh-n-nh harmonic 69.10 115.18 # SOURCE3 1 0.0000
+ angle_coeff @angle:n-n-n harmonic 69.89 114.62 # SOURCE3 1 0.0000
+ angle_coeff @angle:no-n-no harmonic 68.52 108.66 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-no-o harmonic 58.48 113.19 # SOURCE3 2 0.0000
+ angle_coeff @angle:c1-no-o harmonic 71.34 116.63 # SOURCE3 6 0.0000
+ angle_coeff @angle:c2-no-o harmonic 69.87 116.87 # SOURCE3 8 0.4200
+ angle_coeff @angle:c3-no-o harmonic 66.96 116.56 # SOURCE3 6 0.3959
+ angle_coeff @angle:ca-no-o harmonic 68.74 118.10 # SOURCE3 10 1.1524
+ angle_coeff @angle:cc-no-o harmonic 70.34 117.52 # SOURCE4 198 0.6255
+ angle_coeff @angle:cl-no-o harmonic 57.30 115.08 # SOURCE3 2 0.0000
+ angle_coeff @angle:c-no-o harmonic 67.10 115.26 # SOURCE3 1
+ angle_coeff @angle:hn-no-o harmonic 55.31 115.49 # SOURCE3 2 0.0000
+ angle_coeff @angle:oh-n-oh harmonic 72.05 107.26 # SOURCE3 1 0.0000
+ angle_coeff @angle:i-no-o harmonic 54.60 116.31 # SOURCE3 2 0.0000
+ angle_coeff @angle:n1-no-o harmonic 73.78 115.00 # HF/6-31G* 1
+ angle_coeff @angle:n2-no-o harmonic 65.79 115.10 # SOURCE2 2 2.4000
+ angle_coeff @angle:n3-no-o harmonic 72.01 115.56 # SOURCE3 6 0.6427
+ angle_coeff @angle:n4-no-o harmonic 72.87 109.00 # SOURCE3 2 0.0000
+ angle_coeff @angle:na-no-o harmonic 72.24 115.49 # SOURCE3 18 0.5640
+ angle_coeff @angle:nh-no-o harmonic 74.08 115.71 # SOURCE3 8 0.4811
+ angle_coeff @angle:n-no-o harmonic 71.67 115.41 # SOURCE3 8 0.3748
+ angle_coeff @angle:no-no-o harmonic 59.92 112.38 # SOURCE3 4 0.0000
+ angle_coeff @angle:o-n-o harmonic 73.39 128.61 # SOURCE3 3 1.0626
+ angle_coeff @angle:o-no-o harmonic 77.15 125.13 # SOURCE4 461 0.7605
+ angle_coeff @angle:o-no-oh harmonic 74.09 114.70 # SOURCE3 2 0.0000
+ angle_coeff @angle:o-no-os harmonic 73.71 114.01 # SOURCE3 8 0.9778
+ angle_coeff @angle:o-no-p2 harmonic 82.07 117.38 # SOURCE3 20 0.8083
+ angle_coeff @angle:o-no-p3 harmonic 77.73 116.78 # SOURCE3 6 0.4929
+ angle_coeff @angle:o-no-p4 harmonic 76.69 116.64 # SOURCE3 6 0.0089
+ angle_coeff @angle:o-no-p5 harmonic 78.18 116.69 # SOURCE3 8 0.4507
+ angle_coeff @angle:o-no-s4 harmonic 57.15 114.49 # SOURCE3 6 0.5674
+ angle_coeff @angle:o-no-s6 harmonic 57.79 114.39 # SOURCE3 6 0.8311
+ angle_coeff @angle:o-no-s harmonic 64.05 119.81 # SOURCE3 4 0.0042
+ angle_coeff @angle:o-no-sh harmonic 62.94 116.10 # SOURCE3 2 0.0000
+ angle_coeff @angle:o-no-ss harmonic 62.27 115.58 # SOURCE3 6 0.5860
+ angle_coeff @angle:os-n-os harmonic 72.28 106.53 # SOURCE3 1 0.0000
+ angle_coeff @angle:p2-n-p2 harmonic 98.03 119.62 # SOURCE3 1
+ angle_coeff @angle:p3-n-p3 harmonic 100.67 108.73 # SOURCE3 3 0.2591
+ angle_coeff @angle:p4-n-p4 harmonic 102.85 108.55 # SOURCE3 1
+ angle_coeff @angle:p5-n-p5 harmonic 108.79 99.99 # SOURCE3 1
+ angle_coeff @angle:pc-n-pc harmonic 97.64 119.62 # SOURCE3 1 0.0000
+ angle_coeff @angle:pd-n-pd harmonic 97.64 119.62 # SOURCE3 1 same_as_pc-n-pc
+ angle_coeff @angle:s4-n-s4 harmonic 61.03 113.75 # SOURCE3 1 0.0000
+ angle_coeff @angle:s6-n-s6 harmonic 61.82 119.68 # SOURCE3 1 0.0000
+ angle_coeff @angle:sh-n-sh harmonic 61.53 119.03 # SOURCE3 1 0.0000
+ angle_coeff @angle:s-n-s harmonic 58.48 126.00 # SOURCE3 1
+ angle_coeff @angle:ss-n-ss harmonic 62.06 118.49 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-oh-ho harmonic 42.15 101.60 # SOURCE3 1 0.0000
+ angle_coeff @angle:c1-oh-ho harmonic 50.20 108.76 # SOURCE3 1 0.0000
+ angle_coeff @angle:c2-oh-ho harmonic 49.91 108.98 # SOURCE3 6 2.2379
+ angle_coeff @angle:c3-oh-ho harmonic 47.09 108.16 # SOURCE3 42 1.3034
+ angle_coeff @angle:ca-oh-ho harmonic 48.85 109.47 # SOURCE3 7 1.0405
+ angle_coeff @angle:cc-oh-ho harmonic 49.96 107.06 # CORR 117
+ angle_coeff @angle:cd-oh-ho harmonic 49.96 107.06 # CORR 117
+ angle_coeff @angle:ce-oh-ho harmonic 49.85 106.95 # CORR 34
+ angle_coeff @angle:cf-oh-ho harmonic 49.85 106.95 # CORR 34
+ angle_coeff @angle:c-oh-ho harmonic 51.19 107.37 # SOURCE3 34 1.6830
+ angle_coeff @angle:cl-oh-ho harmonic 40.51 102.40 # SOURCE2 1 0.0000
+ angle_coeff @angle:cx-oh-ho harmonic 49.64 106.17 # SOURCE3 3 0.0644
+ angle_coeff @angle:cy-oh-ho harmonic 47.62 107.32 # SOURCE4 5 0.4955
+ angle_coeff @angle:f-oh-ho harmonic 48.47 96.80 # SOURCE2 1 0.0000
+ angle_coeff @angle:ho-oh-ho harmonic 41.93 104.80 # SOURCE2 1 0.0000
+ angle_coeff @angle:ho-oh-i harmonic 35.67 107.98 # SOURCE3 2 0.0000
+ angle_coeff @angle:ho-oh-n1 harmonic 52.55 107.81 # HF/6-31G* 1
+ angle_coeff @angle:ho-oh-n2 harmonic 50.57 102.74 # SOURCE3 9 2.1286
+ angle_coeff @angle:ho-oh-n3 harmonic 50.61 102.33 # SOURCE3 5 1.2591
+ angle_coeff @angle:ho-oh-n4 harmonic 49.44 106.63 # SOURCE3 3 0.2770
+ angle_coeff @angle:ho-oh-n harmonic 50.46 101.03 # SOURCE3 6 1.4086
+ angle_coeff @angle:ho-oh-na harmonic 50.24 103.71 # SOURCE3 9 1.2590
+ angle_coeff @angle:ho-oh-nh harmonic 49.97 102.42 # SOURCE4 15 0.6819
+ angle_coeff @angle:ho-oh-no harmonic 50.31 102.17 # SOURCE3 1 0.0000
+ angle_coeff @angle:ho-oh-o harmonic 47.26 100.87 # SOURCE3 1
+ angle_coeff @angle:ho-oh-oh harmonic 49.34 98.72 # SOURCE3 2 0.0000
+ angle_coeff @angle:ho-oh-os harmonic 49.58 99.69 # SOURCE4 18 0.3384
+ angle_coeff @angle:ho-oh-p2 harmonic 55.87 109.45 # SOURCE3 8 3.3491
+ angle_coeff @angle:ho-oh-p3 harmonic 53.84 110.64 # SOURCE3 3 0.5191
+ angle_coeff @angle:ho-oh-p4 harmonic 55.27 110.19 # SOURCE3 4 0.2372
+ angle_coeff @angle:ho-oh-p5 harmonic 55.88 110.14 # SOURCE3 92 3.8033
+ angle_coeff @angle:ho-oh-py harmonic 56.18 110.73 # SOURCE3 79 1.7835
+ angle_coeff @angle:ho-oh-s4 harmonic 42.77 106.76 # SOURCE4 9 0.4035
+ angle_coeff @angle:ho-oh-s harmonic 40.86 100.15 # SOURCE3 2 0.0000
+ angle_coeff @angle:ho-oh-s6 harmonic 45.46 109.20 # SOURCE3 13 0.1856
+ angle_coeff @angle:ho-oh-sh harmonic 42.97 106.24 # SOURCE3 2 0.0661
+ angle_coeff @angle:ho-oh-ss harmonic 43.10 107.06 # SOURCE3 4 0.9967
+ angle_coeff @angle:ho-oh-sy harmonic 44.20 106.41 # SOURCE4 33 0.3729
+ angle_coeff @angle:br-os-br harmonic 65.08 110.63 # SOURCE3 1 0.0000
+ angle_coeff @angle:c1-os-c1 harmonic 66.99 115.02 # SOURCE3 1 0.0000
+ angle_coeff @angle:c1-os-c3 harmonic 64.47 113.39 # SOURCE3 1 0.0000
+ angle_coeff @angle:c2-os-c2 harmonic 65.95 113.14 # SOURCE3 6 2.1932
+ angle_coeff @angle:c2-os-c3 harmonic 64.21 112.09 # SOURCE3 7 4.1809
+ angle_coeff @angle:c2-os-ca harmonic 65.43 113.59 # SOURCE3 1 0.0000
+ angle_coeff @angle:c2-os-n2 harmonic 64.91 118.13 # SOURCE3 1 0.0000
+ angle_coeff @angle:c2-os-na harmonic 68.21 103.85 # SOURCE3 4 0.6297
+ angle_coeff @angle:c2-os-os harmonic 68.35 102.77 # SOURCE3 1 0.0000
+ angle_coeff @angle:c2-os-p5 harmonic 77.31 126.37 # SOURCE4 7 1.7939
+ angle_coeff @angle:c2-os-ss harmonic 63.08 108.13 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-os-c3 harmonic 62.39 112.45 # SOURCE4 1293 1.6468
+ angle_coeff @angle:c3-os-ca harmonic 62.27 117.97 # SOURCE4 2495 1.4576
+ angle_coeff @angle:c3-os-cc harmonic 62.50 117.33 # CORR 248
+ angle_coeff @angle:c3-os-cd harmonic 62.50 117.33 # CORR 248
+ angle_coeff @angle:c3-os-ce harmonic 62.79 116.05 # CORR 37
+ angle_coeff @angle:c3-os-cf harmonic 62.79 116.05 # CORR 37
+ angle_coeff @angle:c3-os-cl harmonic 56.20 110.50 # SOURCE2 1 0.0000
+ angle_coeff @angle:c3-os-cy harmonic 61.67 115.65 # SOURCE4 5 0.2390
+ angle_coeff @angle:c3-os-i harmonic 54.88 113.70 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-os-n1 harmonic 66.31 113.50 # HF/6-31G* 1
+ angle_coeff @angle:c3-os-n2 harmonic 65.92 108.12 # SOURCE3 7 0.3048
+ angle_coeff @angle:c3-os-n3 harmonic 64.52 110.28 # SOURCE4 14 1.9026
+ angle_coeff @angle:c3-os-n4 harmonic 64.88 110.50 # SOURCE3 3 0.5426
+ angle_coeff @angle:c3-os-n harmonic 65.40 109.52 # SOURCE4 14 0.6827
+ angle_coeff @angle:c3-os-na harmonic 64.54 109.91 # SOURCE3 9 1.8268
+ angle_coeff @angle:c3-os-nc harmonic 64.80 112.73 # SOURCE3 2 1.0358
+ angle_coeff @angle:c3-os-nd harmonic 64.80 112.73 # SOURCE3 2 same_as_c3-os-nc
+ angle_coeff @angle:c3-os-nh harmonic 65.22 109.69 # SOURCE4 8 0.1662
+ angle_coeff @angle:c3-os-no harmonic 63.89 113.80 # SOURCE4 42 0.2726
+ angle_coeff @angle:c3-os-o harmonic 65.62 103.00 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-os-oh harmonic 65.24 107.97 # SOURCE4 11 0.4333
+ angle_coeff @angle:c3-os-os harmonic 65.89 105.01 # SOURCE3 7 0.6328
+ angle_coeff @angle:c3-os-p2 harmonic 80.24 115.47 # SOURCE3 8 2.6374
+ angle_coeff @angle:c3-os-p3 harmonic 76.51 115.97 # SOURCE3 3 0.3597
+ angle_coeff @angle:c3-os-p4 harmonic 77.59 117.48 # SOURCE3 4 0.3850
+ angle_coeff @angle:c3-os-p5 harmonic 78.48 118.00 # SOURCE3 31 1.2882
+ angle_coeff @angle:c3-os-py harmonic 78.07 117.80 # SOURCE3 16 0.9654
+ angle_coeff @angle:c3-os-s4 harmonic 61.32 111.50 # SOURCE3 6 1.4240
+ angle_coeff @angle:c3-os-s6 harmonic 63.21 115.79 # SOURCE4 60 1.2588
+ angle_coeff @angle:c3-os-s harmonic 59.28 109.55 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-os-sh harmonic 61.67 112.82 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-os-ss harmonic 60.74 113.19 # SOURCE3 3 0.2455
+ angle_coeff @angle:ca-os-ca harmonic 63.31 119.95 # SOURCE4 107 1.6535
+ angle_coeff @angle:ca-os-cc harmonic 67.21 106.65 # CORR 62
+ angle_coeff @angle:ca-os-cd harmonic 67.21 106.65 # CORR 62
+ angle_coeff @angle:ca-os-n3 harmonic 65.39 112.19 # SOURCE3 1 0.0000
+ angle_coeff @angle:ca-os-na harmonic 66.47 108.24 # SOURCE3 1 0.0000
+ angle_coeff @angle:ca-os-nc harmonic 66.09 113.68 # SOURCE3 2
+ angle_coeff @angle:ca-os-nd harmonic 66.09 113.68 # SOURCE3 2
+ angle_coeff @angle:ca-os-p5 harmonic 77.96 123.42 # SOURCE4 54 1.1358
+ angle_coeff @angle:ca-os-s6 harmonic 63.95 116.97 # SOURCE4 15 0.9514
+ angle_coeff @angle:c-os-c2 harmonic 64.91 118.02 # SOURCE4 7 0.3666
+ angle_coeff @angle:c-os-c3 harmonic 63.63 115.14 # SOURCE3 17 1.8967
+ angle_coeff @angle:c-os-c harmonic 64.54 120.64 # SOURCE4 7 1.5114
+ angle_coeff @angle:c-os-ca harmonic 63.75 120.87 # SOURCE4 257 1.7209
+ angle_coeff @angle:c-os-cc harmonic 64.15 119.62 # SOURCE3 5 6.0675
+ angle_coeff @angle:cc-os-cc harmonic 67.27 106.69 # CORR 252
+ angle_coeff @angle:cc-os-cd harmonic 63.80 118.62 # SOURCE4 14 1.9764
+ angle_coeff @angle:c-os-cd harmonic 64.15 119.62 # SOURCE3 5 6.0675
+ angle_coeff @angle:cc-os-na harmonic 65.51 111.66 # SOURCE3 28 4.1343
+ angle_coeff @angle:cc-os-nc harmonic 68.12 107.23 # SOURCE3 6 2.7507
+ angle_coeff @angle:cc-os-os harmonic 66.27 108.47 # SOURCE3 2 0.0000
+ angle_coeff @angle:cc-os-ss harmonic 59.85 119.59 # SOURCE3 1 0.0000
+ angle_coeff @angle:c-os-cy harmonic 71.75 91.10 # SOURCE3 2 0.0155
+ angle_coeff @angle:cd-os-cd harmonic 67.27 106.69 # CORR 252
+ angle_coeff @angle:cd-os-na harmonic 65.51 111.66 # SOURCE3 28 4.1343
+ angle_coeff @angle:cd-os-nd harmonic 68.12 107.23 # SOURCE3 6 2.7507
+ angle_coeff @angle:cd-os-os harmonic 66.27 108.47 # SOURCE3 2 same_as_cc-os-os
+ angle_coeff @angle:cd-os-ss harmonic 59.85 119.59 # SOURCE3 1 same_as_cc-os-ss
+ angle_coeff @angle:cl-os-cl harmonic 52.29 110.76 # SOURCE3 2 0.0000
+ angle_coeff @angle:c-os-n2 harmonic 66.95 112.08 # SOURCE4 6 0.1154
+ angle_coeff @angle:c-os-n harmonic 66.83 112.10 # SOURCE4 6 0.6163
+ angle_coeff @angle:c-os-oh harmonic 66.50 110.50 # SOURCE3 1 0.0000
+ angle_coeff @angle:c-os-os harmonic 66.25 110.28 # SOURCE4 10 1.3612
+ angle_coeff @angle:c-os-p5 harmonic 78.89 122.10 # SOURCE4 5 0.5870
+ angle_coeff @angle:c-os-sy harmonic 61.85 113.49 # SOURCE3 1 0.0000
+ angle_coeff @angle:cx-os-cx harmonic 85.27 61.82 # SOURCE4 107 0.1793
+ angle_coeff @angle:cx-os-n harmonic 88.98 59.99 # SOURCE3 1 0.0000
+ angle_coeff @angle:cx-os-os harmonic 90.38 56.52 # SOURCE3 2 0.0000
+ angle_coeff @angle:cy-os-cy harmonic 68.81 93.40 # SOURCE2 2 1.4000
+ angle_coeff @angle:f-os-f harmonic 63.94 103.30 # SOURCE2 1 0.0000
+ angle_coeff @angle:f-os-os harmonic 63.94 109.50 # SOURCE2 1 0.0000
+ angle_coeff @angle:i-os-i harmonic 58.06 115.67 # SOURCE3 1 0.0000
+ angle_coeff @angle:n1-os-n1 harmonic 70.28 117.79 # HF/6-31G* 1
+ angle_coeff @angle:n2-os-n2 harmonic 68.76 106.83 # SOURCE3 1 0.0000
+ angle_coeff @angle:n2-os-s6 harmonic 66.63 111.30 # SOURCE4 7 0.5651
+ angle_coeff @angle:n3-os-n3 harmonic 67.76 104.88 # SOURCE3 1 0.0000
+ angle_coeff @angle:n4-os-n4 harmonic 65.66 114.68 # SOURCE3 1 0.0000
+ angle_coeff @angle:na-os-na harmonic 66.10 109.59 # SOURCE3 1 0.0000
+ angle_coeff @angle:na-os-ss harmonic 64.75 104.34 # SOURCE3 1 0.0000
+ angle_coeff @angle:nc-os-nc harmonic 68.17 110.40 # SOURCE2 1 0.0000
+ angle_coeff @angle:nc-os-ss harmonic 63.38 110.97 # SOURCE3 1 0.0000
+ angle_coeff @angle:nd-os-nd harmonic 68.17 110.40 # SOURCE2 1 same_as_nc-os-nc
+ angle_coeff @angle:nd-os-ss harmonic 63.38 110.97 # SOURCE3 1 same_as_nc-os-ss
+ angle_coeff @angle:nh-os-nh harmonic 67.81 108.29 # SOURCE3 1 0.0000
+ angle_coeff @angle:n-os-n harmonic 68.08 108.31 # SOURCE3 1 0.0000
+ angle_coeff @angle:no-os-no harmonic 66.40 111.86 # SOURCE3 1 0.0000
+ angle_coeff @angle:n-os-s6 harmonic 65.87 113.62 # SOURCE4 5 0.0928
+ angle_coeff @angle:o-os-o harmonic 62.76 114.68 # SOURCE3 1 0.0000
+ angle_coeff @angle:p2-os-p2 harmonic 103.59 120.02 # SOURCE3 1 0.0000
+ angle_coeff @angle:p2-os-p5 harmonic 108.26 107.86 # SOURCE3 1 0.0000
+ angle_coeff @angle:p3-os-p3 harmonic 96.17 121.22 # SOURCE3 1 0.0000
+ angle_coeff @angle:p3-os-py harmonic 105.11 105.58 # SOURCE3 1 0.0000
+ angle_coeff @angle:p5-os-p5 harmonic 99.18 126.25 # SOURCE3 1 0.0000
+ angle_coeff @angle:s4-os-s4 harmonic 62.09 111.63 # SOURCE3 1 0.0000
+ angle_coeff @angle:s6-os-s6 harmonic 64.77 119.07 # SOURCE3 2 0.4318
+ angle_coeff @angle:sh-os-sh harmonic 61.15 118.95 # SOURCE3 1 0.0000
+ angle_coeff @angle:s-os-s harmonic 56.98 118.08 # SOURCE3 1 0.0000
+ angle_coeff @angle:ss-os-ss harmonic 60.82 115.64 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-p2-br harmonic 40.68 108.60 # SOURCE3 1
+ angle_coeff @angle:br-p2-c2 harmonic 39.43 102.32 # SOURCE3 2 0.0146
+ angle_coeff @angle:br-p2-n2 harmonic 40.42 103.33 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-p2-o harmonic 39.43 110.87 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-p2-p2 harmonic 50.16 115.46 # SOURCE3 4 7.8622
+ angle_coeff @angle:br-p2-s harmonic 40.59 110.52 # SOURCE3 1 0.0000
+ angle_coeff @angle:c1-p2-c1 harmonic 39.20 99.04 # SOURCE3 1
+ angle_coeff @angle:c1-p2-c2 harmonic 39.82 101.29 # SOURCE3 1
+ angle_coeff @angle:c1-p2-n2 harmonic 41.36 101.79 # SOURCE3 1
+ angle_coeff @angle:c1-p2-o harmonic 41.32 107.62 # SOURCE3 1
+ angle_coeff @angle:c1-p2-p2 harmonic 53.31 99.54 # SOURCE3 1
+ angle_coeff @angle:c1-p2-s harmonic 41.00 105.90 # SOURCE3 1
+ angle_coeff @angle:c2-p2-c2 harmonic 40.45 104.50 # SOURCE3 1
+ angle_coeff @angle:c2-p2-c3 harmonic 38.60 101.90 # SOURCE3 4 0.1132
+ angle_coeff @angle:c2-p2-ca harmonic 38.79 101.95 # SOURCE3 1
+ angle_coeff @angle:c2-p2-cl harmonic 35.61 102.72 # SOURCE3 2 0.0000
+ angle_coeff @angle:c2-p2-f harmonic 41.60 103.47 # SOURCE3 2 0.0136
+ angle_coeff @angle:c2-p2-hp harmonic 30.13 97.19 # SOURCE3 3 0.0216
+ angle_coeff @angle:c2-p2-i harmonic 33.85 101.94 # SOURCE3 2 0.0368
+ angle_coeff @angle:c2-p2-n2 harmonic 43.20 99.88 # SOURCE3 1
+ angle_coeff @angle:c2-p2-n3 harmonic 41.99 101.80 # SOURCE3 1
+ angle_coeff @angle:c2-p2-n4 harmonic 39.07 98.26 # SOURCE3 6 0.1522
+ angle_coeff @angle:c2-p2-n harmonic 40.89 103.28 # SOURCE3 4 3.3113
+ angle_coeff @angle:c2-p2-na harmonic 40.54 103.99 # SOURCE3 8 1.6834
+ angle_coeff @angle:c2-p2-nh harmonic 41.20 105.17 # SOURCE3 8 0.8263
+ angle_coeff @angle:c2-p2-no harmonic 41.91 97.97 # SOURCE3 3 0.4175
+ angle_coeff @angle:c2-p2-o harmonic 41.51 115.16 # SOURCE3 1
+ angle_coeff @angle:c2-p2-oh harmonic 42.50 102.89 # SOURCE3 3 0.8191
+ angle_coeff @angle:c2-p2-os harmonic 43.35 102.12 # SOURCE3 4 0.8783
+ angle_coeff @angle:c2-p2-p2 harmonic 54.72 99.56 # SOURCE3 1
+ angle_coeff @angle:c2-p2-p3 harmonic 48.11 99.27 # SOURCE3 4 1.1590
+ angle_coeff @angle:c2-p2-p4 harmonic 48.19 96.94 # SOURCE3 1
+ angle_coeff @angle:c2-p2-p5 harmonic 48.01 97.61 # SOURCE3 1
+ angle_coeff @angle:c2-p2-s4 harmonic 38.27 95.15 # SOURCE3 1
+ angle_coeff @angle:c2-p2-s6 harmonic 38.35 95.51 # SOURCE3 1
+ angle_coeff @angle:c2-p2-s harmonic 42.19 105.53 # SOURCE3 1
+ angle_coeff @angle:c2-p2-sh harmonic 40.19 101.49 # SOURCE3 3 0.0057
+ angle_coeff @angle:c2-p2-ss harmonic 40.19 101.81 # SOURCE3 4 0.5883
+ angle_coeff @angle:c3-p2-c3 harmonic 37.36 99.30 # SOURCE3 1
+ angle_coeff @angle:c3-p2-n2 harmonic 40.30 100.82 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-p2-o harmonic 40.10 106.72 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-p2-os harmonic 40.68 101.34 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-p2-p2 harmonic 51.78 100.48 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-p2-s harmonic 40.04 105.68 # SOURCE3 1 0.0000
+ angle_coeff @angle:ca-p2-ca harmonic 37.59 99.70 # SOURCE3 1
+ angle_coeff @angle:ca-p2-n2 harmonic 40.53 100.82 # SOURCE3 1
+ angle_coeff @angle:ca-p2-n harmonic 41.68 89.97 # SOURCE3 1
+ angle_coeff @angle:ca-p2-na harmonic 41.69 89.21 # SOURCE3 1
+ angle_coeff @angle:ca-p2-o harmonic 40.31 106.88 # SOURCE3 1
+ angle_coeff @angle:ca-p2-s harmonic 39.79 107.93 # SOURCE3 1
+ angle_coeff @angle:c-p2-c2 harmonic 38.89 97.30 # SOURCE3 1
+ angle_coeff @angle:c-p2-c harmonic 38.29 90.10 # SOURCE3 1
+ angle_coeff @angle:ce-p2-o harmonic 40.63 107.44 # SOURCE3 1
+ angle_coeff @angle:ce-p2-s harmonic 40.55 105.54 # SOURCE3 1
+ angle_coeff @angle:cf-p2-o harmonic 40.63 107.44 # SOURCE3 1 same_as_ce-p2-o
+ angle_coeff @angle:cf-p2-s harmonic 40.55 105.54 # SOURCE3 1 same_as_ce-p2-s
+ angle_coeff @angle:cl-p2-cl harmonic 32.00 108.70 # SOURCE3 1
+ angle_coeff @angle:cl-p2-n2 harmonic 36.67 103.38 # SOURCE3 1 0.0000
+ angle_coeff @angle:cl-p2-o harmonic 36.00 110.57 # SOURCE3 1 0.0000
+ angle_coeff @angle:cl-p2-p2 harmonic 47.78 103.11 # SOURCE3 1 0.0000
+ angle_coeff @angle:cl-p2-s harmonic 36.62 110.11 # SOURCE3 1 0.0000
+ angle_coeff @angle:f-p2-f harmonic 42.20 107.10 # SOURCE3 1
+ angle_coeff @angle:f-p2-n2 harmonic 43.59 103.57 # SOURCE3 1 0.0000
+ angle_coeff @angle:f-p2-o harmonic 43.81 110.61 # SOURCE3 1 0.0000
+ angle_coeff @angle:f-p2-p2 harmonic 54.54 103.48 # SOURCE3 1 0.0000
+ angle_coeff @angle:f-p2-s harmonic 41.15 114.71 # SOURCE3 2 5.2794
+ angle_coeff @angle:hp-p2-hp harmonic 22.84 98.76 # SOURCE3 1
+ angle_coeff @angle:hp-p2-n1 harmonic 31.08 95.18 # SOURCE3 2 1.5708
+ angle_coeff @angle:hp-p2-n2 harmonic 32.08 95.54 # SOURCE3 19 4.7352
+ angle_coeff @angle:hp-p2-ne harmonic 31.94 100.10 # SOURCE3 14 6.1290
+ angle_coeff @angle:hp-p2-nf harmonic 31.94 100.10 # SOURCE3 14 same_as_hp-p2-ne
+ angle_coeff @angle:hp-p2-o harmonic 32.04 105.58 # SOURCE3 1 0.0000
+ angle_coeff @angle:hp-p2-p2 harmonic 38.16 101.88 # SOURCE3 27 12.9535
+ angle_coeff @angle:hp-p2-p4 harmonic 32.69 94.51 # SOURCE3 1 0.0000
+ angle_coeff @angle:hp-p2-p5 harmonic 33.66 89.07 # SOURCE3 1 0.0000
+ angle_coeff @angle:hp-p2-pe harmonic 37.56 97.25 # SOURCE3 16 8.8916
+ angle_coeff @angle:hp-p2-pf harmonic 37.56 97.25 # SOURCE3 16 same_as_hp-p2-pe
+ angle_coeff @angle:hp-p2-s4 harmonic 26.33 89.99 # SOURCE3 1 0.0000
+ angle_coeff @angle:hp-p2-s harmonic 30.26 102.52 # SOURCE3 1 0.0000
+ angle_coeff @angle:hp-p2-s6 harmonic 26.74 88.13 # SOURCE3 1 0.0000
+ angle_coeff @angle:i-p2-i harmonic 35.75 104.16 # SOURCE3 1
+ angle_coeff @angle:i-p2-n2 harmonic 34.63 101.77 # SOURCE3 1 0.0000
+ angle_coeff @angle:i-p2-o harmonic 33.34 109.51 # SOURCE3 1 0.0000
+ angle_coeff @angle:i-p2-p2 harmonic 46.22 102.63 # SOURCE3 1 0.0000
+ angle_coeff @angle:i-p2-s harmonic 35.18 110.60 # SOURCE3 1 0.0000
+ angle_coeff @angle:n1-p2-n1 harmonic 46.52 86.22 # HF/6-31G* 1
+ angle_coeff @angle:n2-p2-n2 harmonic 45.62 98.00 # SOURCE3 1
+ angle_coeff @angle:n2-p2-n3 harmonic 44.14 100.42 # SOURCE3 1
+ angle_coeff @angle:n2-p2-n4 harmonic 41.53 93.42 # SOURCE3 1 0.0000
+ angle_coeff @angle:n2-p2-na harmonic 42.63 102.03 # SOURCE3 1 0.0000
+ angle_coeff @angle:n2-p2-nh harmonic 43.69 101.87 # SOURCE3 2 0.8491
+ angle_coeff @angle:n2-p2-no harmonic 43.64 98.12 # SOURCE3 1 0.0000
+ angle_coeff @angle:n2-p2-o harmonic 43.53 115.34 # SOURCE3 1
+ angle_coeff @angle:n2-p2-oh harmonic 43.02 109.72 # SOURCE3 1 0.0000
+ angle_coeff @angle:n2-p2-os harmonic 45.35 102.29 # SOURCE3 1 0.0000
+ angle_coeff @angle:n2-p2-p3 harmonic 49.55 99.51 # SOURCE3 1 0.0000
+ angle_coeff @angle:n2-p2-p4 harmonic 48.48 101.73 # SOURCE3 1
+ angle_coeff @angle:n2-p2-p5 harmonic 50.50 93.68 # SOURCE3 1
+ angle_coeff @angle:n2-p2-s4 harmonic 38.89 97.83 # SOURCE3 1
+ angle_coeff @angle:n2-p2-s6 harmonic 38.99 98.14 # SOURCE3 1
+ angle_coeff @angle:n2-p2-s harmonic 42.45 112.94 # SOURCE3 1
+ angle_coeff @angle:n2-p2-sh harmonic 41.75 100.82 # SOURCE3 1 0.0000
+ angle_coeff @angle:n2-p2-ss harmonic 41.64 101.76 # SOURCE3 1 0.0000
+ angle_coeff @angle:n3-p2-n3 harmonic 42.10 106.30 # SOURCE3 1
+ angle_coeff @angle:n3-p2-o harmonic 44.16 106.83 # SOURCE3 1
+ angle_coeff @angle:n3-p2-p2 harmonic 55.78 100.58 # SOURCE3 1
+ angle_coeff @angle:n3-p2-s harmonic 43.18 105.75 # SOURCE3 1
+ angle_coeff @angle:n4-p2-n4 harmonic 39.61 88.80 # SOURCE3 1
+ angle_coeff @angle:n4-p2-o harmonic 40.67 101.36 # SOURCE3 1 0.0000
+ angle_coeff @angle:n4-p2-p2 harmonic 52.72 96.53 # SOURCE3 1 0.0000
+ angle_coeff @angle:n4-p2-s harmonic 40.06 104.98 # SOURCE3 1 0.0000
+ angle_coeff @angle:na-p2-na harmonic 40.23 106.10 # SOURCE3 1
+ angle_coeff @angle:na-p2-o harmonic 42.71 107.46 # SOURCE3 1 0.0000
+ angle_coeff @angle:na-p2-s harmonic 41.81 108.15 # SOURCE3 1 0.0000
+ angle_coeff @angle:ne-p2-o harmonic 45.72 107.71 # SOURCE3 1
+ angle_coeff @angle:ne-p2-s harmonic 44.34 105.50 # SOURCE3 1
+ angle_coeff @angle:nf-p2-o harmonic 45.72 107.71 # SOURCE3 1 same_as_ne-p2-o
+ angle_coeff @angle:nf-p2-s harmonic 44.34 105.50 # SOURCE3 1 same_as_ne-p2-s
+ angle_coeff @angle:nh-p2-nh harmonic 42.33 104.00 # SOURCE3 1
+ angle_coeff @angle:nh-p2-o harmonic 43.75 108.11 # SOURCE3 2 0.6773
+ angle_coeff @angle:nh-p2-p2 harmonic 53.77 107.73 # SOURCE3 3 3.1678
+ angle_coeff @angle:nh-p2-s harmonic 42.31 109.62 # SOURCE3 2 1.7725
+ angle_coeff @angle:n-p2-n2 harmonic 43.55 98.85 # SOURCE3 1 0.0000
+ angle_coeff @angle:n-p2-o harmonic 43.46 105.08 # SOURCE3 1 0.0000
+ angle_coeff @angle:no-p2-no harmonic 42.08 98.20 # SOURCE3 1
+ angle_coeff @angle:no-p2-o harmonic 43.42 104.87 # SOURCE3 1 0.0000
+ angle_coeff @angle:no-p2-p2 harmonic 52.75 108.57 # SOURCE3 3 8.2121
+ angle_coeff @angle:no-p2-s harmonic 41.76 109.06 # SOURCE3 2 5.4074
+ angle_coeff @angle:n-p2-p2 harmonic 54.46 102.12 # SOURCE3 1 0.0000
+ angle_coeff @angle:n-p2-s harmonic 41.20 112.34 # SOURCE3 1 0.0000
+ angle_coeff @angle:oh-p2-oh harmonic 44.96 100.10 # SOURCE3 1
+ angle_coeff @angle:oh-p2-p2 harmonic 54.71 107.82 # SOURCE3 2 2.6708
+ angle_coeff @angle:oh-p2-s harmonic 43.05 109.75 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-p2-o harmonic 44.39 119.96 # SOURCE3 1
+ angle_coeff @angle:o-p2-oh harmonic 44.33 110.46 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-p2-os harmonic 45.59 108.81 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-p2-p2 harmonic 54.57 114.23 # SOURCE3 1
+ angle_coeff @angle:o-p2-p3 harmonic 48.45 106.69 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-p2-p4 harmonic 48.42 104.37 # SOURCE3 1
+ angle_coeff @angle:o-p2-p5 harmonic 48.37 104.49 # SOURCE3 1
+ angle_coeff @angle:o-p2-pe harmonic 46.73 145.96 # SOURCE3 1
+ angle_coeff @angle:o-p2-pf harmonic 46.73 145.96 # SOURCE3 1 same_as_o-p2-pe
+ angle_coeff @angle:o-p2-s4 harmonic 37.68 106.59 # SOURCE3 1
+ angle_coeff @angle:o-p2-s6 harmonic 38.12 105.04 # SOURCE3 1
+ angle_coeff @angle:o-p2-s harmonic 42.77 117.42 # SOURCE3 1
+ angle_coeff @angle:o-p2-sh harmonic 40.81 109.60 # SOURCE3 1 0.0000
+ angle_coeff @angle:os-p2-os harmonic 47.01 98.30 # SOURCE3 1
+ angle_coeff @angle:os-p2-p2 harmonic 57.14 101.46 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-p2-ss harmonic 40.89 109.60 # SOURCE3 1 0.0000
+ angle_coeff @angle:os-p2-s harmonic 43.89 108.47 # SOURCE3 3 1.7065
+ angle_coeff @angle:p2-p2-n2 harmonic 57.57 97.40 # SOURCE3 1
+ angle_coeff @angle:p2-p2-p3 harmonic 64.09 101.73 # SOURCE3 1 0.0000
+ angle_coeff @angle:p2-p2-p4 harmonic 63.42 101.98 # SOURCE3 1
+ angle_coeff @angle:p2-p2-p5 harmonic 64.24 99.33 # SOURCE3 1
+ angle_coeff @angle:p2-p2-s4 harmonic 51.53 95.73 # SOURCE3 1
+ angle_coeff @angle:p2-p2-s6 harmonic 51.64 95.95 # SOURCE3 1
+ angle_coeff @angle:p2-p2-s harmonic 54.52 111.28 # SOURCE3 1
+ angle_coeff @angle:p2-p2-sh harmonic 50.78 113.94 # SOURCE3 3 8.5009
+ angle_coeff @angle:p3-p2-p3 harmonic 59.88 101.00 # SOURCE3 1
+ angle_coeff @angle:p3-p2-s harmonic 48.09 113.28 # SOURCE3 2 6.7035
+ angle_coeff @angle:p4-p2-s harmonic 49.75 103.89 # SOURCE3 1
+ angle_coeff @angle:p5-p2-p5 harmonic 62.82 89.40 # SOURCE3 1
+ angle_coeff @angle:p5-p2-s harmonic 50.38 101.21 # SOURCE3 1
+ angle_coeff @angle:pe-p2-s harmonic 54.45 106.35 # SOURCE3 1
+ angle_coeff @angle:pf-p2-s harmonic 54.45 106.35 # SOURCE3 1 same_as_pe-p2-s
+ angle_coeff @angle:s4-p2-s4 harmonic 39.97 85.30 # SOURCE3 1
+ angle_coeff @angle:s6-p2-s6 harmonic 37.42 98.20 # SOURCE3 1
+ angle_coeff @angle:sh-p2-sh harmonic 41.33 98.50 # SOURCE3 1
+ angle_coeff @angle:s-p2-s harmonic 44.19 106.60 # SOURCE3 1
+ angle_coeff @angle:s-p2-s4 harmonic 38.90 105.29 # SOURCE3 1
+ angle_coeff @angle:s-p2-s6 harmonic 38.73 106.93 # SOURCE3 1
+ angle_coeff @angle:s-p2-sh harmonic 40.82 110.73 # SOURCE3 2 0.0232
+ angle_coeff @angle:s-p2-ss harmonic 40.27 114.14 # SOURCE3 4 5.9223
+ angle_coeff @angle:ss-p2-ss harmonic 41.56 97.90 # SOURCE3 1
+ angle_coeff @angle:br-p3-br harmonic 41.27 103.54 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-p3-hp harmonic 26.94 96.36 # SOURCE3 4 0.6701
+ angle_coeff @angle:c1-p3-c1 harmonic 38.48 100.50 # SOURCE3 1 0.0000
+ angle_coeff @angle:c1-p3-f harmonic 40.73 96.90 # SOURCE2 1 0.0000
+ angle_coeff @angle:c1-p3-hp harmonic 28.14 97.67 # SOURCE3 2 0.0000
+ angle_coeff @angle:c2-p3-c2 harmonic 37.32 101.77 # SOURCE3 3 0.0000
+ angle_coeff @angle:c2-p3-hp harmonic 27.57 97.85 # SOURCE3 4 0.0000
+ angle_coeff @angle:c3-p3-c3 harmonic 37.51 99.66 # SOURCE3 40 0.9854
+ angle_coeff @angle:c3-p3-ca harmonic 37.29 101.94 # SOURCE3 2 0.0000
+ angle_coeff @angle:c3-p3-cl harmonic 35.74 99.89 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-p3-f harmonic 39.74 97.80 # SOURCE2 1 0.0000
+ angle_coeff @angle:c3-p3-hp harmonic 27.47 97.66 # SOURCE3 9 0.4096
+ angle_coeff @angle:c3-p3-n2 harmonic 39.87 96.55 # SOURCE3 2 0.0000
+ angle_coeff @angle:c3-p3-n3 harmonic 39.28 101.18 # SOURCE3 10 2.2338
+ angle_coeff @angle:c3-p3-n4 harmonic 38.58 96.94 # SOURCE3 6 0.4815
+ angle_coeff @angle:c3-p3-n harmonic 38.78 101.77 # SOURCE3 12 2.4449
+ angle_coeff @angle:c3-p3-na harmonic 39.16 100.17 # SOURCE3 4 0.0554
+ angle_coeff @angle:c3-p3-nh harmonic 38.65 104.50 # SOURCE3 2 0.0000
+ angle_coeff @angle:c3-p3-no harmonic 38.96 96.98 # SOURCE3 2 0.0000
+ angle_coeff @angle:c3-p3-o harmonic 39.33 111.67 # SOURCE3 28 5.3387
+ angle_coeff @angle:c3-p3-oh harmonic 40.60 98.21 # SOURCE3 2 0.0000
+ angle_coeff @angle:c3-p3-os harmonic 40.25 99.53 # SOURCE3 3 1.7678
+ angle_coeff @angle:c3-p3-p3 harmonic 45.77 100.31 # SOURCE3 18 2.1836
+ angle_coeff @angle:c3-p3-p5 harmonic 45.65 100.90 # SOURCE3 10 2.7070
+ angle_coeff @angle:c3-p3-s4 harmonic 37.94 98.88 # SOURCE3 8 6.2235
+ angle_coeff @angle:c3-p3-s6 harmonic 37.62 101.18 # SOURCE3 12 6.4536
+ angle_coeff @angle:c3-p3-sh harmonic 37.43 98.71 # SOURCE3 2 0.0000
+ angle_coeff @angle:c3-p3-ss harmonic 37.44 99.37 # SOURCE3 2 0.0000
+ angle_coeff @angle:ca-p3-ca harmonic 37.89 99.86 # SOURCE3 1 0.0000
+ angle_coeff @angle:ca-p3-hp harmonic 27.74 97.50 # SOURCE3 2 0.0000
+ angle_coeff @angle:c-p3-c3 harmonic 37.60 97.06 # SOURCE3 3 1.1490
+ angle_coeff @angle:c-p3-c harmonic 36.51 100.90 # SOURCE3 1 0.0000
+ angle_coeff @angle:c-p3-hp harmonic 27.15 96.55 # SOURCE3 6 0.5223
+ angle_coeff @angle:cl-p3-cl harmonic 33.91 102.82 # SOURCE3 1 0.0000
+ angle_coeff @angle:cl-p3-f harmonic 37.03 99.20 # SOURCE2 1 0.0000
+ angle_coeff @angle:cl-p3-hp harmonic 25.67 96.30 # SOURCE3 3 0.6203
+ angle_coeff @angle:c-p3-os harmonic 43.95 81.32 # SOURCE3 1 0.0000
+ angle_coeff @angle:cx-p3-hp harmonic 27.54 95.20 # SOURCE2 1 0.0000
+ angle_coeff @angle:f-p3-f harmonic 43.08 97.40 # SOURCE2 8 1.6636
+ angle_coeff @angle:f-p3-hp harmonic 30.56 96.41 # SOURCE3 2 0.0000
+ angle_coeff @angle:f-p3-n3 harmonic 41.86 100.60 # SOURCE2 1 0.0000
+ angle_coeff @angle:f-p3-os harmonic 42.42 102.20 # SOURCE2 1 0.0000
+ angle_coeff @angle:f-p3-p3 harmonic 47.13 97.20 # SOURCE2 1 0.0000
+ angle_coeff @angle:hp-p3-hp harmonic 22.02 95.52 # SOURCE3 44 2.4200
+ angle_coeff @angle:hp-p3-i harmonic 23.42 96.19 # SOURCE3 4 0.6454
+ angle_coeff @angle:hp-p3-n1 harmonic 31.27 92.98 # HF/6-31G* 1
+ angle_coeff @angle:hp-p3-n2 harmonic 29.07 98.28 # SOURCE3 10 1.8860
+ angle_coeff @angle:hp-p3-n3 harmonic 30.10 94.46 # SOURCE3 2 0.0000
+ angle_coeff @angle:hp-p3-n4 harmonic 28.34 93.21 # SOURCE3 2 0.0000
+ angle_coeff @angle:hp-p3-n harmonic 29.47 95.15 # SOURCE3 2 0.0000
+ angle_coeff @angle:hp-p3-na harmonic 29.25 97.27 # SOURCE3 12 0.9318
+ angle_coeff @angle:hp-p3-nh harmonic 30.16 94.10 # SOURCE3 2 0.0000
+ angle_coeff @angle:hp-p3-no harmonic 28.83 93.06 # SOURCE3 2 0.0000
+ angle_coeff @angle:hp-p3-o harmonic 32.01 101.02 # SOURCE3 2 0.0000
+ angle_coeff @angle:hp-p3-oh harmonic 30.73 95.95 # SOURCE3 2 0.0000
+ angle_coeff @angle:hp-p3-os harmonic 30.39 97.35 # SOURCE3 6 2.8326
+ angle_coeff @angle:hp-p3-p2 harmonic 32.41 99.11 # SOURCE3 16 4.3022
+ angle_coeff @angle:hp-p3-p3 harmonic 32.07 95.52 # SOURCE3 4 0.0844
+ angle_coeff @angle:hp-p3-p4 harmonic 31.97 95.95 # SOURCE3 6 0.0489
+ angle_coeff @angle:hp-p3-p5 harmonic 32.08 95.54 # SOURCE3 2 0.0000
+ angle_coeff @angle:hp-p3-s4 harmonic 26.89 95.49 # SOURCE3 2 0.0000
+ angle_coeff @angle:hp-p3-s6 harmonic 27.38 92.95 # SOURCE3 2 0.0000
+ angle_coeff @angle:hp-p3-sh harmonic 26.51 94.21 # SOURCE3 2 0.0000
+ angle_coeff @angle:hp-p3-ss harmonic 26.59 94.61 # SOURCE3 2 0.0000
+ angle_coeff @angle:i-p3-i harmonic 36.63 105.25 # SOURCE3 1 0.0000
+ angle_coeff @angle:n1-p3-n1 harmonic 45.91 90.44 # HF/6-31G* 1
+ angle_coeff @angle:n2-p3-n2 harmonic 40.40 103.46 # SOURCE3 1 0.0000
+ angle_coeff @angle:n3-p3-n3 harmonic 39.27 113.80 # SOURCE3 1 0.0000
+ angle_coeff @angle:n3-p3-o harmonic 43.04 107.10 # SOURCE3 4 0.0000
+ angle_coeff @angle:n3-p3-oh harmonic 43.13 98.36 # SOURCE3 1
+ angle_coeff @angle:n4-p3-n4 harmonic 38.45 100.53 # SOURCE3 1 0.0000
+ angle_coeff @angle:na-p3-na harmonic 39.91 106.22 # SOURCE3 1
+ angle_coeff @angle:nh-p3-nh harmonic 40.11 109.11 # SOURCE3 1 0.0000
+ angle_coeff @angle:n-p3-n harmonic 40.04 104.58 # SOURCE3 1
+ angle_coeff @angle:n-p3-o harmonic 42.80 104.99 # SOURCE3 4 0.0000
+ angle_coeff @angle:no-p3-no harmonic 39.64 98.33 # SOURCE3 1 0.0000
+ angle_coeff @angle:oh-p3-oh harmonic 42.77 104.48 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-p3-o harmonic 43.78 122.18 # SOURCE3 2 7.8556
+ angle_coeff @angle:o-p3-p3 harmonic 45.09 116.74 # SOURCE3 14 0.7525
+ angle_coeff @angle:o-p3-p5 harmonic 46.98 107.62 # SOURCE3 4 0.0000
+ angle_coeff @angle:o-p3-s4 harmonic 38.63 110.70 # SOURCE3 4 0.7259
+ angle_coeff @angle:o-p3-s6 harmonic 39.52 106.66 # SOURCE3 6 3.4017
+ angle_coeff @angle:os-p3-os harmonic 42.11 106.65 # SOURCE3 1 0.0000
+ angle_coeff @angle:p2-p3-p2 harmonic 59.12 103.58 # SOURCE3 1 0.0000
+ angle_coeff @angle:p3-p3-p3 harmonic 57.00 105.31 # SOURCE3 4 3.5864
+ angle_coeff @angle:p4-p3-p4 harmonic 58.70 99.09 # SOURCE3 1
+ angle_coeff @angle:p5-p3-p5 harmonic 58.78 99.10 # SOURCE3 1 0.0000
+ angle_coeff @angle:s4-p3-s4 harmonic 39.08 98.26 # SOURCE3 1 0.0000
+ angle_coeff @angle:s6-p3-s6 harmonic 39.36 97.78 # SOURCE3 1 0.0000
+ angle_coeff @angle:sh-p3-sh harmonic 36.56 107.58 # SOURCE3 1 0.0000
+ angle_coeff @angle:s-p3-s harmonic 34.08 131.32 # SOURCE3 1
+ angle_coeff @angle:ss-p3-ss harmonic 36.47 109.24 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-p4-br harmonic 41.07 110.41 # SOURCE3 1
+ angle_coeff @angle:br-p4-o harmonic 37.80 124.80 # SOURCE3 1
+ angle_coeff @angle:c2-p4-c2 harmonic 37.13 104.21 # SOURCE3 1
+ angle_coeff @angle:c2-p4-hp harmonic 27.68 99.50 # SOURCE3 2 0.0000
+ angle_coeff @angle:c2-p4-o harmonic 39.43 113.59 # SOURCE3 1
+ angle_coeff @angle:c3-p4-c3 harmonic 37.20 102.55 # SOURCE3 4 0.0192
+ angle_coeff @angle:c3-p4-n2 harmonic 39.09 103.17 # SOURCE3 1
+ angle_coeff @angle:c3-p4-n3 harmonic 39.50 102.37 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-p4-n4 harmonic 37.54 99.57 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-p4-n harmonic 38.98 103.26 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-p4-na harmonic 37.92 117.67 # SOURCE3 5 19.0404
+ angle_coeff @angle:c3-p4-nh harmonic 39.33 102.79 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-p4-no harmonic 38.24 99.80 # SOURCE3 3 0.2151
+ angle_coeff @angle:c3-p4-o harmonic 38.77 116.44 # SOURCE3 25 2.6494
+ angle_coeff @angle:c3-p4-oh harmonic 41.01 98.56 # SOURCE3 2 0.4558
+ angle_coeff @angle:c3-p4-os harmonic 41.17 98.01 # SOURCE3 2 0.0931
+ angle_coeff @angle:c3-p4-p2 harmonic 44.43 109.27 # SOURCE3 1
+ angle_coeff @angle:c3-p4-p3 harmonic 45.09 103.53 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-p4-p4 harmonic 48.14 102.12 # SOURCE3 1
+ angle_coeff @angle:c3-p4-p5 harmonic 44.64 104.15 # SOURCE3 1
+ angle_coeff @angle:c3-p4-sh harmonic 37.43 100.17 # SOURCE3 2 0.0815
+ angle_coeff @angle:c3-p4-ss harmonic 37.38 101.19 # SOURCE3 1
+ angle_coeff @angle:ca-p4-ca harmonic 36.83 107.77 # SOURCE3 1
+ angle_coeff @angle:ca-p4-o harmonic 40.03 111.64 # SOURCE3 1
+ angle_coeff @angle:cl-p4-cl harmonic 33.80 103.51 # SOURCE3 1 0.0000
+ angle_coeff @angle:cl-p4-o harmonic 36.03 116.53 # SOURCE3 2 0.0000
+ angle_coeff @angle:hp-p4-hp harmonic 22.57 99.21 # SOURCE3 4 6.4572
+ angle_coeff @angle:hp-p4-n1 harmonic 30.24 99.91 # HF/6-31G* 1
+ angle_coeff @angle:hp-p4-o harmonic 31.44 109.35 # SOURCE3 6 10.8284
+ angle_coeff @angle:hp-p4-p3 harmonic 31.40 98.96 # SOURCE3 4 0.0000
+ angle_coeff @angle:hp-p4-s harmonic 24.32 110.24 # SOURCE3 4 4.1081
+ angle_coeff @angle:i-p4-i harmonic 38.53 113.22 # SOURCE3 2 6.7916
+ angle_coeff @angle:i-p4-o harmonic 37.71 110.22 # SOURCE3 4 9.7726
+ angle_coeff @angle:n1-p4-n1 harmonic 43.01 100.61 # HF/6-31G* 1
+ angle_coeff @angle:n1-p4-o harmonic 42.53 114.59 # HF/6-31G* 1
+ angle_coeff @angle:n2-p4-n2 harmonic 41.52 102.54 # SOURCE3 1
+ angle_coeff @angle:n2-p4-o harmonic 40.81 120.28 # SOURCE3 1
+ angle_coeff @angle:n3-p4-o harmonic 42.50 113.27 # SOURCE3 1 0.0000
+ angle_coeff @angle:n4-p4-o harmonic 39.56 107.61 # SOURCE3 1 0.0000
+ angle_coeff @angle:na-p4-o harmonic 45.17 110.60 # SOURCE3 5 1.3133
+ angle_coeff @angle:nh-p4-nh harmonic 43.52 95.30 # SOURCE3 1 0.0000
+ angle_coeff @angle:nh-p4-o harmonic 41.87 115.86 # SOURCE3 3 3.2712
+ angle_coeff @angle:n-p4-o harmonic 41.05 117.99 # SOURCE3 1 0.0000
+ angle_coeff @angle:no-p4-o harmonic 39.42 114.69 # SOURCE3 3 0.1070
+ angle_coeff @angle:oh-p4-oh harmonic 45.67 95.71 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-p4-o harmonic 45.06 117.22 # SOURCE3 6 2.7792
+ angle_coeff @angle:o-p4-oh harmonic 42.88 117.39 # SOURCE3 4 1.0083
+ angle_coeff @angle:o-p4-os harmonic 43.10 116.67 # SOURCE3 4 0.6923
+ angle_coeff @angle:o-p4-p2 harmonic 44.91 121.35 # SOURCE3 1
+ angle_coeff @angle:o-p4-p3 harmonic 45.60 114.00 # SOURCE3 3 0.6663
+ angle_coeff @angle:o-p4-p4 harmonic 48.81 116.43 # SOURCE3 1
+ angle_coeff @angle:o-p4-p5 harmonic 46.05 109.76 # SOURCE3 1
+ angle_coeff @angle:o-p4-s4 harmonic 35.77 112.19 # SOURCE3 1
+ angle_coeff @angle:o-p4-s6 harmonic 35.22 113.89 # SOURCE3 1
+ angle_coeff @angle:o-p4-s harmonic 37.34 112.78 # SOURCE3 2 0.0000
+ angle_coeff @angle:o-p4-sh harmonic 36.99 118.09 # SOURCE3 1
+ angle_coeff @angle:os-p4-os harmonic 44.74 100.34 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-p4-ss harmonic 37.47 116.14 # SOURCE3 4 1.0636
+ angle_coeff @angle:p2-p4-p2 harmonic 56.48 110.71 # SOURCE3 1
+ angle_coeff @angle:p3-p4-p3 harmonic 54.50 114.98 # SOURCE3 1 0.0000
+ angle_coeff @angle:p4-p4-p4 harmonic 61.44 107.38 # SOURCE3 1
+ angle_coeff @angle:p5-p4-p5 harmonic 55.76 107.78 # SOURCE3 1
+ angle_coeff @angle:s4-p4-s4 harmonic 36.61 96.24 # SOURCE3 1
+ angle_coeff @angle:s6-p4-s6 harmonic 35.22 102.36 # SOURCE3 1
+ angle_coeff @angle:sh-p4-sh harmonic 38.45 98.81 # SOURCE3 1 0.0000
+ angle_coeff @angle:s-p4-s harmonic 36.54 106.30 # SOURCE3 2 25.0119
+ angle_coeff @angle:ss-p4-ss harmonic 37.60 104.41 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-p5-br harmonic 41.96 103.38 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-p5-o harmonic 39.04 114.65 # SOURCE3 3 1.0910
+ angle_coeff @angle:br-p5-oh harmonic 40.90 102.92 # SOURCE3 4 0.5468
+ angle_coeff @angle:c1-p5-c1 harmonic 38.83 102.89 # SOURCE3 1 0.0000
+ angle_coeff @angle:c1-p5-o harmonic 40.32 115.77 # SOURCE3 2 0.0000
+ angle_coeff @angle:c1-p5-oh harmonic 41.43 102.79 # SOURCE3 2 0.0000
+ angle_coeff @angle:c2-p5-c2 harmonic 35.85 106.56 # SOURCE3 1
+ angle_coeff @angle:c2-p5-o harmonic 39.62 109.24 # SOURCE4 7 2.2628
+ angle_coeff @angle:c2-p5-oh harmonic 40.04 101.69 # SOURCE3 1
+ angle_coeff @angle:c2-p5-os harmonic 39.90 103.34 # SOURCE3 1
+ angle_coeff @angle:c3-p5-c3 harmonic 36.95 106.23 # SOURCE3 14 2.6389
+ angle_coeff @angle:c3-p5-hp harmonic 27.05 103.62 # SOURCE4 7 1.1616
+ angle_coeff @angle:c3-p5-n3 harmonic 40.01 102.76 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-p5-o harmonic 39.91 112.50 # SOURCE3 23 4.4203
+ angle_coeff @angle:c3-p5-oh harmonic 40.83 101.56 # SOURCE3 17 2.1803
+ angle_coeff @angle:c3-p5-os harmonic 41.20 100.77 # SOURCE4 51 2.0928
+ angle_coeff @angle:c3-p5-p4 harmonic 44.32 106.27 # SOURCE3 1
+ angle_coeff @angle:c3-p5-s harmonic 37.51 113.40 # SOURCE3 4 2.0067
+ angle_coeff @angle:c3-p5-ss harmonic 36.91 103.76 # SOURCE3 1 0.0000
+ angle_coeff @angle:ca-p5-ca harmonic 37.10 107.53 # SOURCE3 1
+ angle_coeff @angle:ca-p5-o harmonic 39.95 113.98 # SOURCE3 1
+ angle_coeff @angle:ca-p5-oh harmonic 41.04 101.77 # SOURCE3 1
+ angle_coeff @angle:ca-p5-os harmonic 40.86 103.75 # SOURCE3 1
+ angle_coeff @angle:c-p5-c harmonic 35.96 104.16 # SOURCE3 1
+ angle_coeff @angle:cl-p5-cl harmonic 33.77 103.70 # SOURCE2 1 0.0000
+ angle_coeff @angle:cl-p5-o harmonic 36.29 115.32 # SOURCE3 2 0.0000
+ angle_coeff @angle:cl-p5-oh harmonic 37.85 102.44 # SOURCE3 2 0.0000
+ angle_coeff @angle:c-p5-o harmonic 39.74 107.19 # SOURCE4 16 0.5711
+ angle_coeff @angle:c-p5-oh harmonic 39.73 102.12 # SOURCE3 1
+ angle_coeff @angle:f-p5-f harmonic 42.49 99.96 # SOURCE2 4 0.9197
+ angle_coeff @angle:f-p5-o harmonic 43.22 112.03 # SOURCE4 7 0.5178
+ angle_coeff @angle:f-p5-oh harmonic 43.33 101.98 # SOURCE3 2 0.0000
+ angle_coeff @angle:f-p5-os harmonic 43.51 102.70 # SOURCE4 5 0.1524
+ angle_coeff @angle:f-p5-s harmonic 38.09 117.40 # SOURCE2 1 0.0000
+ angle_coeff @angle:hp-p5-hp harmonic 21.44 101.09 # SOURCE3 4 1.3036
+ angle_coeff @angle:hp-p5-n1 harmonic 31.09 101.32 # HF/6-31G* 1
+ angle_coeff @angle:hp-p5-o harmonic 30.21 116.58 # SOURCE3 7 1.3282
+ angle_coeff @angle:hp-p5-oh harmonic 30.57 101.45 # SOURCE3 5 0.9084
+ angle_coeff @angle:hp-p5-s harmonic 25.97 119.20 # SOURCE2 1 0.0000
+ angle_coeff @angle:i-p5-i harmonic 35.88 107.17 # SOURCE3 1 0.0000
+ angle_coeff @angle:i-p5-o harmonic 32.99 115.93 # SOURCE3 3 0.0415
+ angle_coeff @angle:i-p5-oh harmonic 35.44 102.26 # SOURCE3 4 1.9577
+ angle_coeff @angle:n1-p5-n1 harmonic 45.78 101.55 # HF/6-31G* 1
+ angle_coeff @angle:n1-p5-o harmonic 44.71 113.78 # HF/6-31G* 1
+ angle_coeff @angle:n2-p5-n2 harmonic 43.96 106.34 # SOURCE3 1
+ angle_coeff @angle:n2-p5-o harmonic 44.30 113.53 # SOURCE3 1
+ angle_coeff @angle:n2-p5-oh harmonic 44.68 102.40 # SOURCE3 1
+ angle_coeff @angle:n3-p5-n3 harmonic 42.87 103.37 # SOURCE4 47 2.1009
+ angle_coeff @angle:n3-p5-nh harmonic 42.63 104.02 # SOURCE4 5 1.8740
+ angle_coeff @angle:n3-p5-o harmonic 43.02 114.64 # SOURCE4 76 2.2728
+ angle_coeff @angle:n3-p5-oh harmonic 43.43 104.18 # SOURCE3 6 0.4373
+ angle_coeff @angle:n3-p5-os harmonic 44.20 101.94 # SOURCE4 34 2.3553
+ angle_coeff @angle:n3-p5-s harmonic 39.05 117.12 # SOURCE4 7 0.7109
+ angle_coeff @angle:n4-p5-n4 harmonic 39.18 102.20 # SOURCE3 1 0.0000
+ angle_coeff @angle:n4-p5-o harmonic 41.10 109.78 # SOURCE3 5 2.7519
+ angle_coeff @angle:n4-p5-oh harmonic 42.23 98.48 # SOURCE3 6 0.4104
+ angle_coeff @angle:n4-p5-os harmonic 43.31 94.55 # SOURCE3 2 0.0000
+ angle_coeff @angle:na-p5-na harmonic 40.56 108.57 # SOURCE3 1 0.0000
+ angle_coeff @angle:na-p5-o harmonic 42.38 113.43 # SOURCE3 11 0.8968
+ angle_coeff @angle:na-p5-oh harmonic 43.14 102.07 # SOURCE3 16 1.4144
+ angle_coeff @angle:na-p5-os harmonic 43.20 103.06 # SOURCE3 4 0.7463
+ angle_coeff @angle:nh-p5-nh harmonic 43.48 99.51 # SOURCE3 1 0.0000
+ angle_coeff @angle:nh-p5-o harmonic 42.11 118.91 # SOURCE3 3 1.3237
+ angle_coeff @angle:nh-p5-oh harmonic 43.40 103.81 # SOURCE3 2 0.0000
+ angle_coeff @angle:nh-p5-os harmonic 44.39 100.51 # SOURCE3 2 0.0000
+ angle_coeff @angle:n-p5-n3 harmonic 42.13 104.11 # SOURCE4 11 1.4088
+ angle_coeff @angle:n-p5-n harmonic 41.80 103.09 # SOURCE3 1 0.0000
+ angle_coeff @angle:n-p5-o harmonic 43.40 108.73 # SOURCE4 5 0.2571
+ angle_coeff @angle:n-p5-oh harmonic 43.17 102.44 # SOURCE3 4 0.0999
+ angle_coeff @angle:no-p5-no harmonic 40.40 95.68 # SOURCE3 1 0.0000
+ angle_coeff @angle:no-p5-o harmonic 40.49 112.75 # SOURCE3 4 3.3684
+ angle_coeff @angle:no-p5-oh harmonic 41.56 101.35 # SOURCE3 2 0.0000
+ angle_coeff @angle:no-p5-os harmonic 41.69 101.70 # SOURCE3 4 0.0565
+ angle_coeff @angle:n-p5-os harmonic 43.85 100.48 # SOURCE3 2 0.0000
+ angle_coeff @angle:oh-p5-oh harmonic 44.58 102.45 # SOURCE3 39 2.4223
+ angle_coeff @angle:oh-p5-os harmonic 44.91 102.37 # SOURCE3 8 1.5063
+ angle_coeff @angle:oh-p5-p2 harmonic 48.24 103.53 # SOURCE3 1
+ angle_coeff @angle:oh-p5-p3 harmonic 47.55 103.83 # SOURCE3 13 0.4303
+ angle_coeff @angle:oh-p5-p4 harmonic 47.57 101.79 # SOURCE3 1
+ angle_coeff @angle:oh-p5-p5 harmonic 51.43 100.45 # SOURCE3 1
+ angle_coeff @angle:oh-p5-s4 harmonic 40.30 103.24 # SOURCE3 1
+ angle_coeff @angle:oh-p5-s6 harmonic 40.65 101.48 # SOURCE3 1
+ angle_coeff @angle:oh-p5-s harmonic 42.20 102.88 # SOURCE3 3 1.6044
+ angle_coeff @angle:oh-p5-sh harmonic 40.01 101.41 # SOURCE3 2 0.0000
+ angle_coeff @angle:oh-p5-ss harmonic 38.95 104.33 # SOURCE3 6 2.0112
+ angle_coeff @angle:o-p5-o harmonic 46.01 115.80 # SOURCE3 17 5.7902
+ angle_coeff @angle:o-p5-oh harmonic 43.79 115.26 # SOURCE4 740 1.3004
+ angle_coeff @angle:o-p5-os harmonic 44.01 116.09 # SOURCE3 35 3.2062
+ angle_coeff @angle:o-p5-p2 harmonic 46.23 114.60 # SOURCE3 1
+ angle_coeff @angle:o-p5-p3 harmonic 45.38 115.48 # SOURCE3 9 2.1084
+ angle_coeff @angle:o-p5-p4 harmonic 45.07 114.66 # SOURCE3 1
+ angle_coeff @angle:o-p5-p5 harmonic 49.11 113.44 # SOURCE3 1
+ angle_coeff @angle:o-p5-s4 harmonic 39.61 110.23 # SOURCE3 1
+ angle_coeff @angle:o-p5-s6 harmonic 39.34 111.75 # SOURCE3 1
+ angle_coeff @angle:o-p5-s harmonic 40.46 116.94 # SOURCE3 3 2.9506
+ angle_coeff @angle:o-p5-sh harmonic 38.14 114.56 # SOURCE3 3 1.7645
+ angle_coeff @angle:os-p5-os harmonic 45.37 101.77 # SOURCE4 243 2.0816
+ angle_coeff @angle:os-p5-p3 harmonic 47.66 103.67 # SOURCE3 2 0.0000
+ angle_coeff @angle:os-p5-p5 harmonic 50.58 104.48 # SOURCE3 1
+ angle_coeff @angle:os-p5-s4 harmonic 40.57 102.52 # SOURCE3 1
+ angle_coeff @angle:os-p5-s6 harmonic 40.69 101.89 # SOURCE3 1
+ angle_coeff @angle:o-p5-ss harmonic 37.95 112.46 # SOURCE3 6 2.7392
+ angle_coeff @angle:os-p5-s harmonic 39.69 117.28 # SOURCE4 74 0.7542
+ angle_coeff @angle:os-p5-sh harmonic 39.51 104.59 # SOURCE3 2 0.0000
+ angle_coeff @angle:os-p5-ss harmonic 39.36 102.65 # SOURCE4 25 1.8093
+ angle_coeff @angle:p2-p5-p2 harmonic 57.39 107.14 # SOURCE3 1
+ angle_coeff @angle:p3-p5-p3 harmonic 57.04 105.23 # SOURCE3 3 5.1024
+ angle_coeff @angle:p4-p5-p4 harmonic 57.42 101.62 # SOURCE3 1
+ angle_coeff @angle:p5-p5-p5 harmonic 59.38 112.72 # SOURCE3 1
+ angle_coeff @angle:s6-p5-s6 harmonic 38.64 105.18 # SOURCE3 1
+ angle_coeff @angle:sh-p5-sh harmonic 37.97 104.56 # SOURCE3 1 0.0000
+ angle_coeff @angle:sh-p5-ss harmonic 37.22 107.13 # SOURCE3 1
+ angle_coeff @angle:s-p5-s harmonic 39.37 114.13 # SOURCE3 1 0.0000
+ angle_coeff @angle:ss-p5-ss harmonic 36.51 109.61 # SOURCE3 1 0.0000
+ angle_coeff @angle:cd-pc-n harmonic 42.75 90.80 # SOURCE3 3 2.3423
+ angle_coeff @angle:cd-pc-na harmonic 43.00 90.18 # SOURCE3 81 2.7619
+ angle_coeff @angle:cc-pd-n harmonic 42.75 90.80 # SOURCE3 3 same_as_cd-pc-n
+ angle_coeff @angle:cc-pd-na harmonic 43.00 90.18 # SOURCE3 81 same_as_cd-pc-na
+ angle_coeff @angle:c2-pe-ca harmonic 38.84 101.44 # SOURCE3 3 0.7177
+ angle_coeff @angle:c2-pe-ce harmonic 38.68 103.01 # SOURCE3 4 1.4470
+ angle_coeff @angle:c2-pe-cg harmonic 40.85 104.03 # SOURCE3 3 3.8740
+ angle_coeff @angle:c2-pe-n2 harmonic 44.94 94.14 # SOURCE3 1
+ angle_coeff @angle:c2-pe-ne harmonic 41.85 98.70 # SOURCE3 12 5.3383
+ angle_coeff @angle:c2-pe-o harmonic 41.06 115.16 # SOURCE3 2 0.0149
+ angle_coeff @angle:c2-pe-p2 harmonic 50.94 107.82 # SOURCE3 1
+ angle_coeff @angle:c2-pe-pe harmonic 48.17 102.99 # SOURCE3 9 8.2860
+ angle_coeff @angle:c2-pe-px harmonic 51.11 97.37 # SOURCE3 4 0.6655
+ angle_coeff @angle:c2-pe-py harmonic 50.92 96.71 # SOURCE3 4 1.2755
+ angle_coeff @angle:c2-pe-s harmonic 41.06 111.16 # SOURCE3 2 0.0000
+ angle_coeff @angle:c2-pe-sx harmonic 38.51 95.11 # SOURCE3 4 0.2676
+ angle_coeff @angle:c2-pe-sy harmonic 37.78 95.56 # SOURCE3 2 0.0462
+ angle_coeff @angle:ca-pe-n2 harmonic 40.97 102.03 # SOURCE3 1 0.0000
+ angle_coeff @angle:ca-pe-o harmonic 40.40 106.88 # SOURCE3 2 0.0018
+ angle_coeff @angle:ca-pe-p2 harmonic 50.96 100.79 # SOURCE3 1 0.0000
+ angle_coeff @angle:ca-pe-pf harmonic 48.44 99.70 # SOURCE3 2 0.0000
+ angle_coeff @angle:ca-pe-s harmonic 40.07 107.93 # SOURCE3 1 0.0000
+ angle_coeff @angle:c-pe-c2 harmonic 38.58 97.30 # SOURCE3 3 0.0335
+ angle_coeff @angle:ce-pe-n2 harmonic 41.45 100.55 # SOURCE3 1 0.0000
+ angle_coeff @angle:ce-pe-o harmonic 40.47 107.44 # SOURCE3 1 0.0000
+ angle_coeff @angle:ce-pe-p2 harmonic 51.42 99.56 # SOURCE3 1 0.0000
+ angle_coeff @angle:ce-pe-s harmonic 40.65 105.54 # SOURCE3 1 0.0000
+ angle_coeff @angle:cg-pe-n2 harmonic 44.31 101.79 # SOURCE3 1 0.0000
+ angle_coeff @angle:cg-pe-o harmonic 43.57 107.62 # SOURCE3 1 0.0000
+ angle_coeff @angle:cg-pe-p2 harmonic 52.47 104.68 # SOURCE3 2 5.1435
+ angle_coeff @angle:cg-pe-s harmonic 42.30 108.60 # SOURCE3 4 2.6981
+ angle_coeff @angle:n2-pe-n2 harmonic 45.26 108.14 # SOURCE3 1
+ angle_coeff @angle:n2-pe-ne harmonic 42.89 106.80 # SOURCE3 6 4.5981
+ angle_coeff @angle:n2-pe-o harmonic 44.34 115.39 # SOURCE3 1 0.0000
+ angle_coeff @angle:n2-pe-p2 harmonic 52.85 111.60 # SOURCE3 1
+ angle_coeff @angle:n2-pe-pe harmonic 48.70 109.40 # SOURCE3 1 0.0000
+ angle_coeff @angle:n2-pe-px harmonic 50.28 110.30 # SOURCE3 3 6.0548
+ angle_coeff @angle:n2-pe-py harmonic 54.11 93.68 # SOURCE3 1 0.0000
+ angle_coeff @angle:n2-pe-s harmonic 42.94 114.84 # SOURCE3 3 3.6512
+ angle_coeff @angle:n2-pe-sx harmonic 39.42 97.83 # SOURCE3 1 0.0000
+ angle_coeff @angle:n2-pe-sy harmonic 38.61 98.14 # SOURCE3 1 0.0000
+ angle_coeff @angle:ne-pe-o harmonic 42.65 110.24 # SOURCE3 3 3.8478
+ angle_coeff @angle:ne-pe-p2 harmonic 52.77 104.48 # SOURCE3 2 7.1207
+ angle_coeff @angle:ne-pe-s harmonic 42.21 109.19 # SOURCE3 5 3.6708
+ angle_coeff @angle:o-pe-o harmonic 44.01 119.96 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-pe-p2 harmonic 52.71 114.23 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-pe-pe harmonic 42.47 145.96 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-pe-px harmonic 52.10 104.37 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-pe-py harmonic 51.64 104.49 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-pe-s harmonic 42.89 117.42 # SOURCE3 2 0.0426
+ angle_coeff @angle:o-pe-sx harmonic 38.02 106.59 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-pe-sy harmonic 37.56 105.04 # SOURCE3 1 0.0000
+ angle_coeff @angle:p2-pe-pe harmonic 65.58 98.24 # SOURCE3 1 0.0000
+ angle_coeff @angle:p2-pe-px harmonic 64.12 108.28 # SOURCE3 2 6.2959
+ angle_coeff @angle:p2-pe-py harmonic 62.99 110.87 # SOURCE3 3 8.1645
+ angle_coeff @angle:p2-pe-s harmonic 53.42 111.28 # SOURCE3 1 0.0000
+ angle_coeff @angle:p2-pe-sx harmonic 51.26 95.73 # SOURCE3 1 0.0000
+ angle_coeff @angle:p2-pe-sy harmonic 50.47 95.95 # SOURCE3 1 0.0000
+ angle_coeff @angle:pe-pe-s harmonic 50.40 107.91 # SOURCE3 2 1.5577
+ angle_coeff @angle:px-pe-s harmonic 51.97 107.62 # SOURCE3 2 3.7266
+ angle_coeff @angle:py-pe-s harmonic 51.36 108.73 # SOURCE3 3 5.3201
+ angle_coeff @angle:s-pe-s harmonic 34.43 178.44 # SOURCE3 1 0.0000
+ angle_coeff @angle:s-pe-sx harmonic 38.72 108.32 # SOURCE3 2 3.0318
+ angle_coeff @angle:s-pe-sy harmonic 38.35 106.93 # SOURCE3 1 0.0000
+ angle_coeff @angle:c2-pf-ca harmonic 38.84 101.44 # SOURCE3 3 same_as_c2-pe-ca
+ angle_coeff @angle:c2-pf-cf harmonic 38.68 103.01 # SOURCE3 4 same_as_c2-pe-ce
+ angle_coeff @angle:c2-pf-ch harmonic 40.85 104.03 # SOURCE3 3 same_as_c2-pe-cg
+ angle_coeff @angle:c2-pf-n2 harmonic 44.94 94.14 # SOURCE3 1 same_as_c2-pe-n2
+ angle_coeff @angle:c2-pf-nf harmonic 41.85 98.70 # SOURCE3 12 same_as_c2-pe-ne
+ angle_coeff @angle:c2-pf-o harmonic 41.06 115.16 # SOURCE3 2 same_as_c2-pe-o
+ angle_coeff @angle:c2-pf-p2 harmonic 50.94 107.82 # SOURCE3 1 same_as_c2-pe-p2
+ angle_coeff @angle:c2-pf-pf harmonic 48.17 102.99 # SOURCE3 9 same_as_c2-pe-pe
+ angle_coeff @angle:c2-pf-px harmonic 51.11 97.37 # SOURCE3 4 same_as_c2-pe-px
+ angle_coeff @angle:c2-pf-py harmonic 50.92 96.71 # SOURCE3 4 same_as_c2-pe-py
+ angle_coeff @angle:c2-pf-s harmonic 41.06 111.16 # SOURCE3 2 same_as_c2-pe-s
+ angle_coeff @angle:c2-pf-sx harmonic 38.51 95.11 # SOURCE3 4 same_as_c2-pe-sx
+ angle_coeff @angle:c2-pf-sy harmonic 37.78 95.56 # SOURCE3 2 same_as_c2-pe-sy
+ angle_coeff @angle:ca-pf-n2 harmonic 40.97 102.03 # SOURCE3 1 same_as_ca-pe-n2
+ angle_coeff @angle:ca-pf-o harmonic 40.40 106.88 # SOURCE3 2 same_as_ca-pe-o
+ angle_coeff @angle:ca-pf-p2 harmonic 50.96 100.79 # SOURCE3 1 same_as_ca-pe-p2
+ angle_coeff @angle:ca-pf-pe harmonic 48.44 99.70 # SOURCE3 2 0.0000
+ angle_coeff @angle:ca-pf-s harmonic 40.07 107.93 # SOURCE3 1 same_as_ca-pe-s
+ angle_coeff @angle:c-pf-c2 harmonic 38.58 97.30 # SOURCE3 3 same_as_c-pe-c2
+ angle_coeff @angle:cf-pf-n2 harmonic 41.45 100.55 # SOURCE3 1 same_as_ce-pe-n2
+ angle_coeff @angle:cf-pf-o harmonic 40.47 107.44 # SOURCE3 1 same_as_ce-pe-o
+ angle_coeff @angle:cf-pf-p2 harmonic 51.42 99.56 # SOURCE3 1 same_as_ce-pe-p2
+ angle_coeff @angle:cf-pf-s harmonic 40.65 105.54 # SOURCE3 1 same_as_ce-pe-s
+ angle_coeff @angle:ch-pf-n2 harmonic 44.31 101.79 # SOURCE3 1 same_as_cg-pe-n2
+ angle_coeff @angle:ch-pf-o harmonic 43.57 107.62 # SOURCE3 1 same_as_cg-pe-o
+ angle_coeff @angle:ch-pf-p2 harmonic 52.47 104.68 # SOURCE3 2 same_as_cg-pe-p2
+ angle_coeff @angle:ch-pf-s harmonic 42.30 108.60 # SOURCE3 4 same_as_cg-pe-s
+ angle_coeff @angle:n2-pf-n2 harmonic 45.26 108.14 # SOURCE3 1 same_as_n2-pe-n2
+ angle_coeff @angle:n2-pf-nf harmonic 42.89 106.80 # SOURCE3 6 same_as_n2-pe-ne
+ angle_coeff @angle:n2-pf-o harmonic 44.34 115.39 # SOURCE3 1 same_as_n2-pe-o
+ angle_coeff @angle:n2-pf-p2 harmonic 52.85 111.60 # SOURCE3 1 same_as_n2-pe-p2
+ angle_coeff @angle:n2-pf-pf harmonic 48.70 109.40 # SOURCE3 1 same_as_n2-pe-pe
+ angle_coeff @angle:n2-pf-px harmonic 50.28 110.30 # SOURCE3 3 same_as_n2-pe-px
+ angle_coeff @angle:n2-pf-py harmonic 54.11 93.68 # SOURCE3 1 same_as_n2-pe-py
+ angle_coeff @angle:n2-pf-s harmonic 42.94 114.84 # SOURCE3 3 same_as_n2-pe-s
+ angle_coeff @angle:n2-pf-sx harmonic 39.42 97.83 # SOURCE3 1 same_as_n2-pe-sx
+ angle_coeff @angle:n2-pf-sy harmonic 38.61 98.14 # SOURCE3 1 same_as_n2-pe-sy
+ angle_coeff @angle:nf-pf-o harmonic 42.65 110.24 # SOURCE3 3 same_as_ne-pe-o
+ angle_coeff @angle:nf-pf-p2 harmonic 52.77 104.48 # SOURCE3 2 same_as_ne-pe-p2
+ angle_coeff @angle:nf-pf-s harmonic 42.21 109.19 # SOURCE3 5 same_as_ne-pe-s
+ angle_coeff @angle:o-pf-o harmonic 44.01 119.96 # SOURCE3 1 same_as_o-pe-o
+ angle_coeff @angle:o-pf-p2 harmonic 52.71 114.23 # SOURCE3 1 same_as_o-pe-p2
+ angle_coeff @angle:o-pf-pf harmonic 42.47 145.96 # SOURCE3 1 same_as_o-pe-pe
+ angle_coeff @angle:o-pf-px harmonic 52.10 104.37 # SOURCE3 1 same_as_o-pe-px
+ angle_coeff @angle:o-pf-py harmonic 51.64 104.49 # SOURCE3 1 same_as_o-pe-py
+ angle_coeff @angle:o-pf-s harmonic 42.89 117.42 # SOURCE3 2 same_as_o-pe-s
+ angle_coeff @angle:o-pf-sx harmonic 38.02 106.59 # SOURCE3 1 same_as_o-pe-sx
+ angle_coeff @angle:o-pf-sy harmonic 37.56 105.04 # SOURCE3 1 same_as_o-pe-sy
+ angle_coeff @angle:p2-pf-pf harmonic 65.58 98.24 # SOURCE3 1 same_as_p2-pe-pe
+ angle_coeff @angle:p2-pf-px harmonic 64.12 108.28 # SOURCE3 2 same_as_p2-pe-px
+ angle_coeff @angle:p2-pf-py harmonic 62.99 110.87 # SOURCE3 3 same_as_p2-pe-py
+ angle_coeff @angle:p2-pf-s harmonic 53.42 111.28 # SOURCE3 1 same_as_p2-pe-s
+ angle_coeff @angle:p2-pf-sx harmonic 51.26 95.73 # SOURCE3 1 same_as_p2-pe-sx
+ angle_coeff @angle:p2-pf-sy harmonic 50.47 95.95 # SOURCE3 1 same_as_p2-pe-sy
+ angle_coeff @angle:pf-pf-s harmonic 50.40 107.91 # SOURCE3 2 same_as_pe-pe-s
+ angle_coeff @angle:px-pf-s harmonic 51.97 107.62 # SOURCE3 2 same_as_px-pe-s
+ angle_coeff @angle:py-pf-s harmonic 51.36 108.73 # SOURCE3 3 same_as_py-pe-s
+ angle_coeff @angle:s-pf-s harmonic 34.43 178.44 # SOURCE3 1 same_as_s-pe-s
+ angle_coeff @angle:s-pf-sx harmonic 38.72 108.32 # SOURCE3 2 same_as_s-pe-sx
+ angle_coeff @angle:s-pf-sy harmonic 38.35 106.93 # SOURCE3 1 same_as_s-pe-sy
+ angle_coeff @angle:c3-px-ca harmonic 36.97 104.79 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-px-ce harmonic 37.00 104.86 # SOURCE3 4 0.6354
+ angle_coeff @angle:c3-px-cf harmonic 37.00 104.86 # SOURCE3 4 same_as_c3-px-ce
+ angle_coeff @angle:c3-px-ne harmonic 39.55 102.46 # SOURCE3 7 1.8685
+ angle_coeff @angle:c3-px-nf harmonic 39.55 102.46 # SOURCE3 7 same_as_c3-px-ne
+ angle_coeff @angle:c3-px-o harmonic 39.39 113.68 # SOURCE3 28 4.8990
+ angle_coeff @angle:c3-px-pe harmonic 47.82 105.73 # SOURCE3 10 4.4059
+ angle_coeff @angle:c3-px-pf harmonic 47.82 105.73 # SOURCE3 10 same_as_c3-px-pe
+ angle_coeff @angle:c3-px-py harmonic 45.50 103.11 # SOURCE3 3 0.8680
+ angle_coeff @angle:c3-px-sx harmonic 36.06 99.55 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-px-sy harmonic 35.30 103.41 # SOURCE3 1 0.0000
+ angle_coeff @angle:ca-px-ca harmonic 37.08 104.15 # SOURCE3 2 3.6168
+ angle_coeff @angle:ca-px-o harmonic 40.49 107.50 # SOURCE3 5 5.7355
+ angle_coeff @angle:c-px-c3 harmonic 36.70 101.72 # SOURCE3 1 0.0000
+ angle_coeff @angle:ce-px-ce harmonic 37.15 104.21 # SOURCE3 1 0.0000
+ angle_coeff @angle:ce-px-o harmonic 39.42 113.79 # SOURCE3 6 0.3877
+ angle_coeff @angle:cf-px-cf harmonic 37.15 104.21 # SOURCE3 1 same_as_ce-px-ce
+ angle_coeff @angle:cf-px-o harmonic 39.42 113.79 # SOURCE3 6 same_as_ce-px-o
+ angle_coeff @angle:c-px-o harmonic 37.98 114.47 # SOURCE3 1 0.0000
+ angle_coeff @angle:ne-px-ne harmonic 41.92 103.22 # SOURCE3 2 0.6807
+ angle_coeff @angle:ne-px-o harmonic 42.27 114.13 # SOURCE3 11 8.9737
+ angle_coeff @angle:nf-px-nf harmonic 41.92 103.22 # SOURCE3 2 same_as_ne-px-ne
+ angle_coeff @angle:nf-px-o harmonic 42.27 114.13 # SOURCE3 11 same_as_ne-px-o
+ angle_coeff @angle:o-px-pe harmonic 49.41 116.50 # SOURCE3 12 8.2925
+ angle_coeff @angle:o-px-pf harmonic 49.41 116.50 # SOURCE3 12 same_as_o-px-pe
+ angle_coeff @angle:o-px-py harmonic 45.90 114.20 # SOURCE3 5 1.7165
+ angle_coeff @angle:o-px-sx harmonic 35.81 112.81 # SOURCE3 3 0.8799
+ angle_coeff @angle:o-px-sy harmonic 35.59 113.54 # SOURCE3 3 0.5010
+ angle_coeff @angle:pe-px-pe harmonic 61.38 110.71 # SOURCE3 1 0.0000
+ angle_coeff @angle:pf-px-pf harmonic 61.38 110.71 # SOURCE3 1 same_as_pe-px-pe
+ angle_coeff @angle:py-px-py harmonic 56.72 107.78 # SOURCE3 1 0.0000
+ angle_coeff @angle:sx-px-sx harmonic 36.76 96.24 # SOURCE3 1 0.0000
+ angle_coeff @angle:sy-px-sy harmonic 35.53 102.36 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-py-n4 harmonic 37.34 103.83 # SOURCE3 4 0.0000
+ angle_coeff @angle:c3-py-na harmonic 38.76 106.89 # SOURCE3 2 0.0000
+ angle_coeff @angle:c3-py-o harmonic 38.95 117.87 # SOURCE3 13 2.3554
+ angle_coeff @angle:c3-py-oh harmonic 41.22 100.16 # SOURCE3 2 0.0000
+ angle_coeff @angle:c3-py-os harmonic 40.15 105.39 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-py-px harmonic 44.89 106.27 # SOURCE3 2 0.0000
+ angle_coeff @angle:c3-py-py harmonic 43.54 113.97 # SOURCE3 10 1.6346
+ angle_coeff @angle:c3-py-sx harmonic 34.74 106.36 # SOURCE3 4 0.0000
+ angle_coeff @angle:ca-py-ca harmonic 36.99 107.55 # SOURCE3 1 0.0000
+ angle_coeff @angle:ca-py-o harmonic 39.82 113.98 # SOURCE3 3 0.5309
+ angle_coeff @angle:ca-py-oh harmonic 40.90 102.68 # SOURCE4 5 1.2945
+ angle_coeff @angle:ca-py-os harmonic 40.66 103.75 # SOURCE3 2 0.0000
+ angle_coeff @angle:c-py-c3 harmonic 35.71 110.36 # SOURCE3 1 0.0000
+ angle_coeff @angle:c-py-c harmonic 36.23 104.20 # SOURCE3 1 0.0000
+ angle_coeff @angle:ce-py-ce harmonic 37.29 106.54 # SOURCE3 1 0.0000
+ angle_coeff @angle:ce-py-o harmonic 40.24 112.16 # SOURCE3 5 3.2594
+ angle_coeff @angle:ce-py-oh harmonic 40.58 104.77 # SOURCE3 6 2.1852
+ angle_coeff @angle:ce-py-os harmonic 40.82 103.34 # SOURCE3 2 0.0000
+ angle_coeff @angle:cf-py-cf harmonic 37.29 106.54 # SOURCE3 1 same_as_ce-py-ce
+ angle_coeff @angle:cf-py-o harmonic 40.24 112.16 # SOURCE3 5 same_as_ce-py-o
+ angle_coeff @angle:cf-py-oh harmonic 40.58 104.77 # SOURCE3 6 same_as_ce-py-oh
+ angle_coeff @angle:cf-py-os harmonic 40.82 103.34 # SOURCE3 2 same_as_ce-py-os
+ angle_coeff @angle:c-py-o harmonic 38.52 115.25 # SOURCE3 6 2.6519
+ angle_coeff @angle:c-py-oh harmonic 40.03 102.14 # SOURCE3 6 1.0654
+ angle_coeff @angle:c-py-os harmonic 41.32 95.74 # SOURCE3 3 9.0999
+ angle_coeff @angle:n3-py-ne harmonic 41.93 108.44 # SOURCE4 12 0.9498
+ angle_coeff @angle:n4-py-o harmonic 38.83 115.58 # SOURCE3 4 0.0000
+ angle_coeff @angle:n4-py-py harmonic 63.24 55.10 # SOURCE3 4 0.0000
+ angle_coeff @angle:na-py-o harmonic 40.78 122.40 # SOURCE3 2 0.0000
+ angle_coeff @angle:na-py-py harmonic 67.66 50.88 # SOURCE3 2 0.0000
+ angle_coeff @angle:ne-py-ne harmonic 43.51 106.29 # SOURCE3 1 0.0000
+ angle_coeff @angle:ne-py-o harmonic 44.00 113.21 # SOURCE3 15 3.8894
+ angle_coeff @angle:ne-py-oh harmonic 44.13 104.70 # SOURCE3 26 2.7513
+ angle_coeff @angle:ne-py-os harmonic 44.80 101.33 # SOURCE3 2 0.0000
+ angle_coeff @angle:nf-py-nf harmonic 43.51 106.29 # SOURCE3 1 same_as_ne-py-ne
+ angle_coeff @angle:nf-py-o harmonic 44.00 113.21 # SOURCE3 15 same_as_ne-py-o
+ angle_coeff @angle:nf-py-oh harmonic 44.13 104.70 # SOURCE3 26 same_as_ne-py-oh
+ angle_coeff @angle:nf-py-os harmonic 44.80 101.33 # SOURCE3 2 same_as_ne-py-os
+ angle_coeff @angle:oh-py-oh harmonic 45.06 101.78 # SOURCE3 35 2.2937
+ angle_coeff @angle:oh-py-pe harmonic 50.99 104.84 # SOURCE3 22 2.0337
+ angle_coeff @angle:oh-py-pf harmonic 50.99 104.84 # SOURCE3 22 same_as_oh-py-pe
+ angle_coeff @angle:oh-py-px harmonic 47.75 104.30 # SOURCE3 8 1.2772
+ angle_coeff @angle:oh-py-py harmonic 48.91 100.45 # SOURCE3 6 0.0000
+ angle_coeff @angle:oh-py-sx harmonic 37.44 100.94 # SOURCE3 4 0.0000
+ angle_coeff @angle:oh-py-sy harmonic 38.51 101.47 # SOURCE3 6 0.2490
+ angle_coeff @angle:o-py-oh harmonic 43.74 116.14 # SOURCE3 79 2.1455
+ angle_coeff @angle:o-py-os harmonic 43.55 116.79 # SOURCE3 17 1.3534
+ angle_coeff @angle:o-py-pe harmonic 49.46 114.56 # SOURCE3 12 3.6114
+ angle_coeff @angle:o-py-pf harmonic 49.46 114.56 # SOURCE3 12 same_as_o-py-pe
+ angle_coeff @angle:o-py-px harmonic 46.50 111.37 # SOURCE3 5 0.3803
+ angle_coeff @angle:o-py-py harmonic 44.97 120.43 # SOURCE3 16 6.0629
+ angle_coeff @angle:os-py-os harmonic 45.06 101.25 # SOURCE3 8 2.0860
+ angle_coeff @angle:os-py-py harmonic 47.94 104.48 # SOURCE3 4 0.0000
+ angle_coeff @angle:os-py-sx harmonic 36.90 103.86 # SOURCE3 2 0.0000
+ angle_coeff @angle:os-py-sy harmonic 38.37 102.12 # SOURCE3 2 0.0000
+ angle_coeff @angle:o-py-sx harmonic 34.68 118.56 # SOURCE3 7 6.2976
+ angle_coeff @angle:o-py-sy harmonic 36.96 111.71 # SOURCE3 5 1.1937
+ angle_coeff @angle:pe-py-pe harmonic 61.78 107.14 # SOURCE3 1 0.0000
+ angle_coeff @angle:pf-py-pf harmonic 61.78 107.14 # SOURCE3 1 same_as_pe-py-pe
+ angle_coeff @angle:py-py-py harmonic 55.80 112.70 # SOURCE3 1 0.0000
+ angle_coeff @angle:py-py-sx harmonic 58.65 61.54 # SOURCE3 4 0.0000
+ angle_coeff @angle:sy-py-sy harmonic 36.13 105.17 # SOURCE3 1 0.0000
+ angle_coeff @angle:c1-s2-o harmonic 65.76 117.25 # SOURCE3 1 0.0000
+ angle_coeff @angle:c2-s2-n2 harmonic 68.67 110.84 # SOURCE3 1 0.0000
+ angle_coeff @angle:c2-s2-o harmonic 66.18 114.70 # SOURCE2 1 0.0000
+ angle_coeff @angle:cl-s2-n1 harmonic 53.42 117.70 # SOURCE2 1 0.0000
+ angle_coeff @angle:f-s2-n1 harmonic 66.15 116.90 # SOURCE2 1 0.0000
+ angle_coeff @angle:n1-s2-o harmonic 73.05 108.46 # HF/6-31G* 1
+ angle_coeff @angle:n2-s2-o harmonic 67.93 121.20 # SOURCE2 2 0.8000
+ angle_coeff @angle:o-s2-o harmonic 67.99 116.17 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-s2-s harmonic 63.79 118.30 # SOURCE2 1 0.0000
+ angle_coeff @angle:s-s2-s harmonic 63.50 115.04 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-s4-br harmonic 64.61 98.02 # SOURCE3 1
+ angle_coeff @angle:br-s4-c3 harmonic 62.19 92.98 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-s4-o harmonic 59.20 112.07 # SOURCE3 1 0.0000
+ angle_coeff @angle:c1-s4-c1 harmonic 65.35 93.55 # SOURCE3 1 0.0000
+ angle_coeff @angle:c1-s4-o harmonic 65.98 110.36 # SOURCE3 2 0.0000
+ angle_coeff @angle:c2-s4-c2 harmonic 62.00 102.29 # SOURCE3 1
+ angle_coeff @angle:c2-s4-c3 harmonic 63.48 94.95 # SOURCE3 1
+ angle_coeff @angle:c2-s4-o harmonic 66.61 107.09 # SOURCE3 1
+ angle_coeff @angle:c3-s4-c3 harmonic 62.07 96.82 # SOURCE3 11 1.5580
+ angle_coeff @angle:c3-s4-ca harmonic 62.99 95.00 # SOURCE3 1
+ angle_coeff @angle:c3-s4-f harmonic 66.32 91.70 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-s4-hs harmonic 46.55 90.60 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-s4-i harmonic 52.86 90.53 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-s4-n2 harmonic 69.07 90.59 # SOURCE3 1
+ angle_coeff @angle:c3-s4-n3 harmonic 65.18 94.49 # SOURCE3 4 1.5570
+ angle_coeff @angle:c3-s4-n harmonic 64.28 96.07 # SOURCE3 4 1.0354
+ angle_coeff @angle:c3-s4-n4 harmonic 61.99 92.47 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-s4-na harmonic 65.11 93.07 # SOURCE3 10 1.8813
+ angle_coeff @angle:c3-s4-nh harmonic 64.51 97.08 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-s4-no harmonic 62.53 89.53 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-s4-o harmonic 65.63 106.21 # SOURCE3 60 2.0426
+ angle_coeff @angle:c3-s4-oh harmonic 68.22 90.25 # SOURCE4 8 0.3023
+ angle_coeff @angle:c3-s4-os harmonic 68.23 90.06 # SOURCE3 4 0.4484
+ angle_coeff @angle:c3-s4-p2 harmonic 76.43 94.37 # SOURCE3 1
+ angle_coeff @angle:c3-s4-p3 harmonic 78.19 96.54 # SOURCE3 4 1.3634
+ angle_coeff @angle:c3-s4-p4 harmonic 73.69 97.40 # SOURCE3 1
+ angle_coeff @angle:c3-s4-p5 harmonic 78.32 99.18 # SOURCE3 1
+ angle_coeff @angle:c3-s4-s4 harmonic 64.31 89.50 # SOURCE3 1
+ angle_coeff @angle:c3-s4-s harmonic 61.31 98.72 # SOURCE3 2 0.0185
+ angle_coeff @angle:c3-s4-s6 harmonic 61.62 97.48 # SOURCE3 1
+ angle_coeff @angle:c3-s4-sh harmonic 60.74 94.66 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-s4-ss harmonic 60.58 95.31 # SOURCE3 3 1.4101
+ angle_coeff @angle:ca-s4-ca harmonic 63.26 95.21 # SOURCE3 1
+ angle_coeff @angle:ca-s4-o harmonic 66.01 106.63 # SOURCE3 1
+ angle_coeff @angle:c-s4-c3 harmonic 61.53 95.07 # SOURCE3 1
+ angle_coeff @angle:c-s4-c harmonic 63.34 86.83 # SOURCE3 1
+ angle_coeff @angle:cl-s4-cl harmonic 53.89 97.68 # SOURCE3 1 0.0000
+ angle_coeff @angle:cl-s4-o harmonic 58.13 108.34 # SOURCE3 2 0.0000
+ angle_coeff @angle:c-s4-o harmonic 63.97 106.17 # SOURCE3 1
+ angle_coeff @angle:cx-s4-cx harmonic 86.71 48.80 # SOURCE2 1 0.0000
+ angle_coeff @angle:cx-s4-o harmonic 64.10 110.00 # SOURCE2 1 0.0000
+ angle_coeff @angle:f-s4-f harmonic 69.99 92.71 # SOURCE2 3 0.1490
+ angle_coeff @angle:f-s4-o harmonic 70.11 106.81 # SOURCE2 2 0.0100
+ angle_coeff @angle:f-s4-s harmonic 59.78 107.50 # SOURCE2 1 0.0000
+ angle_coeff @angle:hs-s4-hs harmonic 37.79 87.00 # SOURCE3 2 0.0202
+ angle_coeff @angle:hs-s4-n1 harmonic 51.22 90.51 # HF/6-31G* 1
+ angle_coeff @angle:hs-s4-o harmonic 49.80 110.27 # SOURCE3 5 0.1908
+ angle_coeff @angle:i-s4-i harmonic 54.45 97.29 # SOURCE3 1
+ angle_coeff @angle:i-s4-o harmonic 47.32 113.91 # SOURCE3 1 0.0000
+ angle_coeff @angle:n1-s4-n1 harmonic 72.41 94.02 # HF/6-31G* 1
+ angle_coeff @angle:n1-s4-o harmonic 70.24 110.09 # HF/6-31G* 1
+ angle_coeff @angle:n2-s4-n2 harmonic 75.77 90.17 # SOURCE3 1
+ angle_coeff @angle:n2-s4-o harmonic 72.12 107.57 # SOURCE3 1
+ angle_coeff @angle:n3-s4-n3 harmonic 68.89 91.19 # SOURCE3 1 0.0000
+ angle_coeff @angle:n3-s4-o harmonic 67.59 109.07 # SOURCE3 6 2.3605
+ angle_coeff @angle:n4-s4-n4 harmonic 60.39 94.61 # SOURCE3 1 0.0000
+ angle_coeff @angle:n4-s4-o harmonic 63.17 104.91 # SOURCE3 3 0.4370
+ angle_coeff @angle:na-s4-na harmonic 63.63 103.10 # SOURCE3 1
+ angle_coeff @angle:na-s4-o harmonic 66.52 109.75 # SOURCE3 10 2.6919
+ angle_coeff @angle:nh-s4-nh harmonic 68.96 92.24 # SOURCE3 1 0.0000
+ angle_coeff @angle:nh-s4-o harmonic 68.40 107.54 # SOURCE3 3 0.0401
+ angle_coeff @angle:n-s4-n harmonic 68.03 91.30 # SOURCE3 1
+ angle_coeff @angle:n-s4-o harmonic 68.09 105.70 # SOURCE3 4 1.6857
+ angle_coeff @angle:no-s4-no harmonic 63.55 83.40 # SOURCE3 1 0.0000
+ angle_coeff @angle:no-s4-o harmonic 62.93 103.58 # SOURCE3 3 1.5109
+ angle_coeff @angle:oh-s4-oh harmonic 69.00 100.34 # SOURCE3 1
+ angle_coeff @angle:o-s4-o harmonic 74.43 110.61 # SOURCE3 5 3.6413
+ angle_coeff @angle:o-s4-oh harmonic 69.42 110.13 # SOURCE4 10 0.5760
+ angle_coeff @angle:o-s4-os harmonic 69.67 109.02 # SOURCE3 8 1.5005
+ angle_coeff @angle:o-s4-p2 harmonic 76.18 106.77 # SOURCE3 1
+ angle_coeff @angle:o-s4-p3 harmonic 79.76 106.51 # SOURCE3 8 4.0943
+ angle_coeff @angle:o-s4-p4 harmonic 75.38 103.36 # SOURCE3 1
+ angle_coeff @angle:o-s4-p5 harmonic 85.32 96.95 # SOURCE3 1
+ angle_coeff @angle:o-s4-s4 harmonic 63.80 104.55 # SOURCE3 1
+ angle_coeff @angle:o-s4-s harmonic 61.69 112.22 # SOURCE3 4 2.8682
+ angle_coeff @angle:o-s4-s6 harmonic 64.33 102.84 # SOURCE3 1
+ angle_coeff @angle:o-s4-sh harmonic 60.56 107.51 # SOURCE3 3 0.7511
+ angle_coeff @angle:os-s4-os harmonic 71.26 93.68 # SOURCE3 2 2.4166
+ angle_coeff @angle:o-s4-ss harmonic 60.06 109.49 # SOURCE3 5 1.8509
+ angle_coeff @angle:p2-s4-p2 harmonic 98.20 92.62 # SOURCE3 1
+ angle_coeff @angle:p3-s4-p3 harmonic 101.37 95.71 # SOURCE3 2 1.2239
+ angle_coeff @angle:p5-s4-p5 harmonic 104.72 93.86 # SOURCE3 1
+ angle_coeff @angle:s4-s4-s4 harmonic 65.42 90.17 # SOURCE3 1
+ angle_coeff @angle:s4-s4-s6 harmonic 65.42 90.17 # SOURCE3 1
+ angle_coeff @angle:s6-s4-s6 harmonic 64.23 93.52 # SOURCE3 1
+ angle_coeff @angle:sh-s4-sh harmonic 58.79 102.76 # SOURCE3 1 0.0000
+ angle_coeff @angle:sh-s4-ss harmonic 58.85 102.64 # SOURCE3 1
+ angle_coeff @angle:s-s4-s harmonic 59.87 108.08 # SOURCE3 1 0.0000
+ angle_coeff @angle:ss-s4-ss harmonic 61.05 95.47 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-s6-br harmonic 67.11 101.57 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-s6-c3 harmonic 63.24 98.99 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-s6-f harmonic 63.06 100.60 # SOURCE2 1 0.0000
+ angle_coeff @angle:br-s6-o harmonic 63.90 107.58 # SOURCE3 6 0.3000
+ angle_coeff @angle:c1-s6-c1 harmonic 64.09 99.99 # SOURCE3 1 0.0000
+ angle_coeff @angle:c1-s6-o harmonic 68.10 108.23 # SOURCE3 4 0.0000
+ angle_coeff @angle:c2-s6-c2 harmonic 61.86 102.75 # SOURCE3 1
+ angle_coeff @angle:c2-s6-c3 harmonic 61.23 104.05 # SOURCE3 1
+ angle_coeff @angle:c2-s6-o harmonic 67.53 106.58 # SOURCE3 1
+ angle_coeff @angle:c3-s6-c3 harmonic 61.35 102.83 # SOURCE3 7 1.2531
+ angle_coeff @angle:c3-s6-ca harmonic 61.51 103.17 # SOURCE3 1
+ angle_coeff @angle:c3-s6-cy harmonic 62.55 94.57 # SOURCE4 8 0.4183
+ angle_coeff @angle:c3-s6-f harmonic 65.73 97.11 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-s6-hs harmonic 44.94 100.62 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-s6-i harmonic 50.82 97.74 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-s6-n2 harmonic 63.42 112.95 # SOURCE4 11 0.7920
+ angle_coeff @angle:c3-s6-n3 harmonic 65.71 101.38 # SOURCE4 60 0.9507
+ angle_coeff @angle:c3-s6-n harmonic 63.84 102.97 # SOURCE3 4 0.8785
+ angle_coeff @angle:c3-s6-n4 harmonic 61.33 99.40 # SOURCE3 3 0.4695
+ angle_coeff @angle:c3-s6-na harmonic 63.68 102.81 # SOURCE3 10 3.1256
+ angle_coeff @angle:c3-s6-nh harmonic 63.74 104.31 # SOURCE4 34 1.5848
+ angle_coeff @angle:c3-s6-no harmonic 60.08 99.57 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-s6-o harmonic 66.59 108.32 # SOURCE3 112 1.8014
+ angle_coeff @angle:c3-s6-oh harmonic 67.71 98.60 # SOURCE4 42 0.8366
+ angle_coeff @angle:c3-s6-os harmonic 68.68 96.32 # SOURCE4 30 0.4539
+ angle_coeff @angle:c3-s6-p2 harmonic 72.54 106.47 # SOURCE3 1
+ angle_coeff @angle:c3-s6-p3 harmonic 76.24 103.40 # SOURCE3 3 0.8516
+ angle_coeff @angle:c3-s6-p4 harmonic 71.10 104.12 # SOURCE3 1
+ angle_coeff @angle:c3-s6-p5 harmonic 77.16 103.46 # SOURCE3 1
+ angle_coeff @angle:c3-s6-s4 harmonic 61.78 98.10 # SOURCE3 1
+ angle_coeff @angle:c3-s6-s harmonic 60.70 104.50 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-s6-s6 harmonic 60.60 101.95 # SOURCE3 1
+ angle_coeff @angle:c3-s6-sh harmonic 60.07 101.84 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-s6-ss harmonic 59.68 102.47 # SOURCE3 3 1.7451
+ angle_coeff @angle:ca-s6-ca harmonic 61.80 103.08 # SOURCE3 1
+ angle_coeff @angle:ca-s6-o harmonic 68.37 104.07 # SOURCE4 59 0.5636
+ angle_coeff @angle:c-s6-c3 harmonic 60.12 101.24 # SOURCE3 1
+ angle_coeff @angle:c-s6-c harmonic 59.07 99.82 # SOURCE3 1
+ angle_coeff @angle:cc-s6-o harmonic 65.29 103.63 # SOURCE4 9 0.5934
+ angle_coeff @angle:cl-s6-cl harmonic 52.93 101.25 # SOURCE3 1 0.0000
+ angle_coeff @angle:cl-s6-f harmonic 57.88 99.00 # SOURCE2 1 0.0000
+ angle_coeff @angle:cl-s6-o harmonic 58.51 107.66 # SOURCE3 4 0.0000
+ angle_coeff @angle:c-s6-o harmonic 63.97 107.97 # SOURCE3 1
+ angle_coeff @angle:c-s6-os harmonic 64.36 102.12 # SOURCE3 1
+ angle_coeff @angle:cx-s6-cx harmonic 86.21 54.70 # SOURCE2 1 0.0000
+ angle_coeff @angle:cy-s6-o harmonic 63.83 110.22 # SOURCE4 20 1.1009
+ angle_coeff @angle:f-s6-f harmonic 70.81 94.70 # SOURCE2 3 0.9899
+ angle_coeff @angle:f-s6-o harmonic 72.38 106.48 # SOURCE3 2 0.0000
+ angle_coeff @angle:hs-s6-hs harmonic 35.84 99.02 # SOURCE3 2 0.0595
+ angle_coeff @angle:hs-s6-n1 harmonic 54.71 97.27 # HF/6-31G* 1
+ angle_coeff @angle:hs-s6-o harmonic 51.91 107.60 # SOURCE3 10 0.0343
+ angle_coeff @angle:i-s6-i harmonic 53.90 99.25 # SOURCE3 1
+ angle_coeff @angle:i-s6-o harmonic 47.73 109.74 # SOURCE3 2 0.0000
+ angle_coeff @angle:n1-s6-n1 harmonic 83.71 95.52 # HF/6-31G* 1
+ angle_coeff @angle:n1-s6-o harmonic 78.79 107.52 # HF/6-31G* 1
+ angle_coeff @angle:n2-s6-n2 harmonic 75.20 98.61 # SOURCE3 1
+ angle_coeff @angle:n2-s6-o harmonic 72.08 116.41 # SOURCE3 3 5.0830
+ angle_coeff @angle:n2-s6-oh harmonic 71.75 106.96 # SOURCE3 2 0.0000
+ angle_coeff @angle:n2-s6-os harmonic 73.30 103.25 # SOURCE3 1
+ angle_coeff @angle:n3-s6-n3 harmonic 71.49 98.57 # SOURCE4 7 0.2690
+ angle_coeff @angle:n3-s6-o harmonic 72.90 106.80 # SOURCE3 14 1.7908
+ angle_coeff @angle:n3-s6-os harmonic 72.84 99.26 # SOURCE4 8 0.5141
+ angle_coeff @angle:n4-s6-n4 harmonic 59.97 101.85 # SOURCE3 1 0.0000
+ angle_coeff @angle:n4-s6-o harmonic 65.83 102.92 # SOURCE3 10 1.5434
+ angle_coeff @angle:na-s6-na harmonic 67.74 98.04 # SOURCE3 1
+ angle_coeff @angle:na-s6-o harmonic 70.46 105.67 # SOURCE3 20 0.8019
+ angle_coeff @angle:nh-s6-nh harmonic 70.22 94.56 # SOURCE3 1 0.0000
+ angle_coeff @angle:nh-s6-o harmonic 70.23 109.12 # SOURCE3 6 0.9556
+ angle_coeff @angle:n-s6-n harmonic 66.18 104.16 # SOURCE3 1
+ angle_coeff @angle:n-s6-o harmonic 70.74 105.91 # SOURCE3 8 0.2953
+ angle_coeff @angle:no-s6-no harmonic 61.24 91.63 # SOURCE3 1 0.0000
+ angle_coeff @angle:no-s6-o harmonic 62.67 107.43 # SOURCE3 6 1.5494
+ angle_coeff @angle:n-s6-os harmonic 70.81 99.23 # SOURCE4 5 0.9794
+ angle_coeff @angle:oh-s6-oh harmonic 73.67 100.34 # SOURCE3 6 0.0076
+ angle_coeff @angle:oh-s6-os harmonic 75.33 96.62 # SOURCE4 26 0.6688
+ angle_coeff @angle:oh-s6-p2 harmonic 75.13 109.67 # SOURCE3 2 0.0000
+ angle_coeff @angle:o-s6-o harmonic 74.58 119.73 # SOURCE4 324 2.0530
+ angle_coeff @angle:o-s6-oh harmonic 74.13 108.21 # SOURCE3 18 0.7437
+ angle_coeff @angle:o-s6-os harmonic 74.58 107.84 # SOURCE3 12 0.7025
+ angle_coeff @angle:o-s6-p2 harmonic 76.65 106.61 # SOURCE3 1
+ angle_coeff @angle:o-s6-p3 harmonic 80.16 107.07 # SOURCE3 22 1.0550
+ angle_coeff @angle:o-s6-p4 harmonic 73.92 105.67 # SOURCE3 1
+ angle_coeff @angle:o-s6-p5 harmonic 81.69 106.64 # SOURCE3 1
+ angle_coeff @angle:o-s6-s4 harmonic 63.02 107.85 # SOURCE3 1
+ angle_coeff @angle:o-s6-s harmonic 63.52 110.29 # SOURCE3 6 2.2405
+ angle_coeff @angle:o-s6-s6 harmonic 63.55 106.07 # SOURCE3 1
+ angle_coeff @angle:o-s6-sh harmonic 62.53 106.81 # SOURCE3 6 0.6292
+ angle_coeff @angle:os-s6-os harmonic 74.80 98.70 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-s6-ss harmonic 62.06 107.43 # SOURCE3 10 1.1423
+ angle_coeff @angle:p3-s6-p3 harmonic 94.93 110.17 # SOURCE3 4 5.3678
+ angle_coeff @angle:p5-s6-p5 harmonic 99.25 104.49 # SOURCE3 1
+ angle_coeff @angle:s4-s6-s4 harmonic 61.51 101.99 # SOURCE3 1
+ angle_coeff @angle:s4-s6-s6 harmonic 65.42 90.17 # SOURCE3 1
+ angle_coeff @angle:s6-s6-s6 harmonic 61.12 103.29 # SOURCE3 1
+ angle_coeff @angle:sh-s6-sh harmonic 59.41 106.43 # SOURCE3 1 0.0000
+ angle_coeff @angle:sh-s6-ss harmonic 60.36 102.64 # SOURCE3 1
+ angle_coeff @angle:s-s6-s harmonic 60.63 109.34 # SOURCE3 1 0.0000
+ angle_coeff @angle:ss-s6-ss harmonic 60.46 101.82 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-sh-hs harmonic 43.54 95.64 # SOURCE3 1 0.0000
+ angle_coeff @angle:c1-sh-hs harmonic 48.23 95.99 # calculated_based_on_C#C-SH 0
+ angle_coeff @angle:c2-sh-hs harmonic 45.81 97.08 # SOURCE4 5 0.3132
+ angle_coeff @angle:c3-sh-hs harmonic 44.94 96.60 # SOURCE3 12 0.8009
+ angle_coeff @angle:ca-sh-hs harmonic 46.32 94.84 # SOURCE4 13 0.4130
+ angle_coeff @angle:cc-sh-hs harmonic 46.41 95.38 # SOURCE4 8 1.1410
+ angle_coeff @angle:c-sh-hs harmonic 45.96 96.07 # SOURCE3 6 1.1164
+ angle_coeff @angle:f-sh-hs harmonic 48.09 96.50 # SOURCE3 1 0.0000
+ angle_coeff @angle:hs-sh-hs harmonic 37.45 93.72 # SOURCE3 3 0.4777
+ angle_coeff @angle:hs-sh-i harmonic 37.09 96.44 # SOURCE3 1 0.0000
+ angle_coeff @angle:hs-sh-n1 harmonic 51.69 93.51 # HF/6-31G* 1
+ angle_coeff @angle:hs-sh-n2 harmonic 48.12 95.82 # SOURCE3 5 3.1495
+ angle_coeff @angle:hs-sh-n harmonic 48.41 95.59 # SOURCE3 4 3.9065
+ angle_coeff @angle:hs-sh-n3 harmonic 48.06 95.98 # SOURCE3 3 1.1735
+ angle_coeff @angle:hs-sh-n4 harmonic 47.15 93.13 # SOURCE3 3 0.1675
+ angle_coeff @angle:hs-sh-na harmonic 48.12 97.38 # SOURCE3 9 1.0223
+ angle_coeff @angle:hs-sh-nh harmonic 47.52 101.11 # SOURCE3 1 0.0000
+ angle_coeff @angle:hs-sh-no harmonic 47.35 92.93 # SOURCE3 1 0.0000
+ angle_coeff @angle:hs-sh-o harmonic 48.22 109.23 # SOURCE3 2 0.0068
+ angle_coeff @angle:hs-sh-oh harmonic 48.75 98.64 # SOURCE3 2 0.0605
+ angle_coeff @angle:hs-sh-os harmonic 49.35 98.15 # SOURCE3 3 0.1661
+ angle_coeff @angle:hs-sh-p2 harmonic 56.52 99.12 # SOURCE3 10 5.4110
+ angle_coeff @angle:hs-sh-p3 harmonic 53.11 95.81 # SOURCE3 3 0.4396
+ angle_coeff @angle:hs-sh-p4 harmonic 54.01 94.22 # SOURCE3 4 0.7605
+ angle_coeff @angle:hs-sh-p5 harmonic 54.80 94.52 # SOURCE3 3 0.5589
+ angle_coeff @angle:hs-sh-s harmonic 40.94 102.87 # SOURCE3 2 0.0000
+ angle_coeff @angle:hs-sh-s4 harmonic 42.04 92.16 # SOURCE3 3 1.6519
+ angle_coeff @angle:hs-sh-s6 harmonic 42.91 93.83 # SOURCE3 3 1.2561
+ angle_coeff @angle:hs-sh-sh harmonic 42.80 99.07 # SOURCE3 2 0.0000
+ angle_coeff @angle:hs-sh-ss harmonic 42.59 99.17 # SOURCE3 3 0.2457
+ angle_coeff @angle:br-ss-br harmonic 67.00 102.92 # SOURCE3 1 0.0000
+ angle_coeff @angle:br-ss-c3 harmonic 63.06 99.03 # SOURCE3 1 0.0000
+ angle_coeff @angle:c1-ss-c1 harmonic 66.30 98.30 # SOURCE2 1 0.0000
+ angle_coeff @angle:c1-ss-c3 harmonic 62.89 99.90 # SOURCE2 1 0.0000
+ angle_coeff @angle:c2-ss-c2 harmonic 63.71 99.56 # SOURCE3 1 0.0000
+ angle_coeff @angle:c2-ss-c3 harmonic 61.87 100.37 # SOURCE4 100 2.3280
+ angle_coeff @angle:c2-ss-cy harmonic 65.30 88.61 # SOURCE4 27 0.4481
+ angle_coeff @angle:c2-ss-n2 harmonic 64.45 106.76 # SOURCE3 1 0.0000
+ angle_coeff @angle:c2-ss-na harmonic 65.02 100.51 # SOURCE3 6 6.9702
+ angle_coeff @angle:c2-ss-os harmonic 69.78 89.76 # SOURCE3 1 0.0000
+ angle_coeff @angle:c2-ss-ss harmonic 64.78 92.26 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-ss-c3 harmonic 60.63 99.92 # SOURCE3 14 2.0723
+ angle_coeff @angle:c3-ss-ca harmonic 60.80 102.12 # SOURCE4 161 1.3084
+ angle_coeff @angle:c3-ss-cc harmonic 61.74 100.75 # CORR 87
+ angle_coeff @angle:c3-ss-cd harmonic 61.74 100.75 # CORR 87
+ angle_coeff @angle:c3-ss-cl harmonic 56.40 99.40 # SOURCE2 1 0.0000
+ angle_coeff @angle:c3-ss-cy harmonic 61.94 94.32 # SOURCE4 62 0.3646
+ angle_coeff @angle:c3-ss-f harmonic 63.40 97.49 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-ss-i harmonic 56.03 100.00 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-ss-n1 harmonic 65.93 98.44 # HF/6-31G* 1
+ angle_coeff @angle:c3-ss-n2 harmonic 65.94 96.42 # SOURCE3 5 1.3604
+ angle_coeff @angle:c3-ss-n3 harmonic 64.10 98.83 # SOURCE3 3 0.2909
+ angle_coeff @angle:c3-ss-n harmonic 63.71 100.30 # SOURCE3 4 0.6579
+ angle_coeff @angle:c3-ss-n4 harmonic 62.94 97.79 # SOURCE3 3 0.2002
+ angle_coeff @angle:c3-ss-na harmonic 63.51 100.14 # SOURCE3 12 1.7415
+ angle_coeff @angle:c3-ss-nh harmonic 63.75 100.63 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-ss-no harmonic 62.40 98.62 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-ss-o harmonic 64.67 106.60 # SOURCE3 2 1.6714
+ angle_coeff @angle:c3-ss-oh harmonic 65.29 98.28 # SOURCE3 2 1.4326
+ angle_coeff @angle:c3-ss-os harmonic 64.97 98.21 # SOURCE3 4 1.7097
+ angle_coeff @angle:c3-ss-p2 harmonic 80.22 98.41 # SOURCE3 8 0.9454
+ angle_coeff @angle:c3-ss-p3 harmonic 76.29 98.70 # SOURCE3 3 0.0356
+ angle_coeff @angle:c3-ss-p4 harmonic 76.93 98.16 # SOURCE3 4 0.1361
+ angle_coeff @angle:c3-ss-p5 harmonic 75.86 100.22 # SOURCE4 23 1.1410
+ angle_coeff @angle:c3-ss-s4 harmonic 60.11 96.37 # SOURCE3 3 0.0202
+ angle_coeff @angle:c3-ss-s harmonic 59.94 101.90 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-ss-s6 harmonic 60.94 96.76 # SOURCE3 3 1.5680
+ angle_coeff @angle:c3-ss-sh harmonic 60.36 101.93 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-ss-ss harmonic 60.34 103.10 # SOURCE4 70 1.3377
+ angle_coeff @angle:ca-ss-ca harmonic 62.76 98.71 # SOURCE4 97 1.2321
+ angle_coeff @angle:ca-ss-cc harmonic 66.53 89.47 # CORR 134
+ angle_coeff @angle:ca-ss-cd harmonic 66.53 89.47 # CORR 134
+ angle_coeff @angle:ca-ss-cl harmonic 56.45 101.05 # SOURCE3 1 0.0000
+ angle_coeff @angle:ca-ss-n harmonic 65.76 97.16 # SOURCE3 1
+ angle_coeff @angle:ca-ss-na harmonic 64.76 99.32 # SOURCE3 1
+ angle_coeff @angle:ca-ss-nc harmonic 69.21 94.76 # SOURCE3 1 0.0000
+ angle_coeff @angle:ca-ss-nd harmonic 69.21 94.76 # SOURCE3 1 same_as_ca-ss-nc
+ angle_coeff @angle:ca-ss-ss harmonic 60.39 104.90 # SOURCE4 19 0.8743
+ angle_coeff @angle:c-ss-c2 harmonic 65.63 92.43 # SOURCE3 1 0.0000
+ angle_coeff @angle:c-ss-c3 harmonic 61.48 100.29 # SOURCE3 5 2.2127
+ angle_coeff @angle:c-ss-c harmonic 62.20 101.40 # SOURCE3 1 0.0000
+ angle_coeff @angle:c-ss-cc harmonic 65.61 92.43 # SOURCE4 14 2.3600
+ angle_coeff @angle:cc-ss-cc harmonic 67.01 89.91 # SOURCE3 11 2.2164
+ angle_coeff @angle:cc-ss-cd harmonic 67.07 89.74 # SOURCE4 49 0.7509
+ angle_coeff @angle:cc-ss-n harmonic 66.42 97.16 # SOURCE3 1 same_as_cd-ss-n
+ angle_coeff @angle:cc-ss-na harmonic 65.39 99.33 # SOURCE3 18 same_as_cd-ss-na
+ angle_coeff @angle:cc-ss-nc harmonic 70.31 94.08 # CORR 13
+ angle_coeff @angle:cc-ss-os harmonic 66.48 98.81 # SOURCE3 2 2.1583
+ angle_coeff @angle:cc-ss-ss harmonic 63.91 94.76 # CORR 13
+ angle_coeff @angle:cd-ss-cd harmonic 67.01 89.91 # SOURCE3 11 2.2164
+ angle_coeff @angle:cd-ss-n harmonic 66.42 97.16 # SOURCE3 1 0.0000
+ angle_coeff @angle:cd-ss-na harmonic 65.39 99.33 # SOURCE3 18 2.5847
+ angle_coeff @angle:cd-ss-nd harmonic 70.31 94.08 # CORR 13
+ angle_coeff @angle:cd-ss-os harmonic 66.48 98.81 # SOURCE3 2 same_as_cc-ss-os
+ angle_coeff @angle:cd-ss-ss harmonic 63.91 94.76 # CORR 13
+ angle_coeff @angle:cl-ss-cl harmonic 52.39 103.37 # SOURCE3 1 0.0000
+ angle_coeff @angle:cx-ss-cx harmonic 87.49 48.30 # SOURCE2 1 0.0000
+ angle_coeff @angle:f-ss-f harmonic 66.18 98.30 # SOURCE2 1 0.0000
+ angle_coeff @angle:f-ss-ss harmonic 59.85 108.30 # SOURCE2 1 0.0000
+ angle_coeff @angle:i-ss-i harmonic 58.15 106.29 # SOURCE3 1 0.0000
+ angle_coeff @angle:n1-ss-n1 harmonic 73.07 96.96 # HF/6-31G* 1
+ angle_coeff @angle:n2-ss-n2 harmonic 71.12 96.75 # SOURCE3 1 0.0000
+ angle_coeff @angle:n3-ss-n3 harmonic 66.50 102.34 # SOURCE3 1 0.0000
+ angle_coeff @angle:n4-ss-n4 harmonic 63.55 101.19 # SOURCE3 1 0.0000
+ angle_coeff @angle:na-ss-na harmonic 65.92 102.81 # SOURCE3 1 0.0000
+ angle_coeff @angle:nc-ss-nc harmonic 75.03 97.94 # CORR 9
+ angle_coeff @angle:nd-ss-nd harmonic 75.03 97.94 # CORR 9
+ angle_coeff @angle:nh-ss-nh harmonic 65.30 107.89 # SOURCE3 1 0.0000
+ angle_coeff @angle:n-ss-n harmonic 66.45 103.10 # SOURCE3 1 0.0000
+ angle_coeff @angle:no-ss-no harmonic 61.43 106.43 # SOURCE3 1 0.0000
+ angle_coeff @angle:oh-ss-oh harmonic 68.23 104.25 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-ss-o harmonic 69.80 119.30 # SOURCE2 1 0.0000
+ angle_coeff @angle:o-ss-p5 harmonic 78.64 106.41 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-ss-s6 harmonic 62.35 105.39 # SOURCE3 1
+ angle_coeff @angle:os-ss-os harmonic 67.76 102.99 # SOURCE3 1 0.0000
+ angle_coeff @angle:o-ss-ss harmonic 62.04 112.70 # SOURCE2 1 0.0000
+ angle_coeff @angle:p2-ss-p2 harmonic 105.52 99.52 # SOURCE3 1 0.0000
+ angle_coeff @angle:p3-ss-p3 harmonic 96.77 101.67 # SOURCE3 1
+ angle_coeff @angle:p5-ss-p5 harmonic 103.25 89.83 # SOURCE3 1 0.0000
+ angle_coeff @angle:s4-ss-s4 harmonic 60.86 96.08 # SOURCE3 1 0.0000
+ angle_coeff @angle:s4-ss-s6 harmonic 59.93 101.26 # SOURCE3 1
+ angle_coeff @angle:s6-ss-s6 harmonic 60.46 101.81 # SOURCE3 1 0.0000
+ angle_coeff @angle:sh-ss-sh harmonic 60.28 107.54 # SOURCE3 1 0.0000
+ angle_coeff @angle:sh-ss-ss harmonic 60.81 106.53 # SOURCE3 1
+ angle_coeff @angle:s-ss-s harmonic 57.67 115.04 # SOURCE3 1
+ angle_coeff @angle:ss-ss-ss harmonic 60.44 108.76 # SOURCE4 8 0.2385
+ angle_coeff @angle:c3-sx-ca harmonic 61.85 96.41 # SOURCE4 13 0.3130
+ angle_coeff @angle:c3-sx-cc harmonic 62.52 95.11 # SOURCE4 17 0.6557
+ angle_coeff @angle:c3-sx-ce harmonic 62.82 94.95 # SOURCE3 3 0.0007
+ angle_coeff @angle:c3-sx-cf harmonic 62.82 94.95 # SOURCE3 3 same_as_c3-sx-ce
+ angle_coeff @angle:c3-sx-ne harmonic 65.33 90.06 # SOURCE3 5 1.9627
+ angle_coeff @angle:c3-sx-nf harmonic 65.33 90.06 # SOURCE3 5 same_as_c3-sx-ne
+ angle_coeff @angle:c3-sx-o harmonic 64.94 107.88 # SOURCE3 30 0.8721
+ angle_coeff @angle:c3-sx-pe harmonic 76.99 94.32 # SOURCE3 7 0.5547
+ angle_coeff @angle:c3-sx-pf harmonic 76.99 94.32 # SOURCE3 7 same_as_c3-sx-pe
+ angle_coeff @angle:c3-sx-px harmonic 74.26 96.46 # SOURCE3 3 1.3351
+ angle_coeff @angle:c3-sx-py harmonic 74.13 95.67 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-sx-sx harmonic 57.22 91.47 # SOURCE3 4 1.9919
+ angle_coeff @angle:c3-sx-sy harmonic 58.71 95.47 # SOURCE3 3 2.8422
+ angle_coeff @angle:ca-sx-ca harmonic 61.97 95.21 # SOURCE3 1 0.0000
+ angle_coeff @angle:ca-sx-o harmonic 64.82 106.89 # SOURCE4 25 0.5562
+ angle_coeff @angle:c-sx-c3 harmonic 62.01 92.71 # SOURCE3 3 0.3095
+ angle_coeff @angle:c-sx-c harmonic 62.83 86.85 # SOURCE3 1 0.0000
+ angle_coeff @angle:cc-sx-o harmonic 65.92 104.49 # SOURCE4 17 1.7759
+ angle_coeff @angle:ce-sx-ce harmonic 63.02 94.96 # SOURCE3 1 0.0000
+ angle_coeff @angle:ce-sx-o harmonic 65.38 107.47 # SOURCE3 5 0.3128
+ angle_coeff @angle:cf-sx-cf harmonic 63.02 94.96 # SOURCE3 1 same_as_ce-sx-ce
+ angle_coeff @angle:cf-sx-o harmonic 65.38 107.47 # SOURCE3 5 same_as_ce-sx-o
+ angle_coeff @angle:c-sx-o harmonic 63.47 106.17 # SOURCE3 5 0.9477
+ angle_coeff @angle:ne-sx-ne harmonic 66.37 90.17 # SOURCE3 1 0.0000
+ angle_coeff @angle:ne-sx-o harmonic 65.36 109.20 # SOURCE3 7 1.4542
+ angle_coeff @angle:nf-sx-nf harmonic 66.37 90.17 # SOURCE3 1 same_as_ne-sx-ne
+ angle_coeff @angle:nf-sx-o harmonic 65.36 109.20 # SOURCE3 7 same_as_ne-sx-o
+ angle_coeff @angle:o-sx-pe harmonic 77.00 106.43 # SOURCE3 9 2.8345
+ angle_coeff @angle:o-sx-pf harmonic 77.00 106.43 # SOURCE3 9 same_as_o-sx-pe
+ angle_coeff @angle:o-sx-px harmonic 75.16 104.77 # SOURCE3 3 1.9810
+ angle_coeff @angle:o-sx-py harmonic 73.10 109.13 # SOURCE3 7 5.6840
+ angle_coeff @angle:o-sx-sx harmonic 55.68 104.65 # SOURCE3 6 3.0524
+ angle_coeff @angle:o-sx-sy harmonic 59.44 103.41 # SOURCE3 5 0.9618
+ angle_coeff @angle:pe-sx-pe harmonic 99.19 92.62 # SOURCE3 1 0.0000
+ angle_coeff @angle:pf-sx-pf harmonic 99.19 92.62 # SOURCE3 1 same_as_pe-sx-pe
+ angle_coeff @angle:py-sx-py harmonic 110.11 69.23 # SOURCE3 3 17.4143
+ angle_coeff @angle:sx-sx-sx harmonic 58.65 84.90 # SOURCE3 1 0.0000
+ angle_coeff @angle:sy-sx-sy harmonic 59.25 93.52 # SOURCE3 1 0.0000
+ angle_coeff @angle:c3-sy-ca harmonic 60.74 103.86 # SOURCE4 54 0.3180
+ angle_coeff @angle:c3-sy-cc harmonic 61.24 102.19 # SOURCE4 12 1.5324
+ angle_coeff @angle:c3-sy-ce harmonic 60.79 103.81 # SOURCE3 3 0.3368
+ angle_coeff @angle:c3-sy-cf harmonic 60.79 103.81 # SOURCE3 3 same_as_c3-sy-ce
+ angle_coeff @angle:c3-sy-ne harmonic 63.01 103.12 # SOURCE3 5 4.1882
+ angle_coeff @angle:c3-sy-nf harmonic 63.01 103.12 # SOURCE3 5 same_as_c3-sy-ne
+ angle_coeff @angle:c3-sy-o harmonic 65.97 108.48 # SOURCE3 62 0.8576
+ angle_coeff @angle:c3-sy-pe harmonic 71.79 106.03 # SOURCE3 6 2.6117
+ angle_coeff @angle:c3-sy-pf harmonic 71.79 106.03 # SOURCE3 6 same_as_c3-sy-pe
+ angle_coeff @angle:c3-sy-px harmonic 71.71 103.62 # SOURCE3 3 0.7078
+ angle_coeff @angle:c3-sy-py harmonic 73.48 103.39 # SOURCE3 3 0.4563
+ angle_coeff @angle:c3-sy-sx harmonic 56.27 104.64 # SOURCE3 3 4.6276
+ angle_coeff @angle:c3-sy-sy harmonic 57.43 100.78 # SOURCE3 4 1.1633
+ angle_coeff @angle:ca-sy-ca harmonic 60.65 104.04 # SOURCE4 25 2.0762
+ angle_coeff @angle:ca-sy-cc harmonic 60.36 105.09 # SOURCE4 5 0.3628
+ angle_coeff @angle:ca-sy-n3 harmonic 64.10 102.48 # SOURCE4 180 1.0802
+ angle_coeff @angle:ca-sy-n harmonic 62.89 105.45 # SOURCE4 51 1.1497
+ angle_coeff @angle:ca-sy-ne harmonic 62.86 103.47 # SOURCE4 11 1.6071
+ angle_coeff @angle:ca-sy-nh harmonic 62.86 105.59 # SOURCE4 78 1.5805
+ angle_coeff @angle:ca-sy-o harmonic 65.84 108.73 # SOURCE3 26 1.2638
+ angle_coeff @angle:ca-sy-oh harmonic 65.64 101.25 # SOURCE4 23 0.9100
+ angle_coeff @angle:ca-sy-os harmonic 67.64 92.98 # SOURCE3 1 0.0000
+ angle_coeff @angle:c-sy-c3 harmonic 60.09 101.25 # SOURCE3 3 1.1850
+ angle_coeff @angle:c-sy-c harmonic 59.23 99.81 # SOURCE3 1 0.0000
+ angle_coeff @angle:cc-sy-n3 harmonic 64.10 102.54 # CORR 30
+ angle_coeff @angle:cc-sy-o harmonic 66.17 107.71 # CORR 100
+ angle_coeff @angle:cd-sy-n3 harmonic 64.10 102.54 # CORR 30
+ angle_coeff @angle:cd-sy-nh harmonic 65.53 97.20 # SOURCE4 6 0.2429
+ angle_coeff @angle:cd-sy-o harmonic 66.17 107.71 # CORR 100
+ angle_coeff @angle:ce-sy-ce harmonic 61.09 102.78 # SOURCE3 1 0.0000
+ angle_coeff @angle:ce-sy-o harmonic 66.35 107.25 # SOURCE3 10 0.5477
+ angle_coeff @angle:cf-sy-cf harmonic 61.09 102.78 # SOURCE3 1 same_as_ce-sy-ce
+ angle_coeff @angle:cf-sy-o harmonic 66.35 107.25 # SOURCE3 10 same_as_ce-sy-o
+ angle_coeff @angle:c-sy-o harmonic 64.07 107.23 # SOURCE3 10 0.8425
+ angle_coeff @angle:f-sy-o harmonic 63.64 105.60 # SOURCE4 7 0.2000
+ angle_coeff @angle:n2-sy-o harmonic 61.16 123.53 # SOURCE4 6 1.2388
+ angle_coeff @angle:n3-sy-ne harmonic 66.36 102.40 # SOURCE4 5 1.3390
+ angle_coeff @angle:n3-sy-o harmonic 70.45 107.11 # SOURCE4 375 1.1257
+ angle_coeff @angle:na-sy-na harmonic 67.74 98.04 # SOURCE3 1
+ angle_coeff @angle:nc-sy-nc harmonic 75.24 98.04 # SOURCE3 2
+ angle_coeff @angle:nd-sy-nd harmonic 75.24 98.04 # SOURCE3 2
+ angle_coeff @angle:ne-sy-ne harmonic 66.58 98.62 # SOURCE3 1 0.0000
+ angle_coeff @angle:ne-sy-o harmonic 68.89 107.06 # SOURCE3 14 2.2705
+ angle_coeff @angle:nf-sy-nf harmonic 66.58 98.62 # SOURCE3 1 same_as_ne-sy-ne
+ angle_coeff @angle:nf-sy-o harmonic 68.89 107.06 # SOURCE3 14 same_as_ne-sy-o
+ angle_coeff @angle:nh-sy-o harmonic 70.18 106.38 # SOURCE4 123 1.6517
+ angle_coeff @angle:n-sy-o harmonic 69.79 107.50 # SOURCE4 61 1.8720
+ angle_coeff @angle:o-sy-o harmonic 72.40 121.88 # SOURCE3 46 0.9495
+ angle_coeff @angle:o-sy-oh harmonic 72.26 106.93 # SOURCE3 8 0.7424
+ angle_coeff @angle:o-sy-os harmonic 70.39 108.31 # SOURCE4 7 0.1222
+ angle_coeff @angle:o-sy-pe harmonic 75.40 106.90 # SOURCE3 12 1.4524
+ angle_coeff @angle:o-sy-pf harmonic 75.40 106.90 # SOURCE3 12 same_as_o-sy-pe
+ angle_coeff @angle:o-sy-px harmonic 74.45 106.17 # SOURCE3 6 0.7059
+ angle_coeff @angle:o-sy-py harmonic 76.54 106.67 # SOURCE3 10 0.6478
+ angle_coeff @angle:o-sy-sx harmonic 58.62 106.33 # SOURCE3 10 2.0456
+ angle_coeff @angle:o-sy-sy harmonic 58.79 106.19 # SOURCE3 12 0.1754
+ angle_coeff @angle:py-sy-py harmonic 92.79 104.49 # SOURCE3 1 0.0000
+ angle_coeff @angle:sx-sy-sx harmonic 56.74 101.99 # SOURCE3 1 0.0000
+ angle_coeff @angle:sy-sy-sy harmonic 56.50 103.29 # SOURCE3 1 0.0000
+ angle_coeff @angle:c2-c1-cf harmonic 58.18 179.01 # NEW 6
+ angle_coeff @angle:c3-c1-ch harmonic 55.79 178.52 # NEW 39
+ angle_coeff @angle:nf-c1-s harmonic 57.59 175.81 # NEW 8
+ angle_coeff @angle:br-c2-cf harmonic 63.21 121.59 # NEW 7
+ angle_coeff @angle:cd-c2-h4 harmonic 49.19 120.33 # NEW 7
+ angle_coeff @angle:cd-c2-nh harmonic 69.46 122.96 # NEW 10
+ angle_coeff @angle:cd-c2-o harmonic 72.80 123.59 # NEW 6
+ angle_coeff @angle:cf-c2-cl harmonic 58.06 123.90 # NEW 11
+ angle_coeff @angle:cf-c2-h4 harmonic 49.38 122.29 # NEW 75
+ angle_coeff @angle:cf-c2-na harmonic 68.82 123.71 # NEW 6
+ angle_coeff @angle:cf-c2-nh harmonic 70.64 120.72 # NEW 93
+ angle_coeff @angle:cf-c2-no harmonic 68.45 119.65 # NEW 5
+ angle_coeff @angle:cf-c2-o harmonic 73.66 123.08 # NEW 5
+ angle_coeff @angle:cf-c2-oh harmonic 70.90 123.27 # NEW 42
+ angle_coeff @angle:cf-c2-os harmonic 70.47 122.52 # NEW 51
+ angle_coeff @angle:h4-c2-nf harmonic 52.87 119.63 # NEW 10
+ angle_coeff @angle:h5-c2-nf harmonic 52.76 119.62 # NEW 17
+ angle_coeff @angle:nf-c2-os harmonic 74.86 118.76 # NEW 5
+ angle_coeff @angle:nf-c2-ss harmonic 65.41 120.06 # NEW 9
+ angle_coeff @angle:n-c2-nf harmonic 70.89 125.38 # NEW 10
+ angle_coeff @angle:ca-c3-cf harmonic 63.81 112.33 # NEW 51
+ angle_coeff @angle:cd-c3-cx harmonic 63.85 112.55 # NEW 5
+ angle_coeff @angle:c-c3-cf harmonic 64.02 111.98 # NEW 16
+ angle_coeff @angle:cd-c3-hx harmonic 47.17 111.02 # NEW 9
+ angle_coeff @angle:cd-c3-n2 harmonic 66.85 110.47 # NEW 11
+ angle_coeff @angle:cd-c3-n4 harmonic 64.88 115.58 # NEW 6
+ angle_coeff @angle:cd-c3-na harmonic 66.43 113.39 # NEW 8
+ angle_coeff @angle:cd-c3-p5 harmonic 76.89 116.23 # NEW 6
+ angle_coeff @angle:cf-c3-cf harmonic 64.24 111.44 # NEW 18
+ angle_coeff @angle:cf-c3-n harmonic 67.09 110.41 # NEW 6
+ angle_coeff @angle:cf-c3-oh harmonic 68.00 111.05 # NEW 17
+ angle_coeff @angle:cf-c3-os harmonic 68.64 108.10 # NEW 16
+ angle_coeff @angle:cf-c3-ss harmonic 61.87 111.10 # NEW 7
+ angle_coeff @angle:cd-ca-cq harmonic 64.63 124.30 # NEW 10
+ angle_coeff @angle:cf-ca-na harmonic 67.44 119.85 # NEW 9
+ angle_coeff @angle:ch-ca-cq harmonic 65.26 121.53 # NEW 12
+ angle_coeff @angle:cl-ca-cq harmonic 58.19 120.31 # NEW 18
+ angle_coeff @angle:cq-ca-f harmonic 67.10 119.39 # NEW 16
+ angle_coeff @angle:cq-ca-h4 harmonic 48.15 120.03 # NEW 27
+ angle_coeff @angle:cq-ca-na harmonic 72.91 108.79 # NEW 165
+ angle_coeff @angle:cq-ca-nb harmonic 68.56 123.72 # NEW 50
+ angle_coeff @angle:cq-ca-nh harmonic 68.66 121.52 # NEW 11
+ angle_coeff @angle:cq-ca-oh harmonic 69.26 120.96 # NEW 12
+ angle_coeff @angle:cq-ca-ss harmonic 63.87 112.75 # NEW 8
+ angle_coeff @angle:ca-c-nf harmonic 67.74 114.39 # NEW 5
+ angle_coeff @angle:br-cd-c harmonic 63.98 115.68 # NEW 8
+ angle_coeff @angle:br-cd-cd harmonic 61.82 124.89 # NEW 8
+ angle_coeff @angle:br-cd-cc harmonic 62.26 124.56 # NEW 32
+ angle_coeff @angle:br-cd-na harmonic 64.60 121.42 # NEW 6
+ angle_coeff @angle:ca-cd-cf harmonic 62.51 127.87 # NEW 11
+ angle_coeff @angle:ca-cd-nh harmonic 67.46 122.45 # NEW 9
+ angle_coeff @angle:cd-c-cf harmonic 64.64 115.68 # NEW 6
+ angle_coeff @angle:cd-cd-f harmonic 66.35 119.41 # NEW 7
+ angle_coeff @angle:c-cd-ch harmonic 64.98 118.14 # NEW 7
+ angle_coeff @angle:cd-cd-sy harmonic 59.22 128.36 # NEW 8
+ angle_coeff @angle:cc-cd-f harmonic 67.42 121.08 # NEW 28
+ angle_coeff @angle:cc-cd-no harmonic 65.78 128.95 # NEW 117
+ angle_coeff @angle:c-cd-f harmonic 66.16 116.87 # NEW 16
+ angle_coeff @angle:ch-cd-na harmonic 67.51 122.35 # NEW 5
+ angle_coeff @angle:ch-cd-ss harmonic 62.33 120.70 # NEW 12
+ angle_coeff @angle:cd-c-h4 harmonic 47.13 115.45 # NEW 5
+ angle_coeff @angle:cl-cd-na harmonic 59.37 121.61 # NEW 12
+ angle_coeff @angle:cl-cd-ss harmonic 58.09 119.85 # NEW 11
+ angle_coeff @angle:c-cd-nf harmonic 67.11 119.88 # NEW 6
+ angle_coeff @angle:cd-c-s harmonic 61.67 127.94 # NEW 12
+ angle_coeff @angle:cd-c-ss harmonic 63.47 112.52 # NEW 10
+ angle_coeff @angle:cx-cd-nc harmonic 65.61 127.75 # NEW 12
+ angle_coeff @angle:cx-cd-os harmonic 67.94 118.08 # NEW 10
+ angle_coeff @angle:cc-c-cx harmonic 63.88 117.46 # NEW 13
+ angle_coeff @angle:cc-c-nc harmonic 68.65 113.75 # NEW 14
+ angle_coeff @angle:cf-c-cx harmonic 63.95 116.25 # NEW 6
+ angle_coeff @angle:cf-c-h4 harmonic 46.93 114.88 # NEW 19
+ angle_coeff @angle:cf-c-ss harmonic 63.94 110.39 # NEW 5
+ angle_coeff @angle:na-cd-no harmonic 68.48 124.90 # NEW 48
+ angle_coeff @angle:na-cd-oh harmonic 73.25 117.26 # NEW 16
+ angle_coeff @angle:na-cd-sx harmonic 63.25 117.04 # NEW 13
+ angle_coeff @angle:na-cd-sy harmonic 63.13 120.55 # NEW 7
+ angle_coeff @angle:nd-cd-no harmonic 69.31 121.54 # NEW 7
+ angle_coeff @angle:nc-cd-nc harmonic 70.88 128.17 # NEW 7
+ angle_coeff @angle:nc-cd-nf harmonic 69.29 129.66 # NEW 7
+ angle_coeff @angle:nc-cd-no harmonic 69.90 122.68 # NEW 16
+ angle_coeff @angle:nc-cd-sh harmonic 62.75 124.92 # NEW 5
+ angle_coeff @angle:nc-cd-sx harmonic 60.81 127.60 # NEW 14
+ angle_coeff @angle:nc-cd-sy harmonic 62.75 123.08 # NEW 13
+ angle_coeff @angle:nf-cd-ss harmonic 65.39 116.99 # NEW 7
+ angle_coeff @angle:n-cd-n2 harmonic 74.78 114.48 # NEW 15
+ angle_coeff @angle:no-cd-os harmonic 71.01 117.59 # NEW 62
+ angle_coeff @angle:no-cd-ss harmonic 63.76 121.10 # NEW 10
+ angle_coeff @angle:ca-cc-cf harmonic 65.09 125.10 # NEW 9
+ angle_coeff @angle:ca-cc-na harmonic 67.03 123.45 # NEW 39
+ angle_coeff @angle:cd-cc-cg harmonic 64.92 126.05 # NEW 30
+ angle_coeff @angle:cd-cc-cy harmonic 63.93 122.13 # NEW 10
+ angle_coeff @angle:cd-cc-nd harmonic 69.42 123.82 # NEW 14
+ angle_coeff @angle:cc-cc-cy harmonic 63.17 120.93 # NEW 6
+ angle_coeff @angle:cf-cc-nc harmonic 68.22 124.90 # NEW 5
+ angle_coeff @angle:c-cc-h4 harmonic 46.77 118.19 # NEW 8
+ angle_coeff @angle:na-cc-nh harmonic 72.43 116.98 # NEW 46
+ angle_coeff @angle:na-cc-ss harmonic 67.07 111.46 # NEW 20
+ angle_coeff @angle:nc-cc-nc harmonic 69.47 125.58 # NEW 13
+ angle_coeff @angle:oh-cc-os harmonic 75.54 111.61 # NEW 6
+ angle_coeff @angle:c2-cf-cl harmonic 57.87 119.51 # NEW 24
+ angle_coeff @angle:c2-cf-h4 harmonic 48.64 125.58 # NEW 11
+ angle_coeff @angle:c2-cf-n1 harmonic 72.67 117.85 # NEW 7
+ angle_coeff @angle:c2-cf-na harmonic 69.29 119.19 # NEW 5
+ angle_coeff @angle:c2-cf-oh harmonic 70.32 123.78 # NEW 10
+ angle_coeff @angle:c3-cf-ch harmonic 63.79 118.48 # NEW 8
+ angle_coeff @angle:c3-cf-ne harmonic 67.26 120.75 # NEW 6
+ angle_coeff @angle:c3-cf-nh harmonic 65.76 119.90 # NEW 5
+ angle_coeff @angle:ca-cf-cf harmonic 63.84 119.62 # NEW 14
+ angle_coeff @angle:ca-cf-cl harmonic 57.99 114.22 # NEW 6
+ angle_coeff @angle:ca-cf-h4 harmonic 46.71 116.86 # NEW 74
+ angle_coeff @angle:ca-cf-nh harmonic 67.87 115.51 # NEW 93
+ angle_coeff @angle:ca-cf-os harmonic 68.60 115.58 # NEW 8
+ angle_coeff @angle:ca-cf-ss harmonic 61.21 117.73 # NEW 5
+ angle_coeff @angle:c-cf-ca harmonic 63.79 117.98 # NEW 8
+ angle_coeff @angle:cd-cf-cc harmonic 63.28 130.36 # NEW 5
+ angle_coeff @angle:c-cf-cf harmonic 63.46 120.89 # NEW 16
+ angle_coeff @angle:c-cf-ch harmonic 64.57 118.32 # NEW 15
+ angle_coeff @angle:cd-cf-h4 harmonic 47.52 115.40 # NEW 29
+ angle_coeff @angle:c-cf-cl harmonic 57.67 115.40 # NEW 6
+ angle_coeff @angle:cd-cf-nh harmonic 67.31 119.17 # NEW 8
+ angle_coeff @angle:c-cf-cy harmonic 72.72 88.22 # NEW 19
+ angle_coeff @angle:cf-cf-cl harmonic 57.29 117.93 # NEW 12
+ angle_coeff @angle:cf-cf-oh harmonic 69.29 116.89 # NEW 11
+ angle_coeff @angle:ce-cf-cy harmonic 60.53 137.74 # NEW 13
+ angle_coeff @angle:ce-cf-h4 harmonic 49.02 123.76 # NEW 5
+ angle_coeff @angle:ce-cf-n1 harmonic 72.03 120.03 # NEW 6
+ angle_coeff @angle:ce-cf-nh harmonic 69.48 121.52 # NEW 12
+ angle_coeff @angle:ch-cf-n2 harmonic 69.59 121.43 # NEW 6
+ angle_coeff @angle:c-cf-oh harmonic 68.34 117.92 # NEW 5
+ angle_coeff @angle:c-cf-os harmonic 69.09 113.78 # NEW 21
+ angle_coeff @angle:h4-cf-n1 harmonic 52.58 116.36 # NEW 7
+ angle_coeff @angle:h4-cf-nf harmonic 49.72 115.81 # NEW 7
+ angle_coeff @angle:n2-cf-os harmonic 74.58 118.13 # NEW 6
+ angle_coeff @angle:n2-cf-ss harmonic 64.40 117.23 # NEW 6
+ angle_coeff @angle:nf-cf-nh harmonic 71.89 112.91 # NEW 12
+ angle_coeff @angle:ne-cf-nh harmonic 73.31 118.13 # NEW 6
+ angle_coeff @angle:ca-ce-cd harmonic 62.70 130.80 # NEW 12
+ angle_coeff @angle:c-ce-cc harmonic 64.25 117.76 # NEW 10
+ angle_coeff @angle:c-ce-n2 harmonic 70.16 114.88 # NEW 5
+ angle_coeff @angle:h4-ce-nf harmonic 52.29 120.21 # NEW 6
+ angle_coeff @angle:c1-ch-cd harmonic 56.97 178.60 # NEW 6
+ angle_coeff @angle:ch-cg-cg harmonic 58.68 179.67 # NEW 7
+ angle_coeff @angle:n-c-nf harmonic 74.43 110.37 # NEW 10
+ angle_coeff @angle:ca-cq-na harmonic 68.78 119.43 # NEW 21
+ angle_coeff @angle:nb-cq-nb harmonic 71.31 125.72 # NEW 5
+ angle_coeff @angle:cd-cx-hc harmonic 47.37 113.84 # NEW 15
+ angle_coeff @angle:cf-cy-h2 harmonic 45.50 117.25 # NEW 17
+ angle_coeff @angle:cf-cy-n harmonic 74.69 88.02 # NEW 14
+ angle_coeff @angle:cf-cy-ss harmonic 58.47 121.33 # NEW 13
+ angle_coeff @angle:cd-n2-na harmonic 73.01 108.92 # NEW 9
+ angle_coeff @angle:cd-n2-nh harmonic 70.37 118.47 # NEW 6
+ angle_coeff @angle:c3-n4-cd harmonic 62.84 111.09 # NEW 7
+ angle_coeff @angle:c3-na-cq harmonic 63.76 119.46 # NEW 7
+ angle_coeff @angle:ca-na-cq harmonic 65.88 120.96 # NEW 20
+ angle_coeff @angle:cd-na-cf harmonic 63.05 126.61 # NEW 8
+ angle_coeff @angle:cq-nb-nb harmonic 68.79 121.11 # NEW 12
+ angle_coeff @angle:c-n-cf harmonic 62.21 131.83 # NEW 146
+ angle_coeff @angle:ca-nc-nd harmonic 73.55 108.41 # NEW 9
+ angle_coeff @angle:c2-nf-ch harmonic 68.36 123.58 # NEW 12
+ angle_coeff @angle:c-nf-sy harmonic 61.66 116.05 # NEW 6
+ angle_coeff @angle:c3-nh-ce harmonic 63.47 119.92 # NEW 20
+ angle_coeff @angle:cd-nh-n2 harmonic 68.23 119.66 # NEW 5
+ angle_coeff @angle:cd-nh-sy harmonic 61.22 122.91 # NEW 23
+ angle_coeff @angle:cf-nh-sy harmonic 63.58 112.97 # NEW 7
+ angle_coeff @angle:hn-n-nd harmonic 50.74 115.24 # NEW 10
+ angle_coeff @angle:cd-no-o harmonic 70.34 117.52 # NEW 198
+ angle_coeff @angle:n3-py-nf harmonic 41.93 108.44 # NEW 12
+ angle_coeff @angle:cd-s6-o harmonic 70.23 103.63 # NEW 9
+ angle_coeff @angle:cd-sh-hs harmonic 46.41 95.38 # NEW 8
+ angle_coeff @angle:c-ss-cd harmonic 65.61 92.43 # NEW 14
+ angle_coeff @angle:c3-sx-cd harmonic 62.52 95.11 # NEW 17
+ angle_coeff @angle:cd-sx-o harmonic 65.92 104.49 # NEW 17
+ angle_coeff @angle:c3-sy-cd harmonic 61.24 102.19 # NEW 12
+ angle_coeff @angle:ca-sy-cd harmonic 60.36 105.09 # NEW 5
+ angle_coeff @angle:ca-sy-nf harmonic 62.86 103.47 # NEW 11
+ angle_coeff @angle:cc-sy-nh harmonic 65.53 97.20 # NEW 6
+ angle_coeff @angle:n3-sy-nf harmonic 66.36 102.40 # NEW 5
+ } # (end of angle_coeffs)
+
+ write_once("Data Angles By Type") {
+ @angle:hw-ow-hw @atom:hw @atom:ow @atom:hw
+ @angle:hw-hw-ow @atom:hw @atom:hw @atom:ow
+ @angle:br-c1-br @atom:br @atom:c1 @atom:br
+ @angle:br-c1-c1 @atom:br @atom:c1 @atom:c1
+ @angle:c1-c1-c1 @atom:c1 @atom:c1 @atom:c1
+ @angle:c1-c1-c2 @atom:c1 @atom:c1 @atom:c2
+ @angle:c1-c1-c3 @atom:c1 @atom:c1 @atom:c3
+ @angle:c1-c1-ca @atom:c1 @atom:c1 @atom:ca
+ @angle:c1-c1-cl @atom:c1 @atom:c1 @atom:cl
+ @angle:c1-c1-f @atom:c1 @atom:c1 @atom:f
+ @angle:c1-c1-ha @atom:c1 @atom:c1 @atom:ha
+ @angle:c1-c1-hc @atom:c1 @atom:c1 @atom:hc
+ @angle:c1-c1-i @atom:c1 @atom:c1 @atom:i
+ @angle:c1-c1-n1 @atom:c1 @atom:c1 @atom:n1
+ @angle:c1-c1-n2 @atom:c1 @atom:c1 @atom:n2
+ @angle:c1-c1-n3 @atom:c1 @atom:c1 @atom:n3
+ @angle:c1-c1-n4 @atom:c1 @atom:c1 @atom:n4
+ @angle:c1-c1-n @atom:c1 @atom:c1 @atom:n
+ @angle:c1-c1-na @atom:c1 @atom:c1 @atom:na
+ @angle:c1-c1-nh @atom:c1 @atom:c1 @atom:nh
+ @angle:c1-c1-no @atom:c1 @atom:c1 @atom:no
+ @angle:c1-c1-o @atom:c1 @atom:c1 @atom:o
+ @angle:c1-c1-oh @atom:c1 @atom:c1 @atom:oh
+ @angle:c1-c1-os @atom:c1 @atom:c1 @atom:os
+ @angle:c1-c1-p2 @atom:c1 @atom:c1 @atom:p2
+ @angle:c1-c1-p3 @atom:c1 @atom:c1 @atom:p3
+ @angle:c1-c1-p4 @atom:c1 @atom:c1 @atom:p4
+ @angle:c1-c1-p5 @atom:c1 @atom:c1 @atom:p5
+ @angle:c1-c1-s4 @atom:c1 @atom:c1 @atom:s4
+ @angle:c1-c1-s6 @atom:c1 @atom:c1 @atom:s6
+ @angle:c1-c1-s @atom:c1 @atom:c1 @atom:s
+ @angle:c1-c1-sh @atom:c1 @atom:c1 @atom:sh
+ @angle:c1-c1-ss @atom:c1 @atom:c1 @atom:ss
+ @angle:c2-c1-c2 @atom:c2 @atom:c1 @atom:c2
+ @angle:c2-c1-ce @atom:c2 @atom:c1 @atom:ce
+ @angle:c2-c1-n1 @atom:c2 @atom:c1 @atom:n1
+ @angle:c2-c1-o @atom:c2 @atom:c1 @atom:o
+ @angle:c2-c1-s2 @atom:c2 @atom:c1 @atom:s2
+ @angle:c3-c1-c3 @atom:c3 @atom:c1 @atom:c3
+ @angle:c3-c1-cg @atom:c3 @atom:c1 @atom:cg
+ @angle:c3-c1-n1 @atom:c3 @atom:c1 @atom:n1
+ @angle:ca-c1-ca @atom:ca @atom:c1 @atom:ca
+ @angle:c-c1-c1 @atom:c @atom:c1 @atom:c1
+ @angle:cg-c1-ha @atom:cg @atom:c1 @atom:ha
+ @angle:ch-c1-ha @atom:ch @atom:c1 @atom:ha
+ @angle:cl-c1-cl @atom:cl @atom:c1 @atom:cl
+ @angle:f-c1-f @atom:f @atom:c1 @atom:f
+ @angle:i-c1-i @atom:i @atom:c1 @atom:i
+ @angle:n1-c1-n1 @atom:n1 @atom:c1 @atom:n1
+ @angle:n1-c1-n3 @atom:n1 @atom:c1 @atom:n3
+ @angle:n1-c1-nh @atom:n1 @atom:c1 @atom:nh
+ @angle:n1-c1-os @atom:n1 @atom:c1 @atom:os
+ @angle:n1-c1-p3 @atom:n1 @atom:c1 @atom:p3
+ @angle:n1-c1-ss @atom:n1 @atom:c1 @atom:ss
+ @angle:n2-c1-n2 @atom:n2 @atom:c1 @atom:n2
+ @angle:n2-c1-o @atom:n2 @atom:c1 @atom:o
+ @angle:n2-c1-s @atom:n2 @atom:c1 @atom:s
+ @angle:n3-c1-n3 @atom:n3 @atom:c1 @atom:n3
+ @angle:n4-c1-n4 @atom:n4 @atom:c1 @atom:n4
+ @angle:na-c1-na @atom:na @atom:c1 @atom:na
+ @angle:ne-c1-o @atom:ne @atom:c1 @atom:o
+ @angle:ne-c1-s @atom:ne @atom:c1 @atom:s
+ @angle:nf-c1-o @atom:nf @atom:c1 @atom:o
+ @angle:nh-c1-nh @atom:nh @atom:c1 @atom:nh
+ @angle:n-c1-n @atom:n @atom:c1 @atom:n
+ @angle:no-c1-no @atom:no @atom:c1 @atom:no
+ @angle:oh-c1-oh @atom:oh @atom:c1 @atom:oh
+ @angle:o-c1-o @atom:o @atom:c1 @atom:o
+ @angle:os-c1-os @atom:os @atom:c1 @atom:os
+ @angle:p2-c1-p2 @atom:p2 @atom:c1 @atom:p2
+ @angle:p3-c1-p3 @atom:p3 @atom:c1 @atom:p3
+ @angle:p4-c1-p4 @atom:p4 @atom:c1 @atom:p4
+ @angle:p5-c1-p5 @atom:p5 @atom:c1 @atom:p5
+ @angle:s2-c1-s2 @atom:s2 @atom:c1 @atom:s2
+ @angle:s4-c1-s4 @atom:s4 @atom:c1 @atom:s4
+ @angle:s6-c1-s6 @atom:s6 @atom:c1 @atom:s6
+ @angle:sh-c1-sh @atom:sh @atom:c1 @atom:sh
+ @angle:s-c1-s @atom:s @atom:c1 @atom:s
+ @angle:ss-c1-ss @atom:ss @atom:c1 @atom:ss
+ @angle:br-c2-br @atom:br @atom:c2 @atom:br
+ @angle:br-c2-c2 @atom:br @atom:c2 @atom:c2
+ @angle:br-c2-c3 @atom:br @atom:c2 @atom:c3
+ @angle:br-c2-ce @atom:br @atom:c2 @atom:ce
+ @angle:br-c2-h4 @atom:br @atom:c2 @atom:h4
+ @angle:br-c2-ha @atom:br @atom:c2 @atom:ha
+ @angle:c1-c2-c1 @atom:c1 @atom:c2 @atom:c1
+ @angle:c1-c2-c2 @atom:c1 @atom:c2 @atom:c2
+ @angle:c1-c2-c3 @atom:c1 @atom:c2 @atom:c3
+ @angle:c1-c2-f @atom:c1 @atom:c2 @atom:f
+ @angle:c1-c2-ha @atom:c1 @atom:c2 @atom:ha
+ @angle:c2-c2-c2 @atom:c2 @atom:c2 @atom:c2
+ @angle:c2-c2-c3 @atom:c2 @atom:c2 @atom:c3
+ @angle:c2-c2-ca @atom:c2 @atom:c2 @atom:ca
+ @angle:c2-c2-cc @atom:c2 @atom:c2 @atom:cc
+ @angle:c2-c2-cd @atom:c2 @atom:c2 @atom:cd
+ @angle:c2-c2-cl @atom:c2 @atom:c2 @atom:cl
+ @angle:c2-c2-cx @atom:c2 @atom:c2 @atom:cx
+ @angle:c2-c2-cy @atom:c2 @atom:c2 @atom:cy
+ @angle:c2-c2-f @atom:c2 @atom:c2 @atom:f
+ @angle:c2-c2-h4 @atom:c2 @atom:c2 @atom:h4
+ @angle:c2-c2-ha @atom:c2 @atom:c2 @atom:ha
+ @angle:c2-c2-hc @atom:c2 @atom:c2 @atom:hc
+ @angle:c2-c2-hx @atom:c2 @atom:c2 @atom:hx
+ @angle:c2-c2-i @atom:c2 @atom:c2 @atom:i
+ @angle:c2-c2-n1 @atom:c2 @atom:c2 @atom:n1
+ @angle:c2-c2-n2 @atom:c2 @atom:c2 @atom:n2
+ @angle:c2-c2-n3 @atom:c2 @atom:c2 @atom:n3
+ @angle:c2-c2-n4 @atom:c2 @atom:c2 @atom:n4
+ @angle:c2-c2-n @atom:c2 @atom:c2 @atom:n
+ @angle:c2-c2-na @atom:c2 @atom:c2 @atom:na
+ @angle:c2-c2-nh @atom:c2 @atom:c2 @atom:nh
+ @angle:c2-c2-no @atom:c2 @atom:c2 @atom:no
+ @angle:c2-c2-o @atom:c2 @atom:c2 @atom:o
+ @angle:c2-c2-oh @atom:c2 @atom:c2 @atom:oh
+ @angle:c2-c2-os @atom:c2 @atom:c2 @atom:os
+ @angle:c2-c2-p2 @atom:c2 @atom:c2 @atom:p2
+ @angle:c2-c2-p3 @atom:c2 @atom:c2 @atom:p3
+ @angle:c2-c2-p4 @atom:c2 @atom:c2 @atom:p4
+ @angle:c2-c2-p5 @atom:c2 @atom:c2 @atom:p5
+ @angle:c2-c2-s4 @atom:c2 @atom:c2 @atom:s4
+ @angle:c2-c2-s6 @atom:c2 @atom:c2 @atom:s6
+ @angle:c2-c2-s @atom:c2 @atom:c2 @atom:s
+ @angle:c2-c2-sh @atom:c2 @atom:c2 @atom:sh
+ @angle:c2-c2-ss @atom:c2 @atom:c2 @atom:ss
+ @angle:c3-c2-c3 @atom:c3 @atom:c2 @atom:c3
+ @angle:c3-c2-cc @atom:c3 @atom:c2 @atom:cc
+ @angle:c3-c2-cd @atom:c3 @atom:c2 @atom:cd
+ @angle:c3-c2-ce @atom:c3 @atom:c2 @atom:ce
+ @angle:c3-c2-cf @atom:c3 @atom:c2 @atom:cf
+ @angle:c3-c2-h4 @atom:c3 @atom:c2 @atom:h4
+ @angle:c3-c2-ha @atom:c3 @atom:c2 @atom:ha
+ @angle:c3-c2-hc @atom:c3 @atom:c2 @atom:hc
+ @angle:c3-c2-n2 @atom:c3 @atom:c2 @atom:n2
+ @angle:c3-c2-n @atom:c3 @atom:c2 @atom:n
+ @angle:c3-c2-na @atom:c3 @atom:c2 @atom:na
+ @angle:c3-c2-ne @atom:c3 @atom:c2 @atom:ne
+ @angle:c3-c2-nf @atom:c3 @atom:c2 @atom:nf
+ @angle:c3-c2-nh @atom:c3 @atom:c2 @atom:nh
+ @angle:c3-c2-o @atom:c3 @atom:c2 @atom:o
+ @angle:c3-c2-oh @atom:c3 @atom:c2 @atom:oh
+ @angle:c3-c2-os @atom:c3 @atom:c2 @atom:os
+ @angle:c3-c2-p2 @atom:c3 @atom:c2 @atom:p2
+ @angle:c3-c2-s @atom:c3 @atom:c2 @atom:s
+ @angle:c3-c2-ss @atom:c3 @atom:c2 @atom:ss
+ @angle:ca-c2-ca @atom:ca @atom:c2 @atom:ca
+ @angle:ca-c2-hc @atom:ca @atom:c2 @atom:hc
+ @angle:c-c2-c2 @atom:c @atom:c2 @atom:c2
+ @angle:c-c2-c3 @atom:c @atom:c2 @atom:c3
+ @angle:c-c2-c @atom:c @atom:c2 @atom:c
+ @angle:cc-c2-h4 @atom:cc @atom:c2 @atom:h4
+ @angle:cc-c2-ha @atom:cc @atom:c2 @atom:ha
+ @angle:cc-c2-nh @atom:cc @atom:c2 @atom:nh
+ @angle:cc-c2-o @atom:cc @atom:c2 @atom:o
+ @angle:cd-c2-ha @atom:cd @atom:c2 @atom:ha
+ @angle:ce-c2-cl @atom:ce @atom:c2 @atom:cl
+ @angle:ce-c2-h4 @atom:ce @atom:c2 @atom:h4
+ @angle:ce-c2-ha @atom:ce @atom:c2 @atom:ha
+ @angle:ce-c2-na @atom:ce @atom:c2 @atom:na
+ @angle:ce-c2-nh @atom:ce @atom:c2 @atom:nh
+ @angle:ce-c2-no @atom:ce @atom:c2 @atom:no
+ @angle:ce-c2-o @atom:ce @atom:c2 @atom:o
+ @angle:ce-c2-oh @atom:ce @atom:c2 @atom:oh
+ @angle:ce-c2-os @atom:ce @atom:c2 @atom:os
+ @angle:cf-c2-ha @atom:cf @atom:c2 @atom:ha
+ @angle:c-c2-ha @atom:c @atom:c2 @atom:ha
+ @angle:c-c2-hc @atom:c @atom:c2 @atom:hc
+ @angle:cl-c2-cl @atom:cl @atom:c2 @atom:cl
+ @angle:cl-c2-h4 @atom:cl @atom:c2 @atom:h4
+ @angle:cl-c2-ha @atom:cl @atom:c2 @atom:ha
+ @angle:cx-c2-ha @atom:cx @atom:c2 @atom:ha
+ @angle:f-c2-f @atom:f @atom:c2 @atom:f
+ @angle:f-c2-ha @atom:f @atom:c2 @atom:ha
+ @angle:h4-c2-n2 @atom:h4 @atom:c2 @atom:n2
+ @angle:h4-c2-n @atom:h4 @atom:c2 @atom:n
+ @angle:h4-c2-na @atom:h4 @atom:c2 @atom:na
+ @angle:h4-c2-ne @atom:h4 @atom:c2 @atom:ne
+ @angle:h4-c2-nh @atom:h4 @atom:c2 @atom:nh
+ @angle:h4-c2-no @atom:h4 @atom:c2 @atom:no
+ @angle:h4-c2-os @atom:h4 @atom:c2 @atom:os
+ @angle:h4-c2-ss @atom:h4 @atom:c2 @atom:ss
+ @angle:h5-c2-n2 @atom:h5 @atom:c2 @atom:n2
+ @angle:h5-c2-na @atom:h5 @atom:c2 @atom:na
+ @angle:h5-c2-ne @atom:h5 @atom:c2 @atom:ne
+ @angle:h5-c2-nh @atom:h5 @atom:c2 @atom:nh
+ @angle:ha-c2-ha @atom:ha @atom:c2 @atom:ha
+ @angle:ha-c2-n1 @atom:ha @atom:c2 @atom:n1
+ @angle:ha-c2-n2 @atom:ha @atom:c2 @atom:n2
+ @angle:ha-c2-n3 @atom:ha @atom:c2 @atom:n3
+ @angle:ha-c2-n @atom:ha @atom:c2 @atom:n
+ @angle:ha-c2-na @atom:ha @atom:c2 @atom:na
+ @angle:ha-c2-ne @atom:ha @atom:c2 @atom:ne
+ @angle:ha-c2-nf @atom:ha @atom:c2 @atom:nf
+ @angle:ha-c2-nh @atom:ha @atom:c2 @atom:nh
+ @angle:ha-c2-no @atom:ha @atom:c2 @atom:no
+ @angle:ha-c2-o @atom:ha @atom:c2 @atom:o
+ @angle:ha-c2-oh @atom:ha @atom:c2 @atom:oh
+ @angle:ha-c2-os @atom:ha @atom:c2 @atom:os
+ @angle:ha-c2-p2 @atom:ha @atom:c2 @atom:p2
+ @angle:ha-c2-p3 @atom:ha @atom:c2 @atom:p3
+ @angle:ha-c2-p4 @atom:ha @atom:c2 @atom:p4
+ @angle:ha-c2-p5 @atom:ha @atom:c2 @atom:p5
+ @angle:ha-c2-pe @atom:ha @atom:c2 @atom:pe
+ @angle:ha-c2-pf @atom:ha @atom:c2 @atom:pf
+ @angle:ha-c2-s2 @atom:ha @atom:c2 @atom:s2
+ @angle:ha-c2-s4 @atom:ha @atom:c2 @atom:s4
+ @angle:ha-c2-s @atom:ha @atom:c2 @atom:s
+ @angle:ha-c2-s6 @atom:ha @atom:c2 @atom:s6
+ @angle:ha-c2-sh @atom:ha @atom:c2 @atom:sh
+ @angle:ha-c2-ss @atom:ha @atom:c2 @atom:ss
+ @angle:hc-c2-hc @atom:hc @atom:c2 @atom:hc
+ @angle:hc-c2-n2 @atom:hc @atom:c2 @atom:n2
+ @angle:hc-c2-n @atom:hc @atom:c2 @atom:n
+ @angle:hc-c2-na @atom:hc @atom:c2 @atom:na
+ @angle:hc-c2-nh @atom:hc @atom:c2 @atom:nh
+ @angle:hc-c2-no @atom:hc @atom:c2 @atom:no
+ @angle:hc-c2-oh @atom:hc @atom:c2 @atom:oh
+ @angle:hc-c2-os @atom:hc @atom:c2 @atom:os
+ @angle:hc-c2-p3 @atom:hc @atom:c2 @atom:p3
+ @angle:hc-c2-p5 @atom:hc @atom:c2 @atom:p5
+ @angle:hc-c2-s4 @atom:hc @atom:c2 @atom:s4
+ @angle:hc-c2-s6 @atom:hc @atom:c2 @atom:s6
+ @angle:hc-c2-sh @atom:hc @atom:c2 @atom:sh
+ @angle:hc-c2-ss @atom:hc @atom:c2 @atom:ss
+ @angle:hx-c2-n4 @atom:hx @atom:c2 @atom:n4
+ @angle:i-c2-i @atom:i @atom:c2 @atom:i
+ @angle:n1-c2-n1 @atom:n1 @atom:c2 @atom:n1
+ @angle:n2-c2-n2 @atom:n2 @atom:c2 @atom:n2
+ @angle:n2-c2-n4 @atom:n2 @atom:c2 @atom:n4
+ @angle:n2-c2-na @atom:n2 @atom:c2 @atom:na
+ @angle:n2-c2-nh @atom:n2 @atom:c2 @atom:nh
+ @angle:n2-c2-oh @atom:n2 @atom:c2 @atom:oh
+ @angle:n2-c2-os @atom:n2 @atom:c2 @atom:os
+ @angle:n2-c2-ss @atom:n2 @atom:c2 @atom:ss
+ @angle:n3-c2-n3 @atom:n3 @atom:c2 @atom:n3
+ @angle:n4-c2-n4 @atom:n4 @atom:c2 @atom:n4
+ @angle:n4-c2-ss @atom:n4 @atom:c2 @atom:ss
+ @angle:na-c2-na @atom:na @atom:c2 @atom:na
+ @angle:ne-c2-nh @atom:ne @atom:c2 @atom:nh
+ @angle:ne-c2-os @atom:ne @atom:c2 @atom:os
+ @angle:ne-c2-ss @atom:ne @atom:c2 @atom:ss
+ @angle:nf-c2-nh @atom:nf @atom:c2 @atom:nh
+ @angle:nh-c2-nh @atom:nh @atom:c2 @atom:nh
+ @angle:nh-c2-oh @atom:nh @atom:c2 @atom:oh
+ @angle:nh-c2-os @atom:nh @atom:c2 @atom:os
+ @angle:nh-c2-ss @atom:nh @atom:c2 @atom:ss
+ @angle:n-c2-n2 @atom:n @atom:c2 @atom:n2
+ @angle:n-c2-n @atom:n @atom:c2 @atom:n
+ @angle:n-c2-na @atom:n @atom:c2 @atom:na
+ @angle:n-c2-ne @atom:n @atom:c2 @atom:ne
+ @angle:n-c2-nh @atom:n @atom:c2 @atom:nh
+ @angle:no-c2-no @atom:no @atom:c2 @atom:no
+ @angle:n-c2-ss @atom:n @atom:c2 @atom:ss
+ @angle:oh-c2-oh @atom:oh @atom:c2 @atom:oh
+ @angle:o-c2-o @atom:o @atom:c2 @atom:o
+ @angle:o-c2-oh @atom:o @atom:c2 @atom:oh
+ @angle:o-c2-s @atom:o @atom:c2 @atom:s
+ @angle:os-c2-os @atom:os @atom:c2 @atom:os
+ @angle:p2-c2-p2 @atom:p2 @atom:c2 @atom:p2
+ @angle:p3-c2-p3 @atom:p3 @atom:c2 @atom:p3
+ @angle:p5-c2-p5 @atom:p5 @atom:c2 @atom:p5
+ @angle:s4-c2-s4 @atom:s4 @atom:c2 @atom:s4
+ @angle:s4-c2-s6 @atom:s4 @atom:c2 @atom:s6
+ @angle:s6-c2-s6 @atom:s6 @atom:c2 @atom:s6
+ @angle:sh-c2-sh @atom:sh @atom:c2 @atom:sh
+ @angle:sh-c2-ss @atom:sh @atom:c2 @atom:ss
+ @angle:s-c2-s @atom:s @atom:c2 @atom:s
+ @angle:ss-c2-ss @atom:ss @atom:c2 @atom:ss
+ @angle:br-c3-br @atom:br @atom:c3 @atom:br
+ @angle:br-c3-c1 @atom:br @atom:c3 @atom:c1
+ @angle:br-c3-c3 @atom:br @atom:c3 @atom:c3
+ @angle:br-c3-c @atom:br @atom:c3 @atom:c
+ @angle:br-c3-h1 @atom:br @atom:c3 @atom:h1
+ @angle:br-c3-h2 @atom:br @atom:c3 @atom:h2
+ @angle:br-c3-hc @atom:br @atom:c3 @atom:hc
+ @angle:c1-c3-c1 @atom:c1 @atom:c3 @atom:c1
+ @angle:c1-c3-c2 @atom:c1 @atom:c3 @atom:c2
+ @angle:c1-c3-c3 @atom:c1 @atom:c3 @atom:c3
+ @angle:c1-c3-ca @atom:c1 @atom:c3 @atom:ca
+ @angle:c1-c3-cc @atom:c1 @atom:c3 @atom:cc
+ @angle:c1-c3-cd @atom:c1 @atom:c3 @atom:cd
+ @angle:c1-c3-cl @atom:c1 @atom:c3 @atom:cl
+ @angle:c1-c3-h1 @atom:c1 @atom:c3 @atom:h1
+ @angle:c1-c3-hc @atom:c1 @atom:c3 @atom:hc
+ @angle:c1-c3-hx @atom:c1 @atom:c3 @atom:hx
+ @angle:c1-c3-n3 @atom:c1 @atom:c3 @atom:n3
+ @angle:c1-c3-n4 @atom:c1 @atom:c3 @atom:n4
+ @angle:c1-c3-n @atom:c1 @atom:c3 @atom:n
+ @angle:c1-c3-nh @atom:c1 @atom:c3 @atom:nh
+ @angle:c1-c3-oh @atom:c1 @atom:c3 @atom:oh
+ @angle:c1-c3-os @atom:c1 @atom:c3 @atom:os
+ @angle:c2-c3-c2 @atom:c2 @atom:c3 @atom:c2
+ @angle:c2-c3-c3 @atom:c2 @atom:c3 @atom:c3
+ @angle:c2-c3-ca @atom:c2 @atom:c3 @atom:ca
+ @angle:c2-c3-cc @atom:c2 @atom:c3 @atom:cc
+ @angle:c2-c3-cd @atom:c2 @atom:c3 @atom:cd
+ @angle:c2-c3-ce @atom:c2 @atom:c3 @atom:ce
+ @angle:c2-c3-cf @atom:c2 @atom:c3 @atom:cf
+ @angle:c2-c3-cl @atom:c2 @atom:c3 @atom:cl
+ @angle:c2-c3-cx @atom:c2 @atom:c3 @atom:cx
+ @angle:c2-c3-cy @atom:c2 @atom:c3 @atom:cy
+ @angle:c2-c3-f @atom:c2 @atom:c3 @atom:f
+ @angle:c2-c3-h1 @atom:c2 @atom:c3 @atom:h1
+ @angle:c2-c3-h2 @atom:c2 @atom:c3 @atom:h2
+ @angle:c2-c3-hc @atom:c2 @atom:c3 @atom:hc
+ @angle:c2-c3-hx @atom:c2 @atom:c3 @atom:hx
+ @angle:c2-c3-n2 @atom:c2 @atom:c3 @atom:n2
+ @angle:c2-c3-n3 @atom:c2 @atom:c3 @atom:n3
+ @angle:c2-c3-n @atom:c2 @atom:c3 @atom:n
+ @angle:c2-c3-na @atom:c2 @atom:c3 @atom:na
+ @angle:c2-c3-nh @atom:c2 @atom:c3 @atom:nh
+ @angle:c2-c3-oh @atom:c2 @atom:c3 @atom:oh
+ @angle:c2-c3-os @atom:c2 @atom:c3 @atom:os
+ @angle:c2-c3-s4 @atom:c2 @atom:c3 @atom:s4
+ @angle:c2-c3-ss @atom:c2 @atom:c3 @atom:ss
+ @angle:c3-c3-c3 @atom:c3 @atom:c3 @atom:c3
+ @angle:c3-c3-ca @atom:c3 @atom:c3 @atom:ca
+ @angle:c3-c3-cc @atom:c3 @atom:c3 @atom:cc
+ @angle:c3-c3-cd @atom:c3 @atom:c3 @atom:cd
+ @angle:c3-c3-ce @atom:c3 @atom:c3 @atom:ce
+ @angle:c3-c3-cf @atom:c3 @atom:c3 @atom:cf
+ @angle:c3-c3-cl @atom:c3 @atom:c3 @atom:cl
+ @angle:c3-c3-cx @atom:c3 @atom:c3 @atom:cx
+ @angle:c3-c3-cy @atom:c3 @atom:c3 @atom:cy
+ @angle:c3-c3-f @atom:c3 @atom:c3 @atom:f
+ @angle:c3-c3-h1 @atom:c3 @atom:c3 @atom:h1
+ @angle:c3-c3-h2 @atom:c3 @atom:c3 @atom:h2
+ @angle:c3-c3-hc @atom:c3 @atom:c3 @atom:hc
+ @angle:c3-c3-hx @atom:c3 @atom:c3 @atom:hx
+ @angle:c3-c3-i @atom:c3 @atom:c3 @atom:i
+ @angle:c3-c3-n1 @atom:c3 @atom:c3 @atom:n1
+ @angle:c3-c3-n2 @atom:c3 @atom:c3 @atom:n2
+ @angle:c3-c3-n3 @atom:c3 @atom:c3 @atom:n3
+ @angle:c3-c3-n4 @atom:c3 @atom:c3 @atom:n4
+ @angle:c3-c3-n @atom:c3 @atom:c3 @atom:n
+ @angle:c3-c3-na @atom:c3 @atom:c3 @atom:na
+ @angle:c3-c3-nh @atom:c3 @atom:c3 @atom:nh
+ @angle:c3-c3-no @atom:c3 @atom:c3 @atom:no
+ @angle:c3-c3-o @atom:c3 @atom:c3 @atom:o
+ @angle:c3-c3-oh @atom:c3 @atom:c3 @atom:oh
+ @angle:c3-c3-os @atom:c3 @atom:c3 @atom:os
+ @angle:c3-c3-p3 @atom:c3 @atom:c3 @atom:p3
+ @angle:c3-c3-p5 @atom:c3 @atom:c3 @atom:p5
+ @angle:c3-c3-s4 @atom:c3 @atom:c3 @atom:s4
+ @angle:c3-c3-s6 @atom:c3 @atom:c3 @atom:s6
+ @angle:c3-c3-sh @atom:c3 @atom:c3 @atom:sh
+ @angle:c3-c3-ss @atom:c3 @atom:c3 @atom:ss
+ @angle:c3-c3-sy @atom:c3 @atom:c3 @atom:sy
+ @angle:ca-c3-ca @atom:ca @atom:c3 @atom:ca
+ @angle:ca-c3-cc @atom:ca @atom:c3 @atom:cc
+ @angle:ca-c3-cd @atom:ca @atom:c3 @atom:cd
+ @angle:ca-c3-ce @atom:ca @atom:c3 @atom:ce
+ @angle:ca-c3-cl @atom:ca @atom:c3 @atom:cl
+ @angle:ca-c3-cx @atom:ca @atom:c3 @atom:cx
+ @angle:ca-c3-f @atom:ca @atom:c3 @atom:f
+ @angle:ca-c3-h1 @atom:ca @atom:c3 @atom:h1
+ @angle:ca-c3-h2 @atom:ca @atom:c3 @atom:h2
+ @angle:ca-c3-hc @atom:ca @atom:c3 @atom:hc
+ @angle:ca-c3-hx @atom:ca @atom:c3 @atom:hx
+ @angle:ca-c3-n2 @atom:ca @atom:c3 @atom:n2
+ @angle:ca-c3-n3 @atom:ca @atom:c3 @atom:n3
+ @angle:ca-c3-n4 @atom:ca @atom:c3 @atom:n4
+ @angle:ca-c3-n @atom:ca @atom:c3 @atom:n
+ @angle:ca-c3-na @atom:ca @atom:c3 @atom:na
+ @angle:ca-c3-nc @atom:ca @atom:c3 @atom:nc
+ @angle:ca-c3-nd @atom:ca @atom:c3 @atom:nd
+ @angle:ca-c3-nh @atom:ca @atom:c3 @atom:nh
+ @angle:ca-c3-oh @atom:ca @atom:c3 @atom:oh
+ @angle:ca-c3-os @atom:ca @atom:c3 @atom:os
+ @angle:ca-c3-p5 @atom:ca @atom:c3 @atom:p5
+ @angle:ca-c3-s6 @atom:ca @atom:c3 @atom:s6
+ @angle:ca-c3-ss @atom:ca @atom:c3 @atom:ss
+ @angle:ca-c3-sx @atom:ca @atom:c3 @atom:sx
+ @angle:c-c3-c1 @atom:c @atom:c3 @atom:c1
+ @angle:c-c3-c2 @atom:c @atom:c3 @atom:c2
+ @angle:c-c3-c3 @atom:c @atom:c3 @atom:c3
+ @angle:c-c3-c @atom:c @atom:c3 @atom:c
+ @angle:c-c3-ca @atom:c @atom:c3 @atom:ca
+ @angle:c-c3-cc @atom:c @atom:c3 @atom:cc
+ @angle:cc-c3-cc @atom:cc @atom:c3 @atom:cc
+ @angle:cc-c3-cd @atom:cc @atom:c3 @atom:cd
+ @angle:cc-c3-cx @atom:cc @atom:c3 @atom:cx
+ @angle:c-c3-cd @atom:c @atom:c3 @atom:cd
+ @angle:c-c3-ce @atom:c @atom:c3 @atom:ce
+ @angle:cc-c3-f @atom:cc @atom:c3 @atom:f
+ @angle:cc-c3-h1 @atom:cc @atom:c3 @atom:h1
+ @angle:cc-c3-hc @atom:cc @atom:c3 @atom:hc
+ @angle:cc-c3-hx @atom:cc @atom:c3 @atom:hx
+ @angle:c-c3-cl @atom:c @atom:c3 @atom:cl
+ @angle:cc-c3-n2 @atom:cc @atom:c3 @atom:n2
+ @angle:cc-c3-n3 @atom:cc @atom:c3 @atom:n3
+ @angle:cc-c3-n4 @atom:cc @atom:c3 @atom:n4
+ @angle:cc-c3-n @atom:cc @atom:c3 @atom:n
+ @angle:cc-c3-na @atom:cc @atom:c3 @atom:na
+ @angle:cc-c3-nc @atom:cc @atom:c3 @atom:nc
+ @angle:cc-c3-nh @atom:cc @atom:c3 @atom:nh
+ @angle:cc-c3-oh @atom:cc @atom:c3 @atom:oh
+ @angle:cc-c3-os @atom:cc @atom:c3 @atom:os
+ @angle:cc-c3-p5 @atom:cc @atom:c3 @atom:p5
+ @angle:cc-c3-sh @atom:cc @atom:c3 @atom:sh
+ @angle:cc-c3-ss @atom:cc @atom:c3 @atom:ss
+ @angle:c-c3-cx @atom:c @atom:c3 @atom:cx
+ @angle:cd-c3-cd @atom:cd @atom:c3 @atom:cd
+ @angle:cd-c3-f @atom:cd @atom:c3 @atom:f
+ @angle:cd-c3-h1 @atom:cd @atom:c3 @atom:h1
+ @angle:cd-c3-hc @atom:cd @atom:c3 @atom:hc
+ @angle:cd-c3-n3 @atom:cd @atom:c3 @atom:n3
+ @angle:cd-c3-n @atom:cd @atom:c3 @atom:n
+ @angle:cd-c3-nd @atom:cd @atom:c3 @atom:nd
+ @angle:cd-c3-nh @atom:cd @atom:c3 @atom:nh
+ @angle:cd-c3-oh @atom:cd @atom:c3 @atom:oh
+ @angle:cd-c3-os @atom:cd @atom:c3 @atom:os
+ @angle:cd-c3-sh @atom:cd @atom:c3 @atom:sh
+ @angle:cd-c3-ss @atom:cd @atom:c3 @atom:ss
+ @angle:ce-c3-ce @atom:ce @atom:c3 @atom:ce
+ @angle:ce-c3-cy @atom:ce @atom:c3 @atom:cy
+ @angle:ce-c3-h1 @atom:ce @atom:c3 @atom:h1
+ @angle:ce-c3-hc @atom:ce @atom:c3 @atom:hc
+ @angle:ce-c3-n3 @atom:ce @atom:c3 @atom:n3
+ @angle:ce-c3-n @atom:ce @atom:c3 @atom:n
+ @angle:ce-c3-oh @atom:ce @atom:c3 @atom:oh
+ @angle:ce-c3-os @atom:ce @atom:c3 @atom:os
+ @angle:ce-c3-ss @atom:ce @atom:c3 @atom:ss
+ @angle:c-c3-f @atom:c @atom:c3 @atom:f
+ @angle:cf-c3-cy @atom:cf @atom:c3 @atom:cy
+ @angle:cf-c3-h1 @atom:cf @atom:c3 @atom:h1
+ @angle:cf-c3-hc @atom:cf @atom:c3 @atom:hc
+ @angle:cf-c3-n3 @atom:cf @atom:c3 @atom:n3
+ @angle:c-c3-h1 @atom:c @atom:c3 @atom:h1
+ @angle:c-c3-h2 @atom:c @atom:c3 @atom:h2
+ @angle:c-c3-hc @atom:c @atom:c3 @atom:hc
+ @angle:c-c3-hx @atom:c @atom:c3 @atom:hx
+ @angle:cl-c3-cl @atom:cl @atom:c3 @atom:cl
+ @angle:cl-c3-f @atom:cl @atom:c3 @atom:f
+ @angle:cl-c3-h1 @atom:cl @atom:c3 @atom:h1
+ @angle:cl-c3-h2 @atom:cl @atom:c3 @atom:h2
+ @angle:cl-c3-hc @atom:cl @atom:c3 @atom:hc
+ @angle:cl-c3-os @atom:cl @atom:c3 @atom:os
+ @angle:cl-c3-ss @atom:cl @atom:c3 @atom:ss
+ @angle:c-c3-n2 @atom:c @atom:c3 @atom:n2
+ @angle:c-c3-n3 @atom:c @atom:c3 @atom:n3
+ @angle:c-c3-n4 @atom:c @atom:c3 @atom:n4
+ @angle:c-c3-n @atom:c @atom:c3 @atom:n
+ @angle:c-c3-na @atom:c @atom:c3 @atom:na
+ @angle:c-c3-nh @atom:c @atom:c3 @atom:nh
+ @angle:c-c3-oh @atom:c @atom:c3 @atom:oh
+ @angle:c-c3-os @atom:c @atom:c3 @atom:os
+ @angle:c-c3-p5 @atom:c @atom:c3 @atom:p5
+ @angle:c-c3-s6 @atom:c @atom:c3 @atom:s6
+ @angle:c-c3-sh @atom:c @atom:c3 @atom:sh
+ @angle:c-c3-ss @atom:c @atom:c3 @atom:ss
+ @angle:cx-c3-cx @atom:cx @atom:c3 @atom:cx
+ @angle:cx-c3-h1 @atom:cx @atom:c3 @atom:h1
+ @angle:cx-c3-hc @atom:cx @atom:c3 @atom:hc
+ @angle:cx-c3-hx @atom:cx @atom:c3 @atom:hx
+ @angle:cx-c3-n3 @atom:cx @atom:c3 @atom:n3
+ @angle:cx-c3-n4 @atom:cx @atom:c3 @atom:n4
+ @angle:cx-c3-n @atom:cx @atom:c3 @atom:n
+ @angle:cx-c3-oh @atom:cx @atom:c3 @atom:oh
+ @angle:cx-c3-os @atom:cx @atom:c3 @atom:os
+ @angle:cy-c3-h1 @atom:cy @atom:c3 @atom:h1
+ @angle:cy-c3-hc @atom:cy @atom:c3 @atom:hc
+ @angle:cy-c3-n3 @atom:cy @atom:c3 @atom:n3
+ @angle:cy-c3-oh @atom:cy @atom:c3 @atom:oh
+ @angle:cy-c3-os @atom:cy @atom:c3 @atom:os
+ @angle:f-c3-f @atom:f @atom:c3 @atom:f
+ @angle:f-c3-h1 @atom:f @atom:c3 @atom:h1
+ @angle:f-c3-h2 @atom:f @atom:c3 @atom:h2
+ @angle:f-c3-h3 @atom:f @atom:c3 @atom:h3
+ @angle:f-c3-hc @atom:f @atom:c3 @atom:hc
+ @angle:f-c3-n2 @atom:f @atom:c3 @atom:n2
+ @angle:f-c3-os @atom:f @atom:c3 @atom:os
+ @angle:f-c3-p5 @atom:f @atom:c3 @atom:p5
+ @angle:f-c3-s6 @atom:f @atom:c3 @atom:s6
+ @angle:f-c3-ss @atom:f @atom:c3 @atom:ss
+ @angle:h1-c3-h1 @atom:h1 @atom:c3 @atom:h1
+ @angle:h1-c3-n1 @atom:h1 @atom:c3 @atom:n1
+ @angle:h1-c3-n2 @atom:h1 @atom:c3 @atom:n2
+ @angle:h1-c3-n3 @atom:h1 @atom:c3 @atom:n3
+ @angle:h1-c3-n @atom:h1 @atom:c3 @atom:n
+ @angle:h1-c3-na @atom:h1 @atom:c3 @atom:na
+ @angle:h1-c3-nc @atom:h1 @atom:c3 @atom:nc
+ @angle:h1-c3-nd @atom:h1 @atom:c3 @atom:nd
+ @angle:h1-c3-nh @atom:h1 @atom:c3 @atom:nh
+ @angle:h1-c3-no @atom:h1 @atom:c3 @atom:no
+ @angle:h1-c3-o @atom:h1 @atom:c3 @atom:o
+ @angle:h1-c3-oh @atom:h1 @atom:c3 @atom:oh
+ @angle:h1-c3-os @atom:h1 @atom:c3 @atom:os
+ @angle:h1-c3-p5 @atom:h1 @atom:c3 @atom:p5
+ @angle:h1-c3-s4 @atom:h1 @atom:c3 @atom:s4
+ @angle:h1-c3-s @atom:h1 @atom:c3 @atom:s
+ @angle:h1-c3-s6 @atom:h1 @atom:c3 @atom:s6
+ @angle:h1-c3-sh @atom:h1 @atom:c3 @atom:sh
+ @angle:h1-c3-ss @atom:h1 @atom:c3 @atom:ss
+ @angle:h1-c3-sx @atom:h1 @atom:c3 @atom:sx
+ @angle:h1-c3-sy @atom:h1 @atom:c3 @atom:sy
+ @angle:h2-c3-h2 @atom:h2 @atom:c3 @atom:h2
+ @angle:h2-c3-i @atom:h2 @atom:c3 @atom:i
+ @angle:h2-c3-n2 @atom:h2 @atom:c3 @atom:n2
+ @angle:h2-c3-n3 @atom:h2 @atom:c3 @atom:n3
+ @angle:h2-c3-n @atom:h2 @atom:c3 @atom:n
+ @angle:h2-c3-na @atom:h2 @atom:c3 @atom:na
+ @angle:h2-c3-nc @atom:h2 @atom:c3 @atom:nc
+ @angle:h2-c3-nd @atom:h2 @atom:c3 @atom:nd
+ @angle:h2-c3-nh @atom:h2 @atom:c3 @atom:nh
+ @angle:h2-c3-no @atom:h2 @atom:c3 @atom:no
+ @angle:h2-c3-o @atom:h2 @atom:c3 @atom:o
+ @angle:h2-c3-oh @atom:h2 @atom:c3 @atom:oh
+ @angle:h2-c3-os @atom:h2 @atom:c3 @atom:os
+ @angle:h2-c3-s4 @atom:h2 @atom:c3 @atom:s4
+ @angle:h2-c3-s @atom:h2 @atom:c3 @atom:s
+ @angle:h2-c3-s6 @atom:h2 @atom:c3 @atom:s6
+ @angle:h2-c3-sh @atom:h2 @atom:c3 @atom:sh
+ @angle:h2-c3-ss @atom:h2 @atom:c3 @atom:ss
+ @angle:h3-c3-n3 @atom:h3 @atom:c3 @atom:n3
+ @angle:h3-c3-nc @atom:h3 @atom:c3 @atom:nc
+ @angle:h3-c3-nd @atom:h3 @atom:c3 @atom:nd
+ @angle:h3-c3-nh @atom:h3 @atom:c3 @atom:nh
+ @angle:h3-c3-os @atom:h3 @atom:c3 @atom:os
+ @angle:h3-c3-ss @atom:h3 @atom:c3 @atom:ss
+ @angle:hc-c3-hc @atom:hc @atom:c3 @atom:hc
+ @angle:hc-c3-i @atom:hc @atom:c3 @atom:i
+ @angle:hc-c3-n2 @atom:hc @atom:c3 @atom:n2
+ @angle:hc-c3-n3 @atom:hc @atom:c3 @atom:n3
+ @angle:hc-c3-n4 @atom:hc @atom:c3 @atom:n4
+ @angle:hc-c3-n @atom:hc @atom:c3 @atom:n
+ @angle:hc-c3-na @atom:hc @atom:c3 @atom:na
+ @angle:hc-c3-nh @atom:hc @atom:c3 @atom:nh
+ @angle:hc-c3-no @atom:hc @atom:c3 @atom:no
+ @angle:hc-c3-oh @atom:hc @atom:c3 @atom:oh
+ @angle:hc-c3-os @atom:hc @atom:c3 @atom:os
+ @angle:hc-c3-p2 @atom:hc @atom:c3 @atom:p2
+ @angle:hc-c3-p3 @atom:hc @atom:c3 @atom:p3
+ @angle:hc-c3-p4 @atom:hc @atom:c3 @atom:p4
+ @angle:hc-c3-p5 @atom:hc @atom:c3 @atom:p5
+ @angle:hc-c3-px @atom:hc @atom:c3 @atom:px
+ @angle:hc-c3-py @atom:hc @atom:c3 @atom:py
+ @angle:hc-c3-s4 @atom:hc @atom:c3 @atom:s4
+ @angle:hc-c3-s6 @atom:hc @atom:c3 @atom:s6
+ @angle:hc-c3-sh @atom:hc @atom:c3 @atom:sh
+ @angle:hc-c3-ss @atom:hc @atom:c3 @atom:ss
+ @angle:hx-c3-hx @atom:hx @atom:c3 @atom:hx
+ @angle:hx-c3-n4 @atom:hx @atom:c3 @atom:n4
+ @angle:i-c3-i @atom:i @atom:c3 @atom:i
+ @angle:n1-c3-n1 @atom:n1 @atom:c3 @atom:n1
+ @angle:n2-c3-n2 @atom:n2 @atom:c3 @atom:n2
+ @angle:n2-c3-nh @atom:n2 @atom:c3 @atom:nh
+ @angle:n2-c3-oh @atom:n2 @atom:c3 @atom:oh
+ @angle:n2-c3-os @atom:n2 @atom:c3 @atom:os
+ @angle:n3-c3-n3 @atom:n3 @atom:c3 @atom:n3
+ @angle:n3-c3-nc @atom:n3 @atom:c3 @atom:nc
+ @angle:n3-c3-nd @atom:n3 @atom:c3 @atom:nd
+ @angle:n3-c3-nh @atom:n3 @atom:c3 @atom:nh
+ @angle:n3-c3-oh @atom:n3 @atom:c3 @atom:oh
+ @angle:n3-c3-os @atom:n3 @atom:c3 @atom:os
+ @angle:n3-c3-p5 @atom:n3 @atom:c3 @atom:p5
+ @angle:n3-c3-ss @atom:n3 @atom:c3 @atom:ss
+ @angle:n4-c3-n4 @atom:n4 @atom:c3 @atom:n4
+ @angle:na-c3-na @atom:na @atom:c3 @atom:na
+ @angle:na-c3-os @atom:na @atom:c3 @atom:os
+ @angle:nc-c3-nc @atom:nc @atom:c3 @atom:nc
+ @angle:nc-c3-nh @atom:nc @atom:c3 @atom:nh
+ @angle:nc-c3-os @atom:nc @atom:c3 @atom:os
+ @angle:nd-c3-nd @atom:nd @atom:c3 @atom:nd
+ @angle:nd-c3-nh @atom:nd @atom:c3 @atom:nh
+ @angle:nd-c3-os @atom:nd @atom:c3 @atom:os
+ @angle:nh-c3-nh @atom:nh @atom:c3 @atom:nh
+ @angle:nh-c3-oh @atom:nh @atom:c3 @atom:oh
+ @angle:nh-c3-os @atom:nh @atom:c3 @atom:os
+ @angle:nh-c3-p5 @atom:nh @atom:c3 @atom:p5
+ @angle:nh-c3-ss @atom:nh @atom:c3 @atom:ss
+ @angle:n-c3-n2 @atom:n @atom:c3 @atom:n2
+ @angle:n-c3-n3 @atom:n @atom:c3 @atom:n3
+ @angle:n-c3-n @atom:n @atom:c3 @atom:n
+ @angle:n-c3-nh @atom:n @atom:c3 @atom:nh
+ @angle:n-c3-oh @atom:n @atom:c3 @atom:oh
+ @angle:no-c3-no @atom:no @atom:c3 @atom:no
+ @angle:n-c3-os @atom:n @atom:c3 @atom:os
+ @angle:n-c3-p5 @atom:n @atom:c3 @atom:p5
+ @angle:oh-c3-oh @atom:oh @atom:c3 @atom:oh
+ @angle:oh-c3-os @atom:oh @atom:c3 @atom:os
+ @angle:oh-c3-p5 @atom:oh @atom:c3 @atom:p5
+ @angle:oh-c3-sh @atom:oh @atom:c3 @atom:sh
+ @angle:o-c3-o @atom:o @atom:c3 @atom:o
+ @angle:os-c3-os @atom:os @atom:c3 @atom:os
+ @angle:os-c3-p5 @atom:os @atom:c3 @atom:p5
+ @angle:os-c3-ss @atom:os @atom:c3 @atom:ss
+ @angle:p2-c3-p2 @atom:p2 @atom:c3 @atom:p2
+ @angle:p3-c3-p3 @atom:p3 @atom:c3 @atom:p3
+ @angle:p5-c3-p5 @atom:p5 @atom:c3 @atom:p5
+ @angle:p5-c3-ss @atom:p5 @atom:c3 @atom:ss
+ @angle:s4-c3-s4 @atom:s4 @atom:c3 @atom:s4
+ @angle:s4-c3-s6 @atom:s4 @atom:c3 @atom:s6
+ @angle:s6-c3-s6 @atom:s6 @atom:c3 @atom:s6
+ @angle:sh-c3-sh @atom:sh @atom:c3 @atom:sh
+ @angle:sh-c3-ss @atom:sh @atom:c3 @atom:ss
+ @angle:s-c3-s @atom:s @atom:c3 @atom:s
+ @angle:ss-c3-ss @atom:ss @atom:c3 @atom:ss
+ @angle:br-ca-br @atom:br @atom:ca @atom:br
+ @angle:br-ca-ca @atom:br @atom:ca @atom:ca
+ @angle:c1-ca-c1 @atom:c1 @atom:ca @atom:c1
+ @angle:c1-ca-ca @atom:c1 @atom:ca @atom:ca
+ @angle:c2-ca-c2 @atom:c2 @atom:ca @atom:c2
+ @angle:c2-ca-ca @atom:c2 @atom:ca @atom:ca
+ @angle:c3-ca-c2 @atom:c3 @atom:ca @atom:c2
+ @angle:c3-ca-c3 @atom:c3 @atom:ca @atom:c3
+ @angle:c3-ca-ca @atom:c3 @atom:ca @atom:ca
+ @angle:c3-ca-cp @atom:c3 @atom:ca @atom:cp
+ @angle:c3-ca-cq @atom:c3 @atom:ca @atom:cq
+ @angle:c3-ca-na @atom:c3 @atom:ca @atom:na
+ @angle:c3-ca-nb @atom:c3 @atom:ca @atom:nb
+ @angle:ca-ca-ca @atom:ca @atom:ca @atom:ca
+ @angle:ca-ca-cc @atom:ca @atom:ca @atom:cc
+ @angle:ca-ca-cd @atom:ca @atom:ca @atom:cd
+ @angle:ca-ca-ce @atom:ca @atom:ca @atom:ce
+ @angle:ca-ca-cf @atom:ca @atom:ca @atom:cf
+ @angle:ca-ca-cg @atom:ca @atom:ca @atom:cg
+ @angle:ca-ca-ch @atom:ca @atom:ca @atom:ch
+ @angle:ca-ca-cl @atom:ca @atom:ca @atom:cl
+ @angle:ca-ca-cp @atom:ca @atom:ca @atom:cp
+ @angle:ca-ca-cq @atom:ca @atom:ca @atom:cq
+ @angle:ca-ca-cx @atom:ca @atom:ca @atom:cx
+ @angle:ca-ca-cy @atom:ca @atom:ca @atom:cy
+ @angle:ca-ca-f @atom:ca @atom:ca @atom:f
+ @angle:ca-ca-h4 @atom:ca @atom:ca @atom:h4
+ @angle:ca-ca-ha @atom:ca @atom:ca @atom:ha
+ @angle:ca-ca-i @atom:ca @atom:ca @atom:i
+ @angle:ca-ca-n1 @atom:ca @atom:ca @atom:n1
+ @angle:ca-ca-n2 @atom:ca @atom:ca @atom:n2
+ @angle:ca-ca-n4 @atom:ca @atom:ca @atom:n4
+ @angle:ca-ca-n @atom:ca @atom:ca @atom:n
+ @angle:ca-ca-na @atom:ca @atom:ca @atom:na
+ @angle:ca-ca-nb @atom:ca @atom:ca @atom:nb
+ @angle:ca-ca-nc @atom:ca @atom:ca @atom:nc
+ @angle:ca-ca-nd @atom:ca @atom:ca @atom:nd
+ @angle:ca-ca-ne @atom:ca @atom:ca @atom:ne
+ @angle:ca-ca-nf @atom:ca @atom:ca @atom:nf
+ @angle:ca-ca-nh @atom:ca @atom:ca @atom:nh
+ @angle:ca-ca-no @atom:ca @atom:ca @atom:no
+ @angle:ca-ca-o @atom:ca @atom:ca @atom:o
+ @angle:ca-ca-oh @atom:ca @atom:ca @atom:oh
+ @angle:ca-ca-os @atom:ca @atom:ca @atom:os
+ @angle:ca-ca-p2 @atom:ca @atom:ca @atom:p2
+ @angle:ca-ca-p3 @atom:ca @atom:ca @atom:p3
+ @angle:ca-ca-p4 @atom:ca @atom:ca @atom:p4
+ @angle:ca-ca-p5 @atom:ca @atom:ca @atom:p5
+ @angle:ca-ca-pe @atom:ca @atom:ca @atom:pe
+ @angle:ca-ca-pf @atom:ca @atom:ca @atom:pf
+ @angle:ca-ca-px @atom:ca @atom:ca @atom:px
+ @angle:ca-ca-py @atom:ca @atom:ca @atom:py
+ @angle:ca-ca-s4 @atom:ca @atom:ca @atom:s4
+ @angle:ca-ca-s6 @atom:ca @atom:ca @atom:s6
+ @angle:ca-ca-s @atom:ca @atom:ca @atom:s
+ @angle:ca-ca-sh @atom:ca @atom:ca @atom:sh
+ @angle:ca-ca-ss @atom:ca @atom:ca @atom:ss
+ @angle:ca-ca-sx @atom:ca @atom:ca @atom:sx
+ @angle:ca-ca-sy @atom:ca @atom:ca @atom:sy
+ @angle:c-ca-c3 @atom:c @atom:ca @atom:c3
+ @angle:c-ca-c @atom:c @atom:ca @atom:c
+ @angle:c-ca-ca @atom:c @atom:ca @atom:ca
+ @angle:cc-ca-cp @atom:cc @atom:ca @atom:cp
+ @angle:cc-ca-nb @atom:cc @atom:ca @atom:nb
+ @angle:cd-ca-nb @atom:cd @atom:ca @atom:nb
+ @angle:ce-ca-na @atom:ce @atom:ca @atom:na
+ @angle:ce-ca-nb @atom:ce @atom:ca @atom:nb
+ @angle:cf-ca-nb @atom:cf @atom:ca @atom:nb
+ @angle:cg-ca-cp @atom:cg @atom:ca @atom:cp
+ @angle:c-ca-ha @atom:c @atom:ca @atom:ha
+ @angle:cl-ca-cl @atom:cl @atom:ca @atom:cl
+ @angle:cl-ca-cp @atom:cl @atom:ca @atom:cp
+ @angle:cl-ca-nb @atom:cl @atom:ca @atom:nb
+ @angle:c-ca-nb @atom:c @atom:ca @atom:nb
+ @angle:c-ca-nc @atom:c @atom:ca @atom:nc
+ @angle:c-ca-nd @atom:c @atom:ca @atom:nd
+ @angle:cp-ca-f @atom:cp @atom:ca @atom:f
+ @angle:cp-ca-h4 @atom:cp @atom:ca @atom:h4
+ @angle:cp-ca-ha @atom:cp @atom:ca @atom:ha
+ @angle:cp-ca-na @atom:cp @atom:ca @atom:na
+ @angle:cp-ca-nb @atom:cp @atom:ca @atom:nb
+ @angle:cp-ca-nh @atom:cp @atom:ca @atom:nh
+ @angle:cp-ca-oh @atom:cp @atom:ca @atom:oh
+ @angle:cp-ca-ss @atom:cp @atom:ca @atom:ss
+ @angle:cp-ca-sy @atom:cp @atom:ca @atom:sy
+ @angle:cq-ca-ha @atom:cq @atom:ca @atom:ha
+ @angle:cq-ca-sy @atom:cq @atom:ca @atom:sy
+ @angle:f-ca-f @atom:f @atom:ca @atom:f
+ @angle:f-ca-nb @atom:f @atom:ca @atom:nb
+ @angle:h4-ca-n @atom:h4 @atom:ca @atom:n
+ @angle:h4-ca-na @atom:h4 @atom:ca @atom:na
+ @angle:h4-ca-nb @atom:h4 @atom:ca @atom:nb
+ @angle:h4-ca-nc @atom:h4 @atom:ca @atom:nc
+ @angle:h4-ca-nd @atom:h4 @atom:ca @atom:nd
+ @angle:h4-ca-os @atom:h4 @atom:ca @atom:os
+ @angle:h4-ca-ss @atom:h4 @atom:ca @atom:ss
+ @angle:h5-ca-nb @atom:h5 @atom:ca @atom:nb
+ @angle:h5-ca-nc @atom:h5 @atom:ca @atom:nc
+ @angle:h5-ca-nd @atom:h5 @atom:ca @atom:nd
+ @angle:ha-ca-n2 @atom:ha @atom:ca @atom:n2
+ @angle:ha-ca-p2 @atom:ha @atom:ca @atom:p2
+ @angle:i-ca-i @atom:i @atom:ca @atom:i
+ @angle:n1-ca-n1 @atom:n1 @atom:ca @atom:n1
+ @angle:n2-ca-n2 @atom:n2 @atom:ca @atom:n2
+ @angle:n2-ca-na @atom:n2 @atom:ca @atom:na
+ @angle:n4-ca-n4 @atom:n4 @atom:ca @atom:n4
+ @angle:na-ca-na @atom:na @atom:ca @atom:na
+ @angle:na-ca-nb @atom:na @atom:ca @atom:nb
+ @angle:na-ca-nh @atom:na @atom:ca @atom:nh
+ @angle:nb-ca-nb @atom:nb @atom:ca @atom:nb
+ @angle:nb-ca-nc @atom:nb @atom:ca @atom:nc
+ @angle:nb-ca-nd @atom:nb @atom:ca @atom:nd
+ @angle:nb-ca-nh @atom:nb @atom:ca @atom:nh
+ @angle:nb-ca-oh @atom:nb @atom:ca @atom:oh
+ @angle:nb-ca-os @atom:nb @atom:ca @atom:os
+ @angle:nb-ca-sh @atom:nb @atom:ca @atom:sh
+ @angle:nb-ca-ss @atom:nb @atom:ca @atom:ss
+ @angle:nc-ca-nc @atom:nc @atom:ca @atom:nc
+ @angle:nc-ca-nh @atom:nc @atom:ca @atom:nh
+ @angle:nd-ca-nd @atom:nd @atom:ca @atom:nd
+ @angle:nd-ca-nh @atom:nd @atom:ca @atom:nh
+ @angle:nh-ca-nh @atom:nh @atom:ca @atom:nh
+ @angle:n-ca-nc @atom:n @atom:ca @atom:nc
+ @angle:n-ca-nd @atom:n @atom:ca @atom:nd
+ @angle:n-ca-nh @atom:n @atom:ca @atom:nh
+ @angle:no-ca-no @atom:no @atom:ca @atom:no
+ @angle:oh-ca-oh @atom:oh @atom:ca @atom:oh
+ @angle:o-ca-o @atom:o @atom:ca @atom:o
+ @angle:os-ca-os @atom:os @atom:ca @atom:os
+ @angle:p2-ca-p2 @atom:p2 @atom:ca @atom:p2
+ @angle:p3-ca-p3 @atom:p3 @atom:ca @atom:p3
+ @angle:p5-ca-p5 @atom:p5 @atom:ca @atom:p5
+ @angle:s4-ca-s4 @atom:s4 @atom:ca @atom:s4
+ @angle:s6-ca-s6 @atom:s6 @atom:ca @atom:s6
+ @angle:sh-ca-sh @atom:sh @atom:ca @atom:sh
+ @angle:s-ca-s @atom:s @atom:ca @atom:s
+ @angle:ss-ca-ss @atom:ss @atom:ca @atom:ss
+ @angle:br-c-br @atom:br @atom:c @atom:br
+ @angle:br-c-c3 @atom:br @atom:c @atom:c3
+ @angle:br-c-o @atom:br @atom:c @atom:o
+ @angle:c1-c-c1 @atom:c1 @atom:c @atom:c1
+ @angle:c1-c-o @atom:c1 @atom:c @atom:o
+ @angle:c2-c-c2 @atom:c2 @atom:c @atom:c2
+ @angle:c2-c-ha @atom:c2 @atom:c @atom:ha
+ @angle:c2-c-o @atom:c2 @atom:c @atom:o
+ @angle:c2-c-s @atom:c2 @atom:c @atom:s
+ @angle:c3-c-c3 @atom:c3 @atom:c @atom:c3
+ @angle:c3-c-ca @atom:c3 @atom:c @atom:ca
+ @angle:c3-c-cc @atom:c3 @atom:c @atom:cc
+ @angle:c3-c-cd @atom:c3 @atom:c @atom:cd
+ @angle:c3-c-ce @atom:c3 @atom:c @atom:ce
+ @angle:c3-c-cf @atom:c3 @atom:c @atom:cf
+ @angle:c3-c-cg @atom:c3 @atom:c @atom:cg
+ @angle:c3-c-ch @atom:c3 @atom:c @atom:ch
+ @angle:c3-c-cl @atom:c3 @atom:c @atom:cl
+ @angle:c3-c-f @atom:c3 @atom:c @atom:f
+ @angle:c3-c-h4 @atom:c3 @atom:c @atom:h4
+ @angle:c3-c-ha @atom:c3 @atom:c @atom:ha
+ @angle:c3-c-i @atom:c3 @atom:c @atom:i
+ @angle:c3-c-n2 @atom:c3 @atom:c @atom:n2
+ @angle:c3-c-n4 @atom:c3 @atom:c @atom:n4
+ @angle:c3-c-n @atom:c3 @atom:c @atom:n
+ @angle:c3-c-ne @atom:c3 @atom:c @atom:ne
+ @angle:c3-c-nf @atom:c3 @atom:c @atom:nf
+ @angle:c3-c-o @atom:c3 @atom:c @atom:o
+ @angle:c3-c-oh @atom:c3 @atom:c @atom:oh
+ @angle:c3-c-os @atom:c3 @atom:c @atom:os
+ @angle:c3-c-p3 @atom:c3 @atom:c @atom:p3
+ @angle:c3-c-p5 @atom:c3 @atom:c @atom:p5
+ @angle:c3-c-pe @atom:c3 @atom:c @atom:pe
+ @angle:c3-c-pf @atom:c3 @atom:c @atom:pf
+ @angle:c3-c-px @atom:c3 @atom:c @atom:px
+ @angle:c3-c-py @atom:c3 @atom:c @atom:py
+ @angle:c3-c-s4 @atom:c3 @atom:c @atom:s4
+ @angle:c3-c-s6 @atom:c3 @atom:c @atom:s6
+ @angle:c3-c-s @atom:c3 @atom:c @atom:s
+ @angle:c3-c-sh @atom:c3 @atom:c @atom:sh
+ @angle:c3-c-ss @atom:c3 @atom:c @atom:ss
+ @angle:c3-c-sx @atom:c3 @atom:c @atom:sx
+ @angle:c3-c-sy @atom:c3 @atom:c @atom:sy
+ @angle:ca-c-ca @atom:ca @atom:c @atom:ca
+ @angle:ca-c-cc @atom:ca @atom:c @atom:cc
+ @angle:ca-c-cd @atom:ca @atom:c @atom:cd
+ @angle:ca-c-ce @atom:ca @atom:c @atom:ce
+ @angle:ca-c-cf @atom:ca @atom:c @atom:cf
+ @angle:ca-c-h4 @atom:ca @atom:c @atom:h4
+ @angle:ca-c-ha @atom:ca @atom:c @atom:ha
+ @angle:ca-c-n @atom:ca @atom:c @atom:n
+ @angle:ca-c-ne @atom:ca @atom:c @atom:ne
+ @angle:ca-c-o @atom:ca @atom:c @atom:o
+ @angle:ca-c-oh @atom:ca @atom:c @atom:oh
+ @angle:ca-c-os @atom:ca @atom:c @atom:os
+ @angle:ca-c-s @atom:ca @atom:c @atom:s
+ @angle:ca-c-sh @atom:ca @atom:c @atom:sh
+ @angle:ca-c-ss @atom:ca @atom:c @atom:ss
+ @angle:br-cc-c @atom:br @atom:cc @atom:c
+ @angle:br-cc-cc @atom:br @atom:cc @atom:cc
+ @angle:br-cc-cd @atom:br @atom:cc @atom:cd
+ @angle:br-cc-na @atom:br @atom:cc @atom:na
+ @angle:c2-cc-c3 @atom:c2 @atom:cc @atom:c3
+ @angle:c2-cc-ca @atom:c2 @atom:cc @atom:ca
+ @angle:c2-cc-cc @atom:c2 @atom:cc @atom:cc
+ @angle:c2-cc-cd @atom:c2 @atom:cc @atom:cd
+ @angle:c2-cc-ha @atom:c2 @atom:cc @atom:ha
+ @angle:c2-cc-n @atom:c2 @atom:cc @atom:n
+ @angle:c2-cc-os @atom:c2 @atom:cc @atom:os
+ @angle:c-c-c3 @atom:c @atom:c @atom:c3
+ @angle:c3-cc-ca @atom:c3 @atom:cc @atom:ca
+ @angle:c3-cc-cc @atom:c3 @atom:cc @atom:cc
+ @angle:c3-cc-cd @atom:c3 @atom:cc @atom:cd
+ @angle:c3-cc-cf @atom:c3 @atom:cc @atom:cf
+ @angle:c3-cc-ha @atom:c3 @atom:cc @atom:ha
+ @angle:c3-cc-n2 @atom:c3 @atom:cc @atom:n2
+ @angle:c3-cc-n @atom:c3 @atom:cc @atom:n
+ @angle:c3-cc-na @atom:c3 @atom:cc @atom:na
+ @angle:c3-cc-nc @atom:c3 @atom:cc @atom:nc
+ @angle:c3-cc-nd @atom:c3 @atom:cc @atom:nd
+ @angle:c3-cc-os @atom:c3 @atom:cc @atom:os
+ @angle:c3-cc-ss @atom:c3 @atom:cc @atom:ss
+ @angle:c-c-c @atom:c @atom:c @atom:c
+ @angle:c-c-ca @atom:c @atom:c @atom:ca
+ @angle:ca-cc-cc @atom:ca @atom:cc @atom:cc
+ @angle:ca-cc-cd @atom:ca @atom:cc @atom:cd
+ @angle:ca-cc-ce @atom:ca @atom:cc @atom:ce
+ @angle:ca-cc-h4 @atom:ca @atom:cc @atom:h4
+ @angle:ca-cc-ha @atom:ca @atom:cc @atom:ha
+ @angle:ca-cc-n @atom:ca @atom:cc @atom:n
+ @angle:ca-cc-nc @atom:ca @atom:cc @atom:nc
+ @angle:ca-cc-nd @atom:ca @atom:cc @atom:nd
+ @angle:ca-cc-nh @atom:ca @atom:cc @atom:nh
+ @angle:ca-cc-oh @atom:ca @atom:cc @atom:oh
+ @angle:ca-cc-os @atom:ca @atom:cc @atom:os
+ @angle:ca-cc-ss @atom:ca @atom:cc @atom:ss
+ @angle:c-cc-c2 @atom:c @atom:cc @atom:c2
+ @angle:c-cc-c3 @atom:c @atom:cc @atom:c3
+ @angle:c-cc-c @atom:c @atom:cc @atom:c
+ @angle:c-c-cc @atom:c @atom:c @atom:cc
+ @angle:c-cc-ca @atom:c @atom:cc @atom:ca
+ @angle:c-cc-cc @atom:c @atom:cc @atom:cc
+ @angle:cc-c-cc @atom:cc @atom:c @atom:cc
+ @angle:cc-cc-cc @atom:cc @atom:cc @atom:cc
+ @angle:cc-cc-cd @atom:cc @atom:cc @atom:cd
+ @angle:cc-cc-ce @atom:cc @atom:cc @atom:ce
+ @angle:cc-cc-cf @atom:cc @atom:cc @atom:cf
+ @angle:cc-cc-cg @atom:cc @atom:cc @atom:cg
+ @angle:c-cc-cd @atom:c @atom:cc @atom:cd
+ @angle:cc-c-cd @atom:cc @atom:c @atom:cd
+ @angle:c-cc-ce @atom:c @atom:cc @atom:ce
+ @angle:cc-c-ce @atom:cc @atom:c @atom:ce
+ @angle:cc-cc-f @atom:cc @atom:cc @atom:f
+ @angle:c-cc-cg @atom:c @atom:cc @atom:cg
+ @angle:cc-cc-h4 @atom:cc @atom:cc @atom:h4
+ @angle:cc-cc-ha @atom:cc @atom:cc @atom:ha
+ @angle:c-cc-cl @atom:c @atom:cc @atom:cl
+ @angle:cc-cc-n2 @atom:cc @atom:cc @atom:n2
+ @angle:cc-cc-n @atom:cc @atom:cc @atom:n
+ @angle:cc-cc-na @atom:cc @atom:cc @atom:na
+ @angle:cc-cc-nc @atom:cc @atom:cc @atom:nc
+ @angle:cc-cc-nd @atom:cc @atom:cc @atom:nd
+ @angle:cc-cc-nh @atom:cc @atom:cc @atom:nh
+ @angle:cc-cc-oh @atom:cc @atom:cc @atom:oh
+ @angle:cc-cc-os @atom:cc @atom:cc @atom:os
+ @angle:cc-cc-pd @atom:cc @atom:cc @atom:pd
+ @angle:cc-cc-ss @atom:cc @atom:cc @atom:ss
+ @angle:cc-cc-sy @atom:cc @atom:cc @atom:sy
+ @angle:c-c-cd @atom:c @atom:c @atom:cd
+ @angle:cd-cc-cd @atom:cd @atom:cc @atom:cd
+ @angle:cd-cc-ce @atom:cd @atom:cc @atom:ce
+ @angle:cd-cc-cl @atom:cd @atom:cc @atom:cl
+ @angle:cd-cc-f @atom:cd @atom:cc @atom:f
+ @angle:cd-cc-h4 @atom:cd @atom:cc @atom:h4
+ @angle:cd-cc-ha @atom:cd @atom:cc @atom:ha
+ @angle:cd-cc-n @atom:cd @atom:cc @atom:n
+ @angle:cd-cc-na @atom:cd @atom:cc @atom:na
+ @angle:cd-cc-nc @atom:cd @atom:cc @atom:nc
+ @angle:cd-cc-nh @atom:cd @atom:cc @atom:nh
+ @angle:cd-cc-no @atom:cd @atom:cc @atom:no
+ @angle:cd-cc-oh @atom:cd @atom:cc @atom:oh
+ @angle:cd-cc-os @atom:cd @atom:cc @atom:os
+ @angle:cd-cc-ss @atom:cd @atom:cc @atom:ss
+ @angle:cd-cc-sy @atom:cd @atom:cc @atom:sy
+ @angle:ce-cc-na @atom:ce @atom:cc @atom:na
+ @angle:ce-cc-nc @atom:ce @atom:cc @atom:nc
+ @angle:ce-cc-nd @atom:ce @atom:cc @atom:nd
+ @angle:ce-cc-os @atom:ce @atom:cc @atom:os
+ @angle:ce-cc-ss @atom:ce @atom:cc @atom:ss
+ @angle:c-cc-f @atom:c @atom:cc @atom:f
+ @angle:cg-cc-na @atom:cg @atom:cc @atom:na
+ @angle:cg-cc-ss @atom:cg @atom:cc @atom:ss
+ @angle:cc-c-h4 @atom:cc @atom:c @atom:h4
+ @angle:c-cc-ha @atom:c @atom:cc @atom:ha
+ @angle:cl-cc-na @atom:cl @atom:cc @atom:na
+ @angle:cl-cc-nd @atom:cl @atom:cc @atom:nd
+ @angle:cl-cc-ss @atom:cl @atom:cc @atom:ss
+ @angle:c-cc-n2 @atom:c @atom:cc @atom:n2
+ @angle:c-cc-n @atom:c @atom:cc @atom:n
+ @angle:cc-c-n @atom:cc @atom:c @atom:n
+ @angle:c-cc-nc @atom:c @atom:cc @atom:nc
+ @angle:cc-c-nd @atom:cc @atom:c @atom:nd
+ @angle:c-cc-nd @atom:c @atom:cc @atom:nd
+ @angle:c-cc-ne @atom:c @atom:cc @atom:ne
+ @angle:cc-c-o @atom:cc @atom:c @atom:o
+ @angle:c-cc-oh @atom:c @atom:cc @atom:oh
+ @angle:cc-c-oh @atom:cc @atom:c @atom:oh
+ @angle:c-cc-os @atom:c @atom:cc @atom:os
+ @angle:cc-c-os @atom:cc @atom:c @atom:os
+ @angle:cc-c-s @atom:cc @atom:c @atom:s
+ @angle:cc-c-ss @atom:cc @atom:c @atom:ss
+ @angle:cx-cc-nd @atom:cx @atom:cc @atom:nd
+ @angle:cx-cc-os @atom:cx @atom:cc @atom:os
+ @angle:cd-c-cd @atom:cd @atom:c @atom:cd
+ @angle:cd-c-cx @atom:cd @atom:c @atom:cx
+ @angle:cd-c-n @atom:cd @atom:c @atom:n
+ @angle:cd-c-nc @atom:cd @atom:c @atom:nc
+ @angle:cd-c-nd @atom:cd @atom:c @atom:nd
+ @angle:cd-c-o @atom:cd @atom:c @atom:o
+ @angle:cd-c-oh @atom:cd @atom:c @atom:oh
+ @angle:cd-c-os @atom:cd @atom:c @atom:os
+ @angle:ce-c-ce @atom:ce @atom:c @atom:ce
+ @angle:ce-c-cf @atom:ce @atom:c @atom:cf
+ @angle:ce-c-cx @atom:ce @atom:c @atom:cx
+ @angle:ce-c-h4 @atom:ce @atom:c @atom:h4
+ @angle:ce-c-ha @atom:ce @atom:c @atom:ha
+ @angle:ce-c-n @atom:ce @atom:c @atom:n
+ @angle:ce-c-o @atom:ce @atom:c @atom:o
+ @angle:ce-c-oh @atom:ce @atom:c @atom:oh
+ @angle:ce-c-os @atom:ce @atom:c @atom:os
+ @angle:ce-c-s @atom:ce @atom:c @atom:s
+ @angle:ce-c-ss @atom:ce @atom:c @atom:ss
+ @angle:cf-c-cf @atom:cf @atom:c @atom:cf
+ @angle:cf-c-ha @atom:cf @atom:c @atom:ha
+ @angle:cf-c-n @atom:cf @atom:c @atom:n
+ @angle:cf-c-o @atom:cf @atom:c @atom:o
+ @angle:cf-c-oh @atom:cf @atom:c @atom:oh
+ @angle:cf-c-os @atom:cf @atom:c @atom:os
+ @angle:cf-c-s @atom:cf @atom:c @atom:s
+ @angle:cg-c-cg @atom:cg @atom:c @atom:cg
+ @angle:cg-c-ha @atom:cg @atom:c @atom:ha
+ @angle:cg-c-o @atom:cg @atom:c @atom:o
+ @angle:c-c-h4 @atom:c @atom:c @atom:h4
+ @angle:h4-cc-n @atom:h4 @atom:cc @atom:n
+ @angle:h4-cc-na @atom:h4 @atom:cc @atom:na
+ @angle:h4-cc-nc @atom:h4 @atom:cc @atom:nc
+ @angle:h4-cc-nd @atom:h4 @atom:cc @atom:nd
+ @angle:h4-cc-os @atom:h4 @atom:cc @atom:os
+ @angle:h4-cc-ss @atom:h4 @atom:cc @atom:ss
+ @angle:h5-cc-n @atom:h5 @atom:cc @atom:n
+ @angle:h5-cc-na @atom:h5 @atom:cc @atom:na
+ @angle:h5-cc-nc @atom:h5 @atom:cc @atom:nc
+ @angle:h5-cc-nd @atom:h5 @atom:cc @atom:nd
+ @angle:h5-cc-os @atom:h5 @atom:cc @atom:os
+ @angle:h5-cc-ss @atom:h5 @atom:cc @atom:ss
+ @angle:c-c-ha @atom:c @atom:c @atom:ha
+ @angle:ha-cc-na @atom:ha @atom:cc @atom:na
+ @angle:ha-cc-nc @atom:ha @atom:cc @atom:nc
+ @angle:ha-cc-nd @atom:ha @atom:cc @atom:nd
+ @angle:ha-cc-os @atom:ha @atom:cc @atom:os
+ @angle:ha-cc-pd @atom:ha @atom:cc @atom:pd
+ @angle:ha-cc-ss @atom:ha @atom:cc @atom:ss
+ @angle:ch-c-ch @atom:ch @atom:c @atom:ch
+ @angle:ch-c-ha @atom:ch @atom:c @atom:ha
+ @angle:ch-c-o @atom:ch @atom:c @atom:o
+ @angle:cl-c-cl @atom:cl @atom:c @atom:cl
+ @angle:cl-c-f @atom:cl @atom:c @atom:f
+ @angle:cl-c-ha @atom:cl @atom:c @atom:ha
+ @angle:cl-c-o @atom:cl @atom:c @atom:o
+ @angle:cl-c-s @atom:cl @atom:c @atom:s
+ @angle:c-c-n @atom:c @atom:c @atom:n
+ @angle:na-cc-nc @atom:na @atom:cc @atom:nc
+ @angle:na-cc-nd @atom:na @atom:cc @atom:nd
+ @angle:na-cc-no @atom:na @atom:cc @atom:no
+ @angle:na-cc-oh @atom:na @atom:cc @atom:oh
+ @angle:na-cc-sx @atom:na @atom:cc @atom:sx
+ @angle:na-cc-sy @atom:na @atom:cc @atom:sy
+ @angle:nc-cc-nd @atom:nc @atom:cc @atom:nd
+ @angle:nc-cc-nh @atom:nc @atom:cc @atom:nh
+ @angle:nc-cc-no @atom:nc @atom:cc @atom:no
+ @angle:nc-cc-ss @atom:nc @atom:cc @atom:ss
+ @angle:nd-cc-nd @atom:nd @atom:cc @atom:nd
+ @angle:nd-cc-ne @atom:nd @atom:cc @atom:ne
+ @angle:nd-cc-nh @atom:nd @atom:cc @atom:nh
+ @angle:nd-cc-no @atom:nd @atom:cc @atom:no
+ @angle:nd-cc-oh @atom:nd @atom:cc @atom:oh
+ @angle:nd-cc-os @atom:nd @atom:cc @atom:os
+ @angle:nd-cc-sh @atom:nd @atom:cc @atom:sh
+ @angle:nd-cc-ss @atom:nd @atom:cc @atom:ss
+ @angle:nd-cc-sx @atom:nd @atom:cc @atom:sx
+ @angle:nd-cc-sy @atom:nd @atom:cc @atom:sy
+ @angle:ne-cc-ss @atom:ne @atom:cc @atom:ss
+ @angle:nh-cc-nh @atom:nh @atom:cc @atom:nh
+ @angle:nh-cc-os @atom:nh @atom:cc @atom:os
+ @angle:nh-cc-ss @atom:nh @atom:cc @atom:ss
+ @angle:n-cc-n2 @atom:n @atom:cc @atom:n2
+ @angle:n-cc-na @atom:n @atom:cc @atom:na
+ @angle:n-cc-nc @atom:n @atom:cc @atom:nc
+ @angle:n-cc-nd @atom:n @atom:cc @atom:nd
+ @angle:n-cc-nh @atom:n @atom:cc @atom:nh
+ @angle:no-cc-os @atom:no @atom:cc @atom:os
+ @angle:no-cc-ss @atom:no @atom:cc @atom:ss
+ @angle:n-cc-ss @atom:n @atom:cc @atom:ss
+ @angle:c-c-o @atom:c @atom:c @atom:o
+ @angle:c-c-oh @atom:c @atom:c @atom:oh
+ @angle:c-c-os @atom:c @atom:c @atom:os
+ @angle:os-cc-ss @atom:os @atom:cc @atom:ss
+ @angle:ss-cc-ss @atom:ss @atom:cc @atom:ss
+ @angle:ss-cc-sy @atom:ss @atom:cc @atom:sy
+ @angle:cx-c-cx @atom:cx @atom:c @atom:cx
+ @angle:cx-c-n @atom:cx @atom:c @atom:n
+ @angle:cx-c-o @atom:cx @atom:c @atom:o
+ @angle:cx-c-oh @atom:cx @atom:c @atom:oh
+ @angle:cx-c-os @atom:cx @atom:c @atom:os
+ @angle:cy-c-cy @atom:cy @atom:c @atom:cy
+ @angle:cy-c-n @atom:cy @atom:c @atom:n
+ @angle:cy-c-o @atom:cy @atom:c @atom:o
+ @angle:cy-c-oh @atom:cy @atom:c @atom:oh
+ @angle:cy-c-os @atom:cy @atom:c @atom:os
+ @angle:c2-cd-c3 @atom:c2 @atom:cd @atom:c3
+ @angle:c2-cd-ca @atom:c2 @atom:cd @atom:ca
+ @angle:c2-cd-cc @atom:c2 @atom:cd @atom:cc
+ @angle:c2-cd-cd @atom:c2 @atom:cd @atom:cd
+ @angle:c2-cd-ha @atom:c2 @atom:cd @atom:ha
+ @angle:c2-cd-n @atom:c2 @atom:cd @atom:n
+ @angle:c2-cd-os @atom:c2 @atom:cd @atom:os
+ @angle:c3-cd-ca @atom:c3 @atom:cd @atom:ca
+ @angle:c3-cd-cc @atom:c3 @atom:cd @atom:cc
+ @angle:c3-cd-cd @atom:c3 @atom:cd @atom:cd
+ @angle:c3-cd-ce @atom:c3 @atom:cd @atom:ce
+ @angle:c3-cd-ha @atom:c3 @atom:cd @atom:ha
+ @angle:c3-cd-n2 @atom:c3 @atom:cd @atom:n2
+ @angle:c3-cd-n @atom:c3 @atom:cd @atom:n
+ @angle:c3-cd-na @atom:c3 @atom:cd @atom:na
+ @angle:c3-cd-nc @atom:c3 @atom:cd @atom:nc
+ @angle:c3-cd-nd @atom:c3 @atom:cd @atom:nd
+ @angle:c3-cd-os @atom:c3 @atom:cd @atom:os
+ @angle:c3-cd-ss @atom:c3 @atom:cd @atom:ss
+ @angle:ca-cd-cc @atom:ca @atom:cd @atom:cc
+ @angle:ca-cd-cd @atom:ca @atom:cd @atom:cd
+ @angle:ca-cd-ce @atom:ca @atom:cd @atom:ce
+ @angle:ca-cd-h4 @atom:ca @atom:cd @atom:h4
+ @angle:ca-cd-ha @atom:ca @atom:cd @atom:ha
+ @angle:ca-cd-n @atom:ca @atom:cd @atom:n
+ @angle:ca-cd-na @atom:ca @atom:cd @atom:na
+ @angle:ca-cd-nc @atom:ca @atom:cd @atom:nc
+ @angle:ca-cd-nd @atom:ca @atom:cd @atom:nd
+ @angle:ca-cd-oh @atom:ca @atom:cd @atom:oh
+ @angle:ca-cd-os @atom:ca @atom:cd @atom:os
+ @angle:ca-cd-ss @atom:ca @atom:cd @atom:ss
+ @angle:c-cd-c2 @atom:c @atom:cd @atom:c2
+ @angle:c-cd-c3 @atom:c @atom:cd @atom:c3
+ @angle:c-cd-c @atom:c @atom:cd @atom:c
+ @angle:c-cd-ca @atom:c @atom:cd @atom:ca
+ @angle:c-cd-cc @atom:c @atom:cd @atom:cc
+ @angle:cc-cd-cc @atom:cc @atom:cd @atom:cc
+ @angle:cc-cd-cd @atom:cc @atom:cd @atom:cd
+ @angle:cc-cd-cf @atom:cc @atom:cd @atom:cf
+ @angle:cc-cd-ch @atom:cc @atom:cd @atom:ch
+ @angle:cc-cd-cl @atom:cc @atom:cd @atom:cl
+ @angle:cc-cd-cy @atom:cc @atom:cd @atom:cy
+ @angle:c-cd-cd @atom:c @atom:cd @atom:cd
+ @angle:c-cd-cf @atom:c @atom:cd @atom:cf
+ @angle:cc-cd-h4 @atom:cc @atom:cd @atom:h4
+ @angle:cc-cd-ha @atom:cc @atom:cd @atom:ha
+ @angle:c-cd-cl @atom:c @atom:cd @atom:cl
+ @angle:cc-cd-n @atom:cc @atom:cd @atom:n
+ @angle:cc-cd-na @atom:cc @atom:cd @atom:na
+ @angle:cc-cd-nc @atom:cc @atom:cd @atom:nc
+ @angle:cc-cd-nd @atom:cc @atom:cd @atom:nd
+ @angle:cc-cd-nh @atom:cc @atom:cd @atom:nh
+ @angle:cc-cd-oh @atom:cc @atom:cd @atom:oh
+ @angle:cc-cd-os @atom:cc @atom:cd @atom:os
+ @angle:cc-cd-ss @atom:cc @atom:cd @atom:ss
+ @angle:cc-cd-sy @atom:cc @atom:cd @atom:sy
+ @angle:cd-cd-cd @atom:cd @atom:cd @atom:cd
+ @angle:cd-cd-ce @atom:cd @atom:cd @atom:ce
+ @angle:cd-cd-cf @atom:cd @atom:cd @atom:cf
+ @angle:cd-cd-ch @atom:cd @atom:cd @atom:ch
+ @angle:cd-cd-cy @atom:cd @atom:cd @atom:cy
+ @angle:cd-cd-h4 @atom:cd @atom:cd @atom:h4
+ @angle:cd-cd-ha @atom:cd @atom:cd @atom:ha
+ @angle:cd-cd-n2 @atom:cd @atom:cd @atom:n2
+ @angle:cd-cd-n @atom:cd @atom:cd @atom:n
+ @angle:cd-cd-na @atom:cd @atom:cd @atom:na
+ @angle:cd-cd-nc @atom:cd @atom:cd @atom:nc
+ @angle:cd-cd-nd @atom:cd @atom:cd @atom:nd
+ @angle:cd-cd-nh @atom:cd @atom:cd @atom:nh
+ @angle:cd-cd-oh @atom:cd @atom:cd @atom:oh
+ @angle:cd-cd-os @atom:cd @atom:cd @atom:os
+ @angle:cd-cd-pc @atom:cd @atom:cd @atom:pc
+ @angle:cd-cd-ss @atom:cd @atom:cd @atom:ss
+ @angle:ce-cd-nd @atom:ce @atom:cd @atom:nd
+ @angle:cf-cd-na @atom:cf @atom:cd @atom:na
+ @angle:cf-cd-nc @atom:cf @atom:cd @atom:nc
+ @angle:cf-cd-nd @atom:cf @atom:cd @atom:nd
+ @angle:cf-cd-os @atom:cf @atom:cd @atom:os
+ @angle:cf-cd-ss @atom:cf @atom:cd @atom:ss
+ @angle:c-cd-h4 @atom:c @atom:cd @atom:h4
+ @angle:c-cd-ha @atom:c @atom:cd @atom:ha
+ @angle:cl-cd-nc @atom:cl @atom:cd @atom:nc
+ @angle:c-cd-n2 @atom:c @atom:cd @atom:n2
+ @angle:c-cd-n @atom:c @atom:cd @atom:n
+ @angle:c-cd-nc @atom:c @atom:cd @atom:nc
+ @angle:c-cd-nd @atom:c @atom:cd @atom:nd
+ @angle:c-cd-oh @atom:c @atom:cd @atom:oh
+ @angle:c-cd-os @atom:c @atom:cd @atom:os
+ @angle:h4-cd-n @atom:h4 @atom:cd @atom:n
+ @angle:h4-cd-na @atom:h4 @atom:cd @atom:na
+ @angle:h4-cd-nc @atom:h4 @atom:cd @atom:nc
+ @angle:h4-cd-nd @atom:h4 @atom:cd @atom:nd
+ @angle:h4-cd-os @atom:h4 @atom:cd @atom:os
+ @angle:h4-cd-ss @atom:h4 @atom:cd @atom:ss
+ @angle:h5-cd-n @atom:h5 @atom:cd @atom:n
+ @angle:h5-cd-na @atom:h5 @atom:cd @atom:na
+ @angle:h5-cd-nc @atom:h5 @atom:cd @atom:nc
+ @angle:h5-cd-nd @atom:h5 @atom:cd @atom:nd
+ @angle:h5-cd-os @atom:h5 @atom:cd @atom:os
+ @angle:h5-cd-ss @atom:h5 @atom:cd @atom:ss
+ @angle:ha-cd-na @atom:ha @atom:cd @atom:na
+ @angle:ha-cd-nc @atom:ha @atom:cd @atom:nc
+ @angle:ha-cd-nd @atom:ha @atom:cd @atom:nd
+ @angle:ha-cd-os @atom:ha @atom:cd @atom:os
+ @angle:ha-cd-pc @atom:ha @atom:cd @atom:pc
+ @angle:ha-cd-ss @atom:ha @atom:cd @atom:ss
+ @angle:na-cd-nc @atom:na @atom:cd @atom:nc
+ @angle:na-cd-nd @atom:na @atom:cd @atom:nd
+ @angle:na-cd-nh @atom:na @atom:cd @atom:nh
+ @angle:na-cd-ss @atom:na @atom:cd @atom:ss
+ @angle:nc-cd-nd @atom:nc @atom:cd @atom:nd
+ @angle:nc-cd-nh @atom:nc @atom:cd @atom:nh
+ @angle:nc-cd-oh @atom:nc @atom:cd @atom:oh
+ @angle:nc-cd-os @atom:nc @atom:cd @atom:os
+ @angle:nc-cd-ss @atom:nc @atom:cd @atom:ss
+ @angle:nd-cd-nd @atom:nd @atom:cd @atom:nd
+ @angle:nd-cd-nh @atom:nd @atom:cd @atom:nh
+ @angle:nd-cd-ss @atom:nd @atom:cd @atom:ss
+ @angle:nh-cd-nh @atom:nh @atom:cd @atom:nh
+ @angle:nh-cd-os @atom:nh @atom:cd @atom:os
+ @angle:nh-cd-ss @atom:nh @atom:cd @atom:ss
+ @angle:n-cd-na @atom:n @atom:cd @atom:na
+ @angle:n-cd-nc @atom:n @atom:cd @atom:nc
+ @angle:n-cd-nd @atom:n @atom:cd @atom:nd
+ @angle:n-cd-nh @atom:n @atom:cd @atom:nh
+ @angle:n-cd-ss @atom:n @atom:cd @atom:ss
+ @angle:oh-cd-os @atom:oh @atom:cd @atom:os
+ @angle:os-cd-ss @atom:os @atom:cd @atom:ss
+ @angle:ss-cd-ss @atom:ss @atom:cd @atom:ss
+ @angle:ss-cd-sy @atom:ss @atom:cd @atom:sy
+ @angle:c2-ce-c3 @atom:c2 @atom:ce @atom:c3
+ @angle:c2-ce-ca @atom:c2 @atom:ce @atom:ca
+ @angle:c2-ce-cc @atom:c2 @atom:ce @atom:cc
+ @angle:c2-ce-ce @atom:c2 @atom:ce @atom:ce
+ @angle:c2-ce-cg @atom:c2 @atom:ce @atom:cg
+ @angle:c2-ce-cl @atom:c2 @atom:ce @atom:cl
+ @angle:c2-ce-h4 @atom:c2 @atom:ce @atom:h4
+ @angle:c2-ce-ha @atom:c2 @atom:ce @atom:ha
+ @angle:c2-ce-n1 @atom:c2 @atom:ce @atom:n1
+ @angle:c2-ce-n2 @atom:c2 @atom:ce @atom:n2
+ @angle:c2-ce-na @atom:c2 @atom:ce @atom:na
+ @angle:c2-ce-ne @atom:c2 @atom:ce @atom:ne
+ @angle:c2-ce-oh @atom:c2 @atom:ce @atom:oh
+ @angle:c2-ce-p2 @atom:c2 @atom:ce @atom:p2
+ @angle:c2-ce-pe @atom:c2 @atom:ce @atom:pe
+ @angle:c2-ce-px @atom:c2 @atom:ce @atom:px
+ @angle:c2-ce-py @atom:c2 @atom:ce @atom:py
+ @angle:c2-ce-sx @atom:c2 @atom:ce @atom:sx
+ @angle:c2-ce-sy @atom:c2 @atom:ce @atom:sy
+ @angle:c3-ce-ca @atom:c3 @atom:ce @atom:ca
+ @angle:c3-ce-cc @atom:c3 @atom:ce @atom:cc
+ @angle:c3-ce-ce @atom:c3 @atom:ce @atom:ce
+ @angle:c3-ce-cf @atom:c3 @atom:ce @atom:cf
+ @angle:c3-ce-cg @atom:c3 @atom:ce @atom:cg
+ @angle:c3-ce-n2 @atom:c3 @atom:ce @atom:n2
+ @angle:c3-ce-nf @atom:c3 @atom:ce @atom:nf
+ @angle:c3-ce-nh @atom:c3 @atom:ce @atom:nh
+ @angle:ca-ce-ca @atom:ca @atom:ce @atom:ca
+ @angle:ca-ce-cc @atom:ca @atom:ce @atom:cc
+ @angle:ca-ce-ce @atom:ca @atom:ce @atom:ce
+ @angle:ca-ce-cf @atom:ca @atom:ce @atom:cf
+ @angle:ca-ce-cl @atom:ca @atom:ce @atom:cl
+ @angle:ca-ce-h4 @atom:ca @atom:ce @atom:h4
+ @angle:ca-ce-ha @atom:ca @atom:ce @atom:ha
+ @angle:ca-ce-n2 @atom:ca @atom:ce @atom:n2
+ @angle:ca-ce-nf @atom:ca @atom:ce @atom:nf
+ @angle:ca-ce-nh @atom:ca @atom:ce @atom:nh
+ @angle:ca-ce-oh @atom:ca @atom:ce @atom:oh
+ @angle:ca-ce-os @atom:ca @atom:ce @atom:os
+ @angle:ca-ce-ss @atom:ca @atom:ce @atom:ss
+ @angle:c-ce-c2 @atom:c @atom:ce @atom:c2
+ @angle:c-ce-c3 @atom:c @atom:ce @atom:c3
+ @angle:c-ce-c @atom:c @atom:ce @atom:c
+ @angle:c-ce-ca @atom:c @atom:ce @atom:ca
+ @angle:cc-ce-cd @atom:cc @atom:ce @atom:cd
+ @angle:cc-ce-cf @atom:cc @atom:ce @atom:cf
+ @angle:c-ce-cd @atom:c @atom:ce @atom:cd
+ @angle:c-ce-ce @atom:c @atom:ce @atom:ce
+ @angle:c-ce-cf @atom:c @atom:ce @atom:cf
+ @angle:c-ce-cg @atom:c @atom:ce @atom:cg
+ @angle:cc-ce-h4 @atom:cc @atom:ce @atom:h4
+ @angle:cc-ce-ha @atom:cc @atom:ce @atom:ha
+ @angle:c-ce-cl @atom:c @atom:ce @atom:cl
+ @angle:cc-ce-n2 @atom:cc @atom:ce @atom:n2
+ @angle:cc-ce-nh @atom:cc @atom:ce @atom:nh
+ @angle:c-ce-cy @atom:c @atom:ce @atom:cy
+ @angle:cd-ce-ce @atom:cd @atom:ce @atom:ce
+ @angle:cd-ce-ha @atom:cd @atom:ce @atom:ha
+ @angle:ce-ce-ce @atom:ce @atom:ce @atom:ce
+ @angle:ce-ce-cf @atom:ce @atom:ce @atom:cf
+ @angle:ce-ce-cl @atom:ce @atom:ce @atom:cl
+ @angle:ce-ce-h4 @atom:ce @atom:ce @atom:h4
+ @angle:ce-ce-ha @atom:ce @atom:ce @atom:ha
+ @angle:ce-ce-n1 @atom:ce @atom:ce @atom:n1
+ @angle:ce-ce-n2 @atom:ce @atom:ce @atom:n2
+ @angle:ce-ce-oh @atom:ce @atom:ce @atom:oh
+ @angle:cf-ce-cg @atom:cf @atom:ce @atom:cg
+ @angle:cf-ce-cy @atom:cf @atom:ce @atom:cy
+ @angle:cf-ce-h4 @atom:cf @atom:ce @atom:h4
+ @angle:cf-ce-ha @atom:cf @atom:ce @atom:ha
+ @angle:cf-ce-n1 @atom:cf @atom:ce @atom:n1
+ @angle:cf-ce-n @atom:cf @atom:ce @atom:n
+ @angle:cf-ce-nh @atom:cf @atom:ce @atom:nh
+ @angle:cf-ce-oh @atom:cf @atom:ce @atom:oh
+ @angle:cg-ce-cg @atom:cg @atom:ce @atom:cg
+ @angle:cg-ce-ha @atom:cg @atom:ce @atom:ha
+ @angle:cg-ce-n1 @atom:cg @atom:ce @atom:n1
+ @angle:cg-ce-n2 @atom:cg @atom:ce @atom:n2
+ @angle:c-ce-ha @atom:c @atom:ce @atom:ha
+ @angle:c-ce-n @atom:c @atom:ce @atom:n
+ @angle:c-ce-nh @atom:c @atom:ce @atom:nh
+ @angle:c-ce-oh @atom:c @atom:ce @atom:oh
+ @angle:c-ce-os @atom:c @atom:ce @atom:os
+ @angle:h4-ce-n1 @atom:h4 @atom:ce @atom:n1
+ @angle:h4-ce-n2 @atom:h4 @atom:ce @atom:n2
+ @angle:h4-ce-ne @atom:h4 @atom:ce @atom:ne
+ @angle:ha-ce-n1 @atom:ha @atom:ce @atom:n1
+ @angle:ha-ce-n2 @atom:ha @atom:ce @atom:n2
+ @angle:ha-ce-ne @atom:ha @atom:ce @atom:ne
+ @angle:ha-ce-nh @atom:ha @atom:ce @atom:nh
+ @angle:ha-ce-p2 @atom:ha @atom:ce @atom:p2
+ @angle:ha-ce-pe @atom:ha @atom:ce @atom:pe
+ @angle:ha-ce-px @atom:ha @atom:ce @atom:px
+ @angle:ha-ce-py @atom:ha @atom:ce @atom:py
+ @angle:ha-ce-sx @atom:ha @atom:ce @atom:sx
+ @angle:ha-ce-sy @atom:ha @atom:ce @atom:sy
+ @angle:n2-ce-nh @atom:n2 @atom:ce @atom:nh
+ @angle:n2-ce-os @atom:n2 @atom:ce @atom:os
+ @angle:n2-ce-ss @atom:n2 @atom:ce @atom:ss
+ @angle:ne-ce-ne @atom:ne @atom:ce @atom:ne
+ @angle:ne-ce-nh @atom:ne @atom:ce @atom:nh
+ @angle:nf-ce-nh @atom:nf @atom:ce @atom:nh
+ @angle:pe-ce-pe @atom:pe @atom:ce @atom:pe
+ @angle:py-ce-py @atom:py @atom:ce @atom:py
+ @angle:sx-ce-sx @atom:sx @atom:ce @atom:sx
+ @angle:sy-ce-sy @atom:sy @atom:ce @atom:sy
+ @angle:c2-cf-c3 @atom:c2 @atom:cf @atom:c3
+ @angle:c2-cf-ca @atom:c2 @atom:cf @atom:ca
+ @angle:c2-cf-cd @atom:c2 @atom:cf @atom:cd
+ @angle:c2-cf-cf @atom:c2 @atom:cf @atom:cf
+ @angle:c2-cf-ch @atom:c2 @atom:cf @atom:ch
+ @angle:c2-cf-ha @atom:c2 @atom:cf @atom:ha
+ @angle:c2-cf-n2 @atom:c2 @atom:cf @atom:n2
+ @angle:c2-cf-nf @atom:c2 @atom:cf @atom:nf
+ @angle:c2-cf-p2 @atom:c2 @atom:cf @atom:p2
+ @angle:c2-cf-pf @atom:c2 @atom:cf @atom:pf
+ @angle:c2-cf-px @atom:c2 @atom:cf @atom:px
+ @angle:c2-cf-py @atom:c2 @atom:cf @atom:py
+ @angle:c2-cf-sx @atom:c2 @atom:cf @atom:sx
+ @angle:c2-cf-sy @atom:c2 @atom:cf @atom:sy
+ @angle:c3-cf-ca @atom:c3 @atom:cf @atom:ca
+ @angle:c3-cf-cd @atom:c3 @atom:cf @atom:cd
+ @angle:c3-cf-ce @atom:c3 @atom:cf @atom:ce
+ @angle:c3-cf-cf @atom:c3 @atom:cf @atom:cf
+ @angle:c3-cf-n2 @atom:c3 @atom:cf @atom:n2
+ @angle:ca-cf-ca @atom:ca @atom:cf @atom:ca
+ @angle:ca-cf-cc @atom:ca @atom:cf @atom:cc
+ @angle:ca-cf-cd @atom:ca @atom:cf @atom:cd
+ @angle:ca-cf-ce @atom:ca @atom:cf @atom:ce
+ @angle:ca-cf-ha @atom:ca @atom:cf @atom:ha
+ @angle:ca-cf-n2 @atom:ca @atom:cf @atom:n2
+ @angle:ca-cf-ne @atom:ca @atom:cf @atom:ne
+ @angle:ca-cf-oh @atom:ca @atom:cf @atom:oh
+ @angle:c-cf-c2 @atom:c @atom:cf @atom:c2
+ @angle:c-cf-c3 @atom:c @atom:cf @atom:c3
+ @angle:c-cf-c @atom:c @atom:cf @atom:c
+ @angle:c-cf-cc @atom:c @atom:cf @atom:cc
+ @angle:cc-cf-cf @atom:cc @atom:cf @atom:cf
+ @angle:c-cf-cd @atom:c @atom:cf @atom:cd
+ @angle:c-cf-ce @atom:c @atom:cf @atom:ce
+ @angle:cc-cf-ha @atom:cc @atom:cf @atom:ha
+ @angle:cd-cf-ce @atom:cd @atom:cf @atom:ce
+ @angle:cd-cf-ha @atom:cd @atom:cf @atom:ha
+ @angle:cd-cf-n2 @atom:cd @atom:cf @atom:n2
+ @angle:ce-cf-cf @atom:ce @atom:cf @atom:cf
+ @angle:ce-cf-ch @atom:ce @atom:cf @atom:ch
+ @angle:ce-cf-ha @atom:ce @atom:cf @atom:ha
+ @angle:ce-cf-n @atom:ce @atom:cf @atom:n
+ @angle:ce-cf-oh @atom:ce @atom:cf @atom:oh
+ @angle:cf-cf-cf @atom:cf @atom:cf @atom:cf
+ @angle:cf-cf-h4 @atom:cf @atom:cf @atom:h4
+ @angle:cf-cf-ha @atom:cf @atom:cf @atom:ha
+ @angle:cf-cf-n1 @atom:cf @atom:cf @atom:n1
+ @angle:cf-cf-n2 @atom:cf @atom:cf @atom:n2
+ @angle:c-cf-ha @atom:c @atom:cf @atom:ha
+ @angle:ch-cf-ch @atom:ch @atom:cf @atom:ch
+ @angle:ch-cf-ha @atom:ch @atom:cf @atom:ha
+ @angle:ch-cf-n1 @atom:ch @atom:cf @atom:n1
+ @angle:c-cf-n2 @atom:c @atom:cf @atom:n2
+ @angle:c-cf-n @atom:c @atom:cf @atom:n
+ @angle:c-cf-nh @atom:c @atom:cf @atom:nh
+ @angle:f-c-f @atom:f @atom:c @atom:f
+ @angle:h4-cf-n2 @atom:h4 @atom:cf @atom:n2
+ @angle:h4-cf-ne @atom:h4 @atom:cf @atom:ne
+ @angle:ha-cf-n1 @atom:ha @atom:cf @atom:n1
+ @angle:ha-cf-n2 @atom:ha @atom:cf @atom:n2
+ @angle:ha-cf-nf @atom:ha @atom:cf @atom:nf
+ @angle:ha-cf-nh @atom:ha @atom:cf @atom:nh
+ @angle:ha-cf-p2 @atom:ha @atom:cf @atom:p2
+ @angle:ha-cf-pf @atom:ha @atom:cf @atom:pf
+ @angle:ha-cf-px @atom:ha @atom:cf @atom:px
+ @angle:ha-cf-py @atom:ha @atom:cf @atom:py
+ @angle:ha-cf-sx @atom:ha @atom:cf @atom:sx
+ @angle:ha-cf-sy @atom:ha @atom:cf @atom:sy
+ @angle:n2-cf-nh @atom:n2 @atom:cf @atom:nh
+ @angle:nf-cf-nf @atom:nf @atom:cf @atom:nf
+ @angle:f-c-o @atom:f @atom:c @atom:o
+ @angle:pf-cf-pf @atom:pf @atom:cf @atom:pf
+ @angle:py-cf-py @atom:py @atom:cf @atom:py
+ @angle:f-c-s @atom:f @atom:c @atom:s
+ @angle:sx-cf-sx @atom:sx @atom:cf @atom:sx
+ @angle:sy-cf-sy @atom:sy @atom:cf @atom:sy
+ @angle:c1-cg-ca @atom:c1 @atom:cg @atom:ca
+ @angle:c1-cg-cc @atom:c1 @atom:cg @atom:cc
+ @angle:c1-cg-ce @atom:c1 @atom:cg @atom:ce
+ @angle:c1-cg-cg @atom:c1 @atom:cg @atom:cg
+ @angle:c1-cg-ne @atom:c1 @atom:cg @atom:ne
+ @angle:c1-cg-pe @atom:c1 @atom:cg @atom:pe
+ @angle:ca-cg-ch @atom:ca @atom:cg @atom:ch
+ @angle:ca-cg-n1 @atom:ca @atom:cg @atom:n1
+ @angle:c-cg-c1 @atom:c @atom:cg @atom:c1
+ @angle:cc-cg-n1 @atom:cc @atom:cg @atom:n1
+ @angle:ce-cg-ch @atom:ce @atom:cg @atom:ch
+ @angle:ce-cg-n1 @atom:ce @atom:cg @atom:n1
+ @angle:n1-cg-ne @atom:n1 @atom:cg @atom:ne
+ @angle:h4-c-o @atom:h4 @atom:c @atom:o
+ @angle:h5-c-n @atom:h5 @atom:c @atom:n
+ @angle:h5-c-o @atom:h5 @atom:c @atom:o
+ @angle:ha-c-ha @atom:ha @atom:c @atom:ha
+ @angle:ha-c-i @atom:ha @atom:c @atom:i
+ @angle:ha-c-n @atom:ha @atom:c @atom:n
+ @angle:ha-c-o @atom:ha @atom:c @atom:o
+ @angle:ha-c-oh @atom:ha @atom:c @atom:oh
+ @angle:ha-c-os @atom:ha @atom:c @atom:os
+ @angle:ha-c-s @atom:ha @atom:c @atom:s
+ @angle:c1-ch-ca @atom:c1 @atom:ch @atom:ca
+ @angle:c1-ch-cf @atom:c1 @atom:ch @atom:cf
+ @angle:c1-ch-ch @atom:c1 @atom:ch @atom:ch
+ @angle:c1-ch-nf @atom:c1 @atom:ch @atom:nf
+ @angle:c1-ch-pf @atom:c1 @atom:ch @atom:pf
+ @angle:ca-ch-cg @atom:ca @atom:ch @atom:cg
+ @angle:ca-ch-n1 @atom:ca @atom:ch @atom:n1
+ @angle:c-ch-c1 @atom:c @atom:ch @atom:c1
+ @angle:cd-ch-n1 @atom:cd @atom:ch @atom:n1
+ @angle:cf-ch-cg @atom:cf @atom:ch @atom:cg
+ @angle:cf-ch-n1 @atom:cf @atom:ch @atom:n1
+ @angle:cg-ch-ch @atom:cg @atom:ch @atom:ch
+ @angle:n1-ch-nf @atom:n1 @atom:ch @atom:nf
+ @angle:i-c-i @atom:i @atom:c @atom:i
+ @angle:i-c-o @atom:i @atom:c @atom:o
+ @angle:f-cl-f @atom:f @atom:cl @atom:f
+ @angle:n2-c-n2 @atom:n2 @atom:c @atom:n2
+ @angle:n2-c-o @atom:n2 @atom:c @atom:o
+ @angle:n4-c-n4 @atom:n4 @atom:c @atom:n4
+ @angle:n4-c-o @atom:n4 @atom:c @atom:o
+ @angle:nc-c-o @atom:nc @atom:c @atom:o
+ @angle:nd-c-o @atom:nd @atom:c @atom:o
+ @angle:ne-c-ne @atom:ne @atom:c @atom:ne
+ @angle:ne-c-o @atom:ne @atom:c @atom:o
+ @angle:nf-c-nf @atom:nf @atom:c @atom:nf
+ @angle:nf-c-o @atom:nf @atom:c @atom:o
+ @angle:n-c-n @atom:n @atom:c @atom:n
+ @angle:n-c-nc @atom:n @atom:c @atom:nc
+ @angle:n-c-nd @atom:n @atom:c @atom:nd
+ @angle:n-c-ne @atom:n @atom:c @atom:ne
+ @angle:n-c-o @atom:n @atom:c @atom:o
+ @angle:n-c-oh @atom:n @atom:c @atom:oh
+ @angle:no-c-no @atom:no @atom:c @atom:no
+ @angle:no-c-o @atom:no @atom:c @atom:o
+ @angle:n-c-os @atom:n @atom:c @atom:os
+ @angle:n-c-s @atom:n @atom:c @atom:s
+ @angle:n-c-sh @atom:n @atom:c @atom:sh
+ @angle:n-c-ss @atom:n @atom:c @atom:ss
+ @angle:oh-c-oh @atom:oh @atom:c @atom:oh
+ @angle:oh-c-s @atom:oh @atom:c @atom:s
+ @angle:o-c-o @atom:o @atom:c @atom:o
+ @angle:o-c-oh @atom:o @atom:c @atom:oh
+ @angle:o-c-os @atom:o @atom:c @atom:os
+ @angle:o-c-p2 @atom:o @atom:c @atom:p2
+ @angle:o-c-p3 @atom:o @atom:c @atom:p3
+ @angle:o-c-p5 @atom:o @atom:c @atom:p5
+ @angle:o-c-pe @atom:o @atom:c @atom:pe
+ @angle:o-c-pf @atom:o @atom:c @atom:pf
+ @angle:o-c-px @atom:o @atom:c @atom:px
+ @angle:o-c-py @atom:o @atom:c @atom:py
+ @angle:o-c-s4 @atom:o @atom:c @atom:s4
+ @angle:o-c-s6 @atom:o @atom:c @atom:s6
+ @angle:o-c-s @atom:o @atom:c @atom:s
+ @angle:o-c-sh @atom:o @atom:c @atom:sh
+ @angle:os-c-os @atom:os @atom:c @atom:os
+ @angle:o-c-ss @atom:o @atom:c @atom:ss
+ @angle:os-c-s @atom:os @atom:c @atom:s
+ @angle:os-c-ss @atom:os @atom:c @atom:ss
+ @angle:o-c-sx @atom:o @atom:c @atom:sx
+ @angle:o-c-sy @atom:o @atom:c @atom:sy
+ @angle:p2-c-p2 @atom:p2 @atom:c @atom:p2
+ @angle:p3-c-p3 @atom:p3 @atom:c @atom:p3
+ @angle:p3-c-py @atom:p3 @atom:c @atom:py
+ @angle:p5-c-p5 @atom:p5 @atom:c @atom:p5
+ @angle:ca-cp-ca @atom:ca @atom:cp @atom:ca
+ @angle:ca-cp-cp @atom:ca @atom:cp @atom:cp
+ @angle:ca-cp-na @atom:ca @atom:cp @atom:na
+ @angle:ca-cp-nb @atom:ca @atom:cp @atom:nb
+ @angle:cp-cp-cp @atom:cp @atom:cp @atom:cp
+ @angle:cp-cp-cq @atom:cp @atom:cp @atom:cq
+ @angle:cp-cp-nb @atom:cp @atom:cp @atom:nb
+ @angle:pe-c-pe @atom:pe @atom:c @atom:pe
+ @angle:pf-c-pf @atom:pf @atom:c @atom:pf
+ @angle:nb-cp-nb @atom:nb @atom:cp @atom:nb
+ @angle:py-c-py @atom:py @atom:c @atom:py
+ @angle:ca-cq-ca @atom:ca @atom:cq @atom:ca
+ @angle:ca-cq-cq @atom:ca @atom:cq @atom:cq
+ @angle:ca-cq-nb @atom:ca @atom:cq @atom:nb
+ @angle:cp-cq-cq @atom:cp @atom:cq @atom:cq
+ @angle:cq-cq-cq @atom:cq @atom:cq @atom:cq
+ @angle:cq-cq-nb @atom:cq @atom:cq @atom:nb
+ @angle:s4-c-s4 @atom:s4 @atom:c @atom:s4
+ @angle:s6-c-s6 @atom:s6 @atom:c @atom:s6
+ @angle:sh-c-sh @atom:sh @atom:c @atom:sh
+ @angle:s-c-s @atom:s @atom:c @atom:s
+ @angle:s-c-sh @atom:s @atom:c @atom:sh
+ @angle:s-c-ss @atom:s @atom:c @atom:ss
+ @angle:ss-c-ss @atom:ss @atom:c @atom:ss
+ @angle:sx-c-sx @atom:sx @atom:c @atom:sx
+ @angle:sy-c-sy @atom:sy @atom:c @atom:sy
+ @angle:c2-cu-cx @atom:c2 @atom:cu @atom:cx
+ @angle:c-cu-cu @atom:c @atom:cu @atom:cu
+ @angle:cu-cu-cx @atom:cu @atom:cu @atom:cx
+ @angle:cu-cu-ha @atom:cu @atom:cu @atom:ha
+ @angle:cv-cv-cy @atom:cv @atom:cv @atom:cy
+ @angle:cv-cv-ha @atom:cv @atom:cv @atom:ha
+ @angle:cx-cv-cx @atom:cx @atom:cv @atom:cx
+ @angle:cy-cv-ha @atom:cy @atom:cv @atom:ha
+ @angle:c1-cx-cx @atom:c1 @atom:cx @atom:cx
+ @angle:c2-cx-cx @atom:c2 @atom:cx @atom:cx
+ @angle:c2-cx-h1 @atom:c2 @atom:cx @atom:h1
+ @angle:c2-cx-hc @atom:c2 @atom:cx @atom:hc
+ @angle:c2-cx-os @atom:c2 @atom:cx @atom:os
+ @angle:c3-cx-c3 @atom:c3 @atom:cx @atom:c3
+ @angle:c3-cx-cx @atom:c3 @atom:cx @atom:cx
+ @angle:c3-cx-h1 @atom:c3 @atom:cx @atom:h1
+ @angle:c3-cx-hc @atom:c3 @atom:cx @atom:hc
+ @angle:c3-cx-n3 @atom:c3 @atom:cx @atom:n3
+ @angle:c3-cx-os @atom:c3 @atom:cx @atom:os
+ @angle:ca-cx-cx @atom:ca @atom:cx @atom:cx
+ @angle:ca-cx-h1 @atom:ca @atom:cx @atom:h1
+ @angle:ca-cx-hc @atom:ca @atom:cx @atom:hc
+ @angle:ca-cx-oh @atom:ca @atom:cx @atom:oh
+ @angle:ca-cx-os @atom:ca @atom:cx @atom:os
+ @angle:c-cx-c3 @atom:c @atom:cx @atom:c3
+ @angle:cc-cx-cx @atom:cc @atom:cx @atom:cx
+ @angle:cc-cx-hc @atom:cc @atom:cx @atom:hc
+ @angle:c-cx-cx @atom:c @atom:cx @atom:cx
+ @angle:cd-cx-cx @atom:cd @atom:cx @atom:cx
+ @angle:c-cx-h1 @atom:c @atom:cx @atom:h1
+ @angle:c-cx-hc @atom:c @atom:cx @atom:hc
+ @angle:cl-cx-cl @atom:cl @atom:cx @atom:cl
+ @angle:cl-cx-cx @atom:cl @atom:cx @atom:cx
+ @angle:cl-cx-h1 @atom:cl @atom:cx @atom:h1
+ @angle:cl-cx-hc @atom:cl @atom:cx @atom:hc
+ @angle:c-cx-os @atom:c @atom:cx @atom:os
+ @angle:cu-cx-cu @atom:cu @atom:cx @atom:cu
+ @angle:cu-cx-cx @atom:cu @atom:cx @atom:cx
+ @angle:cu-cx-hc @atom:cu @atom:cx @atom:hc
+ @angle:cx-cx-cx @atom:cx @atom:cx @atom:cx
+ @angle:cx-cx-cy @atom:cx @atom:cx @atom:cy
+ @angle:cx-cx-f @atom:cx @atom:cx @atom:f
+ @angle:cx-cx-h1 @atom:cx @atom:cx @atom:h1
+ @angle:cx-cx-hc @atom:cx @atom:cx @atom:hc
+ @angle:cx-cx-hx @atom:cx @atom:cx @atom:hx
+ @angle:cx-cx-n3 @atom:cx @atom:cx @atom:n3
+ @angle:cx-cx-na @atom:cx @atom:cx @atom:na
+ @angle:cx-cx-nh @atom:cx @atom:cx @atom:nh
+ @angle:cx-cx-os @atom:cx @atom:cx @atom:os
+ @angle:cy-cx-hc @atom:cy @atom:cx @atom:hc
+ @angle:f-cx-f @atom:f @atom:cx @atom:f
+ @angle:f-cx-h1 @atom:f @atom:cx @atom:h1
+ @angle:f-cx-hc @atom:f @atom:cx @atom:hc
+ @angle:h1-cx-h1 @atom:h1 @atom:cx @atom:h1
+ @angle:h1-cx-n3 @atom:h1 @atom:cx @atom:n3
+ @angle:h1-cx-n @atom:h1 @atom:cx @atom:n
+ @angle:h1-cx-na @atom:h1 @atom:cx @atom:na
+ @angle:h1-cx-nh @atom:h1 @atom:cx @atom:nh
+ @angle:h1-cx-os @atom:h1 @atom:cx @atom:os
+ @angle:h2-cx-h2 @atom:h2 @atom:cx @atom:h2
+ @angle:h2-cx-n2 @atom:h2 @atom:cx @atom:n2
+ @angle:hc-cx-hc @atom:hc @atom:cx @atom:hc
+ @angle:hc-cx-os @atom:hc @atom:cx @atom:os
+ @angle:hx-cx-n4 @atom:hx @atom:cx @atom:n4
+ @angle:n2-cx-n2 @atom:n2 @atom:cx @atom:n2
+ @angle:n-cx-oh @atom:n @atom:cx @atom:oh
+ @angle:n-cx-os @atom:n @atom:cx @atom:os
+ @angle:oh-cx-oh @atom:oh @atom:cx @atom:oh
+ @angle:oh-cx-os @atom:oh @atom:cx @atom:os
+ @angle:os-cx-os @atom:os @atom:cx @atom:os
+ @angle:c2-cy-cy @atom:c2 @atom:cy @atom:cy
+ @angle:c3-cy-c3 @atom:c3 @atom:cy @atom:c3
+ @angle:c3-cy-cy @atom:c3 @atom:cy @atom:cy
+ @angle:c3-cy-h1 @atom:c3 @atom:cy @atom:h1
+ @angle:c3-cy-hc @atom:c3 @atom:cy @atom:hc
+ @angle:c3-cy-n3 @atom:c3 @atom:cy @atom:n3
+ @angle:c3-cy-n @atom:c3 @atom:cy @atom:n
+ @angle:c3-cy-os @atom:c3 @atom:cy @atom:os
+ @angle:c-cy-c3 @atom:c @atom:cy @atom:c3
+ @angle:cc-cy-cy @atom:cc @atom:cy @atom:cy
+ @angle:c-cy-cy @atom:c @atom:cy @atom:cy
+ @angle:cd-cy-cy @atom:cd @atom:cy @atom:cy
+ @angle:ce-cy-h2 @atom:ce @atom:cy @atom:h2
+ @angle:ce-cy-n @atom:ce @atom:cy @atom:n
+ @angle:ce-cy-ss @atom:ce @atom:cy @atom:ss
+ @angle:c-cy-h1 @atom:c @atom:cy @atom:h1
+ @angle:c-cy-hc @atom:c @atom:cy @atom:hc
+ @angle:cl-cy-cy @atom:cl @atom:cy @atom:cy
+ @angle:cl-cy-h1 @atom:cl @atom:cy @atom:h1
+ @angle:cl-cy-hc @atom:cl @atom:cy @atom:hc
+ @angle:c-cy-n @atom:c @atom:cy @atom:n
+ @angle:c-cy-os @atom:c @atom:cy @atom:os
+ @angle:cv-cy-cy @atom:cv @atom:cy @atom:cy
+ @angle:cv-cy-hc @atom:cv @atom:cy @atom:hc
+ @angle:cx-cy-cy @atom:cx @atom:cy @atom:cy
+ @angle:cx-cy-hc @atom:cx @atom:cy @atom:hc
+ @angle:cy-cy-cy @atom:cy @atom:cy @atom:cy
+ @angle:cy-cy-f @atom:cy @atom:cy @atom:f
+ @angle:cy-cy-h1 @atom:cy @atom:cy @atom:h1
+ @angle:cy-cy-h2 @atom:cy @atom:cy @atom:h2
+ @angle:cy-cy-hc @atom:cy @atom:cy @atom:hc
+ @angle:cy-cy-n3 @atom:cy @atom:cy @atom:n3
+ @angle:cy-cy-n @atom:cy @atom:cy @atom:n
+ @angle:cy-cy-na @atom:cy @atom:cy @atom:na
+ @angle:cy-cy-oh @atom:cy @atom:cy @atom:oh
+ @angle:cy-cy-os @atom:cy @atom:cy @atom:os
+ @angle:cy-cy-s6 @atom:cy @atom:cy @atom:s6
+ @angle:cy-cy-ss @atom:cy @atom:cy @atom:ss
+ @angle:h1-cy-h1 @atom:h1 @atom:cy @atom:h1
+ @angle:h1-cy-n3 @atom:h1 @atom:cy @atom:n3
+ @angle:h1-cy-n @atom:h1 @atom:cy @atom:n
+ @angle:h1-cy-oh @atom:h1 @atom:cy @atom:oh
+ @angle:h1-cy-os @atom:h1 @atom:cy @atom:os
+ @angle:h1-cy-s6 @atom:h1 @atom:cy @atom:s6
+ @angle:h2-cy-n @atom:h2 @atom:cy @atom:n
+ @angle:h2-cy-os @atom:h2 @atom:cy @atom:os
+ @angle:h2-cy-s6 @atom:h2 @atom:cy @atom:s6
+ @angle:h2-cy-ss @atom:h2 @atom:cy @atom:ss
+ @angle:hc-cy-hc @atom:hc @atom:cy @atom:hc
+ @angle:n-cy-os @atom:n @atom:cy @atom:os
+ @angle:n-cy-s6 @atom:n @atom:cy @atom:s6
+ @angle:n-cy-ss @atom:n @atom:cy @atom:ss
+ @angle:nh-cz-nh @atom:nh @atom:cz @atom:nh
+ @angle:br-n1-c1 @atom:br @atom:n1 @atom:c1
+ @angle:c1-n1-c1 @atom:c1 @atom:n1 @atom:c1
+ @angle:c1-n1-c2 @atom:c1 @atom:n1 @atom:c2
+ @angle:c1-n1-c3 @atom:c1 @atom:n1 @atom:c3
+ @angle:c1-n1-ca @atom:c1 @atom:n1 @atom:ca
+ @angle:c1-n1-cl @atom:c1 @atom:n1 @atom:cl
+ @angle:c1-n1-f @atom:c1 @atom:n1 @atom:f
+ @angle:c1-n1-hn @atom:c1 @atom:n1 @atom:hn
+ @angle:c1-n1-i @atom:c1 @atom:n1 @atom:i
+ @angle:c1-n1-n1 @atom:c1 @atom:n1 @atom:n1
+ @angle:c1-n1-n2 @atom:c1 @atom:n1 @atom:n2
+ @angle:c1-n1-n3 @atom:c1 @atom:n1 @atom:n3
+ @angle:c1-n1-n4 @atom:c1 @atom:n1 @atom:n4
+ @angle:c1-n1-na @atom:c1 @atom:n1 @atom:na
+ @angle:c1-n1-nh @atom:c1 @atom:n1 @atom:nh
+ @angle:c1-n1-o @atom:c1 @atom:n1 @atom:o
+ @angle:c1-n1-oh @atom:c1 @atom:n1 @atom:oh
+ @angle:c1-n1-os @atom:c1 @atom:n1 @atom:os
+ @angle:c1-n1-p2 @atom:c1 @atom:n1 @atom:p2
+ @angle:c1-n1-p3 @atom:c1 @atom:n1 @atom:p3
+ @angle:c1-n1-p4 @atom:c1 @atom:n1 @atom:p4
+ @angle:c1-n1-p5 @atom:c1 @atom:n1 @atom:p5
+ @angle:c1-n1-s2 @atom:c1 @atom:n1 @atom:s2
+ @angle:c1-n1-s4 @atom:c1 @atom:n1 @atom:s4
+ @angle:c1-n1-s @atom:c1 @atom:n1 @atom:s
+ @angle:c1-n1-s6 @atom:c1 @atom:n1 @atom:s6
+ @angle:c1-n1-sh @atom:c1 @atom:n1 @atom:sh
+ @angle:c1-n1-ss @atom:c1 @atom:n1 @atom:ss
+ @angle:c2-n1-n1 @atom:c2 @atom:n1 @atom:n1
+ @angle:c2-n1-o @atom:c2 @atom:n1 @atom:o
+ @angle:c2-n1-s @atom:c2 @atom:n1 @atom:s
+ @angle:c3-n1-n1 @atom:c3 @atom:n1 @atom:n1
+ @angle:ca-n1-n1 @atom:ca @atom:n1 @atom:n1
+ @angle:ce-n1-o @atom:ce @atom:n1 @atom:o
+ @angle:ce-n1-s @atom:ce @atom:n1 @atom:s
+ @angle:cf-n1-o @atom:cf @atom:n1 @atom:o
+ @angle:cf-n1-s @atom:cf @atom:n1 @atom:s
+ @angle:cl-n1-n1 @atom:cl @atom:n1 @atom:n1
+ @angle:f-n1-n1 @atom:f @atom:n1 @atom:n1
+ @angle:hn-n1-n1 @atom:hn @atom:n1 @atom:n1
+ @angle:i-n1-n1 @atom:i @atom:n1 @atom:n1
+ @angle:n1-n1-n1 @atom:n1 @atom:n1 @atom:n1
+ @angle:n1-n1-n2 @atom:n1 @atom:n1 @atom:n2
+ @angle:n1-n1-n3 @atom:n1 @atom:n1 @atom:n3
+ @angle:n1-n1-n4 @atom:n1 @atom:n1 @atom:n4
+ @angle:n1-n1-na @atom:n1 @atom:n1 @atom:na
+ @angle:n1-n1-nh @atom:n1 @atom:n1 @atom:nh
+ @angle:n1-n1-o @atom:n1 @atom:n1 @atom:o
+ @angle:n1-n1-oh @atom:n1 @atom:n1 @atom:oh
+ @angle:n1-n1-os @atom:n1 @atom:n1 @atom:os
+ @angle:n1-n1-p2 @atom:n1 @atom:n1 @atom:p2
+ @angle:n1-n1-p3 @atom:n1 @atom:n1 @atom:p3
+ @angle:n1-n1-s @atom:n1 @atom:n1 @atom:s
+ @angle:n1-n1-sh @atom:n1 @atom:n1 @atom:sh
+ @angle:n1-n1-ss @atom:n1 @atom:n1 @atom:ss
+ @angle:o-n1-p2 @atom:o @atom:n1 @atom:p2
+ @angle:p2-n1-s @atom:p2 @atom:n1 @atom:s
+ @angle:br-n2-br @atom:br @atom:n2 @atom:br
+ @angle:br-n2-c2 @atom:br @atom:n2 @atom:c2
+ @angle:br-n2-n2 @atom:br @atom:n2 @atom:n2
+ @angle:br-n2-o @atom:br @atom:n2 @atom:o
+ @angle:br-n2-p2 @atom:br @atom:n2 @atom:p2
+ @angle:br-n2-s @atom:br @atom:n2 @atom:s
+ @angle:c1-n2-c1 @atom:c1 @atom:n2 @atom:c1
+ @angle:c1-n2-c3 @atom:c1 @atom:n2 @atom:c3
+ @angle:c1-n2-cl @atom:c1 @atom:n2 @atom:cl
+ @angle:c1-n2-hn @atom:c1 @atom:n2 @atom:hn
+ @angle:c1-n2-n2 @atom:c1 @atom:n2 @atom:n2
+ @angle:c1-n2-o @atom:c1 @atom:n2 @atom:o
+ @angle:c1-n2-p2 @atom:c1 @atom:n2 @atom:p2
+ @angle:c1-n2-s @atom:c1 @atom:n2 @atom:s
+ @angle:c2-n2-c2 @atom:c2 @atom:n2 @atom:c2
+ @angle:c2-n2-c3 @atom:c2 @atom:n2 @atom:c3
+ @angle:c2-n2-ca @atom:c2 @atom:n2 @atom:ca
+ @angle:c2-n2-cl @atom:c2 @atom:n2 @atom:cl
+ @angle:c2-n2-f @atom:c2 @atom:n2 @atom:f
+ @angle:c2-n2-hn @atom:c2 @atom:n2 @atom:hn
+ @angle:c2-n2-i @atom:c2 @atom:n2 @atom:i
+ @angle:c2-n2-n1 @atom:c2 @atom:n2 @atom:n1
+ @angle:c2-n2-n2 @atom:c2 @atom:n2 @atom:n2
+ @angle:c2-n2-n3 @atom:c2 @atom:n2 @atom:n3
+ @angle:c2-n2-n4 @atom:c2 @atom:n2 @atom:n4
+ @angle:c2-n2-n @atom:c2 @atom:n2 @atom:n
+ @angle:c2-n2-na @atom:c2 @atom:n2 @atom:na
+ @angle:c2-n2-nh @atom:c2 @atom:n2 @atom:nh
+ @angle:c2-n2-no @atom:c2 @atom:n2 @atom:no
+ @angle:c2-n2-o @atom:c2 @atom:n2 @atom:o
+ @angle:c2-n2-oh @atom:c2 @atom:n2 @atom:oh
+ @angle:c2-n2-os @atom:c2 @atom:n2 @atom:os
+ @angle:c2-n2-p2 @atom:c2 @atom:n2 @atom:p2
+ @angle:c2-n2-p3 @atom:c2 @atom:n2 @atom:p3
+ @angle:c2-n2-p4 @atom:c2 @atom:n2 @atom:p4
+ @angle:c2-n2-s4 @atom:c2 @atom:n2 @atom:s4
+ @angle:c2-n2-s6 @atom:c2 @atom:n2 @atom:s6
+ @angle:c2-n2-s @atom:c2 @atom:n2 @atom:s
+ @angle:c2-n2-sh @atom:c2 @atom:n2 @atom:sh
+ @angle:c2-n2-ss @atom:c2 @atom:n2 @atom:ss
+ @angle:c3-n2-c3 @atom:c3 @atom:n2 @atom:c3
+ @angle:c3-n2-ca @atom:c3 @atom:n2 @atom:ca
+ @angle:c3-n2-ce @atom:c3 @atom:n2 @atom:ce
+ @angle:c3-n2-cf @atom:c3 @atom:n2 @atom:cf
+ @angle:c3-n2-hn @atom:c3 @atom:n2 @atom:hn
+ @angle:c3-n2-n1 @atom:c3 @atom:n2 @atom:n1
+ @angle:c3-n2-n2 @atom:c3 @atom:n2 @atom:n2
+ @angle:c3-n2-nh @atom:c3 @atom:n2 @atom:nh
+ @angle:c3-n2-o @atom:c3 @atom:n2 @atom:o
+ @angle:c3-n2-p2 @atom:c3 @atom:n2 @atom:p2
+ @angle:c3-n2-s6 @atom:c3 @atom:n2 @atom:s6
+ @angle:c3-n2-s @atom:c3 @atom:n2 @atom:s
+ @angle:ca-n2-ca @atom:ca @atom:n2 @atom:ca
+ @angle:ca-n2-hn @atom:ca @atom:n2 @atom:hn
+ @angle:ca-n2-n2 @atom:ca @atom:n2 @atom:n2
+ @angle:ca-n2-o @atom:ca @atom:n2 @atom:o
+ @angle:ca-n2-p2 @atom:ca @atom:n2 @atom:p2
+ @angle:ca-n2-s @atom:ca @atom:n2 @atom:s
+ @angle:c-n2-c2 @atom:c @atom:n2 @atom:c2
+ @angle:c-n2-c @atom:c @atom:n2 @atom:c
+ @angle:c-n2-ca @atom:c @atom:n2 @atom:ca
+ @angle:cc-n2-cl @atom:cc @atom:n2 @atom:cl
+ @angle:cc-n2-hn @atom:cc @atom:n2 @atom:hn
+ @angle:cc-n2-na @atom:cc @atom:n2 @atom:na
+ @angle:cc-n2-nh @atom:cc @atom:n2 @atom:nh
+ @angle:cd-n2-cl @atom:cd @atom:n2 @atom:cl
+ @angle:cd-n2-hn @atom:cd @atom:n2 @atom:hn
+ @angle:ce-n2-hn @atom:ce @atom:n2 @atom:hn
+ @angle:ce-n2-n @atom:ce @atom:n2 @atom:n
+ @angle:ce-n2-nh @atom:ce @atom:n2 @atom:nh
+ @angle:ce-n2-o @atom:ce @atom:n2 @atom:o
+ @angle:ce-n2-oh @atom:ce @atom:n2 @atom:oh
+ @angle:ce-n2-os @atom:ce @atom:n2 @atom:os
+ @angle:ce-n2-s @atom:ce @atom:n2 @atom:s
+ @angle:cf-n2-hn @atom:cf @atom:n2 @atom:hn
+ @angle:cf-n2-n @atom:cf @atom:n2 @atom:n
+ @angle:cf-n2-nh @atom:cf @atom:n2 @atom:nh
+ @angle:cf-n2-o @atom:cf @atom:n2 @atom:o
+ @angle:cf-n2-oh @atom:cf @atom:n2 @atom:oh
+ @angle:cf-n2-os @atom:cf @atom:n2 @atom:os
+ @angle:cf-n2-s @atom:cf @atom:n2 @atom:s
+ @angle:cl-n2-n1 @atom:cl @atom:n2 @atom:n1
+ @angle:cl-n2-n2 @atom:cl @atom:n2 @atom:n2
+ @angle:cl-n2-o @atom:cl @atom:n2 @atom:o
+ @angle:cl-n2-p2 @atom:cl @atom:n2 @atom:p2
+ @angle:cl-n2-s @atom:cl @atom:n2 @atom:s
+ @angle:cx-n2-n2 @atom:cx @atom:n2 @atom:n2
+ @angle:f-n2-n2 @atom:f @atom:n2 @atom:n2
+ @angle:f-n2-o @atom:f @atom:n2 @atom:o
+ @angle:f-n2-p2 @atom:f @atom:n2 @atom:p2
+ @angle:f-n2-s @atom:f @atom:n2 @atom:s
+ @angle:hn-n2-hn @atom:hn @atom:n2 @atom:hn
+ @angle:hn-n2-n1 @atom:hn @atom:n2 @atom:n1
+ @angle:hn-n2-n2 @atom:hn @atom:n2 @atom:n2
+ @angle:hn-n2-ne @atom:hn @atom:n2 @atom:ne
+ @angle:hn-n2-nf @atom:hn @atom:n2 @atom:nf
+ @angle:hn-n2-o @atom:hn @atom:n2 @atom:o
+ @angle:hn-n2-p2 @atom:hn @atom:n2 @atom:p2
+ @angle:hn-n2-p4 @atom:hn @atom:n2 @atom:p4
+ @angle:hn-n2-p5 @atom:hn @atom:n2 @atom:p5
+ @angle:hn-n2-pe @atom:hn @atom:n2 @atom:pe
+ @angle:hn-n2-pf @atom:hn @atom:n2 @atom:pf
+ @angle:hn-n2-s2 @atom:hn @atom:n2 @atom:s2
+ @angle:hn-n2-s4 @atom:hn @atom:n2 @atom:s4
+ @angle:hn-n2-s @atom:hn @atom:n2 @atom:s
+ @angle:hn-n2-s6 @atom:hn @atom:n2 @atom:s6
+ @angle:i-n2-n2 @atom:i @atom:n2 @atom:n2
+ @angle:i-n2-o @atom:i @atom:n2 @atom:o
+ @angle:i-n2-p2 @atom:i @atom:n2 @atom:p2
+ @angle:i-n2-s @atom:i @atom:n2 @atom:s
+ @angle:n1-n2-n1 @atom:n1 @atom:n2 @atom:n1
+ @angle:n2-n2-n1 @atom:n2 @atom:n2 @atom:n1
+ @angle:n2-n2-n2 @atom:n2 @atom:n2 @atom:n2
+ @angle:n2-n2-n3 @atom:n2 @atom:n2 @atom:n3
+ @angle:n2-n2-n4 @atom:n2 @atom:n2 @atom:n4
+ @angle:n2-n2-na @atom:n2 @atom:n2 @atom:na
+ @angle:n2-n2-nh @atom:n2 @atom:n2 @atom:nh
+ @angle:n2-n2-no @atom:n2 @atom:n2 @atom:no
+ @angle:n2-n2-o @atom:n2 @atom:n2 @atom:o
+ @angle:n2-n2-oh @atom:n2 @atom:n2 @atom:oh
+ @angle:n2-n2-os @atom:n2 @atom:n2 @atom:os
+ @angle:n2-n2-p2 @atom:n2 @atom:n2 @atom:p2
+ @angle:n2-n2-p3 @atom:n2 @atom:n2 @atom:p3
+ @angle:n2-n2-p4 @atom:n2 @atom:n2 @atom:p4
+ @angle:n2-n2-p5 @atom:n2 @atom:n2 @atom:p5
+ @angle:n2-n2-s4 @atom:n2 @atom:n2 @atom:s4
+ @angle:n2-n2-s6 @atom:n2 @atom:n2 @atom:s6
+ @angle:n2-n2-s @atom:n2 @atom:n2 @atom:s
+ @angle:n2-n2-sh @atom:n2 @atom:n2 @atom:sh
+ @angle:n2-n2-ss @atom:n2 @atom:n2 @atom:ss
+ @angle:n3-n2-n3 @atom:n3 @atom:n2 @atom:n3
+ @angle:n3-n2-o @atom:n3 @atom:n2 @atom:o
+ @angle:n3-n2-p2 @atom:n3 @atom:n2 @atom:p2
+ @angle:n3-n2-s @atom:n3 @atom:n2 @atom:s
+ @angle:n4-n2-n4 @atom:n4 @atom:n2 @atom:n4
+ @angle:n4-n2-o @atom:n4 @atom:n2 @atom:o
+ @angle:n4-n2-p2 @atom:n4 @atom:n2 @atom:p2
+ @angle:n4-n2-s @atom:n4 @atom:n2 @atom:s
+ @angle:na-n2-na @atom:na @atom:n2 @atom:na
+ @angle:na-n2-o @atom:na @atom:n2 @atom:o
+ @angle:na-n2-p2 @atom:na @atom:n2 @atom:p2
+ @angle:na-n2-s @atom:na @atom:n2 @atom:s
+ @angle:ne-n2-nh @atom:ne @atom:n2 @atom:nh
+ @angle:ne-n2-o @atom:ne @atom:n2 @atom:o
+ @angle:ne-n2-s @atom:ne @atom:n2 @atom:s
+ @angle:nf-n2-nh @atom:nf @atom:n2 @atom:nh
+ @angle:nf-n2-o @atom:nf @atom:n2 @atom:o
+ @angle:nf-n2-s @atom:nf @atom:n2 @atom:s
+ @angle:nh-n2-nh @atom:nh @atom:n2 @atom:nh
+ @angle:nh-n2-o @atom:nh @atom:n2 @atom:o
+ @angle:nh-n2-p2 @atom:nh @atom:n2 @atom:p2
+ @angle:nh-n2-s @atom:nh @atom:n2 @atom:s
+ @angle:n-n2-n2 @atom:n @atom:n2 @atom:n2
+ @angle:n-n2-o @atom:n @atom:n2 @atom:o
+ @angle:no-n2-no @atom:no @atom:n2 @atom:no
+ @angle:no-n2-o @atom:no @atom:n2 @atom:o
+ @angle:no-n2-p2 @atom:no @atom:n2 @atom:p2
+ @angle:n-n2-p2 @atom:n @atom:n2 @atom:p2
+ @angle:n-n2-s @atom:n @atom:n2 @atom:s
+ @angle:oh-n2-oh @atom:oh @atom:n2 @atom:oh
+ @angle:oh-n2-p2 @atom:oh @atom:n2 @atom:p2
+ @angle:oh-n2-s @atom:oh @atom:n2 @atom:s
+ @angle:o-n2-o @atom:o @atom:n2 @atom:o
+ @angle:o-n2-oh @atom:o @atom:n2 @atom:oh
+ @angle:o-n2-os @atom:o @atom:n2 @atom:os
+ @angle:o-n2-p2 @atom:o @atom:n2 @atom:p2
+ @angle:o-n2-p3 @atom:o @atom:n2 @atom:p3
+ @angle:o-n2-p4 @atom:o @atom:n2 @atom:p4
+ @angle:o-n2-p5 @atom:o @atom:n2 @atom:p5
+ @angle:o-n2-pe @atom:o @atom:n2 @atom:pe
+ @angle:o-n2-pf @atom:o @atom:n2 @atom:pf
+ @angle:o-n2-s4 @atom:o @atom:n2 @atom:s4
+ @angle:o-n2-s6 @atom:o @atom:n2 @atom:s6
+ @angle:o-n2-s @atom:o @atom:n2 @atom:s
+ @angle:o-n2-sh @atom:o @atom:n2 @atom:sh
+ @angle:os-n2-os @atom:os @atom:n2 @atom:os
+ @angle:os-n2-p2 @atom:os @atom:n2 @atom:p2
+ @angle:o-n2-ss @atom:o @atom:n2 @atom:ss
+ @angle:os-n2-s @atom:os @atom:n2 @atom:s
+ @angle:p2-n2-p2 @atom:p2 @atom:n2 @atom:p2
+ @angle:p2-n2-p3 @atom:p2 @atom:n2 @atom:p3
+ @angle:p2-n2-p4 @atom:p2 @atom:n2 @atom:p4
+ @angle:p2-n2-p5 @atom:p2 @atom:n2 @atom:p5
+ @angle:p2-n2-s4 @atom:p2 @atom:n2 @atom:s4
+ @angle:p2-n2-s6 @atom:p2 @atom:n2 @atom:s6
+ @angle:p2-n2-s @atom:p2 @atom:n2 @atom:s
+ @angle:p2-n2-sh @atom:p2 @atom:n2 @atom:sh
+ @angle:p2-n2-ss @atom:p2 @atom:n2 @atom:ss
+ @angle:p3-n2-p3 @atom:p3 @atom:n2 @atom:p3
+ @angle:p3-n2-s @atom:p3 @atom:n2 @atom:s
+ @angle:p4-n2-s @atom:p4 @atom:n2 @atom:s
+ @angle:p5-n2-p5 @atom:p5 @atom:n2 @atom:p5
+ @angle:p5-n2-s @atom:p5 @atom:n2 @atom:s
+ @angle:pe-n2-s @atom:pe @atom:n2 @atom:s
+ @angle:pf-n2-s @atom:pf @atom:n2 @atom:s
+ @angle:s4-n2-s4 @atom:s4 @atom:n2 @atom:s4
+ @angle:s4-n2-s6 @atom:s4 @atom:n2 @atom:s6
+ @angle:s6-n2-s6 @atom:s6 @atom:n2 @atom:s6
+ @angle:sh-n2-sh @atom:sh @atom:n2 @atom:sh
+ @angle:sh-n2-ss @atom:sh @atom:n2 @atom:ss
+ @angle:s-n2-s @atom:s @atom:n2 @atom:s
+ @angle:s-n2-s4 @atom:s @atom:n2 @atom:s4
+ @angle:s-n2-s6 @atom:s @atom:n2 @atom:s6
+ @angle:s-n2-sh @atom:s @atom:n2 @atom:sh
+ @angle:s-n2-ss @atom:s @atom:n2 @atom:ss
+ @angle:ss-n2-ss @atom:ss @atom:n2 @atom:ss
+ @angle:br-n3-br @atom:br @atom:n3 @atom:br
+ @angle:br-n3-c3 @atom:br @atom:n3 @atom:c3
+ @angle:c1-n3-c1 @atom:c1 @atom:n3 @atom:c1
+ @angle:c1-n3-f @atom:c1 @atom:n3 @atom:f
+ @angle:c1-n3-hn @atom:c1 @atom:n3 @atom:hn
+ @angle:c1-n3-o @atom:c1 @atom:n3 @atom:o
+ @angle:c2-n3-c2 @atom:c2 @atom:n3 @atom:c2
+ @angle:c2-n3-hn @atom:c2 @atom:n3 @atom:hn
+ @angle:c3-n3-c3 @atom:c3 @atom:n3 @atom:c3
+ @angle:c3-n3-cl @atom:c3 @atom:n3 @atom:cl
+ @angle:c3-n3-cx @atom:c3 @atom:n3 @atom:cx
+ @angle:c3-n3-cy @atom:c3 @atom:n3 @atom:cy
+ @angle:c3-n3-f @atom:c3 @atom:n3 @atom:f
+ @angle:c3-n3-hn @atom:c3 @atom:n3 @atom:hn
+ @angle:c3-n3-i @atom:c3 @atom:n3 @atom:i
+ @angle:c3-n3-n2 @atom:c3 @atom:n3 @atom:n2
+ @angle:c3-n3-n3 @atom:c3 @atom:n3 @atom:n3
+ @angle:c3-n3-n4 @atom:c3 @atom:n3 @atom:n4
+ @angle:c3-n3-n @atom:c3 @atom:n3 @atom:n
+ @angle:c3-n3-nh @atom:c3 @atom:n3 @atom:nh
+ @angle:c3-n3-no @atom:c3 @atom:n3 @atom:no
+ @angle:c3-n3-o @atom:c3 @atom:n3 @atom:o
+ @angle:c3-n3-oh @atom:c3 @atom:n3 @atom:oh
+ @angle:c3-n3-os @atom:c3 @atom:n3 @atom:os
+ @angle:c3-n3-p3 @atom:c3 @atom:n3 @atom:p3
+ @angle:c3-n3-p5 @atom:c3 @atom:n3 @atom:p5
+ @angle:c3-n3-s4 @atom:c3 @atom:n3 @atom:s4
+ @angle:c3-n3-s6 @atom:c3 @atom:n3 @atom:s6
+ @angle:c3-n3-s @atom:c3 @atom:n3 @atom:s
+ @angle:c3-n3-sh @atom:c3 @atom:n3 @atom:sh
+ @angle:c3-n3-ss @atom:c3 @atom:n3 @atom:ss
+ @angle:c3-n3-sy @atom:c3 @atom:n3 @atom:sy
+ @angle:cl-n3-cl @atom:cl @atom:n3 @atom:cl
+ @angle:cl-n3-hn @atom:cl @atom:n3 @atom:hn
+ @angle:cl-n3-n3 @atom:cl @atom:n3 @atom:n3
+ @angle:cx-n3-cx @atom:cx @atom:n3 @atom:cx
+ @angle:cx-n3-hn @atom:cx @atom:n3 @atom:hn
+ @angle:cx-n3-p5 @atom:cx @atom:n3 @atom:p5
+ @angle:cx-n3-py @atom:cx @atom:n3 @atom:py
+ @angle:cy-n3-cy @atom:cy @atom:n3 @atom:cy
+ @angle:cy-n3-hn @atom:cy @atom:n3 @atom:hn
+ @angle:f-n3-f @atom:f @atom:n3 @atom:f
+ @angle:f-n3-hn @atom:f @atom:n3 @atom:hn
+ @angle:hn-n3-hn @atom:hn @atom:n3 @atom:hn
+ @angle:hn-n3-i @atom:hn @atom:n3 @atom:i
+ @angle:hn-n3-n1 @atom:hn @atom:n3 @atom:n1
+ @angle:hn-n3-n2 @atom:hn @atom:n3 @atom:n2
+ @angle:hn-n3-n3 @atom:hn @atom:n3 @atom:n3
+ @angle:hn-n3-n4 @atom:hn @atom:n3 @atom:n4
+ @angle:hn-n3-n @atom:hn @atom:n3 @atom:n
+ @angle:hn-n3-na @atom:hn @atom:n3 @atom:na
+ @angle:hn-n3-nh @atom:hn @atom:n3 @atom:nh
+ @angle:hn-n3-no @atom:hn @atom:n3 @atom:no
+ @angle:hn-n3-o @atom:hn @atom:n3 @atom:o
+ @angle:hn-n3-oh @atom:hn @atom:n3 @atom:oh
+ @angle:hn-n3-os @atom:hn @atom:n3 @atom:os
+ @angle:hn-n3-p2 @atom:hn @atom:n3 @atom:p2
+ @angle:hn-n3-p3 @atom:hn @atom:n3 @atom:p3
+ @angle:hn-n3-p4 @atom:hn @atom:n3 @atom:p4
+ @angle:hn-n3-p5 @atom:hn @atom:n3 @atom:p5
+ @angle:hn-n3-s4 @atom:hn @atom:n3 @atom:s4
+ @angle:hn-n3-s @atom:hn @atom:n3 @atom:s
+ @angle:hn-n3-s6 @atom:hn @atom:n3 @atom:s6
+ @angle:hn-n3-sh @atom:hn @atom:n3 @atom:sh
+ @angle:hn-n3-ss @atom:hn @atom:n3 @atom:ss
+ @angle:hn-n3-sy @atom:hn @atom:n3 @atom:sy
+ @angle:i-n3-i @atom:i @atom:n3 @atom:i
+ @angle:n1-n3-n1 @atom:n1 @atom:n3 @atom:n1
+ @angle:n2-n3-n2 @atom:n2 @atom:n3 @atom:n2
+ @angle:n2-n3-o @atom:n2 @atom:n3 @atom:o
+ @angle:n3-n3-n3 @atom:n3 @atom:n3 @atom:n3
+ @angle:n4-n3-n4 @atom:n4 @atom:n3 @atom:n4
+ @angle:n4-n3-nh @atom:n4 @atom:n3 @atom:nh
+ @angle:na-n3-na @atom:na @atom:n3 @atom:na
+ @angle:nh-n3-nh @atom:nh @atom:n3 @atom:nh
+ @angle:n-n3-n @atom:n @atom:n3 @atom:n
+ @angle:no-n3-no @atom:no @atom:n3 @atom:no
+ @angle:oh-n3-oh @atom:oh @atom:n3 @atom:oh
+ @angle:o-n3-o @atom:o @atom:n3 @atom:o
+ @angle:o-n3-p2 @atom:o @atom:n3 @atom:p2
+ @angle:o-n3-p4 @atom:o @atom:n3 @atom:p4
+ @angle:o-n3-s4 @atom:o @atom:n3 @atom:s4
+ @angle:o-n3-s6 @atom:o @atom:n3 @atom:s6
+ @angle:o-n3-s @atom:o @atom:n3 @atom:s
+ @angle:os-n3-os @atom:os @atom:n3 @atom:os
+ @angle:p2-n3-p2 @atom:p2 @atom:n3 @atom:p2
+ @angle:p3-n3-p3 @atom:p3 @atom:n3 @atom:p3
+ @angle:p4-n3-p4 @atom:p4 @atom:n3 @atom:p4
+ @angle:p5-n3-p5 @atom:p5 @atom:n3 @atom:p5
+ @angle:s4-n3-s4 @atom:s4 @atom:n3 @atom:s4
+ @angle:s4-n3-s6 @atom:s4 @atom:n3 @atom:s6
+ @angle:s6-n3-s6 @atom:s6 @atom:n3 @atom:s6
+ @angle:sh-n3-sh @atom:sh @atom:n3 @atom:sh
+ @angle:sh-n3-ss @atom:sh @atom:n3 @atom:ss
+ @angle:s-n3-s @atom:s @atom:n3 @atom:s
+ @angle:ss-n3-ss @atom:ss @atom:n3 @atom:ss
+ @angle:br-n4-br @atom:br @atom:n4 @atom:br
+ @angle:br-n4-hn @atom:br @atom:n4 @atom:hn
+ @angle:c1-n4-c1 @atom:c1 @atom:n4 @atom:c1
+ @angle:c1-n4-hn @atom:c1 @atom:n4 @atom:hn
+ @angle:c2-n4-c2 @atom:c2 @atom:n4 @atom:c2
+ @angle:c2-n4-c3 @atom:c2 @atom:n4 @atom:c3
+ @angle:c2-n4-hn @atom:c2 @atom:n4 @atom:hn
+ @angle:c3-n4-c3 @atom:c3 @atom:n4 @atom:c3
+ @angle:c3-n4-ca @atom:c3 @atom:n4 @atom:ca
+ @angle:c3-n4-cc @atom:c3 @atom:n4 @atom:cc
+ @angle:c3-n4-cl @atom:c3 @atom:n4 @atom:cl
+ @angle:c3-n4-hn @atom:c3 @atom:n4 @atom:hn
+ @angle:c3-n4-n3 @atom:c3 @atom:n4 @atom:n3
+ @angle:c3-n4-n4 @atom:c3 @atom:n4 @atom:n4
+ @angle:c3-n4-n @atom:c3 @atom:n4 @atom:n
+ @angle:c3-n4-nh @atom:c3 @atom:n4 @atom:nh
+ @angle:c3-n4-no @atom:c3 @atom:n4 @atom:no
+ @angle:c3-n4-o @atom:c3 @atom:n4 @atom:o
+ @angle:c3-n4-oh @atom:c3 @atom:n4 @atom:oh
+ @angle:c3-n4-os @atom:c3 @atom:n4 @atom:os
+ @angle:c3-n4-p2 @atom:c3 @atom:n4 @atom:p2
+ @angle:c3-n4-p3 @atom:c3 @atom:n4 @atom:p3
+ @angle:c3-n4-p5 @atom:c3 @atom:n4 @atom:p5
+ @angle:c3-n4-s4 @atom:c3 @atom:n4 @atom:s4
+ @angle:c3-n4-s6 @atom:c3 @atom:n4 @atom:s6
+ @angle:c3-n4-s @atom:c3 @atom:n4 @atom:s
+ @angle:c3-n4-sh @atom:c3 @atom:n4 @atom:sh
+ @angle:c3-n4-ss @atom:c3 @atom:n4 @atom:ss
+ @angle:ca-n4-ca @atom:ca @atom:n4 @atom:ca
+ @angle:ca-n4-hn @atom:ca @atom:n4 @atom:hn
+ @angle:c-n4-c @atom:c @atom:n4 @atom:c
+ @angle:c-n4-hn @atom:c @atom:n4 @atom:hn
+ @angle:cl-n4-cl @atom:cl @atom:n4 @atom:cl
+ @angle:cl-n4-hn @atom:cl @atom:n4 @atom:hn
+ @angle:f-n4-f @atom:f @atom:n4 @atom:f
+ @angle:f-n4-hn @atom:f @atom:n4 @atom:hn
+ @angle:hn-n4-hn @atom:hn @atom:n4 @atom:hn
+ @angle:hn-n4-i @atom:hn @atom:n4 @atom:i
+ @angle:hn-n4-n1 @atom:hn @atom:n4 @atom:n1
+ @angle:hn-n4-n2 @atom:hn @atom:n4 @atom:n2
+ @angle:hn-n4-n3 @atom:hn @atom:n4 @atom:n3
+ @angle:hn-n4-n4 @atom:hn @atom:n4 @atom:n4
+ @angle:hn-n4-n @atom:hn @atom:n4 @atom:n
+ @angle:hn-n4-na @atom:hn @atom:n4 @atom:na
+ @angle:hn-n4-nh @atom:hn @atom:n4 @atom:nh
+ @angle:hn-n4-no @atom:hn @atom:n4 @atom:no
+ @angle:hn-n4-o @atom:hn @atom:n4 @atom:o
+ @angle:hn-n4-oh @atom:hn @atom:n4 @atom:oh
+ @angle:hn-n4-os @atom:hn @atom:n4 @atom:os
+ @angle:hn-n4-p2 @atom:hn @atom:n4 @atom:p2
+ @angle:hn-n4-p3 @atom:hn @atom:n4 @atom:p3
+ @angle:hn-n4-p4 @atom:hn @atom:n4 @atom:p4
+ @angle:hn-n4-p5 @atom:hn @atom:n4 @atom:p5
+ @angle:hn-n4-py @atom:hn @atom:n4 @atom:py
+ @angle:hn-n4-s4 @atom:hn @atom:n4 @atom:s4
+ @angle:hn-n4-s @atom:hn @atom:n4 @atom:s
+ @angle:hn-n4-s6 @atom:hn @atom:n4 @atom:s6
+ @angle:hn-n4-sh @atom:hn @atom:n4 @atom:sh
+ @angle:hn-n4-ss @atom:hn @atom:n4 @atom:ss
+ @angle:i-n4-i @atom:i @atom:n4 @atom:i
+ @angle:n1-n4-n1 @atom:n1 @atom:n4 @atom:n1
+ @angle:n2-n4-n2 @atom:n2 @atom:n4 @atom:n2
+ @angle:n3-n4-n3 @atom:n3 @atom:n4 @atom:n3
+ @angle:n4-n4-n4 @atom:n4 @atom:n4 @atom:n4
+ @angle:na-n4-na @atom:na @atom:n4 @atom:na
+ @angle:nh-n4-nh @atom:nh @atom:n4 @atom:nh
+ @angle:n-n4-n @atom:n @atom:n4 @atom:n
+ @angle:oh-n4-oh @atom:oh @atom:n4 @atom:oh
+ @angle:o-n4-o @atom:o @atom:n4 @atom:o
+ @angle:os-n4-os @atom:os @atom:n4 @atom:os
+ @angle:p2-n4-p2 @atom:p2 @atom:n4 @atom:p2
+ @angle:p3-n4-p3 @atom:p3 @atom:n4 @atom:p3
+ @angle:p5-n4-p5 @atom:p5 @atom:n4 @atom:p5
+ @angle:py-n4-py @atom:py @atom:n4 @atom:py
+ @angle:s4-n4-s4 @atom:s4 @atom:n4 @atom:s4
+ @angle:s6-n4-s6 @atom:s6 @atom:n4 @atom:s6
+ @angle:sh-n4-sh @atom:sh @atom:n4 @atom:sh
+ @angle:s-n4-s @atom:s @atom:n4 @atom:s
+ @angle:ss-n4-ss @atom:ss @atom:n4 @atom:ss
+ @angle:br-na-br @atom:br @atom:na @atom:br
+ @angle:br-na-c2 @atom:br @atom:na @atom:c2
+ @angle:br-na-ca @atom:br @atom:na @atom:ca
+ @angle:br-na-cc @atom:br @atom:na @atom:cc
+ @angle:br-na-cd @atom:br @atom:na @atom:cd
+ @angle:br-na-nc @atom:br @atom:na @atom:nc
+ @angle:br-na-nd @atom:br @atom:na @atom:nd
+ @angle:br-na-os @atom:br @atom:na @atom:os
+ @angle:br-na-p2 @atom:br @atom:na @atom:p2
+ @angle:br-na-pc @atom:br @atom:na @atom:pc
+ @angle:br-na-pd @atom:br @atom:na @atom:pd
+ @angle:br-na-ss @atom:br @atom:na @atom:ss
+ @angle:c1-na-c1 @atom:c1 @atom:na @atom:c1
+ @angle:c1-na-c2 @atom:c1 @atom:na @atom:c2
+ @angle:c1-na-ca @atom:c1 @atom:na @atom:ca
+ @angle:c1-na-cc @atom:c1 @atom:na @atom:cc
+ @angle:c1-na-cd @atom:c1 @atom:na @atom:cd
+ @angle:c1-na-nc @atom:c1 @atom:na @atom:nc
+ @angle:c1-na-nd @atom:c1 @atom:na @atom:nd
+ @angle:c1-na-os @atom:c1 @atom:na @atom:os
+ @angle:c1-na-p2 @atom:c1 @atom:na @atom:p2
+ @angle:c1-na-pc @atom:c1 @atom:na @atom:pc
+ @angle:c1-na-pd @atom:c1 @atom:na @atom:pd
+ @angle:c1-na-ss @atom:c1 @atom:na @atom:ss
+ @angle:c2-na-c2 @atom:c2 @atom:na @atom:c2
+ @angle:c2-na-c3 @atom:c2 @atom:na @atom:c3
+ @angle:c2-na-ca @atom:c2 @atom:na @atom:ca
+ @angle:c2-na-cc @atom:c2 @atom:na @atom:cc
+ @angle:c2-na-cd @atom:c2 @atom:na @atom:cd
+ @angle:c2-na-cl @atom:c2 @atom:na @atom:cl
+ @angle:c2-na-f @atom:c2 @atom:na @atom:f
+ @angle:c2-na-hn @atom:c2 @atom:na @atom:hn
+ @angle:c2-na-i @atom:c2 @atom:na @atom:i
+ @angle:c2-na-n1 @atom:c2 @atom:na @atom:n1
+ @angle:c2-na-n2 @atom:c2 @atom:na @atom:n2
+ @angle:c2-na-n3 @atom:c2 @atom:na @atom:n3
+ @angle:c2-na-n4 @atom:c2 @atom:na @atom:n4
+ @angle:c2-na-n @atom:c2 @atom:na @atom:n
+ @angle:c2-na-na @atom:c2 @atom:na @atom:na
+ @angle:c2-na-nc @atom:c2 @atom:na @atom:nc
+ @angle:c2-na-nd @atom:c2 @atom:na @atom:nd
+ @angle:c2-na-nh @atom:c2 @atom:na @atom:nh
+ @angle:c2-na-no @atom:c2 @atom:na @atom:no
+ @angle:c2-na-o @atom:c2 @atom:na @atom:o
+ @angle:c2-na-oh @atom:c2 @atom:na @atom:oh
+ @angle:c2-na-os @atom:c2 @atom:na @atom:os
+ @angle:c2-na-p2 @atom:c2 @atom:na @atom:p2
+ @angle:c2-na-p3 @atom:c2 @atom:na @atom:p3
+ @angle:c2-na-p4 @atom:c2 @atom:na @atom:p4
+ @angle:c2-na-p5 @atom:c2 @atom:na @atom:p5
+ @angle:c2-na-pc @atom:c2 @atom:na @atom:pc
+ @angle:c2-na-pd @atom:c2 @atom:na @atom:pd
+ @angle:c2-na-s4 @atom:c2 @atom:na @atom:s4
+ @angle:c2-na-s6 @atom:c2 @atom:na @atom:s6
+ @angle:c2-na-s @atom:c2 @atom:na @atom:s
+ @angle:c2-na-sh @atom:c2 @atom:na @atom:sh
+ @angle:c2-na-ss @atom:c2 @atom:na @atom:ss
+ @angle:c3-na-c3 @atom:c3 @atom:na @atom:c3
+ @angle:c3-na-ca @atom:c3 @atom:na @atom:ca
+ @angle:c3-na-cc @atom:c3 @atom:na @atom:cc
+ @angle:c3-na-cd @atom:c3 @atom:na @atom:cd
+ @angle:c3-na-cp @atom:c3 @atom:na @atom:cp
+ @angle:c3-na-n2 @atom:c3 @atom:na @atom:n2
+ @angle:c3-na-n @atom:c3 @atom:na @atom:n
+ @angle:c3-na-nc @atom:c3 @atom:na @atom:nc
+ @angle:c3-na-nd @atom:c3 @atom:na @atom:nd
+ @angle:c3-na-os @atom:c3 @atom:na @atom:os
+ @angle:c3-na-p2 @atom:c3 @atom:na @atom:p2
+ @angle:c3-na-pc @atom:c3 @atom:na @atom:pc
+ @angle:c3-na-pd @atom:c3 @atom:na @atom:pd
+ @angle:c3-na-sh @atom:c3 @atom:na @atom:sh
+ @angle:c3-na-ss @atom:c3 @atom:na @atom:ss
+ @angle:ca-na-ca @atom:ca @atom:na @atom:ca
+ @angle:ca-na-cc @atom:ca @atom:na @atom:cc
+ @angle:ca-na-cd @atom:ca @atom:na @atom:cd
+ @angle:ca-na-cl @atom:ca @atom:na @atom:cl
+ @angle:ca-na-cp @atom:ca @atom:na @atom:cp
+ @angle:ca-na-cx @atom:ca @atom:na @atom:cx
+ @angle:ca-na-f @atom:ca @atom:na @atom:f
+ @angle:ca-na-hn @atom:ca @atom:na @atom:hn
+ @angle:ca-na-i @atom:ca @atom:na @atom:i
+ @angle:ca-na-n2 @atom:ca @atom:na @atom:n2
+ @angle:ca-na-n4 @atom:ca @atom:na @atom:n4
+ @angle:ca-na-n @atom:ca @atom:na @atom:n
+ @angle:ca-na-na @atom:ca @atom:na @atom:na
+ @angle:ca-na-nb @atom:ca @atom:na @atom:nb
+ @angle:ca-na-nc @atom:ca @atom:na @atom:nc
+ @angle:ca-na-nd @atom:ca @atom:na @atom:nd
+ @angle:ca-na-nh @atom:ca @atom:na @atom:nh
+ @angle:ca-na-o @atom:ca @atom:na @atom:o
+ @angle:ca-na-oh @atom:ca @atom:na @atom:oh
+ @angle:ca-na-os @atom:ca @atom:na @atom:os
+ @angle:ca-na-p2 @atom:ca @atom:na @atom:p2
+ @angle:ca-na-p3 @atom:ca @atom:na @atom:p3
+ @angle:ca-na-p4 @atom:ca @atom:na @atom:p4
+ @angle:ca-na-p5 @atom:ca @atom:na @atom:p5
+ @angle:ca-na-pc @atom:ca @atom:na @atom:pc
+ @angle:ca-na-pd @atom:ca @atom:na @atom:pd
+ @angle:ca-na-py @atom:ca @atom:na @atom:py
+ @angle:ca-na-s4 @atom:ca @atom:na @atom:s4
+ @angle:ca-na-s6 @atom:ca @atom:na @atom:s6
+ @angle:ca-na-s @atom:ca @atom:na @atom:s
+ @angle:ca-na-sh @atom:ca @atom:na @atom:sh
+ @angle:ca-na-ss @atom:ca @atom:na @atom:ss
+ @angle:cc-na-cc @atom:cc @atom:na @atom:cc
+ @angle:cc-na-cd @atom:cc @atom:na @atom:cd
+ @angle:cc-na-ce @atom:cc @atom:na @atom:ce
+ @angle:cc-na-cl @atom:cc @atom:na @atom:cl
+ @angle:cc-na-f @atom:cc @atom:na @atom:f
+ @angle:cc-na-hn @atom:cc @atom:na @atom:hn
+ @angle:cc-na-i @atom:cc @atom:na @atom:i
+ @angle:cc-na-n2 @atom:cc @atom:na @atom:n2
+ @angle:cc-na-n4 @atom:cc @atom:na @atom:n4
+ @angle:cc-na-n @atom:cc @atom:na @atom:n
+ @angle:cc-na-na @atom:cc @atom:na @atom:na
+ @angle:cc-na-nc @atom:cc @atom:na @atom:nc
+ @angle:cc-na-nd @atom:cc @atom:na @atom:nd
+ @angle:cc-na-nh @atom:cc @atom:na @atom:nh
+ @angle:cc-na-no @atom:cc @atom:na @atom:no
+ @angle:cc-na-o @atom:cc @atom:na @atom:o
+ @angle:cc-na-oh @atom:cc @atom:na @atom:oh
+ @angle:cc-na-os @atom:cc @atom:na @atom:os
+ @angle:cc-na-p2 @atom:cc @atom:na @atom:p2
+ @angle:cc-na-p3 @atom:cc @atom:na @atom:p3
+ @angle:cc-na-p4 @atom:cc @atom:na @atom:p4
+ @angle:cc-na-p5 @atom:cc @atom:na @atom:p5
+ @angle:cc-na-s4 @atom:cc @atom:na @atom:s4
+ @angle:cc-na-s6 @atom:cc @atom:na @atom:s6
+ @angle:cc-na-s @atom:cc @atom:na @atom:s
+ @angle:cc-na-sh @atom:cc @atom:na @atom:sh
+ @angle:cc-na-ss @atom:cc @atom:na @atom:ss
+ @angle:cd-na-cd @atom:cd @atom:na @atom:cd
+ @angle:cd-na-cl @atom:cd @atom:na @atom:cl
+ @angle:cd-na-f @atom:cd @atom:na @atom:f
+ @angle:cd-na-hn @atom:cd @atom:na @atom:hn
+ @angle:cd-na-i @atom:cd @atom:na @atom:i
+ @angle:cd-na-n2 @atom:cd @atom:na @atom:n2
+ @angle:cd-na-n4 @atom:cd @atom:na @atom:n4
+ @angle:cd-na-n @atom:cd @atom:na @atom:n
+ @angle:cd-na-na @atom:cd @atom:na @atom:na
+ @angle:cd-na-nc @atom:cd @atom:na @atom:nc
+ @angle:cd-na-nd @atom:cd @atom:na @atom:nd
+ @angle:cd-na-nh @atom:cd @atom:na @atom:nh
+ @angle:cd-na-no @atom:cd @atom:na @atom:no
+ @angle:cd-na-o @atom:cd @atom:na @atom:o
+ @angle:cd-na-oh @atom:cd @atom:na @atom:oh
+ @angle:cd-na-os @atom:cd @atom:na @atom:os
+ @angle:cd-na-p2 @atom:cd @atom:na @atom:p2
+ @angle:cd-na-p3 @atom:cd @atom:na @atom:p3
+ @angle:cd-na-p4 @atom:cd @atom:na @atom:p4
+ @angle:cd-na-p5 @atom:cd @atom:na @atom:p5
+ @angle:cd-na-s4 @atom:cd @atom:na @atom:s4
+ @angle:cd-na-s6 @atom:cd @atom:na @atom:s6
+ @angle:cd-na-s @atom:cd @atom:na @atom:s
+ @angle:cd-na-sh @atom:cd @atom:na @atom:sh
+ @angle:cd-na-ss @atom:cd @atom:na @atom:ss
+ @angle:cl-na-cl @atom:cl @atom:na @atom:cl
+ @angle:cl-na-nc @atom:cl @atom:na @atom:nc
+ @angle:cl-na-nd @atom:cl @atom:na @atom:nd
+ @angle:cl-na-os @atom:cl @atom:na @atom:os
+ @angle:cl-na-p2 @atom:cl @atom:na @atom:p2
+ @angle:cl-na-pc @atom:cl @atom:na @atom:pc
+ @angle:cl-na-pd @atom:cl @atom:na @atom:pd
+ @angle:cl-na-ss @atom:cl @atom:na @atom:ss
+ @angle:f-na-f @atom:f @atom:na @atom:f
+ @angle:f-na-nc @atom:f @atom:na @atom:nc
+ @angle:f-na-nd @atom:f @atom:na @atom:nd
+ @angle:f-na-os @atom:f @atom:na @atom:os
+ @angle:f-na-p2 @atom:f @atom:na @atom:p2
+ @angle:f-na-pc @atom:f @atom:na @atom:pc
+ @angle:f-na-pd @atom:f @atom:na @atom:pd
+ @angle:f-na-ss @atom:f @atom:na @atom:ss
+ @angle:hn-na-hn @atom:hn @atom:na @atom:hn
+ @angle:hn-na-n @atom:hn @atom:na @atom:n
+ @angle:hn-na-nc @atom:hn @atom:na @atom:nc
+ @angle:hn-na-nd @atom:hn @atom:na @atom:nd
+ @angle:hn-na-os @atom:hn @atom:na @atom:os
+ @angle:hn-na-p2 @atom:hn @atom:na @atom:p2
+ @angle:hn-na-pc @atom:hn @atom:na @atom:pc
+ @angle:hn-na-pd @atom:hn @atom:na @atom:pd
+ @angle:hn-na-ss @atom:hn @atom:na @atom:ss
+ @angle:i-na-i @atom:i @atom:na @atom:i
+ @angle:i-na-nc @atom:i @atom:na @atom:nc
+ @angle:i-na-nd @atom:i @atom:na @atom:nd
+ @angle:i-na-os @atom:i @atom:na @atom:os
+ @angle:i-na-p2 @atom:i @atom:na @atom:p2
+ @angle:i-na-pc @atom:i @atom:na @atom:pc
+ @angle:i-na-pd @atom:i @atom:na @atom:pd
+ @angle:i-na-ss @atom:i @atom:na @atom:ss
+ @angle:n2-na-n2 @atom:n2 @atom:na @atom:n2
+ @angle:n2-na-nc @atom:n2 @atom:na @atom:nc
+ @angle:n2-na-nd @atom:n2 @atom:na @atom:nd
+ @angle:n2-na-os @atom:n2 @atom:na @atom:os
+ @angle:n2-na-p2 @atom:n2 @atom:na @atom:p2
+ @angle:n2-na-pc @atom:n2 @atom:na @atom:pc
+ @angle:n2-na-pd @atom:n2 @atom:na @atom:pd
+ @angle:n2-na-ss @atom:n2 @atom:na @atom:ss
+ @angle:n3-na-n3 @atom:n3 @atom:na @atom:n3
+ @angle:n4-na-n4 @atom:n4 @atom:na @atom:n4
+ @angle:n4-na-nc @atom:n4 @atom:na @atom:nc
+ @angle:n4-na-nd @atom:n4 @atom:na @atom:nd
+ @angle:n4-na-os @atom:n4 @atom:na @atom:os
+ @angle:n4-na-p2 @atom:n4 @atom:na @atom:p2
+ @angle:n4-na-pc @atom:n4 @atom:na @atom:pc
+ @angle:n4-na-pd @atom:n4 @atom:na @atom:pd
+ @angle:na-na-na @atom:na @atom:na @atom:na
+ @angle:na-na-nc @atom:na @atom:na @atom:nc
+ @angle:na-na-nd @atom:na @atom:na @atom:nd
+ @angle:na-na-os @atom:na @atom:na @atom:os
+ @angle:na-na-p2 @atom:na @atom:na @atom:p2
+ @angle:na-na-pc @atom:na @atom:na @atom:pc
+ @angle:na-na-pd @atom:na @atom:na @atom:pd
+ @angle:na-na-ss @atom:na @atom:na @atom:ss
+ @angle:nc-na-nc @atom:nc @atom:na @atom:nc
+ @angle:nc-na-nd @atom:nc @atom:na @atom:nd
+ @angle:nc-na-nh @atom:nc @atom:na @atom:nh
+ @angle:nc-na-no @atom:nc @atom:na @atom:no
+ @angle:nc-na-o @atom:nc @atom:na @atom:o
+ @angle:nc-na-oh @atom:nc @atom:na @atom:oh
+ @angle:nc-na-os @atom:nc @atom:na @atom:os
+ @angle:nc-na-p2 @atom:nc @atom:na @atom:p2
+ @angle:nc-na-p3 @atom:nc @atom:na @atom:p3
+ @angle:nc-na-p4 @atom:nc @atom:na @atom:p4
+ @angle:nc-na-p5 @atom:nc @atom:na @atom:p5
+ @angle:nc-na-pc @atom:nc @atom:na @atom:pc
+ @angle:nc-na-s4 @atom:nc @atom:na @atom:s4
+ @angle:nc-na-s6 @atom:nc @atom:na @atom:s6
+ @angle:nc-na-s @atom:nc @atom:na @atom:s
+ @angle:nc-na-sh @atom:nc @atom:na @atom:sh
+ @angle:nc-na-ss @atom:nc @atom:na @atom:ss
+ @angle:nd-na-nd @atom:nd @atom:na @atom:nd
+ @angle:nd-na-nh @atom:nd @atom:na @atom:nh
+ @angle:nd-na-no @atom:nd @atom:na @atom:no
+ @angle:nd-na-o @atom:nd @atom:na @atom:o
+ @angle:nd-na-oh @atom:nd @atom:na @atom:oh
+ @angle:nd-na-os @atom:nd @atom:na @atom:os
+ @angle:nd-na-p2 @atom:nd @atom:na @atom:p2
+ @angle:nd-na-p3 @atom:nd @atom:na @atom:p3
+ @angle:nd-na-p4 @atom:nd @atom:na @atom:p4
+ @angle:nd-na-p5 @atom:nd @atom:na @atom:p5
+ @angle:nd-na-pd @atom:nd @atom:na @atom:pd
+ @angle:nd-na-s4 @atom:nd @atom:na @atom:s4
+ @angle:nd-na-s6 @atom:nd @atom:na @atom:s6
+ @angle:nd-na-s @atom:nd @atom:na @atom:s
+ @angle:nd-na-sh @atom:nd @atom:na @atom:sh
+ @angle:nd-na-ss @atom:nd @atom:na @atom:ss
+ @angle:nh-na-nh @atom:nh @atom:na @atom:nh
+ @angle:nh-na-os @atom:nh @atom:na @atom:os
+ @angle:nh-na-p2 @atom:nh @atom:na @atom:p2
+ @angle:nh-na-pc @atom:nh @atom:na @atom:pc
+ @angle:nh-na-pd @atom:nh @atom:na @atom:pd
+ @angle:nh-na-ss @atom:nh @atom:na @atom:ss
+ @angle:n-na-n @atom:n @atom:na @atom:n
+ @angle:n-na-nc @atom:n @atom:na @atom:nc
+ @angle:n-na-nd @atom:n @atom:na @atom:nd
+ @angle:no-na-no @atom:no @atom:na @atom:no
+ @angle:no-na-os @atom:no @atom:na @atom:os
+ @angle:no-na-pc @atom:no @atom:na @atom:pc
+ @angle:no-na-pd @atom:no @atom:na @atom:pd
+ @angle:n-na-os @atom:n @atom:na @atom:os
+ @angle:no-na-ss @atom:no @atom:na @atom:ss
+ @angle:n-na-p2 @atom:n @atom:na @atom:p2
+ @angle:n-na-pc @atom:n @atom:na @atom:pc
+ @angle:n-na-pd @atom:n @atom:na @atom:pd
+ @angle:n-na-ss @atom:n @atom:na @atom:ss
+ @angle:oh-na-oh @atom:oh @atom:na @atom:oh
+ @angle:oh-na-p2 @atom:oh @atom:na @atom:p2
+ @angle:oh-na-pc @atom:oh @atom:na @atom:pc
+ @angle:oh-na-pd @atom:oh @atom:na @atom:pd
+ @angle:oh-na-ss @atom:oh @atom:na @atom:ss
+ @angle:o-na-o @atom:o @atom:na @atom:o
+ @angle:o-na-os @atom:o @atom:na @atom:os
+ @angle:o-na-p2 @atom:o @atom:na @atom:p2
+ @angle:o-na-pc @atom:o @atom:na @atom:pc
+ @angle:o-na-pd @atom:o @atom:na @atom:pd
+ @angle:os-na-os @atom:os @atom:na @atom:os
+ @angle:os-na-p2 @atom:os @atom:na @atom:p2
+ @angle:os-na-p3 @atom:os @atom:na @atom:p3
+ @angle:os-na-p5 @atom:os @atom:na @atom:p5
+ @angle:os-na-pc @atom:os @atom:na @atom:pc
+ @angle:os-na-pd @atom:os @atom:na @atom:pd
+ @angle:os-na-s4 @atom:os @atom:na @atom:s4
+ @angle:os-na-s6 @atom:os @atom:na @atom:s6
+ @angle:os-na-ss @atom:os @atom:na @atom:ss
+ @angle:p2-na-p2 @atom:p2 @atom:na @atom:p2
+ @angle:p2-na-p3 @atom:p2 @atom:na @atom:p3
+ @angle:p2-na-p5 @atom:p2 @atom:na @atom:p5
+ @angle:p2-na-pc @atom:p2 @atom:na @atom:pc
+ @angle:p2-na-pd @atom:p2 @atom:na @atom:pd
+ @angle:p2-na-s4 @atom:p2 @atom:na @atom:s4
+ @angle:p2-na-s6 @atom:p2 @atom:na @atom:s6
+ @angle:p2-na-s @atom:p2 @atom:na @atom:s
+ @angle:p2-na-sh @atom:p2 @atom:na @atom:sh
+ @angle:p2-na-ss @atom:p2 @atom:na @atom:ss
+ @angle:p3-na-p3 @atom:p3 @atom:na @atom:p3
+ @angle:p3-na-pc @atom:p3 @atom:na @atom:pc
+ @angle:p3-na-pd @atom:p3 @atom:na @atom:pd
+ @angle:p5-na-p5 @atom:p5 @atom:na @atom:p5
+ @angle:p5-na-pc @atom:p5 @atom:na @atom:pc
+ @angle:p5-na-pd @atom:p5 @atom:na @atom:pd
+ @angle:p5-na-ss @atom:p5 @atom:na @atom:ss
+ @angle:pc-na-pc @atom:pc @atom:na @atom:pc
+ @angle:pc-na-s4 @atom:pc @atom:na @atom:s4
+ @angle:pc-na-s6 @atom:pc @atom:na @atom:s6
+ @angle:pc-na-s @atom:pc @atom:na @atom:s
+ @angle:pc-na-sh @atom:pc @atom:na @atom:sh
+ @angle:pc-na-ss @atom:pc @atom:na @atom:ss
+ @angle:pd-na-pd @atom:pd @atom:na @atom:pd
+ @angle:pd-na-s4 @atom:pd @atom:na @atom:s4
+ @angle:pd-na-s6 @atom:pd @atom:na @atom:s6
+ @angle:pd-na-s @atom:pd @atom:na @atom:s
+ @angle:pd-na-sh @atom:pd @atom:na @atom:sh
+ @angle:pd-na-ss @atom:pd @atom:na @atom:ss
+ @angle:py-na-py @atom:py @atom:na @atom:py
+ @angle:s4-na-s4 @atom:s4 @atom:na @atom:s4
+ @angle:s4-na-s6 @atom:s4 @atom:na @atom:s6
+ @angle:s4-na-ss @atom:s4 @atom:na @atom:ss
+ @angle:s6-na-s6 @atom:s6 @atom:na @atom:s6
+ @angle:s6-na-ss @atom:s6 @atom:na @atom:ss
+ @angle:sh-na-sh @atom:sh @atom:na @atom:sh
+ @angle:sh-na-ss @atom:sh @atom:na @atom:ss
+ @angle:s-na-s @atom:s @atom:na @atom:s
+ @angle:s-na-ss @atom:s @atom:na @atom:ss
+ @angle:ss-na-ss @atom:ss @atom:na @atom:ss
+ @angle:sy-na-sy @atom:sy @atom:na @atom:sy
+ @angle:ca-nb-ca @atom:ca @atom:nb @atom:ca
+ @angle:ca-nb-cp @atom:ca @atom:nb @atom:cp
+ @angle:ca-nb-cq @atom:ca @atom:nb @atom:cq
+ @angle:ca-nb-nb @atom:ca @atom:nb @atom:nb
+ @angle:cp-nb-nb @atom:cp @atom:nb @atom:nb
+ @angle:nb-nb-nb @atom:nb @atom:nb @atom:nb
+ @angle:br-n-br @atom:br @atom:n @atom:br
+ @angle:br-n-c @atom:br @atom:n @atom:c
+ @angle:br-n-ca @atom:br @atom:n @atom:ca
+ @angle:br-n-cc @atom:br @atom:n @atom:cc
+ @angle:br-n-cd @atom:br @atom:n @atom:cd
+ @angle:c1-n-c1 @atom:c1 @atom:n @atom:c1
+ @angle:c1-n-ca @atom:c1 @atom:n @atom:ca
+ @angle:c1-n-cc @atom:c1 @atom:n @atom:cc
+ @angle:c1-n-cd @atom:c1 @atom:n @atom:cd
+ @angle:c2-n-c2 @atom:c2 @atom:n @atom:c2
+ @angle:c2-n-c3 @atom:c2 @atom:n @atom:c3
+ @angle:c2-n-ca @atom:c2 @atom:n @atom:ca
+ @angle:c2-n-cc @atom:c2 @atom:n @atom:cc
+ @angle:c2-n-cd @atom:c2 @atom:n @atom:cd
+ @angle:c2-n-hn @atom:c2 @atom:n @atom:hn
+ @angle:c3-n-c3 @atom:c3 @atom:n @atom:c3
+ @angle:c3-n-ca @atom:c3 @atom:n @atom:ca
+ @angle:c3-n-cc @atom:c3 @atom:n @atom:cc
+ @angle:c3-n-cd @atom:c3 @atom:n @atom:cd
+ @angle:c3-n-cy @atom:c3 @atom:n @atom:cy
+ @angle:c3-n-hn @atom:c3 @atom:n @atom:hn
+ @angle:c3-n-n2 @atom:c3 @atom:n @atom:n2
+ @angle:c3-n-n @atom:c3 @atom:n @atom:n
+ @angle:c3-n-nc @atom:c3 @atom:n @atom:nc
+ @angle:c3-n-nd @atom:c3 @atom:n @atom:nd
+ @angle:c3-n-oh @atom:c3 @atom:n @atom:oh
+ @angle:c3-n-os @atom:c3 @atom:n @atom:os
+ @angle:c3-n-sy @atom:c3 @atom:n @atom:sy
+ @angle:ca-n-ca @atom:ca @atom:n @atom:ca
+ @angle:ca-n-cc @atom:ca @atom:n @atom:cc
+ @angle:ca-n-cd @atom:ca @atom:n @atom:cd
+ @angle:ca-n-cl @atom:ca @atom:n @atom:cl
+ @angle:ca-n-f @atom:ca @atom:n @atom:f
+ @angle:ca-n-hn @atom:ca @atom:n @atom:hn
+ @angle:ca-n-i @atom:ca @atom:n @atom:i
+ @angle:ca-n-n2 @atom:ca @atom:n @atom:n2
+ @angle:ca-n-n4 @atom:ca @atom:n @atom:n4
+ @angle:ca-n-n @atom:ca @atom:n @atom:n
+ @angle:ca-n-na @atom:ca @atom:n @atom:na
+ @angle:ca-n-nc @atom:ca @atom:n @atom:nc
+ @angle:ca-n-nd @atom:ca @atom:n @atom:nd
+ @angle:ca-n-nh @atom:ca @atom:n @atom:nh
+ @angle:ca-n-p2 @atom:ca @atom:n @atom:p2
+ @angle:ca-n-p3 @atom:ca @atom:n @atom:p3
+ @angle:ca-n-s4 @atom:ca @atom:n @atom:s4
+ @angle:ca-n-s6 @atom:ca @atom:n @atom:s6
+ @angle:ca-n-ss @atom:ca @atom:n @atom:ss
+ @angle:c-n-c1 @atom:c @atom:n @atom:c1
+ @angle:c-n-c2 @atom:c @atom:n @atom:c2
+ @angle:c-n-c3 @atom:c @atom:n @atom:c3
+ @angle:c3-nc-cd @atom:c3 @atom:nc @atom:cd
+ @angle:c-n-c @atom:c @atom:n @atom:c
+ @angle:c-n-ca @atom:c @atom:n @atom:ca
+ @angle:ca-nc-ca @atom:ca @atom:nc @atom:ca
+ @angle:ca-nc-cd @atom:ca @atom:nc @atom:cd
+ @angle:ca-nc-n @atom:ca @atom:nc @atom:n
+ @angle:ca-nc-na @atom:ca @atom:nc @atom:na
+ @angle:ca-nc-os @atom:ca @atom:nc @atom:os
+ @angle:ca-nc-ss @atom:ca @atom:nc @atom:ss
+ @angle:c-n-cc @atom:c @atom:n @atom:cc
+ @angle:c-nc-ca @atom:c @atom:nc @atom:ca
+ @angle:cc-n-cc @atom:cc @atom:n @atom:cc
+ @angle:cc-nc-cc @atom:cc @atom:nc @atom:cc
+ @angle:cc-nc-cd @atom:cc @atom:nc @atom:cd
+ @angle:c-nc-cd @atom:c @atom:nc @atom:cd
+ @angle:cc-n-cl @atom:cc @atom:n @atom:cl
+ @angle:cc-nc-na @atom:cc @atom:nc @atom:na
+ @angle:cc-nc-nd @atom:cc @atom:nc @atom:nd
+ @angle:c-n-cd @atom:c @atom:n @atom:cd
+ @angle:cd-nc-cd @atom:cd @atom:nc @atom:cd
+ @angle:cd-nc-n @atom:cd @atom:nc @atom:n
+ @angle:cd-nc-na @atom:cd @atom:nc @atom:na
+ @angle:cd-nc-nc @atom:cd @atom:nc @atom:nc
+ @angle:cd-nc-os @atom:cd @atom:nc @atom:os
+ @angle:cd-nc-ss @atom:cd @atom:nc @atom:ss
+ @angle:c-n-ce @atom:c @atom:n @atom:ce
+ @angle:cc-n-f @atom:cc @atom:n @atom:f
+ @angle:cc-n-hn @atom:cc @atom:n @atom:hn
+ @angle:cc-n-i @atom:cc @atom:n @atom:i
+ @angle:c-n-cl @atom:c @atom:n @atom:cl
+ @angle:cc-n-n2 @atom:cc @atom:n @atom:n2
+ @angle:cc-n-n @atom:cc @atom:n @atom:n
+ @angle:cc-n-na @atom:cc @atom:n @atom:na
+ @angle:cc-n-nc @atom:cc @atom:n @atom:nc
+ @angle:cc-n-nh @atom:cc @atom:n @atom:nh
+ @angle:cc-n-no @atom:cc @atom:n @atom:no
+ @angle:cc-n-o @atom:cc @atom:n @atom:o
+ @angle:cc-n-oh @atom:cc @atom:n @atom:oh
+ @angle:cc-n-os @atom:cc @atom:n @atom:os
+ @angle:cc-n-p2 @atom:cc @atom:n @atom:p2
+ @angle:cc-n-p3 @atom:cc @atom:n @atom:p3
+ @angle:cc-n-p5 @atom:cc @atom:n @atom:p5
+ @angle:cc-n-s4 @atom:cc @atom:n @atom:s4
+ @angle:cc-n-s6 @atom:cc @atom:n @atom:s6
+ @angle:cc-n-s @atom:cc @atom:n @atom:s
+ @angle:cc-n-sh @atom:cc @atom:n @atom:sh
+ @angle:cc-n-ss @atom:cc @atom:n @atom:ss
+ @angle:c-n-cx @atom:c @atom:n @atom:cx
+ @angle:c-n-cy @atom:c @atom:n @atom:cy
+ @angle:cd-n-cd @atom:cd @atom:n @atom:cd
+ @angle:cd-n-cl @atom:cd @atom:n @atom:cl
+ @angle:cd-n-f @atom:cd @atom:n @atom:f
+ @angle:cd-n-hn @atom:cd @atom:n @atom:hn
+ @angle:cd-n-i @atom:cd @atom:n @atom:i
+ @angle:cd-n-n2 @atom:cd @atom:n @atom:n2
+ @angle:cd-n-n @atom:cd @atom:n @atom:n
+ @angle:cd-n-na @atom:cd @atom:n @atom:na
+ @angle:cd-n-nd @atom:cd @atom:n @atom:nd
+ @angle:cd-n-nh @atom:cd @atom:n @atom:nh
+ @angle:cd-n-no @atom:cd @atom:n @atom:no
+ @angle:cd-n-o @atom:cd @atom:n @atom:o
+ @angle:cd-n-oh @atom:cd @atom:n @atom:oh
+ @angle:cd-n-os @atom:cd @atom:n @atom:os
+ @angle:cd-n-p2 @atom:cd @atom:n @atom:p2
+ @angle:cd-n-p3 @atom:cd @atom:n @atom:p3
+ @angle:cd-n-p5 @atom:cd @atom:n @atom:p5
+ @angle:cd-n-s4 @atom:cd @atom:n @atom:s4
+ @angle:cd-n-s6 @atom:cd @atom:n @atom:s6
+ @angle:cd-n-s @atom:cd @atom:n @atom:s
+ @angle:cd-n-sh @atom:cd @atom:n @atom:sh
+ @angle:cd-n-ss @atom:cd @atom:n @atom:ss
+ @angle:ce-n-cy @atom:ce @atom:n @atom:cy
+ @angle:c-n-f @atom:c @atom:n @atom:f
+ @angle:cf-n-cy @atom:cf @atom:n @atom:cy
+ @angle:c-n-hn @atom:c @atom:n @atom:hn
+ @angle:c-n-i @atom:c @atom:n @atom:i
+ @angle:cl-n-cl @atom:cl @atom:n @atom:cl
+ @angle:c-n-n2 @atom:c @atom:n @atom:n2
+ @angle:c-n-n3 @atom:c @atom:n @atom:n3
+ @angle:c-n-n4 @atom:c @atom:n @atom:n4
+ @angle:c-n-n @atom:c @atom:n @atom:n
+ @angle:c-n-na @atom:c @atom:n @atom:na
+ @angle:na-nc-nd @atom:na @atom:nc @atom:nd
+ @angle:c-n-nc @atom:c @atom:n @atom:nc
+ @angle:nc-nc-nd @atom:nc @atom:nc @atom:nd
+ @angle:c-n-nd @atom:c @atom:n @atom:nd
+ @angle:nd-nc-os @atom:nd @atom:nc @atom:os
+ @angle:c-n-nh @atom:c @atom:n @atom:nh
+ @angle:c-n-no @atom:c @atom:n @atom:no
+ @angle:c-n-o @atom:c @atom:n @atom:o
+ @angle:c-n-oh @atom:c @atom:n @atom:oh
+ @angle:c-n-os @atom:c @atom:n @atom:os
+ @angle:c-n-p2 @atom:c @atom:n @atom:p2
+ @angle:c-n-p3 @atom:c @atom:n @atom:p3
+ @angle:c-n-p4 @atom:c @atom:n @atom:p4
+ @angle:c-n-p5 @atom:c @atom:n @atom:p5
+ @angle:c-n-pc @atom:c @atom:n @atom:pc
+ @angle:c-n-pd @atom:c @atom:n @atom:pd
+ @angle:c-n-s4 @atom:c @atom:n @atom:s4
+ @angle:c-n-s6 @atom:c @atom:n @atom:s6
+ @angle:c-n-s @atom:c @atom:n @atom:s
+ @angle:c-n-sh @atom:c @atom:n @atom:sh
+ @angle:c-n-ss @atom:c @atom:n @atom:ss
+ @angle:c-n-sy @atom:c @atom:n @atom:sy
+ @angle:cx-n-hn @atom:cx @atom:n @atom:hn
+ @angle:cx-n-os @atom:cx @atom:n @atom:os
+ @angle:cy-n-hn @atom:cy @atom:n @atom:hn
+ @angle:c3-nd-cc @atom:c3 @atom:nd @atom:cc
+ @angle:ca-nd-ca @atom:ca @atom:nd @atom:ca
+ @angle:ca-nd-cc @atom:ca @atom:nd @atom:cc
+ @angle:ca-nd-n @atom:ca @atom:nd @atom:n
+ @angle:ca-nd-na @atom:ca @atom:nd @atom:na
+ @angle:ca-nd-nc @atom:ca @atom:nd @atom:nc
+ @angle:ca-nd-os @atom:ca @atom:nd @atom:os
+ @angle:ca-nd-ss @atom:ca @atom:nd @atom:ss
+ @angle:c-nd-ca @atom:c @atom:nd @atom:ca
+ @angle:c-nd-cc @atom:c @atom:nd @atom:cc
+ @angle:cc-nd-cc @atom:cc @atom:nd @atom:cc
+ @angle:cc-nd-cd @atom:cc @atom:nd @atom:cd
+ @angle:cc-nd-n @atom:cc @atom:nd @atom:n
+ @angle:cc-nd-na @atom:cc @atom:nd @atom:na
+ @angle:cc-nd-nd @atom:cc @atom:nd @atom:nd
+ @angle:cc-nd-os @atom:cc @atom:nd @atom:os
+ @angle:cc-nd-ss @atom:cc @atom:nd @atom:ss
+ @angle:cd-nd-cd @atom:cd @atom:nd @atom:cd
+ @angle:cd-nd-na @atom:cd @atom:nd @atom:na
+ @angle:cd-nd-nc @atom:cd @atom:nd @atom:nc
+ @angle:na-nd-nc @atom:na @atom:nd @atom:nc
+ @angle:nc-nd-nd @atom:nc @atom:nd @atom:nd
+ @angle:nc-nd-os @atom:nc @atom:nd @atom:os
+ @angle:c1-ne-ca @atom:c1 @atom:ne @atom:ca
+ @angle:c1-ne-cg @atom:c1 @atom:ne @atom:cg
+ @angle:c2-ne-ca @atom:c2 @atom:ne @atom:ca
+ @angle:c2-ne-ce @atom:c2 @atom:ne @atom:ce
+ @angle:c2-ne-cg @atom:c2 @atom:ne @atom:cg
+ @angle:c2-ne-n2 @atom:c2 @atom:ne @atom:n2
+ @angle:c2-ne-ne @atom:c2 @atom:ne @atom:ne
+ @angle:c2-ne-p2 @atom:c2 @atom:ne @atom:p2
+ @angle:c2-ne-pe @atom:c2 @atom:ne @atom:pe
+ @angle:c2-ne-px @atom:c2 @atom:ne @atom:px
+ @angle:c2-ne-py @atom:c2 @atom:ne @atom:py
+ @angle:c2-ne-sx @atom:c2 @atom:ne @atom:sx
+ @angle:c2-ne-sy @atom:c2 @atom:ne @atom:sy
+ @angle:ca-ne-cf @atom:ca @atom:ne @atom:cf
+ @angle:ca-ne-n2 @atom:ca @atom:ne @atom:n2
+ @angle:ca-ne-nf @atom:ca @atom:ne @atom:nf
+ @angle:ca-ne-o @atom:ca @atom:ne @atom:o
+ @angle:ca-ne-p2 @atom:ca @atom:ne @atom:p2
+ @angle:ca-ne-s @atom:ca @atom:ne @atom:s
+ @angle:c-ne-c2 @atom:c @atom:ne @atom:c2
+ @angle:ce-ne-n2 @atom:ce @atom:ne @atom:n2
+ @angle:ce-ne-o @atom:ce @atom:ne @atom:o
+ @angle:ce-ne-p2 @atom:ce @atom:ne @atom:p2
+ @angle:ce-ne-s @atom:ce @atom:ne @atom:s
+ @angle:cg-ne-n1 @atom:cg @atom:ne @atom:n1
+ @angle:cg-ne-n2 @atom:cg @atom:ne @atom:n2
+ @angle:cg-ne-o @atom:cg @atom:ne @atom:o
+ @angle:cg-ne-p2 @atom:cg @atom:ne @atom:p2
+ @angle:cg-ne-s @atom:cg @atom:ne @atom:s
+ @angle:c-ne-sy @atom:c @atom:ne @atom:sy
+ @angle:n2-ne-n2 @atom:n2 @atom:ne @atom:n2
+ @angle:n2-ne-ne @atom:n2 @atom:ne @atom:ne
+ @angle:n2-ne-o @atom:n2 @atom:ne @atom:o
+ @angle:n2-ne-p2 @atom:n2 @atom:ne @atom:p2
+ @angle:n2-ne-pe @atom:n2 @atom:ne @atom:pe
+ @angle:n2-ne-px @atom:n2 @atom:ne @atom:px
+ @angle:n2-ne-py @atom:n2 @atom:ne @atom:py
+ @angle:n2-ne-s @atom:n2 @atom:ne @atom:s
+ @angle:n2-ne-sx @atom:n2 @atom:ne @atom:sx
+ @angle:n2-ne-sy @atom:n2 @atom:ne @atom:sy
+ @angle:ne-ne-o @atom:ne @atom:ne @atom:o
+ @angle:ne-ne-p2 @atom:ne @atom:ne @atom:p2
+ @angle:ne-ne-s @atom:ne @atom:ne @atom:s
+ @angle:o-ne-o @atom:o @atom:ne @atom:o
+ @angle:o-ne-pe @atom:o @atom:ne @atom:pe
+ @angle:o-ne-px @atom:o @atom:ne @atom:px
+ @angle:o-ne-py @atom:o @atom:ne @atom:py
+ @angle:o-ne-s @atom:o @atom:ne @atom:s
+ @angle:o-ne-sx @atom:o @atom:ne @atom:sx
+ @angle:o-ne-sy @atom:o @atom:ne @atom:sy
+ @angle:p2-ne-pe @atom:p2 @atom:ne @atom:pe
+ @angle:p2-ne-px @atom:p2 @atom:ne @atom:px
+ @angle:p2-ne-py @atom:p2 @atom:ne @atom:py
+ @angle:p2-ne-sx @atom:p2 @atom:ne @atom:sx
+ @angle:p2-ne-sy @atom:p2 @atom:ne @atom:sy
+ @angle:pe-ne-s @atom:pe @atom:ne @atom:s
+ @angle:px-ne-s @atom:px @atom:ne @atom:s
+ @angle:py-ne-s @atom:py @atom:ne @atom:s
+ @angle:s-ne-s @atom:s @atom:ne @atom:s
+ @angle:s-ne-sx @atom:s @atom:ne @atom:sx
+ @angle:s-ne-sy @atom:s @atom:ne @atom:sy
+ @angle:c1-nf-ca @atom:c1 @atom:nf @atom:ca
+ @angle:c1-nf-ch @atom:c1 @atom:nf @atom:ch
+ @angle:c2-nf-ca @atom:c2 @atom:nf @atom:ca
+ @angle:c2-nf-cf @atom:c2 @atom:nf @atom:cf
+ @angle:c2-nf-n2 @atom:c2 @atom:nf @atom:n2
+ @angle:c2-nf-nf @atom:c2 @atom:nf @atom:nf
+ @angle:c2-nf-p2 @atom:c2 @atom:nf @atom:p2
+ @angle:c2-nf-pf @atom:c2 @atom:nf @atom:pf
+ @angle:c2-nf-px @atom:c2 @atom:nf @atom:px
+ @angle:c2-nf-py @atom:c2 @atom:nf @atom:py
+ @angle:c2-nf-sx @atom:c2 @atom:nf @atom:sx
+ @angle:c2-nf-sy @atom:c2 @atom:nf @atom:sy
+ @angle:ca-nf-ce @atom:ca @atom:nf @atom:ce
+ @angle:ca-nf-n2 @atom:ca @atom:nf @atom:n2
+ @angle:ca-nf-ne @atom:ca @atom:nf @atom:ne
+ @angle:ca-nf-o @atom:ca @atom:nf @atom:o
+ @angle:ca-nf-p2 @atom:ca @atom:nf @atom:p2
+ @angle:ca-nf-s @atom:ca @atom:nf @atom:s
+ @angle:c-nf-c2 @atom:c @atom:nf @atom:c2
+ @angle:cf-nf-n2 @atom:cf @atom:nf @atom:n2
+ @angle:cf-nf-o @atom:cf @atom:nf @atom:o
+ @angle:cf-nf-p2 @atom:cf @atom:nf @atom:p2
+ @angle:cf-nf-s @atom:cf @atom:nf @atom:s
+ @angle:ch-nf-n1 @atom:ch @atom:nf @atom:n1
+ @angle:ch-nf-n2 @atom:ch @atom:nf @atom:n2
+ @angle:ch-nf-o @atom:ch @atom:nf @atom:o
+ @angle:ch-nf-p2 @atom:ch @atom:nf @atom:p2
+ @angle:ch-nf-s @atom:ch @atom:nf @atom:s
+ @angle:f-n-f @atom:f @atom:n @atom:f
+ @angle:n2-nf-n2 @atom:n2 @atom:nf @atom:n2
+ @angle:n2-nf-nf @atom:n2 @atom:nf @atom:nf
+ @angle:n2-nf-o @atom:n2 @atom:nf @atom:o
+ @angle:n2-nf-p2 @atom:n2 @atom:nf @atom:p2
+ @angle:n2-nf-pf @atom:n2 @atom:nf @atom:pf
+ @angle:n2-nf-px @atom:n2 @atom:nf @atom:px
+ @angle:n2-nf-py @atom:n2 @atom:nf @atom:py
+ @angle:n2-nf-s @atom:n2 @atom:nf @atom:s
+ @angle:n2-nf-sx @atom:n2 @atom:nf @atom:sx
+ @angle:n2-nf-sy @atom:n2 @atom:nf @atom:sy
+ @angle:nf-nf-o @atom:nf @atom:nf @atom:o
+ @angle:nf-nf-p2 @atom:nf @atom:nf @atom:p2
+ @angle:nf-nf-s @atom:nf @atom:nf @atom:s
+ @angle:o-nf-o @atom:o @atom:nf @atom:o
+ @angle:o-nf-pf @atom:o @atom:nf @atom:pf
+ @angle:o-nf-px @atom:o @atom:nf @atom:px
+ @angle:o-nf-py @atom:o @atom:nf @atom:py
+ @angle:o-nf-s @atom:o @atom:nf @atom:s
+ @angle:o-nf-sx @atom:o @atom:nf @atom:sx
+ @angle:o-nf-sy @atom:o @atom:nf @atom:sy
+ @angle:p2-nf-pf @atom:p2 @atom:nf @atom:pf
+ @angle:p2-nf-px @atom:p2 @atom:nf @atom:px
+ @angle:p2-nf-py @atom:p2 @atom:nf @atom:py
+ @angle:p2-nf-sx @atom:p2 @atom:nf @atom:sx
+ @angle:p2-nf-sy @atom:p2 @atom:nf @atom:sy
+ @angle:pf-nf-s @atom:pf @atom:nf @atom:s
+ @angle:px-nf-s @atom:px @atom:nf @atom:s
+ @angle:py-nf-s @atom:py @atom:nf @atom:s
+ @angle:s-nf-s @atom:s @atom:nf @atom:s
+ @angle:s-nf-sx @atom:s @atom:nf @atom:sx
+ @angle:s-nf-sy @atom:s @atom:nf @atom:sy
+ @angle:br-nh-br @atom:br @atom:nh @atom:br
+ @angle:br-nh-ca @atom:br @atom:nh @atom:ca
+ @angle:br-nh-hn @atom:br @atom:nh @atom:hn
+ @angle:c1-nh-c1 @atom:c1 @atom:nh @atom:c1
+ @angle:c1-nh-c2 @atom:c1 @atom:nh @atom:c2
+ @angle:c1-nh-ca @atom:c1 @atom:nh @atom:ca
+ @angle:c1-nh-hn @atom:c1 @atom:nh @atom:hn
+ @angle:c2-nh-c2 @atom:c2 @atom:nh @atom:c2
+ @angle:c2-nh-c3 @atom:c2 @atom:nh @atom:c3
+ @angle:c2-nh-ca @atom:c2 @atom:nh @atom:ca
+ @angle:c2-nh-cc @atom:c2 @atom:nh @atom:cc
+ @angle:c2-nh-cd @atom:c2 @atom:nh @atom:cd
+ @angle:c2-nh-cx @atom:c2 @atom:nh @atom:cx
+ @angle:c2-nh-hn @atom:c2 @atom:nh @atom:hn
+ @angle:c2-nh-n2 @atom:c2 @atom:nh @atom:n2
+ @angle:c2-nh-n3 @atom:c2 @atom:nh @atom:n3
+ @angle:c2-nh-no @atom:c2 @atom:nh @atom:no
+ @angle:c2-nh-oh @atom:c2 @atom:nh @atom:oh
+ @angle:c2-nh-os @atom:c2 @atom:nh @atom:os
+ @angle:c2-nh-sy @atom:c2 @atom:nh @atom:sy
+ @angle:c3-nh-c3 @atom:c3 @atom:nh @atom:c3
+ @angle:c3-nh-ca @atom:c3 @atom:nh @atom:ca
+ @angle:c3-nh-cc @atom:c3 @atom:nh @atom:cc
+ @angle:c3-nh-cd @atom:c3 @atom:nh @atom:cd
+ @angle:c3-nh-cf @atom:c3 @atom:nh @atom:cf
+ @angle:c3-nh-cz @atom:c3 @atom:nh @atom:cz
+ @angle:c3-nh-hn @atom:c3 @atom:nh @atom:hn
+ @angle:c3-nh-n2 @atom:c3 @atom:nh @atom:n2
+ @angle:c3-nh-n @atom:c3 @atom:nh @atom:n
+ @angle:c3-nh-na @atom:c3 @atom:nh @atom:na
+ @angle:c3-nh-p2 @atom:c3 @atom:nh @atom:p2
+ @angle:c3-nh-sy @atom:c3 @atom:nh @atom:sy
+ @angle:ca-nh-ca @atom:ca @atom:nh @atom:ca
+ @angle:ca-nh-cc @atom:ca @atom:nh @atom:cc
+ @angle:ca-nh-cd @atom:ca @atom:nh @atom:cd
+ @angle:ca-nh-cl @atom:ca @atom:nh @atom:cl
+ @angle:ca-nh-cx @atom:ca @atom:nh @atom:cx
+ @angle:ca-nh-f @atom:ca @atom:nh @atom:f
+ @angle:ca-nh-hn @atom:ca @atom:nh @atom:hn
+ @angle:ca-nh-i @atom:ca @atom:nh @atom:i
+ @angle:ca-nh-n1 @atom:ca @atom:nh @atom:n1
+ @angle:ca-nh-n2 @atom:ca @atom:nh @atom:n2
+ @angle:ca-nh-n3 @atom:ca @atom:nh @atom:n3
+ @angle:ca-nh-n4 @atom:ca @atom:nh @atom:n4
+ @angle:ca-nh-n @atom:ca @atom:nh @atom:n
+ @angle:ca-nh-na @atom:ca @atom:nh @atom:na
+ @angle:ca-nh-nh @atom:ca @atom:nh @atom:nh
+ @angle:ca-nh-no @atom:ca @atom:nh @atom:no
+ @angle:ca-nh-o @atom:ca @atom:nh @atom:o
+ @angle:ca-nh-oh @atom:ca @atom:nh @atom:oh
+ @angle:ca-nh-os @atom:ca @atom:nh @atom:os
+ @angle:ca-nh-p2 @atom:ca @atom:nh @atom:p2
+ @angle:ca-nh-p3 @atom:ca @atom:nh @atom:p3
+ @angle:ca-nh-p4 @atom:ca @atom:nh @atom:p4
+ @angle:ca-nh-p5 @atom:ca @atom:nh @atom:p5
+ @angle:ca-nh-s4 @atom:ca @atom:nh @atom:s4
+ @angle:ca-nh-s6 @atom:ca @atom:nh @atom:s6
+ @angle:ca-nh-s @atom:ca @atom:nh @atom:s
+ @angle:ca-nh-sh @atom:ca @atom:nh @atom:sh
+ @angle:ca-nh-ss @atom:ca @atom:nh @atom:ss
+ @angle:ca-nh-sy @atom:ca @atom:nh @atom:sy
+ @angle:cc-nh-cx @atom:cc @atom:nh @atom:cx
+ @angle:cc-nh-hn @atom:cc @atom:nh @atom:hn
+ @angle:cc-nh-n2 @atom:cc @atom:nh @atom:n2
+ @angle:cc-nh-sy @atom:cc @atom:nh @atom:sy
+ @angle:cd-nh-cx @atom:cd @atom:nh @atom:cx
+ @angle:cd-nh-hn @atom:cd @atom:nh @atom:hn
+ @angle:ce-nh-hn @atom:ce @atom:nh @atom:hn
+ @angle:ce-nh-o @atom:ce @atom:nh @atom:o
+ @angle:ce-nh-sy @atom:ce @atom:nh @atom:sy
+ @angle:cf-nh-hn @atom:cf @atom:nh @atom:hn
+ @angle:cf-nh-o @atom:cf @atom:nh @atom:o
+ @angle:cl-nh-cl @atom:cl @atom:nh @atom:cl
+ @angle:cl-nh-hn @atom:cl @atom:nh @atom:hn
+ @angle:cx-nh-cx @atom:cx @atom:nh @atom:cx
+ @angle:cx-nh-hn @atom:cx @atom:nh @atom:hn
+ @angle:cz-nh-hn @atom:cz @atom:nh @atom:hn
+ @angle:f-nh-f @atom:f @atom:nh @atom:f
+ @angle:f-nh-hn @atom:f @atom:nh @atom:hn
+ @angle:hn-nh-hn @atom:hn @atom:nh @atom:hn
+ @angle:hn-nh-i @atom:hn @atom:nh @atom:i
+ @angle:hn-nh-n1 @atom:hn @atom:nh @atom:n1
+ @angle:hn-nh-n2 @atom:hn @atom:nh @atom:n2
+ @angle:hn-nh-n3 @atom:hn @atom:nh @atom:n3
+ @angle:hn-nh-n4 @atom:hn @atom:nh @atom:n4
+ @angle:hn-nh-n @atom:hn @atom:nh @atom:n
+ @angle:hn-nh-na @atom:hn @atom:nh @atom:na
+ @angle:hn-nh-nh @atom:hn @atom:nh @atom:nh
+ @angle:hn-nh-no @atom:hn @atom:nh @atom:no
+ @angle:hn-nh-o @atom:hn @atom:nh @atom:o
+ @angle:hn-nh-oh @atom:hn @atom:nh @atom:oh
+ @angle:hn-nh-os @atom:hn @atom:nh @atom:os
+ @angle:hn-nh-p2 @atom:hn @atom:nh @atom:p2
+ @angle:hn-nh-p3 @atom:hn @atom:nh @atom:p3
+ @angle:hn-nh-p4 @atom:hn @atom:nh @atom:p4
+ @angle:hn-nh-p5 @atom:hn @atom:nh @atom:p5
+ @angle:hn-nh-s4 @atom:hn @atom:nh @atom:s4
+ @angle:hn-nh-s @atom:hn @atom:nh @atom:s
+ @angle:hn-nh-s6 @atom:hn @atom:nh @atom:s6
+ @angle:hn-nh-sh @atom:hn @atom:nh @atom:sh
+ @angle:hn-nh-ss @atom:hn @atom:nh @atom:ss
+ @angle:hn-nh-sy @atom:hn @atom:nh @atom:sy
+ @angle:i-nh-i @atom:i @atom:nh @atom:i
+ @angle:n1-nh-n1 @atom:n1 @atom:nh @atom:n1
+ @angle:n2-nh-n2 @atom:n2 @atom:nh @atom:n2
+ @angle:n2-nh-n3 @atom:n2 @atom:nh @atom:n3
+ @angle:n2-nh-o @atom:n2 @atom:nh @atom:o
+ @angle:n3-nh-n3 @atom:n3 @atom:nh @atom:n3
+ @angle:n4-nh-n4 @atom:n4 @atom:nh @atom:n4
+ @angle:na-nh-na @atom:na @atom:nh @atom:na
+ @angle:hn-n-hn @atom:hn @atom:n @atom:hn
+ @angle:nh-nh-nh @atom:nh @atom:nh @atom:nh
+ @angle:hn-n-i @atom:hn @atom:n @atom:i
+ @angle:hn-n-n2 @atom:hn @atom:n @atom:n2
+ @angle:hn-n-n3 @atom:hn @atom:n @atom:n3
+ @angle:hn-n-n4 @atom:hn @atom:n @atom:n4
+ @angle:hn-n-n @atom:hn @atom:n @atom:n
+ @angle:hn-n-na @atom:hn @atom:n @atom:na
+ @angle:hn-n-nc @atom:hn @atom:n @atom:nc
+ @angle:hn-n-nh @atom:hn @atom:n @atom:nh
+ @angle:hn-n-no @atom:hn @atom:n @atom:no
+ @angle:hn-n-o @atom:hn @atom:n @atom:o
+ @angle:n-nh-o @atom:n @atom:nh @atom:o
+ @angle:hn-n-oh @atom:hn @atom:n @atom:oh
+ @angle:no-nh-no @atom:no @atom:nh @atom:no
+ @angle:hn-n-os @atom:hn @atom:n @atom:os
+ @angle:hn-n-p2 @atom:hn @atom:n @atom:p2
+ @angle:hn-n-p3 @atom:hn @atom:n @atom:p3
+ @angle:hn-n-p4 @atom:hn @atom:n @atom:p4
+ @angle:hn-n-p5 @atom:hn @atom:n @atom:p5
+ @angle:hn-n-s4 @atom:hn @atom:n @atom:s4
+ @angle:hn-n-s @atom:hn @atom:n @atom:s
+ @angle:hn-n-s6 @atom:hn @atom:n @atom:s6
+ @angle:hn-n-sh @atom:hn @atom:n @atom:sh
+ @angle:hn-n-ss @atom:hn @atom:n @atom:ss
+ @angle:hn-n-sy @atom:hn @atom:n @atom:sy
+ @angle:oh-nh-oh @atom:oh @atom:nh @atom:oh
+ @angle:o-nh-o @atom:o @atom:nh @atom:o
+ @angle:os-nh-os @atom:os @atom:nh @atom:os
+ @angle:p2-nh-p2 @atom:p2 @atom:nh @atom:p2
+ @angle:p3-nh-p3 @atom:p3 @atom:nh @atom:p3
+ @angle:p5-nh-p5 @atom:p5 @atom:nh @atom:p5
+ @angle:s4-nh-s4 @atom:s4 @atom:nh @atom:s4
+ @angle:s6-nh-s6 @atom:s6 @atom:nh @atom:s6
+ @angle:sh-nh-sh @atom:sh @atom:nh @atom:sh
+ @angle:s-nh-s @atom:s @atom:nh @atom:s
+ @angle:ss-nh-ss @atom:ss @atom:nh @atom:ss
+ @angle:i-n-i @atom:i @atom:n @atom:i
+ @angle:n2-n-n2 @atom:n2 @atom:n @atom:n2
+ @angle:n3-n-n3 @atom:n3 @atom:n @atom:n3
+ @angle:n4-n-n4 @atom:n4 @atom:n @atom:n4
+ @angle:na-n-na @atom:na @atom:n @atom:na
+ @angle:nc-n-nc @atom:nc @atom:n @atom:nc
+ @angle:nc-n-p2 @atom:nc @atom:n @atom:p2
+ @angle:nc-n-pc @atom:nc @atom:n @atom:pc
+ @angle:nd-n-nd @atom:nd @atom:n @atom:nd
+ @angle:nd-n-p2 @atom:nd @atom:n @atom:p2
+ @angle:nd-n-pd @atom:nd @atom:n @atom:pd
+ @angle:nh-n-nh @atom:nh @atom:n @atom:nh
+ @angle:n-n-n @atom:n @atom:n @atom:n
+ @angle:no-n-no @atom:no @atom:n @atom:no
+ @angle:br-no-o @atom:br @atom:no @atom:o
+ @angle:c1-no-o @atom:c1 @atom:no @atom:o
+ @angle:c2-no-o @atom:c2 @atom:no @atom:o
+ @angle:c3-no-o @atom:c3 @atom:no @atom:o
+ @angle:ca-no-o @atom:ca @atom:no @atom:o
+ @angle:cc-no-o @atom:cc @atom:no @atom:o
+ @angle:cl-no-o @atom:cl @atom:no @atom:o
+ @angle:c-no-o @atom:c @atom:no @atom:o
+ @angle:hn-no-o @atom:hn @atom:no @atom:o
+ @angle:oh-n-oh @atom:oh @atom:n @atom:oh
+ @angle:i-no-o @atom:i @atom:no @atom:o
+ @angle:n1-no-o @atom:n1 @atom:no @atom:o
+ @angle:n2-no-o @atom:n2 @atom:no @atom:o
+ @angle:n3-no-o @atom:n3 @atom:no @atom:o
+ @angle:n4-no-o @atom:n4 @atom:no @atom:o
+ @angle:na-no-o @atom:na @atom:no @atom:o
+ @angle:nh-no-o @atom:nh @atom:no @atom:o
+ @angle:n-no-o @atom:n @atom:no @atom:o
+ @angle:no-no-o @atom:no @atom:no @atom:o
+ @angle:o-n-o @atom:o @atom:n @atom:o
+ @angle:o-no-o @atom:o @atom:no @atom:o
+ @angle:o-no-oh @atom:o @atom:no @atom:oh
+ @angle:o-no-os @atom:o @atom:no @atom:os
+ @angle:o-no-p2 @atom:o @atom:no @atom:p2
+ @angle:o-no-p3 @atom:o @atom:no @atom:p3
+ @angle:o-no-p4 @atom:o @atom:no @atom:p4
+ @angle:o-no-p5 @atom:o @atom:no @atom:p5
+ @angle:o-no-s4 @atom:o @atom:no @atom:s4
+ @angle:o-no-s6 @atom:o @atom:no @atom:s6
+ @angle:o-no-s @atom:o @atom:no @atom:s
+ @angle:o-no-sh @atom:o @atom:no @atom:sh
+ @angle:o-no-ss @atom:o @atom:no @atom:ss
+ @angle:os-n-os @atom:os @atom:n @atom:os
+ @angle:p2-n-p2 @atom:p2 @atom:n @atom:p2
+ @angle:p3-n-p3 @atom:p3 @atom:n @atom:p3
+ @angle:p4-n-p4 @atom:p4 @atom:n @atom:p4
+ @angle:p5-n-p5 @atom:p5 @atom:n @atom:p5
+ @angle:pc-n-pc @atom:pc @atom:n @atom:pc
+ @angle:pd-n-pd @atom:pd @atom:n @atom:pd
+ @angle:s4-n-s4 @atom:s4 @atom:n @atom:s4
+ @angle:s6-n-s6 @atom:s6 @atom:n @atom:s6
+ @angle:sh-n-sh @atom:sh @atom:n @atom:sh
+ @angle:s-n-s @atom:s @atom:n @atom:s
+ @angle:ss-n-ss @atom:ss @atom:n @atom:ss
+ @angle:br-oh-ho @atom:br @atom:oh @atom:ho
+ @angle:c1-oh-ho @atom:c1 @atom:oh @atom:ho
+ @angle:c2-oh-ho @atom:c2 @atom:oh @atom:ho
+ @angle:c3-oh-ho @atom:c3 @atom:oh @atom:ho
+ @angle:ca-oh-ho @atom:ca @atom:oh @atom:ho
+ @angle:cc-oh-ho @atom:cc @atom:oh @atom:ho
+ @angle:cd-oh-ho @atom:cd @atom:oh @atom:ho
+ @angle:ce-oh-ho @atom:ce @atom:oh @atom:ho
+ @angle:cf-oh-ho @atom:cf @atom:oh @atom:ho
+ @angle:c-oh-ho @atom:c @atom:oh @atom:ho
+ @angle:cl-oh-ho @atom:cl @atom:oh @atom:ho
+ @angle:cx-oh-ho @atom:cx @atom:oh @atom:ho
+ @angle:cy-oh-ho @atom:cy @atom:oh @atom:ho
+ @angle:f-oh-ho @atom:f @atom:oh @atom:ho
+ @angle:ho-oh-ho @atom:ho @atom:oh @atom:ho
+ @angle:ho-oh-i @atom:ho @atom:oh @atom:i
+ @angle:ho-oh-n1 @atom:ho @atom:oh @atom:n1
+ @angle:ho-oh-n2 @atom:ho @atom:oh @atom:n2
+ @angle:ho-oh-n3 @atom:ho @atom:oh @atom:n3
+ @angle:ho-oh-n4 @atom:ho @atom:oh @atom:n4
+ @angle:ho-oh-n @atom:ho @atom:oh @atom:n
+ @angle:ho-oh-na @atom:ho @atom:oh @atom:na
+ @angle:ho-oh-nh @atom:ho @atom:oh @atom:nh
+ @angle:ho-oh-no @atom:ho @atom:oh @atom:no
+ @angle:ho-oh-o @atom:ho @atom:oh @atom:o
+ @angle:ho-oh-oh @atom:ho @atom:oh @atom:oh
+ @angle:ho-oh-os @atom:ho @atom:oh @atom:os
+ @angle:ho-oh-p2 @atom:ho @atom:oh @atom:p2
+ @angle:ho-oh-p3 @atom:ho @atom:oh @atom:p3
+ @angle:ho-oh-p4 @atom:ho @atom:oh @atom:p4
+ @angle:ho-oh-p5 @atom:ho @atom:oh @atom:p5
+ @angle:ho-oh-py @atom:ho @atom:oh @atom:py
+ @angle:ho-oh-s4 @atom:ho @atom:oh @atom:s4
+ @angle:ho-oh-s @atom:ho @atom:oh @atom:s
+ @angle:ho-oh-s6 @atom:ho @atom:oh @atom:s6
+ @angle:ho-oh-sh @atom:ho @atom:oh @atom:sh
+ @angle:ho-oh-ss @atom:ho @atom:oh @atom:ss
+ @angle:ho-oh-sy @atom:ho @atom:oh @atom:sy
+ @angle:br-os-br @atom:br @atom:os @atom:br
+ @angle:c1-os-c1 @atom:c1 @atom:os @atom:c1
+ @angle:c1-os-c3 @atom:c1 @atom:os @atom:c3
+ @angle:c2-os-c2 @atom:c2 @atom:os @atom:c2
+ @angle:c2-os-c3 @atom:c2 @atom:os @atom:c3
+ @angle:c2-os-ca @atom:c2 @atom:os @atom:ca
+ @angle:c2-os-n2 @atom:c2 @atom:os @atom:n2
+ @angle:c2-os-na @atom:c2 @atom:os @atom:na
+ @angle:c2-os-os @atom:c2 @atom:os @atom:os
+ @angle:c2-os-p5 @atom:c2 @atom:os @atom:p5
+ @angle:c2-os-ss @atom:c2 @atom:os @atom:ss
+ @angle:c3-os-c3 @atom:c3 @atom:os @atom:c3
+ @angle:c3-os-ca @atom:c3 @atom:os @atom:ca
+ @angle:c3-os-cc @atom:c3 @atom:os @atom:cc
+ @angle:c3-os-cd @atom:c3 @atom:os @atom:cd
+ @angle:c3-os-ce @atom:c3 @atom:os @atom:ce
+ @angle:c3-os-cf @atom:c3 @atom:os @atom:cf
+ @angle:c3-os-cl @atom:c3 @atom:os @atom:cl
+ @angle:c3-os-cy @atom:c3 @atom:os @atom:cy
+ @angle:c3-os-i @atom:c3 @atom:os @atom:i
+ @angle:c3-os-n1 @atom:c3 @atom:os @atom:n1
+ @angle:c3-os-n2 @atom:c3 @atom:os @atom:n2
+ @angle:c3-os-n3 @atom:c3 @atom:os @atom:n3
+ @angle:c3-os-n4 @atom:c3 @atom:os @atom:n4
+ @angle:c3-os-n @atom:c3 @atom:os @atom:n
+ @angle:c3-os-na @atom:c3 @atom:os @atom:na
+ @angle:c3-os-nc @atom:c3 @atom:os @atom:nc
+ @angle:c3-os-nd @atom:c3 @atom:os @atom:nd
+ @angle:c3-os-nh @atom:c3 @atom:os @atom:nh
+ @angle:c3-os-no @atom:c3 @atom:os @atom:no
+ @angle:c3-os-o @atom:c3 @atom:os @atom:o
+ @angle:c3-os-oh @atom:c3 @atom:os @atom:oh
+ @angle:c3-os-os @atom:c3 @atom:os @atom:os
+ @angle:c3-os-p2 @atom:c3 @atom:os @atom:p2
+ @angle:c3-os-p3 @atom:c3 @atom:os @atom:p3
+ @angle:c3-os-p4 @atom:c3 @atom:os @atom:p4
+ @angle:c3-os-p5 @atom:c3 @atom:os @atom:p5
+ @angle:c3-os-py @atom:c3 @atom:os @atom:py
+ @angle:c3-os-s4 @atom:c3 @atom:os @atom:s4
+ @angle:c3-os-s6 @atom:c3 @atom:os @atom:s6
+ @angle:c3-os-s @atom:c3 @atom:os @atom:s
+ @angle:c3-os-sh @atom:c3 @atom:os @atom:sh
+ @angle:c3-os-ss @atom:c3 @atom:os @atom:ss
+ @angle:ca-os-ca @atom:ca @atom:os @atom:ca
+ @angle:ca-os-cc @atom:ca @atom:os @atom:cc
+ @angle:ca-os-cd @atom:ca @atom:os @atom:cd
+ @angle:ca-os-n3 @atom:ca @atom:os @atom:n3
+ @angle:ca-os-na @atom:ca @atom:os @atom:na
+ @angle:ca-os-nc @atom:ca @atom:os @atom:nc
+ @angle:ca-os-nd @atom:ca @atom:os @atom:nd
+ @angle:ca-os-p5 @atom:ca @atom:os @atom:p5
+ @angle:ca-os-s6 @atom:ca @atom:os @atom:s6
+ @angle:c-os-c2 @atom:c @atom:os @atom:c2
+ @angle:c-os-c3 @atom:c @atom:os @atom:c3
+ @angle:c-os-c @atom:c @atom:os @atom:c
+ @angle:c-os-ca @atom:c @atom:os @atom:ca
+ @angle:c-os-cc @atom:c @atom:os @atom:cc
+ @angle:cc-os-cc @atom:cc @atom:os @atom:cc
+ @angle:cc-os-cd @atom:cc @atom:os @atom:cd
+ @angle:c-os-cd @atom:c @atom:os @atom:cd
+ @angle:cc-os-na @atom:cc @atom:os @atom:na
+ @angle:cc-os-nc @atom:cc @atom:os @atom:nc
+ @angle:cc-os-os @atom:cc @atom:os @atom:os
+ @angle:cc-os-ss @atom:cc @atom:os @atom:ss
+ @angle:c-os-cy @atom:c @atom:os @atom:cy
+ @angle:cd-os-cd @atom:cd @atom:os @atom:cd
+ @angle:cd-os-na @atom:cd @atom:os @atom:na
+ @angle:cd-os-nd @atom:cd @atom:os @atom:nd
+ @angle:cd-os-os @atom:cd @atom:os @atom:os
+ @angle:cd-os-ss @atom:cd @atom:os @atom:ss
+ @angle:cl-os-cl @atom:cl @atom:os @atom:cl
+ @angle:c-os-n2 @atom:c @atom:os @atom:n2
+ @angle:c-os-n @atom:c @atom:os @atom:n
+ @angle:c-os-oh @atom:c @atom:os @atom:oh
+ @angle:c-os-os @atom:c @atom:os @atom:os
+ @angle:c-os-p5 @atom:c @atom:os @atom:p5
+ @angle:c-os-sy @atom:c @atom:os @atom:sy
+ @angle:cx-os-cx @atom:cx @atom:os @atom:cx
+ @angle:cx-os-n @atom:cx @atom:os @atom:n
+ @angle:cx-os-os @atom:cx @atom:os @atom:os
+ @angle:cy-os-cy @atom:cy @atom:os @atom:cy
+ @angle:f-os-f @atom:f @atom:os @atom:f
+ @angle:f-os-os @atom:f @atom:os @atom:os
+ @angle:i-os-i @atom:i @atom:os @atom:i
+ @angle:n1-os-n1 @atom:n1 @atom:os @atom:n1
+ @angle:n2-os-n2 @atom:n2 @atom:os @atom:n2
+ @angle:n2-os-s6 @atom:n2 @atom:os @atom:s6
+ @angle:n3-os-n3 @atom:n3 @atom:os @atom:n3
+ @angle:n4-os-n4 @atom:n4 @atom:os @atom:n4
+ @angle:na-os-na @atom:na @atom:os @atom:na
+ @angle:na-os-ss @atom:na @atom:os @atom:ss
+ @angle:nc-os-nc @atom:nc @atom:os @atom:nc
+ @angle:nc-os-ss @atom:nc @atom:os @atom:ss
+ @angle:nd-os-nd @atom:nd @atom:os @atom:nd
+ @angle:nd-os-ss @atom:nd @atom:os @atom:ss
+ @angle:nh-os-nh @atom:nh @atom:os @atom:nh
+ @angle:n-os-n @atom:n @atom:os @atom:n
+ @angle:no-os-no @atom:no @atom:os @atom:no
+ @angle:n-os-s6 @atom:n @atom:os @atom:s6
+ @angle:o-os-o @atom:o @atom:os @atom:o
+ @angle:p2-os-p2 @atom:p2 @atom:os @atom:p2
+ @angle:p2-os-p5 @atom:p2 @atom:os @atom:p5
+ @angle:p3-os-p3 @atom:p3 @atom:os @atom:p3
+ @angle:p3-os-py @atom:p3 @atom:os @atom:py
+ @angle:p5-os-p5 @atom:p5 @atom:os @atom:p5
+ @angle:s4-os-s4 @atom:s4 @atom:os @atom:s4
+ @angle:s6-os-s6 @atom:s6 @atom:os @atom:s6
+ @angle:sh-os-sh @atom:sh @atom:os @atom:sh
+ @angle:s-os-s @atom:s @atom:os @atom:s
+ @angle:ss-os-ss @atom:ss @atom:os @atom:ss
+ @angle:br-p2-br @atom:br @atom:p2 @atom:br
+ @angle:br-p2-c2 @atom:br @atom:p2 @atom:c2
+ @angle:br-p2-n2 @atom:br @atom:p2 @atom:n2
+ @angle:br-p2-o @atom:br @atom:p2 @atom:o
+ @angle:br-p2-p2 @atom:br @atom:p2 @atom:p2
+ @angle:br-p2-s @atom:br @atom:p2 @atom:s
+ @angle:c1-p2-c1 @atom:c1 @atom:p2 @atom:c1
+ @angle:c1-p2-c2 @atom:c1 @atom:p2 @atom:c2
+ @angle:c1-p2-n2 @atom:c1 @atom:p2 @atom:n2
+ @angle:c1-p2-o @atom:c1 @atom:p2 @atom:o
+ @angle:c1-p2-p2 @atom:c1 @atom:p2 @atom:p2
+ @angle:c1-p2-s @atom:c1 @atom:p2 @atom:s
+ @angle:c2-p2-c2 @atom:c2 @atom:p2 @atom:c2
+ @angle:c2-p2-c3 @atom:c2 @atom:p2 @atom:c3
+ @angle:c2-p2-ca @atom:c2 @atom:p2 @atom:ca
+ @angle:c2-p2-cl @atom:c2 @atom:p2 @atom:cl
+ @angle:c2-p2-f @atom:c2 @atom:p2 @atom:f
+ @angle:c2-p2-hp @atom:c2 @atom:p2 @atom:hp
+ @angle:c2-p2-i @atom:c2 @atom:p2 @atom:i
+ @angle:c2-p2-n2 @atom:c2 @atom:p2 @atom:n2
+ @angle:c2-p2-n3 @atom:c2 @atom:p2 @atom:n3
+ @angle:c2-p2-n4 @atom:c2 @atom:p2 @atom:n4
+ @angle:c2-p2-n @atom:c2 @atom:p2 @atom:n
+ @angle:c2-p2-na @atom:c2 @atom:p2 @atom:na
+ @angle:c2-p2-nh @atom:c2 @atom:p2 @atom:nh
+ @angle:c2-p2-no @atom:c2 @atom:p2 @atom:no
+ @angle:c2-p2-o @atom:c2 @atom:p2 @atom:o
+ @angle:c2-p2-oh @atom:c2 @atom:p2 @atom:oh
+ @angle:c2-p2-os @atom:c2 @atom:p2 @atom:os
+ @angle:c2-p2-p2 @atom:c2 @atom:p2 @atom:p2
+ @angle:c2-p2-p3 @atom:c2 @atom:p2 @atom:p3
+ @angle:c2-p2-p4 @atom:c2 @atom:p2 @atom:p4
+ @angle:c2-p2-p5 @atom:c2 @atom:p2 @atom:p5
+ @angle:c2-p2-s4 @atom:c2 @atom:p2 @atom:s4
+ @angle:c2-p2-s6 @atom:c2 @atom:p2 @atom:s6
+ @angle:c2-p2-s @atom:c2 @atom:p2 @atom:s
+ @angle:c2-p2-sh @atom:c2 @atom:p2 @atom:sh
+ @angle:c2-p2-ss @atom:c2 @atom:p2 @atom:ss
+ @angle:c3-p2-c3 @atom:c3 @atom:p2 @atom:c3
+ @angle:c3-p2-n2 @atom:c3 @atom:p2 @atom:n2
+ @angle:c3-p2-o @atom:c3 @atom:p2 @atom:o
+ @angle:c3-p2-os @atom:c3 @atom:p2 @atom:os
+ @angle:c3-p2-p2 @atom:c3 @atom:p2 @atom:p2
+ @angle:c3-p2-s @atom:c3 @atom:p2 @atom:s
+ @angle:ca-p2-ca @atom:ca @atom:p2 @atom:ca
+ @angle:ca-p2-n2 @atom:ca @atom:p2 @atom:n2
+ @angle:ca-p2-n @atom:ca @atom:p2 @atom:n
+ @angle:ca-p2-na @atom:ca @atom:p2 @atom:na
+ @angle:ca-p2-o @atom:ca @atom:p2 @atom:o
+ @angle:ca-p2-s @atom:ca @atom:p2 @atom:s
+ @angle:c-p2-c2 @atom:c @atom:p2 @atom:c2
+ @angle:c-p2-c @atom:c @atom:p2 @atom:c
+ @angle:ce-p2-o @atom:ce @atom:p2 @atom:o
+ @angle:ce-p2-s @atom:ce @atom:p2 @atom:s
+ @angle:cf-p2-o @atom:cf @atom:p2 @atom:o
+ @angle:cf-p2-s @atom:cf @atom:p2 @atom:s
+ @angle:cl-p2-cl @atom:cl @atom:p2 @atom:cl
+ @angle:cl-p2-n2 @atom:cl @atom:p2 @atom:n2
+ @angle:cl-p2-o @atom:cl @atom:p2 @atom:o
+ @angle:cl-p2-p2 @atom:cl @atom:p2 @atom:p2
+ @angle:cl-p2-s @atom:cl @atom:p2 @atom:s
+ @angle:f-p2-f @atom:f @atom:p2 @atom:f
+ @angle:f-p2-n2 @atom:f @atom:p2 @atom:n2
+ @angle:f-p2-o @atom:f @atom:p2 @atom:o
+ @angle:f-p2-p2 @atom:f @atom:p2 @atom:p2
+ @angle:f-p2-s @atom:f @atom:p2 @atom:s
+ @angle:hp-p2-hp @atom:hp @atom:p2 @atom:hp
+ @angle:hp-p2-n1 @atom:hp @atom:p2 @atom:n1
+ @angle:hp-p2-n2 @atom:hp @atom:p2 @atom:n2
+ @angle:hp-p2-ne @atom:hp @atom:p2 @atom:ne
+ @angle:hp-p2-nf @atom:hp @atom:p2 @atom:nf
+ @angle:hp-p2-o @atom:hp @atom:p2 @atom:o
+ @angle:hp-p2-p2 @atom:hp @atom:p2 @atom:p2
+ @angle:hp-p2-p4 @atom:hp @atom:p2 @atom:p4
+ @angle:hp-p2-p5 @atom:hp @atom:p2 @atom:p5
+ @angle:hp-p2-pe @atom:hp @atom:p2 @atom:pe
+ @angle:hp-p2-pf @atom:hp @atom:p2 @atom:pf
+ @angle:hp-p2-s4 @atom:hp @atom:p2 @atom:s4
+ @angle:hp-p2-s @atom:hp @atom:p2 @atom:s
+ @angle:hp-p2-s6 @atom:hp @atom:p2 @atom:s6
+ @angle:i-p2-i @atom:i @atom:p2 @atom:i
+ @angle:i-p2-n2 @atom:i @atom:p2 @atom:n2
+ @angle:i-p2-o @atom:i @atom:p2 @atom:o
+ @angle:i-p2-p2 @atom:i @atom:p2 @atom:p2
+ @angle:i-p2-s @atom:i @atom:p2 @atom:s
+ @angle:n1-p2-n1 @atom:n1 @atom:p2 @atom:n1
+ @angle:n2-p2-n2 @atom:n2 @atom:p2 @atom:n2
+ @angle:n2-p2-n3 @atom:n2 @atom:p2 @atom:n3
+ @angle:n2-p2-n4 @atom:n2 @atom:p2 @atom:n4
+ @angle:n2-p2-na @atom:n2 @atom:p2 @atom:na
+ @angle:n2-p2-nh @atom:n2 @atom:p2 @atom:nh
+ @angle:n2-p2-no @atom:n2 @atom:p2 @atom:no
+ @angle:n2-p2-o @atom:n2 @atom:p2 @atom:o
+ @angle:n2-p2-oh @atom:n2 @atom:p2 @atom:oh
+ @angle:n2-p2-os @atom:n2 @atom:p2 @atom:os
+ @angle:n2-p2-p3 @atom:n2 @atom:p2 @atom:p3
+ @angle:n2-p2-p4 @atom:n2 @atom:p2 @atom:p4
+ @angle:n2-p2-p5 @atom:n2 @atom:p2 @atom:p5
+ @angle:n2-p2-s4 @atom:n2 @atom:p2 @atom:s4
+ @angle:n2-p2-s6 @atom:n2 @atom:p2 @atom:s6
+ @angle:n2-p2-s @atom:n2 @atom:p2 @atom:s
+ @angle:n2-p2-sh @atom:n2 @atom:p2 @atom:sh
+ @angle:n2-p2-ss @atom:n2 @atom:p2 @atom:ss
+ @angle:n3-p2-n3 @atom:n3 @atom:p2 @atom:n3
+ @angle:n3-p2-o @atom:n3 @atom:p2 @atom:o
+ @angle:n3-p2-p2 @atom:n3 @atom:p2 @atom:p2
+ @angle:n3-p2-s @atom:n3 @atom:p2 @atom:s
+ @angle:n4-p2-n4 @atom:n4 @atom:p2 @atom:n4
+ @angle:n4-p2-o @atom:n4 @atom:p2 @atom:o
+ @angle:n4-p2-p2 @atom:n4 @atom:p2 @atom:p2
+ @angle:n4-p2-s @atom:n4 @atom:p2 @atom:s
+ @angle:na-p2-na @atom:na @atom:p2 @atom:na
+ @angle:na-p2-o @atom:na @atom:p2 @atom:o
+ @angle:na-p2-s @atom:na @atom:p2 @atom:s
+ @angle:ne-p2-o @atom:ne @atom:p2 @atom:o
+ @angle:ne-p2-s @atom:ne @atom:p2 @atom:s
+ @angle:nf-p2-o @atom:nf @atom:p2 @atom:o
+ @angle:nf-p2-s @atom:nf @atom:p2 @atom:s
+ @angle:nh-p2-nh @atom:nh @atom:p2 @atom:nh
+ @angle:nh-p2-o @atom:nh @atom:p2 @atom:o
+ @angle:nh-p2-p2 @atom:nh @atom:p2 @atom:p2
+ @angle:nh-p2-s @atom:nh @atom:p2 @atom:s
+ @angle:n-p2-n2 @atom:n @atom:p2 @atom:n2
+ @angle:n-p2-o @atom:n @atom:p2 @atom:o
+ @angle:no-p2-no @atom:no @atom:p2 @atom:no
+ @angle:no-p2-o @atom:no @atom:p2 @atom:o
+ @angle:no-p2-p2 @atom:no @atom:p2 @atom:p2
+ @angle:no-p2-s @atom:no @atom:p2 @atom:s
+ @angle:n-p2-p2 @atom:n @atom:p2 @atom:p2
+ @angle:n-p2-s @atom:n @atom:p2 @atom:s
+ @angle:oh-p2-oh @atom:oh @atom:p2 @atom:oh
+ @angle:oh-p2-p2 @atom:oh @atom:p2 @atom:p2
+ @angle:oh-p2-s @atom:oh @atom:p2 @atom:s
+ @angle:o-p2-o @atom:o @atom:p2 @atom:o
+ @angle:o-p2-oh @atom:o @atom:p2 @atom:oh
+ @angle:o-p2-os @atom:o @atom:p2 @atom:os
+ @angle:o-p2-p2 @atom:o @atom:p2 @atom:p2
+ @angle:o-p2-p3 @atom:o @atom:p2 @atom:p3
+ @angle:o-p2-p4 @atom:o @atom:p2 @atom:p4
+ @angle:o-p2-p5 @atom:o @atom:p2 @atom:p5
+ @angle:o-p2-pe @atom:o @atom:p2 @atom:pe
+ @angle:o-p2-pf @atom:o @atom:p2 @atom:pf
+ @angle:o-p2-s4 @atom:o @atom:p2 @atom:s4
+ @angle:o-p2-s6 @atom:o @atom:p2 @atom:s6
+ @angle:o-p2-s @atom:o @atom:p2 @atom:s
+ @angle:o-p2-sh @atom:o @atom:p2 @atom:sh
+ @angle:os-p2-os @atom:os @atom:p2 @atom:os
+ @angle:os-p2-p2 @atom:os @atom:p2 @atom:p2
+ @angle:o-p2-ss @atom:o @atom:p2 @atom:ss
+ @angle:os-p2-s @atom:os @atom:p2 @atom:s
+ @angle:p2-p2-n2 @atom:p2 @atom:p2 @atom:n2
+ @angle:p2-p2-p3 @atom:p2 @atom:p2 @atom:p3
+ @angle:p2-p2-p4 @atom:p2 @atom:p2 @atom:p4
+ @angle:p2-p2-p5 @atom:p2 @atom:p2 @atom:p5
+ @angle:p2-p2-s4 @atom:p2 @atom:p2 @atom:s4
+ @angle:p2-p2-s6 @atom:p2 @atom:p2 @atom:s6
+ @angle:p2-p2-s @atom:p2 @atom:p2 @atom:s
+ @angle:p2-p2-sh @atom:p2 @atom:p2 @atom:sh
+ @angle:p3-p2-p3 @atom:p3 @atom:p2 @atom:p3
+ @angle:p3-p2-s @atom:p3 @atom:p2 @atom:s
+ @angle:p4-p2-s @atom:p4 @atom:p2 @atom:s
+ @angle:p5-p2-p5 @atom:p5 @atom:p2 @atom:p5
+ @angle:p5-p2-s @atom:p5 @atom:p2 @atom:s
+ @angle:pe-p2-s @atom:pe @atom:p2 @atom:s
+ @angle:pf-p2-s @atom:pf @atom:p2 @atom:s
+ @angle:s4-p2-s4 @atom:s4 @atom:p2 @atom:s4
+ @angle:s6-p2-s6 @atom:s6 @atom:p2 @atom:s6
+ @angle:sh-p2-sh @atom:sh @atom:p2 @atom:sh
+ @angle:s-p2-s @atom:s @atom:p2 @atom:s
+ @angle:s-p2-s4 @atom:s @atom:p2 @atom:s4
+ @angle:s-p2-s6 @atom:s @atom:p2 @atom:s6
+ @angle:s-p2-sh @atom:s @atom:p2 @atom:sh
+ @angle:s-p2-ss @atom:s @atom:p2 @atom:ss
+ @angle:ss-p2-ss @atom:ss @atom:p2 @atom:ss
+ @angle:br-p3-br @atom:br @atom:p3 @atom:br
+ @angle:br-p3-hp @atom:br @atom:p3 @atom:hp
+ @angle:c1-p3-c1 @atom:c1 @atom:p3 @atom:c1
+ @angle:c1-p3-f @atom:c1 @atom:p3 @atom:f
+ @angle:c1-p3-hp @atom:c1 @atom:p3 @atom:hp
+ @angle:c2-p3-c2 @atom:c2 @atom:p3 @atom:c2
+ @angle:c2-p3-hp @atom:c2 @atom:p3 @atom:hp
+ @angle:c3-p3-c3 @atom:c3 @atom:p3 @atom:c3
+ @angle:c3-p3-ca @atom:c3 @atom:p3 @atom:ca
+ @angle:c3-p3-cl @atom:c3 @atom:p3 @atom:cl
+ @angle:c3-p3-f @atom:c3 @atom:p3 @atom:f
+ @angle:c3-p3-hp @atom:c3 @atom:p3 @atom:hp
+ @angle:c3-p3-n2 @atom:c3 @atom:p3 @atom:n2
+ @angle:c3-p3-n3 @atom:c3 @atom:p3 @atom:n3
+ @angle:c3-p3-n4 @atom:c3 @atom:p3 @atom:n4
+ @angle:c3-p3-n @atom:c3 @atom:p3 @atom:n
+ @angle:c3-p3-na @atom:c3 @atom:p3 @atom:na
+ @angle:c3-p3-nh @atom:c3 @atom:p3 @atom:nh
+ @angle:c3-p3-no @atom:c3 @atom:p3 @atom:no
+ @angle:c3-p3-o @atom:c3 @atom:p3 @atom:o
+ @angle:c3-p3-oh @atom:c3 @atom:p3 @atom:oh
+ @angle:c3-p3-os @atom:c3 @atom:p3 @atom:os
+ @angle:c3-p3-p3 @atom:c3 @atom:p3 @atom:p3
+ @angle:c3-p3-p5 @atom:c3 @atom:p3 @atom:p5
+ @angle:c3-p3-s4 @atom:c3 @atom:p3 @atom:s4
+ @angle:c3-p3-s6 @atom:c3 @atom:p3 @atom:s6
+ @angle:c3-p3-sh @atom:c3 @atom:p3 @atom:sh
+ @angle:c3-p3-ss @atom:c3 @atom:p3 @atom:ss
+ @angle:ca-p3-ca @atom:ca @atom:p3 @atom:ca
+ @angle:ca-p3-hp @atom:ca @atom:p3 @atom:hp
+ @angle:c-p3-c3 @atom:c @atom:p3 @atom:c3
+ @angle:c-p3-c @atom:c @atom:p3 @atom:c
+ @angle:c-p3-hp @atom:c @atom:p3 @atom:hp
+ @angle:cl-p3-cl @atom:cl @atom:p3 @atom:cl
+ @angle:cl-p3-f @atom:cl @atom:p3 @atom:f
+ @angle:cl-p3-hp @atom:cl @atom:p3 @atom:hp
+ @angle:c-p3-os @atom:c @atom:p3 @atom:os
+ @angle:cx-p3-hp @atom:cx @atom:p3 @atom:hp
+ @angle:f-p3-f @atom:f @atom:p3 @atom:f
+ @angle:f-p3-hp @atom:f @atom:p3 @atom:hp
+ @angle:f-p3-n3 @atom:f @atom:p3 @atom:n3
+ @angle:f-p3-os @atom:f @atom:p3 @atom:os
+ @angle:f-p3-p3 @atom:f @atom:p3 @atom:p3
+ @angle:hp-p3-hp @atom:hp @atom:p3 @atom:hp
+ @angle:hp-p3-i @atom:hp @atom:p3 @atom:i
+ @angle:hp-p3-n1 @atom:hp @atom:p3 @atom:n1
+ @angle:hp-p3-n2 @atom:hp @atom:p3 @atom:n2
+ @angle:hp-p3-n3 @atom:hp @atom:p3 @atom:n3
+ @angle:hp-p3-n4 @atom:hp @atom:p3 @atom:n4
+ @angle:hp-p3-n @atom:hp @atom:p3 @atom:n
+ @angle:hp-p3-na @atom:hp @atom:p3 @atom:na
+ @angle:hp-p3-nh @atom:hp @atom:p3 @atom:nh
+ @angle:hp-p3-no @atom:hp @atom:p3 @atom:no
+ @angle:hp-p3-o @atom:hp @atom:p3 @atom:o
+ @angle:hp-p3-oh @atom:hp @atom:p3 @atom:oh
+ @angle:hp-p3-os @atom:hp @atom:p3 @atom:os
+ @angle:hp-p3-p2 @atom:hp @atom:p3 @atom:p2
+ @angle:hp-p3-p3 @atom:hp @atom:p3 @atom:p3
+ @angle:hp-p3-p4 @atom:hp @atom:p3 @atom:p4
+ @angle:hp-p3-p5 @atom:hp @atom:p3 @atom:p5
+ @angle:hp-p3-s4 @atom:hp @atom:p3 @atom:s4
+ @angle:hp-p3-s6 @atom:hp @atom:p3 @atom:s6
+ @angle:hp-p3-sh @atom:hp @atom:p3 @atom:sh
+ @angle:hp-p3-ss @atom:hp @atom:p3 @atom:ss
+ @angle:i-p3-i @atom:i @atom:p3 @atom:i
+ @angle:n1-p3-n1 @atom:n1 @atom:p3 @atom:n1
+ @angle:n2-p3-n2 @atom:n2 @atom:p3 @atom:n2
+ @angle:n3-p3-n3 @atom:n3 @atom:p3 @atom:n3
+ @angle:n3-p3-o @atom:n3 @atom:p3 @atom:o
+ @angle:n3-p3-oh @atom:n3 @atom:p3 @atom:oh
+ @angle:n4-p3-n4 @atom:n4 @atom:p3 @atom:n4
+ @angle:na-p3-na @atom:na @atom:p3 @atom:na
+ @angle:nh-p3-nh @atom:nh @atom:p3 @atom:nh
+ @angle:n-p3-n @atom:n @atom:p3 @atom:n
+ @angle:n-p3-o @atom:n @atom:p3 @atom:o
+ @angle:no-p3-no @atom:no @atom:p3 @atom:no
+ @angle:oh-p3-oh @atom:oh @atom:p3 @atom:oh
+ @angle:o-p3-o @atom:o @atom:p3 @atom:o
+ @angle:o-p3-p3 @atom:o @atom:p3 @atom:p3
+ @angle:o-p3-p5 @atom:o @atom:p3 @atom:p5
+ @angle:o-p3-s4 @atom:o @atom:p3 @atom:s4
+ @angle:o-p3-s6 @atom:o @atom:p3 @atom:s6
+ @angle:os-p3-os @atom:os @atom:p3 @atom:os
+ @angle:p2-p3-p2 @atom:p2 @atom:p3 @atom:p2
+ @angle:p3-p3-p3 @atom:p3 @atom:p3 @atom:p3
+ @angle:p4-p3-p4 @atom:p4 @atom:p3 @atom:p4
+ @angle:p5-p3-p5 @atom:p5 @atom:p3 @atom:p5
+ @angle:s4-p3-s4 @atom:s4 @atom:p3 @atom:s4
+ @angle:s6-p3-s6 @atom:s6 @atom:p3 @atom:s6
+ @angle:sh-p3-sh @atom:sh @atom:p3 @atom:sh
+ @angle:s-p3-s @atom:s @atom:p3 @atom:s
+ @angle:ss-p3-ss @atom:ss @atom:p3 @atom:ss
+ @angle:br-p4-br @atom:br @atom:p4 @atom:br
+ @angle:br-p4-o @atom:br @atom:p4 @atom:o
+ @angle:c2-p4-c2 @atom:c2 @atom:p4 @atom:c2
+ @angle:c2-p4-hp @atom:c2 @atom:p4 @atom:hp
+ @angle:c2-p4-o @atom:c2 @atom:p4 @atom:o
+ @angle:c3-p4-c3 @atom:c3 @atom:p4 @atom:c3
+ @angle:c3-p4-n2 @atom:c3 @atom:p4 @atom:n2
+ @angle:c3-p4-n3 @atom:c3 @atom:p4 @atom:n3
+ @angle:c3-p4-n4 @atom:c3 @atom:p4 @atom:n4
+ @angle:c3-p4-n @atom:c3 @atom:p4 @atom:n
+ @angle:c3-p4-na @atom:c3 @atom:p4 @atom:na
+ @angle:c3-p4-nh @atom:c3 @atom:p4 @atom:nh
+ @angle:c3-p4-no @atom:c3 @atom:p4 @atom:no
+ @angle:c3-p4-o @atom:c3 @atom:p4 @atom:o
+ @angle:c3-p4-oh @atom:c3 @atom:p4 @atom:oh
+ @angle:c3-p4-os @atom:c3 @atom:p4 @atom:os
+ @angle:c3-p4-p2 @atom:c3 @atom:p4 @atom:p2
+ @angle:c3-p4-p3 @atom:c3 @atom:p4 @atom:p3
+ @angle:c3-p4-p4 @atom:c3 @atom:p4 @atom:p4
+ @angle:c3-p4-p5 @atom:c3 @atom:p4 @atom:p5
+ @angle:c3-p4-sh @atom:c3 @atom:p4 @atom:sh
+ @angle:c3-p4-ss @atom:c3 @atom:p4 @atom:ss
+ @angle:ca-p4-ca @atom:ca @atom:p4 @atom:ca
+ @angle:ca-p4-o @atom:ca @atom:p4 @atom:o
+ @angle:cl-p4-cl @atom:cl @atom:p4 @atom:cl
+ @angle:cl-p4-o @atom:cl @atom:p4 @atom:o
+ @angle:hp-p4-hp @atom:hp @atom:p4 @atom:hp
+ @angle:hp-p4-n1 @atom:hp @atom:p4 @atom:n1
+ @angle:hp-p4-o @atom:hp @atom:p4 @atom:o
+ @angle:hp-p4-p3 @atom:hp @atom:p4 @atom:p3
+ @angle:hp-p4-s @atom:hp @atom:p4 @atom:s
+ @angle:i-p4-i @atom:i @atom:p4 @atom:i
+ @angle:i-p4-o @atom:i @atom:p4 @atom:o
+ @angle:n1-p4-n1 @atom:n1 @atom:p4 @atom:n1
+ @angle:n1-p4-o @atom:n1 @atom:p4 @atom:o
+ @angle:n2-p4-n2 @atom:n2 @atom:p4 @atom:n2
+ @angle:n2-p4-o @atom:n2 @atom:p4 @atom:o
+ @angle:n3-p4-o @atom:n3 @atom:p4 @atom:o
+ @angle:n4-p4-o @atom:n4 @atom:p4 @atom:o
+ @angle:na-p4-o @atom:na @atom:p4 @atom:o
+ @angle:nh-p4-nh @atom:nh @atom:p4 @atom:nh
+ @angle:nh-p4-o @atom:nh @atom:p4 @atom:o
+ @angle:n-p4-o @atom:n @atom:p4 @atom:o
+ @angle:no-p4-o @atom:no @atom:p4 @atom:o
+ @angle:oh-p4-oh @atom:oh @atom:p4 @atom:oh
+ @angle:o-p4-o @atom:o @atom:p4 @atom:o
+ @angle:o-p4-oh @atom:o @atom:p4 @atom:oh
+ @angle:o-p4-os @atom:o @atom:p4 @atom:os
+ @angle:o-p4-p2 @atom:o @atom:p4 @atom:p2
+ @angle:o-p4-p3 @atom:o @atom:p4 @atom:p3
+ @angle:o-p4-p4 @atom:o @atom:p4 @atom:p4
+ @angle:o-p4-p5 @atom:o @atom:p4 @atom:p5
+ @angle:o-p4-s4 @atom:o @atom:p4 @atom:s4
+ @angle:o-p4-s6 @atom:o @atom:p4 @atom:s6
+ @angle:o-p4-s @atom:o @atom:p4 @atom:s
+ @angle:o-p4-sh @atom:o @atom:p4 @atom:sh
+ @angle:os-p4-os @atom:os @atom:p4 @atom:os
+ @angle:o-p4-ss @atom:o @atom:p4 @atom:ss
+ @angle:p2-p4-p2 @atom:p2 @atom:p4 @atom:p2
+ @angle:p3-p4-p3 @atom:p3 @atom:p4 @atom:p3
+ @angle:p4-p4-p4 @atom:p4 @atom:p4 @atom:p4
+ @angle:p5-p4-p5 @atom:p5 @atom:p4 @atom:p5
+ @angle:s4-p4-s4 @atom:s4 @atom:p4 @atom:s4
+ @angle:s6-p4-s6 @atom:s6 @atom:p4 @atom:s6
+ @angle:sh-p4-sh @atom:sh @atom:p4 @atom:sh
+ @angle:s-p4-s @atom:s @atom:p4 @atom:s
+ @angle:ss-p4-ss @atom:ss @atom:p4 @atom:ss
+ @angle:br-p5-br @atom:br @atom:p5 @atom:br
+ @angle:br-p5-o @atom:br @atom:p5 @atom:o
+ @angle:br-p5-oh @atom:br @atom:p5 @atom:oh
+ @angle:c1-p5-c1 @atom:c1 @atom:p5 @atom:c1
+ @angle:c1-p5-o @atom:c1 @atom:p5 @atom:o
+ @angle:c1-p5-oh @atom:c1 @atom:p5 @atom:oh
+ @angle:c2-p5-c2 @atom:c2 @atom:p5 @atom:c2
+ @angle:c2-p5-o @atom:c2 @atom:p5 @atom:o
+ @angle:c2-p5-oh @atom:c2 @atom:p5 @atom:oh
+ @angle:c2-p5-os @atom:c2 @atom:p5 @atom:os
+ @angle:c3-p5-c3 @atom:c3 @atom:p5 @atom:c3
+ @angle:c3-p5-hp @atom:c3 @atom:p5 @atom:hp
+ @angle:c3-p5-n3 @atom:c3 @atom:p5 @atom:n3
+ @angle:c3-p5-o @atom:c3 @atom:p5 @atom:o
+ @angle:c3-p5-oh @atom:c3 @atom:p5 @atom:oh
+ @angle:c3-p5-os @atom:c3 @atom:p5 @atom:os
+ @angle:c3-p5-p4 @atom:c3 @atom:p5 @atom:p4
+ @angle:c3-p5-s @atom:c3 @atom:p5 @atom:s
+ @angle:c3-p5-ss @atom:c3 @atom:p5 @atom:ss
+ @angle:ca-p5-ca @atom:ca @atom:p5 @atom:ca
+ @angle:ca-p5-o @atom:ca @atom:p5 @atom:o
+ @angle:ca-p5-oh @atom:ca @atom:p5 @atom:oh
+ @angle:ca-p5-os @atom:ca @atom:p5 @atom:os
+ @angle:c-p5-c @atom:c @atom:p5 @atom:c
+ @angle:cl-p5-cl @atom:cl @atom:p5 @atom:cl
+ @angle:cl-p5-o @atom:cl @atom:p5 @atom:o
+ @angle:cl-p5-oh @atom:cl @atom:p5 @atom:oh
+ @angle:c-p5-o @atom:c @atom:p5 @atom:o
+ @angle:c-p5-oh @atom:c @atom:p5 @atom:oh
+ @angle:f-p5-f @atom:f @atom:p5 @atom:f
+ @angle:f-p5-o @atom:f @atom:p5 @atom:o
+ @angle:f-p5-oh @atom:f @atom:p5 @atom:oh
+ @angle:f-p5-os @atom:f @atom:p5 @atom:os
+ @angle:f-p5-s @atom:f @atom:p5 @atom:s
+ @angle:hp-p5-hp @atom:hp @atom:p5 @atom:hp
+ @angle:hp-p5-n1 @atom:hp @atom:p5 @atom:n1
+ @angle:hp-p5-o @atom:hp @atom:p5 @atom:o
+ @angle:hp-p5-oh @atom:hp @atom:p5 @atom:oh
+ @angle:hp-p5-s @atom:hp @atom:p5 @atom:s
+ @angle:i-p5-i @atom:i @atom:p5 @atom:i
+ @angle:i-p5-o @atom:i @atom:p5 @atom:o
+ @angle:i-p5-oh @atom:i @atom:p5 @atom:oh
+ @angle:n1-p5-n1 @atom:n1 @atom:p5 @atom:n1
+ @angle:n1-p5-o @atom:n1 @atom:p5 @atom:o
+ @angle:n2-p5-n2 @atom:n2 @atom:p5 @atom:n2
+ @angle:n2-p5-o @atom:n2 @atom:p5 @atom:o
+ @angle:n2-p5-oh @atom:n2 @atom:p5 @atom:oh
+ @angle:n3-p5-n3 @atom:n3 @atom:p5 @atom:n3
+ @angle:n3-p5-nh @atom:n3 @atom:p5 @atom:nh
+ @angle:n3-p5-o @atom:n3 @atom:p5 @atom:o
+ @angle:n3-p5-oh @atom:n3 @atom:p5 @atom:oh
+ @angle:n3-p5-os @atom:n3 @atom:p5 @atom:os
+ @angle:n3-p5-s @atom:n3 @atom:p5 @atom:s
+ @angle:n4-p5-n4 @atom:n4 @atom:p5 @atom:n4
+ @angle:n4-p5-o @atom:n4 @atom:p5 @atom:o
+ @angle:n4-p5-oh @atom:n4 @atom:p5 @atom:oh
+ @angle:n4-p5-os @atom:n4 @atom:p5 @atom:os
+ @angle:na-p5-na @atom:na @atom:p5 @atom:na
+ @angle:na-p5-o @atom:na @atom:p5 @atom:o
+ @angle:na-p5-oh @atom:na @atom:p5 @atom:oh
+ @angle:na-p5-os @atom:na @atom:p5 @atom:os
+ @angle:nh-p5-nh @atom:nh @atom:p5 @atom:nh
+ @angle:nh-p5-o @atom:nh @atom:p5 @atom:o
+ @angle:nh-p5-oh @atom:nh @atom:p5 @atom:oh
+ @angle:nh-p5-os @atom:nh @atom:p5 @atom:os
+ @angle:n-p5-n3 @atom:n @atom:p5 @atom:n3
+ @angle:n-p5-n @atom:n @atom:p5 @atom:n
+ @angle:n-p5-o @atom:n @atom:p5 @atom:o
+ @angle:n-p5-oh @atom:n @atom:p5 @atom:oh
+ @angle:no-p5-no @atom:no @atom:p5 @atom:no
+ @angle:no-p5-o @atom:no @atom:p5 @atom:o
+ @angle:no-p5-oh @atom:no @atom:p5 @atom:oh
+ @angle:no-p5-os @atom:no @atom:p5 @atom:os
+ @angle:n-p5-os @atom:n @atom:p5 @atom:os
+ @angle:oh-p5-oh @atom:oh @atom:p5 @atom:oh
+ @angle:oh-p5-os @atom:oh @atom:p5 @atom:os
+ @angle:oh-p5-p2 @atom:oh @atom:p5 @atom:p2
+ @angle:oh-p5-p3 @atom:oh @atom:p5 @atom:p3
+ @angle:oh-p5-p4 @atom:oh @atom:p5 @atom:p4
+ @angle:oh-p5-p5 @atom:oh @atom:p5 @atom:p5
+ @angle:oh-p5-s4 @atom:oh @atom:p5 @atom:s4
+ @angle:oh-p5-s6 @atom:oh @atom:p5 @atom:s6
+ @angle:oh-p5-s @atom:oh @atom:p5 @atom:s
+ @angle:oh-p5-sh @atom:oh @atom:p5 @atom:sh
+ @angle:oh-p5-ss @atom:oh @atom:p5 @atom:ss
+ @angle:o-p5-o @atom:o @atom:p5 @atom:o
+ @angle:o-p5-oh @atom:o @atom:p5 @atom:oh
+ @angle:o-p5-os @atom:o @atom:p5 @atom:os
+ @angle:o-p5-p2 @atom:o @atom:p5 @atom:p2
+ @angle:o-p5-p3 @atom:o @atom:p5 @atom:p3
+ @angle:o-p5-p4 @atom:o @atom:p5 @atom:p4
+ @angle:o-p5-p5 @atom:o @atom:p5 @atom:p5
+ @angle:o-p5-s4 @atom:o @atom:p5 @atom:s4
+ @angle:o-p5-s6 @atom:o @atom:p5 @atom:s6
+ @angle:o-p5-s @atom:o @atom:p5 @atom:s
+ @angle:o-p5-sh @atom:o @atom:p5 @atom:sh
+ @angle:os-p5-os @atom:os @atom:p5 @atom:os
+ @angle:os-p5-p3 @atom:os @atom:p5 @atom:p3
+ @angle:os-p5-p5 @atom:os @atom:p5 @atom:p5
+ @angle:os-p5-s4 @atom:os @atom:p5 @atom:s4
+ @angle:os-p5-s6 @atom:os @atom:p5 @atom:s6
+ @angle:o-p5-ss @atom:o @atom:p5 @atom:ss
+ @angle:os-p5-s @atom:os @atom:p5 @atom:s
+ @angle:os-p5-sh @atom:os @atom:p5 @atom:sh
+ @angle:os-p5-ss @atom:os @atom:p5 @atom:ss
+ @angle:p2-p5-p2 @atom:p2 @atom:p5 @atom:p2
+ @angle:p3-p5-p3 @atom:p3 @atom:p5 @atom:p3
+ @angle:p4-p5-p4 @atom:p4 @atom:p5 @atom:p4
+ @angle:p5-p5-p5 @atom:p5 @atom:p5 @atom:p5
+ @angle:s6-p5-s6 @atom:s6 @atom:p5 @atom:s6
+ @angle:sh-p5-sh @atom:sh @atom:p5 @atom:sh
+ @angle:sh-p5-ss @atom:sh @atom:p5 @atom:ss
+ @angle:s-p5-s @atom:s @atom:p5 @atom:s
+ @angle:ss-p5-ss @atom:ss @atom:p5 @atom:ss
+ @angle:cd-pc-n @atom:cd @atom:pc @atom:n
+ @angle:cd-pc-na @atom:cd @atom:pc @atom:na
+ @angle:cc-pd-n @atom:cc @atom:pd @atom:n
+ @angle:cc-pd-na @atom:cc @atom:pd @atom:na
+ @angle:c2-pe-ca @atom:c2 @atom:pe @atom:ca
+ @angle:c2-pe-ce @atom:c2 @atom:pe @atom:ce
+ @angle:c2-pe-cg @atom:c2 @atom:pe @atom:cg
+ @angle:c2-pe-n2 @atom:c2 @atom:pe @atom:n2
+ @angle:c2-pe-ne @atom:c2 @atom:pe @atom:ne
+ @angle:c2-pe-o @atom:c2 @atom:pe @atom:o
+ @angle:c2-pe-p2 @atom:c2 @atom:pe @atom:p2
+ @angle:c2-pe-pe @atom:c2 @atom:pe @atom:pe
+ @angle:c2-pe-px @atom:c2 @atom:pe @atom:px
+ @angle:c2-pe-py @atom:c2 @atom:pe @atom:py
+ @angle:c2-pe-s @atom:c2 @atom:pe @atom:s
+ @angle:c2-pe-sx @atom:c2 @atom:pe @atom:sx
+ @angle:c2-pe-sy @atom:c2 @atom:pe @atom:sy
+ @angle:ca-pe-n2 @atom:ca @atom:pe @atom:n2
+ @angle:ca-pe-o @atom:ca @atom:pe @atom:o
+ @angle:ca-pe-p2 @atom:ca @atom:pe @atom:p2
+ @angle:ca-pe-pf @atom:ca @atom:pe @atom:pf
+ @angle:ca-pe-s @atom:ca @atom:pe @atom:s
+ @angle:c-pe-c2 @atom:c @atom:pe @atom:c2
+ @angle:ce-pe-n2 @atom:ce @atom:pe @atom:n2
+ @angle:ce-pe-o @atom:ce @atom:pe @atom:o
+ @angle:ce-pe-p2 @atom:ce @atom:pe @atom:p2
+ @angle:ce-pe-s @atom:ce @atom:pe @atom:s
+ @angle:cg-pe-n2 @atom:cg @atom:pe @atom:n2
+ @angle:cg-pe-o @atom:cg @atom:pe @atom:o
+ @angle:cg-pe-p2 @atom:cg @atom:pe @atom:p2
+ @angle:cg-pe-s @atom:cg @atom:pe @atom:s
+ @angle:n2-pe-n2 @atom:n2 @atom:pe @atom:n2
+ @angle:n2-pe-ne @atom:n2 @atom:pe @atom:ne
+ @angle:n2-pe-o @atom:n2 @atom:pe @atom:o
+ @angle:n2-pe-p2 @atom:n2 @atom:pe @atom:p2
+ @angle:n2-pe-pe @atom:n2 @atom:pe @atom:pe
+ @angle:n2-pe-px @atom:n2 @atom:pe @atom:px
+ @angle:n2-pe-py @atom:n2 @atom:pe @atom:py
+ @angle:n2-pe-s @atom:n2 @atom:pe @atom:s
+ @angle:n2-pe-sx @atom:n2 @atom:pe @atom:sx
+ @angle:n2-pe-sy @atom:n2 @atom:pe @atom:sy
+ @angle:ne-pe-o @atom:ne @atom:pe @atom:o
+ @angle:ne-pe-p2 @atom:ne @atom:pe @atom:p2
+ @angle:ne-pe-s @atom:ne @atom:pe @atom:s
+ @angle:o-pe-o @atom:o @atom:pe @atom:o
+ @angle:o-pe-p2 @atom:o @atom:pe @atom:p2
+ @angle:o-pe-pe @atom:o @atom:pe @atom:pe
+ @angle:o-pe-px @atom:o @atom:pe @atom:px
+ @angle:o-pe-py @atom:o @atom:pe @atom:py
+ @angle:o-pe-s @atom:o @atom:pe @atom:s
+ @angle:o-pe-sx @atom:o @atom:pe @atom:sx
+ @angle:o-pe-sy @atom:o @atom:pe @atom:sy
+ @angle:p2-pe-pe @atom:p2 @atom:pe @atom:pe
+ @angle:p2-pe-px @atom:p2 @atom:pe @atom:px
+ @angle:p2-pe-py @atom:p2 @atom:pe @atom:py
+ @angle:p2-pe-s @atom:p2 @atom:pe @atom:s
+ @angle:p2-pe-sx @atom:p2 @atom:pe @atom:sx
+ @angle:p2-pe-sy @atom:p2 @atom:pe @atom:sy
+ @angle:pe-pe-s @atom:pe @atom:pe @atom:s
+ @angle:px-pe-s @atom:px @atom:pe @atom:s
+ @angle:py-pe-s @atom:py @atom:pe @atom:s
+ @angle:s-pe-s @atom:s @atom:pe @atom:s
+ @angle:s-pe-sx @atom:s @atom:pe @atom:sx
+ @angle:s-pe-sy @atom:s @atom:pe @atom:sy
+ @angle:c2-pf-ca @atom:c2 @atom:pf @atom:ca
+ @angle:c2-pf-cf @atom:c2 @atom:pf @atom:cf
+ @angle:c2-pf-ch @atom:c2 @atom:pf @atom:ch
+ @angle:c2-pf-n2 @atom:c2 @atom:pf @atom:n2
+ @angle:c2-pf-nf @atom:c2 @atom:pf @atom:nf
+ @angle:c2-pf-o @atom:c2 @atom:pf @atom:o
+ @angle:c2-pf-p2 @atom:c2 @atom:pf @atom:p2
+ @angle:c2-pf-pf @atom:c2 @atom:pf @atom:pf
+ @angle:c2-pf-px @atom:c2 @atom:pf @atom:px
+ @angle:c2-pf-py @atom:c2 @atom:pf @atom:py
+ @angle:c2-pf-s @atom:c2 @atom:pf @atom:s
+ @angle:c2-pf-sx @atom:c2 @atom:pf @atom:sx
+ @angle:c2-pf-sy @atom:c2 @atom:pf @atom:sy
+ @angle:ca-pf-n2 @atom:ca @atom:pf @atom:n2
+ @angle:ca-pf-o @atom:ca @atom:pf @atom:o
+ @angle:ca-pf-p2 @atom:ca @atom:pf @atom:p2
+ @angle:ca-pf-pe @atom:ca @atom:pf @atom:pe
+ @angle:ca-pf-s @atom:ca @atom:pf @atom:s
+ @angle:c-pf-c2 @atom:c @atom:pf @atom:c2
+ @angle:cf-pf-n2 @atom:cf @atom:pf @atom:n2
+ @angle:cf-pf-o @atom:cf @atom:pf @atom:o
+ @angle:cf-pf-p2 @atom:cf @atom:pf @atom:p2
+ @angle:cf-pf-s @atom:cf @atom:pf @atom:s
+ @angle:ch-pf-n2 @atom:ch @atom:pf @atom:n2
+ @angle:ch-pf-o @atom:ch @atom:pf @atom:o
+ @angle:ch-pf-p2 @atom:ch @atom:pf @atom:p2
+ @angle:ch-pf-s @atom:ch @atom:pf @atom:s
+ @angle:n2-pf-n2 @atom:n2 @atom:pf @atom:n2
+ @angle:n2-pf-nf @atom:n2 @atom:pf @atom:nf
+ @angle:n2-pf-o @atom:n2 @atom:pf @atom:o
+ @angle:n2-pf-p2 @atom:n2 @atom:pf @atom:p2
+ @angle:n2-pf-pf @atom:n2 @atom:pf @atom:pf
+ @angle:n2-pf-px @atom:n2 @atom:pf @atom:px
+ @angle:n2-pf-py @atom:n2 @atom:pf @atom:py
+ @angle:n2-pf-s @atom:n2 @atom:pf @atom:s
+ @angle:n2-pf-sx @atom:n2 @atom:pf @atom:sx
+ @angle:n2-pf-sy @atom:n2 @atom:pf @atom:sy
+ @angle:nf-pf-o @atom:nf @atom:pf @atom:o
+ @angle:nf-pf-p2 @atom:nf @atom:pf @atom:p2
+ @angle:nf-pf-s @atom:nf @atom:pf @atom:s
+ @angle:o-pf-o @atom:o @atom:pf @atom:o
+ @angle:o-pf-p2 @atom:o @atom:pf @atom:p2
+ @angle:o-pf-pf @atom:o @atom:pf @atom:pf
+ @angle:o-pf-px @atom:o @atom:pf @atom:px
+ @angle:o-pf-py @atom:o @atom:pf @atom:py
+ @angle:o-pf-s @atom:o @atom:pf @atom:s
+ @angle:o-pf-sx @atom:o @atom:pf @atom:sx
+ @angle:o-pf-sy @atom:o @atom:pf @atom:sy
+ @angle:p2-pf-pf @atom:p2 @atom:pf @atom:pf
+ @angle:p2-pf-px @atom:p2 @atom:pf @atom:px
+ @angle:p2-pf-py @atom:p2 @atom:pf @atom:py
+ @angle:p2-pf-s @atom:p2 @atom:pf @atom:s
+ @angle:p2-pf-sx @atom:p2 @atom:pf @atom:sx
+ @angle:p2-pf-sy @atom:p2 @atom:pf @atom:sy
+ @angle:pf-pf-s @atom:pf @atom:pf @atom:s
+ @angle:px-pf-s @atom:px @atom:pf @atom:s
+ @angle:py-pf-s @atom:py @atom:pf @atom:s
+ @angle:s-pf-s @atom:s @atom:pf @atom:s
+ @angle:s-pf-sx @atom:s @atom:pf @atom:sx
+ @angle:s-pf-sy @atom:s @atom:pf @atom:sy
+ @angle:c3-px-ca @atom:c3 @atom:px @atom:ca
+ @angle:c3-px-ce @atom:c3 @atom:px @atom:ce
+ @angle:c3-px-cf @atom:c3 @atom:px @atom:cf
+ @angle:c3-px-ne @atom:c3 @atom:px @atom:ne
+ @angle:c3-px-nf @atom:c3 @atom:px @atom:nf
+ @angle:c3-px-o @atom:c3 @atom:px @atom:o
+ @angle:c3-px-pe @atom:c3 @atom:px @atom:pe
+ @angle:c3-px-pf @atom:c3 @atom:px @atom:pf
+ @angle:c3-px-py @atom:c3 @atom:px @atom:py
+ @angle:c3-px-sx @atom:c3 @atom:px @atom:sx
+ @angle:c3-px-sy @atom:c3 @atom:px @atom:sy
+ @angle:ca-px-ca @atom:ca @atom:px @atom:ca
+ @angle:ca-px-o @atom:ca @atom:px @atom:o
+ @angle:c-px-c3 @atom:c @atom:px @atom:c3
+ @angle:ce-px-ce @atom:ce @atom:px @atom:ce
+ @angle:ce-px-o @atom:ce @atom:px @atom:o
+ @angle:cf-px-cf @atom:cf @atom:px @atom:cf
+ @angle:cf-px-o @atom:cf @atom:px @atom:o
+ @angle:c-px-o @atom:c @atom:px @atom:o
+ @angle:ne-px-ne @atom:ne @atom:px @atom:ne
+ @angle:ne-px-o @atom:ne @atom:px @atom:o
+ @angle:nf-px-nf @atom:nf @atom:px @atom:nf
+ @angle:nf-px-o @atom:nf @atom:px @atom:o
+ @angle:o-px-pe @atom:o @atom:px @atom:pe
+ @angle:o-px-pf @atom:o @atom:px @atom:pf
+ @angle:o-px-py @atom:o @atom:px @atom:py
+ @angle:o-px-sx @atom:o @atom:px @atom:sx
+ @angle:o-px-sy @atom:o @atom:px @atom:sy
+ @angle:pe-px-pe @atom:pe @atom:px @atom:pe
+ @angle:pf-px-pf @atom:pf @atom:px @atom:pf
+ @angle:py-px-py @atom:py @atom:px @atom:py
+ @angle:sx-px-sx @atom:sx @atom:px @atom:sx
+ @angle:sy-px-sy @atom:sy @atom:px @atom:sy
+ @angle:c3-py-n4 @atom:c3 @atom:py @atom:n4
+ @angle:c3-py-na @atom:c3 @atom:py @atom:na
+ @angle:c3-py-o @atom:c3 @atom:py @atom:o
+ @angle:c3-py-oh @atom:c3 @atom:py @atom:oh
+ @angle:c3-py-os @atom:c3 @atom:py @atom:os
+ @angle:c3-py-px @atom:c3 @atom:py @atom:px
+ @angle:c3-py-py @atom:c3 @atom:py @atom:py
+ @angle:c3-py-sx @atom:c3 @atom:py @atom:sx
+ @angle:ca-py-ca @atom:ca @atom:py @atom:ca
+ @angle:ca-py-o @atom:ca @atom:py @atom:o
+ @angle:ca-py-oh @atom:ca @atom:py @atom:oh
+ @angle:ca-py-os @atom:ca @atom:py @atom:os
+ @angle:c-py-c3 @atom:c @atom:py @atom:c3
+ @angle:c-py-c @atom:c @atom:py @atom:c
+ @angle:ce-py-ce @atom:ce @atom:py @atom:ce
+ @angle:ce-py-o @atom:ce @atom:py @atom:o
+ @angle:ce-py-oh @atom:ce @atom:py @atom:oh
+ @angle:ce-py-os @atom:ce @atom:py @atom:os
+ @angle:cf-py-cf @atom:cf @atom:py @atom:cf
+ @angle:cf-py-o @atom:cf @atom:py @atom:o
+ @angle:cf-py-oh @atom:cf @atom:py @atom:oh
+ @angle:cf-py-os @atom:cf @atom:py @atom:os
+ @angle:c-py-o @atom:c @atom:py @atom:o
+ @angle:c-py-oh @atom:c @atom:py @atom:oh
+ @angle:c-py-os @atom:c @atom:py @atom:os
+ @angle:n3-py-ne @atom:n3 @atom:py @atom:ne
+ @angle:n4-py-o @atom:n4 @atom:py @atom:o
+ @angle:n4-py-py @atom:n4 @atom:py @atom:py
+ @angle:na-py-o @atom:na @atom:py @atom:o
+ @angle:na-py-py @atom:na @atom:py @atom:py
+ @angle:ne-py-ne @atom:ne @atom:py @atom:ne
+ @angle:ne-py-o @atom:ne @atom:py @atom:o
+ @angle:ne-py-oh @atom:ne @atom:py @atom:oh
+ @angle:ne-py-os @atom:ne @atom:py @atom:os
+ @angle:nf-py-nf @atom:nf @atom:py @atom:nf
+ @angle:nf-py-o @atom:nf @atom:py @atom:o
+ @angle:nf-py-oh @atom:nf @atom:py @atom:oh
+ @angle:nf-py-os @atom:nf @atom:py @atom:os
+ @angle:oh-py-oh @atom:oh @atom:py @atom:oh
+ @angle:oh-py-pe @atom:oh @atom:py @atom:pe
+ @angle:oh-py-pf @atom:oh @atom:py @atom:pf
+ @angle:oh-py-px @atom:oh @atom:py @atom:px
+ @angle:oh-py-py @atom:oh @atom:py @atom:py
+ @angle:oh-py-sx @atom:oh @atom:py @atom:sx
+ @angle:oh-py-sy @atom:oh @atom:py @atom:sy
+ @angle:o-py-oh @atom:o @atom:py @atom:oh
+ @angle:o-py-os @atom:o @atom:py @atom:os
+ @angle:o-py-pe @atom:o @atom:py @atom:pe
+ @angle:o-py-pf @atom:o @atom:py @atom:pf
+ @angle:o-py-px @atom:o @atom:py @atom:px
+ @angle:o-py-py @atom:o @atom:py @atom:py
+ @angle:os-py-os @atom:os @atom:py @atom:os
+ @angle:os-py-py @atom:os @atom:py @atom:py
+ @angle:os-py-sx @atom:os @atom:py @atom:sx
+ @angle:os-py-sy @atom:os @atom:py @atom:sy
+ @angle:o-py-sx @atom:o @atom:py @atom:sx
+ @angle:o-py-sy @atom:o @atom:py @atom:sy
+ @angle:pe-py-pe @atom:pe @atom:py @atom:pe
+ @angle:pf-py-pf @atom:pf @atom:py @atom:pf
+ @angle:py-py-py @atom:py @atom:py @atom:py
+ @angle:py-py-sx @atom:py @atom:py @atom:sx
+ @angle:sy-py-sy @atom:sy @atom:py @atom:sy
+ @angle:c1-s2-o @atom:c1 @atom:s2 @atom:o
+ @angle:c2-s2-n2 @atom:c2 @atom:s2 @atom:n2
+ @angle:c2-s2-o @atom:c2 @atom:s2 @atom:o
+ @angle:cl-s2-n1 @atom:cl @atom:s2 @atom:n1
+ @angle:f-s2-n1 @atom:f @atom:s2 @atom:n1
+ @angle:n1-s2-o @atom:n1 @atom:s2 @atom:o
+ @angle:n2-s2-o @atom:n2 @atom:s2 @atom:o
+ @angle:o-s2-o @atom:o @atom:s2 @atom:o
+ @angle:o-s2-s @atom:o @atom:s2 @atom:s
+ @angle:s-s2-s @atom:s @atom:s2 @atom:s
+ @angle:br-s4-br @atom:br @atom:s4 @atom:br
+ @angle:br-s4-c3 @atom:br @atom:s4 @atom:c3
+ @angle:br-s4-o @atom:br @atom:s4 @atom:o
+ @angle:c1-s4-c1 @atom:c1 @atom:s4 @atom:c1
+ @angle:c1-s4-o @atom:c1 @atom:s4 @atom:o
+ @angle:c2-s4-c2 @atom:c2 @atom:s4 @atom:c2
+ @angle:c2-s4-c3 @atom:c2 @atom:s4 @atom:c3
+ @angle:c2-s4-o @atom:c2 @atom:s4 @atom:o
+ @angle:c3-s4-c3 @atom:c3 @atom:s4 @atom:c3
+ @angle:c3-s4-ca @atom:c3 @atom:s4 @atom:ca
+ @angle:c3-s4-f @atom:c3 @atom:s4 @atom:f
+ @angle:c3-s4-hs @atom:c3 @atom:s4 @atom:hs
+ @angle:c3-s4-i @atom:c3 @atom:s4 @atom:i
+ @angle:c3-s4-n2 @atom:c3 @atom:s4 @atom:n2
+ @angle:c3-s4-n3 @atom:c3 @atom:s4 @atom:n3
+ @angle:c3-s4-n @atom:c3 @atom:s4 @atom:n
+ @angle:c3-s4-n4 @atom:c3 @atom:s4 @atom:n4
+ @angle:c3-s4-na @atom:c3 @atom:s4 @atom:na
+ @angle:c3-s4-nh @atom:c3 @atom:s4 @atom:nh
+ @angle:c3-s4-no @atom:c3 @atom:s4 @atom:no
+ @angle:c3-s4-o @atom:c3 @atom:s4 @atom:o
+ @angle:c3-s4-oh @atom:c3 @atom:s4 @atom:oh
+ @angle:c3-s4-os @atom:c3 @atom:s4 @atom:os
+ @angle:c3-s4-p2 @atom:c3 @atom:s4 @atom:p2
+ @angle:c3-s4-p3 @atom:c3 @atom:s4 @atom:p3
+ @angle:c3-s4-p4 @atom:c3 @atom:s4 @atom:p4
+ @angle:c3-s4-p5 @atom:c3 @atom:s4 @atom:p5
+ @angle:c3-s4-s4 @atom:c3 @atom:s4 @atom:s4
+ @angle:c3-s4-s @atom:c3 @atom:s4 @atom:s
+ @angle:c3-s4-s6 @atom:c3 @atom:s4 @atom:s6
+ @angle:c3-s4-sh @atom:c3 @atom:s4 @atom:sh
+ @angle:c3-s4-ss @atom:c3 @atom:s4 @atom:ss
+ @angle:ca-s4-ca @atom:ca @atom:s4 @atom:ca
+ @angle:ca-s4-o @atom:ca @atom:s4 @atom:o
+ @angle:c-s4-c3 @atom:c @atom:s4 @atom:c3
+ @angle:c-s4-c @atom:c @atom:s4 @atom:c
+ @angle:cl-s4-cl @atom:cl @atom:s4 @atom:cl
+ @angle:cl-s4-o @atom:cl @atom:s4 @atom:o
+ @angle:c-s4-o @atom:c @atom:s4 @atom:o
+ @angle:cx-s4-cx @atom:cx @atom:s4 @atom:cx
+ @angle:cx-s4-o @atom:cx @atom:s4 @atom:o
+ @angle:f-s4-f @atom:f @atom:s4 @atom:f
+ @angle:f-s4-o @atom:f @atom:s4 @atom:o
+ @angle:f-s4-s @atom:f @atom:s4 @atom:s
+ @angle:hs-s4-hs @atom:hs @atom:s4 @atom:hs
+ @angle:hs-s4-n1 @atom:hs @atom:s4 @atom:n1
+ @angle:hs-s4-o @atom:hs @atom:s4 @atom:o
+ @angle:i-s4-i @atom:i @atom:s4 @atom:i
+ @angle:i-s4-o @atom:i @atom:s4 @atom:o
+ @angle:n1-s4-n1 @atom:n1 @atom:s4 @atom:n1
+ @angle:n1-s4-o @atom:n1 @atom:s4 @atom:o
+ @angle:n2-s4-n2 @atom:n2 @atom:s4 @atom:n2
+ @angle:n2-s4-o @atom:n2 @atom:s4 @atom:o
+ @angle:n3-s4-n3 @atom:n3 @atom:s4 @atom:n3
+ @angle:n3-s4-o @atom:n3 @atom:s4 @atom:o
+ @angle:n4-s4-n4 @atom:n4 @atom:s4 @atom:n4
+ @angle:n4-s4-o @atom:n4 @atom:s4 @atom:o
+ @angle:na-s4-na @atom:na @atom:s4 @atom:na
+ @angle:na-s4-o @atom:na @atom:s4 @atom:o
+ @angle:nh-s4-nh @atom:nh @atom:s4 @atom:nh
+ @angle:nh-s4-o @atom:nh @atom:s4 @atom:o
+ @angle:n-s4-n @atom:n @atom:s4 @atom:n
+ @angle:n-s4-o @atom:n @atom:s4 @atom:o
+ @angle:no-s4-no @atom:no @atom:s4 @atom:no
+ @angle:no-s4-o @atom:no @atom:s4 @atom:o
+ @angle:oh-s4-oh @atom:oh @atom:s4 @atom:oh
+ @angle:o-s4-o @atom:o @atom:s4 @atom:o
+ @angle:o-s4-oh @atom:o @atom:s4 @atom:oh
+ @angle:o-s4-os @atom:o @atom:s4 @atom:os
+ @angle:o-s4-p2 @atom:o @atom:s4 @atom:p2
+ @angle:o-s4-p3 @atom:o @atom:s4 @atom:p3
+ @angle:o-s4-p4 @atom:o @atom:s4 @atom:p4
+ @angle:o-s4-p5 @atom:o @atom:s4 @atom:p5
+ @angle:o-s4-s4 @atom:o @atom:s4 @atom:s4
+ @angle:o-s4-s @atom:o @atom:s4 @atom:s
+ @angle:o-s4-s6 @atom:o @atom:s4 @atom:s6
+ @angle:o-s4-sh @atom:o @atom:s4 @atom:sh
+ @angle:os-s4-os @atom:os @atom:s4 @atom:os
+ @angle:o-s4-ss @atom:o @atom:s4 @atom:ss
+ @angle:p2-s4-p2 @atom:p2 @atom:s4 @atom:p2
+ @angle:p3-s4-p3 @atom:p3 @atom:s4 @atom:p3
+ @angle:p5-s4-p5 @atom:p5 @atom:s4 @atom:p5
+ @angle:s4-s4-s4 @atom:s4 @atom:s4 @atom:s4
+ @angle:s4-s4-s6 @atom:s4 @atom:s4 @atom:s6
+ @angle:s6-s4-s6 @atom:s6 @atom:s4 @atom:s6
+ @angle:sh-s4-sh @atom:sh @atom:s4 @atom:sh
+ @angle:sh-s4-ss @atom:sh @atom:s4 @atom:ss
+ @angle:s-s4-s @atom:s @atom:s4 @atom:s
+ @angle:ss-s4-ss @atom:ss @atom:s4 @atom:ss
+ @angle:br-s6-br @atom:br @atom:s6 @atom:br
+ @angle:br-s6-c3 @atom:br @atom:s6 @atom:c3
+ @angle:br-s6-f @atom:br @atom:s6 @atom:f
+ @angle:br-s6-o @atom:br @atom:s6 @atom:o
+ @angle:c1-s6-c1 @atom:c1 @atom:s6 @atom:c1
+ @angle:c1-s6-o @atom:c1 @atom:s6 @atom:o
+ @angle:c2-s6-c2 @atom:c2 @atom:s6 @atom:c2
+ @angle:c2-s6-c3 @atom:c2 @atom:s6 @atom:c3
+ @angle:c2-s6-o @atom:c2 @atom:s6 @atom:o
+ @angle:c3-s6-c3 @atom:c3 @atom:s6 @atom:c3
+ @angle:c3-s6-ca @atom:c3 @atom:s6 @atom:ca
+ @angle:c3-s6-cy @atom:c3 @atom:s6 @atom:cy
+ @angle:c3-s6-f @atom:c3 @atom:s6 @atom:f
+ @angle:c3-s6-hs @atom:c3 @atom:s6 @atom:hs
+ @angle:c3-s6-i @atom:c3 @atom:s6 @atom:i
+ @angle:c3-s6-n2 @atom:c3 @atom:s6 @atom:n2
+ @angle:c3-s6-n3 @atom:c3 @atom:s6 @atom:n3
+ @angle:c3-s6-n @atom:c3 @atom:s6 @atom:n
+ @angle:c3-s6-n4 @atom:c3 @atom:s6 @atom:n4
+ @angle:c3-s6-na @atom:c3 @atom:s6 @atom:na
+ @angle:c3-s6-nh @atom:c3 @atom:s6 @atom:nh
+ @angle:c3-s6-no @atom:c3 @atom:s6 @atom:no
+ @angle:c3-s6-o @atom:c3 @atom:s6 @atom:o
+ @angle:c3-s6-oh @atom:c3 @atom:s6 @atom:oh
+ @angle:c3-s6-os @atom:c3 @atom:s6 @atom:os
+ @angle:c3-s6-p2 @atom:c3 @atom:s6 @atom:p2
+ @angle:c3-s6-p3 @atom:c3 @atom:s6 @atom:p3
+ @angle:c3-s6-p4 @atom:c3 @atom:s6 @atom:p4
+ @angle:c3-s6-p5 @atom:c3 @atom:s6 @atom:p5
+ @angle:c3-s6-s4 @atom:c3 @atom:s6 @atom:s4
+ @angle:c3-s6-s @atom:c3 @atom:s6 @atom:s
+ @angle:c3-s6-s6 @atom:c3 @atom:s6 @atom:s6
+ @angle:c3-s6-sh @atom:c3 @atom:s6 @atom:sh
+ @angle:c3-s6-ss @atom:c3 @atom:s6 @atom:ss
+ @angle:ca-s6-ca @atom:ca @atom:s6 @atom:ca
+ @angle:ca-s6-o @atom:ca @atom:s6 @atom:o
+ @angle:c-s6-c3 @atom:c @atom:s6 @atom:c3
+ @angle:c-s6-c @atom:c @atom:s6 @atom:c
+ @angle:cc-s6-o @atom:cc @atom:s6 @atom:o
+ @angle:cl-s6-cl @atom:cl @atom:s6 @atom:cl
+ @angle:cl-s6-f @atom:cl @atom:s6 @atom:f
+ @angle:cl-s6-o @atom:cl @atom:s6 @atom:o
+ @angle:c-s6-o @atom:c @atom:s6 @atom:o
+ @angle:c-s6-os @atom:c @atom:s6 @atom:os
+ @angle:cx-s6-cx @atom:cx @atom:s6 @atom:cx
+ @angle:cy-s6-o @atom:cy @atom:s6 @atom:o
+ @angle:f-s6-f @atom:f @atom:s6 @atom:f
+ @angle:f-s6-o @atom:f @atom:s6 @atom:o
+ @angle:hs-s6-hs @atom:hs @atom:s6 @atom:hs
+ @angle:hs-s6-n1 @atom:hs @atom:s6 @atom:n1
+ @angle:hs-s6-o @atom:hs @atom:s6 @atom:o
+ @angle:i-s6-i @atom:i @atom:s6 @atom:i
+ @angle:i-s6-o @atom:i @atom:s6 @atom:o
+ @angle:n1-s6-n1 @atom:n1 @atom:s6 @atom:n1
+ @angle:n1-s6-o @atom:n1 @atom:s6 @atom:o
+ @angle:n2-s6-n2 @atom:n2 @atom:s6 @atom:n2
+ @angle:n2-s6-o @atom:n2 @atom:s6 @atom:o
+ @angle:n2-s6-oh @atom:n2 @atom:s6 @atom:oh
+ @angle:n2-s6-os @atom:n2 @atom:s6 @atom:os
+ @angle:n3-s6-n3 @atom:n3 @atom:s6 @atom:n3
+ @angle:n3-s6-o @atom:n3 @atom:s6 @atom:o
+ @angle:n3-s6-os @atom:n3 @atom:s6 @atom:os
+ @angle:n4-s6-n4 @atom:n4 @atom:s6 @atom:n4
+ @angle:n4-s6-o @atom:n4 @atom:s6 @atom:o
+ @angle:na-s6-na @atom:na @atom:s6 @atom:na
+ @angle:na-s6-o @atom:na @atom:s6 @atom:o
+ @angle:nh-s6-nh @atom:nh @atom:s6 @atom:nh
+ @angle:nh-s6-o @atom:nh @atom:s6 @atom:o
+ @angle:n-s6-n @atom:n @atom:s6 @atom:n
+ @angle:n-s6-o @atom:n @atom:s6 @atom:o
+ @angle:no-s6-no @atom:no @atom:s6 @atom:no
+ @angle:no-s6-o @atom:no @atom:s6 @atom:o
+ @angle:n-s6-os @atom:n @atom:s6 @atom:os
+ @angle:oh-s6-oh @atom:oh @atom:s6 @atom:oh
+ @angle:oh-s6-os @atom:oh @atom:s6 @atom:os
+ @angle:oh-s6-p2 @atom:oh @atom:s6 @atom:p2
+ @angle:o-s6-o @atom:o @atom:s6 @atom:o
+ @angle:o-s6-oh @atom:o @atom:s6 @atom:oh
+ @angle:o-s6-os @atom:o @atom:s6 @atom:os
+ @angle:o-s6-p2 @atom:o @atom:s6 @atom:p2
+ @angle:o-s6-p3 @atom:o @atom:s6 @atom:p3
+ @angle:o-s6-p4 @atom:o @atom:s6 @atom:p4
+ @angle:o-s6-p5 @atom:o @atom:s6 @atom:p5
+ @angle:o-s6-s4 @atom:o @atom:s6 @atom:s4
+ @angle:o-s6-s @atom:o @atom:s6 @atom:s
+ @angle:o-s6-s6 @atom:o @atom:s6 @atom:s6
+ @angle:o-s6-sh @atom:o @atom:s6 @atom:sh
+ @angle:os-s6-os @atom:os @atom:s6 @atom:os
+ @angle:o-s6-ss @atom:o @atom:s6 @atom:ss
+ @angle:p3-s6-p3 @atom:p3 @atom:s6 @atom:p3
+ @angle:p5-s6-p5 @atom:p5 @atom:s6 @atom:p5
+ @angle:s4-s6-s4 @atom:s4 @atom:s6 @atom:s4
+ @angle:s4-s6-s6 @atom:s4 @atom:s6 @atom:s6
+ @angle:s6-s6-s6 @atom:s6 @atom:s6 @atom:s6
+ @angle:sh-s6-sh @atom:sh @atom:s6 @atom:sh
+ @angle:sh-s6-ss @atom:sh @atom:s6 @atom:ss
+ @angle:s-s6-s @atom:s @atom:s6 @atom:s
+ @angle:ss-s6-ss @atom:ss @atom:s6 @atom:ss
+ @angle:br-sh-hs @atom:br @atom:sh @atom:hs
+ @angle:c1-sh-hs @atom:c1 @atom:sh @atom:hs
+ @angle:c2-sh-hs @atom:c2 @atom:sh @atom:hs
+ @angle:c3-sh-hs @atom:c3 @atom:sh @atom:hs
+ @angle:ca-sh-hs @atom:ca @atom:sh @atom:hs
+ @angle:cc-sh-hs @atom:cc @atom:sh @atom:hs
+ @angle:c-sh-hs @atom:c @atom:sh @atom:hs
+ @angle:f-sh-hs @atom:f @atom:sh @atom:hs
+ @angle:hs-sh-hs @atom:hs @atom:sh @atom:hs
+ @angle:hs-sh-i @atom:hs @atom:sh @atom:i
+ @angle:hs-sh-n1 @atom:hs @atom:sh @atom:n1
+ @angle:hs-sh-n2 @atom:hs @atom:sh @atom:n2
+ @angle:hs-sh-n @atom:hs @atom:sh @atom:n
+ @angle:hs-sh-n3 @atom:hs @atom:sh @atom:n3
+ @angle:hs-sh-n4 @atom:hs @atom:sh @atom:n4
+ @angle:hs-sh-na @atom:hs @atom:sh @atom:na
+ @angle:hs-sh-nh @atom:hs @atom:sh @atom:nh
+ @angle:hs-sh-no @atom:hs @atom:sh @atom:no
+ @angle:hs-sh-o @atom:hs @atom:sh @atom:o
+ @angle:hs-sh-oh @atom:hs @atom:sh @atom:oh
+ @angle:hs-sh-os @atom:hs @atom:sh @atom:os
+ @angle:hs-sh-p2 @atom:hs @atom:sh @atom:p2
+ @angle:hs-sh-p3 @atom:hs @atom:sh @atom:p3
+ @angle:hs-sh-p4 @atom:hs @atom:sh @atom:p4
+ @angle:hs-sh-p5 @atom:hs @atom:sh @atom:p5
+ @angle:hs-sh-s @atom:hs @atom:sh @atom:s
+ @angle:hs-sh-s4 @atom:hs @atom:sh @atom:s4
+ @angle:hs-sh-s6 @atom:hs @atom:sh @atom:s6
+ @angle:hs-sh-sh @atom:hs @atom:sh @atom:sh
+ @angle:hs-sh-ss @atom:hs @atom:sh @atom:ss
+ @angle:br-ss-br @atom:br @atom:ss @atom:br
+ @angle:br-ss-c3 @atom:br @atom:ss @atom:c3
+ @angle:c1-ss-c1 @atom:c1 @atom:ss @atom:c1
+ @angle:c1-ss-c3 @atom:c1 @atom:ss @atom:c3
+ @angle:c2-ss-c2 @atom:c2 @atom:ss @atom:c2
+ @angle:c2-ss-c3 @atom:c2 @atom:ss @atom:c3
+ @angle:c2-ss-cy @atom:c2 @atom:ss @atom:cy
+ @angle:c2-ss-n2 @atom:c2 @atom:ss @atom:n2
+ @angle:c2-ss-na @atom:c2 @atom:ss @atom:na
+ @angle:c2-ss-os @atom:c2 @atom:ss @atom:os
+ @angle:c2-ss-ss @atom:c2 @atom:ss @atom:ss
+ @angle:c3-ss-c3 @atom:c3 @atom:ss @atom:c3
+ @angle:c3-ss-ca @atom:c3 @atom:ss @atom:ca
+ @angle:c3-ss-cc @atom:c3 @atom:ss @atom:cc
+ @angle:c3-ss-cd @atom:c3 @atom:ss @atom:cd
+ @angle:c3-ss-cl @atom:c3 @atom:ss @atom:cl
+ @angle:c3-ss-cy @atom:c3 @atom:ss @atom:cy
+ @angle:c3-ss-f @atom:c3 @atom:ss @atom:f
+ @angle:c3-ss-i @atom:c3 @atom:ss @atom:i
+ @angle:c3-ss-n1 @atom:c3 @atom:ss @atom:n1
+ @angle:c3-ss-n2 @atom:c3 @atom:ss @atom:n2
+ @angle:c3-ss-n3 @atom:c3 @atom:ss @atom:n3
+ @angle:c3-ss-n @atom:c3 @atom:ss @atom:n
+ @angle:c3-ss-n4 @atom:c3 @atom:ss @atom:n4
+ @angle:c3-ss-na @atom:c3 @atom:ss @atom:na
+ @angle:c3-ss-nh @atom:c3 @atom:ss @atom:nh
+ @angle:c3-ss-no @atom:c3 @atom:ss @atom:no
+ @angle:c3-ss-o @atom:c3 @atom:ss @atom:o
+ @angle:c3-ss-oh @atom:c3 @atom:ss @atom:oh
+ @angle:c3-ss-os @atom:c3 @atom:ss @atom:os
+ @angle:c3-ss-p2 @atom:c3 @atom:ss @atom:p2
+ @angle:c3-ss-p3 @atom:c3 @atom:ss @atom:p3
+ @angle:c3-ss-p4 @atom:c3 @atom:ss @atom:p4
+ @angle:c3-ss-p5 @atom:c3 @atom:ss @atom:p5
+ @angle:c3-ss-s4 @atom:c3 @atom:ss @atom:s4
+ @angle:c3-ss-s @atom:c3 @atom:ss @atom:s
+ @angle:c3-ss-s6 @atom:c3 @atom:ss @atom:s6
+ @angle:c3-ss-sh @atom:c3 @atom:ss @atom:sh
+ @angle:c3-ss-ss @atom:c3 @atom:ss @atom:ss
+ @angle:ca-ss-ca @atom:ca @atom:ss @atom:ca
+ @angle:ca-ss-cc @atom:ca @atom:ss @atom:cc
+ @angle:ca-ss-cd @atom:ca @atom:ss @atom:cd
+ @angle:ca-ss-cl @atom:ca @atom:ss @atom:cl
+ @angle:ca-ss-n @atom:ca @atom:ss @atom:n
+ @angle:ca-ss-na @atom:ca @atom:ss @atom:na
+ @angle:ca-ss-nc @atom:ca @atom:ss @atom:nc
+ @angle:ca-ss-nd @atom:ca @atom:ss @atom:nd
+ @angle:ca-ss-ss @atom:ca @atom:ss @atom:ss
+ @angle:c-ss-c2 @atom:c @atom:ss @atom:c2
+ @angle:c-ss-c3 @atom:c @atom:ss @atom:c3
+ @angle:c-ss-c @atom:c @atom:ss @atom:c
+ @angle:c-ss-cc @atom:c @atom:ss @atom:cc
+ @angle:cc-ss-cc @atom:cc @atom:ss @atom:cc
+ @angle:cc-ss-cd @atom:cc @atom:ss @atom:cd
+ @angle:cc-ss-n @atom:cc @atom:ss @atom:n
+ @angle:cc-ss-na @atom:cc @atom:ss @atom:na
+ @angle:cc-ss-nc @atom:cc @atom:ss @atom:nc
+ @angle:cc-ss-os @atom:cc @atom:ss @atom:os
+ @angle:cc-ss-ss @atom:cc @atom:ss @atom:ss
+ @angle:cd-ss-cd @atom:cd @atom:ss @atom:cd
+ @angle:cd-ss-n @atom:cd @atom:ss @atom:n
+ @angle:cd-ss-na @atom:cd @atom:ss @atom:na
+ @angle:cd-ss-nd @atom:cd @atom:ss @atom:nd
+ @angle:cd-ss-os @atom:cd @atom:ss @atom:os
+ @angle:cd-ss-ss @atom:cd @atom:ss @atom:ss
+ @angle:cl-ss-cl @atom:cl @atom:ss @atom:cl
+ @angle:cx-ss-cx @atom:cx @atom:ss @atom:cx
+ @angle:f-ss-f @atom:f @atom:ss @atom:f
+ @angle:f-ss-ss @atom:f @atom:ss @atom:ss
+ @angle:i-ss-i @atom:i @atom:ss @atom:i
+ @angle:n1-ss-n1 @atom:n1 @atom:ss @atom:n1
+ @angle:n2-ss-n2 @atom:n2 @atom:ss @atom:n2
+ @angle:n3-ss-n3 @atom:n3 @atom:ss @atom:n3
+ @angle:n4-ss-n4 @atom:n4 @atom:ss @atom:n4
+ @angle:na-ss-na @atom:na @atom:ss @atom:na
+ @angle:nc-ss-nc @atom:nc @atom:ss @atom:nc
+ @angle:nd-ss-nd @atom:nd @atom:ss @atom:nd
+ @angle:nh-ss-nh @atom:nh @atom:ss @atom:nh
+ @angle:n-ss-n @atom:n @atom:ss @atom:n
+ @angle:no-ss-no @atom:no @atom:ss @atom:no
+ @angle:oh-ss-oh @atom:oh @atom:ss @atom:oh
+ @angle:o-ss-o @atom:o @atom:ss @atom:o
+ @angle:o-ss-p5 @atom:o @atom:ss @atom:p5
+ @angle:o-ss-s6 @atom:o @atom:ss @atom:s6
+ @angle:os-ss-os @atom:os @atom:ss @atom:os
+ @angle:o-ss-ss @atom:o @atom:ss @atom:ss
+ @angle:p2-ss-p2 @atom:p2 @atom:ss @atom:p2
+ @angle:p3-ss-p3 @atom:p3 @atom:ss @atom:p3
+ @angle:p5-ss-p5 @atom:p5 @atom:ss @atom:p5
+ @angle:s4-ss-s4 @atom:s4 @atom:ss @atom:s4
+ @angle:s4-ss-s6 @atom:s4 @atom:ss @atom:s6
+ @angle:s6-ss-s6 @atom:s6 @atom:ss @atom:s6
+ @angle:sh-ss-sh @atom:sh @atom:ss @atom:sh
+ @angle:sh-ss-ss @atom:sh @atom:ss @atom:ss
+ @angle:s-ss-s @atom:s @atom:ss @atom:s
+ @angle:ss-ss-ss @atom:ss @atom:ss @atom:ss
+ @angle:c3-sx-ca @atom:c3 @atom:sx @atom:ca
+ @angle:c3-sx-cc @atom:c3 @atom:sx @atom:cc
+ @angle:c3-sx-ce @atom:c3 @atom:sx @atom:ce
+ @angle:c3-sx-cf @atom:c3 @atom:sx @atom:cf
+ @angle:c3-sx-ne @atom:c3 @atom:sx @atom:ne
+ @angle:c3-sx-nf @atom:c3 @atom:sx @atom:nf
+ @angle:c3-sx-o @atom:c3 @atom:sx @atom:o
+ @angle:c3-sx-pe @atom:c3 @atom:sx @atom:pe
+ @angle:c3-sx-pf @atom:c3 @atom:sx @atom:pf
+ @angle:c3-sx-px @atom:c3 @atom:sx @atom:px
+ @angle:c3-sx-py @atom:c3 @atom:sx @atom:py
+ @angle:c3-sx-sx @atom:c3 @atom:sx @atom:sx
+ @angle:c3-sx-sy @atom:c3 @atom:sx @atom:sy
+ @angle:ca-sx-ca @atom:ca @atom:sx @atom:ca
+ @angle:ca-sx-o @atom:ca @atom:sx @atom:o
+ @angle:c-sx-c3 @atom:c @atom:sx @atom:c3
+ @angle:c-sx-c @atom:c @atom:sx @atom:c
+ @angle:cc-sx-o @atom:cc @atom:sx @atom:o
+ @angle:ce-sx-ce @atom:ce @atom:sx @atom:ce
+ @angle:ce-sx-o @atom:ce @atom:sx @atom:o
+ @angle:cf-sx-cf @atom:cf @atom:sx @atom:cf
+ @angle:cf-sx-o @atom:cf @atom:sx @atom:o
+ @angle:c-sx-o @atom:c @atom:sx @atom:o
+ @angle:ne-sx-ne @atom:ne @atom:sx @atom:ne
+ @angle:ne-sx-o @atom:ne @atom:sx @atom:o
+ @angle:nf-sx-nf @atom:nf @atom:sx @atom:nf
+ @angle:nf-sx-o @atom:nf @atom:sx @atom:o
+ @angle:o-sx-pe @atom:o @atom:sx @atom:pe
+ @angle:o-sx-pf @atom:o @atom:sx @atom:pf
+ @angle:o-sx-px @atom:o @atom:sx @atom:px
+ @angle:o-sx-py @atom:o @atom:sx @atom:py
+ @angle:o-sx-sx @atom:o @atom:sx @atom:sx
+ @angle:o-sx-sy @atom:o @atom:sx @atom:sy
+ @angle:pe-sx-pe @atom:pe @atom:sx @atom:pe
+ @angle:pf-sx-pf @atom:pf @atom:sx @atom:pf
+ @angle:py-sx-py @atom:py @atom:sx @atom:py
+ @angle:sx-sx-sx @atom:sx @atom:sx @atom:sx
+ @angle:sy-sx-sy @atom:sy @atom:sx @atom:sy
+ @angle:c3-sy-ca @atom:c3 @atom:sy @atom:ca
+ @angle:c3-sy-cc @atom:c3 @atom:sy @atom:cc
+ @angle:c3-sy-ce @atom:c3 @atom:sy @atom:ce
+ @angle:c3-sy-cf @atom:c3 @atom:sy @atom:cf
+ @angle:c3-sy-ne @atom:c3 @atom:sy @atom:ne
+ @angle:c3-sy-nf @atom:c3 @atom:sy @atom:nf
+ @angle:c3-sy-o @atom:c3 @atom:sy @atom:o
+ @angle:c3-sy-pe @atom:c3 @atom:sy @atom:pe
+ @angle:c3-sy-pf @atom:c3 @atom:sy @atom:pf
+ @angle:c3-sy-px @atom:c3 @atom:sy @atom:px
+ @angle:c3-sy-py @atom:c3 @atom:sy @atom:py
+ @angle:c3-sy-sx @atom:c3 @atom:sy @atom:sx
+ @angle:c3-sy-sy @atom:c3 @atom:sy @atom:sy
+ @angle:ca-sy-ca @atom:ca @atom:sy @atom:ca
+ @angle:ca-sy-cc @atom:ca @atom:sy @atom:cc
+ @angle:ca-sy-n3 @atom:ca @atom:sy @atom:n3
+ @angle:ca-sy-n @atom:ca @atom:sy @atom:n
+ @angle:ca-sy-ne @atom:ca @atom:sy @atom:ne
+ @angle:ca-sy-nh @atom:ca @atom:sy @atom:nh
+ @angle:ca-sy-o @atom:ca @atom:sy @atom:o
+ @angle:ca-sy-oh @atom:ca @atom:sy @atom:oh
+ @angle:ca-sy-os @atom:ca @atom:sy @atom:os
+ @angle:c-sy-c3 @atom:c @atom:sy @atom:c3
+ @angle:c-sy-c @atom:c @atom:sy @atom:c
+ @angle:cc-sy-n3 @atom:cc @atom:sy @atom:n3
+ @angle:cc-sy-o @atom:cc @atom:sy @atom:o
+ @angle:cd-sy-n3 @atom:cd @atom:sy @atom:n3
+ @angle:cd-sy-nh @atom:cd @atom:sy @atom:nh
+ @angle:cd-sy-o @atom:cd @atom:sy @atom:o
+ @angle:ce-sy-ce @atom:ce @atom:sy @atom:ce
+ @angle:ce-sy-o @atom:ce @atom:sy @atom:o
+ @angle:cf-sy-cf @atom:cf @atom:sy @atom:cf
+ @angle:cf-sy-o @atom:cf @atom:sy @atom:o
+ @angle:c-sy-o @atom:c @atom:sy @atom:o
+ @angle:f-sy-o @atom:f @atom:sy @atom:o
+ @angle:n2-sy-o @atom:n2 @atom:sy @atom:o
+ @angle:n3-sy-ne @atom:n3 @atom:sy @atom:ne
+ @angle:n3-sy-o @atom:n3 @atom:sy @atom:o
+ @angle:na-sy-na @atom:na @atom:sy @atom:na
+ @angle:nc-sy-nc @atom:nc @atom:sy @atom:nc
+ @angle:nd-sy-nd @atom:nd @atom:sy @atom:nd
+ @angle:ne-sy-ne @atom:ne @atom:sy @atom:ne
+ @angle:ne-sy-o @atom:ne @atom:sy @atom:o
+ @angle:nf-sy-nf @atom:nf @atom:sy @atom:nf
+ @angle:nf-sy-o @atom:nf @atom:sy @atom:o
+ @angle:nh-sy-o @atom:nh @atom:sy @atom:o
+ @angle:n-sy-o @atom:n @atom:sy @atom:o
+ @angle:o-sy-o @atom:o @atom:sy @atom:o
+ @angle:o-sy-oh @atom:o @atom:sy @atom:oh
+ @angle:o-sy-os @atom:o @atom:sy @atom:os
+ @angle:o-sy-pe @atom:o @atom:sy @atom:pe
+ @angle:o-sy-pf @atom:o @atom:sy @atom:pf
+ @angle:o-sy-px @atom:o @atom:sy @atom:px
+ @angle:o-sy-py @atom:o @atom:sy @atom:py
+ @angle:o-sy-sx @atom:o @atom:sy @atom:sx
+ @angle:o-sy-sy @atom:o @atom:sy @atom:sy
+ @angle:py-sy-py @atom:py @atom:sy @atom:py
+ @angle:sx-sy-sx @atom:sx @atom:sy @atom:sx
+ @angle:sy-sy-sy @atom:sy @atom:sy @atom:sy
+ @angle:c2-c1-cf @atom:c2 @atom:c1 @atom:cf
+ @angle:c3-c1-ch @atom:c3 @atom:c1 @atom:ch
+ @angle:nf-c1-s @atom:nf @atom:c1 @atom:s
+ @angle:br-c2-cf @atom:br @atom:c2 @atom:cf
+ @angle:cd-c2-h4 @atom:cd @atom:c2 @atom:h4
+ @angle:cd-c2-nh @atom:cd @atom:c2 @atom:nh
+ @angle:cd-c2-o @atom:cd @atom:c2 @atom:o
+ @angle:cf-c2-cl @atom:cf @atom:c2 @atom:cl
+ @angle:cf-c2-h4 @atom:cf @atom:c2 @atom:h4
+ @angle:cf-c2-na @atom:cf @atom:c2 @atom:na
+ @angle:cf-c2-nh @atom:cf @atom:c2 @atom:nh
+ @angle:cf-c2-no @atom:cf @atom:c2 @atom:no
+ @angle:cf-c2-o @atom:cf @atom:c2 @atom:o
+ @angle:cf-c2-oh @atom:cf @atom:c2 @atom:oh
+ @angle:cf-c2-os @atom:cf @atom:c2 @atom:os
+ @angle:h4-c2-nf @atom:h4 @atom:c2 @atom:nf
+ @angle:h5-c2-nf @atom:h5 @atom:c2 @atom:nf
+ @angle:nf-c2-os @atom:nf @atom:c2 @atom:os
+ @angle:nf-c2-ss @atom:nf @atom:c2 @atom:ss
+ @angle:n-c2-nf @atom:n @atom:c2 @atom:nf
+ @angle:ca-c3-cf @atom:ca @atom:c3 @atom:cf
+ @angle:cd-c3-cx @atom:cd @atom:c3 @atom:cx
+ @angle:c-c3-cf @atom:c @atom:c3 @atom:cf
+ @angle:cd-c3-hx @atom:cd @atom:c3 @atom:hx
+ @angle:cd-c3-n2 @atom:cd @atom:c3 @atom:n2
+ @angle:cd-c3-n4 @atom:cd @atom:c3 @atom:n4
+ @angle:cd-c3-na @atom:cd @atom:c3 @atom:na
+ @angle:cd-c3-p5 @atom:cd @atom:c3 @atom:p5
+ @angle:cf-c3-cf @atom:cf @atom:c3 @atom:cf
+ @angle:cf-c3-n @atom:cf @atom:c3 @atom:n
+ @angle:cf-c3-oh @atom:cf @atom:c3 @atom:oh
+ @angle:cf-c3-os @atom:cf @atom:c3 @atom:os
+ @angle:cf-c3-ss @atom:cf @atom:c3 @atom:ss
+ @angle:cd-ca-cq @atom:cd @atom:ca @atom:cq
+ @angle:cf-ca-na @atom:cf @atom:ca @atom:na
+ @angle:ch-ca-cq @atom:ch @atom:ca @atom:cq
+ @angle:cl-ca-cq @atom:cl @atom:ca @atom:cq
+ @angle:cq-ca-f @atom:cq @atom:ca @atom:f
+ @angle:cq-ca-h4 @atom:cq @atom:ca @atom:h4
+ @angle:cq-ca-na @atom:cq @atom:ca @atom:na
+ @angle:cq-ca-nb @atom:cq @atom:ca @atom:nb
+ @angle:cq-ca-nh @atom:cq @atom:ca @atom:nh
+ @angle:cq-ca-oh @atom:cq @atom:ca @atom:oh
+ @angle:cq-ca-ss @atom:cq @atom:ca @atom:ss
+ @angle:ca-c-nf @atom:ca @atom:c @atom:nf
+ @angle:br-cd-c @atom:br @atom:cd @atom:c
+ @angle:br-cd-cd @atom:br @atom:cd @atom:cd
+ @angle:br-cd-cc @atom:br @atom:cd @atom:cc
+ @angle:br-cd-na @atom:br @atom:cd @atom:na
+ @angle:ca-cd-cf @atom:ca @atom:cd @atom:cf
+ @angle:ca-cd-nh @atom:ca @atom:cd @atom:nh
+ @angle:cd-c-cf @atom:cd @atom:c @atom:cf
+ @angle:cd-cd-f @atom:cd @atom:cd @atom:f
+ @angle:c-cd-ch @atom:c @atom:cd @atom:ch
+ @angle:cd-cd-sy @atom:cd @atom:cd @atom:sy
+ @angle:cc-cd-f @atom:cc @atom:cd @atom:f
+ @angle:cc-cd-no @atom:cc @atom:cd @atom:no
+ @angle:c-cd-f @atom:c @atom:cd @atom:f
+ @angle:ch-cd-na @atom:ch @atom:cd @atom:na
+ @angle:ch-cd-ss @atom:ch @atom:cd @atom:ss
+ @angle:cd-c-h4 @atom:cd @atom:c @atom:h4
+ @angle:cl-cd-na @atom:cl @atom:cd @atom:na
+ @angle:cl-cd-ss @atom:cl @atom:cd @atom:ss
+ @angle:c-cd-nf @atom:c @atom:cd @atom:nf
+ @angle:cd-c-s @atom:cd @atom:c @atom:s
+ @angle:cd-c-ss @atom:cd @atom:c @atom:ss
+ @angle:cx-cd-nc @atom:cx @atom:cd @atom:nc
+ @angle:cx-cd-os @atom:cx @atom:cd @atom:os
+ @angle:cc-c-cx @atom:cc @atom:c @atom:cx
+ @angle:cc-c-nc @atom:cc @atom:c @atom:nc
+ @angle:cf-c-cx @atom:cf @atom:c @atom:cx
+ @angle:cf-c-h4 @atom:cf @atom:c @atom:h4
+ @angle:cf-c-ss @atom:cf @atom:c @atom:ss
+ @angle:na-cd-no @atom:na @atom:cd @atom:no
+ @angle:na-cd-oh @atom:na @atom:cd @atom:oh
+ @angle:na-cd-sx @atom:na @atom:cd @atom:sx
+ @angle:na-cd-sy @atom:na @atom:cd @atom:sy
+ @angle:nd-cd-no @atom:nd @atom:cd @atom:no
+ @angle:nc-cd-nc @atom:nc @atom:cd @atom:nc
+ @angle:nc-cd-nf @atom:nc @atom:cd @atom:nf
+ @angle:nc-cd-no @atom:nc @atom:cd @atom:no
+ @angle:nc-cd-sh @atom:nc @atom:cd @atom:sh
+ @angle:nc-cd-sx @atom:nc @atom:cd @atom:sx
+ @angle:nc-cd-sy @atom:nc @atom:cd @atom:sy
+ @angle:nf-cd-ss @atom:nf @atom:cd @atom:ss
+ @angle:n-cd-n2 @atom:n @atom:cd @atom:n2
+ @angle:no-cd-os @atom:no @atom:cd @atom:os
+ @angle:no-cd-ss @atom:no @atom:cd @atom:ss
+ @angle:ca-cc-cf @atom:ca @atom:cc @atom:cf
+ @angle:ca-cc-na @atom:ca @atom:cc @atom:na
+ @angle:cd-cc-cg @atom:cd @atom:cc @atom:cg
+ @angle:cd-cc-cy @atom:cd @atom:cc @atom:cy
+ @angle:cd-cc-nd @atom:cd @atom:cc @atom:nd
+ @angle:cc-cc-cy @atom:cc @atom:cc @atom:cy
+ @angle:cf-cc-nc @atom:cf @atom:cc @atom:nc
+ @angle:c-cc-h4 @atom:c @atom:cc @atom:h4
+ @angle:na-cc-nh @atom:na @atom:cc @atom:nh
+ @angle:na-cc-ss @atom:na @atom:cc @atom:ss
+ @angle:nc-cc-nc @atom:nc @atom:cc @atom:nc
+ @angle:oh-cc-os @atom:oh @atom:cc @atom:os
+ @angle:c2-cf-cl @atom:c2 @atom:cf @atom:cl
+ @angle:c2-cf-h4 @atom:c2 @atom:cf @atom:h4
+ @angle:c2-cf-n1 @atom:c2 @atom:cf @atom:n1
+ @angle:c2-cf-na @atom:c2 @atom:cf @atom:na
+ @angle:c2-cf-oh @atom:c2 @atom:cf @atom:oh
+ @angle:c3-cf-ch @atom:c3 @atom:cf @atom:ch
+ @angle:c3-cf-ne @atom:c3 @atom:cf @atom:ne
+ @angle:c3-cf-nh @atom:c3 @atom:cf @atom:nh
+ @angle:ca-cf-cf @atom:ca @atom:cf @atom:cf
+ @angle:ca-cf-cl @atom:ca @atom:cf @atom:cl
+ @angle:ca-cf-h4 @atom:ca @atom:cf @atom:h4
+ @angle:ca-cf-nh @atom:ca @atom:cf @atom:nh
+ @angle:ca-cf-os @atom:ca @atom:cf @atom:os
+ @angle:ca-cf-ss @atom:ca @atom:cf @atom:ss
+ @angle:c-cf-ca @atom:c @atom:cf @atom:ca
+ @angle:cd-cf-cc @atom:cd @atom:cf @atom:cc
+ @angle:c-cf-cf @atom:c @atom:cf @atom:cf
+ @angle:c-cf-ch @atom:c @atom:cf @atom:ch
+ @angle:cd-cf-h4 @atom:cd @atom:cf @atom:h4
+ @angle:c-cf-cl @atom:c @atom:cf @atom:cl
+ @angle:cd-cf-nh @atom:cd @atom:cf @atom:nh
+ @angle:c-cf-cy @atom:c @atom:cf @atom:cy
+ @angle:cf-cf-cl @atom:cf @atom:cf @atom:cl
+ @angle:cf-cf-oh @atom:cf @atom:cf @atom:oh
+ @angle:ce-cf-cy @atom:ce @atom:cf @atom:cy
+ @angle:ce-cf-h4 @atom:ce @atom:cf @atom:h4
+ @angle:ce-cf-n1 @atom:ce @atom:cf @atom:n1
+ @angle:ce-cf-nh @atom:ce @atom:cf @atom:nh
+ @angle:ch-cf-n2 @atom:ch @atom:cf @atom:n2
+ @angle:c-cf-oh @atom:c @atom:cf @atom:oh
+ @angle:c-cf-os @atom:c @atom:cf @atom:os
+ @angle:h4-cf-n1 @atom:h4 @atom:cf @atom:n1
+ @angle:h4-cf-nf @atom:h4 @atom:cf @atom:nf
+ @angle:n2-cf-os @atom:n2 @atom:cf @atom:os
+ @angle:n2-cf-ss @atom:n2 @atom:cf @atom:ss
+ @angle:nf-cf-nh @atom:nf @atom:cf @atom:nh
+ @angle:ne-cf-nh @atom:ne @atom:cf @atom:nh
+ @angle:ca-ce-cd @atom:ca @atom:ce @atom:cd
+ @angle:c-ce-cc @atom:c @atom:ce @atom:cc
+ @angle:c-ce-n2 @atom:c @atom:ce @atom:n2
+ @angle:h4-ce-nf @atom:h4 @atom:ce @atom:nf
+ @angle:c1-ch-cd @atom:c1 @atom:ch @atom:cd
+ @angle:ch-cg-cg @atom:ch @atom:cg @atom:cg
+ @angle:n-c-nf @atom:n @atom:c @atom:nf
+ @angle:ca-cq-na @atom:ca @atom:cq @atom:na
+ @angle:nb-cq-nb @atom:nb @atom:cq @atom:nb
+ @angle:cd-cx-hc @atom:cd @atom:cx @atom:hc
+ @angle:cf-cy-h2 @atom:cf @atom:cy @atom:h2
+ @angle:cf-cy-n @atom:cf @atom:cy @atom:n
+ @angle:cf-cy-ss @atom:cf @atom:cy @atom:ss
+ @angle:cd-n2-na @atom:cd @atom:n2 @atom:na
+ @angle:cd-n2-nh @atom:cd @atom:n2 @atom:nh
+ @angle:c3-n4-cd @atom:c3 @atom:n4 @atom:cd
+ @angle:c3-na-cq @atom:c3 @atom:na @atom:cq
+ @angle:ca-na-cq @atom:ca @atom:na @atom:cq
+ @angle:cd-na-cf @atom:cd @atom:na @atom:cf
+ @angle:cq-nb-nb @atom:cq @atom:nb @atom:nb
+ @angle:c-n-cf @atom:c @atom:n @atom:cf
+ @angle:ca-nc-nd @atom:ca @atom:nc @atom:nd
+ @angle:c2-nf-ch @atom:c2 @atom:nf @atom:ch
+ @angle:c-nf-sy @atom:c @atom:nf @atom:sy
+ @angle:c3-nh-ce @atom:c3 @atom:nh @atom:ce
+ @angle:cd-nh-n2 @atom:cd @atom:nh @atom:n2
+ @angle:cd-nh-sy @atom:cd @atom:nh @atom:sy
+ @angle:cf-nh-sy @atom:cf @atom:nh @atom:sy
+ @angle:hn-n-nd @atom:hn @atom:n @atom:nd
+ @angle:cd-no-o @atom:cd @atom:no @atom:o
+ @angle:n3-py-nf @atom:n3 @atom:py @atom:nf
+ @angle:cd-s6-o @atom:cd @atom:s6 @atom:o
+ @angle:cd-sh-hs @atom:cd @atom:sh @atom:hs
+ @angle:c-ss-cd @atom:c @atom:ss @atom:cd
+ @angle:c3-sx-cd @atom:c3 @atom:sx @atom:cd
+ @angle:cd-sx-o @atom:cd @atom:sx @atom:o
+ @angle:c3-sy-cd @atom:c3 @atom:sy @atom:cd
+ @angle:ca-sy-cd @atom:ca @atom:sy @atom:cd
+ @angle:ca-sy-nf @atom:ca @atom:sy @atom:nf
+ @angle:cc-sy-nh @atom:cc @atom:sy @atom:nh
+ @angle:n3-sy-nf @atom:n3 @atom:sy @atom:nf
+ } # (end of Angles By Type)
+
+ write_once("In Settings") {
+ dihedral_coeff @dihedral:X-c-c-X fourier 1 0.3 2 180.0 #
+ dihedral_coeff @dihedral:X-c-c1-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c-cg-X fourier 1 0.0 2 180.0 # same as X-c-c1-X
+ dihedral_coeff @dihedral:X-c-ch-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c-c2-X fourier 1 2.175 2 180.0 # intrpol.bsd.on C6H6
+ dihedral_coeff @dihedral:X-c-cu-X fourier 1 2.175 2 180.0 # intrpol.bsd.on C6H6
+ dihedral_coeff @dihedral:X-c-cv-X fourier 1 2.175 2 180.0 # intrpol.bsd.on C6H6
+ dihedral_coeff @dihedral:X-c-ce-X fourier 1 2.175 2 180.0 # intrpol.bsd.on C6H6
+ dihedral_coeff @dihedral:X-c-cf-X fourier 1 2.175 2 180.0 # intrpol.bsd.on C6H6
+ dihedral_coeff @dihedral:X-c-c3-X fourier 1 0.0 2 180.0 # JCC, 7, (1986), 230
+ dihedral_coeff @dihedral:X-c-cx-X fourier 1 0.0 2 180.0 # JCC, 7, (1986), 230
+ dihedral_coeff @dihedral:X-c-cy-X fourier 1 0.0 2 180.0 # JCC, 7, (1986), 230
+ dihedral_coeff @dihedral:X-c-ca-X fourier 1 1.0 2 180.0 # optimized by Junmei Wang, Jan-2013
+ dihedral_coeff @dihedral:X-c-cc-X fourier 1 2.875 2 180.0 # statistic value
+ dihedral_coeff @dihedral:X-c-cd-X fourier 1 2.875 2 180.0 # statistic value
+ dihedral_coeff @dihedral:X-c-n-X fourier 1 2.5 2 180.0 # AA,NMA (no c-n3, c-n4, c-nh)
+ dihedral_coeff @dihedral:X-c-n2-X fourier 1 4.15 2 180.0 # double bond, same as X-c2-n2-X
+ dihedral_coeff @dihedral:X-c-nc-X fourier 1 4.0 2 180.0 # same as X-C-NC-X
+ dihedral_coeff @dihedral:X-c-nd-X fourier 1 4.0 2 180.0 # same as X-C-NC-X
+ dihedral_coeff @dihedral:X-c-ne-X fourier 1 0.2 2 180.0 # single bond
+ dihedral_coeff @dihedral:X-c-nf-X fourier 1 0.2 2 180.0 # single bond
+ dihedral_coeff @dihedral:X-c-na-X fourier 2 1.45 2 180.0 0.35 4 180.0 #
+ dihedral_coeff @dihedral:X-c-no-X fourier 1 0.45 2 180.0 #
+ dihedral_coeff @dihedral:X-c-oh-X fourier 1 2.3 2 180.0 # Junmei et al, 1999
+ dihedral_coeff @dihedral:X-c-os-X fourier 1 2.7 2 180.0 # Junmei et al, 1999
+ dihedral_coeff @dihedral:X-c-p2-X fourier 1 6.65 2 180.0 # double bond, same as X-c2-p2-X
+ dihedral_coeff @dihedral:X-c-pc-X fourier 1 2.0 2 180.0 # estimated
+ dihedral_coeff @dihedral:X-c-pd-X fourier 1 2.0 2 180.0 # estimated
+ dihedral_coeff @dihedral:X-c-pe-X fourier 1 0.0 2 180.0 # single bond
+ dihedral_coeff @dihedral:X-c-pf-X fourier 1 0.0 2 180.0 # single bond
+ dihedral_coeff @dihedral:X-c-p3-X fourier 1 1.55 2 180.0 #
+ dihedral_coeff @dihedral:X-c-p4-X fourier 1 1.35 2 180.0 #
+ dihedral_coeff @dihedral:X-c-px-X fourier 1 1.35 2 180.0 #
+ dihedral_coeff @dihedral:X-c-p5-X fourier 1 1.0 2 0.0 #
+ dihedral_coeff @dihedral:X-c-py-X fourier 1 1.0 2 0.0 #
+ dihedral_coeff @dihedral:X-c-sh-X fourier 1 2.25 2 180.0 #
+ dihedral_coeff @dihedral:X-c-ss-X fourier 1 3.1 2 180.0 #
+ dihedral_coeff @dihedral:X-c-s4-X fourier 1 0.2 2 180.0 #
+ dihedral_coeff @dihedral:X-c-sx-X fourier 1 0.2 2 180.0 #
+ dihedral_coeff @dihedral:X-c-s6-X fourier 1 0.5 2 0.0 #
+ dihedral_coeff @dihedral:X-c-sy-X fourier 1 0.5 2 0.0 #
+ dihedral_coeff @dihedral:X-c1-c1-X fourier 1 0.0 2 180.0 # for both triple and single bonds
+ dihedral_coeff @dihedral:X-c1-cg-X fourier 1 0.0 2 180.0 # for both triple and single bonds
+ dihedral_coeff @dihedral:X-c1-ch-X fourier 1 0.0 2 180.0 # for both triple and single bonds
+ dihedral_coeff @dihedral:X-cg-cg-X fourier 1 0.0 2 180.0 # for both triple and single bonds
+ dihedral_coeff @dihedral:X-ch-ch-X fourier 1 0.0 2 180.0 # for both triple and single bonds
+ dihedral_coeff @dihedral:X-cg-ch-X fourier 1 0.0 2 180.0 # for both triple and single bonds
+ dihedral_coeff @dihedral:X-c1-c2-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-c3-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-ca-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-cc-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-cd-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-ce-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-cf-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-cu-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-cv-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-cx-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-cy-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-n-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-n2-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-n3-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-n4-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-na-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-nb-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-nc-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-nd-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-ne-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-nf-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-nh-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-no-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-oh-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-os-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-p2-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-pb-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-pc-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-pd-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-pe-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-pf-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-p3-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-p4-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-px-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-p5-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-py-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-s2-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-sh-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-ss-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-s4-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-sx-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-s6-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c1-sy-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-c2-c2-X fourier 1 6.65 2 180.0 # c2=c2 double bond, intrpol.bsd.on C6H6
+ dihedral_coeff @dihedral:X-c2-ce-X fourier 1 6.65 2 180.0 # c2=c2 double bond, intrpol.bsd.on C6H6
+ dihedral_coeff @dihedral:X-c2-cf-X fourier 1 6.65 2 180.0 # c2=c2 double bond, intrpol.bsd.on C6H6
+ dihedral_coeff @dihedral:X-ce-cf-X fourier 1 6.65 2 180.0 # c2=c2 double bond, intrpol.bsd.on C6H6
+ dihedral_coeff @dihedral:X-ce-ce-X fourier 1 1.0 2 180.0 # c2-c2 single bond, parm99
+ dihedral_coeff @dihedral:X-cf-cf-X fourier 1 1.0 2 180.0 # c2-c2 single bond, parm99
+ dihedral_coeff @dihedral:X-cc-cd-X fourier 1 4.0 2 180.0 # statistic value of parm94
+ dihedral_coeff @dihedral:X-cc-cc-X fourier 1 4.0 2 180.0 # statistic value of parm94
+ dihedral_coeff @dihedral:X-cd-cd-X fourier 1 4.0 2 180.0 # statistic value of parm94
+ dihedral_coeff @dihedral:X-c2-c3-X fourier 1 0.0 2 0.0 # JCC,7,(1986),230
+ dihedral_coeff @dihedral:X-c2-ca-X fourier 1 0.7 2 180.0 # optimized by Junmei Wang, March 2013
+ dihedral_coeff @dihedral:X-c2-n-X fourier 1 0.65 2 180.0 #
+ dihedral_coeff @dihedral:X-c2-n2-X fourier 1 4.15 2 180.0 # double bond, parm99
+ dihedral_coeff @dihedral:X-c2-ne-X fourier 1 4.15 2 180.0 # double bond, parm99
+ dihedral_coeff @dihedral:X-c2-nf-X fourier 1 4.15 2 180.0 # double bond, parm99
+ dihedral_coeff @dihedral:X-ce-ne-X fourier 1 0.8 2 180.0 # single bond
+ dihedral_coeff @dihedral:X-cf-nf-X fourier 1 0.8 2 180.0 # single bond
+ dihedral_coeff @dihedral:X-c2-nc-X fourier 1 4.75 2 180.0 # statistic value from parm94
+ dihedral_coeff @dihedral:X-c2-nd-X fourier 1 4.75 2 180.0 # statistic value from parm94
+ dihedral_coeff @dihedral:X-cc-nd-X fourier 1 4.75 2 180.0 # statistic value from parm94
+ dihedral_coeff @dihedral:X-cd-nc-X fourier 1 4.75 2 180.0 # statistiv value from parm94
+ dihedral_coeff @dihedral:X-cc-nc-X fourier 1 4.75 2 180.0 # statistic value from parm94
+ dihedral_coeff @dihedral:X-cd-nd-X fourier 1 4.75 2 180.0 # statistiv value from parm94
+ dihedral_coeff @dihedral:X-c2-n3-X fourier 1 0.3 2 180.0 # intrpol.
+ dihedral_coeff @dihedral:X-c2-n4-X fourier 1 0.0 3 180.0 # intrpol.
+ dihedral_coeff @dihedral:X-c2-na-X fourier 1 0.625 2 180.0 #
+ dihedral_coeff @dihedral:X-cc-na-X fourier 1 1.7 2 180.0 # statistic value from parm94
+ dihedral_coeff @dihedral:X-cd-na-X fourier 1 1.7 2 180.0 # statistic value from parm94
+ dihedral_coeff @dihedral:X-c2-nh-X fourier 1 0.675 2 180.0 #
+ dihedral_coeff @dihedral:X-c2-no-X fourier 1 0.75 2 180.0 #
+ dihedral_coeff @dihedral:X-c2-oh-X fourier 1 1.05 2 180.0 # parm99
+ dihedral_coeff @dihedral:X-c2-os-X fourier 1 1.05 2 180.0 # parm99
+ dihedral_coeff @dihedral:X-c2-p2-X fourier 1 6.65 2 180.0 # double bond
+ dihedral_coeff @dihedral:X-c2-pe-X fourier 1 6.65 2 180.0 # double bond
+ dihedral_coeff @dihedral:X-c2-pf-X fourier 1 6.65 2 180.0 # double bond
+ dihedral_coeff @dihedral:X-ce-pf-X fourier 1 6.65 2 180.0 # double bond
+ dihedral_coeff @dihedral:X-ce-pe-X fourier 1 0.95 2 180.0 # single bond
+ dihedral_coeff @dihedral:X-cf-pf-X fourier 1 0.95 2 180.0 # single bond
+ dihedral_coeff @dihedral:X-c2-pc-X fourier 1 4.75 2 180.0 # estimated
+ dihedral_coeff @dihedral:X-c2-pd-X fourier 1 4.75 2 180.0 # estimated
+ dihedral_coeff @dihedral:X-cc-pc-X fourier 1 4.75 2 180.0 # estimated
+ dihedral_coeff @dihedral:X-cc-pd-X fourier 1 4.75 2 180.0 # estimated
+ dihedral_coeff @dihedral:X-cd-pc-X fourier 1 4.75 2 180.0 # estimated
+ dihedral_coeff @dihedral:X-cd-pd-X fourier 1 4.75 2 180.0 # estimated
+ dihedral_coeff @dihedral:X-c2-p3-X fourier 1 0.45 2 180.0 #
+ dihedral_coeff @dihedral:X-c2-p4-X fourier 1 6.65 2 180.0 # c2=p4 double bond !!!
+ dihedral_coeff @dihedral:X-ce-p4-X fourier 1 6.65 2 180.0 # c2=p4 double bond !!!
+ dihedral_coeff @dihedral:X-cf-p4-X fourier 1 6.65 2 180.0 # c2=p4 double bond !!!
+ dihedral_coeff @dihedral:X-c2-px-X fourier 1 0.325 2 0.0 #
+ dihedral_coeff @dihedral:X-ce-px-X fourier 1 0.325 2 0.0 #
+ dihedral_coeff @dihedral:X-cf-px-X fourier 1 0.325 2 0.0 #
+ dihedral_coeff @dihedral:X-c2-p5-X fourier 1 6.65 2 180.0 # c2=p5 double bond !!!
+ dihedral_coeff @dihedral:X-ce-p5-X fourier 1 6.65 2 180.0 # c2=p5 double bond !!!
+ dihedral_coeff @dihedral:X-cf-p5-X fourier 1 6.65 2 180.0 # c2=p5 double bond !!!
+ dihedral_coeff @dihedral:X-c2-py-X fourier 1 1.43333333333 2 180.0 #
+ dihedral_coeff @dihedral:X-ce-py-X fourier 1 1.43333333333 2 180.0 #
+ dihedral_coeff @dihedral:X-cf-py-X fourier 1 1.43333333333 2 180.0 #
+ dihedral_coeff @dihedral:X-c2-sh-X fourier 1 0.5 2 180.0 #
+ dihedral_coeff @dihedral:X-c2-ss-X fourier 1 1.1 2 180.0 #
+ dihedral_coeff @dihedral:X-c2-s4-X fourier 1 6.65 2 180.0 # c2=s4 double bond !!!
+ dihedral_coeff @dihedral:X-ce-s4-X fourier 1 6.65 2 180.0 # c2=s4 double bond !!!
+ dihedral_coeff @dihedral:X-cf-s4-X fourier 1 6.65 2 180.0 # c2=s4 double bond !!!
+ dihedral_coeff @dihedral:X-c2-sx-X fourier 1 0.6 2 0.0 #
+ dihedral_coeff @dihedral:X-ce-sx-X fourier 1 0.6 2 0.0 #
+ dihedral_coeff @dihedral:X-cf-sx-X fourier 1 0.6 2 0.0 #
+ dihedral_coeff @dihedral:X-c2-s6-X fourier 1 6.65 2 180.0 # c2=s6 double bond !!!
+ dihedral_coeff @dihedral:X-ce-s6-X fourier 1 6.65 2 180.0 # c2=s6 double bond !!!
+ dihedral_coeff @dihedral:X-cf-s6-X fourier 1 6.65 2 180.0 # c2=s6 double bond !!!
+ dihedral_coeff @dihedral:X-c2-sy-X fourier 1 1.26666666667 2 180.0 #
+ dihedral_coeff @dihedral:X-ce-sy-X fourier 1 1.26666666667 2 180.0 #
+ dihedral_coeff @dihedral:X-cf-sy-X fourier 1 1.26666666667 2 180.0 #
+ dihedral_coeff @dihedral:X-c3-c3-X fourier 1 0.155555555556 3 0.0 # JCC,7,(1986),230
+ dihedral_coeff @dihedral:X-cx-cx-X fourier 1 0.155555555556 3 0.0 # same as X-c3-c3-X
+ dihedral_coeff @dihedral:X-cy-cy-X fourier 1 0.155555555556 3 0.0 # same as X-c3-c3-X
+ dihedral_coeff @dihedral:X-c3-ca-X fourier 1 0.0 2 0.0 # JCC,7,(1986),230
+ dihedral_coeff @dihedral:X-c3-n-X fourier 1 0.0 2 0.0 # JCC,7,(1986),230
+ dihedral_coeff @dihedral:X-cx-n-X fourier 1 0.0 2 0.0 # same as X-c3-n-X
+ dihedral_coeff @dihedral:X-cy-n-X fourier 1 0.0 2 0.0 # same as X-c3-n-X
+ dihedral_coeff @dihedral:X-c3-n2-X fourier 1 0.0 3 0.0 # JCC,7,(1986),230
+ dihedral_coeff @dihedral:X-c3-ne-X fourier 1 0.0 3 0.0 # JCC,7,(1986),230
+ dihedral_coeff @dihedral:X-c3-nf-X fourier 1 0.0 3 0.0 # JCC,7,(1986),230
+ dihedral_coeff @dihedral:X-c3-n3-X fourier 1 0.3 3 0.0 # Junmei et al, 1999
+ dihedral_coeff @dihedral:X-c3-n4-X fourier 1 0.155555555556 3 0.0 # JCC,7,(1986),230
+ dihedral_coeff @dihedral:X-c3-na-X fourier 1 0.0 2 0.0 # JCC,7,(1986),230
+ dihedral_coeff @dihedral:X-c3-nh-X fourier 1 0.0 2 0.0 # JCC,7,(1986),230
+ dihedral_coeff @dihedral:X-c3-no-X fourier 1 0.0 2 0.0 # JCC,7,(1986),230
+ dihedral_coeff @dihedral:X-c3-oh-X fourier 1 0.166666666667 3 0.0 # JCC,7,(1986),230
+ dihedral_coeff @dihedral:X-c3-os-X fourier 1 0.383333333333 3 0.0 # JCC,7,(1986),230
+ dihedral_coeff @dihedral:X-c3-p2-X fourier 1 0.266666666667 2 180.0 #
+ dihedral_coeff @dihedral:X-c3-pe-X fourier 1 0.266666666667 2 180.0 #
+ dihedral_coeff @dihedral:X-c3-pf-X fourier 1 0.266666666667 2 180.0 #
+ dihedral_coeff @dihedral:X-c3-p3-X fourier 1 0.133333333333 3 0.0 #
+ dihedral_coeff @dihedral:X-c3-p4-X fourier 1 0.133333333333 3 0.0 #
+ dihedral_coeff @dihedral:X-c3-px-X fourier 1 0.133333333333 3 0.0 #
+ dihedral_coeff @dihedral:X-c3-p5-X fourier 1 0.0222222222222 3 0.0 #
+ dihedral_coeff @dihedral:X-c3-py-X fourier 1 0.0222222222222 3 0.0 #
+ dihedral_coeff @dihedral:X-c3-sh-X fourier 1 0.25 3 0.0 # JCC,7,(1986),230
+ dihedral_coeff @dihedral:X-c3-ss-X fourier 1 0.333333333333 3 0.0 # JCC,7,(1986),230
+ dihedral_coeff @dihedral:X-c3-s4-X fourier 1 0.2 3 0.0 #
+ dihedral_coeff @dihedral:X-c3-sx-X fourier 1 0.2 3 0.0 #
+ dihedral_coeff @dihedral:X-c3-s6-X fourier 1 0.144444444444 3 0.0 #
+ dihedral_coeff @dihedral:X-c3-sy-X fourier 1 0.144444444444 3 0.0 #
+ dihedral_coeff @dihedral:X-c3-cc-X fourier 1 0.0 3 0.0 # same as X-c3-ca-X
+ dihedral_coeff @dihedral:X-c3-cd-X fourier 1 0.0 3 0.0 # same as X-c3-ca-X
+ dihedral_coeff @dihedral:X-ca-ca-X fourier 1 3.625 2 180.0 # intrpol.bsd.on C6H6
+ dihedral_coeff @dihedral:X-ca-cp-X fourier 1 3.625 2 180.0 # intrpol.bsd.on C6H6
+ dihedral_coeff @dihedral:X-ca-cq-X fourier 1 3.625 2 180.0 # intrpol.bsd.on C6H6
+ dihedral_coeff @dihedral:X-cp-cp-X fourier 1 1.0 2 180.0 # estimated, intrpol.
+ dihedral_coeff @dihedral:X-cq-cq-X fourier 1 1.0 2 180.0 # estimated, intrpol.
+ dihedral_coeff @dihedral:X-ca-n-X fourier 1 0.45 2 180.0 #
+ dihedral_coeff @dihedral:X-ca-n2-X fourier 1 0.0 3 180.0 #
+ dihedral_coeff @dihedral:X-ca-ne-X fourier 1 0.0 3 180.0 #
+ dihedral_coeff @dihedral:X-ca-nf-X fourier 1 0.0 3 180.0 #
+ dihedral_coeff @dihedral:X-ca-n4-X fourier 1 1.75 2 0.0 #
+ dihedral_coeff @dihedral:X-ca-na-X fourier 1 0.3 2 180.0 #
+ dihedral_coeff @dihedral:X-ca-nb-X fourier 1 4.8 2 180.0 # same as X-CA-NC-X
+ dihedral_coeff @dihedral:X-ca-nc-X fourier 1 4.8 2 180.0 # same as X-CA-NC-X
+ dihedral_coeff @dihedral:X-ca-nd-X fourier 1 4.8 2 180.0 # same as X-CA-NC-X
+ dihedral_coeff @dihedral:X-ca-nh-X fourier 1 1.05 2 180.0 #
+ dihedral_coeff @dihedral:X-cc-nh-X fourier 1 1.05 2 180.0 # same as X-ca-nh-X
+ dihedral_coeff @dihedral:X-cd-nh-X fourier 1 1.05 2 180.0 # same as X-ca-nh-X
+ dihedral_coeff @dihedral:X-ca-no-X fourier 1 0.6 2 180.0 #
+ dihedral_coeff @dihedral:X-ca-oh-X fourier 1 0.9 2 180.0 # Junmei et al, 99
+ dihedral_coeff @dihedral:X-ca-os-X fourier 1 0.9 2 180.0 # same as X-ca-oh-X
+ dihedral_coeff @dihedral:X-ca-p2-X fourier 1 0.6 2 180.0 #
+ dihedral_coeff @dihedral:X-ca-pe-X fourier 1 0.6 2 180.0 # same as X-ca-p2-X
+ dihedral_coeff @dihedral:X-ca-pf-X fourier 1 0.6 2 180.0 # same as X-ca-p2-X
+ dihedral_coeff @dihedral:X-ca-pc-X fourier 1 4.8 2 180.0 # estimated, intrpol
+ dihedral_coeff @dihedral:X-ca-pd-X fourier 1 4.8 2 180.0 # estimated, intrpol
+ dihedral_coeff @dihedral:X-ca-p3-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-ca-p4-X fourier 1 0.525 2 180.0 #
+ dihedral_coeff @dihedral:X-ca-px-X fourier 1 0.525 2 180.0 # estimated, same as X-ca-p4-X
+ dihedral_coeff @dihedral:X-ca-p5-X fourier 1 1.46666666667 2 180.0 #
+ dihedral_coeff @dihedral:X-ca-py-X fourier 1 1.46666666667 2 180.0 # estimated, same as X-ca-p5-X
+ dihedral_coeff @dihedral:X-ca-sh-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-ca-ss-X fourier 1 0.4 2 180.0 #
+ dihedral_coeff @dihedral:X-ca-s4-X fourier 1 0.3 2 0.0 #
+ dihedral_coeff @dihedral:X-ca-sx-X fourier 1 0.3 2 0.0 # estimated, same as X-ca-s4-X
+ dihedral_coeff @dihedral:X-ca-s6-X fourier 1 1.3 2 180.0 #
+ dihedral_coeff @dihedral:X-ca-sy-X fourier 1 1.3 2 180.0 # estimated, same as X-ca-s6-X
+ dihedral_coeff @dihedral:X-n-cc-X fourier 1 1.65 2 180.0 # statistic value from parm94
+ dihedral_coeff @dihedral:X-n-cd-X fourier 1 1.65 2 180.0 # statistic value from parm94
+ dihedral_coeff @dihedral:X-n-n-X fourier 1 1.15 2 0.0 #
+ dihedral_coeff @dihedral:X-n-n2-X fourier 1 0.4 2 0.0 #
+ dihedral_coeff @dihedral:X-n-ne-X fourier 1 0.4 2 0.0 #
+ dihedral_coeff @dihedral:X-n-nf-X fourier 1 0.4 2 0.0 #
+ dihedral_coeff @dihedral:X-n-n3-X fourier 1 1.075 2 0.0 #
+ dihedral_coeff @dihedral:X-n-n4-X fourier 1 0.95 2 0.0 #
+ dihedral_coeff @dihedral:X-n-na-X fourier 1 0.7 2 0.0 #
+ dihedral_coeff @dihedral:X-n-nc-X fourier 1 4.8 2 180.0 # estimated, intrpol.
+ dihedral_coeff @dihedral:X-n-nd-X fourier 1 4.8 2 180.0 # estimated, intrpol.
+ dihedral_coeff @dihedral:X-n-nh-X fourier 1 1.1 2 0.0 #
+ dihedral_coeff @dihedral:X-n-no-X fourier 1 1.375 2 180.0 #
+ dihedral_coeff @dihedral:X-n-oh-X fourier 1 1.5 2 0.0 #
+ dihedral_coeff @dihedral:X-n-os-X fourier 1 1.1 2 0.0 #
+ dihedral_coeff @dihedral:X-n-p2-X fourier 1 1.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n-pe-X fourier 1 1.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n-pf-X fourier 1 1.0 2 180.0 # estimated, intrpol.
+ dihedral_coeff @dihedral:X-n-pc-X fourier 1 4.8 2 180.0 # estimated, intrpol.
+ dihedral_coeff @dihedral:X-n-pd-X fourier 1 4.8 2 180.0 #
+ dihedral_coeff @dihedral:X-n-p3-X fourier 1 2.25 2 0.0 #
+ dihedral_coeff @dihedral:X-n-p4-X fourier 1 0.325 2 0.0 #
+ dihedral_coeff @dihedral:X-n-px-X fourier 1 0.325 2 0.0 #
+ dihedral_coeff @dihedral:X-n-p5-X fourier 1 2.2 2 180.0 #
+ dihedral_coeff @dihedral:X-n-py-X fourier 1 2.2 2 180.0 #
+ dihedral_coeff @dihedral:X-n-sh-X fourier 1 1.1 2 0.0 #
+ dihedral_coeff @dihedral:X-n-ss-X fourier 1 1.5 2 0.0 #
+ dihedral_coeff @dihedral:X-n-s4-X fourier 1 1.5 3 0.0 #
+ dihedral_coeff @dihedral:X-n-sx-X fourier 1 1.5 3 0.0 #
+ dihedral_coeff @dihedral:X-n-s6-X fourier 1 1.1 2 180.0 #
+ dihedral_coeff @dihedral:X-n-sy-X fourier 1 1.1 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-c2-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-c3-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-ca-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-cc-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-cd-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-ce-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-cf-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-cu-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-cv-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-cx-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-cy-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-n-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-n1-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-n2-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-n3-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-n4-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-na-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-nb-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-nc-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-nd-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-ne-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-nf-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-nh-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-no-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-oh-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-os-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-p2-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-pb-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-pc-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-pd-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-pe-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-pf-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-p3-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-p4-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-px-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-p5-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-py-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-s2-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-sh-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-ss-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-s4-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-sx-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-s6-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n1-sy-X fourier 1 0.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n2-n2-X fourier 2 3.0 2 180.0 2.8 1 0.0 # double bond
+ dihedral_coeff @dihedral:X-n2-ne-X fourier 2 3.0 2 180.0 2.8 1 0.0 # double bond
+ dihedral_coeff @dihedral:X-n2-nf-X fourier 2 3.0 2 180.0 2.8 1 0.0 # double bond
+ dihedral_coeff @dihedral:X-ne-nf-X fourier 2 3.0 2 180.0 2.8 1 0.0 # double bond
+ dihedral_coeff @dihedral:X-ne-ne-X fourier 1 1.2 2 180.0 # single bond, intrpol
+ dihedral_coeff @dihedral:X-nf-nf-X fourier 1 1.2 2 180.0 # single bond, intrpol
+ dihedral_coeff @dihedral:X-nc-nc-X fourier 1 4.0 2 180.0 # estimated, intrpol
+ dihedral_coeff @dihedral:X-nd-nd-X fourier 1 4.0 2 180.0 # estimated, intrpol
+ dihedral_coeff @dihedral:X-nc-nd-X fourier 1 4.0 2 180.0 # estimated, intrpol
+ dihedral_coeff @dihedral:X-n2-nc-X fourier 2 3.0 2 180.0 2.8 1 0.0 # same as X-n2-n2-X
+ dihedral_coeff @dihedral:X-n2-nd-X fourier 2 3.0 2 180.0 2.8 1 0.0 # same as X-n2-n2-X
+ dihedral_coeff @dihedral:X-n2-n3-X fourier 1 6.1 2 180.0 #
+ dihedral_coeff @dihedral:X-ne-n3-X fourier 1 6.1 2 180.0 #
+ dihedral_coeff @dihedral:X-nf-n3-X fourier 1 6.1 2 180.0 #
+ dihedral_coeff @dihedral:X-n2-n4-X fourier 1 8.0 2 180.0 #
+ dihedral_coeff @dihedral:X-ne-n4-X fourier 1 8.0 2 180.0 #
+ dihedral_coeff @dihedral:X-nf-n4-X fourier 1 8.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n2-na-X fourier 1 1.7 2 180.0 #
+ dihedral_coeff @dihedral:X-ne-na-X fourier 1 1.7 2 180.0 #
+ dihedral_coeff @dihedral:X-nf-na-X fourier 1 1.7 2 180.0 #
+ dihedral_coeff @dihedral:X-na-nc-X fourier 1 4.8 2 180.0 # estimated, intrpol.
+ dihedral_coeff @dihedral:X-na-nd-X fourier 1 4.8 2 180.0 # estimated, intrpol.
+ dihedral_coeff @dihedral:X-n2-nh-X fourier 1 2.8 2 180.0 #
+ dihedral_coeff @dihedral:X-ne-nh-X fourier 1 2.8 2 180.0 #
+ dihedral_coeff @dihedral:X-nf-nh-X fourier 1 2.8 2 180.0 #
+ dihedral_coeff @dihedral:X-n2-no-X fourier 1 0.75 2 180.0 #
+ dihedral_coeff @dihedral:X-ne-no-X fourier 1 0.75 2 180.0 #
+ dihedral_coeff @dihedral:X-nf-no-X fourier 1 0.75 2 180.0 #
+ dihedral_coeff @dihedral:X-n2-oh-X fourier 1 3.2 2 180.0 #
+ dihedral_coeff @dihedral:X-ne-oh-X fourier 1 3.2 2 180.0 #
+ dihedral_coeff @dihedral:X-nf-oh-X fourier 1 3.2 2 180.0 #
+ dihedral_coeff @dihedral:X-n2-os-X fourier 1 3.0 2 180.0 #
+ dihedral_coeff @dihedral:X-ne-os-X fourier 1 3.0 2 180.0 #
+ dihedral_coeff @dihedral:X-nf-os-X fourier 1 3.0 2 180.0 #
+ dihedral_coeff @dihedral:X-nc-os-X fourier 1 4.8 2 180.0 # estimated, intrpol.
+ dihedral_coeff @dihedral:X-nc-ss-X fourier 1 4.8 2 180.0 # estimated, intrpol.
+ dihedral_coeff @dihedral:X-n2-p2-X fourier 1 5.4 2 180.0 # estimated, intrpol.
+ dihedral_coeff @dihedral:X-n2-pe-X fourier 1 5.4 2 180.0 # estimated, intrpol.
+ dihedral_coeff @dihedral:X-n2-pf-X fourier 1 5.4 2 180.0 # estimated, intrpol.
+ dihedral_coeff @dihedral:X-ne-pf-X fourier 1 5.4 2 180.0 # estimated, intrpol.
+ dihedral_coeff @dihedral:X-n2-pc-X fourier 1 5.4 2 180.0 # estimated, intrpol.
+ dihedral_coeff @dihedral:X-n2-pd-X fourier 1 5.4 2 180.0 # estimated, intrpol.
+ dihedral_coeff @dihedral:X-nc-p2-X fourier 1 5.4 2 180.0 # estimated, intrpol.
+ dihedral_coeff @dihedral:X-nd-p2-X fourier 1 5.4 2 180.0 # estimated, intrpol.
+ dihedral_coeff @dihedral:X-nc-pc-X fourier 1 6.6 2 180.0 # estimated, intrpol.
+ dihedral_coeff @dihedral:X-nd-pd-X fourier 1 6.6 2 180.0 # estimated, intrpol.
+ dihedral_coeff @dihedral:X-nd-pc-X fourier 1 6.6 2 180.0 # estimated, intrpol.
+ dihedral_coeff @dihedral:X-nc-pd-X fourier 1 6.6 2 180.0 # estimated, intrpol.
+ dihedral_coeff @dihedral:X-ne-pe-X fourier 1 0.6 1 0.0 # single bond
+ dihedral_coeff @dihedral:X-nf-pf-X fourier 1 0.6 1 0.0 # single bond
+ dihedral_coeff @dihedral:X-n2-p3-X fourier 1 2.1 2 180.0 #
+ dihedral_coeff @dihedral:X-n2-p4-X fourier 1 6.65 2 180.0 # estimated !!!
+ dihedral_coeff @dihedral:X-ne-p4-X fourier 1 6.65 2 180.0 # estimated !!!
+ dihedral_coeff @dihedral:X-nf-p4-X fourier 1 6.65 2 180.0 # estimated !!!
+ dihedral_coeff @dihedral:X-n2-p5-X fourier 1 6.66666666667 2 180.0 # estimated !!!
+ dihedral_coeff @dihedral:X-ne-p5-X fourier 1 1.0 3 180.0 #
+ dihedral_coeff @dihedral:X-nf-p5-X fourier 1 1.0 3 180.0 #
+ dihedral_coeff @dihedral:X-ne-px-X fourier 1 1.0 3 180.0 #
+ dihedral_coeff @dihedral:X-nf-px-X fourier 1 1.0 3 180.0 #
+ dihedral_coeff @dihedral:X-n2-sh-X fourier 1 2.1 2 180.0 #
+ dihedral_coeff @dihedral:X-ne-sh-X fourier 1 2.1 2 180.0 #
+ dihedral_coeff @dihedral:X-nf-sh-X fourier 1 2.1 2 180.0 #
+ dihedral_coeff @dihedral:X-n2-ss-X fourier 2 2.8 2 180.0 1.3 1 180.0 #
+ dihedral_coeff @dihedral:X-ne-ss-X fourier 2 2.8 2 180.0 1.3 1 180.0 #
+ dihedral_coeff @dihedral:X-nf-ss-X fourier 2 2.8 2 180.0 1.3 1 180.0 #
+ dihedral_coeff @dihedral:X-n2-s4-X fourier 1 6.65 2 180.0 # estimated !!!
+ dihedral_coeff @dihedral:X-ne-sx-X fourier 1 1.5 3 180.0 #
+ dihedral_coeff @dihedral:X-nf-sx-X fourier 1 1.5 3 180.0 #
+ dihedral_coeff @dihedral:X-n2-s6-X fourier 1 6.66666666667 2 180.0 # estimated !!!
+ dihedral_coeff @dihedral:X-ne-sy-X fourier 2 0.5 3 180.0 6.8 1 180.0 #
+ dihedral_coeff @dihedral:X-nf-sy-X fourier 2 0.5 3 180.0 6.8 1 180.0 #
+ dihedral_coeff @dihedral:X-n3-n3-X fourier 1 2.25 2 0.0 #
+ dihedral_coeff @dihedral:X-n3-n4-X fourier 1 0.25 3 0.0 #
+ dihedral_coeff @dihedral:X-n3-na-X fourier 1 1.6 2 0.0 #
+ dihedral_coeff @dihedral:X-n3-nh-X fourier 1 1.9 2 0.0 #
+ dihedral_coeff @dihedral:X-n3-no-X fourier 1 4.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n3-oh-X fourier 1 2.2 2 0.0 #
+ dihedral_coeff @dihedral:X-n3-os-X fourier 1 1.8 2 0.0 #
+ dihedral_coeff @dihedral:X-n3-p2-X fourier 1 3.2 2 180.0 #
+ dihedral_coeff @dihedral:X-n3-pe-X fourier 1 3.2 2 180.0 #
+ dihedral_coeff @dihedral:X-n3-pf-X fourier 1 3.2 2 180.0 #
+ dihedral_coeff @dihedral:X-n3-p3-X fourier 1 2.35 2 0.0 #
+ dihedral_coeff @dihedral:X-n3-p4-X fourier 1 2.1 2 180.0 #
+ dihedral_coeff @dihedral:X-n3-px-X fourier 1 2.1 2 180.0 #
+ dihedral_coeff @dihedral:X-n3-p5-X fourier 1 3.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n3-py-X fourier 1 3.0 2 180.0 #
+ dihedral_coeff @dihedral:X-n3-sh-X fourier 1 3.1 2 0.0 #
+ dihedral_coeff @dihedral:X-n3-ss-X fourier 1 2.6 2 0.0 #
+ dihedral_coeff @dihedral:X-n3-s4-X fourier 1 3.75 2 0.0 #
+ dihedral_coeff @dihedral:X-n3-sx-X fourier 1 3.75 2 0.0 #
+ dihedral_coeff @dihedral:X-n3-s6-X fourier 1 3.13333333333 2 0.0 #
+ dihedral_coeff @dihedral:X-n3-sy-X fourier 1 3.13333333333 2 0.0 #
+ dihedral_coeff @dihedral:X-n4-n4-X fourier 1 0.188888888889 3 0.0 #
+ dihedral_coeff @dihedral:X-n4-na-X fourier 1 0.233333333333 3 0.0 #
+ dihedral_coeff @dihedral:X-n4-nh-X fourier 1 0.183333333333 3 0.0 #
+ dihedral_coeff @dihedral:X-n4-no-X fourier 1 0.0833333333333 3 180.0 #
+ dihedral_coeff @dihedral:X-n4-oh-X fourier 1 0.333333333333 3 0.0 #
+ dihedral_coeff @dihedral:X-n4-os-X fourier 1 0.566666666667 3 0.0 #
+ dihedral_coeff @dihedral:X-n4-p2-X fourier 1 0.166666666667 3 180.0 #
+ dihedral_coeff @dihedral:X-n4-pe-X fourier 1 0.166666666667 3 180.0 #
+ dihedral_coeff @dihedral:X-n4-pf-X fourier 1 0.166666666667 3 180.0 #
+ dihedral_coeff @dihedral:X-n4-p3-X fourier 1 0.15 3 0.0 #
+ dihedral_coeff @dihedral:X-n4-p4-X fourier 1 0.05 3 0.0 #
+ dihedral_coeff @dihedral:X-n4-px-X fourier 1 0.05 3 0.0 #
+ dihedral_coeff @dihedral:X-n4-p5-X fourier 1 0.0888888888889 3 0.0 #
+ dihedral_coeff @dihedral:X-n4-py-X fourier 1 0.0888888888889 3 0.0 #
+ dihedral_coeff @dihedral:X-n4-sh-X fourier 1 0.666666666667 3 0.0 #
+ dihedral_coeff @dihedral:X-n4-ss-X fourier 1 0.333333333333 3 0.0 #
+ dihedral_coeff @dihedral:X-n4-s4-X fourier 1 0.283333333333 3 0.0 #
+ dihedral_coeff @dihedral:X-n4-sx-X fourier 1 0.283333333333 3 0.0 #
+ dihedral_coeff @dihedral:X-n4-s6-X fourier 1 0.133333333333 3 0.0 #
+ dihedral_coeff @dihedral:X-n4-sy-X fourier 1 0.133333333333 3 0.0 #
+ dihedral_coeff @dihedral:X-na-na-X fourier 1 0.9 2 0.0 #
+ dihedral_coeff @dihedral:X-na-nh-X fourier 1 1.2 2 0.0 #
+ dihedral_coeff @dihedral:X-na-no-X fourier 1 6.0 2 180.0 #
+ dihedral_coeff @dihedral:X-na-oh-X fourier 1 1.0 2 0.0 #
+ dihedral_coeff @dihedral:X-na-os-X fourier 1 0.65 2 0.0 #
+ dihedral_coeff @dihedral:X-na-p2-X fourier 1 1.0 2 180.0 #
+ dihedral_coeff @dihedral:X-na-pe-X fourier 1 1.0 2 180.0 #
+ dihedral_coeff @dihedral:X-na-pf-X fourier 1 1.0 2 180.0 #
+ dihedral_coeff @dihedral:X-na-p3-X fourier 1 1.45 2 0.0 #
+ dihedral_coeff @dihedral:X-na-p4-X fourier 1 1.1 3 0.0 #
+ dihedral_coeff @dihedral:X-na-px-X fourier 1 1.1 3 0.0 #
+ dihedral_coeff @dihedral:X-na-p5-X fourier 1 0.833333333333 2 180.0 #
+ dihedral_coeff @dihedral:X-na-py-X fourier 1 0.833333333333 2 180.0 #
+ dihedral_coeff @dihedral:X-na-sh-X fourier 1 1.8 2 0.0 #
+ dihedral_coeff @dihedral:X-na-ss-X fourier 1 7.8 2 0.0 #
+ dihedral_coeff @dihedral:X-na-s4-X fourier 1 1.05 2 0.0 #
+ dihedral_coeff @dihedral:X-na-sx-X fourier 1 1.05 2 0.0 #
+ dihedral_coeff @dihedral:X-na-s6-X fourier 1 3.66666666667 2 180.0 #
+ dihedral_coeff @dihedral:X-na-sy-X fourier 1 3.66666666667 2 180.0 #
+ dihedral_coeff @dihedral:X-nh-nh-X fourier 1 1.8 3 180.0 #
+ dihedral_coeff @dihedral:X-nh-no-X fourier 1 2.55 2 180.0 #
+ dihedral_coeff @dihedral:X-nh-oh-X fourier 1 1.5 2 0.0 #
+ dihedral_coeff @dihedral:X-nh-os-X fourier 1 1.5 1 0.0 #
+ dihedral_coeff @dihedral:X-nh-p2-X fourier 1 1.4 2 180.0 #
+ dihedral_coeff @dihedral:X-nh-pe-X fourier 1 1.4 2 180.0 #
+ dihedral_coeff @dihedral:X-nh-pf-X fourier 1 1.4 2 180.0 #
+ dihedral_coeff @dihedral:X-nh-p3-X fourier 1 2.35 2 0.0 #
+ dihedral_coeff @dihedral:X-nh-p4-X fourier 1 1.175 3 0.0 #
+ dihedral_coeff @dihedral:X-nh-px-X fourier 1 1.175 3 0.0 #
+ dihedral_coeff @dihedral:X-nh-p5-X fourier 1 0.8 2 0.0 #
+ dihedral_coeff @dihedral:X-nh-py-X fourier 1 0.8 2 0.0 #
+ dihedral_coeff @dihedral:X-nh-sh-X fourier 1 1.6 2 0.0 #
+ dihedral_coeff @dihedral:X-nh-ss-X fourier 1 2.1 2 0.0 #
+ dihedral_coeff @dihedral:X-nh-s4-X fourier 2 0.75 2 0.0 0.1 3 180.0 #
+ dihedral_coeff @dihedral:X-nh-sx-X fourier 2 0.75 2 0.0 0.1 3 180.0 #
+ dihedral_coeff @dihedral:X-nh-s6-X fourier 1 0.1 2 180.0 #
+ dihedral_coeff @dihedral:X-nh-sy-X fourier 1 0.1 2 180.0 #
+ dihedral_coeff @dihedral:X-no-no-X fourier 2 0.4 4 180.0 1.8 2 180.0 #
+ dihedral_coeff @dihedral:X-no-oh-X fourier 1 3.9 2 180.0 #
+ dihedral_coeff @dihedral:X-no-os-X fourier 1 3.0 2 180.0 #
+ dihedral_coeff @dihedral:X-no-p2-X fourier 1 0.3 2 180.0 #
+ dihedral_coeff @dihedral:X-no-pe-X fourier 1 0.3 2 180.0 #
+ dihedral_coeff @dihedral:X-no-pf-X fourier 1 0.3 2 180.0 #
+ dihedral_coeff @dihedral:X-no-p3-X fourier 1 1.9 2 180.0 #
+ dihedral_coeff @dihedral:X-no-p4-X fourier 1 0.575 2 180.0 #
+ dihedral_coeff @dihedral:X-no-px-X fourier 1 0.575 2 180.0 #
+ dihedral_coeff @dihedral:X-no-p5-X fourier 2 2.4 2 0.0 0.4 3 0.0 #
+ dihedral_coeff @dihedral:X-no-py-X fourier 2 2.4 2 0.0 0.4 3 0.0 #
+ dihedral_coeff @dihedral:X-no-sh-X fourier 1 2.3 2 180.0 #
+ dihedral_coeff @dihedral:X-no-ss-X fourier 1 2.7 2 180.0 #
+ dihedral_coeff @dihedral:X-no-s4-X fourier 1 2.6 2 180.0 #
+ dihedral_coeff @dihedral:X-no-sx-X fourier 1 2.6 2 180.0 #
+ dihedral_coeff @dihedral:X-no-s6-X fourier 1 0.333333333333 2 0.0 #
+ dihedral_coeff @dihedral:X-no-sy-X fourier 1 0.333333333333 2 0.0 #
+ dihedral_coeff @dihedral:X-oh-oh-X fourier 1 1.6 2 0.0 #
+ dihedral_coeff @dihedral:X-oh-os-X fourier 1 1.6 2 0.0 #
+ dihedral_coeff @dihedral:X-oh-p2-X fourier 1 1.5 2 180.0 #
+ dihedral_coeff @dihedral:X-oh-pe-X fourier 1 1.5 2 180.0 #
+ dihedral_coeff @dihedral:X-oh-pf-X fourier 1 1.5 2 180.0 #
+ dihedral_coeff @dihedral:X-oh-p3-X fourier 1 0.4 3 180.0 #
+ dihedral_coeff @dihedral:X-oh-p4-X fourier 1 0.7 1 0.0 #
+ dihedral_coeff @dihedral:X-oh-px-X fourier 1 0.7 1 0.0 #
+ dihedral_coeff @dihedral:X-oh-p5-X fourier 1 0.533333333333 3 0.0 #
+ dihedral_coeff @dihedral:X-oh-py-X fourier 1 0.533333333333 3 0.0 #
+ dihedral_coeff @dihedral:X-oh-sh-X fourier 1 2.4 2 0.0 #
+ dihedral_coeff @dihedral:X-oh-ss-X fourier 1 2.4 2 0.0 #
+ dihedral_coeff @dihedral:X-oh-s4-X fourier 1 5.0 1 0.0 #
+ dihedral_coeff @dihedral:X-oh-sx-X fourier 1 5.0 1 0.0 #
+ dihedral_coeff @dihedral:X-oh-s6-X fourier 1 9.5 1 180.0 #
+ dihedral_coeff @dihedral:X-oh-sy-X fourier 1 9.5 1 180.0 #
+ dihedral_coeff @dihedral:X-os-os-X fourier 1 1.0 1 0.0 #
+ dihedral_coeff @dihedral:X-os-ss-X fourier 1 2.2 2 0.0 #
+ dihedral_coeff @dihedral:X-os-sh-X fourier 1 1.8 2 0.0 #
+ dihedral_coeff @dihedral:X-os-s4-X fourier 1 1.65 3 0.0 #
+ dihedral_coeff @dihedral:X-os-sx-X fourier 1 1.65 3 0.0 #
+ dihedral_coeff @dihedral:X-os-s6-X fourier 1 1.2 2 180.0 #
+ dihedral_coeff @dihedral:X-os-sy-X fourier 1 1.2 2 180.0 #
+ dihedral_coeff @dihedral:X-os-p2-X fourier 2 3.0 2 180.0 2.0 1 180.0 #
+ dihedral_coeff @dihedral:X-os-pe-X fourier 2 3.0 2 180.0 2.0 1 180.0 #
+ dihedral_coeff @dihedral:X-os-pf-X fourier 2 3.0 2 180.0 2.0 1 180.0 #
+ dihedral_coeff @dihedral:X-os-p3-X fourier 1 2.2 2 0.0 #
+ dihedral_coeff @dihedral:X-os-p4-X fourier 1 1.05 2 180.0 #
+ dihedral_coeff @dihedral:X-os-px-X fourier 1 1.05 2 180.0 #
+ dihedral_coeff @dihedral:X-os-p5-X fourier 1 0.8 2 0.0 #
+ dihedral_coeff @dihedral:X-os-py-X fourier 1 0.8 2 0.0 #
+ dihedral_coeff @dihedral:X-p2-p2-X fourier 1 6.6 2 180.0 # estimated, intrpol.
+ dihedral_coeff @dihedral:X-p2-pe-X fourier 1 6.6 2 180.0 # estimated, intrpol.
+ dihedral_coeff @dihedral:X-p2-pf-X fourier 1 6.6 2 180.0 # estimated, intrpol.
+ dihedral_coeff @dihedral:X-p2-pc-X fourier 1 6.6 2 180.0 # estimated, intrpol.
+ dihedral_coeff @dihedral:X-p2-pd-X fourier 1 6.6 2 180.0 # estimated, intrpol.
+ dihedral_coeff @dihedral:X-pe-pe-X fourier 1 1.2 2 180.0 # single bond
+ dihedral_coeff @dihedral:X-pf-pf-X fourier 1 1.2 2 180.0 # single bond
+ dihedral_coeff @dihedral:X-pc-pc-X fourier 1 7.2 2 180.0 # estimated, intrpol.
+ dihedral_coeff @dihedral:X-pd-pd-X fourier 1 7.2 2 180.0 # estimated, intrpol.
+ dihedral_coeff @dihedral:X-pc-pd-X fourier 1 7.2 2 180.0 # estimated, intrpol.
+ dihedral_coeff @dihedral:X-p2-p3-X fourier 1 1.2 1 0.0 #
+ dihedral_coeff @dihedral:X-pe-p3-X fourier 1 1.2 1 0.0 #
+ dihedral_coeff @dihedral:X-pf-p3-X fourier 1 1.2 1 0.0 #
+ dihedral_coeff @dihedral:X-p2-p4-X fourier 1 6.65 2 180.0 # estimated !!!
+ dihedral_coeff @dihedral:X-pe-px-X fourier 1 2.45 2 0.0 #
+ dihedral_coeff @dihedral:X-pf-px-X fourier 1 2.45 2 0.0 #
+ dihedral_coeff @dihedral:X-p2-p5-X fourier 1 6.66666666667 2 180.0 # estimated !!!
+ dihedral_coeff @dihedral:X-pe-py-X fourier 1 1.9 1 0.0 #
+ dihedral_coeff @dihedral:X-pf-py-X fourier 1 1.9 1 0.0 #
+ dihedral_coeff @dihedral:X-p2-sh-X fourier 1 1.4 2 180.0 #
+ dihedral_coeff @dihedral:X-pe-sh-X fourier 1 1.4 2 180.0 #
+ dihedral_coeff @dihedral:X-pf-sh-X fourier 1 1.4 2 180.0 #
+ dihedral_coeff @dihedral:X-p2-ss-X fourier 1 1.4 2 180.0 #
+ dihedral_coeff @dihedral:X-pe-ss-X fourier 1 1.4 2 180.0 #
+ dihedral_coeff @dihedral:X-pf-ss-X fourier 1 1.4 2 180.0 #
+ dihedral_coeff @dihedral:X-p2-s4-X fourier 1 6.65 2 180.0 # estimated !!!
+ dihedral_coeff @dihedral:X-pe-sx-X fourier 1 1.5 2 0.0 #
+ dihedral_coeff @dihedral:X-pf-sx-X fourier 1 1.5 2 0.0 #
+ dihedral_coeff @dihedral:X-p2-s6-X fourier 1 6.66666666667 2 180.0 # estimated !!!
+ dihedral_coeff @dihedral:X-pe-sy-X fourier 1 0.4 3 180.0 #
+ dihedral_coeff @dihedral:X-pf-sy-X fourier 1 0.4 3 180.0 #
+ dihedral_coeff @dihedral:X-p3-p3-X fourier 1 0.5 3 0.0 #
+ dihedral_coeff @dihedral:X-p3-p4-X fourier 1 0.9 1 0.0 #
+ dihedral_coeff @dihedral:X-p3-px-X fourier 1 0.9 1 0.0 #
+ dihedral_coeff @dihedral:X-p3-p5-X fourier 1 1.83333333333 2 180.0 #
+ dihedral_coeff @dihedral:X-p3-py-X fourier 1 1.83333333333 2 180.0 #
+ dihedral_coeff @dihedral:X-p3-sh-X fourier 1 4.6 2 0.0 #
+ dihedral_coeff @dihedral:X-p3-ss-X fourier 1 1.15 3 0.0 #
+ dihedral_coeff @dihedral:X-p3-s4-X fourier 1 3.85 2 0.0 #
+ dihedral_coeff @dihedral:X-p3-sx-X fourier 1 3.85 2 0.0 #
+ dihedral_coeff @dihedral:X-p3-s6-X fourier 1 0.266666666667 3 0.0 #
+ dihedral_coeff @dihedral:X-p3-sy-X fourier 1 0.266666666667 3 0.0 #
+ dihedral_coeff @dihedral:X-p4-p4-X fourier 1 6.65 2 180.0 # estimated !!!
+ dihedral_coeff @dihedral:X-px-px-X fourier 1 1.45 2 180.0 #
+ dihedral_coeff @dihedral:X-p4-p5-X fourier 1 6.65 2 180.0 # estimated !!!
+ dihedral_coeff @dihedral:X-px-py-X fourier 1 0.316666666667 2 180.0 #
+ dihedral_coeff @dihedral:X-p4-s4-X fourier 1 6.65 2 180.0 # estimated !!!
+ dihedral_coeff @dihedral:X-px-sx-X fourier 1 0.85 1 0.0 #
+ dihedral_coeff @dihedral:X-p4-s6-X fourier 1 6.65 2 180.0 # estimated !!!
+ dihedral_coeff @dihedral:X-px-sy-X fourier 1 0.116666666667 3 0.0 #
+ dihedral_coeff @dihedral:X-p4-sh-X fourier 1 0.25 1 180.0 #
+ dihedral_coeff @dihedral:X-px-sh-X fourier 1 0.25 1 180.0 #
+ dihedral_coeff @dihedral:X-p4-ss-X fourier 1 0.6 2 180.0 #
+ dihedral_coeff @dihedral:X-px-ss-X fourier 1 0.6 2 180.0 #
+ dihedral_coeff @dihedral:X-p5-p5-X fourier 1 6.66666666667 2 180.0 # estimated !!!
+ dihedral_coeff @dihedral:X-py-py-X fourier 1 0.6 2 0.0 #
+ dihedral_coeff @dihedral:X-p5-sh-X fourier 1 0.3 3 0.0 #
+ dihedral_coeff @dihedral:X-py-sh-X fourier 1 0.3 3 0.0 #
+ dihedral_coeff @dihedral:X-p5-ss-X fourier 1 3.8 2 180.0 #
+ dihedral_coeff @dihedral:X-py-ss-X fourier 1 3.8 2 180.0 #
+ dihedral_coeff @dihedral:X-p5-s4-X fourier 1 6.66666666667 2 180.0 # estimated !!!
+ dihedral_coeff @dihedral:X-py-sx-X fourier 1 0.266666666667 3 0.0 #
+ dihedral_coeff @dihedral:X-p5-s6-X fourier 1 6.66666666667 2 180.0 # estimated !!!
+ dihedral_coeff @dihedral:X-py-sy-X fourier 1 0.277777777778 3 0.0 #
+ dihedral_coeff @dihedral:X-sh-sh-X fourier 1 5.6 3 0.0 #
+ dihedral_coeff @dihedral:X-sh-ss-X fourier 1 5.3 3 0.0 #
+ dihedral_coeff @dihedral:X-sh-s4-X fourier 1 0.7 3 0.0 #
+ dihedral_coeff @dihedral:X-sh-sx-X fourier 1 0.7 3 0.0 #
+ dihedral_coeff @dihedral:X-sh-s6-X fourier 1 4.66666666667 2 180.0 #
+ dihedral_coeff @dihedral:X-sh-sy-X fourier 1 4.66666666667 2 180.0 #
+ dihedral_coeff @dihedral:X-ss-ss-X fourier 1 0.0 3 0.0 #
+ dihedral_coeff @dihedral:X-ss-s4-X fourier 1 0.3 3 0.0 #
+ dihedral_coeff @dihedral:X-ss-sx-X fourier 1 0.3 3 0.0 #
+ dihedral_coeff @dihedral:X-ss-s6-X fourier 1 3.06666666667 2 180.0 #
+ dihedral_coeff @dihedral:X-ss-sy-X fourier 1 3.06666666667 2 180.0 #
+ dihedral_coeff @dihedral:X-s4-s4-X fourier 1 6.65 2 180.0 # estimated !!!
+ dihedral_coeff @dihedral:X-sx-sx-X fourier 1 0.625 3 0.0 #
+ dihedral_coeff @dihedral:X-s4-s6-X fourier 1 6.66666666667 2 180.0 # estimated !!!
+ dihedral_coeff @dihedral:X-sx-sy-X fourier 1 4.33333333333 2 180.0 #
+ dihedral_coeff @dihedral:X-s6-s6-X fourier 1 6.66666666667 2 180.0 # estimated !!!
+ dihedral_coeff @dihedral:X-sy-sy-X fourier 1 0.155555555556 2 180.0 #
+ dihedral_coeff @dihedral:X-cf-pe-X fourier 1 6.65 2 180.0 # NEW
+ dihedral_coeff @dihedral:X-nd-os-X fourier 1 4.8 2 180.0 # NEW
+ dihedral_coeff @dihedral:X-nd-ss-X fourier 1 4.8 2 180.0 # NEW
+ dihedral_coeff @dihedral:X-nf-pe-X fourier 1 5.4 2 180.0 # NEW
+ dihedral_coeff @dihedral:c3-c-sh-hs fourier 2 2.25 2 180.0 1.3 1 180.0 #
+ dihedral_coeff @dihedral:c2-c2-ss-c3 fourier 2 1.1 2 180.0 0.7 3 180.0 #
+ dihedral_coeff @dihedral:c2-c2-n-c fourier 2 0.65 2 180.0 1.2 1 180.0 #
+ dihedral_coeff @dihedral:c-n-p2-c2 fourier 2 1.0 2 180.0 1.9 1 180.0 #
+ dihedral_coeff @dihedral:n-c3-c-n fourier 2 1.7 1 180.0 2.0 2 180.0 #
+ dihedral_coeff @dihedral:c-n-c3-c fourier 2 0.85 2 180.0 0.8 1 0.0 #
+ dihedral_coeff @dihedral:c3-c3-n-c fourier 3 0.5 4 180.0 0.15 3 180.0 0.53 1 0.0 # phi,psi,parm94
+ dihedral_coeff @dihedral:c3-c3-c-n fourier 2 0.1 4 0.0 0.07 2 0.0 # phi,psi,parm94
+ dihedral_coeff @dihedral:c2-ne-p5-o fourier 2 0.0 3 0.0 2.3 1 0.0 #
+ dihedral_coeff @dihedral:c2-nf-p5-o fourier 2 0.0 3 0.0 2.3 1 0.0 #
+ dihedral_coeff @dihedral:ce-ne-p5-o fourier 2 0.0 3 0.0 2.3 1 0.0 #
+ dihedral_coeff @dihedral:ce-nf-p5-o fourier 2 0.0 3 0.0 2.3 1 0.0 #
+ dihedral_coeff @dihedral:cf-ne-p5-o fourier 2 0.0 3 0.0 2.3 1 0.0 #
+ dihedral_coeff @dihedral:cf-nf-p5-o fourier 2 0.0 3 0.0 2.3 1 0.0 #
+ dihedral_coeff @dihedral:hn-n-c-o fourier 2 2.5 2 180.0 2.0 1 0.0 # JCC,7,(1986),230
+ dihedral_coeff @dihedral:c3-ss-ss-c3 fourier 2 3.5 2 0.0 0.6 3 0.0 # JCC,7,(1986),230
+ dihedral_coeff @dihedral:c3-n3-nh-ca fourier 2 1.9 2 0.0 1.9 3 0.0 #
+ dihedral_coeff @dihedral:c3-n3-p5-o fourier 2 3.0 2 180.0 2.3 3 0.0 #
+ dihedral_coeff @dihedral:ca-nh-oh-ho fourier 2 1.2 1 0.0 1.5 2 0.0 #
+ dihedral_coeff @dihedral:oh-p5-os-c3 fourier 2 0.25 3 0.0 1.2 2 0.0 # JCC,7,(1986),230
+ dihedral_coeff @dihedral:os-p5-os-c3 fourier 2 0.25 3 0.0 1.2 2 0.0 # JCC,7,(1986),230
+ dihedral_coeff @dihedral:h1-c3-c-o fourier 2 0.8 1 0.0 0.08 3 180.0 # Junmei et al, 1999
+ dihedral_coeff @dihedral:hc-c3-c-o fourier 2 0.8 1 0.0 0.08 3 180.0 # Junmei et al, 1999
+ dihedral_coeff @dihedral:hc-c3-c3-hc fourier 1 0.15 3 0.0 # Junmei et al, 1999
+ dihedral_coeff @dihedral:hc-c3-c3-c3 fourier 1 0.16 3 0.0 # Junmei et al, 1999
+ dihedral_coeff @dihedral:hc-c3-c2-c2 fourier 2 0.38 3 180.0 1.15 1 0.0 # Junmei et al, 1999
+ dihedral_coeff @dihedral:ho-oh-c3-c3 fourier 2 0.16 3 0.0 0.25 1 0.0 # Junmei et al, 1999
+ dihedral_coeff @dihedral:ho-oh-c-o fourier 2 2.3 2 180.0 1.9 1 0.0 # Junmei et al, 1999
+ dihedral_coeff @dihedral:c2-c2-c-o fourier 2 2.175 2 180.0 0.3 3 0.0 # Junmei et al, 1999
+ dihedral_coeff @dihedral:c3-c2-c2-c3 fourier 2 6.65 2 180.0 1.9 1 180.0 # Junmei et al, 1999
+ dihedral_coeff @dihedral:c3-c3-c3-c3 fourier 3 0.18 3 0.0 0.25 2 180.0 0.2 1 180.0 # Junmei et al, 1999
+ dihedral_coeff @dihedral:c3-c3-n3-c3 fourier 2 0.3 3 0.0 0.48 2 180.0 # Junmei et al, 1999
+ dihedral_coeff @dihedral:c3-c3-os-c3 fourier 2 0.383 3 0.0 0.1 2 180.0 #
+ dihedral_coeff @dihedral:c3-c3-os-c fourier 2 0.383 3 0.0 0.8 1 180.0 # Junmei et al, 1999
+ dihedral_coeff @dihedral:c3-os-c3-os fourier 3 0.1 3 0.0 0.85 2 180.0 1.35 1 180.0 # Junmei et al, 1999
+ dihedral_coeff @dihedral:c3-os-c3-na fourier 2 0.383 3 0.0 0.65 2 0.0 # parm98.dat, TC,PC,PAK
+ dihedral_coeff @dihedral:o-c-os-c3 fourier 2 2.7 2 180.0 1.4 1 180.0 # Junmei et al, 1999
+ dihedral_coeff @dihedral:os-c3-na-c2 fourier 2 0.0 2 0.0 2.5 1 0.0 # parm98, TC,PC,PAK
+ dihedral_coeff @dihedral:os-c3-c3-os fourier 2 0.144 3 0.0 1.175 2 0.0 # parm98, TC,PC,PAK
+ dihedral_coeff @dihedral:os-c3-c3-oh fourier 2 0.144 3 0.0 1.175 2 0.0 # parm98, TC,PC,PAK
+ dihedral_coeff @dihedral:oh-c3-c3-oh fourier 2 0.144 3 0.0 1.175 2 0.0 # parm98, TC,PC,PAK
+ dihedral_coeff @dihedral:f-c3-c3-f fourier 2 0.0 3 0.0 1.2 1 180.0 # Junmei et al, 1999
+ dihedral_coeff @dihedral:cl-c3-c3-cl fourier 2 0.0 3 0.0 0.45 1 180.0 # Junmei et al, 1999
+ dihedral_coeff @dihedral:br-c3-c3-br fourier 2 0.0 3 0.0 0.0 1 180.0 # Junmei et al, 1999
+ dihedral_coeff @dihedral:h1-c3-c3-os fourier 2 0.0 3 0.0 0.25 1 0.0 # Junmei et al, 1999
+ dihedral_coeff @dihedral:h1-c3-c3-oh fourier 2 0.0 3 0.0 0.25 1 0.0 # Junmei et al, 1999
+ dihedral_coeff @dihedral:h1-c3-c3-f fourier 2 0.0 3 0.0 0.19 1 0.0 # Junmei et al, 1999
+ dihedral_coeff @dihedral:h1-c3-c3-cl fourier 2 0.0 3 0.0 0.25 1 0.0 # Junmei et al, 1999
+ dihedral_coeff @dihedral:h1-c3-c3-br fourier 2 0.0 3 0.0 0.55 1 0.0 # Junmei et al, 1999
+ dihedral_coeff @dihedral:hc-c3-c3-os fourier 2 0.0 3 0.0 0.25 1 0.0 # Junmei et al, 1999
+ dihedral_coeff @dihedral:hc-c3-c3-oh fourier 2 0.0 3 0.0 0.25 1 0.0 # Junmei et al, 1999
+ dihedral_coeff @dihedral:hc-c3-c3-f fourier 2 0.0 3 0.0 0.19 1 0.0 # Junmei et al, 1999
+ dihedral_coeff @dihedral:hc-c3-c3-cl fourier 2 0.0 3 0.0 0.25 1 0.0 # Junmei et al, 1999
+ dihedral_coeff @dihedral:hc-c3-c3-br fourier 2 0.0 3 0.0 0.55 1 0.0 # Junmei et al, 1999
+ } # (end of dihedral_coeffs)
+
+ write_once("Data Dihedrals By Type") {
+ @dihedral:X-c-c-X @atom:* @atom:c @atom:c @atom:*
+ @dihedral:X-c-c1-X @atom:* @atom:c @atom:c1 @atom:*
+ @dihedral:X-c-cg-X @atom:* @atom:c @atom:cg @atom:*
+ @dihedral:X-c-ch-X @atom:* @atom:c @atom:ch @atom:*
+ @dihedral:X-c-c2-X @atom:* @atom:c @atom:c2 @atom:*
+ @dihedral:X-c-cu-X @atom:* @atom:c @atom:cu @atom:*
+ @dihedral:X-c-cv-X @atom:* @atom:c @atom:cv @atom:*
+ @dihedral:X-c-ce-X @atom:* @atom:c @atom:ce @atom:*
+ @dihedral:X-c-cf-X @atom:* @atom:c @atom:cf @atom:*
+ @dihedral:X-c-c3-X @atom:* @atom:c @atom:c3 @atom:*
+ @dihedral:X-c-cx-X @atom:* @atom:c @atom:cx @atom:*
+ @dihedral:X-c-cy-X @atom:* @atom:c @atom:cy @atom:*
+ @dihedral:X-c-ca-X @atom:* @atom:c @atom:ca @atom:*
+ @dihedral:X-c-cc-X @atom:* @atom:c @atom:cc @atom:*
+ @dihedral:X-c-cd-X @atom:* @atom:c @atom:cd @atom:*
+ @dihedral:X-c-n-X @atom:* @atom:c @atom:n @atom:*
+ @dihedral:X-c-n2-X @atom:* @atom:c @atom:n2 @atom:*
+ @dihedral:X-c-nc-X @atom:* @atom:c @atom:nc @atom:*
+ @dihedral:X-c-nd-X @atom:* @atom:c @atom:nd @atom:*
+ @dihedral:X-c-ne-X @atom:* @atom:c @atom:ne @atom:*
+ @dihedral:X-c-nf-X @atom:* @atom:c @atom:nf @atom:*
+ @dihedral:X-c-na-X @atom:* @atom:c @atom:na @atom:*
+ @dihedral:X-c-na-X @atom:* @atom:c @atom:na @atom:*
+ @dihedral:X-c-no-X @atom:* @atom:c @atom:no @atom:*
+ @dihedral:X-c-oh-X @atom:* @atom:c @atom:oh @atom:*
+ @dihedral:X-c-os-X @atom:* @atom:c @atom:os @atom:*
+ @dihedral:X-c-p2-X @atom:* @atom:c @atom:p2 @atom:*
+ @dihedral:X-c-pc-X @atom:* @atom:c @atom:pc @atom:*
+ @dihedral:X-c-pd-X @atom:* @atom:c @atom:pd @atom:*
+ @dihedral:X-c-pe-X @atom:* @atom:c @atom:pe @atom:*
+ @dihedral:X-c-pf-X @atom:* @atom:c @atom:pf @atom:*
+ @dihedral:X-c-p3-X @atom:* @atom:c @atom:p3 @atom:*
+ @dihedral:X-c-p4-X @atom:* @atom:c @atom:p4 @atom:*
+ @dihedral:X-c-px-X @atom:* @atom:c @atom:px @atom:*
+ @dihedral:X-c-p5-X @atom:* @atom:c @atom:p5 @atom:*
+ @dihedral:X-c-py-X @atom:* @atom:c @atom:py @atom:*
+ @dihedral:X-c-sh-X @atom:* @atom:c @atom:sh @atom:*
+ @dihedral:X-c-ss-X @atom:* @atom:c @atom:ss @atom:*
+ @dihedral:X-c-s4-X @atom:* @atom:c @atom:s4 @atom:*
+ @dihedral:X-c-sx-X @atom:* @atom:c @atom:sx @atom:*
+ @dihedral:X-c-s6-X @atom:* @atom:c @atom:s6 @atom:*
+ @dihedral:X-c-sy-X @atom:* @atom:c @atom:sy @atom:*
+ @dihedral:X-c1-c1-X @atom:* @atom:c1 @atom:c1 @atom:*
+ @dihedral:X-c1-cg-X @atom:* @atom:c1 @atom:cg @atom:*
+ @dihedral:X-c1-ch-X @atom:* @atom:c1 @atom:ch @atom:*
+ @dihedral:X-cg-cg-X @atom:* @atom:cg @atom:cg @atom:*
+ @dihedral:X-ch-ch-X @atom:* @atom:ch @atom:ch @atom:*
+ @dihedral:X-cg-ch-X @atom:* @atom:cg @atom:ch @atom:*
+ @dihedral:X-c1-c2-X @atom:* @atom:c1 @atom:c2 @atom:*
+ @dihedral:X-c1-c3-X @atom:* @atom:c1 @atom:c3 @atom:*
+ @dihedral:X-c1-ca-X @atom:* @atom:c1 @atom:ca @atom:*
+ @dihedral:X-c1-cc-X @atom:* @atom:c1 @atom:cc @atom:*
+ @dihedral:X-c1-cd-X @atom:* @atom:c1 @atom:cd @atom:*
+ @dihedral:X-c1-ce-X @atom:* @atom:c1 @atom:ce @atom:*
+ @dihedral:X-c1-cf-X @atom:* @atom:c1 @atom:cf @atom:*
+ @dihedral:X-c1-cu-X @atom:* @atom:c1 @atom:cu @atom:*
+ @dihedral:X-c1-cv-X @atom:* @atom:c1 @atom:cv @atom:*
+ @dihedral:X-c1-cx-X @atom:* @atom:c1 @atom:cx @atom:*
+ @dihedral:X-c1-cy-X @atom:* @atom:c1 @atom:cy @atom:*
+ @dihedral:X-c1-n-X @atom:* @atom:c1 @atom:n @atom:*
+ @dihedral:X-c1-n2-X @atom:* @atom:c1 @atom:n2 @atom:*
+ @dihedral:X-c1-n3-X @atom:* @atom:c1 @atom:n3 @atom:*
+ @dihedral:X-c1-n4-X @atom:* @atom:c1 @atom:n4 @atom:*
+ @dihedral:X-c1-na-X @atom:* @atom:c1 @atom:na @atom:*
+ @dihedral:X-c1-nb-X @atom:* @atom:c1 @atom:nb @atom:*
+ @dihedral:X-c1-nc-X @atom:* @atom:c1 @atom:nc @atom:*
+ @dihedral:X-c1-nd-X @atom:* @atom:c1 @atom:nd @atom:*
+ @dihedral:X-c1-ne-X @atom:* @atom:c1 @atom:ne @atom:*
+ @dihedral:X-c1-nf-X @atom:* @atom:c1 @atom:nf @atom:*
+ @dihedral:X-c1-nh-X @atom:* @atom:c1 @atom:nh @atom:*
+ @dihedral:X-c1-no-X @atom:* @atom:c1 @atom:no @atom:*
+ @dihedral:X-c1-oh-X @atom:* @atom:c1 @atom:oh @atom:*
+ @dihedral:X-c1-os-X @atom:* @atom:c1 @atom:os @atom:*
+ @dihedral:X-c1-p2-X @atom:* @atom:c1 @atom:p2 @atom:*
+ @dihedral:X-c1-pb-X @atom:* @atom:c1 @atom:pb @atom:*
+ @dihedral:X-c1-pc-X @atom:* @atom:c1 @atom:pc @atom:*
+ @dihedral:X-c1-pd-X @atom:* @atom:c1 @atom:pd @atom:*
+ @dihedral:X-c1-pe-X @atom:* @atom:c1 @atom:pe @atom:*
+ @dihedral:X-c1-pf-X @atom:* @atom:c1 @atom:pf @atom:*
+ @dihedral:X-c1-p3-X @atom:* @atom:c1 @atom:p3 @atom:*
+ @dihedral:X-c1-p4-X @atom:* @atom:c1 @atom:p4 @atom:*
+ @dihedral:X-c1-px-X @atom:* @atom:c1 @atom:px @atom:*
+ @dihedral:X-c1-p5-X @atom:* @atom:c1 @atom:p5 @atom:*
+ @dihedral:X-c1-py-X @atom:* @atom:c1 @atom:py @atom:*
+ @dihedral:X-c1-s2-X @atom:* @atom:c1 @atom:s2 @atom:*
+ @dihedral:X-c1-sh-X @atom:* @atom:c1 @atom:sh @atom:*
+ @dihedral:X-c1-ss-X @atom:* @atom:c1 @atom:ss @atom:*
+ @dihedral:X-c1-s4-X @atom:* @atom:c1 @atom:s4 @atom:*
+ @dihedral:X-c1-sx-X @atom:* @atom:c1 @atom:sx @atom:*
+ @dihedral:X-c1-s6-X @atom:* @atom:c1 @atom:s6 @atom:*
+ @dihedral:X-c1-sy-X @atom:* @atom:c1 @atom:sy @atom:*
+ @dihedral:X-c2-c2-X @atom:* @atom:c2 @atom:c2 @atom:*
+ @dihedral:X-c2-ce-X @atom:* @atom:c2 @atom:ce @atom:*
+ @dihedral:X-c2-cf-X @atom:* @atom:c2 @atom:cf @atom:*
+ @dihedral:X-ce-cf-X @atom:* @atom:ce @atom:cf @atom:*
+ @dihedral:X-ce-ce-X @atom:* @atom:ce @atom:ce @atom:*
+ @dihedral:X-cf-cf-X @atom:* @atom:cf @atom:cf @atom:*
+ @dihedral:X-cc-cd-X @atom:* @atom:cc @atom:cd @atom:*
+ @dihedral:X-cc-cc-X @atom:* @atom:cc @atom:cc @atom:*
+ @dihedral:X-cd-cd-X @atom:* @atom:cd @atom:cd @atom:*
+ @dihedral:X-c2-c3-X @atom:* @atom:c2 @atom:c3 @atom:*
+ @dihedral:X-c2-ca-X @atom:* @atom:c2 @atom:ca @atom:*
+ @dihedral:X-c2-n-X @atom:* @atom:c2 @atom:n @atom:*
+ @dihedral:X-c2-n2-X @atom:* @atom:c2 @atom:n2 @atom:*
+ @dihedral:X-c2-ne-X @atom:* @atom:c2 @atom:ne @atom:*
+ @dihedral:X-c2-nf-X @atom:* @atom:c2 @atom:nf @atom:*
+ @dihedral:X-ce-ne-X @atom:* @atom:ce @atom:ne @atom:*
+ @dihedral:X-cf-nf-X @atom:* @atom:cf @atom:nf @atom:*
+ @dihedral:X-c2-nc-X @atom:* @atom:c2 @atom:nc @atom:*
+ @dihedral:X-c2-nd-X @atom:* @atom:c2 @atom:nd @atom:*
+ @dihedral:X-cc-nd-X @atom:* @atom:cc @atom:nd @atom:*
+ @dihedral:X-cd-nc-X @atom:* @atom:cd @atom:nc @atom:*
+ @dihedral:X-cc-nc-X @atom:* @atom:cc @atom:nc @atom:*
+ @dihedral:X-cd-nd-X @atom:* @atom:cd @atom:nd @atom:*
+ @dihedral:X-c2-n3-X @atom:* @atom:c2 @atom:n3 @atom:*
+ @dihedral:X-c2-n4-X @atom:* @atom:c2 @atom:n4 @atom:*
+ @dihedral:X-c2-na-X @atom:* @atom:c2 @atom:na @atom:*
+ @dihedral:X-cc-na-X @atom:* @atom:cc @atom:na @atom:*
+ @dihedral:X-cd-na-X @atom:* @atom:cd @atom:na @atom:*
+ @dihedral:X-c2-nh-X @atom:* @atom:c2 @atom:nh @atom:*
+ @dihedral:X-c2-no-X @atom:* @atom:c2 @atom:no @atom:*
+ @dihedral:X-c2-oh-X @atom:* @atom:c2 @atom:oh @atom:*
+ @dihedral:X-c2-os-X @atom:* @atom:c2 @atom:os @atom:*
+ @dihedral:X-c2-p2-X @atom:* @atom:c2 @atom:p2 @atom:*
+ @dihedral:X-c2-pe-X @atom:* @atom:c2 @atom:pe @atom:*
+ @dihedral:X-c2-pf-X @atom:* @atom:c2 @atom:pf @atom:*
+ @dihedral:X-ce-pf-X @atom:* @atom:ce @atom:pf @atom:*
+ @dihedral:X-ce-pe-X @atom:* @atom:ce @atom:pe @atom:*
+ @dihedral:X-cf-pf-X @atom:* @atom:cf @atom:pf @atom:*
+ @dihedral:X-c2-pc-X @atom:* @atom:c2 @atom:pc @atom:*
+ @dihedral:X-c2-pd-X @atom:* @atom:c2 @atom:pd @atom:*
+ @dihedral:X-cc-pc-X @atom:* @atom:cc @atom:pc @atom:*
+ @dihedral:X-cc-pd-X @atom:* @atom:cc @atom:pd @atom:*
+ @dihedral:X-cd-pc-X @atom:* @atom:cd @atom:pc @atom:*
+ @dihedral:X-cd-pd-X @atom:* @atom:cd @atom:pd @atom:*
+ @dihedral:X-c2-p3-X @atom:* @atom:c2 @atom:p3 @atom:*
+ @dihedral:X-c2-p4-X @atom:* @atom:c2 @atom:p4 @atom:*
+ @dihedral:X-ce-p4-X @atom:* @atom:ce @atom:p4 @atom:*
+ @dihedral:X-cf-p4-X @atom:* @atom:cf @atom:p4 @atom:*
+ @dihedral:X-c2-px-X @atom:* @atom:c2 @atom:px @atom:*
+ @dihedral:X-ce-px-X @atom:* @atom:ce @atom:px @atom:*
+ @dihedral:X-cf-px-X @atom:* @atom:cf @atom:px @atom:*
+ @dihedral:X-c2-p5-X @atom:* @atom:c2 @atom:p5 @atom:*
+ @dihedral:X-ce-p5-X @atom:* @atom:ce @atom:p5 @atom:*
+ @dihedral:X-cf-p5-X @atom:* @atom:cf @atom:p5 @atom:*
+ @dihedral:X-c2-py-X @atom:* @atom:c2 @atom:py @atom:*
+ @dihedral:X-ce-py-X @atom:* @atom:ce @atom:py @atom:*
+ @dihedral:X-cf-py-X @atom:* @atom:cf @atom:py @atom:*
+ @dihedral:X-c2-sh-X @atom:* @atom:c2 @atom:sh @atom:*
+ @dihedral:X-c2-ss-X @atom:* @atom:c2 @atom:ss @atom:*
+ @dihedral:X-c2-s4-X @atom:* @atom:c2 @atom:s4 @atom:*
+ @dihedral:X-ce-s4-X @atom:* @atom:ce @atom:s4 @atom:*
+ @dihedral:X-cf-s4-X @atom:* @atom:cf @atom:s4 @atom:*
+ @dihedral:X-c2-sx-X @atom:* @atom:c2 @atom:sx @atom:*
+ @dihedral:X-ce-sx-X @atom:* @atom:ce @atom:sx @atom:*
+ @dihedral:X-cf-sx-X @atom:* @atom:cf @atom:sx @atom:*
+ @dihedral:X-c2-s6-X @atom:* @atom:c2 @atom:s6 @atom:*
+ @dihedral:X-ce-s6-X @atom:* @atom:ce @atom:s6 @atom:*
+ @dihedral:X-cf-s6-X @atom:* @atom:cf @atom:s6 @atom:*
+ @dihedral:X-c2-sy-X @atom:* @atom:c2 @atom:sy @atom:*
+ @dihedral:X-ce-sy-X @atom:* @atom:ce @atom:sy @atom:*
+ @dihedral:X-cf-sy-X @atom:* @atom:cf @atom:sy @atom:*
+ @dihedral:X-c3-c3-X @atom:* @atom:c3 @atom:c3 @atom:*
+ @dihedral:X-cx-cx-X @atom:* @atom:cx @atom:cx @atom:*
+ @dihedral:X-cy-cy-X @atom:* @atom:cy @atom:cy @atom:*
+ @dihedral:X-c3-ca-X @atom:* @atom:c3 @atom:ca @atom:*
+ @dihedral:X-c3-n-X @atom:* @atom:c3 @atom:n @atom:*
+ @dihedral:X-cx-n-X @atom:* @atom:cx @atom:n @atom:*
+ @dihedral:X-cy-n-X @atom:* @atom:cy @atom:n @atom:*
+ @dihedral:X-c3-n2-X @atom:* @atom:c3 @atom:n2 @atom:*
+ @dihedral:X-c3-ne-X @atom:* @atom:c3 @atom:ne @atom:*
+ @dihedral:X-c3-nf-X @atom:* @atom:c3 @atom:nf @atom:*
+ @dihedral:X-c3-n3-X @atom:* @atom:c3 @atom:n3 @atom:*
+ @dihedral:X-c3-n4-X @atom:* @atom:c3 @atom:n4 @atom:*
+ @dihedral:X-c3-na-X @atom:* @atom:c3 @atom:na @atom:*
+ @dihedral:X-c3-nh-X @atom:* @atom:c3 @atom:nh @atom:*
+ @dihedral:X-c3-no-X @atom:* @atom:c3 @atom:no @atom:*
+ @dihedral:X-c3-oh-X @atom:* @atom:c3 @atom:oh @atom:*
+ @dihedral:X-c3-os-X @atom:* @atom:c3 @atom:os @atom:*
+ @dihedral:X-c3-p2-X @atom:* @atom:c3 @atom:p2 @atom:*
+ @dihedral:X-c3-pe-X @atom:* @atom:c3 @atom:pe @atom:*
+ @dihedral:X-c3-pf-X @atom:* @atom:c3 @atom:pf @atom:*
+ @dihedral:X-c3-p3-X @atom:* @atom:c3 @atom:p3 @atom:*
+ @dihedral:X-c3-p4-X @atom:* @atom:c3 @atom:p4 @atom:*
+ @dihedral:X-c3-px-X @atom:* @atom:c3 @atom:px @atom:*
+ @dihedral:X-c3-p5-X @atom:* @atom:c3 @atom:p5 @atom:*
+ @dihedral:X-c3-py-X @atom:* @atom:c3 @atom:py @atom:*
+ @dihedral:X-c3-sh-X @atom:* @atom:c3 @atom:sh @atom:*
+ @dihedral:X-c3-ss-X @atom:* @atom:c3 @atom:ss @atom:*
+ @dihedral:X-c3-s4-X @atom:* @atom:c3 @atom:s4 @atom:*
+ @dihedral:X-c3-sx-X @atom:* @atom:c3 @atom:sx @atom:*
+ @dihedral:X-c3-s6-X @atom:* @atom:c3 @atom:s6 @atom:*
+ @dihedral:X-c3-sy-X @atom:* @atom:c3 @atom:sy @atom:*
+ @dihedral:X-c3-cc-X @atom:* @atom:c3 @atom:cc @atom:*
+ @dihedral:X-c3-cd-X @atom:* @atom:c3 @atom:cd @atom:*
+ @dihedral:X-ca-ca-X @atom:* @atom:ca @atom:ca @atom:*
+ @dihedral:X-ca-cp-X @atom:* @atom:ca @atom:cp @atom:*
+ @dihedral:X-ca-cq-X @atom:* @atom:ca @atom:cq @atom:*
+ @dihedral:X-cp-cp-X @atom:* @atom:cp @atom:cp @atom:*
+ @dihedral:X-cq-cq-X @atom:* @atom:cq @atom:cq @atom:*
+ @dihedral:X-ca-n-X @atom:* @atom:ca @atom:n @atom:*
+ @dihedral:X-ca-n2-X @atom:* @atom:ca @atom:n2 @atom:*
+ @dihedral:X-ca-ne-X @atom:* @atom:ca @atom:ne @atom:*
+ @dihedral:X-ca-nf-X @atom:* @atom:ca @atom:nf @atom:*
+ @dihedral:X-ca-n4-X @atom:* @atom:ca @atom:n4 @atom:*
+ @dihedral:X-ca-na-X @atom:* @atom:ca @atom:na @atom:*
+ @dihedral:X-ca-nb-X @atom:* @atom:ca @atom:nb @atom:*
+ @dihedral:X-ca-nc-X @atom:* @atom:ca @atom:nc @atom:*
+ @dihedral:X-ca-nd-X @atom:* @atom:ca @atom:nd @atom:*
+ @dihedral:X-ca-nh-X @atom:* @atom:ca @atom:nh @atom:*
+ @dihedral:X-cc-nh-X @atom:* @atom:cc @atom:nh @atom:*
+ @dihedral:X-cd-nh-X @atom:* @atom:cd @atom:nh @atom:*
+ @dihedral:X-ca-no-X @atom:* @atom:ca @atom:no @atom:*
+ @dihedral:X-ca-oh-X @atom:* @atom:ca @atom:oh @atom:*
+ @dihedral:X-ca-os-X @atom:* @atom:ca @atom:os @atom:*
+ @dihedral:X-ca-p2-X @atom:* @atom:ca @atom:p2 @atom:*
+ @dihedral:X-ca-pe-X @atom:* @atom:ca @atom:pe @atom:*
+ @dihedral:X-ca-pf-X @atom:* @atom:ca @atom:pf @atom:*
+ @dihedral:X-ca-pc-X @atom:* @atom:ca @atom:pc @atom:*
+ @dihedral:X-ca-pd-X @atom:* @atom:ca @atom:pd @atom:*
+ @dihedral:X-ca-p3-X @atom:* @atom:ca @atom:p3 @atom:*
+ @dihedral:X-ca-p4-X @atom:* @atom:ca @atom:p4 @atom:*
+ @dihedral:X-ca-px-X @atom:* @atom:ca @atom:px @atom:*
+ @dihedral:X-ca-p5-X @atom:* @atom:ca @atom:p5 @atom:*
+ @dihedral:X-ca-py-X @atom:* @atom:ca @atom:py @atom:*
+ @dihedral:X-ca-sh-X @atom:* @atom:ca @atom:sh @atom:*
+ @dihedral:X-ca-ss-X @atom:* @atom:ca @atom:ss @atom:*
+ @dihedral:X-ca-s4-X @atom:* @atom:ca @atom:s4 @atom:*
+ @dihedral:X-ca-sx-X @atom:* @atom:ca @atom:sx @atom:*
+ @dihedral:X-ca-s6-X @atom:* @atom:ca @atom:s6 @atom:*
+ @dihedral:X-ca-sy-X @atom:* @atom:ca @atom:sy @atom:*
+ @dihedral:X-n-cc-X @atom:* @atom:n @atom:cc @atom:*
+ @dihedral:X-n-cd-X @atom:* @atom:n @atom:cd @atom:*
+ @dihedral:X-n-n-X @atom:* @atom:n @atom:n @atom:*
+ @dihedral:X-n-n2-X @atom:* @atom:n @atom:n2 @atom:*
+ @dihedral:X-n-ne-X @atom:* @atom:n @atom:ne @atom:*
+ @dihedral:X-n-nf-X @atom:* @atom:n @atom:nf @atom:*
+ @dihedral:X-n-n3-X @atom:* @atom:n @atom:n3 @atom:*
+ @dihedral:X-n-n4-X @atom:* @atom:n @atom:n4 @atom:*
+ @dihedral:X-n-na-X @atom:* @atom:n @atom:na @atom:*
+ @dihedral:X-n-nc-X @atom:* @atom:n @atom:nc @atom:*
+ @dihedral:X-n-nd-X @atom:* @atom:n @atom:nd @atom:*
+ @dihedral:X-n-nh-X @atom:* @atom:n @atom:nh @atom:*
+ @dihedral:X-n-no-X @atom:* @atom:n @atom:no @atom:*
+ @dihedral:X-n-oh-X @atom:* @atom:n @atom:oh @atom:*
+ @dihedral:X-n-os-X @atom:* @atom:n @atom:os @atom:*
+ @dihedral:X-n-p2-X @atom:* @atom:n @atom:p2 @atom:*
+ @dihedral:X-n-pe-X @atom:* @atom:n @atom:pe @atom:*
+ @dihedral:X-n-pf-X @atom:* @atom:n @atom:pf @atom:*
+ @dihedral:X-n-pc-X @atom:* @atom:n @atom:pc @atom:*
+ @dihedral:X-n-pd-X @atom:* @atom:n @atom:pd @atom:*
+ @dihedral:X-n-p3-X @atom:* @atom:n @atom:p3 @atom:*
+ @dihedral:X-n-p4-X @atom:* @atom:n @atom:p4 @atom:*
+ @dihedral:X-n-px-X @atom:* @atom:n @atom:px @atom:*
+ @dihedral:X-n-p5-X @atom:* @atom:n @atom:p5 @atom:*
+ @dihedral:X-n-py-X @atom:* @atom:n @atom:py @atom:*
+ @dihedral:X-n-sh-X @atom:* @atom:n @atom:sh @atom:*
+ @dihedral:X-n-ss-X @atom:* @atom:n @atom:ss @atom:*
+ @dihedral:X-n-s4-X @atom:* @atom:n @atom:s4 @atom:*
+ @dihedral:X-n-sx-X @atom:* @atom:n @atom:sx @atom:*
+ @dihedral:X-n-s6-X @atom:* @atom:n @atom:s6 @atom:*
+ @dihedral:X-n-sy-X @atom:* @atom:n @atom:sy @atom:*
+ @dihedral:X-n1-c2-X @atom:* @atom:n1 @atom:c2 @atom:*
+ @dihedral:X-n1-c3-X @atom:* @atom:n1 @atom:c3 @atom:*
+ @dihedral:X-n1-ca-X @atom:* @atom:n1 @atom:ca @atom:*
+ @dihedral:X-n1-cc-X @atom:* @atom:n1 @atom:cc @atom:*
+ @dihedral:X-n1-cd-X @atom:* @atom:n1 @atom:cd @atom:*
+ @dihedral:X-n1-ce-X @atom:* @atom:n1 @atom:ce @atom:*
+ @dihedral:X-n1-cf-X @atom:* @atom:n1 @atom:cf @atom:*
+ @dihedral:X-n1-cu-X @atom:* @atom:n1 @atom:cu @atom:*
+ @dihedral:X-n1-cv-X @atom:* @atom:n1 @atom:cv @atom:*
+ @dihedral:X-n1-cx-X @atom:* @atom:n1 @atom:cx @atom:*
+ @dihedral:X-n1-cy-X @atom:* @atom:n1 @atom:cy @atom:*
+ @dihedral:X-n1-n-X @atom:* @atom:n1 @atom:n @atom:*
+ @dihedral:X-n1-n1-X @atom:* @atom:n1 @atom:n1 @atom:*
+ @dihedral:X-n1-n2-X @atom:* @atom:n1 @atom:n2 @atom:*
+ @dihedral:X-n1-n3-X @atom:* @atom:n1 @atom:n3 @atom:*
+ @dihedral:X-n1-n4-X @atom:* @atom:n1 @atom:n4 @atom:*
+ @dihedral:X-n1-na-X @atom:* @atom:n1 @atom:na @atom:*
+ @dihedral:X-n1-nb-X @atom:* @atom:n1 @atom:nb @atom:*
+ @dihedral:X-n1-nc-X @atom:* @atom:n1 @atom:nc @atom:*
+ @dihedral:X-n1-nd-X @atom:* @atom:n1 @atom:nd @atom:*
+ @dihedral:X-n1-ne-X @atom:* @atom:n1 @atom:ne @atom:*
+ @dihedral:X-n1-nf-X @atom:* @atom:n1 @atom:nf @atom:*
+ @dihedral:X-n1-nh-X @atom:* @atom:n1 @atom:nh @atom:*
+ @dihedral:X-n1-no-X @atom:* @atom:n1 @atom:no @atom:*
+ @dihedral:X-n1-oh-X @atom:* @atom:n1 @atom:oh @atom:*
+ @dihedral:X-n1-os-X @atom:* @atom:n1 @atom:os @atom:*
+ @dihedral:X-n1-p2-X @atom:* @atom:n1 @atom:p2 @atom:*
+ @dihedral:X-n1-pb-X @atom:* @atom:n1 @atom:pb @atom:*
+ @dihedral:X-n1-pc-X @atom:* @atom:n1 @atom:pc @atom:*
+ @dihedral:X-n1-pd-X @atom:* @atom:n1 @atom:pd @atom:*
+ @dihedral:X-n1-pe-X @atom:* @atom:n1 @atom:pe @atom:*
+ @dihedral:X-n1-pf-X @atom:* @atom:n1 @atom:pf @atom:*
+ @dihedral:X-n1-p3-X @atom:* @atom:n1 @atom:p3 @atom:*
+ @dihedral:X-n1-p4-X @atom:* @atom:n1 @atom:p4 @atom:*
+ @dihedral:X-n1-px-X @atom:* @atom:n1 @atom:px @atom:*
+ @dihedral:X-n1-p5-X @atom:* @atom:n1 @atom:p5 @atom:*
+ @dihedral:X-n1-py-X @atom:* @atom:n1 @atom:py @atom:*
+ @dihedral:X-n1-s2-X @atom:* @atom:n1 @atom:s2 @atom:*
+ @dihedral:X-n1-sh-X @atom:* @atom:n1 @atom:sh @atom:*
+ @dihedral:X-n1-ss-X @atom:* @atom:n1 @atom:ss @atom:*
+ @dihedral:X-n1-s4-X @atom:* @atom:n1 @atom:s4 @atom:*
+ @dihedral:X-n1-sx-X @atom:* @atom:n1 @atom:sx @atom:*
+ @dihedral:X-n1-s6-X @atom:* @atom:n1 @atom:s6 @atom:*
+ @dihedral:X-n1-sy-X @atom:* @atom:n1 @atom:sy @atom:*
+ @dihedral:X-n2-n2-X @atom:* @atom:n2 @atom:n2 @atom:*
+ @dihedral:X-n2-n2-X @atom:* @atom:n2 @atom:n2 @atom:*
+ @dihedral:X-n2-ne-X @atom:* @atom:n2 @atom:ne @atom:*
+ @dihedral:X-n2-ne-X @atom:* @atom:n2 @atom:ne @atom:*
+ @dihedral:X-n2-nf-X @atom:* @atom:n2 @atom:nf @atom:*
+ @dihedral:X-n2-nf-X @atom:* @atom:n2 @atom:nf @atom:*
+ @dihedral:X-ne-nf-X @atom:* @atom:ne @atom:nf @atom:*
+ @dihedral:X-ne-nf-X @atom:* @atom:ne @atom:nf @atom:*
+ @dihedral:X-ne-ne-X @atom:* @atom:ne @atom:ne @atom:*
+ @dihedral:X-nf-nf-X @atom:* @atom:nf @atom:nf @atom:*
+ @dihedral:X-nc-nc-X @atom:* @atom:nc @atom:nc @atom:*
+ @dihedral:X-nd-nd-X @atom:* @atom:nd @atom:nd @atom:*
+ @dihedral:X-nc-nd-X @atom:* @atom:nc @atom:nd @atom:*
+ @dihedral:X-n2-nc-X @atom:* @atom:n2 @atom:nc @atom:*
+ @dihedral:X-n2-nc-X @atom:* @atom:n2 @atom:nc @atom:*
+ @dihedral:X-n2-nd-X @atom:* @atom:n2 @atom:nd @atom:*
+ @dihedral:X-n2-nd-X @atom:* @atom:n2 @atom:nd @atom:*
+ @dihedral:X-n2-n3-X @atom:* @atom:n2 @atom:n3 @atom:*
+ @dihedral:X-ne-n3-X @atom:* @atom:ne @atom:n3 @atom:*
+ @dihedral:X-nf-n3-X @atom:* @atom:nf @atom:n3 @atom:*
+ @dihedral:X-n2-n4-X @atom:* @atom:n2 @atom:n4 @atom:*
+ @dihedral:X-ne-n4-X @atom:* @atom:ne @atom:n4 @atom:*
+ @dihedral:X-nf-n4-X @atom:* @atom:nf @atom:n4 @atom:*
+ @dihedral:X-n2-na-X @atom:* @atom:n2 @atom:na @atom:*
+ @dihedral:X-ne-na-X @atom:* @atom:ne @atom:na @atom:*
+ @dihedral:X-nf-na-X @atom:* @atom:nf @atom:na @atom:*
+ @dihedral:X-na-nc-X @atom:* @atom:na @atom:nc @atom:*
+ @dihedral:X-na-nd-X @atom:* @atom:na @atom:nd @atom:*
+ @dihedral:X-n2-nh-X @atom:* @atom:n2 @atom:nh @atom:*
+ @dihedral:X-ne-nh-X @atom:* @atom:ne @atom:nh @atom:*
+ @dihedral:X-nf-nh-X @atom:* @atom:nf @atom:nh @atom:*
+ @dihedral:X-n2-no-X @atom:* @atom:n2 @atom:no @atom:*
+ @dihedral:X-ne-no-X @atom:* @atom:ne @atom:no @atom:*
+ @dihedral:X-nf-no-X @atom:* @atom:nf @atom:no @atom:*
+ @dihedral:X-n2-oh-X @atom:* @atom:n2 @atom:oh @atom:*
+ @dihedral:X-ne-oh-X @atom:* @atom:ne @atom:oh @atom:*
+ @dihedral:X-nf-oh-X @atom:* @atom:nf @atom:oh @atom:*
+ @dihedral:X-n2-os-X @atom:* @atom:n2 @atom:os @atom:*
+ @dihedral:X-ne-os-X @atom:* @atom:ne @atom:os @atom:*
+ @dihedral:X-nf-os-X @atom:* @atom:nf @atom:os @atom:*
+ @dihedral:X-nc-os-X @atom:* @atom:nc @atom:os @atom:*
+ @dihedral:X-nc-ss-X @atom:* @atom:nc @atom:ss @atom:*
+ @dihedral:X-n2-p2-X @atom:* @atom:n2 @atom:p2 @atom:*
+ @dihedral:X-n2-pe-X @atom:* @atom:n2 @atom:pe @atom:*
+ @dihedral:X-n2-pf-X @atom:* @atom:n2 @atom:pf @atom:*
+ @dihedral:X-ne-pf-X @atom:* @atom:ne @atom:pf @atom:*
+ @dihedral:X-n2-pc-X @atom:* @atom:n2 @atom:pc @atom:*
+ @dihedral:X-n2-pd-X @atom:* @atom:n2 @atom:pd @atom:*
+ @dihedral:X-nc-p2-X @atom:* @atom:nc @atom:p2 @atom:*
+ @dihedral:X-nd-p2-X @atom:* @atom:nd @atom:p2 @atom:*
+ @dihedral:X-nc-pc-X @atom:* @atom:nc @atom:pc @atom:*
+ @dihedral:X-nd-pd-X @atom:* @atom:nd @atom:pd @atom:*
+ @dihedral:X-nd-pc-X @atom:* @atom:nd @atom:pc @atom:*
+ @dihedral:X-nc-pd-X @atom:* @atom:nc @atom:pd @atom:*
+ @dihedral:X-ne-pe-X @atom:* @atom:ne @atom:pe @atom:*
+ @dihedral:X-nf-pf-X @atom:* @atom:nf @atom:pf @atom:*
+ @dihedral:X-n2-p3-X @atom:* @atom:n2 @atom:p3 @atom:*
+ @dihedral:X-n2-p4-X @atom:* @atom:n2 @atom:p4 @atom:*
+ @dihedral:X-ne-p4-X @atom:* @atom:ne @atom:p4 @atom:*
+ @dihedral:X-nf-p4-X @atom:* @atom:nf @atom:p4 @atom:*
+ @dihedral:X-n2-p5-X @atom:* @atom:n2 @atom:p5 @atom:*
+ @dihedral:X-ne-p5-X @atom:* @atom:ne @atom:p5 @atom:*
+ @dihedral:X-nf-p5-X @atom:* @atom:nf @atom:p5 @atom:*
+ @dihedral:X-ne-px-X @atom:* @atom:ne @atom:px @atom:*
+ @dihedral:X-nf-px-X @atom:* @atom:nf @atom:px @atom:*
+ @dihedral:X-n2-sh-X @atom:* @atom:n2 @atom:sh @atom:*
+ @dihedral:X-ne-sh-X @atom:* @atom:ne @atom:sh @atom:*
+ @dihedral:X-nf-sh-X @atom:* @atom:nf @atom:sh @atom:*
+ @dihedral:X-n2-ss-X @atom:* @atom:n2 @atom:ss @atom:*
+ @dihedral:X-n2-ss-X @atom:* @atom:n2 @atom:ss @atom:*
+ @dihedral:X-ne-ss-X @atom:* @atom:ne @atom:ss @atom:*
+ @dihedral:X-ne-ss-X @atom:* @atom:ne @atom:ss @atom:*
+ @dihedral:X-nf-ss-X @atom:* @atom:nf @atom:ss @atom:*
+ @dihedral:X-nf-ss-X @atom:* @atom:nf @atom:ss @atom:*
+ @dihedral:X-n2-s4-X @atom:* @atom:n2 @atom:s4 @atom:*
+ @dihedral:X-ne-sx-X @atom:* @atom:ne @atom:sx @atom:*
+ @dihedral:X-nf-sx-X @atom:* @atom:nf @atom:sx @atom:*
+ @dihedral:X-n2-s6-X @atom:* @atom:n2 @atom:s6 @atom:*
+ @dihedral:X-ne-sy-X @atom:* @atom:ne @atom:sy @atom:*
+ @dihedral:X-ne-sy-X @atom:* @atom:ne @atom:sy @atom:*
+ @dihedral:X-nf-sy-X @atom:* @atom:nf @atom:sy @atom:*
+ @dihedral:X-nf-sy-X @atom:* @atom:nf @atom:sy @atom:*
+ @dihedral:X-n3-n3-X @atom:* @atom:n3 @atom:n3 @atom:*
+ @dihedral:X-n3-n4-X @atom:* @atom:n3 @atom:n4 @atom:*
+ @dihedral:X-n3-na-X @atom:* @atom:n3 @atom:na @atom:*
+ @dihedral:X-n3-nh-X @atom:* @atom:n3 @atom:nh @atom:*
+ @dihedral:X-n3-no-X @atom:* @atom:n3 @atom:no @atom:*
+ @dihedral:X-n3-oh-X @atom:* @atom:n3 @atom:oh @atom:*
+ @dihedral:X-n3-os-X @atom:* @atom:n3 @atom:os @atom:*
+ @dihedral:X-n3-p2-X @atom:* @atom:n3 @atom:p2 @atom:*
+ @dihedral:X-n3-pe-X @atom:* @atom:n3 @atom:pe @atom:*
+ @dihedral:X-n3-pf-X @atom:* @atom:n3 @atom:pf @atom:*
+ @dihedral:X-n3-p3-X @atom:* @atom:n3 @atom:p3 @atom:*
+ @dihedral:X-n3-p4-X @atom:* @atom:n3 @atom:p4 @atom:*
+ @dihedral:X-n3-px-X @atom:* @atom:n3 @atom:px @atom:*
+ @dihedral:X-n3-p5-X @atom:* @atom:n3 @atom:p5 @atom:*
+ @dihedral:X-n3-py-X @atom:* @atom:n3 @atom:py @atom:*
+ @dihedral:X-n3-sh-X @atom:* @atom:n3 @atom:sh @atom:*
+ @dihedral:X-n3-ss-X @atom:* @atom:n3 @atom:ss @atom:*
+ @dihedral:X-n3-s4-X @atom:* @atom:n3 @atom:s4 @atom:*
+ @dihedral:X-n3-sx-X @atom:* @atom:n3 @atom:sx @atom:*
+ @dihedral:X-n3-s6-X @atom:* @atom:n3 @atom:s6 @atom:*
+ @dihedral:X-n3-sy-X @atom:* @atom:n3 @atom:sy @atom:*
+ @dihedral:X-n4-n4-X @atom:* @atom:n4 @atom:n4 @atom:*
+ @dihedral:X-n4-na-X @atom:* @atom:n4 @atom:na @atom:*
+ @dihedral:X-n4-nh-X @atom:* @atom:n4 @atom:nh @atom:*
+ @dihedral:X-n4-no-X @atom:* @atom:n4 @atom:no @atom:*
+ @dihedral:X-n4-oh-X @atom:* @atom:n4 @atom:oh @atom:*
+ @dihedral:X-n4-os-X @atom:* @atom:n4 @atom:os @atom:*
+ @dihedral:X-n4-p2-X @atom:* @atom:n4 @atom:p2 @atom:*
+ @dihedral:X-n4-pe-X @atom:* @atom:n4 @atom:pe @atom:*
+ @dihedral:X-n4-pf-X @atom:* @atom:n4 @atom:pf @atom:*
+ @dihedral:X-n4-p3-X @atom:* @atom:n4 @atom:p3 @atom:*
+ @dihedral:X-n4-p4-X @atom:* @atom:n4 @atom:p4 @atom:*
+ @dihedral:X-n4-px-X @atom:* @atom:n4 @atom:px @atom:*
+ @dihedral:X-n4-p5-X @atom:* @atom:n4 @atom:p5 @atom:*
+ @dihedral:X-n4-py-X @atom:* @atom:n4 @atom:py @atom:*
+ @dihedral:X-n4-sh-X @atom:* @atom:n4 @atom:sh @atom:*
+ @dihedral:X-n4-ss-X @atom:* @atom:n4 @atom:ss @atom:*
+ @dihedral:X-n4-s4-X @atom:* @atom:n4 @atom:s4 @atom:*
+ @dihedral:X-n4-sx-X @atom:* @atom:n4 @atom:sx @atom:*
+ @dihedral:X-n4-s6-X @atom:* @atom:n4 @atom:s6 @atom:*
+ @dihedral:X-n4-sy-X @atom:* @atom:n4 @atom:sy @atom:*
+ @dihedral:X-na-na-X @atom:* @atom:na @atom:na @atom:*
+ @dihedral:X-na-nh-X @atom:* @atom:na @atom:nh @atom:*
+ @dihedral:X-na-no-X @atom:* @atom:na @atom:no @atom:*
+ @dihedral:X-na-oh-X @atom:* @atom:na @atom:oh @atom:*
+ @dihedral:X-na-os-X @atom:* @atom:na @atom:os @atom:*
+ @dihedral:X-na-p2-X @atom:* @atom:na @atom:p2 @atom:*
+ @dihedral:X-na-pe-X @atom:* @atom:na @atom:pe @atom:*
+ @dihedral:X-na-pf-X @atom:* @atom:na @atom:pf @atom:*
+ @dihedral:X-na-p3-X @atom:* @atom:na @atom:p3 @atom:*
+ @dihedral:X-na-p4-X @atom:* @atom:na @atom:p4 @atom:*
+ @dihedral:X-na-px-X @atom:* @atom:na @atom:px @atom:*
+ @dihedral:X-na-p5-X @atom:* @atom:na @atom:p5 @atom:*
+ @dihedral:X-na-py-X @atom:* @atom:na @atom:py @atom:*
+ @dihedral:X-na-sh-X @atom:* @atom:na @atom:sh @atom:*
+ @dihedral:X-na-ss-X @atom:* @atom:na @atom:ss @atom:*
+ @dihedral:X-na-s4-X @atom:* @atom:na @atom:s4 @atom:*
+ @dihedral:X-na-sx-X @atom:* @atom:na @atom:sx @atom:*
+ @dihedral:X-na-s6-X @atom:* @atom:na @atom:s6 @atom:*
+ @dihedral:X-na-sy-X @atom:* @atom:na @atom:sy @atom:*
+ @dihedral:X-nh-nh-X @atom:* @atom:nh @atom:nh @atom:*
+ @dihedral:X-nh-no-X @atom:* @atom:nh @atom:no @atom:*
+ @dihedral:X-nh-oh-X @atom:* @atom:nh @atom:oh @atom:*
+ @dihedral:X-nh-os-X @atom:* @atom:nh @atom:os @atom:*
+ @dihedral:X-nh-p2-X @atom:* @atom:nh @atom:p2 @atom:*
+ @dihedral:X-nh-pe-X @atom:* @atom:nh @atom:pe @atom:*
+ @dihedral:X-nh-pf-X @atom:* @atom:nh @atom:pf @atom:*
+ @dihedral:X-nh-p3-X @atom:* @atom:nh @atom:p3 @atom:*
+ @dihedral:X-nh-p4-X @atom:* @atom:nh @atom:p4 @atom:*
+ @dihedral:X-nh-px-X @atom:* @atom:nh @atom:px @atom:*
+ @dihedral:X-nh-p5-X @atom:* @atom:nh @atom:p5 @atom:*
+ @dihedral:X-nh-py-X @atom:* @atom:nh @atom:py @atom:*
+ @dihedral:X-nh-sh-X @atom:* @atom:nh @atom:sh @atom:*
+ @dihedral:X-nh-ss-X @atom:* @atom:nh @atom:ss @atom:*
+ @dihedral:X-nh-s4-X @atom:* @atom:nh @atom:s4 @atom:*
+ @dihedral:X-nh-s4-X @atom:* @atom:nh @atom:s4 @atom:*
+ @dihedral:X-nh-sx-X @atom:* @atom:nh @atom:sx @atom:*
+ @dihedral:X-nh-sx-X @atom:* @atom:nh @atom:sx @atom:*
+ @dihedral:X-nh-s6-X @atom:* @atom:nh @atom:s6 @atom:*
+ @dihedral:X-nh-sy-X @atom:* @atom:nh @atom:sy @atom:*
+ @dihedral:X-no-no-X @atom:* @atom:no @atom:no @atom:*
+ @dihedral:X-no-no-X @atom:* @atom:no @atom:no @atom:*
+ @dihedral:X-no-oh-X @atom:* @atom:no @atom:oh @atom:*
+ @dihedral:X-no-os-X @atom:* @atom:no @atom:os @atom:*
+ @dihedral:X-no-p2-X @atom:* @atom:no @atom:p2 @atom:*
+ @dihedral:X-no-pe-X @atom:* @atom:no @atom:pe @atom:*
+ @dihedral:X-no-pf-X @atom:* @atom:no @atom:pf @atom:*
+ @dihedral:X-no-p3-X @atom:* @atom:no @atom:p3 @atom:*
+ @dihedral:X-no-p4-X @atom:* @atom:no @atom:p4 @atom:*
+ @dihedral:X-no-px-X @atom:* @atom:no @atom:px @atom:*
+ @dihedral:X-no-p5-X @atom:* @atom:no @atom:p5 @atom:*
+ @dihedral:X-no-p5-X @atom:* @atom:no @atom:p5 @atom:*
+ @dihedral:X-no-py-X @atom:* @atom:no @atom:py @atom:*
+ @dihedral:X-no-py-X @atom:* @atom:no @atom:py @atom:*
+ @dihedral:X-no-sh-X @atom:* @atom:no @atom:sh @atom:*
+ @dihedral:X-no-ss-X @atom:* @atom:no @atom:ss @atom:*
+ @dihedral:X-no-s4-X @atom:* @atom:no @atom:s4 @atom:*
+ @dihedral:X-no-sx-X @atom:* @atom:no @atom:sx @atom:*
+ @dihedral:X-no-s6-X @atom:* @atom:no @atom:s6 @atom:*
+ @dihedral:X-no-sy-X @atom:* @atom:no @atom:sy @atom:*
+ @dihedral:X-oh-oh-X @atom:* @atom:oh @atom:oh @atom:*
+ @dihedral:X-oh-os-X @atom:* @atom:oh @atom:os @atom:*
+ @dihedral:X-oh-p2-X @atom:* @atom:oh @atom:p2 @atom:*
+ @dihedral:X-oh-pe-X @atom:* @atom:oh @atom:pe @atom:*
+ @dihedral:X-oh-pf-X @atom:* @atom:oh @atom:pf @atom:*
+ @dihedral:X-oh-p3-X @atom:* @atom:oh @atom:p3 @atom:*
+ @dihedral:X-oh-p4-X @atom:* @atom:oh @atom:p4 @atom:*
+ @dihedral:X-oh-px-X @atom:* @atom:oh @atom:px @atom:*
+ @dihedral:X-oh-p5-X @atom:* @atom:oh @atom:p5 @atom:*
+ @dihedral:X-oh-py-X @atom:* @atom:oh @atom:py @atom:*
+ @dihedral:X-oh-sh-X @atom:* @atom:oh @atom:sh @atom:*
+ @dihedral:X-oh-ss-X @atom:* @atom:oh @atom:ss @atom:*
+ @dihedral:X-oh-s4-X @atom:* @atom:oh @atom:s4 @atom:*
+ @dihedral:X-oh-sx-X @atom:* @atom:oh @atom:sx @atom:*
+ @dihedral:X-oh-s6-X @atom:* @atom:oh @atom:s6 @atom:*
+ @dihedral:X-oh-sy-X @atom:* @atom:oh @atom:sy @atom:*
+ @dihedral:X-os-os-X @atom:* @atom:os @atom:os @atom:*
+ @dihedral:X-os-ss-X @atom:* @atom:os @atom:ss @atom:*
+ @dihedral:X-os-sh-X @atom:* @atom:os @atom:sh @atom:*
+ @dihedral:X-os-s4-X @atom:* @atom:os @atom:s4 @atom:*
+ @dihedral:X-os-sx-X @atom:* @atom:os @atom:sx @atom:*
+ @dihedral:X-os-s6-X @atom:* @atom:os @atom:s6 @atom:*
+ @dihedral:X-os-sy-X @atom:* @atom:os @atom:sy @atom:*
+ @dihedral:X-os-p2-X @atom:* @atom:os @atom:p2 @atom:*
+ @dihedral:X-os-p2-X @atom:* @atom:os @atom:p2 @atom:*
+ @dihedral:X-os-pe-X @atom:* @atom:os @atom:pe @atom:*
+ @dihedral:X-os-pe-X @atom:* @atom:os @atom:pe @atom:*
+ @dihedral:X-os-pf-X @atom:* @atom:os @atom:pf @atom:*
+ @dihedral:X-os-pf-X @atom:* @atom:os @atom:pf @atom:*
+ @dihedral:X-os-p3-X @atom:* @atom:os @atom:p3 @atom:*
+ @dihedral:X-os-p4-X @atom:* @atom:os @atom:p4 @atom:*
+ @dihedral:X-os-px-X @atom:* @atom:os @atom:px @atom:*
+ @dihedral:X-os-p5-X @atom:* @atom:os @atom:p5 @atom:*
+ @dihedral:X-os-py-X @atom:* @atom:os @atom:py @atom:*
+ @dihedral:X-p2-p2-X @atom:* @atom:p2 @atom:p2 @atom:*
+ @dihedral:X-p2-pe-X @atom:* @atom:p2 @atom:pe @atom:*
+ @dihedral:X-p2-pf-X @atom:* @atom:p2 @atom:pf @atom:*
+ @dihedral:X-p2-pc-X @atom:* @atom:p2 @atom:pc @atom:*
+ @dihedral:X-p2-pd-X @atom:* @atom:p2 @atom:pd @atom:*
+ @dihedral:X-pe-pe-X @atom:* @atom:pe @atom:pe @atom:*
+ @dihedral:X-pf-pf-X @atom:* @atom:pf @atom:pf @atom:*
+ @dihedral:X-pc-pc-X @atom:* @atom:pc @atom:pc @atom:*
+ @dihedral:X-pd-pd-X @atom:* @atom:pd @atom:pd @atom:*
+ @dihedral:X-pc-pd-X @atom:* @atom:pc @atom:pd @atom:*
+ @dihedral:X-p2-p3-X @atom:* @atom:p2 @atom:p3 @atom:*
+ @dihedral:X-pe-p3-X @atom:* @atom:pe @atom:p3 @atom:*
+ @dihedral:X-pf-p3-X @atom:* @atom:pf @atom:p3 @atom:*
+ @dihedral:X-p2-p4-X @atom:* @atom:p2 @atom:p4 @atom:*
+ @dihedral:X-pe-px-X @atom:* @atom:pe @atom:px @atom:*
+ @dihedral:X-pf-px-X @atom:* @atom:pf @atom:px @atom:*
+ @dihedral:X-p2-p5-X @atom:* @atom:p2 @atom:p5 @atom:*
+ @dihedral:X-pe-py-X @atom:* @atom:pe @atom:py @atom:*
+ @dihedral:X-pf-py-X @atom:* @atom:pf @atom:py @atom:*
+ @dihedral:X-p2-sh-X @atom:* @atom:p2 @atom:sh @atom:*
+ @dihedral:X-pe-sh-X @atom:* @atom:pe @atom:sh @atom:*
+ @dihedral:X-pf-sh-X @atom:* @atom:pf @atom:sh @atom:*
+ @dihedral:X-p2-ss-X @atom:* @atom:p2 @atom:ss @atom:*
+ @dihedral:X-pe-ss-X @atom:* @atom:pe @atom:ss @atom:*
+ @dihedral:X-pf-ss-X @atom:* @atom:pf @atom:ss @atom:*
+ @dihedral:X-p2-s4-X @atom:* @atom:p2 @atom:s4 @atom:*
+ @dihedral:X-pe-sx-X @atom:* @atom:pe @atom:sx @atom:*
+ @dihedral:X-pf-sx-X @atom:* @atom:pf @atom:sx @atom:*
+ @dihedral:X-p2-s6-X @atom:* @atom:p2 @atom:s6 @atom:*
+ @dihedral:X-pe-sy-X @atom:* @atom:pe @atom:sy @atom:*
+ @dihedral:X-pf-sy-X @atom:* @atom:pf @atom:sy @atom:*
+ @dihedral:X-p3-p3-X @atom:* @atom:p3 @atom:p3 @atom:*
+ @dihedral:X-p3-p4-X @atom:* @atom:p3 @atom:p4 @atom:*
+ @dihedral:X-p3-px-X @atom:* @atom:p3 @atom:px @atom:*
+ @dihedral:X-p3-p5-X @atom:* @atom:p3 @atom:p5 @atom:*
+ @dihedral:X-p3-py-X @atom:* @atom:p3 @atom:py @atom:*
+ @dihedral:X-p3-sh-X @atom:* @atom:p3 @atom:sh @atom:*
+ @dihedral:X-p3-ss-X @atom:* @atom:p3 @atom:ss @atom:*
+ @dihedral:X-p3-s4-X @atom:* @atom:p3 @atom:s4 @atom:*
+ @dihedral:X-p3-sx-X @atom:* @atom:p3 @atom:sx @atom:*
+ @dihedral:X-p3-s6-X @atom:* @atom:p3 @atom:s6 @atom:*
+ @dihedral:X-p3-sy-X @atom:* @atom:p3 @atom:sy @atom:*
+ @dihedral:X-p4-p4-X @atom:* @atom:p4 @atom:p4 @atom:*
+ @dihedral:X-px-px-X @atom:* @atom:px @atom:px @atom:*
+ @dihedral:X-p4-p5-X @atom:* @atom:p4 @atom:p5 @atom:*
+ @dihedral:X-px-py-X @atom:* @atom:px @atom:py @atom:*
+ @dihedral:X-p4-s4-X @atom:* @atom:p4 @atom:s4 @atom:*
+ @dihedral:X-px-sx-X @atom:* @atom:px @atom:sx @atom:*
+ @dihedral:X-p4-s6-X @atom:* @atom:p4 @atom:s6 @atom:*
+ @dihedral:X-px-sy-X @atom:* @atom:px @atom:sy @atom:*
+ @dihedral:X-p4-sh-X @atom:* @atom:p4 @atom:sh @atom:*
+ @dihedral:X-px-sh-X @atom:* @atom:px @atom:sh @atom:*
+ @dihedral:X-p4-ss-X @atom:* @atom:p4 @atom:ss @atom:*
+ @dihedral:X-px-ss-X @atom:* @atom:px @atom:ss @atom:*
+ @dihedral:X-p5-p5-X @atom:* @atom:p5 @atom:p5 @atom:*
+ @dihedral:X-py-py-X @atom:* @atom:py @atom:py @atom:*
+ @dihedral:X-p5-sh-X @atom:* @atom:p5 @atom:sh @atom:*
+ @dihedral:X-py-sh-X @atom:* @atom:py @atom:sh @atom:*
+ @dihedral:X-p5-ss-X @atom:* @atom:p5 @atom:ss @atom:*
+ @dihedral:X-py-ss-X @atom:* @atom:py @atom:ss @atom:*
+ @dihedral:X-p5-s4-X @atom:* @atom:p5 @atom:s4 @atom:*
+ @dihedral:X-py-sx-X @atom:* @atom:py @atom:sx @atom:*
+ @dihedral:X-p5-s6-X @atom:* @atom:p5 @atom:s6 @atom:*
+ @dihedral:X-py-sy-X @atom:* @atom:py @atom:sy @atom:*
+ @dihedral:X-sh-sh-X @atom:* @atom:sh @atom:sh @atom:*
+ @dihedral:X-sh-ss-X @atom:* @atom:sh @atom:ss @atom:*
+ @dihedral:X-sh-s4-X @atom:* @atom:sh @atom:s4 @atom:*
+ @dihedral:X-sh-sx-X @atom:* @atom:sh @atom:sx @atom:*
+ @dihedral:X-sh-s6-X @atom:* @atom:sh @atom:s6 @atom:*
+ @dihedral:X-sh-sy-X @atom:* @atom:sh @atom:sy @atom:*
+ @dihedral:X-ss-ss-X @atom:* @atom:ss @atom:ss @atom:*
+ @dihedral:X-ss-s4-X @atom:* @atom:ss @atom:s4 @atom:*
+ @dihedral:X-ss-sx-X @atom:* @atom:ss @atom:sx @atom:*
+ @dihedral:X-ss-s6-X @atom:* @atom:ss @atom:s6 @atom:*
+ @dihedral:X-ss-sy-X @atom:* @atom:ss @atom:sy @atom:*
+ @dihedral:X-s4-s4-X @atom:* @atom:s4 @atom:s4 @atom:*
+ @dihedral:X-sx-sx-X @atom:* @atom:sx @atom:sx @atom:*
+ @dihedral:X-s4-s6-X @atom:* @atom:s4 @atom:s6 @atom:*
+ @dihedral:X-sx-sy-X @atom:* @atom:sx @atom:sy @atom:*
+ @dihedral:X-s6-s6-X @atom:* @atom:s6 @atom:s6 @atom:*
+ @dihedral:X-sy-sy-X @atom:* @atom:sy @atom:sy @atom:*
+ @dihedral:X-cf-pe-X @atom:* @atom:cf @atom:pe @atom:*
+ @dihedral:X-nd-os-X @atom:* @atom:nd @atom:os @atom:*
+ @dihedral:X-nd-ss-X @atom:* @atom:nd @atom:ss @atom:*
+ @dihedral:X-nf-pe-X @atom:* @atom:nf @atom:pe @atom:*
+ @dihedral:c3-c-sh-hs @atom:c3 @atom:c @atom:sh @atom:hs
+ @dihedral:c3-c-sh-hs @atom:c3 @atom:c @atom:sh @atom:hs
+ @dihedral:c2-c2-ss-c3 @atom:c2 @atom:c2 @atom:ss @atom:c3
+ @dihedral:c2-c2-ss-c3 @atom:c2 @atom:c2 @atom:ss @atom:c3
+ @dihedral:c2-c2-n-c @atom:c2 @atom:c2 @atom:n @atom:c
+ @dihedral:c2-c2-n-c @atom:c2 @atom:c2 @atom:n @atom:c
+ @dihedral:c-n-p2-c2 @atom:c @atom:n @atom:p2 @atom:c2
+ @dihedral:c-n-p2-c2 @atom:c @atom:n @atom:p2 @atom:c2
+ @dihedral:n-c3-c-n @atom:n @atom:c3 @atom:c @atom:n
+ @dihedral:n-c3-c-n @atom:n @atom:c3 @atom:c @atom:n
+ @dihedral:c-n-c3-c @atom:c @atom:n @atom:c3 @atom:c
+ @dihedral:c-n-c3-c @atom:c @atom:n @atom:c3 @atom:c
+ @dihedral:c3-c3-n-c @atom:c3 @atom:c3 @atom:n @atom:c
+ @dihedral:c3-c3-n-c @atom:c3 @atom:c3 @atom:n @atom:c
+ @dihedral:c3-c3-n-c @atom:c3 @atom:c3 @atom:n @atom:c
+ @dihedral:c3-c3-c-n @atom:c3 @atom:c3 @atom:c @atom:n
+ @dihedral:c3-c3-c-n @atom:c3 @atom:c3 @atom:c @atom:n
+ @dihedral:c2-ne-p5-o @atom:c2 @atom:ne @atom:p5 @atom:o
+ @dihedral:c2-ne-p5-o @atom:c2 @atom:ne @atom:p5 @atom:o
+ @dihedral:c2-nf-p5-o @atom:c2 @atom:nf @atom:p5 @atom:o
+ @dihedral:c2-nf-p5-o @atom:c2 @atom:nf @atom:p5 @atom:o
+ @dihedral:ce-ne-p5-o @atom:ce @atom:ne @atom:p5 @atom:o
+ @dihedral:ce-ne-p5-o @atom:ce @atom:ne @atom:p5 @atom:o
+ @dihedral:ce-nf-p5-o @atom:ce @atom:nf @atom:p5 @atom:o
+ @dihedral:ce-nf-p5-o @atom:ce @atom:nf @atom:p5 @atom:o
+ @dihedral:cf-ne-p5-o @atom:cf @atom:ne @atom:p5 @atom:o
+ @dihedral:cf-ne-p5-o @atom:cf @atom:ne @atom:p5 @atom:o
+ @dihedral:cf-nf-p5-o @atom:cf @atom:nf @atom:p5 @atom:o
+ @dihedral:cf-nf-p5-o @atom:cf @atom:nf @atom:p5 @atom:o
+ @dihedral:hn-n-c-o @atom:hn @atom:n @atom:c @atom:o
+ @dihedral:hn-n-c-o @atom:hn @atom:n @atom:c @atom:o
+ @dihedral:c3-ss-ss-c3 @atom:c3 @atom:ss @atom:ss @atom:c3
+ @dihedral:c3-ss-ss-c3 @atom:c3 @atom:ss @atom:ss @atom:c3
+ @dihedral:c3-n3-nh-ca @atom:c3 @atom:n3 @atom:nh @atom:ca
+ @dihedral:c3-n3-nh-ca @atom:c3 @atom:n3 @atom:nh @atom:ca
+ @dihedral:c3-n3-p5-o @atom:c3 @atom:n3 @atom:p5 @atom:o
+ @dihedral:c3-n3-p5-o @atom:c3 @atom:n3 @atom:p5 @atom:o
+ @dihedral:ca-nh-oh-ho @atom:ca @atom:nh @atom:oh @atom:ho
+ @dihedral:ca-nh-oh-ho @atom:ca @atom:nh @atom:oh @atom:ho
+ @dihedral:oh-p5-os-c3 @atom:oh @atom:p5 @atom:os @atom:c3
+ @dihedral:oh-p5-os-c3 @atom:oh @atom:p5 @atom:os @atom:c3
+ @dihedral:os-p5-os-c3 @atom:os @atom:p5 @atom:os @atom:c3
+ @dihedral:os-p5-os-c3 @atom:os @atom:p5 @atom:os @atom:c3
+ @dihedral:h1-c3-c-o @atom:h1 @atom:c3 @atom:c @atom:o
+ @dihedral:h1-c3-c-o @atom:h1 @atom:c3 @atom:c @atom:o
+ @dihedral:hc-c3-c-o @atom:hc @atom:c3 @atom:c @atom:o
+ @dihedral:hc-c3-c-o @atom:hc @atom:c3 @atom:c @atom:o
+ @dihedral:hc-c3-c3-hc @atom:hc @atom:c3 @atom:c3 @atom:hc
+ @dihedral:hc-c3-c3-c3 @atom:hc @atom:c3 @atom:c3 @atom:c3
+ @dihedral:hc-c3-c2-c2 @atom:hc @atom:c3 @atom:c2 @atom:c2
+ @dihedral:hc-c3-c2-c2 @atom:hc @atom:c3 @atom:c2 @atom:c2
+ @dihedral:ho-oh-c3-c3 @atom:ho @atom:oh @atom:c3 @atom:c3
+ @dihedral:ho-oh-c3-c3 @atom:ho @atom:oh @atom:c3 @atom:c3
+ @dihedral:ho-oh-c-o @atom:ho @atom:oh @atom:c @atom:o
+ @dihedral:ho-oh-c-o @atom:ho @atom:oh @atom:c @atom:o
+ @dihedral:c2-c2-c-o @atom:c2 @atom:c2 @atom:c @atom:o
+ @dihedral:c2-c2-c-o @atom:c2 @atom:c2 @atom:c @atom:o
+ @dihedral:c3-c2-c2-c3 @atom:c3 @atom:c2 @atom:c2 @atom:c3
+ @dihedral:c3-c2-c2-c3 @atom:c3 @atom:c2 @atom:c2 @atom:c3
+ @dihedral:c3-c3-c3-c3 @atom:c3 @atom:c3 @atom:c3 @atom:c3
+ @dihedral:c3-c3-c3-c3 @atom:c3 @atom:c3 @atom:c3 @atom:c3
+ @dihedral:c3-c3-c3-c3 @atom:c3 @atom:c3 @atom:c3 @atom:c3
+ @dihedral:c3-c3-n3-c3 @atom:c3 @atom:c3 @atom:n3 @atom:c3
+ @dihedral:c3-c3-n3-c3 @atom:c3 @atom:c3 @atom:n3 @atom:c3
+ @dihedral:c3-c3-os-c3 @atom:c3 @atom:c3 @atom:os @atom:c3
+ @dihedral:c3-c3-os-c3 @atom:c3 @atom:c3 @atom:os @atom:c3
+ @dihedral:c3-c3-os-c @atom:c3 @atom:c3 @atom:os @atom:c
+ @dihedral:c3-c3-os-c @atom:c3 @atom:c3 @atom:os @atom:c
+ @dihedral:c3-os-c3-os @atom:c3 @atom:os @atom:c3 @atom:os
+ @dihedral:c3-os-c3-os @atom:c3 @atom:os @atom:c3 @atom:os
+ @dihedral:c3-os-c3-os @atom:c3 @atom:os @atom:c3 @atom:os
+ @dihedral:c3-os-c3-na @atom:c3 @atom:os @atom:c3 @atom:na
+ @dihedral:c3-os-c3-na @atom:c3 @atom:os @atom:c3 @atom:na
+ @dihedral:o-c-os-c3 @atom:o @atom:c @atom:os @atom:c3
+ @dihedral:o-c-os-c3 @atom:o @atom:c @atom:os @atom:c3
+ @dihedral:os-c3-na-c2 @atom:os @atom:c3 @atom:na @atom:c2
+ @dihedral:os-c3-na-c2 @atom:os @atom:c3 @atom:na @atom:c2
+ @dihedral:os-c3-c3-os @atom:os @atom:c3 @atom:c3 @atom:os
+ @dihedral:os-c3-c3-os @atom:os @atom:c3 @atom:c3 @atom:os
+ @dihedral:os-c3-c3-oh @atom:os @atom:c3 @atom:c3 @atom:oh
+ @dihedral:os-c3-c3-oh @atom:os @atom:c3 @atom:c3 @atom:oh
+ @dihedral:oh-c3-c3-oh @atom:oh @atom:c3 @atom:c3 @atom:oh
+ @dihedral:oh-c3-c3-oh @atom:oh @atom:c3 @atom:c3 @atom:oh
+ @dihedral:f-c3-c3-f @atom:f @atom:c3 @atom:c3 @atom:f
+ @dihedral:f-c3-c3-f @atom:f @atom:c3 @atom:c3 @atom:f
+ @dihedral:cl-c3-c3-cl @atom:cl @atom:c3 @atom:c3 @atom:cl
+ @dihedral:cl-c3-c3-cl @atom:cl @atom:c3 @atom:c3 @atom:cl
+ @dihedral:br-c3-c3-br @atom:br @atom:c3 @atom:c3 @atom:br
+ @dihedral:br-c3-c3-br @atom:br @atom:c3 @atom:c3 @atom:br
+ @dihedral:h1-c3-c3-os @atom:h1 @atom:c3 @atom:c3 @atom:os
+ @dihedral:h1-c3-c3-os @atom:h1 @atom:c3 @atom:c3 @atom:os
+ @dihedral:h1-c3-c3-oh @atom:h1 @atom:c3 @atom:c3 @atom:oh
+ @dihedral:h1-c3-c3-oh @atom:h1 @atom:c3 @atom:c3 @atom:oh
+ @dihedral:h1-c3-c3-f @atom:h1 @atom:c3 @atom:c3 @atom:f
+ @dihedral:h1-c3-c3-f @atom:h1 @atom:c3 @atom:c3 @atom:f
+ @dihedral:h1-c3-c3-cl @atom:h1 @atom:c3 @atom:c3 @atom:cl
+ @dihedral:h1-c3-c3-cl @atom:h1 @atom:c3 @atom:c3 @atom:cl
+ @dihedral:h1-c3-c3-br @atom:h1 @atom:c3 @atom:c3 @atom:br
+ @dihedral:h1-c3-c3-br @atom:h1 @atom:c3 @atom:c3 @atom:br
+ @dihedral:hc-c3-c3-os @atom:hc @atom:c3 @atom:c3 @atom:os
+ @dihedral:hc-c3-c3-os @atom:hc @atom:c3 @atom:c3 @atom:os
+ @dihedral:hc-c3-c3-oh @atom:hc @atom:c3 @atom:c3 @atom:oh
+ @dihedral:hc-c3-c3-oh @atom:hc @atom:c3 @atom:c3 @atom:oh
+ @dihedral:hc-c3-c3-f @atom:hc @atom:c3 @atom:c3 @atom:f
+ @dihedral:hc-c3-c3-f @atom:hc @atom:c3 @atom:c3 @atom:f
+ @dihedral:hc-c3-c3-cl @atom:hc @atom:c3 @atom:c3 @atom:cl
+ @dihedral:hc-c3-c3-cl @atom:hc @atom:c3 @atom:c3 @atom:cl
+ @dihedral:hc-c3-c3-br @atom:hc @atom:c3 @atom:c3 @atom:br
+ @dihedral:hc-c3-c3-br @atom:hc @atom:c3 @atom:c3 @atom:br
+ } # (end of Dihedrals By Type)
+
+ write_once("In Settings") {
+ improper_coeff @improper:X-o-c-o cvff 1.1 -1 2 # JCC,7,(1986),230
+ improper_coeff @improper:X-X-c-o cvff 10.5 -1 2 # JCC,7,(1986),230
+ improper_coeff @improper:X-X-ca-ha cvff 1.1 -1 2 # bsd.on C6H6 nmodes
+ improper_coeff @improper:X-X-n-hn cvff 1.1 -1 2 # JCC,7,(1986),230
+ improper_coeff @improper:X-X-n2-hn cvff 1.1 -1 2 # JCC,7,(1986),230
+ improper_coeff @improper:X-X-na-hn cvff 1.1 -1 2 # JCC,7,(1986),230
+ improper_coeff @improper:X-c3-n-c3 cvff 1.1 -1 2 # JCC,7,(1986),230
+ improper_coeff @improper:X-n2-ca-n2 cvff 10.5 -1 2 # JCC,7,(1986),230
+ improper_coeff @improper:c-c2-c2-c3 cvff 1.1 -1 2 # dac guess, 9/94
+ improper_coeff @improper:c-ca-ca-c3 cvff 1.1 -1 2 # dac guess, 9/94
+ improper_coeff @improper:c-c3-n-hn cvff 1.1 -1 2 # Junmei et al.1999
+ improper_coeff @improper:c-c3-n-o cvff 1.1 -1 2 # Junmei et al.1999
+ improper_coeff @improper:c2-c2-na-c3 cvff 1.1 -1 2 #
+ improper_coeff @improper:c2-c-c2-c3 cvff 1.1 -1 2 #
+ improper_coeff @improper:c2-c3-c2-hc cvff 1.1 -1 2 # Junmei et al.1999
+ improper_coeff @improper:c2-c3-ca-hc cvff 1.1 -1 2 # Junmei et al.1999
+ improper_coeff @improper:c2-hc-c-o cvff 1.1 -1 2 # Junmei et al.1999
+ improper_coeff @improper:c3-o-c-oh cvff 1.1 -1 2 #
+ improper_coeff @improper:c3-c2-c2-n2 cvff 1.1 -1 2 #
+ improper_coeff @improper:c3-c2-c2-na cvff 1.1 -1 2 #
+ improper_coeff @improper:c3-ca-ca-n2 cvff 1.1 -1 2 #
+ improper_coeff @improper:c3-ca-ca-na cvff 1.1 -1 2 #
+ improper_coeff @improper:ca-ca-ca-c2 cvff 1.1 -1 2 #
+ improper_coeff @improper:ca-ca-ca-c3 cvff 1.1 -1 2 #
+ improper_coeff @improper:ca-ca-ca-f cvff 1.1 -1 2 # Junmei et al.1999
+ improper_coeff @improper:ca-ca-ca-cl cvff 1.1 -1 2 # Junmei et al.1999
+ improper_coeff @improper:ca-ca-ca-br cvff 1.1 -1 2 # Junmei et al.1999
+ improper_coeff @improper:ca-ca-ca-i cvff 1.1 -1 2 # Junmei et al.1999
+ improper_coeff @improper:ca-ca-c-oh cvff 1.1 -1 2 # (not used in tyr!)
+ improper_coeff @improper:ca-ca-na-c3 cvff 1.1 -1 2 #
+ improper_coeff @improper:ca-c-ca-c3 cvff 1.1 -1 2 #
+ improper_coeff @improper:ca-hc-c-o cvff 1.1 -1 2 # Junmei et al.1999
+ improper_coeff @improper:ca-n2-ca-n2 cvff 1.1 -1 2 # dac, 10/94
+ improper_coeff @improper:hc-o-c-oh cvff 1.1 -1 2 # Junmei et al.1999
+ improper_coeff @improper:hc-o-c-os cvff 1.1 -1 2 #
+ improper_coeff @improper:n2-c2-ca-n2 cvff 1.1 -1 2 # dac guess, 9/94
+ improper_coeff @improper:n2-ca-ca-n2 cvff 1.1 -1 2 # dac guess, 9/94
+ improper_coeff @improper:na-n2-ca-n2 cvff 1.1 -1 2 # dac, 10/94
+ } # (end of improper_coeffs)
+
+ write_once("Data Impropers By Type (gaff_imp.py)") {
+ @improper:X-o-c-o @atom:* @atom:o @atom:c @atom:o
+ @improper:X-X-c-o @atom:* @atom:* @atom:c @atom:o
+ @improper:X-X-ca-ha @atom:* @atom:* @atom:ca @atom:ha
+ @improper:X-X-n-hn @atom:* @atom:* @atom:n @atom:hn
+ @improper:X-X-n2-hn @atom:* @atom:* @atom:n2 @atom:hn
+ @improper:X-X-na-hn @atom:* @atom:* @atom:na @atom:hn
+ @improper:X-c3-n-c3 @atom:* @atom:c3 @atom:n @atom:c3
+ @improper:X-n2-ca-n2 @atom:* @atom:n2 @atom:ca @atom:n2
+ @improper:c-c2-c2-c3 @atom:c @atom:c2 @atom:c2 @atom:c3
+ @improper:c-ca-ca-c3 @atom:c @atom:ca @atom:ca @atom:c3
+ @improper:c-c3-n-hn @atom:c @atom:c3 @atom:n @atom:hn
+ @improper:c-c3-n-o @atom:c @atom:c3 @atom:n @atom:o
+ @improper:c2-c2-na-c3 @atom:c2 @atom:c2 @atom:na @atom:c3
+ @improper:c2-c-c2-c3 @atom:c2 @atom:c @atom:c2 @atom:c3
+ @improper:c2-c3-c2-hc @atom:c2 @atom:c3 @atom:c2 @atom:hc
+ @improper:c2-c3-ca-hc @atom:c2 @atom:c3 @atom:ca @atom:hc
+ @improper:c2-hc-c-o @atom:c2 @atom:hc @atom:c @atom:o
+ @improper:c3-o-c-oh @atom:c3 @atom:o @atom:c @atom:oh
+ @improper:c3-c2-c2-n2 @atom:c3 @atom:c2 @atom:c2 @atom:n2
+ @improper:c3-c2-c2-na @atom:c3 @atom:c2 @atom:c2 @atom:na
+ @improper:c3-ca-ca-n2 @atom:c3 @atom:ca @atom:ca @atom:n2
+ @improper:c3-ca-ca-na @atom:c3 @atom:ca @atom:ca @atom:na
+ @improper:ca-ca-ca-c2 @atom:ca @atom:ca @atom:ca @atom:c2
+ @improper:ca-ca-ca-c3 @atom:ca @atom:ca @atom:ca @atom:c3
+ @improper:ca-ca-ca-f @atom:ca @atom:ca @atom:ca @atom:f
+ @improper:ca-ca-ca-cl @atom:ca @atom:ca @atom:ca @atom:cl
+ @improper:ca-ca-ca-br @atom:ca @atom:ca @atom:ca @atom:br
+ @improper:ca-ca-ca-i @atom:ca @atom:ca @atom:ca @atom:i
+ @improper:ca-ca-c-oh @atom:ca @atom:ca @atom:c @atom:oh
+ @improper:ca-ca-na-c3 @atom:ca @atom:ca @atom:na @atom:c3
+ @improper:ca-c-ca-c3 @atom:ca @atom:c @atom:ca @atom:c3
+ @improper:ca-hc-c-o @atom:ca @atom:hc @atom:c @atom:o
+ @improper:ca-n2-ca-n2 @atom:ca @atom:n2 @atom:ca @atom:n2
+ @improper:hc-o-c-oh @atom:hc @atom:o @atom:c @atom:oh
+ @improper:hc-o-c-os @atom:hc @atom:o @atom:c @atom:os
+ @improper:n2-c2-ca-n2 @atom:n2 @atom:c2 @atom:ca @atom:n2
+ @improper:n2-ca-ca-n2 @atom:n2 @atom:ca @atom:ca @atom:n2
+ @improper:na-n2-ca-n2 @atom:na @atom:n2 @atom:ca @atom:n2
+ } # (end of Impropers By Type)
+
+
+ write_once("In Init") {
+ # Default styles and settings for AMBER based force-fields:
+ units real
+ atom_style full
+ bond_style hybrid harmonic
+ angle_style hybrid harmonic
+ dihedral_style hybrid fourier
+ improper_style hybrid cvff
+ pair_style hybrid lj/charmm/coul/long 9.0 10.0 10.0
+ kspace_style pppm 0.0001
+
+ # NOTE: If you do not want to use long-range coulombic forces,
+ # comment out the two lines above and uncomment this line:
+ # pair_style hybrid lj/charmm/coul/charmm 9.0 10.0
+
+ pair_modify mix arithmetic
+ special_bonds amber
+ }
+
+}
+
+
diff --git a/tools/moltemplate/moltemplate/force_fields/graphene.lt b/tools/moltemplate/moltemplate/force_fields/graphene.lt
new file mode 100644
index 000000000..3bc476c3a
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/graphene.lt
@@ -0,0 +1,61 @@
+# The minimal unit cell for graphine contains only 2 atoms:
+# (which I arbitrarily named "C1" and "C2")
+
+Graphene {
+
+ # atomID molID atomType charge x y z
+ write("Data Atoms") {
+ $atom:C1 $mol:... @atom:C 0.0 -0.61487803668695 -0.355 0.0000
+ $atom:C2 $mol:... @atom:C 0.0 0.61487803668695 0.355 0.0000
+ }
+
+ # Now define the "C" atom type
+ write_once("Data Masses") {
+ @atom:C 12.0
+ }
+ write_once("In Settings") {
+ # i j epsilon sigma
+ pair_coeff @atom:C @atom:C lj/cut/coul/long 0.068443 3.407
+
+ # The Lennard-Jones parameters above were chosen to realistically model
+ # the interaction between graphene and water
+ # R. Saito, R. Matsuo, T. Kimura, G. Dresselhaus, M.S. Dresselhaus,
+ # Chem Phys Lett, 348:187 (2001)
+ # NOTE: If you want to simulate movement of the carbon atoms, then you must
+ # choose a more appropriate force field for the carbon atoms, such as
+ # AIREBO or Tersoff. You can do this by editing the "pair_coeff" above.
+ # (The paper by C.F. Cornwell, C.R. Welch, J. Chem. Phys. (2011), Vol 134,
+ # demonstrates how to use the AIREBO potential in LAMMPS.)
+
+ # Define a group consisting of only carbon atoms in graphene molecules
+ group Cgraphene type @atom:C
+ }
+ write_once("In Init") {
+ # -- Default styles (used in this file for graphene carbon) --
+ units real
+ atom_style full #(full enables you to to add other molecules later)
+ pair_style hybrid lj/cut/coul/long 10.0
+ }
+} # Graphene
+
+
+
+
+# This is a 2-dimensional hexagonal unit cell. The unit vectors are:
+#
+# (2.4595121467478, 0, 0)
+# (1.2297560733739, 2.13, 0)
+#
+# You can create a sheet of single-layer graphene this way:
+#
+# small_crystal = new Graphene [3].move(2.45951214, 0, 0)
+# [3].move(1.229756, 2.13, 0)
+#
+# For thicker sheets, follow the instructions in the "graphite.lt" file.
+#
+# Note: The length of each carbon-carbon bond is currently 1.42 Angstroms.
+# To increase it to 1.422 Angstroms, uncomment the following line:
+#
+# Graphene.scale(1.0014084507042254) # 1.0014084507042254 = 1.422 / 1.42
+#
+# You will have to change the unit cell lattice vectors (see above) accordingly
diff --git a/tools/moltemplate/moltemplate/force_fields/graphite.lt b/tools/moltemplate/moltemplate/force_fields/graphite.lt
new file mode 100644
index 000000000..49fb49fb0
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/graphite.lt
@@ -0,0 +1,61 @@
+import "graphene.lt" # defines "Graphene"
+
+
+# ------------ Graphite -----------
+#
+# Note: For graphite: sheets stacked in the Z direction are separated by a
+# distance of 3.35 Angstroms, and shifted in an alternating +/-Y direction
+# by a distance of d (1.42 Angstroms). To add additional graphene layers
+# you could use:
+# sheet2 = new Graphene [10].move(2.4595121467478,0,0)
+# [10].move(1.2297560733739,2.13,0)
+# sheet2[*][*].move(0, 1.42, 3.35)
+# sheet3 = new Graphene [10].move(2.4595121467478,0,0)
+# [10].move(1.2297560733739,2.13,0)
+# sheet3[*][*].move(0, -1.42, 6.70)
+# etc...
+#
+# This should work fine.
+# However, to build a thick sheet of graphite, it may be less trouble
+# to use a 4-atom unit cell which includes two graphene layers.
+# Here is one way to do that:
+
+Graphite inherits Graphene {
+
+ # This allows us to access access the "@atom:C" carbon atom type
+ # whose properties are defined in the "Graphene" object (see "graphene.lt").
+ # That atom is NOT globally defined. It belongs to the "Graphene" object.
+ # This is one way to access it. Alternately, you could redefine it here
+
+ # atomID molID atomType charge x y z
+ write("Data Atoms") {
+ $atom:C1 $mol:... @atom:C 0.0 -0.61487803668695 -0.355 0.0
+ $atom:C2 $mol:... @atom:C 0.0 0.61487803668695 0.355 0.0
+ $atom:C3 $mol:... @atom:C 0.0 -0.61487803668695 1.065 3.35
+ $atom:C4 $mol:... @atom:C 0.0 0.61487803668695 1.775 3.35
+ }
+
+ # Note: The first two lines in the "Data Atoms" section override the positions
+ # of the $atom:C1 and $atom:C2 atoms previously defined in "Graphene"
+ # (which this object inherits). This is okay.
+
+} # Graphite
+
+
+
+
+
+
+# This is a 3-dimensional hexagonal unit cell. The unit vectors are:
+#
+# (2.4595121467478, 0, 0 )
+# (1.2297560733739, 2.13, 0 )
+# ( 0, 0, 6.70)
+
+# Then you could create a thick sheet of graphite this way:
+#
+# graphite = new Graphite [10].move(2.4595121467478,0,0)
+# [10].move(1.2297560733739,2.13,0)
+# [5].move(0,0,6.70)
+#
+# (Your graphite slab will contain an even number of graphene sheets.)
diff --git a/tools/moltemplate/moltemplate/force_fields/images/graphene_unit_cell.jpg b/tools/moltemplate/moltemplate/force_fields/images/graphene_unit_cell.jpg
new file mode 100644
index 000000000..12dbf8fca
Binary files /dev/null and b/tools/moltemplate/moltemplate/force_fields/images/graphene_unit_cell.jpg differ
diff --git a/tools/moltemplate/moltemplate/force_fields/images/ice_rect8_unitcell.png b/tools/moltemplate/moltemplate/force_fields/images/ice_rect8_unitcell.png
new file mode 100644
index 000000000..5bd6057e1
Binary files /dev/null and b/tools/moltemplate/moltemplate/force_fields/images/ice_rect8_unitcell.png differ
diff --git a/tools/moltemplate/moltemplate/force_fields/images/spce_ball_and_stick.jpg b/tools/moltemplate/moltemplate/force_fields/images/spce_ball_and_stick.jpg
new file mode 100644
index 000000000..60aaf90b9
Binary files /dev/null and b/tools/moltemplate/moltemplate/force_fields/images/spce_ball_and_stick.jpg differ
diff --git a/tools/moltemplate/moltemplate/force_fields/loplsaa.lt b/tools/moltemplate/moltemplate/force_fields/loplsaa.lt
new file mode 100644
index 000000000..0c9614632
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/loplsaa.lt
@@ -0,0 +1,633 @@
+###########################################################################
+## Extra OPLSAA parameters and atom types for long hydrocarbon chains ##
+## SOURCE: Sui, Pluhackova, Böckmann, J.Chem.Theory.Comp (2012), 8, 1459 ##
+## CREDIT: Sebastian Echeverri (file format conversion) ##
+###########################################################################
+# This file was generated using:
+# tinkerparm2lt.py -name LOPLSAA -file loplsaa_ext.prm -dihedral-style opls
+# (and then edited manually to make sure the
+# bond, angle, and improper interactions for these atoms
+# remain unchanged)
+
+
+import "oplsaa.lt" # <-- Load the ordinary OPLS parameters
+ # We will extend and override them below
+
+
+
+OPLSAA {
+
+ # Additional atom types and parameters appended to the OPLSAA force-field:
+
+ write_once("In Charges") {
+ set type @atom:80L charge -0.222 # "Alkane CH3- (LOPLS CT_CH3)"
+ set type @atom:81L charge -0.148 # "Alkane -CH2- (LOPLS CT_CH2)"
+ set type @atom:85LCH3 charge 0.074 # "Alkane H-C CH3 (LOPLS HC_CH3)"
+ set type @atom:85LCH2 charge 0.074 # "Alkane H-C CH2 (LOPLS HC_CH2)"
+ set type @atom:87L charge -0.16 # "Alkene RH-C= (LOPLS CM_CH)"
+ set type @atom:89L charge 0.16 # "Alkene H-C= (LOPLS HC_CH)"
+ set type @atom:86L charge 0.0 # "Alkene R2-C= (LOPLS)"
+ set type @atom:88L charge -0.23 # "Alkene H2-C= (LOPLS)"
+ set type @atom:169L charge 0.005 # "Chloroalkene Cl-CH= (LOPLS)"
+ set type @atom:266L charge -0.07 # "Uracil & Thymine C5 (LOPLS)"
+ set type @atom:267L charge 0.08 # "Uracil & Thymine C6 (LOPLS)"
+ set type @atom:280L charge -0.06 # "Cytosine C5 (LOPLS)"
+ set type @atom:281L charge 0.1 # "Cytosine C6 (LOPLS)"
+ set type @atom:324L charge -0.06 # "CytosineH+ C5 (LOPLS)"
+ set type @atom:325L charge 0.1 # "CytosineH+ C6 (LOPLS)"
+ set type @atom:340L charge 0.18 # "Trifluorothymine CF3- (LOPLS)"
+ set type @atom:342L charge 0.12 # "Chloroalkene Cl2-C= (LOPLS)"
+ set type @atom:458L charge -0.03 # "Vinyl Ether =CH-OR (LOPLS)"
+ set type @atom:459L charge 0.085 # "Vinyl Ether =CR-OR (LOPLS)"
+ set type @atom:649L charge -0.344 # "Cl..CH3..Cl- Sn2 TS (LOPLS)"
+ set type @atom:900L charge -0.25 # "Allene/Ketene H2C=C=X (LOPLS)"
+ set type @atom:901L charge -0.1 # "Allene/Ketene HRC=C=X (LOPLS)"
+ set type @atom:902L charge 0.05 # "Allene/Ketene R2C=C=X (LOPLS)"
+ } #(end of atom partial charges)
+
+
+ write_once("Data Masses") {
+ @atom:80L 12.011
+ @atom:81L 12.011
+ @atom:85LCH3 1.008
+ @atom:85LCH2 1.008
+ @atom:87L 12.011
+ @atom:89L 1.008
+ @atom:86L 12.011
+ @atom:88L 12.011
+ @atom:169L 12.011
+ @atom:266L 12.011
+ @atom:267L 12.011
+ @atom:280L 12.011
+ @atom:281L 12.011
+ @atom:324L 12.011
+ @atom:325L 12.011
+ @atom:340L 12.011
+ @atom:342L 12.011
+ @atom:458L 12.011
+ @atom:459L 12.011
+ @atom:649L 12.011
+ @atom:900L 12.011
+ @atom:901L 12.011
+ @atom:902L 12.011
+ } #(end of atom masses)
+
+ # ------- force-field-IDs for bonded interaction lookup -------
+ # (First append the "force-field-ID" to the atom type name.
+ # Later use these expanded names for force-field lookup.)
+ replace{ @atom:80L @atom:80L_b13_a13_d13L_i13 }
+ replace{ @atom:81L @atom:81L_b13_a13_d13L_i13 }
+ replace{ @atom:85LCH3 @atom:85LCH3_b46_a46_d46_i46 }
+ replace{ @atom:85LCH2 @atom:85LCH2_b46_a46_d46_i46 }
+ replace{ @atom:87L @atom:87L_b47_a47_d47L_i47 }
+ replace{ @atom:89L @atom:89L_b46_a46_d46_i46 }
+ replace{ @atom:86L @atom:86L_b47_a47_d47L_i47 }
+ replace{ @atom:88L @atom:88L_b47_a47_d47L_i47 }
+ replace{ @atom:169L @atom:169L_b47_a47_d47L_i47 }
+ replace{ @atom:266L @atom:266L_b47_a47_d47L_i47 }
+ replace{ @atom:267L @atom:267L_b47_a47_d47L_i47 }
+ replace{ @atom:280L @atom:280L_b47_a47_d47L_i47 }
+ replace{ @atom:281L @atom:281L_b47_a47_d47L_i47 }
+ replace{ @atom:324L @atom:324L_b47_a47_d47L_i47 }
+ replace{ @atom:325L @atom:325L_b47_a47_d47L_i47 }
+ replace{ @atom:340L @atom:340L_b47_a47_d47L_i47 }
+ replace{ @atom:342L @atom:342L_b47_a47_d47L_i47 }
+ replace{ @atom:458L @atom:458L_b47_a47_d47L_i47 }
+ replace{ @atom:459L @atom:459L_b47_a47_d47L_i47 }
+ replace{ @atom:649L @atom:649L_b47_a47_d47L_i47 }
+ replace{ @atom:900L @atom:900L_b47_a47_d47L_i47 }
+ replace{ @atom:901L @atom:901L_b47_a47_d47L_i47 }
+ replace{ @atom:902L @atom:902L_b47_a47_d47L_i47 }
+ #(end of force-field-IDs)
+
+ write_once("In Settings") {
+ pair_coeff @atom:80L_b13_a13_d13L_i13 @atom:80L_b13_a13_d13L_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:81L_b13_a13_d13L_i13 @atom:81L_b13_a13_d13L_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:85LCH3_b46_a46_d46_i46 @atom:85LCH3_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:85LCH2_b46_a46_d46_i46 @atom:85LCH2_b46_a46_d46_i46 lj/cut/coul/long 0.026290630975 2.5
+ pair_coeff @atom:87L_b47_a47_d47L_i47 @atom:87L_b47_a47_d47L_i47 lj/cut/coul/long 0.076 3.55
+ pair_coeff @atom:89L_b46_a46_d46_i46 @atom:89L_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:86L_b47_a47_d47L_i47 @atom:86L_b47_a47_d47L_i47 lj/cut/coul/long 0.076 3.55
+ pair_coeff @atom:88L_b47_a47_d47L_i47 @atom:88L_b47_a47_d47L_i47 lj/cut/coul/long 0.076 3.55
+ pair_coeff @atom:169L_b47_a47_d47L_i47 @atom:169L_b47_a47_d47L_i47 lj/cut/coul/long 0.076 3.55
+ pair_coeff @atom:266L_b47_a47_d47L_i47 @atom:266L_b47_a47_d47L_i47 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:267L_b47_a47_d47L_i47 @atom:267L_b47_a47_d47L_i47 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:280L_b47_a47_d47L_i47 @atom:280L_b47_a47_d47L_i47 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:281L_b47_a47_d47L_i47 @atom:281L_b47_a47_d47L_i47 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:324L_b47_a47_d47L_i47 @atom:324L_b47_a47_d47L_i47 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:325L_b47_a47_d47L_i47 @atom:325L_b47_a47_d47L_i47 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:340L_b47_a47_d47L_i47 @atom:340L_b47_a47_d47L_i47 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:342L_b47_a47_d47L_i47 @atom:342L_b47_a47_d47L_i47 lj/cut/coul/long 0.076 3.55
+ pair_coeff @atom:458L_b47_a47_d47L_i47 @atom:458L_b47_a47_d47L_i47 lj/cut/coul/long 0.076 3.55
+ pair_coeff @atom:459L_b47_a47_d47L_i47 @atom:459L_b47_a47_d47L_i47 lj/cut/coul/long 0.076 3.55
+ pair_coeff @atom:649L_b47_a47_d47L_i47 @atom:649L_b47_a47_d47L_i47 lj/cut/coul/long 0.076 3.55
+ pair_coeff @atom:900L_b47_a47_d47L_i47 @atom:900L_b47_a47_d47L_i47 lj/cut/coul/long 0.086 3.3
+ pair_coeff @atom:901L_b47_a47_d47L_i47 @atom:901L_b47_a47_d47L_i47 lj/cut/coul/long 0.086 3.3
+ pair_coeff @atom:902L_b47_a47_d47L_i47 @atom:902L_b47_a47_d47L_i47 lj/cut/coul/long 0.086 3.3
+ } #(end of pair_coeffs)
+
+
+ # Bond parameters for these atoms are not modified
+
+ # Angle parameters for these atoms are not modified
+
+ # Improper parameters for these atoms are not modified
+
+ # Dihedral parameters for some of these atoms are modified:
+
+ write_once("In Settings") {
+ dihedral_coeff @dihedral:13L-13L-13L-13L opls 0.6446926386 -0.2143420172 0.1782194073 0.0
+ dihedral_coeff @dihedral:X-47L-47L-X opls 0.0 12.2502629063 0.0 0.0
+ dihedral_coeff @dihedral:47L-47L-13L-13L opls -0.8050121893 0.3218905354 -0.1032768881 0.0
+ dihedral_coeff @dihedral:13L-13L-13L-47L opls 0.4821902486 0.1343683078 0.1777461759 0.0
+ } #(end of dihedral_coeffs)
+
+
+ # First we must slightly loosen the requirements to generate dihedrals
+ # involving atom types d13 or d47. We want the same rules to apply
+ # for atoms of type d13L and d47L. To cover both of these cases,
+ # I replaced "d13_" with "d13*_" in the lines below:
+ # (Later I will add the custom dihedrals for these atom types.)
+
+ write_once("Data Dihedrals By Type") {
+ @dihedral:2-2-2-13 @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:2-2-13-2 @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d2_i*
+ @dihedral:4-3-3-13 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-3-3-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-3-3-24 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i*
+ @dihedral:13-3-3-46 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d46_i*
+ @dihedral:13-3-5-7 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d7_i*
+ @dihedral:1-3-13-13 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:1-3-13-46 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:3-3-13-46 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:4-3-13-X @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*
+ @dihedral:4-3-13-13 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:4-3-13-21 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d21_i*
+ @dihedral:4-3-13-44 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d44_i*
+ @dihedral:4-3-13-24 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i*
+ @dihedral:4-3-13-46 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:4-3-13-48 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i*
+ @dihedral:5-3-13-13 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:5-3-13-44 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d44_i*
+ @dihedral:5-3-13-46 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:13-3-13-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-3-13-46 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:20-3-13-13 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:20-3-13-46 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:21-3-13-13 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:21-3-13-46 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:24-3-13-13 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:24-3-13-21 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d21_i*
+ @dihedral:24-3-13-24 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i*
+ @dihedral:24-3-13-46 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:46-3-13-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:46-3-13-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:48-3-13-46 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:52-3-13-13 @atom:*_b*_a*_d52_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:52-3-13-44 @atom:*_b*_a*_d52_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d44_i*
+ @dihedral:52-3-13-46 @atom:*_b*_a*_d52_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:65-3-13-13 @atom:*_b*_a*_d65_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:65-3-13-46 @atom:*_b*_a*_d65_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:107-3-13-46 @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:4-3-20-13 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-3-20-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-3-20-48 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d48_i*
+ @dihedral:24-3-20-13 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:46-3-20-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:48-3-20-13 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:3-3-24-13 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:4-3-24-13 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:4-3-24-47 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d47*_i*
+ @dihedral:5-3-24-13 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-3-24-5 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d5_i*
+ @dihedral:13-3-24-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-3-24-45 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i*
+ @dihedral:13-3-24-48 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i*
+ @dihedral:20-3-24-13 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:24-3-24-13 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:46-3-24-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:47-3-24-45 @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i*
+ @dihedral:X-3-47-13 @atom:* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:4-3-47-46 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:4-3-47-47 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i*
+ @dihedral:5-3-47-47 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i*
+ @dihedral:24-3-47-46 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:24-3-47-47 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i*
+ @dihedral:107-3-47-46 @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:107-3-47-47 @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i*
+ @dihedral:13-3-48-48 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:X-3-50-13 @atom:* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:4-3-50-47 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47*_i*
+ @dihedral:5-3-50-47 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47*_i*
+ @dihedral:13-3-50-47 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47*_i*
+ @dihedral:13-3-56-X @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d56_i* @atom:*
+ @dihedral:13-3-56-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:4-3-107-13 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-3-107-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:7-5-13-2 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d2_i*
+ @dihedral:7-5-13-6 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d6_i*
+ @dihedral:7-5-13-13 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:7-5-13-46 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:7-5-13-47 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i*
+ @dihedral:7-5-13-48 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i*
+ @dihedral:7-5-13-50 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d50_i*
+ @dihedral:7-5-44-13 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:7-5-47-47 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i*
+ @dihedral:7-5-79-13 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:X-13-13-3 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i*
+ @dihedral:X-13-13-13 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:X-13-13-24 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i*
+ @dihedral:1-13-13-1 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d1_i*
+ @dihedral:1-13-13-5 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d5_i*
+ @dihedral:1-13-13-13 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:1-13-13-46 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:3-13-13-3 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d3_i*
+ @dihedral:3-13-13-5 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d5_i*
+ @dihedral:3-13-13-13 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:3-13-13-15 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d15_i*
+ @dihedral:3-13-13-16 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d16_i*
+ @dihedral:3-13-13-24 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i*
+ @dihedral:3-13-13-46 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:3-13-13-48 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i*
+ @dihedral:3-13-13-80 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d80_i*
+ @dihedral:5-13-13-5 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d5_i*
+ @dihedral:5-13-13-13 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:5-13-13-20 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i*
+ @dihedral:5-13-13-44 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d44_i*
+ @dihedral:5-13-13-24 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i*
+ @dihedral:5-13-13-46 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:13-13-13-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-13-13-15 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d15_i*
+ @dihedral:13-13-13-16 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d16_i*
+ @dihedral:13-13-13-19 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d19_i*
+ @dihedral:13-13-13-21 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d21_i*
+ @dihedral:13-13-13-44 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d44_i*
+ @dihedral:13-13-13-24 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i*
+ @dihedral:13-13-13-46 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:13-13-13-51 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d51_i*
+ @dihedral:13-13-13-53 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i*
+ @dihedral:13-13-13-65 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d65_i*
+ @dihedral:13-13-13-66 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d66_i*
+ @dihedral:13-13-13-79 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d79_i*
+ @dihedral:13-13-13-107 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d107_i*
+ @dihedral:13-13-13-108 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d108_i*
+ @dihedral:15-13-13-46 @atom:*_b*_a*_d15_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:16-13-13-46 @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:19-13-13-46 @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:20-13-13-20 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i*
+ @dihedral:20-13-13-46 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:21-13-13-21 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d21_i*
+ @dihedral:21-13-13-44 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d44_i*
+ @dihedral:21-13-13-46 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:44-13-13-44 @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d44_i*
+ @dihedral:44-13-13-46 @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:44-13-13-48 @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i*
+ @dihedral:24-13-13-46 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:24-13-13-48 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i*
+ @dihedral:24-13-13-80 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d80_i*
+ @dihedral:46-13-13-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:46-13-13-47 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i*
+ @dihedral:46-13-13-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i*
+ @dihedral:46-13-13-51 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d51_i*
+ @dihedral:46-13-13-53 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i*
+ @dihedral:46-13-13-55 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d55_i*
+ @dihedral:46-13-13-59 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d59_i*
+ @dihedral:46-13-13-62 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d62_i*
+ @dihedral:46-13-13-65 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d65_i*
+ @dihedral:46-13-13-66 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d66_i*
+ @dihedral:46-13-13-79 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d79_i*
+ @dihedral:46-13-13-80 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d80_i*
+ @dihedral:46-13-13-82 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d82_i*
+ @dihedral:46-13-13-83 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d83_i*
+ @dihedral:46-13-13-84 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d84_i*
+ @dihedral:46-13-13-87 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d87_i*
+ @dihedral:46-13-13-88 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d88_i*
+ @dihedral:46-13-13-102 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d102_i*
+ @dihedral:46-13-13-104 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d104_i*
+ @dihedral:46-13-13-107 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d107_i*
+ @dihedral:46-13-13-108 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d108_i*
+ @dihedral:46-13-13-109 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d109_i*
+ @dihedral:48-13-13-53 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i*
+ @dihedral:108-13-13-108 @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d108_i*
+ @dihedral:13-13-15-17 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d15_i* @atom:*_b*_a*_d17_i*
+ @dihedral:46-13-15-17 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d15_i* @atom:*_b*_a*_d17_i*
+ @dihedral:13-13-16-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-13-16-16 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d16_i*
+ @dihedral:46-13-16-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:46-13-16-16 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d16_i*
+ @dihedral:46-13-16-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d48_i*
+ @dihedral:X-13-18-19 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d18_i* @atom:*_b*_a*_d19_i*
+ @dihedral:46-13-18-19 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d18_i* @atom:*_b*_a*_d19_i*
+ @dihedral:X-13-19-18 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d18_i*
+ @dihedral:X-13-19-19 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i*
+ @dihedral:13-13-19-19 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i*
+ @dihedral:46-13-19-19 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i*
+ @dihedral:X-13-20-13 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:56-13-20-13 @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:57-13-20-13 @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-13-20-3 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d3_i*
+ @dihedral:13-13-20-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-13-20-64 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d64_i*
+ @dihedral:46-13-20-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*
+ @dihedral:46-13-20-3 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d3_i*
+ @dihedral:46-13-20-47 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d47*_i*
+ @dihedral:46-13-20-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d48_i*
+ @dihedral:46-13-20-51 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d51_i*
+ @dihedral:46-13-20-64 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d64_i*
+ @dihedral:13-13-44-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-13-44-45 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d45_i*
+ @dihedral:46-13-44-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:46-13-44-45 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d45_i*
+ @dihedral:46-13-44-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d48_i*
+ @dihedral:X-13-24-45 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i*
+ @dihedral:3-13-24-3 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i*
+ @dihedral:3-13-24-13 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:3-13-24-45 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i*
+ @dihedral:13-13-24-3 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i*
+ @dihedral:13-13-24-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-13-24-45 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i*
+ @dihedral:13-13-24-59 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d59_i*
+ @dihedral:13-13-24-79 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d79_i*
+ @dihedral:13-13-24-91 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d91_i*
+ @dihedral:46-13-24-3 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i*
+ @dihedral:46-13-24-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:46-13-24-45 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i*
+ @dihedral:46-13-24-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i*
+ @dihedral:46-13-24-79 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d79_i*
+ @dihedral:48-13-24-59 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d59_i*
+ @dihedral:X-13-47-13 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:X-13-47-46 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:X-13-47-47 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i*
+ @dihedral:X-13-47-50 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i*
+ @dihedral:1-13-47-47 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i*
+ @dihedral:13-13-47-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-13-47-47 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i*
+ @dihedral:13-13-47-50 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i*
+ @dihedral:46-13-47-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:46-13-47-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:46-13-47-47 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i*
+ @dihedral:46-13-47-50 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i*
+ @dihedral:46-13-47-110 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d110_i*
+ @dihedral:47-13-47-13 @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:47-13-47-46 @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:X-13-48-48 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:1-13-48-48 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-13-48-48 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-13-48-56 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d56_i*
+ @dihedral:21-13-48-48 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:46-13-48-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:64-13-48-48 @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:65-13-48-48 @atom:*_b*_a*_d65_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:X-13-50-47 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47*_i*
+ @dihedral:13-13-50-50 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i*
+ @dihedral:46-13-50-47 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47*_i*
+ @dihedral:46-13-50-50 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i*
+ @dihedral:46-13-50-109 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i*
+ @dihedral:13-13-51-X @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d51_i* @atom:*
+ @dihedral:13-13-51-46 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d51_i* @atom:*_b*_a*_d46_i*
+ @dihedral:46-13-51-20 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d51_i* @atom:*_b*_a*_d20_i*
+ @dihedral:13-13-53-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-13-53-45 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d45_i*
+ @dihedral:46-13-53-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:46-13-53-45 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d45_i*
+ @dihedral:46-13-53-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d48_i*
+ @dihedral:46-13-53-54 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d54_i*
+ @dihedral:13-13-55-45 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d45_i*
+ @dihedral:13-13-55-48 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-13-55-54 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d54_i*
+ @dihedral:46-13-55-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:46-13-55-45 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d45_i*
+ @dihedral:46-13-55-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-13-56-18 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d18_i*
+ @dihedral:X-13-57-X @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d57_i* @atom:*
+ @dihedral:13-13-57-X @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d57_i* @atom:*
+ @dihedral:13-13-57-62 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d62_i*
+ @dihedral:13-13-57-82 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d82_i*
+ @dihedral:20-13-57-X @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d57_i* @atom:*
+ @dihedral:20-13-57-62 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d62_i*
+ @dihedral:20-13-57-82 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d82_i*
+ @dihedral:13-13-59-X @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d59_i* @atom:*
+ @dihedral:13-13-59-56 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d59_i* @atom:*_b*_a*_d56_i*
+ @dihedral:46-13-59-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d59_i* @atom:*
+ @dihedral:13-13-62-X @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d62_i* @atom:*
+ @dihedral:46-13-62-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d62_i* @atom:*
+ @dihedral:46-13-64-20 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d20_i*
+ @dihedral:46-13-64-52 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d52_i*
+ @dihedral:48-13-64-20 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d20_i*
+ @dihedral:48-13-64-52 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d52_i*
+ @dihedral:X-13-79-23 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d23_i*
+ @dihedral:X-13-79-24 @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d24_i*
+ @dihedral:13-13-79-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-13-79-23 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d23_i*
+ @dihedral:46-13-79-5 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d5_i*
+ @dihedral:46-13-79-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:46-13-79-23 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d23_i*
+ @dihedral:46-13-79-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-13-80-X @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d80_i* @atom:*
+ @dihedral:13-13-80-60 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d80_i* @atom:*_b*_a*_d60_i*
+ @dihedral:13-13-80-84 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d80_i* @atom:*_b*_a*_d84_i*
+ @dihedral:46-13-80-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d80_i* @atom:*
+ @dihedral:46-13-80-60 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d80_i* @atom:*_b*_a*_d60_i*
+ @dihedral:46-13-80-84 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d80_i* @atom:*_b*_a*_d84_i*
+ @dihedral:13-13-82-X @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d82_i* @atom:*
+ @dihedral:46-13-82-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d82_i* @atom:*
+ @dihedral:13-13-83-X @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d83_i* @atom:*
+ @dihedral:46-13-83-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d83_i* @atom:*
+ @dihedral:1-13-84-X @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d84_i* @atom:*
+ @dihedral:13-13-84-X @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d84_i* @atom:*
+ @dihedral:13-13-84-57 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d57_i*
+ @dihedral:21-13-84-X @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d84_i* @atom:*
+ @dihedral:46-13-84-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d84_i* @atom:*
+ @dihedral:1-13-87-X @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d87_i* @atom:*
+ @dihedral:13-13-87-X @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d87_i* @atom:*
+ @dihedral:21-13-87-X @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d87_i* @atom:*
+ @dihedral:46-13-87-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d87_i* @atom:*
+ @dihedral:13-13-88-X @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d88_i* @atom:*
+ @dihedral:46-13-88-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d88_i* @atom:*
+ @dihedral:X-13-90-X @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d90_i* @atom:*
+ @dihedral:46-13-90-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d90_i* @atom:*
+ @dihedral:46-13-91-91 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i*
+ @dihedral:13-13-95-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d95_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-13-95-46 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d95_i* @atom:*_b*_a*_d46_i*
+ @dihedral:13-13-102-103 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d102_i* @atom:*_b*_a*_d103_i*
+ @dihedral:46-13-102-103 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d102_i* @atom:*_b*_a*_d103_i*
+ @dihedral:13-13-104-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d104_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:46-13-104-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d104_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:X-13-105-X @atom:* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d105_i* @atom:*
+ @dihedral:13-13-105-X @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d105_i* @atom:*
+ @dihedral:13-13-105-62 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d105_i* @atom:*_b*_a*_d62_i*
+ @dihedral:13-13-105-82 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d105_i* @atom:*_b*_a*_d82_i*
+ @dihedral:20-13-105-X @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d105_i* @atom:*
+ @dihedral:20-13-105-62 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d105_i* @atom:*_b*_a*_d62_i*
+ @dihedral:20-13-105-82 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d105_i* @atom:*_b*_a*_d82_i*
+ @dihedral:3-13-107-13 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-13-107-3 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d3_i*
+ @dihedral:13-13-107-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:46-13-107-3 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d3_i*
+ @dihedral:46-13-107-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:46-13-107-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-13-108-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-13-108-45 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d45_i*
+ @dihedral:46-13-108-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:46-13-108-20 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d20_i*
+ @dihedral:46-13-108-45 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d45_i*
+ @dihedral:13-13-109-109 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i*
+ @dihedral:46-13-109-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:46-13-109-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d46_i*
+ @dihedral:46-13-109-109 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i*
+ @dihedral:13-16-16-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-16-48-48 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-16-48-56 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d56_i*
+ @dihedral:13-16-59-56 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d59_i* @atom:*_b*_a*_d56_i*
+ @dihedral:18-18-56-13 @atom:*_b*_a*_d18_i* @atom:*_b*_a*_d18_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-19-19-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-19-19-46 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d46_i*
+ @dihedral:13-19-19-47 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d47*_i*
+ @dihedral:13-19-19-109 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d109_i*
+ @dihedral:46-19-19-47 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d47*_i*
+ @dihedral:19-19-47-13 @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:19-19-47-46 @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:19-19-47-47 @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i*
+ @dihedral:13-20-44-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-20-44-45 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d45_i*
+ @dihedral:13-20-47-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-20-47-46 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:13-20-47-47 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i*
+ @dihedral:13-20-47-50 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i*
+ @dihedral:13-20-48-48 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-20-48-56 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d56_i*
+ @dihedral:13-20-51-5 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d51_i* @atom:*_b*_a*_d5_i*
+ @dihedral:13-20-51-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d51_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-20-51-20 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d51_i* @atom:*_b*_a*_d20_i*
+ @dihedral:13-20-51-46 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d51_i* @atom:*_b*_a*_d46_i*
+ @dihedral:13-20-56-3 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d3_i*
+ @dihedral:13-20-59-56 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d59_i* @atom:*_b*_a*_d56_i*
+ @dihedral:13-20-64-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-20-64-52 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d52_i*
+ @dihedral:108-20-108-13 @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-44-44-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-44-44-45 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d45_i*
+ @dihedral:13-44-48-48 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-24-48-48 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-24-79-48 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-24-82-61 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i*
+ @dihedral:47-24-86-48 @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i*
+ @dihedral:47-24-86-56 @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d56_i*
+ @dihedral:47-46-47-13 @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:47-46-47-46 @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:X-47-47-X @atom:* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*
+ @dihedral:X-47-47-19 @atom:* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d19_i*
+ @dihedral:3-47-47-24 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d24_i*
+ @dihedral:3-47-47-46 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:5-47-47-13 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:5-47-47-46 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:13-47-47-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-47-47-19 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d19_i*
+ @dihedral:13-47-47-20 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d20_i*
+ @dihedral:13-47-47-46 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:19-47-47-46 @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:20-47-47-46 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:21-47-47-21 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d21_i*
+ @dihedral:21-47-47-46 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:46-47-47-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d46_i*
+ @dihedral:46-47-47-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-47-48-48 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:46-47-48-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:46-47-48-56 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d56_i*
+ @dihedral:47-47-48-48 @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-47-50-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-47-50-46 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d46_i*
+ @dihedral:13-47-50-48 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-47-50-50 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i*
+ @dihedral:13-47-50-109 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i*
+ @dihedral:24-47-50-3 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d3_i*
+ @dihedral:46-47-50-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:46-47-50-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d46_i*
+ @dihedral:46-47-50-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d48_i*
+ @dihedral:46-47-50-50 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i*
+ @dihedral:46-47-50-109 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i*
+ @dihedral:X-47-84-X @atom:* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d84_i* @atom:*
+ @dihedral:X-47-86-48 @atom:* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i*
+ @dihedral:3-47-86-86 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d86_i*
+ @dihedral:49-47-86-X @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d86_i* @atom:*
+ @dihedral:49-47-86-24 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d24_i*
+ @dihedral:X-47-87-X @atom:* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d87_i* @atom:*
+ @dihedral:X-47-88-X @atom:* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d88_i* @atom:*
+ @dihedral:13-47-110-47 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d110_i* @atom:*_b*_a*_d47*_i*
+ @dihedral:46-47-110-47 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d110_i* @atom:*_b*_a*_d47*_i*
+ @dihedral:X-48-48-13 @atom:* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-48-48-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-48-48-48 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-48-48-49 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d49_i*
+ @dihedral:13-48-48-50 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d50_i*
+ @dihedral:47-48-48-49 @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d49_i*
+ @dihedral:48-48-50-47 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47*_i*
+ @dihedral:56-48-50-47 @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47*_i*
+ @dihedral:48-48-53-13 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:55-48-55-13 @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:48-48-79-13 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:56-48-101-13 @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d101_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:48-48-109-13 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-50-50-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-50-50-46 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d46_i*
+ @dihedral:13-50-50-47 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47*_i*
+ @dihedral:46-50-50-47 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47*_i*
+ @dihedral:47-50-50-47 @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47*_i*
+ @dihedral:13-50-109-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-50-109-109 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i*
+ @dihedral:46-50-109-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:47-50-109-13 @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:47-50-109-46 @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d46_i*
+ @dihedral:47-50-109-109 @atom:*_b*_a*_d47*_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i*
+ @dihedral:13-53-82-61 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i*
+ @dihedral:13-56-56-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-56-56-48 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d48_i*
+ @dihedral:4-89-90-13 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d89_i* @atom:*_b*_a*_d90_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:91-89-90-13 @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d89_i* @atom:*_b*_a*_d90_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-91-91-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-91-91-46 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d46_i*
+ @dihedral:13-109-109-13 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:13-109-109-46 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d46_i*
+ @dihedral:13-109-109-48 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-109-109-50 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d50_i*
+ @dihedral:13-109-109-109 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i*
+ @dihedral:24-3-13-53 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i*
+ @dihedral:52-3-13-24 @atom:*_b*_a*_d52_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d24_i*
+ @dihedral:3-13-13-53 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i*
+ @dihedral:3-13-13-83 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d83_i*
+ @dihedral:3-13-13-84 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d84_i*
+ @dihedral:3-13-13-85 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d85_i*
+ @dihedral:5-13-13-53 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i*
+ @dihedral:15-13-13-53 @atom:*_b*_a*_d15_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i*
+ @dihedral:16-13-13-53 @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i*
+ @dihedral:13-13-13-55 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d55_i*
+ @dihedral:24-13-13-83 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d83_i*
+ @dihedral:53-13-13-83 @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d83_i*
+ @dihedral:24-13-13-84 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d84_i*
+ @dihedral:53-13-13-84 @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d84_i*
+ @dihedral:24-13-13-85 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d85_i*
+ @dihedral:46-13-13-85 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d85_i*
+ @dihedral:53-13-13-85 @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d85_i*
+ @dihedral:3-13-53-13 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d13*_i*
+ @dihedral:3-13-53-54 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d54_i*
+ @dihedral:13-13-53-54 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d54_i*
+ @dihedral:46-13-55-54 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d54_i*
+ @dihedral:13-13-85-X @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d85_i* @atom:*
+ @dihedral:13-13-85-57 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d85_i* @atom:*_b*_a*_d57_i*
+ @dihedral:46-13-85-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d85_i* @atom:*
+ @dihedral:13-13-13-20 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d20_i*
+ @dihedral:13-13-13-47 @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d13*_i* @atom:*_b*_a*_d47*_i*
+ } #(end of dihedrals by type)
+
+
+ # New dihedrals which have been customized:
+ # (These will override the rules above)
+
+ write_once("Data Dihedrals By Type") {
+ @dihedral:13L-13L-13L-13L @atom:*_b*_a*_d13L_i* @atom:*_b*_a*_d13L_i* @atom:*_b*_a*_d13L_i* @atom:*_b*_a*_d13L_i*
+ @dihedral:X-47L-47L-X @atom:* @atom:*_b*_a*_d47L_i* @atom:*_b*_a*_d47L_i* @atom:*
+ @dihedral:47L-47L-13L-13L @atom:*_b*_a*_d47L_i* @atom:*_b*_a*_d47L_i* @atom:*_b*_a*_d13L_i* @atom:*_b*_a*_d13L_i*
+ @dihedral:13L-13L-13L-47L @atom:*_b*_a*_d13L_i* @atom:*_b*_a*_d13L_i* @atom:*_b*_a*_d13L_i* @atom:*_b*_a*_d47L_i*
+ } #(end of dihedrals by type)
+
+} # end of additional parameters appended to the "OPLSAA" object
diff --git a/tools/moltemplate/moltemplate/force_fields/martini.lt b/tools/moltemplate/moltemplate/force_fields/martini.lt
new file mode 100644
index 000000000..3279e55db
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/martini.lt
@@ -0,0 +1,2213 @@
+# Autogenerated by EMC 2 LT tool v0.1 on 2017-06-28
+#
+# cd martini/
+# ./emcprm2lt.py martini.prm lipids.prm cholesterol.prm --bond-style=harmonic --angle-style=cosine/squared --pair-style=lj/gromacs/coul/gromacs --name=martini
+# mv -f martini.lt ../
+#
+# Adapted from EMC by Pieter J. in 't Veld
+# Originally written as, FFNAME:MARTINI STYLE:COARSE VERSION:V2.0 on Feb 2014
+
+MARTINI {
+ write_once("Data Masses") {
+ @atom:BP4 72.000000 # BP4
+ @atom:C1 72.000000 # C1
+ @atom:C2 72.000000 # C2
+ @atom:C3 72.000000 # C3
+ @atom:C4 72.000000 # C4
+ @atom:C5 72.000000 # C5
+ @atom:N0 72.000000 # N0
+ @atom:Na 72.000000 # Na
+ @atom:Nd 72.000000 # Nd
+ @atom:Nda 72.000000 # Nda
+ @atom:P1 72.000000 # P1
+ @atom:P2 72.000000 # P2
+ @atom:P3 72.000000 # P3
+ @atom:P4 72.000000 # P4
+ @atom:P5 72.000000 # P5
+ @atom:Q0 72.000000 # Q0
+ @atom:Qa 72.000000 # Qa
+ @atom:Qd 72.000000 # Qd
+ @atom:Qda 72.000000 # Qda
+ @atom:SC1 54.000000 # SC1
+ @atom:SC2 54.000000 # SC2
+ @atom:SC3 54.000000 # SC3
+ @atom:SC4 54.000000 # SC4
+ @atom:SC5 54.000000 # SC5
+ @atom:SN0 54.000000 # SN0
+ @atom:SNa 54.000000 # SNa
+ @atom:SNd 54.000000 # SNd
+ @atom:SNda 54.000000 # SNda
+ @atom:SP1 54.000000 # SP1
+ @atom:SP2 54.000000 # SP2
+ @atom:SP3 54.000000 # SP3
+ @atom:SP4 54.000000 # SP4
+ @atom:SP5 54.000000 # SP5
+ @atom:SQ0 54.000000 # SQ0
+ @atom:SQa 54.000000 # SQa
+ @atom:SQd 54.000000 # SQd
+ @atom:SQda 54.000000 # SQda
+ @atom:C41 72.000000 # C41
+ @atom:C42 72.000000 # C42
+ @atom:Na1 72.000000 # Na1
+ @atom:Na2 72.000000 # Na2
+ @atom:Qa1 72.000000 # Qa1
+ @atom:Qa2 72.000000 # Qa2
+ @atom:SC11 54.000000 # SC11
+ @atom:SC110 54.000000 # SC110
+ @atom:SC111 54.000000 # SC111
+ @atom:SC112 54.000000 # SC112
+ @atom:SC12 54.000000 # SC12
+ @atom:SC13 54.000000 # SC13
+ @atom:SC14 54.000000 # SC14
+ @atom:SC15 54.000000 # SC15
+ @atom:SC16 54.000000 # SC16
+ @atom:SC17 54.000000 # SC17
+ @atom:SC18 54.000000 # SC18
+ @atom:SC19 54.000000 # SC19
+ @atom:SC31 54.000000 # SC31
+ @atom:SC32 54.000000 # SC32
+ @atom:SC33 54.000000 # SC33
+ @atom:SP11 54.000000 # SP11
+ @atom:SP12 54.000000 # SP12
+ } # end of atom masses
+
+ # ----- EQUIVALENCE CATEGORIES for bonded interaction lookup -----
+ replace{ @atom:BP4 @atom:BP4_bBP4_aBP4_dBP4_iBP4}
+ replace{ @atom:C1 @atom:C1_bC1_aC1_dC1_iC1}
+ replace{ @atom:C2 @atom:C2_bC2_aC2_dC2_iC2}
+ replace{ @atom:C3 @atom:C3_bC3_aC3_dC3_iC3}
+ replace{ @atom:C4 @atom:C4_bC4_aC4_dC4_iC4}
+ replace{ @atom:C5 @atom:C5_bC5_aC5_dC5_iC5}
+ replace{ @atom:N0 @atom:N0_bN0_aN0_dN0_iN0}
+ replace{ @atom:Na @atom:Na_bNa_aNa_dNa_iNa}
+ replace{ @atom:Nd @atom:Nd_bNd_aNd_dNd_iNd}
+ replace{ @atom:Nda @atom:Nda_bNda_aNda_dNda_iNda}
+ replace{ @atom:P1 @atom:P1_bP1_aP1_dP1_iP1}
+ replace{ @atom:P2 @atom:P2_bP2_aP2_dP2_iP2}
+ replace{ @atom:P3 @atom:P3_bP3_aP3_dP3_iP3}
+ replace{ @atom:P4 @atom:P4_bP4_aP4_dP4_iP4}
+ replace{ @atom:P5 @atom:P5_bP5_aP5_dP5_iP5}
+ replace{ @atom:Q0 @atom:Q0_bQ0_aQ0_dQ0_iQ0}
+ replace{ @atom:Qa @atom:Qa_bQa_aQa_dQa_iQa}
+ replace{ @atom:Qd @atom:Qd_bQd_aQd_dQd_iQd}
+ replace{ @atom:Qda @atom:Qda_bQda_aQda_dQda_iQda}
+ replace{ @atom:SC1 @atom:SC1_bSC1_aSC1_dSC1_iSC1}
+ replace{ @atom:SC2 @atom:SC2_bSC2_aSC2_dSC2_iSC2}
+ replace{ @atom:SC3 @atom:SC3_bSC3_aSC3_dSC3_iSC3}
+ replace{ @atom:SC4 @atom:SC4_bSC4_aSC4_dSC4_iSC4}
+ replace{ @atom:SC5 @atom:SC5_bSC5_aSC5_dSC5_iSC5}
+ replace{ @atom:SN0 @atom:SN0_bSN0_aSN0_dSN0_iSN0}
+ replace{ @atom:SNa @atom:SNa_bSNa_aSNa_dSNa_iSNa}
+ replace{ @atom:SNd @atom:SNd_bSNd_aSNd_dSNd_iSNd}
+ replace{ @atom:SNda @atom:SNda_bSNda_aSNda_dSNda_iSNda}
+ replace{ @atom:SP1 @atom:SP1_bSP1_aSP1_dSP1_iSP1}
+ replace{ @atom:SP2 @atom:SP2_bSP2_aSP2_dSP2_iSP2}
+ replace{ @atom:SP3 @atom:SP3_bSP3_aSP3_dSP3_iSP3}
+ replace{ @atom:SP4 @atom:SP4_bSP4_aSP4_dSP4_iSP4}
+ replace{ @atom:SP5 @atom:SP5_bSP5_aSP5_dSP5_iSP5}
+ replace{ @atom:SQ0 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0}
+ replace{ @atom:SQa @atom:SQa_bSQa_aSQa_dSQa_iSQa}
+ replace{ @atom:SQd @atom:SQd_bSQd_aSQd_dSQd_iSQd}
+ replace{ @atom:SQda @atom:SQda_bSQda_aSQda_dSQda_iSQda}
+ replace{ @atom:C41 @atom:C41_bC4_aC41_dC41_iC41}
+ replace{ @atom:C42 @atom:C42_bC4_aC42_dC42_iC42}
+ replace{ @atom:Na1 @atom:Na1_bNa1_aNa1_dNa1_iNa1}
+ replace{ @atom:Na2 @atom:Na2_bNa2_aNa2_dNa2_iNa2}
+ replace{ @atom:Qa1 @atom:Qa1_bQa1_aQa1_dQa1_iQa1}
+ replace{ @atom:Qa2 @atom:Qa2_bQa2_aQa2_dQa2_iQa2}
+ replace{ @atom:SC11 @atom:SC11_bSC11_aSC11_dSC11_iSC11}
+ replace{ @atom:SC110 @atom:SC110_bSC110_aSC110_dSC110_iSC110}
+ replace{ @atom:SC111 @atom:SC111_bSC111_aSC111_dSC111_iSC111}
+ replace{ @atom:SC112 @atom:SC112_bSC112_aSC112_dSC112_iSC112}
+ replace{ @atom:SC12 @atom:SC12_bSC12_aSC12_dSC12_iSC12}
+ replace{ @atom:SC13 @atom:SC13_bSC13_aSC13_dSC13_iSC13}
+ replace{ @atom:SC14 @atom:SC14_bSC14_aSC14_dSC14_iSC14}
+ replace{ @atom:SC15 @atom:SC15_bSC15_aSC15_dSC15_iSC15}
+ replace{ @atom:SC16 @atom:SC16_bSC16_aSC16_dSC16_iSC16}
+ replace{ @atom:SC17 @atom:SC17_bSC17_aSC17_dSC17_iSC17}
+ replace{ @atom:SC18 @atom:SC18_bSC18_aSC18_dSC18_iSC18}
+ replace{ @atom:SC19 @atom:SC19_bSC19_aSC19_dSC19_iSC19}
+ replace{ @atom:SC31 @atom:SC31_bSC31_aSC31_dSC31_iSC31}
+ replace{ @atom:SC32 @atom:SC32_bSC32_aSC32_dSC32_iSC32}
+ replace{ @atom:SC33 @atom:SC33_bSC33_aSC33_dSC33_iSC33}
+ replace{ @atom:SP11 @atom:SP11_bSP11_aSP11_dSP11_iSP11}
+ replace{ @atom:SP12 @atom:SP12_bSP12_aSP12_dSP12_iSP12}
+ # END EQUIVALENCE
+
+ write_once("In Settings") {
+ # ----- Non-Bonded interactions -----
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:BP4_bBP4_aBP4_dBP4_iBP4 lj/gromacs/coul/gromacs 1.195030 4.700000 # BP4-BP4
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:C1_bC1_aC1_dC1_iC1 lj/gromacs/coul/gromacs 0.478012 4.700000 # BP4-C1
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:C2_bC2_aC2_dC2_iC2 lj/gromacs/coul/gromacs 0.549714 4.700000 # BP4-C2
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:C3_bC3_aC3_dC3_iC3 lj/gromacs/coul/gromacs 0.645316 4.700000 # BP4-C3
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:C4_bC4_aC4_dC4_iC4 lj/gromacs/coul/gromacs 0.645316 4.700000 # BP4-C4
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:C5_bC5_aC5_dC5_iC5 lj/gromacs/coul/gromacs 0.740919 4.700000 # BP4-C5
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:N0_bN0_aN0_dN0_iN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # BP4-N0
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:Na_bNa_aNa_dNa_iNa lj/gromacs/coul/gromacs 0.956024 4.700000 # BP4-Na
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 0.956024 4.700000 # BP4-Nd
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 0.956024 4.700000 # BP4-Nda
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 1.075527 4.700000 # BP4-P1
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 1.075527 4.700000 # BP4-P2
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 1.195030 4.700000 # BP4-P3
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 1.338434 5.700000 # BP4-P4
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 1.338434 4.700000 # BP4-P5
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 1.338434 4.700000 # BP4-Q0
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 1.338434 4.700000 # BP4-Qa
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 1.338434 4.700000 # BP4-Qd
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 1.338434 4.700000 # BP4-Qda
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.478012 4.700000 # BP4-SC1
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.549714 4.700000 # BP4-SC2
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.645316 4.700000 # BP4-SC3
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.645316 4.700000 # BP4-SC4
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.740919 4.700000 # BP4-SC5
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # BP4-SN0
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.956024 4.700000 # BP4-SNa
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.956024 4.700000 # BP4-SNd
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.956024 4.700000 # BP4-SNda
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 1.075527 4.700000 # BP4-SP1
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 1.075527 4.700000 # BP4-SP2
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 1.195030 4.700000 # BP4-SP3
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 1.195030 4.700000 # BP4-SP4
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 1.338434 4.700000 # BP4-SP5
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 1.338434 4.700000 # BP4-SQ0
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 1.338434 4.700000 # BP4-SQa
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 1.338434 4.700000 # BP4-SQd
+ pair_coeff @atom:BP4_bBP4_aBP4_dBP4_iBP4 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 1.338434 4.700000 # BP4-SQda
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:C1_bC1_aC1_dC1_iC1 lj/gromacs/coul/gromacs 0.836521 4.700000 # C1-C1
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:C2_bC2_aC2_dC2_iC2 lj/gromacs/coul/gromacs 0.836521 4.700000 # C1-C2
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:C3_bC3_aC3_dC3_iC3 lj/gromacs/coul/gromacs 0.836521 4.700000 # C1-C3
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:C4_bC4_aC4_dC4_iC4 lj/gromacs/coul/gromacs 0.740919 4.700000 # C1-C4
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:C5_bC5_aC5_dC5_iC5 lj/gromacs/coul/gromacs 0.740919 4.700000 # C1-C5
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:N0_bN0_aN0_dN0_iN0 lj/gromacs/coul/gromacs 0.645316 4.700000 # C1-N0
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:Na_bNa_aNa_dNa_iNa lj/gromacs/coul/gromacs 0.645316 4.700000 # C1-Na
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 0.645316 4.700000 # C1-Nd
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 0.645316 4.700000 # C1-Nda
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 0.645316 4.700000 # C1-P1
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 0.549714 4.700000 # C1-P2
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 0.549714 4.700000 # C1-P3
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 0.478012 4.700000 # C1-P4
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 0.478012 4.700000 # C1-P5
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.478012 6.200000 # C1-Q0
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 0.478012 6.200000 # C1-Qa
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 0.478012 6.200000 # C1-Qd
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 0.478012 6.200000 # C1-Qda
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.836521 4.700000 # C1-SC1
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.836521 4.700000 # C1-SC2
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.836521 4.700000 # C1-SC3
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.740919 4.700000 # C1-SC4
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.740919 4.700000 # C1-SC5
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.645316 4.700000 # C1-SN0
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.645316 4.700000 # C1-SNa
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.645316 4.700000 # C1-SNd
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.645316 4.700000 # C1-SNda
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.645316 4.700000 # C1-SP1
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.549714 4.700000 # C1-SP2
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.549714 4.700000 # C1-SP3
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.478012 4.700000 # C1-SP4
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.478012 4.700000 # C1-SP5
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.478012 6.200000 # C1-SQ0
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.478012 6.200000 # C1-SQa
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.478012 6.200000 # C1-SQd
+ pair_coeff @atom:C1_bC1_aC1_dC1_iC1 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.478012 6.200000 # C1-SQda
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:C2_bC2_aC2_dC2_iC2 lj/gromacs/coul/gromacs 0.836521 4.700000 # C2-C2
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:C3_bC3_aC3_dC3_iC3 lj/gromacs/coul/gromacs 0.836521 4.700000 # C2-C3
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:C4_bC4_aC4_dC4_iC4 lj/gromacs/coul/gromacs 0.740919 4.700000 # C2-C4
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:C5_bC5_aC5_dC5_iC5 lj/gromacs/coul/gromacs 0.740919 4.700000 # C2-C5
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:N0_bN0_aN0_dN0_iN0 lj/gromacs/coul/gromacs 0.740919 4.700000 # C2-N0
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:Na_bNa_aNa_dNa_iNa lj/gromacs/coul/gromacs 0.645316 4.700000 # C2-Na
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 0.645316 4.700000 # C2-Nd
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 0.645316 4.700000 # C2-Nda
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 0.740919 4.700000 # C2-P1
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 0.645316 4.700000 # C2-P2
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 0.645316 4.700000 # C2-P3
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 0.549714 4.700000 # C2-P4
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 0.549714 4.700000 # C2-P5
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.478012 6.200000 # C2-Q0
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 0.478012 6.200000 # C2-Qa
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 0.478012 6.200000 # C2-Qd
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 0.478012 6.200000 # C2-Qda
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.836521 4.700000 # C2-SC1
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.836521 4.700000 # C2-SC2
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.836521 4.700000 # C2-SC3
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.740919 4.700000 # C2-SC4
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.740919 4.700000 # C2-SC5
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.740919 4.700000 # C2-SN0
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.645316 4.700000 # C2-SNa
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.645316 4.700000 # C2-SNd
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.645316 4.700000 # C2-SNda
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.740919 4.700000 # C2-SP1
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.645316 4.700000 # C2-SP2
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.645316 4.700000 # C2-SP3
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.549714 4.700000 # C2-SP4
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.549714 4.700000 # C2-SP5
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.478012 6.200000 # C2-SQ0
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.478012 6.200000 # C2-SQa
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.478012 6.200000 # C2-SQd
+ pair_coeff @atom:C2_bC2_aC2_dC2_iC2 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.478012 6.200000 # C2-SQda
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:C3_bC3_aC3_dC3_iC3 lj/gromacs/coul/gromacs 0.836521 4.700000 # C3-C3
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:C4_bC4_aC4_dC4_iC4 lj/gromacs/coul/gromacs 0.836521 4.700000 # C3-C4
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:C5_bC5_aC5_dC5_iC5 lj/gromacs/coul/gromacs 0.836521 4.700000 # C3-C5
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:N0_bN0_aN0_dN0_iN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # C3-N0
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:Na_bNa_aNa_dNa_iNa lj/gromacs/coul/gromacs 0.645316 4.700000 # C3-Na
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 0.645316 4.700000 # C3-Nd
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 0.645316 4.700000 # C3-Nda
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 0.836521 4.700000 # C3-P1
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 0.740919 4.700000 # C3-P2
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 0.740919 4.700000 # C3-P3
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 0.645316 4.700000 # C3-P4
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 0.645316 4.700000 # C3-P5
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.549714 4.700000 # C3-Q0
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 0.549714 4.700000 # C3-Qa
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 0.549714 4.700000 # C3-Qd
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 0.549714 4.700000 # C3-Qda
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.836521 4.700000 # C3-SC1
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.836521 4.700000 # C3-SC2
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.836521 4.700000 # C3-SC3
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.836521 4.700000 # C3-SC4
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.836521 4.700000 # C3-SC5
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # C3-SN0
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.645316 4.700000 # C3-SNa
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.645316 4.700000 # C3-SNd
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.645316 4.700000 # C3-SNda
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.836521 4.700000 # C3-SP1
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.740919 4.700000 # C3-SP2
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.740919 4.700000 # C3-SP3
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.645316 4.700000 # C3-SP4
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.645316 4.700000 # C3-SP5
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.549714 4.700000 # C3-SQ0
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.549714 4.700000 # C3-SQa
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.549714 4.700000 # C3-SQd
+ pair_coeff @atom:C3_bC3_aC3_dC3_iC3 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.549714 4.700000 # C3-SQda
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:C4_bC4_aC4_dC4_iC4 lj/gromacs/coul/gromacs 0.836521 4.700000 # C4-C4
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:C5_bC5_aC5_dC5_iC5 lj/gromacs/coul/gromacs 0.836521 4.700000 # C4-C5
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:N0_bN0_aN0_dN0_iN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # C4-N0
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:Na_bNa_aNa_dNa_iNa lj/gromacs/coul/gromacs 0.740919 4.700000 # C4-Na
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 0.740919 4.700000 # C4-Nd
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 0.740919 4.700000 # C4-Nda
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 0.836521 4.700000 # C4-P1
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 0.836521 4.700000 # C4-P2
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 0.740919 4.700000 # C4-P3
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 0.645316 4.700000 # C4-P4
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 0.645316 4.700000 # C4-P5
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.645316 4.700000 # C4-Q0
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 0.645316 4.700000 # C4-Qa
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 0.645316 4.700000 # C4-Qd
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 0.645316 4.700000 # C4-Qda
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.740919 4.700000 # C4-SC1
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.740919 4.700000 # C4-SC2
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.836521 4.700000 # C4-SC3
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.836521 4.700000 # C4-SC4
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.836521 4.700000 # C4-SC5
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # C4-SN0
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.740919 4.700000 # C4-SNa
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.740919 4.700000 # C4-SNd
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.740919 4.700000 # C4-SNda
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.836521 4.700000 # C4-SP1
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.836521 4.700000 # C4-SP2
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.740919 4.700000 # C4-SP3
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.645316 4.700000 # C4-SP4
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.645316 4.700000 # C4-SP5
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.645316 4.700000 # C4-SQ0
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.645316 4.700000 # C4-SQa
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.645316 4.700000 # C4-SQd
+ pair_coeff @atom:C4_bC4_aC4_dC4_iC4 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.645316 4.700000 # C4-SQda
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:C5_bC5_aC5_dC5_iC5 lj/gromacs/coul/gromacs 0.836521 4.700000 # C5-C5
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:N0_bN0_aN0_dN0_iN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # C5-N0
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:Na_bNa_aNa_dNa_iNa lj/gromacs/coul/gromacs 0.836521 4.700000 # C5-Na
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 0.836521 4.700000 # C5-Nd
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 0.836521 4.700000 # C5-Nda
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 0.836521 4.700000 # C5-P1
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 0.836521 4.700000 # C5-P2
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 0.836521 4.700000 # C5-P3
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 0.740919 4.700000 # C5-P4
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 0.740919 4.700000 # C5-P5
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.740919 4.700000 # C5-Q0
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 0.740919 4.700000 # C5-Qa
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 0.740919 4.700000 # C5-Qd
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 0.740919 4.700000 # C5-Qda
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.740919 4.700000 # C5-SC1
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.740919 4.700000 # C5-SC2
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.836521 4.700000 # C5-SC3
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.836521 4.700000 # C5-SC4
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.836521 4.700000 # C5-SC5
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # C5-SN0
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.836521 4.700000 # C5-SNa
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.836521 4.700000 # C5-SNd
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.836521 4.700000 # C5-SNda
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.836521 4.700000 # C5-SP1
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.836521 4.700000 # C5-SP2
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.836521 4.700000 # C5-SP3
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.740919 4.700000 # C5-SP4
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.740919 4.700000 # C5-SP5
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.740919 4.700000 # C5-SQ0
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.740919 4.700000 # C5-SQa
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.740919 4.700000 # C5-SQd
+ pair_coeff @atom:C5_bC5_aC5_dC5_iC5 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.740919 4.700000 # C5-SQda
+ pair_coeff @atom:N0_bN0_aN0_dN0_iN0 @atom:N0_bN0_aN0_dN0_iN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # N0-N0
+ pair_coeff @atom:N0_bN0_aN0_dN0_iN0 @atom:Na_bNa_aNa_dNa_iNa lj/gromacs/coul/gromacs 0.836521 4.700000 # N0-Na
+ pair_coeff @atom:N0_bN0_aN0_dN0_iN0 @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 0.836521 4.700000 # N0-Nd
+ pair_coeff @atom:N0_bN0_aN0_dN0_iN0 @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 0.836521 4.700000 # N0-Nda
+ pair_coeff @atom:N0_bN0_aN0_dN0_iN0 @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 0.956024 4.700000 # N0-P1
+ pair_coeff @atom:N0_bN0_aN0_dN0_iN0 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 0.956024 4.700000 # N0-P2
+ pair_coeff @atom:N0_bN0_aN0_dN0_iN0 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 0.836521 4.700000 # N0-P3
+ pair_coeff @atom:N0_bN0_aN0_dN0_iN0 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 0.836521 4.700000 # N0-P4
+ pair_coeff @atom:N0_bN0_aN0_dN0_iN0 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 0.836521 4.700000 # N0-P5
+ pair_coeff @atom:N0_bN0_aN0_dN0_iN0 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.836521 4.700000 # N0-Q0
+ pair_coeff @atom:N0_bN0_aN0_dN0_iN0 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 0.836521 4.700000 # N0-Qa
+ pair_coeff @atom:N0_bN0_aN0_dN0_iN0 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 0.836521 4.700000 # N0-Qd
+ pair_coeff @atom:N0_bN0_aN0_dN0_iN0 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 0.836521 4.700000 # N0-Qda
+ pair_coeff @atom:N0_bN0_aN0_dN0_iN0 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.645316 4.700000 # N0-SC1
+ pair_coeff @atom:N0_bN0_aN0_dN0_iN0 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.740919 4.700000 # N0-SC2
+ pair_coeff @atom:N0_bN0_aN0_dN0_iN0 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.836521 4.700000 # N0-SC3
+ pair_coeff @atom:N0_bN0_aN0_dN0_iN0 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.836521 4.700000 # N0-SC4
+ pair_coeff @atom:N0_bN0_aN0_dN0_iN0 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.836521 4.700000 # N0-SC5
+ pair_coeff @atom:N0_bN0_aN0_dN0_iN0 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # N0-SN0
+ pair_coeff @atom:N0_bN0_aN0_dN0_iN0 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.836521 4.700000 # N0-SNa
+ pair_coeff @atom:N0_bN0_aN0_dN0_iN0 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.836521 4.700000 # N0-SNd
+ pair_coeff @atom:N0_bN0_aN0_dN0_iN0 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.836521 4.700000 # N0-SNda
+ pair_coeff @atom:N0_bN0_aN0_dN0_iN0 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.956024 4.700000 # N0-SP1
+ pair_coeff @atom:N0_bN0_aN0_dN0_iN0 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.956024 4.700000 # N0-SP2
+ pair_coeff @atom:N0_bN0_aN0_dN0_iN0 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.836521 4.700000 # N0-SP3
+ pair_coeff @atom:N0_bN0_aN0_dN0_iN0 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.836521 4.700000 # N0-SP4
+ pair_coeff @atom:N0_bN0_aN0_dN0_iN0 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.836521 4.700000 # N0-SP5
+ pair_coeff @atom:N0_bN0_aN0_dN0_iN0 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.836521 4.700000 # N0-SQ0
+ pair_coeff @atom:N0_bN0_aN0_dN0_iN0 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.836521 4.700000 # N0-SQa
+ pair_coeff @atom:N0_bN0_aN0_dN0_iN0 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.836521 4.700000 # N0-SQd
+ pair_coeff @atom:N0_bN0_aN0_dN0_iN0 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.836521 4.700000 # N0-SQda
+ pair_coeff @atom:Na_bNa_aNa_dNa_iNa @atom:Na_bNa_aNa_dNa_iNa lj/gromacs/coul/gromacs 0.956024 4.700000 # Na-Na
+ pair_coeff @atom:Na_bNa_aNa_dNa_iNa @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 1.075527 4.700000 # Na-Nd
+ pair_coeff @atom:Na_bNa_aNa_dNa_iNa @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 1.075527 4.700000 # Na-Nda
+ pair_coeff @atom:Na_bNa_aNa_dNa_iNa @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 1.075527 4.700000 # Na-P1
+ pair_coeff @atom:Na_bNa_aNa_dNa_iNa @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 1.075527 4.700000 # Na-P2
+ pair_coeff @atom:Na_bNa_aNa_dNa_iNa @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 1.075527 4.700000 # Na-P3
+ pair_coeff @atom:Na_bNa_aNa_dNa_iNa @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 0.956024 4.700000 # Na-P4
+ pair_coeff @atom:Na_bNa_aNa_dNa_iNa @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 1.195030 4.700000 # Na-P5
+ pair_coeff @atom:Na_bNa_aNa_dNa_iNa @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.956024 4.700000 # Na-Q0
+ pair_coeff @atom:Na_bNa_aNa_dNa_iNa @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 0.956024 4.700000 # Na-Qa
+ pair_coeff @atom:Na_bNa_aNa_dNa_iNa @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 1.195030 4.700000 # Na-Qd
+ pair_coeff @atom:Na_bNa_aNa_dNa_iNa @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 1.195030 4.700000 # Na-Qda
+ pair_coeff @atom:Na_bNa_aNa_dNa_iNa @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.645316 4.700000 # Na-SC1
+ pair_coeff @atom:Na_bNa_aNa_dNa_iNa @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.645316 4.700000 # Na-SC2
+ pair_coeff @atom:Na_bNa_aNa_dNa_iNa @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.645316 4.700000 # Na-SC3
+ pair_coeff @atom:Na_bNa_aNa_dNa_iNa @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.740919 4.700000 # Na-SC4
+ pair_coeff @atom:Na_bNa_aNa_dNa_iNa @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.836521 4.700000 # Na-SC5
+ pair_coeff @atom:Na_bNa_aNa_dNa_iNa @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # Na-SN0
+ pair_coeff @atom:Na_bNa_aNa_dNa_iNa @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.956024 4.700000 # Na-SNa
+ pair_coeff @atom:Na_bNa_aNa_dNa_iNa @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 1.075527 4.700000 # Na-SNd
+ pair_coeff @atom:Na_bNa_aNa_dNa_iNa @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 1.075527 4.700000 # Na-SNda
+ pair_coeff @atom:Na_bNa_aNa_dNa_iNa @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 1.075527 4.700000 # Na-SP1
+ pair_coeff @atom:Na_bNa_aNa_dNa_iNa @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 1.075527 4.700000 # Na-SP2
+ pair_coeff @atom:Na_bNa_aNa_dNa_iNa @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 1.075527 4.700000 # Na-SP3
+ pair_coeff @atom:Na_bNa_aNa_dNa_iNa @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.956024 4.700000 # Na-SP4
+ pair_coeff @atom:Na_bNa_aNa_dNa_iNa @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 1.195030 4.700000 # Na-SP5
+ pair_coeff @atom:Na_bNa_aNa_dNa_iNa @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.956024 4.700000 # Na-SQ0
+ pair_coeff @atom:Na_bNa_aNa_dNa_iNa @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.956024 4.700000 # Na-SQa
+ pair_coeff @atom:Na_bNa_aNa_dNa_iNa @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 1.195030 4.700000 # Na-SQd
+ pair_coeff @atom:Na_bNa_aNa_dNa_iNa @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 1.195030 4.700000 # Na-SQda
+ pair_coeff @atom:Nd_bNd_aNd_dNd_iNd @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 0.956024 4.700000 # Nd-Nd
+ pair_coeff @atom:Nd_bNd_aNd_dNd_iNd @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 1.075527 4.700000 # Nd-Nda
+ pair_coeff @atom:Nd_bNd_aNd_dNd_iNd @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 1.075527 4.700000 # Nd-P1
+ pair_coeff @atom:Nd_bNd_aNd_dNd_iNd @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 1.075527 4.700000 # Nd-P2
+ pair_coeff @atom:Nd_bNd_aNd_dNd_iNd @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 1.075527 4.700000 # Nd-P3
+ pair_coeff @atom:Nd_bNd_aNd_dNd_iNd @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 0.956024 4.700000 # Nd-P4
+ pair_coeff @atom:Nd_bNd_aNd_dNd_iNd @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 1.195030 4.700000 # Nd-P5
+ pair_coeff @atom:Nd_bNd_aNd_dNd_iNd @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.956024 4.700000 # Nd-Q0
+ pair_coeff @atom:Nd_bNd_aNd_dNd_iNd @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 1.195030 4.700000 # Nd-Qa
+ pair_coeff @atom:Nd_bNd_aNd_dNd_iNd @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 0.956024 4.700000 # Nd-Qd
+ pair_coeff @atom:Nd_bNd_aNd_dNd_iNd @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 1.195030 4.700000 # Nd-Qda
+ pair_coeff @atom:Nd_bNd_aNd_dNd_iNd @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.645316 4.700000 # Nd-SC1
+ pair_coeff @atom:Nd_bNd_aNd_dNd_iNd @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.645316 4.700000 # Nd-SC2
+ pair_coeff @atom:Nd_bNd_aNd_dNd_iNd @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.645316 4.700000 # Nd-SC3
+ pair_coeff @atom:Nd_bNd_aNd_dNd_iNd @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.740919 4.700000 # Nd-SC4
+ pair_coeff @atom:Nd_bNd_aNd_dNd_iNd @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.836521 4.700000 # Nd-SC5
+ pair_coeff @atom:Nd_bNd_aNd_dNd_iNd @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # Nd-SN0
+ pair_coeff @atom:Nd_bNd_aNd_dNd_iNd @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 1.075527 4.700000 # Nd-SNa
+ pair_coeff @atom:Nd_bNd_aNd_dNd_iNd @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.956024 4.700000 # Nd-SNd
+ pair_coeff @atom:Nd_bNd_aNd_dNd_iNd @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 1.075527 4.700000 # Nd-SNda
+ pair_coeff @atom:Nd_bNd_aNd_dNd_iNd @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 1.075527 4.700000 # Nd-SP1
+ pair_coeff @atom:Nd_bNd_aNd_dNd_iNd @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 1.075527 4.700000 # Nd-SP2
+ pair_coeff @atom:Nd_bNd_aNd_dNd_iNd @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 1.075527 4.700000 # Nd-SP3
+ pair_coeff @atom:Nd_bNd_aNd_dNd_iNd @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.956024 4.700000 # Nd-SP4
+ pair_coeff @atom:Nd_bNd_aNd_dNd_iNd @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 1.195030 4.700000 # Nd-SP5
+ pair_coeff @atom:Nd_bNd_aNd_dNd_iNd @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.956024 4.700000 # Nd-SQ0
+ pair_coeff @atom:Nd_bNd_aNd_dNd_iNd @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 1.195030 4.700000 # Nd-SQa
+ pair_coeff @atom:Nd_bNd_aNd_dNd_iNd @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.956024 4.700000 # Nd-SQd
+ pair_coeff @atom:Nd_bNd_aNd_dNd_iNd @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 1.195030 4.700000 # Nd-SQda
+ pair_coeff @atom:Nda_bNda_aNda_dNda_iNda @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 1.075527 4.700000 # Nda-Nda
+ pair_coeff @atom:Nda_bNda_aNda_dNda_iNda @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 1.075527 4.700000 # Nda-P1
+ pair_coeff @atom:Nda_bNda_aNda_dNda_iNda @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 1.075527 4.700000 # Nda-P2
+ pair_coeff @atom:Nda_bNda_aNda_dNda_iNda @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 1.075527 4.700000 # Nda-P3
+ pair_coeff @atom:Nda_bNda_aNda_dNda_iNda @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 0.956024 4.700000 # Nda-P4
+ pair_coeff @atom:Nda_bNda_aNda_dNda_iNda @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 1.195030 4.700000 # Nda-P5
+ pair_coeff @atom:Nda_bNda_aNda_dNda_iNda @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.956024 4.700000 # Nda-Q0
+ pair_coeff @atom:Nda_bNda_aNda_dNda_iNda @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 1.195030 4.700000 # Nda-Qa
+ pair_coeff @atom:Nda_bNda_aNda_dNda_iNda @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 1.195030 4.700000 # Nda-Qd
+ pair_coeff @atom:Nda_bNda_aNda_dNda_iNda @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 1.195030 4.700000 # Nda-Qda
+ pair_coeff @atom:Nda_bNda_aNda_dNda_iNda @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.645316 4.700000 # Nda-SC1
+ pair_coeff @atom:Nda_bNda_aNda_dNda_iNda @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.645316 4.700000 # Nda-SC2
+ pair_coeff @atom:Nda_bNda_aNda_dNda_iNda @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.645316 4.700000 # Nda-SC3
+ pair_coeff @atom:Nda_bNda_aNda_dNda_iNda @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.740919 4.700000 # Nda-SC4
+ pair_coeff @atom:Nda_bNda_aNda_dNda_iNda @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.836521 4.700000 # Nda-SC5
+ pair_coeff @atom:Nda_bNda_aNda_dNda_iNda @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # Nda-SN0
+ pair_coeff @atom:Nda_bNda_aNda_dNda_iNda @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 1.075527 4.700000 # Nda-SNa
+ pair_coeff @atom:Nda_bNda_aNda_dNda_iNda @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 1.075527 4.700000 # Nda-SNd
+ pair_coeff @atom:Nda_bNda_aNda_dNda_iNda @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 1.075527 4.700000 # Nda-SNda
+ pair_coeff @atom:Nda_bNda_aNda_dNda_iNda @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 1.075527 4.700000 # Nda-SP1
+ pair_coeff @atom:Nda_bNda_aNda_dNda_iNda @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 1.075527 4.700000 # Nda-SP2
+ pair_coeff @atom:Nda_bNda_aNda_dNda_iNda @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 1.075527 4.700000 # Nda-SP3
+ pair_coeff @atom:Nda_bNda_aNda_dNda_iNda @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.956024 4.700000 # Nda-SP4
+ pair_coeff @atom:Nda_bNda_aNda_dNda_iNda @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 1.195030 4.700000 # Nda-SP5
+ pair_coeff @atom:Nda_bNda_aNda_dNda_iNda @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.956024 4.700000 # Nda-SQ0
+ pair_coeff @atom:Nda_bNda_aNda_dNda_iNda @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 1.195030 4.700000 # Nda-SQa
+ pair_coeff @atom:Nda_bNda_aNda_dNda_iNda @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 1.195030 4.700000 # Nda-SQd
+ pair_coeff @atom:Nda_bNda_aNda_dNda_iNda @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 1.195030 4.700000 # Nda-SQda
+ pair_coeff @atom:P1_bP1_aP1_dP1_iP1 @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 1.075527 4.700000 # P1-P1
+ pair_coeff @atom:P1_bP1_aP1_dP1_iP1 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 1.075527 4.700000 # P1-P2
+ pair_coeff @atom:P1_bP1_aP1_dP1_iP1 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 1.075527 4.700000 # P1-P3
+ pair_coeff @atom:P1_bP1_aP1_dP1_iP1 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 1.075527 4.700000 # P1-P4
+ pair_coeff @atom:P1_bP1_aP1_dP1_iP1 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 1.338434 4.700000 # P1-P5
+ pair_coeff @atom:P1_bP1_aP1_dP1_iP1 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.956024 4.700000 # P1-Q0
+ pair_coeff @atom:P1_bP1_aP1_dP1_iP1 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 1.195030 4.700000 # P1-Qa
+ pair_coeff @atom:P1_bP1_aP1_dP1_iP1 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 1.195030 4.700000 # P1-Qd
+ pair_coeff @atom:P1_bP1_aP1_dP1_iP1 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 1.195030 4.700000 # P1-Qda
+ pair_coeff @atom:P1_bP1_aP1_dP1_iP1 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.645316 4.700000 # P1-SC1
+ pair_coeff @atom:P1_bP1_aP1_dP1_iP1 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.740919 4.700000 # P1-SC2
+ pair_coeff @atom:P1_bP1_aP1_dP1_iP1 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.836521 4.700000 # P1-SC3
+ pair_coeff @atom:P1_bP1_aP1_dP1_iP1 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.836521 4.700000 # P1-SC4
+ pair_coeff @atom:P1_bP1_aP1_dP1_iP1 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.836521 4.700000 # P1-SC5
+ pair_coeff @atom:P1_bP1_aP1_dP1_iP1 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.956024 4.700000 # P1-SN0
+ pair_coeff @atom:P1_bP1_aP1_dP1_iP1 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 1.075527 4.700000 # P1-SNa
+ pair_coeff @atom:P1_bP1_aP1_dP1_iP1 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 1.075527 4.700000 # P1-SNd
+ pair_coeff @atom:P1_bP1_aP1_dP1_iP1 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 1.075527 4.700000 # P1-SNda
+ pair_coeff @atom:P1_bP1_aP1_dP1_iP1 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 1.075527 4.700000 # P1-SP1
+ pair_coeff @atom:P1_bP1_aP1_dP1_iP1 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 1.075527 4.700000 # P1-SP2
+ pair_coeff @atom:P1_bP1_aP1_dP1_iP1 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 1.075527 4.700000 # P1-SP3
+ pair_coeff @atom:P1_bP1_aP1_dP1_iP1 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 1.075527 4.700000 # P1-SP4
+ pair_coeff @atom:P1_bP1_aP1_dP1_iP1 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 1.338434 4.700000 # P1-SP5
+ pair_coeff @atom:P1_bP1_aP1_dP1_iP1 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.956024 4.700000 # P1-SQ0
+ pair_coeff @atom:P1_bP1_aP1_dP1_iP1 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 1.195030 4.700000 # P1-SQa
+ pair_coeff @atom:P1_bP1_aP1_dP1_iP1 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 1.195030 4.700000 # P1-SQd
+ pair_coeff @atom:P1_bP1_aP1_dP1_iP1 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 1.195030 4.700000 # P1-SQda
+ pair_coeff @atom:P2_bP2_aP2_dP2_iP2 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 1.075527 4.700000 # P2-P2
+ pair_coeff @atom:P2_bP2_aP2_dP2_iP2 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 1.075527 4.700000 # P2-P3
+ pair_coeff @atom:P2_bP2_aP2_dP2_iP2 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 1.075527 4.700000 # P2-P4
+ pair_coeff @atom:P2_bP2_aP2_dP2_iP2 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 1.338434 4.700000 # P2-P5
+ pair_coeff @atom:P2_bP2_aP2_dP2_iP2 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 1.075527 4.700000 # P2-Q0
+ pair_coeff @atom:P2_bP2_aP2_dP2_iP2 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 1.195030 4.700000 # P2-Qa
+ pair_coeff @atom:P2_bP2_aP2_dP2_iP2 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 1.195030 4.700000 # P2-Qd
+ pair_coeff @atom:P2_bP2_aP2_dP2_iP2 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 1.195030 4.700000 # P2-Qda
+ pair_coeff @atom:P2_bP2_aP2_dP2_iP2 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.549714 4.700000 # P2-SC1
+ pair_coeff @atom:P2_bP2_aP2_dP2_iP2 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.645316 4.700000 # P2-SC2
+ pair_coeff @atom:P2_bP2_aP2_dP2_iP2 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.740919 4.700000 # P2-SC3
+ pair_coeff @atom:P2_bP2_aP2_dP2_iP2 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.836521 4.700000 # P2-SC4
+ pair_coeff @atom:P2_bP2_aP2_dP2_iP2 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.836521 4.700000 # P2-SC5
+ pair_coeff @atom:P2_bP2_aP2_dP2_iP2 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.956024 4.700000 # P2-SN0
+ pair_coeff @atom:P2_bP2_aP2_dP2_iP2 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 1.075527 4.700000 # P2-SNa
+ pair_coeff @atom:P2_bP2_aP2_dP2_iP2 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 1.075527 4.700000 # P2-SNd
+ pair_coeff @atom:P2_bP2_aP2_dP2_iP2 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 1.075527 4.700000 # P2-SNda
+ pair_coeff @atom:P2_bP2_aP2_dP2_iP2 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 1.075527 4.700000 # P2-SP1
+ pair_coeff @atom:P2_bP2_aP2_dP2_iP2 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 1.075527 4.700000 # P2-SP2
+ pair_coeff @atom:P2_bP2_aP2_dP2_iP2 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 1.075527 4.700000 # P2-SP3
+ pair_coeff @atom:P2_bP2_aP2_dP2_iP2 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 1.075527 4.700000 # P2-SP4
+ pair_coeff @atom:P2_bP2_aP2_dP2_iP2 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 1.338434 4.700000 # P2-SP5
+ pair_coeff @atom:P2_bP2_aP2_dP2_iP2 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 1.075527 4.700000 # P2-SQ0
+ pair_coeff @atom:P2_bP2_aP2_dP2_iP2 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 1.195030 4.700000 # P2-SQa
+ pair_coeff @atom:P2_bP2_aP2_dP2_iP2 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 1.195030 4.700000 # P2-SQd
+ pair_coeff @atom:P2_bP2_aP2_dP2_iP2 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 1.195030 4.700000 # P2-SQda
+ pair_coeff @atom:P3_bP3_aP3_dP3_iP3 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 1.195030 4.700000 # P3-P3
+ pair_coeff @atom:P3_bP3_aP3_dP3_iP3 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 1.195030 4.700000 # P3-P4
+ pair_coeff @atom:P3_bP3_aP3_dP3_iP3 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 1.338434 4.700000 # P3-P5
+ pair_coeff @atom:P3_bP3_aP3_dP3_iP3 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 1.195030 4.700000 # P3-Q0
+ pair_coeff @atom:P3_bP3_aP3_dP3_iP3 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 1.338434 4.700000 # P3-Qa
+ pair_coeff @atom:P3_bP3_aP3_dP3_iP3 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 1.338434 4.700000 # P3-Qd
+ pair_coeff @atom:P3_bP3_aP3_dP3_iP3 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 1.338434 4.700000 # P3-Qda
+ pair_coeff @atom:P3_bP3_aP3_dP3_iP3 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.549714 4.700000 # P3-SC1
+ pair_coeff @atom:P3_bP3_aP3_dP3_iP3 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.645316 4.700000 # P3-SC2
+ pair_coeff @atom:P3_bP3_aP3_dP3_iP3 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.740919 4.700000 # P3-SC3
+ pair_coeff @atom:P3_bP3_aP3_dP3_iP3 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.740919 4.700000 # P3-SC4
+ pair_coeff @atom:P3_bP3_aP3_dP3_iP3 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.836521 4.700000 # P3-SC5
+ pair_coeff @atom:P3_bP3_aP3_dP3_iP3 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # P3-SN0
+ pair_coeff @atom:P3_bP3_aP3_dP3_iP3 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 1.075527 4.700000 # P3-SNa
+ pair_coeff @atom:P3_bP3_aP3_dP3_iP3 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 1.075527 4.700000 # P3-SNd
+ pair_coeff @atom:P3_bP3_aP3_dP3_iP3 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 1.075527 4.700000 # P3-SNda
+ pair_coeff @atom:P3_bP3_aP3_dP3_iP3 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 1.075527 4.700000 # P3-SP1
+ pair_coeff @atom:P3_bP3_aP3_dP3_iP3 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 1.075527 4.700000 # P3-SP2
+ pair_coeff @atom:P3_bP3_aP3_dP3_iP3 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 1.195030 4.700000 # P3-SP3
+ pair_coeff @atom:P3_bP3_aP3_dP3_iP3 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 1.195030 4.700000 # P3-SP4
+ pair_coeff @atom:P3_bP3_aP3_dP3_iP3 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 1.338434 4.700000 # P3-SP5
+ pair_coeff @atom:P3_bP3_aP3_dP3_iP3 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 1.195030 4.700000 # P3-SQ0
+ pair_coeff @atom:P3_bP3_aP3_dP3_iP3 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 1.338434 4.700000 # P3-SQa
+ pair_coeff @atom:P3_bP3_aP3_dP3_iP3 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 1.338434 4.700000 # P3-SQd
+ pair_coeff @atom:P3_bP3_aP3_dP3_iP3 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 1.338434 4.700000 # P3-SQda
+ pair_coeff @atom:P4_bP4_aP4_dP4_iP4 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 1.195030 4.700000 # P4-P4
+ pair_coeff @atom:P4_bP4_aP4_dP4_iP4 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 1.338434 4.700000 # P4-P5
+ pair_coeff @atom:P4_bP4_aP4_dP4_iP4 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 1.338434 4.700000 # P4-Q0
+ pair_coeff @atom:P4_bP4_aP4_dP4_iP4 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 1.338434 4.700000 # P4-Qa
+ pair_coeff @atom:P4_bP4_aP4_dP4_iP4 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 1.338434 4.700000 # P4-Qd
+ pair_coeff @atom:P4_bP4_aP4_dP4_iP4 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 1.338434 4.700000 # P4-Qda
+ pair_coeff @atom:P4_bP4_aP4_dP4_iP4 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.478012 4.700000 # P4-SC1
+ pair_coeff @atom:P4_bP4_aP4_dP4_iP4 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.549714 4.700000 # P4-SC2
+ pair_coeff @atom:P4_bP4_aP4_dP4_iP4 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.645316 4.700000 # P4-SC3
+ pair_coeff @atom:P4_bP4_aP4_dP4_iP4 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.645316 4.700000 # P4-SC4
+ pair_coeff @atom:P4_bP4_aP4_dP4_iP4 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.740919 4.700000 # P4-SC5
+ pair_coeff @atom:P4_bP4_aP4_dP4_iP4 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # P4-SN0
+ pair_coeff @atom:P4_bP4_aP4_dP4_iP4 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.956024 4.700000 # P4-SNa
+ pair_coeff @atom:P4_bP4_aP4_dP4_iP4 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.956024 4.700000 # P4-SNd
+ pair_coeff @atom:P4_bP4_aP4_dP4_iP4 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.956024 4.700000 # P4-SNda
+ pair_coeff @atom:P4_bP4_aP4_dP4_iP4 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 1.075527 4.700000 # P4-SP1
+ pair_coeff @atom:P4_bP4_aP4_dP4_iP4 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 1.075527 4.700000 # P4-SP2
+ pair_coeff @atom:P4_bP4_aP4_dP4_iP4 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 1.195030 4.700000 # P4-SP3
+ pair_coeff @atom:P4_bP4_aP4_dP4_iP4 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 1.195030 4.700000 # P4-SP4
+ pair_coeff @atom:P4_bP4_aP4_dP4_iP4 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 1.338434 4.700000 # P4-SP5
+ pair_coeff @atom:P4_bP4_aP4_dP4_iP4 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 1.338434 4.700000 # P4-SQ0
+ pair_coeff @atom:P4_bP4_aP4_dP4_iP4 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 1.338434 4.700000 # P4-SQa
+ pair_coeff @atom:P4_bP4_aP4_dP4_iP4 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 1.338434 4.700000 # P4-SQd
+ pair_coeff @atom:P4_bP4_aP4_dP4_iP4 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 1.338434 4.700000 # P4-SQda
+ pair_coeff @atom:P5_bP5_aP5_dP5_iP5 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 1.338434 4.700000 # P5-P5
+ pair_coeff @atom:P5_bP5_aP5_dP5_iP5 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 1.195030 4.700000 # P5-Q0
+ pair_coeff @atom:P5_bP5_aP5_dP5_iP5 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 1.338434 4.700000 # P5-Qa
+ pair_coeff @atom:P5_bP5_aP5_dP5_iP5 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 1.338434 4.700000 # P5-Qd
+ pair_coeff @atom:P5_bP5_aP5_dP5_iP5 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 1.338434 4.700000 # P5-Qda
+ pair_coeff @atom:P5_bP5_aP5_dP5_iP5 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.478012 4.700000 # P5-SC1
+ pair_coeff @atom:P5_bP5_aP5_dP5_iP5 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.549714 4.700000 # P5-SC2
+ pair_coeff @atom:P5_bP5_aP5_dP5_iP5 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.645316 4.700000 # P5-SC3
+ pair_coeff @atom:P5_bP5_aP5_dP5_iP5 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.645316 4.700000 # P5-SC4
+ pair_coeff @atom:P5_bP5_aP5_dP5_iP5 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.740919 4.700000 # P5-SC5
+ pair_coeff @atom:P5_bP5_aP5_dP5_iP5 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # P5-SN0
+ pair_coeff @atom:P5_bP5_aP5_dP5_iP5 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 1.195030 4.700000 # P5-SNa
+ pair_coeff @atom:P5_bP5_aP5_dP5_iP5 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 1.195030 4.700000 # P5-SNd
+ pair_coeff @atom:P5_bP5_aP5_dP5_iP5 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 1.195030 4.700000 # P5-SNda
+ pair_coeff @atom:P5_bP5_aP5_dP5_iP5 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 1.338434 4.700000 # P5-SP1
+ pair_coeff @atom:P5_bP5_aP5_dP5_iP5 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 1.338434 4.700000 # P5-SP2
+ pair_coeff @atom:P5_bP5_aP5_dP5_iP5 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 1.338434 4.700000 # P5-SP3
+ pair_coeff @atom:P5_bP5_aP5_dP5_iP5 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 1.338434 4.700000 # P5-SP4
+ pair_coeff @atom:P5_bP5_aP5_dP5_iP5 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 1.338434 4.700000 # P5-SP5
+ pair_coeff @atom:P5_bP5_aP5_dP5_iP5 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 1.195030 4.700000 # P5-SQ0
+ pair_coeff @atom:P5_bP5_aP5_dP5_iP5 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 1.338434 4.700000 # P5-SQa
+ pair_coeff @atom:P5_bP5_aP5_dP5_iP5 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 1.338434 4.700000 # P5-SQd
+ pair_coeff @atom:P5_bP5_aP5_dP5_iP5 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 1.338434 4.700000 # P5-SQda
+ pair_coeff @atom:Q0_bQ0_aQ0_dQ0_iQ0 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.836521 4.700000 # Q0-Q0
+ pair_coeff @atom:Q0_bQ0_aQ0_dQ0_iQ0 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 1.075527 4.700000 # Q0-Qa
+ pair_coeff @atom:Q0_bQ0_aQ0_dQ0_iQ0 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 1.075527 4.700000 # Q0-Qd
+ pair_coeff @atom:Q0_bQ0_aQ0_dQ0_iQ0 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 1.075527 4.700000 # Q0-Qda
+ pair_coeff @atom:Q0_bQ0_aQ0_dQ0_iQ0 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.478012 6.200000 # Q0-SC1
+ pair_coeff @atom:Q0_bQ0_aQ0_dQ0_iQ0 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.478012 6.200000 # Q0-SC2
+ pair_coeff @atom:Q0_bQ0_aQ0_dQ0_iQ0 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.549714 4.700000 # Q0-SC3
+ pair_coeff @atom:Q0_bQ0_aQ0_dQ0_iQ0 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.645316 4.700000 # Q0-SC4
+ pair_coeff @atom:Q0_bQ0_aQ0_dQ0_iQ0 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.740919 4.700000 # Q0-SC5
+ pair_coeff @atom:Q0_bQ0_aQ0_dQ0_iQ0 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # Q0-SN0
+ pair_coeff @atom:Q0_bQ0_aQ0_dQ0_iQ0 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.956024 4.700000 # Q0-SNa
+ pair_coeff @atom:Q0_bQ0_aQ0_dQ0_iQ0 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.956024 4.700000 # Q0-SNd
+ pair_coeff @atom:Q0_bQ0_aQ0_dQ0_iQ0 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.956024 4.700000 # Q0-SNda
+ pair_coeff @atom:Q0_bQ0_aQ0_dQ0_iQ0 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.956024 4.700000 # Q0-SP1
+ pair_coeff @atom:Q0_bQ0_aQ0_dQ0_iQ0 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 1.075527 4.700000 # Q0-SP2
+ pair_coeff @atom:Q0_bQ0_aQ0_dQ0_iQ0 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 1.195030 4.700000 # Q0-SP3
+ pair_coeff @atom:Q0_bQ0_aQ0_dQ0_iQ0 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 1.338434 4.700000 # Q0-SP4
+ pair_coeff @atom:Q0_bQ0_aQ0_dQ0_iQ0 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 1.195030 4.700000 # Q0-SP5
+ pair_coeff @atom:Q0_bQ0_aQ0_dQ0_iQ0 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.836521 4.700000 # Q0-SQ0
+ pair_coeff @atom:Q0_bQ0_aQ0_dQ0_iQ0 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 1.075527 4.700000 # Q0-SQa
+ pair_coeff @atom:Q0_bQ0_aQ0_dQ0_iQ0 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 1.075527 4.700000 # Q0-SQd
+ pair_coeff @atom:Q0_bQ0_aQ0_dQ0_iQ0 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 1.075527 4.700000 # Q0-SQda
+ pair_coeff @atom:Qa_bQa_aQa_dQa_iQa @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 1.195030 4.700000 # Qa-Qa
+ pair_coeff @atom:Qa_bQa_aQa_dQa_iQa @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 1.338434 4.700000 # Qa-Qd
+ pair_coeff @atom:Qa_bQa_aQa_dQa_iQa @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 1.338434 4.700000 # Qa-Qda
+ pair_coeff @atom:Qa_bQa_aQa_dQa_iQa @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.478012 6.200000 # Qa-SC1
+ pair_coeff @atom:Qa_bQa_aQa_dQa_iQa @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.478012 6.200000 # Qa-SC2
+ pair_coeff @atom:Qa_bQa_aQa_dQa_iQa @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.549714 4.700000 # Qa-SC3
+ pair_coeff @atom:Qa_bQa_aQa_dQa_iQa @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.645316 4.700000 # Qa-SC4
+ pair_coeff @atom:Qa_bQa_aQa_dQa_iQa @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.740919 4.700000 # Qa-SC5
+ pair_coeff @atom:Qa_bQa_aQa_dQa_iQa @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # Qa-SN0
+ pair_coeff @atom:Qa_bQa_aQa_dQa_iQa @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.956024 4.700000 # Qa-SNa
+ pair_coeff @atom:Qa_bQa_aQa_dQa_iQa @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 1.195030 4.700000 # Qa-SNd
+ pair_coeff @atom:Qa_bQa_aQa_dQa_iQa @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 1.195030 4.700000 # Qa-SNda
+ pair_coeff @atom:Qa_bQa_aQa_dQa_iQa @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 1.195030 4.700000 # Qa-SP1
+ pair_coeff @atom:Qa_bQa_aQa_dQa_iQa @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 1.195030 4.700000 # Qa-SP2
+ pair_coeff @atom:Qa_bQa_aQa_dQa_iQa @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 1.338434 4.700000 # Qa-SP3
+ pair_coeff @atom:Qa_bQa_aQa_dQa_iQa @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 1.338434 4.700000 # Qa-SP4
+ pair_coeff @atom:Qa_bQa_aQa_dQa_iQa @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 1.338434 4.700000 # Qa-SP5
+ pair_coeff @atom:Qa_bQa_aQa_dQa_iQa @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 1.075527 4.700000 # Qa-SQ0
+ pair_coeff @atom:Qa_bQa_aQa_dQa_iQa @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 1.195030 4.700000 # Qa-SQa
+ pair_coeff @atom:Qa_bQa_aQa_dQa_iQa @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 1.338434 4.700000 # Qa-SQd
+ pair_coeff @atom:Qa_bQa_aQa_dQa_iQa @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 1.338434 4.700000 # Qa-SQda
+ pair_coeff @atom:Qd_bQd_aQd_dQd_iQd @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 1.195030 4.700000 # Qd-Qd
+ pair_coeff @atom:Qd_bQd_aQd_dQd_iQd @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 1.338434 4.700000 # Qd-Qda
+ pair_coeff @atom:Qd_bQd_aQd_dQd_iQd @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.478012 6.200000 # Qd-SC1
+ pair_coeff @atom:Qd_bQd_aQd_dQd_iQd @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.478012 6.200000 # Qd-SC2
+ pair_coeff @atom:Qd_bQd_aQd_dQd_iQd @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.549714 4.700000 # Qd-SC3
+ pair_coeff @atom:Qd_bQd_aQd_dQd_iQd @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.645316 4.700000 # Qd-SC4
+ pair_coeff @atom:Qd_bQd_aQd_dQd_iQd @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.740919 4.700000 # Qd-SC5
+ pair_coeff @atom:Qd_bQd_aQd_dQd_iQd @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # Qd-SN0
+ pair_coeff @atom:Qd_bQd_aQd_dQd_iQd @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 1.195030 4.700000 # Qd-SNa
+ pair_coeff @atom:Qd_bQd_aQd_dQd_iQd @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.956024 4.700000 # Qd-SNd
+ pair_coeff @atom:Qd_bQd_aQd_dQd_iQd @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 1.195030 4.700000 # Qd-SNda
+ pair_coeff @atom:Qd_bQd_aQd_dQd_iQd @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 1.195030 4.700000 # Qd-SP1
+ pair_coeff @atom:Qd_bQd_aQd_dQd_iQd @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 1.195030 4.700000 # Qd-SP2
+ pair_coeff @atom:Qd_bQd_aQd_dQd_iQd @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 1.338434 4.700000 # Qd-SP3
+ pair_coeff @atom:Qd_bQd_aQd_dQd_iQd @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 1.338434 4.700000 # Qd-SP4
+ pair_coeff @atom:Qd_bQd_aQd_dQd_iQd @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 1.338434 4.700000 # Qd-SP5
+ pair_coeff @atom:Qd_bQd_aQd_dQd_iQd @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 1.075527 4.700000 # Qd-SQ0
+ pair_coeff @atom:Qd_bQd_aQd_dQd_iQd @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 1.338434 4.700000 # Qd-SQa
+ pair_coeff @atom:Qd_bQd_aQd_dQd_iQd @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 1.195030 4.700000 # Qd-SQd
+ pair_coeff @atom:Qd_bQd_aQd_dQd_iQd @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 1.338434 4.700000 # Qd-SQda
+ pair_coeff @atom:Qda_bQda_aQda_dQda_iQda @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 1.338434 4.700000 # Qda-Qda
+ pair_coeff @atom:Qda_bQda_aQda_dQda_iQda @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.478012 6.200000 # Qda-SC1
+ pair_coeff @atom:Qda_bQda_aQda_dQda_iQda @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.478012 6.200000 # Qda-SC2
+ pair_coeff @atom:Qda_bQda_aQda_dQda_iQda @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.549714 4.700000 # Qda-SC3
+ pair_coeff @atom:Qda_bQda_aQda_dQda_iQda @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.645316 4.700000 # Qda-SC4
+ pair_coeff @atom:Qda_bQda_aQda_dQda_iQda @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.740919 4.700000 # Qda-SC5
+ pair_coeff @atom:Qda_bQda_aQda_dQda_iQda @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # Qda-SN0
+ pair_coeff @atom:Qda_bQda_aQda_dQda_iQda @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 1.195030 4.700000 # Qda-SNa
+ pair_coeff @atom:Qda_bQda_aQda_dQda_iQda @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 1.195030 4.700000 # Qda-SNd
+ pair_coeff @atom:Qda_bQda_aQda_dQda_iQda @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 1.195030 4.700000 # Qda-SNda
+ pair_coeff @atom:Qda_bQda_aQda_dQda_iQda @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 1.195030 4.700000 # Qda-SP1
+ pair_coeff @atom:Qda_bQda_aQda_dQda_iQda @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 1.195030 4.700000 # Qda-SP2
+ pair_coeff @atom:Qda_bQda_aQda_dQda_iQda @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 1.338434 4.700000 # Qda-SP3
+ pair_coeff @atom:Qda_bQda_aQda_dQda_iQda @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 1.338434 4.700000 # Qda-SP4
+ pair_coeff @atom:Qda_bQda_aQda_dQda_iQda @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 1.338434 4.700000 # Qda-SP5
+ pair_coeff @atom:Qda_bQda_aQda_dQda_iQda @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 1.075527 4.700000 # Qda-SQ0
+ pair_coeff @atom:Qda_bQda_aQda_dQda_iQda @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 1.338434 4.700000 # Qda-SQa
+ pair_coeff @atom:Qda_bQda_aQda_dQda_iQda @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 1.338434 4.700000 # Qda-SQd
+ pair_coeff @atom:Qda_bQda_aQda_dQda_iQda @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 1.338434 4.700000 # Qda-SQda
+ pair_coeff @atom:SC1_bSC1_aSC1_dSC1_iSC1 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC1-SC1
+ pair_coeff @atom:SC1_bSC1_aSC1_dSC1_iSC1 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC1-SC2
+ pair_coeff @atom:SC1_bSC1_aSC1_dSC1_iSC1 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC1-SC3
+ pair_coeff @atom:SC1_bSC1_aSC1_dSC1_iSC1 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC1-SC4
+ pair_coeff @atom:SC1_bSC1_aSC1_dSC1_iSC1 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC1-SC5
+ pair_coeff @atom:SC1_bSC1_aSC1_dSC1_iSC1 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC1-SN0
+ pair_coeff @atom:SC1_bSC1_aSC1_dSC1_iSC1 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.483987 4.300000 # SC1-SNa
+ pair_coeff @atom:SC1_bSC1_aSC1_dSC1_iSC1 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.483987 4.300000 # SC1-SNd
+ pair_coeff @atom:SC1_bSC1_aSC1_dSC1_iSC1 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.483987 4.300000 # SC1-SNda
+ pair_coeff @atom:SC1_bSC1_aSC1_dSC1_iSC1 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC1-SP1
+ pair_coeff @atom:SC1_bSC1_aSC1_dSC1_iSC1 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC1-SP2
+ pair_coeff @atom:SC1_bSC1_aSC1_dSC1_iSC1 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC1-SP3
+ pair_coeff @atom:SC1_bSC1_aSC1_dSC1_iSC1 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.358509 4.300000 # SC1-SP4
+ pair_coeff @atom:SC1_bSC1_aSC1_dSC1_iSC1 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.358509 4.300000 # SC1-SP5
+ pair_coeff @atom:SC1_bSC1_aSC1_dSC1_iSC1 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC1-SQ0
+ pair_coeff @atom:SC1_bSC1_aSC1_dSC1_iSC1 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.478012 6.200000 # SC1-SQa
+ pair_coeff @atom:SC1_bSC1_aSC1_dSC1_iSC1 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.478012 6.200000 # SC1-SQd
+ pair_coeff @atom:SC1_bSC1_aSC1_dSC1_iSC1 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.478012 6.200000 # SC1-SQda
+ pair_coeff @atom:SC2_bSC2_aSC2_dSC2_iSC2 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC2-SC2
+ pair_coeff @atom:SC2_bSC2_aSC2_dSC2_iSC2 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC2-SC3
+ pair_coeff @atom:SC2_bSC2_aSC2_dSC2_iSC2 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC2-SC4
+ pair_coeff @atom:SC2_bSC2_aSC2_dSC2_iSC2 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC2-SC5
+ pair_coeff @atom:SC2_bSC2_aSC2_dSC2_iSC2 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC2-SN0
+ pair_coeff @atom:SC2_bSC2_aSC2_dSC2_iSC2 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.483987 4.300000 # SC2-SNa
+ pair_coeff @atom:SC2_bSC2_aSC2_dSC2_iSC2 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.483987 4.300000 # SC2-SNd
+ pair_coeff @atom:SC2_bSC2_aSC2_dSC2_iSC2 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.483987 4.300000 # SC2-SNda
+ pair_coeff @atom:SC2_bSC2_aSC2_dSC2_iSC2 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC2-SP1
+ pair_coeff @atom:SC2_bSC2_aSC2_dSC2_iSC2 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC2-SP2
+ pair_coeff @atom:SC2_bSC2_aSC2_dSC2_iSC2 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC2-SP3
+ pair_coeff @atom:SC2_bSC2_aSC2_dSC2_iSC2 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC2-SP4
+ pair_coeff @atom:SC2_bSC2_aSC2_dSC2_iSC2 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC2-SP5
+ pair_coeff @atom:SC2_bSC2_aSC2_dSC2_iSC2 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC2-SQ0
+ pair_coeff @atom:SC2_bSC2_aSC2_dSC2_iSC2 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.478012 6.200000 # SC2-SQa
+ pair_coeff @atom:SC2_bSC2_aSC2_dSC2_iSC2 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.478012 6.200000 # SC2-SQd
+ pair_coeff @atom:SC2_bSC2_aSC2_dSC2_iSC2 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.478012 6.200000 # SC2-SQda
+ pair_coeff @atom:SC3_bSC3_aSC3_dSC3_iSC3 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC3-SC3
+ pair_coeff @atom:SC3_bSC3_aSC3_dSC3_iSC3 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC3-SC4
+ pair_coeff @atom:SC3_bSC3_aSC3_dSC3_iSC3 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC3-SC5
+ pair_coeff @atom:SC3_bSC3_aSC3_dSC3_iSC3 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC3-SN0
+ pair_coeff @atom:SC3_bSC3_aSC3_dSC3_iSC3 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.483987 4.300000 # SC3-SNa
+ pair_coeff @atom:SC3_bSC3_aSC3_dSC3_iSC3 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.483987 4.300000 # SC3-SNd
+ pair_coeff @atom:SC3_bSC3_aSC3_dSC3_iSC3 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.483987 4.300000 # SC3-SNda
+ pair_coeff @atom:SC3_bSC3_aSC3_dSC3_iSC3 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC3-SP1
+ pair_coeff @atom:SC3_bSC3_aSC3_dSC3_iSC3 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC3-SP2
+ pair_coeff @atom:SC3_bSC3_aSC3_dSC3_iSC3 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC3-SP3
+ pair_coeff @atom:SC3_bSC3_aSC3_dSC3_iSC3 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC3-SP4
+ pair_coeff @atom:SC3_bSC3_aSC3_dSC3_iSC3 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC3-SP5
+ pair_coeff @atom:SC3_bSC3_aSC3_dSC3_iSC3 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC3-SQ0
+ pair_coeff @atom:SC3_bSC3_aSC3_dSC3_iSC3 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.412285 4.300000 # SC3-SQa
+ pair_coeff @atom:SC3_bSC3_aSC3_dSC3_iSC3 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.412285 4.300000 # SC3-SQd
+ pair_coeff @atom:SC3_bSC3_aSC3_dSC3_iSC3 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.412285 4.300000 # SC3-SQda
+ pair_coeff @atom:SC4_bSC4_aSC4_dSC4_iSC4 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC4-SC4
+ pair_coeff @atom:SC4_bSC4_aSC4_dSC4_iSC4 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC4-SC5
+ pair_coeff @atom:SC4_bSC4_aSC4_dSC4_iSC4 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC4-SN0
+ pair_coeff @atom:SC4_bSC4_aSC4_dSC4_iSC4 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.555689 4.300000 # SC4-SNa
+ pair_coeff @atom:SC4_bSC4_aSC4_dSC4_iSC4 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.555689 4.300000 # SC4-SNd
+ pair_coeff @atom:SC4_bSC4_aSC4_dSC4_iSC4 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.555689 4.300000 # SC4-SNda
+ pair_coeff @atom:SC4_bSC4_aSC4_dSC4_iSC4 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC4-SP1
+ pair_coeff @atom:SC4_bSC4_aSC4_dSC4_iSC4 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC4-SP2
+ pair_coeff @atom:SC4_bSC4_aSC4_dSC4_iSC4 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC4-SP3
+ pair_coeff @atom:SC4_bSC4_aSC4_dSC4_iSC4 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC4-SP4
+ pair_coeff @atom:SC4_bSC4_aSC4_dSC4_iSC4 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC4-SP5
+ pair_coeff @atom:SC4_bSC4_aSC4_dSC4_iSC4 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC4-SQ0
+ pair_coeff @atom:SC4_bSC4_aSC4_dSC4_iSC4 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.483987 4.300000 # SC4-SQa
+ pair_coeff @atom:SC4_bSC4_aSC4_dSC4_iSC4 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.483987 4.300000 # SC4-SQd
+ pair_coeff @atom:SC4_bSC4_aSC4_dSC4_iSC4 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.483987 4.300000 # SC4-SQda
+ pair_coeff @atom:SC5_bSC5_aSC5_dSC5_iSC5 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC5-SC5
+ pair_coeff @atom:SC5_bSC5_aSC5_dSC5_iSC5 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC5-SN0
+ pair_coeff @atom:SC5_bSC5_aSC5_dSC5_iSC5 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.627391 4.300000 # SC5-SNa
+ pair_coeff @atom:SC5_bSC5_aSC5_dSC5_iSC5 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.627391 4.300000 # SC5-SNd
+ pair_coeff @atom:SC5_bSC5_aSC5_dSC5_iSC5 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.627391 4.300000 # SC5-SNda
+ pair_coeff @atom:SC5_bSC5_aSC5_dSC5_iSC5 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC5-SP1
+ pair_coeff @atom:SC5_bSC5_aSC5_dSC5_iSC5 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC5-SP2
+ pair_coeff @atom:SC5_bSC5_aSC5_dSC5_iSC5 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC5-SP3
+ pair_coeff @atom:SC5_bSC5_aSC5_dSC5_iSC5 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC5-SP4
+ pair_coeff @atom:SC5_bSC5_aSC5_dSC5_iSC5 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC5-SP5
+ pair_coeff @atom:SC5_bSC5_aSC5_dSC5_iSC5 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC5-SQ0
+ pair_coeff @atom:SC5_bSC5_aSC5_dSC5_iSC5 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.555689 4.300000 # SC5-SQa
+ pair_coeff @atom:SC5_bSC5_aSC5_dSC5_iSC5 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.555689 4.300000 # SC5-SQd
+ pair_coeff @atom:SC5_bSC5_aSC5_dSC5_iSC5 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.555689 4.300000 # SC5-SQda
+ pair_coeff @atom:SN0_bSN0_aSN0_dSN0_iSN0 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.627391 4.300000 # SN0-SN0
+ pair_coeff @atom:SN0_bSN0_aSN0_dSN0_iSN0 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.627391 4.300000 # SN0-SNa
+ pair_coeff @atom:SN0_bSN0_aSN0_dSN0_iSN0 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.627391 4.300000 # SN0-SNd
+ pair_coeff @atom:SN0_bSN0_aSN0_dSN0_iSN0 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.627391 4.300000 # SN0-SNda
+ pair_coeff @atom:SN0_bSN0_aSN0_dSN0_iSN0 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.717018 4.300000 # SN0-SP1
+ pair_coeff @atom:SN0_bSN0_aSN0_dSN0_iSN0 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.717018 4.300000 # SN0-SP2
+ pair_coeff @atom:SN0_bSN0_aSN0_dSN0_iSN0 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.627391 4.300000 # SN0-SP3
+ pair_coeff @atom:SN0_bSN0_aSN0_dSN0_iSN0 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.627391 4.300000 # SN0-SP4
+ pair_coeff @atom:SN0_bSN0_aSN0_dSN0_iSN0 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.627391 4.300000 # SN0-SP5
+ pair_coeff @atom:SN0_bSN0_aSN0_dSN0_iSN0 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.627391 4.300000 # SN0-SQ0
+ pair_coeff @atom:SN0_bSN0_aSN0_dSN0_iSN0 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.627391 4.300000 # SN0-SQa
+ pair_coeff @atom:SN0_bSN0_aSN0_dSN0_iSN0 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.627391 4.300000 # SN0-SQd
+ pair_coeff @atom:SN0_bSN0_aSN0_dSN0_iSN0 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.627391 4.300000 # SN0-SQda
+ pair_coeff @atom:SNa_bSNa_aSNa_dSNa_iSNa @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.717018 4.300000 # SNa-SNa
+ pair_coeff @atom:SNa_bSNa_aSNa_dSNa_iSNa @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.806645 4.300000 # SNa-SNd
+ pair_coeff @atom:SNa_bSNa_aSNa_dSNa_iSNa @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.806645 4.300000 # SNa-SNda
+ pair_coeff @atom:SNa_bSNa_aSNa_dSNa_iSNa @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.806645 4.300000 # SNa-SP1
+ pair_coeff @atom:SNa_bSNa_aSNa_dSNa_iSNa @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.806645 4.300000 # SNa-SP2
+ pair_coeff @atom:SNa_bSNa_aSNa_dSNa_iSNa @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.806645 4.300000 # SNa-SP3
+ pair_coeff @atom:SNa_bSNa_aSNa_dSNa_iSNa @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.717018 4.300000 # SNa-SP4
+ pair_coeff @atom:SNa_bSNa_aSNa_dSNa_iSNa @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.896273 4.300000 # SNa-SP5
+ pair_coeff @atom:SNa_bSNa_aSNa_dSNa_iSNa @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.717018 4.300000 # SNa-SQ0
+ pair_coeff @atom:SNa_bSNa_aSNa_dSNa_iSNa @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.717018 4.300000 # SNa-SQa
+ pair_coeff @atom:SNa_bSNa_aSNa_dSNa_iSNa @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.896273 4.300000 # SNa-SQd
+ pair_coeff @atom:SNa_bSNa_aSNa_dSNa_iSNa @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.896273 4.300000 # SNa-SQda
+ pair_coeff @atom:SNd_bSNd_aSNd_dSNd_iSNd @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.717018 4.300000 # SNd-SNd
+ pair_coeff @atom:SNd_bSNd_aSNd_dSNd_iSNd @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.806645 4.300000 # SNd-SNda
+ pair_coeff @atom:SNd_bSNd_aSNd_dSNd_iSNd @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.806645 4.300000 # SNd-SP1
+ pair_coeff @atom:SNd_bSNd_aSNd_dSNd_iSNd @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.806645 4.300000 # SNd-SP2
+ pair_coeff @atom:SNd_bSNd_aSNd_dSNd_iSNd @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.806645 4.300000 # SNd-SP3
+ pair_coeff @atom:SNd_bSNd_aSNd_dSNd_iSNd @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.717018 4.300000 # SNd-SP4
+ pair_coeff @atom:SNd_bSNd_aSNd_dSNd_iSNd @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.896273 4.300000 # SNd-SP5
+ pair_coeff @atom:SNd_bSNd_aSNd_dSNd_iSNd @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.717018 4.300000 # SNd-SQ0
+ pair_coeff @atom:SNd_bSNd_aSNd_dSNd_iSNd @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.896273 4.300000 # SNd-SQa
+ pair_coeff @atom:SNd_bSNd_aSNd_dSNd_iSNd @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.717018 4.300000 # SNd-SQd
+ pair_coeff @atom:SNd_bSNd_aSNd_dSNd_iSNd @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.896273 4.300000 # SNd-SQda
+ pair_coeff @atom:SNda_bSNda_aSNda_dSNda_iSNda @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.806645 4.300000 # SNda-SNda
+ pair_coeff @atom:SNda_bSNda_aSNda_dSNda_iSNda @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.806645 4.300000 # SNda-SP1
+ pair_coeff @atom:SNda_bSNda_aSNda_dSNda_iSNda @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.806645 4.300000 # SNda-SP2
+ pair_coeff @atom:SNda_bSNda_aSNda_dSNda_iSNda @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.806645 4.300000 # SNda-SP3
+ pair_coeff @atom:SNda_bSNda_aSNda_dSNda_iSNda @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.717018 4.300000 # SNda-SP4
+ pair_coeff @atom:SNda_bSNda_aSNda_dSNda_iSNda @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.896273 4.300000 # SNda-SP5
+ pair_coeff @atom:SNda_bSNda_aSNda_dSNda_iSNda @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.717018 4.300000 # SNda-SQ0
+ pair_coeff @atom:SNda_bSNda_aSNda_dSNda_iSNda @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.896273 4.300000 # SNda-SQa
+ pair_coeff @atom:SNda_bSNda_aSNda_dSNda_iSNda @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.896273 4.300000 # SNda-SQd
+ pair_coeff @atom:SNda_bSNda_aSNda_dSNda_iSNda @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.896273 4.300000 # SNda-SQda
+ pair_coeff @atom:SP1_bSP1_aSP1_dSP1_iSP1 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.806645 4.300000 # SP1-SP1
+ pair_coeff @atom:SP1_bSP1_aSP1_dSP1_iSP1 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.806645 4.300000 # SP1-SP2
+ pair_coeff @atom:SP1_bSP1_aSP1_dSP1_iSP1 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.806645 4.300000 # SP1-SP3
+ pair_coeff @atom:SP1_bSP1_aSP1_dSP1_iSP1 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.806645 4.300000 # SP1-SP4
+ pair_coeff @atom:SP1_bSP1_aSP1_dSP1_iSP1 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 1.003825 4.300000 # SP1-SP5
+ pair_coeff @atom:SP1_bSP1_aSP1_dSP1_iSP1 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.717018 4.300000 # SP1-SQ0
+ pair_coeff @atom:SP1_bSP1_aSP1_dSP1_iSP1 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.896273 4.300000 # SP1-SQa
+ pair_coeff @atom:SP1_bSP1_aSP1_dSP1_iSP1 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.896273 4.300000 # SP1-SQd
+ pair_coeff @atom:SP1_bSP1_aSP1_dSP1_iSP1 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.896273 4.300000 # SP1-SQda
+ pair_coeff @atom:SP2_bSP2_aSP2_dSP2_iSP2 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.806645 4.300000 # SP2-SP2
+ pair_coeff @atom:SP2_bSP2_aSP2_dSP2_iSP2 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.806645 4.300000 # SP2-SP3
+ pair_coeff @atom:SP2_bSP2_aSP2_dSP2_iSP2 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.806645 4.300000 # SP2-SP4
+ pair_coeff @atom:SP2_bSP2_aSP2_dSP2_iSP2 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 1.003825 4.300000 # SP2-SP5
+ pair_coeff @atom:SP2_bSP2_aSP2_dSP2_iSP2 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.806645 4.300000 # SP2-SQ0
+ pair_coeff @atom:SP2_bSP2_aSP2_dSP2_iSP2 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.896273 4.300000 # SP2-SQa
+ pair_coeff @atom:SP2_bSP2_aSP2_dSP2_iSP2 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.896273 4.300000 # SP2-SQd
+ pair_coeff @atom:SP2_bSP2_aSP2_dSP2_iSP2 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.896273 4.300000 # SP2-SQda
+ pair_coeff @atom:SP3_bSP3_aSP3_dSP3_iSP3 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.896273 4.300000 # SP3-SP3
+ pair_coeff @atom:SP3_bSP3_aSP3_dSP3_iSP3 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.896273 4.300000 # SP3-SP4
+ pair_coeff @atom:SP3_bSP3_aSP3_dSP3_iSP3 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 1.003825 4.300000 # SP3-SP5
+ pair_coeff @atom:SP3_bSP3_aSP3_dSP3_iSP3 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.896273 4.300000 # SP3-SQ0
+ pair_coeff @atom:SP3_bSP3_aSP3_dSP3_iSP3 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 1.003825 4.300000 # SP3-SQa
+ pair_coeff @atom:SP3_bSP3_aSP3_dSP3_iSP3 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 1.003825 4.300000 # SP3-SQd
+ pair_coeff @atom:SP3_bSP3_aSP3_dSP3_iSP3 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 1.003825 4.300000 # SP3-SQda
+ pair_coeff @atom:SP4_bSP4_aSP4_dSP4_iSP4 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.896273 4.300000 # SP4-SP4
+ pair_coeff @atom:SP4_bSP4_aSP4_dSP4_iSP4 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 1.003825 4.300000 # SP4-SP5
+ pair_coeff @atom:SP4_bSP4_aSP4_dSP4_iSP4 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 1.003825 4.300000 # SP4-SQ0
+ pair_coeff @atom:SP4_bSP4_aSP4_dSP4_iSP4 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 1.003825 4.300000 # SP4-SQa
+ pair_coeff @atom:SP4_bSP4_aSP4_dSP4_iSP4 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 1.003825 4.300000 # SP4-SQd
+ pair_coeff @atom:SP4_bSP4_aSP4_dSP4_iSP4 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 1.003825 4.300000 # SP4-SQda
+ pair_coeff @atom:SP5_bSP5_aSP5_dSP5_iSP5 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 1.003825 4.300000 # SP5-SP5
+ pair_coeff @atom:SP5_bSP5_aSP5_dSP5_iSP5 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.896273 4.300000 # SP5-SQ0
+ pair_coeff @atom:SP5_bSP5_aSP5_dSP5_iSP5 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 1.003825 4.300000 # SP5-SQa
+ pair_coeff @atom:SP5_bSP5_aSP5_dSP5_iSP5 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 1.003825 4.300000 # SP5-SQd
+ pair_coeff @atom:SP5_bSP5_aSP5_dSP5_iSP5 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 1.003825 4.300000 # SP5-SQda
+ pair_coeff @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.627391 4.300000 # SQ0-SQ0
+ pair_coeff @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.806645 4.300000 # SQ0-SQa
+ pair_coeff @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.806645 4.300000 # SQ0-SQd
+ pair_coeff @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.806645 4.300000 # SQ0-SQda
+ pair_coeff @atom:SQa_bSQa_aSQa_dSQa_iSQa @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.896273 4.300000 # SQa-SQa
+ pair_coeff @atom:SQa_bSQa_aSQa_dSQa_iSQa @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 1.003825 4.300000 # SQa-SQd
+ pair_coeff @atom:SQa_bSQa_aSQa_dSQa_iSQa @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 1.003825 4.300000 # SQa-SQda
+ pair_coeff @atom:SQd_bSQd_aSQd_dSQd_iSQd @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.896273 4.300000 # SQd-SQd
+ pair_coeff @atom:SQd_bSQd_aSQd_dSQd_iSQd @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 1.003825 4.300000 # SQd-SQda
+ pair_coeff @atom:SQda_bSQda_aSQda_dSQda_iSQda @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 1.003825 4.300000 # SQda-SQda
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:BP4_bBP4_aBP4_dBP4_iBP4 lj/gromacs/coul/gromacs 0.645316 4.700000 # C41-BP4
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:C1_bC1_aC1_dC1_iC1 lj/gromacs/coul/gromacs 0.740919 4.700000 # C41-C1
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:C2_bC2_aC2_dC2_iC2 lj/gromacs/coul/gromacs 0.740919 4.700000 # C41-C2
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:C3_bC3_aC3_dC3_iC3 lj/gromacs/coul/gromacs 0.836521 4.700000 # C41-C3
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:C41_bC4_aC41_dC41_iC41 lj/gromacs/coul/gromacs 0.836521 4.700000 # C41-C41
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:C4_bC4_aC4_dC4_iC4 lj/gromacs/coul/gromacs 0.836521 4.700000 # C41-C4
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:C5_bC5_aC5_dC5_iC5 lj/gromacs/coul/gromacs 0.836521 4.700000 # C41-C5
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:N0_bN0_aN0_dN0_iN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # C41-N0
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:Na_bNa_aNa_dNa_iNa lj/gromacs/coul/gromacs 0.740919 4.700000 # C41-Na
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 0.740919 4.700000 # C41-Nd
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 0.740919 4.700000 # C41-Nda
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 0.836521 4.700000 # C41-P1
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 0.836521 4.700000 # C41-P2
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 0.740919 4.700000 # C41-P3
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 0.645316 4.700000 # C41-P4
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 0.645316 4.700000 # C41-P5
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.645316 4.700000 # C41-Q0
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 0.645316 4.700000 # C41-Qa
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 0.645316 4.700000 # C41-Qd
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 0.645316 4.700000 # C41-Qda
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.740919 4.700000 # C41-SC1
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.740919 4.700000 # C41-SC2
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.836521 4.700000 # C41-SC3
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.836521 4.700000 # C41-SC4
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.836521 4.700000 # C41-SC5
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # C41-SN0
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.740919 4.700000 # C41-SNa
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.740919 4.700000 # C41-SNd
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.740919 4.700000 # C41-SNda
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.836521 4.700000 # C41-SP1
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.836521 4.700000 # C41-SP2
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.740919 4.700000 # C41-SP3
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.645316 4.700000 # C41-SP4
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.645316 4.700000 # C41-SP5
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.645316 4.700000 # C41-SQ0
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.645316 4.700000 # C41-SQa
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.645316 4.700000 # C41-SQd
+ pair_coeff @atom:C41_bC4_aC41_dC41_iC41 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.645316 4.700000 # C41-SQda
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:BP4_bBP4_aBP4_dBP4_iBP4 lj/gromacs/coul/gromacs 0.645316 4.700000 # C42-BP4
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:C1_bC1_aC1_dC1_iC1 lj/gromacs/coul/gromacs 0.740919 4.700000 # C42-C1
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:C2_bC2_aC2_dC2_iC2 lj/gromacs/coul/gromacs 0.740919 4.700000 # C42-C2
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:C3_bC3_aC3_dC3_iC3 lj/gromacs/coul/gromacs 0.836521 4.700000 # C42-C3
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:C42_bC4_aC42_dC42_iC42 lj/gromacs/coul/gromacs 0.836521 4.700000 # C42-C42
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:C4_bC4_aC4_dC4_iC4 lj/gromacs/coul/gromacs 0.836521 4.700000 # C42-C4
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:C5_bC5_aC5_dC5_iC5 lj/gromacs/coul/gromacs 0.836521 4.700000 # C42-C5
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:N0_bN0_aN0_dN0_iN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # C42-N0
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:Na_bNa_aNa_dNa_iNa lj/gromacs/coul/gromacs 0.740919 4.700000 # C42-Na
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 0.740919 4.700000 # C42-Nd
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 0.740919 4.700000 # C42-Nda
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 0.836521 4.700000 # C42-P1
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 0.836521 4.700000 # C42-P2
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 0.740919 4.700000 # C42-P3
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 0.645316 4.700000 # C42-P4
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 0.645316 4.700000 # C42-P5
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.645316 4.700000 # C42-Q0
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 0.645316 4.700000 # C42-Qa
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 0.645316 4.700000 # C42-Qd
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 0.645316 4.700000 # C42-Qda
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.740919 4.700000 # C42-SC1
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.740919 4.700000 # C42-SC2
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.836521 4.700000 # C42-SC3
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.836521 4.700000 # C42-SC4
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.836521 4.700000 # C42-SC5
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # C42-SN0
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.740919 4.700000 # C42-SNa
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.740919 4.700000 # C42-SNd
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.740919 4.700000 # C42-SNda
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.836521 4.700000 # C42-SP1
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.836521 4.700000 # C42-SP2
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.740919 4.700000 # C42-SP3
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.645316 4.700000 # C42-SP4
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.645316 4.700000 # C42-SP5
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.645316 4.700000 # C42-SQ0
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.645316 4.700000 # C42-SQa
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.645316 4.700000 # C42-SQd
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.645316 4.700000 # C42-SQda
+ pair_coeff @atom:C42_bC4_aC42_dC42_iC42 @atom:C41_bC4_aC41_dC41_iC41 lj/gromacs/coul/gromacs 0.836521 4.700000 # C42-C41
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:BP4_bBP4_aBP4_dBP4_iBP4 lj/gromacs/coul/gromacs 0.956024 4.700000 # Na1-BP4
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:C1_bC1_aC1_dC1_iC1 lj/gromacs/coul/gromacs 0.645316 4.700000 # Na1-C1
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:C2_bC2_aC2_dC2_iC2 lj/gromacs/coul/gromacs 0.645316 4.700000 # Na1-C2
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:C3_bC3_aC3_dC3_iC3 lj/gromacs/coul/gromacs 0.645316 4.700000 # Na1-C3
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:C4_bC4_aC4_dC4_iC4 lj/gromacs/coul/gromacs 0.740919 4.700000 # Na1-C4
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:C5_bC5_aC5_dC5_iC5 lj/gromacs/coul/gromacs 0.836521 4.700000 # Na1-C5
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:N0_bN0_aN0_dN0_iN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # Na1-N0
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:Na1_bNa1_aNa1_dNa1_iNa1 lj/gromacs/coul/gromacs 0.956024 4.700000 # Na1-Na1
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:Na_bNa_aNa_dNa_iNa lj/gromacs/coul/gromacs 0.956024 4.700000 # Na1-Na
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 1.075527 4.700000 # Na1-Nd
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 1.075527 4.700000 # Na1-Nda
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 1.075527 4.700000 # Na1-P1
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 1.075527 4.700000 # Na1-P2
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 1.075527 4.700000 # Na1-P3
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 0.956024 4.700000 # Na1-P4
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 1.195030 4.700000 # Na1-P5
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.956024 4.700000 # Na1-Q0
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 0.956024 4.700000 # Na1-Qa
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 1.195030 4.700000 # Na1-Qd
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 1.195030 4.700000 # Na1-Qda
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.645316 4.700000 # Na1-SC1
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.645316 4.700000 # Na1-SC2
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.645316 4.700000 # Na1-SC3
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.740919 4.700000 # Na1-SC4
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.836521 4.700000 # Na1-SC5
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # Na1-SN0
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.956024 4.700000 # Na1-SNa
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 1.075527 4.700000 # Na1-SNd
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 1.075527 4.700000 # Na1-SNda
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 1.075527 4.700000 # Na1-SP1
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 1.075527 4.700000 # Na1-SP2
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 1.075527 4.700000 # Na1-SP3
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.956024 4.700000 # Na1-SP4
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 1.195030 4.700000 # Na1-SP5
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.956024 4.700000 # Na1-SQ0
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.956024 4.700000 # Na1-SQa
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 1.195030 4.700000 # Na1-SQd
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 1.195030 4.700000 # Na1-SQda
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:C41_bC4_aC41_dC41_iC41 lj/gromacs/coul/gromacs 0.740919 4.700000 # Na1-C41
+ pair_coeff @atom:Na1_bNa1_aNa1_dNa1_iNa1 @atom:C42_bC4_aC42_dC42_iC42 lj/gromacs/coul/gromacs 0.740919 4.700000 # Na1-C42
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:BP4_bBP4_aBP4_dBP4_iBP4 lj/gromacs/coul/gromacs 0.956024 4.700000 # Na2-BP4
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:C1_bC1_aC1_dC1_iC1 lj/gromacs/coul/gromacs 0.645316 4.700000 # Na2-C1
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:C2_bC2_aC2_dC2_iC2 lj/gromacs/coul/gromacs 0.645316 4.700000 # Na2-C2
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:C3_bC3_aC3_dC3_iC3 lj/gromacs/coul/gromacs 0.645316 4.700000 # Na2-C3
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:C4_bC4_aC4_dC4_iC4 lj/gromacs/coul/gromacs 0.740919 4.700000 # Na2-C4
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:C5_bC5_aC5_dC5_iC5 lj/gromacs/coul/gromacs 0.836521 4.700000 # Na2-C5
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:N0_bN0_aN0_dN0_iN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # Na2-N0
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:Na2_bNa2_aNa2_dNa2_iNa2 lj/gromacs/coul/gromacs 0.956024 4.700000 # Na2-Na2
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:Na_bNa_aNa_dNa_iNa lj/gromacs/coul/gromacs 0.956024 4.700000 # Na2-Na
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 1.075527 4.700000 # Na2-Nd
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 1.075527 4.700000 # Na2-Nda
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 1.075527 4.700000 # Na2-P1
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 1.075527 4.700000 # Na2-P2
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 1.075527 4.700000 # Na2-P3
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 0.956024 4.700000 # Na2-P4
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 1.195030 4.700000 # Na2-P5
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.956024 4.700000 # Na2-Q0
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 0.956024 4.700000 # Na2-Qa
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 1.195030 4.700000 # Na2-Qd
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 1.195030 4.700000 # Na2-Qda
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.645316 4.700000 # Na2-SC1
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.645316 4.700000 # Na2-SC2
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.645316 4.700000 # Na2-SC3
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.740919 4.700000 # Na2-SC4
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.836521 4.700000 # Na2-SC5
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # Na2-SN0
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.956024 4.700000 # Na2-SNa
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 1.075527 4.700000 # Na2-SNd
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 1.075527 4.700000 # Na2-SNda
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 1.075527 4.700000 # Na2-SP1
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 1.075527 4.700000 # Na2-SP2
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 1.075527 4.700000 # Na2-SP3
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.956024 4.700000 # Na2-SP4
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 1.195030 4.700000 # Na2-SP5
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.956024 4.700000 # Na2-SQ0
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.956024 4.700000 # Na2-SQa
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 1.195030 4.700000 # Na2-SQd
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 1.195030 4.700000 # Na2-SQda
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:C41_bC4_aC41_dC41_iC41 lj/gromacs/coul/gromacs 0.740919 4.700000 # Na2-C41
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:C42_bC4_aC42_dC42_iC42 lj/gromacs/coul/gromacs 0.740919 4.700000 # Na2-C42
+ pair_coeff @atom:Na2_bNa2_aNa2_dNa2_iNa2 @atom:Na1_bNa1_aNa1_dNa1_iNa1 lj/gromacs/coul/gromacs 0.956024 4.700000 # Na2-Na1
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:BP4_bBP4_aBP4_dBP4_iBP4 lj/gromacs/coul/gromacs 1.338434 4.700000 # Qa1-BP4
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:C1_bC1_aC1_dC1_iC1 lj/gromacs/coul/gromacs 0.478012 6.200000 # Qa1-C1
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:C2_bC2_aC2_dC2_iC2 lj/gromacs/coul/gromacs 0.478012 6.200000 # Qa1-C2
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:C3_bC3_aC3_dC3_iC3 lj/gromacs/coul/gromacs 0.549714 4.700000 # Qa1-C3
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:C4_bC4_aC4_dC4_iC4 lj/gromacs/coul/gromacs 0.645316 4.700000 # Qa1-C4
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:C5_bC5_aC5_dC5_iC5 lj/gromacs/coul/gromacs 0.740919 4.700000 # Qa1-C5
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:N0_bN0_aN0_dN0_iN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # Qa1-N0
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:Na_bNa_aNa_dNa_iNa lj/gromacs/coul/gromacs 0.956024 4.700000 # Qa1-Na
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 1.195030 4.700000 # Qa1-Nd
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 1.195030 4.700000 # Qa1-Nda
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 1.195030 4.700000 # Qa1-P1
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 1.195030 4.700000 # Qa1-P2
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 1.338434 4.700000 # Qa1-P3
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 1.338434 4.700000 # Qa1-P4
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 1.338434 4.700000 # Qa1-P5
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 1.075527 4.700000 # Qa1-Q0
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:Qa1_bQa1_aQa1_dQa1_iQa1 lj/gromacs/coul/gromacs 1.195030 4.700000 # Qa1-Qa1
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 1.195030 4.700000 # Qa1-Qa
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 1.338434 4.700000 # Qa1-Qd
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 1.338434 4.700000 # Qa1-Qda
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.478012 6.200000 # Qa1-SC1
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.478012 6.200000 # Qa1-SC2
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.549714 4.700000 # Qa1-SC3
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.645316 4.700000 # Qa1-SC4
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.740919 4.700000 # Qa1-SC5
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # Qa1-SN0
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.956024 4.700000 # Qa1-SNa
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 1.195030 4.700000 # Qa1-SNd
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 1.195030 4.700000 # Qa1-SNda
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 1.195030 4.700000 # Qa1-SP1
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 1.195030 4.700000 # Qa1-SP2
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 1.338434 4.700000 # Qa1-SP3
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 1.338434 4.700000 # Qa1-SP4
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 1.338434 4.700000 # Qa1-SP5
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 1.075527 4.700000 # Qa1-SQ0
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 1.195030 4.700000 # Qa1-SQa
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 1.338434 4.700000 # Qa1-SQd
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 1.338434 4.700000 # Qa1-SQda
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:C41_bC4_aC41_dC41_iC41 lj/gromacs/coul/gromacs 0.645316 4.700000 # Qa1-C41
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:C42_bC4_aC42_dC42_iC42 lj/gromacs/coul/gromacs 0.645316 4.700000 # Qa1-C42
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:Na1_bNa1_aNa1_dNa1_iNa1 lj/gromacs/coul/gromacs 0.956024 4.700000 # Qa1-Na1
+ pair_coeff @atom:Qa1_bQa1_aQa1_dQa1_iQa1 @atom:Na2_bNa2_aNa2_dNa2_iNa2 lj/gromacs/coul/gromacs 0.956024 4.700000 # Qa1-Na2
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:BP4_bBP4_aBP4_dBP4_iBP4 lj/gromacs/coul/gromacs 1.338434 4.700000 # Qa2-BP4
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:C1_bC1_aC1_dC1_iC1 lj/gromacs/coul/gromacs 0.478012 6.200000 # Qa2-C1
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:C2_bC2_aC2_dC2_iC2 lj/gromacs/coul/gromacs 0.478012 6.200000 # Qa2-C2
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:C3_bC3_aC3_dC3_iC3 lj/gromacs/coul/gromacs 0.549714 4.700000 # Qa2-C3
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:C4_bC4_aC4_dC4_iC4 lj/gromacs/coul/gromacs 0.645316 4.700000 # Qa2-C4
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:C5_bC5_aC5_dC5_iC5 lj/gromacs/coul/gromacs 0.740919 4.700000 # Qa2-C5
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:N0_bN0_aN0_dN0_iN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # Qa2-N0
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:Na_bNa_aNa_dNa_iNa lj/gromacs/coul/gromacs 0.956024 4.700000 # Qa2-Na
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 1.195030 4.700000 # Qa2-Nd
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 1.195030 4.700000 # Qa2-Nda
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 1.195030 4.700000 # Qa2-P1
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 1.195030 4.700000 # Qa2-P2
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 1.338434 4.700000 # Qa2-P3
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 1.338434 4.700000 # Qa2-P4
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 1.338434 4.700000 # Qa2-P5
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 1.075527 4.700000 # Qa2-Q0
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:Qa2_bQa2_aQa2_dQa2_iQa2 lj/gromacs/coul/gromacs 1.195030 4.700000 # Qa2-Qa2
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 1.195030 4.700000 # Qa2-Qa
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 1.338434 4.700000 # Qa2-Qd
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 1.338434 4.700000 # Qa2-Qda
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.478012 6.200000 # Qa2-SC1
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.478012 6.200000 # Qa2-SC2
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.549714 4.700000 # Qa2-SC3
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.645316 4.700000 # Qa2-SC4
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.740919 4.700000 # Qa2-SC5
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # Qa2-SN0
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.956024 4.700000 # Qa2-SNa
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 1.195030 4.700000 # Qa2-SNd
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 1.195030 4.700000 # Qa2-SNda
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 1.195030 4.700000 # Qa2-SP1
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 1.195030 4.700000 # Qa2-SP2
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 1.338434 4.700000 # Qa2-SP3
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 1.338434 4.700000 # Qa2-SP4
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 1.338434 4.700000 # Qa2-SP5
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 1.075527 4.700000 # Qa2-SQ0
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 1.195030 4.700000 # Qa2-SQa
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 1.338434 4.700000 # Qa2-SQd
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 1.338434 4.700000 # Qa2-SQda
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:C41_bC4_aC41_dC41_iC41 lj/gromacs/coul/gromacs 0.645316 4.700000 # Qa2-C41
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:C42_bC4_aC42_dC42_iC42 lj/gromacs/coul/gromacs 0.645316 4.700000 # Qa2-C42
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:Na1_bNa1_aNa1_dNa1_iNa1 lj/gromacs/coul/gromacs 0.956024 4.700000 # Qa2-Na1
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:Na2_bNa2_aNa2_dNa2_iNa2 lj/gromacs/coul/gromacs 0.956024 4.700000 # Qa2-Na2
+ pair_coeff @atom:Qa2_bQa2_aQa2_dQa2_iQa2 @atom:Qa1_bQa1_aQa1_dQa1_iQa1 lj/gromacs/coul/gromacs 1.195030 4.700000 # Qa2-Qa1
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:BP4_bBP4_aBP4_dBP4_iBP4 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC11-BP4
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:C1_bC1_aC1_dC1_iC1 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC11-C1
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:C2_bC2_aC2_dC2_iC2 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC11-C2
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:C3_bC3_aC3_dC3_iC3 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC11-C3
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:C4_bC4_aC4_dC4_iC4 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC11-C4
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:C5_bC5_aC5_dC5_iC5 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC11-C5
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:N0_bN0_aN0_dN0_iN0 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC11-N0
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:Na_bNa_aNa_dNa_iNa lj/gromacs/coul/gromacs 0.645316 4.700000 # SC11-Na
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 0.645316 4.700000 # SC11-Nd
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 0.645316 4.700000 # SC11-Nda
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC11-P1
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC11-P2
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC11-P3
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC11-P4
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC11-P5
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC11-Q0
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 0.478012 6.200000 # SC11-Qa
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 0.478012 6.200000 # SC11-Qd
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 0.478012 6.200000 # SC11-Qda
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:SC11_bSC11_aSC11_dSC11_iSC11 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC11-SC11
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC11-SC1
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC11-SC2
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC11-SC3
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC11-SC4
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC11-SC5
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC11-SN0
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.483987 4.300000 # SC11-SNa
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.483987 4.300000 # SC11-SNd
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.483987 4.300000 # SC11-SNda
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC11-SP1
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC11-SP2
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC11-SP3
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.358509 4.300000 # SC11-SP4
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.358509 4.300000 # SC11-SP5
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC11-SQ0
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.478012 6.200000 # SC11-SQa
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.478012 6.200000 # SC11-SQd
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.478012 6.200000 # SC11-SQda
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:C41_bC4_aC41_dC41_iC41 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC11-C41
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:C42_bC4_aC42_dC42_iC42 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC11-C42
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:Na1_bNa1_aNa1_dNa1_iNa1 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC11-Na1
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:Na2_bNa2_aNa2_dNa2_iNa2 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC11-Na2
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:Qa1_bQa1_aQa1_dQa1_iQa1 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC11-Qa1
+ pair_coeff @atom:SC11_bSC11_aSC11_dSC11_iSC11 @atom:Qa2_bQa2_aQa2_dQa2_iQa2 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC11-Qa2
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:BP4_bBP4_aBP4_dBP4_iBP4 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC110-BP4
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:C1_bC1_aC1_dC1_iC1 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC110-C1
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:C2_bC2_aC2_dC2_iC2 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC110-C2
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:C3_bC3_aC3_dC3_iC3 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC110-C3
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:C4_bC4_aC4_dC4_iC4 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC110-C4
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:C5_bC5_aC5_dC5_iC5 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC110-C5
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:N0_bN0_aN0_dN0_iN0 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC110-N0
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:Na_bNa_aNa_dNa_iNa lj/gromacs/coul/gromacs 0.645316 4.700000 # SC110-Na
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 0.645316 4.700000 # SC110-Nd
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 0.645316 4.700000 # SC110-Nda
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC110-P1
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC110-P2
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC110-P3
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC110-P4
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC110-P5
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC110-Q0
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 0.478012 6.200000 # SC110-Qa
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 0.478012 6.200000 # SC110-Qd
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 0.478012 6.200000 # SC110-Qda
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:SC110_bSC110_aSC110_dSC110_iSC110 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC110-SC110
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC110-SC1
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC110-SC2
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC110-SC3
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC110-SC4
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC110-SC5
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC110-SN0
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.483987 4.300000 # SC110-SNa
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.483987 4.300000 # SC110-SNd
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.483987 4.300000 # SC110-SNda
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC110-SP1
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC110-SP2
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC110-SP3
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.358509 4.300000 # SC110-SP4
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.358509 4.300000 # SC110-SP5
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC110-SQ0
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.478012 6.200000 # SC110-SQa
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.478012 6.200000 # SC110-SQd
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.478012 6.200000 # SC110-SQda
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:C41_bC4_aC41_dC41_iC41 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC110-C41
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:C42_bC4_aC42_dC42_iC42 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC110-C42
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:Na1_bNa1_aNa1_dNa1_iNa1 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC110-Na1
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:Na2_bNa2_aNa2_dNa2_iNa2 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC110-Na2
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:Qa1_bQa1_aQa1_dQa1_iQa1 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC110-Qa1
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:Qa2_bQa2_aQa2_dQa2_iQa2 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC110-Qa2
+ pair_coeff @atom:SC110_bSC110_aSC110_dSC110_iSC110 @atom:SC11_bSC11_aSC11_dSC11_iSC11 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC110-SC11
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:BP4_bBP4_aBP4_dBP4_iBP4 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC111-BP4
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:C1_bC1_aC1_dC1_iC1 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC111-C1
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:C2_bC2_aC2_dC2_iC2 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC111-C2
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:C3_bC3_aC3_dC3_iC3 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC111-C3
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:C4_bC4_aC4_dC4_iC4 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC111-C4
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:C5_bC5_aC5_dC5_iC5 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC111-C5
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:N0_bN0_aN0_dN0_iN0 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC111-N0
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:Na_bNa_aNa_dNa_iNa lj/gromacs/coul/gromacs 0.645316 4.700000 # SC111-Na
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 0.645316 4.700000 # SC111-Nd
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 0.645316 4.700000 # SC111-Nda
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC111-P1
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC111-P2
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC111-P3
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC111-P4
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC111-P5
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC111-Q0
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 0.478012 6.200000 # SC111-Qa
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 0.478012 6.200000 # SC111-Qd
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 0.478012 6.200000 # SC111-Qda
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:SC111_bSC111_aSC111_dSC111_iSC111 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC111-SC111
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC111-SC1
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC111-SC2
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC111-SC3
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC111-SC4
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC111-SC5
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC111-SN0
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.483987 4.300000 # SC111-SNa
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.483987 4.300000 # SC111-SNd
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.483987 4.300000 # SC111-SNda
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC111-SP1
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC111-SP2
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC111-SP3
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.358509 4.300000 # SC111-SP4
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.358509 4.300000 # SC111-SP5
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC111-SQ0
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.478012 6.200000 # SC111-SQa
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.478012 6.200000 # SC111-SQd
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.478012 6.200000 # SC111-SQda
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:C41_bC4_aC41_dC41_iC41 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC111-C41
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:C42_bC4_aC42_dC42_iC42 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC111-C42
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:Na1_bNa1_aNa1_dNa1_iNa1 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC111-Na1
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:Na2_bNa2_aNa2_dNa2_iNa2 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC111-Na2
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:Qa1_bQa1_aQa1_dQa1_iQa1 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC111-Qa1
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:Qa2_bQa2_aQa2_dQa2_iQa2 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC111-Qa2
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:SC11_bSC11_aSC11_dSC11_iSC11 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC111-SC11
+ pair_coeff @atom:SC111_bSC111_aSC111_dSC111_iSC111 @atom:SC110_bSC110_aSC110_dSC110_iSC110 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC111-SC110
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:BP4_bBP4_aBP4_dBP4_iBP4 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC112-BP4
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:C1_bC1_aC1_dC1_iC1 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC112-C1
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:C2_bC2_aC2_dC2_iC2 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC112-C2
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:C3_bC3_aC3_dC3_iC3 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC112-C3
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:C4_bC4_aC4_dC4_iC4 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC112-C4
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:C5_bC5_aC5_dC5_iC5 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC112-C5
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:N0_bN0_aN0_dN0_iN0 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC112-N0
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:Na_bNa_aNa_dNa_iNa lj/gromacs/coul/gromacs 0.645316 4.700000 # SC112-Na
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 0.645316 4.700000 # SC112-Nd
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 0.645316 4.700000 # SC112-Nda
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC112-P1
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC112-P2
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC112-P3
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC112-P4
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC112-P5
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC112-Q0
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 0.478012 6.200000 # SC112-Qa
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 0.478012 6.200000 # SC112-Qd
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 0.478012 6.200000 # SC112-Qda
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:SC112_bSC112_aSC112_dSC112_iSC112 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC112-SC112
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC112-SC1
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC112-SC2
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC112-SC3
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC112-SC4
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC112-SC5
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC112-SN0
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.483987 4.300000 # SC112-SNa
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.483987 4.300000 # SC112-SNd
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.483987 4.300000 # SC112-SNda
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC112-SP1
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC112-SP2
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC112-SP3
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.358509 4.300000 # SC112-SP4
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.358509 4.300000 # SC112-SP5
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC112-SQ0
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.478012 6.200000 # SC112-SQa
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.478012 6.200000 # SC112-SQd
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.478012 6.200000 # SC112-SQda
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:C41_bC4_aC41_dC41_iC41 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC112-C41
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:C42_bC4_aC42_dC42_iC42 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC112-C42
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:Na1_bNa1_aNa1_dNa1_iNa1 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC112-Na1
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:Na2_bNa2_aNa2_dNa2_iNa2 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC112-Na2
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:Qa1_bQa1_aQa1_dQa1_iQa1 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC112-Qa1
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:Qa2_bQa2_aQa2_dQa2_iQa2 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC112-Qa2
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:SC11_bSC11_aSC11_dSC11_iSC11 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC112-SC11
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:SC110_bSC110_aSC110_dSC110_iSC110 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC112-SC110
+ pair_coeff @atom:SC112_bSC112_aSC112_dSC112_iSC112 @atom:SC111_bSC111_aSC111_dSC111_iSC111 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC112-SC111
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:BP4_bBP4_aBP4_dBP4_iBP4 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC12-BP4
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:C1_bC1_aC1_dC1_iC1 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC12-C1
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:C2_bC2_aC2_dC2_iC2 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC12-C2
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:C3_bC3_aC3_dC3_iC3 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC12-C3
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:C4_bC4_aC4_dC4_iC4 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC12-C4
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:C5_bC5_aC5_dC5_iC5 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC12-C5
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:N0_bN0_aN0_dN0_iN0 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC12-N0
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:Na_bNa_aNa_dNa_iNa lj/gromacs/coul/gromacs 0.645316 4.700000 # SC12-Na
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 0.645316 4.700000 # SC12-Nd
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 0.645316 4.700000 # SC12-Nda
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC12-P1
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC12-P2
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC12-P3
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC12-P4
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC12-P5
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC12-Q0
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 0.478012 6.200000 # SC12-Qa
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 0.478012 6.200000 # SC12-Qd
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 0.478012 6.200000 # SC12-Qda
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:SC12_bSC12_aSC12_dSC12_iSC12 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC12-SC12
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC12-SC1
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC12-SC2
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC12-SC3
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC12-SC4
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC12-SC5
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC12-SN0
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.483987 4.300000 # SC12-SNa
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.483987 4.300000 # SC12-SNd
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.483987 4.300000 # SC12-SNda
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC12-SP1
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC12-SP2
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC12-SP3
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.358509 4.300000 # SC12-SP4
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.358509 4.300000 # SC12-SP5
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC12-SQ0
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.478012 6.200000 # SC12-SQa
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.478012 6.200000 # SC12-SQd
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.478012 6.200000 # SC12-SQda
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:C41_bC4_aC41_dC41_iC41 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC12-C41
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:C42_bC4_aC42_dC42_iC42 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC12-C42
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:Na1_bNa1_aNa1_dNa1_iNa1 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC12-Na1
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:Na2_bNa2_aNa2_dNa2_iNa2 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC12-Na2
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:Qa1_bQa1_aQa1_dQa1_iQa1 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC12-Qa1
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:Qa2_bQa2_aQa2_dQa2_iQa2 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC12-Qa2
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:SC11_bSC11_aSC11_dSC11_iSC11 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC12-SC11
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:SC110_bSC110_aSC110_dSC110_iSC110 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC12-SC110
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:SC111_bSC111_aSC111_dSC111_iSC111 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC12-SC111
+ pair_coeff @atom:SC12_bSC12_aSC12_dSC12_iSC12 @atom:SC112_bSC112_aSC112_dSC112_iSC112 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC12-SC112
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:BP4_bBP4_aBP4_dBP4_iBP4 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC13-BP4
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:C1_bC1_aC1_dC1_iC1 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC13-C1
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:C2_bC2_aC2_dC2_iC2 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC13-C2
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:C3_bC3_aC3_dC3_iC3 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC13-C3
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:C4_bC4_aC4_dC4_iC4 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC13-C4
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:C5_bC5_aC5_dC5_iC5 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC13-C5
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:N0_bN0_aN0_dN0_iN0 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC13-N0
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:Na_bNa_aNa_dNa_iNa lj/gromacs/coul/gromacs 0.645316 4.700000 # SC13-Na
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 0.645316 4.700000 # SC13-Nd
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 0.645316 4.700000 # SC13-Nda
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC13-P1
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC13-P2
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC13-P3
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC13-P4
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC13-P5
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC13-Q0
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 0.478012 6.200000 # SC13-Qa
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 0.478012 6.200000 # SC13-Qd
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 0.478012 6.200000 # SC13-Qda
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:SC13_bSC13_aSC13_dSC13_iSC13 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC13-SC13
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC13-SC1
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC13-SC2
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC13-SC3
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC13-SC4
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC13-SC5
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC13-SN0
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.483987 4.300000 # SC13-SNa
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.483987 4.300000 # SC13-SNd
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.483987 4.300000 # SC13-SNda
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC13-SP1
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC13-SP2
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC13-SP3
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.358509 4.300000 # SC13-SP4
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.358509 4.300000 # SC13-SP5
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC13-SQ0
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.478012 6.200000 # SC13-SQa
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.478012 6.200000 # SC13-SQd
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.478012 6.200000 # SC13-SQda
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:C41_bC4_aC41_dC41_iC41 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC13-C41
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:C42_bC4_aC42_dC42_iC42 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC13-C42
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:Na1_bNa1_aNa1_dNa1_iNa1 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC13-Na1
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:Na2_bNa2_aNa2_dNa2_iNa2 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC13-Na2
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:Qa1_bQa1_aQa1_dQa1_iQa1 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC13-Qa1
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:Qa2_bQa2_aQa2_dQa2_iQa2 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC13-Qa2
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:SC11_bSC11_aSC11_dSC11_iSC11 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC13-SC11
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:SC110_bSC110_aSC110_dSC110_iSC110 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC13-SC110
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:SC111_bSC111_aSC111_dSC111_iSC111 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC13-SC111
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:SC112_bSC112_aSC112_dSC112_iSC112 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC13-SC112
+ pair_coeff @atom:SC13_bSC13_aSC13_dSC13_iSC13 @atom:SC12_bSC12_aSC12_dSC12_iSC12 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC13-SC12
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:BP4_bBP4_aBP4_dBP4_iBP4 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC14-BP4
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:C1_bC1_aC1_dC1_iC1 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC14-C1
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:C2_bC2_aC2_dC2_iC2 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC14-C2
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:C3_bC3_aC3_dC3_iC3 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC14-C3
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:C4_bC4_aC4_dC4_iC4 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC14-C4
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:C5_bC5_aC5_dC5_iC5 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC14-C5
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:N0_bN0_aN0_dN0_iN0 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC14-N0
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:Na_bNa_aNa_dNa_iNa lj/gromacs/coul/gromacs 0.645316 4.700000 # SC14-Na
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 0.645316 4.700000 # SC14-Nd
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 0.645316 4.700000 # SC14-Nda
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC14-P1
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC14-P2
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC14-P3
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC14-P4
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC14-P5
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC14-Q0
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 0.478012 6.200000 # SC14-Qa
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 0.478012 6.200000 # SC14-Qd
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 0.478012 6.200000 # SC14-Qda
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:SC14_bSC14_aSC14_dSC14_iSC14 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC14-SC14
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC14-SC1
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC14-SC2
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC14-SC3
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC14-SC4
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC14-SC5
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC14-SN0
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.483987 4.300000 # SC14-SNa
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.483987 4.300000 # SC14-SNd
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.483987 4.300000 # SC14-SNda
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC14-SP1
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC14-SP2
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC14-SP3
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.358509 4.300000 # SC14-SP4
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.358509 4.300000 # SC14-SP5
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC14-SQ0
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.478012 6.200000 # SC14-SQa
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.478012 6.200000 # SC14-SQd
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.478012 6.200000 # SC14-SQda
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:C41_bC4_aC41_dC41_iC41 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC14-C41
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:C42_bC4_aC42_dC42_iC42 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC14-C42
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:Na1_bNa1_aNa1_dNa1_iNa1 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC14-Na1
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:Na2_bNa2_aNa2_dNa2_iNa2 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC14-Na2
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:Qa1_bQa1_aQa1_dQa1_iQa1 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC14-Qa1
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:Qa2_bQa2_aQa2_dQa2_iQa2 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC14-Qa2
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:SC11_bSC11_aSC11_dSC11_iSC11 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC14-SC11
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:SC110_bSC110_aSC110_dSC110_iSC110 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC14-SC110
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:SC111_bSC111_aSC111_dSC111_iSC111 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC14-SC111
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:SC112_bSC112_aSC112_dSC112_iSC112 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC14-SC112
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:SC12_bSC12_aSC12_dSC12_iSC12 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC14-SC12
+ pair_coeff @atom:SC14_bSC14_aSC14_dSC14_iSC14 @atom:SC13_bSC13_aSC13_dSC13_iSC13 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC14-SC13
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:BP4_bBP4_aBP4_dBP4_iBP4 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC15-BP4
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:C1_bC1_aC1_dC1_iC1 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC15-C1
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:C2_bC2_aC2_dC2_iC2 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC15-C2
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:C3_bC3_aC3_dC3_iC3 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC15-C3
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:C4_bC4_aC4_dC4_iC4 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC15-C4
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:C5_bC5_aC5_dC5_iC5 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC15-C5
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:N0_bN0_aN0_dN0_iN0 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC15-N0
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:Na_bNa_aNa_dNa_iNa lj/gromacs/coul/gromacs 0.645316 4.700000 # SC15-Na
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 0.645316 4.700000 # SC15-Nd
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 0.645316 4.700000 # SC15-Nda
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC15-P1
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC15-P2
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC15-P3
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC15-P4
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC15-P5
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC15-Q0
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 0.478012 6.200000 # SC15-Qa
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 0.478012 6.200000 # SC15-Qd
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 0.478012 6.200000 # SC15-Qda
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:SC15_bSC15_aSC15_dSC15_iSC15 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC15-SC15
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC15-SC1
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC15-SC2
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC15-SC3
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC15-SC4
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC15-SC5
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC15-SN0
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.483987 4.300000 # SC15-SNa
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.483987 4.300000 # SC15-SNd
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.483987 4.300000 # SC15-SNda
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC15-SP1
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC15-SP2
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC15-SP3
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.358509 4.300000 # SC15-SP4
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.358509 4.300000 # SC15-SP5
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC15-SQ0
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.478012 6.200000 # SC15-SQa
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.478012 6.200000 # SC15-SQd
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.478012 6.200000 # SC15-SQda
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:C41_bC4_aC41_dC41_iC41 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC15-C41
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:C42_bC4_aC42_dC42_iC42 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC15-C42
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:Na1_bNa1_aNa1_dNa1_iNa1 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC15-Na1
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:Na2_bNa2_aNa2_dNa2_iNa2 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC15-Na2
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:Qa1_bQa1_aQa1_dQa1_iQa1 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC15-Qa1
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:Qa2_bQa2_aQa2_dQa2_iQa2 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC15-Qa2
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:SC11_bSC11_aSC11_dSC11_iSC11 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC15-SC11
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:SC110_bSC110_aSC110_dSC110_iSC110 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC15-SC110
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:SC111_bSC111_aSC111_dSC111_iSC111 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC15-SC111
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:SC112_bSC112_aSC112_dSC112_iSC112 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC15-SC112
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:SC12_bSC12_aSC12_dSC12_iSC12 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC15-SC12
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:SC13_bSC13_aSC13_dSC13_iSC13 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC15-SC13
+ pair_coeff @atom:SC15_bSC15_aSC15_dSC15_iSC15 @atom:SC14_bSC14_aSC14_dSC14_iSC14 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC15-SC14
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:BP4_bBP4_aBP4_dBP4_iBP4 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC16-BP4
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:C1_bC1_aC1_dC1_iC1 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC16-C1
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:C2_bC2_aC2_dC2_iC2 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC16-C2
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:C3_bC3_aC3_dC3_iC3 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC16-C3
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:C4_bC4_aC4_dC4_iC4 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC16-C4
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:C5_bC5_aC5_dC5_iC5 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC16-C5
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:N0_bN0_aN0_dN0_iN0 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC16-N0
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:Na_bNa_aNa_dNa_iNa lj/gromacs/coul/gromacs 0.645316 4.700000 # SC16-Na
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 0.645316 4.700000 # SC16-Nd
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 0.645316 4.700000 # SC16-Nda
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC16-P1
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC16-P2
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC16-P3
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC16-P4
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC16-P5
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC16-Q0
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 0.478012 6.200000 # SC16-Qa
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 0.478012 6.200000 # SC16-Qd
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 0.478012 6.200000 # SC16-Qda
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:SC16_bSC16_aSC16_dSC16_iSC16 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC16-SC16
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC16-SC1
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC16-SC2
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC16-SC3
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC16-SC4
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC16-SC5
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC16-SN0
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.483987 4.300000 # SC16-SNa
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.483987 4.300000 # SC16-SNd
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.483987 4.300000 # SC16-SNda
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC16-SP1
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC16-SP2
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC16-SP3
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.358509 4.300000 # SC16-SP4
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.358509 4.300000 # SC16-SP5
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC16-SQ0
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.478012 6.200000 # SC16-SQa
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.478012 6.200000 # SC16-SQd
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.478012 6.200000 # SC16-SQda
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:C41_bC4_aC41_dC41_iC41 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC16-C41
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:C42_bC4_aC42_dC42_iC42 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC16-C42
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:Na1_bNa1_aNa1_dNa1_iNa1 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC16-Na1
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:Na2_bNa2_aNa2_dNa2_iNa2 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC16-Na2
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:Qa1_bQa1_aQa1_dQa1_iQa1 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC16-Qa1
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:Qa2_bQa2_aQa2_dQa2_iQa2 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC16-Qa2
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:SC11_bSC11_aSC11_dSC11_iSC11 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC16-SC11
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:SC110_bSC110_aSC110_dSC110_iSC110 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC16-SC110
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:SC111_bSC111_aSC111_dSC111_iSC111 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC16-SC111
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:SC112_bSC112_aSC112_dSC112_iSC112 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC16-SC112
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:SC12_bSC12_aSC12_dSC12_iSC12 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC16-SC12
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:SC13_bSC13_aSC13_dSC13_iSC13 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC16-SC13
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:SC14_bSC14_aSC14_dSC14_iSC14 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC16-SC14
+ pair_coeff @atom:SC16_bSC16_aSC16_dSC16_iSC16 @atom:SC15_bSC15_aSC15_dSC15_iSC15 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC16-SC15
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:BP4_bBP4_aBP4_dBP4_iBP4 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC17-BP4
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:C1_bC1_aC1_dC1_iC1 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC17-C1
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:C2_bC2_aC2_dC2_iC2 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC17-C2
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:C3_bC3_aC3_dC3_iC3 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC17-C3
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:C4_bC4_aC4_dC4_iC4 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC17-C4
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:C5_bC5_aC5_dC5_iC5 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC17-C5
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:N0_bN0_aN0_dN0_iN0 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC17-N0
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:Na_bNa_aNa_dNa_iNa lj/gromacs/coul/gromacs 0.645316 4.700000 # SC17-Na
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 0.645316 4.700000 # SC17-Nd
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 0.645316 4.700000 # SC17-Nda
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC17-P1
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC17-P2
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC17-P3
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC17-P4
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC17-P5
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC17-Q0
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 0.478012 6.200000 # SC17-Qa
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 0.478012 6.200000 # SC17-Qd
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 0.478012 6.200000 # SC17-Qda
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:SC17_bSC17_aSC17_dSC17_iSC17 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC17-SC17
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC17-SC1
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC17-SC2
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC17-SC3
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC17-SC4
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC17-SC5
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC17-SN0
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.483987 4.300000 # SC17-SNa
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.483987 4.300000 # SC17-SNd
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.483987 4.300000 # SC17-SNda
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC17-SP1
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC17-SP2
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC17-SP3
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.358509 4.300000 # SC17-SP4
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.358509 4.300000 # SC17-SP5
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC17-SQ0
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.478012 6.200000 # SC17-SQa
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.478012 6.200000 # SC17-SQd
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.478012 6.200000 # SC17-SQda
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:C41_bC4_aC41_dC41_iC41 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC17-C41
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:C42_bC4_aC42_dC42_iC42 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC17-C42
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:Na1_bNa1_aNa1_dNa1_iNa1 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC17-Na1
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:Na2_bNa2_aNa2_dNa2_iNa2 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC17-Na2
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:Qa1_bQa1_aQa1_dQa1_iQa1 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC17-Qa1
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:Qa2_bQa2_aQa2_dQa2_iQa2 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC17-Qa2
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:SC11_bSC11_aSC11_dSC11_iSC11 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC17-SC11
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:SC110_bSC110_aSC110_dSC110_iSC110 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC17-SC110
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:SC111_bSC111_aSC111_dSC111_iSC111 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC17-SC111
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:SC112_bSC112_aSC112_dSC112_iSC112 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC17-SC112
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:SC12_bSC12_aSC12_dSC12_iSC12 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC17-SC12
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:SC13_bSC13_aSC13_dSC13_iSC13 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC17-SC13
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:SC14_bSC14_aSC14_dSC14_iSC14 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC17-SC14
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:SC15_bSC15_aSC15_dSC15_iSC15 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC17-SC15
+ pair_coeff @atom:SC17_bSC17_aSC17_dSC17_iSC17 @atom:SC16_bSC16_aSC16_dSC16_iSC16 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC17-SC16
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:BP4_bBP4_aBP4_dBP4_iBP4 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC18-BP4
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:C1_bC1_aC1_dC1_iC1 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC18-C1
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:C2_bC2_aC2_dC2_iC2 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC18-C2
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:C3_bC3_aC3_dC3_iC3 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC18-C3
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:C4_bC4_aC4_dC4_iC4 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC18-C4
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:C5_bC5_aC5_dC5_iC5 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC18-C5
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:N0_bN0_aN0_dN0_iN0 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC18-N0
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:Na_bNa_aNa_dNa_iNa lj/gromacs/coul/gromacs 0.645316 4.700000 # SC18-Na
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 0.645316 4.700000 # SC18-Nd
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 0.645316 4.700000 # SC18-Nda
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC18-P1
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC18-P2
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC18-P3
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC18-P4
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC18-P5
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC18-Q0
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 0.478012 6.200000 # SC18-Qa
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 0.478012 6.200000 # SC18-Qd
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 0.478012 6.200000 # SC18-Qda
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:SC18_bSC18_aSC18_dSC18_iSC18 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC18-SC18
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC18-SC1
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC18-SC2
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC18-SC3
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC18-SC4
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC18-SC5
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC18-SN0
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.483987 4.300000 # SC18-SNa
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.483987 4.300000 # SC18-SNd
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.483987 4.300000 # SC18-SNda
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC18-SP1
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC18-SP2
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC18-SP3
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.358509 4.300000 # SC18-SP4
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.358509 4.300000 # SC18-SP5
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC18-SQ0
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.478012 6.200000 # SC18-SQa
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.478012 6.200000 # SC18-SQd
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.478012 6.200000 # SC18-SQda
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:C41_bC4_aC41_dC41_iC41 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC18-C41
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:C42_bC4_aC42_dC42_iC42 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC18-C42
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:Na1_bNa1_aNa1_dNa1_iNa1 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC18-Na1
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:Na2_bNa2_aNa2_dNa2_iNa2 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC18-Na2
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:Qa1_bQa1_aQa1_dQa1_iQa1 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC18-Qa1
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:Qa2_bQa2_aQa2_dQa2_iQa2 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC18-Qa2
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:SC11_bSC11_aSC11_dSC11_iSC11 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC18-SC11
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:SC110_bSC110_aSC110_dSC110_iSC110 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC18-SC110
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:SC111_bSC111_aSC111_dSC111_iSC111 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC18-SC111
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:SC112_bSC112_aSC112_dSC112_iSC112 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC18-SC112
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:SC12_bSC12_aSC12_dSC12_iSC12 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC18-SC12
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:SC13_bSC13_aSC13_dSC13_iSC13 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC18-SC13
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:SC14_bSC14_aSC14_dSC14_iSC14 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC18-SC14
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:SC15_bSC15_aSC15_dSC15_iSC15 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC18-SC15
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:SC16_bSC16_aSC16_dSC16_iSC16 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC18-SC16
+ pair_coeff @atom:SC18_bSC18_aSC18_dSC18_iSC18 @atom:SC17_bSC17_aSC17_dSC17_iSC17 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC18-SC17
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:BP4_bBP4_aBP4_dBP4_iBP4 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC19-BP4
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:C1_bC1_aC1_dC1_iC1 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC19-C1
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:C2_bC2_aC2_dC2_iC2 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC19-C2
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:C3_bC3_aC3_dC3_iC3 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC19-C3
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:C4_bC4_aC4_dC4_iC4 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC19-C4
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:C5_bC5_aC5_dC5_iC5 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC19-C5
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:N0_bN0_aN0_dN0_iN0 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC19-N0
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:Na_bNa_aNa_dNa_iNa lj/gromacs/coul/gromacs 0.645316 4.700000 # SC19-Na
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 0.645316 4.700000 # SC19-Nd
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 0.645316 4.700000 # SC19-Nda
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC19-P1
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC19-P2
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC19-P3
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC19-P4
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 0.478012 4.700000 # SC19-P5
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC19-Q0
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 0.478012 6.200000 # SC19-Qa
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 0.478012 6.200000 # SC19-Qd
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 0.478012 6.200000 # SC19-Qda
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:SC19_bSC19_aSC19_dSC19_iSC19 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC19-SC19
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC19-SC1
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC19-SC2
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC19-SC3
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC19-SC4
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC19-SC5
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC19-SN0
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.483987 4.300000 # SC19-SNa
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.483987 4.300000 # SC19-SNd
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.483987 4.300000 # SC19-SNda
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC19-SP1
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC19-SP2
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC19-SP3
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.358509 4.300000 # SC19-SP4
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.358509 4.300000 # SC19-SP5
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC19-SQ0
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.478012 6.200000 # SC19-SQa
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.478012 6.200000 # SC19-SQd
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.478012 6.200000 # SC19-SQda
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:C41_bC4_aC41_dC41_iC41 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC19-C41
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:C42_bC4_aC42_dC42_iC42 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC19-C42
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:Na1_bNa1_aNa1_dNa1_iNa1 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC19-Na1
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:Na2_bNa2_aNa2_dNa2_iNa2 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC19-Na2
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:Qa1_bQa1_aQa1_dQa1_iQa1 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC19-Qa1
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:Qa2_bQa2_aQa2_dQa2_iQa2 lj/gromacs/coul/gromacs 0.478012 6.200000 # SC19-Qa2
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:SC11_bSC11_aSC11_dSC11_iSC11 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC19-SC11
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:SC110_bSC110_aSC110_dSC110_iSC110 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC19-SC110
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:SC111_bSC111_aSC111_dSC111_iSC111 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC19-SC111
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:SC112_bSC112_aSC112_dSC112_iSC112 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC19-SC112
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:SC12_bSC12_aSC12_dSC12_iSC12 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC19-SC12
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:SC13_bSC13_aSC13_dSC13_iSC13 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC19-SC13
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:SC14_bSC14_aSC14_dSC14_iSC14 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC19-SC14
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:SC15_bSC15_aSC15_dSC15_iSC15 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC19-SC15
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:SC16_bSC16_aSC16_dSC16_iSC16 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC19-SC16
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:SC17_bSC17_aSC17_dSC17_iSC17 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC19-SC17
+ pair_coeff @atom:SC19_bSC19_aSC19_dSC19_iSC19 @atom:SC18_bSC18_aSC18_dSC18_iSC18 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC19-SC18
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:BP4_bBP4_aBP4_dBP4_iBP4 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC31-BP4
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:C1_bC1_aC1_dC1_iC1 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC31-C1
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:C2_bC2_aC2_dC2_iC2 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC31-C2
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:C3_bC3_aC3_dC3_iC3 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC31-C3
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:C4_bC4_aC4_dC4_iC4 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC31-C4
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:C5_bC5_aC5_dC5_iC5 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC31-C5
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:N0_bN0_aN0_dN0_iN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC31-N0
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:Na_bNa_aNa_dNa_iNa lj/gromacs/coul/gromacs 0.645316 4.700000 # SC31-Na
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 0.645316 4.700000 # SC31-Nd
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 0.645316 4.700000 # SC31-Nda
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC31-P1
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC31-P2
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC31-P3
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC31-P4
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC31-P5
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC31-Q0
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 0.549714 4.700000 # SC31-Qa
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 0.549714 4.700000 # SC31-Qd
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 0.549714 4.700000 # SC31-Qda
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC31-SC1
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC31-SC2
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:SC31_bSC31_aSC31_dSC31_iSC31 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC31-SC31
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC31-SC3
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC31-SC4
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC31-SC5
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC31-SN0
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.483987 4.300000 # SC31-SNa
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.483987 4.300000 # SC31-SNd
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.483987 4.300000 # SC31-SNda
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC31-SP1
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC31-SP2
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC31-SP3
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC31-SP4
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC31-SP5
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC31-SQ0
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.412285 4.300000 # SC31-SQa
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.412285 4.300000 # SC31-SQd
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.412285 4.300000 # SC31-SQda
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:C41_bC4_aC41_dC41_iC41 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC31-C41
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:C42_bC4_aC42_dC42_iC42 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC31-C42
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:Na1_bNa1_aNa1_dNa1_iNa1 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC31-Na1
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:Na2_bNa2_aNa2_dNa2_iNa2 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC31-Na2
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:Qa1_bQa1_aQa1_dQa1_iQa1 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC31-Qa1
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:Qa2_bQa2_aQa2_dQa2_iQa2 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC31-Qa2
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:SC11_bSC11_aSC11_dSC11_iSC11 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC31-SC11
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:SC110_bSC110_aSC110_dSC110_iSC110 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC31-SC110
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:SC111_bSC111_aSC111_dSC111_iSC111 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC31-SC111
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:SC112_bSC112_aSC112_dSC112_iSC112 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC31-SC112
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:SC12_bSC12_aSC12_dSC12_iSC12 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC31-SC12
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:SC13_bSC13_aSC13_dSC13_iSC13 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC31-SC13
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:SC14_bSC14_aSC14_dSC14_iSC14 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC31-SC14
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:SC15_bSC15_aSC15_dSC15_iSC15 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC31-SC15
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:SC16_bSC16_aSC16_dSC16_iSC16 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC31-SC16
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:SC17_bSC17_aSC17_dSC17_iSC17 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC31-SC17
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:SC18_bSC18_aSC18_dSC18_iSC18 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC31-SC18
+ pair_coeff @atom:SC31_bSC31_aSC31_dSC31_iSC31 @atom:SC19_bSC19_aSC19_dSC19_iSC19 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC31-SC19
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:BP4_bBP4_aBP4_dBP4_iBP4 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC32-BP4
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:C1_bC1_aC1_dC1_iC1 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC32-C1
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:C2_bC2_aC2_dC2_iC2 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC32-C2
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:C3_bC3_aC3_dC3_iC3 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC32-C3
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:C4_bC4_aC4_dC4_iC4 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC32-C4
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:C5_bC5_aC5_dC5_iC5 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC32-C5
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:N0_bN0_aN0_dN0_iN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC32-N0
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:Na_bNa_aNa_dNa_iNa lj/gromacs/coul/gromacs 0.645316 4.700000 # SC32-Na
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 0.645316 4.700000 # SC32-Nd
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 0.645316 4.700000 # SC32-Nda
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC32-P1
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC32-P2
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC32-P3
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC32-P4
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC32-P5
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC32-Q0
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 0.549714 4.700000 # SC32-Qa
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 0.549714 4.700000 # SC32-Qd
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 0.549714 4.700000 # SC32-Qda
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC32-SC1
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC32-SC2
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SC32_bSC32_aSC32_dSC32_iSC32 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC32-SC32
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC32-SC3
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC32-SC4
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC32-SC5
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC32-SN0
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.483987 4.300000 # SC32-SNa
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.483987 4.300000 # SC32-SNd
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.483987 4.300000 # SC32-SNda
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC32-SP1
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC32-SP2
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC32-SP3
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC32-SP4
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC32-SP5
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC32-SQ0
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.412285 4.300000 # SC32-SQa
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.412285 4.300000 # SC32-SQd
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.412285 4.300000 # SC32-SQda
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:C41_bC4_aC41_dC41_iC41 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC32-C41
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:C42_bC4_aC42_dC42_iC42 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC32-C42
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:Na1_bNa1_aNa1_dNa1_iNa1 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC32-Na1
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:Na2_bNa2_aNa2_dNa2_iNa2 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC32-Na2
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:Qa1_bQa1_aQa1_dQa1_iQa1 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC32-Qa1
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:Qa2_bQa2_aQa2_dQa2_iQa2 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC32-Qa2
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SC11_bSC11_aSC11_dSC11_iSC11 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC32-SC11
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SC110_bSC110_aSC110_dSC110_iSC110 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC32-SC110
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SC111_bSC111_aSC111_dSC111_iSC111 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC32-SC111
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SC112_bSC112_aSC112_dSC112_iSC112 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC32-SC112
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SC12_bSC12_aSC12_dSC12_iSC12 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC32-SC12
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SC13_bSC13_aSC13_dSC13_iSC13 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC32-SC13
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SC14_bSC14_aSC14_dSC14_iSC14 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC32-SC14
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SC15_bSC15_aSC15_dSC15_iSC15 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC32-SC15
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SC16_bSC16_aSC16_dSC16_iSC16 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC32-SC16
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SC17_bSC17_aSC17_dSC17_iSC17 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC32-SC17
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SC18_bSC18_aSC18_dSC18_iSC18 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC32-SC18
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SC19_bSC19_aSC19_dSC19_iSC19 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC32-SC19
+ pair_coeff @atom:SC32_bSC32_aSC32_dSC32_iSC32 @atom:SC31_bSC31_aSC31_dSC31_iSC31 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC32-SC31
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:BP4_bBP4_aBP4_dBP4_iBP4 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC33-BP4
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:C1_bC1_aC1_dC1_iC1 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC33-C1
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:C2_bC2_aC2_dC2_iC2 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC33-C2
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:C3_bC3_aC3_dC3_iC3 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC33-C3
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:C4_bC4_aC4_dC4_iC4 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC33-C4
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:C5_bC5_aC5_dC5_iC5 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC33-C5
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:N0_bN0_aN0_dN0_iN0 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC33-N0
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:Na_bNa_aNa_dNa_iNa lj/gromacs/coul/gromacs 0.645316 4.700000 # SC33-Na
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 0.645316 4.700000 # SC33-Nd
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 0.645316 4.700000 # SC33-Nda
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC33-P1
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC33-P2
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 0.740919 4.700000 # SC33-P3
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC33-P4
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC33-P5
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC33-Q0
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 0.549714 4.700000 # SC33-Qa
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 0.549714 4.700000 # SC33-Qd
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 0.549714 4.700000 # SC33-Qda
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC33-SC1
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC33-SC2
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SC33_bSC33_aSC33_dSC33_iSC33 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC33-SC33
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC33-SC3
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC33-SC4
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC33-SC5
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC33-SN0
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.483987 4.300000 # SC33-SNa
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.483987 4.300000 # SC33-SNd
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.483987 4.300000 # SC33-SNda
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC33-SP1
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC33-SP2
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.555689 4.300000 # SC33-SP3
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC33-SP4
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 0.483987 4.300000 # SC33-SP5
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.412285 4.300000 # SC33-SQ0
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.412285 4.300000 # SC33-SQa
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.412285 4.300000 # SC33-SQd
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.412285 4.300000 # SC33-SQda
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:C41_bC4_aC41_dC41_iC41 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC33-C41
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:C42_bC4_aC42_dC42_iC42 lj/gromacs/coul/gromacs 0.836521 4.700000 # SC33-C42
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:Na1_bNa1_aNa1_dNa1_iNa1 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC33-Na1
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:Na2_bNa2_aNa2_dNa2_iNa2 lj/gromacs/coul/gromacs 0.645316 4.700000 # SC33-Na2
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:Qa1_bQa1_aQa1_dQa1_iQa1 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC33-Qa1
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:Qa2_bQa2_aQa2_dQa2_iQa2 lj/gromacs/coul/gromacs 0.549714 4.700000 # SC33-Qa2
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SC11_bSC11_aSC11_dSC11_iSC11 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC33-SC11
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SC110_bSC110_aSC110_dSC110_iSC110 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC33-SC110
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SC111_bSC111_aSC111_dSC111_iSC111 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC33-SC111
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SC112_bSC112_aSC112_dSC112_iSC112 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC33-SC112
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SC12_bSC12_aSC12_dSC12_iSC12 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC33-SC12
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SC13_bSC13_aSC13_dSC13_iSC13 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC33-SC13
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SC14_bSC14_aSC14_dSC14_iSC14 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC33-SC14
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SC15_bSC15_aSC15_dSC15_iSC15 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC33-SC15
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SC16_bSC16_aSC16_dSC16_iSC16 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC33-SC16
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SC17_bSC17_aSC17_dSC17_iSC17 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC33-SC17
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SC18_bSC18_aSC18_dSC18_iSC18 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC33-SC18
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SC19_bSC19_aSC19_dSC19_iSC19 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC33-SC19
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SC31_bSC31_aSC31_dSC31_iSC31 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC33-SC31
+ pair_coeff @atom:SC33_bSC33_aSC33_dSC33_iSC33 @atom:SC32_bSC32_aSC32_dSC32_iSC32 lj/gromacs/coul/gromacs 0.627391 4.300000 # SC33-SC32
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:BP4_bBP4_aBP4_dBP4_iBP4 lj/gromacs/coul/gromacs 1.075527 4.700000 # SP11-BP4
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:C1_bC1_aC1_dC1_iC1 lj/gromacs/coul/gromacs 0.645316 4.700000 # SP11-C1
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:C2_bC2_aC2_dC2_iC2 lj/gromacs/coul/gromacs 0.740919 4.700000 # SP11-C2
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:C3_bC3_aC3_dC3_iC3 lj/gromacs/coul/gromacs 0.836521 4.700000 # SP11-C3
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:C4_bC4_aC4_dC4_iC4 lj/gromacs/coul/gromacs 0.836521 4.700000 # SP11-C4
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:C5_bC5_aC5_dC5_iC5 lj/gromacs/coul/gromacs 0.836521 4.700000 # SP11-C5
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:N0_bN0_aN0_dN0_iN0 lj/gromacs/coul/gromacs 0.956024 4.700000 # SP11-N0
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:Na_bNa_aNa_dNa_iNa lj/gromacs/coul/gromacs 1.075527 4.700000 # SP11-Na
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 1.075527 4.700000 # SP11-Nd
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 1.075527 4.700000 # SP11-Nda
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 1.075527 4.700000 # SP11-P1
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 1.075527 4.700000 # SP11-P2
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 1.075527 4.700000 # SP11-P3
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 1.075527 4.700000 # SP11-P4
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 1.338434 4.700000 # SP11-P5
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.956024 4.700000 # SP11-Q0
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 1.195030 4.700000 # SP11-Qa
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 1.195030 4.700000 # SP11-Qd
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 1.195030 4.700000 # SP11-Qda
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.483987 4.300000 # SP11-SC1
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.555689 4.300000 # SP11-SC2
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.627391 4.300000 # SP11-SC3
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.627391 4.300000 # SP11-SC4
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.627391 4.300000 # SP11-SC5
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.717018 4.300000 # SP11-SN0
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.806645 4.300000 # SP11-SNa
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.806645 4.300000 # SP11-SNd
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.806645 4.300000 # SP11-SNda
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SP11_bSP11_aSP11_dSP11_iSP11 lj/gromacs/coul/gromacs 0.806645 4.300000 # SP11-SP11
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.806645 4.300000 # SP11-SP1
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.806645 4.300000 # SP11-SP2
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.806645 4.300000 # SP11-SP3
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.806645 4.300000 # SP11-SP4
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 1.003825 4.300000 # SP11-SP5
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.717018 4.300000 # SP11-SQ0
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.896273 4.300000 # SP11-SQa
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.896273 4.300000 # SP11-SQd
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.896273 4.300000 # SP11-SQda
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:C41_bC4_aC41_dC41_iC41 lj/gromacs/coul/gromacs 0.836521 4.700000 # SP11-C41
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:C42_bC4_aC42_dC42_iC42 lj/gromacs/coul/gromacs 0.836521 4.700000 # SP11-C42
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:Na1_bNa1_aNa1_dNa1_iNa1 lj/gromacs/coul/gromacs 1.075527 4.700000 # SP11-Na1
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:Na2_bNa2_aNa2_dNa2_iNa2 lj/gromacs/coul/gromacs 1.075527 4.700000 # SP11-Na2
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:Qa1_bQa1_aQa1_dQa1_iQa1 lj/gromacs/coul/gromacs 1.195030 4.700000 # SP11-Qa1
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:Qa2_bQa2_aQa2_dQa2_iQa2 lj/gromacs/coul/gromacs 1.195030 4.700000 # SP11-Qa2
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SC11_bSC11_aSC11_dSC11_iSC11 lj/gromacs/coul/gromacs 0.483987 4.300000 # SP11-SC11
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SC110_bSC110_aSC110_dSC110_iSC110 lj/gromacs/coul/gromacs 0.483987 4.300000 # SP11-SC110
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SC111_bSC111_aSC111_dSC111_iSC111 lj/gromacs/coul/gromacs 0.483987 4.300000 # SP11-SC111
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SC112_bSC112_aSC112_dSC112_iSC112 lj/gromacs/coul/gromacs 0.483987 4.300000 # SP11-SC112
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SC12_bSC12_aSC12_dSC12_iSC12 lj/gromacs/coul/gromacs 0.483987 4.300000 # SP11-SC12
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SC13_bSC13_aSC13_dSC13_iSC13 lj/gromacs/coul/gromacs 0.483987 4.300000 # SP11-SC13
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SC14_bSC14_aSC14_dSC14_iSC14 lj/gromacs/coul/gromacs 0.483987 4.300000 # SP11-SC14
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SC15_bSC15_aSC15_dSC15_iSC15 lj/gromacs/coul/gromacs 0.483987 4.300000 # SP11-SC15
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SC16_bSC16_aSC16_dSC16_iSC16 lj/gromacs/coul/gromacs 0.483987 4.300000 # SP11-SC16
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SC17_bSC17_aSC17_dSC17_iSC17 lj/gromacs/coul/gromacs 0.483987 4.300000 # SP11-SC17
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SC18_bSC18_aSC18_dSC18_iSC18 lj/gromacs/coul/gromacs 0.483987 4.300000 # SP11-SC18
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SC19_bSC19_aSC19_dSC19_iSC19 lj/gromacs/coul/gromacs 0.483987 4.300000 # SP11-SC19
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SC31_bSC31_aSC31_dSC31_iSC31 lj/gromacs/coul/gromacs 0.627391 4.300000 # SP11-SC31
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SC32_bSC32_aSC32_dSC32_iSC32 lj/gromacs/coul/gromacs 0.627391 4.300000 # SP11-SC32
+ pair_coeff @atom:SP11_bSP11_aSP11_dSP11_iSP11 @atom:SC33_bSC33_aSC33_dSC33_iSC33 lj/gromacs/coul/gromacs 0.627391 4.300000 # SP11-SC33
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:BP4_bBP4_aBP4_dBP4_iBP4 lj/gromacs/coul/gromacs 1.075527 4.700000 # SP12-BP4
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:C1_bC1_aC1_dC1_iC1 lj/gromacs/coul/gromacs 0.645316 4.700000 # SP12-C1
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:C2_bC2_aC2_dC2_iC2 lj/gromacs/coul/gromacs 0.740919 4.700000 # SP12-C2
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:C3_bC3_aC3_dC3_iC3 lj/gromacs/coul/gromacs 0.836521 4.700000 # SP12-C3
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:C4_bC4_aC4_dC4_iC4 lj/gromacs/coul/gromacs 0.836521 4.700000 # SP12-C4
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:C5_bC5_aC5_dC5_iC5 lj/gromacs/coul/gromacs 0.836521 4.700000 # SP12-C5
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:N0_bN0_aN0_dN0_iN0 lj/gromacs/coul/gromacs 0.956024 4.700000 # SP12-N0
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:Na_bNa_aNa_dNa_iNa lj/gromacs/coul/gromacs 1.075527 4.700000 # SP12-Na
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:Nd_bNd_aNd_dNd_iNd lj/gromacs/coul/gromacs 1.075527 4.700000 # SP12-Nd
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:Nda_bNda_aNda_dNda_iNda lj/gromacs/coul/gromacs 1.075527 4.700000 # SP12-Nda
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:P1_bP1_aP1_dP1_iP1 lj/gromacs/coul/gromacs 1.075527 4.700000 # SP12-P1
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:P2_bP2_aP2_dP2_iP2 lj/gromacs/coul/gromacs 1.075527 4.700000 # SP12-P2
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:P3_bP3_aP3_dP3_iP3 lj/gromacs/coul/gromacs 1.075527 4.700000 # SP12-P3
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:P4_bP4_aP4_dP4_iP4 lj/gromacs/coul/gromacs 1.075527 4.700000 # SP12-P4
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:P5_bP5_aP5_dP5_iP5 lj/gromacs/coul/gromacs 1.338434 4.700000 # SP12-P5
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:Q0_bQ0_aQ0_dQ0_iQ0 lj/gromacs/coul/gromacs 0.956024 4.700000 # SP12-Q0
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:Qa_bQa_aQa_dQa_iQa lj/gromacs/coul/gromacs 1.195030 4.700000 # SP12-Qa
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:Qd_bQd_aQd_dQd_iQd lj/gromacs/coul/gromacs 1.195030 4.700000 # SP12-Qd
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:Qda_bQda_aQda_dQda_iQda lj/gromacs/coul/gromacs 1.195030 4.700000 # SP12-Qda
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SC1_bSC1_aSC1_dSC1_iSC1 lj/gromacs/coul/gromacs 0.483987 4.300000 # SP12-SC1
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SC2_bSC2_aSC2_dSC2_iSC2 lj/gromacs/coul/gromacs 0.555689 4.300000 # SP12-SC2
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SC3_bSC3_aSC3_dSC3_iSC3 lj/gromacs/coul/gromacs 0.627391 4.300000 # SP12-SC3
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SC4_bSC4_aSC4_dSC4_iSC4 lj/gromacs/coul/gromacs 0.627391 4.300000 # SP12-SC4
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SC5_bSC5_aSC5_dSC5_iSC5 lj/gromacs/coul/gromacs 0.627391 4.300000 # SP12-SC5
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SN0_bSN0_aSN0_dSN0_iSN0 lj/gromacs/coul/gromacs 0.717018 4.300000 # SP12-SN0
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SNa_bSNa_aSNa_dSNa_iSNa lj/gromacs/coul/gromacs 0.806645 4.300000 # SP12-SNa
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SNd_bSNd_aSNd_dSNd_iSNd lj/gromacs/coul/gromacs 0.806645 4.300000 # SP12-SNd
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SNda_bSNda_aSNda_dSNda_iSNda lj/gromacs/coul/gromacs 0.806645 4.300000 # SP12-SNda
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SP12_bSP12_aSP12_dSP12_iSP12 lj/gromacs/coul/gromacs 0.806645 4.300000 # SP12-SP12
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SP1_bSP1_aSP1_dSP1_iSP1 lj/gromacs/coul/gromacs 0.806645 4.300000 # SP12-SP1
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SP2_bSP2_aSP2_dSP2_iSP2 lj/gromacs/coul/gromacs 0.806645 4.300000 # SP12-SP2
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SP3_bSP3_aSP3_dSP3_iSP3 lj/gromacs/coul/gromacs 0.806645 4.300000 # SP12-SP3
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SP4_bSP4_aSP4_dSP4_iSP4 lj/gromacs/coul/gromacs 0.806645 4.300000 # SP12-SP4
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SP5_bSP5_aSP5_dSP5_iSP5 lj/gromacs/coul/gromacs 1.003825 4.300000 # SP12-SP5
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SQ0_bSQ0_aSQ0_dSQ0_iSQ0 lj/gromacs/coul/gromacs 0.717018 4.300000 # SP12-SQ0
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SQa_bSQa_aSQa_dSQa_iSQa lj/gromacs/coul/gromacs 0.896273 4.300000 # SP12-SQa
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SQd_bSQd_aSQd_dSQd_iSQd lj/gromacs/coul/gromacs 0.896273 4.300000 # SP12-SQd
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SQda_bSQda_aSQda_dSQda_iSQda lj/gromacs/coul/gromacs 0.896273 4.300000 # SP12-SQda
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:C41_bC4_aC41_dC41_iC41 lj/gromacs/coul/gromacs 0.836521 4.700000 # SP12-C41
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:C42_bC4_aC42_dC42_iC42 lj/gromacs/coul/gromacs 0.836521 4.700000 # SP12-C42
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:Na1_bNa1_aNa1_dNa1_iNa1 lj/gromacs/coul/gromacs 1.075527 4.700000 # SP12-Na1
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:Na2_bNa2_aNa2_dNa2_iNa2 lj/gromacs/coul/gromacs 1.075527 4.700000 # SP12-Na2
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:Qa1_bQa1_aQa1_dQa1_iQa1 lj/gromacs/coul/gromacs 1.195030 4.700000 # SP12-Qa1
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:Qa2_bQa2_aQa2_dQa2_iQa2 lj/gromacs/coul/gromacs 1.195030 4.700000 # SP12-Qa2
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SC11_bSC11_aSC11_dSC11_iSC11 lj/gromacs/coul/gromacs 0.483987 4.300000 # SP12-SC11
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SC110_bSC110_aSC110_dSC110_iSC110 lj/gromacs/coul/gromacs 0.483987 4.300000 # SP12-SC110
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SC111_bSC111_aSC111_dSC111_iSC111 lj/gromacs/coul/gromacs 0.483987 4.300000 # SP12-SC111
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SC112_bSC112_aSC112_dSC112_iSC112 lj/gromacs/coul/gromacs 0.483987 4.300000 # SP12-SC112
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SC12_bSC12_aSC12_dSC12_iSC12 lj/gromacs/coul/gromacs 0.483987 4.300000 # SP12-SC12
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SC13_bSC13_aSC13_dSC13_iSC13 lj/gromacs/coul/gromacs 0.483987 4.300000 # SP12-SC13
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SC14_bSC14_aSC14_dSC14_iSC14 lj/gromacs/coul/gromacs 0.483987 4.300000 # SP12-SC14
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SC15_bSC15_aSC15_dSC15_iSC15 lj/gromacs/coul/gromacs 0.483987 4.300000 # SP12-SC15
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SC16_bSC16_aSC16_dSC16_iSC16 lj/gromacs/coul/gromacs 0.483987 4.300000 # SP12-SC16
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SC17_bSC17_aSC17_dSC17_iSC17 lj/gromacs/coul/gromacs 0.483987 4.300000 # SP12-SC17
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SC18_bSC18_aSC18_dSC18_iSC18 lj/gromacs/coul/gromacs 0.483987 4.300000 # SP12-SC18
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SC19_bSC19_aSC19_dSC19_iSC19 lj/gromacs/coul/gromacs 0.483987 4.300000 # SP12-SC19
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SC31_bSC31_aSC31_dSC31_iSC31 lj/gromacs/coul/gromacs 0.627391 4.300000 # SP12-SC31
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SC32_bSC32_aSC32_dSC32_iSC32 lj/gromacs/coul/gromacs 0.627391 4.300000 # SP12-SC32
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SC33_bSC33_aSC33_dSC33_iSC33 lj/gromacs/coul/gromacs 0.627391 4.300000 # SP12-SC33
+ pair_coeff @atom:SP12_bSP12_aSP12_dSP12_iSP12 @atom:SP11_bSP11_aSP11_dSP11_iSP11 lj/gromacs/coul/gromacs 0.806645 4.300000 # SP12-SP11
+ } # end of nonbonded parameters
+
+ write_once("In Settings") {
+ # ----- Bonds -----
+ bond_coeff @bond:C1-C1 harmonic 1.493787 4.700000 # C1-C1
+ bond_coeff @bond:C1-C3 harmonic 1.493787 4.700000 # C1-C3
+ bond_coeff @bond:C1-C4 harmonic 1.493787 4.700000 # C1-C4
+ bond_coeff @bond:C1-Na harmonic 1.493787 4.700000 # C1-Na
+ bond_coeff @bond:C1-Na1 harmonic 1.493787 4.700000 # C1-Na1
+ bond_coeff @bond:C1-Na2 harmonic 1.493787 4.700000 # C1-Na2
+ bond_coeff @bond:C1-P5 harmonic 1.493787 4.700000 # C1-P5
+ bond_coeff @bond:C2-C4 harmonic 1.493787 4.700000 # C2-C4
+ bond_coeff @bond:C3-P1 harmonic 1.493787 4.700000 # C3-P1
+ bond_coeff @bond:C4-C4 harmonic 1.493787 4.700000 # C4-C4
+ bond_coeff @bond:C4-Na harmonic 1.493787 4.700000 # C4-Na
+ bond_coeff @bond:Na-Na harmonic 1.493787 3.700000 # Na-Na
+ bond_coeff @bond:Na-Na1 harmonic 1.493787 3.700000 # Na-Na1
+ bond_coeff @bond:Na-Na2 harmonic 1.493787 3.700000 # Na-Na2
+ bond_coeff @bond:Na-Qa harmonic 1.493787 4.700000 # Na-Qa
+ bond_coeff @bond:Na-Qa1 harmonic 1.493787 3.700000 # Na-Qa1
+ bond_coeff @bond:Na-Qa2 harmonic 1.493787 3.700000 # Na-Qa2
+ bond_coeff @bond:Na1-Qa harmonic 1.493787 3.700000 # Na1-Qa
+ bond_coeff @bond:Na2-Qa harmonic 1.493787 3.700000 # Na2-Qa
+ bond_coeff @bond:P1-P5 harmonic 1.493787 3.700000 # P1-P5
+ bond_coeff @bond:P4-Qa harmonic 1.493787 3.700000 # P4-Qa
+ bond_coeff @bond:P5-Qa harmonic 1.493787 4.700000 # P5-Qa
+ bond_coeff @bond:P5-Qa1 harmonic 1.493787 3.700000 # P5-Qa1
+ bond_coeff @bond:P5-Qa2 harmonic 1.493787 3.700000 # P5-Qa2
+ bond_coeff @bond:Q0-Qa harmonic 1.493787 4.700000 # Q0-Qa
+ bond_coeff @bond:Qa-Qd harmonic 1.493787 4.700000 # Qa-Qd
+ bond_coeff @bond:C1-C1 harmonic 1.493787 4.700000 # C1-C1
+ bond_coeff @bond:C1-C3 harmonic 1.493787 4.700000 # C1-C3
+ bond_coeff @bond:C1-Na harmonic 1.493787 4.700000 # C1-Na
+ bond_coeff @bond:C1-SC12 harmonic 1.493787 4.250000 # C1-SC12
+ bond_coeff @bond:C1-SC17 harmonic 1.493787 4.250000 # C1-SC17
+ bond_coeff @bond:Na-SC1 harmonic 1.493787 4.700000 # Na-SC1
+ bond_coeff @bond:Qa-SC111 harmonic 1.493787 4.250000 # Qa-SC111
+ bond_coeff @bond:SC1-SC11 harmonic 23.900600 3.410000 # SC1-SC11
+ bond_coeff @bond:SC1-SC13 harmonic 23.900600 2.030000 # SC1-SC13
+ bond_coeff @bond:SC1-SC15 harmonic 23.900600 2.420000 # SC1-SC15
+ bond_coeff @bond:SC1-SC16 harmonic 23.900600 2.940000 # SC1-SC16
+ bond_coeff @bond:SC1-SC17 harmonic 23.900600 4.060000 # SC1-SC17
+ bond_coeff @bond:SC1-SC18 harmonic 23.900600 2.030000 # SC1-SC18
+ bond_coeff @bond:SC1-SC3 harmonic 23.900600 2.600000 # SC1-SC3
+ bond_coeff @bond:SC1-SC32 harmonic 23.900600 3.460000 # SC1-SC32
+ bond_coeff @bond:SC1-SP1 harmonic 23.900600 2.420000 # SC1-SP1
+ bond_coeff @bond:SC11-SC12 harmonic 23.900600 5.440000 # SC11-SC12
+ bond_coeff @bond:SC11-SC13 harmonic 23.900600 2.130000 # SC11-SC13
+ bond_coeff @bond:SC11-SC14 harmonic 23.900600 2.940000 # SC11-SC14
+ bond_coeff @bond:SC11-SC31 harmonic 23.900600 2.720000 # SC11-SC31
+ bond_coeff @bond:SC11-SP1 harmonic 23.900600 6.040000 # SC11-SP1
+ bond_coeff @bond:SC110-SC3 harmonic 23.900600 2.600000 # SC110-SC3
+ bond_coeff @bond:SC110-SP1 harmonic 23.900600 2.420000 # SC110-SP1
+ bond_coeff @bond:SC110-SP11 harmonic 23.900600 3.410000 # SC110-SP11
+ bond_coeff @bond:SC111-SC112 harmonic 23.900600 3.680000 # SC111-SC112
+ bond_coeff @bond:SC111-SP11 harmonic 23.900600 5.440000 # SC111-SP11
+ bond_coeff @bond:SC111-SP12 harmonic 23.900600 4.060000 # SC111-SP12
+ bond_coeff @bond:SC112-SP1 harmonic 23.900600 2.030000 # SC112-SP1
+ bond_coeff @bond:SC112-SP11 harmonic 23.900600 2.130000 # SC112-SP11
+ bond_coeff @bond:SC12-SC13 harmonic 23.900600 3.680000 # SC12-SC13
+ bond_coeff @bond:SC12-SC14 harmonic 23.900600 4.060000 # SC12-SC14
+ bond_coeff @bond:SC14-SC31 harmonic 23.900600 3.460000 # SC14-SC31
+ bond_coeff @bond:SC15-SC16 harmonic 23.900600 3.410000 # SC15-SC16
+ bond_coeff @bond:SC15-SC3 harmonic 23.900600 2.600000 # SC15-SC3
+ bond_coeff @bond:SC16-SC17 harmonic 23.900600 5.440000 # SC16-SC17
+ bond_coeff @bond:SC16-SC18 harmonic 23.900600 2.130000 # SC16-SC18
+ bond_coeff @bond:SC16-SC19 harmonic 23.900600 6.040000 # SC16-SC19
+ bond_coeff @bond:SC16-SC32 harmonic 23.900600 2.720000 # SC16-SC32
+ bond_coeff @bond:SC17-SC18 harmonic 23.900600 3.680000 # SC17-SC18
+ bond_coeff @bond:SC19-SC32 harmonic 23.900600 4.930000 # SC19-SC32
+ bond_coeff @bond:SC31-SP1 harmonic 23.900600 4.930000 # SC31-SP1
+ bond_coeff @bond:SC33-SP1 harmonic 23.900600 4.930000 # SC33-SP1
+ bond_coeff @bond:SC33-SP11 harmonic 23.900600 2.720000 # SC33-SP11
+ bond_coeff @bond:SC33-SP12 harmonic 23.900600 3.460000 # SC33-SP12
+ bond_coeff @bond:SP1-SP11 harmonic 23.900600 6.040000 # SP1-SP11
+ bond_coeff @bond:SP11-SP12 harmonic 23.900600 2.940000 # SP11-SP12
+ }
+
+ write_once("Data Bonds By Type") {
+ @bond:C1-C1 @atom:*_bC1_a*_d*_i* @atom:*_bC1_a*_d*_i*
+ @bond:C1-C3 @atom:*_bC1_a*_d*_i* @atom:*_bC3_a*_d*_i*
+ @bond:C1-C4 @atom:*_bC1_a*_d*_i* @atom:*_bC4_a*_d*_i*
+ @bond:C1-Na @atom:*_bC1_a*_d*_i* @atom:*_bNa_a*_d*_i*
+ @bond:C1-Na1 @atom:*_bC1_a*_d*_i* @atom:*_bNa1_a*_d*_i*
+ @bond:C1-Na2 @atom:*_bC1_a*_d*_i* @atom:*_bNa2_a*_d*_i*
+ @bond:C1-P5 @atom:*_bC1_a*_d*_i* @atom:*_bP5_a*_d*_i*
+ @bond:C2-C4 @atom:*_bC2_a*_d*_i* @atom:*_bC4_a*_d*_i*
+ @bond:C3-P1 @atom:*_bC3_a*_d*_i* @atom:*_bP1_a*_d*_i*
+ @bond:C4-C4 @atom:*_bC4_a*_d*_i* @atom:*_bC4_a*_d*_i*
+ @bond:C4-Na @atom:*_bC4_a*_d*_i* @atom:*_bNa_a*_d*_i*
+ @bond:Na-Na @atom:*_bNa_a*_d*_i* @atom:*_bNa_a*_d*_i*
+ @bond:Na-Na1 @atom:*_bNa_a*_d*_i* @atom:*_bNa1_a*_d*_i*
+ @bond:Na-Na2 @atom:*_bNa_a*_d*_i* @atom:*_bNa2_a*_d*_i*
+ @bond:Na-Qa @atom:*_bNa_a*_d*_i* @atom:*_bQa_a*_d*_i*
+ @bond:Na-Qa1 @atom:*_bNa_a*_d*_i* @atom:*_bQa1_a*_d*_i*
+ @bond:Na-Qa2 @atom:*_bNa_a*_d*_i* @atom:*_bQa2_a*_d*_i*
+ @bond:Na1-Qa @atom:*_bNa1_a*_d*_i* @atom:*_bQa_a*_d*_i*
+ @bond:Na2-Qa @atom:*_bNa2_a*_d*_i* @atom:*_bQa_a*_d*_i*
+ @bond:P1-P5 @atom:*_bP1_a*_d*_i* @atom:*_bP5_a*_d*_i*
+ @bond:P4-Qa @atom:*_bP4_a*_d*_i* @atom:*_bQa_a*_d*_i*
+ @bond:P5-Qa @atom:*_bP5_a*_d*_i* @atom:*_bQa_a*_d*_i*
+ @bond:P5-Qa1 @atom:*_bP5_a*_d*_i* @atom:*_bQa1_a*_d*_i*
+ @bond:P5-Qa2 @atom:*_bP5_a*_d*_i* @atom:*_bQa2_a*_d*_i*
+ @bond:Q0-Qa @atom:*_bQ0_a*_d*_i* @atom:*_bQa_a*_d*_i*
+ @bond:Qa-Qd @atom:*_bQa_a*_d*_i* @atom:*_bQd_a*_d*_i*
+ @bond:C1-C1 @atom:*_bC1_a*_d*_i* @atom:*_bC1_a*_d*_i*
+ @bond:C1-C3 @atom:*_bC1_a*_d*_i* @atom:*_bC3_a*_d*_i*
+ @bond:C1-Na @atom:*_bC1_a*_d*_i* @atom:*_bNa_a*_d*_i*
+ @bond:C1-SC12 @atom:*_bC1_a*_d*_i* @atom:*_bSC12_a*_d*_i*
+ @bond:C1-SC17 @atom:*_bC1_a*_d*_i* @atom:*_bSC17_a*_d*_i*
+ @bond:Na-SC1 @atom:*_bNa_a*_d*_i* @atom:*_bSC1_a*_d*_i*
+ @bond:Qa-SC111 @atom:*_bQa_a*_d*_i* @atom:*_bSC111_a*_d*_i*
+ @bond:SC1-SC11 @atom:*_bSC1_a*_d*_i* @atom:*_bSC11_a*_d*_i*
+ @bond:SC1-SC13 @atom:*_bSC1_a*_d*_i* @atom:*_bSC13_a*_d*_i*
+ @bond:SC1-SC15 @atom:*_bSC1_a*_d*_i* @atom:*_bSC15_a*_d*_i*
+ @bond:SC1-SC16 @atom:*_bSC1_a*_d*_i* @atom:*_bSC16_a*_d*_i*
+ @bond:SC1-SC17 @atom:*_bSC1_a*_d*_i* @atom:*_bSC17_a*_d*_i*
+ @bond:SC1-SC18 @atom:*_bSC1_a*_d*_i* @atom:*_bSC18_a*_d*_i*
+ @bond:SC1-SC3 @atom:*_bSC1_a*_d*_i* @atom:*_bSC3_a*_d*_i*
+ @bond:SC1-SC32 @atom:*_bSC1_a*_d*_i* @atom:*_bSC32_a*_d*_i*
+ @bond:SC1-SP1 @atom:*_bSC1_a*_d*_i* @atom:*_bSP1_a*_d*_i*
+ @bond:SC11-SC12 @atom:*_bSC11_a*_d*_i* @atom:*_bSC12_a*_d*_i*
+ @bond:SC11-SC13 @atom:*_bSC11_a*_d*_i* @atom:*_bSC13_a*_d*_i*
+ @bond:SC11-SC14 @atom:*_bSC11_a*_d*_i* @atom:*_bSC14_a*_d*_i*
+ @bond:SC11-SC31 @atom:*_bSC11_a*_d*_i* @atom:*_bSC31_a*_d*_i*
+ @bond:SC11-SP1 @atom:*_bSC11_a*_d*_i* @atom:*_bSP1_a*_d*_i*
+ @bond:SC110-SC3 @atom:*_bSC110_a*_d*_i* @atom:*_bSC3_a*_d*_i*
+ @bond:SC110-SP1 @atom:*_bSC110_a*_d*_i* @atom:*_bSP1_a*_d*_i*
+ @bond:SC110-SP11 @atom:*_bSC110_a*_d*_i* @atom:*_bSP11_a*_d*_i*
+ @bond:SC111-SC112 @atom:*_bSC111_a*_d*_i* @atom:*_bSC112_a*_d*_i*
+ @bond:SC111-SP11 @atom:*_bSC111_a*_d*_i* @atom:*_bSP11_a*_d*_i*
+ @bond:SC111-SP12 @atom:*_bSC111_a*_d*_i* @atom:*_bSP12_a*_d*_i*
+ @bond:SC112-SP1 @atom:*_bSC112_a*_d*_i* @atom:*_bSP1_a*_d*_i*
+ @bond:SC112-SP11 @atom:*_bSC112_a*_d*_i* @atom:*_bSP11_a*_d*_i*
+ @bond:SC12-SC13 @atom:*_bSC12_a*_d*_i* @atom:*_bSC13_a*_d*_i*
+ @bond:SC12-SC14 @atom:*_bSC12_a*_d*_i* @atom:*_bSC14_a*_d*_i*
+ @bond:SC14-SC31 @atom:*_bSC14_a*_d*_i* @atom:*_bSC31_a*_d*_i*
+ @bond:SC15-SC16 @atom:*_bSC15_a*_d*_i* @atom:*_bSC16_a*_d*_i*
+ @bond:SC15-SC3 @atom:*_bSC15_a*_d*_i* @atom:*_bSC3_a*_d*_i*
+ @bond:SC16-SC17 @atom:*_bSC16_a*_d*_i* @atom:*_bSC17_a*_d*_i*
+ @bond:SC16-SC18 @atom:*_bSC16_a*_d*_i* @atom:*_bSC18_a*_d*_i*
+ @bond:SC16-SC19 @atom:*_bSC16_a*_d*_i* @atom:*_bSC19_a*_d*_i*
+ @bond:SC16-SC32 @atom:*_bSC16_a*_d*_i* @atom:*_bSC32_a*_d*_i*
+ @bond:SC17-SC18 @atom:*_bSC17_a*_d*_i* @atom:*_bSC18_a*_d*_i*
+ @bond:SC19-SC32 @atom:*_bSC19_a*_d*_i* @atom:*_bSC32_a*_d*_i*
+ @bond:SC31-SP1 @atom:*_bSC31_a*_d*_i* @atom:*_bSP1_a*_d*_i*
+ @bond:SC33-SP1 @atom:*_bSC33_a*_d*_i* @atom:*_bSP1_a*_d*_i*
+ @bond:SC33-SP11 @atom:*_bSC33_a*_d*_i* @atom:*_bSP11_a*_d*_i*
+ @bond:SC33-SP12 @atom:*_bSC33_a*_d*_i* @atom:*_bSP12_a*_d*_i*
+ @bond:SP1-SP11 @atom:*_bSP1_a*_d*_i* @atom:*_bSP11_a*_d*_i*
+ @bond:SP11-SP12 @atom:*_bSP11_a*_d*_i* @atom:*_bSP12_a*_d*_i*
+ } # end of bonds
+
+ write_once("In Settings") {
+ # ----- Angles -----
+ angle_coeff @angle:C1-C1-C1 cosine/squared 2.987575 180.000000 # C1-C1-C1
+ angle_coeff @angle:C1-C1-C3 cosine/squared 2.987575 180.000000 # C1-C1-C3
+ angle_coeff @angle:C1-C1-Na cosine/squared 2.987575 180.000000 # C1-C1-Na
+ angle_coeff @angle:C1-C1-Na1 cosine/squared 2.987575 180.000000 # C1-C1-Na1
+ angle_coeff @angle:C1-C1-Na2 cosine/squared 2.987575 180.000000 # C1-C1-Na2
+ angle_coeff @angle:C1-C1-P5 cosine/squared 2.987575 180.000000 # C1-C1-P5
+ angle_coeff @angle:C1-C3-C1 cosine/squared 5.377635 120.000000 # C1-C3-C1
+ angle_coeff @angle:C1-C3-P1 cosine/squared 5.377635 180.000000 # C1-C3-P1
+ angle_coeff @angle:C1-C4-C41 cosine/squared 5.377635 120.000000 # C1-C4-C41
+ angle_coeff @angle:C1-C4-C42 cosine/squared 5.377635 120.000000 # C1-C4-C42
+ angle_coeff @angle:C1-C41-C4 cosine/squared 1.195030 100.000000 # C1-C41-C4
+ angle_coeff @angle:C1-C42-C4 cosine/squared 1.195030 100.000000 # C1-C42-C4
+ angle_coeff @angle:C1-Na-Qa cosine/squared 2.987575 180.000000 # C1-Na-Qa
+ angle_coeff @angle:C1-Na-Qa1 cosine/squared 2.987575 180.000000 # C1-Na-Qa1
+ angle_coeff @angle:C1-Na-Qa2 cosine/squared 2.987575 180.000000 # C1-Na-Qa2
+ angle_coeff @angle:C1-Na1-Qa cosine/squared 2.987575 180.000000 # C1-Na1-Qa
+ angle_coeff @angle:C1-Na2-Qa cosine/squared 2.987575 180.000000 # C1-Na2-Qa
+ angle_coeff @angle:C1-P5-Qa cosine/squared 2.987575 180.000000 # C1-P5-Qa
+ angle_coeff @angle:C2-C4-C4 cosine/squared 5.377635 120.000000 # C2-C4-C4
+ angle_coeff @angle:C4-C4-C4 cosine/squared 1.195030 100.000000 # C4-C4-C4
+ angle_coeff @angle:C4-C4-Na cosine/squared 1.195030 100.000000 # C4-C4-Na
+ angle_coeff @angle:C4-Na-Qa cosine/squared 2.987575 180.000000 # C4-Na-Qa
+ angle_coeff @angle:C41-C1-Na cosine/squared 2.987575 180.000000 # C41-C1-Na
+ angle_coeff @angle:C42-C1-Na cosine/squared 2.987575 180.000000 # C42-C1-Na
+ angle_coeff @angle:Na-Na-Qa cosine/squared 2.987575 120.000000 # Na-Na-Qa
+ angle_coeff @angle:Na-Na-Qa1 cosine/squared 2.987575 120.000000 # Na-Na-Qa1
+ angle_coeff @angle:Na-Na-Qa2 cosine/squared 2.987575 120.000000 # Na-Na-Qa2
+ angle_coeff @angle:Na-Na1-Qa cosine/squared 2.987575 120.000000 # Na-Na1-Qa
+ angle_coeff @angle:Na-Na2-Qa cosine/squared 2.987575 120.000000 # Na-Na2-Qa
+ angle_coeff @angle:P1-P5-Qa cosine/squared 2.987575 120.000000 # P1-P5-Qa
+ angle_coeff @angle:C1-C1-C3 cosine/squared 2.987575 180.000000 # C1-C1-C3
+ angle_coeff @angle:C1-C3-C1 cosine/squared 5.377635 120.000000 # C1-C3-C1
+ angle_coeff @angle:C1-Na-SC19 cosine/squared 2.987575 180.000000 # C1-Na-SC19
+ angle_coeff @angle:C1-SC12-SC11 cosine/squared 2.987575 180.000000 # C1-SC12-SC11
+ angle_coeff @angle:C1-SC17-SC16 cosine/squared 2.987575 180.000000 # C1-SC17-SC16
+ angle_coeff @angle:C3-C1-Na cosine/squared 2.987575 180.000000 # C3-C1-Na
+ angle_coeff @angle:Qa-SC111-SP11 cosine/squared 2.987575 180.000000 # Qa-SC111-SP11
+ }
+
+ write_once("Data Angles By Type") {
+ @angle:C1-C1-C1 @atom:*_b*_aC1_d*_i* @atom:*_b*_aC1_d*_i* @atom:*_b*_aC1_d*_i*
+ @angle:C1-C1-C3 @atom:*_b*_aC1_d*_i* @atom:*_b*_aC1_d*_i* @atom:*_b*_aC3_d*_i*
+ @angle:C1-C1-Na @atom:*_b*_aC1_d*_i* @atom:*_b*_aC1_d*_i* @atom:*_b*_aNa_d*_i*
+ @angle:C1-C1-Na1 @atom:*_b*_aC1_d*_i* @atom:*_b*_aC1_d*_i* @atom:*_b*_aNa1_d*_i*
+ @angle:C1-C1-Na2 @atom:*_b*_aC1_d*_i* @atom:*_b*_aC1_d*_i* @atom:*_b*_aNa2_d*_i*
+ @angle:C1-C1-P5 @atom:*_b*_aC1_d*_i* @atom:*_b*_aC1_d*_i* @atom:*_b*_aP5_d*_i*
+ @angle:C1-C3-C1 @atom:*_b*_aC1_d*_i* @atom:*_b*_aC3_d*_i* @atom:*_b*_aC1_d*_i*
+ @angle:C1-C3-P1 @atom:*_b*_aC1_d*_i* @atom:*_b*_aC3_d*_i* @atom:*_b*_aP1_d*_i*
+ @angle:C1-C4-C41 @atom:*_b*_aC1_d*_i* @atom:*_b*_aC4_d*_i* @atom:*_b*_aC41_d*_i*
+ @angle:C1-C4-C42 @atom:*_b*_aC1_d*_i* @atom:*_b*_aC4_d*_i* @atom:*_b*_aC42_d*_i*
+ @angle:C1-C41-C4 @atom:*_b*_aC1_d*_i* @atom:*_b*_aC41_d*_i* @atom:*_b*_aC4_d*_i*
+ @angle:C1-C42-C4 @atom:*_b*_aC1_d*_i* @atom:*_b*_aC42_d*_i* @atom:*_b*_aC4_d*_i*
+ @angle:C1-Na-Qa @atom:*_b*_aC1_d*_i* @atom:*_b*_aNa_d*_i* @atom:*_b*_aQa_d*_i*
+ @angle:C1-Na-Qa1 @atom:*_b*_aC1_d*_i* @atom:*_b*_aNa_d*_i* @atom:*_b*_aQa1_d*_i*
+ @angle:C1-Na-Qa2 @atom:*_b*_aC1_d*_i* @atom:*_b*_aNa_d*_i* @atom:*_b*_aQa2_d*_i*
+ @angle:C1-Na1-Qa @atom:*_b*_aC1_d*_i* @atom:*_b*_aNa1_d*_i* @atom:*_b*_aQa_d*_i*
+ @angle:C1-Na2-Qa @atom:*_b*_aC1_d*_i* @atom:*_b*_aNa2_d*_i* @atom:*_b*_aQa_d*_i*
+ @angle:C1-P5-Qa @atom:*_b*_aC1_d*_i* @atom:*_b*_aP5_d*_i* @atom:*_b*_aQa_d*_i*
+ @angle:C2-C4-C4 @atom:*_b*_aC2_d*_i* @atom:*_b*_aC4_d*_i* @atom:*_b*_aC4_d*_i*
+ @angle:C4-C4-C4 @atom:*_b*_aC4_d*_i* @atom:*_b*_aC4_d*_i* @atom:*_b*_aC4_d*_i*
+ @angle:C4-C4-Na @atom:*_b*_aC4_d*_i* @atom:*_b*_aC4_d*_i* @atom:*_b*_aNa_d*_i*
+ @angle:C4-Na-Qa @atom:*_b*_aC4_d*_i* @atom:*_b*_aNa_d*_i* @atom:*_b*_aQa_d*_i*
+ @angle:C41-C1-Na @atom:*_b*_aC41_d*_i* @atom:*_b*_aC1_d*_i* @atom:*_b*_aNa_d*_i*
+ @angle:C42-C1-Na @atom:*_b*_aC42_d*_i* @atom:*_b*_aC1_d*_i* @atom:*_b*_aNa_d*_i*
+ @angle:Na-Na-Qa @atom:*_b*_aNa_d*_i* @atom:*_b*_aNa_d*_i* @atom:*_b*_aQa_d*_i*
+ @angle:Na-Na-Qa1 @atom:*_b*_aNa_d*_i* @atom:*_b*_aNa_d*_i* @atom:*_b*_aQa1_d*_i*
+ @angle:Na-Na-Qa2 @atom:*_b*_aNa_d*_i* @atom:*_b*_aNa_d*_i* @atom:*_b*_aQa2_d*_i*
+ @angle:Na-Na1-Qa @atom:*_b*_aNa_d*_i* @atom:*_b*_aNa1_d*_i* @atom:*_b*_aQa_d*_i*
+ @angle:Na-Na2-Qa @atom:*_b*_aNa_d*_i* @atom:*_b*_aNa2_d*_i* @atom:*_b*_aQa_d*_i*
+ @angle:P1-P5-Qa @atom:*_b*_aP1_d*_i* @atom:*_b*_aP5_d*_i* @atom:*_b*_aQa_d*_i*
+ @angle:C1-C1-C3 @atom:*_b*_aC1_d*_i* @atom:*_b*_aC1_d*_i* @atom:*_b*_aC3_d*_i*
+ @angle:C1-C3-C1 @atom:*_b*_aC1_d*_i* @atom:*_b*_aC3_d*_i* @atom:*_b*_aC1_d*_i*
+ @angle:C1-Na-SC19 @atom:*_b*_aC1_d*_i* @atom:*_b*_aNa_d*_i* @atom:*_b*_aSC19_d*_i*
+ @angle:C1-SC12-SC11 @atom:*_b*_aC1_d*_i* @atom:*_b*_aSC12_d*_i* @atom:*_b*_aSC11_d*_i*
+ @angle:C1-SC17-SC16 @atom:*_b*_aC1_d*_i* @atom:*_b*_aSC17_d*_i* @atom:*_b*_aSC16_d*_i*
+ @angle:C3-C1-Na @atom:*_b*_aC3_d*_i* @atom:*_b*_aC1_d*_i* @atom:*_b*_aNa_d*_i*
+ @angle:Qa-SC111-SP11 @atom:*_b*_aQa_d*_i* @atom:*_b*_aSC111_d*_i* @atom:*_b*_aSP11_d*_i*
+ } # end of angles
+
+ write_once("In Init") {
+ # Warning: This is a very generic "In Init" section, further
+ # modification prior to any simulation is extremely likely
+ units real
+ atom_style full
+ bond_style hybrid harmonic
+ angle_style hybrid cosine/squared
+ pair_style hybrid lj/gromacs/coul/gromacs 9.000000 12.000000
+ special_bonds lj/coul 0.0 0.0 0.0
+ } # end init
+} # MARTINI
diff --git a/tools/moltemplate/moltemplate/force_fields/martini/aminoacids.prm b/tools/moltemplate/moltemplate/force_fields/martini/aminoacids.prm
new file mode 100644
index 000000000..844fafe10
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/martini/aminoacids.prm
@@ -0,0 +1,164 @@
+#
+# Martini interaction parameters using martini.30634.tmp
+# converted by martini.pl v1.2, February 10, 2014 by Pieter J. in 't Veld
+# to be used in conjuction with EMC v9.3.7 or higher
+#
+
+# Force field definition
+
+ITEM DEFINE
+
+FFNAME MARTINI
+FFTYPE COARSE
+VERSION 2011
+CREATED Feb 2014
+LENGTH NANOMETER
+ENERGY KJ/MOL
+DENSITY G/CC
+MIX NONE
+NBONDED 1
+INNER 0.9
+CUTOFF 1.2
+PAIR14 OFF
+ANGLE WARN
+TORSION IGNORE
+
+ITEM END
+
+# Masses
+
+ITEM MASS
+
+# type mass element ncons charge comment
+
+P51 72 P5 2 0 polar
+P52 72 P5 2 0 polar
+P53 72 P5 2 0 polar
+P54 72 P5 2 0 polar
+P55 72 P5 2 0 polar
+P56 72 P5 2 0 polar
+P57 72 P5 2 0 polar
+P58 72 P5 2 0 polar
+P59 72 P5 2 0 polar
+
+ITEM END
+
+# Typing equivalences
+
+ITEM EQUIVALENCE
+
+# type pair bond angle torsion improper
+
+P51 P5 P51 P51 P51 P51
+P52 P5 P52 P52 P52 P52
+P53 P5 P53 P53 P53 P53
+P54 P5 P54 P54 P54 P54
+P55 P5 P55 P55 P55 P55
+P56 P5 P56 P56 P56 P56
+P57 P5 P57 P57 P57 P57
+P58 P5 P58 P58 P58 P58
+P59 P5 P59 P59 P59 P59
+
+ITEM END
+
+# Bond parameters
+
+ITEM BOND
+
+# type1 type2 k l0
+
+AC1 P5 7500 0.33
+AC1 P51 20000 0.31
+AC2 P5 20000 0.265
+AC2 P53 7500 0.3
+C3 P1 5000 0.28
+C3 P5 5000 0.33
+C3 Qd 5000 0.28
+C5 P5 7500 0.31
+C5 P52 2500 0.4
+N0 P4 5000 0.34
+N0 P5 5000 0.33
+N0 Qd 5000 0.34
+P1 P5 5000 0.4
+P1 P55 20000 0.26
+P1 P56 7500 0.25
+P3 P5 7500 0.32
+P4 P5 5000 0.4
+P5 P5 5000 0.32
+P5 Qa 7500 0.32
+P5 SC4 7500 0.32
+P54 Qa 5000 0.4
+P57 SC4 7500 0.31
+P58 SC4 5000 0.32
+P59 SC4 5000 0.3
+SC4 SC4 20000 0.27
+SC4 SP1 20000 0.27
+SP1 SP1 20000 0.27
+
+ITEM END
+
+# Angle parameters
+
+ITEM ANGLE
+
+# type1 type2 type3 k theta0
+
+P1 C3 P5 25 180
+P4 N0 P5 25 180
+P5 C3 Qd 25 180
+P5 N0 Qd 25 180
+P5 SC4 SP1 50 150
+P57 SC4 SC4 50 150
+P58 SC4 SC4 50 150
+P58 SC4 SP1 50 150
+P59 SC4 SC4 50 90
+P59 SC4 SP1 50 210
+
+ITEM END
+
+# Improper parameters
+
+ITEM IMPROPER
+
+# type1 type2 type3 type4 k psi0
+
+P5 SC4 SP1 SP1 50 0
+P57 SC4 SC4 SC4 50 0
+P58 SC4 SC4 SP1 50 0
+P59 SC4 SC4 SP1 50 0
+SC4 SC4 SC4 SP1 200 0
+
+ITEM END
+
+# Templates
+
+ITEM TEMPLATES
+
+# name smiles
+
+ALA [P4]
+ARG [P5][N0][Qd+1]
+ARG0 [P5][N0][P4]
+ASN [P5][P5]
+ASP [P5][Qa-1]
+ASP0 [P5][P3]
+CYS [P5][C5]
+GLN [P5][P4]
+GLU [P54][Qa-1]
+GLU0 [P5][P1]
+GLY [P5]
+HIS [P5][SC4]1[SP1][SP1]1
+ILE [P51][AC1]
+LEU [P5][AC1]
+LYS [P5][C3][Qd+1]
+LYS0 [P5][C3][P1]
+MET [P52][C5]
+PHE [P57][SC4]1[SC4][SC4]1
+PRO [P53][AC2]
+SER [P56][P1]
+THR [P55][P1]
+TRP [P59][SC4]1[SP1]2[SC4]1[SC4]2
+TYR [P58][SC4]1[SC4][SP1]1
+VAL [P5][AC2]
+
+ITEM END
diff --git a/tools/moltemplate/moltemplate/force_fields/martini/cholesterol.prm b/tools/moltemplate/moltemplate/force_fields/martini/cholesterol.prm
new file mode 100644
index 000000000..7d78eed75
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/martini/cholesterol.prm
@@ -0,0 +1,197 @@
+#
+# Martini interaction parameters using martini.30636.tmp
+# converted by martini.pl v1.2, February 10, 2014 by Pieter J. in 't Veld
+# to be used in conjuction with EMC v9.3.7 or higher
+#
+
+# Force field definition
+
+ITEM DEFINE
+
+FFNAME MARTINI
+FFTYPE COARSE
+VERSION 2011
+CREATED Feb 2014
+LENGTH NANOMETER
+ENERGY KJ/MOL
+DENSITY G/CC
+MIX NONE
+NBONDED 1
+INNER 0.9
+CUTOFF 1.2
+PAIR14 OFF
+ANGLE WARN
+TORSION IGNORE
+
+ITEM END
+
+# Masses
+
+ITEM MASS
+
+# type mass element ncons charge comment
+
+SC11 54 SC1 2 0 ring apolar
+SC110 54 SC1 2 0 ring apolar
+SC111 54 SC1 2 0 ring apolar
+SC112 54 SC1 2 0 ring apolar
+SC12 54 SC1 2 0 ring apolar
+SC13 54 SC1 2 0 ring apolar
+SC14 54 SC1 2 0 ring apolar
+SC15 54 SC1 2 0 ring apolar
+SC16 54 SC1 2 0 ring apolar
+SC17 54 SC1 2 0 ring apolar
+SC18 54 SC1 2 0 ring apolar
+SC19 54 SC1 2 0 ring apolar
+SC31 54 SC3 2 0 ring apolar
+SC32 54 SC3 2 0 ring apolar
+SC33 54 SC3 2 0 ring apolar
+SP11 54 SP1 2 0 ring polar
+SP12 54 SP1 2 0 ring polar
+
+ITEM END
+
+# Typing equivalences
+
+ITEM EQUIVALENCE
+
+# type pair bond angle torsion improper
+
+SC11 SC1 SC11 SC11 SC11 SC11
+SC110 SC1 SC110 SC110 SC110 SC110
+SC111 SC1 SC111 SC111 SC111 SC111
+SC112 SC1 SC112 SC112 SC112 SC112
+SC12 SC1 SC12 SC12 SC12 SC12
+SC13 SC1 SC13 SC13 SC13 SC13
+SC14 SC1 SC14 SC14 SC14 SC14
+SC15 SC1 SC15 SC15 SC15 SC15
+SC16 SC1 SC16 SC16 SC16 SC16
+SC17 SC1 SC17 SC17 SC17 SC17
+SC18 SC1 SC18 SC18 SC18 SC18
+SC19 SC1 SC19 SC19 SC19 SC19
+SC31 SC3 SC31 SC31 SC31 SC31
+SC32 SC3 SC32 SC32 SC32 SC32
+SC33 SC3 SC33 SC33 SC33 SC33
+SP11 SP1 SP11 SP11 SP11 SP11
+SP12 SP1 SP12 SP12 SP12 SP12
+
+ITEM END
+
+# Bond parameters
+
+ITEM BOND
+
+# type1 type2 k l0
+
+C1 C1 1250 0.47
+C1 C3 1250 0.47
+C1 Na 1250 0.47
+C1 SC12 1250 0.425
+C1 SC17 1250 0.425
+Na SC1 1250 0.47
+Qa SC111 1250 0.425
+SC1 SC11 20000 0.341
+SC1 SC13 20000 0.203
+SC1 SC15 20000 0.242
+SC1 SC16 20000 0.294
+SC1 SC17 20000 0.406
+SC1 SC18 20000 0.203
+SC1 SC3 20000 0.26
+SC1 SC32 20000 0.346
+SC1 SP1 20000 0.242
+SC11 SC12 20000 0.544
+SC11 SC13 20000 0.213
+SC11 SC14 20000 0.294
+SC11 SC31 20000 0.272
+SC11 SP1 20000 0.604
+SC110 SC3 20000 0.26
+SC110 SP1 20000 0.242
+SC110 SP11 20000 0.341
+SC111 SC112 20000 0.368
+SC111 SP11 20000 0.544
+SC111 SP12 20000 0.406
+SC112 SP1 20000 0.203
+SC112 SP11 20000 0.213
+SC12 SC13 20000 0.368
+SC12 SC14 20000 0.406
+SC14 SC31 20000 0.346
+SC15 SC16 20000 0.341
+SC15 SC3 20000 0.26
+SC16 SC17 20000 0.544
+SC16 SC18 20000 0.213
+SC16 SC19 20000 0.604
+SC16 SC32 20000 0.272
+SC17 SC18 20000 0.368
+SC19 SC32 20000 0.493
+SC31 SP1 20000 0.493
+SC33 SP1 20000 0.493
+SC33 SP11 20000 0.272
+SC33 SP12 20000 0.346
+SP1 SP11 20000 0.604
+SP11 SP12 20000 0.294
+
+ITEM END
+
+# Angle parameters
+
+ITEM ANGLE
+
+# type1 type2 type3 k theta0
+
+C1 C1 C3 25 180
+C1 C3 C1 45 120
+C1 Na SC19 25 180
+C1 SC12 SC11 25 180
+C1 SC17 SC16 25 180
+C3 C1 Na 25 180
+Qa SC111 SP11 25 180
+
+ITEM END
+
+# Improper parameters
+
+ITEM IMPROPER
+
+# type1 type2 type3 type4 k psi0
+
+SC1 SC11 SC31 SP1 300 45
+SC1 SC11 SP1 SC31 300 -45
+SC11 SC12 SC14 SC31 100 0
+SC110 SC33 SP1 SP11 300 45
+SC110 SC33 SP11 SP1 300 -45
+SC112 SC111 SP11 SP12 300 -45
+SC112 SC111 SP12 SP11 300 45
+SC13 SC11 SC12 SC14 300 45
+SC13 SC11 SC14 SC12 300 -45
+SC15 SC16 SC19 SC32 300 -45
+SC15 SC16 SC32 SC19 300 45
+SC16 SC1 SC32 SC17 100 0
+SC18 SC1 SC16 SC17 300 45
+SC18 SC1 SC17 SC16 300 -45
+SC19 SC1 SC16 SC32 100 0
+SC19 SC1 SC17 SC32 100 0
+SC19 SC1 SC32 SC16 100 0
+SC31 SC11 SC14 SC12 100 0
+SC32 SC1 SC17 SC16 100 0
+SC33 SC111 SP11 SP12 100 0
+SP1 SC11 SC14 SC31 100 0
+SP1 SC11 SC31 SC14 100 0
+SP1 SC111 SC33 SP12 100 0
+SP1 SC12 SC31 SC14 100 0
+SP1 SC33 SP11 SP12 100 0
+SP1 SC33 SP12 SP11 100 0
+SP11 SC111 SP12 SC33 100 0
+
+ITEM END
+
+# Templates
+
+ITEM TEMPLATES
+
+# name smiles
+
+CHOA [SP1]1[SC110]3[SC33]2[SP11]1[SC112]6[SP12]4[SC111]5[Qa-1]
+CHOL [SP1]1[SC1]3[SC31]2[SC11]1[SC13]6[SC14]4[SC12]5[C1]
+CO [SC19]1([SC15]3[SC32]2[SC16]1[SC18]6[SC1]4[SC17]5[C1])[Na][C1][C3][C1][C1]
+
+ITEM END
diff --git a/tools/moltemplate/moltemplate/force_fields/martini/emcprm2lt.py b/tools/moltemplate/moltemplate/force_fields/martini/emcprm2lt.py
new file mode 100755
index 000000000..81ed2358a
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/martini/emcprm2lt.py
@@ -0,0 +1,580 @@
+#!/usr/bin/python
+
+import os, sys, getopt
+import datetime
+
+__version__ = 0.1
+
+#################### UNITS ####################
+# Only used with --units flag
+econv = 1.0 # Additional Factor for unit conversion if needed (energies)
+lconv = 1.0 # Additional Factor for unit conversion if neededa (lengths)
+dconv = 1.0 # Additional Factor for unit conversion if neededa (densities)
+###############################################
+
+print('\nEMC 2 LT conversion tool: v%s\n' % __version__)
+
+def helpme():
+ print 'Help for the EMC 2 LT conversion tool\n'
+ print 'Input takes a list of files in EMC .prm format to be read.'
+ print 'Additional styles (bond, angle, etc) can be modified via the',\
+ 'command line. Any valid LAMMPS style can be used.\n'
+ print 'Styles include:'
+ print '--pair-style='
+ print '--bond-style='
+ print '--angle-style='
+ print '--dihedral-style='
+ print '--improper-style=\n'
+ print 'Default styles are lj/cut/coul/long, harmonic, harmonic, harmonic,',\
+ 'harmonic \n'
+ print 'Other commands:'
+ print '--name= provides basename for output file if desired\n'
+ print '--units flag for manual units (no parameter needed)\n'
+ print 'Usage example:'
+ print 'emcprm2lt.py file1 file2 --bond-style=harmonic --angle-style=harmonic'
+ print ''
+
+def Abort():
+ print 'Aborting...'
+ sys.exit()
+
+def WriteInit():
+# Write generic LAMMPS settings, likely need additional on a per-ff basis
+ foutput.write(' write_once("In Init") {\n')
+ foutput.write(' # Warning: This is a very generic "In Init" section, further\n')
+ foutput.write(' # modification prior to any simulation is extremely likely\n')
+ foutput.write(' units real\n')
+ foutput.write(' atom_style full\n')
+ foutput.write(' bond_style hybrid %s\n' % bstyle)
+ if angle_flag:
+ foutput.write(' angle_style hybrid %s\n' % astyle)
+ if torsion_flag:
+ foutput.write(' dihedral_style hybrid %s\n' % dstyle)
+ if improp_flag:
+ foutput.write(' improper_style hybrid %s\n' % istyle)
+ foutput.write(' pair_style hybrid %s %f %f\n' % (pstyle,
+ float(inner[0])*lconv, float(cutoff[0])*lconv))
+ if pair14[0] == 'OFF':
+ foutput.write(' special_bonds lj/coul 0.0 0.0 0.0\n')
+ else:
+ print 'Warning: special_bonds needed, add to "In Init" section\n'
+ foutput.write(' } # end init\n')
+
+def Units(length_flag, energy_flag, density_flag):
+# Check flags for all units, determine what conversions are needed, hard-coded for LAMMPS 'real'
+ print 'Attempting to auto-convert units... This should always be double-checked',\
+ ' especially for unique potential styles'
+ global lconv; global econv; global dconv
+ if length_flag:
+ print 'Warning: length scale does not match LAMMPS real units, attempting conversion to angstroms'
+ if length[0] == 'NANOMETER':
+ lconv = 10.0
+ print ' nanometer -> angstrom'
+ elif length[0] == 'MICROMETER':
+ lconv = 10000.0
+ print ' micrometer -> angstrom'
+ elif length[0] == 'METER':
+ lconv = 10000000000.0
+ print ' meter -> angstrom'
+ else:
+ print 'Length units NOT converted'
+ if energy_flag:
+ print 'Warning: energy units do not match LAMMPS real units, attempting conversion to kcal/mol'
+ if energy[0] == 'KJ/MOL':
+ econv = 0.239006
+ print ' kj/mol -> kcal/mol'
+ elif energy[0] == 'J/MOL':
+ econv = 0.000239006
+ print ' j/mol -> kcal/mol'
+ elif energy[0] == 'CAL/MOL':
+ econv = 0.001
+ print ' cal/mol -> kcal/mol'
+ else:
+ print 'Energy units NOT converted'
+ if density_flag:
+ print 'Warning: density units do not match LAMMPS real units, attempting conversion to gram/cm^3'
+ if density[0] == 'KG/M^3':
+ dconv = 0.001
+ print ' kg/m^3 -> g/cm^3'
+ else:
+ print 'Density units NOT converted'
+ return lconv, econv, dconv
+
+def ChkPotential(manual_flag, angle_flag, torsion_flag, improp_flag):
+# Check type of potential, determine type of unit conversion is necessary
+ global beconv
+ if angle_flag:
+ global aeconv
+ if torsion_flag:
+ global deconv
+ if improp_flag:
+ global ieconv
+ if manual_flag == False:
+ # Chk bond potential
+ if bstyle == '' or bstyle == 'harmonic':
+ beconv = econv / (2*pow(lconv,2))
+ else:
+ print 'Cannot find bond potential type, use manual units'
+ Abort()
+ if angle_flag:
+ if astyle == '' or astyle == 'harmonic':
+ aeconv = econv
+ elif astyle == 'cosine/squared':
+ aeconv = econv / 2
+ else:
+ print 'Cannot find angle potential type, use manual units'
+ Abort()
+ # torsion and improper not implemented fully
+ elif torsion_flag:
+ if dstyle == '' or dstyle == 'harmonic':
+ deconv = econv
+ else:
+ print 'Cannot find torsion potential type, use manual units'
+ Abort()
+ elif improp_flag:
+ if istyle == '' or istyle == 'harmonic':
+ ieconv = econv
+ else:
+ print 'Cannot find improper potential type, use manual units'
+ Abort()
+ else:
+ # Modify as needed
+ print 'Warning: Manual units used, set potential conversion units in script'
+ beconv = 1
+ if angle_flag:
+ aeconv = 1
+ if torsion_flag:
+ deconv = 1
+ if improp_flag:
+ ieconv = 1
+
+
+### Parse input ###
+if len(sys.argv) == 1:
+ helpme()
+ sys.exit()
+manual_units = False # Turned on via command line
+args = list(sys.argv[1:])
+myopts, args = getopt.gnu_getopt(args, 'fh', ['pair-style=', 'bond-style=', 'angle-style=',
+ 'dihedral-style=', 'improper-style=', 'name=', 'units'])
+filenames = list(args)
+pstyle = ''; bstyle = ''; astyle = ''; dstyle = ''; istyle = ''
+name = ''
+for opt, arg in myopts:
+ if opt in ('-f'):
+ filenames = arg
+ elif opt in ('--pair-style'):
+ pstyle = arg
+ elif opt in ('--bond-style'):
+ bstyle = arg
+ elif opt in ('--angle-style'):
+ astyle = arg
+ elif opt in ('--dihedral-style'):
+ dstyle = arg
+ elif opt in ('--improper-style'):
+ istyle = arg
+ elif opt in ('--name'):
+ name = arg
+ elif opt in ('--units'):
+ manual_units = True
+ print 'Manual units enabled, modify python script accordingly'
+ elif opt in ('-h', '--help'):
+ helpme()
+ sys.exit()
+
+### Check input filenames, make sure they exist ###
+print 'Converting: '
+for i in range(len(filenames)):
+ if os.path.isfile(filenames[i]):
+ print '', filenames[i]
+ else:
+ print 'invalid filename:', filenames[i]
+ Abort()
+print 'from EMC .prm to moltemplate .lt format\n'
+
+### Open all files ###
+f = [open(fname, 'r') for fname in filenames]
+
+### All these settings from DEFINE should be list of fixed size ###
+ffname = [[] for i in range(len(f))]
+fftype = [[] for i in range(len(f))]
+version = [[] for i in range(len(f))]
+created1 = [[] for i in range(len(f))]
+created2 = [[] for i in range(len(f))]
+length = [[] for i in range(len(f))]
+energy = [[] for i in range(len(f))]
+density = [[] for i in range(len(f))]
+mix = [[] for i in range(len(f))]
+nbonded = [[] for i in range(len(f))]
+inner = [[] for i in range(len(f))]
+cutoff = [[] for i in range(len(f))]
+pair14 = [[] for i in range(len(f))]
+angle_def = [[] for i in range(len(f))]
+torsion_def = [[] for i in range(len(f))]
+improp_def = [[] for i in range(len(f))] # not all prm have this
+
+### Parse DEFINE section, save info for each file ###
+for i in range(len(f)):
+ grab = False
+ for line in f[i]:
+ if line.strip() == 'ITEM DEFINE':
+ grab = True
+ elif line.strip() == 'ITEM END':
+ grab = False
+ elif grab:
+ if line.startswith('FFNAME'):
+ ffname[i] = line.split()[1].strip()
+ if line.startswith('FFTYPE'):
+ fftype[i] = line.split()[1].strip()
+ if line.startswith('VERSION'):
+ version[i] = line.split()[1].strip()
+ if line.startswith('CREATED'):
+ created1[i] = line.split()[1].strip()
+ created2[i] = line.split()[2].strip()
+ if line.startswith('LENGTH'):
+ length[i] = line.split()[1].strip()
+ if line.startswith('ENERGY'):
+ energy[i] = line.split()[1].strip()
+ if line.startswith('DENSITY'):
+ density[i] = line.split()[1].strip()
+ if line.startswith('MIX'):
+ mix[i] = line.split()[1].strip()
+ if line.startswith('NBONDED'):
+ nbonded[i] = line.split()[1].strip()
+ if line.startswith('INNER'):
+ inner[i] = line.split()[1].strip()
+ if line.startswith('CUTOFF'):
+ cutoff[i] = line.split()[1].strip()
+ if line.startswith('PAIR14'):
+ pair14[i] = line.split()[1].strip()
+ if line.startswith('ANGLE'):
+ angle_def[i] = line.split()[1].strip()
+ if line.startswith('TORSION'):
+ torsion_def[i] = line.split()[1].strip()
+ if line.startswith('IMPROP'):
+ improp_def[i] = line.split()[1].strip()
+
+### Sanity Checks ###
+for i in range(len(f)):
+ for j in range(len(f)):
+ if ffname[j] != ffname[i]:
+ print 'force field files do not match'
+ Abort()
+ if length[j] != length[i]:
+ print 'units not identical between files'
+ Abort()
+ if energy[j] != energy[i]:
+ print 'units not identical between files'
+ Abort()
+ if density[j] != density[i]:
+ print 'units not identical between files'
+ Abort()
+ if inner[j] != inner[i]:
+ print 'inner cutoff not identical between files'
+ Abort()
+ if cutoff[j] != cutoff[i]:
+ print 'cutoff not identical between files'
+ Abort()
+ if pair14[j] != pair14[i]:
+ print '1-4 pair interaction not consistent between files'
+ Abort()
+
+### Check if sections exist in PRM file ###
+angle_flag = False; torsion_flag = False; improp_flag = False
+for i in range(len(f)):
+ if angle_def[i] == 'WARN':
+ angle_flag = True
+ if torsion_def[i] == 'WARN':
+ torsion_flag = True
+ if improp_def[i] == 'WARN':
+ improp_flag = True
+
+### Check which units to use, trip convert flags ###
+length_flag = False; energy_flag = False; density_flag = False
+if length[0] != 'ANGSTROM':
+ length_flag = True
+if energy[0] != 'KCAL/MOL':
+ energy_flag = True
+if density[0] != 'G/CC':
+ density_flag = True
+if manual_units == True:
+ length_flag = False
+ energy_flag = False
+ density_flag = False
+Units(length_flag, energy_flag, density_flag)
+
+### Read Whole File, save to lists ###
+# Non-crucial sections include
+# BONDS, ANGLE, TORSION, IMPROP, NONBOND
+# Read all sections every time, only output sections when flags tripped
+f = [open(fname, 'r') for fname in filenames]
+masses = []; nonbond = []; bond = []; angle = []; torsion = []; improp = []
+equiv = []
+for i in range(len(f)):
+ MASS = False
+ NONBOND = False
+ BOND = False
+ ANGLE = False
+ TORSION = False
+ IMPROP = False
+ EQUIV = False
+ for line in f[i]:
+ if line.strip() == 'ITEM MASS':
+ MASS = True
+ elif line.strip() == 'ITEM END':
+ MASS = False
+ elif MASS:
+ if not line.startswith('#'):
+ if not line.startswith('\n'):
+ masses.append(line.strip().split())
+ if line.strip() == 'ITEM NONBOND':
+ NONBOND = True
+ elif line.strip() == 'ITEM END':
+ NONBOND = False
+ elif NONBOND:
+ if not line.startswith('#'):
+ if not line.startswith('\n'):
+ nonbond.append(line.strip().split())
+ if line.strip() == 'ITEM BOND':
+ BOND = True
+ elif line.strip() == 'ITEM END':
+ BOND = False
+ elif BOND:
+ if not line.startswith('#'):
+ if not line.startswith('\n'):
+ bond.append(line.strip().split())
+ if line.strip() == 'ITEM ANGLE':
+ ANGLE = True
+ elif line.strip() == 'ITEM END':
+ ANGLE = False
+ elif ANGLE:
+ if not line.startswith('#'):
+ if not line.startswith('\n'):
+ angle.append(line.strip().split())
+ if line.strip() == 'ITEM TORSION':
+ TORSION = True
+ elif line.strip() == 'ITEM END':
+ TORSION = False
+ elif TORSION:
+ if not line.startswith('#'):
+ if not line.startswith('\n'):
+ torsion.append(line.strip().split())
+ if line.strip() == 'ITEM IMPROP':
+ IMPROP = True
+ elif line.strip() == 'ITEM END':
+ IMPROP = False
+ elif IMPROP:
+ if not line.startswith('#'):
+ if not line.startswith('\n'):
+ improp.append(line.strip().split())
+ if line.strip() == 'ITEM EQUIVALENCE':
+ EQUIV = True
+ elif line.strip() == 'ITEM END':
+ EQUIV = False
+ elif EQUIV:
+ if not line.startswith('#'):
+ if not line.startswith('\n'):
+ equiv.append(line.strip().split())
+### Close prm files ###
+for fname in f:
+ fname.close()
+
+### Sanity checks before writing LT files ###
+# Check Equiv
+for i in range(len(equiv)):
+ for j in range(len(equiv)):
+ if (equiv[i][0] == equiv[j][0]) and (equiv[i] != equiv[j]):
+ print 'Error: Identical atom types with different equivalences'
+ Abort()
+# Check Masses
+for i in range(len(masses)):
+ for j in range(len(masses)):
+ if (masses[i][0] == masses[j][0]) and (masses[i][1] != masses[j][1]):
+ print 'Error: Identical types with different mass'
+ Abort()
+# Check Nonbond
+for i in range(len(nonbond)):
+ for j in range(len(nonbond)):
+ if (nonbond[i][0] == nonbond[j][0]) and (nonbond[i][1] == nonbond[j][1]) and ((nonbond[i][2] != nonbond[j][2]) or (nonbond[i][3] != nonbond[j][3])):
+ print 'Error: Identical types with different pair-interactions'
+ Abort()
+
+### Remove double equivalences ###
+for i in range(len(equiv)):
+ once = True
+ for j in range(len(equiv)):
+ if (equiv[i][0] == equiv[j][0]) and once:
+ once = False
+ elif (equiv[i][0] == equiv[j][0]):
+ equiv[j][1] = None
+ equiv[j][2] = 'duplicate'
+ if len(equiv[i]) != 6:
+ print 'Warning: Incorrect equivalence formatting for type %s' % equiv[i][0],\
+ 'skipping type, topology may not be complete'
+ equiv[i][1] = None
+ equiv[i][2] = 'invalid_format'
+
+### Check Potential Styles and Set Units ###
+ChkPotential(manual_units, angle_flag, torsion_flag, improp_flag)
+
+### Set output LT file ###
+fname = 'ff_output.lt'
+if name == '':
+ fname = ffname[0] + '.lt'
+else:
+ fname = name + '.lt'
+foutput = open(fname, 'w')
+
+### Output to LT format ###
+foutput.write('# Autogenerated by EMC 2 LT tool v%s on %s\n' % (__version__, str(datetime.date.today())))
+foutput.write('#\n# ')
+for i in range(len(sys.argv)):
+ foutput.write('%s ' % sys.argv[i])
+foutput.write('\n')
+foutput.write('#\n')
+foutput.write('# Adapted from EMC by Pieter J. in \'t Veld\n')
+foutput.write('# Originally written as, FFNAME:%s STYLE:%s VERSION:%s on %s %s\n' %
+ (ffname[0], fftype[0], version[0], created1[0], created2[0]))
+foutput.write('\n')
+foutput.write('%s {\n' % ffname[0])
+
+# Charges not necessary? emc file assign charges in smiles, which would
+# be in the per-molecule files created by moltemplate user... not here
+
+### Mass Info ###
+foutput.write(' write_once("Data Masses") {\n')
+for i in range(len(masses)):
+ if equiv[i][1] != None:
+ foutput.write(' @atom:%s %f # %s\n' %
+ (masses[i][0], float(masses[i][1]), masses[i][0]))
+foutput.write(' } # end of atom masses\n\n')
+
+### Equiv Info ###
+# Write Equivalence
+foutput.write(' # ----- EQUIVALENCE CATEGORIES for bonded interaction lookup -----\n')
+for i in range(len(equiv)):
+ if equiv[i][1] != None:
+ foutput.write(' replace{ @atom:%s @atom:%s_b%s_a%s_d%s_i%s}\n' %
+ (equiv[i][0], equiv[i][0], equiv[i][2], equiv[i][3], equiv[i][4], equiv[i][5]))
+foutput.write(' # END EQUIVALENCE\n\n')
+
+### Nonbonded Info ###
+if pstyle == '':
+ print 'Warning: no non-bonded potential provided, assuming lj/cut/coul/long'
+ pstyle = 'lj/cut/coul/long'
+foutput.write(' write_once("In Settings") {\n')
+foutput.write(' # ----- Non-Bonded interactions -----\n')
+# Add new types from equivalence
+for i in range(len(equiv)):
+ once = True
+ for j in range(len(nonbond)):
+ # Get terms for new types
+ if (equiv[i][0] != equiv[i][1]) and (equiv[i][1] == nonbond[j][0]):
+ if not equiv[i][1] == nonbond[j][1]:
+ line = '%s %s %s %s' % (equiv[i][0], nonbond[j][1], nonbond[j][2], nonbond[j][3])
+ nonbond.append(line.split())
+ if once:
+ once = False
+ line = '%s %s %s %s' % (equiv[i][0], equiv[i][0], nonbond[j][2], nonbond[j][3])
+ nonbond.append(line.split())
+ if (equiv[i][0] != equiv[i][1]) and (equiv[i][1] == nonbond[j][1]):
+ line = '%s %s %s %s' % (equiv[i][0], nonbond[j][0], nonbond[j][2], nonbond[j][3])
+ if line.split() != nonbond[-1]:
+ nonbond.append(line.split())
+for i in range(len(nonbond)):
+ atom1name = None
+ atom2name = None
+ # Cross Terms + Diagonal, normal
+ for j in range(len(equiv)):
+ if nonbond[i][0] == equiv[j][0]:
+ atom1name = '%s_b%s_a%s_d%s_i%s' % (nonbond[i][0], equiv[j][2], equiv[j][3], equiv[j][4], equiv[j][5])
+ if nonbond[i][1] == equiv[j][0]:
+ atom2name = '%s_b%s_a%s_d%s_i%s' % (nonbond[i][1], equiv[j][2], equiv[j][3], equiv[j][4], equiv[j][5])
+ #foutput.write(' pair_coeff @atom:%s @atom:%s %s %f %f' %
+ # (nonbond[i][0], nonbond[i][1], pstyle, float(nonbond[i][2])*econv, float(nonbond[i][2])*lconv))
+ foutput.write(' pair_coeff @atom:%s @atom:%s %s %f %f' %
+ (atom1name, atom2name, pstyle, float(nonbond[i][3])*econv, float(nonbond[i][2])*lconv))
+ foutput.write(' # %s-%s\n' % (nonbond[i][0], nonbond[i][1]))
+foutput.write(' } # end of nonbonded parameters\n\n')
+
+### Bond Info ###
+if bstyle == '':
+ print 'Warning: no bond potential provided, assuming harmonic'
+ bstyle == 'harmonic'
+foutput.write(' write_once("In Settings") {\n')
+foutput.write(' # ----- Bonds -----\n')
+for i in range(len(bond)):
+ foutput.write(' bond_coeff @bond:%s-%s %s %f %f' %
+ (bond[i][0], bond[i][1], bstyle, float(bond[i][2])*beconv, float(bond[i][3])*lconv))
+ foutput.write(' # %s-%s\n' % (bond[i][0], bond[i][1]))
+foutput.write(' }\n\n')
+foutput.write(' write_once("Data Bonds By Type") {\n')
+for i in range(len(bond)):
+ foutput.write(' @bond:%s-%s @atom:*_b%s_a*_d*_i* @atom:*_b%s_a*_d*_i*\n' %
+ (bond[i][0], bond[i][1], bond[i][0], bond[i][1]))
+foutput.write(' } # end of bonds\n\n')
+
+### Angle Info ###
+if angle_flag:
+ if astyle == '':
+ print 'Warning: no angle potential provided, assuming harmonic'
+ astyle == 'harmonic'
+ foutput.write(' write_once("In Settings") {\n')
+ foutput.write(' # ----- Angles -----\n')
+ for i in range(len(angle)):
+ foutput.write(' angle_coeff @angle:%s-%s-%s %s %f %f' %
+ (angle[i][0], angle[i][1], angle[i][2], astyle, float(angle[i][3])*aeconv, float(angle[i][4])))
+ foutput.write(' # %s-%s-%s\n' % (angle[i][0], angle[i][1], angle[i][2]))
+ foutput.write(' }\n\n')
+ foutput.write(' write_once("Data Angles By Type") {\n')
+ for i in range(len(angle)):
+ foutput.write(' @angle:%s-%s-%s @atom:*_b*_a%s_d*_i* @atom:*_b*_a%s_d*_i* @atom:*_b*_a%s_d*_i*\n' %
+ (angle[i][0], angle[i][1], angle[i][2], angle[i][0], angle[i][1], angle[i][2]))
+ foutput.write(' } # end of angles\n\n')
+
+### Torsion/Dihedral Info ###a
+# Incomplete
+if torsion_flag:
+ if dstyle == '':
+ print 'Warning: no dihedral/torsion potential provided, assuming harmonic'
+ dstyle == 'harmonic'
+ foutput.write(' write_once("In Settings") {\n')
+ foutput.write(' # ----- Dihedrals -----\n')
+ for i in range(len(torsion)):
+ foutput.write(' dihedral_coeff @dihedral:%s-%s-%s-%s %s %f %f %f %f\n' %
+ (torsion[i][0], torsion[i][1], torsion[i][2], torsion[i][3], dstyle, float(torsion[i][4])*deconv, float(torsion[i][5]), float(torsion[i][6])))
+ foutput.write(' }\n\n')
+ foutput.write(' write_once("Data Dihedrals By Type") {\n')
+ for i in range(len(torsion)):
+ foutput.write(' @dihedral:%s-%s-%s-%s @atom:*_b*_a*_d%s_i* @atom:*_b*_a*_d%s_i* @atom:*_b*_a*_d%s_i* @atom:*_b*_a*_d%s_i*' %
+ (torsion[i][0], torsion[i][1], torsion[i][2], torsion[i][3], torsion[i][0], torsion[i][1], torsion[i][2], torsion[i][3]))
+ foutput.write(' } # end of dihedrals\n\n')
+
+### Improper Info ###
+# Incomplete
+ieconv = econv # improper coeff conversion
+if improp_flag:
+ if istyle == '':
+ print 'Warning: no improper potential provided, assuming harmonic'
+ istyle == 'harmonic'
+ foutput.write(' write_once("In Settings") {\n')
+ foutput.write(' # ----- Impropers -----\n')
+ # As discussed, a check for convention of impropers is probably needed here
+ for i in range(len(improp)):
+ foutput.write(' improper_coeff @improper:%s-%s-%s-%s %s %f %f\n' %
+ (improp[i][0], improp[i][1], improp[i][2], improp[i][3], istyle,
+ float(improp[i][4]), float(improp[i][5])))
+ foutput.write(' }\n\n')
+ foutput.write(' write_once("Data Impropers By Type") {\n')
+ for i in range(len(improp)):
+ foutput.write(' @improper:%s-%s-%s-%s @atom:*_b*_a*_d*_i%s @atom:*_b*_a*_d*_i%s @atom:*_b*_a*_d*_i%s @atom:*_b*_a*_d*_i%s' %
+ (improp[i][0], improp[i][1], improp[i][2], improp[i][3], improp[i][0], improp[i][1], improp[i][2], improp[i][3]))
+ foutput.write(' } # end of impropers\n\n')
+
+### Initialization Info ###
+print 'Warning: Attempting to write generic "In Init" section,',\
+ 'further modification after this script is extremely likely'
+WriteInit()
+
+foutput.write('} # %s\n' % ffname[0])
+sys.exit()
diff --git a/tools/moltemplate/moltemplate/force_fields/martini/lipids.prm b/tools/moltemplate/moltemplate/force_fields/martini/lipids.prm
new file mode 100644
index 000000000..1139c421d
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/martini/lipids.prm
@@ -0,0 +1,160 @@
+#
+# Martini interaction parameters using martini.30640.tmp
+# converted by martini.pl v1.2, February 10, 2014 by Pieter J. in 't Veld
+# to be used in conjuction with EMC v9.3.7 or higher
+#
+
+# Force field definition
+
+ITEM DEFINE
+
+FFNAME MARTINI
+FFTYPE COARSE
+VERSION 2011
+CREATED Feb 2014
+LENGTH NANOMETER
+ENERGY KJ/MOL
+DENSITY G/CC
+MIX NONE
+NBONDED 1
+INNER 0.9
+CUTOFF 1.2
+PAIR14 OFF
+ANGLE WARN
+TORSION IGNORE
+
+ITEM END
+
+# Masses
+
+ITEM MASS
+
+# type mass element ncons charge comment
+
+C41 72 C4 2 0 apolar
+C42 72 C4 2 0 apolar
+Na1 72 Na 2 0 intermediate
+Na2 72 Na 2 0 intermediate
+Qa1 72 Qa 2 0 charged
+Qa2 72 Qa 2 0 charged
+
+ITEM END
+
+# Typing equivalences
+
+ITEM EQUIVALENCE
+
+# type pair bond angle torsion improper
+
+C41 C4 C4 C41 C41 C41
+C42 C4 C4 C42 C42 C42
+Na1 Na Na1 Na1 Na1 Na1
+Na2 Na Na2 Na2 Na2 Na2
+Qa1 Qa Qa1 Qa1 Qa1 Qa1
+Qa2 Qa Qa2 Qa2 Qa2 Qa2
+
+ITEM END
+
+# Bond parameters
+
+ITEM BOND
+
+# type1 type2 k l0
+
+C1 C1 1250 0.47
+C1 C3 1250 0.47
+C1 C4 1250 0.47
+C1 Na 1250 0.47
+C1 Na1 1250 0.47
+C1 Na2 1250 0.47
+C1 P5 1250 0.47
+C2 C4 1250 0.47
+C3 P1 1250 0.47
+C4 C4 1250 0.47
+C4 Na 1250 0.47
+Na Na 1250 0.37
+Na Na1 1250 0.37
+Na Na2 1250 0.37
+Na Qa 1250 0.47
+Na Qa1 1250 0.37
+Na Qa2 1250 0.37
+Na1 Qa 1250 0.37
+Na2 Qa 1250 0.37
+P1 P5 1250 0.37
+P4 Qa 1250 0.37
+P5 Qa 1250 0.47
+P5 Qa1 1250 0.37
+P5 Qa2 1250 0.37
+Q0 Qa 1250 0.47
+Qa Qd 1250 0.47
+
+ITEM END
+
+# Angle parameters
+
+ITEM ANGLE
+
+# type1 type2 type3 k theta0
+
+C1 C1 C1 25 180
+C1 C1 C3 25 180
+C1 C1 Na 25 180
+C1 C1 Na1 25 180
+C1 C1 Na2 25 180
+C1 C1 P5 25 180
+C1 C3 C1 45 120
+C1 C3 P1 45 180
+C1 C4 C41 45 120
+C1 C4 C42 45 120
+C1 C41 C4 10 100
+C1 C42 C4 10 100
+C1 Na Qa 25 180
+C1 Na Qa1 25 180
+C1 Na Qa2 25 180
+C1 Na1 Qa 25 180
+C1 Na2 Qa 25 180
+C1 P5 Qa 25 180
+C2 C4 C4 45 120
+C4 C4 C4 10 100
+C4 C4 Na 10 100
+C4 Na Qa 25 180
+C41 C1 Na 25 180
+C42 C1 Na 25 180
+Na Na Qa 25 120
+Na Na Qa1 25 120
+Na Na Qa2 25 120
+Na Na1 Qa 25 120
+Na Na2 Qa 25 120
+P1 P5 Qa 25 120
+
+ITEM END
+
+# Templates
+
+ITEM TEMPLATES
+
+# name smiles
+
+BOLA [Q0+1][Qa-1][Na][Na][C1][C1][C1][C1][C1][C1][C1][C1][Na][Na]([Qa-1][Q0+1])[C1][C1][C1][C1][C1][C1][C1][C1]
+BOLB [Q0+1][Qa-1][Na]([Na][C1][C1][C1][C1])[C1][C1][C1][C1][C1][C1][C1][C1][Na]([Qa-1][Q0+1])[Na][C1][C1][C1][C1]
+DAPC [Q0+1][Qa-1][Na]([Na][C4][C4][C4][C4][C2])[C4][C4][C4][C4][C2]
+DHPC [Q0+1][Qa-1][Na]([Na][C1][C1])[C1][C1]
+DHPE [Qd+1][Qa-1][Na]([Na][C1][C1])[C1][C1]
+DLPC [Q0+1][Qa-1][Na]([Na][C1][C1][C1])[C1][C1][C1]
+DLPE [Qd+1][Qa-1][Na]([Na][C1][C1][C1])[C1][C1][C1]
+DOPC [Q0+1][Qa-1][Na]([Na][C1][C1][C3][C1][C1])[C1][C1][C3][C1][C1]
+DOPE [Qd+1][Qa-1][Na]([Na][C1][C1][C3][C1][C1])[C1][C1][C3][C1][C1]
+DOPG [P4][Qa-1][Na1]([Na][C1][C1][C3][C1][C1])[C1][C1][C3][C1][C1]
+DOPS [P5][Qa1-1][Na]([Na][C1][C1][C3][C1][C1])[C1][C1][C3][C1][C1]
+DPPC [Q0+1][Qa-1][Na]([Na][C1][C1][C1][C1])[C1][C1][C1][C1]
+DPPE [Qd+1][Qa-1][Na]([Na][C1][C1][C1][C1])[C1][C1][C1][C1]
+DSPC [Q0+1][Qa-1][Na]([Na][C1][C1][C1][C1][C1])[C1][C1][C1][C1][C1]
+DSPE [Qd+1][Qa-1][Na]([Na][C1][C1][C1][C1][C1])[C1][C1][C1][C1][C1]
+DUPC [Q0+1][Qa-1][Na]([Na][C1][C42][C4][C1])[C1][C41][C4][C1]
+POPC [Q0+1][Qa-1][Na]([Na][C1][C1][C1][C1])[C1][C1][C3][C1][C1]
+POPE [Qd+1][Qa-1][Na]([Na][C1][C1][C1][C1])[C1][C1][C3][C1][C1]
+POPG [P4][Qa-1][Na2]([Na][C1][C1][C1][C1])[C1][C1][C3][C1][C1]
+POPS [P5][Qa2-1][Na]([Na][C1][C1][C1][C1])[C1][C1][C3][C1][C1]
+PPCS [Q0+1][Qa-1][P5]([P1][C3][C1][C1][C1])[C1][C1][C1][C1]
+
+ITEM END
diff --git a/tools/moltemplate/moltemplate/force_fields/martini/martini.prm b/tools/moltemplate/moltemplate/force_fields/martini/martini.prm
new file mode 100644
index 000000000..dc2c18676
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/martini/martini.prm
@@ -0,0 +1,852 @@
+#
+# Martini interaction parameters using martini.30642.tmp
+# converted by martini.pl v1.2, February 10, 2014 by Pieter J. in 't Veld
+# to be used in conjuction with EMC v9.3.7 or higher
+#
+
+# Force field definition
+
+ITEM DEFINE
+
+FFNAME MARTINI
+FFTYPE COARSE
+VERSION V2.0
+CREATED Feb 2014
+LENGTH NANOMETER
+ENERGY KJ/MOL
+DENSITY G/CC
+MIX NONE
+NBONDED 1
+INNER 0.9
+CUTOFF 1.2
+PAIR14 OFF
+ANGLE IGNORE
+TORSION IGNORE
+IMPROP IGNORE
+
+ITEM END
+
+# Masses
+
+ITEM MASS
+
+# type mass element ncons charge comment
+
+BP4 72.0 BP4 2 0.000 big particle
+C1 72.0 C1 2 0.000 apolar
+C2 72.0 C2 2 0.000 apolar
+C3 72.0 C3 2 0.000 apolar
+C4 72.0 C4 2 0.000 apolar
+C5 72.0 C5 2 0.000 apolar
+N0 72.0 N0 2 0.000 intermediate
+Na 72.0 Na 2 0.000 intermediate
+Nd 72.0 Nd 2 0.000 intermediate
+Nda 72.0 Nda 2 0.000 intermediate
+P1 72.0 P1 2 0.000 polar
+P2 72.0 P2 2 0.000 polar
+P3 72.0 P3 2 0.000 polar
+P4 72.0 P4 2 0.000 polar
+P5 72.0 P5 2 0.000 polar
+Q0 72.0 Q0 2 0.000 charged
+Qa 72.0 Qa 2 0.000 charged
+Qd 72.0 Qd 2 0.000 charged
+Qda 72.0 Qda 2 0.000 charged
+SC1 54.0 SC1 2 0.000 ring apolar
+SC2 54.0 SC2 2 0.000 ring apolar
+SC3 54.0 SC3 2 0.000 ring apolar
+SC4 54.0 SC4 2 0.000 ring apolar
+SC5 54.0 SC5 2 0.000 ring apolar
+SN0 54.0 SN0 2 0.000 ring intermediate
+SNa 54.0 SNa 2 0.000 ring intermediate
+SNd 54.0 SNd 2 0.000 ring intermediate
+SNda 54.0 SNda 2 0.000 ring intermediate
+SP1 54.0 SP1 2 0.000 ring polar
+SP2 54.0 SP2 2 0.000 ring polar
+SP3 54.0 SP3 2 0.000 ring polar
+SP4 54.0 SP4 2 0.000 ring polar
+SP5 54.0 SP5 2 0.000 ring polar
+SQ0 54.0 SQ0 2 0.000 ring charged
+SQa 54.0 SQa 2 0.000 ring charged
+SQd 54.0 SQd 2 0.000 ring charged
+SQda 54.0 SQda 2 0.000 ring charged
+
+ITEM END
+
+# Typing equivalences
+
+ITEM EQUIVALENCE
+
+# type pair bond angle torsion improper
+
+BP4 BP4 BP4 BP4 BP4 BP4
+C1 C1 C1 C1 C1 C1
+C2 C2 C2 C2 C2 C2
+C3 C3 C3 C3 C3 C3
+C4 C4 C4 C4 C4 C4
+C5 C5 C5 C5 C5 C5
+N0 N0 N0 N0 N0 N0
+Na Na Na Na Na Na
+Nd Nd Nd Nd Nd Nd
+Nda Nda Nda Nda Nda Nda
+P1 P1 P1 P1 P1 P1
+P2 P2 P2 P2 P2 P2
+P3 P3 P3 P3 P3 P3
+P4 P4 P4 P4 P4 P4
+P5 P5 P5 P5 P5 P5
+Q0 Q0 Q0 Q0 Q0 Q0
+Qa Qa Qa Qa Qa Qa
+Qd Qd Qd Qd Qd Qd
+Qda Qda Qda Qda Qda Qda
+SC1 SC1 SC1 SC1 SC1 SC1
+SC2 SC2 SC2 SC2 SC2 SC2
+SC3 SC3 SC3 SC3 SC3 SC3
+SC4 SC4 SC4 SC4 SC4 SC4
+SC5 SC5 SC5 SC5 SC5 SC5
+SN0 SN0 SN0 SN0 SN0 SN0
+SNa SNa SNa SNa SNa SNa
+SNd SNd SNd SNd SNd SNd
+SNda SNda SNda SNda SNda SNda
+SP1 SP1 SP1 SP1 SP1 SP1
+SP2 SP2 SP2 SP2 SP2 SP2
+SP3 SP3 SP3 SP3 SP3 SP3
+SP4 SP4 SP4 SP4 SP4 SP4
+SP5 SP5 SP5 SP5 SP5 SP5
+SQ0 SQ0 SQ0 SQ0 SQ0 SQ0
+SQa SQa SQa SQa SQa SQa
+SQd SQd SQd SQd SQd SQd
+SQda SQda SQda SQda SQda SQda
+
+ITEM END
+
+# Nonbonded parameters
+
+ITEM NONBOND
+
+# type1 type2 sigma epsilon
+
+BP4 BP4 0.47 5
+BP4 C1 0.47 2
+BP4 C2 0.47 2.3
+BP4 C3 0.47 2.7
+BP4 C4 0.47 2.7
+BP4 C5 0.47 3.1
+BP4 N0 0.47 3.5
+BP4 Na 0.47 4
+BP4 Nd 0.47 4
+BP4 Nda 0.47 4
+BP4 P1 0.47 4.5
+BP4 P2 0.47 4.5
+BP4 P3 0.47 5
+BP4 P4 0.57 5.6
+BP4 P5 0.47 5.6
+BP4 Q0 0.47 5.6
+BP4 Qa 0.47 5.6
+BP4 Qd 0.47 5.6
+BP4 Qda 0.47 5.6
+BP4 SC1 0.47 2
+BP4 SC2 0.47 2.3
+BP4 SC3 0.47 2.7
+BP4 SC4 0.47 2.7
+BP4 SC5 0.47 3.1
+BP4 SN0 0.47 3.5
+BP4 SNa 0.47 4
+BP4 SNd 0.47 4
+BP4 SNda 0.47 4
+BP4 SP1 0.47 4.5
+BP4 SP2 0.47 4.5
+BP4 SP3 0.47 5
+BP4 SP4 0.47 5
+BP4 SP5 0.47 5.6
+BP4 SQ0 0.47 5.6
+BP4 SQa 0.47 5.6
+BP4 SQd 0.47 5.6
+BP4 SQda 0.47 5.6
+C1 C1 0.47 3.5
+C1 C2 0.47 3.5
+C1 C3 0.47 3.5
+C1 C4 0.47 3.1
+C1 C5 0.47 3.1
+C1 N0 0.47 2.7
+C1 Na 0.47 2.7
+C1 Nd 0.47 2.7
+C1 Nda 0.47 2.7
+C1 P1 0.47 2.7
+C1 P2 0.47 2.3
+C1 P3 0.47 2.3
+C1 P4 0.47 2
+C1 P5 0.47 2
+C1 Q0 0.62 2
+C1 Qa 0.62 2
+C1 Qd 0.62 2
+C1 Qda 0.62 2
+C1 SC1 0.47 3.5
+C1 SC2 0.47 3.5
+C1 SC3 0.47 3.5
+C1 SC4 0.47 3.1
+C1 SC5 0.47 3.1
+C1 SN0 0.47 2.7
+C1 SNa 0.47 2.7
+C1 SNd 0.47 2.7
+C1 SNda 0.47 2.7
+C1 SP1 0.47 2.7
+C1 SP2 0.47 2.3
+C1 SP3 0.47 2.3
+C1 SP4 0.47 2
+C1 SP5 0.47 2
+C1 SQ0 0.62 2
+C1 SQa 0.62 2
+C1 SQd 0.62 2
+C1 SQda 0.62 2
+C2 C2 0.47 3.5
+C2 C3 0.47 3.5
+C2 C4 0.47 3.1
+C2 C5 0.47 3.1
+C2 N0 0.47 3.1
+C2 Na 0.47 2.7
+C2 Nd 0.47 2.7
+C2 Nda 0.47 2.7
+C2 P1 0.47 3.1
+C2 P2 0.47 2.7
+C2 P3 0.47 2.7
+C2 P4 0.47 2.3
+C2 P5 0.47 2.3
+C2 Q0 0.62 2
+C2 Qa 0.62 2
+C2 Qd 0.62 2
+C2 Qda 0.62 2
+C2 SC1 0.47 3.5
+C2 SC2 0.47 3.5
+C2 SC3 0.47 3.5
+C2 SC4 0.47 3.1
+C2 SC5 0.47 3.1
+C2 SN0 0.47 3.1
+C2 SNa 0.47 2.7
+C2 SNd 0.47 2.7
+C2 SNda 0.47 2.7
+C2 SP1 0.47 3.1
+C2 SP2 0.47 2.7
+C2 SP3 0.47 2.7
+C2 SP4 0.47 2.3
+C2 SP5 0.47 2.3
+C2 SQ0 0.62 2
+C2 SQa 0.62 2
+C2 SQd 0.62 2
+C2 SQda 0.62 2
+C3 C3 0.47 3.5
+C3 C4 0.47 3.5
+C3 C5 0.47 3.5
+C3 N0 0.47 3.5
+C3 Na 0.47 2.7
+C3 Nd 0.47 2.7
+C3 Nda 0.47 2.7
+C3 P1 0.47 3.5
+C3 P2 0.47 3.1
+C3 P3 0.47 3.1
+C3 P4 0.47 2.7
+C3 P5 0.47 2.7
+C3 Q0 0.47 2.3
+C3 Qa 0.47 2.3
+C3 Qd 0.47 2.3
+C3 Qda 0.47 2.3
+C3 SC1 0.47 3.5
+C3 SC2 0.47 3.5
+C3 SC3 0.47 3.5
+C3 SC4 0.47 3.5
+C3 SC5 0.47 3.5
+C3 SN0 0.47 3.5
+C3 SNa 0.47 2.7
+C3 SNd 0.47 2.7
+C3 SNda 0.47 2.7
+C3 SP1 0.47 3.5
+C3 SP2 0.47 3.1
+C3 SP3 0.47 3.1
+C3 SP4 0.47 2.7
+C3 SP5 0.47 2.7
+C3 SQ0 0.47 2.3
+C3 SQa 0.47 2.3
+C3 SQd 0.47 2.3
+C3 SQda 0.47 2.3
+C4 C4 0.47 3.5
+C4 C5 0.47 3.5
+C4 N0 0.47 3.5
+C4 Na 0.47 3.1
+C4 Nd 0.47 3.1
+C4 Nda 0.47 3.1
+C4 P1 0.47 3.5
+C4 P2 0.47 3.5
+C4 P3 0.47 3.1
+C4 P4 0.47 2.7
+C4 P5 0.47 2.7
+C4 Q0 0.47 2.7
+C4 Qa 0.47 2.7
+C4 Qd 0.47 2.7
+C4 Qda 0.47 2.7
+C4 SC1 0.47 3.1
+C4 SC2 0.47 3.1
+C4 SC3 0.47 3.5
+C4 SC4 0.47 3.5
+C4 SC5 0.47 3.5
+C4 SN0 0.47 3.5
+C4 SNa 0.47 3.1
+C4 SNd 0.47 3.1
+C4 SNda 0.47 3.1
+C4 SP1 0.47 3.5
+C4 SP2 0.47 3.5
+C4 SP3 0.47 3.1
+C4 SP4 0.47 2.7
+C4 SP5 0.47 2.7
+C4 SQ0 0.47 2.7
+C4 SQa 0.47 2.7
+C4 SQd 0.47 2.7
+C4 SQda 0.47 2.7
+C5 C5 0.47 3.5
+C5 N0 0.47 3.5
+C5 Na 0.47 3.5
+C5 Nd 0.47 3.5
+C5 Nda 0.47 3.5
+C5 P1 0.47 3.5
+C5 P2 0.47 3.5
+C5 P3 0.47 3.5
+C5 P4 0.47 3.1
+C5 P5 0.47 3.1
+C5 Q0 0.47 3.1
+C5 Qa 0.47 3.1
+C5 Qd 0.47 3.1
+C5 Qda 0.47 3.1
+C5 SC1 0.47 3.1
+C5 SC2 0.47 3.1
+C5 SC3 0.47 3.5
+C5 SC4 0.47 3.5
+C5 SC5 0.47 3.5
+C5 SN0 0.47 3.5
+C5 SNa 0.47 3.5
+C5 SNd 0.47 3.5
+C5 SNda 0.47 3.5
+C5 SP1 0.47 3.5
+C5 SP2 0.47 3.5
+C5 SP3 0.47 3.5
+C5 SP4 0.47 3.1
+C5 SP5 0.47 3.1
+C5 SQ0 0.47 3.1
+C5 SQa 0.47 3.1
+C5 SQd 0.47 3.1
+C5 SQda 0.47 3.1
+N0 N0 0.47 3.5
+N0 Na 0.47 3.5
+N0 Nd 0.47 3.5
+N0 Nda 0.47 3.5
+N0 P1 0.47 4
+N0 P2 0.47 4
+N0 P3 0.47 3.5
+N0 P4 0.47 3.5
+N0 P5 0.47 3.5
+N0 Q0 0.47 3.5
+N0 Qa 0.47 3.5
+N0 Qd 0.47 3.5
+N0 Qda 0.47 3.5
+N0 SC1 0.47 2.7
+N0 SC2 0.47 3.1
+N0 SC3 0.47 3.5
+N0 SC4 0.47 3.5
+N0 SC5 0.47 3.5
+N0 SN0 0.47 3.5
+N0 SNa 0.47 3.5
+N0 SNd 0.47 3.5
+N0 SNda 0.47 3.5
+N0 SP1 0.47 4
+N0 SP2 0.47 4
+N0 SP3 0.47 3.5
+N0 SP4 0.47 3.5
+N0 SP5 0.47 3.5
+N0 SQ0 0.47 3.5
+N0 SQa 0.47 3.5
+N0 SQd 0.47 3.5
+N0 SQda 0.47 3.5
+Na Na 0.47 4
+Na Nd 0.47 4.5
+Na Nda 0.47 4.5
+Na P1 0.47 4.5
+Na P2 0.47 4.5
+Na P3 0.47 4.5
+Na P4 0.47 4
+Na P5 0.47 5
+Na Q0 0.47 4
+Na Qa 0.47 4
+Na Qd 0.47 5
+Na Qda 0.47 5
+Na SC1 0.47 2.7
+Na SC2 0.47 2.7
+Na SC3 0.47 2.7
+Na SC4 0.47 3.1
+Na SC5 0.47 3.5
+Na SN0 0.47 3.5
+Na SNa 0.47 4
+Na SNd 0.47 4.5
+Na SNda 0.47 4.5
+Na SP1 0.47 4.5
+Na SP2 0.47 4.5
+Na SP3 0.47 4.5
+Na SP4 0.47 4
+Na SP5 0.47 5
+Na SQ0 0.47 4
+Na SQa 0.47 4
+Na SQd 0.47 5
+Na SQda 0.47 5
+Nd Nd 0.47 4
+Nd Nda 0.47 4.5
+Nd P1 0.47 4.5
+Nd P2 0.47 4.5
+Nd P3 0.47 4.5
+Nd P4 0.47 4
+Nd P5 0.47 5
+Nd Q0 0.47 4
+Nd Qa 0.47 5
+Nd Qd 0.47 4
+Nd Qda 0.47 5
+Nd SC1 0.47 2.7
+Nd SC2 0.47 2.7
+Nd SC3 0.47 2.7
+Nd SC4 0.47 3.1
+Nd SC5 0.47 3.5
+Nd SN0 0.47 3.5
+Nd SNa 0.47 4.5
+Nd SNd 0.47 4
+Nd SNda 0.47 4.5
+Nd SP1 0.47 4.5
+Nd SP2 0.47 4.5
+Nd SP3 0.47 4.5
+Nd SP4 0.47 4
+Nd SP5 0.47 5
+Nd SQ0 0.47 4
+Nd SQa 0.47 5
+Nd SQd 0.47 4
+Nd SQda 0.47 5
+Nda Nda 0.47 4.5
+Nda P1 0.47 4.5
+Nda P2 0.47 4.5
+Nda P3 0.47 4.5
+Nda P4 0.47 4
+Nda P5 0.47 5
+Nda Q0 0.47 4
+Nda Qa 0.47 5
+Nda Qd 0.47 5
+Nda Qda 0.47 5
+Nda SC1 0.47 2.7
+Nda SC2 0.47 2.7
+Nda SC3 0.47 2.7
+Nda SC4 0.47 3.1
+Nda SC5 0.47 3.5
+Nda SN0 0.47 3.5
+Nda SNa 0.47 4.5
+Nda SNd 0.47 4.5
+Nda SNda 0.47 4.5
+Nda SP1 0.47 4.5
+Nda SP2 0.47 4.5
+Nda SP3 0.47 4.5
+Nda SP4 0.47 4
+Nda SP5 0.47 5
+Nda SQ0 0.47 4
+Nda SQa 0.47 5
+Nda SQd 0.47 5
+Nda SQda 0.47 5
+P1 P1 0.47 4.5
+P1 P2 0.47 4.5
+P1 P3 0.47 4.5
+P1 P4 0.47 4.5
+P1 P5 0.47 5.6
+P1 Q0 0.47 4
+P1 Qa 0.47 5
+P1 Qd 0.47 5
+P1 Qda 0.47 5
+P1 SC1 0.47 2.7
+P1 SC2 0.47 3.1
+P1 SC3 0.47 3.5
+P1 SC4 0.47 3.5
+P1 SC5 0.47 3.5
+P1 SN0 0.47 4
+P1 SNa 0.47 4.5
+P1 SNd 0.47 4.5
+P1 SNda 0.47 4.5
+P1 SP1 0.47 4.5
+P1 SP2 0.47 4.5
+P1 SP3 0.47 4.5
+P1 SP4 0.47 4.5
+P1 SP5 0.47 5.6
+P1 SQ0 0.47 4
+P1 SQa 0.47 5
+P1 SQd 0.47 5
+P1 SQda 0.47 5
+P2 P2 0.47 4.5
+P2 P3 0.47 4.5
+P2 P4 0.47 4.5
+P2 P5 0.47 5.6
+P2 Q0 0.47 4.5
+P2 Qa 0.47 5
+P2 Qd 0.47 5
+P2 Qda 0.47 5
+P2 SC1 0.47 2.3
+P2 SC2 0.47 2.7
+P2 SC3 0.47 3.1
+P2 SC4 0.47 3.5
+P2 SC5 0.47 3.5
+P2 SN0 0.47 4
+P2 SNa 0.47 4.5
+P2 SNd 0.47 4.5
+P2 SNda 0.47 4.5
+P2 SP1 0.47 4.5
+P2 SP2 0.47 4.5
+P2 SP3 0.47 4.5
+P2 SP4 0.47 4.5
+P2 SP5 0.47 5.6
+P2 SQ0 0.47 4.5
+P2 SQa 0.47 5
+P2 SQd 0.47 5
+P2 SQda 0.47 5
+P3 P3 0.47 5
+P3 P4 0.47 5
+P3 P5 0.47 5.6
+P3 Q0 0.47 5
+P3 Qa 0.47 5.6
+P3 Qd 0.47 5.6
+P3 Qda 0.47 5.6
+P3 SC1 0.47 2.3
+P3 SC2 0.47 2.7
+P3 SC3 0.47 3.1
+P3 SC4 0.47 3.1
+P3 SC5 0.47 3.5
+P3 SN0 0.47 3.5
+P3 SNa 0.47 4.5
+P3 SNd 0.47 4.5
+P3 SNda 0.47 4.5
+P3 SP1 0.47 4.5
+P3 SP2 0.47 4.5
+P3 SP3 0.47 5
+P3 SP4 0.47 5
+P3 SP5 0.47 5.6
+P3 SQ0 0.47 5
+P3 SQa 0.47 5.6
+P3 SQd 0.47 5.6
+P3 SQda 0.47 5.6
+P4 P4 0.47 5
+P4 P5 0.47 5.6
+P4 Q0 0.47 5.6
+P4 Qa 0.47 5.6
+P4 Qd 0.47 5.6
+P4 Qda 0.47 5.6
+P4 SC1 0.47 2
+P4 SC2 0.47 2.3
+P4 SC3 0.47 2.7
+P4 SC4 0.47 2.7
+P4 SC5 0.47 3.1
+P4 SN0 0.47 3.5
+P4 SNa 0.47 4
+P4 SNd 0.47 4
+P4 SNda 0.47 4
+P4 SP1 0.47 4.5
+P4 SP2 0.47 4.5
+P4 SP3 0.47 5
+P4 SP4 0.47 5
+P4 SP5 0.47 5.6
+P4 SQ0 0.47 5.6
+P4 SQa 0.47 5.6
+P4 SQd 0.47 5.6
+P4 SQda 0.47 5.6
+P5 P5 0.47 5.6
+P5 Q0 0.47 5
+P5 Qa 0.47 5.6
+P5 Qd 0.47 5.6
+P5 Qda 0.47 5.6
+P5 SC1 0.47 2
+P5 SC2 0.47 2.3
+P5 SC3 0.47 2.7
+P5 SC4 0.47 2.7
+P5 SC5 0.47 3.1
+P5 SN0 0.47 3.5
+P5 SNa 0.47 5
+P5 SNd 0.47 5
+P5 SNda 0.47 5
+P5 SP1 0.47 5.6
+P5 SP2 0.47 5.6
+P5 SP3 0.47 5.6
+P5 SP4 0.47 5.6
+P5 SP5 0.47 5.6
+P5 SQ0 0.47 5
+P5 SQa 0.47 5.6
+P5 SQd 0.47 5.6
+P5 SQda 0.47 5.6
+Q0 Q0 0.47 3.5
+Q0 Qa 0.47 4.5
+Q0 Qd 0.47 4.5
+Q0 Qda 0.47 4.5
+Q0 SC1 0.62 2
+Q0 SC2 0.62 2
+Q0 SC3 0.47 2.3
+Q0 SC4 0.47 2.7
+Q0 SC5 0.47 3.1
+Q0 SN0 0.47 3.5
+Q0 SNa 0.47 4
+Q0 SNd 0.47 4
+Q0 SNda 0.47 4
+Q0 SP1 0.47 4
+Q0 SP2 0.47 4.5
+Q0 SP3 0.47 5
+Q0 SP4 0.47 5.6
+Q0 SP5 0.47 5
+Q0 SQ0 0.47 3.5
+Q0 SQa 0.47 4.5
+Q0 SQd 0.47 4.5
+Q0 SQda 0.47 4.5
+Qa Qa 0.47 5
+Qa Qd 0.47 5.6
+Qa Qda 0.47 5.6
+Qa SC1 0.62 2
+Qa SC2 0.62 2
+Qa SC3 0.47 2.3
+Qa SC4 0.47 2.7
+Qa SC5 0.47 3.1
+Qa SN0 0.47 3.5
+Qa SNa 0.47 4
+Qa SNd 0.47 5
+Qa SNda 0.47 5
+Qa SP1 0.47 5
+Qa SP2 0.47 5
+Qa SP3 0.47 5.6
+Qa SP4 0.47 5.6
+Qa SP5 0.47 5.6
+Qa SQ0 0.47 4.5
+Qa SQa 0.47 5
+Qa SQd 0.47 5.6
+Qa SQda 0.47 5.6
+Qd Qd 0.47 5
+Qd Qda 0.47 5.6
+Qd SC1 0.62 2
+Qd SC2 0.62 2
+Qd SC3 0.47 2.3
+Qd SC4 0.47 2.7
+Qd SC5 0.47 3.1
+Qd SN0 0.47 3.5
+Qd SNa 0.47 5
+Qd SNd 0.47 4
+Qd SNda 0.47 5
+Qd SP1 0.47 5
+Qd SP2 0.47 5
+Qd SP3 0.47 5.6
+Qd SP4 0.47 5.6
+Qd SP5 0.47 5.6
+Qd SQ0 0.47 4.5
+Qd SQa 0.47 5.6
+Qd SQd 0.47 5
+Qd SQda 0.47 5.6
+Qda Qda 0.47 5.6
+Qda SC1 0.62 2
+Qda SC2 0.62 2
+Qda SC3 0.47 2.3
+Qda SC4 0.47 2.7
+Qda SC5 0.47 3.1
+Qda SN0 0.47 3.5
+Qda SNa 0.47 5
+Qda SNd 0.47 5
+Qda SNda 0.47 5
+Qda SP1 0.47 5
+Qda SP2 0.47 5
+Qda SP3 0.47 5.6
+Qda SP4 0.47 5.6
+Qda SP5 0.47 5.6
+Qda SQ0 0.47 4.5
+Qda SQa 0.47 5.6
+Qda SQd 0.47 5.6
+Qda SQda 0.47 5.6
+SC1 SC1 0.43 2.625
+SC1 SC2 0.43 2.625
+SC1 SC3 0.43 2.625
+SC1 SC4 0.43 2.325
+SC1 SC5 0.43 2.325
+SC1 SN0 0.43 2.025
+SC1 SNa 0.43 2.025
+SC1 SNd 0.43 2.025
+SC1 SNda 0.43 2.025
+SC1 SP1 0.43 2.025
+SC1 SP2 0.43 1.725
+SC1 SP3 0.43 1.725
+SC1 SP4 0.43 1.5
+SC1 SP5 0.43 1.5
+SC1 SQ0 0.62 2
+SC1 SQa 0.62 2
+SC1 SQd 0.62 2
+SC1 SQda 0.62 2
+SC2 SC2 0.43 2.625
+SC2 SC3 0.43 2.625
+SC2 SC4 0.43 2.325
+SC2 SC5 0.43 2.325
+SC2 SN0 0.43 2.325
+SC2 SNa 0.43 2.025
+SC2 SNd 0.43 2.025
+SC2 SNda 0.43 2.025
+SC2 SP1 0.43 2.325
+SC2 SP2 0.43 2.025
+SC2 SP3 0.43 2.025
+SC2 SP4 0.43 1.725
+SC2 SP5 0.43 1.725
+SC2 SQ0 0.62 2
+SC2 SQa 0.62 2
+SC2 SQd 0.62 2
+SC2 SQda 0.62 2
+SC3 SC3 0.43 2.625
+SC3 SC4 0.43 2.625
+SC3 SC5 0.43 2.625
+SC3 SN0 0.43 2.625
+SC3 SNa 0.43 2.025
+SC3 SNd 0.43 2.025
+SC3 SNda 0.43 2.025
+SC3 SP1 0.43 2.625
+SC3 SP2 0.43 2.325
+SC3 SP3 0.43 2.325
+SC3 SP4 0.43 2.025
+SC3 SP5 0.43 2.025
+SC3 SQ0 0.43 1.725
+SC3 SQa 0.43 1.725
+SC3 SQd 0.43 1.725
+SC3 SQda 0.43 1.725
+SC4 SC4 0.43 2.625
+SC4 SC5 0.43 2.625
+SC4 SN0 0.43 2.625
+SC4 SNa 0.43 2.325
+SC4 SNd 0.43 2.325
+SC4 SNda 0.43 2.325
+SC4 SP1 0.43 2.625
+SC4 SP2 0.43 2.625
+SC4 SP3 0.43 2.325
+SC4 SP4 0.43 2.025
+SC4 SP5 0.43 2.025
+SC4 SQ0 0.43 2.025
+SC4 SQa 0.43 2.025
+SC4 SQd 0.43 2.025
+SC4 SQda 0.43 2.025
+SC5 SC5 0.43 2.625
+SC5 SN0 0.43 2.625
+SC5 SNa 0.43 2.625
+SC5 SNd 0.43 2.625
+SC5 SNda 0.43 2.625
+SC5 SP1 0.43 2.625
+SC5 SP2 0.43 2.625
+SC5 SP3 0.43 2.625
+SC5 SP4 0.43 2.325
+SC5 SP5 0.43 2.325
+SC5 SQ0 0.43 2.325
+SC5 SQa 0.43 2.325
+SC5 SQd 0.43 2.325
+SC5 SQda 0.43 2.325
+SN0 SN0 0.43 2.625
+SN0 SNa 0.43 2.625
+SN0 SNd 0.43 2.625
+SN0 SNda 0.43 2.625
+SN0 SP1 0.43 3
+SN0 SP2 0.43 3
+SN0 SP3 0.43 2.625
+SN0 SP4 0.43 2.625
+SN0 SP5 0.43 2.625
+SN0 SQ0 0.43 2.625
+SN0 SQa 0.43 2.625
+SN0 SQd 0.43 2.625
+SN0 SQda 0.43 2.625
+SNa SNa 0.43 3
+SNa SNd 0.43 3.375
+SNa SNda 0.43 3.375
+SNa SP1 0.43 3.375
+SNa SP2 0.43 3.375
+SNa SP3 0.43 3.375
+SNa SP4 0.43 3
+SNa SP5 0.43 3.75
+SNa SQ0 0.43 3
+SNa SQa 0.43 3
+SNa SQd 0.43 3.75
+SNa SQda 0.43 3.75
+SNd SNd 0.43 3
+SNd SNda 0.43 3.375
+SNd SP1 0.43 3.375
+SNd SP2 0.43 3.375
+SNd SP3 0.43 3.375
+SNd SP4 0.43 3
+SNd SP5 0.43 3.75
+SNd SQ0 0.43 3
+SNd SQa 0.43 3.75
+SNd SQd 0.43 3
+SNd SQda 0.43 3.75
+SNda SNda 0.43 3.375
+SNda SP1 0.43 3.375
+SNda SP2 0.43 3.375
+SNda SP3 0.43 3.375
+SNda SP4 0.43 3
+SNda SP5 0.43 3.75
+SNda SQ0 0.43 3
+SNda SQa 0.43 3.75
+SNda SQd 0.43 3.75
+SNda SQda 0.43 3.75
+SP1 SP1 0.43 3.375
+SP1 SP2 0.43 3.375
+SP1 SP3 0.43 3.375
+SP1 SP4 0.43 3.375
+SP1 SP5 0.43 4.2
+SP1 SQ0 0.43 3
+SP1 SQa 0.43 3.75
+SP1 SQd 0.43 3.75
+SP1 SQda 0.43 3.75
+SP2 SP2 0.43 3.375
+SP2 SP3 0.43 3.375
+SP2 SP4 0.43 3.375
+SP2 SP5 0.43 4.2
+SP2 SQ0 0.43 3.375
+SP2 SQa 0.43 3.75
+SP2 SQd 0.43 3.75
+SP2 SQda 0.43 3.75
+SP3 SP3 0.43 3.75
+SP3 SP4 0.43 3.75
+SP3 SP5 0.43 4.2
+SP3 SQ0 0.43 3.75
+SP3 SQa 0.43 4.2
+SP3 SQd 0.43 4.2
+SP3 SQda 0.43 4.2
+SP4 SP4 0.43 3.75
+SP4 SP5 0.43 4.2
+SP4 SQ0 0.43 4.2
+SP4 SQa 0.43 4.2
+SP4 SQd 0.43 4.2
+SP4 SQda 0.43 4.2
+SP5 SP5 0.43 4.2
+SP5 SQ0 0.43 3.75
+SP5 SQa 0.43 4.2
+SP5 SQd 0.43 4.2
+SP5 SQda 0.43 4.2
+SQ0 SQ0 0.43 2.625
+SQ0 SQa 0.43 3.375
+SQ0 SQd 0.43 3.375
+SQ0 SQda 0.43 3.375
+SQa SQa 0.43 3.75
+SQa SQd 0.43 4.2
+SQa SQda 0.43 4.2
+SQd SQd 0.43 3.75
+SQd SQda 0.43 4.2
+SQda SQda 0.43 4.2
+
+ITEM END
+
+# Bond wildcard parameters
+
+ITEM BOND_AUTO
+
+# type1 type2 k l0
+
+* * 1250 0.47
+
+ITEM END
+
+# Templates
+
+ITEM TEMPLATES
+
+# name smiles
+
+W [P4]
+WF [BP4]
+
+ITEM END
diff --git a/tools/moltemplate/moltemplate/force_fields/martini/polymers.prm b/tools/moltemplate/moltemplate/force_fields/martini/polymers.prm
new file mode 100644
index 000000000..eb039bde5
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/martini/polymers.prm
@@ -0,0 +1,376 @@
+#
+# Martini interaction parameters using martini.30646.tmp
+# converted by martini.pl v1.2, February 10, 2014 by Pieter J. in 't Veld
+# to be used in conjuction with EMC v9.3.7 or higher
+#
+
+# Force field definition
+
+ITEM DEFINE
+
+FFNAME MARTINI
+FFTYPE COARSE
+VERSION 2011
+CREATED Feb 2014
+LENGTH NANOMETER
+ENERGY KJ/MOL
+DENSITY G/CC
+MIX NONE
+NBONDED 1
+INNER 0.9
+CUTOFF 1.2
+PAIR14 OFF
+ANGLE WARN
+TORSION IGNORE
+
+ITEM END
+
+# Masses
+
+ITEM MASS
+
+# type mass element ncons charge comment
+
+SN01 54 SN0 2 0 ring intermediate
+SN010 54 SN0 2 0 ring intermediate
+SN011 54 SN0 2 0 ring intermediate
+SN012 54 SN0 2 0 ring intermediate
+SN013 54 SN0 2 0 ring intermediate
+SN014 54 SN0 2 0 ring intermediate
+SN015 54 SN0 2 0 ring intermediate
+SN016 54 SN0 2 0 ring intermediate
+SN017 54 SN0 2 0 ring intermediate
+SN018 54 SN0 2 0 ring intermediate
+SN019 54 SN0 2 0 ring intermediate
+SN02 54 SN0 2 0 ring intermediate
+SN020 54 SN0 2 0 ring intermediate
+SN021 54 SN0 2 0 ring intermediate
+SN022 54 SN0 2 0 ring intermediate
+SN023 54 SN0 2 0 ring intermediate
+SN024 54 SN0 2 0 ring intermediate
+SN025 54 SN0 2 0 ring intermediate
+SN026 54 SN0 2 0 ring intermediate
+SN027 54 SN0 2 0 ring intermediate
+SN028 54 SN0 2 0 ring intermediate
+SN029 54 SN0 2 0 ring intermediate
+SN03 54 SN0 2 0 ring intermediate
+SN030 54 SN0 2 0 ring intermediate
+SN031 54 SN0 2 0 ring intermediate
+SN032 54 SN0 2 0 ring intermediate
+SN033 54 SN0 2 0 ring intermediate
+SN034 54 SN0 2 0 ring intermediate
+SN035 54 SN0 2 0 ring intermediate
+SN036 54 SN0 2 0 ring intermediate
+SN037 54 SN0 2 0 ring intermediate
+SN038 54 SN0 2 0 ring intermediate
+SN039 54 SN0 2 0 ring intermediate
+SN04 54 SN0 2 0 ring intermediate
+SN040 54 SN0 2 0 ring intermediate
+SN041 54 SN0 2 0 ring intermediate
+SN042 54 SN0 2 0 ring intermediate
+SN043 54 SN0 2 0 ring intermediate
+SN044 54 SN0 2 0 ring intermediate
+SN045 54 SN0 2 0 ring intermediate
+SN046 54 SN0 2 0 ring intermediate
+SN047 54 SN0 2 0 ring intermediate
+SN048 54 SN0 2 0 ring intermediate
+SN049 54 SN0 2 0 ring intermediate
+SN05 54 SN0 2 0 ring intermediate
+SN050 54 SN0 2 0 ring intermediate
+SN051 54 SN0 2 0 ring intermediate
+SN052 54 SN0 2 0 ring intermediate
+SN053 54 SN0 2 0 ring intermediate
+SN054 54 SN0 2 0 ring intermediate
+SN055 54 SN0 2 0 ring intermediate
+SN056 54 SN0 2 0 ring intermediate
+SN057 54 SN0 2 0 ring intermediate
+SN058 54 SN0 2 0 ring intermediate
+SN059 54 SN0 2 0 ring intermediate
+SN06 54 SN0 2 0 ring intermediate
+SN060 54 SN0 2 0 ring intermediate
+SN061 54 SN0 2 0 ring intermediate
+SN062 54 SN0 2 0 ring intermediate
+SN063 54 SN0 2 0 ring intermediate
+SN064 54 SN0 2 0 ring intermediate
+SN065 54 SN0 2 0 ring intermediate
+SN066 54 SN0 2 0 ring intermediate
+SN067 54 SN0 2 0 ring intermediate
+SN068 54 SN0 2 0 ring intermediate
+SN069 54 SN0 2 0 ring intermediate
+SN07 54 SN0 2 0 ring intermediate
+SN070 54 SN0 2 0 ring intermediate
+SN071 54 SN0 2 0 ring intermediate
+SN072 54 SN0 2 0 ring intermediate
+SN073 54 SN0 2 0 ring intermediate
+SN074 54 SN0 2 0 ring intermediate
+SN08 54 SN0 2 0 ring intermediate
+SN09 54 SN0 2 0 ring intermediate
+
+ITEM END
+
+# Typing equivalences
+
+ITEM EQUIVALENCE
+
+# type pair bond angle torsion improper
+
+SN01 SN0 SN0 SN0 SN01 SN01
+SN010 SN0 SN0 SN0 SN010 SN010
+SN011 SN0 SN0 SN0 SN011 SN011
+SN012 SN0 SN0 SN0 SN012 SN012
+SN013 SN0 SN0 SN0 SN013 SN013
+SN014 SN0 SN0 SN0 SN014 SN014
+SN015 SN0 SN0 SN0 SN015 SN015
+SN016 SN0 SN0 SN0 SN016 SN016
+SN017 SN0 SN0 SN0 SN017 SN017
+SN018 SN0 SN0 SN0 SN018 SN018
+SN019 SN0 SN0 SN0 SN019 SN019
+SN02 SN0 SN0 SN0 SN02 SN02
+SN020 SN0 SN0 SN0 SN020 SN020
+SN021 SN0 SN0 SN0 SN021 SN021
+SN022 SN0 SN0 SN0 SN022 SN022
+SN023 SN0 SN0 SN0 SN023 SN023
+SN024 SN0 SN0 SN0 SN024 SN024
+SN025 SN0 SN0 SN0 SN025 SN025
+SN026 SN0 SN0 SN0 SN026 SN026
+SN027 SN0 SN0 SN0 SN027 SN027
+SN028 SN0 SN0 SN0 SN028 SN028
+SN029 SN0 SN0 SN0 SN029 SN029
+SN03 SN0 SN0 SN0 SN03 SN03
+SN030 SN0 SN0 SN0 SN030 SN030
+SN031 SN0 SN0 SN0 SN031 SN031
+SN032 SN0 SN0 SN032 SN032 SN032
+SN033 SN0 SN0 SN033 SN033 SN033
+SN034 SN0 SN0 SN034 SN034 SN034
+SN035 SN0 SN0 SN035 SN035 SN035
+SN036 SN0 SN0 SN036 SN036 SN036
+SN037 SN0 SN0 SN037 SN037 SN037
+SN038 SN0 SN0 SN038 SN038 SN038
+SN039 SN0 SN0 SN039 SN039 SN039
+SN04 SN0 SN0 SN0 SN04 SN04
+SN040 SN0 SN0 SN040 SN040 SN040
+SN041 SN0 SN0 SN041 SN041 SN041
+SN042 SN0 SN0 SN042 SN042 SN042
+SN043 SN0 SN0 SN043 SN043 SN043
+SN044 SN0 SN0 SN044 SN044 SN044
+SN045 SN0 SN0 SN045 SN045 SN045
+SN046 SN0 SN0 SN046 SN046 SN046
+SN047 SN0 SN0 SN047 SN047 SN047
+SN048 SN0 SN0 SN048 SN048 SN048
+SN049 SN0 SN0 SN049 SN049 SN049
+SN05 SN0 SN0 SN0 SN05 SN05
+SN050 SN0 SN0 SN050 SN050 SN050
+SN051 SN0 SN0 SN051 SN051 SN051
+SN052 SN0 SN0 SN052 SN052 SN052
+SN053 SN0 SN0 SN053 SN053 SN053
+SN054 SN0 SN0 SN054 SN054 SN054
+SN055 SN0 SN0 SN055 SN055 SN055
+SN056 SN0 SN0 SN056 SN056 SN056
+SN057 SN0 SN0 SN057 SN057 SN057
+SN058 SN0 SN0 SN058 SN058 SN058
+SN059 SN0 SN0 SN059 SN059 SN059
+SN06 SN0 SN0 SN0 SN06 SN06
+SN060 SN0 SN0 SN060 SN060 SN060
+SN061 SN0 SN0 SN061 SN061 SN061
+SN062 SN0 SN0 SN062 SN062 SN062
+SN063 SN0 SN0 SN063 SN063 SN063
+SN064 SN0 SN0 SN064 SN064 SN064
+SN065 SN0 SN0 SN065 SN065 SN065
+SN066 SN0 SN0 SN066 SN066 SN066
+SN067 SN0 SN0 SN067 SN067 SN067
+SN068 SN0 SN0 SN068 SN068 SN068
+SN069 SN0 SN0 SN069 SN069 SN069
+SN07 SN0 SN0 SN0 SN07 SN07
+SN070 SN0 SN0 SN070 SN070 SN070
+SN071 SN0 SN0 SN071 SN071 SN071
+SN072 SN0 SN0 SN072 SN072 SN072
+SN073 SN0 SN0 SN073 SN073 SN073
+SN074 SN0 SN0 SN074 SN074 SN074
+SN08 SN0 SN0 SN0 SN08 SN08
+SN09 SN0 SN0 SN0 SN09 SN09
+
+ITEM END
+
+# Bond parameters
+
+ITEM BOND
+
+# type1 type2 k l0
+
+C1 C1 1250 0.47
+C1 Na 1250 0.47
+N0 N0 1250 0.38
+N0 Nda 1250 0.5
+Na Na 1250 0.37
+Na Qa 1250 0.47
+Nda Qd 1250 0.5
+P5 Qa 1250 0.47
+P5 SN0 17000 0.33
+SCY STY 8000 0.27
+SN0 SN0 17000 0.33
+STY STY 20000 0.27
+
+ITEM END
+
+# Angle parameters
+
+ITEM ANGLE
+
+# type1 type2 type3 k theta0
+
+C1 C1 C1 25 180
+C1 C1 Na 25 180
+C1 Na Qa 25 180
+N0 N0 Nda 150 120
+N0 Nda N0 150 180
+N0 Nda Qd 150 180
+Na Na Qa 25 120
+Nda N0 Nda 150 120
+P5 SN032 SN033 85 130
+SCY STY SCY 550 52
+SCY STY STY 100 136
+SN0 SN0 SN0 50 130
+SN0 SN0 SN074 85 130
+SN0 SN074 SN073 85 130
+SN032 SN033 SN034 85 130
+SN033 SN034 SN035 85 130
+SN034 SN035 SN036 85 130
+SN035 SN036 SN037 85 130
+SN036 SN037 SN038 85 130
+SN037 SN038 SN039 85 130
+SN038 SN039 SN040 85 130
+SN039 SN040 SN041 85 130
+SN040 SN041 SN042 85 130
+SN041 SN042 SN043 85 130
+SN042 SN043 SN044 85 130
+SN043 SN044 SN045 85 130
+SN044 SN045 SN046 85 130
+SN045 SN046 SN047 85 130
+SN046 SN047 SN048 85 130
+SN047 SN048 SN049 85 130
+SN048 SN049 SN050 85 130
+SN049 SN050 SN051 85 130
+SN050 SN051 SN052 85 130
+SN051 SN052 SN053 85 130
+SN052 SN053 SN054 85 130
+SN053 SN054 SN055 85 130
+SN054 SN055 SN056 85 130
+SN055 SN056 SN057 85 130
+SN056 SN057 SN058 85 130
+SN057 SN058 SN059 85 130
+SN058 SN059 SN060 85 130
+SN059 SN060 SN061 85 130
+SN060 SN061 SN062 85 130
+SN061 SN062 SN063 85 130
+SN062 SN063 SN064 85 130
+SN063 SN064 SN065 85 130
+SN064 SN065 SN066 85 130
+SN065 SN066 SN067 85 130
+SN066 SN067 SN068 85 130
+SN067 SN068 SN069 85 130
+SN068 SN069 SN070 85 130
+SN069 SN070 SN071 85 130
+SN070 SN071 SN072 85 130
+SN071 SN072 SN073 85 130
+SN072 SN073 SN074 85 130
+STY SCY STY 25 120
+
+ITEM END
+
+# Torsion parameters
+
+ITEM TORSION
+
+# type1 type2 type3 type4 k n delta ...
+
+SN0 SN0 SN0 SN0 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN0 SN0 SN0 SN031 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN0 SN0 SN01 SN02 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN0 SN0 SN031 SN030 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN0 SN0 SN074 SN073 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN0 SN01 SN02 SN03 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN0 SN031 SN030 SN029 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN0 SN074 SN073 SN072 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN01 SN02 SN03 SN04 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN010 SN011 SN012 SN013 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN010 SN09 SN08 SN07 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN011 SN010 SN09 SN08 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN011 SN012 SN013 SN014 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN012 SN011 SN010 SN09 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN012 SN013 SN014 SN015 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN013 SN014 SN015 SN016 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN014 SN015 SN016 SN017 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN015 SN016 SN017 SN018 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN016 SN017 SN018 SN019 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN017 SN018 SN019 SN020 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN018 SN019 SN020 SN021 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN019 SN020 SN021 SN022 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN02 SN03 SN04 SN05 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN020 SN021 SN022 SN023 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN021 SN022 SN023 SN024 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN022 SN023 SN024 SN025 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN023 SN024 SN025 SN026 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN024 SN025 SN026 SN027 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN025 SN026 SN027 SN028 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN026 SN027 SN028 SN029 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN027 SN028 SN029 SN030 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN028 SN029 SN030 SN031 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN03 SN04 SN05 SN06 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN032 SN033 SN034 SN035 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN033 SN034 SN035 SN036 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN034 SN035 SN036 SN037 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN035 SN036 SN037 SN038 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN036 SN037 SN038 SN039 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN037 SN038 SN039 SN040 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN038 SN039 SN040 SN041 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN039 SN040 SN041 SN042 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN04 SN05 SN06 SN07 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN040 SN041 SN042 SN043 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN041 SN042 SN043 SN044 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN042 SN043 SN044 SN045 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN043 SN044 SN045 SN046 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN044 SN045 SN046 SN047 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN045 SN046 SN047 SN048 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN046 SN047 SN048 SN049 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN047 SN048 SN049 SN050 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN048 SN049 SN050 SN051 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN049 SN050 SN051 SN052 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN05 SN06 SN07 SN08 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN050 SN051 SN052 SN053 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN051 SN052 SN053 SN054 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN052 SN053 SN054 SN055 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN053 SN054 SN055 SN056 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN054 SN055 SN056 SN057 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN055 SN056 SN057 SN058 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN056 SN057 SN058 SN059 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN057 SN058 SN059 SN060 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN058 SN059 SN060 SN061 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN059 SN060 SN061 SN062 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN06 SN07 SN08 SN09 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN060 SN061 SN062 SN063 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN061 SN062 SN063 SN064 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN062 SN063 SN064 SN065 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN063 SN064 SN065 SN066 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN064 SN065 SN066 SN067 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN065 SN066 SN067 SN068 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN066 SN067 SN068 SN069 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN067 SN068 SN069 SN070 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN068 SN069 SN070 SN071 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN069 SN070 SN071 SN072 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN070 SN071 SN072 SN073 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+SN071 SN072 SN073 SN074 1.96 1 180 0.18 2 0 0.33 3 0 0.12 4 0
+
+ITEM END
+
+# Templates
+
+ITEM TEMPLATES
+
+# name smiles
+
+DEN [N0]([N0]([Nda][N0]([Nda][N0]([Nda][N0]([Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][N0]([Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][N0]([Nda][N0]([Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][N0]([Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1])([Nda][N0]([Nda][N0]([Nda][N0]([Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][N0]([Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][N0]([Nda][N0]([Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][N0]([Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][N0]([Nda][Qd+1])[Nda][Qd+1])[Nda][N0]([Nda][Qd+1])[Nda][Qd+1]
+PEL [P5]([Qa-1][Na]([Na][C1][C1][C1][C1])[C1][C1][C1][C1])[SN032][SN033][SN034][SN035][SN036][SN037][SN038][SN039][SN040][SN041][SN042][SN043][SN044][SN045][SN046][SN047][SN048][SN049][SN050][SN051][SN052][SN053][SN054][SN055][SN056][SN057][SN058][SN059][SN060][SN061][SN062][SN063][SN064][SN065][SN066][SN067][SN068][SN069][SN070][SN071][SN072][SN073][SN074][SN0][SN0]
+PEO [SN0][SN0][SN01][SN02][SN03][SN04][SN05][SN06][SN07][SN08][SN09][SN010][SN011][SN012][SN013][SN014][SN015][SN016][SN017][SN018][SN019][SN020][SN021][SN022][SN023][SN024][SN025][SN026][SN027][SN028][SN029][SN030][SN031][SN0][SN0][SN0][SN0]
+PS100 [SCY]([STY]2[STY][STY]2)[STY]1([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY][STY]([SCY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY])[STY][STY]1
+
+ITEM END
diff --git a/tools/moltemplate/moltemplate/force_fields/martini/sugars.prm b/tools/moltemplate/moltemplate/force_fields/martini/sugars.prm
new file mode 100644
index 000000000..a58b9ccd6
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/martini/sugars.prm
@@ -0,0 +1,394 @@
+#
+# Martini interaction parameters using martini.30651.tmp
+# converted by martini.pl v1.2, February 10, 2014 by Pieter J. in 't Veld
+# to be used in conjuction with EMC v9.3.7 or higher
+#
+
+# Force field definition
+
+ITEM DEFINE
+
+FFNAME MARTINI
+FFTYPE COARSE
+VERSION 2011
+CREATED Feb 2014
+LENGTH NANOMETER
+ENERGY KJ/MOL
+DENSITY G/CC
+MIX NONE
+NBONDED 1
+INNER 0.9
+CUTOFF 1.2
+PAIR14 OFF
+ANGLE WARN
+TORSION IGNORE
+
+ITEM END
+
+# Masses
+
+ITEM MASS
+
+# type mass element ncons charge comment
+
+P11 60.0528 P1 2 0 polar
+P12 60.0528 P1 2 0 polar
+P13 60.0528 P1 2 0 polar
+P14 59.0448 P1 2 0 polar
+P15 44.0534 P1 2 0 polar
+P16 43.0454 P1 2 0 polar
+P21 60.0528 P2 2 0 polar
+P210 75.0442 P2 2 0 polar
+P211 60.0528 P2 2 0 polar
+P212 59.0448 P2 2 0 polar
+P213 43.0454 P2 2 0 polar
+P214 75.0442 P2 2 0 polar
+P215 44.0534 P2 2 0 polar
+P216 75.0442 P2 2 0 polar
+P217 58.0368 P2 2 0 polar
+P218 58.0368 P2 2 0 polar
+P219 58.0368 P2 2 0 polar
+P22 59.0448 P2 2 0 polar
+P220 58.0368 P2 2 0 polar
+P221 58.0368 P2 2 0 polar
+P222 59.0448 P2 2 0 polar
+P223 60.0528 P2 2 0 polar
+P224 43.0454 P2 2 0 polar
+P225 60.0528 P2 2 0 polar
+P226 43.0454 P2 2 0 polar
+P227 60.0528 P2 2 0 polar
+P228 43.0454 P2 2 0 polar
+P23 43.0454 P2 2 0 polar
+P24 75.0442 P2 2 0 polar
+P25 58.0368 P2 2 0 polar
+P26 59.1168 P2 2 0 polar
+P27 75.0442 P2 2 0 polar
+P28 75.0442 P2 2 0 polar
+P29 59.1168 P2 2 0 polar
+P31 60.0528 P3 2 0 polar
+P41 60.0528 P4 2 0 polar
+P42 60.0528 P4 2 0 polar
+P43 43.0454 P4 2 0 polar
+
+ITEM END
+
+# Typing equivalences
+
+ITEM EQUIVALENCE
+
+# type pair bond angle torsion improper
+
+P11 P1 P11 P11 P11 P11
+P12 P1 P12 P12 P12 P12
+P13 P1 P13 P13 P13 P13
+P14 P1 P14 P14 P14 P14
+P15 P1 P15 P15 P15 P15
+P16 P1 P16 P16 P16 P16
+P21 P2 P21 P21 P21 P21
+P210 P2 P210 P210 P210 P210
+P211 P2 P211 P211 P211 P211
+P212 P2 P212 P212 P212 P212
+P213 P2 P213 P213 P213 P213
+P214 P2 P214 P214 P214 P214
+P215 P2 P215 P215 P215 P215
+P216 P2 P216 P216 P216 P216
+P217 P2 P217 P217 P217 P217
+P218 P2 P218 P218 P218 P218
+P219 P2 P219 P219 P219 P219
+P22 P2 P22 P22 P22 P22
+P220 P2 P220 P220 P220 P220
+P221 P2 P221 P221 P221 P221
+P222 P2 P222 P222 P222 P222
+P223 P2 P223 P223 P223 P223
+P224 P2 P224 P224 P224 P224
+P225 P2 P225 P225 P225 P225
+P226 P2 P226 P226 P226 P226
+P227 P2 P227 P227 P227 P227
+P228 P2 P228 P228 P228 P228
+P23 P2 P23 P23 P23 P23
+P24 P2 P24 P24 P24 P24
+P25 P2 P25 P25 P25 P25
+P26 P2 P26 P26 P26 P26
+P27 P2 P27 P27 P27 P27
+P28 P2 P28 P28 P28 P28
+P29 P2 P29 P29 P29 P29
+P31 P3 P31 P31 P31 P31
+P41 P4 P41 P41 P41 P41
+P42 P4 P42 P42 P42 P42
+P43 P4 P43 P43 P43 P43
+
+ITEM END
+
+# Bond parameters
+
+ITEM BOND
+
+# type1 type2 k l0
+
+P12 P31 10000 0.309
+P12 P41 35000 0.375
+P12 P42 35000 0.331
+P13 P13 30000 0.293
+P13 P21 30000 0.429
+P13 P212 30000 0.329
+P13 P213 30000 0.372
+P13 P22 30000 0.222
+P13 P222 30000 0.376
+P13 P223 30000 0.22
+P13 P224 30000 0.376
+P13 P225 30000 0.22
+P13 P226 30000 0.376
+P13 P227 30000 0.22
+P13 P228 30000 0.376
+P13 P23 30000 0.239
+P13 P42 35000 0.303
+P13 P43 30000 0.372
+P14 P21 30000 0.222
+P15 P210 30000 0.222
+P15 P214 30000 0.222
+P15 P215 30000 0.231
+P15 P216 30000 0.246
+P15 P217 30000 0.281
+P15 P218 30000 0.246
+P15 P219 30000 0.281
+P15 P220 30000 0.246
+P15 P221 30000 0.281
+P15 P222 30000 0.246
+P15 P24 30000 0.242
+P15 P25 30000 0.234
+P15 P26 30000 0.394
+P15 P27 30000 0.222
+P15 P28 30000 0.222
+P15 P29 30000 0.399
+P16 P211 30000 0.424
+P21 P42 30000 0.247
+P210 P211 30000 0.413
+P210 P42 30000 0.247
+P211 P42 30000 0.294
+P212 P213 30000 0.356
+P212 P42 30000 0.376
+P213 P42 30000 0.276
+P214 P215 30000 0.512
+P214 P42 30000 0.246
+P215 P42 30000 0.22
+P216 P217 30000 0.561
+P216 P42 30000 0.222
+P217 P218 30000 0.561
+P217 P42 30000 0.239
+P218 P219 30000 0.561
+P218 P42 30000 0.222
+P219 P220 30000 0.561
+P219 P42 30000 0.239
+P22 P23 30000 0.561
+P22 P42 30000 0.246
+P220 P221 30000 0.561
+P220 P42 30000 0.222
+P221 P222 30000 0.561
+P221 P42 30000 0.239
+P222 P223 30000 0.356
+P222 P41 30000 0.329
+P222 P42 30000 0.222
+P223 P224 30000 0.356
+P223 P41 30000 0.276
+P224 P225 30000 0.356
+P224 P41 30000 0.329
+P225 P226 30000 0.356
+P225 P41 30000 0.276
+P226 P227 30000 0.356
+P226 P41 30000 0.329
+P227 P228 30000 0.356
+P227 P41 30000 0.276
+P228 P41 30000 0.329
+P23 P42 30000 0.281
+P24 P25 30000 0.518
+P24 P42 30000 0.284
+P25 P42 30000 0.278
+P26 P27 30000 0.47
+P26 P42 30000 0.358
+P27 P42 30000 0.247
+P28 P29 30000 0.432
+P28 P42 30000 0.247
+P29 P42 30000 0.384
+P31 P42 50000 0.42
+P41 P42 50000 0.322
+
+ITEM END
+
+# Angle parameters
+
+ITEM ANGLE
+
+# type1 type2 type3 k theta0
+
+P13 P13 P21 50 20
+P13 P21 P14 10 130
+P13 P21 P42 150 110
+P13 P212 P213 80 54
+P13 P213 P212 800 67
+P13 P22 P23 50 150
+P13 P222 P223 200 124
+P13 P223 P222 800 67
+P13 P223 P224 200 124
+P13 P224 P223 800 67
+P13 P224 P225 200 124
+P13 P225 P224 800 67
+P13 P225 P226 200 124
+P13 P226 P225 800 67
+P13 P226 P227 200 124
+P13 P227 P226 800 67
+P13 P227 P228 200 124
+P13 P228 P227 800 67
+P13 P23 P22 100 70
+P15 P210 P211 5 87
+P15 P214 P215 100 150
+P15 P215 P214 80 120
+P15 P216 P217 50 140
+P15 P217 P216 25 50
+P15 P217 P218 50 140
+P15 P218 P217 25 50
+P15 P218 P219 50 140
+P15 P219 P218 25 50
+P15 P219 P220 50 140
+P15 P220 P219 25 50
+P15 P220 P221 50 140
+P15 P221 P220 25 50
+P15 P221 P222 50 140
+P15 P222 P221 25 50
+P15 P24 P25 50 126
+P15 P25 P24 100 60
+P15 P26 P27 200 120
+P15 P27 P26 50 127
+P15 P28 P29 20 90
+P15 P29 P28 300 125
+P16 P211 P210 250 96
+P21 P13 P43 150 85
+P210 P211 P42 250 50
+P211 P210 P42 125 130
+P212 P213 P42 500 44
+P213 P212 P42 200 124
+P214 P215 P42 180 65
+P215 P214 P42 250 95
+P216 P217 P218 100 154
+P216 P217 P42 100 70
+P217 P216 P42 50 150
+P217 P218 P219 100 154
+P217 P218 P42 100 70
+P218 P217 P42 50 150
+P218 P219 P220 100 154
+P218 P219 P42 100 70
+P219 P218 P42 50 150
+P219 P220 P221 100 154
+P219 P220 P42 100 70
+P22 P23 P42 25 50
+P220 P219 P42 50 150
+P220 P221 P222 100 154
+P220 P221 P42 100 70
+P221 P220 P42 50 150
+P221 P222 P42 100 70
+P222 P221 P42 50 150
+P222 P223 P224 500 136
+P222 P223 P41 500 44
+P223 P222 P41 80 54
+P223 P224 P225 500 136
+P223 P224 P41 500 44
+P224 P223 P41 80 54
+P224 P225 P226 500 136
+P224 P225 P41 500 44
+P225 P224 P41 80 54
+P225 P226 P227 500 136
+P225 P226 P41 500 44
+P226 P225 P41 80 54
+P226 P227 P228 500 136
+P226 P227 P41 500 44
+P227 P226 P41 80 54
+P227 P228 P41 500 44
+P228 P227 P41 80 54
+P23 P22 P42 50 140
+P24 P25 P42 25 65
+P25 P24 P42 50 120
+P26 P27 P42 200 81
+P27 P26 P42 400 75
+P28 P29 P42 350 90
+P29 P28 P42 200 125
+
+ITEM END
+
+# Torsion parameters
+
+ITEM TORSION
+
+# type1 type2 type3 type4 k n delta ...
+
+P13 P13 P21 P14 25 1 130
+P13 P13 P21 P42 20 1 290
+P13 P212 P213 P13 5 1 55
+P13 P212 P213 P42 15 1 20
+P13 P22 P23 P13 8 1 110
+P13 P22 P23 P42 5 1 340
+P13 P223 P224 P41 5 1 42
+P13 P224 P223 P41 5 1 55
+P13 P225 P226 P41 5 1 42
+P13 P226 P225 P41 5 1 55
+P13 P227 P228 P41 5 1 42
+P13 P228 P227 P41 5 1 55
+P13 P23 P22 P42 5 1 280
+P14 P21 P13 P43 2 1 80
+P15 P210 P211 P16 15 1 338
+P15 P210 P211 P42 15 1 345
+P15 P214 P215 P15 8 1 280
+P15 P214 P215 P42 5 1 123
+P15 P215 P214 P42 20 1 320
+P15 P216 P217 P42 5 1 280
+P15 P217 P216 P42 5 1 340
+P15 P217 P218 P42 5 1 280
+P15 P218 P217 P42 5 1 340
+P15 P218 P219 P42 5 1 280
+P15 P219 P218 P42 5 1 340
+P15 P219 P220 P42 5 1 280
+P15 P220 P219 P42 5 1 340
+P15 P220 P221 P42 5 1 280
+P15 P221 P220 P42 5 1 340
+P15 P222 P221 P42 5 1 340
+P15 P24 P25 P15 8 1 30
+P15 P24 P25 P42 5 1 210
+P15 P25 P24 P42 5 1 210
+P15 P26 P27 P15 10 1 110
+P15 P27 P26 P42 8 1 165
+P15 P28 P29 P15 10 1 55
+P15 P28 P29 P42 8 1 40
+P41 P223 P224 P41 15 1 20
+P41 P225 P226 P41 15 1 20
+P41 P227 P228 P41 15 1 20
+P42 P210 P211 P42 1 1 160
+P42 P212 P213 P42 5 1 42
+P42 P216 P217 P42 8 1 110
+P42 P217 P218 P42 8 1 110
+P42 P218 P219 P42 8 1 110
+P42 P219 P220 P42 8 1 110
+P42 P220 P221 P42 8 1 110
+P42 P221 P222 P42 8 1 110
+P42 P26 P27 P42 30 1 5
+P42 P28 P29 P42 5 1 225
+
+ITEM END
+
+# Templates
+
+ITEM TEMPLATES
+
+# name smiles
+
+CELL [P15][P24]([P42])[P25]([P15])[P42]
+FRUC [P13]1[P31][P42]1
+GLUC [P12]1[P41][P42]1
+KOJI [P15][P27]([P42])[P26]([P42])[P15]
+LAMI [P13][P212]([P42])[P213]([P42])[P13]
+Laminaraheptabiose [P222]([P41])([P13])[P223]([P41])([P13])[P224]([P41])([P13])[P225]([P41])([P13])[P226]([P41])([P13])[P227]([P41])([P13])[P228]([P41])[P13]
+MALT [P13][P22]([P42])[P23]([P13])[P42]
+Maltoheptaose [P216]([P42])([P15])[P217]([P42])([P15])[P218]([P42])([P15])[P219]([P42])([P15])[P220]([P42])([P15])[P221]([P42])([P15])[P222]([P42])[P15]
+NIGE [P15][P210]([P42])[P211]([P42])[P16]
+SOPH [P15][P28]([P42])[P29]([P42])[P15]
+SUCR [P14][P21]([P42])[P13]([P13])[P43]
+TREH [P15][P214]([P42])[P215]([P15])[P42]
+
+ITEM END
diff --git a/tools/moltemplate/moltemplate/force_fields/oplsaa.lt b/tools/moltemplate/moltemplate/force_fields/oplsaa.lt
new file mode 100644
index 000000000..92b2628df
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/oplsaa.lt
@@ -0,0 +1,9018 @@
+# This file contains OPLSAA parameters and rules for creating
+# angle, dihedral, and improper interactions according to OPLSAA conventions.
+# These parameters are taken from those distributed with BOSS Version 4.8.
+#
+# USAGE: You can create molecules using this force-field this way:
+#
+# MyMolecule inherits OPLSAA {
+# # atom-id mol-id atom-type charge X Y Z
+# write('Data Atoms') {
+# $atom:C1 $mol @atom:88 0.00 -0.6695 0.000000 0.000000
+# $atom:H11 $mol @atom:89 0.00 -1.234217 -0.854458 0.000000
+# : : : : : :
+# }
+# }
+#
+# Responsibility for choosing the atom types (eg "@atom:88", "@atom:89") falls
+# on the user. You must select the type of each atom in the molecule carefully
+# by looking at the description in the "In Charges" section of this file
+# (see below), and looking for a reasonable match. If your simulation is
+# non-neutral, or moltemplate complains that you have missing bond, angle, or
+# dihedral types, this means at least one of your atom types is incorrect.
+
+
+
+
+
+OPLSAA {
+
+ # Below we will use lammps "set" command to assign atom charges
+ # by atom type. http://lammps.sandia.gov/doc/set.html
+
+ write_once("In Charges") {
+ set type @atom:1 charge -0.22 # "Fluoride -CH2-F (UA)"
+ set type @atom:2 charge 0.22 # "Fluoride -CH2-F (UA)"
+ set type @atom:3 charge 0.55 # "Acetic Acid -COOH (UA)"
+ set type @atom:4 charge -0.5 # "Acetic Acid >C=O (UA)"
+ set type @atom:5 charge -0.58 # "Acetic Acid -OH (UA)"
+ set type @atom:6 charge 0.08 # "Acetic Acid CH3- (UA)"
+ set type @atom:7 charge 0.45 # "Acetic Acid -OH (UA)"
+ set type @atom:8 charge 0.0 # "Methane CH4 (UA)"
+ set type @atom:9 charge 0.0 # "Ethane CH3- (UA)"
+ set type @atom:10 charge 0.0 # "N-Alkane CH3- (UA)"
+ set type @atom:11 charge 0.0 # "Isobutane CH3- (UA)"
+ set type @atom:12 charge 0.0 # "Neopentane CH3- (UA)"
+ set type @atom:13 charge 0.0 # "Alkanes -CH2- (UA)"
+ set type @atom:14 charge 0.0 # "1-Alkene CH2= (UA)"
+ set type @atom:15 charge 0.0 # "Isobutane CH (UA)"
+ set type @atom:16 charge 0.0 # "2-Alkene -CH= (UA)"
+ set type @atom:17 charge 0.0 # "Aromatic CH (UA)"
+ set type @atom:18 charge 0.0 # "Neopentane C (UA)"
+ set type @atom:19 charge 0.0 # "Isobutene >C= (UA)"
+ set type @atom:20 charge -0.7 # "Alcohol OH (UA)"
+ set type @atom:21 charge 0.435 # "Alcohol OH (UA)"
+ set type @atom:22 charge 0.265 # "Methanol CH3- (UA)"
+ set type @atom:23 charge 0.265 # "Ethanol -CH2OH (UA)"
+ set type @atom:24 charge -0.47 # "Hydrogen Sulfide H2S"
+ set type @atom:25 charge -0.45 # "Alkyl Sulfide RSH (UA)"
+ set type @atom:26 charge -0.47 # "Thioether RSR (UA)"
+ set type @atom:27 charge -0.3 # "Disulfide RSSR (UA)"
+ set type @atom:28 charge 0.235 # "Hydrogen Sulfide H2S"
+ set type @atom:29 charge 0.27 # "Alkyl Sulfide RSH (UA)"
+ set type @atom:30 charge 0.18 # "Methyl Sulfide CH3 (UA)"
+ set type @atom:31 charge 0.18 # "Alkyl Sulfide CH2 (UA)"
+ set type @atom:32 charge 0.235 # "Thioether CH3 (UA)"
+ set type @atom:33 charge 0.235 # "Thioether CH2 (UA)"
+ set type @atom:34 charge 0.3 # "Disulfide CH3 (UA)"
+ set type @atom:35 charge 0.3 # "Disulfide CH2 (UA)"
+ set type @atom:36 charge -0.43 # "Acetonitrile -CN (UA)"
+ set type @atom:37 charge 0.28 # "Acetonitrile -CN (UA)"
+ set type @atom:38 charge 0.15 # "Acetonitrile CH3 (UA)"
+ set type @atom:39 charge 0.265 # "Isopropanol >CHOH (UA)"
+ set type @atom:40 charge 0.265 # "t-Butanol COH (UA)"
+ set type @atom:41 charge -0.5 # "Ether ROR (UA)"
+ set type @atom:42 charge 0.25 # "Ether CH3-OR (UA)"
+ set type @atom:43 charge 0.25 # "Ether -CH2-OR (UA)"
+ set type @atom:44 charge 0.5 # "Methylene Chloride (UA)"
+ set type @atom:45 charge -0.25 # "Methylene Chloride (UA)"
+ set type @atom:46 charge 0.42 # "Chloroform CHCl3 (UA)"
+ set type @atom:47 charge -0.14 # "Chloroform CHCl3 (UA)"
+ set type @atom:48 charge 0.248 # "Carbon Tetrachloride"
+ set type @atom:49 charge -0.062 # "Carbon Tetrachloride"
+ set type @atom:50 charge 0.139 # "DMSO >S=O (UA)"
+ set type @atom:51 charge -0.459 # "DMSO >S=O (UA)"
+ set type @atom:52 charge 0.16 # "DMSO CH3- (UA)"
+ set type @atom:53 charge -0.5 # "DMF C=O (UA)"
+ set type @atom:54 charge -0.57 # "DMF CON< (UA)"
+ set type @atom:55 charge 0.5 # "DMF C=O (UA)"
+ set type @atom:56 charge 0.285 # "DMF CH3- (UA)"
+ set type @atom:57 charge 0.0 # "Dummy Atom"
+ set type @atom:58 charge 0.0 # "Helium Atom"
+ set type @atom:59 charge 0.0 # "Neon Atom"
+ set type @atom:60 charge 0.0 # "Argon Atom"
+ set type @atom:61 charge 0.0 # "Krypton Atom"
+ set type @atom:62 charge 0.0 # "Xenon Atom"
+ set type @atom:63 charge -0.834 # "TIP3P Water O"
+ set type @atom:64 charge 0.417 # "TIP3P Water H"
+ set type @atom:65 charge 0.0 # "TIP4P Water O"
+ set type @atom:66 charge 0.52 # "TIP4P Water H"
+ set type @atom:67 charge -1.04 # "TIP4P Water M"
+ set type @atom:68 charge -0.822 # "TIP3F Water O"
+ set type @atom:69 charge 0.411 # "TIP3F Water H"
+ set type @atom:70 charge 0.0 # "TIP4F Water O"
+ set type @atom:71 charge 0.511 # "TIP4F Water H"
+ set type @atom:72 charge -1.022 # "TIP4F Water M"
+ set type @atom:73 charge 0.0 # "TIP5P Water O"
+ set type @atom:74 charge 0.241 # "TIP5P Water H"
+ set type @atom:75 charge -0.241 # "TIP5P Water LP"
+ set type @atom:76 charge -0.82 # "SPC Water O"
+ set type @atom:77 charge 0.41 # "SPC Water H"
+ set type @atom:78 charge -1.02 # "Ammonia NH3"
+ set type @atom:79 charge 0.34 # "Ammonia NH3"
+ set type @atom:80 charge -0.18 # "Alkane CH3-"
+ set type @atom:81 charge -0.12 # "Alkane -CH2-"
+ set type @atom:82 charge -0.06 # "Alkane >CH-"
+ set type @atom:83 charge -0.24 # "Methane CH4"
+ set type @atom:84 charge 0.0 # "Alkane >C<"
+ set type @atom:85 charge 0.06 # "Alkane H-C"
+ set type @atom:86 charge 0.0 # "Alkene R2-C="
+ set type @atom:87 charge -0.115 # "Alkene RH-C="
+ set type @atom:88 charge -0.23 # "Alkene H2-C="
+ set type @atom:89 charge 0.115 # "Alkene H-C="
+ set type @atom:90 charge -0.115 # "Aromatic C"
+ set type @atom:91 charge 0.115 # "Aromatic H-C"
+ set type @atom:92 charge 0.0 # "Naphthalene Fusion C"
+ set type @atom:93 charge -0.065 # "Ethyl Benzene CH3-"
+ set type @atom:94 charge -0.005 # "Ethyl Benzene -CH2-"
+ set type @atom:95 charge -0.115 # "Diene =CH-CH="
+ set type @atom:96 charge -0.683 # "Alcohol -OH"
+ set type @atom:97 charge 0.418 # "Alcohol -OH"
+ set type @atom:98 charge 0.04 # "Methanol CH3-"
+ set type @atom:99 charge 0.145 # "Alcohol CH3OH & RCH2OH"
+ set type @atom:100 charge 0.205 # "Alcohol R2CHOH"
+ set type @atom:101 charge 0.265 # "Alcohol R3COH"
+ set type @atom:102 charge 0.1263 # "Trifluoroethanol -CH2-"
+ set type @atom:103 charge 0.5323 # "Trifluoroethanol CF3-"
+ set type @atom:104 charge -0.6351 # "Trifluoroethanol -OH"
+ set type @atom:105 charge 0.4286 # "Trifluoroethanol -OH"
+ set type @atom:106 charge -0.2057 # "Trifluoroethanol F"
+ set type @atom:107 charge 0.0825 # "Trifluoroethanol -CH2-"
+ set type @atom:108 charge 0.15 # "Phenol C-OH"
+ set type @atom:109 charge -0.585 # "Phenol -OH"
+ set type @atom:110 charge 0.435 # "Phenol -OH"
+ set type @atom:111 charge -0.7 # "Diol -OH"
+ set type @atom:112 charge 0.435 # "Diol -OH"
+ set type @atom:113 charge -0.73 # "Triol -OH"
+ set type @atom:114 charge 0.465 # "Triol -OH"
+ set type @atom:115 charge 0.145 # "Diol & Triol -CH2OH"
+ set type @atom:116 charge 0.205 # "Diol & Triol -CHROH"
+ set type @atom:117 charge 0.265 # "Diol & Triol -CR2OH"
+ set type @atom:118 charge 0.06 # "Diol & Triol H-COH"
+ set type @atom:119 charge -0.17 # "Diphenyl Ether"
+ set type @atom:120 charge 0.0 # "Diene =CR-CR="
+ set type @atom:121 charge -0.285 # "Anisole -OCH3"
+ set type @atom:122 charge -0.4 # "Dialkyl Ether -O-"
+ set type @atom:123 charge 0.11 # "Methyl Ether CH3OR"
+ set type @atom:124 charge 0.14 # "Ethyl Ether -CH2OR"
+ set type @atom:125 charge 0.17 # "Isopropyl Ether >CHOR"
+ set type @atom:126 charge 0.2 # "t-Butyl Ether COR"
+ set type @atom:127 charge 0.03 # "Alkyl Ether H-COR"
+ set type @atom:128 charge -0.4 # "Acetal RO-CR2OX"
+ set type @atom:129 charge -0.7 # "Hemiacetal -OH"
+ set type @atom:130 charge 0.435 # "Hemiacetal -OH"
+ set type @atom:131 charge 0.2 # "Acetal RO-CH2-OR"
+ set type @atom:132 charge 0.1 # "Acetal RO-CH2-OR"
+ set type @atom:133 charge 0.265 # "Hemiacetal RO-CH2-OH"
+ set type @atom:134 charge 0.1 # "Hemiacetal RO-CH2-OH"
+ set type @atom:135 charge 0.3 # "Acetal RO-CHR-OR"
+ set type @atom:136 charge 0.1 # "Acetal RO-CHR-OR"
+ set type @atom:137 charge 0.365 # "Hemiacetal RO-CHR-OH"
+ set type @atom:138 charge 0.1 # "Hemiacetal RO-CHR-OH"
+ set type @atom:139 charge 0.4 # "Acetal RO-CR2-OR"
+ set type @atom:140 charge 0.465 # "Hemiacetal RO-CR2-OH"
+ set type @atom:141 charge 0.085 # "Anisole C-OCH3"
+ set type @atom:142 charge -0.335 # "Thiol -SH"
+ set type @atom:143 charge -0.47 # "Hydrogen Sulfide H2S"
+ set type @atom:144 charge -0.435 # "Sulfide -S-"
+ set type @atom:145 charge -0.2175 # "Disulfide -S-S-"
+ set type @atom:146 charge 0.155 # "Thiol -SH"
+ set type @atom:147 charge 0.235 # "Hydrogen Sulfide H2S"
+ set type @atom:148 charge 0.06 # "Thiol -CH2-SH"
+ set type @atom:149 charge 0.12 # "Thiol >CH-SH"
+ set type @atom:150 charge 0.18 # "Thiol C-SH"
+ set type @atom:151 charge 0.0375 # "Methyl Sulfide CH3-SR"
+ set type @atom:152 charge 0.0975 # "Sulfide RCH2-SR"
+ set type @atom:153 charge 0.1575 # "Sulfide R2CH-SR"
+ set type @atom:154 charge 0.2175 # "Sulfide R3C-SR"
+ set type @atom:155 charge 0.0375 # "Disulfide CH3-S-SR"
+ set type @atom:156 charge 0.0975 # "Disulfide RCH2-S-SR"
+ set type @atom:157 charge 0.1575 # "Disulfide R2CH-S-SR"
+ set type @atom:158 charge 0.2175 # "Disulfide R3C-S-SR"
+ set type @atom:159 charge 0.0 # "Methanethiol CH3-SH"
+ set type @atom:160 charge 0.2 # "Benzyl Alcohol -CH2OH"
+ set type @atom:161 charge 0.26 # "Benzyl Alcohol -CHROH"
+ set type @atom:162 charge 0.32 # "Benzyl Alcohol -CR2OH"
+ set type @atom:163 charge -0.055 # "Benzyl Alcohol/Nitrile"
+ set type @atom:164 charge -0.32 # "Thioanisole -SCH3"
+ set type @atom:165 charge 0.08 # "RCH2-NH2 & GLY CA"
+ set type @atom:166 charge 0.14 # "RCHR-NH2 & ALA CA"
+ set type @atom:167 charge 0.2 # "R3C-NH2 & AIB CA"
+ set type @atom:168 charge -0.12 # "Chloroalkene Cl-CH="
+ set type @atom:169 charge 0.005 # "Chloroalkene Cl-CH="
+ set type @atom:170 charge 0.1025 # "Thioanisole C-SCH3"
+ set type @atom:171 charge 0.14 # "Amide -NH-CHR2"
+ set type @atom:172 charge 0.2 # "Amide -NH-CR3"
+ set type @atom:173 charge 0.7 # "Benzophenone C=O"
+ set type @atom:174 charge 0.565 # "Benzaldehyde C=O"
+ set type @atom:175 charge 0.585 # "Acetophenone C=O"
+ set type @atom:176 charge 0.615 # "Benzamide C=O"
+ set type @atom:177 charge 0.5 # "Amide C=O"
+ set type @atom:178 charge -0.5 # "Amide C=O"
+ set type @atom:179 charge -0.76 # "Amide -CO-NH2"
+ set type @atom:180 charge -0.5 # "Amide -CO-NHR"
+ set type @atom:181 charge -0.14 # "Amide -CO-NR2"
+ set type @atom:182 charge 0.38 # "Amide -CO-NH2"
+ set type @atom:183 charge 0.3 # "Amide -CO-NHR"
+ set type @atom:184 charge 0.02 # "Amide -NH-CH3"
+ set type @atom:185 charge -0.11 # "Amide -NR-CH3"
+ set type @atom:186 charge 0.08 # "Amide -NH-CH2R"
+ set type @atom:187 charge -0.05 # "Amide -NR-CH2R & PRO CD"
+ set type @atom:188 charge 0.01 # "Amide -NR-CHR2 & PRO CA"
+ set type @atom:189 charge 0.142 # "Urea C=O"
+ set type @atom:190 charge -0.39 # "Urea C=O"
+ set type @atom:191 charge -0.542 # "Urea -NH2"
+ set type @atom:192 charge 0.333 # "Urea -NH2"
+ set type @atom:193 charge -0.49 # "Imide -NH-"
+ set type @atom:194 charge 0.42 # "Imide C=O"
+ set type @atom:195 charge -0.42 # "Imide C=O"
+ set type @atom:196 charge 0.37 # "Imide -NH-"
+ set type @atom:197 charge 0.06 # "Formimide H-C=O"
+ set type @atom:198 charge -0.12 # "Imide CH3-CONHCO-"
+ set type @atom:199 charge -0.06 # "Imide -CH2-CONHCO-"
+ set type @atom:200 charge 0.0 # "Imide >CH-CONHCO-"
+ set type @atom:201 charge 0.06 # "Imide C-CONHCO-"
+ set type @atom:202 charge 0.035 # "Benzonitrile C-CN"
+ set type @atom:203 charge 0.395 # "Benzonitrile -CN"
+ set type @atom:204 charge -0.43 # "Benzonitrile -CN"
+ set type @atom:205 charge 0.18 # "Chlorobenzene C-Cl"
+ set type @atom:206 charge -0.18 # "Chlorobenzene C-Cl"
+ set type @atom:207 charge -0.385 # "N-Phenylacetamide N"
+ set type @atom:208 charge 0.085 # "N-Phenylacetamide N-CA"
+ set type @atom:209 charge 0.52 # "Carboxylic Acid -COOH"
+ set type @atom:210 charge -0.44 # "Carboxylic Acid C=O"
+ set type @atom:211 charge -0.53 # "Carboxylic Acid -OH"
+ set type @atom:212 charge 0.45 # "Carboxylic Acid -COOH"
+ set type @atom:213 charge 0.7 # "Carboxylate COO-"
+ set type @atom:214 charge -0.8 # "Carboxylate COO-"
+ set type @atom:215 charge -0.28 # "Carboxylate CH3-COO-"
+ set type @atom:216 charge -0.22 # "Carboxylate RCH2-COO-"
+ set type @atom:217 charge -0.16 # "Carboxylate R2CH-COO-"
+ set type @atom:218 charge -0.1 # "Carboxylate R3C-COO-"
+ set type @atom:219 charge 0.45 # "Aldehyde/Acyl Halide C=O"
+ set type @atom:220 charge -0.45 # "Aldehyde/Acyl Halide C=O"
+ set type @atom:221 charge 0.0 # "Aldehyde/Formamide H-C=O"
+ set type @atom:222 charge 0.47 # "Ketone C=O"
+ set type @atom:223 charge -0.47 # "Ketone C=O"
+ set type @atom:224 charge 0.06 # "Acyl H-C-COX"
+ set type @atom:225 charge 0.04 # "C-Terminal ALA CA"
+ set type @atom:226 charge -0.02 # "C-Terminal GLY CA"
+ set type @atom:227 charge 0.1 # "C-Terminal AIB CA"
+ set type @atom:228 charge -0.09 # "C-Terminal PRO CA"
+ set type @atom:229 charge -0.4 # "Ammonium NH4+"
+ set type @atom:230 charge -0.3 # "Ammonium RNH3+"
+ set type @atom:231 charge 0.0 # "Ammonium R4N+"
+ set type @atom:232 charge 0.35 # "Ammonium NH4+"
+ set type @atom:233 charge 0.33 # "Ammonium RNH3+"
+ set type @atom:234 charge 0.13 # "Ammonium CH3-NH3+"
+ set type @atom:235 charge 0.19 # "CH3NH3+/N-Term GLY CA"
+ set type @atom:236 charge 0.25 # "RCH2NH3+/N-Term ALA CA"
+ set type @atom:237 charge 0.31 # "R3C-NH3+/N-Term AIB CA"
+ set type @atom:238 charge 0.23 # "N-Terminal PRO CA"
+ set type @atom:239 charge 0.17 # "N-Terminal PRO CD"
+ set type @atom:240 charge 0.11 # "Ammonium CH3-NH2R+"
+ set type @atom:241 charge 0.09 # "GLY Zwitterion CA"
+ set type @atom:242 charge 0.15 # "ALA Zwitterion CA"
+ set type @atom:243 charge -0.8 # "Guanidinium -NH2"
+ set type @atom:244 charge 0.46 # "Guanidinium -NH2"
+ set type @atom:245 charge 0.64 # "Guanidinium C+"
+ set type @atom:246 charge -0.7 # "Guanidinium -NHR"
+ set type @atom:247 charge 0.44 # "Guanidinium -NHR"
+ set type @atom:248 charge 0.2 # "Me Guanidinium CH3-"
+ set type @atom:249 charge -0.11 # "Et Guanidinium CH3-"
+ set type @atom:250 charge 0.19 # "Et Guan -CH2- & ARG CD"
+ set type @atom:251 charge -0.05 # "Pr Guan -CH2- & ARG CG"
+ set type @atom:252 charge -0.2 # "Ammonium R2NH2+"
+ set type @atom:253 charge 0.31 # "Ammonium R2NH2+"
+ set type @atom:254 charge -0.46 # "Diaminopyridine N1"
+ set type @atom:255 charge 0.36 # "Diaminopyridine C2"
+ set type @atom:256 charge -0.85 # "Diaminopyridine -NH2"
+ set type @atom:257 charge 0.37 # "Diaminopyridine -NH2"
+ set type @atom:258 charge -0.15 # "Diaminopyridine C3"
+ set type @atom:259 charge 0.1 # "Diaminopyridine H3"
+ set type @atom:260 charge -0.04 # "Diaminopyridine C4"
+ set type @atom:261 charge 0.1 # "Diaminopyridine H4"
+ set type @atom:262 charge -0.6 # "Uracil & Thymine N1"
+ set type @atom:263 charge 0.5 # "Uracil & Thymine C2"
+ set type @atom:264 charge -0.51 # "Uracil & Thymine N3"
+ set type @atom:265 charge 0.45 # "Uracil & Thymine C4"
+ set type @atom:266 charge -0.07 # "Uracil & Thymine C5"
+ set type @atom:267 charge 0.08 # "Uracil & Thymine C6"
+ set type @atom:268 charge 0.41 # "Uracil & Thymine HN1"
+ set type @atom:269 charge -0.4 # "Uracil & Thymine O2"
+ set type @atom:270 charge 0.36 # "Uracil & Thymine HN3"
+ set type @atom:271 charge -0.42 # "Uracil & Thymine O4"
+ set type @atom:272 charge 0.1 # "Uracil & Thymine HC5"
+ set type @atom:273 charge 0.1 # "Uracil & Thymine HC6"
+ set type @atom:274 charge -0.14 # "Thymine CH3-"
+ set type @atom:275 charge 0.08 # "Thymine CH3-"
+ set type @atom:276 charge -0.56 # "Cytosine N1"
+ set type @atom:277 charge 0.55 # "Cytosine C2"
+ set type @atom:278 charge -0.54 # "Cytosine N3"
+ set type @atom:279 charge 0.46 # "Cytosine C4"
+ set type @atom:280 charge -0.06 # "Cytosine C5"
+ set type @atom:281 charge 0.1 # "Cytosine C6"
+ set type @atom:282 charge 0.38 # "Cytosine HN1"
+ set type @atom:283 charge -0.48 # "Cytosine O2"
+ set type @atom:284 charge -0.79 # "Cytosine NH2-"
+ set type @atom:285 charge 0.385 # "Cytosine NH2- (N3)"
+ set type @atom:286 charge 0.355 # "Cytosine NH2- (C5)"
+ set type @atom:287 charge 0.1 # "Cytosine HC5"
+ set type @atom:288 charge 0.1 # "Cytosine HC6"
+ set type @atom:289 charge -0.53 # "Adenine N1"
+ set type @atom:290 charge 0.22 # "Adenine C2"
+ set type @atom:291 charge -0.55 # "Adenine N3"
+ set type @atom:292 charge 0.38 # "Adenine C4"
+ set type @atom:293 charge 0.15 # "Adenine C5"
+ set type @atom:294 charge 0.44 # "Adenine C6"
+ set type @atom:295 charge -0.49 # "Adenine & Guanine N7"
+ set type @atom:296 charge 0.2 # "Adenine & Guanine C8"
+ set type @atom:297 charge -0.5 # "Adenine & Guanine N9"
+ set type @atom:298 charge 0.2 # "Adenine HC2"
+ set type @atom:299 charge -0.81 # "Adenine NH2-"
+ set type @atom:300 charge 0.385 # "Adenine NH2- (N1)"
+ set type @atom:301 charge 0.355 # "Adenine NH2- (C5)"
+ set type @atom:302 charge 0.2 # "Adenine & Guanine HC8"
+ set type @atom:303 charge 0.35 # "Adenine & Guanine HN9"
+ set type @atom:304 charge -0.56 # "Guanine N1"
+ set type @atom:305 charge 0.46 # "Guanine C2"
+ set type @atom:306 charge -0.51 # "Guanine N3"
+ set type @atom:307 charge 0.34 # "Guanine C4"
+ set type @atom:308 charge 0.12 # "Guanine C5"
+ set type @atom:309 charge 0.52 # "Guanine C6"
+ set type @atom:310 charge 0.38 # "Guanine HN1"
+ set type @atom:311 charge -0.8 # "Guanine NH2-"
+ set type @atom:312 charge 0.4 # "Guanine NH2-"
+ set type @atom:313 charge -0.51 # "Guanine O6"
+ set type @atom:314 charge -0.01 # "9-Me A & 9-Me-G CH3-"
+ set type @atom:315 charge 0.12 # "9-Me-A & 9-Me-G CH3-"
+ set type @atom:316 charge -0.01 # "1-Me-U & 1-Me-T CH3-"
+ set type @atom:317 charge 0.14 # "1-Me-U & 1-Me-T CH3-"
+ set type @atom:318 charge -0.01 # "1-Me-Cytosine CH3-"
+ set type @atom:319 charge 0.13 # "1-Me-Cytosine CH3-"
+ set type @atom:320 charge -0.64 # "CytosineH+ N1"
+ set type @atom:321 charge 0.65 # "CytosineH+ C2"
+ set type @atom:322 charge -0.74 # "CytosineH+ N3"
+ set type @atom:323 charge 0.66 # "CytosineH+ C4"
+ set type @atom:324 charge -0.06 # "CytosineH+ C5"
+ set type @atom:325 charge 0.1 # "CytosineH+ C6"
+ set type @atom:326 charge 0.49 # "CytosineH+ HN1"
+ set type @atom:327 charge -0.3 # "CytosineH+ O2"
+ set type @atom:328 charge 0.48 # "CytosineH+ HN3"
+ set type @atom:329 charge -0.81 # "CytosineH+ NH2-"
+ set type @atom:330 charge 0.46 # "CytosineH+ NH2- (N3)"
+ set type @atom:331 charge 0.43 # "CytosineH+ NH2- (C5)"
+ set type @atom:332 charge 0.14 # "CytosineH+ HC5"
+ set type @atom:333 charge 0.14 # "CytosineH+ HC6"
+ set type @atom:334 charge 0.01 # "1-Me-CytosineH+ CH3-"
+ set type @atom:335 charge 0.16 # "1-Me-CytosineH+ CH3-"
+ set type @atom:336 charge 0.78 # "DiMePhosphate P (UA)"
+ set type @atom:337 charge -0.66 # "DiMePhosphate O=P-O (UA)"
+ set type @atom:338 charge -0.43 # "DiMePhosphate CH3-O (UA)"
+ set type @atom:339 charge 0.2 # "DiMePhosphate CH3-O (UA)"
+ set type @atom:340 charge 0.18 # "Trifluorothymine CF3-"
+ set type @atom:341 charge -0.06 # "Chloroalkene Cl2-C="
+ set type @atom:342 charge 0.12 # "Chloroalkene Cl2-C="
+ set type @atom:343 charge -1.0 # "Fluoride Ion F-"
+ set type @atom:344 charge -1.0 # "Chloride Ion Cl-"
+ set type @atom:345 charge -1.0 # "Bromide Ion Br-"
+ set type @atom:346 charge -1.0 # "Iodide Ion I-"
+ set type @atom:347 charge 1.0 # "Ammonium Ion NH4+ (UA)"
+ set type @atom:348 charge 1.0 # "Lithium Ion Li+"
+ set type @atom:349 charge 1.0 # "Sodium Ion Na+"
+ set type @atom:350 charge 1.0 # "Potassium Ion K+"
+ set type @atom:351 charge 1.0 # "Rubidium Ion Rb+"
+ set type @atom:352 charge 1.0 # "Cesium Ion Cs+"
+ set type @atom:353 charge 2.0 # "Magnesium Ion Mg+2"
+ set type @atom:354 charge 2.0 # "Calcium Ion Ca+2"
+ set type @atom:355 charge 2.0 # "Strontium Ion Sr+2"
+ set type @atom:356 charge 2.0 # "Barium Ion Ba+2"
+ set type @atom:357 charge -0.4 # "Methyl Thiolate CH3S-"
+ set type @atom:358 charge 0.1 # "Methyl Thiolate CH3S-"
+ set type @atom:359 charge -0.9 # "Methyl Thiolate CH3S-"
+ set type @atom:360 charge -0.2 # "Methoxide CH3O-"
+ set type @atom:361 charge 0.06 # "Methoxide CH3O-"
+ set type @atom:362 charge -0.98 # "Methoxide CH3O-"
+ set type @atom:363 charge -1.07 # "Nitrile Anion CNCH2-"
+ set type @atom:364 charge 0.19 # "Nitrile Anion CNCH2-"
+ set type @atom:365 charge 0.51 # "Nitrile Anion CNCH2-"
+ set type @atom:366 charge -0.82 # "Nitrile Anion CNCH2-"
+ set type @atom:367 charge -0.3 # "Me Amine Anion CH3NH-"
+ set type @atom:368 charge 0.07 # "Me Amine Anion CH3NH-"
+ set type @atom:369 charge -1.31 # "Me Amine Anion CH3NH-"
+ set type @atom:370 charge 0.4 # "Methyl Amine Anion"
+ set type @atom:371 charge -0.4 # "Ethyl Anion CH3-CH2-"
+ set type @atom:372 charge 0.08 # "Ethyl Anion CH3-CH2-"
+ set type @atom:373 charge 0.0 # "Ethyl Anion CH3-CH2-"
+ set type @atom:374 charge 0.07 # "Ethyl Anion CH3-CH2-"
+ set type @atom:375 charge -0.98 # "Ethyl Anion CH3-CH2-"
+ set type @atom:376 charge -1.3 # "Hydroxide Ion OH-"
+ set type @atom:377 charge 0.3 # "Hydroxide Ion OH-"
+ set type @atom:378 charge 2.5 # "Uranyl Ion UO2+"
+ set type @atom:379 charge -0.25 # "Uranyl Ion UO2+"
+ set type @atom:380 charge -0.865 # "GTP O-(POn)2"
+ set type @atom:381 charge 1.62 # "DiMe Phosphate P"
+ set type @atom:382 charge -0.92 # "DiMe Phosphate O=P-O"
+ set type @atom:383 charge -0.6 # "DiMe Phosphate CH3-O"
+ set type @atom:384 charge 0.3 # "DiMe Phosphate CH3-O"
+ set type @atom:385 charge -0.03 # "DiMe Phosphate CH3-O"
+ set type @atom:386 charge 1.92 # "Me Phosphate P"
+ set type @atom:387 charge -1.12 # "Me Phosphate O=PO2"
+ set type @atom:388 charge -0.7 # "Me Phosphate CH3-O"
+ set type @atom:389 charge 0.44 # "Me Phosphate CH3-O"
+ set type @atom:390 charge -0.1 # "Me Phosphate CH3-O"
+ set type @atom:391 charge 1.62 # "Me MePhosphonate P"
+ set type @atom:392 charge -0.97 # "Me MePhosphonate O=P-O"
+ set type @atom:393 charge -0.63 # "Me MePhosphonate CH3-O"
+ set type @atom:394 charge 0.28 # "Me MePhosphonate CH3-O"
+ set type @atom:395 charge -0.02 # "Me MePhosphonate CH3-O"
+ set type @atom:396 charge -0.51 # "Me MePhosphonate CH3-P"
+ set type @atom:397 charge 0.08 # "Me MePhosphonate CH3-P"
+ set type @atom:398 charge -0.14 # "Bz MePhosphonate Cipso"
+ set type @atom:399 charge 0.32 # "Bz MePhosphonate CH3-O"
+ set type @atom:400 charge 0.02 # "Bz MePhosphonate CH3-O"
+ set type @atom:401 charge -0.04 # "Me BzPhosphonate Cipso"
+ set type @atom:402 charge -0.47 # "Me BzPhosphonate CH3-P"
+ set type @atom:403 charge 0.12 # "Me BzPhosphonate CH3-P"
+ set type @atom:404 charge 0.14 # "Ph Phosphate Cipso"
+ set type @atom:405 charge 0.24 # "Barbiturate C6(R2)"
+ set type @atom:406 charge 0.51 # "Ester -COOR"
+ set type @atom:407 charge -0.43 # "Ester C=O"
+ set type @atom:408 charge -0.33 # "Ester CO-O-R"
+ set type @atom:409 charge 0.16 # "Methyl Ester -OCH3"
+ set type @atom:410 charge 0.03 # "Ester -OCH<"
+ set type @atom:411 charge 0.635 # "Benzoic Acid -COOH"
+ set type @atom:412 charge 0.625 # "Aryl Ester -COOR"
+ set type @atom:413 charge 0.135 # "Phenyl Ester Cipso"
+ set type @atom:414 charge -0.215 # "Phenyl Ester -OPh"
+ set type @atom:415 charge 1.48 # "Sulfonamide -SO2N<"
+ set type @atom:416 charge -0.68 # "Sulfonamide -SO2N<"
+ set type @atom:417 charge -0.54 # "Sulfonamide CH3-S"
+ set type @atom:418 charge 0.18 # "Sulfonamide CH3-S"
+ set type @atom:419 charge -1.0 # "Sulfonamide -SO2NH2"
+ set type @atom:420 charge 0.44 # "Sulfonamide -SO2NH2"
+ set type @atom:421 charge -0.8 # "Sulfonamide -SO2NHR"
+ set type @atom:422 charge 0.41 # "Sulfonamide -SO2NHR"
+ set type @atom:423 charge 0.18 # "N-Me Sulfonamide CH3-"
+ set type @atom:424 charge 0.03 # "N-Me Sulfonamide CH3-"
+ set type @atom:425 charge 0.39 # "Sulfonamide N-CH2-R"
+ set type @atom:426 charge -0.06 # "Sulfonamide N-CH2-R"
+ set type @atom:427 charge -0.18 # "N-Et Sulfonamide CH3-"
+ set type @atom:428 charge 0.06 # "N-Et Sulfonamide CH3-"
+ set type @atom:429 charge 0.0 # "Aryl Sulfonamide C-SO2N"
+ set type @atom:430 charge 0.03 # "Aryl Sulfoxide C-S=O"
+ set type @atom:431 charge 0.19 # "Et Ester -OCH2R"
+ set type @atom:432 charge 0.22 # "i-Pr Ester -OCHR2"
+ set type @atom:433 charge 0.25 # "t-Bu Ester -OCR3"
+ set type @atom:434 charge 1.374 # "Sulfone R-SO2-R"
+ set type @atom:435 charge -0.687 # "Sulfone R-SO2-R"
+ set type @atom:436 charge 0.245 # "Alkyl Aryl Sulfoxide"
+ set type @atom:437 charge 0.13 # "Dialkyl Sulfoxide"
+ set type @atom:438 charge -0.42 # "Sulfoxide R-SO-R"
+ set type @atom:439 charge -0.035 # "Sulfoxide CH3-SO-R"
+ set type @atom:440 charge 0.025 # "Sulfoxide -CH2-SO-R"
+ set type @atom:441 charge 0.075 # "TRP CG"
+ set type @atom:442 charge -0.055 # "TRP CD"
+ set type @atom:443 charge 0.13 # "TRP CE"
+ set type @atom:444 charge -0.57 # "TRP NE, HID ND & HIE NE"
+ set type @atom:445 charge 0.42 # "TRP HNE & HID/HIE HN"
+ set type @atom:446 charge -0.005 # "HIS CB"
+ set type @atom:447 charge 0.295 # "HID & HIE CE1"
+ set type @atom:448 charge -0.015 # "HID CD2 & HIE CG"
+ set type @atom:449 charge 0.015 # "HID CG & HIE CD2"
+ set type @atom:450 charge 0.385 # "HIP CE1"
+ set type @atom:451 charge 0.215 # "HIP CG & CD2"
+ set type @atom:452 charge -0.49 # "HID NE & HIE ND"
+ set type @atom:453 charge -0.54 # "HIP ND & NE"
+ set type @atom:454 charge 0.46 # "HIP HND & HNE"
+ set type @atom:455 charge -0.115 # "TRP CD1"
+ set type @atom:456 charge 0.055 # "i-Pr Benzene -CHMe2"
+ set type @atom:457 charge 0.115 # "t-Bu Benzene -CMe3"
+ set type @atom:458 charge -0.03 # "Vinyl Ether =CH-OR"
+ set type @atom:459 charge 0.085 # "Vinyl Ether =CR-OR"
+ set type @atom:460 charge 0.0 # "Biphenyl C1"
+ set type @atom:461 charge -0.678 # "Pyridine N"
+ set type @atom:462 charge 0.473 # "Pyridine C1"
+ set type @atom:463 charge -0.447 # "Pyridine C2"
+ set type @atom:464 charge 0.227 # "Pyridine C3"
+ set type @atom:465 charge 0.012 # "Pyridine H1"
+ set type @atom:466 charge 0.155 # "Pyridine H2"
+ set type @atom:467 charge 0.065 # "Pyridine H3"
+ set type @atom:468 charge -0.468 # "Pyrazine N"
+ set type @atom:469 charge 0.192 # "Pyrazine CH"
+ set type @atom:470 charge 0.042 # "Pyrazine CH"
+ set type @atom:471 charge -0.839 # "Pyrimidine N"
+ set type @atom:472 charge 0.874 # "Pyrimidine C2"
+ set type @atom:473 charge 0.653 # "Pyrimidine C4"
+ set type @atom:474 charge -0.689 # "Pyrimidine C5"
+ set type @atom:475 charge -0.032 # "Pyrimidine HC2"
+ set type @atom:476 charge 0.011 # "Pyrimidine HC4"
+ set type @atom:477 charge 0.197 # "Pyrimidine HC5"
+ set type @atom:478 charge -0.331 # "Pyridazine N"
+ set type @atom:479 charge 0.378 # "Pyridazine C3"
+ set type @atom:480 charge -0.16 # "Pyridazine C4"
+ set type @atom:481 charge -0.009 # "Pyridazine HC3"
+ set type @atom:482 charge 0.122 # "Pyridazine HC4"
+ set type @atom:483 charge -0.239 # "Pyrrole N"
+ set type @atom:484 charge -0.163 # "Pyrrole C2"
+ set type @atom:485 charge -0.149 # "Pyrrole C3"
+ set type @atom:486 charge 0.317 # "Pyrrole HN"
+ set type @atom:487 charge 0.155 # "Pyrrole HC2"
+ set type @atom:488 charge 0.118 # "Pyrrole HC3"
+ set type @atom:489 charge -0.059 # "Pyrazole N1"
+ set type @atom:490 charge -0.491 # "Pyrazole N2"
+ set type @atom:491 charge 0.246 # "Pyrazole C3"
+ set type @atom:492 charge -0.32 # "Pyrazole C4"
+ set type @atom:493 charge -0.034 # "Pyrazole C5"
+ set type @atom:494 charge 0.301 # "Pyrazole HN1"
+ set type @atom:495 charge 0.072 # "Pyrazole HC3"
+ set type @atom:496 charge 0.15 # "Pyrazole HC4"
+ set type @atom:497 charge 0.135 # "Pyrazole HC5"
+ set type @atom:498 charge -0.257 # "Imidazole N1"
+ set type @atom:499 charge 0.275 # "Imidazole C2"
+ set type @atom:500 charge -0.563 # "Imidazole N3"
+ set type @atom:501 charge 0.185 # "Imidazole C4"
+ set type @atom:502 charge -0.286 # "Imidazole C5"
+ set type @atom:503 charge 0.306 # "Imidazole HN1"
+ set type @atom:504 charge 0.078 # "Imidazole HC2"
+ set type @atom:505 charge 0.075 # "Imidazole HC4"
+ set type @atom:506 charge 0.187 # "Imidazole HC5"
+ set type @atom:507 charge -0.19 # "Furan O"
+ set type @atom:508 charge -0.019 # "Furan C2"
+ set type @atom:509 charge -0.154 # "Furan C3"
+ set type @atom:510 charge 0.142 # "Furan HC2"
+ set type @atom:511 charge 0.126 # "Furan HC3"
+ set type @atom:512 charge -0.257 # "Oxazole O"
+ set type @atom:513 charge 0.511 # "Oxazole C2"
+ set type @atom:514 charge -0.59 # "Oxazole N"
+ set type @atom:515 charge 0.169 # "Oxazole C4"
+ set type @atom:516 charge -0.148 # "Oxazole C5"
+ set type @atom:517 charge 0.043 # "Oxazole HC2"
+ set type @atom:518 charge 0.091 # "Oxazole HC4"
+ set type @atom:519 charge 0.181 # "Oxazole HC5"
+ set type @atom:520 charge -0.122 # "Isoxazole O"
+ set type @atom:521 charge -0.413 # "Isoxazole N"
+ set type @atom:522 charge 0.405 # "Isoxazole C3"
+ set type @atom:523 charge -0.455 # "Isoxazole C4"
+ set type @atom:524 charge 0.25 # "Isoxazole C5"
+ set type @atom:525 charge 0.053 # "Isoxazole HC3"
+ set type @atom:526 charge 0.184 # "Isoxazole HC4"
+ set type @atom:527 charge 0.098 # "Isoxazole HC5"
+ set type @atom:528 charge -0.5 # "Indole N1"
+ set type @atom:529 charge 0.001 # "Indole C2"
+ set type @atom:530 charge -0.39 # "Indole C3"
+ set type @atom:531 charge -0.27 # "Indole C4"
+ set type @atom:532 charge -0.127 # "Indole C5"
+ set type @atom:533 charge -0.108 # "Indole C6"
+ set type @atom:534 charge -0.258 # "Indole C7"
+ set type @atom:535 charge 0.22 # "Indole C8"
+ set type @atom:536 charge 0.225 # "Indole C9"
+ set type @atom:537 charge 0.376 # "Indole HN1"
+ set type @atom:538 charge 0.147 # "Indole HC2"
+ set type @atom:539 charge 0.172 # "Indole HC3"
+ set type @atom:540 charge 0.155 # "Indole HC4"
+ set type @atom:541 charge 0.107 # "Indole HC5"
+ set type @atom:542 charge 0.11 # "Indole HC6"
+ set type @atom:543 charge 0.14 # "Indole HC7"
+ set type @atom:544 charge -0.694 # "Quinoline N1"
+ set type @atom:545 charge 0.425 # "Quinoline C2"
+ set type @atom:546 charge -0.359 # "Quinoline C3"
+ set type @atom:547 charge -0.008 # "Quinoline C4"
+ set type @atom:548 charge -0.197 # "Quinoline C5"
+ set type @atom:549 charge -0.112 # "Quinoline C6"
+ set type @atom:550 charge -0.07 # "Quinoline C7"
+ set type @atom:551 charge -0.307 # "Quinoline C8"
+ set type @atom:552 charge 0.563 # "Quinoline C9"
+ set type @atom:553 charge -0.051 # "Quinoline C10"
+ set type @atom:554 charge 0.028 # "Quinoline HC2"
+ set type @atom:555 charge 0.146 # "Quinoline HC3"
+ set type @atom:556 charge 0.119 # "Quinoline HC4"
+ set type @atom:557 charge 0.133 # "Quinoline HC5"
+ set type @atom:558 charge 0.113 # "Quinoline HC6"
+ set type @atom:559 charge 0.114 # "Quinoline HC7"
+ set type @atom:560 charge 0.157 # "Quinoline HC8"
+ set type @atom:561 charge -0.76 # "Purine N1"
+ set type @atom:562 charge 0.679 # "Purine C2"
+ set type @atom:563 charge -0.788 # "Purine N3"
+ set type @atom:564 charge 0.736 # "Purine C4"
+ set type @atom:565 charge 0.038 # "Purine C5"
+ set type @atom:566 charge 0.343 # "Purine C6"
+ set type @atom:567 charge -0.642 # "Purine N7"
+ set type @atom:568 charge 0.452 # "Purine C8"
+ set type @atom:569 charge -0.682 # "Purine N9"
+ set type @atom:570 charge 0.024 # "Purine HC2"
+ set type @atom:571 charge 0.101 # "Purine HC6"
+ set type @atom:572 charge 0.086 # "Purine HC8"
+ set type @atom:573 charge 0.413 # "Purine HN9"
+ set type @atom:574 charge -0.03 # "Thiazole S"
+ set type @atom:575 charge 0.242 # "Thiazole C2"
+ set type @atom:576 charge -0.515 # "Thiazole N"
+ set type @atom:577 charge 0.228 # "Thiazole C4"
+ set type @atom:578 charge -0.299 # "Thiazole C5"
+ set type @atom:579 charge 0.101 # "Thiazole HC2"
+ set type @atom:580 charge 0.068 # "Thiazole HC4"
+ set type @atom:581 charge 0.205 # "Thiazole HC5"
+ set type @atom:582 charge -0.951 # "1,3,5-Triazine N"
+ set type @atom:583 charge 0.965 # "1,3,5-Triazine CH"
+ set type @atom:584 charge -0.014 # "1,3,5-Triazine CH"
+ set type @atom:585 charge 0.13 # "Serotonin C5-OH"
+ set type @atom:586 charge 0.052 # "Serotonin CH2 on C3"
+ set type @atom:587 charge -0.599 # "1,10-Phenanthroline N"
+ set type @atom:588 charge 0.392 # "1,10-Phenanthroline C2"
+ set type @atom:589 charge -0.348 # "1,10-Phenanthroline C3"
+ set type @atom:590 charge 0.02 # "1,10-Phenanthroline C4"
+ set type @atom:591 charge -0.042 # "1,10-Phenanthroline C12"
+ set type @atom:592 charge 0.347 # "1,10-Phenanthroline C11"
+ set type @atom:593 charge -0.196 # "1,10-Phenanthroline C5"
+ set type @atom:594 charge 0.032 # "1,10-Phenanthroline HC2"
+ set type @atom:595 charge 0.146 # "1,10-Phenanthroline HC3"
+ set type @atom:596 charge 0.108 # "1,10-Phenanthroline HC4"
+ set type @atom:597 charge 0.14 # "1,10-Phenanthroline HC5"
+ set type @atom:598 charge 0.122 # "1-Methylimidazole N1"
+ set type @atom:599 charge 0.166 # "1-Methylimidazole C2"
+ set type @atom:600 charge -0.58 # "1-Methylimidazole N3"
+ set type @atom:601 charge 0.173 # "1-Methylimidazole C4"
+ set type @atom:602 charge -0.395 # "1-Methylimidazole C5"
+ set type @atom:603 charge -0.199 # "1-Methylimidazole CH3-"
+ set type @atom:604 charge 0.118 # "1-Methylimidazole HC2"
+ set type @atom:605 charge 0.093 # "1-Methylimidazole HC4"
+ set type @atom:606 charge 0.208 # "1-Methylimidazole HC5"
+ set type @atom:607 charge 0.098 # "1-Methylimidazole CH3-"
+ set type @atom:608 charge -0.139 # "1-Et Imidazole RCH2-"
+ set type @atom:609 charge -0.079 # "1-iPr Imidazole R2CH-"
+ set type @atom:610 charge 0.099 # "1-MeO-Me-Imidazole CH2"
+ set type @atom:611 charge -0.168 # "2-Me Pyridine CH3"
+ set type @atom:612 charge -0.108 # "2-Et Pyridine CH2"
+ set type @atom:613 charge -0.189 # "3-Me Pyridazine CH3"
+ set type @atom:614 charge -0.129 # "3-Et Pyridazine CH2"
+ set type @atom:615 charge -0.169 # "4-Me Pyrimidine CH3"
+ set type @atom:616 charge -0.109 # "4-Et Pyrimidine CH2"
+ set type @atom:617 charge -0.138 # "2-Me Pyrazine CH3"
+ set type @atom:618 charge -0.078 # "2-Et Pyrazine CH2"
+ set type @atom:619 charge -0.025 # "2-Me Pyrrole CH3"
+ set type @atom:620 charge 0.035 # "2-Et Pyrrole CH2"
+ set type @atom:621 charge -0.038 # "2-Me Furan CH3"
+ set type @atom:622 charge 0.022 # "2-Et Furan CH2"
+ set type @atom:623 charge -0.334 # "6-Mercaptopurine SH"
+ set type @atom:624 charge 0.255 # "6-Mercaptopurine SH"
+ set type @atom:625 charge 0.523 # "6-Mercaptopurine C6"
+ set type @atom:626 charge 0.5 # "Beta-Lactam N-C=O"
+ set type @atom:627 charge -0.14 # "Beta-Lactam N-C=O"
+ set type @atom:628 charge 0.2275 # "Penicillin CH-N"
+ set type @atom:629 charge 0.14 # "Penicillin CH-CO"
+ set type @atom:630 charge -0.008 # "3-Me Indole CH3"
+ set type @atom:631 charge 0.588 # "2-Phenyl Pyridine C2"
+ set type @atom:632 charge -0.103 # "2-Phenyl Pyridine C2'"
+ set type @atom:633 charge -0.332 # "2-Phenyl Pyridine C3"
+ set type @atom:634 charge 0.04 # "2-Phenyl Pyridine C3'"
+ set type @atom:635 charge 0.342 # "2-Phenyl Pyridine C4"
+ set type @atom:636 charge -0.05 # "2-Phenyl Pyridine C4'"
+ set type @atom:637 charge -0.205 # "Diphenyl Thioether S"
+ set type @atom:638 charge 3.0 # "Actinium Ion Ac+3"
+ set type @atom:639 charge 4.0 # "Thorium Ion Th+4"
+ set type @atom:640 charge 3.0 # "Americium Ion Am+3"
+ set type @atom:641 charge 0.619 # "t-Butyl Cation C+"
+ set type @atom:642 charge -0.395 # "t-Butyl Cation CH3-"
+ set type @atom:643 charge 0.174 # "t-Butyl Cation CH3-"
+ set type @atom:644 charge 3.0 # "Lanthanum Ion La+3"
+ set type @atom:645 charge 3.0 # "Neodymium Ion Nd+3"
+ set type @atom:646 charge 3.0 # "Europium Ion Eu+3"
+ set type @atom:647 charge 3.0 # "Gadolinium Ion Gd+3"
+ set type @atom:648 charge 3.0 # "Ytterbium Ion Yb+3"
+ set type @atom:649 charge -0.344 # "Cl..CH3..Cl- Sn2 TS"
+ set type @atom:650 charge -0.628 # "Cl..CH3..Cl- Sn2 TS"
+ set type @atom:651 charge 0.2 # "Cl..CH3..Cl- Sn2 TS"
+ set type @atom:652 charge -0.12 # "Cyclopropane -CH2-"
+ set type @atom:653 charge -0.06 # "Cyclopropane -CHR-"
+ set type @atom:654 charge 0.0 # "Cyclopropane -CR2-"
+ set type @atom:655 charge -0.23 # "Cyclopentadienyl Anion"
+ set type @atom:656 charge 0.03 # "Cyclopentadienyl Anion"
+ set type @atom:657 charge -0.099 # "Cyclopentadienyl Radical"
+ set type @atom:658 charge 0.099 # "Cyclopentadienyl Radical"
+ set type @atom:659 charge 0.22 # "Fluorobenzene CF"
+ set type @atom:660 charge -0.22 # "Fluorobenzene CF"
+ set type @atom:661 charge 0.13 # "Hexafluorobenzene CF"
+ set type @atom:662 charge -0.13 # "Hexafluorobenzene CF"
+ set type @atom:663 charge -0.22 # "Bromide -CH2-Br (UA)"
+ set type @atom:664 charge 0.22 # "Bromide -CH2-Br (UA)"
+ set type @atom:665 charge 0.15 # "TrifluoroMeBenzene C-CF3"
+ set type @atom:666 charge 0.45 # "TrifluoroMeBenzene CF3-"
+ set type @atom:667 charge -0.2 # "TrifluoroMeBenzene CF3-"
+ set type @atom:668 charge 0.2 # "Difluorobenzene CF"
+ set type @atom:669 charge -0.2 # "Difluorobenzene CF"
+ set type @atom:670 charge 0.2 # "Bromobenzene CBr"
+ set type @atom:671 charge -0.2 # "Bromobenzene CBr"
+ set type @atom:672 charge 0.1 # "Iodobenzene CI"
+ set type @atom:673 charge -0.1 # "Iodobenzene CI"
+ set type @atom:674 charge 0.055 # "cProp/cBut Benzene C-Ar"
+ set type @atom:675 charge -0.22 # "Thiophenol SH"
+ set type @atom:676 charge 0.065 # "Thiophenol C-SH"
+ set type @atom:677 charge 0.013 # "Benzamidine CG"
+ set type @atom:678 charge -0.106 # "Benzamidine CD"
+ set type @atom:679 charge -0.09 # "Benzamidine CE"
+ set type @atom:680 charge -0.119 # "Benzamidine CZ"
+ set type @atom:681 charge 0.141 # "Benzamidine HCD"
+ set type @atom:682 charge 0.129 # "Benzamidine HCE"
+ set type @atom:683 charge 0.827 # "Benzamidine C+"
+ set type @atom:684 charge -0.885 # "Benzamidine -NH2"
+ set type @atom:685 charge 0.426 # "Benzamidine H1-N"
+ set type @atom:686 charge 0.465 # "Benzamidine H2-N"
+ set type @atom:687 charge 0.119 # "Benzamidine HCG"
+ set type @atom:688 charge -0.02 # "Neutral MeGdn CH3-"
+ set type @atom:689 charge 0.04 # "Neutral ARG CD"
+ set type @atom:690 charge -0.62 # "Neutral ARG NE"
+ set type @atom:691 charge -0.785 # "Neutral ARG N1 (HN=C)"
+ set type @atom:692 charge -0.785 # "Neutral ARG N2 (H2N-C)"
+ set type @atom:693 charge 0.55 # "Neutral ARG CZ (>C=)"
+ set type @atom:694 charge -0.56 # "Alkyl Nitrile -CN"
+ set type @atom:695 charge 0.46 # "Alkyl Nitrile -CN"
+ set type @atom:696 charge -0.08 # "Acetonitrile CH3-CN"
+ set type @atom:697 charge -0.02 # "Alkyl Nitrile RCH2-CN"
+ set type @atom:698 charge 0.04 # "Alkyl Nitrile R2CH-CN"
+ set type @atom:699 charge 0.1 # "Alkyl Nitrile R3C-CN"
+ set type @atom:700 charge 0.06 # "Alkyl Nitrile H-C-CN"
+ set type @atom:701 charge 0.54 # "Nitroalkane -NO2"
+ set type @atom:702 charge -0.37 # "Nitroalkane -NO2"
+ set type @atom:703 charge 0.02 # "Nitromethane CH3-NO2"
+ set type @atom:704 charge 0.06 # "Nitroalkane H-C-NO2"
+ set type @atom:705 charge 0.08 # "Nitroalkane RCH2-NO2"
+ set type @atom:706 charge 0.14 # "Nitroalkane R2CH-NO2"
+ set type @atom:707 charge 0.2 # "Nitroalkane R3C-NO2"
+ set type @atom:708 charge 0.65 # "Nitrobenzene -NO2"
+ set type @atom:709 charge 0.09 # "Nitrobenzene C-NO2"
+ set type @atom:710 charge 0.035 # "Benzonitrile -CH2-"
+ set type @atom:711 charge -0.9 # "Neutral Benzamidine N"
+ set type @atom:712 charge -0.5 # "Propylene Carbonate C=O"
+ set type @atom:713 charge 0.86 # "Propylene Carbonate C=O"
+ set type @atom:714 charge -0.45 # "Propylene Carbonate C-O"
+ set type @atom:715 charge 0.21 # "Propylene Carbonate CH2"
+ set type @atom:716 charge 0.16 # "Propylene Carbonate CH"
+ set type @atom:717 charge -0.1 # "Propylene Carbonate CH3"
+ set type @atom:718 charge 0.03 # "Propylene Carbonate CH2"
+ set type @atom:719 charge 0.03 # "Propylene Carbonate CH"
+ set type @atom:720 charge 0.06 # "Propylene Carbonate CH3"
+ set type @atom:721 charge -0.78 # "GTP O-(POn)2"
+ set type @atom:722 charge 0.9684 # "Phosphonium R4P+"
+ set type @atom:723 charge -0.5081 # "Phosphonium CH3-PR3+"
+ set type @atom:724 charge -0.008 # "Phosphonium RCH2-PR3+"
+ set type @atom:725 charge 0.172 # "Phosphonium CH3-PR3+"
+ set type @atom:726 charge 1.34 # "Hexafluorophosphate Ion"
+ set type @atom:727 charge -0.39 # "Hexafluorophosphate Ion"
+ set type @atom:728 charge 0.794 # "Nitrate Ion NO3-"
+ set type @atom:729 charge -0.598 # "Nitrate Ion NO3-"
+ set type @atom:730 charge -0.9 # "Amine RNH2"
+ set type @atom:731 charge -0.78 # "Amine R2NH"
+ set type @atom:732 charge -0.63 # "Amine R3N"
+ set type @atom:733 charge 0.0 # "Amine CH3-NH2"
+ set type @atom:734 charge 0.02 # "Amine CH3-NHR"
+ set type @atom:735 charge 0.03 # "Amine CH3-NR2"
+ set type @atom:736 charge 0.06 # "Amine RCH2-NH2"
+ set type @atom:737 charge 0.08 # "Amine RCH2-NHR"
+ set type @atom:738 charge 0.09 # "Amine RCH2-NR2"
+ set type @atom:739 charge 0.36 # "Amine RNH2"
+ set type @atom:740 charge 0.38 # "Amine R2NH"
+ set type @atom:741 charge 0.06 # "Amine H-C-N"
+ set type @atom:742 charge 0.12 # "Amine R2CH-NH2"
+ set type @atom:743 charge 0.18 # "Amine R3C-NH2"
+ set type @atom:744 charge 0.14 # "Amine R2CH-NHR"
+ set type @atom:745 charge 0.15 # "Amine R2CH-NR2"
+ set type @atom:746 charge 0.18 # "Aniline C-NH2"
+ set type @atom:747 charge 0.2 # "N-Me Aniline C-NHR"
+ set type @atom:748 charge 0.21 # "N-DiMe Aniline C-NR2"
+ set type @atom:749 charge 0.115 # "Benzyl Amine -CH2NH2"
+ set type @atom:750 charge 0.175 # "Benzyl Amine -CHRNH2"
+ set type @atom:751 charge 0.235 # "Benzyl Amine -CR2NH2"
+ set type @atom:752 charge 0.195 # "Benzyl Ether -CH2OR"
+ set type @atom:753 charge 0.1525 # "Benzyl Sulfide -CH2SH"
+ set type @atom:754 charge 0.135 # "Benzyl Amine -CH2NHR"
+ set type @atom:755 charge -0.21 # "Alkyne HCC-"
+ set type @atom:756 charge 0.2 # "Alkyne HCC-"
+ set type @atom:757 charge 0.01 # "Alkyne RCCH R w/ 2/3 H"
+ set type @atom:758 charge 0.01 # "Alkyne RCCH R w/ 1 H"
+ set type @atom:759 charge 0.01 # "Alkyne RCCH R w/ O H/Ph"
+ set type @atom:760 charge 0.06 # "Alkyne H-C-CC-"
+ set type @atom:761 charge 0.45 # "A & G Sugar C1'"
+ set type @atom:762 charge 0.48 # "C Sugar C1'"
+ set type @atom:763 charge 0.51 # "U & T Sugar C1'"
+ set type @atom:764 charge -0.655 # "Sugar O5'"
+ set type @atom:765 charge 0.39 # "Sugar H3' (-OH)"
+ set type @atom:766 charge -0.5 # "A & G Nucleoside N9"
+ set type @atom:767 charge -0.56 # "C Nucleoside N1"
+ set type @atom:768 charge -0.6 # "U & T Nucleoside N1"
+ set type @atom:769 charge 0.0 # "Alkyne RCCR"
+ set type @atom:770 charge -0.1 # "Ammonium R3NH+"
+ set type @atom:771 charge 0.29 # "Ammonium R3NH+"
+ set type @atom:772 charge 0.09 # "Ammonium CH3-NHR2+"
+ set type @atom:773 charge 0.15 # "Ammonium RCH2-NHR2+"
+ set type @atom:774 charge 0.21 # "Ammonium R2CH-NHR2+"
+ set type @atom:775 charge 0.27 # "Ammonium R3C-NHR2+"
+ set type @atom:776 charge 0.096 # "2-Phenyl Furan C2"
+ set type @atom:777 charge -0.039 # "2-Phenyl Furan C3"
+ set type @atom:778 charge 0.027 # "2-Phenyl Furan C2'"
+ set type @atom:779 charge 0.011 # "2-Phenyl Furan C3'"
+ set type @atom:780 charge 0.074 # "GLY Zwitterion HA"
+ set type @atom:781 charge -0.029 # "GLY Zwitterion CA"
+ set type @atom:782 charge 0.7 # "GLY Zwitterion C"
+ set type @atom:783 charge -0.352 # "GLY Zwitterion N"
+ set type @atom:784 charge -0.709 # "GLY Zwitterion O"
+ set type @atom:785 charge 0.317 # "GLY Zwitterion HN"
+ set type @atom:786 charge -0.22 # "Alkyl Fluoride C-F"
+ set type @atom:787 charge 0.02 # "Alkyl Fluoride RCH2-F"
+ set type @atom:788 charge 0.1 # "Alkyl Fluoride H-C-F"
+ set type @atom:789 charge 0.12 # "Alkyl Fluoride R2CH-F"
+ set type @atom:790 charge 0.22 # "Alkyl Fluoride R3C-F"
+ set type @atom:791 charge 0.36 # "Perfluoroalkane CF3-"
+ set type @atom:792 charge 0.24 # "Perfluoroalkane -CF2-"
+ set type @atom:793 charge 0.12 # "Perfluoroalkane >CF-"
+ set type @atom:794 charge 0.48 # "Tetrafluoromethane CF4"
+ set type @atom:795 charge -0.12 # "Perfluoroalkane C-F"
+ set type @atom:796 charge 0.25 # "DifluoroMeBenzene -CHF2"
+ set type @atom:797 charge 0.15 # "DifluoroMeBenzene -CHF2"
+ set type @atom:798 charge -0.08 # "Fluoroacetate FCH2-COO-"
+ set type @atom:799 charge -0.106 # "Chloroacetate ClCH2-COO-"
+ set type @atom:800 charge -0.2 # "Alkyl Chloride C-Cl"
+ set type @atom:801 charge -0.006 # "Alkyl Chloride RCH2-Cl"
+ set type @atom:802 charge 0.103 # "Alkyl Chloride H-C-Cl"
+ set type @atom:803 charge 0.097 # "Alkyl Chloride R2CH-Cl"
+ set type @atom:804 charge 0.2 # "Alkyl Chloride R3C-Cl"
+ set type @atom:805 charge -0.2 # "Alkyl Bromide C-Br"
+ set type @atom:806 charge -0.006 # "Alkyl Bromide RCH2-Br"
+ set type @atom:807 charge 0.103 # "Alkyl Bromide H-C-Br"
+ set type @atom:808 charge 0.097 # "Alkyl Bromide R2CH-Br"
+ set type @atom:809 charge 0.2 # "Alkyl Bromide R3C-Br"
+ set type @atom:810 charge -0.08 # "Acyl Fluoride F-C=O"
+ set type @atom:811 charge -0.08 # "Acyl Chloride Cl-C=O"
+ set type @atom:812 charge -0.08 # "Acyl Bromide Br-C=O"
+ set type @atom:813 charge 0.1 # "Trifluoroanisole C-OCF3"
+ set type @atom:814 charge -0.25 # "Trifluoroanisole -OCF3"
+ set type @atom:815 charge 0.6 # "Trifluoroanisole -OCF3"
+ set type @atom:816 charge -0.15 # "Trifluoroanisole -OCF3"
+ set type @atom:817 charge -0.025 # "N-Me,N-PhAcetamide N"
+ set type @atom:818 charge -0.045 # "N-Me,N-PhAcetamide Cipso"
+ set type @atom:819 charge 0.145 # "Benzyl Amine -CH2NR2"
+ set type @atom:820 charge 0.888 # "Alkyl Hydroxamic Acid C"
+ set type @atom:821 charge 1.003 # "Aryl Hydroxamic Acid C"
+ set type @atom:822 charge -0.658 # "Hydroxamic Acid C=O"
+ set type @atom:823 charge -0.634 # "Hydroxamic Acid N"
+ set type @atom:824 charge 0.411 # "Hydroxamic Acid HN"
+ set type @atom:825 charge -0.442 # "Hydroxamic Acid OH"
+ set type @atom:826 charge 0.435 # "Hydroxamic Acid OH"
+ set type @atom:827 charge 0.225 # "Benzyl Ether -CHROR"
+ set type @atom:828 charge 0.255 # "Benzyl Ether -CR2OR"
+ set type @atom:829 charge -0.034 # "3-Phenyl Pyrrole C3"
+ set type @atom:830 charge 0.003 # "3-Phenyl Pyrrole C3'"
+ set type @atom:831 charge 0.3 # "4-Phenyl Imidazole C4"
+ set type @atom:832 charge -0.04 # "4-Phenyl Imidazole C4'"
+ set type @atom:833 charge -0.0575 # "Diphenylmethane Cipso"
+ set type @atom:834 charge 2.0 # "Zinc Ion Zn+2"
+ set type @atom:835 charge -0.07 # "Alkyl Iodide RCH2-I"
+ set type @atom:836 charge 0.03 # "Alkyl Iodide R2CH-I"
+ set type @atom:837 charge 0.13 # "Alkyl Iodide R3C-I"
+ set type @atom:838 charge -0.13 # "Alkyl Iodide C-I"
+ set type @atom:839 charge 0.1 # "Alkyl Iodide H-C-I"
+ set type @atom:840 charge -0.685 # "N-Ph Sulfonamide -NHPh"
+ set type @atom:841 charge 0.155 # "N-Ph Sulfonamide Cipso"
+ set type @atom:842 charge -0.1 # "Benzoate C-COO-"
+ set type @atom:843 charge -0.427 # "N-Phenyl Urea N"
+ set type @atom:844 charge 0.218 # "N-Phenyl Urea Cipso"
+ set type @atom:845 charge 0.6 # "Tertiary Amide -CO-NR2"
+ set type @atom:846 charge -0.6 # "Tertiary Amide -CO-NR2"
+ set type @atom:847 charge -0.36 # "Tertiary Amide -CO-NR2"
+ set type @atom:848 charge 0.0 # "Tertiary Amide -NRCH3"
+ set type @atom:849 charge 0.06 # "Tertiary Amide -NRCH2R"
+ set type @atom:850 charge 0.12 # "Tertiary Amide -NRCHR2"
+ set type @atom:851 charge 0.18 # "Tertiary Amide -NRCR3"
+ set type @atom:852 charge 0.06 # "Tertiary Amide H-C-N"
+ set type @atom:853 charge 0.57 # "Tertiary Formamide C=O"
+ set type @atom:854 charge -0.57 # "Tertiary Formamide C=O"
+ set type @atom:855 charge 0.0 # "Tertiary Formamide H-C=O"
+ set type @atom:856 charge 0.02 # "B2-Peptide CA"
+ set type @atom:857 charge -0.04 # "B3-Peptide CA Main/N-Ter"
+ set type @atom:858 charge 0.0 # "B3-Pep CB GLY Main/C-Ter"
+ set type @atom:859 charge 0.06 # "B3-Pep CB ALA Main/C-Ter"
+ set type @atom:860 charge -0.07 # "B3-Pep CB PRO Main/C-Ter"
+ set type @atom:861 charge -0.14 # "B3-Peptide CA C-Ter"
+ set type @atom:862 charge 0.17 # "B3-Peptide CB ALA N-Ter"
+ set type @atom:863 charge 0.11 # "B3-Peptide CB GLY N-Ter"
+ set type @atom:864 charge 0.15 # "B3-Peptide CB PRO N-Ter"
+ set type @atom:865 charge 0.17 # "B3-Peptide CE PRO N-Ter"
+ set type @atom:866 charge 1.0 # "Alkyl Silane R4Si"
+ set type @atom:867 charge 0.85 # "Alkyl Silane R3SiH"
+ set type @atom:868 charge 0.7 # "Alkyl Silane R2SiH2"
+ set type @atom:869 charge 0.55 # "Alkyl Silane RSiH3"
+ set type @atom:870 charge -0.1 # "Alkyl Silane H-C-Si"
+ set type @atom:871 charge -0.43 # "Methyl Silane CH3-Si"
+ set type @atom:872 charge -0.37 # "Alkyl Silane RCH2-Si"
+ set type @atom:873 charge -0.31 # "Alkyl Silane R2CH-Si"
+ set type @atom:874 charge -0.25 # "Alkyl Silane R3C-Si"
+ set type @atom:875 charge -1.0 # "Fluoride Ion (GBSA)"
+ set type @atom:876 charge -1.0 # "Chloride Ion (GBSA)"
+ set type @atom:877 charge -1.0 # "Bromide Ion (GBSA)"
+ set type @atom:878 charge -1.0 # "Iodide Ion (GBSA)"
+ set type @atom:879 charge 1.0 # "Lithium Ion (GBSA)"
+ set type @atom:880 charge 1.0 # "Sodium Ion (GBSA)"
+ set type @atom:881 charge 1.0 # "Potassium Ion (GBSA)"
+ set type @atom:882 charge 1.0 # "Rubidium Ion (GBSA)"
+ set type @atom:883 charge 1.0 # "Cesium Ion (GBSA)"
+ set type @atom:884 charge 2.0 # "Magnesium Ion (GBSA)"
+ set type @atom:885 charge 2.0 # "Calcium Ion (GBSA)"
+ set type @atom:886 charge 2.0 # "Strontium Ion (GBSA)"
+ set type @atom:887 charge 2.0 # "Barium Ion (GBSA)"
+ set type @atom:888 charge -0.05 # "Ammonium CH3-NR3+"
+ set type @atom:889 charge 0.05 # "Ammonium RCH2-NR3+"
+ set type @atom:890 charge 0.15 # "Ammonium R2CH-NR3+"
+ set type @atom:891 charge 0.25 # "Ammonium R3C-NR3+"
+ set type @atom:892 charge 0.1 # "Ammonium CH3-NR3+"
+ set type @atom:893 charge 0.115 # "Anilinium Ar-NR3+"
+ set type @atom:894 charge 0.135 # "Anilinium C-NR3+"
+ set type @atom:895 charge 0.015 # "Anilinium Ar-NHR2+"
+ set type @atom:896 charge 0.155 # "Anilinium C-NHR2+"
+ set type @atom:897 charge 0.0 # "Triene R2-C= (mid C=C)"
+ set type @atom:898 charge -0.115 # "Triene RH-C= (mid C=C)"
+ set type @atom:899 charge 0.15 # "Allene/Ketene H-C=C=X"
+ set type @atom:900 charge -0.25 # "Allene/Ketene H2C=C=X"
+ set type @atom:901 charge -0.1 # "Allene/Ketene HRC=C=X"
+ set type @atom:902 charge 0.05 # "Allene/Ketene R2C=C=X"
+ set type @atom:903 charge -0.1 # "Allene =C="
+ set type @atom:904 charge 0.2 # "Ketene =C="
+ set type @atom:905 charge -0.25 # "Ketene C=O"
+ set type @atom:906 charge 0.088 # "N-Me-HIS CB"
+ } #(end of atom partial charges)
+
+
+ write_once("Data Masses") {
+ @atom:1 18.998
+ @atom:2 14.027
+ @atom:3 12.011
+ @atom:4 15.999
+ @atom:5 15.999
+ @atom:6 15.035
+ @atom:7 1.008
+ @atom:8 16.043
+ @atom:9 15.035
+ @atom:10 15.035
+ @atom:11 15.035
+ @atom:12 15.035
+ @atom:13 14.027
+ @atom:14 14.027
+ @atom:15 13.019
+ @atom:16 13.019
+ @atom:17 13.019
+ @atom:18 12.011
+ @atom:19 12.011
+ @atom:20 15.999
+ @atom:21 1.008
+ @atom:22 15.035
+ @atom:23 14.027
+ @atom:24 32.06
+ @atom:25 32.06
+ @atom:26 32.06
+ @atom:27 32.06
+ @atom:28 1.008
+ @atom:29 1.008
+ @atom:30 15.035
+ @atom:31 14.027
+ @atom:32 15.035
+ @atom:33 14.027
+ @atom:34 15.035
+ @atom:35 14.027
+ @atom:36 14.007
+ @atom:37 12.011
+ @atom:38 15.035
+ @atom:39 13.019
+ @atom:40 12.011
+ @atom:41 15.999
+ @atom:42 15.035
+ @atom:43 14.027
+ @atom:44 14.027
+ @atom:45 35.453
+ @atom:46 12.011
+ @atom:47 35.453
+ @atom:48 12.011
+ @atom:49 35.453
+ @atom:50 32.06
+ @atom:51 15.999
+ @atom:52 15.035
+ @atom:53 15.999
+ @atom:54 14.007
+ @atom:55 12.011
+ @atom:56 15.035
+ @atom:57 1.0
+ @atom:58 4.003
+ @atom:59 20.179
+ @atom:60 39.948
+ @atom:61 83.8
+ @atom:62 131.3
+ @atom:63 15.999
+ @atom:64 1.008
+ @atom:65 15.999
+ @atom:66 1.008
+ @atom:67 1e-30
+ @atom:68 15.999
+ @atom:69 1.008
+ @atom:70 15.999
+ @atom:71 1.008
+ @atom:72 1e-30
+ @atom:73 15.999
+ @atom:74 1.008
+ @atom:75 1e-30
+ @atom:76 15.999
+ @atom:77 1.008
+ @atom:78 14.007
+ @atom:79 1.008
+ @atom:80 12.011
+ @atom:81 12.011
+ @atom:82 12.011
+ @atom:83 12.011
+ @atom:84 12.011
+ @atom:85 1.008
+ @atom:86 12.011
+ @atom:87 12.011
+ @atom:88 12.011
+ @atom:89 1.008
+ @atom:90 12.011
+ @atom:91 1.008
+ @atom:92 12.011
+ @atom:93 12.011
+ @atom:94 12.011
+ @atom:95 12.011
+ @atom:96 15.999
+ @atom:97 1.008
+ @atom:98 1.008
+ @atom:99 12.011
+ @atom:100 12.011
+ @atom:101 12.011
+ @atom:102 12.011
+ @atom:103 12.011
+ @atom:104 15.999
+ @atom:105 1.008
+ @atom:106 18.998
+ @atom:107 1.008
+ @atom:108 12.011
+ @atom:109 15.999
+ @atom:110 1.008
+ @atom:111 15.999
+ @atom:112 1.008
+ @atom:113 15.999
+ @atom:114 1.008
+ @atom:115 12.011
+ @atom:116 12.011
+ @atom:117 12.011
+ @atom:118 1.008
+ @atom:119 15.999
+ @atom:120 12.011
+ @atom:121 15.999
+ @atom:122 15.999
+ @atom:123 12.011
+ @atom:124 12.011
+ @atom:125 12.011
+ @atom:126 12.011
+ @atom:127 1.008
+ @atom:128 15.999
+ @atom:129 15.999
+ @atom:130 1.008
+ @atom:131 12.011
+ @atom:132 1.008
+ @atom:133 12.011
+ @atom:134 1.008
+ @atom:135 12.011
+ @atom:136 1.008
+ @atom:137 12.011
+ @atom:138 1.008
+ @atom:139 12.011
+ @atom:140 12.011
+ @atom:141 12.011
+ @atom:142 32.06
+ @atom:143 32.06
+ @atom:144 32.06
+ @atom:145 32.06
+ @atom:146 1.008
+ @atom:147 1.008
+ @atom:148 12.011
+ @atom:149 12.011
+ @atom:150 12.011
+ @atom:151 12.011
+ @atom:152 12.011
+ @atom:153 12.011
+ @atom:154 12.011
+ @atom:155 12.011
+ @atom:156 12.011
+ @atom:157 12.011
+ @atom:158 12.011
+ @atom:159 12.011
+ @atom:160 12.011
+ @atom:161 12.011
+ @atom:162 12.011
+ @atom:163 12.011
+ @atom:164 32.06
+ @atom:165 12.011
+ @atom:166 12.011
+ @atom:167 12.011
+ @atom:168 35.453
+ @atom:169 12.011
+ @atom:170 12.011
+ @atom:171 12.011
+ @atom:172 12.011
+ @atom:173 12.011
+ @atom:174 12.011
+ @atom:175 12.011
+ @atom:176 12.011
+ @atom:177 12.011
+ @atom:178 15.999
+ @atom:179 14.007
+ @atom:180 14.007
+ @atom:181 14.007
+ @atom:182 1.008
+ @atom:183 1.008
+ @atom:184 12.011
+ @atom:185 12.011
+ @atom:186 12.011
+ @atom:187 12.011
+ @atom:188 12.011
+ @atom:189 12.011
+ @atom:190 15.999
+ @atom:191 14.007
+ @atom:192 1.008
+ @atom:193 14.007
+ @atom:194 12.011
+ @atom:195 15.999
+ @atom:196 1.008
+ @atom:197 1.008
+ @atom:198 12.011
+ @atom:199 12.011
+ @atom:200 12.011
+ @atom:201 12.011
+ @atom:202 12.011
+ @atom:203 12.011
+ @atom:204 14.007
+ @atom:205 12.011
+ @atom:206 35.453
+ @atom:207 14.007
+ @atom:208 12.011
+ @atom:209 12.011
+ @atom:210 15.999
+ @atom:211 15.999
+ @atom:212 1.008
+ @atom:213 12.011
+ @atom:214 15.999
+ @atom:215 12.011
+ @atom:216 12.011
+ @atom:217 12.011
+ @atom:218 12.011
+ @atom:219 12.011
+ @atom:220 15.999
+ @atom:221 1.008
+ @atom:222 12.011
+ @atom:223 15.999
+ @atom:224 1.008
+ @atom:225 12.011
+ @atom:226 12.011
+ @atom:227 12.011
+ @atom:228 12.011
+ @atom:229 14.007
+ @atom:230 14.007
+ @atom:231 14.007
+ @atom:232 1.008
+ @atom:233 1.008
+ @atom:234 12.011
+ @atom:235 12.011
+ @atom:236 12.011
+ @atom:237 12.011
+ @atom:238 12.011
+ @atom:239 12.011
+ @atom:240 12.011
+ @atom:241 12.011
+ @atom:242 12.011
+ @atom:243 14.007
+ @atom:244 1.008
+ @atom:245 12.011
+ @atom:246 14.007
+ @atom:247 1.008
+ @atom:248 12.011
+ @atom:249 12.011
+ @atom:250 12.011
+ @atom:251 12.011
+ @atom:252 14.007
+ @atom:253 1.008
+ @atom:254 14.007
+ @atom:255 12.011
+ @atom:256 14.007
+ @atom:257 1.008
+ @atom:258 12.011
+ @atom:259 1.008
+ @atom:260 12.011
+ @atom:261 1.008
+ @atom:262 14.007
+ @atom:263 12.011
+ @atom:264 14.007
+ @atom:265 12.011
+ @atom:266 12.011
+ @atom:267 12.011
+ @atom:268 1.008
+ @atom:269 15.999
+ @atom:270 1.008
+ @atom:271 15.999
+ @atom:272 1.008
+ @atom:273 1.008
+ @atom:274 12.011
+ @atom:275 1.008
+ @atom:276 14.007
+ @atom:277 12.011
+ @atom:278 14.007
+ @atom:279 12.011
+ @atom:280 12.011
+ @atom:281 12.011
+ @atom:282 1.008
+ @atom:283 15.999
+ @atom:284 14.007
+ @atom:285 1.008
+ @atom:286 1.008
+ @atom:287 1.008
+ @atom:288 1.008
+ @atom:289 14.007
+ @atom:290 12.011
+ @atom:291 14.007
+ @atom:292 12.011
+ @atom:293 12.011
+ @atom:294 12.011
+ @atom:295 14.007
+ @atom:296 12.011
+ @atom:297 14.007
+ @atom:298 1.008
+ @atom:299 14.007
+ @atom:300 1.008
+ @atom:301 1.008
+ @atom:302 1.008
+ @atom:303 1.008
+ @atom:304 14.007
+ @atom:305 12.011
+ @atom:306 14.007
+ @atom:307 12.011
+ @atom:308 12.011
+ @atom:309 12.011
+ @atom:310 1.008
+ @atom:311 14.007
+ @atom:312 1.008
+ @atom:313 15.999
+ @atom:314 12.011
+ @atom:315 1.008
+ @atom:316 12.011
+ @atom:317 1.008
+ @atom:318 12.011
+ @atom:319 1.008
+ @atom:320 14.007
+ @atom:321 12.011
+ @atom:322 14.007
+ @atom:323 12.011
+ @atom:324 12.011
+ @atom:325 12.011
+ @atom:326 1.008
+ @atom:327 15.999
+ @atom:328 1.008
+ @atom:329 14.007
+ @atom:330 1.008
+ @atom:331 1.008
+ @atom:332 1.008
+ @atom:333 1.008
+ @atom:334 12.011
+ @atom:335 1.008
+ @atom:336 30.974
+ @atom:337 15.999
+ @atom:338 15.999
+ @atom:339 15.035
+ @atom:340 12.011
+ @atom:341 35.453
+ @atom:342 12.011
+ @atom:343 18.998
+ @atom:344 35.453
+ @atom:345 79.904
+ @atom:346 126.905
+ @atom:347 18.039
+ @atom:348 6.941
+ @atom:349 22.99
+ @atom:350 39.098
+ @atom:351 85.468
+ @atom:352 132.905
+ @atom:353 24.305
+ @atom:354 40.08
+ @atom:355 87.62
+ @atom:356 137.33
+ @atom:357 12.011
+ @atom:358 1.008
+ @atom:359 32.06
+ @atom:360 12.011
+ @atom:361 1.008
+ @atom:362 15.999
+ @atom:363 12.011
+ @atom:364 1.008
+ @atom:365 12.011
+ @atom:366 14.007
+ @atom:367 12.011
+ @atom:368 1.008
+ @atom:369 14.007
+ @atom:370 1.008
+ @atom:371 12.011
+ @atom:372 1.008
+ @atom:373 12.011
+ @atom:374 1.008
+ @atom:375 1e-30
+ @atom:376 15.999
+ @atom:377 1.008
+ @atom:378 238.029
+ @atom:379 15.999
+ @atom:380 15.999
+ @atom:381 30.974
+ @atom:382 15.999
+ @atom:383 15.999
+ @atom:384 12.011
+ @atom:385 1.008
+ @atom:386 30.974
+ @atom:387 15.999
+ @atom:388 15.999
+ @atom:389 12.011
+ @atom:390 1.008
+ @atom:391 30.974
+ @atom:392 15.999
+ @atom:393 15.999
+ @atom:394 12.011
+ @atom:395 1.008
+ @atom:396 12.011
+ @atom:397 1.008
+ @atom:398 12.011
+ @atom:399 12.011
+ @atom:400 1.008
+ @atom:401 12.011
+ @atom:402 12.011
+ @atom:403 1.008
+ @atom:404 12.011
+ @atom:405 12.011
+ @atom:406 12.011
+ @atom:407 15.999
+ @atom:408 15.999
+ @atom:409 12.011
+ @atom:410 1.008
+ @atom:411 12.011
+ @atom:412 12.011
+ @atom:413 12.011
+ @atom:414 15.999
+ @atom:415 32.06
+ @atom:416 15.999
+ @atom:417 12.011
+ @atom:418 1.008
+ @atom:419 14.007
+ @atom:420 1.008
+ @atom:421 14.007
+ @atom:422 1.008
+ @atom:423 12.011
+ @atom:424 1.008
+ @atom:425 12.011
+ @atom:426 1.008
+ @atom:427 12.011
+ @atom:428 1.008
+ @atom:429 12.011
+ @atom:430 12.011
+ @atom:431 12.011
+ @atom:432 12.011
+ @atom:433 12.011
+ @atom:434 32.06
+ @atom:435 15.999
+ @atom:436 32.06
+ @atom:437 32.06
+ @atom:438 15.999
+ @atom:439 12.011
+ @atom:440 12.011
+ @atom:441 12.011
+ @atom:442 12.011
+ @atom:443 12.011
+ @atom:444 14.007
+ @atom:445 1.008
+ @atom:446 12.011
+ @atom:447 12.011
+ @atom:448 12.011
+ @atom:449 12.011
+ @atom:450 12.011
+ @atom:451 12.011
+ @atom:452 14.007
+ @atom:453 14.007
+ @atom:454 1.008
+ @atom:455 12.011
+ @atom:456 12.011
+ @atom:457 12.011
+ @atom:458 12.011
+ @atom:459 12.011
+ @atom:460 12.011
+ @atom:461 14.007
+ @atom:462 12.011
+ @atom:463 12.011
+ @atom:464 12.011
+ @atom:465 1.008
+ @atom:466 1.008
+ @atom:467 1.008
+ @atom:468 14.007
+ @atom:469 12.011
+ @atom:470 1.008
+ @atom:471 14.007
+ @atom:472 12.011
+ @atom:473 12.011
+ @atom:474 12.011
+ @atom:475 1.008
+ @atom:476 1.008
+ @atom:477 1.008
+ @atom:478 14.007
+ @atom:479 12.011
+ @atom:480 12.011
+ @atom:481 1.008
+ @atom:482 1.008
+ @atom:483 14.007
+ @atom:484 12.011
+ @atom:485 12.011
+ @atom:486 1.008
+ @atom:487 1.008
+ @atom:488 1.008
+ @atom:489 14.007
+ @atom:490 14.007
+ @atom:491 12.011
+ @atom:492 12.011
+ @atom:493 12.011
+ @atom:494 1.008
+ @atom:495 1.008
+ @atom:496 1.008
+ @atom:497 1.008
+ @atom:498 14.007
+ @atom:499 12.011
+ @atom:500 14.007
+ @atom:501 12.011
+ @atom:502 12.011
+ @atom:503 1.008
+ @atom:504 1.008
+ @atom:505 1.008
+ @atom:506 1.008
+ @atom:507 15.999
+ @atom:508 12.011
+ @atom:509 12.011
+ @atom:510 1.008
+ @atom:511 1.008
+ @atom:512 15.999
+ @atom:513 12.011
+ @atom:514 14.007
+ @atom:515 12.011
+ @atom:516 12.011
+ @atom:517 1.008
+ @atom:518 1.008
+ @atom:519 1.008
+ @atom:520 15.999
+ @atom:521 14.007
+ @atom:522 12.011
+ @atom:523 12.011
+ @atom:524 12.011
+ @atom:525 1.008
+ @atom:526 1.008
+ @atom:527 1.008
+ @atom:528 14.007
+ @atom:529 12.011
+ @atom:530 12.011
+ @atom:531 12.011
+ @atom:532 12.011
+ @atom:533 12.011
+ @atom:534 12.011
+ @atom:535 12.011
+ @atom:536 12.011
+ @atom:537 1.008
+ @atom:538 1.008
+ @atom:539 1.008
+ @atom:540 1.008
+ @atom:541 1.008
+ @atom:542 1.008
+ @atom:543 1.008
+ @atom:544 14.007
+ @atom:545 12.011
+ @atom:546 12.011
+ @atom:547 12.011
+ @atom:548 12.011
+ @atom:549 12.011
+ @atom:550 12.011
+ @atom:551 12.011
+ @atom:552 12.011
+ @atom:553 12.011
+ @atom:554 1.008
+ @atom:555 1.008
+ @atom:556 1.008
+ @atom:557 1.008
+ @atom:558 1.008
+ @atom:559 1.008
+ @atom:560 1.008
+ @atom:561 14.007
+ @atom:562 12.011
+ @atom:563 14.007
+ @atom:564 12.011
+ @atom:565 12.011
+ @atom:566 12.011
+ @atom:567 14.007
+ @atom:568 12.011
+ @atom:569 14.007
+ @atom:570 1.008
+ @atom:571 1.008
+ @atom:572 1.008
+ @atom:573 1.008
+ @atom:574 32.06
+ @atom:575 12.011
+ @atom:576 14.007
+ @atom:577 12.011
+ @atom:578 12.011
+ @atom:579 1.008
+ @atom:580 1.008
+ @atom:581 1.008
+ @atom:582 14.007
+ @atom:583 12.011
+ @atom:584 1.008
+ @atom:585 12.011
+ @atom:586 12.011
+ @atom:587 14.007
+ @atom:588 12.011
+ @atom:589 12.011
+ @atom:590 12.011
+ @atom:591 12.011
+ @atom:592 12.011
+ @atom:593 12.011
+ @atom:594 1.008
+ @atom:595 1.008
+ @atom:596 1.008
+ @atom:597 1.008
+ @atom:598 14.007
+ @atom:599 12.011
+ @atom:600 14.007
+ @atom:601 12.011
+ @atom:602 12.011
+ @atom:603 12.011
+ @atom:604 1.008
+ @atom:605 1.008
+ @atom:606 1.008
+ @atom:607 1.008
+ @atom:608 12.011
+ @atom:609 12.011
+ @atom:610 12.011
+ @atom:611 12.011
+ @atom:612 12.011
+ @atom:613 12.011
+ @atom:614 12.011
+ @atom:615 12.011
+ @atom:616 12.011
+ @atom:617 12.011
+ @atom:618 12.011
+ @atom:619 12.011
+ @atom:620 12.011
+ @atom:621 12.011
+ @atom:622 12.011
+ @atom:623 32.06
+ @atom:624 1.008
+ @atom:625 12.011
+ @atom:626 12.011
+ @atom:627 14.007
+ @atom:628 12.011
+ @atom:629 12.011
+ @atom:630 12.011
+ @atom:631 12.011
+ @atom:632 12.011
+ @atom:633 12.011
+ @atom:634 12.011
+ @atom:635 12.011
+ @atom:636 12.011
+ @atom:637 32.06
+ @atom:638 227.0
+ @atom:639 232.038
+ @atom:640 243.0
+ @atom:641 12.011
+ @atom:642 12.011
+ @atom:643 1.008
+ @atom:644 138.906
+ @atom:645 144.24
+ @atom:646 151.96
+ @atom:647 157.25
+ @atom:648 173.04
+ @atom:649 12.011
+ @atom:650 35.453
+ @atom:651 1.008
+ @atom:652 12.011
+ @atom:653 12.011
+ @atom:654 12.011
+ @atom:655 12.011
+ @atom:656 1.008
+ @atom:657 12.011
+ @atom:658 1.008
+ @atom:659 12.011
+ @atom:660 18.998
+ @atom:661 12.011
+ @atom:662 18.998
+ @atom:663 79.904
+ @atom:664 14.027
+ @atom:665 12.011
+ @atom:666 12.011
+ @atom:667 18.998
+ @atom:668 12.011
+ @atom:669 18.998
+ @atom:670 12.011
+ @atom:671 79.904
+ @atom:672 12.011
+ @atom:673 126.905
+ @atom:674 12.011
+ @atom:675 32.06
+ @atom:676 12.011
+ @atom:677 12.011
+ @atom:678 12.011
+ @atom:679 12.011
+ @atom:680 12.011
+ @atom:681 1.008
+ @atom:682 1.008
+ @atom:683 12.011
+ @atom:684 14.007
+ @atom:685 1.008
+ @atom:686 1.008
+ @atom:687 1.008
+ @atom:688 12.011
+ @atom:689 12.011
+ @atom:690 14.007
+ @atom:691 14.007
+ @atom:692 14.007
+ @atom:693 12.011
+ @atom:694 14.007
+ @atom:695 12.011
+ @atom:696 12.011
+ @atom:697 12.011
+ @atom:698 12.011
+ @atom:699 12.011
+ @atom:700 1.008
+ @atom:701 14.007
+ @atom:702 15.999
+ @atom:703 12.011
+ @atom:704 1.008
+ @atom:705 12.011
+ @atom:706 12.011
+ @atom:707 12.011
+ @atom:708 14.007
+ @atom:709 12.011
+ @atom:710 12.011
+ @atom:711 14.007
+ @atom:712 15.999
+ @atom:713 12.011
+ @atom:714 15.999
+ @atom:715 12.011
+ @atom:716 12.011
+ @atom:717 12.011
+ @atom:718 1.008
+ @atom:719 1.008
+ @atom:720 1.008
+ @atom:721 15.999
+ @atom:722 30.974
+ @atom:723 12.011
+ @atom:724 12.011
+ @atom:725 1.008
+ @atom:726 30.974
+ @atom:727 18.998
+ @atom:728 14.007
+ @atom:729 15.999
+ @atom:730 14.007
+ @atom:731 14.007
+ @atom:732 14.007
+ @atom:733 12.011
+ @atom:734 12.011
+ @atom:735 12.011
+ @atom:736 12.011
+ @atom:737 12.011
+ @atom:738 12.011
+ @atom:739 1.008
+ @atom:740 1.008
+ @atom:741 1.008
+ @atom:742 12.011
+ @atom:743 12.011
+ @atom:744 12.011
+ @atom:745 12.011
+ @atom:746 12.011
+ @atom:747 12.011
+ @atom:748 12.011
+ @atom:749 12.011
+ @atom:750 12.011
+ @atom:751 12.011
+ @atom:752 12.011
+ @atom:753 12.011
+ @atom:754 12.011
+ @atom:755 12.011
+ @atom:756 1.008
+ @atom:757 12.011
+ @atom:758 12.011
+ @atom:759 12.011
+ @atom:760 1.008
+ @atom:761 12.011
+ @atom:762 12.011
+ @atom:763 12.011
+ @atom:764 15.999
+ @atom:765 1.008
+ @atom:766 14.007
+ @atom:767 14.007
+ @atom:768 14.007
+ @atom:769 12.011
+ @atom:770 14.007
+ @atom:771 1.008
+ @atom:772 12.011
+ @atom:773 12.011
+ @atom:774 12.011
+ @atom:775 12.011
+ @atom:776 12.011
+ @atom:777 12.011
+ @atom:778 12.011
+ @atom:779 12.011
+ @atom:780 1.008
+ @atom:781 12.011
+ @atom:782 12.011
+ @atom:783 14.007
+ @atom:784 15.999
+ @atom:785 1.008
+ @atom:786 18.998
+ @atom:787 12.011
+ @atom:788 1.008
+ @atom:789 12.011
+ @atom:790 12.011
+ @atom:791 12.011
+ @atom:792 12.011
+ @atom:793 12.011
+ @atom:794 12.011
+ @atom:795 18.998
+ @atom:796 12.011
+ @atom:797 1.008
+ @atom:798 12.011
+ @atom:799 12.011
+ @atom:800 35.453
+ @atom:801 12.011
+ @atom:802 1.008
+ @atom:803 12.011
+ @atom:804 12.011
+ @atom:805 79.904
+ @atom:806 12.011
+ @atom:807 1.008
+ @atom:808 12.011
+ @atom:809 12.011
+ @atom:810 18.998
+ @atom:811 35.453
+ @atom:812 79.904
+ @atom:813 12.011
+ @atom:814 15.999
+ @atom:815 12.011
+ @atom:816 18.998
+ @atom:817 14.007
+ @atom:818 12.011
+ @atom:819 12.011
+ @atom:820 12.011
+ @atom:821 12.011
+ @atom:822 15.999
+ @atom:823 14.007
+ @atom:824 1.008
+ @atom:825 15.999
+ @atom:826 1.008
+ @atom:827 12.011
+ @atom:828 12.011
+ @atom:829 12.011
+ @atom:830 12.011
+ @atom:831 12.011
+ @atom:832 12.011
+ @atom:833 12.011
+ @atom:834 1e-30
+ @atom:835 12.011
+ @atom:836 12.011
+ @atom:837 12.011
+ @atom:838 126.905
+ @atom:839 1.008
+ @atom:840 14.007
+ @atom:841 12.011
+ @atom:842 12.011
+ @atom:843 14.007
+ @atom:844 12.011
+ @atom:845 12.011
+ @atom:846 15.999
+ @atom:847 14.007
+ @atom:848 12.011
+ @atom:849 12.011
+ @atom:850 12.011
+ @atom:851 12.011
+ @atom:852 1.008
+ @atom:853 12.011
+ @atom:854 15.999
+ @atom:855 1.008
+ @atom:856 12.011
+ @atom:857 12.011
+ @atom:858 12.011
+ @atom:859 12.011
+ @atom:860 12.011
+ @atom:861 12.011
+ @atom:862 12.011
+ @atom:863 12.011
+ @atom:864 12.011
+ @atom:865 12.011
+ @atom:866 28.086
+ @atom:867 28.086
+ @atom:868 28.086
+ @atom:869 28.086
+ @atom:870 1.008
+ @atom:871 12.011
+ @atom:872 12.011
+ @atom:873 12.011
+ @atom:874 12.011
+ @atom:875 18.998
+ @atom:876 35.453
+ @atom:877 79.904
+ @atom:878 126.905
+ @atom:879 6.941
+ @atom:880 22.99
+ @atom:881 39.098
+ @atom:882 85.468
+ @atom:883 132.905
+ @atom:884 24.305
+ @atom:885 40.08
+ @atom:886 87.62
+ @atom:887 137.33
+ @atom:888 12.011
+ @atom:889 12.011
+ @atom:890 12.011
+ @atom:891 12.011
+ @atom:892 1.008
+ @atom:893 14.007
+ @atom:894 12.011
+ @atom:895 14.007
+ @atom:896 12.011
+ @atom:897 12.011
+ @atom:898 12.011
+ @atom:899 1.008
+ @atom:900 12.011
+ @atom:901 12.011
+ @atom:902 12.011
+ @atom:903 12.011
+ @atom:904 12.011
+ @atom:905 15.999
+ @atom:906 12.011
+ } #(end of atom masses)
+
+
+ # ---------- EQUIVALENCE CATEGORIES for bonded interaction lookup ----------
+ # Each type of atom has a separate ID used for looking up bond parameters
+ # and a separate ID for looking up 3-body angle interaction parameters
+ # and a separate ID for looking up 4-body dihedral interaction parameters
+ # and a separate ID for looking up 4-body improper interaction parameters
+ # The complete @atom type name includes ALL of these ID numbers. There's
+ # no need to force the end-user to type the complete name of each atom.
+ # The "replace" command used below informs moltemplate that the short
+ # @atom names we have been using abovee are equivalent to the complete
+ # @atom names used below:
+
+ replace{ @atom:1 @atom:1_b1_a1_d1_i1 }
+ replace{ @atom:2 @atom:2_b2_a2_d2_i2 }
+ replace{ @atom:3 @atom:3_b3_a3_d3_i3 }
+ replace{ @atom:4 @atom:4_b4_a4_d4_i4 }
+ replace{ @atom:5 @atom:5_b5_a5_d5_i5 }
+ replace{ @atom:6 @atom:6_b6_a6_d6_i6 }
+ replace{ @atom:7 @atom:7_b7_a7_d7_i7 }
+ replace{ @atom:8 @atom:8_b8_a8_d8_i8 }
+ replace{ @atom:9 @atom:9_b6_a6_d6_i6 }
+ replace{ @atom:10 @atom:10_b6_a6_d6_i6 }
+ replace{ @atom:11 @atom:11_b6_a6_d6_i6 }
+ replace{ @atom:12 @atom:12_b6_a6_d6_i6 }
+ replace{ @atom:13 @atom:13_b2_a2_d2_i2 }
+ replace{ @atom:14 @atom:14_b9_a9_d9_i9 }
+ replace{ @atom:15 @atom:15_b10_a10_d10_i10 }
+ replace{ @atom:16 @atom:16_b11_a11_d11_i11 }
+ replace{ @atom:17 @atom:17_b12_a12_d12_i12 }
+ replace{ @atom:18 @atom:18_b13_a13_d13_i13 }
+ replace{ @atom:19 @atom:19_b14_a14_d14_i14 }
+ replace{ @atom:20 @atom:20_b5_a5_d5_i5 }
+ replace{ @atom:21 @atom:21_b7_a7_d7_i7 }
+ replace{ @atom:22 @atom:22_b6_a6_d6_i6 }
+ replace{ @atom:23 @atom:23_b2_a2_d2_i2 }
+ replace{ @atom:24 @atom:24_b15_a15_d15_i15 }
+ replace{ @atom:25 @atom:25_b15_a15_d15_i15 }
+ replace{ @atom:26 @atom:26_b16_a16_d16_i16 }
+ replace{ @atom:27 @atom:27_b16_a16_d16_i16 }
+ replace{ @atom:28 @atom:28_b17_a17_d17_i17 }
+ replace{ @atom:29 @atom:29_b17_a17_d17_i17 }
+ replace{ @atom:30 @atom:30_b6_a6_d6_i6 }
+ replace{ @atom:31 @atom:31_b2_a2_d2_i2 }
+ replace{ @atom:32 @atom:32_b6_a6_d6_i6 }
+ replace{ @atom:33 @atom:33_b2_a2_d2_i2 }
+ replace{ @atom:34 @atom:34_b6_a6_d6_i6 }
+ replace{ @atom:35 @atom:35_b2_a2_d2_i2 }
+ replace{ @atom:36 @atom:36_b18_a18_d18_i18 }
+ replace{ @atom:37 @atom:37_b19_a19_d19_i19 }
+ replace{ @atom:38 @atom:38_b6_a6_d6_i6 }
+ replace{ @atom:39 @atom:39_b10_a10_d10_i10 }
+ replace{ @atom:40 @atom:40_b13_a13_d13_i13 }
+ replace{ @atom:41 @atom:41_b20_a20_d20_i20 }
+ replace{ @atom:42 @atom:42_b6_a6_d6_i6 }
+ replace{ @atom:43 @atom:43_b2_a2_d2_i2 }
+ replace{ @atom:44 @atom:44_b2_a2_d2_i2 }
+ replace{ @atom:45 @atom:45_b21_a21_d21_i21 }
+ replace{ @atom:46 @atom:46_b10_a10_d10_i10 }
+ replace{ @atom:47 @atom:47_b21_a21_d21_i21 }
+ replace{ @atom:48 @atom:48_b13_a13_d13_i13 }
+ replace{ @atom:49 @atom:49_b21_a21_d21_i21 }
+ replace{ @atom:50 @atom:50_b22_a22_d22_i22 }
+ replace{ @atom:51 @atom:51_b23_a23_d23_i23 }
+ replace{ @atom:52 @atom:52_b6_a6_d6_i6 }
+ replace{ @atom:53 @atom:53_b4_a4_d4_i4 }
+ replace{ @atom:54 @atom:54_b24_a24_d24_i24 }
+ replace{ @atom:55 @atom:55_b3_a3_d3_i3 }
+ replace{ @atom:56 @atom:56_b6_a6_d6_i6 }
+ replace{ @atom:57 @atom:57_b25_a25_d25_i25 }
+ replace{ @atom:58 @atom:58_b26_a26_d26_i26 }
+ replace{ @atom:59 @atom:59_b27_a27_d27_i27 }
+ replace{ @atom:60 @atom:60_b28_a28_d28_i28 }
+ replace{ @atom:61 @atom:61_b29_a29_d29_i29 }
+ replace{ @atom:62 @atom:62_b30_a30_d30_i30 }
+ replace{ @atom:63 @atom:63_b31_a31_d31_i31 }
+ replace{ @atom:64 @atom:64_b32_a32_d32_i32 }
+ replace{ @atom:65 @atom:65_b31_a31_d31_i31 }
+ replace{ @atom:66 @atom:66_b32_a32_d32_i32 }
+ replace{ @atom:67 @atom:67_b33_a33_d33_i33 }
+ replace{ @atom:68 @atom:68_b34_a34_d34_i34 }
+ replace{ @atom:69 @atom:69_b35_a35_d35_i35 }
+ replace{ @atom:70 @atom:70_b36_a36_d36_i36 }
+ replace{ @atom:71 @atom:71_b37_a37_d37_i37 }
+ replace{ @atom:72 @atom:72_b38_a38_d38_i38 }
+ replace{ @atom:73 @atom:73_b39_a39_d39_i39 }
+ replace{ @atom:74 @atom:74_b40_a40_d40_i40 }
+ replace{ @atom:75 @atom:75_b41_a41_d41_i41 }
+ replace{ @atom:76 @atom:76_b42_a42_d42_i42 }
+ replace{ @atom:77 @atom:77_b43_a43_d43_i43 }
+ replace{ @atom:78 @atom:78_b44_a44_d44_i44 }
+ replace{ @atom:79 @atom:79_b45_a45_d45_i45 }
+ replace{ @atom:80 @atom:80_b13_a13_d13_i13 }
+ replace{ @atom:81 @atom:81_b13_a13_d13_i13 }
+ replace{ @atom:82 @atom:82_b13_a13_d13_i13 }
+ replace{ @atom:83 @atom:83_b13_a13_d13_i13 }
+ replace{ @atom:84 @atom:84_b13_a13_d13_i13 }
+ replace{ @atom:85 @atom:85_b46_a46_d46_i46 }
+ replace{ @atom:86 @atom:86_b47_a47_d47_i47 }
+ replace{ @atom:87 @atom:87_b47_a47_d47_i47 }
+ replace{ @atom:88 @atom:88_b47_a47_d47_i47 }
+ replace{ @atom:89 @atom:89_b46_a46_d46_i46 }
+ replace{ @atom:90 @atom:90_b48_a48_d48_i48 }
+ replace{ @atom:91 @atom:91_b49_a49_d49_i49 }
+ replace{ @atom:92 @atom:92_b48_a48_d48_i48 }
+ replace{ @atom:93 @atom:93_b13_a13_d13_i13 }
+ replace{ @atom:94 @atom:94_b13_a13_d13_i13 }
+ replace{ @atom:95 @atom:95_b50_a50_d50_i50 }
+ replace{ @atom:96 @atom:96_b5_a5_d5_i5 }
+ replace{ @atom:97 @atom:97_b7_a7_d7_i7 }
+ replace{ @atom:98 @atom:98_b46_a46_d46_i46 }
+ replace{ @atom:99 @atom:99_b13_a13_d13_i13 }
+ replace{ @atom:100 @atom:100_b13_a13_d13_i13 }
+ replace{ @atom:101 @atom:101_b13_a13_d13_i13 }
+ replace{ @atom:102 @atom:102_b13_a13_d13_i13 }
+ replace{ @atom:103 @atom:103_b13_a13_d13_i13 }
+ replace{ @atom:104 @atom:104_b5_a5_d5_i5 }
+ replace{ @atom:105 @atom:105_b7_a7_d7_i7 }
+ replace{ @atom:106 @atom:106_b1_a1_d1_i1 }
+ replace{ @atom:107 @atom:107_b46_a46_d46_i46 }
+ replace{ @atom:108 @atom:108_b48_a48_d48_i48 }
+ replace{ @atom:109 @atom:109_b5_a5_d5_i5 }
+ replace{ @atom:110 @atom:110_b7_a7_d7_i7 }
+ replace{ @atom:111 @atom:111_b5_a5_d5_i5 }
+ replace{ @atom:112 @atom:112_b7_a7_d7_i7 }
+ replace{ @atom:113 @atom:113_b5_a5_d5_i5 }
+ replace{ @atom:114 @atom:114_b7_a7_d7_i7 }
+ replace{ @atom:115 @atom:115_b13_a13_d13_i13 }
+ replace{ @atom:116 @atom:116_b13_a13_d13_i13 }
+ replace{ @atom:117 @atom:117_b13_a13_d13_i13 }
+ replace{ @atom:118 @atom:118_b46_a46_d46_i46 }
+ replace{ @atom:119 @atom:119_b20_a20_d20_i20 }
+ replace{ @atom:120 @atom:120_b50_a50_d50_i50 }
+ replace{ @atom:121 @atom:121_b20_a20_d20_i20 }
+ replace{ @atom:122 @atom:122_b20_a20_d20_i20 }
+ replace{ @atom:123 @atom:123_b13_a13_d13_i13 }
+ replace{ @atom:124 @atom:124_b13_a13_d13_i13 }
+ replace{ @atom:125 @atom:125_b13_a13_d13_i13 }
+ replace{ @atom:126 @atom:126_b13_a13_d13_i13 }
+ replace{ @atom:127 @atom:127_b46_a46_d46_i46 }
+ replace{ @atom:128 @atom:128_b20_a20_d20_i20 }
+ replace{ @atom:129 @atom:129_b5_a5_d5_i5 }
+ replace{ @atom:130 @atom:130_b7_a7_d7_i7 }
+ replace{ @atom:131 @atom:131_b51_a51_d51_i51 }
+ replace{ @atom:132 @atom:132_b46_a46_d46_i46 }
+ replace{ @atom:133 @atom:133_b51_a51_d51_i51 }
+ replace{ @atom:134 @atom:134_b46_a46_d46_i46 }
+ replace{ @atom:135 @atom:135_b51_a51_d51_i51 }
+ replace{ @atom:136 @atom:136_b46_a46_d46_i46 }
+ replace{ @atom:137 @atom:137_b51_a51_d51_i51 }
+ replace{ @atom:138 @atom:138_b46_a46_d46_i46 }
+ replace{ @atom:139 @atom:139_b51_a51_d51_i51 }
+ replace{ @atom:140 @atom:140_b51_a51_d51_i51 }
+ replace{ @atom:141 @atom:141_b48_a48_d48_i48 }
+ replace{ @atom:142 @atom:142_b15_a15_d15_i15 }
+ replace{ @atom:143 @atom:143_b15_a15_d15_i15 }
+ replace{ @atom:144 @atom:144_b16_a16_d16_i16 }
+ replace{ @atom:145 @atom:145_b16_a16_d16_i16 }
+ replace{ @atom:146 @atom:146_b17_a17_d17_i17 }
+ replace{ @atom:147 @atom:147_b17_a17_d17_i17 }
+ replace{ @atom:148 @atom:148_b13_a13_d13_i13 }
+ replace{ @atom:149 @atom:149_b13_a13_d13_i13 }
+ replace{ @atom:150 @atom:150_b13_a13_d13_i13 }
+ replace{ @atom:151 @atom:151_b13_a13_d13_i13 }
+ replace{ @atom:152 @atom:152_b13_a13_d13_i13 }
+ replace{ @atom:153 @atom:153_b13_a13_d13_i13 }
+ replace{ @atom:154 @atom:154_b13_a13_d13_i13 }
+ replace{ @atom:155 @atom:155_b13_a13_d13_i13 }
+ replace{ @atom:156 @atom:156_b13_a13_d13_i13 }
+ replace{ @atom:157 @atom:157_b13_a13_d13_i13 }
+ replace{ @atom:158 @atom:158_b13_a13_d13_i13 }
+ replace{ @atom:159 @atom:159_b13_a13_d13_i13 }
+ replace{ @atom:160 @atom:160_b13_a13_d13_i13 }
+ replace{ @atom:161 @atom:161_b13_a13_d13_i13 }
+ replace{ @atom:162 @atom:162_b13_a13_d13_i13 }
+ replace{ @atom:163 @atom:163_b48_a48_d48_i48 }
+ replace{ @atom:164 @atom:164_b16_a16_d16_i16 }
+ replace{ @atom:165 @atom:165_b13_a13_d13_i13 }
+ replace{ @atom:166 @atom:166_b13_a13_d13_i13 }
+ replace{ @atom:167 @atom:167_b13_a13_d13_i13 }
+ replace{ @atom:168 @atom:168_b21_a21_d21_i21 }
+ replace{ @atom:169 @atom:169_b47_a47_d47_i47 }
+ replace{ @atom:170 @atom:170_b48_a48_d48_i48 }
+ replace{ @atom:171 @atom:171_b13_a13_d13_i13 }
+ replace{ @atom:172 @atom:172_b13_a13_d13_i13 }
+ replace{ @atom:173 @atom:173_b3_a3_d3_i3 }
+ replace{ @atom:174 @atom:174_b3_a3_d3_i3 }
+ replace{ @atom:175 @atom:175_b3_a3_d3_i3 }
+ replace{ @atom:176 @atom:176_b3_a3_d3_i3 }
+ replace{ @atom:177 @atom:177_b3_a3_d3_i3 }
+ replace{ @atom:178 @atom:178_b4_a4_d4_i4 }
+ replace{ @atom:179 @atom:179_b24_a24_d24_i24 }
+ replace{ @atom:180 @atom:180_b24_a24_d24_i24 }
+ replace{ @atom:181 @atom:181_b24_a24_d24_i24 }
+ replace{ @atom:182 @atom:182_b45_a45_d45_i45 }
+ replace{ @atom:183 @atom:183_b45_a45_d45_i45 }
+ replace{ @atom:184 @atom:184_b13_a13_d13_i13 }
+ replace{ @atom:185 @atom:185_b13_a13_d13_i13 }
+ replace{ @atom:186 @atom:186_b13_a13_d13_i13 }
+ replace{ @atom:187 @atom:187_b13_a13_d13_i13 }
+ replace{ @atom:188 @atom:188_b13_a13_d13_i13 }
+ replace{ @atom:189 @atom:189_b3_a3_d3_i3 }
+ replace{ @atom:190 @atom:190_b4_a4_d4_i4 }
+ replace{ @atom:191 @atom:191_b24_a24_d24_i24 }
+ replace{ @atom:192 @atom:192_b45_a45_d45_i45 }
+ replace{ @atom:193 @atom:193_b24_a24_d24_i24 }
+ replace{ @atom:194 @atom:194_b3_a3_d3_i3 }
+ replace{ @atom:195 @atom:195_b4_a4_d4_i4 }
+ replace{ @atom:196 @atom:196_b45_a45_d45_i45 }
+ replace{ @atom:197 @atom:197_b46_a46_d46_i46 }
+ replace{ @atom:198 @atom:198_b13_a13_d13_i13 }
+ replace{ @atom:199 @atom:199_b13_a13_d13_i13 }
+ replace{ @atom:200 @atom:200_b13_a13_d13_i13 }
+ replace{ @atom:201 @atom:201_b13_a13_d13_i13 }
+ replace{ @atom:202 @atom:202_b48_a48_d48_i48 }
+ replace{ @atom:203 @atom:203_b19_a19_d19_i19 }
+ replace{ @atom:204 @atom:204_b18_a18_d18_i18 }
+ replace{ @atom:205 @atom:205_b48_a48_d48_i48 }
+ replace{ @atom:206 @atom:206_b21_a21_d21_i21 }
+ replace{ @atom:207 @atom:207_b24_a24_d24_i24 }
+ replace{ @atom:208 @atom:208_b48_a48_d48_i48 }
+ replace{ @atom:209 @atom:209_b3_a3_d3_i3 }
+ replace{ @atom:210 @atom:210_b4_a4_d4_i4 }
+ replace{ @atom:211 @atom:211_b5_a5_d5_i5 }
+ replace{ @atom:212 @atom:212_b7_a7_d7_i7 }
+ replace{ @atom:213 @atom:213_b3_a3_d3_i3 }
+ replace{ @atom:214 @atom:214_b52_a52_d52_i52 }
+ replace{ @atom:215 @atom:215_b13_a13_d13_i13 }
+ replace{ @atom:216 @atom:216_b13_a13_d13_i13 }
+ replace{ @atom:217 @atom:217_b13_a13_d13_i13 }
+ replace{ @atom:218 @atom:218_b13_a13_d13_i13 }
+ replace{ @atom:219 @atom:219_b3_a3_d3_i3 }
+ replace{ @atom:220 @atom:220_b4_a4_d4_i4 }
+ replace{ @atom:221 @atom:221_b46_a46_d46_i46 }
+ replace{ @atom:222 @atom:222_b3_a3_d3_i3 }
+ replace{ @atom:223 @atom:223_b4_a4_d4_i4 }
+ replace{ @atom:224 @atom:224_b46_a46_d46_i46 }
+ replace{ @atom:225 @atom:225_b13_a13_d13_i13 }
+ replace{ @atom:226 @atom:226_b13_a13_d13_i13 }
+ replace{ @atom:227 @atom:227_b13_a13_d13_i13 }
+ replace{ @atom:228 @atom:228_b13_a13_d13_i13 }
+ replace{ @atom:229 @atom:229_b53_a53_d53_i53 }
+ replace{ @atom:230 @atom:230_b53_a53_d53_i53 }
+ replace{ @atom:231 @atom:231_b53_a53_d53_i53 }
+ replace{ @atom:232 @atom:232_b54_a54_d54_i54 }
+ replace{ @atom:233 @atom:233_b54_a54_d54_i54 }
+ replace{ @atom:234 @atom:234_b13_a13_d13_i13 }
+ replace{ @atom:235 @atom:235_b13_a13_d13_i13 }
+ replace{ @atom:236 @atom:236_b13_a13_d13_i13 }
+ replace{ @atom:237 @atom:237_b13_a13_d13_i13 }
+ replace{ @atom:238 @atom:238_b13_a13_d13_i13 }
+ replace{ @atom:239 @atom:239_b13_a13_d13_i13 }
+ replace{ @atom:240 @atom:240_b13_a13_d13_i13 }
+ replace{ @atom:241 @atom:241_b13_a13_d13_i13 }
+ replace{ @atom:242 @atom:242_b13_a13_d13_i13 }
+ replace{ @atom:243 @atom:243_b55_a55_d55_i55 }
+ replace{ @atom:244 @atom:244_b54_a54_d54_i54 }
+ replace{ @atom:245 @atom:245_b48_a48_d48_i48 }
+ replace{ @atom:246 @atom:246_b55_a55_d55_i55 }
+ replace{ @atom:247 @atom:247_b54_a54_d54_i54 }
+ replace{ @atom:248 @atom:248_b13_a13_d13_i13 }
+ replace{ @atom:249 @atom:249_b13_a13_d13_i13 }
+ replace{ @atom:250 @atom:250_b13_a13_d13_i13 }
+ replace{ @atom:251 @atom:251_b13_a13_d13_i13 }
+ replace{ @atom:252 @atom:252_b53_a53_d53_i53 }
+ replace{ @atom:253 @atom:253_b54_a54_d54_i54 }
+ replace{ @atom:254 @atom:254_b56_a56_d56_i56 }
+ replace{ @atom:255 @atom:255_b48_a48_d48_i48 }
+ replace{ @atom:256 @atom:256_b55_a55_d55_i55 }
+ replace{ @atom:257 @atom:257_b45_a45_d45_i45 }
+ replace{ @atom:258 @atom:258_b48_a48_d48_i48 }
+ replace{ @atom:259 @atom:259_b49_a49_d49_i49 }
+ replace{ @atom:260 @atom:260_b48_a48_d48_i48 }
+ replace{ @atom:261 @atom:261_b49_a49_d49_i49 }
+ replace{ @atom:262 @atom:262_b57_a57_d57_i57 }
+ replace{ @atom:263 @atom:263_b3_a3_d3_i3 }
+ replace{ @atom:264 @atom:264_b57_a57_d57_i57 }
+ replace{ @atom:265 @atom:265_b3_a3_d3_i3 }
+ replace{ @atom:266 @atom:266_b47_a47_d47_i47 }
+ replace{ @atom:267 @atom:267_b47_a47_d47_i47 }
+ replace{ @atom:268 @atom:268_b45_a45_d45_i45 }
+ replace{ @atom:269 @atom:269_b4_a4_d4_i4 }
+ replace{ @atom:270 @atom:270_b45_a45_d45_i45 }
+ replace{ @atom:271 @atom:271_b4_a4_d4_i4 }
+ replace{ @atom:272 @atom:272_b46_a46_d46_i46 }
+ replace{ @atom:273 @atom:273_b46_a46_d46_i46 }
+ replace{ @atom:274 @atom:274_b13_a13_d13_i13 }
+ replace{ @atom:275 @atom:275_b46_a46_d46_i46 }
+ replace{ @atom:276 @atom:276_b57_a57_d57_i57 }
+ replace{ @atom:277 @atom:277_b3_a3_d3_i3 }
+ replace{ @atom:278 @atom:278_b56_a56_d56_i56 }
+ replace{ @atom:279 @atom:279_b48_a48_d48_i48 }
+ replace{ @atom:280 @atom:280_b47_a47_d47_i47 }
+ replace{ @atom:281 @atom:281_b47_a47_d47_i47 }
+ replace{ @atom:282 @atom:282_b45_a45_d45_i45 }
+ replace{ @atom:283 @atom:283_b4_a4_d4_i4 }
+ replace{ @atom:284 @atom:284_b55_a55_d55_i55 }
+ replace{ @atom:285 @atom:285_b45_a45_d45_i45 }
+ replace{ @atom:286 @atom:286_b45_a45_d45_i45 }
+ replace{ @atom:287 @atom:287_b46_a46_d46_i46 }
+ replace{ @atom:288 @atom:288_b58_a58_d58_i58 }
+ replace{ @atom:289 @atom:289_b56_a56_d56_i56 }
+ replace{ @atom:290 @atom:290_b59_a59_d59_i59 }
+ replace{ @atom:291 @atom:291_b56_a56_d56_i56 }
+ replace{ @atom:292 @atom:292_b60_a60_d60_i60 }
+ replace{ @atom:293 @atom:293_b60_a60_d60_i60 }
+ replace{ @atom:294 @atom:294_b48_a48_d48_i48 }
+ replace{ @atom:295 @atom:295_b61_a61_d61_i61 }
+ replace{ @atom:296 @atom:296_b62_a62_d62_i62 }
+ replace{ @atom:297 @atom:297_b57_a57_d57_i57 }
+ replace{ @atom:298 @atom:298_b63_a63_d63_i63 }
+ replace{ @atom:299 @atom:299_b55_a55_d55_i55 }
+ replace{ @atom:300 @atom:300_b45_a45_d45_i45 }
+ replace{ @atom:301 @atom:301_b45_a45_d45_i45 }
+ replace{ @atom:302 @atom:302_b63_a63_d63_i63 }
+ replace{ @atom:303 @atom:303_b45_a45_d45_i45 }
+ replace{ @atom:304 @atom:304_b57_a57_d57_i57 }
+ replace{ @atom:305 @atom:305_b48_a48_d48_i48 }
+ replace{ @atom:306 @atom:306_b56_a56_d56_i56 }
+ replace{ @atom:307 @atom:307_b60_a60_d60_i60 }
+ replace{ @atom:308 @atom:308_b60_a60_d60_i60 }
+ replace{ @atom:309 @atom:309_b3_a3_d3_i3 }
+ replace{ @atom:310 @atom:310_b45_a45_d45_i45 }
+ replace{ @atom:311 @atom:311_b55_a55_d55_i55 }
+ replace{ @atom:312 @atom:312_b45_a45_d45_i45 }
+ replace{ @atom:313 @atom:313_b4_a4_d4_i4 }
+ replace{ @atom:314 @atom:314_b13_a13_d13_i13 }
+ replace{ @atom:315 @atom:315_b46_a46_d46_i46 }
+ replace{ @atom:316 @atom:316_b13_a13_d13_i13 }
+ replace{ @atom:317 @atom:317_b46_a46_d46_i46 }
+ replace{ @atom:318 @atom:318_b13_a13_d13_i13 }
+ replace{ @atom:319 @atom:319_b46_a46_d46_i46 }
+ replace{ @atom:320 @atom:320_b57_a57_d57_i57 }
+ replace{ @atom:321 @atom:321_b3_a3_d3_i3 }
+ replace{ @atom:322 @atom:322_b57_a57_d57_i57 }
+ replace{ @atom:323 @atom:323_b48_a48_d48_i48 }
+ replace{ @atom:324 @atom:324_b47_a47_d47_i47 }
+ replace{ @atom:325 @atom:325_b47_a47_d47_i47 }
+ replace{ @atom:326 @atom:326_b45_a45_d45_i45 }
+ replace{ @atom:327 @atom:327_b4_a4_d4_i4 }
+ replace{ @atom:328 @atom:328_b45_a45_d45_i45 }
+ replace{ @atom:329 @atom:329_b55_a55_d55_i55 }
+ replace{ @atom:330 @atom:330_b45_a45_d45_i45 }
+ replace{ @atom:331 @atom:331_b45_a45_d45_i45 }
+ replace{ @atom:332 @atom:332_b49_a49_d49_i49 }
+ replace{ @atom:333 @atom:333_b58_a58_d58_i58 }
+ replace{ @atom:334 @atom:334_b13_a13_d13_i13 }
+ replace{ @atom:335 @atom:335_b46_a46_d46_i46 }
+ replace{ @atom:336 @atom:336_b64_a64_d64_i64 }
+ replace{ @atom:337 @atom:337_b52_a52_d52_i52 }
+ replace{ @atom:338 @atom:338_b20_a20_d20_i20 }
+ replace{ @atom:339 @atom:339_b13_a13_d13_i13 }
+ replace{ @atom:340 @atom:340_b47_a47_d47_i47 }
+ replace{ @atom:341 @atom:341_b21_a21_d21_i21 }
+ replace{ @atom:342 @atom:342_b47_a47_d47_i47 }
+ replace{ @atom:343 @atom:343_b1_a1_d1_i1 }
+ replace{ @atom:344 @atom:344_b21_a21_d21_i21 }
+ replace{ @atom:345 @atom:345_b65_a65_d65_i65 }
+ replace{ @atom:346 @atom:346_b66_a66_d66_i66 }
+ replace{ @atom:347 @atom:347_b67_a67_d67_i67 }
+ replace{ @atom:348 @atom:348_b68_a68_d68_i68 }
+ replace{ @atom:349 @atom:349_b69_a69_d69_i69 }
+ replace{ @atom:350 @atom:350_b70_a70_d70_i70 }
+ replace{ @atom:351 @atom:351_b71_a71_d71_i71 }
+ replace{ @atom:352 @atom:352_b72_a72_d72_i72 }
+ replace{ @atom:353 @atom:353_b73_a73_d73_i73 }
+ replace{ @atom:354 @atom:354_b74_a74_d74_i74 }
+ replace{ @atom:355 @atom:355_b75_a75_d75_i75 }
+ replace{ @atom:356 @atom:356_b76_a76_d76_i76 }
+ replace{ @atom:357 @atom:357_b6_a6_d6_i6 }
+ replace{ @atom:358 @atom:358_b46_a46_d46_i46 }
+ replace{ @atom:359 @atom:359_b15_a15_d15_i15 }
+ replace{ @atom:360 @atom:360_b6_a6_d6_i6 }
+ replace{ @atom:361 @atom:361_b46_a46_d46_i46 }
+ replace{ @atom:362 @atom:362_b5_a5_d5_i5 }
+ replace{ @atom:363 @atom:363_b13_a13_d13_i13 }
+ replace{ @atom:364 @atom:364_b46_a46_d46_i46 }
+ replace{ @atom:365 @atom:365_b19_a19_d19_i19 }
+ replace{ @atom:366 @atom:366_b18_a18_d18_i18 }
+ replace{ @atom:367 @atom:367_b6_a6_d6_i6 }
+ replace{ @atom:368 @atom:368_b46_a46_d46_i46 }
+ replace{ @atom:369 @atom:369_b53_a53_d53_i53 }
+ replace{ @atom:370 @atom:370_b45_a45_d45_i45 }
+ replace{ @atom:371 @atom:371_b6_a6_d6_i6 }
+ replace{ @atom:372 @atom:372_b46_a46_d46_i46 }
+ replace{ @atom:373 @atom:373_b13_a13_d13_i13 }
+ replace{ @atom:374 @atom:374_b46_a46_d46_i46 }
+ replace{ @atom:375 @atom:375_b33_a33_d33_i33 }
+ replace{ @atom:376 @atom:376_b5_a5_d5_i5 }
+ replace{ @atom:377 @atom:377_b7_a7_d7_i7 }
+ replace{ @atom:378 @atom:378_b77_a77_d77_i77 }
+ replace{ @atom:379 @atom:379_b78_a78_d78_i78 }
+ replace{ @atom:380 @atom:380_b20_a20_d20_i20 }
+ replace{ @atom:381 @atom:381_b64_a64_d64_i64 }
+ replace{ @atom:382 @atom:382_b52_a52_d52_i52 }
+ replace{ @atom:383 @atom:383_b20_a20_d20_i20 }
+ replace{ @atom:384 @atom:384_b13_a13_d13_i13 }
+ replace{ @atom:385 @atom:385_b46_a46_d46_i46 }
+ replace{ @atom:386 @atom:386_b64_a64_d64_i64 }
+ replace{ @atom:387 @atom:387_b52_a52_d52_i52 }
+ replace{ @atom:388 @atom:388_b20_a20_d20_i20 }
+ replace{ @atom:389 @atom:389_b13_a13_d13_i13 }
+ replace{ @atom:390 @atom:390_b46_a46_d46_i46 }
+ replace{ @atom:391 @atom:391_b64_a64_d64_i64 }
+ replace{ @atom:392 @atom:392_b52_a52_d52_i52 }
+ replace{ @atom:393 @atom:393_b20_a20_d20_i20 }
+ replace{ @atom:394 @atom:394_b13_a13_d13_i13 }
+ replace{ @atom:395 @atom:395_b46_a46_d46_i46 }
+ replace{ @atom:396 @atom:396_b13_a13_d13_i13 }
+ replace{ @atom:397 @atom:397_b46_a46_d46_i46 }
+ replace{ @atom:398 @atom:398_b48_a48_d48_i48 }
+ replace{ @atom:399 @atom:399_b13_a13_d13_i13 }
+ replace{ @atom:400 @atom:400_b46_a46_d46_i46 }
+ replace{ @atom:401 @atom:401_b48_a48_d48_i48 }
+ replace{ @atom:402 @atom:402_b13_a13_d13_i13 }
+ replace{ @atom:403 @atom:403_b46_a46_d46_i46 }
+ replace{ @atom:404 @atom:404_b48_a48_d48_i48 }
+ replace{ @atom:405 @atom:405_b13_a13_d13_i13 }
+ replace{ @atom:406 @atom:406_b3_a3_d3_i3 }
+ replace{ @atom:407 @atom:407_b4_a4_d4_i4 }
+ replace{ @atom:408 @atom:408_b20_a20_d20_i20 }
+ replace{ @atom:409 @atom:409_b13_a13_d13_i13 }
+ replace{ @atom:410 @atom:410_b46_a46_d46_i46 }
+ replace{ @atom:411 @atom:411_b3_a3_d3_i3 }
+ replace{ @atom:412 @atom:412_b3_a3_d3_i3 }
+ replace{ @atom:413 @atom:413_b48_a48_d48_i48 }
+ replace{ @atom:414 @atom:414_b20_a20_d20_i20 }
+ replace{ @atom:415 @atom:415_b79_a79_d79_i79 }
+ replace{ @atom:416 @atom:416_b23_a23_d23_i23 }
+ replace{ @atom:417 @atom:417_b13_a13_d13_i13 }
+ replace{ @atom:418 @atom:418_b46_a46_d46_i46 }
+ replace{ @atom:419 @atom:419_b24_a24_d24_i24 }
+ replace{ @atom:420 @atom:420_b45_a45_d45_i45 }
+ replace{ @atom:421 @atom:421_b24_a24_d24_i24 }
+ replace{ @atom:422 @atom:422_b45_a45_d45_i45 }
+ replace{ @atom:423 @atom:423_b13_a13_d13_i13 }
+ replace{ @atom:424 @atom:424_b46_a46_d46_i46 }
+ replace{ @atom:425 @atom:425_b13_a13_d13_i13 }
+ replace{ @atom:426 @atom:426_b46_a46_d46_i46 }
+ replace{ @atom:427 @atom:427_b13_a13_d13_i13 }
+ replace{ @atom:428 @atom:428_b46_a46_d46_i46 }
+ replace{ @atom:429 @atom:429_b48_a48_d48_i48 }
+ replace{ @atom:430 @atom:430_b48_a48_d48_i48 }
+ replace{ @atom:431 @atom:431_b13_a13_d13_i13 }
+ replace{ @atom:432 @atom:432_b13_a13_d13_i13 }
+ replace{ @atom:433 @atom:433_b13_a13_d13_i13 }
+ replace{ @atom:434 @atom:434_b79_a79_d79_i79 }
+ replace{ @atom:435 @atom:435_b23_a23_d23_i23 }
+ replace{ @atom:436 @atom:436_b22_a22_d22_i22 }
+ replace{ @atom:437 @atom:437_b22_a22_d22_i22 }
+ replace{ @atom:438 @atom:438_b23_a23_d23_i23 }
+ replace{ @atom:439 @atom:439_b13_a13_d13_i13 }
+ replace{ @atom:440 @atom:440_b13_a13_d13_i13 }
+ replace{ @atom:441 @atom:441_b80_a80_d80_i80 }
+ replace{ @atom:442 @atom:442_b60_a60_d60_i60 }
+ replace{ @atom:443 @atom:443_b81_a81_d81_i81 }
+ replace{ @atom:444 @atom:444_b57_a57_d57_i57 }
+ replace{ @atom:445 @atom:445_b45_a45_d45_i45 }
+ replace{ @atom:446 @atom:446_b13_a13_d13_i13 }
+ replace{ @atom:447 @atom:447_b82_a82_d82_i82 }
+ replace{ @atom:448 @atom:448_b83_a83_d83_i83 }
+ replace{ @atom:449 @atom:449_b84_a84_d84_i84 }
+ replace{ @atom:450 @atom:450_b82_a82_d82_i82 }
+ replace{ @atom:451 @atom:451_b85_a85_d85_i85 }
+ replace{ @atom:452 @atom:452_b61_a61_d61_i61 }
+ replace{ @atom:453 @atom:453_b57_a57_d57_i57 }
+ replace{ @atom:454 @atom:454_b45_a45_d45_i45 }
+ replace{ @atom:455 @atom:455_b84_a84_d84_i84 }
+ replace{ @atom:456 @atom:456_b13_a13_d13_i13 }
+ replace{ @atom:457 @atom:457_b13_a13_d13_i13 }
+ replace{ @atom:458 @atom:458_b47_a47_d47_i47 }
+ replace{ @atom:459 @atom:459_b47_a47_d47_i47 }
+ replace{ @atom:460 @atom:460_b86_a86_d86_i86 }
+ replace{ @atom:461 @atom:461_b56_a56_d56_i56 }
+ replace{ @atom:462 @atom:462_b48_a48_d48_i48 }
+ replace{ @atom:463 @atom:463_b48_a48_d48_i48 }
+ replace{ @atom:464 @atom:464_b48_a48_d48_i48 }
+ replace{ @atom:465 @atom:465_b49_a49_d49_i49 }
+ replace{ @atom:466 @atom:466_b49_a49_d49_i49 }
+ replace{ @atom:467 @atom:467_b49_a49_d49_i49 }
+ replace{ @atom:468 @atom:468_b56_a56_d56_i56 }
+ replace{ @atom:469 @atom:469_b48_a48_d48_i48 }
+ replace{ @atom:470 @atom:470_b49_a49_d49_i49 }
+ replace{ @atom:471 @atom:471_b56_a56_d56_i56 }
+ replace{ @atom:472 @atom:472_b59_a59_d59_i59 }
+ replace{ @atom:473 @atom:473_b48_a48_d48_i48 }
+ replace{ @atom:474 @atom:474_b48_a48_d48_i48 }
+ replace{ @atom:475 @atom:475_b49_a49_d49_i49 }
+ replace{ @atom:476 @atom:476_b49_a49_d49_i49 }
+ replace{ @atom:477 @atom:477_b49_a49_d49_i49 }
+ replace{ @atom:478 @atom:478_b56_a56_d56_i56 }
+ replace{ @atom:479 @atom:479_b48_a48_d48_i48 }
+ replace{ @atom:480 @atom:480_b48_a48_d48_i48 }
+ replace{ @atom:481 @atom:481_b49_a49_d49_i49 }
+ replace{ @atom:482 @atom:482_b49_a49_d49_i49 }
+ replace{ @atom:483 @atom:483_b57_a57_d57_i57 }
+ replace{ @atom:484 @atom:484_b84_a84_d84_i84 }
+ replace{ @atom:485 @atom:485_b87_a87_d87_i87 }
+ replace{ @atom:486 @atom:486_b45_a45_d45_i45 }
+ replace{ @atom:487 @atom:487_b49_a49_d49_i49 }
+ replace{ @atom:488 @atom:488_b49_a49_d49_i49 }
+ replace{ @atom:489 @atom:489_b57_a57_d57_i57 }
+ replace{ @atom:490 @atom:490_b61_a61_d61_i61 }
+ replace{ @atom:491 @atom:491_b88_a88_d88_i88 }
+ replace{ @atom:492 @atom:492_b87_a87_d87_i87 }
+ replace{ @atom:493 @atom:493_b84_a84_d84_i84 }
+ replace{ @atom:494 @atom:494_b45_a45_d45_i45 }
+ replace{ @atom:495 @atom:495_b49_a49_d49_i49 }
+ replace{ @atom:496 @atom:496_b49_a49_d49_i49 }
+ replace{ @atom:497 @atom:497_b49_a49_d49_i49 }
+ replace{ @atom:498 @atom:498_b57_a57_d57_i57 }
+ replace{ @atom:499 @atom:499_b82_a82_d82_i82 }
+ replace{ @atom:500 @atom:500_b61_a61_d61_i61 }
+ replace{ @atom:501 @atom:501_b83_a83_d83_i83 }
+ replace{ @atom:502 @atom:502_b84_a84_d84_i84 }
+ replace{ @atom:503 @atom:503_b45_a45_d45_i45 }
+ replace{ @atom:504 @atom:504_b49_a49_d49_i49 }
+ replace{ @atom:505 @atom:505_b49_a49_d49_i49 }
+ replace{ @atom:506 @atom:506_b49_a49_d49_i49 }
+ replace{ @atom:507 @atom:507_b20_a20_d20_i20 }
+ replace{ @atom:508 @atom:508_b84_a84_d84_i84 }
+ replace{ @atom:509 @atom:509_b87_a87_d87_i87 }
+ replace{ @atom:510 @atom:510_b49_a49_d49_i49 }
+ replace{ @atom:511 @atom:511_b49_a49_d49_i49 }
+ replace{ @atom:512 @atom:512_b20_a20_d20_i20 }
+ replace{ @atom:513 @atom:513_b82_a82_d82_i82 }
+ replace{ @atom:514 @atom:514_b61_a61_d61_i61 }
+ replace{ @atom:515 @atom:515_b83_a83_d83_i83 }
+ replace{ @atom:516 @atom:516_b84_a84_d84_i84 }
+ replace{ @atom:517 @atom:517_b49_a49_d49_i49 }
+ replace{ @atom:518 @atom:518_b49_a49_d49_i49 }
+ replace{ @atom:519 @atom:519_b49_a49_d49_i49 }
+ replace{ @atom:520 @atom:520_b20_a20_d20_i20 }
+ replace{ @atom:521 @atom:521_b61_a61_d61_i61 }
+ replace{ @atom:522 @atom:522_b88_a88_d88_i88 }
+ replace{ @atom:523 @atom:523_b87_a87_d87_i87 }
+ replace{ @atom:524 @atom:524_b84_a84_d84_i84 }
+ replace{ @atom:525 @atom:525_b49_a49_d49_i49 }
+ replace{ @atom:526 @atom:526_b49_a49_d49_i49 }
+ replace{ @atom:527 @atom:527_b49_a49_d49_i49 }
+ replace{ @atom:528 @atom:528_b57_a57_d57_i57 }
+ replace{ @atom:529 @atom:529_b84_a84_d84_i84 }
+ replace{ @atom:530 @atom:530_b87_a87_d87_i87 }
+ replace{ @atom:531 @atom:531_b48_a48_d48_i48 }
+ replace{ @atom:532 @atom:532_b48_a48_d48_i48 }
+ replace{ @atom:533 @atom:533_b48_a48_d48_i48 }
+ replace{ @atom:534 @atom:534_b48_a48_d48_i48 }
+ replace{ @atom:535 @atom:535_b81_a81_d81_i81 }
+ replace{ @atom:536 @atom:536_b60_a60_d60_i60 }
+ replace{ @atom:537 @atom:537_b45_a45_d45_i45 }
+ replace{ @atom:538 @atom:538_b49_a49_d49_i49 }
+ replace{ @atom:539 @atom:539_b49_a49_d49_i49 }
+ replace{ @atom:540 @atom:540_b49_a49_d49_i49 }
+ replace{ @atom:541 @atom:541_b49_a49_d49_i49 }
+ replace{ @atom:542 @atom:542_b49_a49_d49_i49 }
+ replace{ @atom:543 @atom:543_b49_a49_d49_i49 }
+ replace{ @atom:544 @atom:544_b56_a56_d56_i56 }
+ replace{ @atom:545 @atom:545_b48_a48_d48_i48 }
+ replace{ @atom:546 @atom:546_b48_a48_d48_i48 }
+ replace{ @atom:547 @atom:547_b48_a48_d48_i48 }
+ replace{ @atom:548 @atom:548_b48_a48_d48_i48 }
+ replace{ @atom:549 @atom:549_b48_a48_d48_i48 }
+ replace{ @atom:550 @atom:550_b48_a48_d48_i48 }
+ replace{ @atom:551 @atom:551_b48_a48_d48_i48 }
+ replace{ @atom:552 @atom:552_b48_a48_d48_i48 }
+ replace{ @atom:553 @atom:553_b48_a48_d48_i48 }
+ replace{ @atom:554 @atom:554_b49_a49_d49_i49 }
+ replace{ @atom:555 @atom:555_b49_a49_d49_i49 }
+ replace{ @atom:556 @atom:556_b49_a49_d49_i49 }
+ replace{ @atom:557 @atom:557_b49_a49_d49_i49 }
+ replace{ @atom:558 @atom:558_b49_a49_d49_i49 }
+ replace{ @atom:559 @atom:559_b49_a49_d49_i49 }
+ replace{ @atom:560 @atom:560_b49_a49_d49_i49 }
+ replace{ @atom:561 @atom:561_b56_a56_d56_i56 }
+ replace{ @atom:562 @atom:562_b59_a59_d59_i59 }
+ replace{ @atom:563 @atom:563_b56_a56_d56_i56 }
+ replace{ @atom:564 @atom:564_b60_a60_d60_i60 }
+ replace{ @atom:565 @atom:565_b60_a60_d60_i60 }
+ replace{ @atom:566 @atom:566_b48_a48_d48_i48 }
+ replace{ @atom:567 @atom:567_b61_a61_d61_i61 }
+ replace{ @atom:568 @atom:568_b62_a62_d62_i62 }
+ replace{ @atom:569 @atom:569_b57_a57_d57_i57 }
+ replace{ @atom:570 @atom:570_b49_a49_d49_i49 }
+ replace{ @atom:571 @atom:571_b49_a49_d49_i49 }
+ replace{ @atom:572 @atom:572_b49_a49_d49_i49 }
+ replace{ @atom:573 @atom:573_b45_a45_d45_i45 }
+ replace{ @atom:574 @atom:574_b16_a16_d16_i16 }
+ replace{ @atom:575 @atom:575_b82_a82_d82_i82 }
+ replace{ @atom:576 @atom:576_b61_a61_d61_i61 }
+ replace{ @atom:577 @atom:577_b83_a83_d83_i83 }
+ replace{ @atom:578 @atom:578_b84_a84_d84_i84 }
+ replace{ @atom:579 @atom:579_b49_a49_d49_i49 }
+ replace{ @atom:580 @atom:580_b49_a49_d49_i49 }
+ replace{ @atom:581 @atom:581_b49_a49_d49_i49 }
+ replace{ @atom:582 @atom:582_b56_a56_d56_i56 }
+ replace{ @atom:583 @atom:583_b59_a59_d59_i59 }
+ replace{ @atom:584 @atom:584_b49_a49_d49_i49 }
+ replace{ @atom:585 @atom:585_b48_a48_d48_i48 }
+ replace{ @atom:586 @atom:586_b13_a13_d13_i13 }
+ replace{ @atom:587 @atom:587_b56_a56_d56_i56 }
+ replace{ @atom:588 @atom:588_b48_a48_d48_i48 }
+ replace{ @atom:589 @atom:589_b48_a48_d48_i48 }
+ replace{ @atom:590 @atom:590_b48_a48_d48_i48 }
+ replace{ @atom:591 @atom:591_b48_a48_d48_i48 }
+ replace{ @atom:592 @atom:592_b48_a48_d48_i48 }
+ replace{ @atom:593 @atom:593_b48_a48_d48_i48 }
+ replace{ @atom:594 @atom:594_b49_a49_d49_i49 }
+ replace{ @atom:595 @atom:595_b49_a49_d49_i49 }
+ replace{ @atom:596 @atom:596_b49_a49_d49_i49 }
+ replace{ @atom:597 @atom:597_b49_a49_d49_i49 }
+ replace{ @atom:598 @atom:598_b57_a57_d57_i57 }
+ replace{ @atom:599 @atom:599_b82_a82_d82_i82 }
+ replace{ @atom:600 @atom:600_b61_a61_d61_i61 }
+ replace{ @atom:601 @atom:601_b83_a83_d83_i83 }
+ replace{ @atom:602 @atom:602_b84_a84_d84_i84 }
+ replace{ @atom:603 @atom:603_b13_a13_d13_i13 }
+ replace{ @atom:604 @atom:604_b49_a49_d49_i49 }
+ replace{ @atom:605 @atom:605_b49_a49_d49_i49 }
+ replace{ @atom:606 @atom:606_b49_a49_d49_i49 }
+ replace{ @atom:607 @atom:607_b46_a46_d46_i46 }
+ replace{ @atom:608 @atom:608_b13_a13_d13_i13 }
+ replace{ @atom:609 @atom:609_b13_a13_d13_i13 }
+ replace{ @atom:610 @atom:610_b13_a13_d13_i13 }
+ replace{ @atom:611 @atom:611_b13_a13_d13_i13 }
+ replace{ @atom:612 @atom:612_b13_a13_d13_i13 }
+ replace{ @atom:613 @atom:613_b13_a13_d13_i13 }
+ replace{ @atom:614 @atom:614_b13_a13_d13_i13 }
+ replace{ @atom:615 @atom:615_b13_a13_d13_i13 }
+ replace{ @atom:616 @atom:616_b13_a13_d13_i13 }
+ replace{ @atom:617 @atom:617_b13_a13_d13_i13 }
+ replace{ @atom:618 @atom:618_b13_a13_d13_i13 }
+ replace{ @atom:619 @atom:619_b13_a13_d13_i13 }
+ replace{ @atom:620 @atom:620_b13_a13_d13_i13 }
+ replace{ @atom:621 @atom:621_b13_a13_d13_i13 }
+ replace{ @atom:622 @atom:622_b13_a13_d13_i13 }
+ replace{ @atom:623 @atom:623_b15_a15_d15_i15 }
+ replace{ @atom:624 @atom:624_b17_a17_d17_i17 }
+ replace{ @atom:625 @atom:625_b48_a48_d48_i48 }
+ replace{ @atom:626 @atom:626_b89_a89_d89_i89 }
+ replace{ @atom:627 @atom:627_b90_a90_d90_i90 }
+ replace{ @atom:628 @atom:628_b91_a91_d91_i91 }
+ replace{ @atom:629 @atom:629_b91_a91_d91_i91 }
+ replace{ @atom:630 @atom:630_b13_a13_d13_i13 }
+ replace{ @atom:631 @atom:631_b86_a86_d86_i86 }
+ replace{ @atom:632 @atom:632_b86_a86_d86_i86 }
+ replace{ @atom:633 @atom:633_b86_a86_d86_i86 }
+ replace{ @atom:634 @atom:634_b86_a86_d86_i86 }
+ replace{ @atom:635 @atom:635_b86_a86_d86_i86 }
+ replace{ @atom:636 @atom:636_b86_a86_d86_i86 }
+ replace{ @atom:637 @atom:637_b16_a16_d16_i16 }
+ replace{ @atom:638 @atom:638_b92_a92_d92_i92 }
+ replace{ @atom:639 @atom:639_b93_a93_d93_i93 }
+ replace{ @atom:640 @atom:640_b94_a94_d94_i94 }
+ replace{ @atom:641 @atom:641_b95_a95_d95_i95 }
+ replace{ @atom:642 @atom:642_b13_a13_d13_i13 }
+ replace{ @atom:643 @atom:643_b46_a46_d46_i46 }
+ replace{ @atom:644 @atom:644_b96_a96_d96_i96 }
+ replace{ @atom:645 @atom:645_b97_a97_d97_i97 }
+ replace{ @atom:646 @atom:646_b98_a98_d98_i98 }
+ replace{ @atom:647 @atom:647_b99_a99_d99_i99 }
+ replace{ @atom:648 @atom:648_b100_a100_d100_i100 }
+ replace{ @atom:649 @atom:649_b47_a47_d47_i47 }
+ replace{ @atom:650 @atom:650_b21_a21_d21_i21 }
+ replace{ @atom:651 @atom:651_b46_a46_d46_i46 }
+ replace{ @atom:652 @atom:652_b91_a91_d91_i91 }
+ replace{ @atom:653 @atom:653_b91_a91_d91_i91 }
+ replace{ @atom:654 @atom:654_b91_a91_d91_i91 }
+ replace{ @atom:655 @atom:655_b48_a48_d48_i48 }
+ replace{ @atom:656 @atom:656_b49_a49_d49_i49 }
+ replace{ @atom:657 @atom:657_b48_a48_d48_i48 }
+ replace{ @atom:658 @atom:658_b49_a49_d49_i49 }
+ replace{ @atom:659 @atom:659_b48_a48_d48_i48 }
+ replace{ @atom:660 @atom:660_b1_a1_d1_i1 }
+ replace{ @atom:661 @atom:661_b48_a48_d48_i48 }
+ replace{ @atom:662 @atom:662_b1_a1_d1_i1 }
+ replace{ @atom:663 @atom:663_b65_a65_d65_i65 }
+ replace{ @atom:664 @atom:664_b2_a2_d2_i2 }
+ replace{ @atom:665 @atom:665_b48_a48_d48_i48 }
+ replace{ @atom:666 @atom:666_b13_a13_d13_i13 }
+ replace{ @atom:667 @atom:667_b1_a1_d1_i1 }
+ replace{ @atom:668 @atom:668_b48_a48_d48_i48 }
+ replace{ @atom:669 @atom:669_b1_a1_d1_i1 }
+ replace{ @atom:670 @atom:670_b48_a48_d48_i48 }
+ replace{ @atom:671 @atom:671_b65_a65_d65_i65 }
+ replace{ @atom:672 @atom:672_b48_a48_d48_i48 }
+ replace{ @atom:673 @atom:673_b66_a66_d66_i66 }
+ replace{ @atom:674 @atom:674_b91_a91_d91_i91 }
+ replace{ @atom:675 @atom:675_b15_a15_d15_i15 }
+ replace{ @atom:676 @atom:676_b48_a48_d48_i48 }
+ replace{ @atom:677 @atom:677_b48_a48_d48_i48 }
+ replace{ @atom:678 @atom:678_b48_a48_d48_i48 }
+ replace{ @atom:679 @atom:679_b48_a48_d48_i48 }
+ replace{ @atom:680 @atom:680_b48_a48_d48_i48 }
+ replace{ @atom:681 @atom:681_b49_a49_d49_i49 }
+ replace{ @atom:682 @atom:682_b49_a49_d49_i49 }
+ replace{ @atom:683 @atom:683_b48_a48_d48_i48 }
+ replace{ @atom:684 @atom:684_b55_a55_d55_i55 }
+ replace{ @atom:685 @atom:685_b45_a45_d45_i45 }
+ replace{ @atom:686 @atom:686_b45_a45_d45_i45 }
+ replace{ @atom:687 @atom:687_b49_a49_d49_i49 }
+ replace{ @atom:688 @atom:688_b13_a13_d13_i13 }
+ replace{ @atom:689 @atom:689_b13_a13_d13_i13 }
+ replace{ @atom:690 @atom:690_b101_a101_d101_i101 }
+ replace{ @atom:691 @atom:691_b56_a56_d56_i56 }
+ replace{ @atom:692 @atom:692_b101_a101_d101_i101 }
+ replace{ @atom:693 @atom:693_b48_a48_d48_i48 }
+ replace{ @atom:694 @atom:694_b18_a18_d18_i18 }
+ replace{ @atom:695 @atom:695_b19_a19_d19_i19 }
+ replace{ @atom:696 @atom:696_b13_a13_d13_i13 }
+ replace{ @atom:697 @atom:697_b13_a13_d13_i13 }
+ replace{ @atom:698 @atom:698_b13_a13_d13_i13 }
+ replace{ @atom:699 @atom:699_b13_a13_d13_i13 }
+ replace{ @atom:700 @atom:700_b46_a46_d46_i46 }
+ replace{ @atom:701 @atom:701_b102_a102_d102_i102 }
+ replace{ @atom:702 @atom:702_b103_a103_d103_i103 }
+ replace{ @atom:703 @atom:703_b13_a13_d13_i13 }
+ replace{ @atom:704 @atom:704_b46_a46_d46_i46 }
+ replace{ @atom:705 @atom:705_b13_a13_d13_i13 }
+ replace{ @atom:706 @atom:706_b13_a13_d13_i13 }
+ replace{ @atom:707 @atom:707_b13_a13_d13_i13 }
+ replace{ @atom:708 @atom:708_b102_a102_d102_i102 }
+ replace{ @atom:709 @atom:709_b48_a48_d48_i48 }
+ replace{ @atom:710 @atom:710_b13_a13_d13_i13 }
+ replace{ @atom:711 @atom:711_b56_a56_d56_i56 }
+ replace{ @atom:712 @atom:712_b4_a4_d4_i4 }
+ replace{ @atom:713 @atom:713_b3_a3_d3_i3 }
+ replace{ @atom:714 @atom:714_b20_a20_d20_i20 }
+ replace{ @atom:715 @atom:715_b13_a13_d13_i13 }
+ replace{ @atom:716 @atom:716_b13_a13_d13_i13 }
+ replace{ @atom:717 @atom:717_b13_a13_d13_i13 }
+ replace{ @atom:718 @atom:718_b46_a46_d46_i46 }
+ replace{ @atom:719 @atom:719_b46_a46_d46_i46 }
+ replace{ @atom:720 @atom:720_b46_a46_d46_i46 }
+ replace{ @atom:721 @atom:721_b20_a20_d20_i20 }
+ replace{ @atom:722 @atom:722_b104_a104_d104_i104 }
+ replace{ @atom:723 @atom:723_b13_a13_d13_i13 }
+ replace{ @atom:724 @atom:724_b13_a13_d13_i13 }
+ replace{ @atom:725 @atom:725_b46_a46_d46_i46 }
+ replace{ @atom:726 @atom:726_b64_a64_d64_i64 }
+ replace{ @atom:727 @atom:727_b1_a1_d1_i1 }
+ replace{ @atom:728 @atom:728_b24_a24_d24_i24 }
+ replace{ @atom:729 @atom:729_b4_a4_d4_i4 }
+ replace{ @atom:730 @atom:730_b44_a44_d44_i44 }
+ replace{ @atom:731 @atom:731_b44_a44_d44_i44 }
+ replace{ @atom:732 @atom:732_b44_a44_d44_i44 }
+ replace{ @atom:733 @atom:733_b13_a13_d13_i13 }
+ replace{ @atom:734 @atom:734_b13_a13_d13_i13 }
+ replace{ @atom:735 @atom:735_b13_a13_d13_i13 }
+ replace{ @atom:736 @atom:736_b13_a13_d13_i13 }
+ replace{ @atom:737 @atom:737_b13_a13_d13_i13 }
+ replace{ @atom:738 @atom:738_b13_a13_d13_i13 }
+ replace{ @atom:739 @atom:739_b45_a45_d45_i45 }
+ replace{ @atom:740 @atom:740_b45_a45_d45_i45 }
+ replace{ @atom:741 @atom:741_b46_a46_d46_i46 }
+ replace{ @atom:742 @atom:742_b13_a13_d13_i13 }
+ replace{ @atom:743 @atom:743_b13_a13_d13_i13 }
+ replace{ @atom:744 @atom:744_b13_a13_d13_i13 }
+ replace{ @atom:745 @atom:745_b13_a13_d13_i13 }
+ replace{ @atom:746 @atom:746_b48_a48_d48_i48 }
+ replace{ @atom:747 @atom:747_b48_a48_d48_i48 }
+ replace{ @atom:748 @atom:748_b48_a48_d48_i48 }
+ replace{ @atom:749 @atom:749_b13_a13_d13_i13 }
+ replace{ @atom:750 @atom:750_b13_a13_d13_i13 }
+ replace{ @atom:751 @atom:751_b13_a13_d13_i13 }
+ replace{ @atom:752 @atom:752_b13_a13_d13_i13 }
+ replace{ @atom:753 @atom:753_b13_a13_d13_i13 }
+ replace{ @atom:754 @atom:754_b13_a13_d13_i13 }
+ replace{ @atom:755 @atom:755_b19_a19_d19_i19 }
+ replace{ @atom:756 @atom:756_b46_a46_d46_i46 }
+ replace{ @atom:757 @atom:757_b19_a19_d19_i19 }
+ replace{ @atom:758 @atom:758_b19_a19_d19_i19 }
+ replace{ @atom:759 @atom:759_b19_a19_d19_i19 }
+ replace{ @atom:760 @atom:760_b46_a46_d46_i46 }
+ replace{ @atom:761 @atom:761_b51_a51_d51_i51 }
+ replace{ @atom:762 @atom:762_b51_a51_d51_i51 }
+ replace{ @atom:763 @atom:763_b51_a51_d51_i51 }
+ replace{ @atom:764 @atom:764_b5_a5_d5_i5 }
+ replace{ @atom:765 @atom:765_b7_a7_d7_i7 }
+ replace{ @atom:766 @atom:766_b105_a105_d105_i105 }
+ replace{ @atom:767 @atom:767_b105_a105_d105_i105 }
+ replace{ @atom:768 @atom:768_b105_a105_d105_i105 }
+ replace{ @atom:769 @atom:769_b19_a19_d19_i19 }
+ replace{ @atom:770 @atom:770_b53_a53_d53_i53 }
+ replace{ @atom:771 @atom:771_b54_a54_d54_i54 }
+ replace{ @atom:772 @atom:772_b13_a13_d13_i13 }
+ replace{ @atom:773 @atom:773_b13_a13_d13_i13 }
+ replace{ @atom:774 @atom:774_b13_a13_d13_i13 }
+ replace{ @atom:775 @atom:775_b13_a13_d13_i13 }
+ replace{ @atom:776 @atom:776_b84_a84_d84_i84 }
+ replace{ @atom:777 @atom:777_b87_a87_d87_i87 }
+ replace{ @atom:778 @atom:778_b86_a86_d86_i86 }
+ replace{ @atom:779 @atom:779_b86_a86_d86_i86 }
+ replace{ @atom:780 @atom:780_b46_a46_d46_i46 }
+ replace{ @atom:781 @atom:781_b13_a13_d13_i13 }
+ replace{ @atom:782 @atom:782_b3_a3_d3_i3 }
+ replace{ @atom:783 @atom:783_b53_a53_d53_i53 }
+ replace{ @atom:784 @atom:784_b52_a52_d52_i52 }
+ replace{ @atom:785 @atom:785_b54_a54_d54_i54 }
+ replace{ @atom:786 @atom:786_b1_a1_d1_i1 }
+ replace{ @atom:787 @atom:787_b13_a13_d13_i13 }
+ replace{ @atom:788 @atom:788_b46_a46_d46_i46 }
+ replace{ @atom:789 @atom:789_b13_a13_d13_i13 }
+ replace{ @atom:790 @atom:790_b13_a13_d13_i13 }
+ replace{ @atom:791 @atom:791_b13_a13_d13_i13 }
+ replace{ @atom:792 @atom:792_b13_a13_d13_i13 }
+ replace{ @atom:793 @atom:793_b13_a13_d13_i13 }
+ replace{ @atom:794 @atom:794_b13_a13_d13_i13 }
+ replace{ @atom:795 @atom:795_b1_a1_d1_i1 }
+ replace{ @atom:796 @atom:796_b13_a13_d13_i13 }
+ replace{ @atom:797 @atom:797_b46_a46_d46_i46 }
+ replace{ @atom:798 @atom:798_b13_a13_d13_i13 }
+ replace{ @atom:799 @atom:799_b13_a13_d13_i13 }
+ replace{ @atom:800 @atom:800_b21_a21_d21_i21 }
+ replace{ @atom:801 @atom:801_b13_a13_d13_i13 }
+ replace{ @atom:802 @atom:802_b46_a46_d46_i46 }
+ replace{ @atom:803 @atom:803_b13_a13_d13_i13 }
+ replace{ @atom:804 @atom:804_b13_a13_d13_i13 }
+ replace{ @atom:805 @atom:805_b65_a65_d65_i65 }
+ replace{ @atom:806 @atom:806_b13_a13_d13_i13 }
+ replace{ @atom:807 @atom:807_b46_a46_d46_i46 }
+ replace{ @atom:808 @atom:808_b13_a13_d13_i13 }
+ replace{ @atom:809 @atom:809_b13_a13_d13_i13 }
+ replace{ @atom:810 @atom:810_b1_a1_d1_i1 }
+ replace{ @atom:811 @atom:811_b21_a21_d21_i21 }
+ replace{ @atom:812 @atom:812_b65_a65_d65_i65 }
+ replace{ @atom:813 @atom:813_b48_a48_d48_i48 }
+ replace{ @atom:814 @atom:814_b20_a20_d20_i20 }
+ replace{ @atom:815 @atom:815_b13_a13_d13_i13 }
+ replace{ @atom:816 @atom:816_b1_a1_d1_i1 }
+ replace{ @atom:817 @atom:817_b24_a24_d24_i24 }
+ replace{ @atom:818 @atom:818_b48_a48_d48_i48 }
+ replace{ @atom:819 @atom:819_b13_a13_d13_i13 }
+ replace{ @atom:820 @atom:820_b3_a3_d3_i3 }
+ replace{ @atom:821 @atom:821_b3_a3_d3_i3 }
+ replace{ @atom:822 @atom:822_b4_a4_d4_i4 }
+ replace{ @atom:823 @atom:823_b24_a24_d24_i24 }
+ replace{ @atom:824 @atom:824_b45_a45_d45_i45 }
+ replace{ @atom:825 @atom:825_b5_a5_d5_i5 }
+ replace{ @atom:826 @atom:826_b7_a7_d7_i7 }
+ replace{ @atom:827 @atom:827_b13_a13_d13_i13 }
+ replace{ @atom:828 @atom:828_b13_a13_d13_i13 }
+ replace{ @atom:829 @atom:829_b86_a86_d86_i86 }
+ replace{ @atom:830 @atom:830_b86_a86_d86_i86 }
+ replace{ @atom:831 @atom:831_b86_a86_d86_i86 }
+ replace{ @atom:832 @atom:832_b86_a86_d86_i86 }
+ replace{ @atom:833 @atom:833_b48_a48_d48_i48 }
+ replace{ @atom:834 @atom:834_b106_a106_d106_i106 }
+ replace{ @atom:835 @atom:835_b13_a13_d13_i13 }
+ replace{ @atom:836 @atom:836_b13_a13_d13_i13 }
+ replace{ @atom:837 @atom:837_b13_a13_d13_i13 }
+ replace{ @atom:838 @atom:838_b66_a66_d66_i66 }
+ replace{ @atom:839 @atom:839_b46_a46_d46_i46 }
+ replace{ @atom:840 @atom:840_b24_a24_d24_i24 }
+ replace{ @atom:841 @atom:841_b48_a48_d48_i48 }
+ replace{ @atom:842 @atom:842_b48_a48_d48_i48 }
+ replace{ @atom:843 @atom:843_b24_a24_d24_i24 }
+ replace{ @atom:844 @atom:844_b48_a48_d48_i48 }
+ replace{ @atom:845 @atom:845_b3_a3_d3_i3 }
+ replace{ @atom:846 @atom:846_b4_a4_d4_i4 }
+ replace{ @atom:847 @atom:847_b107_a107_d107_i107 }
+ replace{ @atom:848 @atom:848_b13_a13_d13_i13 }
+ replace{ @atom:849 @atom:849_b13_a13_d13_i13 }
+ replace{ @atom:850 @atom:850_b13_a13_d13_i13 }
+ replace{ @atom:851 @atom:851_b13_a13_d13_i13 }
+ replace{ @atom:852 @atom:852_b46_a46_d46_i46 }
+ replace{ @atom:853 @atom:853_b3_a3_d3_i3 }
+ replace{ @atom:854 @atom:854_b4_a4_d4_i4 }
+ replace{ @atom:855 @atom:855_b46_a46_d46_i46 }
+ replace{ @atom:856 @atom:856_b13_a13_d13_i13 }
+ replace{ @atom:857 @atom:857_b13_a13_d13_i13 }
+ replace{ @atom:858 @atom:858_b13_a13_d13_i13 }
+ replace{ @atom:859 @atom:859_b13_a13_d13_i13 }
+ replace{ @atom:860 @atom:860_b13_a13_d13_i13 }
+ replace{ @atom:861 @atom:861_b13_a13_d13_i13 }
+ replace{ @atom:862 @atom:862_b13_a13_d13_i13 }
+ replace{ @atom:863 @atom:863_b13_a13_d13_i13 }
+ replace{ @atom:864 @atom:864_b13_a13_d13_i13 }
+ replace{ @atom:865 @atom:865_b13_a13_d13_i13 }
+ replace{ @atom:866 @atom:866_b108_a108_d108_i108 }
+ replace{ @atom:867 @atom:867_b108_a108_d108_i108 }
+ replace{ @atom:868 @atom:868_b108_a108_d108_i108 }
+ replace{ @atom:869 @atom:869_b108_a108_d108_i108 }
+ replace{ @atom:870 @atom:870_b45_a45_d45_i45 }
+ replace{ @atom:871 @atom:871_b13_a13_d13_i13 }
+ replace{ @atom:872 @atom:872_b13_a13_d13_i13 }
+ replace{ @atom:873 @atom:873_b13_a13_d13_i13 }
+ replace{ @atom:874 @atom:874_b13_a13_d13_i13 }
+ replace{ @atom:875 @atom:875_b1_a1_d1_i1 }
+ replace{ @atom:876 @atom:876_b21_a21_d21_i21 }
+ replace{ @atom:877 @atom:877_b65_a65_d65_i65 }
+ replace{ @atom:878 @atom:878_b66_a66_d66_i66 }
+ replace{ @atom:879 @atom:879_b68_a68_d68_i68 }
+ replace{ @atom:880 @atom:880_b69_a69_d69_i69 }
+ replace{ @atom:881 @atom:881_b70_a70_d70_i70 }
+ replace{ @atom:882 @atom:882_b71_a71_d71_i71 }
+ replace{ @atom:883 @atom:883_b72_a72_d72_i72 }
+ replace{ @atom:884 @atom:884_b73_a73_d73_i73 }
+ replace{ @atom:885 @atom:885_b74_a74_d74_i74 }
+ replace{ @atom:886 @atom:886_b75_a75_d75_i75 }
+ replace{ @atom:887 @atom:887_b76_a76_d76_i76 }
+ replace{ @atom:888 @atom:888_b13_a13_d13_i13 }
+ replace{ @atom:889 @atom:889_b13_a13_d13_i13 }
+ replace{ @atom:890 @atom:890_b13_a13_d13_i13 }
+ replace{ @atom:891 @atom:891_b13_a13_d13_i13 }
+ replace{ @atom:892 @atom:892_b46_a46_d46_i46 }
+ replace{ @atom:893 @atom:893_b53_a53_d53_i53 }
+ replace{ @atom:894 @atom:894_b48_a48_d48_i48 }
+ replace{ @atom:895 @atom:895_b53_a53_d53_i53 }
+ replace{ @atom:896 @atom:896_b48_a48_d48_i48 }
+ replace{ @atom:897 @atom:897_b109_a109_d109_i109 }
+ replace{ @atom:898 @atom:898_b109_a109_d109_i109 }
+ replace{ @atom:899 @atom:899_b46_a46_d46_i46 }
+ replace{ @atom:900 @atom:900_b47_a47_d47_i47 }
+ replace{ @atom:901 @atom:901_b47_a47_d47_i47 }
+ replace{ @atom:902 @atom:902_b47_a47_d47_i47 }
+ replace{ @atom:903 @atom:903_b110_a110_d110_i110 }
+ replace{ @atom:904 @atom:904_b110_a110_d110_i110 }
+ replace{ @atom:905 @atom:905_b4_a4_d4_i4 }
+ replace{ @atom:906 @atom:906_b13_a13_d13_i13 }
+
+
+
+
+ # --------------- Non-Bonded interactions: ---------------------
+ # http://lammps.sandia.gov/doc/pair_lj.html
+ # Syntax:
+ # pair_coeff AtomType1 AtomType2 pair_style_name parameters...
+
+ write_once("In Settings") {
+ pair_coeff @atom:1_b1_a1_d1_i1 @atom:1_b1_a1_d1_i1 lj/cut/coul/long 0.061 2.94
+ pair_coeff @atom:2_b2_a2_d2_i2 @atom:2_b2_a2_d2_i2 lj/cut/coul/long 0.118 3.905
+ pair_coeff @atom:3_b3_a3_d3_i3 @atom:3_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75
+ pair_coeff @atom:4_b4_a4_d4_i4 @atom:4_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96
+ pair_coeff @atom:5_b5_a5_d5_i5 @atom:5_b5_a5_d5_i5 lj/cut/coul/long 0.17 3.0
+ pair_coeff @atom:6_b6_a6_d6_i6 @atom:6_b6_a6_d6_i6 lj/cut/coul/long 0.16 3.91
+ pair_coeff @atom:7_b7_a7_d7_i7 @atom:7_b7_a7_d7_i7 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:8_b8_a8_d8_i8 @atom:8_b8_a8_d8_i8 lj/cut/coul/long 0.294 3.73
+ pair_coeff @atom:9_b6_a6_d6_i6 @atom:9_b6_a6_d6_i6 lj/cut/coul/long 0.207 3.775
+ pair_coeff @atom:10_b6_a6_d6_i6 @atom:10_b6_a6_d6_i6 lj/cut/coul/long 0.175 3.905
+ pair_coeff @atom:11_b6_a6_d6_i6 @atom:11_b6_a6_d6_i6 lj/cut/coul/long 0.16 3.91
+ pair_coeff @atom:12_b6_a6_d6_i6 @atom:12_b6_a6_d6_i6 lj/cut/coul/long 0.145 3.96
+ pair_coeff @atom:13_b2_a2_d2_i2 @atom:13_b2_a2_d2_i2 lj/cut/coul/long 0.118 3.905
+ pair_coeff @atom:14_b9_a9_d9_i9 @atom:14_b9_a9_d9_i9 lj/cut/coul/long 0.14 3.85
+ pair_coeff @atom:15_b10_a10_d10_i10 @atom:15_b10_a10_d10_i10 lj/cut/coul/long 0.08 3.85
+ pair_coeff @atom:16_b11_a11_d11_i11 @atom:16_b11_a11_d11_i11 lj/cut/coul/long 0.115 3.8
+ pair_coeff @atom:17_b12_a12_d12_i12 @atom:17_b12_a12_d12_i12 lj/cut/coul/long 0.11 3.75
+ pair_coeff @atom:18_b13_a13_d13_i13 @atom:18_b13_a13_d13_i13 lj/cut/coul/long 0.05 3.8
+ pair_coeff @atom:19_b14_a14_d14_i14 @atom:19_b14_a14_d14_i14 lj/cut/coul/long 0.105 3.75
+ pair_coeff @atom:20_b5_a5_d5_i5 @atom:20_b5_a5_d5_i5 lj/cut/coul/long 0.17 3.07
+ pair_coeff @atom:21_b7_a7_d7_i7 @atom:21_b7_a7_d7_i7 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:22_b6_a6_d6_i6 @atom:22_b6_a6_d6_i6 lj/cut/coul/long 0.207 3.775
+ pair_coeff @atom:23_b2_a2_d2_i2 @atom:23_b2_a2_d2_i2 lj/cut/coul/long 0.118 3.905
+ pair_coeff @atom:24_b15_a15_d15_i15 @atom:24_b15_a15_d15_i15 lj/cut/coul/long 0.25 3.7
+ pair_coeff @atom:25_b15_a15_d15_i15 @atom:25_b15_a15_d15_i15 lj/cut/coul/long 0.25 3.55
+ pair_coeff @atom:26_b16_a16_d16_i16 @atom:26_b16_a16_d16_i16 lj/cut/coul/long 0.25 3.55
+ pair_coeff @atom:27_b16_a16_d16_i16 @atom:27_b16_a16_d16_i16 lj/cut/coul/long 0.25 3.55
+ pair_coeff @atom:28_b17_a17_d17_i17 @atom:28_b17_a17_d17_i17 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:29_b17_a17_d17_i17 @atom:29_b17_a17_d17_i17 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:30_b6_a6_d6_i6 @atom:30_b6_a6_d6_i6 lj/cut/coul/long 0.207 3.775
+ pair_coeff @atom:31_b2_a2_d2_i2 @atom:31_b2_a2_d2_i2 lj/cut/coul/long 0.118 3.905
+ pair_coeff @atom:32_b6_a6_d6_i6 @atom:32_b6_a6_d6_i6 lj/cut/coul/long 0.17 3.8
+ pair_coeff @atom:33_b2_a2_d2_i2 @atom:33_b2_a2_d2_i2 lj/cut/coul/long 0.118 3.8
+ pair_coeff @atom:34_b6_a6_d6_i6 @atom:34_b6_a6_d6_i6 lj/cut/coul/long 0.17 3.8
+ pair_coeff @atom:35_b2_a2_d2_i2 @atom:35_b2_a2_d2_i2 lj/cut/coul/long 0.118 3.8
+ pair_coeff @atom:36_b18_a18_d18_i18 @atom:36_b18_a18_d18_i18 lj/cut/coul/long 0.17 3.2
+ pair_coeff @atom:37_b19_a19_d19_i19 @atom:37_b19_a19_d19_i19 lj/cut/coul/long 0.15 3.65
+ pair_coeff @atom:38_b6_a6_d6_i6 @atom:38_b6_a6_d6_i6 lj/cut/coul/long 0.207 3.775
+ pair_coeff @atom:39_b10_a10_d10_i10 @atom:39_b10_a10_d10_i10 lj/cut/coul/long 0.08 3.85
+ pair_coeff @atom:40_b13_a13_d13_i13 @atom:40_b13_a13_d13_i13 lj/cut/coul/long 0.05 3.8
+ pair_coeff @atom:41_b20_a20_d20_i20 @atom:41_b20_a20_d20_i20 lj/cut/coul/long 0.17 3.0
+ pair_coeff @atom:42_b6_a6_d6_i6 @atom:42_b6_a6_d6_i6 lj/cut/coul/long 0.17 3.8
+ pair_coeff @atom:43_b2_a2_d2_i2 @atom:43_b2_a2_d2_i2 lj/cut/coul/long 0.118 3.8
+ pair_coeff @atom:44_b2_a2_d2_i2 @atom:44_b2_a2_d2_i2 lj/cut/coul/long 0.118 3.8
+ pair_coeff @atom:45_b21_a21_d21_i21 @atom:45_b21_a21_d21_i21 lj/cut/coul/long 0.3 3.4
+ pair_coeff @atom:46_b10_a10_d10_i10 @atom:46_b10_a10_d10_i10 lj/cut/coul/long 0.08 3.8
+ pair_coeff @atom:47_b21_a21_d21_i21 @atom:47_b21_a21_d21_i21 lj/cut/coul/long 0.3 3.47
+ pair_coeff @atom:48_b13_a13_d13_i13 @atom:48_b13_a13_d13_i13 lj/cut/coul/long 0.05 3.8
+ pair_coeff @atom:49_b21_a21_d21_i21 @atom:49_b21_a21_d21_i21 lj/cut/coul/long 0.266 3.47
+ pair_coeff @atom:50_b22_a22_d22_i22 @atom:50_b22_a22_d22_i22 lj/cut/coul/long 0.395 3.56
+ pair_coeff @atom:51_b23_a23_d23_i23 @atom:51_b23_a23_d23_i23 lj/cut/coul/long 0.28 2.93
+ pair_coeff @atom:52_b6_a6_d6_i6 @atom:52_b6_a6_d6_i6 lj/cut/coul/long 0.16 3.81
+ pair_coeff @atom:53_b4_a4_d4_i4 @atom:53_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96
+ pair_coeff @atom:54_b24_a24_d24_i24 @atom:54_b24_a24_d24_i24 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:55_b3_a3_d3_i3 @atom:55_b3_a3_d3_i3 lj/cut/coul/long 0.115 3.8
+ pair_coeff @atom:56_b6_a6_d6_i6 @atom:56_b6_a6_d6_i6 lj/cut/coul/long 0.17 3.8
+ pair_coeff @atom:57_b25_a25_d25_i25 @atom:57_b25_a25_d25_i25 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:58_b26_a26_d26_i26 @atom:58_b26_a26_d26_i26 lj/cut/coul/long 0.02 2.556
+ pair_coeff @atom:59_b27_a27_d27_i27 @atom:59_b27_a27_d27_i27 lj/cut/coul/long 0.069 2.78
+ pair_coeff @atom:60_b28_a28_d28_i28 @atom:60_b28_a28_d28_i28 lj/cut/coul/long 0.2339 3.401
+ pair_coeff @atom:61_b29_a29_d29_i29 @atom:61_b29_a29_d29_i29 lj/cut/coul/long 0.317 3.624
+ pair_coeff @atom:62_b30_a30_d30_i30 @atom:62_b30_a30_d30_i30 lj/cut/coul/long 0.433 3.935
+ pair_coeff @atom:63_b31_a31_d31_i31 @atom:63_b31_a31_d31_i31 lj/cut/coul/long 0.1521 3.15061
+ pair_coeff @atom:64_b32_a32_d32_i32 @atom:64_b32_a32_d32_i32 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:65_b31_a31_d31_i31 @atom:65_b31_a31_d31_i31 lj/cut/coul/long 0.155 3.15365
+ pair_coeff @atom:66_b32_a32_d32_i32 @atom:66_b32_a32_d32_i32 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:67_b33_a33_d33_i33 @atom:67_b33_a33_d33_i33 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:68_b34_a34_d34_i34 @atom:68_b34_a34_d34_i34 lj/cut/coul/long 0.15 3.176
+ pair_coeff @atom:69_b35_a35_d35_i35 @atom:69_b35_a35_d35_i35 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:70_b36_a36_d36_i36 @atom:70_b36_a36_d36_i36 lj/cut/coul/long 0.1 3.27
+ pair_coeff @atom:71_b37_a37_d37_i37 @atom:71_b37_a37_d37_i37 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:72_b38_a38_d38_i38 @atom:72_b38_a38_d38_i38 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:73_b39_a39_d39_i39 @atom:73_b39_a39_d39_i39 lj/cut/coul/long 0.16 3.12
+ pair_coeff @atom:74_b40_a40_d40_i40 @atom:74_b40_a40_d40_i40 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:75_b41_a41_d41_i41 @atom:75_b41_a41_d41_i41 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:76_b42_a42_d42_i42 @atom:76_b42_a42_d42_i42 lj/cut/coul/long 0.1554 3.16557
+ pair_coeff @atom:77_b43_a43_d43_i43 @atom:77_b43_a43_d43_i43 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:78_b44_a44_d44_i44 @atom:78_b44_a44_d44_i44 lj/cut/coul/long 0.17 3.42
+ pair_coeff @atom:79_b45_a45_d45_i45 @atom:79_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:80_b13_a13_d13_i13 @atom:80_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:81_b13_a13_d13_i13 @atom:81_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:82_b13_a13_d13_i13 @atom:82_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:83_b13_a13_d13_i13 @atom:83_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:84_b13_a13_d13_i13 @atom:84_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:85_b46_a46_d46_i46 @atom:85_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:86_b47_a47_d47_i47 @atom:86_b47_a47_d47_i47 lj/cut/coul/long 0.076 3.55
+ pair_coeff @atom:87_b47_a47_d47_i47 @atom:87_b47_a47_d47_i47 lj/cut/coul/long 0.076 3.55
+ pair_coeff @atom:88_b47_a47_d47_i47 @atom:88_b47_a47_d47_i47 lj/cut/coul/long 0.076 3.55
+ pair_coeff @atom:89_b46_a46_d46_i46 @atom:89_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:90_b48_a48_d48_i48 @atom:90_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:91_b49_a49_d49_i49 @atom:91_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:92_b48_a48_d48_i48 @atom:92_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:93_b13_a13_d13_i13 @atom:93_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:94_b13_a13_d13_i13 @atom:94_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:95_b50_a50_d50_i50 @atom:95_b50_a50_d50_i50 lj/cut/coul/long 0.076 3.55
+ pair_coeff @atom:96_b5_a5_d5_i5 @atom:96_b5_a5_d5_i5 lj/cut/coul/long 0.17 3.12
+ pair_coeff @atom:97_b7_a7_d7_i7 @atom:97_b7_a7_d7_i7 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:98_b46_a46_d46_i46 @atom:98_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:99_b13_a13_d13_i13 @atom:99_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:100_b13_a13_d13_i13 @atom:100_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:101_b13_a13_d13_i13 @atom:101_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:102_b13_a13_d13_i13 @atom:102_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:103_b13_a13_d13_i13 @atom:103_b13_a13_d13_i13 lj/cut/coul/long 0.062 3.25
+ pair_coeff @atom:104_b5_a5_d5_i5 @atom:104_b5_a5_d5_i5 lj/cut/coul/long 0.17 3.07
+ pair_coeff @atom:105_b7_a7_d7_i7 @atom:105_b7_a7_d7_i7 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:106_b1_a1_d1_i1 @atom:106_b1_a1_d1_i1 lj/cut/coul/long 0.061 2.94
+ pair_coeff @atom:107_b46_a46_d46_i46 @atom:107_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:108_b48_a48_d48_i48 @atom:108_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:109_b5_a5_d5_i5 @atom:109_b5_a5_d5_i5 lj/cut/coul/long 0.17 3.07
+ pair_coeff @atom:110_b7_a7_d7_i7 @atom:110_b7_a7_d7_i7 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:111_b5_a5_d5_i5 @atom:111_b5_a5_d5_i5 lj/cut/coul/long 0.17 3.07
+ pair_coeff @atom:112_b7_a7_d7_i7 @atom:112_b7_a7_d7_i7 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:113_b5_a5_d5_i5 @atom:113_b5_a5_d5_i5 lj/cut/coul/long 0.17 3.07
+ pair_coeff @atom:114_b7_a7_d7_i7 @atom:114_b7_a7_d7_i7 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:115_b13_a13_d13_i13 @atom:115_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:116_b13_a13_d13_i13 @atom:116_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:117_b13_a13_d13_i13 @atom:117_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:118_b46_a46_d46_i46 @atom:118_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:119_b20_a20_d20_i20 @atom:119_b20_a20_d20_i20 lj/cut/coul/long 0.14 2.9
+ pair_coeff @atom:120_b50_a50_d50_i50 @atom:120_b50_a50_d50_i50 lj/cut/coul/long 0.076 3.55
+ pair_coeff @atom:121_b20_a20_d20_i20 @atom:121_b20_a20_d20_i20 lj/cut/coul/long 0.14 2.9
+ pair_coeff @atom:122_b20_a20_d20_i20 @atom:122_b20_a20_d20_i20 lj/cut/coul/long 0.14 2.9
+ pair_coeff @atom:123_b13_a13_d13_i13 @atom:123_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:124_b13_a13_d13_i13 @atom:124_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:125_b13_a13_d13_i13 @atom:125_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:126_b13_a13_d13_i13 @atom:126_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:127_b46_a46_d46_i46 @atom:127_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:128_b20_a20_d20_i20 @atom:128_b20_a20_d20_i20 lj/cut/coul/long 0.14 2.9
+ pair_coeff @atom:129_b5_a5_d5_i5 @atom:129_b5_a5_d5_i5 lj/cut/coul/long 0.17 3.07
+ pair_coeff @atom:130_b7_a7_d7_i7 @atom:130_b7_a7_d7_i7 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:131_b51_a51_d51_i51 @atom:131_b51_a51_d51_i51 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:132_b46_a46_d46_i46 @atom:132_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:133_b51_a51_d51_i51 @atom:133_b51_a51_d51_i51 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:134_b46_a46_d46_i46 @atom:134_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:135_b51_a51_d51_i51 @atom:135_b51_a51_d51_i51 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:136_b46_a46_d46_i46 @atom:136_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:137_b51_a51_d51_i51 @atom:137_b51_a51_d51_i51 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:138_b46_a46_d46_i46 @atom:138_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:139_b51_a51_d51_i51 @atom:139_b51_a51_d51_i51 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:140_b51_a51_d51_i51 @atom:140_b51_a51_d51_i51 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:141_b48_a48_d48_i48 @atom:141_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:142_b15_a15_d15_i15 @atom:142_b15_a15_d15_i15 lj/cut/coul/long 0.25 3.55
+ pair_coeff @atom:143_b15_a15_d15_i15 @atom:143_b15_a15_d15_i15 lj/cut/coul/long 0.25 3.7
+ pair_coeff @atom:144_b16_a16_d16_i16 @atom:144_b16_a16_d16_i16 lj/cut/coul/long 0.25 3.55
+ pair_coeff @atom:145_b16_a16_d16_i16 @atom:145_b16_a16_d16_i16 lj/cut/coul/long 0.25 3.55
+ pair_coeff @atom:146_b17_a17_d17_i17 @atom:146_b17_a17_d17_i17 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:147_b17_a17_d17_i17 @atom:147_b17_a17_d17_i17 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:148_b13_a13_d13_i13 @atom:148_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:149_b13_a13_d13_i13 @atom:149_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:150_b13_a13_d13_i13 @atom:150_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:151_b13_a13_d13_i13 @atom:151_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:152_b13_a13_d13_i13 @atom:152_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:153_b13_a13_d13_i13 @atom:153_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:154_b13_a13_d13_i13 @atom:154_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:155_b13_a13_d13_i13 @atom:155_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:156_b13_a13_d13_i13 @atom:156_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:157_b13_a13_d13_i13 @atom:157_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:158_b13_a13_d13_i13 @atom:158_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:159_b13_a13_d13_i13 @atom:159_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:160_b13_a13_d13_i13 @atom:160_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:161_b13_a13_d13_i13 @atom:161_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:162_b13_a13_d13_i13 @atom:162_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:163_b48_a48_d48_i48 @atom:163_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:164_b16_a16_d16_i16 @atom:164_b16_a16_d16_i16 lj/cut/coul/long 0.25 3.55
+ pair_coeff @atom:165_b13_a13_d13_i13 @atom:165_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:166_b13_a13_d13_i13 @atom:166_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:167_b13_a13_d13_i13 @atom:167_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:168_b21_a21_d21_i21 @atom:168_b21_a21_d21_i21 lj/cut/coul/long 0.3 3.4
+ pair_coeff @atom:169_b47_a47_d47_i47 @atom:169_b47_a47_d47_i47 lj/cut/coul/long 0.076 3.55
+ pair_coeff @atom:170_b48_a48_d48_i48 @atom:170_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:171_b13_a13_d13_i13 @atom:171_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:172_b13_a13_d13_i13 @atom:172_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:173_b3_a3_d3_i3 @atom:173_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75
+ pair_coeff @atom:174_b3_a3_d3_i3 @atom:174_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75
+ pair_coeff @atom:175_b3_a3_d3_i3 @atom:175_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75
+ pair_coeff @atom:176_b3_a3_d3_i3 @atom:176_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75
+ pair_coeff @atom:177_b3_a3_d3_i3 @atom:177_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75
+ pair_coeff @atom:178_b4_a4_d4_i4 @atom:178_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96
+ pair_coeff @atom:179_b24_a24_d24_i24 @atom:179_b24_a24_d24_i24 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:180_b24_a24_d24_i24 @atom:180_b24_a24_d24_i24 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:181_b24_a24_d24_i24 @atom:181_b24_a24_d24_i24 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:182_b45_a45_d45_i45 @atom:182_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:183_b45_a45_d45_i45 @atom:183_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:184_b13_a13_d13_i13 @atom:184_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:185_b13_a13_d13_i13 @atom:185_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:186_b13_a13_d13_i13 @atom:186_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:187_b13_a13_d13_i13 @atom:187_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:188_b13_a13_d13_i13 @atom:188_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:189_b3_a3_d3_i3 @atom:189_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75
+ pair_coeff @atom:190_b4_a4_d4_i4 @atom:190_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96
+ pair_coeff @atom:191_b24_a24_d24_i24 @atom:191_b24_a24_d24_i24 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:192_b45_a45_d45_i45 @atom:192_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:193_b24_a24_d24_i24 @atom:193_b24_a24_d24_i24 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:194_b3_a3_d3_i3 @atom:194_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75
+ pair_coeff @atom:195_b4_a4_d4_i4 @atom:195_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96
+ pair_coeff @atom:196_b45_a45_d45_i45 @atom:196_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:197_b46_a46_d46_i46 @atom:197_b46_a46_d46_i46 lj/cut/coul/long 0.02 2.5
+ pair_coeff @atom:198_b13_a13_d13_i13 @atom:198_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:199_b13_a13_d13_i13 @atom:199_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:200_b13_a13_d13_i13 @atom:200_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:201_b13_a13_d13_i13 @atom:201_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:202_b48_a48_d48_i48 @atom:202_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:203_b19_a19_d19_i19 @atom:203_b19_a19_d19_i19 lj/cut/coul/long 0.15 3.65
+ pair_coeff @atom:204_b18_a18_d18_i18 @atom:204_b18_a18_d18_i18 lj/cut/coul/long 0.17 3.2
+ pair_coeff @atom:205_b48_a48_d48_i48 @atom:205_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:206_b21_a21_d21_i21 @atom:206_b21_a21_d21_i21 lj/cut/coul/long 0.3 3.4
+ pair_coeff @atom:207_b24_a24_d24_i24 @atom:207_b24_a24_d24_i24 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:208_b48_a48_d48_i48 @atom:208_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:209_b3_a3_d3_i3 @atom:209_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75
+ pair_coeff @atom:210_b4_a4_d4_i4 @atom:210_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96
+ pair_coeff @atom:211_b5_a5_d5_i5 @atom:211_b5_a5_d5_i5 lj/cut/coul/long 0.17 3.0
+ pair_coeff @atom:212_b7_a7_d7_i7 @atom:212_b7_a7_d7_i7 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:213_b3_a3_d3_i3 @atom:213_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75
+ pair_coeff @atom:214_b52_a52_d52_i52 @atom:214_b52_a52_d52_i52 lj/cut/coul/long 0.21 2.96
+ pair_coeff @atom:215_b13_a13_d13_i13 @atom:215_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:216_b13_a13_d13_i13 @atom:216_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:217_b13_a13_d13_i13 @atom:217_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:218_b13_a13_d13_i13 @atom:218_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:219_b3_a3_d3_i3 @atom:219_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75
+ pair_coeff @atom:220_b4_a4_d4_i4 @atom:220_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96
+ pair_coeff @atom:221_b46_a46_d46_i46 @atom:221_b46_a46_d46_i46 lj/cut/coul/long 0.015 2.42
+ pair_coeff @atom:222_b3_a3_d3_i3 @atom:222_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75
+ pair_coeff @atom:223_b4_a4_d4_i4 @atom:223_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96
+ pair_coeff @atom:224_b46_a46_d46_i46 @atom:224_b46_a46_d46_i46 lj/cut/coul/long 0.015 2.42
+ pair_coeff @atom:225_b13_a13_d13_i13 @atom:225_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:226_b13_a13_d13_i13 @atom:226_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:227_b13_a13_d13_i13 @atom:227_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:228_b13_a13_d13_i13 @atom:228_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:229_b53_a53_d53_i53 @atom:229_b53_a53_d53_i53 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:230_b53_a53_d53_i53 @atom:230_b53_a53_d53_i53 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:231_b53_a53_d53_i53 @atom:231_b53_a53_d53_i53 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:232_b54_a54_d54_i54 @atom:232_b54_a54_d54_i54 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:233_b54_a54_d54_i54 @atom:233_b54_a54_d54_i54 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:234_b13_a13_d13_i13 @atom:234_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:235_b13_a13_d13_i13 @atom:235_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:236_b13_a13_d13_i13 @atom:236_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:237_b13_a13_d13_i13 @atom:237_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:238_b13_a13_d13_i13 @atom:238_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:239_b13_a13_d13_i13 @atom:239_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:240_b13_a13_d13_i13 @atom:240_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:241_b13_a13_d13_i13 @atom:241_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:242_b13_a13_d13_i13 @atom:242_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:243_b55_a55_d55_i55 @atom:243_b55_a55_d55_i55 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:244_b54_a54_d54_i54 @atom:244_b54_a54_d54_i54 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:245_b48_a48_d48_i48 @atom:245_b48_a48_d48_i48 lj/cut/coul/long 0.05 3.55
+ pair_coeff @atom:246_b55_a55_d55_i55 @atom:246_b55_a55_d55_i55 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:247_b54_a54_d54_i54 @atom:247_b54_a54_d54_i54 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:248_b13_a13_d13_i13 @atom:248_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:249_b13_a13_d13_i13 @atom:249_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:250_b13_a13_d13_i13 @atom:250_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:251_b13_a13_d13_i13 @atom:251_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:252_b53_a53_d53_i53 @atom:252_b53_a53_d53_i53 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:253_b54_a54_d54_i54 @atom:253_b54_a54_d54_i54 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:254_b56_a56_d56_i56 @atom:254_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:255_b48_a48_d48_i48 @atom:255_b48_a48_d48_i48 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:256_b55_a55_d55_i55 @atom:256_b55_a55_d55_i55 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:257_b45_a45_d45_i45 @atom:257_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:258_b48_a48_d48_i48 @atom:258_b48_a48_d48_i48 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:259_b49_a49_d49_i49 @atom:259_b49_a49_d49_i49 lj/cut/coul/long 0.05 2.5
+ pair_coeff @atom:260_b48_a48_d48_i48 @atom:260_b48_a48_d48_i48 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:261_b49_a49_d49_i49 @atom:261_b49_a49_d49_i49 lj/cut/coul/long 0.05 2.5
+ pair_coeff @atom:262_b57_a57_d57_i57 @atom:262_b57_a57_d57_i57 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:263_b3_a3_d3_i3 @atom:263_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75
+ pair_coeff @atom:264_b57_a57_d57_i57 @atom:264_b57_a57_d57_i57 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:265_b3_a3_d3_i3 @atom:265_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75
+ pair_coeff @atom:266_b47_a47_d47_i47 @atom:266_b47_a47_d47_i47 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:267_b47_a47_d47_i47 @atom:267_b47_a47_d47_i47 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:268_b45_a45_d45_i45 @atom:268_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:269_b4_a4_d4_i4 @atom:269_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96
+ pair_coeff @atom:270_b45_a45_d45_i45 @atom:270_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:271_b4_a4_d4_i4 @atom:271_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96
+ pair_coeff @atom:272_b46_a46_d46_i46 @atom:272_b46_a46_d46_i46 lj/cut/coul/long 0.05 2.5
+ pair_coeff @atom:273_b46_a46_d46_i46 @atom:273_b46_a46_d46_i46 lj/cut/coul/long 0.05 2.5
+ pair_coeff @atom:274_b13_a13_d13_i13 @atom:274_b13_a13_d13_i13 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:275_b46_a46_d46_i46 @atom:275_b46_a46_d46_i46 lj/cut/coul/long 0.05 2.5
+ pair_coeff @atom:276_b57_a57_d57_i57 @atom:276_b57_a57_d57_i57 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:277_b3_a3_d3_i3 @atom:277_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75
+ pair_coeff @atom:278_b56_a56_d56_i56 @atom:278_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:279_b48_a48_d48_i48 @atom:279_b48_a48_d48_i48 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:280_b47_a47_d47_i47 @atom:280_b47_a47_d47_i47 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:281_b47_a47_d47_i47 @atom:281_b47_a47_d47_i47 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:282_b45_a45_d45_i45 @atom:282_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:283_b4_a4_d4_i4 @atom:283_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96
+ pair_coeff @atom:284_b55_a55_d55_i55 @atom:284_b55_a55_d55_i55 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:285_b45_a45_d45_i45 @atom:285_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:286_b45_a45_d45_i45 @atom:286_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:287_b46_a46_d46_i46 @atom:287_b46_a46_d46_i46 lj/cut/coul/long 0.05 2.5
+ pair_coeff @atom:288_b58_a58_d58_i58 @atom:288_b58_a58_d58_i58 lj/cut/coul/long 0.05 2.5
+ pair_coeff @atom:289_b56_a56_d56_i56 @atom:289_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:290_b59_a59_d59_i59 @atom:290_b59_a59_d59_i59 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:291_b56_a56_d56_i56 @atom:291_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:292_b60_a60_d60_i60 @atom:292_b60_a60_d60_i60 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:293_b60_a60_d60_i60 @atom:293_b60_a60_d60_i60 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:294_b48_a48_d48_i48 @atom:294_b48_a48_d48_i48 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:295_b61_a61_d61_i61 @atom:295_b61_a61_d61_i61 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:296_b62_a62_d62_i62 @atom:296_b62_a62_d62_i62 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:297_b57_a57_d57_i57 @atom:297_b57_a57_d57_i57 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:298_b63_a63_d63_i63 @atom:298_b63_a63_d63_i63 lj/cut/coul/long 0.05 2.5
+ pair_coeff @atom:299_b55_a55_d55_i55 @atom:299_b55_a55_d55_i55 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:300_b45_a45_d45_i45 @atom:300_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:301_b45_a45_d45_i45 @atom:301_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:302_b63_a63_d63_i63 @atom:302_b63_a63_d63_i63 lj/cut/coul/long 0.05 2.5
+ pair_coeff @atom:303_b45_a45_d45_i45 @atom:303_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:304_b57_a57_d57_i57 @atom:304_b57_a57_d57_i57 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:305_b48_a48_d48_i48 @atom:305_b48_a48_d48_i48 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:306_b56_a56_d56_i56 @atom:306_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:307_b60_a60_d60_i60 @atom:307_b60_a60_d60_i60 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:308_b60_a60_d60_i60 @atom:308_b60_a60_d60_i60 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:309_b3_a3_d3_i3 @atom:309_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75
+ pair_coeff @atom:310_b45_a45_d45_i45 @atom:310_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:311_b55_a55_d55_i55 @atom:311_b55_a55_d55_i55 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:312_b45_a45_d45_i45 @atom:312_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:313_b4_a4_d4_i4 @atom:313_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96
+ pair_coeff @atom:314_b13_a13_d13_i13 @atom:314_b13_a13_d13_i13 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:315_b46_a46_d46_i46 @atom:315_b46_a46_d46_i46 lj/cut/coul/long 0.05 2.5
+ pair_coeff @atom:316_b13_a13_d13_i13 @atom:316_b13_a13_d13_i13 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:317_b46_a46_d46_i46 @atom:317_b46_a46_d46_i46 lj/cut/coul/long 0.05 2.5
+ pair_coeff @atom:318_b13_a13_d13_i13 @atom:318_b13_a13_d13_i13 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:319_b46_a46_d46_i46 @atom:319_b46_a46_d46_i46 lj/cut/coul/long 0.05 2.5
+ pair_coeff @atom:320_b57_a57_d57_i57 @atom:320_b57_a57_d57_i57 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:321_b3_a3_d3_i3 @atom:321_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75
+ pair_coeff @atom:322_b57_a57_d57_i57 @atom:322_b57_a57_d57_i57 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:323_b48_a48_d48_i48 @atom:323_b48_a48_d48_i48 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:324_b47_a47_d47_i47 @atom:324_b47_a47_d47_i47 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:325_b47_a47_d47_i47 @atom:325_b47_a47_d47_i47 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:326_b45_a45_d45_i45 @atom:326_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:327_b4_a4_d4_i4 @atom:327_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96
+ pair_coeff @atom:328_b45_a45_d45_i45 @atom:328_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:329_b55_a55_d55_i55 @atom:329_b55_a55_d55_i55 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:330_b45_a45_d45_i45 @atom:330_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:331_b45_a45_d45_i45 @atom:331_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:332_b49_a49_d49_i49 @atom:332_b49_a49_d49_i49 lj/cut/coul/long 0.05 2.5
+ pair_coeff @atom:333_b58_a58_d58_i58 @atom:333_b58_a58_d58_i58 lj/cut/coul/long 0.05 2.5
+ pair_coeff @atom:334_b13_a13_d13_i13 @atom:334_b13_a13_d13_i13 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:335_b46_a46_d46_i46 @atom:335_b46_a46_d46_i46 lj/cut/coul/long 0.05 2.5
+ pair_coeff @atom:336_b64_a64_d64_i64 @atom:336_b64_a64_d64_i64 lj/cut/coul/long 0.2 3.74
+ pair_coeff @atom:337_b52_a52_d52_i52 @atom:337_b52_a52_d52_i52 lj/cut/coul/long 0.21 2.96
+ pair_coeff @atom:338_b20_a20_d20_i20 @atom:338_b20_a20_d20_i20 lj/cut/coul/long 0.17 3.0
+ pair_coeff @atom:339_b13_a13_d13_i13 @atom:339_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.55
+ pair_coeff @atom:340_b47_a47_d47_i47 @atom:340_b47_a47_d47_i47 lj/cut/coul/long 0.08 3.5
+ pair_coeff @atom:341_b21_a21_d21_i21 @atom:341_b21_a21_d21_i21 lj/cut/coul/long 0.3 3.4
+ pair_coeff @atom:342_b47_a47_d47_i47 @atom:342_b47_a47_d47_i47 lj/cut/coul/long 0.076 3.55
+ pair_coeff @atom:343_b1_a1_d1_i1 @atom:343_b1_a1_d1_i1 lj/cut/coul/long 0.71 3.05
+ pair_coeff @atom:344_b21_a21_d21_i21 @atom:344_b21_a21_d21_i21 lj/cut/coul/long 0.71 4.02
+ pair_coeff @atom:345_b65_a65_d65_i65 @atom:345_b65_a65_d65_i65 lj/cut/coul/long 0.71 4.28
+ pair_coeff @atom:346_b66_a66_d66_i66 @atom:346_b66_a66_d66_i66 lj/cut/coul/long 0.71 4.81
+ pair_coeff @atom:347_b67_a67_d67_i67 @atom:347_b67_a67_d67_i67 lj/cut/coul/long 0.0005 5.34
+ pair_coeff @atom:348_b68_a68_d68_i68 @atom:348_b68_a68_d68_i68 lj/cut/coul/long 0.0005 2.87
+ pair_coeff @atom:349_b69_a69_d69_i69 @atom:349_b69_a69_d69_i69 lj/cut/coul/long 0.0005 4.07
+ pair_coeff @atom:350_b70_a70_d70_i70 @atom:350_b70_a70_d70_i70 lj/cut/coul/long 0.0005 5.17
+ pair_coeff @atom:351_b71_a71_d71_i71 @atom:351_b71_a71_d71_i71 lj/cut/coul/long 0.0005 5.6
+ pair_coeff @atom:352_b72_a72_d72_i72 @atom:352_b72_a72_d72_i72 lj/cut/coul/long 0.0005 6.2
+ pair_coeff @atom:353_b73_a73_d73_i73 @atom:353_b73_a73_d73_i73 lj/cut/coul/long 0.875044 1.644471
+ pair_coeff @atom:354_b74_a74_d74_i74 @atom:354_b74_a74_d74_i74 lj/cut/coul/long 0.449657 2.412031
+ pair_coeff @atom:355_b75_a75_d75_i75 @atom:355_b75_a75_d75_i75 lj/cut/coul/long 0.118226 3.102688
+ pair_coeff @atom:356_b76_a76_d76_i76 @atom:356_b76_a76_d76_i76 lj/cut/coul/long 0.047096 3.81661
+ pair_coeff @atom:357_b6_a6_d6_i6 @atom:357_b6_a6_d6_i6 lj/cut/coul/long 0.3 4.2
+ pair_coeff @atom:358_b46_a46_d46_i46 @atom:358_b46_a46_d46_i46 lj/cut/coul/long 0.05 2.5
+ pair_coeff @atom:359_b15_a15_d15_i15 @atom:359_b15_a15_d15_i15 lj/cut/coul/long 0.5 4.25
+ pair_coeff @atom:360_b6_a6_d6_i6 @atom:360_b6_a6_d6_i6 lj/cut/coul/long 0.3 4.2
+ pair_coeff @atom:361_b46_a46_d46_i46 @atom:361_b46_a46_d46_i46 lj/cut/coul/long 0.05 2.5
+ pair_coeff @atom:362_b5_a5_d5_i5 @atom:362_b5_a5_d5_i5 lj/cut/coul/long 0.25 3.15
+ pair_coeff @atom:363_b13_a13_d13_i13 @atom:363_b13_a13_d13_i13 lj/cut/coul/long 0.3 4.2
+ pair_coeff @atom:364_b46_a46_d46_i46 @atom:364_b46_a46_d46_i46 lj/cut/coul/long 0.05 2.5
+ pair_coeff @atom:365_b19_a19_d19_i19 @atom:365_b19_a19_d19_i19 lj/cut/coul/long 0.15 3.65
+ pair_coeff @atom:366_b18_a18_d18_i18 @atom:366_b18_a18_d18_i18 lj/cut/coul/long 0.25 3.4
+ pair_coeff @atom:367_b6_a6_d6_i6 @atom:367_b6_a6_d6_i6 lj/cut/coul/long 0.3 4.2
+ pair_coeff @atom:368_b46_a46_d46_i46 @atom:368_b46_a46_d46_i46 lj/cut/coul/long 0.05 2.5
+ pair_coeff @atom:369_b53_a53_d53_i53 @atom:369_b53_a53_d53_i53 lj/cut/coul/long 0.25 3.4
+ pair_coeff @atom:370_b45_a45_d45_i45 @atom:370_b45_a45_d45_i45 lj/cut/coul/long 0.05 2.5
+ pair_coeff @atom:371_b6_a6_d6_i6 @atom:371_b6_a6_d6_i6 lj/cut/coul/long 0.3 4.2
+ pair_coeff @atom:372_b46_a46_d46_i46 @atom:372_b46_a46_d46_i46 lj/cut/coul/long 0.05 2.5
+ pair_coeff @atom:373_b13_a13_d13_i13 @atom:373_b13_a13_d13_i13 lj/cut/coul/long 0.3 4.2
+ pair_coeff @atom:374_b46_a46_d46_i46 @atom:374_b46_a46_d46_i46 lj/cut/coul/long 0.05 2.5
+ pair_coeff @atom:375_b33_a33_d33_i33 @atom:375_b33_a33_d33_i33 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:376_b5_a5_d5_i5 @atom:376_b5_a5_d5_i5 lj/cut/coul/long 0.25 3.2
+ pair_coeff @atom:377_b7_a7_d7_i7 @atom:377_b7_a7_d7_i7 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:378_b77_a77_d77_i77 @atom:378_b77_a77_d77_i77 lj/cut/coul/long 0.4 2.81524
+ pair_coeff @atom:379_b78_a78_d78_i78 @atom:379_b78_a78_d78_i78 lj/cut/coul/long 0.2 3.11815
+ pair_coeff @atom:380_b20_a20_d20_i20 @atom:380_b20_a20_d20_i20 lj/cut/coul/long 0.14 2.9
+ pair_coeff @atom:381_b64_a64_d64_i64 @atom:381_b64_a64_d64_i64 lj/cut/coul/long 0.2 3.74
+ pair_coeff @atom:382_b52_a52_d52_i52 @atom:382_b52_a52_d52_i52 lj/cut/coul/long 0.2 3.15
+ pair_coeff @atom:383_b20_a20_d20_i20 @atom:383_b20_a20_d20_i20 lj/cut/coul/long 0.14 2.9
+ pair_coeff @atom:384_b13_a13_d13_i13 @atom:384_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:385_b46_a46_d46_i46 @atom:385_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:386_b64_a64_d64_i64 @atom:386_b64_a64_d64_i64 lj/cut/coul/long 0.2 3.74
+ pair_coeff @atom:387_b52_a52_d52_i52 @atom:387_b52_a52_d52_i52 lj/cut/coul/long 0.2 3.15
+ pair_coeff @atom:388_b20_a20_d20_i20 @atom:388_b20_a20_d20_i20 lj/cut/coul/long 0.14 2.9
+ pair_coeff @atom:389_b13_a13_d13_i13 @atom:389_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:390_b46_a46_d46_i46 @atom:390_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:391_b64_a64_d64_i64 @atom:391_b64_a64_d64_i64 lj/cut/coul/long 0.2 3.74
+ pair_coeff @atom:392_b52_a52_d52_i52 @atom:392_b52_a52_d52_i52 lj/cut/coul/long 0.2 3.15
+ pair_coeff @atom:393_b20_a20_d20_i20 @atom:393_b20_a20_d20_i20 lj/cut/coul/long 0.14 2.9
+ pair_coeff @atom:394_b13_a13_d13_i13 @atom:394_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:395_b46_a46_d46_i46 @atom:395_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:396_b13_a13_d13_i13 @atom:396_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:397_b46_a46_d46_i46 @atom:397_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:398_b48_a48_d48_i48 @atom:398_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:399_b13_a13_d13_i13 @atom:399_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:400_b46_a46_d46_i46 @atom:400_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:401_b48_a48_d48_i48 @atom:401_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:402_b13_a13_d13_i13 @atom:402_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:403_b46_a46_d46_i46 @atom:403_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:404_b48_a48_d48_i48 @atom:404_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:405_b13_a13_d13_i13 @atom:405_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:406_b3_a3_d3_i3 @atom:406_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75
+ pair_coeff @atom:407_b4_a4_d4_i4 @atom:407_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96
+ pair_coeff @atom:408_b20_a20_d20_i20 @atom:408_b20_a20_d20_i20 lj/cut/coul/long 0.17 3.0
+ pair_coeff @atom:409_b13_a13_d13_i13 @atom:409_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:410_b46_a46_d46_i46 @atom:410_b46_a46_d46_i46 lj/cut/coul/long 0.015 2.42
+ pair_coeff @atom:411_b3_a3_d3_i3 @atom:411_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75
+ pair_coeff @atom:412_b3_a3_d3_i3 @atom:412_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75
+ pair_coeff @atom:413_b48_a48_d48_i48 @atom:413_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:414_b20_a20_d20_i20 @atom:414_b20_a20_d20_i20 lj/cut/coul/long 0.17 3.0
+ pair_coeff @atom:415_b79_a79_d79_i79 @atom:415_b79_a79_d79_i79 lj/cut/coul/long 0.25 3.55
+ pair_coeff @atom:416_b23_a23_d23_i23 @atom:416_b23_a23_d23_i23 lj/cut/coul/long 0.17 2.96
+ pair_coeff @atom:417_b13_a13_d13_i13 @atom:417_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:418_b46_a46_d46_i46 @atom:418_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:419_b24_a24_d24_i24 @atom:419_b24_a24_d24_i24 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:420_b45_a45_d45_i45 @atom:420_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:421_b24_a24_d24_i24 @atom:421_b24_a24_d24_i24 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:422_b45_a45_d45_i45 @atom:422_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:423_b13_a13_d13_i13 @atom:423_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:424_b46_a46_d46_i46 @atom:424_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:425_b13_a13_d13_i13 @atom:425_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:426_b46_a46_d46_i46 @atom:426_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:427_b13_a13_d13_i13 @atom:427_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:428_b46_a46_d46_i46 @atom:428_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:429_b48_a48_d48_i48 @atom:429_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:430_b48_a48_d48_i48 @atom:430_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:431_b13_a13_d13_i13 @atom:431_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:432_b13_a13_d13_i13 @atom:432_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:433_b13_a13_d13_i13 @atom:433_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:434_b79_a79_d79_i79 @atom:434_b79_a79_d79_i79 lj/cut/coul/long 0.25 3.55
+ pair_coeff @atom:435_b23_a23_d23_i23 @atom:435_b23_a23_d23_i23 lj/cut/coul/long 0.17 2.96
+ pair_coeff @atom:436_b22_a22_d22_i22 @atom:436_b22_a22_d22_i22 lj/cut/coul/long 0.395 3.56
+ pair_coeff @atom:437_b22_a22_d22_i22 @atom:437_b22_a22_d22_i22 lj/cut/coul/long 0.395 3.56
+ pair_coeff @atom:438_b23_a23_d23_i23 @atom:438_b23_a23_d23_i23 lj/cut/coul/long 0.28 2.93
+ pair_coeff @atom:439_b13_a13_d13_i13 @atom:439_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:440_b13_a13_d13_i13 @atom:440_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:441_b80_a80_d80_i80 @atom:441_b80_a80_d80_i80 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:442_b60_a60_d60_i60 @atom:442_b60_a60_d60_i60 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:443_b81_a81_d81_i81 @atom:443_b81_a81_d81_i81 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:444_b57_a57_d57_i57 @atom:444_b57_a57_d57_i57 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:445_b45_a45_d45_i45 @atom:445_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:446_b13_a13_d13_i13 @atom:446_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:447_b82_a82_d82_i82 @atom:447_b82_a82_d82_i82 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:448_b83_a83_d83_i83 @atom:448_b83_a83_d83_i83 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:449_b84_a84_d84_i84 @atom:449_b84_a84_d84_i84 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:450_b82_a82_d82_i82 @atom:450_b82_a82_d82_i82 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:451_b85_a85_d85_i85 @atom:451_b85_a85_d85_i85 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:452_b61_a61_d61_i61 @atom:452_b61_a61_d61_i61 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:453_b57_a57_d57_i57 @atom:453_b57_a57_d57_i57 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:454_b45_a45_d45_i45 @atom:454_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:455_b84_a84_d84_i84 @atom:455_b84_a84_d84_i84 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:456_b13_a13_d13_i13 @atom:456_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:457_b13_a13_d13_i13 @atom:457_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:458_b47_a47_d47_i47 @atom:458_b47_a47_d47_i47 lj/cut/coul/long 0.076 3.55
+ pair_coeff @atom:459_b47_a47_d47_i47 @atom:459_b47_a47_d47_i47 lj/cut/coul/long 0.076 3.55
+ pair_coeff @atom:460_b86_a86_d86_i86 @atom:460_b86_a86_d86_i86 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:461_b56_a56_d56_i56 @atom:461_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:462_b48_a48_d48_i48 @atom:462_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:463_b48_a48_d48_i48 @atom:463_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:464_b48_a48_d48_i48 @atom:464_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:465_b49_a49_d49_i49 @atom:465_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:466_b49_a49_d49_i49 @atom:466_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:467_b49_a49_d49_i49 @atom:467_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:468_b56_a56_d56_i56 @atom:468_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:469_b48_a48_d48_i48 @atom:469_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:470_b49_a49_d49_i49 @atom:470_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:471_b56_a56_d56_i56 @atom:471_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:472_b59_a59_d59_i59 @atom:472_b59_a59_d59_i59 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:473_b48_a48_d48_i48 @atom:473_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:474_b48_a48_d48_i48 @atom:474_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:475_b49_a49_d49_i49 @atom:475_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:476_b49_a49_d49_i49 @atom:476_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:477_b49_a49_d49_i49 @atom:477_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:478_b56_a56_d56_i56 @atom:478_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:479_b48_a48_d48_i48 @atom:479_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:480_b48_a48_d48_i48 @atom:480_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:481_b49_a49_d49_i49 @atom:481_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:482_b49_a49_d49_i49 @atom:482_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:483_b57_a57_d57_i57 @atom:483_b57_a57_d57_i57 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:484_b84_a84_d84_i84 @atom:484_b84_a84_d84_i84 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:485_b87_a87_d87_i87 @atom:485_b87_a87_d87_i87 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:486_b45_a45_d45_i45 @atom:486_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:487_b49_a49_d49_i49 @atom:487_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:488_b49_a49_d49_i49 @atom:488_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:489_b57_a57_d57_i57 @atom:489_b57_a57_d57_i57 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:490_b61_a61_d61_i61 @atom:490_b61_a61_d61_i61 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:491_b88_a88_d88_i88 @atom:491_b88_a88_d88_i88 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:492_b87_a87_d87_i87 @atom:492_b87_a87_d87_i87 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:493_b84_a84_d84_i84 @atom:493_b84_a84_d84_i84 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:494_b45_a45_d45_i45 @atom:494_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:495_b49_a49_d49_i49 @atom:495_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:496_b49_a49_d49_i49 @atom:496_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:497_b49_a49_d49_i49 @atom:497_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:498_b57_a57_d57_i57 @atom:498_b57_a57_d57_i57 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:499_b82_a82_d82_i82 @atom:499_b82_a82_d82_i82 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:500_b61_a61_d61_i61 @atom:500_b61_a61_d61_i61 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:501_b83_a83_d83_i83 @atom:501_b83_a83_d83_i83 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:502_b84_a84_d84_i84 @atom:502_b84_a84_d84_i84 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:503_b45_a45_d45_i45 @atom:503_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:504_b49_a49_d49_i49 @atom:504_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:505_b49_a49_d49_i49 @atom:505_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:506_b49_a49_d49_i49 @atom:506_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:507_b20_a20_d20_i20 @atom:507_b20_a20_d20_i20 lj/cut/coul/long 0.14 2.9
+ pair_coeff @atom:508_b84_a84_d84_i84 @atom:508_b84_a84_d84_i84 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:509_b87_a87_d87_i87 @atom:509_b87_a87_d87_i87 lj/cut/coul/long 0.076 3.55
+ pair_coeff @atom:510_b49_a49_d49_i49 @atom:510_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:511_b49_a49_d49_i49 @atom:511_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:512_b20_a20_d20_i20 @atom:512_b20_a20_d20_i20 lj/cut/coul/long 0.14 2.9
+ pair_coeff @atom:513_b82_a82_d82_i82 @atom:513_b82_a82_d82_i82 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:514_b61_a61_d61_i61 @atom:514_b61_a61_d61_i61 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:515_b83_a83_d83_i83 @atom:515_b83_a83_d83_i83 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:516_b84_a84_d84_i84 @atom:516_b84_a84_d84_i84 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:517_b49_a49_d49_i49 @atom:517_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:518_b49_a49_d49_i49 @atom:518_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:519_b49_a49_d49_i49 @atom:519_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:520_b20_a20_d20_i20 @atom:520_b20_a20_d20_i20 lj/cut/coul/long 0.14 2.9
+ pair_coeff @atom:521_b61_a61_d61_i61 @atom:521_b61_a61_d61_i61 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:522_b88_a88_d88_i88 @atom:522_b88_a88_d88_i88 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:523_b87_a87_d87_i87 @atom:523_b87_a87_d87_i87 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:524_b84_a84_d84_i84 @atom:524_b84_a84_d84_i84 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:525_b49_a49_d49_i49 @atom:525_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:526_b49_a49_d49_i49 @atom:526_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:527_b49_a49_d49_i49 @atom:527_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:528_b57_a57_d57_i57 @atom:528_b57_a57_d57_i57 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:529_b84_a84_d84_i84 @atom:529_b84_a84_d84_i84 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:530_b87_a87_d87_i87 @atom:530_b87_a87_d87_i87 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:531_b48_a48_d48_i48 @atom:531_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:532_b48_a48_d48_i48 @atom:532_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:533_b48_a48_d48_i48 @atom:533_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:534_b48_a48_d48_i48 @atom:534_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:535_b81_a81_d81_i81 @atom:535_b81_a81_d81_i81 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:536_b60_a60_d60_i60 @atom:536_b60_a60_d60_i60 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:537_b45_a45_d45_i45 @atom:537_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:538_b49_a49_d49_i49 @atom:538_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:539_b49_a49_d49_i49 @atom:539_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:540_b49_a49_d49_i49 @atom:540_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:541_b49_a49_d49_i49 @atom:541_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:542_b49_a49_d49_i49 @atom:542_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:543_b49_a49_d49_i49 @atom:543_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:544_b56_a56_d56_i56 @atom:544_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:545_b48_a48_d48_i48 @atom:545_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:546_b48_a48_d48_i48 @atom:546_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:547_b48_a48_d48_i48 @atom:547_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:548_b48_a48_d48_i48 @atom:548_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:549_b48_a48_d48_i48 @atom:549_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:550_b48_a48_d48_i48 @atom:550_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:551_b48_a48_d48_i48 @atom:551_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:552_b48_a48_d48_i48 @atom:552_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:553_b48_a48_d48_i48 @atom:553_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:554_b49_a49_d49_i49 @atom:554_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:555_b49_a49_d49_i49 @atom:555_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:556_b49_a49_d49_i49 @atom:556_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:557_b49_a49_d49_i49 @atom:557_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:558_b49_a49_d49_i49 @atom:558_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:559_b49_a49_d49_i49 @atom:559_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:560_b49_a49_d49_i49 @atom:560_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:561_b56_a56_d56_i56 @atom:561_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:562_b59_a59_d59_i59 @atom:562_b59_a59_d59_i59 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:563_b56_a56_d56_i56 @atom:563_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:564_b60_a60_d60_i60 @atom:564_b60_a60_d60_i60 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:565_b60_a60_d60_i60 @atom:565_b60_a60_d60_i60 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:566_b48_a48_d48_i48 @atom:566_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:567_b61_a61_d61_i61 @atom:567_b61_a61_d61_i61 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:568_b62_a62_d62_i62 @atom:568_b62_a62_d62_i62 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:569_b57_a57_d57_i57 @atom:569_b57_a57_d57_i57 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:570_b49_a49_d49_i49 @atom:570_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:571_b49_a49_d49_i49 @atom:571_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:572_b49_a49_d49_i49 @atom:572_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:573_b45_a45_d45_i45 @atom:573_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:574_b16_a16_d16_i16 @atom:574_b16_a16_d16_i16 lj/cut/coul/long 0.25 3.55
+ pair_coeff @atom:575_b82_a82_d82_i82 @atom:575_b82_a82_d82_i82 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:576_b61_a61_d61_i61 @atom:576_b61_a61_d61_i61 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:577_b83_a83_d83_i83 @atom:577_b83_a83_d83_i83 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:578_b84_a84_d84_i84 @atom:578_b84_a84_d84_i84 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:579_b49_a49_d49_i49 @atom:579_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:580_b49_a49_d49_i49 @atom:580_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:581_b49_a49_d49_i49 @atom:581_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:582_b56_a56_d56_i56 @atom:582_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:583_b59_a59_d59_i59 @atom:583_b59_a59_d59_i59 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:584_b49_a49_d49_i49 @atom:584_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:585_b48_a48_d48_i48 @atom:585_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:586_b13_a13_d13_i13 @atom:586_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:587_b56_a56_d56_i56 @atom:587_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:588_b48_a48_d48_i48 @atom:588_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:589_b48_a48_d48_i48 @atom:589_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:590_b48_a48_d48_i48 @atom:590_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:591_b48_a48_d48_i48 @atom:591_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:592_b48_a48_d48_i48 @atom:592_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:593_b48_a48_d48_i48 @atom:593_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:594_b49_a49_d49_i49 @atom:594_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:595_b49_a49_d49_i49 @atom:595_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:596_b49_a49_d49_i49 @atom:596_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:597_b49_a49_d49_i49 @atom:597_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:598_b57_a57_d57_i57 @atom:598_b57_a57_d57_i57 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:599_b82_a82_d82_i82 @atom:599_b82_a82_d82_i82 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:600_b61_a61_d61_i61 @atom:600_b61_a61_d61_i61 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:601_b83_a83_d83_i83 @atom:601_b83_a83_d83_i83 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:602_b84_a84_d84_i84 @atom:602_b84_a84_d84_i84 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:603_b13_a13_d13_i13 @atom:603_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:604_b49_a49_d49_i49 @atom:604_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:605_b49_a49_d49_i49 @atom:605_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:606_b49_a49_d49_i49 @atom:606_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:607_b46_a46_d46_i46 @atom:607_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:608_b13_a13_d13_i13 @atom:608_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:609_b13_a13_d13_i13 @atom:609_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:610_b13_a13_d13_i13 @atom:610_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:611_b13_a13_d13_i13 @atom:611_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:612_b13_a13_d13_i13 @atom:612_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:613_b13_a13_d13_i13 @atom:613_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:614_b13_a13_d13_i13 @atom:614_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:615_b13_a13_d13_i13 @atom:615_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:616_b13_a13_d13_i13 @atom:616_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:617_b13_a13_d13_i13 @atom:617_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:618_b13_a13_d13_i13 @atom:618_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:619_b13_a13_d13_i13 @atom:619_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:620_b13_a13_d13_i13 @atom:620_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:621_b13_a13_d13_i13 @atom:621_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:622_b13_a13_d13_i13 @atom:622_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:623_b15_a15_d15_i15 @atom:623_b15_a15_d15_i15 lj/cut/coul/long 0.25 3.55
+ pair_coeff @atom:624_b17_a17_d17_i17 @atom:624_b17_a17_d17_i17 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:625_b48_a48_d48_i48 @atom:625_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:626_b89_a89_d89_i89 @atom:626_b89_a89_d89_i89 lj/cut/coul/long 0.105 3.75
+ pair_coeff @atom:627_b90_a90_d90_i90 @atom:627_b90_a90_d90_i90 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:628_b91_a91_d91_i91 @atom:628_b91_a91_d91_i91 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:629_b91_a91_d91_i91 @atom:629_b91_a91_d91_i91 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:630_b13_a13_d13_i13 @atom:630_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:631_b86_a86_d86_i86 @atom:631_b86_a86_d86_i86 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:632_b86_a86_d86_i86 @atom:632_b86_a86_d86_i86 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:633_b86_a86_d86_i86 @atom:633_b86_a86_d86_i86 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:634_b86_a86_d86_i86 @atom:634_b86_a86_d86_i86 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:635_b86_a86_d86_i86 @atom:635_b86_a86_d86_i86 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:636_b86_a86_d86_i86 @atom:636_b86_a86_d86_i86 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:637_b16_a16_d16_i16 @atom:637_b16_a16_d16_i16 lj/cut/coul/long 0.25 3.55
+ pair_coeff @atom:638_b92_a92_d92_i92 @atom:638_b92_a92_d92_i92 lj/cut/coul/long 0.054 3.473
+ pair_coeff @atom:639_b93_a93_d93_i93 @atom:639_b93_a93_d93_i93 lj/cut/coul/long 0.05 3.3
+ pair_coeff @atom:640_b94_a94_d94_i94 @atom:640_b94_a94_d94_i94 lj/cut/coul/long 0.05 3.3
+ pair_coeff @atom:641_b95_a95_d95_i95 @atom:641_b95_a95_d95_i95 lj/cut/coul/long 0.076 3.55
+ pair_coeff @atom:642_b13_a13_d13_i13 @atom:642_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:643_b46_a46_d46_i46 @atom:643_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:644_b96_a96_d96_i96 @atom:644_b96_a96_d96_i96 lj/cut/coul/long 0.06 3.75
+ pair_coeff @atom:645_b97_a97_d97_i97 @atom:645_b97_a97_d97_i97 lj/cut/coul/long 0.054 3.473
+ pair_coeff @atom:646_b98_a98_d98_i98 @atom:646_b98_a98_d98_i98 lj/cut/coul/long 0.05 3.3
+ pair_coeff @atom:647_b99_a99_d99_i99 @atom:647_b99_a99_d99_i99 lj/cut/coul/long 0.05 3.3
+ pair_coeff @atom:648_b100_a100_d100_i100 @atom:648_b100_a100_d100_i100 lj/cut/coul/long 0.04 2.95
+ pair_coeff @atom:649_b47_a47_d47_i47 @atom:649_b47_a47_d47_i47 lj/cut/coul/long 0.076 3.55
+ pair_coeff @atom:650_b21_a21_d21_i21 @atom:650_b21_a21_d21_i21 lj/cut/coul/long 0.3 3.4
+ pair_coeff @atom:651_b46_a46_d46_i46 @atom:651_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:652_b91_a91_d91_i91 @atom:652_b91_a91_d91_i91 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:653_b91_a91_d91_i91 @atom:653_b91_a91_d91_i91 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:654_b91_a91_d91_i91 @atom:654_b91_a91_d91_i91 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:655_b48_a48_d48_i48 @atom:655_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:656_b49_a49_d49_i49 @atom:656_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:657_b48_a48_d48_i48 @atom:657_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:658_b49_a49_d49_i49 @atom:658_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:659_b48_a48_d48_i48 @atom:659_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:660_b1_a1_d1_i1 @atom:660_b1_a1_d1_i1 lj/cut/coul/long 0.061 2.85
+ pair_coeff @atom:661_b48_a48_d48_i48 @atom:661_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:662_b1_a1_d1_i1 @atom:662_b1_a1_d1_i1 lj/cut/coul/long 0.061 2.85
+ pair_coeff @atom:663_b65_a65_d65_i65 @atom:663_b65_a65_d65_i65 lj/cut/coul/long 0.47 3.47
+ pair_coeff @atom:664_b2_a2_d2_i2 @atom:664_b2_a2_d2_i2 lj/cut/coul/long 0.118 3.905
+ pair_coeff @atom:665_b48_a48_d48_i48 @atom:665_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:666_b13_a13_d13_i13 @atom:666_b13_a13_d13_i13 lj/cut/coul/long 0.062 3.25
+ pair_coeff @atom:667_b1_a1_d1_i1 @atom:667_b1_a1_d1_i1 lj/cut/coul/long 0.061 2.94
+ pair_coeff @atom:668_b48_a48_d48_i48 @atom:668_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:669_b1_a1_d1_i1 @atom:669_b1_a1_d1_i1 lj/cut/coul/long 0.061 2.85
+ pair_coeff @atom:670_b48_a48_d48_i48 @atom:670_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:671_b65_a65_d65_i65 @atom:671_b65_a65_d65_i65 lj/cut/coul/long 0.47 3.47
+ pair_coeff @atom:672_b48_a48_d48_i48 @atom:672_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:673_b66_a66_d66_i66 @atom:673_b66_a66_d66_i66 lj/cut/coul/long 0.6 3.75
+ pair_coeff @atom:674_b91_a91_d91_i91 @atom:674_b91_a91_d91_i91 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:675_b15_a15_d15_i15 @atom:675_b15_a15_d15_i15 lj/cut/coul/long 0.25 3.55
+ pair_coeff @atom:676_b48_a48_d48_i48 @atom:676_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:677_b48_a48_d48_i48 @atom:677_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:678_b48_a48_d48_i48 @atom:678_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:679_b48_a48_d48_i48 @atom:679_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:680_b48_a48_d48_i48 @atom:680_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:681_b49_a49_d49_i49 @atom:681_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:682_b49_a49_d49_i49 @atom:682_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:683_b48_a48_d48_i48 @atom:683_b48_a48_d48_i48 lj/cut/coul/long 0.05 3.55
+ pair_coeff @atom:684_b55_a55_d55_i55 @atom:684_b55_a55_d55_i55 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:685_b45_a45_d45_i45 @atom:685_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:686_b45_a45_d45_i45 @atom:686_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:687_b49_a49_d49_i49 @atom:687_b49_a49_d49_i49 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:688_b13_a13_d13_i13 @atom:688_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:689_b13_a13_d13_i13 @atom:689_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:690_b101_a101_d101_i101 @atom:690_b101_a101_d101_i101 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:691_b56_a56_d56_i56 @atom:691_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:692_b101_a101_d101_i101 @atom:692_b101_a101_d101_i101 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:693_b48_a48_d48_i48 @atom:693_b48_a48_d48_i48 lj/cut/coul/long 0.05 3.55
+ pair_coeff @atom:694_b18_a18_d18_i18 @atom:694_b18_a18_d18_i18 lj/cut/coul/long 0.17 3.2
+ pair_coeff @atom:695_b19_a19_d19_i19 @atom:695_b19_a19_d19_i19 lj/cut/coul/long 0.066 3.3
+ pair_coeff @atom:696_b13_a13_d13_i13 @atom:696_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.3
+ pair_coeff @atom:697_b13_a13_d13_i13 @atom:697_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.3
+ pair_coeff @atom:698_b13_a13_d13_i13 @atom:698_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.3
+ pair_coeff @atom:699_b13_a13_d13_i13 @atom:699_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.3
+ pair_coeff @atom:700_b46_a46_d46_i46 @atom:700_b46_a46_d46_i46 lj/cut/coul/long 0.015 2.5
+ pair_coeff @atom:701_b102_a102_d102_i102 @atom:701_b102_a102_d102_i102 lj/cut/coul/long 0.12 3.25
+ pair_coeff @atom:702_b103_a103_d103_i103 @atom:702_b103_a103_d103_i103 lj/cut/coul/long 0.17 2.96
+ pair_coeff @atom:703_b13_a13_d13_i13 @atom:703_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:704_b46_a46_d46_i46 @atom:704_b46_a46_d46_i46 lj/cut/coul/long 0.015 2.5
+ pair_coeff @atom:705_b13_a13_d13_i13 @atom:705_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:706_b13_a13_d13_i13 @atom:706_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:707_b13_a13_d13_i13 @atom:707_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:708_b102_a102_d102_i102 @atom:708_b102_a102_d102_i102 lj/cut/coul/long 0.12 3.25
+ pair_coeff @atom:709_b48_a48_d48_i48 @atom:709_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:710_b13_a13_d13_i13 @atom:710_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.3
+ pair_coeff @atom:711_b56_a56_d56_i56 @atom:711_b56_a56_d56_i56 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:712_b4_a4_d4_i4 @atom:712_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96
+ pair_coeff @atom:713_b3_a3_d3_i3 @atom:713_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75
+ pair_coeff @atom:714_b20_a20_d20_i20 @atom:714_b20_a20_d20_i20 lj/cut/coul/long 0.17 3.0
+ pair_coeff @atom:715_b13_a13_d13_i13 @atom:715_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:716_b13_a13_d13_i13 @atom:716_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:717_b13_a13_d13_i13 @atom:717_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:718_b46_a46_d46_i46 @atom:718_b46_a46_d46_i46 lj/cut/coul/long 0.015 2.42
+ pair_coeff @atom:719_b46_a46_d46_i46 @atom:719_b46_a46_d46_i46 lj/cut/coul/long 0.015 2.42
+ pair_coeff @atom:720_b46_a46_d46_i46 @atom:720_b46_a46_d46_i46 lj/cut/coul/long 0.015 2.42
+ pair_coeff @atom:721_b20_a20_d20_i20 @atom:721_b20_a20_d20_i20 lj/cut/coul/long 0.14 2.9
+ pair_coeff @atom:722_b104_a104_d104_i104 @atom:722_b104_a104_d104_i104 lj/cut/coul/long 0.2 3.74
+ pair_coeff @atom:723_b13_a13_d13_i13 @atom:723_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:724_b13_a13_d13_i13 @atom:724_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:725_b46_a46_d46_i46 @atom:725_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:726_b64_a64_d64_i64 @atom:726_b64_a64_d64_i64 lj/cut/coul/long 0.2 3.74
+ pair_coeff @atom:727_b1_a1_d1_i1 @atom:727_b1_a1_d1_i1 lj/cut/coul/long 0.061 3.1181
+ pair_coeff @atom:728_b24_a24_d24_i24 @atom:728_b24_a24_d24_i24 lj/cut/coul/long 0.17 3.15
+ pair_coeff @atom:729_b4_a4_d4_i4 @atom:729_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.86
+ pair_coeff @atom:730_b44_a44_d44_i44 @atom:730_b44_a44_d44_i44 lj/cut/coul/long 0.17 3.3
+ pair_coeff @atom:731_b44_a44_d44_i44 @atom:731_b44_a44_d44_i44 lj/cut/coul/long 0.17 3.3
+ pair_coeff @atom:732_b44_a44_d44_i44 @atom:732_b44_a44_d44_i44 lj/cut/coul/long 0.17 3.3
+ pair_coeff @atom:733_b13_a13_d13_i13 @atom:733_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:734_b13_a13_d13_i13 @atom:734_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:735_b13_a13_d13_i13 @atom:735_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:736_b13_a13_d13_i13 @atom:736_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:737_b13_a13_d13_i13 @atom:737_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:738_b13_a13_d13_i13 @atom:738_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:739_b45_a45_d45_i45 @atom:739_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:740_b45_a45_d45_i45 @atom:740_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:741_b46_a46_d46_i46 @atom:741_b46_a46_d46_i46 lj/cut/coul/long 0.015 2.5
+ pair_coeff @atom:742_b13_a13_d13_i13 @atom:742_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:743_b13_a13_d13_i13 @atom:743_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:744_b13_a13_d13_i13 @atom:744_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:745_b13_a13_d13_i13 @atom:745_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:746_b48_a48_d48_i48 @atom:746_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:747_b48_a48_d48_i48 @atom:747_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:748_b48_a48_d48_i48 @atom:748_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:749_b13_a13_d13_i13 @atom:749_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:750_b13_a13_d13_i13 @atom:750_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:751_b13_a13_d13_i13 @atom:751_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:752_b13_a13_d13_i13 @atom:752_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:753_b13_a13_d13_i13 @atom:753_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:754_b13_a13_d13_i13 @atom:754_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:755_b19_a19_d19_i19 @atom:755_b19_a19_d19_i19 lj/cut/coul/long 0.086 3.3
+ pair_coeff @atom:756_b46_a46_d46_i46 @atom:756_b46_a46_d46_i46 lj/cut/coul/long 0.015 2.42
+ pair_coeff @atom:757_b19_a19_d19_i19 @atom:757_b19_a19_d19_i19 lj/cut/coul/long 0.21 3.3
+ pair_coeff @atom:758_b19_a19_d19_i19 @atom:758_b19_a19_d19_i19 lj/cut/coul/long 0.135 3.3
+ pair_coeff @atom:759_b19_a19_d19_i19 @atom:759_b19_a19_d19_i19 lj/cut/coul/long 0.1 3.3
+ pair_coeff @atom:760_b46_a46_d46_i46 @atom:760_b46_a46_d46_i46 lj/cut/coul/long 0.015 2.5
+ pair_coeff @atom:761_b51_a51_d51_i51 @atom:761_b51_a51_d51_i51 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:762_b51_a51_d51_i51 @atom:762_b51_a51_d51_i51 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:763_b51_a51_d51_i51 @atom:763_b51_a51_d51_i51 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:764_b5_a5_d5_i5 @atom:764_b5_a5_d5_i5 lj/cut/coul/long 0.17 3.12
+ pair_coeff @atom:765_b7_a7_d7_i7 @atom:765_b7_a7_d7_i7 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:766_b105_a105_d105_i105 @atom:766_b105_a105_d105_i105 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:767_b105_a105_d105_i105 @atom:767_b105_a105_d105_i105 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:768_b105_a105_d105_i105 @atom:768_b105_a105_d105_i105 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:769_b19_a19_d19_i19 @atom:769_b19_a19_d19_i19 lj/cut/coul/long 0.21 3.3
+ pair_coeff @atom:770_b53_a53_d53_i53 @atom:770_b53_a53_d53_i53 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:771_b54_a54_d54_i54 @atom:771_b54_a54_d54_i54 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:772_b13_a13_d13_i13 @atom:772_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:773_b13_a13_d13_i13 @atom:773_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:774_b13_a13_d13_i13 @atom:774_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:775_b13_a13_d13_i13 @atom:775_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:776_b84_a84_d84_i84 @atom:776_b84_a84_d84_i84 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:777_b87_a87_d87_i87 @atom:777_b87_a87_d87_i87 lj/cut/coul/long 0.076 3.55
+ pair_coeff @atom:778_b86_a86_d86_i86 @atom:778_b86_a86_d86_i86 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:779_b86_a86_d86_i86 @atom:779_b86_a86_d86_i86 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:780_b46_a46_d46_i46 @atom:780_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:781_b13_a13_d13_i13 @atom:781_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:782_b3_a3_d3_i3 @atom:782_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75
+ pair_coeff @atom:783_b53_a53_d53_i53 @atom:783_b53_a53_d53_i53 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:784_b52_a52_d52_i52 @atom:784_b52_a52_d52_i52 lj/cut/coul/long 0.21 2.96
+ pair_coeff @atom:785_b54_a54_d54_i54 @atom:785_b54_a54_d54_i54 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:786_b1_a1_d1_i1 @atom:786_b1_a1_d1_i1 lj/cut/coul/long 0.061 2.94
+ pair_coeff @atom:787_b13_a13_d13_i13 @atom:787_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:788_b46_a46_d46_i46 @atom:788_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:789_b13_a13_d13_i13 @atom:789_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:790_b13_a13_d13_i13 @atom:790_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:791_b13_a13_d13_i13 @atom:791_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:792_b13_a13_d13_i13 @atom:792_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:793_b13_a13_d13_i13 @atom:793_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:794_b13_a13_d13_i13 @atom:794_b13_a13_d13_i13 lj/cut/coul/long 0.097 3.5
+ pair_coeff @atom:795_b1_a1_d1_i1 @atom:795_b1_a1_d1_i1 lj/cut/coul/long 0.053 2.95
+ pair_coeff @atom:796_b13_a13_d13_i13 @atom:796_b13_a13_d13_i13 lj/cut/coul/long 0.062 3.25
+ pair_coeff @atom:797_b46_a46_d46_i46 @atom:797_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:798_b13_a13_d13_i13 @atom:798_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:799_b13_a13_d13_i13 @atom:799_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:800_b21_a21_d21_i21 @atom:800_b21_a21_d21_i21 lj/cut/coul/long 0.3 3.4
+ pair_coeff @atom:801_b13_a13_d13_i13 @atom:801_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:802_b46_a46_d46_i46 @atom:802_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:803_b13_a13_d13_i13 @atom:803_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:804_b13_a13_d13_i13 @atom:804_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:805_b65_a65_d65_i65 @atom:805_b65_a65_d65_i65 lj/cut/coul/long 0.47 3.47
+ pair_coeff @atom:806_b13_a13_d13_i13 @atom:806_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:807_b46_a46_d46_i46 @atom:807_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:808_b13_a13_d13_i13 @atom:808_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:809_b13_a13_d13_i13 @atom:809_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:810_b1_a1_d1_i1 @atom:810_b1_a1_d1_i1 lj/cut/coul/long 0.061 2.94
+ pair_coeff @atom:811_b21_a21_d21_i21 @atom:811_b21_a21_d21_i21 lj/cut/coul/long 0.3 3.4
+ pair_coeff @atom:812_b65_a65_d65_i65 @atom:812_b65_a65_d65_i65 lj/cut/coul/long 0.47 3.47
+ pair_coeff @atom:813_b48_a48_d48_i48 @atom:813_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:814_b20_a20_d20_i20 @atom:814_b20_a20_d20_i20 lj/cut/coul/long 0.14 2.9
+ pair_coeff @atom:815_b13_a13_d13_i13 @atom:815_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:816_b1_a1_d1_i1 @atom:816_b1_a1_d1_i1 lj/cut/coul/long 0.06 2.9
+ pair_coeff @atom:817_b24_a24_d24_i24 @atom:817_b24_a24_d24_i24 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:818_b48_a48_d48_i48 @atom:818_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:819_b13_a13_d13_i13 @atom:819_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:820_b3_a3_d3_i3 @atom:820_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75
+ pair_coeff @atom:821_b3_a3_d3_i3 @atom:821_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75
+ pair_coeff @atom:822_b4_a4_d4_i4 @atom:822_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96
+ pair_coeff @atom:823_b24_a24_d24_i24 @atom:823_b24_a24_d24_i24 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:824_b45_a45_d45_i45 @atom:824_b45_a45_d45_i45 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:825_b5_a5_d5_i5 @atom:825_b5_a5_d5_i5 lj/cut/coul/long 0.17 3.12
+ pair_coeff @atom:826_b7_a7_d7_i7 @atom:826_b7_a7_d7_i7 lj/cut/coul/long 0.0 0.0
+ pair_coeff @atom:827_b13_a13_d13_i13 @atom:827_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:828_b13_a13_d13_i13 @atom:828_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:829_b86_a86_d86_i86 @atom:829_b86_a86_d86_i86 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:830_b86_a86_d86_i86 @atom:830_b86_a86_d86_i86 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:831_b86_a86_d86_i86 @atom:831_b86_a86_d86_i86 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:832_b86_a86_d86_i86 @atom:832_b86_a86_d86_i86 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:833_b48_a48_d48_i48 @atom:833_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:834_b106_a106_d106_i106 @atom:834_b106_a106_d106_i106 lj/cut/coul/long 0.0125 1.96
+ pair_coeff @atom:835_b13_a13_d13_i13 @atom:835_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:836_b13_a13_d13_i13 @atom:836_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:837_b13_a13_d13_i13 @atom:837_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:838_b66_a66_d66_i66 @atom:838_b66_a66_d66_i66 lj/cut/coul/long 0.6 3.75
+ pair_coeff @atom:839_b46_a46_d46_i46 @atom:839_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:840_b24_a24_d24_i24 @atom:840_b24_a24_d24_i24 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:841_b48_a48_d48_i48 @atom:841_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:842_b48_a48_d48_i48 @atom:842_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:843_b24_a24_d24_i24 @atom:843_b24_a24_d24_i24 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:844_b48_a48_d48_i48 @atom:844_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:845_b3_a3_d3_i3 @atom:845_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75
+ pair_coeff @atom:846_b4_a4_d4_i4 @atom:846_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96
+ pair_coeff @atom:847_b107_a107_d107_i107 @atom:847_b107_a107_d107_i107 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:848_b13_a13_d13_i13 @atom:848_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:849_b13_a13_d13_i13 @atom:849_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:850_b13_a13_d13_i13 @atom:850_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:851_b13_a13_d13_i13 @atom:851_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:852_b46_a46_d46_i46 @atom:852_b46_a46_d46_i46 lj/cut/coul/long 0.015 2.42
+ pair_coeff @atom:853_b3_a3_d3_i3 @atom:853_b3_a3_d3_i3 lj/cut/coul/long 0.105 3.75
+ pair_coeff @atom:854_b4_a4_d4_i4 @atom:854_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96
+ pair_coeff @atom:855_b46_a46_d46_i46 @atom:855_b46_a46_d46_i46 lj/cut/coul/long 0.015 2.42
+ pair_coeff @atom:856_b13_a13_d13_i13 @atom:856_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:857_b13_a13_d13_i13 @atom:857_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:858_b13_a13_d13_i13 @atom:858_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:859_b13_a13_d13_i13 @atom:859_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:860_b13_a13_d13_i13 @atom:860_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:861_b13_a13_d13_i13 @atom:861_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:862_b13_a13_d13_i13 @atom:862_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:863_b13_a13_d13_i13 @atom:863_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:864_b13_a13_d13_i13 @atom:864_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:865_b13_a13_d13_i13 @atom:865_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:866_b108_a108_d108_i108 @atom:866_b108_a108_d108_i108 lj/cut/coul/long 0.1 4.0
+ pair_coeff @atom:867_b108_a108_d108_i108 @atom:867_b108_a108_d108_i108 lj/cut/coul/long 0.1 4.0
+ pair_coeff @atom:868_b108_a108_d108_i108 @atom:868_b108_a108_d108_i108 lj/cut/coul/long 0.1 4.0
+ pair_coeff @atom:869_b108_a108_d108_i108 @atom:869_b108_a108_d108_i108 lj/cut/coul/long 0.1 4.0
+ pair_coeff @atom:870_b45_a45_d45_i45 @atom:870_b45_a45_d45_i45 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:871_b13_a13_d13_i13 @atom:871_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:872_b13_a13_d13_i13 @atom:872_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:873_b13_a13_d13_i13 @atom:873_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:874_b13_a13_d13_i13 @atom:874_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:875_b1_a1_d1_i1 @atom:875_b1_a1_d1_i1 lj/cut/coul/long 0.72 3.08
+ pair_coeff @atom:876_b21_a21_d21_i21 @atom:876_b21_a21_d21_i21 lj/cut/coul/long 0.11779 4.18
+ pair_coeff @atom:877_b65_a65_d65_i65 @atom:877_b65_a65_d65_i65 lj/cut/coul/long 0.09 4.51
+ pair_coeff @atom:878_b66_a66_d66_i66 @atom:878_b66_a66_d66_i66 lj/cut/coul/long 0.07 5.15
+ pair_coeff @atom:879_b68_a68_d68_i68 @atom:879_b68_a68_d68_i68 lj/cut/coul/long 0.018279 2.7
+ pair_coeff @atom:880_b69_a69_d69_i69 @atom:880_b69_a69_d69_i69 lj/cut/coul/long 0.002772 3.35
+ pair_coeff @atom:881_b70_a70_d70_i70 @atom:881_b70_a70_d70_i70 lj/cut/coul/long 0.000328 4.06
+ pair_coeff @atom:882_b71_a71_d71_i71 @atom:882_b71_a71_d71_i71 lj/cut/coul/long 0.000171 4.32
+ pair_coeff @atom:883_b72_a72_d72_i72 @atom:883_b72_a72_d72_i72 lj/cut/coul/long 8.1e-05 4.82
+ pair_coeff @atom:884_b73_a73_d73_i73 @atom:884_b73_a73_d73_i73 lj/cut/coul/long 0.875044 2.91
+ pair_coeff @atom:885_b74_a74_d74_i74 @atom:885_b74_a74_d74_i74 lj/cut/coul/long 0.449657 3.47
+ pair_coeff @atom:886_b75_a75_d75_i75 @atom:886_b75_a75_d75_i75 lj/cut/coul/long 0.118226 3.82
+ pair_coeff @atom:887_b76_a76_d76_i76 @atom:887_b76_a76_d76_i76 lj/cut/coul/long 0.047096 4.18
+ pair_coeff @atom:888_b13_a13_d13_i13 @atom:888_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:889_b13_a13_d13_i13 @atom:889_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:890_b13_a13_d13_i13 @atom:890_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:891_b13_a13_d13_i13 @atom:891_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ pair_coeff @atom:892_b46_a46_d46_i46 @atom:892_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.5
+ pair_coeff @atom:893_b53_a53_d53_i53 @atom:893_b53_a53_d53_i53 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:894_b48_a48_d48_i48 @atom:894_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:895_b53_a53_d53_i53 @atom:895_b53_a53_d53_i53 lj/cut/coul/long 0.17 3.25
+ pair_coeff @atom:896_b48_a48_d48_i48 @atom:896_b48_a48_d48_i48 lj/cut/coul/long 0.07 3.55
+ pair_coeff @atom:897_b109_a109_d109_i109 @atom:897_b109_a109_d109_i109 lj/cut/coul/long 0.076 3.55
+ pair_coeff @atom:898_b109_a109_d109_i109 @atom:898_b109_a109_d109_i109 lj/cut/coul/long 0.076 3.55
+ pair_coeff @atom:899_b46_a46_d46_i46 @atom:899_b46_a46_d46_i46 lj/cut/coul/long 0.03 2.42
+ pair_coeff @atom:900_b47_a47_d47_i47 @atom:900_b47_a47_d47_i47 lj/cut/coul/long 0.086 3.3
+ pair_coeff @atom:901_b47_a47_d47_i47 @atom:901_b47_a47_d47_i47 lj/cut/coul/long 0.086 3.3
+ pair_coeff @atom:902_b47_a47_d47_i47 @atom:902_b47_a47_d47_i47 lj/cut/coul/long 0.086 3.3
+ pair_coeff @atom:903_b110_a110_d110_i110 @atom:903_b110_a110_d110_i110 lj/cut/coul/long 0.086 3.3
+ pair_coeff @atom:904_b110_a110_d110_i110 @atom:904_b110_a110_d110_i110 lj/cut/coul/long 0.086 3.3
+ pair_coeff @atom:905_b4_a4_d4_i4 @atom:905_b4_a4_d4_i4 lj/cut/coul/long 0.21 2.96
+ pair_coeff @atom:906_b13_a13_d13_i13 @atom:906_b13_a13_d13_i13 lj/cut/coul/long 0.066 3.5
+ } #(end of pair_coeffs)
+
+
+
+ # ------- Bonded Interactions: -------
+ # http://lammps.sandia.gov/doc/bond_harmonic.html
+ # Syntax:
+ # bond_coeff BondTypeName BondStyle parameters...
+
+ write_once("In Settings") {
+ bond_coeff @bond:1-2 harmonic 367.0 1.38
+ bond_coeff @bond:1-3 harmonic 420.0 1.357
+ bond_coeff @bond:1-13 harmonic 367.0 1.36
+ bond_coeff @bond:1-19 harmonic 450.0 1.279
+ bond_coeff @bond:1-25 harmonic 300.0 0.3
+ bond_coeff @bond:1-47 harmonic 420.0 1.34
+ bond_coeff @bond:1-48 harmonic 420.0 1.354
+ bond_coeff @bond:1-82 harmonic 420.0 1.354
+ bond_coeff @bond:1-83 harmonic 420.0 1.354
+ bond_coeff @bond:1-84 harmonic 420.0 1.354
+ bond_coeff @bond:1-87 harmonic 420.0 1.354
+ bond_coeff @bond:1-88 harmonic 420.0 1.354
+ bond_coeff @bond:1-108 harmonic 461.0 1.57
+ bond_coeff @bond:2-2 harmonic 260.0 1.526
+ bond_coeff @bond:2-3 harmonic 317.0 1.522
+ bond_coeff @bond:2-5 harmonic 386.0 1.425
+ bond_coeff @bond:2-6 harmonic 260.0 1.526
+ bond_coeff @bond:2-10 harmonic 260.0 1.526
+ bond_coeff @bond:2-11 harmonic 317.0 1.5
+ bond_coeff @bond:2-12 harmonic 317.0 1.51
+ bond_coeff @bond:2-13 harmonic 260.0 1.526
+ bond_coeff @bond:2-14 harmonic 317.0 1.5
+ bond_coeff @bond:2-15 harmonic 222.0 1.81
+ bond_coeff @bond:2-16 harmonic 222.0 1.81
+ bond_coeff @bond:2-20 harmonic 320.0 1.425
+ bond_coeff @bond:2-24 harmonic 337.0 1.449
+ bond_coeff @bond:2-44 harmonic 382.0 1.448
+ bond_coeff @bond:2-48 harmonic 317.0 1.51
+ bond_coeff @bond:2-51 harmonic 260.0 1.526
+ bond_coeff @bond:2-53 harmonic 367.0 1.471
+ bond_coeff @bond:2-55 harmonic 337.0 1.463
+ bond_coeff @bond:2-80 harmonic 317.0 1.495
+ bond_coeff @bond:3-3 harmonic 350.0 1.51
+ bond_coeff @bond:3-4 harmonic 570.0 1.229
+ bond_coeff @bond:3-5 harmonic 450.0 1.364
+ bond_coeff @bond:3-6 harmonic 317.0 1.522
+ bond_coeff @bond:3-10 harmonic 317.0 1.522
+ bond_coeff @bond:3-12 harmonic 469.0 1.4
+ bond_coeff @bond:3-13 harmonic 317.0 1.522
+ bond_coeff @bond:3-19 harmonic 400.0 1.444
+ bond_coeff @bond:3-20 harmonic 214.0 1.327
+ bond_coeff @bond:3-21 harmonic 300.0 1.79
+ bond_coeff @bond:3-24 harmonic 490.0 1.335
+ bond_coeff @bond:3-44 harmonic 317.0 1.522
+ bond_coeff @bond:3-46 harmonic 340.0 1.09
+ bond_coeff @bond:3-47 harmonic 410.0 1.444
+ bond_coeff @bond:3-48 harmonic 400.0 1.49
+ bond_coeff @bond:3-50 harmonic 385.0 1.46
+ bond_coeff @bond:3-52 harmonic 656.0 1.25
+ bond_coeff @bond:3-56 harmonic 457.0 1.358
+ bond_coeff @bond:3-57 harmonic 418.0 1.388
+ bond_coeff @bond:3-60 harmonic 447.0 1.419
+ bond_coeff @bond:3-65 harmonic 300.0 1.98
+ bond_coeff @bond:3-84 harmonic 400.0 1.49
+ bond_coeff @bond:3-86 harmonic 385.0 1.46
+ bond_coeff @bond:3-105 harmonic 424.0 1.383
+ bond_coeff @bond:3-107 harmonic 490.0 1.335
+ bond_coeff @bond:4-25 harmonic 553.0 0.3
+ bond_coeff @bond:4-64 harmonic 525.0 1.48
+ bond_coeff @bond:4-89 harmonic 570.0 1.229
+ bond_coeff @bond:4-110 harmonic 700.0 1.171
+ bond_coeff @bond:5-6 harmonic 386.0 1.425
+ bond_coeff @bond:5-7 harmonic 553.0 0.945
+ bond_coeff @bond:5-10 harmonic 386.0 1.425
+ bond_coeff @bond:5-13 harmonic 320.0 1.41
+ bond_coeff @bond:5-20 harmonic 250.0 1.47
+ bond_coeff @bond:5-24 harmonic 400.0 1.38
+ bond_coeff @bond:5-25 harmonic 340.0 0.3
+ bond_coeff @bond:5-44 harmonic 320.0 1.45
+ bond_coeff @bond:5-47 harmonic 450.0 1.37
+ bond_coeff @bond:5-48 harmonic 450.0 1.364
+ bond_coeff @bond:5-51 harmonic 320.0 1.38
+ bond_coeff @bond:5-64 harmonic 230.0 1.61
+ bond_coeff @bond:5-79 harmonic 450.0 1.67
+ bond_coeff @bond:5-106 harmonic 94.0 1.8
+ bond_coeff @bond:5-108 harmonic 374.0 1.64
+ bond_coeff @bond:6-6 harmonic 260.0 1.526
+ bond_coeff @bond:6-10 harmonic 260.0 1.526
+ bond_coeff @bond:6-11 harmonic 317.0 1.5
+ bond_coeff @bond:6-13 harmonic 260.0 1.526
+ bond_coeff @bond:6-14 harmonic 317.0 1.5
+ bond_coeff @bond:6-15 harmonic 222.0 1.81
+ bond_coeff @bond:6-16 harmonic 222.0 1.81
+ bond_coeff @bond:6-20 harmonic 320.0 1.425
+ bond_coeff @bond:6-24 harmonic 337.0 1.449
+ bond_coeff @bond:6-44 harmonic 382.0 1.448
+ bond_coeff @bond:6-47 harmonic 317.0 1.51
+ bond_coeff @bond:6-51 harmonic 260.0 1.526
+ bond_coeff @bond:6-53 harmonic 367.0 1.471
+ bond_coeff @bond:6-55 harmonic 337.0 1.463
+ bond_coeff @bond:6-79 harmonic 222.0 1.81
+ bond_coeff @bond:6-105 harmonic 337.0 1.475
+ bond_coeff @bond:7-20 harmonic 553.0 0.945
+ bond_coeff @bond:7-25 harmonic 340.0 0.1
+ bond_coeff @bond:9-9 harmonic 530.0 1.34
+ bond_coeff @bond:9-11 harmonic 530.0 1.34
+ bond_coeff @bond:9-14 harmonic 530.0 1.34
+ bond_coeff @bond:10-10 harmonic 260.0 1.526
+ bond_coeff @bond:10-11 harmonic 317.0 1.5
+ bond_coeff @bond:10-14 harmonic 317.0 1.5
+ bond_coeff @bond:10-20 harmonic 320.0 1.425
+ bond_coeff @bond:10-24 harmonic 337.0 1.449
+ bond_coeff @bond:10-44 harmonic 382.0 1.448
+ bond_coeff @bond:10-105 harmonic 337.0 1.475
+ bond_coeff @bond:11-11 harmonic 530.0 1.34
+ bond_coeff @bond:11-13 harmonic 317.0 1.5
+ bond_coeff @bond:11-14 harmonic 530.0 1.34
+ bond_coeff @bond:11-79 harmonic 222.0 1.76
+ bond_coeff @bond:12-12 harmonic 469.0 1.4
+ bond_coeff @bond:12-48 harmonic 469.0 1.4
+ bond_coeff @bond:12-60 harmonic 469.0 1.4
+ bond_coeff @bond:12-81 harmonic 469.0 1.4
+ bond_coeff @bond:13-13 harmonic 268.0 1.529
+ bond_coeff @bond:13-14 harmonic 317.0 1.5
+ bond_coeff @bond:13-15 harmonic 222.0 1.81
+ bond_coeff @bond:13-16 harmonic 222.0 1.81
+ bond_coeff @bond:13-18 harmonic 390.0 1.43
+ bond_coeff @bond:13-19 harmonic 390.0 1.47
+ bond_coeff @bond:13-20 harmonic 320.0 1.41
+ bond_coeff @bond:13-21 harmonic 245.0 1.781
+ bond_coeff @bond:13-22 harmonic 340.0 1.79
+ bond_coeff @bond:13-24 harmonic 337.0 1.449
+ bond_coeff @bond:13-25 harmonic 340.0 0.3
+ bond_coeff @bond:13-44 harmonic 382.0 1.448
+ bond_coeff @bond:13-46 harmonic 340.0 1.09
+ bond_coeff @bond:13-47 harmonic 317.0 1.51
+ bond_coeff @bond:13-48 harmonic 317.0 1.51
+ bond_coeff @bond:13-50 harmonic 317.0 1.51
+ bond_coeff @bond:13-51 harmonic 268.0 1.529
+ bond_coeff @bond:13-53 harmonic 367.0 1.471
+ bond_coeff @bond:13-55 harmonic 337.0 1.463
+ bond_coeff @bond:13-56 harmonic 337.0 1.449
+ bond_coeff @bond:13-57 harmonic 337.0 1.475
+ bond_coeff @bond:13-60 harmonic 317.0 1.51
+ bond_coeff @bond:13-64 harmonic 212.0 1.843
+ bond_coeff @bond:13-65 harmonic 245.0 1.945
+ bond_coeff @bond:13-66 harmonic 200.0 2.19
+ bond_coeff @bond:13-79 harmonic 340.0 1.77
+ bond_coeff @bond:13-80 harmonic 317.0 1.495
+ bond_coeff @bond:13-83 harmonic 317.0 1.504
+ bond_coeff @bond:13-84 harmonic 317.0 1.504
+ bond_coeff @bond:13-85 harmonic 317.0 1.504
+ bond_coeff @bond:13-87 harmonic 317.0 1.495
+ bond_coeff @bond:13-90 harmonic 337.0 1.449
+ bond_coeff @bond:13-91 harmonic 280.0 1.51
+ bond_coeff @bond:13-95 harmonic 532.8 1.46
+ bond_coeff @bond:13-101 harmonic 382.0 1.448
+ bond_coeff @bond:13-102 harmonic 375.0 1.49
+ bond_coeff @bond:13-104 harmonic 212.0 1.82
+ bond_coeff @bond:13-105 harmonic 337.0 1.475
+ bond_coeff @bond:13-107 harmonic 337.0 1.449
+ bond_coeff @bond:13-108 harmonic 187.0 1.86
+ bond_coeff @bond:13-109 harmonic 317.0 1.51
+ bond_coeff @bond:14-14 harmonic 530.0 1.34
+ bond_coeff @bond:15-17 harmonic 274.0 1.336
+ bond_coeff @bond:15-48 harmonic 250.0 1.74
+ bond_coeff @bond:16-16 harmonic 166.0 2.038
+ bond_coeff @bond:16-19 harmonic 300.0 1.685
+ bond_coeff @bond:16-24 harmonic 250.0 1.73
+ bond_coeff @bond:16-25 harmonic 340.0 0.5
+ bond_coeff @bond:16-47 harmonic 250.0 1.76
+ bond_coeff @bond:16-48 harmonic 250.0 1.76
+ bond_coeff @bond:16-61 harmonic 250.0 1.73
+ bond_coeff @bond:16-82 harmonic 250.0 1.76
+ bond_coeff @bond:16-84 harmonic 250.0 1.74
+ bond_coeff @bond:16-91 harmonic 222.0 1.81
+ bond_coeff @bond:16-108 harmonic 144.0 2.15
+ bond_coeff @bond:17-25 harmonic 340.0 0.1
+ bond_coeff @bond:18-18 harmonic 550.0 1.12
+ bond_coeff @bond:18-19 harmonic 650.0 1.157
+ bond_coeff @bond:18-48 harmonic 400.0 1.41
+ bond_coeff @bond:18-56 harmonic 550.0 1.24
+ bond_coeff @bond:19-19 harmonic 1150.0 1.21
+ bond_coeff @bond:19-21 harmonic 330.0 1.637
+ bond_coeff @bond:19-46 harmonic 420.0 1.08
+ bond_coeff @bond:19-47 harmonic 400.0 1.426
+ bond_coeff @bond:19-48 harmonic 400.0 1.451
+ bond_coeff @bond:19-50 harmonic 400.0 1.426
+ bond_coeff @bond:19-65 harmonic 330.0 1.784
+ bond_coeff @bond:19-88 harmonic 400.0 1.451
+ bond_coeff @bond:19-91 harmonic 400.0 1.451
+ bond_coeff @bond:20-20 harmonic 250.0 1.47
+ bond_coeff @bond:20-21 harmonic 200.0 1.69
+ bond_coeff @bond:20-24 harmonic 320.0 1.45
+ bond_coeff @bond:20-25 harmonic 340.0 0.3
+ bond_coeff @bond:20-44 harmonic 320.0 1.45
+ bond_coeff @bond:20-47 harmonic 450.0 1.37
+ bond_coeff @bond:20-48 harmonic 450.0 1.364
+ bond_coeff @bond:20-51 harmonic 320.0 1.38
+ bond_coeff @bond:20-60 harmonic 340.0 1.36
+ bond_coeff @bond:20-61 harmonic 462.0 1.399
+ bond_coeff @bond:20-64 harmonic 230.0 1.61
+ bond_coeff @bond:20-82 harmonic 462.0 1.357
+ bond_coeff @bond:20-84 harmonic 340.0 1.36
+ bond_coeff @bond:20-108 harmonic 374.0 1.64
+ bond_coeff @bond:21-25 harmonic 300.0 0.3
+ bond_coeff @bond:21-47 harmonic 300.0 1.725
+ bond_coeff @bond:21-48 harmonic 300.0 1.725
+ bond_coeff @bond:21-82 harmonic 300.0 1.725
+ bond_coeff @bond:21-83 harmonic 300.0 1.725
+ bond_coeff @bond:21-84 harmonic 300.0 1.725
+ bond_coeff @bond:21-87 harmonic 300.0 1.725
+ bond_coeff @bond:21-88 harmonic 300.0 1.725
+ bond_coeff @bond:21-108 harmonic 223.0 2.02
+ bond_coeff @bond:22-23 harmonic 700.0 1.53
+ bond_coeff @bond:22-25 harmonic 340.0 0.5
+ bond_coeff @bond:23-25 harmonic 340.0 0.3
+ bond_coeff @bond:23-79 harmonic 700.0 1.44
+ bond_coeff @bond:24-25 harmonic 367.0 0.3
+ bond_coeff @bond:24-45 harmonic 434.0 1.01
+ bond_coeff @bond:24-48 harmonic 427.0 1.381
+ bond_coeff @bond:24-59 harmonic 427.0 1.381
+ bond_coeff @bond:24-79 harmonic 434.0 1.67
+ bond_coeff @bond:24-84 harmonic 427.0 1.381
+ bond_coeff @bond:24-88 harmonic 427.0 1.381
+ bond_coeff @bond:24-91 harmonic 337.0 1.449
+ bond_coeff @bond:24-103 harmonic 500.0 1.27
+ bond_coeff @bond:24-106 harmonic 40.0 2.05
+ bond_coeff @bond:25-25 harmonic 340.0 0.3
+ bond_coeff @bond:25-44 harmonic 340.0 0.3
+ bond_coeff @bond:25-45 harmonic 340.0 0.1
+ bond_coeff @bond:25-46 harmonic 340.0 0.3
+ bond_coeff @bond:25-47 harmonic 340.0 0.3
+ bond_coeff @bond:25-48 harmonic 367.0 0.3
+ bond_coeff @bond:25-49 harmonic 340.0 0.3
+ bond_coeff @bond:25-53 harmonic 340.0 0.3
+ bond_coeff @bond:25-56 harmonic 367.0 0.3
+ bond_coeff @bond:25-61 harmonic 367.0 0.3
+ bond_coeff @bond:25-65 harmonic 300.0 0.3
+ bond_coeff @bond:25-103 harmonic 340.0 0.1
+ bond_coeff @bond:31-32 harmonic 600.0 0.9572
+ bond_coeff @bond:31-33 harmonic 900.0 0.15
+ bond_coeff @bond:31-106 harmonic 40.0 2.05
+ bond_coeff @bond:34-35 harmonic 529.6 0.9572
+ bond_coeff @bond:36-37 harmonic 600.0 0.9572
+ bond_coeff @bond:36-38 harmonic 900.0 0.175
+ bond_coeff @bond:39-40 harmonic 600.0 0.9572
+ bond_coeff @bond:39-41 harmonic 900.0 0.7
+ bond_coeff @bond:42-43 harmonic 600.0 1.0
+ bond_coeff @bond:44-44 harmonic 350.0 1.445
+ bond_coeff @bond:44-45 harmonic 434.0 1.01
+ bond_coeff @bond:44-48 harmonic 481.0 1.34
+ bond_coeff @bond:44-79 harmonic 340.0 1.77
+ bond_coeff @bond:44-91 harmonic 382.0 1.448
+ bond_coeff @bond:44-108 harmonic 266.0 1.74
+ bond_coeff @bond:45-53 harmonic 434.0 1.01
+ bond_coeff @bond:45-55 harmonic 434.0 1.01
+ bond_coeff @bond:45-56 harmonic 434.0 1.01
+ bond_coeff @bond:45-57 harmonic 434.0 1.01
+ bond_coeff @bond:45-101 harmonic 434.0 1.01
+ bond_coeff @bond:45-105 harmonic 434.0 1.01
+ bond_coeff @bond:45-108 harmonic 166.0 1.48
+ bond_coeff @bond:46-47 harmonic 340.0 1.08
+ bond_coeff @bond:46-50 harmonic 340.0 1.08
+ bond_coeff @bond:46-51 harmonic 340.0 1.09
+ bond_coeff @bond:46-80 harmonic 340.0 1.08
+ bond_coeff @bond:46-91 harmonic 340.0 1.088
+ bond_coeff @bond:46-95 harmonic 532.8 1.084
+ bond_coeff @bond:46-108 harmonic 166.0 1.48
+ bond_coeff @bond:46-109 harmonic 340.0 1.08
+ bond_coeff @bond:47-47 harmonic 549.0 1.34
+ bond_coeff @bond:47-48 harmonic 427.0 1.433
+ bond_coeff @bond:47-50 harmonic 549.0 1.34
+ bond_coeff @bond:47-57 harmonic 448.0 1.365
+ bond_coeff @bond:47-58 harmonic 367.0 1.08
+ bond_coeff @bond:47-65 harmonic 300.0 1.9
+ bond_coeff @bond:47-66 harmonic 250.0 2.08
+ bond_coeff @bond:47-86 harmonic 385.0 1.46
+ bond_coeff @bond:47-91 harmonic 317.0 1.51
+ bond_coeff @bond:47-105 harmonic 448.0 1.365
+ bond_coeff @bond:47-110 harmonic 700.0 1.305
+ bond_coeff @bond:48-48 harmonic 469.0 1.4
+ bond_coeff @bond:48-49 harmonic 367.0 1.08
+ bond_coeff @bond:48-50 harmonic 427.0 1.433
+ bond_coeff @bond:48-53 harmonic 400.0 1.45
+ bond_coeff @bond:48-55 harmonic 481.0 1.34
+ bond_coeff @bond:48-56 harmonic 483.0 1.339
+ bond_coeff @bond:48-57 harmonic 427.0 1.381
+ bond_coeff @bond:48-60 harmonic 469.0 1.404
+ bond_coeff @bond:48-61 harmonic 414.0 1.391
+ bond_coeff @bond:48-64 harmonic 220.0 1.78
+ bond_coeff @bond:48-65 harmonic 300.0 1.87
+ bond_coeff @bond:48-66 harmonic 250.0 2.08
+ bond_coeff @bond:48-79 harmonic 340.0 1.77
+ bond_coeff @bond:48-81 harmonic 469.0 1.4
+ bond_coeff @bond:48-84 harmonic 546.0 1.367
+ bond_coeff @bond:48-86 harmonic 469.0 1.4
+ bond_coeff @bond:48-88 harmonic 469.0 1.421
+ bond_coeff @bond:48-91 harmonic 317.0 1.49
+ bond_coeff @bond:48-101 harmonic 382.0 1.385
+ bond_coeff @bond:48-102 harmonic 400.0 1.46
+ bond_coeff @bond:48-109 harmonic 427.0 1.433
+ bond_coeff @bond:49-59 harmonic 367.0 1.08
+ bond_coeff @bond:49-62 harmonic 340.0 1.08
+ bond_coeff @bond:49-82 harmonic 367.0 1.08
+ bond_coeff @bond:49-83 harmonic 367.0 1.08
+ bond_coeff @bond:49-84 harmonic 367.0 1.08
+ bond_coeff @bond:49-85 harmonic 367.0 1.08
+ bond_coeff @bond:49-87 harmonic 367.0 1.08
+ bond_coeff @bond:49-88 harmonic 367.0 1.08
+ bond_coeff @bond:50-50 harmonic 385.0 1.46
+ bond_coeff @bond:50-56 harmonic 457.0 1.29
+ bond_coeff @bond:50-84 harmonic 549.0 1.365
+ bond_coeff @bond:50-109 harmonic 385.0 1.46
+ bond_coeff @bond:51-105 harmonic 337.0 1.475
+ bond_coeff @bond:52-64 harmonic 525.0 1.48
+ bond_coeff @bond:53-54 harmonic 434.0 1.01
+ bond_coeff @bond:54-55 harmonic 434.0 1.01
+ bond_coeff @bond:55-59 harmonic 481.0 1.34
+ bond_coeff @bond:55-82 harmonic 481.0 1.34
+ bond_coeff @bond:56-56 harmonic 500.0 1.32
+ bond_coeff @bond:56-59 harmonic 502.0 1.324
+ bond_coeff @bond:56-60 harmonic 461.0 1.354
+ bond_coeff @bond:56-82 harmonic 461.0 1.354
+ bond_coeff @bond:56-86 harmonic 483.0 1.339
+ bond_coeff @bond:56-103 harmonic 550.0 1.21
+ bond_coeff @bond:56-109 harmonic 457.0 1.29
+ bond_coeff @bond:57-60 harmonic 436.0 1.374
+ bond_coeff @bond:57-61 harmonic 400.0 1.349
+ bond_coeff @bond:57-62 harmonic 440.0 1.371
+ bond_coeff @bond:57-81 harmonic 428.0 1.38
+ bond_coeff @bond:57-82 harmonic 477.0 1.343
+ bond_coeff @bond:57-84 harmonic 427.0 1.381
+ bond_coeff @bond:57-85 harmonic 427.0 1.381
+ bond_coeff @bond:57-86 harmonic 385.0 1.44
+ bond_coeff @bond:58-83 harmonic 367.0 1.08
+ bond_coeff @bond:58-84 harmonic 367.0 1.08
+ bond_coeff @bond:59-63 harmonic 367.0 1.08
+ bond_coeff @bond:60-60 harmonic 520.0 1.37
+ bond_coeff @bond:60-61 harmonic 414.0 1.391
+ bond_coeff @bond:60-80 harmonic 388.0 1.459
+ bond_coeff @bond:60-81 harmonic 447.0 1.419
+ bond_coeff @bond:60-87 harmonic 469.0 1.424
+ bond_coeff @bond:60-105 harmonic 436.0 1.374
+ bond_coeff @bond:61-61 harmonic 400.0 1.28
+ bond_coeff @bond:61-62 harmonic 529.0 1.304
+ bond_coeff @bond:61-82 harmonic 488.0 1.335
+ bond_coeff @bond:61-83 harmonic 410.0 1.394
+ bond_coeff @bond:61-84 harmonic 410.0 1.394
+ bond_coeff @bond:61-88 harmonic 410.0 1.32
+ bond_coeff @bond:62-63 harmonic 367.0 1.08
+ bond_coeff @bond:62-105 harmonic 440.0 1.371
+ bond_coeff @bond:63-82 harmonic 367.0 1.08
+ bond_coeff @bond:64-108 harmonic 108.0 2.25
+ bond_coeff @bond:65-82 harmonic 300.0 1.87
+ bond_coeff @bond:65-83 harmonic 300.0 1.87
+ bond_coeff @bond:65-84 harmonic 300.0 1.87
+ bond_coeff @bond:65-87 harmonic 300.0 1.87
+ bond_coeff @bond:65-88 harmonic 300.0 1.87
+ bond_coeff @bond:65-108 harmonic 151.0 2.19
+ bond_coeff @bond:66-82 harmonic 250.0 2.08
+ bond_coeff @bond:66-83 harmonic 250.0 2.08
+ bond_coeff @bond:66-84 harmonic 250.0 2.08
+ bond_coeff @bond:66-87 harmonic 250.0 2.08
+ bond_coeff @bond:66-88 harmonic 250.0 2.08
+ bond_coeff @bond:66-108 harmonic 108.0 2.44
+ bond_coeff @bond:77-78 harmonic 500.0 1.8
+ bond_coeff @bond:80-84 harmonic 546.0 1.352
+ bond_coeff @bond:82-86 harmonic 385.0 1.46
+ bond_coeff @bond:82-87 harmonic 520.0 1.37
+ bond_coeff @bond:83-84 harmonic 520.0 1.37
+ bond_coeff @bond:83-86 harmonic 385.0 1.46
+ bond_coeff @bond:84-84 harmonic 512.0 1.375
+ bond_coeff @bond:84-86 harmonic 385.0 1.46
+ bond_coeff @bond:84-87 harmonic 546.0 1.367
+ bond_coeff @bond:84-88 harmonic 520.0 1.37
+ bond_coeff @bond:85-85 harmonic 520.0 1.37
+ bond_coeff @bond:86-86 harmonic 385.0 1.46
+ bond_coeff @bond:86-87 harmonic 385.0 1.46
+ bond_coeff @bond:86-88 harmonic 385.0 1.46
+ bond_coeff @bond:87-87 harmonic 469.0 1.424
+ bond_coeff @bond:87-88 harmonic 469.0 1.424
+ bond_coeff @bond:89-90 harmonic 490.0 1.335
+ bond_coeff @bond:89-91 harmonic 317.0 1.522
+ bond_coeff @bond:90-91 harmonic 337.0 1.449
+ bond_coeff @bond:91-91 harmonic 260.0 1.52
+ bond_coeff @bond:102-103 harmonic 550.0 1.225
+ bond_coeff @bond:108-108 harmonic 94.0 2.32
+ bond_coeff @bond:109-109 harmonic 549.0 1.345
+ } #(end of bond_coeffs)
+
+ # Rules for assigning bond types by atom type:
+ # BondTypeName AtomType1 AtomType2
+ # (* = wildcard)
+
+ write_once("Data Bonds By Type") {
+ @bond:1-2 @atom:*_b1_a*_d*_i* @atom:*_b2_a*_d*_i*
+ @bond:1-3 @atom:*_b1_a*_d*_i* @atom:*_b3_a*_d*_i*
+ @bond:1-13 @atom:*_b1_a*_d*_i* @atom:*_b13_a*_d*_i*
+ @bond:1-19 @atom:*_b1_a*_d*_i* @atom:*_b19_a*_d*_i*
+ @bond:1-25 @atom:*_b1_a*_d*_i* @atom:*_b25_a*_d*_i*
+ @bond:1-47 @atom:*_b1_a*_d*_i* @atom:*_b47_a*_d*_i*
+ @bond:1-48 @atom:*_b1_a*_d*_i* @atom:*_b48_a*_d*_i*
+ @bond:1-82 @atom:*_b1_a*_d*_i* @atom:*_b82_a*_d*_i*
+ @bond:1-83 @atom:*_b1_a*_d*_i* @atom:*_b83_a*_d*_i*
+ @bond:1-84 @atom:*_b1_a*_d*_i* @atom:*_b84_a*_d*_i*
+ @bond:1-87 @atom:*_b1_a*_d*_i* @atom:*_b87_a*_d*_i*
+ @bond:1-88 @atom:*_b1_a*_d*_i* @atom:*_b88_a*_d*_i*
+ @bond:1-108 @atom:*_b1_a*_d*_i* @atom:*_b108_a*_d*_i*
+ @bond:2-2 @atom:*_b2_a*_d*_i* @atom:*_b2_a*_d*_i*
+ @bond:2-3 @atom:*_b2_a*_d*_i* @atom:*_b3_a*_d*_i*
+ @bond:2-5 @atom:*_b2_a*_d*_i* @atom:*_b5_a*_d*_i*
+ @bond:2-6 @atom:*_b2_a*_d*_i* @atom:*_b6_a*_d*_i*
+ @bond:2-10 @atom:*_b2_a*_d*_i* @atom:*_b10_a*_d*_i*
+ @bond:2-11 @atom:*_b2_a*_d*_i* @atom:*_b11_a*_d*_i*
+ @bond:2-12 @atom:*_b2_a*_d*_i* @atom:*_b12_a*_d*_i*
+ @bond:2-13 @atom:*_b2_a*_d*_i* @atom:*_b13_a*_d*_i*
+ @bond:2-14 @atom:*_b2_a*_d*_i* @atom:*_b14_a*_d*_i*
+ @bond:2-15 @atom:*_b2_a*_d*_i* @atom:*_b15_a*_d*_i*
+ @bond:2-16 @atom:*_b2_a*_d*_i* @atom:*_b16_a*_d*_i*
+ @bond:2-20 @atom:*_b2_a*_d*_i* @atom:*_b20_a*_d*_i*
+ @bond:2-24 @atom:*_b2_a*_d*_i* @atom:*_b24_a*_d*_i*
+ @bond:2-44 @atom:*_b2_a*_d*_i* @atom:*_b44_a*_d*_i*
+ @bond:2-48 @atom:*_b2_a*_d*_i* @atom:*_b48_a*_d*_i*
+ @bond:2-51 @atom:*_b2_a*_d*_i* @atom:*_b51_a*_d*_i*
+ @bond:2-53 @atom:*_b2_a*_d*_i* @atom:*_b53_a*_d*_i*
+ @bond:2-55 @atom:*_b2_a*_d*_i* @atom:*_b55_a*_d*_i*
+ @bond:2-80 @atom:*_b2_a*_d*_i* @atom:*_b80_a*_d*_i*
+ @bond:3-3 @atom:*_b3_a*_d*_i* @atom:*_b3_a*_d*_i*
+ @bond:3-4 @atom:*_b3_a*_d*_i* @atom:*_b4_a*_d*_i*
+ @bond:3-5 @atom:*_b3_a*_d*_i* @atom:*_b5_a*_d*_i*
+ @bond:3-6 @atom:*_b3_a*_d*_i* @atom:*_b6_a*_d*_i*
+ @bond:3-10 @atom:*_b3_a*_d*_i* @atom:*_b10_a*_d*_i*
+ @bond:3-12 @atom:*_b3_a*_d*_i* @atom:*_b12_a*_d*_i*
+ @bond:3-13 @atom:*_b3_a*_d*_i* @atom:*_b13_a*_d*_i*
+ @bond:3-19 @atom:*_b3_a*_d*_i* @atom:*_b19_a*_d*_i*
+ @bond:3-20 @atom:*_b3_a*_d*_i* @atom:*_b20_a*_d*_i*
+ @bond:3-21 @atom:*_b3_a*_d*_i* @atom:*_b21_a*_d*_i*
+ @bond:3-24 @atom:*_b3_a*_d*_i* @atom:*_b24_a*_d*_i*
+ @bond:3-44 @atom:*_b3_a*_d*_i* @atom:*_b44_a*_d*_i*
+ @bond:3-46 @atom:*_b3_a*_d*_i* @atom:*_b46_a*_d*_i*
+ @bond:3-47 @atom:*_b3_a*_d*_i* @atom:*_b47_a*_d*_i*
+ @bond:3-48 @atom:*_b3_a*_d*_i* @atom:*_b48_a*_d*_i*
+ @bond:3-50 @atom:*_b3_a*_d*_i* @atom:*_b50_a*_d*_i*
+ @bond:3-52 @atom:*_b3_a*_d*_i* @atom:*_b52_a*_d*_i*
+ @bond:3-56 @atom:*_b3_a*_d*_i* @atom:*_b56_a*_d*_i*
+ @bond:3-57 @atom:*_b3_a*_d*_i* @atom:*_b57_a*_d*_i*
+ @bond:3-60 @atom:*_b3_a*_d*_i* @atom:*_b60_a*_d*_i*
+ @bond:3-65 @atom:*_b3_a*_d*_i* @atom:*_b65_a*_d*_i*
+ @bond:3-84 @atom:*_b3_a*_d*_i* @atom:*_b84_a*_d*_i*
+ @bond:3-86 @atom:*_b3_a*_d*_i* @atom:*_b86_a*_d*_i*
+ @bond:3-105 @atom:*_b3_a*_d*_i* @atom:*_b105_a*_d*_i*
+ @bond:3-107 @atom:*_b3_a*_d*_i* @atom:*_b107_a*_d*_i*
+ @bond:4-25 @atom:*_b4_a*_d*_i* @atom:*_b25_a*_d*_i*
+ @bond:4-64 @atom:*_b4_a*_d*_i* @atom:*_b64_a*_d*_i*
+ @bond:4-89 @atom:*_b4_a*_d*_i* @atom:*_b89_a*_d*_i*
+ @bond:4-110 @atom:*_b4_a*_d*_i* @atom:*_b110_a*_d*_i*
+ @bond:5-6 @atom:*_b5_a*_d*_i* @atom:*_b6_a*_d*_i*
+ @bond:5-7 @atom:*_b5_a*_d*_i* @atom:*_b7_a*_d*_i*
+ @bond:5-10 @atom:*_b5_a*_d*_i* @atom:*_b10_a*_d*_i*
+ @bond:5-13 @atom:*_b5_a*_d*_i* @atom:*_b13_a*_d*_i*
+ @bond:5-20 @atom:*_b5_a*_d*_i* @atom:*_b20_a*_d*_i*
+ @bond:5-24 @atom:*_b5_a*_d*_i* @atom:*_b24_a*_d*_i*
+ @bond:5-25 @atom:*_b5_a*_d*_i* @atom:*_b25_a*_d*_i*
+ @bond:5-44 @atom:*_b5_a*_d*_i* @atom:*_b44_a*_d*_i*
+ @bond:5-47 @atom:*_b5_a*_d*_i* @atom:*_b47_a*_d*_i*
+ @bond:5-48 @atom:*_b5_a*_d*_i* @atom:*_b48_a*_d*_i*
+ @bond:5-51 @atom:*_b5_a*_d*_i* @atom:*_b51_a*_d*_i*
+ @bond:5-64 @atom:*_b5_a*_d*_i* @atom:*_b64_a*_d*_i*
+ @bond:5-79 @atom:*_b5_a*_d*_i* @atom:*_b79_a*_d*_i*
+ @bond:5-106 @atom:*_b5_a*_d*_i* @atom:*_b106_a*_d*_i*
+ @bond:5-108 @atom:*_b5_a*_d*_i* @atom:*_b108_a*_d*_i*
+ @bond:6-6 @atom:*_b6_a*_d*_i* @atom:*_b6_a*_d*_i*
+ @bond:6-10 @atom:*_b6_a*_d*_i* @atom:*_b10_a*_d*_i*
+ @bond:6-11 @atom:*_b6_a*_d*_i* @atom:*_b11_a*_d*_i*
+ @bond:6-13 @atom:*_b6_a*_d*_i* @atom:*_b13_a*_d*_i*
+ @bond:6-14 @atom:*_b6_a*_d*_i* @atom:*_b14_a*_d*_i*
+ @bond:6-15 @atom:*_b6_a*_d*_i* @atom:*_b15_a*_d*_i*
+ @bond:6-16 @atom:*_b6_a*_d*_i* @atom:*_b16_a*_d*_i*
+ @bond:6-20 @atom:*_b6_a*_d*_i* @atom:*_b20_a*_d*_i*
+ @bond:6-24 @atom:*_b6_a*_d*_i* @atom:*_b24_a*_d*_i*
+ @bond:6-44 @atom:*_b6_a*_d*_i* @atom:*_b44_a*_d*_i*
+ @bond:6-47 @atom:*_b6_a*_d*_i* @atom:*_b47_a*_d*_i*
+ @bond:6-51 @atom:*_b6_a*_d*_i* @atom:*_b51_a*_d*_i*
+ @bond:6-53 @atom:*_b6_a*_d*_i* @atom:*_b53_a*_d*_i*
+ @bond:6-55 @atom:*_b6_a*_d*_i* @atom:*_b55_a*_d*_i*
+ @bond:6-79 @atom:*_b6_a*_d*_i* @atom:*_b79_a*_d*_i*
+ @bond:6-105 @atom:*_b6_a*_d*_i* @atom:*_b105_a*_d*_i*
+ @bond:7-20 @atom:*_b7_a*_d*_i* @atom:*_b20_a*_d*_i*
+ @bond:7-25 @atom:*_b7_a*_d*_i* @atom:*_b25_a*_d*_i*
+ @bond:9-9 @atom:*_b9_a*_d*_i* @atom:*_b9_a*_d*_i*
+ @bond:9-11 @atom:*_b9_a*_d*_i* @atom:*_b11_a*_d*_i*
+ @bond:9-14 @atom:*_b9_a*_d*_i* @atom:*_b14_a*_d*_i*
+ @bond:10-10 @atom:*_b10_a*_d*_i* @atom:*_b10_a*_d*_i*
+ @bond:10-11 @atom:*_b10_a*_d*_i* @atom:*_b11_a*_d*_i*
+ @bond:10-14 @atom:*_b10_a*_d*_i* @atom:*_b14_a*_d*_i*
+ @bond:10-20 @atom:*_b10_a*_d*_i* @atom:*_b20_a*_d*_i*
+ @bond:10-24 @atom:*_b10_a*_d*_i* @atom:*_b24_a*_d*_i*
+ @bond:10-44 @atom:*_b10_a*_d*_i* @atom:*_b44_a*_d*_i*
+ @bond:10-105 @atom:*_b10_a*_d*_i* @atom:*_b105_a*_d*_i*
+ @bond:11-11 @atom:*_b11_a*_d*_i* @atom:*_b11_a*_d*_i*
+ @bond:11-13 @atom:*_b11_a*_d*_i* @atom:*_b13_a*_d*_i*
+ @bond:11-14 @atom:*_b11_a*_d*_i* @atom:*_b14_a*_d*_i*
+ @bond:11-79 @atom:*_b11_a*_d*_i* @atom:*_b79_a*_d*_i*
+ @bond:12-12 @atom:*_b12_a*_d*_i* @atom:*_b12_a*_d*_i*
+ @bond:12-48 @atom:*_b12_a*_d*_i* @atom:*_b48_a*_d*_i*
+ @bond:12-60 @atom:*_b12_a*_d*_i* @atom:*_b60_a*_d*_i*
+ @bond:12-81 @atom:*_b12_a*_d*_i* @atom:*_b81_a*_d*_i*
+ @bond:13-13 @atom:*_b13_a*_d*_i* @atom:*_b13_a*_d*_i*
+ @bond:13-14 @atom:*_b13_a*_d*_i* @atom:*_b14_a*_d*_i*
+ @bond:13-15 @atom:*_b13_a*_d*_i* @atom:*_b15_a*_d*_i*
+ @bond:13-16 @atom:*_b13_a*_d*_i* @atom:*_b16_a*_d*_i*
+ @bond:13-18 @atom:*_b13_a*_d*_i* @atom:*_b18_a*_d*_i*
+ @bond:13-19 @atom:*_b13_a*_d*_i* @atom:*_b19_a*_d*_i*
+ @bond:13-20 @atom:*_b13_a*_d*_i* @atom:*_b20_a*_d*_i*
+ @bond:13-21 @atom:*_b13_a*_d*_i* @atom:*_b21_a*_d*_i*
+ @bond:13-22 @atom:*_b13_a*_d*_i* @atom:*_b22_a*_d*_i*
+ @bond:13-24 @atom:*_b13_a*_d*_i* @atom:*_b24_a*_d*_i*
+ @bond:13-25 @atom:*_b13_a*_d*_i* @atom:*_b25_a*_d*_i*
+ @bond:13-44 @atom:*_b13_a*_d*_i* @atom:*_b44_a*_d*_i*
+ @bond:13-46 @atom:*_b13_a*_d*_i* @atom:*_b46_a*_d*_i*
+ @bond:13-47 @atom:*_b13_a*_d*_i* @atom:*_b47_a*_d*_i*
+ @bond:13-48 @atom:*_b13_a*_d*_i* @atom:*_b48_a*_d*_i*
+ @bond:13-50 @atom:*_b13_a*_d*_i* @atom:*_b50_a*_d*_i*
+ @bond:13-51 @atom:*_b13_a*_d*_i* @atom:*_b51_a*_d*_i*
+ @bond:13-53 @atom:*_b13_a*_d*_i* @atom:*_b53_a*_d*_i*
+ @bond:13-55 @atom:*_b13_a*_d*_i* @atom:*_b55_a*_d*_i*
+ @bond:13-56 @atom:*_b13_a*_d*_i* @atom:*_b56_a*_d*_i*
+ @bond:13-57 @atom:*_b13_a*_d*_i* @atom:*_b57_a*_d*_i*
+ @bond:13-60 @atom:*_b13_a*_d*_i* @atom:*_b60_a*_d*_i*
+ @bond:13-64 @atom:*_b13_a*_d*_i* @atom:*_b64_a*_d*_i*
+ @bond:13-65 @atom:*_b13_a*_d*_i* @atom:*_b65_a*_d*_i*
+ @bond:13-66 @atom:*_b13_a*_d*_i* @atom:*_b66_a*_d*_i*
+ @bond:13-79 @atom:*_b13_a*_d*_i* @atom:*_b79_a*_d*_i*
+ @bond:13-80 @atom:*_b13_a*_d*_i* @atom:*_b80_a*_d*_i*
+ @bond:13-83 @atom:*_b13_a*_d*_i* @atom:*_b83_a*_d*_i*
+ @bond:13-84 @atom:*_b13_a*_d*_i* @atom:*_b84_a*_d*_i*
+ @bond:13-85 @atom:*_b13_a*_d*_i* @atom:*_b85_a*_d*_i*
+ @bond:13-87 @atom:*_b13_a*_d*_i* @atom:*_b87_a*_d*_i*
+ @bond:13-90 @atom:*_b13_a*_d*_i* @atom:*_b90_a*_d*_i*
+ @bond:13-91 @atom:*_b13_a*_d*_i* @atom:*_b91_a*_d*_i*
+ @bond:13-95 @atom:*_b13_a*_d*_i* @atom:*_b95_a*_d*_i*
+ @bond:13-101 @atom:*_b13_a*_d*_i* @atom:*_b101_a*_d*_i*
+ @bond:13-102 @atom:*_b13_a*_d*_i* @atom:*_b102_a*_d*_i*
+ @bond:13-104 @atom:*_b13_a*_d*_i* @atom:*_b104_a*_d*_i*
+ @bond:13-105 @atom:*_b13_a*_d*_i* @atom:*_b105_a*_d*_i*
+ @bond:13-107 @atom:*_b13_a*_d*_i* @atom:*_b107_a*_d*_i*
+ @bond:13-108 @atom:*_b13_a*_d*_i* @atom:*_b108_a*_d*_i*
+ @bond:13-109 @atom:*_b13_a*_d*_i* @atom:*_b109_a*_d*_i*
+ @bond:14-14 @atom:*_b14_a*_d*_i* @atom:*_b14_a*_d*_i*
+ @bond:15-17 @atom:*_b15_a*_d*_i* @atom:*_b17_a*_d*_i*
+ @bond:15-48 @atom:*_b15_a*_d*_i* @atom:*_b48_a*_d*_i*
+ @bond:16-16 @atom:*_b16_a*_d*_i* @atom:*_b16_a*_d*_i*
+ @bond:16-19 @atom:*_b16_a*_d*_i* @atom:*_b19_a*_d*_i*
+ @bond:16-24 @atom:*_b16_a*_d*_i* @atom:*_b24_a*_d*_i*
+ @bond:16-25 @atom:*_b16_a*_d*_i* @atom:*_b25_a*_d*_i*
+ @bond:16-47 @atom:*_b16_a*_d*_i* @atom:*_b47_a*_d*_i*
+ @bond:16-48 @atom:*_b16_a*_d*_i* @atom:*_b48_a*_d*_i*
+ @bond:16-61 @atom:*_b16_a*_d*_i* @atom:*_b61_a*_d*_i*
+ @bond:16-82 @atom:*_b16_a*_d*_i* @atom:*_b82_a*_d*_i*
+ @bond:16-84 @atom:*_b16_a*_d*_i* @atom:*_b84_a*_d*_i*
+ @bond:16-91 @atom:*_b16_a*_d*_i* @atom:*_b91_a*_d*_i*
+ @bond:16-108 @atom:*_b16_a*_d*_i* @atom:*_b108_a*_d*_i*
+ @bond:17-25 @atom:*_b17_a*_d*_i* @atom:*_b25_a*_d*_i*
+ @bond:18-18 @atom:*_b18_a*_d*_i* @atom:*_b18_a*_d*_i*
+ @bond:18-19 @atom:*_b18_a*_d*_i* @atom:*_b19_a*_d*_i*
+ @bond:18-48 @atom:*_b18_a*_d*_i* @atom:*_b48_a*_d*_i*
+ @bond:18-56 @atom:*_b18_a*_d*_i* @atom:*_b56_a*_d*_i*
+ @bond:19-19 @atom:*_b19_a*_d*_i* @atom:*_b19_a*_d*_i*
+ @bond:19-21 @atom:*_b19_a*_d*_i* @atom:*_b21_a*_d*_i*
+ @bond:19-46 @atom:*_b19_a*_d*_i* @atom:*_b46_a*_d*_i*
+ @bond:19-47 @atom:*_b19_a*_d*_i* @atom:*_b47_a*_d*_i*
+ @bond:19-48 @atom:*_b19_a*_d*_i* @atom:*_b48_a*_d*_i*
+ @bond:19-50 @atom:*_b19_a*_d*_i* @atom:*_b50_a*_d*_i*
+ @bond:19-65 @atom:*_b19_a*_d*_i* @atom:*_b65_a*_d*_i*
+ @bond:19-88 @atom:*_b19_a*_d*_i* @atom:*_b88_a*_d*_i*
+ @bond:19-91 @atom:*_b19_a*_d*_i* @atom:*_b91_a*_d*_i*
+ @bond:20-20 @atom:*_b20_a*_d*_i* @atom:*_b20_a*_d*_i*
+ @bond:20-21 @atom:*_b20_a*_d*_i* @atom:*_b21_a*_d*_i*
+ @bond:20-24 @atom:*_b20_a*_d*_i* @atom:*_b24_a*_d*_i*
+ @bond:20-25 @atom:*_b20_a*_d*_i* @atom:*_b25_a*_d*_i*
+ @bond:20-44 @atom:*_b20_a*_d*_i* @atom:*_b44_a*_d*_i*
+ @bond:20-47 @atom:*_b20_a*_d*_i* @atom:*_b47_a*_d*_i*
+ @bond:20-48 @atom:*_b20_a*_d*_i* @atom:*_b48_a*_d*_i*
+ @bond:20-51 @atom:*_b20_a*_d*_i* @atom:*_b51_a*_d*_i*
+ @bond:20-60 @atom:*_b20_a*_d*_i* @atom:*_b60_a*_d*_i*
+ @bond:20-61 @atom:*_b20_a*_d*_i* @atom:*_b61_a*_d*_i*
+ @bond:20-64 @atom:*_b20_a*_d*_i* @atom:*_b64_a*_d*_i*
+ @bond:20-82 @atom:*_b20_a*_d*_i* @atom:*_b82_a*_d*_i*
+ @bond:20-84 @atom:*_b20_a*_d*_i* @atom:*_b84_a*_d*_i*
+ @bond:20-108 @atom:*_b20_a*_d*_i* @atom:*_b108_a*_d*_i*
+ @bond:21-25 @atom:*_b21_a*_d*_i* @atom:*_b25_a*_d*_i*
+ @bond:21-47 @atom:*_b21_a*_d*_i* @atom:*_b47_a*_d*_i*
+ @bond:21-48 @atom:*_b21_a*_d*_i* @atom:*_b48_a*_d*_i*
+ @bond:21-82 @atom:*_b21_a*_d*_i* @atom:*_b82_a*_d*_i*
+ @bond:21-83 @atom:*_b21_a*_d*_i* @atom:*_b83_a*_d*_i*
+ @bond:21-84 @atom:*_b21_a*_d*_i* @atom:*_b84_a*_d*_i*
+ @bond:21-87 @atom:*_b21_a*_d*_i* @atom:*_b87_a*_d*_i*
+ @bond:21-88 @atom:*_b21_a*_d*_i* @atom:*_b88_a*_d*_i*
+ @bond:21-108 @atom:*_b21_a*_d*_i* @atom:*_b108_a*_d*_i*
+ @bond:22-23 @atom:*_b22_a*_d*_i* @atom:*_b23_a*_d*_i*
+ @bond:22-25 @atom:*_b22_a*_d*_i* @atom:*_b25_a*_d*_i*
+ @bond:23-25 @atom:*_b23_a*_d*_i* @atom:*_b25_a*_d*_i*
+ @bond:23-79 @atom:*_b23_a*_d*_i* @atom:*_b79_a*_d*_i*
+ @bond:24-25 @atom:*_b24_a*_d*_i* @atom:*_b25_a*_d*_i*
+ @bond:24-45 @atom:*_b24_a*_d*_i* @atom:*_b45_a*_d*_i*
+ @bond:24-48 @atom:*_b24_a*_d*_i* @atom:*_b48_a*_d*_i*
+ @bond:24-59 @atom:*_b24_a*_d*_i* @atom:*_b59_a*_d*_i*
+ @bond:24-79 @atom:*_b24_a*_d*_i* @atom:*_b79_a*_d*_i*
+ @bond:24-84 @atom:*_b24_a*_d*_i* @atom:*_b84_a*_d*_i*
+ @bond:24-88 @atom:*_b24_a*_d*_i* @atom:*_b88_a*_d*_i*
+ @bond:24-91 @atom:*_b24_a*_d*_i* @atom:*_b91_a*_d*_i*
+ @bond:24-103 @atom:*_b24_a*_d*_i* @atom:*_b103_a*_d*_i*
+ @bond:24-106 @atom:*_b24_a*_d*_i* @atom:*_b106_a*_d*_i*
+ @bond:25-25 @atom:*_b25_a*_d*_i* @atom:*_b25_a*_d*_i*
+ @bond:25-44 @atom:*_b25_a*_d*_i* @atom:*_b44_a*_d*_i*
+ @bond:25-45 @atom:*_b25_a*_d*_i* @atom:*_b45_a*_d*_i*
+ @bond:25-46 @atom:*_b25_a*_d*_i* @atom:*_b46_a*_d*_i*
+ @bond:25-47 @atom:*_b25_a*_d*_i* @atom:*_b47_a*_d*_i*
+ @bond:25-48 @atom:*_b25_a*_d*_i* @atom:*_b48_a*_d*_i*
+ @bond:25-49 @atom:*_b25_a*_d*_i* @atom:*_b49_a*_d*_i*
+ @bond:25-53 @atom:*_b25_a*_d*_i* @atom:*_b53_a*_d*_i*
+ @bond:25-56 @atom:*_b25_a*_d*_i* @atom:*_b56_a*_d*_i*
+ @bond:25-61 @atom:*_b25_a*_d*_i* @atom:*_b61_a*_d*_i*
+ @bond:25-65 @atom:*_b25_a*_d*_i* @atom:*_b65_a*_d*_i*
+ @bond:25-103 @atom:*_b25_a*_d*_i* @atom:*_b103_a*_d*_i*
+ @bond:31-32 @atom:*_b31_a*_d*_i* @atom:*_b32_a*_d*_i*
+ @bond:31-33 @atom:*_b31_a*_d*_i* @atom:*_b33_a*_d*_i*
+ @bond:31-106 @atom:*_b31_a*_d*_i* @atom:*_b106_a*_d*_i*
+ @bond:34-35 @atom:*_b34_a*_d*_i* @atom:*_b35_a*_d*_i*
+ @bond:36-37 @atom:*_b36_a*_d*_i* @atom:*_b37_a*_d*_i*
+ @bond:36-38 @atom:*_b36_a*_d*_i* @atom:*_b38_a*_d*_i*
+ @bond:39-40 @atom:*_b39_a*_d*_i* @atom:*_b40_a*_d*_i*
+ @bond:39-41 @atom:*_b39_a*_d*_i* @atom:*_b41_a*_d*_i*
+ @bond:42-43 @atom:*_b42_a*_d*_i* @atom:*_b43_a*_d*_i*
+ @bond:44-44 @atom:*_b44_a*_d*_i* @atom:*_b44_a*_d*_i*
+ @bond:44-45 @atom:*_b44_a*_d*_i* @atom:*_b45_a*_d*_i*
+ @bond:44-48 @atom:*_b44_a*_d*_i* @atom:*_b48_a*_d*_i*
+ @bond:44-79 @atom:*_b44_a*_d*_i* @atom:*_b79_a*_d*_i*
+ @bond:44-91 @atom:*_b44_a*_d*_i* @atom:*_b91_a*_d*_i*
+ @bond:44-108 @atom:*_b44_a*_d*_i* @atom:*_b108_a*_d*_i*
+ @bond:45-53 @atom:*_b45_a*_d*_i* @atom:*_b53_a*_d*_i*
+ @bond:45-55 @atom:*_b45_a*_d*_i* @atom:*_b55_a*_d*_i*
+ @bond:45-56 @atom:*_b45_a*_d*_i* @atom:*_b56_a*_d*_i*
+ @bond:45-57 @atom:*_b45_a*_d*_i* @atom:*_b57_a*_d*_i*
+ @bond:45-101 @atom:*_b45_a*_d*_i* @atom:*_b101_a*_d*_i*
+ @bond:45-105 @atom:*_b45_a*_d*_i* @atom:*_b105_a*_d*_i*
+ @bond:45-108 @atom:*_b45_a*_d*_i* @atom:*_b108_a*_d*_i*
+ @bond:46-47 @atom:*_b46_a*_d*_i* @atom:*_b47_a*_d*_i*
+ @bond:46-50 @atom:*_b46_a*_d*_i* @atom:*_b50_a*_d*_i*
+ @bond:46-51 @atom:*_b46_a*_d*_i* @atom:*_b51_a*_d*_i*
+ @bond:46-80 @atom:*_b46_a*_d*_i* @atom:*_b80_a*_d*_i*
+ @bond:46-91 @atom:*_b46_a*_d*_i* @atom:*_b91_a*_d*_i*
+ @bond:46-95 @atom:*_b46_a*_d*_i* @atom:*_b95_a*_d*_i*
+ @bond:46-108 @atom:*_b46_a*_d*_i* @atom:*_b108_a*_d*_i*
+ @bond:46-109 @atom:*_b46_a*_d*_i* @atom:*_b109_a*_d*_i*
+ @bond:47-47 @atom:*_b47_a*_d*_i* @atom:*_b47_a*_d*_i*
+ @bond:47-48 @atom:*_b47_a*_d*_i* @atom:*_b48_a*_d*_i*
+ @bond:47-50 @atom:*_b47_a*_d*_i* @atom:*_b50_a*_d*_i*
+ @bond:47-57 @atom:*_b47_a*_d*_i* @atom:*_b57_a*_d*_i*
+ @bond:47-58 @atom:*_b47_a*_d*_i* @atom:*_b58_a*_d*_i*
+ @bond:47-65 @atom:*_b47_a*_d*_i* @atom:*_b65_a*_d*_i*
+ @bond:47-66 @atom:*_b47_a*_d*_i* @atom:*_b66_a*_d*_i*
+ @bond:47-86 @atom:*_b47_a*_d*_i* @atom:*_b86_a*_d*_i*
+ @bond:47-91 @atom:*_b47_a*_d*_i* @atom:*_b91_a*_d*_i*
+ @bond:47-105 @atom:*_b47_a*_d*_i* @atom:*_b105_a*_d*_i*
+ @bond:47-110 @atom:*_b47_a*_d*_i* @atom:*_b110_a*_d*_i*
+ @bond:48-48 @atom:*_b48_a*_d*_i* @atom:*_b48_a*_d*_i*
+ @bond:48-49 @atom:*_b48_a*_d*_i* @atom:*_b49_a*_d*_i*
+ @bond:48-50 @atom:*_b48_a*_d*_i* @atom:*_b50_a*_d*_i*
+ @bond:48-53 @atom:*_b48_a*_d*_i* @atom:*_b53_a*_d*_i*
+ @bond:48-55 @atom:*_b48_a*_d*_i* @atom:*_b55_a*_d*_i*
+ @bond:48-56 @atom:*_b48_a*_d*_i* @atom:*_b56_a*_d*_i*
+ @bond:48-57 @atom:*_b48_a*_d*_i* @atom:*_b57_a*_d*_i*
+ @bond:48-60 @atom:*_b48_a*_d*_i* @atom:*_b60_a*_d*_i*
+ @bond:48-61 @atom:*_b48_a*_d*_i* @atom:*_b61_a*_d*_i*
+ @bond:48-64 @atom:*_b48_a*_d*_i* @atom:*_b64_a*_d*_i*
+ @bond:48-65 @atom:*_b48_a*_d*_i* @atom:*_b65_a*_d*_i*
+ @bond:48-66 @atom:*_b48_a*_d*_i* @atom:*_b66_a*_d*_i*
+ @bond:48-79 @atom:*_b48_a*_d*_i* @atom:*_b79_a*_d*_i*
+ @bond:48-81 @atom:*_b48_a*_d*_i* @atom:*_b81_a*_d*_i*
+ @bond:48-84 @atom:*_b48_a*_d*_i* @atom:*_b84_a*_d*_i*
+ @bond:48-86 @atom:*_b48_a*_d*_i* @atom:*_b86_a*_d*_i*
+ @bond:48-88 @atom:*_b48_a*_d*_i* @atom:*_b88_a*_d*_i*
+ @bond:48-91 @atom:*_b48_a*_d*_i* @atom:*_b91_a*_d*_i*
+ @bond:48-101 @atom:*_b48_a*_d*_i* @atom:*_b101_a*_d*_i*
+ @bond:48-102 @atom:*_b48_a*_d*_i* @atom:*_b102_a*_d*_i*
+ @bond:48-109 @atom:*_b48_a*_d*_i* @atom:*_b109_a*_d*_i*
+ @bond:49-59 @atom:*_b49_a*_d*_i* @atom:*_b59_a*_d*_i*
+ @bond:49-62 @atom:*_b49_a*_d*_i* @atom:*_b62_a*_d*_i*
+ @bond:49-82 @atom:*_b49_a*_d*_i* @atom:*_b82_a*_d*_i*
+ @bond:49-83 @atom:*_b49_a*_d*_i* @atom:*_b83_a*_d*_i*
+ @bond:49-84 @atom:*_b49_a*_d*_i* @atom:*_b84_a*_d*_i*
+ @bond:49-85 @atom:*_b49_a*_d*_i* @atom:*_b85_a*_d*_i*
+ @bond:49-87 @atom:*_b49_a*_d*_i* @atom:*_b87_a*_d*_i*
+ @bond:49-88 @atom:*_b49_a*_d*_i* @atom:*_b88_a*_d*_i*
+ @bond:50-50 @atom:*_b50_a*_d*_i* @atom:*_b50_a*_d*_i*
+ @bond:50-56 @atom:*_b50_a*_d*_i* @atom:*_b56_a*_d*_i*
+ @bond:50-84 @atom:*_b50_a*_d*_i* @atom:*_b84_a*_d*_i*
+ @bond:50-109 @atom:*_b50_a*_d*_i* @atom:*_b109_a*_d*_i*
+ @bond:51-105 @atom:*_b51_a*_d*_i* @atom:*_b105_a*_d*_i*
+ @bond:52-64 @atom:*_b52_a*_d*_i* @atom:*_b64_a*_d*_i*
+ @bond:53-54 @atom:*_b53_a*_d*_i* @atom:*_b54_a*_d*_i*
+ @bond:54-55 @atom:*_b54_a*_d*_i* @atom:*_b55_a*_d*_i*
+ @bond:55-59 @atom:*_b55_a*_d*_i* @atom:*_b59_a*_d*_i*
+ @bond:55-82 @atom:*_b55_a*_d*_i* @atom:*_b82_a*_d*_i*
+ @bond:56-56 @atom:*_b56_a*_d*_i* @atom:*_b56_a*_d*_i*
+ @bond:56-59 @atom:*_b56_a*_d*_i* @atom:*_b59_a*_d*_i*
+ @bond:56-60 @atom:*_b56_a*_d*_i* @atom:*_b60_a*_d*_i*
+ @bond:56-82 @atom:*_b56_a*_d*_i* @atom:*_b82_a*_d*_i*
+ @bond:56-86 @atom:*_b56_a*_d*_i* @atom:*_b86_a*_d*_i*
+ @bond:56-103 @atom:*_b56_a*_d*_i* @atom:*_b103_a*_d*_i*
+ @bond:56-109 @atom:*_b56_a*_d*_i* @atom:*_b109_a*_d*_i*
+ @bond:57-60 @atom:*_b57_a*_d*_i* @atom:*_b60_a*_d*_i*
+ @bond:57-61 @atom:*_b57_a*_d*_i* @atom:*_b61_a*_d*_i*
+ @bond:57-62 @atom:*_b57_a*_d*_i* @atom:*_b62_a*_d*_i*
+ @bond:57-81 @atom:*_b57_a*_d*_i* @atom:*_b81_a*_d*_i*
+ @bond:57-82 @atom:*_b57_a*_d*_i* @atom:*_b82_a*_d*_i*
+ @bond:57-84 @atom:*_b57_a*_d*_i* @atom:*_b84_a*_d*_i*
+ @bond:57-85 @atom:*_b57_a*_d*_i* @atom:*_b85_a*_d*_i*
+ @bond:57-86 @atom:*_b57_a*_d*_i* @atom:*_b86_a*_d*_i*
+ @bond:58-83 @atom:*_b58_a*_d*_i* @atom:*_b83_a*_d*_i*
+ @bond:58-84 @atom:*_b58_a*_d*_i* @atom:*_b84_a*_d*_i*
+ @bond:59-63 @atom:*_b59_a*_d*_i* @atom:*_b63_a*_d*_i*
+ @bond:60-60 @atom:*_b60_a*_d*_i* @atom:*_b60_a*_d*_i*
+ @bond:60-61 @atom:*_b60_a*_d*_i* @atom:*_b61_a*_d*_i*
+ @bond:60-80 @atom:*_b60_a*_d*_i* @atom:*_b80_a*_d*_i*
+ @bond:60-81 @atom:*_b60_a*_d*_i* @atom:*_b81_a*_d*_i*
+ @bond:60-87 @atom:*_b60_a*_d*_i* @atom:*_b87_a*_d*_i*
+ @bond:60-105 @atom:*_b60_a*_d*_i* @atom:*_b105_a*_d*_i*
+ @bond:61-61 @atom:*_b61_a*_d*_i* @atom:*_b61_a*_d*_i*
+ @bond:61-62 @atom:*_b61_a*_d*_i* @atom:*_b62_a*_d*_i*
+ @bond:61-82 @atom:*_b61_a*_d*_i* @atom:*_b82_a*_d*_i*
+ @bond:61-83 @atom:*_b61_a*_d*_i* @atom:*_b83_a*_d*_i*
+ @bond:61-84 @atom:*_b61_a*_d*_i* @atom:*_b84_a*_d*_i*
+ @bond:61-88 @atom:*_b61_a*_d*_i* @atom:*_b88_a*_d*_i*
+ @bond:62-63 @atom:*_b62_a*_d*_i* @atom:*_b63_a*_d*_i*
+ @bond:62-105 @atom:*_b62_a*_d*_i* @atom:*_b105_a*_d*_i*
+ @bond:63-82 @atom:*_b63_a*_d*_i* @atom:*_b82_a*_d*_i*
+ @bond:64-108 @atom:*_b64_a*_d*_i* @atom:*_b108_a*_d*_i*
+ @bond:65-82 @atom:*_b65_a*_d*_i* @atom:*_b82_a*_d*_i*
+ @bond:65-83 @atom:*_b65_a*_d*_i* @atom:*_b83_a*_d*_i*
+ @bond:65-84 @atom:*_b65_a*_d*_i* @atom:*_b84_a*_d*_i*
+ @bond:65-87 @atom:*_b65_a*_d*_i* @atom:*_b87_a*_d*_i*
+ @bond:65-88 @atom:*_b65_a*_d*_i* @atom:*_b88_a*_d*_i*
+ @bond:65-108 @atom:*_b65_a*_d*_i* @atom:*_b108_a*_d*_i*
+ @bond:66-82 @atom:*_b66_a*_d*_i* @atom:*_b82_a*_d*_i*
+ @bond:66-83 @atom:*_b66_a*_d*_i* @atom:*_b83_a*_d*_i*
+ @bond:66-84 @atom:*_b66_a*_d*_i* @atom:*_b84_a*_d*_i*
+ @bond:66-87 @atom:*_b66_a*_d*_i* @atom:*_b87_a*_d*_i*
+ @bond:66-88 @atom:*_b66_a*_d*_i* @atom:*_b88_a*_d*_i*
+ @bond:66-108 @atom:*_b66_a*_d*_i* @atom:*_b108_a*_d*_i*
+ @bond:77-78 @atom:*_b77_a*_d*_i* @atom:*_b78_a*_d*_i*
+ @bond:80-84 @atom:*_b80_a*_d*_i* @atom:*_b84_a*_d*_i*
+ @bond:82-86 @atom:*_b82_a*_d*_i* @atom:*_b86_a*_d*_i*
+ @bond:82-87 @atom:*_b82_a*_d*_i* @atom:*_b87_a*_d*_i*
+ @bond:83-84 @atom:*_b83_a*_d*_i* @atom:*_b84_a*_d*_i*
+ @bond:83-86 @atom:*_b83_a*_d*_i* @atom:*_b86_a*_d*_i*
+ @bond:84-84 @atom:*_b84_a*_d*_i* @atom:*_b84_a*_d*_i*
+ @bond:84-86 @atom:*_b84_a*_d*_i* @atom:*_b86_a*_d*_i*
+ @bond:84-87 @atom:*_b84_a*_d*_i* @atom:*_b87_a*_d*_i*
+ @bond:84-88 @atom:*_b84_a*_d*_i* @atom:*_b88_a*_d*_i*
+ @bond:85-85 @atom:*_b85_a*_d*_i* @atom:*_b85_a*_d*_i*
+ @bond:86-86 @atom:*_b86_a*_d*_i* @atom:*_b86_a*_d*_i*
+ @bond:86-87 @atom:*_b86_a*_d*_i* @atom:*_b87_a*_d*_i*
+ @bond:86-88 @atom:*_b86_a*_d*_i* @atom:*_b88_a*_d*_i*
+ @bond:87-87 @atom:*_b87_a*_d*_i* @atom:*_b87_a*_d*_i*
+ @bond:87-88 @atom:*_b87_a*_d*_i* @atom:*_b88_a*_d*_i*
+ @bond:89-90 @atom:*_b89_a*_d*_i* @atom:*_b90_a*_d*_i*
+ @bond:89-91 @atom:*_b89_a*_d*_i* @atom:*_b91_a*_d*_i*
+ @bond:90-91 @atom:*_b90_a*_d*_i* @atom:*_b91_a*_d*_i*
+ @bond:91-91 @atom:*_b91_a*_d*_i* @atom:*_b91_a*_d*_i*
+ @bond:102-103 @atom:*_b102_a*_d*_i* @atom:*_b103_a*_d*_i*
+ @bond:108-108 @atom:*_b108_a*_d*_i* @atom:*_b108_a*_d*_i*
+ @bond:109-109 @atom:*_b109_a*_d*_i* @atom:*_b109_a*_d*_i*
+ } #(end of bonds by type)
+
+
+
+
+ # ------- Angle Interactions: -------
+ # http://lammps.sandia.gov/doc/angle_harmonic.html
+ # Syntax:
+ # angle_coeff AngleTypeName AngleStyle parameters...
+
+ write_once("In Settings") {
+ angle_coeff @angle:25-1-25 harmonic 33.0 109.47
+ angle_coeff @angle:1-2-2 harmonic 50.0 109.5
+ angle_coeff @angle:2-2-2 harmonic 63.0 112.4
+ angle_coeff @angle:2-2-3 harmonic 63.0 112.4
+ angle_coeff @angle:2-2-5 harmonic 80.0 109.5
+ angle_coeff @angle:2-2-6 harmonic 63.0 112.4
+ angle_coeff @angle:6-2-6 harmonic 63.0 112.4
+ angle_coeff @angle:5-2-6 harmonic 80.0 109.5
+ angle_coeff @angle:2-2-10 harmonic 63.0 112.4
+ angle_coeff @angle:3-2-10 harmonic 63.0 112.4
+ angle_coeff @angle:6-2-10 harmonic 63.0 112.4
+ angle_coeff @angle:10-2-10 harmonic 63.0 112.4
+ angle_coeff @angle:5-2-10 harmonic 80.0 109.5
+ angle_coeff @angle:10-2-12 harmonic 63.0 114.0
+ angle_coeff @angle:6-2-13 harmonic 63.0 112.4
+ angle_coeff @angle:10-2-15 harmonic 50.0 108.6
+ angle_coeff @angle:2-2-16 harmonic 50.0 114.7
+ angle_coeff @angle:10-2-16 harmonic 50.0 114.7
+ angle_coeff @angle:2-2-20 harmonic 80.0 109.5
+ angle_coeff @angle:6-2-20 harmonic 80.0 109.5
+ angle_coeff @angle:10-2-20 harmonic 80.0 109.5
+ angle_coeff @angle:3-2-24 harmonic 80.0 110.3
+ angle_coeff @angle:2-2-24 harmonic 80.0 111.2
+ angle_coeff @angle:2-2-44 harmonic 56.2 109.47
+ angle_coeff @angle:6-2-44 harmonic 56.2 109.47
+ angle_coeff @angle:10-2-44 harmonic 56.2 109.47
+ angle_coeff @angle:13-2-44 harmonic 56.2 109.47
+ angle_coeff @angle:3-2-44 harmonic 80.0 111.2
+ angle_coeff @angle:2-2-48 harmonic 63.0 112.4
+ angle_coeff @angle:10-2-48 harmonic 63.0 114.0
+ angle_coeff @angle:2-2-51 harmonic 63.0 112.4
+ angle_coeff @angle:6-2-51 harmonic 63.0 112.4
+ angle_coeff @angle:2-2-53 harmonic 80.0 111.2
+ angle_coeff @angle:2-2-55 harmonic 80.0 111.2
+ angle_coeff @angle:10-2-80 harmonic 63.0 115.6
+ angle_coeff @angle:2-3-4 harmonic 80.0 120.4
+ angle_coeff @angle:1-3-4 harmonic 80.0 121.0
+ angle_coeff @angle:3-3-4 harmonic 80.0 121.4
+ angle_coeff @angle:4-3-4 harmonic 80.0 126.0
+ angle_coeff @angle:4-3-5 harmonic 80.0 121.0
+ angle_coeff @angle:4-3-6 harmonic 80.0 120.4
+ angle_coeff @angle:5-3-10 harmonic 70.0 115.0
+ angle_coeff @angle:4-3-10 harmonic 80.0 120.4
+ angle_coeff @angle:5-3-12 harmonic 70.0 120.0
+ angle_coeff @angle:12-3-12 harmonic 85.0 120.0
+ angle_coeff @angle:5-3-13 harmonic 70.0 108.0
+ angle_coeff @angle:13-3-13 harmonic 70.0 116.0
+ angle_coeff @angle:1-3-13 harmonic 80.0 111.0
+ angle_coeff @angle:3-3-13 harmonic 80.0 117.2
+ angle_coeff @angle:4-3-13 harmonic 80.0 120.4
+ angle_coeff @angle:10-3-20 harmonic 81.0 111.4
+ angle_coeff @angle:13-3-20 harmonic 81.0 111.4
+ angle_coeff @angle:4-3-20 harmonic 83.0 123.4
+ angle_coeff @angle:13-3-21 harmonic 75.0 109.0
+ angle_coeff @angle:4-3-21 harmonic 75.0 119.0
+ angle_coeff @angle:24-3-24 harmonic 70.0 114.2
+ angle_coeff @angle:2-3-24 harmonic 70.0 116.6
+ angle_coeff @angle:3-3-24 harmonic 70.0 116.6
+ angle_coeff @angle:6-3-24 harmonic 70.0 116.6
+ angle_coeff @angle:10-3-24 harmonic 70.0 116.6
+ angle_coeff @angle:13-3-24 harmonic 70.0 116.6
+ angle_coeff @angle:4-3-24 harmonic 80.0 122.9
+ angle_coeff @angle:20-3-24 harmonic 81.0 111.4
+ angle_coeff @angle:13-3-44 harmonic 70.0 116.0
+ angle_coeff @angle:4-3-44 harmonic 80.0 120.4
+ angle_coeff @angle:13-3-46 harmonic 35.0 115.0
+ angle_coeff @angle:46-3-46 harmonic 35.0 115.0
+ angle_coeff @angle:4-3-46 harmonic 35.0 123.0
+ angle_coeff @angle:24-3-46 harmonic 40.0 114.0
+ angle_coeff @angle:5-3-46 harmonic 40.0 115.0
+ angle_coeff @angle:20-3-46 harmonic 40.0 115.0
+ angle_coeff @angle:24-3-47 harmonic 70.0 115.5
+ angle_coeff @angle:4-3-47 harmonic 80.0 125.3
+ angle_coeff @angle:46-3-48 harmonic 35.0 115.0
+ angle_coeff @angle:24-3-48 harmonic 70.0 115.5
+ angle_coeff @angle:13-3-48 harmonic 70.0 116.0
+ angle_coeff @angle:5-3-48 harmonic 70.0 120.0
+ angle_coeff @angle:4-3-48 harmonic 80.0 120.4
+ angle_coeff @angle:20-3-48 harmonic 81.0 111.4
+ angle_coeff @angle:48-3-48 harmonic 85.0 120.0
+ angle_coeff @angle:13-3-50 harmonic 70.0 116.0
+ angle_coeff @angle:46-3-50 harmonic 80.0 116.0
+ angle_coeff @angle:4-3-50 harmonic 80.0 124.0
+ angle_coeff @angle:10-3-52 harmonic 65.0 117.0
+ angle_coeff @angle:2-3-52 harmonic 70.0 117.0
+ angle_coeff @angle:6-3-52 harmonic 70.0 117.0
+ angle_coeff @angle:13-3-52 harmonic 70.0 117.0
+ angle_coeff @angle:48-3-52 harmonic 70.0 117.0
+ angle_coeff @angle:4-3-52 harmonic 80.0 126.0
+ angle_coeff @angle:52-3-52 harmonic 80.0 126.0
+ angle_coeff @angle:46-3-56 harmonic 35.0 122.0
+ angle_coeff @angle:4-3-56 harmonic 80.0 122.5
+ angle_coeff @angle:47-3-57 harmonic 70.0 114.1
+ angle_coeff @angle:56-3-57 harmonic 70.0 118.6
+ angle_coeff @angle:57-3-57 harmonic 70.0 118.6
+ angle_coeff @angle:4-3-57 harmonic 80.0 120.6
+ angle_coeff @angle:24-3-60 harmonic 70.0 111.3
+ angle_coeff @angle:57-3-60 harmonic 70.0 111.3
+ angle_coeff @angle:4-3-60 harmonic 80.0 128.8
+ angle_coeff @angle:13-3-65 harmonic 75.0 109.0
+ angle_coeff @angle:4-3-65 harmonic 75.0 119.0
+ angle_coeff @angle:44-3-84 harmonic 70.0 116.0
+ angle_coeff @angle:4-3-84 harmonic 80.0 120.4
+ angle_coeff @angle:4-3-87 harmonic 80.0 128.2
+ angle_coeff @angle:57-3-105 harmonic 70.0 115.4
+ angle_coeff @angle:56-3-105 harmonic 70.0 118.6
+ angle_coeff @angle:4-3-105 harmonic 80.0 120.9
+ angle_coeff @angle:13-3-107 harmonic 70.0 116.6
+ angle_coeff @angle:4-3-107 harmonic 80.0 122.9
+ angle_coeff @angle:25-4-25 harmonic 10.0 117.0
+ angle_coeff @angle:3-4-25 harmonic 35.0 113.0
+ angle_coeff @angle:3-5-7 harmonic 35.0 113.0
+ angle_coeff @angle:2-5-7 harmonic 55.0 108.5
+ angle_coeff @angle:6-5-7 harmonic 55.0 108.5
+ angle_coeff @angle:7-5-10 harmonic 55.0 108.5
+ angle_coeff @angle:7-5-13 harmonic 55.0 108.5
+ angle_coeff @angle:7-5-24 harmonic 49.0 105.4
+ angle_coeff @angle:25-5-25 harmonic 5.0 109.47
+ angle_coeff @angle:7-5-25 harmonic 10.0 109.47
+ angle_coeff @angle:13-5-25 harmonic 10.0 109.47
+ angle_coeff @angle:7-5-47 harmonic 35.0 109.0
+ angle_coeff @angle:25-5-48 harmonic 10.0 109.47
+ angle_coeff @angle:7-5-48 harmonic 35.0 113.0
+ angle_coeff @angle:7-5-51 harmonic 55.0 108.5
+ angle_coeff @angle:7-5-64 harmonic 55.0 108.5
+ angle_coeff @angle:13-5-64 harmonic 100.0 120.5
+ angle_coeff @angle:7-5-79 harmonic 74.0 110.0
+ angle_coeff @angle:7-5-106 harmonic 100.0 126.0
+ angle_coeff @angle:5-7-25 harmonic 10.0 109.47
+ angle_coeff @angle:25-7-25 harmonic 33.0 109.47
+ angle_coeff @angle:2-10-2 harmonic 63.0 112.4
+ angle_coeff @angle:2-10-3 harmonic 63.0 111.1
+ angle_coeff @angle:2-10-5 harmonic 80.0 109.5
+ angle_coeff @angle:3-10-6 harmonic 63.0 111.1
+ angle_coeff @angle:6-10-6 harmonic 63.0 111.5
+ angle_coeff @angle:2-10-6 harmonic 63.0 112.4
+ angle_coeff @angle:5-10-6 harmonic 80.0 109.5
+ angle_coeff @angle:3-10-10 harmonic 63.0 111.1
+ angle_coeff @angle:2-10-10 harmonic 63.0 111.5
+ angle_coeff @angle:6-10-10 harmonic 63.0 111.5
+ angle_coeff @angle:10-10-10 harmonic 63.0 111.5
+ angle_coeff @angle:5-10-10 harmonic 80.0 109.5
+ angle_coeff @angle:2-10-20 harmonic 80.0 109.5
+ angle_coeff @angle:6-10-20 harmonic 80.0 109.5
+ angle_coeff @angle:10-10-20 harmonic 80.0 109.5
+ angle_coeff @angle:3-10-24 harmonic 63.0 110.1
+ angle_coeff @angle:6-10-24 harmonic 80.0 109.5
+ angle_coeff @angle:2-10-24 harmonic 80.0 109.7
+ angle_coeff @angle:10-10-24 harmonic 80.0 109.7
+ angle_coeff @angle:2-10-44 harmonic 56.2 109.47
+ angle_coeff @angle:6-10-44 harmonic 56.2 109.47
+ angle_coeff @angle:10-10-44 harmonic 56.2 109.47
+ angle_coeff @angle:13-10-44 harmonic 56.2 109.47
+ angle_coeff @angle:3-10-44 harmonic 80.0 109.7
+ angle_coeff @angle:2-10-48 harmonic 63.0 112.4
+ angle_coeff @angle:20-10-48 harmonic 80.0 109.5
+ angle_coeff @angle:2-10-105 harmonic 80.0 109.5
+ angle_coeff @angle:10-10-105 harmonic 80.0 109.5
+ angle_coeff @angle:20-10-105 harmonic 80.0 109.5
+ angle_coeff @angle:2-11-2 harmonic 70.0 124.0
+ angle_coeff @angle:2-11-6 harmonic 70.0 124.0
+ angle_coeff @angle:6-11-6 harmonic 70.0 124.0
+ angle_coeff @angle:2-11-9 harmonic 70.0 118.0
+ angle_coeff @angle:6-11-9 harmonic 70.0 118.0
+ angle_coeff @angle:9-11-10 harmonic 70.0 118.0
+ angle_coeff @angle:2-11-10 harmonic 70.0 124.0
+ angle_coeff @angle:6-11-10 harmonic 70.0 124.0
+ angle_coeff @angle:10-11-10 harmonic 70.0 124.0
+ angle_coeff @angle:2-11-11 harmonic 70.0 118.0
+ angle_coeff @angle:6-11-11 harmonic 70.0 118.0
+ angle_coeff @angle:9-11-11 harmonic 70.0 118.0
+ angle_coeff @angle:10-11-11 harmonic 70.0 118.0
+ angle_coeff @angle:11-11-11 harmonic 70.0 118.0
+ angle_coeff @angle:9-11-13 harmonic 70.0 118.0
+ angle_coeff @angle:11-11-13 harmonic 70.0 118.0
+ angle_coeff @angle:2-11-13 harmonic 70.0 124.0
+ angle_coeff @angle:6-11-13 harmonic 70.0 124.0
+ angle_coeff @angle:10-11-13 harmonic 70.0 124.0
+ angle_coeff @angle:13-11-13 harmonic 70.0 124.0
+ angle_coeff @angle:9-11-14 harmonic 70.0 118.0
+ angle_coeff @angle:11-11-14 harmonic 70.0 118.0
+ angle_coeff @angle:9-11-79 harmonic 70.0 118.0
+ angle_coeff @angle:2-12-12 harmonic 70.0 120.0
+ angle_coeff @angle:3-12-12 harmonic 85.0 120.0
+ angle_coeff @angle:12-12-12 harmonic 85.0 120.0
+ angle_coeff @angle:12-12-48 harmonic 85.0 120.0
+ angle_coeff @angle:12-12-60 harmonic 85.0 120.0
+ angle_coeff @angle:12-12-81 harmonic 85.0 120.0
+ angle_coeff @angle:1-13-1 harmonic 77.0 109.1
+ angle_coeff @angle:2-13-2 harmonic 40.0 109.5
+ angle_coeff @angle:1-13-3 harmonic 50.0 109.5
+ angle_coeff @angle:2-13-3 harmonic 63.0 111.1
+ angle_coeff @angle:3-13-3 harmonic 63.0 111.1
+ angle_coeff @angle:2-13-6 harmonic 40.0 109.5
+ angle_coeff @angle:6-13-6 harmonic 40.0 109.5
+ angle_coeff @angle:3-13-6 harmonic 63.0 109.5
+ angle_coeff @angle:1-13-13 harmonic 50.0 109.5
+ angle_coeff @angle:5-13-13 harmonic 50.0 109.5
+ angle_coeff @angle:13-13-13 harmonic 58.35 112.7
+ angle_coeff @angle:3-13-13 harmonic 63.0 111.1
+ angle_coeff @angle:13-13-15 harmonic 50.0 108.6
+ angle_coeff @angle:13-13-16 harmonic 50.0 114.7
+ angle_coeff @angle:13-13-19 harmonic 58.35 112.7
+ angle_coeff @angle:3-13-20 harmonic 50.0 109.5
+ angle_coeff @angle:13-13-20 harmonic 50.0 109.5
+ angle_coeff @angle:3-13-21 harmonic 69.0 109.8
+ angle_coeff @angle:13-13-21 harmonic 69.0 109.8
+ angle_coeff @angle:21-13-21 harmonic 78.0 111.7
+ angle_coeff @angle:13-13-22 harmonic 50.0 108.6
+ angle_coeff @angle:20-13-24 harmonic 50.0 109.5
+ angle_coeff @angle:3-13-24 harmonic 63.0 110.1
+ angle_coeff @angle:2-13-24 harmonic 80.0 109.7
+ angle_coeff @angle:13-13-24 harmonic 80.0 109.7
+ angle_coeff @angle:16-13-44 harmonic 50.0 114.7
+ angle_coeff @angle:2-13-44 harmonic 56.2 109.47
+ angle_coeff @angle:6-13-44 harmonic 56.2 109.47
+ angle_coeff @angle:10-13-44 harmonic 56.2 109.47
+ angle_coeff @angle:13-13-44 harmonic 56.2 109.47
+ angle_coeff @angle:3-13-44 harmonic 80.0 111.2
+ angle_coeff @angle:46-13-46 harmonic 33.0 107.8
+ angle_coeff @angle:18-13-46 harmonic 35.0 108.5
+ angle_coeff @angle:19-13-46 harmonic 35.0 108.5
+ angle_coeff @angle:2-13-46 harmonic 35.0 109.5
+ angle_coeff @angle:3-13-46 harmonic 35.0 109.5
+ angle_coeff @angle:5-13-46 harmonic 35.0 109.5
+ angle_coeff @angle:15-13-46 harmonic 35.0 109.5
+ angle_coeff @angle:16-13-46 harmonic 35.0 109.5
+ angle_coeff @angle:20-13-46 harmonic 35.0 109.5
+ angle_coeff @angle:22-13-46 harmonic 35.0 109.5
+ angle_coeff @angle:24-13-46 harmonic 35.0 109.5
+ angle_coeff @angle:44-13-46 harmonic 35.0 109.5
+ angle_coeff @angle:13-13-46 harmonic 37.5 110.7
+ angle_coeff @angle:1-13-46 harmonic 40.0 107.0
+ angle_coeff @angle:21-13-46 harmonic 51.0 107.6
+ angle_coeff @angle:46-13-47 harmonic 35.0 109.5
+ angle_coeff @angle:1-13-47 harmonic 50.0 109.5
+ angle_coeff @angle:13-13-47 harmonic 63.0 111.1
+ angle_coeff @angle:47-13-47 harmonic 63.0 112.4
+ angle_coeff @angle:46-13-48 harmonic 35.0 109.5
+ angle_coeff @angle:47-13-48 harmonic 40.0 109.5
+ angle_coeff @angle:48-13-48 harmonic 40.0 109.5
+ angle_coeff @angle:1-13-48 harmonic 50.0 109.5
+ angle_coeff @angle:5-13-48 harmonic 50.0 109.5
+ angle_coeff @angle:20-13-48 harmonic 50.0 109.5
+ angle_coeff @angle:16-13-48 harmonic 50.0 114.7
+ angle_coeff @angle:3-13-48 harmonic 63.0 112.0
+ angle_coeff @angle:2-13-48 harmonic 63.0 114.0
+ angle_coeff @angle:13-13-48 harmonic 63.0 114.0
+ angle_coeff @angle:44-13-48 harmonic 80.0 111.2
+ angle_coeff @angle:46-13-50 harmonic 35.0 109.5
+ angle_coeff @angle:46-13-51 harmonic 37.5 110.7
+ angle_coeff @angle:5-13-51 harmonic 50.0 109.5
+ angle_coeff @angle:13-13-51 harmonic 58.35 112.7
+ angle_coeff @angle:46-13-53 harmonic 35.0 109.5
+ angle_coeff @angle:3-13-53 harmonic 80.0 111.2
+ angle_coeff @angle:13-13-53 harmonic 80.0 111.2
+ angle_coeff @angle:46-13-55 harmonic 35.0 109.5
+ angle_coeff @angle:13-13-55 harmonic 80.0 111.2
+ angle_coeff @angle:46-13-56 harmonic 35.0 109.5
+ angle_coeff @angle:3-13-56 harmonic 63.0 110.1
+ angle_coeff @angle:13-13-56 harmonic 65.0 109.0
+ angle_coeff @angle:46-13-57 harmonic 35.0 109.5
+ angle_coeff @angle:48-13-57 harmonic 80.0 111.2
+ angle_coeff @angle:46-13-60 harmonic 35.0 109.5
+ angle_coeff @angle:13-13-60 harmonic 63.0 114.0
+ angle_coeff @angle:46-13-64 harmonic 41.0 109.5
+ angle_coeff @angle:13-13-64 harmonic 43.0 109.5
+ angle_coeff @angle:48-13-64 harmonic 43.0 109.5
+ angle_coeff @angle:46-13-65 harmonic 51.0 107.6
+ angle_coeff @angle:3-13-65 harmonic 69.0 109.8
+ angle_coeff @angle:13-13-65 harmonic 69.0 110.0
+ angle_coeff @angle:48-13-65 harmonic 69.0 110.0
+ angle_coeff @angle:65-13-65 harmonic 78.0 111.7
+ angle_coeff @angle:46-13-66 harmonic 75.0 111.0
+ angle_coeff @angle:13-13-66 harmonic 75.0 112.0
+ angle_coeff @angle:46-13-79 harmonic 35.0 109.5
+ angle_coeff @angle:13-13-79 harmonic 50.0 108.6
+ angle_coeff @angle:1-13-79 harmonic 50.0 109.5
+ angle_coeff @angle:46-13-80 harmonic 35.0 109.5
+ angle_coeff @angle:13-13-80 harmonic 63.0 115.6
+ angle_coeff @angle:46-13-83 harmonic 35.0 109.5
+ angle_coeff @angle:13-13-83 harmonic 63.0 114.0
+ angle_coeff @angle:46-13-84 harmonic 35.0 109.5
+ angle_coeff @angle:16-13-84 harmonic 50.0 114.7
+ angle_coeff @angle:13-13-84 harmonic 63.0 114.0
+ angle_coeff @angle:46-13-85 harmonic 35.0 109.5
+ angle_coeff @angle:13-13-85 harmonic 63.0 114.0
+ angle_coeff @angle:46-13-87 harmonic 35.0 109.5
+ angle_coeff @angle:13-13-87 harmonic 63.0 115.6
+ angle_coeff @angle:46-13-90 harmonic 35.0 109.5
+ angle_coeff @angle:13-13-90 harmonic 80.0 110.0
+ angle_coeff @angle:3-13-90 harmonic 80.0 113.0
+ angle_coeff @angle:46-13-91 harmonic 37.5 110.7
+ angle_coeff @angle:46-13-95 harmonic 35.0 105.0
+ angle_coeff @angle:13-13-95 harmonic 63.0 105.0
+ angle_coeff @angle:46-13-101 harmonic 35.0 109.5
+ angle_coeff @angle:13-13-101 harmonic 80.0 111.2
+ angle_coeff @angle:46-13-102 harmonic 35.0 105.0
+ angle_coeff @angle:13-13-102 harmonic 63.0 111.1
+ angle_coeff @angle:46-13-104 harmonic 41.0 109.5
+ angle_coeff @angle:13-13-104 harmonic 43.0 109.5
+ angle_coeff @angle:46-13-105 harmonic 35.0 109.5
+ angle_coeff @angle:13-13-105 harmonic 50.0 109.5
+ angle_coeff @angle:20-13-105 harmonic 50.0 109.5
+ angle_coeff @angle:46-13-107 harmonic 35.0 109.5
+ angle_coeff @angle:13-13-107 harmonic 80.0 109.7
+ angle_coeff @angle:46-13-108 harmonic 35.0 109.5
+ angle_coeff @angle:13-13-108 harmonic 60.0 112.0
+ angle_coeff @angle:2-14-2 harmonic 70.0 124.0
+ angle_coeff @angle:2-14-6 harmonic 70.0 124.0
+ angle_coeff @angle:6-14-6 harmonic 70.0 124.0
+ angle_coeff @angle:2-14-9 harmonic 70.0 118.0
+ angle_coeff @angle:6-14-9 harmonic 70.0 118.0
+ angle_coeff @angle:9-14-10 harmonic 70.0 118.0
+ angle_coeff @angle:2-14-10 harmonic 70.0 124.0
+ angle_coeff @angle:6-14-10 harmonic 70.0 124.0
+ angle_coeff @angle:10-14-10 harmonic 70.0 124.0
+ angle_coeff @angle:2-14-11 harmonic 70.0 118.0
+ angle_coeff @angle:6-14-11 harmonic 70.0 118.0
+ angle_coeff @angle:9-14-11 harmonic 70.0 118.0
+ angle_coeff @angle:10-14-11 harmonic 70.0 118.0
+ angle_coeff @angle:11-14-11 harmonic 70.0 118.0
+ angle_coeff @angle:9-14-13 harmonic 70.0 118.0
+ angle_coeff @angle:11-14-13 harmonic 70.0 118.0
+ angle_coeff @angle:2-14-13 harmonic 70.0 124.0
+ angle_coeff @angle:6-14-13 harmonic 70.0 124.0
+ angle_coeff @angle:10-14-13 harmonic 70.0 124.0
+ angle_coeff @angle:13-14-13 harmonic 70.0 124.0
+ angle_coeff @angle:2-14-14 harmonic 70.0 118.0
+ angle_coeff @angle:6-14-14 harmonic 70.0 118.0
+ angle_coeff @angle:9-14-14 harmonic 70.0 118.0
+ angle_coeff @angle:10-14-14 harmonic 70.0 118.0
+ angle_coeff @angle:11-14-14 harmonic 70.0 118.0
+ angle_coeff @angle:13-14-14 harmonic 70.0 118.0
+ angle_coeff @angle:14-14-14 harmonic 70.0 118.0
+ angle_coeff @angle:17-15-17 harmonic 35.0 92.07
+ angle_coeff @angle:2-15-17 harmonic 44.0 96.0
+ angle_coeff @angle:6-15-17 harmonic 44.0 96.0
+ angle_coeff @angle:13-15-17 harmonic 44.0 96.0
+ angle_coeff @angle:25-15-25 harmonic 5.0 109.47
+ angle_coeff @angle:13-15-25 harmonic 10.0 109.47
+ angle_coeff @angle:33-15-33 harmonic 10.0 160.0
+ angle_coeff @angle:2-15-33 harmonic 150.0 96.7
+ angle_coeff @angle:6-15-33 harmonic 150.0 96.7
+ angle_coeff @angle:13-15-33 harmonic 150.0 96.7
+ angle_coeff @angle:17-15-33 harmonic 150.0 96.7
+ angle_coeff @angle:17-15-48 harmonic 50.0 96.0
+ angle_coeff @angle:2-16-6 harmonic 62.0 98.9
+ angle_coeff @angle:13-16-13 harmonic 62.0 98.9
+ angle_coeff @angle:2-16-16 harmonic 68.0 103.7
+ angle_coeff @angle:6-16-16 harmonic 68.0 103.7
+ angle_coeff @angle:13-16-16 harmonic 68.0 103.7
+ angle_coeff @angle:13-16-19 harmonic 65.0 100.0
+ angle_coeff @angle:25-16-25 harmonic 5.0 109.47
+ angle_coeff @angle:13-16-25 harmonic 10.0 109.47
+ angle_coeff @angle:33-16-33 harmonic 10.0 160.0
+ angle_coeff @angle:2-16-33 harmonic 150.0 96.7
+ angle_coeff @angle:6-16-33 harmonic 150.0 96.7
+ angle_coeff @angle:13-16-33 harmonic 150.0 96.7
+ angle_coeff @angle:16-16-33 harmonic 150.0 96.7
+ angle_coeff @angle:13-16-48 harmonic 62.0 104.2
+ angle_coeff @angle:47-16-48 harmonic 62.0 104.2
+ angle_coeff @angle:24-16-60 harmonic 74.0 92.4
+ angle_coeff @angle:25-16-61 harmonic 10.0 130.0
+ angle_coeff @angle:25-16-82 harmonic 10.0 130.0
+ angle_coeff @angle:60-16-82 harmonic 74.0 97.0
+ angle_coeff @angle:25-16-84 harmonic 10.0 130.0
+ angle_coeff @angle:82-16-84 harmonic 74.0 90.0
+ angle_coeff @angle:60-16-84 harmonic 74.0 97.0
+ angle_coeff @angle:84-16-84 harmonic 74.0 97.0
+ angle_coeff @angle:13-16-91 harmonic 62.0 94.0
+ angle_coeff @angle:15-17-25 harmonic 10.0 109.47
+ angle_coeff @angle:25-17-25 harmonic 33.0 109.47
+ angle_coeff @angle:13-18-19 harmonic 150.0 180.0
+ angle_coeff @angle:19-18-48 harmonic 170.0 180.0
+ angle_coeff @angle:18-18-56 harmonic 100.0 180.0
+ angle_coeff @angle:13-19-18 harmonic 150.0 180.0
+ angle_coeff @angle:16-19-19 harmonic 140.0 180.0
+ angle_coeff @angle:13-19-19 harmonic 150.0 180.0
+ angle_coeff @angle:18-19-25 harmonic 10.0 90.0
+ angle_coeff @angle:19-19-46 harmonic 112.0 180.0
+ angle_coeff @angle:18-19-47 harmonic 150.0 180.0
+ angle_coeff @angle:19-19-47 harmonic 160.0 180.0
+ angle_coeff @angle:18-19-48 harmonic 150.0 180.0
+ angle_coeff @angle:19-19-48 harmonic 160.0 180.0
+ angle_coeff @angle:19-19-50 harmonic 160.0 180.0
+ angle_coeff @angle:18-19-55 harmonic 150.0 180.0
+ angle_coeff @angle:18-19-88 harmonic 150.0 180.0
+ angle_coeff @angle:2-20-2 harmonic 100.0 111.8
+ angle_coeff @angle:2-20-3 harmonic 83.0 116.9
+ angle_coeff @angle:3-20-6 harmonic 83.0 116.9
+ angle_coeff @angle:2-20-6 harmonic 100.0 111.8
+ angle_coeff @angle:2-20-7 harmonic 55.0 108.5
+ angle_coeff @angle:7-20-10 harmonic 55.0 108.5
+ angle_coeff @angle:3-20-10 harmonic 83.0 116.9
+ angle_coeff @angle:10-20-10 harmonic 100.0 111.8
+ angle_coeff @angle:13-20-13 harmonic 60.0 109.5
+ angle_coeff @angle:3-20-13 harmonic 83.0 116.9
+ angle_coeff @angle:25-20-25 harmonic 5.0 109.47
+ angle_coeff @angle:13-20-25 harmonic 10.0 109.47
+ angle_coeff @angle:13-20-47 harmonic 75.0 111.0
+ angle_coeff @angle:25-20-48 harmonic 10.0 109.47
+ angle_coeff @angle:13-20-48 harmonic 75.0 111.0
+ angle_coeff @angle:47-20-48 harmonic 75.0 111.0
+ angle_coeff @angle:48-20-48 harmonic 75.0 111.0
+ angle_coeff @angle:3-20-48 harmonic 83.0 116.9
+ angle_coeff @angle:2-20-48 harmonic 100.0 111.8
+ angle_coeff @angle:13-20-51 harmonic 60.0 109.5
+ angle_coeff @angle:2-20-51 harmonic 100.0 113.0
+ angle_coeff @angle:6-20-51 harmonic 100.0 113.0
+ angle_coeff @angle:10-20-51 harmonic 100.0 113.0
+ angle_coeff @angle:24-20-60 harmonic 70.0 104.5
+ angle_coeff @angle:25-20-61 harmonic 10.0 125.0
+ angle_coeff @angle:2-20-64 harmonic 100.0 120.5
+ angle_coeff @angle:6-20-64 harmonic 100.0 120.5
+ angle_coeff @angle:10-20-64 harmonic 100.0 120.5
+ angle_coeff @angle:13-20-64 harmonic 100.0 120.5
+ angle_coeff @angle:48-20-64 harmonic 100.0 120.5
+ angle_coeff @angle:64-20-64 harmonic 100.0 120.5
+ angle_coeff @angle:25-20-82 harmonic 10.0 125.0
+ angle_coeff @angle:60-20-82 harmonic 70.0 106.5
+ angle_coeff @angle:82-20-82 harmonic 70.0 107.0
+ angle_coeff @angle:25-20-84 harmonic 10.0 125.0
+ angle_coeff @angle:82-20-84 harmonic 70.0 104.0
+ angle_coeff @angle:60-20-84 harmonic 70.0 106.5
+ angle_coeff @angle:84-20-84 harmonic 70.0 106.5
+ angle_coeff @angle:61-20-84 harmonic 70.0 108.9
+ angle_coeff @angle:108-20-108 harmonic 20.0 145.0
+ angle_coeff @angle:13-20-108 harmonic 40.0 130.0
+ angle_coeff @angle:25-21-25 harmonic 33.0 109.47
+ angle_coeff @angle:13-22-13 harmonic 62.0 96.0
+ angle_coeff @angle:13-22-23 harmonic 74.0 107.0
+ angle_coeff @angle:23-22-25 harmonic 10.0 90.0
+ angle_coeff @angle:2-24-3 harmonic 50.0 121.9
+ angle_coeff @angle:3-24-3 harmonic 70.0 126.4
+ angle_coeff @angle:3-24-5 harmonic 46.0 115.7
+ angle_coeff @angle:2-24-6 harmonic 50.0 121.9
+ angle_coeff @angle:3-24-6 harmonic 50.0 121.9
+ angle_coeff @angle:2-24-10 harmonic 50.0 118.0
+ angle_coeff @angle:3-24-10 harmonic 50.0 121.9
+ angle_coeff @angle:13-24-13 harmonic 50.0 118.0
+ angle_coeff @angle:3-24-13 harmonic 50.0 121.9
+ angle_coeff @angle:3-24-16 harmonic 70.0 112.0
+ angle_coeff @angle:3-24-20 harmonic 70.0 108.6
+ angle_coeff @angle:3-24-25 harmonic 10.0 109.5
+ angle_coeff @angle:25-24-45 harmonic 10.0 100.0
+ angle_coeff @angle:5-24-45 harmonic 35.0 110.2
+ angle_coeff @angle:3-24-45 harmonic 35.0 119.8
+ angle_coeff @angle:45-24-45 harmonic 35.0 120.0
+ angle_coeff @angle:2-24-45 harmonic 38.0 118.4
+ angle_coeff @angle:6-24-45 harmonic 38.0 118.4
+ angle_coeff @angle:10-24-45 harmonic 38.0 118.4
+ angle_coeff @angle:13-24-45 harmonic 38.0 118.4
+ angle_coeff @angle:45-24-48 harmonic 35.0 119.8
+ angle_coeff @angle:13-24-48 harmonic 50.0 118.0
+ angle_coeff @angle:3-24-48 harmonic 50.0 121.9
+ angle_coeff @angle:48-24-48 harmonic 70.0 118.0
+ angle_coeff @angle:54-24-54 harmonic 35.0 120.0
+ angle_coeff @angle:45-24-59 harmonic 35.0 118.0
+ angle_coeff @angle:3-24-59 harmonic 70.0 125.2
+ angle_coeff @angle:13-24-79 harmonic 50.0 120.0
+ angle_coeff @angle:45-24-79 harmonic 100.0 111.0
+ angle_coeff @angle:45-24-84 harmonic 35.0 119.8
+ angle_coeff @angle:48-24-84 harmonic 70.0 118.0
+ angle_coeff @angle:16-24-86 harmonic 70.0 117.0
+ angle_coeff @angle:45-24-87 harmonic 35.0 119.8
+ angle_coeff @angle:48-24-87 harmonic 70.0 118.0
+ angle_coeff @angle:45-24-88 harmonic 35.0 119.8
+ angle_coeff @angle:48-24-88 harmonic 70.0 118.0
+ angle_coeff @angle:45-24-91 harmonic 40.0 113.0
+ angle_coeff @angle:3-24-91 harmonic 55.0 128.0
+ angle_coeff @angle:48-24-103 harmonic 70.0 121.0
+ angle_coeff @angle:3-24-106 harmonic 20.0 126.0
+ angle_coeff @angle:25-25-25 harmonic 33.0 109.47
+ angle_coeff @angle:32-31-32 harmonic 75.0 104.52
+ angle_coeff @angle:32-31-33 harmonic 50.0 52.26
+ angle_coeff @angle:35-34-35 harmonic 34.05 104.52
+ angle_coeff @angle:37-36-37 harmonic 75.0 109.5
+ angle_coeff @angle:37-36-38 harmonic 50.0 54.75
+ angle_coeff @angle:40-39-40 harmonic 75.0 104.52
+ angle_coeff @angle:41-39-41 harmonic 50.0 109.47
+ angle_coeff @angle:40-39-41 harmonic 50.0 110.6948
+ angle_coeff @angle:43-42-43 harmonic 75.0 109.47
+ angle_coeff @angle:2-44-2 harmonic 51.8 107.2
+ angle_coeff @angle:2-44-6 harmonic 51.8 107.2
+ angle_coeff @angle:6-44-6 harmonic 51.8 107.2
+ angle_coeff @angle:2-44-10 harmonic 51.8 107.2
+ angle_coeff @angle:6-44-10 harmonic 51.8 107.2
+ angle_coeff @angle:10-44-10 harmonic 51.8 107.2
+ angle_coeff @angle:2-44-13 harmonic 51.8 107.2
+ angle_coeff @angle:6-44-13 harmonic 51.8 107.2
+ angle_coeff @angle:10-44-13 harmonic 51.8 107.2
+ angle_coeff @angle:13-44-13 harmonic 51.8 107.2
+ angle_coeff @angle:3-44-13 harmonic 63.0 111.1
+ angle_coeff @angle:25-44-45 harmonic 10.0 100.0
+ angle_coeff @angle:13-44-45 harmonic 35.0 109.5
+ angle_coeff @angle:2-44-45 harmonic 43.2 108.1
+ angle_coeff @angle:6-44-45 harmonic 43.2 108.1
+ angle_coeff @angle:10-44-45 harmonic 43.2 108.1
+ angle_coeff @angle:45-44-45 harmonic 43.6 106.4
+ angle_coeff @angle:25-44-48 harmonic 10.0 109.5
+ angle_coeff @angle:45-44-48 harmonic 35.0 116.0
+ angle_coeff @angle:13-44-48 harmonic 50.0 116.0
+ angle_coeff @angle:48-44-48 harmonic 50.0 116.0
+ angle_coeff @angle:3-44-48 harmonic 63.0 112.0
+ angle_coeff @angle:45-44-79 harmonic 35.0 115.0
+ angle_coeff @angle:13-44-79 harmonic 50.0 108.6
+ angle_coeff @angle:48-44-79 harmonic 50.0 108.6
+ angle_coeff @angle:48-44-91 harmonic 50.0 109.5
+ angle_coeff @angle:25-45-25 harmonic 33.0 109.47
+ angle_coeff @angle:25-45-44 harmonic 10.0 109.5
+ angle_coeff @angle:25-46-25 harmonic 33.0 109.47
+ angle_coeff @angle:13-46-25 harmonic 37.5 109.47
+ angle_coeff @angle:1-47-1 harmonic 80.0 108.0
+ angle_coeff @angle:1-47-3 harmonic 80.0 121.5
+ angle_coeff @angle:3-47-6 harmonic 85.0 119.7
+ angle_coeff @angle:3-47-13 harmonic 70.0 119.7
+ angle_coeff @angle:13-47-13 harmonic 70.0 130.0
+ angle_coeff @angle:25-47-46 harmonic 10.0 90.0
+ angle_coeff @angle:20-47-46 harmonic 35.0 114.5
+ angle_coeff @angle:13-47-46 harmonic 35.0 117.0
+ angle_coeff @angle:46-47-46 harmonic 35.0 117.0
+ angle_coeff @angle:3-47-46 harmonic 35.0 119.7
+ angle_coeff @angle:19-47-46 harmonic 35.0 120.0
+ angle_coeff @angle:1-47-46 harmonic 50.0 112.0
+ angle_coeff @angle:21-47-46 harmonic 60.0 114.0
+ angle_coeff @angle:25-47-47 harmonic 2.0 90.0
+ angle_coeff @angle:46-47-47 harmonic 35.0 120.0
+ angle_coeff @angle:5-47-47 harmonic 70.0 123.0
+ angle_coeff @angle:20-47-47 harmonic 70.0 123.0
+ angle_coeff @angle:13-47-47 harmonic 70.0 124.0
+ angle_coeff @angle:19-47-47 harmonic 70.0 124.0
+ angle_coeff @angle:21-47-47 harmonic 75.0 121.5
+ angle_coeff @angle:1-47-47 harmonic 80.0 121.5
+ angle_coeff @angle:16-47-47 harmonic 85.0 119.4
+ angle_coeff @angle:3-47-47 harmonic 85.0 120.7
+ angle_coeff @angle:46-47-48 harmonic 35.0 123.3
+ angle_coeff @angle:47-47-48 harmonic 85.0 117.0
+ angle_coeff @angle:13-47-48 harmonic 85.0 119.7
+ angle_coeff @angle:25-47-50 harmonic 2.0 90.0
+ angle_coeff @angle:46-47-50 harmonic 35.0 120.0
+ angle_coeff @angle:5-47-50 harmonic 70.0 123.0
+ angle_coeff @angle:20-47-50 harmonic 70.0 123.0
+ angle_coeff @angle:13-47-50 harmonic 70.0 124.0
+ angle_coeff @angle:46-47-57 harmonic 35.0 119.1
+ angle_coeff @angle:13-47-57 harmonic 70.0 120.0
+ angle_coeff @angle:20-47-57 harmonic 70.0 120.0
+ angle_coeff @angle:47-47-57 harmonic 70.0 121.2
+ angle_coeff @angle:16-47-57 harmonic 85.0 119.4
+ angle_coeff @angle:57-47-58 harmonic 35.0 119.1
+ angle_coeff @angle:47-47-58 harmonic 35.0 119.7
+ angle_coeff @angle:46-47-65 harmonic 60.0 114.0
+ angle_coeff @angle:47-47-65 harmonic 75.0 120.0
+ angle_coeff @angle:46-47-91 harmonic 35.0 135.0
+ angle_coeff @angle:3-47-91 harmonic 70.0 119.7
+ angle_coeff @angle:47-47-91 harmonic 70.0 124.0
+ angle_coeff @angle:46-47-105 harmonic 35.0 119.1
+ angle_coeff @angle:58-47-105 harmonic 35.0 119.1
+ angle_coeff @angle:13-47-105 harmonic 70.0 120.0
+ angle_coeff @angle:20-47-105 harmonic 70.0 120.0
+ angle_coeff @angle:47-47-105 harmonic 70.0 121.2
+ angle_coeff @angle:16-47-105 harmonic 85.0 119.4
+ angle_coeff @angle:46-47-110 harmonic 40.0 121.0
+ angle_coeff @angle:13-47-110 harmonic 80.0 122.0
+ angle_coeff @angle:48-47-110 harmonic 80.0 122.0
+ angle_coeff @angle:1-47-110 harmonic 80.0 125.0
+ angle_coeff @angle:2-48-12 harmonic 70.0 120.0
+ angle_coeff @angle:12-48-12 harmonic 85.0 120.0
+ angle_coeff @angle:3-48-13 harmonic 70.0 119.7
+ angle_coeff @angle:25-48-48 harmonic 10.0 90.0
+ angle_coeff @angle:48-48-48 harmonic 63.0 120.0
+ angle_coeff @angle:2-48-48 harmonic 70.0 120.0
+ angle_coeff @angle:5-48-48 harmonic 70.0 120.0
+ angle_coeff @angle:10-48-48 harmonic 70.0 120.0
+ angle_coeff @angle:13-48-48 harmonic 70.0 120.0
+ angle_coeff @angle:15-48-48 harmonic 70.0 120.0
+ angle_coeff @angle:19-48-48 harmonic 70.0 120.0
+ angle_coeff @angle:20-48-48 harmonic 70.0 120.0
+ angle_coeff @angle:24-48-48 harmonic 70.0 120.0
+ angle_coeff @angle:44-48-48 harmonic 70.0 120.0
+ angle_coeff @angle:47-48-48 harmonic 70.0 124.0
+ angle_coeff @angle:21-48-48 harmonic 75.0 120.0
+ angle_coeff @angle:1-48-48 harmonic 80.0 120.0
+ angle_coeff @angle:18-48-48 harmonic 80.0 120.0
+ angle_coeff @angle:16-48-48 harmonic 85.0 119.4
+ angle_coeff @angle:3-48-48 harmonic 85.0 120.0
+ angle_coeff @angle:25-48-49 harmonic 2.0 90.0
+ angle_coeff @angle:24-48-49 harmonic 35.0 119.1
+ angle_coeff @angle:3-48-49 harmonic 35.0 120.0
+ angle_coeff @angle:48-48-49 harmonic 35.0 120.0
+ angle_coeff @angle:48-48-50 harmonic 70.0 124.0
+ angle_coeff @angle:48-48-53 harmonic 70.0 120.0
+ angle_coeff @angle:55-48-55 harmonic 70.0 120.0
+ angle_coeff @angle:47-48-55 harmonic 70.0 120.1
+ angle_coeff @angle:48-48-55 harmonic 70.0 120.1
+ angle_coeff @angle:49-48-56 harmonic 35.0 116.0
+ angle_coeff @angle:13-48-56 harmonic 70.0 116.0
+ angle_coeff @angle:44-48-56 harmonic 70.0 116.0
+ angle_coeff @angle:55-48-56 harmonic 70.0 119.3
+ angle_coeff @angle:5-48-56 harmonic 70.0 120.0
+ angle_coeff @angle:47-48-56 harmonic 70.0 121.5
+ angle_coeff @angle:50-48-56 harmonic 70.0 121.5
+ angle_coeff @angle:48-48-56 harmonic 70.0 124.0
+ angle_coeff @angle:21-48-56 harmonic 75.0 120.0
+ angle_coeff @angle:49-48-57 harmonic 35.0 120.0
+ angle_coeff @angle:48-48-57 harmonic 70.0 108.7
+ angle_coeff @angle:55-48-57 harmonic 70.0 116.0
+ angle_coeff @angle:13-48-57 harmonic 70.0 120.0
+ angle_coeff @angle:47-48-57 harmonic 70.0 121.5
+ angle_coeff @angle:56-48-57 harmonic 70.0 123.3
+ angle_coeff @angle:49-48-60 harmonic 35.0 120.0
+ angle_coeff @angle:48-48-60 harmonic 63.0 120.0
+ angle_coeff @angle:57-48-60 harmonic 70.0 108.7
+ angle_coeff @angle:56-48-60 harmonic 70.0 117.3
+ angle_coeff @angle:55-48-60 harmonic 70.0 123.5
+ angle_coeff @angle:2-48-60 harmonic 70.0 128.6
+ angle_coeff @angle:13-48-60 harmonic 70.0 128.6
+ angle_coeff @angle:49-48-61 harmonic 35.0 119.1
+ angle_coeff @angle:48-48-61 harmonic 70.0 108.7
+ angle_coeff @angle:57-48-61 harmonic 70.0 123.3
+ angle_coeff @angle:48-48-64 harmonic 85.0 119.4
+ angle_coeff @angle:48-48-65 harmonic 75.0 120.0
+ angle_coeff @angle:48-48-66 harmonic 75.0 120.0
+ angle_coeff @angle:48-48-79 harmonic 85.0 119.4
+ angle_coeff @angle:49-48-81 harmonic 35.0 120.0
+ angle_coeff @angle:48-48-81 harmonic 85.0 120.0
+ angle_coeff @angle:49-48-84 harmonic 35.0 126.9
+ angle_coeff @angle:60-48-84 harmonic 63.0 106.4
+ angle_coeff @angle:48-48-84 harmonic 70.0 107.4
+ angle_coeff @angle:49-48-86 harmonic 35.0 120.0
+ angle_coeff @angle:48-48-86 harmonic 63.0 120.0
+ angle_coeff @angle:56-48-86 harmonic 70.0 124.0
+ angle_coeff @angle:49-48-88 harmonic 35.0 128.2
+ angle_coeff @angle:101-48-101 harmonic 70.0 111.8
+ angle_coeff @angle:56-48-101 harmonic 70.0 124.1
+ angle_coeff @angle:48-48-102 harmonic 85.0 120.0
+ angle_coeff @angle:48-48-109 harmonic 70.0 124.0
+ angle_coeff @angle:25-50-46 harmonic 10.0 90.0
+ angle_coeff @angle:19-50-46 harmonic 35.0 120.0
+ angle_coeff @angle:25-50-47 harmonic 2.0 90.0
+ angle_coeff @angle:46-50-47 harmonic 35.0 120.0
+ angle_coeff @angle:3-50-47 harmonic 70.0 118.7
+ angle_coeff @angle:13-50-47 harmonic 70.0 124.0
+ angle_coeff @angle:46-50-48 harmonic 35.0 123.3
+ angle_coeff @angle:47-50-48 harmonic 85.0 117.0
+ angle_coeff @angle:25-50-50 harmonic 2.0 90.0
+ angle_coeff @angle:46-50-50 harmonic 35.0 120.0
+ angle_coeff @angle:13-50-50 harmonic 70.0 124.0
+ angle_coeff @angle:47-50-50 harmonic 70.0 124.0
+ angle_coeff @angle:50-50-84 harmonic 35.0 106.0
+ angle_coeff @angle:46-50-84 harmonic 35.0 122.0
+ angle_coeff @angle:46-50-109 harmonic 35.0 120.0
+ angle_coeff @angle:13-50-109 harmonic 70.0 124.0
+ angle_coeff @angle:47-50-109 harmonic 70.0 124.0
+ angle_coeff @angle:6-51-6 harmonic 40.0 109.5
+ angle_coeff @angle:5-51-13 harmonic 50.0 109.5
+ angle_coeff @angle:13-51-20 harmonic 50.0 109.5
+ angle_coeff @angle:2-51-20 harmonic 80.0 109.5
+ angle_coeff @angle:6-51-20 harmonic 80.0 109.5
+ angle_coeff @angle:5-51-20 harmonic 92.6 111.55
+ angle_coeff @angle:20-51-20 harmonic 92.6 111.55
+ angle_coeff @angle:46-51-46 harmonic 33.0 109.5
+ angle_coeff @angle:5-51-46 harmonic 35.0 109.5
+ angle_coeff @angle:20-51-46 harmonic 35.0 109.5
+ angle_coeff @angle:13-51-46 harmonic 37.5 110.7
+ angle_coeff @angle:46-51-105 harmonic 35.0 109.5
+ angle_coeff @angle:13-51-105 harmonic 50.0 109.5
+ angle_coeff @angle:20-51-105 harmonic 50.0 109.5
+ angle_coeff @angle:13-53-13 harmonic 50.0 113.0
+ angle_coeff @angle:13-53-25 harmonic 10.0 100.0
+ angle_coeff @angle:45-53-45 harmonic 43.6 109.5
+ angle_coeff @angle:25-53-48 harmonic 10.0 100.0
+ angle_coeff @angle:13-53-48 harmonic 55.0 114.0
+ angle_coeff @angle:2-53-54 harmonic 35.0 109.5
+ angle_coeff @angle:6-53-54 harmonic 35.0 109.5
+ angle_coeff @angle:13-53-54 harmonic 35.0 109.5
+ angle_coeff @angle:48-53-54 harmonic 35.0 109.5
+ angle_coeff @angle:54-53-54 harmonic 35.0 109.5
+ angle_coeff @angle:25-53-82 harmonic 10.0 100.0
+ angle_coeff @angle:13-55-13 harmonic 50.0 118.0
+ angle_coeff @angle:45-55-45 harmonic 35.0 113.0
+ angle_coeff @angle:13-55-45 harmonic 35.0 118.4
+ angle_coeff @angle:45-55-48 harmonic 35.0 120.0
+ angle_coeff @angle:2-55-48 harmonic 50.0 123.2
+ angle_coeff @angle:6-55-48 harmonic 50.0 123.2
+ angle_coeff @angle:13-55-48 harmonic 50.0 123.2
+ angle_coeff @angle:2-55-54 harmonic 35.0 118.4
+ angle_coeff @angle:13-55-54 harmonic 35.0 118.4
+ angle_coeff @angle:48-55-54 harmonic 35.0 120.0
+ angle_coeff @angle:54-55-54 harmonic 35.0 120.0
+ angle_coeff @angle:45-55-59 harmonic 35.0 120.0
+ angle_coeff @angle:3-56-13 harmonic 70.0 120.5
+ angle_coeff @angle:13-56-18 harmonic 70.0 120.0
+ angle_coeff @angle:25-56-48 harmonic 5.0 120.0
+ angle_coeff @angle:45-56-48 harmonic 35.0 113.0
+ angle_coeff @angle:13-56-48 harmonic 50.0 118.0
+ angle_coeff @angle:48-56-48 harmonic 70.0 117.0
+ angle_coeff @angle:3-56-48 harmonic 70.0 120.5
+ angle_coeff @angle:13-56-56 harmonic 70.0 117.0
+ angle_coeff @angle:48-56-56 harmonic 70.0 117.0
+ angle_coeff @angle:25-56-59 harmonic 5.0 119.8
+ angle_coeff @angle:48-56-59 harmonic 70.0 118.6
+ angle_coeff @angle:59-56-59 harmonic 70.0 118.6
+ angle_coeff @angle:59-56-60 harmonic 70.0 111.0
+ angle_coeff @angle:48-56-60 harmonic 70.0 112.2
+ angle_coeff @angle:59-56-82 harmonic 70.0 111.0
+ angle_coeff @angle:48-56-86 harmonic 70.0 117.0
+ angle_coeff @angle:13-56-103 harmonic 70.0 114.0
+ angle_coeff @angle:3-57-3 harmonic 70.0 126.4
+ angle_coeff @angle:3-57-45 harmonic 35.0 116.8
+ angle_coeff @angle:45-57-47 harmonic 35.0 119.2
+ angle_coeff @angle:3-57-47 harmonic 70.0 121.6
+ angle_coeff @angle:45-57-48 harmonic 35.0 118.0
+ angle_coeff @angle:3-57-48 harmonic 70.0 125.2
+ angle_coeff @angle:48-57-48 harmonic 70.0 125.2
+ angle_coeff @angle:45-57-60 harmonic 30.0 125.8
+ angle_coeff @angle:13-57-60 harmonic 70.0 125.8
+ angle_coeff @angle:60-57-61 harmonic 56.0 113.1
+ angle_coeff @angle:45-57-61 harmonic 56.0 118.4
+ angle_coeff @angle:13-57-61 harmonic 70.0 118.4
+ angle_coeff @angle:48-57-61 harmonic 70.0 118.4
+ angle_coeff @angle:45-57-62 harmonic 30.0 128.8
+ angle_coeff @angle:60-57-62 harmonic 70.0 105.4
+ angle_coeff @angle:48-57-62 harmonic 70.0 109.8
+ angle_coeff @angle:13-57-62 harmonic 70.0 128.8
+ angle_coeff @angle:45-57-81 harmonic 35.0 123.1
+ angle_coeff @angle:45-57-82 harmonic 35.0 120.0
+ angle_coeff @angle:61-57-82 harmonic 56.0 113.1
+ angle_coeff @angle:60-57-82 harmonic 70.0 109.8
+ angle_coeff @angle:45-57-84 harmonic 35.0 120.0
+ angle_coeff @angle:61-57-84 harmonic 56.0 113.1
+ angle_coeff @angle:60-57-84 harmonic 70.0 109.8
+ angle_coeff @angle:82-57-84 harmonic 70.0 109.8
+ angle_coeff @angle:84-57-84 harmonic 70.0 109.8
+ angle_coeff @angle:81-57-84 harmonic 70.0 111.6
+ angle_coeff @angle:45-57-85 harmonic 35.0 120.0
+ angle_coeff @angle:82-57-85 harmonic 70.0 109.8
+ angle_coeff @angle:24-59-55 harmonic 70.0 116.0
+ angle_coeff @angle:49-59-56 harmonic 35.0 115.45
+ angle_coeff @angle:13-59-56 harmonic 70.0 115.5
+ angle_coeff @angle:55-59-56 harmonic 70.0 119.3
+ angle_coeff @angle:24-59-56 harmonic 70.0 123.3
+ angle_coeff @angle:56-59-56 harmonic 70.0 129.1
+ angle_coeff @angle:56-59-63 harmonic 35.0 115.45
+ angle_coeff @angle:13-60-48 harmonic 70.0 120.0
+ angle_coeff @angle:48-60-48 harmonic 85.0 134.9
+ angle_coeff @angle:56-60-57 harmonic 70.0 126.2
+ angle_coeff @angle:57-60-60 harmonic 70.0 106.2
+ angle_coeff @angle:20-60-60 harmonic 70.0 110.6
+ angle_coeff @angle:16-60-60 harmonic 70.0 111.0
+ angle_coeff @angle:13-60-60 harmonic 70.0 120.0
+ angle_coeff @angle:24-60-60 harmonic 70.0 127.7
+ angle_coeff @angle:56-60-60 harmonic 70.0 127.7
+ angle_coeff @angle:48-60-60 harmonic 85.0 117.3
+ angle_coeff @angle:3-60-60 harmonic 85.0 119.2
+ angle_coeff @angle:60-60-61 harmonic 70.0 111.0
+ angle_coeff @angle:24-60-61 harmonic 70.0 126.2
+ angle_coeff @angle:3-60-61 harmonic 70.0 130.0
+ angle_coeff @angle:48-60-61 harmonic 70.0 132.4
+ angle_coeff @angle:12-60-80 harmonic 85.0 134.9
+ angle_coeff @angle:48-60-80 harmonic 85.0 134.9
+ angle_coeff @angle:80-60-81 harmonic 85.0 108.8
+ angle_coeff @angle:12-60-81 harmonic 85.0 116.2
+ angle_coeff @angle:48-60-81 harmonic 85.0 116.2
+ angle_coeff @angle:3-60-84 harmonic 70.0 130.0
+ angle_coeff @angle:60-60-87 harmonic 70.0 107.3
+ angle_coeff @angle:57-60-87 harmonic 70.0 107.7
+ angle_coeff @angle:81-60-87 harmonic 85.0 108.8
+ angle_coeff @angle:12-60-87 harmonic 85.0 134.9
+ angle_coeff @angle:48-60-87 harmonic 85.0 134.9
+ angle_coeff @angle:60-60-105 harmonic 70.0 106.2
+ angle_coeff @angle:56-60-105 harmonic 70.0 126.2
+ angle_coeff @angle:48-61-48 harmonic 70.0 125.2
+ angle_coeff @angle:25-61-57 harmonic 10.0 125.0
+ angle_coeff @angle:25-61-61 harmonic 10.0 125.0
+ angle_coeff @angle:60-61-62 harmonic 70.0 103.8
+ angle_coeff @angle:25-61-82 harmonic 10.0 125.0
+ angle_coeff @angle:61-61-82 harmonic 70.0 109.0
+ angle_coeff @angle:60-61-82 harmonic 70.0 110.0
+ angle_coeff @angle:82-61-83 harmonic 70.0 110.0
+ angle_coeff @angle:57-61-84 harmonic 70.0 104.1
+ angle_coeff @angle:82-61-84 harmonic 70.0 110.0
+ angle_coeff @angle:57-61-88 harmonic 70.0 104.1
+ angle_coeff @angle:20-61-88 harmonic 70.0 105.3
+ angle_coeff @angle:49-62-57 harmonic 35.0 120.0
+ angle_coeff @angle:49-62-61 harmonic 35.0 120.0
+ angle_coeff @angle:57-62-61 harmonic 70.0 113.9
+ angle_coeff @angle:57-62-63 harmonic 35.0 123.05
+ angle_coeff @angle:61-62-63 harmonic 35.0 123.05
+ angle_coeff @angle:49-62-105 harmonic 35.0 120.0
+ angle_coeff @angle:63-62-105 harmonic 35.0 123.05
+ angle_coeff @angle:61-62-105 harmonic 70.0 113.9
+ angle_coeff @angle:5-64-5 harmonic 45.0 102.6
+ angle_coeff @angle:4-64-5 harmonic 100.0 108.23
+ angle_coeff @angle:4-64-13 harmonic 45.0 109.5
+ angle_coeff @angle:5-64-20 harmonic 45.0 102.6
+ angle_coeff @angle:20-64-20 harmonic 45.0 102.6
+ angle_coeff @angle:13-64-20 harmonic 45.0 109.5
+ angle_coeff @angle:4-64-20 harmonic 100.0 108.23
+ angle_coeff @angle:4-64-48 harmonic 45.0 109.5
+ angle_coeff @angle:5-64-48 harmonic 45.0 109.5
+ angle_coeff @angle:20-64-48 harmonic 45.0 109.5
+ angle_coeff @angle:5-64-52 harmonic 45.0 108.23
+ angle_coeff @angle:13-64-52 harmonic 45.0 109.5
+ angle_coeff @angle:20-64-52 harmonic 100.0 108.23
+ angle_coeff @angle:52-64-52 harmonic 140.0 119.9
+ angle_coeff @angle:25-65-25 harmonic 33.0 109.47
+ angle_coeff @angle:25-66-25 harmonic 33.0 109.47
+ angle_coeff @angle:78-77-78 harmonic 150.0 180.0
+ angle_coeff @angle:6-79-11 harmonic 62.0 98.9
+ angle_coeff @angle:13-79-13 harmonic 62.0 102.0
+ angle_coeff @angle:5-79-13 harmonic 75.0 96.4
+ angle_coeff @angle:5-79-23 harmonic 74.0 108.7
+ angle_coeff @angle:13-79-23 harmonic 74.0 108.9
+ angle_coeff @angle:23-79-23 harmonic 104.0 119.0
+ angle_coeff @angle:13-79-24 harmonic 100.0 103.0
+ angle_coeff @angle:23-79-24 harmonic 120.0 107.0
+ angle_coeff @angle:13-79-44 harmonic 62.0 102.0
+ angle_coeff @angle:23-79-44 harmonic 74.0 108.9
+ angle_coeff @angle:13-79-48 harmonic 62.0 102.0
+ angle_coeff @angle:23-79-48 harmonic 74.0 107.2
+ angle_coeff @angle:5-79-48 harmonic 75.0 96.4
+ angle_coeff @angle:24-79-48 harmonic 100.0 103.0
+ angle_coeff @angle:13-79-82 harmonic 62.0 102.0
+ angle_coeff @angle:46-80-60 harmonic 35.0 126.8
+ angle_coeff @angle:2-80-60 harmonic 70.0 128.6
+ angle_coeff @angle:13-80-60 harmonic 70.0 128.6
+ angle_coeff @angle:46-80-84 harmonic 35.0 126.8
+ angle_coeff @angle:2-80-84 harmonic 70.0 125.0
+ angle_coeff @angle:13-80-84 harmonic 70.0 125.0
+ angle_coeff @angle:60-80-84 harmonic 85.0 106.4
+ angle_coeff @angle:12-81-57 harmonic 70.0 132.8
+ angle_coeff @angle:48-81-57 harmonic 70.0 132.8
+ angle_coeff @angle:57-81-60 harmonic 70.0 104.4
+ angle_coeff @angle:12-81-60 harmonic 85.0 122.7
+ angle_coeff @angle:48-81-60 harmonic 85.0 122.7
+ angle_coeff @angle:13-82-16 harmonic 70.0 125.0
+ angle_coeff @angle:16-82-24 harmonic 70.0 125.0
+ angle_coeff @angle:16-82-44 harmonic 70.0 120.2
+ angle_coeff @angle:20-82-49 harmonic 35.0 117.0
+ angle_coeff @angle:16-82-49 harmonic 35.0 125.0
+ angle_coeff @angle:49-82-57 harmonic 35.0 120.0
+ angle_coeff @angle:57-82-57 harmonic 70.0 120.0
+ angle_coeff @angle:13-82-57 harmonic 70.0 125.0
+ angle_coeff @angle:48-82-57 harmonic 70.0 125.0
+ angle_coeff @angle:56-82-57 harmonic 70.0 126.2
+ angle_coeff @angle:49-82-61 harmonic 35.0 120.0
+ angle_coeff @angle:16-82-61 harmonic 70.0 115.0
+ angle_coeff @angle:20-82-61 harmonic 70.0 115.0
+ angle_coeff @angle:57-82-61 harmonic 70.0 120.0
+ angle_coeff @angle:13-82-61 harmonic 70.0 125.0
+ angle_coeff @angle:44-82-61 harmonic 70.0 126.1
+ angle_coeff @angle:24-82-61 harmonic 70.0 126.2
+ angle_coeff @angle:57-82-79 harmonic 70.0 120.0
+ angle_coeff @angle:61-82-79 harmonic 70.0 120.0
+ angle_coeff @angle:20-82-86 harmonic 70.0 122.0
+ angle_coeff @angle:61-82-86 harmonic 70.0 130.0
+ angle_coeff @angle:57-82-87 harmonic 70.0 106.2
+ angle_coeff @angle:56-82-87 harmonic 70.0 127.7
+ angle_coeff @angle:49-83-61 harmonic 35.0 120.0
+ angle_coeff @angle:48-83-61 harmonic 70.0 111.0
+ angle_coeff @angle:13-83-61 harmonic 70.0 124.5
+ angle_coeff @angle:49-83-84 harmonic 35.0 128.2
+ angle_coeff @angle:61-83-84 harmonic 70.0 111.0
+ angle_coeff @angle:13-83-84 harmonic 70.0 130.7
+ angle_coeff @angle:13-84-16 harmonic 70.0 125.0
+ angle_coeff @angle:13-84-20 harmonic 70.0 121.6
+ angle_coeff @angle:16-84-24 harmonic 70.0 125.0
+ angle_coeff @angle:20-84-49 harmonic 35.0 113.4
+ angle_coeff @angle:16-84-49 harmonic 35.0 125.0
+ angle_coeff @angle:48-84-49 harmonic 35.0 130.7
+ angle_coeff @angle:49-84-50 harmonic 35.0 130.7
+ angle_coeff @angle:20-84-50 harmonic 70.0 110.0
+ angle_coeff @angle:49-84-57 harmonic 35.0 121.6
+ angle_coeff @angle:13-84-57 harmonic 70.0 121.6
+ angle_coeff @angle:48-84-57 harmonic 70.0 121.6
+ angle_coeff @angle:3-84-57 harmonic 85.0 120.0
+ angle_coeff @angle:57-84-58 harmonic 35.0 120.0
+ angle_coeff @angle:13-84-61 harmonic 70.0 118.9
+ angle_coeff @angle:49-84-80 harmonic 35.0 120.0
+ angle_coeff @angle:57-84-80 harmonic 70.0 108.7
+ angle_coeff @angle:49-84-83 harmonic 35.0 130.7
+ angle_coeff @angle:57-84-83 harmonic 70.0 106.3
+ angle_coeff @angle:20-84-83 harmonic 70.0 108.0
+ angle_coeff @angle:16-84-83 harmonic 70.0 111.0
+ angle_coeff @angle:13-84-83 harmonic 70.0 130.7
+ angle_coeff @angle:13-84-84 harmonic 70.0 120.0
+ angle_coeff @angle:57-84-84 harmonic 70.0 120.0
+ angle_coeff @angle:61-84-84 harmonic 70.0 120.0
+ angle_coeff @angle:20-84-86 harmonic 70.0 121.6
+ angle_coeff @angle:57-84-86 harmonic 70.0 121.6
+ angle_coeff @angle:49-84-87 harmonic 35.0 132.1
+ angle_coeff @angle:57-84-87 harmonic 70.0 107.7
+ angle_coeff @angle:20-84-87 harmonic 70.0 110.6
+ angle_coeff @angle:16-84-87 harmonic 70.0 111.0
+ angle_coeff @angle:61-84-87 harmonic 70.0 111.9
+ angle_coeff @angle:13-84-87 harmonic 70.0 132.1
+ angle_coeff @angle:48-84-87 harmonic 70.0 132.1
+ angle_coeff @angle:86-84-87 harmonic 70.0 132.1
+ angle_coeff @angle:3-84-87 harmonic 85.0 120.0
+ angle_coeff @angle:49-85-57 harmonic 35.0 120.0
+ angle_coeff @angle:13-85-57 harmonic 70.0 121.6
+ angle_coeff @angle:49-85-85 harmonic 35.0 130.7
+ angle_coeff @angle:57-85-85 harmonic 70.0 106.3
+ angle_coeff @angle:13-85-85 harmonic 70.0 130.7
+ angle_coeff @angle:48-86-48 harmonic 63.0 120.0
+ angle_coeff @angle:48-86-56 harmonic 70.0 124.0
+ angle_coeff @angle:48-86-82 harmonic 63.0 120.0
+ angle_coeff @angle:48-86-83 harmonic 63.0 120.0
+ angle_coeff @angle:48-86-84 harmonic 63.0 120.0
+ angle_coeff @angle:48-86-86 harmonic 63.0 120.0
+ angle_coeff @angle:56-86-86 harmonic 70.0 124.0
+ angle_coeff @angle:48-86-87 harmonic 63.0 120.0
+ angle_coeff @angle:48-86-88 harmonic 63.0 120.0
+ angle_coeff @angle:49-87-60 harmonic 35.0 120.0
+ angle_coeff @angle:46-87-60 harmonic 35.0 126.8
+ angle_coeff @angle:13-87-60 harmonic 70.0 128.6
+ angle_coeff @angle:49-87-84 harmonic 35.0 125.7
+ angle_coeff @angle:46-87-84 harmonic 35.0 126.8
+ angle_coeff @angle:84-87-84 harmonic 70.0 103.8
+ angle_coeff @angle:82-87-84 harmonic 70.0 110.4
+ angle_coeff @angle:2-87-84 harmonic 70.0 125.0
+ angle_coeff @angle:13-87-84 harmonic 70.0 125.0
+ angle_coeff @angle:3-87-84 harmonic 70.0 130.0
+ angle_coeff @angle:60-87-84 harmonic 85.0 106.4
+ angle_coeff @angle:84-87-86 harmonic 70.0 125.7
+ angle_coeff @angle:49-87-87 harmonic 35.0 127.5
+ angle_coeff @angle:60-87-87 harmonic 70.0 107.3
+ angle_coeff @angle:84-87-87 harmonic 70.0 107.3
+ angle_coeff @angle:86-87-87 harmonic 70.0 127.5
+ angle_coeff @angle:84-87-88 harmonic 70.0 103.8
+ angle_coeff @angle:48-88-49 harmonic 35.0 128.6
+ angle_coeff @angle:49-88-61 harmonic 35.0 118.9
+ angle_coeff @angle:13-88-61 harmonic 70.0 118.9
+ angle_coeff @angle:19-88-61 harmonic 70.0 118.9
+ angle_coeff @angle:61-88-87 harmonic 70.0 111.9
+ angle_coeff @angle:4-89-90 harmonic 80.0 134.0
+ angle_coeff @angle:90-89-91 harmonic 70.0 91.0
+ angle_coeff @angle:4-89-91 harmonic 80.0 134.0
+ angle_coeff @angle:13-90-89 harmonic 55.0 127.0
+ angle_coeff @angle:89-90-91 harmonic 50.0 94.0
+ angle_coeff @angle:13-90-91 harmonic 50.0 126.0
+ angle_coeff @angle:24-91-46 harmonic 35.0 108.0
+ angle_coeff @angle:13-91-46 harmonic 35.0 114.3
+ angle_coeff @angle:44-91-46 harmonic 35.0 114.3
+ angle_coeff @angle:46-91-46 harmonic 35.0 114.3
+ angle_coeff @angle:16-91-46 harmonic 37.5 108.0
+ angle_coeff @angle:46-91-47 harmonic 35.0 109.5
+ angle_coeff @angle:46-91-89 harmonic 37.5 110.0
+ angle_coeff @angle:24-91-89 harmonic 70.0 117.0
+ angle_coeff @angle:46-91-90 harmonic 35.0 111.0
+ angle_coeff @angle:16-91-90 harmonic 55.0 109.0
+ angle_coeff @angle:91-91-91 harmonic 30.0 79.2
+ angle_coeff @angle:13-91-91 harmonic 37.5 117.2
+ angle_coeff @angle:44-91-91 harmonic 37.5 117.2
+ angle_coeff @angle:46-91-91 harmonic 37.5 117.2
+ angle_coeff @angle:24-91-91 harmonic 37.5 126.0
+ angle_coeff @angle:16-91-91 harmonic 55.0 128.0
+ angle_coeff @angle:89-91-91 harmonic 63.0 85.0
+ angle_coeff @angle:47-91-91 harmonic 63.0 114.0
+ angle_coeff @angle:90-91-91 harmonic 80.0 89.0
+ angle_coeff @angle:13-95-13 harmonic 172.8 120.0
+ angle_coeff @angle:13-95-46 harmonic 144.0 120.0
+ angle_coeff @angle:13-101-45 harmonic 35.0 109.5
+ angle_coeff @angle:45-101-45 harmonic 43.6 106.4
+ angle_coeff @angle:45-101-48 harmonic 50.0 112.5
+ angle_coeff @angle:13-101-48 harmonic 50.0 120.5
+ angle_coeff @angle:13-102-103 harmonic 80.0 117.5
+ angle_coeff @angle:48-102-103 harmonic 80.0 117.5
+ angle_coeff @angle:103-102-103 harmonic 80.0 125.0
+ angle_coeff @angle:25-103-25 harmonic 10.0 109.5
+ angle_coeff @angle:25-103-102 harmonic 10.0 109.5
+ angle_coeff @angle:13-104-13 harmonic 45.0 109.5
+ angle_coeff @angle:3-105-10 harmonic 70.0 117.6
+ angle_coeff @angle:3-105-13 harmonic 70.0 117.6
+ angle_coeff @angle:3-105-45 harmonic 35.0 119.2
+ angle_coeff @angle:45-105-47 harmonic 35.0 119.2
+ angle_coeff @angle:13-105-47 harmonic 70.0 121.2
+ angle_coeff @angle:3-105-47 harmonic 70.0 121.6
+ angle_coeff @angle:3-105-51 harmonic 70.0 117.6
+ angle_coeff @angle:47-105-51 harmonic 70.0 121.2
+ angle_coeff @angle:45-105-60 harmonic 30.0 125.8
+ angle_coeff @angle:6-105-60 harmonic 70.0 125.8
+ angle_coeff @angle:10-105-60 harmonic 70.0 125.8
+ angle_coeff @angle:13-105-60 harmonic 70.0 125.8
+ angle_coeff @angle:51-105-60 harmonic 70.0 125.8
+ angle_coeff @angle:45-105-62 harmonic 30.0 128.8
+ angle_coeff @angle:60-105-62 harmonic 70.0 105.4
+ angle_coeff @angle:6-105-62 harmonic 70.0 128.8
+ angle_coeff @angle:10-105-62 harmonic 70.0 128.8
+ angle_coeff @angle:13-105-62 harmonic 70.0 128.8
+ angle_coeff @angle:51-105-62 harmonic 70.0 128.8
+ angle_coeff @angle:4-106-24 harmonic 20.0 109.5
+ angle_coeff @angle:24-106-24 harmonic 20.0 109.5
+ angle_coeff @angle:13-107-13 harmonic 50.0 118.0
+ angle_coeff @angle:3-107-13 harmonic 50.0 121.9
+ angle_coeff @angle:1-108-13 harmonic 35.0 110.5
+ angle_coeff @angle:13-108-13 harmonic 60.0 110.0
+ angle_coeff @angle:13-108-20 harmonic 60.0 100.0
+ angle_coeff @angle:20-108-20 harmonic 60.0 110.0
+ angle_coeff @angle:13-108-21 harmonic 35.0 110.5
+ angle_coeff @angle:45-108-45 harmonic 35.0 109.5
+ angle_coeff @angle:13-108-45 harmonic 35.0 110.5
+ angle_coeff @angle:46-108-46 harmonic 35.0 109.5
+ angle_coeff @angle:13-108-46 harmonic 35.0 110.5
+ angle_coeff @angle:13-108-65 harmonic 35.0 110.5
+ angle_coeff @angle:13-108-66 harmonic 35.0 110.5
+ angle_coeff @angle:13-108-108 harmonic 50.0 112.0
+ angle_coeff @angle:46-109-48 harmonic 35.0 123.3
+ angle_coeff @angle:46-109-50 harmonic 35.0 120.0
+ angle_coeff @angle:13-109-50 harmonic 70.0 124.0
+ angle_coeff @angle:46-109-109 harmonic 35.0 120.0
+ angle_coeff @angle:13-109-109 harmonic 70.0 124.0
+ angle_coeff @angle:50-109-109 harmonic 70.0 124.0
+ angle_coeff @angle:48-109-109 harmonic 85.0 117.0
+ angle_coeff @angle:4-110-47 harmonic 160.0 180.0
+ angle_coeff @angle:47-110-47 harmonic 160.0 180.0
+ } #(end of angle_coeffs)
+
+ # Rules for creating angle interactions according to atom type:
+ # AngleTypeName AtomType1 AtomType2 AtomType3
+ # (* = wildcard)
+
+ write_once("Data Angles By Type") {
+ @angle:25-1-25 @atom:*_b*_a25_d*_i* @atom:*_b*_a1_d*_i* @atom:*_b*_a25_d*_i*
+ @angle:1-2-2 @atom:*_b*_a1_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a2_d*_i*
+ @angle:2-2-2 @atom:*_b*_a2_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a2_d*_i*
+ @angle:2-2-3 @atom:*_b*_a2_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a3_d*_i*
+ @angle:2-2-5 @atom:*_b*_a2_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a5_d*_i*
+ @angle:2-2-6 @atom:*_b*_a2_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a6_d*_i*
+ @angle:6-2-6 @atom:*_b*_a6_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a6_d*_i*
+ @angle:5-2-6 @atom:*_b*_a5_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a6_d*_i*
+ @angle:2-2-10 @atom:*_b*_a2_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a10_d*_i*
+ @angle:3-2-10 @atom:*_b*_a3_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a10_d*_i*
+ @angle:6-2-10 @atom:*_b*_a6_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a10_d*_i*
+ @angle:10-2-10 @atom:*_b*_a10_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a10_d*_i*
+ @angle:5-2-10 @atom:*_b*_a5_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a10_d*_i*
+ @angle:10-2-12 @atom:*_b*_a10_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a12_d*_i*
+ @angle:6-2-13 @atom:*_b*_a6_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:10-2-15 @atom:*_b*_a10_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a15_d*_i*
+ @angle:2-2-16 @atom:*_b*_a2_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a16_d*_i*
+ @angle:10-2-16 @atom:*_b*_a10_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a16_d*_i*
+ @angle:2-2-20 @atom:*_b*_a2_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a20_d*_i*
+ @angle:6-2-20 @atom:*_b*_a6_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a20_d*_i*
+ @angle:10-2-20 @atom:*_b*_a10_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a20_d*_i*
+ @angle:3-2-24 @atom:*_b*_a3_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a24_d*_i*
+ @angle:2-2-24 @atom:*_b*_a2_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a24_d*_i*
+ @angle:2-2-44 @atom:*_b*_a2_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a44_d*_i*
+ @angle:6-2-44 @atom:*_b*_a6_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a44_d*_i*
+ @angle:10-2-44 @atom:*_b*_a10_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a44_d*_i*
+ @angle:13-2-44 @atom:*_b*_a13_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a44_d*_i*
+ @angle:3-2-44 @atom:*_b*_a3_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a44_d*_i*
+ @angle:2-2-48 @atom:*_b*_a2_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:10-2-48 @atom:*_b*_a10_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:2-2-51 @atom:*_b*_a2_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a51_d*_i*
+ @angle:6-2-51 @atom:*_b*_a6_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a51_d*_i*
+ @angle:2-2-53 @atom:*_b*_a2_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a53_d*_i*
+ @angle:2-2-55 @atom:*_b*_a2_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a55_d*_i*
+ @angle:10-2-80 @atom:*_b*_a10_d*_i* @atom:*_b*_a2_d*_i* @atom:*_b*_a80_d*_i*
+ @angle:2-3-4 @atom:*_b*_a2_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a4_d*_i*
+ @angle:1-3-4 @atom:*_b*_a1_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a4_d*_i*
+ @angle:3-3-4 @atom:*_b*_a3_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a4_d*_i*
+ @angle:4-3-4 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a4_d*_i*
+ @angle:4-3-5 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a5_d*_i*
+ @angle:4-3-6 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a6_d*_i*
+ @angle:5-3-10 @atom:*_b*_a5_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a10_d*_i*
+ @angle:4-3-10 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a10_d*_i*
+ @angle:5-3-12 @atom:*_b*_a5_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a12_d*_i*
+ @angle:12-3-12 @atom:*_b*_a12_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a12_d*_i*
+ @angle:5-3-13 @atom:*_b*_a5_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:13-3-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:1-3-13 @atom:*_b*_a1_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:3-3-13 @atom:*_b*_a3_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:4-3-13 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:10-3-20 @atom:*_b*_a10_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a20_d*_i*
+ @angle:13-3-20 @atom:*_b*_a13_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a20_d*_i*
+ @angle:4-3-20 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a20_d*_i*
+ @angle:13-3-21 @atom:*_b*_a13_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a21_d*_i*
+ @angle:4-3-21 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a21_d*_i*
+ @angle:24-3-24 @atom:*_b*_a24_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i*
+ @angle:2-3-24 @atom:*_b*_a2_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i*
+ @angle:3-3-24 @atom:*_b*_a3_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i*
+ @angle:6-3-24 @atom:*_b*_a6_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i*
+ @angle:10-3-24 @atom:*_b*_a10_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i*
+ @angle:13-3-24 @atom:*_b*_a13_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i*
+ @angle:4-3-24 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i*
+ @angle:20-3-24 @atom:*_b*_a20_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i*
+ @angle:13-3-44 @atom:*_b*_a13_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a44_d*_i*
+ @angle:4-3-44 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a44_d*_i*
+ @angle:13-3-46 @atom:*_b*_a13_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:46-3-46 @atom:*_b*_a46_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:4-3-46 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:24-3-46 @atom:*_b*_a24_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:5-3-46 @atom:*_b*_a5_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:20-3-46 @atom:*_b*_a20_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:24-3-47 @atom:*_b*_a24_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:4-3-47 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:46-3-48 @atom:*_b*_a46_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:24-3-48 @atom:*_b*_a24_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:13-3-48 @atom:*_b*_a13_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:5-3-48 @atom:*_b*_a5_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:4-3-48 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:20-3-48 @atom:*_b*_a20_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:48-3-48 @atom:*_b*_a48_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:13-3-50 @atom:*_b*_a13_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a50_d*_i*
+ @angle:46-3-50 @atom:*_b*_a46_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a50_d*_i*
+ @angle:4-3-50 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a50_d*_i*
+ @angle:10-3-52 @atom:*_b*_a10_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a52_d*_i*
+ @angle:2-3-52 @atom:*_b*_a2_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a52_d*_i*
+ @angle:6-3-52 @atom:*_b*_a6_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a52_d*_i*
+ @angle:13-3-52 @atom:*_b*_a13_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a52_d*_i*
+ @angle:48-3-52 @atom:*_b*_a48_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a52_d*_i*
+ @angle:4-3-52 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a52_d*_i*
+ @angle:52-3-52 @atom:*_b*_a52_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a52_d*_i*
+ @angle:46-3-56 @atom:*_b*_a46_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a56_d*_i*
+ @angle:4-3-56 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a56_d*_i*
+ @angle:47-3-57 @atom:*_b*_a47_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:56-3-57 @atom:*_b*_a56_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:57-3-57 @atom:*_b*_a57_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:4-3-57 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:24-3-60 @atom:*_b*_a24_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:57-3-60 @atom:*_b*_a57_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:4-3-60 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:13-3-65 @atom:*_b*_a13_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a65_d*_i*
+ @angle:4-3-65 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a65_d*_i*
+ @angle:44-3-84 @atom:*_b*_a44_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:4-3-84 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:4-3-87 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a87_d*_i*
+ @angle:57-3-105 @atom:*_b*_a57_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a105_d*_i*
+ @angle:56-3-105 @atom:*_b*_a56_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a105_d*_i*
+ @angle:4-3-105 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a105_d*_i*
+ @angle:13-3-107 @atom:*_b*_a13_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a107_d*_i*
+ @angle:4-3-107 @atom:*_b*_a4_d*_i* @atom:*_b*_a3_d*_i* @atom:*_b*_a107_d*_i*
+ @angle:25-4-25 @atom:*_b*_a25_d*_i* @atom:*_b*_a4_d*_i* @atom:*_b*_a25_d*_i*
+ @angle:3-4-25 @atom:*_b*_a3_d*_i* @atom:*_b*_a4_d*_i* @atom:*_b*_a25_d*_i*
+ @angle:3-5-7 @atom:*_b*_a3_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a7_d*_i*
+ @angle:2-5-7 @atom:*_b*_a2_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a7_d*_i*
+ @angle:6-5-7 @atom:*_b*_a6_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a7_d*_i*
+ @angle:7-5-10 @atom:*_b*_a7_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a10_d*_i*
+ @angle:7-5-13 @atom:*_b*_a7_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:7-5-24 @atom:*_b*_a7_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a24_d*_i*
+ @angle:25-5-25 @atom:*_b*_a25_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a25_d*_i*
+ @angle:7-5-25 @atom:*_b*_a7_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a25_d*_i*
+ @angle:13-5-25 @atom:*_b*_a13_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a25_d*_i*
+ @angle:7-5-47 @atom:*_b*_a7_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:25-5-48 @atom:*_b*_a25_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:7-5-48 @atom:*_b*_a7_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:7-5-51 @atom:*_b*_a7_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a51_d*_i*
+ @angle:7-5-64 @atom:*_b*_a7_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a64_d*_i*
+ @angle:13-5-64 @atom:*_b*_a13_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a64_d*_i*
+ @angle:7-5-79 @atom:*_b*_a7_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a79_d*_i*
+ @angle:7-5-106 @atom:*_b*_a7_d*_i* @atom:*_b*_a5_d*_i* @atom:*_b*_a106_d*_i*
+ @angle:5-7-25 @atom:*_b*_a5_d*_i* @atom:*_b*_a7_d*_i* @atom:*_b*_a25_d*_i*
+ @angle:25-7-25 @atom:*_b*_a25_d*_i* @atom:*_b*_a7_d*_i* @atom:*_b*_a25_d*_i*
+ @angle:2-10-2 @atom:*_b*_a2_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a2_d*_i*
+ @angle:2-10-3 @atom:*_b*_a2_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a3_d*_i*
+ @angle:2-10-5 @atom:*_b*_a2_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a5_d*_i*
+ @angle:3-10-6 @atom:*_b*_a3_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a6_d*_i*
+ @angle:6-10-6 @atom:*_b*_a6_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a6_d*_i*
+ @angle:2-10-6 @atom:*_b*_a2_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a6_d*_i*
+ @angle:5-10-6 @atom:*_b*_a5_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a6_d*_i*
+ @angle:3-10-10 @atom:*_b*_a3_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a10_d*_i*
+ @angle:2-10-10 @atom:*_b*_a2_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a10_d*_i*
+ @angle:6-10-10 @atom:*_b*_a6_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a10_d*_i*
+ @angle:10-10-10 @atom:*_b*_a10_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a10_d*_i*
+ @angle:5-10-10 @atom:*_b*_a5_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a10_d*_i*
+ @angle:2-10-20 @atom:*_b*_a2_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a20_d*_i*
+ @angle:6-10-20 @atom:*_b*_a6_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a20_d*_i*
+ @angle:10-10-20 @atom:*_b*_a10_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a20_d*_i*
+ @angle:3-10-24 @atom:*_b*_a3_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a24_d*_i*
+ @angle:6-10-24 @atom:*_b*_a6_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a24_d*_i*
+ @angle:2-10-24 @atom:*_b*_a2_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a24_d*_i*
+ @angle:10-10-24 @atom:*_b*_a10_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a24_d*_i*
+ @angle:2-10-44 @atom:*_b*_a2_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a44_d*_i*
+ @angle:6-10-44 @atom:*_b*_a6_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a44_d*_i*
+ @angle:10-10-44 @atom:*_b*_a10_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a44_d*_i*
+ @angle:13-10-44 @atom:*_b*_a13_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a44_d*_i*
+ @angle:3-10-44 @atom:*_b*_a3_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a44_d*_i*
+ @angle:2-10-48 @atom:*_b*_a2_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:20-10-48 @atom:*_b*_a20_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:2-10-105 @atom:*_b*_a2_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a105_d*_i*
+ @angle:10-10-105 @atom:*_b*_a10_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a105_d*_i*
+ @angle:20-10-105 @atom:*_b*_a20_d*_i* @atom:*_b*_a10_d*_i* @atom:*_b*_a105_d*_i*
+ @angle:2-11-2 @atom:*_b*_a2_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a2_d*_i*
+ @angle:2-11-6 @atom:*_b*_a2_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a6_d*_i*
+ @angle:6-11-6 @atom:*_b*_a6_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a6_d*_i*
+ @angle:2-11-9 @atom:*_b*_a2_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a9_d*_i*
+ @angle:6-11-9 @atom:*_b*_a6_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a9_d*_i*
+ @angle:9-11-10 @atom:*_b*_a9_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a10_d*_i*
+ @angle:2-11-10 @atom:*_b*_a2_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a10_d*_i*
+ @angle:6-11-10 @atom:*_b*_a6_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a10_d*_i*
+ @angle:10-11-10 @atom:*_b*_a10_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a10_d*_i*
+ @angle:2-11-11 @atom:*_b*_a2_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a11_d*_i*
+ @angle:6-11-11 @atom:*_b*_a6_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a11_d*_i*
+ @angle:9-11-11 @atom:*_b*_a9_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a11_d*_i*
+ @angle:10-11-11 @atom:*_b*_a10_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a11_d*_i*
+ @angle:11-11-11 @atom:*_b*_a11_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a11_d*_i*
+ @angle:9-11-13 @atom:*_b*_a9_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:11-11-13 @atom:*_b*_a11_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:2-11-13 @atom:*_b*_a2_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:6-11-13 @atom:*_b*_a6_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:10-11-13 @atom:*_b*_a10_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:13-11-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:9-11-14 @atom:*_b*_a9_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a14_d*_i*
+ @angle:11-11-14 @atom:*_b*_a11_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a14_d*_i*
+ @angle:9-11-79 @atom:*_b*_a9_d*_i* @atom:*_b*_a11_d*_i* @atom:*_b*_a79_d*_i*
+ @angle:2-12-12 @atom:*_b*_a2_d*_i* @atom:*_b*_a12_d*_i* @atom:*_b*_a12_d*_i*
+ @angle:3-12-12 @atom:*_b*_a3_d*_i* @atom:*_b*_a12_d*_i* @atom:*_b*_a12_d*_i*
+ @angle:12-12-12 @atom:*_b*_a12_d*_i* @atom:*_b*_a12_d*_i* @atom:*_b*_a12_d*_i*
+ @angle:12-12-48 @atom:*_b*_a12_d*_i* @atom:*_b*_a12_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:12-12-60 @atom:*_b*_a12_d*_i* @atom:*_b*_a12_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:12-12-81 @atom:*_b*_a12_d*_i* @atom:*_b*_a12_d*_i* @atom:*_b*_a81_d*_i*
+ @angle:1-13-1 @atom:*_b*_a1_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a1_d*_i*
+ @angle:2-13-2 @atom:*_b*_a2_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a2_d*_i*
+ @angle:1-13-3 @atom:*_b*_a1_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a3_d*_i*
+ @angle:2-13-3 @atom:*_b*_a2_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a3_d*_i*
+ @angle:3-13-3 @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a3_d*_i*
+ @angle:2-13-6 @atom:*_b*_a2_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a6_d*_i*
+ @angle:6-13-6 @atom:*_b*_a6_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a6_d*_i*
+ @angle:3-13-6 @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a6_d*_i*
+ @angle:1-13-13 @atom:*_b*_a1_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:5-13-13 @atom:*_b*_a5_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:13-13-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:3-13-13 @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:13-13-15 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a15_d*_i*
+ @angle:13-13-16 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a16_d*_i*
+ @angle:13-13-19 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a19_d*_i*
+ @angle:3-13-20 @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a20_d*_i*
+ @angle:13-13-20 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a20_d*_i*
+ @angle:3-13-21 @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a21_d*_i*
+ @angle:13-13-21 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a21_d*_i*
+ @angle:21-13-21 @atom:*_b*_a21_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a21_d*_i*
+ @angle:13-13-22 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a22_d*_i*
+ @angle:20-13-24 @atom:*_b*_a20_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a24_d*_i*
+ @angle:3-13-24 @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a24_d*_i*
+ @angle:2-13-24 @atom:*_b*_a2_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a24_d*_i*
+ @angle:13-13-24 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a24_d*_i*
+ @angle:16-13-44 @atom:*_b*_a16_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a44_d*_i*
+ @angle:2-13-44 @atom:*_b*_a2_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a44_d*_i*
+ @angle:6-13-44 @atom:*_b*_a6_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a44_d*_i*
+ @angle:10-13-44 @atom:*_b*_a10_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a44_d*_i*
+ @angle:13-13-44 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a44_d*_i*
+ @angle:3-13-44 @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a44_d*_i*
+ @angle:46-13-46 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:18-13-46 @atom:*_b*_a18_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:19-13-46 @atom:*_b*_a19_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:2-13-46 @atom:*_b*_a2_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:3-13-46 @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:5-13-46 @atom:*_b*_a5_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:15-13-46 @atom:*_b*_a15_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:16-13-46 @atom:*_b*_a16_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:20-13-46 @atom:*_b*_a20_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:22-13-46 @atom:*_b*_a22_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:24-13-46 @atom:*_b*_a24_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:44-13-46 @atom:*_b*_a44_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:13-13-46 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:1-13-46 @atom:*_b*_a1_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:21-13-46 @atom:*_b*_a21_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:46-13-47 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:1-13-47 @atom:*_b*_a1_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:13-13-47 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:47-13-47 @atom:*_b*_a47_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:46-13-48 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:47-13-48 @atom:*_b*_a47_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:48-13-48 @atom:*_b*_a48_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:1-13-48 @atom:*_b*_a1_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:5-13-48 @atom:*_b*_a5_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:20-13-48 @atom:*_b*_a20_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:16-13-48 @atom:*_b*_a16_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:3-13-48 @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:2-13-48 @atom:*_b*_a2_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:13-13-48 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:44-13-48 @atom:*_b*_a44_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:46-13-50 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a50_d*_i*
+ @angle:46-13-51 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a51_d*_i*
+ @angle:5-13-51 @atom:*_b*_a5_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a51_d*_i*
+ @angle:13-13-51 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a51_d*_i*
+ @angle:46-13-53 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a53_d*_i*
+ @angle:3-13-53 @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a53_d*_i*
+ @angle:13-13-53 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a53_d*_i*
+ @angle:46-13-55 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a55_d*_i*
+ @angle:13-13-55 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a55_d*_i*
+ @angle:46-13-56 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a56_d*_i*
+ @angle:3-13-56 @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a56_d*_i*
+ @angle:13-13-56 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a56_d*_i*
+ @angle:46-13-57 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:48-13-57 @atom:*_b*_a48_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:46-13-60 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:13-13-60 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:46-13-64 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a64_d*_i*
+ @angle:13-13-64 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a64_d*_i*
+ @angle:48-13-64 @atom:*_b*_a48_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a64_d*_i*
+ @angle:46-13-65 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a65_d*_i*
+ @angle:3-13-65 @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a65_d*_i*
+ @angle:13-13-65 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a65_d*_i*
+ @angle:48-13-65 @atom:*_b*_a48_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a65_d*_i*
+ @angle:65-13-65 @atom:*_b*_a65_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a65_d*_i*
+ @angle:46-13-66 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a66_d*_i*
+ @angle:13-13-66 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a66_d*_i*
+ @angle:46-13-79 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a79_d*_i*
+ @angle:13-13-79 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a79_d*_i*
+ @angle:1-13-79 @atom:*_b*_a1_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a79_d*_i*
+ @angle:46-13-80 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a80_d*_i*
+ @angle:13-13-80 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a80_d*_i*
+ @angle:46-13-83 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a83_d*_i*
+ @angle:13-13-83 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a83_d*_i*
+ @angle:46-13-84 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:16-13-84 @atom:*_b*_a16_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:13-13-84 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:46-13-85 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a85_d*_i*
+ @angle:13-13-85 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a85_d*_i*
+ @angle:46-13-87 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a87_d*_i*
+ @angle:13-13-87 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a87_d*_i*
+ @angle:46-13-90 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a90_d*_i*
+ @angle:13-13-90 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a90_d*_i*
+ @angle:3-13-90 @atom:*_b*_a3_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a90_d*_i*
+ @angle:46-13-91 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a91_d*_i*
+ @angle:46-13-95 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a95_d*_i*
+ @angle:13-13-95 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a95_d*_i*
+ @angle:46-13-101 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a101_d*_i*
+ @angle:13-13-101 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a101_d*_i*
+ @angle:46-13-102 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a102_d*_i*
+ @angle:13-13-102 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a102_d*_i*
+ @angle:46-13-104 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a104_d*_i*
+ @angle:13-13-104 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a104_d*_i*
+ @angle:46-13-105 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a105_d*_i*
+ @angle:13-13-105 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a105_d*_i*
+ @angle:20-13-105 @atom:*_b*_a20_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a105_d*_i*
+ @angle:46-13-107 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a107_d*_i*
+ @angle:13-13-107 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a107_d*_i*
+ @angle:46-13-108 @atom:*_b*_a46_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a108_d*_i*
+ @angle:13-13-108 @atom:*_b*_a13_d*_i* @atom:*_b*_a13_d*_i* @atom:*_b*_a108_d*_i*
+ @angle:2-14-2 @atom:*_b*_a2_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a2_d*_i*
+ @angle:2-14-6 @atom:*_b*_a2_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a6_d*_i*
+ @angle:6-14-6 @atom:*_b*_a6_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a6_d*_i*
+ @angle:2-14-9 @atom:*_b*_a2_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a9_d*_i*
+ @angle:6-14-9 @atom:*_b*_a6_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a9_d*_i*
+ @angle:9-14-10 @atom:*_b*_a9_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a10_d*_i*
+ @angle:2-14-10 @atom:*_b*_a2_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a10_d*_i*
+ @angle:6-14-10 @atom:*_b*_a6_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a10_d*_i*
+ @angle:10-14-10 @atom:*_b*_a10_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a10_d*_i*
+ @angle:2-14-11 @atom:*_b*_a2_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a11_d*_i*
+ @angle:6-14-11 @atom:*_b*_a6_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a11_d*_i*
+ @angle:9-14-11 @atom:*_b*_a9_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a11_d*_i*
+ @angle:10-14-11 @atom:*_b*_a10_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a11_d*_i*
+ @angle:11-14-11 @atom:*_b*_a11_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a11_d*_i*
+ @angle:9-14-13 @atom:*_b*_a9_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:11-14-13 @atom:*_b*_a11_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:2-14-13 @atom:*_b*_a2_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:6-14-13 @atom:*_b*_a6_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:10-14-13 @atom:*_b*_a10_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:13-14-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:2-14-14 @atom:*_b*_a2_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a14_d*_i*
+ @angle:6-14-14 @atom:*_b*_a6_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a14_d*_i*
+ @angle:9-14-14 @atom:*_b*_a9_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a14_d*_i*
+ @angle:10-14-14 @atom:*_b*_a10_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a14_d*_i*
+ @angle:11-14-14 @atom:*_b*_a11_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a14_d*_i*
+ @angle:13-14-14 @atom:*_b*_a13_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a14_d*_i*
+ @angle:14-14-14 @atom:*_b*_a14_d*_i* @atom:*_b*_a14_d*_i* @atom:*_b*_a14_d*_i*
+ @angle:17-15-17 @atom:*_b*_a17_d*_i* @atom:*_b*_a15_d*_i* @atom:*_b*_a17_d*_i*
+ @angle:2-15-17 @atom:*_b*_a2_d*_i* @atom:*_b*_a15_d*_i* @atom:*_b*_a17_d*_i*
+ @angle:6-15-17 @atom:*_b*_a6_d*_i* @atom:*_b*_a15_d*_i* @atom:*_b*_a17_d*_i*
+ @angle:13-15-17 @atom:*_b*_a13_d*_i* @atom:*_b*_a15_d*_i* @atom:*_b*_a17_d*_i*
+ @angle:25-15-25 @atom:*_b*_a25_d*_i* @atom:*_b*_a15_d*_i* @atom:*_b*_a25_d*_i*
+ @angle:13-15-25 @atom:*_b*_a13_d*_i* @atom:*_b*_a15_d*_i* @atom:*_b*_a25_d*_i*
+ @angle:33-15-33 @atom:*_b*_a33_d*_i* @atom:*_b*_a15_d*_i* @atom:*_b*_a33_d*_i*
+ @angle:2-15-33 @atom:*_b*_a2_d*_i* @atom:*_b*_a15_d*_i* @atom:*_b*_a33_d*_i*
+ @angle:6-15-33 @atom:*_b*_a6_d*_i* @atom:*_b*_a15_d*_i* @atom:*_b*_a33_d*_i*
+ @angle:13-15-33 @atom:*_b*_a13_d*_i* @atom:*_b*_a15_d*_i* @atom:*_b*_a33_d*_i*
+ @angle:17-15-33 @atom:*_b*_a17_d*_i* @atom:*_b*_a15_d*_i* @atom:*_b*_a33_d*_i*
+ @angle:17-15-48 @atom:*_b*_a17_d*_i* @atom:*_b*_a15_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:2-16-6 @atom:*_b*_a2_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a6_d*_i*
+ @angle:13-16-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:2-16-16 @atom:*_b*_a2_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a16_d*_i*
+ @angle:6-16-16 @atom:*_b*_a6_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a16_d*_i*
+ @angle:13-16-16 @atom:*_b*_a13_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a16_d*_i*
+ @angle:13-16-19 @atom:*_b*_a13_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a19_d*_i*
+ @angle:25-16-25 @atom:*_b*_a25_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a25_d*_i*
+ @angle:13-16-25 @atom:*_b*_a13_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a25_d*_i*
+ @angle:33-16-33 @atom:*_b*_a33_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a33_d*_i*
+ @angle:2-16-33 @atom:*_b*_a2_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a33_d*_i*
+ @angle:6-16-33 @atom:*_b*_a6_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a33_d*_i*
+ @angle:13-16-33 @atom:*_b*_a13_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a33_d*_i*
+ @angle:16-16-33 @atom:*_b*_a16_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a33_d*_i*
+ @angle:13-16-48 @atom:*_b*_a13_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:47-16-48 @atom:*_b*_a47_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:24-16-60 @atom:*_b*_a24_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:25-16-61 @atom:*_b*_a25_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a61_d*_i*
+ @angle:25-16-82 @atom:*_b*_a25_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a82_d*_i*
+ @angle:60-16-82 @atom:*_b*_a60_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a82_d*_i*
+ @angle:25-16-84 @atom:*_b*_a25_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:82-16-84 @atom:*_b*_a82_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:60-16-84 @atom:*_b*_a60_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:84-16-84 @atom:*_b*_a84_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:13-16-91 @atom:*_b*_a13_d*_i* @atom:*_b*_a16_d*_i* @atom:*_b*_a91_d*_i*
+ @angle:15-17-25 @atom:*_b*_a15_d*_i* @atom:*_b*_a17_d*_i* @atom:*_b*_a25_d*_i*
+ @angle:25-17-25 @atom:*_b*_a25_d*_i* @atom:*_b*_a17_d*_i* @atom:*_b*_a25_d*_i*
+ @angle:13-18-19 @atom:*_b*_a13_d*_i* @atom:*_b*_a18_d*_i* @atom:*_b*_a19_d*_i*
+ @angle:19-18-48 @atom:*_b*_a19_d*_i* @atom:*_b*_a18_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:18-18-56 @atom:*_b*_a18_d*_i* @atom:*_b*_a18_d*_i* @atom:*_b*_a56_d*_i*
+ @angle:13-19-18 @atom:*_b*_a13_d*_i* @atom:*_b*_a19_d*_i* @atom:*_b*_a18_d*_i*
+ @angle:16-19-19 @atom:*_b*_a16_d*_i* @atom:*_b*_a19_d*_i* @atom:*_b*_a19_d*_i*
+ @angle:13-19-19 @atom:*_b*_a13_d*_i* @atom:*_b*_a19_d*_i* @atom:*_b*_a19_d*_i*
+ @angle:18-19-25 @atom:*_b*_a18_d*_i* @atom:*_b*_a19_d*_i* @atom:*_b*_a25_d*_i*
+ @angle:19-19-46 @atom:*_b*_a19_d*_i* @atom:*_b*_a19_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:18-19-47 @atom:*_b*_a18_d*_i* @atom:*_b*_a19_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:19-19-47 @atom:*_b*_a19_d*_i* @atom:*_b*_a19_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:18-19-48 @atom:*_b*_a18_d*_i* @atom:*_b*_a19_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:19-19-48 @atom:*_b*_a19_d*_i* @atom:*_b*_a19_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:19-19-50 @atom:*_b*_a19_d*_i* @atom:*_b*_a19_d*_i* @atom:*_b*_a50_d*_i*
+ @angle:18-19-55 @atom:*_b*_a18_d*_i* @atom:*_b*_a19_d*_i* @atom:*_b*_a55_d*_i*
+ @angle:18-19-88 @atom:*_b*_a18_d*_i* @atom:*_b*_a19_d*_i* @atom:*_b*_a88_d*_i*
+ @angle:2-20-2 @atom:*_b*_a2_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a2_d*_i*
+ @angle:2-20-3 @atom:*_b*_a2_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a3_d*_i*
+ @angle:3-20-6 @atom:*_b*_a3_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a6_d*_i*
+ @angle:2-20-6 @atom:*_b*_a2_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a6_d*_i*
+ @angle:2-20-7 @atom:*_b*_a2_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a7_d*_i*
+ @angle:7-20-10 @atom:*_b*_a7_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a10_d*_i*
+ @angle:3-20-10 @atom:*_b*_a3_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a10_d*_i*
+ @angle:10-20-10 @atom:*_b*_a10_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a10_d*_i*
+ @angle:13-20-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:3-20-13 @atom:*_b*_a3_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:25-20-25 @atom:*_b*_a25_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a25_d*_i*
+ @angle:13-20-25 @atom:*_b*_a13_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a25_d*_i*
+ @angle:13-20-47 @atom:*_b*_a13_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:25-20-48 @atom:*_b*_a25_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:13-20-48 @atom:*_b*_a13_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:47-20-48 @atom:*_b*_a47_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:48-20-48 @atom:*_b*_a48_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:3-20-48 @atom:*_b*_a3_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:2-20-48 @atom:*_b*_a2_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:13-20-51 @atom:*_b*_a13_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a51_d*_i*
+ @angle:2-20-51 @atom:*_b*_a2_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a51_d*_i*
+ @angle:6-20-51 @atom:*_b*_a6_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a51_d*_i*
+ @angle:10-20-51 @atom:*_b*_a10_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a51_d*_i*
+ @angle:24-20-60 @atom:*_b*_a24_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:25-20-61 @atom:*_b*_a25_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a61_d*_i*
+ @angle:2-20-64 @atom:*_b*_a2_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a64_d*_i*
+ @angle:6-20-64 @atom:*_b*_a6_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a64_d*_i*
+ @angle:10-20-64 @atom:*_b*_a10_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a64_d*_i*
+ @angle:13-20-64 @atom:*_b*_a13_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a64_d*_i*
+ @angle:48-20-64 @atom:*_b*_a48_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a64_d*_i*
+ @angle:64-20-64 @atom:*_b*_a64_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a64_d*_i*
+ @angle:25-20-82 @atom:*_b*_a25_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a82_d*_i*
+ @angle:60-20-82 @atom:*_b*_a60_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a82_d*_i*
+ @angle:82-20-82 @atom:*_b*_a82_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a82_d*_i*
+ @angle:25-20-84 @atom:*_b*_a25_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:82-20-84 @atom:*_b*_a82_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:60-20-84 @atom:*_b*_a60_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:84-20-84 @atom:*_b*_a84_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:61-20-84 @atom:*_b*_a61_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:108-20-108 @atom:*_b*_a108_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a108_d*_i*
+ @angle:13-20-108 @atom:*_b*_a13_d*_i* @atom:*_b*_a20_d*_i* @atom:*_b*_a108_d*_i*
+ @angle:25-21-25 @atom:*_b*_a25_d*_i* @atom:*_b*_a21_d*_i* @atom:*_b*_a25_d*_i*
+ @angle:13-22-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a22_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:13-22-23 @atom:*_b*_a13_d*_i* @atom:*_b*_a22_d*_i* @atom:*_b*_a23_d*_i*
+ @angle:23-22-25 @atom:*_b*_a23_d*_i* @atom:*_b*_a22_d*_i* @atom:*_b*_a25_d*_i*
+ @angle:2-24-3 @atom:*_b*_a2_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a3_d*_i*
+ @angle:3-24-3 @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a3_d*_i*
+ @angle:3-24-5 @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a5_d*_i*
+ @angle:2-24-6 @atom:*_b*_a2_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a6_d*_i*
+ @angle:3-24-6 @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a6_d*_i*
+ @angle:2-24-10 @atom:*_b*_a2_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a10_d*_i*
+ @angle:3-24-10 @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a10_d*_i*
+ @angle:13-24-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:3-24-13 @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:3-24-16 @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a16_d*_i*
+ @angle:3-24-20 @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a20_d*_i*
+ @angle:3-24-25 @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a25_d*_i*
+ @angle:25-24-45 @atom:*_b*_a25_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a45_d*_i*
+ @angle:5-24-45 @atom:*_b*_a5_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a45_d*_i*
+ @angle:3-24-45 @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a45_d*_i*
+ @angle:45-24-45 @atom:*_b*_a45_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a45_d*_i*
+ @angle:2-24-45 @atom:*_b*_a2_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a45_d*_i*
+ @angle:6-24-45 @atom:*_b*_a6_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a45_d*_i*
+ @angle:10-24-45 @atom:*_b*_a10_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a45_d*_i*
+ @angle:13-24-45 @atom:*_b*_a13_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a45_d*_i*
+ @angle:45-24-48 @atom:*_b*_a45_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:13-24-48 @atom:*_b*_a13_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:3-24-48 @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:48-24-48 @atom:*_b*_a48_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:54-24-54 @atom:*_b*_a54_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a54_d*_i*
+ @angle:45-24-59 @atom:*_b*_a45_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a59_d*_i*
+ @angle:3-24-59 @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a59_d*_i*
+ @angle:13-24-79 @atom:*_b*_a13_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a79_d*_i*
+ @angle:45-24-79 @atom:*_b*_a45_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a79_d*_i*
+ @angle:45-24-84 @atom:*_b*_a45_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:48-24-84 @atom:*_b*_a48_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:16-24-86 @atom:*_b*_a16_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a86_d*_i*
+ @angle:45-24-87 @atom:*_b*_a45_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a87_d*_i*
+ @angle:48-24-87 @atom:*_b*_a48_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a87_d*_i*
+ @angle:45-24-88 @atom:*_b*_a45_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a88_d*_i*
+ @angle:48-24-88 @atom:*_b*_a48_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a88_d*_i*
+ @angle:45-24-91 @atom:*_b*_a45_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a91_d*_i*
+ @angle:3-24-91 @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a91_d*_i*
+ @angle:48-24-103 @atom:*_b*_a48_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a103_d*_i*
+ @angle:3-24-106 @atom:*_b*_a3_d*_i* @atom:*_b*_a24_d*_i* @atom:*_b*_a106_d*_i*
+ @angle:25-25-25 @atom:*_b*_a25_d*_i* @atom:*_b*_a25_d*_i* @atom:*_b*_a25_d*_i*
+ @angle:32-31-32 @atom:*_b*_a32_d*_i* @atom:*_b*_a31_d*_i* @atom:*_b*_a32_d*_i*
+ @angle:32-31-33 @atom:*_b*_a32_d*_i* @atom:*_b*_a31_d*_i* @atom:*_b*_a33_d*_i*
+ @angle:35-34-35 @atom:*_b*_a35_d*_i* @atom:*_b*_a34_d*_i* @atom:*_b*_a35_d*_i*
+ @angle:37-36-37 @atom:*_b*_a37_d*_i* @atom:*_b*_a36_d*_i* @atom:*_b*_a37_d*_i*
+ @angle:37-36-38 @atom:*_b*_a37_d*_i* @atom:*_b*_a36_d*_i* @atom:*_b*_a38_d*_i*
+ @angle:40-39-40 @atom:*_b*_a40_d*_i* @atom:*_b*_a39_d*_i* @atom:*_b*_a40_d*_i*
+ @angle:41-39-41 @atom:*_b*_a41_d*_i* @atom:*_b*_a39_d*_i* @atom:*_b*_a41_d*_i*
+ @angle:40-39-41 @atom:*_b*_a40_d*_i* @atom:*_b*_a39_d*_i* @atom:*_b*_a41_d*_i*
+ @angle:43-42-43 @atom:*_b*_a43_d*_i* @atom:*_b*_a42_d*_i* @atom:*_b*_a43_d*_i*
+ @angle:2-44-2 @atom:*_b*_a2_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a2_d*_i*
+ @angle:2-44-6 @atom:*_b*_a2_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a6_d*_i*
+ @angle:6-44-6 @atom:*_b*_a6_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a6_d*_i*
+ @angle:2-44-10 @atom:*_b*_a2_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a10_d*_i*
+ @angle:6-44-10 @atom:*_b*_a6_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a10_d*_i*
+ @angle:10-44-10 @atom:*_b*_a10_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a10_d*_i*
+ @angle:2-44-13 @atom:*_b*_a2_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:6-44-13 @atom:*_b*_a6_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:10-44-13 @atom:*_b*_a10_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:13-44-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:3-44-13 @atom:*_b*_a3_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:25-44-45 @atom:*_b*_a25_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a45_d*_i*
+ @angle:13-44-45 @atom:*_b*_a13_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a45_d*_i*
+ @angle:2-44-45 @atom:*_b*_a2_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a45_d*_i*
+ @angle:6-44-45 @atom:*_b*_a6_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a45_d*_i*
+ @angle:10-44-45 @atom:*_b*_a10_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a45_d*_i*
+ @angle:45-44-45 @atom:*_b*_a45_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a45_d*_i*
+ @angle:25-44-48 @atom:*_b*_a25_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:45-44-48 @atom:*_b*_a45_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:13-44-48 @atom:*_b*_a13_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:48-44-48 @atom:*_b*_a48_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:3-44-48 @atom:*_b*_a3_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:45-44-79 @atom:*_b*_a45_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a79_d*_i*
+ @angle:13-44-79 @atom:*_b*_a13_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a79_d*_i*
+ @angle:48-44-79 @atom:*_b*_a48_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a79_d*_i*
+ @angle:48-44-91 @atom:*_b*_a48_d*_i* @atom:*_b*_a44_d*_i* @atom:*_b*_a91_d*_i*
+ @angle:25-45-25 @atom:*_b*_a25_d*_i* @atom:*_b*_a45_d*_i* @atom:*_b*_a25_d*_i*
+ @angle:25-45-44 @atom:*_b*_a25_d*_i* @atom:*_b*_a45_d*_i* @atom:*_b*_a44_d*_i*
+ @angle:25-46-25 @atom:*_b*_a25_d*_i* @atom:*_b*_a46_d*_i* @atom:*_b*_a25_d*_i*
+ @angle:13-46-25 @atom:*_b*_a13_d*_i* @atom:*_b*_a46_d*_i* @atom:*_b*_a25_d*_i*
+ @angle:1-47-1 @atom:*_b*_a1_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a1_d*_i*
+ @angle:1-47-3 @atom:*_b*_a1_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a3_d*_i*
+ @angle:3-47-6 @atom:*_b*_a3_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a6_d*_i*
+ @angle:3-47-13 @atom:*_b*_a3_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:13-47-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:25-47-46 @atom:*_b*_a25_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:20-47-46 @atom:*_b*_a20_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:13-47-46 @atom:*_b*_a13_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:46-47-46 @atom:*_b*_a46_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:3-47-46 @atom:*_b*_a3_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:19-47-46 @atom:*_b*_a19_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:1-47-46 @atom:*_b*_a1_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:21-47-46 @atom:*_b*_a21_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:25-47-47 @atom:*_b*_a25_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:46-47-47 @atom:*_b*_a46_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:5-47-47 @atom:*_b*_a5_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:20-47-47 @atom:*_b*_a20_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:13-47-47 @atom:*_b*_a13_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:19-47-47 @atom:*_b*_a19_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:21-47-47 @atom:*_b*_a21_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:1-47-47 @atom:*_b*_a1_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:16-47-47 @atom:*_b*_a16_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:3-47-47 @atom:*_b*_a3_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:46-47-48 @atom:*_b*_a46_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:47-47-48 @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:13-47-48 @atom:*_b*_a13_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:25-47-50 @atom:*_b*_a25_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a50_d*_i*
+ @angle:46-47-50 @atom:*_b*_a46_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a50_d*_i*
+ @angle:5-47-50 @atom:*_b*_a5_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a50_d*_i*
+ @angle:20-47-50 @atom:*_b*_a20_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a50_d*_i*
+ @angle:13-47-50 @atom:*_b*_a13_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a50_d*_i*
+ @angle:46-47-57 @atom:*_b*_a46_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:13-47-57 @atom:*_b*_a13_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:20-47-57 @atom:*_b*_a20_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:47-47-57 @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:16-47-57 @atom:*_b*_a16_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:57-47-58 @atom:*_b*_a57_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a58_d*_i*
+ @angle:47-47-58 @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a58_d*_i*
+ @angle:46-47-65 @atom:*_b*_a46_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a65_d*_i*
+ @angle:47-47-65 @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a65_d*_i*
+ @angle:46-47-91 @atom:*_b*_a46_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a91_d*_i*
+ @angle:3-47-91 @atom:*_b*_a3_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a91_d*_i*
+ @angle:47-47-91 @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a91_d*_i*
+ @angle:46-47-105 @atom:*_b*_a46_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a105_d*_i*
+ @angle:58-47-105 @atom:*_b*_a58_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a105_d*_i*
+ @angle:13-47-105 @atom:*_b*_a13_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a105_d*_i*
+ @angle:20-47-105 @atom:*_b*_a20_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a105_d*_i*
+ @angle:47-47-105 @atom:*_b*_a47_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a105_d*_i*
+ @angle:16-47-105 @atom:*_b*_a16_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a105_d*_i*
+ @angle:46-47-110 @atom:*_b*_a46_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a110_d*_i*
+ @angle:13-47-110 @atom:*_b*_a13_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a110_d*_i*
+ @angle:48-47-110 @atom:*_b*_a48_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a110_d*_i*
+ @angle:1-47-110 @atom:*_b*_a1_d*_i* @atom:*_b*_a47_d*_i* @atom:*_b*_a110_d*_i*
+ @angle:2-48-12 @atom:*_b*_a2_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a12_d*_i*
+ @angle:12-48-12 @atom:*_b*_a12_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a12_d*_i*
+ @angle:3-48-13 @atom:*_b*_a3_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:25-48-48 @atom:*_b*_a25_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:48-48-48 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:2-48-48 @atom:*_b*_a2_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:5-48-48 @atom:*_b*_a5_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:10-48-48 @atom:*_b*_a10_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:13-48-48 @atom:*_b*_a13_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:15-48-48 @atom:*_b*_a15_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:19-48-48 @atom:*_b*_a19_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:20-48-48 @atom:*_b*_a20_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:24-48-48 @atom:*_b*_a24_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:44-48-48 @atom:*_b*_a44_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:47-48-48 @atom:*_b*_a47_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:21-48-48 @atom:*_b*_a21_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:1-48-48 @atom:*_b*_a1_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:18-48-48 @atom:*_b*_a18_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:16-48-48 @atom:*_b*_a16_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:3-48-48 @atom:*_b*_a3_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:25-48-49 @atom:*_b*_a25_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a49_d*_i*
+ @angle:24-48-49 @atom:*_b*_a24_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a49_d*_i*
+ @angle:3-48-49 @atom:*_b*_a3_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a49_d*_i*
+ @angle:48-48-49 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a49_d*_i*
+ @angle:48-48-50 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a50_d*_i*
+ @angle:48-48-53 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a53_d*_i*
+ @angle:55-48-55 @atom:*_b*_a55_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a55_d*_i*
+ @angle:47-48-55 @atom:*_b*_a47_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a55_d*_i*
+ @angle:48-48-55 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a55_d*_i*
+ @angle:49-48-56 @atom:*_b*_a49_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a56_d*_i*
+ @angle:13-48-56 @atom:*_b*_a13_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a56_d*_i*
+ @angle:44-48-56 @atom:*_b*_a44_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a56_d*_i*
+ @angle:55-48-56 @atom:*_b*_a55_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a56_d*_i*
+ @angle:5-48-56 @atom:*_b*_a5_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a56_d*_i*
+ @angle:47-48-56 @atom:*_b*_a47_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a56_d*_i*
+ @angle:50-48-56 @atom:*_b*_a50_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a56_d*_i*
+ @angle:48-48-56 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a56_d*_i*
+ @angle:21-48-56 @atom:*_b*_a21_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a56_d*_i*
+ @angle:49-48-57 @atom:*_b*_a49_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:48-48-57 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:55-48-57 @atom:*_b*_a55_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:13-48-57 @atom:*_b*_a13_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:47-48-57 @atom:*_b*_a47_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:56-48-57 @atom:*_b*_a56_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:49-48-60 @atom:*_b*_a49_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:48-48-60 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:57-48-60 @atom:*_b*_a57_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:56-48-60 @atom:*_b*_a56_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:55-48-60 @atom:*_b*_a55_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:2-48-60 @atom:*_b*_a2_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:13-48-60 @atom:*_b*_a13_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:49-48-61 @atom:*_b*_a49_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a61_d*_i*
+ @angle:48-48-61 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a61_d*_i*
+ @angle:57-48-61 @atom:*_b*_a57_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a61_d*_i*
+ @angle:48-48-64 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a64_d*_i*
+ @angle:48-48-65 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a65_d*_i*
+ @angle:48-48-66 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a66_d*_i*
+ @angle:48-48-79 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a79_d*_i*
+ @angle:49-48-81 @atom:*_b*_a49_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a81_d*_i*
+ @angle:48-48-81 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a81_d*_i*
+ @angle:49-48-84 @atom:*_b*_a49_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:60-48-84 @atom:*_b*_a60_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:48-48-84 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:49-48-86 @atom:*_b*_a49_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a86_d*_i*
+ @angle:48-48-86 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a86_d*_i*
+ @angle:56-48-86 @atom:*_b*_a56_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a86_d*_i*
+ @angle:49-48-88 @atom:*_b*_a49_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a88_d*_i*
+ @angle:101-48-101 @atom:*_b*_a101_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a101_d*_i*
+ @angle:56-48-101 @atom:*_b*_a56_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a101_d*_i*
+ @angle:48-48-102 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a102_d*_i*
+ @angle:48-48-109 @atom:*_b*_a48_d*_i* @atom:*_b*_a48_d*_i* @atom:*_b*_a109_d*_i*
+ @angle:25-50-46 @atom:*_b*_a25_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:19-50-46 @atom:*_b*_a19_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:25-50-47 @atom:*_b*_a25_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:46-50-47 @atom:*_b*_a46_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:3-50-47 @atom:*_b*_a3_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:13-50-47 @atom:*_b*_a13_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:46-50-48 @atom:*_b*_a46_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:47-50-48 @atom:*_b*_a47_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:25-50-50 @atom:*_b*_a25_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a50_d*_i*
+ @angle:46-50-50 @atom:*_b*_a46_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a50_d*_i*
+ @angle:13-50-50 @atom:*_b*_a13_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a50_d*_i*
+ @angle:47-50-50 @atom:*_b*_a47_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a50_d*_i*
+ @angle:50-50-84 @atom:*_b*_a50_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:46-50-84 @atom:*_b*_a46_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:46-50-109 @atom:*_b*_a46_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a109_d*_i*
+ @angle:13-50-109 @atom:*_b*_a13_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a109_d*_i*
+ @angle:47-50-109 @atom:*_b*_a47_d*_i* @atom:*_b*_a50_d*_i* @atom:*_b*_a109_d*_i*
+ @angle:6-51-6 @atom:*_b*_a6_d*_i* @atom:*_b*_a51_d*_i* @atom:*_b*_a6_d*_i*
+ @angle:5-51-13 @atom:*_b*_a5_d*_i* @atom:*_b*_a51_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:13-51-20 @atom:*_b*_a13_d*_i* @atom:*_b*_a51_d*_i* @atom:*_b*_a20_d*_i*
+ @angle:2-51-20 @atom:*_b*_a2_d*_i* @atom:*_b*_a51_d*_i* @atom:*_b*_a20_d*_i*
+ @angle:6-51-20 @atom:*_b*_a6_d*_i* @atom:*_b*_a51_d*_i* @atom:*_b*_a20_d*_i*
+ @angle:5-51-20 @atom:*_b*_a5_d*_i* @atom:*_b*_a51_d*_i* @atom:*_b*_a20_d*_i*
+ @angle:20-51-20 @atom:*_b*_a20_d*_i* @atom:*_b*_a51_d*_i* @atom:*_b*_a20_d*_i*
+ @angle:46-51-46 @atom:*_b*_a46_d*_i* @atom:*_b*_a51_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:5-51-46 @atom:*_b*_a5_d*_i* @atom:*_b*_a51_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:20-51-46 @atom:*_b*_a20_d*_i* @atom:*_b*_a51_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:13-51-46 @atom:*_b*_a13_d*_i* @atom:*_b*_a51_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:46-51-105 @atom:*_b*_a46_d*_i* @atom:*_b*_a51_d*_i* @atom:*_b*_a105_d*_i*
+ @angle:13-51-105 @atom:*_b*_a13_d*_i* @atom:*_b*_a51_d*_i* @atom:*_b*_a105_d*_i*
+ @angle:20-51-105 @atom:*_b*_a20_d*_i* @atom:*_b*_a51_d*_i* @atom:*_b*_a105_d*_i*
+ @angle:13-53-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a53_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:13-53-25 @atom:*_b*_a13_d*_i* @atom:*_b*_a53_d*_i* @atom:*_b*_a25_d*_i*
+ @angle:45-53-45 @atom:*_b*_a45_d*_i* @atom:*_b*_a53_d*_i* @atom:*_b*_a45_d*_i*
+ @angle:25-53-48 @atom:*_b*_a25_d*_i* @atom:*_b*_a53_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:13-53-48 @atom:*_b*_a13_d*_i* @atom:*_b*_a53_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:2-53-54 @atom:*_b*_a2_d*_i* @atom:*_b*_a53_d*_i* @atom:*_b*_a54_d*_i*
+ @angle:6-53-54 @atom:*_b*_a6_d*_i* @atom:*_b*_a53_d*_i* @atom:*_b*_a54_d*_i*
+ @angle:13-53-54 @atom:*_b*_a13_d*_i* @atom:*_b*_a53_d*_i* @atom:*_b*_a54_d*_i*
+ @angle:48-53-54 @atom:*_b*_a48_d*_i* @atom:*_b*_a53_d*_i* @atom:*_b*_a54_d*_i*
+ @angle:54-53-54 @atom:*_b*_a54_d*_i* @atom:*_b*_a53_d*_i* @atom:*_b*_a54_d*_i*
+ @angle:25-53-82 @atom:*_b*_a25_d*_i* @atom:*_b*_a53_d*_i* @atom:*_b*_a82_d*_i*
+ @angle:13-55-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a55_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:45-55-45 @atom:*_b*_a45_d*_i* @atom:*_b*_a55_d*_i* @atom:*_b*_a45_d*_i*
+ @angle:13-55-45 @atom:*_b*_a13_d*_i* @atom:*_b*_a55_d*_i* @atom:*_b*_a45_d*_i*
+ @angle:45-55-48 @atom:*_b*_a45_d*_i* @atom:*_b*_a55_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:2-55-48 @atom:*_b*_a2_d*_i* @atom:*_b*_a55_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:6-55-48 @atom:*_b*_a6_d*_i* @atom:*_b*_a55_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:13-55-48 @atom:*_b*_a13_d*_i* @atom:*_b*_a55_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:2-55-54 @atom:*_b*_a2_d*_i* @atom:*_b*_a55_d*_i* @atom:*_b*_a54_d*_i*
+ @angle:13-55-54 @atom:*_b*_a13_d*_i* @atom:*_b*_a55_d*_i* @atom:*_b*_a54_d*_i*
+ @angle:48-55-54 @atom:*_b*_a48_d*_i* @atom:*_b*_a55_d*_i* @atom:*_b*_a54_d*_i*
+ @angle:54-55-54 @atom:*_b*_a54_d*_i* @atom:*_b*_a55_d*_i* @atom:*_b*_a54_d*_i*
+ @angle:45-55-59 @atom:*_b*_a45_d*_i* @atom:*_b*_a55_d*_i* @atom:*_b*_a59_d*_i*
+ @angle:3-56-13 @atom:*_b*_a3_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:13-56-18 @atom:*_b*_a13_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a18_d*_i*
+ @angle:25-56-48 @atom:*_b*_a25_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:45-56-48 @atom:*_b*_a45_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:13-56-48 @atom:*_b*_a13_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:48-56-48 @atom:*_b*_a48_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:3-56-48 @atom:*_b*_a3_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:13-56-56 @atom:*_b*_a13_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a56_d*_i*
+ @angle:48-56-56 @atom:*_b*_a48_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a56_d*_i*
+ @angle:25-56-59 @atom:*_b*_a25_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a59_d*_i*
+ @angle:48-56-59 @atom:*_b*_a48_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a59_d*_i*
+ @angle:59-56-59 @atom:*_b*_a59_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a59_d*_i*
+ @angle:59-56-60 @atom:*_b*_a59_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:48-56-60 @atom:*_b*_a48_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:59-56-82 @atom:*_b*_a59_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a82_d*_i*
+ @angle:48-56-86 @atom:*_b*_a48_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a86_d*_i*
+ @angle:13-56-103 @atom:*_b*_a13_d*_i* @atom:*_b*_a56_d*_i* @atom:*_b*_a103_d*_i*
+ @angle:3-57-3 @atom:*_b*_a3_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a3_d*_i*
+ @angle:3-57-45 @atom:*_b*_a3_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a45_d*_i*
+ @angle:45-57-47 @atom:*_b*_a45_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:3-57-47 @atom:*_b*_a3_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:45-57-48 @atom:*_b*_a45_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:3-57-48 @atom:*_b*_a3_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:48-57-48 @atom:*_b*_a48_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:45-57-60 @atom:*_b*_a45_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:13-57-60 @atom:*_b*_a13_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:60-57-61 @atom:*_b*_a60_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a61_d*_i*
+ @angle:45-57-61 @atom:*_b*_a45_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a61_d*_i*
+ @angle:13-57-61 @atom:*_b*_a13_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a61_d*_i*
+ @angle:48-57-61 @atom:*_b*_a48_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a61_d*_i*
+ @angle:45-57-62 @atom:*_b*_a45_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a62_d*_i*
+ @angle:60-57-62 @atom:*_b*_a60_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a62_d*_i*
+ @angle:48-57-62 @atom:*_b*_a48_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a62_d*_i*
+ @angle:13-57-62 @atom:*_b*_a13_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a62_d*_i*
+ @angle:45-57-81 @atom:*_b*_a45_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a81_d*_i*
+ @angle:45-57-82 @atom:*_b*_a45_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a82_d*_i*
+ @angle:61-57-82 @atom:*_b*_a61_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a82_d*_i*
+ @angle:60-57-82 @atom:*_b*_a60_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a82_d*_i*
+ @angle:45-57-84 @atom:*_b*_a45_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:61-57-84 @atom:*_b*_a61_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:60-57-84 @atom:*_b*_a60_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:82-57-84 @atom:*_b*_a82_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:84-57-84 @atom:*_b*_a84_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:81-57-84 @atom:*_b*_a81_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:45-57-85 @atom:*_b*_a45_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a85_d*_i*
+ @angle:82-57-85 @atom:*_b*_a82_d*_i* @atom:*_b*_a57_d*_i* @atom:*_b*_a85_d*_i*
+ @angle:24-59-55 @atom:*_b*_a24_d*_i* @atom:*_b*_a59_d*_i* @atom:*_b*_a55_d*_i*
+ @angle:49-59-56 @atom:*_b*_a49_d*_i* @atom:*_b*_a59_d*_i* @atom:*_b*_a56_d*_i*
+ @angle:13-59-56 @atom:*_b*_a13_d*_i* @atom:*_b*_a59_d*_i* @atom:*_b*_a56_d*_i*
+ @angle:55-59-56 @atom:*_b*_a55_d*_i* @atom:*_b*_a59_d*_i* @atom:*_b*_a56_d*_i*
+ @angle:24-59-56 @atom:*_b*_a24_d*_i* @atom:*_b*_a59_d*_i* @atom:*_b*_a56_d*_i*
+ @angle:56-59-56 @atom:*_b*_a56_d*_i* @atom:*_b*_a59_d*_i* @atom:*_b*_a56_d*_i*
+ @angle:56-59-63 @atom:*_b*_a56_d*_i* @atom:*_b*_a59_d*_i* @atom:*_b*_a63_d*_i*
+ @angle:13-60-48 @atom:*_b*_a13_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:48-60-48 @atom:*_b*_a48_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:56-60-57 @atom:*_b*_a56_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:57-60-60 @atom:*_b*_a57_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:20-60-60 @atom:*_b*_a20_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:16-60-60 @atom:*_b*_a16_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:13-60-60 @atom:*_b*_a13_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:24-60-60 @atom:*_b*_a24_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:56-60-60 @atom:*_b*_a56_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:48-60-60 @atom:*_b*_a48_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:3-60-60 @atom:*_b*_a3_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:60-60-61 @atom:*_b*_a60_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a61_d*_i*
+ @angle:24-60-61 @atom:*_b*_a24_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a61_d*_i*
+ @angle:3-60-61 @atom:*_b*_a3_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a61_d*_i*
+ @angle:48-60-61 @atom:*_b*_a48_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a61_d*_i*
+ @angle:12-60-80 @atom:*_b*_a12_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a80_d*_i*
+ @angle:48-60-80 @atom:*_b*_a48_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a80_d*_i*
+ @angle:80-60-81 @atom:*_b*_a80_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a81_d*_i*
+ @angle:12-60-81 @atom:*_b*_a12_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a81_d*_i*
+ @angle:48-60-81 @atom:*_b*_a48_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a81_d*_i*
+ @angle:3-60-84 @atom:*_b*_a3_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:60-60-87 @atom:*_b*_a60_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a87_d*_i*
+ @angle:57-60-87 @atom:*_b*_a57_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a87_d*_i*
+ @angle:81-60-87 @atom:*_b*_a81_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a87_d*_i*
+ @angle:12-60-87 @atom:*_b*_a12_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a87_d*_i*
+ @angle:48-60-87 @atom:*_b*_a48_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a87_d*_i*
+ @angle:60-60-105 @atom:*_b*_a60_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a105_d*_i*
+ @angle:56-60-105 @atom:*_b*_a56_d*_i* @atom:*_b*_a60_d*_i* @atom:*_b*_a105_d*_i*
+ @angle:48-61-48 @atom:*_b*_a48_d*_i* @atom:*_b*_a61_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:25-61-57 @atom:*_b*_a25_d*_i* @atom:*_b*_a61_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:25-61-61 @atom:*_b*_a25_d*_i* @atom:*_b*_a61_d*_i* @atom:*_b*_a61_d*_i*
+ @angle:60-61-62 @atom:*_b*_a60_d*_i* @atom:*_b*_a61_d*_i* @atom:*_b*_a62_d*_i*
+ @angle:25-61-82 @atom:*_b*_a25_d*_i* @atom:*_b*_a61_d*_i* @atom:*_b*_a82_d*_i*
+ @angle:61-61-82 @atom:*_b*_a61_d*_i* @atom:*_b*_a61_d*_i* @atom:*_b*_a82_d*_i*
+ @angle:60-61-82 @atom:*_b*_a60_d*_i* @atom:*_b*_a61_d*_i* @atom:*_b*_a82_d*_i*
+ @angle:82-61-83 @atom:*_b*_a82_d*_i* @atom:*_b*_a61_d*_i* @atom:*_b*_a83_d*_i*
+ @angle:57-61-84 @atom:*_b*_a57_d*_i* @atom:*_b*_a61_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:82-61-84 @atom:*_b*_a82_d*_i* @atom:*_b*_a61_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:57-61-88 @atom:*_b*_a57_d*_i* @atom:*_b*_a61_d*_i* @atom:*_b*_a88_d*_i*
+ @angle:20-61-88 @atom:*_b*_a20_d*_i* @atom:*_b*_a61_d*_i* @atom:*_b*_a88_d*_i*
+ @angle:49-62-57 @atom:*_b*_a49_d*_i* @atom:*_b*_a62_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:49-62-61 @atom:*_b*_a49_d*_i* @atom:*_b*_a62_d*_i* @atom:*_b*_a61_d*_i*
+ @angle:57-62-61 @atom:*_b*_a57_d*_i* @atom:*_b*_a62_d*_i* @atom:*_b*_a61_d*_i*
+ @angle:57-62-63 @atom:*_b*_a57_d*_i* @atom:*_b*_a62_d*_i* @atom:*_b*_a63_d*_i*
+ @angle:61-62-63 @atom:*_b*_a61_d*_i* @atom:*_b*_a62_d*_i* @atom:*_b*_a63_d*_i*
+ @angle:49-62-105 @atom:*_b*_a49_d*_i* @atom:*_b*_a62_d*_i* @atom:*_b*_a105_d*_i*
+ @angle:63-62-105 @atom:*_b*_a63_d*_i* @atom:*_b*_a62_d*_i* @atom:*_b*_a105_d*_i*
+ @angle:61-62-105 @atom:*_b*_a61_d*_i* @atom:*_b*_a62_d*_i* @atom:*_b*_a105_d*_i*
+ @angle:5-64-5 @atom:*_b*_a5_d*_i* @atom:*_b*_a64_d*_i* @atom:*_b*_a5_d*_i*
+ @angle:4-64-5 @atom:*_b*_a4_d*_i* @atom:*_b*_a64_d*_i* @atom:*_b*_a5_d*_i*
+ @angle:4-64-13 @atom:*_b*_a4_d*_i* @atom:*_b*_a64_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:5-64-20 @atom:*_b*_a5_d*_i* @atom:*_b*_a64_d*_i* @atom:*_b*_a20_d*_i*
+ @angle:20-64-20 @atom:*_b*_a20_d*_i* @atom:*_b*_a64_d*_i* @atom:*_b*_a20_d*_i*
+ @angle:13-64-20 @atom:*_b*_a13_d*_i* @atom:*_b*_a64_d*_i* @atom:*_b*_a20_d*_i*
+ @angle:4-64-20 @atom:*_b*_a4_d*_i* @atom:*_b*_a64_d*_i* @atom:*_b*_a20_d*_i*
+ @angle:4-64-48 @atom:*_b*_a4_d*_i* @atom:*_b*_a64_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:5-64-48 @atom:*_b*_a5_d*_i* @atom:*_b*_a64_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:20-64-48 @atom:*_b*_a20_d*_i* @atom:*_b*_a64_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:5-64-52 @atom:*_b*_a5_d*_i* @atom:*_b*_a64_d*_i* @atom:*_b*_a52_d*_i*
+ @angle:13-64-52 @atom:*_b*_a13_d*_i* @atom:*_b*_a64_d*_i* @atom:*_b*_a52_d*_i*
+ @angle:20-64-52 @atom:*_b*_a20_d*_i* @atom:*_b*_a64_d*_i* @atom:*_b*_a52_d*_i*
+ @angle:52-64-52 @atom:*_b*_a52_d*_i* @atom:*_b*_a64_d*_i* @atom:*_b*_a52_d*_i*
+ @angle:25-65-25 @atom:*_b*_a25_d*_i* @atom:*_b*_a65_d*_i* @atom:*_b*_a25_d*_i*
+ @angle:25-66-25 @atom:*_b*_a25_d*_i* @atom:*_b*_a66_d*_i* @atom:*_b*_a25_d*_i*
+ @angle:78-77-78 @atom:*_b*_a78_d*_i* @atom:*_b*_a77_d*_i* @atom:*_b*_a78_d*_i*
+ @angle:6-79-11 @atom:*_b*_a6_d*_i* @atom:*_b*_a79_d*_i* @atom:*_b*_a11_d*_i*
+ @angle:13-79-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a79_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:5-79-13 @atom:*_b*_a5_d*_i* @atom:*_b*_a79_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:5-79-23 @atom:*_b*_a5_d*_i* @atom:*_b*_a79_d*_i* @atom:*_b*_a23_d*_i*
+ @angle:13-79-23 @atom:*_b*_a13_d*_i* @atom:*_b*_a79_d*_i* @atom:*_b*_a23_d*_i*
+ @angle:23-79-23 @atom:*_b*_a23_d*_i* @atom:*_b*_a79_d*_i* @atom:*_b*_a23_d*_i*
+ @angle:13-79-24 @atom:*_b*_a13_d*_i* @atom:*_b*_a79_d*_i* @atom:*_b*_a24_d*_i*
+ @angle:23-79-24 @atom:*_b*_a23_d*_i* @atom:*_b*_a79_d*_i* @atom:*_b*_a24_d*_i*
+ @angle:13-79-44 @atom:*_b*_a13_d*_i* @atom:*_b*_a79_d*_i* @atom:*_b*_a44_d*_i*
+ @angle:23-79-44 @atom:*_b*_a23_d*_i* @atom:*_b*_a79_d*_i* @atom:*_b*_a44_d*_i*
+ @angle:13-79-48 @atom:*_b*_a13_d*_i* @atom:*_b*_a79_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:23-79-48 @atom:*_b*_a23_d*_i* @atom:*_b*_a79_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:5-79-48 @atom:*_b*_a5_d*_i* @atom:*_b*_a79_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:24-79-48 @atom:*_b*_a24_d*_i* @atom:*_b*_a79_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:13-79-82 @atom:*_b*_a13_d*_i* @atom:*_b*_a79_d*_i* @atom:*_b*_a82_d*_i*
+ @angle:46-80-60 @atom:*_b*_a46_d*_i* @atom:*_b*_a80_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:2-80-60 @atom:*_b*_a2_d*_i* @atom:*_b*_a80_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:13-80-60 @atom:*_b*_a13_d*_i* @atom:*_b*_a80_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:46-80-84 @atom:*_b*_a46_d*_i* @atom:*_b*_a80_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:2-80-84 @atom:*_b*_a2_d*_i* @atom:*_b*_a80_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:13-80-84 @atom:*_b*_a13_d*_i* @atom:*_b*_a80_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:60-80-84 @atom:*_b*_a60_d*_i* @atom:*_b*_a80_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:12-81-57 @atom:*_b*_a12_d*_i* @atom:*_b*_a81_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:48-81-57 @atom:*_b*_a48_d*_i* @atom:*_b*_a81_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:57-81-60 @atom:*_b*_a57_d*_i* @atom:*_b*_a81_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:12-81-60 @atom:*_b*_a12_d*_i* @atom:*_b*_a81_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:48-81-60 @atom:*_b*_a48_d*_i* @atom:*_b*_a81_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:13-82-16 @atom:*_b*_a13_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a16_d*_i*
+ @angle:16-82-24 @atom:*_b*_a16_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a24_d*_i*
+ @angle:16-82-44 @atom:*_b*_a16_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a44_d*_i*
+ @angle:20-82-49 @atom:*_b*_a20_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a49_d*_i*
+ @angle:16-82-49 @atom:*_b*_a16_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a49_d*_i*
+ @angle:49-82-57 @atom:*_b*_a49_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:57-82-57 @atom:*_b*_a57_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:13-82-57 @atom:*_b*_a13_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:48-82-57 @atom:*_b*_a48_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:56-82-57 @atom:*_b*_a56_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:49-82-61 @atom:*_b*_a49_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a61_d*_i*
+ @angle:16-82-61 @atom:*_b*_a16_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a61_d*_i*
+ @angle:20-82-61 @atom:*_b*_a20_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a61_d*_i*
+ @angle:57-82-61 @atom:*_b*_a57_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a61_d*_i*
+ @angle:13-82-61 @atom:*_b*_a13_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a61_d*_i*
+ @angle:44-82-61 @atom:*_b*_a44_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a61_d*_i*
+ @angle:24-82-61 @atom:*_b*_a24_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a61_d*_i*
+ @angle:57-82-79 @atom:*_b*_a57_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a79_d*_i*
+ @angle:61-82-79 @atom:*_b*_a61_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a79_d*_i*
+ @angle:20-82-86 @atom:*_b*_a20_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a86_d*_i*
+ @angle:61-82-86 @atom:*_b*_a61_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a86_d*_i*
+ @angle:57-82-87 @atom:*_b*_a57_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a87_d*_i*
+ @angle:56-82-87 @atom:*_b*_a56_d*_i* @atom:*_b*_a82_d*_i* @atom:*_b*_a87_d*_i*
+ @angle:49-83-61 @atom:*_b*_a49_d*_i* @atom:*_b*_a83_d*_i* @atom:*_b*_a61_d*_i*
+ @angle:48-83-61 @atom:*_b*_a48_d*_i* @atom:*_b*_a83_d*_i* @atom:*_b*_a61_d*_i*
+ @angle:13-83-61 @atom:*_b*_a13_d*_i* @atom:*_b*_a83_d*_i* @atom:*_b*_a61_d*_i*
+ @angle:49-83-84 @atom:*_b*_a49_d*_i* @atom:*_b*_a83_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:61-83-84 @atom:*_b*_a61_d*_i* @atom:*_b*_a83_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:13-83-84 @atom:*_b*_a13_d*_i* @atom:*_b*_a83_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:13-84-16 @atom:*_b*_a13_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a16_d*_i*
+ @angle:13-84-20 @atom:*_b*_a13_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a20_d*_i*
+ @angle:16-84-24 @atom:*_b*_a16_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a24_d*_i*
+ @angle:20-84-49 @atom:*_b*_a20_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a49_d*_i*
+ @angle:16-84-49 @atom:*_b*_a16_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a49_d*_i*
+ @angle:48-84-49 @atom:*_b*_a48_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a49_d*_i*
+ @angle:49-84-50 @atom:*_b*_a49_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a50_d*_i*
+ @angle:20-84-50 @atom:*_b*_a20_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a50_d*_i*
+ @angle:49-84-57 @atom:*_b*_a49_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:13-84-57 @atom:*_b*_a13_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:48-84-57 @atom:*_b*_a48_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:3-84-57 @atom:*_b*_a3_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:57-84-58 @atom:*_b*_a57_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a58_d*_i*
+ @angle:13-84-61 @atom:*_b*_a13_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a61_d*_i*
+ @angle:49-84-80 @atom:*_b*_a49_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a80_d*_i*
+ @angle:57-84-80 @atom:*_b*_a57_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a80_d*_i*
+ @angle:49-84-83 @atom:*_b*_a49_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a83_d*_i*
+ @angle:57-84-83 @atom:*_b*_a57_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a83_d*_i*
+ @angle:20-84-83 @atom:*_b*_a20_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a83_d*_i*
+ @angle:16-84-83 @atom:*_b*_a16_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a83_d*_i*
+ @angle:13-84-83 @atom:*_b*_a13_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a83_d*_i*
+ @angle:13-84-84 @atom:*_b*_a13_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:57-84-84 @atom:*_b*_a57_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:61-84-84 @atom:*_b*_a61_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:20-84-86 @atom:*_b*_a20_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a86_d*_i*
+ @angle:57-84-86 @atom:*_b*_a57_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a86_d*_i*
+ @angle:49-84-87 @atom:*_b*_a49_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a87_d*_i*
+ @angle:57-84-87 @atom:*_b*_a57_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a87_d*_i*
+ @angle:20-84-87 @atom:*_b*_a20_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a87_d*_i*
+ @angle:16-84-87 @atom:*_b*_a16_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a87_d*_i*
+ @angle:61-84-87 @atom:*_b*_a61_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a87_d*_i*
+ @angle:13-84-87 @atom:*_b*_a13_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a87_d*_i*
+ @angle:48-84-87 @atom:*_b*_a48_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a87_d*_i*
+ @angle:86-84-87 @atom:*_b*_a86_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a87_d*_i*
+ @angle:3-84-87 @atom:*_b*_a3_d*_i* @atom:*_b*_a84_d*_i* @atom:*_b*_a87_d*_i*
+ @angle:49-85-57 @atom:*_b*_a49_d*_i* @atom:*_b*_a85_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:13-85-57 @atom:*_b*_a13_d*_i* @atom:*_b*_a85_d*_i* @atom:*_b*_a57_d*_i*
+ @angle:49-85-85 @atom:*_b*_a49_d*_i* @atom:*_b*_a85_d*_i* @atom:*_b*_a85_d*_i*
+ @angle:57-85-85 @atom:*_b*_a57_d*_i* @atom:*_b*_a85_d*_i* @atom:*_b*_a85_d*_i*
+ @angle:13-85-85 @atom:*_b*_a13_d*_i* @atom:*_b*_a85_d*_i* @atom:*_b*_a85_d*_i*
+ @angle:48-86-48 @atom:*_b*_a48_d*_i* @atom:*_b*_a86_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:48-86-56 @atom:*_b*_a48_d*_i* @atom:*_b*_a86_d*_i* @atom:*_b*_a56_d*_i*
+ @angle:48-86-82 @atom:*_b*_a48_d*_i* @atom:*_b*_a86_d*_i* @atom:*_b*_a82_d*_i*
+ @angle:48-86-83 @atom:*_b*_a48_d*_i* @atom:*_b*_a86_d*_i* @atom:*_b*_a83_d*_i*
+ @angle:48-86-84 @atom:*_b*_a48_d*_i* @atom:*_b*_a86_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:48-86-86 @atom:*_b*_a48_d*_i* @atom:*_b*_a86_d*_i* @atom:*_b*_a86_d*_i*
+ @angle:56-86-86 @atom:*_b*_a56_d*_i* @atom:*_b*_a86_d*_i* @atom:*_b*_a86_d*_i*
+ @angle:48-86-87 @atom:*_b*_a48_d*_i* @atom:*_b*_a86_d*_i* @atom:*_b*_a87_d*_i*
+ @angle:48-86-88 @atom:*_b*_a48_d*_i* @atom:*_b*_a86_d*_i* @atom:*_b*_a88_d*_i*
+ @angle:49-87-60 @atom:*_b*_a49_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:46-87-60 @atom:*_b*_a46_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:13-87-60 @atom:*_b*_a13_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:49-87-84 @atom:*_b*_a49_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:46-87-84 @atom:*_b*_a46_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:84-87-84 @atom:*_b*_a84_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:82-87-84 @atom:*_b*_a82_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:2-87-84 @atom:*_b*_a2_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:13-87-84 @atom:*_b*_a13_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:3-87-84 @atom:*_b*_a3_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:60-87-84 @atom:*_b*_a60_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a84_d*_i*
+ @angle:84-87-86 @atom:*_b*_a84_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a86_d*_i*
+ @angle:49-87-87 @atom:*_b*_a49_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a87_d*_i*
+ @angle:60-87-87 @atom:*_b*_a60_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a87_d*_i*
+ @angle:84-87-87 @atom:*_b*_a84_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a87_d*_i*
+ @angle:86-87-87 @atom:*_b*_a86_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a87_d*_i*
+ @angle:84-87-88 @atom:*_b*_a84_d*_i* @atom:*_b*_a87_d*_i* @atom:*_b*_a88_d*_i*
+ @angle:48-88-49 @atom:*_b*_a48_d*_i* @atom:*_b*_a88_d*_i* @atom:*_b*_a49_d*_i*
+ @angle:49-88-61 @atom:*_b*_a49_d*_i* @atom:*_b*_a88_d*_i* @atom:*_b*_a61_d*_i*
+ @angle:13-88-61 @atom:*_b*_a13_d*_i* @atom:*_b*_a88_d*_i* @atom:*_b*_a61_d*_i*
+ @angle:19-88-61 @atom:*_b*_a19_d*_i* @atom:*_b*_a88_d*_i* @atom:*_b*_a61_d*_i*
+ @angle:61-88-87 @atom:*_b*_a61_d*_i* @atom:*_b*_a88_d*_i* @atom:*_b*_a87_d*_i*
+ @angle:4-89-90 @atom:*_b*_a4_d*_i* @atom:*_b*_a89_d*_i* @atom:*_b*_a90_d*_i*
+ @angle:90-89-91 @atom:*_b*_a90_d*_i* @atom:*_b*_a89_d*_i* @atom:*_b*_a91_d*_i*
+ @angle:4-89-91 @atom:*_b*_a4_d*_i* @atom:*_b*_a89_d*_i* @atom:*_b*_a91_d*_i*
+ @angle:13-90-89 @atom:*_b*_a13_d*_i* @atom:*_b*_a90_d*_i* @atom:*_b*_a89_d*_i*
+ @angle:89-90-91 @atom:*_b*_a89_d*_i* @atom:*_b*_a90_d*_i* @atom:*_b*_a91_d*_i*
+ @angle:13-90-91 @atom:*_b*_a13_d*_i* @atom:*_b*_a90_d*_i* @atom:*_b*_a91_d*_i*
+ @angle:24-91-46 @atom:*_b*_a24_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:13-91-46 @atom:*_b*_a13_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:44-91-46 @atom:*_b*_a44_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:46-91-46 @atom:*_b*_a46_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:16-91-46 @atom:*_b*_a16_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:46-91-47 @atom:*_b*_a46_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:46-91-89 @atom:*_b*_a46_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a89_d*_i*
+ @angle:24-91-89 @atom:*_b*_a24_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a89_d*_i*
+ @angle:46-91-90 @atom:*_b*_a46_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a90_d*_i*
+ @angle:16-91-90 @atom:*_b*_a16_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a90_d*_i*
+ @angle:91-91-91 @atom:*_b*_a91_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a91_d*_i*
+ @angle:13-91-91 @atom:*_b*_a13_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a91_d*_i*
+ @angle:44-91-91 @atom:*_b*_a44_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a91_d*_i*
+ @angle:46-91-91 @atom:*_b*_a46_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a91_d*_i*
+ @angle:24-91-91 @atom:*_b*_a24_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a91_d*_i*
+ @angle:16-91-91 @atom:*_b*_a16_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a91_d*_i*
+ @angle:89-91-91 @atom:*_b*_a89_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a91_d*_i*
+ @angle:47-91-91 @atom:*_b*_a47_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a91_d*_i*
+ @angle:90-91-91 @atom:*_b*_a90_d*_i* @atom:*_b*_a91_d*_i* @atom:*_b*_a91_d*_i*
+ @angle:13-95-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a95_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:13-95-46 @atom:*_b*_a13_d*_i* @atom:*_b*_a95_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:13-101-45 @atom:*_b*_a13_d*_i* @atom:*_b*_a101_d*_i* @atom:*_b*_a45_d*_i*
+ @angle:45-101-45 @atom:*_b*_a45_d*_i* @atom:*_b*_a101_d*_i* @atom:*_b*_a45_d*_i*
+ @angle:45-101-48 @atom:*_b*_a45_d*_i* @atom:*_b*_a101_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:13-101-48 @atom:*_b*_a13_d*_i* @atom:*_b*_a101_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:13-102-103 @atom:*_b*_a13_d*_i* @atom:*_b*_a102_d*_i* @atom:*_b*_a103_d*_i*
+ @angle:48-102-103 @atom:*_b*_a48_d*_i* @atom:*_b*_a102_d*_i* @atom:*_b*_a103_d*_i*
+ @angle:103-102-103 @atom:*_b*_a103_d*_i* @atom:*_b*_a102_d*_i* @atom:*_b*_a103_d*_i*
+ @angle:25-103-25 @atom:*_b*_a25_d*_i* @atom:*_b*_a103_d*_i* @atom:*_b*_a25_d*_i*
+ @angle:25-103-102 @atom:*_b*_a25_d*_i* @atom:*_b*_a103_d*_i* @atom:*_b*_a102_d*_i*
+ @angle:13-104-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a104_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:3-105-10 @atom:*_b*_a3_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a10_d*_i*
+ @angle:3-105-13 @atom:*_b*_a3_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:3-105-45 @atom:*_b*_a3_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a45_d*_i*
+ @angle:45-105-47 @atom:*_b*_a45_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:13-105-47 @atom:*_b*_a13_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:3-105-47 @atom:*_b*_a3_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:3-105-51 @atom:*_b*_a3_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a51_d*_i*
+ @angle:47-105-51 @atom:*_b*_a47_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a51_d*_i*
+ @angle:45-105-60 @atom:*_b*_a45_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:6-105-60 @atom:*_b*_a6_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:10-105-60 @atom:*_b*_a10_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:13-105-60 @atom:*_b*_a13_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:51-105-60 @atom:*_b*_a51_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a60_d*_i*
+ @angle:45-105-62 @atom:*_b*_a45_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a62_d*_i*
+ @angle:60-105-62 @atom:*_b*_a60_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a62_d*_i*
+ @angle:6-105-62 @atom:*_b*_a6_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a62_d*_i*
+ @angle:10-105-62 @atom:*_b*_a10_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a62_d*_i*
+ @angle:13-105-62 @atom:*_b*_a13_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a62_d*_i*
+ @angle:51-105-62 @atom:*_b*_a51_d*_i* @atom:*_b*_a105_d*_i* @atom:*_b*_a62_d*_i*
+ @angle:4-106-24 @atom:*_b*_a4_d*_i* @atom:*_b*_a106_d*_i* @atom:*_b*_a24_d*_i*
+ @angle:24-106-24 @atom:*_b*_a24_d*_i* @atom:*_b*_a106_d*_i* @atom:*_b*_a24_d*_i*
+ @angle:13-107-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a107_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:3-107-13 @atom:*_b*_a3_d*_i* @atom:*_b*_a107_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:1-108-13 @atom:*_b*_a1_d*_i* @atom:*_b*_a108_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:13-108-13 @atom:*_b*_a13_d*_i* @atom:*_b*_a108_d*_i* @atom:*_b*_a13_d*_i*
+ @angle:13-108-20 @atom:*_b*_a13_d*_i* @atom:*_b*_a108_d*_i* @atom:*_b*_a20_d*_i*
+ @angle:20-108-20 @atom:*_b*_a20_d*_i* @atom:*_b*_a108_d*_i* @atom:*_b*_a20_d*_i*
+ @angle:13-108-21 @atom:*_b*_a13_d*_i* @atom:*_b*_a108_d*_i* @atom:*_b*_a21_d*_i*
+ @angle:45-108-45 @atom:*_b*_a45_d*_i* @atom:*_b*_a108_d*_i* @atom:*_b*_a45_d*_i*
+ @angle:13-108-45 @atom:*_b*_a13_d*_i* @atom:*_b*_a108_d*_i* @atom:*_b*_a45_d*_i*
+ @angle:46-108-46 @atom:*_b*_a46_d*_i* @atom:*_b*_a108_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:13-108-46 @atom:*_b*_a13_d*_i* @atom:*_b*_a108_d*_i* @atom:*_b*_a46_d*_i*
+ @angle:13-108-65 @atom:*_b*_a13_d*_i* @atom:*_b*_a108_d*_i* @atom:*_b*_a65_d*_i*
+ @angle:13-108-66 @atom:*_b*_a13_d*_i* @atom:*_b*_a108_d*_i* @atom:*_b*_a66_d*_i*
+ @angle:13-108-108 @atom:*_b*_a13_d*_i* @atom:*_b*_a108_d*_i* @atom:*_b*_a108_d*_i*
+ @angle:46-109-48 @atom:*_b*_a46_d*_i* @atom:*_b*_a109_d*_i* @atom:*_b*_a48_d*_i*
+ @angle:46-109-50 @atom:*_b*_a46_d*_i* @atom:*_b*_a109_d*_i* @atom:*_b*_a50_d*_i*
+ @angle:13-109-50 @atom:*_b*_a13_d*_i* @atom:*_b*_a109_d*_i* @atom:*_b*_a50_d*_i*
+ @angle:46-109-109 @atom:*_b*_a46_d*_i* @atom:*_b*_a109_d*_i* @atom:*_b*_a109_d*_i*
+ @angle:13-109-109 @atom:*_b*_a13_d*_i* @atom:*_b*_a109_d*_i* @atom:*_b*_a109_d*_i*
+ @angle:50-109-109 @atom:*_b*_a50_d*_i* @atom:*_b*_a109_d*_i* @atom:*_b*_a109_d*_i*
+ @angle:48-109-109 @atom:*_b*_a48_d*_i* @atom:*_b*_a109_d*_i* @atom:*_b*_a109_d*_i*
+ @angle:4-110-47 @atom:*_b*_a4_d*_i* @atom:*_b*_a110_d*_i* @atom:*_b*_a47_d*_i*
+ @angle:47-110-47 @atom:*_b*_a47_d*_i* @atom:*_b*_a110_d*_i* @atom:*_b*_a47_d*_i*
+ } #(end of angles by type)
+
+
+
+
+ # ----------- Dihedral Interactions: ------------
+ # http://lammps.sandia.gov/doc/dihedral_opls.html
+ # Syntax:
+ # dihedral_coeff DihedralTypeName DihedralStyle parameters...
+
+ write_once("In Settings") {
+ dihedral_coeff @dihedral:X-2-2-2 opls -2.5 1.25 3.1 0.0
+ dihedral_coeff @dihedral:X-2-2-6 opls -2.5 1.25 3.1 0.0
+ dihedral_coeff @dihedral:1-2-2-2 opls -2.0 0.7 3.0 0.0
+ dihedral_coeff @dihedral:1-2-2-6 opls -2.0 0.7 3.0 0.0
+ dihedral_coeff @dihedral:2-2-2-2 opls -3.4 1.25 3.1 0.0
+ dihedral_coeff @dihedral:2-2-2-6 opls -3.4 1.25 3.1 0.0
+ dihedral_coeff @dihedral:2-2-2-10 opls -3.4 1.25 3.1 0.0
+ dihedral_coeff @dihedral:2-2-2-13 opls -3.4 1.25 3.1 0.0
+ dihedral_coeff @dihedral:2-2-2-65 opls -2.0 0.5 3.25 0.0
+ dihedral_coeff @dihedral:6-2-2-6 opls -3.4 1.25 3.1 0.0
+ dihedral_coeff @dihedral:6-2-2-65 opls -2.0 0.5 3.25 0.0
+ dihedral_coeff @dihedral:10-2-2-10 opls -3.4 1.25 3.1 0.0
+ dihedral_coeff @dihedral:2-2-5-7 opls 0.3 0.0 1.3 0.0
+ dihedral_coeff @dihedral:6-2-5-7 opls 0.3 0.0 1.3 0.0
+ dihedral_coeff @dihedral:10-2-5-7 opls 0.3 0.0 1.3 0.0
+ dihedral_coeff @dihedral:X-2-10-2 opls -2.5 1.25 3.1 0.0
+ dihedral_coeff @dihedral:2-2-10-2 opls -3.4 1.25 3.1 0.0
+ dihedral_coeff @dihedral:2-2-13-2 opls -3.4 1.25 3.1 0.0
+ dihedral_coeff @dihedral:6-2-20-2 opls -7.4 3.0 1.8 0.0
+ dihedral_coeff @dihedral:6-2-20-6 opls -8.4 3.0 1.8 0.0
+ dihedral_coeff @dihedral:4-3-3-4 opls 1.6 3.2 0.0 0.0
+ dihedral_coeff @dihedral:4-3-3-13 opls 0.0 0.5 0.0 0.0
+ dihedral_coeff @dihedral:4-3-3-24 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:4-3-3-46 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-3-3-13 opls 0.7 -1.5 0.0 0.0
+ dihedral_coeff @dihedral:13-3-3-24 opls -0.5 0.2 0.0 0.0
+ dihedral_coeff @dihedral:13-3-3-46 opls 0.8 -0.76 0.0 0.0
+ dihedral_coeff @dihedral:24-3-3-46 opls -0.9 0.3 0.0 0.0
+ dihedral_coeff @dihedral:46-3-3-46 opls 0.0 0.0 0.3 0.0
+ dihedral_coeff @dihedral:3-3-5-7 opls 3.0 5.5 0.0 0.0
+ dihedral_coeff @dihedral:4-3-5-7 opls 0.0 5.0 0.0 0.0
+ dihedral_coeff @dihedral:13-3-5-7 opls 1.5 5.5 0.0 0.0
+ dihedral_coeff @dihedral:24-3-5-7 opls -2.0 5.0 0.0 0.0
+ dihedral_coeff @dihedral:46-3-5-7 opls 1.5 5.5 0.0 0.0
+ dihedral_coeff @dihedral:48-3-5-7 opls 4.0 5.0 0.0 0.0
+ dihedral_coeff @dihedral:1-3-13-13 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:1-3-13-46 opls 0.0 0.0 0.36 0.0
+ dihedral_coeff @dihedral:3-3-13-46 opls 0.0 0.0 0.085 0.0
+ dihedral_coeff @dihedral:4-3-13-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:4-3-13-13 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:4-3-13-21 opls -0.65 0.0 0.0 0.0
+ dihedral_coeff @dihedral:4-3-13-44 opls 0.0 0.82 0.0 0.0
+ dihedral_coeff @dihedral:4-3-13-24 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:4-3-13-46 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:4-3-13-48 opls 0.0 0.546 0.0 0.0
+ dihedral_coeff @dihedral:5-3-13-13 opls 0.0 1.412 0.0 0.0
+ dihedral_coeff @dihedral:5-3-13-44 opls 5.26 0.82 0.0 0.0
+ dihedral_coeff @dihedral:5-3-13-46 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-3-13-13 opls 1.454 -0.144 -0.775 0.0
+ dihedral_coeff @dihedral:13-3-13-46 opls 0.0 0.0 0.275 0.0
+ dihedral_coeff @dihedral:20-3-13-13 opls 0.0 0.0 -0.553 0.0
+ dihedral_coeff @dihedral:20-3-13-46 opls 0.0 0.0 0.132 0.0
+ dihedral_coeff @dihedral:21-3-13-13 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:21-3-13-46 opls 0.0 0.0 0.36 0.0
+ dihedral_coeff @dihedral:24-3-13-13 opls 1.173 0.189 -1.2 0.0
+ dihedral_coeff @dihedral:24-3-13-21 opls 0.65 0.0 0.0 0.0
+ dihedral_coeff @dihedral:24-3-13-24 opls 1.816 1.222 1.581 0.0
+ dihedral_coeff @dihedral:24-3-13-46 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:46-3-13-13 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:46-3-13-46 opls 0.0 0.0 0.36 0.0
+ dihedral_coeff @dihedral:48-3-13-46 opls 0.0 0.0 0.275 0.0
+ dihedral_coeff @dihedral:52-3-13-13 opls 0.0 0.82 0.0 0.0
+ dihedral_coeff @dihedral:52-3-13-44 opls 0.0 0.82 0.0 0.0
+ dihedral_coeff @dihedral:52-3-13-46 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:65-3-13-13 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:65-3-13-46 opls 0.0 0.0 0.36 0.0
+ dihedral_coeff @dihedral:107-3-13-46 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:4-3-20-13 opls 0.0 5.124 0.0 0.0
+ dihedral_coeff @dihedral:4-3-20-48 opls 0.0 5.0 0.0 0.0
+ dihedral_coeff @dihedral:13-3-20-13 opls 4.669 5.124 0.0 0.0
+ dihedral_coeff @dihedral:13-3-20-48 opls 1.5 5.0 0.0 0.0
+ dihedral_coeff @dihedral:24-3-20-13 opls -2.0 5.0 0.0 0.0
+ dihedral_coeff @dihedral:46-3-20-13 opls 4.669 5.124 0.0 0.0
+ dihedral_coeff @dihedral:48-3-20-13 opls 4.0 5.0 0.0 0.0
+ dihedral_coeff @dihedral:3-3-24-13 opls 0.4 4.9 0.0 0.0
+ dihedral_coeff @dihedral:3-3-24-45 opls 0.0 4.9 0.0 0.0
+ dihedral_coeff @dihedral:4-3-24-5 opls 0.0 6.603 0.0 0.0
+ dihedral_coeff @dihedral:4-3-24-13 opls 0.0 6.089 0.0 0.0
+ dihedral_coeff @dihedral:4-3-24-45 opls 0.0 4.9 0.0 0.0
+ dihedral_coeff @dihedral:4-3-24-47 opls 0.0 6.089 0.0 0.0
+ dihedral_coeff @dihedral:4-3-24-48 opls 0.0 6.089 0.0 0.0
+ dihedral_coeff @dihedral:4-3-24-91 opls 0.0 6.089 0.0 0.0
+ dihedral_coeff @dihedral:5-3-24-13 opls 2.3 6.089 0.0 0.0
+ dihedral_coeff @dihedral:5-3-24-45 opls 0.0 4.9 0.0 0.0
+ dihedral_coeff @dihedral:13-3-24-5 opls 4.542 6.603 1.045 0.0
+ dihedral_coeff @dihedral:13-3-24-13 opls 2.3 6.089 0.0 0.0
+ dihedral_coeff @dihedral:13-3-24-45 opls 0.0 4.9 0.0 0.0
+ dihedral_coeff @dihedral:13-3-24-48 opls 2.3 6.089 0.0 0.0
+ dihedral_coeff @dihedral:20-3-24-13 opls 2.3 6.089 0.0 0.0
+ dihedral_coeff @dihedral:20-3-24-45 opls 0.0 4.9 0.0 0.0
+ dihedral_coeff @dihedral:24-3-24-3 opls 2.3 6.089 0.0 0.0
+ dihedral_coeff @dihedral:24-3-24-13 opls 4.6 0.0 0.0 0.0
+ dihedral_coeff @dihedral:24-3-24-45 opls 0.0 4.9 0.0 0.0
+ dihedral_coeff @dihedral:46-3-24-13 opls 2.3 6.089 0.0 0.0
+ dihedral_coeff @dihedral:46-3-24-45 opls 0.0 4.9 0.0 0.0
+ dihedral_coeff @dihedral:47-3-24-45 opls 0.0 4.9 0.0 0.0
+ dihedral_coeff @dihedral:48-3-24-45 opls 0.0 4.9 0.0 0.0
+ dihedral_coeff @dihedral:48-3-24-48 opls 2.3 6.089 0.0 0.0
+ dihedral_coeff @dihedral:48-3-24-84 opls 2.3 6.089 0.0 0.0
+ dihedral_coeff @dihedral:48-3-24-87 opls 2.3 6.089 0.0 0.0
+ dihedral_coeff @dihedral:84-3-24-48 opls 2.3 6.089 0.0 0.0
+ dihedral_coeff @dihedral:84-3-24-84 opls 2.3 6.089 0.0 0.0
+ dihedral_coeff @dihedral:84-3-24-87 opls 2.3 6.089 0.0 0.0
+ dihedral_coeff @dihedral:87-3-24-45 opls 0.0 4.9 0.0 0.0
+ dihedral_coeff @dihedral:87-3-24-48 opls 2.3 6.089 0.0 0.0
+ dihedral_coeff @dihedral:87-3-24-84 opls 2.3 6.089 0.0 0.0
+ dihedral_coeff @dihedral:87-3-24-87 opls 2.3 6.089 0.0 0.0
+ dihedral_coeff @dihedral:X-3-47-13 opls 0.9 0.23 -0.505 0.0
+ dihedral_coeff @dihedral:4-3-47-46 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:4-3-47-47 opls 2.5 6.0 0.0 0.0
+ dihedral_coeff @dihedral:5-3-47-47 opls 3.2 -3.0 0.0 0.0
+ dihedral_coeff @dihedral:24-3-47-46 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:24-3-47-47 opls 2.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:107-3-47-46 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:107-3-47-47 opls 2.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:4-3-48-48 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:5-3-48-48 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:13-3-48-48 opls 0.0 0.2 0.0 0.0
+ dihedral_coeff @dihedral:20-3-48-48 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:24-3-48-48 opls 0.0 1.1 0.0 0.0
+ dihedral_coeff @dihedral:46-3-48-48 opls 0.0 0.2 0.0 0.0
+ dihedral_coeff @dihedral:X-3-50-13 opls 0.9 0.23 -0.505 0.0
+ dihedral_coeff @dihedral:4-3-50-47 opls 2.5 6.0 0.0 0.0
+ dihedral_coeff @dihedral:5-3-50-47 opls 3.2 -3.0 0.0 0.0
+ dihedral_coeff @dihedral:13-3-50-47 opls 0.8 -3.0 0.0 0.0
+ dihedral_coeff @dihedral:13-3-56-X opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:13-3-56-13 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:46-3-56-X opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:46-3-56-45 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:X-3-60-X opls 0.0 7.0 0.0 0.0
+ dihedral_coeff @dihedral:4-3-60-X opls 0.0 7.0 0.0 0.0
+ dihedral_coeff @dihedral:4-3-82-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:4-3-82-57 opls 2.0 1.0 0.0 0.0
+ dihedral_coeff @dihedral:4-3-82-61 opls 0.0 1.0 0.0 0.0
+ dihedral_coeff @dihedral:82-3-82-57 opls -2.0 1.0 0.0 0.0
+ dihedral_coeff @dihedral:82-3-82-61 opls 0.0 1.0 0.0 0.0
+ dihedral_coeff @dihedral:4-3-84-20 opls -0.75 1.5 0.0 0.0
+ dihedral_coeff @dihedral:4-3-84-87 opls 0.75 1.5 0.0 0.0
+ dihedral_coeff @dihedral:84-3-84-20 opls 0.0 1.5 0.0 0.0
+ dihedral_coeff @dihedral:84-3-84-87 opls 0.0 1.5 0.0 0.0
+ dihedral_coeff @dihedral:48-3-86-48 opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:X-3-87-X opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:4-3-87-84 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:4-3-87-87 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:24-3-87-84 opls 0.0 1.1 0.0 0.0
+ dihedral_coeff @dihedral:24-3-87-87 opls 0.0 1.1 0.0 0.0
+ dihedral_coeff @dihedral:4-3-107-13 opls 0.0 4.9 0.0 0.0
+ dihedral_coeff @dihedral:13-3-107-13 opls 0.0 4.9 0.0 0.0
+ dihedral_coeff @dihedral:4-3-109-109 opls 2.5 6.0 0.0 0.0
+ dihedral_coeff @dihedral:5-3-109-109 opls 3.2 -3.0 0.0 0.0
+ dihedral_coeff @dihedral:X-4-106-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:7-5-10-2 opls 0.3 0.0 0.5 0.0
+ dihedral_coeff @dihedral:7-5-10-6 opls 0.3 0.0 0.5 0.0
+ dihedral_coeff @dihedral:7-5-13-2 opls 0.0 0.0 0.2 0.0
+ dihedral_coeff @dihedral:7-5-13-6 opls 0.0 0.0 0.2 0.0
+ dihedral_coeff @dihedral:7-5-13-13 opls -0.356 -0.174 0.492 0.0
+ dihedral_coeff @dihedral:7-5-13-46 opls 0.0 0.0 0.352 0.0
+ dihedral_coeff @dihedral:7-5-13-47 opls -0.9 0.0 0.0 0.0
+ dihedral_coeff @dihedral:7-5-13-48 opls -0.9 0.0 0.0 0.0
+ dihedral_coeff @dihedral:7-5-13-50 opls -0.9 0.0 0.0 0.0
+ dihedral_coeff @dihedral:7-5-44-13 opls 0.0 0.0 0.3 0.0
+ dihedral_coeff @dihedral:7-5-44-45 opls 0.0 0.0 0.3 0.0
+ dihedral_coeff @dihedral:7-5-24-3 opls 5.519 -6.7 0.581 0.0
+ dihedral_coeff @dihedral:7-5-24-45 opls 2.722 -5.154 0.0 0.0
+ dihedral_coeff @dihedral:7-5-47-47 opls 0.0 1.682 0.0 0.0
+ dihedral_coeff @dihedral:7-5-48-48 opls 0.0 1.682 0.0 0.0
+ dihedral_coeff @dihedral:7-5-51-20 opls -1.257 -1.806 0.003 0.0
+ dihedral_coeff @dihedral:7-5-56-3 opls 3.0 3.0 0.0 0.0
+ dihedral_coeff @dihedral:7-5-64-4 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:7-5-64-5 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:7-5-79-13 opls -0.75 0.0 0.0 0.0
+ dihedral_coeff @dihedral:7-5-79-23 opls 0.75 0.0 0.0 0.0
+ dihedral_coeff @dihedral:7-5-79-48 opls 2.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:X-13-13-3 opls -4.344 -1.714 0.0 0.0
+ dihedral_coeff @dihedral:X-13-13-13 opls 1.711 -0.5 0.663 0.0
+ dihedral_coeff @dihedral:X-13-13-24 opls 1.428 0.086 0.029 0.0
+ dihedral_coeff @dihedral:1-13-13-1 opls -2.5 0.0 0.25 0.0
+ dihedral_coeff @dihedral:1-13-13-5 opls 0.0 0.0 0.54 0.0
+ dihedral_coeff @dihedral:1-13-13-13 opls 0.3 -0.4 0.4 0.0
+ dihedral_coeff @dihedral:1-13-13-46 opls 0.0 0.0 0.4 0.0
+ dihedral_coeff @dihedral:3-13-13-3 opls -0.55 0.0 1.0 0.0
+ dihedral_coeff @dihedral:3-13-13-5 opls -6.18 0.0 0.0 0.0
+ dihedral_coeff @dihedral:3-13-13-13 opls -2.06 -0.313 0.315 0.0
+ dihedral_coeff @dihedral:3-13-13-15 opls -4.344 -1.714 0.0 0.0
+ dihedral_coeff @dihedral:3-13-13-16 opls -4.344 -1.714 0.0 0.0
+ dihedral_coeff @dihedral:3-13-13-24 opls -9.0 2.0 0.8 0.0
+ dihedral_coeff @dihedral:3-13-13-46 opls 0.0 0.0 -0.1 0.0
+ dihedral_coeff @dihedral:3-13-13-48 opls -1.697 -0.456 0.585 0.0
+ dihedral_coeff @dihedral:3-13-13-80 opls -1.697 -0.456 0.585 0.0
+ dihedral_coeff @dihedral:5-13-13-5 opls 9.508 0.0 0.0 0.0
+ dihedral_coeff @dihedral:5-13-13-13 opls -1.552 0.0 0.0 0.0
+ dihedral_coeff @dihedral:5-13-13-20 opls 4.319 0.0 0.0 0.0
+ dihedral_coeff @dihedral:5-13-13-44 opls 8.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:5-13-13-24 opls 6.28 -1.467 2.03 0.0
+ dihedral_coeff @dihedral:5-13-13-46 opls 0.0 0.0 0.468 0.0
+ dihedral_coeff @dihedral:13-13-13-13 opls 1.3 -0.05 0.2 0.0
+ dihedral_coeff @dihedral:13-13-13-15 opls 1.262 -0.198 0.465 0.0
+ dihedral_coeff @dihedral:13-13-13-16 opls 2.619 -0.62 0.258 0.0
+ dihedral_coeff @dihedral:13-13-13-19 opls 0.0 -0.65 0.0 0.0
+ dihedral_coeff @dihedral:13-13-13-21 opls 0.0 0.0 0.4 0.0
+ dihedral_coeff @dihedral:13-13-13-44 opls 2.392 -0.674 0.55 0.0
+ dihedral_coeff @dihedral:13-13-13-24 opls 0.845 -0.962 0.713 0.0
+ dihedral_coeff @dihedral:13-13-13-46 opls 0.0 0.0 0.3 0.0
+ dihedral_coeff @dihedral:13-13-13-51 opls 1.3 -0.05 0.2 0.0
+ dihedral_coeff @dihedral:13-13-13-53 opls 2.732 -0.229 0.485 0.0
+ dihedral_coeff @dihedral:13-13-13-65 opls 0.0 0.0 0.4 0.0
+ dihedral_coeff @dihedral:13-13-13-66 opls 0.0 0.0 0.4 0.0
+ dihedral_coeff @dihedral:13-13-13-79 opls 1.262 -0.198 0.465 0.0
+ dihedral_coeff @dihedral:13-13-13-107 opls 1.964 0.0 0.659 0.0
+ dihedral_coeff @dihedral:13-13-13-108 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:15-13-13-46 opls 0.0 0.0 0.452 0.0
+ dihedral_coeff @dihedral:16-13-13-46 opls 0.0 0.0 0.452 0.0
+ dihedral_coeff @dihedral:19-13-13-46 opls 0.0 0.0 0.366 0.0
+ dihedral_coeff @dihedral:20-13-13-20 opls -0.55 0.0 0.0 0.0
+ dihedral_coeff @dihedral:20-13-13-46 opls 0.0 0.0 0.468 0.0
+ dihedral_coeff @dihedral:21-13-13-21 opls -0.25 0.0 0.0 0.0
+ dihedral_coeff @dihedral:21-13-13-44 opls 2.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:21-13-13-46 opls 0.0 0.0 0.4 0.0
+ dihedral_coeff @dihedral:44-13-13-44 opls 11.035 -0.968 0.27 0.0
+ dihedral_coeff @dihedral:44-13-13-46 opls -1.013 -0.709 0.473 0.0
+ dihedral_coeff @dihedral:44-13-13-48 opls -0.8 0.0 0.0 0.0
+ dihedral_coeff @dihedral:24-13-13-46 opls 0.0 0.0 0.464 0.0
+ dihedral_coeff @dihedral:24-13-13-48 opls 0.845 -0.962 0.713 0.0
+ dihedral_coeff @dihedral:24-13-13-80 opls 0.845 -0.962 0.713 0.0
+ dihedral_coeff @dihedral:46-13-13-46 opls 0.0 0.0 0.3 0.0
+ dihedral_coeff @dihedral:46-13-13-47 opls 0.0 0.0 0.366 0.0
+ dihedral_coeff @dihedral:46-13-13-48 opls 0.0 0.0 0.462 0.0
+ dihedral_coeff @dihedral:46-13-13-51 opls 0.0 0.0 0.3 0.0
+ dihedral_coeff @dihedral:46-13-13-53 opls 0.0 0.0 0.384 0.0
+ dihedral_coeff @dihedral:46-13-13-55 opls 0.0 0.0 -0.582 0.0
+ dihedral_coeff @dihedral:46-13-13-59 opls 0.0 0.0 0.462 0.0
+ dihedral_coeff @dihedral:46-13-13-62 opls 0.0 0.0 0.462 0.0
+ dihedral_coeff @dihedral:46-13-13-65 opls 0.0 0.0 0.4 0.0
+ dihedral_coeff @dihedral:46-13-13-66 opls 0.0 0.0 0.4 0.0
+ dihedral_coeff @dihedral:46-13-13-79 opls 0.0 0.0 0.452 0.0
+ dihedral_coeff @dihedral:46-13-13-80 opls 0.0 0.0 0.462 0.0
+ dihedral_coeff @dihedral:46-13-13-82 opls 0.0 0.0 0.462 0.0
+ dihedral_coeff @dihedral:46-13-13-83 opls 0.0 0.0 0.462 0.0
+ dihedral_coeff @dihedral:46-13-13-84 opls 0.0 0.0 0.462 0.0
+ dihedral_coeff @dihedral:46-13-13-87 opls 0.0 0.0 0.462 0.0
+ dihedral_coeff @dihedral:46-13-13-88 opls 0.0 0.0 0.462 0.0
+ dihedral_coeff @dihedral:46-13-13-102 opls 0.0 0.0 -0.225 0.0
+ dihedral_coeff @dihedral:46-13-13-104 opls 0.0 0.0 0.3 0.0
+ dihedral_coeff @dihedral:46-13-13-107 opls 0.0 0.0 0.464 0.0
+ dihedral_coeff @dihedral:46-13-13-108 opls 0.0 0.0 0.45 0.0
+ dihedral_coeff @dihedral:46-13-13-109 opls 0.0 0.0 0.366 0.0
+ dihedral_coeff @dihedral:48-13-13-53 opls 1.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:108-13-13-108 opls 5.2 -0.5 0.0 0.0
+ dihedral_coeff @dihedral:13-13-15-17 opls -0.759 -0.282 0.68 0.0
+ dihedral_coeff @dihedral:46-13-15-17 opls 0.0 0.0 0.48 0.0
+ dihedral_coeff @dihedral:13-13-16-13 opls 0.925 -0.576 0.677 0.0
+ dihedral_coeff @dihedral:13-13-16-16 opls 1.941 -0.836 0.935 0.0
+ dihedral_coeff @dihedral:46-13-16-13 opls 0.0 0.0 0.647 0.0
+ dihedral_coeff @dihedral:46-13-16-16 opls 0.0 0.0 0.558 0.0
+ dihedral_coeff @dihedral:46-13-16-48 opls 0.0 0.0 0.647 0.0
+ dihedral_coeff @dihedral:X-13-18-19 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:46-13-18-19 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:X-13-19-18 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:X-13-19-19 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-13-19-19 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:46-13-19-19 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:X-13-20-13 opls -0.521 -2.018 1.996 0.0
+ dihedral_coeff @dihedral:56-13-20-13 opls -0.5 -1.5 1.0 0.0
+ dihedral_coeff @dihedral:57-13-20-13 opls -0.5 -1.5 1.0 0.0
+ dihedral_coeff @dihedral:13-13-20-3 opls -1.22 -0.126 0.422 0.0
+ dihedral_coeff @dihedral:13-13-20-13 opls 0.65 -0.25 0.67 0.0
+ dihedral_coeff @dihedral:13-13-20-64 opls -1.42 -0.62 0.1 0.0
+ dihedral_coeff @dihedral:46-13-20-X opls 0.0 0.0 0.76 0.0
+ dihedral_coeff @dihedral:46-13-20-3 opls 0.0 0.0 0.198 0.0
+ dihedral_coeff @dihedral:46-13-20-47 opls 0.0 0.0 0.76 0.0
+ dihedral_coeff @dihedral:46-13-20-48 opls 0.0 0.0 0.76 0.0
+ dihedral_coeff @dihedral:46-13-20-51 opls 0.0 0.0 0.76 0.0
+ dihedral_coeff @dihedral:46-13-20-64 opls 0.0 0.0 0.3 0.0
+ dihedral_coeff @dihedral:X-13-24-45 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:3-13-24-3 opls -2.365 0.912 -0.85 0.0
+ dihedral_coeff @dihedral:3-13-24-13 opls -1.737 1.251 -3.501 0.0
+ dihedral_coeff @dihedral:3-13-24-45 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-13-24-3 opls 0.0 0.462 0.0 0.0
+ dihedral_coeff @dihedral:13-13-24-13 opls 4.753 -0.734 0.0 0.0
+ dihedral_coeff @dihedral:13-13-24-45 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-13-24-59 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-13-24-79 opls 2.929 -2.533 0.497 0.0
+ dihedral_coeff @dihedral:13-13-24-91 opls 2.3 6.089 0.0 0.0
+ dihedral_coeff @dihedral:46-13-24-3 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:46-13-24-13 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:46-13-24-45 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:46-13-24-48 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:46-13-24-79 opls 1.362 -1.457 0.149 0.0
+ dihedral_coeff @dihedral:48-13-24-59 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-13-44-13 opls 0.416 -0.128 0.695 0.0
+ dihedral_coeff @dihedral:13-13-44-45 opls -0.19 -0.417 0.418 0.0
+ dihedral_coeff @dihedral:46-13-44-13 opls 0.0 0.0 0.56 0.0
+ dihedral_coeff @dihedral:46-13-44-45 opls 0.0 0.0 0.4 0.0
+ dihedral_coeff @dihedral:46-13-44-48 opls 0.0 0.0 0.56 0.0
+ dihedral_coeff @dihedral:X-13-47-13 opls 1.711 -0.5 0.663 0.0
+ dihedral_coeff @dihedral:X-13-47-46 opls 0.0 0.0 0.468 0.0
+ dihedral_coeff @dihedral:X-13-47-47 opls 0.5 0.0 0.0 0.0
+ dihedral_coeff @dihedral:X-13-47-50 opls 0.5 0.0 0.0 0.0
+ dihedral_coeff @dihedral:1-13-47-47 opls 0.5 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-13-47-13 opls 2.817 -0.169 0.543 0.0
+ dihedral_coeff @dihedral:13-13-47-47 opls 0.346 0.405 -0.904 0.0
+ dihedral_coeff @dihedral:13-13-47-50 opls 0.346 0.405 -0.904 0.0
+ dihedral_coeff @dihedral:46-13-47-13 opls 0.0 0.0 0.3 0.0
+ dihedral_coeff @dihedral:46-13-47-46 opls 0.0 0.0 0.318 0.0
+ dihedral_coeff @dihedral:46-13-47-47 opls 0.0 0.0 -0.372 0.0
+ dihedral_coeff @dihedral:46-13-47-50 opls 0.0 0.0 -0.372 0.0
+ dihedral_coeff @dihedral:46-13-47-110 opls 0.0 0.0 -0.25 0.0
+ dihedral_coeff @dihedral:47-13-47-13 opls 0.0 -8.0 0.0 0.0
+ dihedral_coeff @dihedral:47-13-47-46 opls 0.0 -8.0 0.0 0.0
+ dihedral_coeff @dihedral:X-13-48-48 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:1-13-48-48 opls 0.0 0.45 0.0 0.0
+ dihedral_coeff @dihedral:13-13-48-48 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-13-48-56 opls -0.5 0.5 -0.5 0.0
+ dihedral_coeff @dihedral:21-13-48-48 opls 0.0 -0.4 0.0 0.0
+ dihedral_coeff @dihedral:46-13-48-48 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:64-13-48-48 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:65-13-48-48 opls 0.0 0.0 0.4 0.0
+ dihedral_coeff @dihedral:X-13-50-47 opls 0.5 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-13-50-50 opls 0.346 0.405 -0.904 0.0
+ dihedral_coeff @dihedral:46-13-50-47 opls 0.0 0.0 -0.372 0.0
+ dihedral_coeff @dihedral:46-13-50-50 opls 0.0 0.0 -0.372 0.0
+ dihedral_coeff @dihedral:46-13-50-109 opls 0.0 0.0 -0.372 0.0
+ dihedral_coeff @dihedral:13-13-51-X opls 1.711 -0.5 0.663 0.0
+ dihedral_coeff @dihedral:13-13-51-46 opls 0.0 0.0 0.3 0.0
+ dihedral_coeff @dihedral:46-13-51-20 opls 0.0 0.0 0.468 0.0
+ dihedral_coeff @dihedral:13-13-53-13 opls 1.438 -0.124 0.264 0.0
+ dihedral_coeff @dihedral:13-13-53-45 opls 0.0 0.0 0.347 0.0
+ dihedral_coeff @dihedral:46-13-53-13 opls 0.0 0.0 0.302 0.0
+ dihedral_coeff @dihedral:46-13-53-45 opls 0.0 0.0 0.261 0.0
+ dihedral_coeff @dihedral:46-13-53-48 opls 0.0 0.0 0.462 0.0
+ dihedral_coeff @dihedral:46-13-53-54 opls 0.0 0.0 0.3 0.0
+ dihedral_coeff @dihedral:13-13-55-45 opls -0.19 -0.417 0.418 0.0
+ dihedral_coeff @dihedral:13-13-55-48 opls 1.829 0.243 -0.498 0.0
+ dihedral_coeff @dihedral:13-13-55-54 opls -0.19 -0.417 0.418 0.0
+ dihedral_coeff @dihedral:46-13-55-13 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:46-13-55-45 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:46-13-55-48 opls 0.0 0.0 0.177 0.0
+ dihedral_coeff @dihedral:13-13-56-18 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:X-13-57-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-13-57-X opls 1.0 -0.35 0.0 0.0
+ dihedral_coeff @dihedral:13-13-57-62 opls 2.756 -0.872 -3.68 0.0
+ dihedral_coeff @dihedral:13-13-57-82 opls -1.0 -0.35 0.0 0.0
+ dihedral_coeff @dihedral:20-13-57-X opls 1.5 -1.5 0.0 0.0
+ dihedral_coeff @dihedral:20-13-57-62 opls -1.5 -1.5 0.0 0.0
+ dihedral_coeff @dihedral:20-13-57-82 opls -1.5 -1.5 0.0 0.0
+ dihedral_coeff @dihedral:13-13-59-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-13-59-56 opls 0.0 0.5 -0.5 0.0
+ dihedral_coeff @dihedral:46-13-59-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-13-62-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:46-13-62-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:46-13-64-20 opls 0.0 0.0 0.25 0.0
+ dihedral_coeff @dihedral:46-13-64-52 opls 0.0 0.0 0.25 0.0
+ dihedral_coeff @dihedral:48-13-64-20 opls 2.25 0.0 0.0 0.0
+ dihedral_coeff @dihedral:48-13-64-52 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:X-13-79-23 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:X-13-79-24 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-13-79-13 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-13-79-23 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:46-13-79-5 opls 0.0 0.0 0.35 0.0
+ dihedral_coeff @dihedral:46-13-79-13 opls 0.0 0.0 0.35 0.0
+ dihedral_coeff @dihedral:46-13-79-23 opls 0.0 0.0 0.35 0.0
+ dihedral_coeff @dihedral:46-13-79-48 opls 0.0 0.0 0.35 0.0
+ dihedral_coeff @dihedral:13-13-80-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-13-80-60 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-13-80-84 opls -0.714 0.0 0.0 0.0
+ dihedral_coeff @dihedral:46-13-80-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:46-13-80-60 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:46-13-80-84 opls 0.0 0.0 -0.48 0.0
+ dihedral_coeff @dihedral:13-13-82-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:46-13-82-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-13-83-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:46-13-83-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:1-13-84-X opls 0.0 0.45 0.0 0.0
+ dihedral_coeff @dihedral:13-13-84-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-13-84-57 opls 1.7 -0.6 0.0 0.0
+ dihedral_coeff @dihedral:21-13-84-X opls 0.0 -0.4 0.0 0.0
+ dihedral_coeff @dihedral:46-13-84-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:1-13-87-X opls 0.0 0.45 0.0 0.0
+ dihedral_coeff @dihedral:13-13-87-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:21-13-87-X opls 0.0 -0.4 0.0 0.0
+ dihedral_coeff @dihedral:46-13-87-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-13-88-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:46-13-88-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:X-13-90-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:46-13-90-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:46-13-91-91 opls 0.0 0.0 0.3 0.0
+ dihedral_coeff @dihedral:13-13-95-13 opls 0.0 -1.0 0.0 0.0
+ dihedral_coeff @dihedral:13-13-95-46 opls 0.0 -1.0 0.0 0.0
+ dihedral_coeff @dihedral:13-13-102-103 opls 0.0 0.4 0.0 0.0
+ dihedral_coeff @dihedral:46-13-102-103 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-13-104-13 opls 1.0 -0.5 0.5 0.0
+ dihedral_coeff @dihedral:46-13-104-13 opls 0.0 0.0 0.3 0.0
+ dihedral_coeff @dihedral:X-13-105-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-13-105-X opls 1.0 -0.35 0.0 0.0
+ dihedral_coeff @dihedral:13-13-105-62 opls -1.0 -0.35 0.0 0.0
+ dihedral_coeff @dihedral:13-13-105-82 opls -1.0 -0.35 0.0 0.0
+ dihedral_coeff @dihedral:20-13-105-X opls 1.5 -1.5 0.0 0.0
+ dihedral_coeff @dihedral:20-13-105-62 opls 3.132 -1.491 2.744 0.0
+ dihedral_coeff @dihedral:20-13-105-82 opls -1.5 -1.5 0.0 0.0
+ dihedral_coeff @dihedral:3-13-107-13 opls -1.737 1.251 -3.501 0.0
+ dihedral_coeff @dihedral:13-13-107-3 opls -1.396 -0.427 0.0 0.0
+ dihedral_coeff @dihedral:13-13-107-13 opls 4.753 -0.734 0.0 0.0
+ dihedral_coeff @dihedral:46-13-107-3 opls 0.0 0.0 -0.139 0.0
+ dihedral_coeff @dihedral:46-13-107-13 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:46-13-107-48 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-13-108-13 opls 1.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-13-108-45 opls 0.0 0.0 0.26 0.0
+ dihedral_coeff @dihedral:46-13-108-13 opls 0.0 0.0 0.18 0.0
+ dihedral_coeff @dihedral:46-13-108-20 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:46-13-108-45 opls 0.0 0.0 0.18 0.0
+ dihedral_coeff @dihedral:13-13-109-109 opls 0.346 0.405 -0.904 0.0
+ dihedral_coeff @dihedral:46-13-109-13 opls 0.0 0.0 0.3 0.0
+ dihedral_coeff @dihedral:46-13-109-46 opls 0.0 0.0 0.318 0.0
+ dihedral_coeff @dihedral:46-13-109-109 opls 0.0 0.0 -0.372 0.0
+ dihedral_coeff @dihedral:17-15-48-X opls 0.0 1.1 0.0 0.0
+ dihedral_coeff @dihedral:17-15-48-48 opls 0.0 1.1 0.0 0.0
+ dihedral_coeff @dihedral:13-16-16-13 opls 0.0 -7.414 1.705 0.0
+ dihedral_coeff @dihedral:13-16-48-48 opls 0.0 0.6 0.0 0.0
+ dihedral_coeff @dihedral:13-16-48-56 opls 1.6 5.1 0.0 0.0
+ dihedral_coeff @dihedral:13-16-59-56 opls 0.0 4.8 0.0 0.0
+ dihedral_coeff @dihedral:84-16-82-X opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:84-16-82-61 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:82-16-84-49 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:82-16-84-83 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:82-16-84-88 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:X-16-91-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:19-18-48-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:19-18-48-48 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:18-18-56-13 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:18-18-56-46 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:X-19-19-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-19-19-13 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-19-19-46 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-19-19-47 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-19-19-109 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:46-19-19-47 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:46-19-19-109 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:19-19-47-13 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:19-19-47-46 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:19-19-47-47 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-20-44-13 opls 0.0 0.0 0.3 0.0
+ dihedral_coeff @dihedral:13-20-44-45 opls 0.0 0.0 0.3 0.0
+ dihedral_coeff @dihedral:13-20-47-13 opls 0.65 -0.25 0.67 0.0
+ dihedral_coeff @dihedral:13-20-47-46 opls 0.0 0.0 0.76 0.0
+ dihedral_coeff @dihedral:13-20-47-47 opls -3.5 3.0 0.0 0.0
+ dihedral_coeff @dihedral:13-20-47-50 opls -3.5 3.0 0.0 0.0
+ dihedral_coeff @dihedral:3-20-48-48 opls 0.0 2.5 0.0 0.0
+ dihedral_coeff @dihedral:13-20-48-48 opls 0.0 3.0 0.0 0.0
+ dihedral_coeff @dihedral:13-20-48-56 opls 0.4 5.5 0.0 0.0
+ dihedral_coeff @dihedral:64-20-48-48 opls 0.0 2.99 0.0 0.0
+ dihedral_coeff @dihedral:13-20-51-5 opls -0.375 -1.358 0.004 0.0
+ dihedral_coeff @dihedral:13-20-51-13 opls 0.65 -0.25 0.67 0.0
+ dihedral_coeff @dihedral:13-20-51-20 opls -0.375 -1.358 0.004 0.0
+ dihedral_coeff @dihedral:13-20-51-46 opls 0.0 0.0 0.76 0.0
+ dihedral_coeff @dihedral:13-20-56-3 opls 3.0 3.0 0.0 0.0
+ dihedral_coeff @dihedral:13-20-59-56 opls 0.0 5.2 0.0 0.0
+ dihedral_coeff @dihedral:X-20-64-52 opls 0.0 0.0 0.562 0.0
+ dihedral_coeff @dihedral:13-20-64-13 opls 3.5 -3.3 1.5 0.0
+ dihedral_coeff @dihedral:13-20-64-52 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:48-20-64-4 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:84-20-82-61 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:82-20-84-88 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:84-20-84-49 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:84-20-84-87 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:108-20-108-13 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:108-20-108-20 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:X-24-48-48 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:3-24-48-48 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:13-24-48-48 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:45-24-48-48 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:59-24-48-48 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:82-24-48-48 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:84-24-48-48 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:X-24-59-X opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:X-24-59-49 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:45-24-59-X opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:X-24-60-X opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:X-24-79-23 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-24-79-48 opls 2.074 -2.966 2.473 0.0
+ dihedral_coeff @dihedral:45-24-79-48 opls 1.671 -4.901 0.669 0.0
+ dihedral_coeff @dihedral:13-24-82-61 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:45-24-82-16 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:45-24-82-20 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:45-24-82-61 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:48-24-82-16 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:48-24-82-20 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:48-24-82-61 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:X-24-84-X opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:3-24-84-84 opls 0.0 3.0 0.0 0.0
+ dihedral_coeff @dihedral:45-24-84-16 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:45-24-84-20 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:48-24-84-16 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:48-24-84-20 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:3-24-86-48 opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:3-24-86-56 opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:3-24-86-86 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:47-24-86-48 opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:47-24-86-56 opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:X-24-87-X opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:X-24-88-X opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:3-24-91-46 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:3-24-91-89 opls -1.396 -0.427 0.0 0.0
+ dihedral_coeff @dihedral:3-24-91-91 opls -1.396 -0.427 0.0 0.0
+ dihedral_coeff @dihedral:45-24-91-46 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:45-24-91-89 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:45-24-91-91 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:X-24-106-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-44-44-13 opls 0.0 0.0 0.3 0.0
+ dihedral_coeff @dihedral:13-44-44-45 opls 0.0 0.0 0.3 0.0
+ dihedral_coeff @dihedral:45-44-44-45 opls 0.0 0.0 0.3 0.0
+ dihedral_coeff @dihedral:13-44-48-48 opls -7.582 3.431 3.198 0.0
+ dihedral_coeff @dihedral:45-44-48-48 opls 0.0 2.03 0.0 0.0
+ dihedral_coeff @dihedral:59-44-48-48 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:82-44-48-48 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:84-44-48-48 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:45-44-82-16 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:45-44-82-61 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:48-44-82-16 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:48-44-82-61 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:47-46-47-13 opls 0.0 -8.0 0.0 0.0
+ dihedral_coeff @dihedral:47-46-47-46 opls 0.0 -8.0 0.0 0.0
+ dihedral_coeff @dihedral:X-47-47-X opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:X-47-47-19 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:3-47-47-24 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:3-47-47-46 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:5-47-47-13 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:5-47-47-46 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:13-47-47-13 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:13-47-47-19 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:13-47-47-20 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:13-47-47-46 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:19-47-47-46 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:20-47-47-46 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:21-47-47-21 opls -1.6 14.0 0.0 0.0
+ dihedral_coeff @dihedral:21-47-47-46 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:46-47-47-46 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:46-47-47-48 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:13-47-48-48 opls 0.205 -0.531 0.0 0.0
+ dihedral_coeff @dihedral:46-47-48-48 opls 0.0 0.0 -0.372 0.0
+ dihedral_coeff @dihedral:46-47-48-56 opls 0.0 0.0 -0.372 0.0
+ dihedral_coeff @dihedral:47-47-48-48 opls 1.241 3.353 -0.286 0.0
+ dihedral_coeff @dihedral:13-47-50-13 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:13-47-50-46 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:13-47-50-48 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:13-47-50-50 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:13-47-50-109 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:24-47-50-3 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:46-47-50-13 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:46-47-50-46 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:46-47-50-48 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:46-47-50-50 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:46-47-50-109 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:X-47-84-X opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:X-47-86-48 opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:3-47-86-86 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:49-47-86-X opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:49-47-86-24 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:X-47-87-X opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:X-47-88-X opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:13-47-110-47 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:46-47-110-47 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:X-48-48-X opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:X-48-48-13 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:X-48-48-48 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:X-48-48-49 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:1-48-48-48 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:1-48-48-49 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:13-48-48-13 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:13-48-48-48 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:13-48-48-49 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:13-48-48-50 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:21-48-48-48 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:21-48-48-49 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:44-48-48-49 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:47-48-48-49 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:48-48-48-48 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:48-48-48-49 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:48-48-48-50 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:48-48-48-55 opls 0.0 1.62 0.0 -0.44
+ dihedral_coeff @dihedral:48-48-48-60 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:48-48-48-65 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:48-48-48-66 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:48-48-48-86 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:48-48-48-109 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:49-48-48-49 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:49-48-48-50 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:49-48-48-60 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:49-48-48-65 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:49-48-48-66 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:49-48-48-86 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:49-48-48-109 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:56-48-48-86 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:48-48-50-46 opls 0.0 0.0 -0.372 0.0
+ dihedral_coeff @dihedral:48-48-50-47 opls 1.241 3.353 -0.286 0.0
+ dihedral_coeff @dihedral:56-48-50-46 opls 0.0 0.0 -0.372 0.0
+ dihedral_coeff @dihedral:56-48-50-47 opls 1.241 3.353 -0.286 0.0
+ dihedral_coeff @dihedral:48-48-53-13 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:48-48-53-54 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:X-48-55-45 opls 0.0 2.03 0.0 0.0
+ dihedral_coeff @dihedral:48-48-55-45 opls 0.0 3.9 0.0 0.0
+ dihedral_coeff @dihedral:55-48-55-13 opls 0.0 7.936 0.0 0.0
+ dihedral_coeff @dihedral:55-48-55-45 opls 0.0 3.9 0.0 0.0
+ dihedral_coeff @dihedral:60-48-55-45 opls 0.0 2.03 0.0 0.0
+ dihedral_coeff @dihedral:X-48-56-X opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:48-48-56-48 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:49-48-56-48 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:X-48-60-X opls 0.0 7.0 0.0 0.0
+ dihedral_coeff @dihedral:X-48-79-23 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:48-48-79-13 opls 0.0 -0.9 0.0 0.0
+ dihedral_coeff @dihedral:48-48-79-24 opls 1.656 -0.768 -0.117 0.0
+ dihedral_coeff @dihedral:48-48-86-48 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:48-48-86-56 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:48-48-86-86 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:49-48-86-48 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:49-48-86-56 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:49-48-86-86 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:56-48-86-48 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:56-48-86-86 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:49-48-88-49 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:56-48-101-13 opls 0.0 3.651 0.0 0.0
+ dihedral_coeff @dihedral:48-48-102-103 opls 0.0 1.15 0.0 0.0
+ dihedral_coeff @dihedral:48-48-109-13 opls 0.205 -0.531 0.0 0.0
+ dihedral_coeff @dihedral:48-48-109-46 opls 0.0 0.0 -0.372 0.0
+ dihedral_coeff @dihedral:48-48-109-109 opls 1.241 3.353 -0.286 0.0
+ dihedral_coeff @dihedral:X-50-50-49 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:3-50-50-3 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:13-50-50-13 opls 0.0 0.0 0.3 0.0
+ dihedral_coeff @dihedral:13-50-50-46 opls 0.0 0.0 0.3 0.0
+ dihedral_coeff @dihedral:13-50-50-47 opls 0.0 0.0 -0.372 0.0
+ dihedral_coeff @dihedral:46-50-50-46 opls 0.0 0.0 0.3 0.0
+ dihedral_coeff @dihedral:46-50-50-47 opls 0.0 0.0 -0.372 0.0
+ dihedral_coeff @dihedral:47-50-50-47 opls 1.423 4.055 0.858 0.0
+ dihedral_coeff @dihedral:13-50-109-13 opls 0.0 0.0 0.3 0.0
+ dihedral_coeff @dihedral:13-50-109-109 opls 0.0 0.0 -0.372 0.0
+ dihedral_coeff @dihedral:46-50-109-13 opls 0.0 0.0 0.3 0.0
+ dihedral_coeff @dihedral:46-50-109-46 opls 0.0 0.0 0.3 0.0
+ dihedral_coeff @dihedral:46-50-109-109 opls 0.0 0.0 -0.372 0.0
+ dihedral_coeff @dihedral:47-50-109-13 opls 0.0 0.0 -0.372 0.0
+ dihedral_coeff @dihedral:47-50-109-46 opls 0.0 0.0 -0.372 0.0
+ dihedral_coeff @dihedral:47-50-109-109 opls 1.423 4.055 0.858 0.0
+ dihedral_coeff @dihedral:13-53-82-61 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:48-53-82-61 opls 0.0 2.1 0.0 0.0
+ dihedral_coeff @dihedral:45-55-59-X opls 0.0 2.03 0.0 0.0
+ dihedral_coeff @dihedral:13-56-56-13 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:13-56-56-48 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:48-56-56-48 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:X-56-59-X opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:X-56-59-49 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:X-56-60-X opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:X-56-62-X opls 0.0 10.0 0.0 0.0
+ dihedral_coeff @dihedral:X-56-82-X opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:48-56-86-48 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:48-56-86-86 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:X-57-60-X opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:45-57-60-X opls 0.0 5.0 0.0 0.0
+ dihedral_coeff @dihedral:X-57-61-X opls 0.0 10.0 0.0 0.0
+ dihedral_coeff @dihedral:X-57-62-X opls 0.0 10.0 0.0 0.0
+ dihedral_coeff @dihedral:X-57-81-X opls 0.0 3.05 0.0 0.0
+ dihedral_coeff @dihedral:X-57-82-X opls 0.0 4.65 0.0 0.0
+ dihedral_coeff @dihedral:X-57-82-49 opls 0.0 10.0 0.0 0.0
+ dihedral_coeff @dihedral:45-57-82-X opls 0.0 5.0 0.0 0.0
+ dihedral_coeff @dihedral:X-57-84-X opls 0.0 2.8 0.0 0.0
+ dihedral_coeff @dihedral:45-57-84-X opls 0.0 5.0 0.0 0.0
+ dihedral_coeff @dihedral:61-57-86-48 opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:84-57-86-48 opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:X-60-60-X opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:X-60-61-X opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:X-60-80-X opls 0.0 3.35 0.0 0.0
+ dihedral_coeff @dihedral:X-60-81-X opls 0.0 6.0 0.0 0.0
+ dihedral_coeff @dihedral:X-60-87-X opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:48-60-87-84 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:60-60-87-84 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:X-61-61-X opls 0.0 10.0 0.0 0.0
+ dihedral_coeff @dihedral:X-61-62-X opls 0.0 10.0 0.0 0.0
+ dihedral_coeff @dihedral:X-61-82-X opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:X-61-82-49 opls 0.0 10.0 0.0 0.0
+ dihedral_coeff @dihedral:83-61-82-16 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:88-61-82-16 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:88-61-82-20 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:X-61-83-X opls 0.0 4.8 0.0 0.0
+ dihedral_coeff @dihedral:82-61-83-49 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:82-61-83-84 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:X-61-84-X opls 0.0 10.0 0.0 0.0
+ dihedral_coeff @dihedral:X-61-88-X opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:82-61-88-84 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:X-80-84-X opls 0.0 13.05 0.0 0.0
+ dihedral_coeff @dihedral:X-82-84-X opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:16-82-86-48 opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:20-82-86-48 opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:57-82-86-48 opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:61-82-86-48 opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:X-82-87-X opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:X-83-84-X opls 0.0 10.75 0.0 0.0
+ dihedral_coeff @dihedral:X-83-84-49 opls 0.0 10.75 0.0 0.0
+ dihedral_coeff @dihedral:49-83-84-X opls 0.0 10.75 0.0 0.0
+ dihedral_coeff @dihedral:49-83-84-16 opls 0.0 10.75 0.0 0.0
+ dihedral_coeff @dihedral:49-83-84-49 opls 0.0 10.75 0.0 0.0
+ dihedral_coeff @dihedral:61-83-84-16 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:61-83-84-20 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:61-83-84-49 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:X-83-86-48 opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:61-83-86-48 opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:61-83-87-X opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:84-83-87-X opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:X-84-84-X opls 0.0 10.75 0.0 0.0
+ dihedral_coeff @dihedral:X-84-84-49 opls 0.0 10.75 0.0 0.0
+ dihedral_coeff @dihedral:16-84-84-49 opls 0.0 10.75 0.0 0.0
+ dihedral_coeff @dihedral:49-84-84-49 opls 0.0 10.75 0.0 0.0
+ dihedral_coeff @dihedral:X-84-86-48 opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:16-84-86-48 opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:20-84-86-48 opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:57-84-86-48 opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:X-84-87-X opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:X-84-87-49 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:49-84-87-49 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:X-84-88-49 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:16-84-88-49 opls 0.0 10.75 0.0 0.0
+ dihedral_coeff @dihedral:16-84-88-61 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:20-84-88-61 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:49-84-88-X opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:49-84-88-61 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:48-86-86-48 opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:48-86-86-56 opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:48-86-87-X opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:48-86-88-X opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:48-86-88-61 opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:56-86-88-X opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:X-87-87-20 opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:X-87-87-57 opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:X-87-87-87 opls 0.0 2.17 0.0 0.0
+ dihedral_coeff @dihedral:49-87-87-49 opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:4-89-90-13 opls 0.0 6.089 0.0 0.0
+ dihedral_coeff @dihedral:4-89-90-45 opls 0.0 4.9 0.0 0.0
+ dihedral_coeff @dihedral:4-89-90-48 opls 0.0 6.089 0.0 0.0
+ dihedral_coeff @dihedral:4-89-90-91 opls 0.0 20.0 0.0 0.0
+ dihedral_coeff @dihedral:91-89-90-13 opls 2.3 6.089 0.0 0.0
+ dihedral_coeff @dihedral:91-89-90-45 opls 0.0 4.9 0.0 0.0
+ dihedral_coeff @dihedral:91-89-90-48 opls 2.3 6.089 0.0 0.0
+ dihedral_coeff @dihedral:91-89-90-91 opls 2.3 6.089 0.0 0.0
+ dihedral_coeff @dihedral:X-89-91-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:4-89-91-46 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:4-89-91-91 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:90-89-91-46 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:90-89-91-91 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:X-90-91-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:X-90-91-46 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:X-90-91-91 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:X-91-91-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:X-91-91-24 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-91-91-13 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-91-91-46 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:46-91-91-46 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:46-91-91-91 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:91-91-91-91 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:X-109-109-X opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:13-109-109-13 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:13-109-109-46 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:13-109-109-48 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:13-109-109-50 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:13-109-109-109 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:46-109-109-46 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:46-109-109-48 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:46-109-109-50 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:46-109-109-109 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:48-109-109-48 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:48-109-109-50 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:48-109-109-109 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:50-109-109-50 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:50-109-109-109 opls 0.0 14.0 0.0 0.0
+ dihedral_coeff @dihedral:109-109-109-109 opls 1.423 4.055 0.858 0.0
+ dihedral_coeff @dihedral:24-3-13-53 opls 1.816 1.222 1.581 0.0
+ dihedral_coeff @dihedral:52-3-13-24 opls 0.0 0.82 0.0 0.0
+ dihedral_coeff @dihedral:3-13-13-53 opls 1.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:3-13-13-83 opls -1.697 -0.456 0.585 0.0
+ dihedral_coeff @dihedral:3-13-13-84 opls -1.697 -0.456 0.585 0.0
+ dihedral_coeff @dihedral:3-13-13-85 opls -1.697 -0.456 0.585 0.0
+ dihedral_coeff @dihedral:5-13-13-53 opls 6.28 -1.467 2.03 0.0
+ dihedral_coeff @dihedral:15-13-13-53 opls 1.428 0.086 0.029 0.0
+ dihedral_coeff @dihedral:16-13-13-53 opls 1.428 0.086 0.029 0.0
+ dihedral_coeff @dihedral:13-13-13-55 opls 2.732 -0.229 0.485 0.0
+ dihedral_coeff @dihedral:24-13-13-83 opls 0.845 -0.962 0.713 0.0
+ dihedral_coeff @dihedral:53-13-13-83 opls 1.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:24-13-13-84 opls 0.845 -0.962 0.713 0.0
+ dihedral_coeff @dihedral:53-13-13-84 opls 1.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:24-13-13-85 opls 0.845 -0.962 0.713 0.0
+ dihedral_coeff @dihedral:46-13-13-85 opls 0.0 0.0 0.462 0.0
+ dihedral_coeff @dihedral:53-13-13-85 opls 1.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:3-13-53-13 opls 1.438 -0.124 0.264 0.0
+ dihedral_coeff @dihedral:3-13-53-54 opls 0.0 0.0 0.347 0.0
+ dihedral_coeff @dihedral:13-13-53-54 opls 0.0 0.0 0.347 0.0
+ dihedral_coeff @dihedral:46-13-55-54 opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-13-85-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:13-13-85-57 opls 1.7 -0.6 0.0 0.0
+ dihedral_coeff @dihedral:46-13-85-X opls 0.0 0.0 0.0 0.0
+ dihedral_coeff @dihedral:55-48-55-54 opls 0.0 3.9 0.0 0.0
+ dihedral_coeff @dihedral:X-48-81-X opls 0.0 7.25 0.0 0.0
+ dihedral_coeff @dihedral:X-57-85-X opls 0.0 5.0 0.0 0.0
+ dihedral_coeff @dihedral:X-85-85-X opls 0.0 10.75 0.0 0.0
+ dihedral_coeff @dihedral:13-13-13-20 opls 1.3 -0.05 0.2 0.0
+ dihedral_coeff @dihedral:13-13-13-47 opls 1.3 -0.05 0.2 0.0
+ } #(end of dihedral_coeffs)
+
+ # Rules for creating dihedral interactions according to atom type:
+ # DihedralTypeName AtomType1 AtomType2 AtomType3 AtomType4
+ # (* = wildcard)
+
+ write_once("Data Dihedrals By Type") {
+ @dihedral:X-2-2-2 @atom:* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i*
+ @dihedral:X-2-2-6 @atom:* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d6_i*
+ @dihedral:1-2-2-2 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i*
+ @dihedral:1-2-2-6 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d6_i*
+ @dihedral:2-2-2-2 @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i*
+ @dihedral:2-2-2-6 @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d6_i*
+ @dihedral:2-2-2-10 @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d10_i*
+ @dihedral:2-2-2-13 @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d13_i*
+ @dihedral:2-2-2-65 @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d65_i*
+ @dihedral:6-2-2-6 @atom:*_b*_a*_d6_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d6_i*
+ @dihedral:6-2-2-65 @atom:*_b*_a*_d6_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d65_i*
+ @dihedral:10-2-2-10 @atom:*_b*_a*_d10_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d10_i*
+ @dihedral:2-2-5-7 @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d7_i*
+ @dihedral:6-2-5-7 @atom:*_b*_a*_d6_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d7_i*
+ @dihedral:10-2-5-7 @atom:*_b*_a*_d10_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d7_i*
+ @dihedral:X-2-10-2 @atom:* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d10_i* @atom:*_b*_a*_d2_i*
+ @dihedral:2-2-10-2 @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d10_i* @atom:*_b*_a*_d2_i*
+ @dihedral:2-2-13-2 @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d2_i*
+ @dihedral:6-2-20-2 @atom:*_b*_a*_d6_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d2_i*
+ @dihedral:6-2-20-6 @atom:*_b*_a*_d6_i* @atom:*_b*_a*_d2_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d6_i*
+ @dihedral:4-3-3-4 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d4_i*
+ @dihedral:4-3-3-13 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i*
+ @dihedral:4-3-3-24 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i*
+ @dihedral:4-3-3-46 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d46_i*
+ @dihedral:13-3-3-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-3-3-24 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i*
+ @dihedral:13-3-3-46 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d46_i*
+ @dihedral:24-3-3-46 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d46_i*
+ @dihedral:46-3-3-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d46_i*
+ @dihedral:3-3-5-7 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d7_i*
+ @dihedral:4-3-5-7 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d7_i*
+ @dihedral:13-3-5-7 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d7_i*
+ @dihedral:24-3-5-7 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d7_i*
+ @dihedral:46-3-5-7 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d7_i*
+ @dihedral:48-3-5-7 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d7_i*
+ @dihedral:1-3-13-13 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i*
+ @dihedral:1-3-13-46 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i*
+ @dihedral:3-3-13-46 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i*
+ @dihedral:4-3-13-X @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*
+ @dihedral:4-3-13-13 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i*
+ @dihedral:4-3-13-21 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d21_i*
+ @dihedral:4-3-13-44 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d44_i*
+ @dihedral:4-3-13-24 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i*
+ @dihedral:4-3-13-46 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i*
+ @dihedral:4-3-13-48 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i*
+ @dihedral:5-3-13-13 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i*
+ @dihedral:5-3-13-44 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d44_i*
+ @dihedral:5-3-13-46 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i*
+ @dihedral:13-3-13-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-3-13-46 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i*
+ @dihedral:20-3-13-13 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i*
+ @dihedral:20-3-13-46 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i*
+ @dihedral:21-3-13-13 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i*
+ @dihedral:21-3-13-46 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i*
+ @dihedral:24-3-13-13 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i*
+ @dihedral:24-3-13-21 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d21_i*
+ @dihedral:24-3-13-24 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i*
+ @dihedral:24-3-13-46 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i*
+ @dihedral:46-3-13-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i*
+ @dihedral:46-3-13-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i*
+ @dihedral:48-3-13-46 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i*
+ @dihedral:52-3-13-13 @atom:*_b*_a*_d52_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i*
+ @dihedral:52-3-13-44 @atom:*_b*_a*_d52_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d44_i*
+ @dihedral:52-3-13-46 @atom:*_b*_a*_d52_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i*
+ @dihedral:65-3-13-13 @atom:*_b*_a*_d65_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i*
+ @dihedral:65-3-13-46 @atom:*_b*_a*_d65_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i*
+ @dihedral:107-3-13-46 @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i*
+ @dihedral:4-3-20-13 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i*
+ @dihedral:4-3-20-48 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-3-20-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-3-20-48 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d48_i*
+ @dihedral:24-3-20-13 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i*
+ @dihedral:46-3-20-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i*
+ @dihedral:48-3-20-13 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i*
+ @dihedral:3-3-24-13 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i*
+ @dihedral:3-3-24-45 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i*
+ @dihedral:4-3-24-5 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d5_i*
+ @dihedral:4-3-24-13 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i*
+ @dihedral:4-3-24-45 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i*
+ @dihedral:4-3-24-47 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d47_i*
+ @dihedral:4-3-24-48 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i*
+ @dihedral:4-3-24-91 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d91_i*
+ @dihedral:5-3-24-13 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i*
+ @dihedral:5-3-24-45 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i*
+ @dihedral:13-3-24-5 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d5_i*
+ @dihedral:13-3-24-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-3-24-45 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i*
+ @dihedral:13-3-24-48 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i*
+ @dihedral:20-3-24-13 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i*
+ @dihedral:20-3-24-45 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i*
+ @dihedral:24-3-24-3 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i*
+ @dihedral:24-3-24-13 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i*
+ @dihedral:24-3-24-45 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i*
+ @dihedral:46-3-24-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i*
+ @dihedral:46-3-24-45 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i*
+ @dihedral:47-3-24-45 @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i*
+ @dihedral:48-3-24-45 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i*
+ @dihedral:48-3-24-48 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i*
+ @dihedral:48-3-24-84 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d84_i*
+ @dihedral:48-3-24-87 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d87_i*
+ @dihedral:84-3-24-48 @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i*
+ @dihedral:84-3-24-84 @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d84_i*
+ @dihedral:84-3-24-87 @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d87_i*
+ @dihedral:87-3-24-45 @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i*
+ @dihedral:87-3-24-48 @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i*
+ @dihedral:87-3-24-84 @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d84_i*
+ @dihedral:87-3-24-87 @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d87_i*
+ @dihedral:X-3-47-13 @atom:* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i*
+ @dihedral:4-3-47-46 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i*
+ @dihedral:4-3-47-47 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i*
+ @dihedral:5-3-47-47 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i*
+ @dihedral:24-3-47-46 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i*
+ @dihedral:24-3-47-47 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i*
+ @dihedral:107-3-47-46 @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i*
+ @dihedral:107-3-47-47 @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i*
+ @dihedral:4-3-48-48 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:5-3-48-48 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-3-48-48 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:20-3-48-48 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:24-3-48-48 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:46-3-48-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:X-3-50-13 @atom:* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d13_i*
+ @dihedral:4-3-50-47 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47_i*
+ @dihedral:5-3-50-47 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47_i*
+ @dihedral:13-3-50-47 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47_i*
+ @dihedral:13-3-56-X @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d56_i* @atom:*
+ @dihedral:13-3-56-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d13_i*
+ @dihedral:46-3-56-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d56_i* @atom:*
+ @dihedral:46-3-56-45 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d45_i*
+ @dihedral:X-3-60-X @atom:* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d60_i* @atom:*
+ @dihedral:4-3-60-X @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d60_i* @atom:*
+ @dihedral:4-3-82-X @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d82_i* @atom:*
+ @dihedral:4-3-82-57 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d57_i*
+ @dihedral:4-3-82-61 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i*
+ @dihedral:82-3-82-57 @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d57_i*
+ @dihedral:82-3-82-61 @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i*
+ @dihedral:4-3-84-20 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d20_i*
+ @dihedral:4-3-84-87 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d87_i*
+ @dihedral:84-3-84-20 @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d20_i*
+ @dihedral:84-3-84-87 @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d87_i*
+ @dihedral:48-3-86-48 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i*
+ @dihedral:X-3-87-X @atom:* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d87_i* @atom:*
+ @dihedral:4-3-87-84 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d84_i*
+ @dihedral:4-3-87-87 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d87_i*
+ @dihedral:24-3-87-84 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d84_i*
+ @dihedral:24-3-87-87 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d87_i*
+ @dihedral:4-3-107-13 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-3-107-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d13_i*
+ @dihedral:4-3-109-109 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i*
+ @dihedral:5-3-109-109 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i*
+ @dihedral:X-4-106-X @atom:* @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d106_i* @atom:*
+ @dihedral:7-5-10-2 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d10_i* @atom:*_b*_a*_d2_i*
+ @dihedral:7-5-10-6 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d10_i* @atom:*_b*_a*_d6_i*
+ @dihedral:7-5-13-2 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d2_i*
+ @dihedral:7-5-13-6 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d6_i*
+ @dihedral:7-5-13-13 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i*
+ @dihedral:7-5-13-46 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i*
+ @dihedral:7-5-13-47 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i*
+ @dihedral:7-5-13-48 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i*
+ @dihedral:7-5-13-50 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d50_i*
+ @dihedral:7-5-44-13 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13_i*
+ @dihedral:7-5-44-45 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d45_i*
+ @dihedral:7-5-24-3 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i*
+ @dihedral:7-5-24-45 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i*
+ @dihedral:7-5-47-47 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i*
+ @dihedral:7-5-48-48 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:7-5-51-20 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d51_i* @atom:*_b*_a*_d20_i*
+ @dihedral:7-5-56-3 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d3_i*
+ @dihedral:7-5-64-4 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d4_i*
+ @dihedral:7-5-64-5 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d5_i*
+ @dihedral:7-5-79-13 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d13_i*
+ @dihedral:7-5-79-23 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d23_i*
+ @dihedral:7-5-79-48 @atom:*_b*_a*_d7_i* @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d48_i*
+ @dihedral:X-13-13-3 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i*
+ @dihedral:X-13-13-13 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i*
+ @dihedral:X-13-13-24 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i*
+ @dihedral:1-13-13-1 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d1_i*
+ @dihedral:1-13-13-5 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d5_i*
+ @dihedral:1-13-13-13 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i*
+ @dihedral:1-13-13-46 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i*
+ @dihedral:3-13-13-3 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d3_i*
+ @dihedral:3-13-13-5 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d5_i*
+ @dihedral:3-13-13-13 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i*
+ @dihedral:3-13-13-15 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d15_i*
+ @dihedral:3-13-13-16 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d16_i*
+ @dihedral:3-13-13-24 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i*
+ @dihedral:3-13-13-46 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i*
+ @dihedral:3-13-13-48 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i*
+ @dihedral:3-13-13-80 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d80_i*
+ @dihedral:5-13-13-5 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d5_i*
+ @dihedral:5-13-13-13 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i*
+ @dihedral:5-13-13-20 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i*
+ @dihedral:5-13-13-44 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d44_i*
+ @dihedral:5-13-13-24 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i*
+ @dihedral:5-13-13-46 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i*
+ @dihedral:13-13-13-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-13-13-15 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d15_i*
+ @dihedral:13-13-13-16 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d16_i*
+ @dihedral:13-13-13-19 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d19_i*
+ @dihedral:13-13-13-21 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d21_i*
+ @dihedral:13-13-13-44 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d44_i*
+ @dihedral:13-13-13-24 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i*
+ @dihedral:13-13-13-46 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i*
+ @dihedral:13-13-13-51 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d51_i*
+ @dihedral:13-13-13-53 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i*
+ @dihedral:13-13-13-65 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d65_i*
+ @dihedral:13-13-13-66 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d66_i*
+ @dihedral:13-13-13-79 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d79_i*
+ @dihedral:13-13-13-107 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d107_i*
+ @dihedral:13-13-13-108 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d108_i*
+ @dihedral:15-13-13-46 @atom:*_b*_a*_d15_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i*
+ @dihedral:16-13-13-46 @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i*
+ @dihedral:19-13-13-46 @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i*
+ @dihedral:20-13-13-20 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i*
+ @dihedral:20-13-13-46 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i*
+ @dihedral:21-13-13-21 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d21_i*
+ @dihedral:21-13-13-44 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d44_i*
+ @dihedral:21-13-13-46 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i*
+ @dihedral:44-13-13-44 @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d44_i*
+ @dihedral:44-13-13-46 @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i*
+ @dihedral:44-13-13-48 @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i*
+ @dihedral:24-13-13-46 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i*
+ @dihedral:24-13-13-48 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i*
+ @dihedral:24-13-13-80 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d80_i*
+ @dihedral:46-13-13-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d46_i*
+ @dihedral:46-13-13-47 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i*
+ @dihedral:46-13-13-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i*
+ @dihedral:46-13-13-51 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d51_i*
+ @dihedral:46-13-13-53 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i*
+ @dihedral:46-13-13-55 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d55_i*
+ @dihedral:46-13-13-59 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d59_i*
+ @dihedral:46-13-13-62 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d62_i*
+ @dihedral:46-13-13-65 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d65_i*
+ @dihedral:46-13-13-66 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d66_i*
+ @dihedral:46-13-13-79 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d79_i*
+ @dihedral:46-13-13-80 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d80_i*
+ @dihedral:46-13-13-82 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d82_i*
+ @dihedral:46-13-13-83 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d83_i*
+ @dihedral:46-13-13-84 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d84_i*
+ @dihedral:46-13-13-87 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d87_i*
+ @dihedral:46-13-13-88 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d88_i*
+ @dihedral:46-13-13-102 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d102_i*
+ @dihedral:46-13-13-104 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d104_i*
+ @dihedral:46-13-13-107 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d107_i*
+ @dihedral:46-13-13-108 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d108_i*
+ @dihedral:46-13-13-109 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d109_i*
+ @dihedral:48-13-13-53 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i*
+ @dihedral:108-13-13-108 @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d108_i*
+ @dihedral:13-13-15-17 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d15_i* @atom:*_b*_a*_d17_i*
+ @dihedral:46-13-15-17 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d15_i* @atom:*_b*_a*_d17_i*
+ @dihedral:13-13-16-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-13-16-16 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d16_i*
+ @dihedral:46-13-16-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d13_i*
+ @dihedral:46-13-16-16 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d16_i*
+ @dihedral:46-13-16-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d48_i*
+ @dihedral:X-13-18-19 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d18_i* @atom:*_b*_a*_d19_i*
+ @dihedral:46-13-18-19 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d18_i* @atom:*_b*_a*_d19_i*
+ @dihedral:X-13-19-18 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d18_i*
+ @dihedral:X-13-19-19 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i*
+ @dihedral:13-13-19-19 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i*
+ @dihedral:46-13-19-19 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i*
+ @dihedral:X-13-20-13 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i*
+ @dihedral:56-13-20-13 @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i*
+ @dihedral:57-13-20-13 @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-13-20-3 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d3_i*
+ @dihedral:13-13-20-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-13-20-64 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d64_i*
+ @dihedral:46-13-20-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*
+ @dihedral:46-13-20-3 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d3_i*
+ @dihedral:46-13-20-47 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d47_i*
+ @dihedral:46-13-20-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d48_i*
+ @dihedral:46-13-20-51 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d51_i*
+ @dihedral:46-13-20-64 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d64_i*
+ @dihedral:X-13-24-45 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i*
+ @dihedral:3-13-24-3 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i*
+ @dihedral:3-13-24-13 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i*
+ @dihedral:3-13-24-45 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i*
+ @dihedral:13-13-24-3 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i*
+ @dihedral:13-13-24-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-13-24-45 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i*
+ @dihedral:13-13-24-59 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d59_i*
+ @dihedral:13-13-24-79 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d79_i*
+ @dihedral:13-13-24-91 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d91_i*
+ @dihedral:46-13-24-3 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i*
+ @dihedral:46-13-24-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i*
+ @dihedral:46-13-24-45 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d45_i*
+ @dihedral:46-13-24-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i*
+ @dihedral:46-13-24-79 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d79_i*
+ @dihedral:48-13-24-59 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d59_i*
+ @dihedral:13-13-44-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-13-44-45 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d45_i*
+ @dihedral:46-13-44-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13_i*
+ @dihedral:46-13-44-45 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d45_i*
+ @dihedral:46-13-44-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d48_i*
+ @dihedral:X-13-47-13 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i*
+ @dihedral:X-13-47-46 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i*
+ @dihedral:X-13-47-47 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i*
+ @dihedral:X-13-47-50 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i*
+ @dihedral:1-13-47-47 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i*
+ @dihedral:13-13-47-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-13-47-47 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i*
+ @dihedral:13-13-47-50 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i*
+ @dihedral:46-13-47-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i*
+ @dihedral:46-13-47-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i*
+ @dihedral:46-13-47-47 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i*
+ @dihedral:46-13-47-50 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i*
+ @dihedral:46-13-47-110 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d110_i*
+ @dihedral:47-13-47-13 @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i*
+ @dihedral:47-13-47-46 @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i*
+ @dihedral:X-13-48-48 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:1-13-48-48 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-13-48-48 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-13-48-56 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d56_i*
+ @dihedral:21-13-48-48 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:46-13-48-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:64-13-48-48 @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:65-13-48-48 @atom:*_b*_a*_d65_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:X-13-50-47 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47_i*
+ @dihedral:13-13-50-50 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i*
+ @dihedral:46-13-50-47 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47_i*
+ @dihedral:46-13-50-50 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i*
+ @dihedral:46-13-50-109 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i*
+ @dihedral:13-13-51-X @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d51_i* @atom:*
+ @dihedral:13-13-51-46 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d51_i* @atom:*_b*_a*_d46_i*
+ @dihedral:46-13-51-20 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d51_i* @atom:*_b*_a*_d20_i*
+ @dihedral:13-13-53-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-13-53-45 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d45_i*
+ @dihedral:46-13-53-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d13_i*
+ @dihedral:46-13-53-45 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d45_i*
+ @dihedral:46-13-53-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d48_i*
+ @dihedral:46-13-53-54 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d54_i*
+ @dihedral:13-13-55-45 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d45_i*
+ @dihedral:13-13-55-48 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-13-55-54 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d54_i*
+ @dihedral:46-13-55-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d13_i*
+ @dihedral:46-13-55-45 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d45_i*
+ @dihedral:46-13-55-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-13-56-18 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d18_i*
+ @dihedral:X-13-57-X @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d57_i* @atom:*
+ @dihedral:13-13-57-X @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d57_i* @atom:*
+ @dihedral:13-13-57-62 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d62_i*
+ @dihedral:13-13-57-82 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d82_i*
+ @dihedral:20-13-57-X @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d57_i* @atom:*
+ @dihedral:20-13-57-62 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d62_i*
+ @dihedral:20-13-57-82 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d82_i*
+ @dihedral:13-13-59-X @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d59_i* @atom:*
+ @dihedral:13-13-59-56 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d59_i* @atom:*_b*_a*_d56_i*
+ @dihedral:46-13-59-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d59_i* @atom:*
+ @dihedral:13-13-62-X @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d62_i* @atom:*
+ @dihedral:46-13-62-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d62_i* @atom:*
+ @dihedral:46-13-64-20 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d20_i*
+ @dihedral:46-13-64-52 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d52_i*
+ @dihedral:48-13-64-20 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d20_i*
+ @dihedral:48-13-64-52 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d52_i*
+ @dihedral:X-13-79-23 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d23_i*
+ @dihedral:X-13-79-24 @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d24_i*
+ @dihedral:13-13-79-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-13-79-23 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d23_i*
+ @dihedral:46-13-79-5 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d5_i*
+ @dihedral:46-13-79-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d13_i*
+ @dihedral:46-13-79-23 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d23_i*
+ @dihedral:46-13-79-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-13-80-X @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d80_i* @atom:*
+ @dihedral:13-13-80-60 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d80_i* @atom:*_b*_a*_d60_i*
+ @dihedral:13-13-80-84 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d80_i* @atom:*_b*_a*_d84_i*
+ @dihedral:46-13-80-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d80_i* @atom:*
+ @dihedral:46-13-80-60 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d80_i* @atom:*_b*_a*_d60_i*
+ @dihedral:46-13-80-84 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d80_i* @atom:*_b*_a*_d84_i*
+ @dihedral:13-13-82-X @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d82_i* @atom:*
+ @dihedral:46-13-82-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d82_i* @atom:*
+ @dihedral:13-13-83-X @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d83_i* @atom:*
+ @dihedral:46-13-83-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d83_i* @atom:*
+ @dihedral:1-13-84-X @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d84_i* @atom:*
+ @dihedral:13-13-84-X @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d84_i* @atom:*
+ @dihedral:13-13-84-57 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d57_i*
+ @dihedral:21-13-84-X @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d84_i* @atom:*
+ @dihedral:46-13-84-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d84_i* @atom:*
+ @dihedral:1-13-87-X @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d87_i* @atom:*
+ @dihedral:13-13-87-X @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d87_i* @atom:*
+ @dihedral:21-13-87-X @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d87_i* @atom:*
+ @dihedral:46-13-87-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d87_i* @atom:*
+ @dihedral:13-13-88-X @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d88_i* @atom:*
+ @dihedral:46-13-88-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d88_i* @atom:*
+ @dihedral:X-13-90-X @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d90_i* @atom:*
+ @dihedral:46-13-90-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d90_i* @atom:*
+ @dihedral:46-13-91-91 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i*
+ @dihedral:13-13-95-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d95_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-13-95-46 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d95_i* @atom:*_b*_a*_d46_i*
+ @dihedral:13-13-102-103 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d102_i* @atom:*_b*_a*_d103_i*
+ @dihedral:46-13-102-103 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d102_i* @atom:*_b*_a*_d103_i*
+ @dihedral:13-13-104-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d104_i* @atom:*_b*_a*_d13_i*
+ @dihedral:46-13-104-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d104_i* @atom:*_b*_a*_d13_i*
+ @dihedral:X-13-105-X @atom:* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d105_i* @atom:*
+ @dihedral:13-13-105-X @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d105_i* @atom:*
+ @dihedral:13-13-105-62 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d105_i* @atom:*_b*_a*_d62_i*
+ @dihedral:13-13-105-82 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d105_i* @atom:*_b*_a*_d82_i*
+ @dihedral:20-13-105-X @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d105_i* @atom:*
+ @dihedral:20-13-105-62 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d105_i* @atom:*_b*_a*_d62_i*
+ @dihedral:20-13-105-82 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d105_i* @atom:*_b*_a*_d82_i*
+ @dihedral:3-13-107-13 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-13-107-3 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d3_i*
+ @dihedral:13-13-107-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d13_i*
+ @dihedral:46-13-107-3 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d3_i*
+ @dihedral:46-13-107-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d13_i*
+ @dihedral:46-13-107-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d107_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-13-108-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-13-108-45 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d45_i*
+ @dihedral:46-13-108-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d13_i*
+ @dihedral:46-13-108-20 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d20_i*
+ @dihedral:46-13-108-45 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d45_i*
+ @dihedral:13-13-109-109 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i*
+ @dihedral:46-13-109-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d13_i*
+ @dihedral:46-13-109-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d46_i*
+ @dihedral:46-13-109-109 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i*
+ @dihedral:17-15-48-X @atom:*_b*_a*_d17_i* @atom:*_b*_a*_d15_i* @atom:*_b*_a*_d48_i* @atom:*
+ @dihedral:17-15-48-48 @atom:*_b*_a*_d17_i* @atom:*_b*_a*_d15_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-16-16-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-16-48-48 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-16-48-56 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d56_i*
+ @dihedral:13-16-59-56 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d59_i* @atom:*_b*_a*_d56_i*
+ @dihedral:84-16-82-X @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d82_i* @atom:*
+ @dihedral:84-16-82-61 @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i*
+ @dihedral:82-16-84-49 @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d49_i*
+ @dihedral:82-16-84-83 @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d83_i*
+ @dihedral:82-16-84-88 @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d88_i*
+ @dihedral:X-16-91-X @atom:* @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d91_i* @atom:*
+ @dihedral:19-18-48-X @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d18_i* @atom:*_b*_a*_d48_i* @atom:*
+ @dihedral:19-18-48-48 @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d18_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:18-18-56-13 @atom:*_b*_a*_d18_i* @atom:*_b*_a*_d18_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d13_i*
+ @dihedral:18-18-56-46 @atom:*_b*_a*_d18_i* @atom:*_b*_a*_d18_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d46_i*
+ @dihedral:X-19-19-X @atom:* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*
+ @dihedral:13-19-19-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-19-19-46 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d46_i*
+ @dihedral:13-19-19-47 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d47_i*
+ @dihedral:13-19-19-109 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d109_i*
+ @dihedral:46-19-19-47 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d47_i*
+ @dihedral:46-19-19-109 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d109_i*
+ @dihedral:19-19-47-13 @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i*
+ @dihedral:19-19-47-46 @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i*
+ @dihedral:19-19-47-47 @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i*
+ @dihedral:13-20-44-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-20-44-45 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d45_i*
+ @dihedral:13-20-47-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-20-47-46 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i*
+ @dihedral:13-20-47-47 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i*
+ @dihedral:13-20-47-50 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i*
+ @dihedral:3-20-48-48 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-20-48-48 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-20-48-56 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d56_i*
+ @dihedral:64-20-48-48 @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-20-51-5 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d51_i* @atom:*_b*_a*_d5_i*
+ @dihedral:13-20-51-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d51_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-20-51-20 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d51_i* @atom:*_b*_a*_d20_i*
+ @dihedral:13-20-51-46 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d51_i* @atom:*_b*_a*_d46_i*
+ @dihedral:13-20-56-3 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d3_i*
+ @dihedral:13-20-59-56 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d59_i* @atom:*_b*_a*_d56_i*
+ @dihedral:X-20-64-52 @atom:* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d52_i*
+ @dihedral:13-20-64-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-20-64-52 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d52_i*
+ @dihedral:48-20-64-4 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d64_i* @atom:*_b*_a*_d4_i*
+ @dihedral:84-20-82-61 @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i*
+ @dihedral:82-20-84-88 @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d88_i*
+ @dihedral:84-20-84-49 @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d49_i*
+ @dihedral:84-20-84-87 @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d87_i*
+ @dihedral:108-20-108-13 @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d13_i*
+ @dihedral:108-20-108-20 @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d108_i* @atom:*_b*_a*_d20_i*
+ @dihedral:X-24-48-48 @atom:* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:3-24-48-48 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-24-48-48 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:45-24-48-48 @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:59-24-48-48 @atom:*_b*_a*_d59_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:82-24-48-48 @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:84-24-48-48 @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:X-24-59-X @atom:* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d59_i* @atom:*
+ @dihedral:X-24-59-49 @atom:* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d59_i* @atom:*_b*_a*_d49_i*
+ @dihedral:45-24-59-X @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d59_i* @atom:*
+ @dihedral:X-24-60-X @atom:* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d60_i* @atom:*
+ @dihedral:X-24-79-23 @atom:* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d23_i*
+ @dihedral:13-24-79-48 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d48_i*
+ @dihedral:45-24-79-48 @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-24-82-61 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i*
+ @dihedral:45-24-82-16 @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d16_i*
+ @dihedral:45-24-82-20 @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d20_i*
+ @dihedral:45-24-82-61 @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i*
+ @dihedral:48-24-82-16 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d16_i*
+ @dihedral:48-24-82-20 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d20_i*
+ @dihedral:48-24-82-61 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i*
+ @dihedral:X-24-84-X @atom:* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d84_i* @atom:*
+ @dihedral:3-24-84-84 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d84_i*
+ @dihedral:45-24-84-16 @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d16_i*
+ @dihedral:45-24-84-20 @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d20_i*
+ @dihedral:48-24-84-16 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d16_i*
+ @dihedral:48-24-84-20 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d20_i*
+ @dihedral:3-24-86-48 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i*
+ @dihedral:3-24-86-56 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d56_i*
+ @dihedral:3-24-86-86 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d86_i*
+ @dihedral:47-24-86-48 @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i*
+ @dihedral:47-24-86-56 @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d56_i*
+ @dihedral:X-24-87-X @atom:* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d87_i* @atom:*
+ @dihedral:X-24-88-X @atom:* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d88_i* @atom:*
+ @dihedral:3-24-91-46 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d46_i*
+ @dihedral:3-24-91-89 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d89_i*
+ @dihedral:3-24-91-91 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i*
+ @dihedral:45-24-91-46 @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d46_i*
+ @dihedral:45-24-91-89 @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d89_i*
+ @dihedral:45-24-91-91 @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i*
+ @dihedral:X-24-106-X @atom:* @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d106_i* @atom:*
+ @dihedral:13-44-44-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-44-44-45 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d45_i*
+ @dihedral:45-44-44-45 @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d45_i*
+ @dihedral:13-44-48-48 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:45-44-48-48 @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:59-44-48-48 @atom:*_b*_a*_d59_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:82-44-48-48 @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:84-44-48-48 @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:45-44-82-16 @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d16_i*
+ @dihedral:45-44-82-61 @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i*
+ @dihedral:48-44-82-16 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d16_i*
+ @dihedral:48-44-82-61 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i*
+ @dihedral:47-46-47-13 @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i*
+ @dihedral:47-46-47-46 @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i*
+ @dihedral:X-47-47-X @atom:* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*
+ @dihedral:X-47-47-19 @atom:* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d19_i*
+ @dihedral:3-47-47-24 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d24_i*
+ @dihedral:3-47-47-46 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i*
+ @dihedral:5-47-47-13 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i*
+ @dihedral:5-47-47-46 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i*
+ @dihedral:13-47-47-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-47-47-19 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d19_i*
+ @dihedral:13-47-47-20 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d20_i*
+ @dihedral:13-47-47-46 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i*
+ @dihedral:19-47-47-46 @atom:*_b*_a*_d19_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i*
+ @dihedral:20-47-47-46 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i*
+ @dihedral:21-47-47-21 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d21_i*
+ @dihedral:21-47-47-46 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i*
+ @dihedral:46-47-47-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d46_i*
+ @dihedral:46-47-47-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-47-48-48 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:46-47-48-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:46-47-48-56 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d56_i*
+ @dihedral:47-47-48-48 @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-47-50-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-47-50-46 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d46_i*
+ @dihedral:13-47-50-48 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-47-50-50 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i*
+ @dihedral:13-47-50-109 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i*
+ @dihedral:24-47-50-3 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d3_i*
+ @dihedral:46-47-50-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d13_i*
+ @dihedral:46-47-50-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d46_i*
+ @dihedral:46-47-50-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d48_i*
+ @dihedral:46-47-50-50 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i*
+ @dihedral:46-47-50-109 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i*
+ @dihedral:X-47-84-X @atom:* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d84_i* @atom:*
+ @dihedral:X-47-86-48 @atom:* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i*
+ @dihedral:3-47-86-86 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d86_i*
+ @dihedral:49-47-86-X @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d86_i* @atom:*
+ @dihedral:49-47-86-24 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d24_i*
+ @dihedral:X-47-87-X @atom:* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d87_i* @atom:*
+ @dihedral:X-47-88-X @atom:* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d88_i* @atom:*
+ @dihedral:13-47-110-47 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d110_i* @atom:*_b*_a*_d47_i*
+ @dihedral:46-47-110-47 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d110_i* @atom:*_b*_a*_d47_i*
+ @dihedral:X-48-48-X @atom:* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*
+ @dihedral:X-48-48-13 @atom:* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d13_i*
+ @dihedral:X-48-48-48 @atom:* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:X-48-48-49 @atom:* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d49_i*
+ @dihedral:1-48-48-48 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:1-48-48-49 @atom:*_b*_a*_d1_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d49_i*
+ @dihedral:13-48-48-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-48-48-48 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-48-48-49 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d49_i*
+ @dihedral:13-48-48-50 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d50_i*
+ @dihedral:21-48-48-48 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:21-48-48-49 @atom:*_b*_a*_d21_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d49_i*
+ @dihedral:44-48-48-49 @atom:*_b*_a*_d44_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d49_i*
+ @dihedral:47-48-48-49 @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d49_i*
+ @dihedral:48-48-48-48 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i*
+ @dihedral:48-48-48-49 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d49_i*
+ @dihedral:48-48-48-50 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d50_i*
+ @dihedral:48-48-48-55 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d55_i*
+ @dihedral:48-48-48-60 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d60_i*
+ @dihedral:48-48-48-65 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d65_i*
+ @dihedral:48-48-48-66 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d66_i*
+ @dihedral:48-48-48-86 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i*
+ @dihedral:48-48-48-109 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d109_i*
+ @dihedral:49-48-48-49 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d49_i*
+ @dihedral:49-48-48-50 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d50_i*
+ @dihedral:49-48-48-60 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d60_i*
+ @dihedral:49-48-48-65 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d65_i*
+ @dihedral:49-48-48-66 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d66_i*
+ @dihedral:49-48-48-86 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i*
+ @dihedral:49-48-48-109 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d109_i*
+ @dihedral:56-48-48-86 @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i*
+ @dihedral:48-48-50-46 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d46_i*
+ @dihedral:48-48-50-47 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47_i*
+ @dihedral:56-48-50-46 @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d46_i*
+ @dihedral:56-48-50-47 @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47_i*
+ @dihedral:48-48-53-13 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d13_i*
+ @dihedral:48-48-53-54 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d54_i*
+ @dihedral:X-48-55-45 @atom:* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d45_i*
+ @dihedral:48-48-55-45 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d45_i*
+ @dihedral:55-48-55-13 @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d13_i*
+ @dihedral:55-48-55-45 @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d45_i*
+ @dihedral:60-48-55-45 @atom:*_b*_a*_d60_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d45_i*
+ @dihedral:X-48-56-X @atom:* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d56_i* @atom:*
+ @dihedral:48-48-56-48 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d48_i*
+ @dihedral:49-48-56-48 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d48_i*
+ @dihedral:X-48-60-X @atom:* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d60_i* @atom:*
+ @dihedral:X-48-79-23 @atom:* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d23_i*
+ @dihedral:48-48-79-13 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d13_i*
+ @dihedral:48-48-79-24 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d79_i* @atom:*_b*_a*_d24_i*
+ @dihedral:48-48-86-48 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i*
+ @dihedral:48-48-86-56 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d56_i*
+ @dihedral:48-48-86-86 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d86_i*
+ @dihedral:49-48-86-48 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i*
+ @dihedral:49-48-86-56 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d56_i*
+ @dihedral:49-48-86-86 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d86_i*
+ @dihedral:56-48-86-48 @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i*
+ @dihedral:56-48-86-86 @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d86_i*
+ @dihedral:49-48-88-49 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d88_i* @atom:*_b*_a*_d49_i*
+ @dihedral:56-48-101-13 @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d101_i* @atom:*_b*_a*_d13_i*
+ @dihedral:48-48-102-103 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d102_i* @atom:*_b*_a*_d103_i*
+ @dihedral:48-48-109-13 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d13_i*
+ @dihedral:48-48-109-46 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d46_i*
+ @dihedral:48-48-109-109 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i*
+ @dihedral:X-50-50-49 @atom:* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d49_i*
+ @dihedral:3-50-50-3 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d3_i*
+ @dihedral:13-50-50-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-50-50-46 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d46_i*
+ @dihedral:13-50-50-47 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47_i*
+ @dihedral:46-50-50-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d46_i*
+ @dihedral:46-50-50-47 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47_i*
+ @dihedral:47-50-50-47 @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d47_i*
+ @dihedral:13-50-109-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-50-109-109 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i*
+ @dihedral:46-50-109-13 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d13_i*
+ @dihedral:46-50-109-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d46_i*
+ @dihedral:46-50-109-109 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i*
+ @dihedral:47-50-109-13 @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d13_i*
+ @dihedral:47-50-109-46 @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d46_i*
+ @dihedral:47-50-109-109 @atom:*_b*_a*_d47_i* @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i*
+ @dihedral:13-53-82-61 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i*
+ @dihedral:48-53-82-61 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i*
+ @dihedral:45-55-59-X @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d59_i* @atom:*
+ @dihedral:13-56-56-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-56-56-48 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d48_i*
+ @dihedral:48-56-56-48 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d48_i*
+ @dihedral:X-56-59-X @atom:* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d59_i* @atom:*
+ @dihedral:X-56-59-49 @atom:* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d59_i* @atom:*_b*_a*_d49_i*
+ @dihedral:X-56-60-X @atom:* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d60_i* @atom:*
+ @dihedral:X-56-62-X @atom:* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d62_i* @atom:*
+ @dihedral:X-56-82-X @atom:* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d82_i* @atom:*
+ @dihedral:48-56-86-48 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i*
+ @dihedral:48-56-86-86 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d86_i*
+ @dihedral:X-57-60-X @atom:* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d60_i* @atom:*
+ @dihedral:45-57-60-X @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d60_i* @atom:*
+ @dihedral:X-57-61-X @atom:* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d61_i* @atom:*
+ @dihedral:X-57-62-X @atom:* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d62_i* @atom:*
+ @dihedral:X-57-81-X @atom:* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d81_i* @atom:*
+ @dihedral:X-57-82-X @atom:* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d82_i* @atom:*
+ @dihedral:X-57-82-49 @atom:* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d49_i*
+ @dihedral:45-57-82-X @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d82_i* @atom:*
+ @dihedral:X-57-84-X @atom:* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d84_i* @atom:*
+ @dihedral:45-57-84-X @atom:*_b*_a*_d45_i* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d84_i* @atom:*
+ @dihedral:61-57-86-48 @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i*
+ @dihedral:84-57-86-48 @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i*
+ @dihedral:X-60-60-X @atom:* @atom:*_b*_a*_d60_i* @atom:*_b*_a*_d60_i* @atom:*
+ @dihedral:X-60-61-X @atom:* @atom:*_b*_a*_d60_i* @atom:*_b*_a*_d61_i* @atom:*
+ @dihedral:X-60-80-X @atom:* @atom:*_b*_a*_d60_i* @atom:*_b*_a*_d80_i* @atom:*
+ @dihedral:X-60-81-X @atom:* @atom:*_b*_a*_d60_i* @atom:*_b*_a*_d81_i* @atom:*
+ @dihedral:X-60-87-X @atom:* @atom:*_b*_a*_d60_i* @atom:*_b*_a*_d87_i* @atom:*
+ @dihedral:48-60-87-84 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d60_i* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d84_i*
+ @dihedral:60-60-87-84 @atom:*_b*_a*_d60_i* @atom:*_b*_a*_d60_i* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d84_i*
+ @dihedral:X-61-61-X @atom:* @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d61_i* @atom:*
+ @dihedral:X-61-62-X @atom:* @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d62_i* @atom:*
+ @dihedral:X-61-82-X @atom:* @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d82_i* @atom:*
+ @dihedral:X-61-82-49 @atom:* @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d49_i*
+ @dihedral:83-61-82-16 @atom:*_b*_a*_d83_i* @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d16_i*
+ @dihedral:88-61-82-16 @atom:*_b*_a*_d88_i* @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d16_i*
+ @dihedral:88-61-82-20 @atom:*_b*_a*_d88_i* @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d20_i*
+ @dihedral:X-61-83-X @atom:* @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d83_i* @atom:*
+ @dihedral:82-61-83-49 @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d83_i* @atom:*_b*_a*_d49_i*
+ @dihedral:82-61-83-84 @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d83_i* @atom:*_b*_a*_d84_i*
+ @dihedral:X-61-84-X @atom:* @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d84_i* @atom:*
+ @dihedral:X-61-88-X @atom:* @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d88_i* @atom:*
+ @dihedral:82-61-88-84 @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d88_i* @atom:*_b*_a*_d84_i*
+ @dihedral:X-80-84-X @atom:* @atom:*_b*_a*_d80_i* @atom:*_b*_a*_d84_i* @atom:*
+ @dihedral:X-82-84-X @atom:* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d84_i* @atom:*
+ @dihedral:16-82-86-48 @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i*
+ @dihedral:20-82-86-48 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i*
+ @dihedral:57-82-86-48 @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i*
+ @dihedral:61-82-86-48 @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i*
+ @dihedral:X-82-87-X @atom:* @atom:*_b*_a*_d82_i* @atom:*_b*_a*_d87_i* @atom:*
+ @dihedral:X-83-84-X @atom:* @atom:*_b*_a*_d83_i* @atom:*_b*_a*_d84_i* @atom:*
+ @dihedral:X-83-84-49 @atom:* @atom:*_b*_a*_d83_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d49_i*
+ @dihedral:49-83-84-X @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d83_i* @atom:*_b*_a*_d84_i* @atom:*
+ @dihedral:49-83-84-16 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d83_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d16_i*
+ @dihedral:49-83-84-49 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d83_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d49_i*
+ @dihedral:61-83-84-16 @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d83_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d16_i*
+ @dihedral:61-83-84-20 @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d83_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d20_i*
+ @dihedral:61-83-84-49 @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d83_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d49_i*
+ @dihedral:X-83-86-48 @atom:* @atom:*_b*_a*_d83_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i*
+ @dihedral:61-83-86-48 @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d83_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i*
+ @dihedral:61-83-87-X @atom:*_b*_a*_d61_i* @atom:*_b*_a*_d83_i* @atom:*_b*_a*_d87_i* @atom:*
+ @dihedral:84-83-87-X @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d83_i* @atom:*_b*_a*_d87_i* @atom:*
+ @dihedral:X-84-84-X @atom:* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d84_i* @atom:*
+ @dihedral:X-84-84-49 @atom:* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d49_i*
+ @dihedral:16-84-84-49 @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d49_i*
+ @dihedral:49-84-84-49 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d49_i*
+ @dihedral:X-84-86-48 @atom:* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i*
+ @dihedral:16-84-86-48 @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i*
+ @dihedral:20-84-86-48 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i*
+ @dihedral:57-84-86-48 @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i*
+ @dihedral:X-84-87-X @atom:* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d87_i* @atom:*
+ @dihedral:X-84-87-49 @atom:* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d49_i*
+ @dihedral:49-84-87-49 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d49_i*
+ @dihedral:X-84-88-49 @atom:* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d88_i* @atom:*_b*_a*_d49_i*
+ @dihedral:16-84-88-49 @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d88_i* @atom:*_b*_a*_d49_i*
+ @dihedral:16-84-88-61 @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d88_i* @atom:*_b*_a*_d61_i*
+ @dihedral:20-84-88-61 @atom:*_b*_a*_d20_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d88_i* @atom:*_b*_a*_d61_i*
+ @dihedral:49-84-88-X @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d88_i* @atom:*
+ @dihedral:49-84-88-61 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d84_i* @atom:*_b*_a*_d88_i* @atom:*_b*_a*_d61_i*
+ @dihedral:48-86-86-48 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d48_i*
+ @dihedral:48-86-86-56 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d56_i*
+ @dihedral:48-86-87-X @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d87_i* @atom:*
+ @dihedral:48-86-88-X @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d88_i* @atom:*
+ @dihedral:48-86-88-61 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d88_i* @atom:*_b*_a*_d61_i*
+ @dihedral:56-86-88-X @atom:*_b*_a*_d56_i* @atom:*_b*_a*_d86_i* @atom:*_b*_a*_d88_i* @atom:*
+ @dihedral:X-87-87-20 @atom:* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d20_i*
+ @dihedral:X-87-87-57 @atom:* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d57_i*
+ @dihedral:X-87-87-87 @atom:* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d87_i*
+ @dihedral:49-87-87-49 @atom:*_b*_a*_d49_i* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d87_i* @atom:*_b*_a*_d49_i*
+ @dihedral:4-89-90-13 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d89_i* @atom:*_b*_a*_d90_i* @atom:*_b*_a*_d13_i*
+ @dihedral:4-89-90-45 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d89_i* @atom:*_b*_a*_d90_i* @atom:*_b*_a*_d45_i*
+ @dihedral:4-89-90-48 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d89_i* @atom:*_b*_a*_d90_i* @atom:*_b*_a*_d48_i*
+ @dihedral:4-89-90-91 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d89_i* @atom:*_b*_a*_d90_i* @atom:*_b*_a*_d91_i*
+ @dihedral:91-89-90-13 @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d89_i* @atom:*_b*_a*_d90_i* @atom:*_b*_a*_d13_i*
+ @dihedral:91-89-90-45 @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d89_i* @atom:*_b*_a*_d90_i* @atom:*_b*_a*_d45_i*
+ @dihedral:91-89-90-48 @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d89_i* @atom:*_b*_a*_d90_i* @atom:*_b*_a*_d48_i*
+ @dihedral:91-89-90-91 @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d89_i* @atom:*_b*_a*_d90_i* @atom:*_b*_a*_d91_i*
+ @dihedral:X-89-91-X @atom:* @atom:*_b*_a*_d89_i* @atom:*_b*_a*_d91_i* @atom:*
+ @dihedral:4-89-91-46 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d89_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d46_i*
+ @dihedral:4-89-91-91 @atom:*_b*_a*_d4_i* @atom:*_b*_a*_d89_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i*
+ @dihedral:90-89-91-46 @atom:*_b*_a*_d90_i* @atom:*_b*_a*_d89_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d46_i*
+ @dihedral:90-89-91-91 @atom:*_b*_a*_d90_i* @atom:*_b*_a*_d89_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i*
+ @dihedral:X-90-91-X @atom:* @atom:*_b*_a*_d90_i* @atom:*_b*_a*_d91_i* @atom:*
+ @dihedral:X-90-91-46 @atom:* @atom:*_b*_a*_d90_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d46_i*
+ @dihedral:X-90-91-91 @atom:* @atom:*_b*_a*_d90_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i*
+ @dihedral:X-91-91-X @atom:* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i* @atom:*
+ @dihedral:X-91-91-24 @atom:* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d24_i*
+ @dihedral:13-91-91-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-91-91-46 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d46_i*
+ @dihedral:46-91-91-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d46_i*
+ @dihedral:46-91-91-91 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i*
+ @dihedral:91-91-91-91 @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i* @atom:*_b*_a*_d91_i*
+ @dihedral:X-109-109-X @atom:* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*
+ @dihedral:13-109-109-13 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d13_i*
+ @dihedral:13-109-109-46 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d46_i*
+ @dihedral:13-109-109-48 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d48_i*
+ @dihedral:13-109-109-50 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d50_i*
+ @dihedral:13-109-109-109 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i*
+ @dihedral:46-109-109-46 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d46_i*
+ @dihedral:46-109-109-48 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d48_i*
+ @dihedral:46-109-109-50 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d50_i*
+ @dihedral:46-109-109-109 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i*
+ @dihedral:48-109-109-48 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d48_i*
+ @dihedral:48-109-109-50 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d50_i*
+ @dihedral:48-109-109-109 @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i*
+ @dihedral:50-109-109-50 @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d50_i*
+ @dihedral:50-109-109-109 @atom:*_b*_a*_d50_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i*
+ @dihedral:109-109-109-109 @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i* @atom:*_b*_a*_d109_i*
+ @dihedral:24-3-13-53 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i*
+ @dihedral:52-3-13-24 @atom:*_b*_a*_d52_i* @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d24_i*
+ @dihedral:3-13-13-53 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i*
+ @dihedral:3-13-13-83 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d83_i*
+ @dihedral:3-13-13-84 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d84_i*
+ @dihedral:3-13-13-85 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d85_i*
+ @dihedral:5-13-13-53 @atom:*_b*_a*_d5_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i*
+ @dihedral:15-13-13-53 @atom:*_b*_a*_d15_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i*
+ @dihedral:16-13-13-53 @atom:*_b*_a*_d16_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i*
+ @dihedral:13-13-13-55 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d55_i*
+ @dihedral:24-13-13-83 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d83_i*
+ @dihedral:53-13-13-83 @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d83_i*
+ @dihedral:24-13-13-84 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d84_i*
+ @dihedral:53-13-13-84 @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d84_i*
+ @dihedral:24-13-13-85 @atom:*_b*_a*_d24_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d85_i*
+ @dihedral:46-13-13-85 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d85_i*
+ @dihedral:53-13-13-85 @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d85_i*
+ @dihedral:3-13-53-13 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d13_i*
+ @dihedral:3-13-53-54 @atom:*_b*_a*_d3_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d54_i*
+ @dihedral:13-13-53-54 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d53_i* @atom:*_b*_a*_d54_i*
+ @dihedral:46-13-55-54 @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d54_i*
+ @dihedral:13-13-85-X @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d85_i* @atom:*
+ @dihedral:13-13-85-57 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d85_i* @atom:*_b*_a*_d57_i*
+ @dihedral:46-13-85-X @atom:*_b*_a*_d46_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d85_i* @atom:*
+ @dihedral:55-48-55-54 @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d55_i* @atom:*_b*_a*_d54_i*
+ @dihedral:X-48-81-X @atom:* @atom:*_b*_a*_d48_i* @atom:*_b*_a*_d81_i* @atom:*
+ @dihedral:X-57-85-X @atom:* @atom:*_b*_a*_d57_i* @atom:*_b*_a*_d85_i* @atom:*
+ @dihedral:X-85-85-X @atom:* @atom:*_b*_a*_d85_i* @atom:*_b*_a*_d85_i* @atom:*
+ @dihedral:13-13-13-20 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d20_i*
+ @dihedral:13-13-13-47 @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d13_i* @atom:*_b*_a*_d47_i*
+ } #(end of dihedrals by type)
+
+
+
+
+ # ---------- Improper Interactions: ----------
+ # http://lammps.sandia.gov/doc/improper_harmonic.html
+ # Syntax:
+ # improper_coeff ImproperTypeName ImproperStyle parameters
+
+ write_once("In Settings") {
+ improper_coeff @improper:X-X-3-4 harmonic 10.5 180.0
+ improper_coeff @improper:X-X-3-52 harmonic 10.5 180.0
+ improper_coeff @improper:X-X-24-X harmonic 2.5 180.0
+ improper_coeff @improper:X-X-47-X harmonic 15.0 180.0
+ improper_coeff @improper:X-X-48-X harmonic 2.5 180.0
+ } #(end of improper_coeffs)
+
+ # Rules for creating dihedral interactions according to atom type:
+ # ImproperTypeName AtomType1 AtomType2 AtomType3 AtomType4
+ # (* = wildcard)
+ write_once("Data Impropers By Type (opls_imp.py)") {
+ @improper:X-X-3-4 @atom:* @atom:* @atom:*_b*_a*_d*_i3 @atom:*_b*_a*_d*_i4
+ @improper:X-X-3-52 @atom:* @atom:* @atom:*_b*_a*_d*_i3 @atom:*_b*_a*_d*_i52
+ @improper:X-X-24-X @atom:* @atom:* @atom:*_b*_a*_d*_i24 @atom:*
+ @improper:X-X-47-X @atom:* @atom:* @atom:*_b*_a*_d*_i47 @atom:*
+ @improper:X-X-48-X @atom:* @atom:* @atom:*_b*_a*_d*_i48 @atom:*
+ } #(end of impropers by type)
+
+
+
+
+ # -------- (descriptive comment) --------
+ # ---- biologically relevant atom types: ----
+ # biotype 1 N "Glycine" 180
+ # biotype 2 CA "Glycine" 165
+ # biotype 3 C "Glycine" 177
+ # biotype 4 HN "Glycine" 183
+ # biotype 5 O "Glycine" 178
+ # biotype 6 HA "Glycine" 85
+ # biotype 7 N "Alanine" 180
+ # biotype 8 CA "Alanine" 166
+ # biotype 9 C "Alanine" 177
+ # biotype 10 HN "Alanine" 183
+ # biotype 11 O "Alanine" 178
+ # biotype 12 HA "Alanine" 85
+ # biotype 13 CB "Alanine" 80
+ # biotype 14 HB "Alanine" 85
+ # biotype 15 N "Valine" 180
+ # biotype 16 CA "Valine" 166
+ # biotype 17 C "Valine" 177
+ # biotype 18 HN "Valine" 183
+ # biotype 19 O "Valine" 178
+ # biotype 20 HA "Valine" 85
+ # biotype 21 CB "Valine" 82
+ # biotype 22 HB "Valine" 85
+ # biotype 23 CG1 "Valine" 80
+ # biotype 24 HG1 "Valine" 85
+ # biotype 25 CG2 "Valine" 80
+ # biotype 26 HG2 "Valine" 85
+ # biotype 27 N "Leucine" 180
+ # biotype 28 CA "Leucine" 166
+ # biotype 29 C "Leucine" 177
+ # biotype 30 HN "Leucine" 183
+ # biotype 31 O "Leucine" 178
+ # biotype 32 HA "Leucine" 85
+ # biotype 33 CB "Leucine" 81
+ # biotype 34 HB "Leucine" 85
+ # biotype 35 CG "Leucine" 82
+ # biotype 36 HG "Leucine" 85
+ # biotype 37 CD1 "Leucine" 80
+ # biotype 38 HD1 "Leucine" 85
+ # biotype 39 CD2 "Leucine" 80
+ # biotype 40 HD2 "Leucine" 85
+ # biotype 41 N "Isoleucine" 180
+ # biotype 42 CA "Isoleucine" 166
+ # biotype 43 C "Isoleucine" 177
+ # biotype 44 HN "Isoleucine" 183
+ # biotype 45 O "Isoleucine" 178
+ # biotype 46 HA "Isoleucine" 85
+ # biotype 47 CB "Isoleucine" 82
+ # biotype 48 HB "Isoleucine" 85
+ # biotype 49 CG1 "Isoleucine" 80
+ # biotype 50 HG1 "Isoleucine" 85
+ # biotype 51 CG2 "Isoleucine" 81
+ # biotype 52 HG2 "Isoleucine" 85
+ # biotype 53 CD "Isoleucine" 80
+ # biotype 54 HD "Isoleucine" 85
+ # biotype 55 N "Serine" 180
+ # biotype 56 CA "Serine" 166
+ # biotype 57 C "Serine" 177
+ # biotype 58 HN "Serine" 183
+ # biotype 59 O "Serine" 178
+ # biotype 60 HA "Serine" 85
+ # biotype 61 CB "Serine" 99
+ # biotype 62 HB "Serine" 85
+ # biotype 63 OG "Serine" 96
+ # biotype 64 HG "Serine" 97
+ # biotype 65 N "Threonine" 180
+ # biotype 66 CA "Threonine" 166
+ # biotype 67 C "Threonine" 177
+ # biotype 68 HN "Threonine" 183
+ # biotype 69 O "Threonine" 178
+ # biotype 70 HA "Threonine" 85
+ # biotype 71 CB "Threonine" 100
+ # biotype 72 HB "Threonine" 85
+ # biotype 73 OG1 "Threonine" 96
+ # biotype 74 HG1 "Threonine" 97
+ # biotype 75 CG2 "Threonine" 80
+ # biotype 76 HG2 "Threonine" 85
+ # biotype 77 N "Cysteine (SH)" 180
+ # biotype 78 CA "Cysteine (SH)" 166
+ # biotype 79 C "Cysteine (SH)" 177
+ # biotype 80 HN "Cysteine (SH)" 183
+ # biotype 81 O "Cysteine (SH)" 178
+ # biotype 82 HA "Cysteine (SH)" 85
+ # biotype 83 CB "Cysteine (SH)" 148
+ # biotype 84 HB "Cysteine (SH)" 85
+ # biotype 85 SG "Cysteine (SH)" 142
+ # biotype 86 HG "Cysteine (SH)" 146
+ # biotype 87 N "Cystine (SS)" 180
+ # biotype 88 CA "Cystine (SS)" 166
+ # biotype 89 C "Cystine (SS)" 177
+ # biotype 90 HN "Cystine (SS)" 183
+ # biotype 91 O "Cystine (SS)" 178
+ # biotype 92 HA "Cystine (SS)" 85
+ # biotype 93 CB "Cystine (SS)" 156
+ # biotype 94 HB "Cystine (SS)" 85
+ # biotype 95 SG "Cystine (SS)" 145
+ # biotype 96 N "Cysteine (S-)" -1
+ # biotype 97 CA "Cysteine (S-)" -1
+ # biotype 98 C "Cysteine (S-)" -1
+ # biotype 99 HN "Cysteine (S-)" -1
+ # biotype 100 O "Cysteine (S-)" -1
+ # biotype 101 HA "Cysteine (S-)" -1
+ # biotype 102 CB "Cysteine (S-)" -1
+ # biotype 103 HB "Cysteine (S-)" -1
+ # biotype 104 SG "Cysteine (S-)" -1
+ # biotype 105 N "Proline" 181
+ # biotype 106 CA "Proline" 188
+ # biotype 107 C "Proline" 177
+ # biotype 108 O "Proline" 178
+ # biotype 109 HA "Proline" 85
+ # biotype 110 CB "Proline" 81
+ # biotype 111 HB "Proline" 85
+ # biotype 112 CG "Proline" 81
+ # biotype 113 HG "Proline" 85
+ # biotype 114 CD "Proline" 187
+ # biotype 115 HD "Proline" 85
+ # biotype 116 N "Phenylalanine" 180
+ # biotype 117 CA "Phenylalanine" 166
+ # biotype 118 C "Phenylalanine" 177
+ # biotype 119 HN "Phenylalanine" 183
+ # biotype 120 O "Phenylalanine" 178
+ # biotype 121 HA "Phenylalanine" 85
+ # biotype 122 CB "Phenylalanine" 94
+ # biotype 123 HB "Phenylalanine" 85
+ # biotype 124 CG "Phenylalanine" 90
+ # biotype 125 CD "Phenylalanine" 90
+ # biotype 126 HD "Phenylalanine" 91
+ # biotype 127 CE "Phenylalanine" 90
+ # biotype 128 HE "Phenylalanine" 91
+ # biotype 129 CZ "Phenylalanine" 90
+ # biotype 130 HZ "Phenylalanine" 91
+ # biotype 131 N "Tyrosine" 180
+ # biotype 132 CA "Tyrosine" 166
+ # biotype 133 C "Tyrosine" 177
+ # biotype 134 HN "Tyrosine" 183
+ # biotype 135 O "Tyrosine" 178
+ # biotype 136 HA "Tyrosine" 85
+ # biotype 137 CB "Tyrosine" 94
+ # biotype 138 HB "Tyrosine" 85
+ # biotype 139 CG "Tyrosine" 90
+ # biotype 140 CD "Tyrosine" 90
+ # biotype 141 HD "Tyrosine" 91
+ # biotype 142 CE "Tyrosine" 90
+ # biotype 143 HE "Tyrosine" 91
+ # biotype 144 CZ "Tyrosine" 108
+ # biotype 145 OH "Tyrosine" 109
+ # biotype 146 HH "Tyrosine" 110
+ # biotype 147 N "Tyrosine (O-)" -1
+ # biotype 148 CA "Tyrosine (O-)" -1
+ # biotype 149 C "Tyrosine (O-)" -1
+ # biotype 150 HN "Tyrosine (O-)" -1
+ # biotype 151 O "Tyrosine (O-)" -1
+ # biotype 152 HA "Tyrosine (O-)" -1
+ # biotype 153 CB "Tyrosine (O-)" -1
+ # biotype 154 HB "Tyrosine (O-)" -1
+ # biotype 155 CG "Tyrosine (O-)" -1
+ # biotype 156 CD "Tyrosine (O-)" -1
+ # biotype 157 HD "Tyrosine (O-)" -1
+ # biotype 158 CE "Tyrosine (O-)" -1
+ # biotype 159 HE "Tyrosine (O-)" -1
+ # biotype 160 CZ "Tyrosine (O-)" -1
+ # biotype 161 OH "Tyrosine (O-)" -1
+ # biotype 162 N "Tryptophan" 180
+ # biotype 163 CA "Tryptophan" 166
+ # biotype 164 C "Tryptophan" 177
+ # biotype 165 HN "Tryptophan" 183
+ # biotype 166 O "Tryptophan" 178
+ # biotype 167 HA "Tryptophan" 85
+ # biotype 168 CB "Tryptophan" 81
+ # biotype 169 HB "Tryptophan" 85
+ # biotype 170 CG "Tryptophan" 441
+ # biotype 171 CD1 "Tryptophan" 455
+ # biotype 172 HD1 "Tryptophan" 91
+ # biotype 173 CD2 "Tryptophan" 442
+ # biotype 174 NE1 "Tryptophan" 444
+ # biotype 175 HE1 "Tryptophan" 445
+ # biotype 176 CE2 "Tryptophan" 443
+ # biotype 177 CE3 "Tryptophan" 90
+ # biotype 178 HE3 "Tryptophan" 91
+ # biotype 179 CZ2 "Tryptophan" 90
+ # biotype 180 HZ2 "Tryptophan" 91
+ # biotype 181 CZ3 "Tryptophan" 90
+ # biotype 182 HZ3 "Tryptophan" 91
+ # biotype 183 CH2 "Tryptophan" 90
+ # biotype 184 HH2 "Tryptophan" 91
+ # biotype 185 N "Histidine (+)" 180
+ # biotype 186 CA "Histidine (+)" 166
+ # biotype 187 C "Histidine (+)" 177
+ # biotype 188 HN "Histidine (+)" 183
+ # biotype 189 O "Histidine (+)" 178
+ # biotype 190 HA "Histidine (+)" 85
+ # biotype 191 CB "Histidine (+)" 446
+ # biotype 192 HB "Histidine (+)" 85
+ # biotype 193 CG "Histidine (+)" 451
+ # biotype 194 ND1 "Histidine (+)" 453
+ # biotype 195 HD1 "Histidine (+)" 454
+ # biotype 196 CD2 "Histidine (+)" 451
+ # biotype 197 HD2 "Histidine (+)" 91
+ # biotype 198 CE1 "Histidine (+)" 450
+ # biotype 199 HE1 "Histidine (+)" 91
+ # biotype 200 NE2 "Histidine (+)" 453
+ # biotype 201 HE2 "Histidine (+)" 454
+ # biotype 202 N "Histidine (HD)" 180
+ # biotype 203 CA "Histidine (HD)" 166
+ # biotype 204 C "Histidine (HD)" 177
+ # biotype 205 HN "Histidine (HD)" 183
+ # biotype 206 O "Histidine (HD)" 178
+ # biotype 207 HA "Histidine (HD)" 85
+ # biotype 208 CB "Histidine (HD)" 446
+ # biotype 209 HB "Histidine (HD)" 85
+ # biotype 210 CG "Histidine (HD)" 449
+ # biotype 211 ND1 "Histidine (HD)" 444
+ # biotype 212 HD1 "Histidine (HD)" 445
+ # biotype 213 CD2 "Histidine (HD)" 448
+ # biotype 214 HD2 "Histidine (HD)" 91
+ # biotype 215 CE1 "Histidine (HD)" 447
+ # biotype 216 HE1 "Histidine (HD)" 91
+ # biotype 217 NE2 "Histidine (HD)" 452
+ # biotype 218 N "Histidine (HE)" 180
+ # biotype 219 CA "Histidine (HE)" 166
+ # biotype 220 C "Histidine (HE)" 177
+ # biotype 221 HN "Histidine (HE)" 183
+ # biotype 222 O "Histidine (HE)" 178
+ # biotype 223 HA "Histidine (HE)" 85
+ # biotype 224 CB "Histidine (HE)" 446
+ # biotype 225 HB "Histidine (HE)" 85
+ # biotype 226 CG "Histidine (HE)" 448
+ # biotype 227 ND1 "Histidine (HE)" 452
+ # biotype 228 CD2 "Histidine (HE)" 449
+ # biotype 229 HD2 "Histidine (HE)" 91
+ # biotype 230 CE1 "Histidine (HE)" 447
+ # biotype 231 HE1 "Histidine (HE)" 91
+ # biotype 232 NE2 "Histidine (HE)" 444
+ # biotype 233 HE2 "Histidine (HE)" 445
+ # biotype 234 N "Aspartic Acid" 180
+ # biotype 235 CA "Aspartic Acid" 166
+ # biotype 236 C "Aspartic Acid" 177
+ # biotype 237 HN "Aspartic Acid" 183
+ # biotype 238 O "Aspartic Acid" 178
+ # biotype 239 HA "Aspartic Acid" 85
+ # biotype 240 CB "Aspartic Acid" 216
+ # biotype 241 HB "Aspartic Acid" 85
+ # biotype 242 CG "Aspartic Acid" 213
+ # biotype 243 OD "Aspartic Acid" 214
+ # biotype 244 N "Aspartic Acid (COOH)" -1
+ # biotype 245 CA "Aspartic Acid (COOH)" -1
+ # biotype 246 C "Aspartic Acid (COOH)" -1
+ # biotype 247 HN "Aspartic Acid (COOH)" -1
+ # biotype 248 O "Aspartic Acid (COOH)" -1
+ # biotype 249 HA "Aspartic Acid (COOH)" -1
+ # biotype 250 CB "Aspartic Acid (COOH)" -1
+ # biotype 251 HB "Aspartic Acid (COOH)" -1
+ # biotype 252 CG "Aspartic Acid (COOH)" -1
+ # biotype 253 OD1 "Aspartic Acid (COOH)" -1
+ # biotype 254 OD2 "Aspartic Acid (COOH)" -1
+ # biotype 255 HD2 "Aspartic Acid (COOH)" -1
+ # biotype 256 N "Asparagine" 180
+ # biotype 257 CA "Asparagine" 166
+ # biotype 258 C "Asparagine" 177
+ # biotype 259 HN "Asparagine" 183
+ # biotype 260 O "Asparagine" 178
+ # biotype 261 HA "Asparagine" 85
+ # biotype 262 CB "Asparagine" 81
+ # biotype 263 HB "Asparagine" 85
+ # biotype 264 CG "Asparagine" 177
+ # biotype 265 OD1 "Asparagine" 178
+ # biotype 266 ND2 "Asparagine" 179
+ # biotype 267 HD2 "Asparagine" 182
+ # biotype 268 N "Glutamic Acid" 180
+ # biotype 269 CA "Glutamic Acid" 166
+ # biotype 270 C "Glutamic Acid" 177
+ # biotype 271 HN "Glutamic Acid" 183
+ # biotype 272 O "Glutamic Acid" 178
+ # biotype 273 HA "Glutamic Acid" 85
+ # biotype 274 CB "Glutamic Acid" 81
+ # biotype 275 HB "Glutamic Acid" 85
+ # biotype 276 CG "Glutamic Acid" 216
+ # biotype 277 HG "Glutamic Acid" 85
+ # biotype 278 CD "Glutamic Acid" 213
+ # biotype 279 OE "Glutamic Acid" 214
+ # biotype 280 N "Glutamic Acid (COOH)" -1
+ # biotype 281 CA "Glutamic Acid (COOH)" -1
+ # biotype 282 C "Glutamic Acid (COOH)" -1
+ # biotype 283 HN "Glutamic Acid (COOH)" -1
+ # biotype 284 O "Glutamic Acid (COOH)" -1
+ # biotype 285 HA "Glutamic Acid (COOH)" -1
+ # biotype 286 CB "Glutamic Acid (COOH)" -1
+ # biotype 287 HB "Glutamic Acid (COOH)" -1
+ # biotype 288 CG "Glutamic Acid (COOH)" -1
+ # biotype 289 HG "Glutamic Acid (COOH)" -1
+ # biotype 290 CD "Glutamic Acid (COOH)" -1
+ # biotype 291 OE1 "Glutamic Acid (COOH)" -1
+ # biotype 292 OE2 "Glutamic Acid (COOH)" -1
+ # biotype 293 HE2 "Glutamic Acid (COOH)" -1
+ # biotype 294 N "Glutamine" 180
+ # biotype 295 CA "Glutamine" 166
+ # biotype 296 C "Glutamine" 177
+ # biotype 297 HN "Glutamine" 183
+ # biotype 298 O "Glutamine" 178
+ # biotype 299 HA "Glutamine" 85
+ # biotype 300 CB "Glutamine" 81
+ # biotype 301 HB "Glutamine" 85
+ # biotype 302 CG "Glutamine" 81
+ # biotype 303 HG "Glutamine" 85
+ # biotype 304 CD "Glutamine" 177
+ # biotype 305 OE1 "Glutamine" 178
+ # biotype 306 NE2 "Glutamine" 179
+ # biotype 307 HE2 "Glutamine" 182
+ # biotype 308 N "Methionine" 180
+ # biotype 309 CA "Methionine" 166
+ # biotype 310 C "Methionine" 177
+ # biotype 311 HN "Methionine" 183
+ # biotype 312 O "Methionine" 178
+ # biotype 313 HA "Methionine" 85
+ # biotype 314 CB "Methionine" 81
+ # biotype 315 HB "Methionine" 85
+ # biotype 316 CG "Methionine" 152
+ # biotype 317 HG "Methionine" 85
+ # biotype 318 SD "Methionine" 144
+ # biotype 319 CE "Methionine" 151
+ # biotype 320 HE "Methionine" 85
+ # biotype 321 N "Lysine" 180
+ # biotype 322 CA "Lysine" 166
+ # biotype 323 C "Lysine" 177
+ # biotype 324 HN "Lysine" 183
+ # biotype 325 O "Lysine" 178
+ # biotype 326 HA "Lysine" 85
+ # biotype 327 CB "Lysine" 81
+ # biotype 328 HB "Lysine" 85
+ # biotype 329 CG "Lysine" 81
+ # biotype 330 HG "Lysine" 85
+ # biotype 331 CD "Lysine" 81
+ # biotype 332 HD "Lysine" 85
+ # biotype 333 CE "Lysine" 235
+ # biotype 334 HE "Lysine" 85
+ # biotype 335 NZ "Lysine" 230
+ # biotype 336 HZ "Lysine" 233
+ # biotype 337 N "Lysine (NH2)" -1
+ # biotype 338 CA "Lysine (NH2)" -1
+ # biotype 339 C "Lysine (NH2)" -1
+ # biotype 340 HN "Lysine (NH2)" -1
+ # biotype 341 O "Lysine (NH2)" -1
+ # biotype 342 HA "Lysine (NH2)" -1
+ # biotype 343 CB "Lysine (NH2)" -1
+ # biotype 344 HB "Lysine (NH2)" -1
+ # biotype 345 CG "Lysine (NH2)" -1
+ # biotype 346 HG "Lysine (NH2)" -1
+ # biotype 347 CD "Lysine (NH2)" -1
+ # biotype 348 HD "Lysine (NH2)" -1
+ # biotype 349 CE "Lysine (NH2)" -1
+ # biotype 350 HE "Lysine (NH2)" -1
+ # biotype 351 NZ "Lysine (NH2)" -1
+ # biotype 352 HZ "Lysine (NH2)" -1
+ # biotype 353 N "Arginine" 180
+ # biotype 354 CA "Arginine" 166
+ # biotype 355 C "Arginine" 177
+ # biotype 356 HN "Arginine" 183
+ # biotype 357 O "Arginine" 178
+ # biotype 358 HA "Arginine" 85
+ # biotype 359 CB "Arginine" 81
+ # biotype 360 HB "Arginine" 85
+ # biotype 361 CG "Arginine" 251
+ # biotype 362 HG "Arginine" 85
+ # biotype 363 CD "Arginine" 250
+ # biotype 364 HD "Arginine" 85
+ # biotype 365 NE "Arginine" 246
+ # biotype 366 HE "Arginine" 247
+ # biotype 367 CZ "Arginine" 245
+ # biotype 368 NH "Arginine" 243
+ # biotype 369 HH "Arginine" 244
+ # biotype 370 N "Ornithine" 180
+ # biotype 371 CA "Ornithine" 166
+ # biotype 372 C "Ornithine" 177
+ # biotype 373 HN "Ornithine" 183
+ # biotype 374 O "Ornithine" 178
+ # biotype 375 HA "Ornithine" 85
+ # biotype 376 CB "Ornithine" 81
+ # biotype 377 HB "Ornithine" 85
+ # biotype 378 CG "Ornithine" 81
+ # biotype 379 HG "Ornithine" 85
+ # biotype 380 CD "Ornithine" 235
+ # biotype 381 HD "Ornithine" 85
+ # biotype 382 NE "Ornithine" 230
+ # biotype 383 HE "Ornithine" 233
+ # biotype 384 N "MethylAlanine (AIB)" 180
+ # biotype 385 CA "MethylAlanine (AIB)" 167
+ # biotype 386 C "MethylAlanine (AIB)" 177
+ # biotype 387 HN "MethylAlanine (AIB)" 183
+ # biotype 388 O "MethylAlanine (AIB)" 178
+ # biotype 389 CB "MethylAlanine (AIB)" 80
+ # biotype 390 HB "MethylAlanine (AIB)" 85
+ # biotype 391 N "Pyroglutamic Acid" 180
+ # biotype 392 CA "Pyroglutamic Acid" 166
+ # biotype 393 C "Pyroglutamic Acid" 177
+ # biotype 394 HN "Pyroglutamic Acid" 183
+ # biotype 395 O "Pyroglutamic Acid" 178
+ # biotype 396 HA "Pyroglutamic Acid" 85
+ # biotype 397 CB "Pyroglutamic Acid" 81
+ # biotype 398 HB "Pyroglutamic Acid" 85
+ # biotype 399 CG "Pyroglutamic Acid" 216
+ # biotype 400 HG "Pyroglutamic Acid" 85
+ # biotype 401 CD "Pyroglutamic Acid" 177
+ # biotype 402 OE "Pyroglutamic Acid" 178
+ # biotype 403 N "N-Terminal GLY" 230
+ # biotype 404 CA "N-Terminal GLY" 235
+ # biotype 405 C "N-Terminal GLY" 177
+ # biotype 406 HN "N-Terminal GLY" 233
+ # biotype 407 O "N-Terminal GLY" 178
+ # biotype 408 HA "N-Terminal GLY" 85
+ # biotype 409 N "N-Terminal ALA" 230
+ # biotype 410 CA "N-Terminal ALA" 236
+ # biotype 411 C "N-Terminal ALA" 177
+ # biotype 412 HN "N-Terminal ALA" 233
+ # biotype 413 O "N-Terminal ALA" 178
+ # biotype 414 HA "N-Terminal ALA" 85
+ # biotype 415 N "N-Terminal VAL" 230
+ # biotype 416 CA "N-Terminal VAL" 236
+ # biotype 417 C "N-Terminal VAL" 177
+ # biotype 418 HN "N-Terminal VAL" 233
+ # biotype 419 O "N-Terminal VAL" 178
+ # biotype 420 HA "N-Terminal VAL" 85
+ # biotype 421 N "N-Terminal LEU" 230
+ # biotype 422 CA "N-Terminal LEU" 236
+ # biotype 423 C "N-Terminal LEU" 177
+ # biotype 424 HN "N-Terminal LEU" 233
+ # biotype 425 O "N-Terminal LEU" 178
+ # biotype 426 HA "N-Terminal LEU" 85
+ # biotype 427 N "N-Terminal ILE" 230
+ # biotype 428 CA "N-Terminal ILE" 236
+ # biotype 429 C "N-Terminal ILE" 177
+ # biotype 430 HN "N-Terminal ILE" 233
+ # biotype 431 O "N-Terminal ILE" 178
+ # biotype 432 HA "N-Terminal ILE" 85
+ # biotype 433 N "N-Terminal SER" 230
+ # biotype 434 CA "N-Terminal SER" 236
+ # biotype 435 C "N-Terminal SER" 177
+ # biotype 436 HN "N-Terminal SER" 233
+ # biotype 437 O "N-Terminal SER" 178
+ # biotype 438 HA "N-Terminal SER" 85
+ # biotype 439 N "N-Terminal THR" 230
+ # biotype 440 CA "N-Terminal THR" 236
+ # biotype 441 C "N-Terminal THR" 177
+ # biotype 442 HN "N-Terminal THR" 233
+ # biotype 443 O "N-Terminal THR" 178
+ # biotype 444 HA "N-Terminal THR" 85
+ # biotype 445 N "N-Terminal CYS (SH)" 230
+ # biotype 446 CA "N-Terminal CYS (SH)" 236
+ # biotype 447 C "N-Terminal CYS (SH)" 177
+ # biotype 448 HN "N-Terminal CYS (SH)" 233
+ # biotype 449 O "N-Terminal CYS (SH)" 178
+ # biotype 450 HA "N-Terminal CYS (SH)" 85
+ # biotype 451 N "N-Terminal CYX (SS)" 230
+ # biotype 452 CA "N-Terminal CYX (SS)" 236
+ # biotype 453 C "N-Terminal CYX (SS)" 177
+ # biotype 454 HN "N-Terminal CYX (SS)" 233
+ # biotype 455 O "N-Terminal CYX (SS)" 178
+ # biotype 456 HA "N-Terminal CYX (SS)" 85
+ # biotype 457 N "N-Terminal CYD (S-)" -1
+ # biotype 458 CA "N-Terminal CYD (S-)" -1
+ # biotype 459 C "N-Terminal CYD (S-)" -1
+ # biotype 460 HN "N-Terminal CYD (S-)" -1
+ # biotype 461 O "N-Terminal CYD (S-)" -1
+ # biotype 462 HA "N-Terminal CYD (S-)" -1
+ # biotype 463 N "N-Terminal PRO" 252
+ # biotype 464 CA "N-Terminal PRO" 238
+ # biotype 465 C "N-Terminal PRO" 177
+ # biotype 466 HN "N-Terminal PRO" 253
+ # biotype 467 O "N-Terminal PRO" 178
+ # biotype 468 HA "N-Terminal PRO" 85
+ # biotype 469 CD "N-Terminal PRO" 239
+ # biotype 470 HD "N-Terminal PRO" 85
+ # biotype 471 N "N-Terminal PHE" 230
+ # biotype 472 CA "N-Terminal PHE" 236
+ # biotype 473 C "N-Terminal PHE" 177
+ # biotype 474 HN "N-Terminal PHE" 233
+ # biotype 475 O "N-Terminal PHE" 178
+ # biotype 476 HA "N-Terminal PHE" 85
+ # biotype 477 N "N-Terminal TYR" 230
+ # biotype 478 CA "N-Terminal TYR" 236
+ # biotype 479 C "N-Terminal TYR" 177
+ # biotype 480 HN "N-Terminal TYR" 233
+ # biotype 481 O "N-Terminal TYR" 178
+ # biotype 482 HA "N-Terminal TYR" 85
+ # biotype 483 N "N-Terminal TYD (O-)" -1
+ # biotype 484 CA "N-Terminal TYD (O-)" -1
+ # biotype 485 C "N-Terminal TYD (O-)" -1
+ # biotype 486 HN "N-Terminal TYD (O-)" -1
+ # biotype 487 O "N-Terminal TYD (O-)" -1
+ # biotype 488 HA "N-Terminal TYD (O-)" -1
+ # biotype 489 N "N-Terminal TRP" 230
+ # biotype 490 CA "N-Terminal TRP" 236
+ # biotype 491 C "N-Terminal TRP" 177
+ # biotype 492 HN "N-Terminal TRP" 233
+ # biotype 493 O "N-Terminal TRP" 178
+ # biotype 494 HA "N-Terminal TRP" 85
+ # biotype 495 N "N-Terminal HIS (+)" 230
+ # biotype 496 CA "N-Terminal HIS (+)" 236
+ # biotype 497 C "N-Terminal HIS (+)" 177
+ # biotype 498 HN "N-Terminal HIS (+)" 233
+ # biotype 499 O "N-Terminal HIS (+)" 178
+ # biotype 500 HA "N-Terminal HIS (+)" 85
+ # biotype 501 N "N-Terminal HIS (HD)" 230
+ # biotype 502 CA "N-Terminal HIS (HD)" 236
+ # biotype 503 C "N-Terminal HIS (HD)" 177
+ # biotype 504 HN "N-Terminal HIS (HD)" 233
+ # biotype 505 O "N-Terminal HIS (HD)" 178
+ # biotype 506 HA "N-Terminal HIS (HD)" 85
+ # biotype 507 N "N-Terminal HIS (HE)" 230
+ # biotype 508 CA "N-Terminal HIS (HE)" 236
+ # biotype 509 C "N-Terminal HIS (HE)" 177
+ # biotype 510 HN "N-Terminal HIS (HE)" 233
+ # biotype 511 O "N-Terminal HIS (HE)" 178
+ # biotype 512 HA "N-Terminal HIS (HE)" 85
+ # biotype 513 N "N-Terminal ASP" 230
+ # biotype 514 CA "N-Terminal ASP" 236
+ # biotype 515 C "N-Terminal ASP" 177
+ # biotype 516 HN "N-Terminal ASP" 233
+ # biotype 517 O "N-Terminal ASP" 178
+ # biotype 518 HA "N-Terminal ASP" 85
+ # biotype 519 N "N-Terminal ASH (COOH)" -1
+ # biotype 520 CA "N-Terminal ASH (COOH)" -1
+ # biotype 521 C "N-Terminal ASH (COOH)" -1
+ # biotype 522 HN "N-Terminal ASH (COOH)" -1
+ # biotype 523 O "N-Terminal ASH (COOH)" -1
+ # biotype 524 HA "N-Terminal ASH (COOH)" -1
+ # biotype 525 N "N-Terminal ASN" 230
+ # biotype 526 CA "N-Terminal ASN" 236
+ # biotype 527 C "N-Terminal ASN" 177
+ # biotype 528 HN "N-Terminal ASN" 233
+ # biotype 529 O "N-Terminal ASN" 178
+ # biotype 530 HA "N-Terminal ASN" 85
+ # biotype 531 N "N-Terminal GLU" 230
+ # biotype 532 CA "N-Terminal GLU" 236
+ # biotype 533 C "N-Terminal GLU" 177
+ # biotype 534 HN "N-Terminal GLU" 233
+ # biotype 535 O "N-Terminal GLU" 178
+ # biotype 536 HA "N-Terminal GLU" 85
+ # biotype 537 N "N-Terminal GLH (COOH)" -1
+ # biotype 538 CA "N-Terminal GLH (COOH)" -1
+ # biotype 539 C "N-Terminal GLH (COOH)" -1
+ # biotype 540 HN "N-Terminal GLH (COOH)" -1
+ # biotype 541 O "N-Terminal GLH (COOH)" -1
+ # biotype 542 HA "N-Terminal GLH (COOH)" -1
+ # biotype 543 N "N-Terminal GLN" 230
+ # biotype 544 CA "N-Terminal GLN" 236
+ # biotype 545 C "N-Terminal GLN" 177
+ # biotype 546 HN "N-Terminal GLN" 233
+ # biotype 547 O "N-Terminal GLN" 178
+ # biotype 548 HA "N-Terminal GLN" 85
+ # biotype 549 N "N-Terminal MET" 230
+ # biotype 550 CA "N-Terminal MET" 236
+ # biotype 551 C "N-Terminal MET" 177
+ # biotype 552 HN "N-Terminal MET" 233
+ # biotype 553 O "N-Terminal MET" 178
+ # biotype 554 HA "N-Terminal MET" 85
+ # biotype 555 N "N-Terminal LYS" 230
+ # biotype 556 CA "N-Terminal LYS" 236
+ # biotype 557 C "N-Terminal LYS" 177
+ # biotype 558 HN "N-Terminal LYS" 233
+ # biotype 559 O "N-Terminal LYS" 178
+ # biotype 560 HA "N-Terminal LYS" 85
+ # biotype 561 N "N-Terminal LYD (NH2)" -1
+ # biotype 562 CA "N-Terminal LYD (NH2)" -1
+ # biotype 563 C "N-Terminal LYD (NH2)" -1
+ # biotype 564 HN "N-Terminal LYD (NH2)" -1
+ # biotype 565 O "N-Terminal LYD (NH2)" -1
+ # biotype 566 HA "N-Terminal LYD (NH2)" -1
+ # biotype 567 N "N-Terminal ARG" 230
+ # biotype 568 CA "N-Terminal ARG" 236
+ # biotype 569 C "N-Terminal ARG" 177
+ # biotype 570 HN "N-Terminal ARG" 233
+ # biotype 571 O "N-Terminal ARG" 178
+ # biotype 572 HA "N-Terminal ARG" 85
+ # biotype 573 N "N-Terminal ORN" 230
+ # biotype 574 CA "N-Terminal ORN" 236
+ # biotype 575 C "N-Terminal ORN" 177
+ # biotype 576 HN "N-Terminal ORN" 233
+ # biotype 577 O "N-Terminal ORN" 178
+ # biotype 578 HA "N-Terminal ORN" 85
+ # biotype 579 N "N-Terminal AIB" 230
+ # biotype 580 CA "N-Terminal AIB" 237
+ # biotype 581 C "N-Terminal AIB" 177
+ # biotype 582 HN "N-Terminal AIB" 233
+ # biotype 583 O "N-Terminal AIB" 178
+ # biotype 584 N "C-Terminal GLY" 180
+ # biotype 585 CA "C-Terminal GLY" 226
+ # biotype 586 C "C-Terminal GLY" 213
+ # biotype 587 HN "C-Terminal GLY" 183
+ # biotype 588 OXT "C-Terminal GLY" 214
+ # biotype 589 HA "C-Terminal GLY" 85
+ # biotype 590 N "C-Terminal ALA" 180
+ # biotype 591 CA "C-Terminal ALA" 225
+ # biotype 592 C "C-Terminal ALA" 213
+ # biotype 593 HN "C-Terminal ALA" 183
+ # biotype 594 OXT "C-Terminal ALA" 214
+ # biotype 595 HA "C-Terminal ALA" 85
+ # biotype 596 N "C-Terminal VAL" 180
+ # biotype 597 CA "C-Terminal VAL" 225
+ # biotype 598 C "C-Terminal VAL" 213
+ # biotype 599 HN "C-Terminal VAL" 183
+ # biotype 600 OXT "C-Terminal VAL" 214
+ # biotype 601 HA "C-Terminal VAL" 85
+ # biotype 602 N "C-Terminal LEU" 180
+ # biotype 603 CA "C-Terminal LEU" 225
+ # biotype 604 C "C-Terminal LEU" 213
+ # biotype 605 HN "C-Terminal LEU" 183
+ # biotype 606 OXT "C-Terminal LEU" 214
+ # biotype 607 HA "C-Terminal LEU" 85
+ # biotype 608 N "C-Terminal ILE" 180
+ # biotype 609 CA "C-Terminal ILE" 225
+ # biotype 610 C "C-Terminal ILE" 213
+ # biotype 611 HN "C-Terminal ILE" 183
+ # biotype 612 OXT "C-Terminal ILE" 214
+ # biotype 613 HA "C-Terminal ILE" 85
+ # biotype 614 N "C-Terminal SER" 180
+ # biotype 615 CA "C-Terminal SER" 225
+ # biotype 616 C "C-Terminal SER" 213
+ # biotype 617 HN "C-Terminal SER" 183
+ # biotype 618 OXT "C-Terminal SER" 214
+ # biotype 619 HA "C-Terminal SER" 85
+ # biotype 620 N "C-Terminal THR" 180
+ # biotype 621 CA "C-Terminal THR" 225
+ # biotype 622 C "C-Terminal THR" 213
+ # biotype 623 HN "C-Terminal THR" 183
+ # biotype 624 OXT "C-Terminal THR" 214
+ # biotype 625 HA "C-Terminal THR" 85
+ # biotype 626 N "C-Terminal CYS (SH)" 180
+ # biotype 627 CA "C-Terminal CYS (SH)" 225
+ # biotype 628 C "C-Terminal CYS (SH)" 213
+ # biotype 629 HN "C-Terminal CYS (SH)" 183
+ # biotype 630 OXT "C-Terminal CYS (SH)" 214
+ # biotype 631 HA "C-Terminal CYS (SH)" 85
+ # biotype 632 N "C-Terminal CYX (SS)" 180
+ # biotype 633 CA "C-Terminal CYX (SS)" 225
+ # biotype 634 C "C-Terminal CYX (SS)" 213
+ # biotype 635 HN "C-Terminal CYX (SS)" 183
+ # biotype 636 OXT "C-Terminal CYX (SS)" 214
+ # biotype 637 HA "C-Terminal CYX (SS)" 85
+ # biotype 638 N "C-Terminal CYD (S-)" -1
+ # biotype 639 CA "C-Terminal CYD (S-)" -1
+ # biotype 640 C "C-Terminal CYD (S-)" -1
+ # biotype 641 HN "C-Terminal CYD (S-)" -1
+ # biotype 642 OXT "C-Terminal CYD (S-)" -1
+ # biotype 643 HA "C-Terminal CYD (S-)" -1
+ # biotype 644 N "C-Terminal PRO" 181
+ # biotype 645 CA "C-Terminal PRO" 228
+ # biotype 646 C "C-Terminal PRO" 213
+ # biotype 647 OXT "C-Terminal PRO" 214
+ # biotype 648 HA "C-Terminal PRO" 85
+ # biotype 649 N "C-Terminal PHE" 180
+ # biotype 650 CA "C-Terminal PHE" 225
+ # biotype 651 C "C-Terminal PHE" 213
+ # biotype 652 HN "C-Terminal PHE" 183
+ # biotype 653 OXT "C-Terminal PHE" 214
+ # biotype 654 HA "C-Terminal PHE" 85
+ # biotype 655 N "C-Terminal TYR" 180
+ # biotype 656 CA "C-Terminal TYR" 225
+ # biotype 657 C "C-Terminal TYR" 213
+ # biotype 658 HN "C-Terminal TYR" 183
+ # biotype 659 OXT "C-Terminal TYR" 214
+ # biotype 660 HA "C-Terminal TYR" 85
+ # biotype 661 N "C-Terminal TYD (O-)" -1
+ # biotype 662 CA "C-Terminal TYD (O-)" -1
+ # biotype 663 C "C-Terminal TYD (O-)" -1
+ # biotype 664 HN "C-Terminal TYD (O-)" -1
+ # biotype 665 OXT "C-Terminal TYD (O-)" -1
+ # biotype 666 HA "C-Terminal TYD (O-)" -1
+ # biotype 667 N "C-Terminal TRP" 180
+ # biotype 668 CA "C-Terminal TRP" 225
+ # biotype 669 C "C-Terminal TRP" 213
+ # biotype 670 HN "C-Terminal TRP" 183
+ # biotype 671 OXT "C-Terminal TRP" 214
+ # biotype 672 HA "C-Terminal TRP" 85
+ # biotype 673 N "C-Terminal HIS (+)" 180
+ # biotype 674 CA "C-Terminal HIS (+)" 225
+ # biotype 675 C "C-Terminal HIS (+)" 213
+ # biotype 676 HN "C-Terminal HIS (+)" 183
+ # biotype 677 OXT "C-Terminal HIS (+)" 214
+ # biotype 678 HA "C-Terminal HIS (+)" 85
+ # biotype 679 N "C-Terminal HIS (HD)" 180
+ # biotype 680 CA "C-Terminal HIS (HD)" 225
+ # biotype 681 C "C-Terminal HIS (HD)" 213
+ # biotype 682 HN "C-Terminal HIS (HD)" 183
+ # biotype 683 OXT "C-Terminal HIS (HD)" 214
+ # biotype 684 HA "C-Terminal HIS (HD)" 85
+ # biotype 685 N "C-Terminal HIS (HE)" 180
+ # biotype 686 CA "C-Terminal HIS (HE)" 225
+ # biotype 687 C "C-Terminal HIS (HE)" 213
+ # biotype 688 HN "C-Terminal HIS (HE)" 183
+ # biotype 689 OXT "C-Terminal HIS (HE)" 214
+ # biotype 690 HA "C-Terminal HIS (HE)" 85
+ # biotype 691 N "C-Terminal ASP" 180
+ # biotype 692 CA "C-Terminal ASP" 225
+ # biotype 693 C "C-Terminal ASP" 213
+ # biotype 694 HN "C-Terminal ASP" 183
+ # biotype 695 OXT "C-Terminal ASP" 214
+ # biotype 696 HA "C-Terminal ASP" 85
+ # biotype 697 N "C-Terminal ASH (COOH)" -1
+ # biotype 698 CA "C-Terminal ASH (COOH)" -1
+ # biotype 699 C "C-Terminal ASH (COOH)" -1
+ # biotype 700 HN "C-Terminal ASH (COOH)" -1
+ # biotype 701 OXT "C-Terminal ASH (COOH)" -1
+ # biotype 702 HA "C-Terminal ASH (COOH)" -1
+ # biotype 703 N "C-Terminal ASN" 180
+ # biotype 704 CA "C-Terminal ASN" 225
+ # biotype 705 C "C-Terminal ASN" 213
+ # biotype 706 HN "C-Terminal ASN" 183
+ # biotype 707 OXT "C-Terminal ASN" 214
+ # biotype 708 HA "C-Terminal ASN" 85
+ # biotype 709 N "C-Terminal GLU" 180
+ # biotype 710 CA "C-Terminal GLU" 225
+ # biotype 711 C "C-Terminal GLU" 213
+ # biotype 712 HN "C-Terminal GLU" 183
+ # biotype 713 OXT "C-Terminal GLU" 214
+ # biotype 714 HA "C-Terminal GLU" 85
+ # biotype 715 N "C-Terminal GLH (COOH)" -1
+ # biotype 716 CA "C-Terminal GLH (COOH)" -1
+ # biotype 717 C "C-Terminal GLH (COOH)" -1
+ # biotype 718 HN "C-Terminal GLH (COOH)" -1
+ # biotype 719 OXT "C-Terminal GLH (COOH)" -1
+ # biotype 720 HA "C-Terminal GLH (COOH)" -1
+ # biotype 721 N "C-Terminal GLN" 180
+ # biotype 722 CA "C-Terminal GLN" 225
+ # biotype 723 C "C-Terminal GLN" 213
+ # biotype 724 HN "C-Terminal GLN" 183
+ # biotype 725 OXT "C-Terminal GLN" 214
+ # biotype 726 HA "C-Terminal GLN" 85
+ # biotype 727 N "C-Terminal MET" 180
+ # biotype 728 CA "C-Terminal MET" 225
+ # biotype 729 C "C-Terminal MET" 213
+ # biotype 730 HN "C-Terminal MET" 183
+ # biotype 731 OXT "C-Terminal MET" 214
+ # biotype 732 HA "C-Terminal MET" 85
+ # biotype 733 N "C-Terminal LYS" 180
+ # biotype 734 CA "C-Terminal LYS" 225
+ # biotype 735 C "C-Terminal LYS" 213
+ # biotype 736 HN "C-Terminal LYS" 183
+ # biotype 737 OXT "C-Terminal LYS" 214
+ # biotype 738 HA "C-Terminal LYS" 85
+ # biotype 739 N "C-Terminal LYD (NH2)" -1
+ # biotype 740 CA "C-Terminal LYD (NH2)" -1
+ # biotype 741 C "C-Terminal LYD (NH2)" -1
+ # biotype 742 HN "C-Terminal LYD (NH2)" -1
+ # biotype 743 OXT "C-Terminal LYD (NH2)" -1
+ # biotype 744 HA "C-Terminal LYD (NH2)" -1
+ # biotype 745 N "C-Terminal ARG" 180
+ # biotype 746 CA "C-Terminal ARG" 225
+ # biotype 747 C "C-Terminal ARG" 213
+ # biotype 748 HN "C-Terminal ARG" 183
+ # biotype 749 OXT "C-Terminal ARG" 214
+ # biotype 750 HA "C-Terminal ARG" 85
+ # biotype 751 N "C-Terminal ORN" 180
+ # biotype 752 CA "C-Terminal ORN" 225
+ # biotype 753 C "C-Terminal ORN" 213
+ # biotype 754 HN "C-Terminal ORN" 183
+ # biotype 755 OXT "C-Terminal ORN" 214
+ # biotype 756 HA "C-Terminal ORN" 85
+ # biotype 757 N "C-Terminal AIB" 180
+ # biotype 758 CA "C-Terminal AIB" 227
+ # biotype 759 C "C-Terminal AIB" 213
+ # biotype 760 HN "C-Terminal AIB" 183
+ # biotype 761 OXT "C-Terminal AIB" 214
+ # biotype 762 N "Deprotonated N-Terminus" -1
+ # biotype 763 H "Deprotonated N-Terminus" -1
+ # biotype 764 C "Formyl N-Terminus" 177
+ # biotype 765 H "Formyl N-Terminus" 221
+ # biotype 766 O "Formyl N-Terminus" 178
+ # biotype 767 CH3 "Acetyl N-Terminus" 80
+ # biotype 768 H "Acetyl N-Terminus" 85
+ # biotype 769 C "Acetyl N-Terminus" 177
+ # biotype 770 O "Acetyl N-Terminus" 178
+ # biotype 771 C "Protonated C-Terminus" -1
+ # biotype 772 O "Protonated C-Terminus" -1
+ # biotype 773 OH "Protonated C-Terminus" -1
+ # biotype 774 HO "Protonated C-Terminus" -1
+ # biotype 775 N "Amide C-Terminus" 179
+ # biotype 776 HN "Amide C-Terminus" 182
+ # biotype 777 N "N-MeAmide C-Terminus" 180
+ # biotype 778 HN "N-MeAmide C-Terminus" 183
+ # biotype 779 CH3 "N-MeAmide C-Terminus" 184
+ # biotype 780 H "N-MeAmide C-Terminus" 85
+ # biotype 2001 O "Water" 63
+ # biotype 2002 H "Water" 64
+ # biotype 2003 NA "Sodium Ion" -1
+ # biotype 2004 K "Potassium Ion" -1
+ # biotype 2005 MG "Magnesium Ion" -1
+ # biotype 2006 CA "Calcium Ion" -1
+ # biotype 2007 CL "Chloride Ion" -1
+ # ---------- (end of comment) ----------
+
+
+
+
+ # LAMMPS supports many different kinds of bonded and non-bonded
+ # interactions which can be selected at run time. Eventually
+ # we must inform LAMMPS which of them we will need. We specify
+ # this in the "In Init" section:
+
+ write_once("In Init") {
+ units real
+ atom_style full
+ bond_style hybrid harmonic
+ angle_style hybrid harmonic
+ dihedral_style hybrid opls
+ improper_style hybrid harmonic
+ pair_style hybrid lj/cut/coul/long 10.0 10.0
+ pair_modify mix geometric
+ special_bonds lj/coul 0.0 0.0 0.5
+ kspace_style pppm 0.0001
+ } #end of init parameters
+
+ # Note: We use "hybrid" styles in case the user later wishes to
+ # combine the molecules built using this force-field with other
+ # molecules that use other styles. (This is not necessarily
+ # a good idea, but LAMMPS and moltemplate both allow it.)
+ # For more information:
+ # http://lammps.sandia.gov/doc/pair_hybrid.html
+ # http://lammps.sandia.gov/doc/bond_hybrid.html
+ # http://lammps.sandia.gov/doc/angle_hybrid.html
+ # http://lammps.sandia.gov/doc/dihedral_hybrid.html
+ # http://lammps.sandia.gov/doc/improper_hybrid.html
+
+
+} # OPLSAA
+
+
+
+
+
+############################### NOTES ####################################
+#
+# This file was generated (on 2017-7-18) using this script:
+#
+# tinkerparm2lt.py -name OPLSAA -file oplsaa.prm -dihedral-style opls
+#
+# The oplsaa.prm file was downloaded from the TINKER website
+# https://dasher.wustl.edu/tinker/distribution/params/oplsaa.prm
+# (You can build a smaller version of this file by editing the oplsaa.prm
+# file and deleting the lines beginning with "atom" that you don't need,
+# and subsequently running tinkerparm2lt.py on the new file. This can
+# help reduce the number of atom types, which can help with visualization,
+# and in some cases may also improve performance.)
+#
+# The following 1-2, 1-3, and 1-4 weighting parameters were ASSUMED:
+# special_bonds lj/coul 0.0 0.0 0.5
+# (See http://lammps.sandia.gov/doc/special_bonds.html for details)
+#
+# WARNING: All Urey-Bradley interactions have been IGNORED including:
+# ffid1 ffid2 ffid3 K r0
+# ureybrad 35 34 35 38.25 1.5537
+#
+# WARNING: Many of these atoms are UNITED-ATOM (UA) atoms (#1-56). This means
+# the hydrogen atoms have been absorbed into the heavy atoms, and the
+# force-field modified accordingly. (Hopefully, moltemplate will
+# complain if you attempt to bond these atoms to hydrogen atoms.)
+##########################################################################
diff --git a/tools/moltemplate/moltemplate/force_fields/oplsaa/AUTHOR.txt b/tools/moltemplate/moltemplate/force_fields/oplsaa/AUTHOR.txt
new file mode 100644
index 000000000..a3e9f3ee7
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/oplsaa/AUTHOR.txt
@@ -0,0 +1,2 @@
+OPLSAA force-field conversion tools provided by
+Jason Lambert, Sebastian Echeverri, and Andrew Jewett
diff --git a/tools/moltemplate/moltemplate/force_fields/oplsaa/loplsaa_ext.prm b/tools/moltemplate/moltemplate/force_fields/oplsaa/loplsaa_ext.prm
new file mode 100644
index 000000000..ff0e3e445
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/oplsaa/loplsaa_ext.prm
@@ -0,0 +1,87 @@
+ ###########################################################################
+ ## Extra OPLSAA parameters and atom types for long hydrocarbon chains ##
+ ## SOURCE: Sui, Pluhackova, Böckmann, J.Chem.Theory.Comp (2012), 8, 1459 ##
+ ## CREDIT: Sebastian Echeverri (file format conversion) ##
+ ###########################################################################
+ ## This file was used with "tinkerparm2lt.py" to create "loplsaa.lt" ##
+ ###########################################################################
+
+atom 80L 13L CT "Alkane CH3- (LOPLS CT_CH3)" 6 12.011 4
+atom 81L 13L CT "Alkane -CH2- (LOPLS CT_CH2)" 6 12.011 4
+atom 85LCH3 46 HC "Alkane H-C CH3 (LOPLS HC_CH3)" 1 1.008 1
+atom 85LCH2 46 HC "Alkane H-C CH2 (LOPLS HC_CH2)" 1 1.008 1
+atom 87L 47L CM "Alkene RH-C= (LOPLS CM_CH)" 6 12.011 3
+atom 89L 46 HC "Alkene H-C= (LOPLS HC_CH)" 1 1.008 1
+atom 86L 47L CM "Alkene R2-C= (LOPLS)" 6 12.011 3
+atom 88L 47L CM "Alkene H2-C= (LOPLS)" 6 12.011 3
+atom 169L 47L CM "Chloroalkene Cl-CH= (LOPLS)" 6 12.011 3
+atom 266L 47L CM "Uracil & Thymine C5 (LOPLS)" 6 12.011 3
+atom 267L 47L CM "Uracil & Thymine C6 (LOPLS)" 6 12.011 3
+atom 280L 47L CM "Cytosine C5 (LOPLS)" 6 12.011 3
+atom 281L 47L CM "Cytosine C6 (LOPLS)" 6 12.011 3
+atom 324L 47L CM "CytosineH+ C5 (LOPLS)" 6 12.011 3
+atom 325L 47L CM "CytosineH+ C6 (LOPLS)" 6 12.011 3
+atom 340L 47L CM "Trifluorothymine CF3- (LOPLS)" 6 12.011 4
+atom 342L 47L CM "Chloroalkene Cl2-C= (LOPLS)" 6 12.011 3
+atom 458L 47L CM "Vinyl Ether =CH-OR (LOPLS)" 6 12.011 3
+atom 459L 47L CM "Vinyl Ether =CR-OR (LOPLS)" 6 12.011 3
+atom 649L 47L CM "Cl..CH3..Cl- Sn2 TS (LOPLS)" 6 12.011 5
+atom 900L 47L CM "Allene/Ketene H2C=C=X (LOPLS)" 6 12.011 3
+atom 901L 47L CM "Allene/Ketene HRC=C=X (LOPLS)" 6 12.011 3
+atom 902L 47L CM "Allene/Ketene R2C=C=X (LOPLS)" 6 12.011 3
+
+vdw 80L 3.5000 0.0660
+vdw 81L 3.5000 0.0660
+vdw 85LCH3 2.5000 0.0300
+vdw 85LCH2 2.5000 0.026290630975
+vdw 87L 3.5500 0.0760
+vdw 89L 2.4200 0.0300
+vdw 86L 3.5500 0.0760
+vdw 88L 3.5500 0.0760
+vdw 169L 3.5500 0.0760
+vdw 266L 3.5000 0.0800
+vdw 267L 3.5000 0.0800
+vdw 280L 3.5000 0.0800
+vdw 281L 3.5000 0.0800
+vdw 324L 3.5000 0.0800
+vdw 325L 3.5000 0.0800
+vdw 340L 3.5000 0.0800
+vdw 342L 3.5500 0.0760
+vdw 458L 3.5500 0.0760
+vdw 459L 3.5500 0.0760
+vdw 649L 3.5500 0.0760
+vdw 900L 3.3000 0.0860
+vdw 901L 3.3000 0.0860
+vdw 902L 3.3000 0.0860
+
+# New torsion angle parameters
+# Taken from table 2 of
+# Sui, Pluhackova, Böckmann, J.Chem.Theory.Comp (2012), 8, 1459
+torsion 13L 13L 13L 13L 0.6446926386 0 1 -0.2143420172 180 2 0.1782194073 0 3 0 180 4 # offset V0=-0.0731209369
+torsion 0 47L 47L 0 0.0 0 1 12.2502629063 180 2 0.0 0 3 0 180 4 # offset V0=0.0
+torsion 47L 47L 13L 13L -0.8050121893 0 1 0.3218905354 180 2 -0.1032768881 0 3 0 180 4 # offset V0=-0.3574832696
+torsion 13L 13L 13L 47L 0.4821902486 0 1 0.1343683078 180 2 0.1777461759 0 3 0 180 4 # offset V0=0.4405726577
+
+charge 80L -0.222 #"Alkane CH3- (LOPLS)" "CT_CH3" 3.50 0.0660
+charge 81L -0.148 #"Alkane -CH2- (LOPLS)" "CT_CH2" 3.50 0.0660
+charge 85LCH3 0.074 #"Alkane H-C CH3 (LOPLS)" "HC_CH3" 2.50 0.0300
+charge 85LCH2 0.074 #"Alkane H-C CH2 (LOPLS)" "HC_CH2" 2.50 0.0263
+charge 87L -0.160 #"Alkene RH-C= (LOPLS)" "CM_CH" 3.55 0.0760
+charge 89L 0.160 #"Alkene H-C= (LOPLS)" "HC_CH" 2.42 0.0300
+charge 86L 0.0000
+charge 88L -0.2300
+charge 169L 0.0050
+charge 266L -0.0700
+charge 267L 0.0800
+charge 280L -0.0600
+charge 281L 0.1000
+charge 324L -0.0600
+charge 325L 0.1000
+charge 340L 0.1800
+charge 342L 0.1200
+charge 458L -0.0300
+charge 459L 0.0850
+charge 649L -0.3440
+charge 900L -0.2500
+charge 901L -0.1000
+charge 902L 0.0500
diff --git a/tools/moltemplate/moltemplate/force_fields/sdk/README.txt b/tools/moltemplate/moltemplate/force_fields/sdk/README.txt
new file mode 100644
index 000000000..6ca9e8f98
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/sdk/README.txt
@@ -0,0 +1,63 @@
+README!
+
+v0.2
+
+This is only part of the SDK force field and is to be used for lipids only. Only parameters from:
+
+Shinoda et al. J. Phys. Chem. B, Vol. 114, No. 20, 2010
+http://dx.doi.org/10.1021/jp9107206
+
+are used.
+
+NOTE: We extracted the parameters from that publication from the files
+distributed with the "EMC" tool. If you use these files, please also cite:
+P. J. in ‘t Veld and G. C. Rutledge, Macromolecules 2003, 36, 7358.
+
+
+This works for any topology built using the following types:
+
+Name Structure Charge
+NC -CH2CH2-N-(CH3)3 +1
+NH -CH2CH2-NH3 +1
+PH -PO4- -1
+PHE -PO4- (PE lipid) -1
+GL -CH2CH-CH2-
+EST1 -CH2CO2-
+EST2 -H2CO2-
+CMD2 -HC=CH- (cis)
+CM -CH2CH2CH2-
+CT CH3CH2CH2-
+CT2 CH3CH2-
+W (H2O)3
+
+This coarse-grainng allows for design of a wide variety of lipids.
+
+NEW! in v0.2:
+ SDK Cholesterol model has been added! Using parameters from:
+
+MacDermaid et al. J. Chem. Phys, 143(24), 243144, 2015
+http://dx.doi.org/10.1063/1.4937153
+
+are used. The following types are defined specifically for cholesterol:
+
+Name Structure Location
+C2T -CH-(CH3)2 Tail
+CM2 -CH2-CH2- Tail
+CM2R -CH2-CH2- Ring A
+CMDB -CH2-C=CH- Ring A/B
+CMB -CH2-CH-CH- Ring B/C
+CMR -CH-CH2-CH2- Ring B/C
+CMR5 -CH2-CH2-CH- Ring D
+CTB -CH2-CH-CH3- Tail
+CTBA -C-CH3 Ring A/B
+CTBB -C-CH3 Ring C/D
+OAB -CH-OH Ring A
+
+See the provided reference for details on the CG cholesterol topology.
+A 5-10 timestep is used when using cholesterol.
+
+Several limiations, due to missing parameters:
+-use of cholesterol with type "NH" is not possible.
+-use of cholesterol with type "PHE" is not possible.
+
+---
diff --git a/tools/moltemplate/moltemplate/force_fields/sdk/SDK_lipid+chol.lt b/tools/moltemplate/moltemplate/force_fields/sdk/SDK_lipid+chol.lt
new file mode 100644
index 000000000..f61008511
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/sdk/SDK_lipid+chol.lt
@@ -0,0 +1,423 @@
+# Autogenerated by EMC 2 LT tool v0.2 on 2017-06-29
+#
+# ./emcprm2lt.py --pair-style=lj/sdk/coul/long --bond-style=harmonic --angle-style=sdk sdk_lipids.prm sdk_cholesterol.prm --name=SDK_lipid+chol --units
+#
+# Adapted from EMC by Pieter J. in 't Veld
+# Originally written as, FFNAME:SDK STYLE:COARSE VERSION:1.0 on Oct 2014
+
+SDK {
+ write_once("Data Masses") {
+ @atom:CM 42.080400 # CM
+ @atom:CMD2 26.037800 # CMD2
+ @atom:CT 43.088300 # CT
+ @atom:CT2 29.061500 # CT2
+ @atom:EST1 58.036600 # EST1
+ @atom:EST2 58.036600 # EST2
+ @atom:GL 41.072500 # GL
+ @atom:NC 87.164400 # NC
+ @atom:NH 44.076100 # NH
+ @atom:PH 94.971600 # PH
+ @atom:PHE 94.971600 # PHE
+ @atom:W 54.045600 # W
+ @atom:C2T 43.090000 # C2T
+ @atom:CM2 28.050000 # CM2
+ @atom:CM2R 28.050000 # CM2R
+ @atom:CMDB 39.060000 # CMDB
+ @atom:CMB 40.060000 # CMB
+ @atom:CMR 41.070000 # CMR
+ @atom:CMR5 41.070000 # CMR5
+ @atom:CTB 42.080000 # CTB
+ @atom:CTBA 27.050000 # CTBA
+ @atom:CTBB 27.050000 # CTBB
+ @atom:OAB 30.030000 # OAB
+ } # end of atom masses
+
+ # ----- EQUIVALENCE CATEGORIES for bonded interaction lookup -----
+ replace{ @atom:CM @atom:CM_bCM_aCM_dCM_iCM}
+ replace{ @atom:CMD2 @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2}
+ replace{ @atom:CT @atom:CT_bCT_aCT_dCT_iCT}
+ replace{ @atom:CT2 @atom:CT2_bCT2_aCT2_dCT2_iCT2}
+ replace{ @atom:EST1 @atom:EST1_bEST1_aEST1_dEST1_iEST1}
+ replace{ @atom:EST2 @atom:EST2_bEST2_aEST2_dEST2_iEST2}
+ replace{ @atom:GL @atom:GL_bGL_aGL_dGL_iGL}
+ replace{ @atom:NC @atom:NC_bNC_aNC_dNC_iNC}
+ replace{ @atom:NH @atom:NH_bNH_aNH_dNH_iNH}
+ replace{ @atom:PH @atom:PH_bPH_aPH_dPH_iPH}
+ replace{ @atom:PHE @atom:PHE_bPHE_aPHE_dPHE_iPHE}
+ replace{ @atom:W @atom:W_bW_aW_dW_iW}
+ replace{ @atom:C2T @atom:C2T_bC2T_aC2T_dC2T_iC2T}
+ replace{ @atom:CM2 @atom:CM2_bCM2_aCM2_dCM2_iCM2}
+ replace{ @atom:CM2R @atom:CM2R_bCM2R_aCM2R_dCM2R_iCM2R}
+ replace{ @atom:CMDB @atom:CMDB_bCMDB_aCMDB_dCMDB_iCMDB}
+ replace{ @atom:CMB @atom:CMB_bCMB_aCMB_dCMB_iCMB}
+ replace{ @atom:CMR @atom:CMR_bCMR_aCMR_dCMR_iCMR}
+ replace{ @atom:CMR5 @atom:CMR5_bCMR5_aCMR5_dCMR5_iCMR5}
+ replace{ @atom:CTB @atom:CTB_bCTB_aCTB_dCTB_iCTB}
+ replace{ @atom:CTBA @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA}
+ replace{ @atom:CTBB @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB}
+ replace{ @atom:OAB @atom:OAB_bOAB_aOAB_dOAB_iOAB}
+ # END EQUIVALENCE
+
+ write_once("In Settings") {
+ # ----- Non-Bonded interactions -----
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CM_bCM_aCM_dCM_iCM lj9_6 0.420000 4.506000 # CM-CM
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 lj9_6 0.312000 4.255500 # CM-CMD2
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CT_bCT_aCT_dCT_iCT lj9_6 0.444000 4.545500 # CM-CT
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CT2_bCT2_aCT2_dCT2_iCT2 lj9_6 0.362000 4.363500 # CM-CT2
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.470000 4.403000 # CM-EST1
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.470000 4.403000 # CM-EST2
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.420000 4.506000 # CM-GL
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.400000 5.128000 # CM-NC
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.330000 4.553000 # CM-NH
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.300000 4.953000 # CM-PH
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 0.300000 4.953000 # CM-PHE
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:W_bW_aW_dW_iW lj12_4 0.340000 4.438500 # CM-W
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 lj9_6 0.232000 4.005000 # CMD2-CMD2
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:CT_bCT_aCT_dCT_iCT lj9_6 0.330000 4.295000 # CMD2-CT
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:CT2_bCT2_aCT2_dCT2_iCT2 lj9_6 0.269000 4.113000 # CMD2-CT2
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.440000 4.005000 # CMD2-EST1
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.440000 4.005000 # CMD2-EST2
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.312000 4.255500 # CMD2-GL
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.350000 4.877500 # CMD2-NC
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.300000 4.302500 # CMD2-NH
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.300000 4.702500 # CMD2-PH
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 0.300000 4.702500 # CMD2-PHE
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:W_bW_aW_dW_iW lj12_4 0.270000 4.188000 # CMD2-W
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:CT_bCT_aCT_dCT_iCT lj9_6 0.469000 4.585000 # CT-CT
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:CT2_bCT2_aCT2_dCT2_iCT2 lj9_6 0.383000 4.403000 # CT-CT2
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.470000 4.442500 # CT-EST1
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.470000 4.442500 # CT-EST2
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.444000 4.545500 # CT-GL
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.420000 5.167500 # CT-NC
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.340000 4.925000 # CT-NH
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.320000 4.992500 # CT-PH
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 0.320000 4.992500 # CT-PHE
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:W_bW_aW_dW_iW lj12_4 0.360000 4.478000 # CT-W
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:CT2_bCT2_aCT2_dCT2_iCT2 lj9_6 0.312000 4.221000 # CT2-CT2
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.390000 4.260500 # CT2-EST1
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.390000 4.260500 # CT2-EST2
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.362000 4.365000 # CT2-GL
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.320000 4.985500 # CT2-NC
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.320000 4.410500 # CT2-NH
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.280000 4.810500 # CT2-PH
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 0.280000 4.810500 # CT2-PHE
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:W_bW_aW_dW_iW lj12_4 0.290000 4.296000 # CT2-W
+ pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.495000 4.300000 # EST1-EST1
+ pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.495000 4.300000 # EST1-EST2
+ pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.470000 4.403000 # EST1-GL
+ pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.750000 4.475000 # EST1-NC
+ pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.850000 4.110000 # EST1-NH
+ pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.500000 4.550000 # EST1-PH
+ pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 0.500000 4.550000 # EST1-PHE
+ pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:W_bW_aW_dW_iW lj12_4 0.820000 4.290000 # EST1-W
+ pair_coeff @atom:EST2_bEST2_aEST2_dEST2_iEST2 @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.495000 4.300000 # EST2-EST2
+ pair_coeff @atom:EST2_bEST2_aEST2_dEST2_iEST2 @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.470000 4.403000 # EST2-GL
+ pair_coeff @atom:EST2_bEST2_aEST2_dEST2_iEST2 @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.750000 4.475000 # EST2-NC
+ pair_coeff @atom:EST2_bEST2_aEST2_dEST2_iEST2 @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.850000 4.110000 # EST2-NH
+ pair_coeff @atom:EST2_bEST2_aEST2_dEST2_iEST2 @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.500000 4.550000 # EST2-PH
+ pair_coeff @atom:EST2_bEST2_aEST2_dEST2_iEST2 @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 0.500000 4.550000 # EST2-PHE
+ pair_coeff @atom:EST2_bEST2_aEST2_dEST2_iEST2 @atom:W_bW_aW_dW_iW lj12_4 0.820000 4.290000 # EST2-W
+ pair_coeff @atom:GL_bGL_aGL_dGL_iGL @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.420000 4.506000 # GL-GL
+ pair_coeff @atom:GL_bGL_aGL_dGL_iGL @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.650000 4.620000 # GL-NC
+ pair_coeff @atom:GL_bGL_aGL_dGL_iGL @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.750000 4.190000 # GL-NH
+ pair_coeff @atom:GL_bGL_aGL_dGL_iGL @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.300000 4.750000 # GL-PH
+ pair_coeff @atom:GL_bGL_aGL_dGL_iGL @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 0.300000 4.750000 # GL-PHE
+ pair_coeff @atom:GL_bGL_aGL_dGL_iGL @atom:W_bW_aW_dW_iW lj12_4 0.640000 4.438500 # GL-W
+ pair_coeff @atom:NC_bNC_aNC_dNC_iNC @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.700000 5.750000 # NC-NC
+ pair_coeff @atom:NC_bNC_aNC_dNC_iNC @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.880000 5.175000 # NC-NH
+ pair_coeff @atom:NC_bNC_aNC_dNC_iNC @atom:PH_bPH_aPH_dPH_iPH lj9_6 1.150000 4.200000 # NC-PH
+ pair_coeff @atom:NC_bNC_aNC_dNC_iNC @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 1.150000 4.200000 # NC-PHE
+ pair_coeff @atom:NC_bNC_aNC_dNC_iNC @atom:W_bW_aW_dW_iW lj12_4 0.900000 4.610000 # NC-W
+ pair_coeff @atom:NH_bNH_aNH_dNH_iNH @atom:NH_bNH_aNH_dNH_iNH lj9_6 1.100000 4.600000 # NH-NH
+ pair_coeff @atom:NH_bNH_aNH_dNH_iNH @atom:PH_bPH_aPH_dPH_iPH lj9_6 1.200000 3.800000 # NH-PH
+ pair_coeff @atom:NH_bNH_aNH_dNH_iNH @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 1.200000 3.800000 # NH-PHE
+ pair_coeff @atom:NH_bNH_aNH_dNH_iNH @atom:W_bW_aW_dW_iW lj12_4 0.800000 3.950000 # NH-W
+ pair_coeff @atom:PH_bPH_aPH_dPH_iPH @atom:PH_bPH_aPH_dPH_iPH lj9_6 1.400000 5.400000 # PH-PH
+ pair_coeff @atom:PH_bPH_aPH_dPH_iPH @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 1.400000 5.000000 # PH-PHE
+ pair_coeff @atom:PH_bPH_aPH_dPH_iPH @atom:W_bW_aW_dW_iW lj12_4 1.000000 4.030000 # PH-W
+ pair_coeff @atom:PHE_bPHE_aPHE_dPHE_iPHE @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 1.400000 4.600000 # PHE-PHE
+ pair_coeff @atom:PHE_bPHE_aPHE_dPHE_iPHE @atom:W_bW_aW_dW_iW lj12_4 1.000000 4.030000 # PHE-W
+ pair_coeff @atom:W_bW_aW_dW_iW @atom:W_bW_aW_dW_iW lj12_4 0.895000 4.371000 # W-W
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.420000 5.167500 # C2T-NC
+ pair_coeff @atom:CMR5_bCMR5_aCMR5_dCMR5_iCMR5 @atom:CT_bCT_aCT_dCT_iCT lj9_6 0.444000 4.545500 # CMR5-CT
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA lj9_6 0.252000 4.767700 # C2T-CTBA
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:CTB_bCTB_aCTB_dCTB_iCTB lj9_6 0.469000 4.585000 # CT-CTB
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CMR_bCMR_aCMR_dCMR_iCMR lj9_6 0.331000 4.771400 # C2T-CMR
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA lj9_6 0.383000 4.403000 # CT-CTBA
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB lj9_6 0.252000 4.767700 # C2T-CTBB
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB lj9_6 0.383000 4.403000 # CT-CTBB
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.444000 4.545500 # C2T-GL
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.437000 4.033000 # CT-OAB
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CM2R_bCM2R_aCM2R_dCM2R_iCM2R lj9_6 0.254000 4.610100 # C2T-CM2R
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:CTB_bCTB_aCTB_dCTB_iCTB lj9_6 0.383000 4.403000 # CT2-CTB
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 lj9_6 0.330000 4.295000 # C2T-CMD2
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA lj9_6 0.312000 4.221000 # CT2-CTBA
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CMR5_bCMR5_aCMR5_dCMR5_iCMR5 lj9_6 0.331000 4.771400 # C2T-CMR5
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB lj9_6 0.312000 4.221000 # CT2-CTBB
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:W_bW_aW_dW_iW lj12_4 0.360000 4.478000 # C2T-W
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.415000 3.950500 # CT2-OAB
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:C2T_bC2T_aC2T_dC2T_iC2T lj9_6 0.400000 4.811500 # C2T-C2T
+ pair_coeff @atom:CTB_bCTB_aCTB_dCTB_iCTB @atom:CTB_bCTB_aCTB_dCTB_iCTB lj9_6 0.269000 5.015500 # CTB-CTB
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.437000 4.033000 # C2T-OAB
+ pair_coeff @atom:CTB_bCTB_aCTB_dCTB_iCTB @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.470000 4.442500 # CTB-EST1
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.320000 4.992500 # C2T-PH
+ pair_coeff @atom:CTB_bCTB_aCTB_dCTB_iCTB @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.470000 4.442500 # CTB-EST2
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CMDB_bCMDB_aCMDB_dCMDB_iCMDB lj9_6 0.354000 4.894100 # C2T-CMDB
+ pair_coeff @atom:CTB_bCTB_aCTB_dCTB_iCTB @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.420000 5.167500 # CTB-NC
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CT2_bCT2_aCT2_dCT2_iCT2 lj9_6 0.297000 4.527200 # C2T-CT2
+ pair_coeff @atom:CTB_bCTB_aCTB_dCTB_iCTB @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA lj9_6 0.265000 4.464800 # CTB-CTBA
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CM2_bCM2_aCM2_dCM2_iCM2 lj9_6 0.291000 4.588000 # C2T-CM2
+ pair_coeff @atom:CTB_bCTB_aCTB_dCTB_iCTB @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB lj9_6 0.265000 4.464800 # CTB-CTBB
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CM_bCM_aCM_dCM_iCM lj9_6 0.391000 4.545500 # C2T-CM
+ pair_coeff @atom:CTB_bCTB_aCTB_dCTB_iCTB @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.444000 4.545500 # CTB-GL
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CT_bCT_aCT_dCT_iCT lj9_6 0.409000 4.860100 # C2T-CT
+ pair_coeff @atom:CTB_bCTB_aCTB_dCTB_iCTB @atom:W_bW_aW_dW_iW lj12_4 0.360000 4.478000 # CTB-W
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CTB_bCTB_aCTB_dCTB_iCTB lj9_6 0.283000 4.910900 # C2T-CTB
+ pair_coeff @atom:CTB_bCTB_aCTB_dCTB_iCTB @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.437000 4.033000 # CTB-OAB
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:CMB_bCMB_aCMB_dCMB_iCMB lj9_6 0.310000 4.656400 # C2T-CMB
+ pair_coeff @atom:CTB_bCTB_aCTB_dCTB_iCTB @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.320000 4.992500 # CTB-PH
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.470000 4.442500 # C2T-EST1
+ pair_coeff @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.320000 4.985500 # CTBA-NC
+ pair_coeff @atom:C2T_bC2T_aC2T_dC2T_iC2T @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.470000 4.442500 # C2T-EST2
+ pair_coeff @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.390000 4.260500 # CTBA-EST1
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CMR_bCMR_aCMR_dCMR_iCMR lj9_6 0.420000 4.506000 # CM-CMR
+ pair_coeff @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.390000 4.260500 # CTBA-EST2
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CM2R_bCM2R_aCM2R_dCM2R_iCM2R lj9_6 0.390000 4.434200 # CM-CM2R
+ pair_coeff @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA @atom:W_bW_aW_dW_iW lj12_4 0.290000 4.296000 # CTBA-W
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CMR5_bCMR5_aCMR5_dCMR5_iCMR5 lj9_6 0.420000 4.506000 # CM-CMR5
+ pair_coeff @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.362000 4.363500 # CTBA-GL
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.561000 4.093000 # CM-OAB
+ pair_coeff @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA lj9_6 0.265000 4.461000 # CTBA-CTBA
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CMDB_bCMDB_aCMDB_dCMDB_iCMDB lj9_6 0.362000 4.379000 # CM-CMDB
+ pair_coeff @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB lj9_6 0.265000 4.461000 # CTBA-CTBB
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CM2_bCM2_aCM2_dCM2_iCM2 lj9_6 0.336000 4.461900 # CM-CM2
+ pair_coeff @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.280000 4.810500 # CTBA-PH
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CTB_bCTB_aCTB_dCTB_iCTB lj9_6 0.444000 4.545500 # CM-CTB
+ pair_coeff @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.380000 3.840000 # CTBA-OAB
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CMB_bCMB_aCMB_dCMB_iCMB lj9_6 0.420000 4.506000 # CM-CMB
+ pair_coeff @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB @atom:W_bW_aW_dW_iW lj12_4 0.290000 4.296000 # CTBB-W
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CTBA_bCTBA_aCTBA_dCTBA_iCTBA lj9_6 0.362000 4.363500 # CM-CTBA
+ pair_coeff @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.320000 4.985500 # CTBB-NC
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB lj9_6 0.362000 4.363500 # CM-CTBB
+ pair_coeff @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.362000 4.363500 # CTBB-GL
+ pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.248000 4.936800 # CM2-PH
+ pair_coeff @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.390000 4.260500 # CTBB-EST1
+ pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.413000 4.066900 # CM2-OAB
+ pair_coeff @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.390000 4.260500 # CTBB-EST2
+ pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:CM2R_bCM2R_aCM2R_dCM2R_iCM2R lj9_6 0.237000 4.440300 # CM2-CM2R
+ pair_coeff @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.280000 4.810500 # CTBB-PH
+ pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 lj9_6 0.248000 4.231300 # CM2-CMD2
+ pair_coeff @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.380000 3.840000 # CTBB-OAB
+ pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:CMR5_bCMR5_aCMR5_dCMR5_iCMR5 lj9_6 0.333000 4.484600 # CM2-CMR5
+ pair_coeff @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB @atom:CTBB_bCTBB_aCTBB_dCTBB_iCTBB lj9_6 0.265000 4.461000 # CTBB-CTBB
+ pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:CT2_bCT2_aCT2_dCT2_iCT2 lj9_6 0.228000 4.319900 # CM2-CT2
+ pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 1.100000 3.990000 # EST1-OAB
+ pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:CM2_bCM2_aCM2_dCM2_iCM2 lj9_6 0.265000 4.461000 # CM2-CM2
+ pair_coeff @atom:EST2_bEST2_aEST2_dEST2_iEST2 @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 1.100000 3.990000 # EST2-OAB
+ pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:CMDB_bCMDB_aCMDB_dCMDB_iCMDB lj9_6 0.267000 4.369700 # CM2-CMDB
+ pair_coeff @atom:GL_bGL_aGL_dGL_iGL @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.669000 4.093000 # GL-OAB
+ pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:CT_bCT_aCT_dCT_iCT lj9_6 0.301000 4.454600 # CM2-CT
+ pair_coeff @atom:NC_bNC_aNC_dNC_iNC @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.637000 3.931900 # NC-OAB
+ pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:CTB_bCTB_aCTB_dCTB_iCTB lj9_6 0.353000 4.524600 # CM2-CTB
+ pair_coeff @atom:OAB_bOAB_aOAB_dOAB_iOAB @atom:W_bW_aW_dW_iW lj9_6 1.026000 4.025500 # OAB-W
+ pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:CMB_bCMB_aCMB_dCMB_iCMB lj9_6 0.333000 4.484600 # CM2-CMB
+ pair_coeff @atom:OAB_bOAB_aOAB_dOAB_iOAB @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.928000 3.616600 # OAB-PH
+ pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.306000 5.113800 # CM2-NC
+ pair_coeff @atom:OAB_bOAB_aOAB_dOAB_iOAB @atom:OAB_bOAB_aOAB_dOAB_iOAB lj9_6 0.580000 3.680000 # OAB-OAB
+ pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.366000 4.380500 # CM2-EST1
+ pair_coeff @atom:CM2_bCM2_aCM2_dCM2_iCM2 @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.366000 4.380500 # CM2-EST2
+ } # end of nonbonded parameters
+
+ write_once("In Settings") {
+ # ----- Bonds -----
+ bond_coeff @bond:CM-CM harmonic 6.160000 3.640000 # CM-CM
+ bond_coeff @bond:CM-CMD2 harmonic 8.000000 3.030000 # CM-CMD2
+ bond_coeff @bond:CM-CT harmonic 6.160000 3.650000 # CM-CT
+ bond_coeff @bond:CM-CT2 harmonic 9.000000 3.130000 # CM-CT2
+ bond_coeff @bond:CM-EST1 harmonic 4.700000 3.550000 # CM-EST1
+ bond_coeff @bond:CM-EST2 harmonic 5.100000 3.610000 # CM-EST2
+ bond_coeff @bond:CM-PHE harmonic 12.000000 3.690000 # CM-PHE
+ bond_coeff @bond:CM-SO4 harmonic 11.000000 3.630000 # CM-SO4
+ bond_coeff @bond:CMD2-CT harmonic 8.000000 3.090000 # CMD2-CT
+ bond_coeff @bond:CMD2-CT2 harmonic 60.000000 2.540000 # CMD2-CT2
+ bond_coeff @bond:CT-CT harmonic 6.955000 3.710000 # CT-CT
+ bond_coeff @bond:EST1-GL harmonic 30.000000 2.880000 # EST1-GL
+ bond_coeff @bond:EST2-GL harmonic 8.400000 3.480000 # EST2-GL
+ bond_coeff @bond:GL-PHE harmonic 8.900000 3.520000 # GL-PHE
+ bond_coeff @bond:NC-PHE harmonic 4.800000 4.250000 # NC-PHE
+ bond_coeff @bond:NH-PHE harmonic 9.400000 3.600000 # NH-PHE
+ bond_coeff @bond:PHE1-PHE2 harmonic 2.500000 150.000000 # PHE1-PHE2
+ bond_coeff @bond:C2T-CM2 harmonic 55.000000 2.500000 # C2T-CM2
+ bond_coeff @bond:CM2-CTB harmonic 42.500000 2.900000 # CM2-CTB
+ bond_coeff @bond:CM2R-CTBA harmonic 45.000000 2.400000 # CM2R-CTBA
+ bond_coeff @bond:CM2R-OAB harmonic 50.000000 2.600000 # CM2R-OAB
+ bond_coeff @bond:CMB-CMDB harmonic 75.000000 3.500000 # CMB-CMDB
+ bond_coeff @bond:CMB-CMR5 harmonic 50.000000 3.000000 # CMB-CMR5
+ bond_coeff @bond:CMB-CTBA harmonic 35.000000 3.400000 # CMB-CTBA
+ bond_coeff @bond:CMB-CTBB harmonic 50.000000 3.000000 # CMB-CTBB
+ bond_coeff @bond:CMDB-CTBA harmonic 40.000000 2.500000 # CMDB-CTBA
+ bond_coeff @bond:CMDB-OAB harmonic 55.000000 3.100000 # CMDB-OAB
+ bond_coeff @bond:CMR5-CTBB harmonic 60.000000 2.300000 # CMR5-CTBB
+ bond_coeff @bond:CMR-CTBA harmonic 50.000000 3.000000 # CMR-CTBA
+ bond_coeff @bond:CMR-CTBB harmonic 55.000000 2.500000 # CMR-CTBB
+ bond_coeff @bond:CTB-CTBB harmonic 22.500000 3.400000 # CTB-CTBB
+ bond_coeff @bond:CMR5-CTB harmonic 35.000000 3.100000 # CMR5-CTB
+ }
+
+ write_once("Data Bonds By Type") {
+ @bond:CM-CM @atom:*_bCM_a*_d*_i* @atom:*_bCM_a*_d*_i*
+ @bond:CM-CMD2 @atom:*_bCM_a*_d*_i* @atom:*_bCMD2_a*_d*_i*
+ @bond:CM-CT @atom:*_bCM_a*_d*_i* @atom:*_bCT_a*_d*_i*
+ @bond:CM-CT2 @atom:*_bCM_a*_d*_i* @atom:*_bCT2_a*_d*_i*
+ @bond:CM-EST1 @atom:*_bCM_a*_d*_i* @atom:*_bEST1_a*_d*_i*
+ @bond:CM-EST2 @atom:*_bCM_a*_d*_i* @atom:*_bEST2_a*_d*_i*
+ @bond:CM-PHE @atom:*_bCM_a*_d*_i* @atom:*_bPHE_a*_d*_i*
+ @bond:CM-SO4 @atom:*_bCM_a*_d*_i* @atom:*_bSO4_a*_d*_i*
+ @bond:CMD2-CT @atom:*_bCMD2_a*_d*_i* @atom:*_bCT_a*_d*_i*
+ @bond:CMD2-CT2 @atom:*_bCMD2_a*_d*_i* @atom:*_bCT2_a*_d*_i*
+ @bond:CT-CT @atom:*_bCT_a*_d*_i* @atom:*_bCT_a*_d*_i*
+ @bond:EST1-GL @atom:*_bEST1_a*_d*_i* @atom:*_bGL_a*_d*_i*
+ @bond:EST2-GL @atom:*_bEST2_a*_d*_i* @atom:*_bGL_a*_d*_i*
+ @bond:GL-PHE @atom:*_bGL_a*_d*_i* @atom:*_bPHE_a*_d*_i*
+ @bond:NC-PHE @atom:*_bNC_a*_d*_i* @atom:*_bPHE_a*_d*_i*
+ @bond:NH-PHE @atom:*_bNH_a*_d*_i* @atom:*_bPHE_a*_d*_i*
+ @bond:PHE1-PHE2 @atom:*_bPHE1_a*_d*_i* @atom:*_bPHE2_a*_d*_i*
+ @bond:C2T-CM2 @atom:*_bC2T_a*_d*_i* @atom:*_bCM2_a*_d*_i*
+ @bond:CM2-CTB @atom:*_bCM2_a*_d*_i* @atom:*_bCTB_a*_d*_i*
+ @bond:CM2R-CTBA @atom:*_bCM2R_a*_d*_i* @atom:*_bCTBA_a*_d*_i*
+ @bond:CM2R-OAB @atom:*_bCM2R_a*_d*_i* @atom:*_bOAB_a*_d*_i*
+ @bond:CMB-CMDB @atom:*_bCMB_a*_d*_i* @atom:*_bCMDB_a*_d*_i*
+ @bond:CMB-CMR5 @atom:*_bCMB_a*_d*_i* @atom:*_bCMR5_a*_d*_i*
+ @bond:CMB-CTBA @atom:*_bCMB_a*_d*_i* @atom:*_bCTBA_a*_d*_i*
+ @bond:CMB-CTBB @atom:*_bCMB_a*_d*_i* @atom:*_bCTBB_a*_d*_i*
+ @bond:CMDB-CTBA @atom:*_bCMDB_a*_d*_i* @atom:*_bCTBA_a*_d*_i*
+ @bond:CMDB-OAB @atom:*_bCMDB_a*_d*_i* @atom:*_bOAB_a*_d*_i*
+ @bond:CMR5-CTBB @atom:*_bCMR5_a*_d*_i* @atom:*_bCTBB_a*_d*_i*
+ @bond:CMR-CTBA @atom:*_bCMR_a*_d*_i* @atom:*_bCTBA_a*_d*_i*
+ @bond:CMR-CTBB @atom:*_bCMR_a*_d*_i* @atom:*_bCTBB_a*_d*_i*
+ @bond:CTB-CTBB @atom:*_bCTB_a*_d*_i* @atom:*_bCTBB_a*_d*_i*
+ @bond:CMR5-CTB @atom:*_bCMR5_a*_d*_i* @atom:*_bCTB_a*_d*_i*
+ } # end of bonds
+
+ write_once("In Settings") {
+ # ----- Angles -----
+ angle_coeff @angle:CM-CM-CM sdk 1.190000 173.000000 # CM-CM-CM
+ angle_coeff @angle:CM-CM-CMD2 sdk 1.900000 161.000000 # CM-CM-CMD2
+ angle_coeff @angle:CM-CM-CT sdk 1.190000 175.000000 # CM-CM-CT
+ angle_coeff @angle:CM-CM-CT2 sdk 1.600000 172.000000 # CM-CM-CT2
+ angle_coeff @angle:CM-CM-EST1 sdk 1.000000 178.000000 # CM-CM-EST1
+ angle_coeff @angle:CM-CM-EST2 sdk 1.000000 178.000000 # CM-CM-EST2
+ angle_coeff @angle:CM-CM-PHE sdk 1.100000 178.000000 # CM-CM-PHE
+ angle_coeff @angle:CM-CMD2-CM sdk 6.000000 110.000000 # CM-CMD2-CM
+ angle_coeff @angle:CM-EST1-GL sdk 0.800000 168.000000 # CM-EST1-GL
+ angle_coeff @angle:CM-EST2-GL sdk 0.800000 172.000000 # CM-EST2-GL
+ angle_coeff @angle:CM-PHE-NC sdk 3.300000 112.000000 # CM-PHE-NC
+ angle_coeff @angle:CT-CM-CT sdk 1.093000 175.500000 # CT-CM-CT
+ angle_coeff @angle:CT-CM-CT2 sdk 1.600000 172.000000 # CT-CM-CT2
+ angle_coeff @angle:CT-CMD2-CT sdk 7.700000 116.000000 # CT-CMD2-CT
+ angle_coeff @angle:CT2-CM-CT2 sdk 1.700000 173.000000 # CT2-CM-CT2
+ angle_coeff @angle:CT2-CMD2-CT2 sdk 12.000000 110.000000 # CT2-CMD2-CT2
+ angle_coeff @angle:EST1-GL-EST2 sdk 1.000000 95.000000 # EST1-GL-EST2
+ angle_coeff @angle:EST1-GL-PHE sdk 1.400000 124.000000 # EST1-GL-PHE
+ angle_coeff @angle:EST2-GL-PHE sdk 2.000000 138.000000 # EST2-GL-PHE
+ angle_coeff @angle:GL-PHE-NC sdk 3.100000 112.000000 # GL-PHE-NC
+ angle_coeff @angle:GL-PHE-NH sdk 4.000000 102.000000 # GL-PHE-NH
+ angle_coeff @angle:C2T-CM2-CTB sdk 8.000000 160.000000 # C2T-CM2-CTB
+ angle_coeff @angle:CM2-CTB-CTBB sdk 4.000000 130.000000 # CM2-CTB-CTBB
+ angle_coeff @angle:CM2R-CTBA-CMB harmonic 40.000000 112.500000 # CM2R-CTBA-CMB
+ angle_coeff @angle:CM2R-CTBA-CMDB harmonic 22.500000 75.900000 # CM2R-CTBA-CMDB
+ angle_coeff @angle:CM2R-CTBA-CMR harmonic 35.000000 98.700000 # CM2R-CTBA-CMR
+ angle_coeff @angle:CM2R-OAB-CMDB harmonic 40.000000 63.900000 # CM2R-OAB-CMDB
+ angle_coeff @angle:CMB-CMDB-CTBA harmonic 45.000000 68.600000 # CMB-CMDB-CTBA
+ angle_coeff @angle:CMB-CMDB-OAB harmonic 65.000000 146.600000 # CMB-CMDB-OAB
+ angle_coeff @angle:CMB-CMR5-CTBB harmonic 35.000000 67.800000 # CMB-CMR5-CTBB
+ angle_coeff @angle:CMB-CTBA-CMDB harmonic 25.000000 68.900000 # CMB-CTBA-CMDB
+ angle_coeff @angle:CMB-CTBA-CMR harmonic 75.000000 47.800000 # CMB-CTBA-CMR
+ angle_coeff @angle:CMB-CTBB-CMR5 harmonic 25.000000 68.200000 # CMB-CTBB-CMR5
+ angle_coeff @angle:CMB-CTBB-CMR harmonic 50.000000 56.300000 # CMB-CTBB-CMR
+ angle_coeff @angle:CMB-CTBB-CTB sdk 35.000000 120.700000 # CMB-CTBB-CTB
+ angle_coeff @angle:CMDB-CMB-CMR5 harmonic 150.000000 175.600000 # CMDB-CMB-CMR5
+ angle_coeff @angle:CMDB-CMB-CTBA harmonic 62.500000 42.500000 # CMDB-CMB-CTBA
+ angle_coeff @angle:CMDB-CMB-CTBB harmonic 25.000000 134.200000 # CMDB-CMB-CTBB
+ angle_coeff @angle:CMDB-CTBA-CMR harmonic 50.000000 108.600000 # CMDB-CTBA-CMR
+ angle_coeff @angle:CMR5-CNB-CTBA harmonic 15.000000 135.800000 # CMR5-CNB-CTBA
+ angle_coeff @angle:CMR5-CMB-CTBB harmonic 45.000000 44.000000 # CMR5-CMB-CTBB
+ angle_coeff @angle:CMR5-CTBB-CTB harmonic 20.000000 62.700000 # CMR5-CTBB-CTB
+ angle_coeff @angle:CMR-CTBB-CMR5 harmonic 75.000000 107.000000 # CMR-CTBB-CMR5
+ angle_coeff @angle:CMR-CTBB-CTB sdk 37.500000 110.100000 # CMR-CTBB-CTB
+ angle_coeff @angle:CTBA-CM2R-OAB harmonic 25.000000 107.400000 # CTBA-CM2R-OAB
+ angle_coeff @angle:CTBA-CMB-CTBB harmonic 20.000000 92.200000 # CTBA-CMB-CTBB
+ angle_coeff @angle:CTBA-CMDB-OAB harmonic 20.000000 91.800000 # CTBA-CMDB-OAB
+ angle_coeff @angle:CTBA-CMR-CTBB harmonic 15.000000 115.000000 # CTBA-CMR-CTBB
+ angle_coeff @angle:CMB-CMR5-CTB harmonic 88.000000 131.700000 # CMB-CMR5-CTB
+ angle_coeff @angle:CTBB-CMR5-CTB harmonic 20.000000 77.400000 # CTBB-CMR5-CTB
+ angle_coeff @angle:CM2-CTB-CMR5 sdk 20.000000 118.000000 # CM2-CTB-CMR5
+ angle_coeff @angle:CMR5-CTB-CTBB harmonic 62.500000 39.700000 # CMR5-CTB-CTBB
+ }
+
+ write_once("Data Angles By Type") {
+ @angle:CM-CM-CM @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i*
+ @angle:CM-CM-CMD2 @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aCMD2_d*_i*
+ @angle:CM-CM-CT @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aCT_d*_i*
+ @angle:CM-CM-CT2 @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aCT2_d*_i*
+ @angle:CM-CM-EST1 @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aEST1_d*_i*
+ @angle:CM-CM-EST2 @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aEST2_d*_i*
+ @angle:CM-CM-PHE @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aPHE_d*_i*
+ @angle:CM-CMD2-CM @atom:*_b*_aCM_d*_i* @atom:*_b*_aCMD2_d*_i* @atom:*_b*_aCM_d*_i*
+ @angle:CM-EST1-GL @atom:*_b*_aCM_d*_i* @atom:*_b*_aEST1_d*_i* @atom:*_b*_aGL_d*_i*
+ @angle:CM-EST2-GL @atom:*_b*_aCM_d*_i* @atom:*_b*_aEST2_d*_i* @atom:*_b*_aGL_d*_i*
+ @angle:CM-PHE-NC @atom:*_b*_aCM_d*_i* @atom:*_b*_aPHE_d*_i* @atom:*_b*_aNC_d*_i*
+ @angle:CT-CM-CT @atom:*_b*_aCT_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aCT_d*_i*
+ @angle:CT-CM-CT2 @atom:*_b*_aCT_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aCT2_d*_i*
+ @angle:CT-CMD2-CT @atom:*_b*_aCT_d*_i* @atom:*_b*_aCMD2_d*_i* @atom:*_b*_aCT_d*_i*
+ @angle:CT2-CM-CT2 @atom:*_b*_aCT2_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aCT2_d*_i*
+ @angle:CT2-CMD2-CT2 @atom:*_b*_aCT2_d*_i* @atom:*_b*_aCMD2_d*_i* @atom:*_b*_aCT2_d*_i*
+ @angle:EST1-GL-EST2 @atom:*_b*_aEST1_d*_i* @atom:*_b*_aGL_d*_i* @atom:*_b*_aEST2_d*_i*
+ @angle:EST1-GL-PHE @atom:*_b*_aEST1_d*_i* @atom:*_b*_aGL_d*_i* @atom:*_b*_aPHE_d*_i*
+ @angle:EST2-GL-PHE @atom:*_b*_aEST2_d*_i* @atom:*_b*_aGL_d*_i* @atom:*_b*_aPHE_d*_i*
+ @angle:GL-PHE-NC @atom:*_b*_aGL_d*_i* @atom:*_b*_aPHE_d*_i* @atom:*_b*_aNC_d*_i*
+ @angle:GL-PHE-NH @atom:*_b*_aGL_d*_i* @atom:*_b*_aPHE_d*_i* @atom:*_b*_aNH_d*_i*
+ @angle:C2T-CM2-CTB @atom:*_b*_aC2T_d*_i* @atom:*_b*_aCM2_d*_i* @atom:*_b*_aCTB_d*_i*
+ @angle:CM2-CTB-CTBB @atom:*_b*_aCM2_d*_i* @atom:*_b*_aCTB_d*_i* @atom:*_b*_aCTBB_d*_i*
+ @angle:CM2R-CTBA-CMB @atom:*_b*_aCM2R_d*_i* @atom:*_b*_aCTBA_d*_i* @atom:*_b*_aCMB_d*_i*
+ @angle:CM2R-CTBA-CMDB @atom:*_b*_aCM2R_d*_i* @atom:*_b*_aCTBA_d*_i* @atom:*_b*_aCMDB_d*_i*
+ @angle:CM2R-CTBA-CMR @atom:*_b*_aCM2R_d*_i* @atom:*_b*_aCTBA_d*_i* @atom:*_b*_aCMR_d*_i*
+ @angle:CM2R-OAB-CMDB @atom:*_b*_aCM2R_d*_i* @atom:*_b*_aOAB_d*_i* @atom:*_b*_aCMDB_d*_i*
+ @angle:CMB-CMDB-CTBA @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCMDB_d*_i* @atom:*_b*_aCTBA_d*_i*
+ @angle:CMB-CMDB-OAB @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCMDB_d*_i* @atom:*_b*_aOAB_d*_i*
+ @angle:CMB-CMR5-CTBB @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCMR5_d*_i* @atom:*_b*_aCTBB_d*_i*
+ @angle:CMB-CTBA-CMDB @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCTBA_d*_i* @atom:*_b*_aCMDB_d*_i*
+ @angle:CMB-CTBA-CMR @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCTBA_d*_i* @atom:*_b*_aCMR_d*_i*
+ @angle:CMB-CTBB-CMR5 @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCTBB_d*_i* @atom:*_b*_aCMR5_d*_i*
+ @angle:CMB-CTBB-CMR @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCTBB_d*_i* @atom:*_b*_aCMR_d*_i*
+ @angle:CMB-CTBB-CTB @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCTBB_d*_i* @atom:*_b*_aCTB_d*_i*
+ @angle:CMDB-CMB-CMR5 @atom:*_b*_aCMDB_d*_i* @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCMR5_d*_i*
+ @angle:CMDB-CMB-CTBA @atom:*_b*_aCMDB_d*_i* @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCTBA_d*_i*
+ @angle:CMDB-CMB-CTBB @atom:*_b*_aCMDB_d*_i* @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCTBB_d*_i*
+ @angle:CMDB-CTBA-CMR @atom:*_b*_aCMDB_d*_i* @atom:*_b*_aCTBA_d*_i* @atom:*_b*_aCMR_d*_i*
+ @angle:CMR5-CNB-CTBA @atom:*_b*_aCMR5_d*_i* @atom:*_b*_aCNB_d*_i* @atom:*_b*_aCTBA_d*_i*
+ @angle:CMR5-CMB-CTBB @atom:*_b*_aCMR5_d*_i* @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCTBB_d*_i*
+ @angle:CMR5-CTBB-CTB @atom:*_b*_aCMR5_d*_i* @atom:*_b*_aCTBB_d*_i* @atom:*_b*_aCTB_d*_i*
+ @angle:CMR-CTBB-CMR5 @atom:*_b*_aCMR_d*_i* @atom:*_b*_aCTBB_d*_i* @atom:*_b*_aCMR5_d*_i*
+ @angle:CMR-CTBB-CTB @atom:*_b*_aCMR_d*_i* @atom:*_b*_aCTBB_d*_i* @atom:*_b*_aCTB_d*_i*
+ @angle:CTBA-CM2R-OAB @atom:*_b*_aCTBA_d*_i* @atom:*_b*_aCM2R_d*_i* @atom:*_b*_aOAB_d*_i*
+ @angle:CTBA-CMB-CTBB @atom:*_b*_aCTBA_d*_i* @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCTBB_d*_i*
+ @angle:CTBA-CMDB-OAB @atom:*_b*_aCTBA_d*_i* @atom:*_b*_aCMDB_d*_i* @atom:*_b*_aOAB_d*_i*
+ @angle:CTBA-CMR-CTBB @atom:*_b*_aCTBA_d*_i* @atom:*_b*_aCMR_d*_i* @atom:*_b*_aCTBB_d*_i*
+ @angle:CMB-CMR5-CTB @atom:*_b*_aCMB_d*_i* @atom:*_b*_aCMR5_d*_i* @atom:*_b*_aCTB_d*_i*
+ @angle:CTBB-CMR5-CTB @atom:*_b*_aCTBB_d*_i* @atom:*_b*_aCMR5_d*_i* @atom:*_b*_aCTB_d*_i*
+ @angle:CM2-CTB-CMR5 @atom:*_b*_aCM2_d*_i* @atom:*_b*_aCTB_d*_i* @atom:*_b*_aCMR5_d*_i*
+ @angle:CMR5-CTB-CTBB @atom:*_b*_aCMR5_d*_i* @atom:*_b*_aCTB_d*_i* @atom:*_b*_aCTBB_d*_i*
+ } # end of angles
+
+ write_once("In Init") {
+ # Warning: This is a very generic "In Init" section, further
+ # modification prior to any simulation is extremely likely
+ units real
+ atom_style full
+ bond_style hybrid harmonic
+ angle_style hybrid sdk
+ pair_style hybrid lj/sdk/coul/long 9.000000 12.000000
+ special_bonds lj/coul 0.0 0.0 0.0
+ } # end init
+} # SDK
diff --git a/tools/moltemplate/moltemplate/force_fields/sdk/SDK_lipidONLY.lt b/tools/moltemplate/moltemplate/force_fields/sdk/SDK_lipidONLY.lt
new file mode 100644
index 000000000..de1050943
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/sdk/SDK_lipidONLY.lt
@@ -0,0 +1,221 @@
+# Autogenerated by EMC 2 LT tool v0.2 on 2017-02-27
+#
+# ./emcprm2lt.py --pair-style=lj/sdk/coul/long --bond-style=harmonic --angle-style=harmonic sdk_lipids.prm --name=SDK_lipidONLY
+#
+# Adapted from EMC by Pieter J. in 't Veld
+# Originally written as, FFNAME:SDK STYLE:COARSE VERSION:1.0 on Oct 2014
+
+SDK {
+ write_once("Data Masses") {
+ @atom:CM 42.080400 # CM
+ @atom:CMD2 26.037800 # CMD2
+ @atom:CT 43.088300 # CT
+ @atom:CT2 29.061500 # CT2
+ @atom:EST1 58.036600 # EST1
+ @atom:EST2 58.036600 # EST2
+ @atom:GL 41.072500 # GL
+ @atom:NC 87.164400 # NC
+ @atom:NH 44.076100 # NH
+ @atom:PH 94.971600 # PH
+ @atom:PHE 94.971600 # PHE
+ @atom:W 54.045600 # W
+ } # end of atom masses
+
+ # ----- EQUIVALENCE CATEGORIES for bonded interaction lookup -----
+ replace{ @atom:CM @atom:CM_bCM_aCM_dCM_iCM}
+ replace{ @atom:CMD2 @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2}
+ replace{ @atom:CT @atom:CT_bCT_aCT_dCT_iCT}
+ replace{ @atom:CT2 @atom:CT2_bCT2_aCT2_dCT2_iCT2}
+ replace{ @atom:EST1 @atom:EST1_bEST1_aEST1_dEST1_iEST1}
+ replace{ @atom:EST2 @atom:EST2_bEST2_aEST2_dEST2_iEST2}
+ replace{ @atom:GL @atom:GL_bGL_aGL_dGL_iGL}
+ replace{ @atom:NC @atom:NC_bNC_aNC_dNC_iNC}
+ replace{ @atom:NH @atom:NH_bNH_aNH_dNH_iNH}
+ replace{ @atom:PH @atom:PH_bPH_aPH_dPH_iPH}
+ replace{ @atom:PHE @atom:PHE_bPHE_aPHE_dPHE_iPHE}
+ replace{ @atom:W @atom:W_bW_aW_dW_iW}
+ # END EQUIVALENCE
+
+ write_once("In Settings") {
+ # ----- Non-Bonded interactions -----
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CM_bCM_aCM_dCM_iCM lj9_6 0.420000 4.506000 # CM-CM
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 lj9_6 0.312000 4.255500 # CM-CMD2
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CT_bCT_aCT_dCT_iCT lj9_6 0.444000 4.545500 # CM-CT
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:CT2_bCT2_aCT2_dCT2_iCT2 lj9_6 0.362000 4.363500 # CM-CT2
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.470000 4.403000 # CM-EST1
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.470000 4.403000 # CM-EST2
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.420000 4.506000 # CM-GL
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.400000 5.128000 # CM-NC
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.330000 4.553000 # CM-NH
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.300000 4.953000 # CM-PH
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 0.300000 4.953000 # CM-PHE
+ pair_coeff @atom:CM_bCM_aCM_dCM_iCM @atom:W_bW_aW_dW_iW lj12_4 0.340000 4.438500 # CM-W
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 lj9_6 0.232000 4.005000 # CMD2-CMD2
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:CT_bCT_aCT_dCT_iCT lj9_6 0.330000 4.295000 # CMD2-CT
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:CT2_bCT2_aCT2_dCT2_iCT2 lj9_6 0.269000 4.113000 # CMD2-CT2
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.440000 4.005000 # CMD2-EST1
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.440000 4.005000 # CMD2-EST2
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.312000 4.255500 # CMD2-GL
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.350000 4.877500 # CMD2-NC
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.300000 4.302500 # CMD2-NH
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.300000 4.702500 # CMD2-PH
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 0.300000 4.702500 # CMD2-PHE
+ pair_coeff @atom:CMD2_bCMD2_aCMD2_dCMD2_iCMD2 @atom:W_bW_aW_dW_iW lj12_4 0.270000 4.188000 # CMD2-W
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:CT_bCT_aCT_dCT_iCT lj9_6 0.469000 4.585000 # CT-CT
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:CT2_bCT2_aCT2_dCT2_iCT2 lj9_6 0.383000 4.403000 # CT-CT2
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.470000 4.442500 # CT-EST1
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.470000 4.442500 # CT-EST2
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.444000 4.545500 # CT-GL
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.420000 5.167500 # CT-NC
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.340000 4.925000 # CT-NH
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.320000 4.992500 # CT-PH
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 0.320000 4.992500 # CT-PHE
+ pair_coeff @atom:CT_bCT_aCT_dCT_iCT @atom:W_bW_aW_dW_iW lj12_4 0.360000 4.478000 # CT-W
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:CT2_bCT2_aCT2_dCT2_iCT2 lj9_6 0.312000 4.221000 # CT2-CT2
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.390000 4.260500 # CT2-EST1
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.390000 4.260500 # CT2-EST2
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.362000 4.365000 # CT2-GL
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.320000 4.985500 # CT2-NC
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.320000 4.410500 # CT2-NH
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.280000 4.810500 # CT2-PH
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 0.280000 4.810500 # CT2-PHE
+ pair_coeff @atom:CT2_bCT2_aCT2_dCT2_iCT2 @atom:W_bW_aW_dW_iW lj12_4 0.290000 4.296000 # CT2-W
+ pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:EST1_bEST1_aEST1_dEST1_iEST1 lj9_6 0.495000 4.300000 # EST1-EST1
+ pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.495000 4.300000 # EST1-EST2
+ pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.470000 4.403000 # EST1-GL
+ pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.750000 4.475000 # EST1-NC
+ pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.850000 4.110000 # EST1-NH
+ pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.500000 4.550000 # EST1-PH
+ pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 0.500000 4.550000 # EST1-PHE
+ pair_coeff @atom:EST1_bEST1_aEST1_dEST1_iEST1 @atom:W_bW_aW_dW_iW lj12_4 0.820000 4.290000 # EST1-W
+ pair_coeff @atom:EST2_bEST2_aEST2_dEST2_iEST2 @atom:EST2_bEST2_aEST2_dEST2_iEST2 lj9_6 0.495000 4.300000 # EST2-EST2
+ pair_coeff @atom:EST2_bEST2_aEST2_dEST2_iEST2 @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.470000 4.403000 # EST2-GL
+ pair_coeff @atom:EST2_bEST2_aEST2_dEST2_iEST2 @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.750000 4.475000 # EST2-NC
+ pair_coeff @atom:EST2_bEST2_aEST2_dEST2_iEST2 @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.850000 4.110000 # EST2-NH
+ pair_coeff @atom:EST2_bEST2_aEST2_dEST2_iEST2 @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.500000 4.550000 # EST2-PH
+ pair_coeff @atom:EST2_bEST2_aEST2_dEST2_iEST2 @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 0.500000 4.550000 # EST2-PHE
+ pair_coeff @atom:EST2_bEST2_aEST2_dEST2_iEST2 @atom:W_bW_aW_dW_iW lj12_4 0.820000 4.290000 # EST2-W
+ pair_coeff @atom:GL_bGL_aGL_dGL_iGL @atom:GL_bGL_aGL_dGL_iGL lj9_6 0.420000 4.506000 # GL-GL
+ pair_coeff @atom:GL_bGL_aGL_dGL_iGL @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.650000 4.620000 # GL-NC
+ pair_coeff @atom:GL_bGL_aGL_dGL_iGL @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.750000 4.190000 # GL-NH
+ pair_coeff @atom:GL_bGL_aGL_dGL_iGL @atom:PH_bPH_aPH_dPH_iPH lj9_6 0.300000 4.750000 # GL-PH
+ pair_coeff @atom:GL_bGL_aGL_dGL_iGL @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 0.300000 4.750000 # GL-PHE
+ pair_coeff @atom:GL_bGL_aGL_dGL_iGL @atom:W_bW_aW_dW_iW lj12_4 0.640000 4.438500 # GL-W
+ pair_coeff @atom:NC_bNC_aNC_dNC_iNC @atom:NC_bNC_aNC_dNC_iNC lj9_6 0.700000 5.750000 # NC-NC
+ pair_coeff @atom:NC_bNC_aNC_dNC_iNC @atom:NH_bNH_aNH_dNH_iNH lj9_6 0.880000 5.175000 # NC-NH
+ pair_coeff @atom:NC_bNC_aNC_dNC_iNC @atom:PH_bPH_aPH_dPH_iPH lj9_6 1.150000 4.200000 # NC-PH
+ pair_coeff @atom:NC_bNC_aNC_dNC_iNC @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 1.150000 4.200000 # NC-PHE
+ pair_coeff @atom:NC_bNC_aNC_dNC_iNC @atom:W_bW_aW_dW_iW lj12_4 0.900000 4.610000 # NC-W
+ pair_coeff @atom:NH_bNH_aNH_dNH_iNH @atom:NH_bNH_aNH_dNH_iNH lj9_6 1.100000 4.600000 # NH-NH
+ pair_coeff @atom:NH_bNH_aNH_dNH_iNH @atom:PH_bPH_aPH_dPH_iPH lj9_6 1.200000 3.800000 # NH-PH
+ pair_coeff @atom:NH_bNH_aNH_dNH_iNH @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 1.200000 3.800000 # NH-PHE
+ pair_coeff @atom:NH_bNH_aNH_dNH_iNH @atom:W_bW_aW_dW_iW lj12_4 0.800000 3.950000 # NH-W
+ pair_coeff @atom:PH_bPH_aPH_dPH_iPH @atom:PH_bPH_aPH_dPH_iPH lj9_6 1.400000 5.400000 # PH-PH
+ pair_coeff @atom:PH_bPH_aPH_dPH_iPH @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 1.400000 5.000000 # PH-PHE
+ pair_coeff @atom:PH_bPH_aPH_dPH_iPH @atom:W_bW_aW_dW_iW lj12_4 1.000000 4.030000 # PH-W
+ pair_coeff @atom:PHE_bPHE_aPHE_dPHE_iPHE @atom:PHE_bPHE_aPHE_dPHE_iPHE lj9_6 1.400000 4.600000 # PHE-PHE
+ pair_coeff @atom:PHE_bPHE_aPHE_dPHE_iPHE @atom:W_bW_aW_dW_iW lj12_4 1.000000 4.030000 # PHE-W
+ pair_coeff @atom:W_bW_aW_dW_iW @atom:W_bW_aW_dW_iW lj12_4 0.895000 4.371000 # W-W
+ } # end of nonbonded parameters
+
+ write_once("In Settings") {
+ # ----- Bonds -----
+ bond_coeff @bond:CM-CM harmonic 3.080000 3.640000
+ bond_coeff @bond:CM-CMD2 harmonic 4.000000 3.030000
+ bond_coeff @bond:CM-CT harmonic 3.080000 3.650000
+ bond_coeff @bond:CM-CT2 harmonic 4.500000 3.130000
+ bond_coeff @bond:CM-EST1 harmonic 2.350000 3.550000
+ bond_coeff @bond:CM-EST2 harmonic 2.550000 3.610000
+ bond_coeff @bond:CM-PHE harmonic 6.000000 3.690000
+ bond_coeff @bond:CM-SO4 harmonic 5.500000 3.630000
+ bond_coeff @bond:CMD2-CT harmonic 4.000000 3.090000
+ bond_coeff @bond:CMD2-CT2 harmonic 30.000000 2.540000
+ bond_coeff @bond:CT-CT harmonic 3.477500 3.710000
+ bond_coeff @bond:EST1-GL harmonic 15.000000 2.880000
+ bond_coeff @bond:EST2-GL harmonic 4.200000 3.480000
+ bond_coeff @bond:GL-PHE harmonic 4.450000 3.520000
+ bond_coeff @bond:NC-PHE harmonic 2.400000 4.250000
+ bond_coeff @bond:NH-PHE harmonic 4.700000 3.600000
+ bond_coeff @bond:PHE1-PHE2 harmonic 1.250000 150.000000
+ }
+
+ write_once("Data Bonds By Type") {
+ @bond:CM-CM @atom:*_bCM_a*_d*_i* @atom:*_bCM_a*_d*_i*
+ @bond:CM-CMD2 @atom:*_bCM_a*_d*_i* @atom:*_bCMD2_a*_d*_i*
+ @bond:CM-CT @atom:*_bCM_a*_d*_i* @atom:*_bCT_a*_d*_i*
+ @bond:CM-CT2 @atom:*_bCM_a*_d*_i* @atom:*_bCT2_a*_d*_i*
+ @bond:CM-EST1 @atom:*_bCM_a*_d*_i* @atom:*_bEST1_a*_d*_i*
+ @bond:CM-EST2 @atom:*_bCM_a*_d*_i* @atom:*_bEST2_a*_d*_i*
+ @bond:CM-PHE @atom:*_bCM_a*_d*_i* @atom:*_bPHE_a*_d*_i*
+ @bond:CM-SO4 @atom:*_bCM_a*_d*_i* @atom:*_bSO4_a*_d*_i*
+ @bond:CMD2-CT @atom:*_bCMD2_a*_d*_i* @atom:*_bCT_a*_d*_i*
+ @bond:CMD2-CT2 @atom:*_bCMD2_a*_d*_i* @atom:*_bCT2_a*_d*_i*
+ @bond:CT-CT @atom:*_bCT_a*_d*_i* @atom:*_bCT_a*_d*_i*
+ @bond:EST1-GL @atom:*_bEST1_a*_d*_i* @atom:*_bGL_a*_d*_i*
+ @bond:EST2-GL @atom:*_bEST2_a*_d*_i* @atom:*_bGL_a*_d*_i*
+ @bond:GL-PHE @atom:*_bGL_a*_d*_i* @atom:*_bPHE_a*_d*_i*
+ @bond:NC-PHE @atom:*_bNC_a*_d*_i* @atom:*_bPHE_a*_d*_i*
+ @bond:NH-PHE @atom:*_bNH_a*_d*_i* @atom:*_bPHE_a*_d*_i*
+ @bond:PHE1-PHE2 @atom:*_bPHE1_a*_d*_i* @atom:*_bPHE2_a*_d*_i*
+ } # end of bonds
+
+ write_once("In Settings") {
+ # ----- Angles -----
+ angle_coeff @angle:CM-CM-CM harmonic 1.190000 173.000000
+ angle_coeff @angle:CM-CM-CMD2 harmonic 1.900000 161.000000
+ angle_coeff @angle:CM-CM-CT harmonic 1.190000 175.000000
+ angle_coeff @angle:CM-CM-CT2 harmonic 1.600000 172.000000
+ angle_coeff @angle:CM-CM-EST1 harmonic 1.000000 178.000000
+ angle_coeff @angle:CM-CM-EST2 harmonic 1.000000 178.000000
+ angle_coeff @angle:CM-CM-PHE harmonic 1.100000 178.000000
+ angle_coeff @angle:CM-CMD2-CM harmonic 6.000000 110.000000
+ angle_coeff @angle:CM-EST1-GL harmonic 0.800000 168.000000
+ angle_coeff @angle:CM-EST2-GL harmonic 0.800000 172.000000
+ angle_coeff @angle:CM-PHE-NC harmonic 3.300000 112.000000
+ angle_coeff @angle:CT-CM-CT harmonic 1.093000 175.500000
+ angle_coeff @angle:CT-CM-CT2 harmonic 1.600000 172.000000
+ angle_coeff @angle:CT-CMD2-CT harmonic 7.700000 116.000000
+ angle_coeff @angle:CT2-CM-CT2 harmonic 1.700000 173.000000
+ angle_coeff @angle:CT2-CMD2-CT2 harmonic 12.000000 110.000000
+ angle_coeff @angle:EST1-GL-EST2 harmonic 1.000000 95.000000
+ angle_coeff @angle:EST1-GL-PHE harmonic 1.400000 124.000000
+ angle_coeff @angle:EST2-GL-PHE harmonic 2.000000 138.000000
+ angle_coeff @angle:GL-PHE-NC harmonic 3.100000 112.000000
+ angle_coeff @angle:GL-PHE-NH harmonic 4.000000 102.000000
+ }
+
+ write_once("Data Angles By Type") {
+ @angle:CM-CM-CM @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i*
+ @angle:CM-CM-CMD2 @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aCMD2_d*_i*
+ @angle:CM-CM-CT @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aCT_d*_i*
+ @angle:CM-CM-CT2 @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aCT2_d*_i*
+ @angle:CM-CM-EST1 @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aEST1_d*_i*
+ @angle:CM-CM-EST2 @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aEST2_d*_i*
+ @angle:CM-CM-PHE @atom:*_b*_aCM_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aPHE_d*_i*
+ @angle:CM-CMD2-CM @atom:*_b*_aCM_d*_i* @atom:*_b*_aCMD2_d*_i* @atom:*_b*_aCM_d*_i*
+ @angle:CM-EST1-GL @atom:*_b*_aCM_d*_i* @atom:*_b*_aEST1_d*_i* @atom:*_b*_aGL_d*_i*
+ @angle:CM-EST2-GL @atom:*_b*_aCM_d*_i* @atom:*_b*_aEST2_d*_i* @atom:*_b*_aGL_d*_i*
+ @angle:CM-PHE-NC @atom:*_b*_aCM_d*_i* @atom:*_b*_aPHE_d*_i* @atom:*_b*_aNC_d*_i*
+ @angle:CT-CM-CT @atom:*_b*_aCT_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aCT_d*_i*
+ @angle:CT-CM-CT2 @atom:*_b*_aCT_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aCT2_d*_i*
+ @angle:CT-CMD2-CT @atom:*_b*_aCT_d*_i* @atom:*_b*_aCMD2_d*_i* @atom:*_b*_aCT_d*_i*
+ @angle:CT2-CM-CT2 @atom:*_b*_aCT2_d*_i* @atom:*_b*_aCM_d*_i* @atom:*_b*_aCT2_d*_i*
+ @angle:CT2-CMD2-CT2 @atom:*_b*_aCT2_d*_i* @atom:*_b*_aCMD2_d*_i* @atom:*_b*_aCT2_d*_i*
+ @angle:EST1-GL-EST2 @atom:*_b*_aEST1_d*_i* @atom:*_b*_aGL_d*_i* @atom:*_b*_aEST2_d*_i*
+ @angle:EST1-GL-PHE @atom:*_b*_aEST1_d*_i* @atom:*_b*_aGL_d*_i* @atom:*_b*_aPHE_d*_i*
+ @angle:EST2-GL-PHE @atom:*_b*_aEST2_d*_i* @atom:*_b*_aGL_d*_i* @atom:*_b*_aPHE_d*_i*
+ @angle:GL-PHE-NC @atom:*_b*_aGL_d*_i* @atom:*_b*_aPHE_d*_i* @atom:*_b*_aNC_d*_i*
+ @angle:GL-PHE-NH @atom:*_b*_aGL_d*_i* @atom:*_b*_aPHE_d*_i* @atom:*_b*_aNH_d*_i*
+ } # end of angles
+
+ write_once("In Init") {
+ # Warning: This is a very generic "In Init" section, further
+ # modification prior to any simulation is extremely likely
+ units real
+ atom_style full
+ bond_style hybrid harmonic
+ angle_style hybrid harmonic
+ pair_style hybrid lj/sdk/coul/long 9.000000 12.000000
+ special_bonds lj/coul 0.0 0.0 0.0
+ } # end init
+} # SDK
diff --git a/tools/moltemplate/moltemplate/force_fields/sdk/emcprm2lt.py b/tools/moltemplate/moltemplate/force_fields/sdk/emcprm2lt.py
new file mode 100755
index 000000000..c924ce64e
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/sdk/emcprm2lt.py
@@ -0,0 +1,613 @@
+#!/usr/bin/python
+
+import os, sys, getopt
+import datetime
+
+__version__ = 0.2
+
+#################### UNITS ####################
+# Only used with --units flag
+econv = 1.0 # Additional Factor for unit conversion if needed (energies)
+lconv = 1.0 # Additional Factor for unit conversion if neededa (lengths)
+dconv = 1.0 # Additional Factor for unit conversion if neededa (densities)
+###############################################
+
+print('\nEMC 2 LT conversion tool: v%s\n' % __version__)
+
+def helpme():
+ print 'Help for the EMC 2 LT conversion tool\n'
+ print 'Input takes a list of files in EMC .prm format to be read.'
+ print 'Additional styles (bond, angle, etc) can be modified via the',\
+ 'command line. Any valid LAMMPS style can be used.\n'
+ print 'Styles include:'
+ print '--pair-style='
+ print '--bond-style='
+ print '--angle-style='
+ print '--dihedral-style='
+ print '--improper-style=\n'
+ print 'Default styles are lj/cut/coul/long, harmonic, harmonic, harmonic,',\
+ 'harmonic \n'
+ print 'Other commands:'
+ print '--name= provides basename for output file if desired\n'
+ print '--units flag for manual units (no parameter needed)\n'
+ print 'Usage example:'
+ print 'emcprm2lt.py file1 file2 --bond-style=harmonic --angle-style=harmonic'
+ print ''
+
+def Abort():
+ print 'Aborting...'
+ sys.exit()
+
+def WriteInit():
+# Write generic LAMMPS settings, likely need additional on a per-ff basis
+ foutput.write(' write_once("In Init") {\n')
+ foutput.write(' # Warning: This is a very generic "In Init" section, further\n')
+ foutput.write(' # modification prior to any simulation is extremely likely\n')
+ foutput.write(' units real\n')
+ foutput.write(' atom_style full\n')
+ foutput.write(' bond_style hybrid %s\n' % bstyle)
+ if angle_flag:
+ foutput.write(' angle_style hybrid %s\n' % astyle)
+ if torsion_flag:
+ foutput.write(' dihedral_style hybrid %s\n' % dstyle)
+ if improp_flag:
+ foutput.write(' improper_style hybrid %s\n' % istyle)
+ foutput.write(' pair_style hybrid %s %f %f\n' % (pstyle,
+ float(inner[0])*lconv, float(cutoff[0])*lconv))
+ if pair14[0] == 'OFF':
+ foutput.write(' special_bonds lj/coul 0.0 0.0 0.0\n')
+ else:
+ print 'Warning: special_bonds needed, add to "In Init" section\n'
+ foutput.write(' } # end init\n')
+
+def Units(length_flag, energy_flag, density_flag):
+# Check flags for all units, determine what conversions are needed, hard-coded for LAMMPS 'real'
+ print 'Attempting to auto-convert units... This should always be double-checked',\
+ ' especially for unique potential styles'
+ global lconv; global econv; global dconv
+ if length_flag:
+ print 'Warning: length scale does not match LAMMPS real units, attempting conversion to angstroms'
+ if length[0] == 'NANOMETER':
+ lconv = 10.0
+ print ' nanometer -> angstrom'
+ elif length[0] == 'MICROMETER':
+ lconv = 10000.0
+ print ' micrometer -> angstrom'
+ elif length[0] == 'METER':
+ lconv = 10000000000.0
+ print ' meter -> angstrom'
+ else:
+ print 'Length units NOT converted'
+ if energy_flag:
+ print 'Warning: energy units do not match LAMMPS real units, attempting conversion to kcal/mol'
+ if energy[0] == 'KJ/MOL':
+ econv = 0.239006
+ print ' kj/mol -> kcal/mol'
+ elif energy[0] == 'J/MOL':
+ econv = 0.000239006
+ print ' j/mol -> kcal/mol'
+ elif energy[0] == 'CAL/MOL':
+ econv = 0.001
+ print ' cal/mol -> kcal/mol'
+ else:
+ print 'Energy units NOT converted'
+ if density_flag:
+ print 'Warning: density units do not match LAMMPS real units, attempting conversion to gram/cm^3'
+ if density[0] == 'KG/M^3':
+ dconv = 0.001
+ print ' kg/m^3 -> g/cm^3'
+ else:
+ print 'Density units NOT converted'
+ return lconv, econv, dconv
+
+def ChkPotential(manual_flag, angle_flag, torsion_flag, improp_flag):
+# Check type of potential, determine type of unit conversion is necessary
+ global beconv
+ if angle_flag:
+ global aeconv
+ if torsion_flag:
+ global deconv
+ if improp_flag:
+ global ieconv
+ if manual_flag == False:
+ # Chk bond potential
+ if bstyle == '' or bstyle == 'harmonic':
+ beconv = econv / (2*pow(lconv,2))
+ else:
+ print 'Cannot find bond potential type, use manual units'
+ Abort()
+ if angle_flag:
+ if astyle == '' or astyle == 'harmonic':
+ aeconv = econv
+ elif astyle == 'cosine/squared':
+ aeconv = econv / 2
+ elif astyle == 'sdk':
+ aeconv = econv
+ else:
+ print 'Cannot find angle potential type, use manual units'
+ Abort()
+ # torsion and improper not implemented fully
+ elif torsion_flag:
+ if dstyle == '' or dstyle == 'harmonic':
+ deconv = econv
+ else:
+ print 'Cannot find torsion potential type, use manual units'
+ Abort()
+ elif improp_flag:
+ if istyle == '' or istyle == 'harmonic':
+ ieconv = econv
+ else:
+ print 'Cannot find improper potential type, use manual units'
+ Abort()
+ else:
+ # Modify as needed
+ print 'Warning: Manual units used, set potential conversion units in script'
+ beconv = 1
+ if angle_flag:
+ aeconv = 1
+ if torsion_flag:
+ deconv = 1
+ if improp_flag:
+ ieconv = 1
+
+
+### Parse input ###
+if len(sys.argv) == 1:
+ helpme()
+ sys.exit()
+manual_units = False # Turned on via command line
+args = list(sys.argv[1:])
+myopts, args = getopt.gnu_getopt(args, 'fh', ['pair-style=', 'bond-style=', 'angle-style=',
+ 'dihedral-style=', 'improper-style=', 'name=', 'units'])
+filenames = list(args)
+pstyle = ''; bstyle = ''; astyle = ''; dstyle = ''; istyle = ''
+name = ''
+for opt, arg in myopts:
+ if opt in ('-f'):
+ filenames = arg
+ elif opt in ('--pair-style'):
+ pstyle = arg
+ elif opt in ('--bond-style'):
+ bstyle = arg
+ elif opt in ('--angle-style'):
+ astyle = arg
+ elif opt in ('--dihedral-style'):
+ dstyle = arg
+ elif opt in ('--improper-style'):
+ istyle = arg
+ elif opt in ('--name'):
+ name = arg
+ elif opt in ('--units'):
+ manual_units = True
+ print 'Manual units enabled, modify python script accordingly'
+ elif opt in ('-h', '--help'):
+ helpme()
+ sys.exit()
+
+### Check input filenames, make sure they exist ###
+print 'Converting: '
+for i in range(len(filenames)):
+ if os.path.isfile(filenames[i]):
+ print '', filenames[i]
+ else:
+ print 'invalid filename:', filenames[i]
+ Abort()
+print 'from EMC .prm to moltemplate .lt format\n'
+
+### Open all files ###
+f = [open(fname, 'r') for fname in filenames]
+
+### All these settings from DEFINE should be list of fixed size ###
+ffname = [[] for i in range(len(f))]
+fftype = [[] for i in range(len(f))]
+version = [[] for i in range(len(f))]
+created1 = [[] for i in range(len(f))]
+created2 = [[] for i in range(len(f))]
+length = [[] for i in range(len(f))]
+energy = [[] for i in range(len(f))]
+density = [[] for i in range(len(f))]
+mix = [[] for i in range(len(f))]
+nbonded = [[] for i in range(len(f))]
+inner = [[] for i in range(len(f))]
+cutoff = [[] for i in range(len(f))]
+pair14 = [[] for i in range(len(f))]
+angle_def = [[] for i in range(len(f))]
+torsion_def = [[] for i in range(len(f))]
+improp_def = [[] for i in range(len(f))] # not all prm have this
+
+### Parse DEFINE section, save info for each file ###
+for i in range(len(f)):
+ grab = False
+ for line in f[i]:
+ if line.strip() == 'ITEM DEFINE':
+ grab = True
+ elif line.strip() == 'ITEM END':
+ grab = False
+ elif grab:
+ if line.startswith('FFNAME'):
+ ffname[i] = line.split()[1].strip()
+ if line.startswith('FFTYPE'):
+ fftype[i] = line.split()[1].strip()
+ if line.startswith('VERSION'):
+ version[i] = line.split()[1].strip()
+ if line.startswith('CREATED'):
+ created1[i] = line.split()[1].strip()
+ created2[i] = line.split()[2].strip()
+ if line.startswith('LENGTH'):
+ length[i] = line.split()[1].strip()
+ if line.startswith('ENERGY'):
+ energy[i] = line.split()[1].strip()
+ if line.startswith('DENSITY'):
+ density[i] = line.split()[1].strip()
+ if line.startswith('MIX'):
+ mix[i] = line.split()[1].strip()
+ if line.startswith('NBONDED'):
+ nbonded[i] = line.split()[1].strip()
+ if line.startswith('INNER'):
+ inner[i] = line.split()[1].strip()
+ if line.startswith('CUTOFF'):
+ cutoff[i] = line.split()[1].strip()
+ if line.startswith('PAIR14'):
+ pair14[i] = line.split()[1].strip()
+ if line.startswith('ANGLE'):
+ angle_def[i] = line.split()[1].strip()
+ if line.startswith('TORSION'):
+ torsion_def[i] = line.split()[1].strip()
+ if line.startswith('IMPROP'):
+ improp_def[i] = line.split()[1].strip()
+
+### Sanity Checks ###
+for i in range(len(f)):
+ for j in range(len(f)):
+ if ffname[j] != ffname[i]:
+ print 'force field files do not match'
+ Abort()
+ if length[j] != length[i]:
+ print 'units not identical between files'
+ Abort()
+ if energy[j] != energy[i]:
+ print 'units not identical between files'
+ Abort()
+ if density[j] != density[i]:
+ print 'units not identical between files'
+ Abort()
+ if inner[j] != inner[i]:
+ print 'inner cutoff not identical between files'
+ Abort()
+ if cutoff[j] != cutoff[i]:
+ print 'cutoff not identical between files'
+ Abort()
+ if pair14[j] != pair14[i]:
+ print '1-4 pair interaction not consistent between files'
+ Abort()
+
+### Check if sections exist in PRM file ###
+angle_flag = False; torsion_flag = False; improp_flag = False
+for i in range(len(f)):
+ if angle_def[i] == 'WARN':
+ angle_flag = True
+ if torsion_def[i] == 'WARN':
+ torsion_flag = True
+ if improp_def[i] == 'WARN':
+ improp_flag = True
+
+### Check which units to use, trip convert flags ###
+length_flag = False; energy_flag = False; density_flag = False
+if length[0] != 'ANGSTROM':
+ length_flag = True
+if energy[0] != 'KCAL/MOL':
+ energy_flag = True
+if density[0] != 'G/CC':
+ density_flag = True
+if manual_units == True:
+ length_flag = False
+ energy_flag = False
+ density_flag = False
+Units(length_flag, energy_flag, density_flag)
+
+### Read Whole File, save to lists ###
+# Non-crucial sections include
+# BONDS, ANGLE, TORSION, IMPROP, NONBOND
+# Read all sections every time, only output sections when flags tripped
+f = [open(fname, 'r') for fname in filenames]
+masses = []; nonbond = []; bond = []; angle = []; torsion = []; improp = []
+equiv = []
+for i in range(len(f)):
+ MASS = False
+ NONBOND = False
+ BOND = False
+ ANGLE = False
+ TORSION = False
+ IMPROP = False
+ EQUIV = False
+ for line in f[i]:
+ if line.strip() == 'ITEM MASS':
+ MASS = True
+ elif line.strip() == 'ITEM END':
+ MASS = False
+ elif MASS:
+ if not line.startswith('#'):
+ if not line.startswith('\n'):
+ masses.append(line.strip().split())
+ if line.strip() == 'ITEM NONBOND':
+ NONBOND = True
+ elif line.strip() == 'ITEM END':
+ NONBOND = False
+ elif NONBOND:
+ if not line.startswith('#'):
+ if not line.startswith('\n'):
+ nonbond.append(line.strip().split())
+ if line.strip() == 'ITEM BOND':
+ BOND = True
+ elif line.strip() == 'ITEM END':
+ BOND = False
+ elif BOND:
+ if not line.startswith('#'):
+ if not line.startswith('\n'):
+ bond.append(line.strip().split())
+ if line.strip() == 'ITEM ANGLE':
+ ANGLE = True
+ elif line.strip() == 'ITEM END':
+ ANGLE = False
+ elif ANGLE:
+ if not line.startswith('#'):
+ if not line.startswith('\n'):
+ angle.append(line.strip().split())
+ if line.strip() == 'ITEM TORSION':
+ TORSION = True
+ elif line.strip() == 'ITEM END':
+ TORSION = False
+ elif TORSION:
+ if not line.startswith('#'):
+ if not line.startswith('\n'):
+ torsion.append(line.strip().split())
+ if line.strip() == 'ITEM IMPROP':
+ IMPROP = True
+ elif line.strip() == 'ITEM END':
+ IMPROP = False
+ elif IMPROP:
+ if not line.startswith('#'):
+ if not line.startswith('\n'):
+ improp.append(line.strip().split())
+ if line.strip() == 'ITEM EQUIVALENCE':
+ EQUIV = True
+ elif line.strip() == 'ITEM END':
+ EQUIV = False
+ elif EQUIV:
+ if not line.startswith('#'):
+ if not line.startswith('\n'):
+ equiv.append(line.strip().split())
+### Close prm files ###
+for fname in f:
+ fname.close()
+
+### Sanity checks before writing LT files ###
+# Check Equiv
+for i in range(len(equiv)):
+ for j in range(len(equiv)):
+ if (equiv[i][0] == equiv[j][0]) and (equiv[i] != equiv[j]):
+ print 'Error: Identical atom types with different equivalences'
+ Abort()
+# Check Masses
+for i in range(len(masses)):
+ for j in range(len(masses)):
+ if (masses[i][0] == masses[j][0]) and (masses[i][1] != masses[j][1]):
+ print 'Error: Identical types with different mass'
+ Abort()
+# Check Nonbond
+for i in range(len(nonbond)):
+ for j in range(len(nonbond)):
+ if (nonbond[i][0] == nonbond[j][0]) and (nonbond[i][1] == nonbond[j][1]) and ((nonbond[i][2] != nonbond[j][2]) or (nonbond[i][3] != nonbond[j][3])):
+ print nonbond[i], nonbond[j]
+ print 'Error: Identical types with different pair-interactions'
+ Abort()
+
+### Remove double equivalences ###
+for i in range(len(equiv)):
+ once = True
+ for j in range(len(equiv)):
+ if (equiv[i][0] == equiv[j][0]) and once:
+ once = False
+ elif (equiv[i][0] == equiv[j][0]):
+ equiv[j][1] = None
+ equiv[j][2] = 'duplicate'
+ if len(equiv[i]) != 6:
+ print 'Warning: Incorrect equivalence formatting for type %s' % equiv[i][0],\
+ 'skipping type, topology may not be complete'
+ equiv[i][1] = None
+ equiv[i][2] = 'invalid_format'
+
+### Check Potential Styles and Set Units ###
+ChkPotential(manual_units, angle_flag, torsion_flag, improp_flag)
+
+### Set output LT file ###
+fname = 'ff_output.lt'
+if name == '':
+ fname = ffname[0] + '.lt'
+else:
+ fname = name + '.lt'
+foutput = open(fname, 'w')
+
+### Output to LT format ###
+foutput.write('# Autogenerated by EMC 2 LT tool v%s on %s\n' % (__version__, str(datetime.date.today())))
+foutput.write('#\n# ')
+for i in range(len(sys.argv)):
+ foutput.write('%s ' % sys.argv[i])
+foutput.write('\n')
+foutput.write('#\n')
+foutput.write('# Adapted from EMC by Pieter J. in \'t Veld\n')
+foutput.write('# Originally written as, FFNAME:%s STYLE:%s VERSION:%s on %s %s\n' %
+ (ffname[0], fftype[0], version[0], created1[0], created2[0]))
+foutput.write('\n')
+foutput.write('%s {\n' % ffname[0])
+
+# Charges not necessary? emc file assign charges in smiles, which would
+# be in the per-molecule files created by moltemplate user... not here
+
+### Mass Info ###
+foutput.write(' write_once("Data Masses") {\n')
+for i in range(len(masses)):
+ if equiv[i][1] != None:
+ foutput.write(' @atom:%s %f # %s\n' %
+ (masses[i][0], float(masses[i][1]), masses[i][0]))
+foutput.write(' } # end of atom masses\n\n')
+
+### Equiv Info ###
+# Write Equivalence
+foutput.write(' # ----- EQUIVALENCE CATEGORIES for bonded interaction lookup -----\n')
+for i in range(len(equiv)):
+ if equiv[i][1] != None:
+ foutput.write(' replace{ @atom:%s @atom:%s_b%s_a%s_d%s_i%s}\n' %
+ (equiv[i][0], equiv[i][0], equiv[i][2], equiv[i][3], equiv[i][4], equiv[i][5]))
+foutput.write(' # END EQUIVALENCE\n\n')
+# Sanity check equivalences vs masses
+for i in range(len(equiv)):
+ check = None
+ for j in range(len(masses)):
+ if equiv[i][0] == masses[j][0]:
+ check = 'success'
+ if check == None:
+ print equiv[i], masses[j]
+ print 'Atom defined in Equivlances, but not found in Masses'
+ Abort()
+# Sanity check masses vs equivalences
+for i in range(len(masses)):
+ check = None
+ for j in range(len(masses)):
+ if masses[i][0] == equiv[j][0]:
+ check = 'success'
+ if check == None:
+ print masses[i], equiv[j]
+ print 'Atom defined in Masses, but not found in Equivlances'
+ Abort()
+
+### Nonbonded Info ###
+if pstyle == '':
+ print 'Warning: no non-bonded potential provided, assuming lj/cut/coul/long'
+ pstyle = 'lj/cut/coul/long'
+foutput.write(' write_once("In Settings") {\n')
+foutput.write(' # ----- Non-Bonded interactions -----\n')
+# Add new types from equivalence
+for i in range(len(equiv)):
+ once = True
+ for j in range(len(nonbond)):
+ # Get terms for new types
+ if (equiv[i][0] != equiv[i][1]) and (equiv[i][1] == nonbond[j][0]):
+ if not equiv[i][1] == nonbond[j][1]:
+ line = '%s %s %s %s' % (equiv[i][0], nonbond[j][1], nonbond[j][2], nonbond[j][3])
+ nonbond.append(line.split())
+ if once:
+ once = False
+ line = '%s %s %s %s' % (equiv[i][0], equiv[i][0], nonbond[j][2], nonbond[j][3])
+ nonbond.append(line.split())
+ if (equiv[i][0] != equiv[i][1]) and (equiv[i][1] == nonbond[j][1]):
+ line = '%s %s %s %s' % (equiv[i][0], nonbond[j][0], nonbond[j][2], nonbond[j][3])
+ if line.split() != nonbond[-1]:
+ nonbond.append(line.split())
+for i in range(len(nonbond)):
+ atom1name = None
+ atom2name = None
+ stylename = pstyle
+ if pstyle == 'lj/sdk' or 'lj/sdk/coul/long':
+ stylename = 'lj%s_%s' % (nonbond[i][4], nonbond[i][5])
+ # Cross Terms + Diagonal, normal
+ for j in range(len(equiv)):
+ if nonbond[i][0] == equiv[j][0]:
+ atom1name = '%s_b%s_a%s_d%s_i%s' % (nonbond[i][0], equiv[j][2], equiv[j][3], equiv[j][4], equiv[j][5])
+ if nonbond[i][1] == equiv[j][0]:
+ atom2name = '%s_b%s_a%s_d%s_i%s' % (nonbond[i][1], equiv[j][2], equiv[j][3], equiv[j][4], equiv[j][5])
+ if atom1name == None or atom2name == None:
+ print atom1name, atom2name, nonbond[i]
+ print 'Error: Atom in Nonbonded Pairs not found in Equivalences'
+ Abort()
+ foutput.write(' pair_coeff @atom:%s @atom:%s %s %f %f' %
+ (atom1name, atom2name, stylename, float(nonbond[i][3])*econv, float(nonbond[i][2])*lconv))
+ foutput.write(' # %s-%s\n' % (nonbond[i][0], nonbond[i][1]))
+foutput.write(' } # end of nonbonded parameters\n\n')
+
+### Bond Info ###
+if bstyle == '':
+ print 'Warning: no bond potential provided, assuming harmonic'
+ bstyle == 'harmonic'
+foutput.write(' write_once("In Settings") {\n')
+foutput.write(' # ----- Bonds -----\n')
+for i in range(len(bond)):
+ foutput.write(' bond_coeff @bond:%s-%s %s %f %f' %
+ (bond[i][0], bond[i][1], bstyle, float(bond[i][2])*beconv, float(bond[i][3])*lconv))
+ foutput.write(' # %s-%s\n' % (bond[i][0], bond[i][1]))
+foutput.write(' }\n\n')
+foutput.write(' write_once("Data Bonds By Type") {\n')
+for i in range(len(bond)):
+ foutput.write(' @bond:%s-%s @atom:*_b%s_a*_d*_i* @atom:*_b%s_a*_d*_i*\n' %
+ (bond[i][0], bond[i][1], bond[i][0], bond[i][1]))
+foutput.write(' } # end of bonds\n\n')
+
+### Angle Info ###
+if angle_flag:
+ if astyle == '':
+ print 'Warning: no angle potential provided, assuming harmonic'
+ astyle == 'harmonic'
+ foutput.write(' write_once("In Settings") {\n')
+ foutput.write(' # ----- Angles -----\n')
+ for i in range(len(angle)):
+ if (len(angle[i]) > 5): # Check if extra data in angle array
+ foutput.write(' angle_coeff @angle:%s-%s-%s %s %f %f' %
+ (angle[i][0], angle[i][1], angle[i][2], str(angle[i][5]), float(angle[i][3])*aeconv, float(angle[i][4])))
+ foutput.write(' # %s-%s-%s\n' % (angle[i][0], angle[i][1], angle[i][2]))
+ else:
+ foutput.write(' angle_coeff @angle:%s-%s-%s %s %f %f' %
+ (angle[i][0], angle[i][1], angle[i][2], astyle, float(angle[i][3])*aeconv, float(angle[i][4])))
+ foutput.write(' # %s-%s-%s\n' % (angle[i][0], angle[i][1], angle[i][2]))
+ foutput.write(' }\n\n')
+ foutput.write(' write_once("Data Angles By Type") {\n')
+ for i in range(len(angle)):
+ foutput.write(' @angle:%s-%s-%s @atom:*_b*_a%s_d*_i* @atom:*_b*_a%s_d*_i* @atom:*_b*_a%s_d*_i*\n' %
+ (angle[i][0], angle[i][1], angle[i][2], angle[i][0], angle[i][1], angle[i][2]))
+ foutput.write(' } # end of angles\n\n')
+
+### Torsion/Dihedral Info ###a
+# Incomplete
+if torsion_flag:
+ if dstyle == '':
+ print 'Warning: no dihedral/torsion potential provided, assuming harmonic'
+ dstyle == 'harmonic'
+ foutput.write(' write_once("In Settings") {\n')
+ foutput.write(' # ----- Dihedrals -----\n')
+ for i in range(len(torsion)):
+ foutput.write(' dihedral_coeff @dihedral:%s-%s-%s-%s %s %f %f %f %f\n' %
+ (torsion[i][0], torsion[i][1], torsion[i][2], torsion[i][3], dstyle, float(torsion[i][4])*deconv, float(torsion[i][5]), float(torsion[i][6])))
+ foutput.write(' }\n\n')
+ foutput.write(' write_once("Data Dihedrals By Type") {\n')
+ for i in range(len(torsion)):
+ foutput.write(' @dihedral:%s-%s-%s-%s @atom:*_b*_a*_d%s_i* @atom:*_b*_a*_d%s_i* @atom:*_b*_a*_d%s_i* @atom:*_b*_a*_d%s_i*' %
+ (torsion[i][0], torsion[i][1], torsion[i][2], torsion[i][3], torsion[i][0], torsion[i][1], torsion[i][2], torsion[i][3]))
+ foutput.write(' } # end of dihedrals\n\n')
+
+### Improper Info ###
+# Incomplete
+ieconv = econv # improper coeff conversion
+if improp_flag:
+ if istyle == '':
+ print 'Warning: no improper potential provided, assuming harmonic'
+ istyle == 'harmonic'
+ foutput.write(' write_once("In Settings") {\n')
+ foutput.write(' # ----- Impropers -----\n')
+ # As discussed, a check for convention of impropers is probably needed here
+ for i in range(len(improp)):
+ foutput.write(' improper_coeff @improper:%s-%s-%s-%s %s %f %f\n' %
+ (improp[i][0], improp[i][1], improp[i][2], improp[i][3], istyle,
+ float(improp[i][4]), float(improp[i][5])))
+ foutput.write(' }\n\n')
+ foutput.write(' write_once("Data Impropers By Type") {\n')
+ for i in range(len(improp)):
+ foutput.write(' @improper:%s-%s-%s-%s @atom:*_b*_a*_d*_i%s @atom:*_b*_a*_d*_i%s @atom:*_b*_a*_d*_i%s @atom:*_b*_a*_d*_i%s' %
+ (improp[i][0], improp[i][1], improp[i][2], improp[i][3], improp[i][0], improp[i][1], improp[i][2], improp[i][3]))
+ foutput.write(' } # end of impropers\n\n')
+
+### Initialization Info ###
+print 'Warning: Attempting to write generic "In Init" section,',\
+ 'further modification after this script is extremely likely'
+WriteInit()
+
+foutput.write('} # %s\n' % ffname[0])
+sys.exit()
diff --git a/tools/moltemplate/moltemplate/force_fields/sdk/sdk_cholesterol.prm b/tools/moltemplate/moltemplate/force_fields/sdk/sdk_cholesterol.prm
new file mode 100644
index 000000000..8bf9cf5ca
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/sdk/sdk_cholesterol.prm
@@ -0,0 +1,233 @@
+#
+# SDK interaction parameters using sdk.92172.tmp
+# converted on Feb 28, 2017 by David Stelter
+# to be used in conjuction with EMC v9.3.7 or higher
+#
+
+# Force field definition
+
+ITEM DEFINE
+
+FFNAME SDK
+FFTYPE COARSE
+VERSION 1.0
+CREATED Feb 2017
+LENGTH ANGSTROM
+ENERGY KCAL/MOL
+DENSITY G/CC
+MIX NONE
+NBONDED 1
+INNER 9
+CUTOFF 12
+PAIR14 OFF
+ANGLE WARN
+TORSION IGNORE
+
+ITEM END
+
+# Literature references
+
+ITEM REFERENCES
+
+# year volume page journal
+
+2015 143 243144 J. Phys. Chem. B
+
+ITEM END
+
+# Masses
+
+ITEM MASS
+
+# type mass ncons charge
+C2T 43.09 0 0
+CM2 28.05 0 0
+CM2R 28.05 0 0
+CMDB 39.06 0 0
+CMB 40.06 0 0
+CMR 41.07 0 0
+CMR5 41.07 0 0
+CTB 42.08 0 0
+CTBA 27.05 0 0
+CTBB 27.05 0 0
+OAB 30.03 0 0
+
+ITEM END
+
+# Typing equivalences
+
+ITEM EQUIVALENCE
+
+# type pair bond angle torsion improper
+C2T C2T C2T C2T C2T C2T
+CM2 CM2 CM2 CM2 CM2 CM2
+CM2R CM2R CM2R CM2R CM2R CM2R
+CMDB CMDB CMDB CMDB CMDB CMDB
+CMB CMB CMB CMB CMB CMB
+CMR CMR CMR CMR CMR CMR
+CMR5 CMR5 CMR5 CMR5 CMR5 CMR5
+CTB CTB CTB CTB CTB CTB
+CTBA CTBA CTBA CTBA CTBA CTBA
+CTBB CTBB CTBB CTBB CTBB CTBB
+OAB OAB OAB OAB OAB OAB
+
+ITEM END
+
+# Nonbonded parameters
+
+ITEM NONBOND
+
+# type1 type2 sigma epsilon m n
+C2T NC 5.1675 0.42 9 6
+CMR5 CT 4.5455 0.444 9 6
+C2T CTBA 4.7677 0.252 9 6
+CT CTB 4.585 0.469 9 6
+C2T CMR 4.7714 0.331 9 6
+CT CTBA 4.403 0.383 9 6
+C2T CTBB 4.7677 0.252 9 6
+CT CTBB 4.403 0.383 9 6
+C2T GL 4.5455 0.444 9 6
+CT OAB 4.033 0.437 9 6
+C2T CM2R 4.6101 0.254 9 6
+CT2 CTB 4.403 0.383 9 6
+C2T CMD2 4.295 0.33 9 6
+CT2 CTBA 4.221 0.312 9 6
+C2T CMR5 4.7714 0.331 9 6
+CT2 CTBB 4.221 0.312 9 6
+C2T W 4.478 0.36 12 4
+CT2 OAB 3.9505 0.415 9 6
+C2T C2T 4.8115 0.4 9 6
+CTB CTB 5.0155 0.269 9 6
+C2T OAB 4.033 0.437 9 6
+CTB EST1 4.4425 0.47 9 6
+C2T PH 4.9925 0.32 9 6
+CTB EST2 4.4425 0.47 9 6
+C2T CMDB 4.8941 0.354 9 6
+CTB NC 5.1675 0.42 9 6
+C2T CT2 4.5272 0.297 9 6
+CTB CTBA 4.4648 0.265 9 6
+C2T CM2 4.588 0.291 9 6
+CTB CTBB 4.4648 0.265 9 6
+C2T CM 4.5455 0.391 9 6
+CTB GL 4.5455 0.444 9 6
+C2T CT 4.8601 0.409 9 6
+CTB W 4.478 0.36 12 4
+C2T CTB 4.9109 0.283 9 6
+CTB OAB 4.033 0.437 9 6
+C2T CMB 4.6564 0.31 9 6
+CTB PH 4.9925 0.32 9 6
+C2T EST1 4.4425 0.47 9 6
+CTBA NC 4.9855 0.32 9 6
+C2T EST2 4.4425 0.47 9 6
+CTBA EST1 4.2605 0.39 9 6
+CM CMR 4.506 0.42 9 6
+CTBA EST2 4.2605 0.39 9 6
+CM CM2R 4.4342 0.39 9 6
+CTBA W 4.296 0.29 12 4
+CM CMR5 4.506 0.42 9 6
+CTBA GL 4.3635 0.362 9 6
+CM OAB 4.093 0.561 9 6
+CTBA CTBA 4.461 0.265 9 6
+CM CMDB 4.379 0.362 9 6
+CTBA CTBB 4.461 0.265 9 6
+CM CM2 4.4619 0.336 9 6
+CTBA PH 4.8105 0.28 9 6
+CM CTB 4.5455 0.444 9 6
+CTBA OAB 3.84 0.38 9 6
+CM CMB 4.506 0.42 9 6
+CTBB W 4.296 0.29 12 4
+CM CTBA 4.3635 0.362 9 6
+CTBB NC 4.9855 0.32 9 6
+CM CTBB 4.3635 0.362 9 6
+CTBB GL 4.3635 0.362 9 6
+CM2 PH 4.9368 0.248 9 6
+CTBB EST1 4.2605 0.39 9 6
+CM2 OAB 4.0669 0.413 9 6
+CTBB EST2 4.2605 0.39 9 6
+CM2 CM2R 4.4403 0.237 9 6
+CTBB PH 4.8105 0.28 9 6
+CM2 CMD2 4.2313 0.248 9 6
+CTBB OAB 3.84 0.38 9 6
+CM2 CMR5 4.4846 0.333 9 6
+CTBB CTBB 4.461 0.265 9 6
+CM2 CT2 4.3199 0.228 9 6
+EST1 OAB 3.99 1.1 9 6
+CM2 CM2 4.461 0.265 9 6
+EST2 OAB 3.99 1.1 9 6
+CM2 CMDB 4.3697 0.267 9 6
+GL OAB 4.093 0.669 9 6
+CM2 CT 4.4546 0.301 9 6
+NC OAB 3.9319 0.637 9 6
+CM2 CTB 4.5246 0.353 9 6
+OAB W 4.0255 1.026 9 6
+CM2 CMB 4.4846 0.333 9 6
+OAB PH 3.6166 0.928 9 6
+CM2 NC 5.1138 0.306 9 6
+OAB OAB 3.68 0.58 9 6
+CM2 EST1 4.3805 0.366 9 6
+CM2 EST2 4.3805 0.366 9 6
+
+ITEM END
+
+# Bond parameters
+
+ITEM BOND
+
+# type1 type2 k l0
+C2T CM2 55 2.5
+CM2 CTB 42.5 2.9
+CM2R CTBA 45 2.4
+CM2R OAB 50 2.6
+CMB CMDB 75 3.5
+CMB CMR5 50 3.0
+CMB CTBA 35 3.4
+CMB CTBB 50 3.0
+CMDB CTBA 40 2.5
+CMDB OAB 55 3.1
+CMR5 CTBB 60 2.3
+CMR CTBA 50 3.0
+CMR CTBB 55 2.5
+CTB CTBB 22.5 3.4
+CMR5 CTB 35 3.1
+
+ITEM END
+
+# Angle parameters
+
+ITEM ANGLE
+
+# type1 type2 type3 k theta0 type
+C2T CM2 CTB 8 160.0 sdk
+CM2 CTB CTBB 4 130.0 sdk
+CM2R CTBA CMB 40 112.5 harmonic
+CM2R CTBA CMDB 22.5 75.9 harmonic
+CM2R CTBA CMR 35 98.7 harmonic
+CM2R OAB CMDB 40 63.9 harmonic
+CMB CMDB CTBA 45 68.6 harmonic
+CMB CMDB OAB 65 146.6 harmonic
+CMB CMR5 CTBB 35 67.8 harmonic
+CMB CTBA CMDB 25 68.9 harmonic
+CMB CTBA CMR 75 47.8 harmonic
+CMB CTBB CMR5 25 68.2 harmonic
+CMB CTBB CMR 50 56.3 harmonic
+CMB CTBB CTB 35 120.7 sdk
+CMDB CMB CMR5 150 175.6 harmonic
+CMDB CMB CTBA 62.5 42.5 harmonic
+CMDB CMB CTBB 25 134.2 harmonic
+CMDB CTBA CMR 50 108.6 harmonic
+CMR5 CNB CTBA 15 135.8 harmonic
+CMR5 CMB CTBB 45 44.0 harmonic
+CMR5 CTBB CTB 20 62.7 harmonic
+CMR CTBB CMR5 75 107.0 harmonic
+CMR CTBB CTB 37.5 110.1 sdk
+CTBA CM2R OAB 25 107.4 harmonic
+CTBA CMB CTBB 20 92.2 harmonic
+CTBA CMDB OAB 20 91.8 harmonic
+CTBA CMR CTBB 15 115.0 harmonic
+CMB CMR5 CTB 88 131.7 harmonic
+CTBB CMR5 CTB 20 77.4 harmonic
+CM2 CTB CMR5 20 118.0 sdk
+CMR5 CTB CTBB 62.5 39.7 harmonic
+
+ITEM END
+
diff --git a/tools/moltemplate/moltemplate/force_fields/sdk/sdk_lipids.prm b/tools/moltemplate/moltemplate/force_fields/sdk/sdk_lipids.prm
new file mode 100644
index 000000000..2bf0769c6
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/sdk/sdk_lipids.prm
@@ -0,0 +1,222 @@
+#
+# SDK interaction parameters using sdk.92172.tmp
+# converted by sdk.pl v1.0, August 31, 2014 by Pieter J. in 't Veld
+# to be used in conjuction with EMC v9.3.7 or higher
+#
+
+# Force field definition
+
+ITEM DEFINE
+
+FFNAME SDK
+FFTYPE COARSE
+VERSION 1.0
+CREATED Oct 2014
+LENGTH ANGSTROM
+ENERGY KCAL/MOL
+DENSITY G/CC
+MIX NONE
+NBONDED 1
+INNER 9
+CUTOFF 12
+PAIR14 OFF
+ANGLE WARN
+TORSION IGNORE
+
+ITEM END
+
+# Literature references
+
+ITEM REFERENCES
+
+# year volume page journal
+
+2010 114 6836 [4] J. Phys. Chem. B
+
+ITEM END
+
+# Masses
+
+ITEM MASS
+
+# type mass ncons charge cite comment
+
+CM 42.0804 2 0 1 >CCC<
+CMD2 26.0378 2 0 4 >\C=C/<
+CT 43.0883 1 0 1 CCC<
+CT2 29.0615 1 0 1 CC<
+EST1 58.0366 2 0 4 >CC(=O)O<
+EST2 58.0366 2 0 4 >CC(=O)O<
+GL 41.0725 3 0 4 >CC<C<
+NC 87.1644 1 1 4 >CCN(C)(C)C
+NH 44.0761 1 1 4 >CCN
+PH 94.9716 2 -1 4 >OP(O)(O)O<
+PHE 94.9716 2 -1 4 >OP(O)(O)O<
+W 54.0456 0 0 1 O.O.O
+
+ITEM END
+
+# Typing equivalences
+
+ITEM EQUIVALENCE
+
+# type pair bond angle torsion improper
+
+CM CM CM CM CM CM
+CMD2 CMD2 CMD2 CMD2 CMD2 CMD2
+CT CT CT CT CT CT
+CT2 CT2 CT2 CT2 CT2 CT2
+EST1 EST1 EST1 EST1 EST1 EST1
+EST2 EST2 EST2 EST2 EST2 EST2
+GL GL GL GL GL GL
+NC NC NC NC NC NC
+NH NH NH NH NH NH
+PH PH PH PH PH PH
+PHE PHE PHE PHE PHE PHE
+W W W W W W
+
+ITEM END
+
+# Nonbonded parameters
+
+ITEM NONBOND
+
+# type1 type2 sigma epsilon m n
+
+CM CM 4.506 0.42 9 6
+CM CMD2 4.2555 0.312 9 6
+CM CT 4.5455 0.444 9 6
+CM CT2 4.3635 0.362 9 6
+CM EST1 4.403 0.47 9 6
+CM EST2 4.403 0.47 9 6
+CM GL 4.506 0.42 9 6
+CM NC 5.128 0.4 9 6
+CM NH 4.553 0.33 9 6
+CM PH 4.953 0.3 9 6
+CM PHE 4.953 0.3 9 6
+CM W 4.4385 0.34 12 4
+CMD2 CMD2 4.005 0.232 9 6
+CMD2 CT 4.295 0.33 9 6
+CMD2 CT2 4.113 0.269 9 6
+CMD2 EST1 4.005 0.44 9 6
+CMD2 EST2 4.005 0.44 9 6
+CMD2 GL 4.2555 0.312 9 6
+CMD2 NC 4.8775 0.35 9 6
+CMD2 NH 4.3025 0.3 9 6
+CMD2 PH 4.7025 0.3 9 6
+CMD2 PHE 4.7025 0.3 9 6
+CMD2 W 4.188 0.27 12 4
+CT CT 4.585 0.469 9 6
+CT CT2 4.403 0.383 9 6
+CT EST1 4.4425 0.47 9 6
+CT EST2 4.4425 0.47 9 6
+CT GL 4.5455 0.444 9 6
+CT NC 5.1675 0.42 9 6
+CT NH 4.925 0.34 9 6
+CT PH 4.9925 0.32 9 6
+CT PHE 4.9925 0.32 9 6
+CT W 4.478 0.36 12 4
+CT2 CT2 4.221 0.312 9 6
+CT2 EST1 4.2605 0.39 9 6
+CT2 EST2 4.2605 0.39 9 6
+CT2 GL 4.365 0.362 9 6
+CT2 NC 4.9855 0.32 9 6
+CT2 NH 4.4105 0.32 9 6
+CT2 PH 4.8105 0.28 9 6
+CT2 PHE 4.8105 0.28 9 6
+CT2 W 4.296 0.29 12 4
+EST1 EST1 4.3 0.495 9 6
+EST1 EST2 4.3 0.495 9 6
+EST1 GL 4.403 0.47 9 6
+EST1 NC 4.475 0.75 9 6
+EST1 NH 4.11 0.85 9 6
+EST1 PH 4.55 0.5 9 6
+EST1 PHE 4.55 0.5 9 6
+EST1 W 4.29 0.82 12 4
+EST2 EST2 4.3 0.495 9 6
+EST2 GL 4.403 0.47 9 6
+EST2 NC 4.475 0.75 9 6
+EST2 NH 4.11 0.85 9 6
+EST2 PH 4.55 0.5 9 6
+EST2 PHE 4.55 0.5 9 6
+EST2 W 4.29 0.82 12 4
+GL GL 4.506 0.42 9 6
+GL NC 4.62 0.65 9 6
+GL NH 4.19 0.75 9 6
+GL PH 4.75 0.3 9 6
+GL PHE 4.75 0.3 9 6
+GL W 4.4385 0.64 12 4
+NC NC 5.75 0.7 9 6
+NC NH 5.175 0.88 9 6
+NC PH 4.2 1.15 9 6
+NC PHE 4.2 1.15 9 6
+NC W 4.61 0.9 12 4
+NH NH 4.6 1.1 9 6
+NH PH 3.8 1.2 9 6
+NH PHE 3.8 1.2 9 6
+NH W 3.95 0.8 12 4
+PH PH 5.4 1.4 9 6
+PH PHE 5 1.4 9 6
+PH W 4.03 1 12 4
+PHE PHE 4.6 1.4 9 6
+PHE W 4.03 1 12 4
+W W 4.371 0.895 12 4
+
+ITEM END
+
+# Bond parameters
+
+ITEM BOND
+
+# type1 type2 k l0
+
+CM CM 6.16 3.64
+CM CMD2 8 3.03
+CM CT 6.16 3.65
+CM CT2 9 3.13
+CM EST1 4.7 3.55
+CM EST2 5.1 3.61
+CM PHE 12 3.69
+CM SO4 11 3.63
+CMD2 CT 8 3.09
+CMD2 CT2 60 2.54
+CT CT 6.955 3.71
+EST1 GL 30 2.88
+EST2 GL 8.4 3.48
+GL PHE 8.9 3.52
+NC PHE 4.8 4.25
+NH PHE 9.4 3.6
+PHE1 PHE2 2.5 150
+
+ITEM END
+
+# Angle parameters
+
+ITEM ANGLE
+
+# type1 type2 type3 k theta0
+
+CM CM CM 1.19 173
+CM CM CMD2 1.9 161
+CM CM CT 1.19 175
+CM CM CT2 1.6 172
+CM CM EST1 1 178
+CM CM EST2 1 178
+CM CM PHE 1.1 178
+CM CMD2 CM 6 110
+CM EST1 GL 0.8 168
+CM EST2 GL 0.8 172
+CM PHE NC 3.3 112
+CT CM CT 1.093 175.5
+CT CM CT2 1.6 172
+CT CMD2 CT 7.7 116
+CT2 CM CT2 1.7 173
+CT2 CMD2 CT2 12 110
+EST1 GL EST2 1 95
+EST1 GL PHE 1.4 124
+EST2 GL PHE 2 138
+GL PHE NC 3.1 112
+GL PHE NH 4 102
+
+ITEM END
+
diff --git a/tools/moltemplate/moltemplate/force_fields/spce.lt b/tools/moltemplate/moltemplate/force_fields/spce.lt
new file mode 100644
index 000000000..1f0f0f61b
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/spce.lt
@@ -0,0 +1,52 @@
+# file "spce.lt"
+#
+# H1 H2
+# \ /
+# O
+
+SPCE {
+
+ write("Data Atoms") {
+ $atom:O $mol:. @atom:O -0.8476 0.0000000 0.00000 0.000000
+ $atom:H1 $mol:. @atom:H 0.4238 0.8164904 0.00000 0.5773590
+ $atom:H2 $mol:. @atom:H 0.4238 -0.8164904 0.00000 0.5773590
+ }
+
+ write_once("Data Masses") {
+ @atom:O 15.9994
+ @atom:H 1.008
+ }
+
+ write("Data Bonds") {
+ $bond:OH1 @bond:OH $atom:O $atom:H1
+ $bond:OH2 @bond:OH $atom:O $atom:H2
+ }
+
+ write("Data Angles") {
+ $angle:HOH @angle:HOH $atom:H1 $atom:O $atom:H2
+ }
+
+ write_once("In Settings") {
+ bond_coeff @bond:OH harmonic 600.0 1.0
+ angle_coeff @angle:HOH harmonic 75.0 109.47
+ pair_coeff @atom:O @atom:O lj/charmm/coul/long 0.1553 3.166
+ pair_coeff @atom:H @atom:H lj/charmm/coul/long 0.0 0.0
+ group spce type @atom:O @atom:H
+ fix fShakeSPCE spce shake 0.0001 10 100 b @bond:OH a @angle:HOH
+ # (Remember to "unfix" fShakeSPCE during minimization.)
+ }
+
+ write_once("In Init") {
+ # -- Default styles (for solo "SPCE" water) --
+ units real
+ atom_style full
+ # (Hybrid force fields were not necessary but are used for portability.)
+ pair_style hybrid lj/charmm/coul/long 9.0 10.0 10.0
+ bond_style hybrid harmonic
+ angle_style hybrid harmonic
+ kspace_style pppm 0.0001
+ #pair_modify mix arithmetic # LEAVE THIS UNSPECIFIED!
+ }
+
+} # end of definition of "SPCE" water molecule type
+
diff --git a/tools/moltemplate/moltemplate/force_fields/spce_ice_rect16.lt b/tools/moltemplate/moltemplate/force_fields/spce_ice_rect16.lt
new file mode 100644
index 000000000..e67b228e9
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/spce_ice_rect16.lt
@@ -0,0 +1,81 @@
+# This ice (1h) unit cell is rectangular and contains 16 water molecules.
+# (Coordinates and cell dimensions converted were from a PDB file.)
+# The dimensions of the unit cell (in Angstroms) are: 9.043 7.832 7.361
+
+
+import "spce.lt" # <-- define the "SPCE" molecule
+
+SpceIceRect16 {
+
+ # Create a 3-dimensional array of 16 water molecules
+
+ wat = new SPCE[4][2][2]
+
+ # Array indices will be correlated with position [xindex][yindex][zindex]
+
+ # You can overwrite coordinates of atoms after they were created this way:
+ # (Order is not important)
+ # atom-ID molecule-ID atomType charge newX newY newZ
+
+ write("Data Atoms") {
+ $atom:wat[0][0][0]/O $mol:wat[0][0][0] @atom:SPCE/O -0.8476 1.131 2.611 2.300
+ $atom:wat[0][0][0]/H1 $mol:wat[0][0][0] @atom:SPCE/H 0.4238 0.322 2.144 1.970
+ $atom:wat[0][0][0]/H2 $mol:wat[0][0][0] @atom:SPCE/H 0.4238 1.131 3.545 1.970
+ $atom:wat[1][0][0]/O $mol:wat[1][0][0] @atom:SPCE/O -0.8476 3.391 1.305 1.381
+ $atom:wat[1][0][0]/H1 $mol:wat[1][0][0] @atom:SPCE/H 0.4238 2.582 1.772 1.711
+ $atom:wat[1][0][0]/H2 $mol:wat[1][0][0] @atom:SPCE/H 0.4238 3.391 0.371 1.711
+ $atom:wat[2][0][0]/O $mol:wat[2][0][0] @atom:SPCE/O -0.8476 5.652 2.611 2.300
+ $atom:wat[2][0][0]/H1 $mol:wat[2][0][0] @atom:SPCE/H 0.4238 4.843 2.144 1.970
+ $atom:wat[2][0][0]/H2 $mol:wat[2][0][0] @atom:SPCE/H 0.4238 5.652 2.611 3.291
+ $atom:wat[3][0][0]/O $mol:wat[3][0][0] @atom:SPCE/O -0.8476 7.912 1.305 1.381
+ $atom:wat[3][0][0]/H1 $mol:wat[3][0][0] @atom:SPCE/H 0.4238 7.103 1.772 1.711
+ $atom:wat[3][0][0]/H2 $mol:wat[3][0][0] @atom:SPCE/H 0.4238 7.912 1.305 0.390
+ $atom:wat[0][1][0]/O $mol:wat[0][1][0] @atom:SPCE/O -0.8476 1.131 5.221 1.381
+ $atom:wat[0][1][0]/H1 $mol:wat[0][1][0] @atom:SPCE/H 0.4238 1.940 5.688 1.711
+ $atom:wat[0][1][0]/H2 $mol:wat[0][1][0] @atom:SPCE/H 0.4238 1.131 5.221 0.390
+ $atom:wat[1][1][0]/O $mol:wat[1][1][0] @atom:SPCE/O -0.8476 3.391 6.526 2.300
+ $atom:wat[1][1][0]/H1 $mol:wat[1][1][0] @atom:SPCE/H 0.4238 4.200 6.059 1.970
+ $atom:wat[1][1][0]/H2 $mol:wat[1][1][0] @atom:SPCE/H 0.4238 3.391 6.526 3.291
+ $atom:wat[2][1][0]/O $mol:wat[2][1][0] @atom:SPCE/O -0.8476 5.652 5.221 1.381
+ $atom:wat[2][1][0]/H1 $mol:wat[2][1][0] @atom:SPCE/H 0.4238 6.461 5.688 1.711
+ $atom:wat[2][1][0]/H2 $mol:wat[2][1][0] @atom:SPCE/H 0.4238 5.652 4.287 1.711
+ $atom:wat[3][1][0]/O $mol:wat[3][1][0] @atom:SPCE/O -0.8476 7.912 6.526 2.300
+ $atom:wat[3][1][0]/H1 $mol:wat[3][1][0] @atom:SPCE/H 0.4238 8.721 6.059 1.970
+ $atom:wat[3][1][0]/H2 $mol:wat[3][1][0] @atom:SPCE/H 0.4238 7.912 7.460 1.970
+ $atom:wat[0][0][1]/O $mol:wat[0][0][1] @atom:SPCE/O -0.8476 1.131 2.611 5.061
+ $atom:wat[0][0][1]/H1 $mol:wat[0][0][1] @atom:SPCE/H 0.4238 1.940 2.144 5.391
+ $atom:wat[0][0][1]/H2 $mol:wat[0][0][1] @atom:SPCE/H 0.4238 1.131 2.611 4.070
+ $atom:wat[1][0][1]/O $mol:wat[1][0][1] @atom:SPCE/O -0.8476 3.391 1.305 5.981
+ $atom:wat[1][0][1]/H1 $mol:wat[1][0][1] @atom:SPCE/H 0.4238 4.200 1.772 5.651
+ $atom:wat[1][0][1]/H2 $mol:wat[1][0][1] @atom:SPCE/H 0.4238 3.391 1.305 6.972
+ $atom:wat[2][0][1]/O $mol:wat[2][0][1] @atom:SPCE/O -0.8476 5.652 2.611 5.061
+ $atom:wat[2][0][1]/H1 $mol:wat[2][0][1] @atom:SPCE/H 0.4238 6.461 2.144 5.391
+ $atom:wat[2][0][1]/H2 $mol:wat[2][0][1] @atom:SPCE/H 0.4238 5.652 3.545 5.391
+ $atom:wat[3][0][1]/O $mol:wat[3][0][1] @atom:SPCE/O -0.8476 7.912 1.305 5.981
+ $atom:wat[3][0][1]/H1 $mol:wat[3][0][1] @atom:SPCE/H 0.4238 8.721 1.772 5.651
+ $atom:wat[3][0][1]/H2 $mol:wat[3][0][1] @atom:SPCE/H 0.4238 7.912 0.371 5.651
+ $atom:wat[0][1][1]/O $mol:wat[0][1][1] @atom:SPCE/O -0.8476 1.131 5.221 5.981
+ $atom:wat[0][1][1]/H1 $mol:wat[0][1][1] @atom:SPCE/H 0.4238 0.322 5.688 5.651
+ $atom:wat[0][1][1]/H2 $mol:wat[0][1][1] @atom:SPCE/H 0.4238 1.131 4.287 5.651
+ $atom:wat[1][1][1]/O $mol:wat[1][1][1] @atom:SPCE/O -0.8476 3.391 6.526 5.061
+ $atom:wat[1][1][1]/H1 $mol:wat[1][1][1] @atom:SPCE/H 0.4238 2.582 6.059 5.391
+ $atom:wat[1][1][1]/H2 $mol:wat[1][1][1] @atom:SPCE/H 0.4238 3.391 7.460 5.391
+ $atom:wat[2][1][1]/O $mol:wat[2][1][1] @atom:SPCE/O -0.8476 5.652 5.221 5.981
+ $atom:wat[2][1][1]/H1 $mol:wat[2][1][1] @atom:SPCE/H 0.4238 4.843 5.688 5.651
+ $atom:wat[2][1][1]/H2 $mol:wat[2][1][1] @atom:SPCE/H 0.4238 5.652 5.221 6.972
+ $atom:wat[3][1][1]/O $mol:wat[3][1][1] @atom:SPCE/O -0.8476 7.912 6.526 5.061
+ $atom:wat[3][1][1]/H1 $mol:wat[3][1][1] @atom:SPCE/H 0.4238 7.103 6.059 5.391
+ $atom:wat[3][1][1]/H2 $mol:wat[3][1][1] @atom:SPCE/H 0.4238 7.912 6.526 4.070
+ }
+} # SpceIceRect16
+
+# Credit goes to Martin Chaplin.
+# These coordinates were orignally downloaded from Martin Chaplin's
+# website: http://www.btinternet.com/~martin.chaplin/ice1h.html
+# ... and then they were stretched independently in the xy and z
+# directions in order to match the lattice parameters measured by
+# Rottger et al.,
+# "Lattice constants and thermal expansion of H2O and D2O ice Ih"
+# between 10 and 265K", Acta Crystallogr. B, 50 (1994) 644-648
+# I am using the lattice constants measured at temperature 265K
+# (and pressure=100Torr).
diff --git a/tools/moltemplate/moltemplate/force_fields/spce_ice_rect32.lt b/tools/moltemplate/moltemplate/force_fields/spce_ice_rect32.lt
new file mode 100644
index 000000000..0a52d8298
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/spce_ice_rect32.lt
@@ -0,0 +1,129 @@
+# This ice (1h) unit cell is rectangular and contains 32 water molecules.
+# (Coordinates and cell dimensions converted were from a PDB file.)
+# The dimensions of the unit cell (in Angstroms) are: 9.043 15.663 7.361
+
+
+import "spce.lt" # <-- define the "SPCE" molecule
+
+SpceIceRect32 {
+
+ # Create a 3-dimensional array of 32 water molecules
+
+ wat = new SPCE[4][4][2]
+
+ # Array indices will be correlated with position [xindex][yindex][zindex]
+
+ # You can overwrite coordinates of atoms after they were created this way:
+ # (Order is not important)
+ # atom-ID molecule-ID atomType charge newX newY newZ
+
+ write("Data Atoms") {
+ $atom:wat[0][0][0]/O $mol:wat[0][0][0] @atom:SPCE/O -0.8476 1.131 2.611 2.300
+ $atom:wat[0][0][0]/H1 $mol:wat[0][0][0] @atom:SPCE/H 0.4238 0.322 2.144 1.970
+ $atom:wat[0][0][0]/H2 $mol:wat[0][0][0] @atom:SPCE/H 0.4238 1.131 2.611 3.291
+ $atom:wat[1][0][0]/O $mol:wat[1][0][0] @atom:SPCE/O -0.8476 3.391 1.305 1.381
+ $atom:wat[1][0][0]/H1 $mol:wat[1][0][0] @atom:SPCE/H 0.4238 2.582 1.772 1.711
+ $atom:wat[1][0][0]/H2 $mol:wat[1][0][0] @atom:SPCE/H 0.4238 3.391 1.305 0.390
+ $atom:wat[2][0][0]/O $mol:wat[2][0][0] @atom:SPCE/O -0.8476 5.652 2.611 2.300
+ $atom:wat[2][0][0]/H1 $mol:wat[2][0][0] @atom:SPCE/H 0.4238 4.843 2.144 1.970
+ $atom:wat[2][0][0]/H2 $mol:wat[2][0][0] @atom:SPCE/H 0.4238 5.652 3.545 1.970
+ $atom:wat[3][0][0]/O $mol:wat[3][0][0] @atom:SPCE/O -0.8476 7.912 1.305 1.381
+ $atom:wat[3][0][0]/H1 $mol:wat[3][0][0] @atom:SPCE/H 0.4238 7.103 1.772 1.711
+ $atom:wat[3][0][0]/H2 $mol:wat[3][0][0] @atom:SPCE/H 0.4238 7.912 0.371 1.711
+ $atom:wat[0][1][0]/O $mol:wat[0][1][0] @atom:SPCE/O -0.8476 1.131 5.221 1.381
+ $atom:wat[0][1][0]/H1 $mol:wat[0][1][0] @atom:SPCE/H 0.4238 1.940 5.688 1.711
+ $atom:wat[0][1][0]/H2 $mol:wat[0][1][0] @atom:SPCE/H 0.4238 1.131 4.287 1.711
+ $atom:wat[1][1][0]/O $mol:wat[1][1][0] @atom:SPCE/O -0.8476 3.391 6.526 2.300
+ $atom:wat[1][1][0]/H1 $mol:wat[1][1][0] @atom:SPCE/H 0.4238 4.200 6.059 1.970
+ $atom:wat[1][1][0]/H2 $mol:wat[1][1][0] @atom:SPCE/H 0.4238 3.391 6.526 3.291
+ $atom:wat[2][1][0]/O $mol:wat[2][1][0] @atom:SPCE/O -0.8476 5.652 5.221 1.381
+ $atom:wat[2][1][0]/H1 $mol:wat[2][1][0] @atom:SPCE/H 0.4238 6.461 5.688 1.711
+ $atom:wat[2][1][0]/H2 $mol:wat[2][1][0] @atom:SPCE/H 0.4238 5.652 5.221 0.390
+ $atom:wat[3][1][0]/O $mol:wat[3][1][0] @atom:SPCE/O -0.8476 7.912 6.526 2.300
+ $atom:wat[3][1][0]/H1 $mol:wat[3][1][0] @atom:SPCE/H 0.4238 8.721 6.059 1.970
+ $atom:wat[3][1][0]/H2 $mol:wat[3][1][0] @atom:SPCE/H 0.4238 7.912 7.460 1.970
+ $atom:wat[0][2][0]/O $mol:wat[0][2][0] @atom:SPCE/O -0.8476 1.131 10.443 2.300
+ $atom:wat[0][2][0]/H1 $mol:wat[0][2][0] @atom:SPCE/H 0.4238 0.322 9.976 1.970
+ $atom:wat[0][2][0]/H2 $mol:wat[0][2][0] @atom:SPCE/H 0.4238 1.131 11.377 1.970
+ $atom:wat[1][2][0]/O $mol:wat[1][2][0] @atom:SPCE/O -0.8476 3.391 9.137 1.381
+ $atom:wat[1][2][0]/H1 $mol:wat[1][2][0] @atom:SPCE/H 0.4238 2.582 9.604 1.711
+ $atom:wat[1][2][0]/H2 $mol:wat[1][2][0] @atom:SPCE/H 0.4238 3.391 8.203 1.711
+ $atom:wat[2][2][0]/O $mol:wat[2][2][0] @atom:SPCE/O -0.8476 5.652 10.443 2.300
+ $atom:wat[2][2][0]/H1 $mol:wat[2][2][0] @atom:SPCE/H 0.4238 4.843 9.976 1.970
+ $atom:wat[2][2][0]/H2 $mol:wat[2][2][0] @atom:SPCE/H 0.4238 5.652 10.443 3.291
+ $atom:wat[3][2][0]/O $mol:wat[3][2][0] @atom:SPCE/O -0.8476 7.912 9.137 1.381
+ $atom:wat[3][2][0]/H1 $mol:wat[3][2][0] @atom:SPCE/H 0.4238 7.103 9.604 1.711
+ $atom:wat[3][2][0]/H2 $mol:wat[3][2][0] @atom:SPCE/H 0.4238 7.912 9.137 0.390
+ $atom:wat[0][3][0]/O $mol:wat[0][3][0] @atom:SPCE/O -0.8476 1.131 13.053 1.381
+ $atom:wat[0][3][0]/H1 $mol:wat[0][3][0] @atom:SPCE/H 0.4238 1.940 13.520 1.711
+ $atom:wat[0][3][0]/H2 $mol:wat[0][3][0] @atom:SPCE/H 0.4238 1.131 13.053 0.390
+ $atom:wat[1][3][0]/O $mol:wat[1][3][0] @atom:SPCE/O -0.8476 3.391 14.358 2.300
+ $atom:wat[1][3][0]/H1 $mol:wat[1][3][0] @atom:SPCE/H 0.4238 4.200 13.891 1.970
+ $atom:wat[1][3][0]/H2 $mol:wat[1][3][0] @atom:SPCE/H 0.4238 3.391 15.292 1.970
+ $atom:wat[2][3][0]/O $mol:wat[2][3][0] @atom:SPCE/O -0.8476 5.652 13.053 1.381
+ $atom:wat[2][3][0]/H1 $mol:wat[2][3][0] @atom:SPCE/H 0.4238 6.461 13.520 1.711
+ $atom:wat[2][3][0]/H2 $mol:wat[2][3][0] @atom:SPCE/H 0.4238 5.652 12.119 1.711
+ $atom:wat[3][3][0]/O $mol:wat[3][3][0] @atom:SPCE/O -0.8476 7.912 14.358 2.300
+ $atom:wat[3][3][0]/H1 $mol:wat[3][3][0] @atom:SPCE/H 0.4238 8.721 13.891 1.970
+ $atom:wat[3][3][0]/H2 $mol:wat[3][3][0] @atom:SPCE/H 0.4238 7.912 14.358 3.291
+ $atom:wat[0][0][1]/O $mol:wat[0][0][1] @atom:SPCE/O -0.8476 1.131 2.611 5.061
+ $atom:wat[0][0][1]/H1 $mol:wat[0][0][1] @atom:SPCE/H 0.4238 1.940 2.144 5.391
+ $atom:wat[0][0][1]/H2 $mol:wat[0][0][1] @atom:SPCE/H 0.4238 1.131 3.545 5.391
+ $atom:wat[1][0][1]/O $mol:wat[1][0][1] @atom:SPCE/O -0.8476 3.391 1.305 5.981
+ $atom:wat[1][0][1]/H1 $mol:wat[1][0][1] @atom:SPCE/H 0.4238 4.200 1.772 5.651
+ $atom:wat[1][0][1]/H2 $mol:wat[1][0][1] @atom:SPCE/H 0.4238 3.391 0.371 5.651
+ $atom:wat[2][0][1]/O $mol:wat[2][0][1] @atom:SPCE/O -0.8476 5.652 2.611 5.061
+ $atom:wat[2][0][1]/H1 $mol:wat[2][0][1] @atom:SPCE/H 0.4238 6.461 2.144 5.391
+ $atom:wat[2][0][1]/H2 $mol:wat[2][0][1] @atom:SPCE/H 0.4238 5.652 2.611 4.070
+ $atom:wat[3][0][1]/O $mol:wat[3][0][1] @atom:SPCE/O -0.8476 7.912 1.305 5.981
+ $atom:wat[3][0][1]/H1 $mol:wat[3][0][1] @atom:SPCE/H 0.4238 8.721 1.772 5.651
+ $atom:wat[3][0][1]/H2 $mol:wat[3][0][1] @atom:SPCE/H 0.4238 7.912 1.305 6.972
+ $atom:wat[0][1][1]/O $mol:wat[0][1][1] @atom:SPCE/O -0.8476 1.131 5.221 5.981
+ $atom:wat[0][1][1]/H1 $mol:wat[0][1][1] @atom:SPCE/H 0.4238 0.322 5.688 5.651
+ $atom:wat[0][1][1]/H2 $mol:wat[0][1][1] @atom:SPCE/H 0.4238 1.131 5.221 6.972
+ $atom:wat[1][1][1]/O $mol:wat[1][1][1] @atom:SPCE/O -0.8476 3.391 6.526 5.061
+ $atom:wat[1][1][1]/H1 $mol:wat[1][1][1] @atom:SPCE/H 0.4238 2.582 6.059 5.391
+ $atom:wat[1][1][1]/H2 $mol:wat[1][1][1] @atom:SPCE/H 0.4238 3.391 7.460 5.391
+ $atom:wat[2][1][1]/O $mol:wat[2][1][1] @atom:SPCE/O -0.8476 5.652 5.221 5.981
+ $atom:wat[2][1][1]/H1 $mol:wat[2][1][1] @atom:SPCE/H 0.4238 4.843 5.688 5.651
+ $atom:wat[2][1][1]/H2 $mol:wat[2][1][1] @atom:SPCE/H 0.4238 5.652 4.287 5.651
+ $atom:wat[3][1][1]/O $mol:wat[3][1][1] @atom:SPCE/O -0.8476 7.912 6.526 5.061
+ $atom:wat[3][1][1]/H1 $mol:wat[3][1][1] @atom:SPCE/H 0.4238 7.103 6.059 5.391
+ $atom:wat[3][1][1]/H2 $mol:wat[3][1][1] @atom:SPCE/H 0.4238 7.912 6.526 4.070
+ $atom:wat[0][2][1]/O $mol:wat[0][2][1] @atom:SPCE/O -0.8476 1.131 10.443 5.061
+ $atom:wat[0][2][1]/H1 $mol:wat[0][2][1] @atom:SPCE/H 0.4238 1.940 9.976 5.391
+ $atom:wat[0][2][1]/H2 $mol:wat[0][2][1] @atom:SPCE/H 0.4238 1.131 10.443 4.070
+ $atom:wat[1][2][1]/O $mol:wat[1][2][1] @atom:SPCE/O -0.8476 3.391 9.137 5.981
+ $atom:wat[1][2][1]/H1 $mol:wat[1][2][1] @atom:SPCE/H 0.4238 4.200 9.604 5.651
+ $atom:wat[1][2][1]/H2 $mol:wat[1][2][1] @atom:SPCE/H 0.4238 3.391 9.137 6.972
+ $atom:wat[2][2][1]/O $mol:wat[2][2][1] @atom:SPCE/O -0.8476 5.652 10.443 5.061
+ $atom:wat[2][2][1]/H1 $mol:wat[2][2][1] @atom:SPCE/H 0.4238 6.461 9.976 5.391
+ $atom:wat[2][2][1]/H2 $mol:wat[2][2][1] @atom:SPCE/H 0.4238 5.652 11.377 5.391
+ $atom:wat[3][2][1]/O $mol:wat[3][2][1] @atom:SPCE/O -0.8476 7.912 9.137 5.981
+ $atom:wat[3][2][1]/H1 $mol:wat[3][2][1] @atom:SPCE/H 0.4238 8.721 9.604 5.651
+ $atom:wat[3][2][1]/H2 $mol:wat[3][2][1] @atom:SPCE/H 0.4238 7.912 8.203 5.651
+ $atom:wat[0][3][1]/O $mol:wat[0][3][1] @atom:SPCE/O -0.8476 1.131 13.053 5.981
+ $atom:wat[0][3][1]/H1 $mol:wat[0][3][1] @atom:SPCE/H 0.4238 0.322 13.520 5.651
+ $atom:wat[0][3][1]/H2 $mol:wat[0][3][1] @atom:SPCE/H 0.4238 1.131 12.119 5.651
+ $atom:wat[1][3][1]/O $mol:wat[1][3][1] @atom:SPCE/O -0.8476 3.391 14.358 5.061
+ $atom:wat[1][3][1]/H1 $mol:wat[1][3][1] @atom:SPCE/H 0.4238 2.582 13.891 5.391
+ $atom:wat[1][3][1]/H2 $mol:wat[1][3][1] @atom:SPCE/H 0.4238 3.391 14.358 4.070
+ $atom:wat[2][3][1]/O $mol:wat[2][3][1] @atom:SPCE/O -0.8476 5.652 13.053 5.981
+ $atom:wat[2][3][1]/H1 $mol:wat[2][3][1] @atom:SPCE/H 0.4238 4.843 13.520 5.651
+ $atom:wat[2][3][1]/H2 $mol:wat[2][3][1] @atom:SPCE/H 0.4238 5.652 13.053 6.972
+ $atom:wat[3][3][1]/O $mol:wat[3][3][1] @atom:SPCE/O -0.8476 7.912 14.358 5.061
+ $atom:wat[3][3][1]/H1 $mol:wat[3][3][1] @atom:SPCE/H 0.4238 7.103 13.891 5.391
+ $atom:wat[3][3][1]/H2 $mol:wat[3][3][1] @atom:SPCE/H 0.4238 7.912 15.292 5.391
+ }
+} # SpceIceRect32
+
+# Credit goes to Martin Chaplin.
+# These coordinates were orignally downloaded from Martin Chaplin's
+# website: http://www.btinternet.com/~martin.chaplin/ice1h.html
+# ... and then they were stretched independently in the xy and z
+# directions in order to match the lattice parameters measured by
+# Rottger et al.,
+# "Lattice constants and thermal expansion of H2O and D2O ice Ih"
+# between 10 and 265K", Acta Crystallogr. B, 50 (1994) 644-648
+# I am using the lattice constants measured at temperature 265K
+# (and pressure=100Torr).
diff --git a/tools/moltemplate/moltemplate/force_fields/spce_ice_rect8.lt b/tools/moltemplate/moltemplate/force_fields/spce_ice_rect8.lt
new file mode 100644
index 000000000..ae5d22a77
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/spce_ice_rect8.lt
@@ -0,0 +1,57 @@
+# This ice (1h) unit cell is rectangular and contains 8 water molecules.
+# (Coordinates and cell dimensions converted were from a PDB file.)
+# The dimensions of the unit cell (in Angstroms) are: 4.521 7.832 7.362
+
+
+import "spce.lt" # <-- define the "SPCE" molecule
+
+SpceIceRect8 {
+
+ # Create a 3-dimensional array of 8 water molecules
+
+ wat = new SPCE[2][2][2]
+
+ # Array indices will be correlated with position [xindex][yindex][zindex]
+
+ # You can overwrite coordinates of atoms after they were created this way:
+ # (Order is not important)
+ # atom-ID molecule-ID atomType charge newX newY newZ
+
+ write("Data Atoms") {
+ $atom:wat[1][0][0]/O $mol:wat[1][0][0] @atom:SPCE/O -0.8476 3.391 1.305 1.381
+ $atom:wat[1][0][0]/H1 $mol:wat[1][0][0] @atom:SPCE/H 0.4238 3.391 0.370 1.710
+ $atom:wat[1][0][0]/H2 $mol:wat[1][0][0] @atom:SPCE/H 0.4238 2.582 1.772 1.710
+ $atom:wat[1][0][1]/O $mol:wat[1][0][1] @atom:SPCE/O -0.8476 3.391 1.305 5.981
+ $atom:wat[1][0][1]/H1 $mol:wat[1][0][1] @atom:SPCE/H 0.4238 3.391 1.305 6.970
+ $atom:wat[1][0][1]/H2 $mol:wat[1][0][1] @atom:SPCE/H 0.4238 4.200 1.772 5.652
+ $atom:wat[0][0][0]/O $mol:wat[0][0][0] @atom:SPCE/O -0.8476 1.131 2.611 2.300
+ $atom:wat[0][0][0]/H1 $mol:wat[0][0][0] @atom:SPCE/H 0.4238 1.131 2.611 3.289
+ $atom:wat[0][0][0]/H2 $mol:wat[0][0][0] @atom:SPCE/H 0.4238 0.320 2.143 1.971
+ $atom:wat[0][0][1]/O $mol:wat[0][0][1] @atom:SPCE/O -0.8476 1.131 2.611 5.061
+ $atom:wat[0][0][1]/H1 $mol:wat[0][0][1] @atom:SPCE/H 0.4238 1.940 2.143 5.391
+ $atom:wat[0][0][1]/H2 $mol:wat[0][0][1] @atom:SPCE/H 0.4238 1.131 3.546 5.391
+ $atom:wat[0][1][0]/O $mol:wat[0][1][0] @atom:SPCE/O -0.8476 1.131 5.221 1.381
+ $atom:wat[0][1][0]/H1 $mol:wat[0][1][0] @atom:SPCE/H 0.4238 1.131 4.286 1.710
+ $atom:wat[0][1][0]/H2 $mol:wat[0][1][0] @atom:SPCE/H 0.4238 0.320 5.688 1.710
+ $atom:wat[0][1][1]/O $mol:wat[0][1][1] @atom:SPCE/O -0.8476 1.131 5.221 5.981
+ $atom:wat[0][1][1]/H1 $mol:wat[0][1][1] @atom:SPCE/H 0.4238 1.131 5.221 6.970
+ $atom:wat[0][1][1]/H2 $mol:wat[0][1][1] @atom:SPCE/H 0.4238 1.940 5.688 5.652
+ $atom:wat[1][1][0]/O $mol:wat[1][1][0] @atom:SPCE/O -0.8476 3.391 6.526 2.300
+ $atom:wat[1][1][0]/H1 $mol:wat[1][1][0] @atom:SPCE/H 0.4238 3.391 6.526 3.289
+ $atom:wat[1][1][0]/H2 $mol:wat[1][1][0] @atom:SPCE/H 0.4238 2.582 6.058 1.971
+ $atom:wat[1][1][1]/O $mol:wat[1][1][1] @atom:SPCE/O -0.8476 3.391 6.526 5.061
+ $atom:wat[1][1][1]/H1 $mol:wat[1][1][1] @atom:SPCE/H 0.4238 4.200 6.058 5.391
+ $atom:wat[1][1][1]/H2 $mol:wat[1][1][1] @atom:SPCE/H 0.4238 3.391 7.462 5.391
+ }
+} # IceRect8
+
+# Credit goes to Martin Chaplin.
+# These coordinates were orignally downloaded from Martin Chaplin's
+# website: http://www.btinternet.com/~martin.chaplin/ice1h.html
+# ... and then they were stretched independently in the xy and z
+# directions in order to match the lattice parameters measured by
+# Rottger et al.,
+# "Lattice constants and thermal expansion of H2O and D2O ice Ih"
+# between 10 and 265K", Acta Crystallogr. B, 50 (1994) 644-648
+# I am using the lattice constants measured at temperature 265K
+# (and pressure=100Torr).
diff --git a/tools/moltemplate/moltemplate/force_fields/tinker/tinkerparm2lt.py b/tools/moltemplate/moltemplate/force_fields/tinker/tinkerparm2lt.py
new file mode 100755
index 000000000..acb3db5e5
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/tinker/tinkerparm2lt.py
@@ -0,0 +1,680 @@
+#! /usr/bin/env python
+
+"""
+This standalone python script can be used to convert the force-fields
+distributed with TINKER (".prm" files) into moltemplate (".lt") format.
+
+This script has only been tested with the OPLSAA force field (oplsaa.prm).
+The full list of force-field files distributed with TINKER is available at:
+http://dasher.wustl.edu/tinker/distribution/params
+
+Other TINKER compatible force fields may not work. (One reason for this is that
+some force fields require features, such as point-dipole polarizability, which,
+to my knowledge, have not yet been implemented in LAMMPS as of 2017-2-01.)
+
+"""
+
+
+__author__ = 'Jason Lambert and Andrew Jewett'
+# (some additional corrections by Miguel Gonzalez, Yue Chun Chiu and others)
+__version__ = '0.2.1'
+__date__ = '2017-17-18'
+
+
+import sys
+import os
+from sets import Set
+from operator import itemgetter
+
+
+g_program_name = __file__.split('/')[-1]
+
+
+doc_msg = \
+ "Typical Usage:\n\n" + \
+ " " + g_program_name + " -name OPLS < oplsaa.prm > oplsaa.lt\n\n" + \
+ " where \"oplsaa.prm\" is a force-field file downloaded from the TINKER website,\n" + \
+ " \"oplsaa.lt\" is the corresponding file converted into moltemplate (.lt) format.\n" + \
+ " and \"OPLS\" is the name that future moltemplate users will use to refer to\n" + \
+ " this force-field (optional).\n" + \
+ "Optional Arguments\n" + \
+ " -name FORCEFIELDNAME # Give the force-field a name\n" + \
+ " -file FILE_NAME # Read force field parameters from a file\n" + \
+ " -url URL # Read force field parameters from a file on the web\n" + \
+ " -atoms \"QUOTED LIST\" # Restrict output to a subset of atom types\n"
+
+
+def SplitQuotedString(string,
+ quotes='\'\"',
+ delimiters=' \t\r\f\n',
+ escape='\\',
+ comment_char='#'):
+ tokens = []
+ token = ''
+ reading_token = True
+ escaped_state = False
+ quote_state = None
+ for c in string:
+
+ if (c in comment_char) and (not escaped_state) and (quote_state == None):
+ tokens.append(token)
+ return tokens
+
+ elif (c in delimiters) and (not escaped_state) and (quote_state == None):
+ if reading_token:
+ tokens.append(token)
+ token = ''
+ reading_token = False
+
+ elif c in escape:
+ if escaped_state:
+ token += c
+ reading_token = True
+ escaped_state = False
+ else:
+ escaped_state = True
+ # and leave c (the '\' character) out of token
+ elif (c in quotes) and (not escaped_state):
+ if (quote_state != None):
+ if (c == quote_state):
+ quote_state = None
+ else:
+ quote_state = c
+ token += c
+ reading_token = True
+ else:
+ if (c == 'n') and (escaped_state == True):
+ c = '\n'
+ elif (c == 't') and (escaped_state == True):
+ c = '\t'
+ elif (c == 'r') and (escaped_state == True):
+ c = '\r'
+ elif (c == 'f') and (escaped_state == True):
+ c = '\f'
+ token += c
+ reading_token = True
+ escaped_state = False
+
+ if len(string) > 0:
+ tokens.append(token)
+ return tokens
+
+
+def RemoveOuterQuotes(text, quotes='\"\''):
+ if ((len(text) >= 2) and (text[0] in quotes) and (text[-1] == text[0])):
+ return text[1:-1]
+ else:
+ return text
+
+
+
+def main():
+ try:
+ sys.stderr.write(g_program_name + ", version " +
+ __version__ + ", " + __date__ + "\n")
+ if sys.version < '2.6':
+ raise Exception('Error: Using python ' + sys.version + '\n' +
+ ' Alas, your version of python is too old.\n'
+ ' You must upgrade to a newer version of python (2.6 or later).')
+
+ if sys.version < '2.7':
+ from ordereddict import OrderedDict
+ else:
+ from collections import OrderedDict
+
+ if sys.version > '3':
+ import io
+ else:
+ import cStringIO
+
+ # defaults:
+ ffname = "TINKER_FORCE_FIELD"
+ type_subset = Set([])
+ filename_in = ""
+ file_in = sys.stdin
+ pair_style_name = "lj/cut/coul/long"
+ pair_style_link = "http://lammps.sandia.gov/doc/pair_lj.html"
+ bond_style_name = "harmonic"
+ bond_style_link = "http://lammps.sandia.gov/doc/bond_harmonic.html"
+ angle_style_name = "harmonic"
+ angle_style_link = "http://lammps.sandia.gov/doc/angle_harmonic.html"
+ dihedral_style_name = "fourier"
+ dihedral_style_link = "http://lammps.sandia.gov/doc/dihedral_fourier.html"
+ improper_style_name = "harmonic"
+ improper_style_link = "http://lammps.sandia.gov/doc/improper_harmonic.html"
+ special_bonds_command = "special_bonds lj/coul 0.0 0.0 0.5"
+ mixing_style = "geometric"
+ contains_united_atoms = False
+
+ argv = [arg for arg in sys.argv]
+
+ i = 1
+
+ while i < len(argv):
+
+ #sys.stderr.write('argv['+str(i)+'] = \"'+argv[i]+'\"\n')
+
+ if argv[i] == '-atoms':
+ if i + 1 >= len(argv):
+ raise Exception('Error: the \"' + argv[i] + '\" argument should be followed by a quoted string\n'
+ ' which contains a space-delimited list of of a subset of atom types\n'
+ ' you want to use from the original force-field.\n'
+ ' Make sure you enclose the entire list in quotes.\n')
+ type_subset = Set(argv[i + 1].strip('\"\'').strip().split())
+ del argv[i:i + 2]
+
+ elif argv[i] == '-name':
+ if i + 1 >= len(argv):
+ raise Exception(
+ 'Error: ' + argv[i] + ' flag should be followed by the name of the force-field\n')
+ ffname = argv[i + 1]
+ del argv[i:i + 2]
+
+ elif argv[i] in ('-file', '-in-file'):
+ if i + 1 >= len(argv):
+ raise Exception(
+ 'Error: ' + argv[i] + ' flag should be followed by the name of a force-field file\n')
+ filename_in = argv[i + 1]
+ try:
+ file_in = open(filename_in, 'r')
+ except IOError:
+ sys.stderr.write('Error: Unable to open file\n'
+ ' \"' + filename_in + '\"\n'
+ ' for reading.\n')
+ sys.exit(1)
+ del argv[i:i + 2]
+
+ elif argv[i] == '-dihedral-style':
+ if i + 1 >= len(argv):
+ raise Exception(
+ 'Error: ' + argv[i] + ' flag should be followed by either \"opls\" or \"fourier\"\n')
+ dihedral_style_name = argv[i + 1]
+ if dihedral_style_name == "fourier":
+ dihedral_style_link = "http://lammps.sandia.gov/doc/dihedral_fourier.html"
+ if dihedral_style_name == "opls":
+ dihedral_style_link = "http://lammps.sandia.gov/doc/dihedral_opls.html"
+ else:
+ raise Exception(
+ 'Error: ' + argv[i] + ' ' + dihedral_style_name + ' not supported.\n')
+ del argv[i:i + 2]
+
+ elif argv[i] in ('-url', '-in-url'):
+ import urllib2
+ if i + 1 >= len(argv):
+ raise Exception(
+ 'Error: ' + argv[i] + ' flag should be followed by the name of a force-field file.\n')
+ url = argv[i + 1]
+ try:
+ request = urllib2.Request(url)
+ file_in = urllib2.urlopen(request)
+ except urllib2.URLError:
+ sys.stdout.write("Error: Unable to open link:\n" + url + "\n")
+ sys.exit(1)
+ del argv[i:i + 2]
+
+ elif argv[i] in ('-help', '--help', '-?', '--?'):
+ sys.stderr.write(doc_msg)
+ sys.exit(0)
+ del argv[i:i + 1]
+
+ else:
+ i += 1
+
+ if len(argv) != 1:
+ raise Exception('Error: Unrecongized arguments: ' + ' '.join(argv[1:]) +
+ '\n\n' + doc_msg)
+
+ #sys.stderr.write("Reading parameter file...\n")
+
+ lines = file_in.readlines()
+
+ atom2charge = OrderedDict() # lookup charge from atom type
+ atom2mass = OrderedDict() # lookup mass from atom type
+ atom2vdw_e = OrderedDict() # lookup Lennard-Jones "epsilon" parameter
+ atom2vdw_s = OrderedDict() # lookup Lennard-Jones "sigma" parameter
+ atom2descr = OrderedDict()
+ atom2ffid = OrderedDict() # lookup force-field-ID from atom type
+ # force-field-ID is an id number/string used to assign
+ # bonds, angles, dihedrals, and impropers.
+
+ bonds_by_type = OrderedDict() # lookup bond parameters by force-field-ID
+ angles_by_type = OrderedDict() # lookup angle parameters by force-field-ID
+ dihedrals_by_type = OrderedDict() # lookup dihedral parameters by force-field-ID
+ impropers_by_type = OrderedDict() # lookup improper parameters by force-field-ID
+ lines_ureybrad = []
+ lines_biotype = []
+
+ for iline in range(0, len(lines)):
+ line = lines[iline]
+ tokens = SplitQuotedString(line.strip(),
+ comment_char='#')
+
+ if (len(tokens) > 1) and (tokens[0] == 'atom'):
+ tokens = map(RemoveOuterQuotes,
+ SplitQuotedString(line.strip(),
+ comment_char=''))
+ if (len(tokens) > 6):
+ if ((len(type_subset) == 0) or (tokens[1] in type_subset)):
+ atom2ffid[tokens[1]] = tokens[2]
+ #atom2mass[tokens[1]] = float(tokens[6])
+ # Some atoms in oplsaa.prm have zero mass. Unfortunately this
+ # causes LAMMPS to crash, even if these atoms are never used,
+ # so I give the mass a non-zero value instead.
+ atom2mass[tokens[1]] = max(float(tokens[6]), 1e-30)
+ atom2descr[tokens[1]] = tokens[4]
+ if tokens[4].find('(UA)') != -1:
+ contains_united_atoms = True
+ else:
+ raise Exception('Error: Invalid atom line:\n' + line)
+ elif (len(tokens) > 2) and (tokens[0] == 'charge'):
+ if ((len(type_subset) == 0) or (tokens[1] in type_subset)):
+ atom2charge[tokens[1]] = float(tokens[2])
+ elif (len(tokens) > 3) and (tokens[0] == 'vdw'):
+ if ((len(type_subset) == 0) or (tokens[1] in type_subset)):
+ atom2vdw_e[tokens[1]] = float(tokens[3]) # "epsilon"
+ atom2vdw_s[tokens[1]] = float(tokens[2]) # "sigma"
+ elif (len(tokens) > 4) and (tokens[0] == 'bond'):
+ k = float(tokens[3])
+ r0 = float(tokens[4])
+ bonds_by_type[tokens[1], tokens[2]] = (k, r0)
+ elif (len(tokens) > 5) and (tokens[0] == 'angle'):
+ k = float(tokens[4])
+ angle0 = float(tokens[5])
+ angles_by_type[tokens[1], tokens[2], tokens[3]] = (k, angle0)
+ elif (len(tokens) > 11) and (tokens[0] == 'torsion'):
+ if dihedral_style_name == 'fourier':
+ # http://lammps.sandia.gov/doc/dihedral_fourier.html
+ m = (len(tokens) - 5) / 3
+ K = [0.0 for i in range(0, m)]
+ n = [0.0 for i in range(0, m)]
+ d = [0.0 for i in range(0, m)]
+ for i in range(0, m):
+ K[i] = float(tokens[5 + 3 * i])
+ d[i] = float(tokens[5 + 3 * i + 1])
+ n[i] = float(tokens[5 + 3 * i + 2])
+ dihedrals_by_type[tokens[1], tokens[2],
+ tokens[3], tokens[4]] = (K, n, d)
+ elif dihedral_style_name == 'opls':
+ # http://lammps.sandia.gov/doc/dihedral_opls.html
+ K1 = float(tokens[5])
+ K2 = float(tokens[8])
+ K3 = float(tokens[11])
+ K4 = 0.0
+ if len(tokens) > 14:
+ K4 = float(tokens[14])
+ if ((float(tokens[6]) != 0.0) or (float(tokens[7]) != 1.0) or
+ (float(tokens[9]) not in (180.0, -180.0)) or (float(tokens[10]) != 2.0) or
+ (float(tokens[12]) != 0.0) or (float(tokens[13]) != 3.0) or
+ ((K4 != 0.0) and
+ ((len(tokens) <= 16) or
+ (float(tokens[15]) not in (180.0, -180.0)) or
+ (float(tokens[16]) != 4.0)))):
+ raise Exception("Error: This parameter file is incompatible with -dihedral-style \"" + dihedral_style_name + "\"\n" +
+ " (See line number " + str(iline + 1) + " of parameter file.)\n")
+ dihedrals_by_type[tokens[1], tokens[2],
+ tokens[3], tokens[4]] = (K1, K2, K3, K4)
+ else:
+ assert(False)
+
+ elif (len(tokens) > 7) and (tokens[0] == 'imptors'):
+ k = float(tokens[5])
+ angle0 = float(tokens[6])
+ multiplicity = float(tokens[7])
+ impropers_by_type[tokens[1], tokens[2], tokens[
+ 3], tokens[4]] = (k / multiplicity, angle0)
+ elif ((len(tokens) > 0) and (tokens[0] == 'biotype')):
+ # I'm not sure what to do with these, so I'll store them for now and
+ # append them as comments to the .lt file generated by the program.
+ lines_biotype.append(line.rstrip())
+ elif ((len(tokens) > 0) and (tokens[0] == 'ureybrad')):
+ # I'm not sure what to do with these, so I'll store them for now and
+ # append them as comments to the .lt file generated by the program.
+ lines_ureybrad.append(line.rstrip())
+ elif ((len(tokens) > 1) and (tokens[0] == 'radiusrule')):
+ if tokens[1] == 'GEOMETRIC':
+ mixing_style = 'geometric'
+ elif tokens[1] == 'ARITHMETIC':
+ mixing_style = 'arithmetic'
+ else:
+ raise Exception("Error: Unrecognized mixing style: " + tokens[1] + ", found here:\n" +
+ line)
+ elif ((len(tokens) > 1) and (tokens[0] == 'epsilonrule')):
+ if tokens[1] != 'GEOMETRIC':
+ raise Exception("Error: As of 2016-9-21, LAMMPS only supports GEOMETRIC mixing of energies\n" +
+ " This force field simply cannot be used with LAMMPS in a general way.\n" +
+ " One way around this is to manually change the \"epsilonrule\" back to\n" +
+ " GEOMETRIC, and limit the number of atom types considered by this\n" +
+ " program by using the -atoms \"LIST OF ATOMS\" argument,\n" +
+ " to only include the atoms you care about, and then explicitly\n" +
+ " define pair_coeffs for all possible pairs of these atom types.\n" +
+ " If this is a popular force-field, then lobby the LAMMPS developers\n" +
+ " to consider alternate mixing rules.\n\n" +
+ "The offending line from the file is line number " + str(iline) + ":\n" +
+ line + "\n")
+
+
+
+ #sys.stderr.write(" done.\n")
+ #sys.stderr.write("Converting to moltemplate format...\n")
+
+
+ system_is_charged = False
+ for atom_type in atom2charge:
+ if atom2charge[atom_type] != 0.0:
+ system_is_charged = True
+
+ if system_is_charged:
+ pair_style_name = "lj/cut/coul/long"
+ pair_style_params = "10.0 10.0"
+ kspace_style = " kspace_style pppm 0.0001\n"
+ pair_style_link = "http://lammps.sandia.gov/doc/pair_lj.html"
+ else:
+ pair_style_name = "lj/cut"
+ pair_style_params = "10.0"
+ kspace_style = ""
+ pair_style_link = "http://lammps.sandia.gov/doc/pair_lj.html"
+
+ pair_style_command = " pair_style hybrid " + \
+ pair_style_name + " " + pair_style_params + "\n"
+
+
+ sys.stdout.write("# This file was generated automatically using:\n")
+ sys.stdout.write("# " + g_program_name + " " + " ".join(sys.argv[1:]) + "\n")
+ if contains_united_atoms:
+ sys.stdout.write("#\n"
+ "# WARNING: Many of these atoms are probably UNITED-ATOM (UA) atoms.\n"
+ "# The hydrogen atoms have been absorbed into the heavy atoms, and the\n"
+ "# force-field modified accordingly. Do not mix with ordinary atoms.\n")
+ sys.stdout.write("#\n"
+ "# WARNING: The following 1-2, 1-3, and 1-4 weighting parameters were ASSUMED:\n")
+ sys.stdout.write("# " + special_bonds_command + "\n")
+ sys.stdout.write(
+ "# (See http://lammps.sandia.gov/doc/special_bonds.html for details)\n")
+ if len(lines_ureybrad) > 0:
+ sys.stdout.write("#\n"
+ "# WARNING: All Urey-Bradley interactions have been IGNORED including:\n")
+ sys.stdout.write("# ffid1 ffid2 ffid3 K r0\n# ")
+ sys.stdout.write("\n# ".join(lines_ureybrad))
+ sys.stdout.write("\n\n")
+ sys.stdout.write("\n\n")
+ sys.stdout.write(ffname + " {\n\n")
+
+ sys.stdout.write(" # Below we will use lammps \"set\" command to assign atom charges\n"
+ " # by atom type. http://lammps.sandia.gov/doc/set.html\n\n")
+
+ sys.stdout.write(" write_once(\"In Charges\") {\n")
+ for atype in atom2mass:
+ assert(atype in atom2descr)
+ sys.stdout.write(" set type @atom:" + atype + " charge " + str(atom2charge[atype]) +
+ " # \"" + atom2descr[atype] + "\"\n")
+ sys.stdout.write(" } #(end of atom partial charges)\n\n\n")
+
+
+ sys.stdout.write(" write_once(\"Data Masses\") {\n")
+ for atype in atom2mass:
+ sys.stdout.write(" @atom:" + atype + " " + str(atom2mass[atype]) + "\n")
+ sys.stdout.write(" } #(end of atom masses)\n\n\n")
+
+
+ sys.stdout.write(" # ---------- EQUIVALENCE CATEGORIES for bonded interaction lookup ----------\n"
+ " # Each type of atom has a separate ID used for looking up bond parameters\n"
+ " # and a separate ID for looking up 3-body angle interaction parameters\n"
+ " # and a separate ID for looking up 4-body dihedral interaction parameters\n"
+ " # and a separate ID for looking up 4-body improper interaction parameters\n"
+ #" # (This is because there are several different types of sp3 carbon atoms\n"
+ #" # which have the same torsional properties when within an alkane molecule,\n"
+ #" # for example. If they share the same dihedral-ID, then this frees us\n"
+ #" # from being forced define separate dihedral interaction parameters\n"
+ #" # for all of them.)\n"
+ " # The complete @atom type name includes ALL of these ID numbers. There's\n"
+ " # no need to force the end-user to type the complete name of each atom.\n"
+ " # The \"replace\" command used below informs moltemplate that the short\n"
+ " # @atom names we have been using abovee are equivalent to the complete\n"
+ " # @atom names used below:\n\n")
+
+ for atype in atom2ffid:
+ ffid = atype + "_ffid" + atom2ffid[atype]
+ sys.stdout.write(" replace{ @atom:" + atype +
+ " @atom:" + atype + "_b" + atom2ffid[atype] + "_a" + atom2ffid[atype] + "_d" + atom2ffid[atype] + "_i" + atom2ffid[atype] + " }\n")
+ sys.stdout.write("\n\n\n\n")
+
+
+ sys.stdout.write(" # --------------- Non-Bonded interactions: ---------------------\n"
+ " # " + pair_style_link + "\n"
+ " # Syntax:\n"
+ " # pair_coeff AtomType1 AtomType2 pair_style_name parameters...\n\n")
+
+ sys.stdout.write(" write_once(\"In Settings\") {\n")
+ for atype in atom2vdw_e:
+ assert(atype in atom2vdw_s)
+ if not (atype in atom2ffid):
+ continue
+
+ sys.stdout.write(" pair_coeff " +
+ "@atom:" + atype + "_b" + atom2ffid[atype] + "_a" + atom2ffid[
+ atype] + "_d" + atom2ffid[atype] + "_i" + atom2ffid[atype] + " "
+ "@atom:" + atype + "_b" + atom2ffid[atype] + "_a" + atom2ffid[atype] + "_d" + atom2ffid[atype] + "_i" + atom2ffid[atype] + " " +
+ pair_style_name +
+ " " + str(atom2vdw_e[atype]) +
+ " " + str(atom2vdw_s[atype]) + "\n")
+ sys.stdout.write(" } #(end of pair_coeffs)\n\n\n\n")
+
+
+ sys.stdout.write(" # ------- Bonded Interactions: -------\n"
+ " # " + bond_style_link + "\n"
+ " # Syntax: \n"
+ " # bond_coeff BondTypeName BondStyle parameters...\n\n")
+
+ sys.stdout.write(" write_once(\"In Settings\") {\n")
+ for btype in bonds_by_type:
+ ffid1 = btype[0] if btype[0] != "0" else "X"
+ ffid2 = btype[1] if btype[1] != "0" else "X"
+ (k, r0) = bonds_by_type[btype]
+ sys.stdout.write(" bond_coeff @bond:" + ffid1 + "-" + ffid2 + " " +
+ bond_style_name + " " + str(k) + " " + str(r0) + "\n")
+ sys.stdout.write(" } #(end of bond_coeffs)\n\n")
+
+ sys.stdout.write(" # Rules for assigning bond types by atom type:\n"
+ " # BondTypeName AtomType1 AtomType2\n"
+ " # (* = wildcard)\n\n")
+
+ sys.stdout.write(" write_once(\"Data Bonds By Type\") {\n")
+ for btype in bonds_by_type:
+ ffid1 = btype[0] if btype[0] != "0" else "X"
+ ffid2 = btype[1] if btype[1] != "0" else "X"
+ sys.stdout.write(" @bond:" + ffid1 + "-" + ffid2)
+ ffid1 = "@atom:*_b" + btype[0] + \
+ "_a*_d*_i*" if btype[0] != "0" else "@atom:*"
+ ffid2 = "@atom:*_b" + btype[1] + \
+ "_a*_d*_i*" if btype[1] != "0" else "@atom:*"
+ sys.stdout.write(" " + ffid1 + " " + ffid2 + "\n")
+ sys.stdout.write(" } #(end of bonds by type)\n\n\n\n\n")
+
+
+ sys.stdout.write(" # ------- Angle Interactions: -------\n"
+ " # " + angle_style_link + "\n"
+ " # Syntax: \n"
+ " # angle_coeff AngleTypeName AngleStyle parameters...\n\n")
+
+ sys.stdout.write(" write_once(\"In Settings\") {\n")
+ for atype in angles_by_type:
+ ffid1 = atype[0] if atype[0] != "0" else "X"
+ ffid2 = atype[1] if atype[1] != "0" else "X"
+ ffid3 = atype[2] if atype[2] != "0" else "X"
+ (k, angle0) = angles_by_type[atype]
+ sys.stdout.write(" angle_coeff @angle:" + ffid1 + "-" + ffid2 + "-" + ffid3 + " " +
+ angle_style_name + " " + str(k) + " " + str(angle0) + "\n")
+ sys.stdout.write(" } #(end of angle_coeffs)\n\n")
+
+
+ sys.stdout.write(" # Rules for creating angle interactions according to atom type:\n"
+ " # AngleTypeName AtomType1 AtomType2 AtomType3\n"
+ " # (* = wildcard)\n\n")
+
+ sys.stdout.write(" write_once(\"Data Angles By Type\") {\n")
+ for atype in angles_by_type:
+ ffid1 = atype[0] if atype[0] != "0" else "X"
+ ffid2 = atype[1] if atype[1] != "0" else "X"
+ ffid3 = atype[2] if atype[2] != "0" else "X"
+ sys.stdout.write(" @angle:" + ffid1 + "-" + ffid2 + "-" + ffid3)
+ ffid1 = "@atom:*_b*_a" + atype[0] + \
+ "_d*_i*" if atype[0] != "0" else "@atom:*"
+ ffid2 = "@atom:*_b*_a" + atype[1] + \
+ "_d*_i*" if atype[1] != "0" else "@atom:*"
+ ffid3 = "@atom:*_b*_a" + atype[2] + \
+ "_d*_i*" if atype[2] != "0" else "@atom:*"
+ sys.stdout.write(" " + ffid1 + " " + ffid2 + " " + ffid3 + "\n")
+ sys.stdout.write(" } #(end of angles by type)\n\n\n\n\n")
+
+
+ sys.stdout.write(" # ----------- Dihedral Interactions: ------------\n"
+ " # " + dihedral_style_link + "\n"
+ " # Syntax:\n"
+ " # dihedral_coeff DihedralTypeName DihedralStyle parameters...\n\n")
+
+ sys.stdout.write(" write_once(\"In Settings\") {\n")
+ for dtype in dihedrals_by_type:
+ ffid1 = dtype[0] if dtype[0] != "0" else "X"
+ ffid2 = dtype[1] if dtype[1] != "0" else "X"
+ ffid3 = dtype[2] if dtype[2] != "0" else "X"
+ ffid4 = dtype[3] if dtype[3] != "0" else "X"
+ sys.stdout.write(" dihedral_coeff @dihedral:" +
+ ffid1 + "-" + ffid2 + "-" + ffid3 + "-" + ffid4 + " " +
+ dihedral_style_name + " ")
+ if dihedral_style_name == 'fourier':
+ # http://lammps.sandia.gov/doc/dihedral_fourier.html
+ (K, n, d) = dihedrals_by_type[dtype]
+ m = len(K)
+ assert((m == len(n)) and (m == len(d)))
+ sys.stdout.write(str(m))
+ for i in range(0, m):
+ sys.stdout.write(" " + str(K[i]) +
+ " " + str(n[i]) + " " + str(d[i]))
+ sys.stdout.write("\n")
+ elif dihedral_style_name == 'opls':
+ # http://lammps.sandia.gov/doc/dihedral_opls.html
+ (K1, K2, K3, K4) = dihedrals_by_type[dtype]
+ sys.stdout.write(str(K1) + " " + str(K2) + " " +
+ str(K3) + " " + str(K4) + "\n")
+ else:
+ assert(False)
+ sys.stdout.write(" } #(end of dihedral_coeffs)\n\n")
+
+
+ sys.stdout.write(" # Rules for creating dihedral interactions according to atom type:\n"
+ " # DihedralTypeName AtomType1 AtomType2 AtomType3 AtomType4\n"
+ " # (* = wildcard)\n\n")
+
+ sys.stdout.write(" write_once(\"Data Dihedrals By Type\") {\n")
+ for dtype in dihedrals_by_type:
+ ffid1 = dtype[0] if dtype[0] != "0" else "X"
+ ffid2 = dtype[1] if dtype[1] != "0" else "X"
+ ffid3 = dtype[2] if dtype[2] != "0" else "X"
+ ffid4 = dtype[3] if dtype[3] != "0" else "X"
+ sys.stdout.write(" @dihedral:" + ffid1 + "-" +
+ ffid2 + "-" + ffid3 + "-" + ffid4)
+ ffid1 = "@atom:*_b*_a*_d" + dtype[0] + \
+ "_i*" if dtype[0] != "0" else "@atom:*"
+ ffid2 = "@atom:*_b*_a*_d" + dtype[1] + \
+ "_i*" if dtype[1] != "0" else "@atom:*"
+ ffid3 = "@atom:*_b*_a*_d" + dtype[2] + \
+ "_i*" if dtype[2] != "0" else "@atom:*"
+ ffid4 = "@atom:*_b*_a*_d" + dtype[3] + \
+ "_i*" if dtype[3] != "0" else "@atom:*"
+ sys.stdout.write(" " + ffid1 + " " + ffid2 +
+ " " + ffid3 + " " + ffid4 + "\n")
+ sys.stdout.write(" } #(end of dihedrals by type)\n\n\n\n\n")
+
+
+ sys.stdout.write(" # ---------- Improper Interactions: ----------\n"
+ " # " + improper_style_link + "\n"
+ " # Syntax:\n"
+ " # improper_coeff ImproperTypeName ImproperStyle parameters\n\n")
+
+ sys.stdout.write(" write_once(\"In Settings\") {\n")
+ for itype in impropers_by_type:
+ ffid1 = itype[0] if itype[0] != "0" else "X"
+ ffid2 = itype[1] if itype[1] != "0" else "X"
+ ffid3 = itype[2] if itype[2] != "0" else "X"
+ ffid4 = itype[3] if itype[3] != "0" else "X"
+ (k, angle0) = impropers_by_type[itype]
+ sys.stdout.write(" improper_coeff @improper:" +
+ ffid1 + "-" + ffid2 + "-" + ffid3 + "-" + ffid4 + " " +
+ improper_style_name + " " + str(k) + " " + str(angle0) + "\n")
+ sys.stdout.write(" } #(end of improper_coeffs)\n\n")
+
+
+ sys.stdout.write(" # Rules for creating dihedral interactions according to atom type:\n"
+ " # ImproperTypeName AtomType1 AtomType2 AtomType3 AtomType4\n"
+ " # (* = wildcard)\n")
+
+ sys.stdout.write(" write_once(\"Data Impropers By Type (opls_imp.py)\") {\n")
+ for itype in impropers_by_type:
+ ffid1 = itype[0] if itype[0] != "0" else "X"
+ ffid2 = itype[1] if itype[1] != "0" else "X"
+ ffid3 = itype[2] if itype[2] != "0" else "X"
+ ffid4 = itype[3] if itype[3] != "0" else "X"
+ sys.stdout.write(" @improper:" + ffid1 + "-" +
+ ffid2 + "-" + ffid3 + "-" + ffid4)
+ ffid1 = "@atom:*_b*_a*_d*_i" + itype[0] if itype[0] != "0" else "@atom:*"
+ ffid2 = "@atom:*_b*_a*_d*_i" + itype[1] if itype[1] != "0" else "@atom:*"
+ ffid3 = "@atom:*_b*_a*_d*_i" + itype[2] if itype[2] != "0" else "@atom:*"
+ ffid4 = "@atom:*_b*_a*_d*_i" + itype[3] if itype[3] != "0" else "@atom:*"
+ sys.stdout.write(" " + ffid1 + " " + ffid2 +
+ " " + ffid3 + " " + ffid4 + "\n")
+ sys.stdout.write(" } #(end of impropers by type)\n\n\n\n\n")
+
+ sys.stdout.write(" # -------- (descriptive comment) --------\n")
+ sys.stdout.write(" # ---- biologically relevant atom types: ----\n # ")
+ sys.stdout.write("\n # ".join(lines_biotype))
+ sys.stdout.write("\n # ---------- (end of comment) ----------\n")
+ sys.stdout.write("\n\n\n\n")
+
+
+ sys.stdout.write(" # LAMMPS supports many different kinds of bonded and non-bonded\n"
+ " # interactions which can be selected at run time. Eventually\n"
+ " # we must inform LAMMPS which of them we will need. We specify\n"
+ " # this in the \"In Init\" section: \n\n")
+
+ sys.stdout.write(" write_once(\"In Init\") {\n")
+ sys.stdout.write(" units real\n")
+ sys.stdout.write(" atom_style full\n")
+ sys.stdout.write(" bond_style hybrid " + bond_style_name + "\n")
+ sys.stdout.write(" angle_style hybrid " + angle_style_name + "\n")
+ sys.stdout.write(" dihedral_style hybrid " + dihedral_style_name + "\n")
+ sys.stdout.write(" improper_style hybrid " + improper_style_name + "\n")
+ sys.stdout.write(pair_style_command)
+ sys.stdout.write(" pair_modify mix " + mixing_style + "\n")
+ sys.stdout.write(" " + special_bonds_command + "\n")
+ sys.stdout.write(kspace_style)
+ sys.stdout.write(" } #end of init parameters\n\n")
+
+ sys.stdout.write(" # Note: We use \"hybrid\" styles in case the user later wishes to\n"
+ " # combine the molecules built using this force-field with other\n"
+ " # molecules that use other styles. (This is not necessarily\n"
+ " # a good idea, but LAMMPS and moltemplate both allow it.)\n"
+ " # For more information:\n"
+ " # http://lammps.sandia.gov/doc/pair_hybrid.html\n"
+ " # http://lammps.sandia.gov/doc/bond_hybrid.html\n"
+ " # http://lammps.sandia.gov/doc/angle_hybrid.html\n"
+ " # http://lammps.sandia.gov/doc/dihedral_hybrid.html\n"
+ " # http://lammps.sandia.gov/doc/improper_hybrid.html\n\n\n")
+
+ sys.stdout.write("} # " + ffname + "\n\n")
+
+
+ #sys.stderr.write(" done.\n")
+
+ if filename_in != "":
+ file_in.close()
+
+
+
+
+ except Exception as err:
+ sys.stderr.write('\n\n' + str(err) + '\n')
+ sys.exit(1)
+
+
+if __name__ == '__main__':
+ main()
diff --git a/tools/moltemplate/moltemplate/force_fields/tip3p_1983.lt b/tools/moltemplate/moltemplate/force_fields/tip3p_1983.lt
new file mode 100644
index 000000000..4a792691e
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/tip3p_1983.lt
@@ -0,0 +1,119 @@
+#############################################################
+# WARNING: THIS FILE HAS NOT BEEN TESTED!
+# (If you use this file in a simulation, please email me to let me know
+# if it worked. -Andrew 2014-5, (jewett dot aij at gmail dot com))
+#########################################################
+# There are two different versions of TIP3P:
+#
+# tip3p_1983.lt # The implementation of TIP3P used by CHARMM (I think).
+# tip3p_2004.lt # The newer Price & Brooks, J. Chem Phys 2004 model
+# # which uses long-range coulombics
+#########################################################
+
+# file "tip3p_1983.lt"
+#
+# H1 H2
+# \ /
+# O
+#
+# I think this is the TIP3P water model used by CHARMM (and AMBER?). See:
+# Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem Phys, 79, 926 (1983)
+
+
+TIP3P_1983 {
+
+ write("Data Atoms") {
+ $atom:O $mol:. @atom:O -0.834 0.0000000 0.00000 0.000000
+ $atom:H1 $mol:. @atom:H 0.417 0.756950327 0.00000 0.5858822766
+ $atom:H2 $mol:. @atom:H 0.417 -0.756950327 0.00000 0.5858822766
+ }
+
+ write_once("Data Masses") {
+ @atom:O 15.9994
+ @atom:H 1.008
+ }
+
+ write("Data Bonds") {
+ $bond:OH1 @bond:OH $atom:O $atom:H1
+ $bond:OH2 @bond:OH $atom:O $atom:H2
+ }
+
+ write("Data Angles") {
+ $angle:HOH @angle:HOH $atom:H1 $atom:O $atom:H2
+ }
+
+ write_once("In Settings") {
+ bond_coeff @bond:OH harmonic 450.0 0.9572
+ angle_coeff @angle:HOH harmonic 55.0 104.52
+
+ #########################################################################
+ #### There are two choices for for the O-O interactions
+ #########################################################################
+ #### O-O nonbonded interactions
+
+ # For the 1983 Jorgensen version of TIP3P use:
+ pair_coeff @atom:O @atom:O lj/charmm/coul/charmm 0.1521 3.1507
+
+ # For the 2004 Price & Brooks version of TIP3P use:
+ #pair_coeff @atom:O @atom:O lj/charmm/coul/long 0.102 3.188
+
+ #########################################################################
+ #### There are three choices for for the O-H and H-H interactions
+ #########################################################################
+ #### 1) The original Jorgensen 1983 and 2004 Price & Brooks models have no
+ # mixed OH or HH interactions. For this behavior, uncomment these lines:
+ pair_coeff @atom:H @atom:H lj/charmm/coul/charmm 0.00 0.4000
+ pair_coeff @atom:O @atom:H lj/charmm/coul/charmm 0.00 1.7753
+ #########################################################################
+ #### 2) CHARMM uses an arithmetic mixing-rule for the O-H sigma parameter
+ #pair_coeff @atom:H @atom:H lj/charmm/coul/charmm 0.0460 0.4000
+ #pair_coeff @atom:O @atom:H lj/charmm/coul/charmm 0.0836 1.7753#arithmetic
+ #########################################################################
+ #### 3) OPLS-AA uses geometric a mixing-fule for the O-H sigma parameter,
+ #### If you want to use this, uncomment the following two lines:
+ #pair_coeff @atom:H @atom:H lj/charmm/coul/charmm 0.0460 0.4000
+ #pair_coeff @atom:O @atom:H lj/charmm/coul/charmm 0.0836 1.1226 #geometric
+ #########################################################################
+
+ # Define a group for the tip3p water molecules:
+ group tip3p type @atom:O @atom:H
+
+ # Optional: Constrain the angles and distances.
+ # (Most implementations use this, but it is optional.)
+ fix fShakeTIP3P tip3p shake 0.0001 10 100 b @bond:OH a @angle:HOH
+ # (Remember to "unfix" fShakeTIP3P during minimization.)
+ }
+
+
+ write_once("In Init") {
+ # -- Default styles (for solo "TIP3P_1983" water) --
+ units real
+ atom_style full
+
+ # I'm not sure exactly which cutoffs distances are traditionally used in
+ # in the 1983 "TIP3P" model by Jorgensen model, (used by CHARMM).
+ # (See the Price JCP 2004 paper for a review.)
+ # My first guess was this:
+ pair_style hybrid lj/charmm/coul/charmm 7.5 8.0 10.0 10.5
+
+ # However, in the LAMMPS "peptide" example, they use these parameters:
+ # pair_style hybrid lj/charmm/coul/long 8.0 10.0 10.0
+
+ bond_style hybrid harmonic
+ angle_style hybrid harmonic
+ #pair_modify mix arithmetic # LEAVE THIS UNSPECIFIED!
+ }
+
+} # "TIP3P_1983" water molecule type
+
+
+
+
+# (note to self:)
+# In the LAMMPS "peptide" example, these (nearly identical) parameters were used
+# and they left the O-H parameters to be determined by the default mixing rules
+#pair_style lj/charmm/coul/long 8.0 10.0 10.0
+#pair_coeff @atom:H @atom:H 0.046 0.400014 0.046 0.400014
+#pair_coeff @atom:O @atom:O 0.1521 3.15057 0.1521 3.15057
+#angle_style charmm
+#angle_coeff @angle:HOH 55.0 104.52 0.0 0.0
diff --git a/tools/moltemplate/moltemplate/force_fields/tip3p_1983_charmm.lt b/tools/moltemplate/moltemplate/force_fields/tip3p_1983_charmm.lt
new file mode 100644
index 000000000..1b89435be
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/tip3p_1983_charmm.lt
@@ -0,0 +1,119 @@
+#############################################################
+# WARNING: THIS FILE HAS NOT BEEN TESTED!
+# (If you use this file in a simulation, please email me to let me know
+# if it worked. -Andrew 2014-5, (jewett dot aij at gmail dot com))
+#########################################################
+# There are two different versions of TIP3P:
+#
+# tip3p_1983.lt # The implementation of TIP3P used by CHARMM (I think).
+# tip3p_2004.lt # The newer Price & Brooks, J. Chem Phys 2004 model
+# # which uses long-range coulombics
+#########################################################
+
+# file "tip3p_1983_charmm.lt"
+#
+# H1 H2
+# \ /
+# O
+#
+# I think this is the TIP3P water model used by CHARMM (and AMBER?). See:
+# Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem Phys, 79, 926 (1983)
+
+
+TIP3P_1983_CHARMM {
+
+ write("Data Atoms") {
+ $atom:O $mol:. @atom:O -0.834 0.0000000 0.00000 0.000000
+ $atom:H1 $mol:. @atom:H 0.417 0.756950327 0.00000 0.5858822766
+ $atom:H2 $mol:. @atom:H 0.417 -0.756950327 0.00000 0.5858822766
+ }
+
+ write_once("Data Masses") {
+ @atom:O 15.9994
+ @atom:H 1.008
+ }
+
+ write("Data Bonds") {
+ $bond:OH1 @bond:OH $atom:O $atom:H1
+ $bond:OH2 @bond:OH $atom:O $atom:H2
+ }
+
+ write("Data Angles") {
+ $angle:HOH @angle:HOH $atom:H1 $atom:O $atom:H2
+ }
+
+ write_once("In Settings") {
+ bond_coeff @bond:OH harmonic 450.0 0.9572
+ angle_coeff @angle:HOH harmonic 55.0 104.52
+
+ #########################################################################
+ #### There are two choices for for the O-O interactions
+ #########################################################################
+ #### O-O nonbonded interactions
+
+ # For the 1983 Jorgensen version of TIP3P use:
+ pair_coeff @atom:O @atom:O lj/charmm/coul/charmm 0.1521 3.1507
+
+ # For the 2004 Price & Brooks version of TIP3P use:
+ #pair_coeff @atom:O @atom:O lj/charmm/coul/long 0.102 3.188
+
+ #########################################################################
+ #### There are three choices for for the O-H and H-H interactions
+ #########################################################################
+ #### 1) The original Jorgensen 1983 and 2004 Price & Brooks models have no
+ # mixed OH or HH interactions. For this behavior, uncomment these lines:
+ #pair_coeff @atom:H @atom:H lj/charmm/coul/charmm 0.00 0.4000
+ #pair_coeff @atom:O @atom:H lj/charmm/coul/charmm 0.00 1.7753
+ #########################################################################
+ #### 2) CHARMM uses an arithmetic mixing-rule for the O-H sigma parameter
+ pair_coeff @atom:H @atom:H lj/charmm/coul/charmm 0.0460 0.4000
+ pair_coeff @atom:O @atom:H lj/charmm/coul/charmm 0.0836 1.7753 #arithmetic
+ #########################################################################
+ #### 3) OPLS-AA uses geometric a mixing-fule for the O-H sigma parameter,
+ #### If you want to use this, uncomment the following two lines:
+ #pair_coeff @atom:H @atom:H lj/charmm/coul/charmm 0.0460 0.4000
+ #pair_coeff @atom:O @atom:H lj/charmm/coul/charmm 0.0836 1.1226 #geometric
+ #########################################################################
+
+ # Define a group for the tip3p water molecules:
+ group tip3p type @atom:O @atom:H
+
+ # Optional: Constrain the angles and distances.
+ # (Most implementations use this, but it is optional.)
+ fix fShakeTIP3P tip3p shake 0.0001 10 100 b @bond:OH a @angle:HOH
+ # (Remember to "unfix" fShakeTIP3P during minimization.)
+ }
+
+
+ write_once("In Init") {
+ # -- Default styles (for solo "TIP3P_1983_CHARMM" water) --
+ units real
+ atom_style full
+
+ # I'm not sure exactly which cutoffs distances are traditionally used in
+ # in the 1983 "TIP3P" model by Jorgensen model, (used by CHARMM).
+ # (See the Price JCP 2004 paper for a review.)
+ # My first guess was this:
+ pair_style hybrid lj/charmm/coul/charmm 7.5 8.0 10.0 10.5
+
+ # However, in the LAMMPS "peptide" example, they use these parameters:
+ # pair_style hybrid lj/charmm/coul/long 8.0 10.0 10.0
+
+ bond_style hybrid harmonic
+ angle_style hybrid harmonic
+ #pair_modify mix arithmetic # LEAVE THIS UNSPECIFIED!
+ }
+
+} # "TIP3P_1983_CHARMM" water molecule type
+
+
+
+
+# (note to self:)
+# In the LAMMPS "peptide" example, these (nearly identical) parameters were used
+# and they left the O-H parameters to be determined by the default mixing rules
+#pair_style lj/charmm/coul/long 8.0 10.0 10.0
+#pair_coeff @atom:H @atom:H 0.046 0.400014 0.046 0.400014
+#pair_coeff @atom:O @atom:O 0.1521 3.15057 0.1521 3.15057
+#angle_style charmm
+#angle_coeff @angle:HOH 55.0 104.52 0.0 0.0
diff --git a/tools/moltemplate/moltemplate/force_fields/tip3p_2004.lt b/tools/moltemplate/moltemplate/force_fields/tip3p_2004.lt
new file mode 100644
index 000000000..0c8da1bc5
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/tip3p_2004.lt
@@ -0,0 +1,107 @@
+#########################################################
+# WARNING: THIS FILE HAS NOT BEEN TESTED!
+# (If you use this file in a simulation, please email me to let me know
+# if it worked. -Andrew 2014-5, (jewett dot aij at gmail dot com))
+#########################################################
+# There are two different versions of TIP3P:
+#
+# tip3p_1983.lt # The implementation of TIP3P used by CHARMM (I think).
+# tip3p_2004.lt # The newer Price & Brooks, J. Chem Phys 2004 model
+# # which uses long-range coulombics
+#########################################################
+
+# file "tip3p_2004.lt"
+#
+# H1 H2
+# \ /
+# O
+#
+# I think this is the TIP3P water described in the paper by
+# Daniel J. Price and Charles L. Brooks III
+# J. Chem. Phys., 121(20): 10096 (2004)
+# Specifically I think it refers to the "Model B" version of long-range TIP3P
+# described in the 3rd-to-last column of "Table I", on p.10099.
+
+TIP3P_2004 {
+
+ write("Data Atoms") {
+ $atom:O $mol:. @atom:O -0.830 0.0000000 0.00000 0.000000
+ $atom:H1 $mol:. @atom:H 0.415 0.756950327 0.00000 0.5858822766
+ $atom:H2 $mol:. @atom:H 0.415 -0.756950327 0.00000 0.5858822766
+ }
+
+ write_once("Data Masses") {
+ @atom:O 15.9994
+ @atom:H 1.008
+ }
+
+ write("Data Bonds") {
+ $bond:OH1 @bond:OH $atom:O $atom:H1
+ $bond:OH2 @bond:OH $atom:O $atom:H2
+ }
+
+ write("Data Angles") {
+ $angle:HOH @angle:HOH $atom:H1 $atom:O $atom:H2
+ }
+
+ write_once("In Settings") {
+ bond_coeff @bond:OH harmonic 450.0 0.9572
+ angle_coeff @angle:HOH harmonic 55.0 104.52
+
+ #########################################################################
+ #### There are two choices for for the O-O interactions
+ #########################################################################
+ #### O-O nonbonded interactions
+
+ # For the 1983 Jorgensen version of TIP3P use:
+ #pair_coeff @atom:O @atom:O lj/charmm/coul/charmm 0.1521 3.1507
+
+ # For the 2004 Price & Brooks version of TIP3P use:
+ pair_coeff @atom:O @atom:O lj/charmm/coul/long 0.102 3.188
+
+ #########################################################################
+ #### There are three choices for for the O-H and H-H interactions
+ #########################################################################
+ #### 1) The original Jorgensen 1983 and 2004 Price & Brooks models have no
+ # mixed OH or HH interactions. For this behavior, uncomment these lines:
+ pair_coeff @atom:H @atom:H lj/charmm/coul/long 0.00 0.4000
+ pair_coeff @atom:O @atom:H lj/charmm/coul/long 0.00 1.7753
+ #########################################################################
+ #### 2) CHARMM uses an arithmetic mixing-rule for the O-H sigma parameter
+ #pair_coeff @atom:H @atom:H lj/charmm/coul/long 0.0460 0.4000
+ #pair_coeff @atom:O @atom:H lj/charmm/coul/long 0.0836 1.7753 #arithmetic
+ #########################################################################
+ #### 3) OPLS-AA uses geometric a mixing-fule for the O-H sigma parameter,
+ #### If you want to use this, uncomment the following two lines:
+ #pair_coeff @atom:H @atom:H lj/charmm/coul/long 0.0460 0.4000
+ #pair_coeff @atom:O @atom:H lj/charmm/coul/long 0.0836 1.1226 #geometric
+ #########################################################################
+
+ # Define a group for the tip3p water molecules:
+ group tip3p type @atom:O @atom:H
+
+ # Optional: Constrain the angles and distances.
+ # (Most implementations use this, but it is optional.)
+ fix fShakeTIP3P tip3p shake 0.0001 10 100 b @bond:OH a @angle:HOH
+ # (Remember to "unfix" fShakeTIP3P during minimization.)
+ }
+
+
+ write_once("In Init") {
+ # -- Default styles (for solo "TIP3P_2004" water) --
+ units real
+ atom_style full
+
+ pair_style hybrid lj/charmm/coul/long 10.0 10.5 10.5
+
+ # Note: in the LAMMPS "peptide" example, they use these parameters:
+ # pair_style hybrid lj/charmm/coul/long 8.0 10.0 10.0
+
+ bond_style hybrid harmonic
+ angle_style hybrid harmonic
+ kspace_style pppm 0.0001
+ #pair_modify mix arithmetic # LEAVE THIS UNSPECIFIED!
+ }
+
+} # "TIP3P_2004" water molecule type
+
diff --git a/tools/moltemplate/moltemplate/force_fields/trappe1998.lt b/tools/moltemplate/moltemplate/force_fields/trappe1998.lt
new file mode 100644
index 000000000..1227b2aeb
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/trappe1998.lt
@@ -0,0 +1,53 @@
+# This file stores complete LAMMPS data for the TraPPE model of saturated
+# hydrocarbon chains. In this "united-atom" model, each methyl group is
+# represented by a single atom. Forces between "atoms" are taken from the
+# TraPPE force-field. (J Phys Chem B, 1998, volume 102, pp.2569-2577)
+
+TraPPE {
+
+ write_once("Data Masses") {
+ @atom:CH2 14.1707
+ @atom:CH3 15.2507
+ @atom:CH4 16.3307
+ }
+
+ write_once("Data Angles By Type") {
+ @angle:backbone @atom:CH? @atom:CH? @atom:CH? @bond:saturated @bond:saturated
+ }
+
+ write_once("Data Dihedrals By Type") {
+ @dihedral:backbone @atom:CH? @atom:CH? @atom:CH? @atom:CH? @bond:saturated @bond:saturated @bond:saturated
+ }
+
+ write_once("In Settings") {
+ pair_coeff @atom:CH2 @atom:CH2 lj/charmm/coul/charmm 0.091411522 3.95
+ pair_coeff @atom:CH3 @atom:CH3 lj/charmm/coul/charmm 0.194746286 3.75
+ pair_coeff @atom:CH4 @atom:CH4 lj/charmm/coul/charmm 0.294106636 3.73
+ bond_coeff @bond:saturated harmonic 120.0 1.54
+ angle_coeff @angle:backbone harmonic 62.0022 114
+ dihedral_coeff @dihedral:backbone opls 1.411036 -0.271016 3.145034 0.0
+ }
+
+ # Optional: Create a group corresponding to atoms used by the TraPPE force-
+ # field. (This is useful if you mix force-fields together.)
+
+ write_once("In Settings") {
+ group TraPPE type @atom:CH2 @atom:CH3 @atom:CH4
+ }
+
+ write_once("In Init") {
+ # -- Default styles for "TraPPE" --
+ units real
+ atom_style full
+ # (Hybrid force field styles were used for portability.)
+ bond_style hybrid harmonic
+ angle_style hybrid harmonic
+ dihedral_style hybrid opls
+ improper_style none
+ pair_style hybrid lj/charmm/coul/charmm 9.0 11.0 9.0 11.0
+ pair_modify mix arithmetic
+ special_bonds lj 0.0 0.0 0.0
+ }
+
+} # class TraPPE
+
diff --git a/tools/moltemplate/moltemplate/force_fields/watmw.lt b/tools/moltemplate/moltemplate/force_fields/watmw.lt
new file mode 100644
index 000000000..f4eedc404
--- /dev/null
+++ b/tools/moltemplate/moltemplate/force_fields/watmw.lt
@@ -0,0 +1,77 @@
+# This file stores LAMMPS data for the "mW" water model.
+# (Molinero, V. and Moore, E.B., J. Phys. Chem. B 2009, 113, 4008-4016)
+#
+# In this model, each water molecule is represented by a single "mW" particle.
+# These particles interact with their neighbors via 3-body Stillinger-Weber
+# forces whose parameters are tuned to mimic directional hydrogen-bonding
+# in liquid water (as well as hexagonal ice, type II ice, and
+# low-density super-cooled liquid/amorphous water phases).
+
+####
+#
+# NOTE: THIS FILE IS INTENDED FOR SIMULATIONS OF PURE WATER ONLY.
+# IF YOU HAVE OTHER ATOMS IN YOUR SYSTEM (BESIDES WATER),
+# YOU MUST REPLACE THIS LINE:
+#
+# pair_coeff * * sw system.in.sw mW
+#
+# WITH THIS LINE:
+#
+# pair_coeff * * sw system.in.sw mW NULL NULL NULL
+#
+# ...IN THE FILE BELOW.
+#
+# (Note:The number of "NULL" entries in the list should match the
+# number of other atom types defined somewhere in your simulation.
+# In the "3bodyWater+hydrocarbons_MW+TraPPE" example, there are 3
+# types of carbon defined in "trappe1998.lt", so "NULL" appears 3 times.
+####
+
+
+
+
+WatMW {
+ write("Data Atoms") {
+ $atom:mW $mol:. @atom:mW 0.0 0.0 0.0 0.0
+ }
+
+ write_once("Data Masses") {
+ @atom:mW 18.02
+ }
+
+ write_once("system.in.sw") {
+ mW mW mW 6.189 2.3925 1.8 23.15 1.2 -0.333333333 7.049556277 0.602224558 4 0 0
+ }
+
+ write_once("In Init") {
+ # -- Default styles for "WatMW" --
+ units real
+ pair_style sw
+ }
+
+ write_once("In Settings") {
+ # --Now indicate which atom type(s) are simulated using the "sw" pair style
+ # -- In this case only one of the atom types is used (the mW water "atom").
+
+ pair_coeff * * sw system.in.sw mW # SEE COMMENT ABOVE
+
+ # -- Unfortunately LAMMPS itself does not understand molemlate syntax, so
+ # -- the atoms are identified by order in the list, not by name. (The "mW"
+ # -- refers to to an identifier in the system.in.sw file, not watmw.lt.)
+ # -- This command says that the first atom type corresponds to the "mW"
+ # -- atom in system.in.sw, and to ignore the remaining three atom types
+ # -- (correspond to the CH2, CH3, CH4 atom types defined in trappe1998.lt.
+ # -- We don't want to use the "sw" force field for interactions involving
+ # -- these atom types, so we put "NULL" there.)
+ # -- Note: For this to work, you should probably run moltemplate this way:
+ # -- moltemplate.sh -a "@atom:WatMW/mW 1" system.lt
+ # -- This assigns the atom type named @atom:WatMW/mW to 1 (the first atom)
+ }
+
+ # -- optional --
+
+ write_once("In Settings") {
+ group WatMW type @atom:mW #(Atoms of this type belong to the "WatMW" group)
+ }
+
+} # WatMW
diff --git a/tools/moltemplate/moltemplate/genpoly_lt.py b/tools/moltemplate/moltemplate/genpoly_lt.py
new file mode 100755
index 000000000..2c4014e5d
--- /dev/null
+++ b/tools/moltemplate/moltemplate/genpoly_lt.py
@@ -0,0 +1,746 @@
+#!/usr/bin/env python
+
+"""
+ Generate a moltemplate (.lt) file containing a definition of a polymer
+ molecule whose monomers are located at the positions specified in
+ "coords.raw" (a 3-column text file). Monomers will be rotated so
+ that they point in the direction connecting neighbors (r[i+1]-r[i])
+ The user can specify the subunits to use when building the polymer,
+ the atoms to to build bonds (and angles, and dihedrals) between monomers
+ and the helical pitch of the polymer. The output of this program is
+ a text file in moltemplate (.lt) format containing the sequence of
+ moltemplate commands needed to build this polymer molecule(s). (One must
+ then run moltemplate on this file to build the LAMMPS simulation files.)
+ Multiple Polymers:
+ To make it easier to create polymer melts, multiple polymers can be created
+ from coordinates in the same file by using the "-cuts" command line argument.
+ Encapsulation:
+ If the "-polymer-name PolyName" command line option is given, then these
+ moltemplate commands will be nested within the definition of a moltemplate
+ object (named "PolyName", in this example. Later in your moltemplate files,
+ you must remember to instantiate a copy of this moltemplate object using
+ a command like "polymer = new PolyName" Atoms within this object will
+ share the same molecule-ID number.) If multiple polymers are requested, then
+ each of them will have their own polymer object.
+
+"""
+
+
+g_usage_msg = """
+Usage:
+
+ genpoly_lt.py \\
+ [-bond btype a1 a2] \\
+ [-helix deltaphi] \\
+ [-axis x,y,z] \\
+ [-circular yes/no/connected] \\
+ [-dir-indices ia ib] \\
+ [-angle atype a1 a2 a3 i1 i2 i3] \\
+ [-dihedral dtype a1 a2 a3 a4 i1 i2 i3 i4] \\
+ [-improper itype a1 a2 a3 a4 i1 i2 i3 i4] \\
+ [-monomer-name mname] \\
+ [-sequence sequence.txt] \\
+ [-polymer-name pname] \\
+ [-inherits ForceFieldObject] \\
+ [-header "import \"monomer.lt\""] \\
+ [-cuts cuts.txt] \\
+ [-box paddingX,paddingY,paddingZ] \\
+ < coords.raw > polymer.lt
+
+"""
+
+
+import sys
+import random
+from math import *
+
+
+class InputError(Exception):
+ """ A generic exception object containing a string for error reporting.
+ (Raising this exception implies that the caller has provided
+ a faulty input file or argument.)
+
+ """
+
+ def __init__(self, err_msg):
+ self.err_msg = err_msg
+
+ def __str__(self):
+ return self.err_msg
+
+ def __repr__(self):
+ return str(self)
+
+
+class GPSettings(object):
+
+ def __init__(self):
+ self.direction_orig = [1.0, 0.0, 0.0]
+ self.is_circular = False
+ self.connect_ends = False
+ self.delta_phi = 0.0
+ self.header = 'import \"forcefield.lt\"'
+ self.name_monomer = 'Monomer'
+ self.name_polymer = ''
+ self.inherits = ''
+ self.name_sequence = []
+ self.dir_index_offsets = (-1,1)
+ self.cuts = []
+ self.box_padding = None
+ self.bonds_name = []
+ self.bonds_type = []
+ self.bonds_atoms = []
+ self.bonds_index_offsets = []
+ self.angles_name = []
+ self.angles_type = []
+ self.angles_atoms = []
+ self.angles_index_offsets = []
+ self.dihedrals_name = []
+ self.dihedrals_type = []
+ self.dihedrals_atoms = []
+ self.dihedrals_index_offsets = []
+ self.impropers_name = []
+ self.impropers_type = []
+ self.impropers_atoms = []
+ self.impropers_index_offsets = []
+
+ def ParseArgs(self, argv):
+ i = 1
+ while i < len(argv):
+ #sys.stderr.write('argv['+str(i)+'] = \"'+argv[i]+'\"\n')
+ if argv[i].lower() == '-bond':
+ if i + 3 >= len(argv):
+ raise InputError(
+ 'Error: ' + argv[i] + ' flag should be followed by 4 strings.\n')
+ # self.bonds_name.append(argv[i+1])
+ self.bonds_type.append(argv[i + 1])
+ self.bonds_atoms.append((argv[i + 2],
+ argv[i + 3]))
+ self.bonds_index_offsets.append((0, 1))
+ del(argv[i:i + 4])
+ elif argv[i].lower() == '-angle':
+ if i + 7 >= len(argv):
+ raise InputError(
+ 'Error: ' + argv[i] + ' flag should be followed by 5 strings and 3 integers.\n')
+ # self.angles_name.append(argv[i+1])
+ self.angles_type.append(argv[i + 1])
+ self.angles_atoms.append((argv[i + 2],
+ argv[i + 3],
+ argv[i + 4]))
+ self.angles_index_offsets.append((int(argv[i + 5]),
+ int(argv[i + 6]),
+ int(argv[i + 7])))
+ if ((self.angles_index_offsets[-1][0] < 0) or
+ (self.angles_index_offsets[-1][1] < 0) or
+ (self.angles_index_offsets[-1][2] < 0)):
+ raise InputError(
+ 'Error: ' + argv[i] + ' indices (i1 i2 i3) must be >= 0\n')
+ del(argv[i:i + 8])
+ elif argv[i].lower() == '-dihedral':
+ if i + 9 >= len(argv):
+ raise InputError(
+ 'Error: ' + argv[i] + ' flag should be followed by 6 strings and 4 integers.\n')
+ # self.dihedrals_name.append(argv[i+1])
+ self.dihedrals_type.append(argv[i + 1])
+ self.dihedrals_atoms.append((argv[i + 2],
+ argv[i + 3],
+ argv[i + 4],
+ argv[i + 5]))
+ self.dihedrals_index_offsets.append((int(argv[i + 6]),
+ int(argv[i + 7]),
+ int(argv[i + 8]),
+ int(argv[i + 9])))
+ if ((self.dihedrals_index_offsets[-1][0] < 0) or
+ (self.dihedrals_index_offsets[-1][1] < 0) or
+ (self.dihedrals_index_offsets[-1][2] < 0) or
+ (self.dihedrals_index_offsets[-1][3] < 0)):
+ raise InputError(
+ 'Error: ' + argv[i] + ' indices (i1 i2 i3 i4) must be >= 0\n')
+ del(argv[i:i + 10])
+ elif argv[i].lower() == '-improper':
+ if i + 9 >= len(argv):
+ raise InputError(
+ 'Error: ' + argv[i] + ' flag should be followed by 6 strings and 4 integers.\n')
+ # self.impropers_name.append(argv[i+1])
+ self.impropers_type.append(argv[i + 1])
+ self.impropers_atoms.append((argv[i + 2],
+ argv[i + 3],
+ argv[i + 4],
+ argv[i + 5]))
+ self.impropers_index_offsets.append((int(argv[i + 6]),
+ int(argv[i + 7]),
+ int(argv[i + 8]),
+ int(argv[i + 9])))
+ if ((self.impropers_index_offsets[-1][0] < 0) or
+ (self.impropers_index_offsets[-1][1] < 0) or
+ (self.impropers_index_offsets[-1][2] < 0) or
+ (self.impropers_index_offsets[-1][3] < 0)):
+ raise InputError(
+ 'Error: ' + argv[i] + ' indices (i1 i2 i3 i4) must be >= 0\n')
+ del(argv[i:i + 10])
+ elif (argv[i].lower() == '-monomer-name'):
+ if i + 1 >= len(argv):
+ raise InputError(
+ 'Error: ' + argv[i] + ' flag should be followed by a string\n')
+ self.name_monomer = argv[i + 1]
+ del(argv[i:i + 2])
+ elif (argv[i].lower() == '-sequence'):
+ if i + 1 >= len(argv):
+ raise InputError(
+ 'Error: ' + argv[i] + ' flag should be followed by a file name\n')
+ try:
+ f = open(argv[i + 1], "r")
+ except IOError:
+ raise InputError(
+ 'Error: file ' + argv[i + 1] + ' could not be opened for reading\n')
+ self.name_sequence = []
+ for line_orig in f:
+ line = line_orig.strip()
+ ic = line.find('#')
+ if ic != -1:
+ line = line[:ic]
+ else:
+ line = line.strip()
+ if len(line) > 0:
+ self.name_sequence.append(line)
+ del(argv[i:i + 2])
+ elif (argv[i].lower() == '-cuts'):
+ if i + 1 >= len(argv):
+ raise InputError(
+ 'Error: ' + argv[i] + ' flag should be followed by a file name\n')
+ try:
+ f = open(argv[i + 1], "r")
+ except IOError:
+ raise InputError(
+ 'Error: file ' + argv[i + 1] + ' could not be opened for reading\n')
+ self.name_sequence = []
+ for line_orig in f:
+ line = line_orig.strip()
+ ic = line.find('#')
+ if ic != -1:
+ line = line[:ic]
+ else:
+ line = line.strip()
+ if len(line) > 0:
+ try:
+ self.cuts.append(int(line))
+ except ValueError:
+ raise InputError(
+ 'Error: file ' + argv[i + 1] + ' should contain only nonnegative integers.\n')
+ del(argv[i:i + 2])
+ elif (argv[i].lower() == '-polymer-name'):
+ if i + 1 >= len(argv):
+ raise InputError(
+ 'Error: ' + argv[i] + ' flag should be followed by a string\n')
+ self.name_polymer = argv[i + 1]
+ del(argv[i:i + 2])
+ elif (argv[i].lower() == '-inherits'):
+ if i + 1 >= len(argv):
+ raise InputError(
+ 'Error: ' + argv[i] + ' flag should be followed by a string\n')
+ self.inherits = argv[i + 1]
+ if self.inherits.find('inherits ') == 0:
+ self.inherits = ' ' + self.inherits
+ else:
+ self.inherits = ' inherits ' + self.inherits
+ if self.name_polymer == '':
+ self.name_polymer = 'Polymer' # supply a default name
+ del(argv[i:i + 2])
+ elif (argv[i].lower() == '-header'):
+ if i + 1 >= len(argv):
+ raise InputError(
+ 'Error: ' + argv[i] + ' flag should be followed by a string (usually in quotes)\n')
+ self.header = argv[i + 1]
+ del(argv[i:i + 2])
+ elif argv[i].lower() == '-axis':
+ if i + 1 >= len(argv):
+ raise InputError('Error: ' + argv[i] + ' flag should be followed ' +
+ 'by 3 numbers separated by commas (no spaces)\n')
+ self.direction_orig = map(float, argv[i + 1].split(','))
+ del(argv[i:i + 2])
+ elif argv[i].lower() == '-circular':
+ if i + 1 >= len(argv):
+ raise InputError('Error: ' + argv[i] + ' flag should be followed by an argument\n' +
+ ' ("yes", "no", or "connected")\n')
+ if argv[i + 1].lower() == 'yes':
+ self.connect_ends = True
+ self.is_circular = True
+ elif argv[i + 1].lower() == 'connected':
+ self.connect_ends = True
+ self.is_circular = False
+ elif argv[i + 1].lower() == 'no':
+ self.connect_ends = False
+ self.is_circular = False
+ else:
+ raise InputError('Error: ' + argv[i] + ' flag should be followed by an argument\n' +
+ ' ("yes", "no", or "connected")\n')
+ del(argv[i:i + 2])
+ elif argv[i].lower() == '-helix':
+ if i + 1 >= len(argv):
+ raise InputError(
+ 'Error: ' + argv[i] + ' flag should be followed by a number (angle in degrees)\n')
+ self.delta_phi = float(argv[i + 1])
+ del(argv[i:i + 2])
+ elif (argv[i].lower() == '-dir-indices'):
+ if i + 2 >= len(argv):
+ raise InputError(
+ 'Error: ' + argv[i] + ' flag should be followed by two integers\n')
+ self.dir_index_offsets = (int(argv[i + 1]), int(argv[i + 2]))
+ if self.dir_index_offsets[0] == self.dir_index_offsets[1]:
+ raise InputError(
+ 'Error: The two numbers following ' + argv[i] + ' must not be equal.\n')
+ del(argv[i:i + 3])
+ elif (argv[i].lower() == '-box'):
+ if i + 1 >= len(argv):
+ raise InputError('Error: ' + argv[i] + ' flag should be followed ' +
+ 'by 3 numbers separated by commas (no spaces)\n')
+ self.box_padding = map(float, argv[i + 1].split(','))
+ if len(self.box_padding) == 1:
+ self.box_padding = self.box_padding * 3
+ del(argv[i:i + 2])
+
+ # elif ((argv[i][0] == '-') and (__name__ == '__main__')):
+ #
+ # raise InputError('Error('+g_program_name+'):\n'+\
+ # 'Unrecogized command line argument \"'+argv[i]+\
+ # '\"\n\n'+\
+ # __doc__)
+ else:
+ i += 1
+
+ for b in range(0, len(self.bonds_type)):
+ if len(self.bonds_type) > 1:
+ self.bonds_name.append('genpoly' + str(b + 1) + '_')
+ else:
+ self.bonds_name.append('genpoly')
+ for b in range(0, len(self.angles_type)):
+ if len(self.angles_type) > 1:
+ self.angles_name.append('genpoly' + str(b + 1) + '_')
+ else:
+ self.angles_name.append('genpoly')
+ for b in range(0, len(self.dihedrals_type)):
+ if len(self.dihedrals_type) > 1:
+ self.dihedrals_name.append('genpoly' + str(b + 1) + '_')
+ else:
+ self.dihedrals_name.append('genpoly')
+ for b in range(0, len(self.impropers_type)):
+ if len(self.impropers_type) > 1:
+ self.impropers_name.append('genpoly' + str(b + 1) + '_')
+ else:
+ self.impropers_name.append('genpoly')
+
+
+class WrapPeriodic(object):
+ """ Wrap() calculates the remainder of i % N.
+ It turns out to be convenient to do this multiple times and later
+ query whether i/N != 0 in any of them once (by checking bounds_err).
+
+ """
+ bounds_err = False
+
+ @classmethod
+ def Wrap(obj, i, N):
+ if i / N != 0:
+ obj.bounds_err = True
+ return i % N
+
+ def WrapF(obj, x, L):
+ i = floor(x / L)
+ if i != 0:
+ obj.bounds_err = True
+ return x - i * L
+
+
+class GenPoly(object):
+ """
+ Read coordinates from a file, and generate a list of \"new\" commands
+ in moltemplate format with the position of each monomer located
+ at these positions, oriented appropriately, with bonds (and angles,
+ dihedrals, etc...) connecting successive monomers together.
+ By default (if settings.cuts==False) only a single polymer is created.
+ However this class can create multiple polymers of different lengths.
+ The list of coordinates for each polymer are saved separately within
+ the "self.coords_multi" member.
+
+ """
+
+ def __init__(self):
+ self.settings = GPSettings()
+ self.coords_multi = [] # a list-of-list-of-lists of numbers Nxnx3
+ self.direction_vects = []
+ self.box_bounds_min = [0.0, 0.0, 0.0]
+ self.box_bounds_max = [0.0, 0.0, 0.0]
+ self.N = 0
+
+ def ParseArgs(self, argv):
+ # The command above will remove arguments from argv which are
+ # understood by GPSettings.ParseArgs(argv).
+ # The remaining arguments will be handled below.
+ self.settings.ParseArgs(argv)
+
+ def ReadCoords(self, infile):
+ coords = []
+ lines = infile.readlines()
+ for i in range(0, len(lines)):
+ tokens = lines[i].strip().split()
+ if (len(tokens) == 3):
+ coords.append(map(float, tokens))
+
+ self.N = len(coords)
+ if self.N < 2:
+ raise InputError(
+ "Error: Coordinate file must have at least 2 positions.\n")
+ # Now generate self.settings.name_sequence:
+ if len(self.settings.name_sequence) != self.N:
+ self.settings.name_sequence = [self.settings.name_monomer] * self.N
+
+ self.settings.cuts.append(self.N + 1)
+ self.settings.cuts.sort()
+ i = 0
+ for j in self.settings.cuts:
+ self.coords_multi.append(coords[i:j])
+ i = j
+
+ def ChooseDirections(self, coords):
+ """
+ Calculate the direction each monomer subunit should be pointing at:
+
+ """
+
+ self.N = len(coords)
+ self.direction_vects = [[0.0, 0.0, 0.0] for i in range(0, self.N + 1)]
+
+ if self.settings.is_circular:
+ for i in range(0, self.N):
+ # By default, the direction that monomer "i" is pointing is
+ # determined by the position of the monomers before and after it
+ # (at index i-1, and i+1). More generally, we allow the user
+ # to choose what these offsets are ("dir_index_offsets[")
+ ia = WrapPeriodic.Wrap(i + self.settings.dir_index_offsets[0],
+ self.N)
+ ib = WrapPeriodic.Wrap(i + self.settings.dir_index_offsets[1],
+ self.N)
+ for d in range(0, 3):
+ self.direction_vects[i][d] = coords[
+ ib][d] - coords[ia][d]
+ else:
+ for i in range(1, self.N - 1):
+ for d in range(0, 3):
+ self.direction_vects[i][d] = coords[
+ i + self.settings.dir_index_offsets[1]][d] - coords[
+ i + self.settings.dir_index_offsets[0]][d]
+
+ for d in range(0, 3):
+ self.direction_vects[0][d] = coords[1][d] - coords[0][d]
+ self.direction_vects[
+ self.N - 1][d] = coords[self.N - 1][d] - coords[self.N - 2][d]
+
+ # Optional: normalize the direction vectors
+
+ for i in range(0, self.N):
+ direction_len = 0.0
+ for d in range(0, 3):
+ direction_len += (self.direction_vects[i][d])**2
+ direction_len = sqrt(direction_len)
+ for d in range(0, 3):
+ self.direction_vects[i][d] /= direction_len
+
+ # Special case: self.direction_vects[-1] is the direction that the original monomer
+ # in "monomer.lt" was pointing. (By default, 1,0,0 <--> the "x"
+ # direction)
+
+ self.direction_vects[-1] = self.settings.direction_orig
+
+ def WriteLTFile(self, outfile):
+ """ Write an moltemplate (.lt) file containing the definition of
+ this polymer object. (If multiple polymer objects were requested by
+ the user (using the -cuts argument), then their definitions will
+ appear nested within this object, and each of them will be
+ instantiated once when the parent object is instantiated.)
+
+ """
+
+ outfile.write(self.settings.header + "\n\n\n")
+ if len(self.coords_multi) == 1:
+ self.WritePolymer(outfile,
+ self.settings.name_polymer +
+ self.settings.inherits,
+ self.coords_multi[0])
+ else:
+ if self.settings.name_polymer != '':
+ outfile.write(self.settings.name_polymer + " {\n\n")
+ outfile.write('# Definitions of individual polymers to follow\n\n')
+ for i in range(0, len(self.coords_multi)):
+ self.WritePolymer(outfile,
+ self.settings.name_polymer + '_sub' + str(i + 1) +
+ self.settings.inherits,
+ self.coords_multi[i])
+ outfile.write('\n\n'
+ '# Now instantiate all the polymers (once each)\n\n')
+
+ for i in range(0, len(self.coords_multi)):
+ outfile.write('polymers[' + str(i) + '] = new ' +
+ self.settings.name_polymer + '_sub' + str(i + 1) + '\n')
+
+ if self.settings.name_polymer != '':
+ outfile.write('\n\n'
+ '} # ' + self.settings.name_polymer + '\n\n')
+
+ if self.settings.box_padding != None:
+ for i in range(0, len(self.coords_multi)):
+ # calculate the box big enough to collectively enclose
+ # all of the coordinates (even multiple coordinate sets)
+ self.CalcBoxBoundaries(self.coords_multi[i])
+ self.WriteBoxBoundaries(outfile)
+
+ def WritePolymer(self,
+ outfile,
+ name_polymer,
+ coords):
+ """ Write a single polymer object to a file.
+ This function is invoked by WriteLTFile()
+
+ """
+ self.ChooseDirections(coords)
+
+ if name_polymer != '':
+ outfile.write(name_polymer + ' {\n'
+ '\n\n\n'
+ 'create_var {$mol}\n'
+ '# The line above forces all monomer subunits to share the same molecule-ID\n'
+ '# (Note: Setting the molecule-ID number is optional and is usually ignored.)\n\n\n\n')
+
+ outfile.write("""
+# ------------ List of Monomers: ------------
+#
+# (Note: move(), rot(), and rotvv() commands control the position
+# of each monomer. (See the moltemplate manual for an explanation
+# of what they do.) Commands enclosed in push() are cumulative
+# and remain in effect until removed by pop().)
+
+
+
+"""
+ )
+
+ outfile.write("push(move(0,0,0))\n")
+
+ for i in range(0, self.N):
+ #im1 = i-1
+ # if im1 < 0 or self.settings.connect_ends:
+ # if im1 < 0:
+ # im1 += self.N
+ outfile.write("pop()\n")
+ outfile.write("push(rotvv(" +
+ str(self.direction_vects[i - 1][0]) + "," +
+ str(self.direction_vects[i - 1][1]) + "," +
+ str(self.direction_vects[i - 1][2]) + "," +
+ str(self.direction_vects[i][0]) + "," +
+ str(self.direction_vects[i][1]) + "," +
+ str(self.direction_vects[i][2]) + "))\n")
+ # Recall that self.direction_vects[-1] =
+ # self.settings.direction_orig (usually 1,0,0)
+ outfile.write("push(move(" +
+ str(coords[i][0]) + "," +
+ str(coords[i][1]) + "," +
+ str(coords[i][2]) + "))\n")
+
+ outfile.write("mon[" + str(i) + "] = new " +
+ self.settings.name_sequence[i] +
+ ".rot(" + str(self.settings.delta_phi * i) + ",1,0,0)\n")
+
+ assert(len(self.settings.bonds_name) ==
+ len(self.settings.bonds_type) ==
+ len(self.settings.bonds_atoms) ==
+ len(self.settings.bonds_index_offsets))
+ if len(self.settings.bonds_type) > 0:
+ outfile.write("\n"
+ "\n"
+ "write(\"Data Bonds\") {\n")
+ WrapPeriodic.bounds_err = False
+ for i in range(0, self.N):
+ test = False
+ for b in range(0, len(self.settings.bonds_type)):
+ I = i + self.settings.bonds_index_offsets[b][0]
+ J = i + self.settings.bonds_index_offsets[b][1]
+ I = WrapPeriodic.Wrap(I, self.N)
+ J = WrapPeriodic.Wrap(J, self.N)
+ if WrapPeriodic.bounds_err:
+ WrapPeriodic.bounds_err = False
+ if not self.settings.connect_ends:
+ continue
+ outfile.write(
+ " $bond:" + self.settings.bonds_name[b] + str(i + 1))
+ if len(self.settings.bonds_type) > 1:
+ outfile.write("_" + str(b + 1))
+ outfile.write(" @bond:" + self.settings.bonds_type[b] + " $atom:mon[" + str(I) + "]/" + self.settings.bonds_atoms[
+ b][0] + " $atom:mon[" + str(J) + "]/" + self.settings.bonds_atoms[b][1] + "\n")
+ if len(self.settings.bonds_type) > 0:
+ outfile.write("} # write(\"Data Bonds\") {...\n\n\n")
+
+ assert(len(self.settings.angles_name) ==
+ len(self.settings.angles_type) ==
+ len(self.settings.angles_atoms) ==
+ len(self.settings.angles_index_offsets))
+ if len(self.settings.angles_type) > 0:
+ outfile.write("\n"
+ "\n"
+ "write(\"Data Angles\") {\n")
+ for i in range(0, self.N):
+ for b in range(0, len(self.settings.angles_type)):
+ I = i + self.settings.angles_index_offsets[b][0]
+ J = i + self.settings.angles_index_offsets[b][1]
+ K = i + self.settings.angles_index_offsets[b][2]
+ I = WrapPeriodic.Wrap(I, self.N)
+ J = WrapPeriodic.Wrap(J, self.N)
+ K = WrapPeriodic.Wrap(K, self.N)
+ if WrapPeriodic.bounds_err:
+ WrapPeriodic.bounds_err = False
+ if not self.settings.connect_ends:
+ continue
+ outfile.write(
+ " $angle:" + self.settings.angles_name[b] + str(i + 1))
+ if len(self.settings.angles_type) > 1:
+ outfile.write("_" + str(b + 1))
+ outfile.write(" @angle:" + self.settings.angles_type[b] +
+ " $atom:mon[" + str(I) + "]/" + self.settings.angles_atoms[b][0] +
+ " $atom:mon[" + str(J) + "]/" + self.settings.angles_atoms[b][1] +
+ " $atom:mon[" + str(K) + "]/" + self.settings.angles_atoms[b][2] +
+ "\n")
+ if len(self.settings.angles_type) > 0:
+ outfile.write("} # write(\"Data Angles\") {...\n\n\n")
+
+ assert(len(self.settings.dihedrals_name) ==
+ len(self.settings.dihedrals_type) ==
+ len(self.settings.dihedrals_atoms) ==
+ len(self.settings.dihedrals_index_offsets))
+ if len(self.settings.dihedrals_type) > 0:
+ outfile.write("\n"
+ "\n"
+ "write(\"Data Dihedrals\") {\n")
+ for i in range(0, self.N):
+ for b in range(0, len(self.settings.dihedrals_type)):
+ I = i + self.settings.dihedrals_index_offsets[b][0]
+ J = i + self.settings.dihedrals_index_offsets[b][1]
+ K = i + self.settings.dihedrals_index_offsets[b][2]
+ L = i + self.settings.dihedrals_index_offsets[b][3]
+ I = WrapPeriodic.Wrap(I, self.N)
+ J = WrapPeriodic.Wrap(J, self.N)
+ K = WrapPeriodic.Wrap(K, self.N)
+ L = WrapPeriodic.Wrap(L, self.N)
+ if WrapPeriodic.bounds_err:
+ WrapPeriodic.bounds_err = False
+ if not self.settings.connect_ends:
+ continue
+ outfile.write(" $dihedral:" +
+ self.settings.dihedrals_name[b] + str(i + 1))
+ if len(self.settings.dihedrals_type) > 1:
+ outfile.write("_" + str(b + 1))
+ outfile.write(" @dihedral:" + self.settings.dihedrals_type[b] +
+ " $atom:mon[" + str(I) + "]/" + self.settings.dihedrals_atoms[b][0] +
+ " $atom:mon[" + str(J) + "]/" + self.settings.dihedrals_atoms[b][1] +
+ " $atom:mon[" + str(K) + "]/" + self.settings.dihedrals_atoms[b][2] +
+ " $atom:mon[" + str(L) + "]/" + self.settings.dihedrals_atoms[b][3] +
+ "\n")
+ if len(self.settings.dihedrals_type) > 0:
+ outfile.write("} # write(\"Data Dihedrals\") {...\n\n\n")
+
+ assert(len(self.settings.impropers_name) ==
+ len(self.settings.impropers_type) ==
+ len(self.settings.impropers_atoms) ==
+ len(self.settings.impropers_index_offsets))
+ if len(self.settings.impropers_type) > 0:
+ outfile.write("\n"
+ "\n"
+ "write(\"Data Impropers\") {\n")
+ for i in range(0, self.N):
+ for b in range(0, len(self.settings.impropers_type)):
+ I = i + self.settings.impropers_index_offsets[b][0]
+ J = i + self.settings.impropers_index_offsets[b][1]
+ K = i + self.settings.impropers_index_offsets[b][2]
+ L = i + self.settings.impropers_index_offsets[b][3]
+ I = WrapPeriodic.Wrap(I, self.N)
+ J = WrapPeriodic.Wrap(J, self.N)
+ K = WrapPeriodic.Wrap(K, self.N)
+ L = WrapPeriodic.Wrap(L, self.N)
+ if WrapPeriodic.bounds_err:
+ WrapPeriodic.bounds_err = False
+ if not self.settings.connect_ends:
+ continue
+ outfile.write(" $improper:" +
+ self.settings.impropers_name[b] + str(i + 1))
+ if len(self.settings.impropers_type) > 1:
+ outfile.write("_" + str(b + 1))
+ outfile.write(" @improper:" + self.settings.impropers_type[b] +
+ " $atom:mon[" + str(I) + "]/" + self.settings.impropers_atoms[b][0] +
+ " $atom:mon[" + str(J) + "]/" + self.settings.impropers_atoms[b][1] +
+ " $atom:mon[" + str(K) + "]/" + self.settings.impropers_atoms[b][2] +
+ " $atom:mon[" + str(L) + "]/" + self.settings.impropers_atoms[b][3] +
+ "\n")
+ if len(self.settings.impropers_type) > 0:
+ outfile.write("} # write(\"Data Impropers\") {...\n\n\n")
+
+ if name_polymer != '':
+ outfile.write("} # " + name_polymer + "\n\n\n\n")
+
+ def CalcBoxBoundaries(self, coords):
+ N = len(coords)
+ for i in range(0, N):
+ for d in range(0, 3):
+ if not self.box_bounds_min:
+ assert(not self.box_bounds_max)
+ self.box_bounds_min = [xd for xd in coords[i]]
+ self.box_bounds_max = [xd for xd in coords[i]]
+ else:
+ if coords[i][d] > self.box_bounds_max[d]:
+ self.box_bounds_max[d] = coords[i][d]
+ if coords[i][d] < self.box_bounds_min[d]:
+ self.box_bounds_min[d] = coords[i][d]
+
+ def WriteBoxBoundaries(self, outfile):
+ for d in range(0, 3):
+ self.box_bounds_min[d] -= self.settings.box_padding[d]
+ self.box_bounds_max[d] += self.settings.box_padding[d]
+ outfile.write("\n# ---------------- simulation box -----------------\n"
+
+ "# Now define a box big enough to hold a polymer with this (initial) shape\n"
+ "\n\n"
+ "write_once(\"Data Boundary\") {\n"
+ + str(self.box_bounds_min[0]) + " " +
+ str(self.box_bounds_max[0]) + " xlo xhi\n"
+ + str(self.box_bounds_min[1]) + " " +
+ str(self.box_bounds_max[1]) + " ylo yhi\n"
+ + str(self.box_bounds_min[2]) + " " +
+ str(self.box_bounds_max[2]) + " zlo zhi\n"
+ "}\n\n\n")
+
+
+def main():
+ try:
+ g_program_name = __file__.split('/')[-1]
+ g_version_str = '0.0.5'
+ g_date_str = '2017-4-14'
+ sys.stderr.write(g_program_name + ' v' +
+ g_version_str + ' ' + g_date_str + '\n')
+ argv = [arg for arg in sys.argv]
+ infile = sys.stdin
+ outfile = sys.stdout
+ genpoly = GenPoly()
+ genpoly.ParseArgs(argv)
+ # Any remain arguments?
+ if len(argv) > 1:
+ raise InputError('Error(' + g_program_name + '):\n' +
+ 'Unrecogized command line argument \"' + argv[1] +
+ '\"\n\n' +
+ g_usage_msg)
+ genpoly.ReadCoords(infile)
+ genpoly.WriteLTFile(outfile)
+
+ except (ValueError, InputError) as err:
+ sys.stderr.write('\n' + str(err) + '\n')
+ sys.exit(-1)
+
+ return
+
+if __name__ == '__main__':
+ main()
diff --git a/tools/moltemplate/moltemplate/ltemplify.py b/tools/moltemplate/moltemplate/ltemplify.py
new file mode 100755
index 000000000..753d9b3ad
--- /dev/null
+++ b/tools/moltemplate/moltemplate/ltemplify.py
@@ -0,0 +1,3588 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+# Author: Andrew Jewett (jewett.aij at g mail)
+# http://www.chem.ucsb.edu/~sheagroup
+# License: 3-clause BSD License (See LICENSE.TXT)
+# Copyright (c) 2012, Regents of the University of California
+# All rights reserved.
+
+"""
+ltemplify.py
+
+The "ltemplify.py" script can be used to convert existing LAMMPS
+input script and data files into a single .lt file
+(which includes both topology and force-field information
+ for a single molecule in your system).
+
+Example:
+
+ ltemplify.py -name Mol file.in file.data > mol.lt
+
+This creates a template for a new type of molecule (named "Mol"),
+consisting of all the atoms in the lammps files you included,
+and saves this data in a single ttree file ("mol.lt").
+This file can be used with moltemplate (ttree) to
+define large systems containing this molecule.
+
+"""
+
+import sys
+try:
+ from .ttree_lex import *
+ from .lttree_styles import *
+except (SystemError, ValueError):
+ # not installed as a package
+ from ttree_lex import *
+ from lttree_styles import *
+
+g_program_name = __file__.split('/')[-1] # = 'ltemplify.py'
+g_version_str = '0.53.1'
+g_date_str = '2017-6-08'
+
+def Intify(s):
+ if s.isdigit():
+ return int(s)
+ elif s[0:2] == 'id':
+ return int(s[2:])
+ elif s[0:4] == 'type':
+ return int(s[4:])
+ else:
+ return s
+
+
+def IsNumber(s):
+ try:
+ float(s)
+ return True
+ except (ValueError, TypeError):
+ return False
+
+
+def StringToInterval(sel_str, slice_delim='*'):
+ # Split a string into 1-3 tokens using the slice_delim and convert to int.
+ # What a mess. I should rewrite this function
+
+ i_slice = sel_str.find(slice_delim)
+
+ if i_slice == -1:
+ a = sel_str
+ b = sel_str
+ c = ''
+ else:
+ a = sel_str[:i_slice]
+ bc = sel_str[i_slice + len(slice_delim):]
+ b = ''
+ c = ''
+ i_slice = bc.find(slice_delim)
+ if i_slice == -1:
+ b = bc
+ c = ''
+ else:
+ b = bc[:i_slice]
+ c = bc[i_slice + len(slice_delim):]
+
+ if a == '':
+ a = None
+ elif a.isdigit():
+ a = int(a)
+ else:
+ raise InputError('Error: invalid selection string \"' +
+ sel_str + '\"\n')
+
+ if b == '':
+ b = None
+ elif b.isdigit():
+ b = int(b)
+ else:
+ raise InputError('Error: invalid selection string \"' +
+ sel_str + '\"\n')
+
+ if c == '':
+ c = None
+ elif c.isdigit():
+ c = int(c)
+ else:
+ raise InputError('Error: invalid selection string \"' +
+ sel_str + '\"\n')
+
+ if c == None:
+ return (a, b)
+ else:
+ return (a, b, c)
+
+
+# Selections are simply lists of 2-tuples (pairs)
+
+def LammpsSelectToIntervals(sel_str, slice_delim='*', or_delim=', '):
+ """
+ This function converts a string such as "1*4 6 9*12 50*70*10" into
+ a list of tuples, for example: [(1,4), (6,6), (9,12), (50,50), (60,60), (70,70)]
+ In general, the of intervals has the form:
+ [(a1,b1), (a2,b2), (a3,b3), ... ]
+
+ An atom is considered to belong to this selection
+ if it happens to lie within the closed interval [a,b]
+ for any pair of a,b values in the list of intervals.
+ If for a given pair a,b, either a or b is "None", then that a or b
+ value is not used to disqualify membership in the interval.
+ (Similar to -infinity or +infinity. In other words if a is set to None,
+ then to belong to the interval it is enough to be less than b.)
+
+ """
+ selection_list = []
+ # tokens = sel_str.split(or_delim) <-- Not what we want when
+ # len(or_delim)>1
+ tokens = LineLex.TextBlock2Lines(sel_str, or_delim, keep_delim=False)
+ for token in tokens:
+ token = token.strip()
+ interval = StringToInterval(token, slice_delim)
+
+ if len(interval) == 2:
+ # Normally, "interval" should be a tuple containing 2 entries
+ selection_list.append(interval)
+ else:
+ assert(len(interval) == 3)
+ # Handle 1000:2000:10 notation
+ # (corresponding to 1000, 1010, 1020, 1030, ..., 1990, 2000)
+ a = interval[0]
+ b = interval[1]
+ incr = interval[2]
+ i = a
+ while i <= b:
+ selection_list.append((i, i))
+ i += incr
+
+ return selection_list
+
+
+def IntervalListToMinMax(interval_list):
+ min_a = None
+ max_b = None
+ for (a, b) in interval_list:
+ if ((not (type(a) is int)) or (not (type(b) is int))):
+ return None, None # only integer min/max makes sense. otherwise skip
+
+ if (min_a == None) or (a < min_a):
+ min_a = a
+ if (max_b == None) or (b > max_b):
+ max_b = b
+ return min_a, max_b
+
+
+def MergeIntervals(interval_list):
+ """
+ A crude simple function that merges consecutive intervals in the list
+ whenever they overlap. (This function does not bother to compare
+ non-consecutive entries in the interval_list.)
+
+ """
+ i = 1
+ while i < len(interval_list):
+ if ((interval_list[i - 1][1] == None) or
+ (interval_list[i - 1][1] + 1 >= interval_list[i][0])):
+ interval_list[i - 1] = (interval_list[i - 1]
+ [0], interval_list[i][1])
+ del interval_list[i]
+ else:
+ i += 1
+
+
+def BelongsToSel(i, sel):
+ if (i == None) or (sel == None) or (len(sel) == 0):
+ # If the user has not specified a selection for this category,
+ # then by default all objects are accepted
+ return True
+
+ elif (type(i) is str):
+ if i.isdigit():
+ i = int(i)
+ else:
+ return True
+
+ belongs = False
+ for interval in sel:
+ assert(len(interval) == 2)
+ if interval[0]:
+ if i >= interval[0]:
+ if (interval[1] == None) or (i <= interval[1]):
+ belongs = True
+ break
+ elif interval[1]:
+ if i <= interval[1]:
+ belongs = True
+ break
+ else:
+ # In that case, the user entered something like "*"
+ # which covers all possible numbers
+ belongs = True
+ break
+
+ return belongs
+
+
+def main():
+ try:
+ sys.stderr.write(g_program_name + ' v' +
+ g_version_str + ' ' + g_date_str + '\n')
+
+ non_empty_output = False
+ no_warnings = True
+ indent = 2
+ cindent = 0
+ atomid_selection = []
+ atomtype_selection = []
+ molid_selection = []
+ mol_name = ''
+
+ min_sel_atomid = None
+ min_sel_atomtype = None
+ min_sel_bondid = None
+ min_sel_bondtype = None
+ min_sel_angleid = None
+ min_sel_angletype = None
+ min_sel_dihedralid = None
+ min_sel_dihedraltype = None
+ min_sel_improperid = None
+ min_sel_impropertype = None
+
+ max_sel_atomid = None
+ max_sel_atomtype = None
+ max_sel_bondid = None
+ max_sel_bondtype = None
+ max_sel_angleid = None
+ max_sel_angletype = None
+ max_sel_dihedralid = None
+ max_sel_dihedraltype = None
+ max_sel_improperid = None
+ max_sel_impropertype = None
+
+ needed_atomids = set([])
+ needed_atomtypes = set([])
+ needed_molids = set([])
+ needed_bondids = set([])
+ needed_bondtypes = set([])
+ needed_angleids = set([])
+ needed_angletypes = set([])
+ needed_dihedralids = set([])
+ needed_dihedraltypes = set([])
+ needed_improperids = set([])
+ needed_impropertypes = set([])
+
+ min_needed_atomtype = None
+ max_needed_atomtype = None
+ min_needed_bondtype = None
+ max_needed_bondtype = None
+ min_needed_angletype = None
+ max_needed_angletype = None
+ min_needed_dihedraltype = None
+ max_needed_dihedraltype = None
+ min_needed_impropertype = None
+ max_needed_impropertype = None
+
+ min_needed_atomid = None
+ max_needed_atomid = None
+ min_needed_molid = None
+ max_needed_molid = None
+ min_needed_bondid = None
+ max_needed_bondid = None
+ min_needed_angleid = None
+ max_needed_angleid = None
+ min_needed_dihedralid = None
+ max_needed_dihedralid = None
+ min_needed_improperid = None
+ max_needed_improperid = None
+
+ # To process the selections, we need to know the atom style:
+ atom_style_undefined = True
+
+ i_atomid = None
+ i_atomtype = None
+ i_molid = None
+ i_x = None
+ i_y = None
+ i_z = None
+
+ l_in_init = []
+ l_in_settings = []
+ l_in_masses = []
+ l_in_pair_coeffs = []
+ l_in_bond_coeffs = []
+ l_in_angle_coeffs = []
+ l_in_dihedral_coeffs = []
+ l_in_improper_coeffs = []
+ l_in_group = []
+ l_in_set = []
+ l_in_set_static = []
+ l_in_fix_shake = []
+ l_in_fix_rigid = []
+ l_in_fix_poems = []
+ l_in_fix_qeq = []
+ l_in_fix_qmmm = []
+ l_data_masses = []
+ l_data_bond_coeffs = []
+ l_data_angle_coeffs = []
+ l_data_dihedral_coeffs = []
+ l_data_improper_coeffs = []
+ l_data_pair_coeffs = []
+ l_data_pairij_coeffs = []
+ l_data_atoms = []
+ l_data_velocities = []
+ l_data_bonds = []
+ l_data_angles = []
+ l_data_dihedrals = []
+ l_data_impropers = []
+
+ # class2 force fields
+ # l_in_bondbond_coeffs = [] <--not needed, included in l_in_angle_coeff
+ # l_in_bondangle_coeffs = [] <--not needed, included in l_in_angle_coeff
+ # l_in_middlebondtorsion_coeffs = [] not needed, included in l_in_dihedral_coeff
+ # l_in_endbondtorsion_coeffs = [] <--not needed, included in l_in_dihedral_coeff
+ # l_in_angletorsion_coeffs = [] <--not needed, included in l_in_dihedral_coeff
+ # l_in_angleangletorsion_coeffs = [] not needed, included in l_in_dihedral_coeff
+ # l_in_bondbond13_coeffs = [] <--not needed, included in l_in_dihedral_coeff
+ # l_in_angleangle_coeffs = [] <--not needed, included in
+ # l_in_improper_coeff
+ l_data_bondbond_coeffs = []
+ l_data_bondangle_coeffs = []
+ l_data_middlebondtorsion_coeffs = []
+ l_data_endbondtorsion_coeffs = []
+ l_data_angletorsion_coeffs = []
+ l_data_angleangletorsion_coeffs = []
+ l_data_bondbond13_coeffs = []
+ l_data_angleangle_coeffs = []
+
+ # non-point-like particles:
+ l_data_ellipsoids = []
+ l_data_lines = []
+ l_data_triangles = []
+
+ # automatic generation of bonded interactions by type:
+ l_data_angles_by_type = []
+ l_data_dihedrals_by_type = []
+ l_data_impropers_by_type = []
+
+ atoms_already_read = False
+ some_pair_coeffs_read = False
+ complained_atom_style_mismatch = False
+ infer_types_from_comments = False
+ remove_coeffs_from_data_file = True
+
+ argv = [arg for arg in sys.argv]
+
+ i = 1
+
+ while i < len(argv):
+
+ #sys.stderr.write('argv['+str(i)+'] = \"'+argv[i]+'\"\n')
+
+ if argv[i] == '-columns':
+ if i + 1 >= len(argv):
+ raise InputError('Error: the \"' + argv[i] + '\" argument should be followed by a quoted\n'
+ ' string which contains a space-delimited list of the names of\n'
+ ' of columns in the \"Atoms\" section of the LAMMPS data file.\n'
+ ' If the list contains the symbols:\n'
+ ' \"atom-ID\" or \"atomid\", they are interpreted\n'
+ ' as unique atom ID numbers, and columns named\n'
+ ' \"atom-type\" or \"atomtype\" are interpreted\n'
+ ' as atom types. Finally, columns named\n'
+ ' \"molecule-ID\", \"molecule\", or \"mol-ID\", or \"mol\"\n'
+ ' are interpreted as unique molecule id numbers.\n'
+ 'Example:\n'
+ ' ' +
+ argv[
+ i] + ' \'atom-ID atom-type q polarizability molecule-ID x y z\'\n'
+ ' defines a custom atom_style containing the properties\n'
+ ' atom-ID atom-type q polarizability molecule-ID x y z\n'
+ ' Make sure you enclose the entire list in quotes.\n')
+ column_names = argv[i + 1].strip('\"\'').strip().split()
+ del argv[i:i + 2]
+
+ elif (argv[i] == '-ignore-comments'):
+ infer_types_from_comments = False
+ del argv[i:i + 1]
+
+ elif (argv[i] == '-infer-comments'):
+ infer_types_from_comments = True
+ del argv[i:i + 1]
+
+ elif ((argv[i] == '-name') or
+ (argv[i] == '-molname') or
+ (argv[i] == '-molecule-name') or
+ (argv[i] == '-molecule_name')):
+ if i + 1 >= len(argv):
+ raise InputError(
+ 'Error: ' + argv[i] + ' flag should be followed by a a molecule type name.\n')
+ cindent = 2
+ indent += cindent
+ mol_name = argv[i + 1]
+ del argv[i:i + 2]
+
+ elif ((argv[i].lower() == '-atomstyle') or
+ (argv[i].lower() == '-atom_style') or
+ (argv[i].lower() == '-atom-style')):
+ if i + 1 >= len(argv):
+ raise InputError('Error: ' + argv[i] + ' flag should be followed by a an atom_style name.\n'
+ ' (or single quoted string which includes a space-separated\n'
+ ' list of column names).\n')
+ atom_style_undefined = False
+ column_names = AtomStyle2ColNames(argv[i + 1])
+ if (argv[i + 1].strip().split()[0] in g_style_map):
+ l_in_init.append((' ' * indent) +
+ 'atom_style ' + argv[i + 1] + '\n')
+ sys.stderr.write('\n \"Atoms\" column format:\n')
+ sys.stderr.write(' ' + (' '.join(column_names)) + '\n')
+ i_atomid, i_atomtype, i_molid = ColNames2AidAtypeMolid(
+ column_names)
+ # Which columns contain the coordinates?
+ ii_coords = ColNames2Coords(column_names)
+ assert(len(ii_coords) == 1)
+ i_x = ii_coords[0][0]
+ i_y = ii_coords[0][1]
+ i_z = ii_coords[0][2]
+
+ if i_molid:
+ sys.stderr.write(' (i_atomid=' + str(i_atomid + 1) + ', i_atomtype=' + str(
+ i_atomtype + 1) + ', i_molid=' + str(i_molid + 1) + ')\n\n')
+ else:
+ sys.stderr.write(' (i_atomid=' + str(i_atomid + 1) +
+ ', i_atomtype=' + str(i_atomtype + 1) + ')\n')
+ del argv[i:i + 2]
+
+ elif ((argv[i].lower() == '-id') or
+ #(argv[i].lower() == '-a') or
+ #(argv[i].lower() == '-atoms') or
+ (argv[i].lower() == '-atomid') or
+ #(argv[i].lower() == '-atomids') or
+ (argv[i].lower() == '-atom-id')
+ #(argv[i].lower() == '-atom-ids') or
+ #(argv[i].lower() == '-$atom') or
+ #(argv[i].lower() == '-$atoms')
+ ):
+ if i + 1 >= len(argv):
+ raise InputError('Error: ' + argv[i] + ' flag should be followed by a list of integers\n'
+ ' (or strings). These identify the group of atoms you want to\n'
+ ' to include in the template you are creating.\n')
+ atomid_selection += LammpsSelectToIntervals(argv[i + 1])
+ min_sel_atomid, max_sel_atomid = IntervalListToMinMax(
+ atomid_selection)
+ del argv[i:i + 2]
+ elif ((argv[i].lower() == '-datacoeffs') or
+ (argv[i].lower() == '-datacoeff') or
+ (argv[i].lower() == '-Coeff') or
+ (argv[i].lower() == '-Coeffs')):
+ remove_coeffs_from_data_file = False
+ del argv[i:i + 1]
+ elif ((argv[i].lower() == '-type') or
+ #(argv[i].lower() == '-t') or
+ (argv[i].lower() == '-atomtype') or
+ (argv[i].lower() == '-atom-type')
+ #(argv[i].lower() == '-atomtypes') or
+ #(argv[i].lower() == '-atom-types') or
+ #(argv[i].lower() == '-@atom') or
+ #(argv[i].lower() == '-@atoms') or
+ #(argv[i].lower() == '-@atomtype') or
+ #(argv[i].lower() == '-@atomtypes')
+ ):
+ if i + 1 >= len(argv):
+ raise InputError('Error: ' + argv[i] + ' flag should be followed by a list of integers.\n'
+ ' (or strings). These identify the group of atom types you want to\n'
+ ' to include in the template you are creating.\n')
+ atomtype_selection += LammpsSelectToIntervals(argv[i + 1])
+ min_sel_atomtype, max_sel_atomtype = IntervalListToMinMax(
+ atomtype_selection)
+ del argv[i:i + 2]
+ elif ((argv[i].lower() == '-mol') or
+ #(argv[i].lower() == '-m') or
+ (argv[i].lower() == '-molid') or
+ #(argv[i].lower() == '-molids') or
+ (argv[i].lower() == '-mol-id') or
+ #(argv[i].lower() == '-mol-ids') or
+ #(argv[i].lower() == '-molecule') or
+ (argv[i].lower() == '-moleculeid') or
+ (argv[i].lower() == '-molecule-id')
+ #(argv[i].lower() == '-molecules') or
+ #(argv[i].lower() == '-molecule-ids') or
+ #(argv[i].lower() == '-$mol') or
+ #(argv[i].lower() == '-$molecule')
+ ):
+ if i + 1 >= len(argv):
+ sys.stderr.write('Error: ' + argv[i] + ' flag should be followed by a list of integers.\n'
+ ' (or strings). These identify the group of molecules you want to\n'
+ ' include in the template you are creating.\n')
+ molid_selection += LammpsSelectToIntervals(argv[i + 1])
+ del argv[i:i + 2]
+ else:
+ i += 1
+
+ # We might need to parse the simulation boundary-box.
+ # If so, use these variables. (None means uninitialized.)
+ boundary_xlo = None
+ boundary_xhi = None
+ boundary_ylo = None
+ boundary_yhi = None
+ boundary_zlo = None
+ boundary_zhi = None
+ boundary_xy = None
+ boundary_yz = None
+ boundary_xz = None
+
+ # atom type names
+ atomtypes_name2int = {}
+ atomtypes_int2name = {}
+ # atomids_name2int = {} not needed
+ atomids_int2name = {}
+ atomids_by_type = {}
+
+ if atom_style_undefined:
+ # The default atom_style is "full"
+ column_names = AtomStyle2ColNames('full')
+ i_atomid, i_atomtype, i_molid = ColNames2AidAtypeMolid(column_names)
+ # Which columns contain the coordinates?
+ ii_coords = ColNames2Coords(column_names)
+ assert(len(ii_coords) == 1)
+ i_x = ii_coords[0][0]
+ i_y = ii_coords[0][1]
+ i_z = ii_coords[0][2]
+
+ #---------------------------------------------------------
+ #-- The remaining arguments are files that the user wants
+ #-- us to read and convert. It is typical to have
+ #-- multiple input files, because LAMMPS users often
+ #-- store their force field parameters in either the LAMMPS
+ #-- data files and input script files, or both.
+ #-- We want to search all of the LAMMPS input files in
+ #-- order to make sure we extracted all the force field
+ #-- parameters (coeff commands).
+ #---------------------------------------------------------
+
+ for i_arg in range(1, len(argv)):
+ fname = argv[i_arg]
+ try:
+ lammps_file = open(fname, 'r')
+ except IOError:
+ raise InputError('Error: unrecognized argument (\"' + fname + '\"),\n'
+ ' OR unable to open file:\n'
+ '\n'
+ ' \"' + fname + '\"\n'
+ ' for reading.\n'
+ '\n'
+ ' (If you were not trying to open a file with this name,\n'
+ ' then there is a problem in your argument list.)\n')
+
+ sys.stderr.write('reading file \"' + fname + '\"\n')
+
+ atomid2type = {}
+ atomid2mol = {}
+ data_file_header_names = set(['LAMMPS Description',
+ 'Atoms', 'Masses', 'Velocities', 'Bonds',
+ 'Angles', 'Dihedrals', 'Impropers',
+ 'Pair Coeffs',
+ 'Bond Coeffs', 'Angle Coeffs',
+ 'Dihedral Coeffs', 'Improper Coeffs',
+ # class2 force fields:
+ 'BondBond Coeffs', 'BondAngle Coeffs',
+ 'MiddleBondTorsion Coeffs', 'EndBondTorsion Coeffs',
+ 'AngleTorsion Coeffs', 'AngleAngleTorsion Coeffs',
+ 'BondBond13 Coeffs',
+ 'AngleAngle Coeffs',
+ # non-point-like particles:
+ 'Ellipsoids', 'Triangles', 'Lines',
+ # specifying bonded interactions by type:
+ 'Angles By Type', 'Dihedrals By Type', 'Impropers By Type'
+ ])
+
+ lex = LineLex(lammps_file, fname)
+ lex.source_triggers = set(['include', 'import'])
+ # set up lex to accept most characters in file names:
+ lex.wordterminators = '(){}' + lex.whitespace
+ # set up lex to understand the "include" statement:
+ lex.source = 'include'
+ lex.escape = '\\'
+
+ while lex:
+ infile = lex.infile
+ lineno = lex.lineno
+ line = lex.ReadLine()
+ if (lex.infile != infile):
+ infile = lex.infile
+ lineno = lex.lineno
+
+ #sys.stderr.write(' processing \"'+line.strip()+'\", (\"'+infile+'\":'+str(lineno)+')\n')
+
+ if line == '':
+ break
+
+ tokens = line.strip().split()
+ if (len(tokens) > 0):
+ if ((tokens[0] == 'atom_style') and
+ atom_style_undefined):
+
+ sys.stderr.write(
+ ' Atom Style found. Processing: \"' + line.strip() + '\"\n')
+ if atoms_already_read:
+ raise InputError('Error: The file containing the \"atom_style\" command must\n'
+ ' come before the data file in the argument list.\n'
+ ' (The templify program needs to know the atom style before reading\n'
+ ' the data file. Either change the order of arguments so that the\n'
+ ' LAMMPS input script file is processed before the data file, or use\n'
+ ' the \"-atom_style\" command line argument to specify the atom_style.)\n')
+
+ column_names = AtomStyle2ColNames(line.split()[1])
+ i_atomid, i_atomtype, i_molid = ColNames2AidAtypeMolid(
+ column_names)
+ # Which columns contain the coordinates?
+ ii_coords = ColNames2Coords(column_names)
+ assert(len(ii_coords) == 1)
+ i_x = ii_coords[0][0]
+ i_y = ii_coords[0][1]
+ i_z = ii_coords[0][2]
+
+ sys.stderr.write('\n \"Atoms\" column format:\n')
+ sys.stderr.write(' ' + (' '.join(column_names)) + '\n')
+ if i_molid:
+ sys.stderr.write(' (i_atomid=' + str(i_atomid + 1) + ', i_atomtype=' + str(
+ i_atomtype + 1) + ', i_molid=' + str(i_molid + 1) + ')\n\n')
+ else:
+ sys.stderr.write(
+ ' (i_atomid=' + str(i_atomid + 1) + ', i_atomtype=' + str(i_atomtype + 1) + ')\n\n')
+ l_in_init.append((' ' * indent) + line.lstrip())
+
+ elif (tokens[0] in set(['units',
+ 'angle_style',
+ 'bond_style',
+ 'dihedral_style',
+ 'improper_style',
+ 'min_style',
+ 'pair_style',
+ 'pair_modify',
+ 'special_bonds',
+ 'kspace_style',
+ 'kspace_modify'])):
+ l_in_init.append((' ' * indent) + line.lstrip())
+
+ # if (line.strip() == 'LAMMPS Description'):
+ # sys.stderr.write(' reading \"'+line.strip()+'\"\n')
+ # # skip over this section
+ # while lex:
+ # line = lex.ReadLine()
+ # if line.strip() in data_file_header_names:
+ # lex.push_raw_text(line) # <- Save line for later
+ # break
+
+ elif (line.strip() == 'Atoms'):
+ sys.stderr.write(' reading \"' + line.strip() + '\"\n')
+ atoms_already_read = True
+
+ # Before attempting to read atomic coordinates, first find
+ # the lattice vectors of the simulation's boundary box:
+ # Why do we care about the Simulation Boundary?
+ # Some LAMMPS data files store atomic coordinates in a
+ # complex format with 6 numbers, 3 floats, and 3 integers.
+ # The 3 floats are x,y,z coordinates. Any additional numbers
+ # following these are integers which tell LAMMPS which cell
+ # the particle belongs to, (in case it has wandered out of
+ # the original periodic boundary box). In order to find
+ # the true location of the particle, we need to offset that
+ # particle's position with the unit-cell lattice vectors:
+ # avec, bvec, cvec (or multiples thereof)
+ # avec, bvec, cvec are the axis of the parallelepiped which
+ # define the simulation's boundary. They are described here:
+ # http://lammps.sandia.gov/doc/Section_howto.html#howto-12
+ if ((boundary_xlo == None) or (boundary_xhi == None) or
+ (boundary_ylo == None) or (boundary_yhi == None) or
+ (boundary_zlo == None) or (boundary_zhi == None)):
+
+ raise InputError('Error: Either DATA file lacks a boundary-box header, or it is in the wrong\n'
+ ' place. At the beginning of the file, you need to specify the box size:\n'
+ ' xlo xhi ylo yhi zlo zhi (and xy xz yz if triclinic)\n'
+ ' These numbers should appear BEFORE the other sections in the data file\n'
+ ' (such as the \"Atoms\", \"Masses\", \"Bonds\", \"Pair Coeffs\" sections)\n'
+ '\n'
+ ' Use this format (example):\n'
+ ' -100.0 100.0 xhi xlo\n'
+ ' 0.0 200.0 yhi ylo\n'
+ ' -25.0 50.0 zhi zlo\n'
+ '\n'
+ 'For details, see http://lammps.sandia.gov/doc/read_data.html\n'
+ '\n'
+ ' (NOTE: If the atom coordinates are NOT followed by integers, then\n'
+ ' these numbers are all ignored, however you must still specify\n'
+ ' xlo, xhi, ylo, yhi, zlo, zhi. You can set them all to 0.0.)\n')
+
+ if not (boundary_xy and boundary_yz and boundary_xz):
+ # Then use a simple rectangular boundary box:
+ avec = (boundary_xhi - boundary_xlo, 0.0, 0.0)
+ bvec = (0.0, boundary_yhi - boundary_ylo, 0.0)
+ cvec = (0.0, 0.0, boundary_zhi - boundary_zlo)
+ else:
+ # Triclinic geometry in LAMMPS is explained here:
+ # http://lammps.sandia.gov/doc/Section_howto.html#howto-12
+ # http://lammps.sandia.gov/doc/read_data.html
+ avec = (boundary_xhi - boundary_xlo, 0.0, 0.0)
+ bvec = (boundary_xy, boundary_yhi - boundary_ylo, 0.0)
+ cvec = (boundary_xz, boundary_yz,
+ boundary_zhi - boundary_zlo)
+
+ while lex:
+ line = lex.ReadLine()
+ if line.strip() in data_file_header_names:
+ lex.push_raw_text(line) # <- Save line for later
+ break
+ tokens = line.strip().split()
+ if len(tokens) > 0:
+ if ((len(tokens) <= i_atomid) or
+ (len(tokens) <= i_atomtype) or
+ ((i_molid != None) and
+ (len(tokens) <= i_molid))):
+ raise InputError('Error: The number of columns in the \"Atoms\" section does\n'
+ ' not match the atom_style (see column name list above).\n')
+ elif ((len(tokens) != len(column_names)) and
+ (len(tokens) != len(column_names) + 3) and
+ (not complained_atom_style_mismatch)):
+ complained_atom_style_mismatch = True
+ sys.stderr.write('Warning: The number of columns in the \"Atoms\" section does\n'
+ ' not match the atom_style (see column name list above).\n')
+ # this is not a very serious warning.
+ # no_warnings = False <--no need. commenting
+ # out
+
+ atomid = Intify(tokens[i_atomid])
+ atomtype = Intify(tokens[i_atomtype])
+
+ molid = None
+ if i_molid:
+ molid = Intify(tokens[i_molid])
+
+ atomid2type[atomid] = atomtype
+ if i_molid:
+ atomid2mol[atomid] = molid
+
+ if (BelongsToSel(atomid, atomid_selection) and
+ BelongsToSel(atomtype, atomtype_selection) and
+ BelongsToSel(molid, molid_selection)):
+
+ tokens[i_atomid] = '$atom:id' + \
+ tokens[i_atomid]
+ #tokens[i_atomid] = '$atom:'+atomids_int2name[atomid]
+ # fill atomtype_int2str[] with a default name (change later):
+ #tokens[i_atomtype] = '@atom:type'+tokens[i_atomtype]
+ atomtype_name = 'type' + tokens[i_atomtype]
+ atomtypes_int2name[atomtype] = atomtype_name
+ tokens[i_atomtype] = '@atom:' + atomtype_name
+
+ # Interpreting unit-cell counters
+ # If present, then unit-cell "flags" must be
+ # added to the x,y,z coordinates.
+ #
+ # For more details on unit-cell "flags", see:
+ # http://lammps.sandia.gov/doc/read_data.html
+ # "In the data file, atom lines (all lines or
+ # none of them) can optionally list 3 trailing
+ # integer values (nx,ny,nz), which are used to
+ # initialize the atom’s image flags.
+ # If nx,ny,nz values are not listed in the
+ # data file, LAMMPS initializes them to 0.
+ # Note that the image flags are immediately
+ # updated if an atom’s coordinates need to
+ # wrapped back into the simulation box."
+
+ if (len(tokens) == len(column_names) + 3):
+ nx = int(tokens[-3])
+ ny = int(tokens[-2])
+ nz = int(tokens[-1])
+ x = float(
+ tokens[i_x]) + nx * avec[0] + ny * bvec[0] + nz * cvec[0]
+ y = float(
+ tokens[i_y]) + nx * avec[1] + ny * bvec[1] + nz * cvec[1]
+ z = float(
+ tokens[i_z]) + nx * avec[2] + ny * bvec[2] + nz * cvec[2]
+ tokens[i_x] = str(x)
+ tokens[i_y] = str(y)
+ tokens[i_z] = str(z)
+ # Now get rid of them:
+ del tokens[-3:]
+
+ # I can't use atomids_int2name or atomtypes_int2name yet
+ # because they probably have not been defined yet.
+ # (Instead assign these names in a later pass.)
+
+ if i_molid:
+ tokens[i_molid] = '$mol:id' + \
+ tokens[i_molid]
+ l_data_atoms.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+ needed_atomids.add(atomid)
+
+ needed_atomtypes.add(atomtype)
+ # Not all atom_styles have molids.
+ # Check for this before adding.
+ if molid != None:
+ needed_molids.add(molid)
+
+ for atomtype in needed_atomtypes:
+ assert(type(atomtype) is int)
+ if ((min_needed_atomtype == None) or
+ (min_needed_atomtype > atomtype)):
+ min_needed_atomtype = atomtype
+ if ((max_needed_atomtype == None) or
+ (max_needed_atomtype < atomtype)):
+ max_needed_atomtype = atomtype
+
+ for atomid in needed_atomids:
+ assert(type(atomid) is int)
+ if ((min_needed_atomid == None) or
+ (min_needed_atomid > atomid)):
+ min_needed_atomid = atomid
+ if ((max_needed_atomid == None) or
+ (max_needed_atomid < atomid)):
+ max_needed_atomid = atomid
+ for molid in needed_molids:
+ assert(type(molid) is int)
+ if ((min_needed_molid == None) or
+ (min_needed_molid > molid)):
+ min_needed_molid = molid
+ if ((max_needed_molid == None) or
+ (max_needed_molid < molid)):
+ max_needed_molid = molid
+
+ elif (line.strip() == 'Masses'):
+ sys.stderr.write(' reading \"' + line.strip() + '\"\n')
+ while lex:
+ # Read the next line of text but don't skip comments
+ comment_char_backup = lex.commenters
+ lex.commenters = ''
+ line = lex.ReadLine()
+ lex.commenters = comment_char_backup
+
+ comment_text = ''
+ ic = line.find('#')
+ if ic != -1:
+ line = line[:ic]
+ comment_text = line[ic + 1:].strip()
+ line = line.rstrip()
+
+ if line.strip() in data_file_header_names:
+ lex.push_raw_text(line) # <- Save line for later
+ break
+
+ tokens = line.strip().split()
+ if len(tokens) > 0:
+ atomtype = Intify(tokens[0])
+ atomtype_name = str(atomtype)
+
+ if comment_text != '':
+ comment_tokens = comment_text.split()
+ # Assume the first word after the # is the atom
+ # type name
+ atomtype_name = comment_tokens[0]
+
+ if BelongsToSel(atomtype, atomtype_selection):
+ #tokens[0] = '@atom:type'+tokens[0]
+ l_data_masses.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+ # infer atom type names from comment strings?
+ if infer_types_from_comments:
+ if atomtype_name in atomtypes_name2int:
+ raise InputError('Error: duplicate atom type names in mass section: \"' + atomtype_name + '\"\n'
+ ' (By default ' + g_program_name +
+ ' attempts to infer atom type names from\n'
+ ' comments which appear in the \"Masses\" section of your data file.)\n'
+ ' You can avoid this error by adding the \"-ignore-comments\" argument.\n')
+ atomtypes_name2int[
+ atomtype_name] = atomtype
+ atomtypes_int2name[
+ atomtype] = atomtype_name
+ else:
+ atomtypes_int2name[
+ atomtype] = 'type' + str(atomtype)
+
+ elif (line.strip() == 'Velocities'):
+ sys.stderr.write(' reading \"' + line.strip() + '\"\n')
+ while lex:
+ line = lex.ReadLine()
+ if line.strip() in data_file_header_names:
+ lex.push_raw_text(line) # <- Save line for later
+ break
+ tokens = line.strip().split()
+ if len(tokens) > 0:
+ atomid = Intify(tokens[0])
+ atomtype = None
+ if atomid in atomid2type:
+ atomtype = atomid2type[atomid]
+ moldid = None
+ if atomid in atomid2mol:
+ molid = atomid2mol[atomid]
+ if (BelongsToSel(atomid, atomid_selection) and
+ BelongsToSel(atomtype, atomtype_selection) and
+ BelongsToSel(molid, molid_selection)):
+ tokens[0] = '$atom:id' + tokens[0]
+ #tokens[0] = '$atom:'+atomids_int2name[atomid]
+ # NOTE:I can't use "atomids_int2name" yet because
+ # they probably have not been defined yet.
+ # (Instead assign these names in a later pass.)
+ l_data_velocities.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+
+ # non-point-like-particles:
+ elif (line.strip() == 'Ellipsoids'):
+ sys.stderr.write(' reading \"' + line.strip() + '\"\n')
+ while lex:
+ line = lex.ReadLine()
+ if line.strip() in data_file_header_names:
+ lex.push_raw_text(line) # <- Save line for later
+ break
+ tokens = line.strip().split()
+ if len(tokens) > 0:
+ atomid = Intify(tokens[0])
+ atomtype = None
+ if atomid in atomid2type:
+ atomtype = atomid2type[atomid]
+ moldid = None
+ if atomid in atomid2mol:
+ molid = atomid2mol[atomid]
+ if (BelongsToSel(atomid, atomid_selection) and
+ BelongsToSel(atomtype, atomtype_selection) and
+ BelongsToSel(molid, molid_selection)):
+ tokens[0] = '$atom:id' + tokens[0]
+ #tokens[0] = '$atom:'+atomids_int2name[atomid]
+ # NOTE:I can't use "atomids_int2name" yet because
+ # they probably have not been defined yet.
+ # (Instead assign these names in a later pass.)
+ l_data_ellipsoids.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+ elif (line.strip() == 'Lines'):
+ sys.stderr.write(' reading \"' + line.strip() + '\"\n')
+ while lex:
+ line = lex.ReadLine()
+ if line.strip() in data_file_header_names:
+ lex.push_raw_text(line) # <- Save line for later
+ break
+ tokens = line.strip().split()
+ if len(tokens) > 0:
+ atomid = Intify(tokens[0])
+ atomtype = None
+ if atomid in atomid2type:
+ atomtype = atomid2type[atomid]
+ moldid = None
+ if atomid in atomid2mol:
+ molid = atomid2mol[atomid]
+ if (BelongsToSel(atomid, atomid_selection) and
+ BelongsToSel(atomtype, atomtype_selection) and
+ BelongsToSel(molid, molid_selection)):
+ tokens[0] = '$atom:id' + tokens[0]
+ #tokens[0] = '$atom:'+atomids_int2name[atomid]
+ # NOTE:I can't use "atomids_int2name" yet because
+ # they probably have not been defined yet.
+ # (Instead assign these names in a later pass.)
+ l_data_lines.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+ elif (line.strip() == 'Triangles'):
+ sys.stderr.write(' reading \"' + line.strip() + '\"\n')
+ while lex:
+ line = lex.ReadLine()
+ if line.strip() in data_file_header_names:
+ lex.push_raw_text(line) # <- Save line for later
+ break
+ tokens = line.strip().split()
+ if len(tokens) > 0:
+ atomid = Intify(tokens[0])
+ atomtype = None
+ if atomid in atomid2type:
+ atomtype = atomid2type[atomid]
+ moldid = None
+ if atomid in atomid2mol:
+ molid = atomid2mol[atomid]
+ if (BelongsToSel(atomid, atomid_selection) and
+ BelongsToSel(atomtype, atomtype_selection) and
+ BelongsToSel(molid, molid_selection)):
+ tokens[0] = '$atom:id' + tokens[0]
+ #tokens[0] = '$atom:'+atomids_int2name[atomid]
+ # NOTE:I can't use "atomids_int2name" yet because
+ # they probably have not been defined yet.
+ # (Instead assign these names in a later pass.)
+ l_data_triangles.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+
+ elif (line.strip() == 'Bonds'):
+ sys.stderr.write(' reading \"' + line.strip() + '\"\n')
+ while lex:
+ line = lex.ReadLine()
+ if line.strip() in data_file_header_names:
+ lex.push_raw_text(line) # <- Save line for later
+ break
+ tokens = line.strip().split()
+ if len(tokens) > 0:
+ if (len(tokens) < 4):
+ raise InputError('Error: near or before ' + ErrorLeader(infile, lineno) + '\n'
+ ' Nonsensical line in Bonds section:\n'
+ ' \"' + line.strip() + '\"\n')
+ #tokens[0] = '$bond:id'+tokens[0]
+ #tokens[1] = '@bond:type'+tokens[1]
+ atomids = [None, None]
+ atomtypes = [None, None]
+ molids = [None, None]
+ in_selections = True
+ some_in_selection = False
+ for n in range(0, 2):
+ atomids[n] = Intify(tokens[2 + n])
+ if atomids[n] in atomid2type:
+ atomtypes[n] = atomid2type[atomids[n]]
+ if atomids[n] in atomid2mol:
+ molids[n] = atomid2mol[atomids[n]]
+ if (BelongsToSel(atomids[n], atomid_selection) and
+ BelongsToSel(atomtypes[n], atomtype_selection) and
+ BelongsToSel(molids[n], molid_selection)):
+ #tokens[2+n] = '$atom:id'+tokens[2+n]
+ #tokens[2+n] = '$atom:'+atomids_int2name[atomids[n]]
+ some_in_selection = True
+ else:
+ in_selections = False
+ if in_selections:
+ l_data_bonds.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+ elif some_in_selection:
+ sys.stderr.write(
+ 'WARNING: SELECTION BREAKS BONDS\n')
+ sys.stderr.write(
+ ' (between atom ids: ')
+
+ for n in range(0, 2):
+ sys.stderr.write(str(atomids[n]) + ' ')
+ sys.stderr.write(')\n'
+ ' The atoms you selected are bonded\n'
+ ' to other atoms you didn\'t select.\n'
+ ' Are you sure you selected the correct atoms?\n')
+ no_warnings = False
+
+ elif (line.strip() == 'Angles'):
+ sys.stderr.write(' reading \"' + line.strip() + '\"\n')
+ while lex:
+ line = lex.ReadLine()
+ if line == '':
+ break
+ if line.strip() in data_file_header_names:
+ lex.push_raw_text(line) # <- Save line for later
+ break
+ tokens = line.strip().split()
+ if len(tokens) > 0:
+ if (len(tokens) < 5):
+ raise InputError('Error: near or before ' + ErrorLeader(infile, lineno) + '\n'
+ ' Nonsensical line in Angles section:\n'
+ ' \"' + line.strip() + '\"\n')
+ #tokens[0] = '$angle:id'+tokens[0]
+ #tokens[1] = '@angle:type'+tokens[1]
+ atomids = [None, None, None]
+ atomtypes = [None, None, None]
+ molids = [None, None, None]
+ in_selections = True
+ some_in_selection = False
+ for n in range(0, 3):
+ atomids[n] = Intify(tokens[2 + n])
+ if atomids[n] in atomid2type:
+ atomtypes[n] = atomid2type[atomids[n]]
+ if atomids[n] in atomid2mol:
+ molids[n] = atomid2mol[atomids[n]]
+ if (BelongsToSel(atomids[n], atomid_selection) and
+ BelongsToSel(atomtypes[n], atomtype_selection) and
+ BelongsToSel(molids[n], molid_selection)):
+ #tokens[2+n] = '$atom:id'+tokens[2+n]
+ #tokens[2+n] = '$atom:'+atomids_int2name[atomids[n]]
+ some_in_selection = True
+ else:
+ in_selections = False
+ if in_selections:
+ l_data_angles.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+ elif some_in_selection:
+ sys.stderr.write(
+ 'WARNING: SELECTION BREAKS ANGLES\n')
+ sys.stderr.write(
+ ' (between atom ids: ')
+ for n in range(0, 3):
+ sys.stderr.write(str(atomids[n]) + ' ')
+ sys.stderr.write(')\n'
+ ' The atoms you selected participate in 3-body \"Angle\"\n'
+ ' interactions with other atoms you didn\'t select.\n'
+ ' (They will be ignored.)\n'
+ ' Are you sure you selected the correct atoms?\n')
+ no_warnings = False
+
+ elif (line.strip() == 'Dihedrals'):
+ sys.stderr.write(' reading \"' + line.strip() + '\"\n')
+ while lex:
+ line = lex.ReadLine()
+ if line.strip() in data_file_header_names:
+ lex.push_raw_text(line) # <- Save line for later
+ break
+ tokens = line.strip().split()
+ if len(tokens) > 0:
+ if (len(tokens) < 6):
+ raise InputError('Error: near or before ' + ErrorLeader(infile, lineno) + '\n'
+ ' Nonsensical line in Dihedrals section:\n'
+ ' \"' + line.strip() + '\"\n')
+ #tokens[0] = '$dihedral:id'+tokens[0]
+ #tokens[1] = '@dihedral:type'+tokens[1]
+ atomids = [None, None, None, None]
+ atomtypes = [None, None, None, None]
+ molids = [None, None, None, None]
+ in_selections = True
+ some_in_selection = False
+ for n in range(0, 4):
+ atomids[n] = Intify(tokens[2 + n])
+ if atomids[n] in atomid2type:
+ atomtypes[n] = atomid2type[atomids[n]]
+ if atomids[n] in atomid2mol:
+ molids[n] = atomid2mol[atomids[n]]
+ if (BelongsToSel(atomids[n], atomid_selection) and
+ BelongsToSel(atomtypes[n], atomtype_selection) and
+ BelongsToSel(molids[n], molid_selection)):
+ #tokens[2+n] = '$atom:id'+tokens[2+n]
+ #tokens[2+n] = '$atom:'+atomids_int2name[atomids[n]]
+ some_in_selection = True
+ else:
+ in_selections = False
+ if in_selections:
+ l_data_dihedrals.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+ elif some_in_selection:
+ sys.stderr.write(
+ 'WARNING: SELECTION BREAKS DIHEDRALS\n')
+ sys.stderr.write(
+ ' (between atom ids: ')
+ for n in range(0, 4):
+ sys.stderr.write(str(atomids[n]) + ' ')
+ sys.stderr.write(')\n'
+ ' The atoms you selected participate in 4-body \"Dihedral\"\n'
+ ' interactions with other atoms you didn\'t select.\n'
+ ' (They will be ignored.)\n'
+ ' Are you sure you selected the correct atoms?\n')
+ no_warnings = False
+
+ elif (line.strip() == 'Impropers'):
+ sys.stderr.write(' reading \"' + line.strip() + '\"\n')
+ while lex:
+ line = lex.ReadLine()
+ if line.strip() in data_file_header_names:
+ lex.push_raw_text(line) # <- Save line for later
+ break
+ tokens = line.strip().split()
+ if len(tokens) > 0:
+ if (len(tokens) < 6):
+ raise InputError('Error: near or before ' + ErrorLeader(infile, lineno) + '\n'
+ ' Nonsensical line in Impropers section:\n'
+ ' \"' + line.strip() + '\"\n')
+ #tokens[0] = '$improper:id'+tokens[0]
+ #tokens[1] = '@improper:type'+tokens[1]
+ atomids = [None, None, None, None]
+ atomtypes = [None, None, None, None]
+ molids = [None, None, None, None]
+ in_selections = True
+ some_in_selection = False
+ for n in range(0, 4):
+ atomids[n] = Intify(tokens[2 + n])
+ if atomids[n] in atomid2type:
+ atomtypes[n] = atomid2type[atomids[n]]
+ if atomids[n] in atomid2mol:
+ molids[n] = atomid2mol[atomids[n]]
+ if (BelongsToSel(atomids[n], atomid_selection) and
+ BelongsToSel(atomtypes[n], atomtype_selection) and
+ BelongsToSel(molids[n], molid_selection)):
+ #tokens[2+n] = '$atom:id'+tokens[2+n]
+ #tokens[2+n] = '$atom:'+atomids_int2name[atomids[n]]
+ some_in_selection = True
+ else:
+ in_selections = False
+ if in_selections:
+ l_data_impropers.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+ elif some_in_selection:
+ sys.stderr.write(
+ 'WARNING: SELECTION BREAKS IMPROPERS\n')
+ sys.stderr.write(
+ ' (between atom ids: ')
+ for n in range(0, 4):
+ sys.stderr.write(str(atomids[n]) + ' ')
+ sys.stderr.write(')\n'
+ ' The atoms you selected participate in 4-body \"Improper\"\n'
+ ' interactions with other atoms you didn\'t select.\n'
+ ' (They will be ignored.)\n'
+ ' Are you sure you selected the correct atoms?\n')
+ no_warnings = False
+
+ elif (line.strip() == 'Bond Coeffs'):
+ sys.stderr.write(' reading \"' + line.strip() + '\"\n')
+ while lex:
+ line = lex.ReadLine()
+ if line.strip() in data_file_header_names:
+ lex.push_raw_text(line) # <- Save line for later
+ break
+ tokens = line.strip().split()
+ if len(tokens) > 0:
+ #tokens[0] = '@bond:type'+tokens[0]
+ l_data_bond_coeffs.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+
+ elif (line.strip() == 'Angle Coeffs'):
+ sys.stderr.write(' reading \"' + line.strip() + '\"\n')
+ while lex:
+ line = lex.ReadLine()
+ if line.strip() in data_file_header_names:
+ lex.push_raw_text(line) # <- Save line for later
+ break
+ tokens = line.strip().split()
+ if len(tokens) > 0:
+ #tokens[0] = '@angle:type'+tokens[0]
+ l_data_angle_coeffs.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+
+ elif (line.strip() == 'Dihedral Coeffs'):
+ sys.stderr.write(' reading \"' + line.strip() + '\"\n')
+ while lex:
+ line = lex.ReadLine()
+ if line.strip() in data_file_header_names:
+ lex.push_raw_text(line) # <- Save line for later
+ break
+ tokens = line.strip().split()
+ if len(tokens) > 0:
+ #tokens[0] = '@dihedral:type'+tokens[0]
+ l_data_dihedral_coeffs.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+
+ elif (line.strip() == 'Improper Coeffs'):
+ sys.stderr.write(' reading \"' + line.strip() + '\"\n')
+ while lex:
+ line = lex.ReadLine()
+ if line.strip() in data_file_header_names:
+ lex.push_raw_text(line) # <- Save line for later
+ break
+ tokens = line.strip().split()
+ if len(tokens) > 0:
+ #tokens[0] = '@improper:type'+tokens[0]
+ l_data_improper_coeffs.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+
+ elif (line.strip() == 'Pair Coeffs'):
+ sys.stderr.write(' reading \"' + line.strip() + '\"\n')
+ some_pair_coeffs_read = True
+ while lex:
+ line = lex.ReadLine()
+ if line.strip() in data_file_header_names:
+ lex.push_raw_text(line) # <- Save line for later
+ break
+ tokens = line.strip().split()
+ if len(tokens) > 0:
+ if (len(tokens) < 2):
+ raise InputError('Error: near or before ' + ErrorLeader(infile, lineno) + '\n'
+ ' Nonsensical line in Pair Coeffs section:\n'
+ ' \"' + line.strip() + '\"\n')
+ atomtype_i_str = tokens[0]
+ if '*' in atomtype_i_str:
+ raise InputError('PROBLEM near or before ' + ErrorLeader(infile, lineno) + '\n'
+ ' As of 2015-8, moltemplate forbids use of the "\*\" wildcard\n'
+ ' character in the \"Pair Coeffs\" section.\n')
+ else:
+ i = int(atomtype_i_str)
+ if ((not i) or
+ BelongsToSel(i, atomtype_selection)):
+ i_str = '@atom:type' + str(i)
+ tokens[0] = i_str
+ l_data_pair_coeffs.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+
+ elif (line.strip() == 'PairIJ Coeffs'):
+ sys.stderr.write(' reading \"' + line.strip() + '\"\n')
+ some_pair_coeffs_read = True
+ while lex:
+ line = lex.ReadLine()
+ if line.strip() in data_file_header_names:
+ lex.push_raw_text(line) # <- Save line for later
+ break
+ tokens = line.strip().split()
+ if len(tokens) > 0:
+ if (len(tokens) < 2):
+ raise InputError('Error: near or before ' + ErrorLeader(infile, lineno) + '\n'
+ ' Nonsensical line in Pair Coeffs section:\n'
+ ' \"' + line.strip() + '\"\n')
+ atomtype_i_str = tokens[0]
+ atomtype_j_str = tokens[1]
+ if (('*' in atomtype_i_str) or ('*' in atomtype_j_str)):
+ raise InputError('PROBLEM near or before ' + ErrorLeader(infile, lineno) + '\n'
+ ' As of 2015-8, moltemplate forbids use of the "\*\" wildcard\n'
+ ' character in the \"PairIJ Coeffs\" section.\n')
+ else:
+ i = int(atomtype_i_str)
+ j = int(atomtype_j_str)
+ if (((not i) or BelongsToSel(i, atomtype_selection)) and
+ ((not j) or BelongsToSel(j, atomtype_selection))):
+ i_str = '@atom:type' + str(i)
+ j_str = '@atom:type' + str(j)
+ tokens[0] = i_str
+ tokens[1] = j_str
+ l_data_pair_coeffs.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+
+ elif (tokens[0] == 'pair_coeff'):
+ some_pair_coeffs_read = True
+ if (len(tokens) < 3):
+ raise InputError('Error: near or before ' + ErrorLeader(infile, lineno) + '\n'
+ ' Nonsensical pair_coeff command:\n'
+ ' \"' + line.strip() + '\"\n')
+ l_in_pair_coeffs.append(' ' * indent + line.strip())
+
+ elif (tokens[0] == 'mass'):
+ some_pair_coeffs_read = True
+ if (len(tokens) < 3):
+ raise InputError('Error: near or before ' + ErrorLeader(infile, lineno) + '\n'
+ ' Nonsensical \"mass\" command:\n'
+ ' \"' + line.strip() + '\"\n')
+ l_in_masses.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+
+ elif (tokens[0] == 'bond_coeff'):
+ if (len(tokens) < 2):
+ raise InputError('Error: near or before ' + ErrorLeader(infile, lineno) + '\n'
+ ' Nonsensical bond_coeff command:\n'
+ ' \"' + line.strip() + '\"\n')
+ #tokens[1] = '@bond:type'+tokens[1]
+ l_in_bond_coeffs.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+
+ elif (tokens[0] == 'angle_coeff'):
+ if (len(tokens) < 2):
+ raise InputError('Error: near or before ' + ErrorLeader(infile, lineno) + '\n'
+ ' Nonsensical angle_coeff command:\n'
+ ' \"' + line.strip() + '\"\n')
+ #tokens[1] = '@angle:type'+tokens[1]
+ l_in_angle_coeffs.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+
+ elif (tokens[0] == 'dihedral_coeff'):
+ if (len(tokens) < 2):
+ raise InputError('Error: near or before ' + ErrorLeader(infile, lineno) + '\n'
+ ' Nonsensical dihedral_coeff command:\n'
+ ' \"' + line.strip() + '\"\n')
+ #tokens[1] = '@dihedral:type'+tokens[1]
+ l_in_dihedral_coeffs.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+ elif (tokens[0] == 'improper_coeff'):
+ if (len(tokens) < 2):
+ raise InputError('Error: near or before ' + ErrorLeader(infile, lineno) + '\n'
+ ' Nonsensical improper_coeff command:\n'
+ ' \"' + line.strip() + '\"\n')
+ #tokens[1] = '@improper:type'+tokens[1]
+ l_in_improper_coeffs.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+
+ # -- class2 force fields --
+ elif (line.strip() == 'BondBond Coeffs'):
+ sys.stderr.write(' reading \"' + line.strip() + '\"\n')
+ while lex:
+ line = lex.ReadLine()
+ if line.strip() in data_file_header_names:
+ lex.push_raw_text(line) # <- Save line for later
+ break
+ tokens = line.strip().split()
+ if len(tokens) > 0:
+ #tokens[0] = '@angle:type'+tokens[0]
+ l_data_bondbond_coeffs.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+
+ elif (line.strip() == 'BondAngle Coeffs'):
+ sys.stderr.write(' reading \"' + line.strip() + '\"\n')
+ while lex:
+ line = lex.ReadLine()
+ if line.strip() in data_file_header_names:
+ lex.push_raw_text(line) # <- Save line for later
+ break
+ tokens = line.strip().split()
+ if len(tokens) > 0:
+ #tokens[0] = '@angle:type'+tokens[0]
+ l_data_bondangle_coeffs.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+
+ elif (line.strip() == 'MiddleBondTorsion Coeffs'):
+ sys.stderr.write(' reading \"' + line.strip() + '\"\n')
+ while lex:
+ line = lex.ReadLine()
+ if line.strip() in data_file_header_names:
+ lex.push_raw_text(line) # <- Save line for later
+ break
+ tokens = line.strip().split()
+ if len(tokens) > 0:
+ #tokens[0] = '@dihedral:type'+tokens[0]
+ l_data_middlebondtorsion_coeffs.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+
+ elif (line.strip() == 'EndBondTorsion Coeffs'):
+ sys.stderr.write(' reading \"' + line.strip() + '\"\n')
+ while lex:
+ line = lex.ReadLine()
+ if line.strip() in data_file_header_names:
+ lex.push_raw_text(line) # <- Save line for later
+ break
+ tokens = line.strip().split()
+ if len(tokens) > 0:
+ #tokens[0] = '@dihedral:type'+tokens[0]
+ l_data_endbondtorsion_coeffs.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+
+ elif (line.strip() == 'AngleTorsion Coeffs'):
+ sys.stderr.write(' reading \"' + line.strip() + '\"\n')
+ while lex:
+ line = lex.ReadLine()
+ if line.strip() in data_file_header_names:
+ lex.push_raw_text(line) # <- Save line for later
+ break
+ tokens = line.strip().split()
+ if len(tokens) > 0:
+ #tokens[0] = '@dihedral:type'+tokens[0]
+ l_data_angletorsion_coeffs.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+
+ elif (line.strip() == 'AngleAngleTorsion Coeffs'):
+ sys.stderr.write(' reading \"' + line.strip() + '\"\n')
+ while lex:
+ line = lex.ReadLine()
+ if line.strip() in data_file_header_names:
+ lex.push_raw_text(line) # <- Save line for later
+ break
+ tokens = line.strip().split()
+ if len(tokens) > 0:
+ #tokens[0] = '@dihedral:type'+tokens[0]
+ l_data_angleangletorsion_coeffs.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+
+ elif (line.strip() == 'BondBond13 Coeffs'):
+ sys.stderr.write(' reading \"' + line.strip() + '\"\n')
+ while lex:
+ line = lex.ReadLine()
+ if line.strip() in data_file_header_names:
+ lex.push_raw_text(line) # <- Save line for later
+ break
+ tokens = line.strip().split()
+ if len(tokens) > 0:
+ #tokens[0] = '@dihedral:type'+tokens[0]
+ l_data_bondbond13_coeffs.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+
+ elif (line.strip() == 'AngleAngle Coeffs'):
+ sys.stderr.write(' reading \"' + line.strip() + '\"\n')
+ while lex:
+ line = lex.ReadLine()
+ if line.strip() in data_file_header_names:
+ lex.push_raw_text(line) # <- Save line for later
+ break
+ tokens = line.strip().split()
+ if len(tokens) > 0:
+ #tokens[0] = '@improper:type'+tokens[0]
+ l_data_angleangle_coeffs.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+
+ elif (line.strip() == 'Angles By Type'):
+ sys.stderr.write(' reading \"' + line.strip() + '\"\n')
+ while lex:
+ line = lex.ReadLine()
+ if line.strip() in data_file_header_names:
+ lex.push_raw_text(line) # <- Save line for later
+ break
+ tokens = line.strip().split()
+ if len(tokens) > 0:
+ tokens[0] = '@angle:type' + tokens[0]
+ l_data_angles_by_type.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+
+ elif (line.strip() == 'Dihedrals By Type'):
+ sys.stderr.write(' reading \"' + line.strip() + '\"\n')
+ while lex:
+ line = lex.ReadLine()
+ if line.strip() in data_file_header_names:
+ lex.push_raw_text(line) # <- Save line for later
+ break
+ tokens = line.strip().split()
+ if len(tokens) > 0:
+ tokens[0] = '@dihedral:type' + tokens[0]
+ l_data_dihedrals_by_type.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+
+ elif (line.strip() == 'Impropers By Type'):
+ sys.stderr.write(' reading \"' + line.strip() + '\"\n')
+ while lex:
+ line = lex.ReadLine()
+ if line.strip() in data_file_header_names:
+ lex.push_raw_text(line) # <- Save line for later
+ break
+ tokens = line.strip().split()
+ if len(tokens) > 0:
+ tokens[0] = '@improper:type' + tokens[0]
+ l_data_impropers_by_type.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+
+ # Figure out the size of the simulation box boundary:
+ elif ((len(tokens) == 4) and
+ (tokens[2] == 'xlo') and
+ (tokens[3] == 'xhi') and
+ IsNumber(tokens[0]) and
+ IsNumber(tokens[1])):
+ boundary_xlo = float(tokens[0])
+ boundary_xhi = float(tokens[1])
+
+ elif ((len(tokens) == 4) and
+ (tokens[2] == 'ylo') and
+ (tokens[3] == 'yhi') and
+ IsNumber(tokens[0]) and
+ IsNumber(tokens[1])):
+ boundary_ylo = float(tokens[0])
+ boundary_yhi = float(tokens[1])
+
+ elif ((len(tokens) == 4) and
+ (tokens[2] == 'zlo') and
+ (tokens[3] == 'zhi') and
+ IsNumber(tokens[0]) and
+ IsNumber(tokens[1])):
+ boundary_zlo = float(tokens[0])
+ boundary_zhi = float(tokens[1])
+
+ elif ((len(tokens) == 6) and
+ (tokens[3] == 'xy') and
+ (tokens[4] == 'xz') and
+ (tokens[5] == 'yz') and
+ IsNumber(tokens[0]) and
+ IsNumber(tokens[1]) and
+ IsNumber(tokens[2])):
+ boundary_xy = float(tokens[0])
+ boundary_xz = float(tokens[1])
+ boundary_yz = float(tokens[2])
+
+ elif (tokens[0] == 'group'):
+ if (len(tokens) < 3):
+ raise InputError('Error: near or before ' + ErrorLeader(infile, lineno) + '\n'
+ ' Nonsensical group command:\n'
+ ' \"' + line.strip() + '\"\n')
+ l_in_group.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+
+ elif (tokens[0] == 'set'):
+ if (len(tokens) < 3):
+ raise InputError('Error: near or before ' + ErrorLeader(infile, lineno) + '\n'
+ ' Nonsensical set command:\n'
+ ' \"' + line.strip() + '\"\n')
+ l_in_set.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+
+ elif ((tokens[0] == 'fix') and (len(tokens) >= 4)):
+ if (tokens[3].find('rigid') == 0):
+ if (len(tokens) < 6):
+ raise InputError('Error: near or before ' + ErrorLeader(infile, lineno) + '\n'
+ ' Nonsensical ' +
+ tokens[0] + ' ' +
+ tokens[3] + ' command:\n'
+ ' \"' + line.strip() + '\"\n')
+ l_in_fix_rigid.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+ elif (tokens[3].find('shake') == 0):
+ if (len(tokens) < 7):
+ raise InputError('Error: near or before ' + ErrorLeader(infile, lineno) + '\n'
+ ' Nonsensical ' +
+ tokens[0] + ' ' +
+ tokens[3] + ' command:\n'
+ ' \"' + line.strip() + '\"\n')
+ l_in_fix_shake.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+ elif (tokens[3].find('poems') == 0):
+ if (len(tokens) < 4):
+ raise InputError('Error: near or before ' + ErrorLeader(infile, lineno) + '\n'
+ ' Nonsensical ' +
+ tokens[0] + ' ' +
+ tokens[3] + ' command:\n'
+ ' \"' + line.strip() + '\"\n')
+ l_in_fix_poems.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+ elif (tokens[3].find('qeq') == 0):
+ if (len(tokens) < 8):
+ raise InputError('Error: near or before ' + ErrorLeader(infile, lineno) + '\n'
+ ' Nonsensical ' +
+ tokens[0] + ' ' +
+ tokens[3] + ' command:\n'
+ ' \"' + line.strip() + '\"\n')
+ l_in_fix_qeq.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+ elif (tokens[3].find('qmmm') == 0):
+ if (len(tokens) < 8):
+ raise InputError('Error: near or before ' + ErrorLeader(infile, lineno) + '\n'
+ ' Nonsensical ' +
+ tokens[0] + ' ' +
+ tokens[3] + ' command:\n'
+ ' \"' + line.strip() + '\"\n')
+ l_in_fix_qmmm.append(
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+ elif (tokens[3].find('restrain') == 0):
+ sys.stderr('WARNING: fix \"' + tokens[3] + '\" commands are NOT understood by ' + g_program_name + '.\n'
+ ' If you need restraints, add them to your final .LT file (eg. \"system.lt\"),\n'
+ ' (And be sure to use unique (full, long) moltemplate names for each $atom:.)\n'
+ ' Ignoring line \"' + line.strip() + '\"\n')
+
+ else:
+ sys.stderr.write(' Ignoring line \"' +
+ line.strip() + '\"\n')
+
+ sys.stderr.write('\n\n')
+
+ sys.stderr.write(' processing \"Atoms\" section (')
+
+ # post-processing:
+
+ if len(l_data_masses) == 0:
+ infer_types_from_comments = False
+
+ # Pass 1 through l_data_atoms:
+ # Now do a second-pass throught the "l_data_atoms" section, and
+ # finish dealing with "infer_types_from_comments".
+ # During this pass, peplace the atomtype names and atomid names with
+ # atom type names which were inferred from comments read earlier.
+
+ sys.stderr.write('pass1')
+ for i in range(0, len(l_data_atoms)):
+ tokens = l_data_atoms[i].split()
+ atomid = tokens[i_atomid]
+ if atomid.find('$atom:') == 0:
+ atomid = atomid[6:]
+ # convert to an integer
+ atomid = Intify(atomid)
+
+ if infer_types_from_comments:
+ atomtype = tokens[i_atomtype]
+ # remove the "@atom:" prefix (we will put it back later)
+ if atomtype.find('@atom:') == 0:
+ atomtype = atomtype[6:]
+ # convert to an integer
+ atomtype = Intify(atomtype)
+ atomtype_name = atomtypes_int2name[atomtype]
+ if atomtype in atomids_by_type:
+ l_atomids = atomids_by_type[atomtype]
+ prev_count = len(l_atomids)
+ # lookup the most recently added atom of this type:
+ #prev_atomid_name = l_atomids[-1]
+ #ic = prev_atomid_name.rfind('_')
+ #prev_count = int(prev_atomid_name[ic+1:])
+ atomid_name = atomtype_name + '_' + str(prev_count + 1)
+ atomids_by_type[atomtype].append(atomid)
+ else:
+ atomids_by_type[atomtype] = [atomid]
+ atomid_name = atomtype_name + '_1'
+ atomids_int2name[atomid] = atomid_name
+ #atomids_name2str[atomid_name] = atomid
+ else:
+ atomids_int2name[atomid] = 'id' + str(atomid)
+
+ sys.stderr.write(', pass2')
+ # Pass 2: If any atom types only appear once, simplify their atomid names.
+ for i in range(0, len(l_data_atoms)):
+ tokens = l_data_atoms[i].split()
+
+ # remove the "@atom:" prefix (we will put it back later)
+ atomtype = tokens[i_atomtype]
+ if atomtype.find('@atom:') == 0:
+ atomtype = atomtype[6:]
+ atomtype = Intify(atomtype)
+ if infer_types_from_comments:
+ if len(atomids_by_type[atomtype]) == 1:
+ atomid = tokens[i_atomid]
+ if atomid.find('$atom:') == 0:
+ atomid = atomid[6:]
+ atomid = Intify(atomid)
+ atomtype_name = atomtypes_int2name[atomtype]
+ atomids_int2name[atomid] = atomtype_name
+
+ sys.stderr.write(', pass3')
+ # Pass 3: substitute the atomid names and atom type names into l_data_atoms
+ for i in range(0, len(l_data_atoms)):
+ tokens = l_data_atoms[i].split()
+ atomid = tokens[i_atomid]
+ if atomid.find('$atom:') == 0:
+ atomid = atomid[6:]
+ # convert to an integer
+ atomid = Intify(atomid)
+ atomtype = tokens[i_atomtype]
+ if atomtype.find('@atom:') == 0:
+ atomtype = atomtype[6:]
+ atomtype = Intify(atomtype)
+ tokens = l_data_atoms[i].split()
+ tokens[i_atomid] = '$atom:' + atomids_int2name[atomid]
+ tokens[i_atomtype] = '@atom:' + atomtypes_int2name[atomtype]
+ l_data_atoms[i] = (' ' * indent) + (' '.join(tokens) + '\n')
+ sys.stderr.write(')\n')
+
+ if len(l_data_atoms) == 0:
+ raise InputError('Error(' + g_program_name + '): You have no atoms in you selection!\n'
+ '\n'
+ ' Either you have chosen a set of atoms, molecules, or atom types which\n'
+ ' does not exist, or there is a problem with (the format of) your\n'
+ ' arguments. Check the documentation and examples.\n')
+
+ # --- Now delete items that were not selected from the other lists ---
+
+ # --- MASSES ---
+
+ # delete masses for atom types we don't care about anymore:
+ i_line = 0
+ while i_line < len(l_data_masses):
+ line = l_data_masses[i_line]
+ tokens = line.strip().split()
+ atomtype = Intify(tokens[0])
+ if ((not (atomtype in needed_atomtypes)) and
+ (not ((len(atomtype_selection) > 0) and
+ BelongsToSel(atomtype, atomtype_selection)))):
+ del l_data_masses[i_line]
+ else:
+ atomtype_name = atomtypes_int2name[atomtype]
+ tokens[0] = '@atom:' + atomtype_name
+ l_data_masses[i_line] = (' ' * indent) + (' '.join(tokens) + '\n')
+ i_line += 1
+
+ # --- PAIR COEFFS ---
+
+ # delete data_pair_coeffs for atom types we don't care about anymore:
+ i_line = 0
+ while i_line < len(l_data_pair_coeffs):
+ line = l_data_pair_coeffs[i_line]
+ tokens = line.strip().split()
+ assert(len(tokens) > 0)
+ split_colon = tokens[0].split(':')
+ assert(len(split_colon) == 2)
+ atomtype = Intify(split_colon[1])
+ if ((not (atomtype in needed_atomtypes)) and
+ (not ((len(atomtype_selection) > 0) and
+ BelongsToSel(atomtype, atomtype_selection)))):
+ del l_data_pair_coeffs[i_line]
+ else:
+ i_line += 1
+
+ # delete data_pairij_coeffs for atom types we don't care about anymore:
+ i_line = 0
+ while i_line < len(l_data_pairij_coeffs):
+ line = l_data_pairij_coeffs[i_line]
+ tokens = line.strip().split()
+ assert(len(tokens) > 0)
+ split_colon_I = tokens[0].split(':')
+ assert(len(split_colon_I) == 2)
+ atomtype_I = Intify(split_colon_I[1])
+ split_colon_J = tokens[1].split(':')
+ assert(len(split_colon_J) == 2)
+ atomtype_J = Intify(split_colon_J[1])
+ if (((not (atomtype_I in needed_atomtypes)) and
+ (not ((len(atomtype_selection) > 0) and
+ BelongsToSel(atomtype_I, atomtype_selection))))
+ or
+ ((not (atomtype_J in needed_atomtypes)) and
+ (not ((len(atomtype_selection) > 0) and
+ BelongsToSel(atomtype_J, atomtype_selection))))):
+ del l_data_pairij_coeffs[i_line]
+ else:
+ i_line += 1
+
+ # delete in_pair_coeffs for atom we don't care about anymore:
+ i_line = 0
+ while i_line < len(l_in_pair_coeffs):
+ line = l_in_pair_coeffs[i_line]
+ tokens = line.strip().split()
+ atomtype_i_str = tokens[1]
+ atomtype_j_str = tokens[2]
+ # if (('*' in atomtype_i_str) or
+ # ('*' in atomtype_j_str)):
+ # sys.stderr.write('WARNING: near or before '+ErrorLeader(infile, lineno)+'\n'
+ # ' pair_coeff command contains a \"*\" character.\n'
+ # ' Keep in mind that using moltemplate.sh you can manually change the\n'
+ # ' numbers assigned to each atom type (when using -a or -b). Make sure\n'
+ # ' nor to accidentally change the order of atom types in one of these\n'
+ # ' pair_coeff commands. For example, commands like\n'
+ # ' pair_coeff 10*4 20*10 0.15 3.6\n'
+ # ' can be generated by moltemplate.sh, however\n'
+ # ' they may be rejected by LAMMPS (because LAMMPS prefers this\n'
+ # ' pair_coeff 4*10 10*20 0.15 3.6)\n'
+ # ' Later on, you may want to check to make sure moltemplate.sh\n'
+ # ' is not doing this. (Fortunately you never have to worry unless\n'
+ # ' you are using the -a or -b arguments with moltemplate.sh)\n')
+
+ if ('*' in atomtype_i_str):
+ atomtype_i_tokens = atomtype_i_str.split('*')
+
+ if atomtype_i_tokens[0] == '':
+ if (min_sel_atomtype and
+ (min_sel_atomtype < min_needed_atomtype)):
+ i_a = min_sel_atomtype
+ else:
+ i_a = min_needed_atomtype
+ else:
+ i_a = Intify(atomtype_i_tokens[0])
+
+ if atomtype_i_tokens[1] == '':
+ if (max_sel_atomtype and
+ (max_sel_atomtype > max_needed_atomtype)):
+ i_b = max_sel_atomtype
+ else:
+ i_b = max_needed_atomtype
+ else:
+ i_b = Intify(atomtype_i_tokens[1])
+
+ else:
+ i_a = i_b = Intify(atomtype_i_str)
+
+ i_a_final = None
+ i_b_final = None
+ for i in range(i_a, i_b + 1):
+ if ((i in needed_atomtypes) or (min_sel_atomtype <= i)):
+ i_a_final = i
+ break
+ for i in reversed(range(i_a, i_b + 1)):
+ if ((i in needed_atomtypes) or (max_sel_atomtype >= i)):
+ i_b_final = i
+ break
+
+ # if i_a_final and i_b_final:
+ # if i_a_final == i_b_final:
+ # i_str = '@atom:type'+str(i_a_final)
+ # tokens[1] = i_str
+ # else:
+ # i_str = '@{atom:type'+str(i_a_final)+'}*@{atom:type'+str(i_b_final)+'}'
+
+ if ('*' in atomtype_j_str):
+ atomtype_j_tokens = atomtype_j_str.split('*')
+
+ if atomtype_j_tokens[0] == '':
+ if (min_sel_atomtype and
+ (min_sel_atomtype < min_needed_atomtype)):
+ j_a = min_sel_atomtype
+ else:
+ j_a = min_needed_atomtype
+ else:
+ j_a = Intify(atomtype_j_tokens[0])
+
+ if atomtype_j_tokens[1] == '':
+ if (max_sel_atomtype and
+ (max_sel_atomtype > max_needed_atomtype)):
+ j_b = max_sel_atomtype
+ else:
+ j_b = max_needed_atomtype
+ else:
+ j_b = Intify(atomtype_j_tokens[1])
+
+ else:
+ j_a = j_b = Intify(atomtype_j_str)
+
+ j_a_final = None
+ j_b_final = None
+ for j in range(j_a, j_b + 1):
+ if ((j in needed_atomtypes) or (min_sel_atomtype <= j)):
+ j_a_final = j
+ break
+ for j in reversed(range(j_a, j_b + 1)):
+ if ((j in needed_atomtypes) or (max_sel_atomtype >= j)):
+ j_b_final = j
+ break
+
+ # if j_a_final and j_b_final:
+ # if j_a_final == j_b_final:
+ # j_str = '@atom:type'+str(j_a_final)
+ # tokens[1] = j_str
+ # else:
+ # j_str = '@{atom:type'+str(j_a_final)+'}*@{atom:type'+str(j_b_final)+'}'
+
+ if not (i_a_final and i_b_final and j_a_final and j_b_final):
+ del l_in_pair_coeffs[i_line]
+ elif (('*' in atomtype_i_str) or ('*' in atomtype_j_str)):
+ del l_in_pair_coeffs[i_line]
+ for i in range(i_a_final, i_b_final + 1):
+ for j in range(j_a_final, j_b_final + 1):
+ if j >= i:
+ #tokens[1] = '@atom:type'+str(i)
+ #tokens[2] = '@atom:type'+str(j)
+ tokens[1] = '@atom:' + atomtypes_int2name[i]
+ tokens[2] = '@atom:' + atomtypes_int2name[j]
+ l_in_pair_coeffs.insert(i_line,
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+ i_line += 1
+ else:
+ #tokens[1] = '@atom:type'+tokens[1]
+ #tokens[2] = '@atom:type'+tokens[2]
+ tokens[1] = '@atom:' + atomtypes_int2name[int(tokens[1])]
+ tokens[2] = '@atom:' + atomtypes_int2name[int(tokens[2])]
+ l_in_pair_coeffs[i_line] = (
+ ' ' * indent) + (' '.join(tokens) + '\n')
+ i_line += 1
+
+ # delete mass commands for atom types we don't care about anymore:
+ i_line = 0
+ while i_line < len(l_in_masses):
+ line = l_in_masses[i_line]
+ tokens = line.strip().split()
+ atomtype_i_str = tokens[1]
+ # if (('*' in atomtype_i_str) or
+ # ('*' in atomtype_j_str)):
+ # sys.stderr.write('WARNING: near or before '+ErrorLeader(infile, lineno)+'\n'
+ # ' pair_coeff command contains a \"*\" character.\n'
+ # ' Keep in mind that using moltemplate.sh you can manually change the\n'
+ # ' numbers assigned to each atom type (when using -a or -b). Make sure\n'
+ # ' nor to accidentally change the order of atom types in one of these\n'
+ # ' pair_coeff commands. For example, commands like\n'
+ # ' pair_coeff 10*4 20*10 0.15 3.6\n'
+ # ' can be generated by moltemplate.sh, however\n'
+ # ' they may be rejected by LAMMPS (because LAMMPS prefers this\n'
+ # ' pair_coeff 4*10 10*20 0.15 3.6)\n'
+ # ' Later on, you may want to check to make sure moltemplate.sh\n'
+ # ' is not doing this. (Fortunately you never have to worry unless\n'
+ # ' you are using the -a or -b arguments with moltemplate.sh)\n')
+
+ if ('*' in atomtype_i_str):
+ atomtype_i_tokens = atomtype_i_str.split('*')
+
+ if atomtype_i_tokens[0] == '':
+ if (min_sel_atomtype and
+ (min_sel_atomtype < min_needed_atomtype)):
+ i_a = min_sel_atomtype
+ else:
+ i_a = min_needed_atomtype
+ else:
+ i_a = Intify(atomtype_i_tokens[0])
+
+ if atomtype_i_tokens[1] == '':
+ if (max_sel_atomtype and
+ (max_sel_atomtype > max_needed_atomtype)):
+ i_b = max_sel_atomtype
+ else:
+ i_b = max_needed_atomtype
+ else:
+ i_b = Intify(atomtype_i_tokens[1])
+
+ else:
+ i_a = i_b = Intify(atomtype_i_str)
+
+ i_a_final = None
+ i_b_final = None
+ for i in range(i_a, i_b + 1):
+ if ((i in needed_atomtypes) or (min_sel_atomtype <= i)):
+ i_a_final = i
+ break
+ for i in reversed(range(i_a, i_b + 1)):
+ if ((i in needed_atomtypes) or (max_sel_atomtype >= i)):
+ i_b_final = i
+ break
+ # if i_a_final and i_b_final:
+ # if i_a_final == i_b_final:
+ # i_str = '@atom:type'+str(i_a_final)
+ # tokens[1] = i_str
+ # else:
+ # i_str = '@{atom:type'+str(i_a_final)+'}*@{atom:type'+str(i_b_final)+'}'
+
+ if not (i_a_final and i_b_final and j_a_final and j_b_final):
+ del l_in_masses[i_line]
+ elif ('*' in atomtype_i_str):
+ del l_in_masses[i_line]
+ for i in range(i_a_final, i_b_final + 1):
+ #tokens[1] = '@atom:type'+str(i)
+ tokens[1] = '@atom:' + atomtypes_int2name[i]
+ # CONTINUEHERE: CHECK THAT THIS IS WORKING
+ l_in_masses.insert(i_line, (' ' * indent) +
+ (' '.join(tokens) + '\n'))
+ i_line += 1
+ else:
+ assert(i_a == i_b)
+ #tokens[1] = '@atom:type'+str(i_a)
+ tokens[1] = '@atom:' + atomtypes_int2name[i_a]
+ # CONTINUEHERE: CHECK THAT THIS IS WORKING
+ l_in_masses[i_line] = (' ' * indent) + (' '.join(tokens) + '\n')
+ i_line += 1
+
+ # --- BONDS AND BOND COEFFS ---
+
+ # delete lines from data_bonds if they involve atoms we don't care about
+ i_line = 0
+ while i_line < len(l_data_bonds):
+ line = l_data_bonds[i_line]
+ tokens = line.strip().split()
+ assert(len(tokens) == 4)
+
+ bondid = Intify(tokens[0])
+ bondtype = Intify(tokens[1])
+ atomid1 = Intify(tokens[2])
+ atomid2 = Intify(tokens[3])
+ # if ((atomid1 in needed_atomids) and
+ # (atomid2 in needed_atomids)):
+ tokens[0] = '$bond:id' + str(bondid)
+ tokens[1] = '@bond:type' + str(bondtype)
+ #tokens[2] = '$atom:id'+str(atomid1)
+ #tokens[3] = '$atom:id'+str(atomid2)
+ tokens[2] = '$atom:' + atomids_int2name[atomid1]
+ tokens[3] = '$atom:' + atomids_int2name[atomid2]
+ needed_bondids.add(bondid)
+ needed_bondtypes.add(bondtype)
+ l_data_bonds[i_line] = (' ' * indent) + (' '.join(tokens) + '\n')
+ i_line += 1
+ # else:
+ # del l_data_bonds[i_line]
+
+ # delete data_bond_coeffs for bondtypes we don't care about anymore:
+ i_line = 0
+ while i_line < len(l_data_bond_coeffs):
+ line = l_data_bond_coeffs[i_line]
+ tokens = line.strip().split()
+ bondtype = Intify(tokens[0])
+ if (not (bondtype in needed_bondtypes)):
+ del l_data_bond_coeffs[i_line]
+ else:
+ tokens[0] = '@bond:type' + str(bondtype)
+ l_data_bond_coeffs[i_line] = (
+ ' ' * indent) + (' '.join(tokens) + '\n')
+ i_line += 1
+
+ # delete in_bond_coeffs for bondtypes we don't care about anymore:
+ for bondtype in needed_bondtypes:
+ assert(type(bondtype) is int)
+ if ((min_needed_bondtype == None) or
+ (min_needed_bondtype > bondtype)):
+ min_needed_bondtype = bondtype
+ if ((max_needed_bondtype == None) or
+ (max_needed_bondtype < bondtype)):
+ max_needed_bondtype = bondtype
+ for bondid in needed_bondids:
+ assert(type(bondid) is int)
+ if ((min_needed_bondid == None) or
+ (min_needed_bondid > bondid)):
+ min_needed_bondid = bondid
+ if ((max_needed_bondid == None) or
+ (max_needed_bondid < bondid)):
+ max_needed_bondid = bondid
+
+ i_line = 0
+ while i_line < len(l_in_bond_coeffs):
+ line = l_in_bond_coeffs[i_line]
+ tokens = line.strip().split()
+ bondtype_str = tokens[1]
+
+ if ('*' in bondtype_str):
+ bondtype_tokens = bondtype_str.split('*')
+
+ if bondtype_tokens[0] == '':
+ i_a = min_needed_bondtype
+ else:
+ i_a = Intify(bondtype_tokens[0])
+
+ if bondtype_tokens[1] == '':
+ i_b = max_needed_bondtype
+ else:
+ i_b = Intify(bondtype_tokens[1])
+
+ else:
+ i_a = Intify(bondtype_str)
+ i_b = i_a
+
+ if i_a < min_needed_bondtype:
+ i_a = min_needed_bondtype
+ if i_b > max_needed_bondtype:
+ i_b = max_needed_bondtype
+
+ # if i_a == i_b:
+ # i_str = '@bond:type'+str(i_a)
+ # tokens[1] = i_str
+ # else:
+ # i_str = '@{bond:type'+str(j_a)+'}*@{bond:type'+str(j_b)+'}'
+
+ if ('*' in bondtype_str):
+ del l_in_bond_coeffs[i_line]
+ for i in range(i_a, i_b + 1):
+ if (i in needed_bondtypes):
+ tokens[1] = '@bond:type' + str(i)
+ l_in_bond_coeffs.insert(i_line,
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+ i_line += 1
+ else:
+ if i_a < i_b:
+ raise InputError('Error: number of bond types in data file is not consistent with the\n'
+ ' number of bond types you have define bond_coeffs for.\n')
+ if (i_a == i_b) and (i_a in needed_bondtypes):
+ tokens[1] = '@bond:type' + str(i_a)
+ l_in_bond_coeffs[i_line] = (
+ ' ' * indent) + (' '.join(tokens) + '\n')
+ i_line += 1
+ else:
+ del l_in_bond_coeffs[i_line]
+
+ # --- ANGLES AND ANGLE COEFFS ---
+
+ # delete lines from data_angles if they involve atoms we don't care about
+ i_line = 0
+ while i_line < len(l_data_angles):
+ line = l_data_angles[i_line]
+ tokens = line.strip().split()
+ assert(len(tokens) == 5)
+
+ angleid = Intify(tokens[0])
+ angletype = Intify(tokens[1])
+ atomid1 = Intify(tokens[2])
+ atomid2 = Intify(tokens[3])
+ atomid3 = Intify(tokens[4])
+ # if ((atomid1 in needed_atomids) and
+ # (atomid2 in needed_atomids)):
+ tokens[0] = '$angle:id' + str(angleid)
+ tokens[1] = '@angle:type' + str(angletype)
+ #tokens[2] = '$atom:id'+str(atomid1)
+ #tokens[3] = '$atom:id'+str(atomid2)
+ #tokens[4] = '$atom:id'+str(atomid3)
+ tokens[2] = '$atom:' + atomids_int2name[atomid1]
+ tokens[3] = '$atom:' + atomids_int2name[atomid2]
+ tokens[4] = '$atom:' + atomids_int2name[atomid3]
+ needed_angleids.add(angleid)
+ needed_angletypes.add(angletype)
+ l_data_angles[i_line] = (' ' * indent) + (' '.join(tokens) + '\n')
+ i_line += 1
+ # else:
+ # del l_data_angles[i_line]
+
+ # delete data_angle_coeffs for angletypes we don't care about anymore:
+ i_line = 0
+ while i_line < len(l_data_angle_coeffs):
+ line = l_data_angle_coeffs[i_line]
+ tokens = line.strip().split()
+ angletype = Intify(tokens[0])
+ if (not (angletype in needed_angletypes)):
+ del l_data_angle_coeffs[i_line]
+ else:
+ tokens[0] = '@angle:type' + str(angletype)
+ l_data_angle_coeffs[i_line] = (
+ ' ' * indent) + (' '.join(tokens) + '\n')
+ i_line += 1
+
+ # --- class2specific ----
+ # Do the same for BondBond and BondAngle Coeffs:
+ # NOTE: LAMMPS INPUT SCRIPTS, ALL CLASS2 COEFFS are represented by:
+ # angle_coeff, dihedral_coeff, and improper_coeff commands.
+ # THERE ARE NO bondbond_coeff commands, or bondangle_coeff commands,
+ # etc..., so we dont have to worry about l_in_bondbond_coeffs,...
+ # delete data_bondbond_coeffs for angletypes we don't care about anymore:
+ i_line = 0
+ while i_line < len(l_data_bondbond_coeffs):
+ line = l_data_bondbond_coeffs[i_line]
+ tokens = line.strip().split()
+ angletype = Intify(tokens[0])
+ if (not (angletype in needed_angletypes)):
+ del l_data_bondbond_coeffs[i_line]
+ else:
+ tokens[0] = '@angle:type' + str(angletype)
+ l_data_bondbond_coeffs[i_line] = (
+ ' ' * indent) + (' '.join(tokens) + '\n')
+ i_line += 1
+ # delete data_bondangle_coeffs for angletypes we don't care about anymore:
+ i_line = 0
+ while i_line < len(l_data_bondangle_coeffs):
+ line = l_data_bondangle_coeffs[i_line]
+ tokens = line.strip().split()
+ angletype = Intify(tokens[0])
+ if (not (angletype in needed_angletypes)):
+ del l_data_bondangle_coeffs[i_line]
+ else:
+ tokens[0] = '@angle:type' + str(angletype)
+ l_data_bondangle_coeffs[i_line] = (
+ ' ' * indent) + (' '.join(tokens) + '\n')
+ i_line += 1
+ # --- end of class2specific ----
+
+ # delete in_angle_coeffs for angletypes we don't care about anymore:
+ for angletype in needed_angletypes:
+ assert(type(angletype) is int)
+ if ((min_needed_angletype == None) or
+ (min_needed_angletype > angletype)):
+ min_needed_angletype = angletype
+ if ((max_needed_angletype == None) or
+ (max_needed_angletype < angletype)):
+ max_needed_angletype = angletype
+ for angleid in needed_angleids:
+ assert(type(angleid) is int)
+ if ((min_needed_angleid == None) or
+ (min_needed_angleid > angleid)):
+ min_needed_angleid = angleid
+ if ((max_needed_angleid == None) or
+ (max_needed_angleid < angleid)):
+ max_needed_angleid = angleid
+
+ i_line = 0
+ while i_line < len(l_in_angle_coeffs):
+ line = l_in_angle_coeffs[i_line]
+ tokens = line.strip().split()
+ angletype_str = tokens[1]
+
+ if ('*' in angletype_str):
+ angletype_tokens = angletype_str.split('*')
+
+ if angletype_tokens[0] == '':
+ i_a = min_needed_angletype
+ else:
+ i_a = Intify(angletype_tokens[0])
+
+ if angletype_tokens[1] == '':
+ i_b = max_needed_angletype
+ else:
+ i_b = Intify(angletype_tokens[1])
+
+ else:
+ i_a = i_b = Intify(angletype_str)
+
+ if i_a < min_needed_angletype:
+ i_a = min_needed_angletype
+ if i_b > max_needed_angletype:
+ i_b = max_needed_angletype
+
+ # if i_a == i_b:
+ # i_str = '@angle:type'+str(i_a)
+ # tokens[1] = i_str
+ # else:
+ # i_str = '@{angle:type'+str(j_a)+'}*@{angle:type'+str(j_b)+'}'
+
+ if ('*' in angletype_str):
+ del l_in_angle_coeffs[i_line]
+ for i in range(i_a, i_b + 1):
+ if (i in needed_angletypes):
+ tokens[1] = '@angle:type' + str(i)
+ l_in_angle_coeffs.insert(i_line,
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+ i_line += 1
+ else:
+ if i_a < i_b:
+ raise InputError('Error: number of angle types in data file is not consistent with the\n'
+ ' number of angle types you have define angle_coeffs for.\n')
+ if (i_a == i_b) and (i_a in needed_angletypes):
+ tokens[1] = '@angle:type' + str(i_a)
+ l_in_angle_coeffs[i_line] = (
+ ' ' * indent) + (' '.join(tokens) + '\n')
+ i_line += 1
+ else:
+ del l_in_angle_coeffs[i_line]
+
+ # --- DIHEDRALS AND DIHEDRAL COEFFS ---
+
+ # delete lines from data_dihedrals if they involve atoms we don't care
+ # about
+ i_line = 0
+ while i_line < len(l_data_dihedrals):
+ line = l_data_dihedrals[i_line]
+ tokens = line.strip().split()
+ assert(len(tokens) == 6)
+
+ dihedralid = Intify(tokens[0])
+ dihedraltype = Intify(tokens[1])
+ atomid1 = Intify(tokens[2])
+ atomid2 = Intify(tokens[3])
+ atomid3 = Intify(tokens[4])
+ atomid4 = Intify(tokens[5])
+ # if ((atomid1 in needed_atomids) and
+ # (atomid2 in needed_atomids)):
+ tokens[0] = '$dihedral:id' + str(dihedralid)
+ tokens[1] = '@dihedral:type' + str(dihedraltype)
+ #tokens[2] = '$atom:id'+str(atomid1)
+ #tokens[3] = '$atom:id'+str(atomid2)
+ #tokens[4] = '$atom:id'+str(atomid3)
+ #tokens[5] = '$atom:id'+str(atomid4)
+ tokens[2] = '$atom:' + atomids_int2name[atomid1]
+ tokens[3] = '$atom:' + atomids_int2name[atomid2]
+ tokens[4] = '$atom:' + atomids_int2name[atomid3]
+ tokens[5] = '$atom:' + atomids_int2name[atomid4]
+
+ needed_dihedralids.add(dihedralid)
+ needed_dihedraltypes.add(dihedraltype)
+ l_data_dihedrals[i_line] = (' ' * indent) + (' '.join(tokens) + '\n')
+ i_line += 1
+ # else:
+ # del l_data_dihedrals[i_line]
+
+ # delete data_dihedral_coeffs for dihedraltypes we don't care about
+ # anymore:
+ i_line = 0
+ while i_line < len(l_data_dihedral_coeffs):
+ line = l_data_dihedral_coeffs[i_line]
+ tokens = line.strip().split()
+ dihedraltype = Intify(tokens[0])
+ if (not (dihedraltype in needed_dihedraltypes)):
+ del l_data_dihedral_coeffs[i_line]
+ else:
+ tokens[0] = '@dihedral:type' + str(dihedraltype)
+ l_data_dihedral_coeffs[i_line] = (
+ ' ' * indent) + (' '.join(tokens) + '\n')
+ i_line += 1
+
+ # --- class2specific ----
+ # Do the same for MiddleBondTorsion, EndBondTorsion, AngleTorsion,
+ # AngleAngleTorsion, and BondBond13 Coeffs
+ # NOTE: LAMMPS INPUT SCRIPTS, ALL CLASS2 COEFFS are represented by:
+ # angle_coeff, dihedral_coeff, and improper_coeff commands.
+ # THERE ARE NO "middlebondtorsion_coeff" commands, etc...so we don't
+ # have to worry about dealing with "l_in_middlebondtorsion_coeffs",...
+ # delete data_middlebondtorsion_coeffs for dihedraltypes we don't care
+ # about anymore:
+ i_line = 0
+ while i_line < len(l_data_middlebondtorsion_coeffs):
+ line = l_data_middlebondtorsion_coeffs[i_line]
+ tokens = line.strip().split()
+ dihedraltype = Intify(tokens[0])
+ if (not (dihedraltype in needed_dihedraltypes)):
+ del l_data_middlebondtorsion_coeffs[i_line]
+ else:
+ tokens[0] = '@dihedral:type' + str(dihedraltype)
+ l_data_middlebondtorsion_coeffs[i_line] = (
+ ' ' * indent) + (' '.join(tokens) + '\n')
+ i_line += 1
+ # delete data_endbondtorsion_coeffs for dihedraltypes we don't care about
+ # anymore:
+ i_line = 0
+ while i_line < len(l_data_endbondtorsion_coeffs):
+ line = l_data_endbondtorsion_coeffs[i_line]
+ tokens = line.strip().split()
+ dihedraltype = Intify(tokens[0])
+ if (not (dihedraltype in needed_dihedraltypes)):
+ del l_data_endbondtorsion_coeffs[i_line]
+ else:
+ tokens[0] = '@dihedral:type' + str(dihedraltype)
+ l_data_endbondtorsion_coeffs[i_line] = (
+ ' ' * indent) + (' '.join(tokens) + '\n')
+ i_line += 1
+ # delete data_angletorsion_coeffs for dihedraltypes we don't care about
+ # anymore:
+ i_line = 0
+ while i_line < len(l_data_angletorsion_coeffs):
+ line = l_data_angletorsion_coeffs[i_line]
+ tokens = line.strip().split()
+ dihedraltype = Intify(tokens[0])
+ if (not (dihedraltype in needed_dihedraltypes)):
+ del l_data_angletorsion_coeffs[i_line]
+ else:
+ tokens[0] = '@dihedral:type' + str(dihedraltype)
+ l_data_angletorsion_coeffs[i_line] = (
+ ' ' * indent) + (' '.join(tokens) + '\n')
+ i_line += 1
+ # delete data_angleangletorsion_coeffs for dihedraltypes we don't care
+ # about anymore:
+ i_line = 0
+ while i_line < len(l_data_angleangletorsion_coeffs):
+ line = l_data_angleangletorsion_coeffs[i_line]
+ tokens = line.strip().split()
+ dihedraltype = Intify(tokens[0])
+ if (not (dihedraltype in needed_dihedraltypes)):
+ del l_data_angleangletorsion_coeffs[i_line]
+ else:
+ tokens[0] = '@dihedral:type' + str(dihedraltype)
+ l_data_angleangletorsion_coeffs[i_line] = (
+ ' ' * indent) + (' '.join(tokens) + '\n')
+ i_line += 1
+ # delete data_bondbond13_coeffs for dihedraltypes we don't care about
+ # anymore:
+ i_line = 0
+ while i_line < len(l_data_bondbond13_coeffs):
+ line = l_data_bondbond13_coeffs[i_line]
+ tokens = line.strip().split()
+ dihedraltype = Intify(tokens[0])
+ if (not (dihedraltype in needed_dihedraltypes)):
+ del l_data_bondbond13_coeffs[i_line]
+ else:
+ tokens[0] = '@dihedral:type' + str(dihedraltype)
+ l_data_bondbond13_coeffs[i_line] = (
+ ' ' * indent) + (' '.join(tokens) + '\n')
+ i_line += 1
+ # --- end of class2specific ----
+
+ # delete in_dihedral_coeffs for dihedraltypes we don't care about anymore:
+ for dihedraltype in needed_dihedraltypes:
+ assert(type(dihedraltype) is int)
+ if ((min_needed_dihedraltype == None) or
+ (min_needed_dihedraltype > dihedraltype)):
+ min_needed_dihedraltype = dihedraltype
+ if ((max_needed_dihedraltype == None) or
+ (max_needed_dihedraltype < dihedraltype)):
+ max_needed_dihedraltype = dihedraltype
+ for dihedralid in needed_dihedralids:
+ assert(type(dihedralid) is int)
+ if ((min_needed_dihedralid == None) or
+ (min_needed_dihedralid > dihedralid)):
+ min_needed_dihedralid = dihedralid
+ if ((max_needed_dihedralid == None) or
+ (max_needed_dihedralid < dihedralid)):
+ max_needed_dihedralid = dihedralid
+
+ i_line = 0
+ while i_line < len(l_in_dihedral_coeffs):
+ line = l_in_dihedral_coeffs[i_line]
+ tokens = line.strip().split()
+ dihedraltype_str = tokens[1]
+
+ if ('*' in dihedraltype_str):
+ dihedraltype_tokens = dihedraltype_str.split('*')
+
+ if dihedraltype_tokens[0] == '':
+ i_a = min_needed_dihedraltype
+ else:
+ i_a = Intify(dihedraltype_tokens[0])
+
+ if dihedraltype_tokens[1] == '':
+ i_b = max_needed_dihedraltype
+ else:
+ i_b = Intify(dihedraltype_tokens[1])
+
+ else:
+ i_a = i_b = Intify(dihedraltype_str)
+
+ if i_a < min_needed_dihedraltype:
+ i_a = min_needed_dihedraltype
+ if i_b > max_needed_dihedraltype:
+ i_b = max_needed_dihedraltype
+
+ # if i_a == i_b:
+ # i_str = '@dihedral:type'+str(i_a)
+ # tokens[1] = i_str
+ # else:
+ # i_str = '@{dihedral:type'+str(j_a)+'}*@{dihedral:type'+str(j_b)+'}'
+
+ if ('*' in dihedraltype_str):
+ del l_in_dihedral_coeffs[i_line]
+ for i in range(i_a, i_b + 1):
+ if (i in needed_dihedraltypes):
+ tokens[1] = '@dihedral:type' + str(i)
+ l_in_dihedral_coeffs.insert(i_line,
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+ i_line += 1
+ else:
+ if i_a < i_b:
+ raise InputError('Error: number of dihedral types in data file is not consistent with the\n'
+ ' number of dihedral types you have define dihedral_coeffs for.\n')
+ if (i_a == i_b) and (i_a in needed_dihedraltypes):
+ tokens[1] = '@dihedral:type' + str(i_a)
+ l_in_dihedral_coeffs[i_line] = (
+ ' ' * indent) + (' '.join(tokens) + '\n')
+ i_line += 1
+ else:
+ del l_in_dihedral_coeffs[i_line]
+
+ # --- IMPROPERS AND IMPROPER COEFFS ---
+
+ # delete lines from data_impropers if they involve atoms we don't care
+ # about
+ i_line = 0
+ while i_line < len(l_data_impropers):
+ line = l_data_impropers[i_line]
+ tokens = line.strip().split()
+ assert(len(tokens) == 6)
+
+ improperid = Intify(tokens[0])
+ impropertype = Intify(tokens[1])
+ atomid1 = Intify(tokens[2])
+ atomid2 = Intify(tokens[3])
+ atomid3 = Intify(tokens[4])
+ atomid4 = Intify(tokens[5])
+ # if ((atomid1 in needed_atomids) and
+ # (atomid2 in needed_atomids)):
+ tokens[0] = '$improper:id' + str(improperid)
+ tokens[1] = '@improper:type' + str(impropertype)
+ #tokens[2] = '$atom:id'+str(atomid1)
+ #tokens[3] = '$atom:id'+str(atomid2)
+ #tokens[4] = '$atom:id'+str(atomid3)
+ #tokens[5] = '$atom:id'+str(atomid4)
+ tokens[2] = '$atom:' + atomids_int2name[atomid1]
+ tokens[3] = '$atom:' + atomids_int2name[atomid2]
+ tokens[4] = '$atom:' + atomids_int2name[atomid3]
+ tokens[5] = '$atom:' + atomids_int2name[atomid4]
+
+ needed_improperids.add(improperid)
+ needed_impropertypes.add(impropertype)
+ l_data_impropers[i_line] = (' ' * indent) + (' '.join(tokens) + '\n')
+ i_line += 1
+ # else:
+ # del l_data_impropers[i_line]
+
+ # delete data_improper_coeffs for impropertypes we don't care about
+ # anymore:
+ i_line = 0
+ while i_line < len(l_data_improper_coeffs):
+ line = l_data_improper_coeffs[i_line]
+ tokens = line.strip().split()
+ impropertype = Intify(tokens[0])
+ if (not (impropertype in needed_impropertypes)):
+ del l_data_improper_coeffs[i_line]
+ else:
+ tokens[0] = '@improper:type' + str(impropertype)
+ l_data_improper_coeffs[i_line] = (
+ ' ' * indent) + (' '.join(tokens) + '\n')
+ i_line += 1
+
+ # --- class2specific ----
+ # Do the same for AngleAngle Coeffs
+ # NOTE: LAMMPS INPUT SCRIPTS, ALL CLASS2 COEFFS are represented by:
+ # angle_coeff, dihedral_coeff, and improper_coeff commands.
+ # THERE ARE NO "angleangle_coeff" commands, etc...so we don't
+ # have to worry about dealing with "l_in_angleangle_coeffs",...
+ # delete data_middlebondtorsion_coeffs for dihedraltypes we don't care about anymore:
+ # delete data_angleangle_coeffs for impropertypes we don't care about
+ # anymore:
+ i_line = 0
+ while i_line < len(l_data_angleangle_coeffs):
+ line = l_data_angleangle_coeffs[i_line]
+ tokens = line.strip().split()
+ impropertype = Intify(tokens[0])
+ if (not (impropertype in needed_impropertypes)):
+ del l_data_angleangle_coeffs[i_line]
+ else:
+ tokens[0] = '@improper:type' + str(impropertype)
+ l_data_angleangle_coeffs[i_line] = (
+ ' ' * indent) + (' '.join(tokens) + '\n')
+ i_line += 1
+ # --- end of class2specific ----
+
+ # delete in_improper_coeffs for impropertypes we don't care about anymore:
+ for impropertype in needed_impropertypes:
+ assert(type(impropertype) is int)
+ if ((min_needed_impropertype == None) or
+ (min_needed_impropertype > impropertype)):
+ min_needed_impropertype = impropertype
+ if ((max_needed_impropertype == None) or
+ (max_needed_impropertype < impropertype)):
+ max_needed_impropertype = impropertype
+ for improperid in needed_improperids:
+ assert(type(improperid) is int)
+ if ((min_needed_improperid == None) or
+ (min_needed_improperid > improperid)):
+ min_needed_improperid = improperid
+ if ((max_needed_improperid == None) or
+ (max_needed_improperid < improperid)):
+ max_needed_improperid = improperid
+
+ i_line = 0
+ while i_line < len(l_in_improper_coeffs):
+ line = l_in_improper_coeffs[i_line]
+ tokens = line.strip().split()
+ impropertype_str = tokens[1]
+
+ if ('*' in impropertype_str):
+ impropertype_tokens = impropertype_str.split('*')
+
+ if impropertype_tokens[0] == '':
+ i_a = min_needed_impropertype
+ else:
+ i_a = Intify(impropertype_tokens[0])
+
+ if impropertype_tokens[1] == '':
+ i_b = max_needed_impropertype
+ else:
+ i_b = Intify(impropertype_tokens[1])
+
+ else:
+ i_a = i_b = Intify(impropertype_str)
+
+ if i_a < min_needed_impropertype:
+ i_a = min_needed_impropertype
+ if i_b > max_needed_impropertype:
+ i_b = max_needed_impropertype
+
+ # if i_a == i_b:
+ # i_str = '@improper:type'+str(i_a)
+ # tokens[1] = i_str
+ # else:
+ # i_str = '@{improper:type'+str(j_a)+'}*@{improper:type'+str(j_b)+'}'
+
+ if ('*' in impropertype_str):
+ del l_in_improper_coeffs[i_line]
+ for i in range(i_a, i_b + 1):
+ if (i in needed_impropertypes):
+ tokens[1] = '@improper:type' + str(i)
+ l_in_improper_coeffs.insert(i_line,
+ (' ' * indent) + (' '.join(tokens) + '\n'))
+ i_line += 1
+ else:
+ if i_a < i_b:
+ raise InputError('Error: number of improper types in data file is not consistent with the\n'
+ ' number of improper types you have define improper_coeffs for.\n')
+ if (i_a == i_b) and (i_a in needed_impropertypes):
+ tokens[1] = '@improper:type' + str(i_a)
+ l_in_improper_coeffs[i_line] = (
+ ' ' * indent) + (' '.join(tokens) + '\n')
+ i_line += 1
+ else:
+ del l_in_improper_coeffs[i_line]
+
+ # --- GROUPS ---
+
+ # Now parse through all of the "group" commands and try and figure
+ # out if any of these groups contain any of the atoms we are keeping.
+ # If so, then save the group and write it out.
+ # (I hate trying to parse this kind of text.)
+
+ # if len(l_in_group) > 0:
+ # sys.stderr.write('\n'
+ # ' --groups-- Attempting to parse \"group\" commands.\n'
+ # ' This may cause '+g_program_name+' to crash.\n'
+ # ' If so, comment out all group commands in your input script(s), and\n'
+ # ' try again. (And please report the error. -Andrew 2014-10-30)\n')
+
+ i_line = 0
+ groups_needed = set(['all'])
+ while i_line < len(l_in_group):
+ line = l_in_group[i_line]
+ tokens = line.strip().split()
+ delete_this_command = False
+ explicit_definition = False
+ if len(tokens) < 3:
+ delete_this_command = True
+ group_name = tokens[1]
+ specifier_style = tokens[2]
+ str_logical = ''
+ str_selection = ''
+ if specifier_style[0:4] == 'type':
+ str_logical += specifier_style[4:]
+ explicit_definition = True
+ specifier_style = 'type'
+ elif specifier_style == 'id':
+ str_logical += specifier_style[2:]
+ explicit_definition = True
+ specifier_style = 'id'
+ elif specifier_style == 'molecule':
+ str_logical += specifier_style[8:]
+ specifier_style = 'molecule'
+ explicit_definition = True
+
+ if explicit_definition:
+ i_token_sel_min = 3
+ if len(tokens) <= i_token_sel_min:
+ sys.stderr.write('WARNING: possible syntax error on this line:\n'
+ + ' ' + l_in_group[i_line] + '\n')
+ delete_this_command = True
+ if str_logical == '':
+ str_logical = tokens[i_token_sel_min]
+ if not str_logical[0].isdigit():
+ i_token_sel_min += 1
+ if len(tokens) <= i_token_sel_min:
+ tokens.append('')
+ else:
+ tokens.insert(i_token_sel_min, str_logical)
+
+ i_token_sel_max = len(tokens) - 1
+
+ for i in range(i_token_sel_min, len(tokens)):
+ if tokens[i].isdigit():
+ break
+ else:
+ i_token_sel_max = i
+
+ assert(len(tokens) > i_token_sel_min)
+
+ if str_logical[0:2] in ('<=', '>=', '==', '!=', '<>'):
+ tokens[i_token_sel_min] = str_logical[
+ 2:] + tokens[i_token_sel_min]
+ str_logical = str_logical[0:2]
+ if str_logical == '<=':
+ l_group_selection = [(None, int(tokens[i_token_sel_min]))]
+ elif str_logical == '>=':
+ l_group_selection = [(int(tokens[i_token_sel_min]), None)]
+ elif str_logical == '==':
+ l_group_selection = [(int(tokens[i_token_sel_min]),
+ int(tokens[i_token_sel_min]))]
+ elif str_logical == '!=':
+ l_group_selection = [(None, int(tokens[i_token_sel_min]) - 1),
+ (int(tokens[i_token_sel_min]) + 1, None)]
+ elif str_logical == '<>':
+ l_group_selection = [(int(tokens[i_token_sel_min]),
+ int(tokens[i_token_sel_max]))]
+
+ elif str_logical[0:1] in ('<', '>'):
+ tokens[i_token_sel_min] = str_logical[
+ 1:] + tokens[i_token_sel_min]
+ str_logical = str_logical[0:1]
+ if str_logical == '<':
+ l_group_selection = [
+ (None, int(tokens[i_token_sel_min]) - 1)]
+ elif str_logical == '>':
+ l_group_selection = [
+ (int(tokens[i_token_sel_min]) + 1, None)]
+ else:
+ str_selection = ' '.join(
+ tokens[i_token_sel_min:i_token_sel_max + 1])
+ l_group_selection = LammpsSelectToIntervals(str_selection,
+ slice_delim=':',
+ or_delim=' ')
+
+ mn, mx = IntervalListToMinMax(l_group_selection)
+ if mn == None:
+ mn = 1
+ filtered_selection = []
+ if specifier_style == 'type':
+ if mx == None:
+ mx = max_needed_atomtype
+ for i in range(mn, mx + 1):
+ if (BelongsToSel(i, l_group_selection)
+ and (i in needed_atomtypes)):
+ filtered_selection.append((i, i))
+ elif specifier_style == 'id':
+ if mx == None:
+ mx = max_needed_atomid
+ for i in range(mn, mx + 1):
+ if (BelongsToSel(i, l_group_selection)
+ and (i in needed_atomids)):
+ filtered_selection.append((i, i))
+ elif specifier_style == 'molecule':
+ if mx == None:
+ mx = max_needed_molid
+ for i in range(mn, mx + 1):
+ if (BelongsToSel(i, l_group_selection)
+ and (i in needed_molids)):
+ filtered_selection.append((i, i))
+
+ MergeIntervals(filtered_selection)
+
+ if len(filtered_selection) > 0:
+
+ tokens = ['group', group_name, specifier_style]
+ for interval in filtered_selection:
+ a = interval[0]
+ b = interval[1]
+
+ if specifier_style == 'type':
+ if a == b:
+ tokens.append('@atom:type' + str(a))
+ else:
+ tokens.append('@{atom:type' + str(a) +
+ '}:@{atom:type' + str(b) + '}')
+
+ if specifier_style == 'id':
+ if a == b:
+ tokens.append('$atom:id' + str(a))
+ else:
+ tokens.append('${atom:id' + str(a)
+ + '}:${atom:id' + str(b) + '}')
+
+ if specifier_style == 'molecule':
+ if a == b:
+ tokens.append('$mol:id' + str(a))
+ else:
+ tokens.append('${mol:id' + str(a) +
+ '}:${mol:id' + str(b) + '}')
+
+ # Commenting out next two lines. (This is handled later.)
+ #l_in_group[i_line] = ' '.join(tokens)
+ # groups_needed.add(group_name)
+
+ else:
+ delete_this_command = True
+
+ else:
+ if len(tokens) > 3:
+ if tokens[2] == 'union':
+ i_token = 3
+ while i_token < len(tokens):
+ if not (tokens[i_token] in groups_needed):
+ del tokens[i_token]
+ else:
+ i_token += 1
+ # if none of the groups contain atoms we need,
+ # then delete the entire command
+ if len(tokens) <= 3:
+ delete_this_command = True
+ elif tokens[2] == 'intersect':
+ i_token = 3
+ while i_token < len(tokens):
+ if not (tokens[i_token] in groups_needed):
+ # if any of the groups we need are empty
+ # then delete the command
+ delete_this_command = True
+ break
+ i_token += 1
+ elif (tokens[2] == 'subtract') and (len(tokens) >= 5):
+ if not (tokens[3] in groups_needed):
+ delete_this_command = True
+ i_token = 4
+ while i_token < len(tokens):
+ if not (tokens[i_token] in groups_needed):
+ del tokens[i_token]
+ else:
+ i_token += 1
+ else:
+ # Otherwise I don't recongize the syntax of this
+ # group command. In that case, I just delete it.
+ delete_this_command = True
+
+ elif tokens[2] == 'clear':
+ pass
+ elif tokens[2] == 'delete':
+ pass
+ else:
+ delete_this_command = True
+ if delete_this_command:
+ sys.stderr.write('WARNING: Ignoring line \n\"' +
+ l_in_group[i_line].rstrip() + '\"\n')
+ del l_in_group[i_line]
+ else:
+ groups_needed.add(group_name)
+ l_in_group[i_line] = (' ' * indent) + ' '.join(tokens) + '\n'
+ i_line += 1
+
+ # --- fix rigid ---
+
+ i_line = 0
+ while i_line < len(l_in_fix_rigid):
+ line = l_in_fix_rigid[i_line]
+ tokens = line.strip().split()
+ if len(tokens) < 4:
+ break
+ fixid = tokens[1]
+ group_name = tokens[2]
+ delete_this_command = True
+ assert(tokens[3].find('rigid') == 0)
+ if group_name in groups_needed:
+ delete_this_command = False
+
+ if delete_this_command:
+ sys.stderr.write('WARNING: Ignoring line \n\"' +
+ l_in_fix_rigid[i_line].rstrip() + '\"\n')
+ del l_in_fix_rigid[i_line]
+ else:
+ l_in_fix_rigid[i_line] = (' ' * indent) + ' '.join(tokens) + '\n'
+ i_line += 1
+
+ # --- set ---
+
+ i_line = 0
+ while i_line < len(l_in_set):
+ line = l_in_set[i_line]
+ tokens = line.strip().split()
+ l_new_set_commands = []
+ l_new_set_static_commands = []
+ if len(tokens) < 4:
+ break
+ if tokens[1] == 'type':
+ pattern = tokens[2].split('*')
+ if pattern[0] == '':
+ types_lo = min_needed_atomtype
+ else:
+ types_lo = types_hi = int(pattern[0])
+ if types_lo < min_needed_atomtype:
+ types_lo = min_needed_atomtype
+ if len(pattern) == 2:
+ if pattern[1] == '':
+ types_hi = max_needed_atomtype
+ else:
+ types_hi = min(int(pattern[1]), max_needed_atomtype)
+ for i in range(types_lo, types_hi+1):
+ if i in needed_atomtypes:
+ l_new_set_static_commands.append((' ' * indent) +
+ ' '.join(tokens[0:2])+' '+
+ '@atom:type'+str(i) + ' ' +
+ ' '.join(tokens[3:]))
+ elif tokens[1] == 'atom':
+ pattern = tokens[2].split('*')
+ if pattern[0] == '':
+ atomids_lo = min_needed_atomid
+ else:
+ atomids_lo = atomids_hi = int(pattern[0])
+ if atomids_lo < min_needed_atomid:
+ atomids_lo = min_needed_atomid
+ if len(pattern) == 2:
+ if pattern[1] == '':
+ atomids_hi = max_needed_atomid
+ else:
+ atomids_hi = min(int(pattern[1]), max_needed_atomid)
+ for i in range(atomids_lo, atomids_hi+1):
+ if i in needed_atomids:
+ l_new_set_commands.append((' ' * indent) +
+ tokens[0:2].join(' ')+' '+
+ str(i) + ' ' +
+ tokens[3:].join(' '))
+ elif tokens[1] == 'mol':
+ pattern = tokens[2].split('*')
+ if pattern[0] == '':
+ molids_lo = min_needed_molid
+ else:
+ molids_lo = molids_hi = int(pattern[0])
+ if molids_lo < min_needed_molid:
+ molids_lo = min_needed_molid
+ if len(pattern) == 2:
+ if pattern[1] == '':
+ molids_hi = max_needed_molid
+ else:
+ molids_hi = min(int(pattern[1]), max_needed_molid)
+ for i in range(molids_lo, molids_hi+1):
+ if i in needed_molids:
+ l_new_set_commands.append(tokens[0:2].join(' ')+' '+
+ str(i) + ' ' +
+ tokens[3:].join(' '))
+ elif tokens[0] == 'group':
+ group_name = tokens[2]
+ if group_name in groups_needed:
+ l_new_set_static_commands = [l_in_set[i_line]]
+
+ if len(l_new_set_commands) > 0:
+ l_in_set[i_line:i_line+1] = l_new_set_commands
+ i_line += len(l_new_set_commands)
+ elif len(l_new_set_static_commands) > 0:
+ l_in_set_static += l_new_set_static_commands
+ del l_in_set[i_line]
+ else:
+ sys.stderr.write('WARNING: Ignoring line \n\"' +
+ l_in_set[i_line].rstrip() + '\"\n')
+ del l_in_set[i_line]
+
+
+ # --- fix shake ---
+
+ i_line = 0
+ while i_line < len(l_in_fix_shake):
+ line = l_in_fix_shake[i_line]
+ tokens = line.strip().split()
+ if len(tokens) < 4:
+ break
+ fixid = tokens[1]
+ group_name = tokens[2]
+ delete_this_command = True
+ assert(tokens[3].find('shake') == 0)
+
+ # parse the list of angle types
+ #i_token = tokens.index('a')
+ for i_token in range(0, len(tokens)):
+ if tokens[i_token] == 'a':
+ break
+ if i_token != len(tokens):
+ i_token += 1
+ while (i_token < len(tokens)) and tokens[i_token].isdigit():
+ # delete angle types from the list which
+ # do not belong to the selection
+ btype = int(tokens[i_token])
+ if int(tokens[i_token]) in needed_angletypes:
+ tokens[i_token] = '@angle:type' + tokens[i_token]
+ i_token += 1
+ delete_this_command = False
+ else:
+ del tokens[i_token]
+
+ # parse the list of bond types
+ #i_token = tokens.index('b')
+ for i_token in range(0, len(tokens)):
+ if tokens[i_token] == 'b':
+ break
+ if i_token != len(tokens):
+ i_token += 1
+ while (i_token < len(tokens)) and tokens[i_token].isdigit():
+ # delete bond types from the list which
+ # do not belong to the selection
+ btype = int(tokens[i_token])
+ if int(tokens[i_token]) in needed_bondtypes:
+ tokens[i_token] = '@bond:type' + tokens[i_token]
+ i_token += 1
+ delete_this_command = False
+ else:
+ del tokens[i_token]
+
+ # parse the list of atom types
+ # i_token = tokens.index('t')
+ for i_token in range(0, len(tokens)):
+ if tokens[i_token] == 't':
+ break
+ if i_token != len(tokens):
+ i_token += 1
+ while (i_token < len(tokens)) and tokens[i_token].isdigit():
+ # delete atom types from the list which
+ # do not belong to the selection
+ btype = int(tokens[i_token])
+ if int(tokens[i_token]) in needed_atomtypes:
+ tokens[i_token] = '@atom:type' + tokens[i_token]
+ i_token += 1
+ delete_this_command = False
+ else:
+ del tokens[i_token]
+
+ # Selecting atoms by mass feature should still work, so we
+ # don't need to delete or ignore these kinds of commands.
+ # for i_token in range(0, len(tokens)):
+ # if tokens[i_token] == 'm':
+ # break
+ # if i_token != len(tokens):
+ # delete_this_command = True
+
+ if 'mol' in tokens:
+ delete_this_command = True
+
+ if not (group_name in groups_needed):
+ delete_this_command = True
+
+ if delete_this_command:
+ sys.stderr.write('WARNING: Ignoring line \n\"' +
+ l_in_fix_shake[i_line].rstrip() + '\"\n')
+ del l_in_fix_shake[i_line]
+ else:
+ l_in_fix_shake[i_line] = (' ' * indent) + ' '.join(tokens) + '\n'
+ i_line += 1
+
+ # --- fix poems ---
+
+ i_line = 0
+ while i_line < len(l_in_fix_poems):
+ line = l_in_fix_poems[i_line]
+ tokens = line.strip().split()
+ if len(tokens) < 4:
+ break
+ fixid = tokens[1]
+ group_name = tokens[2]
+ delete_this_command = True
+ assert(tokens[3].find('poems') == 0)
+ if group_name in groups_needed:
+ delete_this_command = False
+ if tokens[4] != 'molecule':
+ delete_this_command = True
+ sys.stderr.write('WARNING: ' + g_program_name + ' ONLY supports \"fix poems\" commands\n'
+ ' which use the \"molecule\" keyword.\n')
+ if tokens[4] == 'file':
+ sys.stderr.write(' If you want use external files with fix poems, then you will have to\n'
+ ' generate the file yourself. You ask use moltemplate to generate\n'
+ ' this file for you, by manually adding a section at the end of your\n'
+ ' final .LT file (eg. \"system.lt\") which resembles the following:\n\n'
+ 'write(\"poems_file.txt\") {\n'
+ ' 1 1 $atom:idname1a $atom:idname2a $atom:idname3a ...\n'
+ ' 2 1 $atom:idname1b $atom:idname2b $atom:idname3b ...\n'
+ ' 3 1 $atom:idname1c $atom:idname2c $atom:idname3c ...\n'
+ ' : : etc...\n'
+ '}\n\n'
+ ' ...where $atom:idname1a, $atom:idname2a, ... are moltemplate-compatible\n'
+ ' unique (full,long) id-names for the atoms in each rigid body.\n'
+ ' This will insure the atom-id numbers in this file are correct.\n'
+
+ ' See the documentation for fix poems for details.\n')
+
+ if delete_this_command:
+ sys.stderr.write('WARNING: Ignoring line \n\"' +
+ l_in_fix_poems[i_line].rstrip() + '\"\n')
+ del l_in_fix_poems[i_line]
+ else:
+ l_in_fix_poems[i_line] = (' ' * indent) + ' '.join(tokens) + '\n'
+ i_line += 1
+
+ # --- fix qeq ---
+
+ i_line = 0
+ while i_line < len(l_in_fix_qeq):
+ line = l_in_fix_qeq[i_line]
+ tokens = line.strip().split()
+ if len(tokens) < 4:
+ break
+ fixid = tokens[1]
+ group_name = tokens[2]
+ delete_this_command = True
+ assert(tokens[3].find('qeq') == 0)
+ if group_name in groups_needed:
+ delete_this_command = False
+
+ if delete_this_command:
+ sys.stderr.write('WARNING: Ignoring line \n\"' +
+ l_in_fix_qeq[i_line].rstrip() + '\"\n')
+ del l_in_fix_qeq[i_line]
+ else:
+ l_in_fix_qeq[i_line] = (' ' * indent) + ' '.join(tokens) + '\n'
+ i_line += 1
+
+ # --- fix qmmm ---
+
+ i_line = 0
+ while i_line < len(l_in_fix_qmmm):
+ line = l_in_fix_qmmm[i_line]
+ tokens = line.strip().split()
+ if len(tokens) < 4:
+ break
+ fixid = tokens[1]
+ group_name = tokens[2]
+ delete_this_command = True
+ assert(tokens[3].find('qmmm') == 0)
+ if group_name in groups_needed:
+ delete_this_command = False
+
+ if delete_this_command:
+ sys.stderr.write('WARNING: Ignoring line \n\"' +
+ l_in_fix_qmmm[i_line].rstrip() + '\"\n')
+ del l_in_fix_qmmm[i_line]
+ else:
+ l_in_fix_qmmm[i_line] = (' ' * indent) + ' '.join(tokens) + '\n'
+ i_line += 1
+
+ ########################################
+ ### Now begin writing the template. ###
+ ########################################
+
+ if not some_pair_coeffs_read:
+ sys.stderr.write('Warning: No \"pair coeffs\" set.\n'
+ ' (No interactions between non-bonded atoms defined.)\n')
+ no_warnings = False
+
+ # sys.stderr.write('Writing ttree data to standard out.\n'
+ # ' You can redirect this to a file using:\n'+
+ # ' '+' '.join(sys.argv)+' > filename.ttree\n'
+ # ' ----------------------\n')
+
+ if mol_name != '':
+ sys.stdout.write(mol_name + ' {\n')
+
+ if len(l_in_init) > 0:
+ sys.stdout.write('\n ### LAMMPS commands for initialization\n'
+ ' ### (These can be overridden later.)\n\n')
+ l_in_init.insert(0, (' ' * cindent) +
+ 'write_once(\"' + in_init + '\") {\n')
+ l_in_init.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_in_init))
+ if len(l_in_settings) > 0:
+ sys.stdout.write('\n ### LAMMPS commands for settings\n'
+ ' ### (These can be overridden later.)\n\n')
+ l_in_settings.insert(0, (' ' * cindent) +
+ 'write_once(\"' + in_settings + '\") {\n')
+ l_in_settings.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_in_settings))
+ non_empty_output = True
+ if len(l_in_masses) > 0:
+ l_in_masses.insert(0, (' ' * cindent) +
+ 'write_once(\"' + in_settings + '\") {\n')
+ l_in_masses.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_in_masses))
+ non_empty_output = True
+
+ if remove_coeffs_from_data_file:
+ if len(l_data_pair_coeffs) > 0:
+ for line in l_data_pair_coeffs:
+ tokens = line.strip().split()
+ atomtype_str = tokens[0]
+ l_in_pair_coeffs.append((' ' * cindent) + ' pair_coeff ' + atomtype_str +
+ ' ' + atomtype_str + ' ' + ' '.join(tokens[1:]) + '\n')
+ l_data_pair_coeffs = []
+ if len(l_data_pairij_coeffs) > 0:
+ for line in l_data_pairij_coeffs:
+ l_in_pair_coeffs.append(
+ (' ' * cindent) + ' pair_coeff ' + line.strip() + '\n')
+ l_data_pairij_coeffs = []
+ if len(l_in_pair_coeffs) > 0:
+ l_in_pair_coeffs.insert(0, (' ' * cindent) +
+ 'write_once(\"' + in_settings + '\") {\n')
+ l_in_pair_coeffs.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_in_pair_coeffs))
+ non_empty_output = True
+
+ if (remove_coeffs_from_data_file and (len(l_data_bond_coeffs) > 0)):
+ for line in l_data_bond_coeffs:
+ l_in_bond_coeffs.append(
+ (' ' * cindent) + ' bond_coeff ' + line.strip() + '\n')
+ l_data_bond_coeffs = []
+ if len(l_in_bond_coeffs) > 0:
+ l_in_bond_coeffs.insert(0, (' ' * cindent) +
+ 'write_once(\"' + in_settings + '\") {\n')
+ l_in_bond_coeffs.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_in_bond_coeffs))
+ non_empty_output = True
+
+ if (remove_coeffs_from_data_file and (len(l_data_angle_coeffs) > 0)):
+ for line in l_data_angle_coeffs:
+ l_in_angle_coeffs.append(
+ (' ' * cindent) + ' angle_coeff ' + line.strip() + '\n')
+ l_data_angle_coeffs = []
+ for line in l_data_bondbond_coeffs:
+ tokens = line.strip().split()
+ l_in_angle_coeffs.append(
+ (' ' * cindent) + ' angle_coeff ' + tokens[0] + ' bb ' + ' '.join(tokens[1:]) + '\n')
+ l_data_bondbond_coeffs = []
+ for line in l_data_bondangle_coeffs:
+ tokens = line.strip().split()
+ l_in_angle_coeffs.append(
+ (' ' * cindent) + ' angle_coeff ' + tokens[0] + ' ba ' + ' '.join(tokens[1:]) + '\n')
+ l_data_bondangle_coeffs = []
+ if len(l_in_angle_coeffs) > 0:
+ l_in_angle_coeffs.insert(
+ 0, (' ' * cindent) + 'write_once(\"' + in_settings + '\") {\n')
+ l_in_angle_coeffs.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_in_angle_coeffs))
+ non_empty_output = True
+
+ if (remove_coeffs_from_data_file and (len(l_data_dihedral_coeffs) > 0)):
+ for line in l_data_dihedral_coeffs:
+ l_in_dihedral_coeffs.append(
+ (' ' * cindent) + ' dihedral_coeff ' + line.strip() + '\n')
+ l_data_dihedral_coeffs = []
+
+ for line in l_data_middlebondtorsion_coeffs:
+ tokens = line.strip().split()
+ l_in_dihedral_coeffs.append(
+ (' ' * cindent) + ' dihedral_coeff ' + tokens[0] + ' mbt ' + ' '.join(tokens[1:]) + '\n')
+ l_data_middlebondtorsion_coeffs = []
+
+ for line in l_data_endbondtorsion_coeffs:
+ tokens = line.strip().split()
+ l_in_dihedral_coeffs.append(
+ (' ' * cindent) + ' dihedral_coeff ' + tokens[0] + ' ebt ' + ' '.join(tokens[1:]) + '\n')
+ l_data_endbondtorsion_coeffs = []
+
+ for line in l_data_angletorsion_coeffs:
+ tokens = line.strip().split()
+ l_in_dihedral_coeffs.append(
+ (' ' * cindent) + ' dihedral_coeff ' + tokens[0] + ' at ' + ' '.join(tokens[1:]) + '\n')
+ l_data_angletorsion_coeffs = []
+
+ for line in l_data_angleangletorsion_coeffs:
+ tokens = line.strip().split()
+ l_in_dihedral_coeffs.append(
+ (' ' * cindent) + ' dihedral_coeff ' + tokens[0] + ' aat ' + ' '.join(tokens[1:]) + '\n')
+ l_data_angleangletorsion_coeffs = []
+
+ for line in l_data_bondbond13_coeffs:
+ tokens = line.strip().split()
+ l_in_dihedral_coeffs.append(
+ (' ' * cindent) + ' dihedral_coeff ' + tokens[0] + ' bb13 ' + ' '.join(tokens[1:]) + '\n')
+ l_data_bondbond13_coeffs = []
+
+ if len(l_in_dihedral_coeffs) > 0:
+ l_in_dihedral_coeffs.insert(
+ 0, (' ' * cindent) + 'write_once(\"' + in_settings + '\") {\n')
+ l_in_dihedral_coeffs.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_in_dihedral_coeffs))
+ non_empty_output = True
+
+ if (remove_coeffs_from_data_file and (len(l_data_improper_coeffs) > 0)):
+ for line in l_data_improper_coeffs:
+ l_in_improper_coeffs.append(
+ (' ' * cindent) + ' improper_coeff ' + line.strip() + '\n')
+ l_data_improper_coeffs = []
+
+ for line in l_data_angleangle_coeffs:
+ tokens = line.strip().split()
+ l_in_improper_coeffs.append(
+ (' ' * cindent) + ' improper_coeff ' + tokens[0] + ' aa ' + ' '.join(tokens[1:]) + '\n')
+ l_data_angleangle_coeffs = []
+
+ if len(l_in_improper_coeffs) > 0:
+ l_in_improper_coeffs.insert(
+ 0, (' ' * cindent) + 'write_once(\"' + in_settings + '\") {\n')
+ l_in_improper_coeffs.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_in_improper_coeffs))
+ non_empty_output = True
+
+ if non_empty_output:
+ sys.stdout.write('\n\n ### DATA sections\n\n')
+
+ if len(l_data_masses) > 0:
+ l_data_masses.insert(0, (' ' * cindent) +
+ 'write_once(\"' + data_masses + '\") {\n')
+ l_data_masses.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_data_masses))
+ non_empty_output = True
+ if len(l_data_bond_coeffs) > 0:
+ l_data_bond_coeffs.insert(
+ 0, (' ' * cindent) + 'write_once(\"' + data_bond_coeffs + '\") {\n')
+ l_data_bond_coeffs.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_data_bond_coeffs))
+ non_empty_output = True
+ if len(l_data_angle_coeffs) > 0:
+ l_data_angle_coeffs.insert(
+ 0, (' ' * cindent) + 'write_once(\"' + data_angle_coeffs + '\") {\n')
+ l_data_angle_coeffs.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_data_angle_coeffs))
+ non_empty_output = True
+ if len(l_data_dihedral_coeffs) > 0:
+ l_data_dihedral_coeffs.insert(
+ 0, (' ' * cindent) + 'write_once(\"' + data_dihedral_coeffs + '\") {\n')
+ l_data_dihedral_coeffs.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_data_dihedral_coeffs))
+ non_empty_output = True
+ if len(l_data_improper_coeffs) > 0:
+ l_data_improper_coeffs.insert(
+ 0, (' ' * cindent) + 'write_once(\"' + data_improper_coeffs + '\") {\n')
+ l_data_improper_coeffs.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_data_improper_coeffs))
+ non_empty_output = True
+ if len(l_data_pair_coeffs) > 0:
+ l_data_pair_coeffs.insert(
+ 0, (' ' * cindent) + 'write_once(\"' + data_pair_coeffs + '\") {\n')
+ l_data_pair_coeffs.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_data_pair_coeffs))
+ non_empty_output = True
+ if len(l_data_pairij_coeffs) > 0:
+ l_data_pairij_coeffs.insert(
+ 0, (' ' * cindent) + 'write_once(\"' + data_pairij_coeffs + '\") {\n')
+ l_data_pairij_coeffs.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_data_pairij_coeffs))
+ non_empty_output = True
+
+ # class2 force fields:
+ if len(l_data_bondbond_coeffs) > 0:
+ l_data_bondbond_coeffs.insert(
+ 0, (' ' * cindent) + 'write_once(\"' + data_bondbond_coeffs + '\") {\n')
+ l_data_bondbond_coeffs.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_data_bondbond_coeffs))
+ non_empty_output = True
+ if len(l_data_bondangle_coeffs) > 0:
+ l_data_bondangle_coeffs.insert(
+ 0, (' ' * cindent) + 'write_once(\"' + data_bondangle_coeffs + '\") {\n')
+ l_data_bondangle_coeffs.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_data_bondangle_coeffs))
+ non_empty_output = True
+ if len(l_data_middlebondtorsion_coeffs) > 0:
+ l_data_middlebondtorsion_coeffs.insert(
+ 0, (' ' * cindent) + 'write_once(\"' + data_middlebondtorsion_coeffs + '\") {\n')
+ l_data_middlebondtorsion_coeffs.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_data_middlebondtorsion_coeffs))
+ non_empty_output = True
+ if len(l_data_endbondtorsion_coeffs) > 0:
+ l_data_endbondtorsion_coeffs.insert(
+ 0, (' ' * cindent) + 'write_once(\"' + data_endbondtorsion_coeffs + '\") {\n')
+ l_data_endbondtorsion_coeffs.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_data_endbondtorsion_coeffs))
+ non_empty_output = True
+ if len(l_data_angletorsion_coeffs) > 0:
+ l_data_angletorsion_coeffs.insert(
+ 0, (' ' * cindent) + 'write_once(\"' + data_angletorsion_coeffs + '\") {\n')
+ l_data_angletorsion_coeffs.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_data_angletorsion_coeffs))
+ non_empty_output = True
+ if len(l_data_angleangletorsion_coeffs) > 0:
+ l_data_angleangletorsion_coeffs.insert(
+ 0, (' ' * cindent) + 'write_once(\"' + data_angleangletorsion_coeffs + '\") {\n')
+ l_data_angleangletorsion_coeffs.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_data_angleangletorsion_coeffs))
+ non_empty_output = True
+ if len(l_data_bondbond13_coeffs) > 0:
+ l_data_bondbond13_coeffs.insert(
+ 0, (' ' * cindent) + 'write_once(\"' + data_bondbond13_coeffs + '\") {\n')
+ l_data_bondbond13_coeffs.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_data_bondbond13_coeffs))
+ non_empty_output = True
+ if len(l_data_angleangle_coeffs) > 0:
+ l_data_angleangle_coeffs.insert(
+ 0, (' ' * cindent) + 'write_once(\"' + data_angleangle_coeffs + '\") {\n')
+ l_data_angleangle_coeffs.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_data_angleangle_coeffs))
+ non_empty_output = True
+
+ # automatic generation of bonded interactions by type:
+ if len(l_data_angles_by_type) > 0:
+ l_data_angles_by_type.insert(
+ 0, (' ' * cindent) + 'write_once(\"' + data_angles_by_type + '\") {\n')
+ l_data_angles_by_type.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_data_angles_by_type))
+ non_empty_output = True
+ if len(l_data_dihedrals_by_type) > 0:
+ l_data_dihedrals_by_type.insert(
+ 0, (' ' * cindent) + 'write_once(\"' + data_dihedrals_by_type + '\") {\n')
+ l_data_dihedrals_by_type.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_data_dihedrals_by_type))
+ non_empty_output = True
+ if len(l_data_impropers_by_type) > 0:
+ l_data_impropers_by_type.insert(
+ 0, (' ' * cindent) + 'write_once(\"' + data_impropers_by_type + '\") {\n')
+ l_data_impropers_by_type.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_data_impropers_by_type))
+ non_empty_output = True
+
+ if len(l_data_atoms) > 0:
+ l_data_atoms.insert(0, (' ' * cindent) +
+ 'write(\"' + data_atoms + '\") {\n')
+ l_data_atoms.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_data_atoms))
+ non_empty_output = True
+ else:
+ sys.stderr.write('Warning: missing \"Atoms\" section.\n'
+ ' (Did you include a LAMMPS data file in your argument list?)\n')
+ no_warnings = False
+
+ # non-point-like particles
+ if len(l_data_ellipsoids) > 0:
+ l_data_ellipsoids.insert(
+ 0, (' ' * cindent) + 'write(\"' + data_ellipsoids + '\") {\n')
+ l_data_ellipsoids.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_data_ellipsoids))
+ if len(l_data_lines) > 0:
+ l_data_lines.insert(0, (' ' * cindent) +
+ 'write(\"' + data_lines + '\") {\n')
+ l_data_lines.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_data_lines))
+ if len(l_data_triangles) > 0:
+ l_data_triangles.insert(0, (' ' * cindent) +
+ 'write(\"' + data_triangles + '\") {\n')
+ l_data_triangles.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_data_triangles))
+
+ # DO NOT WRITE OUT VELOCITY DATA
+ # (Why: because it makes it difficult to combine this molecular template
+ # with molecule templates from other sources which lack velocity data.
+ # LAMMPS (and topotools) will crash if the number of entries in the
+ # Velocities section of a data file does not match the number of atoms.)
+ # COMMENTING OUT:
+ # if len(l_data_velocities) > 0:
+ # l_data_velocities.insert(0, (' '*cindent)+'write(\"'+data_velocities+'\") {\n')
+ # l_data_velocities.append((' '*cindent)+'}\n')
+ # sys.stdout.write('\n')
+ # sys.stdout.write(''.join(l_data_velocities))
+ if len(l_data_bonds) > 0:
+ l_data_bonds.insert(0, (' ' * cindent) +
+ 'write(\"' + data_bonds + '\") {\n')
+ l_data_bonds.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_data_bonds))
+ non_empty_output = True
+ if len(l_data_angles) > 0:
+ l_data_angles.insert(0, (' ' * cindent) +
+ 'write(\"' + data_angles + '\") {\n')
+ l_data_angles.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_data_angles))
+ non_empty_output = True
+ if len(l_data_dihedrals) > 0:
+ l_data_dihedrals.insert(0, (' ' * cindent) +
+ 'write(\"' + data_dihedrals + '\") {\n')
+ l_data_dihedrals.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_data_dihedrals))
+ non_empty_output = True
+ if len(l_data_impropers) > 0:
+ l_data_impropers.insert(0, (' ' * cindent) +
+ 'write(\"' + data_impropers + '\") {\n')
+ l_data_impropers.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_data_impropers))
+ non_empty_output = True
+
+ if len(l_in_group) > 0:
+ no_warnings = False
+ l_in_group.insert(0, (' ' * cindent) +
+ 'write(\"' + in_settings + '\") {\n')
+ l_in_group.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_in_group))
+ # sys.stderr.write('######################################################\n'
+ # 'WARNING: One or more \"group\" commands appear to refer to relevant atoms.\n'
+ # ' Please check to make sure that the group(s) generated by\n'
+ # ' '+g_program_name+' contain the correct atoms. (-Andrew 2014-10-30)\n'
+ # '######################################################\n')
+ assert(non_empty_output)
+
+ if len(l_in_set) > 0:
+ l_in_set.insert(0, ((' ' * cindent) +
+ 'write(\"' + in_settings + '\") {'))
+ l_in_set.append((' ' * cindent) + '} # end of list of \"set\" commands\n')
+ sys.stdout.write('\n')
+ sys.stdout.write((' ' * cindent) + '# list of \"set\" commands:\n')
+ sys.stdout.write('\n'.join(l_in_set))
+
+ if len(l_in_set_static) > 0:
+ l_in_set_static.insert(0, ((' ' * cindent) +
+ 'write_once(\"' + in_settings + '\") {'))
+ l_in_set_static.append((' ' * cindent) + '} # end of list of (static) \"set\" commands\n')
+ sys.stdout.write('\n')
+ sys.stdout.write((' ' * cindent) + '# list of (static) \"set\" commands:\n')
+ sys.stdout.write('\n'.join(l_in_set_static))
+
+ if len(l_in_fix_rigid) > 0:
+ no_warnings = False
+ l_in_fix_rigid.insert(0, (' ' * cindent) +
+ 'write(\"' + in_settings + '\") {\n')
+ l_in_fix_rigid.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_in_fix_rigid))
+ sys.stderr.write('WARNING: \"fix rigid\" style command(s) applied to selected atoms.\n'
+ ' Please make sure that the fix group(s) are defined correctly.\n'
+ '######################################################\n')
+ assert(non_empty_output)
+
+ if len(l_in_fix_shake) > 0:
+ no_warnings = False
+ l_in_fix_shake.insert(0, (' ' * cindent) +
+ 'write(\"' + in_settings + '\") {\n')
+ l_in_fix_shake.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_in_fix_shake))
+ sys.stderr.write('WARNING: \"fix shake\" style command(s) applied to selected atoms.\n'
+ ' Please check to make sure that the fix group(s) are defined correctly,\n'
+
+ ' and also check that the atom, bond, and angle types are correct.\n'
+ '######################################################\n')
+ assert(non_empty_output)
+
+ if len(l_in_fix_poems) > 0:
+ no_warnings = False
+ l_in_fix_poems.insert(0, (' ' * cindent) +
+ 'write(\"' + in_settings + '\") {\n')
+ l_in_fix_poems.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_in_fix_poems))
+ sys.stderr.write('WARNING: \"fix poems\" style command(s) applied to selected atoms.\n'
+ ' Please make sure that the fix group(s) are defined correctly.\n'
+ '######################################################\n')
+ assert(non_empty_output)
+
+ if len(l_in_fix_qeq) > 0:
+ no_warnings = False
+ l_in_fix_qeq.insert(0, (' ' * cindent) +
+ 'write(\"' + in_settings + '\") {\n')
+ l_in_fix_qeq.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_in_fix_qeq))
+ sys.stderr.write('WARNING: \"fix qeq\" style command(s) applied to selected atoms.\n'
+ ' Please make sure that the fix group(s) are defined correctly.\n'
+ '######################################################\n')
+ assert(non_empty_output)
+
+ if len(l_in_fix_qmmm) > 0:
+ no_warnings = False
+ l_in_fix_qmmm.insert(0, (' ' * cindent) +
+ 'write(\"' + in_settings + '\") {\n')
+ l_in_fix_qmmm.append((' ' * cindent) + '}\n')
+ sys.stdout.write('\n')
+ sys.stdout.write(''.join(l_in_fix_qmmm))
+ sys.stderr.write('WARNING: \"fix qmmm\" style command(s) applied to selected atoms.\n'
+ ' Please make sure that the fix group(s) are defined correctly.\n'
+ '######################################################\n')
+ assert(non_empty_output)
+
+ if mol_name != '':
+ sys.stdout.write('\n} # end of \"' + mol_name + '\" type definition\n')
+
+ # if non_empty_output and no_warnings:
+ if non_empty_output:
+ sys.stderr.write('WARNING: The ' + g_program_name + ' script has not been rigorously tested.\n'
+ ' Exotic (many-body) pair-styles and pair-styles with\n'
+ ' unusual syntax (such hbond/dreiding) are not understood\n'
+ ' by ' + g_program_name +
+ ' (...although they are supported by moltemplate).\n'
+ ' Please look over the resulting LT file and check for errors.\n'
+ ' Convert any remaining atom, bond, angle, dihedral, or improper id\n'
+ ' or type numbers to the corresponding $ or @-style counter variables.\n'
+ ' Feel free to report any bugs you find. (-Andrew Jewett 2015-8-02)\n')
+
+
+ except (ValueError, InputError) as err:
+ sys.stderr.write('\n' + str(err) + '\n')
+ sys.exit(-1)
+
+ return
+
+if __name__ == '__main__':
+ main()
diff --git a/tools/moltemplate/moltemplate/lttree.py b/tools/moltemplate/moltemplate/lttree.py
new file mode 100755
index 000000000..168a60ecc
--- /dev/null
+++ b/tools/moltemplate/moltemplate/lttree.py
@@ -0,0 +1,762 @@
+#!/usr/bin/env python
+
+# Author: Andrew Jewett (jewett.aij at g mail)
+# http://www.chem.ucsb.edu/~sheagroup
+# License: 3-clause BSD License (See LICENSE.TXT)
+# Copyright (c) 2011, Regents of the University of California
+# All rights reserved.
+
+"""
+lttree.py
+
+lttree.py is an extension of the generic ttree.py program.
+This version can understand and manipulate ttree-style templates which
+are specialized for storing molecule-specific data for use in LAMMPS.
+
+The main difference between lttree.py and ttree.py is:
+Unlike ttree.py, lttree.py understands rigid-body movement commands like
+"rot()" and "move()" which allows it to reorient and move each copy
+of a molecule to a new location. (ttree.py just ignores these commands.
+Consequently LAMMPS input file (fragments) created with ttree.py have
+invalid (overlapping) atomic coordinates and must be modified or aguemted
+later (by loading atomic coordinates from a PDB file or an XYZ file).
+lttree.py understands the "Data Atoms" section of a LAMMPS
+data file (in addition to the various "atom_styles" which effect it).
+
+Additional LAMMPS-specific features may be added in the future.
+
+"""
+
+g_program_name = __file__.split('/')[-1] # ='lttree.py'
+g_date_str = '2017-4-11'
+g_version_str = '0.76.0'
+
+
+import sys
+from collections import defaultdict
+import pkg_resources
+
+try:
+ from .ttree import BasicUISettings, BasicUIParseArgs, EraseTemplateFiles, \
+ StackableCommand, PopCommand, PopRightCommand, PopLeftCommand, \
+ PushCommand, PushLeftCommand, PushRightCommand, ScopeCommand, \
+ WriteVarBindingsFile, StaticObj, InstanceObj, \
+ BasicUI, ScopeBegin, ScopeEnd, WriteFileCommand, Render
+ from .ttree_lex import InputError, TextBlock, DeleteLinesWithBadVars, \
+ TemplateLexer
+ from .lttree_styles import AtomStyle2ColNames, ColNames2AidAtypeMolid, \
+ ColNames2Coords, ColNames2Vects, data_atoms, data_masses
+ from .ttree_matrix_stack import AffineTransform, MultiAffineStack, \
+ LinTransform
+except (SystemError, ValueError):
+ # not installed as a package
+ from ttree import *
+ from ttree_lex import *
+ from lttree_styles import *
+ from ttree_matrix_stack import *
+
+
+
+try:
+ unicode
+except NameError:
+ # Python 3
+ basestring = unicode = str
+
+
+class LttreeSettings(BasicUISettings):
+
+ def __init__(self,
+ user_bindings_x=None,
+ user_bindings=None,
+ order_method='by_command'):
+
+ BasicUISettings.__init__(self,
+ user_bindings_x,
+ user_bindings,
+ order_method)
+
+ # The following new member data indicate which columns store
+ # LAMMPS-specific information.
+ # The next 6 members store keep track of the different columns
+ # of the "Data Atoms" section of a LAMMPS data file:
+ self.column_names = [] # <--A list of column names (optional)
+ self.ii_coords = [] # <--A list of triplets of column indexes storing coordinate data
+ self.ii_vects = [] # <--A list of triplets of column indexes storing directional data
+ # (such as dipole or ellipsoid orientations)
+ self.i_atomid = None # <--An integer indicating which column has the atomid
+ self.i_atomtype = None # <--An integer indicating which column has the atomtype
+ self.i_molid = None # <--An integer indicating which column has the molid, if applicable
+
+
+def LttreeParseArgs(argv, settings, main=False, show_warnings=True):
+ # By default, include force_fields provided with the package
+ argv.extend(["-import-path",
+ pkg_resources.resource_filename(__name__, 'force_fields/')])
+
+ BasicUIParseArgs(argv, settings)
+
+ # Loop over the remaining arguments not processed yet.
+ # These arguments are specific to the lttree.py program
+ # and are not understood by ttree.py:
+ i = 1
+ while i < len(argv):
+ #sys.stderr.write('argv['+str(i)+'] = \"'+argv[i]+'\"\n')
+ if ((argv[i].lower() == '-atomstyle') or
+ (argv[i].lower() == '-atom-style') or
+ (argv[i].lower() == '-atom_style')):
+ if i + 1 >= len(argv):
+ raise InputError('Error(' + g_program_name + '): The ' + argv[i] + ' flag should be followed by a LAMMPS\n'
+ ' atom_style name (or single quoted string containing a space-separated\n'
+ ' list of column names such as: atom-ID atom-type q x y z molecule-ID.)\n')
+ settings.column_names = AtomStyle2ColNames(argv[i + 1])
+ sys.stderr.write('\n \"' + data_atoms + '\" column format:\n')
+ sys.stderr.write(
+ ' ' + (' '.join(settings.column_names)) + '\n\n')
+ settings.ii_coords = ColNames2Coords(settings.column_names)
+ settings.ii_vects = ColNames2Vects(settings.column_names)
+ settings.i_atomid, settings.i_atomtype, settings.i_molid = ColNames2AidAtypeMolid(
+ settings.column_names)
+ del(argv[i:i + 2])
+ elif (argv[i].lower() == '-icoord'):
+ if i + 1 >= len(argv):
+ raise InputError('Error: ' + argv[i] + ' flag should be followed by list of integers\n'
+ ' corresponding to column numbers for coordinates in\n'
+ ' the \"' + data_atoms + '\" section of a LAMMPS data file.\n')
+ ilist = argv[i + 1].split()
+ if (len(ilist) % 3) != 0:
+ raise InputError('Error: ' + argv[i] + ' flag should be followed by list of integers.\n'
+ ' This is usually a list of 3 integers, but it can contain more.\n'
+ ' The number of cooridnate columns must be divisible by 3,\n'
+ ' (even if the simulation is in 2 dimensions)\n')
+ settings.iaffinevects = []
+ for i in range(0, len(ilist) / 3):
+ cols = [int(ilist[3 * i]) + 1,
+ int(ilist[3 * i + 1]) + 1,
+ int(ilist[3 * i + 2]) + 1]
+ settings.iaffinevects.append(cols)
+ del(argv[i:i + 2])
+ elif (argv[i].lower() == '-ivect'):
+ if i + 1 >= len(argv):
+ raise InputError('Error: ' + argv[i] + ' flag should be followed by list of integers\n'
+ ' corresponding to column numbers for direction vectors in\n'
+ ' the \"' + data_atoms + '\" section of a LAMMPS data file.\n')
+ ilist = argv[i + 1].split()
+ if (len(ilist) % 3) != 0:
+ raise InputError('Error: ' + argv[i] + ' flag should be followed by list of integers.\n'
+ ' This is usually a list of 3 integers, but it can contain more.\n'
+ ' The number of cooridnate columns must be divisible by 3,\n'
+ ' (even if the simulation is in 2 dimensions)\n')
+ settings.ivects = []
+ for i in range(0, len(ilist) / 3):
+ cols = [int(ilist[3 * i]) + 1,
+ int(ilist[3 * i + 1]) + 1,
+ int(ilist[3 * i + 2]) + 1]
+ settings.ivects.append(cols)
+ del(argv[i:i + 2])
+ elif ((argv[i].lower() == '-iatomid') or
+ (argv[i].lower() == '-iid') or
+ (argv[i].lower() == '-iatom-id')):
+ if ((i + 1 >= len(argv)) or (not str.isdigit(argv[i + 1]))):
+ raise InputError('Error: ' + argv[i] + ' flag should be followed by an integer\n'
+ ' (>=1) indicating which column in the \"' +
+ data_atoms + '\" section of a\n'
+ ' LAMMPS data file contains the atom id number (typically 1).\n'
+ ' (This argument is unnecessary if you use the -atomstyle argument.)\n')
+ i_atomid = int(argv[i + 1]) - 1
+ del(argv[i:i + 2])
+ elif ((argv[i].lower() == '-iatomtype') or
+ (argv[i].lower() == '-itype') or
+ (argv[i].lower() == '-iatom-type')):
+ if ((i + 1 >= len(argv)) or (not str.isdigit(argv[i + 1]))):
+ raise InputError('Error: ' + argv[i] + ' flag should be followed by an integer\n'
+ ' (>=1) indicating which column in the \"' +
+ data_atoms + '\" section of a\n'
+ ' LAMMPS data file contains the atom type.\n'
+ ' (This argument is unnecessary if you use the -atomstyle argument.)\n')
+ i_atomtype = int(argv[i + 1]) - 1
+ del(argv[i:i + 2])
+ elif ((argv[i].lower() == '-imolid') or
+ (argv[i].lower() == '-imol') or
+ (argv[i].lower() == '-imol-id') or
+ (argv[i].lower() == '-imoleculeid') or
+ (argv[i].lower() == '-imolecule-id')):
+ if ((i + 1 >= len(argv)) or (not str.isdigit(argv[i + 1]))):
+ raise InputError('Error: ' + argv[i] + ' flag should be followed by an integer\n'
+ ' (>=1) indicating which column in the \"' +
+ data_atoms + '\" section of a\n'
+ ' LAMMPS data file contains the molecule id number.\n'
+ ' (This argument is unnecessary if you use the -atomstyle argument.)\n')
+ i_molid = int(argv[i + 1]) - 1
+ del(argv[i:i + 2])
+
+ elif (argv[i].find('-') == 0) and main:
+ # elif (__name__ == "__main__"):
+ raise InputError('Error(' + g_program_name + '):\n'
+ 'Unrecogized command line argument \"' + argv[i] + '\"\n')
+ else:
+ i += 1
+
+
+ if main:
+
+ # Instantiate the lexer we will be using.
+ # (The lexer's __init__() function requires an openned file.
+ # Assuming __name__ == "__main__", then the name of that file should
+ # be the last remaining (unprocessed) argument in the argument list.
+ # Otherwise, then name of that file will be determined later by the
+ # python script which imports this module, so we let them handle it.)
+
+ if len(argv) == 1:
+ raise InputError('Error: This program requires at least one argument\n'
+ ' the name of a file containing ttree template commands\n')
+ elif len(argv) == 2:
+ try:
+ # Parse text from the file named argv[1]
+ settings.lex.infile = argv[1]
+ settings.lex.instream = open(argv[1], 'r')
+ except IOError:
+ sys.stderr.write('Error: unable to open file\n'
+ ' \"' + argv[1] + '\"\n'
+ ' for reading.\n')
+ sys.exit(1)
+ del(argv[1:2])
+
+ else:
+ # if there are more than 2 remaining arguments,
+ problem_args = ['\"' + arg + '\"' for arg in argv[1:]]
+ raise InputError('Syntax Error(' + g_program_name + '):\n\n'
+ ' Problem with argument list.\n'
+ ' The remaining arguments are:\n\n'
+ ' ' + (' '.join(problem_args)) + '\n\n'
+ ' (The actual problem may be earlier in the argument list.\n'
+ ' If these arguments are source files, then keep in mind\n'
+ ' that this program can not parse multiple source files.)\n'
+ ' Check the syntax of the entire argument list.\n')
+
+ if len(settings.ii_coords) == 0 and show_warnings:
+ sys.stderr.write('########################################################\n'
+ '## WARNING: atom_style unspecified ##\n'
+ '## --> \"' + data_atoms + '\" column data has an unknown format ##\n'
+ '## Assuming atom_style = \"full\" ##\n'
+ # '########################################################\n'
+ # '## To specify the \"'+data_atoms+'\" column format you can: ##\n'
+ # '## 1) Use the -atomstyle \"STYLE\" argument ##\n'
+ # '## where \"STYLE\" is a string indicating a LAMMPS ##\n'
+ # '## atom_style, including hybrid styles.(Standard ##\n'
+ # '## atom styles defined in 2011 are supported.) ##\n'
+ # '## 2) Use the -atomstyle \"COL_LIST\" argument ##\n'
+ # '## where \"COL_LIST" is a quoted list of strings ##\n'
+ # '## indicating the name of each column. ##\n'
+ # '## Names \"x\",\"y\",\"z\" are interpreted as ##\n'
+ # '## atomic coordinates. \"mux\",\"muy\",\"muz\" ##\n'
+ # '## are interpreted as direction vectors. ##\n'
+ # '## 3) Use the -icoord \"cx cy cz...\" argument ##\n'
+ # '## where \"cx cy cz\" is a list of integers ##\n'
+ # '## indicating the column numbers for the x,y,z ##\n'
+ # '## coordinates of each atom. ##\n'
+ # '## 4) Use the -ivect \"cmux cmuy cmuz...\" argument ##\n'
+ # '## where \"cmux cmuy cmuz...\" is a list of ##\n'
+ # '## integers indicating the column numbers for ##\n'
+ # '## the vector that determines the direction of a ##\n'
+ # '## dipole or ellipsoid (ie. a rotateable vector).##\n'
+ # '## (More than one triplet can be specified. The ##\n'
+ # '## number of entries must be divisible by 3.) ##\n'
+ '########################################################\n')
+
+ # The default atom_style is "full"
+ settings.column_names = AtomStyle2ColNames('full')
+ settings.ii_coords = ColNames2Coords(settings.column_names)
+ settings.ii_vects = ColNames2Vects(settings.column_names)
+ settings.i_atomid, settings.i_atomtype, settings.i_molid = ColNames2AidAtypeMolid(
+ settings.column_names)
+
+ return
+
+
+def TransformAtomText(text, matrix, settings):
+ """ Apply transformations to the coordinates and other vector degrees
+ of freedom stored in the \"Data Atoms\" section of a LAMMPS data file.
+ This is the \"text\" argument.
+ The \"matrix\" stores the aggregate sum of combined transformations
+ to be applied.
+
+ """
+
+ #sys.stderr.write('matrix_stack.M = \n'+ MatToStr(matrix) + '\n')
+
+ lines = text.split('\n')
+
+ for i in range(0, len(lines)):
+ line_orig = lines[i]
+ ic = line_orig.find('#')
+ if ic != -1:
+ line = line_orig[:ic]
+ comment = ' ' + line_orig[ic:].rstrip('\n')
+ else:
+ line = line_orig.rstrip('\n')
+ comment = ''
+
+ columns = line.split()
+ if len(columns) > 0:
+ if len(columns) == len(settings.column_names) + 3:
+ raise InputError('Error: lttree.py does not yet support integer unit-cell counters \n'
+ ' within the \"' + data_atoms + '\" section of a LAMMPS data file.\n'
+ ' Instead please add the appropriate offsets (these offsets\n'
+ ' should be multiples of the cell size) to the atom coordinates\n'
+ ' in the data file, and eliminate the extra columns. Then try again.\n'
+ ' (If you get this message often, email me and I\'ll fix this limitation.)')
+ if len(columns) < len(settings.column_names):
+ raise InputError('Error: The number of columns in your data file does not\n'
+ ' match the LAMMPS atom_style you selected.\n'
+ ' Use the -atomstyle <style> command line argument.\n')
+ x0 = [0.0, 0.0, 0.0]
+ x = [0.0, 0.0, 0.0]
+ # Atomic coordinates transform using "affine" transformations
+ # (translations plus rotations [or other linear transformations])
+ for cxcycz in settings.ii_coords:
+ for d in range(0, 3):
+ x0[d] = float(columns[cxcycz[d]])
+ AffineTransform(x, matrix, x0) # x = matrix * x0 + b
+ for d in range(0, 3): # ("b" is part of "matrix")
+ columns[cxcycz[d]] = str(x[d])
+ # Dipole moments and other direction-vectors
+ # are not effected by translational movement
+ for cxcycz in settings.ii_vects:
+ for d in range(0, 3):
+ x0[d] = float(columns[cxcycz[d]])
+ LinTransform(x, matrix, x0) # x = matrix * x0
+ for d in range(0, 3):
+ columns[cxcycz[d]] = str(x[d])
+ lines[i] = ' '.join(columns) + comment
+ return '\n'.join(lines)
+
+
+def CalcCM(text_Atoms,
+ text_Masses=None,
+ settings=None):
+ types2masses = None
+ # Loop through the "Masses" section: what is the mass of each atom type?
+ if text_Masses != None:
+ types2masses = {}
+ lines = text_Masses.split('\n')
+ for i in range(0, len(lines)):
+ line = lines[i]
+ columns = line.split()
+ if len(columns) == 2:
+ atomtype = columns[0]
+ m = float(columns[1])
+ types2masses[atomtype] = m
+
+ lines = text_Atoms.split('\n')
+ # Pass 1 through the "Data Atoms" section: Determine each atom's mass
+ if text_Masses != None:
+ assert(settings != None)
+ for i in range(0, len(lines)):
+ line = lines[i]
+ columns = line.split()
+ atomid = columns[settings.i_atomid]
+ atomtype = columns[settings.i_atomtype]
+ if atomtype not in types2masses[atomtype]:
+ raise InputError('Error(lttree): You have neglected to define the mass of atom type: \"' + atomtype + '\"\n'
+ 'Did you specify the mass of every atom type using write(\"Masses\"){}?')
+ atomid2mass[atomid] = atomtype2mass[atomtype]
+
+ # Pass 2 through the "Data Atoms" section: Find the center of mass.
+ for i in range(0, len(lines)):
+ line = lines[i]
+ columns = line.split()
+ if len(columns) > 0:
+ if len(columns) == len(settings.column_names) + 3:
+ raise InputError('Error: lttree.py does not yet support integer unit-cell counters (ix, iy, iz)\n'
+ ' within the \"' + data_atoms + '\" section of a LAMMPS data file.\n'
+ ' Instead please add the appropriate offsets (these offsets\n'
+ ' should be multiples of the cell size) to the atom coordinates\n'
+ ' in the data file, and eliminate the extra columns. Then try again.\n'
+ ' (If you get this message often, email me and I\'ll fix this limitation.)')
+ if len(columns) != len(settings.column_names):
+ raise InputError('Error: The number of columns in your data file does not\n'
+ ' match the LAMMPS atom_style you selected.\n'
+ ' Use the -atomstyle <style> command line argument.\n')
+ x = [0.0, 0.0, 0.0]
+ if atomids2masses != None:
+ m = atomids2masses[atomid]
+ else:
+ m = 1.0
+ tot_m += m
+ for cxcycz in settings.ii_coords:
+ for d in range(0, 3):
+ x[d] = float(columns[cxcycz[d]])
+ tot_x[d] += x[d]
+ # Note: dipole moments and other direction vectors don't effect
+ # the center of mass. So I commented out the loop below.
+ # for cxcycz in settings.ii_vects:
+ # for d in range(0,3):
+ # v[d] = float(columns[cxcycz[d]])
+ lines[i] = ' '.join(columns)
+
+ xcm = [0.0, 0.0, 0.0]
+ for d in range(0, 3):
+ xcm[d] = tot_x[d] / tot_m
+ return xcm
+
+
+def _ExecCommands(command_list,
+ index,
+ global_files_content,
+ settings,
+ matrix_stack,
+ current_scope_id=None,
+ substitute_vars=True):
+ """
+ _ExecCommands():
+ The argument "commands" is a nested list of lists of
+ "Command" data structures (defined in ttree.py).
+
+ Carry out the write() and write_once() commands (which
+ write out the contents of the templates contain inside them).
+ Instead of writing the files, save their contents in a string.
+
+ The argument "global_files_content" should be of type defaultdict(list)
+ It is an associative array whose key is a string (a filename)
+ and whose value is a lists of strings (of rendered templates).
+
+ """
+ files_content = defaultdict(list)
+ postprocessing_commands = []
+
+ while index < len(command_list):
+ command = command_list[index]
+ index += 1
+
+ # For debugging only
+ if ((not isinstance(command, StackableCommand)) and
+ (not isinstance(command, ScopeCommand)) and
+ (not isinstance(command, WriteFileCommand))):
+ sys.stderr.write(str(command) + '\n')
+
+ if isinstance(command, PopCommand):
+ assert(current_scope_id != None)
+ if command.context_node == None:
+ command.context_node = current_scope_id
+ if isinstance(command, PopRightCommand):
+ matrix_stack.PopRight(which_stack=command.context_node)
+ elif isinstance(command, PopLeftCommand):
+ matrix_stack.PopLeft(which_stack=command.context_node)
+ else:
+ assert(False)
+
+ elif isinstance(command, PushCommand):
+ assert(current_scope_id != None)
+ if command.context_node == None:
+ command.context_node = current_scope_id
+ # Some commands are post-processing commands, and must be
+ # carried out AFTER all the text has been rendered. For example
+ # the "movecm(0,0,0)" waits until all of the coordinates have
+ # been rendered, calculates the center-of-mass, and then applies
+ # a translation moving the center of mass to the origin (0,0,0).
+ # We need to figure out which of these commands need to be
+ # postponed, and which commands can be carried out now.
+ # ("now"=pushing transformation matrices onto the matrix stack).
+ # UNFORTUNATELY POSTPONING SOME COMMANDS MAKES THE CODE UGLY
+ transform_list = command.contents.split('.')
+ transform_blocks = []
+ i_post_process = -1
+ # Example: Suppose:
+ #command.contents = '.rot(30,0,0,1).movecm(0,0,0).rot(45,1,0,0).scalecm(2.0).move(-2,1,0)'
+ # then
+ #transform_list = ['rot(30,0,0,1)', 'movecm(0,0,0)', 'rot(45,1,0,0)', 'scalecm(2.0)', 'move(-2,1,0)']
+ # Note: the first command 'rot(30,0,0,1)' is carried out now.
+ # The remaining commands are carried out during post-processing,
+ # (when processing the "ScopeEnd" command.
+ #
+ # We break up the commands into "blocks" separated by center-
+ # of-mass transformations ('movecm', 'rotcm', or 'scalecm')
+ #
+ # transform_blocks = ['.rot(30,0,0,1)',
+ # '.movecm(0,0,0).rot(45,1,0,0)',
+ # '.scalecm(2.0).move(-2,1,0)']
+
+ i = 0
+ while i < len(transform_list):
+ transform_block = ''
+ while i < len(transform_list):
+ transform = transform_list[i]
+ i += 1
+ if transform != '':
+ transform_block += '.' + transform
+ transform = transform.split('(')[0]
+ if ((transform == 'movecm') or
+ (transform == 'rotcm') or
+ (transform == 'scalecm')):
+ break
+ transform_blocks.append(transform_block)
+
+ if len(postprocessing_commands) == 0:
+ # The first block (before movecm, rotcm, or scalecm)
+ # can be executed now by modifying the matrix stack.
+ if isinstance(command, PushRightCommand):
+ matrix_stack.PushCommandsRight(transform_blocks[0].strip('.'),
+ command.srcloc,
+ which_stack=command.context_node)
+ elif isinstance(command, PushLeftCommand):
+ matrix_stack.PushCommandsLeft(transform_blocks[0].strip('.'),
+ command.srcloc,
+ which_stack=command.context_node)
+ # Everything else must be saved for later.
+ postprocessing_blocks = transform_blocks[1:]
+ else:
+ # If we already encountered a "movecm" "rotcm" or "scalecm"
+ # then all of the command blocks must be handled during
+ # postprocessing.
+ postprocessing_blocks = transform_blocks
+
+ for transform_block in postprocessing_blocks:
+ assert(isinstance(block, basestring))
+ if isinstance(command, PushRightCommand):
+ postprocessing_commands.append(PushRightCommand(transform_block,
+ command.srcloc,
+ command.context_node))
+ elif isinstance(command, PushLeftCommand):
+ postprocessing_commands.append(PushLeftCommand(transform_block,
+ command.srcloc,
+ command.context_node))
+
+ elif isinstance(command, WriteFileCommand):
+
+ # --- Throw away lines containin references to deleted variables:---
+
+ # First: To edit the content of a template,
+ # you need to make a deep local copy of it
+ tmpl_list = []
+ for entry in command.tmpl_list:
+ if isinstance(entry, TextBlock):
+ tmpl_list.append(TextBlock(entry.text,
+ entry.srcloc)) # , entry.srcloc_end))
+ else:
+ tmpl_list.append(entry)
+
+ # Now throw away lines with deleted variables
+
+ DeleteLinesWithBadVars(tmpl_list)
+
+ # --- Now render the text ---
+ text = Render(tmpl_list,
+ substitute_vars)
+
+ # ---- Coordinates of the atoms, must be rotated
+ # and translated after rendering.
+ # In addition, other vectors (dipoles, ellipsoid orientations)
+ # must be processed.
+ # This requires us to re-parse the contents of this text
+ # (after it has been rendered), and apply these transformations
+ # before passing them on to the caller.
+ if command.filename == data_atoms:
+ text = TransformAtomText(text, matrix_stack.M, settings)
+
+ files_content[command.filename].append(text)
+
+ elif isinstance(command, ScopeBegin):
+
+ if isinstance(command.node, InstanceObj):
+ if ((command.node.children != None) and
+ (len(command.node.children) > 0)):
+ matrix_stack.PushStack(command.node)
+
+ # "command_list" is a long list of commands.
+ # ScopeBegin and ScopeEnd are (usually) used to demarcate/enclose
+ # the commands which are issued for a single class or
+ # class instance. _ExecCommands() carries out the commands for
+ # a single class/instance. If we reach a ScopeBegin(),
+ # then recursively process the commands belonging to the child.
+ index = _ExecCommands(command_list,
+ index,
+ files_content,
+ settings,
+ matrix_stack,
+ command.node,
+ substitute_vars)
+
+ elif isinstance(command, ScopeEnd):
+ if data_atoms in files_content:
+ for ppcommand in postprocessing_commands:
+ if data_masses in files_content:
+ xcm = CalcCM(files_content[data_atoms],
+ files_content[data_masses],
+ settings)
+ else:
+ xcm = CalcCM(files_content[data_atoms])
+ if isinstance(ppcommand, PushRightCommand):
+ matrix_stack.PushCommandsRight(ppcommand.contents,
+ ppcommand.srcloc,
+ xcm,
+ which_stack=command.context_node)
+ elif isinstance(ppcommand, PushLeftCommand):
+ matrix_stack.PushCommandsLeft(ppcommand.contents,
+ ppcommand.srcloc,
+ xcm,
+ which_stack=command.context_node)
+ files_content[data_atoms] = \
+ TransformAtomText(files_content[data_atoms],
+ matrix_stack.M, settings)
+
+ for ppcommand in postprocessing_commands:
+ matrix_stack.Pop(which_stack=command.context_node)
+ #(same as PopRight())
+
+ if isinstance(command.node, InstanceObj):
+ if ((command.node.children != None) and
+ (len(command.node.children) > 0)):
+ matrix_stack.PopStack()
+
+ # "ScopeEnd" means we're done with this class/instance.
+ break
+
+ else:
+ assert(False)
+ # no other command types allowed at this point
+
+ # After processing the commands in this list,
+ # merge the templates with the callers template list
+ for filename, tmpl_list in files_content.items():
+ global_files_content[filename] += \
+ files_content[filename]
+
+ return index
+
+
+def ExecCommands(commands,
+ files_content,
+ settings,
+ substitute_vars=True):
+
+ matrix_stack = MultiAffineStack()
+
+ index = _ExecCommands(commands,
+ 0,
+ files_content,
+ settings,
+ matrix_stack,
+ None,
+ substitute_vars)
+ assert(index == len(commands))
+
+
+def WriteFiles(files_content, suffix='', write_to_stdout=True):
+ for filename, str_list in files_content.items():
+ if filename != None:
+ out_file = None
+ if filename == '':
+ if write_to_stdout:
+ out_file = sys.stdout
+ else:
+ out_file = open(filename + suffix, 'a')
+ if out_file != None:
+ out_file.write(''.join(str_list))
+ if filename != '':
+ out_file.close()
+
+ return
+
+
+def main():
+ """
+ This is is a "main module" wrapper for invoking lttree.py
+ as a stand alone program. This program:
+
+ 1)reads a ttree file,
+ 2)constructs a tree of class definitions (g_objectdefs)
+ 3)constructs a tree of instantiated class objects (g_objects),
+ 4)automatically assigns values to the variables,
+ 5)and carries out the "write" commands to write the templates a file(s).
+
+ """
+
+ ####### Main Code Below: #######
+ sys.stderr.write(g_program_name + ' v' +
+ g_version_str + ' ' + g_date_str + ' ')
+ sys.stderr.write('\n(python version ' + str(sys.version) + ')\n')
+ if sys.version < '2.6':
+ raise InputError(
+ 'Error: Alas, you must upgrade to a newer version of python.')
+
+ try:
+
+ #settings = BasicUISettings()
+ #BasicUIParseArgs(sys.argv, settings)
+ settings = LttreeSettings()
+ LttreeParseArgs([arg for arg in sys.argv], #(deep copy of sys.argv)
+ settings, main=True, show_warnings=True)
+
+ # Data structures to store the class definitionss and instances
+ g_objectdefs = StaticObj('', None) # The root of the static tree
+ # has name '' (equivalent to '/')
+ g_objects = InstanceObj('', None) # The root of the instance tree
+ # has name '' (equivalent to '/')
+
+ # A list of commands to carry out
+ g_static_commands = []
+ g_instance_commands = []
+
+ BasicUI(settings,
+ g_objectdefs,
+ g_objects,
+ g_static_commands,
+ g_instance_commands)
+
+ # Interpret the the commands. (These are typically write() or
+ # write_once() commands, rendering templates into text.
+ # This step also handles coordinate transformations and delete commands.
+ # Coordinate transformations can be applied to the rendered text
+ # as a post-processing step.
+
+ sys.stderr.write(' done\nbuilding templates...')
+
+ files_content = defaultdict(list)
+
+ ExecCommands(g_static_commands,
+ files_content,
+ settings,
+ False)
+ ExecCommands(g_instance_commands,
+ files_content,
+ settings,
+ False)
+
+ # Finally: write the rendered text to actual files.
+
+ # Erase the files that will be written to:
+ sys.stderr.write(' done\nwriting templates...')
+ EraseTemplateFiles(g_static_commands)
+ EraseTemplateFiles(g_instance_commands)
+
+ # Write the files as templates
+ # (with the original variable names present)
+ WriteFiles(files_content, suffix=".template", write_to_stdout=False)
+
+ # Write the files with the variables substituted by values
+ sys.stderr.write(' done\nbuilding and rendering templates...')
+ files_content = defaultdict(list)
+ ExecCommands(g_static_commands, files_content, settings, True)
+ ExecCommands(g_instance_commands, files_content, settings, True)
+ sys.stderr.write(' done\nwriting rendered templates...\n')
+ WriteFiles(files_content)
+ sys.stderr.write(' done\n')
+
+ # Now write the variable bindings/assignments table.
+ sys.stderr.write('writing \"ttree_assignments.txt\" file...')
+ # <-- erase previous version.
+ open('ttree_assignments.txt', 'w').close()
+ WriteVarBindingsFile(g_objectdefs)
+ WriteVarBindingsFile(g_objects)
+ sys.stderr.write(' done\n')
+
+ except (ValueError, InputError) as err:
+ sys.stderr.write('\n\n' + str(err) + '\n')
+ sys.exit(-1)
+
+ return
+
+
+if __name__ == '__main__':
+ main()
diff --git a/tools/moltemplate/moltemplate/lttree_check.py b/tools/moltemplate/moltemplate/lttree_check.py
new file mode 100755
index 000000000..10daa89be
--- /dev/null
+++ b/tools/moltemplate/moltemplate/lttree_check.py
@@ -0,0 +1,2263 @@
+#!/usr/bin/env python
+
+# Author: Andrew Jewett (jewett.aij at g mail)
+# http://www.chem.ucsb.edu/~sheagroup
+# License: 3-clause BSD License (See LICENSE.TXT)
+# Copyright (c) 2011, Regents of the University of California
+# All rights reserved.
+
+"""
+lttree_check.py
+
+The original template file format supports any variable types or file names.
+However if you plan to process template files using lttree.py to create
+LAMMPS-readable input/data files, then variables and file names obey certain
+naming conventions. This code attempts to insure these conventions are obeyed
+and to make sure that necessary variables are defined.
+
+ -- This code checks static variables (@) and basic LAMMPS syntax --
+
+This program makes an attempt to check that the variables and file names
+which appear in an "lttree" file are not mispelled (or miscapitlised).
+
+It also attempts to check that LAMMPS syntax conventions are obeyed.
+(It checks that the appropriate type of variable is located in each column).
+
+It also attempts to check that all of the needed coeffs are defined.
+
+ -- This code does NOT check instance variables ($) --
+
+This code does not check to make sure that all references to instance variables
+(such as $atom, $bond, $angle, $dihedral, $improper or $mol variables) are valid
+This means a user's input script command (like the "group" command) could refer
+to an $atom or $mol which was never defined, and this code would not detect it.
+(Why: Checking for instance variables requires building the entire instance tree
+ and checking references uses up additional memory after that. I do not do this
+ because memory is often very scarce after building the instance tree.)
+Instead, we could check for these kinds of errors when post-processing of
+the files generated by lttree.py or moltemplate.sh.
+
+ -- This is not the pretiest code I've ever written. --
+
+"""
+
+
+import sys
+
+try:
+ from .ttree_lex import RemoveOuterQuotes, HasWildCard, InputError, \
+ ErrorLeader, TextBlock, VarRef, TemplateLexer, \
+ ExtractCatName, TableFromTemplate
+ from .ttree import BasicUISettings, BasicUIParseArgs, EraseTemplateFiles, \
+ StackableCommand, PopCommand, PopRightCommand, PopLeftCommand, \
+ PushCommand, PushLeftCommand, PushRightCommand, ScopeCommand, \
+ WriteVarBindingsFile, StaticObj, InstanceObj, \
+ BasicUI, ScopeBegin, ScopeEnd, WriteFileCommand, Render
+ from .lttree_styles import data_atoms, data_prefix, data_masses, \
+ data_velocities, data_ellipsoids, data_triangles, data_lines, \
+ data_pair_coeffs, data_bond_coeffs, data_angle_coeffs, \
+ data_dihedral_coeffs, data_improper_coeffs, data_bondbond_coeffs, \
+ data_bondangle_coeffs, data_middlebondtorsion_coeffs, \
+ data_endbondtorsion_coeffs, data_angletorsion_coeffs, \
+ data_angleangletorsion_coeffs, data_bondbond13_coeffs, \
+ data_angleangle_coeffs, data_bonds_by_type, data_angles_by_type, \
+ data_dihedrals_by_type, data_impropers_by_type, \
+ data_bonds, data_bond_list, data_angles, data_dihedrals, data_impropers, \
+ data_boundary, data_pbc, data_prefix_no_space, in_init, in_settings, \
+ in_prefix
+ from .lttree import LttreeSettings, LttreeParseArgs
+ from .ttree_matrix_stack import AffineTransform, MultiAffineStack, \
+ LinTransform
+except (SystemError, ValueError):
+ # not installed as a package
+ from ttree_lex import *
+ from ttree import *
+ from lttree_styles import *
+ from lttree import *
+ from ttree_matrix_stack import *
+
+
+try:
+ from .ttree import StaticObj, WriteFileCommand, DescrToCatLeafPtkns, \
+ AssignStaticVarPtrs, FindReplacementVarPairs, ReplaceVars
+except (SystemError, ValueError):
+ # not installed as a package
+ from ttree import *
+ from lttree import *
+ from ttree_lex import *
+ from lttree_styles import *
+
+if sys.version < '2.6':
+ raise InputError(
+ 'Error: Alas, you must upgrade to a newer version of python.')
+
+
+g_program_name = __file__.split('/')[-1] # = 'lttree_check.py'
+g_version_str = '0.78.0'
+g_date_str = '2017-4-11'
+
+
+# g_no_check_msg = \
+# "(If this error message is wrong, and/or you would like to continue anyway,\n"+\
+# "try running moltemplate again using the \"-nocheck\" command-line-argument.)\n"
+
+g_no_check_msg = \
+ '(To continue anyway, run moltemplate using the \"-nocheck\" argument.)\n'
+
+
+def CheckCommonVarNames(prefix, descr_str, suffix, srcloc):
+ """ Check the name of variables in a lttree-file to confirm
+ that they follow the conventions used by lttree.
+ Almost any variable/category name is permitted, except for
+ names which closely match those reserved by lttree.
+
+ """
+
+ cat_name, cat_ptkns, leaf_ptkns = \
+ DescrToCatLeafPtkns(descr_str,
+ srcloc)
+
+ if (cat_name.lower() == 'mol'):
+ if (cat_name != 'mol'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Variable category: \"' + cat_name + '\" does not match, yet overlaps\n' +
+ 'closely with a reserved lttree variable category.\n'
+ 'Perhaps you meant \"mol\"?')
+
+ elif (cat_name.lower() == 'group'):
+ if (cat_name != 'group'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Variable category: \"' + cat_name + '\" does not match, yet overlaps\n' +
+ 'closely with a reserved lttree variable category.\n'
+ 'Perhaps you meant \"group\"?')
+ elif (cat_name.lower() == 'fix'):
+ if (cat_name != 'fix'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Variable category: \"' + cat_name + '\" does not match, yet overlaps\n' +
+ 'closely with a reserved lttree variable category.\n'
+ 'Use \"fix\" instead.')
+ elif (cat_name.lower() == 'atom'):
+ if (cat_name != 'atom'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Illegal lttree variable category: \"' + cat_name + '\"\n' +
+ 'Use \"atom\" instead.')
+ elif (cat_name.lower() == 'bond'):
+ if (cat_name != 'bond'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Variable category: \"' + cat_name + '\" does not match, yet overlaps\n' +
+ 'closely with a reserved lttree variable category.\n'
+ 'Use \"bond\" instead.')
+ elif (cat_name.lower() == 'angle'):
+ if (cat_name != 'angle'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Variable category: \"' + cat_name + '\" does not match, yet overlaps\n' +
+ 'closely with a reserved lttree variable category.\n'
+ 'Use \"angle\" instead.')
+ elif (cat_name.lower() == 'dihedral'):
+ if (cat_name != 'dihedral'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Variable category: \"' + cat_name + '\" does not match, yet overlaps\n' +
+ 'closely with a reserved lttree variable category.\n'
+ 'Use \"dihedral\" instead.')
+ elif (cat_name.lower() == 'improper'):
+ if (cat_name != 'improper'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Variable category: \"' + cat_name + '\" does not match, yet overlaps\n' +
+ 'closely with a reserved lttree variable category.\n'
+ 'Use \"improper\" instead.')
+ else:
+ sys.stderr.write('-----------------------------------------------------\n' +
+ 'WARNING: in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ ' Unrecognised template variable category: \"' + cat_name + '\"\n' +
+ '-----------------------------------------------------\n')
+
+
+def CheckDataFileNames(filename,
+ srcloc,
+ write_command,
+ fnames_found):
+ N_data_prefix = len(data_prefix)
+ #data_prefix_no_space = data_prefix.rstrip()
+ N_data_prefix_no_space = len(data_prefix)
+
+ section_name = filename[N_data_prefix:]
+
+ if ((section_name.lower() == 'atom') or
+ (section_name.lower() == 'atoms')):
+ if (filename != data_atoms):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + data_atoms + '\"?')
+
+ elif (write_command == 'write_once'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'When using moltemplate.sh to build LAMMPS input files, you probably do not\n'
+ 'want to use the ' + write_command + '() command with \"' + filename + '\".\n'
+ 'You should probably use write(\"' + filename + '\") instead.\n')
+
+ elif ((section_name.lower() == 'velocities') or
+ (section_name.lower() == 'velocity')):
+ if (filename != data_velocities):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + data_velocities + '\"?')
+ elif (write_command == 'write_once'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'When using moltemplate.sh to build LAMMPS input files, you probably do not\n'
+ 'want to use the ' + write_command + '() command with \"' + filename + '\".\n'
+ 'You should probably use write(\"' + filename + '\") instead.\n')
+
+ elif ((section_name.lower() == 'mass') or
+ (section_name.lower() == 'masses')):
+ if (filename != data_masses):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + data_masses + '\"?')
+ elif (write_command != 'write_once'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'When using moltemplate.sh to build LAMMPS input files, you probably do not\n'
+ 'want to use the ' + write_command + '() command with \"' + filename + '\".\n'
+ 'You should probably use write_once(\"' + filename + '\") instead.\n')
+
+ elif ((section_name.lower() == 'ellipsoids') or
+ (section_name.lower() == 'ellipsoid') or
+ (section_name.lower() == 'elipsoids') or
+ (section_name.lower() == 'elipsoid')):
+ if (filename != data_ellipsoids):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + data_ellipsoids + '\"?')
+ elif (write_command == 'write_once'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'When using moltemplate.sh to build LAMMPS input files, you probably do not\n'
+ 'want to use the ' + write_command + '() command with \"' + filename + '\".\n'
+ 'You should probably use write(\"' + filename + '\") instead.\n')
+
+ elif ((section_name.lower() == 'triangle') or
+ (section_name.lower() == 'triangles')):
+ if (filename != data_triangles):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + data_triangles + '\"?')
+ elif (write_command == 'write_once'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'When using moltemplate.sh to build LAMMPS input files, you probably do not\n'
+ 'want to use the ' + write_command + '() command with \"' + filename + '\".\n'
+ 'You should probably use write(\"' + filename + '\") instead.\n')
+
+ elif ((section_name.lower() == 'line') or
+ (section_name.lower() == 'lines')):
+ if (filename != data_lines):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + data_lines + '\"?')
+ elif (write_command == 'write_once'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'When using moltemplate.sh to build LAMMPS input files, you probably do not\n'
+ 'want to use the ' + write_command + '() command with \"' + filename + '\".\n'
+ 'You should probably use write(\"' + filename + '\") instead.\n')
+
+ elif ((section_name.lower().find('pair coef') == 0) or
+ (section_name.lower().find('pair_coef') == 0) or
+ (section_name.lower().find('paircoef') == 0) or
+ (section_name.lower().find('pair by type') == 0) or
+ (section_name.lower().find('pair bytype') == 0) or
+ (section_name.lower().find('pair_by_type') == 0) or
+ (section_name.lower().find('pair_bytype') == 0) or
+ (section_name.lower().find('pairbytype') == 0)):
+ if (filename != data_pair_coeffs):
+ err_msg = 'Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +\
+ 'Output file name (\"' + filename + '\") does not match,\n' +\
+ 'yet overlaps closely with reserved lttree-file name.\n' +\
+ 'Perhaps you meant \"' + data_pair_coeffs + '\"?'
+ if ((section_name.lower().find('by type') != -1) or
+ (section_name.lower().find('by_type') != -1) or
+ (section_name.lower().find('bytype') != -1)):
+ err_msg += '\n (Note: "pair" parameters are always assigned by type.\n' +\
+ ' There\'s no need to specify \"by type\")'
+ raise InputError(err_msg)
+ elif (write_command != 'write_once'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'When using moltemplate.sh to build LAMMPS input files, you probably do not\n'
+ 'want to use the ' + write_command + '() command with \"' + filename + '\".\n'
+ 'You should probably use write_once(\"' + filename + '\") instead.\n')
+
+ elif ((section_name.lower().find('bond coef') == 0) or
+ (section_name.lower().find('bond_coef') == 0) or
+ (section_name.lower().find('bondcoef') == 0)):
+ if (filename != data_bond_coeffs):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + data_bond_coeffs + '\"?')
+ elif (write_command != 'write_once'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'When using moltemplate.sh to build LAMMPS input files, you probably do not\n'
+ 'want to use the ' + write_command + '() command with \"' + filename + '\".\n'
+ 'You should probably use write_once(\"' + filename + '\") instead.\n')
+
+ elif ((section_name.lower().find('angle coef') == 0) or
+ (section_name.lower().find('angle_coef') == 0) or
+ (section_name.lower().find('anglecoef') == 0)):
+ if (filename != data_angle_coeffs):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + data_angle_coeffs + '\"?')
+ elif (write_command != 'write_once'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'When using moltemplate.sh to build LAMMPS input files, you probably do not\n'
+ 'want to use the ' + write_command + '() command with \"' + filename + '\".\n'
+ 'You should probably use write_once(\"' + filename + '\") instead.\n')
+
+ elif ((section_name.lower().find('dihedral coef') == 0) or
+ (section_name.lower().find('dihedral_coef') == 0) or
+ (section_name.lower().find('dihedralcoef') == 0)):
+ if (filename != data_dihedral_coeffs):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + data_dihedral_coeffs + '\"?')
+ elif (write_command != 'write_once'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'When using moltemplate.sh to build LAMMPS input files, you probably do not\n'
+ 'want to use the ' + write_command + '() command with \"' + filename + '\".\n'
+ 'You should probably use write_once(\"' + filename + '\") instead.\n')
+
+ elif ((section_name.lower().find('improper coef') == 0) or
+ (section_name.lower().find('improper_coef') == 0) or
+ (section_name.lower().find('impropercoef') == 0)):
+ if (filename != data_improper_coeffs):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + data_improper_coeffs + '\"?')
+ elif (write_command != 'write_once'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'When using moltemplate.sh to build LAMMPS input files, you probably do not\n'
+ 'want to use the ' + write_command + '() command with \"' + filename + '\".\n'
+ 'You should probably use write_once(\"' + filename + '\") instead.\n')
+
+ # -- class2 data sections --
+ elif ((section_name.lower().find('bondbond coef') == 0) or
+ (section_name.lower().find('bondbond_coef') == 0) or
+ (section_name.lower().find('bondbondcoef') == 0)):
+ if (filename != data_bondbond_coeffs):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + data_bondbond_coeffs + '\"?')
+ elif (write_command != 'write_once'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'When using moltemplate.sh to build LAMMPS input files, you probably do not\n'
+ 'want to use the ' + write_command + '() command with \"' + filename + '\".\n'
+ 'You should probably use write_once(\"' + filename + '\") instead.\n')
+
+ elif ((section_name.lower().find('bondangle coef') == 0) or
+ (section_name.lower().find('bondangle_coef') == 0) or
+ (section_name.lower().find('bondanglecoef') == 0)):
+ if (filename != data_bondangle_coeffs):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + data_bondangle_coeffs + '\"?')
+ elif (write_command != 'write_once'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'When using moltemplate.sh to build LAMMPS input files, you probably do not\n'
+ 'want to use the ' + write_command + '() command with \"' + filename + '\".\n'
+ 'You should probably use write_once(\"' + filename + '\") instead.\n')
+
+ elif ((section_name.lower().find('middlebondtorsion coef') == 0) or
+ (section_name.lower().find('middlebondtorsion_coef') == 0) or
+ (section_name.lower().find('middlebondtorsioncoef') == 0) or
+ (section_name.lower().find('middlebondtorision coef') == 0) or
+ (section_name.lower().find('middlebondtorision_coef') == 0) or
+ (section_name.lower().find('middlebondtorisioncoef') == 0)):
+ if (filename != data_middlebondtorsion_coeffs):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + data_middlebondtorsion_coeffs + '\"?')
+ elif (write_command != 'write_once'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'When using moltemplate.sh to build LAMMPS input files, you probably do not\n'
+ 'want to use the ' + write_command + '() command with \"' + filename + '\".\n'
+ 'You should probably use write_once(\"' + filename + '\") instead.\n')
+
+ elif ((section_name.lower().find('endbondtorsion coef') == 0) or
+ (section_name.lower().find('endbondtorsion_coef') == 0) or
+ (section_name.lower().find('endbondtorsioncoef') == 0) or
+ (section_name.lower().find('endbondtorision coef') == 0) or
+ (section_name.lower().find('endbondtorision_coef') == 0) or
+ (section_name.lower().find('endbondtorisioncoef') == 0)):
+ if (filename != data_endbondtorsion_coeffs):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + data_endbondtorsion_coeffs + '\"?')
+ elif (write_command != 'write_once'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'When using moltemplate.sh to build LAMMPS input files, you probably do not\n'
+ 'want to use the ' + write_command + '() command with \"' + filename + '\".\n'
+ 'You should probably use write_once(\"' + filename + '\") instead.\n')
+
+ elif ((section_name.lower().find('angletorsion coef') == 0) or
+ (section_name.lower().find('angletorsion_coef') == 0) or
+ (section_name.lower().find('angletorsioncoef') == 0) or
+ (section_name.lower().find('angletorision coef') == 0) or
+ (section_name.lower().find('angletorision_coef') == 0) or
+ (section_name.lower().find('angletorisioncoef') == 0)):
+ if (filename != data_angletorsion_coeffs):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + data_angletorsion_coeffs + '\"?')
+ elif (write_command != 'write_once'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'When using moltemplate.sh to build LAMMPS input files, you probably do not\n'
+ 'want to use the ' + write_command + '() command with \"' + filename + '\".\n'
+ 'You should probably use write_once(\"' + filename + '\") instead.\n')
+
+ elif ((section_name.lower().find('angleangletorsion coef') == 0) or
+ (section_name.lower().find('angleangletorsion_coef') == 0) or
+ (section_name.lower().find('angleangletorsioncoef') == 0) or
+ (section_name.lower().find('angleangletorision coef') == 0) or
+ (section_name.lower().find('angleangletorision_coef') == 0) or
+ (section_name.lower().find('angleangletorisioncoef') == 0)):
+ if (filename != data_angleangletorsion_coeffs):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + data_angleangletorsion_coeffs + '\"?')
+ elif (write_command != 'write_once'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'When using moltemplate.sh to build LAMMPS input files, you probably do not\n'
+ 'want to use the ' + write_command + '() command with \"' + filename + '\".\n'
+ 'You should probably use write_once(\"' + filename + '\") instead.\n')
+
+ elif ((section_name.lower().find('bondbond13 coef') == 0) or
+ (section_name.lower().find('bondbond13_coef') == 0) or
+ (section_name.lower().find('bondbond13coef') == 0)):
+ if (filename != data_bondbond13_coeffs):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + data_bondbond13_coeffs + '\"?')
+ elif (write_command != 'write_once'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'When using moltemplate.sh to build LAMMPS input files, you probably do not\n'
+ 'want to use the ' + write_command + '() command with \"' + filename + '\".\n'
+ 'You should probably use write_once(\"' + filename + '\") instead.\n')
+
+ elif ((section_name.lower().find('angleangle coef') == 0) or
+ (section_name.lower().find('angleangle_coef') == 0) or
+ (section_name.lower().find('angleanglecoef') == 0)):
+ if (filename != data_angleangle_coeffs):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + data_angleangle_coeffs + '\"?')
+ elif (write_command != 'write_once'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'When using moltemplate.sh to build LAMMPS input files, you probably do not\n'
+ 'want to use the ' + write_command + '() command with \"' + filename + '\".\n'
+ 'You should probably use write_once(\"' + filename + '\") instead.\n')
+
+ elif ((section_name.lower() == 'bonds by type') or
+ (section_name.lower() == 'bonds bytype') or
+ (section_name.lower() == 'bonds_by_type') or
+ (section_name.lower() == 'bonds_bytype') or
+ (section_name.lower() == 'bondsbytype') or
+ (section_name.lower() == 'bond by type') or
+ (section_name.lower() == 'bond bytype') or
+ (section_name.lower() == 'bond_by_type') or
+ (section_name.lower() == 'bond_bytype') or
+ (section_name.lower() == 'bondbytype')):
+ if (filename != data_bonds_by_type):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + data_bonds_by_type + '\"?')
+ elif (write_command != 'write_once'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'When using moltemplate.sh to build LAMMPS input files, you probably do not\n'
+ 'want to use the ' + write_command + '() command with \"' + filename + '\".\n'
+ 'You should probably use write_once(\"' + filename + '\") instead.\n')
+
+ elif ((section_name.lower() == 'angles by type') or
+ (section_name.lower() == 'angles bytype') or
+ (section_name.lower() == 'angles_by_type') or
+ (section_name.lower() == 'angles_bytype') or
+ (section_name.lower() == 'anglesbytype') or
+ (section_name.lower() == 'angle by type') or
+ (section_name.lower() == 'angle bytype') or
+ (section_name.lower() == 'angle_by_type') or
+ (section_name.lower() == 'angle_bytype') or
+ (section_name.lower() == 'anglebytype')):
+ if (filename != data_angles_by_type):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + data_angles_by_type + '\"?')
+ elif (write_command != 'write_once'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'When using moltemplate.sh to build LAMMPS input files, you probably do not\n'
+ 'want to use the ' + write_command + '() command with \"' + filename + '\".\n'
+ 'You should probably use write_once(\"' + filename + '\") instead.\n')
+
+ elif ((section_name.lower() == 'dihedrals by type') or
+ (section_name.lower() == 'dihedrals bytype') or
+ (section_name.lower() == 'dihedrals_by_type') or
+ (section_name.lower() == 'dihedrals_bytype') or
+ (section_name.lower() == 'dihedralsbytype') or
+ (section_name.lower() == 'dihedral by type') or
+ (section_name.lower() == 'dihedral bytype') or
+ (section_name.lower() == 'dihedral_by_type') or
+ (section_name.lower() == 'dihedral_bytype') or
+ (section_name.lower() == 'dihedralbytype')):
+ if (filename != data_dihedrals_by_type):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + data_dihedrals_by_type + '\"?')
+ elif (write_command != 'write_once'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'When using moltemplate.sh to build LAMMPS input files, you probably do not\n'
+ 'want to use the ' + write_command + '() command with \"' + filename + '\".\n'
+ 'You should probably use write_once(\"' + filename + '\") instead.\n')
+
+ elif ((section_name.lower() == 'impropers by type') or
+ (section_name.lower() == 'impropers bytype') or
+ (section_name.lower() == 'impropers_by_type') or
+ (section_name.lower() == 'impropers_bytype') or
+ (section_name.lower() == 'impropersbytype') or
+ (section_name.lower() == 'improper by type') or
+ (section_name.lower() == 'improper bytype') or
+ (section_name.lower() == 'improper_by_type') or
+ (section_name.lower() == 'improper_bytype') or
+ (section_name.lower() == 'improperbytype')):
+ if (filename != data_impropers_by_type):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + data_impropers_by_type + '\"?')
+ elif (write_command != 'write_once'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'When using moltemplate.sh to build LAMMPS input files, you probably do not\n'
+ 'want to use the ' + write_command + '() command with \"' + filename + '\".\n'
+ 'You should probably use write_once(\"' + filename + '\") instead.\n')
+
+ elif ((section_name.lower() == 'bonds') or
+ (section_name.lower() == 'bond')):
+ if (filename != data_bonds):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + data_bonds + '\"?')
+ elif (write_command == 'write_once'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'When using moltemplate.sh to build LAMMPS input files, you probably do not\n'
+ 'want to use the ' + write_command + '() command with \"' + filename + '\".\n'
+ 'You should probably use write(\"' + filename + '\") instead.\n')
+
+ elif ((section_name.lower().find('bond list') == 0) or
+ (section_name.lower().find('bonds list') == 0) or
+ (section_name.lower().find('bond_list') == 0) or
+ (section_name.lower().find('bonds_list') == 0)):
+ if (filename != data_bond_list):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + data_bonds_by_type + '\"?')
+ elif (write_command != 'write'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'When using moltemplate.sh to build LAMMPS input files, you probably do not\n'
+ 'want to use the ' + write_command + '() command with \"' + filename + '\".\n'
+ 'You should probably use write(\"' + filename + '\") instead.\n')
+
+ elif ((section_name.lower() == 'angles') or
+ (section_name.lower() == 'angle')):
+ if (filename != data_angles):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + data_angles + '\"?')
+ elif (write_command == 'write_once'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'When using moltemplate.sh to build LAMMPS input files, you probably do not\n'
+ 'want to use the ' + write_command + '() command with \"' + filename + '\".\n'
+ 'You should probably use write(\"' + filename + '\") instead.\n')
+
+ elif ((section_name.lower() == 'dihedrals') or
+ (section_name.lower() == 'dihedral')):
+ if (filename != data_dihedrals):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + data_dihedrals + '\"?')
+ elif (write_command == 'write_once'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'When using moltemplate.sh to build LAMMPS input files, you probably do not\n'
+ 'want to use the ' + write_command + '() command with \"' + filename + '\".\n'
+ 'You should probably use write(\"' + filename + '\") instead.\n')
+
+ elif ((section_name.lower() == 'impropers') or
+ (section_name.lower() == 'improper')):
+ if (filename != data_impropers):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + data_impropers + '\"?')
+ elif (write_command == 'write_once'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'When using moltemplate.sh to build LAMMPS input files, you probably do not\n'
+ 'want to use the ' + write_command + '() command with \"' + filename + '\".\n'
+ 'You should probably use write(\"' + filename + '\") instead.\n')
+
+ elif ((section_name.lower() == 'box boundaries') or
+ (section_name.lower() == 'box boundary') or
+ (section_name.lower() == 'boundaries') or
+ (section_name.lower() == 'boundary') or
+ (section_name.lower() == 'boundary conditions') or
+ (section_name.lower() == 'periodic boundaries') or
+ (section_name.lower() == 'periodic boundary conditions') or
+ (section_name.lower() == 'periodic_boundaries') or
+ (section_name.lower() == 'periodic_boundary_conditions') or
+ (section_name.lower() == 'pbc')):
+ if ((filename != data_boundary) and
+ (filename != data_pbc)):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + data_boundary + '\"?\n'
+ '(Specify periodic boundary conditions this way.)')
+ elif (write_command != 'write_once'):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'When using moltemplate.sh to build LAMMPS input files, you probably do not\n'
+ 'want to use the ' + write_command + '() command with \"' + filename + '\".\n'
+ 'You should probably use write_once(\"' + filename + '\") instead.\n')
+ elif (filename == data_pbc):
+ sys.stderr.write('WARNING: write_once(\"' + data_pbc + '\") is depreciated.\n'
+ ' Use write_once(\"' + data_boundary + '\") instead.\n')
+
+
+def CheckCommonFileNames(filename,
+ srcloc,
+ write_command,
+ filenames_found):
+ """
+ Check the write() or write_once() statements in a
+ lttree-file to make sure that the files being written
+ follow the conventions used by lttree.
+ Almost any file name is permitted, except for file names
+ which closely match those reserved by lttree.
+
+ """
+
+ filenames_found.add(filename)
+
+ N_data_prefix = len(data_prefix)
+ #data_prefix_no_space = data_prefix.rstrip()
+ N_data_prefix_no_space = len(data_prefix_no_space)
+
+ if ((filename[:N_data_prefix].lower() == data_prefix.lower()) and
+ (filename[:N_data_prefix] != data_prefix)):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'The beginning of output file (\"' +
+ filename + '\")\n'
+ 'does not match yet overlaps closely with a reserved lttree-file name prefix.\n'
+ '(\"' + data_prefix + '\"). Perhaps you meant \"' + data_prefix + filename[N_data_prefix:] + '\"?')
+
+ # check did they forget the space?
+ if (filename[:N_data_prefix_no_space] == data_prefix_no_space):
+ if (filename[:N_data_prefix] == data_prefix):
+
+ CheckDataFileNames(filename,
+ srcloc,
+ write_command,
+ filenames_found)
+
+ else:
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'The beginning of output file (\"' +
+ filename + '\")\n'
+ 'does not match yet overlaps closely with a reserved lttree-file name prefix.\n'
+ '(\"' + data_prefix + '\"). Perhaps you meant \"' + data_prefix + filename[N_data_prefix_no_space:] + '\"?')
+
+ elif ((filename.lower() == 'box boundaries') or
+ (filename.lower() == 'box boundary') or
+ (filename.lower() == 'boundaries') or
+ (filename.lower() == 'boundary') or
+ (filename.lower() == 'boundary conditions') or
+ (filename.lower() == 'periodic boundaries') or
+ (filename.lower() == 'periodic boundary conditions') or
+ (filename.lower() == 'periodic_boundaries') or
+ (filename.lower() == 'periodic_boundary_conditions') or
+ (filename.lower() == 'pbc')):
+ # In that case (for one thing) they forgot the data_prefix
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + data_boundary + '\"?\n'
+ '(Specify periodic boundary conditions this way.)')
+
+ elif ((filename.lower() == 'init') or
+ (filename.lower() == 'in init') or
+ (filename.lower() == 'ininit') or
+ (filename.lower() == 'initialize') or
+ (filename.lower() == 'in initialize') or
+ (filename.lower() == 'ininitialize')):
+ if (filename != in_init):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + in_init + '\"?')
+ # elif (write_command != 'write_once'):
+ # raise InputError('Probable typo in '+ErrorLeader(srcloc.infile,srcloc.lineno)+'\n\n'+
+ # 'When using moltemplate.sh to build LAMMPS input files, you probably do not\n'
+ # 'want to use the '+write_command+'() command with \"'+filename+'\".\n'
+ # 'You should probably use write_once(\"'+filename+'\") instead.\n')
+
+ elif ((filename.lower() == 'settings') or
+ (filename.lower() == 'in settings') or
+ (filename.lower() == 'insettings')):
+
+ if (filename != in_settings):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + in_settings + '\"?')
+
+ elif ((filename.lower() == 'set_coords') or
+ (filename.lower() == 'set coords') or
+ (filename.lower() == 'setcoords') or
+ (filename.lower() == 'in set_coords') or
+ (filename.lower() == 'in set coords') or
+ (filename.lower() == 'in setcoords')):
+ if (filename != in_set_coords):
+ raise InputError('Probable typo in ' + ErrorLeader(srcloc.infile, srcloc.lineno) + '\n\n' +
+ 'Output file name (\"' + filename +
+ '\") does not match,\n'
+ 'yet overlaps closely with reserved lttree-file name.\n'
+ 'Perhaps you meant \"' + in_set_coords + '\"?')
+
+
+def CheckSyntaxCheap(lex):
+ """ Parse() builds a static tree of StaticObjs by parsing text file.
+ -The "lex" argument is afile or input stream which has been converted
+ to a "TemplateLexer" object (similar to the python's built-in shlex lexer).
+ """
+
+ fnames_found = set([])
+ prematurely_read_token = None
+
+ while True:
+
+ if prematurely_read_token == None:
+ command = lex.get_token()
+ else:
+ command = prematurely_read_token
+ prematurely_read_token = None
+
+ #print('Parse(): token = \"'+command+'\", '+lex.error_leader())
+
+ if command == lex.eof:
+ #print('Parse(): EOF encountered\n')
+ break
+
+ if ((command == 'write') or (command == 'write_once')):
+ open_paren = lex.get_token()
+
+ #print('Parse(): open_paren=\"'+open_paren+'\"')
+
+ if open_paren == '{':
+ # ..then the user neglected to specify the "filename" file-name
+ # argument. In that case, supply the default, ''.
+ # (which is shorthand for the standard out in this case)
+ open_curly = open_paren[0]
+ open_paren = ''
+ close_paren = ''
+ filename = ''
+ srcloc = lex.GetSrcLoc()
+ else:
+ filename = lex.get_token()
+ if filename == ')':
+ filename == ''
+ close_paren = ')'
+ else:
+ close_paren = lex.get_token()
+ open_curly = lex.get_token()
+ srcloc = lex.GetSrcLoc()
+
+ if ((open_curly != '{') or
+ ((open_paren == '') and (close_paren != '')) or
+ ((open_paren == '(') and (close_paren != ')'))):
+ raise InputError('Error: in ' + lex.error_leader() + '\n\n'
+ 'Syntax error at beginning of ' + command + ' command.')
+
+ filename = RemoveOuterQuotes(filename, lex.quotes)
+ # The previous line is similar to:
+ #filename = filename.strip(lex.quotes)
+
+ CheckCommonFileNames(filename, lex.GetSrcLoc(),
+ command, fnames_found)
+
+ tmpl_contents = lex.ReadTemplate()
+ StaticObj.CleanupReadTemplate(tmpl_contents, lex)
+
+ for entry in tmpl_contents:
+ if (type(entry) is VarRef):
+
+ CheckCommonVarNames(entry.prefix,
+ entry.descr_str,
+ entry.suffix,
+ entry.srcloc)
+
+ # if (data_velocities not in fnames_found):
+ # sys.stderr.write('-------------------------------------------------\n'
+ # 'WARNING: \"'+data_velocities+'\" file not found\n'
+ # '-------------------------------------------------\n')
+ # if (data_pair_coeffs not in fnames_found):
+ # sys.stderr.write('-------------------------------------------------\n'
+ # 'WARNING: \"'+data_pair_coeffs+'\" file not found\n'
+ # '-------------------------------------------------\n')
+ if (data_atoms not in fnames_found):
+ sys.stderr.write('WARNING: \"' + data_atoms + '\" file not found\n')
+ if (data_masses not in fnames_found):
+ sys.stderr.write('WARNING: \"' + data_masses + '\" file not found\n')
+ # if (data_bonds not in fnames_found):
+ # sys.stderr.write('--------------------------------------------------\n'
+ # 'WARNING: \"'+data_bonds+'\" file not found\n'
+ # '--------------------------------------------------\n')
+ # if (data_angles not in fnames_found):
+ # sys.stderr.write('--------------------------------------------------\n'
+ # 'WARNING: \"'+data_angles+'\" file not found\n'
+ # '--------------------------------------------------\n')
+ # if (data_dihedrals not in fnames_found):
+ # sys.stderr.write('--------------------------------------------------\n'
+ # 'WARNING: \"'+data_dihedrals+'\" file not found\n'
+ # '--------------------------------------------------\n')
+ # if (data_impropers not in fnames_found):
+ # sys.stderr.write('--------------------------------------------------\n'
+ # 'WARNING: \"'+data_impropers+'\" file not found\n'
+ # '--------------------------------------------------\n')
+ # if (data_bond_coeffs not in fnames_found):
+ # sys.stderr.write('--------------------------------------------------\n'
+ # 'WARNING: \"'+data_bond_coeffs+'\" file not found\n'
+ # '--------------------------------------------------\n')
+ # if (data_angle_coeffs not in fnames_found):
+ # sys.stderr.write('--------------------------------------------------\n'
+ # 'WARNING: \"'+data_angle_coeffs+'\" file not found\n'
+ # '--------------------------------------------------\n')
+ # if (data_dihedral_coeffs not in fnames_found):
+ # sys.stderr.write('--------------------------------------------------\n'
+ # 'WARNING: \"'+data_dihedral_coeffs+'\" file not found\n'
+ # '--------------------------------------------------\n')
+ # if (data_improper_coeffs not in fnames_found):
+ # sys.stderr.write('--------------------------------------------------\n'
+ # 'WARNING: \"'+data_imrpoper_coeffs+'\" file not found\n'
+ # '--------------------------------------------------\n')
+ if (in_init not in fnames_found):
+ sys.stderr.write('WARNING: \"' + in_init + '\" file not found\n')
+
+ if (in_settings not in fnames_found):
+ sys.stderr.write('WARNING: \"' + in_settings + '\" file not found\n')
+
+
+def CheckSyntaxStatic(context_node,
+ root_node,
+ atom_column_names,
+ data_pair_coeffs_defined,
+ data_bond_coeffs_defined,
+ data_angle_coeffs_defined,
+ data_dihedral_coeffs_defined,
+ data_improper_coeffs_defined,
+ in_pair_coeffs_defined,
+ in_bond_coeffs_defined,
+ in_angle_coeffs_defined,
+ in_dihedral_coeffs_defined,
+ in_improper_coeffs_defined,
+ search_instance_commands):
+
+ if search_instance_commands:
+ assert(isinstance(context_node, StaticObj))
+ commands = context_node.instance_commands
+ else:
+ # Note: Leaf nodes contain no commands, so skip them
+ if (not hasattr(context_node, 'commands')):
+ return
+ # Otherwise process their commands
+ commands = context_node.commands
+
+ for command in commands:
+ if isinstance(command, WriteFileCommand):
+
+ filename = command.filename
+
+ if filename == None: # (The "create_var" command causes this)
+ pass
+ elif (filename.find(in_prefix) == 0): # if filename begins with "In "
+ CheckInFileSyntax(command.tmpl_list,
+ root_node,
+ in_pair_coeffs_defined,
+ in_bond_coeffs_defined,
+ in_angle_coeffs_defined,
+ in_dihedral_coeffs_defined,
+ in_improper_coeffs_defined)
+
+ elif filename == 'Data Atoms':
+ table = TableFromTemplate(command.tmpl_list,
+ [[' ', '\t', '\r'], '\n'],
+ [True, False])
+ for i in range(0, len(table)):
+
+ assert(hasattr(table[i], '__len__'))
+ if len(table[i]) == 0:
+ pass # skip blank lines
+ elif ((len(table[i]) > 1) and
+ isinstance(table[i][0], TextBlock) and
+ (len(table[i][0].text) > 0) and
+ (table[i][0].text == '#')):
+ pass # skip comment lines
+ else:
+ syntax_err = False
+
+ if len(table[i]) < len(atom_column_names):
+ syntax_err = True
+ else:
+ syntax_err = False
+ for j in range(0, len(atom_column_names)):
+ if ((atom_column_names[j].lower() == 'atom-id') and
+ (not ((j < len(table[i])) and
+ isinstance(table[i][j], VarRef) and
+ (table[i][j].prefix in ('$', '${')) and
+ (ExtractCatName(table[i][j].descr_str) == 'atom')))):
+ syntax_err = True
+ elif ((atom_column_names[j].lower() == 'molecule-id') and
+ (not ((j < len(table[i])) and
+ isinstance(table[i][j], VarRef) and
+ (table[i][j].prefix in ('$', '${')) and
+ (ExtractCatName(table[i][j].descr_str) == 'mol')))):
+ syntax_err = True
+ elif ((atom_column_names[j].lower() == 'atom-type') and
+ (not ((j < len(table[i])) and
+ (isinstance(table[i][j], VarRef)) and
+ (table[i][j].prefix in ('@', '@{')) and
+ (table[i][j].nptr.cat_name == 'atom') and
+ (table[i][j].nptr.cat_node == root_node)))):
+ syntax_err = True
+
+ if syntax_err:
+ correct_rows_list = [s for s in atom_column_names]
+ for j in range(0, len(correct_rows_list)):
+ if correct_rows_list[j].lower() == 'atom-id':
+ correct_rows_list[j] = '$atom:id'
+ elif correct_rows_list[j].lower() == 'atom-type':
+ correct_rows_list[j] = '@atom:type'
+ elif correct_rows_list[j].lower() == 'molecule-id':
+ correct_rows_list[j] = '$mol:id'
+ correct_rows_msg = ' '.join(correct_rows_list)
+ raise InputError('----------------------------------------------------\n' +
+ ' Syntax error near ' +
+ ErrorLeader(table[i][0].srcloc.infile,
+ table[i][0].srcloc.lineno) + '\n'
+ ' Invalid "Data Atoms" syntax.\n' +
+ 'Each line of the \"Data Atoms\" section should have this format:\n\n'
+ ' ' + correct_rows_msg + '\n\n'
+ 'You may have forgotten to specify the LAMMPS atom_style.\n' +
+ '(You can do this running moltemplate with the -atom-style _style_ argument.)\n' +
+ '----------------------------------------------------\n' +
+ g_no_check_msg)
+
+ elif filename == 'Data Bonds':
+ table = TableFromTemplate(command.tmpl_list,
+ [[' ', '\t', '\r'], '\n'],
+ [True, False])
+ for i in range(0, len(table)):
+ syntax_err = False
+ assert(hasattr(table[i], '__len__'))
+ if len(table[i]) > 0:
+ if ((len(table[i]) > 1) and
+ isinstance(table[i][0], TextBlock) and
+ (len(table[i][0].text) > 0) and
+ (table[i][0].text == '#')):
+ pass
+ else:
+ if len(table[i]) < 4:
+ syntax_err = True
+ table_entry = table[i][0]
+ if (not ((isinstance(table_entry, VarRef)) and
+ (table_entry.prefix in ('$', '${')) and
+ (ExtractCatName(table_entry.descr_str) == 'bond'))):
+ syntax_err = True
+ if len(table[i]) > 1:
+ table_entry = table[i][1]
+ if (not ((isinstance(table_entry, VarRef)) and
+ (table_entry.prefix in ('@', '@{')) and
+ (table_entry.nptr.cat_name == 'bond') and
+ (table_entry.nptr.cat_node == root_node))):
+ syntax_err = True
+ if len(table[i]) > 2:
+ table_entry = table[i][2]
+ if (not ((isinstance(table_entry, VarRef)) and
+ (table_entry.prefix in ('$', '${')) and
+ (ExtractCatName(table_entry.descr_str) == 'atom'))):
+ syntax_err = True
+ if len(table[i]) > 3:
+ table_entry = table[i][3]
+ if (not ((isinstance(table_entry, VarRef)) and
+ (table_entry.prefix in ('$', '${')) and
+ (ExtractCatName(table_entry.descr_str) == 'atom'))):
+ syntax_err = True
+
+ if syntax_err:
+ raise InputError('----------------------------------------------------\n' +
+ ' Syntax error near ' +
+ ErrorLeader(table[i][0].srcloc.infile,
+ table[i][0].srcloc.lineno) + '\n'
+ ' Incorrect "Data Bonds" syntax.\n' +
+ 'Each line of the \"Data Bonds\" section should have this format:\n\n'
+ ' $bond:id @bond:type $atom:id1 $atom:id2\n' +
+ '----------------------------------------------------\n' +
+ g_no_check_msg)
+
+ elif filename == 'Data Bond List':
+ table = TableFromTemplate(command.tmpl_list,
+ [[' ', '\t', '\r'], '\n'],
+ [True, False])
+ for i in range(0, len(table)):
+ syntax_err = False
+ assert(hasattr(table[i], '__len__'))
+ if len(table[i]) > 0:
+ if ((len(table[i]) > 1) and
+ isinstance(table[i][0], TextBlock) and
+ (len(table[i][0].text) > 0) and
+ (table[i][0].text == '#')):
+ pass
+ else:
+ if len(table[i]) < 3:
+ syntax_err = True
+ table_entry = table[i][0]
+ if (not ((isinstance(table_entry, VarRef)) and
+ (table_entry.prefix in ('$', '${')) and
+ (ExtractCatName(table_entry.descr_str) == 'bond'))):
+ syntax_err = True
+ if len(table[i]) > 1:
+ table_entry = table[i][1]
+ if (not ((isinstance(table_entry, VarRef)) and
+ (table_entry.prefix in ('$', '${')) and
+ (ExtractCatName(table_entry.descr_str) == 'atom'))):
+ syntax_err = True
+ if len(table[i]) > 2:
+ table_entry = table[i][2]
+ if (not ((isinstance(table_entry, VarRef)) and
+ (table_entry.prefix in ('$', '${')) and
+ (ExtractCatName(table_entry.descr_str) == 'atom'))):
+ syntax_err = True
+
+ if syntax_err:
+ raise InputError('----------------------------------------------------\n' +
+ ' Syntax error near ' +
+ ErrorLeader(table[i][0].srcloc.infile,
+ table[i][0].srcloc.lineno) + '\n'
+ ' Incorrect "Data Bond List" syntax.\n' +
+ 'Each lines in this section should have this format:\n\n'
+ ' $bond:id $atom:id1 $atom:id2\n' +
+ '----------------------------------------------------\n' +
+ g_no_check_msg)
+
+ elif filename == 'Data Angles':
+ table = TableFromTemplate(command.tmpl_list,
+ [[' ', '\t', '\r'], '\n'],
+ [True, False])
+ for i in range(0, len(table)):
+ syntax_err = False
+ assert(hasattr(table[i], '__len__'))
+ if len(table[i]) > 0:
+ if ((len(table[i]) > 1) and
+ isinstance(table[i][0], TextBlock) and
+ (len(table[i][0].text) > 0) and
+ (table[i][0].text == '#')):
+ pass
+ else:
+ if len(table[i]) < 5:
+ syntax_err = True
+ table_entry = table[i][0]
+ if (not ((isinstance(table_entry, VarRef)) and
+ (table_entry.prefix in ('$', '${')) and
+ (ExtractCatName(table_entry.descr_str) == 'angle'))):
+ syntax_err = True
+ if len(table[i]) > 1:
+ table_entry = table[i][1]
+ if (not ((isinstance(table_entry, VarRef)) and
+ (table_entry.prefix in ('@', '@{')) and
+ (table_entry.nptr.cat_name == 'angle') and
+ (table_entry.nptr.cat_node == root_node))):
+ syntax_err = True
+ if len(table[i]) > 2:
+ table_entry = table[i][2]
+ if (not ((isinstance(table_entry, VarRef)) and
+ (table_entry.prefix in ('$', '${')) and
+ (ExtractCatName(table_entry.descr_str) == 'atom'))):
+ syntax_err = True
+ if len(table[i]) > 3:
+ table_entry = table[i][3]
+ if (not ((isinstance(table_entry, VarRef)) and
+ (table_entry.prefix in ('$', '${')) and
+ (ExtractCatName(table_entry.descr_str) == 'atom'))):
+ syntax_err = True
+ if len(table[i]) > 4:
+ table_entry = table[i][4]
+ if (not ((isinstance(table_entry, VarRef)) and
+ (table_entry.prefix in ('$', '${')) and
+ (ExtractCatName(table_entry.descr_str) == 'atom'))):
+ syntax_err = True
+
+ if syntax_err:
+ raise InputError('----------------------------------------------------\n' +
+ ' Syntax error near ' +
+ ErrorLeader(table[i][0].srcloc.infile,
+ table[i][0].srcloc.lineno) + '\n'
+ ' Incorrect "Data Angles" syntax.\n' +
+ 'Each line of the \"Data Angles\" section should have this format:\n\n'
+ ' $angle:id @angle:type $atom:id1 $atom:id2 $atom:id3\n' +
+ '----------------------------------------------------\n\n' +
+ g_no_check_msg)
+
+ elif filename == 'Data Dihedrals':
+ table = TableFromTemplate(command.tmpl_list,
+ [[' ', '\t', '\r'], '\n'],
+ [True, False])
+ for i in range(0, len(table)):
+ syntax_err = False
+ assert(hasattr(table[i], '__len__'))
+ if len(table[i]) > 0:
+ if ((len(table[i]) > 1) and
+ isinstance(table[i][0], TextBlock) and
+ (len(table[i][0].text) > 0) and
+ (table[i][0].text == '#')):
+ pass
+ else:
+ if len(table[i]) < 6:
+ syntax_err = True
+ table_entry = table[i][0]
+ if (not ((isinstance(table_entry, VarRef)) and
+ (table_entry.prefix in ('$', '${')) and
+ (ExtractCatName(table_entry.descr_str) == 'dihedral'))):
+ syntax_err = True
+ if len(table[i]) > 1:
+ table_entry = table[i][1]
+ if (not ((isinstance(table_entry, VarRef)) and
+ (table_entry.prefix in ('@', '@{')) and
+ (table_entry.nptr.cat_name == 'dihedral') and
+ (table_entry.nptr.cat_node == root_node))):
+ syntax_err = True
+ if len(table[i]) > 2:
+ table_entry = table[i][2]
+ if (not ((isinstance(table_entry, VarRef)) and
+ (table_entry.prefix in ('$', '${')) and
+ (ExtractCatName(table_entry.descr_str) == 'atom'))):
+ syntax_err = True
+ if len(table[i]) > 3:
+ table_entry = table[i][3]
+ if (not ((isinstance(table_entry, VarRef)) and
+ (table_entry.prefix in ('$', '${')) and
+ (ExtractCatName(table_entry.descr_str) == 'atom'))):
+ syntax_err = True
+ if len(table[i]) > 4:
+ table_entry = table[i][4]
+ if (not ((isinstance(table_entry, VarRef)) and
+ (table_entry.prefix in ('$', '${')) and
+ (ExtractCatName(table_entry.descr_str) == 'atom'))):
+ syntax_err = True
+ if len(table[i]) > 5:
+ table_entry = table[i][5]
+ if (not ((isinstance(table_entry, VarRef)) and
+ (table_entry.prefix in ('$', '${')) and
+ (ExtractCatName(table_entry.descr_str) == 'atom'))):
+ syntax_err = True
+
+ if syntax_err:
+ raise InputError('----------------------------------------------------\n' +
+ ' Syntax error near ' +
+ ErrorLeader(table[i][0].srcloc.infile,
+ table[i][0].srcloc.lineno) + '\n'
+ ' Incorrect "Data Dihedrals" syntax.\n' +
+ 'Each line of the \"Data Dihedrals\" section should have this format:\n\n'
+ ' $dihedral:id @dihedral:type $atom:id1 $atom:id2 $atom:id3 $atom:id4\n' +
+ '----------------------------------------------------\n' +
+ g_no_check_msg)
+
+ elif filename == 'Data Impropers':
+ table = TableFromTemplate(command.tmpl_list,
+ [[' ', '\t', '\r'], '\n'],
+ [True, False])
+ for i in range(0, len(table)):
+ syntax_err = False
+ assert(hasattr(table[i], '__len__'))
+ if len(table[i]) > 0:
+ if ((len(table[i]) > 1) and
+ isinstance(table[i][0], TextBlock) and
+ (len(table[i][0].text) > 0) and
+ (table[i][0].text == '#')):
+ pass
+ else:
+ if len(table[i]) < 6:
+ syntax_err = True
+ table_entry = table[i][0]
+ if (not ((isinstance(table_entry, VarRef)) and
+ (table_entry.prefix in ('$', '${')) and
+ (ExtractCatName(table_entry.descr_str) == 'improper'))):
+ syntax_err = True
+ if len(table[i]) > 1:
+ table_entry = table[i][1]
+ if (not ((isinstance(table_entry, VarRef)) and
+ (table_entry.prefix in ('@', '@{')) and
+ (table_entry.nptr.cat_name == 'improper') and
+ (table_entry.nptr.cat_node == root_node))):
+ syntax_err = True
+ if len(table[i]) > 2:
+ table_entry = table[i][2]
+ if (not ((isinstance(table_entry, VarRef)) and
+ (table_entry.prefix in ('$', '${')) and
+ (ExtractCatName(table_entry.descr_str) == 'atom'))):
+ syntax_err = True
+ if len(table[i]) > 3:
+ table_entry = table[i][3]
+ if (not ((isinstance(table_entry, VarRef)) and
+ (table_entry.prefix in ('$', '${')) and
+ (ExtractCatName(table_entry.descr_str) == 'atom'))):
+ syntax_err = True
+ if len(table[i]) > 4:
+ table_entry = table[i][4]
+ if (not ((isinstance(table_entry, VarRef)) and
+ (table_entry.prefix in ('$', '${')) and
+ (ExtractCatName(table_entry.descr_str) == 'atom'))):
+ syntax_err = True
+ if len(table[i]) > 5:
+ table_entry = table[i][5]
+ if (not ((isinstance(table_entry, VarRef)) and
+ (table_entry.prefix in ('$', '${')) and
+ (ExtractCatName(table_entry.descr_str) == 'atom'))):
+ syntax_err = True
+
+ if syntax_err:
+ raise InputError('----------------------------------------------------\n' +
+ ' Syntax error near ' +
+ ErrorLeader(table[i][0].srcloc.infile,
+ table[i][0].srcloc.lineno) + '\n'
+ ' Incorrect "Data Impropers" syntax.\n' +
+ 'Each line of the \"Data Impropers\" section should have this format:\n\n'
+ ' $improper:id @improper:type $atom:id1 $atom:id2 $atom:id3 $atom:id4\n' +
+ '----------------------------------------------------\n' +
+ g_no_check_msg)
+
+ # A simple wildcard is the character "*" on its own.
+ # These are okay.
+ # A "compound" wildcard expression is something like
+ # 5*7 or
+ # 5* or
+ # *7 or
+ # @{bond:A}*@bond:B or
+ # @{bond:A}* or
+ # *@bond:B
+ # LAMMPS allows this but in moltemplate this causes
+ # unintended side-effects. Check for these now.
+ if filename in set(['Data Bond Coeffs',
+ 'Data Angle Coeffs',
+ 'Data Dihedral Coeffs',
+ 'Data Improper Coeffs',
+ 'Data Pair Coeffs']):
+ table = TableFromTemplate(command.tmpl_list,
+ [[' ', '\t', '\r'], '\n'],
+ [True, False])
+ for i in range(0, len(table)):
+ assert(hasattr(table[i], '__len__'))
+ if len(table[i]) > 0:
+ if (isinstance(table[i][0], TextBlock) and
+ table[i][0].text == '*'):
+ if filename == 'Data Bond Coeffs':
+ data_bond_coeffs_defined.add('*')
+ elif filename == 'Data Angle Coeffs':
+ data_angle_coeffs_defined.add('*')
+ elif filename == 'Data Dihedral Coeffs':
+ data_dihedral_coeffs_defined.add('*')
+ elif filename == 'Data Improper Coeffs':
+ data_improper_coeffs_defined.add('*')
+ elif filename == 'Data Pair Coeffs':
+ data_pair_coeffs_defined.add(('*', '*'))
+ else:
+ compound_wildcard = False
+ if (len(table[i]) > 1):
+ if hasattr(table[i][0], '__len__'):
+ ltmpl = table[i][0]
+ else:
+ ltmpl = [table[i][0]]
+ for entry in ltmpl:
+ if (isinstance(entry, TextBlock) and
+ ('*' in entry.text)):
+ compound_wildcard = True
+ elif (isinstance(entry, VarRef) and
+ ('*' in entry.descr_str)):
+ compound_wildcard = True
+ if compound_wildcard:
+ raise InputError('--- Paranoid checking: ---\n'
+ ' Possible error near ' +
+ ErrorLeader(entry.srcloc.infile,
+ entry.srcloc.lineno) + '\n'
+ 'The wildcard symbol, \"*\", is not recommended within \"' + filename + '\".\n'
+ 'It is safer to specify the parameters for each type explicitly.\n'
+ 'You CAN use \"*\" wildcards, but you must disable syntax checking. To get\n'
+ 'past this error message, run moltemplate.sh using the \"-nocheck\" option.\n')
+
+ if filename == 'Data Bond Coeffs':
+ # Commenting the next line out. We did this already:
+ # table = TableFromTemplate(command.tmpl_list,
+ # [[' ','\t','\r'], '\n'],
+ # [True, False])
+ for i in range(0, len(table)):
+ if len(table[i]) == 0:
+ pass
+ elif ((len(table[i]) > 1) and
+ isinstance(table[i][0], TextBlock) and
+ (table[i][0].text == '*')):
+ pass # we dealt with this case earlier
+ elif ((len(table[i]) > 1) and
+ isinstance(table[i][0], TextBlock) and
+ (len(table[i][0].text) > 0) and
+ (table[i][0].text == '#')):
+ # Ignore comment lines (postprocessing removes them)
+ pass
+ elif (not (isinstance(table[i][0], VarRef) and
+ (table[i][0].prefix in ('@', '@{')) and
+ (table[i][0].nptr.cat_name == 'bond') and
+ (table[i][0].nptr.cat_node == root_node))):
+ raise InputError('----------------------------------------------------\n' +
+ ' Syntax error near ' +
+ ErrorLeader(table[i][0].srcloc.infile,
+ table[i][0].srcloc.lineno) + '\n'
+ ' Incorrect "Data Bond Coeffs" syntax.\n'
+ ' Each line of the \"Data Bond Coeffs\" section\n'
+ ' should have the following syntax:\n\n' +
+ ' @bond:type list-of-parameters...\n' +
+ '----------------------------------------------------\n' +
+ g_no_check_msg)
+ else:
+ data_bond_coeffs_defined.add(table[i][0].binding)
+
+ elif filename == 'Data Angle Coeffs':
+ # Commenting the next line out. We did this already:
+ # table = TableFromTemplate(command.tmpl_list,
+ # [[' ','\t','\r'], '\n'],
+ # [True, False])
+ for i in range(0, len(table)):
+ if len(table[i]) == 0:
+ pass
+ elif ((len(table[i]) > 1) and
+ isinstance(table[i][0], TextBlock) and
+ (table[i][0].text == '*')):
+ pass # we dealt with this case earlier
+ elif ((len(table[i]) > 1) and
+ isinstance(table[i][0], TextBlock) and
+ (len(table[i][0].text) > 0) and
+ (table[i][0].text == '#')):
+ # Ignore comment lines (postprocessing removes them)
+ pass
+ elif (not (isinstance(table[i][0], VarRef) and
+ (table[i][0].prefix in ('@', '@{')) and
+ (table[i][0].nptr.cat_name == 'angle') and
+ (table[i][0].nptr.cat_node == root_node))):
+ raise InputError('----------------------------------------------------\n' +
+ ' Syntax error near ' +
+ ErrorLeader(table[i][0].srcloc.infile,
+ table[i][0].srcloc.lineno) + '\n'
+ ' Incorrect "Data Angle Coeffs" syntax.\n'
+ ' Each line of the \"Data Angle Coeffs\" section\n'
+ ' should have the following syntax:\n\n' +
+ ' @angle:type list-of-parameters...\n' +
+ '----------------------------------------------------\n' +
+ g_no_check_msg)
+ else:
+ data_angle_coeffs_defined.add(table[i][0].binding)
+
+ elif filename == 'Data Dihedral Coeffs':
+ # Commenting the next line out. We did this already:
+ # table = TableFromTemplate(command.tmpl_list,
+ # [[' ','\t','\r'], '\n'],
+ # [True, False])
+ for i in range(0, len(table)):
+ if len(table[i]) == 0:
+ pass
+ elif ((len(table[i]) > 1) and
+ isinstance(table[i][0], TextBlock) and
+ (table[i][0].text == '*')):
+ pass # we dealt with this case earlier
+ elif ((len(table[i]) > 1) and
+ isinstance(table[i][0], TextBlock) and
+ (len(table[i][0].text) > 0) and
+ (table[i][0].text == '#')):
+ # Ignore comment lines (postprocessing removes them)
+ pass
+ elif (not (isinstance(table[i][0], VarRef) and
+ (table[i][0].prefix in ('@', '@{')) and
+ (table[i][0].nptr.cat_name == 'dihedral') and
+ (table[i][0].nptr.cat_node == root_node))):
+ raise InputError('----------------------------------------------------\n' +
+ ' Syntax error near ' +
+ ErrorLeader(table[i][0].srcloc.infile,
+ table[i][0].srcloc.lineno) + '\n'
+ ' Incorrect "Data Dihedral Coeffs" syntax.\n'
+ ' Each line of the \"Data Dihedral Coeffs\" section\n'
+ ' should have the following syntax:\n\n' +
+ ' @dihedral:type list-of-parameters...\n' +
+ '----------------------------------------------------\n' +
+ g_no_check_msg)
+ else:
+ data_dihedral_coeffs_defined.add(table[i][0].binding)
+
+ elif filename == 'Data Improper Coeffs':
+ # Commenting the next line out. We did this already:
+ # table = TableFromTemplate(command.tmpl_list,
+ # [[' ','\t','\r'], '\n'],
+ # [True, False])
+ for i in range(0, len(table)):
+ if len(table[i]) == 0:
+ pass
+ elif ((len(table[i]) > 1) and
+ isinstance(table[i][0], TextBlock) and
+ (table[i][0].text == '*')):
+ pass # we dealt with this case earlier
+ elif ((len(table[i]) > 1) and
+ isinstance(table[i][0], TextBlock) and
+ (len(table[i][0].text) > 0) and
+ (table[i][0].text == '#')):
+ # Ignore comment lines (postprocessing removes them)
+ pass
+ elif (not (isinstance(table[i][0], VarRef) and
+ (table[i][0].prefix in ('@', '@{')) and
+ (table[i][0].nptr.cat_name == 'improper') and
+ (table[i][0].nptr.cat_node == root_node))):
+ raise InputError('----------------------------------------------------\n' +
+ ' Syntax error near ' +
+ ErrorLeader(table[i][0].srcloc.infile,
+ table[i][0].srcloc.lineno) + '\n'
+ ' Incorrect "Data Improper Coeffs" syntax.\n'
+ ' Each line of the \"Data Improper Coeffs\" section\n'
+ ' should have the following syntax:\n\n' +
+ ' @improper:type list-of-parameters...\n' +
+ '----------------------------------------------------\n' +
+ g_no_check_msg)
+ else:
+ data_improper_coeffs_defined.add(table[i][0].binding)
+
+ elif filename == 'Data Pair Coeffs':
+ # Commenting the next line out. We did this already:
+ # table = TableFromTemplate(command.tmpl_list,
+ # [[' ','\t','\r'], '\n'],
+ # [True, False])
+ for i in range(0, len(table)):
+ if len(table[i]) == 0:
+ pass
+ elif ((len(table[i]) > 0) and
+ isinstance(table[i][0], TextBlock) and
+ (table[i][0].text == '*')):
+ pass # we dealt with this case earlier
+ elif ((len(table[i]) > 0) and
+ isinstance(table[i][0], TextBlock) and
+ (len(table[i][0].text) > 0) and
+ (table[i][0].text == '#')):
+ # Ignore comment lines (postprocessing removes them)
+ pass
+ elif (not ((len(table[i]) > 0) and
+ isinstance(table[i][0], VarRef) and
+ (table[i][0].prefix in ('@', '@{')) and
+ (table[i][0].nptr.cat_name == 'atom') and
+ (table[i][0].nptr.cat_node == root_node))):
+ raise InputError('----------------------------------------------------\n' +
+ ' Syntax error near ' +
+ ErrorLeader(table[i][0].srcloc.infile,
+ table[i][0].srcloc.lineno) + '\n'
+ ' Incorrect "Data Pair Coeffs" syntax.\n'
+ ' Each line of the \"Data Pair Coeffs\" section\n'
+ ' should have the following syntax:\n\n' +
+ ' @atom:type list-of-parameters...\n' +
+ '----------------------------------------------------\n' +
+ g_no_check_msg)
+ else:
+ data_pair_coeffs_defined.add((table[i][0].binding,
+ table[i][0].binding))
+
+ elif filename == 'Data Bonds By Type':
+ table = TableFromTemplate(command.tmpl_list,
+ [[' ', '\t', '\r'], '\n'],
+ [True, False])
+ for i in range(0, len(table)):
+ if len(table[i]) == 0:
+ pass
+ elif ((len(table[i]) > 1) and
+ isinstance(table[i][0], TextBlock) and
+ (len(table[i][0].text) > 0) and
+ (table[i][0].text == '#')):
+ # Ignore comment lines (postprocessing removes them)
+ pass
+ elif (not ((len(table[i]) >= 3) and
+ isinstance(table[i][0], VarRef) and
+ (table[i][0].prefix in ('@', '@{')) and
+ (table[i][0].nptr.cat_name == 'bond') and
+ (table[i][0].nptr.cat_node == root_node))):
+ raise InputError('----------------------------------------------------\n' +
+ ' Syntax error near ' +
+ ErrorLeader(table[i][0].srcloc.infile,
+ table[i][0].srcloc.lineno) + '\n'
+ ' Incorrect \"Data Bonds By Type\" syntax.\n'
+ ' Each line of the \"Data Bonds By Type\" section should begin with an\n'
+ ' @bond:type variable followed by 2 atom types.\n' +
+ '----------------------------------------------------\n' +
+ g_no_check_msg)
+
+ elif filename == 'Data Angles By Type':
+ table = TableFromTemplate(command.tmpl_list,
+ [[' ', '\t', '\r'], '\n'],
+ [True, False])
+ for i in range(0, len(table)):
+ if len(table[i]) == 0:
+ pass
+ elif ((len(table[i]) > 1) and
+ isinstance(table[i][0], TextBlock) and
+ (len(table[i][0].text) > 0) and
+ (table[i][0].text == '#')):
+ # Ignore comment lines (postprocessing removes them)
+ pass
+ elif (not ((len(table[i]) >= 4) and
+ isinstance(table[i][0], VarRef) and
+ (table[i][0].prefix in ('@', '@{')) and
+ (table[i][0].nptr.cat_name == 'angle') and
+ (table[i][0].nptr.cat_node == root_node))):
+ raise InputError('----------------------------------------------------\n' +
+ ' Syntax error near ' +
+ ErrorLeader(table[i][0].srcloc.infile,
+ table[i][0].srcloc.lineno) + '\n'
+ ' Incorrect \"Data Angles By Type\" syntax.\n'
+ ' Each line of the \"Data Angles By Type\" section should begin with an\n'
+ ' @angle:type variable followed by 3 atom types (and 2 optional bond types).\n' +
+ '----------------------------------------------------\n' +
+ g_no_check_msg)
+
+ elif filename == 'Data Dihedrals By Type':
+ table = TableFromTemplate(command.tmpl_list,
+ [[' ', '\t', '\r'], '\n'],
+ [True, False])
+ for i in range(0, len(table)):
+ if len(table[i]) == 0:
+ pass
+ elif ((len(table[i]) > 1) and
+ isinstance(table[i][0], TextBlock) and
+ (len(table[i][0].text) > 0) and
+ (table[i][0].text == '#')):
+ # Ignore comment lines (postprocessing removes them)
+ pass
+ elif (not ((len(table[i]) >= 5) and
+ isinstance(table[i][0], VarRef) and
+ (table[i][0].prefix in ('@', '@{')) and
+ (table[i][0].nptr.cat_name == 'dihedral') and
+ (table[i][0].nptr.cat_node == root_node))):
+ raise InputError('----------------------------------------------------\n' +
+ ' Syntax error near ' +
+ ErrorLeader(table[i][0].srcloc.infile,
+ table[i][0].srcloc.lineno) + '\n'
+ ' Incorrect \"Data Dihedrals By Type\" syntax.\n'
+ ' Each line of the \"Data Dihedrals By Type\" section should begin with a\n\n'
+ ' @dihedral:type variable followed by 4 atom types (and 3 optional bond types).\n' +
+ '----------------------------------------------------\n' +
+ g_no_check_msg)
+
+ elif filename == 'Data Impropers By Type':
+ table = TableFromTemplate(command.tmpl_list,
+ [[' ', '\t', '\r'], '\n'],
+ [True, False])
+ for i in range(0, len(table)):
+ if len(table[i]) == 0:
+ pass
+ elif ((len(table[i]) > 1) and
+ isinstance(table[i][0], TextBlock) and
+ (len(table[i][0].text) > 0) and
+ (table[i][0].text == '#')):
+ # Ignore comment lines (postprocessing removes them)
+ pass
+ elif (not ((len(table[i]) >= 5) and
+ isinstance(table[i][0], VarRef) and
+ (table[i][0].prefix in ('@', '@{')) and
+ (table[i][0].nptr.cat_name == 'improper') and
+ (table[i][0].nptr.cat_node == root_node))):
+ raise InputError('----------------------------------------------------\n' +
+ ' Syntax error near ' +
+ ErrorLeader(table[i][0].srcloc.infile,
+ table[i][0].srcloc.lineno) + '\n'
+ ' Incorrect \"Data Impropers By Type\" syntax.\n'
+ ' Each line of the \"Data Impropers By Type\" section should begin with an\n\n'
+ ' @improper:type variable followed by 4 atom types (and 3 optional bond types).\n' +
+ '----------------------------------------------------\n' +
+ g_no_check_msg)
+
+ # Recursively invoke AssignVarPtrs() on all (non-leaf) child nodes:
+ for child in context_node.children.values():
+ CheckSyntaxStatic(child,
+ root_node,
+ atom_column_names,
+ data_pair_coeffs_defined,
+ data_bond_coeffs_defined,
+ data_angle_coeffs_defined,
+ data_dihedral_coeffs_defined,
+ data_improper_coeffs_defined,
+ in_pair_coeffs_defined,
+ in_bond_coeffs_defined,
+ in_angle_coeffs_defined,
+ in_dihedral_coeffs_defined,
+ in_improper_coeffs_defined,
+ search_instance_commands)
+
+
+def CheckInFileSyntax(tmpl_list,
+ root_node,
+ pair_coeffs_defined,
+ bond_coeffs_defined,
+ angle_coeffs_defined,
+ dihedral_coeffs_defined,
+ improper_coeffs_defined):
+
+ table = TableFromTemplate(tmpl_list,
+ [[' ', '\t', '\r'], '\n'],
+ [True, False])
+
+ for i in range(0, len(table)):
+ assert(hasattr(table[i], '__len__'))
+
+ if len(table[i]) > 0:
+ if ((isinstance(table[i][0], TextBlock)) and
+ (table[i][0].text in set(['bond_coeff',
+ 'angle_coeff',
+ 'dihedral_coeff',
+ 'improper_coeff']))):
+ if len(table[i]) > 1: # if not deal with error later
+ if (isinstance(table[i][1], TextBlock) and
+ table[i][1].text == '*'):
+ if table[i][0].text == 'bond_coeff':
+ bond_coeffs_defined.add('*')
+ elif table[i][0].text == 'angle_coeff':
+ angle_coeffs_defined.add('*')
+ elif table[i][0].text == 'dihedral_coeff':
+ dihedral_coeffs_defined.add('*')
+ elif table[i][0].text == 'improper_coeff':
+ improper_coeffs_defined.add('*')
+ else:
+ compound_wildcard = False
+ if (len(table[i]) > 1):
+ if hasattr(table[i][1], '__len__'):
+ ltmpl = table[i][1]
+ else:
+ ltmpl = [table[i][1]]
+ for entry in ltmpl:
+ if (isinstance(entry, TextBlock) and
+ ('*' in entry.text)):
+ compound_wildcard = True
+ elif (isinstance(entry, VarRef) and
+ ('*' in entry.descr_str)):
+ compound_wildcard = True
+ if compound_wildcard:
+ raise InputError('---- Paranoid checking: ---\n'
+ ' Possible error near ' +
+ ErrorLeader(entry.srcloc.infile,
+ entry.srcloc.lineno) + '\n'
+ 'The wildcard symbol, \"*\", is not recommended within a \"' +
+ table[i][0].text + '\".\n'
+ 'command. It is safer to specify the parameters for each bond type explicitly.\n'
+ 'You CAN use \"*\" wildcards, but you must disable syntax checking. To get\n'
+ 'past this error message, run moltemplate.sh using the \"-nocheck\" option.\n')
+
+ if ((isinstance(table[i][0], TextBlock)) and
+ ((table[i][0].text.lower() == 'bondcoeff') or
+ (table[i][0].text.lower() == 'bond_coeff'))):
+ if table[i][0].text != 'bond_coeff':
+ raise InputError('----------------------------------------------------\n' +
+ ' Spelling error near ' +
+ ErrorLeader(table[i][0].srcloc.infile,
+ table[i][0].srcloc.lineno) + '\n'
+ ' Use \"bond_coeff\", not \"' + table[i][0].text + '\"\n' +
+ '----------------------------------------------------\n' +
+ g_no_check_msg)
+
+ if ((len(table[i]) > 1) and
+ isinstance(table[i][1], TextBlock) and
+ (table[i][1].text == '*')):
+ pass # we dealt with this case earlier
+ elif (not ((len(table[i]) > 1) and
+ (isinstance(table[i][1], VarRef)) and
+ (table[i][1].prefix in ('@', '@{')) and
+ (table[i][1].nptr.cat_name == 'bond') and
+ (table[i][1].nptr.cat_node == root_node))):
+ raise InputError('----------------------------------------------------\n' +
+ ' Syntax error near ' +
+ ErrorLeader(table[i][0].srcloc.infile,
+ table[i][0].srcloc.lineno) + '\n'
+ ' Invalid \"bond_coeff\" command.\n\n' +
+ ' Each \"bond_coeff\" command should have the following syntax:\n\n' +
+ ' bond_coeff @bond:type [optional style] list-of-parameters...\n' +
+ '----------------------------------------------------\n\n' +
+ g_no_check_msg)
+ else:
+ bond_coeffs_defined.add(table[i][1].binding)
+
+ if ((isinstance(table[i][0], TextBlock)) and
+ ((table[i][0].text.lower() == 'anglecoeff') or
+ (table[i][0].text.lower() == 'angle_coeff'))):
+ if table[i][0].text != 'angle_coeff':
+ raise InputError('----------------------------------------------------\n' +
+ ' Spelling error near ' +
+ ErrorLeader(table[i][0].srcloc.infile,
+ table[i][0].srcloc.lineno) + '\n'
+ ' Use \"angle_coeff\", not \"' + table[i][0].text + '\"\n' +
+ '----------------------------------------------------\n' +
+ g_no_check_msg)
+
+ if ((len(table[i]) > 1) and
+ isinstance(table[i][1], TextBlock) and
+ (table[i][1].text == '*')):
+ pass # we dealt with this case earlier
+ elif (not ((len(table[i]) > 1) and
+ (isinstance(table[i][1], VarRef)) and
+ (table[i][1].prefix in ('@', '@{')) and
+ (table[i][1].nptr.cat_name == 'angle') and
+ (table[i][1].nptr.cat_node == root_node))):
+ raise InputError('----------------------------------------------------\n' +
+ ' Syntax error near ' +
+ ErrorLeader(table[i][0].srcloc.infile,
+ table[i][0].srcloc.lineno) + '\n'
+ ' Invalid \"angle_coeff\" command.\n\n' +
+ ' Each \"angle_coeff\" command should have the following syntax:\n\n' +
+ ' angle_coeff @angle:type [optional style] list-of-parameters...\n' +
+ '----------------------------------------------------\n\n' +
+ g_no_check_msg)
+ else:
+ angle_coeffs_defined.add(table[i][1].binding)
+
+ if ((isinstance(table[i][0], TextBlock)) and
+ ((table[i][0].text.lower() == 'dihedralcoeff') or
+ (table[i][0].text.lower() == 'dihedral_coeff'))):
+ if table[i][0].text != 'dihedral_coeff':
+ raise InputError('----------------------------------------------------\n' +
+ ' Spelling error near ' +
+ ErrorLeader(table[i][0].srcloc.infile,
+ table[i][0].srcloc.lineno) + '\n'
+ ' Use \"dihedral_coeff\", not \"' + table[i][0].text + '\"\n' +
+ '----------------------------------------------------\n' +
+ g_no_check_msg)
+
+ if ((len(table[i]) > 1) and
+ isinstance(table[i][1], TextBlock) and
+ (table[i][1].text == '*')):
+ pass # we dealt with this case earlier
+ elif (not ((len(table[i]) > 1) and
+ (isinstance(table[i][1], VarRef)) and
+ (table[i][1].prefix in ('@', '@{')) and
+ (table[i][1].nptr.cat_name == 'dihedral') and
+ (table[i][1].nptr.cat_node == root_node))):
+ raise InputError('----------------------------------------------------\n' +
+ ' Syntax error near ' +
+ ErrorLeader(table[i][0].srcloc.infile,
+ table[i][0].srcloc.lineno) + '\n'
+ ' Invalid \"dihedral_coeff\" command.\n\n' +
+ ' Each \"dihedral_coeff\" command should have the following syntax:\n\n' +
+ ' dihedral_coeff @dihedral:type [optional style] list-of-parameters...\n' +
+ '----------------------------------------------------\n\n' +
+ g_no_check_msg)
+ else:
+ dihedral_coeffs_defined.add(table[i][1].binding)
+
+ if ((isinstance(table[i][0], TextBlock)) and
+ ((table[i][0].text.lower() == 'impropercoeff') or
+ (table[i][0].text.lower() == 'improper_coeff'))):
+ if table[i][0].text != 'improper_coeff':
+ raise InputError('----------------------------------------------------\n' +
+ ' Spelling error near ' +
+ ErrorLeader(table[i][0].srcloc.infile,
+ table[i][0].srcloc.lineno) + '\n'
+ ' Use \"improper_coeff\", not \"' + table[i][0].text + '\"\n' +
+ '----------------------------------------------------\n' +
+ g_no_check_msg)
+
+ if ((len(table[i]) > 1) and
+ isinstance(table[i][1], TextBlock) and
+ (table[i][1].text == '*')):
+ pass # we dealt with this case earlier
+ elif (not ((len(table[i]) > 1) and
+ (isinstance(table[i][1], VarRef)) and
+ (table[i][1].prefix in ('@', '@{')) and
+ (table[i][1].nptr.cat_name == 'improper') and
+ (table[i][1].nptr.cat_node == root_node))):
+ raise InputError('----------------------------------------------------\n' +
+ ' Syntax error near ' +
+ ErrorLeader(table[i][0].srcloc.infile,
+ table[i][0].srcloc.lineno) + '\n'
+ ' Invalid \"improper_coeff\" command.\n\n' +
+ ' Each \"improper_coeff\" command should have the following syntax:\n\n' +
+ ' improper_coeff @improper:type [optional style] list-of-parameters...\n' +
+ '----------------------------------------------------\n\n' +
+ g_no_check_msg)
+ else:
+ improper_coeffs_defined.add(table[i][1].binding)
+
+ elif ((isinstance(table[i][0], TextBlock)) and
+ ((table[i][0].text.lower() == 'paircoeff') or
+ (table[i][0].text.lower() == 'pair_coeff'))):
+ if table[i][0].text != 'pair_coeff':
+ raise InputError('----------------------------------------------------\n' +
+ ' Spelling error near ' +
+ ErrorLeader(table[i][0].srcloc.infile,
+ table[i][0].srcloc.lineno) + '\n'
+ ' Use \"pair_coeff\", not \"' + table[i][0].text + '\"\n' +
+ '----------------------------------------------------\n' +
+ g_no_check_msg)
+
+ if len(table[i]) > 2: # if not, deal with error later
+ if ((isinstance(table[i][1], TextBlock) and
+ (table[i][1].text == '*')) and
+ (isinstance(table[i][1], TextBlock) and
+ (table[i][1].text == '*'))):
+ pair_coeffs_defined.add(('*', '*'))
+ else:
+ compound_wildcard = False
+ assert(len(table[i]) > 1)
+
+ if hasattr(table[i][1], '__len__'):
+ ltmpl = table[i][1]
+ else:
+ ltmpl = [table[i][1]]
+ for entry in ltmpl:
+ if (isinstance(entry, TextBlock) and
+ ('*' in entry.text)):
+ compound_wildcard = True
+ elif (isinstance(entry, VarRef) and
+ ('*' in entry.descr_str)):
+ compound_wildcard = True
+
+ if hasattr(table[i][2], '__len__'):
+ ltmpl = table[i][2]
+ else:
+ ltmpl = [table[i][2]]
+ for entry in ltmpl:
+ if (isinstance(entry, TextBlock) and
+ ('*' in entry.text)):
+ compound_wildcard = True
+ elif (isinstance(entry, VarRef) and
+ ('*' in entry.descr_str)):
+ compound_wildcard = True
+
+ if compound_wildcard:
+ raise InputError('---- Paranoid checking: ---\n'
+ ' Possible error near ' +
+ ErrorLeader(entry.srcloc.infile,
+ entry.srcloc.lineno) + '\n'
+ 'The wildcard symbol, \"*\", is not recommended within a \"pair_coeff\" command.\n'
+ 'It is safer to specify the parameters for each bond type explicitly.\n'
+ 'You CAN use \"*\" wildcards, but you must disable syntax checking. To get\n'
+ 'past this error message, run moltemplate.sh using the \"-nocheck\" option.\n')
+
+ if ((len(table[i]) > 2) and
+ (isinstance(table[i][1], TextBlock) and
+ (table[i][1].text == '*')) and
+ (isinstance(table[i][2], TextBlock) and
+ (table[i][2].text == '*'))):
+ pass # we dealt with this case earlier
+
+ elif (not ((len(table[i]) > 2) and
+ (isinstance(table[i][1], VarRef)) and
+ (table[i][1].prefix in ('@', '@{')) and
+ (table[i][1].nptr.cat_name == 'atom') and
+ (table[i][1].nptr.cat_node == root_node) and
+ (isinstance(table[i][2], VarRef)) and
+ (table[i][2].prefix in ('@', '@{')) and
+ (table[i][2].nptr.cat_name == 'atom') and
+ (table[i][2].nptr.cat_node == root_node))):
+ raise InputError('----------------------------------------------------\n' +
+ ' Syntax error near ' +
+ ErrorLeader(table[i][0].srcloc.infile,
+ table[i][0].srcloc.lineno) + '\n'
+ ' Invalid \"pair_coeff\" command.\n\n' +
+ ' Each \"pair_coeff\" command should have the following syntax:\n\n' +
+ ' pair_coeff @atom:typeI @atom:typeJ [optional style] list-of-parameters...\n' +
+ '----------------------------------------------------\n\n' +
+ g_no_check_msg)
+ else:
+ pair_coeffs_defined.add(
+ (table[i][1].binding, table[i][2].binding))
+
+
+def LttreeCheckParseArgs(argv, settings, main=False, show_warnings=True):
+
+ LttreeParseArgs(argv, settings, False, show_warnings)
+
+ if main:
+ # Instantiate the lexer we will be using.
+ # (The lexer's __init__() function requires an openned file.
+ # Assuming __name__ == "__main__", then the name of that file should
+ # be the last remaining (unprocessed) argument in the argument list.)
+ if len(argv) == 1:
+ raise InputError('Error: This program requires at least one argument\n'
+ ' the name of a file containing ttree template commands\n')
+ elif len(argv) == 2:
+ try:
+ # Parse text from the file named argv[1]
+ settings.lex.infile = argv[1]
+ settings.lex.instream = open(argv[1], 'r')
+ except IOError:
+ sys.stderr.write('Error: unable to open file\n'
+ ' \"' + argv[1] + '\"\n'
+ ' for reading.\n')
+ sys.exit(1)
+ del(argv[1:2])
+
+ else:
+ # if there are more than 2 remaining arguments,
+ problem_args = ['\"' + arg + '\"' for arg in argv[1:]]
+ raise InputError('Syntax Error(' + g_program_name + '):\n\n'
+ ' Unrecognized argument.\n'
+ ' (That or there is some other problem with the argument list.)\n'
+ ' The problem begins with these arguments:\n'
+ ' ' + (' '.join(problem_args)) + '\n\n'
+ ' (The actual problem may be earlier in the argument list.\n'
+ ' If these arguments are source files, then keep in mind\n'
+ ' that this program can not parse multiple source files.)\n'
+ ' Check the syntax of the entire argument list.\n')
+
+ return
+
+
+####### control flow begins here: #######
+def main():
+ sys.stderr.write(g_program_name + ' v' +
+ g_version_str + ' ' + g_date_str + '\n')
+
+ try:
+ # Parse the argument list and instantiate the lexer we will be using:
+
+ settings = LttreeSettings()
+ LttreeCheckParseArgs([arg for arg in sys.argv], #(deep copy of sys.argv)
+ settings,
+ main=True,
+ show_warnings=True)
+
+ # Invoke syntax checker pass:
+ # This first check only checks for very simple mistakes
+ # (mispelled versions of standard files or variable names).
+ CheckSyntaxCheap(settings.lex)
+ settings.lex.instream.close()
+ # Now read the file again.
+ # This time parse it using StaticObj.ReadTemplate().
+ # (This will allow us to check for deeper problems.)
+ # Parse text from the file named argv[1]
+ # Note: Assigning settings.lex directly does not work
+ # because it does not set the include path:
+ # settings.lex = TemplateLexer(open(settings.lex.infile, 'r'),
+ # settings.lex.infile) <--DONT USE!
+ # Instead reinitialize settings.lex the same way we did earlier:
+ # by using LttreeCheckParseArgs():
+ settings = LttreeSettings()
+ LttreeCheckParseArgs([arg for arg in sys.argv], #(deep copy of sys.argv)
+ settings,
+ main=True,
+ show_warnings=False)
+
+ static_tree_root = StaticObj('', None) # The root of the static tree
+ # has name '' (equivalent to '/')
+ # has name '' (equivalent to '/')
+ sys.stderr.write(g_program_name +
+ ': parsing the class definitions...')
+ static_tree_root.Parse(settings.lex)
+
+ sys.stderr.write(' done\n' + g_program_name +
+ ': looking up classes...')
+ static_tree_root.LookupStaticRefs()
+ sys.stderr.write(' done\n' + g_program_name +
+ ': looking up @variables...')
+ AssignStaticVarPtrs(static_tree_root,
+ search_instance_commands=False)
+ replace_var_pairs = {}
+ FindReplacementVarPairs(static_tree_root, replace_var_pairs)
+ ReplaceVars(static_tree_root, replace_var_pairs,
+ search_instance_commands=False)
+ AssignStaticVarPtrs(static_tree_root,
+ search_instance_commands=True)
+ ReplaceVars(static_tree_root, replace_var_pairs,
+ search_instance_commands=True)
+ sys.stderr.write(' done\n')
+ #sys.stderr.write(' done\n\nclass_def_tree = ' + str(static_tree_root) + '\n\n')
+
+ data_pair_coeffs_defined = set([])
+ data_bond_coeffs_defined = set([])
+ data_angle_coeffs_defined = set([])
+ data_dihedral_coeffs_defined = set([])
+ data_improper_coeffs_defined = set([])
+ in_pair_coeffs_defined = set([])
+ in_bond_coeffs_defined = set([])
+ in_angle_coeffs_defined = set([])
+ in_dihedral_coeffs_defined = set([])
+ in_improper_coeffs_defined = set([])
+
+ # Now check the static syntax
+ # Here we check the contents of the the "write_once()" commands:
+ CheckSyntaxStatic(static_tree_root,
+ static_tree_root,
+ settings.column_names,
+ data_pair_coeffs_defined,
+ data_bond_coeffs_defined,
+ data_angle_coeffs_defined,
+ data_dihedral_coeffs_defined,
+ data_improper_coeffs_defined,
+ in_pair_coeffs_defined,
+ in_bond_coeffs_defined,
+ in_angle_coeffs_defined,
+ in_dihedral_coeffs_defined,
+ in_improper_coeffs_defined,
+ search_instance_commands=False)
+ # Here we check the contents of the the "write()" commands:
+ CheckSyntaxStatic(static_tree_root,
+ static_tree_root,
+ settings.column_names,
+ data_pair_coeffs_defined,
+ data_bond_coeffs_defined,
+ data_angle_coeffs_defined,
+ data_dihedral_coeffs_defined,
+ data_improper_coeffs_defined,
+ in_pair_coeffs_defined,
+ in_bond_coeffs_defined,
+ in_angle_coeffs_defined,
+ in_dihedral_coeffs_defined,
+ in_improper_coeffs_defined,
+ search_instance_commands=True)
+
+ if 'bond' in static_tree_root.categories:
+
+ if ((len(data_bond_coeffs_defined) > 0) and
+ (len(in_bond_coeffs_defined) > 0)):
+ raise InputError('---------------------------------------------------------------------\n' +
+ ' Syntax error: You can EITHER use \"bond_coeff\" commands\n' +
+ ' OR you can have a \"Data Bond Coeffs\" section.\n' +
+ ' LAMMPS will not allow both (...as of late 2012)\n' +
+ '---------------------------------------------------------------------\n' +
+ g_no_check_msg)
+ #' If this is no longer true, to override this error message you must\n'+
+ #' disable error checking by running moltemplate with the -nocheck option.\n')
+ if len(data_bond_coeffs_defined) > 0:
+ bond_coeffs_defined = data_bond_coeffs_defined
+ else:
+ bond_coeffs_defined = in_bond_coeffs_defined
+
+ bond_bindings = static_tree_root.categories['bond'].bindings
+ for nd, bond_binding in bond_bindings.items():
+ if not nd.IsDeleted():
+ if ((not (bond_binding in bond_coeffs_defined)) and
+ (not HasWildCard(bond_binding.full_name)) and
+ (not ('*' in bond_coeffs_defined))):
+ raise InputError('---------------------------------------------------------------------\n' +
+ ' Syntax error: Missing bond coeff.\n\n' +
+ ' No coeffs for the \"' + bond_binding.full_name + '\" bond type have been\n' +
+ 'defined, but a reference to that bond type was discovered\n' +
+ 'near ' + ErrorLeader(bond_binding.refs[0].srcloc.infile,
+ bond_binding.refs[0].srcloc.lineno) + '. Check this file and also check\n'
+ 'your \"bond_coeff\" commands or your \"Data Bond Coeffs" section.\n'
+ '---------------------------------------------------------------------\n' +
+ g_no_check_msg)
+
+ if 'angle' in static_tree_root.categories:
+
+ if ((len(data_angle_coeffs_defined) > 0) and
+ (len(in_angle_coeffs_defined) > 0)):
+ raise InputError('---------------------------------------------------------------------\n' +
+ ' Syntax error: You can EITHER use \"angle_coeff\" commands\n' +
+ ' OR you can have a \"Data Angle Coeffs\" section.\n' +
+ ' LAMMPS will not allow both (...as of late 2012)\n' +
+ '---------------------------------------------------------------------\n' +
+ g_no_check_msg)
+ #' If this is no longer true, to override this error message you must\n'+
+ #' disable error checking by running moltemplate with the -nocheck option.\n')
+ if len(data_angle_coeffs_defined) > 0:
+ angle_coeffs_defined = data_angle_coeffs_defined
+ else:
+ angle_coeffs_defined = in_angle_coeffs_defined
+
+ angle_bindings = static_tree_root.categories['angle'].bindings
+ for nd, angle_binding in angle_bindings.items():
+ if not nd.IsDeleted():
+ if ((not (angle_binding in angle_coeffs_defined)) and
+ #(not HasWildCard(angle_binding.full_name)) and
+ (not ('*' in angle_coeffs_defined))):
+ raise InputError('---------------------------------------------------------------------\n' +
+ ' Syntax error: Missing angle coeff.\n\n' +
+ ' No coeffs for the \"' + angle_binding.full_name + '\" angle type have been\n' +
+ 'defined, but a reference to that angle type was discovered\n' +
+ 'near ' + ErrorLeader(angle_binding.refs[0].srcloc.infile,
+ angle_binding.refs[0].srcloc.lineno) + '. Check this file and\n'
+ 'also check your \"angle_coeff\" commands or your \"Data Angle Coeffs" section.\n' +
+ '---------------------------------------------------------------------\n' +
+ g_no_check_msg)
+
+ if 'dihedral' in static_tree_root.categories:
+ #sys.stderr.write('dihedral_bindings = '+str(dihedral_bindings)+'\n')
+
+ if ((len(data_dihedral_coeffs_defined) > 0) and
+ (len(in_dihedral_coeffs_defined) > 0)):
+ raise InputError('---------------------------------------------------------------------\n' +
+ ' Syntax error: You can EITHER use \"dihedral_coeff\" commands\n' +
+ ' OR you can have a \"Data Dihedral Coeffs\" section.\n' +
+ ' LAMMPS will not allow both (...as of late 2012)\n' +
+ '---------------------------------------------------------------------\n' +
+ g_no_check_msg)
+ #' If this is no longer true, to override this error message you must\n'+
+ #' disable error checking by running moltemplate with the -nocheck option.\n')
+ if len(data_dihedral_coeffs_defined) > 0:
+ dihedral_coeffs_defined = data_dihedral_coeffs_defined
+ else:
+ dihedral_coeffs_defined = in_dihedral_coeffs_defined
+
+ dihedral_bindings = static_tree_root.categories[
+ 'dihedral'].bindings
+ for nd, dihedral_binding in dihedral_bindings.items():
+ if not nd.IsDeleted():
+ if ((not (dihedral_binding in dihedral_coeffs_defined)) and
+ #(not HasWildCard(dihedral_binding.full_name)) and
+ (not ('*' in dihedral_coeffs_defined))):
+ raise InputError('---------------------------------------------------------------------\n' +
+ ' Syntax error: Missing dihedral coeff.\n\n' +
+ ' No coeffs for the \"' + dihedral_binding.full_name + '\" dihedral type have been\n' +
+ 'defined, but a reference to that dihedral type was discovered\n' +
+ 'near ' + ErrorLeader(dihedral_binding.refs[0].srcloc.infile,
+ dihedral_binding.refs[0].srcloc.lineno) + '. Check this file and\n'
+ 'also check your \"dihedral_coeff\" commands or your \"Data Dihedral Coeffs" section.\n' +
+ '---------------------------------------------------------------------\n' +
+ g_no_check_msg)
+
+ if 'improper' in static_tree_root.categories:
+
+ if ((len(data_improper_coeffs_defined) > 0) and
+ (len(in_improper_coeffs_defined) > 0)):
+ raise InputError('---------------------------------------------------------------------\n' +
+ ' Syntax error: You can EITHER use \"improper_coeff\" commands\n' +
+ ' OR you can have a \"Data Improper Coeffs\" section.\n' +
+ ' LAMMPS will not allow both (...as of late 2012)\n' +
+ '---------------------------------------------------------------------\n' +
+ g_no_check_msg)
+ #' If this is no longer true, to override this error message you must\n'+
+ #' disable error checking by running moltemplate with the -nocheck option.\n')
+ if len(data_improper_coeffs_defined) > 0:
+ improper_coeffs_defined = data_improper_coeffs_defined
+ else:
+ improper_coeffs_defined = in_improper_coeffs_defined
+
+ improper_bindings = static_tree_root.categories[
+ 'improper'].bindings
+ for nd, improper_binding in improper_bindings.items():
+ if not nd.IsDeleted():
+ if ((not (improper_binding in improper_coeffs_defined)) and
+ #(not HasWildCard(improper_binding.full_name)) and
+ (not ('*' in improper_coeffs_defined))):
+ raise InputError('---------------------------------------------------------------------\n' +
+ ' Syntax error: Missing improper coeff.\n\n' +
+ ' No coeffs for the \"' + improper_binding.full_name + '\" improper type have been\n' +
+ 'defined, but a reference to that improper type was discovered\n' +
+ 'near ' + ErrorLeader(improper_binding.refs[0].srcloc.infile,
+ improper_binding.refs[0].srcloc.lineno) + '. Check this file and\n'
+ 'also check your \"improper_coeff\" commands or your \"Data Improper Coeffs" section.\n' +
+ '---------------------------------------------------------------------\n' +
+ g_no_check_msg)
+
+ if 'atom' in static_tree_root.categories:
+
+ if ((len(data_pair_coeffs_defined) > 0) and
+ (len(in_pair_coeffs_defined) > 0)):
+ raise InputError('---------------------------------------------------------------------\n' +
+ ' Syntax error: You can EITHER use \"pair_coeff\" commands\n' +
+ ' OR you can have a \"Data Pair Coeffs\" section.\n' +
+ ' LAMMPS will not allow both (...as of late 2012)\n' +
+ '---------------------------------------------------------------------\n' +
+ g_no_check_msg)
+ #' If this is no longer true, to override this error message you must\n'+
+ #' disable error checking by running moltemplate with the -nocheck option.\n')
+
+ if len(data_pair_coeffs_defined) > 0:
+ pair_coeffs_defined = data_pair_coeffs_defined
+ else:
+ pair_coeffs_defined = in_pair_coeffs_defined
+
+ atom_bindings = static_tree_root.categories['atom'].bindings
+ for nd, atom_binding in atom_bindings.items():
+ if not nd.IsDeleted():
+ if ((not ((atom_binding, atom_binding)
+ in
+ pair_coeffs_defined)) and
+ (not HasWildCard(atom_binding.full_name)) and
+ (not (('*', '*') in pair_coeffs_defined)) and
+ (not (atom_binding.nptr.cat_name,
+ atom_binding.nptr.cat_node,
+ atom_binding.nptr.leaf_node)
+ in replace_var_pairs)):
+
+ raise InputError('---------------------------------------------------------------------\n' +
+ ' Syntax error: Missing pair coeff.\n\n' +
+ ' No pair coeffs for the \"' + atom_binding.full_name + '\" atom type have been\n' +
+ 'defined, but a reference to that atom type was discovered\n' +
+ 'near ' + ErrorLeader(atom_binding.refs[0].srcloc.infile,
+ atom_binding.refs[0].srcloc.lineno) + '. Check this file and\n'
+ 'also check your \"pair_coeff\" commands or your \"Data Pair Coeffs" section.\n\n' +
+ g_no_check_msg)
+ # else:
+ # raise InputError('Error: No atom types (@atom) have been defined.\n')
+
+ sys.stderr.write(g_program_name + ': -- No errors detected. --\n')
+ exit(0)
+
+ except (ValueError, InputError) as err:
+ sys.stderr.write('\n' + str(err) + '\n')
+ sys.exit(1)
+
+ return
+
+
+if __name__ == '__main__':
+ main()
diff --git a/tools/moltemplate/moltemplate/lttree_postprocess.py b/tools/moltemplate/moltemplate/lttree_postprocess.py
new file mode 100755
index 000000000..1bb985361
--- /dev/null
+++ b/tools/moltemplate/moltemplate/lttree_postprocess.py
@@ -0,0 +1,344 @@
+#!/usr/bin/env python
+
+"""
+ lttree_postprocess.py
+ This is a stand-alone python script which checks the files created by
+ lttree.py to insure that the standard instance-variables ($variables)
+ have all been defined. This script performs a task which is very similar
+ to the task performed by lttree_check.py. This script attempts to detect
+ mistakes in the names of $atom, $bond, $angle, $dihedral, $improper, & $mol
+ variables.
+
+"""
+
+import sys
+
+try:
+ from .lttree_styles import *
+ from .ttree_lex import ExtractCatName
+except (SystemError, ValueError):
+ # not installed as a package
+ from lttree_styles import *
+ from ttree_lex import ExtractCatName
+
+g_program_name = __file__.split('/')[-1] # = 'lttree_postprocess.py'
+g_version_str = '0.5.0'
+g_date_str = '2016-12-21'
+
+def main():
+ atom_style = 'full'
+ ttree_assignments_fname = 'ttree_assignments.txt'
+
+ defined_mols = set([])
+ defined_atoms = set([])
+ defined_bonds = set([])
+ defined_angles = set([])
+ defined_dihedrals = set([])
+ defined_impropers = set([])
+
+ g_no_check_msg = \
+ '(To override this error, run moltemplate using the \"-nocheck\" argument.)\n'
+
+ if len(sys.argv) > 1:
+ for i in range(0, len(sys.argv)):
+ if ((sys.argv[i].lower() == '-atomstyle') or
+ (sys.argv[i].lower() == '-atom-style') or
+ (sys.argv[i].lower() == '-atom_style')):
+ if i + 1 >= len(sys.argv):
+ raise InputError('Error(' + g_program_name + '): The ' + sys.argv[i] + ' flag should be followed by a LAMMPS\n'
+ ' atom_style name (or single quoted string containing a space-separated\n'
+ ' list of column names such as: atom-ID atom-type q x y z molecule-ID.)\n')
+
+ atom_style = sys.argv[i + 1]
+ elif ((sys.argv[i].lower() == '-ttreeassignments') or
+ (sys.argv[i].lower() == '-ttree-assignments') or
+ (sys.argv[i].lower() == '-ttree_assignments')):
+ if i + 1 >= len(sys.argv):
+ raise InputError('Error(' + g_program_name + '): The ' + sys.argv[i] + ' flag should be followed by \n'
+ ' a file containing the variable bindings created by ttree/moltemplate.\n')
+ ttree_assignments_fname = sys.argv[i + 1]
+ else:
+ pass # ignore other arguments (they are intended for lttree.py)
+
+
+ atom_column_names = AtomStyle2ColNames(atom_style)
+ i_atomid = 0
+ i_molid = -1
+ for i in range(0, len(atom_column_names)):
+ if atom_column_names[i].lower() == 'atom-id':
+ i_atomid = i
+ elif atom_column_names[i].lower() == 'molecule-id':
+ i_molid = i
+ i_max_column = max(i_atomid, i_molid)
+
+
+ # The following variables are defined in "lttree_styles.py"
+ #data_atoms="Data Atoms"
+ #data_masses="Data Masses"
+ #data_velocities="Data Velocities"
+ #data_bonds="Data Bonds"
+ #data_angles="Data Angles"
+ #data_dihedrals="Data Dihedrals"
+ #data_impropers="Data Impropers"
+
+
+ sys.stderr.write(g_program_name + ' v' +
+ g_version_str + ' ' + g_date_str + '\n')
+
+ try:
+ # ------------ defined_atoms ------------
+ try:
+ f = open(data_atoms + '.template', 'r')
+ except:
+ raise InputError('Error(' + g_program_name + '): Unable to open file\n' +
+ '\"' + data_atoms + '.template\"\n'
+ ' for reading. (Do your files lack a \"' +
+ data_atoms + '\" section?)\n'
+ + g_no_check_msg + '\n')
+
+ for line_orig in f:
+ ic = line_orig.find('#')
+ if ic != -1:
+ line = line_orig[:ic]
+ else:
+ line = line_orig.rstrip('\n')
+
+ tokens = line.strip().split()
+ if len(tokens) == 0:
+ pass
+ elif len(tokens) <= i_max_column:
+ raise InputError('Error(' + g_program_name + '): The following line from\n'
+ ' "\"' + data_atoms + '.template\" has bad format:\n\n'
+ + line_orig + '\n'
+ ' This my probably an internal error. (Feel free to contact the developer.)\n'
+ + g_no_check_msg + '\n')
+ else:
+ defined_atoms.add(tokens[i_atomid])
+ if i_molid != -1:
+ defined_mols.add(tokens[i_molid])
+
+ f.close()
+
+ # ------------ defined_bonds ------------
+ try:
+ f = open(data_bonds + '.template', 'r')
+
+ for line_orig in f:
+ ic = line_orig.find('#')
+ if ic != -1:
+ line = line_orig[:ic]
+ else:
+ line = line_orig.rstrip('\n')
+
+ tokens = line.strip().split()
+ if len(tokens) == 0:
+ pass
+ elif len(tokens) < 4:
+ raise InputError('Error(' + g_program_name + '): The following line from\n'
+ ' "\"' + data_bonds + '.template\" has bad format:\n\n'
+ + line_orig + '\n'
+ ' This my probably an internal error. (Feel free to contact the developer.)\n'
+ + g_no_check_msg + '\n')
+ else:
+ defined_bonds.add(tokens[0])
+ f.close()
+ except:
+ pass # Defining bonds (stored in the data_bonds file) is optional
+
+ # ------------ defined_angles ------------
+ try:
+ f = open(data_angles + '.template', 'r')
+ for line_orig in f:
+ ic = line_orig.find('#')
+ if ic != -1:
+ line = line_orig[:ic]
+ else:
+ line = line_orig.rstrip('\n')
+
+ tokens = line.strip().split()
+ if len(tokens) == 0:
+ pass
+ elif len(tokens) < 5:
+ raise InputError('Error(' + g_program_name + '): The following line from\n'
+ ' "\"' + data_angles + '.template\" has bad format:\n\n'
+ + line_orig + '\n'
+ ' This my probably an internal error. (Feel free to contact the developer.)\n'
+ + g_no_check_msg + '\n')
+ else:
+ defined_angles.add(tokens[0])
+ f.close()
+ except:
+ pass # Defining angles (stored in the data_angles file) is optional
+
+ # ------------ defined_dihedrals ------------
+ try:
+ f = open(data_dihedrals + '.template', 'r')
+ for line_orig in f:
+ ic = line_orig.find('#')
+ if ic != -1:
+ line = line_orig[:ic]
+ else:
+ line = line_orig.rstrip('\n')
+
+ tokens = line.strip().split()
+ if len(tokens) == 0:
+ pass
+ elif len(tokens) < 6:
+ raise InputError('Error(' + g_program_name + '): The following line from\n'
+ ' "\"' + data_dihedrals + '.template\" has bad format:\n\n'
+ + line_orig + '\n'
+ ' This my probably an internal error. (Feel free to contact the developer.)\n'
+ + g_no_check_msg + '\n')
+ else:
+ defined_dihedrals.add(tokens[0])
+ f.close()
+ except:
+ # Defining dihedrals (stored in the data_dihedrals file) is optional
+ pass
+
+ # ------------ defined_impropers ------------
+ try:
+ f = open(data_impropers + '.template', 'r')
+
+ for line_orig in f:
+ ic = line_orig.find('#')
+ if ic != -1:
+ line = line_orig[:ic]
+ else:
+ line = line_orig.rstrip('\n')
+
+ tokens = line.strip().split()
+ if len(tokens) == 0:
+ pass
+ elif len(tokens) < 6:
+ raise InputError('Error(' + g_program_name + '): The following line from\n'
+ ' "\"' + data_impropers + '.template\" has bad format:\n\n'
+ + line_orig + '\n'
+ ' This my probably an internal error. (Feel free to contact the developer.)\n'
+ + g_no_check_msg + '\n')
+ else:
+ defined_impropers.add(tokens[0])
+ f.close()
+ except:
+ # Defining impropers (stored in the data_impropers file) is optional
+ pass
+
+ # ---- Check ttree_assignments to make sure variables are defined ----
+
+ try:
+ f = open(ttree_assignments_fname, 'r')
+ except:
+ raise InputError('Error(' + g_program_name + '): Unable to open file\n' +
+ '\"' + ttree_assignments_fname + '\"\n'
+ ' for reading. (Do your files lack a \"' +
+ data_atoms + '\" section?)\n'
+ + g_no_check_msg + '\n')
+
+ for line_orig in f:
+
+ ic = line_orig.find('#')
+ if ic != -1:
+ line = line_orig[:ic]
+ usage_location_str = 'near ' + line_orig[ic + 1:]
+ else:
+ line = line_orig.rstrip('\n')
+ usage_location_str = ''
+
+ tokens = line.strip().split()
+ if len(tokens) == 0:
+ pass
+ if len(tokens) > 0:
+ # This file contains a list of variables of the form:
+ #
+ # @/atom:MoleculeType1:C 1
+ # @/atom:MoleculeType1:H 2
+ # @/atom:MoleculeType2:N 3
+ # $/atom:molecule1:N1 1
+ # $/atom:molecule1:C1 2
+ # :
+ # $/atom:molecule1141:CH 13578
+ # $/atom:molecule1142:N3 13579
+ # :
+ # We only care about instance variables (which use the '$' prefix)
+ # Lines corresponding to static variables (which use the '@' prefix)
+ # are ignored during this pass.
+ i_prefix = tokens[0].find('$')
+ if i_prefix != -1:
+ descr_str = tokens[0][i_prefix + 1:]
+ cat_name = ExtractCatName(descr_str)
+
+ if ((cat_name == 'atom') and
+ (tokens[0] not in defined_atoms)):
+ raise InputError('Error(' + g_program_name + '): ' + usage_location_str + '\n' +
+ ' Reference to undefined $atom:\n\n'
+ ' ' + tokens[0] + ' (<--full name)\n\n' +
+ ' (If that atom belongs to a molecule (or other subunit), make sure that\n' +
+ ' you specified the correct path which leads to it (using / and ..))\n\n' +
+ g_no_check_msg)
+
+ elif ((cat_name == 'bond') and
+ (tokens[0] not in defined_bonds)):
+ raise InputError('Error(' + g_program_name + '): ' + usage_location_str + '\n' +
+ ' Reference to undefined $bond:\n\n'
+ ' ' + tokens[0] + ' (<--full name)\n\n' +
+ ' (If that bond belongs to a molecule (or other subunit), make sure that\n' +
+ ' you specified the correct path which leads to it (using / and ..))\n\n' +
+ g_no_check_msg)
+
+ elif ((cat_name == 'angle') and
+ (tokens[0] not in defined_angles)):
+ raise InputError('Error(' + g_program_name + '): ' + usage_location_str + '\n' +
+ ' Reference to undefined $angle:\n\n' +
+ ' ' + tokens[0] + ' (<--full name)\n\n' +
+ ' (If that angle belongs to a molecule (or other subunit), make sure that\n' +
+ ' you specified the correct path which leads to it (using / and ..))\n\n' +
+ g_no_check_msg)
+
+ elif ((cat_name == 'dihedral') and
+ (tokens[0] not in defined_dihedrals)):
+ raise InputError('Error(' + g_program_name + '): ' + usage_location_str + '\n\n' +
+ ' Reference to undefined $dihedral:\n\n'
+ ' ' + tokens[0] + ' (<--full name)\n\n' +
+ ' (If that dihedral belongs to a molecule (or other subunit), make sure that\n' +
+ ' you specified the correct path which leads to it (using / and ..))\n\n' +
+ g_no_check_msg)
+
+ elif ((cat_name == 'improper') and
+ (tokens[0] not in defined_impropers)):
+ raise InputError('Error(' + g_program_name + '): ' + usage_location_str + '\n' +
+ ' Reference to undefined $improper:\n\n'
+ ' ' + tokens[0] + ' (<--full name)\n\n' +
+ ' (If that improper belongs to a molecule (or other subunit), make sure that\n' +
+ ' you specified the correct path which leads to it (using / and ..))\n\n' +
+ g_no_check_msg)
+
+ # I used to generate an error when a users defines a $mol
+ # variable but does not associate any atoms with it (or if the
+ # user systematically deletes all the atoms in that molecule),
+ # but I stopped this practice.
+ # I don't think there is any real need to complain if some
+ # molecule id numbers are undefined. LAMMPS does not care.
+ #
+ # elif ((cat_name == 'mol') and
+ # (tokens[0] not in defined_mols)):
+ # raise InputError('Error('+g_program_name+'): '+usage_location_str+'\n'+
+ # ' Reference to undefined $mol (molecule-ID) variable:\n\n'
+ # ' '+tokens[0]+' (<--full name)\n\n'+
+ # ' (If that molecule is part of a larger molecule, then make sure that\n'+
+ # ' you specified the correct path which leads to it (using / and ..))\n\n'+
+ # g_no_check_msg)
+
+ f.close()
+
+ sys.stderr.write(g_program_name + ': -- No errors detected. --\n')
+ exit(0)
+
+
+ except (ValueError, InputError) as err:
+ sys.stderr.write('\n' + str(err) + '\n')
+ sys.exit(1)
+
+ return
+
+if __name__ == '__main__':
+ main()
diff --git a/tools/moltemplate/moltemplate/lttree_styles.py b/tools/moltemplate/moltemplate/lttree_styles.py
new file mode 100644
index 000000000..adeb1de74
--- /dev/null
+++ b/tools/moltemplate/moltemplate/lttree_styles.py
@@ -0,0 +1,248 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+# Author: Andrew Jewett (jewett.aij at g mail)
+# http://www.chem.ucsb.edu/~sheagroup
+# License: 3-clause BSD License (See LICENSE.TXT)
+# Copyright (c) 2012, Regents of the University of California
+# All rights reserved.
+
+try:
+ from .ttree_lex import InputError
+except (SystemError, ValueError):
+ # not installed as a package
+ from ttree_lex import InputError
+
+# Users of lttree typically generate the following files:
+# The variable below refer to file names generated by
+# write() and write_once() commands in a lttree-file.
+# (I keep changing my mind what I want these names to be.)
+data_prefix = "Data "
+data_prefix_no_space = "Data"
+data_atoms = "Data Atoms"
+data_masses = "Data Masses"
+data_velocities = "Data Velocities"
+data_bonds = "Data Bonds"
+data_bond_list = "Data Bond List"
+data_angles = "Data Angles"
+data_dihedrals = "Data Dihedrals"
+data_impropers = "Data Impropers"
+data_bond_coeffs = "Data Bond Coeffs"
+data_angle_coeffs = "Data Angle Coeffs"
+data_dihedral_coeffs = "Data Dihedral Coeffs"
+data_improper_coeffs = "Data Improper Coeffs"
+data_pair_coeffs = "Data Pair Coeffs"
+
+# interactions-by-type (not id. This is not part of the LAMMPS standard.)
+data_bonds_by_type = "Data Bonds By Type"
+data_angles_by_type = "Data Angles By Type"
+data_dihedrals_by_type = "Data Dihedrals By Type"
+data_impropers_by_type = "Data Impropers By Type"
+
+# class2 data sections
+data_bondbond_coeffs = "Data BondBond Coeffs"
+data_bondangle_coeffs = "Data BondAngle Coeffs"
+data_middlebondtorsion_coeffs = "Data MiddleBondTorsion Coeffs"
+data_endbondtorsion_coeffs = "Data EndBondTorsion Coeffs"
+data_angletorsion_coeffs = "Data AngleTorsion Coeffs"
+data_angleangletorsion_coeffs = "Data AngleAngleTorsion Coeffs"
+data_bondbond13_coeffs = "Data BondBond13 Coeffs"
+data_angleangle_coeffs = "Data AngleAngle Coeffs"
+
+# sections for non-point-like particles:
+data_ellipsoids = "Data Ellipsoids"
+data_lines = "Data Lines"
+data_triangles = "Data Triangles"
+
+# periodic boundary conditions
+data_boundary = "Data Boundary"
+# (for backward compatibility), an older version of this file was named:
+data_pbc = "Data PBC"
+
+# The files are fragments of a LAMMPS data file (see "read_data").
+# In addition, moltemplate may also generate the following files:
+in_prefix = "In "
+in_prefix_no_space = "In"
+in_init = "In Init"
+in_settings = "In Settings"
+in_coords = "In Coords"
+# These files represent different sections of the LAMMPS input script.
+
+
+# Atom Styles in LAMMPS as of 2011-7-29
+g_style_map = {'angle': ['atom-ID', 'molecule-ID', 'atom-type', 'x', 'y', 'z'],
+ 'atomic': ['atom-ID', 'atom-type', 'x', 'y', 'z'],
+ 'body': ['atom-ID', 'atom-type', 'bodyflag', 'mass', 'x', 'y', 'z'],
+ 'bond': ['atom-ID', 'molecule-ID', 'atom-type', 'x', 'y', 'z'],
+ 'charge': ['atom-ID', 'atom-type', 'q', 'x', 'y', 'z'],
+ 'dipole': ['atom-ID', 'atom-type', 'q', 'x', 'y', 'z', 'mux', 'muy', 'muz'],
+ 'dpd': ['atom-ID', 'atom-type', 'theta', 'x', 'y', 'z'],
+ 'electron': ['atom-ID', 'atom-type', 'q', 'spin', 'eradius', 'x', 'y', 'z'],
+ 'ellipsoid': ['atom-ID', 'atom-type', 'x', 'y', 'z', 'quatw', 'quati', 'quatj', 'quatk'],
+ 'full': ['atom-ID', 'molecule-ID', 'atom-type', 'q', 'x', 'y', 'z'],
+ 'line': ['atom-ID', 'molecule-ID', 'atom-type', 'lineflag', 'density', 'x', 'y', 'z'],
+ 'meso': ['atom-ID', 'atom-type', 'rho', 'e', 'cv', 'x', 'y', 'z'],
+ 'molecular': ['atom-ID', 'molecule-ID', 'atom-type', 'x', 'y', 'z'],
+ 'peri': ['atom-ID', 'atom-type', 'volume', 'density', 'x', 'y', 'z'],
+ 'smd': ['atom-ID', 'atom-type', 'molecule-ID' 'volume', 'mass', 'kernel-radius', 'contact-radius', 'x', 'y', 'z'],
+ 'sphere': ['atom-ID', 'atom-type', 'diameter', 'density', 'x', 'y', 'z'],
+ 'template': ['atom-ID', 'molecule-ID', 'template-index', 'template-atom', 'atom-type', 'x', 'y', 'z'],
+ 'tri': ['atom-ID', 'molecule-ID', 'atom-type', 'triangleflag', 'density', 'x', 'y', 'z'],
+ 'wavepacket': ['atom-ID', 'atom-type', 'charge', 'spin', 'eradius', 'etag', 'cs_re', 'cs_im', 'x', 'y', 'z'],
+ 'hybrid': ['atom-ID', 'atom-type', 'x', 'y', 'z'],
+ # The following styles were removed from LAMMPS as of 2012-3
+ 'colloid': ['atom-ID', 'atom-type', 'x', 'y', 'z'],
+ 'granular': ['atom-ID', 'atom-type', 'diameter', 'density', 'x', 'y', 'z']}
+
+
+def AtomStyle2ColNames(atom_style_string):
+
+ atom_style_string = atom_style_string.strip()
+ if len(atom_style_string) == 0:
+ raise InputError('Error: Invalid atom_style\n'
+ ' (The atom_style command was followed by an empty string.)\n')
+ atom_style_args = atom_style_string.split()
+ atom_style = atom_style_args[0]
+
+ hybrid_args = atom_style_args[1:]
+ if (atom_style not in g_style_map):
+ if (len(atom_style_args) >= 2):
+ # If the atom_style_string includes at least 2 words, then we
+ # interpret this as a list of the individual column names
+ return atom_style_args
+ else:
+ raise InputError(
+ 'Error: Unrecognized atom_style: \"' + atom_style + '\"\n')
+
+ if (atom_style != 'hybrid'):
+ return g_style_map[atom_style]
+ else:
+ column_names = ['atom-ID', 'atom-type', 'x', 'y', 'z']
+ if (len(hybrid_args) == 0):
+ raise InputError(
+ 'Error: atom_style hybrid must be followed by a sub_style.\n')
+ for sub_style in hybrid_args:
+ if (sub_style not in g_style_map):
+ raise InputError(
+ 'Error: Unrecognized atom_style: \"' + sub_style + '\"\n')
+ for cname in g_style_map[sub_style]:
+ if cname not in column_names:
+ column_names.append(cname)
+
+ return column_names
+
+
+def ColNames2AidAtypeMolid(column_names):
+ # Because of the diversity of ways that these
+ # numbers are referred to in the LAMMPS documentation,
+ # we have to be flexible and allow the user to refer
+ # to these quantities in a variety of ways.
+ # Hopefully this covers everything:
+
+ if 'atom-ID' in column_names:
+ i_atomid = column_names.index('atom-ID')
+ elif 'atom−ID' in column_names: # (− is the character used in the manual)
+ i_atomid = column_names.index('atom−ID')
+ elif 'atomID' in column_names:
+ i_atomid = column_names.index('atomID')
+ elif 'atomid' in column_names:
+ i_atomid = column_names.index('atomid')
+ elif 'id' in column_names:
+ i_atomid = column_names.index('id')
+ elif 'atom' in column_names:
+ i_atomid = column_names.index('atom')
+ elif '$atom' in column_names:
+ i_atomid = column_names.index('$atom')
+ else:
+ raise InputError('Error: List of column names lacks an \"atom-ID\"\n')
+
+ if 'atom-type' in column_names:
+ i_atomtype = column_names.index('atom-type')
+ elif 'atom−type' in column_names: # (− hyphen character used in manual)
+ i_atomtype = column_names.index('atom−type')
+ elif 'atomtype' in column_names:
+ i_atomtype = column_names.index('atomtype')
+ elif 'type' in column_names:
+ i_atomtype = column_names.index('type')
+ elif '@atom' in column_names:
+ i_atomtype = column_names.index('@atom')
+ else:
+ raise InputError(
+ 'Error: List of column names lacks an \"atom-type\"\n')
+
+ i_molid = None
+ if 'molecule-ID' in column_names:
+ i_molid = column_names.index('molecule-ID')
+ elif 'molecule−ID' in column_names: # (− hyphen character used in manual)
+ i_molid = column_names.index('molecule−ID')
+ elif 'moleculeID' in column_names:
+ i_molid = column_names.index('moleculeID')
+ elif 'moleculeid' in column_names:
+ i_molid = column_names.index('moleculeid')
+ elif 'molecule' in column_names:
+ i_molid = column_names.index('molecule')
+ elif 'molID' in column_names:
+ i_molid = column_names.index('molID')
+ elif 'molid' in column_names:
+ i_molid = column_names.index('molid')
+ elif 'mol' in column_names:
+ i_molid = column_names.index('mol')
+ elif '$mol' in column_names:
+ i_molid = column_names.index('$mol')
+ else:
+ pass # some atom_types do not have a valid molecule-ID
+
+ return i_atomid, i_atomtype, i_molid
+
+
+def ColNames2Coords(column_names):
+ """ Which of the columns correspond to coordinates
+ which must be transformed using rigid-body
+ (affine: rotation + translation) transformations?
+ This function outputs a list of lists of triplets of integers.
+
+ """
+ i_x = None
+ i_y = None
+ i_z = None
+ if 'x' in column_names:
+ i_x = column_names.index('x')
+ if 'y' in column_names:
+ i_y = column_names.index('y')
+ if 'z' in column_names:
+ i_z = column_names.index('z')
+ if (((i_x != None) != (i_y != None)) or
+ ((i_y != None) != (i_z != None)) or
+ ((i_z != None) != (i_x != None))):
+ raise InputError(
+ 'Error: custom atom_style list must define x, y, and z.\n')
+ return [[i_x, i_y, i_z]]
+
+
+def ColNames2Vects(column_names):
+ """ Which of the columns correspond to coordinates
+ which must be transformed using rotations?
+ Some coordinates like dipole moments and
+ ellipsoid orientations should only be rotated
+ (not translated).
+ This function outputs a list of lists of triplets of integers.
+
+ """
+ vects = []
+ i_mux = None
+ i_muy = None
+ i_muz = None
+ if 'mux' in column_names:
+ i_mux = column_names.index('mux')
+ if 'muy' in column_names:
+ i_muy = column_names.index('muy')
+ if 'muz' in column_names:
+ i_muz = column_names.index('muz')
+ if (((i_mux != None) != (i_muy != None)) or
+ ((i_muy != None) != (i_muz != None)) or
+ ((i_muz != None) != (i_mux != None))):
+ raise InputError(
+ 'Error: custom atom_style list must define mux, muy, and muz or none.\n')
+ if i_mux != None:
+ vects.append([i_mux, i_muy, i_muz])
+ return vects
diff --git a/tools/moltemplate/moltemplate/nbody_Angles.py b/tools/moltemplate/moltemplate/nbody_Angles.py
new file mode 100644
index 000000000..e6b2fbff1
--- /dev/null
+++ b/tools/moltemplate/moltemplate/nbody_Angles.py
@@ -0,0 +1,57 @@
+try:
+ from .nbody_graph_search import Ugraph
+except (SystemError, ValueError):
+ # not installed as a package
+ from nbody_graph_search import Ugraph
+
+
+# This file defines how 3-body angle interactions are generated by moltemplate
+# by default. It can be overridden by supplying your own custom file.
+
+# To find 3-body "angle" interactions, we would use this subgraph:
+#
+#
+# *---*---* => 1st bond connects atoms 0 and 1
+# 0 1 2 2nd bond connects atoms 1 and 2
+#
+
+bond_pattern = Ugraph([(0, 1), (1, 2)])
+# (Ugraph atom indices begin at 0, not 1)
+
+
+# The next function eliminates the redundancy between 0-1-2 and 2-1-0:
+def canonical_order(match):
+ """
+ Before defining a new interaction, we must check to see if an
+ interaction between these same 3 atoms has already been created
+ (perhaps listed in a different, but equivalent order).
+ If we don't check for this this, we will create many unnecessary redundant
+ interactions (which can slow down he simulation).
+ To avoid this, I define a "canonical_order" function which sorts the atoms
+ and bonds in a way which is consistent with the symmetry of the interaction
+ being generated... Later the re-ordered list of atom and bond ids will be
+ tested against the list of atom/bond ids in the matches-found-so-far,
+ before it is added to the list of interactions found so far. Note that
+ the energy of an angle interaction is a function of the angle between.
+ three consecutively bonded atoms (referred to here as: 0,1,2).
+ This angle does not change when swapping the atoms at either end (0 and 2).
+ So it does not make sense to define a separate 3-body angle
+ interaction between atoms 0,1,2 AS WELL AS an interaction between 2,1,0.
+ So we sort the atoms and bonds so that the first atom has a always has
+ a lower atomID than the third atom. (Later we will check to see if we
+ have already defined an interaction between these 3 atoms. If not then
+ we create a new one.)
+
+ """
+ # match[0][0:2] contains the ID numbers for the 3 atoms in the match
+ atom0 = match[0][0]
+ atom1 = match[0][1]
+ atom2 = match[0][2]
+ # match[1][0:1] contains the ID numbers for the 2 bonds
+ bond0 = match[1][0]
+ bond1 = match[1][1]
+ if atom0 < atom2:
+ # return ((atom0, atom1, atom2), (bond0, bond1)) same thing as:
+ return match
+ else:
+ return ((atom2, atom1, atom0), (bond1, bond0))
diff --git a/tools/moltemplate/moltemplate/nbody_Bonds.py b/tools/moltemplate/moltemplate/nbody_Bonds.py
new file mode 100644
index 000000000..c11c3e60e
--- /dev/null
+++ b/tools/moltemplate/moltemplate/nbody_Bonds.py
@@ -0,0 +1,35 @@
+try:
+ from .nbody_graph_search import Ugraph
+except (SystemError, ValueError):
+ # not installed as a package
+ from nbody_graph_search import Ugraph
+
+# To find 2-body "bond" interactions, we would use this subgraph:
+#
+#
+# *---* => one bond connects atoms 0 and 1
+# 0 1
+#
+
+bond_pattern = Ugraph([(0, 1)])
+# (Ugraph atom indices begin at 0, not 1)
+
+
+# The next function eliminates the redundancy between 0-1 and 1-0:
+def canonical_order(match):
+ """
+ It does not make sense to define a separate bond between atoms 1 and 2,
+ and between atoms 2 and 1. This function will swap the atoms in the bond
+ if the first atom > second atom.
+
+ """
+ # match[0][0:2] contains the ID numbers for the 2 atoms in the match
+ atom0 = match[0][0]
+ atom1 = match[0][1]
+ # match[1][0:1] contains the ID numbers for the 1 bond
+ bond0 = match[1][0]
+ if atom0 < atom1:
+ # return ((atom0, atom1), (bond0)) same thing as:
+ return match
+ else:
+ return ((atom1, atom0), (bond0))
diff --git a/tools/moltemplate/moltemplate/nbody_Dihedrals.py b/tools/moltemplate/moltemplate/nbody_Dihedrals.py
new file mode 100644
index 000000000..9197db914
--- /dev/null
+++ b/tools/moltemplate/moltemplate/nbody_Dihedrals.py
@@ -0,0 +1,58 @@
+try:
+ from .nbody_graph_search import Ugraph
+except (SystemError, ValueError):
+ # not installed as a package
+ from nbody_graph_search import Ugraph
+
+# This file defines how dihedral interactions are generated by moltemplate.sh
+# by default. It can be overridden by supplying your own custom file.
+
+# To find 4-body "dihedral" interactions, we would use this subgraph:
+#
+# 1st bond connects atoms 0 and 1
+# *---*---*---* => 2nd bond connects atoms 1 and 2
+# 0 1 2 3 3rd bond connects atoms 2 and 3
+#
+
+bond_pattern = Ugraph([(0, 1), (1, 2), (2, 3)])
+# (Ugraph atom indices begin at 0, not 1)
+
+
+def canonical_order(match):
+ """
+ Before defining a new interaction, we must check to see if an
+ interaction between these same 4 atoms has already been created
+ (perhaps listed in a different, but equivalent order).
+ If we don't check for this this, we will create many unnecessary redundant
+ interactions (which can slow down he simulation).
+ To avoid this, I define a "canonical_order" function which sorts the atoms
+ and bonds in a way which is consistent with the symmetry of the interaction
+ being generated... Later the re-ordered list of atom and bond ids will be
+ tested against the list of atom/bond ids in the matches-found-so-far,
+ before it is added to the list of interactions found so far. Note that
+ the energy of a dihedral interaction is a function of the dihedral-angle.
+ The dihedral-angle is usually defined as the angle between planes formed
+ by atoms 0,1,2 & 1,2,3. This angle does not change when reversing the
+ order of the atoms. So it does not make sense to define a separate
+ dihedral interaction between atoms 0,1,2,3 AS WELL AS between 3,2,1,0.
+ So we sort the atoms so that the first atom has a lower atomID than the
+ last atom. (Later we will check to see if we have already defined an
+ interaction between these 4 atoms. If not then we create a new one.)
+
+ """
+
+ # match[0][0:3] contains the ID numbers of the 4 atoms in the match
+ atom0 = match[0][0]
+ atom1 = match[0][1]
+ atom2 = match[0][2]
+ atom3 = match[0][3]
+ # match[1][0:2] contains the ID numbers of the the 3 bonds
+ bond0 = match[1][0]
+ bond1 = match[1][1]
+ bond2 = match[1][2]
+ if atom0 < atom3:
+ # return ((atom0, atom1, atom2, atom3), (bond0, bond1, bond2)) same
+ # as:
+ return match
+ else:
+ return ((atom3, atom2, atom1, atom0), (bond2, bond1, bond0))
diff --git a/tools/moltemplate/moltemplate/nbody_Impropers.py b/tools/moltemplate/moltemplate/nbody_Impropers.py
new file mode 100644
index 000000000..6b48d9aa1
--- /dev/null
+++ b/tools/moltemplate/moltemplate/nbody_Impropers.py
@@ -0,0 +1,66 @@
+try:
+ from .nbody_graph_search import Ugraph
+except (SystemError, ValueError):
+ # not installed as a package
+ from nbody_graph_search import Ugraph
+
+# This file defines how improper interactions are generated by moltemplate.sh
+# by default. It can be overridden by supplying your own custom file
+# (for example, see "opls_imp.py")
+
+# To find 4-body "improper" interactions,
+# (by default, most of the time), we would use this subgraph:
+# 3
+# * 1st bond connects atoms 0 and 1
+# | => 2nd bond connects atoms 0 and 2
+# _.*._ 3rd bond connects atoms 0 and 3
+# *' 0 `*
+# 1 2
+#
+
+bond_pattern = Ugraph([(0, 1), (0, 2), (0, 3)])
+# (Ugraph atom indices begin at 0, not 1)
+
+
+def canonical_order(match):
+ """
+ Before defining a new interaction, we must check to see if an
+ interaction between these same 4 atoms has already been created
+ (perhaps listed in a different, but equivalent order).
+ If we don't check for this this, we will create many unnecessary redundant
+ interactions (which can slow down he simulation).
+ To avoid this, I define a "canonical_order" function which sorts the atoms
+ and bonds in a way which is consistent with the symmetry of the interaction
+ being generated... Later the re-ordered list of atom and bond ids will be
+ tested against the list of atom/bond ids in the matches-found-so-far,
+ before it is added to the list of interactions found so far. Note that
+ the energy of an improper interactions is a function of the improper angle.
+ The improper-angle is usually defined as the angle between planes formed
+ by atoms 0,1,2 & 1,2,3. (Alternately, it is sometimes defined as the
+ angle between the 0,1,2 plane and atom 3.)
+ This angle does not change when swapping the MIDDLE pair of atoms (1 and 2)
+ (except for a change of sign, which does not matter since the energy functions
+ used are typically sign invariant. Furthermore, neither of MIDDLE pair of atoms
+ are the central atom, and there are 3!=6 ways of ordering the remaining 3 atoms.)
+ Consequently it does not make sense to define a separate 4-body improper
+ interaction between atoms 0,1,2,3 AS WELL AS between 0,2,1,3.
+ So we sort the atoms and bonds so that the second atom has a always has
+ a lower atomID than the third atom. (Later we will check to see if we
+ have already defined an interaction between these 4 atoms. If not then
+ we create a new one.)
+
+ """
+ atom0 = match[0][0]
+ atom1 = match[0][1]
+ atom2 = match[0][2]
+ atom3 = match[0][3]
+ # match[1][0:2] contains the ID numbers for the 3 bonds
+ bond0 = match[1][0]
+ bond1 = match[1][1]
+ bond2 = match[1][2]
+ if atom1 <= atom2:
+ # return ((atom0,atom1,atom2,atom3), (bond0,bond1,bond2))
+ # But this is the same thing as:
+ return match
+ else:
+ return ((atom0, atom2, atom1, atom3), (bond1, bond0, bond2))
diff --git a/tools/moltemplate/moltemplate/nbody_alt_symmetry/__init__.py b/tools/moltemplate/moltemplate/nbody_alt_symmetry/__init__.py
new file mode 100644
index 000000000..e69de29bb
diff --git a/tools/moltemplate/moltemplate/nbody_alt_symmetry/angles_nosym.py b/tools/moltemplate/moltemplate/nbody_alt_symmetry/angles_nosym.py
new file mode 100644
index 000000000..8241102a0
--- /dev/null
+++ b/tools/moltemplate/moltemplate/nbody_alt_symmetry/angles_nosym.py
@@ -0,0 +1,41 @@
+try:
+ from .nbody_graph_search import Ugraph
+except (SystemError, ValueError):
+ # not installed as a package
+ from nbody_graph_search import Ugraph
+
+
+# This file defines how 3-body angle interactions are generated by moltemplate
+# by default. It can be overridden by supplying your own custom file.
+
+# To find 3-body "angle" interactions, we would use this subgraph:
+#
+#
+# *---*---* => 1st bond connects atoms 0 and 1
+# 0 1 2 2nd bond connects atoms 1 and 2
+#
+
+bond_pattern = Ugraph([(0, 1), (1, 2)])
+# (Ugraph atom indices begin at 0, not 1)
+
+
+# The next function eliminates the redundancy between 0-1-2 and 2-1-0:
+def canonical_order(match):
+ """
+ When searching for atoms with matching bond patterns GraphMatcher
+ often returns redundant results. We must define a "canonical_order"
+ function which sorts the atoms and bonds in a way which is consistent
+ with the type of N-body interaction being considered.
+ However, some angle_styles (such as angle_style class2)
+ have no symmetry (at least not for arbitrary choices of parameters).
+ These force-field styles, the different permulations of atom-order
+ are not equivalent. So we do not want to rearrange the order of
+ the atoms (and bonds) in the match, because the formula for the
+ interaction between atoms 1,2,3 is not the same as the formula
+ for the interaction between atoms 3,2,1.
+ In this case, this function returns
+ the original "match" argument unmodified.
+
+ """
+
+ return match
diff --git a/tools/moltemplate/moltemplate/nbody_alt_symmetry/bonds_nosym.py b/tools/moltemplate/moltemplate/nbody_alt_symmetry/bonds_nosym.py
new file mode 100644
index 000000000..ad8914cf8
--- /dev/null
+++ b/tools/moltemplate/moltemplate/nbody_alt_symmetry/bonds_nosym.py
@@ -0,0 +1,32 @@
+try:
+ from .nbody_graph_search import Ugraph
+except (SystemError, ValueError):
+ # not installed as a package
+ from nbody_graph_search import Ugraph
+
+
+# To find 2-body "bond" interactions, we would use this subgraph:
+#
+#
+# *---* => one bond connects atoms 0 and 1
+# 0 1
+#
+
+bond_pattern = Ugraph([(0, 1)])
+# (Ugraph atom indices begin at 0, not 1)
+
+
+# The next function eliminates the redundancy between 0-1-2 and 2-1-0:
+def canonical_order(match):
+ """
+ When searching for atoms with matching bond patterns GraphMatcher
+ often returns redundant results. We must define a "canonical_order"
+ function which sorts the atoms and bonds in a way which is consistent
+ with the type of N-body interaction being considered.
+ However, occasionally we DON'T want to modify the atom order.
+ In this case, this function returns
+ the original "match" argument unmodified.
+
+ """
+
+ return match
diff --git a/tools/moltemplate/moltemplate/nbody_alt_symmetry/cenIsortJKL.py b/tools/moltemplate/moltemplate/nbody_alt_symmetry/cenIsortJKL.py
new file mode 100644
index 000000000..ded4b984a
--- /dev/null
+++ b/tools/moltemplate/moltemplate/nbody_alt_symmetry/cenIsortJKL.py
@@ -0,0 +1,44 @@
+try:
+ from ..nbody_graph_search import Ugraph
+except:
+ # not installed as a module
+ from nbody_graph_search import Ugraph
+
+# To find 4-body "improper" interactions, we would use this subgraph:
+# 3
+# * 1st bond connects atoms 0 and 1
+# | => 2nd bond connects atoms 0 and 2
+# _.*._ 3rd bond connects atoms 0 and 3
+# *' 0 `*
+# 1 2
+#
+
+bond_pattern = Ugraph([(0,1), (0,2), (0,3)])
+# (Note: Ugraph atom-index counters begin at 0, not 1)
+
+
+def canonical_order(match):
+ """
+ When searching for atoms with matching bond patterns GraphMatcher
+ often returns redundant results. We must define a "canonical_order"
+ function which sorts the atoms and bonds in a way which is consistent
+ with the type of N-body interaction being considered.
+ The atoms (and bonds) in a candidate match are rearranged by the
+ canonical_order(). Then the re-ordered list of atom and bond ids is
+ tested against the list of atom/bond ids in the matches-found-so-far,
+ before it is added to the list of interactions found so far. In this
+ case we assume the second atom is the central atom (the "hub"), and the
+ energy is invariant with respect to permutations of the other 3 atoms.
+ So we arbitrarily sort these other 3 atoms in increasing order
+ (as well as the bonds which connect the central atom to them).
+
+ """
+ atom0 = match[0][0]
+ atom1 = match[0][1]
+ atom2 = match[0][2]
+ atom3 = match[0][3]
+ bonds = match[1]
+ ab=[(atom1,0), (atom2,1), (atom3,2)]
+ ab.sort()
+ return ((atom0, ab[0][0], ab[1][0], ab[2][0]),
+ (bonds[ab[0][1]], bonds[ab[1][1]], bonds[ab[2][1]]))
diff --git a/tools/moltemplate/moltemplate/nbody_alt_symmetry/cenIswapJK.py b/tools/moltemplate/moltemplate/nbody_alt_symmetry/cenIswapJK.py
new file mode 100644
index 000000000..d4b7d22b2
--- /dev/null
+++ b/tools/moltemplate/moltemplate/nbody_alt_symmetry/cenIswapJK.py
@@ -0,0 +1,61 @@
+try:
+ from ..nbody_graph_search import Ugraph
+except:
+ # not installed as a module
+ from nbody_graph_search import Ugraph
+
+# To find 4-body "improper" interactions,
+# (by default, most of the time), we would use this subgraph:
+# 3
+# * 1st bond connects atoms 0 and 1
+# | => 2nd bond connects atoms 0 and 2
+# _.*._ 3rd bond connects atoms 0 and 3
+# *' 0 `*
+# 1 2
+#
+
+bond_pattern = Ugraph([(0,1), (0,2), (0,3)])
+# (Ugraph atom indices begin at 0, not 1)
+
+
+def canonical_order(match):
+ """
+ When searching for atoms with matching bond patterns GraphMatcher
+ often returns redundant results. We must define a "canonical_order"
+ function which sorts the atoms and bonds in a way which is consistent
+ with the type of N-body interaction being considered.
+ The atoms (and bonds) in a candidate match are rearranged by the
+ canonical_order(). Then the re-ordered list of atom and bond ids is
+ tested against the list of atom/bond ids in the matches-found-so-far,
+ before it is added to the list of interactions found so far.
+ (For example, it does not make sense to define a separate 4-body improper-
+ angle interaction between atoms 0, 1, 2, 3 AND 0, 2, 1, 3.
+ The "improper angle" is often defined as the angle between planes formed
+ by atoms 0,1,2 & 1,2,3. Alternately, it may instead be defined as the
+ angle between the 0,1,2 plane and atom 3. Either way, this angle does
+ not change when swapping the middle pair of atoms (1 and 2)
+ (except for a change of sign, which does not matter since the energy functions
+ used are typically sign invariant. Furthermore, neither of OUTER pair of atoms
+ are the central atom. There are 3!=6 ways of ordering the remaining 3 atoms.)
+ Consequently it does not make sense to define a separate 4-body improper-
+ interaction between atoms 0,1,2,3 AS WELL AS between 0,2,1,3.
+ So we sort the atoms and bonds so that the first atom has a always has
+ a lower atomID than the last atom. (Later we will check to see if we
+ have already defined an interaction between these 4 atoms. If not then
+ we create a new one.)
+
+ """
+ atom0 = match[0][0]
+ atom1 = match[0][1]
+ atom2 = match[0][2]
+ atom3 = match[0][3]
+ # match[1][0:2] contains the ID numbers for the 3 bonds
+ bond0 = match[1][0]
+ bond1 = match[1][1]
+ bond2 = match[1][2]
+ if atom1 <= atom2:
+ #return ((atom0,atom1,atom2,atom3), (bond0, bond1, bond2))
+ # But this is the same thing as:
+ return match
+ else:
+ return ((atom0,atom2,atom1,atom3), (bond1, bond0, bond2))
diff --git a/tools/moltemplate/moltemplate/nbody_alt_symmetry/cenJsortIKL.py b/tools/moltemplate/moltemplate/nbody_alt_symmetry/cenJsortIKL.py
new file mode 100644
index 000000000..e17e3d76a
--- /dev/null
+++ b/tools/moltemplate/moltemplate/nbody_alt_symmetry/cenJsortIKL.py
@@ -0,0 +1,44 @@
+try:
+ from ..nbody_graph_search import Ugraph
+except:
+ # not installed as a module
+ from nbody_graph_search import Ugraph
+
+# To find 4-body "improper" interactions, we would use this subgraph:
+# 3
+# * 1st bond connects atoms 1 and 0
+# | => 2nd bond connects atoms 1 and 2
+# _.*._ 3rd bond connects atoms 1 and 3
+# *' 1 `*
+# 0 2
+#
+
+bond_pattern = Ugraph([(1,0), (1,2), (1,3)])
+# (Note: Ugraph atom-index counters begin at 0, not 1)
+
+
+def canonical_order(match):
+ """
+ When searching for atoms with matching bond patterns GraphMatcher
+ often returns redundant results. We must define a "canonical_order"
+ function which sorts the atoms and bonds in a way which is consistent
+ with the type of N-body interaction being considered.
+ The atoms (and bonds) in a candidate match are rearranged by the
+ canonical_order(). Then the re-ordered list of atom and bond ids is
+ tested against the list of atom/bond ids in the matches-found-so-far,
+ before it is added to the list of interactions found so far. In this
+ case we assume the second atom is the central atom (the "hub"), and the
+ energy is invariant with respect to permutations of the other 3 atoms.
+ So we arbitrarily sort these other 3 atoms in increasing order
+ (as well as the bonds which connect the central atom to them).
+
+ """
+ atom0 = match[0][0]
+ atom1 = match[0][1]
+ atom2 = match[0][2]
+ atom3 = match[0][3]
+ bonds = match[1]
+ ab=[(atom0,0), (atom2,1), (atom3,2)]
+ ab.sort()
+ return ((ab[0][0], atom1, ab[1][0], ab[2][0]),
+ (bonds[ab[0][1]], bonds[ab[1][1]], bonds[ab[2][1]]))
diff --git a/tools/moltemplate/moltemplate/nbody_alt_symmetry/cenJswapIL.py b/tools/moltemplate/moltemplate/nbody_alt_symmetry/cenJswapIL.py
new file mode 100644
index 000000000..b00a2afda
--- /dev/null
+++ b/tools/moltemplate/moltemplate/nbody_alt_symmetry/cenJswapIL.py
@@ -0,0 +1,68 @@
+try:
+ from ..nbody_graph_search import Ugraph
+except:
+ # not installed as a module
+ from nbody_graph_search import Ugraph
+
+# To find 4-body "improper" interactions,
+# (by default, most of the time), we would use this subgraph:
+# 0
+# * 1st bond connects atoms 1 and 0
+# | => 2nd bond connects atoms 1 and 2
+# _.*._ 3rd bond connects atoms 1 and 3
+# *' 1 `*
+# 2 3
+#
+# In OPLS, the central atom is the second atom ("1").
+# This differs from other force-fields.
+# We take this detail into account in the line below:
+
+bond_pattern = Ugraph([(1,0), (1,2), (1,3)])
+
+# As with other force-fields, the improper-angle is the angle between the planes
+# defined by the first three atoms (0,1,2) and last three atoms (1,2,3).
+# (This is implemented in LAMMPS using an improper_style which requires
+# that the atoms in the interaction will be listed in this order: 0,1,2,3.)
+
+def canonical_order(match):
+ """
+ Before defining a new interaction, we must check to see if an
+ interaction between these same 4 atoms has already been created
+ (perhaps listed in a different, but equivalent order).
+ If we don't check for this this, we will create many unnecessary redundant
+ interactions (which can slow down he simulation).
+ To avoid this, I define a "canonical_order" function which sorts the atoms
+ and bonds in a way which is consistent with the symmetry of the interaction
+ being generated... Later the re-ordered list of atom and bond ids will be
+ tested against the list of atom/bond ids in the matches-found-so-far,
+ before it is added to the list of interactions found so far. Note that
+ the energy of an improper interactions is a function of the improper angle.
+ The "improper angle" is often defined as the angle between planes formed
+ by atoms 0,1,2 & 1,2,3. (Alternately, it is sometimes defined as the
+ angle between the 0,1,2 plane and atom 3.)
+ This angle does not change when swapping the OUTER pair of atoms (0 and 3)
+ (except for a change of sign, which does not matter since the energy functions
+ used are typically sign invariant. Furthermore, neither of OUTER pair of atoms
+ are the central atom. There are 3!=6 ways of ordering the remaining 3 atoms.)
+ Consequently it does not make sense to define a separate 4-body improper-
+ interaction between atoms 0,1,2,3 AS WELL AS between 3,1,2,0.
+ So we sort the atoms and bonds so that the first atom has a always has
+ a lower atomID than the last atom. (Later we will check to see if we
+ have already defined an interaction between these 4 atoms. If not then
+ we create a new one.)
+
+ """
+ atom0 = match[0][0]
+ atom1 = match[0][1]
+ atom2 = match[0][2]
+ atom3 = match[0][3]
+ # match[1][0:2] contains the ID numbers for the 3 bonds
+ bond0 = match[1][0]
+ bond1 = match[1][1]
+ bond2 = match[1][2]
+ if atom0 <= atom3:
+ #return ((atom0,atom1,atom2,atom3), (bond0, bond1, bond2))
+ # But this is the same thing as:
+ return match
+ else:
+ return ((atom3,atom1,atom2,atom0), (bond2,bond1,bond0))
diff --git a/tools/moltemplate/moltemplate/nbody_alt_symmetry/dihedrals_nosym.py b/tools/moltemplate/moltemplate/nbody_alt_symmetry/dihedrals_nosym.py
new file mode 100644
index 000000000..1873d0b46
--- /dev/null
+++ b/tools/moltemplate/moltemplate/nbody_alt_symmetry/dihedrals_nosym.py
@@ -0,0 +1,37 @@
+try:
+ from ..nbody_graph_search import Ugraph
+except:
+ # not installed as a module
+ from nbody_graph_search import Ugraph
+
+
+# To find 4-body "dihedral" interactions, we would use this subgraph:
+#
+# 1st bond connects atoms 0 and 1
+# *---*---*---* => 2nd bond connects atoms 1 and 2
+# 0 1 2 3 3rd bond connects atoms 2 and 3
+#
+
+bond_pattern = Ugraph([(0,1), (1,2), (2,3)])
+# (Ugraph atom indices begin at 0, not 1)
+
+
+def canonical_order(match):
+ """
+ When searching for atoms with matching bond patterns GraphMatcher
+ often returns redundant results. We must define a "canonical_order"
+ function which sorts the atoms and bonds in a way which is consistent
+ with the type of N-body interaction being considered.
+ However, some dihedral_styles (such as dihedral_style class2)
+ have no symmetry (at least not for arbitrary choices of parameters).
+ These force-field styles, the different permulations of atom-order
+ are not equivalent. So we do not want to rearrange the order of
+ the atoms (and bonds) in the match, because the formula for the
+ interaction between atoms 1,2,3,4 is not the same as the formula
+ for the interaction between atoms 4,3,2,1.
+ In this case, this function returns
+ the original "match" argument unmodified.
+
+ """
+
+ return match
diff --git a/tools/moltemplate/moltemplate/nbody_alt_symmetry/gaff_imp.py b/tools/moltemplate/moltemplate/nbody_alt_symmetry/gaff_imp.py
new file mode 100644
index 000000000..734ba1683
--- /dev/null
+++ b/tools/moltemplate/moltemplate/nbody_alt_symmetry/gaff_imp.py
@@ -0,0 +1,78 @@
+try:
+ from ..nbody_graph_search import Ugraph
+except:
+ # not installed as a module
+ from nbody_graph_search import Ugraph
+
+# This file defines how improper interactions are generated in AMBER (GAFF).
+# To use it, add "(gaff_imp.py)" to the name of the "Data Impropers By Type"
+# section, and make sure this file is located in the "common" directory.
+# For example:
+# write_once("Data Impropers By Type (gaff_imp.py)") {
+# ...
+# }
+
+
+# To find 4-body "improper" interactions,
+# (by default, most of the time), we would use this subgraph:
+# 0
+# * 1st bond connects atoms 2 and 0
+# | => 2nd bond connects atoms 2 and 1
+# _.*._ 3rd bond connects atoms 2 and 3
+# *' 2 `*
+# 1 3
+#
+# In AMBER/GAFF, the central atom is the third atom ("2").
+# http://archive.ambermd.org/201307/0519.html
+# This differs from other force-fields.
+# We take this detail into account in the line below:
+
+bond_pattern = Ugraph([(2,0), (2,1), (2,3)])
+
+# As with other force-fields, the improper-angle is the angle between the planes
+# defined by the first three atoms (0,1,2) and last three atoms (1,2,3).
+# (This is implemented in LAMMPS using an improper_style which requires
+# that the atoms in the interaction will be listed in this order: 0,1,2,3.)
+
+def canonical_order(match):
+ """
+ Before defining a new interaction, we must check to see if an
+ interaction between these same 4 atoms has already been created
+ (perhaps listed in a different, but equivalent order).
+ If we don't check for this this, we will create many unnecessary redundant
+ interactions (which can slow down he simulation).
+ To avoid this, I define a "canonical_order" function which sorts the atoms
+ and bonds in a way which is consistent with the symmetry of the interaction
+ being generated... Later the re-ordered list of atom and bond ids will be
+ tested against the list of atom/bond ids in the matches-found-so-far,
+ before it is added to the list of interactions found so far. Note that
+ the energy of an improper interactions is a function of the improper angle.
+ The "improper angle" is often defined as the angle between planes formed
+ by atoms 0,1,2 & 1,2,3. (Alternately, it is sometimes defined as the
+ angle between the 0,1,2 plane and atom 3.)
+ This angle does not change when swapping the OUTER pair of atoms (0 and 3)
+ (except for a change of sign, which does not matter since the energy functions
+ used are typically sign invariant. Furthermore, neither of OUTER pair of atoms
+ are the central atom. There are 3!=6 ways of ordering the remaining 3 atoms.)
+ Consequently it does not make sense to define a separate 4-body improper-
+ interaction between atoms 0,1,2,3 AS WELL AS between 3,1,2,0.
+ So we sort the atoms and bonds so that the first atom has a always has
+ a lower atomID than the last atom. (Later we will check to see if we
+ have already defined an interaction between these 4 atoms. If not then
+ we create a new one.)
+
+ """
+ atom0 = match[0][0]
+ atom1 = match[0][1]
+ atom2 = match[0][2]
+ atom3 = match[0][3]
+ # match[1][0:2] contains the ID numbers for the 3 bonds
+ bond0 = match[1][0]
+ bond1 = match[1][1]
+ bond2 = match[1][2]
+ if atom0 <= atom3:
+ #return ((atom0,atom1,atom2,atom3), (bond0, bond1, bond2))
+ # But this is the same thing as:
+ return match
+ else:
+ return ((atom3,atom1,atom2,atom0), (bond2,bond1,bond0))
diff --git a/tools/moltemplate/moltemplate/nbody_alt_symmetry/impropers_nosym.py b/tools/moltemplate/moltemplate/nbody_alt_symmetry/impropers_nosym.py
new file mode 100644
index 000000000..f56b0ef2b
--- /dev/null
+++ b/tools/moltemplate/moltemplate/nbody_alt_symmetry/impropers_nosym.py
@@ -0,0 +1,37 @@
+try:
+ from ..nbody_graph_search import Ugraph
+except:
+ # not installed as a module
+ from nbody_graph_search import Ugraph
+
+# To find 4-body "improper" interactions,
+# (by default, most of the time), we would use this subgraph:
+# 3
+# * 1st bond connects atoms 0 and 1
+# | => 2nd bond connects atoms 0 and 2
+# _.*._ 3rd bond connects atoms 0 and 3
+# *' 0 `*
+# 1 2
+#
+
+bond_pattern = Ugraph([(0,1), (0,2), (0,3)])
+# (Ugraph atom indices begin at 0, not 1)
+
+
+def canonical_order(match):
+ """
+ When searching for atoms with matching bond patterns GraphMatcher
+ often returns redundant results. We must define a "canonical_order"
+ function which sorts the atoms and bonds in a way which is consistent
+ with the type of N-body interaction being considered.
+ However, some improper_styles (such as improper_style class2)
+ have no symmetry (at least not for arbitrary choices of parameters).
+ These force-field styles, the different permulations of atom-order
+ are not equivalent. So we do not want to rearrange the order of
+ the atoms (and bonds) in the match, because the resulting interaction
+ is not equivalent. In this case, this function returns
+ the original "match" argument unmodified.
+
+ """
+
+ return match
diff --git a/tools/moltemplate/moltemplate/nbody_alt_symmetry/opls_imp.py b/tools/moltemplate/moltemplate/nbody_alt_symmetry/opls_imp.py
new file mode 100644
index 000000000..2b7e5c15d
--- /dev/null
+++ b/tools/moltemplate/moltemplate/nbody_alt_symmetry/opls_imp.py
@@ -0,0 +1,76 @@
+try:
+ from ..nbody_graph_search import Ugraph
+except:
+ # not installed as a module
+ from nbody_graph_search import Ugraph
+
+# This file defines how improper interactions are generated in OPLS.
+# To use it, add "(opls_imp.py)" to the name of the "Data Impropers By Type"
+# section, and make sure this file is located in the "common" directory.
+# For example:
+# write_once("Data Impropers By Type (opls_imp.py)") {
+# ...
+# }
+
+
+# To find 4-body "improper" interactions,
+# (by default, most of the time), we would use this subgraph:
+# 0
+# * 1st bond connects atoms 2 and 0
+# | => 2nd bond connects atoms 2 and 1
+# _.*._ 3rd bond connects atoms 2 and 3
+# *' 2 `*
+# 1 3
+#
+# In OPLS (as implemented in TINKER .PRM files), the central atom
+# is the third atom ("2").
+
+bond_pattern = Ugraph([(2,0), (2,1), (2,3)])
+
+# As with other force-fields, the improper-angle is the angle between the planes
+# defined by the first three atoms (0,1,2) and last three atoms (1,2,3).
+# (This is implemented in LAMMPS using an improper_style which requires
+# that the atoms in the interaction will be listed in this order: 0,1,2,3.)
+
+def canonical_order(match):
+ """
+ Before defining a new interaction, we must check to see if an
+ interaction between these same 4 atoms has already been created
+ (perhaps listed in a different, but equivalent order).
+ If we don't check for this this, we will create many unnecessary redundant
+ interactions (which can slow down he simulation).
+ To avoid this, I define a "canonical_order" function which sorts the atoms
+ and bonds in a way which is consistent with the symmetry of the interaction
+ being generated... Later the re-ordered list of atom and bond ids will be
+ tested against the list of atom/bond ids in the matches-found-so-far,
+ before it is added to the list of interactions found so far. Note that
+ the energy of an improper interactions is a function of the improper angle.
+ The "improper angle" is often defined as the angle between planes formed
+ by atoms 0,1,2 & 1,2,3. (Alternately, it is sometimes defined as the
+ angle between the 0,1,2 plane and atom 3.)
+ This angle does not change when swapping the OUTER pair of atoms (0 and 3)
+ (except for a change of sign, which does not matter since the energy functions
+ used are typically sign invariant. Furthermore, neither of OUTER pair of atoms
+ are the central atom. There are 3!=6 ways of ordering the remaining 3 atoms.)
+ Consequently it does not make sense to define a separate 4-body improper-
+ interaction between atoms 0,1,2,3 AS WELL AS between 3,1,2,0.
+ So we sort the atoms and bonds so that the first atom has a always has
+ a lower atomID than the last atom. (Later we will check to see if we
+ have already defined an interaction between these 4 atoms. If not then
+ we create a new one.)
+
+ """
+ atom0 = match[0][0]
+ atom1 = match[0][1]
+ atom2 = match[0][2]
+ atom3 = match[0][3]
+ # match[1][0:2] contains the ID numbers for the 3 bonds
+ bond0 = match[1][0]
+ bond1 = match[1][1]
+ bond2 = match[1][2]
+ if atom0 <= atom3:
+ #return ((atom0,atom1,atom2,atom3), (bond0, bond1, bond2))
+ # But this is the same thing as:
+ return match
+ else:
+ return ((atom3,atom1,atom2,atom0), (bond2,bond1,bond0))
diff --git a/tools/moltemplate/moltemplate/nbody_by_type.py b/tools/moltemplate/moltemplate/nbody_by_type.py
new file mode 100755
index 000000000..65b51064c
--- /dev/null
+++ b/tools/moltemplate/moltemplate/nbody_by_type.py
@@ -0,0 +1,694 @@
+#!/usr/bin/env python
+
+# Author: Andrew Jewett (jewett.aij at g mail)
+# http://www.chem.ucsb.edu/~sheagroup
+# License: 3-clause BSD License (See LICENSE.TXT)
+# Copyright (c) 2011, Regents of the University of California
+# All rights reserved.
+
+man_page_text = """
+
+ nbody_by_type.py reads a LAMMPS data file (or an excerpt of a LAMMPS)
+ data file containing bonded many-body interactions by atom type
+ (and bond type), and generates a list of additional interactions
+ in LAMMPS format consistent with those type (to the standard out).
+
+ Typical Usage:
+
+ nbody_by_type.py X < old.data > new.data
+
+ --or--
+
+ nbody_by_type.py X \\
+ -atoms atoms.data \\
+ -bonds bonds.data \\
+ -nbody X.data \\
+ -nbodybytype X_by_type.data \\
+ > new_X.data
+
+ In both cases "X" denotes the interaction type, which
+ is either "Angles", "Dihedrals", or "Impropers".
+ (Support for other interaction types can be added by the user. See below.)
+
+ -------- Example 1 -------
+
+ nbody_by_type.py X < old.data > new.data
+
+ In this example, nbody_by_type.py reads a LAMMPS data file
+ "orig.data", and extracts the relevant section ("Angles",
+ "Dihedrals", or "Impropers"). It also looks a section named "X By Type",
+ (eg. "Angles By type", "Impropers By type", "Impropers By type")
+ which contains a list of criteria for automatically defining additional
+ interactions of that type. For example, this file might contain:
+
+ Angle By Type
+
+ 7 1 2 1 * *
+ 8 2 2 * * *
+ 9 3 4 3 * *
+
+ The first column is an interaction type ID.
+ The next 3 columns are atom type identifiers.
+ The final 2 columns are bond type identifiers.
+ The * is a wildcard symbol indicating there is no preference for bond types
+ in this example. (Optionally, regular expressions can also be used to
+ define a type match, by enclosing the atom or bond type in / slashes.)
+
+ The first line tells us to that there should be a 3-body "Angle"
+ interaction of type "7" whenever an atom of type 1 is bonded to an atom
+ of type "2", which is bonded to another atom of type "1" again.
+ The second line tells us that an angle is defined whenever three atoms
+ are bonded together and the first two are of type "2".
+ (Redundant angle interactions are filtered.)
+
+ New interactions are created for every group of bonded
+ atoms which match these criteria if they are bonded together
+ in the relevant way for that interaction type (as determined by
+ nbody_X.py), and printed to the standard output. For example,
+ suppose you are automatically generating 3-body "Angle" interactions using:
+
+ nbody_by_type Angles < old.data > new.data
+
+ The file "new.data" will be identical to "old.data", however the
+ "Angles By Type" section will be deleted, and the following lines of
+ text will be added to the "Angles" section:
+
+ 394 7 5983 5894 5895
+ 395 7 5984 5895 5896
+ 396 7 5985 5896 5897
+ : : : : :
+ 847 9 14827 14848 14849
+
+ The numbers in the first column are counters which assign a ID to
+ every interaction of that type, and start where the original "Angles"
+ data left off (New angle ID numbers do not overlap with old ID numbers).
+ The text in the second column ("7", "9", ...) matches the text from the
+ first column of the "Angle By Type" section of the input file.
+
+ -------- Example 2 -------
+
+ nbody_by_type.py X \\
+ -atoms atoms.data \\
+ -bonds bonds.data \\
+ -nbody X.data \\
+ -nbodybytype X_by_type.data \\
+ -prefix "SOMESTRING" -suffix "ANOTHERSTRING" \\
+ > new_X.data
+
+ In particular, for Angle interactions:
+
+ nbody_by_type.py Angles \\
+ -atoms atoms.data \\
+ -bonds bonds.data \\
+ -nbody angles.data \\
+ -nbodybytype angles_by_type.data \\
+ > new_Angles.data
+
+ When run this way, nbody_by_type.py behaves exactly the same way
+ as in Example 1, however only the lines of text corresponding to
+ the new generated interactions are printed, (not the entire data file).
+ Also note, that when run this way, nbody_by_type.py does not read the
+ LAMMPS data from the standard input. Instead, it reads each section of
+ the data file from a different file indicated by the arguments following
+ the "-atoms", "-bonds", "-nbody", and "-nbodybytype" flags.
+
+ "Angles" is a 3-body interaction style. So when run this way,
+ nbody_by_type.py will create a 5 (=3+2) column file (new_Angles.data).
+
+Note: the atom, bond and other IDs/types in need not be integers.
+
+Note: This program must be distributed with several python modules, including:
+ nbody_Angles.py, nbody_Dihedrals.py, and nbody_Impropers.py. These
+ contain bond definitions for angular, dihedral, and improper interactions.
+ (In case any new interaction types are ever added to LAMMPS, with only
+ a few lines of python it is easy to edit to define new bonded
+ interaction types by supplying new "nbody_X.py" python module.
+ Refer to the modules listed above for examples.)
+
+Note: Optional "-prefix" and "-suffix" arguments can be included to decorate
+ the interaction IDs (first column). For example, -prefix "auto_" and
+ -suffix "_angle", causes "new_Angles.data" to contain the following text:
+
+ auto_394_angle 7 5983 5894 5895
+ auto_395_angle 7 5984 5895 5896
+ auto_396_angle 7 5985 5896 5897
+ : : : : :
+ auto_847_angle 9 14827 14848 14849
+
+"""
+
+g_program_name = __file__.split('/')[-1] # = 'nbody_by_type.py'
+g_date_str = '2017-2-06'
+g_version_str = '0.20.0'
+
+bond_pattern_module_name = ""
+
+import os
+import sys
+sys.path.append(os.getcwd())
+import importlib
+
+if sys.version < '2.6':
+ raise InputError('Error: Using python ' + sys.version + '\n'
+ ' Alas, you must upgrade to a newer version of python (2.6 or later).')
+elif sys.version < '2.7':
+ sys.stderr.write('--------------------------------------------------------\n'
+ '----------------- WARNING: OLD PYTHON VERSION ----------\n'
+ ' This program is untested on your python version (' +
+ sys.version + ').\n'
+ ' PLEASE LET ME KNOW IF THIS PROGRAM CRASHES (and upgrade python).\n'
+ ' -Andrew 2013-10-25\n'
+ '--------------------------------------------------------\n'
+ '--------------------------------------------------------\n')
+ from ordereddict import OrderedDict
+else:
+ from collections import OrderedDict
+
+try:
+ from .extract_lammps_data import *
+ from .nbody_by_type_lib import GenInteractions_str
+ from .ttree_lex import *
+ from .lttree_styles import AtomStyle2ColNames, ColNames2AidAtypeMolid
+except (SystemError, ValueError):
+ from extract_lammps_data import *
+ from nbody_by_type_lib import GenInteractions_str
+ from ttree_lex import *
+ from lttree_styles import AtomStyle2ColNames, ColNames2AidAtypeMolid
+
+
+
+def GenInteractions_lines(lines_atoms,
+ lines_bonds,
+ lines_nbody,
+ lines_nbodybytype,
+ atom_style,
+ g_bond_pattern,
+ canonical_order, # function to sort atoms and bonds
+ prefix='',
+ suffix='',
+ report_progress=False,
+ check_undefined=False):
+
+ column_names = AtomStyle2ColNames(atom_style)
+ i_atomid, i_atomtype, i_molid = ColNames2AidAtypeMolid(column_names)
+
+ atomids_str = []
+ atomtypes_str = []
+
+ for iv in range(0, len(lines_atoms)):
+ line = lines_atoms[iv].strip()
+ if '#' in line:
+ icomment = line.find('#')
+ line = (line[:icomment]).strip()
+ if len(line) > 0:
+ tokens = SplitQuotedString(line)
+ if ((len(tokens) <= i_atomid) or (len(tokens) <= i_atomtype)):
+ raise(InputError('Error not enough columns on line ' +
+ str(iv + 1) + ' of \"Atoms\" section.'))
+ tokens = SplitQuotedString(line)
+ atomids_str.append(EscCharStrToChar(tokens[i_atomid]))
+ atomtypes_str.append(EscCharStrToChar(tokens[i_atomtype]))
+
+ bondids_str = []
+ bondtypes_str = []
+ bond_pairs = []
+ for ie in range(0, len(lines_bonds)):
+ line = lines_bonds[ie].strip()
+ if '#' in line:
+ icomment = line.find('#')
+ line = (line[:icomment]).strip()
+ if len(line) > 0:
+ tokens = SplitQuotedString(line)
+ if len(tokens) < 4:
+ raise(InputError('Error not enough columns on line ' +
+ str(ie + 1) + ' of \"Bonds\" section.'))
+ bondids_str.append(EscCharStrToChar(tokens[0]))
+ bondtypes_str.append(EscCharStrToChar(tokens[1]))
+ bond_pairs.append((EscCharStrToChar(tokens[2]),
+ EscCharStrToChar(tokens[3])))
+
+ typepattern_to_coefftypes = []
+
+ for i in range(0, len(lines_nbodybytype)):
+ line = lines_nbodybytype[i].strip()
+ if '#' in line:
+ icomment = line.find('#')
+ line = (line[:icomment]).strip()
+ if len(line) > 0:
+ tokens = SplitQuotedString(line)
+
+ if ((len(tokens) != 1 + g_bond_pattern.GetNumVerts()) and
+ (len(tokens) != 1 + g_bond_pattern.GetNumVerts()
+ + g_bond_pattern.GetNumEdges())):
+ raise(InputError('Error: Wrong number of columns in \"By Type\" section of data file.\n'
+ 'Offending line:\n' +
+ '\"' + line + '\"\n'
+ 'Expected either ' +
+ str(1 + g_bond_pattern.GetNumVerts()) + ' or ' +
+ str(1 + g_bond_pattern.GetNumVerts() +
+ g_bond_pattern.GetNumEdges())
+ + ' colunms.'))
+
+ coefftype = EscCharStrToChar(tokens[0])
+ typepattern = []
+
+ for typestr in tokens[1:]:
+ if ((len(typestr) >= 2) and
+ (typestr[0] == '/') and (typestr[-1] == '/')):
+ regex_str = typestr[1:-1]
+ typepattern.append(re.compile(regex_str))
+ else:
+ typepattern.append(EscCharStrToChar(typestr))
+
+ # If the user neglected to specify the bond types, assume '*'
+ if len(tokens) == 1 + g_bond_pattern.GetNumVerts():
+ typepattern += ['*'] * g_bond_pattern.GetNumEdges()
+
+ typepattern_to_coefftypes.append([typepattern, coefftype])
+
+ coefftype_to_atomids_str = GenInteractions_str(bond_pairs,
+ g_bond_pattern,
+ typepattern_to_coefftypes,
+ canonical_order,
+ atomids_str,
+ atomtypes_str,
+ bondids_str,
+ bondtypes_str,
+ report_progress,
+ check_undefined)
+ lines_nbody_new = []
+ for coefftype, atomids_list in coefftype_to_atomids_str.items():
+ for atomids_found in atomids_list:
+ n = len(lines_nbody) + len(lines_nbody_new) + 1
+ line = prefix + str(n) + suffix + ' ' + \
+ coefftype + ' ' + (' '.join(atomids_found)) + '\n'
+ lines_nbody_new.append(line)
+
+ return lines_nbody_new
+
+
+def GenInteractions_files(lines_data,
+ src_bond_pattern,
+ fname_atoms,
+ fname_bonds,
+ fname_nbody,
+ fname_nbodybytype,
+ section_name,
+ section_name_bytype,
+ atom_style,
+ prefix='',
+ suffix='',
+ report_progress=False,
+ check_undefined=False):
+
+ if fname_atoms == None:
+ lines_atoms = [
+ line for line in ExtractDataSection(lines_data, 'Atoms')]
+ else:
+ try:
+ f = open(fname_atoms, 'r')
+ except:
+ sys.stderr.write('Error: Unable to open file \"' +
+ fname_atoms + '\" for reading.\n')
+ sys.exit(-1)
+ lines_atoms = [line for line in f.readlines()
+ if ((len(line.strip()) > 0) and (line.strip()[0] != '#'))]
+ f.close()
+
+ if fname_bonds == None:
+ lines_bonds = [
+ line for line in ExtractDataSection(lines_data, 'Bonds')]
+ else:
+ try:
+ f = open(fname_bonds, 'r')
+ except IOError:
+ sys.stderr.write('Error: Unable to open file \"' +
+ fname_bonds + '\" for reading.\n')
+ sys.exit(-1)
+ lines_bonds = [line for line in f.readlines()
+ if ((len(line.strip()) > 0) and (line.strip()[0] != '#'))]
+ f.close()
+
+ if fname_nbody == None:
+ lines_nbody = [line for line in ExtractDataSection(
+ lines_data, section_name)]
+ else:
+ try:
+ f = open(fname_nbody, 'r')
+ lines_nbody = [line for line in f.readlines()
+ if ((len(line.strip()) > 0) and (line.strip()[0] != '#'))]
+ f.close()
+ except IOError:
+ #sys.stderr.write(' (omitting optional file \"'+fname_nbody+'\")\n')
+ lines_nbody = []
+
+ if fname_nbodybytype == None:
+ lines_nbodybytype = [line for
+ line in ExtractDataSection(lines_data,
+ section_name_bytype)]
+
+ else:
+ try:
+ f = open(fname_nbodybytype, 'r')
+ except:
+ sys.stderr.write('Error: Unable to open file \"' +
+ fname_nbodybytype + '\" for reading.\n')
+ sys.exit(-1)
+ lines_nbodybytype = [line for line in f.readlines()
+ if((len(line.strip()) > 0)and(line.strip()[0] != '#'))]
+ f.close()
+
+ # search locations
+ package_opts = [[src_bond_pattern, __package__],
+ ['nbody_alt_symmetry.'+src_bond_pattern, __package__]]
+
+ if __package__:
+ for i, _ in enumerate(package_opts):
+ package_opts[i][0] = '.' + package_opts[i][0]
+ package_opts.append(['.'+src_bond_pattern, __package__+'.nbody_alt_symmetry'])
+
+
+ g = None
+ for name, pkg in package_opts:
+ try:
+ g = importlib.import_module(name, pkg)
+ break
+ except (SystemError, ImportError):
+ pass
+
+ if g is None:
+ sys.stderr.write('Error: Unable to locate file \"' +
+ src_bond_pattern + '.py\"\n'
+ ' (Did you mispell the file name?\n'
+ ' Check the \"nbody_alt_symmetry/\" directory.)\n')
+ sys.exit(-1)
+
+ return GenInteractions_lines(lines_atoms,
+ lines_bonds,
+ lines_nbody,
+ lines_nbodybytype,
+ atom_style,
+ g.bond_pattern,
+ g.canonical_order,
+ prefix,
+ suffix,
+ report_progress,
+ check_undefined)
+
+
+def main():
+ sys.stderr.write(g_program_name + ' v' +
+ g_version_str + ' ' + g_date_str + ' ')
+ if sys.version < '3':
+ sys.stderr.write(' (python version < 3)\n')
+ else:
+ sys.stderr.write('\n')
+
+ try:
+
+ fname_atoms = None
+ fname_bonds = None
+ fname_nbody = None
+ fname_nbodybytype = None
+ atom_style = 'full'
+ prefix = ''
+ suffix = ''
+ check_undefined = False
+
+ argv = [arg for arg in sys.argv]
+
+ if len(argv) == 1:
+ raise InputError('Error: Missing argument required.\n'
+ ' The \"' + g_program_name +
+ '\" program requires an argument containing the\n'
+ ' name of a section from a LAMMPS data file storing bonded interactions.\n'
+ ' (For example: "Angles", "Dihedrals", or "Impropers".)\n'
+ #' Note: The first letter of each section is usually capitalized.)\n'
+ '\n'
+ '--------------- general documentation -------------\n'
+ '\n' + man_page_text + '\n')
+
+ section_name = '' # (This will be replaced later.)
+ section_name_bytype = '' # (This will be replaced later.)
+
+ # Loop over the remaining arguments not processed yet.
+ # These arguments are specific to the lttree.py program
+ # and are not understood by ttree.py:
+ i = 1
+ while i < len(argv):
+ #sys.stderr.write('argv['+str(i)+'] = \"'+argv[i]+'\"\n')
+ if ((argv[i].lower() == '-?') or
+ (argv[i].lower() == '--?') or
+ (argv[i].lower() == '-help') or
+ (argv[i].lower() == '-help')):
+ if i + 1 >= len(argv):
+ sys.stdout.write(man_page_text + '\n')
+ sys.exit(0)
+
+ elif argv[i].lower() == '-atoms':
+ if i + 1 >= len(argv):
+ raise InputError('Error: ' + argv[i] + ' flag should be followed by a file name containing lines of\n'
+ ' text which might appear in the "Atoms" section of a LAMMPS data file.\n')
+ fname_atoms = argv[i + 1]
+ del(argv[i:i + 2])
+
+ elif argv[i].lower() == '-bonds':
+ if i + 1 >= len(argv):
+ raise InputError('Error: ' + argv[i] + ' flag should be followed by a file name containing lines of\n'
+ ' text which might appear in the "Bonds" section of a LAMMPS data file.\n')
+ fname_bonds = argv[i + 1]
+ del(argv[i:i + 2])
+
+ elif argv[i].lower() == '-nbody':
+ if i + 1 >= len(argv):
+ raise InputError(
+ 'Error: ' + argv[i] + ' flag should be followed by a file name\n')
+
+ # raise InputError('Error: '+argv[i]+' flag should be followed by a file name containing lines of\n'
+ # ' text which might appear in the "'+section_name+' section of a LAMMPS data file.\n')
+ fname_nbody = argv[i + 1]
+ del(argv[i:i + 2])
+
+ elif argv[i].lower() == '-nbodybytype':
+ if i + 1 >= len(argv):
+ raise InputError(
+ 'Error: ' + argv[i] + ' flag should be followed by a file name\n')
+
+ # raise InputError('Error: '+argv[i]+' flag should be followed by a file name containing\n'
+ # ' text which might appear in the "'+section_name+' By Type" section\n'
+ # ' of a LAMMPS data file.\n')
+ fname_nbodybytype = argv[i + 1]
+ del(argv[i:i + 2])
+
+ elif ((argv[i].lower() == '-atom-style') or
+ (argv[i].lower() == '-atom_style')):
+ if i + 1 >= len(argv):
+ raise InputError('Error: ' + argv[i] + ' flag should be followed by a an atom_style name.\n'
+ ' (Or single quoted string which includes a space-separated\n'
+ ' list of column names.)\n')
+ atom_style = argv[i + 1]
+ del(argv[i:i + 2])
+
+ elif argv[i].lower() == '-prefix':
+ if i + 1 >= len(argv):
+ raise InputError('Error: ' + argv[i] + ' flag should be followed by a prefix string\n'
+ ' (a string you want to appear to the left of the integer\n'
+ ' which counts the bonded interactions you have generated.)\n')
+ prefix = argv[i + 1]
+ del(argv[i:i + 2])
+
+ elif argv[i].lower() == '-suffix':
+ if i + 1 >= len(argv):
+ raise InputError('Error: ' + argv[i] + ' flag should be followed by a suffix string\n'
+ ' (a string you want to appear to the right of the integer\n'
+ ' which counts the bonded interactions you have generated.)\n')
+ prefix = argv[i + 1]
+ del(argv[i:i + 2])
+
+ elif argv[i].lower() == '-subgraph':
+ if i + 1 >= len(argv):
+ raise InputError('Error: ' + argv[i] + ' flag should be followed by the name of a python file\n'
+ ' containing the definition of the subgraph you are searching for\n'
+ ' and it\'s symmetry properties.\n'
+ ' (See nbody_Dihedrals.py for example.)\n')
+ bond_pattern_module_name = argv[i + 1]
+ # If the file name ends in ".py", then strip off this suffix.
+ # For some reason, the next line does not work:
+ # bond_pattern_module_name=bond_pattern_module_name.rstrip('.py')
+ # Do this instead
+ pc = bond_pattern_module_name.rfind('.py')
+ if pc != -1:
+ bond_pattern_module_name = bond_pattern_module_name[0:pc]
+
+ del(argv[i:i + 2])
+
+ elif argv[i].lower() == '-section':
+ if i + 1 >= len(argv):
+ raise InputError('Error: ' + argv[i] + ' flag should be followed by the name of the LAMMPS\n'
+ ' Data section describing the type of interaction being generated.\n'
+ ' (For example: \"Angles\", \"Dihedrals\", \"Impropers\", etc...)\n')
+ section_name = argv[i + 1]
+ del(argv[i:i + 2])
+
+ elif argv[i].lower() == '-sectionbytype':
+ if i + 1 >= len(argv):
+ raise InputError('Error: ' + argv[i] + ' flag should be followed by the name of the\n'
+
+ ' write_once(\"???? By Type\") section describing how to create the\n'
+ ' interactions. (For example: \"Angles By Type\", \"Dihedrals By Type\",\n'
+ ' \"Impropers By Type\", etc... Note that this argument\n'
+ ' will contain spaces, so surround it with quotes.)\n')
+
+ section_name_bytype = argv[i + 1]
+ del(argv[i:i + 2])
+
+ elif argv[i].lower() == '-checkff':
+ check_undefined = True
+ del(argv[i:i + 1])
+
+ elif argv[i][0] == '-':
+ raise InputError('Error(' + g_program_name + '):\n'
+ 'Unrecogized command line argument \"' + argv[i] + '\"\n')
+ else:
+ i += 1
+
+ # if len(argv) == 1:
+ # raise InputError('Error: Missing argument required.\n'
+ # ' The \"'+g_program_name+'\" program requires an argument containing the\n'
+ # ' name of a section from a LAMMPS data file storing bonded interactions.\n'
+ # ' (For example: "Angles", "Dihedrals", or "Impropers".)\n')
+ # #' Note: The first letter of each section is usually capitalized.)\n'
+
+ if len(argv) == 1:
+ pass
+ elif len(argv) == 2:
+ section_name = argv[1]
+ section_name_bytype = section_name + ' By Type'
+ # default bond_pattern_module name
+ if bond_pattern_module_name == "": # <--if not set by user
+ bond_pattern_module_name = 'nbody_' + section_name
+ del(argv[1:2])
+ else:
+ # if there are more than 2 remaining arguments,
+ problem_args = ['\"' + arg + '\"' for arg in argv[1:]]
+ raise InputError('Syntax Error(' + g_program_name + '):\n\n'
+ ' Problem with argument list.\n'
+ ' The remaining arguments are:\n\n'
+ ' ' + (' '.join(problem_args)) + '\n\n'
+ ' (The actual problem may be earlier in the argument list.)\n')
+
+ if ((section_name == '') or
+ (section_name_bytype == '') or
+ (bond_pattern_module_name == '')):
+ raise InputError('Syntax Error(' + g_program_name + '):\n\n'
+ ' You have not defined the following arguments:\n'
+ ' -section name\n'
+ ' -sectionbytype namebytype\n'
+ ' -subgraph pythonfile.py\n')
+
+ # ------------ Done parsing argument list ----------
+
+ if (fname_atoms or fname_bonds or fname_nbody or fname_nbodybytype):
+ output_full_DATA_file = False
+ lines_data = []
+ else:
+ output_full_DATA_file = True
+ lines_data = sys.stdin.readlines()
+
+ # Calculate the interactions and generate a list of lines of text
+
+ lines_new_interactions = \
+ GenInteractions_files(lines_data,
+ bond_pattern_module_name,
+ fname_atoms,
+ fname_bonds,
+ fname_nbody,
+ fname_nbodybytype,
+ section_name,
+ section_name_bytype,
+ atom_style,
+ prefix,
+ suffix,
+ True,
+ check_undefined)
+
+ # Print this text to the standard out.
+
+ # Question: Do we write out the entire DATA file,
+ # or just the portion that was generated by this program?
+
+ if not output_full_DATA_file:
+ # ...then only print out the interactions which were generated
+ # by this program, omitting any lines from the original data file:
+
+ # (This is the way I usually run this program.)
+ for line in lines_new_interactions:
+ sys.stdout.write(line)
+
+ else:
+
+ # ...then print out the entire data file, deleting the "By Type"
+ # section, and adding the generated lines of text to the
+ # corresponding
+
+ # If present, update the interaction counter at the beginning
+ # of the LAMMPS data file. (For example, if if 100 new "Angles"
+ # interactions were generated, replace "2 Angles" with "102 Angles")
+ #
+ for i in range(0, len(lines_data)):
+ line = lines_data[i].strip()
+ tokens = SplitQuotedString(line)
+
+ # updating the interaction counter
+ if ((len(tokens) == 2) and (tokens[1] == (section_name).lower())):
+ tokens[0] = str(int(tokens[0]) +
+ len(lines_new_interactions))
+ lines_data[i] = ' '.join(tokens) + '\n'
+
+ # stop when you come to a section header
+ elif line in lammps_data_sections:
+ #"lammps_data_sections" is defined in "extract_lammps_data.py"
+ break
+
+ # locate the appropriate section of the data file
+ # (storing the type of interactions we just created)
+ i_nbody_a, i_nbody_b = \
+ FindDataSection(lines_data, section_name)
+
+ if i_nbody_a == -1:
+ if len(lines_new_interactions) > 0:
+ # If not found, create a new section at the end of the file,
+ # containing a section name followed by the list of lines
+ lines_data += ['\n', section_name + '\n', '\n'] + \
+ lines_new_interactions + ['\n']
+ else:
+ # Insert the new lines into the existing section
+ lines_data[i_nbody_b:i_nbody_b] = lines_new_interactions
+
+ # Figure out where the "By Type" section is located
+ # (so we skip over it)
+ i_bytype_a, i_bytype_b = \
+ FindDataSection(lines_data, section_name_bytype)
+
+ in_bytype_section = False
+ for i in range(0, len(lines_data)):
+ line = lines_data[i].strip()
+ # Omit all lines of text in the 'By Type' section (including the
+ # header and commments or blank lines which immediately follow
+ # it.)
+ if line == section_name_bytype:
+ in_bytype_section = True
+ elif i == i_bytype_b:
+ in_bytype_section = False
+
+ if not in_bytype_section:
+ sys.stdout.write(lines_data[i])
+
+ except (ValueError, InputError) as err:
+ sys.stderr.write('\n' + str(err) + '\n')
+ sys.exit(-1)
+
+ return
+
+if __name__ == '__main__':
+ main()
diff --git a/tools/moltemplate/moltemplate/nbody_by_type_lib.py b/tools/moltemplate/moltemplate/nbody_by_type_lib.py
new file mode 100644
index 000000000..b8011a80d
--- /dev/null
+++ b/tools/moltemplate/moltemplate/nbody_by_type_lib.py
@@ -0,0 +1,468 @@
+#!/usr/bin/env python
+
+# Author: Andrew Jewett (jewett.aij at g mail)
+# http://www.chem.ucsb.edu/~sheagroup
+# License: 3-clause BSD License (See LICENSE.TXT)
+# Copyright (c) 2012, Regents of the University of California
+# All rights reserved.
+
+
+import sys
+from collections import defaultdict
+
+
+#from collections import namedtuple
+if sys.version < '2.7':
+ sys.stderr.write('--------------------------------------------------------\n'
+ '----------------- WARNING: OLD PYTHON VERSION ----------\n'
+ ' This program is untested on your python version (' +
+ sys.version + ').\n'
+ ' PLEASE LET ME KNOW IF THIS PROGRAM CRASHES (and upgrade python).\n'
+ ' -Andrew 2013-10-25\n'
+ '--------------------------------------------------------\n'
+ '--------------------------------------------------------\n')
+ from ordereddict import OrderedDict
+else:
+ from collections import OrderedDict
+
+from collections import defaultdict
+
+try:
+ from .nbody_graph_search import Ugraph, GraphMatcher
+ from .ttree_lex import MatchesPattern, MatchesAll, InputError
+except (SystemError, ValueError):
+ # not installed as a package
+ from nbody_graph_search import Ugraph, GraphMatcher
+ from ttree_lex import MatchesPattern, MatchesAll, InputError
+
+#import gc
+
+
+def GenInteractions_int(G_system,
+ g_bond_pattern,
+ typepattern_to_coefftypes,
+ canonical_order, # function to sort atoms and bonds
+ atomtypes_int2str,
+ bondtypes_int2str,
+ report_progress=False, # print messages to sys.stderr?
+ check_undefined_atomids_str = None):
+ """
+ GenInteractions() automatically determines a list of interactions
+ present in a system of bonded atoms (argument "G_system"),
+ which satisfy the bond topology present in "g_bond_pattern", and
+ satisfy the atom and bond type requirements in "typepattern_to_coefftypes".
+
+ Whenever a set of atoms in "G_system" are bonded together in a way which
+ matches "g_bond_pattern", and when the atom and bond types is consistent
+ with one of the entries in "typepattern_to_coefftypes", the corresponding
+ list of atoms from G_system is appended to the list of results.
+
+ These results (the list of lists of atoms participating in an interaction)
+ are organized according their corresponding "coefftype", a string
+ which identifies the type of interaction they obey as explained above.
+ results are returned as a dictionary using "coefftype" as the lookup key.
+
+ Arguments:
+
+ -- typepattern_to_coefftypes is a list of 2-tuples --
+ The first element of the 2-tuple is the "typepattern".
+ It contains a string describing a list of atom types and bond types.
+ The typepattern is associated with a "coefftype",
+ which is the second element of the 2-tuple. This is a string
+ which identifies the type of interaction between the atoms.
+ Later on, this string can be used to lookup the force field
+ parameters for this interaction elsewhere.)
+
+ -- Arguments: G_system, g_bond_pattern, atomtypes_int2str, bondtypes_int2str --
+
+ G_system stores a list of atoms and bonds, and their attributes in
+ "Ugraph" format. In this format:
+ Atom ID numbers are represented by indices into the G_system.verts[] list.
+ Bond ID numbers are represented by indices into the G_system.edges[] list.
+ Atom types are represented as integers in the G_system.verts[i].attr list.
+ Bond types are represented as integers in the G_system.edges[i].attr list.
+ They are converted into strings using
+ atomtypes_int2str, and bondtypes_int2str.
+
+ g_bond_pattern is a graph which specifies the type of bonding between
+ the atoms required for a match. It is in Ugraph format (however the
+ atom and bond types are left blank.)
+
+ Atom and bond types are supplied by the user in string format. (These
+ strings typically encode integers, but could be any string in principle.)
+ The string-version of the ith atom type is stored in
+ atomtypes_int2str[ G_system.verts[i].attr ]
+ The string-version of the ith bond type is stored in
+ bondtypes_int2str[ G_system.edges[i].attr ]
+
+ -- The "canonical_order" argument: --
+
+ The search for atoms with a given bond pattern often yields
+ redundant matches. There is no difference for example
+ between the angle formed between three consecutively
+ bonded atoms (named, 1, 2, 3, for example), and the
+ angle between the same atoms in reverse order (3, 2, 1).
+ However both triplets of atoms will be returned by the subgraph-
+ matching algorithm when searching for ALL 3-body interactions.)
+
+ To eliminate this redundancy, the caller must supply a "canonical_order"
+ argument. This is a function which sorts the atoms and bonds in a way
+ which is consistent with the type of N-body interaction being considered.
+ The atoms (and bonds) in a candidate match are rearranged by the
+ canonical_order(). Then the re-ordered list of atom and bond ids is
+ tested against the list of atom/bond ids in the matches-found-so-far,
+ before it is added.
+
+ """
+
+ if report_progress:
+ startatomid = 0
+ sys.stderr.write(' searching for matching bond patterns:\n')
+ sys.stderr.write(' 0%')
+
+ # Figure out which atoms from "G_system" bond together in a way which
+ # matches the "g_bond_pattern" argument. Organize these matches by
+ # atom and bond types and store all of the non-redundant ones in
+ # the "interactions_by_type" variable.
+
+ gm = GraphMatcher(G_system, g_bond_pattern)
+
+ interactions_by_type = defaultdict(list)
+
+ for atombondids in gm.Matches():
+ # "atombondids" is a tuple.
+ # atombondids[0] has atomIDs from G_system corresponding to g_bond_pattern
+ # (These atomID numbers are indices into the G_system.verts[] list.)
+ # atombondids[1] has bondIDs from G_system corresponding to g_bond_pattern
+ # (These bondID numbers are indices into the G_system.edges[] list.)
+
+ # It's convenient to organize the list of interactions-between-
+ # atoms in a dictionary indexed by atomtypes and bondtypes.
+ # (Because many atoms and bonds typically share the same type,
+ # organizing the results this way makes it faster to check
+ # whether a given interaction matches a "typepattern" defined
+ # by the user. We only have to check once for the whole group.)
+
+ atombondtypes = \
+ (tuple([G_system.GetVert(Iv).attr for Iv in atombondids[0]]),
+ tuple([G_system.GetEdge(Ie).attr for Ie in atombondids[1]]))
+
+ interactions_by_type[atombondtypes].append(atombondids)
+
+ if report_progress:
+ # GraphMatcher.Matches() searches for matches in an order
+ # that selects a different atomid number from G_system,
+ # starting at 0, and continuing up to the number of atoms (-1)
+ # in the system (G_system.nv-1), and using this as the first
+ # atom in the match (ie match[0][0]). This number can be used
+ # to guess much progress has been made so far.
+ oldatomid = startatomid
+ startatomid = atombondids[0][0]
+ percent_complete = (100 * startatomid) // G_system.GetNumVerts()
+ # report less often as more progress made
+ if percent_complete <= 4:
+ old_pc = (100 * oldatomid) // G_system.GetNumVerts()
+ if percent_complete > old_pc:
+ sys.stderr.write(' ' + str(percent_complete) + '%')
+ elif percent_complete <= 8:
+ pc_d2 = (100 * startatomid) // (2 * G_system.GetNumVerts())
+ oldpc_d2 = (100 * oldatomid) // (2 * G_system.GetNumVerts())
+ if pc_d2 > oldpc_d2:
+ sys.stderr.write(' ' + str(percent_complete) + '%')
+ elif percent_complete <= 20:
+ pc_d4 = (100 * startatomid) // (4 * G_system.GetNumVerts())
+ oldpc_d4 = (100 * oldatomid) // (4 * G_system.GetNumVerts())
+ if pc_d4 > oldpc_d4:
+ sys.stderr.write(' ' + str(percent_complete) + '%')
+ else:
+ pc_d10 = (100 * startatomid) // (10 * G_system.GetNumVerts())
+ oldpc_d10 = (100 * oldatomid) // (10 * G_system.GetNumVerts())
+ if pc_d10 > oldpc_d10:
+ sys.stderr.write(' ' + str(percent_complete) + '%')
+
+ if report_progress:
+ sys.stderr.write(' 100%\n')
+ #sys.stderr.write(' ...done\n')
+ #sys.stderr.write(' Looking up available atom and bond types...')
+
+ #coefftype_to_atomids = defaultdict(list)
+ #abids_to_coefftypes = defaultdict(list)
+ coefftype_to_atomids = OrderedDict()
+ abids_to_coefftypes = OrderedDict()
+
+ # -------------------- reporting progress -----------------------
+ if report_progress:
+ # The next interval of code is not technically necessary, but it makes
+ # the printed output easier to read by excluding irrelevant interactions
+ # Now, test each match to see if the atoms and bonds involved match
+ # any of the type-patterns in the "typepattern_to_coefftypes" argument.
+
+ types_atoms_all_str = set([])
+ types_bonds_all_str = set([])
+ for typepattern, coefftype in typepattern_to_coefftypes:
+ for atombondtypes, abidslist in interactions_by_type.items():
+ for Iv in atombondtypes[0]:
+ types_atoms_all_str.add(atomtypes_int2str[Iv])
+ for Ie in atombondtypes[1]:
+ types_bonds_all_str.add(bondtypes_int2str[Ie])
+ # ------------------ reporting progress (end) -------------------
+
+
+ # ------------------ check to make sure all interactions are defined ------
+ if check_undefined_atomids_str:
+ # Checking for missing interactions is a headache.
+ # Please excuse the messy code below.
+ atomids_matched = OrderedDict()
+ # Then loop through all the interactions (tuples of atoms) found by
+ # GraphMatcher, sort the atoms and store them in dictionary
+ # (atomids_matched) which keeps track of which interactions have
+ # been defined (ie have force-field parameters assigned to them).
+ # Initialize them to False, and update as interactions are found.
+ for atombondtypes, abidslist in interactions_by_type.items():
+ for abids in abidslist:
+ abids = canonical_order(abids)
+ atomids_int = tuple(abids[0])
+
+ # NOTE TO SELF:
+ # If in the future, different interactions (type_patterns) have
+ # different symmetries, and canonical_order() varies from
+ # interaction to interaction, then DONT loop over type_pattern:
+ # for type_pattern, coefftype in typepattern_to_coefftypes)
+ # abids = canonical_order(abids, type_pattern)
+ # Why: When checking for undefined interactions,
+ # we just want to make sure that SOME kind of interaction
+ # involving these atoms exists. The gruesome details of
+ # force-field symmetry should not enter into this.
+ # (We certainly don't want to require that different
+ # interactions are simultaneously present for the same set of
+ # atoms for ALL the possible different atom orderings for the
+ # different possible symmetries in the force field you are using
+ # Perhaps, in the future I should just use something like this:
+ # atomids_int = abids[0]
+ # atomids_int.sort()
+ # atomids_int = tuple(atomids_int)
+ # This would work for most molecules.
+ # I suppose that in some some bizarre molecules containing
+ # triangular or square cycles, for example, this would not
+ # distinguish all 3 angles in the triangle, for example.
+ # mistakenly thinking there was only one interaction there.
+ # But these cases are rare.)
+
+ if not atomids_int in atomids_matched:
+ atomids_matched[atomids_int] = False
+ # (Later on, we'll set some of these to True)
+
+ # ------------------ check to make sure all interactions are defined (end)
+
+
+ count = 0
+
+ for typepattern, coefftype in typepattern_to_coefftypes:
+
+ # ------------------ reporting progress -----------------------
+ # The next interval of code is not technically necessary, but it makes
+ # the printed output easier to read by excluding irrelevant
+ # interactions
+
+ if report_progress:
+
+ # Check to see if the atoms or bonds referred to in typepattern
+ # are (potentially) satisfied by any of the atoms present in the system.
+ # If any of the required atoms for this typepattern are not present
+ # in this system, then skip to the next typepattern.
+ atoms_available_Iv = [False for Iv in range(
+ 0, g_bond_pattern.GetNumVerts())]
+ for Iv in range(0, g_bond_pattern.GetNumVerts()):
+ for type_atom_str in types_atoms_all_str:
+ if MatchesPattern(type_atom_str, typepattern[Iv]):
+ atoms_available_Iv[Iv] = True
+ atoms_available = True
+ for Iv in range(0, g_bond_pattern.GetNumVerts()):
+ if not atoms_available_Iv[Iv]:
+ atoms_available = False
+
+ bonds_available_Ie = [False for Ie in range(
+ 0, g_bond_pattern.GetNumEdges())]
+ for Ie in range(0, g_bond_pattern.GetNumEdges()):
+ for type_bond_str in types_bonds_all_str:
+ if MatchesPattern(type_bond_str,
+ typepattern[g_bond_pattern.GetNumVerts() + Ie]):
+ bonds_available_Ie[Ie] = True
+ bonds_available = True
+ for Ie in range(0, g_bond_pattern.GetNumEdges()):
+ if not bonds_available_Ie[Ie]:
+ bonds_available = False
+
+ if atoms_available and bonds_available:
+
+ # Explanation:
+ # (Again) only if ALL of the atoms and bond requirements for
+ # this type pattern are satisfied by at least SOME of the atoms
+ # present in the this system, ...THEN print a status message.
+ # (Because for complex all-atom force-fields, the number of
+ # possible atom types, and typepatterns far exceeds the number
+ # of atom types typically present in the system. Otherwise
+ # hundreds of kB of irrelevant information can be printed.)
+
+ sys.stderr.write(' checking ' + coefftype + ' type requirements:'
+ #' (atom-types,bond-types) '
+ '\n ' + str(typepattern) + '\n')
+
+ # ------------------ reporting progress (end) -------------------
+
+ for atombondtypes, abidslist in interactions_by_type.items():
+ # express atom & bond types in a tuple of the original string
+ # format
+ types_atoms = [atomtypes_int2str[Iv] for Iv in atombondtypes[0]]
+ types_bonds = [bondtypes_int2str[Ie] for Ie in atombondtypes[1]]
+ type_strings = types_atoms + types_bonds
+
+ # use string comparisons to check for a match with typepattern
+ if MatchesAll(type_strings, typepattern): # <-see "ttree_lex.py"
+ for abids in abidslist:
+ # Re-order the atoms (and bonds) in a "canonical" way.
+ # Only add new interactions to the list after re-ordering
+ # them and checking that they have not been added earlier.
+ # (...well not when using the same coefftype at least.
+ # This prevents the same triplet of atoms from
+ # being used to calculate the bond-angle twice:
+ # once for 1-2-3 and 3-2-1, for example.)
+ abids = canonical_order(abids)
+ redundant = False
+ if abids in abids_to_coefftypes:
+ coefftypes = abids_to_coefftypes[abids]
+ if coefftype in coefftypes:
+ redundant = True
+
+ if check_undefined_atomids_str:
+ atomids_int = tuple(abids[0])
+ atomids_matched[atomids_int] = True
+
+ if not redundant:
+
+ # (It's too bad python does not
+ # have an Ordered defaultdict)
+ if coefftype in coefftype_to_atomids:
+ coefftype_to_atomids[coefftype].append(abids[0])
+ else:
+ coefftype_to_atomids[coefftype] = [abids[0]]
+ if abids in abids_to_coefftypes:
+ abids_to_coefftypes[abids].append(coefftype)
+ else:
+ abids_to_coefftypes[abids] = [coefftype]
+ count += 1
+
+ if report_progress:
+ sys.stderr.write(' (found ' +
+ str(count) + ' non-redundant matches)\n')
+
+ if check_undefined_atomids_str:
+ for atomids_int, found_match in atomids_matched.items():
+ if not found_match:
+ atomids_str = [check_undefined_atomids_str[Iv]
+ for Iv in atomids_int]
+ raise InputError('Error: A bonded interaction should exist between atoms:\n' +
+ ' ' +
+ (',\n '.join(atomids_str)) + '\n' +
+ ' ...however no interaction between these types of atoms has been defined\n' +
+ ' This usually means that at least one of your atom TYPES is incorrect.\n' +
+ ' If this is not the case, then you can override this error message by\n' +
+ ' invoking moltemplate.sh without the \"-checkff\" argument.\n')
+
+ return coefftype_to_atomids
+
+
+
+
+
+
+
+def GenInteractions_str(bond_pairs,
+ g_bond_pattern,
+ typepattern_to_coefftypes,
+ canonical_order, # function to sort atoms and bonds
+ atomids_str,
+ atomtypes_str,
+ bondids_str,
+ bondtypes_str,
+ report_progress=False, # print messages to sys.stderr?
+ check_undefined=False):
+
+ assert(len(atomids_str) == len(atomtypes_str))
+ assert(len(bondids_str) == len(bondtypes_str))
+ # The atomids and atomtypes and bondtypes are strings.
+ # First we assign a unique integer id to each string.
+
+ atomids_str2int = {}
+ atomtypes_str2int = {}
+ atomtypes_int2str = []
+ atomtype_int = 0
+ for i in range(0, len(atomids_str)):
+ if atomids_str[i] in atomids_str2int:
+ raise InputError('Error: multiple atoms have the same id (' +
+ str(atomids_str[i]) + ')')
+ atomids_str2int[atomids_str[i]] = i
+ #atomtypes_int = len(atomtypes_int)+1
+ if (not (atomtypes_str[i] in atomtypes_str2int)):
+ atomtypes_str2int[atomtypes_str[i]] = atomtype_int
+ atomtypes_int2str.append(atomtypes_str[i])
+ atomtype_int += 1
+ # atomtypes_int.append(atomtype_int)
+
+ bondids_str2int = {}
+ bondtypes_str2int = {}
+ bondtypes_int2str = []
+ bondtype_int = 0
+ for i in range(0, len(bondids_str)):
+ if bondids_str[i] in bondids_str2int:
+ raise InputError('Error: multiple bonds have the same id (' +
+ str(bondids_str[i]) + ')')
+ bondids_str2int[bondids_str[i]] = i
+ #bondtype_int = len(bondtypes_int)+1
+ if (not (bondtypes_str[i] in bondtypes_str2int)):
+ bondtypes_str2int[bondtypes_str[i]] = bondtype_int
+ bondtypes_int2str.append(bondtypes_str[i])
+ bondtype_int += 1
+
+ # Now convert "bond_pairs" into the UGraph format
+ G_system = Ugraph()
+ for iv in range(0, len(atomtypes_str)):
+ G_system.AddVertex(iv, atomtypes_str2int[atomtypes_str[iv]])
+
+ for ie in range(0, len(bond_pairs)):
+ atomid1_str = bond_pairs[ie][0]
+ atomid2_str = bond_pairs[ie][1]
+ if (atomid1_str not in atomids_str2int):
+ raise InputError('Error in Bonds Section:\n'
+ ' ' + atomid1_str + ' is not defined in Atoms section\n')
+ if (atomid2_str not in atomids_str2int):
+ raise InputError('Error in Bonds Section:\n'
+ ' ' + atomid2_str + ' is not defined in Atoms section\n')
+ G_system.AddEdge(atomids_str2int[atomid1_str],
+ atomids_str2int[atomid2_str],
+ bondtypes_str2int[bondtypes_str[ie]])
+
+ coefftype_to_atomids_int = GenInteractions_int(G_system,
+ g_bond_pattern,
+ typepattern_to_coefftypes,
+ canonical_order,
+ atomtypes_int2str,
+ bondtypes_int2str,
+ report_progress,
+ (atomids_str if check_undefined else None))
+
+ coefftype_to_atomids_str = OrderedDict()
+ for coefftype, atomidss_int in coefftype_to_atomids_int.items():
+ if report_progress:
+ sys.stderr.write(' processing coefftype: ' +
+ str(coefftype) + '\n')
+ for atomids_int in atomidss_int:
+ if coefftype in coefftype_to_atomids_str:
+ coefftype_to_atomids_str[coefftype].append(
+ [atomids_str[iv] for iv in atomids_int])
+ else:
+ coefftype_to_atomids_str[coefftype] = \
+ [[atomids_str[iv] for iv in atomids_int]]
+ # gc.collect()
+
+ return coefftype_to_atomids_str
diff --git a/tools/moltemplate/moltemplate/nbody_fix_ttree_assignments.py b/tools/moltemplate/moltemplate/nbody_fix_ttree_assignments.py
new file mode 100755
index 000000000..a975eb1b7
--- /dev/null
+++ b/tools/moltemplate/moltemplate/nbody_fix_ttree_assignments.py
@@ -0,0 +1,159 @@
+#!/usr/bin/env python
+
+"""
+nbody_fix_ttree_assignments.py
+
+This is an ugly little script which was not intended to be run by end users.
+
+Typical usage:
+
+nbody_fix_ttree_assignments.py "angles" new_Angles.template \
+ < ttree_assignments.txt > ttree_assigmnents_new.txt
+
+What it does:
+
+In this example, this program extracts the first column from
+"new_Angles.template", and appends to it the first column from
+the lines in ttree_assignments.txt containing "@angle:".
+Then it adds a second column which is just a sequence of integers
+counting upwards.
+Finally it inserts this 2-column text into the appropriate place in a
+ttree_assignments.txt file, replacing the original @angle variables
+with the new ones (followed by the renumbered original).
+
+
+ AWK/GREP equivalent
+This program is roughly equivalent to the following lines of awk/grep:
+
+awk 'BEGIN{i=-1} {if(substr($0,0,8)=="$/angle") i=NR; if (i==-1){print $0}}'\
+ < ttree_assignments.txt > ttree_assignments_new.txt
+
+awk '{print $1}' < new_Angles.template > Angles_column1.txt
+grep '$/angle:' ttree_assignments.txt | awk '{print $1}' >> Angles_column1.txt
+awk '{print $1 " " NR}' < Angles_column1.txt >> ttree_assignments_new.txt
+
+awk 'BEGIN{found=0;passed=0} {if(substr($0,0,8)=="$/angle") found=1;
+ else {if (found) {passed=1}}
+ if (passed) print $0}' \
+ < ttree_assignments.txt >> ttree_assignments_new.txt
+
+I wrote this python script (instead of using awk) just to handle quoted stings
+(and strings with other fancy characters and escape sequences).
+
+"""
+
+import sys
+
+try:
+ from .ttree_lex import SplitQuotedString, InputError
+except (SystemError, ValueError):
+ # not installed as a package
+ from ttree_lex import *
+
+g_program_name = __file__.split('/')[-1]
+
+
+def main():
+ try:
+ if (len(sys.argv) != 3):
+ raise InputError('Error running \"' + g_program_name + '\"\n'
+ ' Wrong number of arguments.\n'
+ ' (This is likely a programmer error.\n'
+ ' This script was not intended to be run by end users.)\n')
+
+ cat_name = sys.argv[1]
+ f = open(sys.argv[2])
+ lines_generated = f.readlines()
+ f.close()
+
+ # Selections are simply lists of 2-tuples (pairs)
+ #f = open('ttree_assignments.txt','r')
+ #lines_bindings = f.readlines()
+ # f.close()
+ lines_bindings = sys.stdin.readlines()
+
+ # Figure out which lines in the 'ttree_assignments.txt' file
+ # contain the variables of the type you are looking for.
+ # Make note of the relevant line numbers
+ i_preexisting_begin = -1
+ i_preexisting_end = -1
+ in_section = False
+ possible_cat_names = set(
+ ['$' + cat_name, '$/' + cat_name, '${' + cat_name, '${/' + cat_name])
+
+ preexisting_interaction_list = []
+ for i in range(0, len(lines_bindings)):
+ line = lines_bindings[i].strip()
+ tokens = SplitQuotedString(line) # strip comments, handle quotes
+ if len(tokens) == 2:
+ before_colon = tokens[0].split(':')[0]
+ if before_colon in possible_cat_names:
+ if i_preexisting_begin == -1:
+ i_preexisting_begin = i
+ in_section = True
+ else:
+ if in_section:
+ i_preexisting_end = i
+ in_section = False
+
+ if i_preexisting_end == -1:
+ i_preexisting_end = len(lines_bindings)
+
+ if i_preexisting_begin == -1:
+ for line in lines_bindings:
+ sys.stdout.write(line)
+ else:
+ # write out all the lines in the original file up until the point where
+ # the variables in the category we are looking for were encountered
+ for i in range(0, i_preexisting_begin):
+ sys.stdout.write(lines_bindings[i])
+
+ sys.stderr.write(' (adding new lines)\n')
+
+ # Now add some new lines (2-column format).
+ # As with any ttree_assignment.txt file:
+ # The first column has our generated variable names
+ # The second column has the counter assigned to that variable
+ new_counter = 1
+ for line_orig in lines_generated:
+ line = line_orig.strip()
+ if len(line) > 0:
+ tokens = SplitQuotedString(line) # strip comments, handle quotes
+ sys.stdout.write(tokens[0] + ' ' + str(new_counter) + '\n')
+ new_counter += 1
+
+ sys.stderr.write(' (adding pre-exisiting lines)\n')
+ if i_preexisting_begin != -1:
+ # Append the original pre-existing interactions of that type, but assign
+ # them to higher numbers. (Hopefully this helps to make sure that these
+ # assignments will override any of the automatic/generated assignments.)
+ # As with any ttree_assignment.txt file:
+ # The first column has our generated variable names
+ # The second column has the counter assigned to that variable
+
+ # sys.stderr.write(' i_preexisting_begin='+
+ # str(i_preexisting_begin)+
+ # ' i_preexisting_end='+str(i_preexisting_end)+'\n')
+
+ for i in range(i_preexisting_begin, i_preexisting_end):
+ line = lines_bindings[i].strip()
+ tokens = SplitQuotedString(line) # strip comments, handle quotes
+ if len(tokens) == 2:
+ sys.stdout.write(tokens[0] + ' ' + str(new_counter) + '\n')
+ new_counter += 1
+
+ #sys.stderr.write(' (writing pre-exisiting lines)\n')
+
+ # write out all the lines in the original file after this point.
+ for i in range(i_preexisting_end, len(lines_bindings)):
+ sys.stdout.write(lines_bindings[i])
+
+ sys.exit(0)
+
+
+ except (ValueError, InputError) as err:
+ sys.stderr.write('\n' + str(err) + '\n')
+ sys.exit(-1)
+
+if __name__ == '__main__':
+ main()
diff --git a/tools/moltemplate/moltemplate/nbody_graph_search.py b/tools/moltemplate/moltemplate/nbody_graph_search.py
new file mode 100644
index 000000000..945158cba
--- /dev/null
+++ b/tools/moltemplate/moltemplate/nbody_graph_search.py
@@ -0,0 +1,971 @@
+# Author: Andrew Jewett (jewett.aij at g mail)
+# http://www.chem.ucsb.edu/~sheagroup
+# License: 3-clause BSD License (See LICENSE.TXT)
+# Copyright (c) 2012, Regents of the University of California
+# All rights reserved.
+
+
+#__all__ = ['Ugraph', 'GraphMatcher', 'DFS', 'GenError', 'GraphError', 'Disconnected', 'NotUndirected']
+
+
+import sys
+import copy
+from operator import itemgetter
+
+
+class GenError(Exception):
+ """
+ An exception class containing string for error reporting.
+
+ """
+
+ def __init__(self, err_msg):
+ self.err_msg = err_msg
+
+ def __str__(self):
+ return self.err_msg
+
+ def __repr__(self):
+ return str(self)
+
+
+class GraphError(GenError):
+ """
+ An exception class containing a graph and a string for error reporting.
+
+ """
+
+ def __init__(self, g, err_msg):
+ GenError.__init__(self, err_msg)
+ self.g = g
+
+ def __str__(self):
+ g_str = str(g)
+ # If the string representation of the graph is too
+ # large to fit in one screen, truncate it
+ g_str_lines = g_str.split('\n')
+ if (len(g_str_lines) > 12):
+ g_str_lines = g_str_lines[0:12] + \
+ [' ...(additional lines not shown)]']
+ g_str = '\n'.join(g_str_lines)
+ return 'Problem with graph:\n' + g_str + '\n' + self.err_msg
+
+ def __repr__(self):
+ return str(self)
+
+
+class Disconnected(GraphError):
+
+ def __init__(self, g, err_msg):
+ GraphError.__init__(self, g, err_msg)
+
+
+class NotUndirected(GraphError):
+
+ def __init__(self, g, err_msg):
+ GraphError.__init__(self, g, err_msg)
+
+
+class Edge(object):
+ __slots__ = ["start", "stop", "attr"]
+
+ def __init__(self,
+ iv_start, # edge starts here (index into vertex list)
+ iv_stop, # edge ends here (index into vertex list)
+ attr=None): # edges have an optional type attribute
+ self.start = iv_start
+ self.stop = iv_stop
+ self.attr = attr
+
+ def __str__(self):
+ return '(' + str(self.start) + ',' + str(self.stop) + ')'
+
+ def __repr__(self):
+ return str(self)
+
+
+class Vertex(object):
+ __slots__ = ["attr"]
+
+ def __init__(self, attr=None):
+ self.attr = attr
+
+
+class Dgraph(object):
+ """
+ This class is a minimal implementation of a directed graph.
+ Vertices and edges are accessed by integer index only (beginning at 0).
+ Multiple edges connecting the same pair of vertices are allowed.
+ (One would use the AddEdge() member function to accomplish this.)
+ Both vertices and edges have an optional "attr" attribute.
+
+ """
+
+ NULL = -1 # forbidden vertex id number (used several places)
+
+ def __init__(self, edgelist=None):
+ """
+ The constructor accepts an optional neighborlist argument.
+ This is a simple list of neighbors for every vertex in the graph
+ and it completely defines the topology of the graph.
+ (Vertex and edge attributes can be specified later.)
+
+ Alternatley, you can leave the neighborlist argument blank,
+ and build the graph one vertex at a time later
+ using the "AddVertex()" and "AddEdge()" commands.
+ (AddEdge() commands must be issued strictly after
+ all vertices have been defined.)
+
+ """
+
+ if edgelist == None:
+ self.verts = []
+ self.edges = []
+ # integer keeps track of # of vertices = len(self.verts)
+ self.nv = 0
+ # integer keeps track of # of edges = len(self.edges)
+ self.ne = 0
+ self.neighbors = [] # The adjacency list.
+
+ else:
+ # Parse the edge-list format:
+ iv_max = 0 # <-- what's the vertex with the maximum id number?
+ for i in range(0, len(edgelist)):
+ iv = edgelist[i][0]
+ jv = edgelist[i][1]
+ if ((iv < 0) or (jv < 0)):
+ raise(GenError(
+ 'Error in Dgraph.__init__: Negative vertex number pair encountered: (' + str(iv) + ',' + str(jv) + ')'))
+ if iv > iv_max:
+ iv_max = iv
+ if jv > iv_max:
+ iv_max = jv
+
+ self.nv = iv_max + 1
+ self.verts = [Vertex() for iv in range(0, self.nv)]
+ self.edges = []
+ self.ne = 0
+ self.neighbors = [[] for iv in range(0, self.nv)]
+
+ for i in range(0, len(edgelist)):
+ iv = edgelist[i][0]
+ jv = edgelist[i][1]
+ self.neighbors[iv].append(self.ne)
+ self.edges.append(Edge(iv, jv))
+ self.ne += 1
+ assert(self.ne == len(self.edges))
+
+ self.SortNeighborLists()
+
+ def AddVertex(self, iv=-1, attr=None):
+ """
+ Add a vertex to the graph.
+ (Edges connected to this vertex must be added later using "AddEdge()"
+ All vertices should be added before "AddEdge()" is ever invoked.)
+
+ Optional "attr" argument allows you to set the attribute of this vertex.
+ (for example, in a molecule this might correspond to the type of atom
+ in the molecule).
+
+ Optional "iv" argument allows you to specify the index of that vertex.
+ Vertices can be added in any order, but thei vertex id numbers
+ should eventually fill the range from 0 to self.nv-1.
+
+ """
+ if iv == -1: # if iv unspecified, put the vertex at the end of the list
+ iv = self.nv
+
+ if iv < self.nv:
+ self.verts[iv].attr = attr
+ else:
+ # In case there is a gap between iv and nv, fill it with blanks
+ self.verts += ([Vertex()] * ((1 + iv) - self.nv))
+ self.neighbors += ([[]] * ((1 + iv) - self.nv))
+ self.verts[iv].attr = attr
+ self.nv = iv + 1
+ assert(self.nv == len(self.verts))
+ assert(self.nv == len(self.neighbors))
+
+ def AddEdge(self, iv, jv, attr=None, remove_duplicates=False):
+ """
+ Add an edge to graph connecting vertex iv to jv.
+ (both are integers from 0 to self.nv-1)
+ This function must not be called until all vertices have been added.
+ If the edge is already present (and remove_duplicates==True),
+ no new edge will be added.
+
+ """
+ if remove_duplicates:
+ for je in self.neighbors[iv]:
+ if jv == self.edges[je].stop:
+ return # In that case, do nothing, the edge is already present
+ self.edges.append(Edge(iv, jv, attr))
+ self.neighbors[iv].append(self.ne)
+ self.ne += 1
+ assert(self.ne == len(self.edges))
+
+ def ReorderVerts(self, vpermutation, invert=False):
+ """
+ This function allows the user to re-order (relabel) the vertices
+ in a graph, making the necessary changes to the
+ self.verts, self.edges, and self.neighbors lists.
+ By default (invert=False). The vpermutation is a list
+ from 1 to self.nv which is interpreted this way:
+ iv = vpermutation[iv_orig]
+ where "iv" and "iv_orig" are the vertex id numbers before
+ and after the mapping (which also corresponds to its
+ position in the self.verts and self.neighbors arrays).
+
+ """
+ assert(len(self.verts) == self.nv)
+ assert(len(self.edges) == self.ne)
+ assert(len(vpermutation) == self.nv)
+
+ if (invert):
+ vperm = [-1 for iv in vpermutation]
+ for iv in range(0, self.nv):
+ vperm[vpermutation[iv]] = iv
+ else:
+ vperm = vpermutation
+
+ orig_verts = [vert for vert in self.verts]
+ for iv_old in range(0, self.nv):
+ iv = vperm[iv_old]
+ self.verts[iv] = orig_verts[iv_old]
+
+ for ie in range(0, self.ne):
+ self.edges[ie].start = vperm[self.edges[ie].start]
+ self.edges[ie].stop = vperm[self.edges[ie].stop]
+
+ orig_neighbors = [nlist for nlist in self.neighbors]
+ # self.neighbors is a 2-d array.
+ # We need to re-sort "self.neighbors" because the first index is
+ # a vertex id number, and these id numbers have been permuted.
+ # However, there's no need to sort the contents of each sub-array
+ # (self.neighbors[iv]), because these are edge id numbers (indices into
+ # the self.edges[] array). These edge index numbers are never altered.
+ # (However the entries stored in self.edges were modified earlier.)
+ for iv_old in range(0, self.nv):
+ iv = vperm[iv_old]
+ self.neighbors[iv] = orig_neighbors[iv_old]
+
+ # Optional:
+ self.SortNeighborLists()
+
+ def ReorderEdges(self, epermutation, invert=False):
+ """
+ This function allows the user to re-order (relabel) the
+ edges in a graph, making the necessary changes to the
+ self.edges and self.neighbors lists.
+ By default (invert=False). The epermutation is a list
+ from 1 to self.ne which is interpreted this way:
+ ie = epermutation[ie_orig]
+ where "ie" and "ie_orig" are the edge id numbers before
+ and after the mapping (which also corresponds to that edge's
+ position in the self.edges array).
+ (Minor detail: Recall that in this code, Ugraphs
+ are implemented by placing two (directed) edges between each pair of
+ connected, adjacent vertices, which point back-and-forth between them.
+ Consequently the list of edges in self.edges is often typically
+ twice as large you might expect.)
+
+ """
+ assert(len(self.verts) == self.nv)
+ assert(len(self.edges) == self.ne)
+ assert(len(epermutation) == self.ne)
+
+ if (invert):
+ eperm = [-1 for ie in epermutation]
+ for ie in range(0, self.ne):
+ eperm[epermutation[ie]] = ie
+ else:
+ eperm = epermutation
+
+ orig_edges = [edge for edge in self.edges]
+ for ie_old in range(0, self.ne):
+ ie = eperm[ie_old]
+ self.edges[ie] = orig_edges[ie_old]
+
+ for iv in range(0, self.nv):
+ for j in range(0, len(self.neighbors[iv])):
+ je_old = self.neighbors[iv][j]
+ self.neighbors[iv][j] = eperm[je_old]
+
+ def SortNeighborLists(self):
+ assert(self.nv == len(self.neighbors))
+ for iv in range(0, self.nv):
+ # Back when self.neighbors was just a 2-dimensional list of
+ # vertex id numbers, then the following line would have worked:
+ # self.neighbors[iv].sort()
+
+ # ugly python code alert:
+ # Unfortunately, we had to change the format of self.neighbors. Now
+ # it is a list of indices into the self.edges array ("ie" numbers).
+ # We want to sort the "ie" numbers by the vertices they point to.
+ # self.edge[ie].start should point to the current vertex (hopefully).
+ # self.edge[ie].stop should point to the vertex it's attached to.
+ # So we want to sort the ie's in self.neighbors by self.edge[ie].stop
+ # Create a temporary array of 2-tuples (ie, jv)
+ nlist = [(ie, self.edges[ie].stop)
+ for ie in self.neighbors[iv]]
+ self.neighbors[iv] = [ie for ie, jv in sorted(nlist,
+ key=itemgetter(1))]
+
+ def FindEdge(self, istart, istop):
+ """
+ A simple function looks up the edge id number
+ corresponding to an edge connecting vertex istart to istop.
+ If not present returns Dgraph.NULL.
+
+ """
+ iv = istart
+ for je in self.neighbors[iv]:
+ jv = self.edges[je].stop
+ if jv == istop:
+ return je
+ return Dgraph.NULL
+
+ def GetVert(self, iv):
+ return self.verts[iv]
+
+ def GetEdge(self, ie):
+ return self.edges[ie]
+
+ def GetNumVerts(self):
+ return self.nv
+
+ def GetNumEdges(self):
+ return self.ne
+
+ # Commenting out. I think it's clearer to use python's deepcopy instead
+ # def makecopy(self):
+ # new_copy = Ugraph()
+ # new_copy.verts = [vertex for vertex in self.verts]
+ # new_copy.edges = [ edge for edge in self.edges]
+ # new_copy.neighbors = [nlist for nlist in self.neighbors]
+ # new_copy.nv = self.nv
+ # new_copy.ne = self.ne
+ # return new_copy
+
+ def __str__(self):
+ # Print the graph as a list of neighbor-lists.
+ # (Note: This is the same format as the first argument to __init__().
+ # The Vertex.attr and Edge.attr attributes are not printed.)
+ l = ['([']
+ for iv in range(0, self.nv):
+ l.append('[')
+ for j in range(0, len(self.neighbors[iv])):
+ je = self.neighbors[iv][j]
+ jv = self.edges[je].stop
+ l.append(str(jv))
+ if j < len(self.neighbors[iv]) - 1:
+ l.append(', ')
+ else:
+ l.append(']')
+ if iv < self.nv - 1:
+ l.append(',\n ')
+ else:
+ l.append(']')
+ l.append(',\n [')
+ for ie in range(0, self.ne):
+ l.append(str(self.edges[ie]))
+ if ie < self.ne - 1:
+ l.append(', ')
+ else:
+ l.append('])\n')
+ return ''.join(l)
+
+ def __repr__(self):
+ return str(self)
+
+
+class Ugraph(Dgraph):
+ """
+ This class is a minimal implementation of an undirected graph.
+ Vertices and edges are accessed by integer index only (beginning at 0).
+ Multiple edges connecting the same pair of vertices are allowed.
+ (One would use the AddEdge() member function to accomplish this.)
+ Both vertices and edges have an optional "attr" attribute.
+
+ Undirected graphs (Ugraphs) are represented internally as
+ directed graphs. This means that for every edge in the Ugraph,
+ connecting vertex 2 to 3, for example, two edges are stored
+ internally, (2 -> 3, and 3 -> 2),
+ Edges which begin and end at the same vertex are stored only once.)
+
+ """
+
+ def __init__(self, edgelist=None):
+ Dgraph.__init__(self, edgelist)
+
+ # Now add the extra edges which point in the reverse direction.
+ neu = self.ne
+ ned = self.ne
+ for ieu in range(0, self.ne):
+ iv = self.edges[ieu].start
+ jv = self.edges[ieu].stop
+ if iv != jv:
+ ned += 1
+
+ self.ieu_to_ied = [Dgraph.NULL for ieu in range(0, neu)]
+ self.ied_to_ieu = [Dgraph.NULL for ied in range(0, ned)]
+
+ ied_redundant = neu
+ for ie in range(0, neu):
+ iv = self.edges[ie].start
+ jv = self.edges[ie].stop
+ attr = self.edges[ie].attr
+ self.ieu_to_ied[ie] = ie
+ self.ied_to_ieu[ie] = ie
+
+ if iv != jv:
+ # Then create another edge which points in the reverse direction
+ # <--this increments self.ne
+ Dgraph.AddEdge(self, jv, iv, attr)
+ self.ied_to_ieu[ied_redundant] = ie
+ ied_redundant += 1
+
+ self.neu = neu
+ assert(self.ne == ned)
+
+ def AddEdge(self, iv, jv, attr=None, remove_duplicates=False):
+ """
+ Add an edge to an undirected graph connecting vertices iv and jv.
+ If the edge is already present (and remove_duplicates==True),
+ no new edge will be added.
+
+ Note: Undirected Ugraphs are implemented by creating two separate
+ digraph edges that conect iv->jv and jv->iv.
+
+ """
+
+ self.ieu_to_ied.append(len(self.edges))
+ Dgraph.AddEdge(self, iv, jv, attr, remove_duplicates)
+ self.ied_to_ieu.append(self.neu)
+ if jv != iv:
+ Dgraph.AddEdge(self, jv, iv, attr, remove_duplicates)
+ self.ied_to_ieu.append(self.neu)
+ self.neu += 1
+
+ assert(len(self.ieu_to_ied) == self.neu)
+ assert(len(self.ied_to_ieu) == len(self.edges))
+
+ def ReorderEdges(self, epermutation, invert=False):
+ Dgraph.ReorderEdges(self, epermutation, invert)
+
+ # Now update the
+ # self.ieu_to_ied and
+ # self.ied_to_ieu lookup tables:
+
+ if (invert): # (first invert the permutation if necessary)
+ eperm = [-1 for ie in epermutation]
+ for ie in range(0, self.ne):
+ eperm[epermutation[ie]] = ie
+ else:
+ eperm = epermutation
+ # epermutation.reverse()
+
+ ieu_to_ied_orig = [ied for ied in self.ieu_to_ied]
+ ied_to_ieu_orig = [ieu for ieu in self.ied_to_ieu]
+
+ for ieu in range(0, self.neu):
+ ied_old = ieu_to_ied_orig[ieu]
+ ied = eperm[ied_old]
+ self.ieu_to_ied[ieu] = ied
+ for ied_old in range(0, self.ne):
+ ieu = ied_to_ieu_orig[ied_old]
+ ied = eperm[ied_old]
+ self.ied_to_ieu[ied] = ieu
+
+ eperm = epermutation
+
+ def LookupDirectedEdgeIdx(self, ieu):
+ return self.ieu_to_ied[ieu]
+
+ def LookupUndirectedEdgeIdx(self, ied):
+ return self.ied_to_ieu[ied]
+
+ # def GetVert(self, iv): <-- (inherited from parent)
+ # return self.verts[iv]
+
+ def GetEdge(self, ieu):
+ ied = self.ieu_to_ied[ieu]
+ return self.edges[ied]
+
+ # def GetNumVerts(self): <-- (inherited from parent)
+ # return self.nv
+
+ def GetNumEdges(self):
+ return self.neu
+
+ def FindEdge(self, istart, istop):
+ """
+ A simple function looks up the (undirected) edge id number
+ corresponding to an edge connecting vertices istart and istop.
+ If not present returns Dgraph.NULL.
+
+ To find the corresponding entry in the self.edges[] list,
+ you can either:
+ use the LookupDirectedEdge() lookup function
+ or
+ you can use the parent-class' version of this function
+ Dgraph.FindEdge(self, istart, istop) which returns
+ this number by default.
+
+ """
+ ied = Dgraph.FindEdge(self, istart, istop)
+ ieu = self.LookupUndirectedEdgeIdx(ied)
+ return ieu
+
+ def CalcEdgeLookupTable(self):
+ """
+ COMMENT: THIS NEXT FUNCTION IS PROBABLY NOT NECESSARY AND MIGHT BE
+ REMOVED AT A LATER TIME WHEN I FIGURE OUT A BETTER WAY.
+
+ Because undirected graphs (Ugraphs) are implemented as directed graphs
+ (Dgraphs) with redundant edges, they may have some extra edges which
+ the user never explicitly asked for.
+ There is some confusion about whether the i'th edge refers to
+ the i'th undirected edge that the user explicitly added, or
+ the i'th directed edge which is stored internally.
+
+ (The number of directed edges is usually twice the number of
+ edges that the user asked for. But not always, because edges
+ wich start and end at the same vertex are only represented once.)
+
+ This function calculates lookup tables to translate between
+ the two edge numbering systems:
+
+ self.ieu_to_ied[ieu] returns a directed edge id number,
+ (which is an index into the self.edges list)
+ corresponding to the ieu'th undirected edge
+ which was explicitly added by the caller.
+
+ self.ied_to_ieu[ied] takes a directed edge id number (ied,
+ an index into the self.edges list)
+ and returns the undirected edge number,
+ which is allways <= ied
+
+ """
+
+ self.ieu_to_ied = []
+ self.ied_to_ieu = [Ugraph.NULL for ied in range(0, self.ne)]
+ for ied in range(0, self.ne):
+ iv = self.edges[ied].start
+ jv = self.edges[ied].stop
+ ieu = len(self.ieu_to_ied)
+ self.ied_to_ieu[ied] = ieu
+ if iv <= jv:
+ self.ieu_to_ied.append(ied)
+
+
+def SortVertsByDegree(g):
+ vert_numneighbors = [(iv, len(g.neighbors[iv])) for iv in range(0, g.nv)]
+ vert_numneighbors.sort(key=itemgetter(1))
+ order = [vert_numneighbors[iv][0] for iv in range(0, g.nv)]
+ g.ReorderVerts(order, invert=True)
+
+
+class DFS(object):
+ """
+ This class contains a member function (Order()) calculates the order
+ of vertices visited in a depth-first-search over a connected graph.
+
+ """
+
+ def __init__(self, g):
+ self.g = g
+ self.sv = 0 # integer sv keeps track of how many vertices visited so far
+ self.se = 0 # integer se keeps track of how many edges visited so far
+ self.vvisited = [False for iv in range(0, self.g.nv)] # verts visited
+ self.vorder = [Dgraph.NULL for iv in range(
+ 0, self.g.nv)] # search order
+ self.evisited = [False for ie in range(0, self.g.ne)] # edges visited
+ self.eorder = [Dgraph.NULL for ie in range(
+ 0, self.g.ne)] # search order
+
+ def Reset(self):
+ self.sv = 0
+ self.se = 0
+ for iv in range(0, self.g.nv):
+ self.vvisited[iv] = False
+ self.vorder[iv] = Dgraph.NULL
+ for ie in range(0, self.g.ne):
+ self.evisited[ie] = False
+ self.eorder[ie] = Dgraph.NULL
+
+ def Order(self, starting_node=0):
+ """
+ VisitOrder(starting_node)
+ generates a list of integers from 0 to self.g.nv-1 (=#vertices minus 1)
+ which represents the order in which the vertices would be visited
+ during a Depth-First-Search.
+
+ The first vertex visited is specified by the "starting_node" argument
+ (an integer (from 0 to g.nv-1)).
+
+ """
+ self.Reset()
+ # The first vertex to be visited should be the starting_node
+ self.vorder[0] = starting_node
+ self.vvisited[starting_node] = True
+ self.sv = 1
+ self._Order(starting_node)
+ if self.sv != self.g.nv:
+ raise(Disconnected(self.g, "Error(Order): " +
+ "The input graph is not connected."))
+ assert(self.se == self.g.ne)
+ return ([iv for iv in self.vorder], [ie for ie in self.eorder])
+ # return self.order
+
+ def _Order(self, iv):
+ """
+ _Order() is a recursive function which carries out a
+ Depth-First-Search over the graph "self.g", starting with vertex iv.
+
+ """
+ for je in self.g.neighbors[iv]:
+ jv = self.g.edges[je].stop
+ if not self.evisited[je]:
+ self.eorder[self.se] = je
+ self.se += 1
+ self.evisited[je] = True
+ if not self.vvisited[jv]:
+ self.vorder[self.sv] = jv
+ self.sv += 1
+ self.vvisited[jv] = True
+ self._Order(jv)
+
+ def IsConnected(self):
+ self.Reset()
+ self._Order(0)
+ return (self.sv == self.g.nv)
+
+ def IsCyclic(self):
+ """
+ IsCyclic() returns True if the graph is cyclic (and connected).
+ (An exception is raised on disconnected graphs.)
+ This function quits early as soon as a cycle is found.
+
+ """
+ self.Reset()
+ if (type(self.g) is Ugraph):
+ is_cyclic = self._IsCyclicUgraph(0, Dgraph.NULL)
+ else:
+ is_cyclic = self._IsCyclic(0)
+ if ((self.sv != self.g.nv) and (not is_cyclic)):
+ raise(Disconnected(self.g, "Error(IsCyclic): " +
+ "The input graph is not connected."))
+ return is_cyclic
+
+ def _IsCyclicUgraph(self, iv, ivprev):
+ """
+ _IsCyclicUgraph() is a recursive function which carries out a
+ Depth-First-Search over the graph "self.g" to determine whether the
+ graph is cyclic. This function works on undirected graphs (Ugraphs).
+
+ Indirected graphs (Ugraphs) are a special case.
+ Ugraphs are implemented by using two (redundant) forward/backward edges
+ connecting each pair of adjacent vertices. This creates trivial loops.
+ This version of _IsCyclicUgraph() only counts loops between more
+ distantly connected vertices.
+
+ """
+ self.sv += 1
+ self.vvisited[iv] = True
+ for je in self.g.neighbors[iv]:
+ jv = self.g.edges[je].stop
+ if self.vvisited[jv]:
+ if jv != ivprev:
+ return True
+ elif self._IsCyclicUgraph(jv, iv):
+ return True
+
+ return False
+
+ def _IsCyclic(self, iv):
+ """
+ _IsCyclic() is a recursive function which carries out a
+ Depth-First-Search over the graph "self.g" to determine whether
+ the graph is cyclic.
+ This function works on directed graphs.
+
+ """
+ self.sv += 1
+ self.vvisited[iv] = True
+ for je in self.g.neighbors[iv]:
+ jv = self.g.edges[je].stop
+ if self.vvisited[jv]:
+ return True
+ elif self._IsCyclic(jv):
+ return True
+
+ return False
+
+
+class GraphMatcher(object):
+ """
+ This class is a variant of the VF2 algorithm for searching
+ for small connected subgraphs (g) within a larger graph (G).
+ GraphMatcher works on directed or underected graphs (Dgraph or Ugraph).
+ This particular version is better optimized for detecting subgraph
+ isomorphisms between two graphs of highly unequal size. It should be
+ faster in these situations because, the computation required for
+ each step is independent of the number of vertices in the larger graph
+ In the original VF2 algorithm, the computation time for each step
+ is proportional to the number of vertices in the larger graph.
+ (The distinction matters when one graph is much smaller than the other.)
+
+ Limitations: At the moment, the matching process uses a simple
+ depth-first-search to search the vertices of the small graph "g".
+ Hence this approach fails when the smaller graph g is disconnected.
+ (but it can probably be fixed by picking a different algorithm to search
+ the small graph).
+
+ """
+
+ def __init__(self,
+ G, # The "big" graph
+ g): # The little graph (number of vertices in g must be <= G)
+
+ self.G = G
+ self.g = copy.deepcopy(g)
+
+ if (type(self.G) is Ugraph):
+ assert(type(self.g) is Ugraph)
+ # self.G.CalcEdgeLookupTable() <-- not needed anymore
+
+ self.sv = 0
+ self.se = 0
+ self.voccupiedG = [False for iv in range(0, G.nv)]
+ self.eoccupiedG = [False for ie in range(0, G.ne)]
+ self.G_is_too_small = False
+ if ((g.nv > G.nv) or
+ (g.ne > G.ne)):
+ self.G_is_too_small = True
+ # raise GenErr('Error: The first argument of GraphMatcher(G,g),\n'+
+ # ' must be at least as large as the second.')
+
+ # The list self.iv_to_Iv is the mapping between the graph vertices.
+ # Iv is an index into the large graph's list of vertices.
+ # iv is an index into the small graph's list of vertices.
+ # The mapping is stored in the iv_to_Iv list.
+ self.iv_to_Iv = [Dgraph.NULL for Iv in range(0, self.g.nv)]
+ self.ie_to_Ie = [Dgraph.NULL for Ie in range(0, self.g.ne)]
+ # (This used to be called "core_2" in the VF2 algorithm)
+
+ # Due to the large number of recursion limit
+ self.old_recursion_limit = sys.getrecursionlimit()
+ expected_max_recursion = self.g.nv
+
+ if self.old_recursion_limit < 1.5 * expected_max_recursion:
+ # Give some breathing room.
+ sys.setrecursionlimit(int(1.5 * expected_max_recursion))
+
+ subgraph_searcher = DFS(self.g)
+ # Perform a Depth-First-Search on the small graph.
+ self.vorder_g, self.eorder_g = subgraph_searcher.Order()
+ # Then re-order the vertices and edgers to
+ # match the order they were visited.
+
+ # Note on permutation order:
+ # (The DFS.Order() function returns the permutation in this format
+ # old_index[ new_index ]
+ # where new_index is the DFS iteration when the vertex/edge was visited
+ # and old_index is the original vertex/edge order.
+ # However the ReorderVerts() and ReorderEdges() functions expect
+ # the permutation to have the opposite order: new_index[ old_index ]
+ # Hence we set "invert=True", when we invoke these functions.)
+ self.g.ReorderVerts(self.vorder_g, invert=True)
+ self.g.ReorderEdges(self.eorder_g, invert=True)
+
+ # Initialize state
+ self.Reset()
+
+ def Reset(self):
+ """Reinitializes the state of the match-search algorithm.
+
+ """
+ for iv in range(0, self.g.nv):
+ self.iv_to_Iv[iv] = Dgraph.NULL
+ for ie in range(0, self.g.ne):
+ self.ie_to_Ie[ie] = Dgraph.NULL
+ for Iv in range(0, self.G.nv):
+ self.voccupiedG[Iv] = False
+ for Ie in range(0, self.G.ne):
+ self.eoccupiedG[Ie] = False
+
+ self.se = 0
+ self.sv = 0
+
+ # OPTIONAL: First, do a partial sort for the vertices in the graphs
+ # based on number of edges emanating from each vertex.
+ # (This is probably unnecessary for small subgraphs.)
+ # SortVertsByDegree(self.g)
+
+ def Matches(self):
+ """
+ Iterator over all matches between G and g.
+ Each "match" corresponds to a subgraph of G which is isomorphic to g.
+ Matches is formatted as a 2-tuple of lists:
+ (list of vertex ids from G, list of edge ids from G)
+ The vertex ids in the list are a subset of the integers from 0 to G.nv.
+ The edge ids in the list are a subset of the integers from 0 to G.ne.
+
+ (The corresponding vertices and edges from g are indicated by the order)
+
+ """
+
+ self.Reset()
+ if self.G_is_too_small:
+ # Then there are fewer verts and edges in G than in g.
+ # Thus it is impossible for a subgraph of G to be isomorphic to g.
+ return # return no matches
+
+ for Iv in range(0, self.G.nv):
+
+ # match vertex Iv from G with vertex 0 from graph g
+ self.iv_to_Iv[0] = Iv
+ self.voccupiedG[Iv] = True
+
+ # Implementation:
+ # In this loop we begin the search process
+ # starting with a different vertex (Iv) from big graph G,
+ # and matching it with the first vertex (iv=0) from small graph g.
+ # In this way the match "begins" from vertex Iv in G.
+ #
+ # Any matches found which begin from vertex Iv are distinct
+ # from matches beginning from any other vertex in G.
+ # Looping over all Iv in G is necessary and sufficient
+ # to insure that all possible subgraphs of G
+ # (which are isomorphic to g) are considered.
+
+ self.sv = 1 # we have matched one vertex already
+ self.se = 0 # we haven't matched any edges yet
+ for match in self.Match():
+ yield match
+ self.voccupiedG[Iv] = False
+
+ def Match(self):
+
+ # self.se represents how many vertices have been matched so far.
+ # We are done searching if all of the edges from 0 to self.se-1
+ # from graph g have been selected (matched with edges from graph G).
+ if self.se == self.g.ne:
+ # Note: This also gaurantees that all vertices have been visited.
+ assert(self.sv == self.g.nv)
+ yield self.ReformatMatch()
+
+ else:
+ # VF2-style recursive loop:
+
+ # We know the next edge to be matched is connected to at least
+ # one previously visited vertex from g which has already been
+ # been added to the the current match-in-progress.
+ iv = self.g.edges[self.se].start
+ Iv = self.iv_to_Iv[iv]
+ assert(iv < self.sv) # <-- check to verify this is so
+
+ # The other vertex may or may not have been visited (matched) yet.
+ iv_neighbor = self.g.edges[self.se].stop
+
+ # Two cases:
+ # Case 1: edge self.se points to a previously visited vertex from g
+ # This means we have a loop.
+ if iv_neighbor < self.sv:
+ # In that case, then the corresponding edge in G must
+ # connect the corresponding pair of vertices from G.
+ # (Which we know have already been assigned to vertices in g
+ # because both iv and iv_neighbor are < self.sv)
+ Iv_neighbor = self.iv_to_Iv[iv_neighbor]
+ # Loop over all of the edges in G which connect this pair
+ # of vertices (Iv --> Iv_neighbor)
+ for Je in self.G.neighbors[Iv]:
+ Jv = self.G.edges[Je].stop
+ if ((Jv == Iv_neighbor) and
+ (not self.eoccupiedG[Je])):
+
+ # Match edge Je from big graph G with
+ # edge self.se from small graph g
+ self.ie_to_Ie[self.se] = Je
+ self.se += 1
+ self.eoccupiedG[Je] = True
+ for match in self.Match():
+ yield match
+ self.eoccupiedG[Je] = False
+ self.se -= 1
+ self.ie_to_Ie[self.se] = Dgraph.NULL
+
+ # Case 2:
+ else: # this would mean that iv_neighbor >= self.sv
+
+ # If iv_neighbor>=self.sv, then this edge points to to a vertex
+ # in g which has not yet been paired with a vertex from G.
+
+ # Loop over all of the edges in G which connect vertex
+ # Iv from G to new (unvisited) vertices in G
+ for Je in self.G.neighbors[Iv]:
+ Jv = self.G.edges[Je].stop
+ if (not self.voccupiedG[Jv]):
+
+ assert(not self.eoccupiedG[Je])
+ # Match both edge Je with je
+ # AND vertex Jv with jv
+ self.ie_to_Ie[self.se] = Je
+ self.se += 1
+ self.eoccupiedG[Je] = True
+ self.iv_to_Iv[self.sv] = Jv
+ self.sv += 1
+ self.voccupiedG[Jv] = True
+ # Then continue the recursion
+ for match in self.Match():
+ yield match
+ self.voccupiedG[Jv] = False
+ self.sv -= 1
+ self.iv_to_Iv[self.sv] = Dgraph.NULL
+ self.eoccupiedG[Je] = False
+ self.se -= 1
+ self.ie_to_Ie[self.se] = Dgraph.NULL
+
+ def ReformatMatch(self):
+ # (This is because we are assuming g is connected.
+ # IT should not have any orphanned vertices.)
+ # Now return the match:
+ #
+ # There are different ways of doing this
+ # version 1:
+ # match = (self.iv_to_Iv, self.ie_to_Ie) <-return a pointer to array
+ # version 2:
+ # match = ([Iv for Iv in self.iv_to_Iv], <-return a copy of the array
+ # [Ie for Ie in self.ie_to_Ie])
+ # version 3:
+ # Recall that the vertices and edges and g have been re-ordered,
+ # so sort the list of Iv indices in the order they would be
+ # matched with the original vertices from the original graph g:
+ # match = ([self.iv_to_Iv[self.vorder_g[iv]]
+ # for iv in range(0,self.g.nv)],
+ # [self.ie_to_Ie[self.eorder_g[ie]]
+ # for ie in range(0,self.g.ne)])
+ # version 4: Similar to version 3 above, but we also translate
+ # the directed edge id list into a shorter undirected
+ # edge id list.
+ match_verts = [self.iv_to_Iv[self.vorder_g[iv]]
+ for iv in range(0, self.g.nv)]
+
+ if type(self.g) is Dgraph:
+ match_edges = [self.ie_to_Ie[self.eorder_g[ie]]
+ for ie in range(0, self.g.ne)]
+ else:
+ #assert(atype(self.g) is Ugraph)
+ match_edges = [Dgraph.NULL for ieu in range(0, self.g.neu)]
+
+ for ie in range(0, self.g.ne):
+ iv = self.g.edges[ie].start
+ jv = self.g.edges[ie].stop
+ if iv <= jv: # <-- avoid duplicating edges (iv,jv) and (jv,iv)
+ ieu = self.g.LookupUndirectedEdgeIdx(ie)
+ Ie = self.ie_to_Ie[ie]
+ Ieu = self.G.LookupUndirectedEdgeIdx(Ie)
+ match_edges[ieu] = Ieu
+
+ return (tuple(match_verts), tuple(match_edges))
diff --git a/tools/moltemplate/moltemplate/nbody_reorder_atoms.py b/tools/moltemplate/moltemplate/nbody_reorder_atoms.py
new file mode 100755
index 000000000..8857ac11c
--- /dev/null
+++ b/tools/moltemplate/moltemplate/nbody_reorder_atoms.py
@@ -0,0 +1,107 @@
+#!/usr/bin/env python
+
+"""
+ Reorder the atoms in the Angles section of a data file to make sure that
+ atoms have a "canonical order" (for example the first atom has a lower
+ id than the last atom, for angle and dihedral interactions.
+ (This helps us detect potential problems like dupicate Angle interactions.)
+
+"""
+
+from operator import itemgetter
+import importlib
+import os
+import sys
+sys.path.append(os.getcwd())
+
+g_program_name = __file__.split('/')[-1]
+
+
+def main():
+ in_stream = sys.stdin
+
+ section_name = ''
+ if len(sys.argv) == 3:
+ section_name = sys.argv[1]
+ module_name = sys.argv[2].rstrip('.py')
+ else:
+ sys.stderr.write('Usage Example:\n\n'
+ ' ' + g_program_name + ' Angles nbody_angles.py < angles.txt > new_angles.txt\n\n'
+ ' In this example \"angles.txt\" contains only the \"Angles\" section of\n'
+ ' a LAMMPS DATA file. (Either a text-editor, or the \n'
+ ' \"extract_lammps_data.py\" script can be used to select a section from\n'
+ ' a LAMMPS DATA file\n\n'
+ 'Error(' + g_program_name +
+ '): expected exactly one argument:\n'
+ ' \"Angles\", \"Dihedrals\", or \"Impropers\"\n')
+ exit(-1)
+
+ # Ordering rules are defined in a seperate module named
+ # nbody_angles.py, nbody_dihedrals.py, nbody_impropers.py
+ # Load that now.
+
+ # search locations
+ package_opts = [[module_name, __package__],
+ ['nbody_alt_symmetry.'+module_name, __package__]]
+
+ if __package__:
+ for i, _ in enumerate(package_opts):
+ package_opts[i][0] = '.' + package_opts[i][0]
+
+ g = None
+ for name, pkg in package_opts:
+ try:
+ # defines g.bond_pattern, g.canonical_order
+ g = importlib.import_module(name, pkg)
+ break
+ except (SystemError, ImportError):
+ pass
+
+ if g is None:
+ sys.stderr.write('Error: Unable to locate file \"' +
+ module_name + '\"\n'
+ ' (Did you mispell the file name?\n'
+ ' Check the \"nbody_alternate_symmetry/\" directory.)\n')
+ sys.exit(-1)
+
+ # This module defines the graph representing the bond pattern for this type
+ # of interaction. (The number of vertices and edges for the graph corresponds
+ # to the number of atoms and bonds in this type of interaction.)
+ natoms = g.bond_pattern.GetNumVerts()
+ nbonds = g.bond_pattern.GetNumEdges()
+
+
+ for line_orig in in_stream:
+ line = line_orig.rstrip('\n')
+ comment = ''
+ if '#' in line_orig:
+ ic = line.find('#')
+ line = line_orig[:ic]
+ comment = ' ' + line_orig[ic:].rstrip('\n')
+
+ tokens = line.strip().split()
+ swapped = False
+ if len(tokens) == 2 + natoms:
+ all_integers = True
+ abids_l = [[0 for i in range(0, natoms)],
+ [0 for i in range(0, nbonds)]]
+ for i in range(0, natoms):
+ if not tokens[2 + i].isdigit():
+ all_integers = False
+ if all_integers:
+ for i in range(0, natoms):
+ abids_l[0][i] = int(tokens[2 + i])
+ else:
+ for i in range(0, natoms):
+ abids_l[0][i] = tokens[2 + i]
+ abids = g.canonical_order((tuple(abids_l[0]), tuple(abids_l[1])))
+ for i in range(0, natoms):
+ tokens[2 + i] = str(abids[0][i])
+
+ sys.stdout.write(' '.join(tokens) + comment + '\n')
+
+ return
+
+
+if __name__ == '__main__':
+ main()
diff --git a/tools/moltemplate/moltemplate/ordereddict.py b/tools/moltemplate/moltemplate/ordereddict.py
new file mode 100644
index 000000000..e0ec82e9d
--- /dev/null
+++ b/tools/moltemplate/moltemplate/ordereddict.py
@@ -0,0 +1,261 @@
+# Backport of OrderedDict() class that runs on Python 2.4, 2.5, 2.6, 2.7 and pypy.
+# Passes Python2.7's test suite and incorporates all the latest updates.
+
+try:
+ from thread import get_ident as _get_ident
+except ImportError:
+ from dummy_thread import get_ident as _get_ident
+
+try:
+ from _abcoll import KeysView, ValuesView, ItemsView
+except ImportError:
+ pass
+
+
+class OrderedDict(dict):
+ 'Dictionary that remembers insertion order'
+ # An inherited dict maps keys to values.
+ # The inherited dict provides __getitem__, __len__, __contains__, and get.
+ # The remaining methods are order-aware.
+ # Big-O running times for all methods are the same as for regular
+ # dictionaries.
+
+ # The internal self.__map dictionary maps keys to links in a doubly linked list.
+ # The circular doubly linked list starts and ends with a sentinel element.
+ # The sentinel element never gets deleted (this simplifies the algorithm).
+ # Each link is stored as a list of length three: [PREV, NEXT, KEY].
+
+ def __init__(self, *args, **kwds):
+ '''Initialize an ordered dictionary. Signature is the same as for
+ regular dictionaries, but keyword arguments are not recommended
+ because their insertion order is arbitrary.
+
+ '''
+ if len(args) > 1:
+ raise TypeError('expected at most 1 arguments, got %d' % len(args))
+ try:
+ self.__root
+ except AttributeError:
+ self.__root = root = [] # sentinel node
+ root[:] = [root, root, None]
+ self.__map = {}
+ self.__update(*args, **kwds)
+
+ def __setitem__(self, key, value, dict_setitem=dict.__setitem__):
+ 'od.__setitem__(i, y) <==> od[i]=y'
+ # Setting a new item creates a new link which goes at the end of the linked
+ # list, and the inherited dictionary is updated with the new key/value
+ # pair.
+ if key not in self:
+ root = self.__root
+ last = root[0]
+ last[1] = root[0] = self.__map[key] = [last, root, key]
+ dict_setitem(self, key, value)
+
+ def __delitem__(self, key, dict_delitem=dict.__delitem__):
+ 'od.__delitem__(y) <==> del od[y]'
+ # Deleting an existing item uses self.__map to find the link which is
+ # then removed by updating the links in the predecessor and successor
+ # nodes.
+ dict_delitem(self, key)
+ link_prev, link_next, key = self.__map.pop(key)
+ link_prev[1] = link_next
+ link_next[0] = link_prev
+
+ def __iter__(self):
+ 'od.__iter__() <==> iter(od)'
+ root = self.__root
+ curr = root[1]
+ while curr is not root:
+ yield curr[2]
+ curr = curr[1]
+
+ def __reversed__(self):
+ 'od.__reversed__() <==> reversed(od)'
+ root = self.__root
+ curr = root[0]
+ while curr is not root:
+ yield curr[2]
+ curr = curr[0]
+
+ def clear(self):
+ 'od.clear() -> None. Remove all items from od.'
+ try:
+ for node in self.__map.itervalues():
+ del node[:]
+ root = self.__root
+ root[:] = [root, root, None]
+ self.__map.clear()
+ except AttributeError:
+ pass
+ dict.clear(self)
+
+ def popitem(self, last=True):
+ '''od.popitem() -> (k, v), return and remove a (key, value) pair.
+ Pairs are returned in LIFO order if last is true or FIFO order if false.
+
+ '''
+ if not self:
+ raise KeyError('dictionary is empty')
+ root = self.__root
+ if last:
+ link = root[0]
+ link_prev = link[0]
+ link_prev[1] = root
+ root[0] = link_prev
+ else:
+ link = root[1]
+ link_next = link[1]
+ root[1] = link_next
+ link_next[0] = root
+ key = link[2]
+ del self.__map[key]
+ value = dict.pop(self, key)
+ return key, value
+
+ # -- the following methods do not depend on the internal structure --
+
+ def keys(self):
+ 'od.keys() -> list of keys in od'
+ return list(self)
+
+ def values(self):
+ 'od.values() -> list of values in od'
+ return [self[key] for key in self]
+
+ def items(self):
+ 'od.items() -> list of (key, value) pairs in od'
+ return [(key, self[key]) for key in self]
+
+ def iterkeys(self):
+ 'od.iterkeys() -> an iterator over the keys in od'
+ return iter(self)
+
+ def itervalues(self):
+ 'od.itervalues -> an iterator over the values in od'
+ for k in self:
+ yield self[k]
+
+ def iteritems(self):
+ 'od.iteritems -> an iterator over the (key, value) items in od'
+ for k in self:
+ yield (k, self[k])
+
+ def update(*args, **kwds):
+ '''od.update(E, **F) -> None. Update od from dict/iterable E and F.
+
+ If E is a dict instance, does: for k in E: od[k] = E[k]
+ If E has a .keys() method, does: for k in E.keys(): od[k] = E[k]
+ Or if E is an iterable of items, does: for k, v in E: od[k] = v
+ In either case, this is followed by: for k, v in F.items(): od[k] = v
+
+ '''
+ if len(args) > 2:
+ raise TypeError('update() takes at most 2 positional '
+ 'arguments (%d given)' % (len(args),))
+ elif not args:
+ raise TypeError('update() takes at least 1 argument (0 given)')
+ self = args[0]
+ # Make progressively weaker assumptions about "other"
+ other = ()
+ if len(args) == 2:
+ other = args[1]
+ if isinstance(other, dict):
+ for key in other:
+ self[key] = other[key]
+ elif hasattr(other, 'keys'):
+ for key in other.keys():
+ self[key] = other[key]
+ else:
+ for key, value in other:
+ self[key] = value
+ for key, value in kwds.items():
+ self[key] = value
+
+ __update = update # let subclasses override update without breaking __init__
+
+ __marker = object()
+
+ def pop(self, key, default=__marker):
+ '''od.pop(k[,d]) -> v, remove specified key and return the corresponding value.
+ If key is not found, d is returned if given, otherwise KeyError is raised.
+
+ '''
+ if key in self:
+ result = self[key]
+ del self[key]
+ return result
+ if default is self.__marker:
+ raise KeyError(key)
+ return default
+
+ def setdefault(self, key, default=None):
+ 'od.setdefault(k[,d]) -> od.get(k,d), also set od[k]=d if k not in od'
+ if key in self:
+ return self[key]
+ self[key] = default
+ return default
+
+ def __repr__(self, _repr_running={}):
+ 'od.__repr__() <==> repr(od)'
+ call_key = id(self), _get_ident()
+ if call_key in _repr_running:
+ return '...'
+ _repr_running[call_key] = 1
+ try:
+ if not self:
+ return '%s()' % (self.__class__.__name__,)
+ return '%s(%r)' % (self.__class__.__name__, self.items())
+ finally:
+ del _repr_running[call_key]
+
+ def __reduce__(self):
+ 'Return state information for pickling'
+ items = [[k, self[k]] for k in self]
+ inst_dict = vars(self).copy()
+ for k in vars(OrderedDict()):
+ inst_dict.pop(k, None)
+ if inst_dict:
+ return (self.__class__, (items,), inst_dict)
+ return self.__class__, (items,)
+
+ def copy(self):
+ 'od.copy() -> a shallow copy of od'
+ return self.__class__(self)
+
+ @classmethod
+ def fromkeys(cls, iterable, value=None):
+ '''OD.fromkeys(S[, v]) -> New ordered dictionary with keys from S
+ and values equal to v (which defaults to None).
+
+ '''
+ d = cls()
+ for key in iterable:
+ d[key] = value
+ return d
+
+ def __eq__(self, other):
+ '''od.__eq__(y) <==> od==y. Comparison to another OD is order-sensitive
+ while comparison to a regular mapping is order-insensitive.
+
+ '''
+ if isinstance(other, OrderedDict):
+ return len(self) == len(other) and self.items() == other.items()
+ return dict.__eq__(self, other)
+
+ def __ne__(self, other):
+ return not self == other
+
+ # -- the following methods are only used in Python 2.7 --
+
+ def viewkeys(self):
+ "od.viewkeys() -> a set-like object providing a view on od's keys"
+ return KeysView(self)
+
+ def viewvalues(self):
+ "od.viewvalues() -> an object providing a view on od's values"
+ return ValuesView(self)
+
+ def viewitems(self):
+ "od.viewitems() -> a set-like object providing a view on od's items"
+ return ItemsView(self)
diff --git a/tools/moltemplate/moltemplate/pdbsort.py b/tools/moltemplate/moltemplate/pdbsort.py
new file mode 100755
index 000000000..b6efd548e
--- /dev/null
+++ b/tools/moltemplate/moltemplate/pdbsort.py
@@ -0,0 +1,144 @@
+#!/usr/bin/env python
+"""
+ Unfortunately, the lines in a PDB files are not always listed in the
+ correct order. Software that reads PDB files is expected to re-sort this
+ data before interpreting it. (One reason I don't like them.)
+ This script reads a PDB file from the standard input, sorts the lines
+ according to ChainID, SeqNum (residue-number), Icode (insert-code),
+ and AtomID (in that order) and prints the result to the standard-out.
+ Only the ATOM and HETATM records are effected.
+ All other lines in the PDB file are printed back to the user verbatim.
+ Note: the "altLoc" column (character #17 on each line) is ignored
+ and is not used for sorting purposes.
+
+"""
+
+import sys
+from operator import attrgetter
+from collections import defaultdict
+
+g_program_name = __file__.split('/')[-1]
+g_version_str = '0.12.0'
+g_date_str = '2016-12-21'
+
+# In order to specify any amino acid in a PDB file, you must provide 3
+# identifiers:
+# the ChainID a single letter specifying
+# the SeqNum an integer indicating the location within that chain
+# the ICode ("insert code" usually 0. I don't know why this number is
+# necessary. ..For the record, I never loved the PDB file format.)
+
+
+class AtomDescr:
+
+ def __init__(self, setChainID, setSeqNum, setICode, setAtomID):
+ self.chainID = setChainID
+ self.seqNum = setSeqNum
+ self.iCode = setICode
+ self.atomID = setAtomID
+
+ # I plan to store this information in a python dictionary.
+ # Unfortunately, in order to use such classes as keys in python dictionaries
+ # I must define comparison operators, and a hash function.
+ # In retrospect I figured out it would have been easier just to use tuples
+ # as dictionary keys. I suppose it was a good excercise to try to do it
+ # using python classes instead. I'm sorry it made the code so long.
+
+ def __le__(self, other):
+ # return ((self.chainID < other.chainID) or ((self.chainID == other.cha
+ # instead I'll exploit python's ability to compare tuples
+ return (self.chainID, self.seqNum, self.iCode, self.atomID) <= (other.chainID, other.seqNum, other.iCode, other.atomID)
+
+ def __lt__(self, other):
+ return (self.chainID, self.seqNum, self.iCode, self.atomID) < (other.chainID, other.seqNum, other.iCode, other.atomID)
+
+ def __eq__(self, other):
+ # return ((self.chainID == x.chainID) and (self.seqNum == x.seqNum) and
+ # (self.iCode == x.iCode))
+ return (self.chainID, self.seqNum, self.iCode, self.atomID) == (other.chainID, other.seqNum, other.iCode, other.atomID)
+
+ def __ne__(self, other):
+ return not __eq__(self, other)
+
+ def __gt__(self, other):
+ return not __le__(self, other)
+
+ def __ge__(self, other):
+ return not __lt__(self, other)
+
+ def __cmp__(self, other):
+ if __lt__(self, other):
+ return -1
+ elif __gt__(self, other):
+ return 1
+ else:
+ return 0
+
+ def __hash__(self):
+ numChainIDs = 128
+ numICodes = 128
+ i = self.seqNum
+ i *= numChainIDs
+ i += ord(self.chainID)
+ i *= numICodes
+ i += ord(self.iCode)
+ i *= 10
+ i += self.atomID
+ return i
+
+
+def main():
+ if len(sys.argv) == 1:
+ use_all_residues = True
+ elif len(sys.argv) == 7:
+ use_all_residues = False
+ first = AtomDescr(sys.argv[1], int(sys.argv[2]), sys.argv[3], 0)
+ last = AtomDescr(sys.argv[4], int(sys.argv[5]), sys.argv[6], 2147483647)
+ else:
+ sys.stderr.write("Error(" + g_program_name + "): This program requires either 0 or 6 arguments.\n"
+ " By default, the the sequence is extracted from the entire PDB file.\n"
+ " In that case, no arguments are required.\n"
+ " Alternately, you can limit the selection to a single interval of\n"
+ " residues from one of the chains in the PDB file.\n"
+ " To specify an interval, you must passing 6 arguments to this program.\n"
+ " This program requires a pair of residues to designate the first and\n"
+ " last members of the interval. Each residue requires 3 identifiers.\n"
+ " Consequently the six arguments needed are:\n"
+ "ChainID_first SeqNum_first ICode_first ChainID_last SeqNum_last ICode_last\n")
+ exit(-1)
+
+
+ atoms2lines = defaultdict(list)
+
+ for line in sys.stdin:
+ if (line[0:6] == "ATOM ") or (line[0:6] == "HETATM"):
+ atomID = int(line[6:11])
+ #atomType = line[12:16]
+ #altLoc = line[16:17]
+ iCode = line[26:27]
+ #resType = line[17:20]
+ chainID = line[21:22]
+ seqNumStr = line[22:26]
+ seqNum = int(seqNumStr)
+ atomdescr = AtomDescr(chainID, int(seqNumStr), iCode, int(atomID))
+ atoms2lines[atomdescr].append(line.rstrip('\n'))
+ else:
+ sys.stdout.write(line)
+
+ # Extract an (unordered) list of the atomdescrs of the atoms in the sequence
+ atomdescrs = [atomdescr for atomdescr in atoms2lines]
+
+ # Residues in PDB files are often not listed in order.
+ # Consequently, we must sort the list by chainID, seqNum, and finnaly iCode:
+ sequence_of_atomdescrs = sorted(atomdescrs, key=attrgetter(
+ 'chainID', 'seqNum', 'iCode', 'atomID'))
+
+ for atomdescr in sequence_of_atomdescrs:
+ for line in atoms2lines[atomdescr]:
+ sys.stdout.write(line + '\n')
+
+ return
+
+
+if __name__ == '__main__':
+ main()
diff --git a/tools/moltemplate/moltemplate/postprocess_input_script.py b/tools/moltemplate/moltemplate/postprocess_input_script.py
new file mode 100755
index 000000000..b23f4e955
--- /dev/null
+++ b/tools/moltemplate/moltemplate/postprocess_input_script.py
@@ -0,0 +1,160 @@
+#!/usr/bin/env python
+
+"""
+ Reorder the integer arguments to the commands in a LAMMPS input
+ file if these arguments violate LAMMPS order requirements.
+ We have to do this because the moltemplate.sh script will automatically
+ assign these integers in a way which may violate these restrictions
+ and the user has little control over this.
+
+ This script:
+ swaps the I and J integers in "pair_coeff I J ..." commands when I > J
+
+ Other features may be added later
+
+"""
+
+
+import sys
+
+def main():
+ lines_orig = []
+ f = None
+ fname = None
+ num_lines_ignore = 0
+
+
+ # Lines from files passed as arguments are read and processed silently.
+ # (Why? Sometimes it's necessary to read the contents of previous input scripts
+ # in order to be able to understand a script command which appears later.
+ # I'm assuming these files will be processed by lammps in the same order. So I
+ # must insure that moltemplate.sh passes them to this program in that order.
+ # I'm too lazy to read the "include" commands in input scripts correctly.)
+ if len(sys.argv) > 1:
+ for fname in sys.argv[1:]:
+ f = open(fname, 'r')
+ in_stream = f
+ lines_orig += in_stream.readlines()
+ num_lines_ignore += len(lines_orig)
+ f.close()
+
+
+ # Lines read from the standard input are read, processed, and printed to stdout
+ in_stream = sys.stdin
+ lines_orig += in_stream.readlines()
+
+ pair_style_list = []
+ swap_occured = False
+ warn_wildcard = False
+
+ i = 0
+ while i < len(lines_orig):
+ # Read the next logical line
+ # Any lines ending in '&' should be merged with the next line before
+ # breaking
+ line_orig = ''
+ while i < len(lines_orig):
+ line_counter = 1 + i - num_lines_ignore
+ line_orig += lines_orig[i]
+ if ((len(line_orig) < 2) or (line_orig[-2:] != '&\n')):
+ break
+ i += 1
+ line = line_orig.replace('&\n', '\n').rstrip('\n')
+
+ comment = ''
+ if '#' in line_orig:
+ ic = line.find('#')
+ line = line_orig[:ic]
+ # keep track of comments (put them back later)
+ comment = line_orig[ic:].rstrip()
+
+ tokens = line.strip().split()
+ if ((len(tokens) >= 2) and (tokens[0] == 'pair_style')):
+ pair_style_list = tokens[1:]
+
+ if ((len(tokens) >= 3) and (tokens[0] == 'pair_coeff')):
+
+ if ((tokens[1].isdigit() and (tokens[2].isdigit())) and
+ (int(tokens[1]) > int(tokens[2]))):
+
+ swap_occured = True
+ tmp = tokens[2]
+ tokens[2] = tokens[1]
+ tokens[1] = tmp
+
+ if i >= num_lines_ignore:
+
+ # polite warning:
+ sys.stderr.write(
+ 'swapped pair_coeff order on line ' + str(line_counter))
+ # if (fname != None):
+ # sys.stderr.write(' of file \"'+fname+'\"')
+ sys.stderr.write('\n')
+
+ # Deal with the "hbond/" pair coeffs.
+ #
+ # The hbond/dreiding pair style designates one of the two atom types
+ # as a donor, and the other as an acceptor (using the 'i','j' flags)
+ # If swapped atom types eariler, we also need to swap 'i' with 'j'.
+ #
+ # If "hbond/dreiding.." pair style is used with "hybrid" or
+ # "hybrid/overlay" then tokens[3] is the name of the pair style
+ # and tokens[5] is either 'i' or 'j'.
+ if len(pair_style_list) > 0:
+ if ((pair_style_list[0] == 'hybrid') or
+ (pair_style_list[0] == 'hybrid/overlay')):
+ if ((len(tokens) > 5) and (tokens[5] == 'i') and (tokens[3][0:6] == 'hbond/')):
+ tokens[5] = 'j'
+ sys.stderr.write(
+ ' (and replaced \"i\" with \"j\")\n')
+ elif ((len(tokens) > 5) and (tokens[5] == 'j') and (tokens[3][0:6] == 'hbond/')):
+ tokens[5] = 'i'
+ sys.stderr.write(
+ ' (and replaced \"j\" with \"i\")\n')
+ elif (pair_style_list[0][0:6] == 'hbond/'):
+ if ((len(tokens) > 4) and (tokens[4] == 'i')):
+ tokens[4] = 'j'
+ sys.stderr.write(
+ ' (and replaced \"i\" with \"j\")\n')
+ elif ((len(tokens) > 4) and (tokens[4] == 'j')):
+ tokens[4] = 'i'
+ sys.stderr.write(
+ ' (and replaced \"j\" with \"i\")\n')
+
+ sys.stdout.write(
+ (' '.join(tokens) + comment).replace('\n', '&\n') + '\n')
+
+ else:
+ if ((('*' in tokens[1]) or ('*' in tokens[2]))
+ and
+ (not (('*' == tokens[1]) and ('*' == tokens[2])))):
+ warn_wildcard = True
+ if i >= num_lines_ignore:
+ sys.stdout.write(line_orig)
+ else:
+ if i >= num_lines_ignore:
+ sys.stdout.write(line_orig)
+
+ i += 1
+
+
+ if swap_occured:
+ sys.stderr.write('\n'
+ ' WARNING: Atom order in some pair_coeff commands was swapped to pacify LAMMPS.\n'
+ ' For some exotic pair_styles such as hbond/dreiding, this is not enough. If you\n'
+ ' use exotic pair_styles, please verify the \"pair_coeff\" commands are correct.\n')
+
+ if warn_wildcard:
+ sys.stderr.write('\n'
+ ' WARNING: The use of wildcard characters (\"*\") in your \"pair_coeff\"\n'
+ ' commands is not recommended.\n'
+ ' (It is safer to specify each interaction pair manually.\n'
+ ' Check every pair_coeff command. Make sure that every atom type in\n'
+ ' the first group is <= atom types in the second group.\n'
+ ' Moltemplate does NOT do this when wildcards are used.)\n'
+ ' If you are using a many-body pair style then ignore this warning.\n')
+
+ return
+
+if __name__ == '__main__':
+ main()
diff --git a/tools/moltemplate/moltemplate/raw2data.py b/tools/moltemplate/moltemplate/raw2data.py
new file mode 100755
index 000000000..8f029ee01
--- /dev/null
+++ b/tools/moltemplate/moltemplate/raw2data.py
@@ -0,0 +1,114 @@
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+
+try:
+ from .dump2data import *
+except:
+ # not installed as a package
+ from dump2data import *
+
+g_program_name = 'raw2data.py'
+g_date_str = '2016-12-21'
+g_version_str = 'v0.44.0'
+
+####### Main Code Below: #######
+def main():
+ sys.stderr.write(g_program_name + ' ' + g_version_str + ' ' + g_date_str)
+ sys.stderr.write('\n')
+
+ try:
+ data_settings = DataSettings()
+ misc_settings = MiscSettings()
+ misc_settings.multi = False
+
+ warning_strings = []
+ ParseArgs(sys.argv,
+ misc_settings,
+ data_settings,
+ warning_strings)
+
+ frame_coords = defaultdict(list)
+ frame_coords_ixiyiz = defaultdict(list)
+ frame_vects = defaultdict(list)
+ frame_velocities = defaultdict(list)
+ frame_xlo_str = frame_xhi_str = None
+ frame_ylo_str = frame_yhi_str = None
+ frame_zlo_str = frame_zhi_str = None
+ frame_xy_str = frame_xz_str = frame_yz_str = None
+ frame_natoms = -1
+ frame_timestep_str = ''
+ i_atomid = i_atomtype = i_molid = -1
+ i_x = i_y = i_z = i_xu = i_yu = i_zu = -1
+ i_xs = i_ys = i_zs = i_xsu = i_ysu = i_zsu = -1
+
+ dump_column_names = []
+
+ #num_frames_in = -1
+ num_frames_out = 0
+ finished_reading_frame = False
+ read_last_frame = False
+
+ #in_coord_file = open('tmp_atom_coords.dat','r')
+ in_coord_file = sys.stdin
+
+ read_last_frame = False
+ while True:
+
+ line = '\n'
+ while (line != '') and (line.strip() == ''):
+ line = in_coord_file.readline()
+
+ if line == '': # if EOF
+ break
+
+ frame_coords = defaultdict(list)
+ while line.strip() != '':
+ n_crds = len(frame_coords)
+ #sys.stdout.write("n_crds="+str(n_crds)+": \""+line.strip()+"\"\n")
+ frame_coords[str(n_crds + 1)] = line.split()
+ line = in_coord_file.readline()
+
+ # Check to see if there are any blank lines at this location in the file
+ # If there are, it means we are at a new "frame" (in the trajectory).
+ # Skip over any blank line(s) separating this frame from the next frame
+ # so that the next time we enter the loop, we are at the beginning
+ # of a new frame.
+ while (line != '') and (line.strip() == ''):
+ line = in_coord_file.readline()
+
+ # Parse the DATA file specified by the user
+ # and replace appropriate lines or fields with
+ # the corresponding text from the input file.
+ if misc_settings.multi:
+ out_file_name = data_settings.file_name + '.'\
+ + str(num_frames_out)
+ sys.stderr.write(' (creating file \"' + out_file_name + '\")\n')
+ out_file = open(out_file_name, 'w')
+ else:
+ out_file = sys.stdout
+
+ WriteFrameToData(out_file,
+ None,
+ misc_settings,
+ data_settings,
+ frame_natoms,
+ frame_coords,
+ frame_coords_ixiyiz,
+ frame_vects,
+ frame_velocities,
+ None,
+ None,
+ frame_xlo_str, frame_xhi_str,
+ frame_ylo_str, frame_yhi_str,
+ frame_zlo_str, frame_zhi_str,
+ frame_xy_str, frame_xz_str, frame_yz_str)
+
+ except (ValueError, InputError) as err:
+ sys.stderr.write('\n' + str(err) + '\n')
+ sys.exit(-1)
+
+ return
+
+
+if __name__ == '__main__':
+ main()
diff --git a/tools/moltemplate/moltemplate/remove_duplicate_atoms.py b/tools/moltemplate/moltemplate/remove_duplicate_atoms.py
new file mode 100755
index 000000000..fe0792987
--- /dev/null
+++ b/tools/moltemplate/moltemplate/remove_duplicate_atoms.py
@@ -0,0 +1,60 @@
+#!/usr/bin/env python
+
+"""
+ Get rid of lines containing duplicate copies of the same atom in the "Atoms"
+ section of a LAMMPS data file. Duplicate lines which occur later are
+ preserved and the earlier lines are erased.
+ The file is read from sys.stdin. This program does not parse the entire
+ data file. The text from the "Atoms" section of the LAMMPS file must
+ be extracted in advance before it is sent to this program.)
+
+"""
+
+import sys
+
+def main():
+ in_stream = sys.stdin
+ f = None
+ fname = None
+ if len(sys.argv) == 2:
+ fname = sys.argv[1]
+ f = open(fname, 'r')
+ in_stream = f
+
+ atom_ids_in_use = set([])
+
+ lines = in_stream.readlines()
+
+ # Start at the end of the file and read backwards.
+ # If duplicate lines exist, eliminate the ones that occur earlier in the file.
+ i = len(lines)
+ while i > 0:
+ i -= 1
+ line_orig = lines[i]
+ line = line_orig.rstrip('\n')
+ if '#' in line_orig:
+ ic = line.find('#')
+ line = line_orig[:ic]
+
+ tokens = line.strip().split()
+ if len(tokens) > 0:
+ atom_id = tokens[0]
+ if atom_id in atom_ids_in_use:
+ del lines[i]
+ else:
+ atom_ids_in_use.add(atom_id)
+ else:
+ del lines[i]
+
+
+ for line in lines:
+ sys.stdout.write(line)
+
+ if f != None:
+ f.close()
+
+ return
+
+
+if __name__ == '__main__':
+ main()
diff --git a/tools/moltemplate/moltemplate/remove_duplicates_nbody.py b/tools/moltemplate/moltemplate/remove_duplicates_nbody.py
new file mode 100755
index 000000000..726c00777
--- /dev/null
+++ b/tools/moltemplate/moltemplate/remove_duplicates_nbody.py
@@ -0,0 +1,58 @@
+#!/usr/bin/env python
+
+"""
+ Get rid of lines containing duplicate bonded nbody interactions in the
+ corresponding section of a LAMMPS data file (such as bonds, angles,
+ dihedrals and impropers). Duplicate lines which occur later are
+ preserved and the earlier lines are erased.
+ (This program reads from sys.stdin. This program does not parse the entire
+ data file. The text from the relevant section of the LAMMPS file should be
+ extracted in advance before it is sent to this program.)
+
+"""
+
+import sys
+
+def main():
+ in_stream = sys.stdin
+
+ if len(sys.argv) == 2:
+ n = int(sys.argv[1])
+ if (len(sys.argv) != 2) or (n < 1):
+ sys.stderr.write(
+ 'Error (remove_duplicates_nbody.py): expected a positive integer argument.\n')
+ sys.exit(-1)
+
+ atom_ids_in_use = set([])
+
+ lines = in_stream.readlines()
+
+ # Start at the end of the file and read backwards.
+ # If duplicate lines exist, eliminate the ones that occur earlier in the file.
+ i = len(lines)
+ while i > 0:
+ i -= 1
+ line_orig = lines[i]
+ line = line_orig.rstrip('\n')
+ if '#' in line_orig:
+ ic = line.find('#')
+ line = line_orig[:ic]
+
+ tokens = line.strip().split()
+ if len(tokens) == 2 + n:
+ atom_ids = tuple(tokens[2:2 + n])
+ if atom_ids in atom_ids_in_use:
+ del lines[i]
+ else:
+ atom_ids_in_use.add(atom_ids)
+ elif len(tokens) == 0:
+ del lines[i]
+
+ for line in lines:
+ sys.stdout.write(line)
+
+ return
+
+
+if __name__ == '__main__':
+ main()
diff --git a/tools/moltemplate/moltemplate/renumber_DATA_first_column.py b/tools/moltemplate/moltemplate/renumber_DATA_first_column.py
new file mode 100755
index 000000000..ae9929927
--- /dev/null
+++ b/tools/moltemplate/moltemplate/renumber_DATA_first_column.py
@@ -0,0 +1,76 @@
+#!/usr/bin/env python
+
+"""
+ renumber the integers at the beginning of ever line in the file
+ to make sure these numbers are contiguous.
+ The file is read from sys.stdin.
+ This program does not parse an entire LAMMPS data file.
+ The text from the "Atoms" section
+ (or "Bonds", or "Angles", or "Dihedrals", or "Impropers" sections)
+ of the LAMMPS file must be extracted in advance.
+
+"""
+
+import sys
+from operator import itemgetter
+
+def main():
+ in_stream = sys.stdin
+ f = None
+ fname = None
+ if len(sys.argv) == 2:
+ fname = sys.argv[1]
+ f = open(fname, 'r')
+ in_stream = f
+
+
+ lines = in_stream.readlines()
+ column1_iorig_columnsAfter1 = []
+
+ # Start at the end of the file and read backwards.
+ # If duplicate lines exist, eliminate the ones that occur earlier in the file.
+ i = 0
+ while i < len(lines):
+ line_orig = lines[i]
+ line = line_orig.rstrip('\n')
+ comment = ''
+ if '#' in line_orig:
+ ic = line.find('#')
+ line = line_orig[:ic]
+ comment = ' ' + line_orig[ic:].rstrip('\n')
+
+ tokens = line.strip().split()
+ if len(tokens) > 0:
+ if str.isdigit(tokens[0]):
+ column1 = int(tokens[0])
+ else:
+ column1 = tokens[0]
+ column1_iorig_columnsAfter1.append(
+ [column1, i, ' '.join(tokens[1:]) + comment])
+ i += 1
+
+ # Sort the list of lines by the first number on each line
+
+ column1_iorig_columnsAfter1.sort(key=itemgetter(0))
+
+ # Change all of these numbers so that they are consecutive starting at 1
+ for i in range(0, len(column1_iorig_columnsAfter1)):
+ column1_iorig_columnsAfter1[i][0] = i + 1
+
+ # Sort the list of lines so they are back in the original order
+
+ column1_iorig_columnsAfter1.sort(key=itemgetter(1))
+
+ for i in range(0, len(column1_iorig_columnsAfter1)):
+ column1 = column1_iorig_columnsAfter1[i][0]
+ columnsAfter1 = column1_iorig_columnsAfter1[i][2]
+ sys.stdout.write(str(column1) + ' ' + columnsAfter1 + '\n')
+
+ if f != None:
+ f.close()
+
+ return
+
+
+if __name__ == '__main__':
+ main()
diff --git a/tools/moltemplate/moltemplate/scripts/cleanup_moltemplate.sh b/tools/moltemplate/moltemplate/scripts/cleanup_moltemplate.sh
new file mode 100755
index 000000000..e5375674a
--- /dev/null
+++ b/tools/moltemplate/moltemplate/scripts/cleanup_moltemplate.sh
@@ -0,0 +1,88 @@
+ # cleanup_moltemplate.sh
+ # This script attempts to remove irrelevant information from LAMMPS
+ # input scripts and data files (such as extra, unneeded atom types
+ # and force field parameters).
+ #
+ # Unfortunately, the system.data and system.in.settings file which are
+ # created by moltemplate.sh often contain a lot of irrelevant information,
+ # such as definition of parameters for atom types defined in some force field
+ # file that the user is using, but not present in the system they are building
+ #
+ # In my experience, this extra information appears to be mostly harmless.
+ # (Loading this information does not seem to slow down LAMMPS significantly.)
+ #
+ # However it can make visualization difficult in VMD. (Technically, this
+ # extra information can take up megabytes of space in the system.data
+ # and system.in.settings files. Additionally, when you run LAMMPS, an O(n^2)
+ # sized table is allocated to store the parameters for interactions between
+ # every possible pair of atom types (n atom types), and this occupies
+ # significantly more memory if n is large. For example, the "oplsaa.lt" file
+ # and "oplsaa.prm" (TINKER-format) file both define almost 1000 atom types.)
+ #
+ # Usage: Invoke this script with no arguments, from a directory
+ # containing these files:
+ # system.data, system.in.init, system.in.settings, system.in.charges
+ # It will modify these files to remove unnecessary atoms and
+ # parameters. (If your files have other names, you must rename
+ # them to match moltemplate file name conventions.)
+ #
+ # DO NOT USE THIS SCRIPT ON SIMULATIONS CONTAINING MANY-BODY PAIR STYLES,
+ # DREIDING-STYLE HYDROGEN BONDS, OR SIMS NEEDING NON-STANDARD AUXILIARY FILES.
+ # (This script relies on ltemplify.py and inherits its limitations.)
+
+ PATH_TO_DATA_FILE="."
+
+ pushd "$PATH_TO_DATA_FILE"
+
+ mkdir new_lt_file_TMP
+ cd new_lt_file_TMP
+
+ # now run ltemplify.py
+
+ ltemplify.py ../system.in.* ../system.data > system.lt
+
+ # This creates a new .LT file named "system.lt" in the local directory.
+
+ # The ltemplify.py script also does not copy the boundary dimensions.
+ # We must do this manually.
+ # Extract the header of the data file, reverse the order, and read lines
+ # until you have
+ # If you did NOT throw away the "Data Boundary" file usually located in
+ # "moltemplate_files/output_ttree/Data Boundary"
+ # then you can copy that information from this file into system.lt
+
+
+ # oops. looks like we don't need this after all
+ #function _reverse_lines {
+ # # The following function reverses the order of lines in a file:
+ # # (Neither "tac", nor "tail -r" have cross-platform support.)
+ # awk '{a[i++]=$0} END {for (j=i-1; j>=0;) print a[j--] }'
+ #}
+
+ echo "" >> system.lt
+ echo "write_once(\"Data Boundary\") {" >> system.lt
+ # Extract the periodic boundary box dimensions from the
+ # end of the header section of the LAMMPS data file:
+ extract_lammps_data.py Header < ../system.data | awk '{if (($3=="xlo") && ($4=="xhi")) {xl=$0} if (($3=="ylo") && ($4=="yhi")) {yl=$0} if (($3=="zlo") && ($4=="zhi")) {zl=$0} if (($4=="xy") && ($5=="xz") && ($6=="yz")) {xtr=$0}} END{print xl; print yl; print zl; if (xtr!="") {print xtr}}' >> system.lt
+ echo "}" >> system.lt
+ echo "" >> system.lt
+
+ # Now, run moltemplate on this new .LT file.
+ moltemplate.sh system.lt
+ # This will create: "system.data" "system.in.init" "system.in.settings."
+
+ # That's it. The new "system.data" and system.in.* files should
+ # be ready to run in LAMMPS.
+
+ # Now move the system.data and system.in.* files to their original location:
+ mv -f system.data system.in.* ../
+ cd ../
+ grep "set type" system.in.settings > system.in.charges
+ # now remove these lines from system.in.settings
+ sed '/set type/,+1 d' < system.in.settings > system.in.settings.tmp
+ mv -f system.in.settings.tmp system.in.settings
+
+ # Finally, delete all of the temporary files we generated
+ rm -rf new_lt_file_TMP
+ popd
+
diff --git a/tools/moltemplate/moltemplate/scripts/emoltemplate.sh b/tools/moltemplate/moltemplate/scripts/emoltemplate.sh
new file mode 100755
index 000000000..eaba9c496
--- /dev/null
+++ b/tools/moltemplate/moltemplate/scripts/emoltemplate.sh
@@ -0,0 +1,1283 @@
+#!/usr/bin/env bash
+# (note: Classic Bourne shell (#!/bin/sh) also worked at some point.)
+#
+# Author: Andrew Jewett (jewett.aij at g mail)
+# http://www.moltemplate.org
+# http://jensenlab.caltech.edu
+# http://www.chem.ucsb.edu/~sheagroup
+# License: 3-clause BSD License (See LICENSE.txt)
+# Copyright (c) 2012, Regents of the University of California
+# All rights reserved.
+
+G_PROGRAM_NAME="emoltemplate.sh"
+G_VERSION="1.0.5"
+G_DATE="2017-2-01"
+
+echo "${G_PROGRAM_NAME} v${G_VERSION} ${G_DATE}" >&2
+echo "" >&2
+
+# Check for python:
+# I prefer python over python3 because python3 requires slightly
+# more memory. Use regular python (ie 2.7) when available.
+
+if which python > /dev/null; then
+ PYTHON_COMMAND='python'
+elif which python3 > /dev/null; then
+ PYTHON_COMMAND='python3'
+else
+ echo "Error: $G_PROGRAM_NAME requires python or python3" >&2
+ exit 1
+fi
+
+
+# First, determine the directory in which the python scripts are located.
+# (such as ttree.py). It could either be the directory where the script
+# file is located, OR it could be the parent of this directory.
+PY_SCR_DIR=`dirname "$0"`
+if [ ! -s "${PY_SCR_DIR}/ttree.py" ]; then
+ PY_SCR_DIR="$PY_SCR_DIR/.."
+fi
+MOLTEMPLATE_SCRIPT_DIR="$SCRIPT_DIR/../moltemplate/src"
+
+
+MSG_BAD_INSTALL=$(cat <<EOF
+
+INSTALLATION ERROR:
+Follow the instructions in the "Installation" chapter of the emoltemplate manual
+(Note: You may need to log out and log in again before the changes take effect.)
+
+EOF
+)
+
+
+ERR_BAD_INSTALL()
+{
+ echo "$MSG_BAD_INSTALL" >&2
+ exit 1
+}
+
+
+ERR_INTERNAL()
+{
+ echo " !!!!!! Possible internal error !!!!!!" >&2
+ echo "This could be a bug in emoltemplate." >&2
+ echo "Please report this error." >&2
+ echo "(And please include the last few lines of emoltemplate output preceeding this.)" >&2
+ echo " Thank you." >&2
+ exit 100
+}
+
+
+MOLTEMPLATE_FILES_NEEDED=$(cat <<EOF
+ttree.py
+nbody_by_type.py
+nbody_fix_ttree_assignments.py
+nbody_reorder_atoms.py
+pdbsort.py
+remove_duplicate_atoms.py
+remove_duplicates_nbody.py
+renumber_DATA_first_column.py
+ttree_render.py
+EOF
+)
+
+
+# (I might add these files later: ettree_check.py, ettree_postprocess.py)
+
+
+OIFS=$IFS
+#IFS=$'\n'
+IFS="
+"
+
+# command that invokes ettree.py
+TTREE_COMMAND="$PYTHON_COMMAND \"${SCRIPT_DIR}/ettree.py\""
+
+# command that invokes ettree_check.py
+TTREE_CHECK_COMMAND="$PYTHON_COMMAND \"${SCRIPT_DIR}/ettree_check.py\""
+
+# command that invokes ettree_postprocess.py
+TTREE_POSTPROCESS_COMMAND="$PYTHON_COMMAND \"${SCRIPT_DIR}/ettree_postprocess.py\""
+
+
+
+# What is the name of the .ET file we are reading?
+for LAST_ARG; do true; done
+# (I copied this code from a web page:
+# http://stackoverflow.com/questions/1853946/getting-the-last-argument-passed-to-a-shell-script)
+
+# Check to see if this string ends in .et or .ET
+# If so, then set the base name of the output files
+# to equal the base name of the .ET file being read.
+# (Being careful here.
+# Sometimes the last argument is not the .et or .ET file.
+# Sometimes that file appears earlier in the argument list.
+# I want to supply a default value.)
+#
+# Note, in bash you can use:
+# if [ "${LAST_ARG/%.et/}" -neq "$LAST_ARG" ]; then
+# OUT_FILE_BASE="${LAST_ARG/%.et/}"
+# But in the original bourn shell (sh), this does not work.
+# Instead we use a hack involving basename and dirname:
+ETFILE="$LAST_ARG"
+ETFILE_DIR=`dirname "$ETFILE"`
+ETFILE_BASE=`basename "$ETFILE" .et`
+ETFILE_NO_EXT="${ETFILE_DIR}/${ETFILE_BASE}"
+OUT_FILE_BASE="system"
+if [ "$ETFILE_NO_EXT" != "$ETFILE" ]; then
+ OUT_FILE_BASE="$ETFILE_BASE"
+else
+ ETFILE_BASE=`basename "$LAST_ARG" .ET`
+ ETFILE_NO_EXT="${ETFILE_DIR}/${ETFILE_BASE}"
+ if [ "$ETFILE_NO_EXT" != "$ETFILE" ]; then
+ OUT_FILE_BASE="$ETFILE_BASE"
+ fi
+fi
+OUT_FILE_TCL="${OUT_FILE_BASE}.tcl"
+
+rm -f "$OUT_FILE_TCL"
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+# -----------------------------------------------------------
+# If everything works, then running ttree usually
+# generates the following files:
+#
+# Users of ettree typically generate the following files:
+# The variable below refer to file names generated by
+# write() and write_once() commands in a ettree-file.
+# (I keep changing my mind what I want these names to be.)
+data_prefix="Data "
+data_prefix_no_space="Data"
+data_atoms="Data Atoms"
+data_bonds="Data Bonds"
+data_bond_list="Data Bond List"
+data_angles="Data Angles"
+data_dihedrals="Data Dihedrals"
+data_impropers="Data Impropers"
+data_bond_coeffs="Data Bond Coeffs"
+data_angle_coeffs="Data Angle Coeffs"
+data_dihedral_coeffs="Data Dihedral Coeffs"
+data_improper_coeffs="Data Improper Coeffs"
+data_pair_coeffs="Data Pair Coeffs"
+
+# interactions-by-type (not id. This is not part of the LAMMPS standard.)
+data_bonds_by_type="Data Bonds By Type"
+data_angles_by_type="Data Angles By Type"
+data_dihedrals_by_type="Data Dihedrals By Type"
+data_impropers_by_type="Data Impropers By Type"
+
+# periodic boundary conditions
+data_boundary="Data Boundary"
+
+# ---------------------------------------------------------------
+# Note: The files above are fragments of a LAMMPS data file.
+# In addition, emoltemplate will probably also generate the following files:
+# (These files represent different sections of the LAMMPS input script.)
+# ---------------------------------------------------------------
+
+in_prefix="In "
+in_prefix_no_space="In"
+in_init="In Init"
+in_settings="In Settings"
+in_coords="In Coords"
+
+# If present, the various "In " files contain commands which should be
+# included by the user in their LAMMPS input script. (This task is left
+# to the user.) However, the "Data " files are processed and pasted together
+# automatically in order to build a LAMMPS data file.
+# ---------------------------------------------------------------
+
+tmp_atom_coords="tmp_atom_coords.dat" #<-temporary file for storing coordinates
+
+
+
+MOLTEMPLATE_TEMP_FILES=$(cat <<EOF
+*.template
+ttree_assignments.txt
+$tmp_atom_coords
+$data_atoms
+$data_bonds
+$data_bond_list
+$data_angles
+$data_dihedrals
+$data_impropers
+$data_bond_coeffs
+$data_angle_coeffs
+$data_dihedral_coeffs
+$data_improper_coeffs
+$data_pair_coeffs
+$data_bonds_by_type
+$data_angles_by_type
+$data_dihedrals_by_type
+$data_impropers_by_type
+$data_boundary
+$in_init
+$in_settings
+EOF
+)
+
+OIFS=$IFS
+#IFS=$'\n'
+IFS="
+"
+for f in $MOLTEMPLATE_TEMP_FILES; do
+ #echo "removing [$f]"
+ rm -f "$f"
+done
+IFS=$OIFS
+
+rm -rf output_ttree
+
+
+
+
+SYNTAX_MSG=$(cat <<EOF
+Syntax example:
+Usage:
+
+emoltemplate.sh [-pdb/-xyz coord_file] \
+ [-a assignments.txt] file.lt
+
+Optional arguments:
+
+-xyz xyz_file An optional xyz_file argument can be supplied as an argument
+ following "-xyz". (This must come before all other arguments.)
+ This file should contain the atomic coordinates in xyz format.
+ (The atoms must appear in the same order in the data file.)
+
+-pdb pdb_file An optional pdb_file argument can be supplied as an argument
+ following "-pdb". (This must come before all other arguments.)
+
+ This should be a PDB file (with ATOM or HETATM records) with
+ the coordinates you wish to appear in the LAMMPS data file.
+ (The atoms must appear in the same order in the data file.)
+
+ If the PDB file contains periodic boundary box information
+ (ie., a "CRYST1" record), this information is also copied
+ to the LAMMPS data file.
+ (Support for triclinic cells is experimental as of 2012-2-13.
+ Other molecular structure formats may be supported later.)
+-a "@atom:x 1"
+-a assignments.txt
+ The user can customize the numbers assigned to atom, bond,
+ angle, dihedral, and improper types or id numbers by using
+ -a "VARIABLE_NAME VALUE"
+ for each variable you want to modify. If there are many
+ variables you want to modify, you can save them in a file
+ (one variable per line). For an example of the file format
+ run emoltemplat.sh once and search for a file named
+ "ttree_assignments.txt". (This file is often located in
+ the "output_ttree/" directory.) Once assigned, the remaining
+ variables in the same category will be automatically assigned
+ to values which do not overlap with your chosen values.
+-b assignments.txt
+ "-b" is similar to "-a". However, in this case, no attempt
+ is made to assign exclusive (unique) values to each variable.
+-nocheck
+ Normally emoltemplate.sh checks for common errors and typos and
+ halts if it thinks it has found one. This forces the variables
+ and categories as well as write(file) and write_once(file)
+ commands to obey standard naming conventions. The "-nocheck"
+ argument bypasses these checks and eliminates these restrictions.
+ Note: this argument must appear first in the list, for example:
+ emoltemplate -nocheck -pdb f.pdb -a "$atom:res1/CA 1" system.lt
+EOF
+)
+
+# --- Periodic boundary box information (default) ---
+
+# We will determine these numbers later.
+TRICLINIC=""
+BOXSIZE_MINX=0.0
+BOXSIZE_MINY=0.0
+BOXSIZE_MINZ=0.0
+BOXSIZE_MAXX=""
+BOXSIZE_MAXY=""
+BOXSIZE_MAXZ=""
+BOXSIZE_XY=0.0
+BOXSIZE_XZ=0.0
+BOXSIZE_YZ=0.0
+
+
+
+if [ "$1" = "--help" ]; then
+ echo "$SYNTAX_MSG" >&2
+ exit 0
+fi
+
+
+
+# --- Did the user specify a file containing atomic coordinates?
+
+rm -f "$tmp_atom_coords"
+
+# Optional files containing atom coordinates:
+PDB_FILE=""
+XYZ_FILE=""
+# REMOVE_DUPLICATE variables:
+# ...If true (default), then any duplicate entries in the lists of bonds
+# bonds, angles, dihedrals, or impropers in the LAMMPS DATA file
+# are removed, giving priority to the most recent entry in the list.
+# (This might not be necessary, but I want to be careful.)
+REMOVE_DUPLICATE_BONDS="true"
+REMOVE_DUPLICATE_ANGLES="true"
+REMOVE_DUPLICATE_DIHEDRALS="true"
+REMOVE_DUPLICATE_IMPROPERS="true"
+
+
+ARGC=0
+for A in "$@"; do
+ ARGC=$((ARGC+1))
+ eval ARGV${ARGC}=\"$A\"
+done
+
+TTREE_ARGS=""
+
+i=0
+while [ "$i" -lt "$ARGC" ]; do
+ i=$((i+1))
+ eval A=\${ARGV${i}}
+ if [ "$A" = "-nocheck" ]; then
+ # Disable syntax checking by undefining ETTREE_CHECK_COMMAND
+ unset ETTREE_CHECK_COMMAND
+ elif [ "$A" = "-overlay-bonds" ]; then
+ # In that case, do not remove duplicate bond interactions
+ unset REMOVE_DUPLICATE_BONDS
+ elif [ "$A" = "-overlay-angles" ]; then
+ # In that case, do not remove duplicate angle interactions
+ unset REMOVE_DUPLICATE_ANGLES
+ elif [ "$A" = "-overlay-dihedrals" ]; then
+ # In that case, do not remove duplicate dihedral interactions
+ unset REMOVE_DUPLICATE_DIHEDRALS
+ elif [ "$A" = "-overlay-impropers" ]; then
+ # In that case, do not remove duplicate improper interactions
+ unset REMOVE_DUPLICATE_IMPROPERS
+ elif [ "$A" = "-raw" ]; then
+ if [ "$i" -eq "$ARGC" ]; then
+ echo "$SYNTAX_MSG" >&2
+ exit 7
+ fi
+ i=$((i+1))
+ eval A=\${ARGV${i}}
+ RAW_FILE=$A
+ if [ ! -s "$RAW_FILE" ]; then
+ echo "$SYNTAX_MSG" >&2
+ echo "-----------------------" >&2
+ echo "" >&2
+ echo "Error: Unable to open RAW-file \"$RAW_FILE\"." >&2
+ echo " (File is empty or does not exist.)" >&2
+ exit 8
+ fi
+ #echo " (extracting coordinates from \"$RAW_FILE\")" >&2
+ awk '{if (NF==3) {print $0}}' < "$RAW_FILE" > "$tmp_atom_coords"
+ elif [ "$A" = "-xyz" ]; then
+ if [ "$i" -eq "$ARGC" ]; then
+ echo "$SYNTAX_MSG" >&2
+ exit 2
+ fi
+ # "isnum(x)" returns 1 or 0 depending upon whether or not
+ # a string is numeric.
+ #http://rosettacode.org/wiki/Determine_if_a_string_is_numeric#AWK
+ i=$((i+1))
+ eval A=\${ARGV${i}}
+ XYZ_FILE=$A
+ if [ ! -s "$XYZ_FILE" ]; then
+ echo "$SYNTAX_MSG" >&2
+ echo "-----------------------" >&2
+ echo "" >&2
+ echo "Error: Unable to open XYZ-file \"$XYZ_FILE\"." >&2
+ echo " (File is empty or does not exist.)" >&2
+ exit 3
+ fi
+ #echo " (extracting coordinates from \"$XYZ_FILE\")" >&2
+ awk 'function isnum(x){return(x==x+0)} BEGIN{targetframe=1;framecount=0} {if (isnum($0)) {framecount++} else{if (framecount==targetframe){ if (NF>0) { if ((NF==3) && isnum($1)) {print $1" "$2" "$3} else if ((NF==4) && isnum($2)) {print $2" "$3" "$4} }}}}' < "$XYZ_FILE" > "$tmp_atom_coords"
+
+ elif [ "$A" = "-pdb" ]; then
+ if [ "$i" -eq "$ARGC" ]; then
+ echo "$SYNTAX_MSG" >&2
+ exit 2
+ fi
+ i=$((i+1))
+ eval A=\${ARGV${i}}
+ PDB_FILE=$A
+ if [ ! -s "$PDB_FILE" ]; then
+ echo "$SYNTAX_MSG" >&2
+ echo "-----------------------" >&2
+ echo "" >&2
+ echo "Error: Unable to open PDB-file \"$PDB_FILE\"." >&2
+ echo " (File is empty or does not exist.)" >&2
+ exit 3
+ fi
+ #echo " (extracting coordinates from \"$PDB_FILE\")" >&2
+ if grep -q '^ATOM \|^HETATM' "$PDB_FILE"; then
+ # Extract the coords from the "ATOM" records in the PDB file
+ pdbsort.py < "$PDB_FILE" | awk '/^ATOM |^HETATM/{print substr($0,31,8)" "substr($0,39,8)" "substr($0,47,8)}' > "$tmp_atom_coords"
+ else
+ echo "$SYNTAX_MSG" >&2
+ echo "-----------------------" >&2
+ echo "" >&2
+ echo "Error: File \"$PDB_FILE\" is not a valid PDB file." >&2
+ exit 4
+ fi
+ # Now extract the periodic bounding-box informatio from the PDB file
+ # The CRYST1 records are described at:
+ # http://deposit.rcsb.org/adit/docs/pdb_atom_format.html
+ BOXSIZE_A=-1.0
+ BOXSIZE_B=-1.0
+ BOXSIZE_C=-1.0
+ ALPHA=" 90.00" #Note: The space before the number in " 90.00" is intentional.
+ BETA=" 90.00" # Later we will check to see if the system is triclinic
+ GAMMA=" 90.00" # by comparing these strings for equality with " 90.00"
+ if grep -qF "CRYST1" "$PDB_FILE"; then
+ BOXSIZE_A=`awk '/CRYST1/{print substr($0,8,8)}' < "$PDB_FILE"`
+ BOXSIZE_B=`awk '/CRYST1/{print substr($0,17,8)}' < "$PDB_FILE"`
+ BOXSIZE_C=`awk '/CRYST1/{print substr($0,26,8)}' < "$PDB_FILE"`
+ ALPHA=`awk '/CRYST1/{print substr($0,35,6)}' < "$PDB_FILE"`
+ BETA=`awk '/CRYST1/{print substr($0,42,6)}' < "$PDB_FILE"`
+ GAMMA=`awk '/CRYST1/{print substr($0,49,6)}' < "$PDB_FILE"`
+ fi
+ if [ `echo "$ALPHA!=90.0"|bc` -eq 1 ] || [ `echo "$BETA!=90.0"|bc` -eq 1 ] || [ `echo "$GAMMA!=90.0"|bc` -eq 1 ]; then
+ # I transform the parameters from one format to the other by inverting
+ # the transformation formula from the LAMMPS documentation (which matches
+ # http://www.ccl.net/cca/documents/molecular-modeling/node4.html)
+ # Disclaimer:
+ # As of September 2012, I have not tested the code below. I think the
+ # equations are correct, but I don't know if their are special cases
+ # that require the coordinates to be rotated or processed beforehand.
+ # This is an experimental feature.
+ TRICLINIC="True"
+ PI=3.1415926535897931
+ BOXSIZE_X=$BOXSIZE_A
+ BOXSIZE_Y=`awk "BEGIN{print $BOXSIZE_B*sin($GAMMA*$PI/180.0)}"`
+ BOXSIZE_XY=`awk "BEGIN{print $BOXSIZE_B*cos($GAMMA*$PI/180.0)}"`
+ BOXSIZE_XZ=`awk "BEGIN{print $BOXSIZE_C*cos($BETA*$PI/180.0)}"`
+ BOXSIZE_YZ=`awk "BEGIN{ca=cos($ALPHA*$PI/180.0); cb=cos($BETA*$PI/180.0); cg=cos($GAMMA*$PI/180.0); sg=sin($GAMMA*$PI/180.0); c=$BOXSIZE_C; print c*(ca-(cg*cb))/sg}"`
+ BOXSIZE_Z=`awk "BEGIN{print sqrt(($BOXSIZE_C**2)-(($BOXSIZE_XZ**2)+($BOXSIZE_YZ**2)))}"`
+ else
+ BOXSIZE_X=$BOXSIZE_A
+ BOXSIZE_Y=$BOXSIZE_B
+ BOXSIZE_Z=$BOXSIZE_C
+ BOXSIZE_XY=0.0
+ BOXSIZE_XZ=0.0
+ BOXSIZE_YZ=0.0
+ fi
+ BOXSIZE_MINX=0.0
+ BOXSIZE_MINY=0.0
+ BOXSIZE_MINZ=0.0
+ BOXSIZE_MAXX=$BOXSIZE_X
+ BOXSIZE_MAXY=$BOXSIZE_Y
+ BOXSIZE_MAXZ=$BOXSIZE_Z
+
+ #else: If the arguments are not understood in this script, then
+ # pass them on to "ettree.py"
+ elif [ "$i" -lt "$ARGC" ]; then
+ if [ -z "$TTREE_ARGS" ]; then
+ TTREE_ARGS="\"$A\""
+ else
+ TTREE_ARGS="${TTREE_ARGS} \"$A\""
+ fi
+ fi
+done
+
+
+
+
+
+# --------------------------------------------------------------------
+# --- Now run ttree/ettree to generate the file fragments we need. ---
+# ------ (Afterwards, we will paste these fragments together.) -----
+# --------------------------------------------------------------------
+
+
+# COMMENTING OUT. NO ERROR CHECKING YET (-Andrew 2012-10-11)
+#
+# If checking is not disabled, then first check for common spelling errors.
+#
+#if [ -n "$TTREE_CHECK_COMMAND" ]; then
+# #if ! "$TTREE_CHECK_COMMAND" "$TTREE_FILE"; then
+# if ! eval $TTREE_CHECK_COMMAND $TTREE_ARGS; then
+# exit 1
+# fi
+#fi
+
+
+# --- Run ttree. ---
+#
+# 3, 2, 1, ...
+
+if ! eval "$TTREE_COMMAND" $TTREE_ARGS "$ETFILE"; then
+ exit 1
+fi
+
+# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+# > Traceback (most recent call last):
+# > File "./ttree.py", line...
+# .-.
+# (0.0)
+# '=.|m|.='
+# .='`"``=.
+#
+# Hopefully this does not happen.
+# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+
+
+
+# Attempt to remove any the DOS return-cairrage characters
+# from inside the standard LAMMPS files generated by the user:
+# (Users are free to put whatever weird characters they want in other
+# (custom) auxilliary files. But not in the standard LAMMPS files.)
+OIFS=$IFS
+#IFS=$'\n'
+IFS="
+"
+for file in $MOLTEMPLATE_TEMP_FILES; do
+ if [ -e "$file" ]; then
+ #dos2unix < "$file" > "$file.dos2unix"
+ tr -d '\r' < "$file" > "$file.dos2unix"
+ rm -f "$file" >/dev/null 2>&1 || true
+ mv -f "$file.dos2unix" "$file"
+ fi
+done
+IFS=$OIFS
+
+
+
+# ---------------- Interactions By Type -----------------
+# At the time of writing, bonded-interactions-by-atom-type were not
+# understood by ESPresSo. These features require auxilliary python scripts.
+# These data sections must be processed before everything else (because
+# they effect the other data sections, and the ttree_assignments.txt file.)
+# -------------------------------------------------------
+
+if [ -s "${data_bond_list}.template" ]; then
+
+ if [ ! -s "$data_bonds_by_type" ]; then
+ echo "Error: You have a \"Data Bond List\", section somewhere\n"
+ echo " without a \"Data Bonds By Type\" section to support it.\n"
+ echo " (Did you mean to use \"Data Bonds\" instead?)\n"
+ echo "Details:"
+ echo " Unlike the \"Data Bonds\" section, the \"Data Bond List\" section\n"
+ echo " allows the user to omit the bond types. Instead emoltemplate attempts\n"
+ echo " to infer the type of bond by considering the pair of atom types.\n"
+ echo " However you must define a \"Data Bonds By Type\" section\n"
+ echo " to make this feature work (or use \"Data Bonds\" instead).\n"
+
+ exit 15
+ fi
+
+
+ if ! $PYTHON_COMMAND "${SCRIPT_DIR}/extract_espresso_atom_types.py" \
+ < "${data_atoms}.template" \
+ > "${data_atoms}.template.minimal"; then
+ exit 4
+ fi
+
+ # Note: The 3 lines above are usually equivalent to:
+ #awk '{print $2" "$8}' \
+ # < "${data_atoms}.template" \
+ # > "${data_atoms}.template.minimal"
+ awk '{print NR" "$1" "$2}' \
+ < "${data_bond_list}.template" \
+ > "${data_bond_list}.template.minimal"
+
+ echo "Looking up bond types according to atom type" >&2
+ #-- Generate a file containing bondid bondtype atomid1 atomid2 --
+ if ! $PYTHON_COMMAND "${MOLTEMPLATE_SCRIPT_DIR}/bonds_by_type.py" \
+ -atom-style "id type" \
+ -atoms "${data_atoms}.template.minimal" \
+ -bond-list "${data_bond_list}.template.minimal" \
+ -bondsbytype "${data_bonds_by_type}.template" \
+ -prefix '$/bond:b_bytype' > gen_bonds.template.minimal.tmp; then
+ exit 4
+ #WARNING: DO NOT REPLACE THIS WITH
+ #if ! $NBODY_COMMAND ...<-this sometimes causes a shell quotes-related error
+ fi
+
+ rm "${data_atoms}.template.minimal"
+ rm "${data_bond_list}.template.minimal"
+
+ awk '{print "part "$3" bond "$2" "$4}' \
+ < gen_bonds.template.minimal.tmp \
+ > gen_bonds.template.tmp
+
+ # ---- cleanup: ----
+ # ---- Create or re-build the "${data_bonds}.template" file ----
+ # Instert these lines into the "${data_bonds}.template" file which includes
+ # the newly generated interactions. (Note: these are in .template format)
+
+ cp gen_bonds.template.tmp new_bonds.template.tmp
+ if [ -s "${data_bonds}.template" ]; then
+ # Then append existing "Bonds" to the end of the generated interactions
+ # (Hopefully this way they will override those interactions.)
+ cat "${data_bonds}.template" >> new_bonds.template.tmp
+ fi
+ mv -f new_bonds.template.tmp "${data_bonds}.template"
+
+ # ------ THE NEXT STEP IS NOT CURRENTLY NEEDED ------
+ # All of the $bond variables have already been created, they just lack types
+ # However we will need to do this if the user wants to omits the bond-ids.
+ # In case I plan to allow the user to omit bond-ids, I leave this code here.
+ #
+ #echo "(Repairing ttree_assignments.txt file after bonds added.)" >&2
+ #
+ ## ---- Repair the ttree_assignments.txt file ----
+ ## The next 2 lines extract the variable names from data_new.template.tmp
+ ## and instert them into the appropriate place in ttree_assignments.txt
+ ## (renumbering the relevant variable-assignments to avoid clashes).
+ #if ! $PYTHON_COMMAND "${MOLTEMPLATE_SCRIPT_DIR}/nbody_fix_ttree_assignments.py" \
+ # '/bond' gen_bonds.template.tmp \
+ # < ttree_assignments.txt \
+ # > ttree_assignments.tmp; then
+ # exit 5
+ #fi
+ #
+ #echo "(Rendering ttree_assignments.tmp file after bonds added.)" >&2
+ #mv -f ttree_assignments.tmp ttree_assignments.txt
+ # ----------------------------------------------------
+
+
+
+ # ---- Re-build (render) the "$data_bonds" file ----
+ # Now substitute these variable values (assignments) into the variable
+ # names present in the .template file. (We want to convert the file from
+ # a .template format into an ordinary (numeric) LAMMPS data-section format.)
+
+ if ! $PYTHON_COMMAND "${MOLTEMPLATE_SCRIPT_DIR}/ttree_render.py" \
+ ttree_assignments.txt \
+ < "${data_bonds}.template" \
+ > "$data_bonds"; then
+ exit 6
+ fi
+
+ echo "" >&2
+
+ rm -f gen_bonds.template*.tmp new_bonds.template*.tmp
+fi
+
+
+
+
+
+
+
+for FILE in "$data_angles_by_type"*.template; do
+ if [ ! -s "$FILE" ] || [ ! -s "$data_bonds" ]; then
+ break; # This handles with the special cases that occur when
+ # 1) There are no bonds in your system
+ # 2) "$data_angles_by_type"*.template matches nothing
+ fi
+
+ echo "Generating 3-body angle interactions by atom/bond type" >&2
+
+ # Extract the text between parenthesis (if present, empty-str otherwise)
+ # Example: FILE="Data Angles By Type (gaff_angle.py)"
+ SUBGRAPH_SCRIPT=`echo "$FILE" | awk '/\(.*\)/ {print $0}' | cut -d'(' -f2-| cut -d')' -f 1`
+ # Example: (continued) SUBGRAPH_SCRIPT should equal "gaff_angle.py"
+
+ if [ -z "$SUBGRAPH_SCRIPT" ]; then
+ SUBGRAPH_SCRIPT="nbody_Angles.py"
+ else
+ echo "(using the rules in \"$SUBGRAPH_SCRIPT\")" >&2
+ #if [ ! -s "${MOLTEMPLATE_SCRIPT_DIR}/nbody_alt_symmetry/$SUBGRAPH_SCRIPT" ]; then
+ # echo "Error: File \"$SUBGRAPH_SCRIPT\" not found.\n" >&2
+ # echo " It should be located in this directory:\n" >&2
+ # echo " ${MOLTEMPLATE_SCRIPT_DIR}/nbody_alt_symmetry/\n" >&2
+ # exit 4
+ #fi
+ fi
+
+ #-- Generate a file containing the list of interactions on separate lines --
+
+ # The first step is to strip out the espresso-specific junk from each
+ # section so we end up with a simple multi-column file containing only
+ # the symbols we care about (which identify atom ids, atom and bond types)
+ if ! $PYTHON_COMMAND "${SCRIPT_DIR}/extract_espresso_atom_types.py" \
+ < "${data_atoms}.template" \
+ > "${data_atoms}.template.minimal"; then
+ exit 4
+ fi
+ # Note: The 3 lines above are usually equivalent to:
+ #awk '{print $2" "$8}' \
+ # < "${data_atoms}.template" \
+ # > "${data_atoms}.template.minimal"
+ awk '{print NR" "$4" "$2" "$5}' \
+ < "${data_bonds}.template" \
+ > "${data_bonds}.template.minimal"
+
+ if ! $PYTHON_COMMAND "${MOLTEMPLATE_SCRIPT_DIR}/nbody_by_type.py" \
+ -subgraph "${SUBGRAPH_SCRIPT}" \
+ -section "Angles" \
+ -sectionbytype "Angles By Type" \
+ -atom-style "id type" \
+ -atoms "${data_atoms}.template.minimal" \
+ -bonds "${data_bonds}.template.minimal" \
+ -nbodybytype "${FILE}" \
+ -prefix '$/bond:a_bytype' > gen_angles.template.minimal.tmp; then
+ exit 4
+ #WARNING: DO NOT REPLACE THIS WITH
+ #if ! $NBODY_COMMAND ...<-this sometimes causes a shell quotes-related error
+ fi
+
+
+ # Then put the espresso-specific syntax back in:
+ awk '{print "part "$4" bond "$2" "$3" "$5}' \
+ < gen_angles.template.minimal.tmp \
+ > gen_angles.template.tmp
+ # (See this section from the espresso manual "5.5. Bond-angle interactions")
+
+
+ # ---- cleanup: ----
+ # ---- Re-build the "${data_angles}.template" file ----
+ # Instert these lines into the "${data_angles}.template" file which includes
+ # the newly generated interactions. (Note: these are in .template format)
+
+ cp gen_angles.template.tmp new_angles.template.tmp
+ if [ -s "${data_angles}.template" ]; then
+ # Then append existing "Angles" to the end of the generated interactions
+ # (Hopefully this way they will override those interactions.)
+ cat "${data_angles}.template" >> new_angles.template.tmp
+ fi
+ mv -f new_angles.template.tmp "${data_angles}.template"
+
+ ### THE FOLLOWING STEPS ARE NOT NEEDED ###
+ # (Espresso does not ask us to supply unique ID numbers for each
+ # bonded interaction, so we don't generate counter-variables for
+ # them, and we don't need to update the ttree_assignments.txt file.)
+ ### COMMENTING OUT OLD LAMMPS-SPECIFIC CODE ###
+ #echo "(Repairing ttree_assignments.txt file after angles added.)" >&2
+ #
+ ## ---- Repair the ttree_assignments.txt file ----
+ ## The next 2 lines extract the variable names from data_new.template.tmp
+ ## and instert them into the appropriate place in ttree_assignments.txt
+ ## (renumbering the relevant variable-assignments to avoid clashes).
+ #if ! $PYTHON_COMMAND "${MOLTEMPLATE_SCRIPT_DIR}/nbody_fix_ttree_assignments.py" \
+ # '/angle' gen_angles.template.tmp \
+ # < ttree_assignments.txt \
+ # > ttree_assignments.tmp; then
+ # exit 5
+ #fi
+
+ echo "(Rendering \"$data_angles\" section after angles added.)" >&2
+
+ # ---- Re-build (render) the "$data_angles" file ----
+ # Now substitute these variable values (assignments) into the variable
+ # names present in the .template file. (We want to convert the file from
+ # a .template format into an ordinary (numeric) LAMMPS data-section format)
+
+ if ! $PYTHON_COMMAND "${MOLTEMPLATE_SCRIPT_DIR}/ttree_render.py" \
+ ttree_assignments.txt \
+ < "$data_angles.template" \
+ > "$data_angles"; then
+ exit 6
+ fi
+ echo "" >&2
+
+ rm -f gen_angles.template*.tmp new_angles.template*.tmp
+done
+
+
+
+
+
+
+for FILE in "$data_dihedrals_by_type"*.template; do
+ if [ ! -s "$FILE" ] || [ ! -s "$data_bonds" ]; then
+ break; # This handles with the special cases that occur when
+ # 1) There are no bonds in your system
+ # 2) "$data_dihedrals_by_type"*.template matches nothing
+ fi
+
+ echo "Generating 4-body dihedral interactions by atom/bond type" >&2
+
+ # Extract the text between parenthesis (if present, empty-str otherwise)
+ # Example: FILE="Data Dihedrals By Type (gaff_dih.py)"
+ SUBGRAPH_SCRIPT=`echo "$FILE" | awk '/\(.*\)/ {print $0}' | cut -d'(' -f2-| cut -d')' -f 1`
+ # Example: (continued) SUBGRAPH_SCRIPT should equal "gaff_dih.py"
+
+ if [ -z "$SUBGRAPH_SCRIPT" ]; then
+ SUBGRAPH_SCRIPT="nbody_Dihedrals.py"
+ else
+ echo "(using the rules in \"$SUBGRAPH_SCRIPT\")" >&2
+ #if [ ! -s "${MOLTEMPLATE_SCRIPT_DIR}/nbody_alt_symmetry/$SUBGRAPH_SCRIPT" ]; then
+ # echo "Error: File \"$SUBGRAPH_SCRIPT\" not found.\n" >&2
+ # echo " It should be located in this directory:\n" >&2
+ # echo " ${MOLTEMPLATE_SCRIPT_DIR}/nbody_alt_symmetry/\n" >&2
+ # exit 4
+ #fi
+ fi
+
+ #-- Generate a file containing the list of interactions on separate lines --
+
+ # The first step is to strip out the espresso-specific junk from each
+ # section so we end up with a simple multi-column file containing only
+ # the symbols we care about (which identify atom ids, atom and bond types)
+ if ! $PYTHON_COMMAND "${SCRIPT_DIR}/extract_espresso_atom_types.py" \
+ < "${data_atoms}.template" \
+ > "${data_atoms}.template.minimal"; then
+ exit 4
+ fi
+ # Note: The 3 lines above are usually equivalent to:
+ #awk '{print $2" "$8}' \
+ # < "${data_atoms}.template" \
+ # > "${data_atoms}.template.minimal"
+ awk '{print NR" "$4" "$2" "$5}' \
+ < "${data_bonds}.template" \
+ > "${data_bonds}.template.minimal"
+
+ if ! $PYTHON_COMMAND "${MOLTEMPLATE_SCRIPT_DIR}/nbody_by_type.py" \
+ -subgraph "${SUBGRAPH_SCRIPT}" \
+ -section "Dihedrals" \
+ -sectionbytype "Dihedrals By Type" \
+ -atom-style "id type" \
+ -atoms "${data_atoms}.template.minimal" \
+ -bonds "${data_bonds}.template.minimal" \
+ -nbodybytype "${FILE}" \
+ -prefix '$/bond:d_bytype' > gen_dihedrals.template.minimal.tmp; then
+ exit 4
+ #WARNING: DO NOT REPLACE THIS WITH
+ #if ! $NBODY_COMMAND ...<-this sometimes causes a shell quotes-related error
+ fi
+
+
+ # Then put the espresso-specific syntax back in:
+ awk '{print "part "$4" bond "$2" "$3" "$5" "$6}' \
+ < gen_dihedrals.template.minimal.tmp \
+ > gen_dihedrals.template.tmp
+ # (See this section from the espresso manual "5.6. Dihedral interactions")
+
+
+ # ---- cleanup: ----
+ # ---- Re-build the "${data_dihedrals}.template" file ----
+ # Instert these lines into the "${data_dihedrals}.template" file which includes
+ # the newly generated interactions. (Note: these are in .template format)
+
+ cp gen_dihedrals.template.tmp new_dihedrals.template.tmp
+ if [ -s "${data_dihedrals}.template" ]; then
+ # Then append existing "Dihedrals" to the end of the generated interactions
+ # (Hopefully this way they will override those interactions.)
+ cat "${data_dihedrals}.template" >> new_dihedrals.template.tmp
+ fi
+ mv -f new_dihedrals.template.tmp "${data_dihedrals}.template"
+
+ ### THE FOLLOWING STEPS ARE NOT NEEDED ###
+ # (Espresso does not ask us to supply unique ID numbers for each
+ # bonded interaction, so we don't generate counter-variables for
+ # them, and we don't need to update the ttree_assignments.txt file.)
+ ### COMMENTING OUT OLD LAMMPS-SPECIFIC CODE ###
+ #echo "(Repairing ttree_assignments.txt file after dihedrals added.)" >&2
+ #
+ ## ---- Repair the ttree_assignments.txt file ----
+ ## The next 2 lines extract the variable names from data_new.template.tmp
+ ## and instert them into the appropriate place in ttree_assignments.txt
+ ## (renumbering the relevant variable-assignments to avoid clashes).
+ #if ! $PYTHON_COMMAND "${MOLTEMPLATE_SCRIPT_DIR}/nbody_fix_ttree_assignments.py" \
+ # '/dihedral' gen_dihedrals.template.tmp \
+ # < ttree_assignments.txt \
+ # > ttree_assignments.tmp; then
+ # exit 5
+ #fi
+
+ echo "(Rendering \"$data_dihedrals\" section after dihedrals added.)" >&2
+
+ # ---- Re-build (render) the "$data_dihedrals" file ----
+ # Now substitute these variable values (assignments) into the variable
+ # names present in the .template file. (We want to convert the file from
+ # a .template format into an ordinary (numeric) LAMMPS data-section format)
+
+ if ! $PYTHON_COMMAND "${MOLTEMPLATE_SCRIPT_DIR}/ttree_render.py" \
+ ttree_assignments.txt \
+ < "$data_dihedrals.template" \
+ > "$data_dihedrals"; then
+ exit 6
+ fi
+ echo "" >&2
+
+ rm -f gen_dihedrals.template*.tmp new_dihedrals.template*.tmp
+done
+
+
+
+
+
+
+
+
+
+for FILE in "$data_impropers_by_type"*.template; do
+ if [ ! -s "$FILE" ] || [ ! -s "$data_bonds" ]; then
+ break; # This handles with the special cases that occur when
+ # 1) There are no bonds in your system
+ # 2) "$data_impropers_by_type"*.template matches nothing
+ fi
+
+ echo "Generating 4-body improper interactions by atom/bond type" >&2
+
+ # Extract the text between parenthesis (if present, empty-str otherwise)
+ # Example: FILE="Data Impropers By Type (gaff_dih.py)"
+ SUBGRAPH_SCRIPT=`echo "$FILE" | awk '/\(.*\)/ {print $0}' | cut -d'(' -f2-| cut -d')' -f 1`
+ # Example: (continued) SUBGRAPH_SCRIPT should equal "gaff_dih.py"
+
+ if [ -z "$SUBGRAPH_SCRIPT" ]; then
+ SUBGRAPH_SCRIPT="nbody_Impropers.py"
+ else
+ echo "(using the rules in \"$SUBGRAPH_SCRIPT\")" >&2
+ #if [ ! -s "${MOLTEMPLATE_SCRIPT_DIR}/nbody_alt_symmetry/$SUBGRAPH_SCRIPT" ]; then
+ # echo "Error: File \"$SUBGRAPH_SCRIPT\" not found.\n" >&2
+ # echo " It should be located in this directory:\n" >&2
+ # echo " ${MOLTEMPLATE_SCRIPT_DIR}/nbody_alt_symmetry/\n" >&2
+ # exit 4
+ #fi
+ fi
+
+ #-- Generate a file containing the list of interactions on separate lines --
+
+ # The first step is to strip out the espresso-specific junk from each
+ # section so we end up with a simple multi-column file containing only
+ # the symbols we care about (which identify atom ids, atom and bond types)
+ if ! $PYTHON_COMMAND "${SCRIPT_DIR}/extract_espresso_atom_types.py" \
+ < "${data_atoms}.template" \
+ > "${data_atoms}.template.minimal"; then
+ exit 4
+ fi
+ # Note: The 3 lines above are usually equivalent to:
+ #awk '{print $2" "$8}' \
+ # < "${data_atoms}.template" \
+ # > "${data_atoms}.template.minimal"
+ awk '{print NR" "$4" "$2" "$5}' \
+ < "${data_bonds}.template" \
+ > "${data_bonds}.template.minimal"
+
+ if ! $PYTHON_COMMAND "${MOLTEMPLATE_SCRIPT_DIR}/nbody_by_type.py" \
+ -subgraph "${SUBGRAPH_SCRIPT}" \
+ -section "Impropers" \
+ -sectionbytype "Impropers By Type" \
+ -atom-style "id type" \
+ -atoms "${data_atoms}.template.minimal" \
+ -bonds "${data_bonds}.template.minimal" \
+ -nbodybytype "${FILE}" \
+ -prefix '$/bond:i_bytype' > gen_impropers.template.minimal.tmp; then
+ exit 4
+
+ #WARNING: DO NOT REPLACE THIS WITH
+ #if ! $NBODY_COMMAND ...<-this sometimes causes a shell quotes-related error
+ fi
+
+
+ # Then put the espresso-specific syntax back in:
+ awk '{print "part "$4" bond "$2" "$3" "$5" "$6}' \
+ < gen_impropers.template.minimal.tmp \
+ > gen_impropers.template.tmp
+ # (See this section from the espresso manual "5.6. Improper interactions")
+
+
+ # ---- cleanup: ----
+ # ---- Re-build the "${data_impropers}.template" file ----
+ # Instert these lines into the "${data_impropers}.template" file which includes
+ # the newly generated interactions. (Note: these are in .template format)
+
+ cp gen_impropers.template.tmp new_impropers.template.tmp
+ if [ -s "${data_impropers}.template" ]; then
+ # Then append existing "Impropers" to the end of the generated interactions
+ # (Hopefully this way they will override those interactions.)
+ cat "${data_impropers}.template" >> new_impropers.template.tmp
+ fi
+ mv -f new_impropers.template.tmp "${data_impropers}.template"
+
+
+ ### THE FOLLOWING STEPS ARE NOT NEEDED ###
+ # (Espresso does not ask us to supply unique ID numbers for each
+ # bonded interaction, so we don't generate counter-variables for
+ # them, and we don't need to update the ttree_assignments.txt file.)
+ ### COMMENTING OUT OLD LAMMPS-SPECIFIC CODE ###
+ #echo "(Repairing ttree_assignments.txt file after impropers added.)" >&2
+ #
+ ## ---- Repair the ttree_assignments.txt file ----
+ ## The next 2 lines extract the variable names from data_new.template.tmp
+ ## and instert them into the appropriate place in ttree_assignments.txt
+ ## (renumbering the relevant variable-assignments to avoid clashes).
+ #if ! $PYTHON_COMMAND "${MOLTEMPLATE_SCRIPT_DIR}/nbody_fix_ttree_assignments.py" \
+ # '/improper' gen_impropers.template.tmp \
+ # < ttree_assignments.txt \
+ # > ttree_assignments.tmp; then
+ # exit 5
+ #fi
+
+ echo "(Rendering \"$data_impropers\" section after impropers added.)" >&2
+
+ # ---- Re-build (render) the "$data_impropers" file ----
+ # Now substitute these variable values (assignments) into the variable
+ # names present in the .template file. (We want to convert the file from
+ # a .template format into an ordinary (numeric) LAMMPS data-section format)
+
+ if ! $PYTHON_COMMAND "${MOLTEMPLATE_SCRIPT_DIR}/ttree_render.py" \
+ ttree_assignments.txt \
+ < "$data_impropers.template" \
+ > "$data_impropers"; then
+ exit 6
+ fi
+ echo "" >&2
+
+ rm -f gen_impropers.template*.tmp new_impropers.template*.tmp
+done
+
+
+
+
+
+
+
+
+
+
+
+#NATOMTYPES=`awk '/^@\/atom:/{n++}END{print n}' < ttree_assignments.txt`
+#NBONDTYPES=`awk '/^@\/bond:/{n++}END{print n}' < ttree_assignments.txt`
+#NANGLETYPES=`awk '/^@\/angle:/{n++}END{print n}' < ttree_assignments.txt`
+#NDIHEDRALTYPES=`awk '/^@\/dihedral:/{n++}END{print n}' < ttree_assignments.txt`
+#NIMPROPERTYPES=`awk '/^@\/improper:/{n++}END{print n}' < ttree_assignments.txt`
+#NBONDTYPES=`awk '/^@\/bond:/{n++}END{print n}' < ttree_assignments.txt`
+#NANGLETYPES=`awk '/^@\/bond:/{n++}END{print n}' < ttree_assignments.txt`
+#NDIHEDRALTYPES=`awk '/^@\/bond:/{n++}END{print n}' < ttree_assignments.txt`
+#NIMPROPERTYPES=`awk '/^@\/bond:/{n++}END{print n}' < ttree_assignments.txt`
+
+#echo " (debug msg: NATOMTYPES=$NATOMTYPES)" >&2
+#echo " (debug msg: NBONDTYPES=$NBONDTYPES)" >&2
+#echo " (debug msg: NANGLETYPES=$NANGLETYPES)" >&2
+#echo " (debug msg: NDIHEDRALTYPES=$NDIHEDRALTYPES)" >&2
+#echo " (debug msg: NIMPROPERTYPES=$NIMPROPERTYPES)" >&2
+
+#NATOMS=`awk '/^\$\/atom:/{n++}END{print n}' < ttree_assignments.txt`
+#NBONDS=`awk '/^\$\/bond:/{n++}END{print n}' < ttree_assignments.txt`
+#NANGLES=`awk '/^\$\/angle:/{n++}END{print n}' < ttree_assignments.txt`
+#NDIHEDRALS=`awk '/^\$\/dihedral:/{n++}END{print n}' < ttree_assignments.txt`
+#NIMPROPERS=`awk '/^\$\/improper:/{n++}END{print n}' < ttree_assignments.txt`
+#NBONDS=`awk '/^\$\/bond:/{n++}END{print n}' < ttree_assignments.txt`
+#NANGLES=`awk '/^\$\/bond:a_/{n++}END{print n}' < ttree_assignments.txt`
+#NDIHEDRALS=`awk '/^\$\/bond:d_/{n++}END{print n}' < ttree_assignments.txt`
+#NIMPROPERS=`awk '/^\$\/bond:i_/{n++}END{print n}' < ttree_assignments.txt`
+
+#echo " (debug msg: NATOMS=$NATOMS)" >&2
+#echo " (debug msg: NBONDS=$NBONDS)" >&2
+#echo " (debug msg: NANGLES=$NANGLES)" >&2
+#echo " (debug msg: NDIHEDRALS=$NDIHEDRALS)" >&2
+#echo " (debug msg: NIMPROPERS=$NIMPROPERS)" >&2
+
+
+
+if [ -s "$in_init" ]; then
+ echo "" >> "$OUT_FILE_TCL"
+ echo "# initial settings:" >> "$OUT_FILE_TCL"
+ cat "$in_init" >> "$OUT_FILE_TCL"
+fi
+
+
+
+
+# --- PERIODIC BOUNDARY CONDITIONS ---
+
+# Note: If there is a "$data_boundary" file present, it overrides any settings
+# which may have been stored in a pdb file or other external file.
+
+if [ -s "$data_boundary" ]; then
+ echo "" >> "$OUT_FILE_TCL"
+ echo "# periodic boundary conditions:" >> "$OUT_FILE_TCL"
+ cat "$data_boundary" >> "$OUT_FILE_TCL"
+
+elif [ -z "$BOXSIZE_MINX" ] || [ -z "$BOXSIZE_MAXX" ] || [ -z "$BOXSIZE_MINY" ] || [ -z "$BOXSIZE_MAXY" ] || [ -z "$BOXSIZE_MINZ" ] || [ -z "$BOXSIZE_MAXZ" ]; then
+
+ #echo "Periodic boundary conditions unspecified. Attempting to generate automatically." >&2
+
+ # By default, disable triclinic
+ BOXSIZE_XY=""
+ BOXSIZE_XZ=""
+ BOXSIZE_YZ=""
+ TRICLINIC=""
+
+ if [ -s "$tmp_atom_coords" ]; then
+ # Estimate the minimimum, maximum x,y,z values
+ # from the coordinate data.
+
+ MINMAX_BOUNDS=`awk 'BEGIN{first=1}{if (NF>=3){x=$1; y=$2; z=$3; if (first) {first=0; xmin=x; xmax=x; ymin=y; ymax=y; zmin=z; zmax=z;} else {if (x<xmin) xmin=x; if (x>xmax) xmax=x; if (y<ymin) ymin=y; if (y>ymax) ymax=y; if (z<zmin) zmin=z; if (z>zmax) zmax=z;}}} END{print xmin" "xmax" "ymin" "ymax" "zmin" "zmax;}' < "$tmp_atom_coords"`
+
+ # ...and add a narrow margin (10%) around the boundaries:
+ BOXSIZE_MINX=`echo $MINMAX_BOUNDS | awk "{margin=0.1; width=$2-$1; print $1-0.0*margin*width}"`
+ BOXSIZE_MAXX=`echo $MINMAX_BOUNDS | awk "{margin=0.1; width=$2-$1; print $2+1.0*margin*width}"`
+ BOXSIZE_MINY=`echo $MINMAX_BOUNDS | awk "{margin=0.1; width=$4-$3; print $3-0.0*margin*width}"`
+ BOXSIZE_MAXY=`echo $MINMAX_BOUNDS | awk "{margin=0.1; width=$4-$3; print $4+1.0*margin*width}"`
+ BOXSIZE_MINZ=`echo $MINMAX_BOUNDS | awk "{margin=0.1; width=$6-$5; print $5-0.0*margin*width}"`
+ BOXSIZE_MAXZ=`echo $MINMAX_BOUNDS | awk "{margin=0.1; width=$6-$5; print $6+1.0*margin*width}"`
+ else
+ # By default, choose some reasonably large box:
+ BOXSIZE_MINX="0.0"
+ BOXSIZE_MAXX="100.0"
+ BOXSIZE_MINY="0.0"
+ BOXSIZE_MAXY="100.0"
+ BOXSIZE_MINZ="0.0"
+ BOXSIZE_MAXZ="100.0"
+ # ...and print message scolding the user for being lazy
+ #echo "----------------------------------------------------------------------" >&2
+ #echo "---- Warning: Unable to determine periodic boundary conditions. ----" >&2
+ #echo "---- This is probably okay. ----" >&2
+ #echo "----------------------------------------------------------------------" >&2
+ fi
+
+elif [ -n $TRICLINIC ]; then
+ echo "setmd box $BOXSIZE_MAXX $BOXSIZE_MAXY $BOXSIZE_MAXZ" >> "$OUT_FILE_TCL"
+ echo "setmd periodic 1 1 1" >> "$OUT_FILE_TCL"
+else
+ # Otherwise, this is a triclinic (non orthoganal) crystal basis.
+ echo "Error: Triclinic boundary conditions are not yet supported." >&2
+ echo " (If you are reading a PDB file with periodic-boundary" >&2
+ echo " information, such as a CRYST1 record, then either" >&2
+ echo " delete that line from the PDB file, or change the" >&2
+ echo " three angles to 90.000 degress.)" >&2
+ exit 7
+fi
+echo "" >> "$OUT_FILE_TCL"
+
+
+if [ -s "$data_pair_coeffs" ]; then
+ echo "" >> "$OUT_FILE_TCL"
+ echo "# non-bonded force-field parameters:" >> "$OUT_FILE_TCL"
+ cat "$data_pair_coeffs" >> "$OUT_FILE_TCL"
+fi
+
+
+if [ -s "$data_bond_coeffs" ]; then
+ echo "" >> "$OUT_FILE_TCL"
+ echo "# 2-body bonded force-field parameters:" >> "$OUT_FILE_TCL"
+ cat "$data_bond_coeffs" >> "$OUT_FILE_TCL"
+#else
+# if [ -n "$NBONDTYPES" ] && ( [ ! -s "$in_settings" ] || (! grep -q bond_coeff "$in_settings") ); then
+# echo "WARNING: no bond coeff have been set!" >&2
+# fi
+fi
+
+
+if [ -s "$data_angle_coeffs" ]; then
+ echo "" >> "$OUT_FILE_TCL"
+ echo "# 3-body angle force-field parameters:" >> "$OUT_FILE_TCL"
+ cat "$data_angle_coeffs" >> "$OUT_FILE_TCL"
+#else
+# if [ -n "$NANGLETYPES" ] && ( [ ! -s "$in_settings" ] || (! grep -q angle_coeff "$in_settings") ); then
+# echo "WARNING: no angle coeff have been set!" >&2
+# fi
+fi
+
+
+if [ -s "$data_dihedral_coeffs" ]; then
+ echo "" >> "$OUT_FILE_TCL"
+ echo "# 4-body dihedral force-field parameters:" >> "$OUT_FILE_TCL"
+ cat "$data_dihedral_coeffs" >> "$OUT_FILE_TCL"
+#else
+# if [ -n "$NDIHEDRALTYPES" ] && ( [ ! -s "$in_settings" ] || (! grep -q dihedral_coeff "$in_settings") ); then
+# echo "WARNING: no dihedral coeffs have been set!" >&2
+# fi
+fi
+
+
+if [ -s "$data_improper_coeffs" ]; then
+ echo "" >> "$OUT_FILE_TCL"
+ echo "# 4-body improper force-field parameters:" >> "$OUT_FILE_TCL"
+ cat "$data_improper_coeffs" >> "$OUT_FILE_TCL"
+#else
+# if [ -n "$NIMPROPERTYPES" ] && ( [ ! -s "$in_settings" ] || (! grep -q improper_coeff "$in_settings") ); then
+# echo "WARNING: no improper coeffs have been set!" >&2
+# fi
+fi
+
+
+if [ -s "$in_settings" ]; then
+ echo "# force field parameters / run settings:" >> "$OUT_FILE_TCL"
+ cat "$in_settings" >> "$OUT_FILE_TCL"
+fi
+
+
+if [ -s "$data_atoms" ]; then
+ echo "" >> "$OUT_FILE_TCL"
+ echo "# atom list:" >> "$OUT_FILE_TCL"
+ cat "$data_atoms" >> "$OUT_FILE_TCL"
+fi
+
+
+if [ -s "$tmp_atom_coords" ]; then
+ rm -f "$OUT_FILE_COORDS"
+ awk 'BEGIN{natom=0} {if (NF>=3) {print "part " natom " pos " $1 " " $2 " " $3; natom++}}' < "$tmp_atom_coords" >> "$OUT_FILE_TCL"
+ NATOMS=`awk '/^\\\$\/atom:/{n++}END{print n}' < ttree_assignments.txt`
+ NATOMCRDS=`awk '{if (NF>=3) natom+=1} END{print(natom)}' < "$tmp_atom_coords"`
+ if [ $NATOMS -ne $NATOMCRDS ]; then
+ echo "Error: Number of atoms in coordinate file provided by user ($NATOMCRDS)" >&2
+ echo "does not match the number of atoms generated in ttree file ($NATOMS)" >&2
+ exit 6
+ fi
+fi
+
+if [ -s "$data_bonds" ]; then
+ echo "" >> "$OUT_FILE_TCL"
+ echo "# bonds:" >> "$OUT_FILE_TCL"
+ cat "$data_bonds" >> "$OUT_FILE_TCL"
+fi
+
+if [ -s "$data_angles" ]; then
+ echo "" >> "$OUT_FILE_TCL"
+ echo "# 3-body angle interactions:" >> "$OUT_FILE_TCL"
+ cat "$data_angles" >> "$OUT_FILE_TCL"
+fi
+
+if [ -s "$data_dihedrals" ]; then
+ echo "" >> "$OUT_FILE_TCL"
+ echo "# 4-body dihedral interactions:" >> "$OUT_FILE_TCL"
+ cat "$data_dihedrals" >> "$OUT_FILE_TCL"
+fi
+
+if [ -s "$data_impropers" ]; then
+ echo "" >> "$OUT_FILE_TCL"
+ echo "# 4-body improper interactions:" >> "$OUT_FILE_TCL"
+ cat "$data_impropers" >> "$OUT_FILE_TCL"
+fi
+
+
+# ############## CLEAN UP ################
+
+# A lot of files have been created along the way.
+# However only a few of them are actually useful.
+#
+# Optional: clean up some non-essential temporary
+# files created by running ttree
+# We move the non-essential files into a different directory
+# (but we don't delete them).
+
+if [ ! -d output_ttree ]; then
+ mkdir output_ttree
+fi
+
+rm -f "${data_atoms}.template.minimal" "${data_bonds}.template.minimal"
+
+# Move temporary files into the "output_ttree/" directory:
+OIFS=$IFS
+#IFS=$'\n'
+IFS="
+"
+for file in $MOLTEMPLATE_TEMP_FILES; do
+ #echo "file=\"$file\""
+ rm -f "output_ttree/$file" >/dev/null 2>&1 || true
+ mv "$file" output_ttree/ >/dev/null 2>&1 || true
+done
+IFS=$OIFS
diff --git a/tools/moltemplate/moltemplate/scripts/moltemplate.sh b/tools/moltemplate/moltemplate/scripts/moltemplate.sh
new file mode 100755
index 000000000..870ab9c8c
--- /dev/null
+++ b/tools/moltemplate/moltemplate/scripts/moltemplate.sh
@@ -0,0 +1,2241 @@
+#!/usr/bin/env bash
+# (note: Classic Bourne shell (#!/bin/sh) also worked at some point.)
+#
+# Author: Andrew Jewett (jewett.aij at g mail)
+# http://www.moltemplate.org
+# http://jensenlab.caltech.edu
+# http://www.chem.ucsb.edu/~sheagroup
+# License: 3-clause BSD License (See LICENSE.txt)
+# Copyright (c) 2012, Regents of the University of California
+# All rights reserved.
+
+G_PROGRAM_NAME="moltemplate.sh"
+G_VERSION="2.3.7"
+G_DATE="2017-8-22"
+
+echo "${G_PROGRAM_NAME} v${G_VERSION} ${G_DATE}" >&2
+echo "" >&2
+
+# Check for python:
+# I prefer python over python3 because python3 requires slightly
+# more memory. Use regular python (ie 2.7) when available.
+
+if which python > /dev/null; then
+ PYTHON_COMMAND='python'
+elif which python3 > /dev/null; then
+ PYTHON_COMMAND='python3'
+else
+ echo "Error: $G_PROGRAM_NAME requires python or python3" >&2
+ exit 1
+fi
+
+
+# First, determine the directory in which the python scripts are located.
+# (such as ttree.py). It could either be the directory where the script
+# file is located, OR it could be the parent of this directory.
+PY_SCR_DIR=`dirname "$0"`
+if [ ! -s "${PY_SCR_DIR}/ttree.py" ]; then
+ PY_SCR_DIR="$PY_SCR_DIR/.."
+fi
+
+
+MSG_BAD_INSTALL=$(cat <<EOF
+
+INSTALLATION ERROR:
+Follow the instructions in the "Installation" chapter of the moltemplate manual.
+(Note: You may need to log out and log in again before the changes take effect.)
+
+EOF
+)
+
+
+ERR_BAD_INSTALL()
+{
+ echo "$MSG_BAD_INSTALL" >&2
+ exit 1
+}
+
+
+ERR_INTERNAL()
+{
+ echo " !!!!!! Possible internal error !!!!!!" >&2
+ echo "This could be a bug in moltemplate." >&2
+ echo "Please report this error." >&2
+ echo "(And please include the last few lines of moltemplate output preceeding this.)" >&2
+ echo " Thank you." >&2
+ exit 100
+}
+
+
+MOLTEMPLATE_FILES_NEEDED=$(cat <<EOF
+ttree.py
+lttree.py
+lttree_check.py
+lttree_postprocess.py
+nbody_by_type.py
+nbody_fix_ttree_assignments.py
+nbody_reorder_atoms.py
+pdbsort.py
+postprocess_input_script.py
+remove_duplicate_atoms.py
+remove_duplicates_nbody.py
+renumber_DATA_first_column.py
+ttree_render.py
+dump2data.py
+raw2data.py
+EOF
+)
+
+
+
+OIFS=$IFS
+#IFS=$'\n'
+IFS="
+"
+
+for f in $MOLTEMPLATE_FILES_NEEDED; do
+ if [ ! -s "${PY_SCR_DIR}/$f" ]; then
+ echo "Error: Missing file \"${PY_SCR_DIR}/$f\"" >&2
+ ERR_BAD_INSTALL
+ fi
+done
+IFS=$OIFS
+
+# command that invokes lttree.py
+LTTREE_COMMAND="$PYTHON_COMMAND \"${PY_SCR_DIR}/lttree.py\""
+
+# command that invokes lttree_check.py
+LTTREE_CHECK_COMMAND="$PYTHON_COMMAND \"${PY_SCR_DIR}/lttree_check.py\""
+
+# command that invokes lttree_postprocess.py
+LTTREE_POSTPROCESS_COMMAND="$PYTHON_COMMAND \"${PY_SCR_DIR}/lttree_postprocess.py\""
+
+
+# -----------------------------------------------------------
+# If everything worked, then running ttree usually
+# generates the following files:
+#
+# Users of lttree typically generate the following files:
+# The variable below refer to file names generated by
+# write() and write_once() commands in a lttree-file.
+# (I keep changing my mind what I want these names to be.)
+data_prefix="Data "
+data_prefix_no_space="Data"
+data_header="Data Header"
+data_atoms="Data Atoms"
+data_masses="Data Masses"
+data_velocities="Data Velocities"
+data_bonds="Data Bonds"
+data_bond_list="Data Bond List"
+data_bonds_atomid_atomid="Data Bonds AtomId AtomId"
+data_angles="Data Angles"
+data_dihedrals="Data Dihedrals"
+data_impropers="Data Impropers"
+data_bond_coeffs="Data Bond Coeffs"
+data_angle_coeffs="Data Angle Coeffs"
+data_dihedral_coeffs="Data Dihedral Coeffs"
+data_improper_coeffs="Data Improper Coeffs"
+data_pair_coeffs="Data Pair Coeffs"
+data_pairij_coeffs="Data PairIJ Coeffs"
+
+# interactions-by-type (not id. This is not part of the LAMMPS standard.)
+data_charge_by_bond="Data Charge By Bond"
+data_bonds_by_type="Data Bonds By Type"
+data_angles_by_type="Data Angles By Type"
+data_dihedrals_by_type="Data Dihedrals By Type"
+data_impropers_by_type="Data Impropers By Type"
+
+# class2 data sections
+data_bondbond_coeffs="Data BondBond Coeffs"
+data_bondangle_coeffs="Data BondAngle Coeffs"
+data_middlebondtorsion_coeffs="Data MiddleBondTorsion Coeffs"
+data_endbondtorsion_coeffs="Data EndBondTorsion Coeffs"
+data_angletorsion_coeffs="Data AngleTorsion Coeffs"
+data_angleangletorsion_coeffs="Data AngleAngleTorsion Coeffs"
+data_bondbond13_coeffs="Data BondBond13 Coeffs"
+data_angleangle_coeffs="Data AngleAngle Coeffs"
+
+# sections for non-point-like particles:
+data_ellipsoids="Data Ellipsoids"
+data_lines="Data Lines"
+data_triangles="Data Triangles"
+
+# periodic boundary conditions
+data_boundary="Data Boundary"
+# (for backward compatibility), an older version of this file was named:
+data_pbc="Data PBC"
+
+# ---------------------------------------------------------------
+# Note: The files above are fragments of a LAMMPS data file.
+# In addition, moltemplate will probably also generate the following files:
+# (These files represent different sections of the LAMMPS input script.)
+# ---------------------------------------------------------------
+
+in_prefix="In "
+in_prefix_no_space="In"
+in_init="In Init"
+in_settings="In Settings"
+in_coords="In Coords"
+in_charges="In Charges"
+
+# If present, the various "In " files contain commands which should be
+# included by the user in their LAMMPS input script. (This task is left
+# to the user.) However, the "Data " files are processed and pasted together
+# automatically in order to build a LAMMPS data file.
+# ---------------------------------------------------------------
+
+tmp_atom_coords="tmp_atom_coords.dat" #<-temporary file for storing coordinates
+
+
+
+MOLTEMPLATE_TEMP_FILES=$(cat <<EOF
+*.template
+ttree_assignments.txt
+$tmp_atom_coords
+$data_masses
+$data_pair_coeffs
+$data_pairij_coeffs
+$data_bond_coeffs
+$data_angle_coeffs
+$data_dihedral_coeffs
+$data_improper_coeffs
+$data_atoms
+$data_velocities
+$data_bonds
+$data_bond_list
+$data_angles
+$data_dihedrals
+$data_impropers
+$data_bondbond_coeffs
+$data_bondangle_coeffs
+$data_middlebondtorsion_coeffs
+$data_endbondtorsion_coeffs
+$data_angletorsion_coeffs
+$data_angleangletorsion_coeffs
+$data_bondbond13_coeffs
+$data_angleangle_coeffs
+$data_ellipsoids
+$data_lines
+$data_triangles
+$data_boundary
+$data_header
+$data_bonds_by_type*
+${data_angles_by_type}*
+${data_dihedrals_by_type}*
+${data_impropers_by_type}*
+$in_init
+$in_settings
+EOF
+)
+
+OIFS=$IFS
+#IFS=$'\n'
+IFS="
+"
+for f in $MOLTEMPLATE_TEMP_FILES; do
+ #echo "removing [$f]"
+ rm -f "$f"
+done
+IFS=$OIFS
+
+rm -rf output_ttree
+
+
+
+
+SYNTAX_MSG=$(cat <<EOF
+Syntax example:
+Usage:
+
+moltemplate.sh [-atomstyle style] \
+ [-pdb/-xyz coord_file] \
+ [-a assignments.txt] file.lt
+
+Optional arguments:
+
+-atomstyle style By default, moltemplate.sh assumes you are using the "full"
+ atom style in LAMMPS. You can change the atom style to "dipole"
+ using -atomstyle dipole. If you are using a hybrid style,
+ you must enclose the list of styles in quotes. For example:
+ -atomstyle "hybrid full dipole"
+ For custom atom styles, you can also specify the
+ list of column names manually (enclosed in quotes):
+ -atomstyle "molid x y z atomid atomtype mux muy muz"
+
+-xyz xyz_file An optional xyz_file argument can be supplied as an argument
+ following "-xyz".
+ This file should contain the atomic coordinates in xyz format.
+ (The atoms must appear in the same order in the data file.)
+
+-pdb pdb_file An optional pdb_file argument can be supplied as an argument
+ following "-pdb".
+
+ This should be a PDB file (with ATOM or HETATM records) with
+ the coordinates you wish to appear in the LAMMPS data file.
+ (The atoms must appear in the same order in the data file.)
+
+ If the PDB file contains periodic boundary box information
+ (ie., a "CRYST1" record), this information is also copied
+ to the LAMMPS data file.
+ (Support for triclinic cells is experimental as of 2012-2-13.
+ Other molecular structure formats may be supported later.)
+-a "@atom:x 1"
+-a assignments.txt
+ The user can customize the numbers assigned to atom, bond,
+ angle, dihedral, and improper types or id numbers by using
+ -a "VARIABLE_NAME VALUE"
+ for each variable you want to modify. If there are many
+ variables you want to modify, you can save them in a file
+ (one variable per line). For an example of the file format
+ run moltemplat.sh once and search for a file named
+ "ttree_assignments.txt". (This file is often located in
+ the "output_ttree/" directory.) Once assigned, the remaining
+ variables in the same category will be automatically assigned
+ to values which do not overlap with your chosen values.
+-b assignments.txt
+ "-b" is similar to "-a". However, in this case, no attempt
+ is made to assign exclusive (unique) values to each variable.
+-nocheck
+ Normally moltemplate.sh checks for common errors and typos and
+ halts if it thinks it has found one. This forces the variables
+ and categories as well as write(file) and write_once(file)
+ commands to obey standard naming conventions. The "-nocheck"
+ argument bypasses these checks and eliminates these restrictions.
+
+-checkff This cause moltemplate.sh to check to make sure that there
+ are valid angle and dihedral interactions defined for every
+ 3 or 4 consecutively bonded atoms in the system
+ (defined in "Angles/Dihedrals By Type").
+
+-overlay-angles Normally, moltemplate.sh checks to see if multiple angle
+-overlay-dihedrals interactions are defined for the same triplet of atoms.
+-overlay-impropers If so, it deletes the redundant ones (keeping the last one).
+-overlay-bonds (It does the same thing for bonds, dihedrals, and impropers.)
+ Use these options to prevent that behavoir.
+
+-angle-symmetry file.py Normally moltemplate.sh reorders the atoms in each
+-dihedral-symmetry file.py angle, dihedral, improper, and bond interaction.
+-improper-symmetry file.py TO TURN OFF ATOM REORDERING, SET file.py to "NONE"
+-bond-symmetry file.py You can override the rules that moltemplate.sh uses
+ by supplying a file (file.py) with symmetry rules.
+ See nbody_Dihedrals.py, nbody_Impropers.py (in the
+ moltemplate directory) to learn the file format.
+
+EOF
+)
+
+# --- Periodic boundary box information (default) ---
+
+# We will determine these numbers later.
+TRICLINIC=""
+BOXSIZE_MINX=0.0
+BOXSIZE_MINY=0.0
+BOXSIZE_MINZ=0.0
+BOXSIZE_MAXX=""
+BOXSIZE_MAXY=""
+BOXSIZE_MAXZ=""
+BOXSIZE_XY=0.0
+BOXSIZE_XZ=0.0
+BOXSIZE_YZ=0.0
+
+
+
+if [ "$1" = "--help" ]; then
+ echo "$SYNTAX_MSG" >&2
+ exit 0
+fi
+
+
+
+# --- Did the user specify a file containing atomic coordinates?
+
+rm -f "$tmp_atom_coords"
+
+# Optional files containing atom coordinates:
+PDB_FILE=""
+XYZ_FILE=""
+RAW_FILE=""
+LT_FILE=""
+OUT_FILE_BASE="system"
+# REMOVE_DUPLICATE variables:
+# ...If true (default), then any duplicate entries in the lists of bonds
+# bonds, angles, dihedrals, or impropers in the LAMMPS DATA file
+# are removed, giving priority to the most recent entry in the list.
+# (This might not be necessary, but I want to be careful.)
+REMOVE_DUPLICATE_BONDS="true"
+REMOVE_DUPLICATE_ANGLES="true"
+REMOVE_DUPLICATE_DIHEDRALS="true"
+REMOVE_DUPLICATE_IMPROPERS="true"
+CHECKFF=""
+RUN_VMD_AT_END=""
+
+
+ARGC=0
+for A in "$@"; do
+ A_FIRSTCHAR="$(echo $A| cut -c 1)"
+ # (Note to self: this next line only works in bash, not classic sh.)
+ if [ "$A_FIRSTCHAR" = "\$" ]; then
+ A="\\$A" # put an extra slash in front to prevent expansion later
+ fi
+
+ ARGC=$((ARGC+1))
+ eval ARGV${ARGC}=\"$A\"
+done
+
+TTREE_ARGS=""
+ATOM_STYLE="full"
+ATOM_STYLE_ARG="-atomstyle \"$ATOM_STYLE\""
+
+i=0
+while [ "$i" -lt "$ARGC" ]; do
+ i=$((i+1))
+ eval A=\${ARGV${i}}
+
+ if [ "$A" = "-nocheck" ]; then
+ # Disable syntax checking by undefining LTTREE_CHECK_COMMAND
+ unset LTTREE_CHECK_COMMAND
+ unset LTTREE_POSTPROCESS_COMMAND
+ elif [ "$A" = "-checkff" ]; then
+ # Disable syntax checking by undefining LTTREE_CHECK_COMMAND
+ CHECKFF="$A"
+ elif [ "$A" = "-overlay-bonds" ]; then
+ # In that case, do not remove duplicate bond interactions
+ unset REMOVE_DUPLICATE_BONDS
+ elif [ "$A" = "-overlay-angles" ]; then
+ # In that case, do not remove duplicate angle interactions
+ unset REMOVE_DUPLICATE_ANGLES
+ elif [ "$A" = "-overlay-dihedrals" ]; then
+ # In that case, do not remove duplicate dihedral interactions
+ unset REMOVE_DUPLICATE_DIHEDRALS
+ elif [ "$A" = "-overlay-impropers" ]; then
+ # In that case, do not remove duplicate improper interactions
+ unset REMOVE_DUPLICATE_IMPROPERS
+ elif [ "$A" = "-vmd" ]; then
+ RUN_VMD_AT_END="true"
+ elif [ "$A" = "-raw" ]; then
+ if [ "$i" -eq "$ARGC" ]; then
+ echo "$SYNTAX_MSG" >&2
+ exit 7
+ fi
+ i=$((i+1))
+ eval A=\${ARGV${i}}
+ RAW_FILE=$A
+ if [ ! -s "$RAW_FILE" ]; then
+ echo "$SYNTAX_MSG" >&2
+ echo "-----------------------" >&2
+ echo "" >&2
+ echo "Error: Unable to open RAW-file \"$RAW_FILE\"." >&2
+ echo " (File is empty or does not exist.)" >&2
+ exit 8
+ fi
+ #echo " (extracting coordinates from \"$RAW_FILE\")" >&2
+ awk '{if (NF==3) {print $0}}' < "$RAW_FILE" > "$tmp_atom_coords"
+
+ elif [ "$A" = "-bond-symmetry" ]; then
+ # Change the atom ordering rules in a 2-body bonded interaction:
+ if [ "$i" -eq "$ARGC" ]; then
+ echo "$SYNTAX_MSG" >&2
+ exit 7
+ fi
+ i=$((i+1))
+ eval A=\${ARGV${i}}
+ if [ "$A" = "NONE" ]; then
+ SUBGRAPH_SCRIPT_BONDS="bonds_nosym.py"
+ else
+ SUBGRAPH_SCRIPT_BONDS=$A
+ fi
+
+ elif [ "$A" = "-angle-symmetry" ]; then
+ # Change the atom ordering rules in a 3-body "angle" interaction:
+ if [ "$i" -eq "$ARGC" ]; then
+ echo "$SYNTAX_MSG" >&2
+ exit 7
+ fi
+ i=$((i+1))
+ eval A=\${ARGV${i}}
+ if [ "$A" = "NONE" ]; then
+ SUBGRAPH_SCRIPT_ANGLES="angles_nosym.py"
+ else
+ SUBGRAPH_SCRIPT_ANGLES=$A
+ fi
+
+ elif [ "$A" = "-dihedral-symmetry" ]; then
+ # Change the atom ordering rules in a 4-body "dihedral" interaction:
+ if [ "$i" -eq "$ARGC" ]; then
+ echo "$SYNTAX_MSG" >&2
+ exit 7
+ fi
+ i=$((i+1))
+ eval A=\${ARGV${i}}
+ if [ "$A" = "NONE" ]; then
+ SUBGRAPH_SCRIPT_DIHEDRALS="dihedrals_nosym.py"
+ else
+ SUBGRAPH_SCRIPT_DIHEDRALS=$A
+ fi
+
+ elif [ "$A" = "-improper-symmetry" ]; then
+ # Change the atom ordering rules in a 4-body "improper" interaction:
+ if [ "$i" -eq "$ARGC" ]; then
+ echo "$SYNTAX_MSG" >&2
+ exit 7
+ fi
+ i=$((i+1))
+ eval A=\${ARGV${i}}
+ if [ "$A" = "NONE" ]; then
+ SUBGRAPH_SCRIPT_IMPROPERS="impropers_nosym.py"
+ else
+ SUBGRAPH_SCRIPT_IMPROPERS=$A
+ fi
+
+ elif [ "$A" = "-xyz" ]; then
+ if [ "$i" -eq "$ARGC" ]; then
+ echo "$SYNTAX_MSG" >&2
+ exit 7
+ fi
+ i=$((i+1))
+ eval A=\${ARGV${i}}
+ XYZ_FILE=$A
+ if [ ! -s "$XYZ_FILE" ]; then
+ echo "$SYNTAX_MSG" >&2
+ echo "-----------------------" >&2
+ echo "" >&2
+ echo "Error: Unable to open XYZ-file \"$XYZ_FILE\"." >&2
+ echo " (File is empty or does not exist.)" >&2
+ exit 8
+ fi
+ #echo " (extracting coordinates from \"$XYZ_FILE\")" >&2
+
+ # "isnum(x)" returns 1 or 0 depending upon whether or not
+ # a string is numeric.
+ #http://rosettacode.org/wiki/Determine_if_a_string_is_numeric#AWK
+
+ awk 'function isnum(x){return(x==x+0)} BEGIN{targetframe=1;framecount=0} {if (isnum($0)) {framecount++} else{if (framecount==targetframe){ if (NF>0) { if ((NF==3) && isnum($1)) {print $1" "$2" "$3} else if ((NF==4) && isnum($2)) {print $2" "$3" "$4} }}}}' < "$XYZ_FILE" > "$tmp_atom_coords"
+
+ elif [ "$A" = "-pdb" ]; then
+ if [ "$i" -eq "$ARGC" ]; then
+ echo "$SYNTAX_MSG" >&2
+ exit 9
+ fi
+ i=$((i+1))
+ eval A=\${ARGV${i}}
+ PDB_FILE=$A
+ if [ ! -s "$PDB_FILE" ]; then
+ echo "$SYNTAX_MSG" >&2
+ echo "-----------------------" >&2
+ echo "" >&2
+ echo "Error: Unable to open PDB-file \"$PDB_FILE\"." >&2
+ echo " (File is empty or does not exist.)" >&2
+ exit 10
+ fi
+ #echo " (extracting coordinates from \"$PDB_FILE\")" >&2
+ if grep -q '^ATOM \|^HETATM' "$PDB_FILE"; then
+ # Extract the coords from the "ATOM" records in the PDB file
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/pdbsort.py" < "$PDB_FILE" \
+ | awk '/^ATOM |^HETATM/{print substr($0,31,8)" "substr($0,39,8)" "substr($0,47,8)}' > "$tmp_atom_coords"; then
+ ERR_INTERNAL
+ fi
+ else
+ echo "$SYNTAX_MSG" >&2
+ echo "-----------------------" >&2
+ echo "" >&2
+ echo "Error: File \"$PDB_FILE\" is not a valid PDB file." >&2
+ exit 11
+ fi
+ # Now extract the periodic bounding-box informatio from the PDB file
+ # The CRYST1 records are described at:
+ # http://deposit.rcsb.org/adit/docs/pdb_atom_format.html
+ BOXSIZE_A=-1.0
+ BOXSIZE_B=-1.0
+ BOXSIZE_C=-1.0
+ ALPHA=" 90.00" #Note: The space before the number in " 90.00" is intentional.
+ BETA=" 90.00" # Later we will check to see if the system is triclinic
+ GAMMA=" 90.00" # by comparing these strings for equality with " 90.00"
+ if grep -qF "CRYST1" "$PDB_FILE"; then
+ BOXSIZE_A=`awk '/CRYST1/{print substr($0,8,8)}' < "$PDB_FILE"`
+ BOXSIZE_B=`awk '/CRYST1/{print substr($0,17,8)}' < "$PDB_FILE"`
+ BOXSIZE_C=`awk '/CRYST1/{print substr($0,26,8)}' < "$PDB_FILE"`
+ ALPHA=`awk '/CRYST1/{print substr($0,35,6)}' < "$PDB_FILE"`
+ BETA=`awk '/CRYST1/{print substr($0,42,6)}' < "$PDB_FILE"`
+ GAMMA=`awk '/CRYST1/{print substr($0,49,6)}' < "$PDB_FILE"`
+ fi
+ if [ `echo "$ALPHA!=90.0"|bc` -eq 1 ] || [ `echo "$BETA!=90.0"|bc` -eq 1 ] || [ `echo "$GAMMA!=90.0"|bc` -eq 1 ]; then
+ # I transform the parameters from one format to the other by inverting
+ # the transformation formula from the LAMMPS documentation (which matches
+ # http://www.ccl.net/cca/documents/molecular-modeling/node4.html)
+ # Disclaimer:
+ # As of September 2012, I have not tested the code below. I think the
+ # equations are correct, but I don't know if their are special cases
+ # that require the coordinates to be rotated or processed beforehand.
+ # This is an experimental feature.
+ TRICLINIC="True"
+ PI=3.1415926535897931
+ BOXSIZE_X=$BOXSIZE_A
+ BOXSIZE_Y=`awk "BEGIN{print $BOXSIZE_B*sin($GAMMA*$PI/180.0)}"`
+ BOXSIZE_XY=`awk "BEGIN{print $BOXSIZE_B*cos($GAMMA*$PI/180.0)}"`
+ BOXSIZE_XZ=`awk "BEGIN{print $BOXSIZE_C*cos($BETA*$PI/180.0)}"`
+ BOXSIZE_YZ=`awk "BEGIN{ca=cos($ALPHA*$PI/180.0); cb=cos($BETA*$PI/180.0); cg=cos($GAMMA*$PI/180.0); sg=sin($GAMMA*$PI/180.0); c=$BOXSIZE_C; print c*(ca-(cg*cb))/sg}"`
+ BOXSIZE_Z=`awk "BEGIN{print sqrt(($BOXSIZE_C**2)-(($BOXSIZE_XZ**2)+($BOXSIZE_YZ**2)))}"`
+ else
+ BOXSIZE_X=$BOXSIZE_A
+ BOXSIZE_Y=$BOXSIZE_B
+ BOXSIZE_Z=$BOXSIZE_C
+ BOXSIZE_XY=0.0
+ BOXSIZE_XZ=0.0
+ BOXSIZE_YZ=0.0
+ fi
+ BOXSIZE_MINX=0.0
+ BOXSIZE_MINY=0.0
+ BOXSIZE_MINZ=0.0
+ BOXSIZE_MAXX=$BOXSIZE_X
+ BOXSIZE_MAXY=$BOXSIZE_Y
+ BOXSIZE_MAXZ=$BOXSIZE_Z
+
+ elif [ "$A" = "-atomstyle" ] || [ "$A" = "-atom-style" ] || [ "$A" = "-atom_style" ]; then
+ if [ "$i" -eq "$ARGC" ]; then
+ echo "$SYNTAX_MSG" >&2
+ exit 7
+ fi
+ i=$((i+1))
+ eval A=\${ARGV${i}}
+ if [ -z "$A" ]; then
+ echo "$SYNTAX_MSG" >&2
+ echo "-----------------------" >&2
+ echo "" >&2
+ echo "Error: The \"-atomstyle\" argument should be followed by an atom style." >&2
+ echo " (See the \"atom_style\" command in the LAMMPS documentation." >&2
+ echo " Note: hybrid atom styles are allowed but should be enclosed in quotes.)" >&2
+ exit 8
+ fi
+
+ #echo " (atom_style=\"$A\")" >&2
+ #echo "" >&2
+
+ ATOM_STYLE="$A"
+ ATOM_STYLE_ARG="-atomstyle \"$A\""
+
+ # (minor detail: $ATOM_STYLE_ARG should also be appended to TTREE_ARGS)
+ if [ -z "$TTREE_ARGS" ]; then
+ TTREE_ARGS="$ATOM_STYLE_ARG"
+ else
+ TTREE_ARGS="${TTREE_ARGS} $ATOM_STYLE_ARG"
+ fi
+
+
+ #else: If the arguments are not understood in this script, then
+ # pass them on to "lttree.py"
+ else
+ A_FIRSTCHAR="$(echo $A| cut -c 1)"
+
+ if [ "$A_FIRSTCHAR" = "\$" ]; then
+ A="\\$A" # put an extra slash in front to prevent expansion later
+ fi
+
+ if [ -z "$TTREE_ARGS" ]; then
+ TTREE_ARGS="\"$A\""
+ else
+ TTREE_ARGS="${TTREE_ARGS} \"$A\""
+ fi
+ # Check to see if this string ($A) ends in .lt or .LT
+ # If so, then set the base name of the output files
+ # to equal the base name of the .LT file being read.
+ # (Being careful here.
+ # Sometimes the last argument is not the .lt or .LT file.
+ # Sometimes that file appears earlier in the argument list.
+ # I want to supply a default value.)
+ #
+ # Note, in bash you can use:
+ # if [ "${LAST_ARG/%.lt/}" -neq "$LAST_ARG" ]; then
+ # OUT_FILE_BASE="${LAST_ARG/%.lt/}"
+ # But in the original bourn shell (sh), this does not work.
+ # Instead we use a hack involving basename and dirname:
+
+ if [ "$A_FIRSTCHAR" != "-" ]; then
+ DN=`dirname "$A"`
+ if [ "$DN" = "." ]; then
+ DN=""
+ else
+ DN="${DN}/"
+ fi
+
+ BN=`basename "$A" .lt`
+ if [ "${DN}${BN}" != "$A" ]; then
+ OUT_FILE_BASE="$BN"
+ else
+ BN=`basename "$A" .LT`
+ if [ "${DN}${BN}" != "$A" ]; then
+ OUT_FILE_BASE="$BN"
+ fi
+ fi
+ fi
+ fi
+done
+
+
+if [ -z "$ATOM_STYLE" ]; then
+ #echo '########################################################' >&2
+ #echo '## WARNING: atom_style unspecified ##' >&2
+ #echo '## Assuming atom_style = \"full\" ##' >&2
+ #echo '########################################################' >&2
+ ATOM_STYLE="full"
+fi
+
+
+
+OUT_FILE_INPUT_SCRIPT="${OUT_FILE_BASE}.in"
+OUT_FILE_INIT="${OUT_FILE_BASE}.in.init"
+OUT_FILE_SETTINGS="${OUT_FILE_BASE}.in.settings"
+OUT_FILE_DATA="${OUT_FILE_BASE}.data"
+OUT_FILE_COORDS="${OUT_FILE_BASE}.in.coords"
+
+rm -f "$OUT_FILE_INPUT_SCRIPT" "$OUT_FILE_INIT" "$OUT_FILE_SETTINGS" "$OUT_FILE_DATA" "$OUT_FILE_COORDS"
+
+
+
+
+
+# --------------------------------------------------------------------
+# --- Now run ttree/lttree to generate the file fragments we need. ---
+# ------ (Afterwards, we will paste these fragments together.) -----
+# --------------------------------------------------------------------
+
+
+
+
+
+# If checking is not disabled, then first check for common spelling errors.
+
+if [ -n "$LTTREE_CHECK_COMMAND" ]; then
+ if ! eval $LTTREE_CHECK_COMMAND $TTREE_ARGS; then
+ exit 1
+ fi
+fi
+
+
+# --- Run ttree. ---
+#
+# 3, 2, 1, ...
+
+if ! eval $LTTREE_COMMAND $TTREE_ARGS; then
+ exit 2
+fi
+
+# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+# > Traceback (most recent call last):
+# > File "./lttree.py", line...
+# .-.
+# (0.0)
+# '=.|m|.='
+# .='`"``=.
+#
+# Hopefully this does not happen.
+# !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+echo "" >&2
+
+
+
+
+
+# Now count the number of atom-types, bond-types, angle-types, etc...
+
+NATOMTYPES=`awk '/^@\/atom:/{n++}END{print n}' < ttree_assignments.txt`
+NBONDTYPES=`awk '/^@\/bond:/{n++}END{print n}' < ttree_assignments.txt`
+NANGLETYPES=`awk '/^@\/angle:/{n++}END{print n}' < ttree_assignments.txt`
+NDIHEDRALTYPES=`awk '/^@\/dihedral:/{n++}END{print n}' < ttree_assignments.txt`
+NIMPROPERTYPES=`awk '/^@\/improper:/{n++}END{print n}' < ttree_assignments.txt`
+
+if [ -z "$NATOMTYPES" ]; then
+ # Moltemplate can be used as a simple hierarchical template renderer
+ # that knows nothing about LAMMPS. In that case NATOMTYPES is undefined.
+ # In that case, terminate now and do not try to interpret the files.
+ exit 0
+fi
+
+
+
+
+
+# Attempt to remove any the DOS return-cairrage characters
+# from inside the standard LAMMPS files generated by the user:
+# (Users are free to put whatever weird characters they want in other
+# (custom) auxilliary files. But not in the standard LAMMPS files.)
+OIFS=$IFS
+#IFS=$'\n'
+IFS="
+"
+for file in $MOLTEMPLATE_TEMP_FILES; do
+ if [ -e "$file" ]; then
+ #dos2unix < "$file" > "$file.dos2unix"
+ tr -d '\r' < "$file" > "$file.dos2unix"
+ rm -f "$file" >/dev/null 2>&1 || true
+ mv -f "$file.dos2unix" "$file"
+ fi
+done
+IFS=$OIFS
+
+
+if [ -s "${data_atoms}" ]; then
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/remove_duplicate_atoms.py" \
+ < "${data_atoms}" \
+ > "${data_atoms}.tmp"; then
+ ERR_INTERNAL
+ fi
+ mv -f "${data_atoms}.tmp" "${data_atoms}"
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/remove_duplicate_atoms.py" \
+ < "${data_atoms}.template" \
+ > "${data_atoms}.tmp"; then
+ ERR_INTERNAL
+ fi
+ mv -f "${data_atoms}.tmp" "${data_atoms}.template"
+
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/renumber_DATA_first_column.py" \
+ < "${data_atoms}" \
+ > "${data_atoms}.tmp"; then
+ ERR_INTERNAL
+ fi
+ mv -f "${data_atoms}.tmp" "${data_atoms}"
+else
+ if [ -n "$NATOMTYPES" ]; then
+ echo "Error: There are no atoms in your system. Suggestions:" >&2
+ echo "" >&2
+ echo " Make sure that you have the correct number of curly parenthesis {}." >&2
+ echo " (Extra \"}\" parenthesis can cause this error.)" >&2
+ echo "" >&2
+ echo " Your files must contain at least one" >&2
+ echo " write(\"${data_atoms}\")" >&2
+ echo " command. These commands are typically located somewhere in" >&2
+ echo " one of the molecule object(s) you have defined." >&2
+ echo "" >&2
+ echo " This error often occurs if your input files lack \"new\" commands." >&2
+ echo " Once you have defined a type of molecule, you must create a copy" >&2
+ echo " of it using \"new\", if you want it to appear in your simulation." >&2
+ echo " See the moltemplate manual or online tutorials for examples." >&2
+ echo "" >&2
+ echo " (This error also occurs if you instantiated an object using \"new\"" >&2
+ echo " which you thought was a molecule, but it is actually only a" >&2
+ echo " namespace, a force-field name or category containing only the" >&2
+ echo " definitions of other molecules, lacking any atoms of its own.)" >&2
+ echo "" >&2
+ exit 200
+ fi
+fi
+
+
+
+
+
+
+# ---------------- Interactions By Type -----------------
+# At the time of writing, bonded-interactions-by-atom-type were not
+# understood by LAMMPS. These features require auxilliary python scripts.
+# These data sections must be processed before everything else (because
+# they effect the other data sections, and the ttree_assignments.txt file.)
+# -------------------------------------------------------
+
+if [ -s "${data_bond_list}.template" ]; then
+
+ if [ ! -s "$data_bonds_by_type" ]; then
+ echo "Error: You have a \"Data Bond List\", section somewhere"
+ echo " without a \"Data Bonds By Type\" section to support it."
+ echo " (Did you mean to use \"Data Bonds\" instead?)"
+ echo "Details:"
+ echo " Unlike the \"Data Bonds\" section, the \"Data Bond List\" section"
+ echo " allows the user to omit the bond types. Instead moltemplate attempts"
+ echo " to infer the type of bond by considering the pair of atom types."
+ echo " However you must define a \"Data Bonds By Type\" section"
+ echo " to make this feature work (or use \"Data Bonds\" instead)."
+
+ exit 15
+ fi
+ echo "Looking up bond types according to atom type" >&2
+ #-- Generate a file containing bondid bondtype atomid1 atomid2 --
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/bonds_by_type.py" \
+ -atom-style "$ATOM_STYLE" \
+ -atoms "${data_atoms}.template" \
+ -bond-list "${data_bond_list}.template" \
+ -bondsbytype "${data_bonds_by_type}.template" \
+ -prefix '$/bond:bytype' > gen_bonds.template.tmp; then
+ exit 4
+ fi
+
+ # ---- cleanup: ----
+ # ---- Create or re-build the "${data_bonds}.template" file ----
+ # Instert these lines into the "${data_bonds}.template" file which includes
+ # the newly generated interactions. (Note: these are in .template format)
+
+ cp gen_bonds.template.tmp new_bonds.template.tmp
+ if [ -s "${data_bonds}.template" ]; then
+ # Then append existing "Bonds" to the end of the generated interactions
+ # (Hopefully this way they will override those interactions.)
+ cat "${data_bonds}.template" >> new_bonds.template.tmp
+ fi
+ mv -f new_bonds.template.tmp "${data_bonds}.template"
+
+
+
+ # ------ THE NEXT STEP IS NOT CURRENTLY NEEDED ------
+ # All of the $bond variables have already been created, they just lack types
+ # However we will need to do this if the user wants to omits the bond-ids.
+ # In case I plan to allow the user to omit bond-ids, I leave this code here.
+ #
+ #echo "(Repairing ttree_assignments.txt file after bonds added.)" >&2
+ #
+ ## ---- Repair the ttree_assignments.txt file ----
+ ## The next 2 lines extract the variable names from data_new.template.tmp
+ ## and instert them into the appropriate place in ttree_assignments.txt
+ ## (renumbering the relevant variable-assignments to avoid clashes).
+ #if ! $PYTHON_COMMAND "${PY_SCR_DIR}/nbody_fix_ttree_assignments.py" \
+ # '/bond' gen_bonds.template.tmp \
+ # < ttree_assignments.txt \
+ # > ttree_assignments.tmp; then
+ # exit 5
+ #fi
+ #
+ #echo "(Rendering ttree_assignments.tmp file after bonds added.)" >&2
+ #mv -f ttree_assignments.tmp ttree_assignments.txt
+ # ----------------------------------------------------
+
+
+
+ # ---- Re-build (render) the "$data_bonds" file ----
+ # Now substitute these variable values (assignments) into the variable
+ # names present in the .template file. (We want to convert the file from
+ # a .template format into an ordinary (numeric) LAMMPS data-section format.)
+
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/ttree_render.py" \
+ ttree_assignments.txt \
+ < "${data_bonds}.template" \
+ > "$data_bonds"; then
+ exit 6
+ fi
+
+ echo "" >&2
+
+ rm -f gen_bonds.template.tmp new_bonds.template.tmp
+
+ echo "" >&2
+
+fi
+
+
+
+
+
+
+
+
+
+
+
+#for FILE in "$data_angles_by_type"*.template; do
+IFS_BACKUP="$IFS"
+IFS=$(echo -en "\n\b")
+for FILE in `ls -v "$data_angles_by_type"*.template`; do
+
+ if [ ! -s "$FILE" ] || [ ! -s "$data_bonds" ]; then
+ break; # This handles with the special cases that occur when
+ # 1) There are no bonds in your system
+ # 2) "$data_angles_by_type"*.template matches nothing
+ fi
+
+ echo "Generating 3-body angle interactions by atom/bond type" >&2
+
+ # Extract the text between parenthesis (if present, empty-str otherwise)
+ # Example: FILE="Data Angles By Type (gaff_angle.py)"
+ SUBGRAPH_SCRIPT=`echo "$FILE" | awk '/\(.*\)/ {print $0}' | cut -d'(' -f2-| cut -d')' -f 1`
+ # Example: (continued) SUBGRAPH_SCRIPT should equal "gaff_angle.py"
+
+ # The user can also override this choice:
+ if [ -n "$SUBGRAPH_SCRIPT_ANGLES" ]; then
+ SUBGRAPH_SCRIPT="$SUBGRAPH_SCRIPT_ANGLES"
+ elif [ -n "$SUBGRAPH_SCRIPT" ]; then
+ SUBGRAPH_SCRIPT_ANGLES="$SUBGRAPH_SCRIPT"
+ fi
+
+ if [ -z "$SUBGRAPH_SCRIPT" ]; then
+ SUBGRAPH_SCRIPT="nbody_Angles.py"
+ else
+ echo "(using the rules in \"$SUBGRAPH_SCRIPT\")" >&2
+ # if [ ! -s "${PY_SCR_DIR}/nbody_alt_symmetry/$SUBGRAPH_SCRIPT" ]; then
+ # echo "Error: File \"$SUBGRAPH_SCRIPT\" not found." >&2
+ # echo " It should be located in this directory:" >&2
+ # echo " ${PY_SCR_DIR}/nbody_alt_symmetry/" >&2
+ # exit 4
+ # fi
+ fi
+
+ #-- Generate a file containing the list of interactions on separate lines --
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/nbody_by_type.py" \
+ -subgraph "${SUBGRAPH_SCRIPT}" \
+ -section "Angles" \
+ -sectionbytype "Angles By Type" \
+ -atom-style "$ATOM_STYLE" \
+ -atoms "${data_atoms}.template" \
+ -bonds "${data_bonds}.template" \
+ -nbodybytype "${FILE}" \
+ $CHECKFF \
+ -prefix '$/angle:bytype' > gen_angles.template.tmp; then
+ exit 4
+ fi
+
+ # ---- cleanup: ----
+ # ---- Re-build the "${data_angles}.template" file ----
+ # Instert these lines into the "${data_angles}.template" file which includes
+ # the newly generated interactions. (Note: these are in .template format)
+
+ cp gen_angles.template.tmp new_angles.template.tmp
+ if [ -s "${data_angles}.template" ]; then
+ # Then append existing "Angles" to the end of the generated interactions
+ # (Hopefully this way they will override those interactions.)
+ cat "${data_angles}.template" >> new_angles.template.tmp
+ fi
+ mv -f new_angles.template.tmp "${data_angles}.template"
+
+ echo "(Repairing ttree_assignments.txt file after angles added.)" >&2
+
+ # ---- Repair the ttree_assignments.txt file ----
+ # The next 2 lines extract the variable names from data_new.template.tmp
+ # and instert them into the appropriate place in ttree_assignments.txt
+ # (renumbering the relevant variable-assignments to avoid clashes).
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/nbody_fix_ttree_assignments.py" \
+ '/angle' gen_angles.template.tmp \
+ < ttree_assignments.txt \
+ > ttree_assignments.tmp; then
+ exit 5
+ fi
+
+ echo "(Rendering ttree_assignments.tmp file after angles added.)" >&2
+
+ # ---- Re-build (render) the "$data_angles" file ----
+ # Now substitute these variable values (assignments) into the variable
+ # names present in the .template file. (We want to convert the file from
+ # a .template format into an ordinary (numeric) LAMMPS data-section format.)
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/ttree_render.py" \
+ ttree_assignments.tmp \
+ < "${data_angles}.template" \
+ > "$data_angles"; then
+ exit 6
+ fi
+ echo "" >&2
+
+ mv -f ttree_assignments.tmp ttree_assignments.txt
+ rm -f gen_angles.template.tmp new_angles.template.tmp
+done
+IFS="$IFS_BACKUP"
+
+
+
+
+
+
+FILE_dihedrals_by_type1=""
+FILE_dihedrals_by_type2=""
+#for FILE in "$data_dihedrals_by_type"*.template; do
+IFS_BACKUP="$IFS"
+IFS=$(echo -en "\n\b")
+for FILE in `ls -v "$data_dihedrals_by_type"*.template`; do
+
+ if [ ! -s "$FILE" ] || [ ! -s "$data_bonds" ]; then
+ break; # This handles with the special cases that occur when
+ # 1) There are no bonds in your system
+ # 2) "$data_dihedrals_by_type"*.template matches nothing
+ fi
+
+ echo "Generating 4-body dihedral interactions by atom/bond type" >&2
+
+ # Extract the text between parenthesis (if present, empty-str otherwise)
+ # Example: FILE="Data Dihedrals By Type (gaff_dih.py)"
+ SUBGRAPH_SCRIPT=`echo "$FILE" | awk '/\(.*\)/ {print $0}' | cut -d'(' -f2-| cut -d')' -f 1`
+ # Example: (continued) SUBGRAPH_SCRIPT should equal "gaff_dih.py"
+
+ # The user can also override this choice:
+ if [ -n "$SUBGRAPH_SCRIPT_DIHEDRALS" ]; then
+ SUBGRAPH_SCRIPT="$SUBGRAPH_SCRIPT_DIHEDRALS"
+ elif [ -n "$SUBGRAPH_SCRIPT" ]; then
+ SUBGRAPH_SCRIPT_DIHEDRALS="$SUBGRAPH_SCRIPT"
+ fi
+
+ if [ -z "$SUBGRAPH_SCRIPT" ]; then
+ SUBGRAPH_SCRIPT="nbody_Dihedrals.py"
+ else
+ echo "(using the rules in \"$SUBGRAPH_SCRIPT\")" >&2
+ # if [ ! -s "${PY_SCR_DIR}/nbody_alt_symmetry/$SUBGRAPH_SCRIPT" ]; then
+ # echo "Error: File \"$SUBGRAPH_SCRIPT\" not found." >&2
+ # echo " It should be located in this directory:" >&2
+ # echo " ${PY_SCR_DIR}/nbody_alt_symmetry/" >&2
+ # exit 4
+ # fi
+ fi
+
+ FILE_dihedrals_by_type2="$FILE_impropers_by_type1"
+ FILE_dihedrals_by_type1="$FILE"
+
+ #-- Generate a file containing the list of interactions on separate lines --
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/nbody_by_type.py" \
+ -subgraph "${SUBGRAPH_SCRIPT}" \
+ -section "Dihedrals" \
+ -sectionbytype "Dihedrals By Type" \
+ -atom-style "$ATOM_STYLE" \
+ -atoms "${data_atoms}.template" \
+ -bonds "${data_bonds}.template" \
+ -nbodybytype "${FILE}" \
+ $CHECKFF \
+ -prefix '$/dihedral:bytype' > gen_dihedrals.template.tmp; then
+ exit 4
+ fi
+
+ # ---- cleanup: ----
+ # ---- Re-build the "${data_dihedrals}.template" file ----
+ # Instert these lines into the "${data_dihedrals}.template" file which includes
+ # the newly generated interactions. (Note: these are in .template format)
+
+ cp gen_dihedrals.template.tmp new_dihedrals.template.tmp
+ if [ -s "${data_dihedrals}.template" ]; then
+ # Then append existing "Dihedrals" to the end of the generated interactions
+ # (Hopefully this way they will override those interactions.)
+ cat "${data_dihedrals}.template" >> new_dihedrals.template.tmp
+ fi
+ mv -f new_dihedrals.template.tmp "${data_dihedrals}.template"
+
+ echo "(Repairing ttree_assignments.txt file after dihedrals added.)" >&2
+
+ # ---- Repair the ttree_assignments.txt file ----
+ # The next 2 lines extract the variable names from data_new.template.tmp
+ # and instert them into the appropriate place in ttree_assignments.txt
+ # (renumbering the relevant variable-assignments to avoid clashes).
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/nbody_fix_ttree_assignments.py" \
+ '/dihedral' gen_dihedrals.template.tmp \
+ < ttree_assignments.txt \
+ > ttree_assignments.tmp; then
+ exit 5
+ fi
+
+ echo "(Rendering ttree_assignments.tmp file after dihedrals added.)" >&2
+
+ # ---- Re-build (render) the "$data_dihedrals" file ----
+ # Now substitute these variable values (assignments) into the variable
+ # names present in the .template file. (We want to convert the file from
+ # a .template format into an ordinary (numeric) LAMMPS data-section format.)
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/ttree_render.py" \
+ ttree_assignments.tmp \
+ < "${data_dihedrals}.template" \
+ > "$data_dihedrals"; then
+ exit 6
+ fi
+ echo "" >&2
+
+ mv -f ttree_assignments.tmp ttree_assignments.txt
+ rm -f gen_dihedrals.template.tmp new_dihedrals.template.tmp
+done
+IFS="$IFS_BACKUP"
+
+
+
+
+
+FILE_impropers_by_type1=""
+FILE_impropers_by_type2=""
+#for FILE in "$data_impropers_by_type"*.template; do
+IFS_BACKUP="$IFS"
+IFS=$(echo -en "\n\b")
+for FILE in `ls -v "$data_impropers_by_type"*.template`; do
+
+ if [ ! -s "$FILE" ] || [ ! -s "$data_bonds" ]; then
+ break; # This handles with the special cases that occur when
+ # 1) There are no bonds in your system
+ # 2) "$data_impropers_by_type"*.template matches nothing
+ fi
+
+ echo "Generating 4-body improper interactions by atom/bond type" >&2
+
+ # Extract the text between parenthesis (if present, empty-str otherwise)
+ # Example: FILE="Data Impropers By Type (gaff_impr.py)"
+ SUBGRAPH_SCRIPT=`echo "$FILE" | awk '/\(.*\)/ {print $0}' | cut -d'(' -f2-| cut -d')' -f 1`
+ # Example: (continued) SUBGRAPH_SCRIPT should equal "gaff_impr.py"
+
+ # The user can also override this choice:
+ if [ -n "$SUBGRAPH_SCRIPT_IMPROPERS" ]; then
+ SUBGRAPH_SCRIPT="$SUBGRAPH_SCRIPT_IMPROPERS"
+ elif [ -n "$SUBGRAPH_SCRIPT" ]; then
+ SUBGRAPH_SCRIPT_IMPROPERS="$SUBGRAPH_SCRIPT"
+ fi
+
+ if [ -z "$SUBGRAPH_SCRIPT" ]; then
+ SUBGRAPH_SCRIPT="nbody_Impropers.py"
+ else
+ echo "(using the rules in \"$SUBGRAPH_SCRIPT\")" >&2
+ # if [ ! -s "${PY_SCR_DIR}/nbody_alt_symmetry/$SUBGRAPH_SCRIPT" ]; then
+ # echo "Error: File \"$SUBGRAPH_SCRIPT\" not found." >&2
+ # echo " It should be located in this directory:" >&2
+ # echo " ${PY_SCR_DIR}/nbody_alt_symmetry/" >&2
+ # exit 4
+ # fi
+ fi
+
+ FILE_impropers_by_type2="$FILE_impropers_by_type1"
+ FILE_impropers_by_type1="$FILE"
+
+ #-- Generate a file containing the list of interactions on separate lines --
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/nbody_by_type.py" \
+ -subgraph "${SUBGRAPH_SCRIPT}" \
+ -section "Impropers" \
+ -sectionbytype "Impropers By Type" \
+ -atom-style "$ATOM_STYLE" \
+ -atoms "${data_atoms}.template" \
+ -bonds "${data_bonds}.template" \
+ -nbodybytype "${FILE}" \
+ -prefix '$/improper:bytype' > gen_impropers.template.tmp; then
+ exit 4
+ fi
+
+ # ---- cleanup: ----
+ # ---- Re-build the "${data_impropers}.template" file ----
+ # Instert these lines into the "${data_impropers}.template" file which includes
+ # the newly generated interactions. (Note: these are in .template format)
+
+ cp gen_impropers.template.tmp new_impropers.template.tmp
+ if [ -s "${data_impropers}.template" ]; then
+ # Then append existing "Impropers" to the end of the generated interactions
+ # (Hopefully this way they will override those interactions.)
+ cat "${data_impropers}.template" >> new_impropers.template.tmp
+ fi
+ mv -f new_impropers.template.tmp "${data_impropers}.template"
+
+ echo "(Repairing ttree_assignments.txt file after impropers added.)" >&2
+
+ # ---- Repair the ttree_assignments.txt file ----
+ # The next 2 lines extract the variable names from data_new.template.tmp
+ # and instert them into the appropriate place in ttree_assignments.txt
+ # (renumbering the relevant variable-assignments to avoid clashes).
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/nbody_fix_ttree_assignments.py" \
+ '/improper' gen_impropers.template.tmp \
+ < ttree_assignments.txt \
+ > ttree_assignments.tmp; then
+ exit 5
+ fi
+
+ echo "(Rendering ttree_assignments.tmp file after impropers added.)" >&2
+
+ # ---- Re-build (render) the "$data_impropers" file ----
+ # Now substitute these variable values (assignments) into the variable
+ # names present in the .template file. (We want to convert the file from
+ # a .template format into an ordinary (numeric) LAMMPS data-section format.)
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/ttree_render.py" \
+ ttree_assignments.tmp \
+ < "${data_impropers}.template" \
+ > "$data_impropers"; then
+ exit 6
+ fi
+ echo "" >&2
+
+ mv -f ttree_assignments.tmp ttree_assignments.txt
+ rm -f gen_impropers.template.tmp new_impropers.template.tmp
+done
+IFS="$IFS_BACKUP"
+
+
+
+
+
+
+
+if [ -n "$LTTREE_POSTPROCESS_COMMAND" ]; then
+ echo "" >&2
+ if ! eval $LTTREE_POSTPROCESS_COMMAND $TTREE_ARGS; then
+ exit 3
+ fi
+ echo "" >&2
+fi
+
+
+# -------------------------------------------------------
+# If present, then remove duplicate bonds, angles, dihedrals, and impropers
+# (unless overridden by the user).
+# -------------------------------------------------------
+
+
+if [ -s "${data_masses}" ]; then
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/remove_duplicate_atoms.py" \
+ < "${data_masses}" \
+ > "${data_masses}.tmp"; then
+ ERR_INTERNAL
+ fi
+ mv -f "${data_masses}.tmp" "${data_masses}"
+fi
+
+
+if [ -s "${data_bonds}" ]; then
+ SUBGRAPH_SCRIPT="nbody_Bonds.py"
+ if [ -n "$SUBGRAPH_SCRIPT_BONDS" ]; then
+ SUBGRAPH_SCRIPT="$SUBGRAPH_SCRIPT_BONDS"
+ fi
+ if [ ! -z $REMOVE_DUPLICATE_BONDS ]; then
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/nbody_reorder_atoms.py" \
+ Bonds \
+ "$SUBGRAPH_SCRIPT" \
+ < "${data_bonds}" \
+ > "${data_bonds}.tmp"; then
+ ERR_INTERNAL
+ fi
+ cp -f "${data_bonds}.tmp" "${data_bonds}"
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/remove_duplicates_nbody.py" 2 \
+ < "${data_bonds}" \
+ > "${data_bonds}.tmp"; then
+ ERR_INTERNAL
+ fi
+ mv "${data_bonds}.tmp" "${data_bonds}"
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/remove_duplicates_nbody.py" 2 \
+ < "${data_bonds}.template" \
+ > "${data_bonds}.tmp"; then
+ ERR_INTERNAL
+ fi
+ mv "${data_bonds}.tmp" "${data_bonds}.template"
+ fi
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/renumber_DATA_first_column.py" \
+ < "${data_bonds}" \
+ > "${data_bonds}.tmp"; then
+ ERR_INTERNAL
+ fi
+ mv -f "${data_bonds}.tmp" "${data_bonds}"
+fi
+
+
+
+
+if [ -s "${data_angles}" ]; then
+ SUBGRAPH_SCRIPT="nbody_Angles.py"
+ if [ -n "$SUBGRAPH_SCRIPT_ANGLES" ]; then
+ SUBGRAPH_SCRIPT="$SUBGRAPH_SCRIPT_ANGLES"
+ fi
+ if [ ! -z $REMOVE_DUPLICATE_ANGLES ]; then
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/nbody_reorder_atoms.py" \
+ Angles \
+ "$SUBGRAPH_SCRIPT" \
+ < "${data_angles}" \
+ > "${data_angles}.tmp"; then
+ ERR_INTERNAL
+ fi
+ cp -f "${data_angles}.tmp" "${data_angles}"
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/remove_duplicates_nbody.py" 3 \
+ < "${data_angles}" \
+ > "${data_angles}.tmp"; then
+ ERR_INTERNAL
+ fi
+ mv "${data_angles}.tmp" "${data_angles}"
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/remove_duplicates_nbody.py" 3 \
+ < "${data_angles}.template" \
+ > "${data_angles}.tmp"; then
+ ERR_INTERNAL
+ fi
+ mv "${data_angles}.tmp" "${data_angles}".template
+ fi
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/renumber_DATA_first_column.py" \
+ < "${data_angles}" \
+ > "${data_angles}.tmp"; then
+ ERR_INTERNAL
+ fi
+ mv -f "${data_angles}.tmp" "${data_angles}"
+fi
+
+
+if [ -s "${data_dihedrals}" ]; then
+ SUBGRAPH_SCRIPT="nbody_Dihedrals.py"
+ if [ -n "$SUBGRAPH_SCRIPT_DIHEDRALS" ]; then
+ SUBGRAPH_SCRIPT="$SUBGRAPH_SCRIPT_DIHEDRALS"
+ fi
+ if [ ! -z $REMOVE_DUPLICATE_DIHEDRALS ]; then
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/nbody_reorder_atoms.py" \
+ Dihedrals \
+ "$SUBGRAPH_SCRIPT" \
+ < "${data_dihedrals}" \
+ > "${data_dihedrals}.tmp"; then
+ ERR_INTERNAL
+ fi
+ cp -f "${data_dihedrals}.tmp" "${data_dihedrals}"
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/remove_duplicates_nbody.py" 4 \
+ < "${data_dihedrals}" \
+ > "${data_dihedrals}.tmp"; then
+ ERR_INTERNAL
+ fi
+ mv "${data_dihedrals}.tmp" "${data_dihedrals}"
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/remove_duplicates_nbody.py" 4 \
+ < "${data_dihedrals}.template" \
+ > "${data_dihedrals}.tmp"; then
+ ERR_INTERNAL
+ fi
+ mv "${data_dihedrals}.tmp" "${data_dihedrals}.template"
+ fi
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/renumber_DATA_first_column.py" \
+ < "${data_dihedrals}" \
+ > "${data_dihedrals}.tmp"; then
+ ERR_INTERNAL
+ fi
+ mv -f "${data_dihedrals}.tmp" "${data_dihedrals}"
+
+ if [ ! -z $FILE_dihedrals_by_type2 ]; then
+ MSG_MULTIPLE_DIHEDRAL_RULES=$(cat <<EOF
+#############################################################################
+WARNING:
+ It appears as though multiple conflicting rules were used to generate
+DIHEDRAL interactions. (This can occur when combining molecules built with
+different force-field rules). In your case, you are using rules defined here:
+ "$FILE_dihedrals_by_type2"
+ "$FILE_dihedrals_by_type1"
+ (Files ending in .py are located here:
+ $PY_SCR_DIR/nbody_alt_symmetry/)
+If the molecules built using these two different force-field settings are not
+connected, AND if you do NOT override force-field dihedrals with explicitly
+defined dihedrals, then you can probably ignore this warning message. Otherwise
+please check the list of dihedral interactions to make sure they are correct!
+(It might help to build a much smaller system using the same molecule types.)
+#############################################################################
+
+EOF
+)
+ echo "$MSG_MULTIPLE_DIHEDRAL_RULES" >&2
+ fi
+fi
+
+
+if [ -s "${data_impropers}" ]; then
+ SUBGRAPH_SCRIPT="nbody_Impropers.py"
+ if [ -n "$SUBGRAPH_SCRIPT_IMPROPERS" ]; then
+ SUBGRAPH_SCRIPT="$SUBGRAPH_SCRIPT_IMPROPERS"
+ fi
+ if [ ! -z $REMOVE_DUPLICATE_IMPROPERS ]; then
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/nbody_reorder_atoms.py" \
+ Impropers \
+ "$SUBGRAPH_SCRIPT" \
+ < "${data_impropers}" \
+ > "${data_impropers}.tmp"; then
+ ERR_INTERNAL
+ fi
+ cp -f "${data_impropers}.tmp" "${data_impropers}"
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/remove_duplicates_nbody.py" 4 \
+ < "${data_impropers}" \
+ > "${data_impropers}.tmp"; then
+ ERR_INTERNAL
+ fi
+ mv "${data_impropers}.tmp" "${data_impropers}"
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/remove_duplicates_nbody.py" 4 \
+ < "${data_impropers}.template" \
+ > "${data_impropers}.tmp"; then
+ ERR_INTERNAL
+ fi
+ mv "${data_impropers}.tmp" "${data_impropers}.template"
+ fi
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/renumber_DATA_first_column.py" \
+ < "${data_impropers}" \
+ > "${data_impropers}.tmp"; then
+ ERR_INTERNAL
+ fi
+ mv -f "${data_impropers}.tmp" "${data_impropers}"
+
+ if [ ! -z $FILE_impropers_by_type2 ]; then
+ MSG_MULTIPLE_IMPROPER_RULES=$(cat <<EOF
+#############################################################################
+WARNING:
+ It appears as though multiple conflicting rules were used to generate
+IMPROPER interactions. (This can occur when combining molecules built with
+different force-field rules.) In your case, you are using rules defined here:
+ "$FILE_impropers_by_type2"
+ "$FILE_impropers_by_type1"
+ (Files ending in .py are located here:
+ $PY_SCR_DIR/nbody_alt_symmetry/)
+If the molecules built using these two different force-field settings are not
+connected, AND if you do NOT override force-field imrpopers with explicitly
+defined impropers, then you can probably ignore this warning message. Otherwise
+please check the list of improper interactions to make sure they are correct!
+(It might help to build a much smaller system using the same molecule types.)
+#############################################################################
+
+EOF
+)
+ echo "$MSG_MULTIPLE_IMPROPER_RULES" >&2
+ fi
+
+fi
+
+
+
+
+
+
+# ------------------ Charge By Bond ----------------------
+# Assign atom partial charges according to who they are bonded to
+
+if [ -s "$data_charge_by_bond" ]; then
+ echo "Looking up partial charge contributions from bonds" >&2
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/charge_by_bond.py" \
+ -atom-style "$ATOM_STYLE" \
+ -atoms "${data_atoms}.template" \
+ -bonds "${data_bonds}.template" \
+ -bond-list "${data_bond_list}.template" \
+ -chargebybond "${data_charge_by_bond}.template" \
+ > gen_charges.template.tmp; then
+ exit 4
+ fi
+
+ # ---- cleanup: ----
+ # ---- Create or re-build the "${in_charges}.template" file ----
+ # Instert these lines into the "${in_charges}.template" file which includes
+ # the newly generated interactions. (Note: these are in .template format)
+
+ cp gen_charges.template.tmp new_charges.template.tmp
+ if [ -s "${in_charges}.template" ]; then
+ # Then append existing "Bonds" to the end of the generated interactions
+ # (Hopefully this way they will override those interactions.)
+ cat "${in_charges}.template" >> new_charges.template.tmp
+ fi
+ mv -f new_charges.template.tmp "${in_charges}.template"
+
+ # ---- Re-build (render) the "$in_charges" file ----
+ # Now substitute these variable values (assignments) into the variable
+ # names present in the .template file. (We want to convert the file from
+ # a .template format into an ordinary (numeric) LAMMPS data-section format.)
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/ttree_render.py" \
+ ttree_assignments.txt \
+ < "${in_charges}.template" \
+ >> "${in_charges}"; then
+ exit 6
+ fi
+ echo "" >&2
+
+ rm -f gen_charges.template.tmp new_charges.template.tmp
+
+ echo "" >&2
+fi
+
+
+
+
+# -------------------------------------------------------
+
+rm -f "$OUT_FILE_DATA"
+
+#NATOMS=`awk '/^\$\/atom:/{n++}END{print n}' < ttree_assignments.txt`
+#NBONDS=`awk '/^\$\/bond:/{n++}END{print n}' < ttree_assignments.txt`
+#NANGLES=`awk '/^\$\/angle:/{n++}END{print n}' < ttree_assignments.txt`
+#NDIHEDRALS=`awk '/^\$\/dihedral:/{n++}END{print n}' < ttree_assignments.txt`
+#NIMPROPERS=`awk '/^\$\/improper:/{n++}END{print n}' < ttree_assignments.txt`
+
+NATOMS="0"
+NBONDS="0"
+NANGLES="0"
+NDIHEDRALS="0"
+NIMPROPERS="0"
+
+if [ -s "${data_atoms}" ]; then
+ NATOMS=`awk 'END{print NR}' < "${data_atoms}"`
+fi
+if [ -s "${data_bonds}" ]; then
+ NBONDS=`awk 'END{print NR}' < "${data_bonds}"`
+fi
+if [ -s "${data_angles}" ]; then
+ NANGLES=`awk 'END{print NR}' < "${data_angles}"`
+fi
+if [ -s "${data_dihedrals}" ]; then
+ NDIHEDRALS=`awk 'END{print NR}' < "${data_dihedrals}"`
+fi
+if [ -s "${data_impropers}" ]; then
+ NIMPROPERS=`awk 'END{print NR}' < "${data_impropers}"`
+fi
+
+
+echo "LAMMPS Description" > "$OUT_FILE_DATA"
+echo "" >> "$OUT_FILE_DATA"
+echo " $NATOMS atoms" >> "$OUT_FILE_DATA"
+if [ -n "$NBONDS" ]; then
+ echo " $NBONDS bonds" >> "$OUT_FILE_DATA"
+fi
+if [ -n "$NANGLES" ]; then
+ echo " $NANGLES angles" >> "$OUT_FILE_DATA"
+fi
+if [ -n "$NDIHEDRALS" ]; then
+ echo " $NDIHEDRALS dihedrals" >> "$OUT_FILE_DATA"
+fi
+if [ -n "$NIMPROPERS" ]; then
+ echo " $NIMPROPERS impropers" >> "$OUT_FILE_DATA"
+fi
+
+echo "" >> "$OUT_FILE_DATA"
+echo " $NATOMTYPES atom types" >> "$OUT_FILE_DATA"
+
+if [ -n "$NBONDTYPES" ]; then
+ echo " $NBONDTYPES bond types" >> "$OUT_FILE_DATA"
+fi
+if [ -n "$NANGLETYPES" ]; then
+ echo " $NANGLETYPES angle types" >> "$OUT_FILE_DATA"
+fi
+if [ -n "$NDIHEDRALTYPES" ]; then
+ echo " $NDIHEDRALTYPES dihedral types" >> "$OUT_FILE_DATA"
+fi
+if [ -n "$NIMPROPERTYPES" ]; then
+ echo " $NIMPROPERTYPES improper types" >> "$OUT_FILE_DATA"
+fi
+echo "" >> "$OUT_FILE_DATA"
+
+
+
+
+if [ -s "$data_header" ]; then
+ cat "$data_header" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+fi
+
+
+
+
+# --- PERIODIC BOUNDARY CONDITIONS ---
+
+# Note: If there is a "$data_boundary" file present, it overrides any settings
+# which may have been stored in a pdb file or other external file.
+
+if [ -s "$data_pbc" ] && [ ! -s "$data_boundary" ]; then
+ mv -f "$data_pbc" "$data_boundary"
+ echo "WARNING: write_once(\"$data_pbc\") is depreciated" >&2
+ echo " Use write_once(\"$data_boundary\") instead" >&2
+fi
+
+if [ -s "$data_boundary" ]; then
+ # Copy the boundary conditions from the "$data_boundary" file.
+ # Don't assume there is only one line containing "xlo xhi", for example.
+ # It's possible the user wrote the boundary conditions multiple times.
+ # As always, the most recent setting overrides the earlier settings.
+ BOXSIZE_MINX=`tr -d '\015' < "$data_boundary" | awk '{if ($3=="xlo") {xlo=$1}} END{print xlo}'`
+ BOXSIZE_MAXX=`tr -d '\015' < "$data_boundary" | awk '{if ($4=="xhi") {xhi=$2}} END{print xhi}'`
+
+ BOXSIZE_MINY=`tr -d '\015' < "$data_boundary" | awk '{if ($3=="ylo") {ylo=$1}} END{print ylo}'`
+ BOXSIZE_MAXY=`tr -d '\015' < "$data_boundary" | awk '{if ($4=="yhi") {yhi=$2}} END{print yhi}'`
+
+ BOXSIZE_MINZ=`tr -d '\015' < "$data_boundary" | awk '{if ($3=="zlo") {zlo=$1}} END{print zlo}'`
+ BOXSIZE_MAXZ=`tr -d '\015' < "$data_boundary" | awk '{if ($4=="zhi") {zhi=$2}} END{print zhi}'`
+
+ if [ -z "$BOXSIZE_MINX" ] || [ -z "$BOXSIZE_MAXX" ]; then
+ echo "Error: Problem with box boundary format (\"xlo xhi\") in \"$data_boundary\"" >&2
+ exit 12
+ fi
+ if [ -z "$BOXSIZE_MINY" ] || [ -z "$BOXSIZE_MAXY" ]; then
+ echo "Error: Problem with box boundary format (\"ylo yhi\") in \"$data_boundary\"" >&2
+ exit 12
+ fi
+ if [ -z "$BOXSIZE_MINZ" ] || [ -z "$BOXSIZE_MAXZ" ]; then
+ echo "Error: Problem with box boundary format (\"zlo zhi\") in \"$data_boundary\"" >&2
+ exit 12
+ fi
+
+ BOXSIZE_XY=`awk '{if ($4=="xy") {xy=$1}} END{print xy}' < "$data_boundary"`
+ BOXSIZE_XZ=`awk '{if ($5=="xz") {xz=$2}} END{print xz}' < "$data_boundary"`
+ BOXSIZE_YZ=`awk '{if ($6=="yz") {yz=$3}} END{print yz}' < "$data_boundary"`
+
+ if [ -n "$BOXSIZE_XY" ] || [ -n "$BOXSIZE_XZ" ] || [ -n "$BOXSIZE_YZ" ]; then
+ if [ -n "$BOXSIZE_XY" ] && [ -n "$BOXSIZE_XZ" ] && [ -n "$BOXSIZE_YZ" ]; then
+ #echo "triclinic_parameters: XY XZ YZ = $BOXSIZE_XY $BOXSIZE_XZ $BOXSIZE_YZ" >&2
+ TRICLINIC="True"
+ else
+ echo "Error: Problem with triclinic format (\"xy xz yz\") in \"$data_boundary\"" >&2
+ exit 13
+ fi
+ fi
+fi
+
+
+
+
+if [ -z "$BOXSIZE_MINX" ] || [ -z "$BOXSIZE_MAXX" ] || [ -z "$BOXSIZE_MINY" ] || [ -z "$BOXSIZE_MAXY" ] || [ -z "$BOXSIZE_MINZ" ] || [ -z "$BOXSIZE_MAXZ" ]; then
+ echo "Periodic boundary conditions unspecified. Attempting to generate automatically." >&2
+
+ # By default, disable triclinic
+ BOXSIZE_XY=""
+ BOXSIZE_XZ=""
+ BOXSIZE_YZ=""
+ TRICLINIC=""
+
+ if [ -s "$tmp_atom_coords" ]; then
+ # Estimate the minimimum, maximum x,y,z values
+ # from the coordinate data.
+
+ MINMAX_BOUNDS=`awk 'BEGIN{first=1}{if (NF>=3){x=$1; y=$2; z=$3; if (first) {first=0; xmin=x; xmax=x; ymin=y; ymax=y; zmin=z; zmax=z;} else {if (x<xmin) xmin=x; if (x>xmax) xmax=x; if (y<ymin) ymin=y; if (y>ymax) ymax=y; if (z<zmin) zmin=z; if (z>zmax) zmax=z;}}} END{print xmin" "xmax" "ymin" "ymax" "zmin" "zmax;}' < "$tmp_atom_coords"`
+
+ # ...and add a narrow margin (10%) around the boundaries:
+ BOXSIZE_MINX=`echo $MINMAX_BOUNDS | awk "{margin=0.1; width=$2-$1; print $1-0.5*margin*width}"`
+ BOXSIZE_MAXX=`echo $MINMAX_BOUNDS | awk "{margin=0.1; width=$2-$1; print $2+0.5*margin*width}"`
+ BOXSIZE_MINY=`echo $MINMAX_BOUNDS | awk "{margin=0.1; width=$4-$3; print $3-0.5*margin*width}"`
+ BOXSIZE_MAXY=`echo $MINMAX_BOUNDS | awk "{margin=0.1; width=$4-$3; print $4+0.5*margin*width}"`
+ BOXSIZE_MINZ=`echo $MINMAX_BOUNDS | awk "{margin=0.1; width=$6-$5; print $5-0.5*margin*width}"`
+ BOXSIZE_MAXZ=`echo $MINMAX_BOUNDS | awk "{margin=0.1; width=$6-$5; print $6+0.5*margin*width}"`
+ else
+ # By default, choose some reasonably large box:
+ BOXSIZE_MINX="-100.0"
+ BOXSIZE_MAXX="100.0"
+ BOXSIZE_MINY="-100.0"
+ BOXSIZE_MAXY="100.0"
+ BOXSIZE_MINZ="-100.0"
+ BOXSIZE_MAXZ="100.0"
+ # ...and print message scolding the user for being lazy
+ echo "----------------------------------------------------------------------" >&2
+ echo "---- WARNING: Unable to determine periodic boundary conditions. ----" >&2
+ echo "---- (A default cube of volume=(200.0)^3 was used. ----" >&2
+ echo "---- This is probably not what you want!) ----" >&2
+ echo "---- It is recommended that you specify your periodic boundary ----" >&2
+ echo "---- by adding a write_once(\"Boundary\") command to your .lt file. ----" >&2
+ echo "---- For example: ----" >&2
+ #echo "----------------------------------------------------------------------" >&2
+ echo "---- ----" >&2
+ echo "---- write_once(\"Boundary\") { ----" >&2
+ echo "---- 2.51 46.79 xlo xhi ----" >&2
+ echo "---- -4.38 35.824 ylo yhi ----" >&2
+ echo "---- 0.3601 42.95 zlo zhi ----" >&2
+ echo "---- } ----" >&2
+ echo "----------------------------------------------------------------------" >&2
+ fi
+fi
+
+
+
+
+if [ -z "$TRICLINIC" ]; then
+ echo " $BOXSIZE_MINX $BOXSIZE_MAXX xlo xhi" >> "$OUT_FILE_DATA"
+ echo " $BOXSIZE_MINY $BOXSIZE_MAXY ylo yhi" >> "$OUT_FILE_DATA"
+ echo " $BOXSIZE_MINZ $BOXSIZE_MAXZ zlo zhi" >> "$OUT_FILE_DATA"
+else
+ echo "triclinic parameters: XY XZ YZ = $BOXSIZE_XY $BOXSIZE_XZ $BOXSIZE_YZ" >&2
+ echo "" >&2
+ # Otherwise, this is a triclinic (non orthoganal) crystal basis.
+ # LAMMPS represents triclinic symmetry using a different set of parameters
+ # (lx,ly,lz,xy,xz,yz) than the PDB file format (alpha,beta,gamma).
+ echo " $BOXSIZE_MINX $BOXSIZE_MAXX xlo xhi" >> "$OUT_FILE_DATA"
+ echo " $BOXSIZE_MINY $BOXSIZE_MAXY ylo yhi" >> "$OUT_FILE_DATA"
+ echo " $BOXSIZE_MINZ $BOXSIZE_MAXZ zlo zhi" >> "$OUT_FILE_DATA"
+ #echo " 0.000000 $BOXSIZE_X xlo xhi" >> "$OUT_FILE_DATA"
+ #echo " 0.000000 $BOXSIZE_Y ylo yhi" >> "$OUT_FILE_DATA"
+ #echo " 0.000000 $BOXSIZE_Z zlo zhi" >> "$OUT_FILE_DATA"
+ echo " $BOXSIZE_XY $BOXSIZE_XZ $BOXSIZE_YZ xy xz yz" >> "$OUT_FILE_DATA"
+ #echo "a,b,c,alpha,beta,gamma = $BOXSIZE_A,$BOXSIZE_B,$BOXSIZE_C,$ALPHA,$BETA,$GAMMA"
+fi
+echo "" >> "$OUT_FILE_DATA"
+
+
+if [ -s "$data_masses" ]; then
+ echo "Masses" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+ cat "$data_masses" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+else
+ echo "WARNING: missing file \"$data_masses\"" >&2
+fi
+
+if [ -s "$data_pair_coeffs" ]; then
+ echo "Pair Coeffs" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+ cat "$data_pair_coeffs" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+ PAIR_COEFFS_IN_DATA="true"
+fi
+if [ -s "$data_pairij_coeffs" ]; then
+ echo "PairIJ Coeffs" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+ cat "$data_pairij_coeffs" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+ PAIR_COEFFS_IN_DATA="true"
+fi
+if [ -n "$PAIR_COEFFS_IN_DATA" ]; then
+ if [ ! -s "$in_settings" ] || (! grep -q pair_coeff "$in_settings"); then
+ echo "WARNING: no pair coeffs have been set!" >&2
+ fi
+fi
+
+
+if [ -s "$data_bond_coeffs" ]; then
+ echo "Bond Coeffs" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+ cat "$data_bond_coeffs" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+else
+ if [ -n "$NBONDTYPES" ] && ( [ ! -s "$in_settings" ] || (! grep -q bond_coeff "$in_settings") ); then
+ echo "WARNING: no bond coeff have been set!" >&2
+ fi
+fi
+
+
+if [ -s "$data_angle_coeffs" ]; then
+ echo "Angle Coeffs" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+ cat "$data_angle_coeffs" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+else
+ if [ -n "$NANGLETYPES" ] && ( [ ! -s "$in_settings" ] || (! grep -q angle_coeff "$in_settings") ); then
+ echo "WARNING: no angle coeffs have been set!" >&2
+ fi
+fi
+
+if [ -s "$data_dihedral_coeffs" ]; then
+ echo "Dihedral Coeffs" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+ cat "$data_dihedral_coeffs" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+else
+ if [ -n "$NDIHEDRALTYPES" ] && ( [ ! -s "$in_settings" ] || (! grep -q dihedral_coeff "$in_settings") ); then
+ echo "WARNING: no dihedral coeffs have been set!" >&2
+ fi
+fi
+
+if [ -s "$data_improper_coeffs" ]; then
+ echo "Improper Coeffs" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+ cat "$data_improper_coeffs" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+else
+ if [ -n "$NIMPROPERTYPES" ] && ( [ ! -s "$in_settings" ] || (! grep -q improper_coeff "$in_settings") ); then
+ echo "WARNING: no improper coeffs have been set!" >&2
+ fi
+fi
+
+
+# data file sections specific to class2 force-fields:
+
+if [ -s "$data_bondbond_coeffs" ]; then
+ echo "BondBond Coeffs" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+ cat "$data_bondbond_coeffs" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+fi
+
+if [ -s "$data_bondangle_coeffs" ]; then
+ echo "BondAngle Coeffs" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+ cat "$data_bondangle_coeffs" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+fi
+
+if [ -s "$data_middlebondtorsion_coeffs" ]; then
+ echo "MiddleBondTorsion Coeffs" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+ cat "$data_middlebondtorsion_coeffs" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+fi
+
+if [ -s "$data_endbondtorsion_coeffs" ]; then
+ echo "EndBondTorsion Coeffs" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+ cat "$data_endbondtorsion_coeffs" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+fi
+
+if [ -s "$data_angletorsion_coeffs" ]; then
+ echo "AngleTorsion Coeffs" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+ cat "$data_angletorsion_coeffs" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+fi
+
+if [ -s "$data_angleangletorsion_coeffs" ]; then
+ echo "AngleAngleTorsion Coeffs" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+ cat "$data_angleangletorsion_coeffs" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+fi
+
+if [ -s "$data_bondbond13_coeffs" ]; then
+ echo "BondBond13 Coeffs" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+ cat "$data_bondbond13_coeffs" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+fi
+
+if [ -s "$data_angleangle_coeffs" ]; then
+ echo "AngleAngle Coeffs" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+ cat "$data_angleangle_coeffs" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+fi
+
+
+if [ -s "$data_atoms" ]; then
+ if [ -n "$ATOM_STYLE" ]; then
+ echo "Atoms # $ATOM_STYLE" >> "$OUT_FILE_DATA"
+ else
+ echo "Atoms # full" >> "$OUT_FILE_DATA"
+ fi
+ #if [ -s "$tmp_atom_coords" ]; then
+ # echo "# (Note: x,y,z coordinates may overlap and can be modified later.)" >> "$OUT_FILE_DATA"
+ #else
+ # echo "" >> "$OUT_FILE_DATA"
+ #fi
+ echo "" >> "$OUT_FILE_DATA"
+ cat "$data_atoms" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+else
+ echo "WARNING: missing file \"$data_atoms\"" >&2
+fi
+
+if [ -s "$data_ellipsoids" ]; then
+ echo "Ellipsoids" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+ cat "$data_ellipsoids" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+fi
+
+if [ -s "$data_triangles" ]; then
+ echo "Triangles" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+ cat "$data_triangles" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+fi
+
+if [ -s "$data_lines" ]; then
+ echo "Lines" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+ cat "$data_lines" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+fi
+
+if [ -s "$data_velocities" ]; then
+ echo "Velocities" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+ cat "$data_velocities" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+#else
+# echo "Velocities" >> "$OUT_FILE_DATA"
+# echo "" >> "$OUT_FILE_DATA"
+# awk '{print $1 " 0.0 0.0 0.0"}' < "$data_atoms" >> "$OUT_FILE_DATA"
+# echo "" >> "$OUT_FILE_DATA"
+fi
+
+if [ -s "$data_bonds" ]; then
+ echo "Bonds" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+ cat "$data_bonds" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+#else
+# echo "WARNING: missing file \"$data_bonds\"" >&2
+fi
+
+
+
+if [ -s "$data_angles" ]; then
+ echo "Angles" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+ cat "$data_angles" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+#else
+# echo "WARNING: missing file \"$data_angles\"" >&2
+fi
+
+if [ -s "$data_dihedrals" ]; then
+ echo "Dihedrals" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+ cat "$data_dihedrals" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+#else
+# echo "WARNING: missing file \"$data_dihedrals\"" >&2
+fi
+
+if [ -s "$data_impropers" ]; then
+ echo "Impropers" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+ cat "$data_impropers" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+#else
+# echo "WARNING: missing file \"$data_impropers\"" >&2
+fi
+
+
+
+
+
+
+rm -f $OUT_FILE_INPUT_SCRIPT
+
+if [ -s "$in_init" ]; then
+ echo "" >> $OUT_FILE_INPUT_SCRIPT
+ cp -f "$in_init" $OUT_FILE_INIT
+ echo "" >> $OUT_FILE_INPUT_SCRIPT
+ echo "# ----------------- Init Section -----------------" >> $OUT_FILE_INPUT_SCRIPT
+ echo "" >> $OUT_FILE_INPUT_SCRIPT
+ echo "include \"$OUT_FILE_INIT\"" >> $OUT_FILE_INPUT_SCRIPT
+ #echo "# \"$in_init\" typically contains various styles, dimensions, and units:" >> $OUT_FILE_INPUT_SCRIPT
+ #echo "include \"$in_init\"" >> $OUT_FILE_INPUT_SCRIPT
+ #cat "$in_init" >> $OUT_FILE_INPUT_SCRIPT
+ echo "" >> $OUT_FILE_INPUT_SCRIPT
+fi
+
+
+echo "" >> $OUT_FILE_INPUT_SCRIPT
+echo "# ----------------- Atom Definition Section -----------------" >> $OUT_FILE_INPUT_SCRIPT
+echo "" >> $OUT_FILE_INPUT_SCRIPT
+echo "read_data \"$OUT_FILE_DATA\"" >> $OUT_FILE_INPUT_SCRIPT
+echo "" >> $OUT_FILE_INPUT_SCRIPT
+echo "# ----------------- Settings Section -----------------" >> $OUT_FILE_INPUT_SCRIPT
+echo "" >> $OUT_FILE_INPUT_SCRIPT
+
+
+if [ -s "$in_settings" ]; then
+ #echo "# \"$in_settings\" typically contains coeffs, fixes, groups & modify commands:" >> $OUT_FILE_INPUT_SCRIPT
+ #echo "include \"$in_settings\"" >> $OUT_FILE_INPUT_SCRIPT
+ #cat "$in_settings" >> $OUT_FILE_INPUT_SCRIPT
+ cp -f "$in_settings" $OUT_FILE_SETTINGS
+ echo "include \"$OUT_FILE_SETTINGS\"" >> $OUT_FILE_INPUT_SCRIPT
+ echo "" >> $OUT_FILE_INPUT_SCRIPT
+fi
+
+
+if [ -s "$tmp_atom_coords" ]; then
+
+ NATOMS=`awk '/^\\\$\/atom:/{n++}END{print n}' < ttree_assignments.txt`
+ NATOMCRDS=`awk '{if (NF>=3) natom+=1} END{print(natom)}' < "$tmp_atom_coords"`
+ if [ $NATOMS -ne $NATOMCRDS ]; then
+ echo "Error: Number of atoms in coordinate file provided by user ($NATOMCRDS)" >&2
+ echo "does not match the number of atoms generated in ttree file ($NATOMS)" >&2
+ exit 14
+ fi
+
+ # Copy the coordinates in $tmp_atom_coords into $OUT_FILE_DATA
+ rm -f "$OUT_FILE_COORDS"
+ if ! eval $PYTHON_COMMAND "${PY_SCR_DIR}/raw2data.py" $ATOM_STYLE_ARG "$OUT_FILE_DATA" < "$tmp_atom_coords" > "$OUT_FILE_COORDS"; then
+ ERR_INTERNAL
+ fi
+ mv -f "$OUT_FILE_COORDS" "$OUT_FILE_DATA"
+ echo "copied atomic coordinates into $OUT_FILE_DATA"
+
+ # Previously, in earlier versions of moltemplate, we used to
+ # create a new input script containing "set" commands which the
+ # user was supposed to tell LAMMPS to read using an "include" command.
+ # If for some reason, you want to go back to doing it that way, then
+ # uncomment the following 6 lines:
+ #
+ #rm -f "$OUT_FILE_COORDS"
+ #awk '{if (NF>=3) {natom++; print "set atom "natom" x "$1" y "$2" z "$3" image 0 0 0"}}' < "$tmp_atom_coords" >> "$OUT_FILE_COORDS"
+ #echo "# Load the atom coordinates:" >> $OUT_FILE_INPUT_SCRIPT
+ #echo "" >> $OUT_FILE_INPUT_SCRIPT
+ #echo "include \"$OUT_FILE_COORDS\"" >> $OUT_FILE_INPUT_SCRIPT
+ #echo "" >> $OUT_FILE_INPUT_SCRIPT
+
+else
+ rm -f "$OUT_FILE_COORDS"
+# echo "Warning: (moltemplate.sh)" >&2
+# echo " Atomic coordinates were not supplied externally" >&2
+# echo " (for example using the \"-pdb\" or \"-xyz\" arguments)." >&2
+# echo " Hopefully you used rot(), trans() lttree commands to move" >&2
+# echo " molecules to non-overlapping positions." >&2
+fi
+
+
+
+# ############## CLEAN UP ################
+
+# A lot of files have been created along the way.
+# However only a few of them are actually useful.
+#
+# Optional: clean up some non-essential temporary
+# files created by running ttree
+# We move the non-essential files into a different directory
+# (but we don't delete them).
+
+if [ ! -d output_ttree ]; then
+ mkdir output_ttree
+fi
+
+
+
+
+# Move temporary files into the "output_ttree/" directory:
+OIFS=$IFS
+#IFS=$'\n'
+IFS="
+"
+rm -f ttree_replacements.txt >/dev/null 2>&1 || true
+for file in $MOLTEMPLATE_TEMP_FILES; do
+ if [ -e "$file" ]; then
+ rm -f "output_ttree/$file" >/dev/null 2>&1 || true
+ #echo "file=\"$file\""
+ mv "$file" output_ttree/ >/dev/null 2>&1 || true
+ fi
+done
+IFS=$OIFS
+
+
+
+
+
+# ############## DEAL WITH CUSTOM NON-STANDARD SECTIONS ################
+
+
+# N_data_prefix=`expr length "$data_prefix"` <-- not posix compliant. AVOID
+N_data_prefix=${#data_prefix} #<-- works even if $data_prefix contains spaces
+ls "${data_prefix}"* 2> /dev/null | while read file_name; do
+ #If using bash:
+ #SECTION_NAME="${file_name:$N_data_prefix}"
+ #If using sh:
+ #SECTION_NAME=`expr substr "$file_name" $(($N_data_prefix+1)) 1000000` <-- not posix compliant. AVOID
+ SECTION_NAME=`echo "" | awk "END{print substr(\"$file_name\",$((N_data_prefix+1)),1000000)}"`
+ # Create a new section in the data file
+ # matching the portion of the name of
+ # the file after the data_prefix.
+ echo "" >> "$OUT_FILE_DATA"
+ echo "$SECTION_NAME" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+ cat "$file_name" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+ mv -f "$file_name" output_ttree/
+done
+
+
+if [ -e "$data_prefix_no_space" ]; then
+ echo "" >> "$OUT_FILE_DATA"
+ cat "$data_prefix_no_space" >> "$OUT_FILE_DATA"
+ echo "" >> "$OUT_FILE_DATA"
+ mv -f "$data_prefix_no_space" output_ttree/
+fi
+
+
+
+if [ -e "$OUT_FILE_DATA" ]; then
+ mv -f "$OUT_FILE_DATA" "$OUT_FILE_DATA.tmp" >/dev/null 2>&1 || true
+ #dos2unix < "$OUT_FILE_DATA.tmp" > "$OUT_FILE_DATA"
+ tr -d '\r' < "$OUT_FILE_DATA.tmp" > "$OUT_FILE_DATA"
+ rm -f "$OUT_FILE_DATA.tmp" >/dev/null 2>&1 || true
+fi
+
+
+#N_in_prefix=`expr length "$in_prefix"` <-- not posix compliant. AVOID.
+N_in_prefix=${#in_prefix} #<-- works even if $in_prefix contains spaces
+ls "${in_prefix}"* 2> /dev/null | while read file_name; do
+ #If using bash:
+ #SECTION_NAME="${file_name:$N_in_prefix}"
+ #If using sh:
+ #SECTION_NAME=`expr substr "$file_name" $(($N_in_prefix+1)) 1000000` <-- not posix compliant. AVOID
+ SECTION_NAME=`echo "" | awk "END{print substr(\"$file_name\",$((N_in_prefix+1)),1000000)}"`
+ FILE_SUFFIX=`echo "$SECTION_NAME" | awk '{print tolower($0)}'`
+ # Create a new section in the lammps input script
+ # matching the portion of the name of
+ # the file after the in_prefix.
+ echo "" >> $OUT_FILE_INPUT_SCRIPT
+ echo "# ----------------- $SECTION_NAME Section -----------------" >> $OUT_FILE_INPUT_SCRIPT
+ cp -f "$file_name" ${OUT_FILE_INPUT_SCRIPT}.${FILE_SUFFIX}
+
+ echo "" >> $OUT_FILE_INPUT_SCRIPT
+ echo "include \"${OUT_FILE_INPUT_SCRIPT}.${FILE_SUFFIX}\"" >> $OUT_FILE_INPUT_SCRIPT
+ echo "" >> $OUT_FILE_INPUT_SCRIPT
+
+ mv -f "$file_name" output_ttree/
+done
+
+if [ -e "$in_prefix_no_space" ]; then
+ echo "" >> $OUT_FILE_INPUT_SCRIPT
+ cat "$in_prefix_no_space" >> $OUT_FILE_INPUT_SCRIPT
+ echo "" >> $OUT_FILE_INPUT_SCRIPT
+ mv -f "$in_prefix_no_space" output_ttree/
+fi
+
+
+# Swap the order of atom types I, J in all "pair_coeff I J ..." commands
+# whenever I > J. Do this for every input script file generated by moltemplate.
+# (Perhaps later I'll check to make sure the user did not specify contradictory
+# "pair_coeff I J ..." and "pair_coeff J I ..." commands, but I won't do it
+# here, because at this point we've thrown away the original atom type names,
+# so there's no easy way to explain the problem to the user if there is one.)
+
+echo "" > input_scripts_so_far.tmp
+
+for file_name in "$OUT_FILE_INIT" "$OUT_FILE_INPUT_SCRIPT" "$OUT_FILE_SETTINGS"; do
+ if [ -s "$file_name" ]; then
+ echo "postprocessing file \"$file_name\"" >&2
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/postprocess_input_script.py" input_scripts_so_far.tmp < "$file_name" > "$file_name.tmp"; then
+ ERR_INTERNAL
+ fi
+ echo "" >&2
+ mv -f "$file_name.tmp" "$file_name"
+ #cat "$file_name" >> input_scripts_so_far.tmp
+ #dos2unix < "$file_name" >> input_scripts_so_far.tmp
+ tr -d '\r' < "$file_name" >> input_scripts_so_far.tmp
+
+ # Delete all "bond_style" statements when no bond types are defined
+ if [ -z "$NBONDTYPES" ]; then
+ awk '{if ($1!="bond_style") print $0}' < "$file_name" > "${file_name}.tmp"
+ mv -f "$file_name.tmp" "$file_name"
+ fi
+ # Delete all "angle_style" statements when no angle types are defined
+ if [ -z "$NANGLETYPES" ]; then
+ awk '{if ($1!="angle_style") print $0}' < "$file_name" > "${file_name}.tmp"
+ mv -f "$file_name.tmp" "$file_name"
+ fi
+ # Delete all "dihedral_style" statements when no dihedral types are defined
+ if [ -z "$NDIHEDRALTYPES" ]; then
+ awk '{if ($1!="dihedral_style") print $0}' < "$file_name" > "${file_name}.tmp"
+ mv -f "$file_name.tmp" "$file_name"
+ fi
+ # Delete all "improper_style" statements when no improper types are defined
+ if [ -z "$NIMPROPERTYPES" ]; then
+ awk '{if ($1!="improper_style") print $0}' < "$file_name" > "${file_name}.tmp"
+ mv -f "$file_name.tmp" "$file_name"
+ fi
+ fi
+done
+
+
+ls "${in_prefix}"* 2> /dev/null | while read file_name; do
+ echo "postprocessing file \"$file_name\"" >&2
+ if ! $PYTHON_COMMAND "${PY_SCR_DIR}/postprocess_input_script.py" input_scripts_so_far.tmp < "$file_name" > "$file_name".tmp; then
+ ERR_INTERNAL
+ fi
+ echo "" >&2
+ mv "$file_name".tmp "$file_name"
+ cat "$file_name" >> input_scripts_so_far.tmp
+done
+
+rm -f input_scripts_so_far.tmp
+
+
+
+# ############ Optional: Add a fake run section as an example ############
+
+
+echo "" >> $OUT_FILE_INPUT_SCRIPT
+echo "# ----------------- Run Section -----------------" >> $OUT_FILE_INPUT_SCRIPT
+echo "" >> $OUT_FILE_INPUT_SCRIPT
+echo "# The lines above define the system you want to simulate." >> $OUT_FILE_INPUT_SCRIPT
+echo "# What you do next is up to you." >> $OUT_FILE_INPUT_SCRIPT
+echo "# Typically a user would minimize and equilibrate" >> $OUT_FILE_INPUT_SCRIPT
+echo "# the system using commands similar to the following:" >> $OUT_FILE_INPUT_SCRIPT
+echo "# ---- examples ----" >> $OUT_FILE_INPUT_SCRIPT
+echo "#" >> $OUT_FILE_INPUT_SCRIPT
+echo "# -- minimize --" >> $OUT_FILE_INPUT_SCRIPT
+echo "# minimize 1.0e-5 1.0e-7 1000 10000" >> $OUT_FILE_INPUT_SCRIPT
+echo "# (Note: Some fixes, for example \"shake\", interfere with the minimize command," >> $OUT_FILE_INPUT_SCRIPT
+echo "# You can use the \"unfix\" command to disable them before minimization.)" >> $OUT_FILE_INPUT_SCRIPT
+echo "# -- declare time step for normal MD --" >> $OUT_FILE_INPUT_SCRIPT
+echo "# timestep 1.0" >> $OUT_FILE_INPUT_SCRIPT
+echo "# -- run at constant pressure (Nose-Hoover)--" >> $OUT_FILE_INPUT_SCRIPT
+#echo "# timestep 1.0" >> $OUT_FILE_INPUT_SCRIPT
+echo "# fix fxnpt all npt temp 300.0 300.0 100.0 iso 1.0 1.0 1000.0 drag 1.0">>$OUT_FILE_INPUT_SCRIPT
+echo "# -- ALTERNATELY, run at constant volume (Nose-Hoover) --" >> $OUT_FILE_INPUT_SCRIPT
+echo "# fix fxnvt all nvt temp 300.0 300.0 500.0 tchain 1" >> $OUT_FILE_INPUT_SCRIPT
+echo "# -- ALTERNATELY, run at constant volume using Langevin dynamics. --" >> $OUT_FILE_INPUT_SCRIPT
+echo "# -- (This is good for sparse CG polymers in implicit solvent.) --" >> $OUT_FILE_INPUT_SCRIPT
+echo "# fix fxLAN all langevin 300.0 300.0 5000 48279" >> $OUT_FILE_INPUT_SCRIPT
+echo "# fix fxNVE all nve #(<--needed by fix langevin)" >> $OUT_FILE_INPUT_SCRIPT
+echo "# -- Now, finally run the simulation --" >> $OUT_FILE_INPUT_SCRIPT
+echo "# run 50000" >> $OUT_FILE_INPUT_SCRIPT
+#echo "# write_restart system_after_nvt.rst" >> $OUT_FILE_INPUT_SCRIPT
+#echo "# run 50000" >> $OUT_FILE_INPUT_SCRIPT
+#echo "# write_restart system_after_npt.rst" >> $OUT_FILE_INPUT_SCRIPT
+echo "# ---- (end of examples) ----">> $OUT_FILE_INPUT_SCRIPT
+#echo "# It is the responsibility of the user to learn LAMMPS and specify these">>$OUT_FILE_INPUT_SCRIPT
+#echo "# these commands." >> $OUT_FILE_INPUT_SCRIPT
+echo "" >> $OUT_FILE_INPUT_SCRIPT
+
+
+
+# Finally, if the -vmd argument was included, start up VMD and
+# view the system (using topotools to convert the
+
+if [ ! -z $RUN_VMD_AT_END ]; then
+
+ echo "topo readlammpsdata $OUT_FILE_DATA $ATOM_STYLE" > vmd_viz_moltemplate.tcl.tmp
+ bn=`basename $OUT_FILE_DATA .data`
+ echo "animate write psf $bn.psf" >> vmd_viz_moltemplate.tcl.tmp
+ vmd -e vmd_viz_moltemplate.tcl.tmp
+ rm -rf vmd_viz_moltemplate.tcl.tmp
+
+fi
diff --git a/tools/moltemplate/moltemplate/ttree.py b/tools/moltemplate/moltemplate/ttree.py
new file mode 100755
index 000000000..a68ada9f7
--- /dev/null
+++ b/tools/moltemplate/moltemplate/ttree.py
@@ -0,0 +1,5238 @@
+#!/usr/bin/env python
+
+# Authors: Andrew Jewett (jewett.aij at g mail)
+# http://www.moltemplate.org
+# http://www.chem.ucsb.edu/~sheagroup
+# License: 3-clause BSD License (See LICENSE.TXT)
+# Copyright (c) 2011, Regents of the University of California
+# All rights reserved.
+
+"""
+ ttree.py is a simple program for recursively generating large redundant
+ text files (such as data files read by molecular simulation programs)
+ from small (non-redundant) text files (such as molecule definitions
+ and force-field parameters).
+
+ By default, the large number of unique template variables generated
+ in the process are automatically substituted with integers
+ (or other numeric counters, all of which can be overridden),
+ rendered, and the rendered templates are written to a file.
+
+BasicUI This section of the code contains the user interface for ttree
+ when run as a stand-alone program, as described above. (This
+ section of code contains the "if __name__ == '__main__':" code block.)
+
+-- Data Types --
+
+StaticObj Static nodes are data structures used to store ttree class definitions.
+ (Static nodes are useful for defining molecule types or
+ namespaces in LAMMPS or other molecular simulation programs.)
+ The nodes themselves are stored in a tree of nested class definitions.
+ Static variables (such as "@atom:C") are also associated with
+ StaticObjs.
+
+InstanceObj Instance nodes are created when a user creates one (or many)
+ copies of a class, using the "new" command.
+ These classes in turn may instantiate other classes.
+ (Example: A user may manually instantiate several copies of a
+ molecule, such as a protein, however each of those
+ molecules may contain molecular subunits, such as
+ amino acids, which are automatically instantiated.)
+ Instance variables (such as "$atom:CA") are also associated with
+ InstanceObjs.
+
+"""
+
+import sys
+from collections import defaultdict
+import operator
+import random
+#import gc
+
+try:
+ unicode
+except NameError:
+ # Python 3
+ basestring = unicode = str
+
+
+# -- ttree_lex.py --
+# TtreeShlex is a backwards-compatible version of python's standard shlex module
+# It has the additional member: "self.wordterminators", which overrides
+# the "self.wordchars" member. This enables better handling of unicode
+# characters by allowing a much larger variety of characters to appear
+# in words or tokens parsed by TtreeShlex. Otherwise it is identical to shlex.
+try:
+ from .ttree_lex import TtreeShlex, SplitQuotedString, EscCharStrToChar, \
+ SafelyEncodeString, RemoveOuterQuotes, MaxLenStr, HasWildCard, \
+ InputError, ErrorLeader, OSrcLoc, TextBlock, VarRef, VarBinding, \
+ TemplateLexer
+except (SystemError, ValueError):
+ # not installed as a package
+ from ttree_lex import *
+
+
+if sys.version < '2.6':
+ raise InputError('Error: Using python ' + sys.version + '\n'
+ ' Alas, you must upgrade to a newer version of python (2.7 or later).')
+elif sys.version < '2.7':
+ sys.stderr.write('--------------------------------------------------------\n'
+ '----------------- WARNING: OLD PYTHON VERSION ----------\n'
+ ' This program is untested on your python version (' +
+ sys.version + ').\n'
+ ' PLEASE LET ME KNOW IF THIS PROGRAM CRASHES (and upgrade python).\n'
+ ' -Andrew 2016-9-21\n'
+ '--------------------------------------------------------\n'
+ '--------------------------------------------------------\n')
+ from ordereddict import OrderedDict
+else:
+ from collections import OrderedDict
+
+
+if sys.version > '3':
+ import io
+else:
+ import cStringIO
+
+
+# We keep track of the program name and version.
+# (This is only used for generating error messages.)
+#g_filename = 'ttree.py'
+g_filename = __file__.split('/')[-1]
+g_module_name = g_filename
+if g_filename.rfind('.py') != -1:
+ g_module_name = g_filename[:g_filename.rfind('.py')]
+g_date_str = '2016-12-21'
+g_version_str = '0.85.0'
+
+
+class ClassReference(object):
+ """ Every class defined by the user (stored in an StaticObj data structure)
+ may contain references to other classes (ie. other StaticObjs).
+ (Note: All of these StaticObjs are stored in the same tree, the
+ global static tree.)
+ Examples:
+ Whenever an instance of a class is created, this may automatically spawn
+ the creation of additional classes (which are instantiated because a 'new'
+ command appeared within the first class's definition). These are stored in
+ the "StaticObj.instance_commands[i].class_ref" attribute.
+ Similarly, each class (StaticObj) can optionally inherit some of its
+ traits (consisting of write() and new commands) from one or more
+ "class_parents" (also StaticObjs). A list of these parents is stored in the
+ "StaticObj.class_parents" attribute. In both cases (self.instance_commands
+ or self.class_parents) we need to store a pointer to the StaticObj(s)
+ corresponding to the instance-childen or class-parents.
+ (This stored in self.statobj).
+ However, for the purposes of debugging and interactivity, it is also
+ convenient to permanently keep track of the string that the user used to
+ specify the name/location of that class/StaticObj
+ (stored in self.statobj_str), in addition to the location
+ in the file where that string occurs (stored in self.srcloc)."""
+
+ __slots__ = ["statobj_str", "srcloc", "statobj"]
+
+ def __init__(self,
+ statobj_str=None,
+ srcloc=None,
+ statobj=None):
+ self.statobj_str = statobj_str
+ if srcloc is None:
+ self.srcloc = OSrcLoc('', -1)
+ else:
+ self.srcloc = srcloc
+ self.statobj = statobj
+
+ # def __repr__(self):
+ # return repr((self.statobj_str, self.srcloc))
+
+
+# "Command"s are tasks to carry out.
+# (...either immediately, or later during instantiation)
+# Commands are used to write to files, create new instances, delete instances,
+# or custom commands to modify an instance of a class.
+# (For example "instance = new Class.move(1,0,0).rot(45,0,0,1)"
+# The ".move(1,0,0)" and ".rot(45,0,0,1)" commands are "stackable" and
+# have similar syntax to member functions in C++, JAVA, Python.)
+
+class Command(object):
+ __slots__ = ["srcloc"]
+
+ def __init__(self, srcloc=None):
+ self.srcloc = srcloc
+
+ # COMMENTING OUT: "COUNT" AND "ORDER" ARE NO LONGER NEEDED
+
+ #count = 0
+ # def __init__(self, srcloc=None):
+ # self.srcloc = srcloc
+ # # The "order" member is a counter that keeps track of the order
+ # # in which the Command data types are created (issued by the user).
+ # Command.count += 1
+ # self.order = Command.count
+ # def __lt__(self, x):
+ # return self.order < x.order
+
+
+class WriteFileCommand(Command):
+ """ WriteFileCommand
+
+ filename This is the name of the file that will be written to
+ when the command is executed.
+ tmpl_list This is the contents of what will be written to the file.
+ Text strings are often simple strings, however more
+ generally, they can be strings which include other variables
+ (ie templates). In general, templates are lists of alternating
+ TextBlocks and VarRefs, (with additional tags and data to
+ identify where they occur in in the original user's files).
+
+ """
+ __slots__ = ["filename", "tmpl_list"]
+
+ def __init__(self,
+ filename=None,
+ tmpl_list=None,
+ srcloc=None):
+ self.filename = filename
+ if tmpl_list is None:
+ self.tmpl_list = []
+ else:
+ Command.__init__(self, srcloc)
+ self.tmpl_list = tmpl_list
+
+ def __str__(self):
+ if self.filename:
+ return 'WriteFileCommand(\"' + self.filename + '\")'
+ else:
+ return 'WriteFileCommand(NULL)'
+
+ def __copy__(self):
+ tmpl_list = []
+ CopyTmplList(self.tmpl_list, tmpl_list) # CHECK:IS_MEMORY_WASTED_HERE?
+ return WriteFileCommand(self.filename, tmpl_list, self.srcloc)
+
+
+class InstantiateCommand(Command):
+ """ InstantiateCommand is a simple tuple-like datatype used to
+ store pairs of names (strings, stored in self.name),
+ and ClassReferences (see above, stored in self.class_ref).n
+ The "suffix" argument is an optional string which may contain
+ additional instructions how to instantiate the object.
+
+ """
+
+ __slots__ = ["name",
+ "class_ref",
+ "instobj"]
+
+ def __init__(self,
+ name=None,
+ class_ref=None,
+ srcloc=None,
+ instobj=None):
+ Command.__init__(self, srcloc)
+ self.name = name
+ # if class_ref is None:
+ # self.class_ref = ClassReference()
+ # else:
+ self.class_ref = class_ref
+ self.instobj = instobj
+
+ def __str__(self):
+ return 'InstantiateCommand(' + self.name + ')'
+
+ def __copy__(self):
+ return InstantiateCommand(self.name,
+ self.class_ref,
+ self.srcloc,
+ self.instobj)
+
+
+class DeleteCommand(Command):
+ __slots__ = []
+
+ def __init__(self,
+ srcloc=None):
+ Command.__init__(self, srcloc)
+
+ def __str__(self):
+ return 'DeleteCommand()'
+
+ def __copy__(self):
+ return DeleteCommand(self.srcloc)
+
+
+class StackableCommand(Command):
+ """ StackableCommand is a class for storing commands
+ that effect the environment of the object being created.
+ The combined effect of these commands can be thought of as a "stack"
+ Commands can be pushed on the stack, or popped off
+
+ The actual commands themselves are represented by the "contents" member
+ which is usually a text string.
+ ttree.py does not attempt to understand the content of these commands.
+ That job is left up to the __main__ module. (IE. whatever script that
+ happens to be importing ttree.py. If there is no script, and
+ ttree.py IS the main module, then it simply ignores these commands.)
+
+ """
+
+ __slots__ = ["context_node"]
+
+ def __init__(self,
+ srcloc,
+ context_node=None):
+ Command.__init__(self, srcloc)
+ # if multiple stacks are present, then use "context_node"
+ self.context_node = context_node
+ # as a key to identify which stack you want
+ # the command to modify
+
+
+class PushCommand(StackableCommand):
+
+ __slots__ = ["contents"]
+
+ def __init__(self,
+ contents,
+ srcloc,
+ context_node=None):
+ StackableCommand.__init__(self, srcloc, context_node)
+ self.contents = contents
+
+ def __copy__(self):
+ return PushCommand(self.contents, self.srcloc, self.context_node)
+
+ def __str__(self):
+ return 'PushCommand(' + str(self.contents) + ')'
+
+
+class PushRightCommand(PushCommand):
+ __slots__ = []
+
+ def __init__(self,
+ contents,
+ srcloc,
+ context_node=None):
+ PushCommand.__init__(self, contents, srcloc, context_node)
+
+ def __copy__(self):
+ return PushRightCommand(self.contents, self.srcloc, self.context_node)
+
+ def __str__(self):
+ return 'PushRightCommand(' + str(self.contents) + ')'
+
+
+class PushLeftCommand(PushCommand):
+ __slots__ = []
+
+ def __init__(self,
+ contents,
+ srcloc,
+ context_node=None):
+ PushCommand.__init__(self, contents, srcloc, context_node)
+
+ def __copy__(self):
+ return PushLeftCommand(self.contents, self.srcloc, self.context_node)
+
+ def __str__(self):
+ return 'PushLeftCommand(' + str(self.contents) + ')'
+
+
+class PopCommand(StackableCommand):
+ __slots__ = ["partner"]
+
+ def __init__(self,
+ partner,
+ srcloc,
+ context_node=None):
+ StackableCommand.__init__(self, srcloc, context_node)
+ self.partner = partner
+
+ def __copy__(self):
+ return PopCommand(self.partner, self.srcloc, self.context_node)
+
+ def __str__(self):
+ return 'PopCommand(' + str(self.partner.contents) + ')'
+
+
+class PopRightCommand(PopCommand):
+ __slots__ = []
+
+ def __init__(self,
+ partner,
+ srcloc,
+ context_node=None):
+ PopCommand.__init__(self, partner, srcloc, context_node)
+ assert((partner is None) or isinstance(partner, PushRightCommand))
+
+ def __copy__(self):
+ return PopRightCommand(self.partner, self.srcloc, self.context_node)
+
+ def __str__(self):
+ return 'PopRightCommand(' + str(self.partner.contents) + ')'
+
+
+class PopLeftCommand(PopCommand):
+ __slots__ = []
+
+ def __init__(self,
+ partner,
+ srcloc,
+ context_node=None):
+ PopCommand.__init__(self, partner, srcloc, context_node)
+ assert((partner is None) or isinstance(partner, PushLeftCommand))
+
+ def __copy__(self):
+ return PopLeftCommand(self.partner, self.srcloc, self.context_node)
+
+ def __str__(self):
+ return 'PopLeftCommand(' + str(self.partner.contents) + ')'
+
+
+# The ScopeCommand, ScopeBegin, and ScopeEnd commands are useful to designate
+# which commands belong to a particular class definition (or class instance).
+# (This is useful later on, when a linear list of commands has been created.)
+# They are simply markers an do not do anything. These classes can be ignored.
+class ScopeCommand(Command):
+ __slots__ = ["node"]
+
+ def __init__(self,
+ node,
+ srcloc):
+ Command.__init__(self, srcloc)
+ self.node = node
+ #self.srcloc = srcloc
+
+ def __copy__(self):
+ return ScopeCommand(self.node, self.srcloc)
+
+ def __str__(self):
+ if self.node:
+ return 'ScopeCommand(' + self.node.name + ')'
+ else:
+ return 'ScopeCommand(None)'
+
+
+class ScopeBegin(ScopeCommand):
+ __slots__ = []
+
+ def __init__(self, node, srcloc):
+ ScopeCommand.__init__(self, node, srcloc)
+
+ def __copy__(self):
+ return ScopeBegin(self.node, self.srcloc)
+
+ def __str__(self):
+ if self.node:
+ return 'ScopeBegin(' + NodeToStr(self.node) + ')'
+ else:
+ return 'ScopeBegin(None)'
+
+
+class ScopeEnd(ScopeCommand):
+ __slots__ = []
+
+ def __init__(self, node, srcloc):
+ ScopeCommand.__init__(self, node, srcloc)
+
+ def __copy__(self):
+ return ScopeEnd(self.node, self.srcloc)
+
+ def __str__(self):
+ if self.node:
+ return 'ScopeEnd(' + NodeToStr(self.node) + ')'
+ else:
+ return 'ScopeEnd(None)'
+
+
+# COMMENTING OUT: NOT NEEDED AT THE MOMENT
+# class VarAssignCommand(Command):
+# """ VarAssignCommand
+#
+# This class is used whenever the user makes an explicit request to assign
+# a variable to a value (values are text strings).
+#
+# var_ref The variable name (tecnically speaking, I call this
+# a variable descriptor string and it includes at least one of
+# the following: the name of a leaf node, a category node name,
+# and category name)
+# the location in the file where variable appears, and (eventually
+# after subsequent lookup), references to the leaf_node, cat_node,
+# "Category", and "VarBinding" data structures associated with it.
+# text_tmpl Text strings are often simple strings, however more
+# generally, they can be strings which include other variables
+# (ie templates). In general, templates are lists of alternating
+# TextBlocks and VarRefs, (with additional tags and data to
+# identify where they occur in in the original user's files).
+#
+# """
+# __slots__=["var_ref","text_tmpl"]
+#
+# def __init__(self,
+# #command_name = '=', <-- ?!?
+# var_ref = None,
+# text_tmpl=None):
+# Command.__init__(self, srcloc)
+# self.var_ref = var_ref
+# self.text_tmpl = text_tmpl
+
+
+class ModCommand(object):
+ __slots__ = ["command", "multi_descr_str"]
+
+ def __init__(self,
+ command,
+ multi_descr_str):
+ self.command = command
+ self.multi_descr_str = multi_descr_str
+
+ def __str__(self):
+ return 'ModCommand(' + str(self.command) + ')'
+
+ def __copy__(self):
+ return ModCommand(self.command.__copy__(), self.multi_descr_str)
+
+
+def CopyTmplList(source_tmpl_list, dest_cpy):
+ for entry in source_tmpl_list:
+ if isinstance(entry, TextBlock):
+ dest_cpy.append(entry) # Then make a shallow copy
+ # (pointer assignment) to the text
+ # block (Text blocks do not change
+ # during instantiation.)
+ elif isinstance(entry, VarRef):
+ assert(len(entry.prefix) > 0)
+ if entry.prefix[0] == '@': # '@' vars refer to static data
+ dest_cpy.append(entry) # Then make a shallow copy
+ # pointer assignment) to the static
+ # variable. (Static variables do
+ # not change during instantiation.)
+
+ elif entry.prefix[0] == '$': # new '$' vars are created
+ # during every instantiation.
+
+ # var_refs do change when you instantiate them. So
+ # create a new VarRef object, and copy the attributes.
+ var_ref = VarRef(entry.prefix,
+ entry.descr_str,
+ entry.suffix,
+ entry.srcloc)
+ # Note: for instance variables ('$' vars)
+ # "entry.nptr" should not contain
+ # any data yet, so we just ignore it.
+ # I assert this below:
+ assert((entry.nptr.cat_node is None) and
+ (entry.nptr.leaf_node is None))
+
+ dest_cpy.append(var_ref)
+ else:
+ assert(False) # prefix[0] should be either '@' or '$'
+ else:
+ assert(False) # type(entry) should be either TextBlock or VarRef
+
+
+def RecursiveJoin(tokens_expr, delimiter=''):
+ """ RecursiveJoin() converts a tree-like list/tuple of tokens, for example:
+ ['a ', ('tree', '-', ['like', 'container']), [[' '], 'of'], ' strings']
+ to an ordinary string, eg:
+ 'a tree-like container of strings'
+ This behavees similarly to "reduce(lambda a, b: a+b, tokens)",
+ except that it works with arbitrarily nested lists/tuples."""
+ text = ''
+ if isinstance(tokens_expr, basestring):
+ return tokens_expr
+ else:
+ text_lstr = []
+ for i in range(0, len(tokens_expr)):
+ text.append(TokensToStr(tokens_expr[i]))
+ return ''.join(text_lstr, delimiter)
+
+
+#----------------------------------------------------------
+#----------------------------------------------------------
+# The following code is specific to ttree.
+#
+# (Up until this point, we have only defined
+# a few simple general text parsing routines.)
+#----------------------------------------------------------
+#----------------------------------------------------------
+
+
+def PtknsToStr(path_tokens):
+ """
+ There are three ways to store paths:
+ As a single string: '/Protein/Phe/Ca' <- the format entered by the user
+ As a list of tokens ['Protein', 'Phe', 'Ca'] <- split into tokens
+ As a list of nodes in a tree (pointers to nodes in a tree hierarchy)
+ This function converts between the first two formats.
+ """
+ text = ''
+ if len(path_tokens) > 0:
+ text = path_tokens[0]
+ for i in range(1, len(path_tokens)):
+ text += '/' + path_tokens[i]
+ else:
+ text = ''
+ return text
+
+
+def StrToPtkns(path_string):
+ """ The inverse of PtknsToStr(), this function splits a string like
+ '/usr/local/../bin/awk' into ['usr','local','..','bin','awk'].
+ For illustrative purposes only. Use text.split('/') directly instead."""
+ return orig_text.split('/')
+
+
+def FindChild(name, node, dbg_loc):
+ """ FindChild looks over the list of node.children to find a child
+ which matches the name given in the first argument.
+ If it is not found, it returns None.
+ Note: I have not yet specified what kind of nodes FindChild() operates
+ on. Both StaticObjs and InstanceObjs have self.children and self.parent.
+ However only StaticObjs have "self.class_parents".
+ ("class_parents" are "parents" in the object-oriented sense.)
+ If "node" (2nd argument) happens t be an StaticObj, this means it also
+ We must search over the children of these class_parents as well.
+
+ Terminology used here differs from Object Oriented Programming
+
+ Children in node.children are not children in the object-oriented
+ programming sense. However, in OOP, "children" are objects that share all
+ of the traits of their ancestors (and may have additionl traits as well).
+ I have implemented OOP style children and parents, but this informtion
+ is stored in "node.class_parents", instead of "node.parents".
+ For comparison, instantiated nodes (InstanceObjs) are different. Altough
+ instantiated classes (InstanceObjs) have access to the attributes of the
+ class_parents of the StaticObjs that define them, they do not remember the
+ ownership of that data. (It just gets merged with their own member data,
+ including their .children.)
+ Hence we must treat StaticObjs carefully because their are two ways we can
+ access child data. We should loop over both of them. We do that below:
+ """
+
+ child = node.children.get(name)
+
+ if child:
+ return child
+
+ if isinstance(node, StaticObj):
+
+ # The object-oriented inheritance stuff appears here.
+ # If you don't care about OOP or inheritance,
+ # then comment out the loop that follows:
+
+ # Search recursively over the "children" (ie attributes or members)
+ # belonging to any OOP ancestors of this node.
+ for class_parent in node.class_parents:
+ child = FindChild(name, class_parent, dbg_loc)
+ if child != None:
+ return child
+ for namespace_node in node.namespaces:
+ child = FindChild(name, namespace_node, dbg_loc)
+ if child != None:
+ return child
+ else:
+ assert(isinstance(node, InstanceObjBasic))
+
+ # Otherwise, a child name match was not found
+ return None
+
+
+def FollowPath(path_tokens, starting_node, dbg_loc):
+ """ FollowPath() returns the "last_node", a node whose position in the
+ tree is indicated by a list of path_tokens, describing the names
+ of nodes connecting "starting_node" to "last_node".
+ If it one of the strings in the list of path_tokens turns out
+ not to match then names of classes in the tree, then this function
+ returns the last_node that did match before the error occurred,
+ as well as an integer which stores the number of tokens in
+ the path_tokens list which were successfully processed.
+ In other words, the list of node naes is not a full path, but the
+ relative path that takes you from one node (not necessarily the root)
+ to another. Return Value:
+ Ideally, each node in the list should be a parent or a child of the
+ previous node. (See comment for PathTokensToStr(), for more details.)
+ This function returns the number of path_tokens successfully
+ parsed. Under normal termination, this is len(path_tokens).
+ If the path can not be followed (because at some point, a child
+ or parent does not exist), then this function returns a number
+ smaller than len(path_tokens).
+ We let the caller handle undefined paths. """
+
+ #print(' FollowPath() invoked on: ', path_tokens)
+
+ if len(path_tokens) == 0:
+ return 0, starting_node
+
+ node = starting_node
+ # Is this path a relative path, or a full path?
+ # If the path-string began with '/', then it's a full path. This means
+ # that after processing by split('/'), the first token will be ''
+ # Example: path_tokens='/Prot/Alanine'.split('/')
+ # --> path_tokens[0] == ''
+ if path_tokens[0] == '':
+ # In that case, then take us to the root node:
+ while node.parent != None:
+ node = node.parent
+ #sys.stdout.write('FollowPath(): Retreating to node \"'+node.name+'\"\n')
+ i0 = 1 # <- We've just processed the first token. Skip over it later.
+ else:
+ i0 = 0
+
+ i = i0
+ while i < len(path_tokens):
+
+ if path_tokens[i] == '..':
+ if node.parent is None:
+ return i, node # <-return the index into the token list
+ # Caller will know that something went awry
+ # if the return value is not equal to the
+ # length of the token list
+ else:
+ node = node.parent
+ i += 1
+
+ elif path_tokens[i] == '...':
+
+ node_before_ellipsis = node
+ if i == len(path_tokens) - 1:
+ return i, node_before_ellipsis
+
+ search_target = path_tokens[i + 1]
+ # Now search over the "children" of this node
+ # for one who's name matches path_tokens[i].
+ # If not found, then move up to the parent node's children.
+ # (This is not an exhaustive tree search. Only the nodes which
+ # are immediate children of this node's parents are searched.)
+ while node != None:
+ child = FindChild(search_target, node, dbg_loc)
+ if child is None:
+ node = node.parent
+ else:
+ node = child
+ break
+
+ if node is None:
+ # Caller will know that something went awry if the return
+ # value is not equal to the length of the token list.
+ return i, node_before_ellipsis
+
+ i += 2
+
+ # <-Note we ignore empty tokens from now on.
+ elif path_tokens[i] in ('', '.'):
+ # (Same convention is used in specifying a
+ # directory in a filesystem, eg. using /usr/local
+ # or /usr//local or /usr/./local. These are all equivalent.)
+ i += 1
+
+ else:
+
+ # Now search over the "children" of this
+ # node for one who's name matches path_tokens[i].
+ child = FindChild(path_tokens[i], node, dbg_loc)
+
+ if child is None:
+ # In that case, return with the node_list incomplete.
+ # Let the caller check to see if something went wrong.
+ return i, node # <-return the index into the token list (i)
+ # Caller will know that something went awry
+ # if the return value is not equal to the
+ # length of the token list
+ else:
+ node = child
+
+ i += 1
+
+ if node.IsDeleted():
+ #sys.stderr.write('(debug_msg: encountered deleted node: \"'+node.name+'\")\n')
+ break
+
+ return len(path_tokens), node
+
+
+def PtknsToNode(path_tokens, starting_node, dbg_loc):
+ """ PtknsToNode() is identical to def FollowPath() except
+ that it raises syntax-error exceptions if the path is undefined."""
+
+ i_last_ptkn, last_node = FollowPath(path_tokens, starting_node, dbg_loc)
+
+ if i_last_ptkn < len(path_tokens):
+ # assert(isinstance(last_node,StaticObj)) <--why did I assert this?
+ # seems wrong
+
+ if (last_node.parent is None) and (path_tokens[i_last_ptkn] == '..'):
+ # In that case, we tried to back out beyond the root of the tree.
+ raise InputError('Error(' + g_module_name + '.PtknsToNode()):\n'
+ ' Invalid variable/class name:\n'
+ ' \"' + PtknsToStr(path_tokens) + '\" located near ' + ErrorLeader(
+ dbg_loc.infile, dbg_loc.lineno) + '\n'
+ ' There are too many \"..\" tokens in the path string.')
+
+ elif path_tokens[i_last_ptkn] == '...':
+ if i_last_ptkn + 1 == len(path_tokens):
+ raise InputError('Error(' + g_module_name + '.PtknsToNode()):\n'
+ ' Error in ' +
+ ErrorLeader(dbg_loc.infile,
+ dbg_loc.lineno) + '\n'
+ ' Expected name following \"...\"\n')
+ else:
+ search_target = path_tokens[i_last_ptkn + 1]
+ # In that case, we were unable to find the node referenced by
+ # "..."
+ raise InputError('Error(' + g_module_name + '.PtknsToNode()):\n'
+ ' Class or variable \"' + search_target + '\" not found\n'
+ ' in this context: \"' +
+ PtknsToStr(path_tokens) + '\"\n'
+ ' located near ' + ErrorLeader(dbg_loc.infile, dbg_loc.lineno))
+
+ else:
+ # Then the reason is: The string in path_tokens[i_last_ptkn]
+ # was supposed to be a child of last_node but a child
+ # of that name was not found.
+ err_msg = 'Error(' + g_module_name + '.PtknsToNode()):\n' +\
+ ' Undefined variable/class name:\n' +\
+ ' \"' + PtknsToStr(path_tokens) + '\",\n' +\
+ ' This occured near or before ' + ErrorLeader(dbg_loc.infile, dbg_loc.lineno) + '\n' +\
+ ' (Specifically \"' + path_tokens[i_last_ptkn] +\
+ '\" is not a subordinate of \"' + MaxLenStr(last_node.name, '/') + '\".)\n' +\
+ ' This may be due to a typo located here or earlier.\n' +\
+ ' It may also occur if you deleted the object earlier. (Referring to a\n' +\
+ ' deleted object is only forgiven when using [0-9] or [0:10] notation.)\n' +\
+ ' If this object refers to an array you must use brackets []\n' +\
+ ' to explicitly specify the element(s) you want from that array.\n' +\
+ ' (To select multiple elements, you can use [*] or [0-9] or [0:10].)\n'
+
+ if (path_tokens[i_last_ptkn] in NodeToPtkns(last_node)):
+ err_msg += '\nIn this case:\n' +\
+ ' It seems like you may have omitted a } character somewhere before:\n' +\
+ ' ' + ErrorLeader(dbg_loc.infile, dbg_loc.lineno)
+ raise InputError(err_msg)
+ assert(False) # One of the two conditions above should be true.
+
+ return last_node
+
+
+def StrToNode(obj_name, starting_node, dbg_loc):
+ path_tokens = obj_name.split('/')
+ return PtknsToNode(path_tokens, starting_node, dbg_loc)
+
+
+def NodeListToPtkns(node_list, dbg_loc=None):
+ # The path must contain at least the starting node
+ assert(len(node_list) > 0)
+ path_tokens = [node_list[0].name]
+ for i in range(1, len(node_list)):
+ if node_list[i] == node_list[i - 1].parent:
+ path_tokens.append('..')
+ else:
+ path_tokens.append(node_list[i].name)
+ # Now check to make sure the user supplied consistent information:
+ if (node_list[i] not in node_list[i - 1].children.values()):
+ raise InputError('Error(' + g_module_name + '.NodeListToPtkns()):\n'
+ ' Undefined variable/class name:\n'
+ ' \"' + PtknsToStr(path_tokens) + '\" located near ' + ErrorLeader(
+ dbg_loc.infile, dbg_loc.lineno) + '\n'
+ ' (\"' + path_tokens[i] + '\" is not subordinate to \"' + MaxLenStr(
+ node_list[i - 1].name, '/') + '\")\n'
+ ' This could be an internal error.')
+ return path_tokens
+
+
+def NodeListToStr(node_list, dbg_loc=None):
+ # The path must contain at least the starting node
+ assert(len(node_list) > 0)
+ path_str = node_list[0].name
+ for i in range(1, len(node_list)):
+ if node_list[i] == node_list[i - 1].parent:
+ path_str += '/..'
+ else:
+ path_str += '/' + node_list[i].name
+ # Now check to make sure the user supplied consistent information:
+ if (node_list[i] not in node_list[i - 1].children.values()):
+ err_msg = 'Error(' + g_module_name + '.NodeListToStr()):\n' +\
+ ' Invalid variable/class name:\n' +\
+ ' \"' + PtknsToStr(path_tokens) + '\"'
+ if dbg_loc != None:
+ err_msg += ' located near ' + \
+ ErrorLeader(dbg_loc.infile, dbg_loc.lineno)
+ err_msg += '\n' +\
+ ' (\"' + node_list[i].name + '\" is not a subordinate of \"' + MaxLenStr(node_list[i - 1].name, '/') + '\")\n' +\
+ ' This could be an internal error.'
+ raise InputError(err_msg)
+ return path_str
+
+
+def NodeToPtkns(node):
+ ptkns = []
+ nd = node
+ while nd != None:
+ ptkns.append(nd.name)
+ nd = nd.parent
+ ptkns.reverse()
+ return ptkns
+
+
+def NodeToStr(node):
+ ptkns = NodeToPtkns(node)
+ assert(len(ptkns) > 0)
+ if node.parent is None:
+ assert(node.name == '')
+ return '/'
+ path_str = ptkns[0]
+ i = 1
+ while i < len(ptkns):
+ path_str += '/' + ptkns[i]
+ i += 1
+ return path_str
+
+
+def CatLeafNodesToTkns(cat_name, cat_node, leaf_node, dbg_loc):
+ assert((cat_node != None) and (leaf_node != None))
+ assert((cat_name != None) and (cat_name != ''))
+
+ # Determine the path of the cat node
+ cat_node_ptkns = NodeToPtkns(cat_node)
+ cat_node_ptkns.append(cat_name + ':')
+
+ # Determine the path of the leaf node (which should inherit from cat)
+ deleted = False
+ leaf_node_ptkns = []
+ if cat_node != leaf_node:
+ node = leaf_node
+ while node.parent != None:
+ if node.IsDeleted():
+ deleted = True
+ leaf_node_ptkns.append('DELETED_' + node.name)
+ break
+ leaf_node_ptkns.append(node.name)
+ if node.parent == cat_node:
+ break
+ node = node.parent
+ leaf_node_ptkns.reverse()
+
+ if not deleted:
+ # Check that leaf inherits from cat. If not, print error.
+ if ((node.parent != cat_node) and (node != cat_node)):
+ err_msg = 'Error(' + g_module_name + '.CatLeafNodesToPtkns()):\n' +\
+ ' Invalid variable (category:leaf) pair\n'
+ if dbg_loc != None:
+ cat_node_str = NodeToStr(cat_node)
+ leaf_node_str = NodeToStr(leaf_node)
+ err_msg += ' located near ' + ErrorLeader(dbg_loc.infile, dbg_loc.lineno) + '\n' +\
+ ' (\"' + leaf_node.name + '\" is not in the scope of \"' + cat_node_str + '/' + cat_name + ':\")\n' +\
+ ' This will happen if you used the \"category\" command to manually\n' +\
+ ' create a category/counter which is not defined globally.\n' +\
+ '\n' +\
+ ' Note: Using the analogy of a unix style file system, \n' +\
+ ' the problem is that \"' + leaf_node_str + '\"\n' +\
+ ' is not a subdirectory of \"' + cat_node_str + '\".\n' +\
+ '\n' +\
+ ' Note: This often occurs when \".../\" is used. In that case, you may\n' +\
+ ' be able to avoid this error by referring to your variable explicitly\n' +\
+ ' by using chains of \"../\" tokens in the path instead of \".../\".\n'
+ #' Make sure that your variable you are using is defined in \n'+\
+ #' an environment (currently \"'+leaf_node_str+'\")\n'+\
+ #' which lies WITHIN the environment where the category was defined.\n'+\
+ #' (currently \"'+cat_node_str+'\").\n'
+ raise InputError(err_msg)
+ else:
+ err_msg = 'Warning: Strange variable path'
+ if dbg_loc != None:
+ err_msg += ' near ' + ErrorLeader(dbg_loc.infile, dbg_loc.lineno)
+ err_msg += '\n' +\
+ ' The category and leaf nodes for variable \"' + cat_name + ':' + leaf_node.name + '\" are the same.\n' +\
+ ' Check to see that this variable is behaving the way you intended.\n' +\
+ ' (It\'s possible this could be an internal error in the program.)\n'
+ sys.stderr.write(err_msg)
+
+ # Merge the list of strings together into a single string:
+ return cat_node_ptkns + leaf_node_ptkns
+
+
+def CanonicalCatName(cat_name, cat_node, dbg_loc=None):
+ # Determine the path of the cat node
+ tkns = NodeToPtkns(cat_node)
+ tkns.append(cat_name)
+ #full_cat_name = tkns[0]
+ # for i in range(1,len(tkns)):
+ # full_cat_name += '/'+tkns[i]
+ # better way:
+ return '/'.join(tkns)
+
+
+def CanonicalDescrStr(cat_name, cat_node, leaf_node, dbg_loc=None):
+ tkns = CatLeafNodesToTkns(cat_name, cat_node, leaf_node, dbg_loc)
+ descr_str = tkns[0]
+ for i in range(1, len(tkns)):
+ if (len(descr_str) > 0) and (descr_str[-1] == ':'):
+ descr_str += tkns[i]
+ else:
+ descr_str += '/' + tkns[i]
+ return descr_str
+
+
+def CollapsePath(path_tokens):
+ """
+ CollapsePath() takes a list of Strings argument representing a
+ directory-like path string
+ (for example '/SUB1A/Sub2A/../Sub2B/sub3b/../sub3c/entry'),
+ and replaces it with a version which should contain no '..' patterns.
+ (In the example above, it returns /SUB1A/Sub2B/sub3c/entry')
+ """
+ new_ptkns = []
+ ndelete = 0
+ i = len(path_tokens) - 1
+ while i >= 0:
+ if path_tokens[i] == '..':
+ ndelete += 1
+ else:
+ if (ndelete > 0) and (path_tokens[i] != ''):
+ # Note: "path_tokens[i] != '')" means "/a/b//c" <-> "/a/b/c"
+ ndelete -= 1
+ else:
+ if len(path_tokens[i]) > 0:
+ new_ptkns.append(path_tokens[i])
+ i -= 1
+ new_ptkns.reverse()
+
+ if ndelete > 0:
+ return ndelete # <-- useful to let caller know an error ocurred
+
+ return new_ptkns
+
+
+def FindCatNode(category_name, current_node, srcloc):
+ """ Search upwards (toward the ancester nodes), looking for a node
+ containing a category matching category_name (first argument).
+ Useful when the user specifies a category name, but neglects to
+ specify which node it was defined in.
+ Note: there is no gaurantee that the category node returned by this function
+ contains an entry in it's "categories" list corresponding to this
+ category name. You must check for this condition and handle it."""
+ cat_node = None
+ node = current_node
+ while True:
+ if category_name in node.categories:
+ cat_node = node
+ break
+ elif node.parent != None:
+ node = node.parent
+ else:
+ # node.parent is None, ... we're done
+ break
+
+ if cat_node is None:
+ assert(node.parent is None)
+ # sys.stderr.write('Warning near ' +
+ # ErrorLeader(srcloc.infile,
+ # srcloc.lineno)+'\n'+
+ # ' no category named \"'+category_name+'\" found.\n'+
+ # ' Creating a new global category: /'+
+ # category_name+':\n')
+ cat_node = node # the global node
+
+ assert(cat_node != None)
+
+ return cat_node
+
+
+def RemoveNullTokens(in_ptkns):
+ """This function just gets rid of useless empty tokens in the path ('', '.')
+ (However if '' appears at the beginning of a path, we leave it alone.)
+
+ """
+ out_ptkns = []
+ for i in range(0, len(in_ptkns)):
+ if ((in_ptkns[i] != '.') and
+ ((in_ptkns[i] != '') or (i == 0))):
+ out_ptkns.append(in_ptkns[i])
+ # (I'm sure there are ways to write this in python
+ # using fewer lines of code. Sigh.)
+ return out_ptkns
+
+
+def DescrToCatLeafPtkns(descr_str, dbg_loc):
+ """
+ Review: Variables in this program have three parts:
+ 1) A variable category name (designating the type of variable).
+ 2) A variable category path, which consists of a node which is an ancestor
+ of the variable leaf (1) in the tree
+ 3) A variable name ("leaf"), which refers to a node in the tree
+ (either a static type tree or instance tree)
+
+ DescrToCatLeafPtkns() takes a string describing a variable,
+ as it appears in a template (ie, a write() command, once it has been
+ stripped of it's '$' or '@' prefix, and surrounding {} brackets)
+ ...and divides it into strings which specify the location of that leaf in
+ a static or instance tree, in addition to the name and location of the
+ category node. Descriptor examples for atoms in water:
+ "AtomType:/Water/O", There are only 2 --types-- of atoms in
+ "AtomType:/Water/H", a water molecule. We identify them this way.
+ "AtomID:O" However each water molecule has 3 atoms, and we
+ "AtomID:H1" can give each atom in each water molecule a unique
+ "AtomID:H2" AtomID number. "AtomID:H2" is the id number of the
+ second hydrogen atom in the current water molecule.
+
+ ---- Output: This function returns a 3-tuple: ----
+
+ leaf_ptkns The name of the variable's leaf node, as well as the list of
+ tokens denoting the path (named list of nodes) which lead to it.
+ cat_name The name of the variable category (no path information)
+ cat_ptkns A --suggestion-- for where to find the node containing the
+ category mentioned in "cat_name". Same format as leaf_ptkns.
+
+ Examples:
+ "AtomType:/Water/O" cat_name='AtomType', cat_path=[], leaf_ptkns=['','Water','O']
+ "AtomType:/Water/H" cat_name='AtomType', cat_path=[], leaf_ptkns=['','Water','H']
+
+ "AtomID:O" cat_name='AtomID', cat_path=[], leaf_ptkns=['O']
+ "AtomID:H1" cat_name='AtomID', cat_path=[], leaf_ptkns=['H1']
+ "AtomID:H2" cat_name='AtomID', cat_path=[], leaf_ptkns=['H2']
+ "mol:/" cat_name='mol', cat_path=[], leaf_ptkns=['']
+ "mol:" cat_name='mol', cat_path=[], leaf_ptkns=[]
+ "mol:../" cat_name='mol', cat_path=[], leaf_ptkns=['..']
+ "../mol" cat_name='mol', cat_path=[], leaf_ptkns=['..']
+ "$/peptide[3]/ResID:res[25]" cat_name='ResID', cat_path=['', 'peptide[3]'], leaf_ptkns=['res[25]']
+
+ """
+
+ split_colon = descr_str.split(':')
+ if len(split_colon) > 2:
+ raise InputError('Error(' + g_module_name + '.DescrToCatLeafPtkns())\n'
+ ' Error near ' +
+ ErrorLeader(dbg_loc.infile, dbg_loc.lineno) + '\n\n'
+ ' Bad variable descriptor: \"' + descr_str + '\"\n' +
+ ' There can be at most one \':\' character in a variable descriptor.\n')
+ # ---- Are we using colon syntax (example '$atom:H1')?
+ elif len(split_colon) == 2:
+ # The category name = text after the last '/' (if present)and before
+ # ':'
+ cat_ptkns = split_colon[0].split('/')
+ cat_name = cat_ptkns[-1]
+ # The text before that is the suggested (category) path
+ cat_ptkns = cat_ptkns[:-1]
+ # if len(cat_ptkns) == 0:
+ # cat_ptkns.append('.')
+
+ # The remaining text is the path leading to the leaf node.
+ if split_colon[1] != '':
+ leaf_ptkns = split_colon[1].split('/')
+ else:
+ leaf_ptkns = []
+
+ if (cat_name == ''):
+ raise InputError('Error(' + g_module_name + '.DescrToCatLeafPtkns()):\n'
+ ' Error near ' +
+ ErrorLeader(dbg_loc.infile,
+ dbg_loc.lineno) + '\n\n'
+ ' Bad variable descriptor: \"' + descr_str + '\"\n')
+ else:
+ # ---- Are we using colon-less syntax (example: "$../mol") ?
+ ptkns = split_colon[0].split('/')
+ cat_name = ptkns[-1] # last token (eg. "mol") is the cat_name
+ leaf_ptkns = ptkns[:-1] # the rest is the leaf's path ("..")
+ if len(leaf_ptkns) == 0:
+ leaf_ptkns.append('.')
+ # cat_ptkns = ptkns[:-1] # the same goes for the cat path suggestion
+ # if len(cat_ptkns) == 0:
+ # cat_ptkns.append('.')
+ cat_ptkns = []
+
+ # On 2012-8-22, I commented out this line:
+ # return cat_name, RemoveNullTokens(cat_ptkns), RemoveNullTokens(leaf_ptkns)
+ # and replaced it with:
+
+ return cat_name, RemoveNullTokens(cat_ptkns), leaf_ptkns
+
+
+def DescrToCatLeafNodes(descr_str,
+ context_node,
+ dbg_loc,
+ create_missing_nodes=False):
+ """
+ Variables in ttree correspond to nodes in a tree
+ (and also categories to which they belong).
+ DescrToCatLeafNodes() reads the name of a variable,
+ (its descriptor) and determines where in the tree
+ does this variable reside, and what is it's category?
+ This function is the heart of ttree because it is
+ the function used to interpret ttree variable syntax.
+ (It is very messy right now. I will clean up the code later. AJ 2011-9-06)
+
+ Arguments:
+ descr_str The complete name that the user gave
+ to the variable. (Excluding '$' or '@')
+
+ context_node The class (node) in which the variable
+ was used. descr_str is interpeted
+ relative to this context. (This argument
+ is similar to the current directory
+ in which a command was issued in unix.)
+
+ dbg_loc The location in the user's input file(s)
+ where this variable is referred to.
+
+ create_missing_nodes
+ If we lookup a variable whose leaf node
+ does not exist yet, should we create it?
+ Setting this argument to "True" allows
+ us to augment the tree to add nodes
+ corresponding to variables.
+
+
+
+ -- Here is a greatly simplified version of DescrToCatLeafNodes(): --
+
+ def DescrToCatLeafNodes(descr_str, context_node, dbg_loc):
+ cat_name, cat_ptkns, leaf_ptkns = DescrToCatLeafPtkns(descr_str, dbg_loc)
+ cat_node = PtknsToNode(cat_ptkns, context_node, dbg_loc)
+ if len(cat_ptkns) > 0:
+ leaf_node = PtknsToNode(leaf_ptkns, cat_node, dbg_loc)
+ else:
+ leaf_node = PtknsToNode(leaf_ptkns, context_node, dbg_loc)
+ return cat_name, cat_node, leaf_node
+
+ (This version works, but it does not handle "..." corectly,
+ and it does not create missing nodes when needed.)
+
+
+ -- Here is a (probably unnecessary) review of terminology: --
+
+ Descriptor String:
+ The first argument ("descr_str") is a descriptor string.
+ A descriptor string typically contains ":" and "/"
+ characters to to divide the string into pieces in order
+ to identify a category name, category node, and leaf node.
+ Conceptually, the variable's NAME is the leaf node.
+ The variable's TYPE is the category (node and name).
+
+ Node:
+ Nodes are used to represent both class objects and variable names
+ 1) class objects
+ Each type of class objects is represented by an StaticObj.
+ Each instantiated object is represented by an InstanceObj.
+ 2) variable names (leaf nodes)
+ However variable names are also represented using either
+ StaticObjs (for @ static variables) or
+ InstanceObjs (for $ instance variables)
+ Again, all variables in ttree are members of a class object.
+ In this case, the name of the node corresponds to the variable's
+ name, and it's position in the tree refers to the class to which
+ it belongs.
+ However "leaf nodes" do not uniquely identify the
+ actual variable itself. A single node can refer to two different
+ variables if they are in different categories.
+ All 3 identifiers (leaf node, category node, category name)
+ are needed to uniquely identify a ttree variable. See below.
+
+ Ptkn (Path Token)
+ Strings containing multiple '/' characters are typically used
+ to identify the location of the category and leaf nodes in the
+ tree (ie the path to the node). The '/' characters are
+ delimiters which break up the string into small pieces, (which
+ are usually the names of classes).
+ These pieces are called "path tokens" or "ptkns"
+
+ Leaf Node:
+ It exists as a node in a tree (instead of a simple string)
+ because, just like member variables in a class in an
+ object oriented programming language (or in a C struct)
+ language, variables in ttree belong to the class in
+ which they are defined. The node's location in the
+ tree represents which class it belongs to.
+ If a variable's leaf node name
+ refers to a node which does no exist yet, then we create it
+ (assuming the "create_missing_nodes" argument is "True").
+
+ Category Node/Name:
+ Categories are a peculiar feature of ttree. Categories
+ are groups of variables that share the same counter when
+ numeric values are automatically given to each variable.
+ So you can think of a category as a counter with a name.
+ Variables in different categories have different counters,
+ and are assigned numeric values independently.
+ Consequently two variables in different categories
+ may be assigned the same number. But two variables
+ in the same category are always given unique values.
+ Counters are typically global, but can have local scope.
+ (ie, only defined within a Class, or an instantiated
+ class, and whatever other classes are nested or
+ instantiated beneath it.)
+ Therefore to identify a counter/category you must specify
+ both a name AND a node. The node identifies the class where
+ the scope is defined. It is assumed that the Leaf Node
+ (see above) lies within this scope (ie. somewhere after
+ it in the tree).
+ Example: local counters are used to keep track of the
+ residues within in a protein chain. If we use a class to
+ represent the protein, we can create a local residue-
+ counter (category) within that protein. Then when we
+ instantiate the protein multiple times, this counter
+ is reset for every new instance of of the protein.
+
+ """
+
+ cat_name, cat_ptkns, leaf_ptkns = DescrToCatLeafPtkns(descr_str, dbg_loc)
+
+ # ---- ellipsis hack ----
+ #
+ # Search for class:
+ # Most users expect ttree.py to behave like a
+ # standard programming language: If the class they are
+ # instantiating was not defined in this specific
+ # location, they expect ttree.py to search for
+ # it outwards, first in the parent's environment,
+ # and then in the parent's parent's environment,
+ # and so on, until the object is found.
+ # For example, most users expect this to work:
+ # class Res{
+ # write("Atoms") {
+ # $atom:CA @atom:CA 0.123 1.234 2.345
+ # $atom:CB @atom:CB 1.234 2.345 3.456
+ # }
+ # }
+ # class Protein{
+ # write_once("AnglesByType") {
+ # @angle:backbone @atom:Res/CA @atom:Res/CA @atom:Res/CA
+ # }
+ # Notice that in class Protein, we did not have to specify
+ # where "Res" was defined because it is defined in the parent
+ # environment (ie. immediately outside Proteins's environment).
+ # The general way to do this in ttree.py, is to
+ # use ellipsis syntax "@atom:.../Res/CA" symbol. The
+ # ellipsis ".../" tells ttree.py to search upwards
+ # for the object to the right of it ("Res")
+ # In order to make ttree.py behave the way
+ # most users are expecting, we artificially insert a
+ # ".../" before the class name here. (Later on, the
+ # code that processes the ".../" symbol will take
+ # care of finding A. We don't have to worry about
+ # about doing that now.)
+ #
+ # I think we only want to do this for variables with path information
+ # such as "@atom:Res/CA" (which means that leaf_ptkns = ['Res', 'CA']).
+ # For simple variables like "@atom:CA", we don't automatically look upwards
+ # unless the user eplicitly requests it.
+ # (That's why we check to make sure that len(leaf_ptkns) > 1 below
+ # before we insert '...' into the leaf_ptkns.)
+ # In other words, the two variables "@atom:CA" below are treated differently
+ #
+ # A {
+ # write("Atoms") {
+ # @atom:CA
+ # }
+ # class B {
+ # write("Atoms") {
+ # @atom:CA
+ # }
+ # }
+ # }
+ #
+ if ((descr_str.find(':') != -1) and
+ #(not ((len(leaf_ptkns) == 1) and
+ # (leaf_ptkns[0] == context_node.name))) and
+ #(len(leaf_ptkns) > 0) and
+ (len(leaf_ptkns) > 1) and
+ (len(leaf_ptkns[0]) > 0) and
+ (leaf_ptkns[0][0] not in ('.', '*', '?'))):
+
+ leaf_ptkns.insert(0, '...')
+ # ---- Done with "ellipsis hack" -----
+
+ # sys.stderr.write(' DescrToCatLeafNodes(): (cat_ptkns, cat_name, lptkns) = ('+
+ # str(cat_ptkns)+', \"'+cat_name+'\", '+str(leaf_ptkns)+')\n')
+
+ cat_node = None
+ cat_start_node = context_node
+ leaf_start_node = context_node
+
+ if (len(cat_ptkns) > 0):
+ if cat_ptkns[-1] == '...':
+ # The "..." in this position means trace the path from the
+ # current node (context_node) up to cat_ptkns[:-1].
+ cat_start_node = PtknsToNode(cat_ptkns[:-1], context_node, dbg_loc)
+ # Later on, we will search upwards until we find an ancestor
+ # node containing a category matching cat_name. This will
+ # be taken care of later. (See "if cat_node is None:" below.)
+ else:
+ # In this case, the user supplied an explicit path
+ # for the category node. Find it now.
+ cat_node = PtknsToNode(cat_ptkns, context_node, dbg_loc)
+ # Whenever the user supplies an explicit path, then
+ # the cat node should be the starting location from
+ # which the leaf path is interpreted. This nearly
+ # insures that the leaf node will be an ancestor
+ # of the category node, which is what we want.
+ leaf_start_node = cat_node
+
+ if cat_node is None:
+ # Otherwise, the user did not indicate where the category
+ # node is defined, but only supplied the category name.
+ # (This is the most common scenario.)
+ # In this case, climb up the tree to the parent
+ # until you find an ancestor with a category whose
+ # name matches cat_name.
+ cat_node = FindCatNode(cat_name, cat_start_node, dbg_loc)
+
+ if (cat_name not in cat_node.categories):
+ if create_missing_nodes:
+ # If this is the first time we encountered a variable in this
+ # category (ie if it's the first time we encountered a variable
+ # with this category's name and node), then we must create a
+ # new entry in the cat_node.categories associative container
+ # (using cat_name as the dictionary key).
+ cat_node.categories[cat_name] = Category(cat_name)
+ else:
+ raise InputError('Error(' + g_module_name + '.DescrToCatLeafNodes()):\n'
+ ' Error near ' +
+ ErrorLeader(dbg_loc.infile, dbg_loc.lineno) + '\n'
+ ' Category named \"' + cat_name + '\" not found at\n'
+ ' position ' + NodeToStr(cat_node) + '\n')
+
+ # ---------- Now look up the leaf node -----------
+
+ if (len(leaf_ptkns) > 0) and (leaf_ptkns[-1] == 'query()'):
+ # Special case: "query()"
+ # Variables named "query()" are not really variables.
+ # (They are a way for users to query a category's counter.)
+ # But we treat them as such internally. Consequently we
+ # give them unique names to avoid clashes (just in case
+ # "query()" appears multiple times in the same context).
+ #leaf_ptkns[-1] = '__query__'+dbg_loc.infile+'_'+str(dbg_loc.lineno)
+ leaf_ptkns[-1] = '__query__' + str(dbg_loc.order)
+
+ # Lookup the path for the leaf:
+ #
+ # Often, the leaf that the path refers to does not
+ # exist yet. For example, it is common for a template to
+ # contain a reference to "$atom:CA". If the current context_node
+ # is "/protein1/res22", this means that the leaf should be
+ # at "/protein1/res22/CA". (However in this example, "CA"
+ # is not a class that has been defined yet. It is the name
+ # of a variable which which may not have even been mentioned
+ # before. Think of "CA" as a variable placeholder.
+ #
+ # So we follow the path tokens as far as we can:
+ i_last_ptkn, last_node = FollowPath(leaf_ptkns,
+ leaf_start_node,
+ dbg_loc)
+
+ # Did we find the node?
+ if i_last_ptkn == len(leaf_ptkns):
+
+ leaf_node = last_node
+
+ else:
+
+ # If we are here, then we did not find the node.
+ # The unrecognized token is stored in
+ # leaf_ptkns[i_last_ptkn]
+
+ if leaf_ptkns[i_last_ptkn] == '...':
+ # ----------------------------------------------
+ # ---- UGHH I hate dealing with '...' ----
+ # ----(Messy code to follow in this section)----
+ # ----------------------------------------------
+ # The "..." means different things depending on
+ # whether or not it is the last token in leaf_ptkns.
+
+ if i_last_ptkn + 1 < len(leaf_ptkns):
+ # If "..." is NOT the last token in leaf_ptkns, we
+ # should search for an ancestor of this node who has
+ # a child whose name matches a the requested target
+ # string (located in leaf_ptkns[i_last_ptkn+1])
+ search_target = leaf_ptkns[i_last_ptkn + 1]
+ # If such an ancestor exists, then FollowPath()
+ # should have already found it for us.
+ # This means it was not found.
+ # So if there is only one more token in the
+ # list of tokens, then create the needed node
+ if (create_missing_nodes and
+ (i_last_ptkn + 1 == len(leaf_ptkns) - 1)):
+ # Create a new leaf node and link it:
+ new_leaf_name = leaf_ptkns[-1]
+ parent_node = last_node
+ # Is this parent_node an StaticObj? (..or inherit from
+ # StaticObj?)
+ if isinstance(parent_node, StaticObj):
+ parent_node.children[new_leaf_name] = StaticObj(
+ new_leaf_name, parent_node)
+ elif isinstance(parent_node, InstanceObj):
+ parent_node.children[new_leaf_name] = InstanceObjBasic(
+ new_leaf_name, parent_node)
+ else:
+ assert(False) # (only 2 types of nodes are possible)
+ # Now assign the pointer
+ leaf_node = parent_node.children[new_leaf_name]
+ else:
+ # In that case, we were unable to find the node referenced
+ # by "..."
+ raise InputError('Error(' + g_module_name + '.DescrToCatLeafNodes()):\n'
+ # containing ellipsis (...)\n'
+ ' Broken path.\n'
+ ' class/variable \"' + search_target + '\" not found in this\n'
+ ' context: \"'
+ #+var_ref.prefix + var_ref.descr_str + var_ref.suffix+'\"\n'
+ + descr_str + '\"\n'
+ ' located near ' + ErrorLeader(dbg_loc.infile, dbg_loc.lineno))
+
+ else: # if i_last_ptkn+1 < len(leaf_ptkns):
+
+ # If "..." IS the last token, then it means:
+ # we want to search for the CATEGORY NAME,
+ # This is very different.
+ # It means we need to:
+ # search backwards up the ancestor tree until
+ # we find an ancestor variable (of last_node)
+ # which has the right category, (ie until you
+ # find an ancestor node with a variable (VarRef)
+ # pointing to it with belonging to the correct
+ # category node and name (determined above).)
+ # If not found, then use the current context_node.
+
+ assert(cat_name in cat_node.categories)
+ var_bindings = cat_node.categories[cat_name].bindings
+
+ node = last_node
+ while (node != None):
+ # Recall that cat_node.categories[cat_name]
+ # is a dictionary whose keys are leaf nodes
+ # corresponding to the variables in this category.
+ if node in var_bindings:
+ # then we found it, and we're done
+ break
+ else:
+ node = node.parent
+
+ if node != None:
+ leaf_node = node
+
+ else:
+ # If not found, have it point to the
+ # current (context) node.
+ leaf_node = context_node
+
+ # -----------------------------------------------
+ # -- Finished dealing with '...' in leaf_ptkns --
+ # -----------------------------------------------
+
+ elif (create_missing_nodes and
+ ((i_last_ptkn == len(leaf_ptkns) - 1) or
+ HasWildCard('/'.join(leaf_ptkns)))):
+
+ # elif (create_missing_nodes and
+ # (i_last_ptkn == len(leaf_ptkns)-1)):
+
+ # Again, another reason the leaf-node was not found is
+ # that it refers to a leaf node which has not yet been
+ # created. If the path was valid until up to the last
+ # token, then we sould create a new node with this name.
+ # -- This is a common scenario. --
+ # -- This is how all new variables are created. --
+ # Anyway, we handle that here:
+
+ # Create a new leaf node and link it:
+ new_leaf_name = leaf_ptkns[-1]
+ new_leaf_name = '/'.join(leaf_ptkns[i_last_ptkn:])
+ parent_node = last_node
+ # Is this parent_node an StaticObj? (..or does it inherit from
+ # StaticObj?)
+ if isinstance(parent_node, StaticObj):
+ parent_node.children[new_leaf_name] = StaticObj(
+ new_leaf_name, parent_node)
+ elif isinstance(parent_node, InstanceObj):
+ parent_node.children[new_leaf_name] = InstanceObjBasic(
+ new_leaf_name, parent_node)
+ else:
+ assert(False) # (only 2 types of nodes are possible)
+ # Now assign the pointer
+ leaf_node = parent_node.children[new_leaf_name]
+
+ else:
+
+ # Otherwise, the user made a mistake in the path.
+ # Figure out which kind of mistake and print an error.
+
+ if (last_node.parent is None) and (leaf_ptkns[i_last_ptkn] == '..'):
+ # In that case, we tried to back out beyond the root of the
+ # tree.
+ raise InputError('Error(' + g_module_name + '.DescrToCatLeafNodes()):\n'
+ ' Broken path in variable:\n'
+ #' \"'+var_ref.prefix + var_ref.descr_str + var_ref.suffix+'\"\n'
+ ' \"' + descr_str + '\"\n'
+ ' located near ' +
+ ErrorLeader(dbg_loc.infile,
+ dbg_loc.lineno) + '\n'
+ ' There are too many \"..\" tokens in the path string.')
+
+ else:
+
+ # Then the reason is: The string in leaf_ptkns[i_last_ptkn]
+ # was supposed to be a child of last_node but a child
+ # of that name was not found.
+ raise InputError('Error(' + g_module_name + '.DescrToCatLeafNodes()):\n'
+ ' Broken path / Undefined variable:\n'
+ #' \"'+var_ref.prefix + var_ref.descr_str + var_ref.suffix+'\"\n'
+ ' \"' + descr_str + '\"\n'
+ ' located near ' +
+ ErrorLeader(dbg_loc.infile,
+ dbg_loc.lineno) + '\n'
+ ' Undefined: \"' + \
+ PtknsToStr(leaf_ptkns) + '\"\n'
+ ' (Specifically \"' + leaf_ptkns[i_last_ptkn] +
+ '\" is not a subordinate of \"' + MaxLenStr(last_node.name, '/') + '\")')
+ #'\n This could be a typo or spelling error.')
+
+ return cat_name, cat_node, leaf_node
+
+
+def DescrToVarBinding(descr_str, context_node, dbg_loc):
+ """ DescrToVarBinding() is identical to LookupVar(), but it has a name
+ that is harder to remember. See comment for LookupVar() below.
+
+ """
+ cat_name, cat_node, leaf_node = DescrToCatLeafNodes(descr_str,
+ context_node,
+ dbg_loc)
+
+ if cat_name in cat_node.categories:
+ category = cat_node.categories[cat_name]
+ var_bindings = category.bindings
+ if leaf_node in var_bindings:
+ var_binding = var_bindings[leaf_node]
+ else:
+ raise InputError('Error(' + g_module_name + '.DescrToVarBinding()):\n'
+ ' Error near ' +
+ ErrorLeader(dbg_loc.infile, dbg_loc.lineno) + '\n'
+ ' Bad variable reference: \"' + descr_str + '\". There is\n'
+ ' There no category named \"' + cat_name + '\" defined for "' + NodeToStr(cat_node) + '\".\n')
+ else:
+ raise InputError('Error(' + g_module_name + '.DescrToVarBinding()):\n'
+ ' Error near ' +
+ ErrorLeader(dbg_loc.infile, dbg_loc.lineno) + '\n'
+ ' Bad variable reference: \"' + descr_str + '\". There is\n'
+ ' no category named \"' + cat_name + '\" defined for "' + NodeToStr(cat_node) + '\".\n')
+
+ return var_binding
+
+
+# Wrappers:
+
+def LookupVar(descr_str, context_node, dbg_loc):
+ """ LookupVar() looks up a string (a variable descriptor, which is the
+ variable's name, excluding the '$', '@' prefixes and any '{}' brackets.)
+ This function returns the variable's "VarBinding" (the variable-name:value
+ pair). This is useful for querying or changing the value of a variable.
+ Because nearly all variables are local, you must specify the starting
+ node (ie. the node corresponding to the class in which this class
+ or variable was referred to). This is typically the global node.
+
+ """
+ return DescrToVarBinding(descr_str, context_node, dbg_loc)
+
+
+def LookupNode(obj_name, starting_node, dbg_loc):
+ """ LookupNode() parses through a string like
+ '../ClassA/NestedClassB'
+ and returns the corresponding node.
+ Nodes are data types used for representing a class or class instance.
+ They are also used for storing variables.
+ 'ClassA/NestedClassB/VariableC'
+ Because nearly all variables are local, you must specify the starting
+ node (ie. the node corresponding to the class in which this class
+ or variable was referred to). This is typically the global node.
+
+ """
+ return StrToNode(obj_name, starting_node, dbg_loc)
+
+
+class SimpleCounter(object):
+ __slots__ = ["n", "nincr"]
+
+ # static data attributes:
+ default_n0 = 1
+ default_nincr = 1
+
+ def __init__(self, n0=None, nincr=None):
+ if n0 == None:
+ n0 = SimpleCounter.default_n0
+ if nincr == None:
+ nincr = SimpleCounter.default_nincr
+ self.n = n0 - nincr
+ self.nincr = nincr
+
+ def query(self):
+ return self.n
+
+ def incr(self):
+ self.n += self.nincr
+
+ def __copy__(self): # makes a (deep) copy of the counter in its current state
+ return SimpleCounter(self.n + self.nincr, self.nincr)
+
+
+class Category(object):
+ """
+ Category contains a list of all of the variables which belong
+ to the same category, as well as some supporting information.
+
+ Attributes:
+
+ name The name of the category (a string)
+
+ bindings An OrderedDict() containing leaf_node:VarBinding
+ (key:value) pairs. Variables are looked up by their leaf node.
+ The actual variable name (which simply refers to the leaf node)
+ and values are both stored in the VarBinding data structure.
+
+ counter A counter object like "SimpleCounter". Each time counter.incr()
+ is invoked it should return a unique string (typically this is
+ simply a string representing an integer which is incremented).
+
+ """
+
+ __slots__ = ["name", "bindings", "counter",
+ "manual_assignments", "reserved_values"]
+
+ def __init__(self,
+ name='',
+ bindings=None,
+ counter=None,
+ manual_assignments=None,
+ reserved_values=None):
+
+ self.name = name
+
+ if bindings is None:
+ self.bindings = OrderedDict()
+ else:
+ self.bindings = bindings
+
+ if counter is None:
+ self.counter = SimpleCounter()
+ else:
+ self.counter = counter
+
+ if manual_assignments is None:
+ self.manual_assignments = OrderedDict()
+ else:
+ self.manual_assignments = manual_assignments
+
+ if reserved_values is None:
+ self.reserved_values = OrderedDict()
+ else:
+ self.reserved_values = reserved_values
+
+
+class StaticObj(object):
+ """ StaticObjs and InstanceObjs:
+
+ The state of the system is stored in two different trees:
+ 1) The static tree:
+ StaticObj trees are similar "class" definitions in an OOP language.
+ These trees contains class definitions, and their nested classes,
+ and instructions for how to create new instances (copies) of this class.
+ Nodes in this tree are stored using StaticObjs:
+ 2) The instance tree:
+ This tree contains classes that have been instantiated, and any sub-
+ classes (members or attributes) that are instantiated as a result.
+ This tree is automatically generated by instantiating the root
+ StaticObj. Nodes in this tree are stored using InstanceObjs.
+
+ StaticObjs and InstanceObjs both contain
+ "commands" (commands which usually involve instructions
+ for writing templates)
+ "categories" (local counters used to assign variables. See below.)
+ "children" (Nested class definitions -NOT- OOP child classes. See below.)
+ StaticObjs also contain
+ "instance_commands"
+ "instance_categories"
+ These three members contain information to create a new instance/copy
+ of this class (how to construct an InstanceObj from an StaticObj).
+
+ StaticObj contains the member function Parse() which builds the global static
+ tree by parsing the contents of a text file supplied by the user.
+
+ The external function BuildInstanceTree(), creates the global instance tree
+ from the global static tree (a tree of StaticObjs).
+
+ ----- CLASS MEMBERS OF StaticObj: ----
+ 0) Name:
+ Every class (object type) has a name. It is stored in self.name.
+ To make it easier to distinguish the names of classes from the names of
+ individual instances of that class, I recommend using a capital letter
+ for the name of a class type (and lower-case letters for instances).
+
+ 1) Commands
+ Commands are usually instructions for writing templates.
+ Templates are blocks of ordinary text which contain variables.
+ (Variables in this program consist of variable names, categories,
+ and (eventually) bound values (usually generated automatically),
+ which will be substituted into the template to generate a text file.)
+ A class can contain multiple templates, each one having a unique name
+ which also happens to be the name of the file that will be created when
+ the template is written.
+ Variants:
+
+ self.commands:
+ Some templates are written immediate after the class is defined
+ (stored in "self.commands").
+ Example: The "write_once()" command.
+
+ self.instance_commands:
+ Other templates are written when an instance/copy of the class is created
+ (stored in "self.instance_commands".
+ Example: The "write()" command.
+
+ 2) Children
+ self.children:
+ Class definitions can be defined from within the definition of other
+ ("parent") classes. These nested classes are referred to as "children".
+ These sub-classes are not "children" in the OOP sense of the word at
+ all (they do not have any of the the traits of their "parents").
+ However in the source code I refer to them as "children" because here
+ they are implemented as "child" nodes (branches) in the tree-like
+ data-structure used to store class definitions (the static tree).
+
+ 3) Categories
+ This is a new concept and is difficult to explain.
+ Recall that each class contains a list of templates containing raw text,
+ interspersed with variables (whose values will determined later).
+ In most cases, variables are assigned to integer values which are
+ automatically generated by incrementing a counter. Simply put,
+ "categories" are collections of variables which share the same counter.
+ Within a category, the goal is to assign a unique integer (or other
+ symbol) to each distinct variable in this category.
+ To avoid name-clashes, variable names have local "scope".
+ This scope is the "leaf_token"
+
+ Categories can be specific to a particular class (node), and any of the
+ classes (nodes) which are nested within it, but by default are global.
+ (This means they "belong" to the global (outermost) node by default.)
+ All the various categories which are defined within a particular
+ StaticObj are stored in self.categories.
+ Static variables (ie. variables with a '@' prefix) are stored this way.
+
+ "self.categories"
+ If a class contains a new category, it means that if any nested
+ classes defined within that class definition contain (static, '@')
+ variables whose categories match the category name, their values will
+ be determined by looking up the couter associated with this category
+ stored locally (here) in self.categories. All variables belonging
+ to this category are stored in "self.categories[category_name]".
+ "self.instance_categories"
+ Recall that creating a new copy (instance) of a class automatically
+ creates an InstanceObj in the instance-tree. InstanceObj's have a
+ ".categories" attribute of their own, the contents of which are
+ copied from this StaticObj's "self.instance_categories" attribute.
+ Instantiating a new class also spawns the instantiation of any
+ sub-classes.
+ If any of these "instance children" contain variables whose category
+ names match a category stored in the parent InstanceObj's .categories
+ dictionary, then their values will be determined by that InstanceObj's
+ counter for that category name.
+ 4) Parent:
+ A link to the parent StaticObj is stored in self.parent.
+
+ """
+
+ __slots__ = ["name",
+ "parent",
+ "children",
+ "categories",
+ "commands",
+ "srcloc_begin",
+ "srcloc_end",
+ "deleted",
+ "class_parents",
+ "namespaces",
+ "instname_refs",
+ "instance_categories",
+ "instance_commands_push",
+ "instance_commands",
+ "instance_commands_pop"]
+
+ def __init__(self,
+ name='',
+ parent=None):
+ """
+ The members/attributes of StaticObj are defined in the comment
+ for StaticObj above. """
+
+ # The following members are shared by both InstanceObj and StaticObj:
+
+ self.name = name
+
+ self.parent = parent # For traversing the global static template tree
+
+ self.children = OrderedDict() # Nested class definitions.
+
+ self.categories = OrderedDict() # <- new variable categories that are only defined
+ # in the context of this molecule's type definition
+ self.commands = [] # Commands to carry out (only once)
+
+ # vb##self.var_bindings=[] # List of variables assigned to this
+ # object.
+
+ self.srcloc_begin = None # Keep track of location in user files
+ self.srcloc_end = None # (useful for error message reporting)
+
+ self.deleted = False # Users can delete static objects?
+ # (why not?)
+
+ # The following members are not shared with InstanceObj:
+
+ self.class_parents = [] # classes we inherit traits from (this is
+ # similar to the parent/child relationship
+ # in an object-oriented-programming language)
+
+ self.namespaces = [] # A list of classes we also look in when searching
+ # for other static nodes or variables. (similar to
+ # class_parents, but only used for searches.)
+
+ self.instname_refs = {} # <-- used for debugging to insure that
+ # two instances do not have the same name
+
+ # <-new variable categories that are defined
+ self.instance_categories = OrderedDict()
+ # within the scope of this molecule's instance
+ self.instance_commands_push = [] # 1)process these commands first by adding
+ # these commands to InstanceObj.commands
+ # (before you deal with class_parents)
+ self.instance_commands = [] # 2) then add this to InstanceObj.commands
+ self.instance_commands_pop = [] # 3) finally add these commands
+
+ def DeleteSelf(self):
+ for child in self.children.values():
+ child.DeleteSelf()
+ self.deleted = True
+
+ def IsDeleted(self):
+ return self.deleted
+
+ # vb##def AddVarBinding(self, var_binding):
+ # vb## if self.var_bindings is None:
+ # vb## self.var_bindings = [var_binding]
+ # vb## else:
+ # vb## self.var_bindings.append(var_binding)
+
+ def Parse(self, lex):
+ """ Parse() builds a static tree of StaticObjs by parsing text file.
+ -The "lex" argument is a file or input stream which has been converted
+ to a "TemplateLexer" object (similar to the python's built-in shlex lexer).
+ """
+
+ # The next two variables store a stack of commands the user wants
+ # to manually add to the list of stackable instance_commands.
+ # (Allowing the users to directly manipulate the transformation stack
+ # is an experimental feature as of 2015- Most users don't need this.)
+ user_push_left_commands = []
+ user_push_right_commands = []
+
+ #sys.stdout.write(' -- Parse() invoked --\n')
+
+ # Keep track of the location in the users' input files where this
+ # class object is first defined. (Keep in mind that the user might
+ # augment their original class definition, adding new content to an
+ # existing class. In that case self.srcloc_begin will have already
+ # been assigned. We don't want to overwrite it in that case.)
+ if self.srcloc_begin is None: # <-- not defined yet?
+ self.srcloc_begin = lex.GetSrcLoc()
+
+ while True:
+
+ cmd_token = lex.get_token()
+
+ #print('Parse(): token = \"'+cmd_token+'\", '+lex.error_leader())
+
+ if cmd_token == lex.eof:
+ #print('Parse(): EOF encountered\n')
+ break
+
+ if ((cmd_token == 'write') or
+ (cmd_token == 'write_once') or
+ (cmd_token == 'create_var') or
+ (cmd_token == 'replace')):
+ open_paren = lex.get_token()
+
+ #print('Parse(): open_paren=\"'+open_paren+'\"')
+ if open_paren == '{':
+ # ..then the user neglected to specify the "dest" file-name
+ # argument. In that case, supply the default, ''.
+ # (which is shorthand for the standard out in this case)
+ open_curly = open_paren[0]
+ open_paren = ''
+ close_paren = ''
+ tmpl_filename = ''
+ srcloc = lex.GetSrcLoc()
+ else:
+ tmpl_filename = lex.get_token()
+ if tmpl_filename == ')':
+ tmpl_filename = ''
+ close_paren = ')'
+ else:
+ close_paren = lex.get_token()
+ open_curly = lex.get_token()
+ srcloc = lex.GetSrcLoc()
+
+ if (cmd_token == 'create_var'):
+ tmpl_filename = None
+ # This means: define the template without attaching
+ # a file name to it. (IE., don't write the contents
+ # of what's enclosed in the curly brackets { } to a file.)
+
+ if (cmd_token == 'replace'):
+ tmpl_filename = "ttree_replacements.txt"
+
+ if ((open_curly != '{') or
+ ((open_paren == '') and (close_paren != '')) or
+ ((open_paren == '(') and (close_paren != ')'))):
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Error in ' + lex.error_leader() + '\n\n'
+ 'Syntax error at the beginning of the \"' + cmd_token + '\" command.')
+ if tmpl_filename != None:
+ tmpl_filename = RemoveOuterQuotes(
+ tmpl_filename, lex.quotes)
+ # ( The previous line is similar to:
+ # tmpl_filename = tmpl_filename.strip(lex.quotes) )
+
+ tmpl_contents = lex.ReadTemplate()
+ StaticObj.CleanupReadTemplate(tmpl_contents, lex)
+
+ #sys.stdout.write(' Parse() after ReadTemplate, tokens:\n\n')
+ # print(tmpl_contents)
+ # sys.stdout.write('\n----------------\n')
+
+ if (cmd_token == 'write_once' or
+ cmd_token == 'replace'):
+
+ # Check for a particular bug:
+ # Ordinary instance variables (preceded by a '$')
+ # should never appear in a write_once() statement.
+ for entry in tmpl_contents:
+ if (isinstance(entry, VarRef) and
+ (entry.prefix[0] == '$')):
+ err_msg = ('Error(' + g_module_name + '.StaticObj.Parse()):\n' +
+ ' Error near ' + ErrorLeader(entry.srcloc.infile,
+ entry.srcloc.lineno) + '\n' +
+ ' Illegal variable: \"' + entry.prefix + entry.descr_str + entry.suffix + '\"\n' +
+ ' All variables in a \"' + cmd_token + '\" statement must be statically\n' +
+ ' defined, and hence they must begin with a \'@\' prefix character.\n' +
+ ' (not a \'$\' character).\n')
+ if (cmd_token == 'write_once'):
+ err_msg += ' Suggestion: Use the \"write()\" command instead.\n'
+ raise InputError(err_msg)
+
+ if cmd_token == 'write':
+ commands = self.instance_commands
+ elif (cmd_token == 'write_once' or
+ cmd_token == 'replace'):
+ commands = self.commands
+ elif (cmd_token == 'create_var'):
+ commands = self.instance_commands
+ else:
+ assert(False)
+
+ command = WriteFileCommand(tmpl_filename,
+ tmpl_contents,
+ srcloc)
+ commands.append(command)
+
+ # end of "if (cmd_token == 'write') or (cmd_token ==
+ # 'write_once'):"
+
+ elif cmd_token == 'delete':
+
+ instobj_descr_str = lex.get_token()
+ instobj_srcloc = lex.GetSrcLoc()
+ delete_command = DeleteCommand(instobj_srcloc)
+ mod_command = ModCommand(delete_command,
+ instobj_descr_str)
+ self.instance_commands.append(mod_command)
+
+ elif cmd_token == 'using':
+
+ namespacecom_str = lex.get_token()
+ if namespacecom_str != 'namespace':
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Error near ' + lex.error_leader() + '\n'
+ ' The \"' + cmd_token + '\" command must be followed by the \"namespace\" keyword.')
+ namespace_str = lex.get_token()
+
+ stnode = StrToNode(namespace_str,
+ self,
+ lex.GetSrcLoc())
+
+ self.namespaces.append(stnode)
+
+ elif cmd_token == 'category':
+ cat_name = lex.get_token()
+
+ cat_count_start = 1
+ cat_count_incr = 1
+
+ open_paren = lex.get_token()
+ if (open_paren == '('):
+ token = lex.get_token()
+ if token == ',':
+ token = lex.get_token()
+ if token != ')':
+ # Interpret token as an integer, float, or string
+ try:
+ cat_count_start = int(token)
+ except ValueError:
+ try:
+ cat_count_start = float(token)
+ except ValueError:
+ cat_count_start = RemoveOuterQuotes(
+ token, '\'\"')
+ token = lex.get_token()
+ if token == ',':
+ token = lex.get_token()
+ if token != ')':
+ # Interpret token as an integer,float,or string
+ try:
+ cat_count_incr = int(token)
+ except ValueError:
+ try:
+ cat_count_incr = float(token)
+ except ValueError:
+ cat_count_incr = RemoveOuterQuotes(
+ token, '\'\"')
+ token = lex.get_token()
+ if token != ')':
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Error near ' + lex.error_leader() + '\n'
+ ' \"' + cmd_token + ' ' + cat_name + '...\" has too many arguments,\n'
+ ' or lacks a close-paren \')\'.\n')
+
+ else:
+ lex.push_token(open_paren)
+
+ if (isinstance(cat_count_start, basestring) or
+ isinstance(cat_count_incr, basestring)):
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Error near ' + lex.error_leader() + '\n'
+ ' \"' + cmd_token + ' ' + cat_name + '(' +
+ str(cat_count_start) + ',' +
+ str(cat_count_incr) + ')\"\n'
+ ' Only numeric counters are currently supported.\n')
+
+ # check for really stupid and unlikely errors:
+ if type(cat_count_start) is not type(cat_count_incr):
+ if ((isinstance(cat_count_start, int) or
+ isinstance(cat_count_start, float))
+ and
+ (isinstance(cat_count_incr, int) or
+ isinstance(cat_count_incr, float))):
+ cat_count_start = float(cat_count_start)
+ cat_count_incr = float(cat_count_incr)
+ else:
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Error near ' + lex.error_leader() + '\n'
+ ' Problem with \"' + cmd_token + '\" command.\n')
+
+ prefix = cat_name[0]
+ cat_name = cat_name[1:]
+ # Add this category to the list.
+ if prefix == '@':
+ self.categories[cat_name] = Category(cat_name)
+ self.categories[cat_name].counter = SimpleCounter(cat_count_start,
+ cat_count_incr)
+ elif prefix == '$':
+ self.instance_categories[cat_name] = Category(cat_name)
+ self.instance_categories[cat_name].counter = SimpleCounter(cat_count_start,
+ cat_count_incr)
+ else:
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Error near ' + lex.error_leader() + '\n'
+ ' category name = \"' + cat_name + '\" lacks a \'$\' or \'&\' prefix.\n'
+ ' This one-character prefix indicates whether the variables in this\n'
+ ' new category will be static or dynamics variables\n')
+
+ elif (cmd_token == '}') or (cmd_token == ''):
+ # a '}' character means we have reached the end of our scope.
+ # Stop parsing and let the caller deal with the remaining text.
+ # (And a '' means we reached the end of the file... I think.)
+ break
+
+ # elif (cmd_token == 'include'):
+ # "include filename" loads a file (adds it to the file stack)
+ # The "TtreeShlex" class (from which "lex" inherits) handles
+ # "include" statements (ie. "source" statements) automatically.
+
+ elif ((cmd_token == 'push') or
+ (cmd_token == 'push_left') or
+ (cmd_token == 'push_right')):
+
+ push_cmd_src_loc = lex.GetSrcLoc()
+ push_cmd_text = lex.GetParenExpr()
+ if ((len(push_cmd_text) < 2) or
+ (push_cmd_text[0] != '(') or
+ (push_cmd_text[-1] != ')')):
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Error near ' + lex.error_leader() + '\n'
+ ' Bad \"push\" command. Expected an expression in parenthesis.\n')
+ push_cmd_text = push_cmd_text[1:-1]
+
+ if (cmd_token == 'push_right'):
+ push_command = PushRightCommand(push_cmd_text,
+ push_cmd_src_loc)
+ user_push_right_commands.append(push_command)
+ else:
+ push_command = PushLeftCommand(push_cmd_text,
+ push_cmd_src_loc)
+ user_push_left_commands.append(push_command)
+ self.instance_commands.append(push_command)
+
+ elif ((cmd_token == 'pop') or
+ (cmd_token == 'pop_left') or
+ (cmd_token == 'pop_right')):
+
+ pop_cmd_text = lex.GetParenExpr()
+ pop_cmd_src_loc = lex.GetSrcLoc()
+ if (cmd_token == 'pop_right'):
+ if len(user_push_right_commands) > 0:
+ push_command = user_push_right_commands.pop()
+ else:
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Error near ' + lex.error_leader() + '\n'
+ ' Too many \"pop_right\" commands.\n')
+ pop_command = PopRightCommand(push_command,
+ pop_cmd_src_loc)
+ else:
+ if len(user_push_left_commands) > 0:
+ push_command = user_push_left_commands.pop()
+ else:
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Error near ' + lex.error_leader() + '\n'
+ ' Too many pop, (or pop_left) commands.\n')
+ pop_command = PopLeftCommand(push_command,
+ pop_cmd_src_loc)
+ self.instance_commands.append(pop_command)
+
+ else:
+
+ # Otherwise, 'cmd_token' is not a command at all.
+ # Instead it's the name of an object which needs to be
+ # defined or instantiated.
+ # First, let's figure out which.
+
+ # (small detail: The "class" keyword is optional
+ # and can be skipped.)
+ if cmd_token == 'class':
+ object_name = lex.get_token()
+ else:
+ object_name = cmd_token
+
+ next_symbol = lex.get_token()
+ #print('Parse(): next_token=\"'+next_symbol+'\"')
+
+ class_parents = []
+
+ if next_symbol == 'inherits':
+
+ # Then read in the list of classes which are parents of
+ # of this class. (Multiple inheritance is allowed.)
+ # (We don't yet check to insure that these are valid class
+ # names. We'll do this later in LookupStaticRefs().)
+
+ syntax_err_inherits = False
+
+ while True:
+ next_symbol = lex.get_token()
+ if ((next_symbol == '{') or
+ (next_symbol == lex.eof)):
+ break
+ elif (next_symbol == '='):
+ syntax_err_inherits = True
+ break
+ else:
+ class_parents.append(StrToNode(next_symbol,
+ self,
+ lex.GetSrcLoc()))
+ if len(class_parents) == 0:
+ syntax_err_inherits = True
+
+ if syntax_err_inherits:
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Error near ' + lex.error_leader() + '\n'
+ ' \"inherits\" should be followed by one or more class names.\n')
+
+ if next_symbol == '{':
+ child_name = object_name
+
+ # Check to see if this class has already been defined.
+ # (IE. check if it present in the list of children.)
+ # If the name (child_name) matches another class (child),
+ # then the contents of the new class will be appended to
+ # the old. This way, class definitions can be augmented
+ # later. (This is the way "namespaces" work in C++.)
+ child = self.children.get(child_name)
+ # If found, we refer to it as "child".
+ # If not, then we create a new StaticObj named "child".
+ if child is None:
+ child = StaticObj(child_name, self)
+ self.children[child_name] = child
+ assert(child.name == child_name)
+
+ # Either way we invoke child.Parse(), to
+ # add contents (class commands) to child.
+ child.Parse(lex)
+ child.class_parents += class_parents
+
+ elif next_symbol == '=':
+ next_symbol = lex.get_token()
+ if next_symbol == 'new':
+ base_name = object_name
+ base_srcloc = lex.GetSrcLoc()
+ array_slice_str = ''
+ if base_name.find('/') != -1:
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Error near ' + ErrorLeader(base_srcloc.infile,
+ base_srcloc.lineno) + '\n'
+ ' (You can not instantiate some other object\'s members.)\n'
+ ' Invalid instance name: \"' + base_name + '\"\n')
+
+ elif base_name in self.instname_refs:
+ ref_srcloc = self.instname_refs[base_name]
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Duplicate class/array \"' + base_name + '\"\n'
+ ' This occurs near:\n'
+ ' ' + ErrorLeader(ref_srcloc.infile,
+ ref_srcloc.lineno) + '\n'
+ ' and also near:\n'
+ ' ' + ErrorLeader(base_srcloc.infile,
+ base_srcloc.lineno) + '\n')
+ else:
+ self.instname_refs[base_name] = base_srcloc
+
+ # Check for syntax allowing the user to instantiate
+ # PART of an array. For example, check for this syntax:
+ # "monomers[20-29] = new ...". This only fills in a
+ # portion of the array from: monomers[20]...monomers[29]
+ #
+ # We also have to deal with multidimensional syntax
+ # like this: "cells[3][2-3][1][4-7] = new..."
+ # Split the "cells[3][2-3][2][4-7][2]" string into
+ # "cells[3][", "][1][", and "]".
+ # Later, we will instantiate InstanceObjs with names:
+ # "cells[3][2][1][4]"
+ # "cells[3][2][1][5]"
+ # "cells[3][2][1][6]"
+ # "cells[3][2][1][7]"
+ # "cells[3][3][1][4]"
+ # "cells[3][3][1][5]"
+ # "cells[3][3][1][6]"
+ # "cells[3][3][1][7]"
+
+ p1 = base_name.find('[')
+ if p1 == -1:
+ p1 = len(base_name)
+ else:
+ p1 += 1
+ array_name_tkns = [base_name[0:p1]]
+ array_name_offsets = []
+
+ p2 = -1
+ p4 = p1
+ while p4 < len(base_name):
+ p3 = base_name.find(']', p1)
+
+ if p3 == -1:
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Expected a \']\' character following:\n'
+ ' \"' +
+ base_name[0:p1] +
+ '\", located near:\n'
+ ' ' + ErrorLeader(ref_srcloc.infile,
+ ref_srcloc.lineno) + '\n')
+
+ # Search for a '-', ':', or '*' character between []
+ # For example "monomers[20-29] = "
+ # If present, the user wants us to fill a range
+ # inside an array. This could be a multi-dimensional
+ # array, (eg "cells[3][2-6][4-11] = "), so we must
+ # figure out which entries in the array the user
+ # wants us to fill (in this case, "[2-6][4-11]")
+ p2 = base_name.find('-', p1)
+ if p2 == -1:
+ p2 = len(base_name)
+ if p2 > p3:
+ p2 = base_name.find(':', p1)
+ if p2 == -1:
+ p2 = len(base_name)
+ if p2 > p3:
+ p2 = base_name.find('*', p1)
+ if p2 == -1:
+ p2 = len(base_name)
+
+ p4 = p3 + 1
+ if p4 < len(base_name):
+ if base_name[p4] == '[':
+ p4 += 1 # skip over it
+ else:
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Expected a \'[\' character forllowing a \']\' character in\n'
+ ' \"' +
+ base_name[
+ 0:p2 + 1] + '\", located near:\n'
+ ' ' + ErrorLeader(ref_srcloc.infile,
+ ref_srcloc.lineno) + '\n')
+
+ if p2 > p3:
+ # Then no '-', ':', or '*' character was found
+ # between '[' and the subsequent ']' character
+ # In that case, ignore this token
+
+ token = base_name[p1:p4]
+ # append all this text to the previous token
+ if len(array_name_tkns) == 0:
+ array_name_tkns.append(token)
+ else:
+ array_name_tkns[-1] = array_name_tkns[-1] + token
+ array_slice_str = 'slice '
+ else:
+
+ assert((p1 < p2) and (p2 < p3))
+ index_offset_str = base_name[p1:p2]
+ if len(index_offset_str) == 0:
+ index_offset = 0
+
+ elif (not str.isdigit(index_offset_str)):
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Expected a nonnegative integer preceding the \'' +
+ base_name[
+ p2] + '\' character in:\n'
+ ' \"' +
+ base_name[
+ 0:p2 + 1] + '\", located near:\n'
+ ' ' + ErrorLeader(ref_srcloc.infile,
+ ref_srcloc.lineno) + '\n')
+ else:
+ index_offset = int(index_offset_str)
+ token = base_name[p3:p4]
+ array_name_tkns.append(token)
+ array_name_offsets.append(index_offset)
+
+ p1 = p4
+
+ # If the statobj_str token contains a ']' character
+ # then this means the user wants us to make multiple
+ # copies of this template. The number of copies
+ # to instantiate is enclosed in the [] characters
+ # (Example wat = new Water[3000] creates
+ # 3000 instantiations of the Water template
+ # named wat[1], wat[2], wat[3], ... wat[3000]).
+
+ # Note: Here '[' and ']' have a special meaning.
+ # So lex.get_token() should not treat them as
+ # ordinary word characters. To prevent this:
+ orig_wordterminators = lex.wordterminators
+ lex.wordterminators += '[],'
+
+ class_name_str = lex.get_token()
+ if ((class_name_str == lex.eof) or
+ (class_name_str == '}')):
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Error near ' + lex.error_leader() + '\n'
+ 'Class ends prematurely. (Incomplete \"new\" statement.)')
+
+ assert(len(class_name_str) > 0)
+
+ if (class_name_str[0] == '['):
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Error near ' + lex.error_leader() + '\n'
+ ' new ' + class_name_str + '\n'
+ 'Bracketed number should be preceeded by a class name.')
+ class_names = []
+ weights = []
+ num_by_type = []
+ if class_name_str == 'random':
+ class_names, weights, num_by_type = self._ParseRandom(
+ lex)
+ tmp_token = lex.get_token()
+ if len(tmp_token) > 0:
+ if tmp_token[0] == '.':
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Error near ' + lex.error_leader() + '\n'
+ ' \"' + tmp_token + '\" should not follow random()\n'
+ '\n'
+ ' Coordinate transformations and other commands (such as \"' +
+ tmp_token + '\")\n'
+ ' should appear after each class name inside the random() statement,\n'
+ ' not after it. For example, do not use:\n'
+ ' \"lipids=new random([DPPC,DLPC],[0.5,0.5]).move(0,0,23.6)\"\n'
+ ' Use this instead:\n'
+ ' \"lipids=new random([DPPC.move(0,0,23.6),DLPC.move(0,0,23.6)],[0.5,0.5])\"\n')
+ lex.push_token(tmp_token)
+ else:
+ class_name, class_suffix, class_suffix_srcloc = \
+ self._ProcessClassName(class_name_str, lex)
+
+ array_size = []
+ array_suffixes = []
+ array_srclocs = []
+
+ # A general "new" statement could look like this:
+ # "m = new Mol.scale(3) [2].trans(0,4.5,0).rotate(30,0,0,1)
+ # [3].trans(0,0,4.5)"
+ # So far we have processed "m = new Mol.scale(3)".
+ # Now, we need to deal with:
+ # "[2].trans(0,4.5,0).rotate(30,0,0,1) [3].trans(0,0,4.5)"
+ while True:
+ new_token = lex.get_token()
+ # if ((new_token == '') or (new_token == lex.eof)):
+ # break
+ if new_token == '[':
+ number_str = lex.get_token()
+ close_bracket = lex.get_token()
+ if ((not str.isdigit(number_str)) or
+ (close_bracket != ']')):
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Error in \"new\" statement near ' + lex.error_leader() + '\n'
+ ' A \'[\' character should be followed by a number and a \']\' character.')
+ array_size.append(int(number_str))
+ suffix = lex.get_token()
+
+ if ((suffix == '') or (suffix == lex.eof)):
+ array_suffixes.append('')
+ array_srclocs.append(base_srcloc)
+ break
+ if suffix[0] == '.':
+ lex.push_token(suffix[1:])
+ suffix_func = lex.GetParenExpr()
+ suffix = '.' + suffix_func
+ array_suffixes.append(suffix)
+ array_srclocs.append(lex.GetSrcLoc())
+ else:
+ array_suffixes.append('')
+ array_srclocs.append(base_srcloc)
+ lex.push_token(suffix)
+ if suffix != '[':
+ break
+ else:
+ lex.push_token(new_token)
+ break
+ srcloc_final = lex.GetSrcLoc()
+
+ lex.wordterminators = orig_wordterminators
+
+ assert(len(array_size) == len(array_suffixes))
+
+ if len(array_size) > 0:
+ if len(array_name_offsets) == 0:
+ assert(len(array_name_tkns) == 1)
+ array_name_offsets = [0] * len(array_size)
+ array_name_tkns[0] = array_name_tkns[0] + '['
+ for d in range(0, len(array_size) - 1):
+ array_name_tkns.append('][')
+ array_name_tkns.append(']')
+
+ if len(array_name_offsets) != len(array_size):
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Error in \"new\" statement near/before ' + lex.error_leader() + '\n'
+ ' Array ' + array_slice_str +
+ 'dimensionality on the left side of the \'=\' character (' + str(
+ len(array_name_offsets)) + ')\n'
+ ' does not match the array dimensionality on the right side (' + str(len(array_size)) + ').\n')
+
+ # If the user wants us to instantiate a
+ # multidimensional array of class instances
+ # then we must loop through this multidimensional
+ # array and create a new instance for each entry.
+ # For example fill a 3 dimensional volume
+ # with 1000 water molecules
+ # Example 1:
+ # solvent = new Water [10][10][10]
+ # (The coordinates must be read separately.)
+ # In this example array_size = [10,10,10]
+ # array_suffixes = ['','','']
+ # Example 2:
+ # solvent = new Water.transcm(0,0,0)
+ # [10].trans(0,0,4)
+ # [10].trans(0,4,0).rot(45,0,0,1)
+ # [10].trans(4,0,0)
+ # (This command generates a 10x10x10 lattice
+ # simple cubic lattice of regularly spaced
+ # water molecules pointing the same direction.)
+ # In this example array_size = [10,10,10]
+ # and
+ # class_suffix = 'transcm(0,0,0)'
+ # and
+ # array_suffixes = ['trans(0,0,4)',
+ # 'trans(0,4,0).rot(45,0,0,1)',
+ # 'trans(4,0,0)']
+ # Note that tree ignores the "trans()"
+ # commands, it stores them so that inherited
+ # classes can attempt to process them.
+
+ D = len(array_size)
+ if D > 0:
+
+ i_elem = 0 # (used to look up selection_list[])
+ if len(num_by_type) > 0:
+ selection_list = []
+ for i in range(0, len(num_by_type)):
+ selection_list += [i] * num_by_type[i]
+ random.shuffle(selection_list)
+
+ num_elements = 1
+ for d in range(0, D):
+ num_elements *= array_size[d]
+ err_msg_str = str(array_size[0])
+ for d in range(1, D):
+ err_msg_str += '*' + str(array_size[d])
+ if num_elements != len(selection_list):
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Error near or before ' + lex.error_leader() + '\n'
+ ' The sum of the numbers in the \"new random([],[])\" command (' + str(
+ len(selection_list)) + ')\n'
+ ' does not equal the number of elements in the array (' + err_msg_str + ')\n')
+
+ digits = [0 for d in range(0, D)]
+ table_filled = False
+ pushed_commands = []
+ while (not table_filled):
+ instance_name = array_name_tkns[0]
+ for d in range(0, D):
+ i = digits[d]
+ instance_name += str(i +
+ array_name_offsets[d]) +\
+ array_name_tkns[d + 1]
+
+ # Does the user want us to select
+ # a class at random?
+ if len(class_names) > 0:
+
+ if len(num_by_type) > 0:
+ class_name_str = class_names[
+ selection_list[i_elem]]
+ else:
+ class_name_str = RandomSelect(class_names,
+ weights)
+ class_name, class_suffix, class_suffix_srcloc = \
+ self._ProcessClassName(
+ class_name_str, lex)
+
+ if class_suffix != '':
+ class_suffix_command = \
+ PushRightCommand(class_suffix.lstrip('.'),
+ class_suffix_srcloc)
+ self.instance_commands.append(
+ class_suffix_command)
+ command = \
+ InstantiateCommand(instance_name,
+ ClassReference(class_name,
+ base_srcloc),
+ base_srcloc)
+ self.instance_commands.append(command)
+
+ if class_suffix != '':
+ command = \
+ PopRightCommand(class_suffix_command,
+ srcloc_final)
+ self.instance_commands.append(command)
+
+ # Now go to the next entry in the table.
+ # The indices of this table are similar to
+ # a D-digit integer. We increment this d-digit
+ # number now.
+ d_carry = D - 1
+ while True:
+ digits[d_carry] += 1
+ if digits[d_carry] >= array_size[d_carry]:
+ digits[d_carry] = 0
+ if array_suffixes[d_carry] != '':
+ for i in range(0, array_size[d_carry] - 1):
+ partner = pushed_commands.pop()
+ command = PopRightCommand(partner,
+ srcloc_final)
+ self.instance_commands.append(
+ command)
+ d_carry -= 1
+ else:
+ if array_suffixes[d_carry] != '':
+ command = PushRightCommand(array_suffixes[d_carry].lstrip('.'),
+ array_srclocs[d_carry])
+ pushed_commands.append(command)
+ self.instance_commands.append(
+ command)
+ break
+ if d_carry < 0:
+ table_filled = True
+ break
+
+ # (used to look up selection_list[])
+ i_elem += 1
+ pass
+
+ else:
+ if len(class_names) > 0:
+ assert(len(num_by_type) == 0)
+ # if len(num_by_type) > 0:
+ # class_name_str = class_names[selection_list[i_elem]]
+ # else:
+ # class_name_str = RandomSelect(class_names,
+ # weights)
+ class_name_str = RandomSelect(class_names,
+ weights)
+ class_name, class_suffix, class_suffix_srcloc = \
+ self._ProcessClassName(class_name_str, lex)
+ if class_suffix != '':
+ class_suffix_command = \
+ PushRightCommand(class_suffix.lstrip('.'),
+ class_suffix_srcloc)
+ self.instance_commands.append(
+ class_suffix_command)
+ command = \
+ InstantiateCommand(base_name,
+ ClassReference(class_name,
+ base_srcloc),
+ base_srcloc)
+ self.instance_commands.append(command)
+
+ if class_suffix != '':
+ command = \
+ PopRightCommand(class_suffix_command,
+ srcloc_final)
+ self.instance_commands.append(command)
+
+ else:
+
+ # Now check for commands using this syntax:
+ #
+ # "MolNew = MolOld.rot(45,1,0,0).scale(100.0)"
+ # /|\ /|\ `-----------.------------'
+ # | | |
+ # child_name parent_name optional suffix
+
+ child_name = object_name
+ parent_name_str = next_symbol
+
+ child = StaticObj(child_name, self)
+
+ parent_name, suffix, suffix_srcloc = \
+ self._ProcessClassName(parent_name_str, lex)
+
+ child.class_parents.append(StrToNode(parent_name,
+ self,
+ lex.GetSrcLoc()))
+
+ if suffix != '':
+ # Assume the command is a StackableCommand. (This
+ # way it will enclose the commands of the parents.)
+ # Stackable commands come in (Push...Pop) pairs.
+ push_command = PushLeftCommand(suffix,
+ suffix_srcloc)
+ pop_command = PopLeftCommand(push_command,
+ suffix_srcloc)
+ push_mod_command = ModCommand(push_command, './')
+ pop_mod_command = ModCommand(pop_command, './')
+ child.instance_commands_push.append(
+ push_mod_command)
+ child.instance_commands_pop.insert(
+ 0, pop_mod_command)
+
+ #sys.stderr.write('child.instance_commands_push = '+str(child.instance_commands_push)+'\n')
+
+ #sys.stderr.write('child.instance_commands_pop = '+str(child.instance_commands_pop)+'\n')
+
+ # Check to see if this class has already been defined.
+ if self.children.get(child_name) is not None:
+ if self.children[i].IsDeleted():
+ del self.children[child_name]
+ else:
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Error near ' + lex.error_leader() + '\n'
+ ' The name \"' + child_name + '\" is already in use.')
+
+ self.children[child_name] = child
+
+ else:
+
+ # Otherwise hopefully this is a post-instance command
+ # (a command applied to a class which has been instantiated)
+ # In that case, the object_name would be followed by
+ # a dot and a function-call containing a '(' paren (which
+ # would have ended up stored in the next_symbol variable).
+
+ open_paren_encountered = False
+ if (next_symbol == '('):
+ open_paren_encountered = True
+ # put '(' back in the stream
+ lex.push_token(next_symbol)
+
+ i_dot = object_name.rfind('.')
+ i_slash = object_name.rfind('/')
+ dot_encountered = ((i_dot != -1) and
+ ((i_slash == -1) or (i_slash < i_dot)))
+
+ if (open_paren_encountered and dot_encountered and
+ (object_name[:1] != '[')):
+
+ obj_descr_str, suffix, suffix_srcloc = \
+ self._ExtractSuffix(object_name, lex)
+
+ path_tokens = obj_descr_str.split('/')
+ i_last_ptkn, staticobj = FollowPath(path_tokens,
+ self,
+ lex.GetSrcLoc())
+ instobj_descr_str = './' + \
+ '/'.join(path_tokens[i_last_ptkn:])
+
+ # I still support the "object_name.delete()" syntax for
+ # backwards compatibility. (However newer input files
+ # use this equivalent syntax: "delete object_name")
+ if suffix == 'delete()':
+ delete_command = DeleteCommand(suffix_srcloc)
+ mod_command = ModCommand(delete_command,
+ instobj_descr_str)
+ staticobj.instance_commands.append(mod_command)
+ else:
+ push_command = PushLeftCommand(suffix,
+ suffix_srcloc,
+ '.')
+ pop_command = PopLeftCommand(push_command,
+ suffix_srcloc,
+ '.')
+ push_mod_command = ModCommand(push_command,
+ instobj_descr_str)
+ pop_mod_command = ModCommand(pop_command,
+ instobj_descr_str)
+ if instobj_descr_str != './':
+ # sys.stderr.write('DEBUG: Adding '+str(push_command)+' to '+
+ # staticobj.name+'.instance_commands\n')
+ staticobj.instance_commands.append(
+ push_mod_command)
+ staticobj.instance_commands.append(
+ pop_mod_command)
+ else:
+ # sys.stderr.write('DEBUG: Adding '+str(push_command)+' to '+
+ # staticobj.name+'.instance_commands_push\n')
+ # Question: Should I make these PushRight commands and
+ # append them in the opposite order?
+ # If so I also have to worry about the case
+ # above.
+ staticobj.instance_commands_push.append(
+ push_mod_command)
+ staticobj.instance_commands_pop.insert(
+ 0, pop_mod_command)
+
+ else:
+ # Otherwise, the cmd_token is not any of these:
+ # "write", "write_once", "replace", "create_vars"
+ # "delete", or "category".
+ # ... and it is ALSO not any of these:
+ # the name of a class (StaticObj), or
+ # the name of an instance (InstanceObj)
+ # followed by either a '.' or "= new"
+ #
+ # In that case, it is a syntax error:
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Syntax error at or before ' + lex.error_leader() + '\n'
+ ' \"' + object_name + ' ' + next_symbol + '\".')
+
+ # Keep track of the location in the user's input files
+ # where the definition of this object ends.
+ self.srcloc_end = lex.GetSrcLoc()
+
+ # Finally, if there are any remaining user_push_left_commands or
+ # user_push_right_commands, deal with them (by popping them).
+ for push_command in user_push_left_commands:
+ push_command = user_push_left_commands.pop()
+ pop_command = PopLeftCommand(push_command,
+ self.srcloc_end)
+ self.instance_commands.append(pop_command)
+
+ for push_command in user_push_right_commands:
+ push_command = user_push_right_commands.pop()
+ pop_command = PopRightCommand(push_command,
+ self.srcloc_end)
+ self.instance_commands.append(pop_command)
+
+ @staticmethod
+ def CleanupReadTemplate(tmpl_contents, lex):
+ # 1) Remove any newlines at the beginning of the first text block
+ # in tmpl_content.(Sometimes they cause ugly extra blank lines)
+ assert(len(tmpl_contents) > 0)
+ if isinstance(tmpl_contents[0], TextBlock):
+ first_token_strip = tmpl_contents[0].text.lstrip(' ')
+ if ((len(first_token_strip) > 0) and
+ (first_token_strip[0] in lex.newline)):
+ tmpl_contents[0].text = first_token_strip[1:]
+ tmpl_contents[0].srcloc.lineno += 1
+
+ # 2) Remove any trailing '}' characters, and complain if absent.
+ # The last token
+ assert(isinstance(tmpl_contents[-1], TextBlock))
+ assert(tmpl_contents[-1].text in ['}', ''])
+ if tmpl_contents[-1].text == '}':
+ del tmpl_contents[-1]
+ else:
+ tmpl_begin = None
+ if isinstance(tmpl_contents[0], TextBlock):
+ tmpl_begin = tmpl_contents[0].srcloc
+ elif isinstance(tmpl_contents[0], VarRef):
+ tmpl_begin = tmpl_contents[0].srcloc
+ else:
+ assert(False)
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Error near ' + lex.error_leader() + '\n\n'
+ ' Premature end to template.\n'
+ '(Missing terminator character, usually a \'}\'.) The\n'
+ 'incomplete template begins near ' + ErrorLeader(tmpl_begin.infile, tmpl_begin.lineno) + '\n')
+ # 3) Finally, if there is nothing but whitespace between the
+ # last newline and the end, then strip that off too.
+ if isinstance(tmpl_contents[-1], TextBlock):
+ i = len(tmpl_contents[-1].text) - 1
+ if i >= 0:
+ while ((i >= 0) and
+ (tmpl_contents[-1].text[i] in lex.whitespace) and
+ (tmpl_contents[-1].text[i] not in lex.newline)):
+ i -= 1
+ if (tmpl_contents[-1].text[i] in lex.newline):
+ tmpl_contents[-1].text = tmpl_contents[-1].text[0:i + 1]
+
+ def LookupStaticRefs(self):
+ """ Whenever the user requests to instantiate a new copy of a class,
+ the name of that class is stored in self.instance_commands.
+ This name is stored as a string. After all of the classes have been
+ defined, then we go back through the tree and replace these names
+ with pointers to actual StaticObjs which correspond to those classes.
+ (This was deferred until all of the classes have been defined so
+ that users can refer to classes that they will define later on.)
+
+ """
+
+ # Now do the same for any children which
+ # are created during instantiation:
+ for command in self.instance_commands:
+ # Does this command create/instantiate a new copy of a class?
+ if isinstance(command, InstantiateCommand):
+ # If so, figure out which statobj is referred to by
+ # statobj_str.
+ assert(isinstance(command.class_ref.statobj_str, basestring))
+ command.class_ref.statobj = StrToNode(command.class_ref.statobj_str,
+ self,
+ command.class_ref.srcloc)
+
+ # Now recursively resolve StaticObj pointers for the "children"
+ # (in this case, "children" refers to classes whose definitions
+ # are nested within this one).
+ for child in self.children.values():
+ child.LookupStaticRefs()
+
+ def _ExtractSuffix(self, class_name_str, lex):
+ """
+
+ This ugly function helps process "new" commands such as:
+ mola = new ForceFieldA/../MoleculeA.move(30,0,0).rot(45,0,0,1)
+ This function expects a string,
+ (such as "ForceFieldA/../MoleculeA.move(30,0,0).rot(45,0,0,1)")
+ It extracts the class name "ForceFieldA/../MoleculeA"
+ and suffix "move(30,0,0).rot(45,0,0,1)"
+ """
+ # Dots in class names can appear for 2 reasons:
+ # 1) as part of a path like "../" describing the location
+ # where this class was defined relative to the caller.
+ # In that case it will be preceeded or followed by
+ # either another dot '.', or a slash '/'
+ # 2) as part of a "suffix" which appears after the name
+ # containing instructions which modify how to
+ # instantiate that class.
+ # Case 1 is handled elsewhere. Case 2 is handled here.
+ i_dot = 0
+ while i_dot < len(class_name_str):
+
+ i_dot = class_name_str.find('.', i_dot)
+
+ if i_dot == -1:
+ break
+ # Is the '.' character followed by another '.', as in ".."?
+ # If so, it's part of a path such as "../Parent/Mol', (if
+ # so, it's not what we're looking for, so keep searching)
+ if i_dot < len(class_name_str) - 1:
+ if class_name_str[i_dot + 1] == '.':
+ i_dot += 1
+ # otherwise, check to see if it is followed by a '/'?
+ elif class_name_str[i_dot + 1] != '/':
+ # if not, then it must be part of a function name
+ break
+
+ class_suffix = ''
+ class_name = class_name_str
+ class_suffix_srcloc = None
+
+ if ((i_dot != -1) and
+ (i_dot < len(class_name_str))):
+ class_suffix = class_name_str[i_dot:]
+ class_name = class_name_str[:i_dot]
+ if class_name_str[-1] != ')':
+ # If it does not already contains the parenthesis?
+ class_suffix += lex.GetParenExpr()
+ class_suffix_srcloc = lex.GetSrcLoc()
+ # sys.stderr.write(' splitting class name into class_name.suffix\n'
+ # ' class_name=\"'+class_name+'\"\n'
+ # ' suffix=\"'+class_suffix+'\"\n')
+
+ return class_name, class_suffix.lstrip('.'), class_suffix_srcloc
+
+ def _ProcessClassName(self, class_name_str, lex):
+ """
+
+ This function does some additional
+ processing (occasionaly inserting "..." before class_name).
+ """
+
+ class_name, class_suffix, class_suffix_srcloc = \
+ self._ExtractSuffix(class_name_str, lex)
+
+ # ---- ellipsis hack ----
+ # (Note-to-self 2012-4-15)
+ # Most users expect ttree.py to behave like a
+ # standard programming language: If the class they are
+ # instantiating was not defined in this specific
+ # location, they expect ttree.py to search for
+ # it outwards, first in the parent's environment,
+ # and then in the parent's parent's environment,
+ # and so on, until the object is found.
+ # For example, most users expect this to work:
+ # class A{
+ # <definition_of_a_goes_here...>
+ # }
+ # class B{
+ # a = new A
+ # }
+ # Notice in the example above we did not have to specify where "A"
+ # was defined, because it is defined in the parent's
+ # environment (ie. immediately outside B's environment).
+ #
+ # One can obtain the equivalent behavior in ttree.py
+ # using ellipsis syntax: "a = new .../A" symbol.
+ # The ellipsis ".../" tells ttree.py to search upwards
+ # for the object to the right of it ("A")
+ # In order to make ttree.py behave the way
+ # most users are expecting, we artificially insert a
+ # ".../" before the class name here. (Later on, the
+ # code that processes the ".../" symbol will take
+ # care of finding A.)
+
+ if (len(class_name) > 0) and (class_name[0] not in ('.', '/', '*', '?')):
+ class_name = '.../' + class_name
+
+ return class_name, class_suffix, class_suffix_srcloc
+
+ def _ParseRandom(self, lex):
+ bracket1 = lex.get_token()
+ bracket2 = lex.get_token()
+ if ((bracket1 != '(') and (bracket1 != '[')):
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Error near ' + lex.error_leader() + '\n'
+ 'Expected a \"([\" following ' + class_name + '.')
+ class_names = []
+ token = ''
+ prev_token = '['
+ while True:
+ token = lex.get_token()
+ if (token == '('):
+ lex.push_token(token)
+ token = lex.GetParenExpr()
+ if (prev_token not in (',', '[', '(')):
+ assert(len(class_names) > 0)
+ class_names[-1] = prev_token + token
+ prev_token = prev_token + token
+ else:
+ class_names.append(token)
+ prev_token = token
+ else:
+ if ((token == ']') or
+ (token == lex.eof) or
+ (token == '}') or
+ ((token in lex.wordterminators) and
+ (token != ','))):
+ if (prev_token in (',', '[', '(')):
+ class_names.append('')
+ break
+ if token != ',':
+ class_names.append(token)
+ elif (prev_token in (',', '[', '(')):
+ class_names.append('')
+ prev_token = token
+
+ token_comma = lex.get_token()
+ bracket1 = lex.get_token()
+ if ((token != ']') or
+ (token_comma != ',') or
+ (bracket1 != '[')):
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Error near ' + lex.error_leader() + '\n'
+ 'Expected a list of class names enclosed in [] brackets, followed by\n'
+ 'a comma, and then a list of probabilities also enclosed in [] brackets.\n'
+ '(A random-seed following another comma is optional.)')
+
+ weights = []
+ while True:
+ token = lex.get_token()
+ if ((token == ']') or
+ (token == lex.eof) or
+ (token == '}') or
+ ((token in lex.wordterminators) and
+ (token != ','))):
+ break
+ if token != ',':
+ try:
+ weight = float(token)
+ except ValueError:
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Error near ' + lex.error_leader() + '\n'
+ ' \"' + token + '\"\n'
+ 'Expected a list of numbers enclosed in [] brackets.')
+ if (weight < 0.0):
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Error near ' + lex.error_leader() + '\n'
+ ' Negative numbers are not allowed in \"random(\" argument list.\n')
+ weights.append(weight)
+
+ bracket2 = lex.get_token()
+ if ((token != ']') or
+ (bracket2 not in (')', ','))):
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Error near ' + lex.error_leader() + '\n'
+ 'Expected a \")\" or a \",\" following the list of numeric weights.')
+
+ if len(class_names) != len(weights):
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Error near ' + lex.error_leader() + '\n'
+ 'Unequal number of entries in object list and probability list.\n')
+
+ # Are all the entries in the "weights" array integers?
+ # If they are then, treat them as molecule counters,
+ # ot probabilities
+ num_by_type = []
+ for i in range(0, len(weights)):
+ # are the weights all positive integers?
+ n = int(weights[i])
+ if n == weights[i]:
+ num_by_type.append(n)
+ if len(num_by_type) < len(weights):
+ num_by_type = []
+
+ tot_weight = sum(weights)
+ if (tot_weight <= 0.0):
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Error near ' + lex.error_leader() + '\n'
+ ' The numbers in the \"random(\" argument list can not all be zero.\n')
+ for i in range(0, len(weights)):
+ weights[i] /= tot_weight
+
+ if bracket2 == ',':
+ try:
+ token = lex.get_token()
+ seed = int(token)
+ random.seed(seed)
+ except ValueError:
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Error near ' + lex.error_leader() + '\n'
+ ' \"' + token + '\"\n'
+ 'Expected an integer (a seed) following the list of weights.')
+ bracket2 = lex.get_token()
+ if (bracket2 != ')'):
+ raise InputError('Error(' + g_module_name + '.StaticObj.Parse()):\n'
+ ' Error near ' + lex.error_leader() + '\n'
+ ' \"' + token + '\"\n'
+ 'Expected a \")\".')
+ else:
+ random.seed()
+
+ return (class_names, weights, num_by_type)
+
+ def BuildCommandList(self, command_list):
+ """
+ Search the commands in the tree and make a linear list of commands
+ in the order they should be carried out.
+
+ """
+
+ if self.IsDeleted():
+ return
+
+ # Add a special note to the list of commands to indicate which object
+ # the commands refer to. (This might be useful one day.)
+ # Later we can loop through this command list and still be able to tell
+ # whether or not we are within the scope of a particular class or instance
+ # (by seeing if we are between a "ScopeBegin" and "ScopeEnd" pair).
+ command_list.append(ScopeBegin(self, self.srcloc_begin))
+
+ # We want to append commands to the command_list in the same order
+ # that these commands appear in the user's input files.
+
+ # Unfortunately the commands may be interspersed with the creation of
+ # new StaticObjs which have their own commands which we have to explore
+ # recursively.
+ # Fortunately each child (StaticObj) has a srcloc_begin member, so we
+ # can infer the correct order of all the commands belonging to the
+ # children and correctly insert them into the correct place in between
+ # the commands of the parent.
+
+ srcloc2command_or_child = {}
+
+ for command in self.commands:
+ srcloc2command_or_child[command.srcloc] = command
+
+ for child in self.children.values():
+ srcloc = child.srcloc_begin
+ # special case: Some children do not have a srcloc because
+ # they were generated automatically. These children should
+ # not have any commands either so we can ignore them.
+ if srcloc != None:
+ srcloc2command_or_child[srcloc] = child
+ else:
+ assert(len(child.commands) == 0)
+
+ for srcloc in sorted(srcloc2command_or_child.keys()):
+ entry = srcloc2command_or_child[srcloc]
+ if isinstance(entry, StaticObj):
+ child = entry
+ child_commands = []
+ child.BuildCommandList(child_commands)
+ command_list += child_commands
+ else:
+ command_list.append(entry)
+
+ command_list.append(ScopeEnd(self, self.srcloc_end))
+
+ def __str__(self):
+ out_str = self.name
+ if len(self.children) > 0:
+ out_str += '('
+ i = 0
+ for child in self.children.values():
+ if i + 1 < len(self.children):
+ out_str += str(child) + ', '
+ else:
+ out_str += str(child) + ')'
+ i += 1
+
+ return out_str
+
+
+def RandomSelect(entries, weights):
+ """ Return an entry from a list at random using
+ a (normalized) list of probabilities. """
+ assert(len(entries) == len(weights))
+ x = random.random()
+ i = 0
+ tot_probability = 0.0
+ while i < len(weights) - 1:
+ tot_probability += weights[i]
+ if x <= tot_probability:
+ break
+ i += 1
+ return entries[i]
+
+
+class InstanceObjBasic(object):
+ """ A simplified version of InstanceObj.
+ See the documentation/comments for InstanceObj for more details.
+ (Leaf nodes (variables) are typically stored as InstanceObjBasic objects
+ More general, non-leaf nodes are stored using InstanceObj objects.)
+
+ """
+
+ __slots__ = ["name", "parent"]
+
+ def __init__(self,
+ name='',
+ parent=None):
+ self.parent = parent # the environment/object which created this object
+ # Example:
+ # Suppose this "molecule" is an amino acid monomer
+ # belonging to a protein. The "parent" refers to
+ # the InstanceObj for the protein. ".parent" is
+ # useful for traversing the global instance tree.
+ # (use InstanceObj.statobj.parent for
+ # traversing the global static tree)
+
+ self.name = name # A string uniquely identifying this object in
+ # in it's "parent" environment.
+ # (It is always the same for every instance
+ # of the parent object. It would save memory to
+ # get rid of this member. Andrew 2012/9/13)
+
+ #self.deleted = False
+
+ # vb##self.var_bindings=None # List of variables assigned to this object
+ # vb## # or None (None takes up less space than an
+ # vb## # empty list.)
+
+ # vb##def AddVarBinding(self, var_binding):
+ # vb## if self.var_bindings is None:
+ # vb## self.var_bindings = [var_binding]
+ # vb## else:
+ # vb## self.var_bindings.append(var_binding)
+
+ # def DeleteSelf(self):
+ # self.deleted = True
+
+ def DeleteSelf(self):
+ # self.Dealloc()
+ self.parent = self # This condition (normally never true)
+ # flags the node as "deleted". (Nodes are never
+ # actually deleted, just flagged.)
+ # I used to have a separate boolean member variable
+ # which was set True when deleted, but I started
+ # eliminated unnecessary data members to save space.
+
+ # def IsDeleted(self):
+ # return self.deleted
+
+ def IsDeleted(self):
+ # Return true if self.deleted == True or self.parent == self
+ # for this node (or for any ancestor node).
+ node = self
+ while node.parent != None:
+ if hasattr(node, 'deleted'):
+ if node.deleted:
+ return True
+ elif node.parent == node:
+ return True
+ node = node.parent
+ return False
+
+ # def Dealloc(self):
+ # pass
+ # vb##if self.var_bindings is None:
+ # vb## return
+ # vb##N = len(self.var_bindings)-1
+ # vb##for i in range(0,len(self.var_bindings)):
+ # vb## vb = self.var_bindings[N-i]
+ # vb## cat = vb.category
+ # vb## assert(self in cat.bindings)
+ # vb## del cat.bindings[self]
+ # vb## del self.var_bindings[N-i]
+ # vb##self.var_bindings = None
+
+
+class InstanceObj(InstanceObjBasic):
+ """ InstanceObjs are used to store nodes in the global
+ "instance tree", the tree of all classes (molecules) which have
+ been instantiated. Recall that whenever a class is instantiated,
+ it's members will be instantiated as well. Since these
+ members can also be classes, this relationship is hierarchical,
+ and can be represented as a tree.
+ "InstanceObjs" are the data type used to store the nodes in that tree."""
+
+ __slots__ = ["statobj",
+ "children",
+ "categories",
+ "commands",
+ "commands_push",
+ "commands_pop",
+ "srcloc_begin",
+ "srcloc_end",
+ "deleted"]
+ #"LookupMultiDescrStr",
+ # "Dealloc",
+ # "DeleteSelf",
+ # "IsDeleted",
+ # "UndeleteSelf",
+ # "DeleteProgeny",
+ #"BuildInstanceTree",
+ #"ProcessCommand",
+ #"ProcessContextNodes",
+ #"BuildCommandList"]
+
+ def __init__(self,
+ name='',
+ parent=None):
+
+ InstanceObjBasic.__init__(self, name, parent)
+
+ self.statobj = None # The statobj node refered to by this instance
+ self.children = {} # A list of statobjs corresponding to
+ # constituent parts (members) of the
+ # current class instance.
+ # The typical example is to consider the
+ # multiple amino acids (child-molecules)
+ # which must be created in order to create a
+ # new protein (instance) to which they belong
+ # (which would be "self" in this example)
+
+ self.categories = {} # This member stores the same data as the
+ # Instance variables (ie. variables
+ # with a '$' prefix) are stored in a
+ # category belonging to node.categories
+ # where "node" is of type InstanceObj.
+ # (There is a long explanation of
+ # "categories" in the comments
+ # of class StaticObj.)
+
+ self.commands = [] # An ordered list of commands to carry out
+ # during instantiation
+
+ # Stackable commands to carry out (first, before children)
+ self.commands_push = []
+ # Stackable commands to carry out (last, after children)
+ self.commands_pop = []
+
+ self.srcloc_begin = None # Keep track of location in user files
+ self.srcloc_end = None # (useful for error message reporting)
+ self.deleted = False
+
+ def LookupMultiDescrStr(self,
+ multi_descr_str,
+ srcloc,
+ null_list_warning=False,
+ null_list_error=False):
+ """
+ Post-Instance (PI) modifiers/commands are commands which modify
+ an instance of a class after it has already been instantiated.
+
+ Simple Example:
+
+ class A {
+ ...
+ }
+ class B {
+ a = new A.command_1()
+ a.command_2()
+ }
+
+ In the example above "command_2()" is a ModCommand, and
+ "a" is the multi_descr_str (string describing the correspond InstanceObj).
+ The "command_2()" command will be retroactively pushed onto the
+ list of commands to execute once "a" is instantiated.
+ (This is somewhat counter-intuitive.)
+
+ When array brackets [] and wildcards are used, a single ModCommand
+ can modify many different instances, for example suppose:
+
+ a = new A [2][5][3]
+
+ then "a[1][2][*].command_3()" is equivalent to
+
+ a[0][2][0].command_3()
+ a[0][2][1].command_3()
+ a[0][2][2].command_3()
+
+ In this example "a[1][2][*]" is the multi_descr_str
+
+ "a[*][3][*].command_4()" is equivalent to
+
+ a[0][3][0].command_4()
+ a[0][3][1].command_4()
+ a[1][3][0].command_4()
+ a[1][3][1].command_4()
+
+ In this function, we interpret strings like "a" and "a[*][3][*]"
+ in the examples above, and figure out which InstanceObjs they refer to,
+ and push the corresponding command into that InstanceObjs instance
+ command stack retroactively.
+
+ In addition to [*], you can use [a-b] and [a:b] syntax. For example:
+ "a[0][1-2][0-1].command_3()" and
+ "a[0][1:3][0:2].command_3()" are both equivalent to:
+
+ a[0][1][0].command_3()
+ a[0][1][1].command_3()
+ a[0][2][0].command_3()
+ a[0][2][1].command_3()
+
+ """
+
+ pattern_str = multi_descr_str
+
+ # Suppose pattern_str = 'a[1][*][3]/b[**][2]'
+ # We want to split this string into a list of string fragments
+ # which omits the '*' characters: [ 'a[', '][3]/b', '][2]' ]
+ # However, we only want to do this when * is enclosed in [].
+ pattern_fragments = []
+ ranges_ab = []
+ i_close_prev = 0
+ i_close = 0
+ i_open = 0
+ while True:
+ i_open = pattern_str.find('[', i_open + 1)
+ if i_open == -1:
+ pattern_fragments.append(pattern_str[i_close_prev:])
+ break
+ else:
+ i_close = pattern_str.find(']', i_open + 1)
+ if i_close == -1:
+ pattern_fragments.append(pattern_str[i_close_prev:])
+ break
+
+ # If there is a '*' or a ':' character between
+ # the [] brackets, then split the string at '['
+ # (at i_open) and resume reading again at ']'
+ # (at i_close) (and create a new entry in the
+ # pattern_fragments[] and ranges_ab[] lists)
+ wildcard_here = True
+ range_ab = [0, -1]
+ for j in range(i_open + 1, i_close):
+ if ((pattern_str[j] == ':') or
+ ((pattern_str[j] == '-') and (j > i_open + 1)) or
+ (pattern_str[j] == '*')):
+ i_wildcard = len(pattern_fragments)
+ range_a_str = pattern_str[i_open + 1: j]
+ range_b_str = pattern_str[j + 1: i_close]
+ if (range_a_str != ''):
+ if str.isdigit(range_a_str):
+ range_ab[0] = int(range_a_str)
+ else:
+ raise InputError('Error near ' +
+ ErrorLeader(srcloc.infile,
+ srcloc.lineno) + '\n'
+ ' Expected colon-separated integers.\n')
+ if (range_b_str != ''):
+ if str.isdigit(range_b_str):
+ range_ab[1] = int(range_b_str)
+ # special case: When [a-b] type syntax is
+ # used, it selects from a to b inclusive.
+ # (IE. b is not a strict upper bound.)
+ if pattern_str[j] == '-':
+ range_ab[1] += 1
+ else:
+ raise InputError('Error near ' +
+ ErrorLeader(srcloc.infile,
+ srcloc.lineno) + '\n'
+ ' Expected colon-separated integers.\n')
+ break
+ elif j == i_close - 1:
+ wildcard_here = False
+
+ if wildcard_here:
+ pattern_fragments.append(
+ pattern_str[i_close_prev:i_open + 1])
+ ranges_ab.append(range_ab)
+ i_close_prev = i_close
+
+ assert(len(pattern_fragments) - 1 == len(ranges_ab))
+ # Now figure out which InstanceObj or InstanceObjs correspond to
+ # the name or set of names suggested by the multi_descr_str,
+ # (after wildcard characters have been substituted with integers).
+
+ instobj_list = []
+ if len(pattern_fragments) == 1:
+ # commenting out:
+ # instobj_list.append(StrToNode(pattern_str, self, srcloc))
+ #
+ # Line above will print an error message if the node is not found.
+ # However sometimes we don't want this. Use this code instead:
+ path_tokens = pattern_str.split('/')
+ i_last_ptkn, instobj = FollowPath(path_tokens,
+ self,
+ srcloc)
+
+ # If found add to instobj_list
+
+ if ((i_last_ptkn == len(path_tokens))
+ and (not instobj.IsDeleted())):
+ instobj_list.append(instobj)
+
+ else:
+ # num_counters equals the number of bracket-enclosed wildcards
+ num_counters = len(pattern_fragments) - 1
+ multi_counters = [ranges_ab[i][0] for i in range(0, num_counters)]
+ all_matches_found = False
+ d_carry = 0
+ while d_carry < num_counters:
+
+ # Find the next InstanceObj in the set of InstanceObjs which
+ # satisfy the wild-card pattern in pattern_fragments.
+
+ while d_carry < num_counters:
+
+ candidate_descr_str = ''.join([pattern_fragments[i] +
+ str(multi_counters[i])
+ for i in range(0, num_counters)]
+ +
+ [pattern_fragments[num_counters]])
+
+ # sys.stderr.write('DEBUG: /'+self.name+
+ # '.LookupMultiDescrStr()\n'
+ # ' looking up \"'+
+ # candidate_descr_str+'\"\n')
+
+ path_tokens = candidate_descr_str.split('/')
+ i_last_ptkn, instobj = FollowPath(path_tokens,
+ self,
+ srcloc)
+
+ # If there is an InstanceObj with that name,
+ # then add it to the list of InstanceObjs to
+ # which we will apply this modifier function,
+ # and increment the counters
+
+ # If found (and if the counter is within the range)...
+ if ((i_last_ptkn == len(path_tokens)) and
+ ((ranges_ab[d_carry][1] == -1) or
+ (multi_counters[d_carry] < ranges_ab[d_carry][1]))):
+ # (make sure it has not yet been "deleted")
+ if (not instobj.IsDeleted()):
+ instobj_list.append(instobj)
+ d_carry = 0
+ multi_counters[0] += 1
+ #sys.stderr.write('DEBUG: InstanceObj found.\n')
+ break
+
+ # If there is no InstanceObj with that name,
+ # then perhaps it is because we have incremented
+ # the counter too high. If there are multiple
+ # counters, increment the next most significant
+ # counter, and reset this counter to 0.
+ # Keep looking
+ # (We only do this if the user neglected to explicitly
+ # specify an upper bound --> ranges_ab[d_carry[1]==-1)
+ elif ((ranges_ab[d_carry][1] == -1) or
+ (multi_counters[d_carry] >= ranges_ab[d_carry][1])):
+ #sys.stderr.write('DEBUG: InstanceObj not found.\n')
+ multi_counters[d_carry] = ranges_ab[d_carry][0]
+ d_carry += 1
+ if d_carry >= num_counters:
+ break
+ multi_counters[d_carry] += 1
+ else:
+ # Object was not found but we keep going. Skip
+ # to the next entry in the multi-dimensional list.
+ d_carry = 0
+ multi_counters[0] += 1
+ break
+
+ if (null_list_warning and (len(instobj_list) == 0)):
+ sys.stderr.write('WARNING(' + g_module_name + '.LookupMultiDescrStr()):\n'
+ ' Potential problem near ' +
+ ErrorLeader(srcloc.infile,
+ srcloc.lineno) + '\n'
+ ' No objects (yet) matching name \"' + pattern_str + '\".\n')
+ if (null_list_error and
+ (len(instobj_list) == 0)):
+ if len(pattern_fragments) == 1:
+ raise InputError('Error(' + g_module_name + '.LookupMultiDescrStr()):\n'
+ ' Syntax error near ' +
+ ErrorLeader(srcloc.infile,
+ srcloc.lineno) + '\n'
+ ' No objects matching name \"' + pattern_str + '\".')
+ else:
+ sys.stderr.write('WARNING(' + g_module_name + '.LookupMultiDescrStr()):\n'
+ ' Potential problem near ' +
+ ErrorLeader(srcloc.infile,
+ srcloc.lineno) + '\n'
+ ' No objects (yet) matching name \"' + pattern_str + '\".\n')
+
+ return instobj_list
+
+ def __str__(self):
+ out_str = self.name
+ if len(self.children) > 0:
+ out_str += '('
+ i = 0
+ for child in self.children.values():
+ if i + 1 < len(self.children):
+ out_str += str(child) + ', '
+ else:
+ out_str += str(child) + ')'
+ i += 1
+
+ return out_str
+
+ def DeleteSelf(self):
+ self.deleted = True
+
+ # COMMENT1: Don't get rid of pointers to yourself. Knowing which
+ # objects you instantiated and destroyed might be useful
+ # in case you want to apply multiple delete [*] commands
+ # COMMENT2: Don't delete all the child nodes, and commands. These are
+ # needed later (so that text-templates containing references
+ # to these nodes don't cause moltemplate to crash.)
+
+ # def UndeleteSelf(self):
+ # self.deleted = False
+ #
+ #
+ # def DeleteProgeny(self):
+ # for child in self.children.values():
+ # if hasattr(child, 'DeleteProgeny'):
+ # child.DeleteProgeny()
+ # else:
+ # child.DeleteSelf()
+ # self.DeleteSelf();
+
+ def BuildInstanceTree(self,
+ statobj,
+ class_parents_in_use):
+ """
+ This takes care of the details of copying relevant data from an StaticObj
+ into a newly-created InstanceObj. It allocates space for and performs
+ a deep-copy of any instance variables (and new instance categories), but
+ it performs a shallow copy of everything else (template text, etc..).
+ This is done recursively for every child that this class instantiates.
+
+ """
+
+ if self.IsDeleted():
+ return
+
+ # sys.stderr.write(' DEBUG: '+self.name+
+ # '.BuildInstanceTree('+statobj.name+')\n')
+
+ #instance_refs = {}
+ # Keep track of which line in the file (and which file) we were
+ # in when we began parsing the class which defines this instance,
+ # as well as when we stopped parsing.
+ # (Don't do this if you are recusively searching class_parents because
+ # in that case you would be overwritting .statobj with with the
+ # parent.)
+ if len(class_parents_in_use) == 0:
+ self.statobj = statobj
+ self.srcloc_begin = statobj.srcloc_begin
+ self.srcloc_end = statobj.srcloc_end
+
+ # Make copies of the class_parents' StaticObj data.
+
+ # First deal with the "self.instance_commands_push"
+ # These commands should be carried out before any of the commands
+ # in "self.instance_commands".
+ for command in statobj.instance_commands_push:
+ # self.commands.append(command)
+ self.ProcessCommand(command)
+
+ # Then deal with class parents
+ for class_parent in statobj.class_parents:
+ # Avoid the "Diamond of Death" multiple inheritance problem
+ if class_parent not in class_parents_in_use:
+ # sys.stderr.write(' DEBUG: '+self.name+'.class_parent = '+
+ # class_parent.name+'\n')
+ self.BuildInstanceTree(class_parent,
+ class_parents_in_use)
+ class_parents_in_use.add(class_parent)
+
+ # Now, deal with the data in THIS object and its children
+ assert((self.commands != None) and (self.categories != None))
+
+ # "instance_categories" contains a list of new "categories" (ie new
+ # types of variables) to create whenever this class is instantiated.
+ # (This is used whenever we create a local counter variable: Suppose we
+ # want to count the residues within a particular protein, when there
+ # are multiple copies of the same protein in the simulation.)
+ for cat_name, cat in statobj.instance_categories.items():
+ assert(len(cat.bindings) == 0)
+ self.categories[cat_name] = Category(cat_name)
+ self.categories[cat_name].counter = cat.counter.__copy__()
+ # Note: Later on we will generate leaf nodes corresponding to
+ # variables, and put references to them in this category.
+
+ # Deal with the "instance_commands",
+ for command in statobj.instance_commands:
+ # self.commands.append(command)
+ self.ProcessCommand(command)
+
+ # Finally deal with the "self.instance_commands_pop"
+ # These commands should be carried out after all of the commands
+ # in "self.instance_commands".
+ for command in statobj.instance_commands_pop:
+ # self.commands.append(command)
+ self.ProcessCommand(command)
+
+ def ProcessCommand(self, command):
+
+ if isinstance(command, ModCommand):
+
+ sys.stderr.write(' processing command \"' + str(command) + '\"\n')
+ mod_command = command
+ instobj_list = self.LookupMultiDescrStr(mod_command.multi_descr_str,
+ mod_command.command.srcloc)
+
+ if isinstance(mod_command.command, DeleteCommand):
+
+ # Delete any objects we have created so far
+ # whose name matches mod_command.multi_descr_str:
+ for instobj in instobj_list:
+ instobj.DeleteSelf()
+ # instobj.DeleteProgeny()
+
+ elif len(instobj_list) == 0:
+
+ raise InputError('Error(' + g_module_name + '.ProcessCommand()):\n'
+ ' Syntax error at or before ' +
+ ErrorLeader(mod_command.command.srcloc.infile,
+ mod_command.command.srcloc.lineno) + '\n'
+ ' No objects matching name \"' +
+ mod_command.multi_descr_str + '\"\n'
+ ' (If the object is an array, include brackets. Eg. \"molecules[*][*][*]\")')
+
+ else:
+ for instobj in instobj_list:
+ assert(not isinstance(mod_command.command, DeleteCommand))
+ command = mod_command.command.__copy__()
+ self.ProcessContextNodes(command)
+ if isinstance(command, PushCommand):
+ instobj.commands_push.append(command)
+ elif isinstance(mod_command.command, PopCommand):
+ instobj.commands_pop.insert(0, command)
+ else:
+ # I don't know if any other types commands will ever
+ # occur but I handle them below, just in case...
+ assert(not isinstance(command, InstantiateCommand))
+ instobj.commands.append(command.__copy__())
+
+ return # ends "if isinstance(command, ModCommand):"
+
+ # Otherwise:
+ command = command.__copy__()
+ self.ProcessContextNodes(command)
+
+ if isinstance(command, InstantiateCommand):
+ sys.stderr.write(' processing command \"' + str(command) + '\"\n')
+ # <- useful later to keep track of the
+ self.commands.append(command)
+ # order that children were created
+
+ # check to make sure no child of that name was previously defined
+ prev_child = self.children.get(command.name)
+ if ((prev_child != None) and (not prev_child.IsDeleted())):
+ raise InputError('Error near ' +
+ ErrorLeader(command.srcloc.infile,
+ command.srcloc.lineno) + '\n'
+ ' Object \"' + command.name + '\" is already defined.\n')
+
+ child = InstanceObj(command.name, self)
+ command.instobj = child
+
+ if command.class_ref.statobj_str == '':
+ child.DeleteSelf()
+
+ # Why? This if-then check handles the case when the user
+ # wants to create an array of molecules with random vacancies.
+ # When this happens, some of the instance commands will
+ # contain instructions to create a copy of a molecule with
+ # an empty molecule-type-string (class_ref.statobj_str).
+ # Counter-intuitively, ...
+ # ...we DO want to create something here so that the user can
+ # safely loop over the array without generating an error.
+ # (Such as to delete elements, or move the remaining
+ # members in the array.) We just want to mark it as
+ # 'deleted'. (That's what "DeleteSelf()" does.)
+ else:
+
+ # This is the heart of "BuildInstanceTree()"
+ # (which implements object composition)
+ new_class_parents_in_use = set([])
+ child.BuildInstanceTree(command.class_ref.statobj,
+ new_class_parents_in_use)
+
+ self.children[child.name] = child
+
+ elif isinstance(command, WriteFileCommand):
+ #sys.stderr.write(' processing command \"'+str(command)+'\"\n')
+
+ self.commands.append(command)
+
+ for var_ref in command.tmpl_list:
+ # Process the VarRef entries in the tmpl_list,
+ # (and check they have the correct prefix: either '$' or '@')
+ # Ignore other entries (for example, ignore TextBlocks).
+
+ if (isinstance(var_ref, VarRef) and (var_ref.prefix[0] == '$')):
+
+ if (var_ref.descr_str[:4] == 'mol:'):
+ pass
+
+ var_ref.nptr.cat_name, var_ref.nptr.cat_node, var_ref.nptr.leaf_node = \
+ DescrToCatLeafNodes(var_ref.descr_str,
+ self,
+ var_ref.srcloc,
+ True)
+
+ categories = var_ref.nptr.cat_node.categories
+
+ # "categories" is a dictionary storing "Category" objects
+ # indexed by category names.
+
+ # Note to self: Always use the ".categories" member,
+ # (never the ".instance_categories" member.
+ # ".instance_categories" are only used temporarilly before
+ # we instantiate, ie. before we build the tree of
+ # InstanceObjs.)
+
+ category = categories[var_ref.nptr.cat_name]
+ # "category" is a Category object containing a
+ # dictionary of VarBinding objects, and an internal
+ # counter.
+
+ var_bindings = category.bindings
+ # "var_bindings" is a dictionary storing "VarBinding"
+ # objects, indexed by leaf nodes. Each leaf node
+ # corresponds to a unique variable in this category.
+
+ # --- Now update "var_bindings" ---
+
+ # Search for the "VarBinding" object that
+ # corresponds to this leaf node.
+ # If not found, then create one.
+
+ if var_ref.nptr.leaf_node in var_bindings:
+ var_binding = var_bindings[var_ref.nptr.leaf_node]
+ # "var_binding" stores the information for a variable,
+ # including pointers to all of the places the variable
+ # is rerefenced, the variable's (full) name, and value.
+ #
+ # Keep track of all the places that varible is
+ # referenced by updating the ".refs" member
+ var_binding.refs.append(var_ref)
+ else:
+ # Not found, so we create a new binding.
+ var_binding = VarBinding()
+
+ # var_binding.refs contains a list of all the places
+ # this variable is referenced. Start with this var_ref:
+ var_binding.refs = [var_ref]
+
+ # keep track of the cat_node, cat_name, leaf_node:
+ var_binding.nptr = var_ref.nptr
+
+ # "var_binding.full_name" stores a unique string like
+ # '@/atom:Water/H' or '$/atom:water[1423]/H2',
+ # which contains the full path for the category and leaf
+ # nodes, and uniquely identifies this variable globally.
+ # Thus these strings correspond uniquely (ie. in a
+ # one-to-one fashion) with the nodes they represent.
+
+ var_binding.full_name = var_ref.prefix[0] + \
+ CanonicalDescrStr(var_ref.nptr.cat_name,
+ var_ref.nptr.cat_node,
+ var_ref.nptr.leaf_node,
+ var_ref.srcloc)
+ # (These names can always be generated later when needed
+ # but it doesn't hurt to keep track of it here too.)
+
+ # Now add this binding to the other
+ # bindings in this category:
+ var_bindings[var_ref.nptr.leaf_node] = var_binding
+
+ # vb##
+ # var_ref.nptr.leaf_node.AddVarBinding(var_binding)
+
+ var_binding.category = category
+
+ # It's convenient to add a pointer in the opposite direction
+ # so that later if we find the var_ref, we can find its
+ # binding and visa-versa. (Ie. two-way pointers)
+ var_ref.binding = var_binding
+
+ assert(var_ref.nptr.leaf_node in var_bindings)
+
+ else:
+ # Otherwise, we don't know what this command is yet.
+ # Append it to the list of commands and process it/ignore it later.
+ self.commands.append(command)
+
+ def ProcessContextNodes(self, command):
+ if hasattr(command, 'context_node'):
+ # Lookup any nodes pointers to instobjs
+ if command.context_node != None:
+ if type(command.context_node) is str:
+ command.context_node = StrToNode(command.context_node,
+ self,
+ command.srcloc)
+ # (Otherwise, just leave it as None)
+
+ def BuildCommandList(self, command_list):
+ """
+ Search the commands in the tree and make a linear list of commands
+ in the order they should be carried out.
+
+ """
+
+ if self.IsDeleted():
+ return
+
+ if (len(self.commands) == 0):
+ assert(len(self.children) == 0)
+ # To save memory don't generate any commands
+ # for trivial (leaf) nodes
+ return
+
+ # Add a special note to the list of commands to indicate which object
+ # the commands refer to. (This might be useful one day.)
+ # Later we can loop through this command list and still be able to tell
+ # whether or not we are within the scope of a particular class or instance
+ # (by seeing if we are between a "ScopeBegin" and "ScopeEnd" pair).
+
+ command_list.append(ScopeBegin(self, self.srcloc_begin))
+ # Note:
+ # The previous version looped over all commands in this node, and then
+ # recursively invoke BuildCommandList() on all the children of this node
+ # We don't do that anymore because it does not take into account the
+ # order that various child objects were created/instantiated
+ # which potentially could occur in-between other commands. Instead,
+ # now we loop through the command_list and recursively visit child
+ # nodes only when we encounter them in the command list.
+
+ for command in self.commands_push:
+ assert(isinstance(command, InstantiateCommand) == False)
+ command_list.append(command)
+
+ for command in self.commands:
+ if isinstance(command, InstantiateCommand):
+ #child = self.children[command.name]
+ # the above line does not work because you may have
+ # deleted that child after you created and then
+ # replaced it by somebody else. Store the node.
+ child = command.instobj
+ child.BuildCommandList(command_list)
+ else:
+ command_list.append(command)
+
+ for command in self.commands_pop:
+ assert(isinstance(command, InstantiateCommand) == False)
+ command_list.append(command)
+
+ command_list.append(ScopeEnd(self, self.srcloc_begin))
+
+
+def AssignTemplateVarPtrs(tmpl_list, context_node):
+ """
+ Now scan through all the variables within the templates defined
+ for this context_node (either static or dynamic depending on var_filter).
+ Each reference to a variable in the template has a descriptor which
+ indicates the variable's type, and in which molecule it is defined (ie
+ where it is located in the molecule instance tree or type definition tree).
+ (See comments for "class VarNPtr(object):" above for details.)
+
+ Eventually we want to assign a value to each variable.
+ This same variable (node) may appear multiple times in diffent templates.
+ So we also create a place to store this variable's value, and also assign
+ (two-way) pointers from the VarRef in the template, to this storage area so
+ that later on when we write out the contents of the template to a file, we
+ can substitute this variable with it's value, in all the places it appears.
+
+ """
+
+ for var_ref in tmpl_list:
+ # Process the VarRef entries in the tmpl_list,
+ # (and check they have the correct prefix: either '$' or '@')
+ # Ignore other entries (for example, ignore TextBlocks).
+
+ if (isinstance(var_ref, VarRef) and
+ ((isinstance(context_node, StaticObj) and
+ (var_ref.prefix[0] == '@'))
+ or
+ (isinstance(context_node, InstanceObjBasic) and
+ (var_ref.prefix[0] == '$')))):
+
+ var_ref.nptr.cat_name, var_ref.nptr.cat_node, var_ref.nptr.leaf_node = \
+ DescrToCatLeafNodes(var_ref.descr_str,
+ context_node,
+ var_ref.srcloc,
+ True)
+
+ categories = var_ref.nptr.cat_node.categories
+
+ # "categories" is a dictionary storing "Category" objects
+ # indexed by category names.
+
+ # Note to self: Always use the ".categories" member,
+ # (never the ".instance_categories" member.
+ # ".instance_categories" are only used temporarilly before
+ # we instantiate, ie. before we build the tree of InstanceObjs.)
+
+ category = categories[var_ref.nptr.cat_name]
+ # "category" is a Category object containing a
+ # dictionary of VarBinding objects, and an internal counter.
+
+ var_bindings = category.bindings
+ # "var_bindings" is a dictionary storing "VarBinding"
+ # objects, indexed by leaf nodes. Each leaf node
+ # corresponds to a unique variable in this category.
+
+ # --- Now update "var_bindings" ---
+
+ # Search for the "VarBinding" object that
+ # corresponds to this leaf node.
+ # If not found, then create one.
+
+ if var_ref.nptr.leaf_node in var_bindings:
+ var_binding = var_bindings[var_ref.nptr.leaf_node]
+ # "var_binding" stores the information for a variable,
+ # including pointers to all of the places the variable
+ # is rerefenced, the variable's (full) name, and value.
+ #
+ # Keep track of all the places that varible is
+ # referenced by updating the ".refs" member
+ var_binding.refs.append(var_ref)
+ else:
+ # Not found, so we create a new binding.
+ var_binding = VarBinding()
+
+ # var_binding.refs contains a list of all the places
+ # this variable is referenced. Start with this var_ref:
+ var_binding.refs = [var_ref]
+
+ # keep track of the cat_node, cat_name, leaf_node:
+ var_binding.nptr = var_ref.nptr
+
+ # "var_binding.full_name" stores a unique string like
+ # '@/atom:Water/H' or '$/atom:water[1423]/H2',
+ # which contains the full path for the category and leaf
+ # nodes, and uniquely identifies this variable globally.
+ # Thus these strings correspond uniquely (ie. in a
+ # one-to-one fashion) with the nodes they represent.
+
+ var_binding.full_name = var_ref.prefix[0] + \
+ CanonicalDescrStr(var_ref.nptr.cat_name,
+ var_ref.nptr.cat_node,
+ var_ref.nptr.leaf_node,
+ var_ref.srcloc)
+ # (These names can always be generated later when needed
+ # but it doesn't hurt to keep track of it here too.)
+
+ # Now add this binding to the other
+ # bindings in this category:
+ var_bindings[var_ref.nptr.leaf_node] = var_binding
+
+ # vb## var_ref.nptr.leaf_node.AddVarBinding(var_binding)
+
+ var_binding.category = category
+
+ # It's convenient to add a pointer in the opposite direction
+ # so that later if we find the var_ref, we can find its
+ # binding and visa-versa. (Ie. two-way pointers)
+ var_ref.binding = var_binding
+
+ assert(var_ref.nptr.leaf_node in var_bindings)
+
+
+def AssignStaticVarPtrs(context_node, search_instance_commands=False):
+
+ #sys.stdout.write('AssignVarPtrs() invoked on node: \"'+NodeToStr(context_node)+'\"\n')
+
+ if search_instance_commands:
+ assert(isinstance(context_node, StaticObj))
+ commands = context_node.instance_commands
+ else:
+ # Note: Leaf nodes contain no commands, so skip them
+ if (not hasattr(context_node, 'commands')):
+ return
+ # Otherwise process their commands
+ commands = context_node.commands
+
+ for command in commands:
+
+ if isinstance(command, WriteFileCommand):
+ AssignTemplateVarPtrs(command.tmpl_list, context_node)
+
+ # Recursively invoke AssignVarPtrs() on all (non-leaf) child nodes:
+ for child in context_node.children.values():
+ AssignStaticVarPtrs(child, search_instance_commands)
+
+
+def AssignVarOrderByCommand(command_list, prefix_filter):
+ """
+ For each category in context_node, and each variable in that category,
+ set the order of each variable according to the position of the
+ write(), write_once(), or other command that created it.
+ Only variables with the correct prefix ('$' or '@') are affected.
+
+ """
+ count = 0
+ for command in command_list:
+ if isinstance(command, WriteFileCommand):
+ tmpl_list = command.tmpl_list
+ for var_ref in tmpl_list:
+ if isinstance(var_ref, VarRef):
+ if var_ref.prefix in prefix_filter:
+ count += 1
+ if ((var_ref.binding.order is None) or
+ (var_ref.binding.order > count)):
+ var_ref.binding.order = count
+
+
+# def AssignVarOrderByFile(command_list, prefix_filter):
+# """
+# For each category in context_node, and each variable in that category,
+# set the order of each variable equal to the position of that variable
+# in the user's input file.
+#
+# """
+#
+# for command in command_list:
+# if isinstance(command, WriteFileCommand):
+# tmpl_list = command.tmpl_list
+# for var_ref in tmpl_list:
+# if isinstance(var_ref, VarRef):
+# if var_ref.prefix in prefix_filter:
+# if ((var_ref.binding.order is None) or
+# (var_ref.binding.order > var_ref.srcloc.order)):
+# var_ref.binding.order = var_ref.srcloc.order
+
+
+def AssignVarOrderByFile(context_node, prefix_filter, search_instance_commands=False):
+ """
+ For each category in context_node, and each variable in that category,
+ set the order of each variable equal to the position of that variable
+ in the user's input file.
+
+ """
+
+ commands = context_node.commands
+ if search_instance_commands:
+ assert(isinstance(context_node, StaticObj))
+ commands.append(context_node.instance_commands_push +
+ context_node.instance_commands +
+ context_node.instance_commands_pop)
+
+ for command in commands:
+ if isinstance(command, WriteFileCommand):
+ tmpl_list = command.tmpl_list
+ for var_ref in tmpl_list:
+ if (isinstance(var_ref, VarRef) and
+ (var_ref.prefix in prefix_filter)):
+ if ((var_ref.binding.order == -1) or
+ (var_ref.binding.order > var_ref.srcloc.order)):
+ var_ref.binding.order = var_ref.srcloc.order
+
+ for child in context_node.children.values():
+ AssignVarOrderByFile(child, prefix_filter, search_instance_commands)
+
+
+def AutoAssignVals(cat_node,
+ sort_variables,
+ reserved_values=None,
+ ignore_prior_values=False):
+ """
+ This function automatically assigns values to all the variables
+ belonging to all the categories in cat_node.categories.
+ Each category has its own internal counter. For every variable in that
+ category, query the counter (which usually returns an integer),
+ and assign the variable to it. Exceptions can be made if the integer
+ is reserved by some other variable, or if it has been already assigned.
+ Afterwards, we recursively search the child nodes recursively
+ (in a depth-first-search order).
+
+ sort_variables: Sorting the variables according to their "binding.order"
+ counters is optional.
+
+ """
+
+ if (not hasattr(cat_node, 'categories')):
+ # (sometimes leaf nodes lack a 'categories' member, to save memory)
+ return
+
+ # Search the tree in a depth-first-search manner.
+ # For each node, examine the "categories" associated with that node
+ # (ie the list of variables whose counters lie within that node's scope).
+ for cat_name, cat in cat_node.categories.items():
+
+ # Loop through all the variables in this category.
+
+ if sort_variables:
+
+ # Sort the list of variables according to var_binding.order
+
+ # First, print a progress indicator (this could be slow)
+ prefix = '$'
+ # Is this parent_node an StaticObj? (..or inherit from StaticObj?)
+ if isinstance(cat_node, StaticObj):
+ prefix = '@'
+ sys.stderr.write(' sorting variables in category: ' + prefix +
+ CanonicalCatName(cat_name, cat_node) + ':\n')
+
+ var_bind_iter = iter(sorted(cat.bindings.items(),
+ key=operator.itemgetter(1)))
+ else:
+ # Just iterate through them in the order that they were added
+ # to the category list. (This happens to be the same order as
+ # we found it earlier when searching the tree.)
+ var_bind_iter = iter(cat.bindings.items())
+
+ for leaf_node, var_binding in var_bind_iter:
+
+ if ((var_binding.value is None) or ignore_prior_values):
+
+ if var_binding.nptr.leaf_node.name[:9] == '__query__':
+ # -- THE "COUNT" HACK --
+ # '__query__...' variables are not really variables.
+ # They are a mechanism to allow the user to query the
+ # category counter without incrementing it.
+ var_binding.value = str(cat.counter.query())
+
+ elif HasWildCard(var_binding.full_name):
+ # -- The wildcard hack ---
+ # Variables containing * or ? characters in their names
+ # are not allowed. These are not variables, but patterns
+ # to match with other variables. Represent them by the
+ # (full-path-expanded) string containing the * or ?.
+ var_binding.value = var_binding.full_name
+
+ else:
+
+ if ((not var_binding.nptr.leaf_node.IsDeleted()) and
+ (len(var_binding.refs) > 0)):
+
+ # For each (regular) variable, query this category's counter
+ # (convert it to a string), and see if it is already in use
+ # (in this category). If not, then set this variable's value
+ # to the counter's value. Either way, increment the
+ # counter.
+ while True:
+ cat.counter.incr()
+ value = str(cat.counter.query())
+ if ((reserved_values is None) or
+ ((cat, value) not in reserved_values)):
+ break
+
+ var_binding.value = value
+
+ # Recursively invoke AssignVarValues() on all child nodes
+ for child in cat_node.children.values():
+ AutoAssignVals(child,
+ sort_variables,
+ reserved_values,
+ ignore_prior_values)
+
+
+# Did the user ask us to reformat the output string?
+# This information is encoded in the variable's suffix.
+def ExtractFormattingCommands(suffix):
+ if (len(suffix) <= 1):
+ return None, None
+ if suffix[-1] == '}': # Get rid of any trailing '}' characters
+ suffix = suffix[:-1]
+ if suffix[-1] != ')': # Format functions are always followed by parens
+ return None, None
+ else:
+ idot = suffix.find('.') # Format functions usually preceeded by '.'
+ ioparen = suffix.find('(')
+ icparen = suffix.find(')')
+ format_fname = suffix[idot + 1:ioparen]
+ args = suffix[ioparen + 1:icparen]
+ args = args.split(',')
+ for i in range(0, len(args)):
+ args[i] = RemoveOuterQuotes(args[i].strip(), '\"\'')
+ return format_fname, args
+
+
+def Render(tmpl_list, substitute_vars=True):
+ """
+ This function converts a TextBlock,VarRef list into a string.
+ It is invoked by WriteTemplatesValue() in order to print
+ out the templates stored at each node of the tree.
+
+ """
+
+ out_str_list = []
+ i = 0
+ while i < len(tmpl_list):
+ entry = tmpl_list[i]
+ if isinstance(entry, VarRef):
+ var_ref = entry
+ var_bindings = var_ref.nptr.cat_node.categories[
+ var_ref.nptr.cat_name].bindings
+ # if var_ref.nptr.leaf_node not in var_bindings:
+ #assert(var_ref.nptr.leaf_node in var_bindings)
+ if var_ref.nptr.leaf_node.IsDeleted():
+ raise InputError('Error near ' +
+ ErrorLeader(var_ref.srcloc.infile,
+ var_ref.srcloc.lineno) + '\n'
+ ' The variable you referred to does not exist:\n\n'
+ ' ' + var_ref.prefix + var_ref.descr_str + var_ref.suffix + '\n\n'
+ ' (You probably deleted it or something it belonged to earlier.)\n')
+ else:
+ if substitute_vars:
+ value = var_bindings[var_ref.nptr.leaf_node].value
+ format_fname, args = ExtractFormattingCommands(
+ var_ref.suffix)
+ if format_fname == 'ljust':
+ if len(args) == 1:
+ value = value.ljust(int(args[0]))
+ else:
+ value = value.ljust(int(args[0]), args[1])
+ elif format_fname == 'rjust':
+ if len(args) == 1:
+ value = value.rjust(int(args[0]))
+ else:
+ value = value.rjust(int(args[0]), args[1])
+ out_str_list.append(value)
+
+ else:
+ out_str_list.append(var_ref.prefix +
+ SafelyEncodeString(var_bindings[var_ref.nptr.leaf_node].full_name[1:]) +
+ var_ref.suffix)
+
+ else:
+ assert(isinstance(entry, TextBlock))
+ out_str_list.append(entry.text)
+ i += 1
+
+ return ''.join(out_str_list)
+
+
+def IgnoreThis(a):
+ pass
+
+
+def FindReplacementVarPairs(context_node,
+ replace_var_pairs):
+ # search_instance_commands = False):
+
+ #####################
+ # if search_instance_commands:
+ # assert(isinstance(context_node, StaticObj))
+ # commands = context_node.instance_commands
+ # else:
+ # # Note: Leaf nodes contain no commands, so skip them
+ # if (not hasattr(context_node, 'commands')):
+ # return
+ # # Otherwise process their commands
+ # commands = context_node.commands
+ #####################
+
+ commands = context_node.commands
+
+ for command in commands:
+
+ if (isinstance(command, WriteFileCommand) and
+ command.filename == 'ttree_replacements.txt'):
+ tmpl_list = command.tmpl_list
+ var_alias = None
+ for entry in tmpl_list:
+ # Each successive pair of variables indicates a
+ # variable you wish to replace.
+ # (Any ordinary text in between variable names is ignored.)
+ if isinstance(entry, VarRef):
+ if var_alias == None:
+ var_alias = (entry.nptr.cat_name,
+ entry.nptr.cat_node,
+ entry.nptr.leaf_node)
+ else:
+ var_replace = (entry.nptr.cat_name,
+ entry.nptr.cat_node,
+ entry.nptr.leaf_node)
+
+ replace_var_pairs[var_alias] = var_replace
+ var_alias = None
+
+ # Recursively invoke AssignVarPtrs() on all (non-leaf) child nodes:
+ for child in context_node.children.values():
+ FindReplacementVarPairs(child,
+ replace_var_pairs)
+ # search_instance_commands)
+
+
+def ReplaceVars(context_node,
+ replace_var_pairs,
+ search_instance_commands=False):
+
+ if len(replace_var_pairs) == 0:
+ return
+
+ #sys.stdout.write('AssignVarPtrs() invoked on node: \"'+NodeToStr(context_node)+'\"\n')
+
+ if search_instance_commands:
+ assert(isinstance(context_node, StaticObj))
+ commands = context_node.instance_commands
+ else:
+ # Note: Leaf nodes contain no commands, so skip them
+ if (not hasattr(context_node, 'commands')):
+ return
+ # Otherwise process their commands
+ commands = context_node.commands
+
+ if len(replace_var_pairs) > 0:
+ for command in commands:
+ if isinstance(command, WriteFileCommand):
+ ReplaceVarsInTmpl(command.tmpl_list,
+ replace_var_pairs)
+
+ # Recursively invoke ReplaceVars() on all (non-leaf) child nodes:
+ for child in context_node.children.values():
+ ReplaceVars(child,
+ replace_var_pairs,
+ search_instance_commands)
+
+
+def ReplaceVarsInTmpl(tmpl_list, replace_var_pairs):
+ """ replace any references to specific variables with other variables """
+
+ if len(replace_var_pairs) == 0:
+ return
+
+ i = 0
+ while i < len(tmpl_list):
+ entry = tmpl_list[i]
+ if isinstance(entry, VarRef):
+ var_ref = entry
+ #full_name = var_bindings[var_ref.nptr.leaf_node].full_name
+ if (var_ref.nptr.cat_name,
+ var_ref.nptr.cat_node,
+ var_ref.nptr.leaf_node) in replace_var_pairs:
+ # optional: (since we will eventually delete the variable)
+ # delete the reference to this variable from "bindings"
+
+ nptr_old = var_ref.nptr
+
+ # swap the old variable with the new one
+ (nptr_new_cat_name, nptr_new_cat_node, nptr_new_leaf_node) = \
+ replace_var_pairs[(nptr_old.cat_name,
+ nptr_old.cat_node,
+ nptr_old.leaf_node)]
+
+ var_bindings = var_ref.nptr.cat_node.categories[
+ nptr_old.cat_name].bindings
+
+ assert(nptr_new_leaf_node in var_bindings)
+
+ # Copy the things we need from the old variable.
+ # References to the old variable should be added to the new one
+ # (since they are the same variable)
+ # for ref in var_bindings[nptr_old.leaf_node].refs:
+ # ref.nptr.cat_name = nptr_new_cat_name
+ # ref.nptr.cat_node = nptr_new_cat_node
+ # ref.nptr.leaf_node = nptr_new_leaf_node
+ if nptr_old.leaf_node in var_bindings:
+ var_bindings[
+ nptr_new_leaf_node].refs += var_bindings[nptr_old.leaf_node].refs
+ del var_bindings[nptr_old.leaf_node]
+
+ var_ref.nptr.cat_name = nptr_new_cat_name
+ var_ref.nptr.cat_node = nptr_new_cat_node
+ var_ref.nptr.leaf_node = nptr_new_leaf_node # <-- this will...
+ # ... update all places where that nptr is used, including
+ # all of the varrefs from the old variable. In other words,
+ # there is no need to manually update the leaf_nodes in
+ # the var_bindings[nptr_new_leaf_node].refs
+ # (It's better to do it this way instead.)
+
+ # var_ref.prefix = (...no need to modify)
+ # var_ref.suffix = (...no need to modify)
+
+ var_ref.descr_str = \
+ CanonicalDescrStr(var_ref.nptr.cat_name,
+ var_ref.nptr.cat_node,
+ var_ref.nptr.leaf_node,
+ var_ref.srcloc)
+
+ var_bindings[nptr_new_leaf_node].full_name = var_ref.prefix[
+ 0] + var_ref.descr_str
+
+ i += 1
+
+
+def MergeWriteCommands(command_list):
+ """ Write commands are typically to the same file.
+ We can improve performance by appending all of
+ commands that write to the same file together before
+ carrying out the write operation.
+
+ """
+ file_templates = defaultdict(list)
+ for command in command_list:
+ if isinstance(command, WriteFileCommand):
+ if command.filename != None:
+ file_templates[command.filename] += \
+ command.tmpl_list
+
+ return file_templates
+
+
+def WriteTemplatesValue(file_templates):
+ """ Carry out the write() and write_once() commands (which
+ write out the contents of the templates contain inside them).
+
+ """
+ for filename, tmpl_list in file_templates.items():
+ if filename == '':
+ out_file = sys.stdout
+ else:
+ out_file = open(filename, 'a')
+
+ out_file.write(Render(tmpl_list, substitute_vars=True))
+ if filename != '':
+ out_file.close()
+
+ # Alternate (old method):
+ # for command in command_list:
+ # if isinstance(command, WriteFileCommand):
+ # if command.filename != None:
+ # if command.filename == '':
+ # out_file = sys.stdout
+ # else:
+ # out_file = open(command.filename, 'a')
+ #
+ # out_file.write(Render(command.tmpl_list))
+ #
+ # if command.filename != '':
+ # out_file.close()
+
+
+def WriteTemplatesVarName(file_templates):
+ """ Carry out the write() and write_once() commands (which
+ write out the contents of the templates contain inside them).
+ However variables within the templates are represented by their
+ full name instead of their assigned value.
+
+ """
+
+ for filename, tmpl_list in file_templates.items():
+ if filename != '':
+ out_file = open(filename + '.template', 'a')
+ out_file.write(Render(tmpl_list, substitute_vars=False))
+ out_file.close()
+
+
+def EraseTemplateFiles(command_list):
+ filenames = set([])
+ for command in command_list:
+ if isinstance(command, WriteFileCommand):
+ if (command.filename != None) and (command.filename != ''):
+ if command.filename not in filenames:
+ filenames.add(command.filename)
+ # Openning the files (in mode 'w') and closing them again
+ # erases their contents.
+ out_file = open(command.filename, 'w')
+ out_file.close()
+ out_file = open(command.filename + '.template', 'w')
+ out_file.close()
+
+# def ClearTemplates(file_templates):
+# for filename in file_templates:
+# if filename != '':
+# out_file = open(filename, 'w')
+# out_file.close()
+# out_file = open(filename + '.template', 'w')
+# out_file.close()
+
+
+def WriteVarBindingsFile(node):
+ """ Write out a single file which contains a list of all
+ of the variables defined (regardless of which class they
+ were defined in). Next to each variable name is the corresponding
+ information stored in that variable (a number) that variable.
+
+ """
+ if (not hasattr(node, 'categories')):
+ # (sometimes leaf nodes lack a 'categories' member, to save memory)
+ return
+
+ out = open('ttree_assignments.txt', 'a')
+ for cat_name in node.categories:
+ var_bindings = node.categories[cat_name].bindings
+ for nd, var_binding in var_bindings.items():
+ if nd.IsDeleted():
+ continue # In that case, skip this variable
+
+ if len(var_binding.refs) == 0: # check2016-6-07
+ continue
+
+ # if type(node) is type(nd):
+ if ((isinstance(node, InstanceObjBasic) and isinstance(nd, InstanceObjBasic))
+ or
+ (isinstance(node, StaticObj) and isinstance(nd, StaticObj))):
+
+ # Now omit variables whos names contain "*" or "?"
+ # (these are actually not variables, but wildcard patterns)
+ if not HasWildCard(var_binding.full_name):
+ if len(var_binding.refs) > 0:
+ usage_example = ' #' +\
+ ErrorLeader(var_binding.refs[0].srcloc.infile,
+ var_binding.refs[0].srcloc.lineno)
+ else:
+ usage_example = ''
+ out.write(SafelyEncodeString(var_binding.full_name) + ' ' +
+ SafelyEncodeString(var_binding.value)
+ + usage_example + '\n')
+ out.close()
+ for child in node.children.values():
+ WriteVarBindingsFile(child)
+
+
+def CustomizeBindings(bindings,
+ objectdefs,
+ objects):
+
+ var_assignments = set()
+
+ for name, vlpair in bindings.items():
+
+ prefix = name[0]
+ var_descr_str = name[1:]
+
+ value = vlpair.val
+ dbg_loc = vlpair.loc
+
+ if prefix == '@':
+ var_binding = LookupVar(var_descr_str,
+ objectdefs,
+ dbg_loc)
+
+ elif prefix == '$':
+ var_binding = LookupVar(var_descr_str,
+ objects,
+ dbg_loc)
+ else:
+ # If the user neglected a prefix, this should have generated
+ # an error earlier on.
+ assert(False)
+
+ # Change the assignment:
+ var_binding.value = value
+ var_assignments.add((var_binding.category, value))
+
+ # sys.stderr.write(' CustomizeBindings: descr=' + var_descr_str +
+ # ', value=' + value + '\n')
+
+ return var_assignments
+
+
+def ReplaceVarsInCustomBindings(bindings,
+ objectdefs,
+ objects,
+ replace_var_pairs):
+
+ if len(replace_var_pairs) == 0:
+ return
+
+ list_of_pairs = bindings.items()
+
+ for name, vlpair in list_of_pairs:
+
+ prefix = name[0]
+ var_descr_str = name[1:]
+
+ value = vlpair.val
+ dbg_loc = vlpair.loc
+
+ if prefix == '@':
+ # At this point, we have probably already binding associated
+ # with any replaced variables. Instead lookup the nodes directly:
+
+ cat_name, cat_node, leaf_node = DescrToCatLeafNodes(var_descr_str,
+ objectdefs,
+ dbg_loc)
+ # If this triplet corresponds to a variable we want to replace
+ # then lookup the corrected triplet
+ if (cat_name, cat_node, leaf_node) in replace_var_pairs:
+ (new_cat_name,
+ new_cat_node,
+ new_leaf_node) = replace_var_pairs[(cat_name,
+ cat_node,
+ leaf_node)]
+
+ # now reconstruct the string representing that variable
+ new_name = prefix + CanonicalDescrStr(new_cat_name,
+ new_cat_node,
+ new_leaf_node)
+ bindings[new_name] = bindings[name]
+ del bindings[name]
+
+
+##############################################################
+##################### BasicUI functions #####################
+# These functions are examples of how to use the StaticObj
+# and InstanceObj data structures above, and to read a ttree file.
+# These are examples only. New programs based on ttree_lib.py
+# will probably require their own settings and functions.
+##############################################################
+
+
+def BasicUIReadBindingsFile(bindings_so_far, filename):
+ try:
+ f = open(filename, 'r')
+ except IOError:
+ sys.stderr.write('Error(' + g_filename + '):\n'' : unable to open file\n'
+ '\n'
+ ' \"' + filename + '\"\n'
+ ' for reading.\n'
+ '\n'
+ ' (If you were not trying to open a file with this name, then this could\n'
+ ' occur if you forgot to enclose your command-line-argument in quotes,\n'
+ ' For example, use: \'$atom:wat[2]/H1 20\' or "\$atom:wat[2]/H1 to 20"\n'
+ ' to set the variable $atom:wat[2]/H1 to 20.)\n')
+ sys.exit(1)
+
+ BasicUIReadBindingsStream(bindings_so_far, f, filename)
+ f.close()
+
+
+def BasicUIReadBindingsText(bindings_so_far, text, source_name=''):
+ if sys.version > '3':
+ in_stream = io.StringIO(text)
+ else:
+ in_stream = cStringIO.StringIO(text)
+ return BasicUIReadBindingsStream(bindings_so_far, in_stream, source_name)
+
+
+class ValLocPair(object):
+ __slots__ = ["val", "loc"]
+
+ def __init__(self,
+ val=None,
+ loc=None):
+ self.val = val
+ self.loc = loc
+
+
+def BasicUIReadBindingsStream(bindings_so_far, in_stream, source_name=''):
+
+ # EXAMPLE (simple version)
+ # The simple version of this function commented out below
+ # does not handle variable whose names or values
+ # contain strange or escaped characters, quotes or whitespace.
+ # But I kept it in for illustrative purposes:
+ #
+ # for line in f:
+ # line = line.strip()
+ # tokens = line.split()
+ # if len(tokens) == 2:
+ # var_name = tokens[0]
+ # var_value = tokens[1]
+ # var_assignments[var_name] = var_value
+ # f.close()
+
+ lex = TemplateLexer(in_stream, source_name)
+ tmpllist = lex.ReadTemplate()
+ i = 0
+ if isinstance(tmpllist[0], TextBlock):
+ i += 1
+ while i + 1 < len(tmpllist):
+ # process one line at a time (2 entries per line)
+ var_ref = tmpllist[i]
+ text_block = tmpllist[i + 1]
+ assert(isinstance(var_ref, VarRef))
+ if (not isinstance(text_block, TextBlock)):
+ raise InputError('Error(' + g_filename + '):\n'
+ ' This is not a valid name-value pair:\n'
+ ' \"' + var_ref.prefix + var_ref.descr_str +
+ ' ' + text_block.text.rstrip() + '\"\n'
+ ' Each variable asignment should contain a variable name (beginning with\n'
+ ' @ or $) followed by a space, and then a string you want to assign to it.\n'
+ ' (Surrounding quotes are optional and will be removed.)\n')
+
+ # Variables in the ttree_assignments.txt file use "full-path" style.
+ # In other words, the full name of the variable, (including all
+ # path information) is stored var_ref.descr_str,
+ # and the first character of the prefix stores either a @ or $
+ var_name = var_ref.prefix[:1] + var_ref.descr_str
+ text = SplitQuotedString(text_block.text.strip())
+ var_value = EscCharStrToChar(RemoveOuterQuotes(text, '\'\"'))
+ bindings_so_far[var_name] = ValLocPair(var_value, lex.GetSrcLoc())
+ i += 2
+
+
+class BasicUISettings(object):
+ """
+ BasicUISettings() contains several run-time user customisations
+ for ttree. (These effect the order and values assigned to variables
+ in a ttreee file).
+ This object, along with the other "UI" functions below are examples only.
+ (New programs based on ttree_lib.py will probably have their own settings
+ and functions.)
+
+ Members:
+ user_bindings
+ user_bindings_x
+ These are lists containing pairs of variable names,
+ and the string values they are bound to (which are typically numeric).
+ Values specified in the "user_bindings_x" list are "exclusive".
+ This means their values are reserved, so that later on, when other
+ variables (in the same category) are automatically assigned to values, care
+ care will be taken to avoid duplicating the values in user_bindings_x.
+ However variables in the "user_bindings" list are assigned without regard
+ to the values assigned to other variables, and may or may not be unique.
+
+ order_method
+ The order_method specifies the order in which values will be automatically
+ assigned to variables. (In the context of building molecular simulation
+ input files, this helps the user to insure that the order of the atoms
+ created by the ttree file matches the order they appear in other files
+ created by other programs.)
+
+ """
+
+ def __init__(self,
+ user_bindings_x=None,
+ user_bindings=None,
+ order_method='by_command',
+ lex=None):
+ if user_bindings_x:
+ self.user_bindings_x = user_bindings_x
+ else:
+ self.user_bindings_x = OrderedDict()
+ if user_bindings:
+ self.user_bindings = user_bindings
+ else:
+ self.user_bindings = OrderedDict()
+ self.order_method = order_method
+ if lex == None:
+ self.lex = TemplateLexer()
+ else:
+ self.lex = lex
+
+
+def BasicUIParseArgs(argv, settings, main=False):
+ """
+ BasicUIParseArgs()
+ The following function contains part of the user interface for a
+ typical ttree-based program. This function processes an argument list
+ and extracts the common ttree user settings.
+ This function, along with the other "UI" functions below are examples only.
+ (New programs based on ttree_lib.py will probably have their own UI.)
+
+ """
+
+ # argv = [arg for arg in orig_argv] # (make a deep copy of "orig_argv")
+
+ # This error message is used in multiple places:
+
+ bind_err_msg = 'should either be followed by a 2-column\n' +\
+ ' file (containing variable-value pairs on each line).\n' +\
+ ' --OR-- a quoted string (such as \"@atom:x 2\")\n' +\
+ ' with the full variable name and its desired value.'
+ bind_err_msg_var = 'Missing value, or space needed separating variable\n' +\
+ ' and value. (Remember to use quotes to surround the argument\n' +\
+ ' containing the variable name, and it\'s assigned value.)'
+
+ i = 1
+
+ while i < len(argv):
+ #sys.stderr.write('argv['+str(i)+'] = \"'+argv[i]+'\"\n')
+ if argv[i] == '-a':
+ if ((i + 1 >= len(argv)) or (argv[i + 1][:1] == '-')):
+ raise InputError('Error(' + g_filename + '):\n'
+ ' Error in -a \"' +
+ argv[i + 1] + ' argument.\"\n'
+ ' The -a flag ' + bind_err_msg)
+ if (argv[i + 1][0] in '@$'):
+ #tokens = argv[i+1].strip().split(' ')
+ tokens = SplitQuotedString(argv[i + 1].strip())
+ if len(tokens) < 2:
+ raise InputError('Error(' + g_filename + '):\n'
+ ' Error in -a \"' +
+ argv[i + 1] + '\" argument.\n'
+ ' ' + bind_err_msg_var)
+ BasicUIReadBindingsText(settings.user_bindings_x,
+ argv[i + 1],
+ '__command_line_argument__')
+ else:
+ BasicUIReadBindingsFile(settings.user_bindings_x,
+ argv[i + 1])
+ #i += 2
+ del(argv[i:i + 2])
+ elif argv[i] == '-b':
+ if ((i + 1 >= len(argv)) or (argv[i + 1][:1] == '-')):
+ raise InputError('Error(' + g_filename + '):\n'
+ ' Error in -b \"' +
+ argv[i + 1] + ' argument.\"\n'
+ ' The -b flag ' + bind_err_msg)
+ if (argv[i + 1][0] in '@$'):
+ #tokens = argv[i+1].strip().split(' ')
+ tokens = SplitQuotedString(argv[i + 1].strip())
+ if len(tokens) < 2:
+ raise InputError('Error(' + g_filename + '):\n'
+ ' Error in -b \"' +
+ argv[i + 1] + '\" argument.\n'
+ ' ' + bind_err_msg_var)
+ BasicUIReadBindingsText(settings.user_bindings,
+ argv[i + 1],
+ '__command_line_argument__')
+ else:
+ BasicUIReadBindingsFile(settings.user_bindings,
+ argv[i + 1])
+ #i += 2
+ del(argv[i:i + 2])
+ elif argv[i] == '-order-command':
+ settings.order_method = 'by_command'
+ #i += 1
+ del(argv[i:i + 1])
+ elif argv[i] == '-order-file':
+ settings.order_method = 'by_file'
+ #i += 1
+ del(argv[i:i + 1])
+ elif ((argv[i] == '-order-tree') or (argv[i] == '-order-dfs')):
+ settings.order_method = 'by_tree'
+ del(argv[i:i + 1])
+ elif ((argv[i] == '-import-path') or
+ (argv[i] == '-importpath') or
+ (argv[i] == '-import_path')):
+ if ((i + 1 >= len(argv)) or (argv[i + 1][:1] == '-')):
+ raise InputError('Error(' + g_filename + '):\n'
+ ' Error in \"' +
+ argv[i] + '\" argument.\"\n'
+ ' The \"' +
+ argv[
+ i] + '\" argument should be followed by the name of\n'
+ ' an environment variable storing a path for including/importing files.\n')
+ custom_path = RemoveOuterQuotes(argv[i + 1])
+ include_path_list = custom_path.split(':')
+ for d in include_path_list:
+ if len(d) > 0:
+ settings.lex.include_path.append(d)
+ del(argv[i:i + 2])
+
+ elif (argv[i][0] == '-') and main:
+ # elif (__name__ == '__main__'):
+ raise InputError('Error(' + g_filename + '):\n'
+ 'Unrecogized command line argument \"' + argv[i] + '\"\n')
+ else:
+ i += 1
+
+ if main:
+
+ # Instantiate the lexer we will be using.
+ # (The lexer's __init__() function requires an openned file.
+ # Assuming __name__ == '__main__', then the name of that file should
+ # be the last remaining (unprocessed) argument in the argument list.
+ # Otherwise, then name of that file will be determined later by the
+ # python script which imports this module, so we let them handle it.)
+
+ if len(argv) == 1:
+ raise InputError('Error(' + g_filename + '):\n'
+ ' This program requires at least one argument\n'
+ ' the name of a file containing ttree template commands\n')
+ elif len(argv) == 2:
+ try:
+ # Parse text from the file named argv[1]
+ settings.lex.infile = argv[1]
+ settings.lex.instream = open(argv[1], 'r')
+ except IOError:
+ sys.stderr.write('Error(' + g_filename + '):\n'
+ ' unable to open file\n'
+ ' \"' + argv[1] + '\"\n'
+ ' for reading.\n')
+ sys.exit(1)
+ del(argv[1:2])
+
+ else:
+ # if there are more than 2 remaining arguments,
+ problem_args = ['\"' + arg + '\"' for arg in argv[1:]]
+ raise InputError('Syntax Error (' + g_filename + '):\n'
+ ' Problem with argument list.\n'
+ ' The remaining arguments are:\n\n'
+ ' ' + (' '.join(problem_args)) + '\n\n'
+ ' (The actual problem may be earlier in the argument list.\n'
+ ' If these arguments are source files, then keep in mind\n'
+ ' that this program can not parse multiple source files.)\n'
+ ' Check the syntax of the entire argument list.\n')
+
+
+def BasicUI(settings,
+ static_tree_root,
+ instance_tree_root,
+ static_commands,
+ instance_commands):
+ """
+ BasicUI()
+ This function loads a ttree file and optional custom bindings for it,
+ creates a "static" tree (of defined ttree classes),
+ creates an "instance" tree (of instantiated ttree objects),
+ automatically assigns values to unbound variables,
+ substitutes them into text templates (renders the template).
+ The actual writing of the templates to a file is not handled here.
+
+ """
+
+ # Parsing, and compiling is a multi-pass process.
+
+ # Step 1: Read in the StaticObj (class) definitions, without checking
+ # whether or not the instance_children refer to valid StaticObj types.
+ sys.stderr.write('parsing the class definitions...')
+ static_tree_root.Parse(settings.lex)
+ # gc.collect()
+
+ #sys.stderr.write('static = ' + str(static_tree_root) + '\n')
+
+ # Step 2: Now that the static tree has been constructed, lookup
+ # any references to classes (StaticObjs), contained within
+ # the instance_children or class_parents of each node in
+ # static_tree_root. Replace them with (pointers to)
+ # the StaticObjs they refer to (and check validity).
+ # (Note: Variables stored within the templates defined by write()
+ # and write_once() statements may also refer to StaticObjs in
+ # the tree, but we leave these references alone. We handle
+ # these assignments later using "AssignVarPtrs()" below.)
+ sys.stderr.write(' done\nlooking up classes...')
+ static_tree_root.LookupStaticRefs()
+ # gc.collect()
+
+ # Step 3: Now scan through all the (static) variables within the templates
+ # and replace the (static) variable references to pointers
+ # to nodes in the StaticObj tree:
+ sys.stderr.write(' done\nlooking up @variables...')
+
+ # Step 3a)
+ # Here we assign pointers for @variables in "write_once(){text}" templates:
+ AssignStaticVarPtrs(static_tree_root, search_instance_commands=False)
+
+ # Step 3b) Replace any @variables with their equivalents (if applicable)
+ replace_var_pairs = {}
+ FindReplacementVarPairs(static_tree_root, replace_var_pairs)
+ ReplaceVars(static_tree_root, replace_var_pairs,
+ search_instance_commands=False)
+
+ # Step 3c)
+ # Here we assign pointers for @variables in "write(){text}" templates:
+ AssignStaticVarPtrs(static_tree_root, search_instance_commands=True)
+ ReplaceVars(static_tree_root, replace_var_pairs,
+ search_instance_commands=True)
+
+ sys.stderr.write(' done\nconstructing the tree of class definitions...')
+ sys.stderr.write(' done\n\nclass_def_tree = ' +
+ str(static_tree_root) + '\n\n')
+ # gc.collect()
+
+ # Step 4: Construct the instance tree (the tree of instantiated
+ # classes) from the static tree of type definitions.
+ sys.stderr.write('constructing the instance tree...\n')
+ class_parents_in_use = set([])
+ instance_tree_root.BuildInstanceTree(
+ static_tree_root, class_parents_in_use)
+ #sys.stderr.write('done\n garbage collection...')
+ # gc.collect()
+ sys.stderr.write(' done\n')
+ #sys.stderr.write('instance_tree = ' + str(instance_tree_root) + '\n')
+
+ # Step 5: The commands must be carried out in a specific order.
+ # (for example, the "write()" and "new" commands).
+ # Search through the tree, and append commands to a command list.
+ # Then re-order the list in the order the commands should have
+ # been executed in. (We don't carry out the commands yet,
+ # we just store them and sort them.)
+ class_parents_in_use = set([])
+ static_tree_root.BuildCommandList(static_commands)
+ instance_tree_root.BuildCommandList(instance_commands)
+ #sys.stderr.write('static_commands = '+str(static_commands)+'\n')
+ #sys.stderr.write('instance_commands = '+str(instance_commands)+'\n')
+
+ # Step 6: Replace any $variables with their equivalents (if applicable)
+ ReplaceVars(instance_tree_root, replace_var_pairs)
+
+ # Step 7: We are about to assign numbers to the variables.
+ # We need to decide the order in which to assign them.
+ # By default static variables (@) are assigned in the order
+ # they appear in the file.
+ # And, by default instance variables ($)
+ # are assigned in the order they are created during instantiation.
+ #sys.stderr.write(' done\ndetermining variable count order...')
+ AssignVarOrderByFile(static_tree_root, '@', search_instance_commands=True)
+ AssignVarOrderByCommand(instance_commands, '$')
+
+ # Step 8: Assign the variables.
+ # (If the user requested any customized variable bindings,
+ # load those now.)
+ if len(settings.user_bindings_x) > 0:
+ if len(replace_var_pairs) > 0:
+ ReplaceVarsInCustomBindings(settings.user_bindings_x,
+ static_tree_root,
+ instance_tree_root,
+ replace_var_pairs)
+ reserved_values = CustomizeBindings(settings.user_bindings_x,
+ static_tree_root,
+ instance_tree_root)
+ else:
+ reserved_values = None
+
+ sys.stderr.write('sorting variables...\n')
+ AutoAssignVals(static_tree_root,
+ (settings.order_method != 'by_tree'),
+ reserved_values)
+
+ AutoAssignVals(instance_tree_root,
+ (settings.order_method != 'by_tree'),
+ reserved_values)
+
+ if len(settings.user_bindings) > 0:
+ if len(replace_var_pairs) > 0:
+ ReplaceVarsInCustomBindings(settings.user_bindings,
+ static_tree_root,
+ instance_tree_root,
+ replace_var_pairs)
+ CustomizeBindings(settings.user_bindings,
+ static_tree_root,
+ instance_tree_root)
+
+ sys.stderr.write(' done\n')
+
+ return
+
+
+def main():
+ """
+ This is is a "main module" wrapper for invoking ttree.py
+ as a stand alone program. This program:
+
+ 1)reads a ttree file,
+ 2)constructs a tree of class definitions (g_objectdefs)
+ 3)constructs a tree of instantiated class objects (g_objects),
+ 4)automatically assigns values to the variables,
+ 5)and carries out the "write" commands to write the templates a file(s).
+
+ """
+
+ g_program_name = g_filename
+ sys.stderr.write(g_program_name + ' v' +
+ g_version_str + ' ' + g_date_str + ' ')
+ sys.stderr.write('\n(python version ' + str(sys.version) + ')\n')
+
+ try:
+
+ settings = BasicUISettings()
+ BasicUIParseArgs(sys.argv, settings, main=True)
+
+ # Data structures to store the class definitionss and instances
+ g_objectdefs = StaticObj('', None) # The root of the static tree
+ # has name '' (equivalent to '/')
+ g_objects = InstanceObj('', None) # The root of the instance tree
+ # has name '' (equivalent to '/')
+
+ # A list of commands to carry out
+ g_static_commands = []
+ g_instance_commands = []
+
+ BasicUI(settings,
+ g_objectdefs,
+ g_objects,
+ g_static_commands,
+ g_instance_commands)
+
+ # Now write the files
+ # (Finally carry out the "write()" and "write_once()" commands.)
+
+ # Optional: Multiple commands to write to the same file can be merged to
+ # reduce the number of times the file is openned and closed.
+ sys.stderr.write('writing templates...\n')
+ # Erase the files that will be written to:
+ EraseTemplateFiles(g_static_commands)
+ EraseTemplateFiles(g_instance_commands)
+
+ g_static_commands = MergeWriteCommands(g_static_commands)
+ g_instance_commands = MergeWriteCommands(g_instance_commands)
+
+ # Write the files with the original variable names present
+ WriteTemplatesVarName(g_static_commands)
+ WriteTemplatesVarName(g_instance_commands)
+ # Write the files with the variable names substituted by values
+ WriteTemplatesValue(g_static_commands)
+ WriteTemplatesValue(g_instance_commands)
+
+ sys.stderr.write(' done\n')
+
+ # Step 11: Now write the variable bindings/assignments table.
+ sys.stderr.write('writing \"ttree_assignments.txt\" file...')
+ # <-- erase previous version.
+ open('ttree_assignments.txt', 'w').close()
+ WriteVarBindingsFile(g_objectdefs)
+ WriteVarBindingsFile(g_objects)
+
+ sys.stderr.write(' done\n')
+
+ except (ValueError, InputError) as err:
+ sys.stderr.write('\n\n' + str(err) + '\n')
+ sys.exit(-1)
+
+ return
+
+if __name__ == '__main__':
+ main()
diff --git a/tools/moltemplate/moltemplate/ttree_lex.py b/tools/moltemplate/moltemplate/ttree_lex.py
new file mode 100644
index 000000000..e29d4bc35
--- /dev/null
+++ b/tools/moltemplate/moltemplate/ttree_lex.py
@@ -0,0 +1,2032 @@
+# -*- coding: iso-8859-1 -*-
+
+# Author: Andrew Jewett (jewett.aij at g mail)
+# http://www.chem.ucsb.edu/~sheagroup
+# License: 3-clause BSD License (See LICENSE.TXT)
+# Copyright (c) 2012, Regents of the University of California
+# All rights reserved.
+
+"""A lexical analyzer class for simple shell-like syntaxes.
+ This version has been modified slightly to work better with unicode.
+ It was forked from the version of shlex that ships with python 3.2.2.
+ A few minor features and functions have been added. """
+
+# Module and documentation by Eric S. Raymond, 21 Dec 1998
+# Input stacking and error message cleanup added by ESR, March 2000
+# push_source() and pop_source() made explicit by ESR, January 2001.
+# Posix compliance, split(), string arguments, and
+# iterator interface by Gustavo Niemeyer, April 2003.
+# ("wordterminators" (unicode support) hack by Andrew Jewett September 2011)
+
+import os.path
+import sys
+from collections import deque
+import re
+import fnmatch
+import string
+#import gc
+
+
+try:
+ from cStringIO import StringIO
+except ImportError:
+ try:
+ from StringIO import StringIO
+ except ImportError:
+ from io import StringIO
+
+__all__ = ["TtreeShlex",
+ "split",
+ "LineLex",
+ "SplitQuotedString",
+ "EscCharStrToChar",
+ "SafelyEncodeString",
+ "RemoveOuterQuotes",
+ "MaxLenStr",
+ "HasWildCard",
+ #"IsRegex",
+ "InputError",
+ "ErrorLeader",
+ "SrcLoc",
+ "OSrcLoc",
+ "TextBlock",
+ "VarRef",
+ "VarNPtr",
+ "VarBinding",
+ "SplitTemplate",
+ "SplitTemplateMulti",
+ "TableFromTemplate",
+ "ExtractCatName",
+ #"_TableFromTemplate",
+ #"_DeleteLineFromTemplate",
+ "DeleteLinesWithBadVars",
+ "TemplateLexer"]
+
+
+class TtreeShlex(object):
+ """ A lexical analyzer class for simple shell-like syntaxes.
+ TtreeShlex is a backwards-compatible version of python's standard shlex
+ module. It has the additional member: "self.wordterminators", which
+ overrides the "self.wordchars" member. This enables better handling of
+ unicode characters by allowing a much larger variety of characters to
+ appear in words or tokens parsed by TtreeShlex.
+
+ """
+
+ def __init__(self,
+ instream=None,
+ infile=None,
+ posix=False):
+ if isinstance(instream, str):
+ instream = StringIO(instream)
+ if instream is not None:
+ self.instream = instream
+ self.infile = infile
+ else:
+ self.instream = sys.stdin
+ self.infile = None
+ self.posix = posix
+ if posix:
+ self.eof = None
+ else:
+ self.eof = ''
+ self.commenters = '#'
+ self.wordchars = ('abcdfeghijklmnopqrstuvwxyz'
+ 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_')
+ if self.posix:
+ self.wordchars += ('��������������������������������'
+ '������������������������������')
+
+ self.wordterminators = set([])
+ self.prev_space_terminator = ''
+ self.whitespace = ' \t\r\f\n'
+ self.whitespace_split = False
+ self.quotes = '\'"'
+ self.escape = '\\'
+ self.escapedquotes = '"'
+ self.operators = '='
+ self.state = ' '
+ self.pushback = deque()
+ self.lineno = 1
+ self.debug = 0
+ self.token = ''
+ self.filestack = deque()
+ # self.source_triggers
+ # are tokens which allow the seamless insertion of other
+ # files into the file being read.
+ self.source_triggers = set(['source'])
+ self.source_triggers_x = set([])
+ # self.source_triggers_x is a subset of self.source_triggers.
+ # In this case file inclusion is exclusive.
+ # In other words, the file is only included
+ # if it has not been included already. It does this
+ # by checking if one of these tokens has been encountered.
+ self.source_files_restricted = set([])
+ self.include_path = []
+ if 'TTREE_PATH' in os.environ:
+ include_path_list = os.environ['TTREE_PATH'].split(':')
+ self.include_path += [d for d in include_path_list if len(d) > 0]
+ if self.debug:
+ sys.stderr.write('TtreeShlex: reading from %s, line %d'
+ % (self.instream, self.lineno))
+ self.end_encountered = False
+
+ @staticmethod
+ def _belongs_to(char, include_chars, exclude_chars):
+ if ((not exclude_chars) or (len(exclude_chars)==0)):
+ return char in include_chars
+ else:
+ return char not in exclude_chars
+
+ def push_raw_text(self, text):
+ """Push a block of text onto the stack popped by the ReadLine() method.
+ (If multiple lines are present in the text, (which is determined by
+ self.line_terminators), then the text is split into multiple lines
+ and each one of them is pushed onto this stack individually.
+ The "self.lineno" counter is also adjusted, depending on the number
+ of newline characters in "line".
+ Do not strip off the newline, or other line terminators
+ at the end of the text block before using push_raw_text()!
+
+ """
+ if self.debug >= 1:
+ sys.stderr.write("TtreeShlex: pushing token " + repr(text))
+ for c in reversed(text):
+ self.pushback.appendleft(c)
+ if c == '\n':
+ self.lineno -= 1
+ if len(text) > 0:
+ self.end_encountered = False
+
+ def push_token(self, text):
+ "Push a token onto the stack popped by the get_token method"
+ self.push_raw_text(text + self.prev_space_terminator)
+
+ def push_source(self, newstream, newfile=None):
+ "Push an input source onto the lexer's input source stack."
+ if isinstance(newstream, str):
+ newstream = StringIO(newstream)
+ self.filestack.appendleft((self.infile, self.instream, self.lineno))
+ self.infile = newfile
+ self.instream = newstream
+ self.lineno = 1
+ if self.debug:
+ if newfile is not None:
+ sys.stderr.write('TtreeShlex: pushing to file %s' % (self.infile,))
+ else:
+ sys.stderr.write('TtreeShlex: pushing to stream %s' % (self.instream,))
+
+ def pop_source(self):
+ "Pop the input source stack."
+ self.instream.close()
+ (self.infile, self.instream, self.lineno) = self.filestack.popleft()
+ if self.debug:
+ sys.stderr.write('TtreeShlex: popping to %s, line %d'
+ % (self.instream, self.lineno))
+ self.state = ' '
+
+ def get_token(self):
+ "Get a token from the input stream (or from stack if it's nonempty)"
+ #### #CHANGING: self.pushback is now a stack of characters, not tokens
+ #### if self.pushback:
+ #### tok = self.pushback.popleft()
+ #### if self.debug >= 1:
+ #### sys.stderr.write("TtreeShlex: popping token " + repr(tok))
+ #### return tok
+ #### No pushback. Get a token.
+ raw = self.read_token()
+ # Handle inclusions
+ if self.source_triggers is not None:
+ while raw in self.source_triggers:
+ fname = self.read_token()
+ spec = self.sourcehook(fname)
+ if spec:
+ (newfile, newstream) = spec
+ if ((raw not in self.source_triggers_x) or
+ (newfile not in self.source_files_restricted)):
+ self.push_source(newstream, newfile)
+ if raw in self.source_triggers_x:
+ self.source_files_restricted.add(newfile)
+ else:
+ if self.debug >= 1:
+ sys.stderr.write(
+ '\ndebug warning: duplicate attempt to import file:\n \"' + newfile + '\"\n')
+ raw = self.get_token()
+
+ # Maybe we got EOF instead?
+ while raw == self.eof:
+ if not self.filestack:
+ return self.eof
+ else:
+ self.pop_source()
+ raw = self.get_token()
+ # Neither inclusion nor EOF
+ if self.debug >= 1:
+ if raw != self.eof:
+ sys.stderr.write("TtreeShlex: token=" + repr(raw))
+ else:
+ sys.stderr.write("TtreeShlex: token=EOF")
+
+ if raw == self.eof:
+ self.end_encountered = True
+
+ return raw
+
+ def read_char(self):
+ if self.pushback:
+ nextchar = self.pushback.popleft()
+ assert((type(nextchar) is str) and (len(nextchar)==1))
+ else:
+ nextchar = self.instream.read(1)
+ return nextchar
+
+ def read_token(self):
+ self.prev_space_terminator = ''
+ quoted = False
+ escapedstate = ' '
+ while True:
+ #### self.pushback is now a stack of characters, not tokens
+ nextchar = self.read_char()
+ if nextchar == '\n':
+ self.lineno = self.lineno + 1
+ if self.debug >= 3:
+ sys.stderr.write("TtreeShlex: in state", repr(self.state),
+ "I see character:", repr(nextchar))
+ if self.state is None:
+ self.token = '' # past end of file
+ break
+ elif self.state == ' ':
+ if not nextchar:
+ self.state = None # end of file
+ break
+ elif nextchar in self.whitespace:
+ if self.debug >= 2:
+ sys.stderr.write("TtreeShlex: I see whitespace in whitespace state")
+ if self.token or (self.posix and quoted):
+ # Keep track of which whitespace
+ # character terminated the token.
+ self.prev_space_terminator = nextchar
+ break # emit current token
+ else:
+ continue
+ elif nextchar in self.commenters:
+ self.instream.readline()
+ self.lineno = self.lineno + 1
+ elif self.posix and nextchar in self.escape:
+ escapedstate = 'a'
+ self.state = nextchar
+ elif TtreeShlex._belongs_to(nextchar,
+ self.wordchars,
+ self.wordterminators):
+ self.token = nextchar
+ self.state = 'a'
+ elif nextchar in self.quotes:
+ if not self.posix:
+ self.token = nextchar
+ self.state = nextchar
+ elif self.whitespace_split:
+ self.token = nextchar
+ self.state = 'a'
+ else:
+ self.token = nextchar
+ if self.token or (self.posix and quoted):
+ break # emit current token
+ else:
+ continue
+ elif self.state in self.quotes:
+ quoted = True
+ if not nextchar: # end of file
+ if self.debug >= 2:
+ sys.stderr.write("TtreeShlex: I see EOF in quotes state")
+ # XXX what error should be raised here?
+ raise ValueError("Error at or before " + self.error_leader() + "\n"
+ " No closing quotation.")
+ if nextchar == self.state:
+ if not self.posix:
+ self.token = self.token + nextchar
+ self.state = ' '
+ break
+ else:
+ self.state = 'a'
+ elif self.posix and nextchar in self.escape and \
+ self.state in self.escapedquotes:
+ escapedstate = self.state
+ self.state = nextchar
+ else:
+ self.token = self.token + nextchar
+ elif self.state in self.escape:
+ if not nextchar: # end of file
+ if self.debug >= 2:
+ sys.stderr.write("TtreeShlex: I see EOF in escape state")
+ # XXX what error should be raised here?
+ raise ValueError("No escaped character")
+ # In posix shells, only the quote itself or the escape
+ # character may be escaped within quotes.
+ if escapedstate in self.quotes and \
+ nextchar != self.state and nextchar != escapedstate:
+ self.token = self.token + self.state
+ self.token = self.token + nextchar
+ self.state = escapedstate
+ elif self.state == 'a':
+ if not nextchar:
+ self.state = None # end of file
+ break
+ elif nextchar in self.whitespace:
+ if self.debug >= 2:
+ sys.stderr.write("TtreeShlex: I see whitespace in word state")
+ self.state = ' '
+ if self.token or (self.posix and quoted):
+ # Keep track of which whitespace
+ # character terminated the token.
+ self.prev_space_terminator = nextchar
+ break # emit current token
+ else:
+ continue
+ elif nextchar in self.commenters:
+ comment_contents = self.instream.readline()
+ self.lineno = self.lineno + 1
+ if self.posix:
+ self.state = ' '
+ if self.token or (self.posix and quoted):
+ # Keep track of which character(s) terminated
+ # the token (including whitespace and comments).
+ self.prev_space_terminator = nextchar + comment_contents
+ break # emit current token
+ else:
+ continue
+ elif self.posix and nextchar in self.quotes:
+ self.state = nextchar
+ elif self.posix and nextchar in self.escape:
+ escapedstate = 'a'
+ self.state = nextchar
+ elif (TtreeShlex._belongs_to(nextchar,
+ self.wordchars,
+ self.wordterminators)
+ or (nextchar in self.quotes)
+ or (self.whitespace_split)):
+ self.token = self.token + nextchar
+ else:
+ self.pushback.appendleft(nextchar)
+ if self.debug >= 2:
+ sys.stderr.write("TtreeShlex: I see punctuation in word state")
+ self.state = ' '
+ if self.token:
+ break # emit current token
+ else:
+ continue
+ result = self.token
+ self.token = ''
+ if self.posix and not quoted and result == '':
+ result = None
+ if self.debug > 1:
+ if result:
+ sys.stderr.write("TtreeShlex: raw token=" + repr(result))
+ else:
+ sys.stderr.write("TtreeShlex: raw token=EOF")
+ return result
+
+ def sourcehook(self, newfile):
+ "Hook called on a filename to be sourced."
+ newfile = RemoveOuterQuotes(newfile)
+ # This implements cpp-like semantics for relative-path inclusion.
+ if isinstance(self.infile, str) and not os.path.isabs(newfile):
+ newfile_full = os.path.join(os.path.dirname(self.infile), newfile)
+ try:
+ f = open(newfile_full, "r")
+ except IOError:
+ # If not found,
+ err = True
+ # ...then check to see if the file is in one of the
+ # directories in the self.include_path list.
+ for d in self.include_path:
+ newfile_full = os.path.join(d, newfile)
+ try:
+ f = open(newfile_full, "r")
+ err = False
+ break
+ except IOError:
+ err = True
+ if err:
+ raise InputError('Error at ' + self.error_leader() + '\n'
+ ' unable to open file \"' + newfile + '\"\n'
+ ' for reading.\n')
+ return (newfile, f)
+
+ def error_leader(self, infile=None, lineno=None):
+ "Emit a C-compiler-like, Emacs-friendly error-message leader."
+ if infile is None:
+ infile = self.infile
+ if lineno is None:
+ lineno = self.lineno
+ return "\"%s\", line %d: " % (infile, lineno)
+
+ def __iter__(self):
+ return self
+
+ def __next__(self):
+ token = self.get_token()
+ if token == self.eof:
+ raise StopIteration
+ return token
+
+ def __bool__(self):
+ return not self.end_encountered
+
+ # For compatibility with python 2.x, I must also define:
+ def __nonzero__(self):
+ return self.__bool__()
+
+
+# The split() function was originally from shlex
+# It is included for backwards compatibility.
+def split(s, comments=False, posix=True):
+ lex = TtreeShlex(s, posix=posix)
+ lex.whitespace_split = True
+ if not comments:
+ lex.commenters = ''
+ return list(lex)
+
+
+##################### NEW ADDITIONS (may be removed later) #################
+
+#"""
+# -- linelex.py --
+# linelex.py defines the LineLex class, which inherits from, and further
+# augments the capabilities of TtreeShlex by making it easier to parse
+# individual lines one at a time. (The original shlex's "source" inclusion
+# ability still works when reading entire lines, and lines are still counted.)
+#
+#"""
+
+#import sys
+
+
+class InputError(Exception):
+ """ A generic exception object containing a string for error reporting.
+ (Raising this exception implies that the caller has provided
+ a faulty input file or argument.)
+
+ """
+
+ def __init__(self, err_msg):
+ self.err_msg = err_msg
+
+ def __str__(self):
+ return self.err_msg
+
+ def __repr__(self):
+ return str(self)
+
+
+def ErrorLeader(infile, lineno):
+ return '\"' + infile + '\", line ' + str(lineno)
+
+
+class SrcLoc(object):
+ """ SrcLoc is essentially nothing more than a 2-tuple containing the name
+ of a file (str) and a particular line number inside that file (an integer).
+
+ """
+ __slots__ = ["infile", "lineno"]
+
+ def __init__(self, infile='', lineno=-1):
+ self.infile = infile
+ self.lineno = lineno
+
+
+def SplitQuotedString(string,
+ quotes='\'\"',
+ delimiters=' \t\r\f\n',
+ escape='\\',
+ comment_char='#'):
+ tokens = []
+ token = ''
+ reading_token = True
+ escaped_state = False
+ quote_state = None
+ for c in string:
+
+ if (c in comment_char) and (not escaped_state) and (quote_state == None):
+ tokens.append(token)
+ return tokens
+
+ elif (c in delimiters) and (not escaped_state) and (quote_state == None):
+ if reading_token:
+ tokens.append(token)
+ token = ''
+ reading_token = False
+
+ elif c in escape:
+ if escaped_state:
+ token += c
+ reading_token = True
+ escaped_state = False
+ else:
+ escaped_state = True
+ # and leave c (the '\' character) out of token
+ elif (c in quotes) and (not escaped_state):
+ if (quote_state != None):
+ if (c == quote_state):
+ quote_state = None
+ else:
+ quote_state = c
+ token += c
+ reading_token = True
+ else:
+ if (c == 'n') and (escaped_state == True):
+ c = '\n'
+ elif (c == 't') and (escaped_state == True):
+ c = '\t'
+ elif (c == 'r') and (escaped_state == True):
+ c = '\r'
+ elif (c == 'f') and (escaped_state == True):
+ c = '\f'
+ token += c
+ reading_token = True
+ escaped_state = False
+
+ if len(string) > 0:
+ tokens.append(token)
+ return tokens
+
+
+def EscCharStrToChar(s_in, escape='\\'):
+ """
+ EscCharStrToChar() replaces any escape sequences
+ in a string with their 1-character equivalents.
+
+ """
+ assert(len(escape) > 0)
+ out_lstr = []
+ escaped_state = False
+ for c in s_in:
+ if escaped_state:
+ if (c == 'n'):
+ out_lstr.append('\n')
+ elif (c == 't'):
+ out_lstr.append('\t')
+ elif (c == 'r'):
+ out_lstr.append('\r')
+ elif (c == 'f'):
+ out_lstr.append('\f')
+ elif (c == '\''):
+ out_lstr.append('\'')
+ elif (c == '\"'):
+ out_lstr.append('\"')
+ elif c in escape:
+ out_lstr.append(c)
+ else:
+ out_lstr.append(escape + c) # <- keep both characters
+ escaped_state = False
+ else:
+ if c in escape:
+ escaped_state = True
+ else:
+ out_lstr.append(c)
+
+ return ''.join(out_lstr)
+
+
+def SafelyEncodeString(in_str,
+ quotes='\'\"',
+ delimiters=' \t\r\f\n',
+ escape='\\',
+ comment_char='#'):
+ """
+ SafelyEncodeString(in_str) scans through the input string (in_str),
+ and returns a new string in which probletic characters
+ (like newlines, tabs, quotes, etc), are replaced by their two-character
+ backslashed equivalents (like '\n', '\t', '\'', '\"', etc).
+ The escape character is the backslash by default, but it too can be
+ overridden to create custom escape sequences
+ (but this does not effect the encoding for characters like '\n', '\t').
+
+ """
+ assert(len(escape) > 0)
+ out_lstr = []
+ use_outer_quotes = False
+ for c in in_str:
+ if (c == '\n'):
+ c = '\\n'
+ elif (c == '\t'):
+ c = '\\t'
+ elif (c == '\r'):
+ c = '\\r'
+ elif (c == '\f'):
+ c = '\\f'
+ elif c in quotes:
+ c = escape[0] + c
+ elif c in escape:
+ c = c + c
+ elif c in delimiters:
+ use_outer_quotes = True
+ # hmm... that's all that comes to mind. Did I leave anything out?
+ out_lstr.append(c)
+
+ if use_outer_quotes:
+ out_lstr = ['\"'] + out_lstr + ['\"']
+
+ return ''.join(out_lstr)
+
+
+def RemoveOuterQuotes(text, quotes='\"\''):
+ if ((len(text) >= 2) and (text[0] in quotes) and (text[-1] == text[0])):
+ return text[1:-1]
+ else:
+ return text
+
+
+def MaxLenStr(s1, s2):
+ if len(s2) > len(s1):
+ return s2
+ else:
+ return s1
+
+
+# def IsRegex(pat):
+# """
+# Check to see if string (pat) is bracketed by slashes.
+#
+# """
+# return (len(pat)>=2) and (pat[0]=='/') and (pat[-1] == '/')
+
+def HasWildCard(pat):
+ """
+ Returns true if a string (pat) contains a '*' or '?' character.
+
+ """
+ return (pat.find('*') != -1) or (pat.find('?') != -1)
+
+
+# def HasWildCard(pat):
+# """
+# Returns true if a string (pat) contains a non-backslash-protected
+# * or ? character.
+#
+# """
+# N=len(pat)
+# i=0
+# while i < N:
+# i = pat.find('*', i, N)
+# if i == -1:
+# break
+# elif (i==0) or (pat[i-1] != '\\'):
+# return True
+# i += 1
+# i=0
+# while i < N:
+# i = pat.find('?', i, N)
+# if i == -1:
+# break
+# elif (i==0) or (pat[i-1] != '\\'):
+# return True
+# i += 1
+# return False
+
+
+def MatchesPattern(s, pattern):
+ if type(pattern) is str:
+ # old code:
+ # if ((len(s) > 1) and (s[0] == '/') and (s[-1] == '/'):
+ # re_string = p[1:-1] # strip off the slashes '/' and '/'
+ # if not re.search(re_string, s):
+ # return False
+ # new code:
+ # uses precompiled regular expressions (See "pattern.search" below)
+ if HasWildCard(pattern):
+ if not fnmatch.fnmatchcase(s, pattern):
+ return False
+ elif s != pattern:
+ return False
+ else:
+ #assert(type(p) is _sre.SRE_Match)
+ # I assume pattern = re.compile(some_reg_expr)
+ if not pattern.search(s):
+ return False
+ return True
+
+
+def MatchesAll(multi_string, pattern):
+ assert(len(multi_string) == len(pattern))
+ for i in range(0, len(pattern)):
+ if not MatchesPattern(multi_string[i], pattern[i]):
+ return False
+ return True
+
+
+class LineLex(TtreeShlex):
+ """ This class extends the TtreeShlex module (a slightly modified
+ version of the python 3.2.2 version of shlex). LineLex has the
+ ability to read one line at a time (in addition to one token at a time).
+ (Many files and scripts must be parsed one line at a time instead of one
+ token at a time. In these cases, the whitespace position also matters.)
+
+ Arguably, this class might not be necessary.
+ I could get rid of this class completely. That would be nice. To do that
+ we would need to augment and generalize shlex's get_token() member function
+ to make it read lines, not just tokens. Of course, you can always
+ change the wordchars (or wordterminators). Even so, there are two other
+ difficulties using the current version of shlex.get_token() to read lines:
+ 1) File inclusion happen whenever the beginning of a line/token matches one
+ of the "source_triggers" (not the whole line as required by get_token()).
+ 2) Lines ending in a special character (by default the backslash character)
+ continue on to the next line.
+ This code seems to work on our test files, but I'm sure there are bugs.
+ Andrew 2012-3-25
+
+ """
+
+ def __init__(self,
+ instream=None,
+ infile=None,
+ posix=False):
+ TtreeShlex.__init__(self, instream, infile, posix)
+ self.line_terminators = '\n'
+ self.line_extend_chars = '\\'
+ self.skip_comments_during_readline = True
+
+ def _StripComments(self, line):
+ if self.skip_comments_during_readline:
+ for i in range(0, len(line)):
+ if ((line[i] in self.commenters) and
+ ((i == 0) or (line[i - 1] not in self.escape))):
+ return line[:i]
+ return line
+
+ def _ReadLine(self,
+ recur_level=0):
+ """
+ This function retrieves a block of text, halting at a
+ terminal character. Escape sequences are respected.
+ The self.lineno (newline counter) is also maintained.
+
+ The main difference between Readline and get_token()
+ is the way they handle the "self.source_triggers" member.
+ Both Readline() and get_token() insert text from other files when they
+ encounter a string in "self.source_triggers" in the text they read.
+ However ReadLine() ONLY inserts text from other files if the token which
+ matches with self.source_triggers appears at the beginning of the line.
+ get_token() inserts text only if lex.source matches the entire token.
+
+ comment-to-self:
+ At some point, once I'm sure this code is working, I should replace
+ shlex.get_token() with the code from ReadLine() which is more general.
+ It would be nice to get rid of "class LineLex" entirely. ReadLine()
+ is the only new feature that LineLex which was lacking in shlex.
+
+ To do this I would need to add a couple optional arguments to
+ "get_token()", allowing it to mimic ReadLine(), such as:
+ "override_wordterms" argument (which we can pass a '\n'), and
+ "token_extender" argument (like '\' for extending lines)
+
+ """
+ first_token = ''
+ line = ''
+ escaped_state = False
+ found_space = False
+ while True:
+ nextchar = self.read_char()
+ # sys.stderr.write('nextchar=\"'+nextchar+'\"\n')
+ while nextchar == '':
+ if not self.filestack:
+ return self._StripComments(line), '', first_token, found_space
+ else:
+ self.pop_source()
+ nextchar = self.read_char()
+ if nextchar == '\n':
+ self.lineno += 1
+
+ if escaped_state:
+ escaped_state = False
+ else:
+ if nextchar in self.escape:
+ line += nextchar
+ escaped_state = True
+ else:
+ escaped_state = False
+
+ if not escaped_state:
+ if (nextchar in self.whitespace):
+ found_space = True
+ while first_token in self.source_triggers:
+ fname = RemoveOuterQuotes(self.get_token())
+ if (fname == '') or (fname in self.source_triggers):
+ raise InputError('Error: near ' + self.error_leader() + '\n'
+ ' Nonsensical file inclusion request.\n')
+ if self.debug >= 0:
+ sys.stderr.write((' ' * recur_level) +
+ 'reading file \"' + fname + '\"\n')
+ spec = self.sourcehook(fname)
+ if spec:
+ (fname, subfile) = spec
+ if ((first_token not in self.source_triggers_x) or
+ (fname not in self.source_files_restricted)):
+ self.push_source(subfile, fname)
+ if first_token in self.source_triggers_x:
+ self.source_files_restricted.add(fname)
+ else:
+ if self.debug >= 0:
+ sys.stderr.write('\nWarning at ' + self.error_leader() + ':\n'
+ ' duplicate attempt to import file:\n \"' + fname + '\"\n')
+
+ line, nextchar, first_token, found_space = \
+ self._ReadLine(recur_level + 1)
+
+ if nextchar in self.line_terminators:
+ line_nrw = line.rstrip(self.whitespace)
+ # sys.stderr.write('line_nrw=\"'+line_nrw+'\"\n')
+ if ((len(line_nrw) > 0) and
+ (line_nrw[-1] in self.line_extend_chars) and
+ ((len(line_nrw) < 2) or (line_nrw[-2] not in self.escape))):
+ # delete the line_extend character
+ line = line_nrw[:-1]
+ # from the end of that line and keep reading...
+ else:
+ return self._StripComments(line), nextchar, first_token, found_space
+ else:
+ line += nextchar
+ if not found_space:
+ first_token += nextchar
+
+ def ReadLine(self, recur_level=0):
+ line, nextchar, first_token, found_space = \
+ self._ReadLine(recur_level)
+ if nextchar == self.eof:
+ self.end_encountered = True
+ return line + nextchar
+
+ @staticmethod
+ def TextBlock2Lines(text, delimiters, keep_delim=True):
+ """ This splits a string into a list of sub-strings split by delimiter
+ characters. This function is different from the standard str.split()
+ function: The string is split at every character which belongs to the
+ "delimiters" argument (which can be a string or some other container).
+ This character is included at the end of every substring. Example:
+ TextBlock2Lines('\nabc\nde^fg\nhi j\n', '^\n')
+ returns:
+ ['\n', 'abc\n', 'de^', 'fg\n', 'hi j\n']
+
+ """
+ ls = []
+ i = 0
+ i_prev = 0
+ while i < len(text):
+ if text[i] in delimiters:
+ if keep_delim:
+ ls.append(text[i_prev:i + 1])
+ else:
+ ls.append(text[i_prev:i])
+ i_prev = i + 1
+ i += 1
+ if (i_prev < len(text)):
+ ls.append(text[i_prev:i + 1])
+ return ls
+
+ def __iter__(self):
+ return self
+
+ def __next__(self):
+ line = self.ReadLine()
+ if line == self.eof:
+ raise StopIteration
+ return line
+
+
+class OSrcLoc(object):
+ """ OSrcLoc is barely more than a 2-tuple containing the name of a file
+ (a string) and a particular line number inside that file (an integer).
+ These objects are passed around and stored in the nodes of
+ every tree, so that if a syntax error or broken link in that node
+ is discovered, an error message can be provided to the user.
+
+ """
+
+ __slots__ = ["infile", "lineno", "order"]
+ count = 0
+
+ def __init__(self, infile='', lineno=-1):
+ self.infile = infile
+ self.lineno = lineno
+ OSrcLoc.count += 1
+ self.order = OSrcLoc.count # keep track of how many times it was called
+
+ def __lt__(self, x):
+ return self.order < x.order
+
+ # def __repr__(self):
+ # return repr((self.infile, self.lineno, self.order))
+
+
+class TextBlock(object):
+ """TextBlock is just a 3-tuple consisting of a string, and an OSrcLoc
+ to help locate it in the original file from which it was read."""
+
+ __slots__ = ["text", "srcloc"]
+
+ def __init__(self, text, srcloc): # srcloc_end):
+ self.text = text
+ if srcloc == None:
+ self.srcloc = OSrcLoc()
+ else:
+ self.srcloc = srcloc
+ # if srcloc_end == None:
+ # self.srcloc_end = OSrcLoc()
+ # else:
+ # self.srcloc_end = srcloc_end
+
+ def __repr__(self):
+ return '\"' + self.text + '\"'
+
+
+class VarRef(object):
+ """VarRef stores variable names, and paths, and other attribute information,
+ as well as a "OSrcLoc" to keep track of the file it was defined in."""
+
+ __slots__ = ["prefix", "descr_str", "suffix", "srcloc", "binding", "nptr"]
+
+ def __init__(self,
+ prefix='', # '$' or '${'
+ descr_str='', # <- descriptor string: "cpath/category:lpath"
+ suffix='', # '}'
+ srcloc=None, # location in file where defined
+ binding=None, # a pointer to a tuple storing the value
+ nptr=None): # <- see class VarNPtr
+
+ self.prefix = prefix # Any text before the descriptor string goes here
+ self.suffix = suffix # Any text after the descriptor string goes here
+ self.descr_str = descr_str
+ if srcloc == None: # <- Location in text file where variable appears
+ self.srcloc = OSrcLoc()
+ else:
+ self.srcloc = srcloc
+
+ self.binding = binding
+
+ if nptr == None:
+ self.nptr = VarNPtr()
+ else:
+ self.nptr = nptr
+
+ def __lt__(self, x):
+ return self.order < x.order
+
+ # def __repr__(self):
+ # return repr((self.prefix + self.descr_str + self.suffix, srcloc))
+
+
+class VarNPtr(object):
+ """
+ Every time a variable appears in a template, it has has a "descriptor".
+ For example, consider the variable
+ "$atom:CA"
+ This is a string which encodes 3 pieces of information.
+ 1) the category name: This is essentialy indicates the variable's type.
+ (ie "atom", in the example above)
+ 2) the category node: Some TYPES have limited scope. Users can
+ specify the root node of the portion of the tree
+ in which this variable's type makes sense.
+ If this node is the root node, then that category
+ is relevant everywhere, and is not molecule or class
+ specific. All variables have a category node, which
+ is often not explicitly defined to by the user.
+ (Category node = the root "/", in the example above.)
+ 3) the leaf node: This is a node whose ".name" member matches the name
+ of a variable. This node is created for this purpose
+ and it's position in the tree is a reflection of
+ that variable's intended scope.
+ In a molecule this "name" might be the name
+ of a type of atom, or an atom ID, or a bond type,
+ which is found in a particular molecule.
+ (Leaf node would be named "CA" in the example above.)
+
+ The VarNPtr class is simply a 3-tuple which
+ keeps these 3 pieces of data together.
+
+ """
+
+ __slots__ = ["cat_name", "cat_node", "leaf_node"]
+
+ def __init__(self, cat_name='', cat_node=None, leaf_node=None):
+ self.cat_name = cat_name
+ self.cat_node = cat_node
+ self.leaf_node = leaf_node
+
+ # def __repr__(self):
+ # return repr((self.cat_name, self.cat_node.name, self.leaf_node.name))
+
+
+class VarBinding(object):
+ """ VarBinding is essentially a tuple consistng of (full_name, binding, refs):
+
+ "self.full_name" is canonical name for this variable. This is a string
+ which specifies full path leading to the category node (beginning with '/'),
+ the category name (followed by a ':'),
+ as well as the leaf node (including the path leading up to it from cat_node)
+ This triplet identifies the variable uniquely.
+
+ "self.value" is the data that the variable refers to (usually a string).
+
+ "self.refs" stores a list of VarRefs which mention the same variable
+ from the various places inside various templates in the tree.
+
+ """
+
+ __slots__ = ["full_name", "nptr", "value", "refs", "order", "category"]
+
+ def __init__(self,
+ full_name='',
+ nptr=None,
+ value=None,
+ refs=None,
+ order=-1,
+ category=None):
+ self.full_name = full_name
+ self.nptr = nptr
+ self.value = value
+ self.refs = refs
+ self.order = order
+ self.category = category
+
+ def __lt__(self, x):
+ return self.order < x.order
+
+ def __repr__(self):
+ return repr((self.full_name, self.value, self.order))
+
+
+def ExtractCatName(descr_str):
+ """ When applied to a VarRef's "descr_str" member,
+ this function will extract the "catname" of it's corresponding
+ "nptr" member. This can be useful for error reporting.
+ (I use it to insure that the user is using the correct counter
+ variable types at various locations in their input files.)
+
+ """
+
+ ib = descr_str.find(':')
+ if ib == -1:
+ ib = len(descr_str)
+ ia = descr_str.rfind('/')
+ if ia == -1:
+ ia = 0
+ return descr_str[ia:ib]
+ else:
+ str_before_colon = descr_str[0:ib]
+ ia = str_before_colon.rfind('/')
+ if ia == -1:
+ return str_before_colon
+ else:
+ return str_before_colon[ia + 1:]
+
+
+def _DeleteLineFromTemplate(tmpl_list,
+ i_entry, # index into tmpl_list
+ newline_delimiter='\n'):
+ """ Delete a single line from tmpl_list.
+ tmpl_list is an alternating list of VarRefs and TextBlocks.
+ To identify the line, the index corresponding to one of the
+ entries in the tmpl_list is used. (Usually it is a VarRef)
+ The text after the preceeding newline, and the text up to the next newline
+ (starting from the beginning of the current entry, if a TextBlock)
+ is deleted, including any VarRef (variables) located in between.
+
+ It returns the index corresponding to the next
+ entry in the list (after deletion).
+
+ """
+
+ i_prev_newline = i_entry
+ while i_prev_newline >= 0:
+ entry = tmpl_list[i_prev_newline]
+ if isinstance(entry, TextBlock):
+ i_char_newline = entry.text.rfind(newline_delimiter)
+ if i_char_newline != -1: # then newline found
+ # Delete the text after this newline
+ entry.text = entry.text[:i_char_newline + 1]
+ break
+ i_prev_newline -= 1
+
+ first_var = True
+ #i_next_newline = i_entry
+ i_next_newline = i_prev_newline + 1
+ while i_next_newline < len(tmpl_list):
+ entry = tmpl_list[i_next_newline]
+ if isinstance(entry, TextBlock):
+ i_char_newline = entry.text.find(newline_delimiter)
+ if i_char_newline != -1: # then newline found
+ # Delete the text before this newline (including the newline)
+ entry.text = entry.text[i_char_newline + 1:]
+ break
+ # Invoke DeleteSelf() on the first variables on this line. This will
+ # insure that it is deleted from the ttree_assignments.txt file.
+ elif isinstance(entry, VarRef):
+ if first_var:
+ entry.nptr.leaf_node.DeleteSelf()
+ first_var = False
+ i_next_newline += 1
+
+ del tmpl_list[i_prev_newline + 1: i_next_newline]
+ return i_prev_newline + 1
+
+
+def DeleteLinesWithBadVars(tmpl_list,
+ delete_entire_template=False,
+ newline_delimiter='\n'):
+ """
+ Loop through the entries in a template,
+ an alternating list of TextBlocks and VarRefs (tmpl_list).
+ If a VarRef points to a leaf_node which no longer exists
+ (ie. no longer in the corresponding category's .bindings list).
+ Then delete the line it came from from the template (tmpl_list).
+
+ """
+
+ out_str_list = []
+ i = 0
+ while i < len(tmpl_list):
+ entry = tmpl_list[i]
+ if isinstance(entry, VarRef):
+ var_ref = entry
+ var_bindings = var_ref.nptr.cat_node.categories[
+ var_ref.nptr.cat_name].bindings
+ # if var_ref.nptr.leaf_node not in var_bindings:
+ if var_ref.nptr.leaf_node.IsDeleted():
+ if delete_entire_template:
+ del tmpl_list[:]
+ return 0
+ else:
+ i = _DeleteLineFromTemplate(tmpl_list,
+ i,
+ newline_delimiter)
+ else:
+ i += 1
+ else:
+ i += 1
+
+
+def SplitTemplate(ltmpl, delim, delete_blanks=False):
+ """
+ Split a template "ltmpl" into a list of "tokens" (sub-templates)
+ using a single delimiter string "delim".
+
+ INPUT arguments:
+ "ltmpl" should be an list of TextBlocks and VarRefs.
+ "delim" should be a simple string (type str)
+ "delete_blanks" should be a boolean True/False value.
+ When true, successive occurrences of the delimiter
+ should not create blank entries in the output list.
+
+ OUTPUT:
+ A list of tokens.
+ Each "token" is either a TextBlock, a VarRef,
+ or a (flat, 1-dimensional) list containing more than one of these objects.
+ The number of "tokens" returned equals the number of times the delimiter
+ is encountered in any of the TextBlocks in the "ltmpl" argument, plus one.
+ (... Unless "delete_blanks" is set to True.
+ Again, in that case, empty entries in this list are deleted.)
+
+ """
+ assert(type(delim) is str)
+ if not hasattr(ltmpl, '__len__'):
+ ltmpl = [ltmpl]
+
+ tokens_lltmpl = []
+ token_ltmpl = []
+ i = 0
+ while i < len(ltmpl):
+ entry = ltmpl[i]
+ if isinstance(entry, TextBlock):
+ # if hasattr(entry, 'text'):
+ prev_src_loc = entry.srcloc
+
+ tokens_str = entry.text.split(delim)
+
+ lineno = entry.srcloc.lineno
+
+ j = 0
+ while j < len(tokens_str):
+ token_str = tokens_str[j]
+
+ delim_found = False
+ if (j < len(tokens_str) - 1):
+ delim_found = True
+
+ if token_str == '':
+ if delete_blanks:
+ if delim == '\n':
+ lineno += 1
+ if len(token_ltmpl) > 0:
+ if len(token_ltmpl) == 1:
+ tokens_lltmpl.append(token_ltmpl[0])
+ else:
+ tokens_lltmpl.append(token_ltmpl)
+ del token_ltmpl
+ token_ltmpl = []
+ j += 1
+ continue
+
+ new_src_loc = OSrcLoc(prev_src_loc.infile, lineno)
+ new_src_loc.order = prev_src_loc.order
+
+ for c in token_str:
+ # Reminder to self: c != delim (so c!='\n' if delim='\n')
+ # (We keep track of '\n' characters in delimiters above.)
+ if c == '\n':
+ lineno += 1
+
+ new_src_loc.lineno = lineno
+
+ text_block = TextBlock(token_str,
+ new_src_loc)
+
+ prev_src_loc = new_src_loc
+
+ if len(token_ltmpl) == 0:
+ if delim_found:
+ tokens_lltmpl.append(text_block)
+ del token_ltmpl
+ token_ltmpl = []
+ else:
+ token_ltmpl.append(text_block)
+ else:
+ if delim_found:
+ if len(token_str) > 0:
+ token_ltmpl.append(text_block)
+ tokens_lltmpl.append(token_ltmpl)
+ del token_ltmpl
+ token_ltmpl = []
+ else:
+ assert(not delete_blanks)
+ if (isinstance(token_ltmpl[-1], VarRef)
+ and
+ ((j > 0)
+ or
+ ((j == len(tokens_str) - 1) and
+ (i == len(ltmpl) - 1))
+ )):
+ # In that case, this empty token_str corresponds
+ # to a delimiter which was located immediately
+ # after the variable name,
+ # AND
+ # -there is more text to follow,
+ # OR
+ # -we are at the end of the template.
+ token_ltmpl.append(text_block)
+ if len(token_ltmpl) == 1:
+ tokens_lltmpl.append(token_ltmpl[0])
+ else:
+ tokens_lltmpl.append(token_ltmpl)
+ del token_ltmpl
+ token_ltmpl = []
+ else:
+ token_ltmpl.append(text_block)
+
+ if (delim_found and (delim == '\n')):
+ lineno += 1
+
+ j += 1
+
+ elif isinstance(entry, VarRef):
+ # elif hasattr(entry, 'descr_str'):
+ lineno = entry.srcloc.lineno
+ if ((len(token_ltmpl) == 1) and
+ isinstance(token_ltmpl[0], TextBlock) and
+ (len(token_ltmpl[0].text) == 0)):
+ # special case: if the previous entry was "", then it means
+ # the delimeter appeared at the end of the previous text block
+ # leading up to this variable. It separates the variable from
+ # the previous text block. It is not a text block of length 0.
+ token_ltmpl[0] = entry
+ else:
+ token_ltmpl.append(entry)
+ elif entry == None:
+ token_ltmpl.append(entry)
+ else:
+ assert(False)
+
+ i += 1
+
+ # Append left over remains of the last token
+ if len(token_ltmpl) == 1:
+ tokens_lltmpl.append(token_ltmpl[0])
+ elif len(token_ltmpl) > 1:
+ tokens_lltmpl.append(token_ltmpl)
+ del token_ltmpl
+
+ return tokens_lltmpl
+
+
+def SplitTemplateMulti(ltmpl, delims, delete_blanks=False):
+ """
+ Split a template "ltmpl" into a list of templates using a
+ single one or more delimiter strings "delim_list".
+ If multiple delimiter strings are provided, splitting
+ begins using the first delimiter string in the list.
+ Then each token in the resulting list of templates
+ is split using the next delimiter string
+ and so on until we run out of delimiter strings.
+
+ "ltmpl" should be an list of TextBlocks and VarRefs.
+ "delims" should be a simple string (type str) or a list of strings
+ "delete_blanks" is either True or False
+ If True, then any blank entries in the resulting list of
+ tokens (sub-templates) will be deleted.
+
+ """
+
+ if hasattr(delims, '__len__'): # then it hopefully is a list of strings
+ delim_list = delims
+ else:
+ delim_list = [delims] # then it hopefully is a string
+
+ tokens = [ltmpl]
+ for delim in delim_list:
+ assert(type(delim) is str)
+ tokens_il = []
+ for t in tokens:
+ sub_tokens = SplitTemplate(t, delim, delete_blanks)
+ for st in sub_tokens:
+ if hasattr(st, '__len__'):
+ if (len(st) > 0) or (not delete_blanks):
+ tokens_il.append(st)
+ else:
+ tokens_il.append(st)
+ tokens = tokens_il
+ del tokens_il
+
+ return tokens
+
+
+def _TableFromTemplate(d, ltmpl, delimiters, delete_blanks):
+ """
+ See the docstring for the TableFromTemplate() function for an explanation.
+ (This _TableFromTemplate() and SplitTemplate() are the workhorse functions
+ for TableFromTemplate().)
+
+ """
+
+ output = SplitTemplateMulti(ltmpl, delimiters[d], delete_blanks[d])
+
+ if d > 0:
+ i = 0
+ while i < len(output):
+ output[i] = _TableFromTemplate(d - 1,
+ output[i],
+ delimiters,
+ delete_blanks)
+ # Delete empty LISTS?
+ if (delete_blanks[d] and
+ hasattr(output[i], '__len__') and
+ (len(output[i]) == 0)):
+ del output[i]
+ else:
+ i += 1
+
+ return output
+
+
+def TableFromTemplate(ltmpl, delimiters, delete_blanks=True):
+ """
+ This function can be used to split a template
+ (a list containing TextBlocks and VarRefs) into a table
+ into a multidimensional table, with an arbitrary number of dimensions.
+
+ Arguments:
+
+ ltmpl
+
+ An alternating list of TextBlocks and VarRefs containing
+ the contents of this text template.
+
+ delimiters
+
+ The user must supply a list or tuple of delimiters: one delimiter for
+ each dimension in the table, with low-priority delimiters
+ (such as spaces ' ') appearing first, and higher-priority delimiters
+ (sich as newlines '\n') appearing later on in the list.
+ This function will divide the entire "ltmpl" into an n-dimensional
+ table. Initially the text is split into a list of text using the
+ highest-priority delimiter. Then each entry in the resulting list is
+ split into another list according to the next highest-priority delimiter.
+ This continues until all of the delimiters are used up and an
+ n-dimensional list-of-lists is remaining.
+
+ delete_blanks
+
+ The optional "delete_blanks" argument can be used to indicate whether
+ or not to delete blank entries in the table (which occur as a result
+ of placing two delimiters next to each other). It should be either
+ None (default), or it should be an array of booleans matching the
+ size of the "delimiters" argument. This allows the caller to customize
+ the merge settings separately for each dimension (for example: to allow
+ merging of whitespace within a line, without ignoring blank lines).
+
+
+ ---- Details: ----
+
+ 1) Multi-character delimiters ARE allowed (like '\n\n').
+
+ 2) If a delimiter in the "delimiters" argument is not a string
+ but is a tuple (or a list) of strings, then the text is split according
+ to any of the delimiters in that tuple/list (starting from the last entry).
+ This way, users can use this feature to split text according to multiple
+ different kinds of whitespace characters (such as ' ' and '\t'), for
+ example, buy setting delimiters[0] = (' ','\t'). If, additionally,
+ delete_blanks[0] == True, then this will cause this function to
+ divide text in without regard to whitespace on a given line (for example).
+
+ Detailed example:
+
+ table2D = TableFromTmplList(ltmpl,
+ delimiters = ((' ','\t'), '\n'),
+ delete_blanks = (True, False))
+
+ This divides text in a similar way that the "awk" program does by default,
+ ie, by ignoring various kinds of whitespace between text fields, but NOT
+ ignoring blank lines.
+
+ 3) Any text contained in variable-names is ignored.
+
+ """
+
+ # Make a copy of ltmpl
+ # (The workhorse function "_TableFromTemplate()" makes in-place changes to
+ # its "ltmpl" argument. I don't want to modify "ltmpl", so I make a copy
+ # of it before I invoke "_TableFromTemplate()" on it.)
+
+ output = [ltmpl[i] for i in range(0, len(ltmpl))]
+
+ d = len(delimiters) - 1
+ output = _TableFromTemplate(d, output, delimiters, delete_blanks)
+ return output
+
+
+class TemplateLexer(TtreeShlex):
+ """ This class extends the standard python lexing module, shlex, adding a
+ new member function (ReadTemplate()), which can read in a block of raw text,
+ (halting at an (non-escaped) terminal character), and split the text into
+ alternating blocks of text and variables. (As far as this lexer is
+ concerned, "variables" are simply tokens preceeded by $ or @ characters,
+ and surrounded by optional curly-brackets {}.)
+
+ """
+
+ def __init__(self,
+ instream=None,
+ infile=None,
+ posix=False):
+ TtreeShlex.__init__(self, instream, infile, posix)
+ self.var_delim = '$@' # characters which can begin a variable name
+ self.var_open_paren = '{' # optional parenthesis surround a variable
+ self.var_close_paren = '}' # optional parenthesis surround a variable
+ self.newline = '\n'
+ self.comment_skip_var = '#'
+
+ # Which characters belong in words?
+ #
+ # We want to allow these characters:
+ # ./$@&%^!*~`-_:;?<>[]()
+ # to appear inside the tokens that TtreeShlex.get_token()
+ # retrieves (TtreeShlex.get_token() is used to read class
+ # names, and instance names, and variable names)
+ #
+ # settings.lex.wordchars+='./$@&%^!*~`-_+:;?<>[]' #Allow these chars
+ #
+ # Ommisions:
+ # Note: I left out quotes, whitespace, comment chars ('#'), and escape
+ # characters ('\\') because they are also dealt with separately.
+ # Those characters should not overlap with settings.lex.wordchars.
+ #
+ # Enabling unicode support requires that we override this choice
+ # by specifying "lex.wordterminators" instead of "wordchars".
+ #
+ # lex.wordterminators should be the (printable) set inverse of lex.wordchars
+ # I'm not sure which ascii characters are NOT included in the string above
+ # (We need to figure that out, and put them in settings.lex.wordterminators)
+ # To figure that out, uncomment the 8 lines below:
+ #
+ # self.wordterminators=''
+ # for i in range(0,256):
+ # c = chr(i)
+ # if c not in self.wordchars:
+ # self.wordterminators += c
+ #sys.stderr.write('-------- wordterminators = --------\n')
+ # sys.stderr.write(self.wordterminators+'\n')
+ # sys.stderr.write('-----------------------------------\n')
+ #
+ # Here is the result:
+ self.wordterminators = '(){|}' + \
+ self.whitespace + \
+ self.quotes + \
+ self.operators + \
+ self.escape + \
+ self.commenters
+ # Note:
+ # self.whitespace = ' \t\r\f\n'
+ # self.quotes = '\'"'
+ # self.escape = '\\'
+ # self.commenters = '#'
+ # Note: I do not terminate on these characters: +-=*'"`
+ # because they appear in the names of atom types in many force-fields.
+ # Also * characters are needed for variables containing wildcards
+ # in the name (which will be dealt with later).
+
+ self.source_triggers = set(['include', 'import'])
+ self.source_triggers_x = set(['import'])
+
+ def GetSrcLoc(self):
+ return OSrcLoc(self.infile, self.lineno)
+
+ def ReadTemplate(self,
+ simplify_output=False,
+ terminators='}',
+ other_esc_chars='{',
+ keep_terminal_char=True):
+ """
+ ReadTemplate() reads a block of text (between terminators)
+ and divides it into variables (tokens following a '$' or '@' character)
+ and raw text. This is similar to pythons string.Template(),
+ however it reads from streams (files), not strings, and it allows use
+ of more complicated variable names with multiple variable delimiters
+ (eg '$' and '@').
+ This readline()-like member function terminates when reaching a
+ user-specified terminator character character (second argument),
+ or when variable (eg: "$var"$ is encountered). The result is
+ a list of variable-separated text-blocks (stored in the first
+ argument). For example, the string:
+ "string with $var1 and $var2 variables.}" contains:
+ "string with ",
+ $var1,
+ " and ",
+ $var2,
+ " variables.}"
+ This simplifies the final process of rendering
+ (substituting text into) the text blocks later on.
+ Output:
+ This function returns a list of (alternating) blocks of
+ text, and variable names. Each entry in the list is either:
+ 1) a text block:
+ Raw text is copied from the source, verbatim, along with
+ some additional data (filename and line numbers), to
+ help retroactively identify where the text came from
+ (in case a syntax error in the text is discovered later).
+ In this case, the list entry is stored as a list
+ The format (TextBlock) is similar to:
+ [text_string, ((filenameA,lineBegin), (filenameB,lineEnd))],
+ where the tuples, (filenameA,lineBegin) and (filenameB,lineEnd)
+ denote the source file(s) from which the text was read, and
+ line number at the beginning and ending of the text block.
+ (This information is useful for generating helpful error
+ messages. Note that the "TtreeShlex" class allows users to
+ combine multiple files transparently into one stream using
+ the "source" (or "sourcehook()") member. For this reason, it
+ is possible, although unlikely, that the text-block
+ we are reading could span multiple different files.)
+ 2) a variable (for example "$var" or "${var}"):
+ In this case, the list entry is stored in the "VarRef" format
+ which is essentialy shown below:
+ [[var_prefix, var_nptr, var_suffix], (filename,lineno)]
+ where var_prefix and var_suffix are strings containing brackets
+ and other text enclosing the variable name (and may be empty).
+
+ As an example, we consider a file named "datafile" which
+ contains the text containing 2 text blocks and 1 variable:
+ "some\n text\n before ${var}. Text after\n".
+ ReadTemplate() will read this and return a list with 3 entries:
+ [ ['some\n text\n before', (('datafile', 1), ('datafile', 3))],
+ [['${', 'var', '}'], ('datafile', 3, 3)],
+ ['Text after\n', (('datafile', 3), ('datafile', 4))] ]
+
+ Note that while parsing the text, self.lineno counter is
+ incremented whenever a newline character is encountered.
+ (Also: Unlike shlex.get_token(), this function does not
+ delete commented text, or insert text from other files.)
+
+ Exceptional Cases:
+ Terminator characters are ignored if they are part of a variable
+ reference. (For example, the '}' in "${var}", is used to denote a
+ bracketed variable, and does not cause ReadTemplate() to stop reading)
+ OR if they are part of a two-character escape sequence
+ (for example, '}' in "\}" does not cause terminate parsing).
+ In that case, the text is considered normal text. (However the
+ '\' character is also stripped out. It is also stripped out if it
+ preceeds any characters in "other_esc_chars", which is
+ the second argument. Otherwise it is left in the text block.)
+
+ """
+ #sys.stderr.write(' ReadTemplate('+terminators+') invoked at '+self.error_leader())
+
+ # The main loop of the parser reads only one variable at time.
+ # The following variables keep track of where we are in the template.
+ reading_var = False # Are we currently reading in the name of a variable?
+
+ prev_char_delim = False # True iff we just read a var_delim character like '$'
+ # True iff we just read a (non-escaped) esc character '\'
+ escaped_state = False
+ # True iff we are in a region of text where vars should be ignored
+ commented_state = False
+ var_paren_depth = 0 # This is non-zero iff we are inside a
+ # bracketed variable's name for example: "${var}"
+ var_terminators = self.whitespace + self.newline + self.var_delim + '{}'
+
+ tmpl_list = [] # List of alternating tuples of text_blocks and
+ # variable names (see format comment above)
+ # This list will be returned to the caller.
+
+ # sys.stderr.write('report_progress='+str(report_progress))
+
+ prev_filename = self.infile
+ prev_lineno = self.lineno
+ var_prefix = ''
+ var_descr_plist = []
+ var_suffix = ''
+ text_block_plist = []
+
+ done_reading = False
+
+ while not done_reading:
+
+ terminate_text = False
+ terminate_var = False
+ #delete_prior_escape = False
+
+ nextchar = self.read_char()
+
+ #sys.stderr.write(' ReadTemplate() nextchar=\''+nextchar+'\' at '+self.error_leader()+' esc='+str(escaped_state)+', pvar='+str(prev_char_delim)+', paren='+str(var_paren_depth))
+
+ # Count newlines:
+ if nextchar in self.newline:
+ commented_state = False
+ self.lineno += 1
+
+ elif ((nextchar in self.comment_skip_var) and
+ (not escaped_state)):
+ commented_state = True
+
+ # Check for end-of-file:
+ if nextchar == '':
+
+ if escaped_state:
+ raise InputError('Error: in ' + self.error_leader() + '\n\n'
+ 'No escaped character.')
+ if reading_var:
+ terminate_var = True
+ else:
+ terminate_text = True
+
+ done_reading = True
+
+ # --- Now process the character: ---
+
+ # What we do next depends on which "mode" we are in.
+ # If we are reading a regular text block (reading_var == False),
+ # then we keep appending characters onto the end of "text_block",
+ # checking for terminal characters, or variable delimiters.
+ # If we are reading a variable name (reading_var == True),
+ # then we append characters to the end of "var_descr_plist[]",
+ # checking for variable terminator characters, as well as
+ # parenthesis (some variables are surrounded by parenthesis).
+
+ elif reading_var:
+
+ if nextchar in terminators:
+ #sys.stdout.write(' ReadTemplate() readmode found terminator.\n')
+ if escaped_state:
+ # In this case, the '\' char was only to prevent terminating
+ # string prematurely, so delete the '\' character.
+ #delete_prior_escape = True
+ if not (nextchar in self.var_close_paren):
+ del var_descr_plist[-1]
+ var_descr_plist.append(nextchar)
+
+ elif not ((var_paren_depth > 0) and (nextchar in self.var_close_paren)):
+ terminate_var = True
+ done_reading = True
+
+ if nextchar in self.var_open_paren: # eg: nextchar == '{'
+ #sys.stdout.write(' ReadTemplate() readmode found {.\n')
+ if escaped_state:
+ # In this case, the '\' char was only to prevent
+ # interpreting '{' as a variable prefix
+ # delete_prior_escape=True # so delete the '\'
+ # character
+ del var_descr_plist[-1]
+ var_descr_plist.append(nextchar)
+ else:
+ # "${var}" is a valid way to refer to a variable
+ if prev_char_delim:
+ var_prefix += nextchar
+ var_paren_depth = 1
+ # "${{var}}" is also a valid way to refer to a variable,
+ # (although strange), but "$va{r}" is not.
+ # Parenthesis (in bracketed variable names) must
+ # immediately follow the '$' character (as in "${var}")
+ elif var_paren_depth > 0:
+ var_paren_depth += 1
+
+ elif nextchar in self.var_close_paren:
+ #sys.stdout.write(' ReadTemplate() readmode found }.\n')
+ if escaped_state:
+ # In this case, the '\' char was only to prevent
+ # interpreting '}' as a variable suffix,
+ # delete_prior_escape=True #so skip the '\' character
+ if (nextchar not in terminators):
+ del var_descr_plist[-1]
+ var_descr_plist.append(nextchar)
+ else:
+ if var_paren_depth > 0:
+ var_paren_depth -= 1
+ if var_paren_depth == 0:
+ var_suffix = nextchar
+ terminate_var = True
+
+ elif nextchar in var_terminators:
+ #sys.stdout.write(' ReadTemplate() readmode found var_terminator \"'+nextchar+'\"\n')
+ if (escaped_state or (var_paren_depth > 0)):
+ # In this case, the '\' char was only to prevent
+ # interpreting nextchar as a variable terminator
+ # delete_prior_escape = True # so skip the '\'
+ # character
+ del var_descr_plist[-1]
+ var_descr_plist.append(nextchar)
+ else:
+ terminate_var = True
+
+ elif nextchar in self.var_delim: # such as '$'
+ #sys.stdout.write(' ReadTemplate() readmode found var_delim.\n')
+ if escaped_state:
+ # In this case, the '\' char was only to prevent
+ # interpreting '$' as a new variable name
+ # delete_prior_escape = True # so skip the '\'
+ # character
+ del var_descr_plist[-1]
+ var_descr_plist.append(nextchar)
+ else:
+ prev_var_delim = True
+ # Then we are processing a new variable name
+ terminate_var = True
+ else:
+ var_descr_plist.append(nextchar)
+ prev_char_delim = False
+
+ else: # begin else clause for "if reading_var:"
+
+ # Then we are reading a text_block
+
+ if nextchar in terminators:
+ if escaped_state:
+ # In this case, the '\' char was only to prevent terminating
+ # string prematurely, so delete the '\' character.
+ #delete_prior_escape = True
+ del text_block_plist[-1]
+ text_block_plist.append(nextchar)
+ elif commented_state:
+ text_block_plist.append(nextchar)
+ else:
+ terminate_text = True
+ done_reading = True
+
+ elif nextchar in self.var_delim: # such as '$'
+ if escaped_state:
+ # In this case, the '\' char was only to prevent
+ # interpreting '$' as a variable prefix.
+ # delete_prior_escape=True #so delete the '\'
+ # character
+ del text_block_plist[-1]
+ text_block_plist.append(nextchar)
+ elif commented_state:
+ text_block_plist.append(nextchar)
+ else:
+ prev_char_delim = True
+ reading_var = True
+ var_paren_depth = 0
+ terminate_text = True
+ else:
+ text_block_plist.append(nextchar)
+ # TO DO: use "list_of_chars.join()" instead of '+='
+ prev_char_delim = False # the previous character was not '$'
+
+ # Now deal with "other_esc_chars"
+ # if escaped_state and (nextchar in other_esc_chars):
+
+ if escaped_state and (nextchar in other_esc_chars):
+ if reading_var:
+ #sys.stdout.write(' ReadTemplate: var_descr_str=\''+''.join(var_descr_plist)+'\'\n')
+ assert(var_descr_plist[-2] in self.escape)
+ del var_descr_plist[-2]
+ else:
+ #sys.stdout.write(' ReadTemplate: text_block=\''+''.join(text_block_plist)+'\'\n')
+ assert(text_block_plist[-2] in self.escape)
+ del text_block_plist[-2]
+
+ if terminate_text:
+ #sys.stdout.write('ReadTemplate() appending: ')
+ # sys.stdout.write(text_block)
+
+ # tmpl_list.append( [text_block,
+ # ((prev_filename, prev_lineno),
+ # (self.infile, self.lineno))] )
+
+ if simplify_output:
+ tmpl_list.append(''.join(text_block_plist))
+ else:
+ tmpl_list.append(TextBlock(''.join(text_block_plist),
+ OSrcLoc(prev_filename, prev_lineno)))
+ #, OSrcLoc(self.infile, self.lineno)))
+ if not done_reading:
+ # The character that ended the text block
+ # was a variable delimiter (like '$'), in which case
+ # we should put it (nextchar) in the variable's prefix.
+ var_prefix = nextchar
+ else:
+ var_prefix = ''
+ var_descr_plist = []
+ var_suffix = ''
+ prev_filename = self.infile
+ prev_lineno = self.lineno
+ del text_block_plist
+ text_block_plist = []
+ # gc.collect()
+
+ elif terminate_var:
+ # Print an error if we terminated in the middle of
+ # an incomplete variable name:
+ if prev_char_delim:
+ raise InputError('Error: near ' + self.error_leader() + '\n\n'
+ 'Null variable name.')
+ if var_paren_depth > 0:
+ raise InputError('Error: near ' + self.error_leader() + '\n\n'
+ 'Incomplete bracketed variable name.')
+
+ var_descr_str = ''.join(var_descr_plist)
+
+ # Now check for variable format modifiers,
+ # like python's ".rjust()" and ".ljust()".
+ # If present, then put these in the variable suffix.
+ if ((len(var_descr_plist) > 0) and (var_descr_plist[-1] == ')')):
+ #i = len(var_descr_plist)-1
+ # while i >= 0:
+ # if var_descr_plist[i] == '(':
+ # break
+ # i -= 1
+ i = var_descr_str.rfind('(')
+ if (((i - 6) >= 0) and
+ ((var_descr_str[i - 6:i] == '.rjust') or
+ (var_descr_str[i - 6:i] == '.ljust'))):
+ var_suffix = ''.join(
+ var_descr_plist[i - 6:]) + var_suffix
+ #var_descr_plist = var_descr_plist[:i-6]
+ var_descr_str = var_descr_str[:i - 6]
+
+ # Process any special characters in the variable name
+ var_descr_str = EscCharStrToChar(var_descr_str)
+
+ # tmpl_list.append( [[var_prefix, var_descr_str, var_suffix],
+ # (self.infile, self.lineno)] )
+ if simplify_output:
+ tmpl_list.append(var_prefix + var_descr_str + var_suffix)
+ else:
+ tmpl_list.append(VarRef(var_prefix, var_descr_str, var_suffix,
+ OSrcLoc(self.infile, self.lineno)))
+
+ # if report_progress:
+ #sys.stderr.write(' parsed variable '+var_prefix+var_descr_str+var_suffix+'\n')
+
+ #sys.stdout.write('ReadTemplate() appending: ')
+ #sys.stderr.write(var_prefix + var_descr_str + var_suffix)
+
+ del var_descr_plist
+ del var_descr_str
+
+ prev_filename = self.infile
+ prev_lineno = self.lineno
+ var_prefix = ''
+ var_descr_plist = []
+ var_suffix = ''
+ # Special case: Variable delimiters like '$'
+ # terminate the reading of variables,
+ # but they also signify that a new
+ # variable is being read.
+ if nextchar in self.var_delim:
+ # Then we are processing a new variable name
+ prev_var_delim = True
+ reading_var = True
+ var_paren_depth = 0
+ var_prefix = nextchar
+
+ elif nextchar in self.var_close_paren:
+ del text_block_plist
+ text_block_plist = []
+ # gc.collect()
+ prev_var_delim = False
+ reading_var = False
+
+ else:
+ # Generally, we don't want to initialize the next text block
+ # with the empty string. Consider that whatever character
+ # caused us to stop reading the previous variable and append
+ # it to the block of text that comes after.
+ del text_block_plist
+ text_block_plist = [nextchar]
+ # gc.collect()
+ prev_var_delim = False
+ reading_var = False
+
+ # If we reached the end of the template (and the user requests it),
+ # then the terminal character can be included in the list
+ # of text_blocks to be returned to the caller.
+ if done_reading and keep_terminal_char:
+ #sys.stdout.write('ReadTemplate() appending: \''+nextchar+'\'\n')
+ # Here we create a new text block which contains only the
+ # terminal character (nextchar).
+ # tmpl_list.append( [nextchar,
+ # ((self.infile, self.lineno),
+ # (self.infile, self.lineno))] )
+ if simplify_output:
+ tmpl_list.append(nextchar)
+ else:
+ tmpl_list.append(TextBlock(nextchar,
+ OSrcLoc(self.infile, self.lineno)))
+ #, OSrcLoc(self.infile, self.lineno)))
+
+ if escaped_state:
+ escaped_state = False
+ else:
+ if nextchar in self.escape:
+ escaped_state = True
+
+ #sys.stderr.write("*** TMPL_LIST0 = ***", tmpl_list)
+ return tmpl_list # <- return value stored here
+
+ def GetParenExpr(self, prepend_str='', left_paren='(', right_paren=')'):
+ """ GetParenExpr() is useful for reading in strings
+ with nested parenthesis and spaces.
+ This function can read in the entire string:
+
+ .trans(0, 10.0*sin(30), 10.0*cos(30))
+
+ (Because I was too lazy to write this correctly...)
+ Spaces are currently stripped out of the expression.
+ (...unless surrounded by quotes) The string above becomes:
+
+ ".trans(0,10.0*sin(30),10.0*cos(30))"
+
+ Sometimes the caller wants to prepend some text to the beginning
+ of the expression (which may contain parenthesis). For this
+ reason, an optional first argument ("prepend_str") can be
+ provided. By default it is empty.
+
+ """
+
+ src_loc_begin = SrcLoc(self.infile, self.lineno)
+ orig_wordterm = self.wordterminators
+ self.wordterminators = self.wordterminators.replace(
+ left_paren, '').replace(right_paren, '')
+
+ token = self.get_token()
+ if ((token == '') or
+ (token == self.eof)):
+ return prepend_str
+
+ expr_str = prepend_str + token
+
+ # if (expr_str.find(left_paren) == -1):
+ # raise InputError('Error near or before '+self.error_leader()+'\n'
+ # 'Expected an open-paren (\"'+prepend_str+left_paren+'\") before this point.\n')
+ # return expr_str
+
+ paren_depth = expr_str.count(left_paren) - expr_str.count(right_paren)
+ while ((len(expr_str) == 0) or (paren_depth > 0)):
+ token = self.get_token()
+ if ((type(token) is not str) or
+ (token == '')):
+ raise InputError('Error somewhere between ' +
+ self.error_leader(src_loc_begin.infile,
+ src_loc_begin.lineno)
+ + 'and ' + self.error_leader() + '\n'
+ 'Invalid expression: \"' + expr_str[0:760] + '\"')
+ expr_str += token
+ paren_depth = expr_str.count(
+ left_paren) - expr_str.count(right_paren)
+ if (paren_depth != 0):
+ raise InputError('Error somewhere between ' +
+ self.error_leader(src_loc_begin.infile,
+ src_loc_begin.lineno)
+ + 'and ' + self.error_leader() + '\n'
+ 'Invalid expression: \"' + expr_str[0:760] + '\"')
+ self.wordterminators = orig_wordterm
+ return expr_str
+
+
+if __name__ == '__main__':
+ if len(sys.argv) == 1:
+ lexer = TtreeShlex()
+ else:
+ file = sys.argv[1]
+ lexer = TtreeShlex(open(file), file)
+ while 1:
+ tt = lexer.get_token()
+ if tt:
+ sys.stderr.write("Token: " + repr(tt))
+ else:
+ break
diff --git a/tools/moltemplate/moltemplate/ttree_matrix_stack.py b/tools/moltemplate/moltemplate/ttree_matrix_stack.py
new file mode 100644
index 000000000..9c45fdc48
--- /dev/null
+++ b/tools/moltemplate/moltemplate/ttree_matrix_stack.py
@@ -0,0 +1,841 @@
+# Author: Andrew Jewett (jewett.aij@gmail.com)
+# http://www.chem.ucsb.edu/~sheagroup
+# License: 3-clause BSD License (See LICENSE.TXT)
+# Copyright (c) 2012, Regents of the University of California
+# All rights reserved.
+
+import random, math
+from collections import deque
+from array import array
+
+try:
+ from .ttree_lex import InputError, ErrorLeader, OSrcLoc
+except (SystemError, ValueError):
+ # not installed as a package
+ from ttree_lex import InputError, ErrorLeader, OSrcLoc
+
+def MultMat(dest, A, B):
+ """ Multiply two matrices together. Store result in "dest".
+
+ """
+ I = len(A)
+ J = len(B[0])
+ K = len(B) # or len(A[0])
+ for i in range(0, I):
+ for j in range(0, J):
+ dest[i][j] = 0.0
+ for k in range(0, K):
+ dest[i][j] += A[i][k] * B[k][j]
+
+
+def MatToStr(M):
+ strs = []
+ for i in range(0, len(M)):
+ for j in range(0, len(M[i])):
+ strs.append(str(M[i][j]) + ' ')
+ strs.append('\n')
+ return(''.join(strs))
+
+
+def LinTransform(dest, M, x):
+ """ Multiply matrix M by 1-dimensioal array (vector) "x" (from the right).
+ Store result in 1-dimensional array "dest".
+ In this function, wetreat "x" and "dest" as a column vectors.
+ (Not row vectors.)
+
+ """
+ I = len(M)
+ J = len(x)
+ for i in range(0, I):
+ dest[i] = 0.0
+ for j in range(0, J):
+ dest[i] += M[i][j] * x[j]
+
+
+def AffineTransform(dest, M, x):
+ """ This function performs an affine transformation on vector "x".
+ Multiply 3-dimensional vector "x" by first three columns of 3x4
+ matrix M. Add to this the final column of M. Store result in "dest":
+ dest[0] = M[0][0]*x[0] + M[0][1]*x[1] + M[0][2]*x[2] + M[0][3]
+ dest[1] = M[1][0]*x[0] + M[1][1]*x[1] + M[1][2]*x[2] + M[1][3]
+ dest[2] = M[2][0]*x[0] + M[2][1]*x[1] + M[2][2]*x[2] + M[2][3]
+
+ """
+ D = len(M)
+ #assert(len(M[0]) == D+1)
+ for i in range(0, D):
+ dest[i] = 0.0
+ for j in range(0, D):
+ dest[i] += M[i][j] * x[j]
+ dest[i] += M[i][D] # (translation offset stored in final column)
+
+
+def AffineCompose(dest, M2, M1):
+ """
+ Multiplication for pairs of 3x4 matrices is technically undefined.
+ However what we want to do is compose two affine transformations: M1 and M2
+
+ 3x4 matrices are used to define rotations/translations
+ x' = M[0][0]*x + M[0][1]*y + M[0][2]*z + M[0][3]
+ y' = M[1][0]*x + M[1][1]*y + M[1][2]*z + M[1][3]
+ z' = M[2][0]*x + M[2][1]*y + M[2][2]*z + M[2][3]
+
+ We want to create a new 3x4 matrix representing an affine transformation
+ (M2 M1), defined so that when (M2 M1) is applied to vector x, the result is
+ M2 (M1 x). In other words:
+ first, affine transformation M1 is applied to to x
+ then, affine transformation M2 is applied to (M1 x)
+
+ """
+
+ D = len(M1)
+ #assert(len(M1[0]) == D+1)
+ #assert(len(M2[0]) == D+1)
+ for i in range(0, D):
+ dest[i][D] = 0.0
+ for j in range(0, D + 1):
+ dest[i][j] = 0.0
+ for k in range(0, D):
+ dest[i][j] += M2[i][k] * M1[k][j]
+ dest[i][D] += M2[i][D]
+
+
+def CopyMat(dest, source):
+ for i in range(0, len(source)):
+ for j in range(0, len(source[i])):
+ dest[i][j] = source[i][j]
+
+
+class AffineStack(object):
+ """
+ This class defines a matrix stack used to define compositions of affine
+ transformations of 3 dimensional coordinates (rotation and translation).
+ Affine transformations are represented using 3x4 matrices.
+ (Coordinates of atoms are thought of as column vectors: [[x],[y],[z]],
+ although they are represented internally in the more ordinary way [x,y,z].
+ To aplly an affine transformation to a vector, multiply the vector
+ by the matrix, from the left-hand side, as explained in the comments for:
+ AffineTransform(dest, M, x)
+ Note: The last column of the 3x4 matrix stores a translational offset.
+ This bears similarity with the original OpenGL matrix stack
+ http://content.gpwiki.org/index.php/OpenGL:Tutorials:Theory
+ (OpenGL uses 4x4 matrices. We don't need the final row of these matrices,
+ because in OpenGL, these rows are used for perspective transformations.)
+ http://en.wikipedia.org/wiki/Homogeneous_coordinates#Use_in_computer_graphics
+
+ """
+
+ def __init__(self):
+ self.stack = None
+ self.M = None
+ self._tmp = None
+ self.Clear()
+
+ def Clear(self):
+ self.stack = deque([])
+ self.M = [[1.0, 0.0, 0.0, 0.0],
+ [0.0, 1.0, 0.0, 0.0],
+ [0.0, 0.0, 1.0, 0.0]] # (identity, initially)
+ self._tmp = [[1.0, 0.0, 0.0, 0.0],
+ [0.0, 1.0, 0.0, 0.0],
+ [0.0, 0.0, 1.0, 0.0]]
+
+ def PushRight(self, M):
+ # Push a copy of matrix self.M onto the stack
+ # We make no distinction between "right" and "left" here.
+ # All transformations are pushed onto the stack in the same way.
+ # (The "right" and "left" refer to whether the matrix is multiplied
+ # on the right of left hand side. Because not all matrices need be
+ # invertible, we require that matrices be popped from the stack
+ # in the reverse order they were pushed. This prevents the ability
+ # to push and pop matrices to either end of the stack in an arbitrary
+ # order (like append(), appendleft(), pop(), popleft()).)
+ self.stack.append([[self.M[i][j] for j in range(0, len(self.M[i]))]
+ for i in range(0, len(self.M))])
+ # The "Right" and "Left" refer to whether the new matrix is multiplied
+ # on the right or left side of the culmulatie matrix product.
+ # Afterwards, self._tmp = self.M * M
+ AffineCompose(self._tmp, self.M, M)
+
+ # sys.stderr.write('DEBUG: PushLeft()\n' +
+ # MatToStr(self._tmp) + '\n = \n' +
+ # MatToStr(M) + '\n * \n' +
+ # MatToStr(self.M) + '\n')
+
+ CopyMat(self.M, self._tmp) # Copy self._tmp into self.M
+
+ def PushLeft(self, M):
+ # Push a copy of matrix self.M onto the stack
+ # We make no distinction between right and left here.
+ # All transformations are pushed onto the stack in the same way.
+ # (The "right" and "left" refer to whether the matrix is multiplied
+ # on the right of left hand side. Because not all matrices need be
+ # invertible, we require that matrices be popped from the stack
+ # in the reverse order they were pushed. This prevents the ability
+ # to push and pop matrices to either end of the stack in an arbitrary
+ # order (like append(), appendleft(), pop(), popleft()).)
+ self.stack.append([[self.M[i][j] for j in range(0, len(self.M[i]))]
+ for i in range(0, len(self.M))])
+ # The "Right" and "Left" refer to whether the new matrix is multiplied
+ # on the right or left side of the culmulatie matrix product.
+ # Afterwards, self._tmp = M * self.M
+ AffineCompose(self._tmp, M, self.M)
+
+ # sys.stderr.write('DEBUG: PushLeft()\n' +
+ # MatToStr(self._tmp) + '\n = \n' +
+ # MatToStr(M) + '\n * \n' +
+ # MatToStr(self.M) + '\n')
+
+ CopyMat(self.M, self._tmp) # Copy self.tmp into self.M
+
+ def Pop(self):
+ CopyMat(self.M, self.stack.pop())
+ # (No need to return a matrix,"self.M",after popping.
+ # The caller can directly access self.M later.)
+ # return self.M
+
+ def PopRight(self):
+ self.Pop()
+
+ def PopLeft(self):
+ self.Pop()
+
+ def PushCommandsRight(self,
+ text, # text containing affine transformation commands
+ # The next two arguments are optional:
+ src_loc=OSrcLoc(), # for debugging
+ xcm=None): # position of center of object
+ """Generate affine transformation matrices from simple text commands
+ (such as \"rotcm(90,0,0,1)\" and \"move(0,5.0,0)".
+ Chains of "rotcm", "movecm", "rot", and "move" commands
+ can also be strung together:
+ \"rotcm(90,0,0,1).move(0,5.0,0)\"
+ Commands ending in \"cm\" are carried out relative to center-of-mass
+ (average position) of the object, and consequently require
+ an additional argument (\"xcm\").
+
+ """
+ self.PushRight(AffineStack.CommandsToMatrix(text, src_loc, xcm))
+
+ def PushCommandsLeft(self,
+ text, # text containing affine transformation commands
+ # The next two arguments are optional:
+ src_loc=OSrcLoc(), # for debugging
+ xcm=None): # position of center of object
+ self.PushLeft(AffineStack.CommandsToMatrix(text, src_loc, xcm))
+
+ def __len__(self):
+ return 1 + len(self.stack)
+
+ @staticmethod
+ def CommandsToMatrix(text, # text containing affine transformation commands
+ src_loc=OSrcLoc(), # for debugging
+ xcm=None): # position of center of object
+ Mdest = [[1.0, 0.0, 0.0, 0.0], [
+ 0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0]]
+ M = [[1.0, 0.0, 0.0, 0.0], [0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0]]
+ Mtmp = [[1.0, 0.0, 0.0, 0.0], [
+ 0.0, 1.0, 0.0, 0.0], [0.0, 0.0, 1.0, 0.0]]
+
+ transform_commands = text.split(').')
+ for transform_str in transform_commands:
+ if transform_str.find('move(') == 0:
+ i_paren_close = transform_str.find(')')
+ if i_paren_close == -1:
+ i_paren_close = len(transform_str)
+ args = transform_str[5:i_paren_close].split(',')
+ if (len(args) != 3):
+ raise InputError('Error near ' + ErrorLeader(src_loc.infile, src_loc.lineno) + ':\n'
+ ' Invalid command: \"' + transform_str + '\"\n'
+ ' This command requires 3 numerical arguments.')
+ M = [[1.0, 0.0, 0.0, float(args[0])],
+ [0.0, 1.0, 0.0, float(args[1])],
+ [0.0, 0.0, 1.0, float(args[2])]]
+ AffineCompose(Mtmp, M, Mdest)
+ CopyMat(Mdest, Mtmp)
+
+ # if transform_str.find('movecm(') == 0:
+ # # assert(xcm != None)
+ # i_paren_close = transform_str.find(')')
+ # if i_paren_close == -1:
+ # i_paren_close = len(transform_str)
+ # args = transform_str[8:i_paren_close].split(',')
+ # if (len(args) != 3):
+ # raise InputError('Error near '+ErrorLeader(src_loc.infile, src_loc.lineno)+':\n'
+ # ' Invalid command: \"'+transform_str+'\"\n'
+ # ' This command requires 3 numerical arguments.')
+ # M = [[1.0, 0.0, 0.0, float(args[0])-(xcm[0])],
+ # [0.0, 1.0, 0.0, float(args[1])-(xcm[1])],
+ # [0.0, 0.0, 1.0, float(args[2])-(xcm[2])]]
+ # AffineCompose(Mtmp, M, Mdest)
+ # CopyMat(Mdest, Mtmp)
+
+ elif transform_str.find('move_rand(') == 0:
+ i_paren_close = transform_str.find(')')
+ if i_paren_close == -1:
+ i_paren_close = len(transform_str)
+ args = transform_str[10:i_paren_close].split(',')
+
+ seed = 1
+ if len(args) in (2,4,7):
+ seed = int(args[0])
+ random.seed(seed)
+ if len(args) == 1:
+ sigma = float(args[1])
+ x = random.gauss(0.0, sigma)
+ y = random.gauss(0.0, sigma)
+ z = random.gauss(0.0, sigma)
+ elif len(args) == 2:
+ # seed = int(args[0]) this was already handled above
+ sigma = float(args[1])
+ x = random.gauss(0.0, sigma)
+ y = random.gauss(0.0, sigma)
+ z = random.gauss(0.0, sigma)
+ elif len(args) == 3:
+ x = random.gauss(0.0, float(args[0]))
+ y = random.gauss(0.0, float(args[1]))
+ z = random.gauss(0.0, float(args[2]))
+ elif len(args) == 4:
+ # seed = int(args[0]) this was already handled above
+ x = random.gauss(0.0, float(args[1]))
+ y = random.gauss(0.0, float(args[2]))
+ z = random.gauss(0.0, float(args[3]))
+ elif len(args) == 6:
+ x_min = float(args[0])
+ x_max = float(args[1])
+ y_min = float(args[2])
+ y_max = float(args[3])
+ z_min = float(args[4])
+ z_max = float(args[5])
+ x = x_min + (x_max - x_min)*(random.random()-0.5)
+ y = y_min + (y_max - y_min)*(random.random()-0.5)
+ z = z_min + (z_max - z_min)*(random.random()-0.5)
+
+ elif len(args) == 7:
+ # seed = int(args[0]) this was already handled above
+ x_min = float(args[1])
+ x_max = float(args[2])
+ y_min = float(args[3])
+ y_max = float(args[4])
+ z_min = float(args[5])
+ z_max = float(args[6])
+ x = x_min + (x_max - x_min)*(random.random()-0.5)
+ y = y_min + (y_max - y_min)*(random.random()-0.5)
+ z = z_min + (z_max - z_min)*(random.random()-0.5)
+ else:
+ raise InputError('Error near ' + ErrorLeader(src_loc.infile, src_loc.lineno) + ':\n'
+ ' Invalid command: \"' + transform_str + '\"\n'
+ ' This command requires either 1, 2, 3, 4, 6 or 7 numerical arguments. Either:\n'
+ ' move_rand(gauss_sigma) or\n'
+ ' move_rand(seed, gauss_sigma) or\n'
+ ' move_rand(gauss_sigma_x, gauss_sigma_y, gauss_sigma_z) or\n'
+ ' move_rand(seed, gauss_sigma_x, gauss_sigma_y, gauss_sigma_z) or\n'
+ ' move_rand(x_min, x_max, y_min, y_max, z_min, z_max) or\n'
+ ' move_rand(seed, x_min, x_max, y_min, y_max, z_min, z_max)\n')
+
+ M = [[1.0, 0.0, 0.0, x],
+ [0.0, 1.0, 0.0, y],
+ [0.0, 0.0, 1.0, z]]
+ AffineCompose(Mtmp, M, Mdest)
+ CopyMat(Mdest, Mtmp)
+
+ elif transform_str.find('rot(') == 0:
+ i_paren_close = transform_str.find(')')
+ if i_paren_close == -1:
+ i_paren_close = len(transform_str)
+ args = transform_str[4:i_paren_close].split(',')
+ center_v = None
+ if (len(args) == 7):
+ center_v = [float(args[4]), float(args[5]), float(args[6])]
+ elif (len(args) != 4):
+ raise InputError('Error near ' + ErrorLeader(src_loc.infile, src_loc.lineno) + ':\n'
+ ' Invalid command: \"' + transform_str + '\"\n'
+ ' This command requires either 4 or 7 numerical arguments. Either:\n'
+ ' rot(angle, axisX, axisY, axiZ) or \n'
+ ' rot(angle, axisX, axisY, axiZ, centerX, centerY, centerZ)')
+ M[0][3] = 0.0 # RotMatAXYZ() only modifies 3x3 submatrix of M
+ M[1][3] = 0.0 # The remaining final column must be zeroed by hand
+ M[2][3] = 0.0
+ RotMatAXYZ(M,
+ float(args[0]) * math.pi / 180.0,
+ float(args[1]),
+ float(args[2]),
+ float(args[3]))
+ if (center_v == None):
+ AffineCompose(Mtmp, M, Mdest)
+ CopyMat(Mdest, Mtmp)
+ else:
+ # Move "center_v" to the origin
+ moveCentToOrig = [[1.0, 0.0, 0.0, -center_v[0]],
+ [0.0, 1.0, 0.0, -center_v[1]],
+ [0.0, 0.0, 1.0, -center_v[2]]]
+ AffineCompose(Mtmp, moveCentToOrig, Mdest)
+ CopyMat(Mdest, Mtmp)
+ # Rotate the coordinates (relative to the origin)
+ AffineCompose(Mtmp, M, Mdest) # M is the rotation matrix
+ CopyMat(Mdest, Mtmp)
+ # Move the origin back to center_v
+ moveCentBack = [[1.0, 0.0, 0.0, center_v[0]],
+ [0.0, 1.0, 0.0, center_v[1]],
+ [0.0, 0.0, 1.0, center_v[2]]]
+ AffineCompose(Mtmp, moveCentBack, Mdest)
+ CopyMat(Mdest, Mtmp)
+
+ # # elif transform_str.find('rotcm(') == 0:
+ # # assert(xcm != None)
+ # # i_paren_close = transform_str.find(')')
+ # # if i_paren_close == -1:
+ # # i_paren_close = len(transform_str)
+ # # args = transform_str[6:i_paren_close].split(',')
+ # # if (len(args) != 4):
+ # # raise InputError('Error near '+ErrorLeader(src_loc.infile, src_loc.lineno)+':\n'
+ # # ' Invalid command: \"'+transform_str+'\"\n'
+ # # ' This command requires 4 numerical arguments.')
+ # #
+ # # moveCMtoOrig = [[1.0, 0.0, 0.0, -xcm[0]],
+ # # [0.0, 1.0, 0.0, -xcm[1]],
+ # # [0.0, 0.0, 1.0, -xcm[2]]]
+ # # AffineCompose(Mtmp, moveCMtoOrig, Mdest)
+ # # CopyMat(Mdest, Mtmp)
+ # # M[0][3] = 0.0#RotMatAXYZ() only modifies 3x3 submatrix of M
+ # # M[1][3] = 0.0#The remaining final column must be zeroed by hand
+ # # M[2][3] = 0.0
+ # # RotMatAXYZ(M,
+ # # float(args[0])*math.pi/180.0,
+ # # float(args[1]),
+ # # float(args[2]),
+ # # float(args[3]))
+ # # AffineCompose(Mtmp, M, Mdest)
+ # # CopyMat(Mdest, Mtmp)
+ # # moveCmBack = [[1.0, 0.0, 0.0, xcm[0]],
+ # # [0.0, 1.0, 0.0, xcm[1]],
+ # # [0.0, 0.0, 1.0, xcm[2]]]
+ # # AffineCompose(Mtmp, moveCmBack, Mdest)
+ # # CopyMat(Mdest, Mtmp)
+
+ elif transform_str.find('rot_rand(') == 0:
+ i_paren_close = transform_str.find(')')
+ if i_paren_close == -1:
+ i_paren_close = len(transform_str)
+ args = transform_str[9:i_paren_close].split(',')
+
+ seed = 1
+ if len(args) in (2,6):
+ seed = int(args[0])
+ random.seed(seed)
+ raxis = [0.0, 0.0, 0.0]
+ if len(args) < 5:
+ # choose a random rotation axis
+ raxis_len = 0.0
+ while (not ((0.01<raxis_len) and (raxis_len <= 1.0))):
+ raxis = [-1+2.0*(random.random()-0.5) for d in range(0,3)]
+ raxis_len = math.sqrt(raxis[0]**2 + raxis[1]**2 + raxis[2]**2)
+ for d in range(0,3):
+ raxis[d] /= raxis_len
+ if len(args) == 0:
+ angle_min = angle_max = 2*math.pi
+ elif len(args) == 1:
+ angle_min = 0.0
+ angle_max = float(args[0]) * math.pi / 180.0,
+ elif len(args) == 5:
+ angle_min = float(args[0])
+ angle_max = float(args[1])
+ raxis[0] = float(args[2])
+ raxis[1] = float(args[3])
+ raxis[2] = float(args[4])
+ elif len(args) == 6:
+ seed = int(args[0])
+ angle_min = float(args[1])
+ angle_max = float(args[2])
+ raxis[0] = float(args[3])
+ raxis[1] = float(args[4])
+ raxis[2] = float(args[5])
+ else:
+ raise InputError('Error near ' + ErrorLeader(src_loc.infile, src_loc.lineno) + ':\n'
+ ' Invalid command: \"' + transform_str + '\"\n'
+ ' This command requires either 0, 1, 2, 5 or 6 numerical arguments. Either:\n'
+ ' rot_rand() or \n'
+ ' rot_rand(delta_angle) or \n'
+ ' rot_rand(seed, delta_angle) or \n'
+ ' rot_rand(angle_min, angle_max, axisX, axisY, axiZ) or\n'
+ ' rot_rand(seed, angle_min, angle_max, axisX, axisY, axiZ)')
+
+ angle = angle_min + (angle_max - angle_min)*(random.random() - 0.5)
+
+ M[0][3] = 0.0 # RotMatAXYZ() only modifies 3x3 submatrix of M
+ M[1][3] = 0.0 # The remaining final column must be zeroed by hand
+ M[2][3] = 0.0
+ RotMatAXYZ(M,
+ angle,
+ raxis[0], raxis[1], raxis[2])
+ AffineCompose(Mtmp, M, Mdest)
+ CopyMat(Mdest, Mtmp)
+
+
+ elif transform_str.find('rotvv(') == 0:
+ i_paren_close = transform_str.find(')')
+ if i_paren_close == -1:
+ i_paren_close = len(transform_str)
+ args = transform_str[6:i_paren_close].split(',')
+ center_v = None
+ if (len(args) == 9):
+ center_v = [float(args[6]), float(args[7]), float(args[8])]
+ elif (len(args) != 6):
+ raise InputError('Error near ' + ErrorLeader(src_loc.infile, src_loc.lineno) + ':\n'
+ ' Invalid command: \"' + transform_str + '\"\n'
+ ' This command requires either 6 or 9 numerical arguments. Either:\n'
+ ' rotvv(Xold,Yold,Zold,Xnew,Ynew,Znew) or \n'
+ ' rotvv(Xold,Yold,Zold,Xnew,Ynew,Znew,centerX,centerY,centerZ)')
+ M[0][3] = 0.0 # RotMatXYZXYZ() only modifies 3x3 submatrix of M
+ M[1][3] = 0.0 # The remaining final column must be zeroed by hand
+ M[2][3] = 0.0
+ RotMatXYZXYZ(M,
+ float(args[0]),
+ float(args[1]),
+ float(args[2]),
+ float(args[3]),
+ float(args[4]),
+ float(args[5]))
+ if (center_v == None):
+ AffineCompose(Mtmp, M, Mdest)
+ CopyMat(Mdest, Mtmp)
+ else:
+ # Move "center_v" to the origin
+ moveCentToOrig = [[1.0, 0.0, 0.0, -center_v[0]],
+ [0.0, 1.0, 0.0, -center_v[1]],
+ [0.0, 0.0, 1.0, -center_v[2]]]
+ AffineCompose(Mtmp, moveCentToOrig, Mdest)
+ CopyMat(Mdest, Mtmp)
+ # Rotate the coordinates (relative to the origin)
+ AffineCompose(Mtmp, M, Mdest) # M is the rotation matrix
+ CopyMat(Mdest, Mtmp)
+ # Move the origin back to center_v
+ moveCentBack = [[1.0, 0.0, 0.0, center_v[0]],
+ [0.0, 1.0, 0.0, center_v[1]],
+ [0.0, 0.0, 1.0, center_v[2]]]
+ AffineCompose(Mtmp, moveCentBack, Mdest)
+ CopyMat(Mdest, Mtmp)
+
+ elif transform_str.find('scale(') == 0:
+ i_paren_close = transform_str.find(')')
+ if i_paren_close == -1:
+ i_paren_close = len(transform_str)
+ args = transform_str[6:i_paren_close].split(',')
+
+ if (len(args) == 1):
+ scale_v = [float(args[0]), float(args[0]), float(args[0])]
+ center_v = [0.0, 0.0, 0.0]
+ elif (len(args) == 3):
+ scale_v = [float(args[0]), float(args[1]), float(args[2])]
+ center_v = [0.0, 0.0, 0.0]
+ elif (len(args) == 4):
+ scale_v = [float(args[0]), float(args[0]), float(args[0])]
+ center_v = [float(args[1]), float(args[2]), float(args[3])]
+ elif (len(args) == 6):
+ scale_v = [float(args[0]), float(args[1]), float(args[2])]
+ center_v = [float(args[3]), float(args[4]), float(args[5])]
+ else:
+ raise InputError('Error near ' + ErrorLeader(src_loc.infile, src_loc.lineno) + ':\n'
+ ' Invalid command: \"' + transform_str + '\"\n'
+ ' This command requires either 1, 3, 4, or 6 numerical arguments. Either:\n'
+ ' scale(ratio), or \n'
+ ' scale(ratioX, ratioY, ratioZ),\n'
+ ' scale(ratio, centerX, centerY, centerZ), or\n'
+ ' scale(ratioX, ratioY, ratioZ, centerX, centerY, centerZ)')
+
+ ScaleMat(M, scale_v)
+
+ # Now worry about translation:
+ for d in range(0, 3):
+ M[d][3] = center_v[d] * (1.0 - scale_v[d])
+
+ AffineCompose(Mtmp, M, Mdest)
+ CopyMat(Mdest, Mtmp)
+
+ # # elif transform_str.find('scalecm(') == 0:
+ # # assert(xcm != None)
+ # # i_paren_close = transform_str.find(')')
+ # # if i_paren_close == -1:
+ # # i_paren_close = len(transform_str)
+ # # args = transform_str[8:i_paren_close].split(',')
+ # #
+ # # moveCMtoOrig = [[1.0, 0.0, 0.0, -xcm[0]],
+ # # [0.0, 1.0, 0.0, -xcm[1]],
+ # # [0.0, 0.0, 1.0, -xcm[2]]]
+ # # AffineCompose(Mtmp, moveCMtoOrig, Mdest)
+ # # CopyMat(Mdest, Mtmp)
+ # #
+ # # M[0][3] = 0.0 #ScaleMat() only modifies 3x3 submatrix of M
+ # # M[1][3] = 0.0 #The remaining final column must be zeroed by hand
+ # # M[2][3] = 0.0
+ # # if (len(args) == 1):
+ # # ScaleMat(M, args[0])
+ # # elif (len(args) == 3):
+ # # ScaleMat(M, args)
+ # # else:
+ # # raise InputError('Error near '+ErrorLeader(src_loc.infile, src_loc.lineno)+':\n'
+ # # ' Invalid command: \"'+transform_str+'\"\n'
+ # # ' This command requires either 1 or 3 numerical arguments.')
+ # #
+ # # AffineCompose(Mtmp, M, Mdest)
+ # # CopyMat(Mdest, Mtmp)
+ # # moveCmBack = [[1.0, 0.0, 0.0, xcm[0]],
+ # # [0.0, 1.0, 0.0, xcm[1]],
+ # # [0.0, 0.0, 1.0, xcm[2]]]
+ # # AffineCompose(Mtmp, moveCmBack, Mdest)
+ # # CopyMat(Mdest, Mtmp)
+
+ else:
+ raise InputError('Error near ' + ErrorLeader(src_loc.infile, src_loc.lineno) + ':\n'
+ ' Unknown transformation command: \"' + transform_str + '\"\n')
+
+ return Mdest
+
+
+class MultiAffineStack(object):
+
+ def __init__(self, which_stack=None):
+ self.tot_stack = None
+ self.stack_lookup = None
+ self.stack_keys = None
+ self.stacks = None
+ self.M = None
+ self.error_if_substack_empty = False
+ self.Clear()
+
+ def Clear(self):
+ self.tot_stack = AffineStack()
+ self.stack_lookup = {}
+ self.stack_keys = deque([])
+ self.stacks = deque([])
+ self.M = self.tot_stack.M
+ self.error_if_substack_empty = False
+
+ def _Update(self):
+ self.tot_stack.Clear()
+ self.M = self.tot_stack.M
+ assert(len(self.stacks) > 0)
+ for stack in self.stacks:
+ self.tot_stack.PushRight(stack.M)
+
+ def PushStack(self, which_stack):
+ stack = AffineStack()
+ self.stack_keys.append(which_stack)
+ self.stack_lookup[which_stack] = stack
+ self.stacks.append(stack)
+ self.tot_stack.PushRight(stack.M)
+
+ def PopStack(self):
+ assert(len(self.stacks) > 0)
+ self.tot_stack.PopRight()
+ which_stack = self.stack_keys.pop()
+ del self.stack_lookup[which_stack]
+ self.stacks.pop()
+
+ def Push(self, M, which_stack=None, right_not_left=True):
+ if len(self.stacks) == 0:
+ self.PushStack(which_stack)
+ if which_stack == None:
+ stack = self.stacks[-1]
+ if right_not_left:
+ # This should copy the matrix M into stack.M
+ stack.PushRight(M)
+ else:
+ stack.PushLeft(M)
+ else:
+ stack = self.stack_lookup[which_stack]
+ if right_not_left:
+ stack.PushRight(M)
+ else:
+ stack.PushLeft(M)
+ if stack == self.stacks[-1]:
+ self.tot_stack.PopRight() # Replace the last matrix on self.tot_stack
+ # Note: Always use tot_stack.PopRight (even if
+ # right_not_left=False)
+ self.tot_stack.PushRight(stack.M) # with the the updated version.
+ # Note: We could call self._Update(M) here, but that is slower.
+ else:
+ self._Update()
+
+ def PushRight(self, M, which_stack=None):
+ self.Push(M, which_stack, right_not_left=True)
+
+ def PushLeft(self, M, which_stack=None):
+ self.Push(M, which_stack, right_not_left=False)
+
+ def PushCommandsRight(self,
+ text, # text containing affine transformation commands
+ # The next two arguments are optional:
+ src_loc=OSrcLoc(), # for debugging
+ xcm=None,
+ which_stack=None): # position of center of object
+ """Generate affine transformation matrices from simple text commands
+ (such as \"rotcm(90,0,0,1)\" and \"move(0,5.0,0)".
+ Chains of "rotcm", "movecm", "rot", and "move" commands
+ can also be strung together:
+ \"rotcm(90,0,0,1).move(0,5.0,0)\"
+ Commands ending in \"cm\" are carried out relative to center-of-mass
+ (average position) of the object, and consequently require
+ an additional argument (\"xcm\").
+
+ """
+ self.PushRight(AffineStack.CommandsToMatrix(text, src_loc, xcm),
+ which_stack)
+
+ def PushCommandsLeft(self,
+ text, # text containing affine transformation commands
+ # The next two arguments are optional:
+ src_loc=OSrcLoc(), # for debugging
+ xcm=None, # position of center of object
+ which_stack=None):
+ self.PushLeft(AffineStack.CommandsToMatrix(text, src_loc, xcm),
+ which_stack)
+
+ def Pop(self, which_stack=None, right_not_left=True):
+ #empty_stack_error = False
+
+ if which_stack == None:
+ stack = self.stacks[-1]
+ if len(stack) >= 1:
+ if right_not_left:
+ stack.PopRight()
+ else:
+ stack.PopLeft()
+ # Note: We could call self._Update(M) here, but that is slower
+ self.tot_stack.PopRight() # Replace the last matrix on self.tot_stack
+ # Note: Always use tot_stack.PopRight (even if
+ # right_not_left=False)
+ # with the the updated version.
+ self.tot_stack.PushRight(stack.M)
+ else:
+ assert(False)
+ # OPTIONAL CODE BELOW AUTOMATICALLY INVOKES self.PopStack() WHEN
+ # THE stacks[-1].stack IS EMPTY. PROBABLY DOES NOT WORK. IGNORE
+ # if (not self.error_if_substack_empty):
+ # if right_not_left:
+ # assert(len(self.stacks) > 0)
+ # self.PopStack()
+ # else:
+ # assert(False)
+ # else:
+ # empty_stack_error = True
+
+ else:
+ stack = self.stack_lookup[which_stack]
+ if len(stack) > 1:
+ if right_not_left:
+ stack.PopRight()
+ else:
+ stack.PopLeft()
+ self._Update()
+ else:
+ assert(False)
+ #empty_stack_error = True
+
+ def PopRight(self, which_stack=None):
+ self.Pop(which_stack, right_not_left=True)
+
+ def PopLeft(self, which_stack=None):
+ self.Pop(which_stack, right_not_left=True)
+
+
+def ScaleMat(dest, scale):
+ for i in range(0, len(dest)):
+ for j in range(0, len(dest[i])):
+ dest[i][j] = 0.0
+ if ((type(scale) is float) or (type(scale) is int)):
+ for i in range(0, len(dest)):
+ dest[i][i] = scale
+ else:
+ for i in range(0, len(dest)):
+ dest[i][i] = scale[i]
+
+
+def RotMatAXYZ(dest, angle, axis_x, axis_y, axis_z):
+
+ r = math.sqrt(axis_x * axis_x + axis_y * axis_y + axis_z * axis_z)
+
+ X = 1.0
+ Y = 0.0
+ Z = 0.0
+ if r > 0.0: # check for non-sensical input
+ X = axis_x / r
+ Y = axis_y / r
+ Z = axis_z / r
+ else:
+ angle = 0.0
+
+ # angle *= math.pi/180.0 # "angle" is assumed to be in degrees
+ # on second thought, let the caller worry about angle units.
+ c = math.cos(angle)
+ s = math.sin(angle)
+
+ dest[0][0] = X * X * (1 - c) + c
+ dest[1][1] = Y * Y * (1 - c) + c
+ dest[2][2] = Z * Z * (1 - c) + c
+
+ dest[0][1] = X * Y * (1 - c) - Z * s
+ dest[0][2] = X * Z * (1 - c) + Y * s
+
+ dest[1][0] = Y * X * (1 - c) + Z * s
+ dest[2][0] = Z * X * (1 - c) - Y * s
+
+ dest[1][2] = Y * Z * (1 - c) - X * s
+ dest[2][1] = Z * Y * (1 - c) + X * s
+
+ # formula from these sources:
+ # http://inside.mines.edu/~gmurray/ArbitraryAxisRotation/
+ # also check
+ # http://www.manpagez.com/man/3/glRotate/
+ # some pdb test commands:
+ # from lttree_matrixstack import *
+ # r = [[1.0,0.0,0.0], [0.0,1.0,0.0], [0.0,0.0,1.0]]
+ # RotMatAXYZ(r, 90.0, 0.0, 0.0, 1.0)
+
+
+def CrossProd(dest, A, B):
+ dest[0] = (A[1] * B[2] - B[1] * A[2])
+ dest[1] = (A[2] * B[0] - B[2] * A[0])
+ dest[2] = (A[0] * B[1] - B[0] * A[1])
+
+
+def DotProd(A, B):
+ c = 0.0
+ for d in range(0, len(A)):
+ c += A[d] * B[d]
+ return c
+
+
+def Length(A):
+ L = 0.0
+ for x in A:
+ L += x * x
+ return math.sqrt(L)
+
+
+def Normalize(dest, source):
+ assert(len(dest) == len(source))
+ L = Length(source)
+ for d in range(0, len(source)):
+ dest[d] = source[d] / L
+
+
+def RotMatXYZXYZ(dest,
+ xold, yold, zold,
+ xnew, ynew, znew):
+ A = [xold, yold, zold]
+ B = [xnew, ynew, znew]
+ axis = [0.0, 0.0, 0.0]
+ CrossProd(axis, A, B)
+ La = Length(A)
+ Lb = Length(B)
+ Lc = Length(axis)
+ sinAng = Lc / (La * Lb)
+ cosAng = DotProd(A, B) / (La * Lb)
+ if Lc > 0.0:
+ Normalize(axis, axis)
+ angle = math.atan2(sinAng, cosAng)
+ else:
+ axis = [1.0, 0.0, 0.0]
+ angle = 0.0
+ RotMatAXYZ(dest, angle, axis[0], axis[1], axis[2])
diff --git a/tools/moltemplate/moltemplate/ttree_render.py b/tools/moltemplate/moltemplate/ttree_render.py
new file mode 100755
index 000000000..f59a04aeb
--- /dev/null
+++ b/tools/moltemplate/moltemplate/ttree_render.py
@@ -0,0 +1,125 @@
+#!/usr/bin/env python
+
+man_page_text = """
+Usage (example):
+
+ttree_render.py ttree_assignments.txt < file.template > file.rendered
+
+The argument (ttree_assignments.txt) should be a 2-column file containing
+ttree-style variables (1st column), and their values (bindings, 2nd column).
+
+This program reads a text file containing ttree-style variables,
+substitutes the corresponding values stored in ttree_assignments.txt,
+and prints out the new (rendered) text to the standard-out.
+
+"""
+
+
+import sys
+import gc
+
+try:
+ from .ttree import ExtractFormattingCommands
+ from .ttree_lex import SplitQuotedString, InputError, TemplateLexer
+except (SystemError, ValueError):
+ # not installed as a package
+ from ttree import ExtractFormattingCommands
+ from ttree_lex import SplitQuotedString, InputError, TemplateLexer
+
+
+g_filename = __file__.split('/')[-1]
+g_module_name = g_filename
+if g_filename.rfind('.py') != -1:
+ g_module_name = g_filename[:g_filename.rfind('.py')]
+g_date_str = '2016-12-21'
+g_version_str = '0.2.0'
+g_program_name = g_filename
+#sys.stderr.write(g_program_name+' v'+g_version_str+' '+g_date_str+' ')
+
+def main():
+ try:
+ if (len(sys.argv) != 2):
+ raise InputError('Error running \"' + g_program_name + '\"\n'
+ ' Typical usage:\n'
+ ' ttree_render.py ttree_assignments.txt < file.template > file.rendered\n'
+ '\n'
+ ' Missing argument.\n'
+ ' Expected the name of a 2-column file containing\n'
+ ' variable names and their bindings (values).\n'
+ ' (This is likely a programmer error.\n'
+ ' This script was not intended to be run by end users.)\n')
+
+ bindings_filename = sys.argv[1]
+ f = open(bindings_filename)
+ assignments = {}
+
+ #BasicUIReadBindingsStream(assignments, f, bindings_filename)
+
+ # The line above is robust but it uses far too much memory.
+ # This for loop below works for most cases.
+ for line in f:
+ #tokens = lines.strip().split()
+ # like split but handles quotes
+ tokens = SplitQuotedString(line.strip())
+ if len(tokens) < 2:
+ continue
+ assignments[tokens[0]] = tokens[1]
+
+ f.close()
+ gc.collect()
+
+ lex = TemplateLexer(sys.stdin, '__standard_input_for_ttree_render__')
+ lex.var_delim = '$@'
+
+ text_block_list = lex.ReadTemplate(simplify_output=True)
+
+ output = []
+
+ for entry in text_block_list:
+ assert(isinstance(entry, str))
+
+ if ((len(entry) > 1) and (entry[0] in lex.var_delim)):
+ if '.' in entry:
+ ic = entry.find('.')
+ var_name = entry[:ic]
+ var_suffix = entry[ic:]
+ else:
+ var_name = entry
+ var_suffix = ''
+
+ var_name = entry
+ if var_name not in assignments:
+ raise(InputError('Error(' + g_program_name + ')'
+ #' at '+ErrorLeader(var_ref.src_loc.infile,
+ # var_ref.src_loc.lineno)+
+ ' unknown variable:\n'
+ ' \"' + var_name + '\"\n'))
+ else:
+ var_value = assignments[var_name]
+
+ format_fname, args = ExtractFormattingCommands(var_suffix)
+ if format_fname == 'ljust':
+ if len(args) == 1:
+ var_value = var_value.ljust(int(args[0]))
+ else:
+ var_value = var_value.ljust(int(args[0]), args[1])
+ elif format_fname == 'rjust':
+ if len(args) == 1:
+ var_value = var_value.rjust(int(args[0]))
+ else:
+ var_value = var_value.rjust(int(args[0]), args[1])
+ output.append(var_value)
+ else:
+ output += entry
+
+ sys.stdout.write(''.join(output))
+
+
+ except (ValueError, InputError) as err:
+ sys.stderr.write('\n' + str(err) + '\n')
+ sys.exit(-1)
+
+ return
+
+if __name__ == '__main__':
+ main()
diff --git a/tools/moltemplate/setup.cfg b/tools/moltemplate/setup.cfg
new file mode 100644
index 000000000..6afcf47d4
--- /dev/null
+++ b/tools/moltemplate/setup.cfg
@@ -0,0 +1,5 @@
+[metadata]
+description-file = README.md
+
+[aliases]
+test=pytest
diff --git a/tools/moltemplate/setup.py b/tools/moltemplate/setup.py
new file mode 100644
index 000000000..b8e36909a
--- /dev/null
+++ b/tools/moltemplate/setup.py
@@ -0,0 +1,70 @@
+from setuptools import setup
+
+setup(
+
+ name='moltemplate',
+
+ packages=['moltemplate', 'moltemplate/nbody_alt_symmetry'],
+
+ description='A general cross-platform text-based molecule builder for LAMMPS',
+
+ author='Andrew Jewett',
+
+ author_email='jewett.aij@gmail.com',
+
+ url='https://github.com/jewettaij/moltemplate',
+
+ download_url='https://github.com/jewettaij/moltemplate/tarball/v2.2.1',
+
+ keywords=['simulation', 'LAMMPS', 'molecule', 'builder', 'ESPResSo'],
+
+ # BSD 3-Clause License:
+ # - http://choosealicense.com/licenses/bsd-3-clause
+ # - http://opensource.org/licenses/BSD-3-Clause
+
+ license='BSD',
+
+ classifiers=['Environment :: Console',
+ 'License :: OSI Approved :: BSD License',
+ 'Operating System :: MacOS :: MacOS X',
+ 'Operating System :: POSIX :: Linux',
+ 'Operating System :: Microsoft :: Windows'
+ ],
+
+ scripts=['moltemplate/scripts/moltemplate.sh',
+ 'moltemplate/scripts/cleanup_moltemplate.sh',
+ 'moltemplate/scripts/emoltemplate.sh'],
+
+ entry_points={
+ 'console_scripts': [
+ 'ttree.py=moltemplate.ttree:main',
+ 'ttree_render.py=moltemplate.ttree_render:main',
+ 'bonds_by_type.py=moltemplate.bonds_by_type:main',
+ 'chargepairs_by_type.py=moltemplate.chargepairs_by_type:main',
+ 'dump2data.py=moltemplate.dump2data:main',
+ 'extract_espresso_atom_types.py=moltemplate.extract_espresso_atom_types:main',
+ 'extract_lammps_data.py=moltemplate.extract_lammps_data:main',
+ 'ettree.py=moltemplate.ettree:main',
+ 'genpoly.py=moltemplate.ettree:main',
+ 'ltemplify.py=moltemplate.ltemplify:main',
+ 'lttree.py=moltemplate.lttree:main',
+ 'lttree_check.py=moltemplate.lttree_check:main',
+ 'lttree_postprocess.py=moltemplate.lttree_postprocess:main',
+ 'nbody_by_type.py=moltemplate.nbody_by_type:main',
+ 'nbody_fix_ttree_assignments.py=moltemplate.nbody_fix_ttree_assignments:main',
+ 'nbody_reorder_atoms.py=moltemplate.nbody_reorder_atoms:main',
+ 'pdbsort.py=moltemplate.pdbsort:main',
+ 'postprocess_input_script.py=moltemplate.postprocess_input_script:main',
+ 'raw2data.py=moltemplate.raw2data:main',
+ 'remove_duplicate_atoms.py=moltemplate.remove_duplicate_atoms:main',
+ 'remove_duplicates_nbody.py=moltemplate.remove_duplicates_nbody:main',
+ 'renumber_DATA_first_column.py=moltemplate.renumber_DATA_first_column:main',
+ 'tinkerparm2lt.py=moltemplate.tinkerparm2lt.py']},
+
+ package_data={'moltemplate': ['force_fields/*.lt']},
+ # install_requires=['numpy', 'scipy', 'biopython'],
+ setup_requires=['pytest-runner'],
+ tests_require=['pytest', 'pandas'],
+ zip_safe=True,
+ include_package_data=True
+)

Event Timeline