diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 478785b3cb7169fa4610f1c28e4cd6e049273c8b..3a7e5dace641642186364f9ddf01c3295c0d4db2 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -104,7 +104,7 @@ set(OTHER_PACKAGES KIM PYTHON MSCG MPIIO VORONOI POEMS LATTE USER-ATC USER-AWPMD USER-CGDNA USER-MESO USER-CGSDK USER-COLVARS USER-DIFFRACTION USER-DPD USER-DRUDE USER-EFF USER-FEP USER-H5MD USER-LB USER-MANIFOLD USER-MEAMC USER-MGPT USER-MISC - USER-MOLFILE USER-NETCDF USER-PHONON USER-QTB USER-REAXC USER-SMD + USER-MOFFF USER-MOLFILE USER-NETCDF USER-PHONON USER-QTB USER-REAXC USER-SMD USER-SMTBQ USER-SPH USER-TALLY USER-UEF USER-VTK USER-QUIP USER-QMMM) set(ACCEL_PACKAGES USER-OMP KOKKOS OPT USER-INTEL GPU) foreach(PKG ${DEFAULT_PACKAGES}) @@ -170,13 +170,6 @@ if(ENABLE_KSPACE) endif() endif() -if(ENABLE_MISC) - option(LAMMPS_XDR "include XDR compatibility files for doing particle dumps in XTC format" OFF) - if(LAMMPS_XDR) - add_definitions(-DLAMMPS_XDR) # for liblammps - endif() -endif() - if(ENABLE_MSCG OR ENABLE_USER-ATC OR ENABLE_USER-AWPMD OR ENABLE_USER-QUIP OR ENABLE_LATTE) find_package(LAPACK) if(NOT LAPACK_FOUND) diff --git a/doc/Makefile b/doc/Makefile index 4072e01c4a7b80e6de137ca86c54a4bfbb0fd136..6e6f36a3781fff1c532d07bcc677a5cd43eae4c6 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -21,7 +21,7 @@ HAS_VIRTUALENV = YES endif SPHINXEXTRA = -j $(shell $(PYTHON) -c 'import multiprocessing;print(multiprocessing.cpu_count())') -SOURCES=$(wildcard src/*.txt) +SOURCES=$(filter-out src/lammps_commands.txt src/lammps_tutorials.txt,$(wildcard src/*.txt)) OBJECTS=$(SOURCES:src/%.txt=$(RSTDIR)/%.rst) .PHONY: help clean-all clean epub html pdf old venv spelling anchor_check diff --git a/doc/src/Eqs/angle_class2_p6.jpg b/doc/src/Eqs/angle_class2_p6.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c096f6922ced1ee2e98904f501af044523637d68 Binary files /dev/null and b/doc/src/Eqs/angle_class2_p6.jpg differ diff --git a/doc/src/Eqs/angle_cosine_buck6d.jpg b/doc/src/Eqs/angle_cosine_buck6d.jpg new file mode 100644 index 0000000000000000000000000000000000000000..69b668c08603ba4a137317817d16fc2394ec3a41 Binary files /dev/null and b/doc/src/Eqs/angle_cosine_buck6d.jpg differ diff --git a/doc/src/Eqs/improper_inversion_harmonic.jpg b/doc/src/Eqs/improper_inversion_harmonic.jpg new file mode 100644 index 0000000000000000000000000000000000000000..793311e8ad51ae8974ffc4818a4d75f4f263a613 Binary files /dev/null and b/doc/src/Eqs/improper_inversion_harmonic.jpg differ diff --git a/doc/src/Eqs/pair_buck6d.jpg b/doc/src/Eqs/pair_buck6d.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ca7f071b03a077424465c8bac73110ff4f5c3294 Binary files /dev/null and b/doc/src/Eqs/pair_buck6d.jpg differ diff --git a/doc/src/Eqs/pair_buck6d.txt b/doc/src/Eqs/pair_buck6d.txt new file mode 100644 index 0000000000000000000000000000000000000000..4888444d8c88ef7849e92f1e4a48bc58feba38a3 --- /dev/null +++ b/doc/src/Eqs/pair_buck6d.txt @@ -0,0 +1,9 @@ +\documentclass[12pt]{article} + +\begin{document} + +\begin{eqnarray*} + E = A e^{-\kappa r} - \frac{C}{r^6} \cdot \frac{1}{1 + D r^{14}} \qquad r < r_c \\ +\end{eqnarray*} + +\end{document} diff --git a/doc/src/Eqs/pair_coul_gauss.jpg b/doc/src/Eqs/pair_coul_gauss.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c286650eb24fbddfa674ffb0d1dc7967611ed293 Binary files /dev/null and b/doc/src/Eqs/pair_coul_gauss.jpg differ diff --git a/doc/src/Eqs/pair_ufm.jpg b/doc/src/Eqs/pair_ufm.jpg new file mode 100644 index 0000000000000000000000000000000000000000..40273da68063274cd6d6496d38f93ff97121df91 Binary files /dev/null and b/doc/src/Eqs/pair_ufm.jpg differ diff --git a/doc/src/Eqs/pair_ufm.tex b/doc/src/Eqs/pair_ufm.tex new file mode 100644 index 0000000000000000000000000000000000000000..8a6dde55202f0d19d55e9309fac41d00876f4b5c --- /dev/null +++ b/doc/src/Eqs/pair_ufm.tex @@ -0,0 +1,14 @@ +\documentclass[12pt]{article} + +\begin{document} + +$$ + E = -\varepsilon\, \ln{\left[1-\exp{\left(-r^{2}/\sigma^{2}\right)}\right]} \qquad r < r_c +$$ + +$$ + \varepsilon = p\,k_B\,T +$$ + +\end{document} + diff --git a/doc/src/Manual.txt b/doc/src/Manual.txt index 1a4d2eb7797dd5fd085a29c5cb770c4d664d9f83..2a95c9633b399b2087b9fcafbc5da2df0844166d 100644 --- a/doc/src/Manual.txt +++ b/doc/src/Manual.txt @@ -1,9 +1,9 @@ LAMMPS Users Manual - + - + @@ -21,7 +21,7 @@

LAMMPS Documentation :c,h3 -17 Jan 2018 version :c,h4 +16 Mar 2018 version :c,h4 Version info: :h4 @@ -176,11 +176,11 @@ END_RST --> 5.1 "Measuring performance"_acc_1 :ulb,b 5.2 "Algorithms and code options to boost performace"_acc_2 :b 5.3 "Accelerator packages with optimized styles"_acc_3 :b - 5.3.1 "GPU package"_accelerate_gpu.html :ulb,b + 5.3.1 "GPU package"_accelerate_gpu.html :b 5.3.2 "USER-INTEL package"_accelerate_intel.html :b 5.3.3 "KOKKOS package"_accelerate_kokkos.html :b 5.3.4 "USER-OMP package"_accelerate_omp.html :b - 5.3.5 "OPT package"_accelerate_opt.html :ule,b + 5.3.5 "OPT package"_accelerate_opt.html :b 5.4 "Comparison of various accelerator packages"_acc_4 :ule,b "How-to discussions"_Section_howto.html :l 6.1 "Restarting a simulation"_howto_1 :ulb,b diff --git a/doc/src/PDF/colvars-refman-lammps.pdf b/doc/src/PDF/colvars-refman-lammps.pdf index daa1393269b953d569aff9846a135480dcdd42c7..2d28758819a9a7a0dac700cd4a8239f51257b8e1 100644 Binary files a/doc/src/PDF/colvars-refman-lammps.pdf and b/doc/src/PDF/colvars-refman-lammps.pdf differ diff --git a/doc/src/Section_commands.txt b/doc/src/Section_commands.txt index 35fe153473a371fc21c89627cfe782cd8bbad530..faf254f93d15fee6c7f121cf88a82bba76dad620 100644 --- a/doc/src/Section_commands.txt +++ b/doc/src/Section_commands.txt @@ -978,6 +978,7 @@ KOKKOS, o = USER-OMP, t = OPT. "lj/cut/coul/long (gikot)"_pair_lj.html, "lj/cut/coul/long/cs"_pair_lj.html, "lj/cut/coul/msm (go)"_pair_lj.html, +"lj/cut/coul/wolf (o)"_pair_lj.html, "lj/cut/dipole/cut (go)"_pair_dipole.html, "lj/cut/dipole/long"_pair_dipole.html, "lj/cut/tip4p/cut (o)"_pair_lj.html, @@ -1011,7 +1012,7 @@ KOKKOS, o = USER-OMP, t = OPT. "reax"_pair_reax.html, "rebo (oi)"_pair_airebo.html, "resquared (go)"_pair_resquared.html, -"snap"_pair_snap.html, +"snap (k)"_pair_snap.html, "soft (go)"_pair_soft.html, "sw (giko)"_pair_sw.html, "table (gko)"_pair_table.html, @@ -1022,6 +1023,7 @@ KOKKOS, o = USER-OMP, t = OPT. "tip4p/cut (o)"_pair_coul.html, "tip4p/long (o)"_pair_coul.html, "tri/lj"_pair_tri_lj.html, +"ufm (got)"_pair_ufm.html, "vashishta (ko)"_pair_vashishta.html, "vashishta/table (o)"_pair_vashishta.html, "yukawa (gok)"_pair_yukawa.html, diff --git a/doc/src/Section_intro.txt b/doc/src/Section_intro.txt index bfb6ef390171f67cc4df16f5d1a4486d427cb469..604df6c1aef12c08e896f6617f97114b78e1055c 100644 --- a/doc/src/Section_intro.txt +++ b/doc/src/Section_intro.txt @@ -507,11 +507,15 @@ we'll be pleased to add them to the "Movies"_http://lammps.sandia.gov/movies.html pages of the LAMMPS WWW site. -The core group of LAMMPS developers is at Sandia National Labs: +The primary LAMMPS developers are at Sandia National Labs and Temple University: Steve Plimpton, sjplimp at sandia.gov Aidan Thompson, athomps at sandia.gov -Paul Crozier, pscrozi at sandia.gov :ul +Stan Moore, stamoor at sandia.gov +Axel Kohlmeyer, akohlmey at gmail.com :ul + +Past primary developers include Paul Crozier and Mark Stevens, +both at Sandia, and Ray Shan, now at Materials Design. The following folks are responsible for significant contributions to the code, or other aspects of the LAMMPS development effort. Many of @@ -519,19 +523,20 @@ the packages they have written are somewhat unique to LAMMPS and the code would not be as general-purpose as it is without their expertise and efforts. -Axel Kohlmeyer (Temple U), akohlmey at gmail.com, SVN and Git repositories, indefatigable mail list responder, USER-CGSDK and USER-OMP packages +Axel Kohlmeyer (Temple U), akohlmey at gmail.com, SVN and Git repositories, indefatigable mail list responder, USER-CGSDK, USER-OMP, USER-COLVARS, USER-MOLFILE, USER-QMMM, USER-TALLY, and COMPRESS packages Roy Pollock (LLNL), Ewald and PPPM solvers -Mike Brown (ORNL), brownw at ornl.gov, GPU package +Mike Brown (ORNL), brownw at ornl.gov, GPU and USER-INTEL package Greg Wagner (Sandia), gjwagne at sandia.gov, MEAM package for MEAM potential Mike Parks (Sandia), mlparks at sandia.gov, PERI package for Peridynamics Rudra Mukherjee (JPL), Rudranarayan.M.Mukherjee at jpl.nasa.gov, POEMS package for articulated rigid body motion Reese Jones (Sandia) and collaborators, rjones at sandia.gov, USER-ATC package for atom/continuum coupling Ilya Valuev (JIHT), valuev at physik.hu-berlin.de, USER-AWPMD package for wave-packet MD -Christian Trott (U Tech Ilmenau), christian.trott at tu-ilmenau.de, USER-CUDA package +Christian Trott (U Tech Ilmenau), christian.trott at tu-ilmenau.de, USER-CUDA and KOKKOS packages Andres Jaramillo-Botero (Caltech), ajaramil at wag.caltech.edu, USER-EFF package for electron force field Christoph Kloss (JKU), Christoph.Kloss at jku.at, USER-LIGGGHTS package for granular models and granular/fluid coupling Metin Aktulga (LBL), hmaktulga at lbl.gov, USER-REAXC package for C version of ReaxFF -Georg Gunzenmuller (EMI), georg.ganzenmueller at emi.fhg.de, USER-SPH package :ul +Georg Gunzenmuller (EMI), georg.ganzenmueller at emi.fhg.de, USER-SMD and USER-SPH packages +Colin Denniston (U Western Ontario), cdennist at uwo.ca, USER-LB package :ul As discussed in "Section 13"_Section_history.html, LAMMPS originated as a cooperative project between DOE labs and industrial diff --git a/doc/src/Section_packages.txt b/doc/src/Section_packages.txt index 0f6f8ec78b5a63d14358ea9693168860761845d0..efbe5a4305e2d737016dfb9ef9ce286e854d6fd5 100644 --- a/doc/src/Section_packages.txt +++ b/doc/src/Section_packages.txt @@ -138,6 +138,7 @@ Package, Description, Doc page, Example, Library "USER-MESO"_#USER-MESO, mesoscale DPD models, "pair_style edpd"_pair_meso.html, USER/meso, - "USER-MGPT"_#USER-MGPT, fast MGPT multi-ion potentials, "pair_style mgpt"_pair_mgpt.html, USER/mgpt, - "USER-MISC"_#USER-MISC, single-file contributions, USER-MISC/README, USER/misc, - +"USER-MOFFF"_#USER-MOFFF, styles for "MOF-FF"_MOFplus force field, "pair_style buck6d/coul/gauss"_pair_buck6d_coul_gauss.html, USER/mofff, - "USER-MOLFILE"_#USER-MOLFILE, "VMD"_vmd_home molfile plug-ins,"dump molfile"_dump_molfile.html, -, ext "USER-NETCDF"_#USER-NETCDF, dump output via NetCDF,"dump netcdf"_dump_netcdf.html, -, ext "USER-OMP"_#USER-OMP, OpenMP-enabled styles,"Section 5.3.4"_accelerate_omp.html, "Benchmarks"_http://lammps.sandia.gov/bench.html, - @@ -2259,6 +2260,44 @@ http://lammps.sandia.gov/movies.html#mesodpd :ul :line +USER-MOFFF package :link(USER-MOFFF),h4 + +[Contents:] + +Pair, angle and improper styles needed to employ the MOF-FF +force field by Schmid and coworkers with LAMMPS. +MOF-FF is a first principles derived force field with the primary aim +to simulate MOFs and related porous framework materials, using spherical +Gaussian charges. It is described in S. Bureekaew et al., Phys. Stat. Sol. B +2013, 250, 1128-1141. +For the usage of MOF-FF see the example in the example directory as +well as the "MOF+"_MOFplus website. + +:link(MOFplus,https://www.mofplus.org/content/show/MOF-FF) + +[Author:] Hendrik Heenen (Technical U of Munich), +Rochus Schmid (Ruhr-University Bochum). + +[Install or un-install:] + +make yes-user-mofff +make machine :pre + +make no-user-mofff +make machine :pre + +[Supporting info:] + +src/USER-MOFFF: filenames -> commands +src/USER-MOFFF/README +"pair_style buck6d/coul/gauss"_pair_buck6d_coul_gauss.html +"angle_style class2"_angle_class2.html +"angle_style cosine/buck6d"_angle_cosine_buck6d.html +"improper_style inversion/harmonic"_improper_inversion_harmonic.html +examples/USER/mofff :ul + +:line + USER-MOLFILE package :link(USER-MOLFILE),h4 [Contents:] diff --git a/doc/src/Section_start.txt b/doc/src/Section_start.txt index 7761f77233df4b8adff3d0bf570ffaeb98ebb00f..6473c346dce1acbdf9a220d4149c6925de0c0cc3 100644 --- a/doc/src/Section_start.txt +++ b/doc/src/Section_start.txt @@ -259,7 +259,6 @@ within the LAMMPS code. The options that are currently recognized are: -DLAMMPS_PNG -DLAMMPS_FFMPEG -DLAMMPS_MEMALIGN --DLAMMPS_XDR -DLAMMPS_SMALLBIG -DLAMMPS_BIGBIG -DLAMMPS_SMALLSMALL @@ -308,11 +307,6 @@ has to be aligned on larger than default byte boundaries (e.g. 16 bytes instead of 8 bytes on x86 type platforms) for optimal performance. -If you use -DLAMMPS_XDR, the build will include XDR compatibility -files for doing particle dumps in XTC format. This is only necessary -if your platform does have its own XDR files available. See the -Restrictions section of the "dump"_dump.html command for details. - Use at most one of the -DLAMMPS_SMALLBIG, -DLAMMPS_BIGBIG, -DLAMMPS_SMALLSMALL settings. The default is -DLAMMPS_SMALLBIG. These settings refer to use of 4-byte (small) vs 8-byte (big) integers @@ -809,6 +803,10 @@ currently installed. For those that are installed, it will list any files that are different in the src directory and package sub-directory. +Typing "make package-installed" or "make pi" will list which packages are +currently installed, without listing the status of packages that are not +installed. + Typing "make package-update" or "make pu" will overwrite src files with files from the package sub-directories if the package is installed. It should be used after a patch has been applied, since diff --git a/doc/src/Section_tools.txt b/doc/src/Section_tools.txt index 9a1968762ab1d04994ccc041f8e14502fd11cdcc..e85c0d818f5e767c3a240d12971d278c4ffb01fe 100644 --- a/doc/src/Section_tools.txt +++ b/doc/src/Section_tools.txt @@ -111,14 +111,21 @@ back-and-forth between the CHARMM MD code and LAMMPS. They are intended to make it easy to use CHARMM as a builder and as a post-processor for LAMMPS. Using charmm2lammps.pl, you can convert a PDB file with associated CHARMM info, including CHARMM force field -data, into its LAMMPS equivalent. Using lammps2pdb.pl you can convert -LAMMPS atom dumps into PDB files. +data, into its LAMMPS equivalent. Support for the CMAP correction of +CHARMM22 and later is available as an option. This tool can also add +solvent water molecules and Na+ or Cl- ions to the system. +Using lammps2pdb.pl you can convert LAMMPS atom dumps into PDB files. See the README file in the ch2lmp sub-directory for more information. These tools were created by Pieter in't Veld (pjintve at sandia.gov) and Paul Crozier (pscrozi at sandia.gov) at Sandia. +CMAP support added and tested by Xiaohu Hu (hux2 at ornl.gov) and +Robert A. Latour (latourr at clemson.edu), David Hyde-Volpe, and +Tigran Abramyan, (Clemson University) and +Chris Lorenz (chris.lorenz at kcl.ac.uk), King's College London. + :line chain tool :h4,link(chain) @@ -177,7 +184,7 @@ doxygen tool :h4,link(doxygen) The tools/doxygen directory contains a shell script called doxygen.sh which can generate a call graph and API lists using -the Doxygen_http://doxygen.org software. +the "Doxygen software"_http://doxygen.org. See the included README file for details. diff --git a/doc/src/USER/atc/man_add_molecule.html b/doc/src/USER/atc/man_add_molecule.html index 99270c7276dc9fbc26a1b2bb823dde544d0913cd..8d9625e1bd0e926742f0283c5229880681f89431 100644 --- a/doc/src/USER/atc/man_add_molecule.html +++ b/doc/src/USER/atc/man_add_molecule.html @@ -7,24 +7,22 @@ +
+ LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
+ +
+ + -
-

fix_modify AtC add_molecule

-syntax

+

fix_modify AtC add_molecule

+syntax

fix_modify_AtC add_molecule <small|large> <TAG> <GROUP_NAME>

-

-examples

+

+examples

group WATERGROUP type 1 2
fix_modify AtC add_molecule small water WATERGROUP

-

-description

+

+description

Associates a tag with all molecules corresponding to a specified group.

-

-restrictions

-

-related

-

-default

+

+restrictions

+

+related

+

+default

No defaults for this command.


Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_add_species.html b/doc/src/USER/atc/man_add_species.html index 95192034d94d4ab342a0a0a061fcba52bc5e59bf..9beded1b164d22c57f5800d62d258bf0867e9999 100644 --- a/doc/src/USER/atc/man_add_species.html +++ b/doc/src/USER/atc/man_add_species.html @@ -7,24 +7,22 @@ +
+ LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
+ +
+ + -
-

fix_modify AtC add_species

-syntax

+

fix_modify AtC add_species

+syntax

fix_modify_AtC add_species <TAG> <group|type> <ID>

    @@ -35,21 +33,21 @@ syntax
  • <ID> = name of group or type number
-

-examples

+

+examples

fix_modify AtC add_species gold type 1
group GOLDGROUP type 1
fix_modify AtC add_species gold group GOLDGROUP

-

-description

+

+description

Associates a tag with all atoms of a specified type or within a specified group.

-

-restrictions

-

-related

-

-default

+

+restrictions

+

+related

+

+default

No defaults for this command.


Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_atom_element_map.html b/doc/src/USER/atc/man_atom_element_map.html index 3073c0f9209f52a9cfe50db2f602ae0067c3ec98..6725170928a49b0887e1e09e3fc1634b94666773 100644 --- a/doc/src/USER/atc/man_atom_element_map.html +++ b/doc/src/USER/atc/man_atom_element_map.html @@ -7,42 +7,40 @@ +
+ LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
+ +
+ + -
-

fix_modify AtC atom_element_map

-syntax

+

fix_modify AtC atom_element_map

+syntax

fix_modify AtC atom_element_map <eulerian|lagrangian> <frequency>

  • frequency (int) : frequency of updating atom-to-continuum maps based on the current configuration - only for eulerian
-

-examples

+

+examples

fix_modify atc atom_element_map eulerian 100

-

-description

+

+description

Changes frame of reference from eulerian to lagrangian and sets the frequency for which the map from atoms to elements is reformed and all the attendant data is recalculated.

-

-restrictions

+

+restrictions

Cannot change map type after initialization.

-

-related

-

-default

+

+related

+

+default

lagrangian


Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_atom_weight.html b/doc/src/USER/atc/man_atom_weight.html index 18b0dcae6ed1a24446d77f7941d28e4cbe9db733..28bc90fa01c053c99983a594100b086ddd6b08a5 100644 --- a/doc/src/USER/atc/man_atom_weight.html +++ b/doc/src/USER/atc/man_atom_weight.html @@ -7,24 +7,22 @@ +
+ LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
+ +
+ + -
-

fix_modify AtC atom_weight

-syntax

+

fix_modify AtC atom_weight

+syntax

fix_modify AtC atom_weight <method> <arguments>

  • <method> =
    @@ -36,22 +34,22 @@ syntax read_in: list of values for atoms are read-in from specified file
-

-examples

+

+examples

fix_modify atc atom_weight constant myatoms 11.8
fix_modify atc atom_weight lattice
fix_modify atc atom_weight read-in atm_wt_file.txt

-

-description

+

+description

Command for assigning the value of atomic weights used for atomic integration in atom-continuum coupled simulations.

-

-restrictions

+

+restrictions

Use of lattice option requires a lattice type and parameter is already specified.

-

-related

-

-default

+

+related

+

+default

lattice


Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_atomic_charge.html b/doc/src/USER/atc/man_atomic_charge.html index 718f8a433f1c4fb9164e5d910fc12fe11eb52c6d..ef787f53acc2632e066aaf14766b5df0ac350706 100644 --- a/doc/src/USER/atc/man_atomic_charge.html +++ b/doc/src/USER/atc/man_atomic_charge.html @@ -7,41 +7,39 @@ +
+ LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
+ +
+ + -
-

fix_modify AtC atomic_charge

-syntax

+

fix_modify AtC atomic_charge

+syntax

fix_modify AtC <include | omit> atomic_charge

  • <include | omit> = switch to activiate/deactiviate inclusion of intrinsic atomic charge in ATC
-

-examples

+

+examples

fix_modify atc compute include atomic_charge

-

-description

+

+description

Determines whether AtC tracks the total charge as a finite element field

-

-restrictions

+

+restrictions

Required for: electrostatics

-

-related

-

-default

+

+related

+

+default

if the atom charge is defined, default is on, otherwise default is off


Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_boundary.html b/doc/src/USER/atc/man_boundary.html index 3e877355f15509602a2275c82351349043e8033b..61596d3b31899ea0a65cdd4332753b61b3436eeb 100644 --- a/doc/src/USER/atc/man_boundary.html +++ b/doc/src/USER/atc/man_boundary.html @@ -7,38 +7,36 @@ +
+ LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
+ +
+ + -
-

fix_modify AtC boundary

-syntax

+

fix_modify AtC boundary

+syntax

fix_modify AtC boundary type <atom-type-id>

  • <atom-type-id> = type id for atoms that represent a ficticious boundary internal to the FE mesh
-

-examples

+

+examples

fix_modify AtC boundary type ghost_atoms

-

-description

+

+description

Command to define the atoms that represent the ficticious boundary internal to the FE mesh. For fully overlapped MD/FE domains with periodic boundary conditions no boundary atoms should be defined.

-

-restrictions

-

-default

+

+restrictions

+

+default

none


Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_boundary_dynamics.html b/doc/src/USER/atc/man_boundary_dynamics.html index 87696b8b43fc457da47d4f501d4f96d48a11a000..40b82f3f6113ba5b21416776a4927fc2f05de3de 100644 --- a/doc/src/USER/atc/man_boundary_dynamics.html +++ b/doc/src/USER/atc/man_boundary_dynamics.html @@ -7,36 +7,34 @@ +
+ LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
+ +
+ + -
-

fix_modify AtC boundary_dynamics

-syntax

+

fix_modify AtC boundary_dynamics

+syntax

fix_modify AtC boundary_dynamics < on | damped_harmonic | prescribed | coupled | none > [args]

-

-description

+

+description

Sets different schemes for controlling boundary atoms. On will integrate the boundary atoms using the velocity-verlet algorithm. Damped harmonic uses a mass/spring/dashpot for the boundary atoms with added arguments of the damping and spring constants followed by the ratio of the boundary type mass to the desired mass. Prescribed forces the boundary atoms to follow the finite element displacement. Coupled does the same.

-

-restrictions

+

+restrictions

Boundary atoms must be specified. When using swaps between internal and boundary atoms, the initial configuration must have already correctly partitioned the two.

-

-related

-

-default

+

+related

+

+default

prescribed on


Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_boundary_faceset.html b/doc/src/USER/atc/man_boundary_faceset.html index 2e96330d6cf8a18f8c359c9c2f36a4dc063d10cc..7eb950f78e54c7dfd17f4f7121332a592265f236 100644 --- a/doc/src/USER/atc/man_boundary_faceset.html +++ b/doc/src/USER/atc/man_boundary_faceset.html @@ -7,38 +7,36 @@ +
+ LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
+ +
+ + -
-

fix_modify AtC boundary_faceset

-syntax

+

fix_modify AtC boundary_faceset

+syntax

fix_modify AtC boundary_faceset <is | add> [args]

-

-examples

+

+examples

fix_modify AtC boundary_faceset is obndy

-

-description

+

+description

This command species the faceset name when using a faceset to compute the MD/FE boundary fluxes. The faceset must already exist.

-

-restrictions

+

+restrictions

This is only valid when fe_md_boundary is set to faceset.

-

-related

-

-default

+

+related

+

+default


Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_boundary_integral.html b/doc/src/USER/atc/man_boundary_integral.html index 3e78f12963f3c44e01c9ab71bcbff511fc02a3e8..0663dba176e57066ea8b878f5bf3b7b2e1280889 100644 --- a/doc/src/USER/atc/man_boundary_integral.html +++ b/doc/src/USER/atc/man_boundary_integral.html @@ -7,43 +7,41 @@ +
+ LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
+ +
+ + -
-

fix_modify AtC output boundary_integral

-syntax

+

fix_modify AtC output boundary_integral

+syntax

fix_modify AtC output boundary_integral [field] faceset [name]

  • field (string) : name of hardy field
  • name (string) : name of faceset
-

-examples

+

+examples

fix_modify AtC output boundary_integral stress faceset loop1

-

-description

+

+description

Calculates a surface integral of the given field dotted with the outward normal of the faces and puts output in the "GLOBALS" file

-

-restrictions

-

Must be used with the hardy/field type of AtC fix ( see fix atc command )

-

-related

-

-default

+

+restrictions

+

Must be used with the hardy/field type of AtC fix ( see fix atc command )

+

+related

+

+default

none


Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_consistent_fe_initialization.html b/doc/src/USER/atc/man_consistent_fe_initialization.html index f4c33f5076bda70c594aa432904728fdf7b16eae..a731b09116dd2a9e7fb677b5fcc12b433023bdfa 100644 --- a/doc/src/USER/atc/man_consistent_fe_initialization.html +++ b/doc/src/USER/atc/man_consistent_fe_initialization.html @@ -7,41 +7,39 @@ +
+ LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
+ +
+ + -
-

fix_modify AtC consistent_fe_initialization

-syntax

+

fix_modify AtC consistent_fe_initialization

+syntax

fix_modify AtC consistent_fe_initialization <on | off>

  • <on|off> = switch to activiate/deactiviate the initial setting of FE intrinsic field to match the projected MD field
-

-examples

+

+examples

fix_modify atc consistent_fe_initialization on

-

-description

+

+description

Determines whether AtC initializes FE intrinsic fields (e.g., temperature) to match the projected MD values. This is particularly useful for fully overlapping simulations.

-

-restrictions

+

+restrictions

Can be used with: thermal, two_temperature. Cannot be used with time filtering on. Does not include boundary nodes.

-

-related

-

-default

+

+related

+

+default

Default is off


Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_contour_integral.html b/doc/src/USER/atc/man_contour_integral.html index c321605e884f97b6c3e65c2381bab5c0bbe9ce2a..690f0fcc986e9670071c54d30c5cdc70a1756601 100644 --- a/doc/src/USER/atc/man_contour_integral.html +++ b/doc/src/USER/atc/man_contour_integral.html @@ -7,44 +7,42 @@ +
+ LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
+ +
+ + -
-

fix_modify AtC output contour_integral

-syntax

+

fix_modify AtC output contour_integral

+syntax

fix_modify AtC output contour_integral [field] faceset [name] <axis [x | y | z ]>

  • field (string) : name of hardy field
  • name (string) : name of faceset
  • axis (string) : x or y or z
-

-examples

+

+examples

fix_modify AtC output contour_integral stress faceset loop1

-

-description

+

+description

Calculates a surface integral of the given field dotted with the outward normal of the faces and puts output in the "GLOBALS" file

-

-restrictions

-

Must be used with the hardy/field type of AtC fix ( see fix atc command )

-

-related

-

-default

+

+restrictions

+

Must be used with the hardy/field type of AtC fix ( see fix atc command )

+

+related

+

+default

none


Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_control.html b/doc/src/USER/atc/man_control.html index af0236f30ef24106a57f0c6f54a4566aa9ffcbea..900952ba0b39735f31d74d8a44b6c6fd80067667 100644 --- a/doc/src/USER/atc/man_control.html +++ b/doc/src/USER/atc/man_control.html @@ -7,24 +7,22 @@ +
+ LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
+ +
+ + -
-

fix_modify AtC control

-syntax

+

fix_modify AtC control

+syntax

fix_modify AtC control <physics_type> <solution_parameter>


@@ -46,22 +44,22 @@ syntax
  • tolerance (float) = relative tolerance to which matrix equations will be solved
  • -

    -examples

    +

    +examples

    fix_modify AtC control thermal max_iterations 10
    fix_modify AtC control momentum tolerance 1.e-5

    -

    -description

    +

    +description

    Sets the numerical parameters for the matrix solvers used in the specified control algorithm. Many solution approaches require iterative solvers, and these methods enable users to provide the maximum number of iterations and the relative tolerance.

    -

    -restrictions

    +

    +restrictions

    only for be used with specific controllers : thermal, momentum
    They are ignored if a lumped solution is requested

    -

    -related

    -

    -default

    +

    +related

    +

    +default

    max_iterations is the number of rows in the matrix
    tolerance is 1.e-10

    diff --git a/doc/src/USER/atc/man_control_momentum.html b/doc/src/USER/atc/man_control_momentum.html index 805c12567a6054f50c454fcfd8410aa7614f0d18..8f4f48659561834285e915632ec4dd8802cb1f1a 100644 --- a/doc/src/USER/atc/man_control_momentum.html +++ b/doc/src/USER/atc/man_control_momentum.html @@ -7,24 +7,22 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC control momentum

    -syntax

    +

    fix_modify AtC control momentum

    +syntax

    fix_modify AtC control momentum none

    fix_modify AtC control momentum rescale <frequency>
    @@ -44,21 +42,21 @@ syntax

  • face_set_id (string) = id of boundary face set, if not specified (or not possible when the atomic domain does not line up with mesh boundaries) defaults to an atomic-quadrature approximate evaulation
  • -

    -examples

    +

    +examples

    fix_modify AtC control momentum glc_velocity
    fix_modify AtC control momentum flux faceset bndy_faces

    -

    -description

    -

    -restrictions

    +

    +description

    +

    +restrictions

    only to be used with specific transfers : elastic
    rescale not valid with time filtering activated

    -

    -related

    -

    -default

    +

    +related

    +

    +default

    none


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_control_thermal.html b/doc/src/USER/atc/man_control_thermal.html index 301297f306b90c4c7e433820eb4b74bfff6e24d0..eab186f71502d82b1667487b8b6e9c621e887e57 100644 --- a/doc/src/USER/atc/man_control_thermal.html +++ b/doc/src/USER/atc/man_control_thermal.html @@ -7,24 +7,22 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC control thermal

    -syntax

    +

    fix_modify AtC control thermal

    +syntax

    fix_modify AtC control thermal <control_type> <optional_args>

    • control_type (string) = none | rescale | hoover | flux
      @@ -46,25 +44,25 @@ syntax
    • face_set_id (string), optional = id of boundary face set, if not specified (or not possible when the atomic domain does not line up with mesh boundaries) defaults to an atomic-quadrature approximate evaulation, does not work with interpolate
    -

    -examples

    +

    +examples

    fix_modify AtC control thermal none
    fix_modify AtC control thermal rescale 10
    fix_modify AtC control thermal hoover
    fix_modify AtC control thermal flux
    fix_modify AtC control thermal flux faceset bndy_faces

    -

    -description

    +

    +description

    Sets the energy exchange mechansim from the finite elements to the atoms, managed through a control algorithm. Rescale computes a scale factor for each atom to match the finite element temperature. Hoover is a Gaussian least-constraint isokinetic thermostat enforces that the nodal restricted atomic temperature matches the finite element temperature. Flux is a similar mode, but rather adds energy to the atoms based on conservation of energy. Hoover and flux allows the prescription of sources or fixed temperatures on the atoms.

    -

    -restrictions

    +

    +restrictions

    only for be used with specific transfers : thermal (rescale, hoover, flux), two_temperature (flux)
    rescale not valid with time filtering activated

    -

    -related

    -

    -default

    +

    +related

    +

    +default

    none
    rescale frequency is 1
    flux boundary_integration_type is interpolate

    diff --git a/doc/src/USER/atc/man_control_thermal_correction_max_iterations.html b/doc/src/USER/atc/man_control_thermal_correction_max_iterations.html index 8a511019f9dd0643446fd25a4b746147cf337d69..a337a495e0e3eaf2cedb69441267654cdb68316a 100644 --- a/doc/src/USER/atc/man_control_thermal_correction_max_iterations.html +++ b/doc/src/USER/atc/man_control_thermal_correction_max_iterations.html @@ -7,43 +7,41 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC control thermal correction_max_iterations

    -syntax

    +

    fix_modify AtC control thermal correction_max_iterations

    +syntax

    fix_modify AtC control thermal correction_max_iterations <max_iterations>

    • max_iterations (int) = maximum number of iterations that will be used by iterative matrix solvers
    -

    -examples

    +

    +examples

    fix_modify AtC control thermal correction_max_iterations 10

    -

    -description

    +

    +description

    Sets the maximum number of iterations to compute the 2nd order in time correction term for lambda with the fractional step method. The method uses the same tolerance as the controller's matrix solver.

    -

    -restrictions

    +

    +restrictions

    only for use with thermal physics using the fractional step method.

    -

    -related

    -

    -default

    +

    +related

    +

    +default

    correction_max_iterations is 20


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_decomposition.html b/doc/src/USER/atc/man_decomposition.html index 15725073d35a6a2d1a14c8f8f761e77356fef70e..d54a2010342e783243cc0ab90f8010515c23a892 100644 --- a/doc/src/USER/atc/man_decomposition.html +++ b/doc/src/USER/atc/man_decomposition.html @@ -7,24 +7,22 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC decomposition

    -syntax

    +

    fix_modify AtC decomposition

    +syntax

    fix_modify AtC decomposition <type>

    • <type> =
      @@ -32,20 +30,20 @@ syntax distributed_memory: only owned nodal information on processor
    -

    -examples

    +

    +examples

    fix_modify atc decomposition distributed_memory

    -

    -description

    +

    +description

    Command for assigning the distribution of work and memory for parallel runs.

    -

    -restrictions

    +

    +restrictions

    replicated_memory is appropriate for simulations were the number of nodes << number of atoms

    -

    -related

    -

    -default

    +

    +related

    +

    +default

    replicated_memory


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_electron_integration.html b/doc/src/USER/atc/man_electron_integration.html index b14c14d86d5dfbf4ef71a635335f0717af98fa4a..ab454c16d271fa0e9ed02e186601f9c2cdc0259e 100644 --- a/doc/src/USER/atc/man_electron_integration.html +++ b/doc/src/USER/atc/man_electron_integration.html @@ -7,24 +7,22 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC extrinsic electron_integration

    -syntax

    +

    fix_modify AtC extrinsic electron_integration

    +syntax

    fix_modify AtC extrinsic electron_integration <integration_type> <num_subcyle_steps(optional)>

      @@ -32,20 +30,20 @@ syntax
    • num_subcycle_steps (int), optional = number of subcycle steps for the electron time integration
    -

    -examples

    +

    +examples

    fix_modify AtC extrinsic electron_integration implicit
    fix_modify AtC extrinsic electron_integration explicit 100

    -

    -description

    +

    +description

    Switches between integration scheme for the electron temperature. The number of subcyling steps used to integrate the electron temperature 1 LAMMPS timestep can be manually adjusted to capture fast electron dynamics.

    -

    -restrictions

    -

    For use only with two_temperature type of AtC fix ( see fix atc command )
    +

    +restrictions

    +

    For use only with two_temperature type of AtC fix ( see fix atc command )

    -

    -default

    +

    +default

    implicit
    subcycle_steps = 1

    diff --git a/doc/src/USER/atc/man_equilibrium_start.html b/doc/src/USER/atc/man_equilibrium_start.html index 3723cf98bf36d1bca05d04c3735f6e9a3209a2fd..d01253c4b3e574981cc3d2e32159a4639bd7bcd3 100644 --- a/doc/src/USER/atc/man_equilibrium_start.html +++ b/doc/src/USER/atc/man_equilibrium_start.html @@ -7,40 +7,38 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC equilibrium_start

    -syntax

    +

    fix_modify AtC equilibrium_start

    +syntax

    fix_modify AtC equilibrium_start <on|off>

    -

    -examples

    +

    +examples

    fix_modify atc equilibrium_start on

    -

    -description

    +

    +description

    Starts filtered calculations assuming they start in equilibrium, i.e. perfect finite element force balance.

    -

    -restrictions

    +

    +restrictions

    only needed before filtering is begun

    -

    -related

    +

    +related

    see fix_modify AtC filter

    -

    -default

    +

    +default

    on


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_extrinsic_exchange.html b/doc/src/USER/atc/man_extrinsic_exchange.html index 8f6533ad646beca2b91ad6415f23b6d0c187933a..4f1f5962d9f3956bd1be3bf7a41c6a028769b07e 100644 --- a/doc/src/USER/atc/man_extrinsic_exchange.html +++ b/doc/src/USER/atc/man_extrinsic_exchange.html @@ -7,40 +7,38 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC extrinsic exchange

    -syntax

    +

    fix_modify AtC extrinsic exchange

    +syntax

    fix_modify AtC extrinsic exchange <on|off>

    -

    -examples

    +

    +examples

    fix_modify AtC extrinsic exchange on

    -

    -description

    +

    +description

    Switches energy exchange between the MD system and electron system on and off

    -

    -restrictions

    +

    +restrictions

    Only valid for use with two_temperature type of AtC fix.

    -

    -related

    -

    see fix atc command

    -

    -default

    +

    +related

    +

    see fix atc command

    +

    +default

    on


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_fe_md_boundary.html b/doc/src/USER/atc/man_fe_md_boundary.html index 06bca2b337f7ca62483bb861ef9d49e7f53f756b..e517dd4855d86a90fe95517bf3bb07a0c99425f1 100644 --- a/doc/src/USER/atc/man_fe_md_boundary.html +++ b/doc/src/USER/atc/man_fe_md_boundary.html @@ -7,40 +7,38 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC fe_md_boundary

    -syntax

    +

    fix_modify AtC fe_md_boundary

    +syntax

    fix_modify AtC fe_md_boundary <faceset | interpolate | no_boundary> [args]

    -

    -examples

    +

    +examples

    fix_modify atc fe_md_boundary interpolate

    -

    -description

    +

    +description

    Specifies different methods for computing fluxes between between the MD and FE integration regions. Faceset defines a faceset separating the MD and FE regions and uses finite element face quadrature to compute the flux. Interpolate uses a reconstruction scheme to approximate the flux, which is more robust but less accurate if the MD/FE boundary does correspond to a faceset. No boundary results in no fluxes between the systems being computed.

    -

    -restrictions

    +

    +restrictions

    If faceset is used, all the AtC non-boundary atoms must lie within and completely fill the domain enclosed by the faceset.

    -

    -related

    +

    +related

    see for how to specify the faceset name.

    -

    -default

    +

    +default

    Interpolate.


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_fem_mesh.html b/doc/src/USER/atc/man_fem_mesh.html index 2abd84d6cef4b3040e13ba674c4e5e6e3d0f1cc0..b8ba584816bc2b2fce453df4f12f2a3589378feb 100644 --- a/doc/src/USER/atc/man_fem_mesh.html +++ b/doc/src/USER/atc/man_fem_mesh.html @@ -1,24 +1,45 @@ - - + + + + ATC: fix_modify AtC fem create mesh - - - -

    fix_modify AtC fem create mesh

    -syntax

    + + + + +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + + +
    + +

    fix_modify AtC fem create mesh

    +syntax

    fix_modify AtC fem create mesh <nx> <ny> <nz> <region-id> <f|p> <f|p> <f|p>
    • nx ny nz = number of elements in x, y, z
    • region-id = id of region that is to be meshed
    • f p p = perioidicity flags for x, y, z
    -

    -examples

    - fix_modify AtC fem create mesh 10 1 1 feRegion p p p

    -description

    -Creates a uniform mesh in a rectangular region

    -restrictions

    -creates only uniform rectangular grids in a rectangular region

    -related

    -

    -default

    -none
    Generated on Mon Aug 17 09:35:16 2009 for ATC by  +

    +examples

    +

    fix_modify AtC fem create mesh 10 1 1 feRegion p p p
    +

    +

    +description

    +

    Creates a uniform mesh in a rectangular region

    +

    +restrictions

    +

    creates only uniform rectangular grids in a rectangular region

    +

    +related

    +

    +default

    +none +
    Generated on Mon Aug 17 09:35:16 2009 for ATC by  doxygen 1.3.9.1
    diff --git a/doc/src/USER/atc/man_filter_scale.html b/doc/src/USER/atc/man_filter_scale.html index 975f87e9499be3d210da661bff02dfb556141eae..7a871f5c8141c7c8122919f0c2ea8b5abdfa27ca 100644 --- a/doc/src/USER/atc/man_filter_scale.html +++ b/doc/src/USER/atc/man_filter_scale.html @@ -7,45 +7,43 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC filter scale

    -syntax

    +

    fix_modify AtC filter scale

    +syntax

    fix_modify AtC filter scale <scale>

    • scale (real) = characteristic time scale of the filter
    -

    -examples

    +

    +examples

    fix_modify AtC filter scale 10.0

    -

    -description

    +

    +description

    Filters the MD dynamics to construct a more appropriate continuous field. Equilibrating first filters the time derivatives without changing the dynamics to provide a better initial condition to the filtered dynamics

    -

    -restrictions

    +

    +restrictions

    only for be used with specific transfers: thermal, two_temperature

    -

    -related

    +

    +related

    fix_modify AtC filter fix_modify AtC filter type

    -

    -default

    +

    +default

    0.


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_filter_type.html b/doc/src/USER/atc/man_filter_type.html index 8d9dbd3d12d0ede718c312b2136e880a7d4e2f47..2711d128e9f945be4e7c65ad8e18be43b2b78d08 100644 --- a/doc/src/USER/atc/man_filter_type.html +++ b/doc/src/USER/atc/man_filter_type.html @@ -7,41 +7,39 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC filter type

    -syntax

    +

    fix_modify AtC filter type

    +syntax

    fix_modify AtC filter type <exponential | step | no_filter>

    -

    -examples

    +

    +examples

    fix_modify AtC filter type exponential

    -

    -description

    +

    +description

    Specifies the type of time filter used.

    -

    -restrictions

    +

    +restrictions

    only for be used with specific transfers: thermal, two_temperature

    -

    -related

    +

    +related

    fix_modify AtC filter fix_modify AtC filter scale

    -

    -default

    +

    +default

    No default.


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_fix_atc.html b/doc/src/USER/atc/man_fix_atc.html index e710c28ed268d58d037396681f25cd87593d978f..7cc6cfea5bad5089cfbddab53036c75ed2fedd0f 100644 --- a/doc/src/USER/atc/man_fix_atc.html +++ b/doc/src/USER/atc/man_fix_atc.html @@ -7,24 +7,22 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix atc command

    -syntax

    +

    fix atc command

    +syntax

    fix <fixID> <group> atc <type> <parameter_file>

    • fixID = name of fix
    • @@ -38,15 +36,15 @@ syntax
    • parameter_file = name of the file with material parameters.
      note: Neither hardy nor field requires a parameter file
    -

    -examples

    +

    +examples

    fix AtC internal atc thermal Ar_thermal.dat
    fix AtC internal atc two_temperature Ar_ttm.mat
    fix AtC internal atc hardy
    fix AtC internal atc field

    -

    -description

    +

    +description

    This fix is the beginning to creating a coupled FE/MD simulation and/or an on-the-fly estimation of continuum fields. The coupled versions of this fix do Verlet integration and the /post-processing does not. After instantiating this fix, several other fix_modify commands will be needed to set up the problem, e.g. define the finite element mesh and prescribe initial and boundary conditions.

    The following coupling example is typical, but non-exhaustive:

    @@ -134,16 +132,16 @@ description

    Please refer to the standard finite element (FE) texts, e.g. T.J.R Hughes The finite element method , Dover 2003, for the basics of FE simulation.

    -

    -restrictions

    +

    +restrictions

    Thermal and two_temperature (coupling) types use a Verlet time-integration algorithm. The hardy type does not contain its own time-integrator and must be used with a separate fix that does contain one, e.g. nve, nvt, etc.

    Currently,

    • the coupling is restricted to thermal physics
    • the FE computations are done in serial on each processor.
    -

    -related

    +

    +related

    fix_modify commands for setup:

    Note: a set of example input files with the attendant material files are included with this package

    -

    -default

    +

    +default

    none


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_fix_flux.html b/doc/src/USER/atc/man_fix_flux.html index d8369a878533909d87a5695b7b8bc17186c4d537..42815def6bca896ee183505fb869a327908b5853 100644 --- a/doc/src/USER/atc/man_fix_flux.html +++ b/doc/src/USER/atc/man_fix_flux.html @@ -7,44 +7,42 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC fix_flux

    -syntax

    +

    fix_modify AtC fix_flux

    +syntax

    fix_modify AtC fix_flux <field> <face_set> <value | function>

    • <field> = field name valid for type of physics, temperature | electron_temperature
    • <face_set> = name of set of element faces
    -

    -examples

    +

    +examples

    fix_modify atc fix_flux temperature faceSet 10.0

    -

    -description

    +

    +description

    Command for fixing normal fluxes e.g. heat_flux. This command only prescribes the normal component of the physical flux, e.g. heat (energy) flux. The units are in AtC units, i.e. derived from the LAMMPS length, time, and mass scales.

    -

    -restrictions

    +

    +restrictions

    Only normal fluxes (Neumann data) can be prescribed.

    -

    -related

    +

    +related

    see fix_modify AtC unfix_flux

    -

    -default

    +

    +default


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_fix_nodes.html b/doc/src/USER/atc/man_fix_nodes.html index cf5c93590a2f561755953ffc56108911d1e13e4c..03cf86eb9220720940f1fae44257a3df93addd12 100644 --- a/doc/src/USER/atc/man_fix_nodes.html +++ b/doc/src/USER/atc/man_fix_nodes.html @@ -7,46 +7,44 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC fix

    -syntax

    +

    fix_modify AtC fix

    +syntax

    fix_modify AtC fix <field> <nodeset> <constant | function>

    • <field> = field name valid for type of physics
    • <nodeset> = name of set of nodes to apply boundary condition
    • <constant | function> = value or name of function followed by its parameters
    -

    -examples

    +

    +examples

    fix_modify AtC fix temperature groupNAME 10.
    fix_modify AtC fix temperature groupNAME 0 0 0 10.0 0 0 1.0

    -

    -description

    +

    +description

    Creates a constraint on the values of the specified field at specified nodes.

    -

    -restrictions

    +

    +restrictions

    keyword 'all' reserved in nodeset name

    -

    -related

    +

    +related

    see fix_modify AtC unfix

    -

    -default

    +

    +default

    none


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_hardy_computes.html b/doc/src/USER/atc/man_hardy_computes.html index c16550742b89e24e77917fbbe5322276201d3fb0..b45b7dfb0101a117ca58cc7faf78b1eec80a3a06 100644 --- a/doc/src/USER/atc/man_hardy_computes.html +++ b/doc/src/USER/atc/man_hardy_computes.html @@ -7,24 +7,22 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC computes

    -syntax

    +

    fix_modify AtC computes

    +syntax

    fix_modify AtC computes <add | delete> [per-atom compute id] <volume | number>

      @@ -35,8 +33,8 @@ syntax
    • volume | number (keyword) = field created is a per-unit-volume quantity or a per-atom quantity as weighted by kernel functions
    -

    -examples

    +

    +examples

    compute virial all stress/atom
    fix_modify AtC computes add virial volume
    fix_modify AtC computes delete virial
    @@ -44,20 +42,20 @@ examples compute centrosymmetry all centro/atom
    fix_modify AtC computes add centrosymmetry number

    -

    -description

    +

    +description

    Calculates continuum fields corresponding to specified per-atom computes created by LAMMPS

    -

    -restrictions

    -

    Must be used with the hardy/field type of AtC fix ( see fix atc command )
    +

    +restrictions

    +

    Must be used with the hardy/field type of AtC fix ( see fix atc command )
    Per-atom compute must be specified before corresponding continuum field can be requested

    -

    -related

    +

    +related

    See manual page for compute

    -

    -default

    +

    +default

    No defaults exist for this command


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_hardy_fields.html b/doc/src/USER/atc/man_hardy_fields.html index 1f55fd5e3702cb8cbaa4f3f59e4ab7e2ebf3657f..17903aabd0d913d0d0bb78b9998c7c4105df4fba 100644 --- a/doc/src/USER/atc/man_hardy_fields.html +++ b/doc/src/USER/atc/man_hardy_fields.html @@ -7,24 +7,22 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC fields

    -syntax

    +

    fix_modify AtC fields

    +syntax

    fix_modify AtC fields <all | none>
    fix_modify AtC fields <add | delete> <list_of_fields>

    @@ -56,24 +54,24 @@ syntax type_concentration: volume fraction of a specific atom type
    -

    -examples

    +

    +examples

    fix_modify AtC fields add velocity temperature

    -

    -description

    +

    +description

    Allows modification of the fields calculated and output by the transfer class. The commands are cumulative, e.g.
    fix_modify AtC fields none
    followed by
    fix_modify AtC fields add velocity temperature
    will only output the velocity and temperature fields.

    -

    -restrictions

    -

    Must be used with the hardy/field type of AtC fix, see fix atc command. Currently, the stress and heat flux formulas are only correct for central force potentials, e.g. Lennard-Jones and EAM but not Stillinger-Weber.

    -

    -related

    +

    +restrictions

    +

    Must be used with the hardy/field type of AtC fix, see fix atc command. Currently, the stress and heat flux formulas are only correct for central force potentials, e.g. Lennard-Jones and EAM but not Stillinger-Weber.

    +

    +related

    See fix_modify AtC gradients , fix_modify AtC rates and fix_modify AtC computes

    -

    -default

    +

    +default

    By default, no fields are output


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_hardy_gradients.html b/doc/src/USER/atc/man_hardy_gradients.html index 708fecbca1dedd4470e5b6e6e15090b37aec4a48..00935f0ae25968b2c633a068899e03917241edaf 100644 --- a/doc/src/USER/atc/man_hardy_gradients.html +++ b/doc/src/USER/atc/man_hardy_gradients.html @@ -7,24 +7,22 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC gradients

    -syntax

    +

    fix_modify AtC gradients

    +syntax

    fix_modify AtC gradients <add | delete> <list_of_fields>

      @@ -33,21 +31,21 @@ syntax
    • fields (keyword) =
      gradients can be calculated for all fields listed in fix_modify AtC fields
    -

    -examples

    +

    +examples

    fix_modify AtC gradients add temperature velocity stress
    fix_modify AtC gradients delete velocity

    -

    -description

    +

    +description

    Requests calculation and ouput of gradients of the fields from the transfer class. These gradients will be with regard to spatial or material coordinate for eulerian or lagrangian analysis, respectively, as specified by atom_element_map (see fix_modify AtC atom_element_map )

    -

    -restrictions

    -

    Must be used with the hardy/field type of AtC fix ( see fix atc command )

    -

    -related

    -

    -default

    +

    +restrictions

    +

    Must be used with the hardy/field type of AtC fix ( see fix atc command )

    +

    +related

    +

    +default

    No gradients are calculated by default


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_hardy_kernel.html b/doc/src/USER/atc/man_hardy_kernel.html index 3d81b367dd0e59c39be54580b80069c147d84cf6..f97037784c73349cab27f1df5e1145ede359b7ce 100644 --- a/doc/src/USER/atc/man_hardy_kernel.html +++ b/doc/src/USER/atc/man_hardy_kernel.html @@ -7,24 +7,22 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC kernel

    -syntax

    +

    fix_modify AtC kernel

    +syntax

    fix_modify AtC kernel <type> <parameters>

    • type (keyword) = step, cell, cubic_bar, cubic_cylinder, cubic_sphere, quartic_bar, quartic_cylinder, quartic_sphere
      @@ -40,22 +38,22 @@ syntax quartic_sphere = radius (double)
    -

    -examples

    +

    +examples

    fix_modify AtC kernel cell 1.0 1.0 1.0
    fix_modify AtC kernel quartic_sphere 10.0

    -

    -description

    -

    -restrictions

    +

    +description

    +

    +restrictions

    Must be used with the hardy AtC fix
    For bar kernel types, half-width oriented along x-direction
    For cylinder kernel types, cylindrical axis is assumed to be in z-direction
    - ( see fix atc command )

    -

    -related

    -

    -default

    + ( see fix atc command )

    +

    +related

    +

    +default

    No default


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_hardy_on_the_fly.html b/doc/src/USER/atc/man_hardy_on_the_fly.html index d140cf6840e290a81e312aab76129992cf5ca5ed..79c1006c973eb515a8416bbfc47399f86e03621e 100644 --- a/doc/src/USER/atc/man_hardy_on_the_fly.html +++ b/doc/src/USER/atc/man_hardy_on_the_fly.html @@ -7,24 +7,22 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC on_the_fly

    -syntax

    +

    fix_modify AtC on_the_fly

    +syntax

    fix_modify AtC on_the_fly <bond | kernel> <optional on | off>
    - bond | kernel (keyword) = specifies on-the-fly calculation of bond or kernel matrix elements

    @@ -32,24 +30,24 @@ syntax
  • on | off (keyword) = activate or discontinue on-the-fly mode
  • -

    -examples

    +

    +examples

    fix_modify AtC on_the_fly bond on
    fix_modify AtC on_the_fly kernel
    fix_modify AtC on_the_fly kernel off

    -

    -description

    +

    +description

    Overrides normal mode of pre-calculating and storing bond pair-to-node a nd kernel atom-to-node matrices. If activated, will calculate elements of t hese matrices during repeated calls of field computations (i.e. "on-the-fly") and not store them for future use.
    on flag is optional - if omitted, on_the_fly will be activated for the s pecified matrix. Can be deactivated using off flag.

    -

    -restrictions

    -

    Must be used with the hardy/field type of AtC fix ( see fix atc command )

    -

    -related

    -

    -default

    +

    +restrictions

    +

    Must be used with the hardy/field type of AtC fix ( see fix atc command )

    +

    +related

    +

    +default

    By default, on-the-fly calculation is not active (i.e. off). However, code does a memory allocation check to determine if it can store all needed bond and kernel matrix ele ments. If this allocation fails, on-the-fly is activated.

    diff --git a/doc/src/USER/atc/man_hardy_rates.html b/doc/src/USER/atc/man_hardy_rates.html index ab0315cb65b179cf01b60309711d2d9c2ba87942..e51cbc9873a03ed584d3d4fde162cdc738f2b0c9 100644 --- a/doc/src/USER/atc/man_hardy_rates.html +++ b/doc/src/USER/atc/man_hardy_rates.html @@ -7,24 +7,22 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC rates

    -syntax

    +

    fix_modify AtC rates

    +syntax

    fix_modify AtC rates <add | delete> <list_of_fields>

      @@ -33,22 +31,22 @@ syntax
    • fields (keyword) =
      rates can be calculated for all fields listed in fix_modify AtC fields
    -

    -examples

    +

    +examples

    fix_modify AtC rates add temperature velocity stress
    fix_modify AtC rates delete stress

    -

    -description

    +

    +description

    Requests calculation and ouput of rates (time derivatives) of the fields from the transfer class. For eulerian analysis (see fix_modify AtC atom_element_map ), these rates are the partial time derivatives of the nodal fields, not the full (material) time derivatives.

    -

    -restrictions

    -

    Must be used with the hardy/field type of AtC fix ( see fix atc command )

    -

    -related

    -

    -default

    +

    +restrictions

    +

    Must be used with the hardy/field type of AtC fix ( see fix atc command )

    +

    +related

    +

    +default

    No rates are calculated by default


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_initial.html b/doc/src/USER/atc/man_initial.html index c0a0be38523ed357b7806b006574cd5a3f08e5c0..41ae06eb8c42f7c2afba2ca1362c9ef8361ada52 100644 --- a/doc/src/USER/atc/man_initial.html +++ b/doc/src/USER/atc/man_initial.html @@ -7,41 +7,39 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC initial

    -syntax

    +

    fix_modify AtC initial

    +syntax

    fix_modify AtC initial <field> <nodeset> <constant | function>

    • <field> = field name valid for type of physics, temperature | electron_temperature
    • <nodeset> = name of set of nodes to apply initial condition
    • <constant | function> = value or name of function followed by its parameters
    -

    -examples

    +

    +examples

    fix_modify atc initial temperature groupNAME 10.

    -

    -description

    +

    +description

    Sets the initial values for the specified field at the specified nodes.

    -

    -restrictions

    +

    +restrictions

    keyword 'all' reserved in nodeset name

    -

    -default

    +

    +default

    none


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_internal_atom_integrate.html b/doc/src/USER/atc/man_internal_atom_integrate.html index b15bf71aadd4950ab67ed17cc72e6801bf6992f4..dfa19474e5be9e6c314ca23eafa58da8ee50439b 100644 --- a/doc/src/USER/atc/man_internal_atom_integrate.html +++ b/doc/src/USER/atc/man_internal_atom_integrate.html @@ -7,30 +7,28 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC internal_atom_integrate

    -syntax

    +

    fix_modify AtC internal_atom_integrate

    +syntax

    fix_modify AtC internal_atom_integrate <on | off> fix_modify AtC internal_atom_integrate on

    -

    -description

    +

    +description

    Has AtC perform time integration for the atoms in the group on which it operates. This does not include boundary atoms.

    -

    -default

    +

    +default

    on for coupling methods, off for post-processors off


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_internal_element_set.html b/doc/src/USER/atc/man_internal_element_set.html index 31bee57860ef0a2354101c7e0940eb894563e6ab..849e8f0671369f9c22f05ccd6190cbddf15e2746 100644 --- a/doc/src/USER/atc/man_internal_element_set.html +++ b/doc/src/USER/atc/man_internal_element_set.html @@ -7,42 +7,40 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC internal_element_set

    -syntax

    +

    fix_modify AtC internal_element_set

    +syntax

    fix_modify AtC internal_element_set <element-set-name>

    • <element-set-name> = name of element set defining internal region, or off
    -

    -examples

    +

    +examples

    fix_modify AtC internal_element_set myElementSet fix_modify AtC internal_element_set off

    -

    -description

    +

    +description

    Enables AtC to base the region for internal atoms to be an element set. If no ghost atoms are used, all the AtC atoms must be constrained to remain in this element set by the user, e.g., with walls. If boundary atoms are used in conjunction with Eulerian atom maps AtC will partition all atoms of a boundary or internal type to be of type internal if they are in the internal region or to be of type boundary otherwise.

    -

    -restrictions

    +

    +restrictions

    If boundary atoms are used in conjunction with Eulerian atom maps, the Eulerian reset frequency must be an integer multiple of the Lammps reneighbor frequency

    -

    -related

    +

    +related

    see atom_element_map_type and boundary

    -

    -default

    +

    +default

    off


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_internal_quadrature.html b/doc/src/USER/atc/man_internal_quadrature.html index 172187c2982093bd0109f01ef7d1922af38403f2..7f10e1707679d2c7027ee0166369aebc4a6654d8 100644 --- a/doc/src/USER/atc/man_internal_quadrature.html +++ b/doc/src/USER/atc/man_internal_quadrature.html @@ -7,40 +7,38 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC internal_quadrature

    -syntax

    +

    fix_modify AtC internal_quadrature

    +syntax

    fix_modify atc internal_quadrature <on | off> [region]

    -

    -examples

    +

    +examples

    fix_modify atc internal_quadrature off

    -

    -description

    +

    +description

    Command to use or not use atomic quadrature on internal elements fully filled with atoms. By turning the internal quadrature off these elements do not contribute to the governing PDE and the fields at the internal nodes follow the weighted averages of the atomic data.

    -

    -optional

    +

    +optional

    Optional region tag specifies which finite element nodes will be treated as being within the MD region. This option is only valid with internal_quadrature off.

    -

    -restrictions

    -

    -related

    -

    -default

    +

    +restrictions

    +

    +related

    +

    +default

    on


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_kernel_function.html b/doc/src/USER/atc/man_kernel_function.html index 08ec827decfea21768afad0970b0049d3e74c071..92db590198a43fc753c5e8becf64e465021f0f59 100644 --- a/doc/src/USER/atc/man_kernel_function.html +++ b/doc/src/USER/atc/man_kernel_function.html @@ -7,24 +7,22 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC kernel

    -syntax

    +

    fix_modify AtC kernel

    +syntax

    fix_modify AtC kernel <type> <parameters>

    • type (keyword) = step, cell, cubic_bar, cubic_cylinder, cubic_sphere, quartic_bar, quartic_cylinder, quartic_sphere
      @@ -40,21 +38,21 @@ syntax quartic_sphere = radius (double)
    -

    -examples

    +

    +examples

    fix_modify AtC kernel cell 1.0 1.0 1.0 fix_modify AtC kernel quartic_sphere 10.0

    -

    -description

    -

    -restrictions

    +

    +description

    +

    +restrictions

    Must be used with the hardy AtC fix
    For bar kernel types, half-width oriented along x-direction
    For cylinder kernel types, cylindrical axis is assumed to be in z-direction
    - ( see fix atc command )

    -

    -related

    -

    -default

    + ( see fix atc command )

    +

    +related

    +

    +default

    No default


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_localized_lambda.html b/doc/src/USER/atc/man_localized_lambda.html index 5dadb9d7304aaa0b764905fccdae458483b170e9..fd845d0a712f1c6d6d49108d7a8a3fcb174e098b 100644 --- a/doc/src/USER/atc/man_localized_lambda.html +++ b/doc/src/USER/atc/man_localized_lambda.html @@ -7,38 +7,36 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC control localized_lambda

    -syntax

    +

    fix_modify AtC control localized_lambda

    +syntax

    fix_modify AtC control localized_lambda <on|off>

    -

    -examples

    +

    +examples

    fix_modify atc control localized_lambda on

    -

    -description

    +

    +description

    Turns on localization algorithms for control algorithms to restrict the influence of FE coupling or boundary conditions to a region near the boundary of the MD region. Control algorithms will not affect atoms in elements not possessing faces on the boundary of the region. Flux-based control is localized via row-sum lumping while quantity control is done by solving a truncated matrix equation.

    -

    -restrictions

    -

    -related

    -

    -default

    +

    +restrictions

    +

    +related

    +

    +default

    Default is off.


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_lumped_lambda_solve.html b/doc/src/USER/atc/man_lumped_lambda_solve.html index bb3f8cfde8d74941f02a99440fd7af7dfc8ab212..ade780ddee0faf5bc11c18be9b79860db2ce4aa5 100644 --- a/doc/src/USER/atc/man_lumped_lambda_solve.html +++ b/doc/src/USER/atc/man_lumped_lambda_solve.html @@ -7,38 +7,36 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC control lumped_lambda_solve

    -syntax

    +

    fix_modify AtC control lumped_lambda_solve

    +syntax

    fix_modify AtC control lumped_lambda_solve <on|off>

    -

    -examples

    +

    +examples

    fix_modify atc control lumped_lambda_solve on

    -

    -description

    +

    +description

    Command to use or not use lumped matrix for lambda solve

    -

    -restrictions

    -

    -related

    -

    -default

    +

    +restrictions

    +

    +related

    +

    +default


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_mask_direction.html b/doc/src/USER/atc/man_mask_direction.html index 01ca9d192b14dc79810663c15c6fed23a4a52e91..31c18b4f1f961a1d77b321a1775ba4f818f40b59 100644 --- a/doc/src/USER/atc/man_mask_direction.html +++ b/doc/src/USER/atc/man_mask_direction.html @@ -7,38 +7,36 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC control mask_direction

    -syntax

    +

    fix_modify AtC control mask_direction

    +syntax

    fix_modify AtC control mask_direction <direction> <on|off>

    -

    -examples

    +

    +examples

    fix_modify atc control mask_direction 0 on

    -

    -description

    +

    +description

    Command to mask out certain dimensions from the atomic regulator

    -

    -restrictions

    -

    -related

    -

    -default

    +

    +restrictions

    +

    +related

    +

    +default


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_mass_matrix.html b/doc/src/USER/atc/man_mass_matrix.html index 5f543fc20ce7fba887ae571814dc6c6ee812745b..140b745f09b72e0c208e6d9ce49e084c4f2ea556 100644 --- a/doc/src/USER/atc/man_mass_matrix.html +++ b/doc/src/USER/atc/man_mass_matrix.html @@ -7,41 +7,39 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC mass_matrix

    -syntax

    +

    fix_modify AtC mass_matrix

    +syntax

    fix_modify AtC mass_matrix <fe | md_fe>

    • <fe | md_fe> = activiate/deactiviate using the FE mass matrix in the MD region
    -

    -examples

    +

    +examples

    fix_modify atc mass_matrix fe

    -

    -description

    +

    +description

    Determines whether AtC uses the FE mass matrix based on Gaussian quadrature or based on atomic quadrature in the MD region. This is useful for fully overlapping simulations to improve efficiency.

    -

    -restrictions

    +

    +restrictions

    Should not be used unless the FE region is contained within the MD region, otherwise the method will be unstable and inaccurate

    -

    -related

    -

    -default

    +

    +related

    +

    +default

    Default is off


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_material.html b/doc/src/USER/atc/man_material.html index 9867e90f770c393c3af3014ce1acf4b1e732b62b..c31ab4938d6c5ad6befe8ae71d6540dce2a7d9b8 100644 --- a/doc/src/USER/atc/man_material.html +++ b/doc/src/USER/atc/man_material.html @@ -7,39 +7,37 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC material

    -syntax

    +

    fix_modify AtC material

    +syntax

    fix_modify AtC material [elementset_name] [material_id]

    -

    -examples

    +

    +examples

    fix_modify AtC material gap_region 2

    -

    -description

    +

    +description

    Sets the material model in elementset_name to be of type material_id.

    -

    -restrictions

    +

    +restrictions

    The element set must already be created and the material must be specified in the material file given the the atc fix on construction

    -

    -related

    -

    -default

    +

    +related

    +

    +default

    All elements default to the first material in the material file.


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_mesh_add_to_nodeset.html b/doc/src/USER/atc/man_mesh_add_to_nodeset.html index cf5ad52f608afa40783a30aee6885a14a79a86ad..25a5c2cdae60c930794721d86bd10b933566dfa2 100644 --- a/doc/src/USER/atc/man_mesh_add_to_nodeset.html +++ b/doc/src/USER/atc/man_mesh_add_to_nodeset.html @@ -7,41 +7,39 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC mesh add_to_nodeset

    -syntax

    +

    fix_modify AtC mesh add_to_nodeset

    +syntax

    fix_modify AtC mesh add_to_nodeset <id> <xmin> <xmax> <ymin> <ymax> <zmin> <zmax>

    • <id> = id of FE nodeset to be added to
    • <xmin> <xmax> <ymin> <ymax> <zmin> <zmax> = coordinates of the bounding box that contains the desired nodes to be added
    -

    -examples

    +

    +examples

    fix_modify AtC mesh add_to_nodeset lbc -11.9 -11 -12 12 -12 12

    -

    -description

    +

    +description

    Command to add nodes to an already existing FE nodeset.

    -

    -restrictions

    -

    -related

    -

    -default

    +

    +restrictions

    +

    +related

    +

    +default

    Coordinates are assumed to be in lattice units.


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_mesh_create.html b/doc/src/USER/atc/man_mesh_create.html index efaf7f4307218a770a4b6b506fbbbd6495aae863..a7ee112614fb93652bb14dbf4707907607a84460 100644 --- a/doc/src/USER/atc/man_mesh_create.html +++ b/doc/src/USER/atc/man_mesh_create.html @@ -7,24 +7,22 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC mesh create

    -syntax

    +

    fix_modify AtC mesh create

    +syntax

    fix_modify AtC mesh create <nx> <ny> <nz> <region-id> <f|p> <f|p> <f|p>

      @@ -32,21 +30,21 @@ syntax
    • region-id = id of region that is to be meshed
    • f p p = periodicity flags for x, y, z
    -

    -examples

    +

    +examples

    fix_modify AtC mesh create 10 1 1 feRegion p p p

    -

    -description

    +

    +description

    Creates a uniform mesh in a rectangular region

    -

    -restrictions

    +

    +restrictions

    Creates only uniform rectangular grids in a rectangular region

    -

    -related

    +

    +related

    fix_modify AtC mesh quadrature

    -

    -default

    +

    +default

    When created, mesh defaults to gauss2 (2-point Gaussian) quadrature. Use "mesh quadrature" command to change quadrature style.


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_mesh_create_elementset.html b/doc/src/USER/atc/man_mesh_create_elementset.html index 51bdae4faa022bd9a314818a9adce2bf90b9f943..2ac383a974bc37de6749eb0b12e1de53c81eda8f 100644 --- a/doc/src/USER/atc/man_mesh_create_elementset.html +++ b/doc/src/USER/atc/man_mesh_create_elementset.html @@ -7,42 +7,40 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC mesh create_elementset

    -syntax

    +

    fix_modify AtC mesh create_elementset

    +syntax

    fix_modify AtC create_elementset <id> <xmin> <xmax> <ymin> <ymax> <zmin> <zmax>

    • <id> = id to assign to the collection of FE element
    • <xmin> <xmax> <ymin> <ymax> <zmin> <zmax> = coordinates of the bounding box that contains only the desired elements
    -

    -examples

    +

    +examples

    fix_modify AtC mesh create_elementset middle -4.1 4.1 -100 100 -100 1100

    -

    -description

    +

    +description

    Command to assign an id to a set of FE elements to be used subsequently in defining material and mesh-based operations.

    -

    -restrictions

    +

    +restrictions

    Only viable for rectangular grids.

    -

    -related

    -

    -default

    +

    +related

    +

    +default

    Coordinates are assumed to be in lattice units.


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_mesh_create_faceset_box.html b/doc/src/USER/atc/man_mesh_create_faceset_box.html index 163a6b442c361fb79dad08d19db528c7464bccaf..e62a827a783333c6aa596d1e28efdac434c16704 100644 --- a/doc/src/USER/atc/man_mesh_create_faceset_box.html +++ b/doc/src/USER/atc/man_mesh_create_faceset_box.html @@ -7,24 +7,22 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC mesh create_faceset box

    -syntax

    +

    fix_modify AtC mesh create_faceset box

    +syntax

    fix_modify AtC mesh create_faceset <id> box <xmin> <xmax> <ymin> <ymax> <zmin> <zmax> <in|out> [units]

    • <id> = id to assign to the collection of FE faces
    • @@ -32,19 +30,19 @@ syntax
    • <in|out> = "in" gives inner faces to the box, "out" gives the outer faces to the box
    • units = option to specify real as opposed to lattice units
    -

    -examples

    +

    +examples

    fix_modify AtC mesh create_faceset obndy box -4.0 4.0 -12 12 -12 12 out

    -

    -description

    +

    +description

    Command to assign an id to a set of FE faces.

    -

    -restrictions

    +

    +restrictions

    Only viable for rectangular grids.

    -

    -related

    -

    -default

    +

    +related

    +

    +default

    The default options are units = lattice and the use of outer faces


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_mesh_create_faceset_plane.html b/doc/src/USER/atc/man_mesh_create_faceset_plane.html index 3ca1108d1a7a4b8cf869bcac1668afeeffb55404..b1969cb79dd899194e1b797e25eb56343f319236 100644 --- a/doc/src/USER/atc/man_mesh_create_faceset_plane.html +++ b/doc/src/USER/atc/man_mesh_create_faceset_plane.html @@ -7,24 +7,22 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC mesh create_faceset plane

    -syntax

    +

    fix_modify AtC mesh create_faceset plane

    +syntax

    fix_modify AtC mesh create_faceset <id> plane <x|y|z> <val1> <x|y|z> <lval2> <uval2> [units]

    • <id> = id to assign to the collection of FE faces
    • @@ -32,19 +30,19 @@ syntax
    • <val1>,<lval2>,<uval2> = plane is specified as the x|y|z=val1 plane bounded by the segments x|y|z = [lval2,uval2]
    • units = option to specify real as opposed to lattice units
    -

    -examples

    +

    +examples

    fix_modify AtC mesh create_faceset xyplane plane y 0 x -4 0

    -

    -description

    +

    +description

    Command to assign an id to a set of FE faces.

    -

    -restrictions

    +

    +restrictions

    Only viable for rectangular grids.

    -

    -related

    -

    -default

    +

    +related

    +

    +default

    The default option is units = lattice.


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_mesh_create_nodeset.html b/doc/src/USER/atc/man_mesh_create_nodeset.html index 9d5d1556544c84d76d7ca7c8a1791f54388c163e..39bfffd1198c6715bfa5b9e04e5ca1716519e6a5 100644 --- a/doc/src/USER/atc/man_mesh_create_nodeset.html +++ b/doc/src/USER/atc/man_mesh_create_nodeset.html @@ -7,41 +7,39 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC mesh create_nodeset

    -syntax

    +

    fix_modify AtC mesh create_nodeset

    +syntax

    fix_modify AtC mesh create_nodeset <id> <xmin> <xmax> <ymin> <ymax> <zmin> <zmax>

    • <id> = id to assign to the collection of FE nodes
    • <xmin> <xmax> <ymin> <ymax> <zmin> <zmax> = coordinates of the bounding box that contains only the desired nodes
    -

    -examples

    +

    +examples

    fix_modify AtC mesh create_nodeset lbc -12.1 -11.9 -12 12 -12 12

    -

    -description

    +

    +description

    Command to assign an id to a set of FE nodes to be used subsequently in defining boundary conditions.

    -

    -restrictions

    -

    -related

    -

    -default

    +

    +restrictions

    +

    +related

    +

    +default

    Coordinates are assumed to be in lattice units.


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_mesh_delete_elements.html b/doc/src/USER/atc/man_mesh_delete_elements.html index cc269c8e651d7c1ade24c3b38df1e8bcebcb7907..60a2fe59a1095934762d4c34b845b560e00a3175 100644 --- a/doc/src/USER/atc/man_mesh_delete_elements.html +++ b/doc/src/USER/atc/man_mesh_delete_elements.html @@ -7,40 +7,38 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC mesh delete_elements

    -syntax

    +

    fix_modify AtC mesh delete_elements

    +syntax

    fix_modify AtC mesh delete_elements <element_set>

    • <element_set> = name of an element set
    -

    -examples

    +

    +examples

    fix_modify AtC delete_elements gap

    -

    -description

    +

    +description

    Deletes a group of elements from the mesh.

    -

    -restrictions

    -

    -related

    -

    -default

    +

    +restrictions

    +

    +related

    +

    +default

    none


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_mesh_nodeset_to_elementset.html b/doc/src/USER/atc/man_mesh_nodeset_to_elementset.html index 45d03fc98685de7878d36817e0e15c5fe262c382..d05429ebabbf811cd7fe5929aa7fdd3c205fd9ec 100644 --- a/doc/src/USER/atc/man_mesh_nodeset_to_elementset.html +++ b/doc/src/USER/atc/man_mesh_nodeset_to_elementset.html @@ -7,43 +7,41 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC mesh nodeset_to_elementset

    -syntax

    +

    fix_modify AtC mesh nodeset_to_elementset

    +syntax

    fix_modify AtC nodeset_to_elementset <nodeset_id> <elementset_id> <max/min>

    • <nodeset_id> = id of desired nodeset from which to create elementset
    • <elementset_id> = id to assign to the collection of FE element
    • <max/min> = flag to choose either the maximal or minimal elementset
    -

    -examples

    +

    +examples

    fix_modify AtC mesh nodeset_to_elementset myNodeset myElementset min

    -

    -description

    +

    +description

    Command to create an elementset from an existing nodeset. Either the minimal element set of elements with all nodes in the set, or maximal element set with all elements with at least one node in the set, can be created

    -

    -restrictions

    +

    +restrictions

    None.

    -

    -related

    -

    -default

    +

    +related

    +

    +default

    Unless specified, the maximal element set is created


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_mesh_output.html b/doc/src/USER/atc/man_mesh_output.html index be1b4c194f4d83fc6bd273a7a621e8ed782c55d2..f768a29c41de56432542fa5febb8cc96782601af 100644 --- a/doc/src/USER/atc/man_mesh_output.html +++ b/doc/src/USER/atc/man_mesh_output.html @@ -7,39 +7,37 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC mesh output

    -syntax

    +

    fix_modify AtC mesh output

    +syntax

    fix_modify AtC mesh output <file_prefix>

    -

    -examples

    +

    +examples

    fix_modify AtC mesh output meshData

    -

    -description

    +

    +description

    Command to output mesh and associated data: nodesets, facesets, and elementsets. This data is only output once upon initialization since currently the mesh is static. Creates (binary, "gold" format) Ensight output of mesh data.

    -

    -restrictions

    +

    +restrictions

    none

    -

    -related

    -

    -default

    +

    +related

    +

    +default

    none


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_mesh_quadrature.html b/doc/src/USER/atc/man_mesh_quadrature.html index d5291d99db1d2f9f6ce74e125558cd9b69998469..46487fdce7e7be93fed9d32ca8d09c66c1467298 100644 --- a/doc/src/USER/atc/man_mesh_quadrature.html +++ b/doc/src/USER/atc/man_mesh_quadrature.html @@ -7,41 +7,39 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC mesh quadrature

    -syntax

    +

    fix_modify AtC mesh quadrature

    +syntax

    fix_modify AtC mesh quadrature <quad>

    • quad = one of <nodal|gauss1|gauss2|gauss3|face> --- when a mesh is created it defaults to gauss2, use this call to change it after the fact
    -

    -examples

    +

    +examples

    fix_modify AtC mesh quadrature face

    -

    -description

    +

    +description

    (Re-)assigns the quadrature style for the existing mesh.

    -

    -restrictions

    -

    -related

    +

    +restrictions

    +

    +related

    fix_modify AtC mesh create

    -

    -default

    +

    +default

    none


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_mesh_read.html b/doc/src/USER/atc/man_mesh_read.html index a497a2ed041b6134f88c3dba12897ff2c72b15ed..e0571ccf88eef86cb6dbc8e336591df345d44bf8 100644 --- a/doc/src/USER/atc/man_mesh_read.html +++ b/doc/src/USER/atc/man_mesh_read.html @@ -7,42 +7,40 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC mesh read

    -syntax

    +

    fix_modify AtC mesh read

    +syntax

    fix_modify AtC mesh read <filename> <f|p> <f|p> <f|p>

    • filename = name of file containing mesh to be read
    • f p p = periodicity flags for x, y, z
    -

    -examples

    +

    +examples

    fix_modify AtC mesh read myComponent.mesh p p p
    fix_modify AtC mesh read myOtherComponent.exo

    -

    -description

    +

    +description

    Reads a mesh from a text or exodus file, and assigns periodic boundary conditions if needed.

    -

    -restrictions

    -

    -related

    -

    -default

    +

    +restrictions

    +

    +related

    +

    +default

    periodicity flags are false by default


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_mesh_write.html b/doc/src/USER/atc/man_mesh_write.html index 21754a1e683185f57d74ba98c83e1604f00e7fb3..756cf4992258b507e87a0f199bae5df16407398a 100644 --- a/doc/src/USER/atc/man_mesh_write.html +++ b/doc/src/USER/atc/man_mesh_write.html @@ -7,41 +7,39 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC mesh write

    -syntax

    +

    fix_modify AtC mesh write

    +syntax

    fix_modify AtC mesh write <filename>

    • filename = name of file to write mesh
    -

    -examples

    +

    +examples

    fix_modify AtC mesh write myMesh.mesh

    -

    -description

    +

    +description

    Writes a mesh to a text file.

    -

    -restrictions

    -

    -related

    -

    -default

    +

    +restrictions

    +

    +related

    +

    +default


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_momentum_time_integration.html b/doc/src/USER/atc/man_momentum_time_integration.html index 3b987f70ef14033a184eb6a73f2d58dec0a0c8fb..60fbfcd888555ae5fb7c79ea748455c7e8e9704c 100644 --- a/doc/src/USER/atc/man_momentum_time_integration.html +++ b/doc/src/USER/atc/man_momentum_time_integration.html @@ -7,24 +7,22 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC time_integration (momentum)

    -syntax

    +

    fix_modify AtC time_integration (momentum)

    +syntax

    fix_modify AtC time_integration <descriptor>

      @@ -33,24 +31,24 @@ syntax

    various time integration methods for the finite elements

    -

    -description

    +

    +description

    verlet - atomic velocity update with 2nd order Verlet, nodal temperature update with 2nd order Verlet, kinetostats based on controlling force
    fractional_step - atomic velocity update with 2nd order Verlet, mixed nodal momentum update, 2nd order Verlet for continuum and exact 2nd order Verlet for atomic contributions, kinetostats based on controlling discrete momentum changes
    gear - atomic velocity update with 2nd order Verlet, nodal temperature update with 3rd or 4th order Gear, kinetostats based on controlling power

    -

    -examples

    +

    +examples

    fix_modify atc time_integration verlet
    fix_modify atc time_integration fractional_step

    -

    -description

    -

    -related

    -

    see fix atc command

    -

    -default

    +

    +description

    +

    +related

    +

    see fix atc command

    +

    +default

    none


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_output.html b/doc/src/USER/atc/man_output.html index 3129ff30c9172e5bc3bb76031a626190b66edbdc..aec1d5d55ae33a6713dde6ab621c4c132ad108d4 100644 --- a/doc/src/USER/atc/man_output.html +++ b/doc/src/USER/atc/man_output.html @@ -7,24 +7,22 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC output

    -syntax

    +

    fix_modify AtC output

    +syntax

    fix_modify AtC output <filename_prefix> <frequency> [text | full_text | binary | vector_components | tensor_components ] fix_modify AtC output index [step | time ]

    • filename_prefix (string) = prefix for data files
    • @@ -37,23 +35,23 @@ syntax tensor_components = outputs tensor as scalar components (use this for Paraview)
    -

    -examples

    +

    +examples

    fix_modify AtC output heatFE 100
    fix_modify AtC output hardyFE 1 text tensor_components
    fix_modify AtC output hardyFE 10 text binary tensor_components
    fix_modify AtC output index step

    -

    -description

    +

    +description

    Creates text and/or binary (Ensight, "gold" format) output of nodal/mesh data which is transfer/physics specific. Output indexed by step or time is possible.

    -

    -restrictions

    -

    -related

    -

    see fix atc command

    -

    -default

    +

    +restrictions

    +

    +related

    +

    see fix atc command

    +

    +default

    no default format output indexed by time


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_output_elementset.html b/doc/src/USER/atc/man_output_elementset.html index be259388ba8ac14125ae89d41070c2b65cf22647..54079027c5053a2ebe3d9c2b387b966a1287fa56 100644 --- a/doc/src/USER/atc/man_output_elementset.html +++ b/doc/src/USER/atc/man_output_elementset.html @@ -7,44 +7,42 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC output elementset

    -syntax

    +

    fix_modify AtC output elementset

    +syntax

    fix_modify AtC output volume_integral <eset_name> <field> {`

    • set_name (string) = name of elementset to be integrated over
    • fieldname (string) = name of field to integrate csum = creates nodal sum over nodes in specified nodeset
    -

    -examples

    +

    +examples

    fix_modify AtC output eset1 mass_density

    -

    -description

    +

    +description

    Performs volume integration of specified field over elementset and outputs resulting variable values to GLOBALS file.

    -

    -restrictions

    -

    -related

    -

    see fix atc command

    -

    -default

    +

    +restrictions

    +

    +related

    +

    see fix atc command

    +

    +default

    none


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_output_nodeset.html b/doc/src/USER/atc/man_output_nodeset.html index db76c8008ec00dc62b103c45aa40168d667c004f..2fc6e0268169fb3f0f00308ecff8160882f8bba6 100644 --- a/doc/src/USER/atc/man_output_nodeset.html +++ b/doc/src/USER/atc/man_output_nodeset.html @@ -7,24 +7,22 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC output nodeset

    -syntax

    +

    fix_modify AtC output nodeset

    +syntax

    fix_modify AtC output nodeset <nodeset_name> <operation>

    • nodeset_name (string) = name of nodeset to be operated on
    • @@ -32,20 +30,20 @@ syntax sum = creates nodal sum over nodes in specified nodeset
    -

    -examples

    +

    +examples

    fix_modify AtC output nodeset nset1 sum

    -

    -description

    +

    +description

    Performs operation over the nodes belonging to specified nodeset and outputs resulting variable values to GLOBALS file.

    -

    -restrictions

    -

    -related

    -

    see fix atc command

    -

    -default

    +

    +restrictions

    +

    +related

    +

    see fix atc command

    +

    +default

    none


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_pair_interactions.html b/doc/src/USER/atc/man_pair_interactions.html index d46dcb12340bf3a055fbfdab7dcbec0cff752532..2cb2cb6113383c34effad09f654a8f41d532b1cd 100644 --- a/doc/src/USER/atc/man_pair_interactions.html +++ b/doc/src/USER/atc/man_pair_interactions.html @@ -7,40 +7,38 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC pair_interactions/bond_interactions

    -syntax

    +

    fix_modify AtC pair_interactions/bond_interactions

    +syntax

    fix_modify AtC pair_interactions <on|off>
    fix_modify AtC bond_interactions <on|off>

    -

    -examples

    +

    +examples

    fix_modify AtC bond_interactions on

    -

    -description

    +

    +description

    include bonds and/or pairs in the stress and heat flux computations

    -

    -restrictions

    -

    -related

    -

    -default

    +

    +restrictions

    +

    +related

    +

    +default

    pair interactions: on, bond interactions: off


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_poisson_solver.html b/doc/src/USER/atc/man_poisson_solver.html index d69d74db1a617c444bde634b5e6d67f83fa6bf20..b6fabbb27c1613cf8cda041d04560d9c4458b1b3 100644 --- a/doc/src/USER/atc/man_poisson_solver.html +++ b/doc/src/USER/atc/man_poisson_solver.html @@ -7,43 +7,41 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC poisson_solver

    -syntax

    +

    fix_modify AtC poisson_solver

    +syntax

    fix_modify AtC poisson_solver mesh create <nx> <ny> <nz> <region-id> <f|p> <f|p> <f|p>

    • nx ny nz = number of elements in x, y, z
    • region-id = id of region that is to be meshed
    • f p p = perioidicity flags for x, y, z
    -

    -examples

    +

    +examples

    fix_modify AtC poisson_solver mesh create 10 1 1 feRegion p p p

    -

    -description

    +

    +description

    Creates a uniform mesh in a rectangular region

    -

    -restrictions

    +

    +restrictions

    creates only uniform rectangular grids in a rectangular region

    -

    -related

    -

    -default

    +

    +related

    +

    +default

    none


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_read_restart.html b/doc/src/USER/atc/man_read_restart.html index 96168fccc769fce0a7d6e15c21e024f61a2500aa..5fc21282f68860c6726887df2e9916c9b8bfcfff 100644 --- a/doc/src/USER/atc/man_read_restart.html +++ b/doc/src/USER/atc/man_read_restart.html @@ -7,41 +7,39 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC read_restart

    -syntax

    +

    fix_modify AtC read_restart

    +syntax

    fix_modify AtC read_restart [file_name]

    -

    -examples

    +

    +examples

    fix_modify AtC read_restart ATC_state

    -

    -description

    +

    +description

    Reads the current state of the fields from a named text-based restart file.

    -

    -restrictions

    +

    +restrictions

    The restart file only contains fields and their time derivatives. The reference positions of the atoms and the commands that initialize the fix are not saved e.g. an identical mesh containing the same atoms will have to be recreated.

    -

    -related

    +

    +related

    see write_restart fix_modify AtC write_restart

    -

    -default

    +

    +default

    none


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_remove_molecule.html b/doc/src/USER/atc/man_remove_molecule.html index 054291efda0e20d1b4b7fbd9f633c173a38f2390..e6ad418de6871e7b4dab85dc02eede170bbf048d 100644 --- a/doc/src/USER/atc/man_remove_molecule.html +++ b/doc/src/USER/atc/man_remove_molecule.html @@ -7,44 +7,42 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC remove_molecule

    -syntax

    +

    fix_modify AtC remove_molecule

    +syntax

    fix_modify_AtC remove_molecule <TAG>

    • <TAG> = tag for tracking a molecule type
    -

    -examples

    +

    +examples

    fix_modify AtC remove_molecule water

    -

    -description

    +

    +description

    Removes tag designated for tracking a specified set of molecules.

    -

    -restrictions

    -

    -related

    -

    -default

    +

    +restrictions

    +

    +related

    +

    +default

    No defaults for this command.


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_remove_source.html b/doc/src/USER/atc/man_remove_source.html index d1d249eb76b0a7ab764f04ee472bb23d44a9afbb..acea7a56074df6c0ed151296fcd1d1048abc1426 100644 --- a/doc/src/USER/atc/man_remove_source.html +++ b/doc/src/USER/atc/man_remove_source.html @@ -7,43 +7,41 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC remove_source

    -syntax

    +

    fix_modify AtC remove_source

    +syntax

    fix_modify AtC remove_source <field> <element_set>

    • <field> = field name valid for type of physics
    • <element_set> = name of set of elements
    -

    -examples

    +

    +examples

    fix_modify atc remove_source temperature groupNAME

    -

    -description

    +

    +description

    Remove a domain source.

    -

    -restrictions

    +

    +restrictions

    keyword 'all' reserved in element_set name

    -

    -related

    +

    +related

    see fix_modify AtC source

    -

    -default

    +

    +default


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_remove_species.html b/doc/src/USER/atc/man_remove_species.html index ba94a52658f0213a4d586578e3e6e94336f7c180..561364518fe2033590626709f6fd1ac72b512c77 100644 --- a/doc/src/USER/atc/man_remove_species.html +++ b/doc/src/USER/atc/man_remove_species.html @@ -7,44 +7,42 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC remove_species

    -syntax

    +

    fix_modify AtC remove_species

    +syntax

    fix_modify_AtC delete_species <TAG>

    • <TAG> = tag for tracking a species
    -

    -examples

    +

    +examples

    fix_modify AtC remove_species gold

    -

    -description

    +

    +description

    Removes tag designated for tracking a specified species.

    -

    -restrictions

    -

    -related

    -

    -default

    +

    +restrictions

    +

    +related

    +

    +default

    No defaults for this command.


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_reset_atomic_reference_positions.html b/doc/src/USER/atc/man_reset_atomic_reference_positions.html index cb82f61bbb895659bb160ba0275583c34dfc0555..88e6748001c44716880a1b8a71b072d343e33d60 100644 --- a/doc/src/USER/atc/man_reset_atomic_reference_positions.html +++ b/doc/src/USER/atc/man_reset_atomic_reference_positions.html @@ -7,39 +7,37 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC reset_atomic_reference_positions

    -syntax

    +

    fix_modify AtC reset_atomic_reference_positions

    +syntax

    fix_modify AtC reset_atomic_reference_positions

    -

    -examples

    +

    +examples

    fix_modify atc reset_atomic_reference_positions

    -

    -description

    +

    +description

    Resets the atomic positions ATC uses to perform point to field operations. In can be used to use perfect lattice sites in ATC but a thermalized or deformed lattice in LAMMPS.

    -

    -restrictions

    +

    +restrictions

    -

    -related

    +

    +related

    -

    -default

    +

    +default

    Default is off


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_reset_time.html b/doc/src/USER/atc/man_reset_time.html index 35d75ccb97798d0405d21d66a27ac7b9cb7bac68..a6429bf6d6c8b040f9171787f779ef49a9333768 100644 --- a/doc/src/USER/atc/man_reset_time.html +++ b/doc/src/USER/atc/man_reset_time.html @@ -7,55 +7,53 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC reset_time

    -syntax

    +

    fix_modify AtC reset_time

    +syntax

    fix_modify AtC reset_time

    -

    -examples

    +

    +examples

    fix_modify atc reset_time 0.0

    -

    -description

    +

    +description

    Resets the simulation time counter.

    -

    -restrictions

    -

    -related

    -

    -default

    -

    -syntax

    +

    +restrictions

    +

    +related

    +

    +default

    +

    +syntax

    fix_modify AtC kernel_bandwidth

    -

    -examples

    +

    +examples

    fix_modify atc reset_time 8

    -

    -description

    +

    +description

    Sets a maximum parallel bandwidth for the kernel functions during parallel communication. If the command is not issued, the default will be to assume the bandwidth of the kernel matrix corresponds to the number of sampling locations.

    -

    -restrictions

    +

    +restrictions

    Only is used if kernel functions are being used.

    -

    -related

    -

    -default

    +

    +related

    +

    +default

    Number of sample locations.


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_sample_frequency.html b/doc/src/USER/atc/man_sample_frequency.html index 13f468b22289a4763292768c909843b58d1f865d..4e48c4bb299c854bb86f26adcb83d1a771725a3e 100644 --- a/doc/src/USER/atc/man_sample_frequency.html +++ b/doc/src/USER/atc/man_sample_frequency.html @@ -7,42 +7,40 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC sample_frequency

    -syntax

    +

    fix_modify AtC sample_frequency

    +syntax

    fix_modify AtC sample_frequency [freq]

    • freq (int) : frequency to sample field in number of steps
    -

    -examples

    +

    +examples

    fix_modify AtC sample_frequency 10

    -

    -description

    +

    +description

    Specifies a frequency at which fields are computed for the case where time filters are being applied.

    -

    -restrictions

    -

    Must be used with the hardy/field AtC fix ( see fix atc command ) and is only relevant when time filters are being used.

    -

    -related

    +

    +restrictions

    +

    Must be used with the hardy/field AtC fix ( see fix atc command ) and is only relevant when time filters are being used.

    +

    +related

    -

    -default

    +

    +default

    none


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_set.html b/doc/src/USER/atc/man_set.html index d104e535b6bb1501d70aed3068403292a9fddb59..cf775c9b36d4e9a43abab0d2716c0a6d7c70a29d 100644 --- a/doc/src/USER/atc/man_set.html +++ b/doc/src/USER/atc/man_set.html @@ -7,46 +7,44 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC set

    -syntax

    +

    fix_modify AtC set

    +syntax

    fix_modify AtC set reference_potential_energy <value_or_filename(optional)>

    • value (double) : optional user specified zero point for PE in native LAMMPS energy units
    • filename (string) : optional user specified string for file of nodal PE values to be read-in
    -

    -examples

    +

    +examples

    fix_modify AtC set reference_potential_energy
    fix_modify AtC set reference_potential_energy -0.05
    fix_modify AtC set reference_potential_energy myPEvalues

    -

    -description

    +

    +description

    Used to set various quantities for the post-processing algorithms. It sets the zero point for the potential energy density using the value provided for all nodes, or from the current configuration of the lattice if no value is provided, or values provided within the specified filename.

    -

    -restrictions

    -

    Must be used with the hardy/field type of AtC fix ( see fix atc command )

    -

    -related

    -

    -default

    +

    +restrictions

    +

    Must be used with the hardy/field type of AtC fix ( see fix atc command )

    +

    +related

    +

    +default

    Defaults to lammps zero point i.e. isolated atoms


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_source.html b/doc/src/USER/atc/man_source.html index 833b2a866f4d28ad552ea2c257022dd0a77baacc..c7239f2c412db0ac97ec56462ce96c93d1726c7e 100644 --- a/doc/src/USER/atc/man_source.html +++ b/doc/src/USER/atc/man_source.html @@ -7,43 +7,41 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC source

    -syntax

    +

    fix_modify AtC source

    +syntax

    fix_modify AtC source <field> <element_set> <value | function>

    • <field> = field name valid for type of physics
    • <element_set> = name of set of elements
    -

    -examples

    +

    +examples

    fix_modify atc source temperature middle temporal_ramp 10. 0.

    -

    -description

    +

    +description

    Add domain sources to the mesh. The units are consistent with LAMMPS's units for mass, length and time and are defined by the PDE being solved, e.g. for thermal transfer the balance equation is for energy and source is energy per time.

    -

    -restrictions

    +

    +restrictions

    keyword 'all' reserved in element_set name

    -

    -related

    +

    +related

    see fix_modify AtC remove_source

    -

    -default

    +

    +default

    none


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_source_integration.html b/doc/src/USER/atc/man_source_integration.html index 70f62d2e5739f6aaedbd6599052b23dfd8af31cf..3f43340af827c5c61162078843dd7b6af7116ff9 100644 --- a/doc/src/USER/atc/man_source_integration.html +++ b/doc/src/USER/atc/man_source_integration.html @@ -7,36 +7,34 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_temperature_definition.html b/doc/src/USER/atc/man_temperature_definition.html index f4fb21471c634eae1f1c8cb30e1734fba745e877..a07ba29cab6f1780d61dfbc22bd0f5f50f3973b8 100644 --- a/doc/src/USER/atc/man_temperature_definition.html +++ b/doc/src/USER/atc/man_temperature_definition.html @@ -7,37 +7,35 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC temperature_definition

    -syntax

    +

    fix_modify AtC temperature_definition

    +syntax

    fix_modify AtC temperature_definition <kinetic|total>

    -

    -examples

    +

    +examples

    fix_modify atc temperature_definition kinetic

    -

    -description

    +

    +description

    Change the definition for the atomic temperature used to create the finite element temperature. The kinetic option is based only on the kinetic energy of the atoms while the total option uses the total energy (kinetic + potential) of an atom.

    -

    -restrictions

    +

    +restrictions

    This command is only valid when using thermal coupling. Also, while not a formal restriction, the user should ensure that associating a potential energy with each atom makes physical sense for the total option to be meaningful.

    -

    -default

    +

    +default

    kinetic


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_thermal_time_integration.html b/doc/src/USER/atc/man_thermal_time_integration.html index c2f636134f09d21311c85498570ff4b6078c56ac..fe293138be2a7206963a5c2339be637da3542e6e 100644 --- a/doc/src/USER/atc/man_thermal_time_integration.html +++ b/doc/src/USER/atc/man_thermal_time_integration.html @@ -7,24 +7,22 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC time_integration (thermal)

    -syntax

    +

    fix_modify AtC time_integration (thermal)

    +syntax

    fix_modify AtC time_integration <descriptor>

      @@ -33,23 +31,23 @@ syntax

    various time integration methods for the finite elements

    -

    -description

    +

    +description

    gear - atomic velocity update with 2nd order Verlet, nodal temperature update with 3rd or 4th order Gear, thermostats based on controlling power
    fractional_step - atomic velocity update with 2nd order Verlet, mixed nodal temperature update, 3/4 Gear for continuum and 2 Verlet for atomic contributions, thermostats based on controlling discrete energy changes

    -

    -examples

    +

    +examples

    fix_modify atc time_integration gear
    fix_modify atc time_integration fractional_step

    -

    -description

    -

    -related

    -

    see fix atc command

    -

    -default

    +

    +description

    +

    +related

    +

    see fix atc command

    +

    +default

    none


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_time_filter.html b/doc/src/USER/atc/man_time_filter.html index ec70fed871761cfb327546273ea249c471bc98ba..732eaa3a36114c766118a0ab5aadd541e6284ab5 100644 --- a/doc/src/USER/atc/man_time_filter.html +++ b/doc/src/USER/atc/man_time_filter.html @@ -7,24 +7,22 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC filter

    -syntax

    +

    fix_modify AtC filter

    +syntax

    fix_modify AtC filter <on | off | equilibrate>

      @@ -32,22 +30,22 @@ syntax
    • equilibrate = runs dynamics without filtering but initializes filtered quantities
    -

    -examples

    +

    +examples

    fix_modify atc transfer filter on

    -

    -description

    +

    +description

    Filters the MD dynamics to construct a more appropriate continuous field. Equilibrating first filters the time derivatives without changing the dynamics to provide a better initial condition to the filtered dynamics

    -

    -restrictions

    +

    +restrictions

    only for be used with specific transfers: thermal, two_temperature

    -

    -related

    +

    +related

    fix_modify AtC filter scale
    fix_modify AtC equilibrium_start

    -

    -default

    +

    +default

    off


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_track_displacement.html b/doc/src/USER/atc/man_track_displacement.html index 8f729cffe3a802ec4334259e008d46692f13b65c..f5410816d75a779a6c6ec38c2e8bad1f64ac262f 100644 --- a/doc/src/USER/atc/man_track_displacement.html +++ b/doc/src/USER/atc/man_track_displacement.html @@ -7,38 +7,36 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC track_displacement

    -syntax

    +

    fix_modify AtC track_displacement

    +syntax

    fix_modify AtC track_displacement <on/off>

    -

    -examples

    +

    +examples

    fix_modify atc track_displacement on

    -

    -description

    +

    +description

    Determines whether displacement is tracked or not. For solids problems this is a useful quantity, but for fluids it is not relevant.

    -

    -restrictions

    +

    +restrictions

    Some constitutive models require the displacement field

    -

    -default

    +

    +default

    on


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_unfix_flux.html b/doc/src/USER/atc/man_unfix_flux.html index b2a19a7fd0282edf2576a43777a89339c9d11a4b..95e1f4be5a85ea44cb7db7b434a0eb053262b9b4 100644 --- a/doc/src/USER/atc/man_unfix_flux.html +++ b/doc/src/USER/atc/man_unfix_flux.html @@ -7,43 +7,41 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC unfix_flux

    -syntax

    +

    fix_modify AtC unfix_flux

    +syntax

    fix_modify AtC fix_flux <field> <face_set> <value | function>

    • <field> = field name valid for type of physics, temperature | electron_temperature
    • <face_set> = name of set of element faces
    -

    -examples

    +

    +examples

    fix_modify atc unfix_flux temperature faceSet

    -

    -description

    +

    +description

    Command for removing prescribed normal fluxes e.g. heat_flux, stress.

    -

    -restrictions

    -

    -related

    +

    +restrictions

    +

    +related

    see fix_modify AtC unfix_flux

    -

    -default

    +

    +default


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_unfix_nodes.html b/doc/src/USER/atc/man_unfix_nodes.html index 498d549f9eb6dc1a34532f1a35e502ae483181c5..78495c928a4751e188868ade7b93cbfb6496b04b 100644 --- a/doc/src/USER/atc/man_unfix_nodes.html +++ b/doc/src/USER/atc/man_unfix_nodes.html @@ -7,43 +7,41 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC unfix

    -syntax

    +

    fix_modify AtC unfix

    +syntax

    fix_modify AtC unfix <field> <nodeset>

    • <field> = field name valid for type of physics
    • <nodeset> = name of set of nodes
    -

    -examples

    +

    +examples

    fix_modify AtC unfix temperature groupNAME

    -

    -description

    +

    +description

    Removes constraint on field values for specified nodes.

    -

    -restrictions

    +

    +restrictions

    keyword 'all' reserved in nodeset name

    -

    -related

    +

    +related

    see fix_modify AtC fix

    -

    -default

    +

    +default

    none


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_write_atom_weights.html b/doc/src/USER/atc/man_write_atom_weights.html index 939506a28e8dd71c68192c5a45758824dedb9d99..8a0e5b62a81bb9488e6bf5e9e6f61dbfc929fef3 100644 --- a/doc/src/USER/atc/man_write_atom_weights.html +++ b/doc/src/USER/atc/man_write_atom_weights.html @@ -7,24 +7,22 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC write_atom_weights

    -syntax

    +

    fix_modify AtC write_atom_weights

    +syntax

    fix_modify AtC write_atom_weights <filename> <frequency>

    • <filename> = name of file that atomic weights are written to
      @@ -32,19 +30,19 @@ syntax
    • <frequency> = how often writes will occur
    -

    -examples

    +

    +examples

    fix_modify atc write_atom_weights atm_wt_file.txt 10

    -

    -description

    +

    +description

    Command for writing the values of atomic weights to a specified file.

    -

    -restrictions

    -

    -related

    -

    -default

    +

    +restrictions

    +

    +related

    +

    +default


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/USER/atc/man_write_restart.html b/doc/src/USER/atc/man_write_restart.html index 6ea350d5e859a3985dce72e47445c9cc583024f0..6dca57673bbdabe393ad0fa2512f8c566a1f4374 100644 --- a/doc/src/USER/atc/man_write_restart.html +++ b/doc/src/USER/atc/man_write_restart.html @@ -7,41 +7,39 @@ +
    + LAMMPS Website     + LAMMPS Manual     + USER-AtC Manual     + Commands +
    + +
    + + -
    -

    fix_modify AtC write_restart

    -syntax

    +

    fix_modify AtC write_restart

    +syntax

    fix_modify AtC write_restart [file_name]

    -

    -examples

    +

    +examples

    fix_modify AtC write_restart restart.mydata

    -

    -description

    +

    +description

    Dumps the current state of the fields to a named text-based restart file. This done when the command is invoked and not repeated, unlike the similar lammps command.

    -

    -restrictions

    +

    +restrictions

    The restart file only contains fields and their time derivatives. The reference positions of the atoms and the commands that initialize the fix are not saved e.g. an identical mesh containing the same atoms will have to be recreated.

    -

    -related

    +

    +related

    see read_restart fix_modify AtC read_restart

    -

    -default

    +

    +default

    none


    Generated on 21 Aug 2013 for ATC by  diff --git a/doc/src/angle_class2.txt b/doc/src/angle_class2.txt index 71a508d69198ae1b476f868768faf35e05748fe6..d4330139c963c12c53dc50aa2312eca93ce068e6 100644 --- a/doc/src/angle_class2.txt +++ b/doc/src/angle_class2.txt @@ -9,6 +9,7 @@ angle_style class2 command :h3 angle_style class2/omp command :h3 angle_style class2/kk command :h3 +angle_style class2/p6 command :h3 [Syntax:] @@ -102,11 +103,29 @@ more instructions on how to use the accelerated styles effectively. :line +The {class2/p6} angle style uses the {class2} potential expanded to sixth order: + +:c,image(Eqs/angle_class2_p6.jpg) + +In this expanded term 6 coefficients for the Ea formula need to be set: + +theta0 (degrees) +K2 (energy/radian^2) +K3 (energy/radian^3) +K4 (energy/radian^4) +K5 (energy/radian^5) +K6 (energy/radian^6) :ul + +The bond-bond and bond-angle terms remain unchanged. + +:line + [Restrictions:] This angle style can only be used if LAMMPS was built with the CLASS2 -package. See the "Making LAMMPS"_Section_start.html#start_3 section -for more info on packages. +package. For the {class2/p6} style LAMMPS needs to be built with the +USER-MOFFF package. See the "Making LAMMPS"_Section_start.html#start_3 +section for more info on packages. [Related commands:] diff --git a/doc/src/angle_cosine_buck6d.txt b/doc/src/angle_cosine_buck6d.txt new file mode 100644 index 0000000000000000000000000000000000000000..7182ffecc849e1c581793add231af6ed1fa03d57 --- /dev/null +++ b/doc/src/angle_cosine_buck6d.txt @@ -0,0 +1,65 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +angle_style cosine/buck6d command :h3 + +[Syntax:] + +angle_style cosine/buck6d :pre + +[Examples:] + +angle_style cosine/buck6d +angle_coeff 1 cosine/buck6d 1.978350 4 180.000000 :pre + +[Description:] + +The {cosine/buck6d} angle style uses the potential + +:c,image(Eqs/angle_cosine_buck6d.jpg) + +where K is the energy constant, n is the periodic multiplicity and +Theta0 is the equilibrium angle. + +The coefficients must be defined for each angle type via the +"angle_coeff"_angle_coeff.html command as in the example above, or in +the data file or restart files read by the "read_data"_read_data.html +or "read_restart"_read_restart.html commands in the following order: + +K (energy) +n +Theta0 (degrees) :ul + +Theta0 is specified in degrees, but LAMMPS converts it to radians +internally. + +Additional to the cosine term the {cosine/buck6d} angle style computes +the short range (vdW) interaction belonging to the +"pair_buck6d"_pair_buck6d_coul_gauss.html between the end atoms of +the angle. For this reason this angle style only works in combination +with the "pair_buck6d"_pair_buck6d_coul_gauss.html styles and needs +the "special_bonds"_special_bonds.html 1-3 interactions to be weighted +0.0 to prevent double counting. + +:line + +[Restrictions:] + +{cosine/buck6d} can only be used in combination with the +"pair_buck6d"_pair_buck6d_coul_gauss.html style and with a +"special_bonds"_special_bonds.html 0.0 weighting of 1-3 interactions. + +This angle style can only be used if LAMMPS was built with the +USER-MOFFF package. See the "Making +LAMMPS"_Section_start.html#start_3 section for more info on packages. + +[Related commands:] + +"angle_coeff"_angle_coeff.html + +[Default:] none diff --git a/doc/src/angles.txt b/doc/src/angles.txt index ff1f68d45a568771eb3ccacfbad74cc6789701d2..3e91ba9917176bf02c5e06ba403aa18b2b2cd9d6 100644 --- a/doc/src/angles.txt +++ b/doc/src/angles.txt @@ -8,6 +8,7 @@ Angle Styles :h1 angle_charmm angle_class2 angle_cosine + angle_cosine_buck6d angle_cosine_delta angle_cosine_periodic angle_cosine_shift diff --git a/doc/src/body.txt b/doc/src/body.txt index 54ec157c744b4a18b89e318651b25d385c53c45e..344e5b1d6597c4440125a7225d345ae412c33a27 100644 --- a/doc/src/body.txt +++ b/doc/src/body.txt @@ -6,7 +6,7 @@ :line -Body particles :h3 +Body particles :h1 [Overview:] diff --git a/doc/src/dump.txt b/doc/src/dump.txt index 69a00eb473735f9115bae72efb682095675ff4e6..1e6acc67e61738acf5d600087dcb1b5256e2f9f2 100644 --- a/doc/src/dump.txt +++ b/doc/src/dump.txt @@ -45,7 +45,7 @@ args = list of arguments for a particular style :l {xyz/gz} args = none {xyz/mpiio} args = none :pre -{custom} or {custom/gz} or {custom/mpiio} args = list of atom attributes :l +{custom} or {custom/gz} or {custom/mpiio} or {netcdf} or {netcdf/mpiio} args = list of atom attributes :l possible attributes = id, mol, proc, procp1, type, element, mass, x, y, z, xs, ys, zs, xu, yu, zu, xsu, ysu, zsu, ix, iy, iz, @@ -649,20 +649,7 @@ LAMMPS"_Section_start.html#start_3 section for more info. The {xtc} style is part of the MISC package. It is only enabled if LAMMPS was built with that package. See the "Making -LAMMPS"_Section_start.html#start_3 section for more info. This is -because some machines may not support the low-level XDR data format -that XTC files are written with, which will result in a compile-time -error when a low-level include file is not found. Putting this style -in a package makes it easy to exclude from a LAMMPS build for those -machines. However, the MISC package also includes two compatibility -header files and associated functions, which should be a suitable -substitute on machines that do not have the appropriate native header -files. This option can be invoked at build time by adding --DLAMMPS_XDR to the CCFLAGS variable in the appropriate low-level -Makefile, e.g. src/MAKE/Makefile.foo. This compatibility mode has -been tested successfully on Cray XT3/XT4/XT5 and IBM BlueGene/L -machines and should also work on IBM BG/P, and Windows XP/Vista/7 -machines. +LAMMPS"_Section_start.html#start_3 section for more info. [Related commands:] diff --git a/doc/src/fix_atc.txt b/doc/src/fix_atc.txt index 75a82f063ade59000a7cfa02cf89225a3a099d4c..49014f0591ff08e6f6e636067eed11ee9c8aab43 100644 --- a/doc/src/fix_atc.txt +++ b/doc/src/fix_atc.txt @@ -90,13 +90,11 @@ likewise for this post-processing example: run 1000 :pre the mesh's linear interpolation functions can be used as the localization function - by using the field option: +by using the field option: fix AtC internal atc field - fix_modify AtC mesh create 1 1 1 box p p p - - ... + ... :pre Note coupling and post-processing can be combined in the same simulations using separate fixes. @@ -108,11 +106,10 @@ No information about this fix is written to "binary restart files"_restart.html. [Restrictions:] -Thermal and two_temperature (coupling) types use a Verlet time-integration algorithm. The hardy type does not contain its own time-integrator and must be used with a separate fix that does contain one, e.g. nve, nvt, etc. +Thermal and two_temperature (coupling) types use a Verlet time-integration algorithm. The hardy type does not contain its own time-integrator and must be used with a separate fix that does contain one, e.g. nve, nvt, etc. In addition, currently: -Currently, -- the coupling is restricted to thermal physics -- the FE computations are done in serial on each processor. :ul +the coupling is restricted to thermal physics :ulb,l +the FE computations are done in serial on each processor. :l,ule [Related commands:] diff --git a/doc/src/fix_cmap.txt b/doc/src/fix_cmap.txt index e80154bccf7ae3795694fee494220d72daeb00ed..f8de2b4efec469736a067faa51fd4ac5a7d863eb 100644 --- a/doc/src/fix_cmap.txt +++ b/doc/src/fix_cmap.txt @@ -120,6 +120,10 @@ quantity being minimized), you MUST enable the [Restrictions:] +To function as expected this fix command must be issued {before} a +"read_data"_read_data.html command but {after} a +"read_restart"_read_restart.html command. + This fix can only be used if LAMMPS was built with the MOLECULE package. See the "Making LAMMPS"_Section_start.html#start_3 section for more info on packages. diff --git a/doc/src/fix_gcmc.txt b/doc/src/fix_gcmc.txt index 405738276f8f5a194907e4df2d5c9e4a8e78cb63..38f0fb95ce0530d425689b0daa9052e6a6995074 100644 --- a/doc/src/fix_gcmc.txt +++ b/doc/src/fix_gcmc.txt @@ -26,16 +26,20 @@ zero or more keyword/value pairs may be appended to args :l keyword = {mol}, {region}, {maxangle}, {pressure}, {fugacity_coeff}, {full_energy}, {charge}, {group}, {grouptype}, {intra_energy}, {tfac_insert}, or {overlap_cutoff} {mol} value = template-ID template-ID = ID of molecule template specified in a separate "molecule"_molecule.html command + {mcmoves} values = Patomtrans Pmoltrans Pmolrotate + Patomtrans = proportion of atom translation MC moves + Pmoltrans = proportion of molecule translation MC moves + Pmolrotate = proportion of molecule rotation MC moves {rigid} value = fix-ID fix-ID = ID of "fix rigid/small"_fix_rigid.html command {shake} value = fix-ID fix-ID = ID of "fix shake"_fix_shake.html command {region} value = region-ID - region-ID = ID of region where MC moves are allowed + region-ID = ID of region where GCMC exchanges and MC moves are allowed {maxangle} value = maximum molecular rotation angle (degrees) {pressure} value = pressure of the gas reservoir (pressure units) {fugacity_coeff} value = fugacity coefficient of the gas reservoir (unitless) - {full_energy} = compute the entire system energy when performing MC moves + {full_energy} = compute the entire system energy when performing GCMC exchanges and MC moves {charge} value = charge of inserted atoms (charge units) {group} value = group-ID group-ID = group-ID for inserted atoms (string) @@ -56,35 +60,43 @@ fix 4 my_gas gcmc 1 10 10 1 123456543 300.0 -12.5 1.0 region disk :pre [Description:] This fix performs grand canonical Monte Carlo (GCMC) exchanges of -atoms or molecules of the given type with an imaginary ideal gas +atoms or molecules with an imaginary ideal gas reservoir at the specified T and chemical potential (mu) as discussed -in "(Frenkel)"_#Frenkel. If used with the "fix nvt"_fix_nh.html +in "(Frenkel)"_#Frenkel. It also +attempts Monte Carlo (MC) moves (translations and molecule +rotations) within the simulation cell or +region. If used with the "fix nvt"_fix_nh.html command, simulations in the grand canonical ensemble (muVT, constant chemical potential, constant volume, and constant temperature) can be performed. Specific uses include computing isotherms in microporous materials, or computing vapor-liquid coexistence curves. -Every N timesteps the fix attempts a number of GCMC exchanges -(insertions or deletions) of gas atoms or molecules of the given type -between the simulation cell and the imaginary reservoir. It also -attempts a number of Monte Carlo moves (translations and molecule -rotations) of gas of the given type within the simulation cell or -region. The average number of attempted GCMC exchanges is X. The -average number of attempted MC moves is M. M should typically be +Every N timesteps the fix attempts both GCMC exchanges +(insertions or deletions) and MC moves of gas atoms or molecules. +On those timesteps, the average number of attempted GCMC exchanges is X, +while the average number of attempted MC moves is M. +For GCMC exchanges of either molecular or atomic gasses, +these exchanges can be either deletions or insertions, +with equal probability. + +The possible choices for MC moves are translation of an atom, +translation of a molecule, and rotation of a molecule. +The relative amounts of each are determined by the optional +{mcmoves} keyword (see below). +The default behavior is as follows. +If the {mol} keyword is used, only molecule translations +and molecule rotations are performed with equal probability. +Conversely, if the {mol} keyword is not used, only atom +translations are performed. +M should typically be chosen to be approximately equal to the expected number of gas atoms or molecules of the given type within the simulation cell or region, -which will result in roughly one MC translation per atom or molecule +which will result in roughly one MC move per atom or molecule per MC cycle. -For MC moves of molecular gasses, rotations and translations are each -attempted with 50% probability. For MC moves of atomic gasses, -translations are attempted 100% of the time. For MC exchanges of -either molecular or atomic gasses, deletions and insertions are each -attempted with 50% probability. - -All inserted particles are always assigned to two groups: the default -group "all" and the group specified in the fix gcmc command (which can -also be "all"). In addition, particles are also added to any groups +All inserted particles are always added to two groups: the default +group "all" and the fix group specified in the fix command. +In addition, particles are also added to any groups specified by the {group} and {grouptype} keywords. If inserted particles are individual atoms, they are assigned the atom type given by the type argument. If they are molecules, the type argument has no @@ -92,9 +104,15 @@ effect and must be set to zero. Instead, the type of each atom in the inserted molecule is specified in the file read by the "molecule"_molecule.html command. -This fix cannot be used to perform MC insertions of gas atoms or -molecules other than the exchanged type, but MC deletions, -translations, and rotations can be performed on any atom/molecule in +NOTE: Care should be taken to apply fix gcmc only to +a group that contains only those atoms and molecules +that you wish to manipulate using Monte Carlo. +Hence it is generally not a good idea to specify +the default group "all" in the fix command, although it is allowed. + +This fix cannot be used to perform GCMC insertions of gas atoms or +molecules other than the exchanged type, but GCMC deletions, +and MC translations, and rotations can be performed on any atom/molecule in the fix group. All atoms in the simulation cell can be moved using regular time integration translations, e.g. via "fix nvt"_fix_nh.html, resulting in a hybrid GCMC+MD simulation. A smaller-than-usual @@ -150,8 +168,8 @@ about this point. Individual atoms are inserted, unless the {mol} keyword is used. It specifies a {template-ID} previously defined using the "molecule"_molecule.html command, which reads a file that defines the -molecule. The coordinates, atom types, charges, etc, as well as any -bond/angle/etc and special neighbor information for the molecule can +molecule. The coordinates, atom types, charges, etc., as well as any +bonding and special neighbor information for the molecule can be specified in the molecule file. See the "molecule"_molecule.html command for details. The only settings required to be in this file are the coordinates and types of atoms in the molecule. @@ -162,7 +180,7 @@ error when it tries to find bonded neighbors. LAMMPS will warn you if any of the atoms eligible for deletion have a non-zero molecule ID, but does not check for this at the time of deletion. -If you wish to insert molecules via the {mol} keyword, that will be +If you wish to insert molecules using the {mol} keyword that will be treated as rigid bodies, use the {rigid} keyword, specifying as its value the ID of a separate "fix rigid/small"_fix_rigid.html command which also appears in your input script. @@ -178,6 +196,15 @@ their bonds or angles constrained via SHAKE, use the {shake} keyword, specifying as its value the ID of a separate "fix shake"_fix_shake.html command which also appears in your input script. +Optionally, users may specify the relative amounts of different MC +moves using the {mcmoves} keyword. The values {Patomtrans}, +{Pmoltrans}, {Pmolrotate} specify the average proportion of +atom translations, molecule translations, and molecule rotations, +respectively. The values must be non-negative integers or real +numbers, with at least one non-zero value. For example, (10,30,0) +would result in 25% of the MC moves being atomic translations, 75% +molecular translations, and no molecular rotations. + Optionally, users may specify the maximum rotation angle for molecular rotations using the {maxangle} keyword and specifying the angle in degrees. Rotations are performed by generating a random point on the @@ -188,19 +215,19 @@ to the unit vector defined by the point on the unit sphere. The same procedure is used for randomly rotating molecules when they are inserted, except that the maximum angle is 360 degrees. -Note that fix GCMC does not use configurational bias MC or any other +Note that fix gcmc does not use configurational bias MC or any other kind of sampling of intramolecular degrees of freedom. Inserted molecules can have different orientations, but they will all have the same intramolecular configuration, which was specified in the molecule command input. For atomic gasses, inserted atoms have the specified atom type, but -deleted atoms are any atoms that have been inserted or that belong to -the user-specified fix group. For molecular gasses, exchanged +deleted atoms are any atoms that have been inserted or that already +belong to the fix group. For molecular gasses, exchanged molecules use the same atom types as in the template molecule supplied by the user. In both cases, exchanged atoms/molecules are assigned to -two groups: the default group "all" and the group specified in the fix -gcmc command (which can also be "all"). +two groups: the default group "all" and the fix group +(which can also be "all"). The chemical potential is a user-specified input parameter defined as: @@ -241,13 +268,16 @@ which case the user-specified chemical potential is ignored. The user may also specify the fugacity coefficient phi using the {fugacity_coeff} keyword, which defaults to unity. -The {full_energy} option means that fix GCMC will compute the total -potential energy of the entire simulated system. The total system -energy before and after the proposed GCMC move is then used in the +The {full_energy} option means that the fix calculates the total +potential energy of the entire simulated system, instead of just +the energy of the part that is changed. The total system +energy before and after the proposed GCMC exchange or MC move +is then used in the Metropolis criterion to determine whether or not to accept the -proposed GCMC move. By default, this option is off, in which case only -partial energies are computed to determine the difference in energy -that would be caused by the proposed GCMC move. +proposed change. By default, this option is off, +in which case only +partial energies are computed to determine the energy difference +due to the proposed change. The {full_energy} option is needed for systems with complicated potential energy calculations, including the following: @@ -263,10 +293,11 @@ In these cases, LAMMPS will automatically apply the {full_energy} keyword and issue a warning message. When the {mol} keyword is used, the {full_energy} option also includes -the intramolecular energy of inserted and deleted molecules. If this +the intramolecular energy of inserted and deleted molecules, whereas +this energy is not included when {full_energy} is not used. If this is not desired, the {intra_energy} keyword can be used to define an amount of energy that is subtracted from the final energy when a -molecule is inserted, and added to the initial energy when a molecule +molecule is inserted, and subtracted from the initial energy when a molecule is deleted. For molecules that have a non-zero intramolecular energy, this will ensure roughly the same behavior whether or not the {full_energy} option is used. @@ -291,7 +322,8 @@ include: "efield"_fix_efield.html, "gravity"_fix_gravity.html, "temp/berendsen"_fix_temp_berendsen.html, "temp/rescale"_fix_temp_rescale.html, and "wall fixes"_fix_wall.html. For that energy to be included in the total potential energy of the -system (the quantity used when performing GCMC moves), you MUST enable +system (the quantity used when performing GCMC exchange and MC moves), +you MUST enable the "fix_modify"_fix_modify.html {energy} option for that fix. The doc pages for individual "fix"_fix.html commands specify if this should be done. @@ -305,9 +337,14 @@ about simulating non-neutral systems with kspace on. Use of this fix typically will cause the number of atoms to fluctuate, therefore, you will want to use the -"compute_modify"_compute_modify.html command to insure that the +"compute_modify dynamic/dof"_compute_modify.html command to insure that the current number of atoms is used as a normalizing factor each time -temperature is computed. Here is the necessary command: +temperature is computed. A simple example of this is: + +compute_modify thermo_temp dynamic yes :pre + +A more complicated example is listed earlier on this page +in the context of NVT dynamics. NOTE: If the density of the cell is initially very small or zero, and increases to a much larger density after a period of equilibration, @@ -327,17 +364,9 @@ assigning an infinite positive energy to all new configurations that place any pair of atoms closer than the specified overlap cutoff distance. -compute_modify thermo_temp dynamic yes :pre - -If LJ units are used, note that a value of 0.18292026 is used by this -fix as the reduced value for Planck's constant. This value was -derived from LJ parameters for argon, where h* = h/sqrt(sigma^2 * -epsilon * mass), sigma = 3.429 angstroms, epsilon/k = 121.85 K, and -mass = 39.948 amu. - -The {group} keyword assigns all inserted atoms to the +The {group} keyword adds all inserted atoms to the "group"_group.html of the group-ID value. The {grouptype} keyword -assigns all inserted atoms of the specified type to the +adds all inserted atoms of the specified type to the "group"_group.html of the group-ID value. [Restart, fix_modify, output, run start/stop, minimize info:] @@ -384,7 +413,8 @@ Can be run in parallel, but aspects of the GCMC part will not scale well in parallel. Only usable for 3D simulations. When using fix gcmc in combination with fix shake or fix rigid, -only gcmc exchange moves are supported. +only GCMC exchange moves are supported, so the argument +{M} must be zero. Note that very lengthy simulations involving insertions/deletions of billions of gas molecules may run out of atom or molecule IDs and @@ -409,7 +439,9 @@ the user for each subsequent fix gcmc command. [Default:] The option defaults are mol = no, maxangle = 10, overlap_cutoff = 0.0, -fugacity_coeff = 1, and full_energy = no, +fugacity_coeff = 1.0, intra_energy = 0.0, tfac_insert = 1.0. +(Patomtrans, Pmoltrans, Pmolrotate) = (1, 0, 0) for mol = no and +(0, 1, 1) for mol = yes. full_energy = no, except for the situations where full_energy is required, as listed above. diff --git a/doc/src/fix_ti_spring.txt b/doc/src/fix_ti_spring.txt index afb1dcf8fffe855b41ac19f62e6504afd8b13540..191f9e7c6b8d8667b5baef112f20d16fb435a382 100644 --- a/doc/src/fix_ti_spring.txt +++ b/doc/src/fix_ti_spring.txt @@ -34,7 +34,7 @@ by performing a nonequilibrium thermodynamic integration between the solid of interest and an Einstein crystal. A detailed explanation of how to use this command and choose its parameters for optimal performance and accuracy is given in the paper by -"Freitas"_#Freitas. The paper also presents a short summary of the +"Freitas"_#Freitas1. The paper also presents a short summary of the theory of nonequilibrium thermodynamic integrations. The thermodynamic integration procedure is performed by rescaling the @@ -67,13 +67,13 @@ of lambda is kept equal to zero and the fix has no other effect on the dynamics of the system. The processes described above is known as nonequilibrium thermodynamic -integration and is has been shown ("Freitas"_#Freitas) to present a +integration and is has been shown ("Freitas"_#Freitas1) to present a much superior efficiency when compared to standard equilibrium methods. The reason why the switching it is made in both directions (potential to Einstein crystal and back) is to eliminate the dissipated heat due to the nonequilibrium process. Further details about nonequilibrium thermodynamic integration and its implementation -in LAMMPS is available in "Freitas"_#Freitas. +in LAMMPS is available in "Freitas"_#Freitas1. The {function} keyword allows the use of two different lambda paths. Option {1} results in a constant rate of change of lambda with @@ -94,7 +94,7 @@ thermodynamic integration. The use of option {2} is recommended since it results in better accuracy and less dissipation without any increase in computational resources cost. -NOTE: As described in "Freitas"_#Freitas, it is important to keep the +NOTE: As described in "Freitas"_#Freitas1, it is important to keep the center-of-mass fixed during the thermodynamic integration. A nonzero total velocity will result in divergences during the integration due to the fact that the atoms are 'attached' to their equilibrium @@ -156,7 +156,7 @@ The keyword default is function = 1. :line -:link(Freitas) +:link(Freitas1) [(Freitas)] Freitas, Asta, and de Koning, Computational Materials Science, 112, 333 (2016). diff --git a/doc/src/group.txt b/doc/src/group.txt index afa218c5a34880aa0ef71935be0d1f825fd79c08..dddb0459e3711e526e6077318aa6ae51922b0196 100644 --- a/doc/src/group.txt +++ b/doc/src/group.txt @@ -13,11 +13,13 @@ group command :h3 group ID style args :pre ID = user-defined name of the group :ulb,l -style = {delete} or {region} or {type} or {id} or {molecule} or {variable} or \ +style = {delete} or {clear} or {empty} or {region} or \ + {type} or {id} or {molecule} or {variable} or \ {include} or {subtract} or {union} or {intersect} or \ {dynamic} or {static} :l {delete} = no args {clear} = no args + {empty} = no args {region} args = region-ID {type} or {id} or {molecule} args = list of one or more atom types, atom IDs, or molecule IDs @@ -41,6 +43,7 @@ style = {delete} or {region} or {type} or {id} or {molecule} or {variable} or \ keyword = {region} or {var} or {every} {region} value = region-ID {var} value = name of variable + {property} value = name of per-atom property {every} value = N = update group every this many timesteps {static} = no args :pre :ule @@ -99,6 +102,10 @@ e.g. using the "run every"_run.html command if a fix or compute or other operation expects the atoms in the group to remain constant, but LAMMPS does not check for this. +The {empty} style creates an empty group, which is useful for commands +like "fix gcmc"_fix_gcmc.html or with complex scripts that add atoms +to a group. + The {region} style puts all atoms in the region volume into the group. Note that this is a static one-time assignment. The atoms remain assigned (or not assigned) to the group even in they later move out of @@ -215,7 +222,11 @@ conditions are applied. If the {region} keyword is used, atoms not in the specified region are removed from the dynamic group. If the {var} keyword is used, the variable name must be an atom-style or atomfile-style variable. The variable is evaluated and atoms whose -per-atom values are 0.0, are removed from the dynamic group. +per-atom values are 0.0, are removed from the dynamic group. If the {property} +keyword is used, the per-atom property name must be a previously defined +per-atom property. The per-atom property is evaluated and atoms whose +values are 0.0 are removed from the dynamic group, otherwise they +are added to the group. The assignment of atoms to a dynamic group is done at the beginning of each run and on every timestep that is a multiple of {N}, which is the diff --git a/doc/src/improper_inversion_harmonic.txt b/doc/src/improper_inversion_harmonic.txt new file mode 100644 index 0000000000000000000000000000000000000000..34683ca2bb0000db8f32f9e93838f344e0287b4c --- /dev/null +++ b/doc/src/improper_inversion_harmonic.txt @@ -0,0 +1,65 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +improper_style inversion/harmonic command :h3 + +[Syntax:] + +improper_style inversion/harmonic :pre + +[Examples:] + +improper_style inversion/harmonic +improper_coeff 1 18.776340 0.000000 :pre + +[Description:] + +The {inversion/harmonic} improper style follows the Wilson-Decius +out-of-plane angle definition and uses an harmonic potential: + +:c,image(Eqs/improper_inversion_harmonic.jpg) + +where K is the force constant and omega is the angle evaluated for +all three axis-plane combinations centered around the atom I. For +the IL axis and the IJK plane omega looks as follows: + +:c,image(Eqs/umbrella.jpg) + +Note that the {inversion/harmonic} angle term evaluation differs to +the "improper_umbrella"_improper_umbrella.html due to the cyclic +evaluation of all possible angles omega. + +The following coefficients must be defined for each improper type via +the "improper_coeff"_improper_coeff.html command as in the example +above, or in the data file or restart files read by the +"read_data"_read_data.html or "read_restart"_read_restart.html +commands: + +K (energy) +omega0 (degrees) :ul + +If omega0 = 0 the potential term has a minimum for the planar +structure. Otherwise it has two minima at +/- omega0, with a barrier +in between. + +:line + +[Restrictions:] + +This improper style can only be used if LAMMPS was built with the +USER-MOFFF package. See the "Making +LAMMPS"_Section_start.html#start_3 section for more info on packages. + +[Related commands:] + +"improper_coeff"_improper_coeff.html + +[Default:] none + +:line + diff --git a/doc/src/impropers.txt b/doc/src/impropers.txt index ced6128879f6982365054aa6193aea2ab3457206..ca6c839c95a03fc934d8811d8e4ab0284f4b2d94 100644 --- a/doc/src/impropers.txt +++ b/doc/src/impropers.txt @@ -12,6 +12,7 @@ Improper Styles :h1 improper_fourier improper_harmonic improper_hybrid + improper_inversion_harmonic improper_none improper_ring improper_umbrella diff --git a/doc/src/lammps.book b/doc/src/lammps.book index 54762a885e6743df62ca8979cd92b842ca91783a..878e4ad3555c530eb1e4aed87efa44ed92e4116e 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -20,6 +20,7 @@ Section_python.html Section_errors.html Section_history.html +lammps_tutorials.html tutorial_bash_on_windows.html tutorial_drude.html tutorial_github.html @@ -28,6 +29,7 @@ tutorial_pylammps.html body.html manifolds.html +lammps_commands.html angle_coeff.html angle_style.html atom_modify.html @@ -138,7 +140,6 @@ fix_adapt_fep.html fix_addforce.html fix_addtorque.html fix_append_atoms.html -fix_atc.html fix_atom_swap.html fix_ave_atom.html fix_ave_chunk.html @@ -276,6 +277,7 @@ fix_spring_self.html fix_srd.html fix_store_force.html fix_store_state.html +fix_surface_global.html fix_temp_berendsen.html fix_temp_csvr.html fix_temp_rescale.html @@ -422,11 +424,13 @@ pair_airebo.html pair_awpmd.html pair_beck.html pair_body.html +pair_body_rounded_polygon.html pair_bop.html pair_born.html pair_brownian.html pair_buck.html pair_buck_long.html +pair_buck6d_coul_gauss.html pair_charmm.html pair_class2.html pair_colloid.html @@ -512,6 +516,7 @@ pair_tersoff_mod.html pair_tersoff_zbl.html pair_thole.html pair_tri_lj.html +pair_ufm.html pair_vashishta.html pair_yukawa.html pair_yukawa_colloid.html @@ -537,6 +542,7 @@ bond_zero.html angle_charmm.html angle_class2.html angle_cosine.html +angle_cosine_buck6d.html angle_cosine_delta.html angle_cosine_periodic.html angle_cosine_shift.html @@ -576,11 +582,13 @@ improper_distance.html improper_fourier.html improper_harmonic.html improper_hybrid.html +improper_inversion_harmonic.html improper_none.html improper_ring.html improper_umbrella.html improper_zero.html +fix_atc.html USER/atc/man_add_molecule.html USER/atc/man_add_species.html USER/atc/man_atom_element_map.html diff --git a/doc/src/lammps_commands.txt b/doc/src/lammps_commands.txt new file mode 100644 index 0000000000000000000000000000000000000000..f9c2e7366a1d1c116096b337e6b1a7f98281a4ef --- /dev/null +++ b/doc/src/lammps_commands.txt @@ -0,0 +1,10 @@ + +LAMMPS Commands :h1 + +The following pages contain the detailed documentation of all +LAMMPS commands included in this version of LAMMPS. Generic +commands are listed first (in alphabetical order) followed by +command categories like compute styles or pair styles and so on. + +The documentation for the USER-ATC package fix_modify commands +follow at the very end of this manual. diff --git a/doc/src/lammps_tutorials.txt b/doc/src/lammps_tutorials.txt new file mode 100644 index 0000000000000000000000000000000000000000..5ceda65b600744e9133168348bcc55ea78629bfc --- /dev/null +++ b/doc/src/lammps_tutorials.txt @@ -0,0 +1,6 @@ + +Tutorials :h2 + +The following pages contain some in-depth tutorials for +selected topics, that did not fit into any other place +in the manual. diff --git a/doc/src/manifolds.txt b/doc/src/manifolds.txt index c9bb1ce57f850242b8940365a4a4cebfff4fa162..36c6caacb7d81262910f53f80bf8c384696f5a88 100644 --- a/doc/src/manifolds.txt +++ b/doc/src/manifolds.txt @@ -6,7 +6,7 @@ :line -Manifolds (surfaces) :h3 +Manifolds (surfaces) :h1 [Overview:] diff --git a/doc/src/pair_buck6d_coul_gauss.txt b/doc/src/pair_buck6d_coul_gauss.txt new file mode 100644 index 0000000000000000000000000000000000000000..879972772ba1aceed1ebe3992725373955840ef1 --- /dev/null +++ b/doc/src/pair_buck6d_coul_gauss.txt @@ -0,0 +1,138 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_style buck6d/coul/gauss/dsf :h3 +pair_style buck6d/coul/gauss/long :h3 + +[Syntax:] + +pair_style style args :pre + +style = {buck6d/coul/gauss/dsf} or {buck6d/coul/gauss/long} +args = list of arguments for a particular style :ul + {buck6d/coul/gauss/dsf} args = smooth cutoff (cutoff2) + smooth = smoothing onset within Buckingham cutoff (ratio) + cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) + {buck6d/coul/gauss/long} args = smooth smooth2 cutoff (cutoff2) + smooth = smoothing onset within Buckingham cutoff (ratio) + smooth2 = smoothing onset within Coulombic cutoff (ratio) + cutoff = global cutoff for Buckingham (and Coulombic if only 1 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) :pre + +[Examples:] + +pair_style buck6d/coul/gauss/dsf 0.9000 12.0000 +pair_coeff 1 1 1030. 3.061 457.179 4.521 0.608 :pre + +pair_style buck6d/coul/gauss/long 0.9000 1.0000 12.0000 +pair_coeff 1 1 1030. 3.061 457.179 4.521 0.608 :pre + +[Description:] + +The {buck6d/coul/gauss} styles evaluate vdW and Coulomb +interactions following the MOF-FF force field after +"(Schmid)"_#Schmid. The vdW term of the {buck6d} styles +computes a dispersion damped Buckingham potential: + +:c,image(Eqs/pair_buck6d.jpg) + +where A and C are a force constant, kappa is an ionic-pair dependent +reciprocal length parameter, D is a dispersion correction parameter, +and the cutoff Rc truncates the interaction distance. +The first term in the potential corresponds to the Buckingham +repulsion term and the second term to the dispersion attraction with +a damping correction analog to the Grimme correction used in DFT. +The latter corrects for artifacts occurring at short distances which +become an issue for soft vdW potentials. + +The {buck6d} styles include a smoothing function which is invoked +according to the global smooting parameter within the specified +cutoff. Hereby a parameter of i.e. 0.9 invokes the smoothing +within 90% of the cutoff. No smoothing is applied at a value +of 1.0. For the {gauss/dsf} style this smoothing is only applicable +for the dispersion damped Buckingham potential. For the {gauss/long} +styles the smoothing function can also be invoked for the real +space coulomb interactions which enforce continous energies and +forces at the cutoff. + +Both styles {buck6d/coul/gauss/dsf} and {buck6d/coul/gauss/long} +evaluate a Coulomb potential using spherical Gaussian type charge +distributions which effectively dampen electrostatic ineractions +for high charges at close distances. The electrostatic potential +is thus evaluated as: + +:c,image(Eqs/pair_coul_gauss.jpg) + +where C is an energy-conversion constant, Qi and Qj are the +charges on the 2 atoms, epsilon is the dielectric constant which +can be set by the "dielectric"_dielectric.html command, alpha is +ion pair dependent damping parameter and erf() is the error-function. +The cutoff Rc truncates the interaction distance. + +The style {buck6d/coul/gauss/dsf} computes the Coulomb interaction +via the damped shifted force model described in "(Fennell)"_#Fennell +approximating an Ewald sum similar to the "pair coul/dsf"_pair_coul.html +styles. In {buck6d/coul/gauss/long} an additional damping factor is +applied to the Coulombic term so it can be used in conjunction with the +"kspace_style"_kspace_style.html command and its {ewald} or {pppm} +options. The Coulombic cutoff in this case separates the real and +reciprocal space evaluation of the Ewald sum. + +If one cutoff is specified it is used for both the vdW and Coulomb +terms. If two cutoffs are specified, the first is used as the cutoff +for the vdW terms, and the second is the cutoff for the Coulombic term. + +The following coefficients must be defined for each pair of atoms +types via the "pair_coeff"_pair_coeff.html command as in the examples +above, or in the data file or restart files read by the +"read_data"_read_data.html or "read_restart"_read_restart.html +commands: + +A (energy units) +rho (distance^-1 units) +C (energy-distance^6 units) +D (distance^14 units) +alpha (distance^-1 units) +cutoff (distance units) :ul + +The second coefficient, rho, must be greater than zero. The latter +coefficient is optional. If not specified, the global vdW cutoff +is used. + +:line + +[Mixing, shift, table, tail correction, restart, rRESPA info]: + +These pair styles do not support mixing. Thus, coefficients for all +I,J pairs must be specified explicitly. + +These styles do not support the "pair_modify"_pair_modify.html shift +option for the energy. Instead the smoothing function should be applied +by setting the global smoothing parameter to a value < 1.0. + +These styles write their information to "binary restart +files"_restart.html, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. + +[Restrictions:] + +These styles are part of the USER-MOFFF package. They are only enabled +if LAMMPS was built with that package. See the +"Making LAMMPS"_Section_start.html#start_3 section for more info. + +[Related commands:] + +"pair_coeff"_pair_coeff.html + +[Default:] none + +:link(Schmid) +[(Schmid)] S. Bureekaew, S. Amirjalayer, M. Tafipolsky, C. Spickermann, T.K. Roy and R. Schmid, Phys. Status Solidi B, 6, 1128 (2013). +:link(Fennell) +[(Fennell)] C. J. Fennell, J. D. Gezelter, J Chem Phys, 124, 234104 (2006). diff --git a/doc/src/pair_lj.txt b/doc/src/pair_lj.txt index 058d54fb5950aec706e4de4b4561cb23f924b5e9..e297d479bc3ae16d3054130ba67d9bb7fe3a0a97 100644 --- a/doc/src/pair_lj.txt +++ b/doc/src/pair_lj.txt @@ -32,6 +32,8 @@ pair_style lj/cut/coul/long/omp command :h3 pair_style lj/cut/coul/msm command :h3 pair_style lj/cut/coul/msm/gpu command :h3 pair_style lj/cut/coul/msm/omp command :h3 +pair_style lj/cut/coul/wolf command :h3 +pair_style lj/cut/coul/wolf/omp command :h3 pair_style lj/cut/tip4p/cut command :h3 pair_style lj/cut/tip4p/cut/omp command :h3 pair_style lj/cut/tip4p/long command :h3 @@ -63,6 +65,10 @@ args = list of arguments for a particular style :ul {lj/cut/coul/msm} args = cutoff (cutoff2) cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units) cutoff2 = global cutoff for Coulombic (optional) (distance units) + {lj/cut/coul/wolf} args = alpha cutoff (cutoff2) + alpha = damping parameter (inverse distance units) + cutoff = global cutoff for LJ (and Coulombic if only 2 arg) (distance units) + cutoff2 = global cutoff for Coulombic (optional) (distance units) {lj/cut/tip4p/cut} args = otype htype btype atype qdist cutoff (cutoff2) otype,htype = atom types for TIP4P O and H btype,atype = bond and angle types for TIP4P waters @@ -115,6 +121,10 @@ pair_style lj/cut/tip4p/cut 1 2 7 8 0.15 12.0 10.0 pair_coeff * * 100.0 3.0 pair_coeff 1 1 100.0 3.5 9.0 :pre +pair_style lj/cut/coul/wolf 0.2 5. 10.0 +pair_coeff * * 1.0 1.0 +pair_coeff 1 1 1.0 1.0 2.5 :pre + pair_style lj/cut/tip4p/long 1 2 7 8 0.15 12.0 pair_style lj/cut/tip4p/long 1 2 7 8 0.15 12.0 10.0 pair_coeff * * 100.0 3.0 @@ -179,6 +189,24 @@ that a term is added for the "core/shell model"_Section_howto.html#howto_25 to allow charges on core and shell particles to be separated by r = 0.0. +Style {coul/wolf} adds a Coulombic pairwise interaction via the Wolf +summation method, described in "Wolf"_#Wolf1, given by: + +:c,image(Eqs/pair_coul_wolf.jpg) + +where {alpha} is the damping parameter, and erfc() is the +complementary error-function terms. This potential +is essentially a short-range, spherically-truncated, +charge-neutralized, shifted, pairwise {1/r} summation. With a +manipulation of adding and subtracting a self term (for i = j) to the +first and second term on the right-hand-side, respectively, and a +small enough {alpha} damping parameter, the second term shrinks and +the potential becomes a rapidly-converging real-space summation. With +a long enough cutoff and small enough alpha parameter, the energy and +forces calculated by the Wolf summation method approach those of the +Ewald sum. So it is a means of getting effective long-range +interactions with a short-range potential. + Styles {lj/cut/tip4p/cut} and {lj/cut/tip4p/long} implement the TIP4P water model of "(Jorgensen)"_#Jorgensen2, which introduces a massless site located a short distance away from the oxygen atom along the diff --git a/doc/src/pair_meam.txt b/doc/src/pair_meam.txt index 62fa59f406064301bcd0eea5fd106e18e0ee1041..c7449428bd05aa010182dc17cb2f9206b69e5303 100644 --- a/doc/src/pair_meam.txt +++ b/doc/src/pair_meam.txt @@ -77,7 +77,7 @@ See the "pair_coeff"_pair_coeff.html doc page for alternate ways to specify the path for the potential files. As an example, the potentials/library.meam file has generic MEAM -settings for a variety of elements. The potentials/sic.meam file has +settings for a variety of elements. The potentials/SiC.meam file has specific parameter settings for a Si and C alloy system. If your LAMMPS simulation has 4 atoms types and you want the 1st 3 to be Si, and the 4th to be C, you would use the following pair_coeff command: @@ -105,6 +105,15 @@ This can be used when a {meam} potential is used as part of the {hybrid} pair style. The NULL values are placeholders for atom types that will be used with other potentials. +NOTE: If the 2nd filename is NULL, the element names between the two +filenames can appear in any order, e.g. "Si C" or "C Si" in the +example above. However, if the 2nd filename is not NULL (as in the +example above), it contains settings that are Fortran-indexed for the +elements that preceed it. Thus you need to insure you list the +elements between the filenames in an order consistent with how the +values in the 2nd filename are indexed. See details below on the +syntax for settings in the 2nd file. + The MEAM library file provided with LAMMPS has the name potentials/library.meam. It is the "meamf" file used by other MD codes. Aside from blank and comment lines (start with #) which can @@ -164,7 +173,15 @@ keyword(I) = value keyword(I,J) = value keyword(I,J,K) = value :pre -The recognized keywords are as follows: +The indices I, J, K correspond to the elements selected from the +MEAM library file numbered in the order of how those elements were +selected starting from 1. Thus for the example given below + +pair_coeff * * library.meam Si C sic.meam Si Si Si C :pre + +an index of 1 would refer to Si and an index of 2 to C. + +The recognized keywords for the parameter file are as follows: Ec, alpha, rho0, delta, lattce, attrac, repuls, nn2, Cmin, Cmax, rc, delr, augt1, gsmooth_factor, re diff --git a/doc/src/pair_ufm.txt b/doc/src/pair_ufm.txt new file mode 100644 index 0000000000000000000000000000000000000000..88a22864ccaf960472dbe5ea3f985ea2d375ab23 --- /dev/null +++ b/doc/src/pair_ufm.txt @@ -0,0 +1,135 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_style ufm command :h3 +pair_style ufm/gpu command :h3 +pair_style ufm/omp command :h3 +pair_style ufm/opt command :h3 + +[Syntax:] + +pair_style ufm cutoff :pre + +cutoff = global cutoff for {ufm} interactions (distance units) :ul + +[Examples:] + +pair_style ufm 4.0 +pair_coeff 1 1 100.0 1.0 2.5 +pair_coeff * * 100.0 1.0 :pre + + +pair_style ufm 4.0 +pair_coeff * * 10.0 1.0 +variable prefactor equal ramp(10,100) +fix 1 all adapt 1 pair ufm epsilon * * v_prefactor :pre + +[Description:] + +Style {ufm} computes pairwise interactions using the Uhlenbeck-Ford model (UFM) potential "(Paula Leite2016)"_#PL2 which is given by + +:c,image(Eqs/pair_ufm.jpg) + +where rc is the cutoff, sigma is a distance-scale and epsilon is an energy-scale, i.e., a product of Boltzmann constant kB, temperature T and the Uhlenbeck-Ford p-parameter which is responsible +to control the softness of the interactions "(Paula Leite2017)"_#PL1. +This model is useful as a reference system for fluid-phase free-energy calculations "(Paula Leite2016)"_#PL2. + +The following coefficients must be defined for each pair of atom types +via the "pair_coeff"_pair_coeff.html command as in the examples above, +or in the data file or restart files read by the +"read_data"_read_data.html or "read_restart"_read_restart.html +commands, or by mixing as described below: + +epsilon (energy units) +sigma (distance units) +cutoff (distance units) :ul + +The last coefficient is optional. If not specified, the global {ufm} +cutoff is used. + + +The "fix adapt"_fix_adapt.html command can be used to vary epsilon and sigma for this pair style over the course of a simulation, in which case +pair_coeff settings for epsilon and sigma must still be specified, but will be +overridden. For example these commands will vary the prefactor epsilon for +all pairwise interactions from 10.0 at the beginning to 100.0 at the end +of a run: + +variable prefactor equal ramp(10,100) +fix 1 all adapt 1 pair ufm epsilon * * v_prefactor :pre + +NOTE: The thermodynamic integration procedure can be performed with this potential using "fix adapt"_fix_adapt.html. This command will rescale the force on each atom by varying a scale variable, which always starts with value 1.0. The syntax is the same described above, however, changing epsilon to scale. A detailed explanation of how to use this command and perform nonequilibrium thermodynamic integration in LAMMPS is given in the paper by "(Freitas)"_#Freitas2. + +:line + +Styles with a {gpu}, {intel}, {kk}, {omp}, or {opt} suffix are +functionally the same as the corresponding style without the suffix. +They have been optimized to run faster, depending on your available +hardware, as discussed in "Section 5"_Section_accelerate.html +of the manual. The accelerated styles take the same arguments and +should produce the same results, except for round-off and precision +issues. + +These accelerated styles are part of the GPU, USER-INTEL, KOKKOS, +USER-OMP and OPT packages, respectively. They are only enabled if +LAMMPS was built with those packages. See the "Making +LAMMPS"_Section_start.html#start_3 section for more info. + +You can specify the accelerated styles explicitly in your input script +by including their suffix, or you can use the "-suffix command-line +switch"_Section_start.html#start_6 when you invoke LAMMPS, or you can +use the "suffix"_suffix.html command in your input script. + +See "Section 5"_Section_accelerate.html of the manual for +more instructions on how to use the accelerated styles effectively. + +:line + +[Mixing, shift, table, tail correction, restart, rRESPA info]: + +For atom type pairs I,J and I != J, the A coefficient and cutoff +distance for this pair style can be mixed. A is always mixed via a +{geometric} rule. The cutoff is mixed according to the pair_modify +mix value. The default mix value is {geometric}. See the +"pair_modify" command for details. + +This pair style support the "pair_modify"_pair_modify.html shift option for the energy of the pair interaction. + +The "pair_modify"_pair_modify.html table and tail are not relevant for this +pair style. + +This pair style does not support the "pair_modify"_pair_modify.html tail option for adding long-range tail corrections to energy and pressure. + +This pair style writes its information to "binary restart +files"_restart.html, so pair_style and pair_coeff commands do not need +to be specified in an input script that reads a restart file. + +This pair style can only be used via the {pair} keyword of the +"run_style respa"_run_style.html command. It does not support the +{inner}, {middle}, {outer} keywords. + +:line + +[Restrictions:] none + +[Related commands:] + +"pair_coeff"_pair_coeff.html, "fix adapt"_fix_adapt.html + +[Default:] none + + +:link(PL1) +[(Paula Leite2017)] Paula Leite, Santos-Florez, and de Koning, Phys Rev E, 96, +32115 (2017). + +:link(PL2) +[(Paula Leite2016)] Paula Leite , Freitas, Azevedo, and de Koning, J Chem Phys, 126, +044509 (2016). + +:link(Freitas2) +[(Freitas)] Freitas, Asta, and de Koning, Computational Materials Science, 112, 333 (2016). diff --git a/doc/src/pairs.txt b/doc/src/pairs.txt index f1c4e77041a720d917efc38bfa0858ce5f50bc92..f99c9d1a4b59b69e0fed4b803b279c246030ffc6 100644 --- a/doc/src/pairs.txt +++ b/doc/src/pairs.txt @@ -17,6 +17,7 @@ Pair Styles :h1 pair_brownian pair_buck pair_buck_long + pair_buck6d_coul_gauss pair_charmm pair_class2 pair_colloid @@ -102,6 +103,7 @@ Pair Styles :h1 pair_tersoff_zbl pair_thole pair_tri_lj + pair_ufm pair_vashishta pair_yukawa pair_yukawa_colloid diff --git a/doc/src/read_data.txt b/doc/src/read_data.txt index 8c9aa02e22c37f52e4f048476eb8948ef0043c3f..fd297e36c121e1efb8f631c95c182a51587a60c0 100644 --- a/doc/src/read_data.txt +++ b/doc/src/read_data.txt @@ -15,10 +15,11 @@ read_data file keyword args ... :pre file = name of data file to read in :ulb,l zero or more keyword/arg pairs may be appended :l keyword = {add} or {offset} or {shift} or {extra/atom/types} or {extra/bond/types} or {extra/angle/types} or {extra/dihedral/types} or {extra/improper/types} or {extra/bond/per/atom} or {extra/angle/per/atom} or {extra/dihedral/per/atom} or {extra/improper/per/atom} or {group} or {nocoeff} or {fix} :l - {add} arg = {append} or {Nstart} or {merge} - append = add new atoms with IDs appended to current IDs - Nstart = add new atoms with IDs starting with Nstart - merge = add new atoms with their IDs unchanged + {add} arg = {append} or {IDoffset} or {IDoffset MOLoffset} or {merge} + append = add new atoms with atom IDs appended to current IDs + IDoffset = add new atoms with atom IDs having IDoffset added + MOLoffset = add new atoms with molecule IDs having MOLoffset added (only when molecule IDs are enabled) + merge = add new atoms with their atom IDs (and molecule IDs) unchanged {offset} args = toff boff aoff doff ioff toff = offset to add to atom types boff = offset to add to bond types @@ -120,20 +121,26 @@ boundary, then the atoms may become far apart if the box size grows. This will separate the atoms in the bond, which can lead to "lost" bond atoms or bad dynamics. -The three choices for the {add} argument affect how the IDs of atoms -in the data file are treated. If {append} is specified, atoms in the -data file are added to the current system, with their atom IDs reset -so that an atomID = M in the data file becomes atomID = N+M, where N -is the largest atom ID in the current system. This rule is applied to -all occurrences of atom IDs in the data file, e.g. in the Velocity or -Bonds section. If {Nstart} is specified, then {Nstart} is a numeric -value is given, e.g. 1000, so that an atomID = M in the data file -becomes atomID = 1000+M. If {merge} is specified, the data file atoms +The three choices for the {add} argument affect how the atom IDs and +molecule IDs of atoms in the data file are treated. If {append} is +specified, atoms in the data file are added to the current system, +with their atom IDs reset so that an atomID = M in the data file +becomes atomID = N+M, where N is the largest atom ID in the current +system. This rule is applied to all occurrences of atom IDs in the +data file, e.g. in the Velocity or Bonds section. This is also done +for molecule IDs, if the atom style does support molecule IDs or +they are enabled via fix property/atom. If {IDoffset} is specified, +then {IDoffset} is a numeric value is given, e.g. 1000, so that an +atomID = M in the data file becomes atomID = 1000+M. For systems +with enabled molecule IDs, another numerical argument {MOLoffset} +is required representing the equivalent offset for molecule IDs. +If {merge} is specified, the data file atoms are added to the current system without changing their IDs. They are assumed to merge (without duplication) with the currently defined atoms. It is up to you to insure there are no multiply defined atom IDs, as LAMMPS only performs an incomplete check that this is the case -by insuring the resulting max atomID >= the number of atoms. +by insuring the resulting max atomID >= the number of atoms. For +molecule IDs, there is no check done at all. The {offset} and {shift} keywords can only be used if the {add} keyword is also specified. @@ -547,7 +554,7 @@ 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 edpd: atom-ID atom-type edpd_temp edpd_cv x y z -mdpd: atom-ID atom-type x y z +mdpd: atom-ID atom-type rho x y z tdpd: atom-ID atom-type x y z cc1 cc2 ... ccNspecies electron: atom-ID atom-type q spin eradius x y z ellipsoid: atom-ID atom-type ellipsoidflag density x y z diff --git a/doc/src/tutorial_pylammps.txt b/doc/src/tutorial_pylammps.txt index 52eb6415db8415c04b2c07395e9e7ef3c508af6c..11cddb3cbf3fa7abc4350c9fe0cfb685f19b7b47 100644 --- a/doc/src/tutorial_pylammps.txt +++ b/doc/src/tutorial_pylammps.txt @@ -6,14 +6,14 @@ :line -PyLammps Tutorial :h1 +PyLammps Tutorial :h3 -Overview :h2 +Overview :h4 PyLammps is a Python wrapper class which can be created on its own or use an existing lammps Python object. It creates a simpler, Python-like interface to @@ -23,16 +23,16 @@ C++ code implementation. Finally, the IPyLammps wrapper builds on top of PyLammps and adds some additional features for IPython integration into IPython notebooks, e.g. for embedded visualization output from dump/image. -Comparison of lammps and PyLammps interfaces :h3 +Comparison of lammps and PyLammps interfaces :h5 -lammps.lammps :h4 +lammps.lammps :h6 uses C-Types direct memory access to native C++ data provides functions to send and receive data to LAMMPS requires knowledge of how LAMMPS internally works (C pointers, etc) :ul -lammps.PyLammps :h4 +lammps.PyLammps :h6 higher-level abstraction built on top of original C-Types interface manipulation of Python objects @@ -41,11 +41,11 @@ shorter, more concise Python better IPython integration, designed for quick prototyping :ul -Quick Start :h2 +Quick Start :h4 -System-wide Installation :h3 +System-wide Installation :h5 -Step 1: Building LAMMPS as a shared library :h4 +Step 1: Building LAMMPS as a shared library :h6 To use LAMMPS inside of Python it has to be compiled as shared library. This library is then loaded by the Python interface. In this example we enable the @@ -60,7 +60,7 @@ make yes-MOLECULE :pre # compile shared library using Makefile make mpi mode=shlib LMP_INC="-DLAMMPS_PNG -DLAMMPS_JPEG -DLAMMPS_FFMPEG -DLAMMPS_EXCEPTIONS" JPG_LIB="-lpng -ljpeg" :pre -Step 2: Installing the LAMMPS Python package :h4 +Step 2: Installing the LAMMPS Python package :h6 PyLammps is part of the lammps Python package. To install it simply install that package into your current Python installation. @@ -71,12 +71,12 @@ python install.py :pre NOTE: Recompiling the shared library requires reinstalling the Python package -Installation inside of a virtualenv :h3 +Installation inside of a virtualenv :h5 You can use virtualenv to create a custom Python environment specifically tuned for your workflow. -Benefits of using a virtualenv :h4 +Benefits of using a virtualenv :h6 isolation of your system Python installation from your development installation installation can happen in your user directory without root access (useful for HPC clusters) @@ -87,7 +87,7 @@ you can even install specific old versions of a package if necessary :ul apt-get install python-virtualenv :pre -Creating a virtualenv with lammps installed :h4 +Creating a virtualenv with lammps installed :h6 # create virtualenv name 'testing' :pre @@ -107,7 +107,7 @@ source testing/bin/activate :pre (testing) deactivate :pre -Creating a new instance of PyLammps :h2 +Creating a new instance of PyLammps :h4 To create a PyLammps object you need to first import the class from the lammps module. By using the default constructor, a new {lammps} instance is created. @@ -121,7 +121,7 @@ from lammps import lammps, PyLammps lmp = lammps() L = PyLammps(ptr=lmp) :pre -Commands :h2 +Commands :h4 Sending a LAMMPS command with the existing library interfaces is done using the command method of the lammps object instance. @@ -155,7 +155,7 @@ them automatically to a final command string. L.region("box block", xlo, xhi, ylo, yhi, zlo, zhi) :pre -System state :h2 +System state :h4 In addition to dispatching commands directly through the PyLammps object, it also provides several properties which allow you to query the system state. @@ -208,7 +208,7 @@ List of groups present in the current system :dd :dle -Working with LAMMPS variables :h2 +Working with LAMMPS variables :h4 LAMMPS variables can be both defined and accessed via the PyLammps interface. @@ -229,7 +229,7 @@ property of this object. print(a.value) a.value = 4 :pre -Retrieving the value of an arbitrary LAMMPS expressions :h2 +Retrieving the value of an arbitrary LAMMPS expressions :h4 LAMMPS expressions can be immediately evaluated by using the eval method. The passed string parameter can be any expression containing global thermo values, @@ -240,7 +240,7 @@ result = L.eval("pe") # potential energy :pre result = L.eval("v_t/2.0") :pre -Accessing atom data :h2 +Accessing atom data :h4 All atoms in the current simulation can be accessed by using the L.atoms list. Each element of this list is an object which exposes its properties (id, type, @@ -263,7 +263,7 @@ L.atoms\[0\].position = (1.0, 0.0) :pre # set position in 3D simulation L.atoms\[0\].position = (1.0, 0.0, 1.) :pre -Evaluating thermo data :h2 +Evaluating thermo data :h4 Each simulation run usually produces thermo output based on system state, computes, fixes or variables. The trajectories of these values can be queried @@ -291,7 +291,7 @@ steps = L.runs\[0\].step ke = L.runs\[0\].ke plt.plot(steps, ke) :pre -Error handling with PyLammps :h2 +Error handling with PyLammps :h4 Compiling the shared library with C++ exception support provides a better error handling experience. Without exceptions the LAMMPS code will terminate the @@ -304,7 +304,7 @@ current LAMMPS process is in an illegal state and must be terminated. It is advised to save your data and terminate the Python instance as quickly as possible. -Using PyLammps in IPython notebooks and Jupyter :h2 +Using PyLammps in IPython notebooks and Jupyter :h4 If the LAMMPS Python package is installed for the same Python interpreter as IPython, you can use PyLammps directly inside of an IPython notebook inside of @@ -320,7 +320,7 @@ Python environment (this assumes you followed the Quick Start instructions): jupyter notebook :pre -IPyLammps Examples :h2 +IPyLammps Examples :h4 Examples of IPython notebooks can be found in the python/examples/pylammps subdirectory. To open these notebooks launch {jupyter notebook} inside this @@ -328,7 +328,7 @@ directory and navigate to one of them. If you compiled and installed a LAMMPS shared library with exceptions, PNG, JPEG and FFMPEG support you should be able to rerun all of these notebooks. -Validating a dihedral potential :h3 +Validating a dihedral potential :h5 This example showcases how an IPython Notebook can be used to compare a simple LAMMPS simulation of a harmonic dihedral potential to its analytical solution. @@ -353,7 +353,7 @@ plot inside the IPython notebook. :c,image(JPG/pylammps_dihedral.jpg) -Running a Monte Carlo relaxation :h3 +Running a Monte Carlo relaxation :h5 This second example shows how to use PyLammps to create a 2D Monte Carlo Relaxation simulation, computing and plotting energy terms and even embedding video output. @@ -424,7 +424,7 @@ The energies of each iteration are collected in a Python list and finally plotte The IPython notebook also shows how to use dump commands and embed video files inside of the IPython notebook. -Using PyLammps and mpi4py (Experimental) :h2 +Using PyLammps and mpi4py (Experimental) :h4 PyLammps can be run in parallel using mpi4py. This python package can be installed using @@ -451,7 +451,7 @@ mpirun -np 4 python melt.py :pre IMPORTANT NOTE: Any command must be executed by all MPI processes. However, evaluations and querying the system state is only available on rank 0. -Feedback and Contributing :h2 +Feedback and Contributing :h4 If you find this Python interface useful, please feel free to provide feedback and ideas on how to improve it to Richard Berger (richard.berger@temple.edu). We also diff --git a/doc/src/variable.txt b/doc/src/variable.txt index e3b7c5de0d6a50ac158d167365e976cacb396e58..c0851464c3f14e11629b8e65ee58a171499a4e45 100644 --- a/doc/src/variable.txt +++ b/doc/src/variable.txt @@ -689,7 +689,7 @@ increase in increments of z, starting at x, until a is reached. At that point the timestep increases in increments of c, from a to b, then after b, increments by z are resumed until y is reached. For any current timestep, the next timestep in the sequence is returned. Thus -if stride(1000,2000,100,1350,1360,1) is used in a variable by the +if stride2(1000,2000,100,1350,1360,1) is used in a variable by the "dump_modify every"_dump_modify.html command, it will generate the sequence of output timesteps: diff --git a/examples/USER/meso/edpd/in.edpd b/examples/USER/meso/edpd/in.edpd index 316099bce35ceb0f7e7fd370cf0862fd8c433804..af1a79d73daec55199bb3a5b835762a279e0b286 100644 --- a/examples/USER/meso/edpd/in.edpd +++ b/examples/USER/meso/edpd/in.edpd @@ -1,54 +1,54 @@ -######################################################################## -### Heat conduction analog of periodic Poiseuille flow problem ### -### using energy-conserving DPD (eDPD) simulation ### -### ### -### Created : Zhen Li (zhen_li@brown.edu) ### -### Division of Applied Mathematics, Brown University. ### -### ### -### mDPD system setup follows Fig.12 in the publication: ### -### Z. Li, Y.-H. Tang, H. Lei, B. Caswell and G.E. Karniadakis. ### -### "Energy-conserving dissipative particle dynamics with ### -### temperature-dependent properties". J. Comput. Phys., ### -### 2014, 265: 113-127. DOI: 10.1016/j.jcp.2014.02.003 ### -######################################################################## -units lj -dimension 3 -boundary p p p -neighbor 0.2 bin -neigh_modify every 1 delay 0 check yes - -atom_style edpd - -region edpd block -10 10 -10 10 -5 5 units box -create_box 1 edpd -create_atoms 1 random 16000 276438 NULL -mass 1 1.0 -set atom * edpd/temp 1.0 -set atom * edpd/cv 1.0E5 - -pair_style edpd 1.58 9872598 -#pair_coeff 1 1 18.75 4.5 0.41 1.58 1.45E-5 2.0 1.58 -pair_coeff 1 1 18.75 4.5 0.41 1.58 1.41E-5 2.0 1.58 & - power 10.54 -3.66 3.44 -4.10 & - kappa -0.44 -3.21 5.04 0.00 - -compute mythermo all temp -thermo 100 -thermo_modify temp mythermo -thermo_modify flush yes - -velocity all create 1.0 432982 loop local dist gaussian - -fix mvv all mvv/edpd 0.5 -fix upper all edpd/source cuboid 0.0 5.0 0.0 20.0 10.0 10.0 0.01 -fix lower all edpd/source cuboid 0.0 -5.0 0.0 20.0 10.0 10.0 -0.01 - -timestep 0.01 -run 500 -reset_timestep 0 - -compute temp all edpd/temp/atom -compute ccT all chunk/atom bin/1d y 0.0 1.0 -fix stat all ave/chunk 1 500 500 ccT c_temp density/number norm sample file temp.profile - -run 500 +######################################################################## +### Heat conduction analog of periodic Poiseuille flow problem ### +### using energy-conserving DPD (eDPD) simulation ### +### ### +### Created : Zhen Li (zhen_li@brown.edu) ### +### Division of Applied Mathematics, Brown University. ### +### ### +### mDPD system setup follows Fig.12 in the publication: ### +### Z. Li, Y.-H. Tang, H. Lei, B. Caswell and G.E. Karniadakis. ### +### "Energy-conserving dissipative particle dynamics with ### +### temperature-dependent properties". J. Comput. Phys., ### +### 2014, 265: 113-127. DOI: 10.1016/j.jcp.2014.02.003 ### +######################################################################## +units lj +dimension 3 +boundary p p p +neighbor 0.2 bin +neigh_modify every 1 delay 0 check yes + +atom_style edpd + +region edpd block -10 10 -10 10 -5 5 units box +create_box 1 edpd +create_atoms 1 random 16000 276438 NULL +mass 1 1.0 +set atom * edpd/temp 1.0 +set atom * edpd/cv 1.0E5 + +pair_style edpd 1.58 9872598 +#pair_coeff 1 1 18.75 4.5 0.41 1.58 1.45E-5 2.0 1.58 +pair_coeff 1 1 18.75 4.5 0.41 1.58 1.41E-5 2.0 1.58 & + power 10.54 -3.66 3.44 -4.10 & + kappa -0.44 -3.21 5.04 0.00 + +compute mythermo all temp +thermo 100 +thermo_modify temp mythermo +thermo_modify flush yes + +velocity all create 1.0 432982 loop local dist gaussian + +fix mvv all mvv/edpd 0.5 +fix upper all edpd/source cuboid 0.0 5.0 0.0 20.0 10.0 10.0 0.01 +fix lower all edpd/source cuboid 0.0 -5.0 0.0 20.0 10.0 10.0 -0.01 + +timestep 0.01 +run 500 +reset_timestep 0 + +compute temp all edpd/temp/atom +compute ccT all chunk/atom bin/1d y 0.0 1.0 +fix stat all ave/chunk 1 500 500 ccT c_temp density/number norm sample file temp.profile + +run 500 diff --git a/examples/USER/meso/mdpd/in.mdpd b/examples/USER/meso/mdpd/in.mdpd index 201b4a340eefd272a3e0e8515a9301b26c9cb769..b0740c822767a59dfa38faacce9cc3c072b1a78d 100644 --- a/examples/USER/meso/mdpd/in.mdpd +++ b/examples/USER/meso/mdpd/in.mdpd @@ -1,52 +1,52 @@ -######################################################################## -#### 3D droplet oscilation using many-body DPD simulation ### -#### ### -#### Created : Zhen Li (zhen_li@brown.edu) ### -#### Division of Applied Mathematics, Brown University. ### -#### ### -#### mDPD parameters follow the choice of the publication: ### -#### Z. Li et al. "Three dimensional flow structures in a moving ### -#### droplet on substrate: a dissipative particle dynamics study" ### -#### Physics of Fluids, 2013, 25: 072103. DOI: 10.1063/1.4812366 ### -######################################################################## -units lj -dimension 3 -boundary p p p -neighbor 0.3 bin -neigh_modify every 1 delay 0 check yes - -atom_style mdpd - -region mdpd block -25 25 -10 10 -10 10 units box -create_box 1 mdpd - -lattice fcc 6 -region film block -20 20 -7.5 7.5 -2.0 2.0 units box -create_atoms 1 region film - -pair_style hybrid/overlay mdpd/rhosum mdpd 1.0 1.0 9872598 -pair_coeff 1 1 mdpd/rhosum 0.75 -pair_coeff 1 1 mdpd -40 25 18.0 1.0 0.75 -mass 1 1.0 - -compute mythermo all temp -thermo 100 -thermo_modify temp mythermo -thermo_modify flush yes - -velocity all create 1.0 38497 loop local dist gaussian - -fix mvv all mvv/dpd - -#dump mydump all atom 100 atom.lammpstrj - -#dump jpg all image 200 image.*.jpg type type zoom 5 adiam 0.5 & -# view 90 90 box no 0 size 600 200 -#dump_modify jpg pad 4 - -#dump avi all movie 200 movie.avi type type zoom 5 adiam 0.5 & -# view 90 90 box no 0 size 600 200 -#dump_modify avi pad 4 - -timestep 0.01 -run 4000 +######################################################################## +#### 3D droplet oscilation using many-body DPD simulation ### +#### ### +#### Created : Zhen Li (zhen_li@brown.edu) ### +#### Division of Applied Mathematics, Brown University. ### +#### ### +#### mDPD parameters follow the choice of the publication: ### +#### Z. Li et al. "Three dimensional flow structures in a moving ### +#### droplet on substrate: a dissipative particle dynamics study" ### +#### Physics of Fluids, 2013, 25: 072103. DOI: 10.1063/1.4812366 ### +######################################################################## +units lj +dimension 3 +boundary p p p +neighbor 0.3 bin +neigh_modify every 1 delay 0 check yes + +atom_style mdpd + +region mdpd block -25 25 -10 10 -10 10 units box +create_box 1 mdpd + +lattice fcc 6 +region film block -20 20 -7.5 7.5 -2.0 2.0 units box +create_atoms 1 region film + +pair_style hybrid/overlay mdpd/rhosum mdpd 1.0 1.0 9872598 +pair_coeff 1 1 mdpd/rhosum 0.75 +pair_coeff 1 1 mdpd -40 25 18.0 1.0 0.75 +mass 1 1.0 + +compute mythermo all temp +thermo 100 +thermo_modify temp mythermo +thermo_modify flush yes + +velocity all create 1.0 38497 loop local dist gaussian + +fix mvv all mvv/dpd + +#dump mydump all atom 100 atom.lammpstrj + +#dump jpg all image 200 image.*.jpg type type zoom 5 adiam 0.5 & +# view 90 90 box no 0 size 600 200 +#dump_modify jpg pad 4 + +#dump avi all movie 200 movie.avi type type zoom 5 adiam 0.5 & +# view 90 90 box no 0 size 600 200 +#dump_modify avi pad 4 + +timestep 0.01 +run 4000 diff --git a/examples/USER/meso/tdpd/in.tdpd b/examples/USER/meso/tdpd/in.tdpd index 748a4f50775795c51a26eead61adfaa3a6085477..5107e7a454256a52f2b4b6aed736556775a1e32a 100644 --- a/examples/USER/meso/tdpd/in.tdpd +++ b/examples/USER/meso/tdpd/in.tdpd @@ -1,54 +1,54 @@ -######################################################################## -### Pure diffusion with a reaction source term analog of a periodic ### -### Poiseuille flow problem using transport DPD (tDPD) simulation ### -### ### -### Created : Zhen Li (zhen_li@brown.edu) ### -### Division of Applied Mathematics, Brown University. ### -### ### -### tDPD system setup follows Fig.1 in the publication: ### -### Z. Li, A. Yazdani, A. Tartakovsky and G.E. Karniadakis. ### -### "Transport dissipative particle dynamics model for mesoscopic ### -### advection-diffusion-reaction problems. J. Chem. Phys., ### -### 2015, 143: 014101. DOI: 10.1063/1.4923254 ### -######################################################################## -units lj -dimension 3 -boundary p p p -neighbor 0.2 bin -neigh_modify every 1 delay 0 check yes - -atom_style tdpd 2 - -region tdpd block -10 10 -10 10 -5 5 units box -create_box 1 tdpd -create_atoms 1 random 16000 276438 NULL -mass 1 1.0 -set atom * cc 1 1.0 -set atom * cc 2 1.0 - -pair_style tdpd 1.0 1.58 9872598 -pair_coeff 1 1 18.75 4.5 0.41 1.58 1.58 1.0 1.0E-5 2.0 3.0 1.0E-5 2.0 - -compute mythermo all temp -thermo 50 -thermo_modify temp mythermo -thermo_modify flush yes - -velocity all create 1.0 432982 loop local dist gaussian - -fix mvv all mvv/tdpd 0.5 -fix upper1 all tdpd/source 1 cuboid 0.0 5.0 0.0 20.0 10.0 10.0 0.01 -fix lower1 all tdpd/source 1 cuboid 0.0 -5.0 0.0 20.0 10.0 10.0 -0.01 -fix upper2 all tdpd/source 2 cuboid 0.0 5.0 0.0 20.0 10.0 10.0 -0.01 -fix lower2 all tdpd/source 2 cuboid 0.0 -5.0 0.0 20.0 10.0 10.0 0.01 - -timestep 0.01 -run 500 -reset_timestep 0 - -compute cc1 all tdpd/cc/atom 1 -compute cc2 all tdpd/cc/atom 2 -compute bin all chunk/atom bin/1d y 0.0 1.0 -fix stat all ave/chunk 1 100 100 bin c_cc1 c_cc2 norm sample file cc.profile - -run 100 +######################################################################## +### Pure diffusion with a reaction source term analog of a periodic ### +### Poiseuille flow problem using transport DPD (tDPD) simulation ### +### ### +### Created : Zhen Li (zhen_li@brown.edu) ### +### Division of Applied Mathematics, Brown University. ### +### ### +### tDPD system setup follows Fig.1 in the publication: ### +### Z. Li, A. Yazdani, A. Tartakovsky and G.E. Karniadakis. ### +### "Transport dissipative particle dynamics model for mesoscopic ### +### advection-diffusion-reaction problems. J. Chem. Phys., ### +### 2015, 143: 014101. DOI: 10.1063/1.4923254 ### +######################################################################## +units lj +dimension 3 +boundary p p p +neighbor 0.2 bin +neigh_modify every 1 delay 0 check yes + +atom_style tdpd 2 + +region tdpd block -10 10 -10 10 -5 5 units box +create_box 1 tdpd +create_atoms 1 random 16000 276438 NULL +mass 1 1.0 +set atom * cc 1 1.0 +set atom * cc 2 1.0 + +pair_style tdpd 1.0 1.58 9872598 +pair_coeff 1 1 18.75 4.5 0.41 1.58 1.58 1.0 1.0E-5 2.0 3.0 1.0E-5 2.0 + +compute mythermo all temp +thermo 50 +thermo_modify temp mythermo +thermo_modify flush yes + +velocity all create 1.0 432982 loop local dist gaussian + +fix mvv all mvv/tdpd 0.5 +fix upper1 all tdpd/source 1 cuboid 0.0 5.0 0.0 20.0 10.0 10.0 0.01 +fix lower1 all tdpd/source 1 cuboid 0.0 -5.0 0.0 20.0 10.0 10.0 -0.01 +fix upper2 all tdpd/source 2 cuboid 0.0 5.0 0.0 20.0 10.0 10.0 -0.01 +fix lower2 all tdpd/source 2 cuboid 0.0 -5.0 0.0 20.0 10.0 10.0 0.01 + +timestep 0.01 +run 500 +reset_timestep 0 + +compute cc1 all tdpd/cc/atom 1 +compute cc2 all tdpd/cc/atom 2 +compute bin all chunk/atom bin/1d y 0.0 1.0 +fix stat all ave/chunk 1 100 100 bin c_cc1 c_cc2 norm sample file cc.profile + +run 100 diff --git a/examples/USER/mgpt/log.lammps b/examples/USER/mgpt/log.lammps deleted file mode 100644 index 9485c36e475718327e8501ba0ba0a622f266e696..0000000000000000000000000000000000000000 --- a/examples/USER/mgpt/log.lammps +++ /dev/null @@ -1,78 +0,0 @@ -LAMMPS (23 Oct 2015) -# script for mgpt t=0 eos with relaxed vacancy in bcc structure: -# input for relaxed vacancy formation energy at constant pressure - -echo screen -Lattice spacing in x,y,z = 6.23812 6.23812 6.23812 -Created orthogonal box = (0 0 0) to (31.1906 31.1906 31.1906) - 1 by 1 by 1 MPI processor grid -Created 250 atoms -Deleted 1 atoms, new total = 249 -Reading potential file Ta6.8x.mgpt.potin with DATE: 2015-07-30 -Neighbor list info ... - 2 neighbor list requests - update every 1 steps, delay 0 steps, check yes - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 13.1712 - ghost atom cutoff = 13.1712 - binsize = 6.58562 -> bins = 5 5 5 -Memory usage per processor = 4.66978 Mbytes -Step Volume Temp PotEng TotEng Press - 0 30343.887 0 -73.994511 -73.994511 -1.0504398e+09 - 10 30343.887 0 -74.002332 -74.002332 -1.107516e+09 - 20 30343.887 0 -74.00485 -74.00485 -1.1316373e+09 - 30 30343.887 0 -74.005762 -74.005762 -1.143304e+09 - 40 30343.887 0 -74.006116 -74.006116 -1.149395e+09 - 50 30343.887 0 -74.006262 -74.006262 -1.1527914e+09 - 60 30343.887 0 -74.006323 -74.006323 -1.1547677e+09 - 70 30343.887 0 -74.00635 -74.00635 -1.1559529e+09 - 80 30343.887 0 -74.006361 -74.006361 -1.1566763e+09 - 90 30343.887 0 -74.006366 -74.006366 -1.1571256e+09 - 100 30343.887 0 -74.006369 -74.006369 -1.1574093e+09 - 110 30343.887 0 -74.00637 -74.00637 -1.1575908e+09 - 120 30343.887 0 -74.00637 -74.00637 -1.1577083e+09 - 130 30343.887 0 -74.00637 -74.00637 -1.1577849e+09 - 139 30343.887 0 -74.006371 -74.006371 -1.1578311e+09 -Loop time of 4.33109 on 1 procs for 139 steps with 249 atoms - -92.4% CPU use with 1 MPI tasks x no OpenMP threads - -Minimization stats: - Stopping criterion = energy tolerance - Energy initial, next-to-last, final = - -73.9945109564 -74.0063705487 -74.0063705557 - Force two-norm initial, final = 0.0366227 8.09081e-05 - Force max component initial, final = 0.00730948 8.05242e-06 - Final line search alpha, max atom move = 1 8.05242e-06 - Iterations, force evaluations = 139 139 - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 4.3064 | 4.3064 | 4.3064 | 0.0 | 99.43 -Neigh | 0.019113 | 0.019113 | 0.019113 | 0.0 | 0.44 -Comm | 0.0017624 | 0.0017624 | 0.0017624 | 0.0 | 0.04 -Output | 0.00084376 | 0.00084376 | 0.00084376 | 0.0 | 0.02 -Modify | 0 | 0 | 0 | 0.0 | 0.00 -Other | | 0.00297 | | | 0.07 - -Nlocal: 249 ave 249 max 249 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 1479 ave 1479 max 1479 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 7936 ave 7936 max 7936 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -FullNghs: 15872 ave 15872 max 15872 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 15872 -Ave neighs/atom = 63.743 -Neighbor list builds = 4 -Dangerous builds = 0 -number of atoms = 249 -atomic volume (a.u.) = 121.863 -total energy (ry/atom) = -0.594428679162064 -pressure (gpa) = -1.15783109519801 -249 121.863 -148.012741111354 -1.15783109519801 -121.863 -0.594428679162064 -1.15783109519801 -Total wall time: 0:00:04 diff --git a/examples/USER/mofff/hkust1.data b/examples/USER/mofff/hkust1.data new file mode 100644 index 0000000000000000000000000000000000000000..34d2a0fdbf0ee7e2ccd11fa25284129f67a8a8a4 --- /dev/null +++ b/examples/USER/mofff/hkust1.data @@ -0,0 +1,5970 @@ +LAMMPS data file for mol object with MOF-FF params from www.mofplus.org + + 624 atoms + 792 bonds + 1536 angles + 2688 dihedrals + 288 impropers + 6 atom types + 6 bond types + 8 angle types + 10 dihedral types + 3 improper types + + 0.000000 26.440800 xlo xhi + 0.000000 26.440800 ylo yhi + 0.000000 26.440800 zlo zhi +0.0 0.0 0.0 xy xz yz + +Masses + + 1 12.0107 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW + 2 12.0107 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene + 3 1.0079 # buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene + 4 63.5460 # buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW + 5 15.9994 # buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW + 6 12.0107 # buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW + +Atoms + + 1 1 1 0.15000 8.511363 10.227518 8.511602 # buck6d->(c3_c2h1@ph)|benzene + 2 1 2 -0.12000 9.663229 9.663426 7.945909 # buck6d->(c3_c2h1@ph)|benzene + 3 1 1 0.15000 10.227441 8.511503 8.511368 # buck6d->(c3_c2h1@ph)|benzene + 4 1 2 -0.12000 9.663300 7.945929 9.663330 # buck6d->(c3_c2h1@ph)|benzene + 5 1 1 0.15000 8.511325 8.511388 10.227535 # buck6d->(c3_c2h1@ph)|benzene + 6 1 2 -0.12000 7.945739 9.663310 9.663470 # buck6d->(c3_c2h1@ph)|benzene + 7 1 3 0.12000 10.109919 10.110287 7.050035 # buck6d->(h1_c1@ph)|benzene + 8 1 3 0.12000 10.110158 7.050114 10.110112 # buck6d->(h1_c1@ph)|benzene + 9 1 3 0.12000 7.049841 10.110023 10.110259 # buck6d->(h1_c1@ph)|benzene + 10 1 4 1.06000 7.499041 0.000097 7.499090 # buck6d->(cu5_cu1o4@cu2)|CuPW + 11 1 4 1.06000 5.721043 0.000123 5.721760 # buck6d->(cu5_cu1o4@cu2)|CuPW + 12 1 5 -0.65000 4.840530 -1.387225 6.780507 # buck6d->(o2_c1cu1@co2)|CuPW + 13 1 6 0.62000 5.372812 -1.829110 7.847543 # buck6d->(c3_c1o2@co2)|CuPW + 14 1 5 -0.65000 6.440249 -1.387650 8.379219 # buck6d->(o2_c1cu1@co2)|CuPW + 15 1 5 -0.65000 4.841104 1.387548 6.780755 # buck6d->(o2_c1cu1@co2)|CuPW + 16 1 6 0.62000 5.373309 1.829329 7.847836 # buck6d->(c3_c1o2@co2)|CuPW + 17 1 5 -0.65000 6.440724 1.387871 8.379592 # buck6d->(o2_c1cu1@co2)|CuPW + 18 1 5 -0.65000 6.779575 -1.388074 4.841738 # buck6d->(o2_c1cu1@co2)|CuPW + 19 1 6 0.62000 7.847131 -1.829545 5.373362 # buck6d->(c3_c1o2@co2)|CuPW + 20 1 5 -0.65000 8.379258 -1.387691 6.440418 # buck6d->(o2_c1cu1@co2)|CuPW + 21 1 5 -0.65000 6.779295 1.388308 4.841441 # buck6d->(o2_c1cu1@co2)|CuPW + 22 1 6 0.62000 7.846839 1.829774 5.373125 # buck6d->(c3_c1o2@co2)|CuPW + 23 1 5 -0.65000 8.378904 1.387962 6.440208 # buck6d->(o2_c1cu1@co2)|CuPW + 24 1 1 0.15000 8.511270 -2.993007 -4.708908 # buck6d->(c3_c2h1@ph)|benzene + 25 1 2 -0.12000 9.663288 -3.557042 -5.274424 # buck6d->(c3_c2h1@ph)|benzene + 26 1 1 0.15000 10.227456 -4.709002 -4.708971 # buck6d->(c3_c2h1@ph)|benzene + 27 1 2 -0.12000 9.663390 -5.274613 -3.557016 # buck6d->(c3_c2h1@ph)|benzene + 28 1 1 0.15000 8.511535 -4.709026 -2.992754 # buck6d->(c3_c2h1@ph)|benzene + 29 1 2 -0.12000 7.945844 -3.557174 -3.556922 # buck6d->(c3_c2h1@ph)|benzene + 30 1 3 0.12000 10.110196 -3.110041 -6.170110 # buck6d->(h1_c1@ph)|benzene + 31 1 3 0.12000 10.110157 -6.170515 -3.110298 # buck6d->(h1_c1@ph)|benzene + 32 1 3 0.12000 7.049967 -3.110477 -3.110076 # buck6d->(h1_c1@ph)|benzene + 33 1 4 1.06000 7.498974 13.220478 -5.721375 # buck6d->(cu5_cu1o4@cu2)|CuPW + 34 1 4 1.06000 5.721723 -13.220289 -7.499457 # buck6d->(cu5_cu1o4@cu2)|CuPW + 35 1 5 -0.65000 6.780497 -11.832922 -8.379807 # buck6d->(o2_c1cu1@co2)|CuPW + 36 1 6 0.62000 7.847466 -11.391090 -7.847518 # buck6d->(c3_c1o2@co2)|CuPW + 37 1 5 -0.65000 8.379136 -11.832518 -6.779997 # buck6d->(o2_c1cu1@co2)|CuPW + 38 1 5 -0.65000 6.780824 11.833153 -8.379478 # buck6d->(o2_c1cu1@co2)|CuPW + 39 1 6 0.62000 7.847799 11.391293 -7.847244 # buck6d->(c3_c1o2@co2)|CuPW + 40 1 5 -0.65000 8.379519 11.832732 -6.779737 # buck6d->(o2_c1cu1@co2)|CuPW + 41 1 5 -0.65000 4.841857 -11.832064 -6.440915 # buck6d->(o2_c1cu1@co2)|CuPW + 42 1 6 0.62000 5.373386 -11.390666 -5.373363 # buck6d->(c3_c1o2@co2)|CuPW + 43 1 5 -0.65000 6.440464 -11.832509 -4.841135 # buck6d->(o2_c1cu1@co2)|CuPW + 44 1 5 -0.65000 4.841241 11.832334 -6.441203 # buck6d->(o2_c1cu1@co2)|CuPW + 45 1 6 0.62000 5.372825 11.390858 -5.373695 # buck6d->(c3_c1o2@co2)|CuPW + 46 1 5 -0.65000 6.439927 11.832729 -4.841529 # buck6d->(o2_c1cu1@co2)|CuPW + 47 1 1 0.15000 -2.992911 8.511494 -4.708848 # buck6d->(c3_c2h1@ph)|benzene + 48 1 2 -0.12000 -3.557058 9.663335 -5.274575 # buck6d->(c3_c2h1@ph)|benzene + 49 1 1 0.15000 -4.708922 10.227604 -4.709070 # buck6d->(c3_c2h1@ph)|benzene + 50 1 2 -0.12000 -5.274608 9.663473 -3.557176 # buck6d->(c3_c2h1@ph)|benzene + 51 1 1 0.15000 -4.709132 8.511529 -2.992979 # buck6d->(c3_c2h1@ph)|benzene + 52 1 2 -0.12000 -3.557187 7.945925 -3.556994 # buck6d->(c3_c2h1@ph)|benzene + 53 1 3 0.12000 -3.110356 10.109923 -6.170583 # buck6d->(h1_c1@ph)|benzene + 54 1 3 0.12000 -6.170511 10.110286 -3.110515 # buck6d->(h1_c1@ph)|benzene + 55 1 3 0.12000 -3.110480 7.050049 -3.110170 # buck6d->(h1_c1@ph)|benzene + 56 1 4 1.06000 -7.499259 -0.000141 -7.498795 # buck6d->(cu5_cu1o4@cu2)|CuPW + 57 1 4 1.06000 -5.721249 -0.000151 -5.721463 # buck6d->(cu5_cu1o4@cu2)|CuPW + 58 1 5 -0.65000 -4.841384 -1.387826 -6.780384 # buck6d->(o2_c1cu1@co2)|CuPW + 59 1 6 0.62000 -5.373470 -1.829621 -7.847437 # buck6d->(c3_c1o2@co2)|CuPW + 60 1 5 -0.65000 -6.441010 -1.388185 -8.379170 # buck6d->(o2_c1cu1@co2)|CuPW + 61 1 5 -0.65000 -4.841019 1.387474 -6.780240 # buck6d->(o2_c1cu1@co2)|CuPW + 62 1 6 0.62000 -5.373147 1.829327 -7.847262 # buck6d->(c3_c1o2@co2)|CuPW + 63 1 5 -0.65000 -6.440701 1.387868 -8.378943 # buck6d->(o2_c1cu1@co2)|CuPW + 64 1 5 -0.65000 -6.779589 -1.388034 -4.841127 # buck6d->(o2_c1cu1@co2)|CuPW + 65 1 6 0.62000 -7.847015 -1.829455 -5.372819 # buck6d->(c3_c1o2@co2)|CuPW + 66 1 5 -0.65000 -8.379225 -1.387675 -6.439938 # buck6d->(o2_c1cu1@co2)|CuPW + 67 1 5 -0.65000 -6.779875 1.387669 -4.841177 # buck6d->(o2_c1cu1@co2)|CuPW + 68 1 6 0.62000 -7.847291 1.829136 -5.372820 # buck6d->(c3_c1o2@co2)|CuPW + 69 1 5 -0.65000 -8.379551 1.387268 -6.439913 # buck6d->(o2_c1cu1@co2)|CuPW + 70 1 1 0.15000 -2.992840 -4.709207 8.511555 # buck6d->(c3_c2h1@ph)|benzene + 71 1 2 -0.12000 -3.556778 -3.557266 7.945804 # buck6d->(c3_c2h1@ph)|benzene + 72 1 1 0.15000 -4.708723 -2.992906 8.511175 # buck6d->(c3_c2h1@ph)|benzene + 73 1 2 -0.12000 -5.274412 -3.556902 9.663096 # buck6d->(c3_c2h1@ph)|benzene + 74 1 1 0.15000 -4.709052 -4.708822 10.227435 # buck6d->(c3_c2h1@ph)|benzene + 75 1 2 -0.12000 -3.557127 -5.274597 9.663476 # buck6d->(c3_c2h1@ph)|benzene + 76 1 3 0.12000 -3.109808 -3.110623 7.049972 # buck6d->(h1_c1@ph)|benzene + 77 1 3 0.12000 -6.170267 -3.109948 10.109738 # buck6d->(h1_c1@ph)|benzene + 78 1 3 0.12000 -3.110474 -6.170423 10.110455 # buck6d->(h1_c1@ph)|benzene + 79 1 4 1.06000 -7.499097 13.220344 5.721412 # buck6d->(cu5_cu1o4@cu2)|CuPW + 80 1 4 1.06000 -5.721189 -13.220461 7.498841 # buck6d->(cu5_cu1o4@cu2)|CuPW + 81 1 5 -0.65000 -4.841336 11.832778 6.439781 # buck6d->(o2_c1cu1@co2)|CuPW + 82 1 6 0.62000 -5.373437 11.391033 5.372626 # buck6d->(c3_c1o2@co2)|CuPW + 83 1 5 -0.65000 -6.440805 11.832560 4.840820 # buck6d->(o2_c1cu1@co2)|CuPW + 84 1 5 -0.65000 -4.840683 -11.832921 6.440310 # buck6d->(o2_c1cu1@co2)|CuPW + 85 1 6 0.62000 -5.372868 -11.391140 5.373201 # buck6d->(c3_c1o2@co2)|CuPW + 86 1 5 -0.65000 -6.440282 -11.832640 4.841484 # buck6d->(o2_c1cu1@co2)|CuPW + 87 1 5 -0.65000 -6.779436 11.832347 8.379275 # buck6d->(o2_c1cu1@co2)|CuPW + 88 1 6 0.62000 -7.846868 11.390837 7.847497 # buck6d->(c3_c1o2@co2)|CuPW + 89 1 5 -0.65000 -8.378901 11.832576 6.780336 # buck6d->(o2_c1cu1@co2)|CuPW + 90 1 5 -0.65000 -6.779945 -11.832475 8.378790 # buck6d->(o2_c1cu1@co2)|CuPW + 91 1 6 0.62000 -7.847394 -11.390970 7.847101 # buck6d->(c3_c1o2@co2)|CuPW + 92 1 5 -0.65000 -8.379521 -11.832777 6.779978 # buck6d->(o2_c1cu1@co2)|CuPW + 93 1 4 1.06000 7.498935 7.499097 -0.000096 # buck6d->(cu5_cu1o4@cu2)|CuPW + 94 1 4 1.06000 5.721634 5.721055 -0.000027 # buck6d->(cu5_cu1o4@cu2)|CuPW + 95 1 5 -0.65000 6.780060 4.840449 -1.387512 # buck6d->(o2_c1cu1@co2)|CuPW + 96 1 6 0.62000 7.847107 5.372757 -1.829320 # buck6d->(c3_c1o2@co2)|CuPW + 97 1 5 -0.65000 8.378716 6.440237 -1.387898 # buck6d->(o2_c1cu1@co2)|CuPW + 98 1 5 -0.65000 6.780809 4.841177 1.387428 # buck6d->(o2_c1cu1@co2)|CuPW + 99 1 6 0.62000 7.847879 5.373372 1.829219 # buck6d->(c3_c1o2@co2)|CuPW + 100 1 5 -0.65000 8.379591 6.440817 1.387706 # buck6d->(o2_c1cu1@co2)|CuPW + 101 1 5 -0.65000 4.841688 6.779724 -1.388098 # buck6d->(o2_c1cu1@co2)|CuPW + 102 1 6 0.62000 5.373262 7.847219 -1.829573 # buck6d->(c3_c1o2@co2)|CuPW + 103 1 5 -0.65000 6.440362 8.379445 -1.387779 # buck6d->(o2_c1cu1@co2)|CuPW + 104 1 5 -0.65000 4.841333 6.779413 1.387965 # buck6d->(o2_c1cu1@co2)|CuPW + 105 1 6 0.62000 5.372968 7.846900 1.829427 # buck6d->(c3_c1o2@co2)|CuPW + 106 1 5 -0.65000 6.440067 8.379074 1.387611 # buck6d->(o2_c1cu1@co2)|CuPW + 107 1 4 1.06000 -0.000100 5.721669 5.721032 # buck6d->(cu5_cu1o4@cu2)|CuPW + 108 1 4 1.06000 -0.000003 7.498948 7.499090 # buck6d->(cu5_cu1o4@cu2)|CuPW + 109 1 5 -0.65000 -1.387770 6.440216 8.379026 # buck6d->(o2_c1cu1@co2)|CuPW + 110 1 6 0.62000 -1.829603 5.373135 7.846857 # buck6d->(c3_c1o2@co2)|CuPW + 111 1 5 -0.65000 -1.388227 4.841508 6.779327 # buck6d->(o2_c1cu1@co2)|CuPW + 112 1 5 -0.65000 1.387578 6.439913 8.379094 # buck6d->(o2_c1cu1@co2)|CuPW + 113 1 6 0.62000 1.829462 5.372843 7.846910 # buck6d->(c3_c1o2@co2)|CuPW + 114 1 5 -0.65000 1.387989 4.841219 6.779413 # buck6d->(o2_c1cu1@co2)|CuPW + 115 1 5 -0.65000 -1.387839 8.379652 6.440817 # buck6d->(o2_c1cu1@co2)|CuPW + 116 1 6 0.62000 -1.829317 7.847910 5.373340 # buck6d->(c3_c1o2@co2)|CuPW + 117 1 5 -0.65000 -1.387482 6.780886 4.841157 # buck6d->(o2_c1cu1@co2)|CuPW + 118 1 5 -0.65000 1.387882 8.379065 6.440566 # buck6d->(o2_c1cu1@co2)|CuPW + 119 1 6 0.62000 1.829245 7.847386 5.373025 # buck6d->(c3_c1o2@co2)|CuPW + 120 1 5 -0.65000 1.387369 6.780401 4.840793 # buck6d->(o2_c1cu1@co2)|CuPW + 121 1 4 1.06000 -5.721500 7.499153 13.220484 # buck6d->(cu5_cu1o4@cu2)|CuPW + 122 1 4 1.06000 -7.498868 5.721192 -13.220262 # buck6d->(cu5_cu1o4@cu2)|CuPW + 123 1 5 -0.65000 -6.439922 4.841089 11.832946 # buck6d->(o2_c1cu1@co2)|CuPW + 124 1 6 0.62000 -5.372793 5.373245 11.391120 # buck6d->(c3_c1o2@co2)|CuPW + 125 1 5 -0.65000 -4.841096 6.440660 11.832631 # buck6d->(o2_c1cu1@co2)|CuPW + 126 1 5 -0.65000 -6.440187 4.840996 -11.832629 # buck6d->(o2_c1cu1@co2)|CuPW + 127 1 6 0.62000 -5.373059 5.373161 -11.390863 # buck6d->(c3_c1o2@co2)|CuPW + 128 1 5 -0.65000 -4.841384 6.440612 -11.832335 # buck6d->(o2_c1cu1@co2)|CuPW + 129 1 5 -0.65000 -8.379426 6.779471 11.832581 # buck6d->(o2_c1cu1@co2)|CuPW + 130 1 6 0.62000 -7.847682 7.846929 11.391067 # buck6d->(c3_c1o2@co2)|CuPW + 131 1 5 -0.65000 -6.780577 8.379017 11.832865 # buck6d->(o2_c1cu1@co2)|CuPW + 132 1 5 -0.65000 -8.378810 6.779928 -11.832332 # buck6d->(o2_c1cu1@co2)|CuPW + 133 1 6 0.62000 -7.847144 7.847392 -11.390870 # buck6d->(c3_c1o2@co2)|CuPW + 134 1 5 -0.65000 -6.780036 8.379568 -11.832670 # buck6d->(o2_c1cu1@co2)|CuPW + 135 1 4 1.06000 -13.220418 -7.499243 5.721546 # buck6d->(cu5_cu1o4@cu2)|CuPW + 136 1 4 1.06000 13.220417 -5.721179 7.498824 # buck6d->(cu5_cu1o4@cu2)|CuPW + 137 1 5 -0.65000 -11.832889 -4.841212 6.439769 # buck6d->(o2_c1cu1@co2)|CuPW + 138 1 6 0.62000 -11.391005 -5.373398 5.372742 # buck6d->(c3_c1o2@co2)|CuPW + 139 1 5 -0.65000 -11.832425 -6.440917 4.841067 # buck6d->(o2_c1cu1@co2)|CuPW + 140 1 5 -0.65000 11.832850 -4.841033 6.440096 # buck6d->(o2_c1cu1@co2)|CuPW + 141 1 6 0.62000 11.391015 -5.373241 5.373065 # buck6d->(c3_c1o2@co2)|CuPW + 142 1 5 -0.65000 11.832418 -6.440767 4.841407 # buck6d->(o2_c1cu1@co2)|CuPW + 143 1 5 -0.65000 -11.832415 -6.779606 8.379007 # buck6d->(o2_c1cu1@co2)|CuPW + 144 1 6 0.62000 -11.391012 -7.847121 7.847366 # buck6d->(c3_c1o2@co2)|CuPW + 145 1 5 -0.65000 -11.832851 -8.379345 6.780323 # buck6d->(o2_c1cu1@co2)|CuPW + 146 1 5 -0.65000 11.832446 -6.779531 8.379277 # buck6d->(o2_c1cu1@co2)|CuPW + 147 1 6 0.62000 11.391002 -7.847026 7.847626 # buck6d->(c3_c1o2@co2)|CuPW + 148 1 5 -0.65000 11.832863 -8.379236 6.780574 # buck6d->(o2_c1cu1@co2)|CuPW + 149 1 4 1.06000 -5.721201 -5.721523 0.000071 # buck6d->(cu5_cu1o4@cu2)|CuPW + 150 1 4 1.06000 -7.499230 -7.498822 0.000120 # buck6d->(cu5_cu1o4@cu2)|CuPW + 151 1 5 -0.65000 -8.379037 -6.439774 1.387713 # buck6d->(o2_c1cu1@co2)|CuPW + 152 1 6 0.62000 -7.846871 -5.372683 1.829509 # buck6d->(c3_c1o2@co2)|CuPW + 153 1 5 -0.65000 -6.779414 -4.840980 1.388036 # buck6d->(o2_c1cu1@co2)|CuPW + 154 1 5 -0.65000 -8.379706 -6.440235 -1.387483 # buck6d->(o2_c1cu1@co2)|CuPW + 155 1 6 0.62000 -7.847468 -5.373190 -1.829340 # buck6d->(c3_c1o2@co2)|CuPW + 156 1 5 -0.65000 -6.779967 -4.841576 -1.387880 # buck6d->(o2_c1cu1@co2)|CuPW + 157 1 5 -0.65000 -6.440907 -8.379136 1.388117 # buck6d->(o2_c1cu1@co2)|CuPW + 158 1 6 0.62000 -5.373424 -7.847461 1.829569 # buck6d->(c3_c1o2@co2)|CuPW + 159 1 5 -0.65000 -4.841254 -6.780374 1.387773 # buck6d->(o2_c1cu1@co2)|CuPW + 160 1 5 -0.65000 -6.440605 -8.378984 -1.387845 # buck6d->(o2_c1cu1@co2)|CuPW + 161 1 6 0.62000 -5.373138 -7.847371 -1.829336 # buck6d->(c3_c1o2@co2)|CuPW + 162 1 5 -0.65000 -4.840896 -6.780300 -1.387486 # buck6d->(o2_c1cu1@co2)|CuPW + 163 1 4 1.06000 0.000023 -7.498980 -7.499117 # buck6d->(cu5_cu1o4@cu2)|CuPW + 164 1 4 1.06000 0.000084 -5.721700 -5.721060 # buck6d->(cu5_cu1o4@cu2)|CuPW + 165 1 5 -0.65000 -1.387329 -6.780659 -4.840773 # buck6d->(o2_c1cu1@co2)|CuPW + 166 1 6 0.62000 -1.829224 -7.847682 -5.373024 # buck6d->(c3_c1o2@co2)|CuPW + 167 1 5 -0.65000 -1.387763 -8.379347 -6.440498 # buck6d->(o2_c1cu1@co2)|CuPW + 168 1 5 -0.65000 1.387524 -6.780535 -4.841045 # buck6d->(o2_c1cu1@co2)|CuPW + 169 1 6 0.62000 1.829335 -7.847578 -5.373295 # buck6d->(c3_c1o2@co2)|CuPW + 170 1 5 -0.65000 1.387948 -8.379247 -6.440785 # buck6d->(o2_c1cu1@co2)|CuPW + 171 1 5 -0.65000 -1.388059 -4.841323 -6.779208 # buck6d->(o2_c1cu1@co2)|CuPW + 172 1 6 0.62000 -1.829480 -5.372976 -7.846749 # buck6d->(c3_c1o2@co2)|CuPW + 173 1 5 -0.65000 -1.387659 -6.440033 -8.378897 # buck6d->(o2_c1cu1@co2)|CuPW + 174 1 5 -0.65000 1.388158 -4.841621 -6.779683 # buck6d->(o2_c1cu1@co2)|CuPW + 175 1 6 0.62000 1.829588 -5.373232 -7.847238 # buck6d->(c3_c1o2@co2)|CuPW + 176 1 5 -0.65000 1.387697 -6.440257 -8.379429 # buck6d->(o2_c1cu1@co2)|CuPW + 177 1 4 1.06000 5.721101 -7.498732 -13.220510 # buck6d->(cu5_cu1o4@cu2)|CuPW + 178 1 4 1.06000 7.499124 -5.721413 13.220216 # buck6d->(cu5_cu1o4@cu2)|CuPW + 179 1 5 -0.65000 8.379506 -6.780087 -11.832904 # buck6d->(o2_c1cu1@co2)|CuPW + 180 1 6 0.62000 7.847282 -7.847173 -11.391015 # buck6d->(c3_c1o2@co2)|CuPW + 181 1 5 -0.65000 6.779800 -8.378757 -11.832483 # buck6d->(o2_c1cu1@co2)|CuPW + 182 1 5 -0.65000 8.378897 -6.780279 11.832493 # buck6d->(o2_c1cu1@co2)|CuPW + 183 1 6 0.62000 7.846732 -7.847418 11.390732 # buck6d->(c3_c1o2@co2)|CuPW + 184 1 5 -0.65000 6.779278 -8.379076 11.832184 # buck6d->(o2_c1cu1@co2)|CuPW + 185 1 5 -0.65000 6.440596 -4.841116 -11.832759 # buck6d->(o2_c1cu1@co2)|CuPW + 186 1 6 0.62000 5.373106 -5.372836 -11.391273 # buck6d->(c3_c1o2@co2)|CuPW + 187 1 5 -0.65000 4.840898 -6.439842 -11.833101 # buck6d->(o2_c1cu1@co2)|CuPW + 188 1 5 -0.65000 6.440669 -4.841149 11.832379 # buck6d->(o2_c1cu1@co2)|CuPW + 189 1 6 0.62000 5.373163 -5.372900 11.390944 # buck6d->(c3_c1o2@co2)|CuPW + 190 1 5 -0.65000 4.840989 -6.439912 11.832746 # buck6d->(o2_c1cu1@co2)|CuPW + 191 1 4 1.06000 13.220340 5.721208 -7.498793 # buck6d->(cu5_cu1o4@cu2)|CuPW + 192 1 4 1.06000 -13.220340 7.499268 -5.721521 # buck6d->(cu5_cu1o4@cu2)|CuPW + 193 1 5 -0.65000 -11.832779 8.379301 -6.780392 # buck6d->(o2_c1cu1@co2)|CuPW + 194 1 6 0.62000 -11.390960 7.847121 -7.847394 # buck6d->(c3_c1o2@co2)|CuPW + 195 1 5 -0.65000 -11.832399 6.779562 -8.379065 # buck6d->(o2_c1cu1@co2)|CuPW + 196 1 5 -0.65000 11.832877 8.379317 -6.780505 # buck6d->(o2_c1cu1@co2)|CuPW + 197 1 6 0.62000 11.390986 7.847146 -7.847504 # buck6d->(c3_c1o2@co2)|CuPW + 198 1 5 -0.65000 11.832409 6.779601 -8.379192 # buck6d->(o2_c1cu1@co2)|CuPW + 199 1 5 -0.65000 -11.832370 6.440538 -4.841524 # buck6d->(o2_c1cu1@co2)|CuPW + 200 1 6 0.62000 -11.390986 5.373029 -5.373112 # buck6d->(c3_c1o2@co2)|CuPW + 201 1 5 -0.65000 -11.832919 4.840757 -6.440147 # buck6d->(o2_c1cu1@co2)|CuPW + 202 1 5 -0.65000 11.832417 6.441155 -4.840907 # buck6d->(o2_c1cu1@co2)|CuPW + 203 1 6 0.62000 11.390962 5.373697 -5.372577 # buck6d->(c3_c1o2@co2)|CuPW + 204 1 5 -0.65000 11.832768 4.841515 -6.439680 # buck6d->(o2_c1cu1@co2)|CuPW + 205 1 1 0.15000 10.227460 8.511311 -8.511565 # buck6d->(c3_c2h1@ph)|benzene + 206 1 2 -0.12000 9.663493 9.663225 -7.945786 # buck6d->(c3_c2h1@ph)|benzene + 207 1 1 0.15000 8.511666 10.227623 -8.511244 # buck6d->(c3_c2h1@ph)|benzene + 208 1 2 -0.12000 7.945801 9.663629 -9.663104 # buck6d->(c3_c2h1@ph)|benzene + 209 1 1 0.15000 8.511115 8.511679 -10.227423 # buck6d->(c3_c2h1@ph)|benzene + 210 1 2 -0.12000 9.663095 7.945977 -9.663492 # buck6d->(c3_c2h1@ph)|benzene + 211 1 3 0.12000 10.110332 10.109755 -7.049822 # buck6d->(h1_c1@ph)|benzene + 212 1 3 0.12000 7.049903 10.110573 -10.109653 # buck6d->(h1_c1@ph)|benzene + 213 1 3 0.12000 10.109766 7.050179 -10.110507 # buck6d->(h1_c1@ph)|benzene + 214 1 4 1.06000 7.498802 -0.000109 -7.499331 # buck6d->(cu5_cu1o4@cu2)|CuPW + 215 1 4 1.06000 5.721290 -0.000080 -5.721511 # buck6d->(cu5_cu1o4@cu2)|CuPW + 216 1 5 -0.65000 6.779695 -1.387998 -4.841239 # buck6d->(o2_c1cu1@co2)|CuPW + 217 1 6 0.62000 7.846913 -1.829736 -5.373269 # buck6d->(c3_c1o2@co2)|CuPW + 218 1 5 -0.65000 8.378637 -1.388230 -6.440685 # buck6d->(o2_c1cu1@co2)|CuPW + 219 1 5 -0.65000 6.780240 1.387762 -4.841626 # buck6d->(o2_c1cu1@co2)|CuPW + 220 1 6 0.62000 7.847478 1.829541 -5.373610 # buck6d->(c3_c1o2@co2)|CuPW + 221 1 5 -0.65000 8.379241 1.387975 -6.440983 # buck6d->(o2_c1cu1@co2)|CuPW + 222 1 5 -0.65000 4.841159 -1.387774 -6.780242 # buck6d->(o2_c1cu1@co2)|CuPW + 223 1 6 0.62000 5.373009 -1.829308 -7.847604 # buck6d->(c3_c1o2@co2)|CuPW + 224 1 5 -0.65000 6.440140 -1.387579 -8.379712 # buck6d->(o2_c1cu1@co2)|CuPW + 225 1 5 -0.65000 4.840791 1.387572 -6.779979 # buck6d->(o2_c1cu1@co2)|CuPW + 226 1 6 0.62000 5.372677 1.829102 -7.847333 # buck6d->(c3_c1o2@co2)|CuPW + 227 1 5 -0.65000 6.439804 1.387330 -8.379403 # buck6d->(o2_c1cu1@co2)|CuPW + 228 1 1 0.15000 10.227566 -4.709048 4.708958 # buck6d->(c3_c2h1@ph)|benzene + 229 1 2 -0.12000 9.663406 -3.557113 5.274545 # buck6d->(c3_c2h1@ph)|benzene + 230 1 1 0.15000 8.511418 -2.992944 4.709068 # buck6d->(c3_c2h1@ph)|benzene + 231 1 2 -0.12000 7.945965 -3.557087 3.557099 # buck6d->(c3_c2h1@ph)|benzene + 232 1 1 0.15000 8.511576 -4.708996 2.992933 # buck6d->(c3_c2h1@ph)|benzene + 233 1 2 -0.12000 9.663454 -5.274625 3.557061 # buck6d->(c3_c2h1@ph)|benzene + 234 1 3 0.12000 10.110260 -3.110333 6.170363 # buck6d->(h1_c1@ph)|benzene + 235 1 3 0.12000 7.050152 -3.110280 3.110247 # buck6d->(h1_c1@ph)|benzene + 236 1 3 0.12000 10.110221 -6.170504 3.110276 # buck6d->(h1_c1@ph)|benzene + 237 1 4 1.06000 7.499068 -13.220525 5.721472 # buck6d->(cu5_cu1o4@cu2)|CuPW + 238 1 4 1.06000 5.721639 13.220300 7.499368 # buck6d->(cu5_cu1o4@cu2)|CuPW + 239 1 5 -0.65000 6.780240 11.832821 8.379797 # buck6d->(o2_c1cu1@co2)|CuPW + 240 1 6 0.62000 7.847294 11.391067 7.847652 # buck6d->(c3_c1o2@co2)|CuPW + 241 1 5 -0.65000 8.379096 11.832548 6.780199 # buck6d->(o2_c1cu1@co2)|CuPW + 242 1 5 -0.65000 6.780742 -11.833071 8.379438 # buck6d->(o2_c1cu1@co2)|CuPW + 243 1 6 0.62000 7.847802 -11.391294 7.847352 # buck6d->(c3_c1o2@co2)|CuPW + 244 1 5 -0.65000 8.379662 -11.832856 6.779934 # buck6d->(o2_c1cu1@co2)|CuPW + 245 1 5 -0.65000 4.841679 11.832140 6.440746 # buck6d->(o2_c1cu1@co2)|CuPW + 246 1 6 0.62000 5.373318 11.390629 5.373325 # buck6d->(c3_c1o2@co2)|CuPW + 247 1 5 -0.65000 6.440532 11.832394 4.841224 # buck6d->(o2_c1cu1@co2)|CuPW + 248 1 5 -0.65000 4.841360 -11.832387 6.440958 # buck6d->(o2_c1cu1@co2)|CuPW + 249 1 6 0.62000 5.373028 -11.390862 5.373563 # buck6d->(c3_c1o2@co2)|CuPW + 250 1 5 -0.65000 6.440253 -11.832658 4.841490 # buck6d->(o2_c1cu1@co2)|CuPW + 251 1 1 0.15000 -2.992926 8.511771 4.709197 # buck6d->(c3_c2h1@ph)|benzene + 252 1 2 -0.12000 -3.556843 7.945883 3.557300 # buck6d->(c3_c2h1@ph)|benzene + 253 1 1 0.15000 -4.708766 8.511148 2.992869 # buck6d->(c3_c2h1@ph)|benzene + 254 1 2 -0.12000 -5.274594 9.663071 3.556765 # buck6d->(c3_c2h1@ph)|benzene + 255 1 1 0.15000 -4.709267 10.227500 4.708672 # buck6d->(c3_c2h1@ph)|benzene + 256 1 2 -0.12000 -3.557372 9.663629 5.274532 # buck6d->(c3_c2h1@ph)|benzene + 257 1 3 0.12000 -3.109849 7.049988 3.110802 # buck6d->(h1_c1@ph)|benzene + 258 1 3 0.12000 -6.170479 10.109610 3.109791 # buck6d->(h1_c1@ph)|benzene + 259 1 3 0.12000 -3.110888 10.110587 6.170464 # buck6d->(h1_c1@ph)|benzene + 260 1 4 1.06000 -7.498966 0.000065 7.499083 # buck6d->(cu5_cu1o4@cu2)|CuPW + 261 1 4 1.06000 -5.721540 0.000055 5.721171 # buck6d->(cu5_cu1o4@cu2)|CuPW + 262 1 5 -0.65000 -6.780596 -1.387504 4.841296 # buck6d->(o2_c1cu1@co2)|CuPW + 263 1 6 0.62000 -7.847683 -1.829257 5.373354 # buck6d->(c3_c1o2@co2)|CuPW + 264 1 5 -0.65000 -8.379528 -1.387726 6.440789 # buck6d->(o2_c1cu1@co2)|CuPW + 265 1 5 -0.65000 -6.780057 1.387605 4.840649 # buck6d->(o2_c1cu1@co2)|CuPW + 266 1 6 0.62000 -7.847115 1.829369 5.372787 # buck6d->(c3_c1o2@co2)|CuPW + 267 1 5 -0.65000 -8.378881 1.387864 6.440254 # buck6d->(o2_c1cu1@co2)|CuPW + 268 1 5 -0.65000 -4.841088 -1.387887 6.779536 # buck6d->(o2_c1cu1@co2)|CuPW + 269 1 6 0.62000 -5.372790 -1.829430 7.846886 # buck6d->(c3_c1o2@co2)|CuPW + 270 1 5 -0.65000 -6.440014 -1.387659 8.379000 # buck6d->(o2_c1cu1@co2)|CuPW + 271 1 5 -0.65000 -4.841684 1.388065 6.779901 # buck6d->(o2_c1cu1@co2)|CuPW + 272 1 6 0.62000 -5.373317 1.829558 7.847292 # buck6d->(c3_c1o2@co2)|CuPW + 273 1 5 -0.65000 -6.440519 1.387801 8.379470 # buck6d->(o2_c1cu1@co2)|CuPW + 274 1 1 0.15000 -4.709142 -2.992974 -8.511608 # buck6d->(c3_c2h1@ph)|benzene + 275 1 2 -0.12000 -3.557176 -3.556874 -7.945827 # buck6d->(c3_c2h1@ph)|benzene + 276 1 1 0.15000 -2.992848 -4.708824 -8.511121 # buck6d->(c3_c2h1@ph)|benzene + 277 1 2 -0.12000 -3.556757 -5.274582 -9.663088 # buck6d->(c3_c2h1@ph)|benzene + 278 1 1 0.15000 -4.708656 -4.709208 -10.227517 # buck6d->(c3_c2h1@ph)|benzene + 279 1 2 -0.12000 -5.274438 -3.557307 -9.663551 # buck6d->(c3_c2h1@ph)|benzene + 280 1 3 0.12000 -3.110505 -3.109812 -7.050050 # buck6d->(h1_c1@ph)|benzene + 281 1 3 0.12000 -3.109781 -6.170435 -10.109684 # buck6d->(h1_c1@ph)|benzene + 282 1 3 0.12000 -6.170273 -3.110669 -10.110545 # buck6d->(h1_c1@ph)|benzene + 283 1 4 1.06000 -5.721424 -13.220256 -7.499080 # buck6d->(cu5_cu1o4@cu2)|CuPW + 284 1 4 1.06000 -7.498863 13.220549 -5.721174 # buck6d->(cu5_cu1o4@cu2)|CuPW + 285 1 5 -0.65000 -6.439959 11.833056 -4.840957 # buck6d->(o2_c1cu1@co2)|CuPW + 286 1 6 0.62000 -5.372908 11.391258 -5.373051 # buck6d->(c3_c1o2@co2)|CuPW + 287 1 5 -0.65000 -4.841086 11.832798 -6.440498 # buck6d->(o2_c1cu1@co2)|CuPW + 288 1 5 -0.65000 -6.440255 -11.832657 -4.840937 # buck6d->(o2_c1cu1@co2)|CuPW + 289 1 6 0.62000 -5.373196 -11.390940 -5.373036 # buck6d->(c3_c1o2@co2)|CuPW + 290 1 5 -0.65000 -4.841379 -11.832425 -6.440510 # buck6d->(o2_c1cu1@co2)|CuPW + 291 1 5 -0.65000 -8.379137 11.832590 -6.779659 # buck6d->(o2_c1cu1@co2)|CuPW + 292 1 6 0.62000 -7.847460 11.391067 -7.847019 # buck6d->(c3_c1o2@co2)|CuPW + 293 1 5 -0.65000 -6.780252 11.832858 -8.379163 # buck6d->(o2_c1cu1@co2)|CuPW + 294 1 5 -0.65000 -8.378797 -11.832267 -6.779822 # buck6d->(o2_c1cu1@co2)|CuPW + 295 1 6 0.62000 -7.847134 -11.390772 -7.847196 # buck6d->(c3_c1o2@co2)|CuPW + 296 1 5 -0.65000 -6.779924 -11.832507 -8.379363 # buck6d->(o2_c1cu1@co2)|CuPW + 297 1 4 1.06000 -0.000010 7.499438 -7.498626 # buck6d->(cu5_cu1o4@cu2)|CuPW + 298 1 4 1.06000 0.000010 5.721381 -5.721351 # buck6d->(cu5_cu1o4@cu2)|CuPW + 299 1 5 -0.65000 -1.387801 4.841250 -6.779912 # buck6d->(o2_c1cu1@co2)|CuPW + 300 1 6 0.62000 -1.829646 5.373411 -7.846952 # buck6d->(c3_c1o2@co2)|CuPW + 301 1 5 -0.65000 -1.388259 6.441006 -8.378542 # buck6d->(o2_c1cu1@co2)|CuPW + 302 1 5 -0.65000 1.387788 4.841580 -6.780471 # buck6d->(o2_c1cu1@co2)|CuPW + 303 1 6 0.62000 1.829665 5.373674 -7.847533 # buck6d->(c3_c1o2@co2)|CuPW + 304 1 5 -0.65000 1.388188 6.441224 -8.379182 # buck6d->(o2_c1cu1@co2)|CuPW + 305 1 5 -0.65000 -1.387766 6.780039 -4.841004 # buck6d->(o2_c1cu1@co2)|CuPW + 306 1 6 0.62000 -1.829202 7.847504 -5.372670 # buck6d->(c3_c1o2@co2)|CuPW + 307 1 5 -0.65000 -1.387295 8.379799 -6.439675 # buck6d->(o2_c1cu1@co2)|CuPW + 308 1 5 -0.65000 1.387775 6.779674 -4.840895 # buck6d->(o2_c1cu1@co2)|CuPW + 309 1 6 0.62000 1.829182 7.847134 -5.372619 # buck6d->(c3_c1o2@co2)|CuPW + 310 1 5 -0.65000 1.387369 8.379378 -6.439651 # buck6d->(o2_c1cu1@co2)|CuPW + 311 1 4 1.06000 -13.220410 -7.498949 -5.721227 # buck6d->(cu5_cu1o4@cu2)|CuPW + 312 1 4 1.06000 13.220309 -5.721668 -7.499283 # buck6d->(cu5_cu1o4@cu2)|CuPW + 313 1 5 -0.65000 -11.833003 -6.780528 -8.379427 # buck6d->(o2_c1cu1@co2)|CuPW + 314 1 6 0.62000 -11.391125 -7.847567 -7.847181 # buck6d->(c3_c1o2@co2)|CuPW + 315 1 5 -0.65000 -11.832518 -8.379221 -6.779694 # buck6d->(o2_c1cu1@co2)|CuPW + 316 1 5 -0.65000 11.832909 -6.780553 -8.379442 # buck6d->(o2_c1cu1@co2)|CuPW + 317 1 6 0.62000 11.391063 -7.847628 -7.847167 # buck6d->(c3_c1o2@co2)|CuPW + 318 1 5 -0.65000 11.832501 -8.379270 -6.779728 # buck6d->(o2_c1cu1@co2)|CuPW + 319 1 5 -0.65000 -11.832449 -4.841200 -6.440983 # buck6d->(o2_c1cu1@co2)|CuPW + 320 1 6 0.62000 -11.390961 -5.372861 -5.373458 # buck6d->(c3_c1o2@co2)|CuPW + 321 1 5 -0.65000 -11.832801 -6.439904 -4.841301 # buck6d->(o2_c1cu1@co2)|CuPW + 322 1 5 -0.65000 11.832196 -4.841640 -6.440822 # buck6d->(o2_c1cu1@co2)|CuPW + 323 1 6 0.62000 11.390813 -5.373270 -5.373232 # buck6d->(c3_c1o2@co2)|CuPW + 324 1 5 -0.65000 11.832670 -6.440280 -4.841060 # buck6d->(o2_c1cu1@co2)|CuPW + 325 1 4 1.06000 0.000030 -7.499270 7.498800 # buck6d->(cu5_cu1o4@cu2)|CuPW + 326 1 4 1.06000 -0.000028 -5.721208 5.721520 # buck6d->(cu5_cu1o4@cu2)|CuPW + 327 1 5 -0.65000 -1.387619 -4.841330 6.780412 # buck6d->(o2_c1cu1@co2)|CuPW + 328 1 6 0.62000 -1.829436 -5.373528 7.847480 # buck6d->(c3_c1o2@co2)|CuPW + 329 1 5 -0.65000 -1.388035 -6.441034 8.379128 # buck6d->(o2_c1cu1@co2)|CuPW + 330 1 5 -0.65000 1.387492 -4.840985 6.780379 # buck6d->(o2_c1cu1@co2)|CuPW + 331 1 6 0.62000 1.829389 -5.373244 7.847456 # buck6d->(c3_c1o2@co2)|CuPW + 332 1 5 -0.65000 1.387963 -6.440704 8.379062 # buck6d->(o2_c1cu1@co2)|CuPW + 333 1 5 -0.65000 -1.387919 -6.779725 4.841184 # buck6d->(o2_c1cu1@co2)|CuPW + 334 1 6 0.62000 -1.829339 -7.847253 5.372857 # buck6d->(c3_c1o2@co2)|CuPW + 335 1 5 -0.65000 -1.387437 -8.379461 6.439857 # buck6d->(o2_c1cu1@co2)|CuPW + 336 1 5 -0.65000 1.387970 -6.779478 4.841197 # buck6d->(o2_c1cu1@co2)|CuPW + 337 1 6 0.62000 1.829392 -7.847032 5.372900 # buck6d->(c3_c1o2@co2)|CuPW + 338 1 5 -0.65000 1.387598 -8.379192 6.439910 # buck6d->(o2_c1cu1@co2)|CuPW + 339 1 4 1.06000 13.220449 5.721503 7.499118 # buck6d->(cu5_cu1o4@cu2)|CuPW + 340 1 4 1.06000 -13.220348 7.498781 5.721059 # buck6d->(cu5_cu1o4@cu2)|CuPW + 341 1 5 -0.65000 -11.832864 6.439763 4.841039 # buck6d->(o2_c1cu1@co2)|CuPW + 342 1 6 0.62000 -11.391025 5.372737 5.373238 # buck6d->(c3_c1o2@co2)|CuPW + 343 1 5 -0.65000 -11.832477 4.841034 6.440735 # buck6d->(o2_c1cu1@co2)|CuPW + 344 1 5 -0.65000 11.833025 6.439854 4.840996 # buck6d->(o2_c1cu1@co2)|CuPW + 345 1 6 0.62000 11.391159 5.372844 5.373227 # buck6d->(c3_c1o2@co2)|CuPW + 346 1 5 -0.65000 11.832558 4.841161 6.440735 # buck6d->(o2_c1cu1@co2)|CuPW + 347 1 5 -0.65000 -11.832247 8.379174 6.779233 # buck6d->(o2_c1cu1@co2)|CuPW + 348 1 6 0.62000 -11.390851 7.847509 7.846762 # buck6d->(c3_c1o2@co2)|CuPW + 349 1 5 -0.65000 -11.832690 6.780445 8.378912 # buck6d->(o2_c1cu1@co2)|CuPW + 350 1 5 -0.65000 11.832371 8.379020 6.779574 # buck6d->(o2_c1cu1@co2)|CuPW + 351 1 6 0.62000 11.390927 7.847385 7.847114 # buck6d->(c3_c1o2@co2)|CuPW + 352 1 5 -0.65000 11.832813 6.780349 8.379283 # buck6d->(o2_c1cu1@co2)|CuPW + 353 1 1 0.15000 -10.227492 8.511619 8.511151 # buck6d->(c3_c2h1@ph)|benzene + 354 1 2 -0.12000 -9.663604 7.945829 9.663108 # buck6d->(c3_c2h1@ph)|benzene + 355 1 1 0.15000 -8.511709 8.511159 10.227540 # buck6d->(c3_c2h1@ph)|benzene + 356 1 2 -0.12000 -7.945900 9.663082 9.663594 # buck6d->(c3_c2h1@ph)|benzene + 357 1 1 0.15000 -8.511196 10.227457 8.511650 # buck6d->(c3_c2h1@ph)|benzene + 358 1 2 -0.12000 -9.663148 9.663574 7.945871 # buck6d->(c3_c2h1@ph)|benzene + 359 1 3 0.12000 -10.110612 7.049979 10.109690 # buck6d->(h1_c1@ph)|benzene + 360 1 3 0.12000 -7.050060 10.109680 10.110600 # buck6d->(h1_c1@ph)|benzene + 361 1 3 0.12000 -10.109816 10.110647 7.050096 # buck6d->(h1_c1@ph)|benzene + 362 1 1 0.15000 -10.227474 -4.708764 -4.709211 # buck6d->(c3_c2h1@ph)|benzene + 363 1 2 -0.12000 -9.663153 -3.556847 -5.274570 # buck6d->(c3_c2h1@ph)|benzene + 364 1 1 0.15000 -8.511250 -2.992887 -4.708810 # buck6d->(c3_c2h1@ph)|benzene + 365 1 2 -0.12000 -7.945794 -3.557149 -3.556888 # buck6d->(c3_c2h1@ph)|benzene + 366 1 1 0.15000 -8.511532 -4.709040 -2.992888 # buck6d->(c3_c2h1@ph)|benzene + 367 1 2 -0.12000 -9.663448 -5.274443 -3.557247 # buck6d->(c3_c2h1@ph)|benzene + 368 1 3 0.12000 -10.109784 -3.109891 -6.170431 # buck6d->(h1_c1@ph)|benzene + 369 1 3 0.12000 -7.049932 -3.110483 -3.109989 # buck6d->(h1_c1@ph)|benzene + 370 1 3 0.12000 -10.110364 -6.170308 -3.110621 # buck6d->(h1_c1@ph)|benzene + 371 1 1 0.15000 2.992750 8.511225 -4.708744 # buck6d->(c3_c2h1@ph)|benzene + 372 1 2 -0.12000 3.556734 9.663083 -5.274610 # buck6d->(c3_c2h1@ph)|benzene + 373 1 1 0.15000 4.708687 10.227423 -4.709301 # buck6d->(c3_c2h1@ph)|benzene + 374 1 2 -0.12000 5.274315 9.663417 -3.557309 # buck6d->(c3_c2h1@ph)|benzene + 375 1 1 0.15000 4.708996 8.511436 -2.992969 # buck6d->(c3_c2h1@ph)|benzene + 376 1 2 -0.12000 3.557062 7.945717 -3.556901 # buck6d->(c3_c2h1@ph)|benzene + 377 1 3 0.12000 3.109773 10.109633 -6.170499 # buck6d->(h1_c1@ph)|benzene + 378 1 3 0.12000 6.170080 10.110434 -3.110583 # buck6d->(h1_c1@ph)|benzene + 379 1 3 0.12000 3.110427 7.049830 -3.110006 # buck6d->(h1_c1@ph)|benzene + 380 1 1 0.15000 4.708882 -2.992819 8.511422 # buck6d->(c3_c2h1@ph)|benzene + 381 1 2 -0.12000 5.274592 -3.556944 9.663275 # buck6d->(c3_c2h1@ph)|benzene + 382 1 1 0.15000 4.709074 -4.708832 10.227451 # buck6d->(c3_c2h1@ph)|benzene + 383 1 2 -0.12000 3.557154 -5.274516 9.663398 # buck6d->(c3_c2h1@ph)|benzene + 384 1 1 0.15000 2.992933 -4.709046 8.511459 # buck6d->(c3_c2h1@ph)|benzene + 385 1 2 -0.12000 3.557040 -3.557138 7.945853 # buck6d->(c3_c2h1@ph)|benzene + 386 1 3 0.12000 6.170521 -3.110156 10.109929 # buck6d->(h1_c1@ph)|benzene + 387 1 3 0.12000 3.110442 -6.170369 10.110252 # buck6d->(h1_c1@ph)|benzene + 388 1 3 0.12000 3.110320 -3.110521 7.049872 # buck6d->(h1_c1@ph)|benzene + 389 1 4 1.06000 -5.721514 5.721203 -0.000136 # buck6d->(cu5_cu1o4@cu2)|CuPW + 390 1 4 1.06000 -7.498914 7.499138 -0.000087 # buck6d->(cu5_cu1o4@cu2)|CuPW + 391 1 5 -0.65000 -6.439861 8.378982 1.387531 # buck6d->(o2_c1cu1@co2)|CuPW + 392 1 6 0.62000 -5.372746 7.846892 1.829340 # buck6d->(c3_c1o2@co2)|CuPW + 393 1 5 -0.65000 -4.840981 6.779463 1.387834 # buck6d->(o2_c1cu1@co2)|CuPW + 394 1 5 -0.65000 -6.440386 8.379527 -1.387728 # buck6d->(o2_c1cu1@co2)|CuPW + 395 1 6 0.62000 -5.373303 7.847372 -1.829536 # buck6d->(c3_c1o2@co2)|CuPW + 396 1 5 -0.65000 -4.841590 6.779905 -1.388084 # buck6d->(o2_c1cu1@co2)|CuPW + 397 1 5 -0.65000 -8.379308 6.440683 1.387776 # buck6d->(o2_c1cu1@co2)|CuPW + 398 1 6 0.62000 -7.847549 5.373250 1.829282 # buck6d->(c3_c1o2@co2)|CuPW + 399 1 5 -0.65000 -6.780459 4.841131 1.387452 # buck6d->(o2_c1cu1@co2)|CuPW + 400 1 5 -0.65000 -8.379017 6.440635 -1.388074 # buck6d->(o2_c1cu1@co2)|CuPW + 401 1 6 0.62000 -7.847280 5.373165 -1.829540 # buck6d->(c3_c1o2@co2)|CuPW + 402 1 5 -0.65000 -6.780193 4.841036 -1.387769 # buck6d->(o2_c1cu1@co2)|CuPW + 403 1 4 1.06000 7.499192 5.721480 13.220423 # buck6d->(cu5_cu1o4@cu2)|CuPW + 404 1 4 1.06000 5.721037 7.498670 -13.220306 # buck6d->(cu5_cu1o4@cu2)|CuPW + 405 1 5 -0.65000 4.840494 6.440026 11.833091 # buck6d->(o2_c1cu1@co2)|CuPW + 406 1 6 0.62000 5.372850 5.373077 11.391171 # buck6d->(c3_c1o2@co2)|CuPW + 407 1 5 -0.65000 6.440405 4.841512 11.832556 # buck6d->(o2_c1cu1@co2)|CuPW + 408 1 5 -0.65000 4.841373 6.439463 -11.832893 # buck6d->(o2_c1cu1@co2)|CuPW + 409 1 6 0.62000 5.373628 5.372448 -11.391076 # buck6d->(c3_c1o2@co2)|CuPW + 410 1 5 -0.65000 6.441132 4.840775 -11.832494 # buck6d->(o2_c1cu1@co2)|CuPW + 411 1 5 -0.65000 6.779525 8.378728 11.832372 # buck6d->(o2_c1cu1@co2)|CuPW + 412 1 6 0.62000 7.847104 7.847192 11.390964 # buck6d->(c3_c1o2@co2)|CuPW + 413 1 5 -0.65000 8.379390 6.780194 11.832833 # buck6d->(o2_c1cu1@co2)|CuPW + 414 1 5 -0.65000 6.779236 8.379127 -11.832228 # buck6d->(o2_c1cu1@co2)|CuPW + 415 1 6 0.62000 7.846796 7.847532 -11.390822 # buck6d->(c3_c1o2@co2)|CuPW + 416 1 5 -0.65000 8.379012 6.780505 -11.832691 # buck6d->(o2_c1cu1@co2)|CuPW + 417 1 4 1.06000 5.721629 -5.721062 0.000180 # buck6d->(cu5_cu1o4@cu2)|CuPW + 418 1 4 1.06000 7.498938 -7.499088 0.000113 # buck6d->(cu5_cu1o4@cu2)|CuPW + 419 1 5 -0.65000 6.440437 -8.379354 1.387863 # buck6d->(o2_c1cu1@co2)|CuPW + 420 1 6 0.62000 5.373345 -7.847165 1.829657 # buck6d->(c3_c1o2@co2)|CuPW + 421 1 5 -0.65000 4.841735 -6.779644 1.388239 # buck6d->(o2_c1cu1@co2)|CuPW + 422 1 5 -0.65000 6.439901 -8.379075 -1.387532 # buck6d->(o2_c1cu1@co2)|CuPW + 423 1 6 0.62000 5.372808 -7.846935 -1.829371 # buck6d->(c3_c1o2@co2)|CuPW + 424 1 5 -0.65000 4.841162 -6.779443 -1.387859 # buck6d->(o2_c1cu1@co2)|CuPW + 425 1 5 -0.65000 8.379182 -6.440576 1.387981 # buck6d->(o2_c1cu1@co2)|CuPW + 426 1 6 0.62000 7.847505 -5.373107 1.829449 # buck6d->(c3_c1o2@co2)|CuPW + 427 1 5 -0.65000 6.780434 -4.840886 1.387680 # buck6d->(o2_c1cu1@co2)|CuPW + 428 1 5 -0.65000 8.379239 -6.440518 -1.387662 # buck6d->(o2_c1cu1@co2)|CuPW + 429 1 6 0.62000 7.847566 -5.373053 -1.829119 # buck6d->(c3_c1o2@co2)|CuPW + 430 1 5 -0.65000 6.780517 -4.840822 -1.387267 # buck6d->(o2_c1cu1@co2)|CuPW + 431 1 4 1.06000 -5.721481 -7.499133 -13.220518 # buck6d->(cu5_cu1o4@cu2)|CuPW + 432 1 4 1.06000 -7.498886 -5.721212 13.220327 # buck6d->(cu5_cu1o4@cu2)|CuPW + 433 1 5 -0.65000 -6.439843 -4.841307 -11.832829 # buck6d->(o2_c1cu1@co2)|CuPW + 434 1 6 0.62000 -5.372675 -5.373411 -11.391061 # buck6d->(c3_c1o2@co2)|CuPW + 435 1 5 -0.65000 -4.840940 -6.440799 -11.832612 # buck6d->(o2_c1cu1@co2)|CuPW + 436 1 5 -0.65000 -6.440426 -4.840729 11.832648 # buck6d->(o2_c1cu1@co2)|CuPW + 437 1 6 0.62000 -5.373254 -5.372925 11.390891 # buck6d->(c3_c1o2@co2)|CuPW + 438 1 5 -0.65000 -4.841595 -6.440313 11.832402 # buck6d->(o2_c1cu1@co2)|CuPW + 439 1 5 -0.65000 -8.379253 -6.779733 -11.832607 # buck6d->(o2_c1cu1@co2)|CuPW + 440 1 6 0.62000 -7.847514 -7.847150 -11.391064 # buck6d->(c3_c1o2@co2)|CuPW + 441 1 5 -0.65000 -6.780381 -8.379252 -11.832864 # buck6d->(o2_c1cu1@co2)|CuPW + 442 1 5 -0.65000 -8.378933 -6.779810 11.832354 # buck6d->(o2_c1cu1@co2)|CuPW + 443 1 6 0.62000 -7.847208 -7.847261 11.390834 # buck6d->(c3_c1o2@co2)|CuPW + 444 1 5 -0.65000 -6.780081 -8.379371 11.832560 # buck6d->(o2_c1cu1@co2)|CuPW + 445 1 1 0.15000 -10.227503 8.511331 -8.511515 # buck6d->(c3_c2h1@ph)|benzene + 446 1 2 -0.12000 -9.663471 9.663281 -7.945823 # buck6d->(c3_c2h1@ph)|benzene + 447 1 1 0.15000 -8.511527 10.227561 -8.511273 # buck6d->(c3_c2h1@ph)|benzene + 448 1 2 -0.12000 -7.945893 9.663485 -9.663176 # buck6d->(c3_c2h1@ph)|benzene + 449 1 1 0.15000 -8.511335 8.511544 -10.227437 # buck6d->(c3_c2h1@ph)|benzene + 450 1 2 -0.12000 -9.663267 7.945873 -9.663410 # buck6d->(c3_c2h1@ph)|benzene + 451 1 3 0.12000 -10.110353 10.109983 -7.049983 # buck6d->(h1_c1@ph)|benzene + 452 1 3 0.12000 -7.050025 10.110354 -10.109875 # buck6d->(h1_c1@ph)|benzene + 453 1 3 0.12000 -10.109984 7.050043 -10.110331 # buck6d->(h1_c1@ph)|benzene + 454 1 1 0.15000 -8.511137 -4.708656 2.992972 # buck6d->(c3_c2h1@ph)|benzene + 455 1 2 -0.12000 -9.663076 -5.274450 3.556858 # buck6d->(c3_c2h1@ph)|benzene + 456 1 1 0.15000 -10.227483 -4.709149 4.708774 # buck6d->(c3_c2h1@ph)|benzene + 457 1 2 -0.12000 -9.663548 -3.557234 5.274594 # buck6d->(c3_c2h1@ph)|benzene + 458 1 1 0.15000 -8.511671 -2.992819 4.709247 # buck6d->(c3_c2h1@ph)|benzene + 459 1 2 -0.12000 -7.945812 -3.556742 3.557346 # buck6d->(c3_c2h1@ph)|benzene + 460 1 3 0.12000 -10.109672 -6.170289 3.109845 # buck6d->(h1_c1@ph)|benzene + 461 1 3 0.12000 -10.110479 -3.110700 6.170510 # buck6d->(h1_c1@ph)|benzene + 462 1 3 0.12000 -7.049927 -3.109766 3.110806 # buck6d->(h1_c1@ph)|benzene + 463 1 1 0.15000 4.708798 8.511155 2.992854 # buck6d->(c3_c2h1@ph)|benzene + 464 1 2 -0.12000 3.556867 7.945676 3.557062 # buck6d->(c3_c2h1@ph)|benzene + 465 1 1 0.15000 2.992773 8.511412 4.708931 # buck6d->(c3_c2h1@ph)|benzene + 466 1 2 -0.12000 3.556995 9.663287 5.274489 # buck6d->(c3_c2h1@ph)|benzene + 467 1 1 0.15000 4.708997 10.227321 4.708944 # buck6d->(c3_c2h1@ph)|benzene + 468 1 2 -0.12000 5.274382 9.663112 3.556953 # buck6d->(c3_c2h1@ph)|benzene + 469 1 3 0.12000 3.110053 7.049770 3.110391 # buck6d->(h1_c1@ph)|benzene + 470 1 3 0.12000 3.110176 10.110166 6.170281 # buck6d->(h1_c1@ph)|benzene + 471 1 3 0.12000 6.170147 10.109901 3.109987 # buck6d->(h1_c1@ph)|benzene + 472 1 1 0.15000 4.709029 -2.992893 -8.511585 # buck6d->(c3_c2h1@ph)|benzene + 473 1 2 -0.12000 5.274703 -3.557035 -9.663444 # buck6d->(c3_c2h1@ph)|benzene + 474 1 1 0.15000 4.709105 -4.708875 -10.227633 # buck6d->(c3_c2h1@ph)|benzene + 475 1 2 -0.12000 3.557209 -5.274508 -9.663436 # buck6d->(c3_c2h1@ph)|benzene + 476 1 1 0.15000 2.993037 -4.709024 -8.511464 # buck6d->(c3_c2h1@ph)|benzene + 477 1 2 -0.12000 3.557149 -3.557068 -7.945966 # buck6d->(c3_c2h1@ph)|benzene + 478 1 3 0.12000 6.170693 -3.110358 -10.110101 # buck6d->(h1_c1@ph)|benzene + 479 1 3 0.12000 3.110500 -6.170392 -10.110228 # buck6d->(h1_c1@ph)|benzene + 480 1 3 0.12000 3.110370 -3.110237 -7.050128 # buck6d->(h1_c1@ph)|benzene + 481 1 1 0.15000 8.511679 -10.227580 8.511305 # buck6d->(c3_c2h1@ph)|benzene + 482 1 2 -0.12000 9.663502 -9.663155 7.945863 # buck6d->(c3_c2h1@ph)|benzene + 483 1 1 0.15000 10.227484 -8.511244 8.511629 # buck6d->(c3_c2h1@ph)|benzene + 484 1 2 -0.12000 9.663120 -7.945893 9.663552 # buck6d->(c3_c2h1@ph)|benzene + 485 1 1 0.15000 8.511133 -8.511584 10.227426 # buck6d->(c3_c2h1@ph)|benzene + 486 1 2 -0.12000 7.945810 -9.663557 9.663154 # buck6d->(c3_c2h1@ph)|benzene + 487 1 3 0.12000 10.110339 -10.109672 7.049889 # buck6d->(h1_c1@ph)|benzene + 488 1 3 0.12000 10.109816 -7.050112 10.110583 # buck6d->(h1_c1@ph)|benzene + 489 1 3 0.12000 7.049929 -10.110490 10.109737 # buck6d->(h1_c1@ph)|benzene + 490 1 1 0.15000 -4.709023 -8.511450 -2.992905 # buck6d->(c3_c2h1@ph)|benzene + 491 1 2 -0.12000 -5.274614 -9.663359 -3.557037 # buck6d->(c3_c2h1@ph)|benzene + 492 1 1 0.15000 -4.709029 -10.227503 -4.708971 # buck6d->(c3_c2h1@ph)|benzene + 493 1 2 -0.12000 -3.557127 -9.663456 -5.274583 # buck6d->(c3_c2h1@ph)|benzene + 494 1 1 0.15000 -2.992894 -8.511596 -4.709006 # buck6d->(c3_c2h1@ph)|benzene + 495 1 2 -0.12000 -3.557102 -7.945954 -3.557130 # buck6d->(c3_c2h1@ph)|benzene + 496 1 3 0.12000 -6.170479 -10.110118 -3.110248 # buck6d->(h1_c1@ph)|benzene + 497 1 3 0.12000 -3.110423 -10.110257 -6.170486 # buck6d->(h1_c1@ph)|benzene + 498 1 3 0.12000 -3.110358 -7.050008 -3.110481 # buck6d->(h1_c1@ph)|benzene + 499 1 1 0.15000 8.511258 4.708780 -2.992828 # buck6d->(c3_c2h1@ph)|benzene + 500 1 2 -0.12000 7.945892 3.556890 -3.557243 # buck6d->(c3_c2h1@ph)|benzene + 501 1 1 0.15000 8.511611 2.992972 -4.709205 # buck6d->(c3_c2h1@ph)|benzene + 502 1 2 -0.12000 9.663599 3.557404 -5.274419 # buck6d->(c3_c2h1@ph)|benzene + 503 1 1 0.15000 10.227505 4.709346 -4.708605 # buck6d->(c3_c2h1@ph)|benzene + 504 1 2 -0.12000 9.663136 5.274681 -3.556702 # buck6d->(c3_c2h1@ph)|benzene + 505 1 3 0.12000 7.050026 3.109925 -3.110642 # buck6d->(h1_c1@ph)|benzene + 506 1 3 0.12000 10.110685 3.110798 -6.170207 # buck6d->(h1_c1@ph)|benzene + 507 1 3 0.12000 10.109649 6.170567 -3.109688 # buck6d->(h1_c1@ph)|benzene + 508 1 1 0.15000 -2.992911 4.708913 8.511240 # buck6d->(c3_c2h1@ph)|benzene + 509 1 2 -0.12000 -3.556887 5.274570 9.663205 # buck6d->(c3_c2h1@ph)|benzene + 510 1 1 0.15000 -4.708782 4.709099 10.227544 # buck6d->(c3_c2h1@ph)|benzene + 511 1 2 -0.12000 -5.274472 3.557208 9.663457 # buck6d->(c3_c2h1@ph)|benzene + 512 1 1 0.15000 -4.709077 2.992940 8.511525 # buck6d->(c3_c2h1@ph)|benzene + 513 1 2 -0.12000 -3.557111 3.556937 7.945847 # buck6d->(c3_c2h1@ph)|benzene + 514 1 3 0.12000 -3.109988 6.170416 10.109898 # buck6d->(h1_c1@ph)|benzene + 515 1 3 0.12000 -6.170356 3.110557 10.110346 # buck6d->(h1_c1@ph)|benzene + 516 1 3 0.12000 -3.110329 3.109915 7.050112 # buck6d->(h1_c1@ph)|benzene + 517 1 1 0.15000 8.511448 -8.511329 -10.227492 # buck6d->(c3_c2h1@ph)|benzene + 518 1 2 -0.12000 9.663386 -7.945898 -9.663234 # buck6d->(c3_c2h1@ph)|benzene + 519 1 1 0.15000 10.227507 -8.511542 -8.511330 # buck6d->(c3_c2h1@ph)|benzene + 520 1 2 -0.12000 9.663309 -9.663427 -7.945774 # buck6d->(c3_c2h1@ph)|benzene + 521 1 1 0.15000 8.511470 -10.227501 -8.511487 # buck6d->(c3_c2h1@ph)|benzene + 522 1 2 -0.12000 7.945881 -9.663279 -9.663377 # buck6d->(c3_c2h1@ph)|benzene + 523 1 3 0.12000 10.110223 -7.050007 -10.109909 # buck6d->(h1_c1@ph)|benzene + 524 1 3 0.12000 10.109967 -10.110199 -7.049837 # buck6d->(h1_c1@ph)|benzene + 525 1 3 0.12000 7.049998 -10.110001 -10.110164 # buck6d->(h1_c1@ph)|benzene + 526 1 1 0.15000 -2.992912 -8.511380 4.708857 # buck6d->(c3_c2h1@ph)|benzene + 527 1 2 -0.12000 -3.556975 -9.663276 5.274577 # buck6d->(c3_c2h1@ph)|benzene + 528 1 1 0.15000 -4.708863 -10.227580 4.709107 # buck6d->(c3_c2h1@ph)|benzene + 529 1 2 -0.12000 -5.274601 -9.663549 3.557218 # buck6d->(c3_c2h1@ph)|benzene + 530 1 1 0.15000 -4.709178 -8.511611 2.992973 # buck6d->(c3_c2h1@ph)|benzene + 531 1 2 -0.12000 -3.557220 -7.945949 3.556960 # buck6d->(c3_c2h1@ph)|benzene + 532 1 3 0.12000 -3.110165 -10.109862 6.170526 # buck6d->(h1_c1@ph)|benzene + 533 1 3 0.12000 -6.170449 -10.110475 3.110554 # buck6d->(h1_c1@ph)|benzene + 534 1 3 0.12000 -3.110519 -7.050112 3.110049 # buck6d->(h1_c1@ph)|benzene + 535 1 1 0.15000 10.227608 4.708889 4.709090 # buck6d->(c3_c2h1@ph)|benzene + 536 1 2 -0.12000 9.663249 3.556998 5.274500 # buck6d->(c3_c2h1@ph)|benzene + 537 1 1 0.15000 8.511239 2.993082 4.708831 # buck6d->(c3_c2h1@ph)|benzene + 538 1 2 -0.12000 7.946003 3.557382 3.556831 # buck6d->(c3_c2h1@ph)|benzene + 539 1 1 0.15000 8.511804 4.709277 2.992826 # buck6d->(c3_c2h1@ph)|benzene + 540 1 2 -0.12000 9.663650 5.274722 3.557217 # buck6d->(c3_c2h1@ph)|benzene + 541 1 3 0.12000 10.109958 3.110026 6.170297 # buck6d->(h1_c1@ph)|benzene + 542 1 3 0.12000 7.050200 3.110743 3.109790 # buck6d->(h1_c1@ph)|benzene + 543 1 3 0.12000 10.110488 6.170709 3.110720 # buck6d->(h1_c1@ph)|benzene + 544 1 1 0.15000 -4.708901 4.708949 -10.227450 # buck6d->(c3_c2h1@ph)|benzene + 545 1 2 -0.12000 -3.556979 5.274522 -9.663292 # buck6d->(c3_c2h1@ph)|benzene + 546 1 1 0.15000 -2.992919 4.709034 -8.511308 # buck6d->(c3_c2h1@ph)|benzene + 547 1 2 -0.12000 -3.557045 3.557023 -7.945834 # buck6d->(c3_c2h1@ph)|benzene + 548 1 1 0.15000 -4.708978 2.992831 -8.511424 # buck6d->(c3_c2h1@ph)|benzene + 549 1 2 -0.12000 -5.274494 3.557022 -9.663325 # buck6d->(c3_c2h1@ph)|benzene + 550 1 3 0.12000 -3.110088 6.170273 -10.110190 # buck6d->(h1_c1@ph)|benzene + 551 1 3 0.12000 -3.110234 3.110172 -7.050031 # buck6d->(h1_c1@ph)|benzene + 552 1 3 0.12000 -6.170354 3.110243 -10.110132 # buck6d->(h1_c1@ph)|benzene + 553 1 1 0.15000 -8.511582 -8.511282 -10.227503 # buck6d->(c3_c2h1@ph)|benzene + 554 1 2 -0.12000 -7.945951 -9.663204 -9.663400 # buck6d->(c3_c2h1@ph)|benzene + 555 1 1 0.15000 -8.511367 -10.227417 -8.511453 # buck6d->(c3_c2h1@ph)|benzene + 556 1 2 -0.12000 -9.663341 -9.663429 -7.945813 # buck6d->(c3_c2h1@ph)|benzene + 557 1 1 0.15000 -10.227575 -8.511535 -8.511330 # buck6d->(c3_c2h1@ph)|benzene + 558 1 2 -0.12000 -9.663487 -7.945814 -9.663204 # buck6d->(c3_c2h1@ph)|benzene + 559 1 3 0.12000 -7.050112 -10.109934 -10.110289 # buck6d->(h1_c1@ph)|benzene + 560 1 3 0.12000 -10.110082 -10.110336 -7.049997 # buck6d->(h1_c1@ph)|benzene + 561 1 3 0.12000 -10.110290 -7.049881 -10.109826 # buck6d->(h1_c1@ph)|benzene + 562 1 1 0.15000 -8.511552 4.709117 2.992867 # buck6d->(c3_c2h1@ph)|benzene + 563 1 2 -0.12000 -9.663456 5.274515 3.557199 # buck6d->(c3_c2h1@ph)|benzene + 564 1 1 0.15000 -10.227472 4.708760 4.709113 # buck6d->(c3_c2h1@ph)|benzene + 565 1 2 -0.12000 -9.663159 3.556876 5.274549 # buck6d->(c3_c2h1@ph)|benzene + 566 1 1 0.15000 -8.511271 2.992898 4.708810 # buck6d->(c3_c2h1@ph)|benzene + 567 1 2 -0.12000 -7.945824 3.557215 3.556894 # buck6d->(c3_c2h1@ph)|benzene + 568 1 3 0.12000 -10.110344 6.170412 3.110599 # buck6d->(h1_c1@ph)|benzene + 569 1 3 0.12000 -10.109768 3.109969 6.170443 # buck6d->(h1_c1@ph)|benzene + 570 1 3 0.12000 -7.049905 3.110624 3.110041 # buck6d->(h1_c1@ph)|benzene + 571 1 1 0.15000 2.992821 -8.511249 4.708791 # buck6d->(c3_c2h1@ph)|benzene + 572 1 2 -0.12000 3.557063 -7.945779 3.556914 # buck6d->(c3_c2h1@ph)|benzene + 573 1 1 0.15000 4.709026 -8.511430 2.992956 # buck6d->(c3_c2h1@ph)|benzene + 574 1 2 -0.12000 5.274426 -9.663408 3.557214 # buck6d->(c3_c2h1@ph)|benzene + 575 1 1 0.15000 4.708832 -10.227459 4.709167 # buck6d->(c3_c2h1@ph)|benzene + 576 1 2 -0.12000 3.556850 -9.663183 5.274534 # buck6d->(c3_c2h1@ph)|benzene + 577 1 3 0.12000 3.110318 -7.049975 3.109954 # buck6d->(h1_c1@ph)|benzene + 578 1 3 0.12000 6.170202 -10.110358 3.110429 # buck6d->(h1_c1@ph)|benzene + 579 1 3 0.12000 3.109890 -10.109872 6.170342 # buck6d->(h1_c1@ph)|benzene + 580 1 1 0.15000 4.709421 4.708545 -10.227566 # buck6d->(c3_c2h1@ph)|benzene + 581 1 2 -0.12000 3.557498 5.274423 -9.663687 # buck6d->(c3_c2h1@ph)|benzene + 582 1 1 0.15000 2.993081 4.709264 -8.511704 # buck6d->(c3_c2h1@ph)|benzene + 583 1 2 -0.12000 3.556971 3.557262 -7.945974 # buck6d->(c3_c2h1@ph)|benzene + 584 1 1 0.15000 4.708834 2.992776 -8.511350 # buck6d->(c3_c2h1@ph)|benzene + 585 1 2 -0.12000 5.274785 3.556684 -9.663172 # buck6d->(c3_c2h1@ph)|benzene + 586 1 3 0.12000 3.110945 6.170220 -10.110820 # buck6d->(h1_c1@ph)|benzene + 587 1 3 0.12000 3.110012 3.110676 -7.050112 # buck6d->(h1_c1@ph)|benzene + 588 1 3 0.12000 6.170787 3.109798 -10.109598 # buck6d->(h1_c1@ph)|benzene + 589 1 1 0.15000 -8.511446 -8.511431 10.227428 # buck6d->(c3_c2h1@ph)|benzene + 590 1 2 -0.12000 -7.945961 -9.663387 9.663227 # buck6d->(c3_c2h1@ph)|benzene + 591 1 1 0.15000 -8.511558 -10.227488 8.511293 # buck6d->(c3_c2h1@ph)|benzene + 592 1 2 -0.12000 -9.663484 -9.663246 7.945824 # buck6d->(c3_c2h1@ph)|benzene + 593 1 1 0.15000 -10.227567 -8.511318 8.511466 # buck6d->(c3_c2h1@ph)|benzene + 594 1 2 -0.12000 -9.663367 -7.945805 9.663378 # buck6d->(c3_c2h1@ph)|benzene + 595 1 3 0.12000 -7.050151 -10.110286 10.109983 # buck6d->(h1_c1@ph)|benzene + 596 1 3 0.12000 -10.110344 -10.109936 7.049952 # buck6d->(h1_c1@ph)|benzene + 597 1 3 0.12000 -10.110136 -7.049977 10.110250 # buck6d->(h1_c1@ph)|benzene + 598 1 1 0.15000 -10.227461 4.708876 -4.709049 # buck6d->(c3_c2h1@ph)|benzene + 599 1 2 -0.12000 -9.663222 3.556970 -5.274564 # buck6d->(c3_c2h1@ph)|benzene + 600 1 1 0.15000 -8.511366 2.992789 -4.708915 # buck6d->(c3_c2h1@ph)|benzene + 601 1 2 -0.12000 -7.945800 3.557031 -3.557029 # buck6d->(c3_c2h1@ph)|benzene + 602 1 1 0.15000 -8.511428 4.708966 -2.992963 # buck6d->(c3_c2h1@ph)|benzene + 603 1 2 -0.12000 -9.663360 5.274470 -3.557110 # buck6d->(c3_c2h1@ph)|benzene + 604 1 3 0.12000 -10.109855 3.110235 -6.170533 # buck6d->(h1_c1@ph)|benzene + 605 1 3 0.12000 -7.049905 3.110310 -3.110259 # buck6d->(h1_c1@ph)|benzene + 606 1 3 0.12000 -10.110239 6.170270 -3.110307 # buck6d->(h1_c1@ph)|benzene + 607 1 1 0.15000 4.708720 -8.511190 -2.992896 # buck6d->(c3_c2h1@ph)|benzene + 608 1 2 -0.12000 5.274366 -9.663136 -3.556992 # buck6d->(c3_c2h1@ph)|benzene + 609 1 1 0.15000 4.709030 -10.227389 -4.709003 # buck6d->(c3_c2h1@ph)|benzene + 610 1 2 -0.12000 3.557043 -9.663451 -5.274617 # buck6d->(c3_c2h1@ph)|benzene + 611 1 1 0.15000 2.992800 -8.511566 -4.709105 # buck6d->(c3_c2h1@ph)|benzene + 612 1 2 -0.12000 3.556811 -7.945789 -3.557218 # buck6d->(c3_c2h1@ph)|benzene + 613 1 3 0.12000 6.170145 -10.109882 -3.110023 # buck6d->(h1_c1@ph)|benzene + 614 1 3 0.12000 3.110259 -10.110395 -6.170399 # buck6d->(h1_c1@ph)|benzene + 615 1 3 0.12000 3.109923 -7.049884 -3.110617 # buck6d->(h1_c1@ph)|benzene + 616 1 1 0.15000 2.992974 4.708806 8.511215 # buck6d->(c3_c2h1@ph)|benzene + 617 1 2 -0.12000 3.557316 3.556866 7.945895 # buck6d->(c3_c2h1@ph)|benzene + 618 1 1 0.15000 4.709193 2.992885 8.511718 # buck6d->(c3_c2h1@ph)|benzene + 619 1 2 -0.12000 5.274668 3.557179 9.663585 # buck6d->(c3_c2h1@ph)|benzene + 620 1 1 0.15000 4.708875 4.709040 10.227563 # buck6d->(c3_c2h1@ph)|benzene + 621 1 2 -0.12000 3.556982 5.274471 9.663177 # buck6d->(c3_c2h1@ph)|benzene + 622 1 3 0.12000 3.110737 3.109918 7.050015 # buck6d->(h1_c1@ph)|benzene + 623 1 3 0.12000 6.170608 3.110615 10.110446 # buck6d->(h1_c1@ph)|benzene + 624 1 3 0.12000 3.110106 6.170366 10.109792 # buck6d->(h1_c1@ph)|benzene + +Bonds + + 1 1 1 2 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2 1 1 6 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 3 2 1 240 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 4 1 2 3 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 5 3 2 7 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 6 1 3 4 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 7 2 3 351 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 8 1 4 5 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 9 3 4 8 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 10 1 5 6 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 11 2 5 412 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 12 3 6 9 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 13 4 10 11 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2)|CuPW',) + 14 5 10 14 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 15 5 10 17 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 16 5 10 20 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 17 5 10 23 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 18 5 11 12 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 19 5 11 15 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 20 5 11 18 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 21 5 11 21 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 22 6 12 13 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 23 6 13 14 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 24 2 13 380 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 25 6 15 16 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 26 6 16 17 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 27 2 16 618 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 28 6 18 19 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 29 6 19 20 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 30 2 19 230 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 31 6 21 22 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 32 6 22 23 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 33 2 22 537 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 34 1 24 25 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 35 1 24 29 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 36 2 24 217 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 37 1 25 26 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 38 3 25 30 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 39 1 26 27 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 40 2 26 323 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 41 1 27 28 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 42 3 27 31 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 43 1 28 29 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 44 2 28 429 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 45 3 29 32 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 46 4 33 34 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2)|CuPW',) + 47 5 33 37 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 48 5 33 40 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 49 5 33 43 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 50 5 33 46 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 51 5 34 35 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 52 5 34 38 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 53 5 34 41 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 54 5 34 44 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 55 6 35 36 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 56 6 36 37 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 57 2 36 521 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 58 6 38 39 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 59 6 39 40 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 60 2 39 207 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 61 6 41 42 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 62 6 42 43 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 63 2 42 609 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 64 6 44 45 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 65 6 45 46 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 66 2 45 373 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 67 1 47 48 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 68 1 47 52 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 69 2 47 306 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 70 1 48 49 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 71 3 48 53 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 72 1 49 50 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 73 2 49 286 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 74 1 50 51 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 75 3 50 54 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 76 1 51 52 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 77 2 51 395 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 78 3 52 55 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 79 4 56 57 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2)|CuPW',) + 80 5 56 60 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 81 5 56 63 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 82 5 56 66 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 83 5 56 69 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 84 5 57 58 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 85 5 57 61 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 86 5 57 64 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 87 5 57 67 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 88 6 58 59 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 89 6 59 60 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 90 2 59 274 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 91 6 61 62 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 92 6 62 63 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 93 2 62 548 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 94 6 64 65 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 95 6 65 66 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 96 2 65 364 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 97 6 67 68 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 98 6 68 69 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 99 2 68 600 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 100 1 70 71 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 101 1 70 75 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 102 2 70 328 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 103 1 71 72 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 104 3 71 76 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 105 1 72 73 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 106 2 72 269 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 107 1 73 74 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 108 3 73 77 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 109 1 74 75 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 110 2 74 437 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 111 3 75 78 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 112 4 79 80 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2)|CuPW',) + 113 5 79 83 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 114 5 79 86 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 115 5 79 89 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 116 5 79 92 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 117 5 80 81 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 118 5 80 84 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 119 5 80 87 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 120 5 80 90 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 121 6 81 82 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 122 6 82 83 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 123 2 82 255 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 124 6 84 85 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 125 6 85 86 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 126 2 85 528 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 127 6 87 88 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 128 6 88 89 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 129 2 88 357 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 130 6 90 91 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 131 6 91 92 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 132 2 91 591 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 133 4 93 94 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2)|CuPW',) + 134 5 93 97 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 135 5 93 100 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 136 5 93 103 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 137 5 93 106 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 138 5 94 95 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 139 5 94 98 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 140 5 94 101 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 141 5 94 104 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 142 6 95 96 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 143 6 96 97 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 144 2 96 499 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 145 6 98 99 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 146 6 99 100 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 147 2 99 539 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 148 6 101 102 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 149 6 102 103 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 150 2 102 375 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 151 6 104 105 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 152 6 105 106 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 153 2 105 463 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 154 4 107 108 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2)|CuPW',) + 155 5 107 111 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 156 5 107 114 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 157 5 107 117 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 158 5 107 120 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 159 5 108 109 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 160 5 108 112 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 161 5 108 115 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 162 5 108 118 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 163 6 109 110 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 164 6 110 111 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 165 2 110 508 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 166 6 112 113 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 167 6 113 114 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 168 2 113 616 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 169 6 115 116 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 170 6 116 117 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 171 2 116 251 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 172 6 118 119 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 173 6 119 120 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 174 2 119 465 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 175 4 121 122 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2)|CuPW',) + 176 5 121 125 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 177 5 121 128 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 178 5 121 131 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 179 5 121 134 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 180 5 122 123 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 181 5 122 126 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 182 5 122 129 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 183 5 122 132 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 184 6 123 124 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 185 6 124 125 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 186 2 124 510 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 187 6 126 127 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 188 6 127 128 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 189 2 127 544 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 190 6 129 130 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 191 6 130 131 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 192 2 130 355 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 193 6 132 133 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 194 6 133 134 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 195 2 133 449 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 196 4 135 136 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2)|CuPW',) + 197 5 135 139 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 198 5 135 142 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 199 5 135 145 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 200 5 135 148 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 201 5 136 137 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 202 5 136 140 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 203 5 136 143 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 204 5 136 146 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 205 6 137 138 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 206 6 138 139 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 207 2 138 456 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 208 6 140 141 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 209 6 141 142 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 210 2 141 228 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 211 6 143 144 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 212 6 144 145 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 213 2 144 593 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 214 6 146 147 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 215 6 147 148 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 216 2 147 483 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 217 4 149 150 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2)|CuPW',) + 218 5 149 153 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 219 5 149 156 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 220 5 149 159 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 221 5 149 162 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 222 5 150 151 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 223 5 150 154 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 224 5 150 157 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 225 5 150 160 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 226 6 151 152 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 227 6 152 153 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 228 2 152 454 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 229 6 154 155 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 230 6 155 156 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 231 2 155 366 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 232 6 157 158 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 233 6 158 159 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 234 2 158 530 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 235 6 160 161 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 236 6 161 162 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 237 2 161 490 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 238 4 163 164 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2)|CuPW',) + 239 5 163 167 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 240 5 163 170 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 241 5 163 173 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 242 5 163 176 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 243 5 164 165 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 244 5 164 168 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 245 5 164 171 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 246 5 164 174 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 247 6 165 166 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 248 6 166 167 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 249 2 166 494 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 250 6 168 169 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 251 6 169 170 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 252 2 169 611 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 253 6 171 172 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 254 6 172 173 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 255 2 172 276 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 256 6 174 175 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 257 6 175 176 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 258 2 175 476 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 259 4 177 178 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2)|CuPW',) + 260 5 177 181 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 261 5 177 184 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 262 5 177 187 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 263 5 177 190 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 264 5 178 179 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 265 5 178 182 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 266 5 178 185 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 267 5 178 188 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 268 6 179 180 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 269 6 180 181 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 270 2 180 517 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 271 6 182 183 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 272 6 183 184 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 273 2 183 485 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 274 6 185 186 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 275 6 186 187 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 276 2 186 474 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 277 6 188 189 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 278 6 189 190 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 279 2 189 382 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 280 4 191 192 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2)|CuPW',) + 281 5 191 195 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 282 5 191 198 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 283 5 191 201 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 284 5 191 204 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 285 5 192 193 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 286 5 192 196 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 287 5 192 199 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 288 5 192 202 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 289 6 193 194 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 290 6 194 195 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 291 2 194 445 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 292 6 196 197 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 293 6 197 198 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 294 2 197 205 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 295 6 199 200 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 296 6 200 201 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 297 2 200 598 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 298 6 202 203 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 299 6 203 204 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 300 2 203 503 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 301 1 205 206 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 302 1 205 210 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 303 1 206 207 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 304 3 206 211 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 305 1 207 208 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 306 1 208 209 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 307 3 208 212 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 308 1 209 210 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 309 2 209 415 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 310 3 210 213 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 311 4 214 215 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2)|CuPW',) + 312 5 214 218 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 313 5 214 221 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 314 5 214 224 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 315 5 214 227 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 316 5 215 216 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 317 5 215 219 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 318 5 215 222 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 319 5 215 225 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 320 6 216 217 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 321 6 217 218 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 322 6 219 220 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 323 6 220 221 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 324 2 220 501 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 325 6 222 223 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 326 6 223 224 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 327 2 223 472 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 328 6 225 226 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 329 6 226 227 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 330 2 226 584 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 331 1 228 229 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 332 1 228 233 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 333 1 229 230 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 334 3 229 234 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 335 1 230 231 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 336 1 231 232 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 337 3 231 235 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 338 1 232 233 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 339 2 232 426 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 340 3 233 236 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 341 4 237 238 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2)|CuPW',) + 342 5 237 241 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 343 5 237 244 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 344 5 237 247 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 345 5 237 250 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 346 5 238 239 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 347 5 238 242 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 348 5 238 245 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 349 5 238 248 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 350 6 239 240 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 351 6 240 241 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 352 6 242 243 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 353 6 243 244 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 354 2 243 481 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 355 6 245 246 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 356 6 246 247 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 357 2 246 467 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 358 6 248 249 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 359 6 249 250 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 360 2 249 575 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 361 1 251 252 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 362 1 251 256 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 363 1 252 253 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 364 3 252 257 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 365 1 253 254 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 366 2 253 392 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 367 1 254 255 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 368 3 254 258 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 369 1 255 256 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 370 3 256 259 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 371 4 260 261 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2)|CuPW',) + 372 5 260 264 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 373 5 260 267 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 374 5 260 270 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 375 5 260 273 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 376 5 261 262 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 377 5 261 265 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 378 5 261 268 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 379 5 261 271 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 380 6 262 263 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 381 6 263 264 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 382 2 263 458 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 383 6 265 266 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 384 6 266 267 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 385 2 266 566 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 386 6 268 269 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 387 6 269 270 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 388 6 271 272 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 389 6 272 273 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 390 2 272 512 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 391 1 274 275 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 392 1 274 279 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 393 1 275 276 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 394 3 275 280 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 395 1 276 277 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 396 1 277 278 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 397 3 277 281 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 398 1 278 279 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 399 2 278 434 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 400 3 279 282 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 401 4 283 284 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2)|CuPW',) + 402 5 283 287 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 403 5 283 290 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 404 5 283 293 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 405 5 283 296 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 406 5 284 285 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 407 5 284 288 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 408 5 284 291 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 409 5 284 294 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 410 6 285 286 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 411 6 286 287 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 412 6 288 289 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 413 6 289 290 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 414 2 289 492 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 415 6 291 292 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 416 6 292 293 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 417 2 292 447 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 418 6 294 295 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 419 6 295 296 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 420 2 295 555 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 421 4 297 298 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2)|CuPW',) + 422 5 297 301 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 423 5 297 304 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 424 5 297 307 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 425 5 297 310 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 426 5 298 299 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 427 5 298 302 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 428 5 298 305 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 429 5 298 308 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 430 6 299 300 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 431 6 300 301 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 432 2 300 546 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 433 6 302 303 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 434 6 303 304 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 435 2 303 582 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 436 6 305 306 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 437 6 306 307 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 438 6 308 309 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 439 6 309 310 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 440 2 309 371 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 441 4 311 312 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2)|CuPW',) + 442 5 311 315 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 443 5 311 318 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 444 5 311 321 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 445 5 311 324 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 446 5 312 313 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 447 5 312 316 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 448 5 312 319 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 449 5 312 322 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 450 6 313 314 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 451 6 314 315 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 452 2 314 557 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 453 6 316 317 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 454 6 317 318 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 455 2 317 519 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 456 6 319 320 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 457 6 320 321 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 458 2 320 362 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 459 6 322 323 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 460 6 323 324 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 461 4 325 326 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2)|CuPW',) + 462 5 325 329 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 463 5 325 332 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 464 5 325 335 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 465 5 325 338 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 466 5 326 327 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 467 5 326 330 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 468 5 326 333 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 469 5 326 336 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 470 6 327 328 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 471 6 328 329 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 472 6 330 331 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 473 6 331 332 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 474 2 331 384 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 475 6 333 334 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 476 6 334 335 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 477 2 334 526 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 478 6 336 337 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 479 6 337 338 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 480 2 337 571 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 481 4 339 340 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2)|CuPW',) + 482 5 339 343 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 483 5 339 346 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 484 5 339 349 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 485 5 339 352 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 486 5 340 341 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 487 5 340 344 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 488 5 340 347 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 489 5 340 350 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 490 6 341 342 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 491 6 342 343 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 492 2 342 564 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 493 6 344 345 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 494 6 345 346 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 495 2 345 535 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 496 6 347 348 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 497 6 348 349 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 498 2 348 353 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 499 6 350 351 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 500 6 351 352 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 501 1 353 354 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 502 1 353 358 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 503 1 354 355 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 504 3 354 359 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 505 1 355 356 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 506 1 356 357 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 507 3 356 360 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 508 1 357 358 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 509 3 358 361 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 510 1 362 363 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 511 1 362 367 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 512 1 363 364 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 513 3 363 368 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 514 1 364 365 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 515 1 365 366 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 516 3 365 369 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 517 1 366 367 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 518 3 367 370 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 519 1 371 372 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 520 1 371 376 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 521 1 372 373 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 522 3 372 377 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 523 1 373 374 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 524 1 374 375 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 525 3 374 378 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 526 1 375 376 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 527 3 376 379 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 528 1 380 381 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 529 1 380 385 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 530 1 381 382 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 531 3 381 386 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 532 1 382 383 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 533 1 383 384 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 534 3 383 387 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 535 1 384 385 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 536 3 385 388 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 537 4 389 390 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2)|CuPW',) + 538 5 389 393 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 539 5 389 396 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 540 5 389 399 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 541 5 389 402 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 542 5 390 391 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 543 5 390 394 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 544 5 390 397 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 545 5 390 400 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 546 6 391 392 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 547 6 392 393 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 548 6 394 395 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 549 6 395 396 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 550 6 397 398 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 551 6 398 399 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 552 2 398 562 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 553 6 400 401 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 554 6 401 402 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 555 2 401 602 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 556 4 403 404 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2)|CuPW',) + 557 5 403 407 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 558 5 403 410 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 559 5 403 413 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 560 5 403 416 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 561 5 404 405 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 562 5 404 408 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 563 5 404 411 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 564 5 404 414 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 565 6 405 406 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 566 6 406 407 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 567 2 406 620 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 568 6 408 409 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 569 6 409 410 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 570 2 409 580 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 571 6 411 412 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 572 6 412 413 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 573 6 414 415 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 574 6 415 416 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 575 4 417 418 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2)|CuPW',) + 576 5 417 421 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 577 5 417 424 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 578 5 417 427 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 579 5 417 430 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 580 5 418 419 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 581 5 418 422 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 582 5 418 425 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 583 5 418 428 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 584 6 419 420 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 585 6 420 421 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 586 2 420 573 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 587 6 422 423 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 588 6 423 424 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 589 2 423 607 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 590 6 425 426 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 591 6 426 427 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 592 6 428 429 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 593 6 429 430 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 594 4 431 432 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2)|CuPW',) + 595 5 431 435 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 596 5 431 438 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 597 5 431 441 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 598 5 431 444 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 599 5 432 433 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 600 5 432 436 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 601 5 432 439 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 602 5 432 442 # ('morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 603 6 433 434 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 604 6 434 435 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 605 6 436 437 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 606 6 437 438 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 607 6 439 440 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 608 6 440 441 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 609 2 440 553 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 610 6 442 443 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 611 6 443 444 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 612 2 443 589 # ('mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW',) + 613 1 445 446 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 614 1 445 450 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 615 1 446 447 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 616 3 446 451 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 617 1 447 448 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 618 1 448 449 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 619 3 448 452 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 620 1 449 450 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 621 3 450 453 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 622 1 454 455 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 623 1 454 459 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 624 1 455 456 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 625 3 455 460 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 626 1 456 457 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 627 1 457 458 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 628 3 457 461 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 629 1 458 459 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 630 3 459 462 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 631 1 463 464 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 632 1 463 468 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 633 1 464 465 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 634 3 464 469 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 635 1 465 466 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 636 1 466 467 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 637 3 466 470 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 638 1 467 468 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 639 3 468 471 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 640 1 472 473 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 641 1 472 477 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 642 1 473 474 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 643 3 473 478 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 644 1 474 475 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 645 1 475 476 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 646 3 475 479 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 647 1 476 477 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 648 3 477 480 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 649 1 481 482 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 650 1 481 486 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 651 1 482 483 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 652 3 482 487 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 653 1 483 484 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 654 1 484 485 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 655 3 484 488 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 656 1 485 486 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 657 3 486 489 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 658 1 490 491 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 659 1 490 495 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 660 1 491 492 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 661 3 491 496 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 662 1 492 493 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 663 1 493 494 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 664 3 493 497 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 665 1 494 495 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 666 3 495 498 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 667 1 499 500 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 668 1 499 504 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 669 1 500 501 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 670 3 500 505 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 671 1 501 502 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 672 1 502 503 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 673 3 502 506 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 674 1 503 504 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 675 3 504 507 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 676 1 508 509 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 677 1 508 513 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 678 1 509 510 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 679 3 509 514 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 680 1 510 511 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 681 1 511 512 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 682 3 511 515 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 683 1 512 513 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 684 3 513 516 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 685 1 517 518 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 686 1 517 522 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 687 1 518 519 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 688 3 518 523 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 689 1 519 520 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 690 1 520 521 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 691 3 520 524 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 692 1 521 522 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 693 3 522 525 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 694 1 526 527 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 695 1 526 531 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 696 1 527 528 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 697 3 527 532 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 698 1 528 529 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 699 1 529 530 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 700 3 529 533 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 701 1 530 531 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 702 3 531 534 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 703 1 535 536 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 704 1 535 540 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 705 1 536 537 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 706 3 536 541 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 707 1 537 538 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 708 1 538 539 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 709 3 538 542 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 710 1 539 540 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 711 3 540 543 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 712 1 544 545 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 713 1 544 549 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 714 1 545 546 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 715 3 545 550 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 716 1 546 547 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 717 1 547 548 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 718 3 547 551 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 719 1 548 549 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 720 3 549 552 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 721 1 553 554 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 722 1 553 558 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 723 1 554 555 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 724 3 554 559 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 725 1 555 556 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 726 1 556 557 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 727 3 556 560 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 728 1 557 558 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 729 3 558 561 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 730 1 562 563 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 731 1 562 567 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 732 1 563 564 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 733 3 563 568 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 734 1 564 565 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 735 1 565 566 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 736 3 565 569 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 737 1 566 567 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 738 3 567 570 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 739 1 571 572 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 740 1 571 576 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 741 1 572 573 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 742 3 572 577 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 743 1 573 574 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 744 1 574 575 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 745 3 574 578 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 746 1 575 576 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 747 3 576 579 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 748 1 580 581 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 749 1 580 585 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 750 1 581 582 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 751 3 581 586 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 752 1 582 583 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 753 1 583 584 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 754 3 583 587 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 755 1 584 585 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 756 3 585 588 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 757 1 589 590 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 758 1 589 594 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 759 1 590 591 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 760 3 590 595 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 761 1 591 592 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 762 1 592 593 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 763 3 592 596 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 764 1 593 594 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 765 3 594 597 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 766 1 598 599 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 767 1 598 603 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 768 1 599 600 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 769 3 599 604 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 770 1 600 601 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 771 1 601 602 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 772 3 601 605 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 773 1 602 603 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 774 3 603 606 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 775 1 607 608 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 776 1 607 612 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 777 1 608 609 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 778 3 608 613 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 779 1 609 610 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 780 1 610 611 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 781 3 610 614 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 782 1 611 612 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 783 3 612 615 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 784 1 616 617 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 785 1 616 621 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 786 1 617 618 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 787 3 617 622 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 788 1 618 619 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 789 1 619 620 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 790 3 619 623 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + 791 1 620 621 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 792 3 621 624 # ('mm3->(c3_c2h1@ph,h1_c1@ph)|benzene',) + +Angles + + 1 1 2 1 6 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 2 2 240 1 2 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 3 2 240 1 6 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 4 1 1 2 3 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 5 3 1 2 7 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 6 3 3 2 7 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 7 1 2 3 4 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 8 2 351 3 2 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 9 2 351 3 4 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 10 1 3 4 5 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 11 3 3 4 8 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 12 3 5 4 8 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 13 1 4 5 6 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 14 2 412 5 4 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 15 2 412 5 6 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 16 1 1 6 5 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 17 3 1 6 9 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 18 3 5 6 9 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 19 4 11 10 14 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 20 4 11 10 17 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 21 4 11 10 20 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 22 4 11 10 23 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 23 5 14 10 17 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 24 5 14 10 20 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 25 5 14 10 23 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 26 5 17 10 20 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 27 5 17 10 23 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 28 5 20 10 23 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 29 4 10 11 12 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 30 4 10 11 15 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 31 4 10 11 18 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 32 4 10 11 21 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 33 5 12 11 15 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 34 5 12 11 18 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 35 5 12 11 21 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 36 5 15 11 18 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 37 5 15 11 21 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 38 5 18 11 21 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 39 6 13 12 11 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 40 7 12 13 14 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 41 8 380 13 12 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 42 8 380 13 14 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 43 6 13 14 10 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 44 6 16 15 11 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 45 7 15 16 17 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 46 8 618 16 15 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 47 8 618 16 17 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 48 6 16 17 10 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 49 6 19 18 11 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 50 7 18 19 20 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 51 8 230 19 18 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 52 8 230 19 20 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 53 6 19 20 10 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 54 6 22 21 11 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 55 7 21 22 23 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 56 8 537 22 21 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 57 8 537 22 23 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 58 6 22 23 10 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 59 1 25 24 29 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 60 2 217 24 25 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 61 2 217 24 29 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 62 1 24 25 26 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 63 3 24 25 30 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 64 3 26 25 30 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 65 1 25 26 27 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 66 2 323 26 25 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 67 2 323 26 27 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 68 1 26 27 28 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 69 3 26 27 31 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 70 3 28 27 31 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 71 1 27 28 29 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 72 2 429 28 27 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 73 2 429 28 29 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 74 1 24 29 28 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 75 3 24 29 32 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 76 3 28 29 32 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 77 4 34 33 37 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 78 4 34 33 40 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 79 4 34 33 43 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 80 4 34 33 46 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 81 5 37 33 40 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 82 5 37 33 43 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 83 5 37 33 46 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 84 5 40 33 43 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 85 5 40 33 46 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 86 5 43 33 46 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 87 4 33 34 35 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 88 4 33 34 38 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 89 4 33 34 41 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 90 4 33 34 44 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 91 5 35 34 38 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 92 5 35 34 41 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 93 5 35 34 44 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 94 5 38 34 41 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 95 5 38 34 44 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 96 5 41 34 44 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 97 6 36 35 34 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 98 7 35 36 37 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 99 8 521 36 35 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 100 8 521 36 37 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 101 6 36 37 33 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 102 6 39 38 34 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 103 7 38 39 40 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 104 8 207 39 38 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 105 8 207 39 40 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 106 6 39 40 33 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 107 6 42 41 34 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 108 7 41 42 43 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 109 8 609 42 41 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 110 8 609 42 43 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 111 6 42 43 33 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 112 6 45 44 34 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 113 7 44 45 46 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 114 8 373 45 44 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 115 8 373 45 46 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 116 6 45 46 33 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 117 1 48 47 52 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 118 2 306 47 48 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 119 2 306 47 52 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 120 1 47 48 49 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 121 3 47 48 53 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 122 3 49 48 53 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 123 1 48 49 50 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 124 2 286 49 48 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 125 2 286 49 50 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 126 1 49 50 51 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 127 3 49 50 54 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 128 3 51 50 54 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 129 1 50 51 52 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 130 2 395 51 50 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 131 2 395 51 52 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 132 1 47 52 51 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 133 3 47 52 55 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 134 3 51 52 55 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 135 4 57 56 60 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 136 4 57 56 63 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 137 4 57 56 66 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 138 4 57 56 69 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 139 5 60 56 63 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 140 5 60 56 66 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 141 5 60 56 69 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 142 5 63 56 66 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 143 5 63 56 69 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 144 5 66 56 69 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 145 4 56 57 58 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 146 4 56 57 61 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 147 4 56 57 64 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 148 4 56 57 67 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 149 5 58 57 61 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 150 5 58 57 64 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 151 5 58 57 67 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 152 5 61 57 64 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 153 5 61 57 67 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 154 5 64 57 67 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 155 6 59 58 57 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 156 7 58 59 60 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 157 8 274 59 58 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 158 8 274 59 60 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 159 6 59 60 56 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 160 6 62 61 57 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 161 7 61 62 63 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 162 8 548 62 61 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 163 8 548 62 63 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 164 6 62 63 56 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 165 6 65 64 57 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 166 7 64 65 66 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 167 8 364 65 64 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 168 8 364 65 66 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 169 6 65 66 56 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 170 6 68 67 57 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 171 7 67 68 69 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 172 8 600 68 67 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 173 8 600 68 69 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 174 6 68 69 56 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 175 1 71 70 75 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 176 2 328 70 71 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 177 2 328 70 75 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 178 1 70 71 72 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 179 3 70 71 76 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 180 3 72 71 76 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 181 1 71 72 73 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 182 2 269 72 71 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 183 2 269 72 73 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 184 1 72 73 74 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 185 3 72 73 77 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 186 3 74 73 77 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 187 1 73 74 75 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 188 2 437 74 73 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 189 2 437 74 75 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 190 1 70 75 74 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 191 3 70 75 78 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 192 3 74 75 78 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 193 4 80 79 83 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 194 4 80 79 86 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 195 4 80 79 89 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 196 4 80 79 92 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 197 5 83 79 86 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 198 5 83 79 89 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 199 5 83 79 92 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 200 5 86 79 89 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 201 5 86 79 92 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 202 5 89 79 92 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 203 4 79 80 81 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 204 4 79 80 84 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 205 4 79 80 87 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 206 4 79 80 90 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 207 5 81 80 84 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 208 5 81 80 87 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 209 5 81 80 90 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 210 5 84 80 87 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 211 5 84 80 90 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 212 5 87 80 90 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 213 6 82 81 80 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 214 7 81 82 83 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 215 8 255 82 81 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 216 8 255 82 83 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 217 6 82 83 79 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 218 6 85 84 80 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 219 7 84 85 86 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 220 8 528 85 84 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 221 8 528 85 86 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 222 6 85 86 79 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 223 6 88 87 80 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 224 7 87 88 89 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 225 8 357 88 87 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 226 8 357 88 89 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 227 6 88 89 79 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 228 6 91 90 80 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 229 7 90 91 92 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 230 8 591 91 90 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 231 8 591 91 92 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 232 6 91 92 79 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 233 4 94 93 97 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 234 4 94 93 100 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 235 4 94 93 103 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 236 4 94 93 106 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 237 5 97 93 100 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 238 5 97 93 103 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 239 5 97 93 106 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 240 5 100 93 103 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 241 5 100 93 106 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 242 5 103 93 106 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 243 4 93 94 95 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 244 4 93 94 98 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 245 4 93 94 101 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 246 4 93 94 104 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 247 5 95 94 98 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 248 5 95 94 101 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 249 5 95 94 104 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 250 5 98 94 101 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 251 5 98 94 104 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 252 5 101 94 104 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 253 6 96 95 94 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 254 7 95 96 97 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 255 8 499 96 95 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 256 8 499 96 97 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 257 6 96 97 93 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 258 6 99 98 94 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 259 7 98 99 100 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 260 8 539 99 98 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 261 8 539 99 100 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 262 6 99 100 93 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 263 6 102 101 94 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 264 7 101 102 103 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 265 8 375 102 101 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 266 8 375 102 103 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 267 6 102 103 93 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 268 6 105 104 94 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 269 7 104 105 106 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 270 8 463 105 104 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 271 8 463 105 106 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 272 6 105 106 93 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 273 4 108 107 111 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 274 4 108 107 114 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 275 4 108 107 117 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 276 4 108 107 120 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 277 5 111 107 114 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 278 5 111 107 117 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 279 5 111 107 120 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 280 5 114 107 117 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 281 5 114 107 120 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 282 5 117 107 120 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 283 4 107 108 109 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 284 4 107 108 112 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 285 4 107 108 115 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 286 4 107 108 118 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 287 5 109 108 112 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 288 5 109 108 115 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 289 5 109 108 118 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 290 5 112 108 115 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 291 5 112 108 118 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 292 5 115 108 118 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 293 6 110 109 108 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 294 7 109 110 111 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 295 8 508 110 109 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 296 8 508 110 111 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 297 6 110 111 107 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 298 6 113 112 108 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 299 7 112 113 114 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 300 8 616 113 112 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 301 8 616 113 114 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 302 6 113 114 107 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 303 6 116 115 108 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 304 7 115 116 117 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 305 8 251 116 115 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 306 8 251 116 117 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 307 6 116 117 107 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 308 6 119 118 108 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 309 7 118 119 120 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 310 8 465 119 118 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 311 8 465 119 120 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 312 6 119 120 107 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 313 4 122 121 125 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 314 4 122 121 128 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 315 4 122 121 131 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 316 4 122 121 134 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 317 5 125 121 128 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 318 5 125 121 131 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 319 5 125 121 134 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 320 5 128 121 131 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 321 5 128 121 134 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 322 5 131 121 134 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 323 4 121 122 123 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 324 4 121 122 126 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 325 4 121 122 129 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 326 4 121 122 132 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 327 5 123 122 126 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 328 5 123 122 129 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 329 5 123 122 132 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 330 5 126 122 129 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 331 5 126 122 132 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 332 5 129 122 132 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 333 6 124 123 122 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 334 7 123 124 125 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 335 8 510 124 123 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 336 8 510 124 125 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 337 6 124 125 121 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 338 6 127 126 122 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 339 7 126 127 128 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 340 8 544 127 126 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 341 8 544 127 128 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 342 6 127 128 121 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 343 6 130 129 122 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 344 7 129 130 131 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 345 8 355 130 129 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 346 8 355 130 131 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 347 6 130 131 121 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 348 6 133 132 122 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 349 7 132 133 134 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 350 8 449 133 132 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 351 8 449 133 134 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 352 6 133 134 121 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 353 4 136 135 139 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 354 4 136 135 142 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 355 4 136 135 145 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 356 4 136 135 148 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 357 5 139 135 142 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 358 5 139 135 145 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 359 5 139 135 148 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 360 5 142 135 145 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 361 5 142 135 148 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 362 5 145 135 148 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 363 4 135 136 137 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 364 4 135 136 140 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 365 4 135 136 143 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 366 4 135 136 146 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 367 5 137 136 140 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 368 5 137 136 143 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 369 5 137 136 146 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 370 5 140 136 143 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 371 5 140 136 146 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 372 5 143 136 146 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 373 6 138 137 136 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 374 7 137 138 139 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 375 8 456 138 137 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 376 8 456 138 139 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 377 6 138 139 135 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 378 6 141 140 136 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 379 7 140 141 142 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 380 8 228 141 140 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 381 8 228 141 142 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 382 6 141 142 135 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 383 6 144 143 136 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 384 7 143 144 145 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 385 8 593 144 143 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 386 8 593 144 145 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 387 6 144 145 135 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 388 6 147 146 136 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 389 7 146 147 148 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 390 8 483 147 146 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 391 8 483 147 148 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 392 6 147 148 135 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 393 4 150 149 153 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 394 4 150 149 156 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 395 4 150 149 159 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 396 4 150 149 162 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 397 5 153 149 156 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 398 5 153 149 159 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 399 5 153 149 162 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 400 5 156 149 159 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 401 5 156 149 162 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 402 5 159 149 162 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 403 4 149 150 151 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 404 4 149 150 154 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 405 4 149 150 157 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 406 4 149 150 160 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 407 5 151 150 154 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 408 5 151 150 157 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 409 5 151 150 160 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 410 5 154 150 157 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 411 5 154 150 160 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 412 5 157 150 160 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 413 6 152 151 150 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 414 7 151 152 153 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 415 8 454 152 151 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 416 8 454 152 153 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 417 6 152 153 149 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 418 6 155 154 150 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 419 7 154 155 156 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 420 8 366 155 154 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 421 8 366 155 156 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 422 6 155 156 149 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 423 6 158 157 150 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 424 7 157 158 159 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 425 8 530 158 157 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 426 8 530 158 159 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 427 6 158 159 149 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 428 6 161 160 150 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 429 7 160 161 162 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 430 8 490 161 160 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 431 8 490 161 162 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 432 6 161 162 149 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 433 4 164 163 167 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 434 4 164 163 170 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 435 4 164 163 173 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 436 4 164 163 176 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 437 5 167 163 170 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 438 5 167 163 173 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 439 5 167 163 176 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 440 5 170 163 173 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 441 5 170 163 176 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 442 5 173 163 176 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 443 4 163 164 165 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 444 4 163 164 168 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 445 4 163 164 171 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 446 4 163 164 174 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 447 5 165 164 168 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 448 5 165 164 171 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 449 5 165 164 174 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 450 5 168 164 171 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 451 5 168 164 174 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 452 5 171 164 174 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 453 6 166 165 164 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 454 7 165 166 167 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 455 8 494 166 165 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 456 8 494 166 167 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 457 6 166 167 163 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 458 6 169 168 164 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 459 7 168 169 170 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 460 8 611 169 168 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 461 8 611 169 170 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 462 6 169 170 163 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 463 6 172 171 164 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 464 7 171 172 173 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 465 8 276 172 171 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 466 8 276 172 173 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 467 6 172 173 163 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 468 6 175 174 164 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 469 7 174 175 176 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 470 8 476 175 174 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 471 8 476 175 176 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 472 6 175 176 163 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 473 4 178 177 181 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 474 4 178 177 184 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 475 4 178 177 187 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 476 4 178 177 190 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 477 5 181 177 184 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 478 5 181 177 187 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 479 5 181 177 190 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 480 5 184 177 187 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 481 5 184 177 190 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 482 5 187 177 190 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 483 4 177 178 179 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 484 4 177 178 182 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 485 4 177 178 185 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 486 4 177 178 188 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 487 5 179 178 182 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 488 5 179 178 185 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 489 5 179 178 188 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 490 5 182 178 185 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 491 5 182 178 188 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 492 5 185 178 188 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 493 6 180 179 178 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 494 7 179 180 181 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 495 8 517 180 179 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 496 8 517 180 181 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 497 6 180 181 177 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 498 6 183 182 178 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 499 7 182 183 184 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 500 8 485 183 182 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 501 8 485 183 184 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 502 6 183 184 177 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 503 6 186 185 178 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 504 7 185 186 187 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 505 8 474 186 185 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 506 8 474 186 187 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 507 6 186 187 177 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 508 6 189 188 178 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 509 7 188 189 190 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 510 8 382 189 188 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 511 8 382 189 190 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 512 6 189 190 177 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 513 4 192 191 195 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 514 4 192 191 198 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 515 4 192 191 201 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 516 4 192 191 204 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 517 5 195 191 198 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 518 5 195 191 201 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 519 5 195 191 204 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 520 5 198 191 201 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 521 5 198 191 204 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 522 5 201 191 204 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 523 4 191 192 193 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 524 4 191 192 196 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 525 4 191 192 199 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 526 4 191 192 202 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 527 5 193 192 196 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 528 5 193 192 199 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 529 5 193 192 202 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 530 5 196 192 199 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 531 5 196 192 202 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 532 5 199 192 202 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 533 6 194 193 192 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 534 7 193 194 195 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 535 8 445 194 193 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 536 8 445 194 195 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 537 6 194 195 191 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 538 6 197 196 192 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 539 7 196 197 198 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 540 8 205 197 196 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 541 8 205 197 198 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 542 6 197 198 191 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 543 6 200 199 192 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 544 7 199 200 201 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 545 8 598 200 199 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 546 8 598 200 201 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 547 6 200 201 191 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 548 6 203 202 192 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 549 7 202 203 204 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 550 8 503 203 202 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 551 8 503 203 204 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 552 6 203 204 191 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 553 1 206 205 210 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 554 2 197 205 206 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 555 2 197 205 210 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 556 1 205 206 207 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 557 3 205 206 211 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 558 3 207 206 211 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 559 1 206 207 208 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 560 2 39 207 206 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 561 2 39 207 208 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 562 1 207 208 209 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 563 3 207 208 212 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 564 3 209 208 212 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 565 1 208 209 210 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 566 2 415 209 208 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 567 2 415 209 210 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 568 1 205 210 209 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 569 3 205 210 213 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 570 3 209 210 213 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 571 4 215 214 218 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 572 4 215 214 221 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 573 4 215 214 224 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 574 4 215 214 227 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 575 5 218 214 221 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 576 5 218 214 224 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 577 5 218 214 227 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 578 5 221 214 224 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 579 5 221 214 227 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 580 5 224 214 227 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 581 4 214 215 216 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 582 4 214 215 219 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 583 4 214 215 222 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 584 4 214 215 225 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 585 5 216 215 219 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 586 5 216 215 222 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 587 5 216 215 225 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 588 5 219 215 222 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 589 5 219 215 225 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 590 5 222 215 225 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 591 6 217 216 215 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 592 7 216 217 218 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 593 8 24 217 216 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 594 8 24 217 218 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 595 6 217 218 214 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 596 6 220 219 215 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 597 7 219 220 221 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 598 8 501 220 219 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 599 8 501 220 221 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 600 6 220 221 214 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 601 6 223 222 215 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 602 7 222 223 224 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 603 8 472 223 222 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 604 8 472 223 224 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 605 6 223 224 214 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 606 6 226 225 215 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 607 7 225 226 227 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 608 8 584 226 225 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 609 8 584 226 227 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 610 6 226 227 214 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 611 1 229 228 233 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 612 2 141 228 229 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 613 2 141 228 233 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 614 1 228 229 230 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 615 3 228 229 234 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 616 3 230 229 234 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 617 1 229 230 231 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 618 2 19 230 229 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 619 2 19 230 231 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 620 1 230 231 232 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 621 3 230 231 235 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 622 3 232 231 235 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 623 1 231 232 233 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 624 2 426 232 231 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 625 2 426 232 233 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 626 1 228 233 232 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 627 3 228 233 236 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 628 3 232 233 236 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 629 4 238 237 241 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 630 4 238 237 244 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 631 4 238 237 247 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 632 4 238 237 250 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 633 5 241 237 244 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 634 5 241 237 247 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 635 5 241 237 250 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 636 5 244 237 247 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 637 5 244 237 250 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 638 5 247 237 250 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 639 4 237 238 239 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 640 4 237 238 242 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 641 4 237 238 245 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 642 4 237 238 248 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 643 5 239 238 242 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 644 5 239 238 245 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 645 5 239 238 248 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 646 5 242 238 245 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 647 5 242 238 248 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 648 5 245 238 248 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 649 6 240 239 238 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 650 7 239 240 241 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 651 8 1 240 239 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 652 8 1 240 241 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 653 6 240 241 237 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 654 6 243 242 238 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 655 7 242 243 244 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 656 8 481 243 242 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 657 8 481 243 244 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 658 6 243 244 237 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 659 6 246 245 238 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 660 7 245 246 247 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 661 8 467 246 245 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 662 8 467 246 247 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 663 6 246 247 237 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 664 6 249 248 238 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 665 7 248 249 250 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 666 8 575 249 248 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 667 8 575 249 250 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 668 6 249 250 237 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 669 1 252 251 256 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 670 2 116 251 252 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 671 2 116 251 256 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 672 1 251 252 253 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 673 3 251 252 257 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 674 3 253 252 257 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 675 1 252 253 254 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 676 2 392 253 252 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 677 2 392 253 254 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 678 1 253 254 255 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 679 3 253 254 258 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 680 3 255 254 258 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 681 1 254 255 256 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 682 2 82 255 254 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 683 2 82 255 256 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 684 1 251 256 255 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 685 3 251 256 259 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 686 3 255 256 259 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 687 4 261 260 264 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 688 4 261 260 267 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 689 4 261 260 270 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 690 4 261 260 273 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 691 5 264 260 267 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 692 5 264 260 270 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 693 5 264 260 273 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 694 5 267 260 270 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 695 5 267 260 273 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 696 5 270 260 273 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 697 4 260 261 262 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 698 4 260 261 265 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 699 4 260 261 268 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 700 4 260 261 271 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 701 5 262 261 265 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 702 5 262 261 268 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 703 5 262 261 271 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 704 5 265 261 268 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 705 5 265 261 271 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 706 5 268 261 271 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 707 6 263 262 261 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 708 7 262 263 264 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 709 8 458 263 262 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 710 8 458 263 264 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 711 6 263 264 260 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 712 6 266 265 261 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 713 7 265 266 267 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 714 8 566 266 265 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 715 8 566 266 267 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 716 6 266 267 260 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 717 6 269 268 261 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 718 7 268 269 270 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 719 8 72 269 268 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 720 8 72 269 270 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 721 6 269 270 260 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 722 6 272 271 261 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 723 7 271 272 273 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 724 8 512 272 271 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 725 8 512 272 273 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 726 6 272 273 260 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 727 1 275 274 279 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 728 2 59 274 275 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 729 2 59 274 279 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 730 1 274 275 276 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 731 3 274 275 280 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 732 3 276 275 280 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 733 1 275 276 277 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 734 2 172 276 275 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 735 2 172 276 277 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 736 1 276 277 278 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 737 3 276 277 281 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 738 3 278 277 281 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 739 1 277 278 279 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 740 2 434 278 277 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 741 2 434 278 279 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 742 1 274 279 278 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 743 3 274 279 282 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 744 3 278 279 282 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 745 4 284 283 287 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 746 4 284 283 290 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 747 4 284 283 293 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 748 4 284 283 296 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 749 5 287 283 290 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 750 5 287 283 293 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 751 5 287 283 296 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 752 5 290 283 293 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 753 5 290 283 296 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 754 5 293 283 296 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 755 4 283 284 285 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 756 4 283 284 288 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 757 4 283 284 291 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 758 4 283 284 294 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 759 5 285 284 288 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 760 5 285 284 291 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 761 5 285 284 294 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 762 5 288 284 291 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 763 5 288 284 294 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 764 5 291 284 294 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 765 6 286 285 284 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 766 7 285 286 287 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 767 8 49 286 285 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 768 8 49 286 287 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 769 6 286 287 283 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 770 6 289 288 284 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 771 7 288 289 290 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 772 8 492 289 288 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 773 8 492 289 290 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 774 6 289 290 283 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 775 6 292 291 284 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 776 7 291 292 293 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 777 8 447 292 291 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 778 8 447 292 293 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 779 6 292 293 283 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 780 6 295 294 284 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 781 7 294 295 296 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 782 8 555 295 294 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 783 8 555 295 296 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 784 6 295 296 283 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 785 4 298 297 301 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 786 4 298 297 304 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 787 4 298 297 307 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 788 4 298 297 310 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 789 5 301 297 304 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 790 5 301 297 307 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 791 5 301 297 310 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 792 5 304 297 307 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 793 5 304 297 310 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 794 5 307 297 310 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 795 4 297 298 299 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 796 4 297 298 302 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 797 4 297 298 305 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 798 4 297 298 308 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 799 5 299 298 302 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 800 5 299 298 305 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 801 5 299 298 308 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 802 5 302 298 305 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 803 5 302 298 308 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 804 5 305 298 308 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 805 6 300 299 298 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 806 7 299 300 301 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 807 8 546 300 299 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 808 8 546 300 301 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 809 6 300 301 297 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 810 6 303 302 298 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 811 7 302 303 304 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 812 8 582 303 302 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 813 8 582 303 304 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 814 6 303 304 297 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 815 6 306 305 298 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 816 7 305 306 307 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 817 8 47 306 305 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 818 8 47 306 307 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 819 6 306 307 297 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 820 6 309 308 298 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 821 7 308 309 310 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 822 8 371 309 308 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 823 8 371 309 310 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 824 6 309 310 297 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 825 4 312 311 315 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 826 4 312 311 318 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 827 4 312 311 321 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 828 4 312 311 324 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 829 5 315 311 318 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 830 5 315 311 321 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 831 5 315 311 324 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 832 5 318 311 321 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 833 5 318 311 324 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 834 5 321 311 324 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 835 4 311 312 313 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 836 4 311 312 316 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 837 4 311 312 319 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 838 4 311 312 322 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 839 5 313 312 316 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 840 5 313 312 319 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 841 5 313 312 322 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 842 5 316 312 319 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 843 5 316 312 322 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 844 5 319 312 322 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 845 6 314 313 312 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 846 7 313 314 315 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 847 8 557 314 313 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 848 8 557 314 315 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 849 6 314 315 311 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 850 6 317 316 312 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 851 7 316 317 318 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 852 8 519 317 316 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 853 8 519 317 318 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 854 6 317 318 311 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 855 6 320 319 312 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 856 7 319 320 321 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 857 8 362 320 319 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 858 8 362 320 321 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 859 6 320 321 311 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 860 6 323 322 312 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 861 7 322 323 324 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 862 8 26 323 322 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 863 8 26 323 324 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 864 6 323 324 311 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 865 4 326 325 329 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 866 4 326 325 332 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 867 4 326 325 335 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 868 4 326 325 338 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 869 5 329 325 332 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 870 5 329 325 335 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 871 5 329 325 338 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 872 5 332 325 335 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 873 5 332 325 338 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 874 5 335 325 338 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 875 4 325 326 327 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 876 4 325 326 330 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 877 4 325 326 333 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 878 4 325 326 336 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 879 5 327 326 330 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 880 5 327 326 333 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 881 5 327 326 336 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 882 5 330 326 333 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 883 5 330 326 336 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 884 5 333 326 336 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 885 6 328 327 326 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 886 7 327 328 329 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 887 8 70 328 327 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 888 8 70 328 329 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 889 6 328 329 325 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 890 6 331 330 326 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 891 7 330 331 332 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 892 8 384 331 330 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 893 8 384 331 332 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 894 6 331 332 325 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 895 6 334 333 326 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 896 7 333 334 335 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 897 8 526 334 333 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 898 8 526 334 335 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 899 6 334 335 325 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 900 6 337 336 326 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 901 7 336 337 338 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 902 8 571 337 336 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 903 8 571 337 338 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 904 6 337 338 325 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 905 4 340 339 343 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 906 4 340 339 346 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 907 4 340 339 349 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 908 4 340 339 352 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 909 5 343 339 346 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 910 5 343 339 349 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 911 5 343 339 352 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 912 5 346 339 349 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 913 5 346 339 352 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 914 5 349 339 352 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 915 4 339 340 341 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 916 4 339 340 344 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 917 4 339 340 347 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 918 4 339 340 350 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 919 5 341 340 344 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 920 5 341 340 347 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 921 5 341 340 350 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 922 5 344 340 347 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 923 5 344 340 350 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 924 5 347 340 350 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 925 6 342 341 340 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 926 7 341 342 343 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 927 8 564 342 341 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 928 8 564 342 343 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 929 6 342 343 339 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 930 6 345 344 340 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 931 7 344 345 346 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 932 8 535 345 344 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 933 8 535 345 346 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 934 6 345 346 339 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 935 6 348 347 340 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 936 7 347 348 349 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 937 8 353 348 347 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 938 8 353 348 349 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 939 6 348 349 339 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 940 6 351 350 340 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 941 7 350 351 352 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 942 8 3 351 350 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 943 8 3 351 352 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 944 6 351 352 339 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 945 1 354 353 358 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 946 2 348 353 354 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 947 2 348 353 358 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 948 1 353 354 355 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 949 3 353 354 359 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 950 3 355 354 359 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 951 1 354 355 356 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 952 2 130 355 354 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 953 2 130 355 356 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 954 1 355 356 357 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 955 3 355 356 360 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 956 3 357 356 360 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 957 1 356 357 358 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 958 2 88 357 356 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 959 2 88 357 358 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 960 1 353 358 357 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 961 3 353 358 361 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 962 3 357 358 361 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 963 1 363 362 367 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 964 2 320 362 363 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 965 2 320 362 367 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 966 1 362 363 364 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 967 3 362 363 368 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 968 3 364 363 368 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 969 1 363 364 365 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 970 2 65 364 363 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 971 2 65 364 365 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 972 1 364 365 366 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 973 3 364 365 369 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 974 3 366 365 369 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 975 1 365 366 367 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 976 2 155 366 365 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 977 2 155 366 367 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 978 1 362 367 366 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 979 3 362 367 370 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 980 3 366 367 370 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 981 1 372 371 376 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 982 2 309 371 372 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 983 2 309 371 376 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 984 1 371 372 373 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 985 3 371 372 377 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 986 3 373 372 377 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 987 1 372 373 374 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 988 2 45 373 372 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 989 2 45 373 374 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 990 1 373 374 375 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 991 3 373 374 378 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 992 3 375 374 378 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 993 1 374 375 376 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 994 2 102 375 374 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 995 2 102 375 376 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 996 1 371 376 375 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 997 3 371 376 379 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 998 3 375 376 379 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 999 1 381 380 385 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1000 2 13 380 381 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1001 2 13 380 385 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1002 1 380 381 382 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1003 3 380 381 386 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1004 3 382 381 386 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1005 1 381 382 383 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1006 2 189 382 381 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1007 2 189 382 383 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1008 1 382 383 384 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1009 3 382 383 387 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1010 3 384 383 387 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1011 1 383 384 385 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1012 2 331 384 383 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1013 2 331 384 385 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1014 1 380 385 384 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1015 3 380 385 388 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1016 3 384 385 388 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1017 4 390 389 393 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1018 4 390 389 396 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1019 4 390 389 399 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1020 4 390 389 402 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1021 5 393 389 396 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1022 5 393 389 399 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1023 5 393 389 402 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1024 5 396 389 399 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1025 5 396 389 402 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1026 5 399 389 402 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1027 4 389 390 391 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1028 4 389 390 394 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1029 4 389 390 397 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1030 4 389 390 400 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1031 5 391 390 394 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1032 5 391 390 397 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1033 5 391 390 400 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1034 5 394 390 397 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1035 5 394 390 400 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1036 5 397 390 400 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1037 6 392 391 390 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1038 7 391 392 393 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 1039 8 253 392 391 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1040 8 253 392 393 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1041 6 392 393 389 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1042 6 395 394 390 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1043 7 394 395 396 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 1044 8 51 395 394 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1045 8 51 395 396 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1046 6 395 396 389 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1047 6 398 397 390 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1048 7 397 398 399 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 1049 8 562 398 397 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1050 8 562 398 399 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1051 6 398 399 389 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1052 6 401 400 390 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1053 7 400 401 402 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 1054 8 602 401 400 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1055 8 602 401 402 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1056 6 401 402 389 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1057 4 404 403 407 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1058 4 404 403 410 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1059 4 404 403 413 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1060 4 404 403 416 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1061 5 407 403 410 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1062 5 407 403 413 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1063 5 407 403 416 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1064 5 410 403 413 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1065 5 410 403 416 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1066 5 413 403 416 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1067 4 403 404 405 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1068 4 403 404 408 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1069 4 403 404 411 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1070 4 403 404 414 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1071 5 405 404 408 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1072 5 405 404 411 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1073 5 405 404 414 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1074 5 408 404 411 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1075 5 408 404 414 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1076 5 411 404 414 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1077 6 406 405 404 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1078 7 405 406 407 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 1079 8 620 406 405 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1080 8 620 406 407 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1081 6 406 407 403 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1082 6 409 408 404 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1083 7 408 409 410 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 1084 8 580 409 408 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1085 8 580 409 410 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1086 6 409 410 403 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1087 6 412 411 404 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1088 7 411 412 413 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 1089 8 5 412 411 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1090 8 5 412 413 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1091 6 412 413 403 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1092 6 415 414 404 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1093 7 414 415 416 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 1094 8 209 415 414 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1095 8 209 415 416 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1096 6 415 416 403 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1097 4 418 417 421 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1098 4 418 417 424 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1099 4 418 417 427 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1100 4 418 417 430 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1101 5 421 417 424 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1102 5 421 417 427 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1103 5 421 417 430 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1104 5 424 417 427 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1105 5 424 417 430 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1106 5 427 417 430 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1107 4 417 418 419 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1108 4 417 418 422 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1109 4 417 418 425 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1110 4 417 418 428 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1111 5 419 418 422 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1112 5 419 418 425 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1113 5 419 418 428 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1114 5 422 418 425 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1115 5 422 418 428 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1116 5 425 418 428 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1117 6 420 419 418 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1118 7 419 420 421 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 1119 8 573 420 419 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1120 8 573 420 421 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1121 6 420 421 417 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1122 6 423 422 418 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1123 7 422 423 424 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 1124 8 607 423 422 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1125 8 607 423 424 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1126 6 423 424 417 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1127 6 426 425 418 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1128 7 425 426 427 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 1129 8 232 426 425 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1130 8 232 426 427 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1131 6 426 427 417 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1132 6 429 428 418 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1133 7 428 429 430 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 1134 8 28 429 428 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1135 8 28 429 430 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1136 6 429 430 417 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1137 4 432 431 435 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1138 4 432 431 438 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1139 4 432 431 441 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1140 4 432 431 444 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1141 5 435 431 438 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1142 5 435 431 441 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1143 5 435 431 444 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1144 5 438 431 441 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1145 5 438 431 444 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1146 5 441 431 444 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1147 4 431 432 433 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1148 4 431 432 436 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1149 4 431 432 439 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1150 4 431 432 442 # ('mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1151 5 433 432 436 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1152 5 433 432 439 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1153 5 433 432 442 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1154 5 436 432 439 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1155 5 436 432 442 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1156 5 439 432 442 # ('fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1157 6 434 433 432 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1158 7 433 434 435 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 1159 8 278 434 433 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1160 8 278 434 435 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1161 6 434 435 431 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1162 6 437 436 432 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1163 7 436 437 438 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 1164 8 74 437 436 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1165 8 74 437 438 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1166 6 437 438 431 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1167 6 440 439 432 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1168 7 439 440 441 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 1169 8 553 440 439 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1170 8 553 440 441 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1171 6 440 441 431 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1172 6 443 442 432 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1173 7 442 443 444 # ('mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW', 'strbnd->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW') + 1174 8 589 443 442 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1175 8 589 443 444 # ('mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW',) + 1176 6 443 444 431 # ('mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1177 1 446 445 450 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1178 2 194 445 446 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1179 2 194 445 450 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1180 1 445 446 447 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1181 3 445 446 451 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1182 3 447 446 451 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1183 1 446 447 448 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1184 2 292 447 446 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1185 2 292 447 448 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1186 1 447 448 449 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1187 3 447 448 452 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1188 3 449 448 452 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1189 1 448 449 450 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1190 2 133 449 448 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1191 2 133 449 450 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1192 1 445 450 449 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1193 3 445 450 453 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1194 3 449 450 453 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1195 1 455 454 459 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1196 2 152 454 455 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1197 2 152 454 459 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1198 1 454 455 456 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1199 3 454 455 460 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1200 3 456 455 460 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1201 1 455 456 457 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1202 2 138 456 455 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1203 2 138 456 457 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1204 1 456 457 458 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1205 3 456 457 461 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1206 3 458 457 461 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1207 1 457 458 459 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1208 2 263 458 457 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1209 2 263 458 459 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1210 1 454 459 458 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1211 3 454 459 462 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1212 3 458 459 462 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1213 1 464 463 468 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1214 2 105 463 464 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1215 2 105 463 468 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1216 1 463 464 465 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1217 3 463 464 469 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1218 3 465 464 469 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1219 1 464 465 466 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1220 2 119 465 464 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1221 2 119 465 466 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1222 1 465 466 467 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1223 3 465 466 470 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1224 3 467 466 470 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1225 1 466 467 468 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1226 2 246 467 466 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1227 2 246 467 468 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1228 1 463 468 467 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1229 3 463 468 471 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1230 3 467 468 471 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1231 1 473 472 477 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1232 2 223 472 473 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1233 2 223 472 477 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1234 1 472 473 474 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1235 3 472 473 478 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1236 3 474 473 478 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1237 1 473 474 475 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1238 2 186 474 473 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1239 2 186 474 475 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1240 1 474 475 476 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1241 3 474 475 479 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1242 3 476 475 479 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1243 1 475 476 477 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1244 2 175 476 475 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1245 2 175 476 477 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1246 1 472 477 476 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1247 3 472 477 480 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1248 3 476 477 480 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1249 1 482 481 486 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1250 2 243 481 482 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1251 2 243 481 486 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1252 1 481 482 483 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1253 3 481 482 487 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1254 3 483 482 487 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1255 1 482 483 484 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1256 2 147 483 482 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1257 2 147 483 484 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1258 1 483 484 485 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1259 3 483 484 488 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1260 3 485 484 488 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1261 1 484 485 486 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1262 2 183 485 484 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1263 2 183 485 486 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1264 1 481 486 485 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1265 3 481 486 489 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1266 3 485 486 489 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1267 1 491 490 495 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1268 2 161 490 491 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1269 2 161 490 495 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1270 1 490 491 492 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1271 3 490 491 496 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1272 3 492 491 496 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1273 1 491 492 493 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1274 2 289 492 491 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1275 2 289 492 493 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1276 1 492 493 494 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1277 3 492 493 497 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1278 3 494 493 497 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1279 1 493 494 495 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1280 2 166 494 493 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1281 2 166 494 495 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1282 1 490 495 494 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1283 3 490 495 498 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1284 3 494 495 498 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1285 1 500 499 504 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1286 2 96 499 500 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1287 2 96 499 504 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1288 1 499 500 501 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1289 3 499 500 505 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1290 3 501 500 505 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1291 1 500 501 502 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1292 2 220 501 500 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1293 2 220 501 502 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1294 1 501 502 503 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1295 3 501 502 506 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1296 3 503 502 506 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1297 1 502 503 504 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1298 2 203 503 502 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1299 2 203 503 504 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1300 1 499 504 503 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1301 3 499 504 507 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1302 3 503 504 507 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1303 1 509 508 513 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1304 2 110 508 509 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1305 2 110 508 513 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1306 1 508 509 510 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1307 3 508 509 514 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1308 3 510 509 514 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1309 1 509 510 511 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1310 2 124 510 509 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1311 2 124 510 511 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1312 1 510 511 512 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1313 3 510 511 515 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1314 3 512 511 515 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1315 1 511 512 513 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1316 2 272 512 511 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1317 2 272 512 513 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1318 1 508 513 512 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1319 3 508 513 516 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1320 3 512 513 516 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1321 1 518 517 522 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1322 2 180 517 518 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1323 2 180 517 522 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1324 1 517 518 519 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1325 3 517 518 523 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1326 3 519 518 523 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1327 1 518 519 520 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1328 2 317 519 518 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1329 2 317 519 520 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1330 1 519 520 521 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1331 3 519 520 524 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1332 3 521 520 524 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1333 1 520 521 522 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1334 2 36 521 520 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1335 2 36 521 522 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1336 1 517 522 521 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1337 3 517 522 525 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1338 3 521 522 525 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1339 1 527 526 531 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1340 2 334 526 527 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1341 2 334 526 531 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1342 1 526 527 528 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1343 3 526 527 532 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1344 3 528 527 532 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1345 1 527 528 529 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1346 2 85 528 527 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1347 2 85 528 529 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1348 1 528 529 530 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1349 3 528 529 533 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1350 3 530 529 533 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1351 1 529 530 531 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1352 2 158 530 529 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1353 2 158 530 531 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1354 1 526 531 530 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1355 3 526 531 534 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1356 3 530 531 534 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1357 1 536 535 540 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1358 2 345 535 536 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1359 2 345 535 540 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1360 1 535 536 537 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1361 3 535 536 541 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1362 3 537 536 541 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1363 1 536 537 538 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1364 2 22 537 536 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1365 2 22 537 538 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1366 1 537 538 539 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1367 3 537 538 542 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1368 3 539 538 542 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1369 1 538 539 540 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1370 2 99 539 538 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1371 2 99 539 540 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1372 1 535 540 539 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1373 3 535 540 543 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1374 3 539 540 543 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1375 1 545 544 549 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1376 2 127 544 545 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1377 2 127 544 549 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1378 1 544 545 546 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1379 3 544 545 550 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1380 3 546 545 550 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1381 1 545 546 547 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1382 2 300 546 545 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1383 2 300 546 547 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1384 1 546 547 548 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1385 3 546 547 551 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1386 3 548 547 551 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1387 1 547 548 549 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1388 2 62 548 547 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1389 2 62 548 549 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1390 1 544 549 548 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1391 3 544 549 552 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1392 3 548 549 552 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1393 1 554 553 558 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1394 2 440 553 554 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1395 2 440 553 558 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1396 1 553 554 555 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1397 3 553 554 559 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1398 3 555 554 559 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1399 1 554 555 556 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1400 2 295 555 554 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1401 2 295 555 556 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1402 1 555 556 557 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1403 3 555 556 560 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1404 3 557 556 560 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1405 1 556 557 558 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1406 2 314 557 556 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1407 2 314 557 558 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1408 1 553 558 557 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1409 3 553 558 561 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1410 3 557 558 561 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1411 1 563 562 567 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1412 2 398 562 563 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1413 2 398 562 567 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1414 1 562 563 564 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1415 3 562 563 568 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1416 3 564 563 568 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1417 1 563 564 565 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1418 2 342 564 563 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1419 2 342 564 565 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1420 1 564 565 566 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1421 3 564 565 569 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1422 3 566 565 569 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1423 1 565 566 567 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1424 2 266 566 565 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1425 2 266 566 567 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1426 1 562 567 566 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1427 3 562 567 570 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1428 3 566 567 570 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1429 1 572 571 576 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1430 2 337 571 572 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1431 2 337 571 576 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1432 1 571 572 573 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1433 3 571 572 577 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1434 3 573 572 577 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1435 1 572 573 574 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1436 2 420 573 572 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1437 2 420 573 574 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1438 1 573 574 575 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1439 3 573 574 578 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1440 3 575 574 578 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1441 1 574 575 576 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1442 2 249 575 574 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1443 2 249 575 576 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1444 1 571 576 575 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1445 3 571 576 579 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1446 3 575 576 579 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1447 1 581 580 585 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1448 2 409 580 581 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1449 2 409 580 585 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1450 1 580 581 582 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1451 3 580 581 586 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1452 3 582 581 586 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1453 1 581 582 583 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1454 2 303 582 581 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1455 2 303 582 583 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1456 1 582 583 584 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1457 3 582 583 587 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1458 3 584 583 587 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1459 1 583 584 585 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1460 2 226 584 583 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1461 2 226 584 585 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1462 1 580 585 584 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1463 3 580 585 588 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1464 3 584 585 588 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1465 1 590 589 594 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1466 2 443 589 590 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1467 2 443 589 594 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1468 1 589 590 591 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1469 3 589 590 595 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1470 3 591 590 595 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1471 1 590 591 592 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1472 2 91 591 590 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1473 2 91 591 592 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1474 1 591 592 593 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1475 3 591 592 596 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1476 3 593 592 596 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1477 1 592 593 594 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1478 2 144 593 592 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1479 2 144 593 594 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1480 1 589 594 593 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1481 3 589 594 597 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1482 3 593 594 597 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1483 1 599 598 603 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1484 2 200 598 599 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1485 2 200 598 603 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1486 1 598 599 600 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1487 3 598 599 604 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1488 3 600 599 604 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1489 1 599 600 601 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1490 2 68 600 599 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1491 2 68 600 601 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1492 1 600 601 602 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1493 3 600 601 605 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1494 3 602 601 605 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1495 1 601 602 603 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1496 2 401 602 601 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1497 2 401 602 603 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1498 1 598 603 602 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1499 3 598 603 606 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1500 3 602 603 606 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1501 1 608 607 612 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1502 2 423 607 608 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1503 2 423 607 612 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1504 1 607 608 609 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1505 3 607 608 613 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1506 3 609 608 613 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1507 1 608 609 610 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1508 2 42 609 608 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1509 2 42 609 610 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1510 1 609 610 611 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1511 3 609 610 614 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1512 3 611 610 614 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1513 1 610 611 612 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1514 2 169 611 610 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1515 2 169 611 612 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1516 1 607 612 611 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1517 3 607 612 615 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1518 3 611 612 615 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1519 1 617 616 621 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1520 2 113 616 617 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1521 2 113 616 621 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1522 1 616 617 618 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1523 3 616 617 622 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1524 3 618 617 622 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1525 1 617 618 619 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1526 2 16 618 617 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1527 2 16 618 619 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1528 1 618 619 620 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1529 3 618 619 623 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1530 3 620 619 623 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1531 1 619 620 621 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1532 2 406 620 619 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1533 2 406 620 621 # ('mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1534 1 616 621 620 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene') + 1535 3 616 621 624 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + 1536 3 620 621 624 # ('mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene', 'strbnd->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene') + +Dihedrals + + 1 1 6 1 2 3 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2 2 6 1 2 7 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 3 3 240 1 2 3 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 4 4 240 1 2 7 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 5 1 2 1 6 5 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 6 2 2 1 6 9 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 7 3 240 1 6 5 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 8 4 240 1 6 9 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 9 5 2 1 240 239 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 10 5 2 1 240 241 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 11 5 6 1 240 239 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 12 5 6 1 240 241 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 13 1 1 2 3 4 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 14 3 1 2 3 351 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 15 2 7 2 3 4 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 16 4 7 2 3 351 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 17 1 2 3 4 5 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 18 2 2 3 4 8 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 19 3 351 3 4 5 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 20 4 351 3 4 8 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 21 5 2 3 351 350 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 22 5 2 3 351 352 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 23 5 4 3 351 350 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 24 5 4 3 351 352 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 25 1 3 4 5 6 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 26 3 3 4 5 412 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 27 2 8 4 5 6 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 28 4 8 4 5 412 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 29 1 4 5 6 1 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 30 2 4 5 6 9 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 31 3 412 5 6 1 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 32 4 412 5 6 9 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 33 5 4 5 412 411 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 34 5 4 5 412 413 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 35 5 6 5 412 411 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 36 5 6 5 412 413 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 37 6 14 10 11 12 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 38 6 14 10 11 15 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 39 6 14 10 11 18 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 40 6 14 10 11 21 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 41 6 17 10 11 12 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 42 6 17 10 11 15 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 43 6 17 10 11 18 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 44 6 17 10 11 21 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 45 6 20 10 11 12 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 46 6 20 10 11 15 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 47 6 20 10 11 18 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 48 6 20 10 11 21 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 49 6 23 10 11 12 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 50 6 23 10 11 15 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 51 6 23 10 11 18 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 52 6 23 10 11 21 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 53 7 11 10 14 13 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 54 8 17 10 14 13 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 55 8 20 10 14 13 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 56 8 23 10 14 13 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 57 7 11 10 17 16 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 58 8 14 10 17 16 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 59 8 20 10 17 16 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 60 8 23 10 17 16 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 61 7 11 10 20 19 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 62 8 14 10 20 19 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 63 8 17 10 20 19 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 64 8 23 10 20 19 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 65 7 11 10 23 22 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 66 8 14 10 23 22 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 67 8 17 10 23 22 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 68 8 20 10 23 22 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 69 7 10 11 12 13 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 70 8 15 11 12 13 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 71 8 18 11 12 13 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 72 8 21 11 12 13 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 73 7 10 11 15 16 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 74 8 12 11 15 16 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 75 8 18 11 15 16 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 76 8 21 11 15 16 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 77 7 10 11 18 19 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 78 8 12 11 18 19 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 79 8 15 11 18 19 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 80 8 21 11 18 19 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 81 7 10 11 21 22 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 82 8 12 11 21 22 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 83 8 15 11 21 22 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 84 8 18 11 21 22 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 85 9 11 12 13 14 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 86 10 11 12 13 380 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 87 9 12 13 14 10 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 88 10 380 13 14 10 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 89 5 12 13 380 381 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 90 5 12 13 380 385 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 91 5 14 13 380 381 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 92 5 14 13 380 385 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 93 9 11 15 16 17 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 94 10 11 15 16 618 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 95 9 15 16 17 10 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 96 10 618 16 17 10 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 97 5 15 16 618 617 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 98 5 15 16 618 619 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 99 5 17 16 618 617 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 100 5 17 16 618 619 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 101 9 11 18 19 20 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 102 10 11 18 19 230 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 103 9 18 19 20 10 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 104 10 230 19 20 10 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 105 5 18 19 230 229 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 106 5 18 19 230 231 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 107 5 20 19 230 229 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 108 5 20 19 230 231 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 109 9 11 21 22 23 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 110 10 11 21 22 537 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 111 9 21 22 23 10 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 112 10 537 22 23 10 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 113 5 21 22 537 536 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 114 5 21 22 537 538 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 115 5 23 22 537 536 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 116 5 23 22 537 538 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 117 1 29 24 25 26 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 118 2 29 24 25 30 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 119 3 217 24 25 26 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 120 4 217 24 25 30 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 121 1 25 24 29 28 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 122 2 25 24 29 32 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 123 3 217 24 29 28 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 124 4 217 24 29 32 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 125 5 25 24 217 216 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 126 5 25 24 217 218 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 127 5 29 24 217 216 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 128 5 29 24 217 218 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 129 1 24 25 26 27 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 130 3 24 25 26 323 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 131 2 30 25 26 27 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 132 4 30 25 26 323 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 133 1 25 26 27 28 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 134 2 25 26 27 31 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 135 3 323 26 27 28 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 136 4 323 26 27 31 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 137 5 25 26 323 322 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 138 5 25 26 323 324 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 139 5 27 26 323 322 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 140 5 27 26 323 324 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 141 1 26 27 28 29 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 142 3 26 27 28 429 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 143 2 31 27 28 29 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 144 4 31 27 28 429 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 145 1 27 28 29 24 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 146 2 27 28 29 32 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 147 3 429 28 29 24 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 148 4 429 28 29 32 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 149 5 27 28 429 428 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 150 5 27 28 429 430 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 151 5 29 28 429 428 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 152 5 29 28 429 430 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 153 6 37 33 34 35 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 154 6 37 33 34 38 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 155 6 37 33 34 41 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 156 6 37 33 34 44 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 157 6 40 33 34 35 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 158 6 40 33 34 38 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 159 6 40 33 34 41 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 160 6 40 33 34 44 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 161 6 43 33 34 35 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 162 6 43 33 34 38 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 163 6 43 33 34 41 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 164 6 43 33 34 44 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 165 6 46 33 34 35 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 166 6 46 33 34 38 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 167 6 46 33 34 41 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 168 6 46 33 34 44 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 169 7 34 33 37 36 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 170 8 40 33 37 36 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 171 8 43 33 37 36 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 172 8 46 33 37 36 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 173 7 34 33 40 39 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 174 8 37 33 40 39 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 175 8 43 33 40 39 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 176 8 46 33 40 39 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 177 7 34 33 43 42 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 178 8 37 33 43 42 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 179 8 40 33 43 42 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 180 8 46 33 43 42 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 181 7 34 33 46 45 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 182 8 37 33 46 45 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 183 8 40 33 46 45 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 184 8 43 33 46 45 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 185 7 33 34 35 36 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 186 8 38 34 35 36 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 187 8 41 34 35 36 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 188 8 44 34 35 36 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 189 7 33 34 38 39 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 190 8 35 34 38 39 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 191 8 41 34 38 39 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 192 8 44 34 38 39 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 193 7 33 34 41 42 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 194 8 35 34 41 42 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 195 8 38 34 41 42 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 196 8 44 34 41 42 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 197 7 33 34 44 45 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 198 8 35 34 44 45 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 199 8 38 34 44 45 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 200 8 41 34 44 45 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 201 9 34 35 36 37 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 202 10 34 35 36 521 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 203 9 35 36 37 33 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 204 10 521 36 37 33 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 205 5 35 36 521 520 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 206 5 35 36 521 522 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 207 5 37 36 521 520 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 208 5 37 36 521 522 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 209 9 34 38 39 40 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 210 10 34 38 39 207 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 211 9 38 39 40 33 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 212 10 207 39 40 33 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 213 5 38 39 207 206 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 214 5 38 39 207 208 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 215 5 40 39 207 206 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 216 5 40 39 207 208 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 217 9 34 41 42 43 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 218 10 34 41 42 609 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 219 9 41 42 43 33 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 220 10 609 42 43 33 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 221 5 41 42 609 608 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 222 5 41 42 609 610 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 223 5 43 42 609 608 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 224 5 43 42 609 610 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 225 9 34 44 45 46 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 226 10 34 44 45 373 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 227 9 44 45 46 33 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 228 10 373 45 46 33 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 229 5 44 45 373 372 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 230 5 44 45 373 374 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 231 5 46 45 373 372 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 232 5 46 45 373 374 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 233 1 52 47 48 49 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 234 2 52 47 48 53 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 235 3 306 47 48 49 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 236 4 306 47 48 53 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 237 1 48 47 52 51 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 238 2 48 47 52 55 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 239 3 306 47 52 51 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 240 4 306 47 52 55 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 241 5 48 47 306 305 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 242 5 48 47 306 307 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 243 5 52 47 306 305 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 244 5 52 47 306 307 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 245 1 47 48 49 50 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 246 3 47 48 49 286 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 247 2 53 48 49 50 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 248 4 53 48 49 286 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 249 1 48 49 50 51 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 250 2 48 49 50 54 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 251 3 286 49 50 51 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 252 4 286 49 50 54 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 253 5 48 49 286 285 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 254 5 48 49 286 287 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 255 5 50 49 286 285 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 256 5 50 49 286 287 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 257 1 49 50 51 52 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 258 3 49 50 51 395 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 259 2 54 50 51 52 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 260 4 54 50 51 395 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 261 1 50 51 52 47 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 262 2 50 51 52 55 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 263 3 395 51 52 47 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 264 4 395 51 52 55 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 265 5 50 51 395 394 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 266 5 50 51 395 396 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 267 5 52 51 395 394 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 268 5 52 51 395 396 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 269 6 60 56 57 58 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 270 6 60 56 57 61 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 271 6 60 56 57 64 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 272 6 60 56 57 67 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 273 6 63 56 57 58 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 274 6 63 56 57 61 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 275 6 63 56 57 64 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 276 6 63 56 57 67 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 277 6 66 56 57 58 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 278 6 66 56 57 61 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 279 6 66 56 57 64 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 280 6 66 56 57 67 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 281 6 69 56 57 58 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 282 6 69 56 57 61 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 283 6 69 56 57 64 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 284 6 69 56 57 67 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 285 7 57 56 60 59 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 286 8 63 56 60 59 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 287 8 66 56 60 59 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 288 8 69 56 60 59 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 289 7 57 56 63 62 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 290 8 60 56 63 62 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 291 8 66 56 63 62 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 292 8 69 56 63 62 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 293 7 57 56 66 65 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 294 8 60 56 66 65 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 295 8 63 56 66 65 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 296 8 69 56 66 65 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 297 7 57 56 69 68 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 298 8 60 56 69 68 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 299 8 63 56 69 68 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 300 8 66 56 69 68 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 301 7 56 57 58 59 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 302 8 61 57 58 59 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 303 8 64 57 58 59 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 304 8 67 57 58 59 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 305 7 56 57 61 62 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 306 8 58 57 61 62 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 307 8 64 57 61 62 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 308 8 67 57 61 62 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 309 7 56 57 64 65 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 310 8 58 57 64 65 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 311 8 61 57 64 65 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 312 8 67 57 64 65 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 313 7 56 57 67 68 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 314 8 58 57 67 68 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 315 8 61 57 67 68 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 316 8 64 57 67 68 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 317 9 57 58 59 60 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 318 10 57 58 59 274 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 319 9 58 59 60 56 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 320 10 274 59 60 56 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 321 5 58 59 274 275 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 322 5 58 59 274 279 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 323 5 60 59 274 275 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 324 5 60 59 274 279 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 325 9 57 61 62 63 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 326 10 57 61 62 548 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 327 9 61 62 63 56 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 328 10 548 62 63 56 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 329 5 61 62 548 547 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 330 5 61 62 548 549 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 331 5 63 62 548 547 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 332 5 63 62 548 549 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 333 9 57 64 65 66 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 334 10 57 64 65 364 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 335 9 64 65 66 56 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 336 10 364 65 66 56 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 337 5 64 65 364 363 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 338 5 64 65 364 365 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 339 5 66 65 364 363 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 340 5 66 65 364 365 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 341 9 57 67 68 69 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 342 10 57 67 68 600 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 343 9 67 68 69 56 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 344 10 600 68 69 56 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 345 5 67 68 600 599 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 346 5 67 68 600 601 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 347 5 69 68 600 599 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 348 5 69 68 600 601 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 349 1 75 70 71 72 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 350 2 75 70 71 76 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 351 3 328 70 71 72 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 352 4 328 70 71 76 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 353 1 71 70 75 74 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 354 2 71 70 75 78 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 355 3 328 70 75 74 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 356 4 328 70 75 78 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 357 5 71 70 328 327 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 358 5 71 70 328 329 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 359 5 75 70 328 327 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 360 5 75 70 328 329 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 361 1 70 71 72 73 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 362 3 70 71 72 269 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 363 2 76 71 72 73 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 364 4 76 71 72 269 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 365 1 71 72 73 74 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 366 2 71 72 73 77 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 367 3 269 72 73 74 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 368 4 269 72 73 77 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 369 5 71 72 269 268 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 370 5 71 72 269 270 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 371 5 73 72 269 268 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 372 5 73 72 269 270 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 373 1 72 73 74 75 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 374 3 72 73 74 437 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 375 2 77 73 74 75 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 376 4 77 73 74 437 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 377 1 73 74 75 70 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 378 2 73 74 75 78 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 379 3 437 74 75 70 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 380 4 437 74 75 78 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 381 5 73 74 437 436 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 382 5 73 74 437 438 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 383 5 75 74 437 436 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 384 5 75 74 437 438 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 385 6 83 79 80 81 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 386 6 83 79 80 84 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 387 6 83 79 80 87 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 388 6 83 79 80 90 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 389 6 86 79 80 81 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 390 6 86 79 80 84 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 391 6 86 79 80 87 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 392 6 86 79 80 90 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 393 6 89 79 80 81 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 394 6 89 79 80 84 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 395 6 89 79 80 87 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 396 6 89 79 80 90 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 397 6 92 79 80 81 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 398 6 92 79 80 84 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 399 6 92 79 80 87 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 400 6 92 79 80 90 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 401 7 80 79 83 82 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 402 8 86 79 83 82 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 403 8 89 79 83 82 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 404 8 92 79 83 82 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 405 7 80 79 86 85 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 406 8 83 79 86 85 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 407 8 89 79 86 85 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 408 8 92 79 86 85 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 409 7 80 79 89 88 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 410 8 83 79 89 88 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 411 8 86 79 89 88 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 412 8 92 79 89 88 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 413 7 80 79 92 91 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 414 8 83 79 92 91 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 415 8 86 79 92 91 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 416 8 89 79 92 91 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 417 7 79 80 81 82 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 418 8 84 80 81 82 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 419 8 87 80 81 82 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 420 8 90 80 81 82 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 421 7 79 80 84 85 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 422 8 81 80 84 85 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 423 8 87 80 84 85 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 424 8 90 80 84 85 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 425 7 79 80 87 88 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 426 8 81 80 87 88 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 427 8 84 80 87 88 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 428 8 90 80 87 88 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 429 7 79 80 90 91 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 430 8 81 80 90 91 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 431 8 84 80 90 91 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 432 8 87 80 90 91 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 433 9 80 81 82 83 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 434 10 80 81 82 255 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 435 9 81 82 83 79 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 436 10 255 82 83 79 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 437 5 81 82 255 254 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 438 5 81 82 255 256 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 439 5 83 82 255 254 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 440 5 83 82 255 256 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 441 9 80 84 85 86 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 442 10 80 84 85 528 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 443 9 84 85 86 79 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 444 10 528 85 86 79 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 445 5 84 85 528 527 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 446 5 84 85 528 529 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 447 5 86 85 528 527 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 448 5 86 85 528 529 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 449 9 80 87 88 89 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 450 10 80 87 88 357 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 451 9 87 88 89 79 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 452 10 357 88 89 79 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 453 5 87 88 357 356 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 454 5 87 88 357 358 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 455 5 89 88 357 356 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 456 5 89 88 357 358 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 457 9 80 90 91 92 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 458 10 80 90 91 591 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 459 9 90 91 92 79 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 460 10 591 91 92 79 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 461 5 90 91 591 590 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 462 5 90 91 591 592 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 463 5 92 91 591 590 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 464 5 92 91 591 592 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 465 6 97 93 94 95 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 466 6 97 93 94 98 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 467 6 97 93 94 101 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 468 6 97 93 94 104 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 469 6 100 93 94 95 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 470 6 100 93 94 98 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 471 6 100 93 94 101 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 472 6 100 93 94 104 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 473 6 103 93 94 95 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 474 6 103 93 94 98 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 475 6 103 93 94 101 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 476 6 103 93 94 104 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 477 6 106 93 94 95 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 478 6 106 93 94 98 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 479 6 106 93 94 101 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 480 6 106 93 94 104 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 481 7 94 93 97 96 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 482 8 100 93 97 96 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 483 8 103 93 97 96 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 484 8 106 93 97 96 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 485 7 94 93 100 99 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 486 8 97 93 100 99 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 487 8 103 93 100 99 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 488 8 106 93 100 99 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 489 7 94 93 103 102 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 490 8 97 93 103 102 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 491 8 100 93 103 102 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 492 8 106 93 103 102 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 493 7 94 93 106 105 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 494 8 97 93 106 105 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 495 8 100 93 106 105 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 496 8 103 93 106 105 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 497 7 93 94 95 96 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 498 8 98 94 95 96 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 499 8 101 94 95 96 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 500 8 104 94 95 96 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 501 7 93 94 98 99 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 502 8 95 94 98 99 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 503 8 101 94 98 99 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 504 8 104 94 98 99 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 505 7 93 94 101 102 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 506 8 95 94 101 102 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 507 8 98 94 101 102 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 508 8 104 94 101 102 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 509 7 93 94 104 105 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 510 8 95 94 104 105 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 511 8 98 94 104 105 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 512 8 101 94 104 105 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 513 9 94 95 96 97 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 514 10 94 95 96 499 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 515 9 95 96 97 93 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 516 10 499 96 97 93 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 517 5 95 96 499 500 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 518 5 95 96 499 504 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 519 5 97 96 499 500 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 520 5 97 96 499 504 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 521 9 94 98 99 100 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 522 10 94 98 99 539 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 523 9 98 99 100 93 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 524 10 539 99 100 93 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 525 5 98 99 539 538 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 526 5 98 99 539 540 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 527 5 100 99 539 538 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 528 5 100 99 539 540 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 529 9 94 101 102 103 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 530 10 94 101 102 375 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 531 9 101 102 103 93 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 532 10 375 102 103 93 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 533 5 101 102 375 374 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 534 5 101 102 375 376 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 535 5 103 102 375 374 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 536 5 103 102 375 376 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 537 9 94 104 105 106 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 538 10 94 104 105 463 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 539 9 104 105 106 93 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 540 10 463 105 106 93 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 541 5 104 105 463 464 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 542 5 104 105 463 468 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 543 5 106 105 463 464 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 544 5 106 105 463 468 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 545 6 111 107 108 109 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 546 6 111 107 108 112 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 547 6 111 107 108 115 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 548 6 111 107 108 118 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 549 6 114 107 108 109 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 550 6 114 107 108 112 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 551 6 114 107 108 115 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 552 6 114 107 108 118 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 553 6 117 107 108 109 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 554 6 117 107 108 112 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 555 6 117 107 108 115 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 556 6 117 107 108 118 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 557 6 120 107 108 109 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 558 6 120 107 108 112 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 559 6 120 107 108 115 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 560 6 120 107 108 118 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 561 7 108 107 111 110 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 562 8 114 107 111 110 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 563 8 117 107 111 110 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 564 8 120 107 111 110 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 565 7 108 107 114 113 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 566 8 111 107 114 113 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 567 8 117 107 114 113 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 568 8 120 107 114 113 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 569 7 108 107 117 116 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 570 8 111 107 117 116 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 571 8 114 107 117 116 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 572 8 120 107 117 116 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 573 7 108 107 120 119 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 574 8 111 107 120 119 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 575 8 114 107 120 119 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 576 8 117 107 120 119 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 577 7 107 108 109 110 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 578 8 112 108 109 110 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 579 8 115 108 109 110 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 580 8 118 108 109 110 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 581 7 107 108 112 113 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 582 8 109 108 112 113 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 583 8 115 108 112 113 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 584 8 118 108 112 113 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 585 7 107 108 115 116 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 586 8 109 108 115 116 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 587 8 112 108 115 116 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 588 8 118 108 115 116 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 589 7 107 108 118 119 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 590 8 109 108 118 119 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 591 8 112 108 118 119 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 592 8 115 108 118 119 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 593 9 108 109 110 111 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 594 10 108 109 110 508 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 595 9 109 110 111 107 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 596 10 508 110 111 107 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 597 5 109 110 508 509 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 598 5 109 110 508 513 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 599 5 111 110 508 509 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 600 5 111 110 508 513 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 601 9 108 112 113 114 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 602 10 108 112 113 616 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 603 9 112 113 114 107 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 604 10 616 113 114 107 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 605 5 112 113 616 617 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 606 5 112 113 616 621 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 607 5 114 113 616 617 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 608 5 114 113 616 621 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 609 9 108 115 116 117 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 610 10 108 115 116 251 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 611 9 115 116 117 107 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 612 10 251 116 117 107 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 613 5 115 116 251 252 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 614 5 115 116 251 256 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 615 5 117 116 251 252 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 616 5 117 116 251 256 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 617 9 108 118 119 120 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 618 10 108 118 119 465 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 619 9 118 119 120 107 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 620 10 465 119 120 107 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 621 5 118 119 465 464 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 622 5 118 119 465 466 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 623 5 120 119 465 464 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 624 5 120 119 465 466 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 625 6 125 121 122 123 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 626 6 125 121 122 126 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 627 6 125 121 122 129 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 628 6 125 121 122 132 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 629 6 128 121 122 123 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 630 6 128 121 122 126 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 631 6 128 121 122 129 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 632 6 128 121 122 132 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 633 6 131 121 122 123 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 634 6 131 121 122 126 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 635 6 131 121 122 129 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 636 6 131 121 122 132 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 637 6 134 121 122 123 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 638 6 134 121 122 126 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 639 6 134 121 122 129 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 640 6 134 121 122 132 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 641 7 122 121 125 124 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 642 8 128 121 125 124 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 643 8 131 121 125 124 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 644 8 134 121 125 124 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 645 7 122 121 128 127 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 646 8 125 121 128 127 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 647 8 131 121 128 127 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 648 8 134 121 128 127 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 649 7 122 121 131 130 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 650 8 125 121 131 130 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 651 8 128 121 131 130 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 652 8 134 121 131 130 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 653 7 122 121 134 133 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 654 8 125 121 134 133 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 655 8 128 121 134 133 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 656 8 131 121 134 133 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 657 7 121 122 123 124 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 658 8 126 122 123 124 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 659 8 129 122 123 124 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 660 8 132 122 123 124 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 661 7 121 122 126 127 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 662 8 123 122 126 127 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 663 8 129 122 126 127 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 664 8 132 122 126 127 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 665 7 121 122 129 130 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 666 8 123 122 129 130 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 667 8 126 122 129 130 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 668 8 132 122 129 130 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 669 7 121 122 132 133 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 670 8 123 122 132 133 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 671 8 126 122 132 133 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 672 8 129 122 132 133 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 673 9 122 123 124 125 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 674 10 122 123 124 510 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 675 9 123 124 125 121 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 676 10 510 124 125 121 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 677 5 123 124 510 509 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 678 5 123 124 510 511 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 679 5 125 124 510 509 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 680 5 125 124 510 511 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 681 9 122 126 127 128 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 682 10 122 126 127 544 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 683 9 126 127 128 121 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 684 10 544 127 128 121 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 685 5 126 127 544 545 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 686 5 126 127 544 549 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 687 5 128 127 544 545 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 688 5 128 127 544 549 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 689 9 122 129 130 131 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 690 10 122 129 130 355 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 691 9 129 130 131 121 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 692 10 355 130 131 121 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 693 5 129 130 355 354 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 694 5 129 130 355 356 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 695 5 131 130 355 354 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 696 5 131 130 355 356 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 697 9 122 132 133 134 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 698 10 122 132 133 449 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 699 9 132 133 134 121 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 700 10 449 133 134 121 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 701 5 132 133 449 448 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 702 5 132 133 449 450 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 703 5 134 133 449 448 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 704 5 134 133 449 450 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 705 6 139 135 136 137 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 706 6 139 135 136 140 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 707 6 139 135 136 143 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 708 6 139 135 136 146 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 709 6 142 135 136 137 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 710 6 142 135 136 140 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 711 6 142 135 136 143 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 712 6 142 135 136 146 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 713 6 145 135 136 137 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 714 6 145 135 136 140 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 715 6 145 135 136 143 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 716 6 145 135 136 146 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 717 6 148 135 136 137 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 718 6 148 135 136 140 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 719 6 148 135 136 143 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 720 6 148 135 136 146 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 721 7 136 135 139 138 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 722 8 142 135 139 138 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 723 8 145 135 139 138 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 724 8 148 135 139 138 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 725 7 136 135 142 141 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 726 8 139 135 142 141 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 727 8 145 135 142 141 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 728 8 148 135 142 141 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 729 7 136 135 145 144 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 730 8 139 135 145 144 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 731 8 142 135 145 144 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 732 8 148 135 145 144 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 733 7 136 135 148 147 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 734 8 139 135 148 147 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 735 8 142 135 148 147 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 736 8 145 135 148 147 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 737 7 135 136 137 138 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 738 8 140 136 137 138 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 739 8 143 136 137 138 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 740 8 146 136 137 138 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 741 7 135 136 140 141 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 742 8 137 136 140 141 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 743 8 143 136 140 141 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 744 8 146 136 140 141 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 745 7 135 136 143 144 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 746 8 137 136 143 144 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 747 8 140 136 143 144 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 748 8 146 136 143 144 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 749 7 135 136 146 147 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 750 8 137 136 146 147 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 751 8 140 136 146 147 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 752 8 143 136 146 147 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 753 9 136 137 138 139 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 754 10 136 137 138 456 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 755 9 137 138 139 135 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 756 10 456 138 139 135 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 757 5 137 138 456 455 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 758 5 137 138 456 457 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 759 5 139 138 456 455 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 760 5 139 138 456 457 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 761 9 136 140 141 142 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 762 10 136 140 141 228 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 763 9 140 141 142 135 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 764 10 228 141 142 135 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 765 5 140 141 228 229 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 766 5 140 141 228 233 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 767 5 142 141 228 229 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 768 5 142 141 228 233 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 769 9 136 143 144 145 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 770 10 136 143 144 593 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 771 9 143 144 145 135 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 772 10 593 144 145 135 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 773 5 143 144 593 592 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 774 5 143 144 593 594 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 775 5 145 144 593 592 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 776 5 145 144 593 594 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 777 9 136 146 147 148 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 778 10 136 146 147 483 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 779 9 146 147 148 135 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 780 10 483 147 148 135 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 781 5 146 147 483 482 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 782 5 146 147 483 484 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 783 5 148 147 483 482 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 784 5 148 147 483 484 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 785 6 153 149 150 151 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 786 6 153 149 150 154 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 787 6 153 149 150 157 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 788 6 153 149 150 160 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 789 6 156 149 150 151 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 790 6 156 149 150 154 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 791 6 156 149 150 157 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 792 6 156 149 150 160 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 793 6 159 149 150 151 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 794 6 159 149 150 154 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 795 6 159 149 150 157 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 796 6 159 149 150 160 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 797 6 162 149 150 151 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 798 6 162 149 150 154 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 799 6 162 149 150 157 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 800 6 162 149 150 160 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 801 7 150 149 153 152 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 802 8 156 149 153 152 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 803 8 159 149 153 152 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 804 8 162 149 153 152 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 805 7 150 149 156 155 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 806 8 153 149 156 155 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 807 8 159 149 156 155 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 808 8 162 149 156 155 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 809 7 150 149 159 158 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 810 8 153 149 159 158 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 811 8 156 149 159 158 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 812 8 162 149 159 158 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 813 7 150 149 162 161 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 814 8 153 149 162 161 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 815 8 156 149 162 161 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 816 8 159 149 162 161 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 817 7 149 150 151 152 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 818 8 154 150 151 152 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 819 8 157 150 151 152 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 820 8 160 150 151 152 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 821 7 149 150 154 155 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 822 8 151 150 154 155 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 823 8 157 150 154 155 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 824 8 160 150 154 155 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 825 7 149 150 157 158 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 826 8 151 150 157 158 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 827 8 154 150 157 158 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 828 8 160 150 157 158 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 829 7 149 150 160 161 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 830 8 151 150 160 161 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 831 8 154 150 160 161 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 832 8 157 150 160 161 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 833 9 150 151 152 153 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 834 10 150 151 152 454 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 835 9 151 152 153 149 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 836 10 454 152 153 149 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 837 5 151 152 454 455 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 838 5 151 152 454 459 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 839 5 153 152 454 455 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 840 5 153 152 454 459 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 841 9 150 154 155 156 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 842 10 150 154 155 366 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 843 9 154 155 156 149 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 844 10 366 155 156 149 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 845 5 154 155 366 365 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 846 5 154 155 366 367 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 847 5 156 155 366 365 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 848 5 156 155 366 367 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 849 9 150 157 158 159 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 850 10 150 157 158 530 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 851 9 157 158 159 149 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 852 10 530 158 159 149 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 853 5 157 158 530 529 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 854 5 157 158 530 531 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 855 5 159 158 530 529 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 856 5 159 158 530 531 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 857 9 150 160 161 162 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 858 10 150 160 161 490 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 859 9 160 161 162 149 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 860 10 490 161 162 149 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 861 5 160 161 490 491 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 862 5 160 161 490 495 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 863 5 162 161 490 491 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 864 5 162 161 490 495 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 865 6 167 163 164 165 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 866 6 167 163 164 168 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 867 6 167 163 164 171 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 868 6 167 163 164 174 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 869 6 170 163 164 165 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 870 6 170 163 164 168 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 871 6 170 163 164 171 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 872 6 170 163 164 174 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 873 6 173 163 164 165 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 874 6 173 163 164 168 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 875 6 173 163 164 171 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 876 6 173 163 164 174 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 877 6 176 163 164 165 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 878 6 176 163 164 168 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 879 6 176 163 164 171 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 880 6 176 163 164 174 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 881 7 164 163 167 166 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 882 8 170 163 167 166 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 883 8 173 163 167 166 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 884 8 176 163 167 166 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 885 7 164 163 170 169 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 886 8 167 163 170 169 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 887 8 173 163 170 169 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 888 8 176 163 170 169 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 889 7 164 163 173 172 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 890 8 167 163 173 172 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 891 8 170 163 173 172 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 892 8 176 163 173 172 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 893 7 164 163 176 175 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 894 8 167 163 176 175 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 895 8 170 163 176 175 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 896 8 173 163 176 175 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 897 7 163 164 165 166 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 898 8 168 164 165 166 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 899 8 171 164 165 166 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 900 8 174 164 165 166 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 901 7 163 164 168 169 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 902 8 165 164 168 169 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 903 8 171 164 168 169 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 904 8 174 164 168 169 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 905 7 163 164 171 172 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 906 8 165 164 171 172 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 907 8 168 164 171 172 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 908 8 174 164 171 172 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 909 7 163 164 174 175 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 910 8 165 164 174 175 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 911 8 168 164 174 175 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 912 8 171 164 174 175 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 913 9 164 165 166 167 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 914 10 164 165 166 494 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 915 9 165 166 167 163 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 916 10 494 166 167 163 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 917 5 165 166 494 493 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 918 5 165 166 494 495 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 919 5 167 166 494 493 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 920 5 167 166 494 495 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 921 9 164 168 169 170 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 922 10 164 168 169 611 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 923 9 168 169 170 163 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 924 10 611 169 170 163 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 925 5 168 169 611 610 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 926 5 168 169 611 612 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 927 5 170 169 611 610 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 928 5 170 169 611 612 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 929 9 164 171 172 173 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 930 10 164 171 172 276 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 931 9 171 172 173 163 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 932 10 276 172 173 163 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 933 5 171 172 276 275 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 934 5 171 172 276 277 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 935 5 173 172 276 275 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 936 5 173 172 276 277 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 937 9 164 174 175 176 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 938 10 164 174 175 476 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 939 9 174 175 176 163 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 940 10 476 175 176 163 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 941 5 174 175 476 475 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 942 5 174 175 476 477 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 943 5 176 175 476 475 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 944 5 176 175 476 477 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 945 6 181 177 178 179 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 946 6 181 177 178 182 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 947 6 181 177 178 185 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 948 6 181 177 178 188 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 949 6 184 177 178 179 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 950 6 184 177 178 182 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 951 6 184 177 178 185 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 952 6 184 177 178 188 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 953 6 187 177 178 179 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 954 6 187 177 178 182 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 955 6 187 177 178 185 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 956 6 187 177 178 188 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 957 6 190 177 178 179 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 958 6 190 177 178 182 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 959 6 190 177 178 185 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 960 6 190 177 178 188 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 961 7 178 177 181 180 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 962 8 184 177 181 180 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 963 8 187 177 181 180 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 964 8 190 177 181 180 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 965 7 178 177 184 183 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 966 8 181 177 184 183 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 967 8 187 177 184 183 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 968 8 190 177 184 183 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 969 7 178 177 187 186 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 970 8 181 177 187 186 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 971 8 184 177 187 186 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 972 8 190 177 187 186 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 973 7 178 177 190 189 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 974 8 181 177 190 189 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 975 8 184 177 190 189 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 976 8 187 177 190 189 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 977 7 177 178 179 180 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 978 8 182 178 179 180 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 979 8 185 178 179 180 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 980 8 188 178 179 180 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 981 7 177 178 182 183 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 982 8 179 178 182 183 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 983 8 185 178 182 183 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 984 8 188 178 182 183 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 985 7 177 178 185 186 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 986 8 179 178 185 186 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 987 8 182 178 185 186 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 988 8 188 178 185 186 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 989 7 177 178 188 189 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 990 8 179 178 188 189 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 991 8 182 178 188 189 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 992 8 185 178 188 189 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 993 9 178 179 180 181 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 994 10 178 179 180 517 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 995 9 179 180 181 177 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 996 10 517 180 181 177 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 997 5 179 180 517 518 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 998 5 179 180 517 522 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 999 5 181 180 517 518 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1000 5 181 180 517 522 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1001 9 178 182 183 184 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1002 10 178 182 183 485 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1003 9 182 183 184 177 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1004 10 485 183 184 177 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1005 5 182 183 485 484 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1006 5 182 183 485 486 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1007 5 184 183 485 484 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1008 5 184 183 485 486 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1009 9 178 185 186 187 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1010 10 178 185 186 474 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1011 9 185 186 187 177 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1012 10 474 186 187 177 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1013 5 185 186 474 473 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1014 5 185 186 474 475 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1015 5 187 186 474 473 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1016 5 187 186 474 475 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1017 9 178 188 189 190 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1018 10 178 188 189 382 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1019 9 188 189 190 177 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1020 10 382 189 190 177 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1021 5 188 189 382 381 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1022 5 188 189 382 383 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1023 5 190 189 382 381 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1024 5 190 189 382 383 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1025 6 195 191 192 193 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1026 6 195 191 192 196 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1027 6 195 191 192 199 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1028 6 195 191 192 202 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1029 6 198 191 192 193 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1030 6 198 191 192 196 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1031 6 198 191 192 199 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1032 6 198 191 192 202 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1033 6 201 191 192 193 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1034 6 201 191 192 196 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1035 6 201 191 192 199 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1036 6 201 191 192 202 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1037 6 204 191 192 193 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1038 6 204 191 192 196 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1039 6 204 191 192 199 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1040 6 204 191 192 202 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1041 7 192 191 195 194 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1042 8 198 191 195 194 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1043 8 201 191 195 194 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1044 8 204 191 195 194 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1045 7 192 191 198 197 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1046 8 195 191 198 197 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1047 8 201 191 198 197 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1048 8 204 191 198 197 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1049 7 192 191 201 200 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1050 8 195 191 201 200 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1051 8 198 191 201 200 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1052 8 204 191 201 200 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1053 7 192 191 204 203 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1054 8 195 191 204 203 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1055 8 198 191 204 203 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1056 8 201 191 204 203 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1057 7 191 192 193 194 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1058 8 196 192 193 194 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1059 8 199 192 193 194 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1060 8 202 192 193 194 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1061 7 191 192 196 197 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1062 8 193 192 196 197 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1063 8 199 192 196 197 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1064 8 202 192 196 197 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1065 7 191 192 199 200 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1066 8 193 192 199 200 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1067 8 196 192 199 200 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1068 8 202 192 199 200 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1069 7 191 192 202 203 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1070 8 193 192 202 203 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1071 8 196 192 202 203 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1072 8 199 192 202 203 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1073 9 192 193 194 195 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1074 10 192 193 194 445 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1075 9 193 194 195 191 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1076 10 445 194 195 191 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1077 5 193 194 445 446 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1078 5 193 194 445 450 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1079 5 195 194 445 446 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1080 5 195 194 445 450 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1081 9 192 196 197 198 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1082 10 192 196 197 205 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1083 9 196 197 198 191 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1084 10 205 197 198 191 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1085 5 196 197 205 206 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1086 5 196 197 205 210 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1087 5 198 197 205 206 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1088 5 198 197 205 210 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1089 9 192 199 200 201 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1090 10 192 199 200 598 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1091 9 199 200 201 191 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1092 10 598 200 201 191 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1093 5 199 200 598 599 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1094 5 199 200 598 603 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1095 5 201 200 598 599 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1096 5 201 200 598 603 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1097 9 192 202 203 204 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1098 10 192 202 203 503 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1099 9 202 203 204 191 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1100 10 503 203 204 191 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1101 5 202 203 503 502 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1102 5 202 203 503 504 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1103 5 204 203 503 502 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1104 5 204 203 503 504 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1105 1 210 205 206 207 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1106 2 210 205 206 211 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1107 3 197 205 206 207 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1108 4 197 205 206 211 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1109 1 206 205 210 209 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1110 2 206 205 210 213 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1111 3 197 205 210 209 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1112 4 197 205 210 213 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1113 1 205 206 207 208 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1114 3 205 206 207 39 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1115 2 211 206 207 208 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1116 4 211 206 207 39 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1117 1 206 207 208 209 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1118 2 206 207 208 212 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1119 3 39 207 208 209 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1120 4 39 207 208 212 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1121 1 207 208 209 210 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1122 3 207 208 209 415 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1123 2 212 208 209 210 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1124 4 212 208 209 415 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1125 1 208 209 210 205 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1126 2 208 209 210 213 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1127 3 415 209 210 205 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1128 4 415 209 210 213 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1129 5 208 209 415 414 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1130 5 208 209 415 416 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1131 5 210 209 415 414 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1132 5 210 209 415 416 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1133 6 218 214 215 216 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1134 6 218 214 215 219 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1135 6 218 214 215 222 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1136 6 218 214 215 225 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1137 6 221 214 215 216 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1138 6 221 214 215 219 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1139 6 221 214 215 222 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1140 6 221 214 215 225 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1141 6 224 214 215 216 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1142 6 224 214 215 219 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1143 6 224 214 215 222 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1144 6 224 214 215 225 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1145 6 227 214 215 216 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1146 6 227 214 215 219 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1147 6 227 214 215 222 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1148 6 227 214 215 225 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1149 7 215 214 218 217 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1150 8 221 214 218 217 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1151 8 224 214 218 217 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1152 8 227 214 218 217 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1153 7 215 214 221 220 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1154 8 218 214 221 220 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1155 8 224 214 221 220 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1156 8 227 214 221 220 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1157 7 215 214 224 223 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1158 8 218 214 224 223 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1159 8 221 214 224 223 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1160 8 227 214 224 223 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1161 7 215 214 227 226 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1162 8 218 214 227 226 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1163 8 221 214 227 226 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1164 8 224 214 227 226 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1165 7 214 215 216 217 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1166 8 219 215 216 217 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1167 8 222 215 216 217 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1168 8 225 215 216 217 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1169 7 214 215 219 220 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1170 8 216 215 219 220 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1171 8 222 215 219 220 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1172 8 225 215 219 220 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1173 7 214 215 222 223 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1174 8 216 215 222 223 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1175 8 219 215 222 223 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1176 8 225 215 222 223 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1177 7 214 215 225 226 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1178 8 216 215 225 226 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1179 8 219 215 225 226 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1180 8 222 215 225 226 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1181 9 215 216 217 218 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1182 10 215 216 217 24 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1183 9 216 217 218 214 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1184 10 24 217 218 214 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1185 9 215 219 220 221 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1186 10 215 219 220 501 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1187 9 219 220 221 214 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1188 10 501 220 221 214 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1189 5 219 220 501 500 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1190 5 219 220 501 502 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1191 5 221 220 501 500 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1192 5 221 220 501 502 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1193 9 215 222 223 224 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1194 10 215 222 223 472 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1195 9 222 223 224 214 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1196 10 472 223 224 214 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1197 5 222 223 472 473 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1198 5 222 223 472 477 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1199 5 224 223 472 473 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1200 5 224 223 472 477 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1201 9 215 225 226 227 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1202 10 215 225 226 584 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1203 9 225 226 227 214 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1204 10 584 226 227 214 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1205 5 225 226 584 583 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1206 5 225 226 584 585 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1207 5 227 226 584 583 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1208 5 227 226 584 585 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1209 1 233 228 229 230 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1210 2 233 228 229 234 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1211 3 141 228 229 230 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1212 4 141 228 229 234 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1213 1 229 228 233 232 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1214 2 229 228 233 236 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1215 3 141 228 233 232 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1216 4 141 228 233 236 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1217 1 228 229 230 231 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1218 3 228 229 230 19 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1219 2 234 229 230 231 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1220 4 234 229 230 19 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1221 1 229 230 231 232 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1222 2 229 230 231 235 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1223 3 19 230 231 232 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1224 4 19 230 231 235 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1225 1 230 231 232 233 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1226 3 230 231 232 426 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1227 2 235 231 232 233 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1228 4 235 231 232 426 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1229 1 231 232 233 228 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1230 2 231 232 233 236 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1231 3 426 232 233 228 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1232 4 426 232 233 236 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1233 5 231 232 426 425 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1234 5 231 232 426 427 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1235 5 233 232 426 425 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1236 5 233 232 426 427 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1237 6 241 237 238 239 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1238 6 241 237 238 242 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1239 6 241 237 238 245 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1240 6 241 237 238 248 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1241 6 244 237 238 239 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1242 6 244 237 238 242 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1243 6 244 237 238 245 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1244 6 244 237 238 248 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1245 6 247 237 238 239 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1246 6 247 237 238 242 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1247 6 247 237 238 245 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1248 6 247 237 238 248 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1249 6 250 237 238 239 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1250 6 250 237 238 242 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1251 6 250 237 238 245 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1252 6 250 237 238 248 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1253 7 238 237 241 240 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1254 8 244 237 241 240 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1255 8 247 237 241 240 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1256 8 250 237 241 240 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1257 7 238 237 244 243 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1258 8 241 237 244 243 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1259 8 247 237 244 243 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1260 8 250 237 244 243 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1261 7 238 237 247 246 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1262 8 241 237 247 246 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1263 8 244 237 247 246 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1264 8 250 237 247 246 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1265 7 238 237 250 249 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1266 8 241 237 250 249 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1267 8 244 237 250 249 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1268 8 247 237 250 249 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1269 7 237 238 239 240 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1270 8 242 238 239 240 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1271 8 245 238 239 240 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1272 8 248 238 239 240 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1273 7 237 238 242 243 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1274 8 239 238 242 243 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1275 8 245 238 242 243 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1276 8 248 238 242 243 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1277 7 237 238 245 246 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1278 8 239 238 245 246 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1279 8 242 238 245 246 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1280 8 248 238 245 246 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1281 7 237 238 248 249 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1282 8 239 238 248 249 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1283 8 242 238 248 249 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1284 8 245 238 248 249 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1285 9 238 239 240 241 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1286 10 238 239 240 1 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1287 9 239 240 241 237 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1288 10 1 240 241 237 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1289 9 238 242 243 244 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1290 10 238 242 243 481 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1291 9 242 243 244 237 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1292 10 481 243 244 237 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1293 5 242 243 481 482 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1294 5 242 243 481 486 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1295 5 244 243 481 482 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1296 5 244 243 481 486 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1297 9 238 245 246 247 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1298 10 238 245 246 467 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1299 9 245 246 247 237 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1300 10 467 246 247 237 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1301 5 245 246 467 466 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1302 5 245 246 467 468 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1303 5 247 246 467 466 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1304 5 247 246 467 468 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1305 9 238 248 249 250 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1306 10 238 248 249 575 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1307 9 248 249 250 237 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1308 10 575 249 250 237 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1309 5 248 249 575 574 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1310 5 248 249 575 576 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1311 5 250 249 575 574 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1312 5 250 249 575 576 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1313 1 256 251 252 253 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1314 2 256 251 252 257 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1315 3 116 251 252 253 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1316 4 116 251 252 257 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1317 1 252 251 256 255 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1318 2 252 251 256 259 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1319 3 116 251 256 255 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1320 4 116 251 256 259 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1321 1 251 252 253 254 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1322 3 251 252 253 392 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1323 2 257 252 253 254 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1324 4 257 252 253 392 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1325 1 252 253 254 255 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1326 2 252 253 254 258 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1327 3 392 253 254 255 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1328 4 392 253 254 258 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1329 5 252 253 392 391 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1330 5 252 253 392 393 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1331 5 254 253 392 391 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1332 5 254 253 392 393 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1333 1 253 254 255 256 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1334 3 253 254 255 82 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1335 2 258 254 255 256 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1336 4 258 254 255 82 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1337 1 254 255 256 251 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1338 2 254 255 256 259 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1339 3 82 255 256 251 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1340 4 82 255 256 259 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1341 6 264 260 261 262 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1342 6 264 260 261 265 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1343 6 264 260 261 268 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1344 6 264 260 261 271 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1345 6 267 260 261 262 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1346 6 267 260 261 265 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1347 6 267 260 261 268 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1348 6 267 260 261 271 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1349 6 270 260 261 262 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1350 6 270 260 261 265 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1351 6 270 260 261 268 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1352 6 270 260 261 271 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1353 6 273 260 261 262 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1354 6 273 260 261 265 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1355 6 273 260 261 268 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1356 6 273 260 261 271 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1357 7 261 260 264 263 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1358 8 267 260 264 263 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1359 8 270 260 264 263 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1360 8 273 260 264 263 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1361 7 261 260 267 266 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1362 8 264 260 267 266 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1363 8 270 260 267 266 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1364 8 273 260 267 266 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1365 7 261 260 270 269 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1366 8 264 260 270 269 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1367 8 267 260 270 269 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1368 8 273 260 270 269 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1369 7 261 260 273 272 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1370 8 264 260 273 272 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1371 8 267 260 273 272 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1372 8 270 260 273 272 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1373 7 260 261 262 263 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1374 8 265 261 262 263 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1375 8 268 261 262 263 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1376 8 271 261 262 263 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1377 7 260 261 265 266 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1378 8 262 261 265 266 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1379 8 268 261 265 266 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1380 8 271 261 265 266 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1381 7 260 261 268 269 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1382 8 262 261 268 269 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1383 8 265 261 268 269 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1384 8 271 261 268 269 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1385 7 260 261 271 272 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1386 8 262 261 271 272 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1387 8 265 261 271 272 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1388 8 268 261 271 272 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1389 9 261 262 263 264 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1390 10 261 262 263 458 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1391 9 262 263 264 260 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1392 10 458 263 264 260 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1393 5 262 263 458 457 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1394 5 262 263 458 459 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1395 5 264 263 458 457 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1396 5 264 263 458 459 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1397 9 261 265 266 267 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1398 10 261 265 266 566 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1399 9 265 266 267 260 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1400 10 566 266 267 260 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1401 5 265 266 566 565 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1402 5 265 266 566 567 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1403 5 267 266 566 565 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1404 5 267 266 566 567 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1405 9 261 268 269 270 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1406 10 261 268 269 72 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1407 9 268 269 270 260 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1408 10 72 269 270 260 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1409 9 261 271 272 273 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1410 10 261 271 272 512 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1411 9 271 272 273 260 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1412 10 512 272 273 260 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1413 5 271 272 512 511 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1414 5 271 272 512 513 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1415 5 273 272 512 511 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1416 5 273 272 512 513 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1417 1 279 274 275 276 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1418 2 279 274 275 280 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1419 3 59 274 275 276 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1420 4 59 274 275 280 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1421 1 275 274 279 278 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1422 2 275 274 279 282 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1423 3 59 274 279 278 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1424 4 59 274 279 282 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1425 1 274 275 276 277 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1426 3 274 275 276 172 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1427 2 280 275 276 277 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1428 4 280 275 276 172 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1429 1 275 276 277 278 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1430 2 275 276 277 281 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1431 3 172 276 277 278 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1432 4 172 276 277 281 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1433 1 276 277 278 279 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1434 3 276 277 278 434 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1435 2 281 277 278 279 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1436 4 281 277 278 434 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1437 1 277 278 279 274 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1438 2 277 278 279 282 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1439 3 434 278 279 274 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1440 4 434 278 279 282 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1441 5 277 278 434 433 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1442 5 277 278 434 435 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1443 5 279 278 434 433 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1444 5 279 278 434 435 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1445 6 287 283 284 285 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1446 6 287 283 284 288 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1447 6 287 283 284 291 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1448 6 287 283 284 294 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1449 6 290 283 284 285 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1450 6 290 283 284 288 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1451 6 290 283 284 291 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1452 6 290 283 284 294 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1453 6 293 283 284 285 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1454 6 293 283 284 288 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1455 6 293 283 284 291 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1456 6 293 283 284 294 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1457 6 296 283 284 285 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1458 6 296 283 284 288 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1459 6 296 283 284 291 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1460 6 296 283 284 294 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1461 7 284 283 287 286 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1462 8 290 283 287 286 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1463 8 293 283 287 286 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1464 8 296 283 287 286 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1465 7 284 283 290 289 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1466 8 287 283 290 289 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1467 8 293 283 290 289 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1468 8 296 283 290 289 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1469 7 284 283 293 292 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1470 8 287 283 293 292 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1471 8 290 283 293 292 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1472 8 296 283 293 292 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1473 7 284 283 296 295 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1474 8 287 283 296 295 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1475 8 290 283 296 295 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1476 8 293 283 296 295 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1477 7 283 284 285 286 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1478 8 288 284 285 286 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1479 8 291 284 285 286 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1480 8 294 284 285 286 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1481 7 283 284 288 289 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1482 8 285 284 288 289 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1483 8 291 284 288 289 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1484 8 294 284 288 289 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1485 7 283 284 291 292 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1486 8 285 284 291 292 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1487 8 288 284 291 292 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1488 8 294 284 291 292 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1489 7 283 284 294 295 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1490 8 285 284 294 295 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1491 8 288 284 294 295 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1492 8 291 284 294 295 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1493 9 284 285 286 287 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1494 10 284 285 286 49 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1495 9 285 286 287 283 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1496 10 49 286 287 283 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1497 9 284 288 289 290 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1498 10 284 288 289 492 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1499 9 288 289 290 283 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1500 10 492 289 290 283 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1501 5 288 289 492 491 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1502 5 288 289 492 493 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1503 5 290 289 492 491 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1504 5 290 289 492 493 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1505 9 284 291 292 293 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1506 10 284 291 292 447 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1507 9 291 292 293 283 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1508 10 447 292 293 283 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1509 5 291 292 447 446 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1510 5 291 292 447 448 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1511 5 293 292 447 446 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1512 5 293 292 447 448 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1513 9 284 294 295 296 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1514 10 284 294 295 555 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1515 9 294 295 296 283 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1516 10 555 295 296 283 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1517 5 294 295 555 554 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1518 5 294 295 555 556 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1519 5 296 295 555 554 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1520 5 296 295 555 556 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1521 6 301 297 298 299 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1522 6 301 297 298 302 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1523 6 301 297 298 305 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1524 6 301 297 298 308 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1525 6 304 297 298 299 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1526 6 304 297 298 302 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1527 6 304 297 298 305 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1528 6 304 297 298 308 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1529 6 307 297 298 299 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1530 6 307 297 298 302 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1531 6 307 297 298 305 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1532 6 307 297 298 308 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1533 6 310 297 298 299 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1534 6 310 297 298 302 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1535 6 310 297 298 305 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1536 6 310 297 298 308 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1537 7 298 297 301 300 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1538 8 304 297 301 300 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1539 8 307 297 301 300 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1540 8 310 297 301 300 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1541 7 298 297 304 303 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1542 8 301 297 304 303 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1543 8 307 297 304 303 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1544 8 310 297 304 303 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1545 7 298 297 307 306 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1546 8 301 297 307 306 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1547 8 304 297 307 306 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1548 8 310 297 307 306 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1549 7 298 297 310 309 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1550 8 301 297 310 309 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1551 8 304 297 310 309 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1552 8 307 297 310 309 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1553 7 297 298 299 300 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1554 8 302 298 299 300 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1555 8 305 298 299 300 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1556 8 308 298 299 300 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1557 7 297 298 302 303 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1558 8 299 298 302 303 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1559 8 305 298 302 303 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1560 8 308 298 302 303 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1561 7 297 298 305 306 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1562 8 299 298 305 306 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1563 8 302 298 305 306 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1564 8 308 298 305 306 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1565 7 297 298 308 309 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1566 8 299 298 308 309 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1567 8 302 298 308 309 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1568 8 305 298 308 309 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1569 9 298 299 300 301 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1570 10 298 299 300 546 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1571 9 299 300 301 297 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1572 10 546 300 301 297 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1573 5 299 300 546 545 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1574 5 299 300 546 547 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1575 5 301 300 546 545 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1576 5 301 300 546 547 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1577 9 298 302 303 304 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1578 10 298 302 303 582 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1579 9 302 303 304 297 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1580 10 582 303 304 297 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1581 5 302 303 582 581 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1582 5 302 303 582 583 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1583 5 304 303 582 581 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1584 5 304 303 582 583 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1585 9 298 305 306 307 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1586 10 298 305 306 47 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1587 9 305 306 307 297 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1588 10 47 306 307 297 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1589 9 298 308 309 310 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1590 10 298 308 309 371 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1591 9 308 309 310 297 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1592 10 371 309 310 297 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1593 5 308 309 371 372 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1594 5 308 309 371 376 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1595 5 310 309 371 372 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1596 5 310 309 371 376 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1597 6 315 311 312 313 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1598 6 315 311 312 316 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1599 6 315 311 312 319 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1600 6 315 311 312 322 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1601 6 318 311 312 313 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1602 6 318 311 312 316 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1603 6 318 311 312 319 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1604 6 318 311 312 322 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1605 6 321 311 312 313 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1606 6 321 311 312 316 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1607 6 321 311 312 319 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1608 6 321 311 312 322 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1609 6 324 311 312 313 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1610 6 324 311 312 316 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1611 6 324 311 312 319 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1612 6 324 311 312 322 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1613 7 312 311 315 314 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1614 8 318 311 315 314 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1615 8 321 311 315 314 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1616 8 324 311 315 314 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1617 7 312 311 318 317 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1618 8 315 311 318 317 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1619 8 321 311 318 317 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1620 8 324 311 318 317 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1621 7 312 311 321 320 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1622 8 315 311 321 320 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1623 8 318 311 321 320 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1624 8 324 311 321 320 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1625 7 312 311 324 323 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1626 8 315 311 324 323 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1627 8 318 311 324 323 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1628 8 321 311 324 323 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1629 7 311 312 313 314 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1630 8 316 312 313 314 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1631 8 319 312 313 314 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1632 8 322 312 313 314 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1633 7 311 312 316 317 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1634 8 313 312 316 317 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1635 8 319 312 316 317 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1636 8 322 312 316 317 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1637 7 311 312 319 320 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1638 8 313 312 319 320 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1639 8 316 312 319 320 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1640 8 322 312 319 320 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1641 7 311 312 322 323 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1642 8 313 312 322 323 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1643 8 316 312 322 323 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1644 8 319 312 322 323 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1645 9 312 313 314 315 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1646 10 312 313 314 557 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1647 9 313 314 315 311 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1648 10 557 314 315 311 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1649 5 313 314 557 556 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1650 5 313 314 557 558 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1651 5 315 314 557 556 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1652 5 315 314 557 558 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1653 9 312 316 317 318 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1654 10 312 316 317 519 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1655 9 316 317 318 311 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1656 10 519 317 318 311 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1657 5 316 317 519 518 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1658 5 316 317 519 520 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1659 5 318 317 519 518 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1660 5 318 317 519 520 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1661 9 312 319 320 321 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1662 10 312 319 320 362 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1663 9 319 320 321 311 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1664 10 362 320 321 311 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1665 5 319 320 362 363 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1666 5 319 320 362 367 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1667 5 321 320 362 363 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1668 5 321 320 362 367 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1669 9 312 322 323 324 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1670 10 312 322 323 26 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1671 9 322 323 324 311 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1672 10 26 323 324 311 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1673 6 329 325 326 327 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1674 6 329 325 326 330 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1675 6 329 325 326 333 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1676 6 329 325 326 336 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1677 6 332 325 326 327 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1678 6 332 325 326 330 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1679 6 332 325 326 333 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1680 6 332 325 326 336 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1681 6 335 325 326 327 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1682 6 335 325 326 330 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1683 6 335 325 326 333 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1684 6 335 325 326 336 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1685 6 338 325 326 327 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1686 6 338 325 326 330 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1687 6 338 325 326 333 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1688 6 338 325 326 336 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1689 7 326 325 329 328 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1690 8 332 325 329 328 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1691 8 335 325 329 328 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1692 8 338 325 329 328 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1693 7 326 325 332 331 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1694 8 329 325 332 331 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1695 8 335 325 332 331 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1696 8 338 325 332 331 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1697 7 326 325 335 334 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1698 8 329 325 335 334 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1699 8 332 325 335 334 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1700 8 338 325 335 334 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1701 7 326 325 338 337 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1702 8 329 325 338 337 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1703 8 332 325 338 337 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1704 8 335 325 338 337 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1705 7 325 326 327 328 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1706 8 330 326 327 328 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1707 8 333 326 327 328 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1708 8 336 326 327 328 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1709 7 325 326 330 331 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1710 8 327 326 330 331 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1711 8 333 326 330 331 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1712 8 336 326 330 331 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1713 7 325 326 333 334 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1714 8 327 326 333 334 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1715 8 330 326 333 334 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1716 8 336 326 333 334 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1717 7 325 326 336 337 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1718 8 327 326 336 337 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1719 8 330 326 336 337 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1720 8 333 326 336 337 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1721 9 326 327 328 329 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1722 10 326 327 328 70 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1723 9 327 328 329 325 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1724 10 70 328 329 325 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1725 9 326 330 331 332 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1726 10 326 330 331 384 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1727 9 330 331 332 325 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1728 10 384 331 332 325 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1729 5 330 331 384 383 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1730 5 330 331 384 385 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1731 5 332 331 384 383 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1732 5 332 331 384 385 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1733 9 326 333 334 335 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1734 10 326 333 334 526 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1735 9 333 334 335 325 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1736 10 526 334 335 325 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1737 5 333 334 526 527 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1738 5 333 334 526 531 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1739 5 335 334 526 527 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1740 5 335 334 526 531 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1741 9 326 336 337 338 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1742 10 326 336 337 571 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1743 9 336 337 338 325 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1744 10 571 337 338 325 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1745 5 336 337 571 572 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1746 5 336 337 571 576 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1747 5 338 337 571 572 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1748 5 338 337 571 576 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1749 6 343 339 340 341 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1750 6 343 339 340 344 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1751 6 343 339 340 347 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1752 6 343 339 340 350 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1753 6 346 339 340 341 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1754 6 346 339 340 344 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1755 6 346 339 340 347 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1756 6 346 339 340 350 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1757 6 349 339 340 341 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1758 6 349 339 340 344 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1759 6 349 339 340 347 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1760 6 349 339 340 350 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1761 6 352 339 340 341 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1762 6 352 339 340 344 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1763 6 352 339 340 347 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1764 6 352 339 340 350 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1765 7 340 339 343 342 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1766 8 346 339 343 342 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1767 8 349 339 343 342 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1768 8 352 339 343 342 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1769 7 340 339 346 345 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1770 8 343 339 346 345 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1771 8 349 339 346 345 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1772 8 352 339 346 345 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1773 7 340 339 349 348 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1774 8 343 339 349 348 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1775 8 346 339 349 348 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1776 8 352 339 349 348 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1777 7 340 339 352 351 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1778 8 343 339 352 351 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1779 8 346 339 352 351 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1780 8 349 339 352 351 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1781 7 339 340 341 342 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1782 8 344 340 341 342 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1783 8 347 340 341 342 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1784 8 350 340 341 342 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1785 7 339 340 344 345 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1786 8 341 340 344 345 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1787 8 347 340 344 345 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1788 8 350 340 344 345 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1789 7 339 340 347 348 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1790 8 341 340 347 348 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1791 8 344 340 347 348 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1792 8 350 340 347 348 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1793 7 339 340 350 351 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1794 8 341 340 350 351 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1795 8 344 340 350 351 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1796 8 347 340 350 351 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1797 9 340 341 342 343 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1798 10 340 341 342 564 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1799 9 341 342 343 339 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1800 10 564 342 343 339 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1801 5 341 342 564 563 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1802 5 341 342 564 565 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1803 5 343 342 564 563 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1804 5 343 342 564 565 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1805 9 340 344 345 346 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1806 10 340 344 345 535 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1807 9 344 345 346 339 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1808 10 535 345 346 339 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1809 5 344 345 535 536 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1810 5 344 345 535 540 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1811 5 346 345 535 536 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1812 5 346 345 535 540 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1813 9 340 347 348 349 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1814 10 340 347 348 353 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1815 9 347 348 349 339 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1816 10 353 348 349 339 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1817 5 347 348 353 354 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1818 5 347 348 353 358 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1819 5 349 348 353 354 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1820 5 349 348 353 358 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1821 9 340 350 351 352 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1822 10 340 350 351 3 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1823 9 350 351 352 339 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1824 10 3 351 352 339 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1825 1 358 353 354 355 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1826 2 358 353 354 359 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1827 3 348 353 354 355 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1828 4 348 353 354 359 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1829 1 354 353 358 357 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1830 2 354 353 358 361 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1831 3 348 353 358 357 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1832 4 348 353 358 361 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1833 1 353 354 355 356 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1834 3 353 354 355 130 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1835 2 359 354 355 356 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1836 4 359 354 355 130 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1837 1 354 355 356 357 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1838 2 354 355 356 360 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1839 3 130 355 356 357 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1840 4 130 355 356 360 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1841 1 355 356 357 358 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1842 3 355 356 357 88 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1843 2 360 356 357 358 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1844 4 360 356 357 88 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1845 1 356 357 358 353 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1846 2 356 357 358 361 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1847 3 88 357 358 353 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1848 4 88 357 358 361 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1849 1 367 362 363 364 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1850 2 367 362 363 368 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1851 3 320 362 363 364 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1852 4 320 362 363 368 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1853 1 363 362 367 366 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1854 2 363 362 367 370 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1855 3 320 362 367 366 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1856 4 320 362 367 370 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1857 1 362 363 364 365 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1858 3 362 363 364 65 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1859 2 368 363 364 365 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1860 4 368 363 364 65 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1861 1 363 364 365 366 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1862 2 363 364 365 369 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1863 3 65 364 365 366 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1864 4 65 364 365 369 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1865 1 364 365 366 367 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1866 3 364 365 366 155 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1867 2 369 365 366 367 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1868 4 369 365 366 155 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1869 1 365 366 367 362 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1870 2 365 366 367 370 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1871 3 155 366 367 362 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1872 4 155 366 367 370 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1873 1 376 371 372 373 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1874 2 376 371 372 377 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1875 3 309 371 372 373 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1876 4 309 371 372 377 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1877 1 372 371 376 375 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1878 2 372 371 376 379 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1879 3 309 371 376 375 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1880 4 309 371 376 379 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1881 1 371 372 373 374 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1882 3 371 372 373 45 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1883 2 377 372 373 374 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1884 4 377 372 373 45 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1885 1 372 373 374 375 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1886 2 372 373 374 378 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1887 3 45 373 374 375 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1888 4 45 373 374 378 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1889 1 373 374 375 376 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1890 3 373 374 375 102 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1891 2 378 374 375 376 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1892 4 378 374 375 102 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1893 1 374 375 376 371 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1894 2 374 375 376 379 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1895 3 102 375 376 371 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1896 4 102 375 376 379 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1897 1 385 380 381 382 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1898 2 385 380 381 386 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1899 3 13 380 381 382 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1900 4 13 380 381 386 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1901 1 381 380 385 384 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1902 2 381 380 385 388 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1903 3 13 380 385 384 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1904 4 13 380 385 388 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1905 1 380 381 382 383 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1906 3 380 381 382 189 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1907 2 386 381 382 383 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1908 4 386 381 382 189 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1909 1 381 382 383 384 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1910 2 381 382 383 387 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1911 3 189 382 383 384 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1912 4 189 382 383 387 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1913 1 382 383 384 385 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1914 3 382 383 384 331 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1915 2 387 383 384 385 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1916 4 387 383 384 331 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1917 1 383 384 385 380 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 1918 2 383 384 385 388 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 1919 3 331 384 385 380 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1920 4 331 384 385 388 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 1921 6 393 389 390 391 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1922 6 393 389 390 394 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1923 6 393 389 390 397 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1924 6 393 389 390 400 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1925 6 396 389 390 391 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1926 6 396 389 390 394 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1927 6 396 389 390 397 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1928 6 396 389 390 400 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1929 6 399 389 390 391 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1930 6 399 389 390 394 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1931 6 399 389 390 397 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1932 6 399 389 390 400 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1933 6 402 389 390 391 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1934 6 402 389 390 394 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1935 6 402 389 390 397 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1936 6 402 389 390 400 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1937 7 390 389 393 392 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1938 8 396 389 393 392 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1939 8 399 389 393 392 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1940 8 402 389 393 392 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1941 7 390 389 396 395 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1942 8 393 389 396 395 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1943 8 399 389 396 395 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1944 8 402 389 396 395 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1945 7 390 389 399 398 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1946 8 393 389 399 398 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1947 8 396 389 399 398 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1948 8 402 389 399 398 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1949 7 390 389 402 401 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1950 8 393 389 402 401 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1951 8 396 389 402 401 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1952 8 399 389 402 401 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1953 7 389 390 391 392 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1954 8 394 390 391 392 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1955 8 397 390 391 392 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1956 8 400 390 391 392 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1957 7 389 390 394 395 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1958 8 391 390 394 395 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1959 8 397 390 394 395 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1960 8 400 390 394 395 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1961 7 389 390 397 398 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1962 8 391 390 397 398 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1963 8 394 390 397 398 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1964 8 400 390 397 398 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1965 7 389 390 400 401 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1966 8 391 390 400 401 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1967 8 394 390 400 401 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1968 8 397 390 400 401 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 1969 9 390 391 392 393 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1970 10 390 391 392 253 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1971 9 391 392 393 389 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1972 10 253 392 393 389 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1973 9 390 394 395 396 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1974 10 390 394 395 51 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1975 9 394 395 396 389 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1976 10 51 395 396 389 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1977 9 390 397 398 399 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1978 10 390 397 398 562 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1979 9 397 398 399 389 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1980 10 562 398 399 389 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1981 5 397 398 562 563 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1982 5 397 398 562 567 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1983 5 399 398 562 563 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1984 5 399 398 562 567 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1985 9 390 400 401 402 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1986 10 390 400 401 602 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1987 9 400 401 402 389 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1988 10 602 401 402 389 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 1989 5 400 401 602 601 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1990 5 400 401 602 603 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1991 5 402 401 602 601 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1992 5 402 401 602 603 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 1993 6 407 403 404 405 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1994 6 407 403 404 408 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1995 6 407 403 404 411 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1996 6 407 403 404 414 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1997 6 410 403 404 405 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1998 6 410 403 404 408 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 1999 6 410 403 404 411 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2000 6 410 403 404 414 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2001 6 413 403 404 405 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2002 6 413 403 404 408 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2003 6 413 403 404 411 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2004 6 413 403 404 414 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2005 6 416 403 404 405 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2006 6 416 403 404 408 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2007 6 416 403 404 411 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2008 6 416 403 404 414 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2009 7 404 403 407 406 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2010 8 410 403 407 406 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2011 8 413 403 407 406 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2012 8 416 403 407 406 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2013 7 404 403 410 409 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2014 8 407 403 410 409 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2015 8 413 403 410 409 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2016 8 416 403 410 409 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2017 7 404 403 413 412 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2018 8 407 403 413 412 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2019 8 410 403 413 412 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2020 8 416 403 413 412 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2021 7 404 403 416 415 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2022 8 407 403 416 415 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2023 8 410 403 416 415 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2024 8 413 403 416 415 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2025 7 403 404 405 406 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2026 8 408 404 405 406 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2027 8 411 404 405 406 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2028 8 414 404 405 406 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2029 7 403 404 408 409 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2030 8 405 404 408 409 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2031 8 411 404 408 409 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2032 8 414 404 408 409 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2033 7 403 404 411 412 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2034 8 405 404 411 412 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2035 8 408 404 411 412 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2036 8 414 404 411 412 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2037 7 403 404 414 415 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2038 8 405 404 414 415 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2039 8 408 404 414 415 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2040 8 411 404 414 415 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2041 9 404 405 406 407 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2042 10 404 405 406 620 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2043 9 405 406 407 403 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2044 10 620 406 407 403 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2045 5 405 406 620 619 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 2046 5 405 406 620 621 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 2047 5 407 406 620 619 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 2048 5 407 406 620 621 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 2049 9 404 408 409 410 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2050 10 404 408 409 580 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2051 9 408 409 410 403 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2052 10 580 409 410 403 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2053 5 408 409 580 581 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 2054 5 408 409 580 585 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 2055 5 410 409 580 581 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 2056 5 410 409 580 585 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 2057 9 404 411 412 413 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2058 10 404 411 412 5 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2059 9 411 412 413 403 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2060 10 5 412 413 403 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2061 9 404 414 415 416 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2062 10 404 414 415 209 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2063 9 414 415 416 403 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2064 10 209 415 416 403 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2065 6 421 417 418 419 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2066 6 421 417 418 422 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2067 6 421 417 418 425 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2068 6 421 417 418 428 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2069 6 424 417 418 419 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2070 6 424 417 418 422 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2071 6 424 417 418 425 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2072 6 424 417 418 428 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2073 6 427 417 418 419 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2074 6 427 417 418 422 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2075 6 427 417 418 425 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2076 6 427 417 418 428 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2077 6 430 417 418 419 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2078 6 430 417 418 422 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2079 6 430 417 418 425 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2080 6 430 417 418 428 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2081 7 418 417 421 420 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2082 8 424 417 421 420 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2083 8 427 417 421 420 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2084 8 430 417 421 420 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2085 7 418 417 424 423 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2086 8 421 417 424 423 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2087 8 427 417 424 423 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2088 8 430 417 424 423 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2089 7 418 417 427 426 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2090 8 421 417 427 426 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2091 8 424 417 427 426 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2092 8 430 417 427 426 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2093 7 418 417 430 429 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2094 8 421 417 430 429 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2095 8 424 417 430 429 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2096 8 427 417 430 429 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2097 7 417 418 419 420 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2098 8 422 418 419 420 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2099 8 425 418 419 420 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2100 8 428 418 419 420 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2101 7 417 418 422 423 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2102 8 419 418 422 423 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2103 8 425 418 422 423 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2104 8 428 418 422 423 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2105 7 417 418 425 426 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2106 8 419 418 425 426 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2107 8 422 418 425 426 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2108 8 428 418 425 426 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2109 7 417 418 428 429 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2110 8 419 418 428 429 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2111 8 422 418 428 429 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2112 8 425 418 428 429 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2113 9 418 419 420 421 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2114 10 418 419 420 573 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2115 9 419 420 421 417 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2116 10 573 420 421 417 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2117 5 419 420 573 572 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 2118 5 419 420 573 574 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 2119 5 421 420 573 572 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 2120 5 421 420 573 574 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 2121 9 418 422 423 424 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2122 10 418 422 423 607 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2123 9 422 423 424 417 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2124 10 607 423 424 417 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2125 5 422 423 607 608 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 2126 5 422 423 607 612 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 2127 5 424 423 607 608 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 2128 5 424 423 607 612 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 2129 9 418 425 426 427 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2130 10 418 425 426 232 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2131 9 425 426 427 417 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2132 10 232 426 427 417 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2133 9 418 428 429 430 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2134 10 418 428 429 28 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2135 9 428 429 430 417 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2136 10 28 429 430 417 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2137 6 435 431 432 433 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2138 6 435 431 432 436 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2139 6 435 431 432 439 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2140 6 435 431 432 442 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2141 6 438 431 432 433 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2142 6 438 431 432 436 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2143 6 438 431 432 439 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2144 6 438 431 432 442 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2145 6 441 431 432 433 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2146 6 441 431 432 436 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2147 6 441 431 432 439 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2148 6 441 431 432 442 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2149 6 444 431 432 433 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2150 6 444 431 432 436 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2151 6 444 431 432 439 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2152 6 444 431 432 442 # ('cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW',) + 2153 7 432 431 435 434 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2154 8 438 431 435 434 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2155 8 441 431 435 434 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2156 8 444 431 435 434 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2157 7 432 431 438 437 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2158 8 435 431 438 437 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2159 8 441 431 438 437 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2160 8 444 431 438 437 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2161 7 432 431 441 440 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2162 8 435 431 441 440 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2163 8 438 431 441 440 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2164 8 444 431 441 440 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2165 7 432 431 444 443 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2166 8 435 431 444 443 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2167 8 438 431 444 443 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2168 8 441 431 444 443 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2169 7 431 432 433 434 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2170 8 436 432 433 434 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2171 8 439 432 433 434 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2172 8 442 432 433 434 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2173 7 431 432 436 437 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2174 8 433 432 436 437 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2175 8 439 432 436 437 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2176 8 442 432 436 437 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2177 7 431 432 439 440 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2178 8 433 432 439 440 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2179 8 436 432 439 440 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2180 8 442 432 439 440 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2181 7 431 432 442 443 # ('cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2182 8 433 432 442 443 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2183 8 436 432 442 443 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2184 8 439 432 442 443 # ('cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW',) + 2185 9 432 433 434 435 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2186 10 432 433 434 278 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2187 9 433 434 435 431 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2188 10 278 434 435 431 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2189 9 432 436 437 438 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2190 10 432 436 437 74 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2191 9 436 437 438 431 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2192 10 74 437 438 431 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2193 9 432 439 440 441 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2194 10 432 439 440 553 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2195 9 439 440 441 431 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2196 10 553 440 441 431 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2197 5 439 440 553 554 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 2198 5 439 440 553 558 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 2199 5 441 440 553 554 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 2200 5 441 440 553 558 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 2201 9 432 442 443 444 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2202 10 432 442 443 589 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2203 9 442 443 444 431 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2204 10 589 443 444 431 # ('cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW',) + 2205 5 442 443 589 590 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 2206 5 442 443 589 594 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 2207 5 444 443 589 590 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 2208 5 444 443 589 594 # ('cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW',) + 2209 1 450 445 446 447 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2210 2 450 445 446 451 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2211 3 194 445 446 447 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2212 4 194 445 446 451 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2213 1 446 445 450 449 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2214 2 446 445 450 453 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2215 3 194 445 450 449 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2216 4 194 445 450 453 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2217 1 445 446 447 448 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2218 3 445 446 447 292 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2219 2 451 446 447 448 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2220 4 451 446 447 292 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2221 1 446 447 448 449 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2222 2 446 447 448 452 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2223 3 292 447 448 449 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2224 4 292 447 448 452 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2225 1 447 448 449 450 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2226 3 447 448 449 133 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2227 2 452 448 449 450 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2228 4 452 448 449 133 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2229 1 448 449 450 445 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2230 2 448 449 450 453 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2231 3 133 449 450 445 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2232 4 133 449 450 453 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2233 1 459 454 455 456 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2234 2 459 454 455 460 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2235 3 152 454 455 456 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2236 4 152 454 455 460 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2237 1 455 454 459 458 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2238 2 455 454 459 462 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2239 3 152 454 459 458 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2240 4 152 454 459 462 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2241 1 454 455 456 457 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2242 3 454 455 456 138 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2243 2 460 455 456 457 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2244 4 460 455 456 138 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2245 1 455 456 457 458 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2246 2 455 456 457 461 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2247 3 138 456 457 458 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2248 4 138 456 457 461 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2249 1 456 457 458 459 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2250 3 456 457 458 263 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2251 2 461 457 458 459 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2252 4 461 457 458 263 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2253 1 457 458 459 454 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2254 2 457 458 459 462 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2255 3 263 458 459 454 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2256 4 263 458 459 462 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2257 1 468 463 464 465 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2258 2 468 463 464 469 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2259 3 105 463 464 465 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2260 4 105 463 464 469 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2261 1 464 463 468 467 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2262 2 464 463 468 471 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2263 3 105 463 468 467 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2264 4 105 463 468 471 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2265 1 463 464 465 466 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2266 3 463 464 465 119 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2267 2 469 464 465 466 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2268 4 469 464 465 119 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2269 1 464 465 466 467 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2270 2 464 465 466 470 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2271 3 119 465 466 467 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2272 4 119 465 466 470 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2273 1 465 466 467 468 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2274 3 465 466 467 246 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2275 2 470 466 467 468 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2276 4 470 466 467 246 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2277 1 466 467 468 463 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2278 2 466 467 468 471 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2279 3 246 467 468 463 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2280 4 246 467 468 471 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2281 1 477 472 473 474 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2282 2 477 472 473 478 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2283 3 223 472 473 474 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2284 4 223 472 473 478 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2285 1 473 472 477 476 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2286 2 473 472 477 480 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2287 3 223 472 477 476 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2288 4 223 472 477 480 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2289 1 472 473 474 475 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2290 3 472 473 474 186 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2291 2 478 473 474 475 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2292 4 478 473 474 186 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2293 1 473 474 475 476 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2294 2 473 474 475 479 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2295 3 186 474 475 476 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2296 4 186 474 475 479 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2297 1 474 475 476 477 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2298 3 474 475 476 175 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2299 2 479 475 476 477 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2300 4 479 475 476 175 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2301 1 475 476 477 472 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2302 2 475 476 477 480 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2303 3 175 476 477 472 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2304 4 175 476 477 480 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2305 1 486 481 482 483 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2306 2 486 481 482 487 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2307 3 243 481 482 483 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2308 4 243 481 482 487 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2309 1 482 481 486 485 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2310 2 482 481 486 489 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2311 3 243 481 486 485 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2312 4 243 481 486 489 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2313 1 481 482 483 484 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2314 3 481 482 483 147 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2315 2 487 482 483 484 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2316 4 487 482 483 147 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2317 1 482 483 484 485 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2318 2 482 483 484 488 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2319 3 147 483 484 485 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2320 4 147 483 484 488 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2321 1 483 484 485 486 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2322 3 483 484 485 183 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2323 2 488 484 485 486 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2324 4 488 484 485 183 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2325 1 484 485 486 481 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2326 2 484 485 486 489 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2327 3 183 485 486 481 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2328 4 183 485 486 489 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2329 1 495 490 491 492 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2330 2 495 490 491 496 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2331 3 161 490 491 492 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2332 4 161 490 491 496 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2333 1 491 490 495 494 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2334 2 491 490 495 498 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2335 3 161 490 495 494 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2336 4 161 490 495 498 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2337 1 490 491 492 493 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2338 3 490 491 492 289 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2339 2 496 491 492 493 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2340 4 496 491 492 289 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2341 1 491 492 493 494 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2342 2 491 492 493 497 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2343 3 289 492 493 494 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2344 4 289 492 493 497 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2345 1 492 493 494 495 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2346 3 492 493 494 166 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2347 2 497 493 494 495 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2348 4 497 493 494 166 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2349 1 493 494 495 490 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2350 2 493 494 495 498 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2351 3 166 494 495 490 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2352 4 166 494 495 498 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2353 1 504 499 500 501 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2354 2 504 499 500 505 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2355 3 96 499 500 501 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2356 4 96 499 500 505 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2357 1 500 499 504 503 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2358 2 500 499 504 507 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2359 3 96 499 504 503 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2360 4 96 499 504 507 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2361 1 499 500 501 502 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2362 3 499 500 501 220 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2363 2 505 500 501 502 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2364 4 505 500 501 220 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2365 1 500 501 502 503 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2366 2 500 501 502 506 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2367 3 220 501 502 503 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2368 4 220 501 502 506 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2369 1 501 502 503 504 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2370 3 501 502 503 203 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2371 2 506 502 503 504 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2372 4 506 502 503 203 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2373 1 502 503 504 499 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2374 2 502 503 504 507 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2375 3 203 503 504 499 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2376 4 203 503 504 507 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2377 1 513 508 509 510 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2378 2 513 508 509 514 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2379 3 110 508 509 510 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2380 4 110 508 509 514 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2381 1 509 508 513 512 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2382 2 509 508 513 516 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2383 3 110 508 513 512 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2384 4 110 508 513 516 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2385 1 508 509 510 511 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2386 3 508 509 510 124 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2387 2 514 509 510 511 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2388 4 514 509 510 124 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2389 1 509 510 511 512 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2390 2 509 510 511 515 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2391 3 124 510 511 512 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2392 4 124 510 511 515 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2393 1 510 511 512 513 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2394 3 510 511 512 272 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2395 2 515 511 512 513 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2396 4 515 511 512 272 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2397 1 511 512 513 508 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2398 2 511 512 513 516 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2399 3 272 512 513 508 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2400 4 272 512 513 516 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2401 1 522 517 518 519 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2402 2 522 517 518 523 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2403 3 180 517 518 519 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2404 4 180 517 518 523 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2405 1 518 517 522 521 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2406 2 518 517 522 525 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2407 3 180 517 522 521 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2408 4 180 517 522 525 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2409 1 517 518 519 520 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2410 3 517 518 519 317 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2411 2 523 518 519 520 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2412 4 523 518 519 317 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2413 1 518 519 520 521 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2414 2 518 519 520 524 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2415 3 317 519 520 521 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2416 4 317 519 520 524 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2417 1 519 520 521 522 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2418 3 519 520 521 36 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2419 2 524 520 521 522 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2420 4 524 520 521 36 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2421 1 520 521 522 517 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2422 2 520 521 522 525 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2423 3 36 521 522 517 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2424 4 36 521 522 525 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2425 1 531 526 527 528 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2426 2 531 526 527 532 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2427 3 334 526 527 528 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2428 4 334 526 527 532 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2429 1 527 526 531 530 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2430 2 527 526 531 534 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2431 3 334 526 531 530 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2432 4 334 526 531 534 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2433 1 526 527 528 529 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2434 3 526 527 528 85 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2435 2 532 527 528 529 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2436 4 532 527 528 85 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2437 1 527 528 529 530 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2438 2 527 528 529 533 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2439 3 85 528 529 530 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2440 4 85 528 529 533 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2441 1 528 529 530 531 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2442 3 528 529 530 158 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2443 2 533 529 530 531 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2444 4 533 529 530 158 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2445 1 529 530 531 526 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2446 2 529 530 531 534 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2447 3 158 530 531 526 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2448 4 158 530 531 534 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2449 1 540 535 536 537 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2450 2 540 535 536 541 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2451 3 345 535 536 537 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2452 4 345 535 536 541 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2453 1 536 535 540 539 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2454 2 536 535 540 543 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2455 3 345 535 540 539 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2456 4 345 535 540 543 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2457 1 535 536 537 538 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2458 3 535 536 537 22 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2459 2 541 536 537 538 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2460 4 541 536 537 22 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2461 1 536 537 538 539 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2462 2 536 537 538 542 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2463 3 22 537 538 539 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2464 4 22 537 538 542 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2465 1 537 538 539 540 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2466 3 537 538 539 99 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2467 2 542 538 539 540 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2468 4 542 538 539 99 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2469 1 538 539 540 535 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2470 2 538 539 540 543 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2471 3 99 539 540 535 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2472 4 99 539 540 543 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2473 1 549 544 545 546 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2474 2 549 544 545 550 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2475 3 127 544 545 546 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2476 4 127 544 545 550 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2477 1 545 544 549 548 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2478 2 545 544 549 552 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2479 3 127 544 549 548 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2480 4 127 544 549 552 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2481 1 544 545 546 547 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2482 3 544 545 546 300 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2483 2 550 545 546 547 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2484 4 550 545 546 300 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2485 1 545 546 547 548 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2486 2 545 546 547 551 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2487 3 300 546 547 548 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2488 4 300 546 547 551 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2489 1 546 547 548 549 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2490 3 546 547 548 62 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2491 2 551 547 548 549 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2492 4 551 547 548 62 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2493 1 547 548 549 544 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2494 2 547 548 549 552 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2495 3 62 548 549 544 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2496 4 62 548 549 552 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2497 1 558 553 554 555 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2498 2 558 553 554 559 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2499 3 440 553 554 555 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2500 4 440 553 554 559 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2501 1 554 553 558 557 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2502 2 554 553 558 561 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2503 3 440 553 558 557 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2504 4 440 553 558 561 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2505 1 553 554 555 556 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2506 3 553 554 555 295 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2507 2 559 554 555 556 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2508 4 559 554 555 295 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2509 1 554 555 556 557 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2510 2 554 555 556 560 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2511 3 295 555 556 557 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2512 4 295 555 556 560 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2513 1 555 556 557 558 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2514 3 555 556 557 314 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2515 2 560 556 557 558 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2516 4 560 556 557 314 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2517 1 556 557 558 553 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2518 2 556 557 558 561 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2519 3 314 557 558 553 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2520 4 314 557 558 561 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2521 1 567 562 563 564 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2522 2 567 562 563 568 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2523 3 398 562 563 564 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2524 4 398 562 563 568 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2525 1 563 562 567 566 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2526 2 563 562 567 570 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2527 3 398 562 567 566 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2528 4 398 562 567 570 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2529 1 562 563 564 565 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2530 3 562 563 564 342 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2531 2 568 563 564 565 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2532 4 568 563 564 342 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2533 1 563 564 565 566 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2534 2 563 564 565 569 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2535 3 342 564 565 566 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2536 4 342 564 565 569 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2537 1 564 565 566 567 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2538 3 564 565 566 266 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2539 2 569 565 566 567 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2540 4 569 565 566 266 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2541 1 565 566 567 562 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2542 2 565 566 567 570 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2543 3 266 566 567 562 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2544 4 266 566 567 570 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2545 1 576 571 572 573 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2546 2 576 571 572 577 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2547 3 337 571 572 573 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2548 4 337 571 572 577 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2549 1 572 571 576 575 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2550 2 572 571 576 579 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2551 3 337 571 576 575 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2552 4 337 571 576 579 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2553 1 571 572 573 574 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2554 3 571 572 573 420 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2555 2 577 572 573 574 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2556 4 577 572 573 420 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2557 1 572 573 574 575 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2558 2 572 573 574 578 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2559 3 420 573 574 575 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2560 4 420 573 574 578 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2561 1 573 574 575 576 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2562 3 573 574 575 249 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2563 2 578 574 575 576 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2564 4 578 574 575 249 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2565 1 574 575 576 571 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2566 2 574 575 576 579 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2567 3 249 575 576 571 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2568 4 249 575 576 579 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2569 1 585 580 581 582 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2570 2 585 580 581 586 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2571 3 409 580 581 582 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2572 4 409 580 581 586 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2573 1 581 580 585 584 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2574 2 581 580 585 588 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2575 3 409 580 585 584 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2576 4 409 580 585 588 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2577 1 580 581 582 583 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2578 3 580 581 582 303 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2579 2 586 581 582 583 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2580 4 586 581 582 303 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2581 1 581 582 583 584 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2582 2 581 582 583 587 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2583 3 303 582 583 584 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2584 4 303 582 583 587 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2585 1 582 583 584 585 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2586 3 582 583 584 226 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2587 2 587 583 584 585 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2588 4 587 583 584 226 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2589 1 583 584 585 580 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2590 2 583 584 585 588 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2591 3 226 584 585 580 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2592 4 226 584 585 588 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2593 1 594 589 590 591 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2594 2 594 589 590 595 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2595 3 443 589 590 591 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2596 4 443 589 590 595 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2597 1 590 589 594 593 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2598 2 590 589 594 597 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2599 3 443 589 594 593 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2600 4 443 589 594 597 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2601 1 589 590 591 592 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2602 3 589 590 591 91 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2603 2 595 590 591 592 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2604 4 595 590 591 91 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2605 1 590 591 592 593 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2606 2 590 591 592 596 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2607 3 91 591 592 593 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2608 4 91 591 592 596 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2609 1 591 592 593 594 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2610 3 591 592 593 144 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2611 2 596 592 593 594 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2612 4 596 592 593 144 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2613 1 592 593 594 589 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2614 2 592 593 594 597 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2615 3 144 593 594 589 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2616 4 144 593 594 597 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2617 1 603 598 599 600 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2618 2 603 598 599 604 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2619 3 200 598 599 600 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2620 4 200 598 599 604 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2621 1 599 598 603 602 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2622 2 599 598 603 606 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2623 3 200 598 603 602 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2624 4 200 598 603 606 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2625 1 598 599 600 601 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2626 3 598 599 600 68 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2627 2 604 599 600 601 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2628 4 604 599 600 68 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2629 1 599 600 601 602 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2630 2 599 600 601 605 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2631 3 68 600 601 602 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2632 4 68 600 601 605 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2633 1 600 601 602 603 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2634 3 600 601 602 401 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2635 2 605 601 602 603 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2636 4 605 601 602 401 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2637 1 601 602 603 598 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2638 2 601 602 603 606 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2639 3 401 602 603 598 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2640 4 401 602 603 606 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2641 1 612 607 608 609 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2642 2 612 607 608 613 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2643 3 423 607 608 609 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2644 4 423 607 608 613 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2645 1 608 607 612 611 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2646 2 608 607 612 615 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2647 3 423 607 612 611 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2648 4 423 607 612 615 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2649 1 607 608 609 610 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2650 3 607 608 609 42 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2651 2 613 608 609 610 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2652 4 613 608 609 42 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2653 1 608 609 610 611 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2654 2 608 609 610 614 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2655 3 42 609 610 611 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2656 4 42 609 610 614 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2657 1 609 610 611 612 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2658 3 609 610 611 169 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2659 2 614 610 611 612 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2660 4 614 610 611 169 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2661 1 610 611 612 607 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2662 2 610 611 612 615 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2663 3 169 611 612 607 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2664 4 169 611 612 615 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2665 1 621 616 617 618 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2666 2 621 616 617 622 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2667 3 113 616 617 618 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2668 4 113 616 617 622 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2669 1 617 616 621 620 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2670 2 617 616 621 624 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2671 3 113 616 621 620 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2672 4 113 616 621 624 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2673 1 616 617 618 619 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2674 3 616 617 618 16 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2675 2 622 617 618 619 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2676 4 622 617 618 16 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2677 1 617 618 619 620 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2678 2 617 618 619 623 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2679 3 16 618 619 620 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2680 4 16 618 619 623 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2681 1 618 619 620 621 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2682 3 618 619 620 406 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2683 2 623 619 620 621 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2684 4 623 619 620 406 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2685 1 619 620 621 616 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene',) + 2686 2 619 620 621 624 # ('cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene',) + 2687 3 406 620 621 616 # ('cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + 2688 4 406 620 621 624 # ('cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW',) + +Impropers + + 1 1 1 2 6 240 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 2 2 2 1 3 7 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 3 1 3 2 4 351 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 4 2 4 3 5 8 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 5 1 5 4 6 412 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 6 2 6 1 5 9 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 7 3 13 12 14 380 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 8 3 16 15 17 618 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 9 3 19 18 20 230 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 10 3 22 21 23 537 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 11 1 24 25 29 217 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 12 2 25 24 26 30 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 13 1 26 25 27 323 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 14 2 27 26 28 31 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 15 1 28 27 29 429 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 16 2 29 24 28 32 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 17 3 36 35 37 521 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 18 3 39 38 40 207 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 19 3 42 41 43 609 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 20 3 45 44 46 373 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 21 1 47 48 52 306 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 22 2 48 47 49 53 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 23 1 49 48 50 286 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 24 2 50 49 51 54 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 25 1 51 50 52 395 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 26 2 52 47 51 55 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 27 3 59 58 60 274 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 28 3 62 61 63 548 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 29 3 65 64 66 364 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 30 3 68 67 69 600 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 31 1 70 71 75 328 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 32 2 71 70 72 76 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 33 1 72 71 73 269 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 34 2 73 72 74 77 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 35 1 74 73 75 437 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 36 2 75 70 74 78 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 37 3 82 81 83 255 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 38 3 85 84 86 528 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 39 3 88 87 89 357 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 40 3 91 90 92 591 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 41 3 96 95 97 499 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 42 3 99 98 100 539 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 43 3 102 101 103 375 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 44 3 105 104 106 463 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 45 3 110 109 111 508 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 46 3 113 112 114 616 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 47 3 116 115 117 251 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 48 3 119 118 120 465 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 49 3 124 123 125 510 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 50 3 127 126 128 544 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 51 3 130 129 131 355 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 52 3 133 132 134 449 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 53 3 138 137 139 456 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 54 3 141 140 142 228 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 55 3 144 143 145 593 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 56 3 147 146 148 483 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 57 3 152 151 153 454 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 58 3 155 154 156 366 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 59 3 158 157 159 530 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 60 3 161 160 162 490 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 61 3 166 165 167 494 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 62 3 169 168 170 611 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 63 3 172 171 173 276 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 64 3 175 174 176 476 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 65 3 180 179 181 517 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 66 3 183 182 184 485 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 67 3 186 185 187 474 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 68 3 189 188 190 382 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 69 3 194 193 195 445 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 70 3 197 196 198 205 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 71 3 200 199 201 598 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 72 3 203 202 204 503 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 73 1 205 206 210 197 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 74 2 206 205 207 211 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 75 1 207 206 208 39 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 76 2 208 207 209 212 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 77 1 209 208 210 415 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 78 2 210 205 209 213 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 79 3 217 216 218 24 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 80 3 220 219 221 501 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 81 3 223 222 224 472 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 82 3 226 225 227 584 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 83 1 228 229 233 141 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 84 2 229 228 230 234 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 85 1 230 229 231 19 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 86 2 231 230 232 235 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 87 1 232 231 233 426 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 88 2 233 228 232 236 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 89 3 240 239 241 1 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 90 3 243 242 244 481 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 91 3 246 245 247 467 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 92 3 249 248 250 575 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 93 1 251 252 256 116 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 94 2 252 251 253 257 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 95 1 253 252 254 392 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 96 2 254 253 255 258 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 97 1 255 254 256 82 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 98 2 256 251 255 259 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 99 3 263 262 264 458 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 100 3 266 265 267 566 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 101 3 269 268 270 72 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 102 3 272 271 273 512 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 103 1 274 275 279 59 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 104 2 275 274 276 280 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 105 1 276 275 277 172 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 106 2 277 276 278 281 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 107 1 278 277 279 434 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 108 2 279 274 278 282 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 109 3 286 285 287 49 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 110 3 289 288 290 492 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 111 3 292 291 293 447 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 112 3 295 294 296 555 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 113 3 300 299 301 546 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 114 3 303 302 304 582 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 115 3 306 305 307 47 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 116 3 309 308 310 371 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 117 3 314 313 315 557 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 118 3 317 316 318 519 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 119 3 320 319 321 362 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 120 3 323 322 324 26 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 121 3 328 327 329 70 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 122 3 331 330 332 384 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 123 3 334 333 335 526 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 124 3 337 336 338 571 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 125 3 342 341 343 564 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 126 3 345 344 346 535 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 127 3 348 347 349 353 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 128 3 351 350 352 3 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 129 1 353 354 358 348 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 130 2 354 353 355 359 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 131 1 355 354 356 130 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 132 2 356 355 357 360 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 133 1 357 356 358 88 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 134 2 358 353 357 361 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 135 1 362 363 367 320 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 136 2 363 362 364 368 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 137 1 364 363 365 65 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 138 2 365 364 366 369 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 139 1 366 365 367 155 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 140 2 367 362 366 370 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 141 1 371 372 376 309 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 142 2 372 371 373 377 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 143 1 373 372 374 45 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 144 2 374 373 375 378 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 145 1 375 374 376 102 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 146 2 376 371 375 379 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 147 1 380 381 385 13 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 148 2 381 380 382 386 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 149 1 382 381 383 189 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 150 2 383 382 384 387 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 151 1 384 383 385 331 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 152 2 385 380 384 388 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 153 3 392 391 393 253 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 154 3 395 394 396 51 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 155 3 398 397 399 562 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 156 3 401 400 402 602 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 157 3 406 405 407 620 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 158 3 409 408 410 580 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 159 3 412 411 413 5 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 160 3 415 414 416 209 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 161 3 420 419 421 573 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 162 3 423 422 424 607 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 163 3 426 425 427 232 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 164 3 429 428 430 28 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 165 3 434 433 435 278 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 166 3 437 436 438 74 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 167 3 440 439 441 553 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 168 3 443 442 444 589 # ['harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW'] + 169 1 445 446 450 194 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 170 2 446 445 447 451 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 171 1 447 446 448 292 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 172 2 448 447 449 452 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 173 1 449 448 450 133 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 174 2 450 445 449 453 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 175 1 454 455 459 152 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 176 2 455 454 456 460 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 177 1 456 455 457 138 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 178 2 457 456 458 461 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 179 1 458 457 459 263 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 180 2 459 454 458 462 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 181 1 463 464 468 105 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 182 2 464 463 465 469 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 183 1 465 464 466 119 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 184 2 466 465 467 470 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 185 1 467 466 468 246 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 186 2 468 463 467 471 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 187 1 472 473 477 223 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 188 2 473 472 474 478 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 189 1 474 473 475 186 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 190 2 475 474 476 479 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 191 1 476 475 477 175 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 192 2 477 472 476 480 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 193 1 481 482 486 243 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 194 2 482 481 483 487 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 195 1 483 482 484 147 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 196 2 484 483 485 488 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 197 1 485 484 486 183 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 198 2 486 481 485 489 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 199 1 490 491 495 161 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 200 2 491 490 492 496 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 201 1 492 491 493 289 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 202 2 493 492 494 497 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 203 1 494 493 495 166 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 204 2 495 490 494 498 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 205 1 499 500 504 96 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 206 2 500 499 501 505 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 207 1 501 500 502 220 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 208 2 502 501 503 506 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 209 1 503 502 504 203 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 210 2 504 499 503 507 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 211 1 508 509 513 110 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 212 2 509 508 510 514 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 213 1 510 509 511 124 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 214 2 511 510 512 515 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 215 1 512 511 513 272 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 216 2 513 508 512 516 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 217 1 517 518 522 180 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 218 2 518 517 519 523 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 219 1 519 518 520 317 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 220 2 520 519 521 524 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 221 1 521 520 522 36 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 222 2 522 517 521 525 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 223 1 526 527 531 334 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 224 2 527 526 528 532 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 225 1 528 527 529 85 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 226 2 529 528 530 533 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 227 1 530 529 531 158 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 228 2 531 526 530 534 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 229 1 535 536 540 345 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 230 2 536 535 537 541 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 231 1 537 536 538 22 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 232 2 538 537 539 542 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 233 1 539 538 540 99 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 234 2 540 535 539 543 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 235 1 544 545 549 127 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 236 2 545 544 546 550 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 237 1 546 545 547 300 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 238 2 547 546 548 551 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 239 1 548 547 549 62 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 240 2 549 544 548 552 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 241 1 553 554 558 440 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 242 2 554 553 555 559 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 243 1 555 554 556 295 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 244 2 556 555 557 560 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 245 1 557 556 558 314 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 246 2 558 553 557 561 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 247 1 562 563 567 398 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 248 2 563 562 564 568 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 249 1 564 563 565 342 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 250 2 565 564 566 569 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 251 1 566 565 567 266 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 252 2 567 562 566 570 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 253 1 571 572 576 337 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 254 2 572 571 573 577 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 255 1 573 572 574 420 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 256 2 574 573 575 578 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 257 1 575 574 576 249 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 258 2 576 571 575 579 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 259 1 580 581 585 409 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 260 2 581 580 582 586 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 261 1 582 581 583 303 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 262 2 583 582 584 587 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 263 1 584 583 585 226 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 264 2 585 580 584 588 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 265 1 589 590 594 443 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 266 2 590 589 591 595 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 267 1 591 590 592 91 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 268 2 592 591 593 596 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 269 1 593 592 594 144 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 270 2 594 589 593 597 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 271 1 598 599 603 200 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 272 2 599 598 600 604 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 273 1 600 599 601 68 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 274 2 601 600 602 605 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 275 1 602 601 603 401 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 276 2 603 598 602 606 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 277 1 607 608 612 423 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 278 2 608 607 609 613 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 279 1 609 608 610 42 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 280 2 610 609 611 614 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 281 1 611 610 612 169 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 282 2 612 607 611 615 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 283 1 616 617 621 113 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 284 2 617 616 618 622 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 285 1 618 617 619 16 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 286 2 619 618 620 623 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + 287 1 620 619 621 406 # ['harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW'] + 288 2 621 616 620 624 # ['harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene'] + diff --git a/examples/USER/mofff/in.hkust1 b/examples/USER/mofff/in.hkust1 new file mode 100644 index 0000000000000000000000000000000000000000..cd37cbeb8967fb74182cf3f7f76857bd93d60c6e --- /dev/null +++ b/examples/USER/mofff/in.hkust1 @@ -0,0 +1,93 @@ +clear +units real +boundary p p p +atom_style full +read_data hkust1.data + +neighbor 2.0 bin + + +# ------------------------ MOF-FF FORCE FIELD ------------------------------ + +pair_style buck6d/coul/gauss/dsf 0.9000 12.0000 + +pair_coeff 1 1 10304 3.0612245 457.17971 4.5218516 0.60800971 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW +pair_coeff 1 2 10304 3.0612245 457.17971 4.5218516 0.60800971 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene +pair_coeff 1 3 6157.8178 3.4682081 129.19572 0.78772886 0.73006542 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene +pair_coeff 1 4 23689.598 2.8436019 1636.052 12.696549 0.42066711 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW +pair_coeff 1 5 10576.399 3.1746032 377.27092 2.7176691 0.61999948 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW +pair_coeff 1 6 10304 3.0769231 443.36171 4.2093581 0.60800971 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW +pair_coeff 2 2 10304 3.0612245 457.17971 4.5218516 0.60800971 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene <--> buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene +pair_coeff 2 3 6157.8178 3.4682081 129.19572 0.78772886 0.73006542 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene <--> buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene +pair_coeff 2 4 23689.598 2.8436019 1636.052 12.696549 0.42066711 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene <--> buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW +pair_coeff 2 5 10576.399 3.1746032 377.27092 2.7176691 0.61999948 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene <--> buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW +pair_coeff 2 6 10304 3.0769231 443.36171 4.2093581 0.60800971 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW +pair_coeff 3 3 3680 4 32.805 0.10690769 0.9771554 # buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene <--> buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene +pair_coeff 3 4 14157.243 3.1914894 489.18197 2.5231391 0.45538909 # buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene <--> buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW +pair_coeff 3 5 6320.6076 3.6144578 103.50278 0.44181916 0.75109952 # buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene <--> buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW +pair_coeff 3 6 6157.8178 3.4883721 124.7792 0.72632262 0.73006542 # buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW +pair_coeff 4 4 54464 2.6548673 5679.4311 33.208515 0.34105936 # buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW <--> buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW +pair_coeff 4 5 24315.863 2.9411765 1371.5617 7.9168726 0.42457748 # buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW <--> buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW +pair_coeff 4 6 23689.598 2.8571429 1590.0769 11.87959 0.42066711 # buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW +pair_coeff 5 5 10856 3.2967033 308.7755 1.6022517 0.63272774 # buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW <--> buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW +pair_coeff 5 6 10576.399 3.1914894 365.45138 2.5231391 0.61999948 # buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW +pair_coeff 6 6 10304 3.0927835 429.89352 3.9170177 0.60800971 # buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW + +bond_style hybrid class2 morse + +bond_coeff 5 morse 50.000000 1.451345 1.914000 # morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW +bond_coeff 4 class2 2.536000 75.465060 -192.435903 286.248406 # mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2)|CuPW +bond_coeff 3 class2 1.094000 390.634200 -996.117210 1481.724350 # mm3->(c3_c2h1@ph,h1_c1@ph)|benzene +bond_coeff 6 class2 1.278000 585.591600 -1493.258580 2221.222138 # mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW +bond_coeff 1 class2 1.394000 509.335200 -1298.804760 1931.972080 # mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene +bond_coeff 2 class2 1.485000 360.635220 -919.619811 1367.934469 # mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW + +angle_style hybrid class2/p6 cosine/buck6d + +angle_coeff 2 class2/p6 117.711000 57.408120 -46.049402 10.553745 -7.558563 13.610890 # mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW +angle_coeff 2 class2/p6 bb 0.0 1.0 1.0 +angle_coeff 2 class2/p6 ba 0.0 0.0 1.0 1.0 +angle_coeff 6 class2/p6 126.814000 13.740540 -11.021849 2.526022 -1.809130 3.257744 # mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW +angle_coeff 6 class2/p6 bb 0.0 1.0 1.0 +angle_coeff 6 class2/p6 ba 0.0 0.0 1.0 1.0 +angle_coeff 7 class2/p6 123.490000 111.075360 -89.098091 20.419778 -14.624589 26.334856 # mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW +angle_coeff 7 class2/p6 bb 14.244120 1.278000 1.278000 +angle_coeff 7 class2/p6 ba 3.309240 3.309240 1.278000 1.278000 +angle_coeff 1 class2/p6 127.050000 53.307540 -42.760159 9.799907 -7.018666 12.638684 # mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene +angle_coeff 1 class2/p6 bb 71.796120 1.394000 1.394000 +angle_coeff 1 class2/p6 ba 6.762360 6.762360 1.394000 1.394000 +angle_coeff 4 class2/p6 84.336000 29.351520 -23.544055 5.395900 -3.864529 6.958951 # mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW +angle_coeff 4 class2/p6 bb 0.0 1.0 1.0 +angle_coeff 4 class2/p6 ba 0.0 0.0 1.0 1.0 +angle_coeff 3 class2/p6 120.350000 36.185820 -29.026127 6.652298 -4.764358 8.579296 # mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene +angle_coeff 3 class2/p6 bb 93.378120 1.394000 1.094000 +angle_coeff 3 class2/p6 ba -25.179000 53.523360 1.394000 1.094000 +angle_coeff 8 class2/p6 115.098000 79.493700 -63.765149 14.613896 -10.466432 18.847160 # mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW +angle_coeff 8 class2/p6 bb 0.0 1.0 1.0 +angle_coeff 8 class2/p6 ba 0.0 0.0 1.0 1.0 +angle_coeff 5 cosine/buck6d 1.978350 4 180.000000 # fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW + +dihedral_style opls + +dihedral_coeff 3 0.000000 0.000000 0.000000 0.000000 # cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW +dihedral_coeff 9 0.000000 4.528000 0.000000 0.000000 # cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW +dihedral_coeff 8 0.000000 0.000000 0.000000 0.000000 # cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW +dihedral_coeff 5 0.000000 1.741000 0.000000 0.000000 # cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW +dihedral_coeff 2 0.000000 6.316000 0.000000 0.000000 # cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene +dihedral_coeff 1 0.000000 4.379000 0.000000 0.000000 # cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene +dihedral_coeff 6 0.000000 0.000000 0.000000 0.609000 # cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW +dihedral_coeff 4 0.000000 0.000000 0.000000 0.000000 # cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW +dihedral_coeff 10 0.000000 0.000000 0.000000 0.000000 # cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW +dihedral_coeff 7 0.000000 0.000000 0.000000 0.000000 # cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW + +improper_style inversion/harmonic + +improper_coeff 1 18.776340 0.000000 # harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW +improper_coeff 3 41.005800 0.000000 # harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW +improper_coeff 2 4.100580 0.000000 # harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene + +special_bonds lj 0.0 0.0 1.0 coul 1.0 1.0 1.0 + +# ------------------------ MOF-FF FORCE FIELD END -------------------------- + +run 0 diff --git a/examples/USER/mofff/in.hkust1_long b/examples/USER/mofff/in.hkust1_long new file mode 100644 index 0000000000000000000000000000000000000000..5c1c7426ff0f288961c046686980972de9641cc7 --- /dev/null +++ b/examples/USER/mofff/in.hkust1_long @@ -0,0 +1,94 @@ +clear +units real +boundary p p p +atom_style full +read_data hkust1.data + +neighbor 2.0 bin + + +# ------------------------ MOF-FF FORCE FIELD ------------------------------ +kspace_style ewald 1.0e-6 + +pair_style buck6d/coul/gauss/long 0.9 0.9 12.0000 + +pair_coeff 1 1 10304 3.0612245 457.17971 4.5218516 0.60800971 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW +pair_coeff 1 2 10304 3.0612245 457.17971 4.5218516 0.60800971 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene +pair_coeff 1 3 6157.8178 3.4682081 129.19572 0.78772886 0.73006542 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene +pair_coeff 1 4 23689.598 2.8436019 1636.052 12.696549 0.42066711 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW +pair_coeff 1 5 10576.399 3.1746032 377.27092 2.7176691 0.61999948 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW +pair_coeff 1 6 10304 3.0769231 443.36171 4.2093581 0.60800971 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW +pair_coeff 2 2 10304 3.0612245 457.17971 4.5218516 0.60800971 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene <--> buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene +pair_coeff 2 3 6157.8178 3.4682081 129.19572 0.78772886 0.73006542 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene <--> buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene +pair_coeff 2 4 23689.598 2.8436019 1636.052 12.696549 0.42066711 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene <--> buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW +pair_coeff 2 5 10576.399 3.1746032 377.27092 2.7176691 0.61999948 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene <--> buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW +pair_coeff 2 6 10304 3.0769231 443.36171 4.2093581 0.60800971 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW +pair_coeff 3 3 3680 4 32.805 0.10690769 0.9771554 # buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene <--> buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene +pair_coeff 3 4 14157.243 3.1914894 489.18197 2.5231391 0.45538909 # buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene <--> buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW +pair_coeff 3 5 6320.6076 3.6144578 103.50278 0.44181916 0.75109952 # buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene <--> buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW +pair_coeff 3 6 6157.8178 3.4883721 124.7792 0.72632262 0.73006542 # buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW +pair_coeff 4 4 54464 2.6548673 5679.4311 33.208515 0.34105936 # buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW <--> buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW +pair_coeff 4 5 24315.863 2.9411765 1371.5617 7.9168726 0.42457748 # buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW <--> buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW +pair_coeff 4 6 23689.598 2.8571429 1590.0769 11.87959 0.42066711 # buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW +pair_coeff 5 5 10856 3.2967033 308.7755 1.6022517 0.63272774 # buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW <--> buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW +pair_coeff 5 6 10576.399 3.1914894 365.45138 2.5231391 0.61999948 # buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW +pair_coeff 6 6 10304 3.0927835 429.89352 3.9170177 0.60800971 # buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW + +bond_style hybrid class2 morse + +bond_coeff 5 morse 50.000000 1.451345 1.914000 # morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW +bond_coeff 4 class2 2.536000 75.465060 -192.435903 286.248406 # mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2)|CuPW +bond_coeff 3 class2 1.094000 390.634200 -996.117210 1481.724350 # mm3->(c3_c2h1@ph,h1_c1@ph)|benzene +bond_coeff 6 class2 1.278000 585.591600 -1493.258580 2221.222138 # mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW +bond_coeff 1 class2 1.394000 509.335200 -1298.804760 1931.972080 # mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene +bond_coeff 2 class2 1.485000 360.635220 -919.619811 1367.934469 # mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW + +angle_style hybrid class2/p6 cosine/buck6d + +angle_coeff 2 class2/p6 117.711000 57.408120 -46.049402 10.553745 -7.558563 13.610890 # mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW +angle_coeff 2 class2/p6 bb 0.0 1.0 1.0 +angle_coeff 2 class2/p6 ba 0.0 0.0 1.0 1.0 +angle_coeff 6 class2/p6 126.814000 13.740540 -11.021849 2.526022 -1.809130 3.257744 # mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW +angle_coeff 6 class2/p6 bb 0.0 1.0 1.0 +angle_coeff 6 class2/p6 ba 0.0 0.0 1.0 1.0 +angle_coeff 7 class2/p6 123.490000 111.075360 -89.098091 20.419778 -14.624589 26.334856 # mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW +angle_coeff 7 class2/p6 bb 14.244120 1.278000 1.278000 +angle_coeff 7 class2/p6 ba 3.309240 3.309240 1.278000 1.278000 +angle_coeff 1 class2/p6 127.050000 53.307540 -42.760159 9.799907 -7.018666 12.638684 # mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene +angle_coeff 1 class2/p6 bb 71.796120 1.394000 1.394000 +angle_coeff 1 class2/p6 ba 6.762360 6.762360 1.394000 1.394000 +angle_coeff 4 class2/p6 84.336000 29.351520 -23.544055 5.395900 -3.864529 6.958951 # mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW +angle_coeff 4 class2/p6 bb 0.0 1.0 1.0 +angle_coeff 4 class2/p6 ba 0.0 0.0 1.0 1.0 +angle_coeff 3 class2/p6 120.350000 36.185820 -29.026127 6.652298 -4.764358 8.579296 # mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene +angle_coeff 3 class2/p6 bb 93.378120 1.394000 1.094000 +angle_coeff 3 class2/p6 ba -25.179000 53.523360 1.394000 1.094000 +angle_coeff 8 class2/p6 115.098000 79.493700 -63.765149 14.613896 -10.466432 18.847160 # mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW +angle_coeff 8 class2/p6 bb 0.0 1.0 1.0 +angle_coeff 8 class2/p6 ba 0.0 0.0 1.0 1.0 +angle_coeff 5 cosine/buck6d 1.978350 4 180.000000 #1.0 # fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW + +dihedral_style opls + +dihedral_coeff 3 0.000000 0.000000 0.000000 0.000000 # cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW +dihedral_coeff 9 0.000000 4.528000 0.000000 0.000000 # cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW +dihedral_coeff 8 0.000000 0.000000 0.000000 0.000000 # cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW +dihedral_coeff 5 0.000000 1.741000 0.000000 0.000000 # cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW +dihedral_coeff 2 0.000000 6.316000 0.000000 0.000000 # cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene +dihedral_coeff 1 0.000000 4.379000 0.000000 0.000000 # cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene +dihedral_coeff 6 0.000000 0.000000 0.000000 0.609000 # cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW +dihedral_coeff 4 0.000000 0.000000 0.000000 0.000000 # cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW +dihedral_coeff 10 0.000000 0.000000 0.000000 0.000000 # cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW +dihedral_coeff 7 0.000000 0.000000 0.000000 0.000000 # cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW + +improper_style inversion/harmonic + +improper_coeff 1 18.776340 0.000000 # harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW +improper_coeff 3 41.005800 0.000000 # harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW +improper_coeff 2 4.100580 0.000000 # harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene + +special_bonds lj 0.0 0.0 1.0 coul 1.0 1.0 1.0 + +# ------------------------ MOF-FF FORCE FIELD END -------------------------- + +run 0 diff --git a/examples/USER/mofff/log.17Jan18.hkust1.g++.1 b/examples/USER/mofff/log.17Jan18.hkust1.g++.1 new file mode 100644 index 0000000000000000000000000000000000000000..13074b5054b8497c7e9a4ada038e0c368495d1e2 --- /dev/null +++ b/examples/USER/mofff/log.17Jan18.hkust1.g++.1 @@ -0,0 +1,166 @@ +LAMMPS (17 Jan 2018) +clear +units real +boundary p p p +atom_style full +read_data hkust1.data + triclinic box = (0 0 0) to (26.4408 26.4408 26.4408) with tilt (0 0 0) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 624 atoms + scanning bonds ... + 5 = max bonds/atom + scanning angles ... + 10 = max angles/atom + scanning dihedrals ... + 32 = max dihedrals/atom + scanning impropers ... + 2 = max impropers/atom + reading bonds ... + 792 bonds + reading angles ... + 1536 angles + reading dihedrals ... + 2688 dihedrals + reading impropers ... + 288 impropers + 5 = max # of 1-2 neighbors + 8 = max # of 1-3 neighbors + 20 = max # of 1-4 neighbors + 17 = max # of special neighbors + +neighbor 2.0 bin + + +# ------------------------ MOF-FF FORCE FIELD ------------------------------ + +pair_style buck6d/coul/gauss/dsf 0.9000 12.0000 + +pair_coeff 1 1 10304 3.0612245 457.17971 4.5218516 0.60800971 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW +pair_coeff 1 2 10304 3.0612245 457.17971 4.5218516 0.60800971 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene +pair_coeff 1 3 6157.8178 3.4682081 129.19572 0.78772886 0.73006542 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene +pair_coeff 1 4 23689.598 2.8436019 1636.052 12.696549 0.42066711 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW +pair_coeff 1 5 10576.399 3.1746032 377.27092 2.7176691 0.61999948 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW +pair_coeff 1 6 10304 3.0769231 443.36171 4.2093581 0.60800971 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW +pair_coeff 2 2 10304 3.0612245 457.17971 4.5218516 0.60800971 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene <--> buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene +pair_coeff 2 3 6157.8178 3.4682081 129.19572 0.78772886 0.73006542 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene <--> buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene +pair_coeff 2 4 23689.598 2.8436019 1636.052 12.696549 0.42066711 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene <--> buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW +pair_coeff 2 5 10576.399 3.1746032 377.27092 2.7176691 0.61999948 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene <--> buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW +pair_coeff 2 6 10304 3.0769231 443.36171 4.2093581 0.60800971 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW +pair_coeff 3 3 3680 4 32.805 0.10690769 0.9771554 # buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene <--> buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene +pair_coeff 3 4 14157.243 3.1914894 489.18197 2.5231391 0.45538909 # buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene <--> buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW +pair_coeff 3 5 6320.6076 3.6144578 103.50278 0.44181916 0.75109952 # buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene <--> buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW +pair_coeff 3 6 6157.8178 3.4883721 124.7792 0.72632262 0.73006542 # buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW +pair_coeff 4 4 54464 2.6548673 5679.4311 33.208515 0.34105936 # buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW <--> buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW +pair_coeff 4 5 24315.863 2.9411765 1371.5617 7.9168726 0.42457748 # buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW <--> buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW +pair_coeff 4 6 23689.598 2.8571429 1590.0769 11.87959 0.42066711 # buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW +pair_coeff 5 5 10856 3.2967033 308.7755 1.6022517 0.63272774 # buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW <--> buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW +pair_coeff 5 6 10576.399 3.1914894 365.45138 2.5231391 0.61999948 # buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW +pair_coeff 6 6 10304 3.0927835 429.89352 3.9170177 0.60800971 # buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW + +bond_style hybrid class2 morse + +bond_coeff 5 morse 50.000000 1.451345 1.914000 # morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW +bond_coeff 4 class2 2.536000 75.465060 -192.435903 286.248406 # mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2)|CuPW +bond_coeff 3 class2 1.094000 390.634200 -996.117210 1481.724350 # mm3->(c3_c2h1@ph,h1_c1@ph)|benzene +bond_coeff 6 class2 1.278000 585.591600 -1493.258580 2221.222138 # mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW +bond_coeff 1 class2 1.394000 509.335200 -1298.804760 1931.972080 # mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene +bond_coeff 2 class2 1.485000 360.635220 -919.619811 1367.934469 # mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW + +angle_style hybrid class2/p6 cosine/buck6d + +angle_coeff 2 class2/p6 117.711000 57.408120 -46.049402 10.553745 -7.558563 13.610890 # mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW +angle_coeff 2 class2/p6 bb 0.0 1.0 1.0 +angle_coeff 2 class2/p6 ba 0.0 0.0 1.0 1.0 +angle_coeff 6 class2/p6 126.814000 13.740540 -11.021849 2.526022 -1.809130 3.257744 # mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW +angle_coeff 6 class2/p6 bb 0.0 1.0 1.0 +angle_coeff 6 class2/p6 ba 0.0 0.0 1.0 1.0 +angle_coeff 7 class2/p6 123.490000 111.075360 -89.098091 20.419778 -14.624589 26.334856 # mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW +angle_coeff 7 class2/p6 bb 14.244120 1.278000 1.278000 +angle_coeff 7 class2/p6 ba 3.309240 3.309240 1.278000 1.278000 +angle_coeff 1 class2/p6 127.050000 53.307540 -42.760159 9.799907 -7.018666 12.638684 # mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene +angle_coeff 1 class2/p6 bb 71.796120 1.394000 1.394000 +angle_coeff 1 class2/p6 ba 6.762360 6.762360 1.394000 1.394000 +angle_coeff 4 class2/p6 84.336000 29.351520 -23.544055 5.395900 -3.864529 6.958951 # mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW +angle_coeff 4 class2/p6 bb 0.0 1.0 1.0 +angle_coeff 4 class2/p6 ba 0.0 0.0 1.0 1.0 +angle_coeff 3 class2/p6 120.350000 36.185820 -29.026127 6.652298 -4.764358 8.579296 # mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene +angle_coeff 3 class2/p6 bb 93.378120 1.394000 1.094000 +angle_coeff 3 class2/p6 ba -25.179000 53.523360 1.394000 1.094000 +angle_coeff 8 class2/p6 115.098000 79.493700 -63.765149 14.613896 -10.466432 18.847160 # mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW +angle_coeff 8 class2/p6 bb 0.0 1.0 1.0 +angle_coeff 8 class2/p6 ba 0.0 0.0 1.0 1.0 +angle_coeff 5 cosine/buck6d 1.978350 4 180.000000 # fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW + +dihedral_style opls + +dihedral_coeff 3 0.000000 0.000000 0.000000 0.000000 # cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW +dihedral_coeff 9 0.000000 4.528000 0.000000 0.000000 # cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW +dihedral_coeff 8 0.000000 0.000000 0.000000 0.000000 # cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW +dihedral_coeff 5 0.000000 1.741000 0.000000 0.000000 # cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW +dihedral_coeff 2 0.000000 6.316000 0.000000 0.000000 # cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene +dihedral_coeff 1 0.000000 4.379000 0.000000 0.000000 # cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene +dihedral_coeff 6 0.000000 0.000000 0.000000 0.609000 # cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW +dihedral_coeff 4 0.000000 0.000000 0.000000 0.000000 # cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW +dihedral_coeff 10 0.000000 0.000000 0.000000 0.000000 # cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW +dihedral_coeff 7 0.000000 0.000000 0.000000 0.000000 # cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW + +improper_style inversion/harmonic + +improper_coeff 1 18.776340 0.000000 # harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW +improper_coeff 3 41.005800 0.000000 # harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW +improper_coeff 2 4.100580 0.000000 # harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene + +special_bonds lj 0.0 0.0 1.0 coul 1.0 1.0 1.0 + 5 = max # of 1-2 neighbors + 8 = max # of 1-3 neighbors + 17 = max # of special neighbors + +# ------------------------ MOF-FF FORCE FIELD END -------------------------- + +run 0 +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair buck6d/coul/gauss/dsf, perpetual + attributes: half, newton on + pair build: half/bin/newton/tri + stencil: half/bin/3d/newton/tri + bin: standard +WARNING: Inconsistent image flags (../domain.cpp:786) +Per MPI rank memory allocation (min/avg/max) = 21.23 | 21.23 | 21.23 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 0 -11833.81 343.7619 -11490.048 -5.8508834 +Loop time of 9.53674e-07 on 1 procs for 0 steps with 624 atoms + +0.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 9.537e-07 | | |100.00 + +Nlocal: 624 ave 624 max 624 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 4464 ave 4464 max 4464 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 115368 ave 115368 max 115368 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 115368 +Ave neighs/atom = 184.885 +Ave special neighs/atom = 7.46154 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/USER/mofff/log.17Jan18.hkust1.g++.4 b/examples/USER/mofff/log.17Jan18.hkust1.g++.4 new file mode 100644 index 0000000000000000000000000000000000000000..bba6ff5c2e021b69c43e000b33ad701811915ebd --- /dev/null +++ b/examples/USER/mofff/log.17Jan18.hkust1.g++.4 @@ -0,0 +1,166 @@ +LAMMPS (17 Jan 2018) +clear +units real +boundary p p p +atom_style full +read_data hkust1.data + triclinic box = (0 0 0) to (26.4408 26.4408 26.4408) with tilt (0 0 0) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 624 atoms + scanning bonds ... + 5 = max bonds/atom + scanning angles ... + 10 = max angles/atom + scanning dihedrals ... + 32 = max dihedrals/atom + scanning impropers ... + 2 = max impropers/atom + reading bonds ... + 792 bonds + reading angles ... + 1536 angles + reading dihedrals ... + 2688 dihedrals + reading impropers ... + 288 impropers + 5 = max # of 1-2 neighbors + 8 = max # of 1-3 neighbors + 20 = max # of 1-4 neighbors + 17 = max # of special neighbors + +neighbor 2.0 bin + + +# ------------------------ MOF-FF FORCE FIELD ------------------------------ + +pair_style buck6d/coul/gauss/dsf 0.9000 12.0000 + +pair_coeff 1 1 10304 3.0612245 457.17971 4.5218516 0.60800971 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW +pair_coeff 1 2 10304 3.0612245 457.17971 4.5218516 0.60800971 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene +pair_coeff 1 3 6157.8178 3.4682081 129.19572 0.78772886 0.73006542 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene +pair_coeff 1 4 23689.598 2.8436019 1636.052 12.696549 0.42066711 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW +pair_coeff 1 5 10576.399 3.1746032 377.27092 2.7176691 0.61999948 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW +pair_coeff 1 6 10304 3.0769231 443.36171 4.2093581 0.60800971 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW +pair_coeff 2 2 10304 3.0612245 457.17971 4.5218516 0.60800971 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene <--> buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene +pair_coeff 2 3 6157.8178 3.4682081 129.19572 0.78772886 0.73006542 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene <--> buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene +pair_coeff 2 4 23689.598 2.8436019 1636.052 12.696549 0.42066711 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene <--> buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW +pair_coeff 2 5 10576.399 3.1746032 377.27092 2.7176691 0.61999948 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene <--> buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW +pair_coeff 2 6 10304 3.0769231 443.36171 4.2093581 0.60800971 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW +pair_coeff 3 3 3680 4 32.805 0.10690769 0.9771554 # buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene <--> buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene +pair_coeff 3 4 14157.243 3.1914894 489.18197 2.5231391 0.45538909 # buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene <--> buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW +pair_coeff 3 5 6320.6076 3.6144578 103.50278 0.44181916 0.75109952 # buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene <--> buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW +pair_coeff 3 6 6157.8178 3.4883721 124.7792 0.72632262 0.73006542 # buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW +pair_coeff 4 4 54464 2.6548673 5679.4311 33.208515 0.34105936 # buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW <--> buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW +pair_coeff 4 5 24315.863 2.9411765 1371.5617 7.9168726 0.42457748 # buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW <--> buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW +pair_coeff 4 6 23689.598 2.8571429 1590.0769 11.87959 0.42066711 # buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW +pair_coeff 5 5 10856 3.2967033 308.7755 1.6022517 0.63272774 # buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW <--> buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW +pair_coeff 5 6 10576.399 3.1914894 365.45138 2.5231391 0.61999948 # buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW +pair_coeff 6 6 10304 3.0927835 429.89352 3.9170177 0.60800971 # buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW + +bond_style hybrid class2 morse + +bond_coeff 5 morse 50.000000 1.451345 1.914000 # morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW +bond_coeff 4 class2 2.536000 75.465060 -192.435903 286.248406 # mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2)|CuPW +bond_coeff 3 class2 1.094000 390.634200 -996.117210 1481.724350 # mm3->(c3_c2h1@ph,h1_c1@ph)|benzene +bond_coeff 6 class2 1.278000 585.591600 -1493.258580 2221.222138 # mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW +bond_coeff 1 class2 1.394000 509.335200 -1298.804760 1931.972080 # mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene +bond_coeff 2 class2 1.485000 360.635220 -919.619811 1367.934469 # mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW + +angle_style hybrid class2/p6 cosine/buck6d + +angle_coeff 2 class2/p6 117.711000 57.408120 -46.049402 10.553745 -7.558563 13.610890 # mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW +angle_coeff 2 class2/p6 bb 0.0 1.0 1.0 +angle_coeff 2 class2/p6 ba 0.0 0.0 1.0 1.0 +angle_coeff 6 class2/p6 126.814000 13.740540 -11.021849 2.526022 -1.809130 3.257744 # mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW +angle_coeff 6 class2/p6 bb 0.0 1.0 1.0 +angle_coeff 6 class2/p6 ba 0.0 0.0 1.0 1.0 +angle_coeff 7 class2/p6 123.490000 111.075360 -89.098091 20.419778 -14.624589 26.334856 # mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW +angle_coeff 7 class2/p6 bb 14.244120 1.278000 1.278000 +angle_coeff 7 class2/p6 ba 3.309240 3.309240 1.278000 1.278000 +angle_coeff 1 class2/p6 127.050000 53.307540 -42.760159 9.799907 -7.018666 12.638684 # mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene +angle_coeff 1 class2/p6 bb 71.796120 1.394000 1.394000 +angle_coeff 1 class2/p6 ba 6.762360 6.762360 1.394000 1.394000 +angle_coeff 4 class2/p6 84.336000 29.351520 -23.544055 5.395900 -3.864529 6.958951 # mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW +angle_coeff 4 class2/p6 bb 0.0 1.0 1.0 +angle_coeff 4 class2/p6 ba 0.0 0.0 1.0 1.0 +angle_coeff 3 class2/p6 120.350000 36.185820 -29.026127 6.652298 -4.764358 8.579296 # mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene +angle_coeff 3 class2/p6 bb 93.378120 1.394000 1.094000 +angle_coeff 3 class2/p6 ba -25.179000 53.523360 1.394000 1.094000 +angle_coeff 8 class2/p6 115.098000 79.493700 -63.765149 14.613896 -10.466432 18.847160 # mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW +angle_coeff 8 class2/p6 bb 0.0 1.0 1.0 +angle_coeff 8 class2/p6 ba 0.0 0.0 1.0 1.0 +angle_coeff 5 cosine/buck6d 1.978350 4 180.000000 # fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW + +dihedral_style opls + +dihedral_coeff 3 0.000000 0.000000 0.000000 0.000000 # cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW +dihedral_coeff 9 0.000000 4.528000 0.000000 0.000000 # cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW +dihedral_coeff 8 0.000000 0.000000 0.000000 0.000000 # cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW +dihedral_coeff 5 0.000000 1.741000 0.000000 0.000000 # cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW +dihedral_coeff 2 0.000000 6.316000 0.000000 0.000000 # cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene +dihedral_coeff 1 0.000000 4.379000 0.000000 0.000000 # cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene +dihedral_coeff 6 0.000000 0.000000 0.000000 0.609000 # cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW +dihedral_coeff 4 0.000000 0.000000 0.000000 0.000000 # cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW +dihedral_coeff 10 0.000000 0.000000 0.000000 0.000000 # cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW +dihedral_coeff 7 0.000000 0.000000 0.000000 0.000000 # cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW + +improper_style inversion/harmonic + +improper_coeff 1 18.776340 0.000000 # harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW +improper_coeff 3 41.005800 0.000000 # harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW +improper_coeff 2 4.100580 0.000000 # harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene + +special_bonds lj 0.0 0.0 1.0 coul 1.0 1.0 1.0 + 5 = max # of 1-2 neighbors + 8 = max # of 1-3 neighbors + 17 = max # of special neighbors + +# ------------------------ MOF-FF FORCE FIELD END -------------------------- + +run 0 +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair buck6d/coul/gauss/dsf, perpetual + attributes: half, newton on + pair build: half/bin/newton/tri + stencil: half/bin/3d/newton/tri + bin: standard +WARNING: Inconsistent image flags (../domain.cpp:786) +Per MPI rank memory allocation (min/avg/max) = 20.68 | 20.68 | 20.68 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 0 -11833.81 343.7619 -11490.048 -5.8508834 +Loop time of 2.20537e-06 on 4 procs for 0 steps with 624 atoms + +0.0% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 2.205e-06 | | |100.00 + +Nlocal: 156 ave 156 max 156 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 2718 ave 2718 max 2718 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 28842 ave 28870 max 28814 min +Histogram: 1 1 0 0 0 0 0 0 1 1 + +Total # of neighbors = 115368 +Ave neighs/atom = 184.885 +Ave special neighs/atom = 7.46154 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/USER/mofff/log.17Jan18.hkust1_long.g++.1 b/examples/USER/mofff/log.17Jan18.hkust1_long.g++.1 new file mode 100644 index 0000000000000000000000000000000000000000..8f5d33c0674fcccd52f8ec6b16a9fb0e82e0110c --- /dev/null +++ b/examples/USER/mofff/log.17Jan18.hkust1_long.g++.1 @@ -0,0 +1,175 @@ +LAMMPS (17 Jan 2018) +clear +units real +boundary p p p +atom_style full +read_data hkust1.data + triclinic box = (0 0 0) to (26.4408 26.4408 26.4408) with tilt (0 0 0) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 624 atoms + scanning bonds ... + 5 = max bonds/atom + scanning angles ... + 10 = max angles/atom + scanning dihedrals ... + 32 = max dihedrals/atom + scanning impropers ... + 2 = max impropers/atom + reading bonds ... + 792 bonds + reading angles ... + 1536 angles + reading dihedrals ... + 2688 dihedrals + reading impropers ... + 288 impropers + 5 = max # of 1-2 neighbors + 8 = max # of 1-3 neighbors + 20 = max # of 1-4 neighbors + 17 = max # of special neighbors + +neighbor 2.0 bin + + +# ------------------------ MOF-FF FORCE FIELD ------------------------------ +kspace_style ewald 1.0e-6 + +pair_style buck6d/coul/gauss/long 0.9 0.9 12.0000 + +pair_coeff 1 1 10304 3.0612245 457.17971 4.5218516 0.60800971 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW +pair_coeff 1 2 10304 3.0612245 457.17971 4.5218516 0.60800971 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene +pair_coeff 1 3 6157.8178 3.4682081 129.19572 0.78772886 0.73006542 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene +pair_coeff 1 4 23689.598 2.8436019 1636.052 12.696549 0.42066711 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW +pair_coeff 1 5 10576.399 3.1746032 377.27092 2.7176691 0.61999948 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW +pair_coeff 1 6 10304 3.0769231 443.36171 4.2093581 0.60800971 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW +pair_coeff 2 2 10304 3.0612245 457.17971 4.5218516 0.60800971 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene <--> buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene +pair_coeff 2 3 6157.8178 3.4682081 129.19572 0.78772886 0.73006542 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene <--> buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene +pair_coeff 2 4 23689.598 2.8436019 1636.052 12.696549 0.42066711 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene <--> buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW +pair_coeff 2 5 10576.399 3.1746032 377.27092 2.7176691 0.61999948 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene <--> buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW +pair_coeff 2 6 10304 3.0769231 443.36171 4.2093581 0.60800971 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW +pair_coeff 3 3 3680 4 32.805 0.10690769 0.9771554 # buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene <--> buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene +pair_coeff 3 4 14157.243 3.1914894 489.18197 2.5231391 0.45538909 # buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene <--> buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW +pair_coeff 3 5 6320.6076 3.6144578 103.50278 0.44181916 0.75109952 # buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene <--> buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW +pair_coeff 3 6 6157.8178 3.4883721 124.7792 0.72632262 0.73006542 # buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW +pair_coeff 4 4 54464 2.6548673 5679.4311 33.208515 0.34105936 # buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW <--> buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW +pair_coeff 4 5 24315.863 2.9411765 1371.5617 7.9168726 0.42457748 # buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW <--> buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW +pair_coeff 4 6 23689.598 2.8571429 1590.0769 11.87959 0.42066711 # buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW +pair_coeff 5 5 10856 3.2967033 308.7755 1.6022517 0.63272774 # buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW <--> buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW +pair_coeff 5 6 10576.399 3.1914894 365.45138 2.5231391 0.61999948 # buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW +pair_coeff 6 6 10304 3.0927835 429.89352 3.9170177 0.60800971 # buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW + +bond_style hybrid class2 morse + +bond_coeff 5 morse 50.000000 1.451345 1.914000 # morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW +bond_coeff 4 class2 2.536000 75.465060 -192.435903 286.248406 # mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2)|CuPW +bond_coeff 3 class2 1.094000 390.634200 -996.117210 1481.724350 # mm3->(c3_c2h1@ph,h1_c1@ph)|benzene +bond_coeff 6 class2 1.278000 585.591600 -1493.258580 2221.222138 # mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW +bond_coeff 1 class2 1.394000 509.335200 -1298.804760 1931.972080 # mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene +bond_coeff 2 class2 1.485000 360.635220 -919.619811 1367.934469 # mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW + +angle_style hybrid class2/p6 cosine/buck6d + +angle_coeff 2 class2/p6 117.711000 57.408120 -46.049402 10.553745 -7.558563 13.610890 # mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW +angle_coeff 2 class2/p6 bb 0.0 1.0 1.0 +angle_coeff 2 class2/p6 ba 0.0 0.0 1.0 1.0 +angle_coeff 6 class2/p6 126.814000 13.740540 -11.021849 2.526022 -1.809130 3.257744 # mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW +angle_coeff 6 class2/p6 bb 0.0 1.0 1.0 +angle_coeff 6 class2/p6 ba 0.0 0.0 1.0 1.0 +angle_coeff 7 class2/p6 123.490000 111.075360 -89.098091 20.419778 -14.624589 26.334856 # mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW +angle_coeff 7 class2/p6 bb 14.244120 1.278000 1.278000 +angle_coeff 7 class2/p6 ba 3.309240 3.309240 1.278000 1.278000 +angle_coeff 1 class2/p6 127.050000 53.307540 -42.760159 9.799907 -7.018666 12.638684 # mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene +angle_coeff 1 class2/p6 bb 71.796120 1.394000 1.394000 +angle_coeff 1 class2/p6 ba 6.762360 6.762360 1.394000 1.394000 +angle_coeff 4 class2/p6 84.336000 29.351520 -23.544055 5.395900 -3.864529 6.958951 # mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW +angle_coeff 4 class2/p6 bb 0.0 1.0 1.0 +angle_coeff 4 class2/p6 ba 0.0 0.0 1.0 1.0 +angle_coeff 3 class2/p6 120.350000 36.185820 -29.026127 6.652298 -4.764358 8.579296 # mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene +angle_coeff 3 class2/p6 bb 93.378120 1.394000 1.094000 +angle_coeff 3 class2/p6 ba -25.179000 53.523360 1.394000 1.094000 +angle_coeff 8 class2/p6 115.098000 79.493700 -63.765149 14.613896 -10.466432 18.847160 # mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW +angle_coeff 8 class2/p6 bb 0.0 1.0 1.0 +angle_coeff 8 class2/p6 ba 0.0 0.0 1.0 1.0 +angle_coeff 5 cosine/buck6d 1.978350 4 180.000000 #1.0 # fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW + +dihedral_style opls + +dihedral_coeff 3 0.000000 0.000000 0.000000 0.000000 # cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW +dihedral_coeff 9 0.000000 4.528000 0.000000 0.000000 # cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW +dihedral_coeff 8 0.000000 0.000000 0.000000 0.000000 # cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW +dihedral_coeff 5 0.000000 1.741000 0.000000 0.000000 # cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW +dihedral_coeff 2 0.000000 6.316000 0.000000 0.000000 # cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene +dihedral_coeff 1 0.000000 4.379000 0.000000 0.000000 # cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene +dihedral_coeff 6 0.000000 0.000000 0.000000 0.609000 # cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW +dihedral_coeff 4 0.000000 0.000000 0.000000 0.000000 # cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW +dihedral_coeff 10 0.000000 0.000000 0.000000 0.000000 # cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW +dihedral_coeff 7 0.000000 0.000000 0.000000 0.000000 # cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW + +improper_style inversion/harmonic + +improper_coeff 1 18.776340 0.000000 # harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW +improper_coeff 3 41.005800 0.000000 # harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW +improper_coeff 2 4.100580 0.000000 # harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene + +special_bonds lj 0.0 0.0 1.0 coul 1.0 1.0 1.0 + 5 = max # of 1-2 neighbors + 8 = max # of 1-3 neighbors + 17 = max # of special neighbors + +# ------------------------ MOF-FF FORCE FIELD END -------------------------- + +run 0 +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Ewald initialization ... +WARNING: Using 12-bit tables for long-range coulomb (../kspace.cpp:321) + G vector (1/distance) = 0.267593 + estimated absolute RMS force accuracy = 0.000333665 + estimated relative force accuracy = 1.00482e-06 + KSpace vectors: actual max1d max3d = 1054 8 2456 + kxmax kymax kzmax = 8 8 8 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair buck6d/coul/gauss/long, perpetual + attributes: half, newton on + pair build: half/bin/newton/tri + stencil: half/bin/3d/newton/tri + bin: standard +WARNING: Inconsistent image flags (../domain.cpp:786) +Per MPI rank memory allocation (min/avg/max) = 34.64 | 34.64 | 34.64 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 0 -16541.109 343.7619 -16197.347 -629.64956 +Loop time of 9.53674e-07 on 1 procs for 0 steps with 624 atoms + +0.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Kspace | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 9.537e-07 | | |100.00 + +Nlocal: 624 ave 624 max 624 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 4464 ave 4464 max 4464 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 115368 ave 115368 max 115368 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 115368 +Ave neighs/atom = 184.885 +Ave special neighs/atom = 7.46154 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/USER/mofff/log.17Jan18.hkust1_long.g++.4 b/examples/USER/mofff/log.17Jan18.hkust1_long.g++.4 new file mode 100644 index 0000000000000000000000000000000000000000..8201f7da004c63a2b3a00b604555491ce497482c --- /dev/null +++ b/examples/USER/mofff/log.17Jan18.hkust1_long.g++.4 @@ -0,0 +1,175 @@ +LAMMPS (17 Jan 2018) +clear +units real +boundary p p p +atom_style full +read_data hkust1.data + triclinic box = (0 0 0) to (26.4408 26.4408 26.4408) with tilt (0 0 0) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 624 atoms + scanning bonds ... + 5 = max bonds/atom + scanning angles ... + 10 = max angles/atom + scanning dihedrals ... + 32 = max dihedrals/atom + scanning impropers ... + 2 = max impropers/atom + reading bonds ... + 792 bonds + reading angles ... + 1536 angles + reading dihedrals ... + 2688 dihedrals + reading impropers ... + 288 impropers + 5 = max # of 1-2 neighbors + 8 = max # of 1-3 neighbors + 20 = max # of 1-4 neighbors + 17 = max # of special neighbors + +neighbor 2.0 bin + + +# ------------------------ MOF-FF FORCE FIELD ------------------------------ +kspace_style ewald 1.0e-6 + +pair_style buck6d/coul/gauss/long 0.9 0.9 12.0000 + +pair_coeff 1 1 10304 3.0612245 457.17971 4.5218516 0.60800971 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW +pair_coeff 1 2 10304 3.0612245 457.17971 4.5218516 0.60800971 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene +pair_coeff 1 3 6157.8178 3.4682081 129.19572 0.78772886 0.73006542 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene +pair_coeff 1 4 23689.598 2.8436019 1636.052 12.696549 0.42066711 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW +pair_coeff 1 5 10576.399 3.1746032 377.27092 2.7176691 0.61999948 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW +pair_coeff 1 6 10304 3.0769231 443.36171 4.2093581 0.60800971 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c3@ph)|CuPW <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW +pair_coeff 2 2 10304 3.0612245 457.17971 4.5218516 0.60800971 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene <--> buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene +pair_coeff 2 3 6157.8178 3.4682081 129.19572 0.78772886 0.73006542 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene <--> buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene +pair_coeff 2 4 23689.598 2.8436019 1636.052 12.696549 0.42066711 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene <--> buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW +pair_coeff 2 5 10576.399 3.1746032 377.27092 2.7176691 0.61999948 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene <--> buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW +pair_coeff 2 6 10304 3.0769231 443.36171 4.2093581 0.60800971 # buck6d->(c3_c2h1@ph)|benzene/gaussian->(c3_c2h1@ph)|benzene <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW +pair_coeff 3 3 3680 4 32.805 0.10690769 0.9771554 # buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene <--> buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene +pair_coeff 3 4 14157.243 3.1914894 489.18197 2.5231391 0.45538909 # buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene <--> buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW +pair_coeff 3 5 6320.6076 3.6144578 103.50278 0.44181916 0.75109952 # buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene <--> buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW +pair_coeff 3 6 6157.8178 3.4883721 124.7792 0.72632262 0.73006542 # buck6d->(h1_c1@ph)|benzene/gaussian->(h1_c1@ph)|benzene <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW +pair_coeff 4 4 54464 2.6548673 5679.4311 33.208515 0.34105936 # buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW <--> buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW +pair_coeff 4 5 24315.863 2.9411765 1371.5617 7.9168726 0.42457748 # buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW <--> buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW +pair_coeff 4 6 23689.598 2.8571429 1590.0769 11.87959 0.42066711 # buck6d->(cu5_cu1o4@cu2)|CuPW/gaussian->(cu5_cu1o4@cu2)|CuPW <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW +pair_coeff 5 5 10856 3.2967033 308.7755 1.6022517 0.63272774 # buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW <--> buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW +pair_coeff 5 6 10576.399 3.1914894 365.45138 2.5231391 0.61999948 # buck6d->(o2_c1cu1@co2)|CuPW/gaussian->(o2_c1cu1@co2)|CuPW <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW +pair_coeff 6 6 10304 3.0927835 429.89352 3.9170177 0.60800971 # buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW <--> buck6d->(c3_c1o2@co2)|CuPW/gaussian->(c3_c1o2@co2)|CuPW + +bond_style hybrid class2 morse + +bond_coeff 5 morse 50.000000 1.451345 1.914000 # morse->(cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW +bond_coeff 4 class2 2.536000 75.465060 -192.435903 286.248406 # mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2)|CuPW +bond_coeff 3 class2 1.094000 390.634200 -996.117210 1481.724350 # mm3->(c3_c2h1@ph,h1_c1@ph)|benzene +bond_coeff 6 class2 1.278000 585.591600 -1493.258580 2221.222138 # mm3->(c3_c1o2@co2,o2_c1cu1@co2)|CuPW +bond_coeff 1 class2 1.394000 509.335200 -1298.804760 1931.972080 # mm3->(c3_c2h1@ph,c3_c2h1@ph)|benzene +bond_coeff 2 class2 1.485000 360.635220 -919.619811 1367.934469 # mm3->(c3_c1o2@co2,c3_c3@ph)|CuPW + +angle_style hybrid class2/p6 cosine/buck6d + +angle_coeff 2 class2/p6 117.711000 57.408120 -46.049402 10.553745 -7.558563 13.610890 # mm3->(c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW +angle_coeff 2 class2/p6 bb 0.0 1.0 1.0 +angle_coeff 2 class2/p6 ba 0.0 0.0 1.0 1.0 +angle_coeff 6 class2/p6 126.814000 13.740540 -11.021849 2.526022 -1.809130 3.257744 # mm3->(c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW +angle_coeff 6 class2/p6 bb 0.0 1.0 1.0 +angle_coeff 6 class2/p6 ba 0.0 0.0 1.0 1.0 +angle_coeff 7 class2/p6 123.490000 111.075360 -89.098091 20.419778 -14.624589 26.334856 # mm3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2)|CuPW +angle_coeff 7 class2/p6 bb 14.244120 1.278000 1.278000 +angle_coeff 7 class2/p6 ba 3.309240 3.309240 1.278000 1.278000 +angle_coeff 1 class2/p6 127.050000 53.307540 -42.760159 9.799907 -7.018666 12.638684 # mm3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene +angle_coeff 1 class2/p6 bb 71.796120 1.394000 1.394000 +angle_coeff 1 class2/p6 ba 6.762360 6.762360 1.394000 1.394000 +angle_coeff 4 class2/p6 84.336000 29.351520 -23.544055 5.395900 -3.864529 6.958951 # mm3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW +angle_coeff 4 class2/p6 bb 0.0 1.0 1.0 +angle_coeff 4 class2/p6 ba 0.0 0.0 1.0 1.0 +angle_coeff 3 class2/p6 120.350000 36.185820 -29.026127 6.652298 -4.764358 8.579296 # mm3->(c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene +angle_coeff 3 class2/p6 bb 93.378120 1.394000 1.094000 +angle_coeff 3 class2/p6 ba -25.179000 53.523360 1.394000 1.094000 +angle_coeff 8 class2/p6 115.098000 79.493700 -63.765149 14.613896 -10.466432 18.847160 # mm3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2)|CuPW +angle_coeff 8 class2/p6 bb 0.0 1.0 1.0 +angle_coeff 8 class2/p6 ba 0.0 0.0 1.0 1.0 +angle_coeff 5 cosine/buck6d 1.978350 4 180.000000 #1.0 # fourier->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW + +dihedral_style opls + +dihedral_coeff 3 0.000000 0.000000 0.000000 0.000000 # cos3->(c3_c3@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW +dihedral_coeff 9 0.000000 4.528000 0.000000 0.000000 # cos3->(o2_c1cu1@co2,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW +dihedral_coeff 8 0.000000 0.000000 0.000000 0.000000 # cos3->(o2_c1cu1@co2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW +dihedral_coeff 5 0.000000 1.741000 0.000000 0.000000 # cos3->(o2_c1cu1@co2,c3_c1o2@co2,c3_c3@ph,c3_c2h1@ph)|CuPW +dihedral_coeff 2 0.000000 6.316000 0.000000 0.000000 # cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene +dihedral_coeff 1 0.000000 4.379000 0.000000 0.000000 # cos3->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph)|benzene +dihedral_coeff 6 0.000000 0.000000 0.000000 0.609000 # cos4->(o2_c1cu1@co2,cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2)|CuPW +dihedral_coeff 4 0.000000 0.000000 0.000000 0.000000 # cos3->(h1_c1@ph,c3_c2h1@ph,c3_c3@ph,c3_c1o2@co2)|CuPW +dihedral_coeff 10 0.000000 0.000000 0.000000 0.000000 # cos3->(c3_c3@ph,c3_c1o2@co2,o2_c1cu1@co2,cu5_cu1o4@cu2)|CuPW +dihedral_coeff 7 0.000000 0.000000 0.000000 0.000000 # cos3->(cu5_cu1o4@cu2,cu5_cu1o4@cu2,o2_c1cu1@co2,c3_c1o2@co2)|CuPW + +improper_style inversion/harmonic + +improper_coeff 1 18.776340 0.000000 # harm->(c3_c3@ph,c3_c2h1@ph,c3_c2h1@ph,c3_c1o2@co2)|CuPW +improper_coeff 3 41.005800 0.000000 # harm->(c3_c1o2@co2,c3_c3@ph,o2_c1cu1@co2,o2_c1cu1@co2)|CuPW +improper_coeff 2 4.100580 0.000000 # harm->(c3_c2h1@ph,c3_c2h1@ph,c3_c2h1@ph,h1_c1@ph)|benzene + +special_bonds lj 0.0 0.0 1.0 coul 1.0 1.0 1.0 + 5 = max # of 1-2 neighbors + 8 = max # of 1-3 neighbors + 17 = max # of special neighbors + +# ------------------------ MOF-FF FORCE FIELD END -------------------------- + +run 0 +WARNING: No fixes defined, atoms won't move (../verlet.cpp:55) +Ewald initialization ... +WARNING: Using 12-bit tables for long-range coulomb (../kspace.cpp:321) + G vector (1/distance) = 0.267593 + estimated absolute RMS force accuracy = 0.000333665 + estimated relative force accuracy = 1.00482e-06 + KSpace vectors: actual max1d max3d = 1054 8 2456 + kxmax kymax kzmax = 8 8 8 +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 14 + ghost atom cutoff = 14 + binsize = 7, bins = 4 4 4 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair buck6d/coul/gauss/long, perpetual + attributes: half, newton on + pair build: half/bin/newton/tri + stencil: half/bin/3d/newton/tri + bin: standard +WARNING: Inconsistent image flags (../domain.cpp:786) +Per MPI rank memory allocation (min/avg/max) = 34.1 | 34.1 | 34.1 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 0 -16541.109 343.7619 -16197.347 -629.64956 +Loop time of 6.13928e-06 on 4 procs for 0 steps with 624 atoms + +0.0% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0 | 0 | 0 | 0.0 | 0.00 +Bond | 0 | 0 | 0 | 0.0 | 0.00 +Kspace | 0 | 0 | 0 | 0.0 | 0.00 +Neigh | 0 | 0 | 0 | 0.0 | 0.00 +Comm | 0 | 0 | 0 | 0.0 | 0.00 +Output | 0 | 0 | 0 | 0.0 | 0.00 +Modify | 0 | 0 | 0 | 0.0 | 0.00 +Other | | 6.139e-06 | | |100.00 + +Nlocal: 156 ave 156 max 156 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 2718 ave 2718 max 2718 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Neighs: 28842 ave 28870 max 28814 min +Histogram: 1 1 0 0 0 0 0 0 1 1 + +Total # of neighbors = 115368 +Ave neighs/atom = 184.885 +Ave special neighs/atom = 7.46154 +Neighbor list builds = 0 +Dangerous builds = 0 +Total wall time: 0:00:00 diff --git a/examples/gcmc/in.gcmc.co2 b/examples/gcmc/in.gcmc.co2 index 128f05b489885885fdb68c9953572d71e6d44f76..bb6916fc4847df10707f2712c10955d921878601 100644 --- a/examples/gcmc/in.gcmc.co2 +++ b/examples/gcmc/in.gcmc.co2 @@ -58,21 +58,21 @@ timestep 1.0 # rigid constraints with thermostat -fix myrigidnvt all rigid/nvt/small molecule temp ${temp} ${temp} 100 mol co2mol +fix myrigidnvt co2 rigid/nvt/small molecule temp ${temp} ${temp} 100 mol co2mol fix_modify myrigidnvt dynamic/dof no # gcmc variable tfac equal 5.0/3.0 # (3 trans + 2 rot)/(3 trans) -fix mygcmc all gcmc 100 100 0 0 54341 ${temp} ${mu} ${disp} mol & +fix mygcmc co2 gcmc 100 100 0 0 54341 ${temp} ${mu} ${disp} mol & co2mol tfac_insert ${tfac} group co2 rigid myrigidnvt # atom counts variable carbon atom "type==1" variable oxygen atom "type==2" -group carbon dynamic all var carbon -group oxygen dynamic all var oxygen +group carbon dynamic co2 var carbon +group oxygen dynamic co2 var oxygen variable nC equal count(carbon) variable nO equal count(oxygen) diff --git a/examples/gcmc/in.gcmc.lj b/examples/gcmc/in.gcmc.lj index 3fe78efb252d2274a03b812f0bd972db2666952c..a1c7c6eb1002c5bbb7af59e364be39fa9cbc27ef 100644 --- a/examples/gcmc/in.gcmc.lj +++ b/examples/gcmc/in.gcmc.lj @@ -29,14 +29,18 @@ create_box 1 box pair_coeff * * 1.0 1.0 mass * 1.0 +# we recommend setting up a dedicated group for gcmc + +group gcmcgroup type 1 + # gcmc -fix mygcmc all gcmc 1 100 100 1 29494 ${temp} ${mu} ${disp} +fix mygcmc gcmcgroup gcmc 1 100 100 1 29494 ${temp} ${mu} ${disp} # atom count variable type1 atom "type==1" -group type1 dynamic all var type1 +group type1 dynamic gcmcgroup var type1 variable n1 equal count(type1) # averaging diff --git a/examples/latte/latte.in b/examples/latte/latte.in index 7df354a742fc8354942ae1a6183e152bfd0c208f..b8b214b78b4847ee4a58c0a03e6f8a94adc78e4b 100644 --- a/examples/latte/latte.in +++ b/examples/latte/latte.in @@ -12,7 +12,7 @@ CONTROL{ xControl= 1 BASISTYPE= NONORTHO COORDSFILE= "./coords.dat" - PARAMPATH= "/home/user/LATTE/TBparam" + PARAMPATH= "./TBparam" KBT= 0.0 ENTROPYKIND= 1 PPOTON= 1 diff --git a/examples/reax/AB/log.5Oct16.AB.g++.4 b/examples/reax/AB/log.5Oct16.AB.g++.4 deleted file mode 100644 index cfc4476ef58a1ed94168c277db5e48ff5ce3fb70..0000000000000000000000000000000000000000 --- a/examples/reax/AB/log.5Oct16.AB.g++.4 +++ /dev/null @@ -1,70 +0,0 @@ -LAMMPS (5 Oct 2016) -# REAX potential for Nitroamines system -# ..... - -units real - -atom_style charge -read_data data.AB - orthogonal box = (0 0 0) to (25 25 25) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 104 atoms - -pair_style reax/c lmp_control -pair_coeff * * ffield.reax.AB H B N -Reading potential file ffield.reax.AB with DATE: 2011-02-18 - -neighbor 2 bin -neigh_modify every 10 delay 0 check no - -fix 1 all nve -fix 2 all qeq/reax 1 0.0 10.0 1e-6 param.qeq -fix 3 all temp/berendsen 500.0 500.0 100.0 - -timestep 0.25 - -#dump 1 all atom 30 dump.reax.ab - -run 3000 -Neighbor list info ... - 2 neighbor list requests - update every 10 steps, delay 0 steps, check no - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 12 - ghost atom cutoff = 12 - binsize = 6 -> bins = 5 5 5 -Memory usage per processor = 12.622 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 -8505.1816 0 -8505.1816 -673.36566 - 3000 496.56561 -8405.3755 0 -8252.9182 472.58916 -Loop time of 7.23109 on 4 procs for 3000 steps with 104 atoms - -Performance: 8.961 ns/day, 2.678 hours/ns, 414.875 timesteps/s -99.4% CPU use with 4 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 5.705 | 5.7262 | 5.7504 | 0.7 | 79.19 -Neigh | 0.14367 | 0.15976 | 0.16805 | 2.4 | 2.21 -Comm | 0.053353 | 0.077311 | 0.097821 | 5.7 | 1.07 -Output | 1.812e-05 | 1.9848e-05 | 2.408e-05 | 0.1 | 0.00 -Modify | 1.2559 | 1.2647 | 1.2818 | 0.9 | 17.49 -Other | | 0.003126 | | | 0.04 - -Nlocal: 26 ave 35 max 13 min -Histogram: 1 0 0 0 0 1 0 0 1 1 -Nghost: 421 ave 450 max 377 min -Histogram: 1 0 0 0 0 1 0 0 1 1 -Neighs: 847.25 ave 1149 max 444 min -Histogram: 1 0 0 0 1 0 0 0 1 1 - -Total # of neighbors = 3389 -Ave neighs/atom = 32.5865 -Neighbor list builds = 300 -Dangerous builds not checked - -Please see the log.cite file for references relevant to this simulation - -Total wall time: 0:00:07 diff --git a/examples/reax/AB/log.5Oct16.AB.g++.1 b/examples/reax/AB/log.8Mar18.AB.g++.1 similarity index 50% rename from examples/reax/AB/log.5Oct16.AB.g++.1 rename to examples/reax/AB/log.8Mar18.AB.g++.1 index df7d20d8bcebb00be7dddd8c207ee8944c8ac472..065b1a1e677fa07d1ad71fc1dbab4d32a2a375b9 100644 --- a/examples/reax/AB/log.5Oct16.AB.g++.1 +++ b/examples/reax/AB/log.8Mar18.AB.g++.1 @@ -1,4 +1,5 @@ -LAMMPS (5 Oct 2016) +LAMMPS (8 Mar 2018) + using 1 OpenMP thread(s) per MPI task # REAX potential for Nitroamines system # ..... @@ -28,43 +29,53 @@ timestep 0.25 run 3000 Neighbor list info ... - 2 neighbor list requests update every 10 steps, delay 0 steps, check no max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 12 ghost atom cutoff = 12 - binsize = 6 -> bins = 5 5 5 -Memory usage per processor = 18.4119 Mbytes + binsize = 6, bins = 5 5 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reax/c, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: half/ghost/bin/3d/newtoff + bin: standard + (2) fix qeq/reax, perpetual, copy from (1) + attributes: half, newton off, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 19.3 | 19.3 | 19.3 Mbytes Step Temp E_pair E_mol TotEng Press 0 0 -8505.1816 0 -8505.1816 -673.36566 - 3000 499.30579 -8405.1387 0 -8251.8401 -94.844317 -Loop time of 12.5114 on 1 procs for 3000 steps with 104 atoms + 3000 478.18595 -8398.4168 0 -8251.6025 1452.6935 +Loop time of 14.3573 on 1 procs for 3000 steps with 104 atoms -Performance: 5.179 ns/day, 4.634 hours/ns, 239.782 timesteps/s -99.3% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 4.513 ns/day, 5.318 hours/ns, 208.952 timesteps/s +96.6% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 11.137 | 11.137 | 11.137 | 0.0 | 89.01 -Neigh | 0.29816 | 0.29816 | 0.29816 | 0.0 | 2.38 -Comm | 0.016993 | 0.016993 | 0.016993 | 0.0 | 0.14 -Output | 1.1921e-05 | 1.1921e-05 | 1.1921e-05 | 0.0 | 0.00 -Modify | 1.0552 | 1.0552 | 1.0552 | 0.0 | 8.43 -Other | | 0.004142 | | | 0.03 +Pair | 12.709 | 12.709 | 12.709 | 0.0 | 88.52 +Neigh | 0.36804 | 0.36804 | 0.36804 | 0.0 | 2.56 +Comm | 0.022419 | 0.022419 | 0.022419 | 0.0 | 0.16 +Output | 2.8133e-05 | 2.8133e-05 | 2.8133e-05 | 0.0 | 0.00 +Modify | 1.2513 | 1.2513 | 1.2513 | 0.0 | 8.72 +Other | | 0.006263 | | | 0.04 Nlocal: 104 ave 104 max 104 min Histogram: 1 0 0 0 0 0 0 0 0 0 Nghost: 694 ave 694 max 694 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 2927 ave 2927 max 2927 min +Neighs: 2866 ave 2866 max 2866 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Total # of neighbors = 2927 -Ave neighs/atom = 28.1442 +Total # of neighbors = 2866 +Ave neighs/atom = 27.5577 Neighbor list builds = 300 Dangerous builds not checked Please see the log.cite file for references relevant to this simulation -Total wall time: 0:00:12 +Total wall time: 0:00:14 diff --git a/examples/reax/AB/log.8Mar18.AB.g++.4 b/examples/reax/AB/log.8Mar18.AB.g++.4 new file mode 100644 index 0000000000000000000000000000000000000000..1e02ec5725e4bdcdb6402e6c73147d9f47b0006b --- /dev/null +++ b/examples/reax/AB/log.8Mar18.AB.g++.4 @@ -0,0 +1,81 @@ +LAMMPS (8 Mar 2018) + using 1 OpenMP thread(s) per MPI task +# REAX potential for Nitroamines system +# ..... + +units real + +atom_style charge +read_data data.AB + orthogonal box = (0 0 0) to (25 25 25) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 104 atoms + +pair_style reax/c lmp_control +pair_coeff * * ffield.reax.AB H B N +Reading potential file ffield.reax.AB with DATE: 2011-02-18 + +neighbor 2 bin +neigh_modify every 10 delay 0 check no + +fix 1 all nve +fix 2 all qeq/reax 1 0.0 10.0 1e-6 param.qeq +fix 3 all temp/berendsen 500.0 500.0 100.0 + +timestep 0.25 + +#dump 1 all atom 30 dump.reax.ab + +run 3000 +Neighbor list info ... + update every 10 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 12 + ghost atom cutoff = 12 + binsize = 6, bins = 5 5 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reax/c, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: half/ghost/bin/3d/newtoff + bin: standard + (2) fix qeq/reax, perpetual, copy from (1) + attributes: half, newton off, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 12.38 | 13.22 | 13.64 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 0 -8505.1816 0 -8505.1816 -673.36566 + 3000 555.17702 -8426.5541 0 -8256.1017 219.26856 +Loop time of 9.03521 on 4 procs for 3000 steps with 104 atoms + +Performance: 7.172 ns/day, 3.346 hours/ns, 332.034 timesteps/s +94.6% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 7.0347 | 7.0652 | 7.1049 | 1.0 | 78.20 +Neigh | 0.18481 | 0.20727 | 0.22108 | 3.0 | 2.29 +Comm | 0.075175 | 0.11496 | 0.14517 | 7.4 | 1.27 +Output | 2.2888e-05 | 2.569e-05 | 3.1948e-05 | 0.0 | 0.00 +Modify | 1.6286 | 1.6421 | 1.6649 | 1.1 | 18.17 +Other | | 0.005646 | | | 0.06 + +Nlocal: 26 ave 35 max 13 min +Histogram: 1 0 0 0 0 1 0 0 1 1 +Nghost: 420.25 ave 454 max 370 min +Histogram: 1 0 0 0 0 1 0 0 1 1 +Neighs: 862.5 ave 1178 max 444 min +Histogram: 1 0 0 0 1 0 0 0 1 1 + +Total # of neighbors = 3450 +Ave neighs/atom = 33.1731 +Neighbor list builds = 300 +Dangerous builds not checked + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:09 diff --git a/examples/reax/AuO/log.5Oct16.AuO.g++.1 b/examples/reax/AuO/log.8Mar18.AuO.g++.1 similarity index 52% rename from examples/reax/AuO/log.5Oct16.AuO.g++.1 rename to examples/reax/AuO/log.8Mar18.AuO.g++.1 index 7ae86b9d60c413b7c23b946d5b20c5fff7c99363..3c609ac0238cabb2dad613fbcfcbfdece3e30340 100644 --- a/examples/reax/AuO/log.5Oct16.AuO.g++.1 +++ b/examples/reax/AuO/log.8Mar18.AuO.g++.1 @@ -1,4 +1,5 @@ -LAMMPS (5 Oct 2016) +LAMMPS (8 Mar 2018) + using 1 OpenMP thread(s) per MPI task # REAX potential for AuO system # ..... @@ -28,30 +29,40 @@ timestep 0.25 run 100 Neighbor list info ... - 2 neighbor list requests update every 10 steps, delay 0 steps, check no max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 12 ghost atom cutoff = 12 - binsize = 6 -> bins = 5 4 5 -Memory usage per processor = 144.382 Mbytes + binsize = 6, bins = 5 4 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reax/c, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: half/ghost/bin/3d/newtoff + bin: standard + (2) fix qeq/reax, perpetual, copy from (1) + attributes: half, newton off, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 157.6 | 157.6 | 157.6 Mbytes Step Temp E_pair E_mol TotEng Press - 0 0 -72201.743 0 -72201.743 -166.1947 - 100 69.043346 -72076.31 0 -71878.943 22702.308 -Loop time of 17.7559 on 1 procs for 100 steps with 960 atoms + 0 0 -72201.743 0 -72201.743 -166.19482 + 100 69.043331 -72076.309 0 -71878.942 22702.89 +Loop time of 18.4369 on 1 procs for 100 steps with 960 atoms -Performance: 0.122 ns/day, 197.288 hours/ns, 5.632 timesteps/s -99.8% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 0.117 ns/day, 204.854 hours/ns, 5.424 timesteps/s +98.7% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 15.102 | 15.102 | 15.102 | 0.0 | 85.05 -Neigh | 0.49358 | 0.49358 | 0.49358 | 0.0 | 2.78 -Comm | 0.0067561 | 0.0067561 | 0.0067561 | 0.0 | 0.04 -Output | 1.502e-05 | 1.502e-05 | 1.502e-05 | 0.0 | 0.00 -Modify | 2.1525 | 2.1525 | 2.1525 | 0.0 | 12.12 -Other | | 0.001267 | | | 0.01 +Pair | 15.373 | 15.373 | 15.373 | 0.0 | 83.38 +Neigh | 0.58774 | 0.58774 | 0.58774 | 0.0 | 3.19 +Comm | 0.0079026 | 0.0079026 | 0.0079026 | 0.0 | 0.04 +Output | 3.171e-05 | 3.171e-05 | 3.171e-05 | 0.0 | 0.00 +Modify | 2.4665 | 2.4665 | 2.4665 | 0.0 | 13.38 +Other | | 0.001366 | | | 0.01 Nlocal: 960 ave 960 max 960 min Histogram: 1 0 0 0 0 0 0 0 0 0 diff --git a/examples/reax/AuO/log.5Oct16.AuO.g++.4 b/examples/reax/AuO/log.8Mar18.AuO.g++.4 similarity index 51% rename from examples/reax/AuO/log.5Oct16.AuO.g++.4 rename to examples/reax/AuO/log.8Mar18.AuO.g++.4 index 01f29738f26cfe56a2bc313f0b8babd3b4b33ace..ed98e1f2f4d8dedb41476be50afd34b26fa8c010 100644 --- a/examples/reax/AuO/log.5Oct16.AuO.g++.4 +++ b/examples/reax/AuO/log.8Mar18.AuO.g++.4 @@ -1,4 +1,5 @@ -LAMMPS (5 Oct 2016) +LAMMPS (8 Mar 2018) + using 1 OpenMP thread(s) per MPI task # REAX potential for AuO system # ..... @@ -28,30 +29,40 @@ timestep 0.25 run 100 Neighbor list info ... - 2 neighbor list requests update every 10 steps, delay 0 steps, check no max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 12 ghost atom cutoff = 12 - binsize = 6 -> bins = 5 4 5 -Memory usage per processor = 80.1039 Mbytes + binsize = 6, bins = 5 4 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reax/c, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: half/ghost/bin/3d/newtoff + bin: standard + (2) fix qeq/reax, perpetual, copy from (1) + attributes: half, newton off, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 87.17 | 87.17 | 87.17 Mbytes Step Temp E_pair E_mol TotEng Press - 0 0 -72201.743 0 -72201.743 -166.20356 - 100 69.043372 -72076.31 0 -71878.943 22701.855 -Loop time of 7.66838 on 4 procs for 100 steps with 960 atoms + 0 0 -72201.743 0 -72201.743 -166.2027 + 100 69.043379 -72076.31 0 -71878.943 22701.771 +Loop time of 8.44797 on 4 procs for 100 steps with 960 atoms -Performance: 0.282 ns/day, 85.204 hours/ns, 13.041 timesteps/s -99.7% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 0.256 ns/day, 93.866 hours/ns, 11.837 timesteps/s +96.5% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 6.7833 | 6.7864 | 6.7951 | 0.2 | 88.50 -Neigh | 0.2412 | 0.24206 | 0.24396 | 0.2 | 3.16 -Comm | 0.010402 | 0.019419 | 0.022561 | 3.7 | 0.25 -Output | 2.0981e-05 | 2.3007e-05 | 2.9087e-05 | 0.1 | 0.00 -Modify | 0.61733 | 0.61964 | 0.62064 | 0.2 | 8.08 -Other | | 0.0007888 | | | 0.01 +Pair | 7.3702 | 7.3757 | 7.3879 | 0.3 | 87.31 +Neigh | 0.28875 | 0.29449 | 0.29747 | 0.6 | 3.49 +Comm | 0.015008 | 0.027055 | 0.032681 | 4.3 | 0.32 +Output | 2.4319e-05 | 2.8551e-05 | 3.8624e-05 | 0.0 | 0.00 +Modify | 0.74721 | 0.74985 | 0.75539 | 0.4 | 8.88 +Other | | 0.0008975 | | | 0.01 Nlocal: 240 ave 240 max 240 min Histogram: 4 0 0 0 0 0 0 0 0 0 @@ -67,4 +78,4 @@ Dangerous builds not checked Please see the log.cite file for references relevant to this simulation -Total wall time: 0:00:07 +Total wall time: 0:00:08 diff --git a/examples/reax/CHO/log.5Oct16.CHO.g++.1 b/examples/reax/CHO/log.8Mar18.CHO.g++.1 similarity index 53% rename from examples/reax/CHO/log.5Oct16.CHO.g++.1 rename to examples/reax/CHO/log.8Mar18.CHO.g++.1 index 2e346f75853ec2dd8f8979a04dd63e56f26f5c85..305ccbf3a01ba39f11550937ca67bd668d8c59a5 100644 --- a/examples/reax/CHO/log.5Oct16.CHO.g++.1 +++ b/examples/reax/CHO/log.8Mar18.CHO.g++.1 @@ -1,4 +1,5 @@ -LAMMPS (5 Oct 2016) +LAMMPS (8 Mar 2018) + using 1 OpenMP thread(s) per MPI task # REAX potential for CHO system # ..... @@ -28,30 +29,40 @@ timestep 0.25 run 3000 Neighbor list info ... - 2 neighbor list requests update every 10 steps, delay 0 steps, check no max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 12 ghost atom cutoff = 12 - binsize = 6 -> bins = 5 5 5 -Memory usage per processor = 17.7936 Mbytes + binsize = 6, bins = 5 5 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reax/c, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: half/ghost/bin/3d/newtoff + bin: standard + (2) fix qeq/reax, perpetual, copy from (1) + attributes: half, newton off, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 18.68 | 18.68 | 18.68 Mbytes Step Temp E_pair E_mol TotEng Press - 0 0 -10226.557 0 -10226.557 -106.09789 - 3000 548.72503 -10170.457 0 -10000.349 34.314945 -Loop time of 11.5678 on 1 procs for 3000 steps with 105 atoms + 0 0 -10226.557 0 -10226.557 -106.09755 + 3000 548.5116 -10170.389 0 -10000.348 40.372297 +Loop time of 12.6046 on 1 procs for 3000 steps with 105 atoms -Performance: 5.602 ns/day, 4.284 hours/ns, 259.340 timesteps/s -99.3% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 5.141 ns/day, 4.668 hours/ns, 238.008 timesteps/s +98.9% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 10.111 | 10.111 | 10.111 | 0.0 | 87.41 -Neigh | 0.27992 | 0.27992 | 0.27992 | 0.0 | 2.42 -Comm | 0.01603 | 0.01603 | 0.01603 | 0.0 | 0.14 -Output | 1.2159e-05 | 1.2159e-05 | 1.2159e-05 | 0.0 | 0.00 -Modify | 1.1563 | 1.1563 | 1.1563 | 0.0 | 10.00 -Other | | 0.004084 | | | 0.04 +Pair | 10.931 | 10.931 | 10.931 | 0.0 | 86.72 +Neigh | 0.33107 | 0.33107 | 0.33107 | 0.0 | 2.63 +Comm | 0.017975 | 0.017975 | 0.017975 | 0.0 | 0.14 +Output | 2.0742e-05 | 2.0742e-05 | 2.0742e-05 | 0.0 | 0.00 +Modify | 1.3197 | 1.3197 | 1.3197 | 0.0 | 10.47 +Other | | 0.005059 | | | 0.04 Nlocal: 105 ave 105 max 105 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -67,4 +78,4 @@ Dangerous builds not checked Please see the log.cite file for references relevant to this simulation -Total wall time: 0:00:11 +Total wall time: 0:00:12 diff --git a/examples/reax/CHO/log.5Oct16.CHO.g++.4 b/examples/reax/CHO/log.8Mar18.CHO.g++.4 similarity index 51% rename from examples/reax/CHO/log.5Oct16.CHO.g++.4 rename to examples/reax/CHO/log.8Mar18.CHO.g++.4 index 3536b912281186df6d4be7c6df34e2ee044d19ba..2bc19dc789e8b9fa2f1a7d2c595eb07a23aeb7c2 100644 --- a/examples/reax/CHO/log.5Oct16.CHO.g++.4 +++ b/examples/reax/CHO/log.8Mar18.CHO.g++.4 @@ -1,4 +1,5 @@ -LAMMPS (5 Oct 2016) +LAMMPS (8 Mar 2018) + using 1 OpenMP thread(s) per MPI task # REAX potential for CHO system # ..... @@ -28,30 +29,40 @@ timestep 0.25 run 3000 Neighbor list info ... - 2 neighbor list requests update every 10 steps, delay 0 steps, check no max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 12 ghost atom cutoff = 12 - binsize = 6 -> bins = 5 5 5 -Memory usage per processor = 12.9938 Mbytes + binsize = 6, bins = 5 5 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reax/c, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: half/ghost/bin/3d/newtoff + bin: standard + (2) fix qeq/reax, perpetual, copy from (1) + attributes: half, newton off, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 11.75 | 12.85 | 13.81 Mbytes Step Temp E_pair E_mol TotEng Press - 0 0 -10226.557 0 -10226.557 -106.0974 - 3000 547.91377 -10170.194 0 -10000.338 61.118402 -Loop time of 6.51546 on 4 procs for 3000 steps with 105 atoms + 0 0 -10226.557 0 -10226.557 -106.09745 + 3000 548.30567 -10170.323 0 -10000.346 47.794514 +Loop time of 7.42367 on 4 procs for 3000 steps with 105 atoms -Performance: 9.946 ns/day, 2.413 hours/ns, 460.443 timesteps/s -99.1% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 8.729 ns/day, 2.750 hours/ns, 404.113 timesteps/s +97.7% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 4.9869 | 5.0615 | 5.1246 | 2.3 | 77.68 -Neigh | 0.12213 | 0.14723 | 0.17304 | 5.5 | 2.26 -Comm | 0.05189 | 0.11582 | 0.18932 | 15.4 | 1.78 -Output | 1.812e-05 | 2.0564e-05 | 2.5988e-05 | 0.1 | 0.00 -Modify | 1.1626 | 1.1878 | 1.2122 | 1.9 | 18.23 -Other | | 0.003059 | | | 0.05 +Pair | 5.3058 | 5.4086 | 5.4922 | 3.1 | 72.86 +Neigh | 0.14791 | 0.17866 | 0.2106 | 6.5 | 2.41 +Comm | 0.080185 | 0.16666 | 0.26933 | 17.7 | 2.24 +Output | 2.5988e-05 | 2.8491e-05 | 3.4571e-05 | 0.0 | 0.00 +Modify | 1.6364 | 1.6658 | 1.6941 | 2.0 | 22.44 +Other | | 0.003964 | | | 0.05 Nlocal: 26.25 ave 45 max 6 min Histogram: 1 0 1 0 0 0 0 0 1 1 @@ -67,4 +78,4 @@ Dangerous builds not checked Please see the log.cite file for references relevant to this simulation -Total wall time: 0:00:06 +Total wall time: 0:00:07 diff --git a/examples/reax/FC/log.5Oct16.FC.g++.1 b/examples/reax/FC/log.8Mar18.FC.g++.1 similarity index 67% rename from examples/reax/FC/log.5Oct16.FC.g++.1 rename to examples/reax/FC/log.8Mar18.FC.g++.1 index e669c3916986242889bfb3174b52b1ee376febd8..1e2f723966330025b4a997ff6de0c351de9e1992 100644 --- a/examples/reax/FC/log.5Oct16.FC.g++.1 +++ b/examples/reax/FC/log.8Mar18.FC.g++.1 @@ -1,4 +1,5 @@ -LAMMPS (5 Oct 2016) +LAMMPS (8 Mar 2018) + using 1 OpenMP thread(s) per MPI task # REAX potential for Nitroamines system # ..... @@ -29,13 +30,23 @@ thermo 1 dump 4 all xyz 5000 dumpnpt.xyz run 10 Neighbor list info ... - 2 neighbor list requests update every 10 steps, delay 0 steps, check no max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 12 ghost atom cutoff = 12 - binsize = 6 -> bins = 28 27 17 -Memory usage per processor = 440.212 Mbytes + binsize = 6, bins = 28 27 17 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reax/c, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: half/ghost/bin/3d/newtoff + bin: standard + (2) fix qeq/reax, perpetual, copy from (1) + attributes: half, newton off, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 470 | 470 | 470 Mbytes Step Temp E_pair TotEng Press 0 0 -808525.04 -808525.04 58194.694 1 4.9935726 -808803.89 -808546.69 58205.825 @@ -48,20 +59,20 @@ Step Temp E_pair TotEng Press 8 320.17692 -826387.27 -809896.43 58886.877 9 404.17073 -831129.48 -810312.5 59064.551 10 497.02486 -836425.19 -810825.72 59260.714 -Loop time of 20.3094 on 1 procs for 10 steps with 17280 atoms +Loop time of 21.5054 on 1 procs for 10 steps with 17280 atoms -Performance: 0.009 ns/day, 2820.746 hours/ns, 0.492 timesteps/s -99.9% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 0.008 ns/day, 2986.857 hours/ns, 0.465 timesteps/s +98.8% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 18.124 | 18.124 | 18.124 | 0.0 | 89.24 -Neigh | 0.072459 | 0.072459 | 0.072459 | 0.0 | 0.36 -Comm | 0.00077629 | 0.00077629 | 0.00077629 | 0.0 | 0.00 -Output | 0.00075412 | 0.00075412 | 0.00075412 | 0.0 | 0.00 -Modify | 2.1109 | 2.1109 | 2.1109 | 0.0 | 10.39 -Other | | 0.0005426 | | | 0.00 +Pair | 19.008 | 19.008 | 19.008 | 0.0 | 88.39 +Neigh | 0.084401 | 0.084401 | 0.084401 | 0.0 | 0.39 +Comm | 0.00080419 | 0.00080419 | 0.00080419 | 0.0 | 0.00 +Output | 0.00095367 | 0.00095367 | 0.00095367 | 0.0 | 0.00 +Modify | 2.4109 | 2.4109 | 2.4109 | 0.0 | 11.21 +Other | | 0.0004592 | | | 0.00 Nlocal: 17280 ave 17280 max 17280 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -85,7 +96,7 @@ timestep 0.2 #dump 6 all custom 5000 dumpidtype.dat id type x y z run 10 -Memory usage per processor = 440.212 Mbytes +Per MPI rank memory allocation (min/avg/max) = 470 | 470 | 470 Mbytes Step Temp E_pair TotEng Press 10 497.02486 -836425.19 -810825.72 59260.714 11 601.65141 -841814.22 -810825.91 59489.422 @@ -98,20 +109,20 @@ Step Temp E_pair TotEng Press 18 1623.072 -894534.04 -810937.04 61739.541 19 1812.1865 -904337.99 -811000.57 62200.561 20 2011.5899 -915379.19 -811771.41 63361.151 -Loop time of 20.3051 on 1 procs for 10 steps with 17280 atoms +Loop time of 21.362 on 1 procs for 10 steps with 17280 atoms -Performance: 0.009 ns/day, 2820.155 hours/ns, 0.492 timesteps/s -99.9% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 0.008 ns/day, 2966.945 hours/ns, 0.468 timesteps/s +98.9% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 18.008 | 18.008 | 18.008 | 0.0 | 88.69 -Neigh | 0.069963 | 0.069963 | 0.069963 | 0.0 | 0.34 -Comm | 0.00077033 | 0.00077033 | 0.00077033 | 0.0 | 0.00 -Output | 0.00077224 | 0.00077224 | 0.00077224 | 0.0 | 0.00 -Modify | 2.225 | 2.225 | 2.225 | 0.0 | 10.96 -Other | | 0.0005276 | | | 0.00 +Pair | 18.793 | 18.793 | 18.793 | 0.0 | 87.97 +Neigh | 0.077047 | 0.077047 | 0.077047 | 0.0 | 0.36 +Comm | 0.00080276 | 0.00080276 | 0.00080276 | 0.0 | 0.00 +Output | 0.0010097 | 0.0010097 | 0.0010097 | 0.0 | 0.00 +Modify | 2.4897 | 2.4897 | 2.4897 | 0.0 | 11.65 +Other | | 0.0004568 | | | 0.00 Nlocal: 17280 ave 17280 max 17280 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -127,4 +138,4 @@ Dangerous builds not checked Please see the log.cite file for references relevant to this simulation -Total wall time: 0:00:45 +Total wall time: 0:00:47 diff --git a/examples/reax/FC/log.5Oct16.FC.g++.4 b/examples/reax/FC/log.8Mar18.FC.g++.4 similarity index 67% rename from examples/reax/FC/log.5Oct16.FC.g++.4 rename to examples/reax/FC/log.8Mar18.FC.g++.4 index f231107270786e0398f4e1b88525019072e2a11d..76dcadfb0f1d2d884ba9f1b759d28e94ef36eaf1 100644 --- a/examples/reax/FC/log.5Oct16.FC.g++.4 +++ b/examples/reax/FC/log.8Mar18.FC.g++.4 @@ -1,4 +1,5 @@ -LAMMPS (5 Oct 2016) +LAMMPS (8 Mar 2018) + using 1 OpenMP thread(s) per MPI task # REAX potential for Nitroamines system # ..... @@ -29,13 +30,23 @@ thermo 1 dump 4 all xyz 5000 dumpnpt.xyz run 10 Neighbor list info ... - 2 neighbor list requests update every 10 steps, delay 0 steps, check no max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 12 ghost atom cutoff = 12 - binsize = 6 -> bins = 28 27 17 -Memory usage per processor = 140.018 Mbytes + binsize = 6, bins = 28 27 17 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reax/c, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: half/ghost/bin/3d/newtoff + bin: standard + (2) fix qeq/reax, perpetual, copy from (1) + attributes: half, newton off, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 149.3 | 149.3 | 149.3 Mbytes Step Temp E_pair TotEng Press 0 0 -808525.04 -808525.04 58194.694 1 4.9935726 -808803.89 -808546.69 58205.825 @@ -48,20 +59,20 @@ Step Temp E_pair TotEng Press 8 320.17692 -826387.27 -809896.43 58886.877 9 404.17073 -831129.48 -810312.5 59064.551 10 497.02486 -836425.19 -810825.72 59260.714 -Loop time of 5.47494 on 4 procs for 10 steps with 17280 atoms +Loop time of 6.02109 on 4 procs for 10 steps with 17280 atoms -Performance: 0.032 ns/day, 760.408 hours/ns, 1.827 timesteps/s -99.9% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 0.029 ns/day, 836.262 hours/ns, 1.661 timesteps/s +99.0% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 4.5958 | 4.7748 | 4.8852 | 5.4 | 87.21 -Neigh | 0.021961 | 0.022104 | 0.022431 | 0.1 | 0.40 -Comm | 0.0077388 | 0.11804 | 0.29694 | 34.2 | 2.16 -Output | 0.00047708 | 0.00051123 | 0.0005939 | 0.2 | 0.01 -Modify | 0.55906 | 0.55927 | 0.55946 | 0.0 | 10.22 -Other | | 0.0002034 | | | 0.00 +Pair | 4.9482 | 5.1186 | 5.3113 | 7.4 | 85.01 +Neigh | 0.024811 | 0.025702 | 0.027556 | 0.7 | 0.43 +Comm | 0.0027421 | 0.19541 | 0.36565 | 38.1 | 3.25 +Output | 0.00053239 | 0.00057119 | 0.00067186 | 0.0 | 0.01 +Modify | 0.67876 | 0.68059 | 0.68165 | 0.1 | 11.30 +Other | | 0.0001779 | | | 0.00 Nlocal: 4320 ave 4320 max 4320 min Histogram: 4 0 0 0 0 0 0 0 0 0 @@ -85,7 +96,7 @@ timestep 0.2 #dump 6 all custom 5000 dumpidtype.dat id type x y z run 10 -Memory usage per processor = 140.018 Mbytes +Per MPI rank memory allocation (min/avg/max) = 149.3 | 149.3 | 149.3 Mbytes Step Temp E_pair TotEng Press 10 497.02486 -836425.19 -810825.72 59260.714 11 601.65141 -841814.22 -810825.91 59489.422 @@ -98,20 +109,20 @@ Step Temp E_pair TotEng Press 18 1623.072 -894534.04 -810937.04 61739.541 19 1812.1865 -904337.99 -811000.57 62200.561 20 2011.5899 -915379.19 -811771.41 63361.151 -Loop time of 5.49026 on 4 procs for 10 steps with 17280 atoms +Loop time of 6.08805 on 4 procs for 10 steps with 17280 atoms -Performance: 0.031 ns/day, 762.536 hours/ns, 1.821 timesteps/s -99.9% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 0.028 ns/day, 845.563 hours/ns, 1.643 timesteps/s +99.2% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 4.5657 | 4.7603 | 4.8596 | 5.4 | 86.70 -Neigh | 0.021023 | 0.021468 | 0.022176 | 0.3 | 0.39 -Comm | 0.016467 | 0.1157 | 0.31031 | 34.7 | 2.11 -Output | 0.00047684 | 0.00050694 | 0.00059295 | 0.2 | 0.01 -Modify | 0.59135 | 0.59207 | 0.59251 | 0.1 | 10.78 -Other | | 0.0001938 | | | 0.00 +Pair | 4.9124 | 5.1008 | 5.3405 | 8.3 | 83.78 +Neigh | 0.023652 | 0.024473 | 0.025996 | 0.6 | 0.40 +Comm | 0.0020971 | 0.24171 | 0.43023 | 38.0 | 3.97 +Output | 0.00056076 | 0.00060701 | 0.00072312 | 0.0 | 0.01 +Modify | 0.71869 | 0.72023 | 0.72107 | 0.1 | 11.83 +Other | | 0.0001827 | | | 0.00 Nlocal: 4320 ave 4320 max 4320 min Histogram: 4 0 0 0 0 0 0 0 0 0 @@ -127,4 +138,4 @@ Dangerous builds not checked Please see the log.cite file for references relevant to this simulation -Total wall time: 0:00:12 +Total wall time: 0:00:13 diff --git a/examples/reax/HNS/in.reaxc.hns b/examples/reax/HNS/in.reaxc.hns index 51cec6afd22a57cec9d2671bc6f4cd9afa972d1f..775a389eca849319eb0806db55f8fc59d120bd9e 100644 --- a/examples/reax/HNS/in.reaxc.hns +++ b/examples/reax/HNS/in.reaxc.hns @@ -1,6 +1,12 @@ # Pure HNS crystal, ReaxFF tests for benchmarking LAMMPS # See README for more info +variable x index 2 +variable y index 2 +variable z index 2 +variable t index 100 + + units real atom_style charge atom_modify sort 100 0.0 # optional @@ -24,7 +30,7 @@ timestep 0.1 thermo_style custom step temp pe press evdwl ecoul vol thermo_modify norm yes -thermo 100 +thermo 10 velocity all create 300.0 41279 loop geom diff --git a/examples/reax/HNS/log.8Mar18.reaxc.hns.g++.1 b/examples/reax/HNS/log.8Mar18.reaxc.hns.g++.1 new file mode 100644 index 0000000000000000000000000000000000000000..d418d287b1e0ebd6c138fa878750774a7e377cfc --- /dev/null +++ b/examples/reax/HNS/log.8Mar18.reaxc.hns.g++.1 @@ -0,0 +1,115 @@ +LAMMPS (8 Mar 2018) + using 1 OpenMP thread(s) per MPI task +# Pure HNS crystal, ReaxFF tests for benchmarking LAMMPS +# See README for more info + +variable x index 2 +variable y index 2 +variable z index 2 +variable t index 100 + + +units real +atom_style charge +atom_modify sort 100 0.0 # optional +dimension 3 +boundary p p p +box tilt large + +read_data data.hns-equil + triclinic box = (0 0 0) to (22.326 11.1412 13.779) with tilt (0 -5.02603 0) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 304 atoms + reading velocities ... + 304 velocities +replicate $x $y $z bbox +replicate 2 $y $z bbox +replicate 2 2 $z bbox +replicate 2 2 2 bbox + triclinic box = (0 0 0) to (44.652 22.2824 27.5579) with tilt (0 -10.0521 0) + 1 by 1 by 1 MPI processor grid + 2432 atoms + Time spent = 0.000789404 secs + + +pair_style reax/c NULL +pair_coeff * * ffield.reax.hns C H O N + +compute reax all pair reax/c + +neighbor 1.0 bin +neigh_modify every 20 delay 0 check no + +timestep 0.1 + +thermo_style custom step temp pe press evdwl ecoul vol +thermo_modify norm yes +thermo 10 + +velocity all create 300.0 41279 loop geom + +fix 1 all nve +fix 2 all qeq/reax 1 0.0 10.0 1e-6 reax/c + +run 100 +Neighbor list info ... + update every 20 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 11 + ghost atom cutoff = 11 + binsize = 5.5, bins = 10 5 6 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reax/c, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: half/ghost/bin/3d/newtoff + bin: standard + (2) fix qeq/reax, perpetual, copy from (1) + attributes: half, newton off, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 262.4 | 262.4 | 262.4 Mbytes +Step Temp PotEng Press E_vdwl E_coul Volume + 0 300 -113.27833 437.52103 -111.57687 -1.7014647 27418.867 + 10 299.87174 -113.27778 2033.6337 -111.57645 -1.7013325 27418.867 + 20 300.81718 -113.28046 4817.5889 -111.57931 -1.7011463 27418.867 + 30 301.8622 -113.28323 8303.0039 -111.58237 -1.7008608 27418.867 + 40 302.4646 -113.28493 10519.459 -111.58446 -1.700467 27418.867 + 50 300.79064 -113.27989 10402.291 -111.57987 -1.7000218 27418.867 + 60 296.11534 -113.26599 7929.1348 -111.5664 -1.6995929 27418.867 + 70 291.73354 -113.25289 5071.5459 -111.5537 -1.6991916 27418.867 + 80 292.189 -113.25399 5667.0962 -111.55519 -1.6987993 27418.867 + 90 298.40792 -113.27253 7513.3806 -111.57409 -1.6984403 27418.867 + 100 303.58246 -113.28809 10017.879 -111.58991 -1.698177 27418.867 +Loop time of 59.5461 on 1 procs for 100 steps with 2432 atoms + +Performance: 0.015 ns/day, 1654.060 hours/ns, 1.679 timesteps/s +97.0% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 49.922 | 49.922 | 49.922 | 0.0 | 83.84 +Neigh | 0.53154 | 0.53154 | 0.53154 | 0.0 | 0.89 +Comm | 0.011399 | 0.011399 | 0.011399 | 0.0 | 0.02 +Output | 0.00064397 | 0.00064397 | 0.00064397 | 0.0 | 0.00 +Modify | 9.0782 | 9.0782 | 9.0782 | 0.0 | 15.25 +Other | | 0.002116 | | | 0.00 + +Nlocal: 2432 ave 2432 max 2432 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 10687 ave 10687 max 10687 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 823977 ave 823977 max 823977 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 823977 +Ave neighs/atom = 338.806 +Neighbor list builds = 5 +Dangerous builds not checked + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:01:00 diff --git a/examples/reax/HNS/log.8Mar18.reaxc.hns.g++.4 b/examples/reax/HNS/log.8Mar18.reaxc.hns.g++.4 new file mode 100644 index 0000000000000000000000000000000000000000..aef07f80eb11e7e6a96965f2b08500b6e8064b9b --- /dev/null +++ b/examples/reax/HNS/log.8Mar18.reaxc.hns.g++.4 @@ -0,0 +1,115 @@ +LAMMPS (8 Mar 2018) + using 1 OpenMP thread(s) per MPI task +# Pure HNS crystal, ReaxFF tests for benchmarking LAMMPS +# See README for more info + +variable x index 2 +variable y index 2 +variable z index 2 +variable t index 100 + + +units real +atom_style charge +atom_modify sort 100 0.0 # optional +dimension 3 +boundary p p p +box tilt large + +read_data data.hns-equil + triclinic box = (0 0 0) to (22.326 11.1412 13.779) with tilt (0 -5.02603 0) + 2 by 1 by 2 MPI processor grid + reading atoms ... + 304 atoms + reading velocities ... + 304 velocities +replicate $x $y $z bbox +replicate 2 $y $z bbox +replicate 2 2 $z bbox +replicate 2 2 2 bbox + triclinic box = (0 0 0) to (44.652 22.2824 27.5579) with tilt (0 -10.0521 0) + 2 by 1 by 2 MPI processor grid + 2432 atoms + Time spent = 0.000398397 secs + + +pair_style reax/c NULL +pair_coeff * * ffield.reax.hns C H O N + +compute reax all pair reax/c + +neighbor 1.0 bin +neigh_modify every 20 delay 0 check no + +timestep 0.1 + +thermo_style custom step temp pe press evdwl ecoul vol +thermo_modify norm yes +thermo 10 + +velocity all create 300.0 41279 loop geom + +fix 1 all nve +fix 2 all qeq/reax 1 0.0 10.0 1e-6 reax/c + +run 100 +Neighbor list info ... + update every 20 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 11 + ghost atom cutoff = 11 + binsize = 5.5, bins = 10 5 6 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reax/c, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: half/ghost/bin/3d/newtoff + bin: standard + (2) fix qeq/reax, perpetual, copy from (1) + attributes: half, newton off, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 126.6 | 126.6 | 126.6 Mbytes +Step Temp PotEng Press E_vdwl E_coul Volume + 0 300 -113.27833 437.52112 -111.57687 -1.7014647 27418.867 + 10 299.87174 -113.27778 2033.632 -111.57645 -1.7013325 27418.867 + 20 300.81719 -113.28046 4817.5761 -111.57931 -1.7011463 27418.867 + 30 301.8622 -113.28323 8302.9767 -111.58237 -1.7008609 27418.867 + 40 302.4646 -113.28493 10519.481 -111.58446 -1.700467 27418.867 + 50 300.79064 -113.27989 10402.312 -111.57987 -1.7000217 27418.867 + 60 296.11534 -113.26599 7929.1393 -111.5664 -1.6995929 27418.867 + 70 291.73354 -113.25289 5071.5368 -111.5537 -1.6991916 27418.867 + 80 292.18901 -113.25399 5667.1118 -111.55519 -1.6987993 27418.867 + 90 298.40793 -113.27253 7513.4029 -111.57409 -1.6984403 27418.867 + 100 303.58247 -113.28809 10017.892 -111.58991 -1.698177 27418.867 +Loop time of 21.3933 on 4 procs for 100 steps with 2432 atoms + +Performance: 0.040 ns/day, 594.257 hours/ns, 4.674 timesteps/s +97.6% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 14.863 | 16.367 | 18.027 | 28.6 | 76.51 +Neigh | 0.23943 | 0.2422 | 0.24658 | 0.6 | 1.13 +Comm | 0.024331 | 1.6845 | 3.189 | 89.2 | 7.87 +Output | 0.00051165 | 0.00056899 | 0.00068665 | 0.0 | 0.00 +Modify | 3.0933 | 3.0969 | 3.0999 | 0.1 | 14.48 +Other | | 0.001784 | | | 0.01 + +Nlocal: 608 ave 608 max 608 min +Histogram: 4 0 0 0 0 0 0 0 0 0 +Nghost: 5738.25 ave 5742 max 5734 min +Histogram: 1 1 0 0 0 0 0 0 0 2 +Neighs: 231544 ave 231625 max 231466 min +Histogram: 2 0 0 0 0 0 0 0 0 2 + +Total # of neighbors = 926176 +Ave neighs/atom = 380.829 +Neighbor list builds = 5 +Dangerous builds not checked + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:21 diff --git a/examples/reax/RDX/log.5Oct16.RDX.g++.1 b/examples/reax/RDX/log.8Mar18.RDX.g++.1 similarity index 51% rename from examples/reax/RDX/log.5Oct16.RDX.g++.1 rename to examples/reax/RDX/log.8Mar18.RDX.g++.1 index 92bb048d435f3e0290add82792bd372c4186af51..d0765a97a5d6222314a94795fb43b36802537f08 100644 --- a/examples/reax/RDX/log.5Oct16.RDX.g++.1 +++ b/examples/reax/RDX/log.8Mar18.RDX.g++.1 @@ -1,4 +1,5 @@ -LAMMPS (5 Oct 2016) +LAMMPS (8 Mar 2018) + using 1 OpenMP thread(s) per MPI task # REAX potential for high energy CHON systems # ..... @@ -28,43 +29,53 @@ timestep 0.25 run 3000 Neighbor list info ... - 2 neighbor list requests update every 10 steps, delay 0 steps, check no max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 12 ghost atom cutoff = 12 - binsize = 6 -> bins = 5 5 5 -Memory usage per processor = 18.1116 Mbytes + binsize = 6, bins = 5 5 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reax/c, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: half/ghost/bin/3d/newtoff + bin: standard + (2) fix qeq/reax, perpetual, copy from (1) + attributes: half, newton off, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 19 | 19 | 19 Mbytes Step Temp E_pair E_mol TotEng Press 0 0 -10197.932 0 -10197.932 38.347492 - 3000 510.85923 -10091.694 0 -9933.3253 1668.5084 -Loop time of 18.9088 on 1 procs for 3000 steps with 105 atoms + 3000 510.63767 -10091.537 0 -9933.2374 1144.545 +Loop time of 21.2931 on 1 procs for 3000 steps with 105 atoms -Performance: 3.427 ns/day, 7.003 hours/ns, 158.657 timesteps/s -99.5% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 3.043 ns/day, 7.886 hours/ns, 140.891 timesteps/s +97.6% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 17.724 | 17.724 | 17.724 | 0.0 | 93.73 -Neigh | 0.27457 | 0.27457 | 0.27457 | 0.0 | 1.45 -Comm | 0.015814 | 0.015814 | 0.015814 | 0.0 | 0.08 -Output | 1.1921e-05 | 1.1921e-05 | 1.1921e-05 | 0.0 | 0.00 -Modify | 0.89014 | 0.89014 | 0.89014 | 0.0 | 4.71 -Other | | 0.004246 | | | 0.02 +Pair | 19.887 | 19.887 | 19.887 | 0.0 | 93.40 +Neigh | 0.33143 | 0.33143 | 0.33143 | 0.0 | 1.56 +Comm | 0.02079 | 0.02079 | 0.02079 | 0.0 | 0.10 +Output | 2.5272e-05 | 2.5272e-05 | 2.5272e-05 | 0.0 | 0.00 +Modify | 1.0478 | 1.0478 | 1.0478 | 0.0 | 4.92 +Other | | 0.006125 | | | 0.03 Nlocal: 105 ave 105 max 105 min Histogram: 1 0 0 0 0 0 0 0 0 0 Nghost: 645 ave 645 max 645 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 3061 ave 3061 max 3061 min +Neighs: 3063 ave 3063 max 3063 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Total # of neighbors = 3061 -Ave neighs/atom = 29.1524 +Total # of neighbors = 3063 +Ave neighs/atom = 29.1714 Neighbor list builds = 300 Dangerous builds not checked Please see the log.cite file for references relevant to this simulation -Total wall time: 0:00:19 +Total wall time: 0:00:21 diff --git a/examples/reax/RDX/log.5Oct16.RDX.g++.4 b/examples/reax/RDX/log.8Mar18.RDX.g++.4 similarity index 50% rename from examples/reax/RDX/log.5Oct16.RDX.g++.4 rename to examples/reax/RDX/log.8Mar18.RDX.g++.4 index bcffe8f813d6bfe2150c77bc78e847c5e2582215..7082d306363b5603796cf410085a4db703e3e3ec 100644 --- a/examples/reax/RDX/log.5Oct16.RDX.g++.4 +++ b/examples/reax/RDX/log.8Mar18.RDX.g++.4 @@ -1,4 +1,5 @@ -LAMMPS (5 Oct 2016) +LAMMPS (8 Mar 2018) + using 1 OpenMP thread(s) per MPI task # REAX potential for high energy CHON systems # ..... @@ -28,43 +29,53 @@ timestep 0.25 run 3000 Neighbor list info ... - 2 neighbor list requests update every 10 steps, delay 0 steps, check no max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 12 ghost atom cutoff = 12 - binsize = 6 -> bins = 5 5 5 -Memory usage per processor = 12.2102 Mbytes + binsize = 6, bins = 5 5 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reax/c, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: half/ghost/bin/3d/newtoff + bin: standard + (2) fix qeq/reax, perpetual, copy from (1) + attributes: half, newton off, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 12.14 | 13.04 | 13.9 Mbytes Step Temp E_pair E_mol TotEng Press 0 0 -10197.932 0 -10197.932 38.347492 - 3000 504.05354 -10089.494 0 -9933.2351 868.32505 -Loop time of 9.70759 on 4 procs for 3000 steps with 105 atoms + 3000 509.89257 -10091.36 0 -9933.2916 1406.1215 +Loop time of 10.8858 on 4 procs for 3000 steps with 105 atoms -Performance: 6.675 ns/day, 3.595 hours/ns, 309.037 timesteps/s -99.2% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 5.953 ns/day, 4.032 hours/ns, 275.588 timesteps/s +98.1% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 8.4621 | 8.5307 | 8.6001 | 1.9 | 87.88 -Neigh | 0.12583 | 0.14931 | 0.17341 | 4.5 | 1.54 -Comm | 0.053017 | 0.12311 | 0.19244 | 16.2 | 1.27 -Output | 1.9073e-05 | 2.0802e-05 | 2.408e-05 | 0.0 | 0.00 -Modify | 0.87638 | 0.9012 | 0.92557 | 1.9 | 9.28 -Other | | 0.003213 | | | 0.03 +Pair | 9.3081 | 9.4054 | 9.4994 | 2.6 | 86.40 +Neigh | 0.15541 | 0.18258 | 0.2099 | 4.7 | 1.68 +Comm | 0.070516 | 0.16621 | 0.26541 | 19.7 | 1.53 +Output | 2.2173e-05 | 2.5153e-05 | 3.3855e-05 | 0.0 | 0.00 +Modify | 1.0979 | 1.1272 | 1.1568 | 2.1 | 10.35 +Other | | 0.004379 | | | 0.04 Nlocal: 26.25 ave 46 max 8 min Histogram: 1 0 0 1 0 1 0 0 0 1 Nghost: 399.5 ave 512 max 288 min Histogram: 1 0 0 1 0 0 1 0 0 1 -Neighs: 1010.75 ave 1818 max 420 min +Neighs: 1011.25 ave 1819 max 420 min Histogram: 1 0 1 1 0 0 0 0 0 1 -Total # of neighbors = 4043 -Ave neighs/atom = 38.5048 +Total # of neighbors = 4045 +Ave neighs/atom = 38.5238 Neighbor list builds = 300 Dangerous builds not checked Please see the log.cite file for references relevant to this simulation -Total wall time: 0:00:10 +Total wall time: 0:00:11 diff --git a/examples/reax/VOH/log.5Oct16.VOH.g++.4 b/examples/reax/VOH/log.5Oct16.VOH.g++.4 deleted file mode 100644 index 8afe957732d2bf67fe2dfdbe08df794fd7c439f6..0000000000000000000000000000000000000000 --- a/examples/reax/VOH/log.5Oct16.VOH.g++.4 +++ /dev/null @@ -1,70 +0,0 @@ -LAMMPS (5 Oct 2016) -# REAX potential for VOH system -# ..... - -units real - -atom_style charge -read_data data.VOH - orthogonal box = (0 0 0) to (25 25 25) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 100 atoms - -pair_style reax/c lmp_control -pair_coeff * * ffield.reax.V_O_C_H H C O V -Reading potential file ffield.reax.V_O_C_H with DATE: 2011-02-18 - -neighbor 2 bin -neigh_modify every 10 delay 0 check no - -fix 1 all nve -fix 2 all qeq/reax 1 0.0 10.0 1e-6 param.qeq -fix 3 all temp/berendsen 500.0 500.0 100.0 - -timestep 0.25 - -#dump 1 all atom 30 dump.reax.voh - -run 3000 -Neighbor list info ... - 2 neighbor list requests - update every 10 steps, delay 0 steps, check no - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 12 - ghost atom cutoff = 12 - binsize = 6 -> bins = 5 5 5 -Memory usage per processor = 12.1769 Mbytes -Step Temp E_pair E_mol TotEng Press - 0 0 -10246.825 0 -10246.825 42.256092 - 3000 518.1493 -10196.234 0 -10043.328 -334.5971 -Loop time of 5.59178 on 4 procs for 3000 steps with 100 atoms - -Performance: 11.588 ns/day, 2.071 hours/ns, 536.502 timesteps/s -99.1% CPU use with 4 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 4.2807 | 4.3532 | 4.398 | 2.1 | 77.85 -Neigh | 0.12328 | 0.14561 | 0.16815 | 4.2 | 2.60 -Comm | 0.051619 | 0.097282 | 0.1697 | 14.1 | 1.74 -Output | 1.7881e-05 | 1.9372e-05 | 2.3842e-05 | 0.1 | 0.00 -Modify | 0.9701 | 0.99258 | 1.0148 | 1.6 | 17.75 -Other | | 0.003097 | | | 0.06 - -Nlocal: 25 ave 38 max 11 min -Histogram: 1 0 0 0 1 0 1 0 0 1 -Nghost: 368.25 ave 449 max 283 min -Histogram: 1 0 0 0 1 0 1 0 0 1 -Neighs: 1084.5 ave 1793 max 418 min -Histogram: 1 0 0 1 0 0 1 0 0 1 - -Total # of neighbors = 4338 -Ave neighs/atom = 43.38 -Neighbor list builds = 300 -Dangerous builds not checked - -Please see the log.cite file for references relevant to this simulation - -Total wall time: 0:00:05 diff --git a/examples/reax/VOH/log.5Oct16.VOH.g++.1 b/examples/reax/VOH/log.8Mar18.VOH.g++.1 similarity index 50% rename from examples/reax/VOH/log.5Oct16.VOH.g++.1 rename to examples/reax/VOH/log.8Mar18.VOH.g++.1 index 9a7a6a59c727275e463aa10ba88b6c7e3093380b..924769e5703191863a42b508ca7177493d7e99fa 100644 --- a/examples/reax/VOH/log.5Oct16.VOH.g++.1 +++ b/examples/reax/VOH/log.8Mar18.VOH.g++.1 @@ -1,4 +1,5 @@ -LAMMPS (5 Oct 2016) +LAMMPS (8 Mar 2018) + using 1 OpenMP thread(s) per MPI task # REAX potential for VOH system # ..... @@ -28,43 +29,53 @@ timestep 0.25 run 3000 Neighbor list info ... - 2 neighbor list requests update every 10 steps, delay 0 steps, check no max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 12 ghost atom cutoff = 12 - binsize = 6 -> bins = 5 5 5 -Memory usage per processor = 16.9211 Mbytes + binsize = 6, bins = 5 5 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reax/c, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: half/ghost/bin/3d/newtoff + bin: standard + (2) fix qeq/reax, perpetual, copy from (1) + attributes: half, newton off, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 17.79 | 17.79 | 17.79 Mbytes Step Temp E_pair E_mol TotEng Press 0 0 -10246.825 0 -10246.825 42.256089 - 3000 479.39686 -10186.225 0 -10044.755 -454.82798 -Loop time of 10.4348 on 1 procs for 3000 steps with 100 atoms + 3000 476.73301 -10185.256 0 -10044.572 -694.70737 +Loop time of 11.0577 on 1 procs for 3000 steps with 100 atoms -Performance: 6.210 ns/day, 3.865 hours/ns, 287.499 timesteps/s -99.2% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 5.860 ns/day, 4.095 hours/ns, 271.304 timesteps/s +98.9% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 9.2216 | 9.2216 | 9.2216 | 0.0 | 88.37 -Neigh | 0.2757 | 0.2757 | 0.2757 | 0.0 | 2.64 -Comm | 0.015626 | 0.015626 | 0.015626 | 0.0 | 0.15 -Output | 1.1921e-05 | 1.1921e-05 | 1.1921e-05 | 0.0 | 0.00 -Modify | 0.91782 | 0.91782 | 0.91782 | 0.0 | 8.80 -Other | | 0.004039 | | | 0.04 +Pair | 9.6785 | 9.6785 | 9.6785 | 0.0 | 87.53 +Neigh | 0.32599 | 0.32599 | 0.32599 | 0.0 | 2.95 +Comm | 0.017231 | 0.017231 | 0.017231 | 0.0 | 0.16 +Output | 2.5511e-05 | 2.5511e-05 | 2.5511e-05 | 0.0 | 0.00 +Modify | 1.0311 | 1.0311 | 1.0311 | 0.0 | 9.32 +Other | | 0.004857 | | | 0.04 Nlocal: 100 ave 100 max 100 min Histogram: 1 0 0 0 0 0 0 0 0 0 Nghost: 598 ave 598 max 598 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 3384 ave 3384 max 3384 min +Neighs: 3390 ave 3390 max 3390 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Total # of neighbors = 3384 -Ave neighs/atom = 33.84 +Total # of neighbors = 3390 +Ave neighs/atom = 33.9 Neighbor list builds = 300 Dangerous builds not checked Please see the log.cite file for references relevant to this simulation -Total wall time: 0:00:10 +Total wall time: 0:00:11 diff --git a/examples/reax/VOH/log.8Mar18.VOH.g++.4 b/examples/reax/VOH/log.8Mar18.VOH.g++.4 new file mode 100644 index 0000000000000000000000000000000000000000..0395af6671bb98582d2855fa370798edd68fb3f0 --- /dev/null +++ b/examples/reax/VOH/log.8Mar18.VOH.g++.4 @@ -0,0 +1,81 @@ +LAMMPS (8 Mar 2018) + using 1 OpenMP thread(s) per MPI task +# REAX potential for VOH system +# ..... + +units real + +atom_style charge +read_data data.VOH + orthogonal box = (0 0 0) to (25 25 25) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 100 atoms + +pair_style reax/c lmp_control +pair_coeff * * ffield.reax.V_O_C_H H C O V +Reading potential file ffield.reax.V_O_C_H with DATE: 2011-02-18 + +neighbor 2 bin +neigh_modify every 10 delay 0 check no + +fix 1 all nve +fix 2 all qeq/reax 1 0.0 10.0 1e-6 param.qeq +fix 3 all temp/berendsen 500.0 500.0 100.0 + +timestep 0.25 + +#dump 1 all atom 30 dump.reax.voh + +run 3000 +Neighbor list info ... + update every 10 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 12 + ghost atom cutoff = 12 + binsize = 6, bins = 5 5 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reax/c, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: half/ghost/bin/3d/newtoff + bin: standard + (2) fix qeq/reax, perpetual, copy from (1) + attributes: half, newton off, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 11.21 | 12.52 | 13.64 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 0 -10246.825 0 -10246.825 42.256092 + 3000 489.67803 -10188.866 0 -10044.362 -553.7513 +Loop time of 6.49847 on 4 procs for 3000 steps with 100 atoms + +Performance: 9.972 ns/day, 2.407 hours/ns, 461.647 timesteps/s +97.7% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 4.7412 | 4.8453 | 4.9104 | 2.9 | 74.56 +Neigh | 0.1468 | 0.17834 | 0.20151 | 4.7 | 2.74 +Comm | 0.071841 | 0.14037 | 0.24502 | 17.2 | 2.16 +Output | 2.1219e-05 | 2.408e-05 | 3.1948e-05 | 0.0 | 0.00 +Modify | 1.3072 | 1.3308 | 1.3627 | 1.7 | 20.48 +Other | | 0.003713 | | | 0.06 + +Nlocal: 25 ave 38 max 11 min +Histogram: 1 0 0 0 1 0 1 0 0 1 +Nghost: 369.75 ave 453 max 283 min +Histogram: 1 0 0 0 1 1 0 0 0 1 +Neighs: 1082.25 ave 1788 max 417 min +Histogram: 1 0 1 0 0 0 1 0 0 1 + +Total # of neighbors = 4329 +Ave neighs/atom = 43.29 +Neighbor list builds = 300 +Dangerous builds not checked + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:06 diff --git a/examples/reax/ZnOH2/log.5Oct16.ZnOH2.g++.1 b/examples/reax/ZnOH2/log.8Mar18.ZnOH2.g++.1 similarity index 50% rename from examples/reax/ZnOH2/log.5Oct16.ZnOH2.g++.1 rename to examples/reax/ZnOH2/log.8Mar18.ZnOH2.g++.1 index 8fcc86dd17b0375bb1b0263c0c2495dd7b9ee538..58b1a36719cf9d5a874b05944449c352ba26f2e2 100644 --- a/examples/reax/ZnOH2/log.5Oct16.ZnOH2.g++.1 +++ b/examples/reax/ZnOH2/log.8Mar18.ZnOH2.g++.1 @@ -1,4 +1,5 @@ -LAMMPS (5 Oct 2016) +LAMMPS (8 Mar 2018) + using 1 OpenMP thread(s) per MPI task # REAX potential for ZnOH2 system # ..... @@ -28,43 +29,53 @@ timestep 0.25 run 3000 Neighbor list info ... - 2 neighbor list requests update every 10 steps, delay 0 steps, check no max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 12 ghost atom cutoff = 12 - binsize = 6 -> bins = 5 5 5 -Memory usage per processor = 17.485 Mbytes + binsize = 6, bins = 5 5 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reax/c, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: half/ghost/bin/3d/newtoff + bin: standard + (2) fix qeq/reax, perpetual, copy from (1) + attributes: half, newton off, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 18.36 | 18.36 | 18.36 Mbytes Step Temp E_pair E_mol TotEng Press 0 0 -7900.2668 0 -7900.2668 60.076093 - 3000 522.42599 -7928.9641 0 -7767.0098 -755.28778 -Loop time of 6.38119 on 1 procs for 3000 steps with 105 atoms + 3000 535.58577 -7934.7287 0 -7768.6948 -475.46237 +Loop time of 7.29784 on 1 procs for 3000 steps with 105 atoms -Performance: 10.155 ns/day, 2.363 hours/ns, 470.132 timesteps/s -99.0% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 8.879 ns/day, 2.703 hours/ns, 411.081 timesteps/s +97.3% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 5.2711 | 5.2711 | 5.2711 | 0.0 | 82.60 -Neigh | 0.30669 | 0.30669 | 0.30669 | 0.0 | 4.81 -Comm | 0.015599 | 0.015599 | 0.015599 | 0.0 | 0.24 -Output | 1.0967e-05 | 1.0967e-05 | 1.0967e-05 | 0.0 | 0.00 -Modify | 0.78376 | 0.78376 | 0.78376 | 0.0 | 12.28 -Other | | 0.004036 | | | 0.06 +Pair | 5.9988 | 5.9988 | 5.9988 | 0.0 | 82.20 +Neigh | 0.37455 | 0.37455 | 0.37455 | 0.0 | 5.13 +Comm | 0.019186 | 0.019186 | 0.019186 | 0.0 | 0.26 +Output | 2.4557e-05 | 2.4557e-05 | 2.4557e-05 | 0.0 | 0.00 +Modify | 0.89915 | 0.89915 | 0.89915 | 0.0 | 12.32 +Other | | 0.006108 | | | 0.08 Nlocal: 105 ave 105 max 105 min Histogram: 1 0 0 0 0 0 0 0 0 0 Nghost: 649 ave 649 max 649 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 3956 ave 3956 max 3956 min +Neighs: 3971 ave 3971 max 3971 min Histogram: 1 0 0 0 0 0 0 0 0 0 -Total # of neighbors = 3956 -Ave neighs/atom = 37.6762 +Total # of neighbors = 3971 +Ave neighs/atom = 37.819 Neighbor list builds = 300 Dangerous builds not checked Please see the log.cite file for references relevant to this simulation -Total wall time: 0:00:06 +Total wall time: 0:00:07 diff --git a/examples/reax/ZnOH2/log.5Oct16.ZnOH2.g++.4 b/examples/reax/ZnOH2/log.8Mar18.ZnOH2.g++.4 similarity index 51% rename from examples/reax/ZnOH2/log.5Oct16.ZnOH2.g++.4 rename to examples/reax/ZnOH2/log.8Mar18.ZnOH2.g++.4 index 104d806c33bf2deb3dc9e50884fd7b3ffa966a81..77c5cbe1b7651843d15da5caa74b0896e37aa448 100644 --- a/examples/reax/ZnOH2/log.5Oct16.ZnOH2.g++.4 +++ b/examples/reax/ZnOH2/log.8Mar18.ZnOH2.g++.4 @@ -1,4 +1,5 @@ -LAMMPS (5 Oct 2016) +LAMMPS (8 Mar 2018) + using 1 OpenMP thread(s) per MPI task # REAX potential for ZnOH2 system # ..... @@ -28,40 +29,50 @@ timestep 0.25 run 3000 Neighbor list info ... - 2 neighbor list requests update every 10 steps, delay 0 steps, check no max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 12 ghost atom cutoff = 12 - binsize = 6 -> bins = 5 5 5 -Memory usage per processor = 12.0066 Mbytes + binsize = 6, bins = 5 5 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reax/c, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: half/ghost/bin/3d/newtoff + bin: standard + (2) fix qeq/reax, perpetual, copy from (1) + attributes: half, newton off, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 11.28 | 12.77 | 14.21 Mbytes Step Temp E_pair E_mol TotEng Press 0 0 -7900.2668 0 -7900.2668 60.076093 - 3000 536.8256 -7935.1437 0 -7768.7255 -479.27959 -Loop time of 3.77632 on 4 procs for 3000 steps with 105 atoms + 3000 538.25796 -7935.6159 0 -7768.7536 -525.47078 +Loop time of 4.48824 on 4 procs for 3000 steps with 105 atoms -Performance: 17.160 ns/day, 1.399 hours/ns, 794.423 timesteps/s -99.0% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 14.438 ns/day, 1.662 hours/ns, 668.414 timesteps/s +97.2% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 2.7337 | 2.7808 | 2.8316 | 2.5 | 73.64 -Neigh | 0.13455 | 0.16558 | 0.19493 | 5.3 | 4.38 -Comm | 0.046741 | 0.099375 | 0.14663 | 13.6 | 2.63 -Output | 1.7881e-05 | 2.0027e-05 | 2.408e-05 | 0.1 | 0.00 -Modify | 0.69792 | 0.7275 | 0.75887 | 2.5 | 19.26 -Other | | 0.003084 | | | 0.08 +Pair | 3.1031 | 3.1698 | 3.2378 | 3.3 | 70.62 +Neigh | 0.16642 | 0.20502 | 0.25003 | 6.6 | 4.57 +Comm | 0.074932 | 0.14224 | 0.21025 | 15.6 | 3.17 +Output | 0.00011349 | 0.00011736 | 0.00012231 | 0.0 | 0.00 +Modify | 0.92089 | 0.96736 | 1.0083 | 3.2 | 21.55 +Other | | 0.003731 | | | 0.08 Nlocal: 26.25 ave 45 max 15 min Histogram: 1 0 2 0 0 0 0 0 0 1 Nghost: 399 ave 509 max 295 min Histogram: 1 0 0 0 2 0 0 0 0 1 -Neighs: 1150 ave 2061 max 701 min +Neighs: 1151.5 ave 2066 max 701 min Histogram: 1 2 0 0 0 0 0 0 0 1 -Total # of neighbors = 4600 -Ave neighs/atom = 43.8095 +Total # of neighbors = 4606 +Ave neighs/atom = 43.8667 Neighbor list builds = 300 Dangerous builds not checked diff --git a/examples/reax/ci-reaxFF/input.in b/examples/reax/ci-reaxFF/in.ci-reax.CH similarity index 100% rename from examples/reax/ci-reaxFF/input.in rename to examples/reax/ci-reaxFF/in.ci-reax.CH diff --git a/examples/reax/ci-reaxFF/log.23Oct17.g++.1 b/examples/reax/ci-reaxFF/log.8Mar18.ci-reax.CH.g++.1 similarity index 77% rename from examples/reax/ci-reaxFF/log.23Oct17.g++.1 rename to examples/reax/ci-reaxFF/log.8Mar18.ci-reax.CH.g++.1 index 1be46a9699b3ee293054b6894cb3e0064cc5e705..e966fd26b6c10036267c4339cb72b318f3781428 100644 --- a/examples/reax/ci-reaxFF/log.23Oct17.g++.1 +++ b/examples/reax/ci-reaxFF/log.8Mar18.ci-reax.CH.g++.1 @@ -1,4 +1,5 @@ -LAMMPS (23 Oct 2017) +LAMMPS (8 Mar 2018) + using 1 OpenMP thread(s) per MPI task #ci-reax potential for CH systems with tabulated ZBL correction atom_style charge units real @@ -31,6 +32,7 @@ fix 2 all temp/berendsen 500.0 500.0 100.0 #dump 1 all atom 30 dump.ci-reax.lammpstrj run 3000 +WARNING: Total cutoff < 2*bond cutoff. May need to use an increased neighbor list skin. (../pair_reaxc.cpp:392) Neighbor list info ... update every 1 steps, delay 10 steps, check yes max neighbors/atom: 2000, page size: 100000 @@ -52,20 +54,20 @@ Per MPI rank memory allocation (min/avg/max) = 43.46 | 43.46 | 43.46 Mbytes Step Temp E_pair E_mol TotEng Press 0 508.42043 -28736.654 0 -28260.785 1678.3276 3000 480.41333 -28707.835 0 -28258.181 -3150.0762 -Loop time of 21.5509 on 1 procs for 3000 steps with 315 atoms +Loop time of 45.3959 on 1 procs for 3000 steps with 315 atoms -Performance: 3.007 ns/day, 7.982 hours/ns, 139.205 timesteps/s -100.0% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 1.427 ns/day, 16.813 hours/ns, 66.085 timesteps/s +96.6% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 21.315 | 21.315 | 21.315 | 0.0 | 98.91 -Neigh | 0.17846 | 0.17846 | 0.17846 | 0.0 | 0.83 -Comm | 0.028676 | 0.028676 | 0.028676 | 0.0 | 0.13 -Output | 2.6941e-05 | 2.6941e-05 | 2.6941e-05 | 0.0 | 0.00 -Modify | 0.018969 | 0.018969 | 0.018969 | 0.0 | 0.09 -Other | | 0.009438 | | | 0.04 +Pair | 44.955 | 44.955 | 44.955 | 0.0 | 99.03 +Neigh | 0.29903 | 0.29903 | 0.29903 | 0.0 | 0.66 +Comm | 0.056547 | 0.056547 | 0.056547 | 0.0 | 0.12 +Output | 4.8399e-05 | 4.8399e-05 | 4.8399e-05 | 0.0 | 0.00 +Modify | 0.058722 | 0.058722 | 0.058722 | 0.0 | 0.13 +Other | | 0.02632 | | | 0.06 Nlocal: 315 ave 315 max 315 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -81,4 +83,4 @@ Dangerous builds = 0 Please see the log.cite file for references relevant to this simulation -Total wall time: 0:00:21 +Total wall time: 0:00:45 diff --git a/examples/reax/ci-reaxFF/log.8Mar18.ci-reax.CH.g++.4 b/examples/reax/ci-reaxFF/log.8Mar18.ci-reax.CH.g++.4 new file mode 100644 index 0000000000000000000000000000000000000000..ccc87b3536b264a2ace057a00f702c71c3f4b41c --- /dev/null +++ b/examples/reax/ci-reaxFF/log.8Mar18.ci-reax.CH.g++.4 @@ -0,0 +1,86 @@ +LAMMPS (8 Mar 2018) + using 1 OpenMP thread(s) per MPI task +#ci-reax potential for CH systems with tabulated ZBL correction +atom_style charge +units real + +read_data CH4.dat + orthogonal box = (0 0 0) to (20 20 20) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 315 atoms + reading velocities ... + 315 velocities + +pair_style hybrid/overlay reax/c control checkqeq no table linear 11000 +pair_coeff * * reax/c ffield.ci-reax.CH C H +Reading potential file ffield.ci-reax.CH with DATE: 2017-11-20 +pair_coeff 1 1 table ci-reaxFF_ZBL.dat CC_cireaxFF +WARNING: 2 of 10000 force values in table are inconsistent with -dE/dr. + Should only be flagged at inflection points (../pair_table.cpp:481) +pair_coeff 1 2 table ci-reaxFF_ZBL.dat CH_cireaxFF +WARNING: 2 of 11000 force values in table are inconsistent with -dE/dr. + Should only be flagged at inflection points (../pair_table.cpp:481) +pair_coeff 2 2 table ci-reaxFF_ZBL.dat HH_cireaxFF +WARNING: 2 of 6000 force values in table are inconsistent with -dE/dr. + Should only be flagged at inflection points (../pair_table.cpp:481) + +timestep 0.25 +fix 1 all nve +fix 2 all temp/berendsen 500.0 500.0 100.0 + +#dump 1 all atom 30 dump.ci-reax.lammpstrj + +run 3000 +WARNING: Total cutoff < 2*bond cutoff. May need to use an increased neighbor list skin. (../pair_reaxc.cpp:392) +Neighbor list info ... + update every 1 steps, delay 10 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 9.5 + ghost atom cutoff = 9.5 + binsize = 4.75, bins = 5 5 5 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reax/c, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: half/ghost/bin/3d/newtoff + bin: standard + (2) pair table, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 24.48 | 25.61 | 27.27 Mbytes +Step Temp E_pair E_mol TotEng Press + 0 508.42043 -28736.654 0 -28260.785 1678.3276 + 3000 480.41333 -28707.835 0 -28258.181 -3150.0762 +Loop time of 24.7034 on 4 procs for 3000 steps with 315 atoms + +Performance: 2.623 ns/day, 9.149 hours/ns, 121.441 timesteps/s +95.8% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 18.945 | 21.367 | 24.046 | 39.3 | 86.49 +Neigh | 0.1456 | 0.15254 | 0.16101 | 1.6 | 0.62 +Comm | 0.39168 | 3.0859 | 5.5185 | 103.9 | 12.49 +Output | 3.5763e-05 | 4.065e-05 | 5.2452e-05 | 0.0 | 0.00 +Modify | 0.05831 | 0.068811 | 0.077666 | 2.9 | 0.28 +Other | | 0.0292 | | | 0.12 + +Nlocal: 78.75 ave 96 max 65 min +Histogram: 2 0 0 0 0 0 0 1 0 1 +Nghost: 1233 ave 1348 max 1116 min +Histogram: 1 0 1 0 0 0 0 1 0 1 +Neighs: 9467.25 ave 12150 max 7160 min +Histogram: 1 1 0 0 0 0 0 1 0 1 + +Total # of neighbors = 37869 +Ave neighs/atom = 120.219 +Neighbor list builds = 37 +Dangerous builds = 0 + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:24 diff --git a/examples/reax/log.5Oct16.reax.rdx.g++.1 b/examples/reax/log.5Oct16.reax.rdx.g++.1 deleted file mode 100644 index 08a24cf635a91f9ef23bdc46241dd100bff8a207..0000000000000000000000000000000000000000 --- a/examples/reax/log.5Oct16.reax.rdx.g++.1 +++ /dev/null @@ -1,101 +0,0 @@ -LAMMPS (5 Oct 2016) -# ReaxFF potential for RDX system - -units real - -atom_style charge -read_data data.rdx - orthogonal box = (35 35 35) to (48 48 48) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 21 atoms - -# reax args: hbcut hbnewflag tripflag precision - -pair_style reax 6.0 1 1 1.0e-6 -WARNING: The pair_style reax command will be deprecated soon - users should switch to pair_style reax/c (../pair_reax.cpp:49) -pair_coeff * * ffield.reax 1 2 3 4 - -compute reax all pair reax - -variable eb equal c_reax[1] -variable ea equal c_reax[2] -variable elp equal c_reax[3] -variable emol equal c_reax[4] -variable ev equal c_reax[5] -variable epen equal c_reax[6] -variable ecoa equal c_reax[7] -variable ehb equal c_reax[8] -variable et equal c_reax[9] -variable eco equal c_reax[10] -variable ew equal c_reax[11] -variable ep equal c_reax[12] -variable efi equal c_reax[13] -variable eqeq equal c_reax[14] - -neighbor 2.5 bin -neigh_modify every 10 delay 0 check no - -fix 1 all nve - -thermo 10 -thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq - -timestep 1.0 - -#dump 1 all custom 10 dump.reax.rdx id type q xs ys zs - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -run 100 -Neighbor list info ... - 1 neighbor list requests - update every 10 steps, delay 0 steps, check no - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 12.5 - ghost atom cutoff = 12.5 - binsize = 6.25 -> bins = 3 3 3 -Memory usage per processor = 2.95105 Mbytes -Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq - 0 0 -1885.1268 -1885.1268 27233.074 -2958.4712 79.527715 0.31082031 0 97.771125 25.846176 -0.18034154 0 16.709078 -9.1620736 938.43732 -244.79971 0 168.88435 - 10 1281.7558 -1989.1322 -1912.7188 -19609.913 -2733.8828 -15.775275 0.20055725 0 55.020231 3.1070522 -77.710916 0 14.963568 -5.8082204 843.41939 -180.17724 0 107.5115 - 20 516.83079 -1941.677 -1910.8655 -12525.41 -2801.8626 7.4107974 0.073134188 0 81.986982 0.2281551 -57.494871 0 30.656735 -10.102557 877.78696 -158.93385 0 88.574158 - 30 467.2641 -1940.978 -1913.1215 -35957.487 -2755.021 -6.9179959 0.049322439 0 78.853175 0.13604392 -51.653634 0 19.862872 -9.7098575 853.79334 -151.232 0 80.861768 - 40 647.45541 -1951.1994 -1912.6006 -5883.7147 -2798.3556 17.334807 0.15102863 0 63.23512 0.18070931 -54.598962 0 17.325008 -12.052277 883.01667 -164.21335 0 96.777422 - 50 716.38057 -1949.4749 -1906.767 5473.2085 -2800.931 9.2056917 0.15413274 0 85.371449 3.2986106 -78.253597 0 34.861773 -8.5531236 882.01435 -193.85275 0 117.2096 - 60 1175.2707 -1975.9611 -1905.8959 -1939.4971 -2726.5816 -11.651982 0.24296788 0 48.320663 7.1799636 -75.363641 0 16.520132 -4.8869463 844.754 -194.23296 0 119.73837 - 70 1156.7 -1975.3486 -1906.3905 24628.344 -2880.5223 25.652478 0.26894312 0 83.724884 7.1049303 -68.700942 0 24.750744 -8.6338218 911.20067 -183.4058 0 113.21158 - 80 840.23687 -1955.4768 -1905.3851 -17731.383 -2755.7295 -8.0168306 0.13867962 0 86.14748 2.2387306 -76.945841 0 23.595858 -7.2609645 853.6346 -167.88289 0 94.603895 - 90 365.79169 -1926.406 -1904.5989 898.37155 -2842.183 47.368211 0.23109 0 92.288131 0.38031313 -61.361483 0 18.476377 -12.255472 900.24202 -186.48056 0 116.88831 - 100 801.32078 -1953.4177 -1905.646 -2417.5518 -2802.7244 4.6676973 0.18046558 0 76.730114 5.4177372 -77.102556 0 24.997234 -7.7554179 898.67306 -196.8912 0 120.38952 -Loop time of 0.512828 on 1 procs for 100 steps with 21 atoms - -Performance: 16.848 ns/day, 1.425 hours/ns, 194.997 timesteps/s -99.4% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.51126 | 0.51126 | 0.51126 | 0.0 | 99.69 -Neigh | 0.00071597 | 0.00071597 | 0.00071597 | 0.0 | 0.14 -Comm | 0.00040317 | 0.00040317 | 0.00040317 | 0.0 | 0.08 -Output | 0.00027037 | 0.00027037 | 0.00027037 | 0.0 | 0.05 -Modify | 7.2241e-05 | 7.2241e-05 | 7.2241e-05 | 0.0 | 0.01 -Other | | 0.000108 | | | 0.02 - -Nlocal: 21 ave 21 max 21 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 546 ave 546 max 546 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 1106 ave 1106 max 1106 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 1106 -Ave neighs/atom = 52.6667 -Neighbor list builds = 10 -Dangerous builds not checked -Total wall time: 0:00:00 diff --git a/examples/reax/log.5Oct16.reax.rdx.g++.4 b/examples/reax/log.5Oct16.reax.rdx.g++.4 deleted file mode 100644 index 2f052fbf74a95681728b83341392dfa0f13a284a..0000000000000000000000000000000000000000 --- a/examples/reax/log.5Oct16.reax.rdx.g++.4 +++ /dev/null @@ -1,101 +0,0 @@ -LAMMPS (5 Oct 2016) -# ReaxFF potential for RDX system - -units real - -atom_style charge -read_data data.rdx - orthogonal box = (35 35 35) to (48 48 48) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 21 atoms - -# reax args: hbcut hbnewflag tripflag precision - -pair_style reax 6.0 1 1 1.0e-6 -WARNING: The pair_style reax command will be deprecated soon - users should switch to pair_style reax/c (../pair_reax.cpp:49) -pair_coeff * * ffield.reax 1 2 3 4 - -compute reax all pair reax - -variable eb equal c_reax[1] -variable ea equal c_reax[2] -variable elp equal c_reax[3] -variable emol equal c_reax[4] -variable ev equal c_reax[5] -variable epen equal c_reax[6] -variable ecoa equal c_reax[7] -variable ehb equal c_reax[8] -variable et equal c_reax[9] -variable eco equal c_reax[10] -variable ew equal c_reax[11] -variable ep equal c_reax[12] -variable efi equal c_reax[13] -variable eqeq equal c_reax[14] - -neighbor 2.5 bin -neigh_modify every 10 delay 0 check no - -fix 1 all nve - -thermo 10 -thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq - -timestep 1.0 - -#dump 1 all custom 10 dump.reax.rdx id type q xs ys zs - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -run 100 -Neighbor list info ... - 1 neighbor list requests - update every 10 steps, delay 0 steps, check no - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 12.5 - ghost atom cutoff = 12.5 - binsize = 6.25 -> bins = 3 3 3 -Memory usage per processor = 3.0718 Mbytes -Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq - 0 0 -1885.1268 -1885.1268 27233.074 -2958.4712 79.527715 0.31082031 0 97.771125 25.846176 -0.18034154 0 16.709078 -9.1620736 938.43732 -244.79972 0 168.8843 - 10 1281.7558 -1989.1322 -1912.7188 -19609.913 -2733.8828 -15.775275 0.20055725 0 55.020231 3.1070523 -77.710916 0 14.963568 -5.8082204 843.41939 -180.17725 0 107.51148 - 20 516.8308 -1941.677 -1910.8655 -12525.411 -2801.8626 7.4107973 0.07313419 0 81.986982 0.2281551 -57.494871 0 30.656735 -10.102557 877.78696 -158.93385 0 88.574155 - 30 467.26411 -1940.978 -1913.1215 -35957.487 -2755.021 -6.9179966 0.049322437 0 78.853175 0.13604391 -51.653634 0 19.862872 -9.7098574 853.79333 -151.232 0 80.861765 - 40 647.45584 -1951.1994 -1912.6006 -5883.7102 -2798.3557 17.334812 0.15102857 0 63.235124 0.18070914 -54.598951 0 17.325006 -12.052278 883.01674 -164.21335 0 96.777418 - 50 716.38108 -1949.4679 -1906.76 5473.1803 -2800.9311 9.2057064 0.15413272 0 85.371443 3.2986124 -78.253597 0 34.861778 -8.5531235 882.01441 -193.85213 0 117.21596 - 60 1175.2703 -1975.9632 -1905.898 -1939.6676 -2726.5815 -11.652032 0.24296779 0 48.320636 7.1799647 -75.363643 0 16.520124 -4.8869416 844.75396 -194.25563 0 119.75889 - 70 1156.7016 -1975.3469 -1906.3887 24628.125 -2880.5225 25.65252 0.26894309 0 83.724869 7.1048931 -68.700978 0 24.750754 -8.6338341 911.20067 -183.41947 0 113.22722 - 80 840.3323 -1955.4867 -1905.3893 -17732.956 -2755.7336 -8.0168615 0.13869303 0 86.143454 2.2388975 -76.946365 0 23.594977 -7.2608903 853.63682 -167.88599 0 94.604168 - 90 365.75853 -1926.4192 -1904.6141 902.29004 -2842.1715 47.360077 0.23110905 0 92.28805 0.38040356 -61.364192 0 18.473252 -12.253964 900.23128 -186.47889 0 116.88518 - 100 801.64661 -1953.4392 -1905.6481 -2464.5533 -2802.6922 4.6510183 0.18048786 0 76.715675 5.41849 -77.102069 0 24.987058 -7.7531389 898.65974 -196.87724 0 120.37303 -Loop time of 0.405054 on 4 procs for 100 steps with 21 atoms - -Performance: 21.331 ns/day, 1.125 hours/ns, 246.881 timesteps/s -96.9% CPU use with 4 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.16194 | 0.24674 | 0.40012 | 18.4 | 60.92 -Neigh | 7.3671e-05 | 0.00024015 | 0.00053477 | 1.1 | 0.06 -Comm | 0.0037704 | 0.1575 | 0.24247 | 23.1 | 38.88 -Output | 0.00037122 | 0.00040913 | 0.0004406 | 0.1 | 0.10 -Modify | 4.22e-05 | 6.175e-05 | 8.3685e-05 | 0.2 | 0.02 -Other | | 0.0001087 | | | 0.03 - -Nlocal: 5.25 ave 15 max 0 min -Histogram: 1 0 2 0 0 0 0 0 0 1 -Nghost: 355.5 ave 432 max 282 min -Histogram: 1 0 0 0 1 1 0 0 0 1 -Neighs: 301.25 ave 827 max 0 min -Histogram: 1 0 2 0 0 0 0 0 0 1 - -Total # of neighbors = 1205 -Ave neighs/atom = 57.381 -Neighbor list builds = 10 -Dangerous builds not checked -Total wall time: 0:00:00 diff --git a/examples/reax/log.5Oct16.reaxc.rdx.g++.1 b/examples/reax/log.5Oct16.reaxc.rdx.g++.1 deleted file mode 100644 index 5c8bb737b90bb1d8f15323a6b03eea1762fd4ad8..0000000000000000000000000000000000000000 --- a/examples/reax/log.5Oct16.reaxc.rdx.g++.1 +++ /dev/null @@ -1,104 +0,0 @@ -LAMMPS (5 Oct 2016) -# ReaxFF potential for RDX system -# this run is equivalent to reax/in.reax.rdx - -units real - -atom_style charge -read_data data.rdx - orthogonal box = (35 35 35) to (48 48 48) - 1 by 1 by 1 MPI processor grid - reading atoms ... - 21 atoms - -pair_style reax/c control.reax_c.rdx -pair_coeff * * ffield.reax C H O N -Reading potential file ffield.reax with DATE: 2010-02-19 - -compute reax all pair reax/c - -variable eb equal c_reax[1] -variable ea equal c_reax[2] -variable elp equal c_reax[3] -variable emol equal c_reax[4] -variable ev equal c_reax[5] -variable epen equal c_reax[6] -variable ecoa equal c_reax[7] -variable ehb equal c_reax[8] -variable et equal c_reax[9] -variable eco equal c_reax[10] -variable ew equal c_reax[11] -variable ep equal c_reax[12] -variable efi equal c_reax[13] -variable eqeq equal c_reax[14] - -neighbor 2.5 bin -neigh_modify every 10 delay 0 check no - -fix 1 all nve -fix 2 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c - -thermo 10 -thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq - -timestep 1.0 - -#dump 1 all atom 10 dump.reaxc.rdx - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -run 100 -Neighbor list info ... - 2 neighbor list requests - update every 10 steps, delay 0 steps, check no - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 12.5 - ghost atom cutoff = 12.5 - binsize = 6.25 -> bins = 3 3 3 -Memory usage per processor = 14.4462 Mbytes -Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq - 0 0 -1884.3081 -1884.3081 27186.181 -2958.4712 79.527715 0.31082031 0 98.589783 25.846176 -0.18034154 0 16.709078 -9.1620736 938.43732 -244.79931 0 168.88396 - 10 1288.6116 -1989.6644 -1912.8422 -19456.353 -2734.6769 -15.607221 0.2017796 0 54.629557 3.125229 -77.7067 0 14.933901 -5.8108541 843.92073 -180.43321 0 107.75935 - 20 538.95819 -1942.7037 -1910.5731 -10725.639 -2803.7394 7.9078269 0.07792668 0 81.610053 0.22951941 -57.557107 0 30.331207 -10.178049 878.99009 -159.68914 0 89.313379 - 30 463.09535 -1933.5765 -1905.9686 -33255.546 -2749.859 -8.0154745 0.02762893 0 81.627395 0.11972413 -50.262293 0 20.820303 -9.6327015 851.88715 -149.49499 0 79.205727 - 40 885.49171 -1958.9125 -1906.1229 -4814.6856 -2795.644 9.150669 0.13747498 0 70.947982 0.24360485 -57.862663 0 19.076496 -11.141218 873.73893 -159.99393 0 92.434096 - 50 861.16578 -1954.4599 -1903.1205 -1896.7713 -2784.845 3.8270515 0.15793266 0 79.851823 3.3492142 -78.06613 0 32.629016 -7.956541 872.81838 -190.98567 0 114.75995 - 60 1167.7852 -1971.8429 -1902.224 -3482.7305 -2705.863 -17.12171 0.22749077 0 44.507654 7.8560745 -74.788955 0 16.256483 -4.6046431 835.8304 -188.33691 0 114.19413 - 70 1439.9966 -1989.3024 -1903.4553 23845.651 -2890.7895 31.958845 0.26671721 0 85.758695 3.1803544 -71.002903 0 24.357134 -10.31131 905.86775 -175.38471 0 106.79648 - 80 502.39438 -1930.7544 -1900.8035 -20356.316 -2703.8115 -18.662467 0.11286011 0 99.804201 2.0329024 -76.171317 0 19.237028 -6.2786907 826.47451 -166.03125 0 92.539398 - 90 749.08499 -1946.9838 -1902.3262 17798.51 -2863.7576 42.068717 0.2433807 0 96.181613 0.96184887 -69.955448 0 24.615302 -11.582765 903.68818 -190.13843 0 120.69141 - 100 1109.6968 -1968.5874 -1902.4315 -4490.1018 -2755.8965 -7.1231014 0.21757699 0 61.806018 7.0827673 -75.645345 0 20.114997 -6.2371964 863.5635 -198.56976 0 122.09961 -Loop time of 0.362895 on 1 procs for 100 steps with 21 atoms - -Performance: 23.809 ns/day, 1.008 hours/ns, 275.562 timesteps/s -100.0% CPU use with 1 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.34367 | 0.34367 | 0.34367 | 0.0 | 94.70 -Neigh | 0.0078354 | 0.0078354 | 0.0078354 | 0.0 | 2.16 -Comm | 0.00043559 | 0.00043559 | 0.00043559 | 0.0 | 0.12 -Output | 0.00019908 | 0.00019908 | 0.00019908 | 0.0 | 0.05 -Modify | 0.010645 | 0.010645 | 0.010645 | 0.0 | 2.93 -Other | | 0.0001094 | | | 0.03 - -Nlocal: 21 ave 21 max 21 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Nghost: 546 ave 546 max 546 min -Histogram: 1 0 0 0 0 0 0 0 0 0 -Neighs: 1096 ave 1096 max 1096 min -Histogram: 1 0 0 0 0 0 0 0 0 0 - -Total # of neighbors = 1096 -Ave neighs/atom = 52.1905 -Neighbor list builds = 10 -Dangerous builds not checked - -Please see the log.cite file for references relevant to this simulation - -Total wall time: 0:00:00 diff --git a/examples/reax/log.5Oct16.reaxc.rdx.g++.4 b/examples/reax/log.5Oct16.reaxc.rdx.g++.4 deleted file mode 100644 index 10f11811cfaccb047df1e71ee7ba31b8e5ee26fe..0000000000000000000000000000000000000000 --- a/examples/reax/log.5Oct16.reaxc.rdx.g++.4 +++ /dev/null @@ -1,104 +0,0 @@ -LAMMPS (5 Oct 2016) -# ReaxFF potential for RDX system -# this run is equivalent to reax/in.reax.rdx - -units real - -atom_style charge -read_data data.rdx - orthogonal box = (35 35 35) to (48 48 48) - 1 by 2 by 2 MPI processor grid - reading atoms ... - 21 atoms - -pair_style reax/c control.reax_c.rdx -pair_coeff * * ffield.reax C H O N -Reading potential file ffield.reax with DATE: 2010-02-19 - -compute reax all pair reax/c - -variable eb equal c_reax[1] -variable ea equal c_reax[2] -variable elp equal c_reax[3] -variable emol equal c_reax[4] -variable ev equal c_reax[5] -variable epen equal c_reax[6] -variable ecoa equal c_reax[7] -variable ehb equal c_reax[8] -variable et equal c_reax[9] -variable eco equal c_reax[10] -variable ew equal c_reax[11] -variable ep equal c_reax[12] -variable efi equal c_reax[13] -variable eqeq equal c_reax[14] - -neighbor 2.5 bin -neigh_modify every 10 delay 0 check no - -fix 1 all nve -fix 2 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c - -thermo 10 -thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq - -timestep 1.0 - -#dump 1 all atom 10 dump.reaxc.rdx - -#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 2 pad 3 - -#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 -#dump_modify 3 pad 3 - -run 100 -Neighbor list info ... - 2 neighbor list requests - update every 10 steps, delay 0 steps, check no - max neighbors/atom: 2000, page size: 100000 - master list distance cutoff = 12.5 - ghost atom cutoff = 12.5 - binsize = 6.25 -> bins = 3 3 3 -Memory usage per processor = 12.531 Mbytes -Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq - 0 0 -1884.3081 -1884.3081 27186.18 -2958.4712 79.527715 0.31082031 0 98.589783 25.846176 -0.18034154 0 16.709078 -9.1620736 938.43732 -244.79953 0 168.88418 - 10 1288.6115 -1989.6644 -1912.8422 -19456.354 -2734.6769 -15.60722 0.2017796 0 54.629558 3.1252288 -77.7067 0 14.933901 -5.8108542 843.92073 -180.43321 0 107.75934 - 20 538.95831 -1942.7037 -1910.5731 -10725.671 -2803.7395 7.9078306 0.077926651 0 81.610051 0.22951926 -57.557099 0 30.331204 -10.178049 878.99014 -159.69268 0 89.316921 - 30 463.09502 -1933.5765 -1905.9685 -33255.512 -2749.8591 -8.015455 0.027628766 0 81.6274 0.11972393 -50.262275 0 20.820315 -9.6327041 851.88722 -149.49498 0 79.205714 - 40 885.49378 -1958.9125 -1906.1228 -4814.644 -2795.644 9.1506485 0.13747497 0 70.948 0.24360511 -57.862677 0 19.076502 -11.141216 873.73898 -159.99393 0 92.43409 - 50 861.16297 -1954.4602 -1903.1209 -1896.8002 -2784.8451 3.8270162 0.157933 0 79.851673 3.3492148 -78.066132 0 32.628944 -7.9565368 872.81852 -190.98572 0 114.76001 - 60 1167.7835 -1971.8433 -1902.2245 -3482.8296 -2705.8635 -17.121613 0.2274909 0 44.507674 7.85602 -74.788998 0 16.256483 -4.6046575 835.83058 -188.33691 0 114.19414 - 70 1439.9939 -1989.3026 -1903.4556 23846.042 -2890.7893 31.958672 0.26671708 0 85.758381 3.1804035 -71.002944 0 24.357195 -10.311284 905.8679 -175.38487 0 106.79661 - 80 502.39535 -1930.7548 -1900.8039 -20356.194 -2703.8126 -18.662209 0.11286005 0 99.803849 2.0329206 -76.171278 0 19.23716 -6.2787147 826.47505 -166.03123 0 92.539386 - 90 749.07874 -1946.9841 -1902.3269 17798.394 -2863.7576 42.068612 0.24338059 0 96.181423 0.96185061 -69.95542 0 24.615344 -11.582758 903.68812 -190.13826 0 120.69124 - 100 1109.6904 -1968.5879 -1902.4323 -4490.0667 -2755.8991 -7.1224194 0.21757691 0 61.805857 7.0827218 -75.645383 0 20.115437 -6.23727 863.56487 -198.56975 0 122.09963 -Loop time of 0.293673 on 4 procs for 100 steps with 21 atoms - -Performance: 29.420 ns/day, 0.816 hours/ns, 340.514 timesteps/s -99.1% CPU use with 4 MPI tasks x no OpenMP threads - -MPI task timing breakdown: -Section | min time | avg time | max time |%varavg| %total ---------------------------------------------------------------- -Pair | 0.24143 | 0.24223 | 0.24409 | 0.2 | 82.48 -Neigh | 0.003767 | 0.0049117 | 0.0061524 | 1.2 | 1.67 -Comm | 0.0030656 | 0.0048578 | 0.0057402 | 1.5 | 1.65 -Output | 0.00033545 | 0.00036347 | 0.00038052 | 0.1 | 0.12 -Modify | 0.039885 | 0.041207 | 0.042435 | 0.4 | 14.03 -Other | | 0.0001001 | | | 0.03 - -Nlocal: 5.25 ave 15 max 0 min -Histogram: 1 0 2 0 0 0 0 0 0 1 -Nghost: 355.5 ave 432 max 282 min -Histogram: 1 0 0 0 1 1 0 0 0 1 -Neighs: 298.75 ave 822 max 0 min -Histogram: 1 0 2 0 0 0 0 0 0 1 - -Total # of neighbors = 1195 -Ave neighs/atom = 56.9048 -Neighbor list builds = 10 -Dangerous builds not checked - -Please see the log.cite file for references relevant to this simulation - -Total wall time: 0:00:00 diff --git a/examples/reax/log.8March18.reax.rdx.g++.1 b/examples/reax/log.8March18.reax.rdx.g++.1 new file mode 100644 index 0000000000000000000000000000000000000000..c2edc5d51f33667e51e4c38c778cfe19cbc49d94 --- /dev/null +++ b/examples/reax/log.8March18.reax.rdx.g++.1 @@ -0,0 +1,107 @@ +LAMMPS (8 Mar 2018) + using 1 OpenMP thread(s) per MPI task +# ReaxFF potential for RDX system + +units real + +atom_style charge +read_data data.rdx + orthogonal box = (35 35 35) to (48 48 48) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 21 atoms + +# reax args: hbcut hbnewflag tripflag precision + +pair_style reax 6.0 1 1 1.0e-6 +WARNING: The pair_style reax command is unsupported. Please switch to pair_style reax/c instead (../pair_reax.cpp:49) +pair_coeff * * ffield.reax 1 2 3 4 + +compute reax all pair reax + +variable eb equal c_reax[1] +variable ea equal c_reax[2] +variable elp equal c_reax[3] +variable emol equal c_reax[4] +variable ev equal c_reax[5] +variable epen equal c_reax[6] +variable ecoa equal c_reax[7] +variable ehb equal c_reax[8] +variable et equal c_reax[9] +variable eco equal c_reax[10] +variable ew equal c_reax[11] +variable ep equal c_reax[12] +variable efi equal c_reax[13] +variable eqeq equal c_reax[14] + +neighbor 2.5 bin +neigh_modify every 10 delay 0 check no + +fix 1 all nve + +thermo 10 +thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq + +timestep 1.0 + +#dump 1 all custom 10 dump.reax.rdx id type q xs ys zs + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +run 100 +Neighbor list info ... + update every 10 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 12.5 + ghost atom cutoff = 12.5 + binsize = 6.25, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair reax, perpetual + attributes: half, newton off + pair build: half/bin/newtoff + stencil: half/bin/3d/newtoff + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.278 | 3.278 | 3.278 Mbytes +Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq + 0 0 -1885.1269 -1885.1269 27233.074 -2958.4712 79.527715 0.31082031 0 97.771125 25.846176 -0.18034154 0 16.709078 -9.1620736 938.43732 -244.79973 0 168.8842 + 10 1281.7558 -1989.1322 -1912.7188 -19609.913 -2733.8828 -15.775275 0.20055725 0 55.02023 3.1070523 -77.710916 0 14.963568 -5.8082203 843.41939 -180.17724 0 107.5115 + 20 516.83079 -1941.677 -1910.8655 -12525.412 -2801.8626 7.410797 0.073134186 0 81.986983 0.2281551 -57.494871 0 30.656735 -10.102557 877.78695 -158.93385 0 88.574159 + 30 467.26411 -1940.978 -1913.1215 -35957.489 -2755.021 -6.9179958 0.049322453 0 78.853173 0.13604393 -51.653635 0 19.862871 -9.7098575 853.79334 -151.232 0 80.86177 + 40 647.45528 -1951.1994 -1912.6006 -5883.713 -2798.3556 17.334814 0.15102862 0 63.235117 0.18070924 -54.598957 0 17.325007 -12.052278 883.0167 -164.21335 0 96.777424 + 50 716.38088 -1949.4735 -1906.7656 5473.1969 -2800.9309 9.2056861 0.15413274 0 85.371466 3.2986127 -78.253597 0 34.861774 -8.553123 882.01431 -193.85254 0 117.21068 + 60 1175.2705 -1975.961 -1905.8958 -1939.4966 -2726.5816 -11.651996 0.24296786 0 48.320654 7.1799691 -75.363638 0 16.520127 -4.8869441 844.75401 -194.23297 0 119.73841 + 70 1156.701 -1975.3497 -1906.3916 24628.304 -2880.5225 25.652501 0.26894311 0 83.724852 7.1049152 -68.70096 0 24.750735 -8.6338267 911.20079 -183.40562 0 113.21047 + 80 840.23677 -1955.4769 -1905.3851 -17731.334 -2755.7299 -8.0167723 0.1386797 0 86.147417 2.2387319 -76.945843 0 23.595869 -7.260968 853.63487 -167.88288 0 94.603961 + 90 365.79122 -1926.4061 -1904.599 898.38479 -2842.1832 47.368107 0.23109002 0 92.288071 0.38031213 -61.361485 0 18.476336 -12.25546 900.24233 -186.48046 0 116.88827 + 100 801.32158 -1953.418 -1905.6462 -2417.6887 -2802.7247 4.6676477 0.18046575 0 76.729987 5.4177322 -77.102566 0 24.997175 -7.7554074 898.67337 -196.89114 0 120.38946 +Loop time of 0.463306 on 1 procs for 100 steps with 21 atoms + +Performance: 18.649 ns/day, 1.287 hours/ns, 215.840 timesteps/s +99.6% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.46143 | 0.46143 | 0.46143 | 0.0 | 99.60 +Neigh | 0.00087953 | 0.00087953 | 0.00087953 | 0.0 | 0.19 +Comm | 0.00042653 | 0.00042653 | 0.00042653 | 0.0 | 0.09 +Output | 0.00034237 | 0.00034237 | 0.00034237 | 0.0 | 0.07 +Modify | 0.00010109 | 0.00010109 | 0.00010109 | 0.0 | 0.02 +Other | | 0.000124 | | | 0.03 + +Nlocal: 21 ave 21 max 21 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 546 ave 546 max 546 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 1106 ave 1106 max 1106 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 1106 +Ave neighs/atom = 52.6667 +Neighbor list builds = 10 +Dangerous builds not checked +Total wall time: 0:00:00 diff --git a/examples/reax/log.8March18.reax.rdx.g++.4 b/examples/reax/log.8March18.reax.rdx.g++.4 new file mode 100644 index 0000000000000000000000000000000000000000..9526e2566191d08f59bf3fcc6839808e12a8650c --- /dev/null +++ b/examples/reax/log.8March18.reax.rdx.g++.4 @@ -0,0 +1,107 @@ +LAMMPS (8 Mar 2018) + using 1 OpenMP thread(s) per MPI task +# ReaxFF potential for RDX system + +units real + +atom_style charge +read_data data.rdx + orthogonal box = (35 35 35) to (48 48 48) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 21 atoms + +# reax args: hbcut hbnewflag tripflag precision + +pair_style reax 6.0 1 1 1.0e-6 +WARNING: The pair_style reax command is unsupported. Please switch to pair_style reax/c instead (../pair_reax.cpp:49) +pair_coeff * * ffield.reax 1 2 3 4 + +compute reax all pair reax + +variable eb equal c_reax[1] +variable ea equal c_reax[2] +variable elp equal c_reax[3] +variable emol equal c_reax[4] +variable ev equal c_reax[5] +variable epen equal c_reax[6] +variable ecoa equal c_reax[7] +variable ehb equal c_reax[8] +variable et equal c_reax[9] +variable eco equal c_reax[10] +variable ew equal c_reax[11] +variable ep equal c_reax[12] +variable efi equal c_reax[13] +variable eqeq equal c_reax[14] + +neighbor 2.5 bin +neigh_modify every 10 delay 0 check no + +fix 1 all nve + +thermo 10 +thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq + +timestep 1.0 + +#dump 1 all custom 10 dump.reax.rdx id type q xs ys zs + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +run 100 +Neighbor list info ... + update every 10 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 12.5 + ghost atom cutoff = 12.5 + binsize = 6.25, bins = 3 3 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair reax, perpetual + attributes: half, newton off + pair build: half/bin/newtoff + stencil: half/bin/3d/newtoff + bin: standard +Per MPI rank memory allocation (min/avg/max) = 3.262 | 3.36 | 3.647 Mbytes +Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq + 0 0 -1885.1268 -1885.1268 27233.074 -2958.4712 79.527715 0.31082031 0 97.771125 25.846176 -0.18034154 0 16.709078 -9.1620736 938.43732 -244.79972 0 168.88428 + 10 1281.7558 -1989.1322 -1912.7187 -19609.913 -2733.8828 -15.775275 0.20055725 0 55.020231 3.1070523 -77.710916 0 14.963568 -5.8082203 843.41939 -180.17724 0 107.51152 + 20 516.83079 -1941.677 -1910.8655 -12525.412 -2801.8626 7.410797 0.073134187 0 81.986983 0.2281551 -57.494871 0 30.656735 -10.102557 877.78695 -158.93385 0 88.574168 + 30 467.26411 -1940.978 -1913.1215 -35957.489 -2755.021 -6.9179959 0.049322449 0 78.853173 0.13604392 -51.653635 0 19.862871 -9.7098575 853.79334 -151.232 0 80.861765 + 40 647.45479 -1951.1995 -1912.6007 -5883.7199 -2798.3556 17.334805 0.15102868 0 63.235116 0.18070946 -54.59897 0 17.32501 -12.052277 883.0166 -164.21339 0 96.777473 + 50 716.37927 -1949.466 -1906.7582 5473.2486 -2800.9309 9.2056758 0.15413278 0 85.37143 3.2986099 -78.253596 0 34.861773 -8.5531243 882.01424 -193.85223 0 117.21791 + 60 1175.2698 -1975.9612 -1905.896 -1939.5206 -2726.5818 -11.651942 0.24296793 0 48.320679 7.1799538 -75.36365 0 16.520134 -4.8869515 844.75405 -194.23289 0 119.7383 + 70 1156.6963 -1975.3494 -1906.3915 24628.423 -2880.5221 25.65242 0.26894312 0 83.724787 7.1049615 -68.700925 0 24.750729 -8.6338123 911.2006 -183.40591 0 113.21091 + 80 840.238 -1955.4788 -1905.387 -17731.371 -2755.7301 -8.0167357 0.13868007 0 86.147246 2.2387405 -76.945868 0 23.595868 -7.2609697 853.6349 -167.88312 0 94.602512 + 90 365.78645 -1926.4072 -1904.6004 898.36945 -2842.1831 47.368307 0.23108998 0 92.288039 0.38031101 -61.361464 0 18.476388 -12.255481 900.24216 -186.48066 0 116.88716 + 100 801.31322 -1953.4165 -1905.6452 -2417.2041 -2802.7247 4.6678077 0.18046498 0 76.730367 5.4176812 -77.102592 0 24.9973 -7.7554425 898.6732 -196.89097 0 120.39043 +Loop time of 0.404551 on 4 procs for 100 steps with 21 atoms + +Performance: 21.357 ns/day, 1.124 hours/ns, 247.188 timesteps/s +97.4% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.2191 | 0.28038 | 0.39839 | 13.2 | 69.31 +Neigh | 5.8651e-05 | 0.00025928 | 0.00062203 | 0.0 | 0.06 +Comm | 0.0046599 | 0.12307 | 0.1845 | 19.9 | 30.42 +Output | 0.00055337 | 0.00062728 | 0.00071192 | 0.0 | 0.16 +Modify | 5.3167e-05 | 7.844e-05 | 0.00010109 | 0.0 | 0.02 +Other | | 0.0001363 | | | 0.03 + +Nlocal: 5.25 ave 15 max 0 min +Histogram: 1 0 2 0 0 0 0 0 0 1 +Nghost: 355.5 ave 432 max 282 min +Histogram: 1 0 0 0 1 1 0 0 0 1 +Neighs: 301.25 ave 827 max 0 min +Histogram: 1 0 2 0 0 0 0 0 0 1 + +Total # of neighbors = 1205 +Ave neighs/atom = 57.381 +Neighbor list builds = 10 +Dangerous builds not checked +Total wall time: 0:00:00 diff --git a/examples/reax/log.5Oct16.reax.tatb.g++.1 b/examples/reax/log.8March18.reax.tatb.g++.1 similarity index 61% rename from examples/reax/log.5Oct16.reax.tatb.g++.1 rename to examples/reax/log.8March18.reax.tatb.g++.1 index cc8d42a583891b216e9631eb3103a73b67bf9db4..53d77cd1da8a10d5c5ecf42a23a819aa8d55a203 100644 --- a/examples/reax/log.5Oct16.reax.tatb.g++.1 +++ b/examples/reax/log.8March18.reax.tatb.g++.1 @@ -1,4 +1,5 @@ -LAMMPS (5 Oct 2016) +LAMMPS (8 Mar 2018) + using 1 OpenMP thread(s) per MPI task # ReaxFF potential for TATB system units real @@ -12,7 +13,7 @@ read_data data.tatb # reax args: hbcut hbnewflag tripflag precision pair_style reax 6.0 1 1 1.0e-6 -WARNING: The pair_style reax command will be deprecated soon - users should switch to pair_style reax/c (../pair_reax.cpp:49) +WARNING: The pair_style reax command is unsupported. Please switch to pair_style reax/c instead (../pair_reax.cpp:49) pair_coeff * * ffield.reax 1 2 3 4 compute reax all pair reax @@ -54,34 +55,39 @@ fix 2 all reax/bonds 25 bonds.reax.tatb run 25 Neighbor list info ... - 1 neighbor list requests update every 5 steps, delay 0 steps, check no max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 12.5 ghost atom cutoff = 12.5 - binsize = 6.25 -> bins = 5 4 3 -Memory usage per processor = 6.61277 Mbytes + binsize = 6.25, bins = 5 4 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair reax, perpetual + attributes: half, newton off + pair build: half/bin/newtoff + stencil: half/bin/3d/newtoff + bin: standard +Per MPI rank memory allocation (min/avg/max) = 7.764 | 7.764 | 7.764 Mbytes Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq 0 0 -44767.08 -44767.08 7294.6353 -61120.591 486.4378 4.7236377 0 1568.024 20.788929 -279.51642 -1556.4696 252.57147 -655.84699 18862.412 -8740.6378 0 6391.0231 - 5 0.63682807 -44767.737 -44767.01 8391.5966 -61118.763 486.82916 4.723415 0 1567.835 20.768662 -278.20804 -1557.6962 252.64683 -655.74117 18859.328 -8738.2727 0 6388.8127 - 10 2.4306957 -44769.41 -44766.635 11717.369 -61113.142 487.89093 4.7227063 0 1567.2936 20.705084 -274.37509 -1560.8546 252.87219 -655.43578 18850.19 -8731.0713 0 6381.7946 - 15 5.0590478 -44772.63 -44766.854 17125.033 -61103.34 489.28007 4.7214008 0 1566.4744 20.590604 -268.28963 -1566.5961 252.97781 -654.93836 18835.335 -8719.3112 0 6370.4665 - 20 8.0678579 -44775.923 -44766.713 24620.824 -61088.791 490.42346 4.7193467 0 1565.5541 20.415031 -260.38512 -1574.1001 253.39805 -654.26837 18815.312 -8703.3104 0 6355.1097 - 25 10.975539 -44777.231 -44764.701 34381.278 -61068.889 490.53149 4.7164093 0 1566.5715 20.169755 -251.2311 -1582.8552 253.88696 -653.46042 18790.855 -8683.8362 0 6336.3099 -Loop time of 7.48375 on 1 procs for 25 steps with 384 atoms + 5 0.63682806 -44767.737 -44767.01 8391.5964 -61118.763 486.82916 4.723415 0 1567.835 20.768662 -278.20804 -1557.6962 252.64683 -655.74117 18859.328 -8738.2728 0 6388.8127 + 10 2.4306958 -44769.409 -44766.634 11717.376 -61113.142 487.89093 4.7227063 0 1567.2936 20.705084 -274.37509 -1560.8546 252.87219 -655.43578 18850.19 -8731.0693 0 6381.7942 + 15 5.0590493 -44772.631 -44766.855 17125.067 -61103.34 489.28007 4.7214008 0 1566.4744 20.590604 -268.28962 -1566.5961 252.97781 -654.93836 18835.335 -8719.3013 0 6370.4551 + 20 8.067859 -44775.936 -44766.725 24620.627 -61088.791 490.42346 4.7193467 0 1565.5541 20.415031 -260.38512 -1574.1001 253.39805 -654.26837 18815.312 -8703.3748 0 6355.1614 + 25 10.975538 -44777.233 -44764.702 34381.173 -61068.889 490.53149 4.7164093 0 1566.5715 20.169755 -251.23109 -1582.8552 253.88696 -653.46042 18790.855 -8683.8691 0 6336.3409 +Loop time of 7.80129 on 1 procs for 25 steps with 384 atoms -Performance: 0.018 ns/day, 1330.444 hours/ns, 3.341 timesteps/s -99.9% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 0.017 ns/day, 1386.896 hours/ns, 3.205 timesteps/s +99.5% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 7.4284 | 7.4284 | 7.4284 | 0.0 | 99.26 -Neigh | 0.051549 | 0.051549 | 0.051549 | 0.0 | 0.69 -Comm | 0.0021887 | 0.0021887 | 0.0021887 | 0.0 | 0.03 -Output | 0.00025821 | 0.00025821 | 0.00025821 | 0.0 | 0.00 -Modify | 0.00099206 | 0.00099206 | 0.00099206 | 0.0 | 0.01 -Other | | 0.0003154 | | | 0.00 +Pair | 7.7384 | 7.7384 | 7.7384 | 0.0 | 99.19 +Neigh | 0.058615 | 0.058615 | 0.058615 | 0.0 | 0.75 +Comm | 0.0022428 | 0.0022428 | 0.0022428 | 0.0 | 0.03 +Output | 0.00033212 | 0.00033212 | 0.00033212 | 0.0 | 0.00 +Modify | 0.0013618 | 0.0013618 | 0.0013618 | 0.0 | 0.02 +Other | | 0.0003309 | | | 0.00 Nlocal: 384 ave 384 max 384 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -94,4 +100,4 @@ Total # of neighbors = 286828 Ave neighs/atom = 746.948 Neighbor list builds = 5 Dangerous builds not checked -Total wall time: 0:00:07 +Total wall time: 0:00:08 diff --git a/examples/reax/log.5Oct16.reax.tatb.g++.4 b/examples/reax/log.8March18.reax.tatb.g++.4 similarity index 61% rename from examples/reax/log.5Oct16.reax.tatb.g++.4 rename to examples/reax/log.8March18.reax.tatb.g++.4 index 8fa9a608cfbd7862a6ff0f2e79f981efcc4f26a4..e3acac9d0efde524cae8ef28cd5f3eedac5c8dba 100644 --- a/examples/reax/log.5Oct16.reax.tatb.g++.4 +++ b/examples/reax/log.8March18.reax.tatb.g++.4 @@ -1,4 +1,5 @@ -LAMMPS (5 Oct 2016) +LAMMPS (8 Mar 2018) + using 1 OpenMP thread(s) per MPI task # ReaxFF potential for TATB system units real @@ -12,7 +13,7 @@ read_data data.tatb # reax args: hbcut hbnewflag tripflag precision pair_style reax 6.0 1 1 1.0e-6 -WARNING: The pair_style reax command will be deprecated soon - users should switch to pair_style reax/c (../pair_reax.cpp:49) +WARNING: The pair_style reax command is unsupported. Please switch to pair_style reax/c instead (../pair_reax.cpp:49) pair_coeff * * ffield.reax 1 2 3 4 compute reax all pair reax @@ -54,34 +55,39 @@ fix 2 all reax/bonds 25 bonds.reax.tatb run 25 Neighbor list info ... - 1 neighbor list requests update every 5 steps, delay 0 steps, check no max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 12.5 ghost atom cutoff = 12.5 - binsize = 6.25 -> bins = 5 4 3 -Memory usage per processor = 4.03843 Mbytes + binsize = 6.25, bins = 5 4 3 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair reax, perpetual + attributes: half, newton off + pair build: half/bin/newtoff + stencil: half/bin/3d/newtoff + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.402 | 4.402 | 4.402 Mbytes Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq 0 0 -44767.08 -44767.08 7294.6353 -61120.591 486.4378 4.7236377 0 1568.024 20.788929 -279.51642 -1556.4696 252.57147 -655.84699 18862.412 -8740.6378 0 6391.0231 - 5 0.63682726 -44767.816 -44767.089 8391.165 -61118.763 486.82916 4.723415 0 1567.835 20.768662 -278.20804 -1557.6962 252.64683 -655.74117 18859.328 -8738.3995 0 6388.86 - 10 2.4306905 -44769.408 -44766.633 11717.247 -61113.142 487.89094 4.7227063 0 1567.2936 20.705084 -274.3751 -1560.8546 252.87219 -655.43578 18850.19 -8731.0965 0 6381.8216 - 15 5.0590422 -44772.626 -44766.85 17124.943 -61103.34 489.2801 4.7214008 0 1566.4744 20.590604 -268.28963 -1566.5961 252.97781 -654.93836 18835.335 -8719.3383 0 6370.4973 - 20 8.0678512 -44775.934 -44766.723 24620.531 -61088.791 490.42349 4.7193467 0 1565.5541 20.415031 -260.38513 -1574.1001 253.39804 -654.26837 18815.312 -8703.4033 0 6355.1921 - 25 10.97553 -44777.231 -44764.701 34381.242 -61068.889 490.53154 4.7164093 0 1566.5715 20.169755 -251.23111 -1582.8552 253.88696 -653.46042 18790.855 -8683.8451 0 6336.3185 -Loop time of 3.27945 on 4 procs for 25 steps with 384 atoms + 5 0.63682727 -44767.816 -44767.089 8391.1708 -61118.763 486.82916 4.723415 0 1567.835 20.768662 -278.20804 -1557.6962 252.64683 -655.74117 18859.328 -8738.3973 0 6388.8581 + 10 2.4306941 -44769.405 -44766.63 11717.306 -61113.142 487.89094 4.7227063 0 1567.2936 20.705084 -274.3751 -1560.8546 252.87219 -655.43578 18850.19 -8731.08 0 6381.8083 + 15 5.0590444 -44772.6 -44766.824 17125.207 -61103.34 489.28008 4.7214008 0 1566.4744 20.590604 -268.28963 -1566.5961 252.97781 -654.93836 18835.335 -8719.2653 0 6370.4505 + 20 8.0678523 -44775.983 -44766.772 24620.114 -61088.791 490.42348 4.7193467 0 1565.5541 20.415031 -260.38513 -1574.1001 253.39804 -654.26837 18815.312 -8703.5228 0 6355.2629 + 25 10.975532 -44777.234 -44764.704 34381.065 -61068.889 490.53151 4.7164093 0 1566.5715 20.169755 -251.23111 -1582.8552 253.88696 -653.46042 18790.855 -8683.898 0 6336.3682 +Loop time of 3.74388 on 4 procs for 25 steps with 384 atoms -Performance: 0.041 ns/day, 583.013 hours/ns, 7.623 timesteps/s -99.8% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 0.036 ns/day, 665.579 hours/ns, 6.678 timesteps/s +98.7% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 3.0329 | 3.1456 | 3.2612 | 5.2 | 95.92 -Neigh | 0.011087 | 0.011261 | 0.011608 | 0.2 | 0.34 -Comm | 0.0057111 | 0.12121 | 0.23398 | 26.2 | 3.70 -Output | 0.00039172 | 0.0005855 | 0.00080633 | 0.6 | 0.02 -Modify | 0.00035787 | 0.00059456 | 0.00082469 | 0.7 | 0.02 -Other | | 0.0002265 | | | 0.01 +Pair | 3.478 | 3.6025 | 3.7215 | 4.8 | 96.22 +Neigh | 0.012731 | 0.01299 | 0.013174 | 0.2 | 0.35 +Comm | 0.0073411 | 0.12653 | 0.25119 | 25.4 | 3.38 +Output | 0.00050354 | 0.00081849 | 0.0011628 | 0.0 | 0.02 +Modify | 0.00049281 | 0.00082356 | 0.001157 | 0.0 | 0.02 +Other | | 0.0002663 | | | 0.01 Nlocal: 96 ave 96 max 96 min Histogram: 4 0 0 0 0 0 0 0 0 0 diff --git a/examples/reax/log.8March18.reaxc.rdx.g++.1 b/examples/reax/log.8March18.reaxc.rdx.g++.1 new file mode 100644 index 0000000000000000000000000000000000000000..4ae10e3f527aeac458e61a46232ddd355f253376 --- /dev/null +++ b/examples/reax/log.8March18.reaxc.rdx.g++.1 @@ -0,0 +1,115 @@ +LAMMPS (8 Mar 2018) + using 1 OpenMP thread(s) per MPI task +# ReaxFF potential for RDX system +# this run is equivalent to reax/in.reax.rdx + +units real + +atom_style charge +read_data data.rdx + orthogonal box = (35 35 35) to (48 48 48) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 21 atoms + +pair_style reax/c control.reax_c.rdx +pair_coeff * * ffield.reax C H O N +Reading potential file ffield.reax with DATE: 2010-02-19 + +compute reax all pair reax/c + +variable eb equal c_reax[1] +variable ea equal c_reax[2] +variable elp equal c_reax[3] +variable emol equal c_reax[4] +variable ev equal c_reax[5] +variable epen equal c_reax[6] +variable ecoa equal c_reax[7] +variable ehb equal c_reax[8] +variable et equal c_reax[9] +variable eco equal c_reax[10] +variable ew equal c_reax[11] +variable ep equal c_reax[12] +variable efi equal c_reax[13] +variable eqeq equal c_reax[14] + +neighbor 2.5 bin +neigh_modify every 10 delay 0 check no + +fix 1 all nve +fix 2 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c + +thermo 10 +thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq + +timestep 1.0 + +#dump 1 all atom 10 dump.reaxc.rdx + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +run 100 +Neighbor list info ... + update every 10 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 12.5 + ghost atom cutoff = 12.5 + binsize = 6.25, bins = 3 3 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reax/c, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: half/ghost/bin/3d/newtoff + bin: standard + (2) fix qeq/reax, perpetual, copy from (1) + attributes: half, newton off, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 15.28 | 15.28 | 15.28 Mbytes +Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq + 0 0 -1884.3081 -1884.3081 27186.181 -2958.4712 79.527715 0.31082031 0 98.589783 25.846176 -0.18034154 0 16.709078 -9.1620736 938.43732 -244.79937 0 168.88402 + 10 1288.6114 -1989.6644 -1912.8422 -19456.35 -2734.6769 -15.607219 0.20177961 0 54.629556 3.1252294 -77.7067 0 14.933901 -5.8108541 843.92074 -180.43322 0 107.75935 + 20 538.95849 -1942.7037 -1910.5731 -10725.658 -2803.7395 7.9078331 0.077926702 0 81.610043 0.22951937 -57.557104 0 30.331203 -10.178049 878.99015 -159.69092 0 89.315159 + 30 463.09542 -1933.5765 -1905.9685 -33255.507 -2749.8591 -8.0154628 0.027628767 0 81.627403 0.11972403 -50.262284 0 20.82032 -9.6327022 851.88722 -149.495 0 79.205731 + 40 885.49449 -1958.9126 -1906.1228 -4814.7123 -2795.644 9.1506221 0.1374749 0 70.948046 0.24360579 -57.8627 0 19.076515 -11.141211 873.73892 -159.9939 0 92.434059 + 50 861.1646 -1954.4599 -1903.1206 -1896.7387 -2784.8446 3.8269113 0.1579328 0 79.851775 3.3492107 -78.066127 0 32.628975 -7.9565255 872.81826 -190.98565 0 114.75994 + 60 1167.785 -1971.8432 -1902.2243 -3482.6975 -2705.8638 -17.121582 0.22749067 0 44.507705 7.856069 -74.788959 0 16.256519 -4.6046602 835.8308 -188.33691 0 114.19414 + 70 1439.9947 -1989.3024 -1903.4554 23845.067 -2890.7896 31.958874 0.26671735 0 85.758608 3.1803486 -71.002907 0 24.357106 -10.311315 905.86799 -175.38482 0 106.79659 + 80 502.40024 -1930.7547 -1900.8035 -20356.557 -2703.8096 -18.663105 0.11286226 0 99.803799 2.0329394 -76.171387 0 19.236609 -6.2786041 826.47358 -166.03157 0 92.539694 + 90 749.09267 -1946.9834 -1902.3254 17798.812 -2863.7586 42.068927 0.24338042 0 96.18195 0.96181754 -69.955528 0 24.61541 -11.58277 903.68895 -190.13838 0 120.69139 + 100 1109.7046 -1968.5875 -1902.4311 -4490.6736 -2755.8953 -7.1235173 0.21757663 0 61.806405 7.0825933 -75.645487 0 20.114745 -6.2371664 863.56285 -198.56939 0 122.09923 +Loop time of 0.395195 on 1 procs for 100 steps with 21 atoms + +Performance: 21.863 ns/day, 1.098 hours/ns, 253.039 timesteps/s +99.3% CPU use with 1 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.3722 | 0.3722 | 0.3722 | 0.0 | 94.18 +Neigh | 0.0098455 | 0.0098455 | 0.0098455 | 0.0 | 2.49 +Comm | 0.00047445 | 0.00047445 | 0.00047445 | 0.0 | 0.12 +Output | 0.00034022 | 0.00034022 | 0.00034022 | 0.0 | 0.09 +Modify | 0.012187 | 0.012187 | 0.012187 | 0.0 | 3.08 +Other | | 0.0001521 | | | 0.04 + +Nlocal: 21 ave 21 max 21 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 546 ave 546 max 546 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 1096 ave 1096 max 1096 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 1096 +Ave neighs/atom = 52.1905 +Neighbor list builds = 10 +Dangerous builds not checked + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:00 diff --git a/examples/reax/log.8March18.reaxc.rdx.g++.4 b/examples/reax/log.8March18.reaxc.rdx.g++.4 new file mode 100644 index 0000000000000000000000000000000000000000..6ea4835402351cb014cc99f689c0217a82be8ea4 --- /dev/null +++ b/examples/reax/log.8March18.reaxc.rdx.g++.4 @@ -0,0 +1,115 @@ +LAMMPS (8 Mar 2018) + using 1 OpenMP thread(s) per MPI task +# ReaxFF potential for RDX system +# this run is equivalent to reax/in.reax.rdx + +units real + +atom_style charge +read_data data.rdx + orthogonal box = (35 35 35) to (48 48 48) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 21 atoms + +pair_style reax/c control.reax_c.rdx +pair_coeff * * ffield.reax C H O N +Reading potential file ffield.reax with DATE: 2010-02-19 + +compute reax all pair reax/c + +variable eb equal c_reax[1] +variable ea equal c_reax[2] +variable elp equal c_reax[3] +variable emol equal c_reax[4] +variable ev equal c_reax[5] +variable epen equal c_reax[6] +variable ecoa equal c_reax[7] +variable ehb equal c_reax[8] +variable et equal c_reax[9] +variable eco equal c_reax[10] +variable ew equal c_reax[11] +variable ep equal c_reax[12] +variable efi equal c_reax[13] +variable eqeq equal c_reax[14] + +neighbor 2.5 bin +neigh_modify every 10 delay 0 check no + +fix 1 all nve +fix 2 all qeq/reax 1 0.0 10.0 1.0e-6 reax/c + +thermo 10 +thermo_style custom step temp epair etotal press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq + +timestep 1.0 + +#dump 1 all atom 10 dump.reaxc.rdx + +#dump 2 all image 25 image.*.jpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 2 pad 3 + +#dump 3 all movie 25 movie.mpg type type # axes yes 0.8 0.02 view 60 -30 +#dump_modify 3 pad 3 + +run 100 +Neighbor list info ... + update every 10 steps, delay 0 steps, check no + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 12.5 + ghost atom cutoff = 12.5 + binsize = 6.25, bins = 3 3 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reax/c, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: half/ghost/bin/3d/newtoff + bin: standard + (2) fix qeq/reax, perpetual, copy from (1) + attributes: half, newton off, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 10.37 | 11.76 | 13.34 Mbytes +Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq + 0 0 -1884.3081 -1884.3081 27186.178 -2958.4712 79.527715 0.31082031 0 98.589783 25.846176 -0.18034154 0 16.709078 -9.1620736 938.43732 -244.79988 0 168.88453 + 10 1288.6115 -1989.6644 -1912.8422 -19456.354 -2734.6769 -15.60722 0.2017796 0 54.629558 3.1252286 -77.7067 0 14.933902 -5.8108544 843.92073 -180.43321 0 107.75934 + 20 538.95818 -1942.7037 -1910.5731 -10725.623 -2803.7394 7.9078307 0.077926702 0 81.61005 0.22951942 -57.557107 0 30.331206 -10.178049 878.9901 -159.68951 0 89.313749 + 30 463.09514 -1933.5765 -1905.9685 -33255.525 -2749.859 -8.0154737 0.027628797 0 81.627408 0.11972402 -50.262283 0 20.82031 -9.6327021 851.88715 -149.49499 0 79.205724 + 40 885.49412 -1958.9125 -1906.1227 -4814.6606 -2795.6439 9.150622 0.13747487 0 70.948029 0.24360517 -57.862679 0 19.076509 -11.141214 873.7389 -159.99392 0 92.434078 + 50 861.16393 -1954.46 -1903.1207 -1896.7323 -2784.8449 3.8270197 0.1579328 0 79.851743 3.3492115 -78.066132 0 32.628992 -7.9565379 872.81841 -190.98568 0 114.75996 + 60 1167.7846 -1971.8432 -1902.2243 -3482.8111 -2705.8633 -17.121657 0.2274907 0 44.507681 7.8560366 -74.788989 0 16.256493 -4.6046537 835.8305 -188.33687 0 114.1941 + 70 1439.9942 -1989.3023 -1903.4554 23845.444 -2890.7894 31.958784 0.26671721 0 85.758586 3.1803655 -71.002918 0 24.357158 -10.311304 905.86792 -175.38481 0 106.79657 + 80 502.3975 -1930.7546 -1900.8036 -20356.439 -2703.8105 -18.662812 0.11286123 0 99.80391 2.0329293 -76.171334 0 19.236803 -6.2786439 826.47397 -166.03141 0 92.539551 + 90 749.09048 -1946.9837 -1902.3258 17798.718 -2863.7582 42.068719 0.24338057 0 96.181773 0.96183581 -69.955529 0 24.615414 -11.582758 903.68862 -190.1384 0 120.69139 + 100 1109.6999 -1968.5875 -1902.4314 -4490.3728 -2755.8964 -7.1231468 0.21757685 0 61.806149 7.0826648 -75.645428 0 20.115002 -6.2371958 863.56343 -198.56957 0 122.09942 +Loop time of 0.329552 on 4 procs for 100 steps with 21 atoms + +Performance: 26.217 ns/day, 0.915 hours/ns, 303.443 timesteps/s +96.9% CPU use with 4 MPI tasks x 1 OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.26372 | 0.26499 | 0.26754 | 0.3 | 80.41 +Neigh | 0.0045478 | 0.0062494 | 0.0076699 | 1.5 | 1.90 +Comm | 0.0041637 | 0.0064691 | 0.0080271 | 1.8 | 1.96 +Output | 0.00054169 | 0.00056636 | 0.00060368 | 0.0 | 0.17 +Modify | 0.049433 | 0.051134 | 0.05311 | 0.6 | 15.52 +Other | | 0.000141 | | | 0.04 + +Nlocal: 5.25 ave 15 max 0 min +Histogram: 1 0 2 0 0 0 0 0 0 1 +Nghost: 355.5 ave 432 max 282 min +Histogram: 1 0 0 0 1 1 0 0 0 1 +Neighs: 298.75 ave 822 max 0 min +Histogram: 1 0 2 0 0 0 0 0 0 1 + +Total # of neighbors = 1195 +Ave neighs/atom = 56.9048 +Neighbor list builds = 10 +Dangerous builds not checked + +Please see the log.cite file for references relevant to this simulation + +Total wall time: 0:00:00 diff --git a/examples/reax/log.5Oct16.reaxc.tatb.g++.1 b/examples/reax/log.8March18.reaxc.tatb.g++.1 similarity index 57% rename from examples/reax/log.5Oct16.reaxc.tatb.g++.1 rename to examples/reax/log.8March18.reaxc.tatb.g++.1 index deb1c5f1d79855de007b4041cd9bdff1293495af..ac5537bba406c015de04f83c1dcee125fbbac972 100644 --- a/examples/reax/log.5Oct16.reaxc.tatb.g++.1 +++ b/examples/reax/log.8March18.reaxc.tatb.g++.1 @@ -1,4 +1,5 @@ -LAMMPS (5 Oct 2016) +LAMMPS (8 Mar 2018) + using 1 OpenMP thread(s) per MPI task # ReaxFF potential for TATB system # this run is equivalent to reax/in.reax.tatb, @@ -56,34 +57,44 @@ fix 3 all reax/c/species 1 5 5 species.tatb run 25 Neighbor list info ... - 2 neighbor list requests update every 5 steps, delay 0 steps, check no max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 12.5 ghost atom cutoff = 12.5 - binsize = 6.25 -> bins = 5 4 3 -Memory usage per processor = 155.82 Mbytes + binsize = 6.25, bins = 5 4 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reax/c, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: half/ghost/bin/3d/newtoff + bin: standard + (2) fix qeq/reax, perpetual, copy from (1) + attributes: half, newton off, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 176.7 | 176.7 | 176.7 Mbytes Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq - 0 0 -44760.998 -44760.998 7827.7879 -61120.591 486.4378 4.7236377 0 1574.1033 20.788929 -279.51642 -1556.4696 252.57147 -655.84699 18862.412 -8740.6394 0 6391.0274 - 5 0.61603942 -44761.698 -44760.994 8934.6281 -61118.769 486.81263 4.7234094 0 1573.9241 20.768834 -278.24084 -1557.6713 252.64377 -655.74435 18859.379 -8738.193 0 6388.6691 - 10 2.3525551 -44763.227 -44760.541 12288.607 -61113.174 487.82738 4.7226863 0 1573.411 20.705939 -274.50358 -1560.7569 252.85309 -655.44063 18850.391 -8730.9688 0 6381.7066 - 15 4.9013326 -44766.36 -44760.764 17717.015 -61103.434 489.14721 4.7213644 0 1572.6349 20.593139 -268.56847 -1566.3829 252.95174 -654.96611 18835.777 -8719.237 0 6370.4033 - 20 7.829471 -44769.686 -44760.747 25205.558 -61089.006 490.21313 4.719302 0 1571.7022 20.420943 -260.85565 -1573.7378 253.3539 -654.31623 18816.07 -8703.5091 0 6355.2604 - 25 10.697926 -44772.904 -44760.691 34232.793 -61069.308 490.25886 4.7163736 0 1570.7397 20.181346 -251.91377 -1582.3261 253.82253 -653.53184 18791.975 -8684.3608 0 6336.8416 -Loop time of 4.34725 on 1 procs for 25 steps with 384 atoms + 0 0 -44760.998 -44760.998 7827.7874 -61120.591 486.4378 4.7236377 0 1574.1033 20.788929 -279.51642 -1556.4696 252.57147 -655.84699 18862.412 -8740.6395 0 6391.0275 + 5 0.61603968 -44761.698 -44760.994 8934.6347 -61118.769 486.81263 4.7234094 0 1573.9241 20.768834 -278.24084 -1557.6713 252.64377 -655.74435 18859.379 -8738.1911 0 6388.6671 + 10 2.3525551 -44763.227 -44760.541 12288.583 -61113.174 487.82738 4.7226863 0 1573.411 20.705939 -274.50357 -1560.7569 252.85309 -655.44063 18850.391 -8730.9768 0 6381.7146 + 15 4.9013279 -44766.36 -44760.764 17717.01 -61103.434 489.14722 4.7213644 0 1572.6349 20.593139 -268.56847 -1566.3829 252.95174 -654.96611 18835.777 -8719.2375 0 6370.4038 + 20 7.8294645 -44769.686 -44760.747 25205.624 -61089.006 490.21314 4.719302 0 1571.7022 20.420943 -260.85564 -1573.7378 253.3539 -654.31623 18816.07 -8703.4889 0 6355.2402 + 25 10.697904 -44772.904 -44760.691 34232.965 -61069.308 490.25888 4.7163736 0 1570.7397 20.181346 -251.91377 -1582.3261 253.82253 -653.53184 18791.975 -8684.3125 0 6336.7934 +Loop time of 4.72562 on 1 procs for 25 steps with 384 atoms -Performance: 0.031 ns/day, 772.845 hours/ns, 5.751 timesteps/s -99.8% CPU use with 1 MPI tasks x no OpenMP threads +Performance: 0.029 ns/day, 840.110 hours/ns, 5.290 timesteps/s +99.4% CPU use with 1 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 3.5264 | 3.5264 | 3.5264 | 0.0 | 81.12 -Neigh | 0.40335 | 0.40335 | 0.40335 | 0.0 | 9.28 -Comm | 0.0021031 | 0.0021031 | 0.0021031 | 0.0 | 0.05 -Output | 0.00019765 | 0.00019765 | 0.00019765 | 0.0 | 0.00 -Modify | 0.41479 | 0.41479 | 0.41479 | 0.0 | 9.54 -Other | | 0.0004084 | | | 0.01 +Pair | 3.775 | 3.775 | 3.775 | 0.0 | 79.88 +Neigh | 0.47047 | 0.47047 | 0.47047 | 0.0 | 9.96 +Comm | 0.0025151 | 0.0025151 | 0.0025151 | 0.0 | 0.05 +Output | 0.0003159 | 0.0003159 | 0.0003159 | 0.0 | 0.01 +Modify | 0.47676 | 0.47676 | 0.47676 | 0.0 | 10.09 +Other | | 0.0005293 | | | 0.01 Nlocal: 384 ave 384 max 384 min Histogram: 1 0 0 0 0 0 0 0 0 0 @@ -99,4 +110,4 @@ Dangerous builds not checked Please see the log.cite file for references relevant to this simulation -Total wall time: 0:00:04 +Total wall time: 0:00:05 diff --git a/examples/reax/log.5Oct16.reaxc.tatb.g++.4 b/examples/reax/log.8March18.reaxc.tatb.g++.4 similarity index 57% rename from examples/reax/log.5Oct16.reaxc.tatb.g++.4 rename to examples/reax/log.8March18.reaxc.tatb.g++.4 index 064a4da54c0e9742b65715443a0fd63d37061498..12558be68a7b74f21812b82bed945a5d83696303 100644 --- a/examples/reax/log.5Oct16.reaxc.tatb.g++.4 +++ b/examples/reax/log.8March18.reaxc.tatb.g++.4 @@ -1,4 +1,5 @@ -LAMMPS (5 Oct 2016) +LAMMPS (8 Mar 2018) + using 1 OpenMP thread(s) per MPI task # ReaxFF potential for TATB system # this run is equivalent to reax/in.reax.tatb, @@ -56,34 +57,44 @@ fix 3 all reax/c/species 1 5 5 species.tatb run 25 Neighbor list info ... - 2 neighbor list requests update every 5 steps, delay 0 steps, check no max neighbors/atom: 2000, page size: 100000 master list distance cutoff = 12.5 ghost atom cutoff = 12.5 - binsize = 6.25 -> bins = 5 4 3 -Memory usage per processor = 105.386 Mbytes + binsize = 6.25, bins = 5 4 3 + 2 neighbor lists, perpetual/occasional/extra = 2 0 0 + (1) pair reax/c, perpetual + attributes: half, newton off, ghost + pair build: half/bin/newtoff/ghost + stencil: half/ghost/bin/3d/newtoff + bin: standard + (2) fix qeq/reax, perpetual, copy from (1) + attributes: half, newton off, ghost + pair build: copy + stencil: none + bin: none +Per MPI rank memory allocation (min/avg/max) = 118 | 118 | 118 Mbytes Step Temp E_pair TotEng Press v_eb v_ea v_elp v_emol v_ev v_epen v_ecoa v_ehb v_et v_eco v_ew v_ep v_efi v_eqeq - 0 0 -44760.998 -44760.998 7827.7867 -61120.591 486.4378 4.7236377 0 1574.1033 20.788929 -279.51642 -1556.4696 252.57147 -655.84699 18862.412 -8740.6397 0 6391.0277 - 5 0.61603967 -44761.698 -44760.994 8934.6339 -61118.769 486.81263 4.7234094 0 1573.9241 20.768834 -278.24084 -1557.6713 252.64377 -655.74435 18859.379 -8738.1905 0 6388.6665 - 10 2.3525545 -44763.227 -44760.541 12288.586 -61113.174 487.82738 4.7226863 0 1573.411 20.705939 -274.50357 -1560.7569 252.85309 -655.44063 18850.391 -8730.9762 0 6381.714 - 15 4.9013281 -44766.36 -44760.764 17716.982 -61103.434 489.14722 4.7213644 0 1572.6349 20.593139 -268.56847 -1566.3829 252.95174 -654.96611 18835.777 -8719.2476 0 6370.4138 - 20 7.8294637 -44769.686 -44760.747 25205.512 -61089.006 490.21314 4.719302 0 1571.7022 20.420943 -260.85565 -1573.7378 253.3539 -654.31623 18816.07 -8703.518 0 6355.2692 - 25 10.697905 -44772.904 -44760.691 34232.815 -61069.308 490.25887 4.7163736 0 1570.7397 20.181346 -251.91377 -1582.3261 253.82253 -653.53184 18791.975 -8684.3481 0 6336.829 -Loop time of 2.60733 on 4 procs for 25 steps with 384 atoms + 0 0 -44760.998 -44760.998 7827.7866 -61120.591 486.4378 4.7236377 0 1574.1033 20.788929 -279.51642 -1556.4696 252.57147 -655.84699 18862.412 -8740.6398 0 6391.0277 + 5 0.61603968 -44761.698 -44760.994 8934.6335 -61118.769 486.81263 4.7234094 0 1573.9241 20.768834 -278.24084 -1557.6713 252.64377 -655.74435 18859.379 -8738.1906 0 6388.6666 + 10 2.3525544 -44763.227 -44760.541 12288.587 -61113.174 487.82738 4.7226863 0 1573.411 20.705939 -274.50357 -1560.7569 252.85309 -655.44063 18850.391 -8730.9764 0 6381.7141 + 15 4.9013311 -44766.36 -44760.764 17716.955 -61103.434 489.14721 4.7213644 0 1572.6349 20.593139 -268.56847 -1566.3829 252.95174 -654.96611 18835.777 -8719.2558 0 6370.4221 + 20 7.8294715 -44769.686 -44760.747 25205.613 -61089.006 490.21314 4.7193021 0 1571.7022 20.420943 -260.85564 -1573.7378 253.3539 -654.31623 18816.07 -8703.4906 0 6355.2419 + 25 10.697924 -44772.904 -44760.691 34232.794 -61069.308 490.25886 4.7163736 0 1570.7397 20.181347 -251.91376 -1582.3261 253.82253 -653.53183 18791.975 -8684.3641 0 6336.8449 +Loop time of 2.84068 on 4 procs for 25 steps with 384 atoms -Performance: 0.052 ns/day, 463.526 hours/ns, 9.588 timesteps/s -99.9% CPU use with 4 MPI tasks x no OpenMP threads +Performance: 0.048 ns/day, 505.009 hours/ns, 8.801 timesteps/s +98.4% CPU use with 4 MPI tasks x 1 OpenMP threads MPI task timing breakdown: Section | min time | avg time | max time |%varavg| %total --------------------------------------------------------------- -Pair | 2.1835 | 2.1843 | 2.1854 | 0.0 | 83.77 -Neigh | 0.22091 | 0.22364 | 0.22821 | 0.6 | 8.58 -Comm | 0.005677 | 0.0069622 | 0.0078082 | 1.0 | 0.27 -Output | 0.00036621 | 0.0028675 | 0.0037034 | 2.7 | 0.11 -Modify | 0.18736 | 0.18921 | 0.19102 | 0.4 | 7.26 -Other | | 0.0003636 | | | 0.01 +Pair | 2.3253 | 2.328 | 2.3305 | 0.2 | 81.95 +Neigh | 0.2589 | 0.26458 | 0.26897 | 0.7 | 9.31 +Comm | 0.0094428 | 0.012062 | 0.014872 | 2.3 | 0.42 +Output | 0.00043392 | 0.0042209 | 0.0054941 | 3.4 | 0.15 +Modify | 0.22563 | 0.23134 | 0.23579 | 0.8 | 8.14 +Other | | 0.0005122 | | | 0.02 Nlocal: 96 ave 96 max 96 min Histogram: 4 0 0 0 0 0 0 0 0 0 @@ -99,4 +110,4 @@ Dangerous builds not checked Please see the log.cite file for references relevant to this simulation -Total wall time: 0:00:02 +Total wall time: 0:00:03 diff --git a/lib/colvars/Makefile.deps b/lib/colvars/Makefile.deps index e0c768dbc9b042b3ae14731b6319929af9a20705..9a7de0647db57eeb3d62ee866e71f6e363b6c802 100644 --- a/lib/colvars/Makefile.deps +++ b/lib/colvars/Makefile.deps @@ -1,9 +1,9 @@ $(COLVARS_OBJ_DIR)colvaratoms.o: colvaratoms.cpp colvarmodule.h \ - colvars_version.h colvartypes.h colvarproxy.h colvarvalue.h \ + colvars_version.h colvarproxy.h colvarvalue.h colvartypes.h \ colvarparse.h colvaratoms.h colvardeps.h $(COLVARS_OBJ_DIR)colvarbias_abf.o: colvarbias_abf.cpp colvarmodule.h \ - colvars_version.h colvartypes.h colvarproxy.h colvarvalue.h colvar.h \ + colvars_version.h colvarproxy.h colvarvalue.h colvartypes.h colvar.h \ colvarparse.h colvardeps.h lepton/include/Lepton.h \ lepton/include/lepton/CompiledExpression.h \ lepton/include/lepton/ExpressionTreeNode.h \ @@ -16,9 +16,9 @@ $(COLVARS_OBJ_DIR)colvarbias_abf.o: colvarbias_abf.cpp colvarmodule.h \ lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ colvarbias_abf.h colvarbias.h colvargrid.h colvar_UIestimator.h $(COLVARS_OBJ_DIR)colvarbias_alb.o: colvarbias_alb.cpp colvarmodule.h \ - colvars_version.h colvartypes.h colvarproxy.h colvarvalue.h \ - colvarbias_alb.h colvar.h colvarparse.h colvardeps.h \ - lepton/include/Lepton.h lepton/include/lepton/CompiledExpression.h \ + colvars_version.h colvarbias.h colvar.h colvarvalue.h colvartypes.h \ + colvarparse.h colvardeps.h lepton/include/Lepton.h \ + lepton/include/lepton/CompiledExpression.h \ lepton/include/lepton/ExpressionTreeNode.h \ lepton/include/lepton/windowsIncludes.h \ lepton/include/lepton/CustomFunction.h \ @@ -27,9 +27,9 @@ $(COLVARS_OBJ_DIR)colvarbias_alb.o: colvarbias_alb.cpp colvarmodule.h \ lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \ lepton/include/lepton/Exception.h \ lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ - colvarbias.h + colvarbias_alb.h $(COLVARS_OBJ_DIR)colvarbias.o: colvarbias.cpp colvarmodule.h \ - colvars_version.h colvartypes.h colvarproxy.h colvarvalue.h colvarbias.h \ + colvars_version.h colvarproxy.h colvarvalue.h colvartypes.h colvarbias.h \ colvar.h colvarparse.h colvardeps.h lepton/include/Lepton.h \ lepton/include/lepton/CompiledExpression.h \ lepton/include/lepton/ExpressionTreeNode.h \ @@ -42,8 +42,8 @@ $(COLVARS_OBJ_DIR)colvarbias.o: colvarbias.cpp colvarmodule.h \ lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ colvargrid.h $(COLVARS_OBJ_DIR)colvarbias_histogram.o: colvarbias_histogram.cpp \ - colvarmodule.h colvars_version.h colvartypes.h colvarproxy.h \ - colvarvalue.h colvar.h colvarparse.h colvardeps.h \ + colvarmodule.h colvars_version.h colvarproxy.h colvarvalue.h \ + colvartypes.h colvar.h colvarparse.h colvardeps.h \ lepton/include/Lepton.h lepton/include/lepton/CompiledExpression.h \ lepton/include/lepton/ExpressionTreeNode.h \ lepton/include/lepton/windowsIncludes.h \ @@ -54,9 +54,9 @@ $(COLVARS_OBJ_DIR)colvarbias_histogram.o: colvarbias_histogram.cpp \ lepton/include/lepton/Exception.h \ lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ colvarbias_histogram.h colvarbias.h colvargrid.h -$(COLVARS_OBJ_DIR)colvarbias_meta.o: colvarbias_meta.cpp colvar.h \ - colvarmodule.h colvars_version.h colvartypes.h colvarproxy.h \ - colvarvalue.h colvarparse.h colvardeps.h lepton/include/Lepton.h \ +$(COLVARS_OBJ_DIR)colvarbias_meta.o: colvarbias_meta.cpp colvarmodule.h \ + colvars_version.h colvarproxy.h colvarvalue.h colvartypes.h colvar.h \ + colvarparse.h colvardeps.h lepton/include/Lepton.h \ lepton/include/lepton/CompiledExpression.h \ lepton/include/lepton/ExpressionTreeNode.h \ lepton/include/lepton/windowsIncludes.h \ @@ -68,8 +68,8 @@ $(COLVARS_OBJ_DIR)colvarbias_meta.o: colvarbias_meta.cpp colvar.h \ lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ colvarbias_meta.h colvarbias.h colvargrid.h $(COLVARS_OBJ_DIR)colvarbias_restraint.o: colvarbias_restraint.cpp \ - colvarmodule.h colvars_version.h colvartypes.h colvarproxy.h \ - colvarvalue.h colvarbias_restraint.h colvarbias.h colvar.h colvarparse.h \ + colvarmodule.h colvars_version.h colvarproxy.h colvarvalue.h \ + colvartypes.h colvarbias_restraint.h colvarbias.h colvar.h colvarparse.h \ colvardeps.h lepton/include/Lepton.h \ lepton/include/lepton/CompiledExpression.h \ lepton/include/lepton/ExpressionTreeNode.h \ @@ -81,9 +81,9 @@ $(COLVARS_OBJ_DIR)colvarbias_restraint.o: colvarbias_restraint.cpp \ lepton/include/lepton/Exception.h \ lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h $(COLVARS_OBJ_DIR)colvarcomp_angles.o: colvarcomp_angles.cpp \ - colvarmodule.h colvars_version.h colvartypes.h colvarproxy.h \ - colvarvalue.h colvar.h colvarparse.h colvardeps.h \ - lepton/include/Lepton.h lepton/include/lepton/CompiledExpression.h \ + colvarmodule.h colvars_version.h colvar.h colvarvalue.h colvartypes.h \ + colvarparse.h colvardeps.h lepton/include/Lepton.h \ + lepton/include/lepton/CompiledExpression.h \ lepton/include/lepton/ExpressionTreeNode.h \ lepton/include/lepton/windowsIncludes.h \ lepton/include/lepton/CustomFunction.h \ @@ -92,10 +92,10 @@ $(COLVARS_OBJ_DIR)colvarcomp_angles.o: colvarcomp_angles.cpp \ lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \ lepton/include/lepton/Exception.h \ lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ - colvarcomp.h colvaratoms.h + colvarcomp.h colvaratoms.h colvarproxy.h $(COLVARS_OBJ_DIR)colvarcomp_coordnums.o: colvarcomp_coordnums.cpp \ - colvarmodule.h colvars_version.h colvartypes.h colvarproxy.h \ - colvarvalue.h colvarparse.h colvaratoms.h colvardeps.h colvar.h \ + colvarmodule.h colvars_version.h colvarparse.h colvarvalue.h \ + colvartypes.h colvaratoms.h colvarproxy.h colvardeps.h colvar.h \ lepton/include/Lepton.h lepton/include/lepton/CompiledExpression.h \ lepton/include/lepton/ExpressionTreeNode.h \ lepton/include/lepton/windowsIncludes.h \ @@ -107,8 +107,8 @@ $(COLVARS_OBJ_DIR)colvarcomp_coordnums.o: colvarcomp_coordnums.cpp \ lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ colvarcomp.h $(COLVARS_OBJ_DIR)colvarcomp.o: colvarcomp.cpp colvarmodule.h \ - colvars_version.h colvartypes.h colvarproxy.h colvarvalue.h colvar.h \ - colvarparse.h colvardeps.h lepton/include/Lepton.h \ + colvars_version.h colvarvalue.h colvartypes.h colvar.h colvarparse.h \ + colvardeps.h lepton/include/Lepton.h \ lepton/include/lepton/CompiledExpression.h \ lepton/include/lepton/ExpressionTreeNode.h \ lepton/include/lepton/windowsIncludes.h \ @@ -118,11 +118,11 @@ $(COLVARS_OBJ_DIR)colvarcomp.o: colvarcomp.cpp colvarmodule.h \ lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \ lepton/include/lepton/Exception.h \ lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ - colvarcomp.h colvaratoms.h + colvarcomp.h colvaratoms.h colvarproxy.h $(COLVARS_OBJ_DIR)colvarcomp_distances.o: colvarcomp_distances.cpp \ - colvarmodule.h colvars_version.h colvartypes.h colvarproxy.h \ - colvarvalue.h colvarparse.h colvar.h colvardeps.h \ - lepton/include/Lepton.h lepton/include/lepton/CompiledExpression.h \ + colvarmodule.h colvars_version.h colvarvalue.h colvartypes.h \ + colvarparse.h colvar.h colvardeps.h lepton/include/Lepton.h \ + lepton/include/lepton/CompiledExpression.h \ lepton/include/lepton/ExpressionTreeNode.h \ lepton/include/lepton/windowsIncludes.h \ lepton/include/lepton/CustomFunction.h \ @@ -131,11 +131,11 @@ $(COLVARS_OBJ_DIR)colvarcomp_distances.o: colvarcomp_distances.cpp \ lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \ lepton/include/lepton/Exception.h \ lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ - colvarcomp.h colvaratoms.h + colvarcomp.h colvaratoms.h colvarproxy.h $(COLVARS_OBJ_DIR)colvarcomp_protein.o: colvarcomp_protein.cpp \ - colvarmodule.h colvars_version.h colvartypes.h colvarproxy.h \ - colvarvalue.h colvarparse.h colvar.h colvardeps.h \ - lepton/include/Lepton.h lepton/include/lepton/CompiledExpression.h \ + colvarmodule.h colvars_version.h colvarvalue.h colvartypes.h \ + colvarparse.h colvar.h colvardeps.h lepton/include/Lepton.h \ + lepton/include/lepton/CompiledExpression.h \ lepton/include/lepton/ExpressionTreeNode.h \ lepton/include/lepton/windowsIncludes.h \ lepton/include/lepton/CustomFunction.h \ @@ -144,11 +144,11 @@ $(COLVARS_OBJ_DIR)colvarcomp_protein.o: colvarcomp_protein.cpp \ lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \ lepton/include/lepton/Exception.h \ lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ - colvarcomp.h colvaratoms.h + colvarcomp.h colvaratoms.h colvarproxy.h $(COLVARS_OBJ_DIR)colvarcomp_rotations.o: colvarcomp_rotations.cpp \ - colvarmodule.h colvars_version.h colvartypes.h colvarproxy.h \ - colvarvalue.h colvarparse.h colvar.h colvardeps.h \ - lepton/include/Lepton.h lepton/include/lepton/CompiledExpression.h \ + colvarmodule.h colvars_version.h colvarvalue.h colvartypes.h \ + colvarparse.h colvar.h colvardeps.h lepton/include/Lepton.h \ + lepton/include/lepton/CompiledExpression.h \ lepton/include/lepton/ExpressionTreeNode.h \ lepton/include/lepton/windowsIncludes.h \ lepton/include/lepton/CustomFunction.h \ @@ -157,11 +157,10 @@ $(COLVARS_OBJ_DIR)colvarcomp_rotations.o: colvarcomp_rotations.cpp \ lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \ lepton/include/lepton/Exception.h \ lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ - colvarcomp.h colvaratoms.h + colvarcomp.h colvaratoms.h colvarproxy.h $(COLVARS_OBJ_DIR)colvar.o: colvar.cpp colvarmodule.h colvars_version.h \ - colvartypes.h colvarproxy.h colvarvalue.h colvarparse.h colvar.h \ - colvardeps.h lepton/include/Lepton.h \ - lepton/include/lepton/CompiledExpression.h \ + colvarvalue.h colvartypes.h colvarparse.h colvar.h colvardeps.h \ + lepton/include/Lepton.h lepton/include/lepton/CompiledExpression.h \ lepton/include/lepton/ExpressionTreeNode.h \ lepton/include/lepton/windowsIncludes.h \ lepton/include/lepton/CustomFunction.h \ @@ -170,13 +169,13 @@ $(COLVARS_OBJ_DIR)colvar.o: colvar.cpp colvarmodule.h colvars_version.h \ lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \ lepton/include/lepton/Exception.h \ lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ - colvarcomp.h colvaratoms.h colvarscript.h colvarbias.h -$(COLVARS_OBJ_DIR)colvardeps.o: colvardeps.cpp colvardeps.h \ - colvarmodule.h colvars_version.h colvartypes.h colvarproxy.h \ - colvarvalue.h colvarparse.h + colvarcomp.h colvaratoms.h colvarproxy.h colvarscript.h colvarbias.h +$(COLVARS_OBJ_DIR)colvardeps.o: colvardeps.cpp colvarmodule.h \ + colvars_version.h colvarproxy.h colvarvalue.h colvartypes.h colvardeps.h \ + colvarparse.h $(COLVARS_OBJ_DIR)colvargrid.o: colvargrid.cpp colvarmodule.h \ - colvars_version.h colvartypes.h colvarproxy.h colvarvalue.h \ - colvarparse.h colvar.h colvardeps.h lepton/include/Lepton.h \ + colvars_version.h colvarvalue.h colvartypes.h colvarparse.h colvar.h \ + colvardeps.h lepton/include/Lepton.h \ lepton/include/lepton/CompiledExpression.h \ lepton/include/lepton/ExpressionTreeNode.h \ lepton/include/lepton/windowsIncludes.h \ @@ -186,10 +185,10 @@ $(COLVARS_OBJ_DIR)colvargrid.o: colvargrid.cpp colvarmodule.h \ lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \ lepton/include/lepton/Exception.h \ lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ - colvarcomp.h colvaratoms.h colvargrid.h + colvarcomp.h colvaratoms.h colvarproxy.h colvargrid.h $(COLVARS_OBJ_DIR)colvarmodule.o: colvarmodule.cpp colvarmodule.h \ - colvars_version.h colvartypes.h colvarproxy.h colvarvalue.h \ - colvarparse.h colvar.h colvardeps.h lepton/include/Lepton.h \ + colvars_version.h colvarparse.h colvarvalue.h colvartypes.h \ + colvarproxy.h colvar.h colvardeps.h lepton/include/Lepton.h \ lepton/include/lepton/CompiledExpression.h \ lepton/include/lepton/ExpressionTreeNode.h \ lepton/include/lepton/windowsIncludes.h \ @@ -203,10 +202,9 @@ $(COLVARS_OBJ_DIR)colvarmodule.o: colvarmodule.cpp colvarmodule.h \ colvarbias_alb.h colvarbias_histogram.h colvarbias_meta.h \ colvarbias_restraint.h colvarscript.h colvaratoms.h colvarcomp.h $(COLVARS_OBJ_DIR)colvarparse.o: colvarparse.cpp colvarmodule.h \ - colvars_version.h colvartypes.h colvarproxy.h colvarvalue.h \ - colvarparse.h + colvars_version.h colvarvalue.h colvartypes.h colvarparse.h $(COLVARS_OBJ_DIR)colvarproxy.o: colvarproxy.cpp colvarmodule.h \ - colvars_version.h colvartypes.h colvarproxy.h colvarvalue.h \ + colvars_version.h colvarproxy.h colvarvalue.h colvartypes.h \ colvarscript.h colvarbias.h colvar.h colvarparse.h colvardeps.h \ lepton/include/Lepton.h lepton/include/lepton/CompiledExpression.h \ lepton/include/lepton/ExpressionTreeNode.h \ @@ -219,9 +217,9 @@ $(COLVARS_OBJ_DIR)colvarproxy.o: colvarproxy.cpp colvarmodule.h \ lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ colvaratoms.h $(COLVARS_OBJ_DIR)colvarscript.o: colvarscript.cpp colvarscript.h \ - colvarmodule.h colvars_version.h colvartypes.h colvarproxy.h \ - colvarvalue.h colvarbias.h colvar.h colvarparse.h colvardeps.h \ - lepton/include/Lepton.h lepton/include/lepton/CompiledExpression.h \ + colvarmodule.h colvars_version.h colvarvalue.h colvartypes.h \ + colvarbias.h colvar.h colvarparse.h colvardeps.h lepton/include/Lepton.h \ + lepton/include/lepton/CompiledExpression.h \ lepton/include/lepton/ExpressionTreeNode.h \ lepton/include/lepton/windowsIncludes.h \ lepton/include/lepton/CustomFunction.h \ @@ -229,9 +227,9 @@ $(COLVARS_OBJ_DIR)colvarscript.o: colvarscript.cpp colvarscript.h \ lepton/include/lepton/ExpressionTreeNode.h \ lepton/include/lepton/Operation.h lepton/include/lepton/CustomFunction.h \ lepton/include/lepton/Exception.h \ - lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h + lepton/include/lepton/ParsedExpression.h lepton/include/lepton/Parser.h \ + colvarproxy.h $(COLVARS_OBJ_DIR)colvartypes.o: colvartypes.cpp colvarmodule.h \ - colvars_version.h colvartypes.h colvarproxy.h colvarvalue.h \ - colvarparse.h + colvars_version.h colvartypes.h colvarparse.h colvarvalue.h $(COLVARS_OBJ_DIR)colvarvalue.o: colvarvalue.cpp colvarmodule.h \ - colvars_version.h colvartypes.h colvarproxy.h colvarvalue.h + colvars_version.h colvarvalue.h colvartypes.h diff --git a/lib/colvars/colvar.cpp b/lib/colvars/colvar.cpp index ce76b3b9eb2c8bd5f37b85af332611fa7ca963b3..5a4e8b617a9007fff02e87233b8f8dfebb1e7a25 100644 --- a/lib/colvars/colvar.cpp +++ b/lib/colvars/colvar.cpp @@ -195,7 +195,7 @@ int colvar::init(std::string const &conf) // - it is homogeneous // - all cvcs are periodic // - all cvcs have the same period - if (cvcs[0]->b_periodic) { // TODO make this a CVC feature + if (is_enabled(f_cv_homogeneous) && cvcs[0]->b_periodic) { // TODO make this a CVC feature bool b_periodic = true; period = cvcs[0]->period; for (i = 1; i < cvcs.size(); i++) { diff --git a/lib/colvars/colvar.h b/lib/colvars/colvar.h index 20dad2771b6c25afef9c4667ca23f24cfe61d46d..32c329460d06cfa5ceba43e245aa08a0d0810100 100644 --- a/lib/colvars/colvar.h +++ b/lib/colvars/colvar.h @@ -11,8 +11,6 @@ #define COLVAR_H #include -#include -#include #include "colvarmodule.h" #include "colvarvalue.h" @@ -60,10 +58,13 @@ public: /// \brief Current actual value (not extended DOF) colvarvalue const & actual_value() const; - + + /// \brief Current running average (if calculated as set by analysis flag) + colvarvalue const & run_ave() const; + /// \brief Force constant of the spring cvm::real const & force_constant() const; - + /// \brief Current velocity (previously set by calc() or by read_traj()) colvarvalue const & velocity() const; @@ -516,7 +517,7 @@ public: // collective variable component base class class cvc; - // currently available collective variable components + // list of available collective variable components // scalar colvar components class distance; @@ -611,12 +612,15 @@ inline colvarvalue const & colvar::value() const return x_reported; } - inline colvarvalue const & colvar::actual_value() const { return x; } +inline colvarvalue const & colvar::run_ave() const +{ + return runave; +} inline colvarvalue const & colvar::velocity() const { diff --git a/lib/colvars/colvar_UIestimator.h b/lib/colvars/colvar_UIestimator.h index 7fc7f870a10932d176525bb3c6c42d574a572fb1..36ed938119d41232dfdbdc42589cd35f8f67a735 100644 --- a/lib/colvars/colvar_UIestimator.h +++ b/lib/colvars/colvar_UIestimator.h @@ -45,7 +45,7 @@ namespace UIestimator { this->width = width; this->dimension = lowerboundary.size(); this->y_size = y_size; // keep in mind the internal (spare) matrix is stored in diagonal form - this->y_total_size = int(pow(double(y_size), dimension) + EPSILON); + this->y_total_size = int(std::pow(double(y_size), double(dimension)) + EPSILON); // the range of the matrix is [lowerboundary, upperboundary] x_total_size = 1; @@ -121,7 +121,7 @@ namespace UIestimator { int index = 0; for (i = 0; i < dimension; i++) { if (i + 1 < dimension) - index += temp[i] * int(pow(double(y_size), dimension - i - 1) + EPSILON); + index += temp[i] * int(std::pow(double(y_size), double(dimension - i - 1)) + EPSILON); else index += temp[i]; } diff --git a/lib/colvars/colvaratoms.cpp b/lib/colvars/colvaratoms.cpp index d2a0f0a807d2727500d96e6a19a56eaa0af23f39..1be6f42e594f86adf16a5b4702a631a6bef9c1e7 100644 --- a/lib/colvars/colvaratoms.cpp +++ b/lib/colvars/colvaratoms.cpp @@ -8,9 +8,11 @@ // Colvars repository at GitHub. #include "colvarmodule.h" +#include "colvarproxy.h" #include "colvarparse.h" #include "colvaratoms.h" + cvm::atom::atom() { index = -1; diff --git a/lib/colvars/colvaratoms.h b/lib/colvars/colvaratoms.h index 71c587e23084e516c6b66358e97327c8d404822f..0dda6ab792d8ae20afcf6a9aeaa615675f332d1b 100644 --- a/lib/colvars/colvaratoms.h +++ b/lib/colvars/colvaratoms.h @@ -11,6 +11,7 @@ #define COLVARATOMS_H #include "colvarmodule.h" +#include "colvarproxy.h" #include "colvarparse.h" #include "colvardeps.h" diff --git a/lib/colvars/colvarbias.cpp b/lib/colvars/colvarbias.cpp index 301e83e73015a91f14ff75a82c045954083d4074..29620fbee8f103a032b5698c52ca841b2f122cbc 100644 --- a/lib/colvars/colvarbias.cpp +++ b/lib/colvars/colvarbias.cpp @@ -8,6 +8,7 @@ // Colvars repository at GitHub. #include "colvarmodule.h" +#include "colvarproxy.h" #include "colvarvalue.h" #include "colvarbias.h" #include "colvargrid.h" diff --git a/lib/colvars/colvarbias_abf.cpp b/lib/colvars/colvarbias_abf.cpp index e4aea8eb86e7dcb6712fc6dc2c771adeeb6909f6..b3b5b3eb1654df12992b2fafb206d82851d3788b 100644 --- a/lib/colvars/colvarbias_abf.cpp +++ b/lib/colvars/colvarbias_abf.cpp @@ -8,6 +8,7 @@ // Colvars repository at GitHub. #include "colvarmodule.h" +#include "colvarproxy.h" #include "colvar.h" #include "colvarbias_abf.h" @@ -18,16 +19,18 @@ colvarbias_abf::colvarbias_abf(char const *key) b_CZAR_estimator(false), system_force(NULL), gradients(NULL), + pmf(NULL), samples(NULL), z_gradients(NULL), z_samples(NULL), czar_gradients(NULL), + czar_pmf(NULL), last_gradients(NULL), - last_samples(NULL) + last_samples(NULL), + pabf_freq(0) { } - int colvarbias_abf::init(std::string const &conf) { colvarbias::init(conf); @@ -91,7 +94,7 @@ int colvarbias_abf::init(std::string const &conf) // ************* checking the associated colvars ******************* - if (colvars.size() == 0) { + if (num_variables() == 0) { cvm::error("Error: no collective variables specified for the ABF bias.\n"); return COLVARS_ERROR; } @@ -102,7 +105,8 @@ int colvarbias_abf::init(std::string const &conf) } bool b_extended = false; - for (size_t i = 0; i < colvars.size(); i++) { + size_t i; + for (i = 0; i < num_variables(); i++) { if (colvars[i]->value().type() != colvarvalue::type_scalar) { cvm::error("Error: ABF bias can only use scalar-type variables.\n"); @@ -132,10 +136,10 @@ int colvarbias_abf::init(std::string const &conf) } if (get_keyval(conf, "maxForce", max_force)) { - if (max_force.size() != colvars.size()) { + if (max_force.size() != num_variables()) { cvm::error("Error: Number of parameters to maxForce does not match number of colvars."); } - for (size_t i = 0; i < colvars.size(); i++) { + for (i = 0; i < num_variables(); i++) { if (max_force[i] < 0.0) { cvm::error("Error: maxForce should be non-negative."); } @@ -145,9 +149,9 @@ int colvarbias_abf::init(std::string const &conf) cap_force = false; } - bin.assign(colvars.size(), 0); - force_bin.assign(colvars.size(), 0); - system_force = new cvm::real [colvars.size()]; + bin.assign(num_variables(), 0); + force_bin.assign(num_variables(), 0); + system_force = new cvm::real [num_variables()]; // Construct empty grids based on the colvars if (cvm::debug()) { @@ -159,14 +163,14 @@ int colvarbias_abf::init(std::string const &conf) gradients->samples = samples; samples->has_parent_data = true; - // Data for eABF z-based estimator - if (b_extended) { + // Data for eAB F z-based estimator + if ( b_extended ) { get_keyval(conf, "CZARestimator", b_CZAR_estimator, true); // CZAR output files for stratified eABF get_keyval(conf, "writeCZARwindowFile", b_czar_window_file, false, colvarparse::parse_silent); - z_bin.assign(colvars.size(), 0); + z_bin.assign(num_variables(), 0); z_samples = new colvar_grid_count(colvars); z_samples->request_actual_value(); z_gradients = new colvar_grid_gradient(colvars); @@ -176,6 +180,27 @@ int colvarbias_abf::init(std::string const &conf) czar_gradients = new colvar_grid_gradient(colvars); } + // For now, we integrate on-the-fly iff the grid is < 3D + if ( num_variables() <= 3 ) { + pmf = new integrate_potential(colvars, gradients); + if ( b_CZAR_estimator ) { + czar_pmf = new integrate_potential(colvars, czar_gradients); + } + get_keyval(conf, "integrate", b_integrate, true); // Integrate for output + if ( num_variables() > 1 ) { + // Projected ABF + get_keyval(conf, "pABFintegrateFreq", pabf_freq, 0); + // Parameters for integrating initial (and final) gradient data + get_keyval(conf, "integrateInitSteps", integrate_initial_steps, 1e4); + get_keyval(conf, "integrateInitTol", integrate_initial_tol, 1e-6); + // for updating the integrated PMF on the fly + get_keyval(conf, "integrateSteps", integrate_steps, 100); + get_keyval(conf, "integrateTol", integrate_tol, 1e-4); + } + } else { + b_integrate = false; + } + // For shared ABF, we store a second set of grids. // This used to be only if "shared" was defined, // but now we allow calling share externally (e.g. from Tcl). @@ -188,6 +213,8 @@ int colvarbias_abf::init(std::string const &conf) // If custom grids are provided, read them if ( input_prefix.size() > 0 ) { read_gradients_samples(); + // Update divergence to account for input data + pmf->set_div(); } // if extendedLangrangian is on, then call UI estimator @@ -202,7 +229,7 @@ int colvarbias_abf::init(std::string const &conf) bool UI_restart = (input_prefix.size() > 0); - for (size_t i = 0; i < colvars.size(); i++) + for (i = 0; i < num_variables(); i++) { UI_lowerboundary.push_back(colvars[i]->lower_boundary); UI_upperboundary.push_back(colvars[i]->upper_boundary); @@ -238,6 +265,11 @@ colvarbias_abf::~colvarbias_abf() gradients = NULL; } + if (pmf) { + delete pmf; + pmf = NULL; + } + if (z_samples) { delete z_samples; z_samples = NULL; @@ -253,6 +285,11 @@ colvarbias_abf::~colvarbias_abf() czar_gradients = NULL; } + if (czar_pmf) { + delete czar_pmf; + czar_pmf = NULL; + } + // shared ABF // We used to only do this if "shared" was defined, // but now we can call shared externally @@ -278,44 +315,48 @@ colvarbias_abf::~colvarbias_abf() int colvarbias_abf::update() { - if (cvm::debug()) cvm::log("Updating ABF bias " + this->name); + int iter; - if (cvm::step_relative() == 0) { - - // At first timestep, do only: - // initialization stuff (file operations relying on n_abf_biases - // compute current value of colvars - - for (size_t i = 0; i < colvars.size(); i++) { - bin[i] = samples->current_bin_scalar(i); - } + if (cvm::debug()) cvm::log("Updating ABF bias " + this->name); - } else { + size_t i; + for (i = 0; i < num_variables(); i++) { + bin[i] = samples->current_bin_scalar(i); + } + if (cvm::proxy->total_forces_same_step()) { + // e.g. in LAMMPS, total forces are current + force_bin = bin; + } - for (size_t i = 0; i < colvars.size(); i++) { - bin[i] = samples->current_bin_scalar(i); - } + if (cvm::step_relative() > 0 || cvm::proxy->total_forces_same_step()) { - if ( update_bias && samples->index_ok(force_bin) ) { - // Only if requested and within bounds of the grid... + if (update_bias) { +// if (b_adiabatic_reweighting) { +// // Update gradients non-locally based on conditional distribution of +// // fictitious variable TODO +// +// } else + if (samples->index_ok(force_bin)) { + // Only if requested and within bounds of the grid... - for (size_t i = 0; i < colvars.size(); i++) { - // get total forces (lagging by 1 timestep) from colvars - // and subtract previous ABF force if necessary - update_system_force(i); - } - if (cvm::proxy->total_forces_same_step()) { - // e.g. in LAMMPS, total forces are current - force_bin = bin; + for (i = 0; i < num_variables(); i++) { + // get total forces (lagging by 1 timestep) from colvars + // and subtract previous ABF force if necessary + update_system_force(i); + } + gradients->acc_force(force_bin, system_force); + if ( b_integrate ) { + pmf->update_div_neighbors(force_bin); + } } - gradients->acc_force(force_bin, system_force); } + if ( z_gradients && update_bias ) { - for (size_t i = 0; i < colvars.size(); i++) { + for (i = 0; i < num_variables(); i++) { z_bin[i] = z_samples->current_bin_scalar(i); } if ( z_samples->index_ok(z_bin) ) { - for (size_t i = 0; i < colvars.size(); i++) { + for (i = 0; i < num_variables(); i++) { // If we are outside the range of xi, the force has not been obtained above // the function is just an accessor, so cheap to call again anyway update_system_force(i); @@ -323,6 +364,14 @@ int colvarbias_abf::update() z_gradients->acc_force(z_bin, system_force); } } + + if ( b_integrate ) { + if ( pabf_freq && cvm::step_relative() % pabf_freq == 0 ) { + cvm::real err; + iter = pmf->integrate(integrate_steps, integrate_tol, err); + pmf->set_zero_minimum(); // TODO: do this only when necessary + } + } } if (!cvm::proxy->total_forces_same_step()) { @@ -332,14 +381,14 @@ int colvarbias_abf::update() } // Reset biasing forces from previous timestep - for (size_t i = 0; i < colvars.size(); i++) { + for (i = 0; i < num_variables(); i++) { colvar_forces[i].reset(); } // Compute and apply the new bias, if applicable if (is_enabled(f_cvb_apply_force) && samples->index_ok(bin)) { - size_t count = samples->value(bin); + cvm::real count = samples->value(bin); cvm::real fact = 1.0; // Factor that ensures smooth introduction of the force @@ -348,21 +397,34 @@ int colvarbias_abf::update() (cvm::real(count - min_samples)) / (cvm::real(full_samples - min_samples)); } - const cvm::real * grad = &(gradients->value(bin)); + std::vector grad(num_variables()); + if ( pabf_freq ) { + // In projected ABF, the force is the PMF gradient estimate + pmf->vector_gradient_finite_diff(bin, grad); + } else { + // Normal ABF + gradients->vector_value(bin, grad); + } + +// if ( b_adiabatic_reweighting) { +// // Average of force according to conditional distribution of fictitious variable +// // need freshly integrated PMF, gradient TODO +// } else if ( fact != 0.0 ) { - if ( (colvars.size() == 1) && colvars[0]->periodic_boundaries() ) { + if ( (num_variables() == 1) && colvars[0]->periodic_boundaries() ) { // Enforce a zero-mean bias on periodic, 1D coordinates // in other words: boundary condition is that the biasing potential is periodic - colvar_forces[0].real_value = fact * (grad[0] / cvm::real(count) - gradients->average()); + // This is enforced naturally if using integrated PMF + colvar_forces[0].real_value = fact * (grad[0] - gradients->average ()); } else { - for (size_t i = 0; i < colvars.size(); i++) { + for (size_t i = 0; i < num_variables(); i++) { // subtracting the mean force (opposite of the FE gradient) means adding the gradient - colvar_forces[i].real_value = fact * grad[i] / cvm::real(count); + colvar_forces[i].real_value = fact * grad[i]; } } if (cap_force) { - for (size_t i = 0; i < colvars.size(); i++) { + for (size_t i = 0; i < num_variables(); i++) { if ( colvar_forces[i].real_value * colvar_forces[i].real_value > max_force[i] * max_force[i] ) { colvar_forces[i].real_value = (colvar_forces[i].real_value > 0 ? max_force[i] : -1.0 * max_force[i]); } @@ -407,9 +469,9 @@ int colvarbias_abf::update() // update UI estimator every step if (b_UI_estimator) { - std::vector x(colvars.size(),0); - std::vector y(colvars.size(),0); - for (size_t i = 0; i < colvars.size(); i++) + std::vector x(num_variables(),0); + std::vector y(num_variables(),0); + for (size_t i = 0; i < num_variables(); i++) { x[i] = colvars[i]->actual_value(); y[i] = colvars[i]->value(); @@ -509,26 +571,60 @@ void colvarbias_abf::write_gradients_samples(const std::string &prefix, bool app cvm::proxy->output_stream(samples_out_name, mode); if (!samples_os) { cvm::error("Error opening ABF samples file " + samples_out_name + " for writing"); + return; } samples->write_multicol(*samples_os); cvm::proxy->close_output_stream(samples_out_name); + // In dimension higher than 2, dx is easier to handle and visualize + if (num_variables() > 2) { + std::string samples_dx_out_name = prefix + ".count.dx"; + std::ostream *samples_dx_os = cvm::proxy->output_stream(samples_dx_out_name, mode); + if (!samples_os) { + cvm::error("Error opening samples file " + samples_dx_out_name + " for writing"); + return; + } + samples->write_opendx(*samples_dx_os); + *samples_dx_os << std::endl; + cvm::proxy->close_output_stream(samples_dx_out_name); + } + std::ostream *gradients_os = cvm::proxy->output_stream(gradients_out_name, mode); if (!gradients_os) { cvm::error("Error opening ABF gradient file " + gradients_out_name + " for writing"); + return; } gradients->write_multicol(*gradients_os); cvm::proxy->close_output_stream(gradients_out_name); - if (colvars.size() == 1) { - // Do numerical integration and output a PMF + if (b_integrate) { + // Do numerical integration (to high precision) and output a PMF + cvm::real err; + pmf->integrate(integrate_initial_steps, integrate_initial_tol, err); + pmf->set_zero_minimum(); + std::string pmf_out_name = prefix + ".pmf"; std::ostream *pmf_os = cvm::proxy->output_stream(pmf_out_name, mode); if (!pmf_os) { cvm::error("Error opening pmf file " + pmf_out_name + " for writing"); + return; + } + pmf->write_multicol(*pmf_os); + + // In dimension higher than 2, dx is easier to handle and visualize + if (num_variables() > 2) { + std::string pmf_dx_out_name = prefix + ".pmf.dx"; + std::ostream *pmf_dx_os = cvm::proxy->output_stream(pmf_dx_out_name, mode); + if (!pmf_dx_os) { + cvm::error("Error opening pmf file " + pmf_dx_out_name + " for writing"); + return; + } + pmf->write_opendx(*pmf_dx_os); + *pmf_dx_os << std::endl; + cvm::proxy->close_output_stream(pmf_dx_out_name); } - gradients->write_1D_integral(*pmf_os); + *pmf_os << std::endl; cvm::proxy->close_output_stream(pmf_out_name); } @@ -542,6 +638,7 @@ void colvarbias_abf::write_gradients_samples(const std::string &prefix, bool app cvm::proxy->output_stream(z_samples_out_name, mode); if (!z_samples_os) { cvm::error("Error opening eABF z-histogram file " + z_samples_out_name + " for writing"); + return; } z_samples->write_multicol(*z_samples_os); cvm::proxy->close_output_stream(z_samples_out_name); @@ -553,6 +650,7 @@ void colvarbias_abf::write_gradients_samples(const std::string &prefix, bool app cvm::proxy->output_stream(z_gradients_out_name, mode); if (!z_gradients_os) { cvm::error("Error opening eABF z-gradient file " + z_gradients_out_name + " for writing"); + return; } z_gradients->write_multicol(*z_gradients_os); cvm::proxy->close_output_stream(z_gradients_out_name); @@ -563,8 +661,7 @@ void colvarbias_abf::write_gradients_samples(const std::string &prefix, bool app czar_gradients->index_ok(ix); czar_gradients->incr(ix)) { for (size_t n = 0; n < czar_gradients->multiplicity(); n++) { czar_gradients->set_value(ix, z_gradients->value_output(ix, n) - - cvm::temperature() * cvm::boltzmann() * z_samples->log_gradient_finite_diff(ix, n), - n); + - cvm::temperature() * cvm::boltzmann() * z_samples->log_gradient_finite_diff(ix, n), n); } } @@ -574,17 +671,39 @@ void colvarbias_abf::write_gradients_samples(const std::string &prefix, bool app cvm::proxy->output_stream(czar_gradients_out_name, mode); if (!czar_gradients_os) { cvm::error("Error opening CZAR gradient file " + czar_gradients_out_name + " for writing"); + return; } czar_gradients->write_multicol(*czar_gradients_os); cvm::proxy->close_output_stream(czar_gradients_out_name); - if (colvars.size() == 1) { - // Do numerical integration and output a PMF + if (b_integrate) { + // Do numerical integration (to high precision) and output a PMF + cvm::real err; + czar_pmf->set_div(); + czar_pmf->integrate(integrate_initial_steps, integrate_initial_tol, err); + czar_pmf->set_zero_minimum(); + std::string czar_pmf_out_name = prefix + ".czar.pmf"; - std::ostream *czar_pmf_os = - cvm::proxy->output_stream(czar_pmf_out_name, mode); - if (!czar_pmf_os) cvm::error("Error opening CZAR pmf file " + czar_pmf_out_name + " for writing"); - czar_gradients->write_1D_integral(*czar_pmf_os); + std::ostream *czar_pmf_os = cvm::proxy->output_stream(czar_pmf_out_name, mode); + if (!czar_pmf_os) { + cvm::error("Error opening CZAR pmf file " + czar_pmf_out_name + " for writing"); + return; + } + czar_pmf->write_multicol(*czar_pmf_os); + + // In dimension higher than 2, dx is easier to handle and visualize + if (num_variables() > 2) { + std::string czar_pmf_dx_out_name = prefix + ".czar.pmf.dx"; + std::ostream *czar_pmf_dx_os = cvm::proxy->output_stream(czar_pmf_dx_out_name, mode); + if (!czar_pmf_dx_os) { + cvm::error("Error opening CZAR pmf file " + czar_pmf_dx_out_name + " for writing"); + return; + } + czar_pmf->write_opendx(*czar_pmf_dx_os); + *czar_pmf_dx_os << std::endl; + cvm::proxy->close_output_stream(czar_pmf_dx_out_name); + } + *czar_pmf_os << std::endl; cvm::proxy->close_output_stream(czar_pmf_out_name); } @@ -708,6 +827,10 @@ std::istream & colvarbias_abf::read_state_data(std::istream& is) if (! gradients->read_raw(is)) { return is; } + if (b_integrate) { + // Update divergence to account for restart data + pmf->set_div(); + } if (b_CZAR_estimator) { diff --git a/lib/colvars/colvarbias_abf.h b/lib/colvars/colvarbias_abf.h index 1defe72268c487e82a536d2f5e441e1067897272..0260401292ecc40ee38c5fce3c282f359603591f 100644 --- a/lib/colvars/colvarbias_abf.h +++ b/lib/colvars/colvarbias_abf.h @@ -40,28 +40,44 @@ private: /// Base filename(s) for reading previous gradient data (replaces data from restart file) std::vector input_prefix; - bool update_bias; - bool hide_Jacobian; - size_t full_samples; - size_t min_samples; + bool update_bias; + bool hide_Jacobian; + bool b_integrate; + + size_t full_samples; + size_t min_samples; /// frequency for updating output files - int output_freq; + int output_freq; /// Write combined files with a history of all output data? - bool b_history_files; + bool b_history_files; /// Write CZAR output file for stratified eABF (.zgrad) - bool b_czar_window_file; - size_t history_freq; + bool b_czar_window_file; + size_t history_freq; /// Umbrella Integration estimator of free energy from eABF UIestimator::UIestimator eabf_UI; - // Run UI estimator? - bool b_UI_estimator; - // Run CZAR estimator? - bool b_CZAR_estimator; - - /// Cap applied biasing force? + /// Run UI estimator? + bool b_UI_estimator; + /// Run CZAR estimator? + bool b_CZAR_estimator; + + /// Frequency for updating pABF PMF (if zero, pABF is not used) + int pabf_freq; + /// Max number of CG iterations for integrating PMF at startup and for file output + int integrate_initial_steps; + /// Tolerance for integrating PMF at startup and for file output + cvm::real integrate_initial_tol; + /// Max number of CG iterations for integrating PMF at on-the-fly pABF updates + int integrate_steps; + /// Tolerance for integrating PMF at on-the-fly pABF updates + cvm::real integrate_tol; + + /// Cap the biasing force to be applied? bool cap_force; std::vector max_force; + // Frequency for updating 2D gradients + int integrate_freq; + // Internal data and methods std::vector bin, force_bin, z_bin; @@ -71,12 +87,16 @@ private: colvar_grid_gradient *gradients; /// n-dim grid of number of samples colvar_grid_count *samples; + /// n-dim grid of pmf (dimension 1 to 3) + integrate_potential *pmf; /// n-dim grid: average force on "real" coordinate for eABF z-based estimator colvar_grid_gradient *z_gradients; /// n-dim grid of number of samples on "real" coordinate for eABF z-based estimator colvar_grid_count *z_samples; /// n-dim grid contining CZAR estimator of "real" free energy gradients colvar_grid_gradient *czar_gradients; + /// n-dim grid of CZAR pmf (dimension 1 to 3) + integrate_potential *czar_pmf; inline int update_system_force(size_t i) { @@ -96,9 +116,9 @@ private: } // shared ABF - bool shared_on; - size_t shared_freq; - int shared_last_step; + bool shared_on; + size_t shared_freq; + int shared_last_step; // Share between replicas -- may be called independently of update virtual int replica_share(); @@ -114,12 +134,12 @@ private: //// Give the count at a given bin index. virtual int bin_count(int bin_index); - /// Write human-readable FE gradients and sample count - void write_gradients_samples(const std::string &prefix, bool append = false); - void write_last_gradients_samples(const std::string &prefix, bool append = false); + /// Write human-readable FE gradients and sample count, and DX file in dim > 2 + void write_gradients_samples(const std::string &prefix, bool append = false); + void write_last_gradients_samples(const std::string &prefix, bool append = false); /// Read human-readable FE gradients and sample count (if not using restart) - void read_gradients_samples(); + void read_gradients_samples(); std::istream& read_state_data(std::istream&); std::ostream& write_state_data(std::ostream&); diff --git a/lib/colvars/colvarbias_alb.cpp b/lib/colvars/colvarbias_alb.cpp index 124a15c5da3f7b59e1e1da4ef5d1d65dc0f60c67..187ecc363a9da559555b7eb296703167f1d26389 100644 --- a/lib/colvars/colvarbias_alb.cpp +++ b/lib/colvars/colvarbias_alb.cpp @@ -7,13 +7,11 @@ // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. -#include -#include -#include +#include #include "colvarmodule.h" -#include "colvarbias_alb.h" #include "colvarbias.h" +#include "colvarbias_alb.h" #ifdef _MSC_VER #if _MSC_VER <= 1700 @@ -45,22 +43,22 @@ int colvarbias_alb::init(std::string const &conf) size_t i; // get the initial restraint centers - colvar_centers.resize(colvars.size()); + colvar_centers.resize(num_variables()); - means.resize(colvars.size()); - ssd.resize(colvars.size()); //sum of squares of differences from mean + means.resize(num_variables()); + ssd.resize(num_variables()); //sum of squares of differences from mean //setup force vectors - max_coupling_range.resize(colvars.size()); - max_coupling_rate.resize(colvars.size()); - coupling_accum.resize(colvars.size()); - set_coupling.resize(colvars.size()); - current_coupling.resize(colvars.size()); - coupling_rate.resize(colvars.size()); + max_coupling_range.resize(num_variables()); + max_coupling_rate.resize(num_variables()); + coupling_accum.resize(num_variables()); + set_coupling.resize(num_variables()); + current_coupling.resize(num_variables()); + coupling_rate.resize(num_variables()); enable(f_cvb_apply_force); - for (i = 0; i < colvars.size(); i++) { + for (i = 0; i < num_variables(); i++) { colvar_centers[i].type(colvars[i]->value()); //zero moments means[i] = ssd[i] = 0; @@ -70,7 +68,7 @@ int colvarbias_alb::init(std::string const &conf) } if (get_keyval(conf, "centers", colvar_centers, colvar_centers)) { - for (i = 0; i < colvars.size(); i++) { + for (i = 0; i < num_variables(); i++) { colvar_centers[i].apply_constraints(); } } else { @@ -78,7 +76,7 @@ int colvarbias_alb::init(std::string const &conf) cvm::fatal_error("Error: must define the initial centers of adaptive linear bias .\n"); } - if (colvar_centers.size() != colvars.size()) + if (colvar_centers.size() != num_variables()) cvm::fatal_error("Error: number of centers does not match " "that of collective variables.\n"); @@ -100,17 +98,17 @@ int colvarbias_alb::init(std::string const &conf) //initial guess if (!get_keyval(conf, "forceConstant", set_coupling, set_coupling)) - for (i =0 ; i < colvars.size(); i++) + for (i =0 ; i < num_variables(); i++) set_coupling[i] = 0.; //how we're going to increase to that point - for (i = 0; i < colvars.size(); i++) + for (i = 0; i < num_variables(); i++) coupling_rate[i] = (set_coupling[i] - current_coupling[i]) / update_freq; if (!get_keyval(conf, "forceRange", max_coupling_range, max_coupling_range)) { //set to default - for (i = 0; i < colvars.size(); i++) { + for (i = 0; i < num_variables(); i++) { if (cvm::temperature() > 0) max_coupling_range[i] = 3 * cvm::temperature() * cvm::boltzmann(); else @@ -120,7 +118,7 @@ int colvarbias_alb::init(std::string const &conf) if (!get_keyval(conf, "rateMax", max_coupling_rate, max_coupling_rate)) { //set to default - for (i = 0; i < colvars.size(); i++) { + for (i = 0; i < num_variables(); i++) { max_coupling_rate[i] = max_coupling_range[i] / (10 * update_freq); } } @@ -151,7 +149,7 @@ int colvarbias_alb::update() // Force and energy calculation bool finished_equil_flag = 1; cvm::real delta; - for (size_t i = 0; i < colvars.size(); i++) { + for (size_t i = 0; i < num_variables(); i++) { colvar_forces[i] = -1.0 * restraint_force(restraint_convert_k(current_coupling[i], colvars[i]->width), colvars[i], colvar_centers[i]); @@ -168,7 +166,9 @@ int colvarbias_alb::update() } else { //check if we've reached the setpoint - if (coupling_rate[i] == 0 || pow(current_coupling[i] - set_coupling[i],2) < pow(coupling_rate[i],2)) { + cvm::real const coupling_diff = current_coupling[i] - set_coupling[i]; + if ((coupling_rate[i] == 0) || + ((coupling_diff*coupling_diff) < (coupling_rate[i]*coupling_rate[i]))) { finished_equil_flag &= 1; //we continue equilibrating as long as we haven't reached all the set points } else { @@ -209,7 +209,7 @@ int colvarbias_alb::update() cvm::real temp; //reset means and sum of squares of differences - for (size_t i = 0; i < colvars.size(); i++) { + for (size_t i = 0; i < num_variables(); i++) { temp = 2. * (means[i] / (static_cast (colvar_centers[i])) - 1) * ssd[i] / (update_calls - 1); @@ -222,7 +222,7 @@ int colvarbias_alb::update() ssd[i] = 0; //stochastic if we do that update or not - if (colvars.size() == 1 || rand() < RAND_MAX / ((int) colvars.size())) { + if (num_variables() == 1 || rand() < RAND_MAX / ((int) num_variables())) { coupling_accum[i] += step_size * step_size; current_coupling[i] = set_coupling[i]; set_coupling[i] += max_coupling_range[i] / sqrt(coupling_accum[i]) * step_size; @@ -284,37 +284,37 @@ std::string const colvarbias_alb::get_state_params() const std::ostringstream os; os << " setCoupling "; size_t i; - for (i = 0; i < colvars.size(); i++) { + for (i = 0; i < num_variables(); i++) { os << std::setprecision(cvm::en_prec) << std::setw(cvm::en_width) << set_coupling[i] << "\n"; } os << " currentCoupling "; - for (i = 0; i < colvars.size(); i++) { + for (i = 0; i < num_variables(); i++) { os << std::setprecision(cvm::en_prec) << std::setw(cvm::en_width) << current_coupling[i] << "\n"; } os << " maxCouplingRange "; - for (i = 0; i < colvars.size(); i++) { + for (i = 0; i < num_variables(); i++) { os << std::setprecision(cvm::en_prec) << std::setw(cvm::en_width) << max_coupling_range[i] << "\n"; } os << " couplingRate "; - for (i = 0; i < colvars.size(); i++) { + for (i = 0; i < num_variables(); i++) { os << std::setprecision(cvm::en_prec) << std::setw(cvm::en_width) << coupling_rate[i] << "\n"; } os << " couplingAccum "; - for (i = 0; i < colvars.size(); i++) { + for (i = 0; i < num_variables(); i++) { os << std::setprecision(cvm::en_prec) << std::setw(cvm::en_width) << coupling_accum[i] << "\n"; } os << " mean "; - for (i = 0; i < colvars.size(); i++) { + for (i = 0; i < num_variables(); i++) { os << std::setprecision(cvm::en_prec) << std::setw(cvm::en_width) << means[i] << "\n"; } os << " ssd "; - for (i = 0; i < colvars.size(); i++) { + for (i = 0; i < num_variables(); i++) { os << std::setprecision(cvm::en_prec) << std::setw(cvm::en_width) << ssd[i] << "\n"; } @@ -350,7 +350,7 @@ std::ostream & colvarbias_alb::write_traj_label(std::ostream &os) } if (b_output_centers) - for (size_t i = 0; i < colvars.size(); i++) { + for (size_t i = 0; i < num_variables(); i++) { size_t const this_cv_width = (colvars[i]->value()).output_width(cvm::cv_width); os << " x0_" << cvm::wrap_string(colvars[i]->name, this_cv_width-3); @@ -378,7 +378,7 @@ std::ostream & colvarbias_alb::write_traj(std::ostream &os) if (b_output_centers) - for (size_t i = 0; i < colvars.size(); i++) { + for (size_t i = 0; i < num_variables(); i++) { os << " " << std::setprecision(cvm::cv_prec) << std::setw(cvm::cv_width) << colvar_centers[i]; diff --git a/lib/colvars/colvarbias_histogram.cpp b/lib/colvars/colvarbias_histogram.cpp index 0722e6384dc7047e5f6eb0bdf0c623537cfaeb53..329b1d9dc08d918295f5ec89a0519a4a292168a0 100644 --- a/lib/colvars/colvarbias_histogram.cpp +++ b/lib/colvars/colvarbias_histogram.cpp @@ -8,10 +8,10 @@ // Colvars repository at GitHub. #include "colvarmodule.h" +#include "colvarproxy.h" #include "colvar.h" #include "colvarbias_histogram.h" -/// Histogram "bias" constructor colvarbias_histogram::colvarbias_histogram(char const *key) : colvarbias(key), @@ -44,7 +44,7 @@ int colvarbias_histogram::init(std::string const &conf) get_keyval(conf, "gatherVectorColvars", colvar_array, colvar_array); if (colvar_array) { - for (i = 0; i < colvars.size(); i++) { // should be all vector + for (i = 0; i < num_variables(); i++) { // should be all vector if (colvars[i]->value().type() != colvarvalue::type_vector) { cvm::error("Error: used gatherVectorColvars with non-vector colvar.\n", INPUT_ERROR); return INPUT_ERROR; @@ -63,7 +63,7 @@ int colvarbias_histogram::init(std::string const &conf) } } } else { - for (i = 0; i < colvars.size(); i++) { // should be all scalar + for (i = 0; i < num_variables(); i++) { // should be all scalar if (colvars[i]->value().type() != colvarvalue::type_scalar) { cvm::error("Error: only scalar colvars are supported when gatherVectorColvars is off.\n", INPUT_ERROR); return INPUT_ERROR; @@ -77,7 +77,7 @@ int colvarbias_histogram::init(std::string const &conf) get_keyval(conf, "weights", weights, weights); } - for (i = 0; i < colvars.size(); i++) { + for (i = 0; i < num_variables(); i++) { colvars[i]->enable(f_cv_grid); } @@ -116,7 +116,7 @@ int colvarbias_histogram::update() } // assign a valid bin size - bin.assign(colvars.size(), 0); + bin.assign(num_variables(), 0); if (out_name.size() == 0) { // At the first timestep, we need to assign out_name since @@ -137,7 +137,7 @@ int colvarbias_histogram::update() if (colvar_array_size == 0) { // update indices for scalar values size_t i; - for (i = 0; i < colvars.size(); i++) { + for (i = 0; i < num_variables(); i++) { bin[i] = grid->current_bin_scalar(i); } @@ -148,7 +148,7 @@ int colvarbias_histogram::update() // update indices for vector/array values size_t iv, i; for (iv = 0; iv < colvar_array_size; iv++) { - for (i = 0; i < colvars.size(); i++) { + for (i = 0; i < num_variables(); i++) { bin[i] = grid->current_bin_scalar(i, iv); } diff --git a/lib/colvars/colvarbias_meta.cpp b/lib/colvars/colvarbias_meta.cpp index b0d154dfc9ebf591f49b15ba517f4bcf7ba10317..f3ae3631a02f2478cb62a7f9a84e7535926501c4 100644 --- a/lib/colvars/colvarbias_meta.cpp +++ b/lib/colvars/colvarbias_meta.cpp @@ -27,7 +27,8 @@ #define PATHSEP "/" #endif - +#include "colvarmodule.h" +#include "colvarproxy.h" #include "colvar.h" #include "colvarbias_meta.h" diff --git a/lib/colvars/colvarbias_restraint.cpp b/lib/colvars/colvarbias_restraint.cpp index 23534f56eb43c1cd0a2e257ed8581449026d0c8f..4ed1a95f942fe664d336b7dfb170f1ea1c3a62a8 100644 --- a/lib/colvars/colvarbias_restraint.cpp +++ b/lib/colvars/colvarbias_restraint.cpp @@ -7,7 +7,10 @@ // If you wish to distribute your changes, please submit them to the // Colvars repository at GitHub. +#include + #include "colvarmodule.h" +#include "colvarproxy.h" #include "colvarvalue.h" #include "colvarbias_restraint.h" @@ -150,13 +153,14 @@ colvarbias_restraint_k::colvarbias_restraint_k(char const *key) : colvarbias(key), colvarbias_ti(key), colvarbias_restraint(key) { force_k = -1.0; + check_positive_k = true; } int colvarbias_restraint_k::init(std::string const &conf) { get_keyval(conf, "forceConstant", force_k, (force_k > 0.0 ? force_k : 1.0)); - if (force_k < 0.0) { + if (check_positive_k && (force_k < 0.0)) { cvm::error("Error: undefined or invalid force constant.\n", INPUT_ERROR); return INPUT_ERROR; } @@ -177,6 +181,7 @@ colvarbias_restraint_moving::colvarbias_restraint_moving(char const *key) target_nstages = 0; target_nsteps = 0; stage = 0; + acc_work = 0.0; b_chg_centers = false; b_chg_force_k = false; } @@ -203,6 +208,14 @@ int colvarbias_restraint_moving::init(std::string const &conf) cvm::error("Error: targetNumStages and lambdaSchedule are incompatible.\n", INPUT_ERROR); return cvm::get_error(); } + + get_keyval_feature(this, conf, "outputAccumulatedWork", + f_cvb_output_acc_work, + is_enabled(f_cvb_output_acc_work)); + if (is_enabled(f_cvb_output_acc_work) && (target_nstages > 0)) { + return cvm::error("Error: outputAccumulatedWork and targetNumStages " + "are incompatible.\n", INPUT_ERROR); + } } return COLVARS_OK; @@ -246,8 +259,6 @@ colvarbias_restraint_centers_moving::colvarbias_restraint_centers_moving(char co { b_chg_centers = false; b_output_centers = false; - b_output_acc_work = false; - acc_work = 0.0; } @@ -288,9 +299,6 @@ int colvarbias_restraint_centers_moving::init(std::string const &conf) 0.5); } - get_keyval(conf, "outputAccumulatedWork", b_output_acc_work, - b_output_acc_work); // TODO this conflicts with stages - } else { target_centers.clear(); } @@ -382,12 +390,14 @@ int colvarbias_restraint_centers_moving::update() int colvarbias_restraint_centers_moving::update_acc_work() { - if (b_output_acc_work) { - if ((cvm::step_relative() > 0) && - (cvm::step_absolute() <= target_nsteps)) { - for (size_t i = 0; i < num_variables(); i++) { - // project forces on the calculated increments at this step - acc_work += colvar_forces[i] * centers_incr[i]; + if (b_chg_centers) { + if (is_enabled(f_cvb_output_acc_work)) { + if ((cvm::step_relative() > 0) && + (cvm::step_absolute() <= target_nsteps)) { + for (size_t i = 0; i < num_variables(); i++) { + // project forces on the calculated increments at this step + acc_work += colvar_forces[i] * centers_incr[i]; + } } } } @@ -410,7 +420,7 @@ std::string const colvarbias_restraint_centers_moving::get_state_params() const } os << "\n"; - if (b_output_acc_work) { + if (is_enabled(f_cvb_output_acc_work)) { os << "accumulatedWork " << std::setprecision(cvm::en_prec) << std::setw(cvm::en_width) << acc_work << "\n"; @@ -429,7 +439,7 @@ int colvarbias_restraint_centers_moving::set_state_params(std::string const &con // cvm::log ("Reading the updated restraint centers from the restart.\n"); if (!get_keyval(conf, "centers", colvar_centers)) cvm::error("Error: restraint centers are missing from the restart.\n"); - if (b_output_acc_work) { + if (is_enabled(f_cvb_output_acc_work)) { if (!get_keyval(conf, "accumulatedWork", acc_work)) cvm::error("Error: accumulatedWork is missing from the restart.\n"); } @@ -449,7 +459,7 @@ std::ostream & colvarbias_restraint_centers_moving::write_traj_label(std::ostrea } } - if (b_output_acc_work) { + if (b_chg_centers && is_enabled(f_cvb_output_acc_work)) { os << " W_" << cvm::wrap_string(this->name, cvm::en_width-2); } @@ -468,7 +478,7 @@ std::ostream & colvarbias_restraint_centers_moving::write_traj(std::ostream &os) } } - if (b_output_acc_work) { + if (b_chg_centers && is_enabled(f_cvb_output_acc_work)) { os << " " << std::setprecision(cvm::en_prec) << std::setw(cvm::en_width) << acc_work; @@ -488,10 +498,11 @@ colvarbias_restraint_k_moving::colvarbias_restraint_k_moving(char const *key) { b_chg_force_k = false; target_equil_steps = 0; - target_force_k = 0.0; - starting_force_k = 0.0; + target_force_k = -1.0; + starting_force_k = -1.0; force_k_exp = 1.0; restraint_FE = 0.0; + force_k_incr = 0.0; } @@ -569,14 +580,13 @@ int colvarbias_restraint_k_moving::update() if (target_equil_steps == 0 || cvm::step_absolute() % target_nsteps >= target_equil_steps) { // Start averaging after equilibration period, if requested - // Square distance normalized by square colvar width - cvm::real dist_sq = 0.0; + // Derivative of energy with respect to force_k + cvm::real dU_dk = 0.0; for (size_t i = 0; i < num_variables(); i++) { - dist_sq += d_restraint_potential_dk(i); + dU_dk += d_restraint_potential_dk(i); } - - restraint_FE += 0.5 * force_k_exp * std::pow(lambda, force_k_exp - 1.0) - * (target_force_k - starting_force_k) * dist_sq; + restraint_FE += force_k_exp * std::pow(lambda, force_k_exp - 1.0) + * (target_force_k - starting_force_k) * dU_dk; } // Finish current stage... @@ -607,10 +617,13 @@ int colvarbias_restraint_k_moving::update() } else if (cvm::step_absolute() <= target_nsteps) { + // update force constant (slow growth) lambda = cvm::real(cvm::step_absolute()) / cvm::real(target_nsteps); + cvm::real const force_k_old = force_k; force_k = starting_force_k + (target_force_k - starting_force_k) * std::pow(lambda, force_k_exp); + force_k_incr = force_k - force_k_old; } } @@ -618,6 +631,23 @@ int colvarbias_restraint_k_moving::update() } +int colvarbias_restraint_k_moving::update_acc_work() +{ + if (b_chg_force_k) { + if (is_enabled(f_cvb_output_acc_work)) { + if (cvm::step_relative() > 0) { + cvm::real dU_dk = 0.0; + for (size_t i = 0; i < num_variables(); i++) { + dU_dk += d_restraint_potential_dk(i); + } + acc_work += dU_dk * force_k_incr; + } + } + } + return COLVARS_OK; +} + + std::string const colvarbias_restraint_k_moving::get_state_params() const { std::ostringstream os; @@ -626,6 +656,12 @@ std::string const colvarbias_restraint_k_moving::get_state_params() const os << "forceConstant " << std::setprecision(cvm::en_prec) << std::setw(cvm::en_width) << force_k << "\n"; + + if (is_enabled(f_cvb_output_acc_work)) { + os << "accumulatedWork " + << std::setprecision(cvm::en_prec) << std::setw(cvm::en_width) + << acc_work << "\n"; + } } return os.str(); } @@ -639,6 +675,10 @@ int colvarbias_restraint_k_moving::set_state_params(std::string const &conf) // cvm::log ("Reading the updated force constant from the restart.\n"); if (!get_keyval(conf, "forceConstant", force_k, force_k)) cvm::error("Error: force constant is missing from the restart.\n"); + if (is_enabled(f_cvb_output_acc_work)) { + if (!get_keyval(conf, "accumulatedWork", acc_work)) + cvm::error("Error: accumulatedWork is missing from the restart.\n"); + } } return COLVARS_OK; @@ -647,12 +687,21 @@ int colvarbias_restraint_k_moving::set_state_params(std::string const &conf) std::ostream & colvarbias_restraint_k_moving::write_traj_label(std::ostream &os) { + if (b_chg_force_k && is_enabled(f_cvb_output_acc_work)) { + os << " W_" + << cvm::wrap_string(this->name, cvm::en_width-2); + } return os; } std::ostream & colvarbias_restraint_k_moving::write_traj(std::ostream &os) { + if (b_chg_force_k && is_enabled(f_cvb_output_acc_work)) { + os << " " + << std::setprecision(cvm::en_prec) << std::setw(cvm::en_width) + << acc_work; + } return os; } @@ -765,6 +814,7 @@ int colvarbias_restraint_harmonic::update() // update accumulated work using the current forces error_code |= colvarbias_restraint_centers_moving::update_acc_work(); + error_code |= colvarbias_restraint_k_moving::update_acc_work(); return error_code; } @@ -876,8 +926,8 @@ colvarbias_restraint_harmonic_walls::colvarbias_restraint_harmonic_walls(char co colvarbias_restraint_moving(key), colvarbias_restraint_k_moving(key) { - lower_wall_k = 0.0; - upper_wall_k = 0.0; + lower_wall_k = -1.0; + upper_wall_k = -1.0; } @@ -887,26 +937,6 @@ int colvarbias_restraint_harmonic_walls::init(std::string const &conf) colvarbias_restraint_moving::init(conf); colvarbias_restraint_k_moving::init(conf); - get_keyval(conf, "lowerWallConstant", lower_wall_k, - (lower_wall_k > 0.0) ? lower_wall_k : force_k); - get_keyval(conf, "upperWallConstant", upper_wall_k, - (upper_wall_k > 0.0) ? upper_wall_k : force_k); - - if (lower_wall_k * upper_wall_k > 0.0) { - for (size_t i = 0; i < num_variables(); i++) { - if (variables(i)->width != 1.0) - cvm::log("The lower and upper wall force constants for colvar \""+ - variables(i)->name+ - "\" will be rescaled to "+ - cvm::to_str(lower_wall_k / - (variables(i)->width * variables(i)->width))+ - " and "+ - cvm::to_str(upper_wall_k / - (variables(i)->width * variables(i)->width))+ - " according to the specified width.\n"); - } - } - enable(f_cvb_scalar_variables); size_t i; @@ -942,16 +972,23 @@ int colvarbias_restraint_harmonic_walls::init(std::string const &conf) } if ((lower_walls.size() == 0) && (upper_walls.size() == 0)) { - cvm::error("Error: no walls provided.\n", INPUT_ERROR); - return INPUT_ERROR; + return cvm::error("Error: no walls provided.\n", INPUT_ERROR); + } + + if (lower_walls.size() > 0) { + get_keyval(conf, "lowerWallConstant", lower_wall_k, + (lower_wall_k > 0.0) ? lower_wall_k : force_k); + } + if (upper_walls.size() > 0) { + get_keyval(conf, "upperWallConstant", upper_wall_k, + (upper_wall_k > 0.0) ? upper_wall_k : force_k); } if ((lower_walls.size() == 0) || (upper_walls.size() == 0)) { for (i = 0; i < num_variables(); i++) { if (variables(i)->is_enabled(f_cv_periodic)) { - cvm::error("Error: at least one variable is periodic, " - "both walls must be provided.\n", INPUT_ERROR); - return INPUT_ERROR; + return cvm::error("Error: at least one variable is periodic, " + "both walls must be provided.\n", INPUT_ERROR); } } } @@ -972,19 +1009,49 @@ int colvarbias_restraint_harmonic_walls::init(std::string const &conf) INPUT_ERROR); return INPUT_ERROR; } - force_k = lower_wall_k * upper_wall_k; - // transform the two constants to relative values + force_k = std::sqrt(lower_wall_k * upper_wall_k); + // transform the two constants to relative values using gemetric mean as ref + // to preserve force_k if provided as single parameter // (allow changing both via force_k) lower_wall_k /= force_k; upper_wall_k /= force_k; + } else { + // If only one wall is defined, need to rescale as well + if (lower_walls.size() > 0) { + force_k = lower_wall_k; + lower_wall_k = 1.0; + } + if (upper_walls.size() > 0) { + force_k = upper_wall_k; + upper_wall_k = 1.0; + } } - for (i = 0; i < num_variables(); i++) { - if (variables(i)->width != 1.0) - cvm::log("The force constant for colvar \""+variables(i)->name+ - "\" will be rescaled to "+ - cvm::to_str(force_k / (variables(i)->width * variables(i)->width))+ - " according to the specified width.\n"); + // Initialize starting value of the force constant (in case it's changing) + starting_force_k = force_k; + + if (lower_walls.size() > 0) { + for (i = 0; i < num_variables(); i++) { + if (variables(i)->width != 1.0) + cvm::log("The lower wall force constant for colvar \""+ + variables(i)->name+ + "\" will be rescaled to "+ + cvm::to_str(lower_wall_k * force_k / + (variables(i)->width * variables(i)->width))+ + " according to the specified width.\n"); + } + } + + if (upper_walls.size() > 0) { + for (i = 0; i < num_variables(); i++) { + if (variables(i)->width != 1.0) + cvm::log("The upper wall force constant for colvar \""+ + variables(i)->name+ + "\" will be rescaled to "+ + cvm::to_str(upper_wall_k * force_k / + (variables(i)->width * variables(i)->width))+ + " according to the specified width.\n"); + } } return COLVARS_OK; @@ -1001,6 +1068,8 @@ int colvarbias_restraint_harmonic_walls::update() error_code |= colvarbias_restraint::update(); + error_code |= colvarbias_restraint_k_moving::update_acc_work(); + return error_code; } @@ -1134,6 +1203,7 @@ colvarbias_restraint_linear::colvarbias_restraint_linear(char const *key) colvarbias_restraint_centers_moving(key), colvarbias_restraint_k_moving(key) { + check_positive_k = false; } @@ -1177,6 +1247,7 @@ int colvarbias_restraint_linear::update() // update accumulated work using the current forces error_code |= colvarbias_restraint_centers_moving::update_acc_work(); + error_code |= colvarbias_restraint_k_moving::update_acc_work(); return error_code; } diff --git a/lib/colvars/colvarbias_restraint.h b/lib/colvars/colvarbias_restraint.h index b10649cab112f8a10bfedaff0c10823cc7a43f04..3ee999c2624cfe0cfd9997a2ae096106631444ec 100644 --- a/lib/colvars/colvarbias_restraint.h +++ b/lib/colvars/colvarbias_restraint.h @@ -89,8 +89,12 @@ public: virtual int change_configuration(std::string const &conf); protected: + /// \brief Restraint force constant cvm::real force_k; + + /// \brief Whether the force constant should be positive + bool check_positive_k; }; @@ -129,6 +133,9 @@ protected: /// \brief Number of steps required to reach the target force constant /// or restraint centers long target_nsteps; + + /// \brief Accumulated work (computed when outputAccumulatedWork == true) + cvm::real acc_work; }; @@ -157,8 +164,7 @@ protected: /// \brief Initial value of the restraint centers std::vector initial_centers; - /// \brief Amplitude of the restraint centers' increment at each step - /// towards the new values (calculated from target_nsteps) + /// \brief Increment of the restraint centers at each step std::vector centers_incr; /// \brief Update the centers by interpolating between initial and target @@ -167,12 +173,6 @@ protected: /// Whether to write the current restraint centers to the trajectory file bool b_output_centers; - /// Whether to write the current accumulated work to the trajectory file - bool b_output_acc_work; - - /// \brief Accumulated work - cvm::real acc_work; - /// Update the accumulated work int update_acc_work(); }; @@ -212,6 +212,12 @@ protected: /// \brief Equilibration steps for restraint FE calculation through TI cvm::real target_equil_steps; + + /// \brief Increment of the force constant at each step + cvm::real force_k_incr; + + /// Update the accumulated work + int update_acc_work(); }; diff --git a/lib/colvars/colvarcomp.h b/lib/colvars/colvarcomp.h index b94d798be9f0a3cd49abc27bb8cdaf41f88e8c87..52078a3a3059cb91315ac9f52e62b2f06e1e55f3 100644 --- a/lib/colvars/colvarcomp.h +++ b/lib/colvars/colvarcomp.h @@ -20,52 +20,48 @@ // simple_scalar_dist_functions (derived_class) -#include -#include - - #include "colvarmodule.h" #include "colvar.h" #include "colvaratoms.h" -/// \brief Colvar component (base class); most implementations of -/// \link cvc \endlink utilize one or more \link -/// colvarmodule::atom \endlink or \link colvarmodule::atom_group -/// \endlink objects to access atoms. +/// \brief Colvar component (base class for collective variables) /// /// A \link cvc \endlink object (or an object of a -/// cvc-derived class) specifies how to calculate a collective -/// variable, its gradients and other related physical quantities -/// which do not depend only on the numeric value (the \link colvar -/// \endlink class already serves this purpose). +/// cvc-derived class) implements the calculation of a collective +/// variable, its gradients and any other related physical quantities +/// that depend on microscopic degrees of freedom. +/// +/// No restriction is set to what kind of calculation a \link cvc \endlink +/// object performs (usually an analytical function of atomic coordinates). +/// The only constraints are that: \par /// -/// No restriction is set to what kind of calculation a \link -/// cvc \endlink object performs (usually calculate an -/// analytical function of atomic coordinates). The only constraint -/// is that the value calculated is implemented as a \link colvarvalue -/// \endlink object. This serves to provide a unique way to calculate -/// scalar and non-scalar collective variables, and specify if and how -/// they can be combined together by the parent \link colvar \endlink -/// object. +/// - The value is calculated by the \link calc_value() \endlink +/// method, and is an object of \link colvarvalue \endlink class. This +/// provides a transparent way to treat scalar and non-scalar variables +/// alike, and allows an automatic selection of the applicable algorithms. +/// +/// - The object provides an implementation \link apply_force() \endlink to +/// apply forces to atoms. Typically, one or more \link cvm::atom_group +/// \endlink objects are used, but this is not a requirement for as long as +/// the \link cvc \endlink object communicates with the simulation program. /// /// If you wish to implement a new collective variable component, you /// should write your own class by inheriting directly from \link -/// cvc \endlink, or one of its derived classes (for instance, -/// \link distance \endlink is frequently used, because it provides +/// colvar::cvc \endlink, or one of its derived classes (for instance, +/// \link colvar::distance \endlink is frequently used, because it provides /// useful data and function members for any colvar based on two -/// atom groups). The steps are: \par -/// 1. add the name of this class under colvar.h \par -/// 2. add a call to the parser in colvar.C, within the function colvar::colvar() \par -/// 3. declare the class in colvarcomp.h \par -/// 4. implement the class in one of the files colvarcomp_*.C +/// atom groups). +/// +/// The steps are: \par +/// 1. Declare the new class as a derivative of \link colvar::cvc \endlink +/// in the file \link colvarcomp.h \endlink +/// 2. Implement the new class in a file named colvarcomp_.cpp +/// 3. Declare the name of the new class inside the \link colvar \endlink class +/// in \link colvar.h \endlink (see "list of available components") +/// 4. Add a call for the new class in colvar::init_components() +//// (file: colvar.cpp) /// -/// -/// The cvm::atom and cvm::atom_group classes are available to -/// transparently communicate with the simulation program. However, -/// they are not strictly needed, as long as all the degrees of -/// freedom associated to the cvc are properly evolved by a simple -/// call to e.g. apply_force(). class colvar::cvc : public colvarparse, public colvardeps @@ -155,7 +151,7 @@ public: /// \brief Calculate the atomic gradients, to be reused later in /// order to apply forces - virtual void calc_gradients() = 0; + virtual void calc_gradients() {} /// \brief Calculate the atomic fit gradients void calc_fit_gradients(); diff --git a/lib/colvars/colvarcomp_distances.cpp b/lib/colvars/colvarcomp_distances.cpp index ce8055843f93d389117f38926e81d97c66bc7954..9911f4c87edef9c17605403f21a0ffc1a45826e9 100644 --- a/lib/colvars/colvarcomp_distances.cpp +++ b/lib/colvars/colvarcomp_distances.cpp @@ -581,6 +581,12 @@ colvar::distance_inv::distance_inv(std::string const &conf) } } + if (is_enabled(f_cvc_debug_gradient)) { + cvm::log("Warning: debugGradients will not give correct results " + "for distanceInv, because its value and gradients are computed " + "simultaneously.\n"); + } + x.type(colvarvalue::type_scalar); } @@ -601,11 +607,9 @@ void colvar::distance_inv::calc_value() for (cvm::atom_iter ai2 = group2->begin(); ai2 != group2->end(); ai2++) { cvm::rvector const dv = ai2->pos - ai1->pos; cvm::real const d2 = dv.norm2(); - cvm::real dinv = 1.0; - for (int ne = 0; ne < exponent/2; ne++) - dinv *= 1.0/d2; + cvm::real const dinv = cvm::integer_power(d2, -1*(exponent/2)); x.real_value += dinv; - cvm::rvector const dsumddv = -(cvm::real(exponent)) * dinv/d2 * dv; + cvm::rvector const dsumddv = -1.0*(exponent/2) * dinv/d2 * 2.0 * dv; ai1->grad += -1.0 * dsumddv; ai2->grad += dsumddv; } @@ -615,11 +619,9 @@ void colvar::distance_inv::calc_value() for (cvm::atom_iter ai2 = group2->begin(); ai2 != group2->end(); ai2++) { cvm::rvector const dv = cvm::position_distance(ai1->pos, ai2->pos); cvm::real const d2 = dv.norm2(); - cvm::real dinv = 1.0; - for (int ne = 0; ne < exponent/2; ne++) - dinv *= 1.0/d2; + cvm::real const dinv = cvm::integer_power(d2, -1*(exponent/2)); x.real_value += dinv; - cvm::rvector const dsumddv = -(cvm::real(exponent)) * dinv/d2 * dv; + cvm::rvector const dsumddv = -1.0*(exponent/2) * dinv/d2 * 2.0 * dv; ai1->grad += -1.0 * dsumddv; ai2->grad += dsumddv; } @@ -627,13 +629,11 @@ void colvar::distance_inv::calc_value() } x.real_value *= 1.0 / cvm::real(group1->size() * group2->size()); - x.real_value = std::pow(x.real_value, -1.0/(cvm::real(exponent))); -} + x.real_value = std::pow(x.real_value, -1.0/cvm::real(exponent)); - -void colvar::distance_inv::calc_gradients() -{ - cvm::real const dxdsum = (-1.0/(cvm::real(exponent))) * std::pow(x.real_value, exponent+1) / cvm::real(group1->size() * group2->size()); + cvm::real const dxdsum = (-1.0/(cvm::real(exponent))) * + cvm::integer_power(x.real_value, exponent+1) / + cvm::real(group1->size() * group2->size()); for (cvm::atom_iter ai1 = group1->begin(); ai1 != group1->end(); ai1++) { ai1->grad *= dxdsum; } @@ -643,6 +643,11 @@ void colvar::distance_inv::calc_gradients() } +void colvar::distance_inv::calc_gradients() +{ +} + + void colvar::distance_inv::apply_force(colvarvalue const &force) { if (!group1->noforce) diff --git a/lib/colvars/colvardeps.cpp b/lib/colvars/colvardeps.cpp index ac906e7be755fc382d1cb383730522da38860092..a058ad55c2a4911324c9cd07b4ea7bb1e1afb147 100644 --- a/lib/colvars/colvardeps.cpp +++ b/lib/colvars/colvardeps.cpp @@ -8,10 +8,16 @@ // Colvars repository at GitHub. +#include "colvarmodule.h" +#include "colvarproxy.h" #include "colvardeps.h" + colvardeps::colvardeps() - : time_step_factor (1) {} +{ + time_step_factor = 1; +} + colvardeps::~colvardeps() { size_t i; @@ -416,6 +422,9 @@ void colvardeps::init_cvb_requires() { init_feature(f_cvb_get_total_force, "obtain total force", f_type_dynamic); f_req_children(f_cvb_get_total_force, f_cv_total_force); + init_feature(f_cvb_output_acc_work, "output accumulated work", f_type_user); + f_req_self(f_cvb_output_acc_work, f_cvb_apply_force); + init_feature(f_cvb_history_dependent, "history-dependent", f_type_static); init_feature(f_cvb_time_dependent, "time-dependent", f_type_static); diff --git a/lib/colvars/colvardeps.h b/lib/colvars/colvardeps.h index bd892fbca8cef746bb4dfad818b1e4577507a735..940eefb01b1a83c5793f9f7f5de68229b7bfe0ad 100644 --- a/lib/colvars/colvardeps.h +++ b/lib/colvars/colvardeps.h @@ -225,6 +225,8 @@ public: f_cvb_apply_force, /// \brief requires total forces f_cvb_get_total_force, + /// \brief whether this bias should record the accumulated work + f_cvb_output_acc_work, /// \brief depends on simulation history f_cvb_history_dependent, /// \brief depends on time diff --git a/lib/colvars/colvargrid.cpp b/lib/colvars/colvargrid.cpp index 9016e2c23a0ce573f8711075ee6ecd93b694aa5c..1ac4aae133c3a225aa8d4a8bb2dbdd1c3ac381cb 100644 --- a/lib/colvars/colvargrid.cpp +++ b/lib/colvars/colvargrid.cpp @@ -14,6 +14,7 @@ #include "colvarcomp.h" #include "colvargrid.h" +#include colvar_grid_count::colvar_grid_count() : colvar_grid() @@ -22,43 +23,37 @@ colvar_grid_count::colvar_grid_count() } colvar_grid_count::colvar_grid_count(std::vector const &nx_i, - size_t const &def_count) + size_t const &def_count) : colvar_grid(nx_i, def_count, 1) {} colvar_grid_count::colvar_grid_count(std::vector &colvars, - size_t const &def_count) - : colvar_grid(colvars, def_count, 1) + size_t const &def_count, + bool margin) + : colvar_grid(colvars, def_count, 1, margin) {} colvar_grid_scalar::colvar_grid_scalar() - : colvar_grid(), samples(NULL), grad(NULL) + : colvar_grid(), samples(NULL) {} colvar_grid_scalar::colvar_grid_scalar(colvar_grid_scalar const &g) - : colvar_grid(g), samples(NULL), grad(NULL) + : colvar_grid(g), samples(NULL) { - grad = new cvm::real[nd]; } colvar_grid_scalar::colvar_grid_scalar(std::vector const &nx_i) - : colvar_grid(nx_i, 0.0, 1), samples(NULL), grad(NULL) + : colvar_grid(nx_i, 0.0, 1), samples(NULL) { - grad = new cvm::real[nd]; } colvar_grid_scalar::colvar_grid_scalar(std::vector &colvars, bool margin) - : colvar_grid(colvars, 0.0, 1, margin), samples(NULL), grad(NULL) + : colvar_grid(colvars, 0.0, 1, margin), samples(NULL) { - grad = new cvm::real[nd]; } colvar_grid_scalar::~colvar_grid_scalar() { - if (grad) { - delete [] grad; - grad = NULL; - } } cvm::real colvar_grid_scalar::maximum_value() const @@ -143,18 +138,18 @@ void colvar_grid_gradient::write_1D_integral(std::ostream &os) os << "# xi A(xi)\n"; - if ( cv.size() != 1 ) { + if (cv.size() != 1) { cvm::error("Cannot write integral for multi-dimensional gradient grids."); return; } integral = 0.0; - int_vals.push_back( 0.0 ); + int_vals.push_back(0.0); min = 0.0; // correction for periodic colvars, so that the PMF is periodic cvm::real corr; - if ( periodic[0] ) { + if (periodic[0]) { corr = average(); } else { corr = 0.0; @@ -171,7 +166,7 @@ void colvar_grid_gradient::write_1D_integral(std::ostream &os) } if ( integral < min ) min = integral; - int_vals.push_back( integral ); + int_vals.push_back(integral); } bin = 0.0; @@ -192,3 +187,670 @@ void colvar_grid_gradient::write_1D_integral(std::ostream &os) +integrate_potential::integrate_potential(std::vector &colvars, colvar_grid_gradient * gradients) + : colvar_grid_scalar(colvars, true), + gradients(gradients) +{ + // parent class colvar_grid_scalar is constructed with margin option set to true + // hence PMF grid is wider than gradient grid if non-PBC + + if (nd > 1) { + divergence.resize(nt); + + // Compute inverse of Laplacian diagonal for Jacobi preconditioning + // For now all code related to preconditioning is commented out + // until a method better than Jacobi is implemented +// cvm::log("Preparing inverse diagonal for preconditioning..."); +// inv_lap_diag.resize(nt); +// std::vector id(nt), lap_col(nt); +// for (int i = 0; i < nt; i++) { +// if (i % (nt / 100) == 0) +// cvm::log(cvm::to_str(i)); +// id[i] = 1.; +// atimes(id, lap_col); +// id[i] = 0.; +// inv_lap_diag[i] = 1. / lap_col[i]; +// } +// cvm::log("Done."); + } +} + + +int integrate_potential::integrate(const int itmax, const cvm::real &tol, cvm::real & err) +{ + int iter = 0; + + if (nd == 1) { + + cvm::real sum = 0.0; + cvm::real corr; + if ( periodic[0] ) { + corr = gradients->average(); // Enforce PBC by subtracting average gradient + } else { + corr = 0.0; + } + + std::vector ix; + // Iterate over valid indices in gradient grid + for (ix = new_index(); gradients->index_ok(ix); incr(ix)) { + set_value(ix, sum); + sum += (gradients->value_output(ix) - corr) * widths[0]; + } + if (index_ok(ix)) { + // This will happen if non-periodic: then PMF grid has one extra bin wrt gradient grid + set_value(ix, sum); + } + + } else if (nd <= 3) { + + nr_linbcg_sym(divergence, data, tol, itmax, iter, err); + cvm::log("Integrated in " + cvm::to_str(iter) + " steps, error: " + cvm::to_str(err)); + + } else { + cvm::error("Cannot integrate PMF in dimension > 3\n"); + } + + return iter; +} + + +void integrate_potential::set_div() +{ + if (nd == 1) return; + for (std::vector ix = new_index(); index_ok(ix); incr(ix)) { + update_div_local(ix); + } +} + + +void integrate_potential::update_div_neighbors(const std::vector &ix0) +{ + std::vector ix(ix0); + int i, j, k; + + // If not periodic, expanded grid ensures that neighbors of ix0 are valid grid points + if (nd == 1) { + return; + + } else if (nd == 2) { + + update_div_local(ix); + ix[0]++; wrap(ix); + update_div_local(ix); + ix[1]++; wrap(ix); + update_div_local(ix); + ix[0]--; wrap(ix); + update_div_local(ix); + + } else if (nd == 3) { + + for (i = 0; i<2; i++) { + ix[1] = ix0[1]; + for (j = 0; j<2; j++) { + ix[2] = ix0[2]; + for (k = 0; k<2; k++) { + wrap(ix); + update_div_local(ix); + ix[2]++; + } + ix[1]++; + } + ix[0]++; + } + } +} + +void integrate_potential::get_grad(cvm::real * g, std::vector &ix) +{ + size_t count, i; + bool edge = gradients->wrap_edge(ix); // Detect edge if non-PBC + + if (gradients->samples) { + count = gradients->samples->value(ix); + } else { + count = 1; + } + + if (!edge && count) { + cvm::real const *grad = &(gradients->value(ix)); + cvm::real const fact = 1.0 / count; + for ( i = 0; i &ix0) +{ + const int linear_index = address(ix0); + int i, j, k; + std::vector ix = ix0; + const cvm::real * g; + + if (nd == 2) { + // gradients at grid points surrounding the current scalar grid point + cvm::real g00[2], g01[2], g10[2], g11[2]; + + get_grad(g11, ix); + ix[0] = ix0[0] - 1; + get_grad(g01, ix); + ix[1] = ix0[1] - 1; + get_grad(g00, ix); + ix[0] = ix0[0]; + get_grad(g10, ix); + + divergence[linear_index] = ((g10[0]-g00[0] + g11[0]-g01[0]) / widths[0] + + (g01[1]-g00[1] + g11[1]-g10[1]) / widths[1]) * 0.5; + } else if (nd == 3) { + cvm::real gc[24]; // stores 3d gradients in 8 contiguous bins + int index = 0; + + ix[0] = ix0[0] - 1; + for (i = 0; i<2; i++) { + ix[1] = ix0[1] - 1; + for (j = 0; j<2; j++) { + ix[2] = ix0[2] - 1; + for (k = 0; k<2; k++) { + get_grad(gc + index, ix); + index += 3; + ix[2]++; + } + ix[1]++; + } + ix[0]++; + } + + divergence[linear_index] = + ((gc[3*4]-gc[0] + gc[3*5]-gc[3*1] + gc[3*6]-gc[3*2] + gc[3*7]-gc[3*3]) + / widths[0] + + (gc[3*2+1]-gc[0+1] + gc[3*3+1]-gc[3*1+1] + gc[3*6+1]-gc[3*4+1] + gc[3*7+1]-gc[3*5+1]) + / widths[1] + + (gc[3*1+2]-gc[0+2] + gc[3*3+2]-gc[3*2+2] + gc[3*5+2]-gc[3*4+2] + gc[3*7+2]-gc[3*6+2]) + / widths[2]) * 0.25; + } +} + + +/// Multiplication by sparse matrix representing Laplacian +/// NOTE: Laplacian must be symmetric for solving with CG +void integrate_potential::atimes(const std::vector &A, std::vector &LA) +{ + if (nd == 2) { + // DIMENSION 2 + + size_t index, index2; + int i, j; + cvm::real fact; + const cvm::real ffx = 1.0 / (widths[0] * widths[0]); + const cvm::real ffy = 1.0 / (widths[1] * widths[1]); + const int h = nx[1]; + const int w = nx[0]; + // offsets for 4 reference points of the Laplacian stencil + int xm = -h; + int xp = h; + int ym = -1; + int yp = 1; + + // NOTE on performance: this version is slightly sub-optimal because + // it contains two double loops on the core of the array (for x and y terms) + // The slightly faster version is in commit 0254cb5a2958cb2e135f268371c4b45fad34866b + // yet it is much uglier, and probably horrible to extend to dimension 3 + // All terms in the matrix are assigned (=) during the x loops, then updated (+=) + // with the y (and z) contributions + + + // All x components except on x edges + index = h; // Skip first column + + // Halve the term on y edges (if any) to preserve symmetry of the Laplacian matrix + // (Long Chen, Finite Difference Methods, UCI, 2017) + fact = periodic[1] ? 1.0 : 0.5; + + for (i=1; i &b, std::vector &x) +{ + for (size_t i=0; i &b, std::vector &x, const cvm::real &tol, + const int itmax, int &iter, cvm::real &err) +{ + cvm::real ak,akden,bk,bkden,bknum,bnrm; + const cvm::real EPS=1.0e-14; + int j; + std::vector p(nt), r(nt), z(nt); + + iter=0; + atimes(x,r); + for (j=0;j &colvars, - size_t const &def_count = 0); + size_t const &def_count = 0, + bool margin = false); /// Increment the counter at given position inline void incr_count(std::vector const &ix) @@ -1210,12 +1236,13 @@ public: int A0, A1, A2; std::vector ix = ix0; + // TODO this can be rewritten more concisely with wrap_edge() if (periodic[n]) { ix[n]--; wrap(ix); - A0 = data[address(ix)]; + A0 = value(ix); ix = ix0; ix[n]++; wrap(ix); - A1 = data[address(ix)]; + A1 = value(ix); if (A0 * A1 == 0) { return 0.; // can't handle empty bins } else { @@ -1224,10 +1251,10 @@ public: } } else if (ix[n] > 0 && ix[n] < nx[n]-1) { // not an edge ix[n]--; - A0 = data[address(ix)]; + A0 = value(ix); ix = ix0; ix[n]++; - A1 = data[address(ix)]; + A1 = value(ix); if (A0 * A1 == 0) { return 0.; // can't handle empty bins } else { @@ -1238,9 +1265,9 @@ public: // edge: use 2nd order derivative int increment = (ix[n] == 0 ? 1 : -1); // move right from left edge, or the other way around - A0 = data[address(ix)]; - ix[n] += increment; A1 = data[address(ix)]; - ix[n] += increment; A2 = data[address(ix)]; + A0 = value(ix); + ix[n] += increment; A1 = value(ix); + ix[n] += increment; A2 = value(ix); if (A0 * A1 * A2 == 0) { return 0.; // can't handle empty bins } else { @@ -1249,6 +1276,49 @@ public: } } } + + /// \brief Return the gradient of discrete count from finite differences + /// on the *same* grid for dimension n + inline cvm::real gradient_finite_diff(const std::vector &ix0, + int n = 0) + { + int A0, A1, A2; + std::vector ix = ix0; + + // FIXME this can be rewritten more concisely with wrap_edge() + if (periodic[n]) { + ix[n]--; wrap(ix); + A0 = value(ix); + ix = ix0; + ix[n]++; wrap(ix); + A1 = value(ix); + if (A0 * A1 == 0) { + return 0.; // can't handle empty bins + } else { + return cvm::real(A1 - A0) / (widths[n] * 2.); + } + } else if (ix[n] > 0 && ix[n] < nx[n]-1) { // not an edge + ix[n]--; + A0 = value(ix); + ix = ix0; + ix[n]++; + A1 = value(ix); + if (A0 * A1 == 0) { + return 0.; // can't handle empty bins + } else { + return cvm::real(A1 - A0) / (widths[n] * 2.); + } + } else { + // edge: use 2nd order derivative + int increment = (ix[n] == 0 ? 1 : -1); + // move right from left edge, or the other way around + A0 = value(ix); + ix[n] += increment; A1 = value(ix); + ix[n] += increment; A2 = value(ix); + return (-1.5 * cvm::real(A0) + 2. * cvm::real(A1) + - 0.5 * cvm::real(A2)) * increment / widths[n]; + } + } }; @@ -1289,27 +1359,57 @@ public: has_data = true; } - /// Return the gradient of the scalar field from finite differences - inline const cvm::real * gradient_finite_diff( const std::vector &ix0 ) + /// \brief Return the gradient of the scalar field from finite differences + /// Input coordinates are those of gradient grid, shifted wrt scalar grid + /// Should not be called on edges of scalar grid, provided the latter has margins + /// wrt gradient grid + inline void vector_gradient_finite_diff( const std::vector &ix0, std::vector &grad) { cvm::real A0, A1; std::vector ix; - if (nd != 2) { - cvm::error("Finite differences available in dimension 2 only."); - return grad; - } - for (unsigned int n = 0; n < nd; n++) { + size_t i, j, k, n; + + if (nd == 2) { + for (n = 0; n < 2; n++) { + ix = ix0; + A0 = value(ix); + ix[n]++; wrap(ix); + A1 = value(ix); + ix[1-n]++; wrap(ix); + A1 += value(ix); + ix[n]--; wrap(ix); + A0 += value(ix); + grad[n] = 0.5 * (A1 - A0) / widths[n]; + } + } else if (nd == 3) { + + cvm::real p[8]; // potential values within cube, indexed in binary (4 i + 2 j + k) ix = ix0; - A0 = data[address(ix)]; - ix[n]++; wrap(ix); - A1 = data[address(ix)]; - ix[1-n]++; wrap(ix); - A1 += data[address(ix)]; - ix[n]--; wrap(ix); - A0 += data[address(ix)]; - grad[n] = 0.5 * (A1 - A0) / widths[n]; + int index = 0; + for (i = 0; i<2; i++) { + ix[1] = ix0[1]; + for (j = 0; j<2; j++) { + ix[2] = ix0[2]; + for (k = 0; k<2; k++) { + wrap(ix); + p[index++] = value(ix); + ix[2]++; + } + ix[1]++; + } + ix[0]++; + } + + // The following would be easier to read using binary literals + // 100 101 110 111 000 001 010 011 + grad[0] = 0.25 * ((p[4] + p[5] + p[6] + p[7]) - (p[0] + p[1] + p[2] + p[3])) / widths[0]; + // 010 011 110 111 000 001 100 101 + grad[1] = 0.25 * ((p[2] + p[3] + p[6] + p[7]) - (p[0] + p[1] + p[4] + p[5])) / widths[0]; + // 001 011 101 111 000 010 100 110 + grad[2] = 0.25 * ((p[1] + p[3] + p[5] + p[7]) - (p[0] + p[2] + p[4] + p[6])) / widths[0]; + } else { + cvm::error("Finite differences available in dimension 2 and 3 only."); } - return grad; } /// \brief Return the value of the function at ix divided by its @@ -1373,10 +1473,6 @@ public: /// \brief Assuming that the map is a normalized probability density, /// calculates the entropy (uses widths if they are defined) cvm::real entropy() const; - -private: - // gradient - cvm::real * grad; }; @@ -1390,6 +1486,10 @@ public: /// should be divided colvar_grid_count *samples; + /// \brief Provide the floating point weights by which each binned value + /// should be divided (alternate to samples, only one should be non-null) + colvar_grid_scalar *weights; + /// Default constructor colvar_grid_gradient(); @@ -1403,6 +1503,29 @@ public: /// Constructor from a vector of colvars colvar_grid_gradient(std::vector &colvars); + /// \brief Get a vector with the binned value(s) indexed by ix, normalized if applicable + inline void vector_value(std::vector const &ix, std::vector &v) const + { + cvm::real const * p = &value(ix); + if (samples) { + int count = samples->value(ix); + if (count) { + cvm::real invcount = 1.0 / count; + for (size_t i = 0; i < mult; i++) { + v[i] = invcount * p[i]; + } + } else { + for (size_t i = 0; i < mult; i++) { + v[i] = 0.0; + } + } + } else { + for (size_t i = 0; i < mult; i++) { + v[i] = p[i]; + } + } + } + /// \brief Accumulate the value inline void acc_value(std::vector const &ix, std::vector const &values) { for (size_t imult = 0; imult < mult; imult++) { @@ -1412,23 +1535,25 @@ public: samples->incr_count(ix); } - /// \brief Accumulate the gradient - inline void acc_grad(std::vector const &ix, cvm::real const *grads) { + /// \brief Accumulate the gradient based on the force (i.e. sums the + /// opposite of the force) + inline void acc_force(std::vector const &ix, cvm::real const *forces) { for (size_t imult = 0; imult < mult; imult++) { - data[address(ix) + imult] += grads[imult]; + data[address(ix) + imult] -= forces[imult]; } if (samples) samples->incr_count(ix); } /// \brief Accumulate the gradient based on the force (i.e. sums the - /// opposite of the force) - inline void acc_force(std::vector const &ix, cvm::real const *forces) { + /// opposite of the force) with a non-integer weight + inline void acc_force_weighted(std::vector const &ix, + cvm::real const *forces, + cvm::real weight) { for (size_t imult = 0; imult < mult; imult++) { - data[address(ix) + imult] -= forces[imult]; + data[address(ix) + imult] -= forces[imult] * weight; } - if (samples) - samples->incr_count(ix); + weights->acc_value(ix, weight); } /// \brief Return the value of the function at ix divided by its @@ -1498,5 +1623,70 @@ public: }; + +/// Integrate (1D, 2D or 3D) gradients + +class integrate_potential : public colvar_grid_scalar +{ + public: + + integrate_potential(); + + virtual ~integrate_potential() + {} + + /// Constructor from a vector of colvars + gradient grid + integrate_potential (std::vector &colvars, colvar_grid_gradient * gradients); + + /// \brief Calculate potential from divergence (in 2D); return number of steps + int integrate (const int itmax, const cvm::real & tol, cvm::real & err); + + /// \brief Update matrix containing divergence and boundary conditions + /// based on new gradient point value, in neighboring bins + void update_div_neighbors(const std::vector &ix); + + /// \brief Set matrix containing divergence and boundary conditions + /// based on complete gradient grid + void set_div(); + + /// \brief Add constant to potential so that its minimum value is zero + /// Useful e.g. for output + inline void set_zero_minimum() { + add_constant(-1.0 * minimum_value()); + } + + protected: + + // Reference to gradient grid + colvar_grid_gradient *gradients; + + /// Array holding divergence + boundary terms (modified Neumann) if not periodic + std::vector divergence; + +// std::vector inv_lap_diag; // Inverse of the diagonal of the Laplacian; for conditioning + + /// \brief Update matrix containing divergence and boundary conditions + /// called by update_div_neighbors + void update_div_local(const std::vector &ix); + + /// Obtain the gradient vector at given location ix, if available + /// or zero if it is on the edge of the gradient grid + /// ix gets wrapped in PBC + void get_grad(cvm::real * g, std::vector &ix); + + /// \brief Solve linear system based on CG, valid for symmetric matrices only + void nr_linbcg_sym(const std::vector &b, std::vector &x, + const cvm::real &tol, const int itmax, int &iter, cvm::real &err); + + /// l2 norm of a vector + cvm::real l2norm(const std::vector &x); + + /// Multiplication by sparse matrix representing Lagrangian (or its transpose) + void atimes(const std::vector &x, std::vector &r); + +// /// Inversion of preconditioner matrix +// void asolve(const std::vector &b, std::vector &x); +}; + #endif diff --git a/lib/colvars/colvarmodule.cpp b/lib/colvars/colvarmodule.cpp index 200c2d6848f10cf6a52ab70745c6049c9387dff7..9898e2d5e8264d96ba79d12aac5e70bf9dbfd67d 100644 --- a/lib/colvars/colvarmodule.cpp +++ b/lib/colvars/colvarmodule.cpp @@ -24,6 +24,7 @@ #include "colvaratoms.h" #include "colvarcomp.h" + colvarmodule::colvarmodule(colvarproxy *proxy_in) { depth_s = 0; @@ -417,10 +418,10 @@ int colvarmodule::parse_biases(std::string const &conf) "Please ensure that their forces do not counteract each other.\n"); } - if (biases.size() || use_scripted_forces) { + if (num_biases() || use_scripted_forces) { cvm::log(cvm::line_marker); cvm::log("Collective variables biases initialized, "+ - cvm::to_str(biases.size())+" in total.\n"); + cvm::to_str(num_biases())+" in total.\n"); } else { if (!use_scripted_forces) { cvm::log("No collective variables biases were defined.\n"); @@ -431,12 +432,37 @@ int colvarmodule::parse_biases(std::string const &conf) } +int colvarmodule::num_variables() const +{ + return colvars.size(); +} + + +int colvarmodule::num_variables_feature(int feature_id) const +{ + size_t n = 0; + for (std::vector::const_iterator cvi = colvars.begin(); + cvi != colvars.end(); + cvi++) { + if ((*cvi)->is_enabled(feature_id)) { + n++; + } + } + return n; +} + + +int colvarmodule::num_biases() const +{ + return biases.size(); +} + + int colvarmodule::num_biases_feature(int feature_id) const { - colvarmodule *cv = cvm::main(); size_t n = 0; - for (std::vector::iterator bi = cv->biases.begin(); - bi != cv->biases.end(); + for (std::vector::const_iterator bi = biases.begin(); + bi != biases.end(); bi++) { if ((*bi)->is_enabled(feature_id)) { n++; @@ -448,10 +474,9 @@ int colvarmodule::num_biases_feature(int feature_id) const int colvarmodule::num_biases_type(std::string const &type) const { - colvarmodule *cv = cvm::main(); size_t n = 0; - for (std::vector::iterator bi = cv->biases.begin(); - bi != cv->biases.end(); + for (std::vector::const_iterator bi = biases.begin(); + bi != biases.end(); bi++) { if ((*bi)->bias_type == type) { n++; @@ -465,7 +490,7 @@ std::vector const colvarmodule::time_dependent_biases() const { size_t i; std::vector biases_names; - for (i = 0; i < biases.size(); i++) { + for (i = 0; i < num_biases(); i++) { if (biases[i]->is_enabled(colvardeps::f_cvb_apply_force) && biases[i]->is_enabled(colvardeps::f_cvb_active) && (biases[i]->is_enabled(colvardeps::f_cvb_history_dependent) || @@ -790,7 +815,7 @@ int colvarmodule::calc_biases() { // update the biases and communicate their forces to the collective // variables - if (cvm::debug() && biases.size()) + if (cvm::debug() && num_biases()) cvm::log("Updating collective variable biases.\n"); std::vector::iterator bi; @@ -852,7 +877,7 @@ int colvarmodule::update_colvar_forces() std::vector::iterator bi; // sum the forces from all biases for each collective variable - if (cvm::debug() && biases.size()) + if (cvm::debug() && num_biases()) cvm::log("Collecting forces from all biases.\n"); cvm::increase_depth(); for (bi = biases_active()->begin(); bi != biases_active()->end(); bi++) { @@ -1073,8 +1098,6 @@ int colvarmodule::reset() int colvarmodule::setup_input() { - if (this->size() == 0) return cvm::get_error(); - std::string restart_in_name(""); // read the restart configuration, if available @@ -1107,14 +1130,12 @@ int colvarmodule::setup_input() } } - return (cvm::get_error() ? COLVARS_ERROR : COLVARS_OK); + return cvm::get_error(); } int colvarmodule::setup_output() { - if (this->size() == 0) return cvm::get_error(); - int error_code = COLVARS_OK; // output state file (restart) @@ -1123,7 +1144,8 @@ int colvarmodule::setup_output() std::string(""); if (restart_out_name.size()) { - cvm::log("The restart output state file will be \""+restart_out_name+"\".\n"); + cvm::log("The restart output state file will be \""+ + restart_out_name+"\".\n"); } output_prefix() = proxy->output_prefix(); @@ -1154,7 +1176,7 @@ int colvarmodule::setup_output() set_error_bits(FILE_ERROR); } - return (cvm::get_error() ? COLVARS_ERROR : COLVARS_OK); + return cvm::get_error(); } @@ -1738,6 +1760,89 @@ int cvm::load_coords_xyz(char const *filename, } + +// Wrappers to proxy functions: these may go in the future + +cvm::real cvm::unit_angstrom() +{ + return proxy->unit_angstrom(); +} + + +cvm::real cvm::boltzmann() +{ + return proxy->boltzmann(); +} + + +cvm::real cvm::temperature() +{ + return proxy->temperature(); +} + + +cvm::real cvm::dt() +{ + return proxy->dt(); +} + + +void cvm::request_total_force() +{ + proxy->request_total_force(true); +} + +cvm::rvector cvm::position_distance(atom_pos const &pos1, + atom_pos const &pos2) +{ + return proxy->position_distance(pos1, pos2); +} + +cvm::real cvm::position_dist2(cvm::atom_pos const &pos1, + cvm::atom_pos const &pos2) +{ + return proxy->position_dist2(pos1, pos2); +} + +cvm::real cvm::rand_gaussian(void) +{ + return proxy->rand_gaussian(); +} + + + +bool cvm::replica_enabled() +{ + return proxy->replica_enabled(); +} + +int cvm::replica_index() +{ + return proxy->replica_index(); +} + +int cvm::replica_num() +{ + return proxy->replica_num(); +} + +void cvm::replica_comm_barrier() +{ + return proxy->replica_comm_barrier(); +} + +int cvm::replica_comm_recv(char* msg_data, int buf_len, int src_rep) +{ + return proxy->replica_comm_recv(msg_data,buf_len,src_rep); +} + +int cvm::replica_comm_send(char* msg_data, int msg_len, int dest_rep) +{ + return proxy->replica_comm_send(msg_data,msg_len,dest_rep); +} + + + // shared pointer to the proxy object colvarproxy *colvarmodule::proxy = NULL; diff --git a/lib/colvars/colvarmodule.h b/lib/colvars/colvarmodule.h index 14e5d56701f75730c7bb1ce07764c89edd0b665b..64a98b77a02d59eae598a3f223214fc103018263 100644 --- a/lib/colvars/colvarmodule.h +++ b/lib/colvars/colvarmodule.h @@ -39,16 +39,14 @@ You can browse the class hierarchy or the list of source files. #define FILE_ERROR (1<<4) #define MEMORY_ERROR (1<<5) #define FATAL_ERROR (1<<6) // Should be set, or not, together with other bits -#define DELETE_COLVARS (1<<7) // Instruct the caller to delete cvm +//#define DELETE_COLVARS (1<<7) // Instruct the caller to delete cvm #define COLVARS_NO_SUCH_FRAME (1<<8) // Cannot load the requested frame #include #include -#include -#include -#include #include -#include +#include +#include #include #include @@ -84,12 +82,18 @@ public: /// Defining an abstract real number allows to switch precision typedef double real; - /// Override std::pow with a product for n positive integer - static inline real integer_power(real x, int n) + /// Override std::pow with a product for n integer + static inline real integer_power(real const &x, int const n) { - real result = 1.0; - for (int i = 0; i < n; i++) result *= x; - return result; + // Original code: math_special.h in LAMMPS + double yy, ww; + if (x == 0.0) return 0.0; + int nn = (n > 0) ? n : -n; + ww = x; + for (yy = 1.0; nn != 0; nn >>= 1, ww *=ww) { + if (nn & 1) yy *= ww; + } + return (n > 0) ? yy : 1.0/yy; } /// Residue identifier @@ -301,13 +305,23 @@ private: public: + /// Return how many variables are defined + int num_variables() const; + + /// Return how many variables have this feature enabled + int num_variables_feature(int feature_id) const; + + /// Return how many biases are defined + int num_biases() const; + /// Return how many biases have this feature enabled int num_biases_feature(int feature_id) const; - /// Return how many biases are defined with this type + /// Return how many biases of this type are defined int num_biases_type(std::string const &type) const; - /// Return the names of time-dependent biases with forces enabled + /// Return the names of time-dependent biases with forces enabled (ABF, + /// metadynamics, etc) std::vector const time_dependent_biases() const; private: @@ -602,16 +616,14 @@ public: typedef colvarmodule cvm; -#include "colvartypes.h" - std::ostream & operator << (std::ostream &os, cvm::rvector const &v); std::istream & operator >> (std::istream &is, cvm::rvector &v); template std::string cvm::to_str(T const &x, - size_t const &width, - size_t const &prec) { + size_t const &width, + size_t const &prec) { std::ostringstream os; if (width) os.width(width); if (prec) { @@ -622,9 +634,10 @@ template std::string cvm::to_str(T const &x, return os.str(); } + template std::string cvm::to_str(std::vector const &x, - size_t const &width, - size_t const &prec) { + size_t const &width, + size_t const &prec) { if (!x.size()) return std::string(""); std::ostringstream os; if (prec) { @@ -645,70 +658,4 @@ template std::string cvm::to_str(std::vector const &x, } -#include "colvarproxy.h" - - -inline cvm::real cvm::unit_angstrom() -{ - return proxy->unit_angstrom(); -} - -inline cvm::real cvm::boltzmann() -{ - return proxy->boltzmann(); -} - -inline cvm::real cvm::temperature() -{ - return proxy->temperature(); -} - -inline cvm::real cvm::dt() -{ - return proxy->dt(); -} - -// Replica exchange commands -inline bool cvm::replica_enabled() { - return proxy->replica_enabled(); -} -inline int cvm::replica_index() { - return proxy->replica_index(); -} -inline int cvm::replica_num() { - return proxy->replica_num(); -} -inline void cvm::replica_comm_barrier() { - return proxy->replica_comm_barrier(); -} -inline int cvm::replica_comm_recv(char* msg_data, int buf_len, int src_rep) { - return proxy->replica_comm_recv(msg_data,buf_len,src_rep); -} -inline int cvm::replica_comm_send(char* msg_data, int msg_len, int dest_rep) { - return proxy->replica_comm_send(msg_data,msg_len,dest_rep); -} - - -inline void cvm::request_total_force() -{ - proxy->request_total_force(true); -} - -inline cvm::rvector cvm::position_distance(atom_pos const &pos1, - atom_pos const &pos2) -{ - return proxy->position_distance(pos1, pos2); -} - -inline cvm::real cvm::position_dist2(cvm::atom_pos const &pos1, - cvm::atom_pos const &pos2) -{ - return proxy->position_dist2(pos1, pos2); -} - -inline cvm::real cvm::rand_gaussian(void) -{ - return proxy->rand_gaussian(); -} - #endif diff --git a/lib/colvars/colvarparse.cpp b/lib/colvars/colvarparse.cpp index 9f333b7b76bc029f142fa5443d16c3d73249b77a..43c8c69c040e6b6fdb14a31249f39a293b997d8a 100644 --- a/lib/colvars/colvarparse.cpp +++ b/lib/colvars/colvarparse.cpp @@ -553,7 +553,8 @@ bool colvarparse::key_lookup(std::string const &conf, size_t *save_pos) { if (cvm::debug()) { - cvm::log("Looking for the keyword \""+std::string(key_in)+"\" and its value.\n"); + cvm::log("Looking for the keyword \""+std::string(key_in)+ + "\" and its value.\n"); } // add this keyword to the register (in its camelCase version) diff --git a/lib/colvars/colvarproxy.cpp b/lib/colvars/colvarproxy.cpp index 8160144c6bab1e11d36f4d1b7712e75bce90e6c8..8767d5f459090854cf19ad011f579e752c6d2230 100644 --- a/lib/colvars/colvarproxy.cpp +++ b/lib/colvars/colvarproxy.cpp @@ -14,6 +14,11 @@ #include #endif +#if defined(NAMD_TCL) || defined(VMDTCL) +#define COLVARS_TCL +#include +#endif + #include "colvarmodule.h" #include "colvarproxy.h" #include "colvarscript.h" @@ -420,8 +425,10 @@ colvarproxy_script::colvarproxy_script() colvarproxy_script::~colvarproxy_script() {} -char *colvarproxy_script::script_obj_to_str(unsigned char *obj) +char const *colvarproxy_script::script_obj_to_str(unsigned char *obj) { + cvm::error("Error: trying to print a script object without a scripting " + "language interface.\n", BUG_ERROR); return reinterpret_cast(obj); } @@ -451,6 +458,140 @@ int colvarproxy_script::run_colvar_gradient_callback( +colvarproxy_tcl::colvarproxy_tcl() +{ + _tcl_interp = NULL; +} + + +colvarproxy_tcl::~colvarproxy_tcl() +{ +} + + +void colvarproxy_tcl::init_tcl_pointers() +{ + cvm::error("Error: Tcl support is currently unavailable " + "outside NAMD or VMD.\n", COLVARS_NOT_IMPLEMENTED); +} + + +char const *colvarproxy_tcl::tcl_obj_to_str(unsigned char *obj) +{ +#if defined(COLVARS_TCL) + return Tcl_GetString(reinterpret_cast(obj)); +#else + return NULL; +#endif +} + + +int colvarproxy_tcl::tcl_run_force_callback() +{ +#if defined(COLVARS_TCL) + Tcl_Interp *const tcl_interp = reinterpret_cast(_tcl_interp); + std::string cmd = std::string("calc_colvar_forces ") + + cvm::to_str(cvm::step_absolute()); + int err = Tcl_Eval(tcl_interp, cmd.c_str()); + if (err != TCL_OK) { + cvm::log(std::string("Error while executing calc_colvar_forces:\n")); + cvm::error(Tcl_GetStringResult(tcl_interp)); + return COLVARS_ERROR; + } + return cvm::get_error(); +#else + return COLVARS_NOT_IMPLEMENTED; +#endif +} + + +int colvarproxy_tcl::tcl_run_colvar_callback( + std::string const &name, + std::vector const &cvc_values, + colvarvalue &value) +{ +#if defined(COLVARS_TCL) + + Tcl_Interp *const tcl_interp = reinterpret_cast(_tcl_interp); + size_t i; + std::string cmd = std::string("calc_") + name; + for (i = 0; i < cvc_values.size(); i++) { + cmd += std::string(" {") + (*(cvc_values[i])).to_simple_string() + + std::string("}"); + } + int err = Tcl_Eval(tcl_interp, cmd.c_str()); + const char *result = Tcl_GetStringResult(tcl_interp); + if (err != TCL_OK) { + return cvm::error(std::string("Error while executing ") + + cmd + std::string(":\n") + + std::string(Tcl_GetStringResult(tcl_interp)), COLVARS_ERROR); + } + std::istringstream is(result); + if (value.from_simple_string(is.str()) != COLVARS_OK) { + cvm::log("Error parsing colvar value from script:"); + cvm::error(result); + return COLVARS_ERROR; + } + return cvm::get_error(); + +#else + + return COLVARS_NOT_IMPLEMENTED; + +#endif +} + + +int colvarproxy_tcl::tcl_run_colvar_gradient_callback( + std::string const &name, + std::vector const &cvc_values, + std::vector > &gradient) +{ +#if defined(COLVARS_TCL) + + Tcl_Interp *const tcl_interp = reinterpret_cast(_tcl_interp); + size_t i; + std::string cmd = std::string("calc_") + name + "_gradient"; + for (i = 0; i < cvc_values.size(); i++) { + cmd += std::string(" {") + (*(cvc_values[i])).to_simple_string() + + std::string("}"); + } + int err = Tcl_Eval(tcl_interp, cmd.c_str()); + if (err != TCL_OK) { + return cvm::error(std::string("Error while executing ") + + cmd + std::string(":\n") + + std::string(Tcl_GetStringResult(tcl_interp)), COLVARS_ERROR); + } + Tcl_Obj **list; + int n; + Tcl_ListObjGetElements(tcl_interp, Tcl_GetObjResult(tcl_interp), + &n, &list); + if (n != int(gradient.size())) { + cvm::error("Error parsing list of gradient values from script: found " + + cvm::to_str(n) + " values instead of " + + cvm::to_str(gradient.size())); + return COLVARS_ERROR; + } + for (i = 0; i < gradient.size(); i++) { + std::istringstream is(Tcl_GetString(list[i])); + if (gradient[i].from_simple_string(is.str()) != COLVARS_OK) { + cvm::log("Gradient matrix size: " + cvm::to_str(gradient[i].size())); + cvm::log("Gradient string: " + cvm::to_str(Tcl_GetString(list[i]))); + cvm::error("Error parsing gradient value from script", COLVARS_ERROR); + return COLVARS_ERROR; + } + } + + return cvm::get_error(); + +#else + + return COLVARS_NOT_IMPLEMENTED; + +#endif +} + + colvarproxy_io::colvarproxy_io() {} @@ -541,6 +682,7 @@ colvarproxy::colvarproxy() { colvars = NULL; b_simulation_running = true; + b_delete_requested = false; } @@ -556,6 +698,14 @@ int colvarproxy::reset() } +int colvarproxy::request_deletion() +{ + return cvm::error("Error: \"delete\" command is only available in VMD; " + "please use \"reset\" instead.\n", + COLVARS_NOT_IMPLEMENTED); +} + + int colvarproxy::setup() { return COLVARS_OK; @@ -579,13 +729,3 @@ size_t colvarproxy::restart_frequency() return 0; } - - - - - - - - - - diff --git a/lib/colvars/colvarproxy.h b/lib/colvars/colvarproxy.h index e51ddfbe3bfc16a9d9a77264b86912a2cd8aa34f..bf290482704af3204518c0ffae7daf5ad5d88c0b 100644 --- a/lib/colvars/colvarproxy.h +++ b/lib/colvars/colvarproxy.h @@ -415,7 +415,7 @@ public: }; -/// Method for scripting language interface (Tcl or Python) +/// Methods for scripting language interface (Tcl or Python) class colvarproxy_script { public: @@ -427,7 +427,7 @@ public: virtual ~colvarproxy_script(); /// Convert a script object (Tcl or Python call argument) to a C string - virtual char *script_obj_to_str(unsigned char *obj); + virtual char const *script_obj_to_str(unsigned char *obj); /// Pointer to the scripting interface object /// (does not need to be allocated in a new interface) @@ -454,6 +454,46 @@ public: }; +/// Methods for using Tcl within Colvars +class colvarproxy_tcl { + +public: + + /// Constructor + colvarproxy_tcl(); + + /// Destructor + virtual ~colvarproxy_tcl(); + + /// Is Tcl available? (trigger initialization if needed) + int tcl_available(); + + /// Tcl implementation of script_obj_to_str() + char const *tcl_obj_to_str(unsigned char *obj); + + /// Run a user-defined colvar forces script + int tcl_run_force_callback(); + + int tcl_run_colvar_callback( + std::string const &name, + std::vector const &cvcs, + colvarvalue &value); + + int tcl_run_colvar_gradient_callback( + std::string const &name, + std::vector const &cvcs, + std::vector > &gradient); + +protected: + + /// Pointer to Tcl interpreter object + void *_tcl_interp; + + /// Set Tcl pointers + virtual void init_tcl_pointers(); +}; + + /// Methods for data input/output class colvarproxy_io { @@ -540,6 +580,7 @@ class colvarproxy public colvarproxy_smp, public colvarproxy_replicas, public colvarproxy_script, + public colvarproxy_tcl, public colvarproxy_io { @@ -554,6 +595,15 @@ public: /// Destructor virtual ~colvarproxy(); + /// Request deallocation of the module (currently only implemented by VMD) + virtual int request_deletion(); + + /// Whether deallocation was requested + inline bool delete_requested() + { + return b_delete_requested; + } + /// \brief Reset proxy state, e.g. requested atoms virtual int reset(); @@ -591,6 +641,9 @@ protected: /// Whether a simulation is running (warn against irrecovarable errors) bool b_simulation_running; + /// Whether the entire module should be deallocated by the host engine + bool b_delete_requested; + }; diff --git a/lib/colvars/colvars_version.h b/lib/colvars/colvars_version.h index a92a776f8a3abc88700794228bcf4a1e0ad8da51..dc4b8bd07e420d83289b99f458ed2bf935ab210e 100644 --- a/lib/colvars/colvars_version.h +++ b/lib/colvars/colvars_version.h @@ -1,5 +1,5 @@ #ifndef COLVARS_VERSION -#define COLVARS_VERSION "2017-10-20" +#define COLVARS_VERSION "2018-01-17" // This file is part of the Collective Variables module (Colvars). // The original version of Colvars and its updates are located at: // https://github.com/colvars/colvars diff --git a/lib/colvars/colvarscript.cpp b/lib/colvars/colvarscript.cpp index 9570acd8327252a99e6394f9bd29d6f6a0bd2f4e..0977496b9e1c252e52c5670f44321796cfafd889 100644 --- a/lib/colvars/colvarscript.cpp +++ b/lib/colvars/colvarscript.cpp @@ -74,7 +74,9 @@ int colvarscript::run(int objc, unsigned char *const objv[]) } if (objc < 2) { - return exec_command(cv_help, NULL, objc, objv); + set_str_result("No commands given: use \"cv help\" " + "for a list of commands."); + return COLVARSCRIPT_ERROR; } std::string const cmd(obj_to_str(objv[1])); @@ -123,8 +125,7 @@ int colvarscript::run(int objc, unsigned char *const objv[]) if (cmd == "delete") { // Note: the delete bit may be ignored by some backends // it is mostly useful in VMD - colvars->set_error_bits(DELETE_COLVARS); - return COLVARS_OK; + return proxy->request_deletion(); } if (cmd == "update") { @@ -272,6 +273,11 @@ int colvarscript::proc_colvar(colvar *cv, int objc, unsigned char *const objv[]) return COLVARS_OK; } + if (subcmd == "run_ave") { + result = (cv->run_ave()).to_simple_string(); + return COLVARS_OK; + } + if (subcmd == "width") { result = cvm::to_str(cv->width, 0, cvm::cv_prec); return COLVARS_OK; diff --git a/lib/gpu/Nvidia.makefile b/lib/gpu/Nvidia.makefile index ee2eb72632cadfc8d2ce126f034b245efebbe2eb..5f692cf66c8bbe9834ca36f81786fef1ad2e9ae5 100644 --- a/lib/gpu/Nvidia.makefile +++ b/lib/gpu/Nvidia.makefile @@ -76,7 +76,8 @@ OBJS = $(OBJ_DIR)/lal_atom.o $(OBJ_DIR)/lal_ans.o \ $(OBJ_DIR)/lal_coul.o $(OBJ_DIR)/lal_coul_ext.o \ $(OBJ_DIR)/lal_coul_debye.o $(OBJ_DIR)/lal_coul_debye_ext.o \ $(OBJ_DIR)/lal_zbl.o $(OBJ_DIR)/lal_zbl_ext.o \ - $(OBJ_DIR)/lal_lj_cubic.o $(OBJ_DIR)/lal_lj_cubic_ext.o + $(OBJ_DIR)/lal_lj_cubic.o $(OBJ_DIR)/lal_lj_cubic_ext.o \ + $(OBJ_DIR)/lal_ufm.o $(OBJ_DIR)/lal_ufm_ext.o CBNS = $(OBJ_DIR)/device.cubin $(OBJ_DIR)/device_cubin.h \ $(OBJ_DIR)/atom.cubin $(OBJ_DIR)/atom_cubin.h \ @@ -131,7 +132,8 @@ CBNS = $(OBJ_DIR)/device.cubin $(OBJ_DIR)/device_cubin.h \ $(OBJ_DIR)/coul.cubin $(OBJ_DIR)/coul_cubin.h \ $(OBJ_DIR)/coul_debye.cubin $(OBJ_DIR)/coul_debye_cubin.h \ $(OBJ_DIR)/zbl.cubin $(OBJ_DIR)/zbl_cubin.h \ - $(OBJ_DIR)/lj_cubic.cubin $(OBJ_DIR)/lj_cubic_cubin.h + $(OBJ_DIR)/lj_cubic.cubin $(OBJ_DIR)/lj_cubic_cubin.h \ + $(OBJ_DIR)/ufm.cubin $(OBJ_DIR)/ufm_cubin.h all: $(OBJ_DIR) $(GPU_LIB) $(EXECS) @@ -705,6 +707,18 @@ $(OBJ_DIR)/dpd.cubin: lal_dpd.cu lal_precision.h lal_preprocessor.h $(OBJ_DIR)/dpd_cubin.h: $(OBJ_DIR)/dpd.cubin $(OBJ_DIR)/dpd.cubin $(BIN2C) -c -n dpd $(OBJ_DIR)/dpd.cubin > $(OBJ_DIR)/dpd_cubin.h +$(OBJ_DIR)/ufm.cubin: lal_ufm.cu lal_precision.h lal_preprocessor.h + $(CUDA) --cubin -DNV_KERNEL -o $@ lal_ufm.cu + +$(OBJ_DIR)/ufm_cubin.h: $(OBJ_DIR)/ufm.cubin $(OBJ_DIR)/ufm.cubin + $(BIN2C) -c -n ufm $(OBJ_DIR)/ufm.cubin > $(OBJ_DIR)/ufm_cubin.h + +$(OBJ_DIR)/lal_ufm.o: $(ALL_H) lal_ufm.h lal_ufm.cpp $(OBJ_DIR)/ufm_cubin.h $(OBJ_DIR)/lal_base_atomic.o + $(CUDR) -o $@ -c lal_ufm.cpp -I$(OBJ_DIR) + +$(OBJ_DIR)/lal_ufm_ext.o: $(ALL_H) lal_ufm.h lal_ufm_ext.cpp lal_base_atomic.h + $(CUDR) -o $@ -c lal_ufm_ext.cpp -I$(OBJ_DIR) + $(OBJ_DIR)/lal_dpd.o: $(ALL_H) lal_dpd.h lal_dpd.cpp $(OBJ_DIR)/dpd_cubin.h $(OBJ_DIR)/lal_base_dpd.o $(CUDR) -o $@ -c lal_dpd.cpp -I$(OBJ_DIR) diff --git a/lib/gpu/Opencl.makefile b/lib/gpu/Opencl.makefile index f116508ae5337e86ed07b6570ef1125a4726d897..bb071514474655a9fb36a73fab05635fa9ffdd99 100644 --- a/lib/gpu/Opencl.makefile +++ b/lib/gpu/Opencl.makefile @@ -65,7 +65,8 @@ OBJS = $(OBJ_DIR)/lal_atom.o $(OBJ_DIR)/lal_answer.o \ $(OBJ_DIR)/lal_coul.o $(OBJ_DIR)/lal_coul_ext.o \ $(OBJ_DIR)/lal_coul_debye.o $(OBJ_DIR)/lal_coul_debye_ext.o \ $(OBJ_DIR)/lal_zbl.o $(OBJ_DIR)/lal_zbl_ext.o \ - $(OBJ_DIR)/lal_lj_cubic.o $(OBJ_DIR)/lal_lj_cubic_ext.o + $(OBJ_DIR)/lal_lj_cubic.o $(OBJ_DIR)/lal_lj_cubic_ext.o \ + $(OBJ_DIR)/lal_ufm.o $(OBJ_DIR)/lal_ufm_ext.o KERS = $(OBJ_DIR)/device_cl.h $(OBJ_DIR)/atom_cl.h \ $(OBJ_DIR)/neighbor_cpu_cl.h $(OBJ_DIR)/pppm_cl.h \ @@ -93,7 +94,8 @@ KERS = $(OBJ_DIR)/device_cl.h $(OBJ_DIR)/atom_cl.h \ $(OBJ_DIR)/tersoff_cl.h $(OBJ_DIR)/tersoff_zbl_cl.h \ $(OBJ_DIR)/tersoff_mod_cl.h $(OBJ_DIR)/coul_cl.h \ $(OBJ_DIR)/coul_debye_cl.h $(OBJ_DIR)/zbl_cl.h \ - $(OBJ_DIR)/lj_cubic_cl.h $(OBJ_DIR)/vashishta_cl.h + $(OBJ_DIR)/lj_cubic_cl.h $(OBJ_DIR)/vashishta_cl.h \ + $(OBJ_DIR)/ufm_cl.h OCL_EXECS = $(BIN_DIR)/ocl_get_devices @@ -577,6 +579,15 @@ $(OBJ_DIR)/lal_lj_cubic.o: $(ALL_H) lal_lj_cubic.h lal_lj_cubic.cpp $(OBJ_DIR)/ $(OBJ_DIR)/lal_lj_cubic_ext.o: $(ALL_H) lal_lj_cubic.h lal_lj_cubic_ext.cpp lal_base_atomic.h $(OCL) -o $@ -c lal_lj_cubic_ext.cpp -I$(OBJ_DIR) +$(OBJ_DIR)/ufm_cl.h: lal_ufm.cu $(PRE1_H) + $(BSH) ./geryon/file_to_cstr.sh ufm $(PRE1_H) lal_ufm.cu $(OBJ_DIR)/ufm_cl.h; + +$(OBJ_DIR)/lal_ufm.o: $(ALL_H) lal_ufm.h lal_ufm.cpp $(OBJ_DIR)/ufm_cl.h $(OBJ_DIR)/ufm_cl.h $(OBJ_DIR)/lal_base_atomic.o + $(OCL) -o $@ -c lal_ufm.cpp -I$(OBJ_DIR) + +$(OBJ_DIR)/lal_ufm_ext.o: $(ALL_H) lal_ufm.h lal_ufm_ext.cpp lal_base_atomic.h + $(OCL) -o $@ -c lal_ufm_ext.cpp -I$(OBJ_DIR) + $(BIN_DIR)/ocl_get_devices: ./geryon/ucl_get_devices.cpp $(OCL) -o $@ ./geryon/ucl_get_devices.cpp -DUCL_OPENCL $(OCL_LINK) diff --git a/lib/gpu/README b/lib/gpu/README index b26897e885379c95eb8cda4b69850dad70879dff..15b65516acbb59c6f1a4b6b610d1de7712c77ed0 100644 --- a/lib/gpu/README +++ b/lib/gpu/README @@ -135,6 +135,7 @@ Current styles supporting GPU acceleration: 38 yukawa/colloid 39 yukawa 40 pppm + 41 ufm MULTIPLE LAMMPS PROCESSES diff --git a/lib/gpu/lal_ufm.cpp b/lib/gpu/lal_ufm.cpp new file mode 100644 index 0000000000000000000000000000000000000000..c7aa2cca3907fd409f04df46854464c29e3a2d90 --- /dev/null +++ b/lib/gpu/lal_ufm.cpp @@ -0,0 +1,172 @@ +/*************************************************************************** + ufm.cpp + ------------------- + Rodolfo Paula Leite (Unicamp/Brazil) + Maurice de Koning (Unicamp/Brazil) + + Class for acceleration of the ufm pair style. + + __________________________________________________________________________ + This file is part of the LAMMPS Accelerator Library (LAMMPS_AL) + __________________________________________________________________________ + + begin : + email : pl.rodolfo@gmail.com + dekoning@ifi.unicamp.br + ***************************************************************************/ + +#if defined(USE_OPENCL) +#include "ufm_cl.h" +#elif defined(USE_CUDART) +const char *ufm=0; +#else +#include "ufm_cubin.h" +#endif + +#include "lal_ufm.h" +#include +using namespace LAMMPS_AL; +#define UFMT UFM + +extern Device device; + +template +UFMT::UFM() : BaseAtomic(), _allocated(false) { +} + +template +UFMT::~UFM() { + clear(); +} + +template +int UFMT::bytes_per_atom(const int max_nbors) const { + return this->bytes_per_atom_atomic(max_nbors); +} + +template +int UFMT::init(const int ntypes, + double **host_cutsq, double **host_uf1, + double **host_uf2, double **host_uf3, + double **host_uf4, double **host_offset, + double *host_special_lj, const int nlocal, + const int nall, const int max_nbors, + const int maxspecial, const double cell_size, + const double gpu_split, FILE *_screen) { + int success; + success=this->init_atomic(nlocal,nall,max_nbors,maxspecial,cell_size,gpu_split, + _screen,ufm,"k_ufm"); + if (success!=0) + return success; + + // If atom type constants fit in shared memory use fast kernel + int lj_types=ntypes; + shared_types=false; + int max_shared_types=this->device->max_shared_types(); + if (lj_types<=max_shared_types && this->_block_size>=max_shared_types) { + lj_types=max_shared_types; + shared_types=true; + } + _lj_types=lj_types; + + // Allocate a host write buffer for data initialization + UCL_H_Vec host_write(lj_types*lj_types*32,*(this->ucl_device), + UCL_WRITE_ONLY); + + for (int i=0; iucl_device),UCL_READ_ONLY); + this->atom->type_pack4(ntypes,lj_types,uf1,host_write,host_uf1,host_uf2, + host_cutsq); + + uf3.alloc(lj_types*lj_types,*(this->ucl_device),UCL_READ_ONLY); + this->atom->type_pack4(ntypes,lj_types,uf3,host_write,host_uf3,host_uf4, + host_offset); + + UCL_H_Vec dview; + sp_lj.alloc(4,*(this->ucl_device),UCL_READ_ONLY); + dview.view(host_special_lj,4,*(this->ucl_device)); + ucl_copy(sp_lj,dview,false); + + _allocated=true; + this->_max_bytes=uf1.row_bytes()+uf3.row_bytes()+sp_lj.row_bytes(); + return 0; +} + +template +void UFMT::reinit(const int ntypes, double **host_cutsq, double **host_uf1, + double **host_uf2, double **host_uf3, + double **host_uf4, double **host_offset) { + // Allocate a host write buffer for data initialization + UCL_H_Vec host_write(_lj_types*_lj_types*32,*(this->ucl_device), + UCL_WRITE_ONLY); + + for (int i=0; i<_lj_types*_lj_types; i++) + host_write[i]=0.0; + + this->atom->type_pack4(ntypes,_lj_types,uf1,host_write,host_uf1,host_uf2, + host_cutsq); + this->atom->type_pack4(ntypes,_lj_types,uf3,host_write,host_uf3,host_uf4, + host_offset); +} + +template +void UFMT::clear() { + if (!_allocated) + return; + _allocated=false; + + uf1.clear(); + uf3.clear(); + sp_lj.clear(); + this->clear_atomic(); +} + +template +double UFMT::host_memory_usage() const { + return this->host_memory_usage_atomic()+sizeof(UFM); +} + +// --------------------------------------------------------------------------- +// Calculate energies, forces, and torques +// --------------------------------------------------------------------------- +template +void UFMT::loop(const bool _eflag, const bool _vflag) { + // Compute the block size and grid size to keep all cores busy + const int BX=this->block_size(); + int eflag, vflag; + if (_eflag) + eflag=1; + else + eflag=0; + + if (_vflag) + vflag=1; + else + vflag=0; + + int GX=static_cast(ceil(static_cast(this->ans->inum())/ + (BX/this->_threads_per_atom))); + + int ainum=this->ans->inum(); + int nbor_pitch=this->nbor->nbor_pitch(); + this->time_pair.start(); + if (shared_types) { + this->k_pair_fast.set_size(GX,BX); + this->k_pair_fast.run(&this->atom->x, &uf1, &uf3, &sp_lj, + &this->nbor->dev_nbor, &this->_nbor_data->begin(), + &this->ans->force, &this->ans->engv, &eflag, + &vflag, &ainum, &nbor_pitch, + &this->_threads_per_atom); + } else { + this->k_pair.set_size(GX,BX); + this->k_pair.run(&this->atom->x, &uf1, &uf3, &_lj_types, &sp_lj, + &this->nbor->dev_nbor, &this->_nbor_data->begin(), + &this->ans->force, &this->ans->engv, &eflag, &vflag, + &ainum, &nbor_pitch, &this->_threads_per_atom); + } + this->time_pair.stop(); +} + +template class UFM; diff --git a/lib/gpu/lal_ufm.cu b/lib/gpu/lal_ufm.cu new file mode 100644 index 0000000000000000000000000000000000000000..51c4df3b5b9cfac3516ece739aebb0e7b3afd123 --- /dev/null +++ b/lib/gpu/lal_ufm.cu @@ -0,0 +1,188 @@ +/*************************************************************************** + ufm.cu + ------------------- + Rodolfo Paula Leite (Unicamp/Brazil) + Maurice de Koning (Unicamp/Brazil) + + Device code for acceleration of the ufm pair style + + __________________________________________________________________________ + This file is part of the LAMMPS Accelerator Library (LAMMPS_AL) + __________________________________________________________________________ + + begin : + email : pl.rodolfo@gmail.com + dekoning@ifi.unicamp.br + ***************************************************************************/ + +#ifdef NV_KERNEL +#include "lal_aux_fun1.h" +#ifndef _DOUBLE_DOUBLE +texture pos_tex; +#else +texture pos_tex; +#endif +#else +#define pos_tex x_ +#endif + +__kernel void k_ufm(const __global numtyp4 *restrict x_, + const __global numtyp4 *restrict uf1, + const __global numtyp4 *restrict uf3, + const int lj_types, + const __global numtyp *restrict sp_lj, + const __global int * dev_nbor, + const __global int * dev_packed, + __global acctyp4 *restrict ans, + __global acctyp *restrict engv, + const int eflag, const int vflag, const int inum, + const int nbor_pitch, const int t_per_atom) { + int tid, ii, offset; + atom_info(t_per_atom,ii,tid,offset); + + acctyp energy=(acctyp)0; + acctyp4 f; + f.x=(acctyp)0; f.y=(acctyp)0; f.z=(acctyp)0; + acctyp virial[6]; + for (int i=0; i<6; i++) + virial[i]=(acctyp)0; + + if (ii0) { + energy += - factor_lj * uf3[mtype].x*log(1.0 - expuf) - uf3[mtype].z; + } + if (vflag>0) { + virial[0] += delx*delx*force; + virial[1] += dely*dely*force; + virial[2] += delz*delz*force; + virial[3] += delx*dely*force; + virial[4] += delx*delz*force; + virial[5] += dely*delz*force; + } + } + + } // for nbor + store_answers(f,energy,virial,ii,inum,tid,t_per_atom,offset,eflag,vflag, + ans,engv); + } // if ii +} + +__kernel void k_ufm_fast(const __global numtyp4 *restrict x_, + const __global numtyp4 *restrict uf1_in, + const __global numtyp4 *restrict uf3_in, + const __global numtyp *restrict sp_lj_in, + const __global int * dev_nbor, + const __global int * dev_packed, + __global acctyp4 *restrict ans, + __global acctyp *restrict engv, + const int eflag, const int vflag, const int inum, + const int nbor_pitch, const int t_per_atom) { + int tid, ii, offset; + atom_info(t_per_atom,ii,tid,offset); + + __local numtyp4 uf1[MAX_SHARED_TYPES*MAX_SHARED_TYPES]; + __local numtyp4 uf3[MAX_SHARED_TYPES*MAX_SHARED_TYPES]; + __local numtyp sp_lj[4]; + if (tid<4) + sp_lj[tid]=sp_lj_in[tid]; + if (tid0) + uf3[tid]=uf3_in[tid]; + } + + acctyp energy=(acctyp)0; + acctyp4 f; + f.x=(acctyp)0; f.y=(acctyp)0; f.z=(acctyp)0; + acctyp virial[6]; + for (int i=0; i<6; i++) + virial[i]=(acctyp)0; + + __syncthreads(); + + if (ii0) { + energy += - factor_lj * uf3[mtype].x * log(1.0 - expuf) - uf3[mtype].z; + } + if (vflag>0) { + virial[0] += delx*delx*force; + virial[1] += dely*dely*force; + virial[2] += delz*delz*force; + virial[3] += delx*dely*force; + virial[4] += delx*delz*force; + virial[5] += dely*delz*force; + } + } + + } // for nbor + store_answers(f,energy,virial,ii,inum,tid,t_per_atom,offset,eflag,vflag, + ans,engv); + } // if ii +} + diff --git a/lib/gpu/lal_ufm.h b/lib/gpu/lal_ufm.h new file mode 100644 index 0000000000000000000000000000000000000000..aeeaacbe99003c36e01d1a49586f60ec0bacb4ac --- /dev/null +++ b/lib/gpu/lal_ufm.h @@ -0,0 +1,86 @@ +/*************************************************************************** + ufm.h + ------------------- + Rodolfo Paula Leite (Unicamp/Brazil) + Maurice de Koning (Unicamp/Brazil) + + Class for acceleration of the ufm pair style. + + __________________________________________________________________________ + This file is part of the LAMMPS Accelerator Library (LAMMPS_AL) + __________________________________________________________________________ + + begin : + email : pl.rodolfo@gmail.com + dekoning@ifi.unicamp.br + ***************************************************************************/ + +#ifndef LAL_UFM_H +#define LAL_UFM_H + +#include "lal_base_atomic.h" + +namespace LAMMPS_AL { + +template +class UFM : public BaseAtomic { + public: + UFM(); + ~UFM(); + + /// Clear any previous data and set up for a new LAMMPS run + /** \param max_nbors initial number of rows in the neighbor matrix + * \param cell_size cutoff + skin + * \param gpu_split fraction of particles handled by device + * + * Returns: + * - 0 if successfull + * - -1 if fix gpu not found + * - -3 if there is an out of memory error + * - -4 if the GPU library was not compiled for GPU + * - -5 Double precision is not supported on card **/ + int init(const int ntypes, double **host_cutsq, + double **host_uf1, double **host_uf2, double **host_uf3, + double **host_uf4, double **host_offset, double *host_special_lj, + const int nlocal, const int nall, const int max_nbors, + const int maxspecial, const double cell_size, + const double gpu_split, FILE *screen); + + /// Send updated coeffs from host to device (to be compatible with fix adapt) + void reinit(const int ntypes, double **host_cutsq, + double **host_uf1, double **host_uf2, double **host_uf3, + double **host_uf4, double **host_offset); + + /// Clear all host and device data + /** \note This is called at the beginning of the init() routine **/ + void clear(); + + /// Returns memory usage on device per atom + int bytes_per_atom(const int max_nbors) const; + + /// Total host memory used by library for pair style + double host_memory_usage() const; + + // --------------------------- TYPE DATA -------------------------- + + /// uf1.x = uf1, uf1.y = uf2, uf1.z = cutsq + UCL_D_Vec uf1; + /// uf3.x = uf3, uf3.y = uf4, uf3.z = offset + UCL_D_Vec uf3; + /// Special LJ values + UCL_D_Vec sp_lj; + + /// If atom type constants fit in shared memory, use fast kernels + bool shared_types; + + /// Number of atom types + int _lj_types; + + private: + bool _allocated; + void loop(const bool _eflag, const bool _vflag); +}; + +} + +#endif diff --git a/lib/gpu/lal_ufm_ext.cpp b/lib/gpu/lal_ufm_ext.cpp new file mode 100644 index 0000000000000000000000000000000000000000..ae4a5fb8fc9fe11e658271154178610173541683 --- /dev/null +++ b/lib/gpu/lal_ufm_ext.cpp @@ -0,0 +1,143 @@ +/*************************************************************************** + ufm_ext.cpp + ------------------------------ + Rodolfo Paula Leite (Unicamp/Brazil) + Maurice de Koning (Unicamp/Brazil) + + Functions for LAMMPS access to ufm acceleration routines. + + __________________________________________________________________________ + This file is part of the LAMMPS Accelerator Library (LAMMPS_AL) + __________________________________________________________________________ + + begin : + email : pl.rodolfo@gmail.com + dekoning@ifi.unicamp.br + ***************************************************************************/ + +#include +#include +#include + +#include "lal_ufm.h" + +using namespace std; +using namespace LAMMPS_AL; + +static UFM UFMLMF; + +// --------------------------------------------------------------------------- +// Allocate memory on host and device and copy constants to device +// --------------------------------------------------------------------------- +int ufml_gpu_init(const int ntypes, double **cutsq, double **host_uf1, + double **host_uf2, double **host_uf3, double **host_uf4, + double **offset, double *special_lj, const int inum, const int nall, + const int max_nbors, const int maxspecial, const double cell_size, + int &gpu_mode, FILE *screen) { + UFMLMF.clear(); + gpu_mode=UFMLMF.device->gpu_mode(); + double gpu_split=UFMLMF.device->particle_split(); + int first_gpu=UFMLMF.device->first_device(); + int last_gpu=UFMLMF.device->last_device(); + int world_me=UFMLMF.device->world_me(); + int gpu_rank=UFMLMF.device->gpu_rank(); + int procs_per_gpu=UFMLMF.device->procs_per_gpu(); + + UFMLMF.device->init_message(screen,"ufm",first_gpu,last_gpu); + + bool message=false; + if (UFMLMF.device->replica_me()==0 && screen) + message=true; + + if (message) { + fprintf(screen,"Initializing Device and compiling on process 0..."); + fflush(screen); + } + + int init_ok=0; + if (world_me==0) + init_ok=UFMLMF.init(ntypes, cutsq, host_uf1, host_uf2, host_uf3, + host_uf4, offset, special_lj, inum, nall, 300, + maxspecial, cell_size, gpu_split, screen); + + UFMLMF.device->world_barrier(); + if (message) + fprintf(screen,"Done.\n"); + + for (int i=0; igpu_barrier(); + if (message) + fprintf(screen,"Done.\n"); + } + if (message) + fprintf(screen,"\n"); + + if (init_ok==0) + UFMLMF.estimate_gpu_overhead(); + return init_ok; +} + +// --------------------------------------------------------------------------- +// Copy updated coeffs from host to device +// --------------------------------------------------------------------------- +void ufml_gpu_reinit(const int ntypes, double **cutsq, double **host_uf1, + double **host_uf2, double **host_uf3, double **host_uf4, + double **offset) { + int world_me=UFMLMF.device->world_me(); + int gpu_rank=UFMLMF.device->gpu_rank(); + int procs_per_gpu=UFMLMF.device->procs_per_gpu(); + + if (world_me==0) + UFMLMF.reinit(ntypes, cutsq, host_uf1, host_uf2, host_uf3, host_uf4, offset); + UFMLMF.device->world_barrier(); + + for (int i=0; igpu_barrier(); + } +} + +void ufml_gpu_clear() { + UFMLMF.clear(); +} + +int ** ufml_gpu_compute_n(const int ago, const int inum_full, + const int nall, double **host_x, int *host_type, + double *sublo, double *subhi, tagint *tag, int **nspecial, + tagint **special, const bool eflag, const bool vflag, + const bool eatom, const bool vatom, int &host_start, + int **ilist, int **jnum, const double cpu_time, + bool &success) { + return UFMLMF.compute(ago, inum_full, nall, host_x, host_type, sublo, + subhi, tag, nspecial, special, eflag, vflag, eatom, + vatom, host_start, ilist, jnum, cpu_time, success); +} + +void ufml_gpu_compute(const int ago, const int inum_full, const int nall, + double **host_x, int *host_type, int *ilist, int *numj, + int **firstneigh, const bool eflag, const bool vflag, + const bool eatom, const bool vatom, int &host_start, + const double cpu_time, bool &success) { + UFMLMF.compute(ago,inum_full,nall,host_x,host_type,ilist,numj, + firstneigh,eflag,vflag,eatom,vatom,host_start,cpu_time,success); +} + +double ufml_gpu_bytes() { + return UFMLMF.host_memory_usage(); +} + + diff --git a/lib/kokkos/CHANGELOG.md b/lib/kokkos/CHANGELOG.md index e3de6b048d7fdbcbda354497fa86cba7f03acf69..feb2bd547f034a5ef233667a3a9b5c3d0e02d3f8 100644 --- a/lib/kokkos/CHANGELOG.md +++ b/lib/kokkos/CHANGELOG.md @@ -1,5 +1,49 @@ # Change Log +## [2.6.00](https://github.com/kokkos/kokkos/tree/2.6.00) (2018-03-07) +[Full Changelog](https://github.com/kokkos/kokkos/compare/2.5.00...2.6.00) + +**Part of the Kokkos C++ Performance Portability Programming EcoSystem 2.6** + +**Implemented enhancements:** + +- Support NVIDIA Volta microarchitecture [\#1466](https://github.com/kokkos/kokkos/issues/1466) +- Kokkos - Define empty functions when profiling disabled [\#1424](https://github.com/kokkos/kokkos/issues/1424) +- Don't use \_\_constant\_\_ cache for lock arrays, enable once per run update instead of once per call [\#1385](https://github.com/kokkos/kokkos/issues/1385) +- task dag enhancement. [\#1354](https://github.com/kokkos/kokkos/issues/1354) +- Cuda task team collectives and stack size [\#1353](https://github.com/kokkos/kokkos/issues/1353) +- Replace View operator acceptance of more than rank integers with 'access' function [\#1333](https://github.com/kokkos/kokkos/issues/1333) +- Interoperability: Do not shut down backend execution space runtimes upon calling finalize. [\#1305](https://github.com/kokkos/kokkos/issues/1305) +- shmem\_size for LayoutStride [\#1291](https://github.com/kokkos/kokkos/issues/1291) +- Kokkos::resize performs poorly on 1D Views [\#1270](https://github.com/kokkos/kokkos/issues/1270) +- stride\(\) is inconsistent with dimension\(\), extent\(\), etc. [\#1214](https://github.com/kokkos/kokkos/issues/1214) +- Kokkos::sort defaults to std::sort on host [\#1208](https://github.com/kokkos/kokkos/issues/1208) +- DynamicView with host size grow [\#1206](https://github.com/kokkos/kokkos/issues/1206) +- Unmanaged View with Anonymous Memory Space [\#1175](https://github.com/kokkos/kokkos/issues/1175) +- Sort subset of Kokkos::DynamicView [\#1160](https://github.com/kokkos/kokkos/issues/1160) +- MDRange policy doesn't support lambda reductions [\#1054](https://github.com/kokkos/kokkos/issues/1054) +- Add ability to set hook on Kokkos::finalize [\#714](https://github.com/kokkos/kokkos/issues/714) +- Atomics with Serial Backend - Default should be Disable? [\#549](https://github.com/kokkos/kokkos/issues/549) +- KOKKOS\_ENABLE\_DEPRECATED\_CODE [\#1359](https://github.com/kokkos/kokkos/issues/1359) + +**Fixed bugs:** + +- cuda\_internal\_maximum\_warp\_count returns 8, but I believe it should return 16 for P100 [\#1269](https://github.com/kokkos/kokkos/issues/1269) +- Cuda: level 1 scratch memory bug \(reported by Stan Moore\) [\#1434](https://github.com/kokkos/kokkos/issues/1434) +- MDRangePolicy Reduction requires value\_type typedef in Functor [\#1379](https://github.com/kokkos/kokkos/issues/1379) +- Kokkos DeepCopy between empty views fails [\#1369](https://github.com/kokkos/kokkos/issues/1369) +- Several issues with new CMake build infrastructure \(reported by Eric Phipps\) [\#1365](https://github.com/kokkos/kokkos/issues/1365) +- deep\_copy between rank-1 host/device views of differing layouts without UVM no longer works \(reported by Eric Phipps\) [\#1363](https://github.com/kokkos/kokkos/issues/1363) +- Profiling can't be disabled in CMake, and a parallel\_for is missing for tasks \(reported by Kyungjoo Kim\) [\#1349](https://github.com/kokkos/kokkos/issues/1349) +- get\_work\_partition int overflow \(reported by berryj5\) [\#1327](https://github.com/kokkos/kokkos/issues/1327) +- Kokkos::deep\_copy must fence even if the two views are the same [\#1303](https://github.com/kokkos/kokkos/issues/1303) +- CudaUVMSpace::allocate/deallocate must fence [\#1302](https://github.com/kokkos/kokkos/issues/1302) +- ViewResize on CUDA fails in Debug because of too many resources requested [\#1299](https://github.com/kokkos/kokkos/issues/1299) +- Cuda 9 and intrepid2 calls from Panzer. [\#1183](https://github.com/kokkos/kokkos/issues/1183) +- Slowdown due to tracking\_enabled\(\) in 2.04.00 \(found by Albany app\) [\#1016](https://github.com/kokkos/kokkos/issues/1016) +- Bounds checking fails with zero-span Views \(reported by Stan Moore\) [\#1411](https://github.com/kokkos/kokkos/issues/1411) + + ## [2.5.00](https://github.com/kokkos/kokkos/tree/2.5.00) (2017-12-15) [Full Changelog](https://github.com/kokkos/kokkos/compare/2.04.11...2.5.00) diff --git a/lib/kokkos/CMakeLists.txt b/lib/kokkos/CMakeLists.txt index 9c708ded4a460a3b67224a8aeec9e80c6010157b..cd1f4ea981339a5ff01095be9bca144cdb5d9064 100644 --- a/lib/kokkos/CMakeLists.txt +++ b/lib/kokkos/CMakeLists.txt @@ -7,7 +7,7 @@ ELSE() ENDIF() IF(NOT KOKKOS_HAS_TRILINOS) - cmake_minimum_required(VERSION 3.1 FATAL_ERROR) + cmake_minimum_required(VERSION 3.3 FATAL_ERROR) # Define Project Name if this is a standalone build IF(NOT DEFINED ${PROJECT_NAME}) @@ -37,9 +37,19 @@ IF(NOT KOKKOS_HAS_TRILINOS) COMMAND ${KOKKOS_SETTINGS} make -f ${KOKKOS_SRC_PATH}/cmake/Makefile.generate_cmake_settings CXX=${CMAKE_CXX_COMPILER} generate_build_settings WORKING_DIRECTORY "${Kokkos_BINARY_DIR}" OUTPUT_FILE ${Kokkos_BINARY_DIR}/core_src_make.out - RESULT_VARIABLE res + RESULT_VARIABLE GEN_SETTINGS_RESULT ) + if (GEN_SETTINGS_RESULT) + message(FATAL_ERROR "Kokkos settings generation failed:\n" + "${KOKKOS_SETTINGS} make -f ${KOKKOS_SRC_PATH}/cmake/Makefile.generate_cmake_settings CXX=${CMAKE_CXX_COMPILER} generate_build_settings") + endif() include(${Kokkos_BINARY_DIR}/kokkos_generated_settings.cmake) + string(REPLACE " " ";" KOKKOS_TPL_INCLUDE_DIRS "${KOKKOS_GMAKE_TPL_INCLUDE_DIRS}") + string(REPLACE " " ";" KOKKOS_TPL_LIBRARY_DIRS "${KOKKOS_GMAKE_TPL_LIBRARY_DIRS}") + string(REPLACE " " ";" KOKKOS_TPL_LIBRARY_NAMES "${KOKKOS_GMAKE_TPL_LIBRARY_NAMES}") + list(REMOVE_ITEM KOKKOS_TPL_INCLUDE_DIRS "") + list(REMOVE_ITEM KOKKOS_TPL_LIBRARY_DIRS "") + list(REMOVE_ITEM KOKKOS_TPL_LIBRARY_NAMES "") set_kokkos_srcs(KOKKOS_SRC ${KOKKOS_SRC}) #------------ NOW BUILD ------------------------------------------------------ diff --git a/lib/kokkos/Copyright.txt b/lib/kokkos/Copyright.txt index 05980758fa8fe6317bb08fcc6eb70668b5fd1580..50b76995af47381395ba4b9d0ad72ac7f57e4655 100644 --- a/lib/kokkos/Copyright.txt +++ b/lib/kokkos/Copyright.txt @@ -34,7 +34,7 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER diff --git a/lib/kokkos/HOW_TO_SNAPSHOT b/lib/kokkos/HOW_TO_SNAPSHOT index 46bfb4167f9023a8273ebc872ac450c626603bf0..ad3f78efb4f8dd8399e3fb2889def7e841b531f9 100644 --- a/lib/kokkos/HOW_TO_SNAPSHOT +++ b/lib/kokkos/HOW_TO_SNAPSHOT @@ -19,7 +19,7 @@ snapshot Kokkos from github.com/kokkos to Trilinos. 3) Snapshot the current commit in the Kokkos clone into the Trilinos clone. This overwrites ${TRILINOS}/packages/kokkos with the content of ${KOKKOS}: - ${KOKKOS}/config/snapshot.py --verbose ${KOKKOS} ${TRILINOS}/packages + ${KOKKOS}/scripts/snapshot.py --verbose ${KOKKOS} ${TRILINOS}/packages 4) Verify the snapshot commit happened as expected cd ${TRILINOS}/packages/kokkos diff --git a/lib/kokkos/LICENSE b/lib/kokkos/LICENSE index 7341a699d6fc52c7863e7a4dbaab7ad892da4fd5..c68a8a2a9f98983e6bb7e02aaae0ce705a241ffc 100644 --- a/lib/kokkos/LICENSE +++ b/lib/kokkos/LICENSE @@ -36,7 +36,7 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER diff --git a/lib/kokkos/Makefile.kokkos b/lib/kokkos/Makefile.kokkos index 4315b009d5d2eb636079002dbcaed66afbf029ca..a7bb63f190348405267c3ea50e0f55dcf20645a3 100644 --- a/lib/kokkos/Makefile.kokkos +++ b/lib/kokkos/Makefile.kokkos @@ -9,8 +9,8 @@ KOKKOS_DEVICES ?= "OpenMP" #KOKKOS_DEVICES ?= "Pthreads" # Options: # Intel: KNC,KNL,SNB,HSW,BDW,SKX -# NVIDIA: Kepler,Kepler30,Kepler32,Kepler35,Kepler37,Maxwell,Maxwell50,Maxwell52,Maxwell53,Pascal60,Pascal61 -# ARM: ARMv80,ARMv81,ARMv8-ThunderX +# NVIDIA: Kepler,Kepler30,Kepler32,Kepler35,Kepler37,Maxwell,Maxwell50,Maxwell52,Maxwell53,Pascal60,Pascal61,Volta70,Volta72 +# ARM: ARMv80,ARMv81,ARMv8-ThunderX,ARMv8-TX2 # IBM: BGQ,Power7,Power8,Power9 # AMD-GPUS: Kaveri,Carrizo,Fiji,Vega # AMD-CPUS: AMDAVX,Ryzen,Epyc @@ -21,7 +21,7 @@ KOKKOS_DEBUG ?= "no" KOKKOS_USE_TPLS ?= "" # Options: c++11,c++1z KOKKOS_CXX_STANDARD ?= "c++11" -# Options: aggressive_vectorization,disable_profiling +# Options: aggressive_vectorization,disable_profiling,disable_deprecated_code KOKKOS_OPTIONS ?= "" # Default settings specific options. @@ -48,6 +48,7 @@ KOKKOS_INTERNAL_USE_MEMKIND := $(call kokkos_has_string,$(KOKKOS_USE_TPLS),exper KOKKOS_INTERNAL_ENABLE_COMPILER_WARNINGS := $(call kokkos_has_string,$(KOKKOS_OPTIONS),compiler_warnings) KOKKOS_INTERNAL_OPT_RANGE_AGGRESSIVE_VECTORIZATION := $(call kokkos_has_string,$(KOKKOS_OPTIONS),aggressive_vectorization) KOKKOS_INTERNAL_DISABLE_PROFILING := $(call kokkos_has_string,$(KOKKOS_OPTIONS),disable_profiling) +KOKKOS_INTERNAL_DISABLE_DEPRECATED_CODE := $(call kokkos_has_string,$(KOKKOS_OPTIONS),disable_deprecated_code) KOKKOS_INTERNAL_DISABLE_DUALVIEW_MODIFY_CHECK := $(call kokkos_has_string,$(KOKKOS_OPTIONS),disable_dualview_modify_check) KOKKOS_INTERNAL_ENABLE_PROFILING_LOAD_PRINT := $(call kokkos_has_string,$(KOKKOS_OPTIONS),enable_profile_load_print) KOKKOS_INTERNAL_CUDA_USE_LDG := $(call kokkos_has_string,$(KOKKOS_CUDA_OPTIONS),use_ldg) @@ -93,7 +94,7 @@ KOKKOS_INTERNAL_COMPILER_INTEL := $(call kokkos_has_string,$(KOKKOS_CXX_VE KOKKOS_INTERNAL_COMPILER_PGI := $(call kokkos_has_string,$(KOKKOS_CXX_VERSION),PGI) KOKKOS_INTERNAL_COMPILER_XL := $(strip $(shell $(CXX) -qversion 2>&1 | grep XL | wc -l)) KOKKOS_INTERNAL_COMPILER_CRAY := $(strip $(shell $(CXX) -craype-verbose 2>&1 | grep "CC-" | wc -l)) -KOKKOS_INTERNAL_COMPILER_NVCC := $(strip $(shell export OMPI_CXX=$(OMPI_CXX); export MPICH_CXX=$(MPICH_CXX); $(CXX) --version 2>&1 | grep nvcc | wc -l)) +KOKKOS_INTERNAL_COMPILER_NVCC := $(strip $(shell export OMPI_CXX=$(OMPI_CXX); export MPICH_CXX=$(MPICH_CXX); $(CXX) --version 2>&1 | grep nvcc | wc -l)) KOKKOS_INTERNAL_COMPILER_CLANG := $(call kokkos_has_string,$(KOKKOS_CXX_VERSION),clang) KOKKOS_INTERNAL_COMPILER_APPLE_CLANG := $(call kokkos_has_string,$(KOKKOS_CXX_VERSION),apple-darwin) KOKKOS_INTERNAL_COMPILER_HCC := $(call kokkos_has_string,$(KOKKOS_CXX_VERSION),HCC) @@ -229,12 +230,16 @@ KOKKOS_INTERNAL_USE_ARCH_MAXWELL52 := $(call kokkos_has_string,$(KOKKOS_ARCH),Ma KOKKOS_INTERNAL_USE_ARCH_MAXWELL53 := $(call kokkos_has_string,$(KOKKOS_ARCH),Maxwell53) KOKKOS_INTERNAL_USE_ARCH_PASCAL61 := $(call kokkos_has_string,$(KOKKOS_ARCH),Pascal61) KOKKOS_INTERNAL_USE_ARCH_PASCAL60 := $(call kokkos_has_string,$(KOKKOS_ARCH),Pascal60) +KOKKOS_INTERNAL_USE_ARCH_VOLTA70 := $(call kokkos_has_string,$(KOKKOS_ARCH),Volta70) +KOKKOS_INTERNAL_USE_ARCH_VOLTA72 := $(call kokkos_has_string,$(KOKKOS_ARCH),Volta72) KOKKOS_INTERNAL_USE_ARCH_NVIDIA := $(shell expr $(KOKKOS_INTERNAL_USE_ARCH_KEPLER30) \ + $(KOKKOS_INTERNAL_USE_ARCH_KEPLER32) \ + $(KOKKOS_INTERNAL_USE_ARCH_KEPLER35) \ + $(KOKKOS_INTERNAL_USE_ARCH_KEPLER37) \ + $(KOKKOS_INTERNAL_USE_ARCH_PASCAL61) \ + $(KOKKOS_INTERNAL_USE_ARCH_PASCAL60) \ + + $(KOKKOS_INTERNAL_USE_ARCH_VOLTA70) \ + + $(KOKKOS_INTERNAL_USE_ARCH_VOLTA72) \ + $(KOKKOS_INTERNAL_USE_ARCH_MAXWELL50) \ + $(KOKKOS_INTERNAL_USE_ARCH_MAXWELL52) \ + $(KOKKOS_INTERNAL_USE_ARCH_MAXWELL53)) @@ -249,6 +254,8 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_NVIDIA), 0) + $(KOKKOS_INTERNAL_USE_ARCH_KEPLER37) \ + $(KOKKOS_INTERNAL_USE_ARCH_PASCAL61) \ + $(KOKKOS_INTERNAL_USE_ARCH_PASCAL60) \ + + $(KOKKOS_INTERNAL_USE_ARCH_VOLTA70) \ + + $(KOKKOS_INTERNAL_USE_ARCH_VOLTA72) \ + $(KOKKOS_INTERNAL_USE_ARCH_MAXWELL50) \ + $(KOKKOS_INTERNAL_USE_ARCH_MAXWELL52) \ + $(KOKKOS_INTERNAL_USE_ARCH_MAXWELL53)) @@ -267,7 +274,8 @@ endif KOKKOS_INTERNAL_USE_ARCH_ARMV80 := $(call kokkos_has_string,$(KOKKOS_ARCH),ARMv80) KOKKOS_INTERNAL_USE_ARCH_ARMV81 := $(call kokkos_has_string,$(KOKKOS_ARCH),ARMv81) KOKKOS_INTERNAL_USE_ARCH_ARMV8_THUNDERX := $(call kokkos_has_string,$(KOKKOS_ARCH),ARMv8-ThunderX) -KOKKOS_INTERNAL_USE_ARCH_ARM := $(strip $(shell echo $(KOKKOS_INTERNAL_USE_ARCH_ARMV80)+$(KOKKOS_INTERNAL_USE_ARCH_ARMV81)+$(KOKKOS_INTERNAL_USE_ARCH_ARMV8_THUNDERX) | bc)) +KOKKOS_INTERNAL_USE_ARCH_ARMV8_THUNDERX2 := $(call kokkos_has_string,$(KOKKOS_ARCH),ARMv8-TX2) +KOKKOS_INTERNAL_USE_ARCH_ARM := $(strip $(shell echo $(KOKKOS_INTERNAL_USE_ARCH_ARMV80)+$(KOKKOS_INTERNAL_USE_ARCH_ARMV81)+$(KOKKOS_INTERNAL_USE_ARCH_ARMV8_THUNDERX)+$(KOKKOS_INTERNAL_USE_ARCH_ARMV8_THUNDERX2) | bc)) # IBM based. KOKKOS_INTERNAL_USE_ARCH_BGQ := $(call kokkos_has_string,$(KOKKOS_ARCH),BGQ) @@ -316,6 +324,9 @@ endif # Generating the list of Flags. KOKKOS_CPPFLAGS = -I./ -I$(KOKKOS_PATH)/core/src -I$(KOKKOS_PATH)/containers/src -I$(KOKKOS_PATH)/algorithms/src +KOKKOS_TPL_INCLUDE_DIRS = +KOKKOS_TPL_LIBRARY_DIRS = +KOKKOS_TPL_LIBRARY_NAMES = KOKKOS_CXXFLAGS = ifeq ($(KOKKOS_INTERNAL_ENABLE_COMPILER_WARNINGS), 1) @@ -323,7 +334,9 @@ ifeq ($(KOKKOS_INTERNAL_ENABLE_COMPILER_WARNINGS), 1) endif KOKKOS_LIBS = -ldl +KOKKOS_TPL_LIBRARY_NAMES += dl KOKKOS_LDFLAGS = -L$(shell pwd) +KOKKOS_LINK_FLAGS = KOKKOS_SRC = KOKKOS_HEADERS = @@ -437,21 +450,32 @@ ifeq ($(KOKKOS_INTERNAL_ENABLE_PROFILING_LOAD_PRINT), 1) endif ifeq ($(KOKKOS_INTERNAL_USE_HWLOC), 1) - KOKKOS_CPPFLAGS += -I$(HWLOC_PATH)/include - KOKKOS_LDFLAGS += -L$(HWLOC_PATH)/lib + ifneq ($(HWLOC_PATH),) + KOKKOS_CPPFLAGS += -I$(HWLOC_PATH)/include + KOKKOS_LDFLAGS += -L$(HWLOC_PATH)/lib + KOKKOS_TPL_INCLUDE_DIRS += $(HWLOC_PATH)/include + KOKKOS_TPL_LIBRARY_DIRS += $(HWLOC_PATH)/lib + endif KOKKOS_LIBS += -lhwloc + KOKKOS_TPL_LIBRARY_NAMES += hwloc tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_HWLOC") endif ifeq ($(KOKKOS_INTERNAL_USE_LIBRT), 1) tmp := $(call kokkos_append_header,"\#define KOKKOS_USE_LIBRT") KOKKOS_LIBS += -lrt + KOKKOS_TPL_LIBRARY_NAMES += rt endif ifeq ($(KOKKOS_INTERNAL_USE_MEMKIND), 1) - KOKKOS_CPPFLAGS += -I$(MEMKIND_PATH)/include - KOKKOS_LDFLAGS += -L$(MEMKIND_PATH)/lib + ifneq ($(MEMKIND_PATH),) + KOKKOS_CPPFLAGS += -I$(MEMKIND_PATH)/include + KOKKOS_LDFLAGS += -L$(MEMKIND_PATH)/lib + KOKKOS_TPL_INCLUDE_DIRS += $(MEMKIND_PATH)/include + KOKKOS_TPL_LIBRARY_DIRS += $(MEMKIND_PATH)/lib + endif KOKKOS_LIBS += -lmemkind -lnuma + KOKKOS_TPL_LIBRARY_NAMES += memkind numa tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_HBWSPACE") endif @@ -459,6 +483,10 @@ ifeq ($(KOKKOS_INTERNAL_DISABLE_PROFILING), 0) tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_PROFILING") endif +ifeq ($(KOKKOS_INTERNAL_DISABLE_DEPRECATED_CODE), 0) + tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_DEPRECATED_CODE") +endif + tmp := $(call kokkos_append_header,"/* Optimization Settings */") ifeq ($(KOKKOS_INTERNAL_OPT_RANGE_AGGRESSIVE_VECTORIZATION), 1) @@ -560,6 +588,24 @@ ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ARMV8_THUNDERX), 1) endif endif +ifeq ($(KOKKOS_INTERNAL_USE_ARCH_ARMV8_THUNDERX2), 1) + tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_ARMV81") + tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_ARMV8_THUNDERX2") + + ifeq ($(KOKKOS_INTERNAL_COMPILER_CRAY), 1) + KOKKOS_CXXFLAGS += + KOKKOS_LDFLAGS += + else + ifeq ($(KOKKOS_INTERNAL_COMPILER_PGI), 1) + KOKKOS_CXXFLAGS += + KOKKOS_LDFLAGS += + else + KOKKOS_CXXFLAGS += -mtune=thunderx2t99 -mcpu=thunderx2t99 + KOKKOS_LDFLAGS += -mtune=thunderx2t99 -mcpu=thunderx2t99 + endif + endif +endif + ifeq ($(KOKKOS_INTERNAL_USE_ARCH_SSE42), 1) tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_SSE42") @@ -754,10 +800,11 @@ endif ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) ifeq ($(KOKKOS_INTERNAL_COMPILER_NVCC), 1) KOKKOS_INTERNAL_CUDA_ARCH_FLAG=-arch - endif - ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1) - KOKKOS_INTERNAL_CUDA_ARCH_FLAG=--cuda-gpu-arch - KOKKOS_CXXFLAGS += -x cuda + else ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1) + KOKKOS_INTERNAL_CUDA_ARCH_FLAG=--cuda-gpu-arch + KOKKOS_CXXFLAGS += -x cuda + else + $(error Makefile.kokkos: CUDA is enabled but the compiler is neither NVCC nor Clang) endif ifeq ($(KOKKOS_INTERNAL_USE_ARCH_KEPLER30), 1) @@ -805,6 +852,16 @@ ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_PASCAL61") KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_61 endif + ifeq ($(KOKKOS_INTERNAL_USE_ARCH_VOLTA70), 1) + tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_VOLTA") + tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_VOLTA70") + KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_70 + endif + ifeq ($(KOKKOS_INTERNAL_USE_ARCH_VOLTA72), 1) + tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_VOLTA") + tmp := $(call kokkos_append_header,"\#define KOKKOS_ARCH_VOLTA72") + KOKKOS_INTERNAL_CUDA_ARCH_FLAG := $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG)=sm_72 + endif ifneq ($(KOKKOS_INTERNAL_USE_ARCH_NVIDIA), 0) KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CUDA_ARCH_FLAG) @@ -850,6 +907,7 @@ ifeq ($(KOKKOS_INTERNAL_USE_ROCM), 1) KOKKOS_CXXFLAGS += $(shell $(ROCM_HCC_PATH)/bin/hcc-config --cxxflags) KOKKOS_LDFLAGS += $(shell $(ROCM_HCC_PATH)/bin/hcc-config --ldflags) -lhc_am -lm + KOKKOS_TPL_LIBRARY_NAMES += hc_am m KOKKOS_LDFLAGS += $(KOKKOS_INTERNAL_ROCM_ARCH_FLAG) KOKKOS_SRC += $(wildcard $(KOKKOS_PATH)/core/src/ROCm/*.cpp) @@ -880,13 +938,17 @@ KOKKOS_SRC += $(wildcard $(KOKKOS_PATH)/containers/src/impl/*.cpp) ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) KOKKOS_SRC += $(wildcard $(KOKKOS_PATH)/core/src/Cuda/*.cpp) KOKKOS_HEADERS += $(wildcard $(KOKKOS_PATH)/core/src/Cuda/*.hpp) - KOKKOS_CPPFLAGS += -I$(CUDA_PATH)/include - KOKKOS_LDFLAGS += -L$(CUDA_PATH)/lib64 - KOKKOS_LIBS += -lcudart -lcuda - - ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1) - KOKKOS_CXXFLAGS += --cuda-path=$(CUDA_PATH) + ifneq ($(CUDA_PATH),) + KOKKOS_CPPFLAGS += -I$(CUDA_PATH)/include + KOKKOS_LDFLAGS += -L$(CUDA_PATH)/lib64 + KOKKOS_TPL_INCLUDE_DIRS += $(CUDA_PATH)/include + KOKKOS_TPL_LIBRARY_DIRS += $(CUDA_PATH)/lib64 + ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1) + KOKKOS_CXXFLAGS += --cuda-path=$(CUDA_PATH) + endif endif + KOKKOS_LIBS += -lcudart -lcuda + KOKKOS_TPL_LIBRARY_NAMES += cudart cuda endif ifeq ($(KOKKOS_INTERNAL_USE_OPENMPTARGET), 1) @@ -911,20 +973,27 @@ ifeq ($(KOKKOS_INTERNAL_USE_OPENMP), 1) endif KOKKOS_LDFLAGS += $(KOKKOS_INTERNAL_OPENMP_FLAG) + KOKKOS_LINK_FLAGS += $(KOKKOS_INTERNAL_OPENMP_FLAG) endif ifeq ($(KOKKOS_INTERNAL_USE_PTHREADS), 1) KOKKOS_SRC += $(wildcard $(KOKKOS_PATH)/core/src/Threads/*.cpp) KOKKOS_HEADERS += $(wildcard $(KOKKOS_PATH)/core/src/Threads/*.hpp) KOKKOS_LIBS += -lpthread + KOKKOS_TPL_LIBRARY_NAMES += pthread endif ifeq ($(KOKKOS_INTERNAL_USE_QTHREADS), 1) KOKKOS_SRC += $(wildcard $(KOKKOS_PATH)/core/src/Qthreads/*.cpp) KOKKOS_HEADERS += $(wildcard $(KOKKOS_PATH)/core/src/Qthreads/*.hpp) - KOKKOS_CPPFLAGS += -I$(QTHREADS_PATH)/include - KOKKOS_LDFLAGS += -L$(QTHREADS_PATH)/lib + ifneq ($(QTHREADS_PATH),) + KOKKOS_CPPFLAGS += -I$(QTHREADS_PATH)/include + KOKKOS_LDFLAGS += -L$(QTHREADS_PATH)/lib + KOKKOS_TPL_INCLUDE_DIRS += $(QTHREADS_PATH)/include + KOKKOS_TPL_LIBRARY_DIRS += $(QTHREADS_PATH)/lib64 + endif KOKKOS_LIBS += -lqthread + KOKKOS_TPL_LIBRARY_NAMES += qthread endif # Explicitly set the GCC Toolchain for Clang. @@ -940,11 +1009,6 @@ ifneq ($(KOKKOS_INTERNAL_USE_MEMKIND), 1) KOKKOS_SRC := $(filter-out $(KOKKOS_PATH)/core/src/impl/Kokkos_HBWSpace.cpp,$(KOKKOS_SRC)) endif -# Don't include Kokkos_Profiling_Interface.cpp if not using profiling to avoid a link warning. -ifeq ($(KOKKOS_INTERNAL_DISABLE_PROFILING), 1) - KOKKOS_SRC := $(filter-out $(KOKKOS_PATH)/core/src/impl/Kokkos_Profiling_Interface.cpp,$(KOKKOS_SRC)) -endif - # Don't include Kokkos_Serial.cpp or Kokkos_Serial_Task.cpp if not using Serial # device to avoid a link warning. ifneq ($(KOKKOS_INTERNAL_USE_SERIAL), 1) diff --git a/lib/kokkos/README b/lib/kokkos/README index d6c66634dd3914fe0d5aeed52b3737588c2ae66d..31d134bf0add74cf9b36571a3649cf5724f48087 100644 --- a/lib/kokkos/README +++ b/lib/kokkos/README @@ -1,87 +1,101 @@ -Kokkos implements a programming model in C++ for writing performance portable +Kokkos Core implements a programming model in C++ for writing performance portable applications targeting all major HPC platforms. For that purpose it provides abstractions for both parallel execution of code and data management. Kokkos is designed to target complex node architectures with N-level memory hierarchies and multiple types of execution resources. It currently can use OpenMP, Pthreads and CUDA as backend programming models. -Kokkos is licensed under standard 3-clause BSD terms of use. For specifics -see the LICENSE file contained in the repository or distribution. +Kokkos Core is part of the Kokkos C++ Performance Portability Programming EcoSystem, +which also provides math kernels (https://github.com/kokkos/kokkos-kernels), as well as +profiling and debugging tools (https://github.com/kokkos/kokkos-tools). -The core developers of Kokkos are Carter Edwards and Christian Trott -at the Computer Science Research Institute of the Sandia National -Laboratories. +# Learning about Kokkos -The KokkosP interface and associated tools are developed by the Application -Performance Team and Kokkos core developers at Sandia National Laboratories. +A programming guide can be found on the Wiki, the API reference is under development. -To learn more about Kokkos consider watching one of our presentations: -GTC 2015: - http://on-demand.gputechconf.com/gtc/2015/video/S5166.html - http://on-demand.gputechconf.com/gtc/2015/presentation/S5166-H-Carter-Edwards.pdf +For questions find us on Slack: https://kokkosteam.slack.com or open a github issue. -A programming guide can be found under doc/Kokkos_PG.pdf. This is an initial version -and feedback is greatly appreciated. +For non-public questions send an email to +crtrott(at)sandia.gov A separate repository with extensive tutorial material can be found under https://github.com/kokkos/kokkos-tutorials. -If you have a patch to contribute please feel free to issue a pull request against -the develop branch. For major contributions it is better to contact us first -for guidance. - -For questions please send an email to -kokkos-users@software.sandia.gov +Furthermore, the 'example/tutorial' directory provides step by step tutorial +examples which explain many of the features of Kokkos. They work with +simple Makefiles. To build with g++ and OpenMP simply type 'make' +in the 'example/tutorial' directory. This will build all examples in the +subfolders. To change the build options refer to the Programming Guide +in the compilation section. -For non-public questions send an email to -hcedwar(at)sandia.gov and crtrott(at)sandia.gov - -============================================================================ -====Requirements============================================================ -============================================================================ - -Primary tested compilers on X86 are: - GCC 4.8.4 - GCC 4.9.3 - GCC 5.1.0 - GCC 5.3.0 - GCC 6.1.0 - Intel 15.0.2 - Intel 16.0.1 - Intel 17.1.043 - Intel 17.4.196 - Intel 18.0.128 - Clang 3.5.2 - Clang 3.6.1 - Clang 3.7.1 - Clang 3.8.1 - Clang 3.9.0 - Clang 4.0.0 - Clang 4.0.0 for CUDA (CUDA Toolkit 8.0.44) - PGI 17.10 - NVCC 7.0 for CUDA (with gcc 4.8.4) - NVCC 7.5 for CUDA (with gcc 4.8.4) - NVCC 8.0.44 for CUDA (with gcc 5.3.0) - -Primary tested compilers on Power 8 are: - GCC 5.4.0 (OpenMP,Serial) - IBM XL 13.1.5 (OpenMP, Serial) (There is a workaround in place to avoid a compiler bug) - NVCC 8.0.44 for CUDA (with gcc 5.4.0) - NVCC 9.0.103 for CUDA (with gcc 6.3.0) - -Primary tested compilers on Intel KNL are: - GCC 6.2.0 - Intel 16.4.258 (with gcc 4.7.2) - Intel 17.2.174 (with gcc 4.9.3) - Intel 18.0.128 (with gcc 4.9.3) - -Other compilers working: - X86: - Cygwin 2.1.0 64bit with gcc 4.9.3 - -Known non-working combinations: - Power8: - Pthreads backend +To learn more about Kokkos consider watching one of our presentations: +* GTC 2015: + - http://on-demand.gputechconf.com/gtc/2015/video/S5166.html + - http://on-demand.gputechconf.com/gtc/2015/presentation/S5166-H-Carter-Edwards.pdf + + +# Contributing to Kokkos + +We are open and try to encourage contributions from external developers. +To do so please first open an issue describing the contribution and then issue +a pull request against the develop branch. For larger features it may be good +to get guidance from the core development team first through the github issue. + +Note that Kokkos Core is licensed under standard 3-clause BSD terms of use. +Which means contributing to Kokkos allows anyone else to use your contributions +not just for public purposes but also for closed source commercial projects. +For specifics see the LICENSE file contained in the repository or distribution. + +# Requirements + +### Primary tested compilers on X86 are: + * GCC 4.8.4 + * GCC 4.9.3 + * GCC 5.1.0 + * GCC 5.3.0 + * GCC 6.1.0 + * Intel 15.0.2 + * Intel 16.0.1 + * Intel 17.1.043 + * Intel 17.4.196 + * Intel 18.0.128 + * Clang 3.6.1 + * Clang 3.7.1 + * Clang 3.8.1 + * Clang 3.9.0 + * Clang 4.0.0 + * Clang 4.0.0 for CUDA (CUDA Toolkit 8.0.44) + * Clang 6.0.0 for CUDA (CUDA Toolkit 9.1) + * PGI 17.10 + * NVCC 7.0 for CUDA (with gcc 4.8.4) + * NVCC 7.5 for CUDA (with gcc 4.8.4) + * NVCC 8.0.44 for CUDA (with gcc 5.3.0) + * NVCC 9.1 for CUDA (with gcc 6.1.0) + +### Primary tested compilers on Power 8 are: + * GCC 5.4.0 (OpenMP,Serial) + * IBM XL 13.1.6 (OpenMP, Serial) + * NVCC 8.0.44 for CUDA (with gcc 5.4.0) + * NVCC 9.0.103 for CUDA (with gcc 6.3.0 and XL 13.1.6) + +### Primary tested compilers on Intel KNL are: + * GCC 6.2.0 + * Intel 16.4.258 (with gcc 4.7.2) + * Intel 17.2.174 (with gcc 4.9.3) + * Intel 18.0.128 (with gcc 4.9.3) + +### Primary tested compilers on ARM + * GCC 6.1.0 + +### Other compilers working: + * X86: + - Cygwin 2.1.0 64bit with gcc 4.9.3 + +### Known non-working combinations: + * Power8: + - Pthreads backend + * ARM + - Pthreads backend Primary tested compiler are passing in release mode @@ -97,20 +111,7 @@ NVCC: -Wall -Wshadow -pedantic -Werror -Wsign-compare -Wtype-limits -Wuninitiali Other compilers are tested occasionally, in particular when pushing from develop to master branch, without -Werror and only for a select set of backends. -============================================================================ -====Getting started========================================================= -============================================================================ - -In the 'example/tutorial' directory you will find step by step tutorial -examples which explain many of the features of Kokkos. They work with -simple Makefiles. To build with g++ and OpenMP simply type 'make' -in the 'example/tutorial' directory. This will build all examples in the -subfolders. To change the build options refer to the Programming Guide -in the compilation section. - -============================================================================ -====Running Unit Tests====================================================== -============================================================================ +# Running Unit Tests To run the unit tests create a build directory and run the following commands @@ -121,30 +122,35 @@ make test Run KOKKOS_PATH/generate_makefile.bash --help for more detailed options such as changing the device type for which to build. -============================================================================ -====Install the library===================================================== -============================================================================ +# Installing the library To install Kokkos as a library create a build directory and run the following KOKKOS_PATH/generate_makefile.bash --prefix=INSTALL_PATH -make lib +make kokkoslib make install KOKKOS_PATH/generate_makefile.bash --help for more detailed options such as changing the device type for which to build. -============================================================================ -====CMakeFiles============================================================== -============================================================================ +Note that in many cases it is preferable to build Kokkos inline with an +application. The main reason is that you may otherwise need many different +configurations of Kokkos installed depending on the required compile time +features an application needs. For example there is only one default +execution space, which means you need different installations to have OpenMP +or Pthreads as the default space. Also for the CUDA backend there are certain +choices, such as allowing relocatable device code, which must be made at +installation time. Building Kokkos inline uses largely the same process +as compiling an application against an installed Kokkos library. See for +example benchmarks/bytes_and_flops/Makefile which can be used with an installed +library and for an inline build. -The CMake files contained in this repository require Tribits and are used -for integration with Trilinos. They do not currently support a standalone -CMake build. +### CMake -=========================================================================== -====Kokkos and CUDA UVM==================================================== -=========================================================================== +Kokkos supports being build as part of a CMake applications. An example can +be found in example/cmake_build. + +# Kokkos and CUDA UVM Kokkos does support UVM as a specific memory space called CudaUVMSpace. Allocations made with that space are accessible from host and device. @@ -154,25 +160,16 @@ In either case UVM comes with a number of restrictions: running. This will lead to segfaults. To avoid that you either need to call Kokkos::Cuda::fence() (or just Kokkos::fence()), after kernels, or you can set the environment variable CUDA_LAUNCH_BLOCKING=1. -Furthermore in multi socket multi GPU machines, UVM defaults to using -zero copy allocations for technical reasons related to using multiple +Furthermore in multi socket multi GPU machines without NVLINK, UVM defaults +to using zero copy allocations for technical reasons related to using multiple GPUs from the same process. If an executable doesn't do that (e.g. each MPI rank of an application uses a single GPU [can be the same GPU for multiple MPI ranks]) you can set CUDA_MANAGED_FORCE_DEVICE_ALLOC=1. This will enforce proper UVM allocations, but can lead to errors if more than a single GPU is used by a single process. -=========================================================================== -====Contributing=========================================================== -=========================================================================== - -Contributions to Kokkos are welcome. In order to do so, please open an issue -where a feature request or bug can be discussed. Then issue a pull request -with your contribution. Pull requests must be issued against the develop branch. -=========================================================================== -====Citing Kokkos========================================================== -=========================================================================== +# Citing Kokkos If you publish work which mentions Kokkos, please cite the following paper: diff --git a/lib/kokkos/algorithms/src/Kokkos_Random.hpp b/lib/kokkos/algorithms/src/Kokkos_Random.hpp index 3db9a145d7c9dc7ab1da3a1e6f034a2a0e7d929b..1c659e44a45e5cd1d972f441f956ce4e47de2d2e 100644 --- a/lib/kokkos/algorithms/src/Kokkos_Random.hpp +++ b/lib/kokkos/algorithms/src/Kokkos_Random.hpp @@ -35,7 +35,7 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER @@ -1530,7 +1530,7 @@ struct fill_random_functor_range{ typename RandomPool::generator_type gen = rand_pool.get_state(); for(IndexType j=0;j(a.dimension_0())) + if(idx(a.extent(0))) a(idx) = Rand::draw(gen,range); } rand_pool.free_state(gen); @@ -1555,8 +1555,8 @@ struct fill_random_functor_range{ typename RandomPool::generator_type gen = rand_pool.get_state(); for(IndexType j=0;j(a.dimension_0())) { - for(IndexType k=0;k(a.dimension_1());k++) + if(idx(a.extent(0))) { + for(IndexType k=0;k(a.extent(1));k++) a(idx,k) = Rand::draw(gen,range); } } @@ -1583,9 +1583,9 @@ struct fill_random_functor_range{ typename RandomPool::generator_type gen = rand_pool.get_state(); for(IndexType j=0;j(a.dimension_0())) { - for(IndexType k=0;k(a.dimension_1());k++) - for(IndexType l=0;l(a.dimension_2());l++) + if(idx(a.extent(0))) { + for(IndexType k=0;k(a.extent(1));k++) + for(IndexType l=0;l(a.extent(2));l++) a(idx,k,l) = Rand::draw(gen,range); } } @@ -1611,10 +1611,10 @@ struct fill_random_functor_range{ typename RandomPool::generator_type gen = rand_pool.get_state(); for(IndexType j=0;j(a.dimension_0())) { - for(IndexType k=0;k(a.dimension_1());k++) - for(IndexType l=0;l(a.dimension_2());l++) - for(IndexType m=0;m(a.dimension_3());m++) + if(idx(a.extent(0))) { + for(IndexType k=0;k(a.extent(1));k++) + for(IndexType l=0;l(a.extent(2));l++) + for(IndexType m=0;m(a.extent(3));m++) a(idx,k,l,m) = Rand::draw(gen,range); } } @@ -1640,11 +1640,11 @@ struct fill_random_functor_range{ typename RandomPool::generator_type gen = rand_pool.get_state(); for(IndexType j=0;j(a.dimension_0())) { - for(IndexType k=0;k(a.dimension_1());k++) - for(IndexType l=0;l(a.dimension_2());l++) - for(IndexType m=0;m(a.dimension_3());m++) - for(IndexType n=0;n(a.dimension_4());n++) + if(idx(a.extent(0))) { + for(IndexType k=0;k(a.extent(1));k++) + for(IndexType l=0;l(a.extent(2));l++) + for(IndexType m=0;m(a.extent(3));m++) + for(IndexType n=0;n(a.extent(4));n++) a(idx,k,l,m,n) = Rand::draw(gen,range); } } @@ -1670,12 +1670,12 @@ struct fill_random_functor_range{ typename RandomPool::generator_type gen = rand_pool.get_state(); for(IndexType j=0;j(a.dimension_0())) { - for(IndexType k=0;k(a.dimension_1());k++) - for(IndexType l=0;l(a.dimension_2());l++) - for(IndexType m=0;m(a.dimension_3());m++) - for(IndexType n=0;n(a.dimension_4());n++) - for(IndexType o=0;o(a.dimension_5());o++) + if(idx(a.extent(0))) { + for(IndexType k=0;k(a.extent(1));k++) + for(IndexType l=0;l(a.extent(2));l++) + for(IndexType m=0;m(a.extent(3));m++) + for(IndexType n=0;n(a.extent(4));n++) + for(IndexType o=0;o(a.extent(5));o++) a(idx,k,l,m,n,o) = Rand::draw(gen,range); } } @@ -1701,13 +1701,13 @@ struct fill_random_functor_range{ typename RandomPool::generator_type gen = rand_pool.get_state(); for(IndexType j=0;j(a.dimension_0())) { - for(IndexType k=0;k(a.dimension_1());k++) - for(IndexType l=0;l(a.dimension_2());l++) - for(IndexType m=0;m(a.dimension_3());m++) - for(IndexType n=0;n(a.dimension_4());n++) - for(IndexType o=0;o(a.dimension_5());o++) - for(IndexType p=0;p(a.dimension_6());p++) + if(idx(a.extent(0))) { + for(IndexType k=0;k(a.extent(1));k++) + for(IndexType l=0;l(a.extent(2));l++) + for(IndexType m=0;m(a.extent(3));m++) + for(IndexType n=0;n(a.extent(4));n++) + for(IndexType o=0;o(a.extent(5));o++) + for(IndexType p=0;p(a.extent(6));p++) a(idx,k,l,m,n,o,p) = Rand::draw(gen,range); } } @@ -1733,14 +1733,14 @@ struct fill_random_functor_range{ typename RandomPool::generator_type gen = rand_pool.get_state(); for(IndexType j=0;j(a.dimension_0())) { - for(IndexType k=0;k(a.dimension_1());k++) - for(IndexType l=0;l(a.dimension_2());l++) - for(IndexType m=0;m(a.dimension_3());m++) - for(IndexType n=0;n(a.dimension_4());n++) - for(IndexType o=0;o(a.dimension_5());o++) - for(IndexType p=0;p(a.dimension_6());p++) - for(IndexType q=0;q(a.dimension_7());q++) + if(idx(a.extent(0))) { + for(IndexType k=0;k(a.extent(1));k++) + for(IndexType l=0;l(a.extent(2));l++) + for(IndexType m=0;m(a.extent(3));m++) + for(IndexType n=0;n(a.extent(4));n++) + for(IndexType o=0;o(a.extent(5));o++) + for(IndexType p=0;p(a.extent(6));p++) + for(IndexType q=0;q(a.extent(7));q++) a(idx,k,l,m,n,o,p,q) = Rand::draw(gen,range); } } @@ -1765,7 +1765,7 @@ struct fill_random_functor_begin_end{ typename RandomPool::generator_type gen = rand_pool.get_state(); for(IndexType j=0;j(a.dimension_0())) + if(idx(a.extent(0))) a(idx) = Rand::draw(gen,begin,end); } rand_pool.free_state(gen); @@ -1790,8 +1790,8 @@ struct fill_random_functor_begin_end{ typename RandomPool::generator_type gen = rand_pool.get_state(); for(IndexType j=0;j(a.dimension_0())) { - for(IndexType k=0;k(a.dimension_1());k++) + if(idx(a.extent(0))) { + for(IndexType k=0;k(a.extent(1));k++) a(idx,k) = Rand::draw(gen,begin,end); } } @@ -1818,9 +1818,9 @@ struct fill_random_functor_begin_end{ typename RandomPool::generator_type gen = rand_pool.get_state(); for(IndexType j=0;j(a.dimension_0())) { - for(IndexType k=0;k(a.dimension_1());k++) - for(IndexType l=0;l(a.dimension_2());l++) + if(idx(a.extent(0))) { + for(IndexType k=0;k(a.extent(1));k++) + for(IndexType l=0;l(a.extent(2));l++) a(idx,k,l) = Rand::draw(gen,begin,end); } } @@ -1846,10 +1846,10 @@ struct fill_random_functor_begin_end{ typename RandomPool::generator_type gen = rand_pool.get_state(); for(IndexType j=0;j(a.dimension_0())) { - for(IndexType k=0;k(a.dimension_1());k++) - for(IndexType l=0;l(a.dimension_2());l++) - for(IndexType m=0;m(a.dimension_3());m++) + if(idx(a.extent(0))) { + for(IndexType k=0;k(a.extent(1));k++) + for(IndexType l=0;l(a.extent(2));l++) + for(IndexType m=0;m(a.extent(3));m++) a(idx,k,l,m) = Rand::draw(gen,begin,end); } } @@ -1875,11 +1875,11 @@ struct fill_random_functor_begin_end{ typename RandomPool::generator_type gen = rand_pool.get_state(); for(IndexType j=0;j(a.dimension_0())){ - for(IndexType l=0;l(a.dimension_1());l++) - for(IndexType m=0;m(a.dimension_2());m++) - for(IndexType n=0;n(a.dimension_3());n++) - for(IndexType o=0;o(a.dimension_4());o++) + if(idx(a.extent(0))){ + for(IndexType l=0;l(a.extent(1));l++) + for(IndexType m=0;m(a.extent(2));m++) + for(IndexType n=0;n(a.extent(3));n++) + for(IndexType o=0;o(a.extent(4));o++) a(idx,l,m,n,o) = Rand::draw(gen,begin,end); } } @@ -1905,12 +1905,12 @@ struct fill_random_functor_begin_end{ typename RandomPool::generator_type gen = rand_pool.get_state(); for(IndexType j=0;j(a.dimension_0())) { - for(IndexType k=0;k(a.dimension_1());k++) - for(IndexType l=0;l(a.dimension_2());l++) - for(IndexType m=0;m(a.dimension_3());m++) - for(IndexType n=0;n(a.dimension_4());n++) - for(IndexType o=0;o(a.dimension_5());o++) + if(idx(a.extent(0))) { + for(IndexType k=0;k(a.extent(1));k++) + for(IndexType l=0;l(a.extent(2));l++) + for(IndexType m=0;m(a.extent(3));m++) + for(IndexType n=0;n(a.extent(4));n++) + for(IndexType o=0;o(a.extent(5));o++) a(idx,k,l,m,n,o) = Rand::draw(gen,begin,end); } } @@ -1937,13 +1937,13 @@ struct fill_random_functor_begin_end{ typename RandomPool::generator_type gen = rand_pool.get_state(); for(IndexType j=0;j(a.dimension_0())) { - for(IndexType k=0;k(a.dimension_1());k++) - for(IndexType l=0;l(a.dimension_2());l++) - for(IndexType m=0;m(a.dimension_3());m++) - for(IndexType n=0;n(a.dimension_4());n++) - for(IndexType o=0;o(a.dimension_5());o++) - for(IndexType p=0;p(a.dimension_6());p++) + if(idx(a.extent(0))) { + for(IndexType k=0;k(a.extent(1));k++) + for(IndexType l=0;l(a.extent(2));l++) + for(IndexType m=0;m(a.extent(3));m++) + for(IndexType n=0;n(a.extent(4));n++) + for(IndexType o=0;o(a.extent(5));o++) + for(IndexType p=0;p(a.extent(6));p++) a(idx,k,l,m,n,o,p) = Rand::draw(gen,begin,end); } } @@ -1969,14 +1969,14 @@ struct fill_random_functor_begin_end{ typename RandomPool::generator_type gen = rand_pool.get_state(); for(IndexType j=0;j(a.dimension_0())) { - for(IndexType k=0;k(a.dimension_1());k++) - for(IndexType l=0;l(a.dimension_2());l++) - for(IndexType m=0;m(a.dimension_3());m++) - for(IndexType n=0;n(a.dimension_4());n++) - for(IndexType o=0;o(a.dimension_5());o++) - for(IndexType p=0;p(a.dimension_6());p++) - for(IndexType q=0;q(a.dimension_7());q++) + if(idx(a.extent(0))) { + for(IndexType k=0;k(a.extent(1));k++) + for(IndexType l=0;l(a.extent(2));l++) + for(IndexType m=0;m(a.extent(3));m++) + for(IndexType n=0;n(a.extent(4));n++) + for(IndexType o=0;o(a.extent(5));o++) + for(IndexType p=0;p(a.extent(6));p++) + for(IndexType q=0;q(a.extent(7));q++) a(idx,k,l,m,n,o,p,q) = Rand::draw(gen,begin,end); } } @@ -1988,14 +1988,14 @@ struct fill_random_functor_begin_end{ template void fill_random(ViewType a, RandomPool g, typename ViewType::const_value_type range) { - int64_t LDA = a.dimension_0(); + int64_t LDA = a.extent(0); if(LDA>0) parallel_for((LDA+127)/128,Impl::fill_random_functor_range(a,g,range)); } template void fill_random(ViewType a, RandomPool g, typename ViewType::const_value_type begin,typename ViewType::const_value_type end ) { - int64_t LDA = a.dimension_0(); + int64_t LDA = a.extent(0); if(LDA>0) parallel_for((LDA+127)/128,Impl::fill_random_functor_begin_end(a,g,begin,end)); } diff --git a/lib/kokkos/algorithms/src/Kokkos_Sort.hpp b/lib/kokkos/algorithms/src/Kokkos_Sort.hpp index 237de751fe4b30afa1abcf475ca8af8c52cea7ab..888476045b8ee4a424e668a5da71567c408af934 100644 --- a/lib/kokkos/algorithms/src/Kokkos_Sort.hpp +++ b/lib/kokkos/algorithms/src/Kokkos_Sort.hpp @@ -35,7 +35,7 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER @@ -120,7 +120,6 @@ public: KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - // printf("copy: dst(%i) src(%i)\n",i+dst_offset,i); copy_op::copy(dst_values,i+dst_offset,src_values,i); } }; @@ -151,20 +150,22 @@ public: DstViewType dst_values ; perm_view_type sort_order ; src_view_type src_values ; + int src_offset ; copy_permute_functor( DstViewType const & dst_values_ , PermuteViewType const & sort_order_ , SrcViewType const & src_values_ + , int const & src_offset_ ) : dst_values( dst_values_ ) , sort_order( sort_order_ ) , src_values( src_values_ ) + , src_offset( src_offset_ ) {} KOKKOS_INLINE_FUNCTION void operator() (const int& i) const { - // printf("copy_permute: dst(%i) src(%i)\n",i,sort_order(i)); - copy_op::copy(dst_values,i,src_values,sort_order(i)); + copy_op::copy(dst_values,i,src_values,src_offset+sort_order(i)); } }; @@ -259,19 +260,21 @@ public: // Create the permutation vector, the bin_offset array and the bin_count array. Can be called again if keys changed void create_permute_vector() { const size_t len = range_end - range_begin ; - Kokkos::parallel_for (Kokkos::RangePolicy (0,len),*this); - Kokkos::parallel_scan(Kokkos::RangePolicy (0,bin_op.max_bins()) ,*this); + Kokkos::parallel_for ("Kokkos::Sort::BinCount",Kokkos::RangePolicy (0,len),*this); + Kokkos::parallel_scan("Kokkos::Sort::BinOffset",Kokkos::RangePolicy (0,bin_op.max_bins()) ,*this); Kokkos::deep_copy(bin_count_atomic,0); - Kokkos::parallel_for (Kokkos::RangePolicy (0,len),*this); + Kokkos::parallel_for ("Kokkos::Sort::BinBinning",Kokkos::RangePolicy (0,len),*this); if(sort_within_bins) - Kokkos::parallel_for (Kokkos::RangePolicy(0,bin_op.max_bins()) ,*this); + Kokkos::parallel_for ("Kokkos::Sort::BinSort",Kokkos::RangePolicy(0,bin_op.max_bins()) ,*this); } - // Sort a view with respect ot the first dimension using the permutation array + // Sort a subset of a view with respect to the first dimension using the permutation array template - void sort( ValuesViewType const & values) + void sort( ValuesViewType const & values + , int values_range_begin + , int values_range_end) const { typedef Kokkos::View< typename ValuesViewType::data_type, @@ -280,6 +283,10 @@ public: scratch_view_type ; const size_t len = range_end - range_begin ; + const size_t values_len = values_range_end - values_range_begin ; + if (len != values_len) { + Kokkos::abort("BinSort::sort: values range length != permutation vector length"); + } scratch_view_type sorted_values("Scratch", @@ -297,19 +304,25 @@ public: , offset_type /* PermuteViewType */ , ValuesViewType /* SrcViewType */ > - functor( sorted_values , sort_order , values ); + functor( sorted_values , sort_order , values, values_range_begin - range_begin ); - parallel_for( Kokkos::RangePolicy(0,len),functor); + parallel_for("Kokkos::Sort::CopyPermute", Kokkos::RangePolicy(0,len),functor); } { copy_functor< ValuesViewType , scratch_view_type > functor( values , range_begin , sorted_values ); - parallel_for( Kokkos::RangePolicy(0,len),functor); + parallel_for("Kokkos::Sort::Copy", Kokkos::RangePolicy(0,len),functor); } } + template + void sort( ValuesViewType const & values ) const + { + this->sort( values, 0, /*values.extent(0)*/ range_end - range_begin ); + } + // Get the permutation vector KOKKOS_INLINE_FUNCTION offset_type get_permute_vector() const { return sort_order;} @@ -327,7 +340,7 @@ public: KOKKOS_INLINE_FUNCTION void operator() (const bin_count_tag& tag, const int& i) const { const int j = range_begin + i ; - bin_count_atomic(bin_op.bin(keys,j))++; + bin_count_atomic(bin_op.bin(keys, j))++; } KOKKOS_INLINE_FUNCTION @@ -512,7 +525,7 @@ void sort( ViewType const & view , bool const always_use_kokkos_sort = false) Kokkos::Experimental::MinMaxScalar result; Kokkos::Experimental::MinMax reducer(result); - parallel_reduce(Kokkos::RangePolicy(0,view.extent(0)), + parallel_reduce("Kokkos::Sort::FindExtent",Kokkos::RangePolicy(0,view.extent(0)), Impl::min_max_functor(view),reducer); if(result.min_val == result.max_val) return; BinSort bin_sort(view,CompType(view.extent(0)/2,result.min_val,result.max_val),true); @@ -532,7 +545,7 @@ void sort( ViewType view Kokkos::Experimental::MinMaxScalar result; Kokkos::Experimental::MinMax reducer(result); - parallel_reduce( range_policy( begin , end ) + parallel_reduce("Kokkos::Sort::FindExtent", range_policy( begin , end ) , Impl::min_max_functor(view),reducer ); if(result.min_val == result.max_val) return; @@ -541,8 +554,9 @@ void sort( ViewType view bin_sort(view,begin,end,CompType((end-begin)/2,result.min_val,result.max_val),true); bin_sort.create_permute_vector(); - bin_sort.sort(view); + bin_sort.sort(view,begin,end); } + } #endif diff --git a/lib/kokkos/algorithms/unit_tests/TestCuda.cpp b/lib/kokkos/algorithms/unit_tests/TestCuda.cpp index 710eeb8ada08065dc4f1af33c3f1ee616ceda241..86fdccd0e784e8bc56472782a87a31a050f468fe 100644 --- a/lib/kokkos/algorithms/unit_tests/TestCuda.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestCuda.cpp @@ -35,7 +35,7 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER @@ -61,14 +61,9 @@ class cuda : public ::testing::Test { protected: static void SetUpTestCase() { - std::cout << std::setprecision(5) << std::scientific; - Kokkos::HostSpace::execution_space::initialize(); - Kokkos::Cuda::initialize( Kokkos::Cuda::SelectDevice(0) ); } static void TearDownTestCase() { - Kokkos::Cuda::finalize(); - Kokkos::HostSpace::execution_space::finalize(); } }; diff --git a/lib/kokkos/algorithms/unit_tests/TestOpenMP.cpp b/lib/kokkos/algorithms/unit_tests/TestOpenMP.cpp index c2c118ce1a140e69f0c87ddd7c0fc46870b5f58c..c4ddde7b7f71995bb25655cbbb5270b671db7f3e 100644 --- a/lib/kokkos/algorithms/unit_tests/TestOpenMP.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestOpenMP.cpp @@ -35,7 +35,7 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER @@ -60,25 +60,10 @@ protected: static void SetUpTestCase() { std::cout << std::setprecision(5) << std::scientific; - - int threads_count = 0; - #pragma omp parallel - { - #pragma omp atomic - ++threads_count; - } - - if (threads_count > 3) { - threads_count /= 2; - } - - Kokkos::OpenMP::initialize( threads_count ); - Kokkos::OpenMP::print_configuration( std::cout ); } static void TearDownTestCase() { - Kokkos::OpenMP::finalize(); } }; diff --git a/lib/kokkos/algorithms/unit_tests/TestROCm.cpp b/lib/kokkos/algorithms/unit_tests/TestROCm.cpp index 720b377ed2fb29a74d241ea6c42b46e3b15b5541..15179509bbfc1fe1e193081c8387e237dfa2525c 100644 --- a/lib/kokkos/algorithms/unit_tests/TestROCm.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestROCm.cpp @@ -35,7 +35,7 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER @@ -62,13 +62,9 @@ protected: static void SetUpTestCase() { std::cout << std::setprecision(5) << std::scientific; - Kokkos::HostSpace::execution_space::initialize(); - Kokkos::Experimental::ROCm::initialize( Kokkos::Experimental::ROCm::SelectDevice(0) ); } static void TearDownTestCase() { - Kokkos::Experimental::ROCm::finalize(); - Kokkos::HostSpace::execution_space::finalize(); } }; diff --git a/lib/kokkos/algorithms/unit_tests/TestRandom.hpp b/lib/kokkos/algorithms/unit_tests/TestRandom.hpp index 2771f1793d76371afbab136b9d71641e93131a2b..73bd416f2aba49e311884096c31db295b41f1066 100644 --- a/lib/kokkos/algorithms/unit_tests/TestRandom.hpp +++ b/lib/kokkos/algorithms/unit_tests/TestRandom.hpp @@ -34,7 +34,7 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER diff --git a/lib/kokkos/algorithms/unit_tests/TestSerial.cpp b/lib/kokkos/algorithms/unit_tests/TestSerial.cpp index a1df93e07b51482408c861919968953674de4c2e..9cf998f7732628bf71e8bc8ea90fcf6e41a27f3d 100644 --- a/lib/kokkos/algorithms/unit_tests/TestSerial.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestSerial.cpp @@ -35,7 +35,7 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER @@ -62,13 +62,10 @@ class serial : public ::testing::Test { protected: static void SetUpTestCase() { - std::cout << std::setprecision (5) << std::scientific; - Kokkos::Serial::initialize (); } static void TearDownTestCase () { - Kokkos::Serial::finalize (); } }; diff --git a/lib/kokkos/algorithms/unit_tests/TestSort.hpp b/lib/kokkos/algorithms/unit_tests/TestSort.hpp index 2cb0b897127b1c5401504b27adc24e4abf395f3d..e0c646c199be04841fbf0354905231ec00abf322 100644 --- a/lib/kokkos/algorithms/unit_tests/TestSort.hpp +++ b/lib/kokkos/algorithms/unit_tests/TestSort.hpp @@ -34,7 +34,7 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER @@ -171,10 +171,10 @@ void test_3D_sort(unsigned int n) { double sum_after = 0.0; unsigned int sort_fails = 0; - Kokkos::parallel_reduce(keys.dimension_0(),sum3D(keys),sum_before); + Kokkos::parallel_reduce(keys.extent(0),sum3D(keys),sum_before); int bin_1d = 1; - while( bin_1d*bin_1d*bin_1d*4< (int) keys.dimension_0() ) bin_1d*=2; + while( bin_1d*bin_1d*bin_1d*4< (int) keys.extent(0) ) bin_1d*=2; int bin_max[3] = {bin_1d,bin_1d,bin_1d}; typename KeyViewType::value_type min[3] = {0,0,0}; typename KeyViewType::value_type max[3] = {100,100,100}; @@ -186,8 +186,8 @@ void test_3D_sort(unsigned int n) { Sorter.create_permute_vector(); Sorter.template sort< KeyViewType >(keys); - Kokkos::parallel_reduce(keys.dimension_0(),sum3D(keys),sum_after); - Kokkos::parallel_reduce(keys.dimension_0()-1,bin3d_is_sorted_struct(keys,bin_1d,min[0],max[0]),sort_fails); + Kokkos::parallel_reduce(keys.extent(0),sum3D(keys),sum_after); + Kokkos::parallel_reduce(keys.extent(0)-1,bin3d_is_sorted_struct(keys,bin_1d,min[0],max[0]),sort_fails); double ratio = sum_before/sum_after; double epsilon = 1e-10; @@ -205,24 +205,13 @@ void test_3D_sort(unsigned int n) { template void test_dynamic_view_sort(unsigned int n ) { - typedef typename ExecutionSpace::memory_space memory_space ; typedef Kokkos::Experimental::DynamicView KeyDynamicViewType; typedef Kokkos::View KeyViewType; const size_t upper_bound = 2 * n ; + const size_t min_chunk_size = 1024; - const size_t total_alloc_size = n * sizeof(KeyType) * 1.2 ; - const size_t superblock_size = std::min(total_alloc_size, size_t(1000000)); - - typename KeyDynamicViewType::memory_pool - pool( memory_space() - , n * sizeof(KeyType) * 1.2 - , 500 /* min block size in bytes */ - , 30000 /* max block size in bytes */ - , superblock_size - ); - - KeyDynamicViewType keys("Keys",pool,upper_bound); + KeyDynamicViewType keys("Keys", min_chunk_size, upper_bound); keys.resize_serial(n); @@ -230,13 +219,15 @@ void test_dynamic_view_sort(unsigned int n ) // Test sorting array with all numbers equal Kokkos::deep_copy(keys_view,KeyType(1)); - Kokkos::Experimental::deep_copy(keys,keys_view); + Kokkos::deep_copy(keys,keys_view); Kokkos::sort(keys, 0 /* begin */ , n /* end */ ); Kokkos::Random_XorShift64_Pool g(1931); Kokkos::fill_random(keys_view,g,Kokkos::Random_XorShift64_Pool::generator_type::MAX_URAND); - Kokkos::Experimental::deep_copy(keys,keys_view); + ExecutionSpace::fence(); + Kokkos::deep_copy(keys,keys_view); + //ExecutionSpace::fence(); double sum_before = 0.0; double sum_after = 0.0; @@ -246,7 +237,9 @@ void test_dynamic_view_sort(unsigned int n ) Kokkos::sort(keys, 0 /* begin */ , n /* end */ ); - Kokkos::Experimental::deep_copy( keys_view , keys ); + ExecutionSpace::fence(); // Need this fence to prevent BusError with Cuda + Kokkos::deep_copy( keys_view , keys ); + //ExecutionSpace::fence(); Kokkos::parallel_reduce(n,sum(keys_view),sum_after); Kokkos::parallel_reduce(n-1,is_sorted_struct(keys_view),sort_fails); @@ -269,6 +262,74 @@ void test_dynamic_view_sort(unsigned int n ) //---------------------------------------------------------------------------- +template +void test_issue_1160() +{ + Kokkos::View element_("element", 10); + Kokkos::View x_("x", 10); + Kokkos::View v_("y", 10); + + auto h_element = Kokkos::create_mirror_view(element_); + auto h_x = Kokkos::create_mirror_view(x_); + auto h_v = Kokkos::create_mirror_view(v_); + + h_element(0) = 9; + h_element(1) = 8; + h_element(2) = 7; + h_element(3) = 6; + h_element(4) = 5; + h_element(5) = 4; + h_element(6) = 3; + h_element(7) = 2; + h_element(8) = 1; + h_element(9) = 0; + + for (int i = 0; i < 10; ++i) { + h_v.access(i, 0) = h_x.access(i, 0) = double(h_element(i)); + } + Kokkos::deep_copy(element_, h_element); + Kokkos::deep_copy(x_, h_x); + Kokkos::deep_copy(v_, h_v); + + typedef decltype(element_) KeyViewType; + typedef Kokkos::BinOp1D< KeyViewType > BinOp; + + int begin = 3; + int end = 8; + auto max = h_element(begin); + auto min = h_element(end - 1); + BinOp binner(end - begin, min, max); + + Kokkos::BinSort Sorter(element_,begin,end,binner,false); + Sorter.create_permute_vector(); + Sorter.sort(element_,begin,end); + + Sorter.sort(x_,begin,end); + Sorter.sort(v_,begin,end); + + Kokkos::deep_copy(h_element, element_); + Kokkos::deep_copy(h_x, x_); + Kokkos::deep_copy(h_v, v_); + + ASSERT_EQ(h_element(0), 9); + ASSERT_EQ(h_element(1), 8); + ASSERT_EQ(h_element(2), 7); + ASSERT_EQ(h_element(3), 2); + ASSERT_EQ(h_element(4), 3); + ASSERT_EQ(h_element(5), 4); + ASSERT_EQ(h_element(6), 5); + ASSERT_EQ(h_element(7), 6); + ASSERT_EQ(h_element(8), 1); + ASSERT_EQ(h_element(9), 0); + + for (int i = 0; i < 10; ++i) { + ASSERT_EQ(h_element(i), int(h_x.access(i, 0))); + ASSERT_EQ(h_element(i), int(h_v.access(i, 0))); + } +} + +//---------------------------------------------------------------------------- + template void test_sort(unsigned int N) { @@ -278,6 +339,7 @@ void test_sort(unsigned int N) test_3D_sort(N); test_dynamic_view_sort(N*N); #endif + test_issue_1160(); } } diff --git a/lib/kokkos/algorithms/unit_tests/TestThreads.cpp b/lib/kokkos/algorithms/unit_tests/TestThreads.cpp index 08749779ff56a692cebad20fcf94815c5ff7b732..99cdb7da92a253d9469b956c27ee06f212421c0d 100644 --- a/lib/kokkos/algorithms/unit_tests/TestThreads.cpp +++ b/lib/kokkos/algorithms/unit_tests/TestThreads.cpp @@ -35,7 +35,7 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER @@ -63,25 +63,10 @@ protected: static void SetUpTestCase() { std::cout << std::setprecision(5) << std::scientific; - - unsigned num_threads = 4; - - if (Kokkos::hwloc::available()) { - num_threads = Kokkos::hwloc::get_available_numa_count() - * Kokkos::hwloc::get_available_cores_per_numa() - // * Kokkos::hwloc::get_available_threads_per_core() - ; - - } - - std::cout << "Threads: " << num_threads << std::endl; - - Kokkos::Threads::initialize( num_threads ); } static void TearDownTestCase() { - Kokkos::Threads::finalize(); } }; diff --git a/lib/kokkos/algorithms/unit_tests/UnitTestMain.cpp b/lib/kokkos/algorithms/unit_tests/UnitTestMain.cpp index 9e75b580bc0f64b53c402764197e11d1774203d8..8feb08332fa4d976395edfaf59b8e8653484c0f2 100644 --- a/lib/kokkos/algorithms/unit_tests/UnitTestMain.cpp +++ b/lib/kokkos/algorithms/unit_tests/UnitTestMain.cpp @@ -35,16 +35,20 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER */ #include +#include int main(int argc, char *argv[]) { + Kokkos::initialize(argc,argv); ::testing::InitGoogleTest(&argc,argv); - return RUN_ALL_TESTS(); + int result = RUN_ALL_TESTS(); + Kokkos::finalize(); + return result; } diff --git a/lib/kokkos/benchmarks/atomic/Makefile b/lib/kokkos/benchmarks/atomic/Makefile index 41875ee5e49cc132ffa7879e2812ff80aefa49b4..64b43917de2eadf2f2f96419e83b74cee05265fa 100644 --- a/lib/kokkos/benchmarks/atomic/Makefile +++ b/lib/kokkos/benchmarks/atomic/Makefile @@ -10,7 +10,7 @@ default: build ifneq (,$(findstring Cuda,$(KOKKOS_DEVICES))) -CXX = ${KOKKOS_PATH}/config/nvcc_wrapper +CXX = ${KOKKOS_PATH}/bin/nvcc_wrapper EXE = ${EXE_NAME}.cuda KOKKOS_CUDA_OPTIONS = "enable_lambda" else diff --git a/lib/kokkos/benchmarks/benchmark_suite/scripts/run_tests.bash b/lib/kokkos/benchmarks/benchmark_suite/scripts/run_tests.bash index 63aaca9e402df9de8691b3deaee6c26553043de5..9dded535e8bfe20677d302d8b4f8e2cca1bf02ea 100755 --- a/lib/kokkos/benchmarks/benchmark_suite/scripts/run_tests.bash +++ b/lib/kokkos/benchmarks/benchmark_suite/scripts/run_tests.bash @@ -3,7 +3,7 @@ # BytesAndFlops cd build/bytes_and_flops -USE_CUDA=`grep "_CUDA 1" KokkosCore_config.h | wc -l` +USE_CUDA=`grep "_CUDA" KokkosCore_config.h | wc -l` if [[ ${USE_CUDA} > 0 ]]; then BAF_EXE=bytes_and_flops.cuda @@ -41,4 +41,4 @@ cd ../.. echo "MiniFE: ${FE_PERF_1} ${FE_PERF_2}" PERF_RESULT=`echo "${BAF_PERF_1} ${BAF_PERF_2} ${MD_PERF_1} ${MD_PERF_2} ${FE_PERF_1} ${FE_PERF_2}" | awk '{print ($1+$2+$3+$4+$5+$6)/6}'` -echo "Total Result: " ${PERF_RESULT} \ No newline at end of file +echo "Total Result: " ${PERF_RESULT} diff --git a/lib/kokkos/benchmarks/bytes_and_flops/bench.hpp b/lib/kokkos/benchmarks/bytes_and_flops/bench.hpp index e3fe42a652dfaa963578052664a8df71e03afce1..59b4d50c441eb5d4c58c99c53eee7f9c6b9adbd1 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/bench.hpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/bench.hpp @@ -35,7 +35,7 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER diff --git a/lib/kokkos/benchmarks/bytes_and_flops/bench_stride.hpp b/lib/kokkos/benchmarks/bytes_and_flops/bench_stride.hpp index b60ec849944b9415d4ad6e1cd3a627cafdc55854..6509c654e71b4fdfd5366e4699972d7d19fe7807 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/bench_stride.hpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/bench_stride.hpp @@ -35,7 +35,7 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER diff --git a/lib/kokkos/benchmarks/bytes_and_flops/bench_unroll_stride.hpp b/lib/kokkos/benchmarks/bytes_and_flops/bench_unroll_stride.hpp index 0992c5b54b6277f99d728710a37182695d3a6f92..c6651da1e7cf2e6d1a233dc90e9adf1211decf69 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/bench_unroll_stride.hpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/bench_unroll_stride.hpp @@ -35,7 +35,7 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER diff --git a/lib/kokkos/benchmarks/bytes_and_flops/main.cpp b/lib/kokkos/benchmarks/bytes_and_flops/main.cpp index 8db5ce0eb5e869c565ce8f3872baea5200e4beb4..4f46b38717df237f0d33c0ac101d105f41f3e9d8 100644 --- a/lib/kokkos/benchmarks/bytes_and_flops/main.cpp +++ b/lib/kokkos/benchmarks/bytes_and_flops/main.cpp @@ -35,7 +35,7 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER diff --git a/lib/kokkos/benchmarks/gather/gather.hpp b/lib/kokkos/benchmarks/gather/gather.hpp index 406bd28983bd696e12cb82aeea388f94b6e80047..bbbd65850f75c00a928383d3c6ae2f9af27d7d95 100644 --- a/lib/kokkos/benchmarks/gather/gather.hpp +++ b/lib/kokkos/benchmarks/gather/gather.hpp @@ -35,7 +35,7 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER diff --git a/lib/kokkos/benchmarks/gather/gather_unroll.hpp b/lib/kokkos/benchmarks/gather/gather_unroll.hpp index 1d01b26ca77f2b7e58f5a1cbd5bbe251c3d558d3..1d9c99adf9e9909a21be2899f60000713e0208a4 100644 --- a/lib/kokkos/benchmarks/gather/gather_unroll.hpp +++ b/lib/kokkos/benchmarks/gather/gather_unroll.hpp @@ -35,7 +35,7 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER diff --git a/lib/kokkos/benchmarks/gather/main.cpp b/lib/kokkos/benchmarks/gather/main.cpp index 88eb0493c1861595069ae518a7fab628a37ce150..ca5238e7fdb527e56080f5b76eb6fa7c9487fcd3 100644 --- a/lib/kokkos/benchmarks/gather/main.cpp +++ b/lib/kokkos/benchmarks/gather/main.cpp @@ -35,7 +35,7 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER diff --git a/lib/kokkos/benchmarks/policy_performance/main.cpp b/lib/kokkos/benchmarks/policy_performance/main.cpp index b0ed9bb512f599a60eaa235bb80de1f1df33c755..2f5395734afdcfce41cc43c9b2322de4615a74b1 100644 --- a/lib/kokkos/benchmarks/policy_performance/main.cpp +++ b/lib/kokkos/benchmarks/policy_performance/main.cpp @@ -35,7 +35,7 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER diff --git a/lib/kokkos/benchmarks/policy_performance/policy_perf_test.hpp b/lib/kokkos/benchmarks/policy_performance/policy_perf_test.hpp index 11576413e2dc5e81f719a2dcc8786a156fcaa7b5..1ab437928de761bed614efc8a22d8c4d38fcf38f 100644 --- a/lib/kokkos/benchmarks/policy_performance/policy_perf_test.hpp +++ b/lib/kokkos/benchmarks/policy_performance/policy_perf_test.hpp @@ -35,7 +35,7 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER diff --git a/lib/kokkos/cmake/Modules/FindHWLOC.cmake b/lib/kokkos/cmake/Modules/FindHWLOC.cmake index 273dcb5c8aac9dc7f442844ff48d0827488afe0c..60df8084d80815f79f0215c17b40f80db4c791c0 100644 --- a/lib/kokkos/cmake/Modules/FindHWLOC.cmake +++ b/lib/kokkos/cmake/Modules/FindHWLOC.cmake @@ -2,7 +2,7 @@ # FindHWLOC # ---------- # -# Try to find HWLOC. +# Try to find HWLOC, based on KOKKOS_HWLOC_DIR # # The following variables are defined: # @@ -10,8 +10,8 @@ # HWLOC_INCLUDE_DIR - HWLOC include directory # HWLOC_LIBRARIES - Libraries needed to use HWLOC -find_path(HWLOC_INCLUDE_DIR hwloc.h) -find_library(HWLOC_LIBRARIES hwloc) +find_path(HWLOC_INCLUDE_DIR hwloc.h PATHS "${KOKKOS_HWLOC_DIR}/include") +find_library(HWLOC_LIBRARIES hwloc PATHS "${KOKKOS_HWLOC_DIR}/lib") include(FindPackageHandleStandardArgs) find_package_handle_standard_args(HWLOC DEFAULT_MSG diff --git a/lib/kokkos/cmake/kokkos_build.cmake b/lib/kokkos/cmake/kokkos_build.cmake index f31680d6e28f24a33c941b5d4504d82321efe558..76d0655adb76753d09df3bbfd88ff6d98d7da013 100644 --- a/lib/kokkos/cmake/kokkos_build.cmake +++ b/lib/kokkos/cmake/kokkos_build.cmake @@ -1,7 +1,3 @@ -# kokkos_generated_settings.cmake includes the kokkos library itself in KOKKOS_LIBS -# which we do not want to use for the cmake builds so clean this up -string(REGEX REPLACE "-lkokkos" "" KOKKOS_LIBS ${KOKKOS_LIBS}) - ############################ Detect if submodule ############################### # # With thanks to StackOverflow: @@ -73,6 +69,19 @@ IF(KOKKOS_SEPARATE_LIBS) PUBLIC $<$:${KOKKOS_CXX_FLAGS}> ) + target_include_directories( + kokkoscore + PUBLIC + ${KOKKOS_TPL_INCLUDE_DIRS} + ) + + foreach(lib IN LISTS KOKKOS_TPL_LIBRARY_NAMES) + find_library(LIB_${lib} ${lib} PATHS ${KOKKOS_TPL_LIBRARY_DIRS}) + target_link_libraries(kokkoscore PUBLIC ${LIB_${lib}}) + endforeach() + + target_link_libraries(kokkoscore PUBLIC "${KOKKOS_LINK_FLAGS}") + # Install the kokkoscore library INSTALL (TARGETS kokkoscore EXPORT KokkosTargets @@ -81,12 +90,6 @@ IF(KOKKOS_SEPARATE_LIBS) RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin ) - TARGET_LINK_LIBRARIES( - kokkoscore - ${KOKKOS_LD_FLAGS} - ${KOKKOS_EXTRA_LIBS_LIST} - ) - # kokkoscontainers if (DEFINED KOKKOS_CONTAINERS_SRCS) ADD_LIBRARY( @@ -144,12 +147,19 @@ ELSE() PUBLIC $<$:${KOKKOS_CXX_FLAGS}> ) - TARGET_LINK_LIBRARIES( + target_include_directories( kokkos - ${KOKKOS_LD_FLAGS} - ${KOKKOS_EXTRA_LIBS_LIST} + PUBLIC + ${KOKKOS_TPL_INCLUDE_DIRS} ) + foreach(lib IN LISTS KOKKOS_TPL_LIBRARY_NAMES) + find_library(LIB_${lib} ${lib} PATHS ${KOKKOS_TPL_LIBRARY_DIRS}) + target_link_libraries(kokkos PUBLIC ${LIB_${lib}}) + endforeach() + + target_link_libraries(kokkos PUBLIC "${KOKKOS_LINK_FLAGS}") + # Install the kokkos library INSTALL (TARGETS kokkos EXPORT KokkosTargets diff --git a/lib/kokkos/cmake/kokkos_options.cmake b/lib/kokkos/cmake/kokkos_options.cmake index f17710a4ceba2b44b345dbd6a4de00d27a110fe2..25eb8e86ced2e549eefa1d1c0788ffc41654cbd8 100644 --- a/lib/kokkos/cmake/kokkos_options.cmake +++ b/lib/kokkos/cmake/kokkos_options.cmake @@ -25,11 +25,12 @@ list(APPEND KOKKOS_INTERNAL_ENABLE_OPTIONS_LIST Cuda_LDG_Intrinsic Debug Debug_DualView_Modify_Check - Debug_Bounds_Checkt + Debug_Bounds_Check Compiler_Warnings Profiling Profiling_Load_Print Aggressive_Vectorization + Deprecated_Code ) #------------------------------------------------------------------------------- @@ -263,7 +264,8 @@ set(KOKKOS_ENABLE_PROFILING ${KOKKOS_INTERNAL_ENABLE_PROFILING_DEFAULT} CACHE BO set_kokkos_default_default(PROFILING_LOAD_PRINT OFF) set(KOKKOS_ENABLE_PROFILING_LOAD_PRINT ${KOKKOS_INTERNAL_ENABLE_PROFILING_LOAD_PRINT_DEFAULT} CACHE BOOL "Enable profile load print.") - +set_kokkos_default_default(DEPRECATED_CODE ON) +set(KOKKOS_ENABLE_DEPRECATED_CODE ${KOKKOS_INTERNAL_ENABLE_DEPRECATED_CODE_DEFAULT} CACHE BOOL "Enable deprecated code.") #------------------------------------------------------------------------------- diff --git a/lib/kokkos/cmake/kokkos_settings.cmake b/lib/kokkos/cmake/kokkos_settings.cmake index 850a74a670ee8d90bc4095c205da8db4c6e9a665..579fab0c954c230d7690cda72a854d332d598be1 100644 --- a/lib/kokkos/cmake/kokkos_settings.cmake +++ b/lib/kokkos/cmake/kokkos_settings.cmake @@ -14,6 +14,13 @@ #------------------------------------------------------------------------------- # Ensure that KOKKOS_ARCH is in the ARCH_LIST +if (KOKKOS_ARCH MATCHES ",") + message("-- Detected a comma in: KOKKOS_ARCH=${KOKKOS_ARCH}") + message("-- Although we prefer KOKKOS_ARCH to be semicolon-delimited, we do allow") + message("-- comma-delimited values for compatibility with scripts (see github.com/trilinos/Trilinos/issues/2330)") + string(REPLACE "," ";" KOKKOS_ARCH "${KOKKOS_ARCH}") + message("-- Commas were changed to semicolons, now KOKKOS_ARCH=${KOKKOS_ARCH}") +endif() foreach(arch ${KOKKOS_ARCH}) list(FIND KOKKOS_ARCH_LIST ${arch} indx) if (indx EQUAL -1) @@ -23,14 +30,13 @@ foreach(arch ${KOKKOS_ARCH}) endforeach() # KOKKOS_SETTINGS uses KOKKOS_ARCH -string(REPLACE ";" "," KOKKOS_ARCH "${KOKKOS_ARCH}") -set(KOKKOS_ARCH ${KOKKOS_ARCH}) +string(REPLACE ";" "," KOKKOS_GMAKE_ARCH "${KOKKOS_ARCH}") # From Makefile.kokkos: Options: yes,no if(${KOKKOS_ENABLE_DEBUG}) - set(KOKKOS_DEBUG yes) + set(KOKKOS_GMAKE_DEBUG yes) else() - set(KOKKOS_DEBUG no) + set(KOKKOS_GMAKE_DEBUG no) endif() #------------------------------- KOKKOS_DEVICES -------------------------------- @@ -43,10 +49,10 @@ foreach(devopt ${KOKKOS_DEVICES_LIST}) endif () endforeach() # List needs to be comma-delmitted -string(REPLACE ";" "," KOKKOS_DEVICES "${KOKKOS_DEVICESl}") +string(REPLACE ";" "," KOKKOS_GMAKE_DEVICES "${KOKKOS_DEVICESl}") #------------------------------- KOKKOS_OPTIONS -------------------------------- -# From Makefile.kokkos: Options: aggressive_vectorization,disable_profiling +# From Makefile.kokkos: Options: aggressive_vectorization,disable_profiling,disable_deprecated_code #compiler_warnings, aggressive_vectorization, disable_profiling, disable_dualview_modify_check, enable_profile_load_print set(KOKKOS_OPTIONSl) @@ -57,7 +63,10 @@ if(${KOKKOS_ENABLE_AGGRESSIVE_VECTORIZATION}) list(APPEND KOKKOS_OPTIONSl aggressive_vectorization) endif() if(NOT ${KOKKOS_ENABLE_PROFILING}) - list(APPEND KOKKOS_OPTIONSl disable_vectorization) + list(APPEND KOKKOS_OPTIONSl disable_profiling) +endif() +if(NOT ${KOKKOS_ENABLE_DEPRECATED_CODE}) + list(APPEND KOKKOS_OPTIONSl disable_deprecated_code) endif() if(NOT ${KOKKOS_ENABLE_DEBUG_DUALVIEW_MODIFY_CHECK}) list(APPEND KOKKOS_OPTIONSl disable_dualview_modify_check) @@ -66,7 +75,7 @@ if(${KOKKOS_ENABLE_PROFILING_LOAD_PRINT}) list(APPEND KOKKOS_OPTIONSl enable_profile_load_print) endif() # List needs to be comma-delimitted -string(REPLACE ";" "," KOKKOS_OPTIONS "${KOKKOS_OPTIONSl}") +string(REPLACE ";" "," KOKKOS_GMAKE_OPTIONS "${KOKKOS_OPTIONSl}") #------------------------------- KOKKOS_USE_TPLS ------------------------------- @@ -78,19 +87,19 @@ foreach(tplopt ${KOKKOS_USE_TPLS_LIST}) endif () endforeach() # List needs to be comma-delimitted -string(REPLACE ";" "," KOKKOS_USE_TPLS "${KOKKOS_USE_TPLSl}") +string(REPLACE ";" "," KOKKOS_GMAKE_USE_TPLS "${KOKKOS_USE_TPLSl}") #------------------------------- KOKKOS_CUDA_OPTIONS --------------------------- # Construct the Makefile options -set(KOKKOS_CUDA_OPTIONS) +set(KOKKOS_CUDA_OPTIONSl) foreach(cudaopt ${KOKKOS_CUDA_OPTIONS_LIST}) if (${KOKKOS_ENABLE_CUDA_${cudaopt}}) list(APPEND KOKKOS_CUDA_OPTIONSl ${KOKKOS_INTERNAL_${cudaopt}}) endif () endforeach() # List needs to be comma-delmitted -string(REPLACE ";" "," KOKKOS_CUDA_OPTIONS "${KOKKOS_CUDA_OPTIONSl}") +string(REPLACE ";" "," KOKKOS_GMAKE_CUDA_OPTIONS "${KOKKOS_CUDA_OPTIONSl}") #------------------------------- PATH VARIABLES -------------------------------- # Want makefile to use same executables specified which means modifying @@ -100,10 +109,10 @@ string(REPLACE ";" "," KOKKOS_CUDA_OPTIONS "${KOKKOS_CUDA_OPTIONSl}") set(KOKKOS_INTERNAL_PATHS) set(addpathl) -foreach(kvar "CUDA;QTHREADS;${KOKKOS_USE_TPLS_LIST}") +foreach(kvar IN LISTS KOKKOS_USE_TPLS_LIST ITEMS CUDA QTHREADS) if(${KOKKOS_ENABLE_${kvar}}) if(DEFINED KOKKOS_${kvar}_DIR) - set(KOKKOS_INTERNAL_PATHS "${KOKKOS_INTERNAL_PATHS} ${kvar}_PATH=${KOKKOS_${kvar}_DIR}") + set(KOKKOS_INTERNAL_PATHS ${KOKKOS_INTERNAL_PATHS} "${kvar}_PATH=${KOKKOS_${kvar}_DIR}") if(IS_DIRECTORY ${KOKKOS_${kvar}_DIR}/bin) list(APPEND addpathl ${KOKKOS_${kvar}_DIR}/bin) endif() @@ -124,10 +133,9 @@ set(KOKKOS_SETTINGS ${KOKKOS_SETTINGS} KOKKOS_INSTALL_PATH=${CMAKE_INSTALL_PREFI # Form of KOKKOS_foo=$KOKKOS_foo foreach(kvar ARCH;DEVICES;DEBUG;OPTIONS;CUDA_OPTIONS;USE_TPLS) - set(KOKKOS_VAR KOKKOS_${kvar}) - if(DEFINED KOKKOS_${kvar}) - if (NOT "${${KOKKOS_VAR}}" STREQUAL "") - set(KOKKOS_SETTINGS ${KOKKOS_SETTINGS} ${KOKKOS_VAR}=${${KOKKOS_VAR}}) + if(DEFINED KOKKOS_GMAKE_${kvar}) + if (NOT "${KOKKOS_GMAKE_${kvar}}" STREQUAL "") + set(KOKKOS_SETTINGS ${KOKKOS_SETTINGS} KOKKOS_${kvar}=${KOKKOS_GMAKE_${kvar}}) endif() endif() endforeach() @@ -147,7 +155,7 @@ if (NOT "${KOKKOS_INTERNAL_PATHS}" STREQUAL "") set(KOKKOS_SETTINGS ${KOKKOS_SETTINGS} ${KOKKOS_INTERNAL_PATHS}) endif() if (NOT "${KOKKOS_INTERNAL_ADDTOPATH}" STREQUAL "") - set(KOKKOS_SETTINGS ${KOKKOS_SETTINGS} PATH=${KOKKOS_INTERNAL_ADDTOPATH}:\${PATH}) + set(KOKKOS_SETTINGS ${KOKKOS_SETTINGS} "PATH=\"${KOKKOS_INTERNAL_ADDTOPATH}:$ENV{PATH}\"") endif() # Final form that gets passed to make @@ -185,7 +193,7 @@ if(KOKKOS_CMAKE_VERBOSE) message(STATUS "") message(STATUS "Architectures:") - message(STATUS " ${KOKKOS_ARCH}") + message(STATUS " ${KOKKOS_GMAKE_ARCH}") message(STATUS "") message(STATUS "Enabled options") @@ -194,43 +202,14 @@ if(KOKKOS_CMAKE_VERBOSE) message(STATUS " KOKKOS_SEPARATE_LIBS") endif() - if(KOKKOS_ENABLE_HWLOC) - message(STATUS " KOKKOS_ENABLE_HWLOC") - endif() - - if(KOKKOS_ENABLE_MEMKIND) - message(STATUS " KOKKOS_ENABLE_MEMKIND") - endif() - - if(KOKKOS_ENABLE_DEBUG) - message(STATUS " KOKKOS_ENABLE_DEBUG") - endif() - - if(KOKKOS_ENABLE_PROFILING) - message(STATUS " KOKKOS_ENABLE_PROFILING") - endif() - - if(KOKKOS_ENABLE_AGGRESSIVE_VECTORIZATION) - message(STATUS " KOKKOS_ENABLE_AGGRESSIVE_VECTORIZATION") - endif() - - if(KOKKOS_ENABLE_CUDA) - if(KOKKOS_ENABLE_CUDA_LDG_INTRINSIC) - message(STATUS " KOKKOS_ENABLE_CUDA_LDG_INTRINSIC") - endif() - - if(KOKKOS_ENABLE_CUDA_UVM) - message(STATUS " KOKKOS_ENABLE_CUDA_UVM") - endif() - - if(KOKKOS_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE) - message(STATUS " KOKKOS_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE") - endif() - - if(KOKKOS_ENABLE_CUDA_LAMBDA) - message(STATUS " KOKKOS_ENABLE_CUDA_LAMBDA") + foreach(opt IN LISTS KOKKOS_INTERNAL_ENABLE_OPTIONS_LIST) + string(TOUPPER ${opt} OPT) + if (KOKKOS_ENABLE_${OPT}) + message(STATUS " KOKKOS_ENABLE_${OPT}") endif() + endforeach() + if(KOKKOS_ENABLE_CUDA) if(KOKKOS_CUDA_DIR) message(STATUS " KOKKOS_CUDA_DIR: ${KOKKOS_CUDA_DIR}") endif() diff --git a/lib/kokkos/cmake/tribits.cmake b/lib/kokkos/cmake/tribits.cmake index 321704a1c8db89631ddc33a641b8f3dbc2240ce6..1b5a7b2adb4572cf3b454af49ce7db13332fc7ce 100644 --- a/lib/kokkos/cmake/tribits.cmake +++ b/lib/kokkos/cmake/tribits.cmake @@ -3,7 +3,7 @@ INCLUDE(CTest) cmake_policy(SET CMP0054 NEW) -MESSAGE(WARNING "The project name is: ${PROJECT_NAME}") +MESSAGE(STATUS "The project name is: ${PROJECT_NAME}") IF(NOT DEFINED ${PROJECT_NAME}_ENABLE_OpenMP) SET(${PROJECT_NAME}_ENABLE_OpenMP OFF) @@ -84,9 +84,6 @@ ENDFUNCTION() MACRO(TRIBITS_ADD_TEST_DIRECTORIES) - message(STATUS "ProjectName: " ${PROJECT_NAME}) - message(STATUS "Tests: " ${${PROJECT_NAME}_ENABLE_TESTS}) - IF(${${PROJECT_NAME}_ENABLE_TESTS}) FOREACH(TEST_DIR ${ARGN}) ADD_SUBDIRECTORY(${TEST_DIR}) @@ -95,13 +92,11 @@ MACRO(TRIBITS_ADD_TEST_DIRECTORIES) ENDMACRO() MACRO(TRIBITS_ADD_EXAMPLE_DIRECTORIES) - IF(${PACKAGE_NAME}_ENABLE_EXAMPLES OR ${PARENT_PACKAGE_NAME}_ENABLE_EXAMPLES) FOREACH(EXAMPLE_DIR ${ARGN}) ADD_SUBDIRECTORY(${EXAMPLE_DIR}) ENDFOREACH() ENDIF() - ENDMACRO() diff --git a/lib/kokkos/config/configure_compton_cpu.sh b/lib/kokkos/config/configure_compton_cpu.sh deleted file mode 100644 index 17287fb8486977927e4ba29718c79a438378d0a4..0000000000000000000000000000000000000000 --- a/lib/kokkos/config/configure_compton_cpu.sh +++ /dev/null @@ -1,190 +0,0 @@ -#!/bin/sh -# -# Copy this script, put it outside the Trilinos source directory, and -# build there. -# -# Additional command-line arguments given to this script will be -# passed directly to CMake. -# - -# -# Force CMake to re-evaluate build options. -# -rm -rf CMake* Trilinos* packages Dart* Testing cmake_install.cmake MakeFile* - -#----------------------------------------------------------------------------- -# Incrementally construct cmake configure options: - -CMAKE_CONFIGURE="" - -#----------------------------------------------------------------------------- -# Location of Trilinos source tree: - -CMAKE_PROJECT_DIR="${HOME}/Trilinos" - -# Location for installation: - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_INSTALL_PREFIX=/home/projects/kokkos/host/`date +%F`" - -#----------------------------------------------------------------------------- -# General build options. -# Use a variable so options can be propagated to CUDA compiler. - -CMAKE_VERBOSE_MAKEFILE=OFF -CMAKE_BUILD_TYPE=RELEASE -# CMAKE_BUILD_TYPE=DEBUG - -#----------------------------------------------------------------------------- -# Build for CUDA architecture: - -CUDA_ARCH="" -# CUDA_ARCH="20" -# CUDA_ARCH="30" -# CUDA_ARCH="35" - -# Build with Intel compiler - -INTEL=ON - -# Build for MIC architecture: - -# INTEL_XEON_PHI=ON - -# Build with HWLOC at location: - -HWLOC_BASE_DIR="/home/projects/libraries/host/hwloc/1.6.2" - -# Location for MPI to use in examples: - -MPI_BASE_DIR="" - -#----------------------------------------------------------------------------- -# MPI configuation only used for examples: -# -# Must have the MPI_BASE_DIR so that the -# include path can be passed to the Cuda compiler - -if [ -n "${MPI_BASE_DIR}" ] ; -then - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_MPI:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D MPI_BASE_DIR:PATH=${MPI_BASE_DIR}" -else - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_MPI:BOOL=OFF" -fi - -#----------------------------------------------------------------------------- -# Pthread configuation: - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_Pthread:BOOL=ON" -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_Pthread:BOOL=OFF" - -#----------------------------------------------------------------------------- -# OpenMP configuation: - -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_OpenMP:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_OpenMP:BOOL=OFF" - -#----------------------------------------------------------------------------- -#----------------------------------------------------------------------------- -# Configure packages for kokkos-only: - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_ALL_PACKAGES:BOOL=OFF" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_EXAMPLES:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TESTS:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosCore:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosContainers:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosExample:BOOL=ON" - -#----------------------------------------------------------------------------- -#----------------------------------------------------------------------------- -# Hardware locality cmake configuration: - -if [ -n "${HWLOC_BASE_DIR}" ] ; -then - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_HWLOC:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D HWLOC_INCLUDE_DIRS:FILEPATH=${HWLOC_BASE_DIR}/include" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D HWLOC_LIBRARY_DIRS:FILEPATH=${HWLOC_BASE_DIR}/lib" -fi - -#----------------------------------------------------------------------------- -# Cuda cmake configuration: - -if [ -n "${CUDA_ARCH}" ] ; -then - - # Options to CUDA_NVCC_FLAGS must be semi-colon delimited, - # this is different than the standard CMAKE_CXX_FLAGS syntax. - - CUDA_NVCC_FLAGS="-gencode;arch=compute_${CUDA_ARCH},code=sm_${CUDA_ARCH}" - CUDA_NVCC_FLAGS="${CUDA_NVCC_FLAGS};-Xcompiler;-Wall,-ansi" - - if [ "${CMAKE_BUILD_TYPE}" = "DEBUG" ] ; - then - CUDA_NVCC_FLAGS="${CUDA_NVCC_FLAGS};-g" - else - CUDA_NVCC_FLAGS="${CUDA_NVCC_FLAGS};-O3" - fi - - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_CUDA:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_CUSPARSE:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CUDA_VERBOSE_BUILD:BOOL=OFF" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CUDA_NVCC_FLAGS:STRING=${CUDA_NVCC_FLAGS}" - -fi - -#----------------------------------------------------------------------------- - -if [ "${INTEL}" = "ON" -o "${INTEL_XEON_PHI}" = "ON" ] ; -then - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_C_COMPILER=icc" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_COMPILER=icpc" -fi - -#----------------------------------------------------------------------------- - -# Cross-compile for Intel Xeon Phi: - -if [ "${INTEL_XEON_PHI}" = "ON" ] ; -then - - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_SYSTEM_NAME=Linux" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_FLAGS:STRING=-mmic" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_C_FLAGS:STRING=-mmic" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_Fortran_COMPILER:FILEPATH=ifort" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D BLAS_LIBRARY_DIRS:FILEPATH=${MKLROOT}/lib/mic" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D BLAS_LIBRARY_NAMES='mkl_intel_lp64;mkl_sequential;mkl_core;pthread;m'" - - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_CHECKED_STL:BOOL=OFF" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_WARNINGS_AS_ERRORS_FLAGS:STRING=''" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D BUILD_SHARED_LIBS:BOOL=OFF" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D DART_TESTING_TIMEOUT:STRING=600" - - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D LAPACK_LIBRARY_NAMES=''" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_LAPACK_LIBRARIES=''" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_BinUtils=OFF" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_Pthread_LIBRARIES=pthread" - - # Cannot cross-compile fortran compatibility checks on the MIC: - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_Fortran:BOOL=OFF" - - # Tell cmake the answers to compile-and-execute tests - # to prevent cmake from executing a cross-compiled program. - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D HAVE_GCC_ABI_DEMANGLE_EXITCODE=0" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D HAVE_TEUCHOS_BLASFLOAT_EXITCODE=0" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D LAPACK_SLAPY2_WORKS_EXITCODE=0" - -fi - -#----------------------------------------------------------------------------- - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_VERBOSE_MAKEFILE:BOOL=${CMAKE_VERBOSE_MAKEFILE}" - -#----------------------------------------------------------------------------- - -echo "cmake ${CMAKE_CONFIGURE} ${CMAKE_PROJECT_DIR}" - -cmake ${CMAKE_CONFIGURE} ${CMAKE_PROJECT_DIR} - -#----------------------------------------------------------------------------- - diff --git a/lib/kokkos/config/configure_compton_mic.sh b/lib/kokkos/config/configure_compton_mic.sh deleted file mode 100644 index 7f9aee13f957d503d7fa5a5b1c8ecf924a80e0d8..0000000000000000000000000000000000000000 --- a/lib/kokkos/config/configure_compton_mic.sh +++ /dev/null @@ -1,186 +0,0 @@ -#!/bin/sh -# -# Copy this script, put it outside the Trilinos source directory, and -# build there. -# -# Additional command-line arguments given to this script will be -# passed directly to CMake. -# - -# -# Force CMake to re-evaluate build options. -# -rm -rf CMake* Trilinos* packages Dart* Testing cmake_install.cmake MakeFile* - -#----------------------------------------------------------------------------- -# Incrementally construct cmake configure options: - -CMAKE_CONFIGURE="" - -#----------------------------------------------------------------------------- -# Location of Trilinos source tree: - -CMAKE_PROJECT_DIR="${HOME}/Trilinos" - -# Location for installation: - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_INSTALL_PREFIX=/home/projects/kokkos/mic/`date +%F`" - -#----------------------------------------------------------------------------- -# General build options. -# Use a variable so options can be propagated to CUDA compiler. - -CMAKE_VERBOSE_MAKEFILE=OFF -CMAKE_BUILD_TYPE=RELEASE -# CMAKE_BUILD_TYPE=DEBUG - -#----------------------------------------------------------------------------- -# Build for CUDA architecture: - -CUDA_ARCH="" -# CUDA_ARCH="20" -# CUDA_ARCH="30" -# CUDA_ARCH="35" - -# Build for MIC architecture: - -INTEL_XEON_PHI=ON - -# Build with HWLOC at location: - -HWLOC_BASE_DIR="/home/projects/libraries/mic/hwloc/1.6.2" - -# Location for MPI to use in examples: - -MPI_BASE_DIR="" - -#----------------------------------------------------------------------------- -# MPI configuation only used for examples: -# -# Must have the MPI_BASE_DIR so that the -# include path can be passed to the Cuda compiler - -if [ -n "${MPI_BASE_DIR}" ] ; -then - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_MPI:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D MPI_BASE_DIR:PATH=${MPI_BASE_DIR}" -else - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_MPI:BOOL=OFF" -fi - -#----------------------------------------------------------------------------- -# Pthread configuation: - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_Pthread:BOOL=ON" -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_Pthread:BOOL=OFF" - -#----------------------------------------------------------------------------- -# OpenMP configuation: - -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_OpenMP:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_OpenMP:BOOL=OFF" - -#----------------------------------------------------------------------------- -#----------------------------------------------------------------------------- -# Configure packages for kokkos-only: - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_ALL_PACKAGES:BOOL=OFF" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_EXAMPLES:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TESTS:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosCore:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosContainers:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosExample:BOOL=ON" - -#----------------------------------------------------------------------------- -#----------------------------------------------------------------------------- -# Hardware locality cmake configuration: - -if [ -n "${HWLOC_BASE_DIR}" ] ; -then - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_HWLOC:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D HWLOC_INCLUDE_DIRS:FILEPATH=${HWLOC_BASE_DIR}/include" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D HWLOC_LIBRARY_DIRS:FILEPATH=${HWLOC_BASE_DIR}/lib" -fi - -#----------------------------------------------------------------------------- -# Cuda cmake configuration: - -if [ -n "${CUDA_ARCH}" ] ; -then - - # Options to CUDA_NVCC_FLAGS must be semi-colon delimited, - # this is different than the standard CMAKE_CXX_FLAGS syntax. - - CUDA_NVCC_FLAGS="-gencode;arch=compute_${CUDA_ARCH},code=sm_${CUDA_ARCH}" - CUDA_NVCC_FLAGS="${CUDA_NVCC_FLAGS};-Xcompiler;-Wall,-ansi" - - if [ "${CMAKE_BUILD_TYPE}" = "DEBUG" ] ; - then - CUDA_NVCC_FLAGS="${CUDA_NVCC_FLAGS};-g" - else - CUDA_NVCC_FLAGS="${CUDA_NVCC_FLAGS};-O3" - fi - - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_CUDA:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_CUSPARSE:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CUDA_VERBOSE_BUILD:BOOL=OFF" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CUDA_NVCC_FLAGS:STRING=${CUDA_NVCC_FLAGS}" - -fi - -#----------------------------------------------------------------------------- - -if [ "${INTEL}" = "ON" -o "${INTEL_XEON_PHI}" = "ON" ] ; -then - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_C_COMPILER=icc" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_COMPILER=icpc" -fi - -#----------------------------------------------------------------------------- - -# Cross-compile for Intel Xeon Phi: - -if [ "${INTEL_XEON_PHI}" = "ON" ] ; -then - - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_SYSTEM_NAME=Linux" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_FLAGS:STRING=-mmic" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_C_FLAGS:STRING=-mmic" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_Fortran_COMPILER:FILEPATH=ifort" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D BLAS_LIBRARY_DIRS:FILEPATH=${MKLROOT}/lib/mic" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D BLAS_LIBRARY_NAMES='mkl_intel_lp64;mkl_sequential;mkl_core;pthread;m'" - - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_CHECKED_STL:BOOL=OFF" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_WARNINGS_AS_ERRORS_FLAGS:STRING=''" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D BUILD_SHARED_LIBS:BOOL=OFF" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D DART_TESTING_TIMEOUT:STRING=600" - - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D LAPACK_LIBRARY_NAMES=''" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_LAPACK_LIBRARIES=''" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_BinUtils=OFF" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_Pthread_LIBRARIES=pthread" - - # Cannot cross-compile fortran compatibility checks on the MIC: - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_Fortran:BOOL=OFF" - - # Tell cmake the answers to compile-and-execute tests - # to prevent cmake from executing a cross-compiled program. - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D HAVE_GCC_ABI_DEMANGLE_EXITCODE=0" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D HAVE_TEUCHOS_BLASFLOAT_EXITCODE=0" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D LAPACK_SLAPY2_WORKS_EXITCODE=0" - -fi - -#----------------------------------------------------------------------------- - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_VERBOSE_MAKEFILE:BOOL=${CMAKE_VERBOSE_MAKEFILE}" - -#----------------------------------------------------------------------------- - -echo "cmake ${CMAKE_CONFIGURE} ${CMAKE_PROJECT_DIR}" - -cmake ${CMAKE_CONFIGURE} ${CMAKE_PROJECT_DIR} - -#----------------------------------------------------------------------------- - diff --git a/lib/kokkos/config/configure_kokkos.sh b/lib/kokkos/config/configure_kokkos.sh deleted file mode 100644 index 592e7f593639c617385b487183f8ea6111cbd732..0000000000000000000000000000000000000000 --- a/lib/kokkos/config/configure_kokkos.sh +++ /dev/null @@ -1,293 +0,0 @@ -#!/bin/sh -# -# Copy this script, put it outside the Trilinos source directory, and -# build there. -# -#----------------------------------------------------------------------------- -# General build options. -# Use a variable so options can be propagated to CUDA compiler. - -CMAKE_BUILD_TYPE=RELEASE -# CMAKE_BUILD_TYPE=DEBUG - -# Source and installation directories: - -TRILINOS_SOURCE_DIR=${HOME}/Trilinos -TRILINOS_INSTALL_DIR=${HOME}/TrilinosInstall/`date +%F` - -#----------------------------------------------------------------------------- - -USE_CUDA_ARCH= -USE_THREAD= -USE_OPENMP= -USE_INTEL= -USE_XEON_PHI= -HWLOC_BASE_DIR= -MPI_BASE_DIR= -BLAS_LIB_DIR= -LAPACK_LIB_DIR= - -if [ 1 ] ; then - # Platform 'kokkos-dev' with Cuda, OpenMP, hwloc, mpi, gnu - USE_CUDA_ARCH="35" - USE_OPENMP=ON - HWLOC_BASE_DIR="/home/projects/hwloc/1.7.1/host/gnu/4.4.7" - MPI_BASE_DIR="/home/projects/mvapich/2.0.0b/gnu/4.4.7" - BLAS_LIB_DIR="/home/projects/blas/host/gnu/lib" - LAPACK_LIB_DIR="/home/projects/lapack/host/gnu/lib" - -elif [ ] ; then - # Platform 'kokkos-dev' with Cuda, Threads, hwloc, mpi, gnu - USE_CUDA_ARCH="35" - USE_THREAD=ON - HWLOC_BASE_DIR="/home/projects/hwloc/1.7.1/host/gnu/4.4.7" - MPI_BASE_DIR="/home/projects/mvapich/2.0.0b/gnu/4.4.7" - BLAS_LIB_DIR="/home/projects/blas/host/gnu/lib" - LAPACK_LIB_DIR="/home/projects/lapack/host/gnu/lib" - -elif [ ] ; then - # Platform 'kokkos-dev' with Xeon Phi and hwloc - USE_OPENMP=ON - USE_INTEL=ON - USE_XEON_PHI=ON - HWLOC_BASE_DIR="/home/projects/hwloc/1.7.1/mic/intel/13.SP1.1.106" - -elif [ ] ; then - # Platform 'kokkos-nvidia' with Cuda, OpenMP, hwloc, mpi, gnu - USE_CUDA_ARCH="20" - USE_OPENMP=ON - HWLOC_BASE_DIR="/home/sems/common/hwloc/current" - MPI_BASE_DIR="/home/sems/common/openmpi/current" - -elif [ ] ; then - # Platform 'kokkos-nvidia' with Cuda, Threads, hwloc, mpi, gnu - USE_CUDA_ARCH="20" - USE_THREAD=ON - HWLOC_BASE_DIR="/home/sems/common/hwloc/current" - MPI_BASE_DIR="/home/sems/common/openmpi/current" - -fi - -#----------------------------------------------------------------------------- -# Incrementally construct cmake configure command line options: - -CMAKE_CONFIGURE="" -CMAKE_CXX_FLAGS="" - -#----------------------------------------------------------------------------- -# Configure for Kokkos subpackages and tests: - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_ALL_PACKAGES:BOOL=OFF" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_EXAMPLES:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TESTS:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosCore:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosContainers:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TpetraKernels:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosExample:BOOL=ON" - -#----------------------------------------------------------------------------- - -if [ 1 ] ; then - - # Configure for Tpetra/Kokkos: - - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D BLAS_LIBRARY_DIRS:FILEPATH=${BLAS_LIB_DIR}" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D LAPACK_LIBRARY_DIRS:FILEPATH=${LAPACK_LIB_DIR}" - - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_Tpetra:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_Kokkos:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TpetraClassic:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TeuchosKokkosCompat:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TeuchosKokkosComm:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Tpetra_ENABLE_Kokkos_Refactor:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D KokkosClassic_DefaultNode:STRING=Kokkos::Compat::KokkosOpenMPWrapperNode" - - CMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS}-DKOKKOS_FAST_COMPILE" - - if [ -n "${USE_CUDA_ARCH}" ] ; then - - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_Cuda:BOOL=ON" - - fi - -fi - -if [ 1 ] ; then - - # Configure for Stokhos: - - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_Sacado:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_Stokhos:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Stokhos_ENABLE_Belos:BOOL=ON" - -fi - -if [ 1 ] ; then - - # Configure for TrilinosCouplings: - - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TrilinosCouplings:BOOL=ON" - -fi - -#----------------------------------------------------------------------------- -#----------------------------------------------------------------------------- - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}" - -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_VERBOSE_MAKEFILE:BOOL=ON" - -if [ "${CMAKE_BUILD_TYPE}" == "DEBUG" ] ; -then - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_BOUNDS_CHECK:BOOL=ON" -fi - -#----------------------------------------------------------------------------- -# Location for installation: - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_INSTALL_PREFIX=${TRILINOS_INSTALL_DIR}" - -#----------------------------------------------------------------------------- -# MPI configuation only used for examples: -# -# Must have the MPI_BASE_DIR so that the -# include path can be passed to the Cuda compiler - -if [ -n "${MPI_BASE_DIR}" ] ; -then - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_MPI:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D MPI_BASE_DIR:PATH=${MPI_BASE_DIR}" -else - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_MPI:BOOL=OFF" -fi - -#----------------------------------------------------------------------------- -# Kokkos use pthread configuation: - -if [ "${USE_THREAD}" = "ON" ] ; -then - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_Pthread:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_Pthread:BOOL=ON" -else - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_Pthread:BOOL=OFF" -fi - -#----------------------------------------------------------------------------- -# Kokkos use OpenMP configuation: - -if [ "${USE_OPENMP}" = "ON" ] ; -then - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_OpenMP:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_OpenMP:BOOL=ON" -else - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_OpenMP:BOOL=OFF" -fi - -#----------------------------------------------------------------------------- -# Hardware locality configuration: - -if [ -n "${HWLOC_BASE_DIR}" ] ; -then - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_HWLOC:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D HWLOC_INCLUDE_DIRS:FILEPATH=${HWLOC_BASE_DIR}/include" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D HWLOC_LIBRARY_DIRS:FILEPATH=${HWLOC_BASE_DIR}/lib" -fi - -#----------------------------------------------------------------------------- -# Cuda cmake configuration: - -if [ -n "${USE_CUDA_ARCH}" ] ; -then - - # Options to CUDA_NVCC_FLAGS must be semi-colon delimited, - # this is different than the standard CMAKE_CXX_FLAGS syntax. - - CUDA_NVCC_FLAGS="-DKOKKOS_HAVE_CUDA_ARCH=${USE_CUDA_ARCH}0;-gencode;arch=compute_${USE_CUDA_ARCH},code=sm_${USE_CUDA_ARCH}" - - if [ "${USE_OPENMP}" = "ON" ] ; - then - CUDA_NVCC_FLAGS="${CUDA_NVCC_FLAGS};-Xcompiler;-Wall,-ansi,-fopenmp" - else - CUDA_NVCC_FLAGS="${CUDA_NVCC_FLAGS};-Xcompiler;-Wall,-ansi" - fi - - if [ "${CMAKE_BUILD_TYPE}" = "DEBUG" ] ; - then - CUDA_NVCC_FLAGS="${CUDA_NVCC_FLAGS};-g" - else - CUDA_NVCC_FLAGS="${CUDA_NVCC_FLAGS};-O3" - fi - - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_CUDA:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_CUSPARSE:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CUDA_VERBOSE_BUILD:BOOL=OFF" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CUDA_NVCC_FLAGS:STRING=${CUDA_NVCC_FLAGS}" - -fi - -#----------------------------------------------------------------------------- - -if [ "${USE_INTEL}" = "ON" -o "${USE_XEON_PHI}" = "ON" ] ; -then - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_C_COMPILER=icc" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_COMPILER=icpc" -fi - -# Cross-compile for Intel Xeon Phi: - -if [ "${USE_XEON_PHI}" = "ON" ] ; -then - - CMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS} -mmic" - - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_SYSTEM_NAME=Linux" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_C_FLAGS:STRING=-mmic" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_Fortran_COMPILER:FILEPATH=ifort" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D BLAS_LIBRARY_DIRS:FILEPATH=${MKLROOT}/lib/mic" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D BLAS_LIBRARY_NAMES='mkl_intel_lp64;mkl_sequential;mkl_core;pthread;m'" - - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_CHECKED_STL:BOOL=OFF" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_WARNINGS_AS_ERRORS_FLAGS:STRING=''" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D BUILD_SHARED_LIBS:BOOL=OFF" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D DART_TESTING_TIMEOUT:STRING=600" - - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D LAPACK_LIBRARY_NAMES=''" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_LAPACK_LIBRARIES=''" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_BinUtils=OFF" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_Pthread_LIBRARIES=pthread" - - # Cannot cross-compile fortran compatibility checks on the MIC: - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_Fortran:BOOL=OFF" - - # Tell cmake the answers to compile-and-execute tests - # to prevent cmake from executing a cross-compiled program. - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D HAVE_GCC_ABI_DEMANGLE_EXITCODE=0" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D HAVE_TEUCHOS_BLASFLOAT_EXITCODE=0" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D LAPACK_SLAPY2_WORKS_EXITCODE=0" - -fi - -#----------------------------------------------------------------------------- -#----------------------------------------------------------------------------- - -if [ -n "${CMAKE_CXX_FLAGS}" ] ; then - - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_FLAGS:STRING='${CMAKE_CXX_FLAGS}'" - -fi - -#----------------------------------------------------------------------------- -# -# Remove CMake output files to force reconfigure from scratch. -# - -rm -rf CMake* Trilinos* packages Dart* Testing cmake_install.cmake MakeFile* - -# - -echo "cmake ${CMAKE_CONFIGURE} ${TRILINOS_SOURCE_DIR}" - -cmake ${CMAKE_CONFIGURE} ${TRILINOS_SOURCE_DIR} - -#----------------------------------------------------------------------------- - diff --git a/lib/kokkos/config/configure_kokkos_bgq.sh b/lib/kokkos/config/configure_kokkos_bgq.sh deleted file mode 100755 index 73236937eaa9b311d06027a23aa070a8f62c9153..0000000000000000000000000000000000000000 --- a/lib/kokkos/config/configure_kokkos_bgq.sh +++ /dev/null @@ -1,88 +0,0 @@ -#!/bin/sh -# -# Copy this script, put it outside the Trilinos source directory, and -# build there. -# -# Additional command-line arguments given to this script will be -# passed directly to CMake. -# - -# to build: -# build on bgq-b[1-12] -# module load sierra-devel -# run this configure file -# make - -# to run: -# ssh bgq-login -# cd /scratch/username/... -# export OMP_PROC_BIND and XLSMPOPTS environment variables -# run with srun - -# Note: hwloc does not work to get or set cpubindings on bgq. -# Use the openmp backend and the openmp environment variables. -# -# Only the mpi wrappers seem to be setup for cross-compile, -# so it is important that this configure enables MPI and uses mpigcc wrappers. - - - -# -# Force CMake to re-evaluate build options. -# -rm -rf CMake* Trilinos* packages Dart* Testing cmake_install.cmake MakeFile* - -#----------------------------------------------------------------------------- -# Incrementally construct cmake configure options: - -CMAKE_CONFIGURE="" - -#----------------------------------------------------------------------------- -# Location of Trilinos source tree: - -CMAKE_PROJECT_DIR="../Trilinos" - -# Location for installation: - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_INSTALL_PREFIX=../TrilinosInstall/`date +%F`" - -#----------------------------------------------------------------------------- -# General build options. -# Use a variable so options can be propagated to CUDA compiler. - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_C_COMPILER=mpigcc-4.7.2" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_COMPILER=mpig++-4.7.2" - -CMAKE_VERBOSE_MAKEFILE=OFF -CMAKE_BUILD_TYPE=RELEASE -# CMAKE_BUILD_TYPE=DEBUG - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_MPI:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_OpenMP:BOOL=ON" - -#----------------------------------------------------------------------------- -#----------------------------------------------------------------------------- -# Configure packages for kokkos-only: - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_ALL_PACKAGES:BOOL=OFF" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_EXAMPLES:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TESTS:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosCore:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosContainers:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TpetraKernels:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosExample:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_Pthread:BOOL=OFF" - -#----------------------------------------------------------------------------- - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_VERBOSE_MAKEFILE:BOOL=${CMAKE_VERBOSE_MAKEFILE}" - -#----------------------------------------------------------------------------- - -echo "cmake ${CMAKE_CONFIGURE} ${CMAKE_PROJECT_DIR}" - -cmake ${CMAKE_CONFIGURE} ${CMAKE_PROJECT_DIR} - -#----------------------------------------------------------------------------- - diff --git a/lib/kokkos/config/configure_kokkos_dev.sh b/lib/kokkos/config/configure_kokkos_dev.sh deleted file mode 100755 index ac61dec602381b52d96f91a59c0eddbc2d6b5801..0000000000000000000000000000000000000000 --- a/lib/kokkos/config/configure_kokkos_dev.sh +++ /dev/null @@ -1,216 +0,0 @@ -#!/bin/sh -# -# Copy this script, put it outside the Trilinos source directory, and -# build there. -# -# Additional command-line arguments given to this script will be -# passed directly to CMake. -# - -# -# Force CMake to re-evaluate build options. -# -rm -rf CMake* Trilinos* packages Dart* Testing cmake_install.cmake MakeFile* - -#----------------------------------------------------------------------------- -# Incrementally construct cmake configure options: - -CMAKE_CONFIGURE="" - -#----------------------------------------------------------------------------- -# Location of Trilinos source tree: - -CMAKE_PROJECT_DIR="${HOME}/Trilinos" - -# Location for installation: - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_INSTALL_PREFIX=${HOME}/TrilinosInstall/`date +%F`" - -#----------------------------------------------------------------------------- -# General build options. -# Use a variable so options can be propagated to CUDA compiler. - -CMAKE_VERBOSE_MAKEFILE=OFF -CMAKE_BUILD_TYPE=RELEASE -#CMAKE_BUILD_TYPE=DEBUG -#CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_BOUNDS_CHECK:BOOL=ON" - -#----------------------------------------------------------------------------- -# Build for CUDA architecture: - -#CUDA_ARCH="" -#CUDA_ARCH="20" -#CUDA_ARCH="30" -CUDA_ARCH="35" - -# Build with OpenMP - -OPENMP=ON -PTHREADS=ON - -# Build host code with Intel compiler: - -INTEL=OFF - -# Build for MIC architecture: - -INTEL_XEON_PHI=OFF - -# Build with HWLOC at location: - -#HWLOC_BASE_DIR="" -#HWLOC_BASE_DIR="/home/projects/hwloc/1.7.1/host/gnu/4.4.7" -HWLOC_BASE_DIR="/home/projects/hwloc/1.7.1/host/gnu/4.7.3" - -# Location for MPI to use in examples: - -#MPI_BASE_DIR="" -#MPI_BASE_DIR="/home/projects/mvapich/2.0.0b/gnu/4.4.7" -MPI_BASE_DIR="/home/projects/mvapich/2.0.0b/gnu/4.7.3" -#MPI_BASE_DIR="/home/projects/openmpi/1.7.3/llvm/2013-12-02/" - -#----------------------------------------------------------------------------- -# MPI configuation only used for examples: -# -# Must have the MPI_BASE_DIR so that the -# include path can be passed to the Cuda compiler - -if [ -n "${MPI_BASE_DIR}" ] ; -then - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_MPI:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D MPI_BASE_DIR:PATH=${MPI_BASE_DIR}" -else - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_MPI:BOOL=OFF" -fi - -#----------------------------------------------------------------------------- -# Pthread configuation: - -if [ "${PTHREADS}" = "ON" ] ; -then - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_Pthread:BOOL=ON" -else - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_Pthread:BOOL=OFF" -fi - -#----------------------------------------------------------------------------- -# OpenMP configuation: - -if [ "${OPENMP}" = "ON" ] ; -then - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_OpenMP:BOOL=ON" -else - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_OpenMP:BOOL=OFF" -fi - -#----------------------------------------------------------------------------- -#----------------------------------------------------------------------------- -# Configure packages for kokkos-only: - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_ALL_PACKAGES:BOOL=OFF" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_EXAMPLES:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TESTS:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosCore:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosContainers:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TpetraKernels:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosExample:BOOL=ON" - -#----------------------------------------------------------------------------- -#----------------------------------------------------------------------------- -# Hardware locality cmake configuration: - -if [ -n "${HWLOC_BASE_DIR}" ] ; -then - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_HWLOC:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D HWLOC_INCLUDE_DIRS:FILEPATH=${HWLOC_BASE_DIR}/include" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D HWLOC_LIBRARY_DIRS:FILEPATH=${HWLOC_BASE_DIR}/lib" -fi - -#----------------------------------------------------------------------------- -# Cuda cmake configuration: - -if [ -n "${CUDA_ARCH}" ] ; -then - - # Options to CUDA_NVCC_FLAGS must be semi-colon delimited, - # this is different than the standard CMAKE_CXX_FLAGS syntax. - - CUDA_NVCC_FLAGS="-gencode;arch=compute_${CUDA_ARCH},code=sm_${CUDA_ARCH}" - - if [ "${OPENMP}" = "ON" ] ; - then - CUDA_NVCC_FLAGS="${CUDA_NVCC_FLAGS};-Xcompiler;-Wall,-ansi,-fopenmp" - else - CUDA_NVCC_FLAGS="${CUDA_NVCC_FLAGS};-Xcompiler;-Wall,-ansi" - fi - - if [ "${CMAKE_BUILD_TYPE}" = "DEBUG" ] ; - then - CUDA_NVCC_FLAGS="${CUDA_NVCC_FLAGS};-g" - else - CUDA_NVCC_FLAGS="${CUDA_NVCC_FLAGS};-O3" - fi - - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_CUDA:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_CUSPARSE:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CUDA_VERBOSE_BUILD:BOOL=OFF" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CUDA_NVCC_FLAGS:STRING=${CUDA_NVCC_FLAGS}" - -fi - -#----------------------------------------------------------------------------- - -if [ "${INTEL}" = "ON" -o "${INTEL_XEON_PHI}" = "ON" ] ; -then - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_C_COMPILER=icc" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_COMPILER=icpc" -fi - -#----------------------------------------------------------------------------- - -# Cross-compile for Intel Xeon Phi: - -if [ "${INTEL_XEON_PHI}" = "ON" ] ; -then - - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_SYSTEM_NAME=Linux" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_FLAGS:STRING=-mmic" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_C_FLAGS:STRING=-mmic" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_Fortran_COMPILER:FILEPATH=ifort" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D BLAS_LIBRARY_DIRS:FILEPATH=${MKLROOT}/lib/mic" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D BLAS_LIBRARY_NAMES='mkl_intel_lp64;mkl_sequential;mkl_core;pthread;m'" - - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_CHECKED_STL:BOOL=OFF" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_WARNINGS_AS_ERRORS_FLAGS:STRING=''" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D BUILD_SHARED_LIBS:BOOL=OFF" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D DART_TESTING_TIMEOUT:STRING=600" - - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D LAPACK_LIBRARY_NAMES=''" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_LAPACK_LIBRARIES=''" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_BinUtils=OFF" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_Pthread_LIBRARIES=pthread" - - # Cannot cross-compile fortran compatibility checks on the MIC: - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_Fortran:BOOL=OFF" - - # Tell cmake the answers to compile-and-execute tests - # to prevent cmake from executing a cross-compiled program. - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D HAVE_GCC_ABI_DEMANGLE_EXITCODE=0" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D HAVE_TEUCHOS_BLASFLOAT_EXITCODE=0" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D LAPACK_SLAPY2_WORKS_EXITCODE=0" - -fi - -#----------------------------------------------------------------------------- - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_VERBOSE_MAKEFILE:BOOL=${CMAKE_VERBOSE_MAKEFILE}" - -#----------------------------------------------------------------------------- - -echo "cmake ${CMAKE_CONFIGURE} ${CMAKE_PROJECT_DIR}" - -cmake ${CMAKE_CONFIGURE} ${CMAKE_PROJECT_DIR} - -#----------------------------------------------------------------------------- - diff --git a/lib/kokkos/config/configure_kokkos_nvidia.sh b/lib/kokkos/config/configure_kokkos_nvidia.sh deleted file mode 100644 index f78b7dce7845474402d61793084d59cfff579e4a..0000000000000000000000000000000000000000 --- a/lib/kokkos/config/configure_kokkos_nvidia.sh +++ /dev/null @@ -1,204 +0,0 @@ -#!/bin/sh -# -# Copy this script, put it outside the Trilinos source directory, and -# build there. -# -# Additional command-line arguments given to this script will be -# passed directly to CMake. -# - -# -# Force CMake to re-evaluate build options. -# -rm -rf CMake* Trilinos* packages Dart* Testing cmake_install.cmake MakeFile* - -#----------------------------------------------------------------------------- -# Incrementally construct cmake configure options: - -CMAKE_CONFIGURE="" - -#----------------------------------------------------------------------------- -# Location of Trilinos source tree: - -CMAKE_PROJECT_DIR="${HOME}/Trilinos" - -# Location for installation: - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_INSTALL_PREFIX=/home/sems/common/kokkos/`date +%F`" - -#----------------------------------------------------------------------------- -# General build options. -# Use a variable so options can be propagated to CUDA compiler. - -CMAKE_VERBOSE_MAKEFILE=OFF -CMAKE_BUILD_TYPE=RELEASE -# CMAKE_BUILD_TYPE=DEBUG - -#----------------------------------------------------------------------------- -# Build for CUDA architecture: - -# CUDA_ARCH="" -CUDA_ARCH="20" -# CUDA_ARCH="30" -# CUDA_ARCH="35" - -# Build with OpenMP - -OPENMP=ON - -# Build host code with Intel compiler: - -# INTEL=ON - -# Build for MIC architecture: - -# INTEL_XEON_PHI=ON - -# Build with HWLOC at location: - -HWLOC_BASE_DIR="/home/sems/common/hwloc/current" - -# Location for MPI to use in examples: - -MPI_BASE_DIR="/home/sems/common/openmpi/current" - -#----------------------------------------------------------------------------- -# MPI configuation only used for examples: -# -# Must have the MPI_BASE_DIR so that the -# include path can be passed to the Cuda compiler - -if [ -n "${MPI_BASE_DIR}" ] ; -then - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_MPI:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D MPI_BASE_DIR:PATH=${MPI_BASE_DIR}" -else - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_MPI:BOOL=OFF" -fi - -#----------------------------------------------------------------------------- -# Pthread configuation: - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_Pthread:BOOL=ON" -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_Pthread:BOOL=OFF" - -#----------------------------------------------------------------------------- -# OpenMP configuation: - -if [ "${OPENMP}" = "ON" ] ; -then - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_OpenMP:BOOL=ON" -else - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_OpenMP:BOOL=OFF" -fi - -#----------------------------------------------------------------------------- -#----------------------------------------------------------------------------- -# Configure packages for kokkos-only: - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_ALL_PACKAGES:BOOL=OFF" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_EXAMPLES:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TESTS:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosCore:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosContainers:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosExample:BOOL=ON" - -#----------------------------------------------------------------------------- -#----------------------------------------------------------------------------- -# Hardware locality cmake configuration: - -if [ -n "${HWLOC_BASE_DIR}" ] ; -then - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_HWLOC:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D HWLOC_INCLUDE_DIRS:FILEPATH=${HWLOC_BASE_DIR}/include" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D HWLOC_LIBRARY_DIRS:FILEPATH=${HWLOC_BASE_DIR}/lib" -fi - -#----------------------------------------------------------------------------- -# Cuda cmake configuration: - -if [ -n "${CUDA_ARCH}" ] ; -then - - # Options to CUDA_NVCC_FLAGS must be semi-colon delimited, - # this is different than the standard CMAKE_CXX_FLAGS syntax. - - CUDA_NVCC_FLAGS="-gencode;arch=compute_${CUDA_ARCH},code=sm_${CUDA_ARCH}" - - if [ "${OPENMP}" = "ON" ] ; - then - CUDA_NVCC_FLAGS="${CUDA_NVCC_FLAGS};-Xcompiler;-Wall,-ansi,-fopenmp" - else - CUDA_NVCC_FLAGS="${CUDA_NVCC_FLAGS};-Xcompiler;-Wall,-ansi" - fi - - if [ "${CMAKE_BUILD_TYPE}" = "DEBUG" ] ; - then - CUDA_NVCC_FLAGS="${CUDA_NVCC_FLAGS};-g" - else - CUDA_NVCC_FLAGS="${CUDA_NVCC_FLAGS};-O3" - fi - - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_CUDA:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_CUSPARSE:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CUDA_VERBOSE_BUILD:BOOL=OFF" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CUDA_NVCC_FLAGS:STRING=${CUDA_NVCC_FLAGS}" - -fi - -#----------------------------------------------------------------------------- - -if [ "${INTEL}" = "ON" -o "${INTEL_XEON_PHI}" = "ON" ] ; -then - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_C_COMPILER=icc" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_COMPILER=icpc" -fi - -#----------------------------------------------------------------------------- - -# Cross-compile for Intel Xeon Phi: - -if [ "${INTEL_XEON_PHI}" = "ON" ] ; -then - - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_SYSTEM_NAME=Linux" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_FLAGS:STRING=-mmic" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_C_FLAGS:STRING=-mmic" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_Fortran_COMPILER:FILEPATH=ifort" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D BLAS_LIBRARY_DIRS:FILEPATH=${MKLROOT}/lib/mic" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D BLAS_LIBRARY_NAMES='mkl_intel_lp64;mkl_sequential;mkl_core;pthread;m'" - - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_CHECKED_STL:BOOL=OFF" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_WARNINGS_AS_ERRORS_FLAGS:STRING=''" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D BUILD_SHARED_LIBS:BOOL=OFF" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D DART_TESTING_TIMEOUT:STRING=600" - - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D LAPACK_LIBRARY_NAMES=''" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_LAPACK_LIBRARIES=''" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_BinUtils=OFF" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_Pthread_LIBRARIES=pthread" - - # Cannot cross-compile fortran compatibility checks on the MIC: - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_Fortran:BOOL=OFF" - - # Tell cmake the answers to compile-and-execute tests - # to prevent cmake from executing a cross-compiled program. - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D HAVE_GCC_ABI_DEMANGLE_EXITCODE=0" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D HAVE_TEUCHOS_BLASFLOAT_EXITCODE=0" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D LAPACK_SLAPY2_WORKS_EXITCODE=0" - -fi - -#----------------------------------------------------------------------------- - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_VERBOSE_MAKEFILE:BOOL=${CMAKE_VERBOSE_MAKEFILE}" - -#----------------------------------------------------------------------------- - -echo "cmake ${CMAKE_CONFIGURE} ${CMAKE_PROJECT_DIR}" - -cmake ${CMAKE_CONFIGURE} ${CMAKE_PROJECT_DIR} - -#----------------------------------------------------------------------------- - diff --git a/lib/kokkos/config/configure_shannon.sh b/lib/kokkos/config/configure_shannon.sh deleted file mode 100644 index 8bd175b0314ffc74c9c6ffb02188d599a1b5a573..0000000000000000000000000000000000000000 --- a/lib/kokkos/config/configure_shannon.sh +++ /dev/null @@ -1,190 +0,0 @@ -#!/bin/sh -# -# Copy this script, put it outside the Trilinos source directory, and -# build there. -# -# Additional command-line arguments given to this script will be -# passed directly to CMake. -# - -# -# Force CMake to re-evaluate build options. -# -rm -rf CMake* Trilinos* packages Dart* Testing cmake_install.cmake MakeFile* - -#----------------------------------------------------------------------------- -# Incrementally construct cmake configure options: - -CMAKE_CONFIGURE="" - -#----------------------------------------------------------------------------- -# Location of Trilinos source tree: - -CMAKE_PROJECT_DIR="${HOME}/Trilinos" - -# Location for installation: - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_INSTALL_PREFIX=/home/projects/kokkos/`date +%F`" - -#----------------------------------------------------------------------------- -# General build options. -# Use a variable so options can be propagated to CUDA compiler. - -CMAKE_VERBOSE_MAKEFILE=OFF -CMAKE_BUILD_TYPE=RELEASE -# CMAKE_BUILD_TYPE=DEBUG - -#----------------------------------------------------------------------------- -# Build for CUDA architecture: - -# CUDA_ARCH="" -# CUDA_ARCH="20" -# CUDA_ARCH="30" -CUDA_ARCH="35" - -# Build host code with Intel compiler: - -INTEL=ON - -# Build for MIC architecture: - -# INTEL_XEON_PHI=ON - -# Build with HWLOC at location: - -HWLOC_BASE_DIR="/home/projects/hwloc/1.6.2" - -# Location for MPI to use in examples: - -MPI_BASE_DIR="" - -#----------------------------------------------------------------------------- -# MPI configuation only used for examples: -# -# Must have the MPI_BASE_DIR so that the -# include path can be passed to the Cuda compiler - -if [ -n "${MPI_BASE_DIR}" ] ; -then - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_MPI:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D MPI_BASE_DIR:PATH=${MPI_BASE_DIR}" -else - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_MPI:BOOL=OFF" -fi - -#----------------------------------------------------------------------------- -# Pthread configuation: - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_Pthread:BOOL=ON" -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_Pthread:BOOL=OFF" - -#----------------------------------------------------------------------------- -# OpenMP configuation: - -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_OpenMP:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_OpenMP:BOOL=OFF" - -#----------------------------------------------------------------------------- -#----------------------------------------------------------------------------- -# Configure packages for kokkos-only: - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_ALL_PACKAGES:BOOL=OFF" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_EXAMPLES:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TESTS:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosCore:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosContainers:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosExample:BOOL=ON" - -#----------------------------------------------------------------------------- -#----------------------------------------------------------------------------- -# Hardware locality cmake configuration: - -if [ -n "${HWLOC_BASE_DIR}" ] ; -then - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_HWLOC:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D HWLOC_INCLUDE_DIRS:FILEPATH=${HWLOC_BASE_DIR}/include" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D HWLOC_LIBRARY_DIRS:FILEPATH=${HWLOC_BASE_DIR}/lib" -fi - -#----------------------------------------------------------------------------- -# Cuda cmake configuration: - -if [ -n "${CUDA_ARCH}" ] ; -then - - # Options to CUDA_NVCC_FLAGS must be semi-colon delimited, - # this is different than the standard CMAKE_CXX_FLAGS syntax. - - CUDA_NVCC_FLAGS="-gencode;arch=compute_${CUDA_ARCH},code=sm_${CUDA_ARCH}" - CUDA_NVCC_FLAGS="${CUDA_NVCC_FLAGS};-Xcompiler;-Wall,-ansi" - - if [ "${CMAKE_BUILD_TYPE}" = "DEBUG" ] ; - then - CUDA_NVCC_FLAGS="${CUDA_NVCC_FLAGS};-g" - else - CUDA_NVCC_FLAGS="${CUDA_NVCC_FLAGS};-O3" - fi - - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_CUDA:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_CUSPARSE:BOOL=ON" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CUDA_VERBOSE_BUILD:BOOL=OFF" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CUDA_NVCC_FLAGS:STRING=${CUDA_NVCC_FLAGS}" - -fi - -#----------------------------------------------------------------------------- - -if [ "${INTEL}" = "ON" -o "${INTEL_XEON_PHI}" = "ON" ] ; -then - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_C_COMPILER=icc" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_COMPILER=icpc" -fi - -#----------------------------------------------------------------------------- - -# Cross-compile for Intel Xeon Phi: - -if [ "${INTEL_XEON_PHI}" = "ON" ] ; -then - - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_SYSTEM_NAME=Linux" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_FLAGS:STRING=-mmic" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_C_FLAGS:STRING=-mmic" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_Fortran_COMPILER:FILEPATH=ifort" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D BLAS_LIBRARY_DIRS:FILEPATH=${MKLROOT}/lib/mic" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D BLAS_LIBRARY_NAMES='mkl_intel_lp64;mkl_sequential;mkl_core;pthread;m'" - - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_CHECKED_STL:BOOL=OFF" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_WARNINGS_AS_ERRORS_FLAGS:STRING=''" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D BUILD_SHARED_LIBS:BOOL=OFF" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D DART_TESTING_TIMEOUT:STRING=600" - - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D LAPACK_LIBRARY_NAMES=''" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_LAPACK_LIBRARIES=''" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_BinUtils=OFF" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_Pthread_LIBRARIES=pthread" - - # Cannot cross-compile fortran compatibility checks on the MIC: - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_Fortran:BOOL=OFF" - - # Tell cmake the answers to compile-and-execute tests - # to prevent cmake from executing a cross-compiled program. - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D HAVE_GCC_ABI_DEMANGLE_EXITCODE=0" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D HAVE_TEUCHOS_BLASFLOAT_EXITCODE=0" - CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D LAPACK_SLAPY2_WORKS_EXITCODE=0" - -fi - -#----------------------------------------------------------------------------- - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_VERBOSE_MAKEFILE:BOOL=${CMAKE_VERBOSE_MAKEFILE}" - -#----------------------------------------------------------------------------- - -echo "cmake ${CMAKE_CONFIGURE} ${CMAKE_PROJECT_DIR}" - -cmake ${CMAKE_CONFIGURE} ${CMAKE_PROJECT_DIR} - -#----------------------------------------------------------------------------- - diff --git a/lib/kokkos/config/configure_tpetra_kokkos_cuda_nvcc_wrapper.sh b/lib/kokkos/config/configure_tpetra_kokkos_cuda_nvcc_wrapper.sh deleted file mode 100755 index 0baa83aefee66f6db0e131c2a0c77ce62d7545b6..0000000000000000000000000000000000000000 --- a/lib/kokkos/config/configure_tpetra_kokkos_cuda_nvcc_wrapper.sh +++ /dev/null @@ -1,140 +0,0 @@ -#!/bin/bash -# -# This script uses CUDA, OpenMP, and MPI. -# -# Before invoking this script, set the OMPI_CXX environment variable -# to point to nvcc_wrapper, wherever it happens to live. (If you use -# an MPI implementation other than OpenMPI, set the corresponding -# environment variable instead.) -# - -rm -f CMakeCache.txt; -rm -rf CMakeFiles -EXTRA_ARGS=$@ -MPI_PATH="/opt/mpi/openmpi/1.8.2/nvcc-gcc/4.8.3-6.5" -CUDA_PATH="/opt/nvidia/cuda/6.5.14" - -# -# As long as there are any .cu files in Trilinos, we'll need to set -# CUDA_NVCC_FLAGS. If Trilinos gets rid of all of its .cu files and -# lets nvcc_wrapper handle them as .cpp files, then we won't need to -# set CUDA_NVCC_FLAGS. As it is, given that we need to set -# CUDA_NVCC_FLAGS, we must make sure that they are the same flags as -# nvcc_wrapper passes to nvcc. -# -CUDA_NVCC_FLAGS="-gencode;arch=compute_35,code=sm_35;-I${MPI_PATH}/include" -CUDA_NVCC_FLAGS="${CUDA_NVCC_FLAGS};-Xcompiler;-Wall,-ansi,-fopenmp" -CUDA_NVCC_FLAGS="${CUDA_NVCC_FLAGS};-O3;-DKOKKOS_USE_CUDA_UVM" - -cmake \ - -D CMAKE_INSTALL_PREFIX:PATH="$PWD/../install/" \ - -D CMAKE_BUILD_TYPE:STRING=DEBUG \ - -D CMAKE_CXX_FLAGS:STRING="-g -Wall" \ - -D CMAKE_C_FLAGS:STRING="-g -Wall" \ - -D CMAKE_FORTRAN_FLAGS:STRING="" \ - -D CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS="" \ - -D Trilinos_ENABLE_Triutils=OFF \ - -D Trilinos_ENABLE_INSTALL_CMAKE_CONFIG_FILES:BOOL=OFF \ - -D Trilinos_ENABLE_DEBUG:BOOL=OFF \ - -D Trilinos_ENABLE_CHECKED_STL:BOOL=OFF \ - -D Trilinos_ENABLE_EXPLICIT_INSTANTIATION:BOOL=OFF \ - -D Trilinos_WARNINGS_AS_ERRORS_FLAGS:STRING="" \ - -D Trilinos_ENABLE_ALL_PACKAGES:BOOL=OFF \ - -D Trilinos_ENABLE_ALL_OPTIONAL_PACKAGES:BOOL=OFF \ - -D BUILD_SHARED_LIBS:BOOL=OFF \ - -D DART_TESTING_TIMEOUT:STRING=600 \ - -D CMAKE_VERBOSE_MAKEFILE:BOOL=OFF \ - \ - \ - -D CMAKE_CXX_COMPILER:FILEPATH="${MPI_PATH}/bin/mpicxx" \ - -D CMAKE_C_COMPILER:FILEPATH="${MPI_PATH}/bin/mpicc" \ - -D MPI_CXX_COMPILER:FILEPATH="${MPI_PATH}/bin/mpicxx" \ - -D MPI_C_COMPILER:FILEPATH="${MPI_PATH}/bin/mpicc" \ - -D CMAKE_Fortran_COMPILER:FILEPATH="${MPI_PATH}/bin/mpif77" \ - -D MPI_EXEC:FILEPATH="${MPI_PATH}/bin/mpirun" \ - -D MPI_EXEC_POST_NUMPROCS_FLAGS:STRING="-bind-to;socket;--map-by;socket;env;CUDA_MANAGED_FORCE_DEVICE_ALLOC=1;CUDA_LAUNCH_BLOCKING=1;OMP_NUM_THREADS=2" \ - \ - \ - -D Trilinos_ENABLE_CXX11:BOOL=OFF \ - -D TPL_ENABLE_MPI:BOOL=ON \ - -D Trilinos_ENABLE_OpenMP:BOOL=ON \ - -D Trilinos_ENABLE_ThreadPool:BOOL=ON \ - \ - \ - -D TPL_ENABLE_CUDA:BOOL=ON \ - -D CUDA_TOOLKIT_ROOT_DIR:FILEPATH="${CUDA_PATH}" \ - -D CUDA_PROPAGATE_HOST_FLAGS:BOOL=OFF \ - -D TPL_ENABLE_Thrust:BOOL=OFF \ - -D Thrust_INCLUDE_DIRS:FILEPATH="${CUDA_PATH}/include" \ - -D TPL_ENABLE_CUSPARSE:BOOL=OFF \ - -D TPL_ENABLE_Cusp:BOOL=OFF \ - -D Cusp_INCLUDE_DIRS="/home/crtrott/Software/cusp" \ - -D CUDA_VERBOSE_BUILD:BOOL=OFF \ - -D CUDA_NVCC_FLAGS:STRING=${CUDA_NVCC_FLAGS} \ - \ - \ - -D TPL_ENABLE_HWLOC=OFF \ - -D HWLOC_INCLUDE_DIRS="/usr/local/software/hwloc/current/include" \ - -D HWLOC_LIBRARY_DIRS="/usr/local/software/hwloc/current/lib" \ - -D TPL_ENABLE_BinUtils=OFF \ - -D TPL_ENABLE_BLAS:STRING=ON \ - -D TPL_ENABLE_LAPACK:STRING=ON \ - -D TPL_ENABLE_MKL:STRING=OFF \ - -D TPL_ENABLE_HWLOC:STRING=OFF \ - -D TPL_ENABLE_GTEST:STRING=ON \ - -D TPL_ENABLE_SuperLU=ON \ - -D TPL_ENABLE_BLAS=ON \ - -D TPL_ENABLE_LAPACK=ON \ - -D TPL_SuperLU_LIBRARIES="/home/crtrott/Software/SuperLU_4.3/lib/libsuperlu_4.3.a" \ - -D TPL_SuperLU_INCLUDE_DIRS="/home/crtrott/Software/SuperLU_4.3/SRC" \ - \ - \ - -D Trilinos_Enable_Kokkos:BOOL=ON \ - -D Trilinos_ENABLE_KokkosCore:BOOL=ON \ - -D Trilinos_ENABLE_TeuchosKokkosCompat:BOOL=ON \ - -D Trilinos_ENABLE_KokkosContainers:BOOL=ON \ - -D Trilinos_ENABLE_TpetraKernels:BOOL=ON \ - -D Trilinos_ENABLE_KokkosAlgorithms:BOOL=ON \ - -D Trilinos_ENABLE_TeuchosKokkosComm:BOOL=ON \ - -D Trilinos_ENABLE_KokkosExample:BOOL=ON \ - -D Kokkos_ENABLE_EXAMPLES:BOOL=ON \ - -D Kokkos_ENABLE_TESTS:BOOL=OFF \ - -D KokkosClassic_DefaultNode:STRING="Kokkos::Compat::KokkosCudaWrapperNode" \ - -D TpetraClassic_ENABLE_OpenMPNode=OFF \ - -D TpetraClassic_ENABLE_TPINode=OFF \ - -D TpetraClassic_ENABLE_MKL=OFF \ - -D Kokkos_ENABLE_Cuda_UVM=ON \ - \ - \ - -D Trilinos_ENABLE_Teuchos:BOOL=ON \ - -D Teuchos_ENABLE_COMPLEX:BOOL=OFF \ - \ - \ - -D Trilinos_ENABLE_Tpetra:BOOL=ON \ - -D Tpetra_ENABLE_KokkosCore=ON \ - -D Tpetra_ENABLE_Kokkos_DistObject=OFF \ - -D Tpetra_ENABLE_Kokkos_Refactor=ON \ - -D Tpetra_ENABLE_TESTS=ON \ - -D Tpetra_ENABLE_EXAMPLES=ON \ - -D Tpetra_ENABLE_MPI_CUDA_RDMA:BOOL=ON \ - \ - \ - -D Trilinos_ENABLE_Belos=OFF \ - -D Trilinos_ENABLE_Amesos=OFF \ - -D Trilinos_ENABLE_Amesos2=OFF \ - -D Trilinos_ENABLE_Ifpack=OFF \ - -D Trilinos_ENABLE_Ifpack2=OFF \ - -D Trilinos_ENABLE_Epetra=OFF \ - -D Trilinos_ENABLE_EpetraExt=OFF \ - -D Trilinos_ENABLE_Zoltan=OFF \ - -D Trilinos_ENABLE_Zoltan2=OFF \ - -D Trilinos_ENABLE_MueLu=OFF \ - -D Belos_ENABLE_TESTS=ON \ - -D Belos_ENABLE_EXAMPLES=ON \ - -D MueLu_ENABLE_TESTS=ON \ - -D MueLu_ENABLE_EXAMPLES=ON \ - -D Ifpack2_ENABLE_TESTS=ON \ - -D Ifpack2_ENABLE_EXAMPLES=ON \ - $EXTRA_ARGS \ -${HOME}/Trilinos - diff --git a/lib/kokkos/config/kokkos-trilinos-integration-procedure.txt b/lib/kokkos/config/kokkos-trilinos-integration-procedure.txt deleted file mode 100644 index 0f2448781425bdf8b4099ab9c60017811bda840b..0000000000000000000000000000000000000000 --- a/lib/kokkos/config/kokkos-trilinos-integration-procedure.txt +++ /dev/null @@ -1,148 +0,0 @@ -// -------------------------------------------------------------------------------- // - -The following steps are for workstations/servers with the SEMS environment installed. - -// -------------------------------------------------------------------------------- // -Summary: - -- Step 1: Rigorous testing of Kokkos' develop branch for each backend (Serial, OpenMP, Threads, Cuda) with all supported compilers. - -- Step 2: Snapshot Kokkos' develop branch into current Trilinos develop branch. - -- Step 3: Build and test Trilinos with combinations of compilers, types, backends. - -- Step 4: Promote Kokkos develop branch to master if the snapshot does not cause any new tests to fail; else track/fix causes of new failures. - -- Step 5: Snapshot Kokkos tagged master branch into Trilinos and push Trilinos. -// -------------------------------------------------------------------------------- // - - -// -------------------------------------------------------------------------------- // - -Step 1: - 1.1. Update kokkos develop branch (NOT a fork) - - (From kokkos directory): - git fetch --all - git checkout develop - git reset --hard origin/develop - - 1.2. Create a testing directory - here the directory is created within the kokkos directory - - mkdir testing - cd testing - - 1.3. Run the test_all_sandia script; various compiler and build-list options can be specified - - ../config/test_all_sandia - - 1.4 Clean repository of untracked files - - cd ../ - git clean -df - -// -------------------------------------------------------------------------------- // - -Step 2: - 2.1 Update Trilinos develop branch - - (From Trilinos directory): - git checkout develop - git fetch --all - git reset --hard origin/develop - git clean -df - - 2.2 Snapshot Kokkos into Trilinos - this requires python/2.7.9 and that both Trilinos and Kokkos be clean - no untracked or modified files - - module load python/2.7.9 - python KOKKOS_PATH/config/snapshot.py KOKKOS_PATH TRILINOS_PATH/packages - -// -------------------------------------------------------------------------------- // - -Step 3: - 3.1. Build and test Trilinos with 4 different configurations; Run scripts for white and shepard are provided in kokkos/config/trilinos-integration - - Usually its a good idea to run those script via nohup. - You can run all four at the same time, use separate directories for each. - - 3.2. Compare the failed test output between the pristine and the updated runs; investigate and fix problems if new tests fail after the Kokkos snapshot - -// -------------------------------------------------------------------------------- // - -Step 4: Once all Trilinos tests pass promote Kokkos develop branch to master on Github - 4.1. Generate Changelog (You need a github API token) - - Close all Open issues with "InDevelop" tag on github - - (Not from kokkos directory) - gitthub_changelog_generator kokkos/kokkos --token TOKEN --no-pull-requests --include-labels 'InDevelop' --enhancement-labels 'enhancement,Feature Request' --future-release 'NEWTAG' --between-tags 'NEWTAG,OLDTAG' - - (Copy the new section from the generated CHANGELOG.md to the kokkos/CHANGELOG.md) - (Make desired changes to CHANGELOG.md to enhance clarity) - (Commit and push the CHANGELOG to develop) - - 4.2 Merge develop into Master - - - DO NOT fast-forward the merge!!!! - - (From kokkos directory): - git checkout master - git fetch --all - # Ensure we are on the current origin/master - git reset --hard origin/master - git merge --no-ff origin/develop - - 4.3. Update the tag in kokkos/config/master_history.txt - Tag description: MajorNumber.MinorNumber.WeeksSinceMinorNumberUpdate - Tag format: #.#.## - - # Prepend master_history.txt with - - # tag: #.#.## - # date: mm/dd/yyyy - # master: sha1 - # develop: sha1 - # ----------------------- - - git commit --amend -a - - git tag -a #.#.## - tag: #.#.## - date: mm/dd/yyyy - master: sha1 - develop: sha1 - - 4.4. Do NOT push yet - -// -------------------------------------------------------------------------------- // - -Step 5: - 5.1. Make sure Trilinos is up-to-date - chances are other changes have been committed since the integration testing process began. If a substantial change has occurred that may be affected by the snapshot the testing procedure may need to be repeated - - (From Trilinos directory): - git checkout develop - git fetch --all - git reset --hard origin/develop - git clean -df - - 5.2. Snapshot Kokkos master branch into Trilinos - - (From kokkos directory): - git fetch --all - git checkout tags/#.#.## - git clean -df - - python KOKKOS_PATH/config/snapshot.py KOKKOS_PATH TRILINOS_PATH/packages - - 5.3. Run checkin-test to push to trilinos using the CI build modules (gcc/4.9.3) - - The modules are listed in kokkos/config/trilinos-integration/checkin-test - Run checkin-test, forward dependencies and optional dependencies must be enabled - If push failed because someone else clearly broke something, push manually. - If push failed for unclear reasons, investigate, fix, and potentially start over from step 2 after reseting your local kokkos/master branch - -Step 6: Push Kokkos to master - - git push --follow-tags origin master - -// -------------------------------------------------------------------------------- // diff --git a/lib/kokkos/config/kokkos_dev/config-core-all.sh b/lib/kokkos/config/kokkos_dev/config-core-all.sh deleted file mode 100755 index 1867de7204af4e1a0d0a83a881937256a4c51ee7..0000000000000000000000000000000000000000 --- a/lib/kokkos/config/kokkos_dev/config-core-all.sh +++ /dev/null @@ -1,110 +0,0 @@ -#!/bin/sh -# -# Copy this script, put it outside the Trilinos source directory, and -# build there. -# -#----------------------------------------------------------------------------- -# Building on 'kokkos-dev.sandia.gov' with enabled capabilities: -# -# Cuda, OpenMP, Threads, Qthreads, hwloc -# -# module loaded on 'kokkos-dev.sandia.gov' for this build -# -# module load cmake/2.8.11.2 gcc/4.8.3 cuda/6.5.14 nvcc-wrapper/gnu -# -# The 'nvcc-wrapper' module should load a script that matches -# kokkos/bin/nvcc_wrapper -# -#----------------------------------------------------------------------------- -# Source and installation directories: - -TRILINOS_SOURCE_DIR=${HOME}/Trilinos -TRILINOS_INSTALL_DIR=${HOME}/TrilinosInstall/`date +%F` - -CMAKE_CONFIGURE="" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_INSTALL_PREFIX=${TRILINOS_INSTALL_DIR}" - -#----------------------------------------------------------------------------- -# Debug/optimized - -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_BUILD_TYPE:STRING=DEBUG" -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_BOUNDS_CHECK:BOOL=ON" - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_BUILD_TYPE:STRING=RELEASE" - -#----------------------------------------------------------------------------- - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_FLAGS:STRING=-Wall" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_C_COMPILER=gcc" - -#----------------------------------------------------------------------------- -# Cuda using GNU, use the nvcc_wrapper to build CUDA source - -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_COMPILER=g++" - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_COMPILER=nvcc_wrapper" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_CUDA:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_CUSPARSE:BOOL=ON" - -#----------------------------------------------------------------------------- -# Configure for Kokkos subpackages and tests: - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_Fortran:BOOL=OFF" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_ALL_PACKAGES:BOOL=OFF" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_EXAMPLES:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TESTS:BOOL=ON" - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosCore:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosContainers:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosAlgorithms:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TpetraKernels:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosExample:BOOL=ON" - -#----------------------------------------------------------------------------- -# Hardware locality configuration: - -HWLOC_BASE_DIR="/home/projects/hwloc/1.7.1/host/gnu/4.7.3" - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_HWLOC:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D HWLOC_INCLUDE_DIRS:FILEPATH=${HWLOC_BASE_DIR}/include" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D HWLOC_LIBRARY_DIRS:FILEPATH=${HWLOC_BASE_DIR}/lib" - -#----------------------------------------------------------------------------- -# Pthread - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_Pthread:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_Pthread:BOOL=ON" - -#----------------------------------------------------------------------------- -# OpenMP - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_OpenMP:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_OpenMP:BOOL=ON" - -#----------------------------------------------------------------------------- -# Qthreads - -QTHREADS_BASE_DIR="/home/projects/qthreads/2014-07-08/host/gnu/4.7.3" - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_QTHREADS:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D QTHREADS_INCLUDE_DIRS:FILEPATH=${QTHREADS_BASE_DIR}/include" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D QTHREADS_LIBRARY_DIRS:FILEPATH=${QTHREADS_BASE_DIR}/lib" - -#----------------------------------------------------------------------------- -# C++11 - -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_CXX11:BOOL=ON" -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_CXX11:BOOL=ON" - -#----------------------------------------------------------------------------- -# -# Remove CMake output files to force reconfigure from scratch. -# - -rm -rf CMake* Trilinos* packages Dart* Testing cmake_install.cmake MakeFile* - -# - -echo cmake ${CMAKE_CONFIGURE} ${TRILINOS_SOURCE_DIR} - -cmake ${CMAKE_CONFIGURE} ${TRILINOS_SOURCE_DIR} diff --git a/lib/kokkos/config/kokkos_dev/config-core-cuda-omp-hwloc.sh b/lib/kokkos/config/kokkos_dev/config-core-cuda-omp-hwloc.sh deleted file mode 100755 index 5a6cc1493eb7cdbca7ac29ff2c2104249116d061..0000000000000000000000000000000000000000 --- a/lib/kokkos/config/kokkos_dev/config-core-cuda-omp-hwloc.sh +++ /dev/null @@ -1,104 +0,0 @@ -#!/bin/sh -# -# Copy this script, put it outside the Trilinos source directory, and -# build there. -# -#----------------------------------------------------------------------------- -# Building on 'kokkos-dev.sandia.gov' with enabled capabilities: -# -# Cuda, OpenMP, hwloc -# -# module loaded on 'kokkos-dev.sandia.gov' for this build -# -# module load cmake/2.8.11.2 gcc/4.8.3 cuda/6.5.14 nvcc-wrapper/gnu -# -# The 'nvcc-wrapper' module should load a script that matches -# kokkos/bin/nvcc_wrapper -# -#----------------------------------------------------------------------------- -# Source and installation directories: - -TRILINOS_SOURCE_DIR=${HOME}/Trilinos -TRILINOS_INSTALL_DIR=${HOME}/TrilinosInstall/`date +%F` - -CMAKE_CONFIGURE="" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_INSTALL_PREFIX=${TRILINOS_INSTALL_DIR}" - -#----------------------------------------------------------------------------- -# Debug/optimized - -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_BUILD_TYPE:STRING=DEBUG" -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_BOUNDS_CHECK:BOOL=ON" - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_BUILD_TYPE:STRING=RELEASE" - -#----------------------------------------------------------------------------- - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_FLAGS:STRING=-Wall" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_C_COMPILER=gcc" - -#----------------------------------------------------------------------------- -# Cuda using GNU, use the nvcc_wrapper to build CUDA source - -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_COMPILER=g++" - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_COMPILER=nvcc_wrapper" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_CUDA:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_CUSPARSE:BOOL=ON" - -#----------------------------------------------------------------------------- -# Configure for Kokkos subpackages and tests: - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_Fortran:BOOL=OFF" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_ALL_PACKAGES:BOOL=OFF" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_EXAMPLES:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TESTS:BOOL=ON" - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosCore:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosContainers:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosAlgorithms:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TpetraKernels:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosExample:BOOL=ON" - -#----------------------------------------------------------------------------- -# Hardware locality configuration: - -HWLOC_BASE_DIR="/home/projects/hwloc/1.7.1/host/gnu/4.7.3" - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_HWLOC:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D HWLOC_INCLUDE_DIRS:FILEPATH=${HWLOC_BASE_DIR}/include" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D HWLOC_LIBRARY_DIRS:FILEPATH=${HWLOC_BASE_DIR}/lib" - -#----------------------------------------------------------------------------- -# Pthread explicitly OFF so tribits doesn't automatically turn it on - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_Pthread:BOOL=OFF" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_Pthread:BOOL=OFF" - -#----------------------------------------------------------------------------- -# OpenMP - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_OpenMP:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_OpenMP:BOOL=ON" - -#----------------------------------------------------------------------------- -# C++11 - -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_CXX11:BOOL=ON" -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_CXX11:BOOL=ON" - -#----------------------------------------------------------------------------- -# -# Remove CMake output files to force reconfigure from scratch. -# - -rm -rf CMake* Trilinos* packages Dart* Testing cmake_install.cmake MakeFile* - -# - -echo cmake ${CMAKE_CONFIGURE} ${TRILINOS_SOURCE_DIR} - -cmake ${CMAKE_CONFIGURE} ${TRILINOS_SOURCE_DIR} - -#----------------------------------------------------------------------------- - diff --git a/lib/kokkos/config/kokkos_dev/config-core-cuda.sh b/lib/kokkos/config/kokkos_dev/config-core-cuda.sh deleted file mode 100755 index 606755da81f0cb7afa16c136798e15155c02b7d5..0000000000000000000000000000000000000000 --- a/lib/kokkos/config/kokkos_dev/config-core-cuda.sh +++ /dev/null @@ -1,88 +0,0 @@ -#!/bin/sh -# -# Copy this script, put it outside the Trilinos source directory, and -# build there. -# -#----------------------------------------------------------------------------- -# Building on 'kokkos-dev.sandia.gov' with enabled capabilities: -# -# Cuda -# -# module loaded on 'kokkos-dev.sandia.gov' for this build -# -# module load cmake/2.8.11.2 gcc/4.8.3 cuda/6.5.14 nvcc-wrapper/gnu -# -# The 'nvcc-wrapper' module should load a script that matches -# kokkos/bin/nvcc_wrapper -# -#----------------------------------------------------------------------------- -# Source and installation directories: - -TRILINOS_SOURCE_DIR=${HOME}/Trilinos -TRILINOS_INSTALL_DIR=${HOME}/TrilinosInstall/`date +%F` - -CMAKE_CONFIGURE="" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_INSTALL_PREFIX=${TRILINOS_INSTALL_DIR}" - -#----------------------------------------------------------------------------- -# Debug/optimized - -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_BUILD_TYPE:STRING=DEBUG" -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_BOUNDS_CHECK:BOOL=ON" - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_BUILD_TYPE:STRING=RELEASE" - -#----------------------------------------------------------------------------- - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_FLAGS:STRING=-Wall" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_C_COMPILER=gcc" - -#----------------------------------------------------------------------------- -# Cuda using GNU, use the nvcc_wrapper to build CUDA source - -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_COMPILER=g++" - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_COMPILER=nvcc_wrapper" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_CUDA:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_CUSPARSE:BOOL=ON" - -# Pthread explicitly OFF, otherwise tribits will automatically turn it on - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_Pthread:BOOL=OFF" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_Pthread:BOOL=OFF" - -#----------------------------------------------------------------------------- -# Configure for Kokkos subpackages and tests: - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_Fortran:BOOL=OFF" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_ALL_PACKAGES:BOOL=OFF" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_EXAMPLES:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TESTS:BOOL=ON" - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosCore:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosContainers:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosAlgorithms:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TpetraKernels:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosExample:BOOL=ON" - -#----------------------------------------------------------------------------- -# C++11 - -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_CXX11:BOOL=ON" -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_CXX11:BOOL=ON" - -#----------------------------------------------------------------------------- -# -# Remove CMake output files to force reconfigure from scratch. -# - -rm -rf CMake* Trilinos* packages Dart* Testing cmake_install.cmake MakeFile* - -# - -echo cmake ${CMAKE_CONFIGURE} ${TRILINOS_SOURCE_DIR} - -cmake ${CMAKE_CONFIGURE} ${TRILINOS_SOURCE_DIR} - -#----------------------------------------------------------------------------- - diff --git a/lib/kokkos/config/kokkos_dev/config-core-cxx11-omp.sh b/lib/kokkos/config/kokkos_dev/config-core-cxx11-omp.sh deleted file mode 100755 index b83a535416064febc732a4fd0d7dbf34274b1adf..0000000000000000000000000000000000000000 --- a/lib/kokkos/config/kokkos_dev/config-core-cxx11-omp.sh +++ /dev/null @@ -1,84 +0,0 @@ -#!/bin/sh -# -# Copy this script, put it outside the Trilinos source directory, and -# build there. -# -#----------------------------------------------------------------------------- -# Building on 'kokkos-dev.sandia.gov' with enabled capabilities: -# -# C++11, OpenMP -# -# module loaded on 'kokkos-dev.sandia.gov' for this build -# -# module load cmake/2.8.11.2 gcc/4.8.3 -# -#----------------------------------------------------------------------------- -# Source and installation directories: - -TRILINOS_SOURCE_DIR=${HOME}/Trilinos -TRILINOS_INSTALL_DIR=${HOME}/TrilinosInstall/`date +%F` - -CMAKE_CONFIGURE="" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_INSTALL_PREFIX=${TRILINOS_INSTALL_DIR}" - -#----------------------------------------------------------------------------- -# Debug/optimized - -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_BUILD_TYPE:STRING=DEBUG" -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_BOUNDS_CHECK:BOOL=ON" - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_BUILD_TYPE:STRING=RELEASE" - -#----------------------------------------------------------------------------- - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_FLAGS:STRING=-Wall" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_C_COMPILER=gcc" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_COMPILER=g++" - -#----------------------------------------------------------------------------- -# Configure for Kokkos subpackages and tests: - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_Fortran:BOOL=OFF" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_ALL_PACKAGES:BOOL=OFF" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_EXAMPLES:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TESTS:BOOL=ON" - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosCore:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosContainers:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosAlgorithms:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TpetraKernels:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosExample:BOOL=ON" - -#----------------------------------------------------------------------------- -# Pthread explicitly OFF so tribits doesn't automatically activate - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_Pthread:BOOL=OFF" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_Pthread:BOOL=OFF" - -#----------------------------------------------------------------------------- -# OpenMP - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_OpenMP:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_OpenMP:BOOL=ON" - -#----------------------------------------------------------------------------- -# C++11 - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_CXX11:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_CXX11:BOOL=ON" - -#----------------------------------------------------------------------------- -# -# Remove CMake output files to force reconfigure from scratch. -# - -rm -rf CMake* Trilinos* packages Dart* Testing cmake_install.cmake MakeFile* - -# - -echo cmake ${CMAKE_CONFIGURE} ${TRILINOS_SOURCE_DIR} - -cmake ${CMAKE_CONFIGURE} ${TRILINOS_SOURCE_DIR} - -#----------------------------------------------------------------------------- - diff --git a/lib/kokkos/config/kokkos_dev/config-core-dbg-none.sh b/lib/kokkos/config/kokkos_dev/config-core-dbg-none.sh deleted file mode 100755 index d2e06a4ebd92080b255754b80b2af6ba93662090..0000000000000000000000000000000000000000 --- a/lib/kokkos/config/kokkos_dev/config-core-dbg-none.sh +++ /dev/null @@ -1,78 +0,0 @@ -#!/bin/sh -# -# Copy this script, put it outside the Trilinos source directory, and -# build there. -# -#----------------------------------------------------------------------------- -# Building on 'kokkos-dev.sandia.gov' with enabled capabilities: -# -# -# -# module loaded on 'kokkos-dev.sandia.gov' for this build -# -# module load cmake/2.8.11.2 gcc/4.8.3 -# -#----------------------------------------------------------------------------- -# Source and installation directories: - -TRILINOS_SOURCE_DIR=${HOME}/Trilinos -TRILINOS_INSTALL_DIR=${HOME}/TrilinosInstall/`date +%F` - -CMAKE_CONFIGURE="" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_INSTALL_PREFIX=${TRILINOS_INSTALL_DIR}" - -#----------------------------------------------------------------------------- -# Debug/optimized - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_BUILD_TYPE:STRING=DEBUG" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_BOUNDS_CHECK:BOOL=ON" - -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_BUILD_TYPE:STRING=RELEASE" - -#----------------------------------------------------------------------------- - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_FLAGS:STRING=-Wall" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_C_COMPILER=gcc" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_COMPILER=g++" - -#----------------------------------------------------------------------------- -# Configure for Kokkos subpackages and tests: - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_Fortran:BOOL=OFF" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_ALL_PACKAGES:BOOL=OFF" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_EXAMPLES:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TESTS:BOOL=ON" - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosCore:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosContainers:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosAlgorithms:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TpetraKernels:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosExample:BOOL=ON" - -#----------------------------------------------------------------------------- -# Kokkos Pthread explicitly OFF, TPL Pthread ON for gtest - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_Pthread:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_Pthread:BOOL=OFF" - -#----------------------------------------------------------------------------- -# C++11 - -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_CXX11:BOOL=ON" -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_CXX11:BOOL=ON" - -#----------------------------------------------------------------------------- -# -# Remove CMake output files to force reconfigure from scratch. -# - -rm -rf CMake* Trilinos* packages Dart* Testing cmake_install.cmake MakeFile* - -# - -echo cmake ${CMAKE_CONFIGURE} ${TRILINOS_SOURCE_DIR} - -cmake ${CMAKE_CONFIGURE} ${TRILINOS_SOURCE_DIR} - -#----------------------------------------------------------------------------- - diff --git a/lib/kokkos/config/kokkos_dev/config-core-intel-cuda-omp.sh b/lib/kokkos/config/kokkos_dev/config-core-intel-cuda-omp.sh deleted file mode 100755 index e2ab1f1c00168ed3ea646c9f297dc040e2c5a33f..0000000000000000000000000000000000000000 --- a/lib/kokkos/config/kokkos_dev/config-core-intel-cuda-omp.sh +++ /dev/null @@ -1,89 +0,0 @@ -#!/bin/sh -# -# Copy this script, put it outside the Trilinos source directory, and -# build there. -# -#----------------------------------------------------------------------------- -# Building on 'kokkos-dev.sandia.gov' with enabled capabilities: -# -# Intel, OpenMP, Cuda -# -# module loaded on 'kokkos-dev.sandia.gov' for this build -# -# module load cmake/2.8.11.2 cuda/7.0.4 intel/2015.0.090 nvcc-wrapper/intel -# -#----------------------------------------------------------------------------- -# Source and installation directories: - -TRILINOS_SOURCE_DIR=${HOME}/Trilinos -TRILINOS_INSTALL_DIR=${HOME}/TrilinosInstall/`date +%F` - -CMAKE_CONFIGURE="" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_INSTALL_PREFIX=${TRILINOS_INSTALL_DIR}" - -#----------------------------------------------------------------------------- -# Debug/optimized - -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_BUILD_TYPE:STRING=DEBUG" -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_BOUNDS_CHECK:BOOL=ON" - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_BUILD_TYPE:STRING=RELEASE" - -#----------------------------------------------------------------------------- - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_FLAGS:STRING=-Wall" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_C_COMPILER=icc" - -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_COMPILER=icpc" - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_COMPILER=nvcc_wrapper" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_CUDA:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_CUSPARSE:BOOL=ON" - -#----------------------------------------------------------------------------- -# Configure for Kokkos subpackages and tests: - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_Fortran:BOOL=OFF" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_ALL_PACKAGES:BOOL=OFF" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_EXAMPLES:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TESTS:BOOL=ON" - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosCore:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosContainers:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosAlgorithms:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TpetraKernels:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosExample:BOOL=ON" - -#----------------------------------------------------------------------------- -# Pthread explicitly OFF - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_Pthread:BOOL=OFF" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_Pthread:BOOL=OFF" - -#----------------------------------------------------------------------------- -# OpenMP - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_OpenMP:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_OpenMP:BOOL=ON" - -#----------------------------------------------------------------------------- -# C++11 - -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_CXX11:BOOL=ON" -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_CXX11:BOOL=ON" - -#----------------------------------------------------------------------------- -# -# Remove CMake output files to force reconfigure from scratch. -# - -rm -rf CMake* Trilinos* packages Dart* Testing cmake_install.cmake MakeFile* - -# - -echo cmake ${CMAKE_CONFIGURE} ${TRILINOS_SOURCE_DIR} - -cmake ${CMAKE_CONFIGURE} ${TRILINOS_SOURCE_DIR} - -#----------------------------------------------------------------------------- - diff --git a/lib/kokkos/config/kokkos_dev/config-core-intel-omp.sh b/lib/kokkos/config/kokkos_dev/config-core-intel-omp.sh deleted file mode 100755 index fd56d41161a567bca1eb3601600cdc9fbe3b0104..0000000000000000000000000000000000000000 --- a/lib/kokkos/config/kokkos_dev/config-core-intel-omp.sh +++ /dev/null @@ -1,84 +0,0 @@ -#!/bin/sh -# -# Copy this script, put it outside the Trilinos source directory, and -# build there. -# -#----------------------------------------------------------------------------- -# Building on 'kokkos-dev.sandia.gov' with enabled capabilities: -# -# Intel, OpenMP -# -# module loaded on 'kokkos-dev.sandia.gov' for this build -# -# module load cmake/2.8.11.2 intel/13.SP1.1.106 -# -#----------------------------------------------------------------------------- -# Source and installation directories: - -TRILINOS_SOURCE_DIR=${HOME}/Trilinos -TRILINOS_INSTALL_DIR=${HOME}/TrilinosInstall/`date +%F` - -CMAKE_CONFIGURE="" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_INSTALL_PREFIX=${TRILINOS_INSTALL_DIR}" - -#----------------------------------------------------------------------------- -# Debug/optimized - -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_BUILD_TYPE:STRING=DEBUG" -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_BOUNDS_CHECK:BOOL=ON" - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_BUILD_TYPE:STRING=RELEASE" - -#----------------------------------------------------------------------------- - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_FLAGS:STRING=-Wall" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_C_COMPILER=icc" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_COMPILER=icpc" - -#----------------------------------------------------------------------------- -# Configure for Kokkos subpackages and tests: - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_Fortran:BOOL=OFF" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_ALL_PACKAGES:BOOL=OFF" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_EXAMPLES:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TESTS:BOOL=ON" - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosCore:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosContainers:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosAlgorithms:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TpetraKernels:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosExample:BOOL=ON" - -#----------------------------------------------------------------------------- -# Pthread explicitly OFF - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_Pthread:BOOL=OFF" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_Pthread:BOOL=OFF" - -#----------------------------------------------------------------------------- -# OpenMP - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_OpenMP:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_OpenMP:BOOL=ON" - -#----------------------------------------------------------------------------- -# C++11 - -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_CXX11:BOOL=ON" -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_CXX11:BOOL=ON" - -#----------------------------------------------------------------------------- -# -# Remove CMake output files to force reconfigure from scratch. -# - -rm -rf CMake* Trilinos* packages Dart* Testing cmake_install.cmake MakeFile* - -# - -echo cmake ${CMAKE_CONFIGURE} ${TRILINOS_SOURCE_DIR} - -cmake ${CMAKE_CONFIGURE} ${TRILINOS_SOURCE_DIR} - -#----------------------------------------------------------------------------- - diff --git a/lib/kokkos/config/kokkos_dev/config-core-omp.sh b/lib/kokkos/config/kokkos_dev/config-core-omp.sh deleted file mode 100755 index f91ecd525488c40a1d92c9143e727a4a287dfefb..0000000000000000000000000000000000000000 --- a/lib/kokkos/config/kokkos_dev/config-core-omp.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/sh -# -# Copy this script, put it outside the Trilinos source directory, and -# build there. -# -#----------------------------------------------------------------------------- -# Building on 'kokkos-dev.sandia.gov' with enabled capabilities: -# -# OpenMP -# -# module loaded on 'kokkos-dev.sandia.gov' for this build -# -# module load cmake/2.8.11.2 gcc/4.8.3 -# -#----------------------------------------------------------------------------- -# Source and installation directories: - -TRILINOS_SOURCE_DIR=${HOME}/Trilinos -TRILINOS_INSTALL_DIR=${HOME}/TrilinosInstall/`date +%F` - -CMAKE_CONFIGURE="" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_INSTALL_PREFIX=${TRILINOS_INSTALL_DIR}" - -#----------------------------------------------------------------------------- -# Debug/optimized - -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_BUILD_TYPE:STRING=DEBUG" -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_BOUNDS_CHECK:BOOL=ON" - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_BUILD_TYPE:STRING=RELEASE" - -#----------------------------------------------------------------------------- - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_FLAGS:STRING=-Wall" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_C_COMPILER=gcc" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_COMPILER=g++" - -#----------------------------------------------------------------------------- -# Configure for Kokkos subpackages and tests: - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_Fortran:BOOL=OFF" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_ALL_PACKAGES:BOOL=OFF" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_EXAMPLES:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TESTS:BOOL=ON" - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosCore:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosContainers:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosAlgorithms:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TpetraKernels:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosExample:BOOL=ON" - -#----------------------------------------------------------------------------- -# OpenMP - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_OpenMP:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_OpenMP:BOOL=ON" - -# Pthread explicitly OFF, otherwise tribits will automatically turn it on - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_Pthread:BOOL=OFF" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_Pthread:BOOL=OFF" - -#----------------------------------------------------------------------------- -# -# Remove CMake output files to force reconfigure from scratch. -# - -rm -rf CMake* Trilinos* packages Dart* Testing cmake_install.cmake MakeFile* - -# - -echo cmake ${CMAKE_CONFIGURE} ${TRILINOS_SOURCE_DIR} - -cmake ${CMAKE_CONFIGURE} ${TRILINOS_SOURCE_DIR} - -#----------------------------------------------------------------------------- - diff --git a/lib/kokkos/config/kokkos_dev/config-core-threads-hwloc.sh b/lib/kokkos/config/kokkos_dev/config-core-threads-hwloc.sh deleted file mode 100755 index 19ab96902340f6ad757fd84546afc2061bdad024..0000000000000000000000000000000000000000 --- a/lib/kokkos/config/kokkos_dev/config-core-threads-hwloc.sh +++ /dev/null @@ -1,87 +0,0 @@ -#!/bin/sh -# -# Copy this script, put it outside the Trilinos source directory, and -# build there. -# -#----------------------------------------------------------------------------- -# Building on 'kokkos-dev.sandia.gov' with enabled capabilities: -# -# Threads, hwloc -# -# module loaded on 'kokkos-dev.sandia.gov' for this build -# -# module load cmake/2.8.11.2 gcc/4.8.3 -# -#----------------------------------------------------------------------------- -# Source and installation directories: - -TRILINOS_SOURCE_DIR=${HOME}/Trilinos -TRILINOS_INSTALL_DIR=${HOME}/TrilinosInstall/`date +%F` - -CMAKE_CONFIGURE="" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_INSTALL_PREFIX=${TRILINOS_INSTALL_DIR}" - -#----------------------------------------------------------------------------- -# Debug/optimized - -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_BUILD_TYPE:STRING=DEBUG" -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_BOUNDS_CHECK:BOOL=ON" - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_BUILD_TYPE:STRING=RELEASE" - -#----------------------------------------------------------------------------- - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_FLAGS:STRING=-Wall" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_C_COMPILER=gcc" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D CMAKE_CXX_COMPILER=g++" - -#----------------------------------------------------------------------------- -# Configure for Kokkos subpackages and tests: - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_Fortran:BOOL=OFF" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_ALL_PACKAGES:BOOL=OFF" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_EXAMPLES:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TESTS:BOOL=ON" - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosCore:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosContainers:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosAlgorithms:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_TpetraKernels:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_KokkosExample:BOOL=ON" - -#----------------------------------------------------------------------------- -# Hardware locality configuration: - -HWLOC_BASE_DIR="/home/projects/hwloc/1.7.1/host/gnu/4.7.3" - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_HWLOC:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D HWLOC_INCLUDE_DIRS:FILEPATH=${HWLOC_BASE_DIR}/include" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D HWLOC_LIBRARY_DIRS:FILEPATH=${HWLOC_BASE_DIR}/lib" - -#----------------------------------------------------------------------------- -# Pthread - -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D TPL_ENABLE_Pthread:BOOL=ON" -CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_Pthread:BOOL=ON" - -#----------------------------------------------------------------------------- -# C++11 - -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Trilinos_ENABLE_CXX11:BOOL=ON" -# CMAKE_CONFIGURE="${CMAKE_CONFIGURE} -D Kokkos_ENABLE_CXX11:BOOL=ON" - -#----------------------------------------------------------------------------- -# -# Remove CMake output files to force reconfigure from scratch. -# - -rm -rf CMake* Trilinos* packages Dart* Testing cmake_install.cmake MakeFile* - -# - -echo cmake ${CMAKE_CONFIGURE} ${TRILINOS_SOURCE_DIR} - -cmake ${CMAKE_CONFIGURE} ${TRILINOS_SOURCE_DIR} - -#----------------------------------------------------------------------------- - diff --git a/lib/kokkos/config/nvcc_wrapper b/lib/kokkos/config/nvcc_wrapper deleted file mode 100755 index d339da4fcdfa8029af85073adc068a8686253b8c..0000000000000000000000000000000000000000 --- a/lib/kokkos/config/nvcc_wrapper +++ /dev/null @@ -1,340 +0,0 @@ -#!/bin/bash -# -# This shell script (nvcc_wrapper) wraps both the host compiler and -# NVCC, if you are building legacy C or C++ code with CUDA enabled. -# The script remedies some differences between the interface of NVCC -# and that of the host compiler, in particular for linking. -# It also means that a legacy code doesn't need separate .cu files; -# it can just use .cpp files. -# -# Default settings: change those according to your machine. For -# example, you may have have two different wrappers with either icpc -# or g++ as their back-end compiler. The defaults can be overwritten -# by using the usual arguments (e.g., -arch=sm_30 -ccbin icpc). - -default_arch="sm_35" -#default_arch="sm_50" - -# -# The default C++ compiler. -# -host_compiler=${NVCC_WRAPPER_DEFAULT_COMPILER:-"g++"} -#host_compiler="icpc" -#host_compiler="/usr/local/gcc/4.8.3/bin/g++" -#host_compiler="/usr/local/gcc/4.9.1/bin/g++" - -# -# Internal variables -# - -# C++ files -cpp_files="" - -# Host compiler arguments -xcompiler_args="" - -# Cuda (NVCC) only arguments -cuda_args="" - -# Arguments for both NVCC and Host compiler -shared_args="" - -# Argument -c -compile_arg="" - -# Argument -o -output_arg="" - -# Linker arguments -xlinker_args="" - -# Object files passable to NVCC -object_files="" - -# Link objects for the host linker only -object_files_xlinker="" - -# Shared libraries with version numbers are not handled correctly by NVCC -shared_versioned_libraries_host="" -shared_versioned_libraries="" - -# Does the User set the architecture -arch_set=0 - -# Does the user overwrite the host compiler -ccbin_set=0 - -#Error code of compilation -error_code=0 - -# Do a dry run without actually compiling -dry_run=0 - -# Skip NVCC compilation and use host compiler directly -host_only=0 -host_only_args="" - -# Enable workaround for CUDA 6.5 for pragma ident -replace_pragma_ident=0 - -# Mark first host compiler argument -first_xcompiler_arg=1 - -temp_dir=${TMPDIR:-/tmp} - -# Check if we have an optimization argument already -optimization_applied=0 - -# Check if we have -std=c++X or --std=c++X already -stdcxx_applied=0 - -# Run nvcc a second time to generate dependencies if needed -depfile_separate=0 -depfile_output_arg="" -depfile_target_arg="" - -#echo "Arguments: $# $@" - -while [ $# -gt 0 ] -do - case $1 in - #show the executed command - --show|--nvcc-wrapper-show) - dry_run=1 - ;; - #run host compilation only - --host-only) - host_only=1 - ;; - #replace '#pragma ident' with '#ident' this is needed to compile OpenMPI due to a configure script bug and a non standardized behaviour of pragma with macros - --replace-pragma-ident) - replace_pragma_ident=1 - ;; - #handle source files to be compiled as cuda files - *.cpp|*.cxx|*.cc|*.C|*.c++|*.cu) - cpp_files="$cpp_files $1" - ;; - # Ensure we only have one optimization flag because NVCC doesn't allow muliple - -O*) - if [ $optimization_applied -eq 1 ]; then - echo "nvcc_wrapper - *warning* you have set multiple optimization flags (-O*), only the first is used because nvcc can only accept a single optimization setting." - else - shared_args="$shared_args $1" - optimization_applied=1 - fi - ;; - #Handle shared args (valid for both nvcc and the host compiler) - -D*|-I*|-L*|-l*|-g|--help|--version|-E|-M|-shared) - shared_args="$shared_args $1" - ;; - #Handle compilation argument - -c) - compile_arg="$1" - ;; - #Handle output argument - -o) - output_arg="$output_arg $1 $2" - shift - ;; - # Handle depfile arguments. We map them to a separate call to nvcc. - -MD|-MMD) - depfile_separate=1 - host_only_args="$host_only_args $1" - ;; - -MF) - depfile_output_arg="-o $2" - host_only_args="$host_only_args $1 $2" - shift - ;; - -MT) - depfile_target_arg="$1 $2" - host_only_args="$host_only_args $1 $2" - shift - ;; - #Handle known nvcc args - -gencode*|--dryrun|--verbose|--keep|--keep-dir*|-G|--relocatable-device-code*|-lineinfo|-expt-extended-lambda|--resource-usage|-Xptxas*) - cuda_args="$cuda_args $1" - ;; - #Handle more known nvcc args - --expt-extended-lambda|--expt-relaxed-constexpr) - cuda_args="$cuda_args $1" - ;; - #Handle known nvcc args that have an argument - -rdc|-maxrregcount|--default-stream) - cuda_args="$cuda_args $1 $2" - shift - ;; - #Handle c++11 - --std=c++11|-std=c++11|--std=c++14|-std=c++14|--std=c++1z|-std=c++1z) - if [ $stdcxx_applied -eq 1 ]; then - echo "nvcc_wrapper - *warning* you have set multiple optimization flags (-std=c++1* or --std=c++1*), only the first is used because nvcc can only accept a single std setting" - else - shared_args="$shared_args $1" - stdcxx_applied=1 - fi - ;; - - #strip of -std=c++98 due to nvcc warnings and Tribits will place both -std=c++11 and -std=c++98 - -std=c++98|--std=c++98) - ;; - #strip of pedantic because it produces endless warnings about #LINE added by the preprocessor - -pedantic|-Wpedantic|-ansi) - ;; - #strip of -Woverloaded-virtual to avoid "cc1: warning: command line option ‘-Woverloaded-virtual’ is valid for C++/ObjC++ but not for C" - -Woverloaded-virtual) - ;; - #strip -Xcompiler because we add it - -Xcompiler) - if [ $first_xcompiler_arg -eq 1 ]; then - xcompiler_args="$2" - first_xcompiler_arg=0 - else - xcompiler_args="$xcompiler_args,$2" - fi - shift - ;; - #strip of "-x cu" because we add that - -x) - if [[ $2 != "cu" ]]; then - if [ $first_xcompiler_arg -eq 1 ]; then - xcompiler_args="-x,$2" - first_xcompiler_arg=0 - else - xcompiler_args="$xcompiler_args,-x,$2" - fi - fi - shift - ;; - #Handle -ccbin (if its not set we can set it to a default value) - -ccbin) - cuda_args="$cuda_args $1 $2" - ccbin_set=1 - host_compiler=$2 - shift - ;; - #Handle -arch argument (if its not set use a default - -arch*) - cuda_args="$cuda_args $1" - arch_set=1 - ;; - #Handle -Xcudafe argument - -Xcudafe) - cuda_args="$cuda_args -Xcudafe $2" - shift - ;; - #Handle args that should be sent to the linker - -Wl*) - xlinker_args="$xlinker_args -Xlinker ${1:4:${#1}}" - host_linker_args="$host_linker_args ${1:4:${#1}}" - ;; - #Handle object files: -x cu applies to all input files, so give them to linker, except if only linking - *.a|*.so|*.o|*.obj) - object_files="$object_files $1" - object_files_xlinker="$object_files_xlinker -Xlinker $1" - ;; - #Handle object files which always need to use "-Xlinker": -x cu applies to all input files, so give them to linker, except if only linking - @*|*.dylib) - object_files="$object_files -Xlinker $1" - object_files_xlinker="$object_files_xlinker -Xlinker $1" - ;; - #Handle shared libraries with *.so.* names which nvcc can't do. - *.so.*) - shared_versioned_libraries_host="$shared_versioned_libraries_host $1" - shared_versioned_libraries="$shared_versioned_libraries -Xlinker $1" - ;; - #All other args are sent to the host compiler - *) - if [ $first_xcompiler_arg -eq 1 ]; then - xcompiler_args=$1 - first_xcompiler_arg=0 - else - xcompiler_args="$xcompiler_args,$1" - fi - ;; - esac - - shift -done - -#Add default host compiler if necessary -if [ $ccbin_set -ne 1 ]; then - cuda_args="$cuda_args -ccbin $host_compiler" -fi - -#Add architecture command -if [ $arch_set -ne 1 ]; then - cuda_args="$cuda_args -arch=$default_arch" -fi - -#Compose compilation command -nvcc_command="nvcc $cuda_args $shared_args $xlinker_args $shared_versioned_libraries" -if [ $first_xcompiler_arg -eq 0 ]; then - nvcc_command="$nvcc_command -Xcompiler $xcompiler_args" -fi - -#Compose host only command -host_command="$host_compiler $shared_args $host_only_args $compile_arg $output_arg $xcompiler_args $host_linker_args $shared_versioned_libraries_host" - -#nvcc does not accept '#pragma ident SOME_MACRO_STRING' but it does accept '#ident SOME_MACRO_STRING' -if [ $replace_pragma_ident -eq 1 ]; then - cpp_files2="" - for file in $cpp_files - do - var=`grep pragma ${file} | grep ident | grep "#"` - if [ "${#var}" -gt 0 ] - then - sed 's/#[\ \t]*pragma[\ \t]*ident/#ident/g' $file > $temp_dir/nvcc_wrapper_tmp_$file - cpp_files2="$cpp_files2 $temp_dir/nvcc_wrapper_tmp_$file" - else - cpp_files2="$cpp_files2 $file" - fi - done - cpp_files=$cpp_files2 - #echo $cpp_files -fi - -if [ "$cpp_files" ]; then - nvcc_command="$nvcc_command $object_files_xlinker -x cu $cpp_files" -else - nvcc_command="$nvcc_command $object_files" -fi - -if [ "$cpp_files" ]; then - host_command="$host_command $object_files $cpp_files" -else - host_command="$host_command $object_files" -fi - -if [ $depfile_separate -eq 1 ]; then - # run nvcc a second time to generate dependencies (without compiling) - nvcc_depfile_command="$nvcc_command -M $depfile_target_arg $depfile_output_arg" -else - nvcc_depfile_command="" -fi - -nvcc_command="$nvcc_command $compile_arg $output_arg" - -#Print command for dryrun -if [ $dry_run -eq 1 ]; then - if [ $host_only -eq 1 ]; then - echo $host_command - elif [ -n "$nvcc_depfile_command" ]; then - echo $nvcc_command "&&" $nvcc_depfile_command - else - echo $nvcc_command - fi - exit 0 -fi - -#Run compilation command -if [ $host_only -eq 1 ]; then - $host_command -elif [ -n "$nvcc_depfile_command" ]; then - $nvcc_command && $nvcc_depfile_command -else - $nvcc_command -fi -error_code=$? - -#Report error code -exit $error_code diff --git a/lib/kokkos/config/test_all_sandia b/lib/kokkos/config/test_all_sandia index 660ab91ff5ccb1bb17345b52ecc97f6d46cb9dcb..28b4a64b10819538c7f5fc672ada210671343cf4 100755 --- a/lib/kokkos/config/test_all_sandia +++ b/lib/kokkos/config/test_all_sandia @@ -14,25 +14,52 @@ PROCESSOR=`uname -p` if [[ "$HOSTNAME" =~ (white|ride).* ]]; then MACHINE=white -elif [[ "$HOSTNAME" =~ .*bowman.* ]]; then + module load git +fi + +if [[ "$HOSTNAME" =~ .*bowman.* ]]; then MACHINE=bowman -elif [[ "$HOSTNAME" =~ n.* ]]; then # Warning: very generic name + module load git +fi + +if [[ "$HOSTNAME" =~ n.* ]]; then # Warning: very generic name if [[ "$PROCESSOR" = "aarch64" ]]; then MACHINE=sullivan + module load git fi -elif [[ "$HOSTNAME" =~ node.* ]]; then # Warning: very generic name +fi + +if [[ "$HOSTNAME" =~ node.* ]]; then # Warning: very generic name + if [[ "$MACHINE" = "" ]]; then MACHINE=shepard -elif [[ "$HOSTNAME" =~ apollo ]]; then + module load git + fi +fi + +if [[ "$HOSTNAME" =~ apollo ]]; then MACHINE=apollo -elif [[ "$HOSTNAME" =~ sullivan ]]; then + module load git +fi + +if [[ "$HOSTNAME" =~ sullivan ]]; then MACHINE=sullivan -elif [ ! -z "$SEMS_MODULEFILES_ROOT" ]; then - MACHINE=sems -else + module load git +fi + +if [ ! -z "$SEMS_MODULEFILES_ROOT" ]; then + if [[ "$MACHINE" = "" ]]; then + MACHINE=sems + module load sems-git + fi +fi + +if [[ "$MACHINE" = "" ]]; then echo "Unrecognized machine" >&2 exit 1 fi +echo "Running on machine: $MACHINE" + GCC_BUILD_LIST="OpenMP,Pthread,Serial,OpenMP_Serial,Pthread_Serial" IBM_BUILD_LIST="OpenMP,Serial,OpenMP_Serial" ARM_GCC_BUILD_LIST="OpenMP,Serial,OpenMP_Serial" @@ -45,7 +72,8 @@ GCC_WARNING_FLAGS="-Wall,-Wshadow,-pedantic,-Werror,-Wsign-compare,-Wtype-limits IBM_WARNING_FLAGS="-Wall,-Wshadow,-pedantic,-Werror,-Wsign-compare,-Wtype-limits,-Wuninitialized" CLANG_WARNING_FLAGS="-Wall,-Wshadow,-pedantic,-Werror,-Wsign-compare,-Wtype-limits,-Wuninitialized" INTEL_WARNING_FLAGS="-Wall,-Wshadow,-pedantic,-Werror,-Wsign-compare,-Wtype-limits,-Wuninitialized" -CUDA_WARNING_FLAGS="-Wall,-Wshadow,-pedantic,-Werror,-Wsign-compare,-Wtype-limits,-Wuninitialized" +#CUDA_WARNING_FLAGS="-Wall,-Wshadow,-pedantic,-Werror,-Wsign-compare,-Wtype-limits,-Wuninitialized" +CUDA_WARNING_FLAGS="-Wall,-Wshadow,-pedantic,-Wsign-compare,-Wtype-limits,-Wuninitialized" PGI_WARNING_FLAGS="" # Default. Machine specific can override. @@ -142,6 +170,18 @@ else KOKKOS_PATH=$( cd $KOKKOS_PATH && pwd ) fi +UNCOMMITTED=`cd ${KOKKOS_PATH}; git status --porcelain 2>/dev/null` +if ! [ -z "$UNCOMMITTED" ]; then + echo "WARNING!! THE FOLLOWING CHANGES ARE UNCOMMITTED!! :" + echo "$UNCOMMITTED" + echo "" +fi + +GITSTATUS=`cd ${KOKKOS_PATH}; git log -n 1 --format=oneline` +echo "Repository Status: " ${GITSTATUS} +echo "" +echo "" + # # Machine specific config. # @@ -149,7 +189,7 @@ fi if [ "$MACHINE" = "sems" ]; then source /projects/sems/modulefiles/utils/sems-modules-init.sh - BASE_MODULE_LIST="sems-env,kokkos-env,sems-/,kokkos-hwloc/1.10.1/base" + BASE_MODULE_LIST="sems-env,kokkos-env,kokkos-hwloc/1.10.1/base,sems-/" CUDA_MODULE_LIST="sems-env,kokkos-env,kokkos-/,sems-gcc/4.8.4,kokkos-hwloc/1.10.1/base" CUDA8_MODULE_LIST="sems-env,kokkos-env,kokkos-/,sems-gcc/5.3.0,kokkos-hwloc/1.10.1/base" @@ -178,9 +218,9 @@ if [ "$MACHINE" = "sems" ]; then "clang/3.7.1 $BASE_MODULE_LIST $CLANG_BUILD_LIST clang++ $CLANG_WARNING_FLAGS" "clang/3.8.1 $BASE_MODULE_LIST $CLANG_BUILD_LIST clang++ $CLANG_WARNING_FLAGS" "clang/3.9.0 $BASE_MODULE_LIST $CLANG_BUILD_LIST clang++ $CLANG_WARNING_FLAGS" - "cuda/7.0.28 $CUDA_MODULE_LIST $CUDA_BUILD_LIST $KOKKOS_PATH/config/nvcc_wrapper $CUDA_WARNING_FLAGS" - "cuda/7.5.18 $CUDA_MODULE_LIST $CUDA_BUILD_LIST $KOKKOS_PATH/config/nvcc_wrapper $CUDA_WARNING_FLAGS" - "cuda/8.0.44 $CUDA8_MODULE_LIST $CUDA_BUILD_LIST $KOKKOS_PATH/config/nvcc_wrapper $CUDA_WARNING_FLAGS" + "cuda/7.0.28 $CUDA_MODULE_LIST $CUDA_BUILD_LIST $KOKKOS_PATH/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" + "cuda/7.5.18 $CUDA_MODULE_LIST $CUDA_BUILD_LIST $KOKKOS_PATH/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" + "cuda/8.0.44 $CUDA8_MODULE_LIST $CUDA_BUILD_LIST $KOKKOS_PATH/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" ) fi elif [ "$MACHINE" = "white" ]; then @@ -191,14 +231,14 @@ elif [ "$MACHINE" = "white" ]; then BASE_MODULE_LIST="/" IBM_MODULE_LIST="/xl/" CUDA_MODULE_LIST="/,gcc/5.4.0" - CUDA_MODULE_LIST2="/,gcc/6.3.0,ibm/xl/13.1.6-BETA" + CUDA_MODULE_LIST2="/,gcc/6.3.0,ibm/xl/13.1.6" # Don't do pthread on white. GCC_BUILD_LIST="OpenMP,Serial,OpenMP_Serial" # Format: (compiler module-list build-list exe-name warning-flag) COMPILERS=("gcc/5.4.0 $BASE_MODULE_LIST $IBM_BUILD_LIST g++ $GCC_WARNING_FLAGS" - "ibm/13.1.3 $IBM_MODULE_LIST $IBM_BUILD_LIST xlC $IBM_WARNING_FLAGS" + "ibm/13.1.6 $IBM_MODULE_LIST $IBM_BUILD_LIST xlC $IBM_WARNING_FLAGS" "cuda/8.0.44 $CUDA_MODULE_LIST $CUDA_IBM_BUILD_LIST ${KOKKOS_PATH}/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" "cuda/9.0.103 $CUDA_MODULE_LIST2 $CUDA_IBM_BUILD_LIST ${KOKKOS_PATH}/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" ) @@ -281,7 +321,7 @@ elif [ "$MACHINE" = "apollo" ]; then CUDA_MODULE_LIST="sems-env,kokkos-env,kokkos-/,sems-gcc/4.8.4,kokkos-hwloc/1.10.1/base" CUDA8_MODULE_LIST="sems-env,kokkos-env,kokkos-/,sems-gcc/5.3.0,kokkos-hwloc/1.10.1/base" - CLANG_MODULE_LIST="sems-env,kokkos-env,sems-git,sems-cmake/3.5.2,/,cuda/8.0.44" + CLANG_MODULE_LIST="sems-env,kokkos-env,sems-git,sems-cmake/3.5.2,/,cuda/9.0.69" NVCC_MODULE_LIST="sems-env,kokkos-env,sems-git,sems-cmake/3.5.2,/,sems-gcc/5.3.0" BUILD_LIST_CUDA_NVCC="Cuda_Serial,Cuda_OpenMP" @@ -294,13 +334,13 @@ elif [ "$MACHINE" = "apollo" ]; then "gcc/5.1.0 $BASE_MODULE_LIST "Serial" g++ $GCC_WARNING_FLAGS" "intel/16.0.1 $BASE_MODULE_LIST "OpenMP" icpc $INTEL_WARNING_FLAGS" "clang/3.9.0 $BASE_MODULE_LIST "Pthread_Serial" clang++ $CLANG_WARNING_FLAGS" - "clang/4.0.0 $CLANG_MODULE_LIST "Cuda_Pthread" clang++ $CUDA_WARNING_FLAGS" - "cuda/8.0.44 $CUDA_MODULE_LIST "Cuda_OpenMP" $KOKKOS_PATH/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" + "clang/6.0 $CLANG_MODULE_LIST "Cuda_Pthread" clang++ $CUDA_WARNING_FLAGS" + "cuda/9.1 $CUDA_MODULE_LIST "Cuda_OpenMP" $KOKKOS_PATH/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" ) else # Format: (compiler module-list build-list exe-name warning-flag) - COMPILERS=("cuda/8.0.44 $CUDA8_MODULE_LIST $BUILD_LIST_CUDA_NVCC $KOKKOS_PATH/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" - "clang/4.0.0 $CLANG_MODULE_LIST $BUILD_LIST_CUDA_CLANG clang++ $CUDA_WARNING_FLAGS" + COMPILERS=("cuda/9.1 $CUDA8_MODULE_LIST $BUILD_LIST_CUDA_NVCC $KOKKOS_PATH/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" + "clang/6.0 $CLANG_MODULE_LIST $BUILD_LIST_CUDA_CLANG clang++ $CUDA_WARNING_FLAGS" "clang/3.9.0 $CLANG_MODULE_LIST $BUILD_LIST_CLANG clang++ $CLANG_WARNING_FLAGS" "gcc/4.8.4 $BASE_MODULE_LIST $GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS" "gcc/4.9.3 $BASE_MODULE_LIST $GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS" @@ -311,13 +351,11 @@ elif [ "$MACHINE" = "apollo" ]; then "intel/17.0.1 $BASE_MODULE_LIST $INTEL_BUILD_LIST icpc $INTEL_WARNING_FLAGS" "clang/3.5.2 $BASE_MODULE_LIST $CLANG_BUILD_LIST clang++ $CLANG_WARNING_FLAGS" "clang/3.6.1 $BASE_MODULE_LIST $CLANG_BUILD_LIST clang++ $CLANG_WARNING_FLAGS" - "cuda/7.0.28 $CUDA_MODULE_LIST $CUDA_BUILD_LIST $KOKKOS_PATH/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" - "cuda/7.5.18 $CUDA_MODULE_LIST $CUDA_BUILD_LIST $KOKKOS_PATH/bin/nvcc_wrapper $CUDA_WARNING_FLAGS" ) fi if [ -z "$ARCH_FLAG" ]; then - ARCH_FLAG="--arch=SNB,Kepler35" + ARCH_FLAG="--arch=SNB,Volta70" fi NUM_JOBS_TO_RUN_IN_PARALLEL=2 @@ -700,17 +738,19 @@ wait_summarize_and_exit() { echo $passed_test $(cat $PASSED_DIR/$passed_test) done - echo "#######################################################" - echo "FAILED TESTS" - echo "#######################################################" - - local failed_test local -i rv=0 - for failed_test in $(\ls -1 $FAILED_DIR | sort) - do - echo $failed_test "("$(cat $FAILED_DIR/$failed_test)" failed)" - rv=$rv+1 - done + if [ "$(ls -A $FAILED_DIR)" ]; then + echo "#######################################################" + echo "FAILED TESTS" + echo "#######################################################" + + local failed_test + for failed_test in $(\ls -1 $FAILED_DIR | sort) + do + echo $failed_test "("$(cat $FAILED_DIR/$failed_test)" failed)" + rv=$rv+1 + done + fi exit $rv } diff --git a/lib/kokkos/containers/performance_tests/TestCuda.cpp b/lib/kokkos/containers/performance_tests/TestCuda.cpp index 208387425f07fe5bef5803715d8b0eda27d25cb4..682f3f52f70a6d7c37ef1006267d3bddffc9cd70 100644 --- a/lib/kokkos/containers/performance_tests/TestCuda.cpp +++ b/lib/kokkos/containers/performance_tests/TestCuda.cpp @@ -35,7 +35,7 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER diff --git a/lib/kokkos/containers/performance_tests/TestDynRankView.hpp b/lib/kokkos/containers/performance_tests/TestDynRankView.hpp index ced74c6f5176040f57c0153e4e39f6d9ec8779a9..0d2fae32a38d7d0ffe11e2790d73d45216da98de 100644 --- a/lib/kokkos/containers/performance_tests/TestDynRankView.hpp +++ b/lib/kokkos/containers/performance_tests/TestDynRankView.hpp @@ -35,7 +35,7 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER @@ -64,8 +64,8 @@ struct InitViewFunctor { KOKKOS_INLINE_FUNCTION void operator()(const int i) const { - for (unsigned j = 0; j < _inview.dimension(1); ++j) { - for (unsigned k = 0; k < _inview.dimension(2); ++k) { + for (unsigned j = 0; j < _inview.extent(1); ++j) { + for (unsigned k = 0; k < _inview.extent(2); ++k) { _inview(i,j,k) = i/2 -j*j + k/3; } } @@ -84,8 +84,8 @@ struct InitViewFunctor { KOKKOS_INLINE_FUNCTION void operator()(const int i) const { - for (unsigned j = 0; j < _inview.dimension(1); ++j) { - for (unsigned k = 0; k < _inview.dimension(2); ++k) { + for (unsigned j = 0; j < _inview.extent(1); ++j) { + for (unsigned k = 0; k < _inview.extent(2); ++k) { _outview(i) += _inview(i,j,k) ; } } @@ -104,8 +104,8 @@ struct InitStrideViewFunctor { KOKKOS_INLINE_FUNCTION void operator()(const int i) const { - for (unsigned j = 0; j < _inview.dimension(1); ++j) { - for (unsigned k = 0; k < _inview.dimension(2); ++k) { + for (unsigned j = 0; j < _inview.extent(1); ++j) { + for (unsigned k = 0; k < _inview.extent(2); ++k) { _inview(i,j,k) = i/2 -j*j + k/3; } } @@ -123,8 +123,8 @@ struct InitViewRank7Functor { KOKKOS_INLINE_FUNCTION void operator()(const int i) const { - for (unsigned j = 0; j < _inview.dimension(1); ++j) { - for (unsigned k = 0; k < _inview.dimension(2); ++k) { + for (unsigned j = 0; j < _inview.extent(1); ++j) { + for (unsigned k = 0; k < _inview.extent(2); ++k) { _inview(i,j,k,0,0,0,0) = i/2 -j*j + k/3; } } @@ -143,8 +143,8 @@ struct InitDynRankViewFunctor { KOKKOS_INLINE_FUNCTION void operator()(const int i) const { - for (unsigned j = 0; j < _inview.dimension(1); ++j) { - for (unsigned k = 0; k < _inview.dimension(2); ++k) { + for (unsigned j = 0; j < _inview.extent(1); ++j) { + for (unsigned k = 0; k < _inview.extent(2); ++k) { _inview(i,j,k) = i/2 -j*j + k/3; } } @@ -163,8 +163,8 @@ struct InitDynRankViewFunctor { KOKKOS_INLINE_FUNCTION void operator()(const int i) const { - for (unsigned j = 0; j < _inview.dimension(1); ++j) { - for (unsigned k = 0; k < _inview.dimension(2); ++k) { + for (unsigned j = 0; j < _inview.extent(1); ++j) { + for (unsigned k = 0; k < _inview.extent(2); ++k) { _outview(i) += _inview(i,j,k) ; } } diff --git a/lib/kokkos/containers/performance_tests/TestGlobal2LocalIds.hpp b/lib/kokkos/containers/performance_tests/TestGlobal2LocalIds.hpp index 66f1fbf092dd4231e359602f4d6850fe757d7333..dcaca776be59b61b56ad82e78d6f715263e6082f 100644 --- a/lib/kokkos/containers/performance_tests/TestGlobal2LocalIds.hpp +++ b/lib/kokkos/containers/performance_tests/TestGlobal2LocalIds.hpp @@ -34,7 +34,7 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER @@ -76,7 +76,7 @@ struct generate_ids generate_ids( local_id_view & ids) : local_2_global(ids) { - Kokkos::parallel_for(local_2_global.dimension_0(), *this); + Kokkos::parallel_for(local_2_global.extent(0), *this); } @@ -116,7 +116,7 @@ struct fill_map fill_map( global_id_view gIds, local_id_view lIds) : global_2_local(gIds) , local_2_global(lIds) { - Kokkos::parallel_for(local_2_global.dimension_0(), *this); + Kokkos::parallel_for(local_2_global.extent(0), *this); } KOKKOS_INLINE_FUNCTION @@ -143,7 +143,7 @@ struct find_test find_test( global_id_view gIds, local_id_view lIds, value_type & num_errors) : global_2_local(gIds) , local_2_global(lIds) { - Kokkos::parallel_reduce(local_2_global.dimension_0(), *this, num_errors); + Kokkos::parallel_reduce(local_2_global.extent(0), *this, num_errors); } KOKKOS_INLINE_FUNCTION diff --git a/lib/kokkos/containers/performance_tests/TestMain.cpp b/lib/kokkos/containers/performance_tests/TestMain.cpp index 1224af7cdb5484101dea69f155810caccf2258cb..217b01a57afccf1bc7658ce41214d77fbffffd67 100644 --- a/lib/kokkos/containers/performance_tests/TestMain.cpp +++ b/lib/kokkos/containers/performance_tests/TestMain.cpp @@ -35,7 +35,7 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER diff --git a/lib/kokkos/containers/performance_tests/TestOpenMP.cpp b/lib/kokkos/containers/performance_tests/TestOpenMP.cpp index 012f45bab78b2ff24f4dd42e9eb5001568d20d14..66d497552e3de2dc09cd409bed204c35bc0ddb68 100644 --- a/lib/kokkos/containers/performance_tests/TestOpenMP.cpp +++ b/lib/kokkos/containers/performance_tests/TestOpenMP.cpp @@ -35,7 +35,7 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER diff --git a/lib/kokkos/containers/performance_tests/TestROCm.cpp b/lib/kokkos/containers/performance_tests/TestROCm.cpp index 6647d23065da7c06815155448bfaae211adc6b5b..3cf9f3bd143c5848af12e7ddb717ab8e4d59ce8e 100644 --- a/lib/kokkos/containers/performance_tests/TestROCm.cpp +++ b/lib/kokkos/containers/performance_tests/TestROCm.cpp @@ -35,7 +35,7 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER diff --git a/lib/kokkos/containers/performance_tests/TestScatterView.hpp b/lib/kokkos/containers/performance_tests/TestScatterView.hpp index 4fd69173c011e23233e9f26f02e2f7bd4eaf8a63..03129d2b09f17b03f34f8cb8a9b4442d9c570709 100644 --- a/lib/kokkos/containers/performance_tests/TestScatterView.hpp +++ b/lib/kokkos/containers/performance_tests/TestScatterView.hpp @@ -35,7 +35,7 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER diff --git a/lib/kokkos/containers/performance_tests/TestThreads.cpp b/lib/kokkos/containers/performance_tests/TestThreads.cpp index a8910a3c72a11eb26c1e7707e160b602d0ef220b..a951a5ca56e4f30fcbe39d0ae797f6bd0d126882 100644 --- a/lib/kokkos/containers/performance_tests/TestThreads.cpp +++ b/lib/kokkos/containers/performance_tests/TestThreads.cpp @@ -35,7 +35,7 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER diff --git a/lib/kokkos/containers/performance_tests/TestUnorderedMapPerformance.hpp b/lib/kokkos/containers/performance_tests/TestUnorderedMapPerformance.hpp index 93a206c9966b05ce026ad16262e4d0248600439c..e8734b259de911489e97ccce7bcfce6e11f3b387 100644 --- a/lib/kokkos/containers/performance_tests/TestUnorderedMapPerformance.hpp +++ b/lib/kokkos/containers/performance_tests/TestUnorderedMapPerformance.hpp @@ -34,7 +34,7 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER diff --git a/lib/kokkos/containers/src/Kokkos_Bitset.hpp b/lib/kokkos/containers/src/Kokkos_Bitset.hpp index 7714506e9217b3dbebc900244398e9c319afa383..c48058d75d774feaf424cf196522dfceadf9e150 100644 --- a/lib/kokkos/containers/src/Kokkos_Bitset.hpp +++ b/lib/kokkos/containers/src/Kokkos_Bitset.hpp @@ -35,7 +35,7 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER @@ -147,7 +147,7 @@ public: if (m_last_block_mask) { //clear the unused bits in the last block typedef Kokkos::Impl::DeepCopy< typename execution_space::memory_space, Kokkos::HostSpace > raw_deep_copy; - raw_deep_copy( m_blocks.ptr_on_device() + (m_blocks.dimension_0() -1u), &m_last_block_mask, sizeof(unsigned)); + raw_deep_copy( m_blocks.data() + (m_blocks.extent(0) -1u), &m_last_block_mask, sizeof(unsigned)); } } @@ -212,7 +212,7 @@ public: KOKKOS_FORCEINLINE_FUNCTION unsigned max_hint() const { - return m_blocks.dimension_0(); + return m_blocks.extent(0); } /// find a bit set to 1 near the hint @@ -221,10 +221,10 @@ public: KOKKOS_INLINE_FUNCTION Kokkos::pair find_any_set_near( unsigned hint , unsigned scan_direction = BIT_SCAN_FORWARD_MOVE_HINT_FORWARD ) const { - const unsigned block_idx = (hint >> block_shift) < m_blocks.dimension_0() ? (hint >> block_shift) : 0; + const unsigned block_idx = (hint >> block_shift) < m_blocks.extent(0) ? (hint >> block_shift) : 0; const unsigned offset = hint & block_mask; unsigned block = volatile_load(&m_blocks[ block_idx ]); - block = !m_last_block_mask || (block_idx < (m_blocks.dimension_0()-1)) ? block : block & m_last_block_mask ; + block = !m_last_block_mask || (block_idx < (m_blocks.extent(0)-1)) ? block : block & m_last_block_mask ; return find_any_helper(block_idx, offset, block, scan_direction); } @@ -238,7 +238,7 @@ public: const unsigned block_idx = hint >> block_shift; const unsigned offset = hint & block_mask; unsigned block = volatile_load(&m_blocks[ block_idx ]); - block = !m_last_block_mask || (block_idx < (m_blocks.dimension_0()-1) ) ? ~block : ~block & m_last_block_mask ; + block = !m_last_block_mask || (block_idx < (m_blocks.extent(0)-1) ) ? ~block : ~block & m_last_block_mask ; return find_any_helper(block_idx, offset, block, scan_direction); } @@ -281,8 +281,8 @@ private: unsigned update_hint( long long block_idx, unsigned offset, unsigned scan_direction ) const { block_idx += scan_direction & MOVE_HINT_BACKWARD ? -1 : 1; - block_idx = block_idx >= 0 ? block_idx : m_blocks.dimension_0() - 1; - block_idx = block_idx < static_cast(m_blocks.dimension_0()) ? block_idx : 0; + block_idx = block_idx >= 0 ? block_idx : m_blocks.extent(0) - 1; + block_idx = block_idx < static_cast(m_blocks.extent(0)) ? block_idx : 0; return static_cast(block_idx)*block_size + offset; } @@ -407,7 +407,7 @@ void deep_copy( Bitset & dst, Bitset const& src) } typedef Kokkos::Impl::DeepCopy< typename DstDevice::memory_space, typename SrcDevice::memory_space > raw_deep_copy; - raw_deep_copy(dst.m_blocks.ptr_on_device(), src.m_blocks.ptr_on_device(), sizeof(unsigned)*src.m_blocks.dimension_0()); + raw_deep_copy(dst.m_blocks.data(), src.m_blocks.data(), sizeof(unsigned)*src.m_blocks.extent(0)); } template @@ -418,7 +418,7 @@ void deep_copy( Bitset & dst, ConstBitset const& src) } typedef Kokkos::Impl::DeepCopy< typename DstDevice::memory_space, typename SrcDevice::memory_space > raw_deep_copy; - raw_deep_copy(dst.m_blocks.ptr_on_device(), src.m_blocks.ptr_on_device(), sizeof(unsigned)*src.m_blocks.dimension_0()); + raw_deep_copy(dst.m_blocks.data(), src.m_blocks.data(), sizeof(unsigned)*src.m_blocks.extent(0)); } template @@ -429,7 +429,7 @@ void deep_copy( ConstBitset & dst, ConstBitset const& src) } typedef Kokkos::Impl::DeepCopy< typename DstDevice::memory_space, typename SrcDevice::memory_space > raw_deep_copy; - raw_deep_copy(dst.m_blocks.ptr_on_device(), src.m_blocks.ptr_on_device(), sizeof(unsigned)*src.m_blocks.dimension_0()); + raw_deep_copy(dst.m_blocks.data(), src.m_blocks.data(), sizeof(unsigned)*src.m_blocks.extent(0)); } } // namespace Kokkos diff --git a/lib/kokkos/containers/src/Kokkos_DualView.hpp b/lib/kokkos/containers/src/Kokkos_DualView.hpp index 35cc8ec7534b8ad1bdc854f338826dabc0e9132a..74fe4418f870854498cd65cfe8e346d7d183e716 100644 --- a/lib/kokkos/containers/src/Kokkos_DualView.hpp +++ b/lib/kokkos/containers/src/Kokkos_DualView.hpp @@ -35,7 +35,7 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER @@ -262,14 +262,14 @@ public: modified_host (View ("DualView::modified_host")) { if ( int(d_view.rank) != int(h_view.rank) || - d_view.dimension_0() != h_view.dimension_0() || - d_view.dimension_1() != h_view.dimension_1() || - d_view.dimension_2() != h_view.dimension_2() || - d_view.dimension_3() != h_view.dimension_3() || - d_view.dimension_4() != h_view.dimension_4() || - d_view.dimension_5() != h_view.dimension_5() || - d_view.dimension_6() != h_view.dimension_6() || - d_view.dimension_7() != h_view.dimension_7() || + d_view.extent(0) != h_view.extent(0) || + d_view.extent(1) != h_view.extent(1) || + d_view.extent(2) != h_view.extent(2) || + d_view.extent(3) != h_view.extent(3) || + d_view.extent(4) != h_view.extent(4) || + d_view.extent(5) != h_view.extent(5) || + d_view.extent(6) != h_view.extent(6) || + d_view.extent(7) != h_view.extent(7) || d_view.stride_0() != h_view.stride_0() || d_view.stride_1() != h_view.stride_1() || d_view.stride_2() != h_view.stride_2() || @@ -503,6 +503,18 @@ public: /* Realloc on Device */ ::Kokkos::realloc(d_view,n0,n1,n2,n3,n4,n5,n6,n7); + + const bool sizeMismatch = ( h_view.extent(0) != n0 ) || + ( h_view.extent(1) != n1 ) || + ( h_view.extent(2) != n2 ) || + ( h_view.extent(3) != n3 ) || + ( h_view.extent(4) != n4 ) || + ( h_view.extent(5) != n5 ) || + ( h_view.extent(6) != n6 ) || + ( h_view.extent(7) != n7 ); + if ( sizeMismatch ) + ::Kokkos::resize(h_view,n0,n1,n2,n3,n4,n5,n6,n7); + t_host temp_view = create_mirror_view( d_view ); /* Remap on Host */ @@ -510,6 +522,8 @@ public: h_view = temp_view; + d_view = create_mirror_view( typename t_dev::execution_space(), h_view ); + /* Mark Host copy as modified */ modified_host() = modified_host()+1; } @@ -530,22 +544,34 @@ public: d_view.stride(stride_); } + template< typename iType > + KOKKOS_INLINE_FUNCTION constexpr + typename std::enable_if< std::is_integral::value , size_t >::type + extent( const iType & r ) const + { return d_view.extent(r); } + + template< typename iType > + KOKKOS_INLINE_FUNCTION constexpr + typename std::enable_if< std::is_integral::value , int >::type + extent_int( const iType & r ) const + { return static_cast(d_view.extent(r)); } + /* \brief return size of dimension 0 */ - size_t dimension_0() const {return d_view.dimension_0();} + size_t dimension_0() const {return d_view.extent(0);} /* \brief return size of dimension 1 */ - size_t dimension_1() const {return d_view.dimension_1();} + size_t dimension_1() const {return d_view.extent(1);} /* \brief return size of dimension 2 */ - size_t dimension_2() const {return d_view.dimension_2();} + size_t dimension_2() const {return d_view.extent(2);} /* \brief return size of dimension 3 */ - size_t dimension_3() const {return d_view.dimension_3();} + size_t dimension_3() const {return d_view.extent(3);} /* \brief return size of dimension 4 */ - size_t dimension_4() const {return d_view.dimension_4();} + size_t dimension_4() const {return d_view.extent(4);} /* \brief return size of dimension 5 */ - size_t dimension_5() const {return d_view.dimension_5();} + size_t dimension_5() const {return d_view.extent(5);} /* \brief return size of dimension 6 */ - size_t dimension_6() const {return d_view.dimension_6();} + size_t dimension_6() const {return d_view.extent(6);} /* \brief return size of dimension 7 */ - size_t dimension_7() const {return d_view.dimension_7();} + size_t dimension_7() const {return d_view.extent(7);} //@} }; diff --git a/lib/kokkos/containers/src/Kokkos_DynRankView.hpp b/lib/kokkos/containers/src/Kokkos_DynRankView.hpp index d22d6b865da99fa11a050e0bedfc5e088001a3ea..ccf53b3d5096574f4446d4cf9d7eee71b6e45c08 100644 --- a/lib/kokkos/containers/src/Kokkos_DynRankView.hpp +++ b/lib/kokkos/containers/src/Kokkos_DynRankView.hpp @@ -35,16 +35,16 @@ // NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS // SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // -// Questions? Contact H. Carter Edwards (hcedwar@sandia.gov) +// Questions? Contact Christian R. Trott (crtrott@sandia.gov) // // ************************************************************************ //@HEADER */ /// \file Kokkos_DynRankView.hpp -/// \brief Declaration and definition of Kokkos::Experimental::DynRankView. +/// \brief Declaration and definition of Kokkos::DynRankView. /// -/// This header file declares and defines Kokkos::Experimental::DynRankView and its +/// This header file declares and defines Kokkos::DynRankView and its /// related nonmember functions. #ifndef KOKKOS_DYNRANKVIEW_HPP @@ -55,7 +55,6 @@ #include namespace Kokkos { -namespace Experimental { template< typename DataType , class ... Properties > class DynRankView; //forward declare @@ -156,7 +155,7 @@ struct DynRankDimTraits { // Extra overload to match that for specialize types template KOKKOS_INLINE_FUNCTION - static typename std::enable_if< (std::is_same::value || std::is_same::value || std::is_same::value) , typename Traits::array_layout >::type createLayout( const ViewCtorProp& prop, const typename Traits::array_layout& layout ) + static typename std::enable_if< (std::is_same::value || std::is_same::value || std::is_same::value) , typename Traits::array_layout >::type createLayout( const Kokkos::Impl::ViewCtorProp& prop, const typename Traits::array_layout& layout ) { return createLayout( layout ); } @@ -318,7 +317,6 @@ void dyn_rank_view_verify_operator_bounds struct ViewToDynRankViewTag {}; } // namespace Impl -} // namespace Experimental namespace Impl { @@ -348,7 +346,7 @@ class ViewMapping< DstTraits , SrcTraits , ) ) ) - ) , Kokkos::Experimental::Impl::ViewToDynRankViewTag >::type > + ) , Kokkos::Impl::ViewToDynRankViewTag >::type > { private: @@ -375,7 +373,7 @@ public: template < typename DT , typename ... DP , typename ST , typename ... SP > KOKKOS_INLINE_FUNCTION - static void assign( Kokkos::Experimental::DynRankView< DT , DP...> & dst , const Kokkos::View< ST , SP... > & src ) + static void assign( Kokkos::DynRankView< DT , DP...> & dst , const Kokkos::View< ST , SP... > & src ) { static_assert( is_assignable_value_type , "View assignment must have same value type or const = non-const" ); @@ -395,8 +393,6 @@ public: } //end Impl -namespace Experimental { - /* \class DynRankView * \brief Container that creates a Kokkos view with rank determined at runtime. * Essentially this is a rank 7 view @@ -415,7 +411,7 @@ namespace Experimental { template< class > struct is_dyn_rank_view : public std::false_type {}; template< class D, class ... P > -struct is_dyn_rank_view< Kokkos::Experimental::DynRankView > : public std::true_type {}; +struct is_dyn_rank_view< Kokkos::DynRankView > : public std::true_type {}; template< typename DataType , class ... Properties > @@ -425,7 +421,7 @@ class DynRankView : public ViewTraits< DataType , Properties ... > private: template < class , class ... > friend class DynRankView ; - template < class , class ... > friend class Impl::ViewMapping ; + template < class , class ... > friend class Kokkos::Impl::ViewMapping ; public: typedef ViewTraits< DataType , Properties ... > drvtraits ; @@ -437,7 +433,7 @@ public: private: typedef Kokkos::Impl::ViewMapping< traits , void > map_type ; - typedef Kokkos::Experimental::Impl::SharedAllocationTracker track_type ; + typedef Kokkos::Impl::SharedAllocationTracker track_type ; track_type m_track ; map_type m_map ; @@ -601,7 +597,7 @@ private: // rank of the calling operator - included as first argument in ARG #define KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( ARG ) \ DynRankView::template verify_space< Kokkos::Impl::ActiveExecutionMemorySpace >::check(); \ - Kokkos::Experimental::Impl::dyn_rank_view_verify_operator_bounds< typename traits::memory_space > ARG ; + Kokkos::Impl::dyn_rank_view_verify_operator_bounds< typename traits::memory_space > ARG ; #else @@ -778,6 +774,140 @@ public: return m_map.reference(i0,i1,i2,i3,i4,i5,i6); } + // Rank 0 + KOKKOS_INLINE_FUNCTION + reference_type access() const + { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (0 , this->rank(), m_track, m_map) ) + return implementation_map().reference(); + //return m_map.reference(0,0,0,0,0,0,0); + } + + // Rank 1 + // Rank 1 parenthesis + template< typename iType > + KOKKOS_INLINE_FUNCTION + typename std::enable_if< (std::is_same::value && std::is_integral::value), reference_type>::type + access(const iType & i0 ) const + { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (1 , this->rank(), m_track, m_map, i0) ) + return m_map.reference(i0); + } + + template< typename iType > + KOKKOS_INLINE_FUNCTION + typename std::enable_if< !(std::is_same::value && std::is_integral::value), reference_type>::type + access(const iType & i0 ) const + { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (1 , this->rank(), m_track, m_map, i0) ) + return m_map.reference(i0,0,0,0,0,0,0); + } + + // Rank 2 + template< typename iType0 , typename iType1 > + KOKKOS_INLINE_FUNCTION + typename std::enable_if< (std::is_same::value && std::is_integral::value && std::is_integral::value), reference_type>::type + access(const iType0 & i0 , const iType1 & i1 ) const + { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (2 , this->rank(), m_track, m_map, i0, i1) ) + return m_map.reference(i0,i1); + } + + template< typename iType0 , typename iType1 > + KOKKOS_INLINE_FUNCTION + typename std::enable_if< !(std::is_same::value && std::is_integral::value), reference_type>::type + access(const iType0 & i0 , const iType1 & i1 ) const + { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (2 , this->rank(), m_track, m_map, i0, i1) ) + return m_map.reference(i0,i1,0,0,0,0,0); + } + + // Rank 3 + template< typename iType0 , typename iType1 , typename iType2 > + KOKKOS_INLINE_FUNCTION + typename std::enable_if< (std::is_same::value && std::is_integral::value && std::is_integral::value && std::is_integral::value), reference_type>::type + access(const iType0 & i0 , const iType1 & i1 , const iType2 & i2 ) const + { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (3 , this->rank(), m_track, m_map, i0, i1, i2) ) + return m_map.reference(i0,i1,i2); + } + + template< typename iType0 , typename iType1 , typename iType2 > + KOKKOS_INLINE_FUNCTION + typename std::enable_if< !(std::is_same::value && std::is_integral::value), reference_type>::type + access(const iType0 & i0 , const iType1 & i1 , const iType2 & i2 ) const + { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (3 , this->rank(), m_track, m_map, i0, i1, i2) ) + return m_map.reference(i0,i1,i2,0,0,0,0); + } + + // Rank 4 + template< typename iType0 , typename iType1 , typename iType2 , typename iType3 > + KOKKOS_INLINE_FUNCTION + typename std::enable_if< (std::is_same::value && std::is_integral::value && std::is_integral::value && std::is_integral::value && std::is_integral::value), reference_type>::type + access(const iType0 & i0 , const iType1 & i1 , const iType2 & i2 , const iType3 & i3 ) const + { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (4 , this->rank(), m_track, m_map, i0, i1, i2, i3) ) + return m_map.reference(i0,i1,i2,i3); + } + + template< typename iType0 , typename iType1 , typename iType2 , typename iType3 > + KOKKOS_INLINE_FUNCTION + typename std::enable_if< !(std::is_same::value && std::is_integral::value), reference_type>::type + access(const iType0 & i0 , const iType1 & i1 , const iType2 & i2 , const iType3 & i3 ) const + { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (4 , this->rank(), m_track, m_map, i0, i1, i2, i3) ) + return m_map.reference(i0,i1,i2,i3,0,0,0); + } + + // Rank 5 + template< typename iType0 , typename iType1 , typename iType2 , typename iType3, typename iType4 > + KOKKOS_INLINE_FUNCTION + typename std::enable_if< (std::is_same::value && std::is_integral::value && std::is_integral::value && std::is_integral::value && std::is_integral::value && std::is_integral::value), reference_type>::type + access(const iType0 & i0 , const iType1 & i1 , const iType2 & i2 , const iType3 & i3 , const iType4 & i4 ) const + { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (5 , this->rank(), m_track, m_map, i0, i1, i2, i3, i4) ) + return m_map.reference(i0,i1,i2,i3,i4); + } + + template< typename iType0 , typename iType1 , typename iType2 , typename iType3, typename iType4 > + KOKKOS_INLINE_FUNCTION + typename std::enable_if< !(std::is_same::value && std::is_integral::value), reference_type>::type + access(const iType0 & i0 , const iType1 & i1 , const iType2 & i2 , const iType3 & i3 , const iType4 & i4 ) const + { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (5 , this->rank(), m_track, m_map, i0, i1, i2, i3, i4) ) + return m_map.reference(i0,i1,i2,i3,i4,0,0); + } + + // Rank 6 + template< typename iType0 , typename iType1 , typename iType2 , typename iType3, typename iType4 , typename iType5 > + KOKKOS_INLINE_FUNCTION + typename std::enable_if< (std::is_same::value && std::is_integral::value && std::is_integral::value && std::is_integral::value && std::is_integral::value && std::is_integral::value && std::is_integral::value), reference_type>::type + access(const iType0 & i0 , const iType1 & i1 , const iType2 & i2 , const iType3 & i3 , const iType4 & i4 , const iType5 & i5 ) const + { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (6 , this->rank(), m_track, m_map, i0, i1, i2, i3, i4, i5) ) + return m_map.reference(i0,i1,i2,i3,i4,i5); + } + + template< typename iType0 , typename iType1 , typename iType2 , typename iType3, typename iType4 , typename iType5 > + KOKKOS_INLINE_FUNCTION + typename std::enable_if< !(std::is_same::value && std::is_integral::value), reference_type>::type + access(const iType0 & i0 , const iType1 & i1 , const iType2 & i2 , const iType3 & i3 , const iType4 & i4 , const iType5 & i5 ) const + { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (6 , this->rank(), m_track, m_map, i0, i1, i2, i3, i4, i5) ) + return m_map.reference(i0,i1,i2,i3,i4,i5,0); + } + + // Rank 7 + template< typename iType0 , typename iType1 , typename iType2 , typename iType3, typename iType4 , typename iType5 , typename iType6 > + KOKKOS_INLINE_FUNCTION + typename std::enable_if< (std::is_integral::value && std::is_integral::value && std::is_integral::value && std::is_integral::value && std::is_integral::value && std::is_integral::value && std::is_integral::value), reference_type>::type + access(const iType0 & i0 , const iType1 & i1 , const iType2 & i2 , const iType3 & i3 , const iType4 & i4 , const iType5 & i5 , const iType6 & i6 ) const + { + KOKKOS_IMPL_VIEW_OPERATOR_VERIFY( (7 , this->rank(), m_track, m_map, i0, i1, i2, i3, i4, i5, i6) ) + return m_map.reference(i0,i1,i2,i3,i4,i5,i6); + } + #undef KOKKOS_IMPL_VIEW_OPERATOR_VERIFY //---------------------------------------- @@ -830,7 +960,6 @@ public: return *this; } -// Experimental // Copy/Assign View to DynRankView template< class RT , class ... RP > KOKKOS_INLINE_FUNCTION @@ -840,7 +969,7 @@ public: , m_rank( rhs.Rank ) { typedef typename View::traits SrcTraits ; - typedef Kokkos::Impl::ViewMapping< traits , SrcTraits , Kokkos::Experimental::Impl::ViewToDynRankViewTag > Mapping ; + typedef Kokkos::Impl::ViewMapping< traits , SrcTraits , Kokkos::Impl::ViewToDynRankViewTag > Mapping ; static_assert( Mapping::is_assignable , "Incompatible DynRankView copy construction" ); Mapping::assign( *this , rhs ); } @@ -850,7 +979,7 @@ public: DynRankView & operator = ( const View & rhs ) { typedef typename View::traits SrcTraits ; - typedef Kokkos::Impl::ViewMapping< traits , SrcTraits , Kokkos::Experimental::Impl::ViewToDynRankViewTag > Mapping ; + typedef Kokkos::Impl::ViewMapping< traits , SrcTraits , Kokkos::Impl::ViewToDynRankViewTag > Mapping ; static_assert( Mapping::is_assignable , "Incompatible View to DynRankView copy assignment" ); Mapping::assign( *this , rhs ); return *this ; @@ -872,8 +1001,8 @@ public: // unused arg_layout dimensions must be set to ~size_t(0) so that rank deduction can properly take place template< class ... P > explicit inline - DynRankView( const Impl::ViewCtorProp< P ... > & arg_prop - , typename std::enable_if< ! Impl::ViewCtorProp< P... >::has_pointer + DynRankView( const Kokkos::Impl::ViewCtorProp< P ... > & arg_prop + , typename std::enable_if< ! Kokkos::Impl::ViewCtorProp< P... >::has_pointer , typename traits::array_layout >::type const & arg_layout ) @@ -882,11 +1011,11 @@ public: , m_rank( Impl::DynRankDimTraits::template computeRank< typename traits::array_layout, P...>(arg_prop, arg_layout) ) { // Append layout and spaces if not input - typedef Impl::ViewCtorProp< P ... > alloc_prop_input ; + typedef Kokkos::Impl::ViewCtorProp< P ... > alloc_prop_input ; // use 'std::integral_constant' for non-types // to avoid duplicate class error. - typedef Impl::ViewCtorProp + typedef Kokkos::Impl::ViewCtorProp < P ... , typename std::conditional < alloc_prop_input::has_label @@ -931,7 +1060,7 @@ public: #endif //------------------------------------------------------------ - Kokkos::Experimental::Impl::SharedAllocationRecord<> * + Kokkos::Impl::SharedAllocationRecord<> * record = m_map.allocate_shared( prop , Impl::DynRankDimTraits::template createLayout(arg_prop, arg_layout) ); //------------------------------------------------------------ @@ -950,8 +1079,8 @@ public: // Wrappers template< class ... P > explicit KOKKOS_INLINE_FUNCTION - DynRankView( const Impl::ViewCtorProp< P ... > & arg_prop - , typename std::enable_if< Impl::ViewCtorProp< P... >::has_pointer + DynRankView( const Kokkos::Impl::ViewCtorProp< P ... > & arg_prop + , typename std::enable_if< Kokkos::Impl::ViewCtorProp< P... >::has_pointer , typename traits::array_layout >::type const & arg_layout ) @@ -972,8 +1101,8 @@ public: // Simple dimension-only layout template< class ... P > explicit inline - DynRankView( const Impl::ViewCtorProp< P ... > & arg_prop - , typename std::enable_if< ! Impl::ViewCtorProp< P... >::has_pointer + DynRankView( const Kokkos::Impl::ViewCtorProp< P ... > & arg_prop + , typename std::enable_if< ! Kokkos::Impl::ViewCtorProp< P... >::has_pointer , size_t >::type const arg_N0 = ~size_t(0) , const size_t arg_N1 = ~size_t(0) @@ -992,8 +1121,8 @@ public: template< class ... P > explicit KOKKOS_INLINE_FUNCTION - DynRankView( const Impl::ViewCtorProp< P ... > & arg_prop - , typename std::enable_if< Impl::ViewCtorProp< P... >::has_pointer + DynRankView( const Kokkos::Impl::ViewCtorProp< P ... > & arg_prop + , typename std::enable_if< Kokkos::Impl::ViewCtorProp< P... >::has_pointer , size_t >::type const arg_N0 = ~size_t(0) , const size_t arg_N1 = ~size_t(0) @@ -1015,10 +1144,10 @@ public: explicit inline DynRankView( const Label & arg_label , typename std::enable_if< - Kokkos::Experimental::Impl::is_view_label